aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/toolbar/ephy-tb-button.c775
-rw-r--r--lib/toolbar/ephy-tb-button.h79
-rw-r--r--lib/toolbar/ephy-tbi-favicon.c188
-rw-r--r--lib/toolbar/ephy-tbi-favicon.h66
-rw-r--r--lib/toolbar/ephy-tbi-location.c205
-rw-r--r--lib/toolbar/ephy-tbi-location.h66
-rw-r--r--lib/toolbar/ephy-tbi-navigation-history.c342
-rw-r--r--lib/toolbar/ephy-tbi-navigation-history.h81
-rw-r--r--lib/toolbar/ephy-tbi-separator.c179
-rw-r--r--lib/toolbar/ephy-tbi-separator.h68
-rw-r--r--lib/toolbar/ephy-tbi-spinner.c188
-rw-r--r--lib/toolbar/ephy-tbi-spinner.h66
-rw-r--r--lib/toolbar/ephy-tbi-std-toolitem.c407
-rw-r--r--lib/toolbar/ephy-tbi-std-toolitem.h84
-rw-r--r--lib/toolbar/ephy-tbi-zoom.c304
-rw-r--r--lib/toolbar/ephy-tbi-zoom.h66
-rw-r--r--lib/toolbar/ephy-toolbar-bonobo-view.c193
-rw-r--r--lib/toolbar/ephy-toolbar-bonobo-view.h75
-rw-r--r--lib/toolbar/ephy-toolbar-editor.c634
-rw-r--r--lib/toolbar/ephy-toolbar-editor.h80
-rw-r--r--lib/toolbar/ephy-toolbar-item-factory.c168
-rw-r--r--lib/toolbar/ephy-toolbar-item-factory.h33
-rw-r--r--lib/toolbar/ephy-toolbar-item.c142
-rw-r--r--lib/toolbar/ephy-toolbar-item.h91
-rw-r--r--lib/toolbar/ephy-toolbar-tree-model.c784
-rw-r--r--lib/toolbar/ephy-toolbar-tree-model.h74
-rw-r--r--lib/toolbar/ephy-toolbar.c420
-rw-r--r--lib/toolbar/ephy-toolbar.h80
28 files changed, 0 insertions, 5938 deletions
diff --git a/lib/toolbar/ephy-tb-button.c b/lib/toolbar/ephy-tb-button.c
deleted file mode 100644
index 4485102f0..000000000
--- a/lib/toolbar/ephy-tb-button.c
+++ /dev/null
@@ -1,775 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "ephy-tb-button.h"
-#include "ephy-gobject-misc.h"
-#include "ephy-gui.h"
-#include "ephy-marshal.h"
-#include "eel-gconf-extensions.h"
-
-#include <libgnome/gnome-i18n.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtkalignment.h>
-#include <gtk/gtktoolbar.h>
-#include <bonobo/bonobo-ui-toolbar.h>
-#include <string.h>
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-/**
- * Private data
- */
-struct _EphyTbButtonPrivate
-{
- gchar *label;
- GtkWidget *image;
- gboolean use_stock;
- gchar *tooltip_text;
- GtkMenu *menu;
- GtkWidget *arrow_widget;
- gboolean sensitive;
-
- GtkWidget *button;
- GtkBox *button_box;
- GtkLabel *label_wid;
- gboolean priority;
-
- gboolean in_bonobo_toobar;
-
- GtkReliefStyle button_relief;
- GtkOrientation orientation;
- GtkToolbarStyle style_gtk;
- BonoboUIToolbarStyle style_bonobo;
- GtkIconSize icon_size; // TODO
- gboolean show_tooltips;
- GtkTooltips *tooltips;
-};
-
-/**
- * Private functions, only availble from this file
- */
-static void ephy_tb_button_class_init (EphyTbButtonClass *klass);
-static void ephy_tb_button_init (EphyTbButton *b);
-static void ephy_tb_button_finalize_impl (GObject *o);
-static void ephy_tb_button_build (EphyTbButton *b);
-static void ephy_tb_button_empty (EphyTbButton *b);
-static void ephy_tb_button_parent_set_cb (GtkWidget *widget, GtkObject *old_parent,
- EphyTbButton *tb);
-static void ephy_tb_button_gtk_orientation_changed_cb (GtkToolbar *toolbar, GtkOrientation orientation,
- EphyTbButton *b);
-static void ephy_tb_button_gtk_style_changed_cb (GtkToolbar *toolbar, GtkToolbarStyle style,
- EphyTbButton *b);
-static void ephy_tb_button_bonobo_set_orientation_cb (BonoboUIToolbar *toolbar, GtkOrientation orientation,
- EphyTbButton *b);
-static void ephy_tb_button_bonobo_set_style_cb (BonoboUIToolbar *toolbar, EphyTbButton *b);
-static gboolean ephy_tb_button_arrow_key_press_event_cb (GtkWidget *widget, GdkEventKey *event,
- EphyTbButton *b);
-static gboolean ephy_tb_button_arrow_button_press_event_cb (GtkWidget *widget, GdkEventButton *event,
- EphyTbButton *b);
-static gboolean ephy_tb_button_button_button_press_event_cb (GtkWidget *widget, GdkEventButton *event,
- EphyTbButton *b);
-static void ephy_tb_button_button_popup_menu_cb (GtkWidget *w, EphyTbButton *b);
-static void ephy_tb_button_menu_deactivated_cb (GtkMenuShell *ms, EphyTbButton *b);
-
-
-static gpointer gtk_hbox_class;
-
-enum EphyTbButtonSignalsEnum {
- EPHY_TB_BUTTON_MENU_ACTIVATED,
- EPHY_TB_BUTTON_LAST_SIGNAL
-};
-static gint EphyTbButtonSignals[EPHY_TB_BUTTON_LAST_SIGNAL];
-
-/**
- * TbButton object
- */
-
-MAKE_GET_TYPE (ephy_tb_button, "EphyTbButton", EphyTbButton, ephy_tb_button_class_init,
- ephy_tb_button_init, GTK_TYPE_HBOX);
-
-static void
-ephy_tb_button_class_init (EphyTbButtonClass *klass)
-{
- G_OBJECT_CLASS (klass)->finalize = ephy_tb_button_finalize_impl;
- gtk_hbox_class = g_type_class_peek_parent (klass);
-
- EphyTbButtonSignals[EPHY_TB_BUTTON_MENU_ACTIVATED] = g_signal_new (
- "menu-activated", G_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_FIRST | G_SIGNAL_RUN_LAST | G_SIGNAL_RUN_CLEANUP,
- G_STRUCT_OFFSET (EphyTbButtonClass, menu_activated),
- NULL, NULL,
- ephy_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-}
-
-static void
-ephy_tb_button_init (EphyTbButton *tb)
-{
- EphyTbButtonPrivate *p = g_new0 (EphyTbButtonPrivate, 1);
- tb->priv = p;
- p->label = g_strdup ("");
- p->tooltip_text = g_strdup ("");
-
- p->button_relief = GTK_RELIEF_NORMAL;
- p->orientation = GTK_ORIENTATION_HORIZONTAL;
- p->style_gtk = GTK_TOOLBAR_BOTH_HORIZ;
- p->style_bonobo = BONOBO_UI_TOOLBAR_STYLE_PRIORITY_TEXT;
- p->icon_size = GTK_ICON_SIZE_LARGE_TOOLBAR;
- p->show_tooltips = TRUE;
-
- g_signal_connect (tb, "parent-set",
- G_CALLBACK (ephy_tb_button_parent_set_cb), tb);
-}
-
-EphyTbButton *
-ephy_tb_button_new (void)
-{
- EphyTbButton *ret = g_object_new (EPHY_TYPE_TB_BUTTON, NULL);
- return ret;
-}
-
-static void
-ephy_tb_button_finalize_impl (GObject *o)
-{
- EphyTbButton *it = EPHY_TB_BUTTON (o);
- EphyTbButtonPrivate *p = it->priv;
-
- ephy_tb_button_empty (it);
-
- if (p->image)
- {
- g_object_unref (p->image);
- }
-
- if (p->tooltips)
- {
- g_object_unref (p->tooltips);
- }
-
- if (p->menu)
- {
- g_object_unref (p->menu);
- }
-
- if (p->arrow_widget)
- {
- g_object_unref (p->arrow_widget);
- }
-
- g_free (p);
-
- DEBUG_MSG (("EphyTbButton finalized\n"));
-
- G_OBJECT_CLASS (gtk_hbox_class)->finalize (o);
-}
-
-void
-ephy_tb_button_set_label (EphyTbButton *b, const gchar *text)
-{
- EphyTbButtonPrivate *p = b->priv;
- g_free (p->label);
- p->label = g_strdup (text);
- DEBUG_MSG (("EphyTbButton label set to '%s'\n", p->label));
- if (!p->label_wid || p->use_stock)
- {
- ephy_tb_button_build (b);
- }
- else
- {
- gtk_label_set_text (p->label_wid, p->label);
- }
-}
-
-void
-ephy_tb_button_set_tooltip_text (EphyTbButton *b, const gchar *text)
-{
- EphyTbButtonPrivate *p = b->priv;
- g_free (p->tooltip_text);
- p->tooltip_text = g_strdup (text);
-
- if (!p->tooltips || !p->button)
- {
- ephy_tb_button_build (b);
- }
- else
- {
- gtk_tooltips_set_tip (p->tooltips, p->button,
- p->tooltip_text, p->tooltip_text);
- }
-}
-
-/* this function comes directly from gtktoolbar.c */
-static gchar *
-elide_underscores (const gchar *original)
-{
- gchar *q, *result;
- const gchar *p;
- gboolean last_underscore;
-
- q = result = g_malloc (strlen (original) + 1);
- last_underscore = FALSE;
-
- for (p = original; *p; p++)
- {
- if (!last_underscore && *p == '_')
- {
- last_underscore = TRUE;
- }
- else
- {
- last_underscore = FALSE;
- *q++ = *p;
- }
- }
-
- *q = '\0';
-
- return result;
-}
-
-static void
-ephy_tb_button_build (EphyTbButton *b)
-{
- EphyTbButtonPrivate *p = b->priv;
- GtkWidget *align;
- GtkWidget *image;
- GtkStockItem stock_item;
- gboolean really_use_stock = p->use_stock && gtk_stock_lookup (p->label, &stock_item);
- gboolean show_image = p->label[0] == '\0'
- || (p->in_bonobo_toobar && p->style_bonobo != BONOBO_UI_TOOLBAR_STYLE_TEXT_ONLY)
- || (!p->in_bonobo_toobar && p->style_gtk != GTK_TOOLBAR_TEXT);
- gboolean show_label = !show_image
- || (p->priority && ((p->in_bonobo_toobar && p->style_bonobo == BONOBO_UI_TOOLBAR_STYLE_PRIORITY_TEXT)
- || (!p->in_bonobo_toobar && p->style_gtk == GTK_TOOLBAR_BOTH_HORIZ)))
- || (!p->in_bonobo_toobar
- && (p->style_gtk == GTK_TOOLBAR_BOTH
- || p->style_gtk == GTK_TOOLBAR_TEXT
- /* CHECK: what about GTK_TOOLBAR_BOTH_HORIZ? */ ))
- || (p->in_bonobo_toobar
- && (p->style_bonobo == BONOBO_UI_TOOLBAR_STYLE_ICONS_AND_TEXT
- || p->style_bonobo == BONOBO_UI_TOOLBAR_STYLE_TEXT_ONLY));
-
- ephy_tb_button_empty (b);
-
- if (!p->button)
- {
- p->button = gtk_button_new ();
- g_object_ref (p->button);
- gtk_widget_show (p->button);
- gtk_box_pack_start_defaults (GTK_BOX (b), p->button);
- }
-
- gtk_button_set_relief (GTK_BUTTON (p->button), p->button_relief);
- gtk_widget_set_sensitive (p->button, p->sensitive);
- if (p->tooltips)
- {
- gtk_tooltips_set_tip (p->tooltips, p->button,
- p->tooltip_text, p->tooltip_text);
- }
- g_signal_connect (p->button, "button_press_event",
- G_CALLBACK (ephy_tb_button_button_button_press_event_cb), b);
- g_signal_connect (p->button, "popup_menu",
- G_CALLBACK (ephy_tb_button_button_popup_menu_cb), b);
-
- align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
- gtk_widget_show (align);
- gtk_container_add (GTK_CONTAINER (p->button), align);
-
- if ((p->in_bonobo_toobar && p->style_bonobo == BONOBO_UI_TOOLBAR_STYLE_ICONS_AND_TEXT)
- || (!p->in_bonobo_toobar && p->style_gtk == GTK_TOOLBAR_BOTH)
- || p->orientation == GTK_ORIENTATION_VERTICAL)
- {
- p->button_box = GTK_BOX (gtk_vbox_new (FALSE, 2));
- }
- else
- {
- p->button_box = GTK_BOX (gtk_hbox_new (FALSE, 2));
- }
- g_object_ref (p->button_box);
- gtk_widget_show (GTK_WIDGET (p->button_box));
- gtk_container_add (GTK_CONTAINER (align), GTK_WIDGET (p->button_box));
-
- if (!p->image && really_use_stock && show_image)
- {
- image = gtk_image_new_from_stock (p->label, p->icon_size);
- }
- else
- {
- image = p->image;
- }
-
- if (image)
- {
- if (show_image)
- {
- gtk_box_pack_start_defaults (p->button_box, GTK_WIDGET (image));
- gtk_widget_show (image);
- }
- }
- else
- {
- show_label = TRUE;
- }
-
- if (show_label)
- {
- p->label_wid = GTK_LABEL (gtk_label_new (p->label));
- g_object_ref (p->label_wid);
-
- if (really_use_stock)
- {
- gchar *l = elide_underscores (stock_item.label);
- gtk_label_set_text (p->label_wid, l);
- g_free (l);
- }
-
- gtk_widget_show (GTK_WIDGET (p->label_wid));
- gtk_box_pack_end_defaults (p->button_box, GTK_WIDGET (p->label_wid));
- }
-
- DEBUG_MSG (("EphyTbButton built, label='%s'\n", p->label));
-}
-
-void
-ephy_tb_button_set_priority (EphyTbButton *b, gboolean priority)
-{
- EphyTbButtonPrivate *p = b->priv;
- if (p->priority != priority)
- {
- p->priority = priority;
- ephy_tb_button_build (b);
- }
-}
-
-void
-ephy_tb_button_set_image (EphyTbButton *b, GtkWidget *image)
-{
- EphyTbButtonPrivate *p = b->priv;
- if (p->image)
- {
- g_object_unref (p->image);
- }
- p->image = image ? g_object_ref (image) : NULL;
- ephy_tb_button_build (b);
-}
-
-static void
-button_state_changed_cb (GtkWidget *widget, GtkStateType previous_state, EphyTbButton *b)
-{
- EphyTbButtonPrivate *p = b->priv;
- GtkWidget *button;
- GtkStateType state = GTK_WIDGET_STATE (widget);
- GtkStateType other;
-
- if (state == GTK_STATE_ACTIVE ||
- state == GTK_STATE_SELECTED ||
- state == GTK_STATE_INSENSITIVE)
- {
- return;
- }
-
- button = (widget == p->arrow_widget) ? p->button : p->arrow_widget;
- other = GTK_WIDGET_STATE (button);
-
- if (state != other)
- {
- gtk_widget_set_state (button, state);
- }
-}
-
-void
-ephy_tb_button_set_show_arrow (EphyTbButton *b, gboolean value)
-{
- EphyTbButtonPrivate *p = b->priv;
-
- if (p->arrow_widget && !value)
- {
- if (p->arrow_widget->parent == GTK_WIDGET (b))
- {
- gtk_container_remove (GTK_CONTAINER (b), p->arrow_widget);
- }
- g_object_unref (p->arrow_widget);
- p->arrow_widget = NULL;
- }
- else if (!p->arrow_widget && value)
- {
- p->arrow_widget = gtk_toggle_button_new ();
- gtk_button_set_relief (GTK_BUTTON (p->arrow_widget), GTK_RELIEF_NONE);
-
- gtk_container_add (GTK_CONTAINER (p->arrow_widget),
- gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_OUT));
-
- g_object_ref (p->arrow_widget);
- gtk_object_sink (GTK_OBJECT (p->arrow_widget));
-
- g_signal_connect (p->arrow_widget, "key_press_event",
- G_CALLBACK (ephy_tb_button_arrow_key_press_event_cb),
- b);
- g_signal_connect (p->arrow_widget, "button_press_event",
- G_CALLBACK (ephy_tb_button_arrow_button_press_event_cb),
- b);
- g_signal_connect (p->arrow_widget, "state_changed",
- G_CALLBACK (button_state_changed_cb),
- b);
- g_signal_connect (p->button, "state_changed",
- G_CALLBACK (button_state_changed_cb),
- b);
-
- gtk_widget_show_all (p->arrow_widget);
- gtk_box_pack_end_defaults (GTK_BOX (b), p->arrow_widget);
- gtk_widget_set_sensitive (p->arrow_widget, value);
- }
-}
-
-void
-ephy_tb_button_set_enable_menu (EphyTbButton *b, gboolean value)
-{
- EphyTbButtonPrivate *p = b->priv;
- if (value && !p->menu)
- {
- p->menu = GTK_MENU (gtk_menu_new ());
- g_signal_connect (p->menu, "deactivate",
- G_CALLBACK (ephy_tb_button_menu_deactivated_cb), b);
- }
- else if (!value && p->menu)
- {
- g_object_unref (p->menu);
- p->menu = FALSE;
- }
-
-}
-
-GtkMenuShell *
-ephy_tb_button_get_menu (EphyTbButton *b)
-{
- EphyTbButtonPrivate *p = b->priv;
- return p->menu ? GTK_MENU_SHELL (p->menu) : NULL;
-}
-
-GtkButton *
-ephy_tb_button_get_button (EphyTbButton *b)
-{
- EphyTbButtonPrivate *p = b->priv;
- if (!p->button)
- {
- ephy_tb_button_build (b);
- }
- return GTK_BUTTON (p->button);
-}
-
-void
-ephy_tb_button_set_use_stock (EphyTbButton *b, gboolean value)
-{
- EphyTbButtonPrivate *p = b->priv;
- if (value != p->use_stock)
- {
- p->use_stock = value;
- ephy_tb_button_build (b);
- }
-}
-
-static void
-ephy_tb_button_empty (EphyTbButton *b)
-{
- EphyTbButtonPrivate *p = b->priv;
-
- if (p->button)
- {
- if (GTK_BIN (p->button)->child)
- {
- gtk_container_remove (GTK_CONTAINER (p->button), GTK_BIN (p->button)->child);
- }
- }
-
- if (p->button_box)
- {
- g_object_unref (p->button_box);
- p->button_box = NULL;
- }
-
- if (p->label_wid)
- {
- g_object_unref (p->label_wid);
- p->label_wid = NULL;
- }
-}
-
-static void
-ephy_tb_button_parent_set_cb (GtkWidget *widget, GtkObject *old_parent, EphyTbButton *tb)
-{
- EphyTbButtonPrivate *p = tb->priv;
- GtkWidget *new_parent = widget->parent;
-
- DEBUG_MSG (("EphyTbButton parent changed (widget=%p, button=%p, old=%p, new=%p)\n",
- widget, tb, old_parent, new_parent));
-
- if (new_parent)
- {
- GtkToolbar *gtktb = NULL;
- BonoboUIToolbar *btb = NULL;
- while (new_parent && !gtktb && !btb)
- {
- DEBUG_MSG (("new_parent ia a %s\n", g_type_name_from_instance ((void *) new_parent)));
-
- if (GTK_IS_TOOLBAR (new_parent))
- {
- gtktb = GTK_TOOLBAR (new_parent);
- }
- else if (BONOBO_IS_UI_TOOLBAR (new_parent))
- {
- btb = BONOBO_UI_TOOLBAR (new_parent);
- }
- else
- {
- g_signal_connect (new_parent, "parent_set",
- G_CALLBACK (ephy_tb_button_parent_set_cb), tb);
- }
- new_parent = new_parent->parent;
- }
-
- if (gtktb)
- {
- DEBUG_MSG (("EphyTbButton getting style from a GtkToolbar (%p)\n", gtktb));
- p->in_bonobo_toobar = FALSE;
-
- gtk_widget_ensure_style (GTK_WIDGET (gtktb));
- gtk_widget_style_get (GTK_WIDGET (gtktb), "button_relief", &p->button_relief, NULL);
-
- p->orientation = gtk_toolbar_get_orientation (gtktb);
- p->style_gtk = gtk_toolbar_get_style (gtktb);
- p->icon_size = gtk_toolbar_get_icon_size (gtktb);
- p->show_tooltips = gtk_toolbar_get_tooltips (gtktb);
-
- if (p->tooltips)
- {
- g_object_unref (p->tooltips);
- }
- p->tooltips = gtk_tooltips_new ();
- if (p->show_tooltips)
- {
- gtk_tooltips_enable (p->tooltips);
- }
- else
- {
- gtk_tooltips_disable (p->tooltips);
- }
- g_object_ref (p->tooltips);
- gtk_object_sink (GTK_OBJECT (p->tooltips));
-
- g_signal_connect (gtktb, "orientation-changed",
- G_CALLBACK (ephy_tb_button_gtk_orientation_changed_cb), tb);
- g_signal_connect (gtktb, "style-changed",
- G_CALLBACK (ephy_tb_button_gtk_style_changed_cb), tb);
-
- ephy_tb_button_build (tb);
- }
-
- if (btb)
- {
- DEBUG_MSG (("EphyTbButton getting style from a BonoboUIToolbar (%p)\n", btb));
- p->in_bonobo_toobar = TRUE;
-
- p->button_relief = GTK_RELIEF_NONE;
-
- p->orientation = bonobo_ui_toolbar_get_orientation (btb);
- p->style_bonobo = bonobo_ui_toolbar_get_style (btb);
- //p->icon_size = ???;
- p->show_tooltips = TRUE;
-
- if (p->tooltips)
- {
- g_object_unref (p->tooltips);
- }
- p->tooltips = bonobo_ui_toolbar_get_tooltips (btb);
- g_object_ref (p->tooltips);
-
- g_signal_connect (btb, "set-orientation",
- G_CALLBACK (ephy_tb_button_bonobo_set_orientation_cb), tb);
- g_signal_connect (btb, "set-style",
- G_CALLBACK (ephy_tb_button_bonobo_set_style_cb), tb);
-
- ephy_tb_button_build (tb);
- }
- }
- else
- {
- while (old_parent)
- {
- g_signal_handlers_disconnect_matched (old_parent, G_SIGNAL_MATCH_DATA,
- 0, 0, NULL, NULL, tb);
- if (GTK_IS_WIDGET (old_parent))
- {
- old_parent = GTK_WIDGET (old_parent)->parent
- ? GTK_OBJECT (GTK_WIDGET (old_parent)->parent)
- : NULL;
- }
- else
- {
- old_parent = NULL;
- }
- }
- }
-}
-
-static void
-ephy_tb_button_gtk_orientation_changed_cb (GtkToolbar *toolbar, GtkOrientation orientation, EphyTbButton *b)
-{
- EphyTbButtonPrivate *p = b->priv;
- if (p->orientation != orientation)
- {
- p->orientation = orientation;
- ephy_tb_button_build (b);
- }
-}
-
-static void
-ephy_tb_button_gtk_style_changed_cb (GtkToolbar *toolbar, GtkToolbarStyle style, EphyTbButton *b)
-{
- EphyTbButtonPrivate *p = b->priv;
- if (p->style_gtk != style)
- {
- p->style_gtk = style;
- ephy_tb_button_build (b);
- }
-}
-
-static void
-ephy_tb_button_bonobo_set_orientation_cb (BonoboUIToolbar *toolbar, GtkOrientation orientation, EphyTbButton *b)
-{
- EphyTbButtonPrivate *p = b->priv;
- if (p->orientation != orientation)
- {
- p->orientation = orientation;
- ephy_tb_button_build (b);
- }
-}
-
-static void
-ephy_tb_button_bonobo_set_style_cb (BonoboUIToolbar *toolbar, EphyTbButton *b)
-{
- EphyTbButtonPrivate *p = b->priv;
- BonoboUIToolbarStyle style = bonobo_ui_toolbar_get_style (toolbar);
- if (style != p->style_bonobo)
- {
- p->style_bonobo = style;
- ephy_tb_button_build (b);
- }
-}
-
-static void
-ephy_tb_button_popup_menu_under_arrow (EphyTbButton *b, GdkEventButton *event)
-{
- EphyTbButtonPrivate *p = b->priv;
-
- if (p->menu)
- {
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (p->arrow_widget), TRUE);
- g_signal_emit (b, EphyTbButtonSignals[EPHY_TB_BUTTON_MENU_ACTIVATED], 0);
- gtk_menu_popup (p->menu, NULL, NULL, ephy_gui_menu_position_under_widget, p->arrow_widget,
- event ? event->button : 0,
- event ? event->time : gtk_get_current_event_time ());
- }
-}
-
-static void
-ephy_tb_button_menu_deactivated_cb (GtkMenuShell *ms, EphyTbButton *b)
-{
- EphyTbButtonPrivate *p = b->priv;
- if (p->arrow_widget)
- {
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (p->arrow_widget), FALSE);
- }
-}
-
-static gboolean
-ephy_tb_button_arrow_button_press_event_cb (GtkWidget *widget, GdkEventButton *event, EphyTbButton *b)
-{
- ephy_tb_button_popup_menu_under_arrow (b, event);
- return TRUE;
-}
-
-static gboolean
-ephy_tb_button_arrow_key_press_event_cb (GtkWidget *widget, GdkEventKey *event, EphyTbButton *b)
-{
- if (event->keyval == GDK_space
- || event->keyval == GDK_KP_Space
- || event->keyval == GDK_Return
- || event->keyval == GDK_KP_Enter
- || event->keyval == GDK_Menu)
- {
- ephy_tb_button_popup_menu_under_arrow (b, NULL);
- }
-
- return FALSE;
-}
-
-static gboolean
-ephy_tb_button_button_button_press_event_cb (GtkWidget *widget, GdkEventButton *event,
- EphyTbButton *b)
-{
- EphyTbButtonPrivate *p = b->priv;
-
- if (event->button == 3 && p->menu)
- {
- g_signal_emit (b, EphyTbButtonSignals[EPHY_TB_BUTTON_MENU_ACTIVATED], 0);
- gtk_menu_popup (p->menu, NULL, NULL, NULL, b,
- event ? event->button : 0,
- event ? event->time : gtk_get_current_event_time ());
- return TRUE;
- }
-
- return FALSE;
-}
-
-static void
-ephy_tb_button_button_popup_menu_cb (GtkWidget *w, EphyTbButton *b)
-{
- EphyTbButtonPrivate *p = b->priv;
-
- g_signal_emit (b, EphyTbButtonSignals[EPHY_TB_BUTTON_MENU_ACTIVATED], 0);
- gtk_menu_popup (p->menu, NULL, NULL,
- ephy_gui_menu_position_under_widget, b, 0, gtk_get_current_event_time ());
-}
-
-void
-ephy_tb_button_set_sensitivity (EphyTbButton *b, gboolean value)
-{
- EphyTbButtonPrivate *p = b->priv;
-
- p->sensitive = value;
-
- if (!p->button)
- {
- ephy_tb_button_build (b);
- }
- else
- {
- gtk_widget_set_sensitive (p->button, value);
- if (p->arrow_widget)
- {
- gtk_widget_set_sensitive (p->arrow_widget, value);
- }
- }
-}
-
diff --git a/lib/toolbar/ephy-tb-button.h b/lib/toolbar/ephy-tb-button.h
deleted file mode 100644
index 5d3d9616a..000000000
--- a/lib/toolbar/ephy-tb-button.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef EPHY_TB_BUTTON_H
-#define EPHY_TB_BUTTON_H
-
-#include <gtk/gtkhbox.h>
-#include <gtk/gtkmenushell.h>
-#include <gtk/gtkbutton.h>
-
-G_BEGIN_DECLS
-
-/* object forward declarations */
-
-typedef struct _EphyTbButton EphyTbButton;
-typedef struct _EphyTbButtonClass EphyTbButtonClass;
-typedef struct _EphyTbButtonPrivate EphyTbButtonPrivate;
-
-/**
- * TbButton object
- */
-
-#define EPHY_TYPE_TB_BUTTON (ephy_tb_button_get_type())
-#define EPHY_TB_BUTTON(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EPHY_TYPE_TB_BUTTON,\
- EphyTbButton))
-#define EPHY_TB_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EPHY_TYPE_TB_BUTTON,\
- EphyTbButtonClass))
-#define EPHY_IS_TB_BUTTON(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EPHY_TYPE_TB_BUTTON))
-#define EPHY_IS_TB_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EPHY_TYPE_TB_BUTTON))
-#define EPHY_TB_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), EPHY_TYPE_TB_BUTTON,\
- EphyTbButtonClass))
-
-struct _EphyTbButtonClass
-{
- GtkHBoxClass parent_class;
-
- void (*menu_activated) (EphyTbButton *b);
-};
-
-/* Remember: fields are public read-only */
-struct _EphyTbButton
-{
- GtkHBox parent_object;
- EphyTbButtonPrivate *priv;
-};
-
-/* this class is abstract */
-
-GType ephy_tb_button_get_type (void);
-EphyTbButton * ephy_tb_button_new (void);
-void ephy_tb_button_set_label (EphyTbButton *b, const gchar *text);
-void ephy_tb_button_set_use_stock (EphyTbButton *b, gboolean value);
-void ephy_tb_button_set_priority (EphyTbButton *b, gboolean priority);
-void ephy_tb_button_set_image (EphyTbButton *b, GtkWidget *image);
-void ephy_tb_button_set_tooltip_text (EphyTbButton *b, const gchar *text);
-void ephy_tb_button_set_show_arrow (EphyTbButton *b, gboolean value);
-void ephy_tb_button_set_enable_menu (EphyTbButton *b, gboolean value);
-GtkMenuShell * ephy_tb_button_get_menu (EphyTbButton *b);
-GtkButton * ephy_tb_button_get_button (EphyTbButton *b);
-void ephy_tb_button_set_sensitivity (EphyTbButton *b, gboolean value);
-
-G_END_DECLS
-
-#endif
diff --git a/lib/toolbar/ephy-tbi-favicon.c b/lib/toolbar/ephy-tbi-favicon.c
deleted file mode 100644
index 60b95b8f4..000000000
--- a/lib/toolbar/ephy-tbi-favicon.c
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <libgnome/gnome-i18n.h>
-#include <gtk/gtkeventbox.h>
-
-#include "ephy-gobject-misc.h"
-#include "ephy-marshal.h"
-#include "ephy-bonobo-extensions.h"
-#include "ephy-tbi-favicon.h"
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-/**
- * Private data
- */
-struct _EphyTbiFaviconPrivate
-{
- GtkWidget *widget;
-};
-
-/**
- * Private functions, only availble from this file
- */
-static void ephy_tbi_favicon_class_init (EphyTbiFaviconClass *klass);
-static void ephy_tbi_favicon_init (EphyTbiFavicon *tb);
-static void ephy_tbi_favicon_finalize_impl (GObject *o);
-static GtkWidget * ephy_tbi_favicon_get_widget_impl (EphyTbItem *i);
-static GdkPixbuf * ephy_tbi_favicon_get_icon_impl (EphyTbItem *i);
-static gchar * ephy_tbi_favicon_get_name_human_impl (EphyTbItem *i);
-static gchar * ephy_tbi_favicon_to_string_impl (EphyTbItem *i);
-static gboolean ephy_tbi_favicon_is_unique_impl (EphyTbItem *i);
-static EphyTbItem * ephy_tbi_favicon_clone_impl (EphyTbItem *i);
-static void ephy_tbi_favicon_parse_properties_impl (EphyTbItem *i, const gchar *props);
-static void ephy_tbi_favicon_add_to_bonobo_tb_impl (EphyTbItem *i,
- BonoboUIComponent *ui,
- const char *container_path,
- guint index);
-
-static gpointer ephy_tb_item_class;
-
-/**
- * TbiFavicon object
- */
-
-MAKE_GET_TYPE (ephy_tbi_favicon, "EphyTbiFavicon", EphyTbiFavicon, ephy_tbi_favicon_class_init,
- ephy_tbi_favicon_init, EPHY_TYPE_TB_ITEM);
-
-static void
-ephy_tbi_favicon_class_init (EphyTbiFaviconClass *klass)
-{
- G_OBJECT_CLASS (klass)->finalize = ephy_tbi_favicon_finalize_impl;
-
- EPHY_TB_ITEM_CLASS (klass)->get_widget = ephy_tbi_favicon_get_widget_impl;
- EPHY_TB_ITEM_CLASS (klass)->get_icon = ephy_tbi_favicon_get_icon_impl;
- EPHY_TB_ITEM_CLASS (klass)->get_name_human = ephy_tbi_favicon_get_name_human_impl;
- EPHY_TB_ITEM_CLASS (klass)->to_string = ephy_tbi_favicon_to_string_impl;
- EPHY_TB_ITEM_CLASS (klass)->is_unique = ephy_tbi_favicon_is_unique_impl;
- EPHY_TB_ITEM_CLASS (klass)->clone = ephy_tbi_favicon_clone_impl;
- EPHY_TB_ITEM_CLASS (klass)->parse_properties = ephy_tbi_favicon_parse_properties_impl;
- EPHY_TB_ITEM_CLASS (klass)->add_to_bonobo_tb = ephy_tbi_favicon_add_to_bonobo_tb_impl;
-
- ephy_tb_item_class = g_type_class_peek_parent (klass);
-}
-
-static void
-ephy_tbi_favicon_init (EphyTbiFavicon *tb)
-{
- EphyTbiFaviconPrivate *p = g_new0 (EphyTbiFaviconPrivate, 1);
- tb->priv = p;
-}
-
-EphyTbiFavicon *
-ephy_tbi_favicon_new (void)
-{
- EphyTbiFavicon *ret = g_object_new (EPHY_TYPE_TBI_FAVICON, NULL);
- return ret;
-}
-
-static void
-ephy_tbi_favicon_finalize_impl (GObject *o)
-{
- EphyTbiFavicon *it = EPHY_TBI_FAVICON (o);
- EphyTbiFaviconPrivate *p = it->priv;
-
- if (p->widget)
- {
- g_object_unref (p->widget);
- }
-
- g_free (p);
-
- DEBUG_MSG (("EphyTbiFavicon finalized\n"));
-
- G_OBJECT_CLASS (ephy_tb_item_class)->finalize (o);
-}
-
-static GtkWidget *
-ephy_tbi_favicon_get_widget_impl (EphyTbItem *i)
-{
- EphyTbiFavicon *iz = EPHY_TBI_FAVICON (i);
- EphyTbiFaviconPrivate *p = iz->priv;
-
- if (!p->widget)
- {
- /* here, we create only the event_box. */
- p->widget = gtk_event_box_new ();
- g_object_ref (p->widget);
- gtk_object_sink (GTK_OBJECT (p->widget));
- }
-
- return p->widget;
-}
-
-static GdkPixbuf *
-ephy_tbi_favicon_get_icon_impl (EphyTbItem *i)
-{
- /* need an icon for this */
- return NULL;
-}
-
-static gchar *
-ephy_tbi_favicon_get_name_human_impl (EphyTbItem *i)
-{
- return g_strdup (_("Drag Handle"));
-}
-
-static gchar *
-ephy_tbi_favicon_to_string_impl (EphyTbItem *i)
-{
- /* if it had any properties, the string should include them */
- return g_strdup_printf ("%s=favicon", i->id);
-}
-
-static gboolean
-ephy_tbi_favicon_is_unique_impl (EphyTbItem *i)
-{
- return TRUE;
-}
-
-static EphyTbItem *
-ephy_tbi_favicon_clone_impl (EphyTbItem *i)
-{
- EphyTbItem *ret = EPHY_TB_ITEM (ephy_tbi_favicon_new ());
-
- ephy_tb_item_set_id (ret, i->id);
-
- /* should copy properties too, if any */
-
- return ret;
-}
-
-static void
-ephy_tbi_favicon_add_to_bonobo_tb_impl (EphyTbItem *i, BonoboUIComponent *ui,
- const char *container_path, guint index)
-{
- GtkWidget *w = ephy_tb_item_get_widget (i);
- gtk_widget_show (w);
- ephy_bonobo_add_numbered_widget (ui, w, index, container_path);
-}
-
-static void
-ephy_tbi_favicon_parse_properties_impl (EphyTbItem *it, const gchar *props)
-{
- /* we have no properties */
-}
-
diff --git a/lib/toolbar/ephy-tbi-favicon.h b/lib/toolbar/ephy-tbi-favicon.h
deleted file mode 100644
index 7cea6f634..000000000
--- a/lib/toolbar/ephy-tbi-favicon.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef EPHY_TBI_FAVICON_H
-#define EPHY_TBI_FAVICON_H
-
-#include "ephy-toolbar-item.h"
-
-G_BEGIN_DECLS
-
-/* object forward declarations */
-
-typedef struct _EphyTbiFavicon EphyTbiFavicon;
-typedef struct _EphyTbiFaviconClass EphyTbiFaviconClass;
-typedef struct _EphyTbiFaviconPrivate EphyTbiFaviconPrivate;
-
-/**
- * TbiFavicon object
- */
-
-#define EPHY_TYPE_TBI_FAVICON (ephy_tbi_favicon_get_type())
-#define EPHY_TBI_FAVICON(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EPHY_TYPE_TBI_FAVICON,\
- EphyTbiFavicon))
-#define EPHY_TBI_FAVICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EPHY_TYPE_TBI_FAVICON,\
- EphyTbiFaviconClass))
-#define EPHY_IS_TBI_FAVICON(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EPHY_TYPE_TBI_FAVICON))
-#define EPHY_IS_TBI_FAVICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EPHY_TYPE_TBI_FAVICON))
-#define EPHY_TBI_FAVICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), EPHY_TYPE_TBI_FAVICON,\
- EphyTbiFaviconClass))
-
-struct _EphyTbiFaviconClass
-{
- EphyTbItemClass parent_class;
-};
-
-/* Remember: fields are public read-only */
-struct _EphyTbiFavicon
-{
- EphyTbItem parent_object;
-
- EphyTbiFaviconPrivate *priv;
-};
-
-/* this class is abstract */
-
-GType ephy_tbi_favicon_get_type (void);
-EphyTbiFavicon * ephy_tbi_favicon_new (void);
-
-G_END_DECLS
-
-#endif
diff --git a/lib/toolbar/ephy-tbi-location.c b/lib/toolbar/ephy-tbi-location.c
deleted file mode 100644
index 0ccbaf83a..000000000
--- a/lib/toolbar/ephy-tbi-location.c
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <libgnome/gnome-i18n.h>
-#include "ephy-gobject-misc.h"
-#include "ephy-marshal.h"
-#include "ephy-bonobo-extensions.h"
-#include "ephy-tbi-location.h"
-#include "ephy-location-entry.h"
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-/**
- * Private data
- */
-struct _EphyTbiLocationPrivate
-{
- GtkWidget *widget;
-};
-
-/**
- * Private functions, only availble from this file
- */
-static void ephy_tbi_location_class_init (EphyTbiLocationClass *klass);
-static void ephy_tbi_location_init (EphyTbiLocation *tb);
-static void ephy_tbi_location_finalize_impl (GObject *o);
-static GtkWidget * ephy_tbi_location_get_widget_impl (EphyTbItem *i);
-static GdkPixbuf * ephy_tbi_location_get_icon_impl (EphyTbItem *i);
-static gchar * ephy_tbi_location_get_name_human_impl (EphyTbItem *i);
-static gchar * ephy_tbi_location_to_string_impl (EphyTbItem *i);
-static gboolean ephy_tbi_location_is_unique_impl (EphyTbItem *i);
-static EphyTbItem * ephy_tbi_location_clone_impl (EphyTbItem *i);
-static void ephy_tbi_location_parse_properties_impl (EphyTbItem *i, const gchar *props);
-static void ephy_tbi_location_add_to_bonobo_tb_impl (EphyTbItem *i,
- BonoboUIComponent *ui,
- const char *container_path,
- guint index);
-
-static gpointer ephy_tb_item_class;
-
-/**
- * TbiLocation object
- */
-
-MAKE_GET_TYPE (ephy_tbi_location, "EphyTbiLocation", EphyTbiLocation, ephy_tbi_location_class_init,
- ephy_tbi_location_init, EPHY_TYPE_TB_ITEM);
-
-static void
-ephy_tbi_location_class_init (EphyTbiLocationClass *klass)
-{
- G_OBJECT_CLASS (klass)->finalize = ephy_tbi_location_finalize_impl;
-
- EPHY_TB_ITEM_CLASS (klass)->get_widget = ephy_tbi_location_get_widget_impl;
- EPHY_TB_ITEM_CLASS (klass)->get_icon = ephy_tbi_location_get_icon_impl;
- EPHY_TB_ITEM_CLASS (klass)->get_name_human = ephy_tbi_location_get_name_human_impl;
- EPHY_TB_ITEM_CLASS (klass)->to_string = ephy_tbi_location_to_string_impl;
- EPHY_TB_ITEM_CLASS (klass)->is_unique = ephy_tbi_location_is_unique_impl;
- EPHY_TB_ITEM_CLASS (klass)->clone = ephy_tbi_location_clone_impl;
- EPHY_TB_ITEM_CLASS (klass)->parse_properties = ephy_tbi_location_parse_properties_impl;
- EPHY_TB_ITEM_CLASS (klass)->add_to_bonobo_tb = ephy_tbi_location_add_to_bonobo_tb_impl;
-
- ephy_tb_item_class = g_type_class_peek_parent (klass);
-}
-
-static void
-ephy_tbi_location_init (EphyTbiLocation *tb)
-{
- EphyTbiLocationPrivate *p = g_new0 (EphyTbiLocationPrivate, 1);
- tb->priv = p;
-}
-
-EphyTbiLocation *
-ephy_tbi_location_new (void)
-{
- EphyTbiLocation *ret = g_object_new (EPHY_TYPE_TBI_LOCATION, NULL);
- return ret;
-}
-
-static void
-ephy_tbi_location_finalize_impl (GObject *o)
-{
- EphyTbiLocation *it = EPHY_TBI_LOCATION (o);
- EphyTbiLocationPrivate *p = it->priv;
-
- if (p->widget)
- {
- g_object_unref (p->widget);
- }
-
- g_free (p);
-
- DEBUG_MSG (("EphyTbiLocation finalized\n"));
-
- G_OBJECT_CLASS (ephy_tb_item_class)->finalize (o);
-}
-
-static GtkWidget *
-ephy_tbi_location_get_widget_impl (EphyTbItem *i)
-{
- EphyTbiLocation *iz = EPHY_TBI_LOCATION (i);
- EphyTbiLocationPrivate *p = iz->priv;
-
- if (!p->widget)
- {
- p->widget = GTK_WIDGET (ephy_location_entry_new ());
- g_object_ref (p->widget);
- gtk_object_sink (GTK_OBJECT (p->widget));
- }
-
- return p->widget;
-}
-
-static GdkPixbuf *
-ephy_tbi_location_get_icon_impl (EphyTbItem *i)
-{
- return NULL;
-}
-
-static gchar *
-ephy_tbi_location_get_name_human_impl (EphyTbItem *i)
-{
- return g_strdup (_("Location entry"));
-}
-
-static gchar *
-ephy_tbi_location_to_string_impl (EphyTbItem *i)
-{
- /* if it had any properties, the string should include them */
- return g_strdup_printf ("%s=location", i->id);
-}
-
-static gboolean
-ephy_tbi_location_is_unique_impl (EphyTbItem *i)
-{
- return TRUE;
-}
-
-static EphyTbItem *
-ephy_tbi_location_clone_impl (EphyTbItem *i)
-{
- EphyTbItem *ret = EPHY_TB_ITEM (ephy_tbi_location_new ());
-
- ephy_tb_item_set_id (ret, i->id);
-
- /* should copy properties too, if any */
- /* the location value is not copied, not sure if it should... */
-
- return ret;
-}
-
-static void
-ephy_tbi_location_add_to_bonobo_tb_impl (EphyTbItem *i, BonoboUIComponent *uic,
- const char *container_path, guint index)
-{
- GtkWidget *w = ephy_tb_item_get_widget (i);
- BonoboControl *control;
- char *xml_string, *control_path;
-
- gtk_widget_show (w);
-
- g_return_if_fail (BONOBO_IS_UI_COMPONENT (uic));
- g_return_if_fail (container_path != NULL);
-
- xml_string = g_strdup_printf ("<control name=\"location\" behavior=\"expandable\"/>");
-
- bonobo_ui_component_set (uic, container_path, xml_string, NULL);
-
- g_free (xml_string);
-
- control_path = g_strconcat (container_path, "/location", NULL);
-
- control = bonobo_control_new (w);
- bonobo_ui_component_object_set (uic, control_path, BONOBO_OBJREF (control), NULL);
- bonobo_object_unref (control);
-
- g_free (control_path);
-}
-
-static void
-ephy_tbi_location_parse_properties_impl (EphyTbItem *it, const gchar *props)
-{
- /* we have no properties */
-}
-
diff --git a/lib/toolbar/ephy-tbi-location.h b/lib/toolbar/ephy-tbi-location.h
deleted file mode 100644
index 9188463f6..000000000
--- a/lib/toolbar/ephy-tbi-location.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef EPHY_TBI_LOCATION_H
-#define EPHY_TBI_LOCATION_H
-
-#include "ephy-toolbar-item.h"
-
-G_BEGIN_DECLS
-
-/* object forward declarations */
-
-typedef struct _EphyTbiLocation EphyTbiLocation;
-typedef struct _EphyTbiLocationClass EphyTbiLocationClass;
-typedef struct _EphyTbiLocationPrivate EphyTbiLocationPrivate;
-
-/**
- * TbiLocation object
- */
-
-#define EPHY_TYPE_TBI_LOCATION (ephy_tbi_location_get_type())
-#define EPHY_TBI_LOCATION(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EPHY_TYPE_TBI_LOCATION,\
- EphyTbiLocation))
-#define EPHY_TBI_LOCATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EPHY_TYPE_TBI_LOCATION,\
- EphyTbiLocationClass))
-#define EPHY_IS_TBI_LOCATION(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EPHY_TYPE_TBI_LOCATION))
-#define EPHY_IS_TBI_LOCATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EPHY_TYPE_TBI_LOCATION))
-#define EPHY_TBI_LOCATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), EPHY_TYPE_TBI_LOCATION,\
- EphyTbiLocationClass))
-
-struct _EphyTbiLocationClass
-{
- EphyTbItemClass parent_class;
-};
-
-/* Remember: fields are public read-only */
-struct _EphyTbiLocation
-{
- EphyTbItem parent_object;
-
- EphyTbiLocationPrivate *priv;
-};
-
-/* this class is abstract */
-
-GType ephy_tbi_location_get_type (void);
-EphyTbiLocation * ephy_tbi_location_new (void);
-
-G_END_DECLS
-
-#endif
diff --git a/lib/toolbar/ephy-tbi-navigation-history.c b/lib/toolbar/ephy-tbi-navigation-history.c
deleted file mode 100644
index c6edc9865..000000000
--- a/lib/toolbar/ephy-tbi-navigation-history.c
+++ /dev/null
@@ -1,342 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <libgnome/gnome-i18n.h>
-#include <bonobo/bonobo-ui-toolbar-button-item.h>
-#include <bonobo/bonobo-property-bag.h>
-#include <gtk/gtktogglebutton.h>
-#include <gtk/gtkstock.h>
-#include <string.h>
-
-#include "ephy-tbi-navigation-history.h"
-#include "ephy-gobject-misc.h"
-#include "ephy-marshal.h"
-#include "ephy-bonobo-extensions.h"
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-/**
- * Private data
- */
-struct _EphyTbiNavigationHistoryPrivate
-{
- GtkWidget *widget;
-
- EphyTbiNavigationHistoryDirection direction;
-};
-
-enum
-{
- TOOLBAR_ITEM_STYLE_PROP,
- TOOLBAR_ITEM_ORIENTATION_PROP,
- TOOLBAR_ITEM_PRIORITY_PROP
-};
-
-/**
- * Private functions, only availble from this file
- */
-static void ephy_tbi_navigation_history_class_init (EphyTbiNavigationHistoryClass *klass);
-static void ephy_tbi_navigation_history_init (EphyTbiNavigationHistory *tb);
-static void ephy_tbi_navigation_history_finalize_impl (GObject *o);
-static GtkWidget * ephy_tbi_navigation_history_get_widget_impl (EphyTbItem *i);
-static GdkPixbuf * ephy_tbi_navigation_history_get_icon_impl (EphyTbItem *i);
-static gchar * ephy_tbi_navigation_history_get_name_human_impl (EphyTbItem *i);
-static gchar * ephy_tbi_navigation_history_to_string_impl (EphyTbItem *i);
-static gboolean ephy_tbi_navigation_history_is_unique_impl (EphyTbItem *i);
-static EphyTbItem * ephy_tbi_navigation_history_clone_impl (EphyTbItem *i);
-static void ephy_tbi_navigation_history_parse_properties_impl (EphyTbItem *i, const gchar *props);
-static void ephy_tbi_navigation_history_add_to_bonobo_tb_impl (EphyTbItem *i,
- BonoboUIComponent *ui,
- const char *container_path,
- guint index);
-
-static gpointer ephy_tb_item_class;
-
-/**
- * TbiNavigationHistory object
- */
-
-MAKE_GET_TYPE (ephy_tbi_navigation_history, "EphyTbiNavigationHistory", EphyTbiNavigationHistory,
- ephy_tbi_navigation_history_class_init,
- ephy_tbi_navigation_history_init, EPHY_TYPE_TB_ITEM);
-
-static void
-ephy_tbi_navigation_history_class_init (EphyTbiNavigationHistoryClass *klass)
-{
- G_OBJECT_CLASS (klass)->finalize = ephy_tbi_navigation_history_finalize_impl;
-
- EPHY_TB_ITEM_CLASS (klass)->get_widget = ephy_tbi_navigation_history_get_widget_impl;
- EPHY_TB_ITEM_CLASS (klass)->get_icon = ephy_tbi_navigation_history_get_icon_impl;
- EPHY_TB_ITEM_CLASS (klass)->get_name_human = ephy_tbi_navigation_history_get_name_human_impl;
- EPHY_TB_ITEM_CLASS (klass)->to_string = ephy_tbi_navigation_history_to_string_impl;
- EPHY_TB_ITEM_CLASS (klass)->is_unique = ephy_tbi_navigation_history_is_unique_impl;
- EPHY_TB_ITEM_CLASS (klass)->clone = ephy_tbi_navigation_history_clone_impl;
- EPHY_TB_ITEM_CLASS (klass)->parse_properties = ephy_tbi_navigation_history_parse_properties_impl;
- EPHY_TB_ITEM_CLASS (klass)->add_to_bonobo_tb = ephy_tbi_navigation_history_add_to_bonobo_tb_impl;
-
- ephy_tb_item_class = g_type_class_peek_parent (klass);
-}
-
-static void
-ephy_tbi_navigation_history_init (EphyTbiNavigationHistory *tb)
-{
- EphyTbiNavigationHistoryPrivate *p = g_new0 (EphyTbiNavigationHistoryPrivate, 1);
- tb->priv = p;
-
- p->direction = EPHY_TBI_NAVIGATION_HISTORY_BACK;
-}
-
-EphyTbiNavigationHistory *
-ephy_tbi_navigation_history_new (void)
-{
- EphyTbiNavigationHistory *ret = g_object_new (EPHY_TYPE_TBI_NAVIGATION_HISTORY, NULL);
- return ret;
-}
-
-static void
-ephy_tbi_navigation_history_finalize_impl (GObject *o)
-{
- EphyTbiNavigationHistory *it = EPHY_TBI_NAVIGATION_HISTORY (o);
- EphyTbiNavigationHistoryPrivate *p = it->priv;
-
- if (p->widget)
- {
- g_object_unref (p->widget);
- }
-
- g_free (p);
-
- DEBUG_MSG (("EphyTbiNavigationHistory finalized\n"));
-
- G_OBJECT_CLASS (ephy_tb_item_class)->finalize (o);
-}
-
-static GtkWidget *
-ephy_tbi_navigation_history_get_widget_impl (EphyTbItem *i)
-{
- EphyTbiNavigationHistory *iz = EPHY_TBI_NAVIGATION_HISTORY (i);
- EphyTbiNavigationHistoryPrivate *p = iz->priv;
-
- DEBUG_MSG (("in ephy_tbi_navigation_history_get_widget_impl\n"));
- if (!p->widget)
- {
- DEBUG_MSG (("in ephy_tbi_navigation_history_get_widget_impl, really\n"));
-
- p->widget = gtk_toggle_button_new ();
- gtk_button_set_relief (GTK_BUTTON (p->widget), GTK_RELIEF_NONE);
-
- gtk_container_add (GTK_CONTAINER (p->widget),
- gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_OUT));
-
- g_object_ref (p->widget);
- gtk_object_sink (GTK_OBJECT (p->widget));
- }
-
- return p->widget;
-}
-
-static GdkPixbuf *
-ephy_tbi_navigation_history_get_icon_impl (EphyTbItem *i)
-{
- return NULL;
-}
-
-static gchar *
-ephy_tbi_navigation_history_get_name_human_impl (EphyTbItem *i)
-{
- EphyTbiNavigationHistoryPrivate *p = EPHY_TBI_NAVIGATION_HISTORY (i)->priv;
- const gchar *ret;
-
- switch (p->direction)
- {
- case EPHY_TBI_NAVIGATION_HISTORY_BACK:
- ret = _("Back History");
- break;
- case EPHY_TBI_NAVIGATION_HISTORY_FORWARD:
- ret = _("Forward History");
- break;
- case EPHY_TBI_NAVIGATION_HISTORY_UP:
- ret = _("Up Several Levels");
- break;
- default:
- g_assert_not_reached ();
- ret = "unknown";
- }
-
- return g_strdup (ret);
-}
-
-static gchar *
-ephy_tbi_navigation_history_to_string_impl (EphyTbItem *i)
-{
- EphyTbiNavigationHistoryPrivate *p = EPHY_TBI_NAVIGATION_HISTORY (i)->priv;
-
- /* if it had any properties, the string should include them */
- const char *sdir;
-
- switch (p->direction)
- {
- case EPHY_TBI_NAVIGATION_HISTORY_BACK:
- sdir = "back";
- break;
- case EPHY_TBI_NAVIGATION_HISTORY_FORWARD:
- sdir = "forward";
- break;
- case EPHY_TBI_NAVIGATION_HISTORY_UP:
- sdir = "up";
- break;
- default:
- g_assert_not_reached ();
- sdir = "unknown";
- }
-
- return g_strdup_printf ("%s=navigation_history(direction=%s)", i->id, sdir);
-}
-
-static gboolean
-ephy_tbi_navigation_history_is_unique_impl (EphyTbItem *i)
-{
- return TRUE;
-}
-
-static EphyTbItem *
-ephy_tbi_navigation_history_clone_impl (EphyTbItem *i)
-{
- EphyTbiNavigationHistoryPrivate *p = EPHY_TBI_NAVIGATION_HISTORY (i)->priv;
- EphyTbItem *ret = EPHY_TB_ITEM (ephy_tbi_navigation_history_new ());
-
- ephy_tb_item_set_id (ret, i->id);
-
- /* should copy properties too, if any */
- ephy_tbi_navigation_history_set_direction (EPHY_TBI_NAVIGATION_HISTORY (ret), p->direction);
-
- return ret;
-}
-
-static void
-ephy_tbi_navigation_history_property_set_cb (BonoboPropertyBag *bag,
- const BonoboArg *arg,
- guint arg_id,
- CORBA_Environment *ev,
- gpointer user_data)
-{
- BonoboControl *control;
- BonoboUIToolbarItem *item;
- GtkOrientation orientation;
- BonoboUIToolbarItemStyle style;
-
- control = BONOBO_CONTROL (user_data);
- item = BONOBO_UI_TOOLBAR_ITEM (bonobo_control_get_widget (control));
-
- switch (arg_id) {
- case TOOLBAR_ITEM_ORIENTATION_PROP:
- orientation = BONOBO_ARG_GET_INT (arg);
- bonobo_ui_toolbar_item_set_orientation (item, orientation);
-
- if (GTK_WIDGET (item)->parent) {
- gtk_widget_queue_resize (GTK_WIDGET (item)->parent);
- }
- break;
- case TOOLBAR_ITEM_STYLE_PROP:
- style = BONOBO_ARG_GET_INT (arg);
- bonobo_ui_toolbar_item_set_style (item, style);
- break;
- }
-}
-
-static void
-ephy_tbi_navigation_history_add_to_bonobo_tb_impl (EphyTbItem *i, BonoboUIComponent *ui,
- const char *container_path, guint index)
-{
- BonoboPropertyBag *pb;
- BonoboControl *wrapper;
- BonoboUIToolbarItem *item;
- GtkWidget *button;
-
- DEBUG_MSG (("in ephy_tbi_navigation_history_add_to_bonobo_tb_impl\n"));
-
- item = BONOBO_UI_TOOLBAR_ITEM (bonobo_ui_toolbar_item_new ());
-
- button = ephy_tb_item_get_widget (i);
- gtk_container_add (GTK_CONTAINER (item), button);
- gtk_widget_show_all (GTK_WIDGET (item));
-
- wrapper = ephy_bonobo_add_numbered_control (ui, GTK_WIDGET (item), index, container_path);
-
- pb = bonobo_property_bag_new
- (NULL, ephy_tbi_navigation_history_property_set_cb, wrapper);
- bonobo_property_bag_add (pb, "style",
- TOOLBAR_ITEM_STYLE_PROP,
- BONOBO_ARG_INT, NULL, NULL,
- Bonobo_PROPERTY_WRITEABLE);
- bonobo_property_bag_add (pb, "orientation",
- TOOLBAR_ITEM_ORIENTATION_PROP,
- BONOBO_ARG_INT, NULL, NULL,
- Bonobo_PROPERTY_WRITEABLE);
- bonobo_control_set_properties (wrapper, BONOBO_OBJREF (pb), NULL);
- bonobo_object_unref (pb);
-}
-
-static void
-ephy_tbi_navigation_history_parse_properties_impl (EphyTbItem *it, const gchar *props)
-{
- EphyTbiNavigationHistory *a = EPHY_TBI_NAVIGATION_HISTORY (it);
-
- /* yes, this is quite hacky, but works */
-
- /* we have aproperty, the direction */
- const gchar *direc_prop;
-
- direc_prop = strstr (props, "direction=");
- if (direc_prop)
- {
- direc_prop += strlen ("direction=");
- if (!strncmp (direc_prop, "back", 4))
- {
- ephy_tbi_navigation_history_set_direction (a, EPHY_TBI_NAVIGATION_HISTORY_BACK);
- }
- else if (!strncmp (direc_prop, "forward", 4))
- {
- ephy_tbi_navigation_history_set_direction (a, EPHY_TBI_NAVIGATION_HISTORY_FORWARD);
- }
- else if (!strncmp (direc_prop, "up", 2))
- {
- ephy_tbi_navigation_history_set_direction (a, EPHY_TBI_NAVIGATION_HISTORY_UP);
- }
- }
-}
-
-void
-ephy_tbi_navigation_history_set_direction (EphyTbiNavigationHistory *a, EphyTbiNavigationHistoryDirection d)
-{
- EphyTbiNavigationHistoryPrivate *p = a->priv;
-
- g_return_if_fail (d == EPHY_TBI_NAVIGATION_HISTORY_UP
- || d == EPHY_TBI_NAVIGATION_HISTORY_BACK
- || d == EPHY_TBI_NAVIGATION_HISTORY_FORWARD);
-
- p->direction = d;
-
-}
-
diff --git a/lib/toolbar/ephy-tbi-navigation-history.h b/lib/toolbar/ephy-tbi-navigation-history.h
deleted file mode 100644
index 29cb6c32a..000000000
--- a/lib/toolbar/ephy-tbi-navigation-history.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef EPHY_TBI_NAVIGATION_HISTORY_H
-#define EPHY_TBI_NAVIGATION_HISTORY_H
-
-#include "ephy-toolbar-item.h"
-
-G_BEGIN_DECLS
-
-/* object forward declarations */
-
-typedef struct _EphyTbiNavigationHistory EphyTbiNavigationHistory;
-typedef struct _EphyTbiNavigationHistoryClass EphyTbiNavigationHistoryClass;
-typedef struct _EphyTbiNavigationHistoryPrivate EphyTbiNavigationHistoryPrivate;
-
-/**
- * TbiNavigationHistory object
- */
-
-#define EPHY_TYPE_TBI_NAVIGATION_HISTORY (ephy_tbi_navigation_history_get_type())
-#define EPHY_TBI_NAVIGATION_HISTORY(object) (G_TYPE_CHECK_INSTANCE_CAST((object), \
- EPHY_TYPE_TBI_NAVIGATION_HISTORY,\
- EphyTbiNavigationHistory))
-#define EPHY_TBI_NAVIGATION_HISTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), \
- EPHY_TYPE_TBI_NAVIGATION_HISTORY,\
- EphyTbiNavigationHistoryClass))
-#define EPHY_IS_TBI_NAVIGATION_HISTORY(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), \
- EPHY_TYPE_TBI_NAVIGATION_HISTORY))
-#define EPHY_IS_TBI_NAVIGATION_HISTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), \
- EPHY_TYPE_TBI_NAVIGATION_HISTORY))
-#define EPHY_TBI_NAVIGATION_HISTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), \
- EPHY_TYPE_TBI_NAVIGATION_HISTORY,\
- EphyTbiNavigationHistoryClass))
-typedef enum
-{
- EPHY_TBI_NAVIGATION_HISTORY_UP,
- EPHY_TBI_NAVIGATION_HISTORY_BACK,
- EPHY_TBI_NAVIGATION_HISTORY_FORWARD
-} EphyTbiNavigationHistoryDirection;
-
-
-struct _EphyTbiNavigationHistoryClass
-{
- EphyTbItemClass parent_class;
-};
-
-/* Remember: fields are public read-only */
-struct _EphyTbiNavigationHistory
-{
- EphyTbItem parent_object;
-
- EphyTbiNavigationHistoryPrivate *priv;
-};
-
-/* this class is abstract */
-
-GType ephy_tbi_navigation_history_get_type (void);
-EphyTbiNavigationHistory *ephy_tbi_navigation_history_new (void);
-void ephy_tbi_navigation_history_set_direction (EphyTbiNavigationHistory *a,
- EphyTbiNavigationHistoryDirection d);
-
-G_END_DECLS
-
-#endif
-
diff --git a/lib/toolbar/ephy-tbi-separator.c b/lib/toolbar/ephy-tbi-separator.c
deleted file mode 100644
index 43f69bd96..000000000
--- a/lib/toolbar/ephy-tbi-separator.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <libgnome/gnome-i18n.h>
-#include <gtk/gtkstock.h>
-
-#include "ephy-tbi-separator.h"
-#include "ephy-gobject-misc.h"
-#include "ephy-marshal.h"
-#include "ephy-bonobo-extensions.h"
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-/**
- * Private data
- */
-struct _EphyTbiSeparatorPrivate
-{
- GtkWidget *widget;
-};
-
-/**
- * Private functions, only availble from this file
- */
-static void ephy_tbi_separator_class_init (EphyTbiSeparatorClass *klass);
-static void ephy_tbi_separator_init (EphyTbiSeparator *tb);
-static void ephy_tbi_separator_finalize_impl (GObject *o);
-static GtkWidget * ephy_tbi_separator_get_widget_impl (EphyTbItem *i);
-static GdkPixbuf * ephy_tbi_separator_get_icon_impl (EphyTbItem *i);
-static gchar * ephy_tbi_separator_get_name_human_impl (EphyTbItem *i);
-static gchar * ephy_tbi_separator_to_string_impl (EphyTbItem *i);
-static gboolean ephy_tbi_separator_is_unique_impl (EphyTbItem *i);
-static EphyTbItem * ephy_tbi_separator_clone_impl (EphyTbItem *i);
-static void ephy_tbi_separator_parse_properties_impl(EphyTbItem *i, const gchar *props);
-static void ephy_tbi_separator_add_to_bonobo_tb_impl(EphyTbItem *i,
- BonoboUIComponent *ui,
- const char *container_path,
- guint index);
-
-static gpointer ephy_tb_item_class;
-
-/**
- * TbiSeparator object
- */
-
-MAKE_GET_TYPE (ephy_tbi_separator, "EphyTbiSeparator", EphyTbiSeparator, ephy_tbi_separator_class_init,
- ephy_tbi_separator_init, EPHY_TYPE_TB_ITEM);
-
-static void
-ephy_tbi_separator_class_init (EphyTbiSeparatorClass *klass)
-{
- G_OBJECT_CLASS (klass)->finalize = ephy_tbi_separator_finalize_impl;
-
- EPHY_TB_ITEM_CLASS (klass)->get_widget = ephy_tbi_separator_get_widget_impl;
- EPHY_TB_ITEM_CLASS (klass)->get_icon = ephy_tbi_separator_get_icon_impl;
- EPHY_TB_ITEM_CLASS (klass)->get_name_human = ephy_tbi_separator_get_name_human_impl;
- EPHY_TB_ITEM_CLASS (klass)->to_string = ephy_tbi_separator_to_string_impl;
- EPHY_TB_ITEM_CLASS (klass)->is_unique = ephy_tbi_separator_is_unique_impl;
- EPHY_TB_ITEM_CLASS (klass)->clone = ephy_tbi_separator_clone_impl;
- EPHY_TB_ITEM_CLASS (klass)->parse_properties = ephy_tbi_separator_parse_properties_impl;
- EPHY_TB_ITEM_CLASS (klass)->add_to_bonobo_tb = ephy_tbi_separator_add_to_bonobo_tb_impl;
-
- ephy_tb_item_class = g_type_class_peek_parent (klass);
-}
-
-static void
-ephy_tbi_separator_init (EphyTbiSeparator *tb)
-{
- EphyTbiSeparatorPrivate *p = g_new0 (EphyTbiSeparatorPrivate, 1);
- tb->priv = p;
-}
-
-EphyTbiSeparator *
-ephy_tbi_separator_new (void)
-{
- EphyTbiSeparator *ret = g_object_new (EPHY_TYPE_TBI_SEPARATOR, NULL);
- return ret;
-}
-
-static void
-ephy_tbi_separator_finalize_impl (GObject *o)
-{
- EphyTbiSeparator *it = EPHY_TBI_SEPARATOR (o);
- EphyTbiSeparatorPrivate *p = it->priv;
-
- if (p->widget)
- {
- g_object_unref (p->widget);
- }
-
- g_free (p);
-
- DEBUG_MSG (("EphyTbiSeparator finalized\n"));
-
- G_OBJECT_CLASS (ephy_tb_item_class)->finalize (o);
-}
-
-static GtkWidget *
-ephy_tbi_separator_get_widget_impl (EphyTbItem *i)
-{
- return NULL;
-}
-
-static GdkPixbuf *
-ephy_tbi_separator_get_icon_impl (EphyTbItem *i)
-{
- return NULL;
-}
-
-static gchar *
-ephy_tbi_separator_get_name_human_impl (EphyTbItem *i)
-{
- return g_strdup (_("Separator"));
-}
-
-static gchar *
-ephy_tbi_separator_to_string_impl (EphyTbItem *i)
-{
- /* if it had any properties, the string should include them */
- return g_strdup_printf ("%s=separator", i->id);
-}
-
-static gboolean
-ephy_tbi_separator_is_unique_impl (EphyTbItem *i)
-{
- return FALSE;
-}
-
-static EphyTbItem *
-ephy_tbi_separator_clone_impl (EphyTbItem *i)
-{
- EphyTbItem *ret = EPHY_TB_ITEM (ephy_tbi_separator_new ());
-
- ephy_tb_item_set_id (ret, i->id);
-
- /* should copy properties too, if any */
-
- return ret;
-}
-
-static void
-ephy_tbi_separator_add_to_bonobo_tb_impl (EphyTbItem *i, BonoboUIComponent *ui,
- const char *container_path, guint index)
-{
- static gint hack = 0;
- gchar *xml;
-
- xml = g_strdup_printf ("<separator name=\"sep%d\"/>", ++hack);
- bonobo_ui_component_set (ui, container_path, xml, NULL);
- g_free (xml);
-}
-
-static void
-ephy_tbi_separator_parse_properties_impl (EphyTbItem *it, const gchar *props)
-{
- /* we have no properties */
-}
-
diff --git a/lib/toolbar/ephy-tbi-separator.h b/lib/toolbar/ephy-tbi-separator.h
deleted file mode 100644
index 754d85fec..000000000
--- a/lib/toolbar/ephy-tbi-separator.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef EPHY_TBI_SEPARATOR_H
-#define EPHY_TBI_SEPARATOR_H
-
-#include "ephy-toolbar-item.h"
-
-G_BEGIN_DECLS
-
-/* object forward declarations */
-
-typedef struct _EphyTbiSeparator EphyTbiSeparator;
-typedef struct _EphyTbiSeparatorClass EphyTbiSeparatorClass;
-typedef struct _EphyTbiSeparatorPrivate EphyTbiSeparatorPrivate;
-
-/**
- * TbiSeparator object
- */
-
-#define EPHY_TYPE_TBI_SEPARATOR (ephy_tbi_separator_get_type())
-#define EPHY_TBI_SEPARATOR(object) (G_TYPE_CHECK_INSTANCE_CAST((object), \
- EPHY_TYPE_TBI_SEPARATOR,\
- EphyTbiSeparator))
-#define EPHY_TBI_SEPARATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EPHY_TYPE_TBI_SEPARATOR,\
- EphyTbiSeparatorClass))
-#define EPHY_IS_TBI_SEPARATOR(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), \
- EPHY_TYPE_TBI_SEPARATOR))
-#define EPHY_IS_TBI_SEPARATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EPHY_TYPE_TBI_SEPARATOR))
-#define EPHY_TBI_SEPARATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), EPHY_TYPE_TBI_SEPARATOR,\
- EphyTbiSeparatorClass))
-
-struct _EphyTbiSeparatorClass
-{
- EphyTbItemClass parent_class;
-};
-
-/* Remember: fields are public read-only */
-struct _EphyTbiSeparator
-{
- EphyTbItem parent_object;
-
- EphyTbiSeparatorPrivate *priv;
-};
-
-/* this class is abstract */
-
-GType ephy_tbi_separator_get_type (void);
-EphyTbiSeparator * ephy_tbi_separator_new (void);
-
-G_END_DECLS
-
-#endif
diff --git a/lib/toolbar/ephy-tbi-spinner.c b/lib/toolbar/ephy-tbi-spinner.c
deleted file mode 100644
index 309e3eb91..000000000
--- a/lib/toolbar/ephy-tbi-spinner.c
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <libgnome/gnome-i18n.h>
-#include <gtk/gtkhbox.h>
-
-#include "ephy-tbi-spinner.h"
-#include "ephy-gobject-misc.h"
-#include "ephy-marshal.h"
-#include "ephy-bonobo-extensions.h"
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-/**
- * Private data
- */
-struct _EphyTbiSpinnerPrivate
-{
- GtkWidget *widget;
-};
-
-/**
- * Private functions, only availble from this file
- */
-static void ephy_tbi_spinner_class_init (EphyTbiSpinnerClass *klass);
-static void ephy_tbi_spinner_init (EphyTbiSpinner *tb);
-static void ephy_tbi_spinner_finalize_impl (GObject *o);
-static GtkWidget * ephy_tbi_spinner_get_widget_impl (EphyTbItem *i);
-static GdkPixbuf * ephy_tbi_spinner_get_icon_impl (EphyTbItem *i);
-static gchar * ephy_tbi_spinner_get_name_human_impl (EphyTbItem *i);
-static gchar * ephy_tbi_spinner_to_string_impl (EphyTbItem *i);
-static gboolean ephy_tbi_spinner_is_unique_impl (EphyTbItem *i);
-static EphyTbItem * ephy_tbi_spinner_clone_impl (EphyTbItem *i);
-static void ephy_tbi_spinner_parse_properties_impl (EphyTbItem *i, const gchar *props);
-static void ephy_tbi_spinner_add_to_bonobo_tb_impl (EphyTbItem *i,
- BonoboUIComponent *ui,
- const char *container_path,
- guint index);
-
-static gpointer ephy_tb_item_class;
-
-/**
- * TbiSpinner object
- */
-
-MAKE_GET_TYPE (ephy_tbi_spinner, "EphyTbiSpinner", EphyTbiSpinner, ephy_tbi_spinner_class_init,
- ephy_tbi_spinner_init, EPHY_TYPE_TB_ITEM);
-
-static void
-ephy_tbi_spinner_class_init (EphyTbiSpinnerClass *klass)
-{
- G_OBJECT_CLASS (klass)->finalize = ephy_tbi_spinner_finalize_impl;
-
- EPHY_TB_ITEM_CLASS (klass)->get_widget = ephy_tbi_spinner_get_widget_impl;
- EPHY_TB_ITEM_CLASS (klass)->get_icon = ephy_tbi_spinner_get_icon_impl;
- EPHY_TB_ITEM_CLASS (klass)->get_name_human = ephy_tbi_spinner_get_name_human_impl;
- EPHY_TB_ITEM_CLASS (klass)->to_string = ephy_tbi_spinner_to_string_impl;
- EPHY_TB_ITEM_CLASS (klass)->is_unique = ephy_tbi_spinner_is_unique_impl;
- EPHY_TB_ITEM_CLASS (klass)->clone = ephy_tbi_spinner_clone_impl;
- EPHY_TB_ITEM_CLASS (klass)->parse_properties = ephy_tbi_spinner_parse_properties_impl;
- EPHY_TB_ITEM_CLASS (klass)->add_to_bonobo_tb = ephy_tbi_spinner_add_to_bonobo_tb_impl;
-
- ephy_tb_item_class = g_type_class_peek_parent (klass);
-}
-
-static void
-ephy_tbi_spinner_init (EphyTbiSpinner *tb)
-{
- EphyTbiSpinnerPrivate *p = g_new0 (EphyTbiSpinnerPrivate, 1);
- tb->priv = p;
-}
-
-EphyTbiSpinner *
-ephy_tbi_spinner_new (void)
-{
- EphyTbiSpinner *ret = g_object_new (EPHY_TYPE_TBI_SPINNER, NULL);
- return ret;
-}
-
-static void
-ephy_tbi_spinner_finalize_impl (GObject *o)
-{
- EphyTbiSpinner *it = EPHY_TBI_SPINNER (o);
- EphyTbiSpinnerPrivate *p = it->priv;
-
- if (p->widget)
- {
- g_object_unref (p->widget);
- }
-
- g_free (p);
-
- DEBUG_MSG (("EphyTbiSpinner finalized\n"));
-
- G_OBJECT_CLASS (ephy_tb_item_class)->finalize (o);
-}
-
-static GtkWidget *
-ephy_tbi_spinner_get_widget_impl (EphyTbItem *i)
-{
- EphyTbiSpinner *iz = EPHY_TBI_SPINNER (i);
- EphyTbiSpinnerPrivate *p = iz->priv;
-
- if (!p->widget)
- {
- /* here, we create only a box */
- p->widget = gtk_hbox_new (FALSE, 0);
- g_object_ref (p->widget);
- gtk_object_sink (GTK_OBJECT (p->widget));
- }
-
- return p->widget;
-}
-
-static GdkPixbuf *
-ephy_tbi_spinner_get_icon_impl (EphyTbItem *i)
-{
- /* need an icon for this */
- return NULL;
-}
-
-static gchar *
-ephy_tbi_spinner_get_name_human_impl (EphyTbItem *i)
-{
- return g_strdup (_("Spinner"));
-}
-
-static gchar *
-ephy_tbi_spinner_to_string_impl (EphyTbItem *i)
-{
- /* if it had any properties, the string should include them */
- return g_strdup_printf ("%s=spinner", i->id);
-}
-
-static gboolean
-ephy_tbi_spinner_is_unique_impl (EphyTbItem *i)
-{
- return TRUE;
-}
-
-static EphyTbItem *
-ephy_tbi_spinner_clone_impl (EphyTbItem *i)
-{
- EphyTbItem *ret = EPHY_TB_ITEM (ephy_tbi_spinner_new ());
-
- ephy_tb_item_set_id (ret, i->id);
-
- /* should copy properties too, if any */
-
- return ret;
-}
-
-static void
-ephy_tbi_spinner_add_to_bonobo_tb_impl (EphyTbItem *i, BonoboUIComponent *ui,
- const char *container_path, guint index)
-{
- GtkWidget *w = ephy_tb_item_get_widget (i);
- gtk_widget_show (w);
- ephy_bonobo_add_numbered_widget (ui, w, index, container_path);
-}
-
-static void
-ephy_tbi_spinner_parse_properties_impl (EphyTbItem *it, const gchar *props)
-{
- /* we have no properties */
-}
-
diff --git a/lib/toolbar/ephy-tbi-spinner.h b/lib/toolbar/ephy-tbi-spinner.h
deleted file mode 100644
index 1bb04f277..000000000
--- a/lib/toolbar/ephy-tbi-spinner.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef EPHY_TBI_SPINNER_H
-#define EPHY_TBI_SPINNER_H
-
-#include "ephy-toolbar-item.h"
-
-G_BEGIN_DECLS
-
-/* object forward declarations */
-
-typedef struct _EphyTbiSpinner EphyTbiSpinner;
-typedef struct _EphyTbiSpinnerClass EphyTbiSpinnerClass;
-typedef struct _EphyTbiSpinnerPrivate EphyTbiSpinnerPrivate;
-
-/**
- * TbiSpinner object
- */
-
-#define EPHY_TYPE_TBI_SPINNER (ephy_tbi_spinner_get_type())
-#define EPHY_TBI_SPINNER(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EPHY_TYPE_TBI_SPINNER,\
- EphyTbiSpinner))
-#define EPHY_TBI_SPINNER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EPHY_TYPE_TBI_SPINNER,\
- EphyTbiSpinnerClass))
-#define EPHY_IS_TBI_SPINNER(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EPHY_TYPE_TBI_SPINNER))
-#define EPHY_IS_TBI_SPINNER_CLASS(klass)(G_TYPE_CHECK_CLASS_TYPE((klass), EPHY_TYPE_TBI_SPINNER))
-#define EPHY_TBI_SPINNER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), EPHY_TYPE_TBI_SPINNER,\
- EphyTbiSpinnerClass))
-
-struct _EphyTbiSpinnerClass
-{
- EphyTbItemClass parent_class;
-};
-
-/* Remember: fields are public read-only */
-struct _EphyTbiSpinner
-{
- EphyTbItem parent_object;
-
- EphyTbiSpinnerPrivate *priv;
-};
-
-/* this class is abstract */
-
-GType ephy_tbi_spinner_get_type (void);
-EphyTbiSpinner * ephy_tbi_spinner_new (void);
-
-G_END_DECLS
-
-#endif
diff --git a/lib/toolbar/ephy-tbi-std-toolitem.c b/lib/toolbar/ephy-tbi-std-toolitem.c
deleted file mode 100644
index 4b7f3864c..000000000
--- a/lib/toolbar/ephy-tbi-std-toolitem.c
+++ /dev/null
@@ -1,407 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <libgnome/gnome-i18n.h>
-#include <bonobo/bonobo-ui-toolbar-button-item.h>
-#include <bonobo/bonobo-property-bag.h>
-#include <gtk/gtkstock.h>
-#include <string.h>
-
-#include "ephy-tbi-std-toolitem.h"
-#include "ephy-gobject-misc.h"
-#include "ephy-marshal.h"
-#include "ephy-bonobo-extensions.h"
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-/**
- * Private data
- */
-struct _EphyTbiStdToolitemPrivate
-{
- GtkWidget *widget;
-
- EphyTbiStdToolitemItem item;
-};
-
-
-/**
- * Private functions, only availble from this file
- */
-static void ephy_tbi_std_toolitem_class_init (EphyTbiStdToolitemClass *klass);
-static void ephy_tbi_std_toolitem_init (EphyTbiStdToolitem *tb);
-static void ephy_tbi_std_toolitem_finalize_impl (GObject *o);
-static GtkWidget * ephy_tbi_std_toolitem_get_widget_impl (EphyTbItem *i);
-static GdkPixbuf * ephy_tbi_std_toolitem_get_icon_impl (EphyTbItem *i);
-static gchar * ephy_tbi_std_toolitem_get_name_human_impl (EphyTbItem *i);
-static gchar * ephy_tbi_std_toolitem_to_string_impl (EphyTbItem *i);
-static gboolean ephy_tbi_std_toolitem_is_unique_impl (EphyTbItem *i);
-static EphyTbItem * ephy_tbi_std_toolitem_clone_impl (EphyTbItem *i);
-static void ephy_tbi_std_toolitem_parse_properties_impl (EphyTbItem *i, const gchar *props);
-static void ephy_tbi_std_toolitem_add_to_bonobo_tb_impl (EphyTbItem *i,
- BonoboUIComponent *ui,
- const char *container_path,
- guint index);
-
-static gpointer ephy_tb_item_class;
-
-/**
- * TbiStdToolitem object
- */
-
-MAKE_GET_TYPE (ephy_tbi_std_toolitem, "EphyTbiStdToolitem", EphyTbiStdToolitem,
- ephy_tbi_std_toolitem_class_init,
- ephy_tbi_std_toolitem_init, EPHY_TYPE_TB_ITEM);
-
-static void
-ephy_tbi_std_toolitem_class_init (EphyTbiStdToolitemClass *klass)
-{
- G_OBJECT_CLASS (klass)->finalize = ephy_tbi_std_toolitem_finalize_impl;
-
- EPHY_TB_ITEM_CLASS (klass)->get_widget = ephy_tbi_std_toolitem_get_widget_impl;
- EPHY_TB_ITEM_CLASS (klass)->get_icon = ephy_tbi_std_toolitem_get_icon_impl;
- EPHY_TB_ITEM_CLASS (klass)->get_name_human = ephy_tbi_std_toolitem_get_name_human_impl;
- EPHY_TB_ITEM_CLASS (klass)->to_string = ephy_tbi_std_toolitem_to_string_impl;
- EPHY_TB_ITEM_CLASS (klass)->is_unique = ephy_tbi_std_toolitem_is_unique_impl;
- EPHY_TB_ITEM_CLASS (klass)->clone = ephy_tbi_std_toolitem_clone_impl;
- EPHY_TB_ITEM_CLASS (klass)->parse_properties = ephy_tbi_std_toolitem_parse_properties_impl;
- EPHY_TB_ITEM_CLASS (klass)->add_to_bonobo_tb = ephy_tbi_std_toolitem_add_to_bonobo_tb_impl;
-
- ephy_tb_item_class = g_type_class_peek_parent (klass);
-}
-
-static void
-ephy_tbi_std_toolitem_init (EphyTbiStdToolitem *tb)
-{
- EphyTbiStdToolitemPrivate *p = g_new0 (EphyTbiStdToolitemPrivate, 1);
- tb->priv = p;
-
- p->item = EPHY_TBI_STD_TOOLITEM_STOP;
-}
-
-EphyTbiStdToolitem *
-ephy_tbi_std_toolitem_new (void)
-{
- EphyTbiStdToolitem *ret = g_object_new (EPHY_TYPE_TBI_STD_TOOLITEM, NULL);
- return ret;
-}
-
-static void
-ephy_tbi_std_toolitem_finalize_impl (GObject *o)
-{
- EphyTbiStdToolitem *it = EPHY_TBI_STD_TOOLITEM (o);
- EphyTbiStdToolitemPrivate *p = it->priv;
-
- if (p->widget)
- {
- g_object_unref (p->widget);
- }
-
- g_free (p);
-
- DEBUG_MSG (("EphyTbiStdToolitem finalized\n"));
-
- G_OBJECT_CLASS (ephy_tb_item_class)->finalize (o);
-}
-
-static GtkWidget *
-ephy_tbi_std_toolitem_get_widget_impl (EphyTbItem *i)
-{
- /* no widget avaible ... */
- return NULL;
-}
-
-static GdkPixbuf *
-ephy_tbi_std_toolitem_get_icon_impl (EphyTbItem *i)
-{
- EphyTbiStdToolitemPrivate *p = EPHY_TBI_STD_TOOLITEM (i)->priv;
-
- static GdkPixbuf *pb_stop = NULL;
- static GdkPixbuf *pb_reload = NULL;
- static GdkPixbuf *pb_home = NULL;
- static GdkPixbuf *pb_go = NULL;
- static GdkPixbuf *pb_new = NULL;
-
- if (!pb_stop)
- {
- /* what's the easier way? */
- GtkWidget *b = gtk_spin_button_new_with_range (0, 1, 0.5);
- pb_stop = gtk_widget_render_icon (b,
- GTK_STOCK_STOP,
- GTK_ICON_SIZE_SMALL_TOOLBAR,
- NULL);
- pb_reload = gtk_widget_render_icon (b,
- GTK_STOCK_REFRESH,
- GTK_ICON_SIZE_SMALL_TOOLBAR,
- NULL);
- pb_home = gtk_widget_render_icon (b,
- GTK_STOCK_HOME,
- GTK_ICON_SIZE_SMALL_TOOLBAR,
- NULL);
- pb_go = gtk_widget_render_icon (b,
- GTK_STOCK_JUMP_TO,
- GTK_ICON_SIZE_SMALL_TOOLBAR,
- NULL);
- pb_new = gtk_widget_render_icon (b,
- GTK_STOCK_NEW,
- GTK_ICON_SIZE_SMALL_TOOLBAR,
- NULL);
- gtk_widget_destroy (b);
- }
-
- switch (p->item)
- {
- case EPHY_TBI_STD_TOOLITEM_STOP:
- return g_object_ref (pb_stop);
- break;
- case EPHY_TBI_STD_TOOLITEM_RELOAD:
- return g_object_ref (pb_reload);
- break;
- case EPHY_TBI_STD_TOOLITEM_HOME:
- return g_object_ref (pb_home);
- break;
- case EPHY_TBI_STD_TOOLITEM_GO:
- return g_object_ref (pb_go);
- break;
- case EPHY_TBI_STD_TOOLITEM_NEW:
- return g_object_ref (pb_new);
- break;
- case EPHY_TBI_STD_TOOLITEM_ERROR:
- return NULL;
- break;
- default:
- g_assert_not_reached ();
- return NULL;
- }
-}
-
-static gchar *
-ephy_tbi_std_toolitem_get_name_human_impl (EphyTbItem *i)
-{
- EphyTbiStdToolitemPrivate *p = EPHY_TBI_STD_TOOLITEM (i)->priv;
- const gchar *ret;
-
- switch (p->item)
- {
- case EPHY_TBI_STD_TOOLITEM_STOP:
- ret = _("Stop");
- break;
- case EPHY_TBI_STD_TOOLITEM_RELOAD:
- ret = _("Reload");
- break;
- case EPHY_TBI_STD_TOOLITEM_HOME:
- ret = _("Home");
- break;
- case EPHY_TBI_STD_TOOLITEM_GO:
- ret = _("Go");
- break;
- case EPHY_TBI_STD_TOOLITEM_NEW:
- ret = _("New");
- break;
- case EPHY_TBI_STD_TOOLITEM_ERROR:
- ret = "Erroneous button";
- break;
- default:
- g_assert_not_reached ();
- ret = "unknown";
- }
-
- return g_strdup (ret);
-}
-
-static gchar *
-ephy_tbi_std_toolitem_to_string_impl (EphyTbItem *i)
-{
- EphyTbiStdToolitemPrivate *p = EPHY_TBI_STD_TOOLITEM (i)->priv;
-
- /* if it had any properties, the string should include them */
- const char *sitem;
-
- switch (p->item)
- {
- case EPHY_TBI_STD_TOOLITEM_STOP:
- sitem = "stop";
- break;
- case EPHY_TBI_STD_TOOLITEM_RELOAD:
- sitem = "reload";
- break;
- case EPHY_TBI_STD_TOOLITEM_HOME:
- sitem = "home";
- break;
- case EPHY_TBI_STD_TOOLITEM_GO:
- sitem = "go";
- break;
- case EPHY_TBI_STD_TOOLITEM_NEW:
- sitem = "new";
- break;
- case EPHY_TBI_STD_TOOLITEM_ERROR:
- sitem = "error";
- break;
- default:
- g_assert_not_reached ();
- sitem = "unknown";
- }
-
- return g_strdup_printf ("%s=std_toolitem(item=%s)", i->id, sitem);
-}
-
-static gboolean
-ephy_tbi_std_toolitem_is_unique_impl (EphyTbItem *i)
-{
- return TRUE;
-}
-
-static EphyTbItem *
-ephy_tbi_std_toolitem_clone_impl (EphyTbItem *i)
-{
- EphyTbiStdToolitemPrivate *p = EPHY_TBI_STD_TOOLITEM (i)->priv;
-
- EphyTbItem *ret = EPHY_TB_ITEM (ephy_tbi_std_toolitem_new ());
-
- ephy_tb_item_set_id (ret, i->id);
-
- /* should copy properties too, if any */
- ephy_tbi_std_toolitem_set_item (EPHY_TBI_STD_TOOLITEM (ret), p->item);
-
- return ret;
-}
-
-
-static void
-ephy_tbi_std_toolitem_add_to_bonobo_tb_impl (EphyTbItem *i, BonoboUIComponent *ui,
- const char *container_path, guint index)
-{
- EphyTbiStdToolitemPrivate *p = EPHY_TBI_STD_TOOLITEM (i)->priv;
- gchar *xml_item;
-
- switch (p->item)
- {
- case EPHY_TBI_STD_TOOLITEM_STOP:
- xml_item = g_strdup_printf
- ("<toolitem name=\"Stop\" "
- "label=\"%s\" "
- "pixtype=\"stock\" pixname=\"gtk-stop\" "
- "verb=\"GoStop\"/>", _("Stop"));
- break;
- case EPHY_TBI_STD_TOOLITEM_RELOAD:
- xml_item = g_strdup_printf
- ("<toolitem name=\"Reload\" "
- "label=\"%s\" "
- "pixtype=\"stock\" pixname=\"gtk-refresh\" "
- "verb=\"GoReload\"/>", _("Reload"));
- break;
- case EPHY_TBI_STD_TOOLITEM_HOME:
- xml_item = g_strdup_printf
- ("<toolitem name=\"Home\" "
- "label=\"%s\" "
- "pixtype=\"stock\" pixname=\"gtk-home\" "
- "priority=\"1\" "
- "verb=\"GoHome\"/>", _("Home"));;
- break;
- case EPHY_TBI_STD_TOOLITEM_GO:
- xml_item = g_strdup_printf
- ("<toolitem name=\"Go\" "
- "label=\"%s\" "
- "pixtype=\"stock\" pixname=\"gtk-jump-to\" "
- "verb=\"GoGo\"/>", _("Go"));;
- break;
- case EPHY_TBI_STD_TOOLITEM_NEW:
- xml_item = g_strdup_printf
- ("<toolitem name=\"New\" "
- "label=\"%s\" "
- "pixtype=\"stock\" pixname=\"gtk-new\" "
- "verb=\"FileNew\"/>", _("New"));;
- break;
- case EPHY_TBI_STD_TOOLITEM_ERROR:
- xml_item = g_strdup_printf
- ("<toolitem name=\"Error\" "
- "label=\"%s\" "
- "pixtype=\"stock\" pixname=\"gtk-cancel\" "
- "priority=\"1\" "
- "verb=\"ErrorVerb\"/>", "Erroneous button");
- break;
- default:
- g_assert_not_reached ();
- xml_item = g_strdup ("");
- }
-
- bonobo_ui_component_set (ui, container_path, xml_item, NULL);
- g_free (xml_item);
-}
-
-static void
-ephy_tbi_std_toolitem_parse_properties_impl (EphyTbItem *it, const gchar *props)
-{
- EphyTbiStdToolitem *a = EPHY_TBI_STD_TOOLITEM (it);
-
- /* yes, this is quite hacky, but works */
-
- /* we have one property */
- const gchar *item_prop;
-
- item_prop = strstr (props, "item=");
- if (item_prop)
- {
- item_prop += strlen ("item=");
- if (!strncmp (item_prop, "stop", 4))
- {
- ephy_tbi_std_toolitem_set_item (a, EPHY_TBI_STD_TOOLITEM_STOP);
- }
- else if (!strncmp (item_prop, "home", 4))
- {
- ephy_tbi_std_toolitem_set_item (a, EPHY_TBI_STD_TOOLITEM_HOME);
- }
- else if (!strncmp (item_prop, "go", 2))
- {
- ephy_tbi_std_toolitem_set_item (a, EPHY_TBI_STD_TOOLITEM_GO);
- }
- else if (!strncmp (item_prop, "reload", 6))
- {
- ephy_tbi_std_toolitem_set_item (a, EPHY_TBI_STD_TOOLITEM_RELOAD);
- }
- else if (!strncmp (item_prop, "new", 3))
- {
- ephy_tbi_std_toolitem_set_item (a, EPHY_TBI_STD_TOOLITEM_NEW);
- }
- else
- {
- ephy_tbi_std_toolitem_set_item (a, EPHY_TBI_STD_TOOLITEM_ERROR);
- }
- }
-}
-
-void
-ephy_tbi_std_toolitem_set_item (EphyTbiStdToolitem *a, EphyTbiStdToolitemItem i)
-{
- EphyTbiStdToolitemPrivate *p = a->priv;
-
- g_return_if_fail (i == EPHY_TBI_STD_TOOLITEM_STOP
- || i == EPHY_TBI_STD_TOOLITEM_RELOAD
- || i == EPHY_TBI_STD_TOOLITEM_GO
- || i == EPHY_TBI_STD_TOOLITEM_HOME
- || i == EPHY_TBI_STD_TOOLITEM_NEW);
-
- p->item = i;
-}
-
diff --git a/lib/toolbar/ephy-tbi-std-toolitem.h b/lib/toolbar/ephy-tbi-std-toolitem.h
deleted file mode 100644
index c47d5d7ea..000000000
--- a/lib/toolbar/ephy-tbi-std-toolitem.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef EPHY_TBI_STD_TOOLITEM_H
-#define EPHY_TBI_STD_TOOLITEM_H
-
-#include "ephy-toolbar-item.h"
-
-G_BEGIN_DECLS
-
-/* object forward declarations */
-
-typedef struct _EphyTbiStdToolitem EphyTbiStdToolitem;
-typedef struct _EphyTbiStdToolitemClass EphyTbiStdToolitemClass;
-typedef struct _EphyTbiStdToolitemPrivate EphyTbiStdToolitemPrivate;
-
-/**
- * TbiStdToolitem object
- */
-
-#define EPHY_TYPE_TBI_STD_TOOLITEM (ephy_tbi_std_toolitem_get_type())
-#define EPHY_TBI_STD_TOOLITEM(object) (G_TYPE_CHECK_INSTANCE_CAST((object), \
- EPHY_TYPE_TBI_STD_TOOLITEM,\
- EphyTbiStdToolitem))
-#define EPHY_TBI_STD_TOOLITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), \
- EPHY_TYPE_TBI_STD_TOOLITEM,\
- EphyTbiStdToolitemClass))
-#define EPHY_IS_TBI_STD_TOOLITEM(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), \
- EPHY_TYPE_TBI_STD_TOOLITEM))
-#define EPHY_IS_TBI_STD_TOOLITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), \
- EPHY_TYPE_TBI_STD_TOOLITEM))
-#define EPHY_TBI_STD_TOOLITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), \
- EPHY_TYPE_TBI_STD_TOOLITEM,\
- EphyTbiStdToolitemClass))
-typedef enum
-{
- EPHY_TBI_STD_TOOLITEM_STOP,
- EPHY_TBI_STD_TOOLITEM_RELOAD,
- EPHY_TBI_STD_TOOLITEM_HOME,
- EPHY_TBI_STD_TOOLITEM_GO,
- EPHY_TBI_STD_TOOLITEM_NEW,
- EPHY_TBI_STD_TOOLITEM_ERROR
-} EphyTbiStdToolitemItem;
-
-
-struct _EphyTbiStdToolitemClass
-{
- EphyTbItemClass parent_class;
-};
-
-/* Remember: fields are public read-only */
-struct _EphyTbiStdToolitem
-{
- EphyTbItem parent_object;
-
- EphyTbiStdToolitemPrivate *priv;
-};
-
-/* this class is abstract */
-
-GType ephy_tbi_std_toolitem_get_type (void);
-EphyTbiStdToolitem * ephy_tbi_std_toolitem_new (void);
-void ephy_tbi_std_toolitem_set_item (EphyTbiStdToolitem *sit,
- EphyTbiStdToolitemItem it);
-
-G_END_DECLS
-
-#endif
-
diff --git a/lib/toolbar/ephy-tbi-zoom.c b/lib/toolbar/ephy-tbi-zoom.c
deleted file mode 100644
index e7846f954..000000000
--- a/lib/toolbar/ephy-tbi-zoom.c
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <libgnome/gnome-i18n.h>
-#include <gtk/gtkspinbutton.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtkstock.h>
-#include <gtk/gtkhbox.h>
-#include <gtk/gtkvbox.h>
-#include <string.h>
-
-#include "ephy-tbi-zoom.h"
-#include "ephy-prefs.h"
-#include "eel-gconf-extensions.h"
-#include "ephy-gobject-misc.h"
-#include "ephy-marshal.h"
-#include "ephy-bonobo-extensions.h"
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-/**
- * Private data
- */
-struct _EphyTbiZoomPrivate
-{
- GtkWidget *widget;
- GtkWidget *label;
- GtkWidget *hbox;
- GtkWidget *vbox;
- guint notification;
-};
-
-enum
-{
- TOOLBAR_ITEM_STYLE_PROP,
- TOOLBAR_ITEM_ORIENTATION_PROP,
- TOOLBAR_ITEM_WANT_LABEL_PROP
-};
-
-/**
- * Private functions, only availble from this file
- */
-static void ephy_tbi_zoom_class_init (EphyTbiZoomClass *klass);
-static void ephy_tbi_zoom_init (EphyTbiZoom *tb);
-static void ephy_tbi_zoom_finalize_impl (GObject *o);
-static GtkWidget * ephy_tbi_zoom_get_widget_impl (EphyTbItem *i);
-static GdkPixbuf * ephy_tbi_zoom_get_icon_impl (EphyTbItem *i);
-static gchar * ephy_tbi_zoom_get_name_human_impl (EphyTbItem *i);
-static gchar * ephy_tbi_zoom_to_string_impl (EphyTbItem *i);
-static gboolean ephy_tbi_zoom_is_unique_impl (EphyTbItem *i);
-static EphyTbItem * ephy_tbi_zoom_clone_impl (EphyTbItem *i);
-static void ephy_tbi_zoom_parse_properties_impl (EphyTbItem *i, const gchar *props);
-static void ephy_tbi_zoom_add_to_bonobo_tb_impl (EphyTbItem *i,
- BonoboUIComponent *ui,
- const char *container_path,
- guint index);
-static void ephy_tbi_zoom_setup_label (EphyTbiZoom *it);
-static void ephy_tbi_zoom_notification_cb (GConfClient* client,
- guint cnxn_id,
- GConfEntry *entry,
- gpointer user_data);
-
-
-static gpointer ephy_tb_item_class;
-
-/**
- * TbiZoom object
- */
-
-MAKE_GET_TYPE (ephy_tbi_zoom, "EphyTbiZoom", EphyTbiZoom, ephy_tbi_zoom_class_init,
- ephy_tbi_zoom_init, EPHY_TYPE_TB_ITEM);
-
-static void
-ephy_tbi_zoom_class_init (EphyTbiZoomClass *klass)
-{
- G_OBJECT_CLASS (klass)->finalize = ephy_tbi_zoom_finalize_impl;
-
- EPHY_TB_ITEM_CLASS (klass)->get_widget = ephy_tbi_zoom_get_widget_impl;
- EPHY_TB_ITEM_CLASS (klass)->get_icon = ephy_tbi_zoom_get_icon_impl;
- EPHY_TB_ITEM_CLASS (klass)->get_name_human = ephy_tbi_zoom_get_name_human_impl;
- EPHY_TB_ITEM_CLASS (klass)->to_string = ephy_tbi_zoom_to_string_impl;
- EPHY_TB_ITEM_CLASS (klass)->is_unique = ephy_tbi_zoom_is_unique_impl;
- EPHY_TB_ITEM_CLASS (klass)->clone = ephy_tbi_zoom_clone_impl;
- EPHY_TB_ITEM_CLASS (klass)->parse_properties = ephy_tbi_zoom_parse_properties_impl;
- EPHY_TB_ITEM_CLASS (klass)->add_to_bonobo_tb = ephy_tbi_zoom_add_to_bonobo_tb_impl;
-
- ephy_tb_item_class = g_type_class_peek_parent (klass);
-}
-
-static void
-ephy_tbi_zoom_init (EphyTbiZoom *tbi)
-{
- EphyTbiZoomPrivate *p = g_new0 (EphyTbiZoomPrivate, 1);
- tbi->priv = p;
-
- p->notification = eel_gconf_notification_add (CONF_DESKTOP_TOOLBAR_STYLE,
- ephy_tbi_zoom_notification_cb,
- tbi);
-}
-
-EphyTbiZoom *
-ephy_tbi_zoom_new (void)
-{
- EphyTbiZoom *ret = g_object_new (EPHY_TYPE_TBI_ZOOM, NULL);
- return ret;
-}
-
-static void
-ephy_tbi_zoom_finalize_impl (GObject *o)
-{
- EphyTbiZoom *it = EPHY_TBI_ZOOM (o);
- EphyTbiZoomPrivate *p = it->priv;
-
- if (p->widget)
- {
- g_object_unref (p->widget);
- }
-
- if (p->label)
- {
- g_object_unref (p->label);
- }
-
- if (p->vbox)
- {
- g_object_unref (p->vbox);
- }
-
- if (p->hbox)
- {
- g_object_unref (p->hbox);
- }
-
- if (p->notification)
- {
- eel_gconf_notification_remove (p->notification);
- }
-
- g_free (p);
-
- DEBUG_MSG (("EphyTbiZoom finalized\n"));
-
- G_OBJECT_CLASS (ephy_tb_item_class)->finalize (o);
-}
-
-static GtkWidget *
-ephy_tbi_zoom_get_widget_impl (EphyTbItem *i)
-{
- EphyTbiZoom *iz = EPHY_TBI_ZOOM (i);
- EphyTbiZoomPrivate *p = iz->priv;
-
- if (!p->widget)
- {
- p->widget = gtk_spin_button_new_with_range (10, 990, 10);
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (p->widget), 100);
- g_object_ref (p->widget);
- gtk_object_sink (GTK_OBJECT (p->widget));
- p->label = gtk_label_new (_("Zoom"));
- g_object_ref (p->label);
- gtk_object_sink (GTK_OBJECT (p->label));
- p->vbox = gtk_vbox_new (FALSE, 0);
- g_object_ref (p->vbox);
- gtk_object_sink (GTK_OBJECT (p->vbox));
- p->hbox = gtk_hbox_new (FALSE, 0);
- g_object_ref (p->hbox);
- gtk_object_sink (GTK_OBJECT (p->hbox));
-
- gtk_box_pack_start_defaults (GTK_BOX (p->hbox), p->vbox);
- gtk_box_pack_start_defaults (GTK_BOX (p->vbox), p->widget);
- gtk_widget_show (p->vbox);
- gtk_widget_show (p->hbox);
- }
-
- return p->widget;
-}
-
-static GdkPixbuf *
-ephy_tbi_zoom_get_icon_impl (EphyTbItem *i)
-{
- static GdkPixbuf *pb = NULL;
- if (!pb)
- {
- /* what's the easier way? */
- GtkWidget *b = gtk_spin_button_new_with_range (0, 1, 0.5);
- pb = gtk_widget_render_icon (b,
- GTK_STOCK_ZOOM_IN,
- GTK_ICON_SIZE_SMALL_TOOLBAR,
- NULL);
- gtk_widget_destroy (b);
- }
- return g_object_ref (pb);
-}
-
-static gchar *
-ephy_tbi_zoom_get_name_human_impl (EphyTbItem *i)
-{
- return g_strdup (_("Zoom"));
-}
-
-static gchar *
-ephy_tbi_zoom_to_string_impl (EphyTbItem *i)
-{
- /* if it had any properties, the string should include them */
- return g_strdup_printf ("%s=zoom", i->id);
-}
-
-static gboolean
-ephy_tbi_zoom_is_unique_impl (EphyTbItem *i)
-{
- return TRUE;
-}
-
-static EphyTbItem *
-ephy_tbi_zoom_clone_impl (EphyTbItem *i)
-{
- EphyTbItem *ret = EPHY_TB_ITEM (ephy_tbi_zoom_new ());
-
- ephy_tb_item_set_id (ret, i->id);
-
- /* should copy properties too, if any */
- /* the zoom value is not copied, not sure if it should... */
-
- return ret;
-}
-
-static void
-ephy_tbi_zoom_add_to_bonobo_tb_impl (EphyTbItem *i, BonoboUIComponent *ui,
- const char *container_path, guint index)
-{
- GtkWidget *w = ephy_tb_item_get_widget (i);
- EphyTbiZoomPrivate *p = EPHY_TBI_ZOOM (i)->priv;
- gtk_widget_show (w);
- ephy_bonobo_add_numbered_widget (ui, p->hbox, index, container_path);
- ephy_tbi_zoom_setup_label (EPHY_TBI_ZOOM (i));
-}
-
-static void
-ephy_tbi_zoom_parse_properties_impl (EphyTbItem *it, const gchar *props)
-{
- /* we have no properties */
-}
-
-static void
-ephy_tbi_zoom_setup_label (EphyTbiZoom *it)
-{
- EphyTbiZoomPrivate *p = it->priv;
- gchar *style = eel_gconf_get_string (CONF_DESKTOP_TOOLBAR_STYLE);
- ephy_tb_item_get_widget (EPHY_TB_ITEM (it));
-
- g_object_ref (p->label);
- if (p->label->parent)
- {
- gtk_container_remove (GTK_CONTAINER (p->label->parent), p->label);
- }
-
- if (!strcmp (style, "both_horiz") || !strcmp (style, "text"))
- {
- gtk_widget_show (p->label);
- gtk_box_pack_start_defaults (GTK_BOX (p->hbox), p->label);
- }
- else if (!strcmp (style, "both"))
- {
- gtk_widget_show (p->label);
- gtk_box_pack_start_defaults (GTK_BOX (p->vbox), p->label);
- }
- else
- {
- gtk_widget_hide (p->label);
- }
-
- g_free (style);
- g_object_unref (p->label);
-}
-
-static void
-ephy_tbi_zoom_notification_cb (GConfClient* client,
- guint cnxn_id,
- GConfEntry *entry,
- gpointer user_data)
-{
- ephy_tbi_zoom_setup_label (user_data);
-}
-
diff --git a/lib/toolbar/ephy-tbi-zoom.h b/lib/toolbar/ephy-tbi-zoom.h
deleted file mode 100644
index 03f0ed61e..000000000
--- a/lib/toolbar/ephy-tbi-zoom.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef EPHY_TBI_ZOOM_H
-#define EPHY_TBI_ZOOM_H
-
-#include "ephy-toolbar-item.h"
-
-G_BEGIN_DECLS
-
-/* object forward declarations */
-
-typedef struct _EphyTbiZoom EphyTbiZoom;
-typedef struct _EphyTbiZoomClass EphyTbiZoomClass;
-typedef struct _EphyTbiZoomPrivate EphyTbiZoomPrivate;
-
-/**
- * TbiZoom object
- */
-
-#define EPHY_TYPE_TBI_ZOOM (ephy_tbi_zoom_get_type())
-#define EPHY_TBI_ZOOM(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EPHY_TYPE_TBI_ZOOM,\
- EphyTbiZoom))
-#define EPHY_TBI_ZOOM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EPHY_TYPE_TBI_ZOOM,\
- EphyTbiZoomClass))
-#define EPHY_IS_TBI_ZOOM(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EPHY_TYPE_TBI_ZOOM))
-#define EPHY_IS_TBI_ZOOM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EPHY_TYPE_TBI_ZOOM))
-#define EPHY_TBI_ZOOM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), EPHY_TYPE_TBI_ZOOM,\
- EphyTbiZoomClass))
-
-struct _EphyTbiZoomClass
-{
- EphyTbItemClass parent_class;
-};
-
-/* Remember: fields are public read-only */
-struct _EphyTbiZoom
-{
- EphyTbItem parent_object;
-
- EphyTbiZoomPrivate *priv;
-};
-
-/* this class is abstract */
-
-GType ephy_tbi_zoom_get_type (void);
-EphyTbiZoom * ephy_tbi_zoom_new (void);
-
-G_END_DECLS
-
-#endif
diff --git a/lib/toolbar/ephy-toolbar-bonobo-view.c b/lib/toolbar/ephy-toolbar-bonobo-view.c
deleted file mode 100644
index a22356e1e..000000000
--- a/lib/toolbar/ephy-toolbar-bonobo-view.c
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <libgnome/gnome-i18n.h>
-
-#include "ephy-gobject-misc.h"
-#include "ephy-marshal.h"
-#include "ephy-toolbar-bonobo-view.h"
-#include "ephy-bonobo-extensions.h"
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-/**
- * Private data
- */
-struct _EphyTbBonoboViewPrivate
-{
- EphyToolbar *tb;
- BonoboUIComponent *ui;
- gchar *path;
-};
-
-/**
- * Private functions, only availble from this file
- */
-static void ephy_tb_bonobo_view_class_init (EphyTbBonoboViewClass *klass);
-static void ephy_tb_bonobo_view_init (EphyTbBonoboView *tb);
-static void ephy_tb_bonobo_view_finalize_impl (GObject *o);
-static void ephy_tb_bonobo_view_rebuild (EphyTbBonoboView *tbv);
-static void ephy_tb_bonobo_view_tb_changed (EphyToolbar *tb, EphyTbBonoboView *tbv);
-
-static gpointer g_object_class;
-
-/**
- * TbBonoboView object
- */
-
-MAKE_GET_TYPE (ephy_tb_bonobo_view, "EphyTbBonoboView", EphyTbBonoboView, ephy_tb_bonobo_view_class_init,
- ephy_tb_bonobo_view_init, G_TYPE_OBJECT);
-
-static void
-ephy_tb_bonobo_view_class_init (EphyTbBonoboViewClass *klass)
-{
- G_OBJECT_CLASS (klass)->finalize = ephy_tb_bonobo_view_finalize_impl;
-
- g_object_class = g_type_class_peek_parent (klass);
-}
-
-static void
-ephy_tb_bonobo_view_init (EphyTbBonoboView *tb)
-{
- EphyTbBonoboViewPrivate *p = g_new0 (EphyTbBonoboViewPrivate, 1);
- tb->priv = p;
-}
-
-static void
-ephy_tb_bonobo_view_finalize_impl (GObject *o)
-{
- EphyTbBonoboView *tbv = EPHY_TB_BONOBO_VIEW (o);
- EphyTbBonoboViewPrivate *p = tbv->priv;
-
- if (p->tb)
- {
- g_signal_handlers_disconnect_matched (p->tb, G_SIGNAL_MATCH_DATA, 0, 0,
- NULL, NULL, tbv);
- g_object_unref (p->tb);
- }
- if (p->ui)
- {
- g_object_unref (p->ui);
- }
- if (p->path)
- {
- g_free (p->path);
- }
-
- g_free (p);
-
- DEBUG_MSG (("EphyTbBonoboView finalized\n"));
-
- G_OBJECT_CLASS (g_object_class)->finalize (o);
-}
-
-EphyTbBonoboView *
-ephy_tb_bonobo_view_new (void)
-{
- EphyTbBonoboView *ret = g_object_new (EPHY_TYPE_TB_BONOBO_VIEW, NULL);
- return ret;
-}
-
-void
-ephy_tb_bonobo_view_set_toolbar (EphyTbBonoboView *tbv, EphyToolbar *tb)
-{
- EphyTbBonoboViewPrivate *p = tbv->priv;
-
- if (p->tb)
- {
- g_signal_handlers_disconnect_matched (p->tb, G_SIGNAL_MATCH_DATA, 0, 0,
- NULL, NULL, tbv);
- g_object_unref (p->tb);
- }
-
- p->tb = g_object_ref (tb);
- g_signal_connect (p->tb, "changed", G_CALLBACK (ephy_tb_bonobo_view_tb_changed), tbv);
-
- if (p->ui)
- {
- ephy_tb_bonobo_view_rebuild (tbv);
- }
-}
-
-static void
-ephy_tb_bonobo_view_tb_changed (EphyToolbar *tb, EphyTbBonoboView *tbv)
-{
- EphyTbBonoboViewPrivate *p = tbv->priv;
- if (p->ui)
- {
- ephy_tb_bonobo_view_rebuild (tbv);
- }
-}
-
-void
-ephy_tb_bonobo_view_set_path (EphyTbBonoboView *tbv,
- BonoboUIComponent *ui,
- const gchar *path)
-{
- EphyTbBonoboViewPrivate *p = tbv->priv;
-
- if (p->ui)
- {
- g_object_unref (p->ui);
- }
-
- if (p->path)
- {
- g_free (p->path);
- }
-
- p->ui = g_object_ref (ui);
- p->path = g_strdup (path);
-
- if (p->tb)
- {
- ephy_tb_bonobo_view_rebuild (tbv);
- }
-}
-
-static void
-ephy_tb_bonobo_view_rebuild (EphyTbBonoboView *tbv)
-{
- EphyTbBonoboViewPrivate *p = tbv->priv;
- GSList *items;
- GSList *li;
- uint index = 0;
-
- g_return_if_fail (EPHY_IS_TOOLBAR (p->tb));
- g_return_if_fail (BONOBO_IS_UI_COMPONENT (p->ui));
- g_return_if_fail (p->path);
-
- DEBUG_MSG (("Rebuilding EphyTbBonoboView\n"));
-
- ephy_bonobo_clear_path (p->ui, p->path);
-
- items = (GSList *) ephy_toolbar_get_item_list (p->tb);
- for (li = items; li; li = li->next)
- {
- ephy_tb_item_add_to_bonobo_tb (li->data, p->ui, p->path, index++);
- }
-
- DEBUG_MSG (("Rebuilt EphyTbBonoboView\n"));
-}
-
diff --git a/lib/toolbar/ephy-toolbar-bonobo-view.h b/lib/toolbar/ephy-toolbar-bonobo-view.h
deleted file mode 100644
index a914fc201..000000000
--- a/lib/toolbar/ephy-toolbar-bonobo-view.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef EPHY_TOOLBAR_BONOBO_VIEW_H
-#define EPHY_TOOLBAR_BONOBO_VIEW_H
-
-#include <glib-object.h>
-
-#include <bonobo/bonobo-ui-component.h>
-
-#include "ephy-toolbar.h"
-
-G_BEGIN_DECLS
-
-/* object forward declarations */
-
-typedef struct _EphyTbBonoboView EphyTbBonoboView;
-typedef struct _EphyTbBonoboViewClass EphyTbBonoboViewClass;
-typedef struct _EphyTbBonoboViewPrivate EphyTbBonoboViewPrivate;
-
-/**
- * TbBonoboView object
- */
-
-#define EPHY_TYPE_TB_BONOBO_VIEW (ephy_tb_bonobo_view_get_type())
-#define EPHY_TB_BONOBO_VIEW(object) (G_TYPE_CHECK_INSTANCE_CAST((object), \
- EPHY_TYPE_TB_BONOBO_VIEW,\
- EphyTbBonoboView))
-#define EPHY_TB_BONOBO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EPHY_TYPE_TB_BONOBO_VIEW,\
- EphyTbBonoboViewClass))
-#define EPHY_IS_TB_BONOBO_VIEW(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), \
- EPHY_TYPE_TB_BONOBO_VIEW))
-#define EPHY_IS_TB_BONOBO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EPHY_TYPE_TB_BONOBO_VIEW))
-#define EPHY_TB_BONOBO_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), EPHY_TYPE_TB_BONOBO_VIEW,\
- EphyTbBonoboViewClass))
-
-struct _EphyTbBonoboViewClass
-{
- GObjectClass parent_class;
-};
-
-/* Remember: fields are public read-only */
-struct _EphyTbBonoboView
-{
- GObject parent_object;
-
- EphyTbBonoboViewPrivate *priv;
-};
-
-/* this class is abstract */
-
-GType ephy_tb_bonobo_view_get_type (void);
-EphyTbBonoboView * ephy_tb_bonobo_view_new (void);
-void ephy_tb_bonobo_view_set_toolbar (EphyTbBonoboView *tbv, EphyToolbar *tb);
-void ephy_tb_bonobo_view_set_path (EphyTbBonoboView *tbv,
- BonoboUIComponent *ui,
- const gchar *path);
-
-#endif
-
diff --git a/lib/toolbar/ephy-toolbar-editor.c b/lib/toolbar/ephy-toolbar-editor.c
deleted file mode 100644
index e44767bad..000000000
--- a/lib/toolbar/ephy-toolbar-editor.c
+++ /dev/null
@@ -1,634 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <libgnome/gnome-i18n.h>
-
-#include "ephy-gobject-misc.h"
-#include "ephy-marshal.h"
-#include "ephy-toolbar-editor.h"
-#include "ephy-toolbar-tree-model.h"
-#include "ephy-glade.h"
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-/**
- * Private data
- */
-struct _EphyTbEditorPrivate
-{
- EphyToolbar *tb;
- EphyToolbar *available;
-
- gchar *tb_undo_string;
- gchar *available_undo_string;
-
- gboolean in_toolbar_changed;
-
- GtkWidget *window;
- GtkWidget *available_view;
- GtkWidget *current_view;
- GtkWidget *close_button;
- GtkWidget *undo_button;
- GtkWidget *revert_button;
- GtkWidget *up_button;
- GtkWidget *down_button;
- GtkWidget *left_button;
- GtkWidget *right_button;
-};
-
-/**
- * Private functions, only available from this file
- */
-static void ephy_tb_editor_class_init (EphyTbEditorClass *klass);
-static void ephy_tb_editor_init (EphyTbEditor *tbe);
-static void ephy_tb_editor_finalize_impl (GObject *o);
-static void ephy_tb_editor_init_widgets (EphyTbEditor *tbe);
-static void ephy_tb_editor_set_treeview_toolbar (EphyTbEditor *tbe,
- GtkTreeView *tv, EphyToolbar *tb);
-static void ephy_tb_editor_setup_treeview (EphyTbEditor *tbe, GtkTreeView *tv);
-static EphyTbItem * ephy_tb_editor_get_selected (EphyTbEditor *tbe, GtkTreeView *tv);
-static gint ephy_tb_editor_get_selected_index (EphyTbEditor *tbe, GtkTreeView *tv);
-static void ephy_tb_editor_select_index (EphyTbEditor *tbe, GtkTreeView *tv,
- gint index);
-static void ephy_tb_editor_remove_used_items (EphyTbEditor *tbe);
-
-static void ephy_tb_editor_undo_clicked_cb (GtkWidget *b, EphyTbEditor *tbe);
-static void ephy_tb_editor_close_clicked_cb (GtkWidget *b, EphyTbEditor *tbe);
-static void ephy_tb_editor_up_clicked_cb (GtkWidget *b, EphyTbEditor *tbe);
-static void ephy_tb_editor_down_clicked_cb (GtkWidget *b, EphyTbEditor *tbe);
-static void ephy_tb_editor_left_clicked_cb (GtkWidget *b, EphyTbEditor *tbe);
-static void ephy_tb_editor_right_clicked_cb (GtkWidget *b, EphyTbEditor *tbe);
-static void ephy_tb_editor_toolbar_changed_cb (EphyToolbar *tb, EphyTbEditor *tbe);
-static gboolean ephy_tb_editor_treeview_button_press_event_cb (GtkWidget *widget,
- GdkEventButton *event,
- EphyTbEditor *tbe);
-
-
-static gpointer g_object_class;
-
-/* treeview dnd */
-enum
-{
- TARGET_GTK_TREE_MODEL_ROW
-};
-static GtkTargetEntry tree_view_row_targets[] = {
- { "GTK_TREE_MODEL_ROW", GTK_TARGET_SAME_APP, TARGET_GTK_TREE_MODEL_ROW }
-};
-
-/**
- * TbEditor object
- */
-
-MAKE_GET_TYPE (ephy_tb_editor, "EphyTbEditor", EphyTbEditor, ephy_tb_editor_class_init,
- ephy_tb_editor_init, G_TYPE_OBJECT);
-
-static void
-ephy_tb_editor_class_init (EphyTbEditorClass *klass)
-{
- G_OBJECT_CLASS (klass)->finalize = ephy_tb_editor_finalize_impl;
-
- g_object_class = g_type_class_peek_parent (klass);
-}
-
-static void
-ephy_tb_editor_init (EphyTbEditor *tb)
-{
- EphyTbEditorPrivate *p = g_new0 (EphyTbEditorPrivate, 1);
- tb->priv = p;
-
- ephy_tb_editor_init_widgets (tb);
-}
-
-static void
-update_arrows_sensitivity (EphyTbEditor *tbe)
-{
- GtkTreeSelection *selection;
- gboolean current_sel;
- gboolean avail_sel;
- gboolean first = FALSE;
- gboolean last = FALSE;
- GtkTreeModel *tm;
- GtkTreeIter iter;
- GtkTreePath *path;
-
- selection = gtk_tree_view_get_selection
- (GTK_TREE_VIEW (tbe->priv->current_view));
- current_sel = gtk_tree_selection_get_selected (selection, &tm, &iter);
- if (current_sel)
- {
- path = gtk_tree_model_get_path (tm, &iter);
- first = !gtk_tree_path_prev (path);
- last = !gtk_tree_model_iter_next (tm, &iter);
- }
-
- selection = gtk_tree_view_get_selection
- (GTK_TREE_VIEW (tbe->priv->available_view));
- avail_sel = gtk_tree_selection_get_selected (selection, &tm, &iter);
-
- gtk_widget_set_sensitive (tbe->priv->right_button,
- avail_sel);
- gtk_widget_set_sensitive (tbe->priv->left_button,
- current_sel);
- gtk_widget_set_sensitive (tbe->priv->up_button,
- current_sel && !first);
- gtk_widget_set_sensitive (tbe->priv->down_button,
- current_sel && !last);
-}
-
-static void
-ephy_tb_editor_treeview_selection_changed_cb (GtkTreeSelection *selection,
- EphyTbEditor *tbe)
-{
- update_arrows_sensitivity (tbe);
-}
-
-static void
-ephy_tb_editor_init_widgets (EphyTbEditor *tbe)
-{
- EphyTbEditorPrivate *p = tbe->priv;
-
- GladeXML *gxml = ephy_glade_widget_new ("toolbar-editor.glade", "toolbar-editor-dialog",
- NULL, tbe);
- p->window = glade_xml_get_widget (gxml, "toolbar-editor-dialog");
- p->available_view = glade_xml_get_widget (gxml, "toolbar-editor-available-view");
- p->current_view = glade_xml_get_widget (gxml, "toolbar-editor-current-view");
- p->close_button = glade_xml_get_widget (gxml, "toolbar-editor-close-button");
- p->undo_button = glade_xml_get_widget (gxml, "toolbar-editor-undo-button");
- p->revert_button = glade_xml_get_widget (gxml, "toolbar-editor-revert-button");
- p->up_button = glade_xml_get_widget (gxml, "toolbar-editor-up-button");
- p->down_button = glade_xml_get_widget (gxml, "toolbar-editor-down-button");
- p->left_button = glade_xml_get_widget (gxml, "toolbar-editor-left-button");
- p->right_button = glade_xml_get_widget (gxml, "toolbar-editor-right-button");
- g_object_unref (gxml);
-
- g_signal_connect_swapped (p->window, "delete_event", G_CALLBACK (g_object_unref), tbe);
- g_signal_connect (p->undo_button, "clicked", G_CALLBACK (ephy_tb_editor_undo_clicked_cb), tbe);
- g_signal_connect (p->close_button, "clicked", G_CALLBACK (ephy_tb_editor_close_clicked_cb), tbe);
- g_signal_connect (p->up_button, "clicked", G_CALLBACK (ephy_tb_editor_up_clicked_cb), tbe);
- g_signal_connect (p->down_button, "clicked", G_CALLBACK (ephy_tb_editor_down_clicked_cb), tbe);
- g_signal_connect (p->left_button, "clicked", G_CALLBACK (ephy_tb_editor_left_clicked_cb), tbe);
- g_signal_connect (p->right_button, "clicked", G_CALLBACK (ephy_tb_editor_right_clicked_cb), tbe);
-
- ephy_tb_editor_setup_treeview (tbe, GTK_TREE_VIEW (p->current_view));
- ephy_tb_editor_setup_treeview (tbe, GTK_TREE_VIEW (p->available_view));
-}
-
-static void
-ephy_tb_editor_undo_clicked_cb (GtkWidget *b, EphyTbEditor *tbe)
-{
- EphyTbEditorPrivate *p = tbe->priv;
- if (p->available_undo_string && p->available)
- {
- ephy_toolbar_parse (p->available, p->available_undo_string);
- }
-
- if (p->tb_undo_string && p->tb)
- {
- ephy_toolbar_parse (p->tb, p->tb_undo_string);
- }
-}
-
-static void
-ephy_tb_editor_close_clicked_cb (GtkWidget *b, EphyTbEditor *tbe)
-{
- gtk_widget_hide (tbe->priv->window);
- g_object_unref (tbe);
-}
-
-static void
-ephy_tb_editor_up_clicked_cb (GtkWidget *b, EphyTbEditor *tbe)
-{
- EphyTbEditorPrivate *p = tbe->priv;
- EphyTbItem *item = ephy_tb_editor_get_selected (tbe, GTK_TREE_VIEW (p->current_view));
- gint index = ephy_tb_editor_get_selected_index (tbe, GTK_TREE_VIEW (p->current_view));
- if (item && index > 0)
- {
- g_object_ref (item);
- ephy_toolbar_remove_item (p->tb, item);
- ephy_toolbar_add_item (p->tb, item, index - 1);
- ephy_tb_editor_select_index (tbe, GTK_TREE_VIEW (p->current_view), index - 1);
- g_object_unref (item);
- }
-}
-
-static void
-ephy_tb_editor_down_clicked_cb (GtkWidget *b, EphyTbEditor *tbe)
-{
- EphyTbEditorPrivate *p = tbe->priv;
- EphyTbItem *item = ephy_tb_editor_get_selected (tbe, GTK_TREE_VIEW (p->current_view));
- gint index = ephy_tb_editor_get_selected_index (tbe, GTK_TREE_VIEW (p->current_view));
- if (item)
- {
- g_object_ref (item);
- ephy_toolbar_remove_item (p->tb, item);
- ephy_toolbar_add_item (p->tb, item, index + 1);
- ephy_tb_editor_select_index (tbe, GTK_TREE_VIEW (p->current_view), index + 1);
- g_object_unref (item);
- }
-}
-
-static void
-ephy_tb_editor_left_clicked_cb (GtkWidget *b, EphyTbEditor *tbe)
-{
- EphyTbEditorPrivate *p = tbe->priv;
- EphyTbItem *item = ephy_tb_editor_get_selected (tbe, GTK_TREE_VIEW (p->current_view));
- /* probably is better not allowing reordering the available_view */
- gint index = ephy_tb_editor_get_selected_index (tbe, GTK_TREE_VIEW (p->available_view));
- if (item)
- {
- g_object_ref (item);
- ephy_toolbar_remove_item (p->tb, item);
- if (ephy_tb_item_is_unique (item))
- {
- ephy_toolbar_add_item (p->available, item, index);
- }
- g_object_unref (item);
- }
-}
-
-static void
-ephy_tb_editor_right_clicked_cb (GtkWidget *b, EphyTbEditor *tbe)
-{
- EphyTbEditorPrivate *p = tbe->priv;
- EphyTbItem *item = ephy_tb_editor_get_selected (tbe, GTK_TREE_VIEW (p->available_view));
- gint index = ephy_tb_editor_get_selected_index (tbe, GTK_TREE_VIEW (p->current_view));
- if (item)
- {
- if (ephy_tb_item_is_unique (item))
- {
- g_object_ref (item);
- ephy_toolbar_remove_item (p->available, item);
- }
- else
- {
- item = ephy_tb_item_clone (item);
- }
- ephy_toolbar_add_item (p->tb, item, index);
- ephy_tb_editor_select_index (tbe, GTK_TREE_VIEW (p->current_view), index);
- g_object_unref (item);
- }
-}
-
-static EphyTbItem *
-ephy_tb_editor_get_selected (EphyTbEditor *tbe, GtkTreeView *tv)
-{
- GtkTreeSelection *sel = gtk_tree_view_get_selection (tv);
- GtkTreeModel *tm;
- GtkTreeIter iter;
- if (gtk_tree_selection_get_selected (sel, &tm, &iter))
- {
- EphyTbItem *ret;
- g_return_val_if_fail (EPHY_IS_TB_TREE_MODEL (tm), NULL);
- ret = ephy_tb_tree_model_item_from_iter (EPHY_TB_TREE_MODEL (tm), &iter);
- return ret;
- }
- else
- {
- return NULL;
- }
-}
-
-static gint
-ephy_tb_editor_get_selected_index (EphyTbEditor *tbe, GtkTreeView *tv)
-{
- GtkTreeSelection *sel = gtk_tree_view_get_selection (tv);
- GtkTreeModel *tm;
- GtkTreeIter iter;
- if (gtk_tree_selection_get_selected (sel, &tm, &iter))
- {
- GtkTreePath *p = gtk_tree_model_get_path (tm, &iter);
- if (p)
- {
- gint ret = gtk_tree_path_get_depth (p) > 0 ? gtk_tree_path_get_indices (p)[0] : -1;
- gtk_tree_path_free (p);
- return ret;
- }
- else
- {
- return -1;
- }
- }
- else
- {
- return -1;
- }
-}
-
-static void
-ephy_tb_editor_select_index (EphyTbEditor *tbe, GtkTreeView *tv, gint index)
-{
- GtkTreeSelection *sel = gtk_tree_view_get_selection (tv);
- GtkTreePath *p = gtk_tree_path_new ();
- GtkTreeModel *tm = gtk_tree_view_get_model (tv);
- gint max = gtk_tree_model_iter_n_children (tm, NULL);
-
- if (index < 0 || index >= max)
- {
- index = max - 1;
- }
-
- gtk_tree_path_append_index (p, index);
- gtk_tree_selection_select_path (sel, p);
- gtk_tree_path_free (p);
-}
-
-static void
-ephy_tb_editor_finalize_impl (GObject *o)
-{
- EphyTbEditor *tbe = EPHY_TB_EDITOR (o);
- EphyTbEditorPrivate *p = tbe->priv;
-
- if (p->tb)
- {
- g_signal_handlers_disconnect_matched (p->tb, G_SIGNAL_MATCH_DATA, 0, 0,
- NULL, NULL, tbe);
-
- g_object_unref (p->tb);
- }
- if (p->available)
- {
- g_signal_handlers_disconnect_matched (p->available, G_SIGNAL_MATCH_DATA, 0, 0,
- NULL, NULL, tbe);
- g_object_unref (p->available);
- }
-
- if (p->window)
- {
- gtk_widget_destroy (p->window);
- }
-
- g_free (p->tb_undo_string);
- g_free (p->available_undo_string);
-
- g_free (p);
-
- DEBUG_MSG (("EphyTbEditor finalized\n"));
-
- G_OBJECT_CLASS (g_object_class)->finalize (o);
-}
-
-EphyTbEditor *
-ephy_tb_editor_new (void)
-{
- EphyTbEditor *ret = g_object_new (EPHY_TYPE_TB_EDITOR, NULL);
- return ret;
-}
-
-void
-ephy_tb_editor_set_toolbar (EphyTbEditor *tbe, EphyToolbar *tb)
-{
- EphyTbEditorPrivate *p = tbe->priv;
-
- if (p->tb)
- {
- g_signal_handlers_disconnect_matched (p->tb, G_SIGNAL_MATCH_DATA, 0, 0,
- NULL, NULL, tbe);
- g_object_unref (p->tb);
- }
- p->tb = g_object_ref (tb);
-
- g_free (p->tb_undo_string);
- p->tb_undo_string = ephy_toolbar_to_string (p->tb);
-
- if (p->available)
- {
- ephy_tb_editor_remove_used_items (tbe);
- }
-
- g_signal_connect (p->tb, "changed", G_CALLBACK (ephy_tb_editor_toolbar_changed_cb), tbe);
-
- ephy_tb_editor_set_treeview_toolbar (tbe, GTK_TREE_VIEW (p->current_view), p->tb);
-
- gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (p->current_view),
- GDK_BUTTON1_MASK,
- tree_view_row_targets,
- G_N_ELEMENTS (tree_view_row_targets),
- GDK_ACTION_MOVE);
- gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (p->current_view),
- tree_view_row_targets,
- G_N_ELEMENTS (tree_view_row_targets),
- GDK_ACTION_COPY);
-}
-
-void
-ephy_tb_editor_set_available (EphyTbEditor *tbe, EphyToolbar *tb)
-{
- EphyTbEditorPrivate *p = tbe->priv;
-
- if (p->available)
- {
- g_signal_handlers_disconnect_matched (p->available, G_SIGNAL_MATCH_DATA, 0, 0,
- NULL, NULL, tbe);
- g_object_unref (p->available);
- }
- p->available = g_object_ref (tb);
-
- g_free (p->available_undo_string);
- p->available_undo_string = ephy_toolbar_to_string (p->available);
-
- ephy_toolbar_set_fixed_order (p->available, TRUE);
-
- if (p->tb)
- {
- ephy_tb_editor_remove_used_items (tbe);
- }
-
- ephy_tb_editor_set_treeview_toolbar (tbe, GTK_TREE_VIEW (p->available_view), p->available);
-
- gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (p->available_view),
- GDK_BUTTON1_MASK,
- tree_view_row_targets,
- G_N_ELEMENTS (tree_view_row_targets),
- GDK_ACTION_COPY);
- gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (p->available_view),
- tree_view_row_targets,
- G_N_ELEMENTS (tree_view_row_targets),
- GDK_ACTION_MOVE);
-}
-
-void
-ephy_tb_editor_set_parent (EphyTbEditor *tbe, GtkWidget *parent)
-{
- gtk_window_set_transient_for (GTK_WINDOW (tbe->priv->window),
- GTK_WINDOW (parent));
-}
-
-void
-ephy_tb_editor_show (EphyTbEditor *tbe)
-{
- gtk_window_present (GTK_WINDOW (tbe->priv->window));
-}
-
-static void
-ephy_tb_editor_set_treeview_toolbar (EphyTbEditor *tbe, GtkTreeView *tv, EphyToolbar *tb)
-{
- EphyTbTreeModel *tm = ephy_tb_tree_model_new ();
- ephy_tb_tree_model_set_toolbar (tm, tb);
- gtk_tree_view_set_model (tv, GTK_TREE_MODEL (tm));
- g_object_unref (tm);
-}
-
-static void
-ephy_tb_editor_setup_treeview (EphyTbEditor *tbe, GtkTreeView *tv)
-{
- GtkCellRenderer *renderer;
- GtkTreeViewColumn *column;
- GtkTreeSelection *selection;
-
- selection = gtk_tree_view_get_selection (tv);
- column = gtk_tree_view_column_new ();
- renderer = gtk_cell_renderer_pixbuf_new ();
-
- gtk_tree_view_column_pack_start (column, renderer, FALSE);
- gtk_tree_view_column_set_attributes (column, renderer,
- "pixbuf", EPHY_TB_TREE_MODEL_COL_ICON,
- NULL);
-
- renderer = gtk_cell_renderer_text_new ();
- gtk_tree_view_column_pack_start (column, renderer, TRUE);
- gtk_tree_view_column_set_attributes (column, renderer,
- "text", EPHY_TB_TREE_MODEL_COL_NAME,
- NULL);
- gtk_tree_view_column_set_title (column, "Name");
- gtk_tree_view_column_set_resizable (column, TRUE);
- gtk_tree_view_append_column (GTK_TREE_VIEW (tv), column);
-
- g_signal_connect (tv, "button-press-event",
- G_CALLBACK (ephy_tb_editor_treeview_button_press_event_cb), tbe);
- g_signal_connect (selection, "changed",
- G_CALLBACK (ephy_tb_editor_treeview_selection_changed_cb), tbe);
-}
-
-EphyToolbar *
-ephy_tb_editor_get_toolbar (EphyTbEditor *tbe)
-{
- EphyTbEditorPrivate *p;
-
- g_return_val_if_fail (EPHY_IS_TB_EDITOR (tbe), NULL);
-
- p = tbe->priv;
-
- return p->tb;
-}
-
-EphyToolbar *
-ephy_tb_editor_get_available (EphyTbEditor *tbe)
-{
- EphyTbEditorPrivate *p;
-
- g_return_val_if_fail (EPHY_IS_TB_EDITOR (tbe), NULL);
-
- p = tbe->priv;
-
- return p->available;
-}
-
-
-static void
-ephy_tb_editor_remove_used_items (EphyTbEditor *tbe)
-{
- EphyTbEditorPrivate *p = tbe->priv;
- const GSList *current_items;
- const GSList *li;
-
- g_return_if_fail (EPHY_IS_TOOLBAR (p->tb));
- g_return_if_fail (EPHY_IS_TOOLBAR (p->available));
-
- current_items = ephy_toolbar_get_item_list (p->tb);
- for (li = current_items; li; li = li->next)
- {
- EphyTbItem *i = li->data;
- if (ephy_tb_item_is_unique (i))
- {
- EphyTbItem *j = ephy_toolbar_get_item_by_id (p->available, i->id);
- if (j)
- {
- ephy_toolbar_remove_item (p->available, j);
- }
- }
- }
-}
-
-static void
-ephy_tb_editor_toolbar_changed_cb (EphyToolbar *tb, EphyTbEditor *tbe)
-{
- EphyTbEditorPrivate *p = tbe->priv;
-
- if (p->in_toolbar_changed)
- {
- return;
- }
-
- if (p->tb && p->available)
- {
- p->in_toolbar_changed = TRUE;
- ephy_tb_editor_remove_used_items (tbe);
- p->in_toolbar_changed = FALSE;
- }
-}
-
-static gboolean
-ephy_tb_editor_treeview_button_press_event_cb (GtkWidget *widget,
- GdkEventButton *event,
- EphyTbEditor *tbe)
-{
- EphyTbEditorPrivate *p = tbe->priv;
-
- if (event->window != gtk_tree_view_get_bin_window (GTK_TREE_VIEW (widget)))
- {
- return FALSE;
- }
-
- if (event->type == GDK_2BUTTON_PRESS)
- {
- if (widget == p->current_view)
- {
- ephy_tb_editor_left_clicked_cb (NULL, tbe);
- }
- else if (widget == p->available_view)
- {
- ephy_tb_editor_right_clicked_cb (NULL, tbe);
- }
- else
- {
- g_assert_not_reached ();
- }
- return TRUE;
- }
-
- return FALSE;
-}
-
-GtkButton *
-ephy_tb_editor_get_revert_button (EphyTbEditor *tbe)
-{
- EphyTbEditorPrivate *p;
- g_return_val_if_fail (EPHY_IS_TB_EDITOR (tbe), NULL);
- p = tbe->priv;
- g_return_val_if_fail (GTK_IS_BUTTON (p->revert_button), NULL);
-
- return GTK_BUTTON (p->revert_button);
-
-}
-
diff --git a/lib/toolbar/ephy-toolbar-editor.h b/lib/toolbar/ephy-toolbar-editor.h
deleted file mode 100644
index 97ee10e7a..000000000
--- a/lib/toolbar/ephy-toolbar-editor.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef EPHY_TOOLBAR_EDITOR_H
-#define EPHY_TOOLBAR_EDITOR_H
-
-#include <glib-object.h>
-#include <gtk/gtkbutton.h>
-
-#include "ephy-toolbar.h"
-
-G_BEGIN_DECLS
-
-/* object forward declarations */
-
-typedef struct _EphyTbEditor EphyTbEditor;
-typedef struct _EphyTbEditorClass EphyTbEditorClass;
-typedef struct _EphyTbEditorPrivate EphyTbEditorPrivate;
-
-/**
- * TbEditor object
- */
-
-#define EPHY_TYPE_TB_EDITOR (ephy_tb_editor_get_type())
-#define EPHY_TB_EDITOR(object) (G_TYPE_CHECK_INSTANCE_CAST((object), \
- EPHY_TYPE_TB_EDITOR,\
- EphyTbEditor))
-#define EPHY_TB_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EPHY_TYPE_TB_EDITOR,\
- EphyTbEditorClass))
-#define EPHY_IS_TB_EDITOR(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), \
- EPHY_TYPE_TB_EDITOR))
-#define EPHY_IS_TB_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EPHY_TYPE_TB_EDITOR))
-#define EPHY_TB_EDITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), EPHY_TYPE_TB_EDITOR,\
- EphyTbEditorClass))
-
-struct _EphyTbEditorClass
-{
- GObjectClass parent_class;
-};
-
-/* Remember: fields are public read-only */
-struct _EphyTbEditor
-{
- GObject parent_object;
-
- EphyTbEditorPrivate *priv;
-};
-
-/* this class is abstract */
-
-GType ephy_tb_editor_get_type (void);
-EphyTbEditor * ephy_tb_editor_new (void);
-void ephy_tb_editor_set_toolbar (EphyTbEditor *tbe, EphyToolbar *tb);
-EphyToolbar * ephy_tb_editor_get_toolbar (EphyTbEditor *tbe);
-void ephy_tb_editor_set_available (EphyTbEditor *tbe, EphyToolbar *tb);
-EphyToolbar * ephy_tb_editor_get_available (EphyTbEditor *tbe);
-void ephy_tb_editor_set_parent (EphyTbEditor *tbe, GtkWidget *parent);
-void ephy_tb_editor_show (EphyTbEditor *tbe);
-/* the revert button is hidden initially */
-GtkButton * ephy_tb_editor_get_revert_button (EphyTbEditor *tbe);
-
-G_END_DECLS
-
-#endif
-
diff --git a/lib/toolbar/ephy-toolbar-item-factory.c b/lib/toolbar/ephy-toolbar-item-factory.c
deleted file mode 100644
index 60cfbbc41..000000000
--- a/lib/toolbar/ephy-toolbar-item-factory.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "ephy-toolbar-item-factory.h"
-#include <string.h>
-
-#include "ephy-tbi-zoom.h"
-#include "ephy-tbi-separator.h"
-#include "ephy-tbi-favicon.h"
-#include "ephy-tbi-spinner.h"
-#include "ephy-tbi-location.h"
-#include "ephy-tbi-navigation-history.h"
-#include "ephy-tbi-std-toolitem.h"
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-typedef struct
-{
- const char *type_name;
- EphyTbItemConstructor constructor;
-} EphyTbItemTypeInfo;
-
-static EphyTbItemTypeInfo ephy_tb_item_default_types[] =
-{
- { "std_toolitem", (EphyTbItemConstructor) ephy_tbi_std_toolitem_new },
- { "navigation_history", (EphyTbItemConstructor) ephy_tbi_navigation_history_new },
- { "zoom", (EphyTbItemConstructor) ephy_tbi_zoom_new },
- { "location", (EphyTbItemConstructor) ephy_tbi_location_new },
- { "spinner", (EphyTbItemConstructor) ephy_tbi_spinner_new },
- { "favicon", (EphyTbItemConstructor) ephy_tbi_favicon_new },
- { "separator", (EphyTbItemConstructor) ephy_tbi_separator_new },
- { NULL, NULL }
-};
-
-static GHashTable *ephy_tb_item_known_types = NULL;
-
-static void
-ephy_tb_item_factory_init (void)
-{
- if (ephy_tb_item_known_types == NULL)
- {
- int i;
- ephy_tb_item_known_types = g_hash_table_new (g_str_hash, g_str_equal);
-
- for (i = 0; ephy_tb_item_default_types[i].type_name; ++i)
- {
- ephy_toolbar_item_register_type (ephy_tb_item_default_types[i].type_name,
- ephy_tb_item_default_types[i].constructor);
- }
- }
-}
-
-EphyTbItem *
-ephy_toolbar_item_create_from_string (const gchar *str)
-{
- EphyTbItem *ret = NULL;
- gchar *type;
- gchar *props;
- gchar *id;
- const gchar *rest;
- const gchar *lpar;
- const gchar *rpar;
- const gchar *eq;
- EphyTbItemConstructor constructor;
-
- ephy_tb_item_factory_init ();
-
- rest = str;
-
- eq = strchr (rest, '=');
- if (eq)
- {
- id = g_strndup (rest, eq - rest);
- rest = eq + 1;
- }
- else
- {
- id = NULL;
- }
-
- lpar = strchr (rest, '(');
- if (lpar)
- {
- type = g_strndup (rest, lpar - rest);
- rest = lpar + 1;
-
- rpar = strchr (rest, ')');
- if (rpar)
- {
- props = g_strndup (rest, rpar - rest);
- rest = rpar + 1;
- }
- else
- {
- props = g_strdup (rest);
- }
- }
- else
- {
- type = g_strdup (rest);
- props = NULL;
- }
-
- DEBUG_MSG (("ephy_toolbar_item_create_from_string id=%s type=%s props=%s\n", id, type, props));
-
- constructor = g_hash_table_lookup (ephy_tb_item_known_types, type);
-
- if (constructor)
- {
- ret = constructor ();
- if (id)
- {
- ephy_tb_item_set_id (ret, id);
- }
- if (props)
- {
- ephy_tb_item_parse_properties (ret, props);
- }
- }
-
- if (!ret)
- {
- g_warning ("Error creating toolbar item of type %s", type);
- }
-
- if (id)
- {
- g_free (id);
- }
- if (type)
- {
- g_free (type);
- }
- if (props)
- {
- g_free (props);
- }
-
- return ret;
-}
-
-void
-ephy_toolbar_item_register_type (const gchar *type, EphyTbItemConstructor constructor)
-{
- ephy_tb_item_factory_init ();
- g_hash_table_insert (ephy_tb_item_known_types, g_strdup (type), constructor);
-}
diff --git a/lib/toolbar/ephy-toolbar-item-factory.h b/lib/toolbar/ephy-toolbar-item-factory.h
deleted file mode 100644
index d613abeeb..000000000
--- a/lib/toolbar/ephy-toolbar-item-factory.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef EPHY_TOOLBAR_ITEM_FACTORY_H
-#define EPHY_TOOLBAR_ITEM_FACTORY_H
-
-#include "ephy-toolbar-item.h"
-
-G_BEGIN_DECLS
-
-typedef EphyTbItem *(*EphyTbItemConstructor) (void);
-
-EphyTbItem * ephy_toolbar_item_create_from_string (const gchar *str);
-void ephy_toolbar_item_register_type (const gchar *type, EphyTbItemConstructor constructor);
-
-G_END_DECLS
-
-#endif
diff --git a/lib/toolbar/ephy-toolbar-item.c b/lib/toolbar/ephy-toolbar-item.c
deleted file mode 100644
index f9c452f02..000000000
--- a/lib/toolbar/ephy-toolbar-item.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <libgnome/gnome-i18n.h>
-
-#include "ephy-gobject-misc.h"
-#include "ephy-marshal.h"
-#include "ephy-toolbar-item.h"
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-/**
- * Private data
- */
-struct _EphyTbItemPrivate
-{
-};
-
-/**
- * Private functions, only availble from this file
- */
-static void ephy_tb_item_class_init (EphyTbItemClass *klass);
-static void ephy_tb_item_init (EphyTbItem *tb);
-static void ephy_tb_item_finalize_impl (GObject *o);
-
-static gpointer g_object_class;
-
-/**
- * TbItem object
- */
-
-MAKE_GET_TYPE (ephy_tb_item, "EphyTbItem", EphyTbItem, ephy_tb_item_class_init,
- ephy_tb_item_init, G_TYPE_OBJECT);
-
-static void
-ephy_tb_item_class_init (EphyTbItemClass *klass)
-{
- G_OBJECT_CLASS (klass)->finalize = ephy_tb_item_finalize_impl;
-
- g_object_class = g_type_class_peek_parent (klass);
-}
-
-static void
-ephy_tb_item_init (EphyTbItem *it)
-{
- EphyTbItemPrivate *p = g_new0 (EphyTbItemPrivate, 1);
- it->priv = p;
- it->id = g_strdup ("");
-}
-
-static void
-ephy_tb_item_finalize_impl (GObject *o)
-{
- EphyTbItem *it = EPHY_TB_ITEM (o);
- EphyTbItemPrivate *p = it->priv;
-
- g_free (it->id);
- g_free (p);
-
- DEBUG_MSG (("EphyTbItem finalized\n"));
-
- G_OBJECT_CLASS (g_object_class)->finalize (o);
-}
-
-GtkWidget *
-ephy_tb_item_get_widget (EphyTbItem *i)
-{
- return EPHY_TB_ITEM_GET_CLASS (i)->get_widget (i);
-}
-
-GdkPixbuf *
-ephy_tb_item_get_icon (EphyTbItem *i)
-{
- return EPHY_TB_ITEM_GET_CLASS (i)->get_icon (i);
-}
-
-gchar *
-ephy_tb_item_get_name_human (EphyTbItem *i)
-{
- return EPHY_TB_ITEM_GET_CLASS (i)->get_name_human (i);
-}
-
-gchar *
-ephy_tb_item_to_string (EphyTbItem *i)
-{
- return EPHY_TB_ITEM_GET_CLASS (i)->to_string (i);
-}
-
-gboolean
-ephy_tb_item_is_unique (EphyTbItem *i)
-{
- return EPHY_TB_ITEM_GET_CLASS (i)->is_unique (i);
-}
-
-EphyTbItem *
-ephy_tb_item_clone (EphyTbItem *i)
-{
- return EPHY_TB_ITEM_GET_CLASS (i)->clone (i);
-}
-
-void
-ephy_tb_item_add_to_bonobo_tb (EphyTbItem *i, BonoboUIComponent *ui,
- const char *container_path, guint index)
-{
- EPHY_TB_ITEM_GET_CLASS (i)->add_to_bonobo_tb (i, ui, container_path, index);
-}
-
-void
-ephy_tb_item_set_id (EphyTbItem *i, const gchar *id)
-{
- g_return_if_fail (EPHY_IS_TB_ITEM (i));
-
- g_free (i->id);
- i->id = g_strdup (id);
-}
-
-void
-ephy_tb_item_parse_properties (EphyTbItem *i, const gchar *props)
-{
- EPHY_TB_ITEM_GET_CLASS (i)->parse_properties (i, props);
-}
diff --git a/lib/toolbar/ephy-toolbar-item.h b/lib/toolbar/ephy-toolbar-item.h
deleted file mode 100644
index 29e46697f..000000000
--- a/lib/toolbar/ephy-toolbar-item.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef EPHY_TOOLBAR_ITEM_H
-#define EPHY_TOOLBAR_ITEM_H
-
-#include <glib-object.h>
-
-#include <bonobo/bonobo-ui-component.h>
-#include <gtk/gtkwidget.h>
-
-G_BEGIN_DECLS
-
-/* object forward declarations */
-
-typedef struct _EphyTbItem EphyTbItem;
-typedef struct _EphyTbItemClass EphyTbItemClass;
-typedef struct _EphyTbItemPrivate EphyTbItemPrivate;
-
-/**
- * TbItem object
- */
-
-#define EPHY_TYPE_TB_ITEM (ephy_tb_item_get_type())
-#define EPHY_TB_ITEM(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EPHY_TYPE_TB_ITEM,\
- EphyTbItem))
-#define EPHY_TB_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EPHY_TYPE_TB_ITEM,\
- EphyTbItemClass))
-#define EPHY_IS_TB_ITEM(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EPHY_TYPE_TB_ITEM))
-#define EPHY_IS_TB_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EPHY_TYPE_TB_ITEM))
-#define EPHY_TB_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), EPHY_TYPE_TB_ITEM,\
- EphyTbItemClass))
-
-struct _EphyTbItemClass
-{
- GObjectClass parent_class;
-
- /* virtual */
- GtkWidget * (*get_widget) (EphyTbItem *it);
- GdkPixbuf * (*get_icon) (EphyTbItem *it);
- gchar * (*get_name_human) (EphyTbItem *it);
- gchar * (*to_string) (EphyTbItem *it);
- gboolean (*is_unique) (EphyTbItem *it);
- void (*add_to_bonobo_tb) (EphyTbItem *it, BonoboUIComponent *ui,
- const char *container_path, guint index);
- EphyTbItem * (*clone) (EphyTbItem *it);
- void (*parse_properties) (EphyTbItem *it, const gchar *props);
-};
-
-/* Remember: fields are public read-only */
-struct _EphyTbItem
-{
- GObject parent_object;
-
- gchar *id;
-
- EphyTbItemPrivate *priv;
-};
-
-/* this class is abstract */
-
-GType ephy_tb_item_get_type (void);
-GtkWidget * ephy_tb_item_get_widget (EphyTbItem *i);
-GdkPixbuf * ephy_tb_item_get_icon (EphyTbItem *i);
-gchar * ephy_tb_item_get_name_human (EphyTbItem *i);
-gchar * ephy_tb_item_to_string (EphyTbItem *i);
-gboolean ephy_tb_item_is_unique (EphyTbItem *i);
-void ephy_tb_item_add_to_bonobo_tb (EphyTbItem *i, BonoboUIComponent *ui,
- const char *container_path, guint index);
-EphyTbItem * ephy_tb_item_clone (EphyTbItem *i);
-void ephy_tb_item_set_id (EphyTbItem *i, const gchar *id);
-void ephy_tb_item_parse_properties (EphyTbItem *i, const gchar *props);
-
-G_END_DECLS
-
-#endif
diff --git a/lib/toolbar/ephy-toolbar-tree-model.c b/lib/toolbar/ephy-toolbar-tree-model.c
deleted file mode 100644
index 91acba952..000000000
--- a/lib/toolbar/ephy-toolbar-tree-model.c
+++ /dev/null
@@ -1,784 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernándezs Pascual <ric@users.sourceforge.net>
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <gtk/gtktreednd.h>
-#include <glib-object.h>
-#include <string.h>
-
-#include "ephy-toolbar-tree-model.h"
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-#define VALID_ITER(iter, tb_tree_model) (iter!= NULL && iter->user_data != NULL \
- && tb_tree_model->stamp == iter->stamp)
-
-/**
- * Private data
- */
-struct _EphyTbTreeModelPrivate
-{
- EphyToolbar *tb;
- GSList *curr_items;
-};
-
-/**
- * Private functions
- */
-static void ephy_tb_tree_model_init (EphyTbTreeModel *tb_tree_model);
-static void ephy_tb_tree_model_class_init (EphyTbTreeModelClass *tb_tree_model_class);
-static void ephy_tb_tree_model_tb_tree_model_init (GtkTreeModelIface *iface);
-static void ephy_tb_tree_model_drag_source_init (GtkTreeDragSourceIface *iface);
-static void ephy_tb_tree_model_drag_dest_init (GtkTreeDragDestIface *iface);
-static void ephy_tb_tree_model_finalize_impl (GObject *object);
-static guint ephy_tb_tree_model_get_flags_impl (GtkTreeModel *tb_tree_model);
-static gint ephy_tb_tree_model_get_n_columns_impl (GtkTreeModel *tb_tree_model);
-static GType ephy_tb_tree_model_get_column_type_impl (GtkTreeModel *tb_tree_model,
- gint index);
-static gboolean ephy_tb_tree_model_get_iter_impl (GtkTreeModel *tb_tree_model,
- GtkTreeIter *iter,
- GtkTreePath *path);
-static GtkTreePath * ephy_tb_tree_model_get_path_impl (GtkTreeModel *tb_tree_model,
- GtkTreeIter *iter);
-static void ephy_tb_tree_model_get_value_impl (GtkTreeModel *tb_tree_model,
- GtkTreeIter *iter,
- gint column,
- GValue *value);
-static gboolean ephy_tb_tree_model_iter_next_impl (GtkTreeModel *tb_tree_model,
- GtkTreeIter *iter);
-static gboolean ephy_tb_tree_model_iter_children_impl (GtkTreeModel *tb_tree_model,
- GtkTreeIter *iter,
- GtkTreeIter *parent);
-static gboolean ephy_tb_tree_model_iter_has_child_impl (GtkTreeModel *tb_tree_model,
- GtkTreeIter *iter);
-static gint ephy_tb_tree_model_iter_n_children_impl (GtkTreeModel *tb_tree_model,
- GtkTreeIter *iter);
-static gboolean ephy_tb_tree_model_iter_nth_child_impl (GtkTreeModel *tb_tree_model,
- GtkTreeIter *iter,
- GtkTreeIter *parent,
- gint n);
-static gboolean ephy_tb_tree_model_iter_parent_impl (GtkTreeModel *tb_tree_model,
- GtkTreeIter *iter,
- GtkTreeIter *child);
-
-/* DND interfaces */
-static gboolean ephy_tb_tree_model_drag_data_delete_impl(GtkTreeDragSource *drag_source,
- GtkTreePath *path);
-static gboolean ephy_tb_tree_model_drag_data_get_impl (GtkTreeDragSource *drag_source,
- GtkTreePath *path,
- GtkSelectionData *selection_data);
-static gboolean ephy_tb_tree_model_drag_data_received_impl (GtkTreeDragDest *drag_dest,
- GtkTreePath *dest,
- GtkSelectionData *selection_data);
-static gboolean ephy_tb_tree_model_row_drop_possible_impl (GtkTreeDragDest *drag_dest,
- GtkTreePath *dest_path,
- GtkSelectionData *selection_data);
-
-/* helper functions */
-static void ephy_tb_tree_model_toolbar_changed_cb (EphyToolbar *tb, EphyTbTreeModel *tm);
-static void ephy_tb_tree_model_update (EphyTbTreeModel *tm);
-
-
-static GObjectClass *parent_class = NULL;
-
-GtkType
-ephy_tb_tree_model_get_type (void)
-{
- static GType tb_tree_model_type = 0;
-
- if (!tb_tree_model_type)
- {
- static const GTypeInfo tb_tree_model_info =
- {
- sizeof (EphyTbTreeModelClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) ephy_tb_tree_model_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (EphyTbTreeModel),
- 0, /* n_preallocs */
- (GInstanceInitFunc) ephy_tb_tree_model_init
- };
-
- static const GInterfaceInfo tb_gtk_tree_model_info =
- {
- (GInterfaceInitFunc) ephy_tb_tree_model_tb_tree_model_init,
- NULL,
- NULL
- };
-
- static const GInterfaceInfo drag_source_info =
- {
- (GInterfaceInitFunc) ephy_tb_tree_model_drag_source_init,
- NULL,
- NULL
- };
-
- static const GInterfaceInfo drag_dest_info =
- {
- (GInterfaceInitFunc) ephy_tb_tree_model_drag_dest_init,
- NULL,
- NULL
- };
-
- tb_tree_model_type = g_type_register_static (G_TYPE_OBJECT, "EphyTbTreeModel",
- &tb_tree_model_info, 0);
-
- g_type_add_interface_static (tb_tree_model_type,
- GTK_TYPE_TREE_MODEL,
- &tb_gtk_tree_model_info);
- g_type_add_interface_static (tb_tree_model_type,
- GTK_TYPE_TREE_DRAG_SOURCE,
- &drag_source_info);
- g_type_add_interface_static (tb_tree_model_type,
- GTK_TYPE_TREE_DRAG_DEST,
- &drag_dest_info);
- }
-
- return tb_tree_model_type;
-}
-
-static void
-ephy_tb_tree_model_class_init (EphyTbTreeModelClass *class)
-{
- GObjectClass *object_class;
-
- parent_class = g_type_class_peek_parent (class);
- object_class = (GObjectClass *) class;
-
- object_class->finalize = ephy_tb_tree_model_finalize_impl;
-}
-
-static void
-ephy_tb_tree_model_tb_tree_model_init (GtkTreeModelIface *iface)
-{
- iface->get_flags = ephy_tb_tree_model_get_flags_impl;
- iface->get_n_columns = ephy_tb_tree_model_get_n_columns_impl;
- iface->get_column_type = ephy_tb_tree_model_get_column_type_impl;
- iface->get_iter = ephy_tb_tree_model_get_iter_impl;
- iface->get_path = ephy_tb_tree_model_get_path_impl;
- iface->get_value = ephy_tb_tree_model_get_value_impl;
- iface->iter_next = ephy_tb_tree_model_iter_next_impl;
- iface->iter_children = ephy_tb_tree_model_iter_children_impl;
- iface->iter_has_child = ephy_tb_tree_model_iter_has_child_impl;
- iface->iter_n_children = ephy_tb_tree_model_iter_n_children_impl;
- iface->iter_nth_child = ephy_tb_tree_model_iter_nth_child_impl;
- iface->iter_parent = ephy_tb_tree_model_iter_parent_impl;
-}
-
-static void
-ephy_tb_tree_model_drag_source_init (GtkTreeDragSourceIface *iface)
-{
- iface->drag_data_delete = ephy_tb_tree_model_drag_data_delete_impl;
- iface->drag_data_get = ephy_tb_tree_model_drag_data_get_impl;
-}
-
-static void
-ephy_tb_tree_model_drag_dest_init (GtkTreeDragDestIface *iface)
-{
- iface->drag_data_received = ephy_tb_tree_model_drag_data_received_impl;
- iface->row_drop_possible = ephy_tb_tree_model_row_drop_possible_impl;
-}
-
-static void
-ephy_tb_tree_model_init (EphyTbTreeModel *tb_tree_model)
-{
- EphyTbTreeModelPrivate *p = g_new0 (EphyTbTreeModelPrivate, 1);
- tb_tree_model->priv = p;
-
- do
- {
- tb_tree_model->stamp = g_random_int ();
- }
- while (tb_tree_model->stamp == 0);
-}
-
-EphyTbTreeModel *
-ephy_tb_tree_model_new (void)
-{
- EphyTbTreeModel *ret = EPHY_TB_TREE_MODEL (g_object_new (EPHY_TYPE_TB_TREE_MODEL, NULL));
- return ret;
-}
-
-
-void
-ephy_tb_tree_model_set_toolbar (EphyTbTreeModel *tm, EphyToolbar *tb)
-{
- EphyTbTreeModelPrivate *p;
-
- g_return_if_fail (EPHY_IS_TB_TREE_MODEL (tm));
- g_return_if_fail (EPHY_IS_TOOLBAR (tb));
-
- p = tm->priv;
-
- if (p->tb)
- {
- g_signal_handlers_disconnect_matched (p->tb, G_SIGNAL_MATCH_DATA, 0, 0,
- NULL, NULL, tm);
- g_object_unref (p->tb);
- }
-
- p->tb = g_object_ref (tb);
- g_signal_connect (p->tb, "changed", G_CALLBACK (ephy_tb_tree_model_toolbar_changed_cb), tm);
-
- ephy_tb_tree_model_update (tm);
-}
-
-static void
-ephy_tb_tree_model_finalize_impl (GObject *object)
-{
- EphyTbTreeModel *tm = EPHY_TB_TREE_MODEL (object);
- EphyTbTreeModelPrivate *p = tm->priv;
-
- DEBUG_MSG (("Finalizing a EphyTbTreeModel\n"));
-
- if (p->tb)
- {
- g_signal_handlers_disconnect_matched (p->tb, G_SIGNAL_MATCH_DATA, 0, 0,
- NULL, NULL, tm);
- g_object_unref (p->tb);
- }
-
- g_slist_foreach (p->curr_items, (GFunc) g_object_unref, NULL);
- g_slist_free (p->curr_items);
- g_free (p);
-
- (* parent_class->finalize) (object);
-}
-
-/* fulfill the GtkTreeModel requirements */
-
-static guint
-ephy_tb_tree_model_get_flags_impl (GtkTreeModel *tb_tree_model)
-{
- return 0;
-}
-
-static gint
-ephy_tb_tree_model_get_n_columns_impl (GtkTreeModel *tb_tree_model)
-{
- return EPHY_TB_TREE_MODEL_NUM_COLUMS;
-}
-
-static GType
-ephy_tb_tree_model_get_column_type_impl (GtkTreeModel *tb_tree_model,
- gint index)
-{
- g_return_val_if_fail (EPHY_IS_TB_TREE_MODEL (tb_tree_model), G_TYPE_INVALID);
- g_return_val_if_fail ((index < EPHY_TB_TREE_MODEL_NUM_COLUMS) && (index >= 0), G_TYPE_INVALID);
-
- switch (index)
- {
- case EPHY_TB_TREE_MODEL_COL_ICON:
- return GDK_TYPE_PIXBUF;
- break;
- case EPHY_TB_TREE_MODEL_COL_NAME:
- return G_TYPE_STRING;
- break;
- default:
- g_assert_not_reached ();
- return G_TYPE_INVALID;
- break;
- }
-}
-
-static gboolean
-ephy_tb_tree_model_get_iter_impl (GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- GtkTreePath *path)
-{
- EphyTbTreeModel *tb_tree_model = (EphyTbTreeModel *) tree_model;
- EphyTbTreeModelPrivate *p;
- GSList *li;
- gint i;
-
- g_return_val_if_fail (EPHY_IS_TB_TREE_MODEL (tb_tree_model), FALSE);
- g_return_val_if_fail (gtk_tree_path_get_depth (path) > 0, FALSE);
-
- p = tb_tree_model->priv;
- i = gtk_tree_path_get_indices (path)[0];
- li = g_slist_nth (p->curr_items, i);
-
- if (!li)
- {
- return FALSE;
- }
-
- iter->stamp = tb_tree_model->stamp;
- iter->user_data = li;
-
- return TRUE;
-}
-
-static GtkTreePath *
-ephy_tb_tree_model_get_path_impl (GtkTreeModel *tree_model,
- GtkTreeIter *iter)
-{
- EphyTbTreeModel *tb_tree_model = (EphyTbTreeModel *) tree_model;
- EphyTbTreeModelPrivate *p;
- gint i;
-
- g_return_val_if_fail (EPHY_IS_TB_TREE_MODEL (tb_tree_model), NULL);
- g_return_val_if_fail (iter != NULL, NULL);
- g_return_val_if_fail (iter->user_data != NULL, NULL);
- g_return_val_if_fail (iter->stamp == tb_tree_model->stamp, NULL);
-
- p = tb_tree_model->priv;
-
- i = g_slist_position (p->curr_items, iter->user_data);
- if (i < 0)
- {
- return NULL;
- }
- else
- {
- GtkTreePath *retval;
- retval = gtk_tree_path_new ();
- gtk_tree_path_append_index (retval, i);
- return retval;
- }
-}
-
-
-static void
-ephy_tb_tree_model_get_value_impl (GtkTreeModel *tb_tree_model,
- GtkTreeIter *iter,
- gint column,
- GValue *value)
-{
- EphyTbItem *it;
- GdkPixbuf *pb;
- gchar *s;
-
- g_return_if_fail (EPHY_IS_TB_TREE_MODEL (tb_tree_model));
- g_return_if_fail (iter != NULL);
- g_return_if_fail (iter->stamp == EPHY_TB_TREE_MODEL (tb_tree_model)->stamp);
- g_return_if_fail (EPHY_IS_TB_ITEM (((GSList *) iter->user_data)->data));
- g_return_if_fail (column < EPHY_TB_TREE_MODEL_NUM_COLUMS);
-
- it = ((GSList *) iter->user_data)->data;
-
- switch (column) {
- case EPHY_TB_TREE_MODEL_COL_ICON:
- g_value_init (value, GDK_TYPE_PIXBUF);
- pb = ephy_tb_item_get_icon (it);
- g_value_set_object (value, pb);
- break;
- case EPHY_TB_TREE_MODEL_COL_NAME:
- g_value_init (value, G_TYPE_STRING);
- s = ephy_tb_item_get_name_human (it);
- g_value_set_string_take_ownership (value, s);
- break;
- default:
- g_assert_not_reached ();
- break;
- }
-}
-
-static gboolean
-ephy_tb_tree_model_iter_next_impl (GtkTreeModel *tree_model,
- GtkTreeIter *iter)
-{
- g_return_val_if_fail (EPHY_IS_TB_TREE_MODEL (tree_model), FALSE);
- g_return_val_if_fail (EPHY_TB_TREE_MODEL (tree_model)->stamp == iter->stamp, FALSE);
-
- iter->user_data = ((GSList *) (iter->user_data))->next;
- return (iter->user_data != NULL);
-}
-
-static gboolean
-ephy_tb_tree_model_iter_children_impl (GtkTreeModel *tb_tree_model,
- GtkTreeIter *iter,
- GtkTreeIter *parent)
-{
- if (parent)
- {
- /* this is a list, nodes have no children */
- return FALSE;
- }
- else
- {
- /* but if parent == NULL we return the list itself as children of the
- * "root"
- */
- EphyTbTreeModel *tm = EPHY_TB_TREE_MODEL (tb_tree_model);
- EphyTbTreeModelPrivate *p = tm->priv;
-
- iter->stamp = tm->stamp;
- iter->user_data = p->curr_items;
- return (p->curr_items != NULL);
- }
-}
-
-static gboolean
-ephy_tb_tree_model_iter_has_child_impl (GtkTreeModel *tb_tree_model,
- GtkTreeIter *iter)
-{
- return FALSE;
-}
-
-static gint
-ephy_tb_tree_model_iter_n_children_impl (GtkTreeModel *tb_tree_model,
- GtkTreeIter *iter)
-{
- EphyTbTreeModel *tm = (EphyTbTreeModel *) tb_tree_model;
- EphyTbTreeModelPrivate *p;
- g_return_val_if_fail (EPHY_IS_TB_TREE_MODEL (tm), -1);
-
- p = tm->priv;
-
- if (iter == NULL)
- {
- return g_slist_length (p->curr_items);
- }
-
- g_return_val_if_fail (tm->stamp == iter->stamp, -1);
- return 0;
-}
-
-static gboolean
-ephy_tb_tree_model_iter_nth_child_impl (GtkTreeModel *tb_tree_model,
- GtkTreeIter *iter,
- GtkTreeIter *parent,
- gint n)
-{
- EphyTbTreeModel *tm = (EphyTbTreeModel *) tb_tree_model;
- EphyTbTreeModelPrivate *p;
- g_return_val_if_fail (EPHY_IS_TB_TREE_MODEL (tm), FALSE);
-
- p = tm->priv;
-
- if (parent)
- {
- return FALSE;
- }
- else
- {
- GSList *li = g_slist_nth (p->curr_items, n);
-
- if (li)
- {
- iter->stamp = tm->stamp;
- iter->user_data = li;
- return TRUE;
- }
- else
- {
- return FALSE;
- }
- }
-}
-
-static gboolean
-ephy_tb_tree_model_iter_parent_impl (GtkTreeModel *tb_tree_model,
- GtkTreeIter *iter,
- GtkTreeIter *child)
-{
- return FALSE;
-}
-
-
-
-/* DND */
-
-
-static gboolean
-ephy_tb_tree_model_drag_data_delete_impl (GtkTreeDragSource *drag_source,
- GtkTreePath *path)
-{
- GtkTreeIter iter;
- EphyTbTreeModel *tm;
-
- g_return_val_if_fail (EPHY_IS_TB_TREE_MODEL (drag_source), FALSE);
-
- tm = EPHY_TB_TREE_MODEL (drag_source);
-
- DEBUG_MSG (("in ephy_tb_tree_model_drag_data_delete_impl\n"));
-
- if (ephy_tb_tree_model_get_iter_impl (GTK_TREE_MODEL (tm), &iter, path))
- {
- EphyTbTreeModelPrivate *p = tm->priv;
- EphyTbItem *it = ephy_tb_tree_model_item_from_iter (tm, &iter);
- EphyTbItem *delete_hack;
- if ((delete_hack = g_object_get_data (G_OBJECT (tm),
- "gul-toolbar-tree-model-dnd-delete-hack")) != NULL)
- {
- g_return_val_if_fail (EPHY_IS_TB_ITEM (delete_hack), FALSE);
- g_object_ref (delete_hack);
-
- g_object_set_data (G_OBJECT (tm),
- "gul-toolbar-tree-model-dnd-delete-hack", NULL);
-
- if (!strcmp (delete_hack->id, it->id))
- {
- g_object_unref (delete_hack);
- return FALSE;
- }
- g_object_unref (delete_hack);
- }
-
- ephy_toolbar_remove_item (p->tb, it);
- return TRUE;
- }
- else
- {
- return FALSE;
- }
-}
-
-static gboolean
-ephy_tb_tree_model_drag_data_get_impl (GtkTreeDragSource *drag_source,
- GtkTreePath *path,
- GtkSelectionData *selection_data)
-{
- g_return_val_if_fail (EPHY_IS_TB_TREE_MODEL (drag_source), FALSE);
-
- /* Note that we don't need to handle the GTK_TB_TREE_MODEL_ROW
- * target, because the default handler does it for us, but
- * we do anyway for the convenience of someone maybe overriding the
- * default handler.
- */
-
- if (gtk_tree_set_row_drag_data (selection_data,
- GTK_TREE_MODEL (drag_source),
- path))
- {
- return TRUE;
- }
- else
- {
- /* to string ? */
- }
-
- return FALSE;
-}
-
-
-static gboolean
-ephy_tb_tree_model_drag_data_received_impl (GtkTreeDragDest *drag_dest,
- GtkTreePath *dest,
- GtkSelectionData *selection_data)
-{
- EphyTbTreeModel *tbm;
- GtkTreeModel *src_model = NULL;
- GtkTreePath *src_path = NULL;
-
- g_return_val_if_fail (EPHY_IS_TB_TREE_MODEL (drag_dest), FALSE);
- g_return_val_if_fail (gtk_tree_path_get_depth (dest) == 1, FALSE);
-
- tbm = EPHY_TB_TREE_MODEL (drag_dest);
-
- DEBUG_MSG (("in ephy_tb_tree_model_drag_data_received_impl\n"));
-
- if (gtk_tree_get_row_drag_data (selection_data,
- &src_model,
- &src_path)
- && EPHY_IS_TB_TREE_MODEL (src_model))
- {
- /* copy the item */
-
- GtkTreeIter src_iter;
- EphyTbItem *it;
- int idx = gtk_tree_path_get_indices (dest)[0];
-
- if (!gtk_tree_model_get_iter (src_model,
- &src_iter,
- src_path))
- {
- gtk_tree_path_free (src_path);
- return FALSE;
- }
- gtk_tree_path_free (src_path);
-
- if (GPOINTER_TO_INT (g_object_get_data (G_OBJECT (drag_dest),
- "gtk-tree-model-drop-append")))
- {
- ++idx;
- }
-
- it = ephy_tb_item_clone (EPHY_TB_ITEM (((GSList *)src_iter.user_data)->data));
- ephy_toolbar_add_item (tbm->priv->tb, it, idx);
-
- /* hack */
- if (src_model == GTK_TREE_MODEL (drag_dest)
- && ephy_toolbar_get_check_unique (EPHY_TB_TREE_MODEL (src_model)->priv->tb)
- && ephy_tb_item_is_unique (it))
- {
- g_object_set_data_full (G_OBJECT (src_model),
- "gul-toolbar-tree-model-dnd-delete-hack", it,
- g_object_unref);
- }
- else
- {
- g_object_unref (it);
- }
-
- g_object_set_data (G_OBJECT (drag_dest), "gtk-tree-model-drop-append", NULL);
- return TRUE;
- }
-
- return FALSE;
-}
-
-static gboolean
-ephy_tb_tree_model_row_drop_possible_impl (GtkTreeDragDest *drag_dest,
- GtkTreePath *dest_path,
- GtkSelectionData *selection_data)
-{
- GtkTreeModel *src_model = NULL;
- GtkTreePath *src_path = NULL;
- gboolean retval = FALSE;
- EphyTbTreeModel *tm;
- EphyTbTreeModelPrivate *p;
-
- g_return_val_if_fail (EPHY_IS_TB_TREE_MODEL (drag_dest), FALSE);
- tm = EPHY_TB_TREE_MODEL (drag_dest);
- p = tm->priv;
-
- if (gtk_tree_path_get_depth (dest_path) != 1)
- {
- return FALSE;
- }
- if (!gtk_tree_get_row_drag_data (selection_data,
- &src_model,
- &src_path))
- {
- return FALSE;
- }
-
- /* can drop before any existing node, or before one past any existing. */
-
- retval = (gtk_tree_path_get_indices (dest_path)[0] <= (gint) g_slist_length (p->curr_items));
-
- gtk_tree_path_free (src_path);
-
- return retval;
-}
-
-
-EphyTbItem *
-ephy_tb_tree_model_item_from_iter (EphyTbTreeModel *tm, GtkTreeIter *iter)
-{
- return iter ? EPHY_TB_ITEM (((GSList *) iter->user_data)->data) : NULL;
-}
-
-static void
-ephy_tb_tree_model_toolbar_changed_cb (EphyToolbar *tb, EphyTbTreeModel *tm)
-{
- ephy_tb_tree_model_update (tm);
-}
-
-static void
-ephy_tb_tree_model_update (EphyTbTreeModel *tm)
-{
- EphyTbTreeModelPrivate *p;
- GSList *new_items;
- GSList *old_items;
- GSList *li;
- GSList *lj;
- int i;
-
- g_return_if_fail (EPHY_IS_TB_TREE_MODEL (tm));
- p = tm->priv;
- g_return_if_fail (EPHY_IS_TOOLBAR (p->tb));
-
- old_items = p->curr_items;
- new_items = g_slist_copy ((GSList *) ephy_toolbar_get_item_list (p->tb));
- g_slist_foreach (new_items, (GFunc) g_object_ref, NULL);
- p->curr_items = new_items;
-
- li = new_items;
- lj = old_items;
- i = 0;
-
- while (li && lj)
- {
- if (li->data == lj->data)
- {
- li = li->next;
- lj = lj->next;
- ++i;
- }
- else if (lj->next && lj->next->data == li->data)
- {
- GtkTreePath *p = gtk_tree_path_new ();
- gtk_tree_path_append_index (p, i);
- gtk_tree_model_row_deleted (GTK_TREE_MODEL (tm), p);
- gtk_tree_path_free (p);
- lj = lj->next;
- }
- else if (li->next && li->next->data == lj->data)
- {
- GtkTreePath *p = gtk_tree_path_new ();
- GtkTreeIter iter;
- iter.stamp = tm->stamp;
- iter.user_data = li;
- gtk_tree_path_append_index (p, i);
- gtk_tree_model_row_inserted (GTK_TREE_MODEL (tm), p, &iter);
- gtk_tree_path_free (p);
- li = li->next;
- ++i;
- }
- else
- {
- GtkTreePath *p = gtk_tree_path_new ();
- GtkTreeIter iter;
- iter.stamp = tm->stamp;
- iter.user_data = li;
- gtk_tree_path_append_index (p, i);
- gtk_tree_model_row_deleted (GTK_TREE_MODEL (tm), p);
- gtk_tree_model_row_inserted (GTK_TREE_MODEL (tm), p, &iter);
- gtk_tree_path_free (p);
- lj = lj->next;
- li = li->next;
- ++i;
- }
- }
-
- while (li)
- {
- GtkTreePath *p = gtk_tree_path_new ();
- GtkTreeIter iter;
- iter.stamp = tm->stamp;
- iter.user_data = li;
- gtk_tree_path_append_index (p, i);
- gtk_tree_model_row_inserted (GTK_TREE_MODEL (tm), p, &iter);
- gtk_tree_path_free (p);
- li = li->next;
- ++i;
- }
-
- while (lj)
- {
- GtkTreePath *p = gtk_tree_path_new ();
- gtk_tree_path_append_index (p, i);
- gtk_tree_model_row_deleted (GTK_TREE_MODEL (tm), p);
- gtk_tree_path_free (p);
- lj = lj->next;
- }
-
- g_slist_foreach (old_items, (GFunc) g_object_unref, NULL);
- g_slist_free (old_items);
-}
-
diff --git a/lib/toolbar/ephy-toolbar-tree-model.h b/lib/toolbar/ephy-toolbar-tree-model.h
deleted file mode 100644
index 893e6ba9a..000000000
--- a/lib/toolbar/ephy-toolbar-tree-model.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernándezs Pascual <ric@users.sourceforge.net>
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef EPHY_TOOLBAR_TREE_MODEL_H
-#define EPHY_TOOLBAR_TREE_MODEL_H
-
-#include <gtk/gtktreemodel.h>
-#include "ephy-toolbar.h"
-
-G_BEGIN_DECLS
-
-/* object forward declarations */
-
-typedef struct _EphyTbTreeModel EphyTbTreeModel;
-typedef struct _EphyTbTreeModelClass EphyTbTreeModelClass;
-typedef struct _EphyTbTreeModelPrivate EphyTbTreeModelPrivate;
-
-typedef enum {
- EPHY_TB_TREE_MODEL_COL_ICON,
- EPHY_TB_TREE_MODEL_COL_NAME,
- EPHY_TB_TREE_MODEL_NUM_COLUMS
-} EphyTbTreeModelColumn;
-
-/**
- * Tb tree model object
- */
-
-#define EPHY_TYPE_TB_TREE_MODEL (ephy_tb_tree_model_get_type())
-#define EPHY_TB_TREE_MODEL(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EPHY_TYPE_TB_TREE_MODEL,\
- EphyTbTreeModel))
-#define EPHY_TB_TREE_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EPHY_TYPE_TB_TREE_MODEL,\
- EphyTbTreeModelClass))
-#define EPHY_IS_TB_TREE_MODEL(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EPHY_TYPE_TB_TREE_MODEL))
-#define EPHY_IS_TB_TREE_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EPHY_TYPE_TB_TREE_MODEL))
-#define EPHY_TB_TREE_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), EPHY_TYPE_TB_TREE_MODEL,\
- EphyTbTreeModelClass))
-
-struct _EphyTbTreeModel
-{
- GObject parent;
-
- EphyTbTreeModelPrivate *priv;
- gint stamp;
-};
-
-struct _EphyTbTreeModelClass
-{
- GObjectClass parent_class;
-};
-
-
-GtkType ephy_tb_tree_model_get_type (void);
-EphyTbTreeModel * ephy_tb_tree_model_new (void);
-void ephy_tb_tree_model_set_toolbar (EphyTbTreeModel *tm, EphyToolbar *tb);
-EphyTbItem * ephy_tb_tree_model_item_from_iter (EphyTbTreeModel *tm, GtkTreeIter *iter);
-
-G_END_DECLS
-
-#endif
diff --git a/lib/toolbar/ephy-toolbar.c b/lib/toolbar/ephy-toolbar.c
deleted file mode 100644
index 53598cc6c..000000000
--- a/lib/toolbar/ephy-toolbar.c
+++ /dev/null
@@ -1,420 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <libgnome/gnome-i18n.h>
-#include <string.h>
-#include "ephy-gobject-misc.h"
-#include "ephy-marshal.h"
-#include "ephy-toolbar.h"
-#include "ephy-toolbar-item-factory.h"
-#include "eel-gconf-extensions.h"
-
-#define NOT_IMPLEMENTED g_warning ("not implemented: " G_STRLOC);
-//#define DEBUG_MSG(x) g_print x
-#define DEBUG_MSG(x)
-
-/**
- * Private data
- */
-struct _EphyToolbarPrivate
-{
- GSList *items;
- guint gconf_notification_id;
-
- gboolean check_unique;
- gboolean fixed_order;
- GSList *order; /* list of ids */
-};
-
-/**
- * Private functions, only availble from this file
- */
-static void ephy_toolbar_class_init (EphyToolbarClass *klass);
-static void ephy_toolbar_init (EphyToolbar *tb);
-static void ephy_toolbar_finalize_impl (GObject *o);
-static void ephy_toolbar_listen_to_gconf_cb (GConfClient* client,
- guint cnxn_id,
- GConfEntry *entry,
- gpointer user_data);
-static void ephy_toolbar_update_order (EphyToolbar *tb);
-
-
-static gpointer g_object_class;
-
-/* signals enums and ids */
-enum EphyToolbarSignalsEnum {
- EPHY_TOOLBAR_CHANGED,
- EPHY_TOOLBAR_LAST_SIGNAL
-};
-static gint EphyToolbarSignals[EPHY_TOOLBAR_LAST_SIGNAL];
-
-/**
- * Toolbar object
- */
-
-MAKE_GET_TYPE (ephy_toolbar, "EphyToolbar", EphyToolbar, ephy_toolbar_class_init,
- ephy_toolbar_init, G_TYPE_OBJECT);
-
-static void
-ephy_toolbar_class_init (EphyToolbarClass *klass)
-{
- G_OBJECT_CLASS (klass)->finalize = ephy_toolbar_finalize_impl;
-
- EphyToolbarSignals[EPHY_TOOLBAR_CHANGED] = g_signal_new (
- "changed", G_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_FIRST | G_SIGNAL_RUN_LAST | G_SIGNAL_RUN_CLEANUP,
- G_STRUCT_OFFSET (EphyToolbarClass, changed),
- NULL, NULL,
- ephy_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- g_object_class = g_type_class_peek_parent (klass);
-}
-
-static void
-ephy_toolbar_init (EphyToolbar *tb)
-{
- EphyToolbarPrivate *p = g_new0 (EphyToolbarPrivate, 1);
- tb->priv = p;
-
- p->check_unique = TRUE;
-}
-
-static void
-ephy_toolbar_finalize_impl (GObject *o)
-{
- EphyToolbar *tb = EPHY_TOOLBAR (o);
- EphyToolbarPrivate *p = tb->priv;
-
- g_slist_foreach (p->items, (GFunc) g_object_unref, NULL);
- g_slist_free (p->items);
-
- if (p->gconf_notification_id)
- {
- eel_gconf_notification_remove (p->gconf_notification_id);
- }
-
- g_slist_foreach (p->order, (GFunc) g_free, NULL);
- g_slist_free (p->order);
-
- g_free (p);
-
- DEBUG_MSG (("EphyToolbar finalized\n"));
-
- G_OBJECT_CLASS (g_object_class)->finalize (o);
-}
-
-
-EphyToolbar *
-ephy_toolbar_new (void)
-{
- EphyToolbar *ret = g_object_new (EPHY_TYPE_TOOLBAR, NULL);
- return ret;
-}
-
-gboolean
-ephy_toolbar_parse (EphyToolbar *tb, const gchar *cfg)
-{
- EphyToolbarPrivate *p = tb->priv;
- GSList *list = NULL;
- gchar **items;
- int i;
-
- g_return_val_if_fail (EPHY_IS_TOOLBAR (tb), FALSE);
- g_return_val_if_fail (cfg != NULL, FALSE);
-
- items = g_strsplit (cfg, ";", 9999);
- if (!items) return FALSE;
-
- for (i = 0; items[i]; ++i)
- {
- if (items[i][0])
- {
- EphyTbItem *it = ephy_toolbar_item_create_from_string (items[i]);
-
- if (!it)
- {
- /* FIXME: this leaks everything... */
- return FALSE;
- }
-
- list = g_slist_prepend (list, it);
- }
- }
-
- g_strfreev (items);
-
- g_slist_foreach (p->items, (GFunc) g_object_unref, NULL);
- g_slist_free (p->items);
- p->items = g_slist_reverse (list);
-
- if (p->fixed_order)
- {
- ephy_toolbar_update_order (tb);
- }
-
- g_signal_emit (tb, EphyToolbarSignals[EPHY_TOOLBAR_CHANGED], 0);
-
- return TRUE;
-}
-
-gchar *
-ephy_toolbar_to_string (EphyToolbar *tb)
-{
- EphyToolbarPrivate *p = tb->priv;
- gchar *ret;
- GString *str = g_string_new ("");
- GSList *li;
-
- for (li = p->items; li; li = li->next)
- {
- EphyTbItem *it = li->data;
- gchar *s = ephy_tb_item_to_string (it);
- g_string_append (str, s);
- if (li->next)
- {
- g_string_append (str, ";");
- }
- g_free (s);
- }
-
- ret = str->str;
- g_string_free (str, FALSE);
- return ret;
-}
-
-static void
-ephy_toolbar_listen_to_gconf_cb (GConfClient* client,
- guint cnxn_id,
- GConfEntry *entry,
- gpointer user_data)
-{
- EphyToolbar *tb = user_data;
- GConfValue *value;
- const char *str;
-
- g_return_if_fail (EPHY_IS_TOOLBAR (tb));
-
- value = gconf_entry_get_value (entry);
- str = gconf_value_get_string (value);
-
- DEBUG_MSG (("in ephy_toolbar_listen_to_gconf_cb\n"));
-
- ephy_toolbar_parse (tb, str);
-}
-
-/**
- * Listen to changes in the toolbar configuration. Returns TRUE if the
- * current configuration is valid.
- */
-gboolean
-ephy_toolbar_listen_to_gconf (EphyToolbar *tb, const gchar *gconf_key)
-{
- EphyToolbarPrivate *p = tb->priv;
- gchar *s;
- gboolean ret = FALSE;
-
- if (p->gconf_notification_id)
- {
- eel_gconf_notification_remove (p->gconf_notification_id);
- }
-
- s = eel_gconf_get_string (gconf_key);
- if (s)
- {
- ret = ephy_toolbar_parse (tb, s);
- g_free (s);
- }
-
- p->gconf_notification_id = eel_gconf_notification_add (gconf_key,
- ephy_toolbar_listen_to_gconf_cb,
- tb);
-
- DEBUG_MSG (("listening to %s, %d (FIXME: does not seem to work)\n",
- gconf_key, p->gconf_notification_id));
-
- return ret;
-}
-
-EphyTbItem *
-ephy_toolbar_get_item_by_id (EphyToolbar *tb, const gchar *id)
-{
- EphyToolbarPrivate *p = tb->priv;
- GSList *li;
-
- for (li = p->items; li; li = li->next)
- {
- EphyTbItem *i = li->data;
- if (i->id && !strcmp (i->id, id))
- {
- return i;
- }
- }
- return NULL;
-}
-
-const GSList *
-ephy_toolbar_get_item_list (EphyToolbar *tb)
-{
- EphyToolbarPrivate *p = tb->priv;
- return p->items;
-}
-
-void
-ephy_toolbar_add_item (EphyToolbar *tb, EphyTbItem *it, gint index)
-{
- EphyToolbarPrivate *p = tb->priv;
- EphyTbItem *old_it;
-
- g_return_if_fail (g_slist_find (p->items, it) == NULL);
-
- if (p->check_unique && ephy_tb_item_is_unique (it)
- && (old_it = ephy_toolbar_get_item_by_id (tb, it->id)) != NULL)
- {
- GSList *old_it_link;
- if (p->fixed_order)
- {
- return;
- }
- old_it_link = g_slist_find (p->items, old_it);
- p->items = g_slist_insert (p->items, old_it, index);
- p->items = g_slist_delete_link (p->items, old_it_link);
-
- }
- else
- {
- if (p->fixed_order)
- {
- GSList *li;
- if (ephy_toolbar_get_item_by_id (tb, it->id) != NULL)
- {
- return;
- }
- index = 0;
- for (li = p->order; li && strcmp (li->data, it->id); li = li->next)
- {
- if (ephy_toolbar_get_item_by_id (tb, li->data) != NULL)
- {
- ++index;
- }
- }
- }
-
- p->items = g_slist_insert (p->items, it, index);
- g_object_ref (it);
- }
- g_signal_emit (tb, EphyToolbarSignals[EPHY_TOOLBAR_CHANGED], 0);
-}
-
-void
-ephy_toolbar_remove_item (EphyToolbar *tb, EphyTbItem *it)
-{
- EphyToolbarPrivate *p = tb->priv;
-
- g_return_if_fail (g_slist_find (p->items, it) != NULL);
-
- p->items = g_slist_remove (p->items, it);
-
- g_signal_emit (tb, EphyToolbarSignals[EPHY_TOOLBAR_CHANGED], 0);
-
- g_object_unref (it);
-}
-
-void
-ephy_toolbar_set_fixed_order (EphyToolbar *tb, gboolean value)
-{
- EphyToolbarPrivate *p = tb->priv;
- p->fixed_order = value;
-
- if (value)
- {
- ephy_toolbar_update_order (tb);
- }
-}
-
-void
-ephy_toolbar_set_check_unique (EphyToolbar *tb, gboolean value)
-{
- EphyToolbarPrivate *p = tb->priv;
- p->check_unique = value;
-
- /* maybe it should remove duplicated items now, if any */
-}
-
-gboolean
-ephy_toolbar_get_check_unique (EphyToolbar *tb)
-{
- EphyToolbarPrivate *p = tb->priv;
- return p->check_unique;
-}
-
-static void
-ephy_toolbar_update_order (EphyToolbar *tb)
-{
- EphyToolbarPrivate *p = tb->priv;
- GSList *li;
- GSList *lj;
- GSList *new_order = NULL;
-
- lj = p->order;
- for (li = p->items; li; li = li->next)
- {
- EphyTbItem *i = li->data;
- const gchar *id = i->id;
-
- if (g_slist_find_custom (lj, id, (GCompareFunc) strcmp))
- {
- for ( ; lj && strcmp (lj->data, id); lj = lj->next)
- {
- if (ephy_toolbar_get_item_by_id (tb, lj->data) == NULL)
- {
- new_order = g_slist_prepend (new_order, g_strdup (lj->data));
- }
- }
- }
-
- new_order = g_slist_prepend (new_order, g_strdup (id));
-
- }
-
- for ( ; lj; lj = lj->next)
- {
- if (ephy_toolbar_get_item_by_id (tb, lj->data) == NULL)
- {
- new_order = g_slist_prepend (new_order, g_strdup (lj->data));
- }
- }
-
- g_slist_foreach (p->order, (GFunc) g_free, NULL);
- g_slist_free (p->order);
-
- p->order = g_slist_reverse (new_order);
-
-#ifdef DEBUG_ORDER
- DEBUG_MSG (("New order:\n"));
- for (lj = p->order; lj; lj = lj->next)
- {
- DEBUG_MSG (("%s\n", (char *) lj->data));
- }
-#endif
-}
-
diff --git a/lib/toolbar/ephy-toolbar.h b/lib/toolbar/ephy-toolbar.h
deleted file mode 100644
index 3c70a4783..000000000
--- a/lib/toolbar/ephy-toolbar.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2002 Ricardo Fernández Pascual
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef EPHY_TOOLBAR_H
-#define EPHY_TOOLBAR_H
-
-#include <glib-object.h>
-
-#include "ephy-toolbar-item.h"
-
-G_BEGIN_DECLS
-
-/* object forward declarations */
-
-typedef struct _EphyToolbar EphyToolbar;
-typedef struct _EphyToolbarClass EphyToolbarClass;
-typedef struct _EphyToolbarPrivate EphyToolbarPrivate;
-
-/**
- * Toolbar object
- */
-
-#define EPHY_TYPE_TOOLBAR (ephy_toolbar_get_type())
-#define EPHY_TOOLBAR(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EPHY_TYPE_TOOLBAR,\
- EphyToolbar))
-#define EPHY_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EPHY_TYPE_TOOLBAR,\
- EphyToolbarClass))
-#define EPHY_IS_TOOLBAR(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EPHY_TYPE_TOOLBAR))
-#define EPHY_IS_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EPHY_TYPE_TOOLBAR))
-#define EPHY_TOOLBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), EPHY_TYPE_TOOLBAR,\
- EphyToolbarClass))
-
-struct _EphyToolbarClass
-{
- GObjectClass parent_class;
-
- /* signals */
- void (*changed) (EphyToolbar *tb);
-
-};
-
-/* Remember: fields are public read-only */
-struct _EphyToolbar
-{
- GObject parent_object;
-
- EphyToolbarPrivate *priv;
-};
-
-GType ephy_toolbar_get_type (void);
-EphyToolbar * ephy_toolbar_new (void);
-gboolean ephy_toolbar_parse (EphyToolbar *tb, const gchar *cfg);
-gchar * ephy_toolbar_to_string (EphyToolbar *tb);
-gboolean ephy_toolbar_listen_to_gconf (EphyToolbar *tb, const gchar *gconf_key);
-EphyTbItem * ephy_toolbar_get_item_by_id (EphyToolbar *tb, const gchar *id);
-const GSList * ephy_toolbar_get_item_list (EphyToolbar *tb);
-void ephy_toolbar_add_item (EphyToolbar *tb, EphyTbItem *it, gint index);
-void ephy_toolbar_remove_item (EphyToolbar *tb, EphyTbItem *it);
-void ephy_toolbar_set_fixed_order (EphyToolbar *tb, gboolean value);
-void ephy_toolbar_set_check_unique (EphyToolbar *tb, gboolean value);
-gboolean ephy_toolbar_get_check_unique (EphyToolbar *tb);
-
-G_END_DECLS
-
-#endif