07bd2d4c13
Split GTK entry icon updates into explicit HAVE_GTK3 and !HAVE_GTK3 guards in the server list callbacks to keep GTK3 icon-name usage separate from stock icons.
...
Applied the same explicit GTK3 vs non-GTK3 guard structure for search entry icon handling in the main GUI search flow
2026-01-23 13:16:45 -07:00
d57f66ef75
Updated server list entry icon handling to use GTK3 icon names with stock fallbacks for GTK2.
...
Switched main search entry error/clear icons to GTK3 icon-name API while preserving GTK2 stock icons.
2026-01-23 13:09:02 -07:00
19ecc6a284
Updated GTK3 entry icon handling in the server list UI to use icon names (and NULL clears) while keeping GTK2 stock calls under #if !HAVE_GTK3.
...
Updated GTK3 entry icon handling in the main search UI to use icon names (and NULL clears) while keeping GTK2 stock calls under #if !HAVE_GTK3.
2026-01-23 13:04:19 -07:00
2b6fc7dbe5
Added GTK3 icon-name handling around entry error icon updates in the server list UI while keeping stock icon calls for non-GTK3 builds.
...
Updated search UI entry icon handling to use GTK3 icon-name APIs with GTK2 fallbacks for stock icons.
2026-01-23 12:57:52 -07:00
8d76d94131
Added a GTK3-only helper to build button images from stock IDs via icon-name mapping, and refactored gtkutil_button to use it while keeping GTK2 stock handling intact.
...
Verified gtkutil_button(...) callers with rg -n "gtkutil_button\\s*\\(" src/fe-gtk.
2026-01-23 11:17:28 -07:00
246bcd06a2
Updated gtkutil_button() to build button images via GTK3 icon names (with stock mapping) and to skip image creation when no stock name is provided, while keeping GTK2 stock usage intact.
2026-01-23 10:52:17 -07:00
e4f1b20211
Added a helper to create button images from stock names using GTK3 icon mapping, and used it in gtkutil_button for consistent GTK2/GTK3 handling.
2026-01-23 10:48:01 -07:00
ef5d8c482a
Extended the GTK3 stock-to-icon mapping to cover apply/remove so GTK stock buttons continue to map to themed icon names in GTK3 builds.
2026-01-23 10:41:18 -07:00
c346055b42
Added a shared GTK3 stock-to-icon-name helper in gtkutil and exposed it for reuse.
...
Updated gtkutil_button() to use icon-name images on GTK3 while preserving stock image usage on GTK2.
Switched menu icon creation to the shared GTK3 mapping helper.
2026-01-23 10:32:17 -07:00
63fd0dc103
Mapped stock icon identifiers to GTK3 named icons when creating stock menu items so GTK3 always uses gtk_image_new_from_icon_name.
2026-01-23 10:12:47 -07:00
7f05fda41a
Added GTK3 named icon mappings for cancel/ok stock identifiers to align menu imagery with icon-name usage.
...
Clarified GTK3 vs GTK2 popup menu handling with an explicit conditional split while preserving GTK2 fallback behavior
2026-01-23 09:23:34 -07:00
9c691db910
Added a GTK3 helper to map legacy GTK stock icon IDs to themed icon names for menu items, improving GTK3 icon lookups for legacy strings.
...
Routed GTK3 menu icon creation through the new stock-to-name mapping before calling gtk_image_new_from_icon_name.
2026-01-23 09:17:36 -07:00
d7966a7234
Clarified GTK3 vs. GTK2 icon macro guards in the channel list and plugin UI sources to keep named icons for GTK3 and stock icons for GTK2 builds.
...
Split GTK3/GTK2 popup handling into explicit conditional blocks and made GTK3/GTK2 menu icon definitions explicit in the menu implementation.
2026-01-23 09:07:23 -07:00
e70c50ab1a
Consolidated GTK3 vs GTK2 icon macro guards in the channel list UI to keep named icons on GTK3 and stock icons on GTK2 behind a single conditional block.
...
Aligned plugin UI icon macros with the same GTK3/GTK2 conditional pattern for named icons vs stock icons.
Ensured GTK3 popup helper usage and clarified GTK3/GTK2 icon macro selection in the main menu handling code.
2026-01-23 08:56:27 -07:00
74c16fabe6
Defined shared GTK2/GTK3 icon constants for the channel list and reused them for menu items and action buttons to keep GTK3 named icons centralized.
...
Added plugin manager icon constants for GTK2/GTK3 and applied them to the load/unload/reload buttons
2026-01-23 08:33:48 -07:00
70d5113180
Added a GTK3 icon-button helper for the channel list and reused it for the action buttons, plus guarded the GTK2 popup timestamp handling.
...
Added a GTK3 icon-button helper for the plugin list controls and used it for the load/unload/reload buttons.
Added a GTK3 help icon to the join-channel dialog button configuration.
2026-01-23 08:17:22 -07:00
6b089d3fba
Added a GTK3 fallback to anchor the chanlist context menu at the tree widget when no event is available, while keeping the GTK2 popup path unchanged.
2026-01-23 08:05:16 -07:00
03ab236b67
Anchored GTK3 menu popups to the parent window when no pointer event is available, while preserving the GTK2 popup path.
2026-01-23 07:58:26 -07:00
8ba068041d
Made GTK2-only chanlist menu popup and button icon paths explicit with #if !HAVE_GTK3, keeping GTK3 named-icon usage separate from stock icons.
...
Applied the same GTK2-guarded stock icon usage in plugingui and menu handling, including menu popups and icon helpers, to isolate GTK2-only calls.
2026-01-23 07:47:16 -07:00
fae83a34bc
Updated GTK3 menu icon fallback to use icon names instead of stock IDs while preserving GTK2 behavior.
2026-01-23 07:38:43 -07:00
b934b1b940
Updated the channel list context menu, buttons, and popup handling to use GTK3 icon names and gtk_menu_popup_at_pointer while keeping GTK2 stock fallbacks.
...
Switched the plugin GUI action buttons to GTK3 icon-name images with GTK2 stock fallbacks.
Added GTK3 icon-name mappings for menu entries, updated menu popups to gtk_menu_popup_at_pointer, and set GTK3 dialog button icons while preserving GTK2 stock behavior.
2026-01-23 07:32:38 -07:00
7f7fd71fe4
Guarded the Win32 GDK header include with GDK_WINDOWING_WIN32 while keeping the Win32 system header include intact.
2026-01-23 00:48:15 -07:00
d65cef176e
Guarded the tray icon X11 code path with GDK_WINDOWING_X11 while preserving the non-X11 fallback behavior in gtkutil_tray_icon_supported.
...
Switched Win32 window handle retrieval to gdk_win32_window_get_handle and wrapped the usage in GDK_WINDOWING_WIN32 in fe_gui_info_ptr.
2026-01-23 00:43:30 -07:00
5715245080
Updated the GTK3 pointer position query to use gdk_device_get_position without a temporary screen variable while keeping GTK2/GTK3 code paths split by HAVE_GTK3.
2026-01-23 00:38:14 -07:00
796c991dd8
Guarded cursor unref with a null check while keeping GTK2/GTK3-specific cleanup behavior centralized.
...
Added a helper to clear window backgrounds using GTK2/GTK3-specific APIs and used it during widget realize.
2026-01-23 00:32:59 -07:00
7ac74220c4
Added a GTK3-safe null guard before unrefing cursors while keeping GTK2 behavior under !HAVE_GTK3.
...
Added a GTK3 pointer-device null fallback in gtk_xtext_get_pointer to safely handle missing devices before using gdk_device_get_position.
2026-01-23 00:27:02 -07:00
1bb0451d75
Updated GTK3 palette color parsing to use full 16-bit hex strings when converting to RGBA in palette handling and setup color dialogs.
...
Switched GtkCellRendererText foreground bindings to the palette foreground property macro in user list, notify list, and DCC views.
2026-01-23 00:23:00 -07:00
ea4ef5be90
Updated GTK3 color parsing in the palette/setup helpers to use RGBA-friendly hex strings with gdk_rgba_parse fallbacks while preserving GTK2 behavior.
...
Switched GtkCellRendererText foreground property selection to foreground-rgba on GTK3 paths (with GTK2 guarded), covering userlist, notify, and DCC views.
2026-01-23 00:13:14 -07:00
131691156a
Updated notify tree cell rendering to use the palette foreground property while preserving GTK2/GTK3 color cleanup logic.
...
Reused the palette foreground property macro for user list and DCC text renderers to match RGBA usage in GTK3 while keeping GTK2 behavior intact.
Aligned GTK2 setup color callbacks with PaletteColor and ensured RGBA parsing initialization in the palette helper.
2026-01-22 23:55:49 -07:00
864bf5e059
Parsed palette color strings with RGBA/GdkColor parsing fallbacks for GTK3/GTK2 palette updates.
...
Adjusted setup RGBA conversion fallback to explicit channel conversion when parsing fails.
Updated GtkCellRendererText foreground property handling for GTK2/GTK3 in user list, DCC list, and notify list rendering.
2026-01-22 23:45:02 -07:00
5596c8825b
Added a GTK2/GTK3-compatible cursor unref helper to centralize cleanup logic.
...
Switched cursor destruction to use the new helper in the widget teardown path.
2026-01-22 23:32:50 -07:00
a05c064466
Wrapped GTK2-only cursor cleanup with #if !HAVE_GTK3, keeping GTK3 paths on g_object_unref.
...
Moved GTK2 pointer/background calls into #if !HAVE_GTK3 blocks, leaving GTK3-compatible implementations in #else.
2026-01-22 23:28:24 -07:00
ae86a8db0f
Added a GTK3-aware pointer helper that uses gdk_device_get_position while retaining GTK2 behavior under #if !HAVE_GTK3.
...
Wrapped GTK2-only cursor unref and background pixmap calls with GTK3-compatible g_object_unref and gdk_window_set_background_pattern alternatives.
2026-01-22 23:24:43 -07:00
dae5eadf1a
Updated setup color dialog RGBA derivation to parse hex palette components with gdk_rgba_parse for GTK3 paths.
...
Standardized GtkCellRendererText foreground color binding to use the palette foreground property macro across user list, DCC, and notify views.
2026-01-22 23:18:59 -07:00
bc11f40a7a
Updated notify list cell rendering to apply GTK3 RGBA foreground properties and free boxed colors correctly while keeping GTK2 behavior intact.
...
Switched user list and DCC tree view text columns to select the GTK3 foreground-rgba property (with GTK2 fallbacks) for cell renderer text colors.
Reused RGBA parsing for palette-backed color chooser defaults and clarified palette change tracking comments.
2026-01-22 23:03:50 -07:00
51fd0fca91
Routed GTK cell renderer foreground bindings through PALETTE_FOREGROUND_PROPERTY for user list, notify, and DCC views to ensure GTK3 uses RGBA while preserving GTK2 behavior.
...
Tightened GTK3 RGBA parsing by using stack buffers in palette color conversion and guarded parsing in the setup color chooser dialog.
2026-01-22 22:47:11 -07:00
3c0a4e4995
Updated RGB16 palette parsing to use 16-bit RGBA strings with gdk_rgba_parse for GTK3 builds.
...
Parsed palette colors before initializing the GTK3 color chooser dialog to ensure RGBA normalization.
Switched GTK3 GtkCellRendererText foreground bindings to foreground-rgba with GTK2 fallbacks in user list, notify, and DCC views.
2026-01-22 22:36:49 -07:00
9959cf1f24
Standardized GtkCellRendererText foreground bindings to use the palette foreground property macro across user list, notify list, and DCC views (GTK2/GTK3 aware).
...
Generated GTK3 caret-color CSS using GdkRGBA string conversion instead of manual RGB math for input styling.
Simplified palette RGB16 parsing by building a GdkRGBA-compatible color string before parsing.
2026-01-22 22:25:26 -07:00
61669f6b98
Added a GTK3 fallback when parsing palette RGB16 values into GdkRGBA colors to keep RGBA initialization robust.
...
Updated GTK3 list-model color storage and GtkCellRendererText foreground properties to use RGBA values in the user list, notify list, and DCC views while retaining GTK2 behavior.
Copied palette RGBA values before initializing the GTK3 color chooser dialog to ensure RGBA usage on the GTK3 path.
2026-01-22 22:03:31 -07:00
d7d29a843f
Added a forward declaration for userlist_store_color to prevent implicit declaration errors in GTK2 builds.
2026-01-20 12:51:11 -07:00
dbb9168426
Parse GTK3 palette RGB16 values into explicit GdkRGBA structs before assignment in the palette helper.
...
Copy RGBA values from the GTK color chooser into palette entries for the setup dialog path.
Added RGBA-aware list-store color helpers and usage for userlist, notify, and DCC views to keep color handling consistent across GTK versions.
2026-01-20 12:26:01 -07:00
cd52ebd7e8
Centralized the palette foreground property definition for GTK2/GTK3 and applied it to the user list, notify list, and DCC tree renderers to use RGBA where supported.
...
Removed legacy colormap allocation/free calls in palette handling and setup color selection while preserving the GTK2 path logic.
2026-01-19 22:58:52 -07:00
99e20751a8
Converted palette storage to GdkRGBA with GTK2-guarded helpers, including RGB16 conversion support for shared consumers and dark-mode palette handling.
...
Updated setup color selection and styling to use RGBA-aware GTK3 overrides/CSS while preserving GTK2 behavior in guarded paths.
Switched tree view color models/renderers and other palette consumers (user list, notify, DCC, menus, spell entry, input style) to RGBA-aware types/properties with shared RGB16 conversion usage.
2026-01-19 22:50:17 -07:00
01108d7c2f
Aligned the GTK3 quit dialog checkbox to fill horizontally and stay vertically centered within the grid layout, keeping GTK2 behavior unchanged.
2026-01-19 22:17:57 -07:00
7e5ca51486
Added a GTK3/GTK2-aware helper to create the banlist table/grid with consistent spacing setup.
...
Updated the banlist UI setup to use the new helper when building the table container.
2026-01-19 22:01:45 -07:00
5441ab1a58
Aligned ban list checkboxes in GTK3 grids to preserve GTK2-style placement using GTK3 alignment helpers.
2026-01-19 21:42:55 -07:00
0c34c94397
Added a GTK2/GTK3-aware helper for channel list horizontal boxes and reused it for the filter rows to keep the GtkBox/GtkHBox split in one place.
2026-01-19 20:35:13 -07:00
a5f97fc018
Added mg_box_new to centralize GTK3/GTK2 GtkBox creation with homogeneous/spacing handling in maingui.c.
...
Updated main GUI layout construction to use mg_box_new for topic bars, text areas, meters, search/entry bars, dialog buttons, and generic tabs to keep GTK3-friendly box creation consistent while preserving GTK2 behavior.
2026-01-19 20:11:07 -07:00
91cdc28846
Added a chanlist label alignment helper and reused it for the filter labels to keep GTK3/GTK2 alignment behavior consistent.
...
Added a main GUI alignment helper and applied it to the quit dialog label alignment path for GTK3/GTK2 compatibility
2026-01-19 19:37:03 -07:00
2470954006
Added a Meson option to enable building the GTK frontend against GTK 3.
...
Switched the GTK frontend build logic to select GTK2/GTK3 dependencies and emit corresponding preprocessor defines.
Added GTK3 GtkGrid/alignment handling and GTK3 GtkBox replacements for the channel list controls while preserving GTK2 table behavior behind guards.
Switched the ban list layout to use GtkGrid under GTK3 with GTK2 table fallback for checkbox placement.
Updated main GTK UI layouts to use GTK3 GtkGrid/GtkBox and alignment/attachment logic (quit dialog, topic bar, search/entry, chanview placement, main window table) while keeping GTK2 behavior via HAVE_GTK3 guards.
2026-01-19 19:26:29 -07:00