Commit Graph

60 Commits

Author SHA1 Message Date
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
7d83394e35 Updated GTK3 dialog/button creation in gtkutil.c to use label strings with GTK2 stock fallbacks for file and input dialogs.
Added GTK3 icon-name macros and applied them to tab menu/search button icon usage in maingui.c, keeping GTK2 stock fallbacks intact.
Introduced GTK3 icon-name helpers and macro splits for server list buttons/connect controls in servlistgui.c.
Tightened GTK2/GTK3 icon macro separation in sexy-spell-entry.c.
2026-01-30 15:27:01 -07:00
a2b35c289c Updated the join dialog to use gtkutil stock helpers for the network image and OK button with an explicit label.
Clarified GTK2-specific stock widget handling with explicit #elif !HAVE_GTK3 guards in the helper implementations.
2026-01-30 08:21:55 -07:00
537167cd61 Added gtkutil helpers to create stock-based images and buttons while keeping GTK3 icon-name mapping centralized in gtkutil.c.
Exposed the new gtkutil stock helper APIs in the header for reuse.
Swapped setup dialog stock button creation to the new gtkutil_button_new_from_stock helper (including the sound play button fallback).
2026-01-30 07:53:50 -07:00
6f31e33094 Refactored gtkutil_icon_name_from_stock() to use a lookup table with explicit GTK stock icon aliases (including GTK3 mappings) while keeping the stock-name fallback intact.
Spot-checked GTK stock icon usage in chanlist.c, menu.c, and sexy-spell-entry.c to confirm expected GTK3 icon mapping coverage at the call sites you flagged.
2026-01-25 12:53:15 -07:00
bad5eab21c Expanded the GTK3 stock-to-themed icon mapping to cover additional stock IDs (add, yes/no, navigation, dialog error, media play, network, spell check) while keeping the stock fallback unchanged.
Spot-checked GTK3 callers in chanlist, menu, and spell-entry code paths that rely on stock icon mappings for menu items and spelling UI icons.
2026-01-25 12:29:00 -07:00
c9ec0527dd Avoided re-adding the same GTK3 palette CSS provider by tracking when the provider is first created before attaching it to the style context. 2026-01-25 12:19:44 -07:00
ac3ce1ceac Updated gtkutil_apply_palette declarations to use GTK-specific Gdk color types for GTK3 vs GTK2 builds.
Adjusted the gtkutil_apply_palette definition to match GTK3/GTK2 Gdk color signatures while preserving existing behavior.
2026-01-25 11:37:04 -07:00
94789a9100 Added gtkutil_apply_palette declaration and implementation to apply palette colors/fonts via GTK3 CSS providers with GTK2 fallbacks preserved.
Switched channel tree and theme application logic to use the new palette helper.
Updated entry and user list styling to route palette/font application through the helper.
2026-01-25 11:30:21 -07:00
ab3bdf219f Added #if HAVE_GTK3 / #elif !HAVE_GTK3 branches around gtk_hbox_new / gtk_vbox_new call sites in the GTK front-end, using gtk_box_new(GTK_ORIENTATION_*, spacing) for GTK3 while keeping the GTK2 constructors explicitly gated under !HAVE_GTK3.
Applied gtk_box_set_homogeneous() in GTK3 branches where the GTK2 code requested homogeneous layout (e.g., dialog hboxes).
Updated remaining helpers and setup/preferences UI box constructors (including the shared mg_box_new helper) to follow the same GTK3/GTK2 branching approach consistently across src/fe-gtk/
2026-01-23 21:28:32 -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
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
5986e6a78b -Added the standard type attribute to the GTK file info query so file type checks no longer trigger GLib-GIO warnings.
-Replaced GtkStyle application in the channel tree view with explicit base/text/font modifications to avoid style attach/detach issues on teardown.

-Updated user list styling to apply the font directly instead of setting a shared GtkStyle instance.

-Switched color button updates to use background modifications instead of creating per-button styles, reducing detach warnings on shutdown.
2026-01-17 18:31:04 -07:00
4683ef705b new name after fork 2026-01-05 23:12:38 -07:00
Patrick Griffis
13b6a40b9c Change preferences sub-dialogs to be modal
This solves the issue where the parent dialog is closed and then
the child dialog is used.

This is however only a partial fix:

- Many other dialogs throughout the codebase do not currently have
  parent windows and need to be refactored.

- Not all window managers respect modal so users can still trigger
  bugs. We can be more defensive against this but it requires more
  refactoring.

Closes #2686
2022-04-16 18:41:34 -05:00
Patrick Griffis
d99cd18fb9 Improve detection of system tray support
Closes #2045
2017-08-31 10:16:03 -04:00
Patrick Griffis
dce6a7612a plugingui: Use full path when unloading/reloading plugins
Mentioned in mniip/hexchat-lua#5
2016-03-29 12:19:19 -04:00
TingPing
83032b1aa3 Use glib for all allocations
- Removes need to check for malloc failure
- Removes need for NULL checks on free
- Adds checks for integer overflows
- Removes some extra memset calls
- Removes chance of mixing libc and glib malloc/free
2014-12-28 06:44:44 -05:00
Arnavion
a38892ff3b Use GFile API in gtkutil_check_file instead of stat/access.
The latter functions expect codepage-encoded filenames on Windows but GLib's API returns filesystem-encoded paths, which on Windows are UTF-8. GLib API should be used to deal with GLib API results.

Also fixed leaks in two of the callers of gtkutil_check_file()

Fixes #968
2014-08-20 12:50:08 -07:00
TingPing
f35ae03a66 Build with GTK_DISABLE_DEPRECATED 2014-02-14 16:31:08 -05:00
TingPing
725aed43ff Redesign keyboard shortcuts window
- Convert GtkCLists to GtkTreeViews
- Save keybindings in GtkAccelerator format
- Store keybindings in a GSList
2014-02-14 16:29:44 -05:00
TingPing
10d3c15143 Add /getbool command 2014-02-04 20:46:43 -05:00
TingPing
3a7fb4d8e1 osx: Set Menlo as default font
This moves the find_font function to the front ends since it depends on
pango and cairo
2014-02-04 20:45:29 -05:00
TingPing
ce09cb4a91 Update most deprecated gtk functions 2014-01-18 14:47:17 -05:00
TingPing
61b58fd5be Remove remnants of native file dialogs 2013-09-26 22:07:22 -04:00
TingPing
ae04663aa9 First round of using GTK accessor functions
This is the first step to build with GSEAL_ENABLE
setup.c uses a deprecated fontchooser,
chanview-tabs.c didn't like the conversion, and
I am waiting to do some work on xtext.c before
converting it.
2013-09-20 17:24:39 -04:00
TingPing
ddb3bf05d8 use GDK_KEY 2013-09-15 03:22:04 -04:00
TingPing
755932c3bc Use mimetypes for audio and images 2013-08-31 15:31:22 -04:00
TingPing
4c406bce17 Improve file dialogs
- Fixes #314
- Adds file extensions to sound and image browsing
- Some options no longer default to our config dir
- Always add a shortcut to our config dir
- Remove broken 'last_dir' functionality, gtk already knows recent
2013-08-31 11:39:12 -04:00
TingPing
5224c275e8 Destroy utility windows with their parents. 2013-08-05 04:03:26 -04:00
Diogo Sousa
4cc03aba75 Now fe_get_{int,str}() sets transient for the main window.
This allows window managers to handle the window in a better way, for instance
xmonad used to open the dialogs in a new tile and now opens a simple float.
2013-07-03 19:48:45 +01:00
TingPing
c2a5b4fb7d Disable esc keybinding on tabbed utils 2013-04-05 17:33:35 -03:00
TingPing
cca8ab4640 Fix esc closing detached util tabs 2013-04-05 16:56:57 -03:00
Berke Viktor
9c49254abd Only include top level includes from GTK+, GLib and GDK-PixBuf 2013-04-02 20:39:37 -07:00
RichardHitt
ecdcc99280 ESC key will destroy the windows mentioned at issue 211.
This change implements generic routine gtkutil_destroy_on_esc ()
and adds invocations of it in the requisite window-handling places.
2013-03-17 15:11:23 -07:00
RichardHitt
4e0daf047e Correct almost all compiler warning issues 2013-01-19 12:33:16 -08:00
Dan Mashal
b04377825f fix incorrect FSF address 2012-12-23 11:36:54 -08:00
Berke Viktor
348c6ba919 Rebranding 2012-11-11 13:51:50 +01:00
Arnavion
5d9264aff6 Initial commit for utf8 everywhere. 2012-11-03 19:04:02 -07:00
Berke Viktor
7c1d2366b1 Fix icon rendering in HexChat (sub)windows 2012-11-03 09:10:38 +01:00
Berke Viktor
c65e16fd00 Relocate hexchat.png and hexchat.ico and some more varname cleanup 2012-11-03 02:33:44 +01:00
Berke Viktor
ea0d3059f4 Eliminate even more warnings and bump warning level to 3
Shouldn't need to go any higher, level 4+ gives insane warnings
2012-10-30 22:13:40 +01:00
Berke Viktor
cb0f6c8c91 Eliminate some more warnings 2012-10-30 21:25:58 +01:00
Berke Viktor
a51a69134b Nah, even more rebranding 2012-10-30 11:35:39 +01:00
Berke Viktor
1a75c8e1be A lot more rebranding 2012-10-24 21:33:02 +02:00
Berke Viktor
a9fe82a1b8 Fix nick change dialog being barely visible in most cases 2012-10-22 22:27:30 +02:00