- if (header_list) {
- TnyHeader *header;
- TnyFolder *folder;
- gchar *from, *email_key;
- const gchar *account_name;
-
- /* We assume that we can only select messages of the
- same folder and that we reply all of them from the
- same account. In fact the interface currently only
- allows single selection */
- account_name = modest_folder_view_get_selected_account (priv->folder_view);
- email_key = g_strdup_printf ("%s/%s/%s", MODEST_ACCOUNT_NAMESPACE,
- account_name, MODEST_ACCOUNT_EMAIL);
- from = modest_conf_get_string (conf, email_key, NULL);
- g_free (email_key);
-
- iter = tny_list_create_iterator (header_list);
- header = TNY_HEADER (tny_iterator_get_current (iter));
- folder = tny_header_get_folder (header);
-
- do {
- /* Since it's not an object, we need to create
- it each time due to it's not a GObject and
- we can not do a g_object_ref. No need to
- free it, tinymail will do it for us. */
- helper = g_slice_new0 (GetMsgAsyncHelper);
- helper->main_window_private = priv;
- helper->reply_type = reply_type;
- helper->forward_type = forward_type;
- helper->action = action;
- helper->from = from;
-
- /* Get msg from header */
- header = TNY_HEADER (tny_iterator_get_current (iter));
- tny_folder_get_msg_async (folder, header, get_msg_cb, helper);
- tny_iterator_next (iter);
-
- } while (!tny_iterator_is_done (iter));
-
- /* Clean */
- g_free (from);
- g_object_unref (G_OBJECT (iter));
- g_object_unref (G_OBJECT (folder));
- }
+ /* folder view */
+ g_signal_connect (G_OBJECT(priv->folder_view), "key-press-event",
+ G_CALLBACK(on_inner_widgets_key_pressed), self);
+ g_signal_connect (G_OBJECT(priv->folder_view), "folder_selection_changed",
+ G_CALLBACK(modest_ui_actions_on_folder_selection_changed), self);
+ g_signal_connect (G_OBJECT(priv->folder_view), "folder-display-name-changed",
+ G_CALLBACK(modest_ui_actions_on_folder_display_name_changed), self);
+
+ menu = gtk_ui_manager_get_widget (parent_priv->ui_manager, "/FolderViewCSM");
+ gtk_widget_tap_and_hold_setup (GTK_WIDGET (priv->folder_view), menu, NULL, 0);
+
+ /* header view */
+/* g_signal_connect (G_OBJECT(priv->header_view), "status_update", */
+/* G_CALLBACK(modest_ui_actions_on_header_status_update), self); */
+ g_signal_connect (G_OBJECT(priv->header_view), "header_selected",
+ G_CALLBACK(modest_ui_actions_on_header_selected), self);
+ g_signal_connect (G_OBJECT(priv->header_view), "header_activated",
+ G_CALLBACK(modest_ui_actions_on_header_activated), self);
+ g_signal_connect (G_OBJECT(priv->header_view), "item_not_found",
+ G_CALLBACK(modest_ui_actions_on_item_not_found), self);
+ g_signal_connect (G_OBJECT(priv->header_view), "key-press-event",
+ G_CALLBACK(on_inner_widgets_key_pressed), self);
+
+ /* window */
+ g_signal_connect (G_OBJECT(self), "delete-event", G_CALLBACK(on_delete_event), self);
+ g_signal_connect (G_OBJECT (self), "window-state-event",
+ G_CALLBACK (modest_main_window_window_state_event),
+ NULL);
+ g_signal_connect (G_OBJECT(self), "delete-event", G_CALLBACK(on_delete_event), self);
+
+ /* Mail Operation Queue */
+ g_signal_connect (G_OBJECT (modest_runtime_get_mail_operation_queue ()),
+ "queue-changed",
+ G_CALLBACK (on_queue_changed),
+ self);
+
+ /* Track changes in the device name */
+ g_signal_connect (G_OBJECT(modest_runtime_get_conf ()),
+ "key_changed",
+ G_CALLBACK (on_configuration_key_changed),
+ self);
+
+ /* Track account changes. We need to refresh the toolbar */
+ g_signal_connect (G_OBJECT (modest_runtime_get_account_store ()),
+ "account_update",
+ G_CALLBACK (on_account_update),
+ self);
+
+ /* Device */
+ g_signal_connect (G_OBJECT(modest_runtime_get_device()), "connection_changed",
+ G_CALLBACK(on_connection_changed), self);