Add example context menu
This commit is contained in:
parent
75308e78b5
commit
366044bb27
@ -1,14 +1,28 @@
|
|||||||
#include "AdaptiveBrightness.hpp"
|
#include "AdaptiveBrightness.hpp"
|
||||||
|
|
||||||
#include <QMessageBox>
|
AdaptiveBrightness::AdaptiveBrightness(QWidget* parent) : QMainWindow(parent), m_visibility(true)
|
||||||
|
|
||||||
AdaptiveBrightness::AdaptiveBrightness(QWidget* parent) : QMainWindow(parent)
|
|
||||||
{
|
{
|
||||||
m_ui.setupUi(this);
|
m_ui.setupUi(this);
|
||||||
|
|
||||||
m_icon = std::make_unique<QIcon>(":/AdaptiveBrightness/resources/brightness_system.ico");
|
m_icon = std::make_unique<QIcon>(":/AdaptiveBrightness/resources/brightness_system.ico");
|
||||||
m_trayIcon = new QSystemTrayIcon(this);
|
|
||||||
|
|
||||||
|
m_trayIconMenu = new QMenu(this);
|
||||||
|
m_showHideAction = m_trayIconMenu->addAction(tr("Hide"), [this]() {
|
||||||
|
if(m_visibility) {
|
||||||
|
m_showHideAction->setText(tr("Show"));
|
||||||
|
hide();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
m_showHideAction->setText(tr("Hide"));
|
||||||
|
show();
|
||||||
|
}
|
||||||
|
m_visibility = !m_visibility;
|
||||||
|
});
|
||||||
|
m_trayIconMenu->addSeparator();
|
||||||
|
m_trayIconMenu->addAction(tr("Quit"), this, &QWidget::close);
|
||||||
|
|
||||||
|
m_trayIcon = new QSystemTrayIcon(this);
|
||||||
m_trayIcon->setIcon(*m_icon);
|
m_trayIcon->setIcon(*m_icon);
|
||||||
|
m_trayIcon->setContextMenu(m_trayIconMenu);
|
||||||
m_trayIcon->show();
|
m_trayIcon->show();
|
||||||
}
|
}
|
||||||
|
@ -2,8 +2,10 @@
|
|||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
|
#include <QAction>
|
||||||
#include <QIcon>
|
#include <QIcon>
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
|
#include <QMenu>
|
||||||
#include <QSystemTrayIcon>
|
#include <QSystemTrayIcon>
|
||||||
|
|
||||||
#include "ui_AdaptiveBrightness.h"
|
#include "ui_AdaptiveBrightness.h"
|
||||||
@ -18,5 +20,8 @@ class AdaptiveBrightness : public QMainWindow {
|
|||||||
Ui::AdaptiveBrightnessClass m_ui;
|
Ui::AdaptiveBrightnessClass m_ui;
|
||||||
|
|
||||||
std::unique_ptr<QIcon> m_icon;
|
std::unique_ptr<QIcon> m_icon;
|
||||||
|
bool m_visibility;
|
||||||
|
QAction* m_showHideAction;
|
||||||
|
QMenu* m_trayIconMenu;
|
||||||
QSystemTrayIcon* m_trayIcon;
|
QSystemTrayIcon* m_trayIcon;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user