SF.net SVN: geany:[4712] trunk/src
eht16 at users.sourceforge.net
eht16 at xxxxx
Sun Feb 28 14:32:38 UTC 2010
Revision: 4712
http://geany.svn.sourceforge.net/geany/?rev=4712&view=rev
Author: eht16
Date: 2010-02-28 14:32:38 +0000 (Sun, 28 Feb 2010)
Log Message:
-----------
Fix document_try_focus() to make it work with the sidebar document list as well.
Modified Paths:
--------------
trunk/src/document.c
trunk/src/document.h
trunk/src/sidebar.c
Modified: trunk/src/document.c
===================================================================
--- trunk/src/document.c 2010-02-28 14:30:27 UTC (rev 4711)
+++ trunk/src/document.c 2010-02-28 14:32:38 UTC (rev 4712)
@@ -516,7 +516,7 @@
}
-void document_try_focus(GeanyDocument *doc)
+void document_try_focus(GeanyDocument *doc, GtkWidget *source_widget)
{
/* doc might not be valid e.g. if user closed a tab whilst Geany is opening files */
if (DOC_VALID(doc))
@@ -524,7 +524,10 @@
GtkWidget *sci = GTK_WIDGET(doc->editor->sci);
GtkWidget *focusw = gtk_window_get_focus(GTK_WINDOW(main_widgets.window));
- if (focusw == doc->priv->tag_tree)
+ if (source_widget == NULL)
+ source_widget = doc->priv->tag_tree;
+
+ if (focusw == source_widget)
gtk_widget_grab_focus(sci);
}
}
@@ -532,7 +535,7 @@
static gboolean on_idle_focus(gpointer doc)
{
- document_try_focus(doc);
+ document_try_focus(doc, NULL);
return FALSE;
}
@@ -752,7 +755,7 @@
sci_set_line_numbers(doc->editor->sci, editor_prefs.show_linenumber_margin, 0);
/* bring it in front, jump to the start and grab the focus */
editor_goto_pos(doc->editor, 0, FALSE);
- document_try_focus(doc);
+ document_try_focus(doc, NULL);
#if USE_GIO_FILEMON
monitor_file_setup(doc);
Modified: trunk/src/document.h
===================================================================
--- trunk/src/document.h 2010-02-28 14:30:27 UTC (rev 4711)
+++ trunk/src/document.h 2010-02-28 14:32:38 UTC (rev 4712)
@@ -192,7 +192,7 @@
gboolean document_remove_page(guint page_num);
-void document_try_focus(GeanyDocument *doc);
+void document_try_focus(GeanyDocument *doc, GtkWidget *source_widget);
gboolean document_close(GeanyDocument *doc);
Modified: trunk/src/sidebar.c
===================================================================
--- trunk/src/sidebar.c 2010-02-28 14:30:27 UTC (rev 4711)
+++ trunk/src/sidebar.c 2010-02-28 14:32:38 UTC (rev 4712)
@@ -710,10 +710,10 @@
}
-static void change_focus_to_editor(GeanyDocument *doc)
+static void change_focus_to_editor(GeanyDocument *doc, GtkWidget *source_widget)
{
if (may_steal_focus)
- document_try_focus(doc);
+ document_try_focus(doc, source_widget);
may_steal_focus = FALSE;
}
@@ -736,7 +736,7 @@
gtk_notebook_page_num(GTK_NOTEBOOK(main_widgets.notebook),
(GtkWidget*) doc->editor->sci));
if (selection_change.keyval != GDK_space)
- change_focus_to_editor(doc);
+ change_focus_to_editor(doc, tv.tree_openfiles);
}
return FALSE;
}
@@ -765,7 +765,7 @@
{
navqueue_goto_line(doc, doc, line);
if (selection_change.keyval != GDK_space)
- change_focus_to_editor(doc);
+ change_focus_to_editor(doc, NULL);
}
}
}
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