+
+#if 0
+static void
+on_hide (GtkDialog *dialog, gpointer user_data)
+{
+ /* Just destroy the dialog: */
+ gtk_widget_destroy (GTK_WIDGET (dialog));
+}
+#endif
+
+#if 0 /* Not used now. */
+/* user_data for the idle callback: */
+typedef struct
+{
+ GtkWindow *parent_window;
+ gchar *message;
+} ModestIdleNoteInfo;
+
+static gboolean
+on_idle_show_information(gpointer user_data)
+{
+ ModestIdleNoteInfo *info = (ModestIdleNoteInfo*)user_data;
+
+ modest_maemo_show_information_note_and_forget (info->parent_window, info->message);
+
+ g_free (info->message);
+ g_slice_free (ModestIdleNoteInfo, info);
+
+ return FALSE; /* Don't call this again. */
+}
+
+void
+modest_maemo_show_information_note_in_main_context_and_forget (GtkWindow *parent_window,
+ const gchar* message)
+{
+ ModestIdleNoteInfo *info = g_slice_new (ModestIdleNoteInfo);
+ info->parent_window = parent_window;
+ info->message = g_strdup (message);
+
+ g_idle_add (on_idle_show_information, info);
+}
+#endif
+
+void
+modest_maemo_show_dialog_and_forget (GtkWindow *parent_window,
+ GtkDialog *dialog)
+{
+ gtk_window_set_transient_for (GTK_WINDOW (dialog), parent_window);
+
+ /* Destroy the dialog when it is closed: */
+ g_signal_connect_swapped (dialog,
+ "response",
+ G_CALLBACK (gtk_widget_destroy),
+ dialog);
+
+ gtk_widget_show (GTK_WIDGET (dialog));
+}
+
+
+
+void
+modest_maemo_set_thumbable_scrollbar (GtkScrolledWindow *win,
+ gboolean thumbable)
+{
+ g_return_if_fail (GTK_IS_SCROLLED_WINDOW(win));
+#ifdef MODEST_HAVE_HILDON1_WIDGETS
+ hildon_helper_set_thumb_scrollbar (win, thumbable);
+#endif /* MODEST_HAVE_HILDON1_WIDGETS */
+}
+
+void
+modest_maemo_toggle_action_set_active_block_notify (GtkToggleAction *action, gboolean value)
+{
+ GSList *proxies = NULL;
+
+ g_return_if_fail (GTK_IS_TOGGLE_ACTION (action));
+
+ for (proxies = gtk_action_get_proxies (GTK_ACTION (action));
+ proxies != NULL; proxies = g_slist_next (proxies)) {
+ GtkWidget *widget = (GtkWidget *) proxies->data;
+ gtk_action_block_activate_from (GTK_ACTION (action), widget);
+ }
+
+ gtk_toggle_action_set_active (action, value);
+
+ for (proxies = gtk_action_get_proxies (GTK_ACTION (action));
+ proxies != NULL; proxies = g_slist_next (proxies)) {
+ GtkWidget *widget = (GtkWidget *) proxies->data;
+ gtk_action_unblock_activate_from (GTK_ACTION (action), widget);
+ }
+
+}
+
+
+
+FILE*
+modest_maemo_open_mcc_mapping_file (void)
+{
+ FILE* result;
+
+ /* Load the file one line at a time: */
+#ifdef MODEST_HILDON_VERSION_0
+ const gchar* filepath = PROVIDER_DATA_DIR "/mcc_mapping";
+#else
+ const gchar* filepath = "/usr/share/operator-wizard/mcc_mapping";
+#endif /*MODEST_HILDON_VERSION_0*/
+
+ result = fopen (filepath, "r");
+ if (!result)
+ g_printerr ("modest: failed to open mcc mapping file");
+
+ return result;
+}
+
+