#define TOOLBAR_ICON_TEXT "text"
#define TOOLBAR_ICON_ACTION "action"
+static void toolbar_init(Toolbar * toolbar);
static gboolean toolbar_is_duplicate (gint action,
ToolbarType source);
static void toolbar_parse_item (XMLFile *file,
#ifdef USE_ASPELL
{ "A_CHECK_SPELLING", N_("Check spelling") },
#endif
- { "A_SYL_ACTIONS", N_("Claws Mail Actions Feature") },
+ { "A_CLAWS_ACTIONS", N_("Claws Mail Actions Feature") },
{ "A_CANCEL_INC", N_("Cancel receiving") },
{ "A_CLOSE", N_("Close window") },
{ "A_SEPARATOR", "Separator" }
{ "toolbar_compose.xml", NULL},
{ "toolbar_msgview.xml", NULL}
};
-
+#ifndef MAEMO
static GtkItemFactoryEntry reply_entries[] =
{
{N_("/Reply with _quote"), NULL, toolbar_reply, COMPOSE_REPLY_WITH_QUOTE, NULL},
{N_("/For_ward as attachment"), "<shift>F", toolbar_reply, COMPOSE_FORWARD_AS_ATTACH, NULL},
{N_("/Redirec_t"), NULL, toolbar_reply, COMPOSE_REDIRECT, NULL}
};
+#endif
static GtkItemFactoryEntry learn_entries[] =
{
{N_("/Learn as _Spam"), NULL, toolbar_learn, TRUE, NULL},
{
GSList *cur;
- if ((action == A_SEPARATOR) || (action == A_SYL_ACTIONS))
+ if ((action == A_SEPARATOR) || (action == A_CLAWS_ACTIONS))
return FALSE;
for (cur = toolbar_config[source].item_list; cur != NULL; cur = cur->next) {
}
}
+const gchar *toolbar_get_short_text(int action) {
+ switch(action) {
+ case A_GO_FOLDERS: return _("Folders");
+ case A_OPEN_MAIL: return _("Open");
+ case A_RECEIVE_ALL: return _("Get Mail");
+ case A_RECEIVE_CUR: return _("Get");
+ case A_SEND_QUEUED: return _("Send");
+ case A_COMPOSE_EMAIL: return Q_("Toolbar|Compose");
+ case A_COMPOSE_NEWS: return Q_("Toolbar|Compose");
+ case A_REPLY_MESSAGE: return _("Reply");
+ case A_REPLY_ALL: return _("All");
+ case A_REPLY_SENDER: return _("Sender");
+ case A_REPLY_ML: return _("List");
+ case A_FORWARD: return _("Forward");
+ case A_TRASH: return _("Trash");
+ case A_DELETE_REAL: return _("Delete");
+ case A_LEARN_SPAM: return _("Spam");
+ case A_GOTO_PREV: return _("Prev");
+ case A_GOTO_NEXT: return _("Next");
+ case A_IGNORE_THREAD: return _("Ignore thread");
+ case A_WATCH_THREAD: return _("Watch thread");
+ case A_PRINT: return _("Print");
+ case A_CLOSE: return _("Close");
+ case A_SEND: return _("Send");
+ case A_SENDL: return _("Send later");
+ case A_DRAFT: return _("Draft");
+ case A_INSERT: return _("Insert");
+ case A_ATTACH: return _("Attach");
+ case A_SIG: return _("Insert sig.");
+ case A_EXTEDITOR: return _("Edit");
+ case A_LINEWRAP_CURRENT:return _("Wrap para.");
+ case A_LINEWRAP_ALL: return _("Wrap all");
+ case A_ADDRBOOK: return _("Address");
+ case A_CANCEL_INC: return _("Stop");
+ case A_EXECUTE: return _("Execute");
+ #ifdef USE_ASPELL
+ case A_CHECK_SPELLING: return _("Check spelling");
+ #endif
+ default: return "";
+ }
+}
+
+gint toolbar_get_icon(int action) {
+ switch(action) {
+ case A_GO_FOLDERS: return STOCK_PIXMAP_GO_FOLDERS;
+ case A_OPEN_MAIL: return STOCK_PIXMAP_OPEN_MAIL;
+ case A_RECEIVE_ALL: return STOCK_PIXMAP_MAIL_RECEIVE_ALL;
+ case A_RECEIVE_CUR: return STOCK_PIXMAP_MAIL_RECEIVE;
+ case A_SEND_QUEUED: return STOCK_PIXMAP_MAIL_SEND_QUEUE;
+ case A_COMPOSE_EMAIL: return STOCK_PIXMAP_MAIL_COMPOSE;
+ case A_COMPOSE_NEWS: return STOCK_PIXMAP_NEWS_COMPOSE;
+ case A_REPLY_MESSAGE: return STOCK_PIXMAP_MAIL_REPLY;
+ case A_REPLY_ALL: return STOCK_PIXMAP_MAIL_REPLY_TO_ALL;
+ case A_REPLY_SENDER: return STOCK_PIXMAP_MAIL_REPLY_TO_AUTHOR;
+ case A_REPLY_ML: return STOCK_PIXMAP_MAIL_REPLY;
+ case A_FORWARD: return STOCK_PIXMAP_MAIL_FORWARD;
+ case A_TRASH: return STOCK_PIXMAP_TRASH;
+ case A_DELETE_REAL: return STOCK_PIXMAP_DELETED;
+ case A_LEARN_SPAM: return STOCK_PIXMAP_SPAM_BTN;
+ case A_GOTO_PREV: return STOCK_PIXMAP_UP_ARROW;
+ case A_GOTO_NEXT: return STOCK_PIXMAP_DOWN_ARROW;
+ case A_IGNORE_THREAD: return STOCK_PIXMAP_IGNORETHREAD;
+ case A_WATCH_THREAD: return STOCK_PIXMAP_WATCHTHREAD;
+ case A_PRINT: return STOCK_PIXMAP_PRINTER;
+ case A_CLOSE: return STOCK_PIXMAP_CLOSE;
+ case A_SEND: return STOCK_PIXMAP_MAIL_SEND;
+ case A_SENDL: return STOCK_PIXMAP_MAIL_SEND_QUEUE;
+ case A_DRAFT: return STOCK_PIXMAP_MAIL;
+ case A_INSERT: return STOCK_PIXMAP_INSERT_FILE;
+ case A_ATTACH: return STOCK_PIXMAP_MAIL_ATTACH;
+ case A_SIG: return STOCK_PIXMAP_MAIL_SIGN;
+ case A_EXTEDITOR: return STOCK_PIXMAP_EDIT_EXTERN;
+ case A_LINEWRAP_CURRENT:return STOCK_PIXMAP_LINEWRAP_CURRENT;
+ case A_LINEWRAP_ALL: return STOCK_PIXMAP_LINEWRAP_ALL;
+ case A_ADDRBOOK: return STOCK_PIXMAP_ADDRESS_BOOK;
+ case A_CANCEL_INC: return STOCK_PIXMAP_NOTICE_ERROR;
+ case A_EXECUTE: return STOCK_PIXMAP_EXEC;
+ #ifdef USE_ASPELL
+ case A_CHECK_SPELLING: return STOCK_PIXMAP_CHECK_SPELLING;
+ #endif
+ default: return -1;
+ }
+}
+
static void toolbar_set_default_main(void)
{
struct {
gint action;
- gint icon;
- gchar *text;
} default_toolbar[] = {
#ifdef MAEMO
- { A_GO_FOLDERS, STOCK_PIXMAP_GO_FOLDERS, _("Folders") },
- { A_OPEN_MAIL, STOCK_PIXMAP_OPEN_MAIL, _("Open") },
- { A_SEPARATOR, 0, ("") },
+ { A_GO_FOLDERS},
+ { A_OPEN_MAIL},
+ { A_SEPARATOR},
#endif
- { A_RECEIVE_ALL, STOCK_PIXMAP_MAIL_RECEIVE_ALL, _("Get Mail")},
- { A_SEPARATOR, 0, ("") },
- { A_SEND_QUEUED, STOCK_PIXMAP_MAIL_SEND_QUEUE, _("Send") },
- { A_COMPOSE_EMAIL, STOCK_PIXMAP_MAIL_COMPOSE,
- (gchar*)Q_("Toolbar|Compose") },
- { A_SEPARATOR, 0, ("") },
- { A_REPLY_MESSAGE, STOCK_PIXMAP_MAIL_REPLY, _("Reply") },
+ { A_RECEIVE_ALL},
+ { A_SEPARATOR},
+ { A_SEND_QUEUED},
+ { A_COMPOSE_EMAIL},
+ { A_SEPARATOR},
+ { A_REPLY_MESSAGE},
#ifndef MAEMO
- { A_REPLY_ALL, STOCK_PIXMAP_MAIL_REPLY_TO_ALL, _("All") },
- { A_REPLY_SENDER, STOCK_PIXMAP_MAIL_REPLY_TO_AUTHOR, _("Sender") },
+ { A_REPLY_ALL},
+ { A_REPLY_SENDER},
#endif
- { A_FORWARD, STOCK_PIXMAP_MAIL_FORWARD, _("Forward") },
- { A_SEPARATOR, 0, ("") },
- { A_TRASH, STOCK_PIXMAP_TRASH, _("Trash") },
+ { A_FORWARD},
+ { A_SEPARATOR},
+ { A_TRASH},
#ifndef MAEMO
#if (defined(USE_SPAMASSASSIN_PLUGIN) || defined(USE_BOGOFILTER_PLUGIN))
- { A_LEARN_SPAM, STOCK_PIXMAP_SPAM_BTN, _("Spam") },
+ { A_LEARN_SPAM},
#endif
#endif
- { A_SEPARATOR, 0, ("") },
- { A_GOTO_NEXT, STOCK_PIXMAP_DOWN_ARROW, _("Next") }
+ { A_SEPARATOR},
+ { A_GOTO_NEXT}
};
gint i;
if (default_toolbar[i].action != A_SEPARATOR) {
- gchar *file = stock_pixmap_get_name((StockPixmap)default_toolbar[i].icon);
+ gchar *file = stock_pixmap_get_name((StockPixmap)toolbar_get_icon(default_toolbar[i].action));
toolbar_item->file = g_strdup(file);
toolbar_item->index = default_toolbar[i].action;
- toolbar_item->text = g_strdup(default_toolbar[i].text);
+ toolbar_item->text = g_strdup(toolbar_get_short_text(default_toolbar[i].action));
} else {
toolbar_item->file = g_strdup(TOOLBAR_TAG_SEPARATOR);
{
struct {
gint action;
- gint icon;
- gchar *text;
} default_toolbar[] = {
#ifdef MAEMO
- { A_CLOSE, STOCK_PIXMAP_CLOSE, _("Close") },
- { A_SEPARATOR, 0, ("") },
+ { A_CLOSE},
+ { A_SEPARATOR},
#endif
- { 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_SEND},
+ { A_SENDL},
+ { A_DRAFT},
+ { A_SEPARATOR},
#ifndef MAEMO
- { A_INSERT, STOCK_PIXMAP_INSERT_FILE, _("Insert") },
+ { A_INSERT},
#endif
- { A_ATTACH, STOCK_PIXMAP_MAIL_ATTACH, _("Attach") },
- { A_SEPARATOR, 0, ("") },
- { A_ADDRBOOK, STOCK_PIXMAP_ADDRESS_BOOK, _("Address") }
+ { A_ATTACH},
+ { A_SEPARATOR},
+ { A_ADDRBOOK}
};
gint i;
if (default_toolbar[i].action != A_SEPARATOR) {
- gchar *file = stock_pixmap_get_name((StockPixmap)default_toolbar[i].icon);
+ gchar *file = stock_pixmap_get_name((StockPixmap)toolbar_get_icon(default_toolbar[i].action));
toolbar_item->file = g_strdup(file);
toolbar_item->index = default_toolbar[i].action;
- toolbar_item->text = g_strdup(default_toolbar[i].text);
+ toolbar_item->text = g_strdup(toolbar_get_short_text(default_toolbar[i].action));
} else {
toolbar_item->file = g_strdup(TOOLBAR_TAG_SEPARATOR);
{
struct {
gint action;
- gint icon;
- gchar *text;
} default_toolbar[] = {
#ifdef MAEMO
- { A_CLOSE, STOCK_PIXMAP_CLOSE, _("Close") },
- { A_SEPARATOR, 0, ("") },
+ { A_CLOSE},
+ { A_SEPARATOR},
#endif
- { A_REPLY_MESSAGE, STOCK_PIXMAP_MAIL_REPLY, _("Reply") },
- { A_REPLY_ALL, STOCK_PIXMAP_MAIL_REPLY_TO_ALL, _("All") },
- { A_REPLY_SENDER, STOCK_PIXMAP_MAIL_REPLY_TO_AUTHOR, _("Sender") },
- { A_FORWARD, STOCK_PIXMAP_MAIL_FORWARD, _("Forward") },
- { A_SEPARATOR, 0, ("") },
- { A_TRASH, STOCK_PIXMAP_TRASH, _("Trash") },
+ { A_REPLY_MESSAGE},
+ { A_REPLY_ALL},
+ { A_REPLY_SENDER},
+ { A_FORWARD},
+ { A_SEPARATOR},
+ { A_TRASH},
#ifndef MAEMO
#if (defined(USE_SPAMASSASSIN_PLUGIN) || defined(USE_BOGOFILTER_PLUGIN))
- { A_LEARN_SPAM, STOCK_PIXMAP_SPAM_BTN, _("Spam") },
+ { A_LEARN_SPAM},
#endif
#endif
- { A_GOTO_NEXT, STOCK_PIXMAP_DOWN_ARROW, _("Next") }
+ { A_GOTO_NEXT}
};
gint i;
if (default_toolbar[i].action != A_SEPARATOR) {
- gchar *file = stock_pixmap_get_name((StockPixmap)default_toolbar[i].icon);
+ gchar *file = stock_pixmap_get_name((StockPixmap)toolbar_get_icon(default_toolbar[i].action));
toolbar_item->file = g_strdup(file);
toolbar_item->index = default_toolbar[i].action;
- toolbar_item->text = g_strdup(default_toolbar[i].text);
+ toolbar_item->text = g_strdup(toolbar_get_short_text(default_toolbar[i].action));
} else {
toolbar_item->file = g_strdup(TOOLBAR_TAG_SEPARATOR);
toolbar_item);
}
-void toolbar_action_execute(GtkWidget *widget,
+static void toolbar_action_execute(GtkWidget *widget,
GSList *action_list,
gpointer data,
gint source)
gint i = 0;
for (cur = action_list; cur != NULL; cur = cur->next) {
- ToolbarSylpheedActions *act = (ToolbarSylpheedActions*)cur->data;
+ ToolbarClawsActions *act = (ToolbarClawsActions*)cur->data;
if (widget == act->widget) {
gtk_tool_button_set_icon_widget(
GTK_TOOL_BUTTON(toolbar->compose_mail_btn),
toolbar->compose_news_icon);
+#ifndef MAEMO
gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(toolbar->compose_mail_btn), GTK_TOOLTIPS(toolbar->tooltips),
- _("Compose News message"), NULL);
+ _("Compose News message"), NULL);
+#endif
gtk_widget_show(toolbar->compose_news_icon);
} else {
gtk_tool_button_set_icon_widget(
GTK_TOOL_BUTTON(toolbar->compose_mail_btn),
toolbar->compose_mail_icon);
+#ifndef MAEMO
gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(toolbar->compose_mail_btn), GTK_TOOLTIPS(toolbar->tooltips),
- _("Compose Email"), NULL);
+ _("Compose Email"), NULL);
+#endif
gtk_widget_show(toolbar->compose_mail_icon);
}
toolbar->compose_btn_type = type;
gtk_tool_button_set_label(
GTK_TOOL_BUTTON(toolbar->learn_spam_btn),
_("Spam"));
+#ifndef MAEMO
gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(toolbar->learn_spam_btn), GTK_TOOLTIPS(toolbar->tooltips),
_("Learn spam"), NULL);
+#endif
gtk_widget_show(toolbar->learn_spam_icon);
} else {
gtk_tool_button_set_icon_widget(
gtk_tool_button_set_label(
GTK_TOOL_BUTTON(toolbar->learn_spam_btn),
_("Ham"));
+#ifndef MAEMO
gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(toolbar->learn_spam_btn), GTK_TOOLTIPS(toolbar->tooltips),
- _("Learn ham"), NULL);
+ _("Learn ham"), NULL);
+#endif
gtk_widget_show(toolbar->learn_ham_icon);
}
toolbar->learn_btn_type = type;
#ifdef USE_ASPELL
{ A_CHECK_SPELLING, toolbar_check_spelling_cb },
#endif
- { A_SYL_ACTIONS, toolbar_actions_execute_cb },
+ { A_CLAWS_ACTIONS, toolbar_actions_execute_cb },
{ A_CANCEL_INC, toolbar_cancel_inc_cb }
};
}
}
}
-
+#ifndef MAEMO
#define TOOLBAR_ITEM(item,icon,text,tooltip) { \
item = GTK_WIDGET(gtk_tool_button_new(icon, text)); \
gtk_tool_item_set_homogeneous(GTK_TOOL_ITEM(item), FALSE); \
gtk_widget_set_size_request(GTK_WIDGET(gchild->data), 9, -1); \
g_list_free(gchild); \
}
+#else
+#define TOOLBAR_ITEM(item,icon,text,tooltip) { \
+ item = GTK_WIDGET(gtk_tool_button_new(icon, text)); \
+ gtk_tool_item_set_homogeneous(GTK_TOOL_ITEM(item), FALSE); \
+ gtk_tool_item_set_is_important(GTK_TOOL_ITEM(item), TRUE); \
+ g_signal_connect (G_OBJECT(item), "clicked", G_CALLBACK(toolbar_buttons_cb), toolbar_item); \
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(item), -1); \
+}
+
+#define TOOLBAR_MENUITEM(item,icon,text,tooltip,menutip) { \
+ GtkWidget *child = NULL, *btn = NULL, *arr = NULL; \
+ GList *gchild = NULL; \
+ item = GTK_WIDGET(gtk_menu_tool_button_new(icon, text)); \
+ gtk_tool_item_set_homogeneous(GTK_TOOL_ITEM(item), FALSE); \
+ gtk_tool_item_set_is_important(GTK_TOOL_ITEM(item), TRUE); \
+ g_signal_connect (G_OBJECT(item), "clicked", G_CALLBACK(toolbar_buttons_cb), toolbar_item); \
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(item), -1); \
+ child = gtk_bin_get_child(GTK_BIN(item)); \
+ gchild = gtk_container_get_children( \
+ GTK_CONTAINER(child)); \
+ btn = (GtkWidget *)gchild->data; \
+ arr = (GtkWidget *)(gchild->next?gchild->next->data:NULL); \
+ g_list_free(gchild); \
+ gchild = gtk_container_get_children(GTK_CONTAINER(arr)); \
+ gtk_widget_set_size_request(GTK_WIDGET(gchild->data), 9, -1); \
+ g_list_free(gchild); \
+}
+#endif
#define MAKE_MENU(entries,path,btn) { \
n_menu_entries = sizeof(entries) / \
GtkWidget *menu;
guint n_menu_entries;
GtkItemFactory *factory;
- GtkTooltips *toolbar_tips;
- ToolbarSylpheedActions *action_item;
+ ToolbarClawsActions *action_item;
GSList *cur;
GSList *toolbar_list;
Toolbar *toolbar_data;
-
+#ifndef MAEMO
+ GtkTooltips *toolbar_tips;
toolbar_tips = gtk_tooltips_new();
-
+#endif
toolbar_read_config_file(type);
toolbar_list = toolbar_get_list(type);
break;
#endif
- case A_SYL_ACTIONS:
+ case A_CLAWS_ACTIONS:
TOOLBAR_ITEM(item,icon_wid,toolbar_item->text,toolbar_item->text);
- action_item = g_new0(ToolbarSylpheedActions, 1);
+ action_item = g_new0(ToolbarClawsActions, 1);
action_item->widget = item;
action_item->name = g_strdup(toolbar_item->text);
}
toolbar_data->toolbar = toolbar;
+#ifndef MAEMO
toolbar_data->tooltips = toolbar_tips;
+#endif
gtk_widget_show_all(toolbar);
if (type == TOOLBAR_MAIN) {
#ifdef MAEMO
MainWindow *mainwin = mainwindow_get_mainwindow();
GtkWidget *progressbar = gtk_progress_bar_new();
- item = gtk_tool_item_new();
+ item = GTK_WIDGET(gtk_tool_item_new());
gtk_container_add (GTK_CONTAINER (item), progressbar);
gtk_widget_show(item);
gtk_widget_show(progressbar);
gtk_widget_set_size_request(progressbar, 70, -1);
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(item), -1); \
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(item), -1);
mainwin->progressbar = progressbar;
#endif
activate_compose_button(toolbar_data,
return;
}
- hildon_window_remove_toolbar(HILDON_WINDOW(handlebox), GTK_WIDGET(toolbar_data->toolbar));
+ hildon_window_remove_toolbar(HILDON_WINDOW(handlebox), GTK_TOOLBAR(toolbar_data->toolbar));
toolbar_init(toolbar_data);
toolbar_data = toolbar_create(type, handlebox, data);
M_INC_ACTIVE);
for (cur = toolbar->action_list; cur != NULL; cur = cur->next) {
- ToolbarSylpheedActions *act = (ToolbarSylpheedActions*)cur->data;
+ ToolbarClawsActions *act = (ToolbarClawsActions*)cur->data;
SET_WIDGET_COND(act->widget, M_TARGET_EXIST|M_UNLOCKED);
}
GTK_BUTTON_SET_SENSITIVE(compose->toolbar->spellcheck_btn, sensitive);
#endif
for (; items != NULL; items = g_slist_next(items)) {
- ToolbarSylpheedActions *item = (ToolbarSylpheedActions *)items->data;
+ ToolbarClawsActions *item = (ToolbarClawsActions *)items->data;
GTK_BUTTON_SET_SENSITIVE(item->widget, sensitive);
}
}
/**
* Initialize toolbar structure
**/
-void toolbar_init(Toolbar * toolbar) {
+static void toolbar_init(Toolbar * toolbar)
+{
toolbar->toolbar = NULL;
toolbar->folders_btn = NULL;