SF.net SVN: geany:[3743] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Mon Apr 27 20:22:47 UTC 2009
Revision: 3743
http://geany.svn.sourceforge.net/geany/?rev=3743&view=rev
Author: eht16
Date: 2009-04-27 20:22:47 +0000 (Mon, 27 Apr 2009)
Log Message:
-----------
Fix setting focus to the editor widget after changing the selection in the symbol list.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/treeviews.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2009-04-27 19:34:03 UTC (rev 3742)
+++ trunk/ChangeLog 2009-04-27 20:22:47 UTC (rev 3743)
@@ -7,6 +7,9 @@
Add a recent project item after creating a new project.
* tagmanager/ruby.c:
Fix wrong parsing of string literals (closes #2781264).
+ * src/treeviews.c:
+ Fix setting focus to the editor widget after changing the selection
+ in the symbol list.
2009-04-25 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: trunk/src/treeviews.c
===================================================================
--- trunk/src/treeviews.c 2009-04-27 19:34:03 UTC (rev 3742)
+++ trunk/src/treeviews.c 2009-04-27 20:22:47 UTC (rev 3743)
@@ -667,23 +667,29 @@
}
-static gboolean change_focus(gpointer data)
+static gboolean change_focus_to_editor(GeanyDocument *doc, GtkWidget *focus_widget)
{
- GeanyDocument *doc = data;
-
/* idx might not be valid e.g. if user closed a tab whilst Geany is opening files */
if (DOC_VALID(doc))
{
GtkWidget *focusw = gtk_window_get_focus(GTK_WINDOW(main_widgets.window));
GtkWidget *sci = GTK_WIDGET(doc->editor->sci);
- if (focusw == tv.tree_openfiles)
+ if (focusw == focus_widget)
gtk_widget_grab_focus(sci);
}
return FALSE;
}
+static gboolean change_focus_cb(gpointer data)
+{
+ change_focus_to_editor(data, tv.tree_openfiles);
+
+ return FALSE;
+}
+
+
static void on_openfiles_tree_selection_changed(GtkTreeSelection *selection, gpointer data)
{
GtkTreeIter iter;
@@ -699,7 +705,7 @@
gtk_notebook_set_current_page(GTK_NOTEBOOK(main_widgets.notebook),
gtk_notebook_page_num(GTK_NOTEBOOK(main_widgets.notebook),
(GtkWidget*) doc->editor->sci));
- g_idle_add((GSourceFunc) change_focus, doc);
+ g_idle_add((GSourceFunc) change_focus_cb, doc);
}
}
@@ -723,7 +729,11 @@
{
GeanyDocument *doc = document_get_current();
- navqueue_goto_line(doc, doc, line);
+ if (doc != NULL)
+ {
+ navqueue_goto_line(doc, doc, line);
+ change_focus_to_editor(doc, doc->priv->tag_tree);
+ }
}
}
return FALSE;
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