X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fhildon2%2Fmodest-platform.c;h=09ff30e9f5c875d41c3d6d007ac7483c3513e54f;hp=76df0ae5a109498956f3185adc6170427109e6ef;hb=597d09f3e99a5d657328472afab0f64e0e0e0ebb;hpb=f5dbb2464d5dba5b010396609ad8714f566a7c04 diff --git a/src/hildon2/modest-platform.c b/src/hildon2/modest-platform.c index 76df0ae..09ff30e 100644 --- a/src/hildon2/modest-platform.c +++ b/src/hildon2/modest-platform.c @@ -29,6 +29,7 @@ #include #include + #include #include #include @@ -42,6 +43,8 @@ #include #include #include +#include +#include #include #include #include @@ -55,7 +58,7 @@ #include #include #include "modest-hildon2-sort-dialog.h" -#include +#include #include #include "hildon2/modest-hildon2-details-dialog.h" #include "hildon2/modest-hildon2-window-mgr.h" @@ -562,6 +565,10 @@ entry_insert_text (GtkEditable *editable, g_free (msg); g_free (tmp); } else { + if (length >= 20) { + hildon_banner_show_information (gtk_widget_get_parent (GTK_WIDGET (data)), NULL, + _CS("ckdg_ib_maximum_characters_reached")); + } /* Write the text in the entry if it's valid */ g_signal_handlers_block_by_func (editable, (gpointer) entry_insert_text, data); @@ -589,11 +596,11 @@ entry_changed (GtkEditable *editable, g_return_if_fail (chars != NULL); - if (g_utf8_strlen (chars,-1) >= 20) + if (g_utf8_strlen (chars,-1) >= 20) { hildon_banner_show_information (gtk_widget_get_parent (GTK_WIDGET (user_data)), NULL, _CS("ckdg_ib_maximum_characters_reached")); - else - gtk_widget_set_sensitive (ok_button, modest_text_utils_validate_folder_name(chars)); + } + gtk_widget_set_sensitive (ok_button, modest_text_utils_validate_folder_name(chars)); /* Free */ g_list_free (buttons); @@ -754,12 +761,48 @@ folder_picker_set_store (GtkButton *button, TnyFolderStore *store) if (store == NULL) { g_object_set_data (G_OBJECT (button), FOLDER_PICKER_CURRENT_FOLDER, NULL); } else { + GdkPixbuf *pixbuf; + const gchar *icon_name = NULL; + g_object_ref (store); g_object_set_data_full (G_OBJECT (button), FOLDER_PICKER_CURRENT_FOLDER, store, (GDestroyNotify) g_object_unref); name = folder_store_get_display_name (store); hildon_button_set_value (HILDON_BUTTON (button), name); g_free (name); + + /* Select icon */ + if (TNY_IS_ACCOUNT (store)) { + if (modest_tny_account_is_virtual_local_folders (TNY_ACCOUNT (store))) + icon_name = MODEST_FOLDER_ICON_LOCAL_FOLDERS; + else if (modest_tny_account_is_memory_card_account (TNY_ACCOUNT (store))) + icon_name = MODEST_FOLDER_ICON_MMC; + else + icon_name = MODEST_FOLDER_ICON_ACCOUNT; + } else { + if (modest_tny_folder_is_remote_folder (TNY_FOLDER (store))) { + TnyFolderType type = modest_tny_folder_guess_folder_type (TNY_FOLDER (store)); + switch (type) { + case TNY_FOLDER_TYPE_INBOX: + icon_name = MODEST_FOLDER_ICON_INBOX; + break; + default: + icon_name = MODEST_FOLDER_ICON_ACCOUNT; + } + } else if (modest_tny_folder_is_local_folder (TNY_FOLDER (store))) + icon_name = MODEST_FOLDER_ICON_NORMAL; + else if (modest_tny_folder_is_memory_card_folder (TNY_FOLDER (store))) + icon_name = MODEST_FOLDER_ICON_MMC_FOLDER; + } + + /* Set icon */ + pixbuf = modest_platform_get_icon (icon_name, MODEST_ICON_SIZE_SMALL); + + if (pixbuf) { + hildon_button_set_image (HILDON_BUTTON (button), + gtk_image_new_from_pixbuf (pixbuf)); + g_object_unref (pixbuf); + } } } @@ -779,15 +822,10 @@ static GtkWidget * folder_picker_new (ModestFolderView *folder_view, TnyFolderStore *suggested) { GtkWidget *button; - GdkPixbuf *pixbuf; button = hildon_button_new (MODEST_EDITABLE_SIZE, HILDON_BUTTON_ARRANGEMENT_HORIZONTAL); - pixbuf = modest_platform_get_icon (MODEST_FOLDER_ICON_NORMAL, - MODEST_ICON_SIZE_SMALL); - hildon_button_set_image (HILDON_BUTTON (button), - gtk_image_new_from_pixbuf (pixbuf)); hildon_button_set_alignment (HILDON_BUTTON (button), 0.0, 0.5, 1.0, 1.0); if (suggested) { @@ -2167,12 +2205,19 @@ modest_platform_connect_if_remote_and_perform (GtkWindow *parent_window, gpointer user_data) { TnyAccount *account = NULL; - - if (!folder_store) { + + if (!folder_store || + (TNY_IS_MERGE_FOLDER (folder_store) && + (tny_folder_get_folder_type (TNY_FOLDER(folder_store)) == TNY_FOLDER_TYPE_OUTBOX))) { + /* We promise to instantly perform the callback, so ... */ if (callback) { - callback (FALSE, NULL, parent_window, NULL, user_data); - } + GError *error = NULL; + g_set_error (&error, TNY_ERROR_DOMAIN, TNY_SERVICE_ERROR_UNKNOWN, + "Unable to move or not found folder"); + callback (FALSE, error, parent_window, NULL, user_data); + g_error_free (error); + } return; } else if (TNY_IS_FOLDER (folder_store)) { @@ -2294,7 +2339,7 @@ modest_platform_check_memory_low (ModestWindow *win, if (win && lowmem && visuals) modest_platform_run_information_dialog ( GTK_WINDOW(win), - dgettext("ke-recv","memr_ib_operation_disabled"), + _KR("memr_ib_operation_disabled"), TRUE); if (lowmem) @@ -2416,7 +2461,7 @@ modest_platform_create_move_to_dialog (GtkWindow *parent_window, GTK_WINDOW (parent_window), GTK_DIALOG_MODAL | GTK_DIALOG_NO_SEPARATOR | GTK_DIALOG_DESTROY_WITH_PARENT, - _("mcen_bd_new"), MODEST_GTK_RESPONSE_NEW_FOLDER, + _HL("wdgt_bd_new"), MODEST_GTK_RESPONSE_NEW_FOLDER, NULL); /* Create folder view */