|
|
|
|
@@ -5,8 +5,8 @@
|
|
|
|
|
|
|
|
|
|
#include <cmath>
|
|
|
|
|
|
|
|
|
|
#include <QCloseEvent>
|
|
|
|
|
#include <QGroupBox>
|
|
|
|
|
#include <QSlider>
|
|
|
|
|
#include <QtDebug>
|
|
|
|
|
#include <QtGlobal>
|
|
|
|
|
|
|
|
|
|
@@ -20,10 +20,10 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent)
|
|
|
|
|
qDebug(ltr("Creating main window"));
|
|
|
|
|
|
|
|
|
|
m_ui.setupUi(this);
|
|
|
|
|
auto slider = m_ui.centralWidget->findChild<QGroupBox*>("groupBox")->findChild<QSlider*>("horizontalSlider");
|
|
|
|
|
m_manualBrightnessSlider = m_ui.centralWidget->findChild<QGroupBox*>("groupBox")->findChild<QSlider*>("horizontalSlider");
|
|
|
|
|
|
|
|
|
|
if(slider) {
|
|
|
|
|
connect(slider, &QSlider::valueChanged, [this](int value) {
|
|
|
|
|
if(m_manualBrightnessSlider) {
|
|
|
|
|
connect(m_manualBrightnessSlider, &QSlider::valueChanged, [this](int value) {
|
|
|
|
|
const auto mappedBrightness = utils::map(value, 0, 100, 0.f, 1.f);
|
|
|
|
|
const auto newBrightness = std::clamp(mappedBrightness, 0.f, 1.f);
|
|
|
|
|
qDebug(ltr("Overriding brightness with %1").arg(newBrightness));
|
|
|
|
|
@@ -52,7 +52,7 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent)
|
|
|
|
|
m_visibility = !m_visibility;
|
|
|
|
|
});
|
|
|
|
|
m_trayIconMenu->addSeparator();
|
|
|
|
|
m_trayIconMenu->addAction(tr("Quit"), this, &QWidget::close);
|
|
|
|
|
m_trayIconMenu->addAction(tr("Quit"), this, &QCoreApplication::quit);
|
|
|
|
|
|
|
|
|
|
qDebug(ltr("Tray icon context menu initialized"));
|
|
|
|
|
|
|
|
|
|
@@ -60,13 +60,19 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent)
|
|
|
|
|
m_trayIcon->setIcon(*m_errorIcon);
|
|
|
|
|
m_trayIcon->setContextMenu(m_trayIconMenu);
|
|
|
|
|
m_trayIcon->show();
|
|
|
|
|
m_trayIcon->setToolTip(tr("AdaptiveBrightness"));
|
|
|
|
|
connect(m_trayIcon, &QSystemTrayIcon::activated, this, &MainWindow::trayIconClicked);
|
|
|
|
|
|
|
|
|
|
qDebug(ltr("Tray icon initialized"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
m_timer = new QTimer(this);
|
|
|
|
|
connect(m_timer, &QTimer::timeout, this, &MainWindow::updateState);
|
|
|
|
|
m_timer->start(1000);
|
|
|
|
|
m_timerThread = new QThread(this);
|
|
|
|
|
m_timer = new QTimer(nullptr);
|
|
|
|
|
m_timer->setInterval(1000);
|
|
|
|
|
m_timer->moveToThread(m_timerThread);
|
|
|
|
|
m_timerThread->connect(m_timer, &QTimer::timeout, this, &MainWindow::updateState, Qt::DirectConnection);
|
|
|
|
|
m_timer->connect(m_timerThread, SIGNAL(started()), SLOT(start()));
|
|
|
|
|
m_timerThread->start();
|
|
|
|
|
|
|
|
|
|
qDebug(ltr("Tray icon update timer started"));
|
|
|
|
|
|
|
|
|
|
@@ -77,6 +83,17 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent)
|
|
|
|
|
MainWindow::~MainWindow()
|
|
|
|
|
{
|
|
|
|
|
qDebug(ltr("Destroying main window"));
|
|
|
|
|
|
|
|
|
|
m_timerThread->quit();
|
|
|
|
|
if(!m_timerThread->wait()) {
|
|
|
|
|
qCritical(ltr("Timer thread did not terminate cleanly"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::closeEvent(QCloseEvent* event)
|
|
|
|
|
{
|
|
|
|
|
m_showHideAction->activate(QAction::Trigger);
|
|
|
|
|
event->ignore();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::loadIcons()
|
|
|
|
|
@@ -179,4 +196,19 @@ void MainWindow::updateState()
|
|
|
|
|
else if(m_trayIcon) {
|
|
|
|
|
m_trayIcon->setIcon(*m_errorIcon);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(m_trayIcon) {
|
|
|
|
|
m_trayIcon->setToolTip(tr("AdaptiveBrightness - %1%").arg(m_brightness * 100, 0, 'f', 0));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(m_manualBrightnessSlider) {
|
|
|
|
|
m_manualBrightnessSlider->setValue(utils::map(m_brightness, 0.f, 1.f, 0, 100));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::trayIconClicked(QSystemTrayIcon::ActivationReason reason)
|
|
|
|
|
{
|
|
|
|
|
if(reason == QSystemTrayIcon::ActivationReason::Trigger) {
|
|
|
|
|
m_showHideAction->trigger();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|