}
}
-bool Systray::isOpen()
-{
- return _isOpen;
-}
-
QString Systray::windowTitle() const
{
return Theme::instance()->appNameGUI();
return cfg.showMainDialogAsNormalWindow();
}
-Q_INVOKABLE void Systray::setOpened()
+bool Systray::isOpen() const
{
- _isOpen = true;
+ return _isOpen;
}
-Q_INVOKABLE void Systray::setClosed()
+void Systray::setIsOpen(const bool isOpen)
{
- _isOpen = false;
+ _isOpen = isOpen;
+ Q_EMIT isOpenChanged();
}
void Systray::showMessage(const QString &title, const QString &message, MessageIcon icon)
QSystemTrayIcon::setToolTip(tr("%1: %2").arg(Theme::instance()->appNameGUI(), tip));
}
-bool Systray::syncIsPaused()
+bool Systray::syncIsPaused() const
{
return _syncIsPaused;
}
-void Systray::pauseResumeSync()
+void Systray::setSyncIsPaused(const bool syncIsPaused)
{
+ _syncIsPaused = syncIsPaused;
if (_syncIsPaused) {
- _syncIsPaused = false;
- slotUnpauseAllFolders();
- } else {
- _syncIsPaused = true;
slotPauseAllFolders();
+ } else {
+ slotUnpauseAllFolders();
}
}
Q_PROPERTY(QString windowTitle READ windowTitle CONSTANT)
Q_PROPERTY(bool useNormalWindow READ useNormalWindow CONSTANT)
+ Q_PROPERTY(bool syncIsPaused READ syncIsPaused WRITE setSyncIsPaused NOTIFY syncIsPausedChanged)
+ Q_PROPERTY(bool isOpen READ isOpen WRITE setIsOpen NOTIFY isOpenChanged)
public:
static Systray *instance();
void showMessage(const QString &title, const QString &message, MessageIcon icon = Information);
void showUpdateMessage(const QString &title, const QString &message, const QUrl &webUrl);
void setToolTip(const QString &tip);
- bool isOpen();
- QString windowTitle() const;
- bool useNormalWindow() const;
void createCallDialog(const Activity &callNotification, const AccountStatePtr accountState);
- Q_INVOKABLE void pauseResumeSync();
- Q_INVOKABLE bool syncIsPaused();
- Q_INVOKABLE void setOpened();
- Q_INVOKABLE void setClosed();
- Q_INVOKABLE void forceWindowInit(QQuickWindow *window) const;
- Q_INVOKABLE void positionNotificationWindow(QQuickWindow *window) const;
+ Q_REQUIRED_RESULT QString windowTitle() const;
+ Q_REQUIRED_RESULT bool useNormalWindow() const;
+
+ Q_REQUIRED_RESULT bool syncIsPaused() const;
+ Q_REQUIRED_RESULT bool isOpen() const;
signals:
void currentUserChanged();
void sendChatMessage(const QString &token, const QString &message, const QString &replyTo);
void showErrorMessageDialog(const QString &error);
+ void syncIsPausedChanged();
+ void isOpenChanged();
+
public slots:
void slotNewUserSelected();
void positionWindowAtTray(QQuickWindow *window) const;
void positionWindowAtScreenCenter(QQuickWindow *window) const;
+ void setSyncIsPaused(const bool syncIsPaused);
+ void setIsOpen(const bool isOpen);
+
+ void forceWindowInit(QQuickWindow *window) const;
+ void positionNotificationWindow(QQuickWindow *window) const;
+
private slots:
void slotUnpauseAllFolders();
void slotPauseAllFolders();
onActiveChanged: {\r
if (!Systray.useNormalWindow && !active) {\r
hide();\r
- Systray.setClosed();\r
+ Systray.isOpen = false;\r
}\r
}\r
\r
- onClosing: {\r
- Systray.setClosed()\r
- }\r
+ onClosing: Systray.isOpen = false\r
\r
onVisibleChanged: {\r
// HACK: reload account Instantiator immediately by restting it - could be done better I guess\r
trayWindow.raise();\r
trayWindow.requestActivate();\r
\r
- Systray.setOpened();\r
+ Systray.isOpen = true;\r
UserModel.fetchCurrentActivityModel();\r
}\r
\r
function onHideWindow() {\r
trayWindow.hide();\r
- Systray.setClosed();\r
+ Systray.isOpen = false;\r
}\r
\r
function onShowFileActivityDialog(objectName, objectId) {\r
// We call open() instead of popup() because we want to position it\r
// exactly below the dropdown button, not the mouse\r
onClicked: {\r
- syncPauseButton.text = Systray.syncIsPaused() ? qsTr("Resume sync for all") : qsTr("Pause sync for all")\r
+ syncPauseButton.text = Systray.syncIsPaused ? qsTr("Resume sync for all") : qsTr("Pause sync for all")\r
if (accountMenu.visible) {\r
accountMenu.close()\r
} else {\r
font.pixelSize: Style.topLinePixelSize\r
palette.windowText: Style.ncTextColor\r
hoverEnabled: true\r
- onClicked: Systray.pauseResumeSync()\r
+ onClicked: Systray.syncIsPaused = !Systray.syncIsPaused\r
\r
background: Item {\r
height: parent.height\r
}\r
\r
Accessible.role: Accessible.MenuItem\r
- Accessible.name: Systray.syncIsPaused() ? qsTr("Resume sync for all") : qsTr("Pause sync for all")\r
+ Accessible.name: Systray.syncIsPaused ? qsTr("Resume sync for all") : qsTr("Pause sync for all")\r
Accessible.onPressAction: syncPauseButton.clicked()\r
}\r
\r