SF.net SVN: geany: [546] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Mon Jul 10 16:46:39 UTC 2006
Revision: 546
Author: eht16
Date: 2006-07-10 09:46:29 -0700 (Mon, 10 Jul 2006)
ViewCVS: http://svn.sourceforge.net/geany/?rev=546&view=rev
Log Message:
-----------
Added "Replace in all open files" option in the replace dialog.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/callbacks.c
trunk/src/dialogs.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2006-07-10 16:02:17 UTC (rev 545)
+++ trunk/ChangeLog 2006-07-10 16:46:29 UTC (rev 546)
@@ -1,6 +1,8 @@
2006-07-10 Enrico Tröger <enrico.troeger at uvena.de>
* src/sci_cb.c: Autocompletion only works on blank lines.
+ * src/callbacks.c, src/dialogs.c:
+ Added "Replace in all open files" option in the replace dialog.
2006-07-09 Enrico Tröger <enrico.troeger at uvena.de>
Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c 2006-07-10 16:02:17 UTC (rev 545)
+++ trunk/src/callbacks.c 2006-07-10 16:46:29 UTC (rev 546)
@@ -77,6 +77,7 @@
static gboolean search_backwards;
static gint search_flags_re;
static gboolean search_backwards_re;
+static gboolean search_in_all_buffers_re;
// holds the current position where the mouse pointer is when the popup menu for the scintilla
// scintilla widget is shown
@@ -1894,6 +1895,8 @@
lookup_widget(GTK_WIDGET(app->replace_dialog), "check_wordstart")));
search_backwards_re = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
lookup_widget(GTK_WIDGET(app->replace_dialog), "check_back")));
+ search_in_all_buffers_re = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
+ lookup_widget(GTK_WIDGET(app->replace_dialog), "check_all_buffers")));
find = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(entry_find))));
replace = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(entry_replace))));
@@ -1911,23 +1914,37 @@
(fl2 ? SCFIND_WHOLEWORD : 0) |
(fl3 ? SCFIND_REGEXP : 0) |
(fl4 ? SCFIND_WORDSTART : 0);
- switch (response)
+
+ if (search_in_all_buffers_re && response == GEANY_RESPONSE_REPLACE_ALL)
{
- case GEANY_RESPONSE_REPLACE:
+ gint i;
+ for (i = 0; i < GEANY_MAX_OPEN_FILES; i++)
{
- document_replace_text(idx, find, replace, search_flags_re, search_backwards_re);
- break;
+ if (! doc_list[i].is_valid) continue;
+
+ document_replace_all(i, find, replace, search_flags_re);
}
- case GEANY_RESPONSE_REPLACE_ALL:
+ }
+ else
+ {
+ switch (response)
{
- document_replace_all(idx, find, replace, search_flags_re);
- break;
+ case GEANY_RESPONSE_REPLACE:
+ {
+ document_replace_text(idx, find, replace, search_flags_re, search_backwards_re);
+ break;
+ }
+ case GEANY_RESPONSE_REPLACE_ALL:
+ {
+ document_replace_all(idx, find, replace, search_flags_re);
+ break;
+ }
+ case GEANY_RESPONSE_REPLACE_SEL:
+ {
+ document_replace_sel(idx, find, replace, search_flags_re);
+ break;
+ }
}
- case GEANY_RESPONSE_REPLACE_SEL:
- {
- document_replace_sel(idx, find, replace, search_flags_re);
- break;
- }
}
}
Modified: trunk/src/dialogs.c
===================================================================
--- trunk/src/dialogs.c 2006-07-10 16:02:17 UTC (rev 545)
+++ trunk/src/dialogs.c 2006-07-10 16:46:29 UTC (rev 546)
@@ -904,7 +904,7 @@
if (app->replace_dialog == NULL)
{
GtkWidget *label_find, *label_replace, *entry_find, *entry_replace;
- GtkWidget *checkbox1, *checkbox2, *checkbox3, *checkbox5, *checkbox4;
+ GtkWidget *checkbox1, *checkbox2, *checkbox3, *checkbox4, *checkbox5, *checkbox6;
GtkWidget *button;
GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(app->window, "tooltips"));
@@ -986,11 +986,19 @@
gtk_widget_ref(checkbox5), (GDestroyNotify)gtk_widget_unref);
gtk_button_set_focus_on_click(GTK_BUTTON(checkbox5), FALSE);
+ 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);
+ gtk_tooltips_set_tip(tooltips, checkbox6,
+ _("Replaces the search text in all opened files. This option is only useful(and used) if you click on \"Replace All\"."), NULL);
+ gtk_button_set_focus_on_click(GTK_BUTTON(checkbox6), FALSE);
+
gtk_container_add(GTK_CONTAINER(GTK_DIALOG(app->replace_dialog)->vbox), checkbox1);
gtk_container_add(GTK_CONTAINER(GTK_DIALOG(app->replace_dialog)->vbox), checkbox2);
gtk_container_add(GTK_CONTAINER(GTK_DIALOG(app->replace_dialog)->vbox), checkbox5);
gtk_container_add(GTK_CONTAINER(GTK_DIALOG(app->replace_dialog)->vbox), checkbox3);
gtk_container_add(GTK_CONTAINER(GTK_DIALOG(app->replace_dialog)->vbox), checkbox4);
+ gtk_container_add(GTK_CONTAINER(GTK_DIALOG(app->replace_dialog)->vbox), checkbox6);
gtk_container_add(GTK_CONTAINER(GTK_DIALOG(app->replace_dialog)->vbox), gtk_label_new(""));
gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(app->replace_dialog)->vbox), 3);
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