if ((page = (SieveManagerPage *)cur->data) && \
page->active_session == session)
+void sieve_managers_done()
+{
+ GSList *list = manager_pages;
+ manager_pages = NULL;
+ g_slist_free_full(list, (GDestroyNotify)sieve_manager_done);
+}
+
static void filters_list_clear(SieveManagerPage *page)
{
GtkListStore *list_store = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(page->filters_list)));
{
SieveEditorPage *editor;
SieveSession *session = page->active_session;
+ gchar *filter_name;
if (!session)
return;
- gchar *filter_name = filters_list_get_selected_filter(page->filters_list);
+ filter_name = filters_list_get_selected_filter(page->filters_list);
if (!filter_name)
return;
sieve_editor_load(editor,
(sieve_session_cb_fn)filter_got_load_error, page);
}
+
+ g_free(filter_name);
}
static void filter_renamed(SieveSession *session, gboolean abort,
g_snprintf(buf, sizeof(buf),
_("Do you really want to delete the filter '%s'?"), filter_name);
if (alertpanel_full(_("Delete filter"), buf,
- GTK_STOCK_CANCEL, GTK_STOCK_DELETE, NULL, FALSE,
- NULL, ALERT_WARNING, G_ALERTDEFAULT) != G_ALERTALTERNATE)
+ GTK_STOCK_CANCEL, GTK_STOCK_DELETE, NULL, ALERTFOCUS_FIRST, FALSE,
+ NULL, ALERT_WARNING) != G_ALERTALTERNATE)
return;
cmd_data = g_new(CommandDataName, 1);
{
GtkTreeViewColumn *column;
GtkCellRenderer *renderer;
+ GtkWidget *label;
/* Name */
renderer = gtk_cell_renderer_text_new();
NULL);
gtk_tree_view_append_column(GTK_TREE_VIEW(list_view), column);
gtk_tree_view_column_set_alignment (column, 0.5);
- CLAWS_SET_TIP(gtk_tree_view_column_get_widget(column),
+
+ /* the column header needs a widget to have a tooltip */
+ label = gtk_label_new(gtk_tree_view_column_get_title(column));
+ gtk_widget_show(label);
+ gtk_tree_view_column_set_widget(column, label);
+ CLAWS_SET_TIP(label,
_("An account can only have one active script at a time."));
+
g_signal_connect(G_OBJECT(renderer), "toggled",
G_CALLBACK(filter_active_toggled), page);
PrefsAccount *account;
SieveSession *session;
+ if (page->accounts_menu == NULL)
+ return;
+
account_id = combobox_get_active_data(GTK_COMBO_BOX(page->accounts_menu));
account = account_find_from_id(account_id);
if (!account)
GDK_HINT_MIN_SIZE);
gtk_widget_set_size_request(window, sieve_config.manager_win_width,
sieve_config.manager_win_height);
+ gtk_window_set_type_hint(GTK_WINDOW(window),
+ GDK_WINDOW_TYPE_HINT_DIALOG);
vbox = gtk_vbox_new (FALSE, 10);
gtk_container_add (GTK_CONTAINER (window), vbox);
if (!default_account) {
gtk_widget_destroy(label);
gtk_widget_destroy(accounts_menu);
+ accounts_menu = NULL;
}
/* status */
/* Buttons */
- vbox_allbuttons = gtk_vbox_new (FALSE, 0);
+ vbox_allbuttons = gtk_vbox_new (FALSE, 8);
gtk_box_pack_start (GTK_BOX (hbox), vbox_allbuttons, FALSE, FALSE, 0);
/* buttons that depend on there being a connection */
G_CALLBACK (filter_delete), page);
/* rename */
- btn = gtk_button_new_with_label("Rename");
+ btn = gtk_button_new_with_label(_("Rename"));
gtk_box_pack_start (GTK_BOX (vbox_buttons), btn, FALSE, FALSE, 0);
g_signal_connect (G_OBJECT(btn), "clicked",
G_CALLBACK (filter_rename), page);