* fix the fallout of the configuration changes - builds again now
[modest] / src / maemo / modest-msg-view-window.c
index 4b1b4eb..85f2822 100644 (file)
@@ -758,8 +758,9 @@ modest_msg_view_window_find_toolbar_search (GtkWidget *widget,
 
        g_object_get (G_OBJECT (widget), "prefix", &current_search, NULL);
 
-       if ((current_search == NULL) && (strcmp (current_search, "") == 0)) {
+       if ((current_search == NULL) || (strcmp (current_search, "") == 0)) {
                g_free (current_search);
+               hildon_banner_show_information (NULL, NULL, dgettext("hildon-common-strings", "ecdg_ib_find_rep_enter_text"));
                return;
        }
 
@@ -814,7 +815,7 @@ modest_msg_view_window_zoom_plus (ModestWindow *window)
        group = gtk_radio_action_get_group (zoom_radio_action);
 
        if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (group->data))) {
-               hildon_banner_show_information (NULL, NULL, _("mcen_ib_max_zoom_level"));
+               hildon_banner_show_information (NULL, NULL, dgettext("hildon-common-strings", "ckct_ib_max_zoom_level_reached"));
                return FALSE;
        }
 
@@ -846,7 +847,7 @@ modest_msg_view_window_zoom_minus (ModestWindow *window)
                                gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (node->next->data), TRUE);
                                return TRUE;
                        } else {
-                               hildon_banner_show_information (NULL, NULL, _("mcen_ib_min_zoom_level"));
+                         hildon_banner_show_information (NULL, NULL, dgettext("hildon-common-strings", "ckct_ib_min_zoom_level_reached"));
                                return FALSE;
                        }
                        break;
@@ -1031,7 +1032,8 @@ modest_msg_view_window_select_next_message (ModestMsgViewWindow *window)
                        /* Mark as read */
                        flags = tny_header_get_flags (header);
                        if (!(flags & TNY_HEADER_FLAG_SEEN))
-                               tny_header_set_flags (header, flags | TNY_HEADER_FLAG_SEEN);
+/*                             tny_header_set_flags (header, flags | TNY_HEADER_FLAG_SEEN); */
+                               tny_header_set_flags (header, TNY_HEADER_FLAG_SEEN);
 
                        /* Msg download initied */
 
@@ -1088,7 +1090,8 @@ modest_msg_view_window_select_first_message (ModestMsgViewWindow *self)
        /* Mark as read */
        flags = tny_header_get_flags (header);
        if (!(flags & TNY_HEADER_FLAG_SEEN))
-               tny_header_set_flags (header, flags | TNY_HEADER_FLAG_SEEN);
+/*             tny_header_set_flags (header, flags | TNY_HEADER_FLAG_SEEN); */
+               tny_header_set_flags (header, TNY_HEADER_FLAG_SEEN);
        
        /* New mail operation */
        mail_op = modest_mail_operation_new (MODEST_MAIL_OPERATION_TYPE_RECEIVE, G_OBJECT(self));
@@ -1143,7 +1146,8 @@ modest_msg_view_window_select_previous_message (ModestMsgViewWindow *window)
                /* Mark as read */
                flags = tny_header_get_flags (header);
                if (!(flags & TNY_HEADER_FLAG_SEEN))
-                       tny_header_set_flags (header, flags | TNY_HEADER_FLAG_SEEN);
+/*                     tny_header_set_flags (header, flags | TNY_HEADER_FLAG_SEEN); */
+                       tny_header_set_flags (header, TNY_HEADER_FLAG_SEEN);
 
                /* New mail operation */
                mail_op = modest_mail_operation_new (MODEST_MAIL_OPERATION_TYPE_RECEIVE, G_OBJECT(window));
@@ -1731,9 +1735,53 @@ modest_msg_view_window_save_attachments (ModestMsgViewWindow *window, GList *mim
 }
 
 void
-modest_msg_view_window_remove_attachments (ModestMsgViewWindow *window, GList *mime_parts)
+modest_msg_view_window_remove_attachments (ModestMsgViewWindow *window)
 {
-/*     g_message ("not implemented %s", __FUNCTION__); */
+       ModestMsgViewWindowPrivate *priv;
+       GList *mime_parts = NULL, *node;
+       gchar *confirmation_message;
+       gint response;
+       gint n_attachments;
+
+       g_return_if_fail (MODEST_IS_MSG_VIEW_WINDOW (window));
+       priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (window);
+
+       mime_parts = modest_msg_view_get_selected_attachments (MODEST_MSG_VIEW (priv->msg_view));
+       if (mime_parts == NULL)
+               return;
+
+       n_attachments = g_list_length (mime_parts);
+       if (n_attachments == 1) {
+               const gchar *filename;
+
+               if (TNY_IS_MSG (mime_parts->data)) {
+                       TnyHeader *header;
+                       header = tny_msg_get_header (TNY_MSG (mime_parts->data));
+                       filename = tny_header_get_subject (header);
+                       g_object_unref (header);
+                       if (filename == NULL)
+                               filename = _("mail_va_no_subject");
+               } else {
+                       filename = tny_mime_part_get_filename (TNY_MIME_PART (mime_parts->data));
+               }
+               confirmation_message = g_strdup_printf (_("mcen_nc_purge_file_text"), filename);
+       } else {
+               confirmation_message = g_strdup_printf (ngettext("mcen_nc_purge_file_text", 
+                                                                "mcen_nc_purge_files_text", 
+                                                                n_attachments), n_attachments);
+       }
+       response = modest_platform_run_confirmation_dialog (GTK_WINDOW (window),
+                                                           confirmation_message);
+       g_free (confirmation_message);
+
+       if (response != GTK_RESPONSE_OK)
+               return;
+
+       for (node = mime_parts; node != NULL; node = g_list_next (node)) {
+               modest_msg_view_remove_attachment (MODEST_MSG_VIEW (priv->msg_view), node->data);
+       }
+       g_list_foreach (mime_parts, (GFunc) g_object_unref, NULL);
+       g_list_free (mime_parts);
 }