X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsystemtray.cpp;h=9d2078be2599f8c7d8f8b06bc398827e6990e00a;hp=679a4b182770007553d425c752314ec2f0bcb605;hb=ea5b220601473213689ef9bad6611ec74b776aa5;hpb=b4b4d30567ea2d5c5bfaff8d019cf7ff5d023538 diff --git a/src/qtui/systemtray.cpp b/src/qtui/systemtray.cpp index 679a4b18..9d2078be 100644 --- a/src/qtui/systemtray.cpp +++ b/src/qtui/systemtray.cpp @@ -42,17 +42,7 @@ SystemTray::SystemTray(QWidget *parent) NotificationSettings{}.initAndNotify("Systray/Animate", this, SLOT(enableAnimationChanged(QVariant)), true); UiStyleSettings{}.initAndNotify("Icons/InvertTray", this, SLOT(invertTrayIconChanged(QVariant)), false); -} - - -SystemTray::~SystemTray() -{ - _trayMenu->deleteLater(); -} - -void SystemTray::init() -{ ActionCollection *coll = QtUi::actionCollection("General"); _minimizeRestoreAction = new Action(tr("&Minimize"), this, this, SLOT(minimizeRestore())); @@ -76,38 +66,42 @@ void SystemTray::init() _trayMenu->addSeparator(); _trayMenu->addAction(_minimizeRestoreAction); _trayMenu->addAction(coll->action("Quit")); - connect(_trayMenu, SIGNAL(aboutToShow()), SLOT(trayMenuAboutToShow())); + + connect(QtUi::instance(), SIGNAL(iconThemeRefreshed()), this, SIGNAL(iconsChanged())); } -QWidget *SystemTray::associatedWidget() const +SystemTray::~SystemTray() { - return _associatedWidget; + _trayMenu->deleteLater(); } -bool SystemTray::isSystemTrayAvailable() const +QWidget *SystemTray::associatedWidget() const { - return false; + return _associatedWidget; } -bool SystemTray::isVisible() const +bool SystemTray::isSystemTrayAvailable() const { return false; } -bool SystemTray::shouldBeVisible() const +bool SystemTray::isVisible() const { - return _shouldBeVisible; + return _isVisible; } void SystemTray::setVisible(bool visible) { - _shouldBeVisible = visible; + if (visible != _isVisible) { + _isVisible = visible; + emit visibilityChanged(visible); + } } @@ -117,13 +111,13 @@ SystemTray::Mode SystemTray::mode() const } -void SystemTray::setMode(Mode mode_) +void SystemTray::setMode(Mode mode) { - if (mode_ != _mode) { - _mode = mode_; + if (mode != _mode) { + _mode = mode; #ifdef HAVE_KDE4 if (_trayMenu) { - if (_mode == Legacy) { + if (mode == Mode::Legacy) { _trayMenu->setWindowFlags(Qt::Popup); } else { @@ -131,6 +125,7 @@ void SystemTray::setMode(Mode mode_) } } #endif + emit modeChanged(mode); } } @@ -145,6 +140,7 @@ void SystemTray::setState(State state) { if (_state != state) { _state = state; + emit stateChanged(state); } } @@ -218,6 +214,7 @@ void SystemTray::enableAnimationChanged(const QVariant &v) void SystemTray::invertTrayIconChanged(const QVariant &v) { _trayIconInverted = v.toBool(); + emit iconsChanged(); }