#include "sslcertwindow.h"
#include "prefs_gtk.h"
#include "pluginwindow.h"
+#include "hooks.h"
+#include "progressindicator.h"
#define AC_LABEL_WIDTH 240
void main_window_reply_cb (MainWindow *mainwin,
guint action,
GtkWidget *widget);
+gboolean mainwindow_progressindicator_hook (gpointer source,
+ gpointer userdata);
#define SEPARATE_ACTION 500
static GtkItemFactoryEntry mainwin_entries[] =
mainwin->menu_lock_count = 0;
mainwin->cursor_count = 0;
+ mainwin->progressindicator_hook =
+ hooks_register_hook(PROGRESSINDICATOR_HOOKLIST, mainwindow_progressindicator_hook, mainwin);
+
if (!watch_cursor)
watch_cursor = gdk_cursor_new(GDK_WATCH);
void main_window_reply_cb(MainWindow *mainwin, guint action,
GtkWidget *widget)
{
- toolbar_menu_reply(TOOLBAR_MAIN, mainwin, action);
+ MessageView *msgview = (MessageView*)mainwin->messageview;
+ GSList *msginfo_list = NULL;
+ gchar *body;
+
+ g_return_if_fail(msgview != NULL);
+
+ msginfo_list = summary_get_selection(mainwin->summaryview);
+ g_return_if_fail(msginfo_list != NULL);
+
+ body = messageview_get_selection(msgview);
+ compose_reply_mode((ComposeMode)action, msginfo_list, body);
+ g_free(body);
+ g_slist_free(msginfo_list);
}
-/* END Toolbar Stuff */
+
static void toggle_statusbar_cb(MainWindow *mainwin, guint action,
GtkWidget *widget)
return NULL;
}
+gboolean mainwindow_progressindicator_hook(gpointer source, gpointer userdata)
+{
+ ProgressData *data = (ProgressData *) source;
+ MainWindow *mainwin = (MainWindow *) userdata;
+
+ switch (data->cmd) {
+ case PROGRESS_COMMAND_START:
+ case PROGRESS_COMMAND_STOP:
+ gtk_progress_set_percentage(GTK_PROGRESS(mainwin->progressbar), 0.0);
+ break;
+ case PROGRESS_COMMAND_SET_PERCENTAGE:
+ gtk_progress_set_percentage(GTK_PROGRESS(mainwin->progressbar), data->value);
+ break;
+ }
+ while (gtk_events_pending()) gtk_main_iteration ();
+
+ return FALSE;
+}
+
/*
* End of Source.
*/