/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 2001-2009 Hiroyuki Yamamoto and the Claws Mail team
+ * Copyright (C) 2001-2011 Hiroyuki Yamamoto and the Claws Mail team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
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_RECEIVE_ALL", N_("Receive Mail from all Accounts") },
+ { "A_RECEIVE_CUR", N_("Receive Mail from current Account") },
{ "A_SEND_QUEUED", N_("Send Queued Messages") },
{ "A_COMPOSE_EMAIL", N_("Compose Email") },
{ "A_COMPOSE_NEWS", N_("Compose News") },
g_free(item->file);
item->file = g_strdup("trash_btn");
g_free(item->text);
- item->text = g_strdup(_("Trash"));
+ item->text = g_strdup(Q_("Toolbar|Trash"));
rewrite = TRUE;
}
if (item->index == -1 && !strcmp(value, "A_SYL_ACTIONS")) {
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_SENDER: return Q_("Toolbar|Sender");
case A_REPLY_ML: return _("List");
case A_FORWARD: return _("Forward");
- case A_TRASH: return _("Trash");
+ case A_TRASH: return Q_("Toolbar|Trash");
case A_DELETE_REAL: return _("Delete");
case A_LEARN_SPAM: return _("Spam");
case A_GOTO_PREV: return _("Prev");
gpointer data,
gint source)
{
- GSList *cur, *lop;
- gchar *action, *action_p;
- gboolean found = FALSE;
+ GSList *cur;
gint i = 0;
for (cur = action_list; cur != NULL; cur = cur->next) {
ToolbarClawsActions *act = (ToolbarClawsActions*)cur->data;
if (widget == act->widget) {
-
- for (lop = prefs_common.actions_list; lop != NULL; lop = lop->next) {
- action = g_strdup((gchar*)lop->data);
-
- action_p = strstr(action, ": ");
- action_p[0] = 0x00;
- if (g_utf8_collate(act->name, action) == 0) {
- found = TRUE;
- g_free(action);
- break;
- } else
- i++;
- g_free(action);
- }
- if (found)
+ i = prefs_actions_find_by_name(act->name);
+
+ if (i != -1)
break;
}
}
- if (found)
+ if (i != -1)
actions_execute(data, i, widget, source);
else
g_warning ("Error: did not find Claws Action to execute");
}
+gboolean toolbar_check_action_btns(ToolbarType type)
+{
+ GSList *temp, *curr, *list = toolbar_config[type].item_list;
+ gboolean modified = FALSE;
+
+ curr = list;
+ while (curr != NULL) {
+ ToolbarItem *toolbar_item = (ToolbarItem *) curr->data;
+ temp = curr;
+ curr = curr->next;
+
+ if (toolbar_item->index != A_CLAWS_ACTIONS)
+ continue;
+
+ if (prefs_actions_find_by_name(toolbar_item->text) == -1) {
+ list = g_slist_delete_link(list, temp);
+ g_free(toolbar_item->file);
+ g_free(toolbar_item->text);
+ g_free(toolbar_item);
+ modified = TRUE;
+ }
+ }
+
+ return modified;
+}
+
#if !(GTK_CHECK_VERSION(2,12,0))
#define CLAWS_SET_TOOL_ITEM_TIP(widget,tip) { \
gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(widget), GTK_TOOLTIPS(toolbar_tips), \
#ifndef GENERIC_UMPC
#define TOOLBAR_ITEM(item,icon,text,tooltip) { \
item = GTK_WIDGET(gtk_tool_button_new(icon, text)); \
+ gtkut_widget_set_can_focus(gtk_bin_get_child(GTK_BIN(item)), FALSE); \
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); \
gchild = gtk_container_get_children( \
GTK_CONTAINER(child)); \
btn = (GtkWidget *)gchild->data; \
+ gtkut_widget_set_can_focus(btn, FALSE); \
arr = (GtkWidget *)(gchild->next?gchild->next->data:NULL); \
+ gtkut_widget_set_can_focus(arr, FALSE); \
g_list_free(gchild); \
gchild = gtk_container_get_children(GTK_CONTAINER(arr)); \
gtk_widget_set_size_request(GTK_WIDGET(gchild->data), 9, -1); \
#else
#define TOOLBAR_ITEM(item,icon,text,tooltip) { \
item = GTK_WIDGET(gtk_tool_button_new(icon, text)); \
+ gtkut_widget_set_can_focus(gtk_bin_get_child(GTK_BIN(item)), FALSE); \
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); \
gchild = gtk_container_get_children( \
GTK_CONTAINER(child)); \
btn = (GtkWidget *)gchild->data; \
+ gtkut_widget_set_can_focus(btn, FALSE); \
arr = (GtkWidget *)(gchild->next?gchild->next->data:NULL); \
+ gtkut_widget_set_can_focus(arr, FALSE); \
g_list_free(gchild); \
gchild = gtk_container_get_children(GTK_CONTAINER(arr)); \
gtk_widget_set_size_request(GTK_WIDGET(gchild->data), 9, -1); \
break;
case A_RECEIVE_ALL:
TOOLBAR_MENUITEM(item,icon_wid,toolbar_item->text,
- _("Receive Mail on all Accounts"),
- _("Receive Mail on selected Account"));
+ _("Receive Mail from all Accounts"),
+ _("Receive Mail from selected Account"));
toolbar_data->getall_btn = item;
break;
case A_RECEIVE_CUR:
- TOOLBAR_ITEM(item,icon_wid,toolbar_item->text, _("Receive Mail on current Account"));
+ TOOLBAR_ITEM(item,icon_wid,toolbar_item->text, _("Receive Mail from current Account"));
toolbar_data->get_btn = item;
break;
case A_SEND_QUEUED:
item = GTK_WIDGET(gtk_tool_item_new());
gtk_container_add (GTK_CONTAINER (item), progressbar);
gtk_widget_show(item);
- gtk_widget_set_size_request(progressbar, 70, -1);
+ gtk_widget_set_size_request(progressbar, 84, -1);
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(item), -1);
mainwin->progressbar = progressbar;
#endif
if (toolbar->get_btn)
SET_WIDGET_COND(toolbar->get_btn,
- M_HAVE_ACCOUNT|M_UNLOCKED);
+ M_HAVE_ACCOUNT|M_UNLOCKED|M_HAVE_RETRIEVABLE_ACCOUNT);
if (toolbar->getall_btn) {
SET_WIDGET_COND(toolbar->getall_btn,
- M_HAVE_ACCOUNT|M_UNLOCKED);
+ M_HAVE_ACCOUNT|M_UNLOCKED|M_HAVE_ANY_RETRIEVABLE_ACCOUNT);
}
if (toolbar->send_btn) {
SET_WIDGET_COND(toolbar->send_btn,