aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2005-10-13 03:45:07 +0800
committerChristian Persch <chpe@src.gnome.org>2005-10-13 03:45:07 +0800
commit85939a287cbb2b9c789581ddc6d529dd24d2c870 (patch)
tree1e3c11cf2b7bd036c4d07f4c82ae2f0728255f43 /src
parent5f02d1125ef8c08ebd3d145565b6f054084f2658 (diff)
downloadgsoc2013-epiphany-85939a287cbb2b9c789581ddc6d529dd24d2c870.tar
gsoc2013-epiphany-85939a287cbb2b9c789581ddc6d529dd24d2c870.tar.gz
gsoc2013-epiphany-85939a287cbb2b9c789581ddc6d529dd24d2c870.tar.bz2
gsoc2013-epiphany-85939a287cbb2b9c789581ddc6d529dd24d2c870.tar.lz
gsoc2013-epiphany-85939a287cbb2b9c789581ddc6d529dd24d2c870.tar.xz
gsoc2013-epiphany-85939a287cbb2b9c789581ddc6d529dd24d2c870.tar.zst
gsoc2013-epiphany-85939a287cbb2b9c789581ddc6d529dd24d2c870.zip
Remove the "network-status" signal from the embed single, and make it a
2005-10-12 Christian Persch <chpe@cvs.gnome.org> * embed/ephy-embed-single.c: (ephy_embed_single_iface_init), (ephy_embed_single_set_network_status), (ephy_embed_single_get_network_status): * embed/ephy-embed-single.h: * embed/mozilla/EphySingle.cpp: * embed/mozilla/EphySingle.h: * embed/mozilla/mozilla-embed-single.cpp: * src/ephy-window.c: (sync_tab_icon), (sync_network_status), (ephy_window_dispose), (ephy_window_init): * src/epiphany.defs: * src/window-commands.c: (window_cmd_file_work_offline): Remove the "network-status" signal from the embed single, and make it a property instead. Keep track of the network status in EphySingle, and emit property notification when it changes.
Diffstat (limited to 'src')
-rw-r--r--src/ephy-window.c27
-rw-r--r--src/epiphany.defs8
-rw-r--r--src/window-commands.c2
3 files changed, 19 insertions, 18 deletions
diff --git a/src/ephy-window.c b/src/ephy-window.c
index c1d2fa02e..5493b4585 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -152,7 +152,7 @@ static const GtkActionEntry ephy_menu_entries [] = {
{ "FilePrint", GTK_STOCK_PRINT, N_("_Print..."), "<control>P",
N_("Print the current page"),
G_CALLBACK (window_cmd_file_print) },
- { "FileSendTo", STOCK_SEND_MAIL, N_("S_end To..."), "<control>M",
+ { "FileSendTo", STOCK_SEND_MAIL, N_("S_end Link by Email..."), "<control>M",
N_("Send a link of the current page"),
G_CALLBACK (window_cmd_file_send_to) },
{ "FileCloseTab", GTK_STOCK_CLOSE, N_("_Close"), "<control>W",
@@ -1244,7 +1244,6 @@ sync_tab_icon (EphyTab *tab,
icon = ephy_tab_get_icon (tab);
- gtk_window_set_icon (GTK_WINDOW (window), icon);
ephy_toolbar_set_favicon (priv->toolbar, icon);
}
@@ -1565,17 +1564,21 @@ sync_tab_zoom (EphyTab *tab, GParamSpec *pspec, EphyWindow *window)
}
static void
-network_status_changed (EphyEmbedSingle *single,
- gboolean offline,
- EphyWindow *window)
+sync_network_status (EphyEmbedSingle *single,
+ GParamSpec *pspec,
+ EphyWindow *window)
{
+ EphyWindowPrivate *priv = window->priv;
GtkAction *action;
+ gboolean is_online;
- action = gtk_action_group_get_action (window->priv->action_group,
+ is_online = ephy_embed_single_get_network_status (single);
+
+ action = gtk_action_group_get_action (priv->action_group,
"FileWorkOffline");
g_signal_handlers_block_by_func
(action, G_CALLBACK (window_cmd_file_work_offline), window);
- gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), offline);
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), !is_online);
g_signal_handlers_unblock_by_func
(action, G_CALLBACK (window_cmd_file_work_offline), window);
}
@@ -2512,7 +2515,7 @@ ephy_window_dispose (GObject *object)
single = ephy_embed_shell_get_embed_single (embed_shell);
g_signal_handlers_disconnect_by_func
- (single, G_CALLBACK (network_status_changed), window);
+ (single, G_CALLBACK (sync_network_status), window);
eel_gconf_notification_remove (priv->browse_with_caret_notifier_id);
eel_gconf_notification_remove (priv->allow_popups_notifier_id);
@@ -3012,11 +3015,9 @@ ephy_window_init (EphyWindow *window)
/* network status */
single = EPHY_EMBED_SINGLE (ephy_embed_shell_get_embed_single (embed_shell));
- network_status_changed (single,
- ephy_embed_single_get_offline_mode (single),
- window);
- g_signal_connect (single, "network-status",
- G_CALLBACK (network_status_changed), window);
+ sync_network_status (single, NULL, window);
+ g_signal_connect (single, "notify::network-status",
+ G_CALLBACK (sync_network_status), window);
/* ensure the UI is updated */
gtk_ui_manager_ensure_update (window->priv->manager);
diff --git a/src/epiphany.defs b/src/epiphany.defs
index 6d556aa7b..6ab363578 100644
--- a/src/epiphany.defs
+++ b/src/epiphany.defs
@@ -878,18 +878,18 @@
(return-type "none")
)
-(define-method set_offline_mode
+(define-method set_network_status
(of-object "EphyEmbedSingle")
- (c-name "ephy_embed_single_set_offline_mode")
+ (c-name "ephy_embed_single_set_network_status")
(return-type "none")
(parameters
'("gboolean" "offline")
)
)
-(define-method get_offline_mode
+(define-method get_network_status
(of-object "EphyEmbedSingle")
- (c-name "ephy_embed_single_get_offline_mode")
+ (c-name "ephy_embed_single_get_network_status")
(return-type "gboolean")
)
diff --git a/src/window-commands.c b/src/window-commands.c
index 79659dba9..4ec865a86 100644
--- a/src/window-commands.c
+++ b/src/window-commands.c
@@ -381,7 +381,7 @@ window_cmd_file_work_offline (GtkAction *action,
single = EPHY_EMBED_SINGLE (ephy_embed_shell_get_embed_single (embed_shell));
offline = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
- ephy_embed_single_set_offline_mode (single, offline);
+ ephy_embed_single_set_network_status (single, !offline);
}
void