From a364003465b956d22e8d7e38e6862fafdfc1c0b4 Mon Sep 17 00:00:00 2001 From: eukos Date: Fri, 8 Jan 2016 13:42:26 +0100 Subject: [PATCH] Can now resize the launcher properly --- launcher/main.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/launcher/main.c b/launcher/main.c index 7bc4577..e4a5414 100644 --- a/launcher/main.c +++ b/launcher/main.c @@ -158,6 +158,13 @@ void launcher_start() system(cmd); } +gboolean resize_list(GtkWidget *window, GdkEvent *event, GtkWidget *widget) +{ + gint width, height; + gtk_window_get_size(window, &width, &height); + gtk_widget_set_size_request(widget, 440, height - (118+41)); +} + int main(int argc, char *argv[]) { GtkWidget *window; @@ -182,11 +189,18 @@ int main(int argc, char *argv[]) launcher_settings_load(); + GdkGeometry hints; + hints.min_width = 444; + hints.max_width = 444; + hints.min_height = 225; + hints.max_height = 1080; + window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "NGUNIX Launcher"); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_container_set_border_width(GTK_CONTAINER(window), 2); - gtk_window_set_resizable(GTK_WINDOW(window), FALSE); + //gtk_window_set_resizable(GTK_WINDOW(window), FALSE); + gtk_window_set_geometry_hints(GTK_WINDOW(window), window, &hints, (GdkWindowHints)(GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE)); gtk_widget_realize(window); icon_image = gdk_pixbuf_new_from_xpm_data((const char**)icon_xpm); @@ -204,10 +218,10 @@ int main(int argc, char *argv[]) btnquit = gtk_button_new_from_stock(GTK_STOCK_QUIT); gtk_fixed_put(GTK_FIXED(ltable1), btnplay, 0, 118); - gtk_widget_set_size_request(btnplay, 144, 40); - gtk_fixed_put(GTK_FIXED(ltable1), btnsetting, 146, 118); + gtk_widget_set_size_request(btnplay, 146, 40); + gtk_fixed_put(GTK_FIXED(ltable1), btnsetting, 148, 118); gtk_widget_set_size_request(btnsetting, 144, 40); - gtk_fixed_put(GTK_FIXED(ltable1), btnquit, 146+146, 118); + gtk_fixed_put(GTK_FIXED(ltable1), btnquit, 148+146, 118); gtk_widget_set_size_request(btnquit, 144, 40); listwindow = gtk_scrolled_window_new (NULL, NULL); @@ -227,6 +241,7 @@ int main(int argc, char *argv[]) g_signal_connect(selection, "changed", G_CALLBACK(launcher_list_changed), listgames); gtk_signal_connect (GTK_OBJECT (btnplay), "clicked", GTK_SIGNAL_FUNC (launcher_start),NULL); gtk_signal_connect (GTK_OBJECT (btnquit), "clicked", GTK_SIGNAL_FUNC (gtk_main_quit),NULL); + g_signal_connect(G_OBJECT(window), "configure-event", G_CALLBACK(resize_list), (gpointer)listwindow); iGameCnt = 1; printf("[LAUNCHER] Scanning directories....\n");