File: systemtrayicon.h

package info (click to toggle)
quaternion 0.0.97.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,800 kB
  • sloc: cpp: 8,380; xml: 172; sh: 5; makefile: 2
file content (41 lines) | stat: -rw-r--r-- 1,197 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/**************************************************************************
 *                                                                        *
 * SPDX-FileCopyrightText: 2016 Felix Rohrbach <kde@fxrh.de>              *
 *                                                                        *
 * SPDX-License-Identifier: GPL-3.0-or-later
 *                                                                        *
 **************************************************************************/

#pragma once

#include <QtWidgets/QSystemTrayIcon>

namespace Quotient
{
    class Room;
}

class MainWindow;

class SystemTrayIcon: public QSystemTrayIcon
{
        Q_OBJECT
    public:
        explicit SystemTrayIcon(MainWindow* parent = nullptr);

    public slots:
        void newRoom(Quotient::Room* room);

    private slots:
        void unreadStatsChanged();
        void highlightCountChanged(Quotient::Room* room);
        void systemTrayIconAction(QSystemTrayIcon::ActivationReason reason);
        void focusChanged(QWidget* old);

    private:
        bool m_notified;

        void showHide();
        MainWindow* mainWindow() const;
        QString notificationMode() const;
};