From 926b7d8514b93e41929db20326492be33d3d7db5 Mon Sep 17 00:00:00 2001
From: Denis Fomin <fominde@gmail.com>
Date: Thu, 28 Jun 2012 13:37:55 +0400
Subject: [PATCH] Select root iter in the PluginsWindow treeview. set focus on
 close button when switch page.

---
 data/gui/plugins_window.ui | 1 +
 src/plugins/gui.py         | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/data/gui/plugins_window.ui b/data/gui/plugins_window.ui
index 2895e2502b..ffc55969dc 100644
--- a/data/gui/plugins_window.ui
+++ b/data/gui/plugins_window.ui
@@ -20,6 +20,7 @@
           <object class="GtkNotebook" id="plugins_notebook">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
+            <signal name="switch_page" handler="on_plugins_notebook_switch_page"/>
             <child>
               <object class="GtkHPaned" id="hpaned1">
                 <property name="visible">True</property>
diff --git a/src/plugins/gui.py b/src/plugins/gui.py
index ab0c0cc1d5..5c48eae716 100644
--- a/src/plugins/gui.py
+++ b/src/plugins/gui.py
@@ -82,14 +82,19 @@ class PluginsWindow(object):
         self._clear_installed_plugin_info()
 
         self.fill_installed_plugins_model()
+        selection.select_iter(self.installed_plugins_model.get_iter_root())
 
         self.xml.connect_signals(self)
 
         self.plugins_notebook.set_current_page(0)
+        self.xml.get_object('close_button').grab_focus()
 
         self.window.show_all()
         gtkgui_helpers.possibly_move_window_in_current_desktop(self.window)
 
+    def on_plugins_notebook_switch_page(self, widget, page, page_num):
+        gobject.idle_add(self.xml.get_object('close_button').grab_focus)
+
     @log_calls('PluginsWindow')
     def installed_plugins_treeview_selection_changed(self, treeview_selection):
         model, iter = treeview_selection.get_selected()
-- 
GitLab