~sachinr/xpad/xpad-qt

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
#ifndef APP_H
#define APP_H

#include <QSystemTrayIcon>

#include <memory>
#include <thread>

#include "padgroup.h"

using namespace std;

// Application object, contains top level objects and functionality
class App : public QObject
{
    Q_OBJECT
    unique_ptr<QSystemTrayIcon> trayIcon;
    unique_ptr<PadGroup> padGroup;
    QString iconPath;
    QString padDirectory;
    void SavePadsThread();
    std::thread padSaverThread;
public:
    App();
    void CreateTrayMenu();
    void HideTray();
    void LoadPads();
public slots:
    void newPadRequested();
};

#endif // APP_H