SF.net SVN: geany: [1869] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Tue Sep 11 16:05:05 UTC 2007
Revision: 1869
http://geany.svn.sourceforge.net/geany/?rev=1869&view=rev
Author: ntrel
Date: 2007-09-11 09:05:03 -0700 (Tue, 11 Sep 2007)
Log Message:
-----------
Add reload_file() document function to the plugin API.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/document.c
trunk/src/document.h
trunk/src/plugindata.h
trunk/src/plugins.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-09-11 15:21:11 UTC (rev 1868)
+++ trunk/ChangeLog 2007-09-11 16:05:03 UTC (rev 1869)
@@ -9,6 +9,8 @@
without the idx for reloading or pos arguments.
Replace str_replace() with string_replace_all() in the plugin API.
Add utils_string_replace_all(), taking a GString argument.
+ * src/plugindata.h, src/document.c, src/plugins.c, src/document.h:
+ Add reload_file() document function to the plugin API.
2007-09-10 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: trunk/src/document.c
===================================================================
--- trunk/src/document.c 2007-09-11 15:21:11 UTC (rev 1868)
+++ trunk/src/document.c 2007-09-11 16:05:03 UTC (rev 1869)
@@ -825,6 +825,7 @@
/* To open a new file, set idx to -1; filename should be locale encoded.
* To reload a file, set the idx for the document to be reloaded; filename should be NULL.
* pos is the cursor position, which can be overridden by --line and --column.
+ * forced_enc can be NULL to detect the file encoding.
* Returns: idx of the opened file or -1 if an error occurred.
*
* When opening more than one file, either:
@@ -1022,17 +1023,21 @@
}
-gint document_reload_file(gint idx, const gchar *forced_enc)
+/* Reload document with index idx.
+ * forced_enc can be NULL to detect the file encoding.
+ * Returns: TRUE if successful. */
+gboolean document_reload_file(gint idx, const gchar *forced_enc)
{
gint pos = 0;
if (! DOC_IDX_VALID(idx))
- return -1;
+ return FALSE;
// try to set the cursor to the position before reloading
pos = sci_get_current_position(doc_list[idx].sci);
- return document_open_file_full(idx, NULL, pos, doc_list[idx].readonly,
+ idx = document_open_file_full(idx, NULL, pos, doc_list[idx].readonly,
doc_list[idx].file_type, forced_enc);
+ return (idx != -1);
}
Modified: trunk/src/document.h
===================================================================
--- trunk/src/document.h 2007-09-11 15:21:11 UTC (rev 1868)
+++ trunk/src/document.h 2007-09-11 16:05:03 UTC (rev 1869)
@@ -143,7 +143,7 @@
const gchar *forced_enc);
-gint document_reload_file(gint idx, const gchar *forced_enc);
+gboolean document_reload_file(gint idx, const gchar *forced_enc);
/* This saves the file.
Modified: trunk/src/plugindata.h
===================================================================
--- trunk/src/plugindata.h 2007-09-11 15:21:11 UTC (rev 1868)
+++ trunk/src/plugindata.h 2007-09-11 16:05:03 UTC (rev 1869)
@@ -71,7 +71,7 @@
/* The API version should be incremented whenever any plugin data types below are
* modified. */
-static const gint api_version = 17;
+static const gint api_version = 18;
/* The ABI version should be incremented whenever existing fields in the plugin
* data types below have to be changed or reordered. It should stay the same if fields
@@ -179,6 +179,7 @@
void (*open_files)(const GSList *filenames, gboolean readonly, struct filetype *ft,
const gchar *forced_enc);
gboolean (*remove)(guint page_num);
+ gboolean (*reload_file)(gint idx, const gchar *forced_enc);
}
DocumentFuncs;
Modified: trunk/src/plugins.c
===================================================================
--- trunk/src/plugins.c 2007-09-11 15:21:11 UTC (rev 1868)
+++ trunk/src/plugins.c 2007-09-11 16:05:03 UTC (rev 1869)
@@ -79,7 +79,8 @@
&document_save_file,
&document_open_file,
&document_open_files,
- &document_remove
+ &document_remove,
+ &document_reload_file
};
static ScintillaFuncs sci_funcs = {
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