X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fhildon2%2Fmodest-maemo-utils.c;h=453be778d0089ec29dbfca3b6d9690691d423194;hp=0dcdf0ba6be4a038e14186f4de4a6e31f4822a7f;hb=7c1afddeef34ee1fe24f4fb2a67b3d67b5ba7c47;hpb=1046188c1febcdf1a34637a7400de3d3162e0302 diff --git a/src/hildon2/modest-maemo-utils.c b/src/hildon2/modest-maemo-utils.c index 0dcdf0b..453be77 100644 --- a/src/hildon2/modest-maemo-utils.c +++ b/src/hildon2/modest-maemo-utils.c @@ -107,18 +107,25 @@ modest_maemo_utils_get_device_name (void) void modest_maemo_utils_setup_images_filechooser (GtkFileChooser *chooser) { - gchar *images_folder; GtkFileFilter *file_filter; GList *image_mimetypes_list; GList *node; + gchar *conf_folder; g_return_if_fail (GTK_IS_FILE_CHOOSER (chooser)); - /* Set the default folder to images folder */ - images_folder = g_build_filename (g_getenv (MODEST_MAEMO_UTILS_MYDOCS_ENV), - MODEST_MAEMO_UTILS_DEFAULT_IMAGE_FOLDER, NULL); - gtk_file_chooser_set_current_folder (chooser, images_folder); - g_free (images_folder); + conf_folder = modest_conf_get_string (modest_runtime_get_conf (), MODEST_CONF_LATEST_INSERT_IMAGE_PATH, NULL); + if (conf_folder && conf_folder[0] != '\0') { + gtk_file_chooser_set_current_folder_uri (chooser, conf_folder); + } else { + gchar *images_folder; + /* Set the default folder to images folder */ + images_folder = g_build_filename (g_getenv (MODEST_MAEMO_UTILS_MYDOCS_ENV), + MODEST_MAEMO_UTILS_DEFAULT_IMAGE_FOLDER, NULL); + gtk_file_chooser_set_current_folder (chooser, images_folder); + g_free (images_folder); + } + g_free (conf_folder); /* Set the images mime filter */ file_filter = gtk_file_filter_new (); @@ -149,34 +156,6 @@ modest_maemo_set_thumbable_scrollbar (GtkScrolledWindow *win, #endif /* MODEST_HAVE_HILDON1_WIDGETS */ } -FILE* -modest_maemo_open_mcc_mapping_file (void) -{ - FILE* result; - - const gchar* path; - const gchar* path1 = MODEST_OPERATOR_WIZARD_MCC_MAPPING; - const gchar* path2 = MODEST_MCC_MAPPING; - - if (access(path1, R_OK) == 0) - path = path1; - else if (access(path2, R_OK) == 0) - path = path2; - else { - g_warning ("%s: neither '%s' nor '%s' is a readable mapping file", - __FUNCTION__, path1, path2); - return NULL; - } - - result = fopen (path, "r"); - if (!result) { - g_warning ("%s: error opening mapping file '%s': %s", - __FUNCTION__, path, strerror(errno)); - return NULL; - } - return result; -} - GtkWidget * modest_maemo_utils_get_manager_menubar_as_menu (GtkUIManager *manager, const gchar *item_name) @@ -226,7 +205,7 @@ modest_maemo_utils_create_captioned (GtkSizeGroup *title_size_group, title, use_markup, control, - HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH); + 0); } /** @@ -252,6 +231,7 @@ modest_maemo_utils_create_captioned_with_size_type (GtkSizeGroup *title_size_ HildonSizeType size_type) { GtkWidget *label; + GtkWidget *align; GtkWidget *box; if (use_markup) { @@ -260,14 +240,18 @@ modest_maemo_utils_create_captioned_with_size_type (GtkSizeGroup *title_size_ } else { label = gtk_label_new (title); } + align = gtk_alignment_new (0.0, 0.0, 1.0, 1.0); + gtk_alignment_set_padding (GTK_ALIGNMENT (align), 0, 0, MODEST_MARGIN_DOUBLE, MODEST_MARGIN_TRIPLE); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); hildon_gtk_widget_set_theme_size (label, HILDON_SIZE_FINGER_HEIGHT); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_widget_show (label); - box = gtk_hbox_new (FALSE, MODEST_MARGIN_HALF); - gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, MODEST_MARGIN_HALF); - gtk_box_pack_start (GTK_BOX (box), control, TRUE, TRUE, MODEST_MARGIN_HALF); + gtk_widget_show (align); + box = gtk_hbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (align), label); + gtk_box_pack_start (GTK_BOX (box), align, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (box), control, TRUE, TRUE, 0); if (title_size_group) gtk_size_group_add_widget (title_size_group, label); if (value_size_group) @@ -375,7 +359,7 @@ static gboolean match_all (TnyList *list, GObject *item, gpointer match_data) } gboolean -modest_maemo_utils_select_attachments (GtkWindow *window, TnyList *att_list) +modest_maemo_utils_select_attachments (GtkWindow *window, TnyList *att_list, gboolean include_msgs) { GtkTreeModel *model; TnyIterator *iterator; @@ -384,6 +368,7 @@ modest_maemo_utils_select_attachments (GtkWindow *window, TnyList *att_list) GtkWidget *dialog; gint response; gboolean result = TRUE; + gint attachments_added = 0; model = GTK_TREE_MODEL (gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_OBJECT)); for (iterator = tny_list_create_iterator (att_list); @@ -391,19 +376,30 @@ modest_maemo_utils_select_attachments (GtkWindow *window, TnyList *att_list) tny_iterator_next (iterator)) { GtkTreeIter iter; TnyMimePart *part; + gchar *filename = NULL; part = (TnyMimePart *) tny_iterator_get_current (iterator); - /* Embbeded messages are not offered to be saved */ - if (!TNY_IS_MSG (part)) { - gchar *label; - gchar *filename = NULL; - - filename = g_strdup (tny_mime_part_get_filename (part)); - label = g_strconcat (filename, NULL); + /* Ignore purged attachments and messages if ignore is + set to TRUE */ + if (!(tny_mime_part_is_purged (part) || + (TNY_IS_MSG (part) && !include_msgs))) { + + if (TNY_IS_MSG (part)) { + TnyHeader *header = tny_msg_get_header (TNY_MSG (part)); + filename = tny_header_dup_subject (header); + if ((filename == NULL) || (filename[0] == '\0')) { + g_free (filename); + filename = g_strdup (_("mail_va_no_subject")); + } + g_object_unref (header); + } else { + filename = g_strdup (tny_mime_part_get_filename (part)); + } gtk_list_store_append (GTK_LIST_STORE (model), &iter); - gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, label, 1, part, -1); - g_free (label); + gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, filename, 1, part, -1); + attachments_added ++; + g_free (filename); g_object_unref (part); } } @@ -416,7 +412,8 @@ modest_maemo_utils_select_attachments (GtkWindow *window, TnyList *att_list) HILDON_TOUCH_SELECTOR_SELECTION_MODE_MULTIPLE); dialog = hildon_picker_dialog_new (window); - gtk_window_set_title (GTK_WINDOW (dialog), _("mcen_ti_select_attachment_title")); + gtk_window_set_title (GTK_WINDOW (dialog), (attachments_added > 1)? + _("mcen_ti_select_attachments_title"):_("mcen_ti_select_attachment_title")); hildon_picker_dialog_set_selector (HILDON_PICKER_DIALOG (dialog), HILDON_TOUCH_SELECTOR (selector)); hildon_picker_dialog_set_done_label (HILDON_PICKER_DIALOG (dialog), _HL("wdgt_bd_done"));