aboutsummaryrefslogtreecommitdiffstats
path: root/src/ephy-navigation-action.c
diff options
context:
space:
mode:
authorXan Lopez <xan@igalia.com>2011-12-05 05:28:50 +0800
committerXan Lopez <xan@igalia.com>2011-12-05 05:31:25 +0800
commitebbb1c48197f53b98575b0cb4f6d9fa1e4535abc (patch)
tree014667c6bba38b679e9874ddc356286f449dcd88 /src/ephy-navigation-action.c
parentd5216f2d4cebd894c79d124d583304fd044fa96a (diff)
downloadgsoc2013-epiphany-ebbb1c48197f53b98575b0cb4f6d9fa1e4535abc.tar
gsoc2013-epiphany-ebbb1c48197f53b98575b0cb4f6d9fa1e4535abc.tar.gz
gsoc2013-epiphany-ebbb1c48197f53b98575b0cb4f6d9fa1e4535abc.tar.bz2
gsoc2013-epiphany-ebbb1c48197f53b98575b0cb4f6d9fa1e4535abc.tar.lz
gsoc2013-epiphany-ebbb1c48197f53b98575b0cb4f6d9fa1e4535abc.tar.xz
gsoc2013-epiphany-ebbb1c48197f53b98575b0cb4f6d9fa1e4535abc.tar.zst
gsoc2013-epiphany-ebbb1c48197f53b98575b0cb4f6d9fa1e4535abc.zip
Remove history dropdown menus from action buttons
They are not commonly used and are not present in the new design, so we can get rid of them.
Diffstat (limited to 'src/ephy-navigation-action.c')
-rw-r--r--src/ephy-navigation-action.c138
1 files changed, 2 insertions, 136 deletions
diff --git a/src/ephy-navigation-action.c b/src/ephy-navigation-action.c
index b4055393e..ed544430b 100644
--- a/src/ephy-navigation-action.c
+++ b/src/ephy-navigation-action.c
@@ -3,7 +3,7 @@
* Copyright © 2003, 2004 Marco Pesenti Gritti
* Copyright © 2003, 2004 Christian Persch
* Copyright © 2008 Jan Alonzo
- * Copyright © 2009 Igalia S.L.
+ * Copyright © 2009, 2011 Igalia S.L.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -24,31 +24,20 @@
#include "config.h"
#include "ephy-navigation-action.h"
-#include "ephy-debug.h"
-#include "ephy-embed-shell.h"
-#include "ephy-favicon-cache.h"
-#include "ephy-history.h"
-#include "ephy-link.h"
-#include "ephy-shell.h"
-#include "ephy-type-builtins.h"
#include "ephy-window.h"
#include <gtk/gtk.h>
-#include <webkit/webkit.h>
#define EPHY_NAVIGATION_ACTION_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_NAVIGATION_ACTION, EphyNavigationActionPrivate))
struct _EphyNavigationActionPrivate
{
EphyWindow *window;
- char *arrow_tooltip;
- guint statusbar_cid;
};
enum
{
PROP_0,
- PROP_ARROW_TOOLTIP,
PROP_WINDOW
};
@@ -57,54 +46,6 @@ static void ephy_navigation_action_class_init (EphyNavigationActionClass *class)
G_DEFINE_TYPE (EphyNavigationAction, ephy_navigation_action, EPHY_TYPE_LINK_ACTION)
-
-#define MAX_LABEL_LENGTH 48
-
-static GtkWidget *
-build_dropdown_menu (EphyNavigationAction *action)
-{
- EphyNavigationActionClass *class = EPHY_NAVIGATION_ACTION_GET_CLASS (action);
-
- return class->build_dropdown_menu (action);
-}
-
-static void
-menu_activated_cb (GtkMenuToolButton *button,
- EphyNavigationAction *action)
-{
- GtkWidget *menu = NULL;
-
- LOG ("menu_activated_cb");
-
- menu = build_dropdown_menu (action);
- gtk_menu_tool_button_set_menu (button, menu);
-}
-
-static void
-connect_proxy (GtkAction *gaction,
- GtkWidget *proxy)
-{
- LOG ("Connect navigation action proxy");
-
- if (GTK_IS_MENU_TOOL_BUTTON (proxy))
- {
- EphyNavigationAction *action = EPHY_NAVIGATION_ACTION (gaction);
- EphyNavigationActionPrivate *priv = action->priv;
- GtkMenuToolButton *button = GTK_MENU_TOOL_BUTTON (proxy);
- GtkWidget *menu;
-
- /* set dummy menu so the arrow gets sensitive */
- menu = gtk_menu_new ();
- gtk_menu_tool_button_set_menu (button, menu);
- gtk_menu_tool_button_set_arrow_tooltip_text (button, priv->arrow_tooltip);
-
- g_signal_connect (proxy, "show-menu",
- G_CALLBACK (menu_activated_cb), gaction);
- }
-
- GTK_ACTION_CLASS (ephy_navigation_action_parent_class)->connect_proxy (gaction, proxy);
-}
-
static void
ephy_navigation_action_init (EphyNavigationAction *action)
{
@@ -112,16 +53,6 @@ ephy_navigation_action_init (EphyNavigationAction *action)
}
static void
-ephy_navigation_action_finalize (GObject *object)
-{
- EphyNavigationAction *action = EPHY_NAVIGATION_ACTION (object);
-
- g_free (action->priv->arrow_tooltip);
-
- G_OBJECT_CLASS (ephy_navigation_action_parent_class)->finalize (object);
-}
-
-static void
ephy_navigation_action_set_property (GObject *object,
guint prop_id,
const GValue *value,
@@ -131,10 +62,6 @@ ephy_navigation_action_set_property (GObject *object,
switch (prop_id)
{
- case PROP_ARROW_TOOLTIP:
- nav->priv->arrow_tooltip = g_value_dup_string (value);
- g_object_notify (object, "tooltip");
- break;
case PROP_WINDOW:
nav->priv->window = EPHY_WINDOW (g_value_get_object (value));
break;
@@ -151,9 +78,6 @@ ephy_navigation_action_get_property (GObject *object,
switch (prop_id)
{
- case PROP_ARROW_TOOLTIP:
- g_value_set_string (value, nav->priv->arrow_tooltip);
- break;
case PROP_WINDOW:
g_value_set_object (value, nav->priv->window);
break;
@@ -166,20 +90,10 @@ ephy_navigation_action_class_init (EphyNavigationActionClass *class)
GObjectClass *object_class = G_OBJECT_CLASS (class);
GtkActionClass *action_class = GTK_ACTION_CLASS (class);
- object_class->finalize = ephy_navigation_action_finalize;
object_class->set_property = ephy_navigation_action_set_property;
object_class->get_property = ephy_navigation_action_get_property;
- action_class->toolbar_item_type = GTK_TYPE_MENU_TOOL_BUTTON;
- action_class->connect_proxy = connect_proxy;
-
- class->build_dropdown_menu = NULL;
-
- g_object_class_install_property (object_class,
- PROP_ARROW_TOOLTIP,
- g_param_spec_string ("arrow-tooltip", NULL, NULL,
- NULL,
- G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
+ action_class->toolbar_item_type = GTK_TYPE_TOOL_BUTTON;
g_object_class_install_property (object_class,
PROP_WINDOW,
@@ -197,51 +111,3 @@ _ephy_navigation_action_get_window (EphyNavigationAction *action)
return action->priv->window;
}
-
-guint
-_ephy_navigation_action_get_statusbar_context_id (EphyNavigationAction *action)
-{
- g_return_val_if_fail (EPHY_IS_NAVIGATION_ACTION (action), 0);
-
- return action->priv->statusbar_cid;
-}
-
-GtkWidget *
-_ephy_navigation_action_new_history_menu_item (const char *origtext,
- const char *address)
-{
- EphyFaviconCache *cache;
- EphyHistory *history;
- GtkWidget *item, *image;
- GdkPixbuf *icon = NULL;
- GtkLabel *label;
- const char *icon_address;
-
- g_return_val_if_fail (address != NULL && origtext != NULL, NULL);
-
- item = gtk_image_menu_item_new_with_label (origtext);
-
- label = GTK_LABEL (gtk_bin_get_child (GTK_BIN (item)));
- gtk_label_set_ellipsize (label, PANGO_ELLIPSIZE_END);
- gtk_label_set_max_width_chars (label, MAX_LABEL_LENGTH);
-
- history = EPHY_HISTORY
- (ephy_embed_shell_get_global_history (embed_shell));
- icon_address = ephy_history_get_icon (history, address);
-
- cache = EPHY_FAVICON_CACHE
- (ephy_embed_shell_get_favicon_cache (embed_shell));
- icon = ephy_favicon_cache_get (cache, icon_address);
-
- if (icon != NULL)
- {
- image = gtk_image_new_from_pixbuf (icon);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
- gtk_widget_show (image);
- g_object_unref (icon);
- }
-
- gtk_widget_show (item);
-
- return item;
-}