diff options
Diffstat (limited to 'lib/egg')
-rwxr-xr-x | lib/egg/egg-editable-toolbar.c | 44 | ||||
-rwxr-xr-x | lib/egg/egg-editable-toolbar.h | 18 |
2 files changed, 26 insertions, 36 deletions
diff --git a/lib/egg/egg-editable-toolbar.c b/lib/egg/egg-editable-toolbar.c index 72884e5f7..58a9c67b2 100755 --- a/lib/egg/egg-editable-toolbar.c +++ b/lib/egg/egg-editable-toolbar.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2003-2004 Marco Pesenti Gritti - * Copyright (C) 2004 Christian Persch + * Copyright (C) 2003, 2004 Marco Pesenti Gritti + * Copyright (C) 2003, 2004, 2005 Christian Persch * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -71,13 +71,12 @@ static GObjectClass *parent_class = NULL; #define EGG_EDITABLE_TOOLBAR_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EGG_TYPE_EDITABLE_TOOLBAR, EggEditableToolbarPrivate)) -struct EggEditableToolbarPrivate +struct _EggEditableToolbarPrivate { GtkUIManager *manager; EggToolbarsModel *model; gboolean edit_mode; GtkWidget *selected_toolbar; - GtkToolItem *fixed; GtkWidget *fixed_toolbar; gboolean pending; @@ -723,7 +722,8 @@ static void set_fixed_style (EggEditableToolbar *t, GtkToolbarStyle style) { g_return_if_fail (GTK_IS_TOOLBAR (t->priv->fixed_toolbar)); - gtk_toolbar_set_style (GTK_TOOLBAR (t->priv->fixed_toolbar), style); + gtk_toolbar_set_style (GTK_TOOLBAR (t->priv->fixed_toolbar), + style == GTK_TOOLBAR_ICONS ? GTK_TOOLBAR_BOTH_HORIZ : style); } static void @@ -806,7 +806,7 @@ update_fixed (EggEditableToolbar *t) { gtk_box_pack_end (GTK_BOX (dock), toolbar, FALSE, TRUE, 0); - gtk_widget_show_all (toolbar); + gtk_widget_show (toolbar); } } @@ -1260,35 +1260,27 @@ egg_editable_toolbar_hide (EggEditableToolbar *etoolbar, void egg_editable_toolbar_set_fixed (EggEditableToolbar *toolbar, - GtkToolItem *fixed) + GtkToolbar *fixed_toolbar) { g_return_if_fail (EGG_IS_EDITABLE_TOOLBAR (toolbar)); - g_return_if_fail (!fixed || GTK_IS_TOOL_ITEM (fixed)); + g_return_if_fail (!fixed_toolbar || GTK_IS_TOOLBAR (fixed_toolbar)); - if (!toolbar->priv->fixed_toolbar) + if (toolbar->priv->fixed_toolbar) { - toolbar->priv->fixed_toolbar = gtk_toolbar_new (); - gtk_toolbar_set_show_arrow (GTK_TOOLBAR (toolbar->priv->fixed_toolbar), FALSE); - g_object_ref (toolbar->priv->fixed_toolbar); - gtk_object_sink (GTK_OBJECT (toolbar->priv->fixed_toolbar)); + unparent_fixed (toolbar); + g_object_unref (toolbar->priv->fixed_toolbar); + toolbar->priv->fixed_toolbar = NULL; } - if (toolbar->priv->fixed) + if (fixed_toolbar) { - gtk_container_remove (GTK_CONTAINER (toolbar->priv->fixed_toolbar), - GTK_WIDGET (toolbar->priv->fixed)); - g_object_unref (toolbar->priv->fixed); + toolbar->priv->fixed_toolbar = GTK_WIDGET (fixed_toolbar); + gtk_toolbar_set_show_arrow (fixed_toolbar, FALSE); + g_object_ref (fixed_toolbar); + gtk_object_sink (GTK_OBJECT (fixed_toolbar)); } - toolbar->priv->fixed = fixed; - - if (fixed) - { - g_object_ref (fixed); - gtk_object_sink (GTK_OBJECT (fixed)); - - gtk_toolbar_insert (GTK_TOOLBAR (toolbar->priv->fixed_toolbar), fixed, 0); - } + update_fixed (toolbar); } void diff --git a/lib/egg/egg-editable-toolbar.h b/lib/egg/egg-editable-toolbar.h index 2aa087b5f..9f143da70 100755 --- a/lib/egg/egg-editable-toolbar.h +++ b/lib/egg/egg-editable-toolbar.h @@ -1,6 +1,6 @@ /* - * Copyright (C) 2003-2004 Marco Pesenti Gritti - * Copyright (C) 2004 Christian Persch + * Copyright (C) 2003, 2004 Marco Pesenti Gritti + * Copyright (C) 2003, 2004, 2005 Christian Persch * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -32,8 +32,6 @@ G_BEGIN_DECLS -typedef struct EggEditableToolbarClass EggEditableToolbarClass; - #define EGG_TYPE_EDITABLE_TOOLBAR (egg_editable_toolbar_get_type ()) #define EGG_EDITABLE_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_EDITABLE_TOOLBAR, EggEditableToolbar)) #define EGG_EDITABLE_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_EDITABLE_TOOLBAR, EggEditableToolbarClass)) @@ -41,11 +39,11 @@ typedef struct EggEditableToolbarClass EggEditableToolbarClass; #define EGG_IS_EDITABLE_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_EDITABLE_TOOLBAR)) #define EGG_EDITABLE_TOOLBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_EDITABLE_TOOLBAR, EggEditableToolbarClass)) +typedef struct _EggEditableToolbar EggEditableToolbar; +typedef struct _EggEditableToolbarPrivate EggEditableToolbarPrivate; +typedef struct _EggEditableToolbarClass EggEditableToolbarClass; -typedef struct EggEditableToolbar EggEditableToolbar; -typedef struct EggEditableToolbarPrivate EggEditableToolbarPrivate; - -struct EggEditableToolbar +struct _EggEditableToolbar { GtkVBox parent_object; @@ -53,7 +51,7 @@ struct EggEditableToolbar EggEditableToolbarPrivate *priv; }; -struct EggEditableToolbarClass +struct _EggEditableToolbarClass { GtkVBoxClass parent_class; @@ -80,7 +78,7 @@ void egg_editable_toolbar_set_drag_dest (EggEditableToolbar *etoolbar, gint n_targets, const char *toolbar_name); void egg_editable_toolbar_set_fixed (EggEditableToolbar *etoolbar, - GtkToolItem *fixed); + GtkToolbar *fixed_toolbar); /* Private Functions */ |