gnome-commander r1861 - in branches/gcmd-1-3: . doc/C src
- From: epiotr svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-commander r1861 - in branches/gcmd-1-3: . doc/C src
- Date: Sun, 22 Jun 2008 22:24:24 +0000 (UTC)
Author: epiotr
Date: Sun Jun 22 22:24:24 2008
New Revision: 1861
URL: http://svn.gnome.org/viewvc/gnome-commander?rev=1861&view=rev
Log:
File search: added radio buttons for controlling file name matching mode (regex/shell)
Modified:
branches/gcmd-1-3/ChangeLog
branches/gcmd-1-3/doc/C/gnome-commander.xml
branches/gcmd-1-3/src/gnome-cmd-search-dialog.cc
Modified: branches/gcmd-1-3/doc/C/gnome-commander.xml
==============================================================================
--- branches/gcmd-1-3/doc/C/gnome-commander.xml (original)
+++ branches/gcmd-1-3/doc/C/gnome-commander.xml Sun Jun 22 22:24:24 2008
@@ -5894,6 +5894,9 @@
<para>Copying selected URIs to clipboard with <keycombo><keycap>ALT</keycap><keycap>click</keycap></keycombo> on toolbar button</para>
</listitem>
<listitem>
+ <para>Revamped search dialog</para>
+ </listitem>
+ <listitem>
<para>Updated help docs</para>
</listitem>
<listitem>
Modified: branches/gcmd-1-3/src/gnome-cmd-search-dialog.cc
==============================================================================
--- branches/gcmd-1-3/src/gnome-cmd-search-dialog.cc (original)
+++ branches/gcmd-1-3/src/gnome-cmd-search-dialog.cc Sun Jun 22 22:24:24 2008
@@ -540,7 +540,11 @@
gtk_widget_set_sensitive (data->dialog->priv->stop_button, TRUE);
// create an re for filename matching
- data->name_filter = filter_new (data->name_pattern, data->case_sens, gnome_cmd_data_get_filter_type ());
+ GtkWidget *regex_radio = lookup_widget (GTK_WIDGET (dialog), "regex_radio");
+
+ data->name_filter = filter_new (data->name_pattern, data->case_sens,
+ gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (regex_radio)) ? FILTER_TYPE_REGEX
+ : FILTER_TYPE_FNMATCH);
// if we're going to search through file content create an re for that too
if (data->content_search)
@@ -730,8 +734,7 @@
}
/*
- * create a label with keyboard shortcut and a widget to activate
- * if shortcut is pressed.
+ * create a label with keyboard shortcut and a widget to activate if shortcut is pressed.
*/
inline GtkWidget *create_label_with_mnemonic (GtkWidget *parent, const gchar *text, GtkWidget *for_widget)
{
@@ -763,8 +766,21 @@
}
/*
- * create a gtk_combo_box_entry_new_text.
- * gtk_combo is deprecated.
+ * create a GtkRadioButton with keyboard shortcut
+ */
+inline GtkWidget *create_radio_with_mnemonic (GtkWidget *parent, GSList *group, gchar *text, gchar *name)
+{
+ GtkWidget *radio = gtk_radio_button_new_with_mnemonic (group, text);
+
+ gtk_widget_ref (radio);
+ gtk_object_set_data_full (GTK_OBJECT (parent), name, radio, (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (radio);
+
+ return radio;
+}
+
+/*
+ * create a gtk_combo_box_entry_new_text. gtk_combo is deprecated.
*/
inline GtkWidget *create_combo_box_entry (GtkWidget *parent)
{
@@ -776,8 +792,7 @@
}
/*
- * callback function for 'g_list_foreach' to add default value
- * to dropdownbox
+ * callback function for 'g_list_foreach' to add default value to dropdownbox
*/
static void combo_box_insert_text (gpointer data, gpointer user_data)
{
@@ -790,10 +805,12 @@
SearchDefaults *defaults = gnome_cmd_data_get_search_defaults ();
GtkWidget *window;
- GtkWidget *vbox1;
+ GtkWidget *vbox;
+ GtkWidget *hbox;
GtkWidget *table;
GtkWidget *label;
GtkWidget *sw;
+ GtkWidget *radio;
GtkWidget *pbar;
dialog->priv = g_new0 (GnomeCmdSearchDialogPrivate, 1);
@@ -805,13 +822,13 @@
gnome_cmd_dialog_set_resizable (GNOME_CMD_DIALOG (dialog), TRUE);
gtk_window_set_default_size (GTK_WINDOW (window), defaults->width, defaults->height);
- vbox1 = create_vbox (window, FALSE, 0);
- gnome_cmd_dialog_add_expanding_category (GNOME_CMD_DIALOG (dialog), vbox1);
+ vbox = create_vbox (window, FALSE, 0);
+ gnome_cmd_dialog_add_expanding_category (GNOME_CMD_DIALOG (dialog), vbox);
table = create_table (window, 5, 2);
gtk_table_set_row_spacings (GTK_TABLE (table), 6);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
- gtk_box_pack_start (GTK_BOX (vbox1), table, FALSE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, TRUE, 0);
// Search for
dialog->priv->pattern_combo = create_combo_box_entry (window);
@@ -838,13 +855,29 @@
dialog->priv->dir_entry = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (dialog->priv->dir_browser));
+
+ hbox = create_hbox (window, FALSE, 0);
+
// Recurse check
dialog->priv->recurse_check = create_check_with_mnemonic (window, _("Search _recursively"), "recurse_check");
- gtk_table_attach (GTK_TABLE (table), dialog->priv->recurse_check, 1, 2, 2, 3,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->recurse_check), defaults->recursive);
+
+ // Filename matching
+ gtk_box_pack_start (GTK_BOX (hbox), dialog->priv->recurse_check, FALSE, TRUE, 0);
+
+ radio = create_radio_with_mnemonic (window, NULL, _("She_ll syntax"), "shell_radio");
+ gtk_container_add (GTK_CONTAINER (hbox), radio);
+ if (gnome_cmd_data_get_filter_type () == FILTER_TYPE_FNMATCH)
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
+ radio = create_radio_with_mnemonic (window, get_radio_group (radio), _("Rege_x syntax"), "regex_radio");
+ gtk_container_add (GTK_CONTAINER (hbox), radio);
+ if (gnome_cmd_data_get_filter_type () == FILTER_TYPE_REGEX)
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
+
+ table_add (table, hbox, 1, 2, GTK_FILL);
+
+
// Find text
dialog->priv->find_text_check = create_check_with_mnemonic (window, _("Find _text: "), "find_text");
table_add (table, dialog->priv->find_text_check, 0, 3, GTK_FILL);
@@ -879,7 +912,7 @@
gtk_widget_ref (sw);
gtk_object_set_data_full (GTK_OBJECT (window), "sw", sw, (GtkDestroyNotify) gtk_widget_unref);
gtk_widget_show (sw);
- gtk_box_pack_start (GTK_BOX (vbox1), sw, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 0);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
dialog->priv->result_list = gnome_cmd_file_list_new ();
@@ -899,7 +932,7 @@
gtk_object_set_data_full (GTK_OBJECT (window), "statusbar", dialog->priv->statusbar,
(GtkDestroyNotify) gtk_widget_unref);
gtk_widget_show (dialog->priv->statusbar);
- gtk_box_pack_start (GTK_BOX (vbox1), dialog->priv->statusbar, FALSE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), dialog->priv->statusbar, FALSE, TRUE, 0);
pbar = create_progress_bar (window);
gtk_widget_hide (pbar);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]