SF.net SVN: geany:[3791] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Wed May 13 15:21:55 UTC 2009
Revision: 3791
http://geany.svn.sourceforge.net/geany/?rev=3791&view=rev
Author: ntrel
Date: 2009-05-13 15:21:54 +0000 (Wed, 13 May 2009)
Log Message:
-----------
Remember scribble cursor position.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/keyfile.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2009-05-12 21:49:20 UTC (rev 3790)
+++ trunk/ChangeLog 2009-05-13 15:21:54 UTC (rev 3791)
@@ -1,3 +1,9 @@
+2009-05-13 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
+
+ * src/keyfile.c:
+ Remember scribble cursor position.
+
+
2009-05-12 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/symbols.c, doc/geany.txt, doc/geany.html,
Modified: trunk/src/keyfile.c
===================================================================
--- trunk/src/keyfile.c 2009-05-12 21:49:20 UTC (rev 3790)
+++ trunk/src/keyfile.c 2009-05-13 15:21:54 UTC (rev 3791)
@@ -86,6 +86,7 @@
static gchar *scribble_text = NULL;
+static gint scribble_pos = -1;
static GPtrArray *session_files = NULL;
static gint session_notebook_page;
static gint hpan_position;
@@ -462,13 +463,19 @@
/* get the text from the scribble textview */
{
GtkTextBuffer *buffer;
- GtkTextIter start, end;
+ GtkTextIter start, end, iter;
+ GtkTextMark *mark;
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(ui_lookup_widget(main_widgets.window, "textview_scribble")));
gtk_text_buffer_get_bounds(buffer, &start, &end);
scribble_text = gtk_text_buffer_get_text(buffer, &start, &end, FALSE);
g_key_file_set_string(config, PACKAGE, "scribble_text", scribble_text);
g_free(scribble_text);
+
+ mark = gtk_text_buffer_get_insert(buffer);
+ gtk_text_buffer_get_iter_at_mark(buffer, &iter, mark);
+ scribble_pos = gtk_text_iter_get_offset(&iter);
+ g_key_file_set_integer(config, PACKAGE, "scribble_pos", scribble_pos);
}
if (prefs.save_winpos)
@@ -807,6 +814,7 @@
scribble_text = utils_get_setting_string(config, PACKAGE, "scribble_text",
_("Type here what you want, use it as a notice/scratch board"));
+ scribble_pos = utils_get_setting_integer(config, PACKAGE, "scribble_pos", -1);
geo = g_key_file_get_integer_list(config, PACKAGE, "geometry", NULL, &error);
if (error)
@@ -1026,9 +1034,14 @@
{
if (scribble_text)
{ /* update the scribble widget, because now it's realized */
- gtk_text_buffer_set_text(
- gtk_text_view_get_buffer(GTK_TEXT_VIEW(ui_lookup_widget(main_widgets.window,
- "textview_scribble"))), scribble_text, -1);
+ GtkTextIter iter;
+ GtkTextBuffer *buffer =
+ gtk_text_view_get_buffer(GTK_TEXT_VIEW(ui_lookup_widget(main_widgets.window,
+ "textview_scribble")));
+
+ gtk_text_buffer_set_text(buffer, scribble_text, -1);
+ gtk_text_buffer_get_iter_at_offset(buffer, &iter, scribble_pos);
+ gtk_text_buffer_place_cursor(buffer, &iter);
}
g_free(scribble_text);
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