Moved all_recipients_list to be available in modest tny msg.
authorJose Dapena Paz <jdapena@igalia.com>
Thu, 4 Dec 2008 21:21:53 +0000 (21:21 +0000)
committerJose Dapena Paz <jdapena@igalia.com>
Thu, 4 Dec 2008 21:21:53 +0000 (21:21 +0000)
pmo-drop-split-view-r6658

src/hildon2/modest-msg-view-window.c
src/modest-tny-msg.c
src/modest-tny-msg.h

index b84e6ef..b478dec 100644 (file)
@@ -236,9 +236,6 @@ enum {
 
 static const GtkToggleActionEntry msg_view_toggle_action_entries [] = {
        { "FindInMessage",    MODEST_TOOLBAR_ICON_FIND,    N_("qgn_toolb_gene_find"), NULL, NULL, G_CALLBACK (modest_msg_view_window_toggle_find_toolbar), FALSE },
-<<<<<<< HEAD:src/hildon2/modest-msg-view-window.c
-       { "ToolsFindInMessage", NULL, N_("mcen_me_viewer_find"), "<CTRL>F", NULL, G_CALLBACK (modest_msg_view_window_toggle_find_toolbar), FALSE },
-=======
 };
 
 typedef struct _ModestMsgViewWindowPrivate ModestMsgViewWindowPrivate;
@@ -362,17 +359,11 @@ restore_settings (ModestMsgViewWindow *self)
                                      MODEST_CONF_MSG_VIEW_WINDOW_KEY);
 }
 
-static gboolean modest_msg_view_window_scroll_child (ModestMsgViewWindow *self,
-                                                    GtkScrollType scroll_type,
-                                                    gboolean horizontal,
-                                                    gpointer userdata)
-=======
 static 
 gboolean modest_msg_view_window_scroll_child (ModestMsgViewWindow *self,
                                              GtkScrollType scroll_type,
                                              gboolean horizontal,
                                              gpointer userdata)
->>>>>>> fe21497...  * Fixes NB#92694, migrated the viewer menus to 1.5 specs version:src/hildon2/modest-msg-view-window.c
 {
        ModestMsgViewWindowPrivate *priv;
        gboolean return_value;
@@ -1496,13 +1487,9 @@ modest_msg_view_window_toggle_find_toolbar (GtkToggleAction *toggle,
 
        /* update the toggle buttons status */
        action = gtk_ui_manager_get_action (parent_priv->ui_manager, "/ToolBar/FindInMessage");
-<<<<<<< HEAD:src/hildon2/modest-msg-view-window.c
        if (action)
                modest_utils_toggle_action_set_active_block_notify (GTK_TOGGLE_ACTION (action), is_active);
 
-=======
-       modest_utils_toggle_action_set_active_block_notify (GTK_TOGGLE_ACTION (action), is_active);
->>>>>>> fe21497...  * Fixes NB#92694, migrated the viewer menus to 1.5 specs version:src/hildon2/modest-msg-view-window.c
 }
 
 static void
@@ -1570,7 +1557,6 @@ modest_msg_view_window_find_toolbar_search (GtkWidget *widget,
                
 }
 
-<<<<<<< HEAD:src/hildon2/modest-msg-view-window.c
 static void
 modest_msg_view_window_set_zoom (ModestWindow *window,
                                 gdouble zoom)
@@ -1586,8 +1572,6 @@ modest_msg_view_window_set_zoom (ModestWindow *window,
 
 }
 
-=======
->>>>>>> fe21497...  * Fixes NB#92694, migrated the viewer menus to 1.5 specs version:src/hildon2/modest-msg-view-window.c
 static gdouble
 modest_msg_view_window_get_zoom (ModestWindow *window)
 {
@@ -1600,7 +1584,6 @@ modest_msg_view_window_get_zoom (ModestWindow *window)
 }
 
 static gboolean
-<<<<<<< HEAD:src/hildon2/modest-msg-view-window.c
 modest_msg_view_window_zoom_plus (ModestWindow *window)
 {
        gdouble zoom_level;
@@ -1671,8 +1654,6 @@ modest_msg_view_window_zoom_minus (ModestWindow *window)
 }
 
 static gboolean
-=======
->>>>>>> fe21497...  * Fixes NB#92694, migrated the viewer menus to 1.5 specs version:src/hildon2/modest-msg-view-window.c
 modest_msg_view_window_key_event (GtkWidget *window,
                                  GdkEventKey *event,
                                  gpointer userdata)
@@ -2248,10 +2229,6 @@ toolbar_resize (ModestMsgViewWindow *self)
                
 }
 
-<<<<<<< HEAD:src/hildon2/modest-msg-view-window.c
-
-=======
->>>>>>> fe21497...  * Fixes NB#92694, migrated the viewer menus to 1.5 specs version:src/hildon2/modest-msg-view-window.c
 static void
 modest_msg_view_window_show_toolbar (ModestWindow *self,
                                     gboolean show_toolbar)
@@ -2259,11 +2236,6 @@ modest_msg_view_window_show_toolbar (ModestWindow *self,
        ModestMsgViewWindowPrivate *priv = NULL;
        ModestWindowPrivate *parent_priv;
        GtkWidget *reply_button = NULL, *menu = NULL;
-<<<<<<< HEAD:src/hildon2/modest-msg-view-window.c
-=======
-       GtkWidget *placeholder = NULL;
-       gint insert_index;
->>>>>>> fe21497...  * Fixes NB#92694, migrated the viewer menus to 1.5 specs version:src/hildon2/modest-msg-view-window.c
 
        parent_priv = MODEST_WINDOW_GET_PRIVATE(self);
        priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE(self);
@@ -2280,25 +2252,6 @@ modest_msg_view_window_show_toolbar (ModestWindow *self,
                priv->prev_toolitem = gtk_ui_manager_get_widget (parent_priv->ui_manager, "/ToolBar/ToolbarMessageBack");
                toolbar_resize (MODEST_MSG_VIEW_WINDOW (self));
 
-<<<<<<< HEAD:src/hildon2/modest-msg-view-window.c
-=======
-               /* Add ProgressBar (Transfer toolbar) */ 
-               priv->progress_bar = modest_progress_bar_new ();
-               gtk_widget_set_no_show_all (priv->progress_bar, TRUE);
-               placeholder = gtk_ui_manager_get_widget (parent_priv->ui_manager, "/ToolBar/ProgressbarView");
-               insert_index = gtk_toolbar_get_item_index(GTK_TOOLBAR (parent_priv->toolbar), GTK_TOOL_ITEM(placeholder));
-               gtk_container_add (GTK_CONTAINER (priv->progress_toolitem), priv->progress_bar);
-               gtk_toolbar_insert(GTK_TOOLBAR(parent_priv->toolbar), GTK_TOOL_ITEM (priv->progress_toolitem), insert_index);
-
-               /* Connect cancel 'clicked' signal to abort progress mode */
-               g_signal_connect(priv->cancel_toolitem, "clicked",
-                                G_CALLBACK(cancel_progressbar),
-                                self);
-
-               /* Add it to the observers list */
-               priv->progress_widgets = g_slist_prepend(priv->progress_widgets, priv->progress_bar);
-
->>>>>>> fe21497...  * Fixes NB#92694, migrated the viewer menus to 1.5 specs version:src/hildon2/modest-msg-view-window.c
                /* Add to window */
                hildon_window_add_toolbar (HILDON_WINDOW (self), 
                                           GTK_TOOLBAR (parent_priv->toolbar));
@@ -2327,10 +2280,6 @@ modest_msg_view_window_show_toolbar (ModestWindow *self,
                gtk_widget_set_no_show_all (parent_priv->toolbar, TRUE);
                gtk_widget_hide (GTK_WIDGET (parent_priv->toolbar));
        }
-<<<<<<< HEAD:src/hildon2/modest-msg-view-window.c
-
-=======
->>>>>>> fe21497...  * Fixes NB#92694, migrated the viewer menus to 1.5 specs version:src/hildon2/modest-msg-view-window.c
 }
 
 static void 
@@ -3220,44 +3169,6 @@ on_fetch_image (ModestMsgView *msgview,
        return TRUE;;
 }
 
-static GSList *
-all_recipients_list (TnyMsg *msg)
-{
-       TnyHeader *header = NULL;
-       GSList *recipients = NULL;
-       gchar *from = NULL, *to = NULL, *cc = NULL, *bcc = NULL;
-       
-       if (msg == NULL)
-               return NULL;
-       
-       header = tny_msg_get_header (msg);
-       if (header == NULL)
-               return NULL;
-       
-       from = tny_header_dup_from (header);
-       to = tny_header_dup_to (header);
-       cc = tny_header_dup_cc (header);
-       bcc = tny_header_dup_bcc (header);
-       
-       recipients = NULL;
-
-       if (from)
-               recipients = g_slist_concat (recipients, modest_text_utils_split_addresses_list (from));
-       if (to)
-               recipients = g_slist_concat (recipients, modest_text_utils_split_addresses_list (to));
-       if (cc)
-               recipients = g_slist_concat (recipients, modest_text_utils_split_addresses_list (cc));
-       if (bcc)
-               recipients = g_slist_concat (recipients, modest_text_utils_split_addresses_list (bcc));
-
-       g_free (from);
-       g_free (to);
-       g_free (cc);
-       g_free (bcc);
-
-       return recipients;
-}
-
 void
 modest_msg_view_window_add_to_contacts (ModestMsgViewWindow *self)
 {
@@ -3265,20 +3176,17 @@ modest_msg_view_window_add_to_contacts (ModestMsgViewWindow *self)
        priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (self);
        GSList *recipients = NULL;
        TnyMsg *msg = NULL;
-       
+       gboolean contacts_to_add = FALSE;
+
        msg = tny_msg_view_get_msg (TNY_MSG_VIEW (priv->msg_view));
        if (msg == NULL) return;
-       recipients = all_recipients_list (msg);
-       
+       recipients = modest_tny_msg_get_all_recipients_list (msg);
+
        if (recipients != NULL) {
                GtkWidget *picker_dialog;
                GtkWidget *selector;
                GSList *node;
                gchar *selected;
-               
-               picker_dialog = hildon_picker_dialog_new (GTK_WINDOW (self));
-               gtk_window_set_title (GTK_WINDOW (picker_dialog), _("mcen_me_viewer_addtocontacts"));
-               
                selector = hildon_touch_selector_new_text ();
                for (node = recipients; node != NULL; node = g_slist_next (node)) {
                        if (!modest_address_book_has_address ((const gchar *) node->data)) {
@@ -3287,17 +3195,28 @@ modest_msg_view_window_add_to_contacts (ModestMsgViewWindow *self)
                                contacts_to_add = TRUE;
                        }
                }
-               
-               hildon_picker_dialog_set_selector (HILDON_PICKER_DIALOG (picker_dialog), 
-                                                  HILDON_TOUCH_SELECTOR (selector));
-               
-               gtk_dialog_run (GTK_DIALOG (picker_dialog));
-               selected = hildon_touch_selector_get_current_text (HILDON_TOUCH_SELECTOR (selector));
-               gtk_widget_destroy (picker_dialog);
-               
-               if (selected)
-                       modest_address_book_add_address (selected);
-               g_free (selected);
+
+               if (contacts_to_add) {
+
+                       picker_dialog = hildon_picker_dialog_new (GTK_WINDOW (self));
+                       gtk_window_set_title (GTK_WINDOW (picker_dialog), _("mcen_me_viewer_addtocontacts"));
+
+                       hildon_picker_dialog_set_selector (HILDON_PICKER_DIALOG (picker_dialog), 
+                                                          HILDON_TOUCH_SELECTOR (selector));
+                       
+                       gtk_dialog_run (GTK_DIALOG (picker_dialog));
+                       selected = hildon_touch_selector_get_current_text (HILDON_TOUCH_SELECTOR (selector));
+                       gtk_widget_destroy (picker_dialog);
+
+                       if (selected)
+                               modest_address_book_add_address (selected);
+                       g_free (selected);
+
+               } else {
+
+                       g_object_unref (selector);
+
+               }
        }
        
        if (recipients) {g_slist_foreach (recipients, (GFunc) g_free, NULL); g_slist_free (recipients);}
index 2790914..40ecc2f 100644 (file)
@@ -957,3 +957,41 @@ modest_tny_msg_estimate_size (const gchar *plain_body, const gchar *html_body,
 
        return result;
 }
+
+GSList *
+modest_tny_msg_get_all_recipients_list (TnyMsg *msg)
+{
+       TnyHeader *header = NULL;
+       GSList *recipients = NULL;
+       gchar *from = NULL, *to = NULL, *cc = NULL, *bcc = NULL;
+
+       if (msg == NULL)
+               return NULL;
+
+       header = tny_msg_get_header (msg);
+       if (header == NULL)
+               return NULL;
+
+       from = tny_header_dup_from (header);
+       to = tny_header_dup_to (header);
+       cc = tny_header_dup_cc (header);
+       bcc = tny_header_dup_bcc (header);
+
+       recipients = NULL;
+       if (from)
+               recipients = g_slist_concat (recipients, modest_text_utils_split_addresses_list (from));
+       if (to)
+               recipients = g_slist_concat (recipients, modest_text_utils_split_addresses_list (to));
+       if (cc)
+               recipients = g_slist_concat (recipients, modest_text_utils_split_addresses_list (cc));
+       if (bcc)
+               recipients = g_slist_concat (recipients, modest_text_utils_split_addresses_list (bcc));
+
+       g_free (from);
+       g_free (to);
+       g_free (cc);
+       g_free (bcc);
+
+       return recipients;
+}
+
index a15372b..88d4532 100644 (file)
@@ -197,4 +197,16 @@ modest_tny_msg_estimate_size (const gchar *plain_body, const gchar *html_body,
                              guint64 parts_count,
                              guint64 parts_size);
 
+/**
+ * modest_tny_msg_get_all_recipients_list:
+ * @msg: a #TnyMsg
+ *
+ * Obtains a list of all the addresses available in a message header.
+ *
+ * Returns: a newly allocated #GSList of strings. Caller should free strings and list.
+ */
+GSList *
+modest_tny_msg_get_all_recipients_list (TnyMsg *msg);
+
+
 #endif /* __MODEST_TNY_MSG_H__ */