SF.net SVN: geany: [669] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Fri Aug 4 12:21:50 UTC 2006


Revision: 669
Author:   ntrel
Date:     2006-08-04 05:21:41 -0700 (Fri, 04 Aug 2006)
ViewCVS:  http://svn.sourceforge.net/geany/?rev=669&view=rev

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

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/callbacks.c
    trunk/src/callbacks.h
    trunk/src/dialogs.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2006-08-03 22:17:10 UTC (rev 668)
+++ trunk/ChangeLog	2006-08-04 12:21:41 UTC (rev 669)
@@ -1,3 +1,10 @@
+2006-08-04  Nick Treleaven  <nick.treleaven at 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 at uvena.de>
 
  * geany.glade, src/callbacks.c, src/filetypes.c, src/filetypes.h,

Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c	2006-08-03 22:17:10 UTC (rev 668)
+++ trunk/src/callbacks.c	2006-08-04 12:21:41 UTC (rev 669)
@@ -1843,16 +1843,24 @@
 }
 
 
-void on_find_checkbutton_toggled (GtkToggleButton *togglebutton,
-                                  gpointer user_data)
+void on_find_replace_checkbutton_toggled (GtkToggleButton *togglebutton,
+										  gpointer user_data)
 {
+	GtkWidget *dialog = GTK_WIDGET(user_data);
 	GtkToggleButton *chk_regexp = GTK_TOGGLE_BUTTON(
-		lookup_widget(GTK_WIDGET(app->find_dialog), "check_regexp"));
-	GtkWidget *chk_back =
-		lookup_widget(GTK_WIDGET(app->find_dialog), "check_back");
+		lookup_widget(dialog, "check_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 @@
 			gtk_widget_grab_focus(GTK_WIDGET(GTK_BIN(lookup_widget(app->find_dialog, "entry"))->child));
 			return;
 		}
-		gtk_widget_hide(app->find_dialog);
 
 		gtk_combo_box_prepend_text(GTK_COMBO_BOX(user_data), app->search_text);
 		search_flags = (fl1 ? SCFIND_MATCHCASE : 0) |
@@ -1910,19 +1917,6 @@
 }
 
 
-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
 on_replace_dialog_response             (GtkDialog *dialog,
                                         gint response,

Modified: trunk/src/callbacks.h
===================================================================
--- trunk/src/callbacks.h	2006-08-03 22:17:10 UTC (rev 668)
+++ trunk/src/callbacks.h	2006-08-04 12:21:41 UTC (rev 669)
@@ -386,8 +386,8 @@
 on_find_previous1_activate             (GtkMenuItem     *menuitem,
                                         gpointer         user_data);
 
-void on_find_checkbutton_toggled (GtkToggleButton *togglebutton,
-                                  gpointer user_data);
+void on_find_replace_checkbutton_toggled (GtkToggleButton *togglebutton,
+										  gpointer user_data);
 
 void
 on_find_dialog_response                (GtkDialog *dialog,
@@ -398,9 +398,6 @@
 on_find_entry_activate                 (GtkEntry        *entry,
                                         gpointer         user_data);
 
-void on_replace_checkbutton_toggled (GtkToggleButton *togglebutton,
-                                     gpointer user_data);
-
 void
 on_replace_dialog_response                (GtkDialog *dialog,
                                         gint response,

Modified: trunk/src/dialogs.c
===================================================================
--- trunk/src/dialogs.c	2006-08-03 22:17:10 UTC (rev 668)
+++ trunk/src/dialogs.c	2006-08-04 12:21:41 UTC (rev 669)
@@ -763,7 +763,7 @@
 
 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;
 	GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(app->window, "tooltips"));
 
@@ -787,12 +787,14 @@
 	gtk_container_add(GTK_CONTAINER(lbox), checkbox2);
 	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",
-					gtk_widget_ref(checkbox3), (GDestroyNotify)gtk_widget_unref);
-	gtk_button_set_focus_on_click(GTK_BUTTON(checkbox3), FALSE);
-	gtk_tooltips_set_tip(tooltips, checkbox3, _("Use POSIX-like regular expressions. "
+					gtk_widget_ref(check_regexp), (GDestroyNotify)gtk_widget_unref);
+	gtk_button_set_focus_on_click(GTK_BUTTON(check_regexp), FALSE);
+	gtk_tooltips_set_tip(tooltips, check_regexp, _("Use POSIX-like regular expressions. "
 		"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"));
 	g_object_set_data_full(G_OBJECT(dialog), "check_back",
@@ -808,7 +810,7 @@
 		  "corresponding control characters."), NULL);
 
 	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), checkbox4);
 
@@ -834,13 +836,13 @@
 
 	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);
+		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);
 
-		gtk_dialog_add_button(GTK_DIALOG(app->find_dialog), "gtk-find", GTK_RESPONSE_ACCEPT);
-
 		label = gtk_label_new(_("Enter the search text here:"));
 		gtk_misc_set_padding(GTK_MISC(label), 0, 6);
 		gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -866,11 +868,6 @@
 
 		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_widget_show_all(app->find_dialog);
@@ -902,12 +899,13 @@
 	if (app->replace_dialog == NULL)
 	{
 		GtkWidget *label_find, *label_replace, *entry_find, *entry_replace,
-			*checkbox6, *check_regexp, *button, *align, *rbox, *fbox;
+			*checkbox6, *button, *align, *rbox, *fbox;
 		GtkSizeGroup *size_group;
 		GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(app->window, "tooltips"));
 
-		app->replace_dialog = gtk_dialog_new_with_buttons(_("Replace"), GTK_WINDOW(app->window),
-						GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL);
+		app->replace_dialog = gtk_dialog_new_with_buttons(_("Replace"),
+			GTK_WINDOW(app->window), GTK_DIALOG_DESTROY_WITH_PARENT,
+			GTK_STOCK_CLOSE, GTK_RESPONSE_CANCEL, NULL);
 
 		button = gtk_button_new_with_mnemonic(_("_In Selection"));
 		gtk_tooltips_set_tip(tooltips, button,
@@ -919,7 +917,7 @@
 		gtk_widget_show(button);
 		gtk_dialog_add_action_widget(GTK_DIALOG(app->replace_dialog), button,
 			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_dialog_add_action_widget(GTK_DIALOG(app->replace_dialog), button,
 			GEANY_RESPONSE_FIND);
@@ -929,10 +927,10 @@
 			GEANY_RESPONSE_REPLACE);
 
 		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:"));
-		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();
 		gtk_entry_set_max_length(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(entry_find))), 248);
@@ -972,11 +970,6 @@
 
 		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"));
 		g_object_set_data_full(G_OBJECT(app->replace_dialog), "check_all_buffers",
 						gtk_widget_ref(checkbox6), (GDestroyNotify)gtk_widget_unref);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Commits mailing list