gpointer data);
static void toolbar_ext_editor_cb (GtkWidget *widget,
gpointer data);
-static void toolbar_linewrap_cb (GtkWidget *widget,
+static void toolbar_linewrap_current_cb (GtkWidget *widget,
+ gpointer data);
+static void toolbar_linewrap_all_cb (GtkWidget *widget,
gpointer data);
static void toolbar_addrbook_cb (GtkWidget *widget,
gpointer data);
gchar *index_str;
const gchar *descr;
} toolbar_text [] = {
- { "A_RECEIVE_ALL", N_("Receive Mail on all Accounts") },
- { "A_RECEIVE_CUR", N_("Receive Mail on current Account") },
- { "A_SEND_QUEUED", N_("Send Queued Message(s)") },
- { "A_COMPOSE_EMAIL", N_("Compose Email") },
- { "A_COMPOSE_NEWS", N_("Compose News") },
- { "A_REPLY_MESSAGE", N_("Reply to Message") },
- { "A_REPLY_SENDER", N_("Reply to Sender") },
- { "A_REPLY_ALL", N_("Reply to All") },
- { "A_REPLY_ML", N_("Reply to Mailing-list") },
- { "A_FORWARD", N_("Forward Message") },
- { "A_DELETE", N_("Delete Message") },
- { "A_EXECUTE", N_("Execute") },
- { "A_GOTO_NEXT", N_("Goto Next Message") },
- { "A_IGNORE_THREAD", N_("Ignore thread") },
- { "A_PRINT", N_("Print") },
-
- { "A_SEND", N_("Send Message") },
- { "A_SENDL", N_("Put into queue folder and send later") },
- { "A_DRAFT", N_("Save to draft folder") },
- { "A_INSERT", N_("Insert file") },
- { "A_ATTACH", N_("Attach file") },
- { "A_SIG", N_("Insert signature") },
- { "A_EXTEDITOR", N_("Edit with external editor") },
- { "A_LINEWRAP", N_("Wrap all long lines") },
- { "A_ADDRBOOK", N_("Address book") },
+ { "A_RECEIVE_ALL", N_("Receive Mail on all Accounts") },
+ { "A_RECEIVE_CUR", N_("Receive Mail on current Account") },
+ { "A_SEND_QUEUED", N_("Send Queued Message(s)") },
+ { "A_COMPOSE_EMAIL", N_("Compose Email") },
+ { "A_COMPOSE_NEWS", N_("Compose News") },
+ { "A_REPLY_MESSAGE", N_("Reply to Message") },
+ { "A_REPLY_SENDER", N_("Reply to Sender") },
+ { "A_REPLY_ALL", N_("Reply to All") },
+ { "A_REPLY_ML", N_("Reply to Mailing-list") },
+ { "A_FORWARD", N_("Forward Message") },
+ { "A_DELETE", N_("Delete Message") },
+ { "A_EXECUTE", N_("Execute") },
+ { "A_GOTO_NEXT", N_("Goto Next Message") },
+ { "A_IGNORE_THREAD", N_("Ignore thread") },
+ { "A_PRINT", N_("Print") },
+
+ { "A_SEND", N_("Send Message") },
+ { "A_SENDL", N_("Put into queue folder and send later") },
+ { "A_DRAFT", N_("Save to draft folder") },
+ { "A_INSERT", N_("Insert file") },
+ { "A_ATTACH", N_("Attach file") },
+ { "A_SIG", N_("Insert signature") },
+ { "A_EXTEDITOR", N_("Edit with external editor") },
+ { "A_LINEWRAP_CURRENT", N_("Wrap long lines of current paragraph") },
+ { "A_LINEWRAP_ALL", N_("Wrap all long lines") },
+ { "A_ADDRBOOK", N_("Address book") },
#ifdef USE_ASPELL
- { "A_CHECK_SPELLING",N_("Check spelling") },
+ { "A_CHECK_SPELLING", N_("Check spelling") },
#endif
- { "A_SYL_ACTIONS", N_("Sylpheed Actions Feature") },
- { "A_SEPARATOR", "Separator" }
+ { "A_SYL_ACTIONS", N_("Sylpheed Actions Feature") },
+ { "A_SEPARATOR", "Separator" }
};
/* struct holds configuration files and a list of
{ "toolbar_msgview.xml", NULL}
};
-static GtkItemFactoryEntry reply_popup_entries[] =
+static GtkItemFactoryEntry reply_entries[] =
{
- {N_("/Reply with _quote"), NULL, toolbar_popup_cb, COMPOSE_REPLY_WITH_QUOTE, NULL},
- {N_("/_Reply without quote"), NULL, toolbar_popup_cb, COMPOSE_REPLY_WITHOUT_QUOTE, NULL}
+ {N_("/Reply with _quote"), NULL, toolbar_reply, COMPOSE_REPLY_WITH_QUOTE, NULL},
+ {N_("/_Reply without quote"), NULL, toolbar_reply, COMPOSE_REPLY_WITHOUT_QUOTE, NULL}
};
-static GtkItemFactoryEntry replyall_popup_entries[] =
+static GtkItemFactoryEntry replyall_entries[] =
{
- {N_("/Reply to all with _quote"), "<shift>A", toolbar_popup_cb, COMPOSE_REPLY_TO_ALL_WITH_QUOTE, NULL},
- {N_("/_Reply to all without quote"), "a", toolbar_popup_cb, COMPOSE_REPLY_TO_ALL_WITHOUT_QUOTE, NULL}
+ {N_("/Reply to all with _quote"), "<shift>A", toolbar_reply, COMPOSE_REPLY_TO_ALL_WITH_QUOTE, NULL},
+ {N_("/_Reply to all without quote"), "a", toolbar_reply, COMPOSE_REPLY_TO_ALL_WITHOUT_QUOTE, NULL}
};
-static GtkItemFactoryEntry replylist_popup_entries[] =
+static GtkItemFactoryEntry replylist_entries[] =
{
- {N_("/Reply to list with _quote"), NULL, toolbar_popup_cb, COMPOSE_REPLY_TO_LIST_WITH_QUOTE, NULL},
- {N_("/_Reply to list without quote"), NULL, toolbar_popup_cb, COMPOSE_REPLY_TO_LIST_WITHOUT_QUOTE, NULL}
+ {N_("/Reply to list with _quote"), NULL, toolbar_reply, COMPOSE_REPLY_TO_LIST_WITH_QUOTE, NULL},
+ {N_("/_Reply to list without quote"), NULL, toolbar_reply, COMPOSE_REPLY_TO_LIST_WITHOUT_QUOTE, NULL}
};
-static GtkItemFactoryEntry replysender_popup_entries[] =
+static GtkItemFactoryEntry replysender_entries[] =
{
- {N_("/Reply to sender with _quote"), NULL, toolbar_popup_cb, COMPOSE_REPLY_TO_SENDER_WITH_QUOTE, NULL},
- {N_("/_Reply to sender without quote"), NULL, toolbar_popup_cb, COMPOSE_REPLY_TO_SENDER_WITHOUT_QUOTE, NULL}
+ {N_("/Reply to sender with _quote"), NULL, toolbar_reply, COMPOSE_REPLY_TO_SENDER_WITH_QUOTE, NULL},
+ {N_("/_Reply to sender without quote"), NULL, toolbar_reply, COMPOSE_REPLY_TO_SENDER_WITHOUT_QUOTE, NULL}
};
-static GtkItemFactoryEntry fwd_popup_entries[] =
+static GtkItemFactoryEntry forward_entries[] =
{
- {N_("/_Forward message (inline style)"), "f", toolbar_popup_cb, COMPOSE_FORWARD_INLINE, NULL},
- {N_("/Forward message as _attachment"), "<shift>F", toolbar_popup_cb, COMPOSE_FORWARD_AS_ATTACH, NULL}
+ {N_("/_Forward"), "f", toolbar_reply, COMPOSE_FORWARD_INLINE, NULL},
+ {N_("/For_ward as attachment"), "<shift>F", toolbar_reply, COMPOSE_FORWARD_AS_ATTACH, NULL},
+ {N_("/Redirec_t"), NULL, toolbar_reply, COMPOSE_REDIRECT, NULL}
};
else if (source == TOOLBAR_COMPOSE) {
gint comp_items[] = { A_SEND, A_SENDL, A_DRAFT,
A_INSERT, A_ATTACH, A_SIG,
- A_EXTEDITOR, A_LINEWRAP, A_ADDRBOOK,
+ A_EXTEDITOR, A_LINEWRAP_CURRENT,
+ A_LINEWRAP_ALL, A_ADDRBOOK,
#ifdef USE_ASPELL
A_CHECK_SPELLING,
#endif
gint icon;
gchar *text;
} default_toolbar[] = {
- { A_SEND, STOCK_PIXMAP_MAIL_SEND, _("Send") },
- { A_SENDL, STOCK_PIXMAP_MAIL_SEND_QUEUE, _("Send later") },
- { A_DRAFT, STOCK_PIXMAP_MAIL, _("Draft") },
- { A_SEPARATOR, 0, ("") },
- { A_INSERT, STOCK_PIXMAP_INSERT_FILE, _("Insert") },
- { A_ATTACH, STOCK_PIXMAP_MAIL_ATTACH, _("Attach") },
- { A_SIG, STOCK_PIXMAP_MAIL_SIGN, _("Signature") },
- { A_SEPARATOR, 0, ("") },
- { A_EXTEDITOR, STOCK_PIXMAP_EDIT_EXTERN, _("Editor") },
- { A_LINEWRAP, STOCK_PIXMAP_LINEWRAP, _("Linewrap") },
- { A_SEPARATOR, 0, ("") },
- { A_ADDRBOOK, STOCK_PIXMAP_ADDRESS_BOOK, _("Address") }
+ { A_SEND, STOCK_PIXMAP_MAIL_SEND, _("Send") },
+ { A_SENDL, STOCK_PIXMAP_MAIL_SEND_QUEUE, _("Send later") },
+ { A_DRAFT, STOCK_PIXMAP_MAIL, _("Draft") },
+ { A_SEPARATOR, 0, ("") },
+ { A_INSERT, STOCK_PIXMAP_INSERT_FILE, _("Insert") },
+ { A_ATTACH, STOCK_PIXMAP_MAIL_ATTACH, _("Attach") },
+ { A_SIG, STOCK_PIXMAP_MAIL_SIGN, _("Signature") },
+ { A_SEPARATOR, 0, ("") },
+ { A_EXTEDITOR, STOCK_PIXMAP_EDIT_EXTERN, _("Editor") },
+ { A_LINEWRAP_CURRENT, STOCK_PIXMAP_LINEWRAP_CURRENT, _("Wrap paragraph") },
+ { A_LINEWRAP_ALL, STOCK_PIXMAP_LINEWRAP_ALL, _("Wrap all") },
+ { A_SEPARATOR, 0, ("") },
+ { A_ADDRBOOK, STOCK_PIXMAP_ADDRESS_BOOK, _("Address") }
};
gint i;
}
prefs_common.toolbar_style = (ToolbarStyle)action;
+ gtk_widget_set_usize(handlebox_wid, 1, -1);
+
if (prefs_common.toolbar_style != TOOLBAR_NONE) {
gtk_widget_show(handlebox_wid);
gtk_widget_queue_resize(handlebox_wid);
summary_execute(mainwin->summaryview);
}
-
-
-/* popup callback functions */
-static void toolbar_reply_popup_cb(GtkWidget *widget,
- GdkEventButton *event,
- gpointer data)
-{
- Toolbar *toolbar_data = (Toolbar*)data;
-
- if (!event) return;
-
- if (event->button == 3) {
- gtk_button_set_relief(GTK_BUTTON(widget), GTK_RELIEF_NORMAL);
- gtk_menu_popup(GTK_MENU(toolbar_data->reply_popup), NULL, NULL,
- menu_button_position, widget,
- event->button, event->time);
- }
-}
-
-static void toolbar_reply_popup_closed_cb(GtkMenuShell *menu_shell, gpointer data)
-{
- ToolbarItem *toolbar_item = (ToolbarItem*)data;
- GtkWidget *window;
- GtkWidget *reply_btn;
- MainWindow *mainwin;
- MessageView *msgview;
-
- g_return_if_fail(toolbar_item != NULL);
-
- switch(toolbar_item->type) {
- case TOOLBAR_MAIN:
- mainwin = (MainWindow*)toolbar_item->parent;
- reply_btn = mainwin->toolbar->reply_btn;
- window = mainwin->window;
- break;
- case TOOLBAR_MSGVIEW:
- msgview = (MessageView*)toolbar_item->parent;
- reply_btn = msgview->toolbar->reply_btn;
- window = msgview->window;
- break;
- default:
- return;
- }
-
- gtk_button_set_relief(GTK_BUTTON(reply_btn), GTK_RELIEF_NONE);
- manage_window_focus_in(window, NULL, NULL);
-}
-
-static void toolbar_reply_to_all_popup_cb(GtkWidget *widget, GdkEventButton *event, gpointer data)
-{
- Toolbar *toolbar_data = (Toolbar*)data;
-
- if (!event) return;
-
- if (event->button == 3) {
- gtk_button_set_relief(GTK_BUTTON(widget), GTK_RELIEF_NORMAL);
- gtk_menu_popup(GTK_MENU(toolbar_data->replyall_popup), NULL, NULL,
- menu_button_position, widget,
- event->button, event->time);
- }
-}
-
-static void toolbar_reply_to_all_popup_closed_cb(GtkMenuShell *menu_shell, gpointer data)
-{
- ToolbarItem *toolbar_item = (ToolbarItem*)data;
- GtkWidget *window;
- GtkWidget *replyall_btn;
- MainWindow *mainwin;
- MessageView *msgview;
-
- g_return_if_fail(toolbar_item != NULL);
-
- switch(toolbar_item->type) {
- case TOOLBAR_MAIN:
- mainwin = (MainWindow*)toolbar_item->parent;
- replyall_btn = mainwin->toolbar->replyall_btn;
- window = mainwin->window;
- break;
- case TOOLBAR_MSGVIEW:
- msgview = (MessageView*)toolbar_item->parent;
- replyall_btn = msgview->toolbar->replyall_btn;
- window = msgview->window;
- break;
- default:
- return;
- }
-
- gtk_button_set_relief(GTK_BUTTON(replyall_btn), GTK_RELIEF_NONE);
- manage_window_focus_in(window, NULL, NULL);
-}
-
-static void toolbar_reply_to_list_popup_cb(GtkWidget *widget, GdkEventButton *event, gpointer data)
-{
- Toolbar *toolbar_data = (Toolbar*)data;
-
- if (event->button == 3) {
- gtk_button_set_relief(GTK_BUTTON(widget), GTK_RELIEF_NORMAL);
- gtk_menu_popup(GTK_MENU(toolbar_data->replylist_popup), NULL, NULL,
- menu_button_position, widget,
- event->button, event->time);
- }
-}
-
-static void toolbar_reply_to_list_popup_closed_cb(GtkMenuShell *menu_shell, gpointer data)
-{
- ToolbarItem *toolbar_item = (ToolbarItem*)data;
- gpointer parent = toolbar_item->parent;
- GtkWidget *window;
- GtkWidget *replylist_btn;
-
-
- g_return_if_fail(toolbar_item != NULL);
-
- switch(toolbar_item->type) {
- case TOOLBAR_MAIN:
- replylist_btn = ((MainWindow*)parent)->toolbar->replylist_btn;
- window = ((MainWindow*)parent)->window;
- break;
- case TOOLBAR_MSGVIEW:
- replylist_btn = ((MessageView*)parent)->toolbar->replylist_btn;
- window = ((MessageView*)parent)->window;
- break;
- default:
- return;
- }
-
- gtk_button_set_relief(GTK_BUTTON(replylist_btn), GTK_RELIEF_NONE);
- manage_window_focus_in(window, NULL, NULL);
-}
-
-static void toolbar_reply_to_sender_popup_cb(GtkWidget *widget, GdkEventButton *event, gpointer data)
-{
- Toolbar *toolbar_data = (Toolbar*)data;
-
- if (event->button == 3) {
- gtk_button_set_relief(GTK_BUTTON(widget), GTK_RELIEF_NORMAL);
- gtk_menu_popup(GTK_MENU(toolbar_data->replysender_popup), NULL, NULL,
- menu_button_position, widget,
- event->button, event->time);
- }
-}
-
-static void toolbar_reply_to_sender_popup_closed_cb(GtkMenuShell *menu_shell, gpointer data)
-{
- ToolbarItem *toolbar_item = (ToolbarItem*)data;
- gpointer parent = toolbar_item->parent;
- GtkWidget *window;
- GtkWidget *replysender_btn;
-
- g_return_if_fail(toolbar_item != NULL);
-
- switch(toolbar_item->type) {
- case TOOLBAR_MAIN:
- replysender_btn = ((MainWindow*)parent)->toolbar->replysender_btn;
- window = ((MainWindow*)parent)->window;
- break;
- case TOOLBAR_MSGVIEW:
- replysender_btn = ((MessageView*)parent)->toolbar->replysender_btn;
- window = ((MessageView*)parent)->window;
- break;
- default:
- return;
- }
-
- gtk_button_set_relief(GTK_BUTTON(replysender_btn), GTK_RELIEF_NONE);
- manage_window_focus_in(window, NULL, NULL);
-}
-
-static void toolbar_forward_popup_cb(GtkWidget *widget, GdkEventButton *event, gpointer data)
-{
- Toolbar *toolbar_data = (Toolbar*)data;
-
- if (event->button == 3) {
- gtk_button_set_relief(GTK_BUTTON(widget), GTK_RELIEF_NORMAL);
- gtk_menu_popup(GTK_MENU(toolbar_data->fwd_popup), NULL, NULL,
- menu_button_position, widget,
- event->button, event->time);
- }
-}
-
-static void toolbar_forward_popup_closed_cb (GtkMenuShell *menu_shell,
- gpointer data)
-{
- ToolbarItem *toolbar_item = (ToolbarItem*)data;
- gpointer parent = toolbar_item->parent;
- GtkWidget *window;
- GtkWidget *fwd_btn;
-
- g_return_if_fail(toolbar_item != NULL);
-
- switch(toolbar_item->type) {
- case TOOLBAR_MAIN:
- fwd_btn = ((MainWindow*)parent)->toolbar->fwd_btn;
- window = ((MainWindow*)parent)->window;
- break;
- case TOOLBAR_MSGVIEW:
- fwd_btn = ((MessageView*)parent)->toolbar->fwd_btn;
- window = ((MessageView*)parent)->window;
- break;
- default:
- return;
- }
-
- gtk_button_set_relief(GTK_BUTTON(fwd_btn), GTK_RELIEF_NONE);
- manage_window_focus_in(window, NULL, NULL);
-}
-
/*
* Delete current/selected(s) message(s)
*/
switch (toolbar_item->type) {
case TOOLBAR_MSGVIEW:
- msgview = (MessageView*)toolbar_item->parent;
- messageview_delete(msgview);
+ if (msgview = (MessageView*)toolbar_item->parent) {
+ mainwin = msgview->mainwin;
+ if (msgview->msginfo && mainwin)
+ summary_delete(mainwin->summaryview);
+ }
break;
case TOOLBAR_MAIN:
mainwin = (MainWindow*)toolbar_item->parent;
compose_toolbar_cb(A_EXTEDITOR, data);
}
-static void toolbar_linewrap_cb(GtkWidget *widget, gpointer data)
+static void toolbar_linewrap_current_cb(GtkWidget *widget, gpointer data)
+{
+ compose_toolbar_cb(A_LINEWRAP_CURRENT, data);
+}
+
+static void toolbar_linewrap_all_cb(GtkWidget *widget, gpointer data)
{
- compose_toolbar_cb(A_LINEWRAP, data);
+ compose_toolbar_cb(A_LINEWRAP_ALL, data);
}
#ifdef USE_ASPELL
{ A_ATTACH, toolbar_attach_cb },
{ A_SIG, toolbar_sig_cb },
{ A_EXTEDITOR, toolbar_ext_editor_cb },
- { A_LINEWRAP, toolbar_linewrap_cb },
+ { A_LINEWRAP_CURRENT, toolbar_linewrap_current_cb },
+ { A_LINEWRAP_ALL, toolbar_linewrap_all_cb },
{ A_ADDRBOOK, toolbar_addrbook_cb },
#ifdef USE_ASPELL
{ A_CHECK_SPELLING, toolbar_check_spelling_cb },
GtkWidget *window_wid;
guint n_menu_entries;
- GtkWidget *reply_popup;
- GtkWidget *replyall_popup;
- GtkWidget *replylist_popup;
- GtkWidget *replysender_popup;
- GtkWidget *fwd_popup;
+ ComboButton *reply_combo;
+ ComboButton *replyall_combo;
+ ComboButton *replylist_combo;
+ ComboButton *replysender_combo;
+ ComboButton *fwd_combo;
GtkTooltips *toolbar_tips;
ToolbarSylpheedActions *action_item;
gtk_tooltips_set_tip(GTK_TOOLTIPS(toolbar_tips),
toolbar_data->reply_btn,
_("Reply to Message"), NULL);
- gtk_signal_connect(GTK_OBJECT(toolbar_data->reply_btn),
- "button_press_event",
- GTK_SIGNAL_FUNC(toolbar_reply_popup_cb),
- toolbar_data);
- n_menu_entries = sizeof(reply_popup_entries) /
- sizeof(reply_popup_entries[0]);
-
- window_wid = get_window_widget(type, data);
- reply_popup = popupmenu_create(window_wid,
- reply_popup_entries, n_menu_entries,
- "<ReplyPopup>", (gpointer)toolbar_item);
-
- gtk_signal_connect(GTK_OBJECT(reply_popup), "selection_done",
- GTK_SIGNAL_FUNC(toolbar_reply_popup_closed_cb), toolbar_item);
- toolbar_data->reply_popup = reply_popup;
+ n_menu_entries = sizeof(reply_entries) /
+ sizeof(replysender_entries[0]);
+ reply_combo = gtkut_combo_button_create(toolbar_data->reply_btn,
+ reply_entries, n_menu_entries,
+ "<Reply>", (gpointer)toolbar_item);
+ gtk_button_set_relief(GTK_BUTTON(reply_combo->arrow),
+ GTK_TOOLBAR(toolbar)->relief);
+ gtk_toolbar_append_widget(GTK_TOOLBAR(toolbar),
+ GTK_WIDGET_PTR(reply_combo),
+ _("Reply to Message"), "Reply");
+ toolbar_data->reply_combo = reply_combo;
break;
case A_REPLY_SENDER:
toolbar_data->replysender_btn = item;
gtk_tooltips_set_tip(GTK_TOOLTIPS(toolbar_tips),
toolbar_data->replysender_btn,
_("Reply to Sender"), NULL);
- gtk_signal_connect(GTK_OBJECT(toolbar_data->replysender_btn),
- "button_press_event",
- GTK_SIGNAL_FUNC(toolbar_reply_to_sender_popup_cb),
- toolbar_data);
- n_menu_entries = sizeof(replysender_popup_entries) /
- sizeof(replysender_popup_entries[0]);
-
- window_wid = get_window_widget(type, data);
- replysender_popup = popupmenu_create(window_wid,
- replysender_popup_entries, n_menu_entries,
- "<ReplySenderPopup>", (gpointer)toolbar_item);
-
- gtk_signal_connect(GTK_OBJECT(replysender_popup), "selection_done",
- GTK_SIGNAL_FUNC(toolbar_reply_to_sender_popup_closed_cb), toolbar_item);
- toolbar_data->replysender_popup = replysender_popup;
+ n_menu_entries = sizeof(replysender_entries) /
+ sizeof(replysender_entries[0]);
+ replysender_combo = gtkut_combo_button_create(toolbar_data->replysender_btn,
+ replysender_entries, n_menu_entries,
+ "<ReplySender>", (gpointer)toolbar_item);
+ gtk_button_set_relief(GTK_BUTTON(replysender_combo->arrow),
+ GTK_TOOLBAR(toolbar)->relief);
+ gtk_toolbar_append_widget(GTK_TOOLBAR(toolbar),
+ GTK_WIDGET_PTR(replysender_combo),
+ _("Reply to Sender"), "ReplySender");
+ toolbar_data->replysender_combo = replysender_combo;
break;
case A_REPLY_ALL:
toolbar_data->replyall_btn = item;
gtk_tooltips_set_tip(GTK_TOOLTIPS(toolbar_tips),
toolbar_data->replyall_btn,
_("Reply to All"), NULL);
- gtk_signal_connect(GTK_OBJECT(toolbar_data->replyall_btn),
- "button_press_event",
- GTK_SIGNAL_FUNC(toolbar_reply_to_all_popup_cb),
- toolbar_data);
- n_menu_entries = sizeof(replyall_popup_entries) /
- sizeof(replyall_popup_entries[0]);
-
- window_wid = get_window_widget(type, data);
- replyall_popup = popupmenu_create(window_wid,
- replyall_popup_entries, n_menu_entries,
- "<ReplyAllPopup>", (gpointer)toolbar_item);
-
- gtk_signal_connect(GTK_OBJECT(replyall_popup), "selection_done",
- GTK_SIGNAL_FUNC(toolbar_reply_to_all_popup_closed_cb), toolbar_item);
- toolbar_data->replyall_popup = replyall_popup;
+ n_menu_entries = sizeof(replyall_entries) /
+ sizeof(replyall_entries[0]);
+ replyall_combo = gtkut_combo_button_create(toolbar_data->replyall_btn,
+ replyall_entries, n_menu_entries,
+ "<ReplyAll>", (gpointer)toolbar_item);
+ gtk_button_set_relief(GTK_BUTTON(replyall_combo->arrow),
+ GTK_TOOLBAR(toolbar)->relief);
+ gtk_toolbar_append_widget(GTK_TOOLBAR(toolbar),
+ GTK_WIDGET_PTR(replyall_combo),
+ _("Reply to All"), "ReplyAll");
+ toolbar_data->replyall_combo = replyall_combo;
break;
case A_REPLY_ML:
toolbar_data->replylist_btn = item;
gtk_tooltips_set_tip(GTK_TOOLTIPS(toolbar_tips),
toolbar_data->replylist_btn,
_("Reply to Mailing-list"), NULL);
- gtk_signal_connect(GTK_OBJECT(toolbar_data->replylist_btn),
- "button_press_event",
- GTK_SIGNAL_FUNC(toolbar_reply_to_list_popup_cb),
- toolbar_data);
- n_menu_entries = sizeof(replylist_popup_entries) /
- sizeof(replylist_popup_entries[0]);
-
- window_wid = get_window_widget(type, data);
- replylist_popup = popupmenu_create(window_wid,
- replylist_popup_entries, n_menu_entries,
- "<ReplyMlPopup>", (gpointer)toolbar_item);
-
- gtk_signal_connect(GTK_OBJECT(replylist_popup), "selection_done",
- GTK_SIGNAL_FUNC(toolbar_reply_to_list_popup_closed_cb), toolbar_item);
- toolbar_data->replylist_popup = replylist_popup;
+ n_menu_entries = sizeof(replylist_entries) /
+ sizeof(replylist_entries[0]);
+ replylist_combo = gtkut_combo_button_create(toolbar_data->replylist_btn,
+ replylist_entries, n_menu_entries,
+ "<ReplyList>", (gpointer)toolbar_item);
+ gtk_button_set_relief(GTK_BUTTON(replylist_combo->arrow),
+ GTK_TOOLBAR(toolbar)->relief);
+ gtk_toolbar_append_widget(GTK_TOOLBAR(toolbar),
+ GTK_WIDGET_PTR(replylist_combo),
+ _("Reply to Mailing-list"), "ReplyList");
+ toolbar_data->replylist_combo = replylist_combo;
break;
case A_FORWARD:
toolbar_data->fwd_btn = item;
gtk_tooltips_set_tip(GTK_TOOLTIPS(toolbar_tips),
toolbar_data->fwd_btn,
_("Forward Message"), NULL);
- gtk_signal_connect(GTK_OBJECT(toolbar_data->fwd_btn),
- "button_press_event",
- GTK_SIGNAL_FUNC(toolbar_forward_popup_cb),
- toolbar_data);
- n_menu_entries = sizeof(fwd_popup_entries) /
- sizeof(fwd_popup_entries[0]);
-
- window_wid = get_window_widget(type, data);
- fwd_popup = popupmenu_create(window_wid,
- fwd_popup_entries, n_menu_entries,
- "<ForwardPopup>", (gpointer)toolbar_item);
-
- gtk_signal_connect(GTK_OBJECT(fwd_popup), "selection_done",
- GTK_SIGNAL_FUNC(toolbar_forward_popup_closed_cb), toolbar_item);
- toolbar_data->fwd_popup = fwd_popup;
+ n_menu_entries = sizeof(forward_entries) /
+ sizeof(forward_entries[0]);
+ fwd_combo = gtkut_combo_button_create(toolbar_data->fwd_btn,
+ forward_entries, n_menu_entries,
+ "<Forward>", (gpointer)toolbar_item);
+ gtk_button_set_relief(GTK_BUTTON(fwd_combo->arrow),
+ GTK_TOOLBAR(toolbar)->relief);
+ gtk_toolbar_append_widget(GTK_TOOLBAR(toolbar),
+ GTK_WIDGET_PTR(fwd_combo),
+ _("Forward Message"), "Fwd");
+ toolbar_data->fwd_combo = fwd_combo;
break;
case A_DELETE:
toolbar_data->delete_btn = item;
toolbar_data->exteditor_btn,
_("Edit with external editor"), NULL);
break;
- case A_LINEWRAP:
- toolbar_data->linewrap_btn = item;
+ case A_LINEWRAP_CURRENT:
+ toolbar_data->linewrap_current_btn = item;
+ gtk_tooltips_set_tip(GTK_TOOLTIPS(toolbar_tips),
+ toolbar_data->linewrap_current_btn,
+ _("Wrap long lines of current paragraph"), NULL);
+ break;
+ case A_LINEWRAP_ALL:
+ toolbar_data->linewrap_all_btn = item;
gtk_tooltips_set_tip(GTK_TOOLTIPS(toolbar_tips),
- toolbar_data->linewrap_btn,
+ toolbar_data->linewrap_all_btn,
_("Wrap all long lines"), NULL);
break;
case A_ADDRBOOK:
SET_WIDGET_COND(toolbar->compose_news_btn, M_HAVE_ACCOUNT);
SET_WIDGET_COND(toolbar->reply_btn,
M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST);
+ if (toolbar->reply_btn)
+ SET_WIDGET_COND(GTK_WIDGET_PTR(toolbar->reply_combo),
+ M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST);
SET_WIDGET_COND(toolbar->replyall_btn,
M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST);
+ if (toolbar->replyall_btn)
+ SET_WIDGET_COND(GTK_WIDGET_PTR(toolbar->replyall_combo),
+ M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST);
SET_WIDGET_COND(toolbar->replylist_btn,
M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST);
+ if (toolbar->replylist_btn)
+ SET_WIDGET_COND(GTK_WIDGET_PTR(toolbar->replylist_combo),
+ M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST);
SET_WIDGET_COND(toolbar->replysender_btn,
M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST);
+ if (toolbar->replysender_btn)
+ SET_WIDGET_COND(GTK_WIDGET_PTR(toolbar->replysender_combo),
+ M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST);
SET_WIDGET_COND(toolbar->fwd_btn, M_HAVE_ACCOUNT|M_TARGET_EXIST);
+ if (toolbar->fwd_btn)
+ SET_WIDGET_COND(GTK_WIDGET_PTR(toolbar->fwd_combo),
+ M_HAVE_ACCOUNT|M_TARGET_EXIST);
SET_WIDGET_COND(toolbar->next_btn, M_MSG_EXIST);
SET_WIDGET_COND(toolbar->delete_btn,
gtk_widget_set_sensitive(compose->toolbar->sig_btn, sensitive);
if (compose->toolbar->exteditor_btn)
gtk_widget_set_sensitive(compose->toolbar->exteditor_btn, sensitive);
- if (compose->toolbar->linewrap_btn)
- gtk_widget_set_sensitive(compose->toolbar->linewrap_btn, sensitive);
+ if (compose->toolbar->linewrap_current_btn)
+ gtk_widget_set_sensitive(compose->toolbar->linewrap_current_btn, sensitive);
+ if (compose->toolbar->linewrap_all_btn)
+ gtk_widget_set_sensitive(compose->toolbar->linewrap_all_btn, sensitive);
if (compose->toolbar->addrbook_btn)
gtk_widget_set_sensitive(compose->toolbar->addrbook_btn, sensitive);
#ifdef USE_ASPELL
**/
void toolbar_init(Toolbar * toolbar) {
- toolbar->toolbar = NULL;
- toolbar->get_btn = NULL;
- toolbar->getall_btn = NULL;
- toolbar->send_btn = NULL;
- toolbar->compose_mail_btn = NULL;
- toolbar->compose_news_btn = NULL;
- toolbar->reply_btn = NULL;
- toolbar->replysender_btn = NULL;
- toolbar->replyall_btn = NULL;
- toolbar->replylist_btn = NULL;
- toolbar->fwd_btn = NULL;
- toolbar->delete_btn = NULL;
- toolbar->next_btn = NULL;
- toolbar->exec_btn = NULL;
+ toolbar->toolbar = NULL;
+ toolbar->get_btn = NULL;
+ toolbar->getall_btn = NULL;
+ toolbar->send_btn = NULL;
+ toolbar->compose_mail_btn = NULL;
+ toolbar->compose_news_btn = NULL;
+ toolbar->reply_btn = NULL;
+ toolbar->replysender_btn = NULL;
+ toolbar->replyall_btn = NULL;
+ toolbar->replylist_btn = NULL;
+ toolbar->fwd_btn = NULL;
+ toolbar->delete_btn = NULL;
+ toolbar->next_btn = NULL;
+ toolbar->exec_btn = NULL;
/* compose buttons */
- toolbar->sendl_btn = NULL;
- toolbar->draft_btn = NULL;
- toolbar->insert_btn = NULL;
- toolbar->attach_btn = NULL;
- toolbar->sig_btn = NULL;
- toolbar->exteditor_btn = NULL;
- toolbar->linewrap_btn = NULL;
- toolbar->addrbook_btn = NULL;
+ toolbar->sendl_btn = NULL;
+ toolbar->draft_btn = NULL;
+ toolbar->insert_btn = NULL;
+ toolbar->attach_btn = NULL;
+ toolbar->sig_btn = NULL;
+ toolbar->exteditor_btn = NULL;
+ toolbar->linewrap_current_btn = NULL;
+ toolbar->linewrap_all_btn = NULL;
+ toolbar->addrbook_btn = NULL;
#ifdef USE_ASPELL
- toolbar->spellcheck_btn = NULL;
+ toolbar->spellcheck_btn = NULL;
#endif
toolbar_destroy(toolbar);