<para />\r
For basic pattern matching "JPG" will match any filename containing those characters.\r
<para />\r
- To make a case-insensitive search, use "(?i)JPG"\r
- <para />\r
If you type a newline, the text will be saved in the dropdown box list. The last 10 items are saved.\r
<para />\r
To delete an item, select it from the drop-down list, click on the text box to select the text, and then press\r
<keycap>Enter</keycap>\r
.\r
</para>\r
+ <para>By default filtering is case-insensitive. A checkbox labelled "Case" permits the filter to be made case-sensitive.\r
+ </para>\r
<para>Additionally a drop-down box permits any of the file <link linkend="Filetypes">Classes</link> to be selected or deselected from the viewed list.</para>\r
<para />\r
</section>\r
return menu;
}
+static void case_sensitive_cb(GtkWidget *widget, gpointer data)
+{
+ ViewFile *vf = data;
+
+ vf->file_filter.case_sensitive = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+ vf_refresh(vf);
+}
+
static GtkWidget *vf_file_filter_init(ViewFile *vf)
{
GtkWidget *frame = gtk_frame_new(NULL);
GtkWidget *combo_entry;
GtkWidget *menubar;
GtkWidget *menuitem;
+ GtkWidget *case_sensitive;
vf->file_filter.combo = gtk_combo_box_text_new_with_entry();
combo_entry = gtk_bin_get_child(GTK_BIN(vf->file_filter.combo));
gtk_container_add(GTK_CONTAINER(frame), hbox);
gtk_widget_show(hbox);
+ case_sensitive = gtk_check_button_new_with_label("Case");
+ gtk_box_pack_start(GTK_BOX(hbox), case_sensitive, FALSE, FALSE, 0);
+ gtk_widget_set_tooltip_text(GTK_WIDGET(case_sensitive), _("Case sensitive"));
+ g_signal_connect(G_OBJECT(case_sensitive), "clicked", G_CALLBACK(case_sensitive_cb), vf);
+ gtk_widget_show(case_sensitive);
+
menubar = gtk_menu_bar_new();
gtk_box_pack_start(GTK_BOX(hbox), menubar, FALSE, TRUE, 0);
gtk_widget_show(menubar);
if (file_filter_text[0] != '\0')
{
- ret = g_regex_new(file_filter_text, 0, 0, &error);
+ ret = g_regex_new(file_filter_text, vf->file_filter.case_sensitive ? 0 : G_REGEX_CASELESS, 0, &error);
if (error)
{
log_printf("Error: could not compile regular expression %s\n%s\n", file_filter_text, error->message);