{
GtkWidget *main_menu;
GtkWidget *menubar;
- GList *iter;
+ GList *children, *iter;
g_return_val_if_fail (ui_manager, NULL);
/* Get the menubar from the UI manager */
menubar = gtk_ui_manager_get_widget (ui_manager, "/MenuBar");
- iter = gtk_container_get_children (GTK_CONTAINER (menubar));
+ iter = children = gtk_container_get_children (GTK_CONTAINER (menubar));
while (iter) {
GtkWidget *menu;
iter = g_list_next (iter);
}
+ g_list_free (children);
return main_menu;
}
return;
}
dbus_message_iter_get_basic (&iter, &device_name);
- g_warning ("update device name: %s", device_name);
modest_conf_set_string (modest_runtime_get_conf(),
MODEST_CONF_DEVICE_NAME, device_name,
NULL);
}
TnyFsStream *
-modest_maemo_utils_create_temp_stream (const gchar *orig_name, gchar **path)
+modest_maemo_utils_create_temp_stream (const gchar *orig_name, const gchar *hash_base, gchar **path)
{
gint fd;
gchar *filepath = NULL;
gchar *tmpdir;
+ guint hash_number;
/* hmmm... maybe we need a modest_text_utils_validate_file_name? */
g_return_val_if_fail (orig_name || strlen(orig_name) == 0, NULL);
}
/* make a random subdir under /tmp or /var/tmp */
- tmpdir = g_strdup_printf ("%s/%d", g_get_tmp_dir (), (guint)random());
- if (g_mkdir (tmpdir, 0755) == -1) {
+ if (hash_base != NULL) {
+ hash_number = g_str_hash (hash_base);
+ } else {
+ hash_number = (guint) random ();
+ }
+ tmpdir = g_strdup_printf ("%s/%u", g_get_tmp_dir (), hash_number);
+ if ((g_access (tmpdir, R_OK) == -1) && (g_mkdir (tmpdir, 0755) == -1)) {
g_warning ("%s: failed to create dir '%s': %s",
__FUNCTION__, tmpdir, g_strerror(errno));
g_free (tmpdir);
}
-static void
-on_response (GtkDialog *dialog, gint response, gpointer user_data)
-{
- /* Just destroy the dialog: */
- gtk_widget_destroy (GTK_WIDGET (dialog));
-}
-
-void
-modest_maemo_show_information_note_and_forget (GtkWindow *parent_window, const gchar* message)
-{
- GtkDialog *dialog = GTK_DIALOG (hildon_note_new_information (parent_window, message));
-
- /* Destroy the dialog when it is closed: */
- g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (on_response), NULL);
- gtk_widget_show (GTK_WIDGET (dialog));
-}
-
#if 0
static void
on_hide (GtkDialog *dialog, gpointer user_data)
return FALSE; /* Don't call this again. */
}
-void modest_maemo_show_information_note_in_main_context_and_forget (GtkWindow *parent_window, const gchar* message)
+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;
}
#endif
-void modest_maemo_show_dialog_and_forget (GtkWindow *parent_window, GtkDialog *dialog)
+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 (G_OBJECT (dialog), "response", G_CALLBACK (on_response), NULL);
+ 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)
+modest_maemo_set_thumbable_scrollbar (GtkScrolledWindow *win,
+ gboolean thumbable)
{
g_return_if_fail (GTK_IS_SCROLLED_WINDOW(win));
#ifdef MODEST_HAVE_HILDON1_WIDGETS
}
}
+
+
+
+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;
+}
+
+