From 3256bc3296ab4a0a8ed6858ae2e3d01e664b15d4 Mon Sep 17 00:00:00 2001 From: morg Date: Thu, 6 Jul 2023 17:05:38 +0000 Subject: [PATCH] Replace all png icons with a custom font --- OpenRGB.pro | 2 + qt/OpenRGBDialog2.cpp | 301 +++++++-------------------------------- qt/OpenRGBFont.cpp | 39 +++++ qt/OpenRGBFont.h | 54 +++++++ qt/TabLabel.cpp | 12 +- qt/TabLabel.h | 2 +- qt/TabLabel.ui | 13 -- qt/accessory.png | Bin 1349 -> 0 bytes qt/accessory_dark.png | Bin 1488 -> 0 bytes qt/arrow-down.png | Bin 107 -> 0 bytes qt/arrow-up.png | Bin 103 -> 0 bytes qt/case.png | Bin 226 -> 0 bytes qt/case_dark.png | Bin 218 -> 0 bytes qt/console.png | Bin 5572 -> 0 bytes qt/console_dark.png | Bin 5590 -> 0 bytes qt/dram.png | Bin 109 -> 0 bytes qt/dram_dark.png | Bin 116 -> 0 bytes qt/fan.png | Bin 164 -> 0 bytes qt/fan_dark.png | Bin 168 -> 0 bytes qt/fonts/OpenRGB.ttf | Bin 0 -> 7732 bytes qt/gamepad.png | Bin 144 -> 0 bytes qt/gamepad_dark.png | Bin 159 -> 0 bytes qt/gpu.png | Bin 131 -> 0 bytes qt/gpu_dark.png | Bin 142 -> 0 bytes qt/headset.png | Bin 143 -> 0 bytes qt/headset_dark.png | Bin 151 -> 0 bytes qt/headsetstand.png | Bin 132 -> 0 bytes qt/headsetstand_dark.png | Bin 143 -> 0 bytes qt/keyboard.png | Bin 126 -> 0 bytes qt/keyboard_dark.png | Bin 136 -> 0 bytes qt/keypad.png | Bin 616 -> 0 bytes qt/keypad_dark.png | Bin 627 -> 0 bytes qt/ledstrip.png | Bin 111 -> 0 bytes qt/ledstrip_dark.png | Bin 121 -> 0 bytes qt/light.png | Bin 186 -> 0 bytes qt/light_dark.png | Bin 191 -> 0 bytes qt/microphone.png | Bin 1513 -> 0 bytes qt/microphone_dark.png | Bin 1583 -> 0 bytes qt/motherboard.png | Bin 137 -> 0 bytes qt/motherboard_dark.png | Bin 147 -> 0 bytes qt/mouse.png | Bin 141 -> 0 bytes qt/mouse_dark.png | Bin 152 -> 0 bytes qt/mousemat.png | Bin 151 -> 0 bytes qt/mousemat_dark.png | Bin 159 -> 0 bytes qt/plugin.png | Bin 191 -> 0 bytes qt/plugin_dark.png | Bin 183 -> 0 bytes qt/resources.qrc | 57 +------- qt/serial.png | Bin 135 -> 0 bytes qt/serial_dark.png | Bin 141 -> 0 bytes qt/settings.png | Bin 5572 -> 0 bytes qt/settings_dark.png | Bin 5583 -> 0 bytes qt/software.png | Bin 138 -> 0 bytes qt/software_dark.png | Bin 143 -> 0 bytes qt/speaker.png | Bin 1685 -> 0 bytes qt/speaker_dark.png | Bin 159 -> 0 bytes qt/storage.png | Bin 2930 -> 0 bytes qt/storage_dark.png | Bin 2915 -> 0 bytes qt/tools.png | Bin 113 -> 0 bytes qt/tools_dark.png | Bin 124 -> 0 bytes qt/unknown.png | Bin 1426 -> 0 bytes qt/unknown_dark.png | Bin 1547 -> 0 bytes qt/virtual.png | Bin 5331 -> 0 bytes qt/virtual_dark.png | Bin 5442 -> 0 bytes qt/wireless.png | Bin 144 -> 0 bytes qt/wireless_dark.png | Bin 155 -> 0 bytes 65 files changed, 158 insertions(+), 322 deletions(-) create mode 100644 qt/OpenRGBFont.cpp create mode 100644 qt/OpenRGBFont.h delete mode 100644 qt/accessory.png delete mode 100644 qt/accessory_dark.png delete mode 100644 qt/arrow-down.png delete mode 100644 qt/arrow-up.png delete mode 100644 qt/case.png delete mode 100644 qt/case_dark.png delete mode 100644 qt/console.png delete mode 100644 qt/console_dark.png delete mode 100644 qt/dram.png delete mode 100644 qt/dram_dark.png delete mode 100644 qt/fan.png delete mode 100644 qt/fan_dark.png create mode 100644 qt/fonts/OpenRGB.ttf delete mode 100644 qt/gamepad.png delete mode 100644 qt/gamepad_dark.png delete mode 100644 qt/gpu.png delete mode 100644 qt/gpu_dark.png delete mode 100644 qt/headset.png delete mode 100644 qt/headset_dark.png delete mode 100644 qt/headsetstand.png delete mode 100644 qt/headsetstand_dark.png delete mode 100644 qt/keyboard.png delete mode 100644 qt/keyboard_dark.png delete mode 100644 qt/keypad.png delete mode 100644 qt/keypad_dark.png delete mode 100644 qt/ledstrip.png delete mode 100644 qt/ledstrip_dark.png delete mode 100644 qt/light.png delete mode 100644 qt/light_dark.png delete mode 100644 qt/microphone.png delete mode 100644 qt/microphone_dark.png delete mode 100644 qt/motherboard.png delete mode 100644 qt/motherboard_dark.png delete mode 100644 qt/mouse.png delete mode 100644 qt/mouse_dark.png delete mode 100644 qt/mousemat.png delete mode 100644 qt/mousemat_dark.png delete mode 100644 qt/plugin.png delete mode 100644 qt/plugin_dark.png delete mode 100644 qt/serial.png delete mode 100644 qt/serial_dark.png delete mode 100644 qt/settings.png delete mode 100644 qt/settings_dark.png delete mode 100644 qt/software.png delete mode 100644 qt/software_dark.png delete mode 100644 qt/speaker.png delete mode 100644 qt/speaker_dark.png delete mode 100644 qt/storage.png delete mode 100644 qt/storage_dark.png delete mode 100644 qt/tools.png delete mode 100644 qt/tools_dark.png delete mode 100644 qt/unknown.png delete mode 100644 qt/unknown_dark.png delete mode 100644 qt/virtual.png delete mode 100644 qt/virtual_dark.png delete mode 100644 qt/wireless.png delete mode 100644 qt/wireless_dark.png diff --git a/OpenRGB.pro b/OpenRGB.pro index dde296ed..b4358ab2 100644 --- a/OpenRGB.pro +++ b/OpenRGB.pro @@ -235,6 +235,7 @@ HEADERS += qt/OpenRGBHardwareIDsDialog.h \ qt/OpenRGBKasaSmartSettingsPage/OpenRGBKasaSmartSettingsEntry.h \ qt/OpenRGBKasaSmartSettingsPage/OpenRGBKasaSmartSettingsPage.h \ + qt/OpenRGBFont.h \ qt/OpenRGBPluginContainer.h \ qt/OpenRGBPluginsPage/OpenRGBPluginsEntry.h \ qt/OpenRGBPluginsPage/OpenRGBPluginsList.h \ @@ -813,6 +814,7 @@ SOURCES += qt/OpenRGBHardwareIDsDialog.cpp \ qt/OpenRGBKasaSmartSettingsPage/OpenRGBKasaSmartSettingsEntry.cpp \ qt/OpenRGBKasaSmartSettingsPage/OpenRGBKasaSmartSettingsPage.cpp \ + qt/OpenRGBFont.cpp \ qt/OpenRGBPluginContainer.cpp \ qt/OpenRGBPluginsPage/OpenRGBPluginsEntry.cpp \ qt/OpenRGBPluginsPage/OpenRGBPluginsList.cpp \ diff --git a/qt/OpenRGBDialog2.cpp b/qt/OpenRGBDialog2.cpp index 4c2e9a63..c1005af1 100644 --- a/qt/OpenRGBDialog2.cpp +++ b/qt/OpenRGBDialog2.cpp @@ -1,4 +1,4 @@ -#include +#include #include "OpenRGBDialog2.h" #include "LogManager.h" #include "PluginManager.h" @@ -17,6 +17,7 @@ #include #include #include +#include "OpenRGBFont.h" #ifdef __APPLE__ #include "macutils.h" @@ -24,82 +25,79 @@ using namespace Ui; -static QString GetIconString(device_type type, bool dark) +static int GetIcon(device_type type) { /*-----------------------------------------------------*\ - | Return the icon filename string for the given device | + | Return the icon int value for the given device | | type value | \*-----------------------------------------------------*/ - QString filename; + int icon; + switch(type) { case DEVICE_TYPE_ACCESSORY: - filename = "accessory"; + icon = OpenRGBFont::usb; break; case DEVICE_TYPE_MOTHERBOARD: - filename = "motherboard"; + icon = OpenRGBFont::mainboard; break; case DEVICE_TYPE_DRAM: - filename = "dram"; + icon = OpenRGBFont::dram; break; case DEVICE_TYPE_GPU: - filename = "gpu"; + icon = OpenRGBFont::gpu; break; case DEVICE_TYPE_COOLER: - filename = "fan"; + icon = OpenRGBFont::cooler; break; case DEVICE_TYPE_LEDSTRIP: - filename = "ledstrip"; + icon = OpenRGBFont::ledstrip; break; case DEVICE_TYPE_KEYBOARD: - filename = "keyboard"; + icon = OpenRGBFont::keyboard; break; case DEVICE_TYPE_MICROPHONE: - filename = "microphone"; + icon = OpenRGBFont::mic; break; case DEVICE_TYPE_MOUSE: - filename = "mouse"; + icon = OpenRGBFont::mouse; break; case DEVICE_TYPE_MOUSEMAT: - filename = "mousemat"; + icon = OpenRGBFont::mousemat; break; case DEVICE_TYPE_HEADSET: - filename = "headset"; + icon = OpenRGBFont::headset; break; case DEVICE_TYPE_HEADSET_STAND: - filename = "headsetstand"; + icon = OpenRGBFont::headsetstand; break; case DEVICE_TYPE_GAMEPAD: - filename = "gamepad"; + icon = OpenRGBFont::gamepad; break; case DEVICE_TYPE_LIGHT: - filename = "light"; + icon = OpenRGBFont::bulb; break; case DEVICE_TYPE_SPEAKER: - filename = "speaker"; + icon = OpenRGBFont::music_speaker; break; case DEVICE_TYPE_VIRTUAL: - filename = "virtual"; + icon = OpenRGBFont::virtual_controller; break; case DEVICE_TYPE_STORAGE: - filename = "storage"; + icon = OpenRGBFont::drive; break; case DEVICE_TYPE_CASE: - filename = "case"; + icon = OpenRGBFont::pc_case; break; case DEVICE_TYPE_KEYPAD: - filename = "keypad"; + icon = OpenRGBFont::keypad; break; default: - filename = "unknown"; + icon = OpenRGBFont::unknown; break; } - if(dark) - { - filename += "_dark"; - } - filename += ".png"; - return filename; + + return icon; } static void UpdateDeviceListCallback(void * this_ptr) @@ -652,21 +650,10 @@ void OpenRGBDialog2::AddPluginsPage() ui->SettingsTabBar->addTab(PluginsPage, ""); - QString PluginsLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - PluginsLabelString = "plugin_dark.png"; - } - else - { - PluginsLabelString = "plugin.png"; - } - /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* PluginTabLabel = new TabLabel(PluginsLabelString, tr("Plugins"), (char *)"Plugins", (char *)context); + TabLabel* PluginTabLabel = new TabLabel(OpenRGBFont::extension, tr("Plugins"), (char *)"Plugins", (char *)context); ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, PluginTabLabel); } @@ -680,21 +667,10 @@ void OpenRGBDialog2::AddSoftwareInfoPage() ui->InformationTabBar->addTab(SoftInfoPage, ""); - QString SoftwareLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - SoftwareLabelString = "software_dark.png"; - } - else - { - SoftwareLabelString = "software.png"; - } - /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* SoftwareTabLabel = new TabLabel(SoftwareLabelString, tr("Software"), (char *)"Software", (char *)context); + TabLabel* SoftwareTabLabel = new TabLabel(OpenRGBFont::info, tr("Software"), (char *)"Software", (char *)context); ui->InformationTabBar->tabBar()->setTabButton(ui->InformationTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SoftwareTabLabel); } @@ -708,26 +684,14 @@ void OpenRGBDialog2::AddSupportedDevicesPage() ui->SettingsTabBar->addTab(SupportedPage, ""); - QString SettingsLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - SettingsLabelString = "software_dark.png"; - } - else - { - SettingsLabelString = "software.png"; - } - /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* SupportedTabLabel = new TabLabel(SettingsLabelString, tr("Supported Devices"), (char *)"Supported Devices", (char *)context); + TabLabel* SupportedTabLabel = new TabLabel(OpenRGBFont::controller, tr("Supported Devices"), (char *)"Supported Devices", (char *)context); ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SupportedTabLabel); } - void OpenRGBDialog2::AddSettingsPage() { /*-----------------------------------------------------*\ @@ -737,21 +701,10 @@ void OpenRGBDialog2::AddSettingsPage() ui->SettingsTabBar->addTab(SettingsPage, ""); - QString SettingsLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - SettingsLabelString = "settings_dark.png"; - } - else - { - SettingsLabelString = "settings.png"; - } - /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("General Settings"), (char *)"General Settings", (char *)context); + TabLabel* SettingsTabLabel = new TabLabel(OpenRGBFont::options, tr("General Settings"), (char *)"General Settings", (char *)context); ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel); @@ -771,21 +724,10 @@ void OpenRGBDialog2::AddDMXSettingsPage() ui->SettingsTabBar->addTab(DMXSettingsPage, ""); - QString SettingsLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - SettingsLabelString = "serial_dark.png"; - } - else - { - SettingsLabelString = "serial.png"; - } - /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("DMX Devices"), (char *)"DMX Devices", (char *)context); + TabLabel* SettingsTabLabel = new TabLabel(OpenRGBFont::serial, tr("DMX Devices"), (char *)"DMX Devices", (char *)context); ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel); } @@ -799,21 +741,10 @@ void OpenRGBDialog2::AddE131SettingsPage() ui->SettingsTabBar->addTab(E131SettingsPage, ""); - QString SettingsLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - SettingsLabelString = "wireless_dark.png"; - } - else - { - SettingsLabelString = "wireless.png"; - } - /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("E1.31 Devices"), (char *)"E1.31 Devices", (char *)context); + TabLabel* SettingsTabLabel = new TabLabel(OpenRGBFont::data, tr("E1.31 Devices"), (char *)"E1.31 Devices", (char *)context); ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel); } @@ -841,7 +772,7 @@ void OpenRGBDialog2::AddKasaSmartSettingsPage() /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Kasa Smart Devices"), (char *)"Kasa Smart Devices", (char *)context); + TabLabel* SettingsTabLabel = new TabLabel(OpenRGBFont::bulb, tr("Kasa Smart Devices"), (char *)"Kasa Smart Devices", (char *)context); ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel); } @@ -855,21 +786,10 @@ void OpenRGBDialog2::AddLIFXSettingsPage() ui->SettingsTabBar->addTab(LIFXSettingsPage, ""); - QString SettingsLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - SettingsLabelString = "light_dark.png"; - } - else - { - SettingsLabelString = "light.png"; - } - /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("LIFX Devices"), (char *)"LIFX Devices", (char *)context); + TabLabel* SettingsTabLabel = new TabLabel(OpenRGBFont::bulb, tr("LIFX Devices"), (char *)"LIFX Devices", (char *)context); ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel); } @@ -883,21 +803,10 @@ void OpenRGBDialog2::AddPhilipsHueSettingsPage() ui->SettingsTabBar->addTab(PhilipsHueSettingsPage, ""); - QString SettingsLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - SettingsLabelString = "light_dark.png"; - } - else - { - SettingsLabelString = "light.png"; - } - /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Philips Hue Devices"), (char *)"Philips Hue Devices", (char *)context); + TabLabel* SettingsTabLabel = new TabLabel(OpenRGBFont::bulb, tr("Philips Hue Devices"), (char *)"Philips Hue Devices", (char *)context); ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel); } @@ -911,21 +820,10 @@ void OpenRGBDialog2::AddPhilipsWizSettingsPage() ui->SettingsTabBar->addTab(PhilipsWizSettingsPage, ""); - QString SettingsLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - SettingsLabelString = "light_dark.png"; - } - else - { - SettingsLabelString = "light.png"; - } - - /*-----------------------------------------------------*\ + /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Philips Wiz Devices"), (char *)"Philips Wiz Devices", (char *)context); + TabLabel* SettingsTabLabel = new TabLabel(OpenRGBFont::bulb, tr("Philips Wiz Devices"), (char *)"Philips Wiz Devices", (char *)context); ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel); } @@ -939,21 +837,10 @@ void OpenRGBDialog2::AddQMKORGBSettingsPage() ui->SettingsTabBar->addTab(QMKORGBSettingsPage, ""); - QString SettingsLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - SettingsLabelString = "keyboard_dark.png"; - } - else - { - SettingsLabelString = "keyboard.png"; - } - /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("OpenRGB QMK Protocol"), (char *)"OpenRGB QMK Protocol", (char *)context); + TabLabel* SettingsTabLabel = new TabLabel(OpenRGBFont::keyboard, tr("OpenRGB QMK Protocol"), (char *)"OpenRGB QMK Protocol", (char *)context); ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel); } @@ -965,25 +852,14 @@ void OpenRGBDialog2::AddSerialSettingsPage() \*-----------------------------------------------------*/ SerialSettingsPage = new OpenRGBSerialSettingsPage(); - ui->SettingsTabBar->addTab(SerialSettingsPage, ""); - - QString SettingsLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - SettingsLabelString = "serial_dark.png"; - } - else - { - SettingsLabelString = "serial.png"; - } + ui->SettingsTabBar->addTab(SerialSettingsPage, ""); /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Serial Devices"), (char *)"Serial Devices", (char *)context); + TabLabel* SerialSettingsTabLabel = new TabLabel(OpenRGBFont::serial, tr("Serial Devices"), (char *)"Serial Devices", (char *)context); - ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel); + ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SerialSettingsTabLabel); } void OpenRGBDialog2::AddYeelightSettingsPage() @@ -995,21 +871,10 @@ void OpenRGBDialog2::AddYeelightSettingsPage() ui->SettingsTabBar->addTab(YeelightSettingsPage, ""); - QString SettingsLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - SettingsLabelString = "light_dark.png"; - } - else - { - SettingsLabelString = "light.png"; - } - /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Yeelight Devices"), (char *)"Yeelight Devices", (char *)context); + TabLabel* SettingsTabLabel = new TabLabel(OpenRGBFont::bulb, tr("Yeelight Devices"), (char *)"Yeelight Devices", (char *)context); ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel); } @@ -1023,21 +888,10 @@ void OpenRGBDialog2::AddNanoleafSettingsPage() ui->SettingsTabBar->addTab(NanoleafSettingsPage, ""); - QString SettingsLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - SettingsLabelString = "light_dark.png"; - } - else - { - SettingsLabelString = "light.png"; - } - /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Nanoleaf Devices"), (char *)"Nanoleaf Devices", (char *)context); + TabLabel* SettingsTabLabel = new TabLabel(OpenRGBFont::bulb, tr("Nanoleaf Devices"), (char *)"Nanoleaf Devices", (char *)context); ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel); } @@ -1051,51 +905,20 @@ void OpenRGBDialog2::AddElgatoKeyLightSettingsPage() ui->SettingsTabBar->addTab(ElgatoKeyLightSettingsPage, ""); - QString SettingsLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - SettingsLabelString = "light_dark.png"; - } - else - { - SettingsLabelString = "light.png"; - } - /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Elgato KeyLight Devices"), (char *)"Elgato KeyLight Devices", (char *)context); + TabLabel* SettingsTabLabel = new TabLabel(OpenRGBFont::bulb, tr("Elgato KeyLight Devices"), (char *)"Elgato KeyLight Devices", (char *)context); ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel); } void OpenRGBDialog2::AddPlugin(OpenRGBPluginEntry* plugin) { - /*-----------------------------------------------------*\ - | Create Label for the Tab | - \*-----------------------------------------------------*/ - QLabel* PluginTabLabel = new QLabel; - - /*-----------------------------------------------------*\ - | If the plugin has custom information, use it, | - | otherwise generate it | - \*-----------------------------------------------------*/ - QString PluginLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - PluginLabelString = "plugin_dark.png"; - } - else - { - PluginLabelString = "plugin.png"; - } - /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - PluginTabLabel = (QLabel*)new TabLabel(PluginLabelString, QString::fromStdString(plugin->info.Label), (char *)plugin->info.Label.c_str(), (char *)context); + TabLabel* PluginTabLabel = new TabLabel(OpenRGBFont::extension, QString::fromStdString(plugin->info.Label), (char *)plugin->info.Label.c_str(), (char *)context); /*-----------------------------------------------------*\ | Place plugin as its own top level tab | @@ -1265,21 +1088,10 @@ void OpenRGBDialog2::AddI2CToolsPage() \*-----------------------------------------------------*/ ui->InformationTabBar->addTab(SMBusToolsPage, ""); - QString SMBusToolsLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - SMBusToolsLabelString = "tools_dark.png"; - } - else - { - SMBusToolsLabelString = "tools.png"; - } - /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* SMBusToolsTabLabel = new TabLabel(SMBusToolsLabelString, tr("SMBus Tools"), (char *)"SMBus Tools", (char *)context); + TabLabel* SMBusToolsTabLabel = new TabLabel(OpenRGBFont::toolbox, tr("SMBus Tools"), (char *)"SMBus Tools", (char *)context); ui->InformationTabBar->tabBar()->setTabButton(ui->InformationTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SMBusToolsTabLabel); } @@ -1400,7 +1212,7 @@ void OpenRGBDialog2::UpdateDevicesList() /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* NewTabLabel = new TabLabel(GetIconString(controllers[controller_idx]->type, OpenRGBThemeManager::IsDarkTheme()), QString::fromStdString(controllers[controller_idx]->name), (char *)controllers[controller_idx]->name.c_str(), (char *)context); + TabLabel* NewTabLabel = new TabLabel(GetIcon(controllers[controller_idx]->type), QString::fromStdString(controllers[controller_idx]->name), (char *)controllers[controller_idx]->name.c_str(), (char *)context); ui->DevicesTabBar->tabBar()->setTabButton(ui->DevicesTabBar->count() - 1, QTabBar::LeftSide, NewTabLabel); ui->DevicesTabBar->tabBar()->setTabToolTip(ui->DevicesTabBar->count() - 1, QString::fromStdString(controllers[controller_idx]->name)); @@ -1451,7 +1263,7 @@ void OpenRGBDialog2::UpdateDevicesList() /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* NewTabLabel = new TabLabel(GetIconString(controllers[controller_idx]->type, OpenRGBThemeManager::IsDarkTheme()), QString::fromStdString(controllers[controller_idx]->name), (char *)controllers[controller_idx]->name.c_str(), (char *)context); + TabLabel* NewTabLabel = new TabLabel(GetIcon(controllers[controller_idx]->type), QString::fromStdString(controllers[controller_idx]->name), (char *)controllers[controller_idx]->name.c_str(), (char *)context); ui->InformationTabBar->tabBar()->setTabButton(ui->InformationTabBar->count() - 1, QTabBar::LeftSide, NewTabLabel); ui->InformationTabBar->tabBar()->setTabToolTip(ui->InformationTabBar->count() - 1, QString::fromStdString(controllers[controller_idx]->name)); @@ -2069,21 +1881,10 @@ void Ui::OpenRGBDialog2::AddConsolePage() ui->InformationTabBar->addTab(page, ""); - QString ConsoleLabelString; - - if(OpenRGBThemeManager::IsDarkTheme()) - { - ConsoleLabelString = "console_dark.png"; - } - else - { - ConsoleLabelString = "console.png"; - } - /*-----------------------------------------------------*\ | Create the tab label | \*-----------------------------------------------------*/ - TabLabel* ConsoleTabLabel = new TabLabel(ConsoleLabelString, tr("Log Console"), (char *)"Log Console", (char *)context); + TabLabel* ConsoleTabLabel = new TabLabel(OpenRGBFont::terminal, tr("Log Console"), (char *)"Log Console", (char *)context); ui->InformationTabBar->tabBar()->setTabButton(ui->InformationTabBar->tabBar()->count() - 1, QTabBar::LeftSide, ConsoleTabLabel); } diff --git a/qt/OpenRGBFont.cpp b/qt/OpenRGBFont.cpp new file mode 100644 index 00000000..628bd352 --- /dev/null +++ b/qt/OpenRGBFont.cpp @@ -0,0 +1,39 @@ +#include "OpenRGBFont.h" +#include + +OpenRGBFont* OpenRGBFont::instance; + +OpenRGBFont::OpenRGBFont(){} + +OpenRGBFont *OpenRGBFont::Get() +{ + if(!instance) + { + instance = new OpenRGBFont(); + instance->fontId = QFontDatabase::addApplicationFont(":/fonts/OpenRGB.ttf"); + + if(instance->fontId == -1) + { + printf("Cannot load requested font.\n"); + } + else + { + QString family = QFontDatabase::applicationFontFamilies(instance->fontId).at(0); + instance->font = QFont(family); + instance->font.setStyleStrategy(QFont::PreferAntialias); + } + } + + return instance; +} + +QString OpenRGBFont::icon(int glyph) +{ + return QChar(glyph); +} + +QFont OpenRGBFont::GetFont() +{ + return Get()->font; +} + diff --git a/qt/OpenRGBFont.h b/qt/OpenRGBFont.h new file mode 100644 index 00000000..1563a774 --- /dev/null +++ b/qt/OpenRGBFont.h @@ -0,0 +1,54 @@ +#ifndef OPENRGBFONT_H +#define OPENRGBFONT_H + +#include +#include + +class OpenRGBFont +{ +public: + static OpenRGBFont* Get(); + + enum Glyph { + bulb = 0xF001, + controller = 0xF002, + cooler = 0xF003, + data = 0xF004, + dram = 0xF005, + drive = 0xF006, + extension = 0xF007, + gamepad = 0xF008, + gpu = 0xF009, + headset = 0xF00A, + headsetstand = 0xF00B, + info = 0xF00C, + keyboard = 0xF00D, + keypad = 0xF00E, + ledstrip = 0xF00F, + mainboard = 0xF010, + mic = 0xF011, + mouse = 0xF012, + mousemat = 0xF013, + music_speaker = 0xF014, + options = 0xF015, + pc_case = 0xF016, + serial = 0xF017, + terminal = 0xF018, + toolbox = 0xF019, + unknown = 0xF01A, + virtual_controller = 0xF01B, + usb = 0xF01C + }; + + static QString icon(int); + static QFont GetFont(); + +private: + OpenRGBFont(); + + static OpenRGBFont* instance; + int fontId = -1; + QFont font; +}; + +#endif // OPENRGBFONT_H diff --git a/qt/TabLabel.cpp b/qt/TabLabel.cpp index b4f91c72..fb8078ff 100644 --- a/qt/TabLabel.cpp +++ b/qt/TabLabel.cpp @@ -1,13 +1,21 @@ #include "TabLabel.h" #include +#include "OpenRGBFont.h" -Ui::TabLabel::TabLabel(QString icon, QString name, char* original, char* context) : +Ui::TabLabel::TabLabel(int icon, QString name, char* original, char* context) : QWidget(nullptr), ui(new Ui::TabLabelUi) { ui->setupUi(this); - ui->icon->setText(""); + + QFont font = OpenRGBFont::GetFont(); + font.setPointSize(18); + + ui->icon->setFont(font); + ui->icon->setText(OpenRGBFont::icon(icon)); + ui->name->setText(name); + label = original; ctxt = context; } diff --git a/qt/TabLabel.h b/qt/TabLabel.h index 68a7920d..40ab2f63 100644 --- a/qt/TabLabel.h +++ b/qt/TabLabel.h @@ -13,7 +13,7 @@ class Ui::TabLabel : public QWidget Q_OBJECT public: - TabLabel(QString icon, QString name, char* original, char* context); + TabLabel(int icon, QString name, char* original, char* context); ~TabLabel(); private: diff --git a/qt/TabLabel.ui b/qt/TabLabel.ui index 0b6db413..01e6e558 100644 --- a/qt/TabLabel.ui +++ b/qt/TabLabel.ui @@ -47,18 +47,6 @@ - - - 16 - 16 - - - - - 16 - 16 - - @@ -113,4 +101,3 @@ - diff --git a/qt/accessory.png b/qt/accessory.png deleted file mode 100644 index 3ce7cef6dc0b5dd493b390978c22481e248021e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1349 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!to-c^M}lmsP~D-;yvr)B1( zDwI?fq$;FVWTr7NRNQ(yJ$BL?HJ;Y{k*?DkR9cP{8Q6#3beuMyxvY9uy4uOTrSF4R z`ATk>&{|`+ApOvf*XJew9dK1G_Q;y&eNHf3Yh{7!@yC@@V}pHm?~{A9_;V8fcZS0% z8Bc4rRQ(LU@%3@*ahZ}mx0>UX--Iu4f1tdgl(?JXP#r}26cw9ekU6fR@V)MPm$BZXa_fHGt*}f=$w}?o;shPt2jYpZ61}d^mmDC7a z?lt*Xp0w$b85J8ArsnC~ewGxoLpN+v*us-+Rk1P~r1}|ZJb#>P{kA9d{Ph!t#p*kZ z6eV*1{0}&^pZA{+XYn>wLD&6To#OU{>0OF=62_~~u&}c5vhIh)F+Uz({&g^j)$y*8 zwcUnek9i6;YS-xAoWokz_3e(6$eMUY1;J-wD$YzyhLbf?yN>0!T)4=%LaBJ#5q6FV zTIDJyJz1Vl-1vEx^m~ci_^@+(&REQ5VEXOBle1wzgSP6?UmKr9IET7UUX^D0b%AU4 zv^kre&Cy-&ylz&6(bk-_yrZkS)x*!{y^Gr;rq^T~;H?+7XG)NEdsnAcQs|HH2tK+1cj^13*BuidERo23apG`WztO8BQL~LM zUzxewcYf-%*|%K3djI6iDhYh-oAvXiFYmR4Zyb)VEiNAAIbtE$aa*Z@^=x-!iC3ri z&Z9bF$Cd@SP1<#%#jjgJV435Z$$4e+PwG0N1O6-K{fU2a$mzTF3DyO_Pra4Ss{MOz ztM8jTt=^Y4Zq!Q1$1zvO+Gl+Yzg@ln8UA-%&}lFC!9VARw2JXOYnK)`Sq28i)=X#T z08eLUSjuN$sF+hb(c0s1fJoc_WnKJQd}RWKCjv@0Drg-ITpiHDwJ>cJ<=^fN9^ zShB-{YaJ`Qe0M0jczUdC46EY@#z!xnEP0`%I&Zc})RBq@MfU%y|IM#H&)QNoGc)Ws z%Yv8NW_let>Qff_rplF{i6e=}aAxGOIV!3TqvO9{@h%mA8u_obK5YK1%@P6vo#`_Z zZyk|7veEbUgFXH-X|9o~cItBGFPo0^$AsI|J&q}ed@wW7cmY4s&^Y3lux%cel(~DMKb3SpAfq{W7$=lt9 z;Xep2*t>i(0|NtRfk$L90|Vb-5N14{zaoW!fq}im)7O>#87CvNg|ynuIjIZ`4DOyT zjv*GOlT#d6|4Vi-_v}#VFl2D$6=rU2;Oy7^|MA1h=S>Ht*<6_2j4m;p+wx)loDEWJ t8y!|@{}Z0Q`k%1$ryi9XZK1jhN0^0J=i3O_GcYhPc)I$ztaD0e0sy1{Z1n&D diff --git a/qt/accessory_dark.png b/qt/accessory_dark.png deleted file mode 100644 index ab4a1e6d6a9d4e3637dbbad306ec04a92e5e471d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1488 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!to3#&pRN`ey06$*;-(=u~X z6-p`#QWa7wGSe6sDsEk!9ysZ-7LV)ytzD5!LL5hm3}&plc`*84%!bE)m)^ZwGI@Tw z78|$Xlj;VQE&sl6zbqf~=!!`y#+u;50=G`WFZ%RryeB`#? zmkYl6m;22x!v{v}`rFGk?RC%LFX`OF{v|ohadE6V=kA;`zUl>g@_J|J#xCD=BJBFz z!eyK4Us*X@-&2=9Uy{qgsb$(aT|CnE%;&slwz`@l;#Vr~N!Gowz4c1@tk(OP4ijcy zw`M81&UCky`L#r-h08~ZGx?My;qItMth@4xBH&yFSP5vQ@#1# z^|x=mIs#1IX`j02I@ge`k6Yz?afFNK4~<)y(|VHD?cjQHHgx-fkaIc)olG zTl%z1qte1m9H(%&Ts5zelA*+P3~6>P}7CREE4 znB1e;=e$m3zSAXDZ^yet6Yf;~A zOWtl=o@e{LDB$+WIxYWz$8%@-1Rd6wy^^qWik@PHjJnl~#u+SZA5AzC98V`a>v5jo zm}gKNxj{2z!V*5SD-{CFhc;}=c;0-MeP{cQiMO2ZJW($)xv;lchVgECp8AzrKjy8T zd}AAT`?7P%-xtnbj;ysdBad*-d?nHRU``KP$uU;p~J>hkr|zZ5@wVSD;xqwnwi zceB%f)Q4a8R=*hf?aS`H|NJ(--}6$JX>ZMjy^)J0`|4`S*_7KQUV)<<52EDBn;-m0R6ohzVz!C%%^ qg>!WUtS4QsIxDUWIuWwA`vcqOTKC&Ldu!uBZt-;Wb6Mw<&;$VT8L$%o diff --git a/qt/arrow-down.png b/qt/arrow-down.png deleted file mode 100644 index a0c0e1583417a99a7c2b6ae2c5de082674ae083c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107 zcmeAS@N?(olHy`uVBq!ia0y~yU|?rpU|{25V_;z5=W8irU|=xvba4#fxSrd0nv;Qn z!)ds7#6^_r17#J8BJYD@< J);T3K0RVzuAb0=( diff --git a/qt/case.png b/qt/case.png deleted file mode 100644 index 7a99dd55cd97fd4e9d5c35eaf9d834eade26bc31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_lO&WRD|Rvx z-B6Gzr(Nu8hb4nWdVywk<<^;zOB>RRH+wNg{^4fWvtwdD&nZ9V^U^N-Y2pXYmA_;E a&hY-IyhWne|A!0=3=E#GelF{r5}E*v&Posf diff --git a/qt/case_dark.png b/qt/case_dark.png deleted file mode 100644 index 27cf9f3655c344b56caba8293d1fc8bc559eca77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_lO&WRDHDk!sP`2=5>DRF{r?T3Z&78`*;|kM_;4A@aZkzmsV{uF$zFXgCX5iyiRSW9r Sw`O2qVDNPHb6Mw<&;$ToOhMiN diff --git a/qt/console.png b/qt/console.png deleted file mode 100644 index 32ee953aff2e52eeef189e044f3cd5ca5c99603f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5572 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!toK2(K7lmsP~D-;yvr)B1( zDwI?fq$;FVWTr7NRNQ(yExJ!ek;nCar0cYX+@7;V8gfBp6P`W~TJQ7yjE8V)ol@yS zrc(jpj~_3x?uoZg|IygpwRFN2o9T0u*M$TwbTB9A0&#>}~XupO%t~u8X=Q$~g%IZvODFVa@EOE2a%rT}euv3-qh!DpXW7 zHPnbK|8Z>f2cM_!E~Hm_G$1!%kWdeuKSZ&_gAPY-ide;)*H#-^!b$XUFMpp&$A0f1+Lhh>Epe& zLsn?^rJ2#%{VD9aGgf5upKn?-pNT{8T9}116O-X&jnuAVIW8TGoBdlSY*x9~&=9io zu(zL*WWk*4wJN{$76{7pMHOv)v~)_;#*EgYqqjwcv+h<**3I4Z z^sL$aQ(@AVmM>kVYo09^mASQedSCIP=XrOlUzT2Q(CRfQd6Ib8U9wc^>asH?rOz@i zr_cPl%l z*s<`1Jo=>vUvBAWOprQa^)l^y`yJ-(6E4{oKJJc*c(JcJCgO#i;`e#C*{}TiwKX&F zkY7e^oA!#p4?hzReK-|&z5mwq+aI>;?`es1(qB0Jg7*v6FG9cSTh#v9i2U*V&nv69 zXy3x0DN+m!j4heY&HNlJzMfZN%fz;=9Z3+4|d4E ze`ovd9;4IZLm`{9Wdcl3d#FE3GTW|IwqL1(p-S-Jh9f?;dQ-g)71!K7eEj-uiSwWA zzCV8v{7H?uM(Lx@W!~Gv(fWyLDeZk$;1 zyz}spq>ar_`O;LKRp%-7X{~bm>2xi%^|M&|)}Z9I)t|)MKHWNHbUl+#vC&mWkyX$r zOJgw;w_%iNkk67#`*#oJOa5pUoqVFzJTaLubj1W2`ycXu-d)r2@!R3K&_bYM zx_?3sFfa&2XNE+SMELqxCFkerC8p#jrRr7W7BGN-jeSKyVsdtBi9%9pdS;%j()-=} zl@u~lY?Z=IeGPmIoKrJ0J*tXQgRA^PlB=?lEmM^2?YL|ztSWK~a#KqZ6)JLb@`|l0 zY?Z*~TICg6frRyy6u?SKvTcz9|8>y;bpKhp88yV>qrKIT=SLT%@R_NvxD}#)H znBkIIoLrPyP?DLSrvNfDF)6>a#8yd(OF=;aYItTrNwRB23ETn@A8dSaNs7K_K}oVn zMQ(v>MTx$Vfq{jtfsw9}r9QI$irfNUU%2kPVrVEP=jZBIBo^o!>KW+g=A!5*E^#eG z*oRd|aY$uBs(w&vaeir0a;j@tYF>#lvZVz%rNzj0mKLXiguw33NlDYM$c5O9tjFEc zHvp~&6pZPaxdmVyAl1k!QN7U*SWrdXL9B%7OB z8k^}FCK{XTnwT3H=_Z<+r|B9QSeT|5q?ntgCYvA`;a`-Qo|%`JgX}7hQ7M@zR!N45 z1}2t?Cb}sWDdxH+CI%_GiAE`wx~T?+#ugSvX@&;IhG3&W@nGc`;AyL5q-TH-3CKw- zNy{(FwN>)T%qy)xNQ7kOrUsWJf&$IZ%-Gn(*x1a-!r0Qp(7+g>C@i(8I5R&FWTv5k zo)N^~DalrD`9-;jCALbLxryni`UQFEU@f3%vGOmXBJol3!GbWPfmKA%q9tm6U$Olz)_teco>n5b)+Y-nj=WRR4cW|W9(dU1YQ zNqJ&Xs$+U;UWu)eduDC{IGzlj7Ull2(Fau!u;{V@6`{VqR>%=* z11e&zJV7}rxU`@kCo{DO61CujADmhU2^kxG9O{ttgY!*3LG8%OAiACN3o45;(=$r^ z%k%JBk3}KG1fR_0)VyN6b|Wi+1Pf9#DHkiZqCubn z(;5Z_hB!|b#}JFt$q5n}2Re@Y^KXos#M`hs^^j6#i}M_f;7Umei85mYgDrvvPwed+ zQ`y+slzDh~Y%6$v`g>fM*x2|`mzmjFU#i2c2w0S`}CKbLh*2~7Y)o(8f2 diff --git a/qt/console_dark.png b/qt/console_dark.png deleted file mode 100644 index 876eebe0f3d0450660c4c58fd87aab62508835a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5590 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 diff --git a/qt/dram.png b/qt/dram.png deleted file mode 100644 index 1353b020f4fe44f8bb5795a53fd49a451df12ba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7Ogvp2Lo7}wCrGgN@bK{b z*EDSrV*Y2mP|`_FVdQ&MBb@0G$XYl>h($ diff --git a/qt/fan.png b/qt/fan.png deleted file mode 100644 index 20ecbb0c68f2ab7bfb6bbb1853445fabc5836cd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7vOQfKLo80O4R+)^puoel z`G5V)*lj5u%q_5c*mXs V2K&iOeGCi?44$rjF6*2UngGn{Jr)1} diff --git a/qt/fonts/OpenRGB.ttf b/qt/fonts/OpenRGB.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a7ada68f2839b330881f7f14ffd3970e8864d36e GIT binary patch literal 7732 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 D2DqWP literal 0 HcmV?d00001 diff --git a/qt/gamepad.png b/qt/gamepad.png deleted file mode 100644 index 620c56145f445abcf37d7356b72218108fe18330..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7!aZFaLo80;4YK58P~c!b z^nZVhIQyccULLhF#mt?KPfWK&tNiIW>CZe0;m>Z$y70wztX7t~`sb|foG0I$V+sqiFA7>_h%+!S OFnGH9xvXCuh(8euicZSq7Hgzgrm?7#KWV{an^LB{Ts5ug@xy diff --git a/qt/gpu_dark.png b/qt/gpu_dark.png deleted file mode 100644 index 0a690e00188909dfb86fcf7524b682206ec89bdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7LOop^Lo7}o4RYjSP~bWB z;(z=$Z&p^ZvkLl+$R<%ksP_REu485kHCJYD@<);T3K0RY=DH2?qr diff --git a/qt/headset_dark.png b/qt/headset_dark.png deleted file mode 100644 index 08f1cfe083263ba1ae0301f9d9b06e0d146773bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7;yhg(Lo80OoqSM;L4n03 z`ttw(pUPfd@KCheg1tk%~RQewr+gg7e2cu z)3teCZwd7Nw3*&by4e2_=-oAahD1_lNOPgg&ebxsLQ02+xb5dZ)H diff --git a/qt/headsetstand_dark.png b/qt/headsetstand_dark.png deleted file mode 100644 index 9bf9d3e767969270dc4ad86c49761aed69c6f637..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7!aQ9ZLo7}oophUvL4m`$ z^#A|!-$YpM8J}3*k-H<<<#6KbAeSQ|#@eVJLo7}wrySt@r@T>8 zQiI|DM^7We01gSxn+{#VCqF)~S5tBRr!48F<2xxS=Sw}CQLfv<_D=2-eoQ?_RKl4! d3s*2R6sOyq%e?Vlkb!}L!PC{xWt~$(698p2Cd2>$ diff --git a/qt/keyboard_dark.png b/qt/keyboard_dark.png deleted file mode 100644 index e400d29dd57a95d8341a8d3209fd407638286aac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7{5@S9Lo80;oovW=z<`5! z=b!)Qr)y?~sCsdGUyXjlD9PrW6Cf+6u<4AWc9h7&Ee}6-&Q!Q+#&f{-&61C46-!r5 pKiT&8Ns|}riLwQMldDk;>nX2bx--Rf5`=E+zB7Mu^vT&gA3Be0_A%FaRQl+p zulMsk{xWH*o{Dzra>g&3j`YV&kF9$gQxfrDW}@=sS;~CE-AB!)-JUU(XKF>4#iA8b zPq`zfi=K;~bG2xy>HCxM5~s3HXRf;}<0RAVp};9% z{ZqR%;o0ObQQqA$jJCHA94+;p{Jr6{Y{CQ2={zSV{xNBFVyv)VoPUb3cDqBt)wgSR z_FraKaE{fz%fQ}#AYo)i9UcGmFfBLMye;K;(7Hy2K7FTCrU|>t~c6VX;4}uH! zE}zW6z`$AH5n0T@pr;JNj1^1m%NQ6K*h@TpUD=;;i3lkeI{mtNfq{WRvcxr_#5q4V zH#M(>!MP|ku_QG`p**uBL&4qCHz2%`Pn>~)!QRuwF~s6@a>@bTf65yrB{dlSfAlmm z4B(LP+}JCj|5yF0w-1ZR!$luw{hKf3+;QFVdQ&MBb@031mI4FCWD diff --git a/qt/keypad_dark.png b/qt/keypad_dark.png deleted file mode 100644 index 0becdd39b62b39cff93446115112305196a8733a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 627 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7TQi-V13aCb6$*;-(=u~X z85lGs)=sqbIP4&EG(LD~kXDnJpx~K+xjG$P7G9#=2@AJ~MwJ@u{NkK(X~L2n7F_FC z+3m$v^XZ-2WwnE==>dDk;>nX2bx--Rf5`=E+zB7Mu^vT&gA3Be0_A%FaRQl+p zulMsk{xWH*o{Dzra>g&3j`YV&kF9$gQxfrDW}@=sS;~CE-AB!)-JUU(XKF>4#iA8b zPq`zfi=K;~bG2xy>HCxM5~s3HXRf;}<0RAVp};9% z{ZqR%;o0ObQQqA$jJCHA94+;p{Jr6{Y{CQ2={zSV{xNBFVyv)VoPUb3cDqBt)wgSR z_FraKaE{fz%fQ}#AYo)i9UcGmFfBLMye;K;(7Hy2K7FTCrU|>t~c6VX;4}uH! zE}zW6z`$AH5n0T@pr;JNj1^1m%NQ6K*h@TpUD=;;i3lli=$|x>Vqjp9EOCt}an8@p zP0cG|a4t$sEJ;mKD9|HRu!;m4CSJ=*VN5-CI!k2ok3nZBcnStZU|?|fba4!^IGvnwfcM|x zkCKue4F5Ytl%tFSjhD|^;!-vO&L4;N5ZR6E7{X`4G3j h)5?LLeNQ1jgNmjA`@htKkqitB44$rjF6*2UngGFnHQfLJ diff --git a/qt/light_dark.png b/qt/light_dark.png deleted file mode 100644 index 385805bcfc8e7db6bb81b00a5e45609490676b0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PXNr}OT51_lPs z0*}aI1_r*vAk26?e?`sf6Ha~+W9B6LeWnZy3_hMNjv*GOj|Mq%F&J>1 z`u9J*T-I^+nS^^?Q?>~3dK9f^R0s(vx<2{jCJ)&Fvy+o&JlZW9;Cy;Uo9Ls{lDXX5 l8197s%TN5rpT)QRwthph{o}MZv$;VI@pScbS?83{1OQnGJW>Dv diff --git a/qt/microphone.png b/qt/microphone.png deleted file mode 100644 index 6f344dc7ed6828666a9ee9c155305ef2e81161b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1513 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 diff --git a/qt/motherboard.png b/qt/motherboard.png deleted file mode 100644 index aded29d4645e700d404e01cb31aa323ca5e39853..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s70z6$DLo80OoqUj!!GMEV zf9db_IpP-<`Lcd2R|#ZgNwaK-;MAC;Hk08^)0%aMp8nd-_}hKM{cQ=+J2V5?7c_?M q)w=L@!WW?*E{%71yf%G3$1Z+aO#X7-{uTxX1_n=8KbLh*2~7YX!7(5J diff --git a/qt/motherboard_dark.png b/qt/motherboard_dark.png deleted file mode 100644 index 5fdc9325037c47c08db3a27d55fe31e824a53548..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7qC8z3Lo80Oo$ScRpvZA# z&By=o^Y#ictxJ2N^)e(tCDY<5gGy%FgsxN11vhCK9a#BLChcZJD*v~eVsEtH_&f@W zI`%r BH{<{S diff --git a/qt/mouse.png b/qt/mouse.png deleted file mode 100644 index 5b53631a1a4440a3bf28e5d600cc8afa331098da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7LOfj@Lo7~T4K@^FP~e!f z?!Ud|?Wmw9Suc`Ajs}ZtJKW3M^TlbwBlAm>Z#ZrC-XqR1)Bll_;MWBbuQ)hjIR3t0 u&i;9Q?;C0;7+%pbn^YbKHj05R9?xfUaMuK@A5VLS(2#yGX@3*22WQ%mvv4F FO#ljyHi-ZL diff --git a/qt/mousemat.png b/qt/mousemat.png deleted file mode 100644 index 0e482aac2ab866fd841af978698a1c35fab06fd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7;yhg(Lo813oqUk*fC7he zeDDANr|%|;^E=Eq_O)Zn1-7Hyo7poJvnx-q9G-XgC4-zyQranAZib$wH4QKN94s_f zevD@Or?nt&$8oWBoI9$ejX%C`S+Hg&S6`O*+`8xNpHB(P=9ykdVqjok@O1TaS?83{ F1OU}0IGO+e diff --git a/qt/mousemat_dark.png b/qt/mousemat_dark.png deleted file mode 100644 index f1a7b8a93d28665a9559064a06e11405898c376a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7(mY)pLo7~j4L;3xz<`74 z@&EsucAr_oe&j2v@o0&ud!N z&i1@JmFc+ck6Ba7qi1|dU@K<{Svi$|-LHP}wI5gYU%t!C@Zg=5eR{YLx7Lc~Nem1O N44$rjF6*2UngE7{JJA3D diff --git a/qt/plugin.png b/qt/plugin.png deleted file mode 100644 index 76bccd20d29655fa11569816d836fbcc5f48138c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7+B{txLo9la2A$?>P~dqj zP=8?c|NoWueD*|cX5l&au(|o$A){TFdLNc^oV?rI@nnN{I)i|x-n_u4?&|goGjz6J zTUol`$kj<6yO`!R2Nx<`I{i9S!(*Y-u9m3PEA6uuzP#GpA^B*nbaec=1t%N-vX-m$ vrv+@8w0*Xm;OGUTYPRyHrOY{+I{U|{fc^>bP0l+XkK4R=l$ diff --git a/qt/plugin_dark.png b/qt/plugin_dark.png deleted file mode 100644 index 434b8f0821c08197e5e04b1a75c3512b4714b14a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7>O5T>Lo9la26=Kd81T$l z`IR~D@BhzxIPdkaM0MOEJv{%$Q{n*I3gCUMd-XQm1WI6)_1B0ilpUXO@geCxjP)H&G diff --git a/qt/resources.qrc b/qt/resources.qrc index 5b1ec874..65e1f48e 100644 --- a/qt/resources.qrc +++ b/qt/resources.qrc @@ -1,62 +1,7 @@ OpenRGB.png - motherboard.png - dram.png - gpu.png - fan.png - ledstrip.png - keyboard.png - mouse.png - mousemat.png - headset.png - headsetstand.png - tools.png - software.png - dram_dark.png - fan_dark.png - gpu_dark.png - headset_dark.png - headsetstand_dark.png - keyboard_dark.png - ledstrip_dark.png - mousemat_dark.png - mouse_dark.png - motherboard_dark.png - software_dark.png - tools_dark.png - gamepad.png - gamepad_dark.png - light.png - light_dark.png - arrow-down.png - arrow-up.png - plugin.png - plugin_dark.png - speaker.png - speaker_dark.png - virtual.png - virtual_dark.png - settings.png - settings_dark.png - serial.png - serial_dark.png - wireless.png - wireless_dark.png - console.png - console_dark.png - storage.png - storage_dark.png - case.png - case_dark.png + fonts/OpenRGB.ttf OpenRGBGreyscale.png - microphone.png - microphone_dark.png - accessory.png - accessory_dark.png - keypad.png - keypad_dark.png - unknown.png - unknown_dark.png diff --git a/qt/serial.png b/qt/serial.png deleted file mode 100644 index 28440e7277917a06706b27a5281c94a2879a0aba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135 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 S#mC%110J5PelF{r5}E*<(*Vi< diff --git a/qt/settings_dark.png b/qt/settings_dark.png deleted file mode 100644 index 2fb3848f901cdf77dbd3bc6f4b2d80cdd1e5b945..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5583 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!toK30W9lmsP~D-;yvr)B1( zDwI?fq$;FVWTr7NRNQ(yEw}HE0#Doj;x0MH+Y+-M3vdMGUwHhzwWcJ!Ed180-^(wx za2oJc8rJa`C;tCh+#-REi?}%D`Co{vIKC-KFE4-k zhPUpw*H8UX*dE!b`!@Q?&uSx=_1Zm$_HcW;oITXeY?RLxbTROX4kt5bY7~#Dr=6{% zgI!l}&EwFDWkug#2>%uq@!9rCi)00 zp2?LMc0bTgR4RFyP2d;nun*noLWg=i^R7v-DwwRZxg`2vwN3ow)eQ^Q8CZ)&JTCLd z@k-A-Ycq*8${^sP-0h|{^O-mVpM_a8ukjZ#?hIO%amKC1!ses_MTf{<(s51qby0bWb<$5ca6~=FX!+0=&I*aa^F$Ur)2(w>ho`zvugj{+M{edA889nh&$Td^P*?mRo<}^b6iERKEySaqeyTC#@*?<8#0V^}ptF5{r85 zE$lupFfcY}Iy(n=Iy=J>KLbO>oZ5-D9)}%dj>boOhidVaX*`;+&?<6*)}s}n8cwYN z+FM>F6ulHT$@B<{kzu{w)GXf}$}XNBD;vY=_<{Mz*|VM(UA_Lq2W1F8K3Hgf?{4*- zz07~kY6YL2$LVlYM|rXr*Umqy1gcyG0>3bNc$~TN+{KXh{Kry$`S|ybY)=2aGe6lu za|X``&Lf+B%yk~|K6>fv{d|wVOk%31qMf>&`HQ9_{V~&H>mJ7x-8gTo>}F={FQX{t z6{}Njs4cDaQKZl((Dc;z=P_Xx`GsMtORw!yuTR{uV69H^+-Dp?5l4hvI3@(TvxY`= zTwXOXNy+)QC;$HqkHt@_PF~IA*2j8ffm6|+2lXFzM{l;6SupvKr^1h<+wzMYGQ=}X zbAJE6u`OEN;eq6iOIH7)glGIz*?aL~lKX)NW(9?JFFvt-P{iJ0_i~b=Wl+Pi{Shqp z&cB%b>A(fu3;UmayLRvROXdkn*IhC{a8S`8Y|)$2{_^i--@m<|SypfFQB^eUsd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhJ1(0FtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+I!W-v9;Y{GwC^6Fn0>16|jO%rYY-J1zyAqLehNAQv~N5k)C! zwn`Z#B?VUc`sL;2dgaD?`9gg z98y`3svneEoL^d$oa$PZnpdKXY-vGGX)&^$rNyZrA+Wo1QquG*av?S&>v8w=4S?$b z1!H<V~QDWtjpA6OrR-Bq*2hLC6TTDp% z)g!aGB)_N<$^PKfLI@Ayt(;77P$?*Y3jwRdWJvHACzhqAfTKnMCY79#n3tZKVygtr zYB2FkEXg=A(a0>t+$d2uHPI|l*Tf<%SvN7&Fj3bs+0fF$$RH^>%_tGo^y2)qlJdl& zRLAtxyb@a__srY^a6Bt$fK#6)s_OEL)I3`yZ381K0|O;U^eWKOKSsuB=1B&I=DL=~ ziAlO9rfEjHmX@Zex`t*J7HO$zX(lN~$*3-*+&?z@pb7#OT{fU1)YsPvIYMnfMXZ%4 zC?^G%78K-UrWQe>7M$>dQwt#>W228l9g==t~ zc6VX;4}uH!E}zW6z`$AH5n0T@z%2~Ij105pNH8!ku$OrHy0SlImEdF-O0ndb$iTpm z>FMGaVsSb-LE_2-dyxmhhg+P5we^@U9+lwKJisO)DJfaFlVR@u*^P~f%CjWoBmW&! zJ=fxV&{8Mu{P8paVa|z%JOZx>eqjm`+%>)I|NsB>!kdo$|Np-@*i@>pvQcvO=FY7R eOP1JtU|u9}y0^!^h_U4!pPowAvKyr78`z2@w)BiK9_OZ+E)sbSQu(W^H-GazLd3SjpF6%CWqix_gYrH wcq$NXJXd9}aYyW9PTxO?#agk;e@|pqb+Az7Nq_W{fq{X+)78&qol`;+0Jt49%m4rY diff --git a/qt/speaker.png b/qt/speaker.png deleted file mode 100644 index 66e124522b0b60f8fc697e87518811e2c791be81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1685 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s-SgJxIN`ey06$*;-(=u~X z6-p`#QWa7wGSe6sDsHU}i`?{Bf#=V4&1W16iqjr97={)%TmCaKE0odK*Ec@DPC_R| z_pVdRGyDD0e-9nKCQ&4{$p4;njNZ;8l9My8Wy`KDJYBqJ#_=bvez%#NRU}etzka@O ze!}a|%@5l4>^Y_BbJ$O&O>SDd@{4K(q`?vgI zT&}pis`q}=B|D|lv(xJqRv8_9vtG7t?bRE%_M}aptA60Adr*JKG)WQe2Qe2v>|n0z zs*HHoVm&KIZ9~|^EXCjtlXRGGrp;Yzc028P>YO(%0`-MQ#nWb~#FI&Pe+&aL@rOEN2uM850V?P><>*^S98_L37fTj(Vm(9#TdIq7$#dCrNu=KDCyE~Y*W?fJ%} z6tagUV6sZH&hsmkZ?<;`om#TUFLWFW`9g3|os=HQP zJT8#zW2o-eWVUQd4VUJ!DMf9U-x%ejzDVcb64zXp@lkb3M9@j$Q|U#M{pz@a=Ukei z9lkPyF{GB)^jgU0ob)M|-lWa_EAz}^xuyA)sL9V}nca8l*4?^iqgh04>e~}{uCKXy zP)gsWbnk~0-bVs*YB~Apw=9{H-{?s2&t()bDL?14LBFu#J_G`(nR-W;EHw^kw&g z+=PdY(pl*l>lAi6G-Su}e%1M;_$9q5zv!BwX-U{__C5^rTqlUhzA& z?}fH??ya98+nr1LD=M91o_C*PSv&i~Wm^yP*%w~5w;wnfcl%<2S#we{J(j-P%Z*Y-El;cl;bX4%@XvhV|IcV1rj=gfEMgW4Hi_WSEo5I5TlTZJ_+VmVdRtFP(L4(m9kE*xdC6fWA&)X2ZCI2wML#7b z%p$)q>~!e0J?iy|2Fuqj+2L2rVW^|n$KrBg#iAA?9hZ!&9)=T_{9Vyrf8nG03DwD~ zS={O>_%)r2R1cVu21sKjD&PmS_Hdy>%4>14E;yi(`nz>8(N5 zd=82n%#WY_?LXDitx~HM)_(m+i$Lbj5Y`J(#XB2jW*#y9si3qd_*VM~^~jDH?ul)a zRy>YyZ%u8{=rEj6;2!4rTSSvF+g7z<+H~zbJquoR7nYkEFAu*lGplQUjl)NI#$U3J uZ>#=_m}L|{j2v@o0&ud!N z&i1@JmFc+ck6Ba7qi1|dU@K<{Svi$|-LHP}wI5gYU%t!C@Zg=5eR{YLx7Lc~Nem1O N44$rjF6*2UngE7{JJA3D diff --git a/qt/storage.png b/qt/storage.png deleted file mode 100644 index e61a83db3c758db311250ca965d20ac184284227..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2930 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_rK<%#etZ2wxwokg&dz0$52&wylyQ$U=n(-v9;Y{GwC^Gd%;{WCH_J1#?S1Lo*XoO9LGRBLgD? zeM2LC14~^)Ln~8rD-#n1C{VIfuqjGOvkG!?gW6S;l4h%vQBqQ1rLSLJUanVete0Pu zu5V~*X{m2uq;F)TTa=QfTU?n}l31aeSF8*(!6mggxhS)sBr`ux0c2ugQhsTPt&$Sd z*oxc&xUqS~&|pf=&(*I;EYLU9GXQxB?AMfJxVnPUq8za0Darb&IjOm+c_qdAhI)o@ zwFMdZCHch}`8bS*OQTp&kz3&F3%3KSTXJ*ZRuq@GmX+XFT^v$bkg6Y)TAW{6l$`2X zmYP?h4D)tzNl+>xJh57asy!$*4X(K)GYyAckPM2aQY$iXC+v6^xAZ3>7rOGxJjN%ZoKZet>F7bxABqwN)}QFf!CNFw!-$2r)FWGBUF= zGS)RPwK6b(DD}-x$xN$6R%)zkU>ss(WMyJxWo&|?G_@o#C9x!tpyHHdtF-*0+{6-F zrOe#K^i=(VymTc6c+6Tk=jY@X`R1pj+A0|%i+egd2NdO}W#**XDisI0J1Ka&I-40< znwjYu=^28Z>+5UfnO9trn3tUD>0+x?kz1gbnVDi`Y>}8|VrFirn`U8Xq-&gNVy>HH zX_%&KYMhv4Zf;;{VPT#G)9;d>Tnb8+ApMXGnv$QKnPP=-p1E1FsYPm1nr@1Pg@vwx zrHQ$&g{7IPuDO{-TAHDuk+GSX5zI9IqRjNnyu=)2Q$emu$xN}bOfgEfOtvu8O-e~L z&^1dnG1av&H8j_?G`BD_H8C?bF*Gn&QUE0jEB~U*)Vz{JP)4*>GK307fRblUDMZlR z$iTqBK;IBVLgga~$Rngf^D;|pm5h`WKnV*H{J{l@$*Ewwz+wTJ6{$H9E}6NhdBvIe zdA3T1W>D2&nMhO_P;m#!kyaj=#U=SgmCynyIJFSU%E?p!XF{vQWQg;VK}k3@MF}dL zi6s(=3oeMUEVs4yhYzgx^veUs?&CtZk)Xd5do-4_5Iy6|5GZORC zQ&Vh}^p(i>Oj4p*s-d}YvaW@RS+Z`Dg^8(dQc_ZqZjxnUqDhKzl93S}&!CqZH1Q3)b;3KEMFb5l!Fi;8WP(u(qP6%q>yax#;_IZMARF9lkO!85x;NxlN2jKUdc zDXB%7NNE7s7Pu1>sAwO-6h~Z%2MK+Q6i2&A(g(F7AjN<_xXwl@As~DgNJzSY;s#vN zT45^-h)sh*scBXzNCi4+MK8qud`gROP^tlY9H}{Fr(gpX3UYA+F~KcAP%F?*0nxln z%}cRWDpInyJ0`oepMim4f~SjPh(+(zAVFuY(Y~D?Jz~69Ln0IsYLnX=1nTLHC7*dS+zA5iGtG7zfX?ggE zEK3hF=hbIV$oz4d+F1HOCc8kPQ}XB9*0zNYP9*l~&5k-yn)mmVQM1<9J_pITX};Tz kP5pX)y-m&U1z|fFfALs3F31#}4r y85}Sb4q9e0Nm}bqW}N^ diff --git a/qt/storage_dark.png b/qt/storage_dark.png deleted file mode 100644 index 5bb9937ba7322db32a9f91c2a6faf3bda4a13c93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2915 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_rK<%#etZ2wxwokg&dz0$52&wylyQ$U=n(-v9;Y{GwC^Gd%;{WCH_J1#?S1Lo*XoO9LGRBLgD? zeM2LC14~^)Ln~8rD-#n1C{VIfuqjGOvkG!?gW6S;l4h%vQBqQ1rLSLJUanVete0Pu zu5V~*X{m2uq;F)TTa=QfTU?n}l31aeSF8*(!6mggxhS)sBr`ux0c2ugQhsTPt&$Sd z*oxc&xUqS~&|pf=&(*I;EYLU9GXQxB?AMfJxVnPUq8za0Darb&IjOm+c_qdAhI)o@ zwFMdZCHch}`8bS*OQTp&kz3&F3%3KSTXJ*ZRuq@GmX+XFT^v$bkg6Y)TAW{6l$`2X zmYP?h4D)tzNl+>xJh57asy!$*4X(K)GYyAckPM2aQY$iXC+v6^xAZ3>7rOGxJjN%ZoKZet>F7bxABqwN)}QFf!CNFw!-$2r)FWGBUF= zGS)RPwK6b(DD}-x$xN$6R%)zkU>ss(WMyJ(WoV9~G_@o#C9x!tpyHHdtF-*0+{6-F zrOe#K^i=(VymTc6c+6Tk=jY@X`R1pj+A0|%i+egd2NdO}W#**XDisI0J1Ka&I-40< znwjYu=^28Z>+5UfnO9trn3tUD>0+x?kz1gbnVDjhnqrx1n3|NVYiew6uA7!@lA>#o zYHX=%mYSHDmS|#}Xpo!=)9;d>Tnb8+ApMXGnv$QKnPP=-o>{VKa-xxmv2JpTMVhW< zs)?y?Vq&tPu92llQnI0exuLlQB=CHFt^A8J(=+oDbC691xhf?y#mX|pDA_XE!caFU zCDB0F3}lXlsiC>9rMZQfsfn4fiJ^hHk^(4MfQ(7aD@g=pL|Y|8s9*#rdFGTt1kH^M z3=9nP4M8MSK9YbuLOL`rv&2@(NJ#;dupq%7T#%TY3bqR@7LZwyniJuYnVXtdoSC0z zt7K>fRSlMjM3n&*cc2_;<&jxjl3!E_Es%m!3!$u>Oa*Wzv`S2dI6oPbgi}+Lpu(A0 zB9XY@f*4z#k(!4$X+xA1=ckpFCl;kTrl;nW5X?IIxEx=cScc!}Cdn2S$tDISx=AKU zrn(l%CKkFD$%z)a24+SU1|})y#)-z3Fs~y!9h}t+O{`4KtPJ6~k{qW)gEcuLF)uwe z#a2mQiG0r_o2D2UC8k>HnwX}h=q4tb80aP@rw`l$vIhf>fZBR`f#b&!@Bq2c;UY$B~*-b_zCNp&%DG5EI<;1GNI}6cEkJ z)Vvg1r6MJJyQq?sFG7QeW@ha zcryF@Btb2uP3Z?&_e{@?6gqIwkzu-u)>N+#Tra=j0_C#{&Dc$`H_Ew Qfq{X+)78&qol`;+0FGuNYXATM diff --git a/qt/tools_dark.png b/qt/tools_dark.png deleted file mode 100644 index b2813d4d13c08136f8dcd86c394230bd8ad62602..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7oIPC}Lo7}wCoB*!5L*4= z|NsC0AI_4Hl=L)Wh&0}%*t0_&{|`+ApOvf*XJew9dK1G_Q;y&eNHf3Yh{7!@yC@@V}pHm?~{A9_;V8fcZS0% z8Bc4rRQ(LU@%3@*ahZ}mx0>UX--Iu4f1tdgl(?i+8aN1j*Rd^&mB&r2M0^VvQ2i`RSqG1+)W^5g4e@RqZIYyw8b-ZidMIYH(c1W6+&5jQkuH_4dxv$1`5+jQ$>1B`d<_*EO-N&nD-G#$vxUTQ!Y+=T_eO z5}CGlWo*d)Df1V&iJRVAGHw3dD+#=5{Q_J1gk#S*^awZZ&}E9auxEzr@+lP)qt7HI z=5VE|tnBuEv897CQR;}*%e3!~@7i~;ewBZ8?7yp?PRah}7=~Tz@9bN6?fUze+egmD z?l9?Xy4(Koq3MR}Ul)hfZ>?poLV~~KS!Vrs%=llVZ9n6ZKl6+}FgZf z>Ff+k_6!Uab807AdmIiBY5Tvdi(iYcOrY>YK?riBm7NPsc1b?O_qy$ik^45)$YnX|`y~>m?B$7c1`^ zw}0|WwMg@cR^!BEM$wE3vGzaY|IAxEb^fd`lbi|{d_G!e=hm<;c0pkAocGDcGv_cI zOn=~&|5Lj(;o0ObQQqA$jDK$*I9lo*{H@`%Y{G|=6MSz@ZQ9aOBUfR+IR6wA^LB^# zv&^?Yv-Fd1FgdGL$t)wow3zi&-1o}z^51vanM1_lQ95>H=O_Gg@oER5U+OU3ON7#OB|x;Tbd zoIZMCBbQ^M#IcX^vz5{(YHyf-a!pJR&$@#l}Z(P69;P&Ry{u7I9Xa8!s|AA#z Wos!O(uuvnApFCatT-G@yGywo5NSNyY diff --git a/qt/unknown_dark.png b/qt/unknown_dark.png deleted file mode 100644 index 01604653b63d3e0b13eab811b0af2a3c93756e3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1547 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!toBdS6oN`ey06$*;-(=u~X z6-p`#QWa7wGSe6sDsG*fo;&HW22b1n;x1bzA&$<+2?n9X&9?vcC0NVf^*pcgF=XvZ z2_0_5{rx?=@BVtf{@uTW2k*IyyXrojV$(Mx`B_ur&$lN&``DfPT=%g5;M}{hc?Ld= zwKw#(zWK*mw$snz+JdL|-sS8+yp7#T={@7&2+5tl%Vw***>h9#UE`-+yg_DreM=v% zUBCOWPwM}xrETA~=$oy(yH-&vB#UYNfjw+9p5NTYbLdB*#*5E3!hbZ5}T?t7JYIaSyp?TUwU=;5=p(?PeTb!}{sj>i7#8Ph}UmDnG7>Sz>si*LV*@%dd03%MQ5T{`hIhP>R58_nZQ~5bmmmd*l5n!(jp>~^P!G0tf%SM#f%jTl^hp!s013SM|yE- zs(ET=O3jYBxFFDV@~T;Bx?(!BB8*Ho=cpF*-C$N-zUF4pxuqMlBUUJcHP$z#K2+5y zoT#e1>&B$%L4kIrVJlZ=ZJm{!dB^Fn*~OsCX}a4tO^V(ayryuf>DpblW?jD&m~H#z z#?s~M?pD2f>Xf_u*V?@fy=7T8p1k&Z1Dda{lvB*eQ8${=DB;djD9aLX!DdF~Vu{KL z(r0SY_J|zv2x61Io*}?|XoryZa_-&QJMAAmJMynX`hVXX=@;h|o;SR+-p+pI){k>n zJ#(tL+n3orczgKo)vjdi$BV<{zSTLDVDuov79m+1A9xEHe>iB{2(TgWbUMQ)~n=KM` zq~bx5{lDse^Q+IZwp7i`3_H%U;N`ZNUPq4ll!d;ja^+{@Na8V^8F_4uit5AY`0rP| zOU0i?{;RDIn?Gx_gn&S2`pm>zN2HHz^u7IHkH1WsYow~3x}5pTrX&3^;Wl-TV+tZ4 z%uF<%J4>BUxVzOX?A8oX-`HCxM5~p5jpN?5>+QTBY zk%d!9BqY#D(rnR|*GnQiE>_+-ZvW($YLVs>t;UJTjG`G6V(ov(|CzUT>ik(>COH)@ z_k|EG3o!n4U=qP)9h82{craJ1Ar_*=ti*@O=# zC-~l++O(ymMy|qsasDYL=IsveXPIw*X6Yy2U~*Qgl37NEX))`mxbKza<-hOzdz*Rg zJ$w1|qLtU2Ph4bRU|>t~c6VU_gP+d3>lqjrI14-?iy0XB4ude`@%$Aj3=9nHC7!;n z?9VtESs0ay#QQjn@H8uHw{OebevWj zt8VRRiBhthwS1<*57y;BkJdlG`~6?LP}VZPt6QrA)@Lp3`^i%JF#A(c?O)G+?hPz# z4$Lo@KJS>l(l;oe+|c#^U6%7ttS&II^l84VT(UmsiRX#xt)JK01m(Z-e7kgs_(VIO ziJK>E4=oMdf1&U5oLdXNNwn=>@a-|L*-Gs{ZPxd1&R8RzCh`&FKTlUbmvv4FO#tLI B+HL>< diff --git a/qt/virtual.png b/qt/virtual.png deleted file mode 100644 index 3d5a02685bf5420c38ecd1675d3b5b9a792c255d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5331 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!toK2(K7lmsP~D-;yvr)B1( zDwI?fq$;FVWTr7NRNQ(yEwJy222b04%cC-kwdTBR_}_Qb@9w; zFHsQ%zMs7RctSJ(f1f|K?!lroRZ-LRYp?aJ-g0Tj;>SPt{0a=#bFa01;{N>Pym#U} zlNU_=eDSsEzr^K#mbl2;{#AJLxN4*A{*0%WzKbi`Nq0)R*2g)$6%w+Gzo2^IeCpF% zckJ{MZ=Wx-3w!i@?jo&!HgEmUx4rOfl~26asFea`IS$2Qv;OQrn$DN zl}2rmf4iVjQ|#W&3r73_oU^+NA1him26Z}h`_A$yoFIKbd&4JNajQSu4&PO1f9xr7 zlEttq#3S%;@29mFq9%TFx%oaKF;2#_Ba>z43PUc34BJm0{S5Y}UW>-CvV7&(oZM)e zzx>FulBZ!$Cdw>eWfpzA^ZJQrstp1MwPHEOrT0T#4v(qo zX(w5$nG5C|Hs5Dxb!^k8%wscI1++qWGG>)*=xXNunS6AjbF6FksxZ^i+*_-!1Z};R zWy-fdFX`x&RWo;*zSfJ2*}H3}dj36W^MemptToHN7xh}!&w7gWzIPHAejl5ilX`h= z-nO6Dw%JXvTg)R{dgFu1trwG*`^*vE>^Ix)_8aTB9!vMW*>(MH+5Ox1#Dj8AYI%pp zZmZdPH9u>L-acs|!{E*BEJq6$9ppK(L!cvCz`?25;I!Y;0m{U8^*5j~)%+dJET}q2c#5mkJ=t~Xk@-2->8$f4&5U1GJ~G%C z@g`|$cjU<{9m_kCS1k+PHz9Z9smkunVJkO&v;E24Tv?ks^R>xhk0e3w2?|b*ys04x z%6_Z;x>`-%s@wcIye?j8y3;x%2}`knR<@g8oBtntpSSkV6BljG84Oi%GS8D)UfgA! zReJoVUD=#xoDb^R)_v*Qe~Tf_&U1bFmK%ZwJ9uMa%1u)FcidrA@^8yIweHDsO%bjG zza?vf`8e(}{mou`@78aNS_Y#lp|991ELhySr|fz9|8>y;bpKhp88yV>qrKIT=SLT%@R_NvxD}#)HnBkII zoLrPyP?DLSrvNfDF)6>a#8yd(OF=;aYItTrNwRB23ETn@A8dSaNs7K_K}oVnMQ(v> zMTx$Vfq{jtfsw9}r9QI$irfNUU%2kPVrVEP=jZBIBo^o!>KW+g=A!5*E^#eG*oRd| zaY$uBs(w&vaeir0a;j@tYF>#lvZVz%rNzj0mKLXiguw33NlDYM$c5O9tjFEcHvp~& z6pZPaxdmVyAl1k!QN7U*SWrdU}Tnxt5yBw6a3 zrCOxwnxq+|=vo>Zo9h}Fq?nqST3Q+zq^2Pm;a`-Qo|%`JgX}7hQ7M@zR!N451}2t? zCb}sWDdxH+CI%_GiAE`wx~T?+#ugSvX@&;IhG3&W@nGc`;AyL5q-TH-3CKw-Ny{(F zwN>)T%qy)xNQ7kOrUsWJf&$IZ%+S)n*x1a_+}P5>$lL;XBJol3!GbWPfmKA%q9tm6U$Olz)_teco>n5b)+Y-nj=WRR4cW|W9(dU1YQNqJ&X zs$+U;UWu)eduDC{IGzTj>gTe~DWM4f7c;%R diff --git a/qt/virtual_dark.png b/qt/virtual_dark.png deleted file mode 100644 index 29ba5c7f9c84358f4976cceee71587ef5e2340f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5442 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!togR4R!N`ey06$*;-(=u~X z6-p`#QWa7wGSe6sDsJ7KmRt5(gQxBP=B`MlNerD&KUAK3lQ7L*f7|0|_1yg1DRp-Y zk8^MfIQ1(OKAyjS`EPFi-xFdwvNV@J`Pd?3ByMu%z5mUuPl>Dh`RlV|zPx*ru!1G% zo4@z*AG7EEIVvQ&<&m`WwZ6WpwC1&xNKdtS>*8 zmv?UC`*kfX6P6_hZ(p0E%d>`KXU=7zu1CEYufvSGEK~BCKfRm1UZdB@aDxxmm6aEk zY&_}4tH&m{X2KcXkZI>!EQ^KTA5dH4G&yuriQ$Co1KJlpz2we){VaEBF3GHBFJbFSl zu1LVMA$iZWV=_x~b=>b=-LaWL$xDcJmJaJ0COxw!{cO&BQ#A~aNCaQWFg!j>St~X! zTXi*S-BQKcsEmzEmz|9{y|(1tr9%HNSGGo<-^(NAu~g7aCiBIHiS9E!wrU!mvABFC z)A)Q*kn;BAT8;SSZsu8gCPp!TUDCF4mAUYib(43@Xp~@QDvV{BaAD7k%EbaVbW6Ht zp6>}3l#DyZy8N;dTT`OIaZmN#@lW*b#Blf*K9;uJeqnFZoah&J3g1t>mCdUCd&@*W zPkBq-X=u`_Hld&XvE;u4oLbM+yIbwyFI)mvX1;Khy1) z>s2>rB*rr^Ft%hmI|q0=JHxUU14G4}+KILvhaF^&#$WDI5^WFDxTNS@x=BIn(TY$F zr`7=NEw2)aUW%J!dIZJDuwHL!mhTQ_7f+9sjbU~CzBH-$hHqB7oQ?sIPef5tYRpQSh?>+w~ z!<=<5sli`mUTRyWaK3Gu1k;1&$&)#ohNB#{Ic?q z!N!O;NlUvUPhRO*-jTd&S@6CIxf@Sac5e<_x$&FrPwwW*+SHk^O%{7333^XZaB}2L z4M|Y;TkY4?YVuay=Fj1E@k-O3))`4yiUqW?-Td18|KR()wTGU#Xlu@3sEU($p3L&% zF6*q)<3H`n<~-wkP|vpROW*!m3~6?r>&v&?5H#4q8xvD*lFGm14x^HPTh6I5ep}Qs7+nc{#b#l_;?_N7@4Juh_Px9J&-U`W_v|q%iso6o zo_3FcfxkO5B%&n3*T*V3KUXg?B|j-uuOhdA0R(L9D+&^mvr|hHl2X$%^K6yg@7}MZ zkeOnu6mIHk;9KCFnvv;IRg@ZBspanW~5}trC?K(l4cd;;s!OM zC?(BSDWjyMz)D}gyu4hm+*mKaC|%#s($Z4jz)0W7NVg~@O}Dr*uOzWTH?LS3WCX+v zm(=3qqRfJl%=|nBkeP`|`K2YcN=jS`3JOreGYd+RT`Nl97J&F*|gBLoqo&SHB{$K;KZ$KtDGZMMrUoYZ<~m ztU8KADhpEegHnt0ON)|IUCUDQN|cc;EyyV?Mz*uGI29xWc6Uxnntnwt#AakY?w-B@ za6O=4OwY_M0P6s$Mpl`U3|CiBT9gA;laj2TnvVR8;-QkvG(-fU_y;5d z4gzH3D{>3q=A)>Fg%?;cI9#n<@{>zJmU_C_DuLWzZ2{ zr|6nk7+dIC7^J1@S{Rv`C#M-$CYoAWAQ|PES6q^qmz)YRsv@^QFEca6DmB&E*wVtn zK-V%U)m+!a%)nST(LB*m*T5jj)Xdy4(ZD1r4ao@qqRjNnyu=)2SAmR5$xN{_N=h+I zNiw(8O*Jzy(>1Y7vedOqPEOWMwoFS-v#>}twJ=Kr8wH97E5`s&TO}hs1B6IGPGU(~ zeo?Nil22w{X$3+eBr`WPxFiu2XohBnmIlVgrk2JA7M6zQ<_JY$sYS(^`FS8S4Gr{+ zjKDG}$yRRpMY)M3wn~|~iRr2O1$pUU2~f0H`4?rT=9MIZ@`kOFAy~X3x4_D|C^fMp zzbGU>KgU)HbEJwpRkTBpQxeK6NXAD?0j zlY%qy%k#h*AvqV1IS8e2Qyhy*%JYk|{fqpQvQm>v@SB58G2En})bz~alA=ma0-i!s zX9G#D9+|}@`9+mT_6MgHLU<5wY1672OumDv= zw8YTlMoTLc6h3IUQ7kEX8C;36pmNK!nSx~LXhT!)1Qn`}7 z-O=W+n-~}v*pj^6T|k|128N%`yXzSk7&r?&B8wRqxP?KOkzv*x2?hoR_7YEDSN5kY zqQZ*2UqV8=85kHmJzX3_EKVPt=*h*Pz{6~O>3{vsI9Ac9HM5eZA5giJuju*i-9z>S zDL3A*^0y)nZyeZU@mTJ_A;;XFR{}<%%U18|3W!h6l=HvBcurD-;THSxKOkp#y85}S Ib4q9e0KKB|;Q#;t diff --git a/qt/wireless.png b/qt/wireless.png deleted file mode 100644 index edb81b36f537c243b8df833678685a3baf3051b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0X7ltGxWVyS%@ z0|SGTr;B5V#p&b(iBAoJ-8brkz8FkeAh_DG$HK(;(S??UeXSn7FFyVE+{(GU%1ww_ tz*(M~bEC7LLonYz;Z0LJ6Ga#pMD}y>_ZF}I!@$76;OXk;vd$@?2>^nvD^>si diff --git a/qt/wireless_dark.png b/qt/wireless_dark.png deleted file mode 100644 index 97a276e6a7e70b135dfaed51dd4a807b006f1600..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0X7ltGxWVyS%@ z0|SGvr;B5V#p$;b9Qh6?aIi=|{=a`uoQ(;K;Omv1-#Om+G~ImOEbkE%#o%;c-3}(f zse4mZ8DC6Ybl=`lHCXMzlSaW6;lBBDwen|E%+LPgQE1lSStNeq7Xt$WgQu&X%Q~lo FCIGV)F|hyu