return TRUE;;
}
-void
-modest_msg_view_window_add_to_contacts (ModestMsgViewWindow *self)
-{
- ModestMsgViewWindowPrivate *priv;
- 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 = modest_tny_msg_get_all_recipients_list (msg);
-
- if (recipients != NULL) {
- GtkWidget *picker_dialog;
- GtkWidget *selector;
- GSList *node;
- gchar *selected;
- 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)) {
- hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector),
- (const gchar *) node->data);
- contacts_to_add = TRUE;
- }
- }
-
- 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);}
- g_object_unref (msg);
-}
-
static void
add_to_menu (ModestMsgViewWindow *self,
HildonAppMenu *menu,
G_CALLBACK (modest_ui_actions_on_new_msg),
group, G_CALLBACK (modest_ui_dimming_rules_on_new_msg));
add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_viewer_addtocontacts"),
- G_CALLBACK (modest_ui_actions_on_add_to_contacts),
+ G_CALLBACK (modest_ui_actions_add_to_contacts),
group, G_CALLBACK (modest_ui_dimming_rules_on_add_to_contacts));
hildon_stackable_window_set_main_menu (HILDON_STACKABLE_WINDOW (self),
{
modest_ui_actions_check_menu_dimming_rules (MODEST_WINDOW (window));
- return HILDON_WINDOW_CLASS (parent_class)->toggle_menu (window, button, time);
+ return HILDON_WINDOW_CLASS (parent_class)->toggle_menu (window, button, time);
+}
+
+
+void
+modest_msg_view_window_add_to_contacts (ModestMsgViewWindow *self)
+{
+ ModestMsgViewWindowPrivate *priv;
+ 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 = modest_tny_msg_get_all_recipients_list (msg);
+
+ if (recipients != NULL) {
+ GtkWidget *picker_dialog;
+ GtkWidget *selector;
+ GSList *node;
+ gchar *selected = NULL;
+
+ selector = hildon_touch_selector_new_text ();
+ g_object_ref (selector);
+
+ for (node = recipients; node != NULL; node = g_slist_next (node)) {
+ if (!modest_address_book_has_address ((const gchar *) node->data)) {
+ hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector),
+ (const gchar *) node->data);
+ contacts_to_add = TRUE;
+ }
+ }
+
+ if (contacts_to_add) {
+ gint picker_result;
+
+ 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));
+
+ picker_result = gtk_dialog_run (GTK_DIALOG (picker_dialog));
+
+ if (picker_result == GTK_RESPONSE_OK) {
+ 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);}
+ g_object_unref (msg);
}