SF.net SVN: geany: [650] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Sat Jul 29 12:06:11 UTC 2006
Revision: 650
Author: ntrel
Date: 2006-07-29 05:06:00 -0700 (Sat, 29 Jul 2006)
ViewCVS: http://svn.sourceforge.net/geany/?rev=650&view=rev
Log Message:
-----------
Remember Find in files directory for opening grep results
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/callbacks.c
trunk/src/msgwindow.c
trunk/src/msgwindow.h
trunk/src/search.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2006-07-29 08:45:37 UTC (rev 649)
+++ trunk/ChangeLog 2006-07-29 12:06:00 UTC (rev 650)
@@ -1,3 +1,9 @@
+2006-07-29 Nick Treleaven <nick.treleaven at btinternet.com>
+
+ * src/msgwindow.c, src/msgwindow.h, src/callbacks.c, src/search.c:
+ Remember Find in files directory for opening grep results.
+
+
2006-07-28 Enrico Tröger <enrico.troeger at uvena.de>
* src/search.c, src/callbacks.c, src/dialogs.c:
Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c 2006-07-29 08:45:37 UTC (rev 649)
+++ trunk/src/callbacks.c 2006-07-29 12:06:00 UTC (rev 650)
@@ -2086,14 +2086,15 @@
locale_dir = g_locale_from_utf8(utf8_dir, -1, NULL, NULL, NULL);
if (locale_dir == NULL) locale_dir = g_strdup(utf8_dir);
- gtk_combo_box_prepend_text(GTK_COMBO_BOX(user_data), search_text);
- search_find_in_files(search_text, locale_dir, opts);
+ if (search_find_in_files(search_text, locale_dir, opts))
+ {
+ gtk_combo_box_prepend_text(GTK_COMBO_BOX(user_data), search_text);
+ gtk_widget_hide(app->find_in_files_dialog);
+ }
g_free(locale_dir);
- gtk_widget_hide(app->find_in_files_dialog);
}
else
msgwin_status_add(_("No text to find."));
-
}
else
gtk_widget_hide(app->find_in_files_dialog);
Modified: trunk/src/msgwindow.c
===================================================================
--- trunk/src/msgwindow.c 2006-07-29 08:45:37 UTC (rev 649)
+++ trunk/src/msgwindow.c 2006-07-29 12:06:00 UTC (rev 650)
@@ -29,7 +29,6 @@
#include "callbacks.h"
#include "msgwindow.h"
#include "utils.h"
-#include "search.h"
#include "document.h"
#include <string.h>
@@ -39,6 +38,9 @@
static GdkColor dark = {0, 58832, 58832, 58832};
static GdkColor white = {0, 65535, 65535, 65535};
+gchar *find_in_files_dir = NULL;
+
+
static void msgwin_parse_grep_line(const gchar *string, gchar **filename, gint *line);
@@ -323,7 +325,6 @@
static void msgwin_parse_grep_line(const gchar *string, gchar **filename, gint *line)
{
gchar *end = NULL;
- gchar *path;
gchar **fields;
gchar *pattern; // pattern to split the error message into some fields
guint field_min_len; // used to detect errors after parsing
@@ -369,10 +370,8 @@
cur_idx = document_get_cur_idx();
if (cur_idx >= 0 && doc_list[cur_idx].is_valid)
{
- path = g_path_get_dirname(doc_list[cur_idx].file_name);
- *filename = g_strconcat(path, G_DIR_SEPARATOR_S,
+ *filename = g_strconcat(find_in_files_dir, G_DIR_SEPARATOR_S,
fields[field_idx_file] + skip_dot_slash, NULL);
- g_free(path);
}
g_strfreev(fields);
Modified: trunk/src/msgwindow.h
===================================================================
--- trunk/src/msgwindow.h 2006-07-29 08:45:37 UTC (rev 649)
+++ trunk/src/msgwindow.h 2006-07-29 12:06:00 UTC (rev 650)
@@ -58,7 +58,9 @@
msgwin msgwindow;
+extern gchar *find_in_files_dir;
+
void msgwin_prepare_msg_tree_view(void);
void msgwin_prepare_status_tree_view(void);
Modified: trunk/src/search.c
===================================================================
--- trunk/src/search.c 2006-07-29 08:45:37 UTC (rev 649)
+++ trunk/src/search.c 2006-07-29 12:06:00 UTC (rev 650)
@@ -110,6 +110,8 @@
}
else
{
+ g_free(find_in_files_dir);
+ find_in_files_dir = g_strdup(dir);
utils_set_up_io_channel(stdout_fd, G_IO_IN|G_IO_PRI|G_IO_ERR|G_IO_HUP|G_IO_NVAL,
search_read_io, NULL);
g_child_watch_add(child_pid, search_close_pid, NULL);
@@ -167,7 +169,7 @@
dir = g_dir_open(path, 0, &error);
if (error)
{
- geany_debug("Could not open directory (%s)", error->message);
+ msgwin_status_add(_("Could not open directory (%s)"), error->message);
g_error_free(error);
*length = 0;
return NULL;
@@ -197,12 +199,10 @@
{
if (condition & (G_IO_IN | G_IO_PRI))
{
- //GIOStatus s;
gchar *msg;
while (g_io_channel_read_line(source, &msg, NULL, NULL, NULL) && msg)
{
- //if (s != G_IO_STATUS_NORMAL && s != G_IO_STATUS_EOF) break;
msgwin_msg_add(-1, -1, g_strstrip(msg));
g_free(msg);
}
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