[epiphany] session: Use G_DECLARE_FINAL_TYPE
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] session: Use G_DECLARE_FINAL_TYPE
- Date: Sat, 27 Feb 2016 23:10:35 +0000 (UTC)
commit 9ba8ce5f6a4b212933ae8f4f5fc55ec4ead1d311
Author: Michael Catanzaro <mcatanzaro igalia com>
Date: Sat Feb 27 16:40:03 2016 -0600
session: Use G_DECLARE_FINAL_TYPE
src/ephy-session.c | 92 +++++++++++++++++++++------------------------------
src/ephy-session.h | 26 +-------------
2 files changed, 40 insertions(+), 78 deletions(-)
---
diff --git a/src/ephy-session.c b/src/ephy-session.c
index 0b1c23a..f2bf88c 100644
--- a/src/ephy-session.c
+++ b/src/ephy-session.c
@@ -42,8 +42,6 @@
#include <libxml/tree.h>
#include <libxml/xmlwriter.h>
-#define EPHY_SESSION_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_SESSION,
EphySessionPrivate))
-
typedef struct
{
EphyNotebook *notebook;
@@ -58,8 +56,10 @@ typedef struct
WebKitWebViewSessionState *state;
} ClosedTab;
-struct _EphySessionPrivate
+struct _EphySession
{
+ GObject parent_instance;
+
GQueue *closed_tabs;
guint save_source_id;
GCancellable *save_cancellable;
@@ -197,7 +197,7 @@ static NotebookTracker *
ephy_session_ref_or_create_notebook_tracker (EphySession *session,
EphyNotebook *notebook)
{
- GList *item = g_queue_find_custom (session->priv->closed_tabs, notebook, (GCompareFunc)compare_func);
+ GList *item = g_queue_find_custom (session->closed_tabs, notebook, (GCompareFunc)compare_func);
return item ? notebook_tracker_ref (((ClosedTab *)item->data)->notebook_tracker) :
notebook_tracker_new (notebook);
}
@@ -230,7 +230,6 @@ closed_tab_new (EphyWebView *web_view,
void
ephy_session_undo_close_tab (EphySession *session)
{
- EphySessionPrivate *priv;
EphyEmbed *embed, *new_tab;
WebKitWebView *web_view;
WebKitBackForwardList *bf_list;
@@ -242,9 +241,7 @@ ephy_session_undo_close_tab (EphySession *session)
g_return_if_fail (EPHY_IS_SESSION (session));
- priv = session->priv;
-
- tab = g_queue_pop_head (priv->closed_tabs);
+ tab = g_queue_pop_head (session->closed_tabs);
if (tab == NULL)
return;
@@ -298,7 +295,7 @@ ephy_session_undo_close_tab (EphySession *session)
closed_tab_free (tab);
- if (g_queue_is_empty (priv->closed_tabs))
+ if (g_queue_is_empty (session->closed_tabs))
g_object_notify_by_pspec (G_OBJECT (session), obj_properties[PROP_CAN_UNDO_TAB_CLOSED]);
}
@@ -308,7 +305,6 @@ ephy_session_tab_closed (EphySession *session,
EphyEmbed *embed,
gint position)
{
- EphySessionPrivate *priv = session->priv;
EphyWebView *view;
WebKitWebView *wk_view;
ClosedTab *tab;
@@ -322,20 +318,20 @@ ephy_session_tab_closed (EphySession *session,
return;
}
- if (g_queue_get_length (priv->closed_tabs) == MAX_CLOSED_TABS)
+ if (g_queue_get_length (session->closed_tabs) == MAX_CLOSED_TABS)
{
- closed_tab_free (g_queue_pop_tail (priv->closed_tabs));
+ closed_tab_free (g_queue_pop_tail (session->closed_tabs));
}
tab = closed_tab_new (view, position,
ephy_session_ref_or_create_notebook_tracker (session, notebook));
- g_queue_push_head (priv->closed_tabs, tab);
+ g_queue_push_head (session->closed_tabs, tab);
- if (g_queue_get_length (priv->closed_tabs) == 1)
+ if (g_queue_get_length (session->closed_tabs) == 1)
g_object_notify_by_pspec (G_OBJECT (session), obj_properties[PROP_CAN_UNDO_TAB_CLOSED]);
LOG ("Added: %s to the list (%d elements)",
- ephy_web_view_get_address (view), g_queue_get_length (priv->closed_tabs));
+ ephy_web_view_get_address (view), g_queue_get_length (session->closed_tabs));
}
gboolean
@@ -343,7 +339,7 @@ ephy_session_get_can_undo_tab_closed (EphySession *session)
{
g_return_val_if_fail (EPHY_IS_SESSION (session), FALSE);
- return g_queue_is_empty (session->priv->closed_tabs) == FALSE;
+ return g_queue_is_empty (session->closed_tabs) == FALSE;
}
static void
@@ -475,9 +471,7 @@ ephy_session_init (EphySession *session)
LOG ("EphySession initialising");
- session->priv = EPHY_SESSION_GET_PRIVATE (session);
-
- session->priv->closed_tabs = g_queue_new ();
+ session->closed_tabs = g_queue_new ();
shell = ephy_shell_get_default ();
g_signal_connect (shell, "window-added",
G_CALLBACK (window_added_cb), session);
@@ -492,7 +486,7 @@ ephy_session_dispose (GObject *object)
LOG ("EphySession disposing");
- g_queue_free_full (session->priv->closed_tabs,
+ g_queue_free_full (session->closed_tabs,
(GDestroyNotify)closed_tab_free);
G_OBJECT_CLASS (ephy_session_parent_class)->dispose (object);
@@ -533,8 +527,6 @@ ephy_session_class_init (EphySessionClass *class)
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (object_class, LAST_PROP, obj_properties);
-
- g_type_class_add_private (object_class, sizeof (EphySessionPrivate));
}
/* Implementation */
@@ -542,24 +534,21 @@ ephy_session_class_init (EphySessionClass *class)
void
ephy_session_close (EphySession *session)
{
- EphySessionPrivate *priv;
-
g_return_if_fail (EPHY_IS_SESSION (session));
LOG ("ephy_session_close");
- priv = session->priv;
- if (priv->save_source_id)
+ if (session->save_source_id)
{
/* There's a save pending, cancel it and save the session now since
* after closing the session the saving is no longer allowed.
*/
- g_source_remove (priv->save_source_id);
- priv->save_source_id = 0;
+ g_source_remove (session->save_source_id);
+ session->save_source_id = 0;
}
- priv->closing = TRUE;
+ session->closing = TRUE;
ephy_session_save_idle_cb (session);
- priv->dont_save = TRUE;
+ session->dont_save = TRUE;
}
static void
@@ -610,7 +599,7 @@ session_tab_new (EphyEmbed *embed,
session_tab->title = g_strdup (ephy_embed_get_title (embed));
session_tab->loading = (ephy_web_view_is_loading (web_view) &&
!ephy_embed_has_load_pending (embed) &&
- !session->priv->closing);
+ !session->closing);
session_tab->crashed = (error_page == EPHY_WEB_VIEW_ERROR_PAGE_CRASH ||
error_page == EPHY_WEB_VIEW_ERROR_PROCESS_CRASH);
session_tab->state = webkit_web_view_get_session_state (WEBKIT_WEB_VIEW (web_view));
@@ -943,19 +932,18 @@ ephy_session_save_idle_finished (EphySession *session)
static gboolean
ephy_session_save_idle_cb (EphySession *session)
{
- EphySessionPrivate *priv = session->priv;
EphyShell *shell = ephy_shell_get_default ();
SaveData *data;
GTask *task;
EphyPrefsRestoreSessionPolicy policy;
- priv->save_source_id = 0;
+ session->save_source_id = 0;
- if (priv->save_cancellable)
+ if (session->save_cancellable)
{
- g_cancellable_cancel (priv->save_cancellable);
- g_object_unref (priv->save_cancellable);
- priv->save_cancellable = NULL;
+ g_cancellable_cancel (session->save_cancellable);
+ g_object_unref (session->save_cancellable);
+ session->save_cancellable = NULL;
}
policy = g_settings_get_enum (EPHY_SETTINGS_MAIN, EPHY_PREFS_RESTORE_SESSION_POLICY);
@@ -973,9 +961,9 @@ ephy_session_save_idle_cb (EphySession *session)
}
g_application_hold (G_APPLICATION (ephy_shell_get_default ()));
- priv->save_cancellable = g_cancellable_new ();
+ session->save_cancellable = g_cancellable_new ();
data = save_data_new (session);
- task = g_task_new (session, priv->save_cancellable,
+ task = g_task_new (session, session->save_cancellable,
save_session_in_thread_finished_cb, NULL);
g_task_set_task_data (task, data, (GDestroyNotify)save_data_free);
g_task_run_in_thread (task, save_session_sync);
@@ -987,26 +975,22 @@ ephy_session_save_idle_cb (EphySession *session)
void
ephy_session_save (EphySession *session)
{
- EphySessionPrivate *priv;
-
g_return_if_fail (EPHY_IS_SESSION (session));
- priv = session->priv;
-
- if (priv->save_source_id)
+ if (session->save_source_id)
{
return;
}
- if (priv->dont_save)
+ if (session->dont_save)
{
return;
}
- priv->save_source_id = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT_IDLE, 1,
- (GSourceFunc)ephy_session_save_idle_cb,
- ephy_session_save_idle_started (session),
- (GDestroyNotify)ephy_session_save_idle_finished);
+ session->save_source_id = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT_IDLE, 1,
+ (GSourceFunc)ephy_session_save_idle_cb,
+ ephy_session_save_idle_started (session),
+
(GDestroyNotify)ephy_session_save_idle_finished);
}
static void
@@ -1341,7 +1325,7 @@ load_stream_complete (GTask *task)
g_task_return_boolean (task, TRUE);
session = EPHY_SESSION (g_task_get_source_object (task));
- session->priv->dont_save = FALSE;
+ session->dont_save = FALSE;
ephy_session_save (session);
@@ -1361,7 +1345,7 @@ load_stream_complete_error (GTask *task,
g_task_return_error (task, error);
session = EPHY_SESSION (g_task_get_source_object (task));
- session->priv->dont_save = FALSE;
+ session->dont_save = FALSE;
/* If the session fails to load for whatever reason,
* delete the file and open an empty window.
*/
@@ -1458,7 +1442,7 @@ ephy_session_load_from_stream (EphySession *session,
g_application_hold (G_APPLICATION (ephy_shell_get_default ()));
- session->priv->dont_save = TRUE;
+ session->dont_save = TRUE;
task = g_task_new (session, cancellable, callback, user_data);
/* Use a priority lower than drawing events (HIGH_IDLE + 20) to make sure
@@ -1745,9 +1729,9 @@ ephy_session_clear (EphySession *session)
for (p = windows; p; p = p->next)
gtk_widget_destroy (GTK_WIDGET (p->data));
g_list_free (windows);
- g_queue_foreach (session->priv->closed_tabs,
+ g_queue_foreach (session->closed_tabs,
(GFunc)closed_tab_free, NULL);
- g_queue_clear (session->priv->closed_tabs);
+ g_queue_clear (session->closed_tabs);
ephy_session_save (session);
}
diff --git a/src/ephy-session.h b/src/ephy-session.h
index cd3003d..225f5ca 100644
--- a/src/ephy-session.h
+++ b/src/ephy-session.h
@@ -26,31 +26,9 @@
G_BEGIN_DECLS
-#define EPHY_TYPE_SESSION (ephy_session_get_type ())
-#define EPHY_SESSION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EPHY_TYPE_SESSION,
EphySession))
-#define EPHY_SESSION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), EPHY_TYPE_SESSION, EphySessionClass))
-#define EPHY_IS_SESSION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EPHY_TYPE_SESSION))
-#define EPHY_IS_SESSION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EPHY_TYPE_SESSION))
-#define EPHY_SESSION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EPHY_TYPE_SESSION, EphySessionClass))
+#define EPHY_TYPE_SESSION (ephy_session_get_type ())
-typedef struct _EphySession EphySession;
-typedef struct _EphySessionPrivate EphySessionPrivate;
-typedef struct _EphySessionClass EphySessionClass;
-
-struct _EphySession
-{
- GObject parent;
-
- /*< private >*/
- EphySessionPrivate *priv;
-};
-
-struct _EphySessionClass
-{
- GObjectClass parent_class;
-};
-
-GType ephy_session_get_type (void);
+G_DECLARE_FINAL_TYPE (EphySession, ephy_session, EPHY, SESSION, GObject)
void ephy_session_save (EphySession *session);
void ephy_session_load (EphySession *session,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]