|
Jakub Filak |
b69ae49 |
From b1911301e6c8cbe0ae4ea90d4e0cbb08e575e743 Mon Sep 17 00:00:00 2001
|
|
Jakub Filak |
b69ae49 |
From: Jakub Filak <jfilak@redhat.com>
|
|
Jakub Filak |
b69ae49 |
Date: Fri, 18 Jul 2014 08:28:04 +0200
|
|
Jakub Filak |
b69ae49 |
Subject: [PATCH 2/8] gui: make preferences dialogue modal for parents
|
|
Jakub Filak |
b69ae49 |
|
|
Jakub Filak |
b69ae49 |
Resolves rhbz#1120879
|
|
Jakub Filak |
b69ae49 |
|
|
Jakub Filak |
b69ae49 |
Signed-off-by: Jakub Filak <jfilak@redhat.com>
|
|
Jakub Filak |
b69ae49 |
---
|
|
Jakub Filak |
b69ae49 |
src/gtk-helpers/config_dialog.c | 26 +++++++++++++++++++-------
|
|
Jakub Filak |
b69ae49 |
1 file changed, 19 insertions(+), 7 deletions(-)
|
|
Jakub Filak |
b69ae49 |
|
|
Jakub Filak |
b69ae49 |
diff --git a/src/gtk-helpers/config_dialog.c b/src/gtk-helpers/config_dialog.c
|
|
Jakub Filak |
b69ae49 |
index 6de08e3..2397df7 100644
|
|
Jakub Filak |
b69ae49 |
--- a/src/gtk-helpers/config_dialog.c
|
|
Jakub Filak |
b69ae49 |
+++ b/src/gtk-helpers/config_dialog.c
|
|
Jakub Filak |
b69ae49 |
@@ -282,7 +282,17 @@ GtkWindow *create_config_list_window(GHashTable *configs, GtkWindow *parent)
|
|
Jakub Filak |
b69ae49 |
INITIALIZE_LIBREPORT();
|
|
Jakub Filak |
b69ae49 |
|
|
Jakub Filak |
b69ae49 |
// config window
|
|
Jakub Filak |
b69ae49 |
- GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
|
Jakub Filak |
b69ae49 |
+ GtkWidget *window = NULL;
|
|
Jakub Filak |
b69ae49 |
+ if (parent != NULL)
|
|
Jakub Filak |
b69ae49 |
+ {
|
|
Jakub Filak |
b69ae49 |
+ window = gtk_dialog_new();
|
|
Jakub Filak |
b69ae49 |
+ gtk_window_set_icon_name(GTK_WINDOW(window), gtk_window_get_icon_name(parent));
|
|
Jakub Filak |
b69ae49 |
+ gtk_window_set_modal(GTK_WINDOW(window), TRUE);
|
|
Jakub Filak |
b69ae49 |
+ gtk_window_set_transient_for(GTK_WINDOW(window), parent);
|
|
Jakub Filak |
b69ae49 |
+ }
|
|
Jakub Filak |
b69ae49 |
+ else
|
|
Jakub Filak |
b69ae49 |
+ window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
|
Jakub Filak |
b69ae49 |
+
|
|
Jakub Filak |
b69ae49 |
gtk_container_set_border_width(GTK_CONTAINER(window), 5);
|
|
Jakub Filak |
b69ae49 |
gtk_window_set_title(GTK_WINDOW(window), _("Configuration"));
|
|
Jakub Filak |
b69ae49 |
gtk_window_set_default_size(GTK_WINDOW(window), 450, 400);
|
|
Jakub Filak |
b69ae49 |
@@ -290,11 +300,6 @@ GtkWindow *create_config_list_window(GHashTable *configs, GtkWindow *parent)
|
|
Jakub Filak |
b69ae49 |
? GTK_WIN_POS_CENTER_ON_PARENT
|
|
Jakub Filak |
b69ae49 |
: GTK_WIN_POS_CENTER);
|
|
Jakub Filak |
b69ae49 |
|
|
Jakub Filak |
b69ae49 |
- if (parent != NULL)
|
|
Jakub Filak |
b69ae49 |
- {
|
|
Jakub Filak |
b69ae49 |
- gtk_window_set_modal(GTK_WINDOW(window), true);
|
|
Jakub Filak |
b69ae49 |
- gtk_window_set_transient_for(GTK_WINDOW(window), parent);
|
|
Jakub Filak |
b69ae49 |
- }
|
|
Jakub Filak |
b69ae49 |
|
|
Jakub Filak |
b69ae49 |
//g_signal_connect(window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
|
|
Jakub Filak |
b69ae49 |
|
|
Jakub Filak |
b69ae49 |
@@ -334,7 +339,14 @@ GtkWindow *create_config_list_window(GHashTable *configs, GtkWindow *parent)
|
|
Jakub Filak |
b69ae49 |
|
|
Jakub Filak |
b69ae49 |
|
|
Jakub Filak |
b69ae49 |
gtk_box_pack_start(GTK_BOX(main_vbox), btn_box, 0, 0, 0);
|
|
Jakub Filak |
b69ae49 |
- gtk_container_add(GTK_CONTAINER(window), main_vbox);
|
|
Jakub Filak |
b69ae49 |
+ if (parent != NULL)
|
|
Jakub Filak |
b69ae49 |
+ {
|
|
Jakub Filak |
b69ae49 |
+ GtkWidget *content = gtk_dialog_get_content_area(GTK_DIALOG(window));
|
|
Jakub Filak |
b69ae49 |
+ gtk_box_pack_start(GTK_BOX(content), main_vbox, /*expand*/TRUE, /*fill*/TRUE, /*padding*/0);
|
|
Jakub Filak |
b69ae49 |
+ gtk_widget_show_all(content);
|
|
Jakub Filak |
b69ae49 |
+ }
|
|
Jakub Filak |
b69ae49 |
+ else
|
|
Jakub Filak |
b69ae49 |
+ gtk_container_add(GTK_CONTAINER(window), main_vbox);
|
|
Jakub Filak |
b69ae49 |
|
|
Jakub Filak |
b69ae49 |
//gtk_widget_show_all(window);
|
|
Jakub Filak |
b69ae49 |
return GTK_WINDOW(window);
|
|
Jakub Filak |
b69ae49 |
--
|
|
Jakub Filak |
b69ae49 |
1.9.3
|
|
Jakub Filak |
b69ae49 |
|