aboutsummaryrefslogtreecommitdiffstats
path: root/lib/egg
diff options
context:
space:
mode:
Diffstat (limited to 'lib/egg')
-rwxr-xr-xlib/egg/egg-editable-toolbar.c4
-rwxr-xr-xlib/egg/egg-toolbar-editor.c66
-rwxr-xr-xlib/egg/egg-toolbar-editor.h9
-rwxr-xr-xlib/egg/egg-toolbars-model.c14
-rwxr-xr-xlib/egg/egg-toolbars-model.h1
5 files changed, 21 insertions, 73 deletions
diff --git a/lib/egg/egg-editable-toolbar.c b/lib/egg/egg-editable-toolbar.c
index 174b775fe..bf32c54ff 100755
--- a/lib/egg/egg-editable-toolbar.c
+++ b/lib/egg/egg-editable-toolbar.c
@@ -279,8 +279,6 @@ popup_toolbar_context_menu_cb (GtkWidget *toolbar,
gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, 2,
gtk_get_current_event_time ());
-
- t->priv->selected_toolbar = NULL;
}
}
@@ -378,7 +376,7 @@ toolbar_added_cb (EggToolbarsModel *model,
gtk_widget_set_size_request (toolbar, -1, MIN_TOOLBAR_HEIGHT);
gtk_box_pack_start (GTK_BOX (t), toolbar, FALSE, FALSE, 0);
- /* FIXME reorder to match position */
+ gtk_box_reorder_child (GTK_BOX (t), toolbar, position);
}
static void
diff --git a/lib/egg/egg-toolbar-editor.c b/lib/egg/egg-toolbar-editor.c
index fd032cdd6..a373b520c 100755
--- a/lib/egg/egg-toolbar-editor.c
+++ b/lib/egg/egg-toolbar-editor.c
@@ -40,11 +40,6 @@ static void update_editor_sheet (EggToolbarEditor *editor);
enum
{
- RESPONSE_ADD_TOOLBAR
-};
-
-enum
-{
PROP_0,
PROP_MENU_MERGE,
PROP_TOOLBARS_MODEL
@@ -83,7 +78,7 @@ egg_toolbar_editor_get_type (void)
(GInstanceInitFunc) egg_toolbar_editor_init
};
- egg_toolbar_editor_type = g_type_register_static (GTK_TYPE_DIALOG,
+ egg_toolbar_editor_type = g_type_register_static (GTK_TYPE_VBOX,
"EggToolbarEditor",
&our_info, 0);
}
@@ -211,8 +206,7 @@ egg_toolbar_editor_finalize (GObject *object)
}
GtkWidget *
-egg_toolbar_editor_new (GtkWindow *parent,
- EggMenuMerge *merge,
+egg_toolbar_editor_new (EggMenuMerge *merge,
EggToolbarsModel *model)
{
EggToolbarEditor *t;
@@ -221,10 +215,6 @@ egg_toolbar_editor_new (GtkWindow *parent,
"MenuMerge", merge,
"ToolbarsModel", model,
NULL));
- if (parent != NULL)
- {
- gtk_window_set_transient_for (GTK_WINDOW (t), parent);
- }
g_return_val_if_fail (t->priv != NULL, NULL);
@@ -302,37 +292,6 @@ drag_data_get_cb (GtkWidget *widget,
selection_data->target, 8, target, strlen (target));
}
-static void
-editor_close (EggToolbarEditor *editor)
-{
- g_return_if_fail (IS_EGG_TOOLBAR_EDITOR (editor));
- gtk_widget_destroy (GTK_WIDGET (editor));
-}
-
-static void
-editor_add_toolbar (EggToolbarEditor *editor)
-{
- g_return_if_fail (IS_EGG_TOOLBAR_EDITOR (editor));
-
- egg_toolbars_model_add_toolbar (editor->priv->model, "UserCreated");
-}
-
-static void
-dialog_response_cb (GtkDialog *dialog,
- gint response_id,
- EggToolbarEditor *editor)
-{
- switch (response_id)
- {
- case RESPONSE_ADD_TOOLBAR:
- editor_add_toolbar (editor);
- break;
- case GTK_RESPONSE_CLOSE:
- editor_close (editor);
- break;
- }
-}
-
static gchar *
elide_underscores (const gchar *original)
{
@@ -475,29 +434,22 @@ static void
setup_editor (EggToolbarEditor *editor)
{
GtkWidget *scrolled_window;
- GtkWidget *vbox;
GtkWidget *label_hbox;
GtkWidget *image;
GtkWidget *label;
g_return_if_fail (IS_EGG_TOOLBAR_EDITOR (editor));
- gtk_dialog_set_has_separator (GTK_DIALOG (editor), FALSE);
- gtk_window_set_title (GTK_WINDOW (editor), "Toolbar editor");
-
- vbox = gtk_vbox_new (FALSE, 12);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
- gtk_widget_show (vbox);
- gtk_container_add (GTK_CONTAINER (GTK_DIALOG (editor)->vbox), vbox);
+ gtk_container_set_border_width (GTK_CONTAINER (editor), 12);
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
editor->priv->scrolled_window = scrolled_window;
gtk_widget_show (scrolled_window);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- gtk_box_pack_start (GTK_BOX (vbox), scrolled_window, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (editor), scrolled_window, TRUE, TRUE, 0);
label_hbox = gtk_hbox_new (FALSE, 6);
gtk_widget_show (label_hbox);
- gtk_box_pack_start (GTK_BOX (vbox), label_hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (editor), label_hbox, FALSE, FALSE, 0);
image =
gtk_image_new_from_stock (GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG);
gtk_widget_show (image);
@@ -507,14 +459,6 @@ setup_editor (EggToolbarEditor *editor)
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
gtk_widget_show (label);
gtk_box_pack_start (GTK_BOX (label_hbox), label, FALSE, TRUE, 0);
-
- gtk_dialog_add_button (GTK_DIALOG (editor),
- _("_Add a New Toolbar"), RESPONSE_ADD_TOOLBAR);
- gtk_dialog_add_button (GTK_DIALOG (editor),
- GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE);
-
- g_signal_connect (editor, "response",
- G_CALLBACK (dialog_response_cb), editor);
}
static void
diff --git a/lib/egg/egg-toolbar-editor.h b/lib/egg/egg-toolbar-editor.h
index 6c6861153..b351fcb89 100755
--- a/lib/egg/egg-toolbar-editor.h
+++ b/lib/egg/egg-toolbar-editor.h
@@ -19,7 +19,7 @@
#ifndef EGG_TOOLBAR_EDITOR_H
#define EGG_TOOLBAR_EDITOR_H
-#include <gtk/gtkdialog.h>
+#include <gtk/gtkvbox.h>
#include "egg-menu-merge.h"
#include "egg-toolbars-model.h"
@@ -41,19 +41,18 @@ typedef struct EggToolbarEditorPrivate EggToolbarEditorPrivate;
struct EggToolbarEditor
{
- GtkDialog parent_object;
+ GtkVBox parent_object;
EggToolbarEditorPrivate *priv;
};
struct EggToolbarEditorClass
{
- GtkDialogClass parent_class;
+ GtkVBoxClass parent_class;
};
GType egg_toolbar_editor_get_type (void);
-GtkWidget *egg_toolbar_editor_new (GtkWindow *parent,
- EggMenuMerge *merge,
+GtkWidget *egg_toolbar_editor_new (EggMenuMerge *merge,
EggToolbarsModel *model);
void egg_toolbar_editor_load_actions (EggToolbarEditor *editor,
const char *xml_file);
diff --git a/lib/egg/egg-toolbars-model.c b/lib/egg/egg-toolbars-model.c
index e2a8ce9fb..94a89ba27 100755
--- a/lib/egg/egg-toolbars-model.c
+++ b/lib/egg/egg-toolbars-model.c
@@ -299,16 +299,22 @@ parse_item_list (EggToolbarsModel *t,
}
int
-egg_toolbars_model_add_toolbar (EggToolbarsModel *t, const char *name)
+egg_toolbars_model_add_toolbar (EggToolbarsModel *t,
+ int position,
+ const char *name)
{
GNode *node;
+ int real_position;
g_return_val_if_fail (IS_EGG_TOOLBARS_MODEL (t), -1);
node = g_node_new (toolbars_toolbar_new (name));
- g_node_insert (t->priv->toolbars, -1, node);
+ g_node_insert (t->priv->toolbars, position, node);
+
+ real_position = g_node_child_position (t->priv->toolbars, node);
- g_signal_emit (G_OBJECT (t), egg_toolbars_model_signals[TOOLBAR_ADDED], 0);
+ g_signal_emit (G_OBJECT (t), egg_toolbars_model_signals[TOOLBAR_ADDED],
+ 0, real_position);
return g_node_child_position (t->priv->toolbars, node);
}
@@ -325,7 +331,7 @@ parse_toolbars (EggToolbarsModel *t,
int position;
name = xmlGetProp (child, "name");
- position = egg_toolbars_model_add_toolbar (t, name);
+ position = egg_toolbars_model_add_toolbar (t, -1, name);
xmlFree (name);
parse_item_list (t, child->children, position);
diff --git a/lib/egg/egg-toolbars-model.h b/lib/egg/egg-toolbars-model.h
index 4d0e82937..1440468fc 100755
--- a/lib/egg/egg-toolbars-model.h
+++ b/lib/egg/egg-toolbars-model.h
@@ -80,6 +80,7 @@ void egg_toolbars_model_load (EggToolbarsModel *t,
void egg_toolbars_model_save (EggToolbarsModel *t,
const char *xml_file);
int egg_toolbars_model_add_toolbar (EggToolbarsModel *t,
+ int position,
const char *name);
EggTbModelFlags egg_toolbars_model_get_flags (EggToolbarsModel *t,
int toolbar_position);