aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/widgets/Makefile.am4
-rw-r--r--lib/widgets/ephy-zoom-action.c44
-rw-r--r--lib/widgets/ephy-zoom-control.c265
-rw-r--r--lib/widgets/ephy-zoom-control.h66
-rw-r--r--tests/Makefile.am6
-rw-r--r--tests/ephy-zoom-control.c78
6 files changed, 5 insertions, 458 deletions
diff --git a/lib/widgets/Makefile.am b/lib/widgets/Makefile.am
index f9a114ee5..941a9548a 100644
--- a/lib/widgets/Makefile.am
+++ b/lib/widgets/Makefile.am
@@ -16,9 +16,7 @@ libephywidgets_la_SOURCES = \
totem-glow-button.c \
totem-glow-button.h \
ephy-zoom-action.h \
- ephy-zoom-action.c \
- ephy-zoom-control.c \
- ephy-zoom-control.h
+ ephy-zoom-action.c
libephywidgets_la_CPPFLAGS = \
-I$(top_builddir)/lib \
diff --git a/lib/widgets/ephy-zoom-action.c b/lib/widgets/ephy-zoom-action.c
index 0d42b9ce9..86d8a06f8 100644
--- a/lib/widgets/ephy-zoom-action.c
+++ b/lib/widgets/ephy-zoom-action.c
@@ -19,13 +19,12 @@
*/
#include "config.h"
-
-#include <glib/gi18n.h>
-
#include "ephy-zoom-action.h"
-#include "ephy-zoom-control.h"
+
#include "ephy-zoom.h"
+#include <glib/gi18n.h>
+
/**
* SECTION:ephy-zoom-action
* @short_description: A #GtkAction implementing a zoom control
@@ -61,41 +60,6 @@ static guint signals[LAST_SIGNAL] = { 0 };
G_DEFINE_TYPE (EphyZoomAction, ephy_zoom_action, GTK_TYPE_ACTION)
static void
-zoom_to_level_cb (EphyZoomControl *control,
- float zoom,
- EphyZoomAction *action)
-{
- g_signal_emit (action, signals[ZOOM_TO_LEVEL_SIGNAL], 0, zoom);
-}
-
-static void
-sync_zoom_cb (GtkAction *action, GParamSpec *pspec, GtkWidget *proxy)
-{
- EphyZoomAction *zoom_action = EPHY_ZOOM_ACTION (action);
-
- g_object_set (G_OBJECT (proxy), "zoom", zoom_action->priv->zoom, NULL);
-}
-
-static void
-connect_proxy (GtkAction *action, GtkWidget *proxy)
-{
- if (EPHY_IS_ZOOM_CONTROL (proxy))
- {
- /* Ensure the sync is done when the item is added to
- the toolbar */
- sync_zoom_cb (action, NULL, proxy);
-
- g_signal_connect_object (action, "notify::zoom",
- G_CALLBACK (sync_zoom_cb), proxy, 0);
-
- g_signal_connect (proxy, "zoom_to_level",
- G_CALLBACK (zoom_to_level_cb), action);
- }
-
- GTK_ACTION_CLASS (ephy_zoom_action_parent_class)->connect_proxy (action, proxy);
-}
-
-static void
proxy_menu_activate_cb (GtkMenuItem *menu_item, EphyZoomAction *action)
{
gint index;
@@ -195,8 +159,6 @@ ephy_zoom_action_class_init (EphyZoomActionClass *class)
object_class->set_property = ephy_zoom_action_set_property;
object_class->get_property = ephy_zoom_action_get_property;
- action_class->toolbar_item_type = EPHY_TYPE_ZOOM_CONTROL;
- action_class->connect_proxy = connect_proxy;
action_class->create_menu_item = create_menu_item;
/**
diff --git a/lib/widgets/ephy-zoom-control.c b/lib/widgets/ephy-zoom-control.c
deleted file mode 100644
index e16f91b15..000000000
--- a/lib/widgets/ephy-zoom-control.c
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * Copyright © 2003, 2004 Christian Persch
- *
- * 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
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#include "config.h"
-
-#include <glib/gi18n.h>
-
-#include "ephy-zoom-control.h"
-#include "ephy-zoom.h"
-
-/**
- * SECTION:ephy-zoom-control
- * @short_description: A #GtkToolItem implementing a zoom control
- *
- * #EphyZoomControl implements the zoom control used in Epiphany's toolbar.
- */
-
-#define EPHY_ZOOM_CONTROL_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_ZOOM_CONTROL, EphyZoomControlPrivate))
-
-struct _EphyZoomControlPrivate
-{
- GtkComboBox *combo;
- float zoom;
- guint handler_id;
-};
-
-enum
-{
- PROP_0,
- PROP_ZOOM
-};
-
-enum
-{
- ZOOM_TO_LEVEL_SIGNAL,
- LAST_SIGNAL
-};
-
-static guint signals[LAST_SIGNAL];
-
-static void ephy_zoom_control_class_init (EphyZoomControlClass *klass);
-static void ephy_zoom_control_init (EphyZoomControl *control);
-static void ephy_zoom_control_dispose (GObject *o);
-
-G_DEFINE_TYPE (EphyZoomControl, ephy_zoom_control, GTK_TYPE_TOOL_ITEM)
-
-static void
-combo_changed_cb (GtkComboBox *combo, EphyZoomControl *control)
-{
- gint index;
- float zoom;
-
- index = gtk_combo_box_get_active (combo);
- zoom = zoom_levels[index].level;
-
- if (zoom != control->priv->zoom)
- {
- g_signal_emit (control, signals[ZOOM_TO_LEVEL_SIGNAL], 0, zoom);
- }
-}
-
-static void
-sync_zoom_cb (EphyZoomControl *control, GParamSpec *pspec, gpointer data)
-{
- EphyZoomControlPrivate *p = control->priv;
- guint index;
-
- index = ephy_zoom_get_zoom_level_index (p->zoom);
-
- g_signal_handler_block (p->combo, p->handler_id);
- gtk_combo_box_set_active (p->combo, index);
- g_signal_handler_unblock (p->combo, p->handler_id);
-}
-
-static void
-ephy_zoom_control_init (EphyZoomControl *control)
-{
- EphyZoomControlPrivate *p;
- GtkComboBox *combo;
- GtkWidget *vbox;
- guint i;
-
- p = EPHY_ZOOM_CONTROL_GET_PRIVATE (control);
- control->priv = p;
-
- p->zoom = 1.0;
-
- combo = p->combo = GTK_COMBO_BOX (gtk_combo_box_text_new ());
-
- for (i = 0; i < n_zoom_levels; i++)
- {
- gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _(zoom_levels[i].name));
- }
-
- p->combo = combo;
- gtk_combo_box_set_focus_on_click (GTK_COMBO_BOX (p->combo), FALSE);
- g_object_ref_sink (combo);
- gtk_widget_show (GTK_WIDGET (combo));
-
- i = ephy_zoom_get_zoom_level_index (p->zoom);
- gtk_combo_box_set_active (combo, i);
-
- vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
- gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE);
- gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (combo), TRUE, FALSE, 0);
- gtk_widget_show (vbox);
-
- gtk_container_add (GTK_CONTAINER (control), vbox);
-
- p->handler_id = g_signal_connect (combo, "changed",
- G_CALLBACK (combo_changed_cb), control);
-
- g_signal_connect_object (control, "notify::zoom",
- G_CALLBACK (sync_zoom_cb), NULL, 0);
-}
-
-static void
-ephy_zoom_control_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- EphyZoomControl *control;
- EphyZoomControlPrivate *p;
-
- control = EPHY_ZOOM_CONTROL (object);
- p = control->priv;
-
- switch (prop_id)
- {
- case PROP_ZOOM:
- p->zoom = g_value_get_float (value);
- break;
- }
-}
-
-static void
-ephy_zoom_control_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- EphyZoomControl *control;
- EphyZoomControlPrivate *p;
-
- control = EPHY_ZOOM_CONTROL (object);
- p = control->priv;
-
- switch (prop_id)
- {
- case PROP_ZOOM:
- g_value_set_float (value, p->zoom);
- break;
- }
-}
-
-static void
-ephy_zoom_control_class_init (EphyZoomControlClass *klass)
-{
- GObjectClass *object_class;
-
- object_class = (GObjectClass *)klass;
-
- object_class->set_property = ephy_zoom_control_set_property;
- object_class->get_property = ephy_zoom_control_get_property;
- object_class->dispose = ephy_zoom_control_dispose;
-
- /**
- * EphyZoomControl:zoom:
- *
- * The current value of #EphyZoomControl, as a float.
- */
- g_object_class_install_property (object_class,
- PROP_ZOOM,
- g_param_spec_float ("zoom", NULL, NULL,
- ZOOM_MINIMAL,
- ZOOM_MAXIMAL,
- 1.0,
- G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
-
- /**
- * EphyZoomControl::zoom-to-level:
- * @control: the object on which the signal is emitted
- * @level: new zoom level
- *
- * Emitted when the user changes the value of the #EphyZoomControl.
- */
- signals[ZOOM_TO_LEVEL_SIGNAL] =
- g_signal_new ("zoom-to-level",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EphyZoomControlClass,
- zoom_to_level),
- NULL, NULL,
- g_cclosure_marshal_VOID__FLOAT,
- G_TYPE_NONE,
- 1,
- G_TYPE_FLOAT);
-
- g_type_class_add_private (object_class, sizeof (EphyZoomControlPrivate));
-}
-
-static void
-ephy_zoom_control_dispose (GObject *o)
-{
- EphyZoomControl *control = EPHY_ZOOM_CONTROL (o);
-
- if (control->priv->combo)
- {
- g_object_unref (control->priv->combo);
- control->priv->combo = NULL;
- }
-
- G_OBJECT_CLASS (ephy_zoom_control_parent_class)->dispose (o);
-}
-
-/**
- * ephy_zoom_control_set_zoom_level:
- * @control: an #EphyZoomControl
- * @zoom: the new value for the zoom level
- *
- * Sets the zoom level of @control.
- **/
-void
-ephy_zoom_control_set_zoom_level (EphyZoomControl *control, float zoom)
-{
- g_return_if_fail (EPHY_IS_ZOOM_CONTROL (control));
-
- if (zoom < ZOOM_MINIMAL || zoom > ZOOM_MAXIMAL) return;
-
- control->priv->zoom = zoom;
- g_object_notify (G_OBJECT (control), "zoom");
-}
-
-/**
- * ephy_zoom_control_get_zoom_level:
- * @control: an #EphyZoomControl
- *
- * Get the current zoom level of @control.
- *
- * Returns: the zoom level as a float
- **/
-float
-ephy_zoom_control_get_zoom_level (EphyZoomControl *control)
-{
- g_return_val_if_fail (EPHY_IS_ZOOM_CONTROL (control), 1.0);
-
- return control->priv->zoom;
-}
diff --git a/lib/widgets/ephy-zoom-control.h b/lib/widgets/ephy-zoom-control.h
deleted file mode 100644
index 04b6c61dc..000000000
--- a/lib/widgets/ephy-zoom-control.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright © 2003 Christian Persch
- *
- * 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
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#if !defined (__EPHY_EPIPHANY_H_INSIDE__) && !defined (EPIPHANY_COMPILATION)
-#error "Only <epiphany/epiphany.h> can be included directly."
-#endif
-
-#ifndef EPHY_ZOOM_CONTROL_H
-#define EPHY_ZOOM_CONTROL_H
-
-#include <gtk/gtk.h>
-
-G_BEGIN_DECLS
-
-#define EPHY_TYPE_ZOOM_CONTROL (ephy_zoom_control_get_type())
-#define EPHY_ZOOM_CONTROL(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EPHY_TYPE_ZOOM_CONTROL, EphyZoomControl))
-#define EPHY_ZOOM_CONTROL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EPHY_TYPE_ZOOM_CONTROL, EphyZoomControlClass))
-#define EPHY_IS_ZOOM_CONTROL(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EPHY_TYPE_ZOOM_CONTROL))
-#define EPHY_IS_ZOOM_CONTROL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EPHY_TYPE_ZOOM_CONTROL))
-#define EPHY_ZOOM_CONTROL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), EPHY_TYPE_ZOOM_CONTROL, EphyZoomControlClass))
-
-typedef struct _EphyZoomControl EphyZoomControl;
-typedef struct _EphyZoomControlClass EphyZoomControlClass;
-typedef struct _EphyZoomControlPrivate EphyZoomControlPrivate;
-
-struct _EphyZoomControlClass
-{
- GtkToolItemClass parent_class;
-
- /* signals */
- void (*zoom_to_level) (EphyZoomControl *control, float level);
-};
-
-struct _EphyZoomControl
-{
- GtkToolItem parent_object;
-
- /*< private >*/
- EphyZoomControlPrivate *priv;
-};
-
-GType ephy_zoom_control_get_type (void);
-
-void ephy_zoom_control_set_zoom_level (EphyZoomControl *control, float zoom);
-
-float ephy_zoom_control_get_zoom_level (EphyZoomControl *control);
-
-G_END_DECLS
-
-#endif
diff --git a/tests/Makefile.am b/tests/Makefile.am
index bb538d845..75fcb79f9 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -2,8 +2,7 @@ noinst_PROGRAMS = \
test-ephy-download \
test-ephy-embed-single \
test-ephy-location-entry \
- test-ephy-search-entry \
- test-ephy-zoom-control
+ test-ephy-search-entry
INCLUDES = \
-I$(top_srcdir)/embed \
@@ -44,6 +43,3 @@ test_ephy_location_entry_SOURCES = \
test_ephy_search_entry_SOURCES = \
ephy-search-entry.c
-
-test_ephy_zoom_control_SOURCES = \
- ephy-zoom-control.c
diff --git a/tests/ephy-zoom-control.c b/tests/ephy-zoom-control.c
deleted file mode 100644
index b02ec2847..000000000
--- a/tests/ephy-zoom-control.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/* vim: set sw=2 ts=2 sts=2 et: */
-/*
- * ephy-zoom-control.c
- * This file is part of Epiphany
- *
- * Copyright © 2008 - Diego Escalante Urrelo
- *
- * Epiphany is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Epiphany is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Epiphany; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301 USA
- */
-
-#include "config.h"
-#include "ephy-zoom-control.h"
-#include <glib.h>
-#include <gtk/gtk.h>
-
-static void
-test_new (void)
-{
- EphyZoomControl *control;
- control = g_object_new (EPHY_TYPE_ZOOM_CONTROL, "zoom", 1.0, NULL);
-
- g_assert (GTK_IS_WIDGET (control));
- g_assert (GTK_IS_TOOL_ITEM (control));
- g_assert (EPHY_IS_ZOOM_CONTROL (control));
-}
-
-static void
-test_set_zoom_level (void)
-{
- EphyZoomControl *control;
- float get = 1.0;
- control = g_object_new (EPHY_TYPE_ZOOM_CONTROL, "zoom", 2.0, NULL);
-
- ephy_zoom_control_set_zoom_level (control, 4.0);
-
- g_object_get (control, "zoom", &get, NULL);
- g_assert_cmpfloat (4.0, ==, get);
-}
-
-static void
-test_get_zoom_level (void)
-{
- EphyZoomControl *control;
- float get = 1.0;
- control = g_object_new (EPHY_TYPE_ZOOM_CONTROL, "zoom", 2.0, NULL);
-
- get = ephy_zoom_control_get_zoom_level (control);
-
- g_assert_cmpfloat (2.0, ==, get);
-}
-
-int
-main (int argc, char *argv[])
-{
- gtk_test_init (&argc, &argv);
-
- g_test_add_func ("/lib/widgets/ephy-zoom-control/new",
- test_new);
- g_test_add_func ("/lib/widgets/ephy-zoom-control/set_zoom_level",
- test_set_zoom_level);
- g_test_add_func ("/lib/widgets/ephy-zoom-control/get_zoom_level",
- test_get_zoom_level);
-
- return g_test_run ();
-}