[epiphany] Use GtkApplication's window tracking for EphyWindow too
- From: Xan Lopez <xan src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] Use GtkApplication's window tracking for EphyWindow too
- Date: Wed, 29 Jun 2011 19:11:55 +0000 (UTC)
commit eddaae421e4e38d8124f659b1bd8ff65162247e4
Author: Xan Lopez <xlopez igalia com>
Date: Wed Jun 29 20:19:40 2011 +0200
Use GtkApplication's window tracking for EphyWindow too
Instead of our own home-grown system.
I think we should subclass window_added in GtkApplication and do there
the session & state stuff and get rid of ephy_session_add_window and
ephy_state_add_window.
embed/ephy-embed-shell.c | 40 ----------------------------------------
embed/ephy-embed-shell.h | 4 ----
src/ephy-window.c | 2 +-
3 files changed, 1 insertions(+), 45 deletions(-)
---
diff --git a/embed/ephy-embed-shell.c b/embed/ephy-embed-shell.c
index aef7bb2..73ab927 100644
--- a/embed/ephy-embed-shell.c
+++ b/embed/ephy-embed-shell.c
@@ -58,7 +58,6 @@ struct _EphyEmbedShellPrivate
EphyAdBlockManager *adblock_manager;
GtkPageSetup *page_setup;
GtkPrintSettings *print_settings;
- guint object_count;
gboolean private_instance;
guint single_initialised : 1;
};
@@ -68,7 +67,6 @@ enum
DOWNLOAD_ADDED,
DOWNLOAD_REMOVED,
PREPARE_CLOSE,
- QUIT,
LAST_SIGNAL
};
@@ -406,25 +404,6 @@ ephy_embed_shell_class_init (EphyEmbedShellClass *klass)
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
-/**
- * EphyEmbedShell::quit:
- * @shell: an #EphyEmbedShell
- *
- * The ::quit is emitted when all windows (browser windows, popups,
- * download windows, etc) are closed and the @shell is ready to be
- * closed.
- *
- * Since: 2.30
- **/
- signals[QUIT] =
- g_signal_new ("quit",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- 0,
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
g_type_class_add_private (object_class, sizeof (EphyEmbedShellPrivate));
}
@@ -666,25 +645,6 @@ ephy_embed_shell_remove_download (EphyEmbedShell *shell, EphyDownload *download)
g_signal_emit_by_name (shell, "download-removed", download, NULL);
}
-
-static void
-object_notify_cb (EphyEmbedShell *shell, GObject *object)
-{
- shell->priv->object_count--;
- if (shell->priv->object_count == 0)
- g_signal_emit (shell, signals[QUIT], 0);
-}
-
-void
-_ephy_embed_shell_track_object (EphyEmbedShell *shell, GObject *object)
-{
- g_return_if_fail (EPHY_IS_EMBED_SHELL (shell));
- g_return_if_fail (G_IS_OBJECT (object));
-
- g_object_weak_ref (object, (GWeakNotify)object_notify_cb, shell);
- shell->priv->object_count++;
-}
-
/**
* ephy_embed_shell_is_private_instance:
* @shell: an #EphyEmbedShell
diff --git a/embed/ephy-embed-shell.h b/embed/ephy-embed-shell.h
index c91dc9d..02eaf43 100644
--- a/embed/ephy-embed-shell.h
+++ b/embed/ephy-embed-shell.h
@@ -103,10 +103,6 @@ void ephy_embed_shell_remove_download (EphyEmbedShell *shell,
gboolean ephy_embed_shell_is_private_instance (EphyEmbedShell *shell);
-/* Private API */
-void _ephy_embed_shell_track_object (EphyEmbedShell *shell,
- GObject *object);
-
G_END_DECLS
#endif /* !EPHY_EMBED_SHELL_H */
diff --git a/src/ephy-window.c b/src/ephy-window.c
index a10b810..dcd0db7 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -3641,7 +3641,7 @@ ephy_window_init (EphyWindow *window)
{
LOG ("EphyWindow initialising %p", window);
- _ephy_embed_shell_track_object (EPHY_EMBED_SHELL (ephy_shell), G_OBJECT (window));
+ gtk_application_add_window (GTK_APPLICATION (ephy_shell), GTK_WINDOW (window));
window->priv = EPHY_WINDOW_GET_PRIVATE (window);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]