Kaydet (Commit) 4f7860b1 authored tarafından Nick Treleaven's avatar Nick Treleaven

Disable word and word start matching when regexes are enabled; Don't hide the…

Disable word and word start matching when regexes are enabled; Don't hide the Find dialog after searching; use Close button.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@669 ea778897-0a13-0410-b9d1-a72fbfd435f5
üst afa4c410
2006-08-04 Nick Treleaven <nick.treleaven@btinternet.com>
* src/callbacks.c, src/callbacks.h, src/dialogs.c
Disable word and word start matching when regexes are enabled.
Don't hide the Find dialog after searching; use Close button.
2006-08-03 Enrico Tröger <enrico.troeger@uvena.de> 2006-08-03 Enrico Tröger <enrico.troeger@uvena.de>
* geany.glade, src/callbacks.c, src/filetypes.c, src/filetypes.h, * geany.glade, src/callbacks.c, src/filetypes.c, src/filetypes.h,
......
...@@ -1843,16 +1843,24 @@ on_find_previous1_activate (GtkMenuItem *menuitem, ...@@ -1843,16 +1843,24 @@ on_find_previous1_activate (GtkMenuItem *menuitem,
} }
void on_find_checkbutton_toggled (GtkToggleButton *togglebutton, void on_find_replace_checkbutton_toggled (GtkToggleButton *togglebutton,
gpointer user_data) gpointer user_data)
{ {
GtkWidget *dialog = GTK_WIDGET(user_data);
GtkToggleButton *chk_regexp = GTK_TOGGLE_BUTTON( GtkToggleButton *chk_regexp = GTK_TOGGLE_BUTTON(
lookup_widget(GTK_WIDGET(app->find_dialog), "check_regexp")); lookup_widget(dialog, "check_regexp"));
GtkWidget *chk_back =
lookup_widget(GTK_WIDGET(app->find_dialog), "check_back");
if (togglebutton == chk_regexp) if (togglebutton == chk_regexp)
gtk_widget_set_sensitive(chk_back, ! gtk_toggle_button_get_active(chk_regexp)); {
gboolean regex_set = gtk_toggle_button_get_active(chk_regexp);
GtkWidget *check_back = lookup_widget(dialog, "check_back");
GtkWidget *check_word = lookup_widget(dialog, "check_word");
GtkWidget *check_wordstart = lookup_widget(dialog, "check_wordstart");
gtk_widget_set_sensitive(check_back, ! regex_set);
gtk_widget_set_sensitive(check_word, ! regex_set);
gtk_widget_set_sensitive(check_wordstart, ! regex_set);
}
} }
...@@ -1888,7 +1896,6 @@ on_find_dialog_response (GtkDialog *dialog, ...@@ -1888,7 +1896,6 @@ on_find_dialog_response (GtkDialog *dialog,
gtk_widget_grab_focus(GTK_WIDGET(GTK_BIN(lookup_widget(app->find_dialog, "entry"))->child)); gtk_widget_grab_focus(GTK_WIDGET(GTK_BIN(lookup_widget(app->find_dialog, "entry"))->child));
return; return;
} }
gtk_widget_hide(app->find_dialog);
gtk_combo_box_prepend_text(GTK_COMBO_BOX(user_data), app->search_text); gtk_combo_box_prepend_text(GTK_COMBO_BOX(user_data), app->search_text);
search_flags = (fl1 ? SCFIND_MATCHCASE : 0) | search_flags = (fl1 ? SCFIND_MATCHCASE : 0) |
...@@ -1910,19 +1917,6 @@ on_find_entry_activate (GtkEntry *entry, ...@@ -1910,19 +1917,6 @@ on_find_entry_activate (GtkEntry *entry,
} }
void on_replace_checkbutton_toggled (GtkToggleButton *togglebutton,
gpointer user_data)
{
GtkToggleButton *chk_regexp = GTK_TOGGLE_BUTTON(
lookup_widget(GTK_WIDGET(app->replace_dialog), "check_regexp"));
GtkWidget *chk_back =
lookup_widget(GTK_WIDGET(app->replace_dialog), "check_back");
if (togglebutton == chk_regexp)
gtk_widget_set_sensitive(chk_back, ! gtk_toggle_button_get_active(chk_regexp));
}
void void
on_replace_dialog_response (GtkDialog *dialog, on_replace_dialog_response (GtkDialog *dialog,
gint response, gint response,
......
...@@ -386,7 +386,7 @@ void ...@@ -386,7 +386,7 @@ void
on_find_previous1_activate (GtkMenuItem *menuitem, on_find_previous1_activate (GtkMenuItem *menuitem,
gpointer user_data); gpointer user_data);
void on_find_checkbutton_toggled (GtkToggleButton *togglebutton, void on_find_replace_checkbutton_toggled (GtkToggleButton *togglebutton,
gpointer user_data); gpointer user_data);
void void
...@@ -398,9 +398,6 @@ void ...@@ -398,9 +398,6 @@ void
on_find_entry_activate (GtkEntry *entry, on_find_entry_activate (GtkEntry *entry,
gpointer user_data); gpointer user_data);
void on_replace_checkbutton_toggled (GtkToggleButton *togglebutton,
gpointer user_data);
void void
on_replace_dialog_response (GtkDialog *dialog, on_replace_dialog_response (GtkDialog *dialog,
gint response, gint response,
......
...@@ -763,7 +763,7 @@ void dialogs_show_goto_line(void) ...@@ -763,7 +763,7 @@ void dialogs_show_goto_line(void)
static void dialogs_add_find_checkboxes(GtkDialog *dialog) static void dialogs_add_find_checkboxes(GtkDialog *dialog)
{ {
GtkWidget *checkbox1, *checkbox2, *checkbox3, *checkbox4, *checkbox5, GtkWidget *checkbox1, *checkbox2, *check_regexp, *checkbox4, *checkbox5,
*checkbox7, *hbox, *lbox, *rbox; *checkbox7, *hbox, *lbox, *rbox;
GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(app->window, "tooltips")); GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(app->window, "tooltips"));
...@@ -787,12 +787,14 @@ static void dialogs_add_find_checkboxes(GtkDialog *dialog) ...@@ -787,12 +787,14 @@ static void dialogs_add_find_checkboxes(GtkDialog *dialog)
gtk_container_add(GTK_CONTAINER(lbox), checkbox2); gtk_container_add(GTK_CONTAINER(lbox), checkbox2);
gtk_container_add(GTK_CONTAINER(lbox), checkbox5); gtk_container_add(GTK_CONTAINER(lbox), checkbox5);
checkbox3 = gtk_check_button_new_with_mnemonic(_("_Use regular expressions")); check_regexp = gtk_check_button_new_with_mnemonic(_("_Use regular expressions"));
g_object_set_data_full(G_OBJECT(dialog), "check_regexp", g_object_set_data_full(G_OBJECT(dialog), "check_regexp",
gtk_widget_ref(checkbox3), (GDestroyNotify)gtk_widget_unref); gtk_widget_ref(check_regexp), (GDestroyNotify)gtk_widget_unref);
gtk_button_set_focus_on_click(GTK_BUTTON(checkbox3), FALSE); gtk_button_set_focus_on_click(GTK_BUTTON(check_regexp), FALSE);
gtk_tooltips_set_tip(tooltips, checkbox3, _("Use POSIX-like regular expressions. " gtk_tooltips_set_tip(tooltips, check_regexp, _("Use POSIX-like regular expressions. "
"For detailed information about using regular expressions, please read the documentation."), NULL); "For detailed information about using regular expressions, please read the documentation."), NULL);
g_signal_connect(G_OBJECT(check_regexp), "toggled",
G_CALLBACK(on_find_replace_checkbutton_toggled), GTK_WIDGET(dialog));
checkbox4 = gtk_check_button_new_with_mnemonic(_("_Search backwards")); checkbox4 = gtk_check_button_new_with_mnemonic(_("_Search backwards"));
g_object_set_data_full(G_OBJECT(dialog), "check_back", g_object_set_data_full(G_OBJECT(dialog), "check_back",
...@@ -808,7 +810,7 @@ static void dialogs_add_find_checkboxes(GtkDialog *dialog) ...@@ -808,7 +810,7 @@ static void dialogs_add_find_checkboxes(GtkDialog *dialog)
"corresponding control characters."), NULL); "corresponding control characters."), NULL);
rbox = gtk_vbox_new(FALSE, 0); rbox = gtk_vbox_new(FALSE, 0);
gtk_container_add(GTK_CONTAINER(rbox), checkbox3); gtk_container_add(GTK_CONTAINER(rbox), check_regexp);
gtk_container_add(GTK_CONTAINER(rbox), checkbox7); gtk_container_add(GTK_CONTAINER(rbox), checkbox7);
gtk_container_add(GTK_CONTAINER(rbox), checkbox4); gtk_container_add(GTK_CONTAINER(rbox), checkbox4);
...@@ -834,12 +836,12 @@ void dialogs_show_find(void) ...@@ -834,12 +836,12 @@ void dialogs_show_find(void)
if (app->find_dialog == NULL) if (app->find_dialog == NULL)
{ {
GtkWidget *label, *entry, *check_regexp, *vbox; GtkWidget *label, *entry, *vbox;
app->find_dialog = gtk_dialog_new_with_buttons(_("Find"), GTK_WINDOW(app->window),
GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL);
gtk_dialog_add_button(GTK_DIALOG(app->find_dialog), "gtk-find", GTK_RESPONSE_ACCEPT); app->find_dialog = gtk_dialog_new_with_buttons(_("Find"),
GTK_WINDOW(app->window), GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_CLOSE, GTK_RESPONSE_CANCEL,
GTK_STOCK_FIND, GTK_RESPONSE_ACCEPT, NULL);
label = gtk_label_new(_("Enter the search text here:")); label = gtk_label_new(_("Enter the search text here:"));
gtk_misc_set_padding(GTK_MISC(label), 0, 6); gtk_misc_set_padding(GTK_MISC(label), 0, 6);
...@@ -866,11 +868,6 @@ void dialogs_show_find(void) ...@@ -866,11 +868,6 @@ void dialogs_show_find(void)
dialogs_add_find_checkboxes(GTK_DIALOG(app->find_dialog)); dialogs_add_find_checkboxes(GTK_DIALOG(app->find_dialog));
check_regexp =
lookup_widget(GTK_WIDGET(app->find_dialog), "check_regexp");
g_signal_connect(G_OBJECT(check_regexp), "toggled",
G_CALLBACK(on_find_checkbutton_toggled), NULL);
gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(app->find_dialog)->vbox), 3); gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(app->find_dialog)->vbox), 3);
gtk_widget_show_all(app->find_dialog); gtk_widget_show_all(app->find_dialog);
...@@ -902,12 +899,13 @@ void dialogs_show_replace(void) ...@@ -902,12 +899,13 @@ void dialogs_show_replace(void)
if (app->replace_dialog == NULL) if (app->replace_dialog == NULL)
{ {
GtkWidget *label_find, *label_replace, *entry_find, *entry_replace, GtkWidget *label_find, *label_replace, *entry_find, *entry_replace,
*checkbox6, *check_regexp, *button, *align, *rbox, *fbox; *checkbox6, *button, *align, *rbox, *fbox;
GtkSizeGroup *size_group; GtkSizeGroup *size_group;
GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(app->window, "tooltips")); GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(app->window, "tooltips"));
app->replace_dialog = gtk_dialog_new_with_buttons(_("Replace"), GTK_WINDOW(app->window), app->replace_dialog = gtk_dialog_new_with_buttons(_("Replace"),
GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL); GTK_WINDOW(app->window), GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_CLOSE, GTK_RESPONSE_CANCEL, NULL);
button = gtk_button_new_with_mnemonic(_("_In Selection")); button = gtk_button_new_with_mnemonic(_("_In Selection"));
gtk_tooltips_set_tip(tooltips, button, gtk_tooltips_set_tip(tooltips, button,
...@@ -919,7 +917,7 @@ void dialogs_show_replace(void) ...@@ -919,7 +917,7 @@ void dialogs_show_replace(void)
gtk_widget_show(button); gtk_widget_show(button);
gtk_dialog_add_action_widget(GTK_DIALOG(app->replace_dialog), button, gtk_dialog_add_action_widget(GTK_DIALOG(app->replace_dialog), button,
GEANY_RESPONSE_REPLACE_ALL); GEANY_RESPONSE_REPLACE_ALL);
button = gtk_button_new_from_stock("gtk-find"); button = gtk_button_new_from_stock(GTK_STOCK_FIND);
gtk_widget_show(button); gtk_widget_show(button);
gtk_dialog_add_action_widget(GTK_DIALOG(app->replace_dialog), button, gtk_dialog_add_action_widget(GTK_DIALOG(app->replace_dialog), button,
GEANY_RESPONSE_FIND); GEANY_RESPONSE_FIND);
...@@ -929,10 +927,10 @@ void dialogs_show_replace(void) ...@@ -929,10 +927,10 @@ void dialogs_show_replace(void)
GEANY_RESPONSE_REPLACE); GEANY_RESPONSE_REPLACE);
label_find = gtk_label_new(_("Enter the search text here:")); label_find = gtk_label_new(_("Enter the search text here:"));
gtk_misc_set_alignment(GTK_MISC(label_find), 0, 0); gtk_misc_set_alignment(GTK_MISC(label_find), 0, 0.5);
label_replace = gtk_label_new(_("Enter the replace text here:")); label_replace = gtk_label_new(_("Enter the replace text here:"));
gtk_misc_set_alignment(GTK_MISC(label_replace), 0, 0); gtk_misc_set_alignment(GTK_MISC(label_replace), 0, 0.5);
entry_find = gtk_combo_box_entry_new_text(); entry_find = gtk_combo_box_entry_new_text();
gtk_entry_set_max_length(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(entry_find))), 248); gtk_entry_set_max_length(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(entry_find))), 248);
...@@ -972,11 +970,6 @@ void dialogs_show_replace(void) ...@@ -972,11 +970,6 @@ void dialogs_show_replace(void)
dialogs_add_find_checkboxes(GTK_DIALOG(app->replace_dialog)); dialogs_add_find_checkboxes(GTK_DIALOG(app->replace_dialog));
check_regexp =
lookup_widget(GTK_WIDGET(app->replace_dialog), "check_regexp");
g_signal_connect(G_OBJECT(check_regexp), "toggled",
G_CALLBACK(on_replace_checkbutton_toggled), NULL);
checkbox6 = gtk_check_button_new_with_mnemonic(_("Replace in all _open files")); checkbox6 = gtk_check_button_new_with_mnemonic(_("Replace in all _open files"));
g_object_set_data_full(G_OBJECT(app->replace_dialog), "check_all_buffers", g_object_set_data_full(G_OBJECT(app->replace_dialog), "check_all_buffers",
gtk_widget_ref(checkbox6), (GDestroyNotify)gtk_widget_unref); gtk_widget_ref(checkbox6), (GDestroyNotify)gtk_widget_unref);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment