} actions;
static int modified = FALSE;
+static int modified_list = FALSE;
/* widget creating functions */
static void prefs_actions_create (MainWindow *mainwin);
{
prefs_actions_clist_set_row(NULL);
modified = FALSE;
+ modified_list = TRUE;
}
static void prefs_actions_substitute_cb(GtkWidget *w, gpointer data)
gtk_tree_path_free(path_sel);
gtk_tree_path_free(path_new);
modified = FALSE;
+ modified_list = TRUE;
}
static void prefs_actions_delete_cb(GtkWidget *w, gpointer data)
prefs_common.actions_list = g_slist_remove(prefs_common.actions_list,
action);
+ modified_list = TRUE;
}
static void prefs_actions_up(GtkWidget *w, gpointer data)
gtk_list_store_swap(store, &iprev, &isel);
prefs_actions_set_list();
+ modified_list = TRUE;
}
static void prefs_actions_down(GtkWidget *w, gpointer data)
gtk_list_store_swap(store, &next, &sel);
prefs_actions_set_list();
+ modified_list = TRUE;
}
static gint prefs_actions_deleted(GtkWidget *widget, GdkEventAny *event,
GTK_STOCK_CLOSE, _("+_Continue editing"),
NULL) != G_ALERTDEFAULT) {
return;
+ } else if (modified_list && alertpanel(_("Actions list not saved"),
+ _("The actions list has been modified. Close anyway?"),
+ GTK_STOCK_CLOSE, _("+_Continue editing"),
+ NULL) != G_ALERTDEFAULT) {
+ return;
}
modified = FALSE;
+ modified_list = FALSE;
prefs_actions_read_config();
gtk_widget_hide(actions.window);
inc_unlock();
GTK_STOCK_CLOSE, _("+_Continue editing"),
NULL) != G_ALERTDEFAULT) {
return;
+ } else if (modified_list && alertpanel(_("Actions list not saved"),
+ _("The actions list has been modified. Close anyway?"),
+ GTK_STOCK_CLOSE, _("+_Continue editing"),
+ NULL) != G_ALERTDEFAULT) {
+ return;
}
modified = FALSE;
+ modified_list = FALSE;
prefs_actions_set_list();
prefs_actions_write_config();