-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsystemtray.cpp
More file actions
62 lines (52 loc) · 2.13 KB
/
systemtray.cpp
File metadata and controls
62 lines (52 loc) · 2.13 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
57
58
59
60
61
62
#include "systemtray.h"
#include <QDebug>
#include <QMenu>
#include <QMessageBox>
#include <QSystemTrayIcon>
SystemTray::SystemTray(QObject *parent) : QObject(parent)
{
QIcon libkiIcon = QIcon(":/images/libki_clock.png");
QMenu *trayIconMenu = new QMenu();
QAction *aboutAction = new QAction(QIcon(":images/icons8-about-96.png"), tr("About"), this);
connect(aboutAction, SIGNAL(triggered()), this, SLOT(doAboutAction()));
trayIconMenu->addAction(aboutAction);
QAction *quitAction = new QAction(QIcon(":images/icons8-shutdown-90.png"), tr("Quit"), this);
connect(quitAction, SIGNAL(triggered()), this, SLOT(doQuitAction()));
trayIconMenu->addAction(quitAction);
trayIcon = new QSystemTrayIcon(this);
trayIcon->setContextMenu(trayIconMenu);
trayIcon->setIcon(libkiIcon);
trayIcon->show();
}
void SystemTray::doQuitAction() {
qDebug() << "SystemTray::doQuitAction";
QMessageBox msgBox;
msgBox.setWindowIcon(QIcon(":images/libki_clock.png"));
msgBox.setIcon(QMessageBox::Question);
msgBox.setWindowTitle(tr("Quit?"));
msgBox.setText(tr("Are you sure you want to quit?"));
msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
msgBox.setDefaultButton(QMessageBox::No);
msgBox.setButtonText(QMessageBox::Yes, tr("Yes"));
msgBox.setButtonText(QMessageBox::No, tr("No"));
int ret = msgBox.exec();
if( ret == QMessageBox::Yes ) {
exit(0);
}
}
void SystemTray::doAboutAction() {
qDebug() << "SystemTray::doAboutAction";
QMessageBox msgBox;
msgBox.setWindowIcon(QIcon(":images/libki_clock.png"));
msgBox.setIcon(QMessageBox::Information);
msgBox.setWindowTitle("About");
msgBox.setText("Libki Print Manager");
msgBox.setInformativeText("Libki.org\n©2020 Kyle M Hall, ByWater Solutions\n\n Additional icons by icons8.com");
msgBox.setStandardButtons(QMessageBox::Ok);
msgBox.setDefaultButton(QMessageBox::Ok);
msgBox.exec();
}
void SystemTray::showTrayMessage(QString title, QString message) {
qDebug() << "SystemTray::showTrayMessage";
trayIcon->showMessage(title, message, QSystemTrayIcon::Information, 1000);
}