[libgda] Focus improvements in GdaBrowser
- From: Vivien Malerba <vivien src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgda] Focus improvements in GdaBrowser
- Date: Mon, 2 Aug 2010 18:59:55 +0000 (UTC)
commit 388db0d4b4cddf455bd5b19c1438c1b222c1c972
Author: Vivien Malerba <malerba gnome-db org>
Date: Mon Aug 2 20:54:52 2010 +0200
Focus improvements in GdaBrowser
tools/browser/browser-window.c | 3 +++
tools/browser/data-manager/data-console.c | 13 ++++++++++++-
.../data-manager/data-manager-perspective.c | 20 ++++++++++++++++++--
tools/browser/data-manager/xml-spec-editor.c | 7 +++++++
4 files changed, 40 insertions(+), 3 deletions(-)
---
diff --git a/tools/browser/browser-window.c b/tools/browser/browser-window.c
index 111b30b..b942e6a 100644
--- a/tools/browser/browser-window.c
+++ b/tools/browser/browser-window.c
@@ -518,6 +518,9 @@ browser_window_new (BrowserConnection *bcnc, BrowserPerspectiveFactory *factory)
gtk_widget_show (GTK_WIDGET (bwin));
+ gtk_widget_set_can_focus (pers->perspective_widget, TRUE);
+ gtk_widget_grab_focus (pers->perspective_widget);
+
return bwin;
}
diff --git a/tools/browser/data-manager/data-console.c b/tools/browser/data-manager/data-console.c
index 812ef42..84244fa 100644
--- a/tools/browser/data-manager/data-console.c
+++ b/tools/browser/data-manager/data-console.c
@@ -84,6 +84,7 @@ static void data_console_class_init (DataConsoleClass *klass);
static void data_console_init (DataConsole *dconsole, DataConsoleClass *klass);
static void data_console_dispose (GObject *object);
static void data_console_show_all (GtkWidget *widget);
+static void data_console_grab_focus (GtkWidget *widget);
static void data_source_mgr_changed_cb (DataSourceManager *mgr, DataConsole *dconsole);
@@ -113,6 +114,7 @@ data_console_class_init (DataConsoleClass *klass)
parent_class = g_type_class_peek_parent (klass);
GTK_WIDGET_CLASS (klass)->show_all = data_console_show_all;
+ GTK_WIDGET_CLASS (klass)->grab_focus = data_console_grab_focus;
object_class->dispose = data_console_dispose;
}
@@ -127,6 +129,15 @@ data_console_show_all (GtkWidget *widget)
}
static void
+data_console_grab_focus (GtkWidget *widget)
+{
+ DataConsole *dconsole;
+
+ dconsole = DATA_CONSOLE (widget);
+ gtk_widget_grab_focus (GTK_WIDGET (dconsole->priv->xml_sped));
+}
+
+static void
data_console_page_init (BrowserPageIface *iface)
{
iface->i_get_actions_group = data_console_page_get_actions_group;
@@ -414,7 +425,7 @@ data_console_new (BrowserConnection *bcnc)
//xml_spec_editor_set_xml_text (XML_SPEC_EDITOR (dconsole->priv->xml_sped), DEFAULT_XML);
-
+ gtk_widget_grab_focus (dconsole->priv->xml_sped);
return (GtkWidget*) dconsole;
}
diff --git a/tools/browser/data-manager/data-manager-perspective.c b/tools/browser/data-manager/data-manager-perspective.c
index c59858c..8226b91 100644
--- a/tools/browser/data-manager/data-manager-perspective.c
+++ b/tools/browser/data-manager/data-manager-perspective.c
@@ -32,6 +32,7 @@
static void data_manager_perspective_class_init (DataManagerPerspectiveClass *klass);
static void data_manager_perspective_init (DataManagerPerspective *stmt);
static void data_manager_perspective_dispose (GObject *object);
+static void data_manager_perspective_grab_focus (GtkWidget *widget);
/* BrowserPerspective interface */
static void data_manager_perspective_perspective_init (BrowserPerspectiveIface *iface);
@@ -82,15 +83,26 @@ data_manager_perspective_get_type (void)
}
static void
-data_manager_perspective_class_init (DataManagerPerspectiveClass * klass)
+data_manager_perspective_class_init (DataManagerPerspectiveClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
parent_class = g_type_class_peek_parent (klass);
+ GTK_WIDGET_CLASS (klass)->grab_focus = data_manager_perspective_grab_focus;
object_class->dispose = data_manager_perspective_dispose;
}
static void
+data_manager_perspective_grab_focus (GtkWidget *widget)
+{
+ GtkNotebook *nb;
+
+ nb = GTK_NOTEBOOK (DATA_MANAGER_PERSPECTIVE (widget)->priv->notebook);
+ gtk_widget_grab_focus (gtk_notebook_get_nth_page (nb,
+ gtk_notebook_get_current_page (nb)));
+}
+
+static void
data_manager_perspective_perspective_init (BrowserPerspectiveIface *iface)
{
iface->i_get_actions_group = data_manager_perspective_get_actions_group;
@@ -168,6 +180,8 @@ data_manager_perspective_new (BrowserWindow *bwin)
gtk_box_pack_start (GTK_BOX (bpers), paned, TRUE, TRUE, 0);
gtk_widget_show_all (paned);
+ gtk_widget_grab_focus (page);
+
return bpers;
}
@@ -229,6 +243,7 @@ fav_selection_changed_cb (GtkWidget *widget, gint fav_id, BrowserFavoritesType f
data_console_set_text (page_to_reuse, selection);
data_console_set_fav_id (page_to_reuse, fav_id, NULL);
+ gtk_widget_grab_focus (page_to_reuse);
}
static void
@@ -299,7 +314,7 @@ manager_new_cb (GtkAction *action, BrowserPerspective *bpers)
static GtkActionEntry ui_actions[] = {
{ "DataManagerMenu", NULL, "_Manager", NULL, "ManagerMenu", NULL },
- { "NewDataManager", GTK_STOCK_NEW, "_New data manager", NULL, "New data manager",
+ { "NewDataManager", GTK_STOCK_NEW, "_New data manager", "<control>T", "New data manager",
G_CALLBACK (manager_new_cb)},
};
@@ -371,4 +386,5 @@ data_manager_perspective_new_tab (DataManagerPerspective *dmp, const gchar *xml_
data_console_set_text (DATA_CONSOLE (page), xml_spec);
data_console_execute (DATA_CONSOLE (page));
+ gtk_widget_grab_focus (page);
}
diff --git a/tools/browser/data-manager/xml-spec-editor.c b/tools/browser/data-manager/xml-spec-editor.c
index c5b5fce..0dff0e0 100644
--- a/tools/browser/data-manager/xml-spec-editor.c
+++ b/tools/browser/data-manager/xml-spec-editor.c
@@ -57,6 +57,7 @@ struct _XmlSpecEditorPrivate {
static void xml_spec_editor_class_init (XmlSpecEditorClass *klass);
static void xml_spec_editor_init (XmlSpecEditor *sped, XmlSpecEditorClass *klass);
static void xml_spec_editor_dispose (GObject *object);
+static void xml_spec_editor_grab_focus (GtkWidget *widget);
static GObjectClass *parent_class = NULL;
@@ -70,9 +71,15 @@ xml_spec_editor_class_init (XmlSpecEditorClass *klass)
parent_class = g_type_class_peek_parent (klass);
+ GTK_WIDGET_CLASS (klass)->grab_focus = xml_spec_editor_grab_focus;
object_class->dispose = xml_spec_editor_dispose;
}
+static void
+xml_spec_editor_grab_focus (GtkWidget *widget)
+{
+ gtk_widget_grab_focus (XML_SPEC_EDITOR (widget)->priv->text);
+}
static void
xml_spec_editor_init (XmlSpecEditor *sped, XmlSpecEditorClass *klass)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]