aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-importer.c
diff options
context:
space:
mode:
authorIain Holmes <iain@src.gnome.org>2002-06-27 01:29:26 +0800
committerIain Holmes <iain@src.gnome.org>2002-06-27 01:29:26 +0800
commit58b5a7c7332d3c9e3ef0ff269f184a27fba3e454 (patch)
treeaa77eb7b71eb916609021347e6b5aefaff54a651 /shell/e-shell-importer.c
parentfb89bd8441ca4c5f482412dad07e778a117d2eb8 (diff)
downloadgsoc2013-evolution-58b5a7c7332d3c9e3ef0ff269f184a27fba3e454.tar
gsoc2013-evolution-58b5a7c7332d3c9e3ef0ff269f184a27fba3e454.tar.gz
gsoc2013-evolution-58b5a7c7332d3c9e3ef0ff269f184a27fba3e454.tar.bz2
gsoc2013-evolution-58b5a7c7332d3c9e3ef0ff269f184a27fba3e454.tar.lz
gsoc2013-evolution-58b5a7c7332d3c9e3ef0ff269f184a27fba3e454.tar.xz
gsoc2013-evolution-58b5a7c7332d3c9e3ef0ff269f184a27fba3e454.tar.zst
gsoc2013-evolution-58b5a7c7332d3c9e3ef0ff269f184a27fba3e454.zip
Only let the dialog be opened once
svn path=/trunk/; revision=17294
Diffstat (limited to 'shell/e-shell-importer.c')
-rw-r--r--shell/e-shell-importer.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/shell/e-shell-importer.c b/shell/e-shell-importer.c
index f555d553b7..01a61c6817 100644
--- a/shell/e-shell-importer.c
+++ b/shell/e-shell-importer.c
@@ -1213,6 +1213,13 @@ druid_finish_button_change (GnomeDruid *druid)
gtk_label_set_text (GTK_LABEL (label), _("Import"));
}
+static void
+close_dialog (GtkWidget *dialog,
+ gboolean *dialog_open)
+{
+ *dialog_open = FALSE;
+}
+
void
show_import_wizard (BonoboUIComponent *component,
gpointer user_data,
@@ -1220,7 +1227,13 @@ show_import_wizard (BonoboUIComponent *component,
{
ImportData *data = g_new0 (ImportData, 1);
GtkWidget *html;
+ static gboolean dialog_open = FALSE;
+ if (dialog_open) {
+ return;
+ }
+
+ dialog_open = TRUE;
data->view = E_SHELL_VIEW (user_data);
data->shell = e_shell_view_get_shell (data->view);
@@ -1229,6 +1242,8 @@ show_import_wizard (BonoboUIComponent *component,
gtk_window_set_wmclass (GTK_WINDOW (data->dialog), "importdruid",
"Evolution:shell");
gtk_window_set_transient_for (GTK_WINDOW (data->dialog), GTK_WINDOW (user_data));
+ gtk_signal_connect (GTK_OBJECT (data->dialog), "destroy",
+ GTK_SIGNAL_FUNC (close_dialog), &dialog_open);
data->druid = glade_xml_get_widget (data->wizard, "druid1");
gtk_signal_connect (GTK_OBJECT (data->druid), "cancel",