[devhelp] Window: better connect to GtkNotebook signals
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devhelp] Window: better connect to GtkNotebook signals
- Date: Fri, 2 Feb 2018 13:58:09 +0000 (UTC)
commit 257fd1718ff4915d0259293b795a4ad0696a489a
Author: Sébastien Wilmet <swilmet gnome org>
Date: Fri Feb 2 14:30:37 2018 +0100
Window: better connect to GtkNotebook signals
- Move the code in init().
- Improve callbacks.
src/dh-window.c | 97 ++++++++++++++++++++++++++----------------------------
1 files changed, 47 insertions(+), 50 deletions(-)
---
diff --git a/src/dh-window.c b/src/dh-window.c
index 52dfa3a..c590d34 100644
--- a/src/dh-window.c
+++ b/src/dh-window.c
@@ -598,6 +598,44 @@ sidebar_link_selected_cb (DhSidebar *sidebar,
}
static void
+notebook_switch_page_before_cb (GtkNotebook *notebook,
+ GtkWidget *new_page,
+ guint new_page_num,
+ DhWindow *window)
+{
+ DhWindowPrivate *priv = dh_window_get_instance_private (window);
+
+ if (new_page != NULL) {
+ WebKitWebView *new_web_view;
+ const gchar *uri;
+
+ new_web_view = g_object_get_data (G_OBJECT (new_page), TAB_WEB_VIEW_KEY);
+
+ /* Sync the book tree */
+ uri = webkit_web_view_get_uri (new_web_view);
+ if (uri != NULL)
+ dh_sidebar_select_uri (priv->sidebar, uri);
+
+ window_update_title (window, new_web_view, NULL);
+ } else {
+ /* Translators: please don't translate "Devhelp" (it's marked as
+ * translatable for transliteration only).
+ */
+ gtk_window_set_title (GTK_WINDOW (window), _("Devhelp"));
+ }
+}
+
+static void
+notebook_switch_page_after_cb (GtkNotebook *notebook,
+ GtkWidget *new_page,
+ guint new_page_num,
+ DhWindow *window)
+{
+ window_update_zoom_actions_state (window);
+ window_update_back_forward_actions_sensitivity (window);
+}
+
+static void
dh_window_init (DhWindow *window)
{
DhWindowPrivate *priv = dh_window_get_instance_private (window);
@@ -631,48 +669,17 @@ dh_window_init (DhWindow *window)
"link-selected",
G_CALLBACK (sidebar_link_selected_cb),
window);
-}
-
-static void
-window_web_view_switch_page_cb (GtkNotebook *notebook,
- gpointer page,
- guint new_page_num,
- DhWindow *window)
-{
- DhWindowPrivate *priv;
- GtkWidget *new_page;
- priv = dh_window_get_instance_private (window);
-
- new_page = gtk_notebook_get_nth_page (notebook, new_page_num);
- if (new_page != NULL) {
- WebKitWebView *new_web_view;
- const gchar *location;
-
- new_web_view = g_object_get_data (G_OBJECT (new_page), TAB_WEB_VIEW_KEY);
-
- /* Sync the book tree */
- location = webkit_web_view_get_uri (new_web_view);
-
- if (location != NULL)
- dh_sidebar_select_uri (priv->sidebar, location);
-
- window_update_title (window, new_web_view, NULL);
- } else {
- /* i18n: Please don't translate "Devhelp" (it's marked as translatable
- * for transliteration only) */
- gtk_window_set_title (GTK_WINDOW (window), _("Devhelp"));
- }
-}
+ /* HTML tabs GtkNotebook */
+ g_signal_connect (priv->notebook,
+ "switch-page",
+ G_CALLBACK (notebook_switch_page_before_cb),
+ window);
-static void
-window_web_view_switch_page_after_cb (GtkNotebook *notebook,
- gpointer page,
- guint new_page_num,
- DhWindow *window)
-{
- window_update_zoom_actions_state (window);
- window_update_back_forward_actions_sensitivity (window);
+ g_signal_connect_after (priv->notebook,
+ "switch-page",
+ G_CALLBACK (notebook_switch_page_after_cb),
+ window);
}
static void
@@ -680,16 +687,6 @@ window_populate (DhWindow *window)
{
DhWindowPrivate *priv = dh_window_get_instance_private (window);
- /* HTML tabs notebook. */
- g_signal_connect (priv->notebook,
- "switch-page",
- G_CALLBACK (window_web_view_switch_page_cb),
- window);
- g_signal_connect_after (priv->notebook,
- "switch-page",
- G_CALLBACK (window_web_view_switch_page_after_cb),
- window);
-
/* Create findbar */
gtk_search_bar_connect_entry (priv->search_bar, GTK_ENTRY (priv->search_entry));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]