* src/maemo/modest-msg-view-window.c:
[modest] / src / maemo / modest-msg-view-window.c
index 593725f..53189f2 100644 (file)
@@ -1071,15 +1071,15 @@ void modest_msg_view_window_on_row_inserted(
        /* Attach new_model and connect some callback to it to become able
         * to detect changes in header-view. */
        priv->header_model = g_object_ref(new_model);
-       g_signal_connect (new_model, "row-changed",
-                       G_CALLBACK (modest_msg_view_window_on_row_changed),
-                       window);
-       g_signal_connect (new_model, "row-deleted",
-                       G_CALLBACK (modest_msg_view_window_on_row_deleted),
-                       window);
-       g_signal_connect (new_model, "rows-reordered",
-                       G_CALLBACK (modest_msg_view_window_on_row_reordered),
-                       window);
+       priv->row_changed_handler = g_signal_connect (new_model, "row-changed",
+                                                     G_CALLBACK (modest_msg_view_window_on_row_changed),
+                                                     window);
+       priv->row_deleted_handler = g_signal_connect (new_model, "row-deleted",
+                                                     G_CALLBACK (modest_msg_view_window_on_row_deleted),
+                                                     window);
+       priv->rows_reordered_handler = g_signal_connect (new_model, "rows-reordered",
+                                                        G_CALLBACK (modest_msg_view_window_on_row_reordered),
+                                                        window);
 
        /* Now set up next_row_reference. */
        priv->next_row_reference = gtk_tree_row_reference_copy(
@@ -1323,6 +1323,7 @@ modest_msg_view_window_find_toolbar_search (GtkWidget *widget,
                        priv->last_search = NULL;
                } else {
                        modest_msg_view_grab_focus (MODEST_MSG_VIEW (priv->msg_view));
+                       hildon_find_toolbar_highlight_entry (HILDON_FIND_TOOLBAR (priv->find_toolbar), TRUE);
                }
        } else {
                if (!modest_isearch_view_search_next (MODEST_ISEARCH_VIEW (priv->msg_view))) {
@@ -1331,6 +1332,7 @@ modest_msg_view_window_find_toolbar_search (GtkWidget *widget,
                        priv->last_search = NULL;
                } else {
                        modest_msg_view_grab_focus (MODEST_MSG_VIEW (priv->msg_view));
+                       hildon_find_toolbar_highlight_entry (HILDON_FIND_TOOLBAR (priv->find_toolbar), TRUE);
                }
        }
        
@@ -1628,6 +1630,9 @@ message_reader_performer (gboolean canceled,
                goto frees;
        }
 
+       /* Register the header - it'll be unregistered in the callback */
+       modest_window_mgr_register_header (modest_runtime_get_window_mgr (), info->header, NULL);
+
        /* New mail operation */
        mail_op = modest_mail_operation_new_with_error_handling (G_OBJECT(parent_window),
                                                                 modest_ui_actions_disk_operations_error_handler, 
@@ -1833,6 +1838,9 @@ view_msg_cb (ModestMailOperation *mail_op,
        ModestMsgViewWindowPrivate *priv = NULL;
        GtkTreeRowReference *row_reference = NULL;
 
+       /* Unregister the header (it was registered before creating the mail operation) */
+       modest_window_mgr_unregister_header (modest_runtime_get_window_mgr (), header);
+
        row_reference = (GtkTreeRowReference *) user_data;
        if (canceled) {
                gtk_tree_row_reference_free (row_reference);
@@ -2647,9 +2655,10 @@ modest_msg_view_window_save_attachments (ModestMsgViewWindow *window, TnyList *m
                                        
                                        pair = g_slice_new0 (SaveMimePartPair);
                                        if (save_multiple_str) {
-                                               pair->filename = 
-                                                       g_build_filename (chooser_uri,
-                                                                         tny_mime_part_get_filename (mime_part), NULL);
+                                               gchar *escaped = gnome_vfs_escape_slashes (
+                                                       tny_mime_part_get_filename (mime_part));
+                                               pair->filename = g_build_filename (chooser_uri, escaped, NULL);
+                                               g_free (escaped);
                                        } else {
                                                pair->filename = g_strdup (chooser_uri);
                                        }