From 511640871beb4236ef57c4fe6ae8e64e459e036c Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 12 Dec 2024 12:51:06 +0600 Subject: [PATCH] Fixed scroll policy changing function --- libublsettingsui-gtk3.glade | 7 ++++--- source/libublsettingsui-gtk3.c | 12 ++++++++++++ source/libublsettingsui-gtk3.h | 2 ++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/libublsettingsui-gtk3.glade b/libublsettingsui-gtk3.glade index ba0a34d..2e204d8 100644 --- a/libublsettingsui-gtk3.glade +++ b/libublsettingsui-gtk3.glade @@ -227,10 +227,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - 800 - 600 + 640 + 440 False - 800 + 1024 + 720 com.ublinux.libublsettingsui-gtk3 diff --git a/source/libublsettingsui-gtk3.c b/source/libublsettingsui-gtk3.c index cb190d1..2f56656 100644 --- a/source/libublsettingsui-gtk3.c +++ b/source/libublsettingsui-gtk3.c @@ -637,6 +637,18 @@ template_main_window *setup_window(){ gtk_widget_show(widgets->Window); return widgets; } +void __yon_on_size_changed(GtkWindow *self, GtkScrolledWindow *target){ + int x,y; + gtk_window_get_size(self,&x,&y); + if (x<800) + gtk_scrolled_window_set_policy(target,GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC); + else + gtk_scrolled_window_set_policy(target,GTK_POLICY_NEVER,GTK_POLICY_AUTOMATIC); +} + +void yon_gtk_scrolled_window_set_horizontal_at_desired_size(GtkWidget *window, GtkScrolledWindow *target){ + g_signal_connect(G_OBJECT(window),"check-resize",G_CALLBACK(__yon_on_size_changed),target); +} int yon_ubl_window_init(char *app_title, char *app_description, char *locale, char *css, char *tech_name, char *version, char *wiki){ template_app_information.app_title=app_title; diff --git a/source/libublsettingsui-gtk3.h b/source/libublsettingsui-gtk3.h index 05193c1..39d9c4b 100644 --- a/source/libublsettingsui-gtk3.h +++ b/source/libublsettingsui-gtk3.h @@ -306,4 +306,6 @@ void on_about(GtkWidget *self, char *version_application); void on_open_documentation_confirmation(GtkWidget *self, char *link); int yon_ubl_setup_arguments(int argc, char *argv[],config_str *unfound_arguments, int *arguments_size, char *additional_options_output); + +void yon_gtk_scrolled_window_set_horizontal_at_desired_size(GtkWidget *window, GtkScrolledWindow *target); #endif \ No newline at end of file