[gnome-commander] Allow gentoo like left-click behaviour
- From: Piotr Eljasiak <epiotr src gnome org>
- To: svn-commits-list gnome org
- Subject: [gnome-commander] Allow gentoo like left-click behaviour
- Date: Thu, 7 May 2009 13:52:00 -0400 (EDT)
commit 8cdd55642565047551a9f7cf22e00d83f7aef37c
Author: Christopher Zimmermann <madroach zakweb de>
Date: Thu May 7 19:50:32 2009 +0200
Allow gentoo like left-click behaviour
---
ChangeLog | 8 ++++++++
doc/C/gnome-commander.xml | 7 +++++++
src/gnome-cmd-data.cc | 5 ++++-
src/gnome-cmd-data.h | 1 +
src/gnome-cmd-file-list.cc | 2 +-
src/gnome-cmd-options-dialog.cc | 19 ++++++++++++++++---
6 files changed, 37 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 839d372..c6bfdc6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2009-05-07 Christopher Zimmermann <madroach zakweb de>
+
+ * src/gnome-cmd-data.cc:
+ * src/gnome-cmd-data.h:
+ * src/gnome-cmd-file-list.cc:
+ * src/gnome-cmd-options-dialog.cc:
+ Allow gentoo like left-click behaviour
+
2009-05-06 Piotr Eljasiak <epiotr use pl>
* src/gnome-cmd-advrename-dialog.h:
diff --git a/doc/C/gnome-commander.xml b/doc/C/gnome-commander.xml
index 5a2d080..4b3c2a9 100644
--- a/doc/C/gnome-commander.xml
+++ b/doc/C/gnome-commander.xml
@@ -5478,6 +5478,13 @@
</row>
<row valign="top">
<entry><para></para></entry>
+ <entry><para>left_mouse_button_unselects</para></entry>
+ <entry><para></para></entry>
+ <entry><para></para></entry>
+ <entry><para></para></entry>
+ </row>
+ <row valign="top">
+ <entry><para></para></entry>
<entry><para>right_mouse_button_mode</para></entry>
<entry><para></para></entry>
<entry><para></para></entry>
diff --git a/src/gnome-cmd-data.cc b/src/gnome-cmd-data.cc
index 6c8ebb4..ca70ef0 100644
--- a/src/gnome-cmd-data.cc
+++ b/src/gnome-cmd-data.cc
@@ -1049,6 +1049,7 @@ GnomeCmdData::GnomeCmdData()
confirm_delete = TRUE;
confirm_copy_overwrite = GNOME_CMD_CONFIRM_OVERWRITE_QUERY;
confirm_move_overwrite = GNOME_CMD_CONFIRM_OVERWRITE_QUERY;
+ left_mouse_button_unselects = TRUE;
right_mouse_button_mode = RIGHT_BUTTON_POPUPS_MENU;
color_mode = GNOME_CMD_COLOR_DEEP_BLUE;
size_disp_mode = GNOME_CMD_SIZE_DISP_MODE_POWERED;
@@ -1281,7 +1282,8 @@ void GnomeCmdData::load()
priv->list_font = gnome_cmd_data_get_string ("/options/list_font", "-misc-fixed-medium-r-normal-*-10-*-*-*-c-*-iso8859-1");
ext_disp_mode = (GnomeCmdExtDispMode) gnome_cmd_data_get_int ("/options/ext_disp_mode", GNOME_CMD_EXT_DISP_BOTH);
- right_mouse_button_mode = (GnomeCmdData::RightMouseButtonMode) gnome_cmd_data_get_int ("/options/right_mouse_button_mode", GnomeCmdData::RIGHT_BUTTON_POPUPS_MENU);
+ left_mouse_button_unselects = gnome_cmd_data_get_bool ("/options/left_mouse_button_unselects", TRUE);
+ right_mouse_button_mode = (RightMouseButtonMode) gnome_cmd_data_get_int ("/options/right_mouse_button_mode", GnomeCmdData::RIGHT_BUTTON_POPUPS_MENU);
icon_size = gnome_cmd_data_get_int ("/options/icon_size", 16);
dev_icon_size = gnome_cmd_data_get_int ("/options/dev_icon_size", 16);
icon_scale_quality = (GdkInterpType) gnome_cmd_data_get_int ("/options/icon_scale_quality", GDK_INTERP_HYPER);
@@ -1658,6 +1660,7 @@ void GnomeCmdData::save()
gnome_cmd_data_set_string ("/options/list_font", priv->list_font);
gnome_cmd_data_set_int ("/options/ext_disp_mode", ext_disp_mode);
+ gnome_cmd_data_set_bool ("/options/left_mouse_button_unselects", left_mouse_button_unselects);
gnome_cmd_data_set_int ("/options/right_mouse_button_mode", right_mouse_button_mode);
gnome_cmd_data_set_int ("/options/icon_size", icon_size);
gnome_cmd_data_set_int ("/options/dev_icon_size", dev_icon_size);
diff --git a/src/gnome-cmd-data.h b/src/gnome-cmd-data.h
index b100156..ca0c4d9 100644
--- a/src/gnome-cmd-data.h
+++ b/src/gnome-cmd-data.h
@@ -146,6 +146,7 @@ struct GnomeCmdData
gboolean confirm_delete;
GnomeCmdConfirmOverwriteMode confirm_copy_overwrite;
GnomeCmdConfirmOverwriteMode confirm_move_overwrite;
+ gboolean left_mouse_button_unselects;
RightMouseButtonMode right_mouse_button_mode;
GnomeCmdColorMode color_mode;
GnomeCmdSizeDispMode size_disp_mode;
diff --git a/src/gnome-cmd-file-list.cc b/src/gnome-cmd-file-list.cc
index 31000d0..f88d733 100644
--- a/src/gnome-cmd-file-list.cc
+++ b/src/gnome-cmd-file-list.cc
@@ -1190,7 +1190,7 @@ static gint on_button_release (GtkWidget *widget, GdkEventButton *event, GnomeCm
if (event->button == 1 && state_is_blank (event->state))
{
GnomeCmdFile *f = fl->get_file_at_row(row);
- if (f && g_list_index (fl->priv->selected_files, f) == -1)
+ if (f && g_list_index (fl->priv->selected_files, f)==-1 && gnome_cmd_data.left_mouse_button_unselects)
fl->unselect_all();
return TRUE;
}
diff --git a/src/gnome-cmd-options-dialog.cc b/src/gnome-cmd-options-dialog.cc
index 2292f82..38927fa 100644
--- a/src/gnome-cmd-options-dialog.cc
+++ b/src/gnome-cmd-options-dialog.cc
@@ -72,16 +72,26 @@ static GtkWidget *create_general_tab (GtkWidget *parent)
gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
+ // Left click behavior
+ cat_box = create_vbox (parent, FALSE, 0);
+ cat = create_category (parent, cat_box, _("Left mouse button"));
+ gtk_box_pack_start (GTK_BOX (vbox), cat, FALSE, TRUE, 0);
+
+ check = create_check (parent, _("Unselects files"), "lmb_unselect_check");
+ gtk_box_pack_start (GTK_BOX (cat_box), check, FALSE, TRUE, 0);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), gnome_cmd_data.left_mouse_button_unselects);
+
+
// Right mouse button settings
cat_box = create_vbox (parent, FALSE, 0);
- cat = create_category (parent, cat_box, _("Use right mouse button to"));
+ cat = create_category (parent, cat_box, _("Right mouse button"));
gtk_box_pack_start (GTK_BOX (vbox), cat, FALSE, TRUE, 0);
- radio = create_radio (parent, NULL, _("Show popup menu"), "rmb_popup_radio");
+ radio = create_radio (parent, NULL, _("Shows popup menu"), "rmb_popup_radio");
gtk_box_pack_start (GTK_BOX (cat_box), radio, FALSE, TRUE, 0);
if (gnome_cmd_data.right_mouse_button_mode == GnomeCmdData::RIGHT_BUTTON_POPUPS_MENU)
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
- radio = create_radio (parent, get_radio_group(radio), _("Select files"), "rmb_sel_radio");
+ radio = create_radio (parent, get_radio_group(radio), _("Selects files"), "rmb_sel_radio");
gtk_container_add (GTK_CONTAINER (cat_box), radio);
if (gnome_cmd_data.right_mouse_button_mode == GnomeCmdData::RIGHT_BUTTON_SELECTS)
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
@@ -142,12 +152,15 @@ static GtkWidget *create_general_tab (GtkWidget *parent)
inline void store_general_options (GnomeCmdOptionsDialog *dialog)
{
+ GtkWidget *lmb_unselect_check = lookup_widget (GTK_WIDGET (dialog), "lmb_unselect_check");
GtkWidget *rmb_popup_radio = lookup_widget (GTK_WIDGET (dialog), "rmb_popup_radio");
GtkWidget *ft_regex_radio = lookup_widget (GTK_WIDGET (dialog), "ft_regex_radio");
GtkWidget *case_sens_check = lookup_widget (GTK_WIDGET (dialog), "case_sens_check");
GtkWidget *dir_cache_size = lookup_widget (GTK_WIDGET (dialog), "dir_cache_size");
GtkWidget *alt_quick_search = lookup_widget (GTK_WIDGET (dialog), "alt_quick_search");
+ gnome_cmd_data.left_mouse_button_unselects = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (lmb_unselect_check));
+
gnome_cmd_data.right_mouse_button_mode = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rmb_popup_radio)) ? GnomeCmdData::RIGHT_BUTTON_POPUPS_MENU
: GnomeCmdData::RIGHT_BUTTON_SELECTS;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]