From ca07da63a89c3f727368a09f6d51e4f9c34148c8 Mon Sep 17 00:00:00 2001 From: Dino Date: Sat, 24 May 2025 20:49:04 -0400 Subject: [PATCH] #1287 - gtk3.22 & gtk4 clients remember the size of the help dlog, within each runtime. --- client/gui-gtk-3.22/helpdlg.c | 6 +++++- client/gui-gtk-4.0/helpdlg.c | 8 ++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/client/gui-gtk-3.22/helpdlg.c b/client/gui-gtk-3.22/helpdlg.c index f9445e9a0a..9a2a7a6918 100644 --- a/client/gui-gtk-3.22/helpdlg.c +++ b/client/gui-gtk-3.22/helpdlg.c @@ -67,6 +67,7 @@ static GtkWidget *help_view_sw; static GtkWidget *help_view; static GtkWidget *help_frame; +static int help_frame_width = 520, help_frame_height = 350; static GtkTextBuffer *help_text; static GtkWidget *help_text_sw; static GtkWidget *help_vbox; @@ -602,7 +603,7 @@ static void create_help_dialog(void) help_frame = gtk_frame_new(""); gtk_container_add(GTK_CONTAINER(hbox), help_frame); - gtk_widget_set_size_request(help_frame, 520, 350); + gtk_widget_set_size_request(help_frame, help_frame_width, help_frame_height); gtk_widget_show(help_frame); help_box = gtk_grid_new(); @@ -1757,6 +1758,9 @@ static void help_command_callback(GtkWidget *w, gint response_id) help_command_update(); } } else { + /* Save size of the dialog. */ + help_frame_width = gtk_widget_get_allocated_width(help_frame); + help_frame_height = gtk_widget_get_allocated_height(help_frame); gtk_widget_destroy(help_dialog_shell); } } diff --git a/client/gui-gtk-4.0/helpdlg.c b/client/gui-gtk-4.0/helpdlg.c index ac5e18d4aa..3f61db138a 100644 --- a/client/gui-gtk-4.0/helpdlg.c +++ b/client/gui-gtk-4.0/helpdlg.c @@ -67,6 +67,7 @@ static GtkWidget *help_view_sw; static GtkWidget *help_view; static GtkWidget *help_frame; +static int help_dlog_width = 520, help_dlog_height = 350; static GtkTextBuffer *help_text; static GtkWidget *help_text_sw; static GtkWidget *help_vbox; @@ -561,6 +562,9 @@ static void create_help_dialog(void) G_CALLBACK(help_command_callback), NULL); g_signal_connect(help_dialog_shell, "destroy", G_CALLBACK(help_destroy_callback), NULL); + gtk_window_set_default_size (GTK_WINDOW(help_dialog_shell), + help_dlog_width, + help_dlog_height); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_box_append(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(help_dialog_shell))), @@ -1806,6 +1810,10 @@ static void help_command_callback(GtkWidget *w, gint response_id) help_command_update(); } } else { + /* Save size of the dialog. */ + gtk_window_get_default_size (GTK_WINDOW(help_dialog_shell), + &help_dlog_width, + &help_dlog_height); gtk_window_destroy(GTK_WINDOW(help_dialog_shell)); } } -- 2.31.0