--- /dev/null
+import QtQml 2.0\r
+import QtQuick 2.9\r
+import QtQuick.Window 2.2\r
+import QtQuick.Controls 2.2\r
+import QtQuick.Layouts 1.2\r
+import QtGraphicalEffects 1.0\r
+\r
+Window {\r
+\r
+ id: trayWindow\r
+ visible: true\r
+ width: 400\r
+ height: 500\r
+ color: "transparent"\r
+ flags: Qt.FramelessWindowHint\r
+\r
+ onActiveChanged: {\r
+ if(!active) {\r
+ trayWindow.hide();\r
+ }\r
+ }\r
+\r
+ onVisibleChanged: {\r
+ currentAccountAvatar.source = ""\r
+ currentAccountAvatar.source = "image://avatars/currentUser"\r
+ currentAccountUser.text = userModelBackend.currentUserName();\r
+ currentAccountServer.text = userModelBackend.currentUserServer();\r
+ trayWindowTalkButton.visible = userModelBackend.currentServerHasTalk() ? true : false;\r
+ }\r
+\r
+ Connections {\r
+ target: userModelBackend\r
+ onRefreshCurrentUserGui: {\r
+ currentAccountAvatar.source = ""\r
+ currentAccountAvatar.source = "image://avatars/currentUser"\r
+ currentAccountUser.text = userModelBackend.currentUserName();\r
+ currentAccountServer.text = userModelBackend.currentUserServer();\r
+ }\r
+ onNewUserSelected: {\r
+ accountMenu.close();\r
+ trayWindowTalkButton.visible = userModelBackend.currentServerHasTalk() ? true : false;\r
+ }\r
+ }\r
+\r
+ Connections {\r
+ target: systrayBackend\r
+ onShowWindow: {\r
+ trayWindow.show();\r
+ trayWindow.requestActivate();\r
+ trayWindow.setX( systrayBackend.calcTrayWindowX());\r
+ trayWindow.setY( systrayBackend.calcTrayWindowY());\r
+ }\r
+ onHideWindow: {\r
+ trayWindow.hide();\r
+ }\r
+ }\r
+\r
+ Rectangle {\r
+ id: trayWindowBackground\r
+ anchors.fill: parent\r
+ radius: 10\r
+\r
+ Rectangle {\r
+ id: trayWindowHeaderBackground\r
+ anchors.left: trayWindowBackground.left\r
+ anchors.top: trayWindowBackground.top\r
+ height: 60\r
+ width: parent.width\r
+ radius: 9\r
+ color: "#0082c9"\r
+\r
+ Rectangle {\r
+ anchors.left: trayWindowHeaderBackground.left\r
+ anchors.bottom: trayWindowHeaderBackground.bottom\r
+ height: 30\r
+ width: parent.width\r
+ color: "#0082c9"\r
+ }\r
+\r
+ RowLayout {\r
+ id: trayWindowHeaderLayout\r
+ spacing: 0\r
+ anchors.fill: parent\r
+\r
+ Button {\r
+ id: currentAccountButton\r
+ Layout.preferredWidth: 220\r
+ Layout.preferredHeight: (trayWindowHeaderBackground.height)\r
+ display: AbstractButton.IconOnly\r
+ flat: true\r
+\r
+ MouseArea {\r
+ id: accountBtnMouseArea\r
+ anchors.fill: parent\r
+ hoverEnabled: true\r
+ onClicked:\r
+ {\r
+ accMenuLoginButton.text = (userModelBackend.isCurrentUserConnected() ? "Logout" : "Login")\r
+ accountMenu.open()\r
+ }\r
+\r
+ Menu {\r
+ id: accountMenu\r
+ x: (currentAccountButton.x + 2)\r
+ y: (currentAccountButton.y + currentAccountButton.height + 2)\r
+ width: (currentAccountButton.width - 4)\r
+\r
+ background: Rectangle {\r
+ border.color: "#0082c9"\r
+ radius: 2\r
+ }\r
+\r
+ Instantiator {\r
+ model: userModelBackend\r
+ delegate: UserLine {}\r
+ onObjectAdded: accountMenu.insertItem(index, object)\r
+ onObjectRemoved: accountMenu.removeItem(object)\r
+ }\r
+\r
+ MenuSeparator { id: accountMenuSeparator }\r
+\r
+ MenuItem {\r
+ id: accMenuLoginButton\r
+ onClicked: (userModelBackend.isCurrentUserConnected()\r
+ ? userModelBackend.logout()\r
+ : userModelBackend.login() )\r
+ }\r
+ MenuItem {\r
+ text: "Add Account"\r
+ onClicked: userModelBackend.addAccount()\r
+ }\r
+ MenuItem {\r
+ text: "Remove Account"\r
+ onClicked: userModelBackend.removeAccount()\r
+ }\r
+\r
+ Component.onCompleted: {\r
+ if(userModelBackend.numUsers() === 0) {\r
+ accountMenuSeparator.height = 0\r
+ } else {\r
+ accountMenuSeparator.height = 13\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ background:\r
+ Item {\r
+ id: leftHoverContainer\r
+ height: currentAccountButton.height\r
+ width: currentAccountButton.width\r
+ Rectangle {\r
+ width: currentAccountButton.width / 2\r
+ height: currentAccountButton.height / 2\r
+ color: "transparent"\r
+ clip: true\r
+ Rectangle {\r
+ width: currentAccountButton.width\r
+ height: currentAccountButton.height\r
+ radius: 10\r
+ color: "white"\r
+ opacity: 0.2\r
+ visible: accountBtnMouseArea.containsMouse\r
+ }\r
+ }\r
+ Rectangle {\r
+ width: currentAccountButton.width / 2\r
+ height: currentAccountButton.height / 2\r
+ anchors.bottom: leftHoverContainer.bottom\r
+ color: "white"\r
+ opacity: 0.2\r
+ visible: accountBtnMouseArea.containsMouse\r
+ }\r
+ Rectangle {\r
+ width: currentAccountButton.width / 2\r
+ height: currentAccountButton.height / 2\r
+ anchors.right: leftHoverContainer.right\r
+ color: "white"\r
+ opacity: 0.2\r
+ visible: accountBtnMouseArea.containsMouse\r
+ }\r
+ Rectangle {\r
+ width: currentAccountButton.width / 2\r
+ height: currentAccountButton.height / 2\r
+ anchors.right: leftHoverContainer.right\r
+ anchors.bottom: leftHoverContainer.bottom\r
+ color: "white"\r
+ opacity: 0.2\r
+ visible: accountBtnMouseArea.containsMouse\r
+ }\r
+ }\r
+\r
+ RowLayout {\r
+ id: accountControlRowLayout\r
+ height: currentAccountButton.height\r
+ width: currentAccountButton.width\r
+ spacing: 0\r
+ Image {\r
+ id: currentAccountAvatar\r
+ Layout.leftMargin: 8\r
+ verticalAlignment: Qt.AlignCenter\r
+ cache: false\r
+ source: "image://avatars/currentUser"\r
+ Layout.preferredHeight: (trayWindowHeaderBackground.height -16)\r
+ Layout.preferredWidth: (trayWindowHeaderBackground.height -16)\r
+ }\r
+\r
+ Column {\r
+ id: accountLabels\r
+ spacing: 4\r
+ Layout.alignment: Qt.AlignLeft\r
+ Layout.leftMargin: 6\r
+ Label {\r
+ id: currentAccountUser\r
+ text: userModelBackend.currentUserName()\r
+ color: "white"\r
+ font.pointSize: 9\r
+ font.bold: true\r
+ }\r
+ Label {\r
+ id: currentAccountServer\r
+ text: userModelBackend.currentUserServer()\r
+ color: "white"\r
+ font.pointSize: 8\r
+ }\r
+ }\r
+\r
+ Image {\r
+ Layout.alignment: Qt.AlignLeft\r
+ verticalAlignment: Qt.AlignCenter\r
+ Layout.margins: 12\r
+ source: "qrc:///client/theme/white/caret-down.svg"\r
+ }\r
+ }\r
+ }\r
+\r
+ Item {\r
+ id: trayWindowHeaderSpacer\r
+ Layout.fillWidth: true\r
+ }\r
+\r
+ Button {\r
+ id: openLocalFolderButton\r
+ Layout.alignment: Qt.AlignRight\r
+ display: AbstractButton.IconOnly\r
+ Layout.preferredWidth: (trayWindowHeaderBackground.height)\r
+ Layout.preferredHeight: (trayWindowHeaderBackground.height)\r
+ flat: true\r
+\r
+ icon.source: "qrc:///client/theme/white/folder.svg"\r
+ icon.color: "transparent"\r
+\r
+ MouseArea {\r
+ id: folderBtnMouseArea\r
+ anchors.fill: parent\r
+ hoverEnabled: true\r
+ onClicked:\r
+ {\r
+ userModelBackend.openCurrentAccountLocalFolder();\r
+ }\r
+ }\r
+\r
+ background:\r
+ Rectangle {\r
+ color: folderBtnMouseArea.containsMouse ? "white" : "transparent"\r
+ opacity: 0.2\r
+ }\r
+ }\r
+\r
+ Button {\r
+ id: trayWindowTalkButton\r
+ Layout.alignment: Qt.AlignRight\r
+ display: AbstractButton.IconOnly\r
+ Layout.preferredWidth: (trayWindowHeaderBackground.height)\r
+ Layout.preferredHeight: (trayWindowHeaderBackground.height)\r
+ flat: true\r
+ visible: userModelBackend.currentServerHasTalk() ? true : false\r
+\r
+ icon.source: "qrc:///client/theme/white/talk-app.svg"\r
+ icon.color: "transparent"\r
+\r
+ MouseArea {\r
+ id: talkBtnMouseArea\r
+ anchors.fill: parent\r
+ hoverEnabled: true\r
+ onClicked:\r
+ {\r
+ }\r
+ }\r
+\r
+ background:\r
+ Rectangle {\r
+ color: talkBtnMouseArea.containsMouse ? "white" : "transparent"\r
+ opacity: 0.2\r
+ }\r
+ }\r
+\r
+ Button {\r
+ id: trayWindowAppsButton\r
+ Layout.alignment: Qt.AlignRight\r
+ display: AbstractButton.IconOnly\r
+ Layout.preferredWidth: (trayWindowHeaderBackground.height)\r
+ Layout.preferredHeight: (trayWindowHeaderBackground.height)\r
+ flat: true\r
+ visible: false\r
+\r
+ icon.source: "qrc:///client/theme/white/more-apps.svg"\r
+ icon.color: "transparent"\r
+\r
+ MouseArea {\r
+ id: appsBtnMouseArea\r
+ anchors.fill: parent\r
+ hoverEnabled: true\r
+ onClicked:\r
+ {\r
+ }\r
+ }\r
+\r
+ background:\r
+ Item {\r
+ id: rightHoverContainer\r
+ height: trayWindowAppsButton.height\r
+ width: trayWindowAppsButton.width\r
+ Rectangle {\r
+ width: trayWindowAppsButton.width / 2\r
+ height: trayWindowAppsButton.height / 2\r
+ color: "white"\r
+ opacity: 0.2\r
+ visible: appsBtnMouseArea.containsMouse\r
+ }\r
+ Rectangle {\r
+ width: trayWindowAppsButton.width / 2\r
+ height: trayWindowAppsButton.height / 2\r
+ anchors.bottom: rightHoverContainer.bottom\r
+ color: "white"\r
+ opacity: 0.2\r
+ visible: appsBtnMouseArea.containsMouse\r
+ }\r
+ Rectangle {\r
+ width: trayWindowAppsButton.width / 2\r
+ height: trayWindowAppsButton.height / 2\r
+ anchors.bottom: rightHoverContainer.bottom\r
+ anchors.right: rightHoverContainer.right\r
+ color: "white"\r
+ opacity: 0.2\r
+ visible: appsBtnMouseArea.containsMouse\r
+ }\r
+ Rectangle {\r
+ id: rightHoverContainerClipper\r
+ anchors.right: rightHoverContainer.right\r
+ width: trayWindowAppsButton.width / 2\r
+ height: trayWindowAppsButton.height / 2\r
+ color: "transparent"\r
+ clip: true\r
+ Rectangle {\r
+ width: trayWindowAppsButton.width\r
+ height: trayWindowAppsButton.height\r
+ anchors.right: rightHoverContainerClipper.right\r
+ radius: 10\r
+ color: "white"\r
+ opacity: 0.2\r
+ visible: appsBtnMouseArea.containsMouse\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+ } // Rectangle trayWindowHeaderBackground\r
+\r
+ ListView {\r
+ id: activityListView\r
+ anchors.top: trayWindowHeaderBackground.bottom\r
+ width: trayWindowBackground.width\r
+ height: trayWindowBackground.height - trayWindowHeaderBackground.height\r
+ clip: true\r
+\r
+ model: activityModel\r
+\r
+ delegate: RowLayout {\r
+ id: activityItem\r
+ width: activityListView.width\r
+ height: trayWindowHeaderLayout.height\r
+ spacing: 0\r
+ Image {\r
+ id: activityIcon\r
+ Layout.leftMargin: 6\r
+ Layout.preferredWidth: 48\r
+ Layout.preferredHeight: 48\r
+ verticalAlignment: Qt.AlignCenter\r
+ source: "qrc:///client/theme/black/state-sync.svg"\r
+ sourceSize.height: 48\r
+ sourceSize.width: 48\r
+ }\r
+ Column {\r
+ Layout.leftMargin: 6\r
+ spacing: 4\r
+ Layout.alignment: Qt.AlignLeft\r
+ Text {\r
+ id: activityTextTitle\r
+ text: filename\r
+ font.pointSize: 9\r
+ }\r
+ Text {\r
+ id: activityTextInfo\r
+ text: info\r
+ font.pointSize: 8\r
+ }\r
+ }\r
+ Item {\r
+ id: activityItemFiller\r
+ Layout.fillWidth: true\r
+ }\r
+ Button {\r
+ Layout.preferredWidth: activityItem.height\r
+ Layout.preferredHeight: activityItem.height\r
+ Layout.alignment: Qt.AlignRight\r
+ flat: true\r
+ display: AbstractButton.IconOnly\r
+ icon.source: "qrc:///client/resources/files.svg"\r
+ icon.color: "transparent"\r
+ }\r
+ Button {\r
+ Layout.preferredWidth: activityItem.height\r
+ Layout.preferredHeight: activityItem.height\r
+ Layout.alignment: Qt.AlignRight\r
+ flat: true\r
+ display: AbstractButton.IconOnly\r
+ icon.source: "qrc:///client/resources/public.svg"\r
+ icon.color: "transparent"\r
+ }\r
+ }\r
+\r
+ add: Transition {\r
+ NumberAnimation { properties: "y"; from: -60; duration: 100; easing.type: Easing.Linear }\r
+ }\r
+\r
+ remove: Transition {\r
+ NumberAnimation { property: "opacity"; from: 1.0; to: 0; duration: 100 }\r
+ }\r
+\r
+ removeDisplaced: Transition {\r
+ SequentialAnimation {\r
+ PauseAnimation { duration: 100}\r
+ NumberAnimation { properties: "y"; duration: 100; easing.type: Easing.Linear }\r
+ }\r
+ }\r
+\r
+ displaced: Transition {\r
+ NumberAnimation { properties: "y"; duration: 100; easing.type: Easing.Linear }\r
+ }\r
+\r
+ focus: true\r
+\r
+ // For interactive ListView/Animation testing only\r
+ //Keys.onSpacePressed: model.insert(0, { "name": "Item " + model.count })\r
+ //Keys.onTabPressed: model.remove(3)\r
+ }\r
+\r
+ } // Rectangle trayWindowBackground\r
+}\r
+++ /dev/null
-import QtQml 2.0\r
-import QtQuick 2.9\r
-import QtQuick.Window 2.2\r
-import QtQuick.Controls 2.2\r
-import QtQuick.Layouts 1.2\r
-import QtGraphicalEffects 1.0\r
-\r
-Window {\r
-\r
- id: trayWindow\r
- visible: true\r
- width: 400\r
- height: 500\r
- color: "transparent"\r
- flags: Qt.FramelessWindowHint\r
-\r
- onActiveChanged: {\r
- if(!active) {\r
- trayWindow.hide();\r
- }\r
- }\r
-\r
- onVisibleChanged: {\r
- currentAccountAvatar.source = ""\r
- currentAccountAvatar.source = "image://avatars/currentUser"\r
- currentAccountUser.text = userModelBackend.currentUserName();\r
- currentAccountServer.text = userModelBackend.currentUserServer();\r
- trayWindowTalkButton.visible = userModelBackend.currentServerHasTalk() ? true : false;\r
- }\r
-\r
- Connections {\r
- target: userModelBackend\r
- onRefreshCurrentUserGui: {\r
- currentAccountAvatar.source = ""\r
- currentAccountAvatar.source = "image://avatars/currentUser"\r
- currentAccountUser.text = userModelBackend.currentUserName();\r
- currentAccountServer.text = userModelBackend.currentUserServer();\r
- }\r
- onNewUserSelected: {\r
- accountMenu.close();\r
- trayWindowTalkButton.visible = userModelBackend.currentServerHasTalk() ? true : false;\r
- }\r
- }\r
-\r
- Connections {\r
- target: systrayBackend\r
- onShowWindow: {\r
- trayWindow.show();\r
- trayWindow.requestActivate();\r
- trayWindow.setX( systrayBackend.calcTrayWindowX());\r
- trayWindow.setY( systrayBackend.calcTrayWindowY());\r
- }\r
- onHideWindow: {\r
- trayWindow.hide();\r
- }\r
- }\r
-\r
- Rectangle {\r
- id: trayWindowBackground\r
- anchors.fill: parent\r
- radius: 10\r
-\r
- Rectangle {\r
- id: trayWindowHeaderBackground\r
- anchors.left: trayWindowBackground.left\r
- anchors.top: trayWindowBackground.top\r
- height: 60\r
- width: parent.width\r
- radius: 9\r
- color: "#0082c9"\r
-\r
- Rectangle {\r
- anchors.left: trayWindowHeaderBackground.left\r
- anchors.bottom: trayWindowHeaderBackground.bottom\r
- height: 30\r
- width: parent.width\r
- color: "#0082c9"\r
- }\r
-\r
- RowLayout {\r
- id: trayWindowHeaderLayout\r
- spacing: 0\r
- anchors.fill: parent\r
-\r
- Button {\r
- id: currentAccountButton\r
- Layout.preferredWidth: 220\r
- Layout.preferredHeight: (trayWindowHeaderBackground.height)\r
- display: AbstractButton.IconOnly\r
- flat: true\r
-\r
- MouseArea {\r
- id: accountBtnMouseArea\r
- anchors.fill: parent\r
- hoverEnabled: true\r
- onClicked:\r
- {\r
- accMenuLoginButton.text = (userModelBackend.isCurrentUserConnected() ? "Logout" : "Login")\r
- accountMenu.open()\r
- }\r
-\r
- Menu {\r
- id: accountMenu\r
- x: (currentAccountButton.x + 2)\r
- y: (currentAccountButton.y + currentAccountButton.height + 2)\r
- width: (currentAccountButton.width - 4)\r
-\r
- background: Rectangle {\r
- border.color: "#0082c9"\r
- radius: 2\r
- }\r
-\r
- Instantiator {\r
- model: userModelBackend\r
- delegate: UserLine {}\r
- onObjectAdded: accountMenu.insertItem(index, object)\r
- onObjectRemoved: accountMenu.removeItem(object)\r
- }\r
-\r
- MenuSeparator { id: accountMenuSeparator }\r
-\r
- MenuItem {\r
- id: accMenuLoginButton\r
- onClicked: (userModelBackend.isCurrentUserConnected()\r
- ? userModelBackend.logout()\r
- : userModelBackend.login() )\r
- }\r
- MenuItem {\r
- text: "Add Account"\r
- onClicked: userModelBackend.addAccount()\r
- }\r
- MenuItem {\r
- text: "Remove Account"\r
- onClicked: userModelBackend.removeAccount()\r
- }\r
-\r
- Component.onCompleted: {\r
- if(userModelBackend.numUsers() === 0) {\r
- accountMenuSeparator.height = 0\r
- } else {\r
- accountMenuSeparator.height = 13\r
- }\r
- }\r
- }\r
- }\r
-\r
- background:\r
- Item {\r
- id: leftHoverContainer\r
- height: currentAccountButton.height\r
- width: currentAccountButton.width\r
- Rectangle {\r
- width: currentAccountButton.width / 2\r
- height: currentAccountButton.height / 2\r
- color: "transparent"\r
- clip: true\r
- Rectangle {\r
- width: currentAccountButton.width\r
- height: currentAccountButton.height\r
- radius: 10\r
- color: "white"\r
- opacity: 0.2\r
- visible: accountBtnMouseArea.containsMouse\r
- }\r
- }\r
- Rectangle {\r
- width: currentAccountButton.width / 2\r
- height: currentAccountButton.height / 2\r
- anchors.bottom: leftHoverContainer.bottom\r
- color: "white"\r
- opacity: 0.2\r
- visible: accountBtnMouseArea.containsMouse\r
- }\r
- Rectangle {\r
- width: currentAccountButton.width / 2\r
- height: currentAccountButton.height / 2\r
- anchors.right: leftHoverContainer.right\r
- color: "white"\r
- opacity: 0.2\r
- visible: accountBtnMouseArea.containsMouse\r
- }\r
- Rectangle {\r
- width: currentAccountButton.width / 2\r
- height: currentAccountButton.height / 2\r
- anchors.right: leftHoverContainer.right\r
- anchors.bottom: leftHoverContainer.bottom\r
- color: "white"\r
- opacity: 0.2\r
- visible: accountBtnMouseArea.containsMouse\r
- }\r
- }\r
-\r
- RowLayout {\r
- id: accountControlRowLayout\r
- height: currentAccountButton.height\r
- width: currentAccountButton.width\r
- spacing: 0\r
- Image {\r
- id: currentAccountAvatar\r
- Layout.leftMargin: 8\r
- verticalAlignment: Qt.AlignCenter\r
- cache: false\r
- source: "image://avatars/currentUser"\r
- Layout.preferredHeight: (trayWindowHeaderBackground.height -16)\r
- Layout.preferredWidth: (trayWindowHeaderBackground.height -16)\r
- }\r
-\r
- Column {\r
- id: accountLabels\r
- spacing: 4\r
- Layout.alignment: Qt.AlignLeft\r
- Layout.leftMargin: 6\r
- Label {\r
- id: currentAccountUser\r
- text: userModelBackend.currentUserName()\r
- color: "white"\r
- font.pointSize: 9\r
- font.bold: true\r
- }\r
- Label {\r
- id: currentAccountServer\r
- text: userModelBackend.currentUserServer()\r
- color: "white"\r
- font.pointSize: 8\r
- }\r
- }\r
-\r
- Image {\r
- Layout.alignment: Qt.AlignLeft\r
- verticalAlignment: Qt.AlignCenter\r
- Layout.margins: 12\r
- source: "qrc:///client/theme/white/caret-down.svg"\r
- }\r
- }\r
- }\r
-\r
- Item {\r
- id: trayWindowHeaderSpacer\r
- Layout.fillWidth: true\r
- }\r
-\r
- Button {\r
- id: openLocalFolderButton\r
- Layout.alignment: Qt.AlignRight\r
- display: AbstractButton.IconOnly\r
- Layout.preferredWidth: (trayWindowHeaderBackground.height)\r
- Layout.preferredHeight: (trayWindowHeaderBackground.height)\r
- flat: true\r
-\r
- icon.source: "qrc:///client/theme/white/folder.svg"\r
- icon.color: "transparent"\r
-\r
- MouseArea {\r
- id: folderBtnMouseArea\r
- anchors.fill: parent\r
- hoverEnabled: true\r
- onClicked:\r
- {\r
- userModelBackend.openCurrentAccountLocalFolder();\r
- }\r
- }\r
-\r
- background:\r
- Rectangle {\r
- color: folderBtnMouseArea.containsMouse ? "white" : "transparent"\r
- opacity: 0.2\r
- }\r
- }\r
-\r
- Button {\r
- id: trayWindowTalkButton\r
- Layout.alignment: Qt.AlignRight\r
- display: AbstractButton.IconOnly\r
- Layout.preferredWidth: (trayWindowHeaderBackground.height)\r
- Layout.preferredHeight: (trayWindowHeaderBackground.height)\r
- flat: true\r
- visible: userModelBackend.currentServerHasTalk() ? true : false\r
-\r
- icon.source: "qrc:///client/theme/white/talk-app.svg"\r
- icon.color: "transparent"\r
-\r
- MouseArea {\r
- id: talkBtnMouseArea\r
- anchors.fill: parent\r
- hoverEnabled: true\r
- onClicked:\r
- {\r
- }\r
- }\r
-\r
- background:\r
- Rectangle {\r
- color: talkBtnMouseArea.containsMouse ? "white" : "transparent"\r
- opacity: 0.2\r
- }\r
- }\r
-\r
- Button {\r
- id: trayWindowAppsButton\r
- Layout.alignment: Qt.AlignRight\r
- display: AbstractButton.IconOnly\r
- Layout.preferredWidth: (trayWindowHeaderBackground.height)\r
- Layout.preferredHeight: (trayWindowHeaderBackground.height)\r
- flat: true\r
- visible: false\r
-\r
- icon.source: "qrc:///client/theme/white/more-apps.svg"\r
- icon.color: "transparent"\r
-\r
- MouseArea {\r
- id: appsBtnMouseArea\r
- anchors.fill: parent\r
- hoverEnabled: true\r
- onClicked:\r
- {\r
- }\r
- }\r
-\r
- background:\r
- Item {\r
- id: rightHoverContainer\r
- height: trayWindowAppsButton.height\r
- width: trayWindowAppsButton.width\r
- Rectangle {\r
- width: trayWindowAppsButton.width / 2\r
- height: trayWindowAppsButton.height / 2\r
- color: "white"\r
- opacity: 0.2\r
- visible: appsBtnMouseArea.containsMouse\r
- }\r
- Rectangle {\r
- width: trayWindowAppsButton.width / 2\r
- height: trayWindowAppsButton.height / 2\r
- anchors.bottom: rightHoverContainer.bottom\r
- color: "white"\r
- opacity: 0.2\r
- visible: appsBtnMouseArea.containsMouse\r
- }\r
- Rectangle {\r
- width: trayWindowAppsButton.width / 2\r
- height: trayWindowAppsButton.height / 2\r
- anchors.bottom: rightHoverContainer.bottom\r
- anchors.right: rightHoverContainer.right\r
- color: "white"\r
- opacity: 0.2\r
- visible: appsBtnMouseArea.containsMouse\r
- }\r
- Rectangle {\r
- id: rightHoverContainerClipper\r
- anchors.right: rightHoverContainer.right\r
- width: trayWindowAppsButton.width / 2\r
- height: trayWindowAppsButton.height / 2\r
- color: "transparent"\r
- clip: true\r
- Rectangle {\r
- width: trayWindowAppsButton.width\r
- height: trayWindowAppsButton.height\r
- anchors.right: rightHoverContainerClipper.right\r
- radius: 10\r
- color: "white"\r
- opacity: 0.2\r
- visible: appsBtnMouseArea.containsMouse\r
- }\r
- }\r
- }\r
- }\r
- }\r
- } // Rectangle trayWindowHeaderBackground\r
-\r
- ListView {\r
- id: activityListView\r
- anchors.top: trayWindowHeaderBackground.bottom\r
- width: trayWindowBackground.width\r
- height: trayWindowBackground.height - trayWindowHeaderBackground.height\r
- clip: true\r
-\r
- model: activityModel\r
-\r
- delegate: RowLayout {\r
- id: activityItem\r
- width: activityListView.width\r
- height: trayWindowHeaderLayout.height\r
- spacing: 0\r
- Image {\r
- id: activityIcon\r
- Layout.leftMargin: 6\r
- Layout.preferredWidth: 48\r
- Layout.preferredHeight: 48\r
- verticalAlignment: Qt.AlignCenter\r
- source: "qrc:///client/theme/black/state-sync.svg"\r
- sourceSize.height: 48\r
- sourceSize.width: 48\r
- }\r
- Column {\r
- Layout.leftMargin: 6\r
- spacing: 4\r
- Layout.alignment: Qt.AlignLeft\r
- Text {\r
- id: activityTextTitle\r
- text: filename\r
- font.pointSize: 9\r
- }\r
- Text {\r
- id: activityTextInfo\r
- text: info\r
- font.pointSize: 8\r
- }\r
- }\r
- Item {\r
- id: activityItemFiller\r
- Layout.fillWidth: true\r
- }\r
- Button {\r
- Layout.preferredWidth: activityItem.height\r
- Layout.preferredHeight: activityItem.height\r
- Layout.alignment: Qt.AlignRight\r
- flat: true\r
- display: AbstractButton.IconOnly\r
- icon.source: "qrc:///client/resources/files.svg"\r
- icon.color: "transparent"\r
- }\r
- Button {\r
- Layout.preferredWidth: activityItem.height\r
- Layout.preferredHeight: activityItem.height\r
- Layout.alignment: Qt.AlignRight\r
- flat: true\r
- display: AbstractButton.IconOnly\r
- icon.source: "qrc:///client/resources/public.svg"\r
- icon.color: "transparent"\r
- }\r
- }\r
-\r
- add: Transition {\r
- NumberAnimation { properties: "y"; from: -60; duration: 100; easing.type: Easing.Linear }\r
- }\r
-\r
- remove: Transition {\r
- NumberAnimation { property: "opacity"; from: 1.0; to: 0; duration: 100 }\r
- }\r
-\r
- removeDisplaced: Transition {\r
- SequentialAnimation {\r
- PauseAnimation { duration: 100}\r
- NumberAnimation { properties: "y"; duration: 100; easing.type: Easing.Linear }\r
- }\r
- }\r
-\r
- displaced: Transition {\r
- NumberAnimation { properties: "y"; duration: 100; easing.type: Easing.Linear }\r
- }\r
-\r
- focus: true\r
-\r
- // For interactive ListView/Animation testing only\r
- //Keys.onSpacePressed: model.insert(0, { "name": "Item " + model.count })\r
- //Keys.onTabPressed: model.remove(3)\r
- }\r
-\r
- } // Rectangle trayWindowBackground\r
-}\r