[epiphany] notebook: Use G_DECLARE_FINAL_TYPE
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] notebook: Use G_DECLARE_FINAL_TYPE
- Date: Sat, 27 Feb 2016 23:10:25 +0000 (UTC)
commit 80d8659d574122205fa8a3bfe0ddc45e2e96a5cc
Author: Michael Catanzaro <mcatanzaro igalia com>
Date: Sat Feb 27 16:35:36 2016 -0600
notebook: Use G_DECLARE_FINAL_TYPE
src/ephy-notebook.c | 46 ++++++++++++++++------------------------------
src/ephy-notebook.h | 30 ++----------------------------
src/ephy-session.c | 2 +-
3 files changed, 19 insertions(+), 59 deletions(-)
---
diff --git a/src/ephy-notebook.c b/src/ephy-notebook.c
index 340bf73..153eb59 100644
--- a/src/ephy-notebook.c
+++ b/src/ephy-notebook.c
@@ -44,10 +44,10 @@
#define EPHY_NOTEBOOK_TAB_GROUP_ID "0x42"
-#define EPHY_NOTEBOOK_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_NOTEBOOK,
EphyNotebookPrivate))
-
-struct _EphyNotebookPrivate
+struct _EphyNotebook
{
+ GtkNotebook parent_instance;
+
GList *focused_pages;
guint tabs_vis_notifier_id;
@@ -98,12 +98,11 @@ ephy_notebook_get_property (GObject *object,
GParamSpec *pspec)
{
EphyNotebook *notebook = EPHY_NOTEBOOK (object);
- EphyNotebookPrivate *priv = notebook->priv;
switch (prop_id)
{
case PROP_TABS_ALLOWED:
- g_value_set_boolean (value, priv->tabs_allowed);
+ g_value_set_boolean (value, notebook->tabs_allowed);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -147,9 +146,7 @@ ephy_notebook_class_init (EphyNotebookClass *klass)
g_signal_new ("tab-close-request",
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EphyNotebookClass, tab_close_req),
- NULL, NULL,
- g_cclosure_marshal_VOID__OBJECT,
+ 0, NULL, NULL, NULL,
G_TYPE_NONE,
1,
GTK_TYPE_WIDGET /* Can't use an interface type here */);
@@ -162,8 +159,6 @@ ephy_notebook_class_init (EphyNotebookClass *klass)
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (object_class, LAST_PROP, obj_properties);
-
- g_type_class_add_private (object_class, sizeof (EphyNotebookPrivate));
}
@@ -295,20 +290,19 @@ ephy_notebook_switch_page_cb (GtkNotebook *notebook,
gpointer data)
{
EphyNotebook *nb = EPHY_NOTEBOOK (notebook);
- EphyNotebookPrivate *priv = nb->priv;
GtkWidget *child;
child = gtk_notebook_get_nth_page (notebook, page_num);
/* Remove the old page, we dont want to grow unnecessarily
* the list */
- if (priv->focused_pages)
+ if (nb->focused_pages)
{
- priv->focused_pages =
- g_list_remove (priv->focused_pages, child);
+ nb->focused_pages =
+ g_list_remove (nb->focused_pages, child);
}
- priv->focused_pages = g_list_append (priv->focused_pages, child);
+ nb->focused_pages = g_list_append (nb->focused_pages, child);
}
static void
@@ -414,7 +408,7 @@ update_tabs_visibility (EphyNotebook *nb,
show_tabs = TRUE;
/* 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);
+ gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nb), nb->tabs_allowed && show_tabs);
}
static void
@@ -428,18 +422,15 @@ show_tabs_changed_cb (GSettings *settings,
static void
ephy_notebook_init (EphyNotebook *notebook)
{
- EphyNotebookPrivate *priv;
GtkWidget *widget = GTK_WIDGET (notebook);
GtkNotebook *gnotebook = GTK_NOTEBOOK (notebook);
- priv = notebook->priv = EPHY_NOTEBOOK_GET_PRIVATE (notebook);
-
gtk_notebook_set_scrollable (gnotebook, TRUE);
gtk_notebook_set_show_border (gnotebook, FALSE);
gtk_notebook_set_show_tabs (gnotebook, FALSE);
gtk_notebook_set_group_name (gnotebook, EPHY_NOTEBOOK_TAB_GROUP_ID);
- priv->tabs_allowed = TRUE;
+ notebook->tabs_allowed = TRUE;
g_signal_connect (notebook, "button-press-event",
(GCallback)button_press_cb, NULL);
@@ -465,12 +456,11 @@ static void
ephy_notebook_finalize (GObject *object)
{
EphyNotebook *notebook = EPHY_NOTEBOOK (object);
- EphyNotebookPrivate *priv = notebook->priv;
g_signal_handlers_disconnect_by_func (EPHY_SETTINGS_UI,
show_tabs_changed_cb,
notebook);
- g_list_free (priv->focused_pages);
+ g_list_free (notebook->focused_pages);
G_OBJECT_CLASS (ephy_notebook_parent_class)->finalize (object);
}
@@ -674,9 +664,7 @@ void
ephy_notebook_set_tabs_allowed (EphyNotebook *nb,
gboolean tabs_allowed)
{
- EphyNotebookPrivate *priv = nb->priv;
-
- priv->tabs_allowed = tabs_allowed != FALSE;
+ nb->tabs_allowed = tabs_allowed != FALSE;
update_tabs_visibility (nb, FALSE);
@@ -755,13 +743,12 @@ static void
smart_tab_switching_on_closure (EphyNotebook *notebook,
GtkWidget *tab)
{
- EphyNotebookPrivate *priv = notebook->priv;
gboolean jump_to;
jump_to = GPOINTER_TO_INT (g_object_get_data
(G_OBJECT (tab), "jump_to"));
- if (!jump_to || !priv->focused_pages)
+ if (!jump_to || !notebook->focused_pages)
{
gtk_notebook_next_page (GTK_NOTEBOOK (notebook));
}
@@ -772,7 +759,7 @@ smart_tab_switching_on_closure (EphyNotebook *notebook,
int page_num;
/* activate the last focused tab */
- l = g_list_last (priv->focused_pages);
+ l = g_list_last (notebook->focused_pages);
child = GTK_WIDGET (l->data);
page_num = gtk_notebook_page_num (GTK_NOTEBOOK (notebook),
child);
@@ -787,7 +774,6 @@ ephy_notebook_remove (GtkContainer *container,
{
GtkNotebook *gnotebook = GTK_NOTEBOOK (container);
EphyNotebook *notebook = EPHY_NOTEBOOK (container);
- EphyNotebookPrivate *priv = notebook->priv;
GtkWidget *tab_label, *tab_label_label, *tab_label_icon, *tab_label_speaker_icon;
int position, curr;
EphyWebView *view;
@@ -796,7 +782,7 @@ ephy_notebook_remove (GtkContainer *container,
return;
/* Remove the page from the focused pages list */
- priv->focused_pages = g_list_remove (priv->focused_pages, tab_widget);
+ notebook->focused_pages = g_list_remove (notebook->focused_pages, tab_widget);
position = gtk_notebook_page_num (gnotebook, tab_widget);
curr = gtk_notebook_get_current_page (gnotebook);
diff --git a/src/ephy-notebook.h b/src/ephy-notebook.h
index af8ca4d..bda06d0 100644
--- a/src/ephy-notebook.h
+++ b/src/ephy-notebook.h
@@ -27,35 +27,9 @@
G_BEGIN_DECLS
-#define EPHY_TYPE_NOTEBOOK (ephy_notebook_get_type ())
-#define EPHY_NOTEBOOK(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EPHY_TYPE_NOTEBOOK, EphyNotebook))
-#define EPHY_NOTEBOOK_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), EPHY_TYPE_NOTEBOOK, EphyNotebookClass))
-#define EPHY_IS_NOTEBOOK(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EPHY_TYPE_NOTEBOOK))
-#define EPHY_IS_NOTEBOOK_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EPHY_TYPE_NOTEBOOK))
-#define EPHY_NOTEBOOK_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EPHY_TYPE_NOTEBOOK,
EphyNotebookClass))
+#define EPHY_TYPE_NOTEBOOK (ephy_notebook_get_type ())
-typedef struct _EphyNotebookClass EphyNotebookClass;
-typedef struct _EphyNotebook EphyNotebook;
-typedef struct _EphyNotebookPrivate EphyNotebookPrivate;
-
-struct _EphyNotebook
-{
- GtkNotebook parent;
-
- /*< private >*/
- EphyNotebookPrivate *priv;
-};
-
-struct _EphyNotebookClass
-{
- GtkNotebookClass parent_class;
-
- /* Signals */
- void (* tab_close_req) (EphyNotebook *notebook,
- EphyEmbed *embed);
-};
-
-GType ephy_notebook_get_type (void);
+G_DECLARE_FINAL_TYPE (EphyNotebook, ephy_notebook, EPHY, NOTEBOOK, GtkNotebook)
int ephy_notebook_add_tab (EphyNotebook *nb,
EphyEmbed *embed,
diff --git a/src/ephy-session.c b/src/ephy-session.c
index 2b1601e..0b1c23a 100644
--- a/src/ephy-session.c
+++ b/src/ephy-session.c
@@ -190,7 +190,7 @@ closed_tab_get_notebook (ClosedTab *tab)
static int
compare_func (ClosedTab *iter, EphyNotebook *notebook)
{
- return closed_tab_get_notebook (iter) - notebook;
+ return GTK_NOTEBOOK (closed_tab_get_notebook (iter)) - GTK_NOTEBOOK (notebook);
}
static NotebookTracker *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]