static void toolbar_ignore_thread_cb (GtkWidget *widget,
gpointer data);
+static void toolbar_watch_thread_cb (GtkWidget *widget,
+ gpointer data);
+
static void toolbar_print_cb (GtkWidget *widget,
gpointer data);
{ "A_GOTO_PREV", N_("Go to Previous Unread Message") },
{ "A_GOTO_NEXT", N_("Go to Next Unread Message") },
{ "A_IGNORE_THREAD", N_("Ignore thread") },
+ { "A_WATCH_THREAD", N_("Watch thread") },
{ "A_PRINT", N_("Print") },
{ "A_LEARN_SPAM", N_("Learn Spam or Ham") },
{ "A_GO_FOLDERS", N_("Open folder/Go to folder list") },
A_COMPOSE_EMAIL, A_REPLY_MESSAGE, A_REPLY_SENDER,
A_REPLY_ALL, A_REPLY_ML, A_OPEN_MAIL, A_FORWARD,
A_TRASH , A_DELETE_REAL, A_EXECUTE, A_GOTO_PREV,
- A_GOTO_NEXT, A_IGNORE_THREAD, A_PRINT,
+ A_GOTO_NEXT, A_IGNORE_THREAD, A_WATCH_THREAD, A_PRINT,
A_ADDRBOOK, A_LEARN_SPAM, A_GO_FOLDERS,
- A_SYL_ACTIONS, A_CANCEL_INC };
+ A_CANCEL_INC };
for (i = 0; i < sizeof main_items / sizeof main_items[0]; i++) {
items = g_list_append(items, gettext(toolbar_text[main_items[i]].descr));
#ifdef USE_ASPELL
A_CHECK_SPELLING,
#endif
- A_SYL_ACTIONS, A_CLOSE };
+ A_CLOSE };
for (i = 0; i < sizeof comp_items / sizeof comp_items[0]; i++)
items = g_list_append(items, gettext(toolbar_text[comp_items[i]].descr));
gint msgv_items[] = { A_COMPOSE_EMAIL, A_REPLY_MESSAGE, A_REPLY_SENDER,
A_REPLY_ALL, A_REPLY_ML, A_FORWARD,
A_TRASH, A_DELETE_REAL, A_GOTO_PREV, A_GOTO_NEXT,
- A_ADDRBOOK, A_LEARN_SPAM, A_SYL_ACTIONS, A_CLOSE };
+ A_ADDRBOOK, A_LEARN_SPAM, A_CLOSE };
for (i = 0; i < sizeof msgv_items / sizeof msgv_items[0]; i++)
items = g_list_append(items, gettext(toolbar_text[msgv_items[i]].descr));
gchar *text;
} default_toolbar[] = {
#ifdef MAEMO
- { A_GO_FOLDERS, STOCK_PIXMAP_GO_FOLDERS, _("Folders") },
+ { A_GO_FOLDERS, STOCK_PIXMAP_GO_FOLDERS, _("Folders") },
+ { A_OPEN_MAIL, STOCK_PIXMAP_OPEN_MAIL, _("Open") },
{ A_SEPARATOR, 0, ("") },
#endif
{ A_RECEIVE_ALL, STOCK_PIXMAP_MAIL_RECEIVE_ALL, _("Get Mail")},
{ A_COMPOSE_EMAIL, STOCK_PIXMAP_MAIL_COMPOSE,
(gchar*)Q_("Toolbar|Compose") },
{ A_SEPARATOR, 0, ("") },
-#ifdef MAEMO
- { A_OPEN_MAIL, STOCK_PIXMAP_OPEN_MAIL, _("Open") },
-#endif
{ A_REPLY_MESSAGE, STOCK_PIXMAP_MAIL_REPLY, _("Reply") },
#ifndef MAEMO
{ A_REPLY_ALL, STOCK_PIXMAP_MAIL_REPLY_TO_ALL, _("All") },
gint icon;
gchar *text;
} default_toolbar[] = {
+#ifdef MAEMO
+ { A_CLOSE, STOCK_PIXMAP_CLOSE, _("Close") },
+ { A_SEPARATOR, 0, ("") },
+#endif
{ A_SEND, STOCK_PIXMAP_MAIL_SEND, _("Send") },
{ A_SENDL, STOCK_PIXMAP_MAIL_SEND_QUEUE, _("Send later") },
{ A_DRAFT, STOCK_PIXMAP_MAIL, _("Draft") },
{ A_ATTACH, STOCK_PIXMAP_MAIL_ATTACH, _("Attach") },
{ A_SEPARATOR, 0, ("") },
{ A_ADDRBOOK, STOCK_PIXMAP_ADDRESS_BOOK, _("Address") }
-#ifdef MAEMO
- ,
- { A_SEPARATOR, 0, ("") },
- { A_CLOSE, STOCK_PIXMAP_CLOSE, _("Close") }
-#endif
};
gint i;
gint icon;
gchar *text;
} default_toolbar[] = {
+#ifdef MAEMO
+ { A_CLOSE, STOCK_PIXMAP_CLOSE, _("Close") },
+ { A_SEPARATOR, 0, ("") },
+#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") },
#endif
#endif
{ A_GOTO_NEXT, STOCK_PIXMAP_DOWN_ARROW, _("Next") }
-#ifdef MAEMO
- ,
- { A_SEPARATOR, 0, ("") },
- { A_CLOSE, STOCK_PIXMAP_CLOSE, _("Close") }
-#endif
};
gint i;
fileSpec = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, toolbar_config[source].conf_file, NULL );
pfile = prefs_write_open(fileSpec);
- g_free( fileSpec );
if( pfile ) {
fp = pfile->fp;
- fprintf(fp, "<?xml version=\"1.0\" encoding=\"%s\" ?>\n", CS_INTERNAL);
+ if (fprintf(fp, "<?xml version=\"1.0\" encoding=\"%s\" ?>\n", CS_INTERNAL) < 0)
+ goto fail;
- fprintf(fp, "<%s>\n", TOOLBAR_TAG_INDEX);
+ if (fprintf(fp, "<%s>\n", TOOLBAR_TAG_INDEX) < 0)
+ goto fail;
for (cur = toolbar_config[source].item_list; cur != NULL; cur = cur->next) {
ToolbarItem *toolbar_item = (ToolbarItem*) cur->data;
if (toolbar_item->index != A_SEPARATOR) {
- fprintf(fp, "\t<%s %s=\"%s\" %s=\"",
+ if (fprintf(fp, "\t<%s %s=\"%s\" %s=\"",
TOOLBAR_TAG_ITEM,
TOOLBAR_ICON_FILE, toolbar_item->file,
- TOOLBAR_ICON_TEXT);
- xml_file_put_escape_str(fp, toolbar_item->text);
- fprintf(fp, "\" %s=\"%s\"/>\n",
+ TOOLBAR_ICON_TEXT) < 0)
+ goto fail;
+ if (xml_file_put_escape_str(fp, toolbar_item->text) < 0)
+ goto fail;
+ if (fprintf(fp, "\" %s=\"%s\"/>\n",
TOOLBAR_ICON_ACTION,
- toolbar_ret_text_from_val(toolbar_item->index));
+ toolbar_ret_text_from_val(toolbar_item->index)) < 0)
+ goto fail;
} else {
- fprintf(fp, "\t<%s/>\n", TOOLBAR_TAG_SEPARATOR);
+ if (fprintf(fp, "\t<%s/>\n", TOOLBAR_TAG_SEPARATOR) < 0)
+ goto fail;
}
}
- fprintf(fp, "</%s>\n", TOOLBAR_TAG_INDEX);
+ if (fprintf(fp, "</%s>\n", TOOLBAR_TAG_INDEX) < 0)
+ goto fail;
+ g_free( fileSpec );
if (prefs_file_close (pfile) < 0 )
g_warning("failed to write toolbar configuration to file\n");
+ return;
+
+fail:
+ FILE_OP_ERROR(fileSpec, "fprintf");
+ g_free( fileSpec );
+ prefs_file_close_revert (pfile);
} else
g_warning("failed to open toolbar configuration file for writing\n");
}
gtk_tool_button_set_icon_widget(
GTK_TOOL_BUTTON(toolbar->compose_mail_btn),
toolbar->compose_news_icon);
+ gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(toolbar->compose_mail_btn), GTK_TOOLTIPS(toolbar->tooltips),
+ _("Compose News message"), NULL);
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);
+ gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(toolbar->compose_mail_btn), GTK_TOOLTIPS(toolbar->tooltips),
+ _("Compose Email"), NULL);
gtk_widget_show(toolbar->compose_mail_icon);
}
toolbar->compose_btn_type = type;
toolbar->learn_spam_icon);
gtk_tool_button_set_label(
GTK_TOOL_BUTTON(toolbar->learn_spam_btn),
- _("Learn Spam"));
+ _("Spam"));
+ gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(toolbar->learn_spam_btn), GTK_TOOLTIPS(toolbar->tooltips),
+ _("Learn spam"), NULL);
gtk_widget_show(toolbar->learn_spam_icon);
} else {
gtk_tool_button_set_icon_widget(
toolbar->learn_ham_icon);
gtk_tool_button_set_label(
GTK_TOOL_BUTTON(toolbar->learn_spam_btn),
- _("Learn Ham"));
+ _("Ham"));
+ gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(toolbar->learn_spam_btn), GTK_TOOLTIPS(toolbar->tooltips),
+ _("Learn ham"), NULL);
gtk_widget_show(toolbar->learn_ham_icon);
}
toolbar->learn_btn_type = type;
}
}
+static void toolbar_watch_thread_cb(GtkWidget *widget, gpointer data)
+{
+ ToolbarItem *toolbar_item = (ToolbarItem*)data;
+ MainWindow *mainwin;
+
+ g_return_if_fail(toolbar_item != NULL);
+
+ switch (toolbar_item->type) {
+ case TOOLBAR_MAIN:
+ mainwin = (MainWindow *) toolbar_item->parent;
+ summary_toggle_watch_thread(mainwin->summaryview);
+ break;
+ case TOOLBAR_MSGVIEW:
+ /* TODO: see toolbar_next_unread_cb() if you need
+ * this in the message view */
+ break;
+ default:
+ debug_print("toolbar event not supported\n");
+ break;
+ }
+}
+
static void toolbar_cancel_inc_cb(GtkWidget *widget, gpointer data)
{
ToolbarItem *toolbar_item = (ToolbarItem*)data;
{ A_GOTO_PREV, toolbar_prev_unread_cb },
{ A_GOTO_NEXT, toolbar_next_unread_cb },
{ A_IGNORE_THREAD, toolbar_ignore_thread_cb },
+ { A_WATCH_THREAD, toolbar_watch_thread_cb },
{ A_PRINT, toolbar_print_cb },
{ A_LEARN_SPAM, toolbar_learn_cb },
{ A_GO_FOLDERS, toolbar_go_folders_cb },
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); \
}
#define MAKE_MENU(entries,path,btn) { \
break;
case A_LEARN_SPAM:
TOOLBAR_MENUITEM(item,icon_wid,toolbar_item->text,
- _("Learn Spam"),
+ _("Spam"),
_("Learn as..."));
toolbar_data->learn_spam_btn = item;
toolbar_data->learn_spam_icon = icon_wid;
}
toolbar_data->toolbar = toolbar;
+ toolbar_data->tooltips = toolbar_tips;
gtk_widget_show_all(toolbar);
if (type == TOOLBAR_MAIN) {
Compose *compose = (Compose*)data;
MessageView *msgview = (MessageView*)data;
+#ifndef MAEMO
switch(type) {
case TOOLBAR_MAIN:
toolbar_data = mainwin->toolbar;
toolbar_init(toolbar_data);
toolbar_data = toolbar_create(type, handlebox, data);
+#else
+ switch(type) {
+ case TOOLBAR_MAIN:
+ toolbar_data = mainwin->toolbar;
+ handlebox = mainwin->window;
+ break;
+ case TOOLBAR_COMPOSE:
+ toolbar_data = compose->toolbar;
+ handlebox = compose->window;
+ break;
+ case TOOLBAR_MSGVIEW:
+ toolbar_data = msgview->toolbar;
+ handlebox = msgview->window;
+ break;
+ default:
+ return;
+ }
+
+ hildon_window_remove_toolbar(HILDON_WINDOW(handlebox), GTK_WIDGET(toolbar_data->toolbar));
+
+ toolbar_init(toolbar_data);
+ toolbar_data = toolbar_create(type, handlebox, data);
+#endif
+
switch(type) {
case TOOLBAR_MAIN:
mainwin->toolbar = toolbar_data;
GtkWidget *btn = (GtkWidget *)gchild->data; \
GtkWidget *arr = (GtkWidget *) \
(gchild->next?gchild->next->data:NULL); \
+ g_list_free(gchild); \
if (GTK_IS_BUTTON(btn)) \
in_btn1 = GTK_BUTTON(btn)->in_button; \
if (GTK_IS_BUTTON(arr)) \
GtkWidget *btn = (GtkWidget *)gchild->data; \
GtkWidget *arr = (GtkWidget *) \
(gchild->next?gchild->next->data:NULL); \
+ g_list_free(gchild); \
if (GTK_IS_BUTTON(btn)) \
GTK_BUTTON(btn)->in_button = in_btn1; \
if (GTK_IS_BUTTON(arr)) \
alertpanel_error_log(_("Some errors occurred while "
"sending queued messages."));
else {
- gchar *tmp = g_strdup_printf(_("Some errors occurred "
+ alertpanel_error_log(_("Some errors occurred "
"while sending queued messages:\n%s"), errstr);
g_free(errstr);
- alertpanel_error_log(tmp);
- g_free(tmp);
}
}
}