[epiphany] Change sensitiveness for history buttons when clearing the history
- From: Xan Lopez <xan src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] Change sensitiveness for history buttons when clearing the history
- Date: Tue, 20 Apr 2010 13:14:52 +0000 (UTC)
commit 4592bb6927a5a7017403fbcaa4937aa10c263227
Author: Mario Sanchez Prada <msanchez igalia com>
Date: Fri Apr 9 19:37:09 2010 +0200
Change sensitiveness for history buttons when clearing the history
Connect to the 'cleared' signal and change the sensitivity flags
Bug #539716
Signed-off-by: Xan Lopez <xan gnome org>
src/ephy-action-helper.h | 5 +++++
src/ephy-navigation-history-action.c | 15 +++++++++++++++
src/ephy-toolbar.c | 5 -----
3 files changed, 20 insertions(+), 5 deletions(-)
---
diff --git a/src/ephy-action-helper.h b/src/ephy-action-helper.h
index 331d0fc..71c0bbc 100644
--- a/src/ephy-action-helper.h
+++ b/src/ephy-action-helper.h
@@ -28,6 +28,11 @@
G_BEGIN_DECLS
+enum
+{
+ SENS_FLAG = 1 << 0
+};
+
void ephy_action_change_sensitivity_flags (GtkAction *action,
guint flags,
gboolean set);
diff --git a/src/ephy-navigation-history-action.c b/src/ephy-navigation-history-action.c
index 90345b2..c82f04c 100644
--- a/src/ephy-navigation-history-action.c
+++ b/src/ephy-navigation-history-action.c
@@ -23,6 +23,7 @@
#include "config.h"
#include "ephy-navigation-history-action.h"
+#include "ephy-action-helper.h"
#include "ephy-debug.h"
#include "ephy-embed-container.h"
#include "ephy-embed-shell.h"
@@ -133,6 +134,13 @@ deselect_menu_item_cb (GtkWidget *menuitem,
gtk_statusbar_pop (GTK_STATUSBAR (statusbar), statusbar_cid);
}
+static void
+ephy_history_cleared_cb (EphyHistory *history,
+ EphyNavigationHistoryAction *action)
+{
+ ephy_action_change_sensitivity_flags (GTK_ACTION (action), SENS_FLAG, TRUE);
+}
+
static GList*
webkit_construct_history_list (WebKitWebView *web_view, WebKitHistoryType hist_type)
{
@@ -283,6 +291,10 @@ ephy_navigation_history_action_init (EphyNavigationHistoryAction *action)
history = EPHY_HISTORY (ephy_embed_shell_get_global_history (embed_shell));
action->priv->history = EPHY_HISTORY (g_object_ref (history));
+
+ g_signal_connect (action->priv->history,
+ "cleared", G_CALLBACK (ephy_history_cleared_cb),
+ action);
}
static void
@@ -290,6 +302,9 @@ ephy_navigation_history_action_finalize (GObject *object)
{
EphyNavigationHistoryAction *action = EPHY_NAVIGATION_HISTORY_ACTION (object);
+ g_signal_handlers_disconnect_by_func (action->priv->history,
+ ephy_history_cleared_cb,
+ action);
g_object_unref (action->priv->history);
action->priv->history = NULL;
diff --git a/src/ephy-toolbar.c b/src/ephy-toolbar.c
index c82b932..c3f0ed7 100644
--- a/src/ephy-toolbar.c
+++ b/src/ephy-toolbar.c
@@ -63,11 +63,6 @@ enum
LAST_ACTION
};
-enum
-{
- SENS_FLAG = 1 << 0
-};
-
#define EPHY_TOOLBAR_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_TOOLBAR, EphyToolbarPrivate))
struct _EphyToolbarPrivate
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]