[gnome-commander] Fixed problem #667080 (delete confirmation defaults to YES/OK)
- From: Piotr Eljasiak <epiotr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-commander] Fixed problem #667080 (delete confirmation defaults to YES/OK)
- Date: Wed, 4 Jan 2012 18:23:11 +0000 (UTC)
commit c54ce24e49d81a2636da06bfcd0ce40d85ea072b
Author: Piotr Eljasiak <epiotr src gnome org>
Date: Wed Jan 4 19:22:44 2012 +0100
Fixed problem #667080 (delete confirmation defaults to YES/OK)
NEWS | 1 +
doc/C/gnome-commander.xml | 11 +++++++++++
doc/C/releases.xml | 3 +++
src/gnome-cmd-data.cc | 3 +++
src/gnome-cmd-data.h | 2 ++
src/gnome-cmd-delete-dialog.cc | 2 +-
src/gnome-cmd-options-dialog.cc | 17 +++++++++++++++++
7 files changed, 38 insertions(+), 1 deletions(-)
---
diff --git a/NEWS b/NEWS
index 32f381b..132f08c 100644
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,7 @@ Bug fixes:
* Fixed problems #632064, #632208, #633107, #633167, #633331, #634972, #637873, #638059 (bugs in gnome-commander-help.master.po)
* Fixed problem #660043 (shortcut ALT+DOWN not documented)
* Fixed problem #660268 (remember directory history between sessions)
+ * Fixed problem #667080 (delete confirmation defaults to YES/OK)
* Fixed Ubuntu problem #117226 (bookmarks unification)
* Fixed problem with right mouse button selection not being precise
diff --git a/doc/C/gnome-commander.xml b/doc/C/gnome-commander.xml
index dc9e0c0..bb4eaf6 100644
--- a/doc/C/gnome-commander.xml
+++ b/doc/C/gnome-commander.xml
@@ -4863,6 +4863,17 @@
</row>
<row>
<entry>
+ <para></para>
+ </entry>
+ <entry colname="colspec2">
+ <para>Confirm defaults to OK</para>
+ </entry>
+ <entry colname="colspec3">
+ <para>Selects default action in the dialog.</para>
+ </entry>
+ </row>
+ <row>
+ <entry>
<para>
<guilabel>Copy overwrite</guilabel>
</para>
diff --git a/doc/C/releases.xml b/doc/C/releases.xml
index dcd0a3e..8edfd3e 100644
--- a/doc/C/releases.xml
+++ b/doc/C/releases.xml
@@ -46,6 +46,9 @@
<para>Fixed problem #660268 (remember directory history between sessions)</para>
</listitem>
<listitem>
+ <para>Fixed problem #667080 (delete confirmation defaults to YES/OK)</para>
+ </listitem>
+ <listitem>
<para>Fixed Ubuntu problem #117226 (bookmarks unification)</para>
</listitem>
<listitem>
diff --git a/src/gnome-cmd-data.cc b/src/gnome-cmd-data.cc
index 73bfc1c..a835eb1 100644
--- a/src/gnome-cmd-data.cc
+++ b/src/gnome-cmd-data.cc
@@ -96,6 +96,7 @@ GnomeCmdData::Options::Options(const Options &cfg)
always_show_tabs = cfg.always_show_tabs;
tab_lock_indicator = cfg.tab_lock_indicator;
confirm_delete = cfg.confirm_delete;
+ confirm_delete_default = cfg.confirm_delete_default;
confirm_copy_overwrite = cfg.confirm_copy_overwrite;
confirm_move_overwrite = cfg.confirm_move_overwrite;
confirm_mouse_dnd = cfg.confirm_mouse_dnd;
@@ -1092,6 +1093,7 @@ void GnomeCmdData::load()
options.list_row_height = gnome_cmd_data_get_int ("/options/list_row_height", 16);
options.confirm_delete = gnome_cmd_data_get_bool ("/confirm/delete", TRUE);
+ options.confirm_delete_default = (GtkButtonsType) gnome_cmd_data_get_int ("/confirm/delete_default", GTK_BUTTONS_OK);
options.confirm_copy_overwrite = (GnomeCmdConfirmOverwriteMode) gnome_cmd_data_get_int ("/confirm/copy_overwrite", GNOME_CMD_CONFIRM_OVERWRITE_QUERY);
options.confirm_move_overwrite = (GnomeCmdConfirmOverwriteMode) gnome_cmd_data_get_int ("/confirm/move_overwrite", GNOME_CMD_CONFIRM_OVERWRITE_QUERY);
options.confirm_mouse_dnd = gnome_cmd_data_get_bool ("/confirm/confirm_mouse_dnd", TRUE);
@@ -1529,6 +1531,7 @@ void GnomeCmdData::save()
g_free (utf8_date_format);
gnome_cmd_data_set_bool ("/confirm/delete", options.confirm_delete);
+ gnome_cmd_data_set_int ("/confirm/delete_default", options.confirm_delete_default);
gnome_cmd_data_set_int ("/confirm/copy_overwrite", options.confirm_copy_overwrite);
gnome_cmd_data_set_int ("/confirm/move_overwrite", options.confirm_move_overwrite);
gnome_cmd_data_set_bool ("/confirm/confirm_mouse_dnd", options.confirm_mouse_dnd);
diff --git a/src/gnome-cmd-data.h b/src/gnome-cmd-data.h
index 21ed555..1cf62a2 100644
--- a/src/gnome-cmd-data.h
+++ b/src/gnome-cmd-data.h
@@ -121,6 +121,7 @@ struct GnomeCmdData
int tab_lock_indicator;
// Confirmation
gboolean confirm_delete;
+ GtkButtonsType confirm_delete_default;
GnomeCmdConfirmOverwriteMode confirm_copy_overwrite;
GnomeCmdConfirmOverwriteMode confirm_move_overwrite;
gboolean confirm_mouse_dnd;
@@ -169,6 +170,7 @@ struct GnomeCmdData
always_show_tabs(FALSE),
tab_lock_indicator(TAB_LOCK_ICON),
confirm_delete(TRUE),
+ confirm_delete_default(GTK_BUTTONS_OK),
confirm_copy_overwrite(GNOME_CMD_CONFIRM_OVERWRITE_QUERY),
confirm_move_overwrite(GNOME_CMD_CONFIRM_OVERWRITE_QUERY),
confirm_mouse_dnd(TRUE),
diff --git a/src/gnome-cmd-delete-dialog.cc b/src/gnome-cmd-delete-dialog.cc
index bfddd53..e6985d7 100644
--- a/src/gnome-cmd-delete-dialog.cc
+++ b/src/gnome-cmd-delete-dialog.cc
@@ -284,7 +284,7 @@ void gnome_cmd_delete_dialog_show (GList *files)
response = run_simple_dialog (*main_win, FALSE,
GTK_MESSAGE_QUESTION, msg, _("Delete"),
- 1, _("Cancel"), _("OK"), NULL);
+ gnome_cmd_data.options.confirm_delete_default==GTK_BUTTONS_CANCEL ? 0 : 1, _("Cancel"), _("OK"), NULL);
g_free (msg);
}
diff --git a/src/gnome-cmd-options-dialog.cc b/src/gnome-cmd-options-dialog.cc
index fb9de46..696ac49 100644
--- a/src/gnome-cmd-options-dialog.cc
+++ b/src/gnome-cmd-options-dialog.cc
@@ -49,6 +49,14 @@ static void on_save_tabs_toggled (GtkToggleButton *togglebutton, GtkWidget *dial
}
+static void on_confirm_delete_toggled (GtkToggleButton *togglebutton, GtkWidget *dialog)
+{
+ GtkWidget *check = lookup_widget (dialog, "delete_default_check");
+
+ gtk_widget_set_sensitive (check, gtk_toggle_button_get_active (togglebutton));
+}
+
+
/***********************************************************************
*
* The General tab
@@ -921,6 +929,12 @@ inline GtkWidget *create_confirmation_tab (GtkWidget *parent, GnomeCmdData::Opti
check = create_check (parent, _("Confirm before delete"), "confirm_delete_check");
gtk_box_pack_start (GTK_BOX (cat_box), check, FALSE, TRUE, 0);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), cfg.confirm_delete);
+ g_signal_connect (check, "toggled", G_CALLBACK (on_confirm_delete_toggled), parent);
+
+ check = create_check (parent, _("Confirm defaults to OK"), "delete_default_check");
+ gtk_box_pack_start (GTK_BOX (cat_box), check, FALSE, TRUE, 0);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), cfg.confirm_delete_default!=GTK_BUTTONS_CANCEL);
+ gtk_widget_set_sensitive (check, cfg.confirm_delete);
/* Copy overwrite options
@@ -981,6 +995,7 @@ inline GtkWidget *create_confirmation_tab (GtkWidget *parent, GnomeCmdData::Opti
inline void store_confirmation_options (GtkWidget *dialog, GnomeCmdData::Options &cfg)
{
GtkWidget *confirm_delete_check = lookup_widget (dialog, "confirm_delete_check");
+ GtkWidget *delete_default_check = lookup_widget (dialog, "delete_default_check");
GtkWidget *confirm_copy_silent = lookup_widget (dialog, "copy_overwrite_silently");
GtkWidget *confirm_copy_query = lookup_widget (dialog, "copy_overwrite_query");
GtkWidget *confirm_copy_skip_all = lookup_widget (dialog, "copy_overwrite_skip_all");
@@ -991,6 +1006,8 @@ inline void store_confirmation_options (GtkWidget *dialog, GnomeCmdData::Options
cfg.confirm_delete = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (confirm_delete_check));
+ cfg.confirm_delete_default = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (delete_default_check)) ? GTK_BUTTONS_OK : GTK_BUTTONS_CANCEL;
+
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (confirm_copy_silent)))
cfg.confirm_copy_overwrite = GNOME_CMD_CONFIRM_OVERWRITE_SILENTLY;
else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (confirm_copy_query)))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]