From 5ebce856b512e49df2761bfcf4a685abfff1a518 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Wed, 17 Sep 2003 22:54:48 +0000 Subject: [PATCH] app/widgets/gimpdatafactoryview.[ch] app/widgets/gimpitemtreeview.[ch] 2003-09-18 Michael Natterer * app/widgets/gimpdatafactoryview.[ch] * app/widgets/gimpitemtreeview.[ch] * app/widgets/gimppaletteeditor.[ch] * app/widgets/gimptemplateview.[ch]: order the button boxes in these dialogs like the entries their popup menus: The default (double click) action is the first menu entry / button. In an attack of consistency, also reordered functions and function parameters all over the place to match the new order. * app/widgets/gimpchanneltreeview.c * app/widgets/gimplayertreeview.c * app/widgets/gimpvectorstreeview.c * app/gui/dialogs-constructors.c: changed accordingly. --- ChangeLog | 16 ++++++ app/dialogs/dialogs-constructors.c | 8 +-- app/gui/dialogs-constructors.c | 8 +-- app/widgets/gimpchanneltreeview.c | 4 +- app/widgets/gimpdatafactoryview.c | 73 ++++++++++++++------------- app/widgets/gimpdatafactoryview.h | 2 +- app/widgets/gimpitemtreeview.c | 73 +++++++++++++-------------- app/widgets/gimpitemtreeview.h | 12 ++--- app/widgets/gimplayertreeview.c | 6 +-- app/widgets/gimppaletteeditor.c | 78 ++++++++++++++--------------- app/widgets/gimppaletteeditor.h | 2 +- app/widgets/gimptemplateview.c | 80 ++++++++++++++++-------------- app/widgets/gimptemplateview.h | 4 +- app/widgets/gimpvectorstreeview.c | 4 +- 14 files changed, 196 insertions(+), 174 deletions(-) diff --git a/ChangeLog b/ChangeLog index 915241f3dc..5252653988 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2003-09-18 Michael Natterer + + * app/widgets/gimpdatafactoryview.[ch] + * app/widgets/gimpitemtreeview.[ch] + * app/widgets/gimppaletteeditor.[ch] + * app/widgets/gimptemplateview.[ch]: order the button boxes in + these dialogs like the entries their popup menus: The default + (double click) action is the first menu entry / button. In an + attack of consistency, also reordered functions and function + parameters all over the place to match the new order. + + * app/widgets/gimpchanneltreeview.c + * app/widgets/gimplayertreeview.c + * app/widgets/gimpvectorstreeview.c + * app/gui/dialogs-constructors.c: changed accordingly. + 2003-09-17 Michael Natterer * app/tools/gimpeditselectiontool.c diff --git a/app/dialogs/dialogs-constructors.c b/app/dialogs/dialogs-constructors.c index 7a9ee35a5f..53e1f3d535 100644 --- a/app/dialogs/dialogs-constructors.c +++ b/app/dialogs/dialogs-constructors.c @@ -515,9 +515,9 @@ dialogs_template_list_new (GimpDialogFactory *factory, template_view = GIMP_TEMPLATE_VIEW (view); + template_view->create_image_func = templates_file_new_dialog; template_view->new_template_func = templates_new_template_dialog; template_view->edit_template_func = templates_edit_template_dialog; - template_view->create_image_func = templates_file_new_dialog; return dialogs_dockable_new (view, _("Templates"), _("List of Templates"), @@ -745,8 +745,8 @@ dialogs_layer_list_view_new (GimpDialogFactory *factory, gimage, GIMP_TYPE_LAYER, "active_layer_changed", - (GimpNewItemFunc) layers_new_layer_query, (GimpEditItemFunc) layers_edit_layer_query, + (GimpNewItemFunc) layers_new_layer_query, (GimpActivateItemFunc) layers_edit_layer_query, factory->menu_factory, ""); @@ -781,8 +781,8 @@ dialogs_channel_list_view_new (GimpDialogFactory *factory, gimage, GIMP_TYPE_CHANNEL, "active_channel_changed", - (GimpNewItemFunc) channels_new_channel_query, (GimpEditItemFunc) channels_edit_channel_query, + (GimpNewItemFunc) channels_new_channel_query, (GimpActivateItemFunc) channels_edit_channel_query, factory->menu_factory, ""); @@ -818,8 +818,8 @@ dialogs_vectors_list_view_new (GimpDialogFactory *factory, gimage, GIMP_TYPE_VECTORS, "active_vectors_changed", - (GimpNewItemFunc) vectors_new_vectors_query, (GimpEditItemFunc) vectors_edit_vectors_query, + (GimpNewItemFunc) vectors_new_vectors_query, (GimpActivateItemFunc) vectors_vectors_tool, factory->menu_factory, ""); diff --git a/app/gui/dialogs-constructors.c b/app/gui/dialogs-constructors.c index 7a9ee35a5f..53e1f3d535 100644 --- a/app/gui/dialogs-constructors.c +++ b/app/gui/dialogs-constructors.c @@ -515,9 +515,9 @@ dialogs_template_list_new (GimpDialogFactory *factory, template_view = GIMP_TEMPLATE_VIEW (view); + template_view->create_image_func = templates_file_new_dialog; template_view->new_template_func = templates_new_template_dialog; template_view->edit_template_func = templates_edit_template_dialog; - template_view->create_image_func = templates_file_new_dialog; return dialogs_dockable_new (view, _("Templates"), _("List of Templates"), @@ -745,8 +745,8 @@ dialogs_layer_list_view_new (GimpDialogFactory *factory, gimage, GIMP_TYPE_LAYER, "active_layer_changed", - (GimpNewItemFunc) layers_new_layer_query, (GimpEditItemFunc) layers_edit_layer_query, + (GimpNewItemFunc) layers_new_layer_query, (GimpActivateItemFunc) layers_edit_layer_query, factory->menu_factory, ""); @@ -781,8 +781,8 @@ dialogs_channel_list_view_new (GimpDialogFactory *factory, gimage, GIMP_TYPE_CHANNEL, "active_channel_changed", - (GimpNewItemFunc) channels_new_channel_query, (GimpEditItemFunc) channels_edit_channel_query, + (GimpNewItemFunc) channels_new_channel_query, (GimpActivateItemFunc) channels_edit_channel_query, factory->menu_factory, ""); @@ -818,8 +818,8 @@ dialogs_vectors_list_view_new (GimpDialogFactory *factory, gimage, GIMP_TYPE_VECTORS, "active_vectors_changed", - (GimpNewItemFunc) vectors_new_vectors_query, (GimpEditItemFunc) vectors_edit_vectors_query, + (GimpNewItemFunc) vectors_new_vectors_query, (GimpActivateItemFunc) vectors_vectors_tool, factory->menu_factory, ""); diff --git a/app/widgets/gimpchanneltreeview.c b/app/widgets/gimpchanneltreeview.c index 0e3d12ff38..02d0150738 100644 --- a/app/widgets/gimpchanneltreeview.c +++ b/app/widgets/gimpchanneltreeview.c @@ -116,12 +116,12 @@ gimp_channel_tree_view_class_init (GimpChannelTreeViewClass *klass) item_view_class->add_item = (GimpAddItemFunc) gimp_image_add_channel; item_view_class->remove_item = (GimpRemoveItemFunc) gimp_image_remove_channel; + item_view_class->edit_desc = _("Edit Channel Attributes"); + item_view_class->edit_help_id = GIMP_HELP_CHANNEL_EDIT; item_view_class->new_desc = _("New Channel"); item_view_class->new_help_id = GIMP_HELP_CHANNEL_NEW; item_view_class->duplicate_desc = _("Duplicate Channel"); item_view_class->duplicate_help_id = GIMP_HELP_CHANNEL_DUPLICATE; - item_view_class->edit_desc = _("Edit Channel Attributes"); - item_view_class->edit_help_id = GIMP_HELP_CHANNEL_EDIT; item_view_class->delete_desc = _("Delete Channel"); item_view_class->delete_help_id = GIMP_HELP_CHANNEL_DELETE; item_view_class->raise_desc = _("Raise Channel"); diff --git a/app/widgets/gimpdatafactoryview.c b/app/widgets/gimpdatafactoryview.c index 2034bf6418..461fe282cb 100644 --- a/app/widgets/gimpdatafactoryview.c +++ b/app/widgets/gimpdatafactoryview.c @@ -51,12 +51,12 @@ static void gimp_data_factory_view_class_init (GimpDataFactoryViewClass *klass); static void gimp_data_factory_view_init (GimpDataFactoryView *view); +static void gimp_data_factory_view_edit_clicked (GtkWidget *widget, + GimpDataFactoryView *view); static void gimp_data_factory_view_new_clicked (GtkWidget *widget, GimpDataFactoryView *view); static void gimp_data_factory_view_duplicate_clicked (GtkWidget *widget, GimpDataFactoryView *view); -static void gimp_data_factory_view_edit_clicked (GtkWidget *widget, - GimpDataFactoryView *view); static void gimp_data_factory_view_delete_clicked (GtkWidget *widget, GimpDataFactoryView *view); static void gimp_data_factory_view_refresh_clicked (GtkWidget *widget, @@ -119,9 +119,9 @@ gimp_data_factory_view_class_init (GimpDataFactoryViewClass *klass) static void gimp_data_factory_view_init (GimpDataFactoryView *view) { + view->edit_button = NULL; view->new_button = NULL; view->duplicate_button = NULL; - view->edit_button = NULL; view->delete_button = NULL; view->refresh_button = NULL; } @@ -210,6 +210,14 @@ gimp_data_factory_view_construct (GimpDataFactoryView *factory_view, factory_view); } + factory_view->edit_button = + gimp_editor_add_button (GIMP_EDITOR (editor->view), + GIMP_STOCK_EDIT, + _("Edit"), NULL, + G_CALLBACK (gimp_data_factory_view_edit_clicked), + NULL, + editor); + factory_view->new_button = gimp_editor_add_button (GIMP_EDITOR (editor->view), GTK_STOCK_NEW, @@ -226,14 +234,6 @@ gimp_data_factory_view_construct (GimpDataFactoryView *factory_view, NULL, editor); - factory_view->edit_button = - gimp_editor_add_button (GIMP_EDITOR (editor->view), - GIMP_STOCK_EDIT, - _("Edit"), NULL, - G_CALLBACK (gimp_data_factory_view_edit_clicked), - NULL, - editor); - factory_view->delete_button = gimp_editor_add_button (GIMP_EDITOR (editor->view), GTK_STOCK_DELETE, @@ -258,10 +258,10 @@ gimp_data_factory_view_construct (GimpDataFactoryView *factory_view, factory->container->children_type)); gimp_container_view_enable_dnd (editor->view, - GTK_BUTTON (factory_view->duplicate_button), + GTK_BUTTON (factory_view->edit_button), factory->container->children_type); gimp_container_view_enable_dnd (editor->view, - GTK_BUTTON (factory_view->edit_button), + GTK_BUTTON (factory_view->duplicate_button), factory->container->children_type); gimp_container_view_enable_dnd (editor->view, GTK_BUTTON (factory_view->delete_button), @@ -270,6 +270,24 @@ gimp_data_factory_view_construct (GimpDataFactoryView *factory_view, return TRUE; } +static void +gimp_data_factory_view_edit_clicked (GtkWidget *widget, + GimpDataFactoryView *view) +{ + GimpData *data; + + data = (GimpData *) + gimp_context_get_by_type (GIMP_CONTAINER_EDITOR (view)->view->context, + view->factory->container->children_type); + + if (view->data_edit_func && data && + gimp_container_have (view->factory->container, + GIMP_OBJECT (data))) + { + view->data_edit_func (data); + } +} + static void gimp_data_factory_view_new_clicked (GtkWidget *widget, GimpDataFactoryView *view) @@ -319,24 +337,6 @@ gimp_data_factory_view_duplicate_clicked (GtkWidget *widget, } } -static void -gimp_data_factory_view_edit_clicked (GtkWidget *widget, - GimpDataFactoryView *view) -{ - GimpData *data; - - data = (GimpData *) - gimp_context_get_by_type (GIMP_CONTAINER_EDITOR (view)->view->context, - view->factory->container->children_type); - - if (view->data_edit_func && data && - gimp_container_have (view->factory->container, - GIMP_OBJECT (data))) - { - view->data_edit_func (data); - } -} - typedef struct _GimpDataDeleteData GimpDataDeleteData; struct _GimpDataDeleteData @@ -433,10 +433,9 @@ gimp_data_factory_view_select_item (GimpContainerEditor *editor, GimpViewable *viewable) { GimpDataFactoryView *view; - - gboolean duplicate_sensitive = FALSE; - gboolean edit_sensitive = FALSE; - gboolean delete_sensitive = FALSE; + gboolean edit_sensitive = FALSE; + gboolean duplicate_sensitive = FALSE; + gboolean delete_sensitive = FALSE; if (GIMP_CONTAINER_EDITOR_CLASS (parent_class)->select_item) GIMP_CONTAINER_EDITOR_CLASS (parent_class)->select_item (editor, viewable); @@ -448,13 +447,13 @@ gimp_data_factory_view_select_item (GimpContainerEditor *editor, { GimpData *data = GIMP_DATA (viewable); - duplicate_sensitive = (GIMP_DATA_GET_CLASS (data)->duplicate != NULL); edit_sensitive = (view->data_edit_func != NULL); + duplicate_sensitive = (GIMP_DATA_GET_CLASS (data)->duplicate != NULL); delete_sensitive = data->writeable && !data->internal; } - gtk_widget_set_sensitive (view->duplicate_button, duplicate_sensitive); gtk_widget_set_sensitive (view->edit_button, edit_sensitive); + gtk_widget_set_sensitive (view->duplicate_button, duplicate_sensitive); gtk_widget_set_sensitive (view->delete_button, delete_sensitive); } diff --git a/app/widgets/gimpdatafactoryview.h b/app/widgets/gimpdatafactoryview.h index de9f54da9d..9e16aed2d2 100644 --- a/app/widgets/gimpdatafactoryview.h +++ b/app/widgets/gimpdatafactoryview.h @@ -46,9 +46,9 @@ struct _GimpDataFactoryView GimpDataFactory *factory; GimpDataEditFunc data_edit_func; + GtkWidget *edit_button; GtkWidget *new_button; GtkWidget *duplicate_button; - GtkWidget *edit_button; GtkWidget *delete_button; GtkWidget *refresh_button; diff --git a/app/widgets/gimpitemtreeview.c b/app/widgets/gimpitemtreeview.c index ea231c4ecb..8600c618aa 100644 --- a/app/widgets/gimpitemtreeview.c +++ b/app/widgets/gimpitemtreeview.c @@ -95,6 +95,9 @@ static void gimp_item_tree_view_drop (GimpContainerTreeView *view GimpViewable *dest_viewable, GtkTreeViewDropPosition drop_pos); +static void gimp_item_tree_view_edit_clicked (GtkWidget *widget, + GimpItemTreeView *view); + static void gimp_item_tree_view_new_clicked (GtkWidget *widget, GimpItemTreeView *view); static void gimp_item_tree_view_new_dropped (GtkWidget *widget, @@ -116,8 +119,6 @@ static void gimp_item_tree_view_lower_extended_clicked static void gimp_item_tree_view_duplicate_clicked (GtkWidget *widget, GimpItemTreeView *view); -static void gimp_item_tree_view_edit_clicked (GtkWidget *widget, - GimpItemTreeView *view); static void gimp_item_tree_view_delete_clicked (GtkWidget *widget, GimpItemTreeView *view); @@ -226,12 +227,12 @@ gimp_item_tree_view_class_init (GimpItemTreeViewClass *klass) klass->add_item = NULL; klass->remove_item = NULL; + klass->edit_desc = NULL; + klass->edit_help_id = NULL; klass->new_desc = NULL; klass->new_help_id = NULL; klass->duplicate_desc = NULL; klass->duplicate_help_id = NULL; - klass->edit_desc = NULL; - klass->edit_help_id = NULL; klass->delete_desc = NULL; klass->delete_help_id = NULL; klass->raise_desc = NULL; @@ -265,6 +266,14 @@ gimp_item_tree_view_init (GimpItemTreeView *view, view->item_type = G_TYPE_NONE; view->signal_name = NULL; + view->edit_button = + gimp_editor_add_button (editor, + GIMP_STOCK_EDIT, view_class->edit_desc, + view_class->edit_help_id, + G_CALLBACK (gimp_item_tree_view_edit_clicked), + NULL, + view); + view->new_button = gimp_editor_add_button (editor, GTK_STOCK_NEW, view_class->new_desc, @@ -309,14 +318,6 @@ gimp_item_tree_view_init (GimpItemTreeView *view, NULL, view); - view->edit_button = - gimp_editor_add_button (editor, - GIMP_STOCK_EDIT, view_class->edit_desc, - view_class->edit_help_id, - G_CALLBACK (gimp_item_tree_view_edit_clicked), - NULL, - view); - view->delete_button = gimp_editor_add_button (editor, GTK_STOCK_DELETE, view_class->delete_desc, @@ -325,11 +326,11 @@ gimp_item_tree_view_init (GimpItemTreeView *view, NULL, view); + gtk_widget_set_sensitive (view->edit_button, FALSE); gtk_widget_set_sensitive (view->new_button, FALSE); gtk_widget_set_sensitive (view->raise_button, FALSE); gtk_widget_set_sensitive (view->lower_button, FALSE); gtk_widget_set_sensitive (view->duplicate_button, FALSE); - gtk_widget_set_sensitive (view->edit_button, FALSE); gtk_widget_set_sensitive (view->delete_button, FALSE); view->visible_changed_handler_id = 0; @@ -423,8 +424,8 @@ gimp_item_tree_view_new (gint preview_size, GimpImage *gimage, GType item_type, const gchar *signal_name, - GimpNewItemFunc new_item_func, GimpEditItemFunc edit_item_func, + GimpNewItemFunc new_item_func, GimpActivateItemFunc activate_item_func, GimpMenuFactory *menu_factory, const gchar *menu_identifier) @@ -440,8 +441,8 @@ gimp_item_tree_view_new (gint preview_size, NULL); g_return_val_if_fail (gimage == NULL || GIMP_IS_IMAGE (gimage), NULL); g_return_val_if_fail (signal_name != NULL, NULL); - g_return_val_if_fail (new_item_func != NULL, NULL); g_return_val_if_fail (edit_item_func != NULL, NULL); + g_return_val_if_fail (new_item_func != NULL, NULL); g_return_val_if_fail (activate_item_func != NULL, NULL); g_return_val_if_fail (GIMP_IS_MENU_FACTORY (menu_factory), NULL); g_return_val_if_fail (menu_identifier != NULL, NULL); @@ -481,8 +482,8 @@ gimp_item_tree_view_new (gint preview_size, item_view->item_type = item_type; item_view->signal_name = g_strdup (signal_name); - item_view->new_item_func = new_item_func; item_view->edit_item_func = edit_item_func; + item_view->new_item_func = new_item_func; item_view->activate_item_func = activate_item_func; gimp_editor_create_menu (GIMP_EDITOR (item_view), @@ -497,10 +498,10 @@ gimp_item_tree_view_new (gint preview_size, view); gimp_container_view_enable_dnd (view, - GTK_BUTTON (item_view->duplicate_button), + GTK_BUTTON (item_view->edit_button), item_type); gimp_container_view_enable_dnd (view, - GTK_BUTTON (item_view->edit_button), + GTK_BUTTON (item_view->duplicate_button), item_type); gimp_container_view_enable_dnd (view, GTK_BUTTON (item_view->delete_button), @@ -638,10 +639,10 @@ gimp_item_tree_view_select_item (GimpContainerView *view, gpointer insert_data) { GimpItemTreeView *tree_view; + gboolean edit_sensitive = FALSE; gboolean raise_sensitive = FALSE; gboolean lower_sensitive = FALSE; gboolean duplicate_sensitive = FALSE; - gboolean edit_sensitive = FALSE; gboolean delete_sensitive = FALSE; gboolean success; @@ -680,15 +681,15 @@ gimp_item_tree_view_select_item (GimpContainerView *view, lower_sensitive = TRUE; } - duplicate_sensitive = TRUE; edit_sensitive = TRUE; + duplicate_sensitive = TRUE; delete_sensitive = TRUE; } + gtk_widget_set_sensitive (tree_view->edit_button, edit_sensitive); gtk_widget_set_sensitive (tree_view->raise_button, raise_sensitive); gtk_widget_set_sensitive (tree_view->lower_button, lower_sensitive); gtk_widget_set_sensitive (tree_view->duplicate_button, duplicate_sensitive); - gtk_widget_set_sensitive (tree_view->edit_button, edit_sensitive); gtk_widget_set_sensitive (tree_view->delete_button, delete_sensitive); return success; @@ -823,6 +824,21 @@ gimp_item_tree_view_drop (GimpContainerTreeView *tree_view, } +/* "Edit" functions */ + +static void +gimp_item_tree_view_edit_clicked (GtkWidget *widget, + GimpItemTreeView *view) +{ + GimpItem *item; + + item = GIMP_ITEM_TREE_VIEW_GET_CLASS (view)->get_active_item (view->gimage); + + if (item) + view->edit_item_func (item); +} + + /* "New" functions */ static void @@ -1008,21 +1024,6 @@ gimp_item_tree_view_lower_extended_clicked (GtkWidget *widget, } -/* "Edit" functions */ - -static void -gimp_item_tree_view_edit_clicked (GtkWidget *widget, - GimpItemTreeView *view) -{ - GimpItem *item; - - item = GIMP_ITEM_TREE_VIEW_GET_CLASS (view)->get_active_item (view->gimage); - - if (item) - view->edit_item_func (item); -} - - /* "Delete" functions */ static void diff --git a/app/widgets/gimpitemtreeview.h b/app/widgets/gimpitemtreeview.h index 5a8ccc4ed8..63b5f13c7b 100644 --- a/app/widgets/gimpitemtreeview.h +++ b/app/widgets/gimpitemtreeview.h @@ -41,10 +41,10 @@ typedef void (* GimpAddItemFunc) (GimpImage *gimage, typedef void (* GimpRemoveItemFunc) (GimpImage *gimage, GimpItem *item); +typedef void (* GimpEditItemFunc) (GimpItem *item); typedef void (* GimpNewItemFunc) (GimpImage *gimage, GimpItem *template, gboolean interactive); -typedef void (* GimpEditItemFunc) (GimpItem *item); typedef void (* GimpActivateItemFunc) (GimpItem *item); @@ -67,15 +67,15 @@ struct _GimpItemTreeView GType item_type; gchar *signal_name; - GimpNewItemFunc new_item_func; GimpEditItemFunc edit_item_func; + GimpNewItemFunc new_item_func; GimpActivateItemFunc activate_item_func; + GtkWidget *edit_button; GtkWidget *new_button; GtkWidget *raise_button; GtkWidget *lower_button; GtkWidget *duplicate_button; - GtkWidget *edit_button; GtkWidget *delete_button; gint model_column_visible; @@ -105,12 +105,12 @@ struct _GimpItemTreeViewClass GimpRemoveItemFunc remove_item; /* various descriptive strings for tooltips and undo steps */ + const gchar *edit_desc; + const gchar *edit_help_id; const gchar *new_desc; const gchar *new_help_id; const gchar *duplicate_desc; const gchar *duplicate_help_id; - const gchar *edit_desc; - const gchar *edit_help_id; const gchar *delete_desc; const gchar *delete_help_id; const gchar *raise_desc; @@ -132,8 +132,8 @@ GtkWidget * gimp_item_tree_view_new (gint preview_size, GimpImage *gimage, GType item_type, const gchar *signal_name, - GimpNewItemFunc new_item_func, GimpEditItemFunc edit_item_func, + GimpNewItemFunc new_item_func, GimpActivateItemFunc activate_item_func, GimpMenuFactory *menu_facotry, const gchar *menu_identifier); diff --git a/app/widgets/gimplayertreeview.c b/app/widgets/gimplayertreeview.c index 1395f38ea6..92bbedec11 100644 --- a/app/widgets/gimplayertreeview.c +++ b/app/widgets/gimplayertreeview.c @@ -205,12 +205,12 @@ gimp_layer_tree_view_class_init (GimpLayerTreeViewClass *klass) item_view_class->add_item = (GimpAddItemFunc) gimp_image_add_layer; item_view_class->remove_item = gimp_layer_tree_view_remove_item; + item_view_class->edit_desc = _("Edit Layer Attributes"); + item_view_class->edit_help_id = GIMP_HELP_LAYER_EDIT; item_view_class->new_desc = _("New Layer"); item_view_class->new_help_id = GIMP_HELP_LAYER_NEW; item_view_class->duplicate_desc = _("Duplicate Layer"); item_view_class->duplicate_help_id = GIMP_HELP_LAYER_DUPLICATE; - item_view_class->edit_desc = _("Edit Layer Attributes"); - item_view_class->edit_help_id = GIMP_HELP_LAYER_EDIT; item_view_class->delete_desc = _("Delete Layer"); item_view_class->delete_help_id = GIMP_HELP_LAYER_DELETE; item_view_class->raise_desc = _("Raise Layer"); @@ -545,9 +545,9 @@ gimp_layer_tree_view_select_item (GimpContainerView *view, { anchor_sensitive = TRUE; + gtk_widget_set_sensitive (item_view->edit_button, FALSE); gtk_widget_set_sensitive (item_view->lower_button, FALSE); gtk_widget_set_sensitive (item_view->duplicate_button, FALSE); - gtk_widget_set_sensitive (item_view->edit_button, FALSE); } else { diff --git a/app/widgets/gimppaletteeditor.c b/app/widgets/gimppaletteeditor.c index 5205b5ded4..57ea0a053c 100644 --- a/app/widgets/gimppaletteeditor.c +++ b/app/widgets/gimppaletteeditor.c @@ -215,7 +215,7 @@ gimp_palette_editor_init (GimpPaletteEditor *editor) G_CALLBACK (palette_editor_eventbox_button_press), editor); - alignment = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); + alignment = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (eventbox), alignment); gtk_widget_show (alignment); @@ -275,14 +275,6 @@ gimp_palette_editor_init (GimpPaletteEditor *editor) G_CALLBACK (palette_editor_columns_changed), editor); - editor->new_button = - gimp_editor_add_button (GIMP_EDITOR (editor), - GTK_STOCK_NEW, _("New Color"), - GIMP_HELP_PALETTE_EDITOR_NEW, - G_CALLBACK (palette_editor_new_clicked), - NULL, - editor); - editor->edit_button = gimp_editor_add_button (GIMP_EDITOR (editor), GIMP_STOCK_EDIT, _("Edit Color"), @@ -291,6 +283,14 @@ gimp_palette_editor_init (GimpPaletteEditor *editor) NULL, editor); + editor->new_button = + gimp_editor_add_button (GIMP_EDITOR (editor), + GTK_STOCK_NEW, _("New Color"), + GIMP_HELP_PALETTE_EDITOR_NEW, + G_CALLBACK (palette_editor_new_clicked), + NULL, + editor); + editor->delete_button = gimp_editor_add_button (GIMP_EDITOR (editor), GTK_STOCK_DELETE, _("Delete Color"), @@ -409,9 +409,9 @@ gimp_palette_editor_set_data (GimpDataEditor *editor, palette_editor_columns_changed, editor); + gtk_widget_set_sensitive (palette_editor->edit_button, FALSE); gtk_widget_set_sensitive (palette_editor->new_button, editor->data_editable); - gtk_widget_set_sensitive (palette_editor->edit_button, FALSE); gtk_widget_set_sensitive (palette_editor->delete_button, FALSE); gtk_widget_set_sensitive (palette_editor->zoom_out_button, @@ -631,7 +631,7 @@ palette_editor_draw_color_row (guchar *colors, *p++ = bcolor; *p++ = bcolor; } - + if (column_highlight >= 0) { guchar *ph; @@ -646,7 +646,7 @@ palette_editor_draw_color_row (guchar *colors, } gtk_preview_draw_row (GTK_PREVIEW (preview), buffer, 0, - y + entry_height + 1, width); + y + entry_height + 1, width); } gtk_preview_draw_row (GTK_PREVIEW (preview), buffer, 0, y, width); @@ -981,32 +981,6 @@ palette_editor_columns_changed (GtkAdjustment *adj, /* palette zoom functions & callbacks **************************************/ -static void -palette_editor_new_clicked (GtkWidget *widget, - GimpPaletteEditor *editor) -{ - GimpDataEditor *data_editor; - GimpPalette *palette; - GimpContext *user_context; - GimpRGB color; - - data_editor = GIMP_DATA_EDITOR (editor); - - if (! (data_editor->data && data_editor->data_editable)) - return; - - palette = GIMP_PALETTE (data_editor->data); - - user_context = gimp_get_user_context (data_editor->gimp); - - if (active_color == FOREGROUND) - gimp_context_get_foreground (user_context, &color); - else if (active_color == BACKGROUND) - gimp_context_get_background (user_context, &color); - - editor->color = gimp_palette_add_entry (palette, NULL, &color); -} - static void palette_editor_edit_clicked (GtkWidget *widget, GimpPaletteEditor *editor) @@ -1049,6 +1023,32 @@ palette_editor_edit_clicked (GtkWidget *widget, } } +static void +palette_editor_new_clicked (GtkWidget *widget, + GimpPaletteEditor *editor) +{ + GimpDataEditor *data_editor; + GimpPalette *palette; + GimpContext *user_context; + GimpRGB color; + + data_editor = GIMP_DATA_EDITOR (editor); + + if (! (data_editor->data && data_editor->data_editable)) + return; + + palette = GIMP_PALETTE (data_editor->data); + + user_context = gimp_get_user_context (data_editor->gimp); + + if (active_color == FOREGROUND) + gimp_context_get_foreground (user_context, &color); + else if (active_color == BACKGROUND) + gimp_context_get_background (user_context, &color); + + editor->color = gimp_palette_add_entry (palette, NULL, &color); +} + static void palette_editor_delete_clicked (GtkWidget *widget, GimpPaletteEditor *editor) @@ -1131,7 +1131,7 @@ palette_editor_redraw_zoom (GimpPaletteEditor *editor) editor->columns = COLUMNS; editor->columns_valid = FALSE; - palette_editor_redraw (editor); + palette_editor_redraw (editor); palette_editor_scroll_top_left (editor); } diff --git a/app/widgets/gimppaletteeditor.h b/app/widgets/gimppaletteeditor.h index 6f0ed9feff..6b3276b210 100644 --- a/app/widgets/gimppaletteeditor.h +++ b/app/widgets/gimppaletteeditor.h @@ -53,8 +53,8 @@ struct _GimpPaletteEditor GtkWidget *color_name; GtkAdjustment *columns_data; - GtkWidget *new_button; GtkWidget *edit_button; + GtkWidget *new_button; GtkWidget *delete_button; GtkWidget *zoom_out_button; GtkWidget *zoom_in_button; diff --git a/app/widgets/gimptemplateview.c b/app/widgets/gimptemplateview.c index 3acd66a094..b32f4feb33 100644 --- a/app/widgets/gimptemplateview.c +++ b/app/widgets/gimptemplateview.c @@ -50,14 +50,14 @@ static void gimp_template_view_class_init (GimpTemplateViewClass *klass); static void gimp_template_view_init (GimpTemplateView *view); +static void gimp_template_view_create_clicked (GtkWidget *widget, + GimpTemplateView *view); static void gimp_template_view_new_clicked (GtkWidget *widget, GimpTemplateView *view); static void gimp_template_view_duplicate_clicked (GtkWidget *widget, GimpTemplateView *view); static void gimp_template_view_edit_clicked (GtkWidget *widget, GimpTemplateView *view); -static void gimp_template_view_create_clicked (GtkWidget *widget, - GimpTemplateView *view); static void gimp_template_view_delete_clicked (GtkWidget *widget, GimpTemplateView *view); @@ -119,9 +119,15 @@ gimp_template_view_class_init (GimpTemplateViewClass *klass) static void gimp_template_view_init (GimpTemplateView *view) { - view->new_button = NULL; - view->create_button = NULL; - view->delete_button = NULL; + view->create_image_func = NULL; + view->new_template_func = NULL; + view->edit_template_func = NULL; + + view->create_button = NULL; + view->new_button = NULL; + view->duplicate_button = NULL; + view->edit_button = NULL; + view->delete_button = NULL; } GtkWidget * @@ -167,6 +173,15 @@ gimp_template_view_new (GimpViewType view_type, template_view); } + template_view->create_button = + gimp_editor_add_button (GIMP_EDITOR (editor->view), + GIMP_STOCK_IMAGE, + _("Create a new image from the selected template"), + GIMP_HELP_TEMPLATE_IMAGE_NEW, + G_CALLBACK (gimp_template_view_create_clicked), + NULL, + editor); + template_view->new_button = gimp_editor_add_button (GIMP_EDITOR (editor->view), GTK_STOCK_NEW, @@ -194,15 +209,6 @@ gimp_template_view_new (GimpViewType view_type, NULL, editor); - template_view->create_button = - gimp_editor_add_button (GIMP_EDITOR (editor->view), - GIMP_STOCK_IMAGE, - _("Create a new image from the selected template"), - GIMP_HELP_TEMPLATE_IMAGE_NEW, - G_CALLBACK (gimp_template_view_create_clicked), - NULL, - editor); - template_view->delete_button = gimp_editor_add_button (GIMP_EDITOR (editor->view), GTK_STOCK_DELETE, @@ -217,15 +223,15 @@ gimp_template_view_new (GimpViewType view_type, GIMP_CONTAINER_EDITOR_GET_CLASS (editor)->select_item (editor, (GimpViewable *) gimp_context_get_template (context)); + gimp_container_view_enable_dnd (editor->view, + GTK_BUTTON (template_view->create_button), + GIMP_TYPE_TEMPLATE); gimp_container_view_enable_dnd (editor->view, GTK_BUTTON (template_view->duplicate_button), GIMP_TYPE_TEMPLATE); gimp_container_view_enable_dnd (editor->view, GTK_BUTTON (template_view->edit_button), GIMP_TYPE_TEMPLATE); - gimp_container_view_enable_dnd (editor->view, - GTK_BUTTON (template_view->create_button), - GIMP_TYPE_TEMPLATE); gimp_container_view_enable_dnd (editor->view, GTK_BUTTON (template_view->delete_button), GIMP_TYPE_TEMPLATE); @@ -233,6 +239,25 @@ gimp_template_view_new (GimpViewType view_type, return GTK_WIDGET (template_view); } +static void +gimp_template_view_create_clicked (GtkWidget *widget, + GimpTemplateView *view) +{ + GimpContainerEditor *editor; + GimpTemplate *template; + + editor = GIMP_CONTAINER_EDITOR (view); + + template = gimp_context_get_template (editor->view->context); + + if (template && gimp_container_have (editor->view->container, + GIMP_OBJECT (template))) + { + if (view->create_image_func) + view->create_image_func (editor->view->context->gimp, template); + } +} + static void gimp_template_view_new_clicked (GtkWidget *widget, GimpTemplateView *view) @@ -305,25 +330,6 @@ gimp_template_view_edit_clicked (GtkWidget *widget, } } -static void -gimp_template_view_create_clicked (GtkWidget *widget, - GimpTemplateView *view) -{ - GimpContainerEditor *editor; - GimpTemplate *template; - - editor = GIMP_CONTAINER_EDITOR (view); - - template = gimp_context_get_template (editor->view->context); - - if (template && gimp_container_have (editor->view->container, - GIMP_OBJECT (template))) - { - if (view->create_image_func) - view->create_image_func (editor->view->context->gimp, template); - } -} - typedef struct _GimpTemplateDeleteData GimpTemplateDeleteData; struct _GimpTemplateDeleteData @@ -415,9 +421,9 @@ gimp_template_view_select_item (GimpContainerEditor *editor, sensitive = TRUE; } + gtk_widget_set_sensitive (view->create_button, sensitive); gtk_widget_set_sensitive (view->duplicate_button, sensitive); gtk_widget_set_sensitive (view->edit_button, sensitive); - gtk_widget_set_sensitive (view->create_button, sensitive); gtk_widget_set_sensitive (view->delete_button, sensitive); } diff --git a/app/widgets/gimptemplateview.h b/app/widgets/gimptemplateview.h index 81521224f0..27d17cc779 100644 --- a/app/widgets/gimptemplateview.h +++ b/app/widgets/gimptemplateview.h @@ -44,14 +44,14 @@ struct _GimpTemplateView { GimpContainerEditor parent_instance; + GimpTemplateActionFunc create_image_func; GimpTemplateActionFunc new_template_func; GimpTemplateActionFunc edit_template_func; - GimpTemplateActionFunc create_image_func; + GtkWidget *create_button; GtkWidget *new_button; GtkWidget *duplicate_button; GtkWidget *edit_button; - GtkWidget *create_button; GtkWidget *delete_button; }; diff --git a/app/widgets/gimpvectorstreeview.c b/app/widgets/gimpvectorstreeview.c index ab2a8d0364..b156291ffc 100644 --- a/app/widgets/gimpvectorstreeview.c +++ b/app/widgets/gimpvectorstreeview.c @@ -123,12 +123,12 @@ gimp_vectors_tree_view_class_init (GimpVectorsTreeViewClass *klass) item_view_class->add_item = (GimpAddItemFunc) gimp_image_add_vectors; item_view_class->remove_item = (GimpRemoveItemFunc) gimp_image_remove_vectors; + item_view_class->edit_desc = _("Edit Path Attributes"); + item_view_class->edit_help_id = GIMP_HELP_PATH_EDIT; item_view_class->new_desc = _("New Path"); item_view_class->new_help_id = GIMP_HELP_PATH_NEW; item_view_class->duplicate_desc = _("Duplicate Path"); item_view_class->duplicate_help_id = GIMP_HELP_PATH_DUPLICATE; - item_view_class->edit_desc = _("Edit Path Attributes"); - item_view_class->edit_help_id = GIMP_HELP_PATH_EDIT; item_view_class->delete_desc = _("Delete Path"); item_view_class->delete_help_id = GIMP_HELP_PATH_DELETE; item_view_class->raise_desc = _("Raise Path");