[empathy: 24/26] irc-network-chooser-dialog: make it transient and modal
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy: 24/26] irc-network-chooser-dialog: make it transient and modal
- Date: Thu, 26 Aug 2010 12:05:24 +0000 (UTC)
commit 3ba9a682ce49528af7db7a6d7e5b5baddd475618
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date: Thu Aug 26 13:54:01 2010 +0200
irc-network-chooser-dialog: make it transient and modal
.../empathy-irc-network-chooser-dialog.c | 6 +++++-
.../empathy-irc-network-chooser-dialog.h | 3 ++-
libempathy-gtk/empathy-irc-network-chooser.c | 5 ++++-
3 files changed, 11 insertions(+), 3 deletions(-)
---
diff --git a/libempathy-gtk/empathy-irc-network-chooser-dialog.c b/libempathy-gtk/empathy-irc-network-chooser-dialog.c
index b4483df..06d9e59 100644
--- a/libempathy-gtk/empathy-irc-network-chooser-dialog.c
+++ b/libempathy-gtk/empathy-irc-network-chooser-dialog.c
@@ -534,6 +534,8 @@ empathy_irc_network_chooser_dialog_constructed (GObject *object)
/* Request a side ensuring to display at least some networks */
gtk_widget_set_size_request (GTK_WIDGET (self), -1, 300);
+
+ gtk_window_set_modal (GTK_WINDOW (self), TRUE);
}
static void
@@ -594,11 +596,13 @@ empathy_irc_network_chooser_dialog_init (EmpathyIrcNetworkChooserDialog *self)
GtkWidget *
empathy_irc_network_chooser_dialog_new (EmpathyAccountSettings *settings,
- EmpathyIrcNetwork *network)
+ EmpathyIrcNetwork *network,
+ GtkWindow *parent)
{
return g_object_new (EMPATHY_TYPE_IRC_NETWORK_CHOOSER_DIALOG,
"settings", settings,
"network", network,
+ "transient-for", parent,
NULL);
}
diff --git a/libempathy-gtk/empathy-irc-network-chooser-dialog.h b/libempathy-gtk/empathy-irc-network-chooser-dialog.h
index 1c9d3fa..0d4f24e 100644
--- a/libempathy-gtk/empathy-irc-network-chooser-dialog.h
+++ b/libempathy-gtk/empathy-irc-network-chooser-dialog.h
@@ -57,7 +57,8 @@ GType empathy_irc_network_chooser_dialog_get_type (void) G_GNUC_CONST;
GtkWidget * empathy_irc_network_chooser_dialog_new (
EmpathyAccountSettings *settings,
- EmpathyIrcNetwork *network);
+ EmpathyIrcNetwork *network,
+ GtkWindow *parent);
EmpathyIrcNetwork * empathy_irc_network_chooser_dialog_get_network (
EmpathyIrcNetworkChooserDialog *self);
diff --git a/libempathy-gtk/empathy-irc-network-chooser.c b/libempathy-gtk/empathy-irc-network-chooser.c
index 6d41ae2..55a90fd 100644
--- a/libempathy-gtk/empathy-irc-network-chooser.c
+++ b/libempathy-gtk/empathy-irc-network-chooser.c
@@ -264,12 +264,15 @@ clicked_cb (GtkButton *button,
gpointer user_data)
{
EmpathyIrcNetworkChooserPriv *priv = GET_PRIV (button);
+ GtkWindow *window;
if (priv->dialog != NULL)
goto out;
+ window = empathy_get_toplevel_window (GTK_WIDGET (button));
+
priv->dialog = empathy_irc_network_chooser_dialog_new (priv->settings,
- priv->network);
+ priv->network, window);
gtk_widget_show_all (priv->dialog);
tp_g_signal_connect_object (priv->dialog, "response",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]