Move sensor and monitor handling to main window
This commit is contained in:
parent
8974306b15
commit
03e2c950ed
@ -6,8 +6,6 @@
|
|||||||
#include "log_to_file.hpp"
|
#include "log_to_file.hpp"
|
||||||
#include "log_tr.hpp"
|
#include "log_tr.hpp"
|
||||||
#include "main_window.hpp"
|
#include "main_window.hpp"
|
||||||
#include "monitor_control.hpp"
|
|
||||||
#include "sensor_driver.hpp"
|
|
||||||
|
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
@ -18,41 +16,6 @@ int main(int argc, char* argv[])
|
|||||||
qInfo(ltr("")); // New line for better visibility between runs
|
qInfo(ltr("")); // New line for better visibility between runs
|
||||||
qDebug(ltr("Starting application"));
|
qDebug(ltr("Starting application"));
|
||||||
|
|
||||||
auto sensors = enumerateSensors();
|
|
||||||
|
|
||||||
for(auto& sensor: sensors) {
|
|
||||||
const auto sensorRange = sensor.readRange();
|
|
||||||
const auto sensorValues = sensor.readValues();
|
|
||||||
|
|
||||||
if(sensor) {
|
|
||||||
qInfo(ltr("Sensor range: [%1,%2]").arg(sensorRange.first).arg(sensorRange.second));
|
|
||||||
|
|
||||||
for(size_t i = 0; i < sensorValues.size(); ++i) {
|
|
||||||
qInfo(ltr("Sensor value %1: %2").arg(i).arg(sensorValues[i]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
qWarning(ltr("Sensor is invalid"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
auto monitors = enumerateMonitors();
|
|
||||||
|
|
||||||
for(auto& monitor: monitors) {
|
|
||||||
const auto brightness = monitor.getBrightness();
|
|
||||||
|
|
||||||
qInfo(ltr("Monitor brightness: %1").arg(brightness));
|
|
||||||
|
|
||||||
if(!monitor.setBrightness(brightness)) {
|
|
||||||
qWarning(ltr("Failed to set brightness"));
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!monitor) {
|
|
||||||
qWarning(ltr("Monitor invalid"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MainWindow mainWindow;
|
MainWindow mainWindow;
|
||||||
mainWindow.show();
|
|
||||||
return application.exec();
|
return application.exec();
|
||||||
}
|
}
|
||||||
|
@ -4,9 +4,11 @@
|
|||||||
#include <QtGlobal>
|
#include <QtGlobal>
|
||||||
|
|
||||||
#include "log_tr.hpp"
|
#include "log_tr.hpp"
|
||||||
|
#include "monitor_control.hpp"
|
||||||
|
#include "sensor_driver.hpp"
|
||||||
#include "utils.hpp"
|
#include "utils.hpp"
|
||||||
|
|
||||||
MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), m_currentIcon(0), m_visibility(true)
|
MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent)
|
||||||
{
|
{
|
||||||
qDebug(ltr("Creating main window"));
|
qDebug(ltr("Creating main window"));
|
||||||
|
|
||||||
@ -21,7 +23,7 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), m_currentIcon(0),
|
|||||||
qDebug(ltr("System tray is available"));
|
qDebug(ltr("System tray is available"));
|
||||||
|
|
||||||
m_trayIconMenu = new QMenu(this);
|
m_trayIconMenu = new QMenu(this);
|
||||||
m_showHideAction = m_trayIconMenu->addAction(tr("Hide"), [this]() {
|
m_showHideAction = m_trayIconMenu->addAction(tr("Show"), [this]() {
|
||||||
if(m_visibility) {
|
if(m_visibility) {
|
||||||
m_showHideAction->setText(tr("Show"));
|
m_showHideAction->setText(tr("Show"));
|
||||||
hide();
|
hide();
|
||||||
@ -46,10 +48,13 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), m_currentIcon(0),
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_timer = new QTimer(this);
|
m_timer = new QTimer(this);
|
||||||
connect(m_timer, &QTimer::timeout, this, &MainWindow::nextIcon);
|
connect(m_timer, &QTimer::timeout, this, &MainWindow::updateState);
|
||||||
m_timer->start(500);
|
m_timer->start(1000);
|
||||||
|
|
||||||
qDebug(ltr("Tray icon update timer started"));
|
qDebug(ltr("Tray icon update timer started"));
|
||||||
|
|
||||||
|
m_sensors = enumerateSensors();
|
||||||
|
m_monitors = enumerateMonitors();
|
||||||
}
|
}
|
||||||
|
|
||||||
MainWindow::~MainWindow()
|
MainWindow::~MainWindow()
|
||||||
@ -92,15 +97,7 @@ void MainWindow::loadIcons()
|
|||||||
qDebug(ltr("Icons loaded"));
|
qDebug(ltr("Icons loaded"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::nextIcon()
|
void MainWindow::updateState()
|
||||||
{
|
{
|
||||||
qDebug(ltr("Cycling to next icon"));
|
qDebug(ltr("Updating state"));
|
||||||
|
|
||||||
if(!m_trayIcon) {
|
|
||||||
qWarning(ltr("Cannot cycle through tray icons, because no tray icon is available"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_currentIcon = (m_currentIcon + 1) % m_noSensorStateIcons.size();
|
|
||||||
m_trayIcon->setIcon(*m_noSensorStateIcons[m_currentIcon]);
|
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,9 @@
|
|||||||
#include <QSystemTrayIcon>
|
#include <QSystemTrayIcon>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
|
||||||
|
#include "monitor.hpp"
|
||||||
|
#include "sensor.hpp"
|
||||||
|
|
||||||
#include "ui_AdaptiveBrightness.h"
|
#include "ui_AdaptiveBrightness.h"
|
||||||
|
|
||||||
class MainWindow : public QMainWindow {
|
class MainWindow : public QMainWindow {
|
||||||
@ -21,7 +24,8 @@ class MainWindow : public QMainWindow {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void loadIcons();
|
void loadIcons();
|
||||||
void nextIcon();
|
|
||||||
|
void updateState();
|
||||||
|
|
||||||
Ui::AdaptiveBrightnessClass m_ui;
|
Ui::AdaptiveBrightnessClass m_ui;
|
||||||
|
|
||||||
@ -29,11 +33,15 @@ class MainWindow : public QMainWindow {
|
|||||||
std::array<std::unique_ptr<QIcon>, 9> m_sensorStateIcons;
|
std::array<std::unique_ptr<QIcon>, 9> m_sensorStateIcons;
|
||||||
std::unique_ptr<QIcon> m_errorIcon;
|
std::unique_ptr<QIcon> m_errorIcon;
|
||||||
|
|
||||||
std::size_t m_currentIcon;
|
bool m_visibility = false;
|
||||||
bool m_visibility;
|
|
||||||
QAction* m_showHideAction = nullptr;
|
QAction* m_showHideAction = nullptr;
|
||||||
QMenu* m_trayIconMenu = nullptr;
|
QMenu* m_trayIconMenu = nullptr;
|
||||||
QSystemTrayIcon* m_trayIcon = nullptr;
|
QSystemTrayIcon* m_trayIcon = nullptr;
|
||||||
|
|
||||||
QTimer* m_timer = nullptr;
|
QTimer* m_timer = nullptr;
|
||||||
|
|
||||||
|
float m_brightness;
|
||||||
|
|
||||||
|
std::vector<Sensor> m_sensors;
|
||||||
|
std::vector<Monitor> m_monitors;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user