[epiphany/wip/property-bind: 2/3] ephy-window: introduce is-blank property
- From: Xan Lopez <xan src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany/wip/property-bind: 2/3] ephy-window: introduce is-blank property
- Date: Mon, 30 Jan 2012 19:09:42 +0000 (UTC)
commit fe40f42b91805dfdc68ae8567dbaf3e60c99ce81
Author: Xan Lopez <xan igalia com>
Date: Mon Jan 30 15:21:33 2012 +0100
ephy-window: introduce is-blank property
This just acts as a proxy of the active-embed is-blank property. Will
be useful to simplify the management of GtkAction sensitivity.
src/ephy-window.c | 26 ++++++++++++++++++++++++--
1 files changed, 24 insertions(+), 2 deletions(-)
---
diff --git a/src/ephy-window.c b/src/ephy-window.c
index 06df2dd..e86c1f9 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -356,6 +356,7 @@ struct _EphyWindowPrivate
guint key_theme_is_emacs : 1;
guint updating_address : 1;
guint show_lock : 1;
+ guint is_blank : 1;
};
enum
@@ -363,7 +364,8 @@ enum
PROP_0,
PROP_ACTIVE_CHILD,
PROP_CHROME,
- PROP_SINGLE_TAB_MODE
+ PROP_SINGLE_TAB_MODE,
+ PROP_IS_BLANK
};
/* Make sure not to overlap with those in ephy-lockdown.c */
@@ -1545,9 +1547,15 @@ sync_tab_is_blank (EphyWebView *view,
GtkAction *action;
gboolean is_blank = TRUE;
- if (window->priv->closing) return;
+ if (priv->closing) return;
is_blank = ephy_web_view_get_is_blank (view);
+ if (priv->is_blank != is_blank)
+ {
+ priv->is_blank = is_blank;
+ g_object_notify (G_OBJECT (window), "is-blank");
+ }
+
action_group = priv->action_group;
/* Page menu */
@@ -2992,6 +3000,9 @@ ephy_window_set_property (GObject *object,
case PROP_SINGLE_TAB_MODE:
ephy_window_set_is_popup (window, g_value_get_boolean (value));
break;
+ case PROP_IS_BLANK:
+ window->priv->is_blank = g_value_get_boolean (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -3017,6 +3028,9 @@ ephy_window_get_property (GObject *object,
case PROP_SINGLE_TAB_MODE:
g_value_set_boolean (value, window->priv->is_popup);
break;
+ case PROP_IS_BLANK:
+ g_value_set_boolean (value, window->priv->is_blank);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -3482,6 +3496,14 @@ ephy_window_class_init (EphyWindowClass *klass)
PROP_CHROME,
"chrome");
+ g_object_class_install_property (object_class,
+ PROP_IS_BLANK,
+ g_param_spec_boolean ("is-blank",
+ "Is blank",
+ "Whether the active embed is showing the blank page",
+ FALSE,
+ G_PARAM_READABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
+
g_type_class_add_private (object_class, sizeof (EphyWindowPrivate));
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]