-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.cpp
More file actions
56 lines (49 loc) · 2.02 KB
/
Copy pathmain.cpp
File metadata and controls
56 lines (49 loc) · 2.02 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include "engine.h"
#include <QApplication>
#include <QAction>
#include <QSystemTrayIcon>
#include <QMenu>
#include <QSettings>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.setApplicationName("LJ.offline");
a.setApplicationVersion("1.0");
a.setOrganizationName("ckotinko");
a.setOrganizationDomain("ckotinko.ru");
a.setQuitOnLastWindowClosed(false);
QSettings settings;
settings.beginGroup("LJ_offline");
Engine * engine = new Engine(settings);
QSystemTrayIcon * icon = new QSystemTrayIcon(QIcon(":/icons/lj.png"));
QMenu * menu = new QMenu;
menu->addAction(QIcon(":/icons/lj.png"), a.translate("menu", "open browser"),
engine, SLOT(showInBrowser()));
QObject::connect(icon, &QSystemTrayIcon::activated, [=] (QSystemTrayIcon::ActivationReason reason) {
if (reason == QSystemTrayIcon::DoubleClick)
engine->showInBrowser();
});
menu->addSeparator();
menu->addAction(QIcon(":/icons/conf.png"), a.translate("menu", "configuration"),
engine, SLOT(showConfigDialog()));
menu->addAction(QIcon(":/icons/sync.png"), a.translate("menu", "syncronize"),
engine, SLOT(syncronize()));
QAction * msg_action = nullptr;
if (icon->supportsMessages()) {
msg_action = menu->addAction(a.translate("menu", "enable popups"),
engine, SLOT(enableMessages(bool)));
msg_action->setCheckable(true);
msg_action->setChecked(settings.value("popup").toBool());
QObject::connect(engine, SIGNAL(message(QString,QString,QSystemTrayIcon::MessageIcon,int)), icon, SLOT(showMessage(QString,QString,QSystemTrayIcon::MessageIcon,int)));
}
menu->addSeparator();
menu->addAction(QIcon(":/icons/exit.png"), a.translate("menu", "exit"),
&a, SLOT(quit()));
icon->setContextMenu(menu);
icon->show();
int retc = a.exec();
delete icon;
delete menu;
delete engine;
return retc;
}