#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 #include "i2c_smbus.h" #include "RGBController.h" #include "ProfileManager.h" #include "NetworkClient.h" #include "NetworkServer.h" #include #include #include #include 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