Commit Graph

3968 Commits

Author SHA1 Message Date
e5673e9a7b fix compile errors with GTK3 and Wayland. Now compiles/Runs using GTK3+Wayland. 2026-02-01 14:04:56 -07:00
8abc95205a Replaced GTK3 palette font styling with CSS-compliant properties derived from PangoFontDescription, avoiding the deprecated Pango font: syntax in generated CSS.
Added a GTK3-only helper to translate Pango font fields into font-family, font-size, font-style, font-weight, font-variant, and font-stretch CSS declarations while preserving GTK2 behavior under #if !HAVE_GTK3.
Reused the GTK3 font CSS helper in the main UI font styling path to eliminate remaining Pango font: shorthand usage that triggers GTK3 theme parsing warnings.
Exposed the GTK3 font CSS helper in gtkutil so callers can emit CSS-compliant font properties consistently.
2026-01-31 16:37:15 -07:00
d8a8e6ce73 dded GTK3 draw handling while keeping GTK2 expose handling wrapped under #if !HAVE_GTK3 for the spell entry widget.
Updated gtk_entry_find_position to use GTK3-safe layout offsets and cursor position APIs while preserving GTK2-only field access behind #if !HAVE_GTK3.
2026-01-31 16:22:35 -07:00
e44e801e3a Replaced the GTK3 G_DECLARE_DERIVABLE_TYPE usage in sexy-spell-entry.h with explicit typedefs/macros so the SexySpellEntry instance struct (and priv) remains visible in GTK3 builds.
Replaced the GTK3 G_DECLARE_DERIVABLE_TYPE usage with explicit GtkXText typedefs/macros to keep the instance struct visible in GTK3 builds and avoid missing member errors.
2026-01-31 16:00:49 -07:00
5170e037b5 Guarded the GTK2-only set_scroll_adjustments_signal assignment in GtkXText class initialization to avoid GTK3 build errors while preserving GTK2 behavior. 2026-01-31 15:47:49 -07:00
b121fa7287 Ensured GTK3 buttons created via gtkutil_button always display their images by enabling gtk_button_set_always_show_image when an icon is set. 2026-01-31 15:35:43 -07:00
29ac0f9ee6 Added a GTK3 CSS font provider helper and updated emoji font application to avoid deprecated override APIs in GTK3 builds.
Switched GTK3 setup color previews, entry styling, and user list palette updates to use gtkutil_apply_palette instead of deprecated GTK3 overrides.
2026-01-31 13:49:06 -07:00
1fb1865aca Switched palette type selection and color conversion helpers to use the HAVE_GTK3 guard consistently in palette definitions and helpers.
Updated GTK3-specific palette color storage handling in DCC, notify, and user list views to align with HAVE_GTK3 guards.
Standardized setup color application and dialog logic to use HAVE_GTK3 branches for GTK3/GTK2 separation.
2026-01-31 13:38:05 -07:00
d314856f82 Updated the GTK3 rawlog scrolled window to set expansion and pack it explicitly while leaving GTK2 behavior unchanged, keeping the button box packed at the bottom. 2026-01-31 13:27:21 -07:00
0a0dbd384c Added GTK3 icon theme change handling to refresh themed icons and reapply the current tray icon state after theme updates.
Disconnects the GTK3 icon theme signal during backend cleanup to avoid stale handlers.
2026-01-31 13:24:04 -07:00
3ef9540a57 Updated the About dialog to use the GTK3 license enum and kept the manual license text for non-GTK3 builds, removing the outdated comment. 2026-01-31 13:13:31 -07:00
84647201b1 Added GTK3 input style state tracking (theme, dark mode, colors, and preference) so the CSS provider reloads when those values change, while preserving GTK2 one-time RC parsing 2026-01-31 13:07:54 -07:00
f31ef7cfe2 Added GTK3-only CSS styling for alternating rows in the fkeys treeview and set a widget name to target the rules.
Wrapped gtk_tree_view_set_rules_hint so it only applies to non-GTK3 builds.
2026-01-31 13:03:14 -07:00
9af54f5ed7 Added a shared size-request helper plus GTK3 preferred-size vfuncs to reuse the existing sizing logic while keeping GTK2’s size_request path intact.
Guarded the GTK2 size_request assignment and wired the new GTK3 preferred-size handlers in class init.
2026-01-31 12:59:58 -07:00
5788bd90e2 Updated the tab context menu popup to use GTK3 gtk_menu_popup_at_pointer with GTK2 fallback in maingui.c.
Updated the emoji menu popup to use GTK3 gtk_menu_popup_at_widget with GTK2 fallback in maingui.c.
2026-01-31 12:57:05 -07:00
729b1eb8de Explicitly show GTK3 menu item widgets (image, label, box) after building the menu item to ensure labels/icons display reliably. 2026-01-31 12:42:35 -07:00
9a92fa33a8 Made the cursor/adwaita RC strings available for GTK3 and derive the caret color from the cursor RC string when building CSS equivalents.
Updated the GTK3 input CSS generation to include base/foreground colors, caret color, and the Adwaita/Yaru background-image override while applying the provider to the screen.
2026-01-31 12:25:56 -07:00
5c8f50a9f5 Added GTK3 tray icon fallback caching to concrete file paths using bundled pixmaps for missing themed icons and wired the check into themed icon resolution for app indicator usage. 2026-01-31 12:12:55 -07:00
56845a64d9 Added a shared render helper and GTK3 draw handler with clip handling while keeping GTK2 expose wiring behind build guards in xtext.c.
Added a stored GTK3 draw cairo context to the widget struct and initialized it during setup.
2026-01-31 12:09:02 -07:00
36a369fac8 Ensured GTK3 icon menu items show their child widgets by calling gtk_widget_show_all(item) after assembling the box in create_icon_menu. 2026-01-31 12:02:20 -07:00
a5d1dfe81f Added a GTK3 CSS provider path in create_input_style to mirror GTK2 input base/foreground colors, caret color, and Adwaita/Yaru background-image workaround, while preserving GTK2 RC parsing behavior. 2026-01-31 11:56:37 -07:00
946a39c361 Updated the disabled drag-motion block to traverse parents with gtk_widget_get_parent() and use GTK3-safe paned child accessors while retaining legacy fields for non-GTK3 builds. 2026-01-31 11:36:47 -07:00
3710da43c9 Updated GTK3 menu item label/state handling and join dialog accessors while preserving GTK2 field access under !HAVE_GTK3 guards.
Switched GTK3 menu child list usage and menu reordering calculations to container-based APIs with list cleanup in GTK3 paths.
2026-01-31 11:31:35 -07:00
a9f8e1e897 Replaced legacy GTK type macro blocks with G_DECLARE_* declarations for GtkXText, CustomList, and SexySpellEntry, and aligned the GtkXText parent field naming across GTK2/GTK3 guards.
Updated RemoteObject to use G_DECLARE_FINAL_TYPE and the parent_instance field naming convention
2026-01-31 11:15:42 -07:00
9e46407e89 Replaced manual type macros with G_DECLARE_DERIVABLE_TYPE in GtkXText, CustomList, SexySpellEntry, and RemoteObject declarations while aligning parent instance naming.
Switched GtkXText and CustomList implementations to G_DEFINE_TYPE/G_DEFINE_TYPE_WITH_CODE and preserved parent chaining behavior
Added GTK3/GTK2 conditional type declarations for GtkXText while restoring the legacy macro block for GTK2 builds.
Restored GTK2-friendly typedefs/macros and parent field naming for CustomList alongside GTK3 G_DECLARE_DERIVABLE_TYPE usage.
Restored GTK2-friendly typedefs/macros and parent field naming for SexySpellEntry while keeping GTK3 declarations intact.
Restored legacy RemoteObject typedefs and GType macros in the D-Bus plugin to keep GTK2 builds from seeing incomplete types or missing fields/macros.
2026-01-31 10:45:22 -07:00
e1b4e18153 Updated the GTK3 tray icon types to use GIcon values, added themed/file icon creation helpers, and converted icons to names for AppIndicator usage while preserving GTK2 behavior unchanged.
Added GTK3 icon cache initialization/cleanup in the tray backend lifecycle to manage icon lifetimes safely.
2026-01-30 20:47:26 -07:00
01104844e8 Added a GTK3 AppIndicator tray backend with a unified tray interface while keeping the GtkStatusIcon backend for GTK2 builds.
Reworked tray menu population and tray initialization to use the backend abstraction and GTK3 menu refresh behavior.
Linked AppIndicator dependencies conditionally for GTK3 builds in Meson.
2026-01-30 20:07:36 -07:00
d1e1ef3a82 Documented the GTK3 tray backend choice and added GTK3-safe tooltip property handling with a title fallback while keeping GTK2 APIs gated behind build flags.
Guarded embedded notification handling by GTK version to avoid GTK2-only APIs on GTK3 builds.
2026-01-30 19:37:29 -07:00
907211a733 Unified tray tooltip handling so GTK3 uses the tooltip-text property while GTK2 keeps the legacy API behind guards, and wired fe_tray_set_tooltip to the shared helper.
Centralized embedded-state checks through a GTK3-safe helper in the tray notification callback, avoiding GTK2-only calls under GTK3.
2026-01-30 19:33:56 -07:00
dec2aff37d Added GTK3-specific helpers for tray tooltip updates and embedded checks with a safe fallback when the embedded property is unavailable.
Updated tooltip handling and tray restore detection to use GTK3 helpers while keeping GTK2-only APIs behind GTK2 guards.
2026-01-30 19:30:02 -07:00
4bd67e4933 Updated tray tooltip handling to use GTK3 tooltip-text property while keeping GTK2-only tooltip API calls behind #if !HAVE_GTK3.
Switched GTK3 embedded checks to use the embedded property instead of GTK2-only API calls, preserving the restore timer behavior.
2026-01-30 19:26:34 -07:00
328c85e6b3 Added a GTK2/GTK3-aware helper to compute tab viewport size based on orientation and reused it in sizing/scroll handlers to centralize logic. 2026-01-30 19:23:34 -07:00
c7b5ce0346 Wrapped horizontal paned creation in GTK3/GTK2 conditionals and use gtk_paned_new(GTK_ORIENTATION_HORIZONTAL) for GTK3 while preserving existing layout logic. 2026-01-30 19:02:51 -07:00
ca92d14db6 Updated make_sbutton() to use GTK3 symbolic pan icons (up/down/start/end) while retaining GTK2 arrow widgets and ensuring the created widget is added and shown on the button. 2026-01-30 19:00:01 -07:00
e0bae25136 Added a GTK3-specific vertical separator in the channel list while keeping the GTK2 separator for non-GTK3 builds, preserving packing and visibility behavior.
Updated the horizontal tab separator creation to use GTK3’s vertical separator API with a GTK2 fallback, keeping the same packing and show logic.
2026-01-30 18:56:29 -07:00
1b23b5b7a6 Added GTK3-friendly tray icon name definitions plus explicit tray icon state tracking and helpers for GTK2/GTK3 paths.
Reworked tray flashing/custom icon logic to use the new state instead of pixbuf pointer comparisons while preserving behavior across GTK versions.
Updated tray initialization and notification callbacks to use the GTK3 icon-name API with state-aware flashing for message/highlight events.
2026-01-30 18:47:23 -07:00
9bdbeffeb0 Updated the chanview API to use GTK3-safe font descriptions while keeping GTK2 style handling conditional in the header and implementation.
Guarded tree view palette application to use GTK3 font descriptions or GTK2 styles appropriately.
Adjusted the chanview creation call site to pass GTK3 font descriptions or GTK2 styles based on the build.
2026-01-30 18:39:49 -07:00
6c17f4bc16 Added the GTK3 InputStyle abstraction and updated input style/chanview declarations to avoid direct GtkStyle usage in GTK3 builds.
Updated input style initialization and kept GTK2-only RC parsing while applying GTK3 palette styling for the channel tree via CSS-aware paths.
2026-01-30 18:19:01 -07:00
d0d6a573a7 Added a GTK3-only icon loader that maps stock names to non-stock icon theme names and uses the icon theme to populate cached DCC pixbufs.
Guarded the GTK2 gtk_widget_render_icon() usage with #if !HAVE_GTK3 while keeping cached pix_up/pix_dn logic intact.
2026-01-30 18:09:31 -07:00
8c9f193114 Added GTK2/GTK3-conditional declarations and definitions for sexy_spell_entry_editable_init to match the appropriate editable interface type. 2026-01-30 18:06:11 -07:00
5bac77f6bb Wrapped the GTK2-only font selection helper functions in #if !HAVE_GTK3 guards while keeping the GTK3 font chooser response handler and GTK3 browse font path intact. 2026-01-30 18:03:29 -07:00
e815b1d6ae Updated the hscale callback to use GtkRange and simplified range value access to avoid GtkHScale usage.
Switched GTK3 hscale creation to gtk_scale_new_with_range while keeping GTK2 gtk_hscale_new_with_range under the non-GTK3 branch.
2026-01-30 17:52:14 -07:00
1406eec197 Updated server list UI to use GTK3 vertical button boxes and horizontal separators behind GTK3 guards while keeping GTK2 constructors under #if !HAVE_GTK3.
Swapped the vertical tab separator to GTK3’s horizontal separator under #if HAVE_GTK3, preserving the GTK2 constructor for non-GTK3 builds.
2026-01-30 17:48:25 -07:00
5e73127f9a Updated the main GUI scrollbar creation to use the GTK3 vertical scrollbar constructor while keeping the GTK2 call behind #if !HAVE_GTK3.
Split vertical paned widget creation in the main GUI and events dialog for GTK3 vs GTK2, ensuring GTK2 calls remain under #if !HAVE_GTK3.
2026-01-30 17:44:30 -07:00
541ee90d27 Updated mg_progressbar_update() to toggle GTK3 progress bar direction via gtk_progress_bar_set_inverted() while keeping GTK2 orientation enums behind #if !HAVE_GTK3, preserving the flip behavior each cycle for both builds. 2026-01-30 17:40:44 -07:00
d330d6d537 Updated emoji font fallback/primary application to use GTK3 style context fonts with gtk_widget_override_font, while keeping GTK2 style/modify calls behind #if !HAVE_GTK3.
Applied GTK3 font overrides for the user list font setting in setup_apply_to_sess, with GTK2 fallback preserved under #if !HAVE_GTK3
2026-01-30 17:28:09 -07:00
5b28ae17cf Added a GTK3 font chooser dialog flow that preloads the current font and handles responses via the dialog response signal.
Kept the GTK2 font selection dialog implementation under the non-GTK3 branch for existing behavior.
2026-01-30 17:21:49 -07:00
af2678a3a0 Updated the DCC transfer view and notify dialog to use GtkGrid with GTK3 spacing and attachment equivalents while keeping GTK2 table behavior intact.
Switched GTK3 layout helpers and table sections in the server list and setup UI to grid-based attachments and spacing for consistent GTK3 behavior.
2026-01-30 17:13:44 -07:00
3a8a9332d6 Added GTK3 button box creation branches with explicit layout settings across the fe-gtk dialogs while keeping GTK2-only gtk_hbutton_box_new() paths gated under !HAVE_GTK3. 2026-01-30 17:03:27 -07:00
2bce91de0b Updated GTK3 handling in setup_create_color_button to align the color button’s child widget without using GtkAlignment, while keeping the GTK2 alignment path intact. 2026-01-30 16:21:41 -07:00