mirror of
https://github.com/CalcProgrammer1/OpenRGB.git
synced 2026-01-02 20:27:52 -05:00
116 lines
3.0 KiB
C++
116 lines
3.0 KiB
C++
#ifndef OPENRGBDIALOG2_H
|
|
#define OPENRGBDIALOG2_H
|
|
|
|
#include "ui_OpenRGBDialog2.h"
|
|
|
|
#include "OpenRGBClientInfoPage.h"
|
|
#include "OpenRGBSoftwareInfoPage.h"
|
|
#include "OpenRGBSystemInfoPage.h"
|
|
#include "OpenRGBSupportedDevicesPage.h"
|
|
#include "PluginManager.h"
|
|
|
|
#include <vector>
|
|
#include "i2c_smbus.h"
|
|
#include "RGBController.h"
|
|
#include "ProfileManager.h"
|
|
#include "NetworkClient.h"
|
|
#include "NetworkServer.h"
|
|
|
|
#include <QMainWindow>
|
|
#include <QTimer>
|
|
#include <QSystemTrayIcon>
|
|
#include <QMenu>
|
|
|
|
namespace Ui
|
|
{
|
|
class OpenRGBDialog2;
|
|
}
|
|
|
|
class Ui::OpenRGBDialog2 : public QMainWindow
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit OpenRGBDialog2(QWidget *parent = 0);
|
|
~OpenRGBDialog2();
|
|
|
|
void AddClient(NetworkClient* new_client);
|
|
void AddClientTab();
|
|
void AddI2CToolsPage();
|
|
void AddServerTab();
|
|
|
|
void setMode(unsigned char mode_val);
|
|
|
|
static bool IsDarkTheme();
|
|
|
|
private:
|
|
/*-------------------------------------*\
|
|
| Page pointers |
|
|
\*-------------------------------------*/
|
|
OpenRGBClientInfoPage *ClientInfoPage;
|
|
OpenRGBSystemInfoPage *SMBusToolsPage;
|
|
OpenRGBSoftwareInfoPage *SoftInfoPage;
|
|
OpenRGBSupportedDevicesPage *SupportedPage;
|
|
|
|
bool ShowI2CTools = false;
|
|
|
|
/*-------------------------------------*\
|
|
| System tray icon and menu |
|
|
\*-------------------------------------*/
|
|
bool MinimizeToTray;
|
|
QSystemTrayIcon* trayIcon;
|
|
QMenu* profileMenu;
|
|
|
|
/*-------------------------------------*\
|
|
| User interface |
|
|
\*-------------------------------------*/
|
|
Ui::OpenRGBDialog2Ui *ui;
|
|
|
|
void AddSoftwareInfoPage();
|
|
void AddSupportedDevicesPage();
|
|
void AddPluginTab(PluginManager* plugin_manager,int plugin_index);
|
|
|
|
void ClearDevicesList();
|
|
void UpdateDevicesList();
|
|
void UpdateProfileList();
|
|
void closeEvent(QCloseEvent *event);
|
|
|
|
void SetDetectionViewState(bool detection_showing);
|
|
void SaveProfile();
|
|
void SaveProfileAs();
|
|
|
|
bool device_view_showing = false;
|
|
|
|
PluginManager* plugin_manager = nullptr;
|
|
bool NotFirstRun = false;
|
|
bool TopBarAlreadyLoaded = false;
|
|
|
|
private slots:
|
|
void on_Exit();
|
|
void on_LightsOff();
|
|
void on_QuickRed();
|
|
void on_QuickYellow();
|
|
void on_QuickGreen();
|
|
void on_QuickCyan();
|
|
void on_QuickBlue();
|
|
void on_QuickMagenta();
|
|
void on_QuickWhite();
|
|
void on_ClientListUpdated();
|
|
void onDeviceListUpdated();
|
|
void onDetectionProgressUpdated();
|
|
void on_SetAllDevices(unsigned char red, unsigned char green, unsigned char blue);
|
|
void on_SaveSizeProfile();
|
|
void on_ShowHide();
|
|
void on_ReShow(QSystemTrayIcon::ActivationReason reason);
|
|
void on_ProfileSelected();
|
|
void on_ButtonLoadProfile_clicked();
|
|
void on_ButtonDeleteProfile_clicked();
|
|
void on_ButtonToggleDeviceView_clicked();
|
|
void on_ButtonStopDetection_clicked();
|
|
void on_ButtonRescan_clicked();
|
|
void on_ActionSaveProfile_triggered();
|
|
void on_ActionSaveProfileAs_triggered();
|
|
};
|
|
|
|
#endif // OPENRGBDIALOG2_H
|