#include "sslcertwindow.h"
#include "prefs_gtk.h"
#include "pluginwindow.h"
+#include "hooks.h"
+#include "progressindicator.h"
#define AC_LABEL_WIDTH 240
static gboolean mainwindow_focus_in_event (GtkWidget *widget,
GdkEventFocus *focus,
gpointer data);
-
+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[] =
{N_("/_Message/---"), NULL, NULL, 0, "<Separator>"},
{N_("/_Message/Compose a_n email message"), "<control>M", compose_mail_cb, 0, NULL},
{N_("/_Message/Compose a news message"), NULL, compose_news_cb, 0, NULL},
- {N_("/_Message/_Reply"), "<control>R", reply_cb, COMPOSE_REPLY, NULL},
+ {N_("/_Message/_Reply"), "<control>R", main_window_reply_cb, COMPOSE_REPLY, NULL},
{N_("/_Message/Repl_y to"), NULL, NULL, 0, "<Branch>"},
- {N_("/_Message/Repl_y to/_all"), "<shift><control>R", reply_cb, COMPOSE_REPLY_TO_ALL, NULL},
- {N_("/_Message/Repl_y to/_sender"), NULL, reply_cb, COMPOSE_REPLY_TO_SENDER, NULL},
+ {N_("/_Message/Repl_y to/_all"), "<shift><control>R", main_window_reply_cb, COMPOSE_REPLY_TO_ALL, NULL},
+ {N_("/_Message/Repl_y to/_sender"), NULL, main_window_reply_cb, COMPOSE_REPLY_TO_SENDER, NULL},
{N_("/_Message/Repl_y to/mailing _list"),
- "<control>L", reply_cb, COMPOSE_REPLY_TO_LIST, NULL},
- {N_("/_Message/Follow-up and reply to"),NULL, reply_cb, COMPOSE_FOLLOWUP_AND_REPLY_TO, NULL},
+ "<control>L", main_window_reply_cb, COMPOSE_REPLY_TO_LIST, NULL},
+ {N_("/_Message/Follow-up and reply to"),NULL, main_window_reply_cb, COMPOSE_FOLLOWUP_AND_REPLY_TO, NULL},
{N_("/_Message/---"), NULL, NULL, 0, "<Separator>"},
- {N_("/_Message/_Forward"), "<control><alt>F", reply_cb, COMPOSE_FORWARD, NULL},
- {N_("/_Message/Redirect"), NULL, reply_cb, COMPOSE_REDIRECT, NULL},
+ {N_("/_Message/_Forward"), "<control><alt>F", main_window_reply_cb, COMPOSE_FORWARD, NULL},
+ {N_("/_Message/Redirect"), NULL, main_window_reply_cb, COMPOSE_REDIRECT, NULL},
{N_("/_Message/---"), NULL, NULL, 0, "<Separator>"},
{N_("/_Message/Re-_edit"), NULL, reedit_cb, 0, NULL},
{N_("/_Message/---"), NULL, NULL, 0, "<Separator>"},
GtkWidget *offline_pixmap;
GtkWidget *online_switch;
GtkWidget *offline_switch;
+ GtkTooltips *offline_tip;
+ GtkTooltips *online_tip;
+ GtkTooltips *sel_ac_tip;
FolderView *folderview;
SummaryView *summaryview;
online_pixmap = stock_pixmap_widget(hbox_stat, STOCK_PIXMAP_WORK_ONLINE);
offline_pixmap = stock_pixmap_widget(hbox_stat, STOCK_PIXMAP_WORK_OFFLINE);
+ online_tip = gtk_tooltips_new();
online_switch = gtk_button_new ();
+ gtk_tooltips_set_tip(GTK_TOOLTIPS(online_tip),
+ online_switch, _("Go offline"), NULL);
+ offline_tip = gtk_tooltips_new();
offline_switch = gtk_button_new ();
+ gtk_tooltips_set_tip(GTK_TOOLTIPS(offline_tip),
+ offline_switch, _("Go online"), NULL);
gtk_container_add (GTK_CONTAINER(online_switch), online_pixmap);
gtk_button_set_relief (GTK_BUTTON(online_switch), GTK_RELIEF_NONE);
gtk_signal_connect (GTK_OBJECT(online_switch), "clicked", (GtkSignalFunc)online_switch_clicked, mainwin);
statuslabel = gtk_label_new("");
gtk_box_pack_start(GTK_BOX(hbox_stat), statuslabel, FALSE, FALSE, 0);
+ sel_ac_tip = gtk_tooltips_new();
ac_button = gtk_button_new();
+ gtk_tooltips_set_tip(GTK_TOOLTIPS(sel_ac_tip),
+ ac_button, _("Select account"), NULL);
gtk_button_set_relief(GTK_BUTTON(ac_button), GTK_RELIEF_NONE);
GTK_WIDGET_UNSET_FLAGS(ac_button, GTK_CAN_FOCUS);
gtk_widget_set_usize(ac_button, -1, 1);
summaryview->color_dim.red = summaryview->color_dim.green =
summaryview->color_dim.blue = COLOR_DIM;
- folderview->color_new.red = (guint16)55000;
- folderview->color_new.green = folderview->color_new.blue = 15000;
+ gtkut_convert_int_to_gdk_color(prefs_common.color_new,
+ &folderview->color_new);
gtkut_convert_int_to_gdk_color(prefs_common.tgt_folder_col,
&folderview->color_op);
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);
toolbar_toggle(action, mainwin);
}
-/* END Toolbar Stuff */
+void main_window_reply_cb(MainWindow *mainwin, guint action,
+ GtkWidget *widget)
+{
+ 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);
+}
+
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.
*/