From: Manuel Nickschas Date: Mon, 11 Jun 2018 20:52:16 +0000 (+0200) Subject: qtui: Clean up SystemTray X-Git-Tag: travis-deploy-test~38 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=3cc8b9030841cc3084ec6707a01f3b44ee58b8b9 qtui: Clean up SystemTray Remove inlines, use override, default-initialize attributes, reorder methods. --- diff --git a/src/qtui/systemtray.cpp b/src/qtui/systemtray.cpp index e92e4ae6..36b70479 100644 --- a/src/qtui/systemtray.cpp +++ b/src/qtui/systemtray.cpp @@ -36,13 +36,9 @@ SystemTray::SystemTray(QWidget *parent) : QObject(parent), - _mode(Invalid), - _state(Passive), - _shouldBeVisible(true), _passiveIcon(QIcon::fromTheme("inactive-quassel", QIcon(":/icons/inactive-quassel.png"))), _activeIcon(QIcon::fromTheme("quassel", QIcon(":/icons/quassel.png"))), _needsAttentionIcon(QIcon::fromTheme("message-quassel", QIcon(":/icons/message-quassel.png"))), - _trayMenu(0), _associatedWidget(parent) { Q_ASSERT(parent); @@ -55,12 +51,6 @@ SystemTray::~SystemTray() } -QWidget *SystemTray::associatedWidget() const -{ - return _associatedWidget; -} - - void SystemTray::init() { ActionCollection *coll = QtUi::actionCollection("General"); @@ -94,12 +84,39 @@ void SystemTray::init() } -void SystemTray::trayMenuAboutToShow() +QWidget *SystemTray::associatedWidget() const { - if (GraphicalUi::isMainWidgetVisible()) - _minimizeRestoreAction->setText(tr("&Minimize")); - else - _minimizeRestoreAction->setText(tr("&Restore")); + return _associatedWidget; +} + + +bool SystemTray::isSystemTrayAvailable() const +{ + return false; +} + + +bool SystemTray::isVisible() const +{ + return false; +} + + +bool SystemTray::shouldBeVisible() const +{ + return _shouldBeVisible; +} + + +void SystemTray::setVisible(bool visible) +{ + _shouldBeVisible = visible; +} + + +SystemTray::Mode SystemTray::mode() const +{ + return _mode; } @@ -121,6 +138,20 @@ void SystemTray::setMode(Mode mode_) } +SystemTray::State SystemTray::state() const +{ + return _state; +} + + +void SystemTray::setState(State state) +{ + if (_state != state) { + _state = state; + } +} + + QIcon SystemTray::stateIcon() const { return stateIcon(state()); @@ -141,11 +172,9 @@ QIcon SystemTray::stateIcon(State state) const } -void SystemTray::setState(State state) +bool SystemTray::isAlerted() const { - if (_state != state) { - _state = state; - } + return state() == State::NeedsAttention; } @@ -158,9 +187,43 @@ void SystemTray::setAlert(bool alerted) } -void SystemTray::setVisible(bool visible) +QMenu *SystemTray::trayMenu() const { - _shouldBeVisible = visible; + return _trayMenu; +} + + +void SystemTray::trayMenuAboutToShow() +{ + if (GraphicalUi::isMainWidgetVisible()) + _minimizeRestoreAction->setText(tr("&Minimize")); + else + _minimizeRestoreAction->setText(tr("&Restore")); +} + + +bool SystemTray::animationEnabled() const +{ + return _animationEnabled; +} + + +void SystemTray::enableAnimationChanged(const QVariant &v) +{ + _animationEnabled = v.toBool(); + emit animationEnabledChanged(v.toBool()); +} + + +QString SystemTray::toolTipTitle() const +{ + return _toolTipTitle; +} + + +QString SystemTray::toolTipSubTitle() const +{ + return _toolTipSubTitle; } @@ -182,20 +245,19 @@ void SystemTray::showMessage(const QString &title, const QString &message, Messa } -void SystemTray::activate(SystemTray::ActivationReason reason) +void SystemTray::closeMessage(uint notificationId) { - emit activated(reason); + Q_UNUSED(notificationId) } -void SystemTray::minimizeRestore() +void SystemTray::activate(SystemTray::ActivationReason reason) { - GraphicalUi::toggleMainWidget(); + emit activated(reason); } -void SystemTray::enableAnimationChanged(const QVariant &v) +void SystemTray::minimizeRestore() { - _animationEnabled = v.toBool(); - emit animationEnabledChanged(v.toBool()); + GraphicalUi::toggleMainWidget(); } diff --git a/src/qtui/systemtray.h b/src/qtui/systemtray.h index 1fa9739f..b27d81ca 100644 --- a/src/qtui/systemtray.h +++ b/src/qtui/systemtray.h @@ -18,8 +18,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef SYSTEMTRAY_H_ -#define SYSTEMTRAY_H_ +#pragma once #include @@ -31,8 +30,8 @@ class SystemTray : public QObject Q_OBJECT Q_ENUMS(State Mode MessageIcon ActivationReason) -public : - enum State { +public: + enum State { Passive, Active, NeedsAttention @@ -62,16 +61,16 @@ public : }; explicit SystemTray(QWidget *parent); - virtual ~SystemTray(); + ~SystemTray() override; virtual void init(); - inline Mode mode() const; - inline State state() const; - inline bool isAlerted() const; - virtual inline bool isSystemTrayAvailable() const; - + Mode mode() const; + State state() const; + bool isAlerted() const; void setAlert(bool alerted); - virtual inline bool isVisible() const { return false; } + + virtual bool isVisible() const; + virtual bool isSystemTrayAvailable() const; QWidget *associatedWidget() const; @@ -80,7 +79,7 @@ public slots: virtual void setVisible(bool visible = true); virtual void setToolTip(const QString &title, const QString &subtitle); virtual void showMessage(const QString &title, const QString &message, MessageIcon icon = Information, int msTimeout = 10000, uint notificationId = 0); - virtual void closeMessage(uint notificationId) { Q_UNUSED(notificationId) } + virtual void closeMessage(uint notificationId); signals: void activated(SystemTray::ActivationReason); @@ -95,15 +94,15 @@ protected slots: protected: virtual void setMode(Mode mode); - inline bool shouldBeVisible() const; + bool shouldBeVisible() const; virtual QIcon stateIcon() const; QIcon stateIcon(State state) const; - inline QString toolTipTitle() const; - inline QString toolTipSubTitle() const; - inline QMenu *trayMenu() const; + QString toolTipTitle() const; + QString toolTipSubTitle() const; + QMenu *trayMenu() const; - inline bool animationEnabled() const; + bool animationEnabled() const; private slots: void minimizeRestore(); @@ -111,30 +110,15 @@ private slots: void enableAnimationChanged(const QVariant &); private: - Mode _mode; - State _state; - bool _shouldBeVisible; + Mode _mode{Mode::Invalid}; + State _state{State::Passive}; + bool _shouldBeVisible{true}; + bool _animationEnabled{true}; QString _toolTipTitle, _toolTipSubTitle; QIcon _passiveIcon, _activeIcon, _needsAttentionIcon; - bool _animationEnabled; - QMenu *_trayMenu; - QWidget *_associatedWidget; - Action *_minimizeRestoreAction; + QMenu *_trayMenu{nullptr}; + QWidget *_associatedWidget{nullptr}; + Action *_minimizeRestoreAction{nullptr}; }; - - -// inlines - -bool SystemTray::isSystemTrayAvailable() const { return false; } -bool SystemTray::isAlerted() const { return state() == NeedsAttention; } -SystemTray::Mode SystemTray::mode() const { return _mode; } -SystemTray::State SystemTray::state() const { return _state; } -bool SystemTray::shouldBeVisible() const { return _shouldBeVisible; } -QMenu *SystemTray::trayMenu() const { return _trayMenu; } -QString SystemTray::toolTipTitle() const { return _toolTipTitle; } -QString SystemTray::toolTipSubTitle() const { return _toolTipSubTitle; } -bool SystemTray::animationEnabled() const { return _animationEnabled; } - -#endif