From afb7053066f0c1737f77495ce0cc005f240bed28 Mon Sep 17 00:00:00 2001
From: Bhaskar Bhat
Date: Fri, 25 Nov 2011 22:45:00 +0530
Subject: [PATCH 3/3] Improvement Version 3
---
src/gnome-cmd-options-dialog.cc | 351 ++++++++++++++++++++++++++++++++-------
1 files changed, 294 insertions(+), 57 deletions(-)
diff --git a/src/gnome-cmd-options-dialog.cc b/src/gnome-cmd-options-dialog.cc
index dd32e77..691213f 100644
--- a/src/gnome-cmd-options-dialog.cc
+++ b/src/gnome-cmd-options-dialog.cc
@@ -233,6 +233,84 @@ inline void store_general_options (GtkWidget *dialog, GnomeCmdData::Options &cfg
*
**********************************************************************/
+static void on_size_powered_radio_toggled (GtkRadioButton *radio, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_RADIO_BUTTON (radio));
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio)))
+ {
+ cfg->size_disp_mode = GNOME_CMD_SIZE_DISP_MODE_POWERED;
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+ }
+}
+
+
+static void on_size_locale_radio_toggled (GtkRadioButton *radio, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_RADIO_BUTTON (radio));
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio)))
+ {
+ cfg->size_disp_mode = GNOME_CMD_SIZE_DISP_MODE_LOCALE;
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+ }
+}
+
+
+static void on_size_grouped_radio_toggled (GtkRadioButton *radio, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_RADIO_BUTTON (radio));
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio)))
+ {
+ cfg->size_disp_mode = GNOME_CMD_SIZE_DISP_MODE_GROUPED;
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+ }
+}
+
+
+static void on_size_plain_radio_toggled (GtkRadioButton *radio, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_RADIO_BUTTON (radio));
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio)))
+ {
+ cfg->size_disp_mode = GNOME_CMD_SIZE_DISP_MODE_PLAIN;
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+ }
+}
+
+
+static void on_perm_text_radio_toggled (GtkRadioButton *radio, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_RADIO_BUTTON (radio));
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio)))
+ {
+ cfg->perm_disp_mode = GNOME_CMD_PERM_DISP_MODE_TEXT;
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+ }
+}
+
+
+static void on_perm_num_radio_toggled (GtkRadioButton *radio, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_RADIO_BUTTON (radio));
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio)))
+ {
+ cfg->perm_disp_mode = GNOME_CMD_PERM_DISP_MODE_NUMBER;
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+ }
+}
+
+
static void on_date_format_update (GtkEditable *editable, GtkWidget *options_dialog)
{
GtkWidget *format_entry = lookup_widget (options_dialog, "date_format_entry");
@@ -255,7 +333,7 @@ static void on_date_format_update (GtkEditable *editable, GtkWidget *options_dia
inline GtkWidget *create_format_tab (GtkWidget *parent, GnomeCmdData::Options &cfg)
{
GtkWidget *frame, *hbox, *vbox, *cat, *cat_box, *table;
- GtkWidget *radio, *label, *entry;
+ GtkWidget *sp_radio, *sl_radio, *sg_radio, *spl_radio, *pt_radio, *pn_radio, *label, *entry;
frame = create_tabframe (parent);
hbox = create_tabhbox (parent);
@@ -269,26 +347,26 @@ inline GtkWidget *create_format_tab (GtkWidget *parent, GnomeCmdData::Options &c
gtk_box_pack_start (GTK_BOX (vbox), cat, FALSE, TRUE, 0);
// Translators: 'Powered' refers to the mode of file size display (here - display using units of data: kB, MB, GB, ...)
- radio = create_radio (parent, NULL, _("Powered"), "size_powered_radio");
- gtk_container_add (GTK_CONTAINER (cat_box), radio);
+ sp_radio = create_radio (parent, NULL, _("Powered"), "size_powered_radio");
+ gtk_container_add (GTK_CONTAINER (cat_box), sp_radio);
if (cfg.size_disp_mode == GNOME_CMD_SIZE_DISP_MODE_POWERED)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sp_radio), TRUE);
// Translators: '' refers to the mode of file size display (here - use current locale settings)
- radio = create_radio (parent, get_radio_group (radio), _(""), "size_locale_radio");
- gtk_container_add (GTK_CONTAINER (cat_box), radio);
+ sl_radio = create_radio (parent, get_radio_group (sp_radio), _(""), "size_locale_radio");
+ gtk_container_add (GTK_CONTAINER (cat_box), sl_radio);
if (cfg.size_disp_mode == GNOME_CMD_SIZE_DISP_MODE_LOCALE)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sl_radio), TRUE);
- radio = create_radio (parent, get_radio_group (radio), _("Grouped"), "size_grouped_radio");
- gtk_container_add (GTK_CONTAINER (cat_box), radio);
+ sg_radio = create_radio (parent, get_radio_group (sl_radio), _("Grouped"), "size_grouped_radio");
+ gtk_container_add (GTK_CONTAINER (cat_box), sg_radio);
if (cfg.size_disp_mode == GNOME_CMD_SIZE_DISP_MODE_GROUPED)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sg_radio), TRUE);
- radio = create_radio (parent, get_radio_group (radio), _("Plain"), "size_plain_radio");
- gtk_container_add (GTK_CONTAINER (cat_box), radio);
+ spl_radio = create_radio (parent, get_radio_group (sg_radio), _("Plain"), "size_plain_radio");
+ gtk_container_add (GTK_CONTAINER (cat_box), spl_radio);
if (cfg.size_disp_mode == GNOME_CMD_SIZE_DISP_MODE_PLAIN)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (spl_radio), TRUE);
// Permission display mode
@@ -296,15 +374,15 @@ inline GtkWidget *create_format_tab (GtkWidget *parent, GnomeCmdData::Options &c
cat = create_category (parent, cat_box, _("Permission display mode"));
gtk_box_pack_start (GTK_BOX (vbox), cat, FALSE, TRUE, 0);
- radio = create_radio (parent, NULL, _("Text (rw-r--r--)"), "perm_text_radio");
- gtk_container_add (GTK_CONTAINER (cat_box), radio);
+ pt_radio = create_radio (parent, NULL, _("Text (rw-r--r--)"), "perm_text_radio");
+ gtk_container_add (GTK_CONTAINER (cat_box), pt_radio);
if (cfg.perm_disp_mode == GNOME_CMD_PERM_DISP_MODE_TEXT)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pt_radio), TRUE);
- radio = create_radio (parent, get_radio_group (radio), _("Number (644)"), "perm_num_radio");
- gtk_container_add (GTK_CONTAINER (cat_box), radio);
+ pn_radio = create_radio (parent, get_radio_group (pt_radio), _("Number (644)"), "perm_num_radio");
+ gtk_container_add (GTK_CONTAINER (cat_box), pn_radio);
if (cfg.perm_disp_mode == GNOME_CMD_PERM_DISP_MODE_NUMBER)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pn_radio), TRUE);
// Date options
@@ -332,6 +410,12 @@ inline GtkWidget *create_format_tab (GtkWidget *parent, GnomeCmdData::Options &c
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
table_add (table, label, 1, 2, GTK_FILL);
+ g_signal_connect (sp_radio, "toggled", G_CALLBACK (on_size_powered_radio_toggled), &cfg);
+ g_signal_connect (sl_radio, "toggled", G_CALLBACK (on_size_locale_radio_toggled), &cfg);
+ g_signal_connect (sg_radio, "toggled", G_CALLBACK (on_size_grouped_radio_toggled), &cfg);
+ g_signal_connect (spl_radio, "toggled", G_CALLBACK (on_size_plain_radio_toggled), &cfg);
+ g_signal_connect (pt_radio, "toggled", G_CALLBACK (on_perm_text_radio_toggled), &cfg);
+ g_signal_connect (pn_radio, "toggled", G_CALLBACK (on_perm_num_radio_toggled), &cfg);
g_signal_connect (entry, "realize", G_CALLBACK (on_date_format_update), parent);
g_signal_connect (entry, "changed", G_CALLBACK (on_date_format_update), parent);
@@ -903,11 +987,59 @@ inline void store_layout_options (GtkWidget *dialog, GnomeCmdData::Options &cfg)
* The Tabs tab
*
**********************************************************************/
+static void on_show_tab_toggled (GtkCheckButton *btn, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_CHECK_BUTTON (btn));
+
+ cfg->always_show_tabs = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (btn));
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+}
+
+
+static void on_icon_radio_toggled (GtkRadioButton *btn, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_RADIO_BUTTON (btn));
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (btn)))
+ {
+ cfg->tab_lock_indicator = GnomeCmdData::TAB_LOCK_ICON;
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+ }
+}
+
+
+static void on_ast_radio_toggled (GtkRadioButton *btn, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_RADIO_BUTTON (btn));
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (btn)))
+ {
+ cfg->tab_lock_indicator = GnomeCmdData::TAB_LOCK_ASTERISK;
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+ }
+}
+
+
+static void on_text_radio_toggled (GtkRadioButton *btn, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_RADIO_BUTTON (btn));
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (btn)))
+ {
+ cfg->tab_lock_indicator = GnomeCmdData::TAB_LOCK_STYLED_TEXT;
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+ }
+}
+
inline GtkWidget *create_tabs_tab (GtkWidget *parent, GnomeCmdData::Options &cfg)
{
GtkWidget *frame, *hbox, *vbox, *cat, *cat_box;
- GtkWidget *radio, *check;
+ GtkWidget *icon_radio, *ast_radio, *text_radio, *check;
frame = create_tabframe (parent);
hbox = create_tabhbox (parent);
@@ -930,20 +1062,25 @@ inline GtkWidget *create_tabs_tab (GtkWidget *parent, GnomeCmdData::Options &cfg
cat = create_category (parent, cat_box, _("Tab lock indicator"));
gtk_box_pack_start (GTK_BOX (vbox), cat, FALSE, TRUE, 0);
- radio = create_radio (parent, NULL, _("Lock icon"), "tab_lock_icon_radio");
- gtk_container_add (GTK_CONTAINER (cat_box), radio);
+ icon_radio = create_radio (parent, NULL, _("Lock icon"), "tab_lock_icon_radio");
+ gtk_container_add (GTK_CONTAINER (cat_box), icon_radio);
if (cfg.tab_lock_indicator == GnomeCmdData::TAB_LOCK_ICON)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (icon_radio), TRUE);
- radio = create_radio (parent, get_radio_group (radio), _("* (asterisk)"), "tab_lock_asterisk_radio");
- gtk_container_add (GTK_CONTAINER (cat_box), radio);
+ ast_radio = create_radio (parent, get_radio_group (icon_radio), _("* (asterisk)"), "tab_lock_asterisk_radio");
+ gtk_container_add (GTK_CONTAINER (cat_box), ast_radio);
if (cfg.tab_lock_indicator == GnomeCmdData::TAB_LOCK_ASTERISK)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ast_radio), TRUE);
- radio = create_radio (parent, get_radio_group (radio), _("Styled text"), "tab_lock_style_radio");
- gtk_container_add (GTK_CONTAINER (cat_box), radio);
+ text_radio = create_radio (parent, get_radio_group (ast_radio), _("Styled text"), "tab_lock_style_radio");
+ gtk_container_add (GTK_CONTAINER (cat_box), text_radio);
if (cfg.tab_lock_indicator == GnomeCmdData::TAB_LOCK_STYLED_TEXT)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (text_radio), TRUE);
+
+ g_signal_connect (check, "toggled", G_CALLBACK (on_show_tab_toggled), &cfg);
+ g_signal_connect (icon_radio, "toggled", G_CALLBACK (on_icon_radio_toggled), &cfg);
+ g_signal_connect (ast_radio, "toggled", G_CALLBACK (on_ast_radio_toggled), &cfg);
+ g_signal_connect (text_radio, "toggled", G_CALLBACK (on_text_radio_toggled), &cfg);
return frame;
}
@@ -1087,6 +1224,86 @@ inline void store_confirmation_options (GtkWidget *dialog, GnomeCmdData::Options
*
**********************************************************************/
+static void on_unknown_check_toggled (GtkToggleButton *btn, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_TOGGLE_BUTTON (btn));
+
+ cfg->filter.file_types[GNOME_VFS_FILE_TYPE_UNKNOWN] = gtk_toggle_button_get_active (btn);
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+}
+
+
+static void on_regular_check_toggled (GtkToggleButton *btn, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_TOGGLE_BUTTON (btn));
+
+ cfg->filter.file_types[GNOME_VFS_FILE_TYPE_REGULAR] = gtk_toggle_button_get_active (btn);
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+}
+
+
+static void on_directory_check_toggled (GtkToggleButton *btn, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_TOGGLE_BUTTON (btn));
+
+ cfg->filter.file_types[GNOME_VFS_FILE_TYPE_DIRECTORY] = gtk_toggle_button_get_active (btn);
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+}
+
+
+static void on_fifo_check_toggled (GtkToggleButton *btn, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_TOGGLE_BUTTON (btn));
+
+ cfg->filter.file_types[GNOME_VFS_FILE_TYPE_FIFO] = gtk_toggle_button_get_active (btn);
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+}
+
+
+static void on_socket_check_toggled (GtkToggleButton *btn, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_TOGGLE_BUTTON (btn));
+
+ cfg->filter.file_types[GNOME_VFS_FILE_TYPE_SOCKET] = gtk_toggle_button_get_active (btn);
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+}
+
+
+static void on_char_check_toggled (GtkToggleButton *btn, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_TOGGLE_BUTTON (btn));
+
+ cfg->filter.file_types[GNOME_VFS_FILE_TYPE_CHARACTER_DEVICE] = gtk_toggle_button_get_active (btn);
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+}
+
+
+static void on_block_check_toggled (GtkToggleButton *btn, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_TOGGLE_BUTTON (btn));
+
+ cfg->filter.file_types[GNOME_VFS_FILE_TYPE_BLOCK_DEVICE] = gtk_toggle_button_get_active (btn);
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+}
+
+
+static void on_filter_hidden_files_toggled (GtkToggleButton *btn, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_TOGGLE_BUTTON (btn));
+
+ cfg->filter.hidden = gtk_toggle_button_get_active (btn);
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+}
+
+
static void on_filter_backup_files_toggled (GtkToggleButton *btn, GtkWidget *dialog)
{
GtkWidget *backup_pattern_entry = lookup_widget (dialog, "backup_pattern_entry");
@@ -1101,6 +1318,16 @@ static void on_filter_backup_files_toggled (GtkToggleButton *btn, GtkWidget *dia
}
+static void on_filter_symlinks_toggled (GtkToggleButton *btn, GnomeCmdData::Options *cfg)
+{
+ g_return_if_fail (GTK_TOGGLE_BUTTON (btn));
+
+ cfg->filter.file_types[GNOME_VFS_FILE_TYPE_SYMBOLIC_LINK] = gtk_toggle_button_get_active (btn);
+ gnome_cmd_style_create (*cfg);
+ main_win->update_style ();
+}
+
+
inline GtkWidget *create_filter_tab (GtkWidget *parent, GnomeCmdData::Options &cfg)
{
GtkWidget *frame;
@@ -1108,7 +1335,8 @@ inline GtkWidget *create_filter_tab (GtkWidget *parent, GnomeCmdData::Options &c
GtkWidget *vbox;
GtkWidget *cat;
GtkWidget *cat_box;
- GtkWidget *check, *backup_check;
+ GtkWidget *unknown_check, *regular_check, *directory_check, *fifo_check, *socket_check, *char_check, *block_check;
+ GtkWidget *hidden_check, *backup_check, *symlink_check;
GtkWidget *entry;
frame = create_tabframe (parent);
@@ -1122,42 +1350,42 @@ inline GtkWidget *create_filter_tab (GtkWidget *parent, GnomeCmdData::Options &c
cat = create_category (parent, cat_box, _("Filetypes to hide"));
gtk_box_pack_start (GTK_BOX (vbox), cat, FALSE, FALSE, 0);
- check = create_check (parent, _("Unknown"), "hide_unknown_check");
- gtk_container_add (GTK_CONTAINER (cat_box), check);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), cfg.filter.file_types[GNOME_VFS_FILE_TYPE_UNKNOWN]);
- check = create_check (parent, _("Regular files"), "hide_regular_check");
- gtk_container_add (GTK_CONTAINER (cat_box), check);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), cfg.filter.file_types[GNOME_VFS_FILE_TYPE_REGULAR]);
- check = create_check (parent, _("Directories"), "hide_directory_check");
- gtk_container_add (GTK_CONTAINER (cat_box), check);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), cfg.filter.file_types[GNOME_VFS_FILE_TYPE_DIRECTORY]);
- check = create_check (parent, _("Fifo files"), "hide_fifo_check");
- gtk_container_add (GTK_CONTAINER (cat_box), check);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), cfg.filter.file_types[GNOME_VFS_FILE_TYPE_FIFO]);
- check = create_check (parent, _("Socket files"), "hide_socket_check");
- gtk_container_add (GTK_CONTAINER (cat_box), check);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), cfg.filter.file_types[GNOME_VFS_FILE_TYPE_SOCKET]);
- check = create_check (parent, _("Character devices"), "hide_char_check");
- gtk_container_add (GTK_CONTAINER (cat_box), check);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), cfg.filter.file_types[GNOME_VFS_FILE_TYPE_CHARACTER_DEVICE]);
- check = create_check (parent, _("Block devices"), "hide_block_check");
- gtk_container_add (GTK_CONTAINER (cat_box), check);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), cfg.filter.file_types[GNOME_VFS_FILE_TYPE_BLOCK_DEVICE]);
+ unknown_check = create_check (parent, _("Unknown"), "hide_unknown_check");
+ gtk_container_add (GTK_CONTAINER (cat_box), unknown_check);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (unknown_check), cfg.filter.file_types[GNOME_VFS_FILE_TYPE_UNKNOWN]);
+ regular_check = create_check (parent, _("Regular files"), "hide_regular_check");
+ gtk_container_add (GTK_CONTAINER (cat_box), regular_check);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (regular_check), cfg.filter.file_types[GNOME_VFS_FILE_TYPE_REGULAR]);
+ directory_check = create_check (parent, _("Directories"), "hide_directory_check");
+ gtk_container_add (GTK_CONTAINER (cat_box), directory_check);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (directory_check), cfg.filter.file_types[GNOME_VFS_FILE_TYPE_DIRECTORY]);
+ fifo_check = create_check (parent, _("Fifo files"), "hide_fifo_check");
+ gtk_container_add (GTK_CONTAINER (cat_box), fifo_check);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fifo_check), cfg.filter.file_types[GNOME_VFS_FILE_TYPE_FIFO]);
+ socket_check = create_check (parent, _("Socket files"), "hide_socket_check");
+ gtk_container_add (GTK_CONTAINER (cat_box), socket_check);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (socket_check), cfg.filter.file_types[GNOME_VFS_FILE_TYPE_SOCKET]);
+ char_check = create_check (parent, _("Character devices"), "hide_char_check");
+ gtk_container_add (GTK_CONTAINER (cat_box), char_check);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (char_check), cfg.filter.file_types[GNOME_VFS_FILE_TYPE_CHARACTER_DEVICE]);
+ block_check = create_check (parent, _("Block devices"), "hide_block_check");
+ gtk_container_add (GTK_CONTAINER (cat_box), block_check);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (block_check), cfg.filter.file_types[GNOME_VFS_FILE_TYPE_BLOCK_DEVICE]);
cat_box = create_vbox (parent, FALSE, 0);
cat = create_category (parent, cat_box, _("Also hide"));
gtk_box_pack_start (GTK_BOX (vbox), cat, FALSE, FALSE, 0);
- check = create_check (parent, _("Hidden files"), "hide_hidden_check");
- gtk_container_add (GTK_CONTAINER (cat_box), check);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), cfg.filter.hidden);
+ hidden_check = create_check (parent, _("Hidden files"), "hide_hidden_check");
+ gtk_container_add (GTK_CONTAINER (cat_box), hidden_check);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (hidden_check), cfg.filter.hidden);
backup_check = create_check (parent, _("Backup files"), "hide_backup_check");
gtk_container_add (GTK_CONTAINER (cat_box), backup_check);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (backup_check), cfg.filter.backup);
- check = create_check (parent, _("Symlinks"), "hide_symlink_check");
- gtk_container_add (GTK_CONTAINER (cat_box), check);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), cfg.filter.file_types[GNOME_VFS_FILE_TYPE_SYMBOLIC_LINK]);
+ symlink_check = create_check (parent, _("Symlinks"), "hide_symlink_check");
+ gtk_container_add (GTK_CONTAINER (cat_box), symlink_check);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (symlink_check), cfg.filter.file_types[GNOME_VFS_FILE_TYPE_SYMBOLIC_LINK]);
cat_box = create_vbox (parent, FALSE, 0);
@@ -1169,7 +1397,16 @@ inline GtkWidget *create_filter_tab (GtkWidget *parent, GnomeCmdData::Options &c
gtk_widget_set_sensitive (entry, cfg.filter.backup);
+ g_signal_connect (unknown_check, "toggled", G_CALLBACK (on_unknown_check_toggled), &cfg);
+ g_signal_connect (regular_check, "toggled", G_CALLBACK (on_regular_check_toggled), &cfg);
+ g_signal_connect (directory_check, "toggled", G_CALLBACK (on_directory_check_toggled), &cfg);
+ g_signal_connect (fifo_check, "toggled", G_CALLBACK (on_fifo_check_toggled), &cfg);
+ g_signal_connect (socket_check, "toggled", G_CALLBACK (on_socket_check_toggled), &cfg);
+ g_signal_connect (char_check, "toggled", G_CALLBACK (on_char_check_toggled), &cfg);
+ g_signal_connect (block_check, "toggled", G_CALLBACK (on_block_check_toggled), &cfg);
+ g_signal_connect (hidden_check, "toggled", G_CALLBACK (on_filter_hidden_files_toggled), &cfg);
g_signal_connect (backup_check, "toggled", G_CALLBACK (on_filter_backup_files_toggled), frame);
+ g_signal_connect (symlink_check, "toggled", G_CALLBACK (on_filter_symlinks_toggled), &cfg);
return frame;
}
--
1.7.7.3