Commit Graph

49 Commits

Author SHA1 Message Date
fd83f3636d Consolidated the GTK3/GTK2 branching for icon menu items in menu_quick_item and create_icon_menu to use the GtkMenuItem + GtkBox path under GTK3 and GtkImageMenuItem under GTK2.
Unified the GTK3/GTK2 icon menu item construction branches in the channel list menu helper to match the GtkBox + GtkImage + GtkLabel pattern for GTK3 while preserving GTK2 behavior.
Aligned the spelling menu icon item helper with the same GTK3/GTK2 branching structure, keeping GTK2 GtkImageMenuItem intact.
2026-01-23 18:01:07 -07:00
c2e8507402 Guarded GTK3 chanlist menu item image creation on a non-null icon name before packing into the menu item box.
Updated GTK3 create_icon_menu to build menu items with explicit image/label composition using icon names or pixbufs before packing into the box.
Adjusted GTK3 spell entry icon menu item to create the image only when an icon name is available.
2026-01-23 17:35:01 -07:00
3923bd915c Updated GTK3 menu quick items to build a GtkMenuItem with a box, icon-name image, and mnemonic label before packing into the menu item.
Ensured chanlist GTK3 icon menu items always create images from icon names before packing with the mnemonic label.
Adjusted spell entry GTK3 icon menu items to create icon-name images for the boxed menu item layout.
2026-01-23 17:26:59 -07:00
5538e738a8 Expanded GTK3 icon-menu construction in menu.c to build menu items with a GtkBox, GtkImage, and mnemonic label when using icon names.
Updated channel list icon menu items to build GTK3 menu items with GtkBox/GtkImage/GtkLabel while preserving GTK2 GtkImageMenuItem paths.
Updated sexy spell entry icon menu items to build GTK3 menu items with GtkBox/GtkImage/GtkLabel while preserving GTK2 GtkImageMenuItem paths
2026-01-23 16:00:02 -07:00
b0a9f34dc4 Added GTK3 icon-name menu item helper and used it when building icon-based menu items in the main menu paths, while keeping the GtkImageMenuItem fallback for GTK2 intact.
Guarded GTK3 chanlist icon menu item creation to handle missing icon names safely while still creating the boxed menu layout.
Applied the same GTK3 icon-name guard for the sexy-spell-entry menu items while preserving GTK2 code paths.
2026-01-23 14:46:19 -07:00
65ca665e25 Added a GTK3 helper to build menu items with image + mnemonic label and reused it for icon menu item creation in the main menu helpers.
Added GTK3 helper builders for icon menu items in the channel list and spell entry menus, reusing them in the GTK3 branches while keeping GTK2 paths intact.
2026-01-23 14:33:11 -07:00
72b9560c32 Made the GTK3 vs GTK2 icon menu item paths explicit in menu_quick_item, keeping the GTK3 boxed menu item and guarding the GtkImageMenuItem path under #if !HAVE_GTK3.
Updated the chanlist icon menu item to keep the GTK2 GtkImageMenuItem logic under #if !HAVE_GTK3.
Updated the spelling menu icon item to keep the GTK2 GtkImageMenuItem logic under #if !HAVE_GTK3.
2026-01-23 14:18:37 -07:00
7694d4dd18 Restructured icon menu item creation in menu_quick_item to use explicit GTK3 GtkMenuItem + GtkBox + GtkImage/GtkLabel handling with a GTK2 GtkImageMenuItem fallback.
Added GTK3 image null checks and explicit GTK3/GTK2 branching for chanlist icon menu items.
Added GTK3 image null checks and explicit GTK3/GTK2 branching for sexy spell entry icon menu items.
2026-01-23 14:09:50 -07:00
853c16a9bc Updated create_icon_menu to build GTK3 icon menu items by packing an image and mnemonic label into a box while keeping GTK2 GtkImageMenuItem handling intact.
Expanded channel list icon menu items to handle GTK3 box-based layout and GTK2 image menu items in one helper, and used that helper for the context menu entries.
Unified sexy spell entry icon menu item creation across GTK versions, using stock IDs for both and centralizing the GTK3 box-based layout with GTK2 image menu items preserved.
2026-01-23 13:58:53 -07:00
905cc2f22e Added a GTK3 helper to build icon+label menu items for the channel list context menu entries.
Added a GTK3 helper for icon-name menu items and reused it when building stock icon menu entries.
Added a GTK3 helper for spelling-related menu items and reused it for add/ignore/suggestions entries.
2026-01-23 13:42:11 -07:00
edbe5c405c Updated GTK3 menu item creation in menu_quick_item and create_icon_menu to use GtkBox with GtkImage and GtkLabel while keeping GTK2 image menu items intact.
Reworked GTK3 channel list context menu items to use GtkBox-packed images and mnemonic labels, preserving GTK2 behavior under !HAVE_GTK3.
Added GTK3 menu item layouts for spell entry actions and suggestion menu with icon-name images and mnemonic labels, while retaining GTK2 image menu items.
2026-01-23 13:27:40 -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
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
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
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
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
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
Chase Patterson
18b741804c Use localized "HexChat" in window titles
Also allow rearranging of "HexChat" in window titles
2017-09-15 19:18:29 -04:00
Chase Patterson
d935197895 Change windows from starting with "Hexchat: " to ending with " - Hexchat" 2017-09-15 19:18:29 -04:00
TingPing
95febd978c Fix building as c89 2014-12-28 06:47:23 -05: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
TingPing
d3b4771103 Fix warning.. 2014-02-15 11:55:29 -05:00
TingPing
22b5affbe6 Use GRegex for channel list search
This adds support for Windows
2014-02-15 11:50:22 -05:00
TingPing
b245f2f79e Tweak column sizing in channel list 2014-02-14 21:24:12 -05:00
TingPing
ce09cb4a91 Update most deprecated gtk functions 2014-01-18 14:47:17 -05:00
TingPing
fa1eb92a7b Update most deprecated gdk functions 2014-01-18 14:47:17 -05: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
ab6bf4234c Bind esc to close in chanlist 2013-08-05 07:06:04 -04:00
TingPing
7ef8d0d443 More autojoin wording tweaks 2013-06-13 20:53:55 -04:00
RichardHitt
e3fd501057 Do save_config() on Channel List window min, max changes
#570
2013-05-01 12:47:53 -07:00
Berke Viktor
9c49254abd Only include top level includes from GTK+, GLib and GDK-PixBuf 2013-04-02 20:39:37 -07: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
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
bf27d43052 Variable cleanup for gui_* 2012-10-22 13:49:28 +02:00
Berke Viktor
4e2d376390 Make HexChat remember minimum and maximum users set in channel list 2012-07-23 10:09:39 +02:00
Berke Viktor
bc651b0222 Add extension filter for file dialogs, specify filters and starting folder for loading plugins 2012-07-21 21:42:48 +02:00
Berke Viktor
e7f723539d Some aid for compiler warnings 2012-07-21 14:26:19 +02:00
Berke Viktor
e57659e63f Some more rebranding 2012-07-12 17:49:26 +02:00
Berke Viktor
132ef6cb50 initial patches for linux compatibility 2011-12-11 17:34:02 +01:00
berkeviktor@aol.com
d03d6e606b add wdk changes to named branch 2011-02-28 18:59:32 +01:00
berkeviktor@aol.com
4a6ceffb98 add xchat r1489 2011-02-24 04:14:30 +01:00