typedef struct _GetMsgAsyncHelper {
- ModestMainWindow *main_window;
+ ModestWindow *window;
TnyIterator *iter;
GFunc func;
gpointer user_data;
} else
return NULL;
-
}
+
void
modest_ui_actions_on_delete (GtkWidget *widget, ModestWindow *win)
{
void
modest_ui_actions_on_open (GtkWidget *widget, ModestWindow *win)
{
- /* FIXME */
-
+ modest_runtime_not_implemented (GTK_WINDOW(win)); /* FIXME */
}
-
static void
reply_forward_func (gpointer data, gpointer user_data)
{
g_free (rf_helper->account_name);
g_slice_free (ReplyForwardHelper, rf_helper);
}
-
/*
* Common code for the reply and forward actions
*/
g_return_if_fail (MODEST_IS_WINDOW(win));
- header_list = get_selected_headers (win);
+ header_list = get_selected_headers (win);
if (!header_list)
return;
rf_helper->account_name = g_strdup (modest_window_get_active_account (win));
if (!rf_helper->account_name)
- rf_helper->account_name = modest_account_mgr_get_default_account (modest_runtime_get_account_mgr());
+ rf_helper->account_name =
+ modest_account_mgr_get_default_account (modest_runtime_get_account_mgr());
helper = g_slice_new0 (GetMsgAsyncHelper);
- //helper->main_window = NULL;
+ helper->window = win;
helper->func = reply_forward_func;
helper->iter = tny_list_create_iterator (header_list);
helper->user_data = rf_helper;
-
- header = TNY_HEADER (tny_iterator_get_current (helper->iter));
- folder = tny_header_get_folder (header);
- if (folder) {
- /* The callback will call it per each header */
- tny_folder_get_msg_async (folder, header, get_msg_cb, helper);
- g_object_unref (G_OBJECT (folder));
- } else
- g_printerr ("modest: no folder for header\n");
-
- /* Clean */
- g_object_unref (G_OBJECT (header));
+
+ if (MODEST_IS_MSG_VIEW_WINDOW(win)) {
+ TnyMsg *msg;
+ msg = modest_msg_view_window_get_message(MODEST_MSG_VIEW_WINDOW(win));
+ if (!msg) {
+ g_printerr ("modest: no message found\n");
+ return;
+ } else
+ reply_forward_func (msg, helper);
+ } else {
+ header = TNY_HEADER (tny_iterator_get_current (helper->iter));
+ folder = tny_header_get_folder (header);
+ if (folder) {
+ /* The callback will call it per each header */
+ tny_folder_get_msg_async (folder, header, get_msg_cb, helper);
+ g_object_unref (G_OBJECT (folder));
+ } else
+ g_printerr ("modest: no folder for header\n");
+
+ /* Clean */
+ g_object_unref (G_OBJECT (header));
+ }
}
+
void
modest_ui_actions_on_reply (GtkWidget *widget, ModestWindow *win)
{
msg = TNY_MSG (data);
helper = (GetMsgAsyncHelper *) user_data;
- msg_preview = modest_main_window_get_child_widget (helper->main_window,
+ msg_preview = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW (helper->window),
MODEST_WIDGET_TYPE_MSG_PREVIEW);
if (!msg_preview)
return;
helper = (GetMsgAsyncHelper *) user_data;
if ((*err && ((*err)->code == TNY_FOLDER_ERROR_GET_MSG)) || !msg) {
- GtkWidget *header_view =
- modest_main_window_get_child_widget(helper->main_window,
- MODEST_WIDGET_TYPE_HEADER_VIEW);
- if (header_view)
- modest_ui_actions_on_item_not_found (MODEST_HEADER_VIEW(header_view),
- MODEST_ITEM_TYPE_MESSAGE,
- MODEST_WINDOW(helper->main_window));
+ modest_ui_actions_on_item_not_found (NULL,
+ MODEST_ITEM_TYPE_MESSAGE,
+ helper->window);
return;
}
/* Fill helper data */
helper = g_slice_new0 (GetMsgAsyncHelper);
- helper->main_window = main_window;
+ helper->window = MODEST_WINDOW (main_window);
helper->iter = tny_list_create_iterator (list);
helper->func = read_msg_func;
if (folder)
g_object_unref (G_OBJECT (folder));
if (msg)
- g_object_unref (G_OBJECT (folder));
+ g_object_unref (G_OBJECT (msg));
}
-
-
-
-
void
modest_ui_actions_on_folder_selection_changed (ModestFolderView *folder_view,
TnyFolder *folder,
if (status_bar) {
gtk_widget_show (status_bar);
gtk_statusbar_push (GTK_STATUSBAR(status_bar), 0, msg);
- g_timeout_add (1500, (GSourceFunc)statusbar_clean, status_bar);
+ g_timeout_add (2500, (GSourceFunc)statusbar_clean, status_bar);
}
}
TNY_FOLDER_STORE (parent_folder),
(const gchar *) folder_name);
if (new_folder) {
- /* TODO: tinymail should do this.
- Update view */
- modest_folder_view_add_subfolder (MODEST_FOLDER_VIEW(folder_view),
- new_folder);
-
- /* Free new folder */
g_object_unref (new_folder);
+ } else {
+ const GError *error;
+ error = modest_mail_operation_get_error (mail_op);
+ if (error)
+ g_warning ("Error adding a subfolder: %s\n", error->message);
}
g_object_unref (mail_op);
}
(const gchar *) folder_name);
error = modest_mail_operation_get_error (mail_op);
- if (!error)
- /* TODO: tinymail should do this.
- Update view */
- modest_folder_view_rename (MODEST_FOLDER_VIEW(folder_view));
-
- /* TODO: else ? notify error ? */
+ if (error)
+ /* TODO: notify error ? */
+ g_warning ("Could not rename a folder: %s\n", error->message);
g_object_unref (mail_op);
}
TnyFolder *folder;
ModestMailOperation *mail_op;
GtkWidget *folder_view;
+ const GError *error;
g_return_if_fail (MODEST_IS_MAIN_WINDOW(main_window));
mail_op = modest_mail_operation_new ();
modest_mail_operation_remove_folder (mail_op, folder, move_to_trash);
+
+ error = modest_mail_operation_get_error (mail_op);
+ if (error)
+ g_warning ("%s\n", error->message);
+
g_object_unref (mail_op);
}
}
void
-modest_ui_actions_on_accounts_reloaded (TnyAccountStore *store, gpointer user_data)
-{
- /* FIXME */
- /* ModestFolderView *folder_view; */
-
-/* folder_view = modest_widget_factory_get_folder_view (modest_runtime_get_widget_factory()); */
-/* modest_folder_view_update_model (folder_view, store); */
-}
-
-void
-modest_ui_actions_on_folder_moved (ModestFolderView *folder_view, TnyFolder *folder,
- TnyFolderStore *parent, gboolean *done,
- gpointer user_data)
-{
- ModestMailOperation *mail_op;
- const GError *error;
-
- *done = TRUE;
-
- /* Try to move the folder */
- mail_op = modest_mail_operation_new ();
- modest_mail_operation_move_folder (mail_op, folder, parent);
-
- error = modest_mail_operation_get_error (mail_op);
- if (error)
- *done = FALSE;
-
- g_object_unref (G_OBJECT (mail_op));
-}
-
-
-
-void
modest_ui_actions_on_password_requested (TnyAccountStore *account_store,
const gchar* account_name,
gchar **password,