X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsystemtray.h;h=1efdb4184c343937c68c9669abc8bdf260807dcf;hp=151d3492c030ba61002fddba748283f1832c9ce8;hb=b4b4d30567ea2d5c5bfaff8d019cf7ff5d023538;hpb=9d54503555534a2c554f09a33df6afa33d6308ec diff --git a/src/qtui/systemtray.h b/src/qtui/systemtray.h index 151d3492..1efdb418 100644 --- a/src/qtui/systemtray.h +++ b/src/qtui/systemtray.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This file is free software; you can redistribute it and/or modify * @@ -18,10 +18,10 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef SYSTEMTRAY_H_ -#define SYSTEMTRAY_H_ +#pragma once -#include "icon.h" +#include +#include class Action; class QMenu; @@ -31,8 +31,8 @@ class SystemTray : public QObject Q_OBJECT Q_ENUMS(State Mode MessageIcon ActivationReason) -public : - enum State { +public: + enum State { Passive, Active, NeedsAttention @@ -62,16 +62,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,11 +80,11 @@ 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); - void iconChanged(const Icon &); + void iconChanged(const QIcon &icon); void animationEnabledChanged(bool); void toolTipChanged(const QString &title, const QString &subtitle); void messageClicked(uint notificationId); @@ -95,46 +95,31 @@ protected slots: protected: virtual void setMode(Mode mode); - inline bool shouldBeVisible() const; + bool shouldBeVisible() const; + bool animationEnabled() const; - virtual Icon stateIcon() const; - Icon 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; + QString iconName(State state) const; private slots: void minimizeRestore(); void trayMenuAboutToShow(); void enableAnimationChanged(const QVariant &); + void invertTrayIconChanged(const QVariant &); private: - Mode _mode; - State _state; - bool _shouldBeVisible; + Mode _mode{Mode::Invalid}; + State _state{State::Passive}; + bool _shouldBeVisible{true}; + bool _animationEnabled{true}; + bool _trayIconInverted{false}; QString _toolTipTitle, _toolTipSubTitle; - Icon _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