void shutdown();
void showFileDetailsPage(const QString &fileLocalPath, const OCC::Systray::FileDetailsPage page);
+ void showFileDetails(AccountState *accountState, const QString &localPath, const OCC::Systray::FileDetailsPage fileDetailsPage);
void sendChatMessage(const QString &token, const QString &message, const QString &replyTo);
void showErrorMessageDialog(const QString &error);
void createShareDialog(const QString &localPath);
void createFileActivityDialog(const QString &localPath);
+ void presentShareViewInTray(const QString &localPath);
+
private slots:
void slotUnpauseAllFolders();
void slotPauseAllFolders();
import QtQuick.Layouts 1.2\r
import QtGraphicalEffects 1.0\r
import Qt.labs.platform 1.1 as NativeDialogs\r
+\r
import "../"\r
+import "../filedetails/"\r
\r
// Custom qml modules are in /theme (and included by resources.qrc)\r
import Style 1.0\r
\r
function onIsOpenChanged() {\r
userStatusDrawer.close()\r
+ fileDetailsDrawer.close();\r
\r
if(Systray.isOpen) {\r
accountMenu.close();\r
newErrorDialog.text = error\r
newErrorDialog.open()\r
}\r
+\r
+ function onShowFileDetails(accountState, localPath, fileDetailsPage) {\r
+ fileDetailsDrawer.openFileDetails(accountState, localPath, fileDetailsPage);\r
+ }\r
}\r
\r
OpacityMask {\r
}\r
}\r
\r
+ Drawer {\r
+ id: fileDetailsDrawer\r
+ width: parent.width\r
+ height: parent.height\r
+ padding: 0\r
+ edge: Qt.RightEdge\r
+ modal: false\r
+ visible: false\r
+\r
+ background: Rectangle {\r
+ radius: Systray.useNormalWindow ? 0.0 : Style.trayWindowRadius\r
+ border.width: Style.trayWindowBorderWidth\r
+ border.color: Style.menuBorder\r
+ color: Style.backgroundColor\r
+ }\r
+\r
+ property var folderAccountState: ({})\r
+ property string fileLocalPath: ""\r
+ property var pageToShow: Systray.FileDetailsPage.Activity\r
+\r
+ function openFileDetails(accountState, localPath, fileDetailsPage) {\r
+ console.log(`About to show file details view in tray for ${localPath}`);\r
+ folderAccountState = accountState;\r
+ fileLocalPath = localPath;\r
+ pageToShow = fileDetailsPage;\r
+\r
+ if(!opened) {\r
+ open();\r
+ }\r
+ }\r
+\r
+ Loader {\r
+ id: fileDetailsContents\r
+ anchors.fill: parent\r
+ active: fileDetailsDrawer.visible\r
+ onActiveChanged: {\r
+ if (active) {\r
+ Systray.showFileDetailsPage(fileDetailsDrawer.fileLocalPath,\r
+ fileDetailsDrawer.pageToShow);\r
+ }\r
+ }\r
+ sourceComponent: ColumnLayout {\r
+ anchors.fill: parent\r
+\r
+ FileDetailsPage {\r
+ id: fileDetails\r
+\r
+ Layout.fillWidth: true\r
+ Layout.fillHeight: true\r
+\r
+ background: null\r
+ accountState: fileDetailsDrawer.folderAccountState\r
+ localPath: fileDetailsDrawer.fileLocalPath\r
+ }\r
+\r
+ CustomButton {\r
+ FontMetrics {\r
+ id: doneButtonFm\r
+ font: parent.contentsFont\r
+ }\r
+\r
+ Layout.alignment: Qt.AlignRight | Qt.AlignVCenter\r
+ Layout.topMargin: fileDetails.intendedPadding\r
+ Layout.bottomMargin: fileDetails.intendedPadding\r
+ Layout.leftMargin: fileDetails.intendedPadding\r
+ Layout.rightMargin: fileDetails.intendedPadding\r
+ Layout.preferredWidth: doneButtonFm.boundingRect(text).width +\r
+ leftPadding +\r
+ rightPadding +\r
+ Style.standardSpacing * 2\r
+\r
+ text: qsTr("Done")\r
+ contentsFont.bold: true\r
+ bgColor: Style.currentUserHeaderColor\r
+ textColor: Style.adjustedCurrentUserHeaderColor\r
+ textColorHovered: Style.currentUserHeaderTextColor\r
+ onClicked: fileDetailsDrawer.close()\r
+\r
+ Accessible.role: Accessible.Button\r
+ Accessible.name: qsTr("Close the file details view")\r
+ Accessible.onPressAction: clicked()\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
Item {\r
id: trayWindowMainItem\r
\r