44 Commits

Author SHA1 Message Date
Adam Honse
a69390e5a8 Update translation files and fix some translation related issues 2026-05-14 23:21:10 -05:00
Adam Honse
91923f3a82 Add option to force compact tabs and option to move tabs from left to top 2026-05-14 17:26:12 -05:00
Adam Honse
4d379b97c6 Log Console Updates 2026-05-14 17:26:12 -05:00
Adam Honse
a3e5296bf2 LogManager cleanup 2026-05-14 17:26:12 -05:00
Adam Honse
072d27d9dd Settings Rework
* Add JSON string configuration field to RGBController to store device-specific configurations
    * This JSON string holds both configuration and schema
    * Add settings schema tracking to SettingsManager
    * Implement dynamic settings widget that generates a settings UI based on a JSON schema
    * Implement SettingsManager callback for notifying of settings changes and settings schema updates
    * Always enable Entire Device zone option and use it to enable Edit Device
    * Rename SaveSizes to SaveConfiguration in ProfileManager and Sizes.json to Configuration.json
    * Add zone flag for indicating that a zone's geometry may change, informing profile manager to ignore this check
    * Remove Theme setting and Theme Manager, as this didn't work on most setups anyways and Qt6 has proper Windows dark theming
2026-05-14 17:25:35 -05:00
Dmitry Kychanov
28cd45b8c0 Fix device tabs not applying compact mode when hotplugging 2026-05-07 17:24:46 -05:00
Adam Honse
75df39252b Clean up zone initialization dialog 2026-05-07 17:24:46 -05:00
Adam Honse
9d35d28a6a Rework server initialization
* Only create server instance if server is actually needed
    * Pass initial server host and port through ResourceManager
    * Allow setting default server host and port in Server settings
2026-05-07 17:24:46 -05:00
Kasslim
fd7ccad1e6 Correct spelling Busses -> Buses
Commits merged by Adam Honse <calcprogrammer1@gmail.com>
2026-05-07 17:24:46 -05:00
Adam Honse
18503cccc6 TabLabel sets its own tooltip so all tabs have a tooltip rather than just devices 2026-05-07 17:24:46 -05:00
Adam Honse
e1d46d3bb3 Resize tabs when width is small 2026-05-07 17:24:46 -05:00
Adam Honse
56bd7580ba Zone and Segment type updates
* Add zone flags to indicate if fields are manually configurable and if they have been manually configured
  * Add flags field to segment type
  * Add segment flags for group start and group member
  * Add color mode support flags to zone (RGB, RBG, GRB, GBR, BRG, BGR)
  * Add color mode enum to zone
  * Update zone and segment description functions to support new fields
  * Rename the effects-only configurable size flag
  * Remove zone type and matrix map configuration from E1.31 manual configuration, use zone editor instead
  * Rework DeviceResizeZone to DeviceConfigureZone
  * Rework most ARGB controllers to allow zone customizations
  * Rework DRGBController to define devices in DRGBDevices list (similar to RazerDevices)
  * Rework NollieController to define devices in NollieDevices list (similar to RazerDevices)
2026-05-07 17:24:46 -05:00
Adam Honse
2b11f6fe07 Profile editor dialog 2026-05-07 17:24:45 -05:00
Adam Honse
0144a6a150 [next] Active profile tracking 2026-05-07 17:24:45 -05:00
Adam Honse
ad364871c6 Split out detection system from ResourceManager into DetectionManager
* Split detection system out into its own class, DetectionManager
    * Clean up ResourceManger's many callbacks into just two, one for detection and one general purpose
2026-05-07 17:24:45 -05:00
Adam Honse
57cde755c1 Rework Profiles to use JSON format
* Update OpenRGB Plugin Interface to include functions for loading/saving profile JSON data into OpenRGB profiles
    * Update ProfileManager to handle auto-load profiles (Exit, Open, Resume, Suspend) and move their settings to ProfileManager section
    * Update ProfileManager to store profiles in "profiles" folder in .json format
    * Update ProfileManager to store size profile in sizes.json
    * Update ProfileManager to perform device UpdateMode/UpdateColors when loading profile
    * Code cleanup of ProfileManager and profile-related code
2026-05-07 17:24:44 -05:00
Adam Honse
b0c7dba441 RGBController API Overhaul
* Reorganize and clean up RGBController API functions
    * Add functions to get protected RGBController member values
    * Make NetworkClient, ProfileManager, and ResourceManager friend classes so they can access protected members
    * Protected previously-public RGBController members
        * Information strings (name, vendor, description, version, serial location)
        * Device type
        * Active mode
        * Flags
        * LEDs vector
        * LED alternate names vector
        * Modes vector
        * Colors vector
        * Zones vector
    * Add CONTROLLER_FLAG_HIDDEN to allow plugins to hide controllers from control GUI
    * Add update reason codes to RGBController update callback and signal updates on more RGBController events
    * Add loop zone types and segmented zone type
    * Add matrix map field to segments
    * Rework matrix_map_type from using pointers to vector to prevent memory leaks
    * Rework KeyboardLayoutManager to return new matrix_map_type
    * Add access mutex to RGBController API
    * Add per-zone modes ot RGBController API
    * Add JSON description functions to RGBController API
2026-05-07 17:24:44 -05:00
Adam Honse
d763f7ecc7 Move plugin SDK integration from callback into plugin API and PluginManager 2026-05-07 17:24:44 -05:00
Adam Honse
d79a400c8c Fix corrupted text in TabLabels when translation occurs after the constructor 2026-04-20 23:32:31 -05:00
Adam Honse
c71cc4f18a Change SPDX license identifier from GPL 2.0 only to GPL 2.0 or later, as the original LICENSE file includes an or later clause at the end so the file headers were incorrect 2025-09-28 00:47:08 -05:00
Adam Honse
30f9b84d5f Use GetName instead of directly accessing the RGBController::name member outside of Controllers 2025-08-01 11:32:55 -05:00
Adam Honse
d59138363e Handle condition where detection finishes before OpenRGBDialog constructor finishes/has time to register detection end callback. Fixes plugins not loading when running OpenRGB as a background service. 2025-07-26 02:36:38 -05:00
Adam Honse
a30617d971 Code cleanup in OpenRGBDialog 2025-07-12 21:58:31 -05:00
Adam Honse
c7d824fbf3 Remove unused functions in OpenRGBClientInfoPage and OpenRGBDialog 2025-07-12 21:26:08 -05:00
Adam Honse
c750158286 Make the rescan action in ResourceManager send a rescan request to the client if the client is the primary target (local connection or only connected client when local detection disabled) 2025-07-04 04:24:37 -05:00
Adam Honse
6d981e21ff Rework OpenRGBDialog rescan behavior to update UI when rescan is triggered outside of the UI 2025-07-04 00:22:08 -05:00
Atome “Atom” Art
fb1c20ed30 Add Rescan Devices button to systray icon dialog 2025-07-01 20:39:55 -05:00
Dmitry K
570cc16c98 Unified page for Manually Added Devices 2025-06-30 10:46:55 -05:00
Joseph E
7c02075ba6 Prevent infinite loop of closeEvent() in OpenRGBDialog 2025-06-26 22:45:10 -05:00
Dmitry Kychanov
5f8b044577 Convert all UI files to match Qt standards 2025-06-18 17:53:14 -05:00
Dmitry Kychanov
91a40ab079 Improved About page 2025-06-05 12:12:08 -05:00
Adam Honse
95b029d49d Initial support for Govee devices 2025-05-16 01:02:44 -05:00
Dmitry K
20f6565f44 Monitor and Laptop device types 2025-05-15 17:34:39 -05:00
Adam Honse
6aa5d71ba7 Remove dead code 2025-05-15 11:14:11 -05:00
pallaswept
138d991cf2 Signal Handling and Fix for Closing 2025-05-09 08:10:55 -05:00
Adam Honse
6a80f24962 Build AppImage with qt6 2025-05-02 02:38:39 -05:00
totesNotRosalyn
a24a497759 Fix warnings in Qt6 builds 2025-04-18 18:20:15 -05:00
Chris
6934bbf802 Added translations for LOG messages
* Added C Macro to allow QT lupdate parsing
* Added QTtrranslation wrapper around dialog message
* Updated all translation files
2025-02-04 06:04:28 +00:00
Adam Honse
633662037a Fix warning in OpenRGBDialog.h 2025-01-17 00:48:27 -06:00
Adam Honse
1b9ce719f8 Fix warning in OpenRGBDialog.cpp 2025-01-17 00:12:59 -06:00
Adam Honse
648c0fce92 Get rid of old early prototype OpenRGBDialog, rename OpenRGBDialog2 to OpenRGBDialog 2025-01-08 23:31:34 -06:00
Adam Honse
ff2957ec80 Update the rest of the user interface file header comments to the standardized new format 2024-05-08 00:40:41 -05:00
Alex Koskovich
04410b6611 Fixes for desktop-entry-spec & appstream 2024-03-04 15:13:49 +00:00
Adam Honse
d6e5645bb9 Cleanup qt folder 2023-07-07 02:03:33 -05:00