[epiphany] ephy-notebook: fix the property enabling tabs visibility
- From: Claudio Saavedra <csaavedra src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] ephy-notebook: fix the property enabling tabs visibility
- Date: Wed, 20 Jun 2012 11:38:07 +0000 (UTC)
commit bc1be9707ed517b0af62ed7bb1fb926bd08bd66d
Author: Claudio Saavedra <csaavedra igalia com>
Date: Wed Jun 20 14:03:06 2012 +0300
ephy-notebook: fix the property enabling tabs visibility
Replace the redundant and unused "show-tabs" with "tabs-allowed", and
allow its use to ultimately hide the tabs, regardless of the policy,
whenever the application UI deems necessary.
https://bugzilla.gnome.org/show_bug.cgi?id=678468
src/ephy-notebook.c | 31 +++++++++++++++++--------------
src/ephy-notebook.h | 4 ++--
src/ephy-window.c | 2 +-
3 files changed, 20 insertions(+), 17 deletions(-)
---
diff --git a/src/ephy-notebook.c b/src/ephy-notebook.c
index 8d5af72..cafeb8e 100644
--- a/src/ephy-notebook.c
+++ b/src/ephy-notebook.c
@@ -53,7 +53,7 @@ struct _EphyNotebookPrivate
GList *focused_pages;
guint tabs_vis_notifier_id;
- guint show_tabs : 1;
+ guint tabs_allowed : 1;
};
static void ephy_notebook_init (EphyNotebook *notebook);
@@ -77,7 +77,7 @@ static const GtkTargetEntry url_drag_types [] =
enum
{
PROP_0,
- PROP_SHOW_TABS
+ PROP_TABS_ALLOWED
};
enum
@@ -103,8 +103,8 @@ ephy_notebook_get_property (GObject *object,
switch (prop_id)
{
- case PROP_SHOW_TABS:
- g_value_set_boolean (value, priv->show_tabs);
+ case PROP_TABS_ALLOWED:
+ g_value_set_boolean (value, priv->tabs_allowed);
break;
}
}
@@ -119,8 +119,8 @@ ephy_notebook_set_property (GObject *object,
switch (prop_id)
{
- case PROP_SHOW_TABS:
- ephy_notebook_set_show_tabs (notebook, g_value_get_boolean (value));
+ case PROP_TABS_ALLOWED:
+ ephy_notebook_set_tabs_allowed (notebook, g_value_get_boolean (value));
break;
}
}
@@ -152,8 +152,8 @@ ephy_notebook_class_init (EphyNotebookClass *klass)
GTK_TYPE_WIDGET /* Can't use an interface type here */);
g_object_class_install_property (object_class,
- PROP_SHOW_TABS,
- g_param_spec_boolean ("show-tabs", NULL, NULL,
+ PROP_TABS_ALLOWED,
+ g_param_spec_boolean ("tabs-allowed", NULL, NULL,
TRUE,
G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
@@ -413,8 +413,9 @@ update_tabs_visibility (EphyNotebook *nb,
((policy == EPHY_PREFS_UI_TABS_BAR_VISIBILITY_POLICY_MORE_THAN_ONE && num > 1) ||
policy == EPHY_PREFS_UI_TABS_BAR_VISIBILITY_POLICY_ALWAYS))
show_tabs = TRUE;
-
- gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nb), show_tabs);
+
+ /* Only show the tabs when the "tabs-allowed" property is TRUE. */
+ gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nb), nb->priv->tabs_allowed && show_tabs);
}
static void
@@ -439,7 +440,7 @@ ephy_notebook_init (EphyNotebook *notebook)
gtk_notebook_set_show_tabs (gnotebook, FALSE);
gtk_notebook_set_group_name (gnotebook, EPHY_NOTEBOOK_TAB_GROUP_ID);
- priv->show_tabs = TRUE;
+ priv->tabs_allowed = TRUE;
g_signal_connect (notebook, "button-press-event",
(GCallback)button_press_cb, NULL);
@@ -638,14 +639,16 @@ build_tab_label (EphyNotebook *nb, EphyEmbed *embed)
}
void
-ephy_notebook_set_show_tabs (EphyNotebook *nb,
- gboolean show_tabs)
+ephy_notebook_set_tabs_allowed (EphyNotebook *nb,
+ gboolean tabs_allowed)
{
EphyNotebookPrivate *priv = nb->priv;
- priv->show_tabs = show_tabs != FALSE;
+ priv->tabs_allowed = tabs_allowed != FALSE;
update_tabs_visibility (nb, FALSE);
+
+ g_object_notify (G_OBJECT (nb), "tabs-allowed");
}
static int
diff --git a/src/ephy-notebook.h b/src/ephy-notebook.h
index 609b0f9..56d439b 100644
--- a/src/ephy-notebook.h
+++ b/src/ephy-notebook.h
@@ -68,8 +68,8 @@ int ephy_notebook_add_tab (EphyNotebook *nb,
int position,
gboolean jump_to);
-void ephy_notebook_set_show_tabs (EphyNotebook *nb,
- gboolean show_tabs);
+void ephy_notebook_set_tabs_allowed (EphyNotebook *nb,
+ gboolean tabs_allowed);
void ephy_notebook_next_page (EphyNotebook *notebook);
diff --git a/src/ephy-window.c b/src/ephy-window.c
index d80ea26..f1f76c3 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -723,7 +723,7 @@ sync_chromes_visibility (EphyWindow *window)
g_object_set (priv->toolbar, "visible", show_toolbar, NULL);
- ephy_notebook_set_show_tabs (EPHY_NOTEBOOK (priv->notebook), show_tabsbar);
+ ephy_notebook_set_tabs_allowed (EPHY_NOTEBOOK (priv->notebook), show_tabsbar);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]