We can always create GimpPreviews for any GtkIconSize, but not vice versa.

2002-05-10  Michael Natterer  <mitch@gimp.org>

	We can always create GimpPreviews for any GtkIconSize, but
	not vice versa. therefore:

	* app/widgets/gimpdockable.[ch]: changed the "gint size" parameter
	used for tab sizes to "GtkIconSize size" all over the place. Added
	"stock_id" in addition to "name" and "short_name".

	* app/widgets/gimpdockbook.c
	* app/widgets/gimpimagedock.c: use GtkIconSize instead of integer
	preview sizes for all widget style properties. Renamed them from
	"blah_height" to "blah_size" because "height" is an implementation
	detail.

	* app/gui/dialogs-constructors.c: changed calls to
	gimp_dockable_new() and all *_tab_func()s accordingly. Removed
	the hack for the navigation tab and added a general tab_func
	which returns a hbox with an icon & label.

	* app/gui/menus.c: made the dialog menus found under <Toolbox>,
	<Image> and <Dialogs> more consistent and added more stock icons.

	* etc/gtkrc_user
	* themes/Default/gtkrc: changed accordingly.
This commit is contained in:
Michael Natterer 2002-05-10 14:50:27 +00:00 committed by Michael Natterer
parent dd7f30161c
commit b521746d29
12 changed files with 393 additions and 307 deletions

View File

@ -1,3 +1,29 @@
2002-05-10 Michael Natterer <mitch@gimp.org>
We can always create GimpPreviews for any GtkIconSize, but
not vice versa. therefore:
* app/widgets/gimpdockable.[ch]: changed the "gint size" parameter
used for tab sizes to "GtkIconSize size" all over the place. Added
"stock_id" in addition to "name" and "short_name".
* app/widgets/gimpdockbook.c
* app/widgets/gimpimagedock.c: use GtkIconSize instead of integer
preview sizes for all widget style properties. Renamed them from
"blah_height" to "blah_size" because "height" is an implementation
detail.
* app/gui/dialogs-constructors.c: changed calls to
gimp_dockable_new() and all *_tab_func()s accordingly. Removed
the hack for the navigation tab and added a general tab_func
which returns a hbox with an icon & label.
* app/gui/menus.c: made the dialog menus found under <Toolbox>,
<Image> and <Dialogs> more consistent and added more stock icons.
* etc/gtkrc_user
* themes/Default/gtkrc: changed accordingly.
2002-05-10 Sven Neumann <sven@gimp.org>
* app/gui/user-install-dialog.c

View File

@ -101,25 +101,25 @@ static void dialogs_indexed_palette_selected (GimpColormapEditor *editor,
static GtkWidget * dialogs_brush_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
GtkIconSize size);
static GtkWidget * dialogs_pattern_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
GtkIconSize size);
static GtkWidget * dialogs_gradient_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
GtkIconSize size);
static GtkWidget * dialogs_palette_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
GtkIconSize size);
static GtkWidget * dialogs_tool_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
GtkIconSize size);
static GtkWidget * dialogs_tool_options_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static GtkWidget * dialogs_navigation_tab_func (GimpDockable *dockable,
GtkIconSize size);
static GtkWidget * dialogs_stock_text_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
GtkIconSize size);
static void dialogs_set_view_context_func (GimpDockable *dockable,
GimpContext *context);
@ -137,6 +137,7 @@ static void dialogs_set_navigation_context_func (GimpDockable *dockable,
static GtkWidget * dialogs_dockable_new (GtkWidget *widget,
const gchar *name,
const gchar *short_name,
const gchar *stock_id,
GimpDockableGetTabFunc get_tab_func,
GimpDockableSetContextFunc set_context_func);
@ -294,7 +295,7 @@ dialogs_tool_options_get (GimpDialogFactory *factory,
g_object_add_weak_pointer (G_OBJECT (view), (gpointer *) &view);
return dialogs_dockable_new (view,
_("Tool Options"), _("Tool Options"),
_("Tool Options"), _("Tool Options"), NULL,
dialogs_tool_options_tab_func,
NULL);
}
@ -314,7 +315,7 @@ dialogs_error_console_get (GimpDialogFactory *factory,
g_object_add_weak_pointer (G_OBJECT (view), (gpointer *) &view);
return dialogs_dockable_new (view,
_("Error Console"), _("Errors"),
_("Error Console"), _("Errors"), NULL,
NULL,
NULL);
}
@ -337,7 +338,7 @@ dialogs_image_list_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Images>"));
return dialogs_dockable_new (view,
_("Image List"), _("Images"),
_("Image List"), _("Images"), NULL,
NULL,
dialogs_set_editor_context_func);
}
@ -359,7 +360,7 @@ dialogs_brush_list_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Brushes>"));
return dialogs_dockable_new (view,
_("Brush List"), _("Brushes"),
_("Brush List"), _("Brushes"), NULL,
dialogs_brush_tab_func,
dialogs_set_editor_context_func);
}
@ -380,7 +381,7 @@ dialogs_pattern_list_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Patterns>"));
return dialogs_dockable_new (view,
_("Pattern List"), _("Patterns"),
_("Pattern List"), _("Patterns"), NULL,
dialogs_pattern_tab_func,
dialogs_set_editor_context_func);
}
@ -401,7 +402,7 @@ dialogs_gradient_list_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Gradients>"));
return dialogs_dockable_new (view,
_("Gradient List"), _("Gradients"),
_("Gradient List"), _("Gradients"), NULL,
dialogs_gradient_tab_func,
dialogs_set_editor_context_func);
}
@ -422,7 +423,7 @@ dialogs_palette_list_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Palettes>"));
return dialogs_dockable_new (view,
_("Palette List"), _("Palettes"),
_("Palette List"), _("Palettes"), NULL,
dialogs_palette_tab_func,
dialogs_set_editor_context_func);
}
@ -441,7 +442,7 @@ dialogs_tool_list_view_new (GimpDialogFactory *factory,
5, 3);
return dialogs_dockable_new (view,
_("Tool List"), _("Tools"),
_("Tool List"), _("Tools"), NULL,
dialogs_tool_tab_func,
dialogs_set_view_context_func);
}
@ -462,7 +463,8 @@ dialogs_buffer_list_view_new (GimpDialogFactory *factory,
return dialogs_dockable_new (view,
_("Buffer List"), _("Buffers"),
NULL,
GTK_STOCK_PASTE,
dialogs_stock_text_tab_func,
dialogs_set_editor_context_func);
}
@ -484,7 +486,7 @@ dialogs_image_grid_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Images>"));
return dialogs_dockable_new (view,
_("Image Grid"), _("Images"),
_("Image Grid"), _("Images"), NULL,
NULL,
dialogs_set_editor_context_func);
}
@ -506,7 +508,7 @@ dialogs_brush_grid_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Brushes>"));
return dialogs_dockable_new (view,
_("Brush Grid"), _("Brushes"),
_("Brush Grid"), _("Brushes"), NULL,
dialogs_brush_tab_func,
dialogs_set_editor_context_func);
}
@ -527,7 +529,7 @@ dialogs_pattern_grid_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Patterns>"));
return dialogs_dockable_new (view,
_("Pattern Grid"), _("Patterns"),
_("Pattern Grid"), _("Patterns"), NULL,
dialogs_pattern_tab_func,
dialogs_set_editor_context_func);
}
@ -548,7 +550,7 @@ dialogs_gradient_grid_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Gradients>"));
return dialogs_dockable_new (view,
_("Gradient Grid"), _("Gradients"),
_("Gradient Grid"), _("Gradients"), NULL,
dialogs_gradient_tab_func,
dialogs_set_editor_context_func);
}
@ -569,7 +571,7 @@ dialogs_palette_grid_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Gradients>"));
return dialogs_dockable_new (view,
_("Palette Grid"), _("Palettes"),
_("Palette Grid"), _("Palettes"), NULL,
dialogs_palette_tab_func,
dialogs_set_editor_context_func);
}
@ -588,7 +590,7 @@ dialogs_tool_grid_view_new (GimpDialogFactory *factory,
5, 3);
return dialogs_dockable_new (view,
_("Tool Grid"), _("Tools"),
_("Tool Grid"), _("Tools"), NULL,
dialogs_tool_tab_func,
dialogs_set_view_context_func);
}
@ -609,7 +611,8 @@ dialogs_buffer_grid_view_new (GimpDialogFactory *factory,
return dialogs_dockable_new (view,
_("Buffer Grid"), _("Buffers"),
NULL,
GTK_STOCK_PASTE,
dialogs_stock_text_tab_func,
dialogs_set_editor_context_func);
}
@ -651,7 +654,7 @@ dialogs_layer_list_view_new (GimpDialogFactory *factory,
layer_view->anchor_item_func = layers_anchor_layer;
dockable = dialogs_dockable_new (view,
_("Layer List"), _("Layers"),
_("Layer List"), _("Layers"), NULL,
NULL,
dialogs_set_image_item_context_func);
@ -690,7 +693,7 @@ dialogs_channel_list_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Channels>"));
dockable = dialogs_dockable_new (view,
_("Channel List"), _("Channels"),
_("Channel List"), _("Channels"), NULL,
NULL,
dialogs_set_image_item_context_func);
@ -745,7 +748,7 @@ dialogs_vectors_list_view_new (GimpDialogFactory *factory,
vectors_view->stroke_item_func = vectors_stroke_vectors;
dockable = dialogs_dockable_new (view,
_("Paths List"), _("Paths"),
_("Paths List"), _("Paths"), NULL,
NULL,
dialogs_set_image_item_context_func);
@ -771,7 +774,7 @@ dialogs_path_list_view_new (GimpDialogFactory *factory,
g_object_add_weak_pointer (G_OBJECT (view), (gpointer *) &view);
dockable = dialogs_dockable_new (view,
_("Old Path List"), _("Old Paths"),
_("Old Path List"), _("Old Paths"), NULL,
NULL,
dialogs_set_path_context_func);
@ -794,7 +797,7 @@ dialogs_indexed_palette_new (GimpDialogFactory *factory,
view = gimp_colormap_editor_new (gimage);
dockable = dialogs_dockable_new (view,
_("Indexed Palette"), _("Colormap"),
_("Indexed Palette"), _("Colormap"), NULL,
NULL,
dialogs_set_indexed_palette_context_func);
@ -826,7 +829,8 @@ dialogs_document_history_new (GimpDialogFactory *factory,
return dialogs_dockable_new (view,
_("Document History"), _("History"),
NULL,
GTK_STOCK_OPEN,
dialogs_stock_text_tab_func,
dialogs_set_editor_context_func);
}
@ -845,7 +849,7 @@ dialogs_brush_editor_get (GimpDialogFactory *factory,
brush_editor = gimp_brush_editor_new (context->gimp);
return dialogs_dockable_new (GTK_WIDGET (brush_editor),
_("Brush Editor"), _("Brush Editor"),
_("Brush Editor"), _("Brush Editor"), NULL,
NULL, NULL);
}
@ -872,7 +876,7 @@ dialogs_gradient_editor_get (GimpDialogFactory *factory,
gradient_editor = gimp_gradient_editor_new (context->gimp);
return dialogs_dockable_new (GTK_WIDGET (gradient_editor),
_("Gradient Editor"), _("Gradient Editor"),
_("Gradient Editor"), _("Gradient Editor"), NULL,
NULL, NULL);
}
@ -899,7 +903,7 @@ dialogs_palette_editor_get (GimpDialogFactory *factory,
palette_editor = gimp_palette_editor_new (context->gimp);
return dialogs_dockable_new (GTK_WIDGET (palette_editor),
_("Palette Editor"), _("Palette Editor"),
_("Palette Editor"), _("Palette Editor"), NULL,
NULL, NULL);
}
@ -934,7 +938,8 @@ dialogs_navigation_view_new (GimpDialogFactory *factory,
return dialogs_dockable_new (view,
_("Display Navigation"), _("Navigation"),
dialogs_navigation_tab_func,
GIMP_STOCK_TOOL_MOVE,
dialogs_stock_text_tab_func,
dialogs_set_navigation_context_func);
}
@ -975,16 +980,20 @@ dialogs_indexed_palette_selected (GimpColormapEditor *editor,
static GtkWidget *
dialogs_brush_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size)
GtkIconSize size)
{
GimpContext *context;
GtkWidget *preview;
gint width;
gint height;
context = dockbook->dock->context;
gtk_icon_size_lookup (size, &width, &height);
preview =
gimp_preview_new_full (GIMP_VIEWABLE (gimp_context_get_brush (context)),
size, size, 1,
width, height, 1,
FALSE, FALSE, FALSE);
g_signal_connect_object (G_OBJECT (context), "brush_changed",
@ -998,16 +1007,20 @@ dialogs_brush_tab_func (GimpDockable *dockable,
static GtkWidget *
dialogs_pattern_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size)
GtkIconSize size)
{
GimpContext *context;
GtkWidget *preview;
gint width;
gint height;
context = dockbook->dock->context;
gtk_icon_size_lookup (size, &width, &height);
preview =
gimp_preview_new_full (GIMP_VIEWABLE (gimp_context_get_pattern (context)),
size, size, 1,
width, height, 1,
FALSE, FALSE, FALSE);
g_signal_connect_object (G_OBJECT (context), "pattern_changed",
@ -1021,16 +1034,20 @@ dialogs_pattern_tab_func (GimpDockable *dockable,
static GtkWidget *
dialogs_gradient_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size)
GtkIconSize size)
{
GimpContext *context;
GtkWidget *preview;
gint width;
gint height;
context = dockbook->dock->context;
preview =
gtk_icon_size_lookup (size, &width, &height);
preview =
gimp_preview_new_full (GIMP_VIEWABLE (gimp_context_get_gradient (context)),
size, size, 1,
width, height, 1,
FALSE, FALSE, FALSE);
g_signal_connect_object (G_OBJECT (context), "gradient_changed",
@ -1044,16 +1061,20 @@ dialogs_gradient_tab_func (GimpDockable *dockable,
static GtkWidget *
dialogs_palette_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size)
GtkIconSize size)
{
GimpContext *context;
GtkWidget *preview;
gint width;
gint height;
context = dockbook->dock->context;
gtk_icon_size_lookup (size, &width, &height);
preview =
gimp_preview_new_full (GIMP_VIEWABLE (gimp_context_get_palette (context)),
size, size, 1,
width, height, 1,
FALSE, FALSE, FALSE);
g_signal_connect_object (G_OBJECT (context), "palette_changed",
@ -1067,16 +1088,20 @@ dialogs_palette_tab_func (GimpDockable *dockable,
static GtkWidget *
dialogs_tool_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size)
GtkIconSize size)
{
GimpContext *context;
GtkWidget *preview;
gint width;
gint height;
context = dockbook->dock->context;
gtk_icon_size_lookup (size, &width, &height);
preview =
gimp_preview_new_full (GIMP_VIEWABLE (gimp_context_get_tool (context)),
MIN (size, 22), MIN (size, 22), 1,
width, height, 1,
FALSE, FALSE, FALSE);
g_signal_connect_object (G_OBJECT (context), "tool_changed",
@ -1108,7 +1133,7 @@ dialogs_tool_options_tool_changed (GimpContext *context,
static GtkWidget *
dialogs_tool_options_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size)
GtkIconSize size)
{
GimpContext *context;
GimpToolInfo *tool_info;
@ -1116,15 +1141,19 @@ dialogs_tool_options_tab_func (GimpDockable *dockable,
GtkWidget *preview;
GtkWidget *label;
gchar *text;
gint width;
gint height;
context = dockbook->dock->context;
gtk_icon_size_lookup (size, &width, &height);
tool_info = gimp_context_get_tool (context);
hbox = gtk_hbox_new (FALSE, 2);
preview = gimp_preview_new_full (GIMP_VIEWABLE (tool_info),
MIN (size, 22), MIN (size, 22), 0,
width, height, 0,
FALSE, FALSE, FALSE);
gtk_box_pack_start (GTK_BOX (hbox), preview, FALSE, FALSE, 0);
gtk_widget_show (preview);
@ -1151,40 +1180,10 @@ dialogs_tool_options_tab_func (GimpDockable *dockable,
return hbox;
}
static GtkIconSize
gimp_preview_size_to_gtk_icon_size (GimpPreviewSize preview_size)
{
GtkIconSize gtk_size;
gint width, height;
GtkIconSize best_match;
gint diff;
gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &width, &height);
best_match = GTK_ICON_SIZE_MENU;
diff = abs (preview_size - height);
for (gtk_size = GTK_ICON_SIZE_MENU + 1;
gtk_size <= GTK_ICON_SIZE_DIALOG;
gtk_size++)
{
if (gtk_icon_size_lookup (gtk_size, &width, &height))
{
if (abs (preview_size - height) < diff)
{
best_match = gtk_size;
diff = abs (preview_size - height);
}
}
}
return best_match;
}
static GtkWidget *
dialogs_navigation_tab_func (GimpDockable *dockable,
dialogs_stock_text_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size)
GtkIconSize size)
{
GimpContext *context;
GtkWidget *hbox;
@ -1195,8 +1194,7 @@ dialogs_navigation_tab_func (GimpDockable *dockable,
hbox = gtk_hbox_new (FALSE, 2);
image = gtk_image_new_from_stock (GIMP_STOCK_TOOL_MOVE,
gimp_preview_size_to_gtk_icon_size (size));
image = gtk_image_new_from_stock (dockable->stock_id, size);
gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
gtk_widget_show (image);
@ -1377,6 +1375,7 @@ static GtkWidget *
dialogs_dockable_new (GtkWidget *widget,
const gchar *name,
const gchar *short_name,
const gchar *stock_id,
GimpDockableGetTabFunc get_tab_func,
GimpDockableSetContextFunc set_context_func)
{
@ -1384,6 +1383,7 @@ dialogs_dockable_new (GtkWidget *widget,
dockable = gimp_dockable_new (name,
short_name,
stock_id,
get_tab_func,
set_context_func);
gtk_container_add (GTK_CONTAINER (dockable), widget);

View File

@ -101,25 +101,25 @@ static void dialogs_indexed_palette_selected (GimpColormapEditor *editor,
static GtkWidget * dialogs_brush_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
GtkIconSize size);
static GtkWidget * dialogs_pattern_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
GtkIconSize size);
static GtkWidget * dialogs_gradient_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
GtkIconSize size);
static GtkWidget * dialogs_palette_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
GtkIconSize size);
static GtkWidget * dialogs_tool_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
GtkIconSize size);
static GtkWidget * dialogs_tool_options_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static GtkWidget * dialogs_navigation_tab_func (GimpDockable *dockable,
GtkIconSize size);
static GtkWidget * dialogs_stock_text_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
GtkIconSize size);
static void dialogs_set_view_context_func (GimpDockable *dockable,
GimpContext *context);
@ -137,6 +137,7 @@ static void dialogs_set_navigation_context_func (GimpDockable *dockable,
static GtkWidget * dialogs_dockable_new (GtkWidget *widget,
const gchar *name,
const gchar *short_name,
const gchar *stock_id,
GimpDockableGetTabFunc get_tab_func,
GimpDockableSetContextFunc set_context_func);
@ -294,7 +295,7 @@ dialogs_tool_options_get (GimpDialogFactory *factory,
g_object_add_weak_pointer (G_OBJECT (view), (gpointer *) &view);
return dialogs_dockable_new (view,
_("Tool Options"), _("Tool Options"),
_("Tool Options"), _("Tool Options"), NULL,
dialogs_tool_options_tab_func,
NULL);
}
@ -314,7 +315,7 @@ dialogs_error_console_get (GimpDialogFactory *factory,
g_object_add_weak_pointer (G_OBJECT (view), (gpointer *) &view);
return dialogs_dockable_new (view,
_("Error Console"), _("Errors"),
_("Error Console"), _("Errors"), NULL,
NULL,
NULL);
}
@ -337,7 +338,7 @@ dialogs_image_list_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Images>"));
return dialogs_dockable_new (view,
_("Image List"), _("Images"),
_("Image List"), _("Images"), NULL,
NULL,
dialogs_set_editor_context_func);
}
@ -359,7 +360,7 @@ dialogs_brush_list_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Brushes>"));
return dialogs_dockable_new (view,
_("Brush List"), _("Brushes"),
_("Brush List"), _("Brushes"), NULL,
dialogs_brush_tab_func,
dialogs_set_editor_context_func);
}
@ -380,7 +381,7 @@ dialogs_pattern_list_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Patterns>"));
return dialogs_dockable_new (view,
_("Pattern List"), _("Patterns"),
_("Pattern List"), _("Patterns"), NULL,
dialogs_pattern_tab_func,
dialogs_set_editor_context_func);
}
@ -401,7 +402,7 @@ dialogs_gradient_list_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Gradients>"));
return dialogs_dockable_new (view,
_("Gradient List"), _("Gradients"),
_("Gradient List"), _("Gradients"), NULL,
dialogs_gradient_tab_func,
dialogs_set_editor_context_func);
}
@ -422,7 +423,7 @@ dialogs_palette_list_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Palettes>"));
return dialogs_dockable_new (view,
_("Palette List"), _("Palettes"),
_("Palette List"), _("Palettes"), NULL,
dialogs_palette_tab_func,
dialogs_set_editor_context_func);
}
@ -441,7 +442,7 @@ dialogs_tool_list_view_new (GimpDialogFactory *factory,
5, 3);
return dialogs_dockable_new (view,
_("Tool List"), _("Tools"),
_("Tool List"), _("Tools"), NULL,
dialogs_tool_tab_func,
dialogs_set_view_context_func);
}
@ -462,7 +463,8 @@ dialogs_buffer_list_view_new (GimpDialogFactory *factory,
return dialogs_dockable_new (view,
_("Buffer List"), _("Buffers"),
NULL,
GTK_STOCK_PASTE,
dialogs_stock_text_tab_func,
dialogs_set_editor_context_func);
}
@ -484,7 +486,7 @@ dialogs_image_grid_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Images>"));
return dialogs_dockable_new (view,
_("Image Grid"), _("Images"),
_("Image Grid"), _("Images"), NULL,
NULL,
dialogs_set_editor_context_func);
}
@ -506,7 +508,7 @@ dialogs_brush_grid_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Brushes>"));
return dialogs_dockable_new (view,
_("Brush Grid"), _("Brushes"),
_("Brush Grid"), _("Brushes"), NULL,
dialogs_brush_tab_func,
dialogs_set_editor_context_func);
}
@ -527,7 +529,7 @@ dialogs_pattern_grid_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Patterns>"));
return dialogs_dockable_new (view,
_("Pattern Grid"), _("Patterns"),
_("Pattern Grid"), _("Patterns"), NULL,
dialogs_pattern_tab_func,
dialogs_set_editor_context_func);
}
@ -548,7 +550,7 @@ dialogs_gradient_grid_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Gradients>"));
return dialogs_dockable_new (view,
_("Gradient Grid"), _("Gradients"),
_("Gradient Grid"), _("Gradients"), NULL,
dialogs_gradient_tab_func,
dialogs_set_editor_context_func);
}
@ -569,7 +571,7 @@ dialogs_palette_grid_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Gradients>"));
return dialogs_dockable_new (view,
_("Palette Grid"), _("Palettes"),
_("Palette Grid"), _("Palettes"), NULL,
dialogs_palette_tab_func,
dialogs_set_editor_context_func);
}
@ -588,7 +590,7 @@ dialogs_tool_grid_view_new (GimpDialogFactory *factory,
5, 3);
return dialogs_dockable_new (view,
_("Tool Grid"), _("Tools"),
_("Tool Grid"), _("Tools"), NULL,
dialogs_tool_tab_func,
dialogs_set_view_context_func);
}
@ -609,7 +611,8 @@ dialogs_buffer_grid_view_new (GimpDialogFactory *factory,
return dialogs_dockable_new (view,
_("Buffer Grid"), _("Buffers"),
NULL,
GTK_STOCK_PASTE,
dialogs_stock_text_tab_func,
dialogs_set_editor_context_func);
}
@ -651,7 +654,7 @@ dialogs_layer_list_view_new (GimpDialogFactory *factory,
layer_view->anchor_item_func = layers_anchor_layer;
dockable = dialogs_dockable_new (view,
_("Layer List"), _("Layers"),
_("Layer List"), _("Layers"), NULL,
NULL,
dialogs_set_image_item_context_func);
@ -690,7 +693,7 @@ dialogs_channel_list_view_new (GimpDialogFactory *factory,
gimp_item_factory_from_path ("<Channels>"));
dockable = dialogs_dockable_new (view,
_("Channel List"), _("Channels"),
_("Channel List"), _("Channels"), NULL,
NULL,
dialogs_set_image_item_context_func);
@ -745,7 +748,7 @@ dialogs_vectors_list_view_new (GimpDialogFactory *factory,
vectors_view->stroke_item_func = vectors_stroke_vectors;
dockable = dialogs_dockable_new (view,
_("Paths List"), _("Paths"),
_("Paths List"), _("Paths"), NULL,
NULL,
dialogs_set_image_item_context_func);
@ -771,7 +774,7 @@ dialogs_path_list_view_new (GimpDialogFactory *factory,
g_object_add_weak_pointer (G_OBJECT (view), (gpointer *) &view);
dockable = dialogs_dockable_new (view,
_("Old Path List"), _("Old Paths"),
_("Old Path List"), _("Old Paths"), NULL,
NULL,
dialogs_set_path_context_func);
@ -794,7 +797,7 @@ dialogs_indexed_palette_new (GimpDialogFactory *factory,
view = gimp_colormap_editor_new (gimage);
dockable = dialogs_dockable_new (view,
_("Indexed Palette"), _("Colormap"),
_("Indexed Palette"), _("Colormap"), NULL,
NULL,
dialogs_set_indexed_palette_context_func);
@ -826,7 +829,8 @@ dialogs_document_history_new (GimpDialogFactory *factory,
return dialogs_dockable_new (view,
_("Document History"), _("History"),
NULL,
GTK_STOCK_OPEN,
dialogs_stock_text_tab_func,
dialogs_set_editor_context_func);
}
@ -845,7 +849,7 @@ dialogs_brush_editor_get (GimpDialogFactory *factory,
brush_editor = gimp_brush_editor_new (context->gimp);
return dialogs_dockable_new (GTK_WIDGET (brush_editor),
_("Brush Editor"), _("Brush Editor"),
_("Brush Editor"), _("Brush Editor"), NULL,
NULL, NULL);
}
@ -872,7 +876,7 @@ dialogs_gradient_editor_get (GimpDialogFactory *factory,
gradient_editor = gimp_gradient_editor_new (context->gimp);
return dialogs_dockable_new (GTK_WIDGET (gradient_editor),
_("Gradient Editor"), _("Gradient Editor"),
_("Gradient Editor"), _("Gradient Editor"), NULL,
NULL, NULL);
}
@ -899,7 +903,7 @@ dialogs_palette_editor_get (GimpDialogFactory *factory,
palette_editor = gimp_palette_editor_new (context->gimp);
return dialogs_dockable_new (GTK_WIDGET (palette_editor),
_("Palette Editor"), _("Palette Editor"),
_("Palette Editor"), _("Palette Editor"), NULL,
NULL, NULL);
}
@ -934,7 +938,8 @@ dialogs_navigation_view_new (GimpDialogFactory *factory,
return dialogs_dockable_new (view,
_("Display Navigation"), _("Navigation"),
dialogs_navigation_tab_func,
GIMP_STOCK_TOOL_MOVE,
dialogs_stock_text_tab_func,
dialogs_set_navigation_context_func);
}
@ -975,16 +980,20 @@ dialogs_indexed_palette_selected (GimpColormapEditor *editor,
static GtkWidget *
dialogs_brush_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size)
GtkIconSize size)
{
GimpContext *context;
GtkWidget *preview;
gint width;
gint height;
context = dockbook->dock->context;
gtk_icon_size_lookup (size, &width, &height);
preview =
gimp_preview_new_full (GIMP_VIEWABLE (gimp_context_get_brush (context)),
size, size, 1,
width, height, 1,
FALSE, FALSE, FALSE);
g_signal_connect_object (G_OBJECT (context), "brush_changed",
@ -998,16 +1007,20 @@ dialogs_brush_tab_func (GimpDockable *dockable,
static GtkWidget *
dialogs_pattern_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size)
GtkIconSize size)
{
GimpContext *context;
GtkWidget *preview;
gint width;
gint height;
context = dockbook->dock->context;
gtk_icon_size_lookup (size, &width, &height);
preview =
gimp_preview_new_full (GIMP_VIEWABLE (gimp_context_get_pattern (context)),
size, size, 1,
width, height, 1,
FALSE, FALSE, FALSE);
g_signal_connect_object (G_OBJECT (context), "pattern_changed",
@ -1021,16 +1034,20 @@ dialogs_pattern_tab_func (GimpDockable *dockable,
static GtkWidget *
dialogs_gradient_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size)
GtkIconSize size)
{
GimpContext *context;
GtkWidget *preview;
gint width;
gint height;
context = dockbook->dock->context;
preview =
gtk_icon_size_lookup (size, &width, &height);
preview =
gimp_preview_new_full (GIMP_VIEWABLE (gimp_context_get_gradient (context)),
size, size, 1,
width, height, 1,
FALSE, FALSE, FALSE);
g_signal_connect_object (G_OBJECT (context), "gradient_changed",
@ -1044,16 +1061,20 @@ dialogs_gradient_tab_func (GimpDockable *dockable,
static GtkWidget *
dialogs_palette_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size)
GtkIconSize size)
{
GimpContext *context;
GtkWidget *preview;
gint width;
gint height;
context = dockbook->dock->context;
gtk_icon_size_lookup (size, &width, &height);
preview =
gimp_preview_new_full (GIMP_VIEWABLE (gimp_context_get_palette (context)),
size, size, 1,
width, height, 1,
FALSE, FALSE, FALSE);
g_signal_connect_object (G_OBJECT (context), "palette_changed",
@ -1067,16 +1088,20 @@ dialogs_palette_tab_func (GimpDockable *dockable,
static GtkWidget *
dialogs_tool_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size)
GtkIconSize size)
{
GimpContext *context;
GtkWidget *preview;
gint width;
gint height;
context = dockbook->dock->context;
gtk_icon_size_lookup (size, &width, &height);
preview =
gimp_preview_new_full (GIMP_VIEWABLE (gimp_context_get_tool (context)),
MIN (size, 22), MIN (size, 22), 1,
width, height, 1,
FALSE, FALSE, FALSE);
g_signal_connect_object (G_OBJECT (context), "tool_changed",
@ -1108,7 +1133,7 @@ dialogs_tool_options_tool_changed (GimpContext *context,
static GtkWidget *
dialogs_tool_options_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size)
GtkIconSize size)
{
GimpContext *context;
GimpToolInfo *tool_info;
@ -1116,15 +1141,19 @@ dialogs_tool_options_tab_func (GimpDockable *dockable,
GtkWidget *preview;
GtkWidget *label;
gchar *text;
gint width;
gint height;
context = dockbook->dock->context;
gtk_icon_size_lookup (size, &width, &height);
tool_info = gimp_context_get_tool (context);
hbox = gtk_hbox_new (FALSE, 2);
preview = gimp_preview_new_full (GIMP_VIEWABLE (tool_info),
MIN (size, 22), MIN (size, 22), 0,
width, height, 0,
FALSE, FALSE, FALSE);
gtk_box_pack_start (GTK_BOX (hbox), preview, FALSE, FALSE, 0);
gtk_widget_show (preview);
@ -1151,40 +1180,10 @@ dialogs_tool_options_tab_func (GimpDockable *dockable,
return hbox;
}
static GtkIconSize
gimp_preview_size_to_gtk_icon_size (GimpPreviewSize preview_size)
{
GtkIconSize gtk_size;
gint width, height;
GtkIconSize best_match;
gint diff;
gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &width, &height);
best_match = GTK_ICON_SIZE_MENU;
diff = abs (preview_size - height);
for (gtk_size = GTK_ICON_SIZE_MENU + 1;
gtk_size <= GTK_ICON_SIZE_DIALOG;
gtk_size++)
{
if (gtk_icon_size_lookup (gtk_size, &width, &height))
{
if (abs (preview_size - height) < diff)
{
best_match = gtk_size;
diff = abs (preview_size - height);
}
}
}
return best_match;
}
static GtkWidget *
dialogs_navigation_tab_func (GimpDockable *dockable,
dialogs_stock_text_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size)
GtkIconSize size)
{
GimpContext *context;
GtkWidget *hbox;
@ -1195,8 +1194,7 @@ dialogs_navigation_tab_func (GimpDockable *dockable,
hbox = gtk_hbox_new (FALSE, 2);
image = gtk_image_new_from_stock (GIMP_STOCK_TOOL_MOVE,
gimp_preview_size_to_gtk_icon_size (size));
image = gtk_image_new_from_stock (dockable->stock_id, size);
gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
gtk_widget_show (image);
@ -1377,6 +1375,7 @@ static GtkWidget *
dialogs_dockable_new (GtkWidget *widget,
const gchar *name,
const gchar *short_name,
const gchar *stock_id,
GimpDockableGetTabFunc get_tab_func,
GimpDockableSetContextFunc set_context_func)
{
@ -1384,6 +1383,7 @@ dialogs_dockable_new (GtkWidget *widget,
dockable = gimp_dockable_new (name,
short_name,
stock_id,
get_tab_func,
set_context_func);
gtk_container_add (GTK_CONTAINER (dockable), widget);

View File

@ -196,15 +196,21 @@ static GimpItemFactoryEntry toolbox_entries[] =
"<StockItem>", GTK_STOCK_PASTE },
"gimp-buffer-list",
NULL, NULL },
SEPARATOR ("/File/Dialogs/---"),
{ { N_("/File/Dialogs/Navigation..."), NULL,
dialogs_create_dockable_cmd_callback, 0,
"<StockItem>", GIMP_STOCK_TOOL_MOVE },
"gimp-navigation-view",
NULL, NULL },
{ { N_("/File/Dialogs/Images..."), NULL,
dialogs_create_dockable_cmd_callback, 0 },
"gimp-image-list",
NULL, NULL },
SEPARATOR ("/File/Dialogs/---"),
{ { N_("/File/Dialogs/Document History..."), NULL,
dialogs_create_dockable_cmd_callback, 0 },
{ { N_("/File/Dialogs/Document History..."), "foo",
dialogs_create_dockable_cmd_callback, 0,
"<StockItem>", GTK_STOCK_OPEN },
"gimp-document-history",
"file/dialogs/document_index.html", NULL },
{ { N_("/File/Dialogs/Error Console..."), NULL,
@ -899,15 +905,21 @@ static GimpItemFactoryEntry image_entries[] =
"<StockItem>", GTK_STOCK_PASTE },
"gimp-buffer-list",
NULL, NULL },
SEPARATOR ("/Dialogs/---"),
{ { N_("/Dialogs/Navigation..."), NULL,
dialogs_create_dockable_cmd_callback, 0,
"<StockItem>", GIMP_STOCK_TOOL_MOVE },
"gimp-navigation-view",
NULL, NULL },
{ { N_("/Dialogs/Images..."), NULL,
dialogs_create_dockable_cmd_callback, 0 },
"gimp-image-list",
NULL, NULL },
SEPARATOR ("/Dialogs/---"),
{ { N_("/Dialogs/Document History..."), NULL,
dialogs_create_dockable_cmd_callback, 0 },
{ { N_("/Dialogs/Document History..."), "foo",
dialogs_create_dockable_cmd_callback, 0,
"<StockItem>", GTK_STOCK_OPEN },
"gimp-document-history",
"dialogs/document_index.html", NULL },
{ { N_("/Dialogs/Error Console..."), NULL,
@ -1356,35 +1368,37 @@ static GimpItemFactoryEntry dialogs_entries[] =
ADD_TAB (N_("/Add Tab/Layers..."), "gimp-layer-list", NULL, NULL),
ADD_TAB (N_("/Add Tab/Channels..."), "gimp-channel-list", NULL, NULL),
ADD_TAB (N_("/Add Tab/Paths..."), "gimp-vectors-list", NULL, NULL),
ADD_TAB (N_("/Add Tab/Tool Options..."), "gimp-tool-options", NULL, NULL),
SEPARATOR ("/Add Tab/---"),
ADD_TAB (N_("/Add Tab/Brushes..."), "gimp-brush-grid",
"<StockItem>", GIMP_STOCK_TOOL_PAINTBRUSH),
ADD_TAB (N_("/Add Tab/Patterns..."), "gimp-pattern-grid",
"<StockItem>", GIMP_STOCK_TOOL_BUCKET_FILL),
ADD_TAB (N_("/Add Tab/Gradients..."), "gimp-gradient-list",
"<StockItem>", GIMP_STOCK_TOOL_BLEND),
ADD_TAB (N_("/Add Tab/Palettes..."), "gimp-palette-list",
"<StockItem>", GTK_STOCK_SELECT_COLOR),
ADD_TAB (N_("/Add Tab/Indexed Palette..."), "gimp-indexed-palette",
"<StockItem>", GTK_STOCK_SELECT_COLOR),
ADD_TAB (N_("/Add Tab/Buffers..."), "gimp-buffer-list",
"<StockItem>", GTK_STOCK_PASTE),
SEPARATOR ("/Add Tab/---"),
ADD_TAB (N_("/Add Tab/Navigation..."), "gimp-navigation-view",
"<StockItem>", GIMP_STOCK_TOOL_MOVE),
ADD_TAB (N_("/Add Tab/Images..."), "gimp-image-list", NULL, NULL),
ADD_TAB (N_("/Add Tab/Document History..."), "gimp-document-history",
"<StockItem>", GTK_STOCK_OPEN),
ADD_TAB (N_("/Add Tab/Error Console..."), "gimp-error-console", NULL, NULL),
SEPARATOR ("/Add Tab/---"),
ADD_TAB (N_("/Add Tab/Tools..."), "gimp-tool-list", NULL, NULL),
ADD_TAB (N_("/Add Tab/Old Paths..."), "gimp-path-list", NULL, NULL),
SEPARATOR ("/Add Tab/---"),
ADD_TAB (N_("/Add Tab/Navigation..."), "gimp-navigation-view",
"<StockItem>", GIMP_STOCK_TOOL_MOVE),
ADD_TAB (N_("/Add Tab/Images..."), "gimp-image-list", NULL, NULL),
ADD_TAB (N_("/Add Tab/Document History..."), "gimp-document-history", NULL, NULL),
SEPARATOR ("/Add Tab/---"),
ADD_TAB (N_("/Add Tab/Brushes..."), "gimp-brush-grid",
"<StockItem>", GIMP_STOCK_TOOL_PAINTBRUSH),
ADD_TAB (N_("/Add Tab/Patterns..."), "gimp-pattern-grid",
"<StockItem>", GIMP_STOCK_TOOL_BUCKET_FILL),
ADD_TAB (N_("/Add Tab/Gradients..."), "gimp-gradient-list",
"<StockItem>", GIMP_STOCK_TOOL_BLEND),
ADD_TAB (N_("/Add Tab/Palettes..."), "gimp-palette-list",
"<StockItem>", GTK_STOCK_SELECT_COLOR),
ADD_TAB (N_("/Add Tab/Indexed Palette..."), "gimp-indexed-palette",
"<StockItem>", GTK_STOCK_SELECT_COLOR),
ADD_TAB (N_("/Add Tab/Buffers..."), "gimp-buffer-list",
"<StockItem>", GTK_STOCK_PASTE),
SEPARATOR ("/Add Tab/---"),
ADD_TAB (N_("/Add Tab/Tools..."), "gimp-tool-list", NULL, NULL),
ADD_TAB (N_("/Add Tab/Error Console..."), "gimp-error-console", NULL, NULL),
{ { N_("/Remove Tab"), NULL,
dialogs_remove_tab_cmd_callback, 0 },
NULL, NULL, NULL },

View File

@ -196,15 +196,21 @@ static GimpItemFactoryEntry toolbox_entries[] =
"<StockItem>", GTK_STOCK_PASTE },
"gimp-buffer-list",
NULL, NULL },
SEPARATOR ("/File/Dialogs/---"),
{ { N_("/File/Dialogs/Navigation..."), NULL,
dialogs_create_dockable_cmd_callback, 0,
"<StockItem>", GIMP_STOCK_TOOL_MOVE },
"gimp-navigation-view",
NULL, NULL },
{ { N_("/File/Dialogs/Images..."), NULL,
dialogs_create_dockable_cmd_callback, 0 },
"gimp-image-list",
NULL, NULL },
SEPARATOR ("/File/Dialogs/---"),
{ { N_("/File/Dialogs/Document History..."), NULL,
dialogs_create_dockable_cmd_callback, 0 },
{ { N_("/File/Dialogs/Document History..."), "foo",
dialogs_create_dockable_cmd_callback, 0,
"<StockItem>", GTK_STOCK_OPEN },
"gimp-document-history",
"file/dialogs/document_index.html", NULL },
{ { N_("/File/Dialogs/Error Console..."), NULL,
@ -899,15 +905,21 @@ static GimpItemFactoryEntry image_entries[] =
"<StockItem>", GTK_STOCK_PASTE },
"gimp-buffer-list",
NULL, NULL },
SEPARATOR ("/Dialogs/---"),
{ { N_("/Dialogs/Navigation..."), NULL,
dialogs_create_dockable_cmd_callback, 0,
"<StockItem>", GIMP_STOCK_TOOL_MOVE },
"gimp-navigation-view",
NULL, NULL },
{ { N_("/Dialogs/Images..."), NULL,
dialogs_create_dockable_cmd_callback, 0 },
"gimp-image-list",
NULL, NULL },
SEPARATOR ("/Dialogs/---"),
{ { N_("/Dialogs/Document History..."), NULL,
dialogs_create_dockable_cmd_callback, 0 },
{ { N_("/Dialogs/Document History..."), "foo",
dialogs_create_dockable_cmd_callback, 0,
"<StockItem>", GTK_STOCK_OPEN },
"gimp-document-history",
"dialogs/document_index.html", NULL },
{ { N_("/Dialogs/Error Console..."), NULL,
@ -1356,35 +1368,37 @@ static GimpItemFactoryEntry dialogs_entries[] =
ADD_TAB (N_("/Add Tab/Layers..."), "gimp-layer-list", NULL, NULL),
ADD_TAB (N_("/Add Tab/Channels..."), "gimp-channel-list", NULL, NULL),
ADD_TAB (N_("/Add Tab/Paths..."), "gimp-vectors-list", NULL, NULL),
ADD_TAB (N_("/Add Tab/Tool Options..."), "gimp-tool-options", NULL, NULL),
SEPARATOR ("/Add Tab/---"),
ADD_TAB (N_("/Add Tab/Brushes..."), "gimp-brush-grid",
"<StockItem>", GIMP_STOCK_TOOL_PAINTBRUSH),
ADD_TAB (N_("/Add Tab/Patterns..."), "gimp-pattern-grid",
"<StockItem>", GIMP_STOCK_TOOL_BUCKET_FILL),
ADD_TAB (N_("/Add Tab/Gradients..."), "gimp-gradient-list",
"<StockItem>", GIMP_STOCK_TOOL_BLEND),
ADD_TAB (N_("/Add Tab/Palettes..."), "gimp-palette-list",
"<StockItem>", GTK_STOCK_SELECT_COLOR),
ADD_TAB (N_("/Add Tab/Indexed Palette..."), "gimp-indexed-palette",
"<StockItem>", GTK_STOCK_SELECT_COLOR),
ADD_TAB (N_("/Add Tab/Buffers..."), "gimp-buffer-list",
"<StockItem>", GTK_STOCK_PASTE),
SEPARATOR ("/Add Tab/---"),
ADD_TAB (N_("/Add Tab/Navigation..."), "gimp-navigation-view",
"<StockItem>", GIMP_STOCK_TOOL_MOVE),
ADD_TAB (N_("/Add Tab/Images..."), "gimp-image-list", NULL, NULL),
ADD_TAB (N_("/Add Tab/Document History..."), "gimp-document-history",
"<StockItem>", GTK_STOCK_OPEN),
ADD_TAB (N_("/Add Tab/Error Console..."), "gimp-error-console", NULL, NULL),
SEPARATOR ("/Add Tab/---"),
ADD_TAB (N_("/Add Tab/Tools..."), "gimp-tool-list", NULL, NULL),
ADD_TAB (N_("/Add Tab/Old Paths..."), "gimp-path-list", NULL, NULL),
SEPARATOR ("/Add Tab/---"),
ADD_TAB (N_("/Add Tab/Navigation..."), "gimp-navigation-view",
"<StockItem>", GIMP_STOCK_TOOL_MOVE),
ADD_TAB (N_("/Add Tab/Images..."), "gimp-image-list", NULL, NULL),
ADD_TAB (N_("/Add Tab/Document History..."), "gimp-document-history", NULL, NULL),
SEPARATOR ("/Add Tab/---"),
ADD_TAB (N_("/Add Tab/Brushes..."), "gimp-brush-grid",
"<StockItem>", GIMP_STOCK_TOOL_PAINTBRUSH),
ADD_TAB (N_("/Add Tab/Patterns..."), "gimp-pattern-grid",
"<StockItem>", GIMP_STOCK_TOOL_BUCKET_FILL),
ADD_TAB (N_("/Add Tab/Gradients..."), "gimp-gradient-list",
"<StockItem>", GIMP_STOCK_TOOL_BLEND),
ADD_TAB (N_("/Add Tab/Palettes..."), "gimp-palette-list",
"<StockItem>", GTK_STOCK_SELECT_COLOR),
ADD_TAB (N_("/Add Tab/Indexed Palette..."), "gimp-indexed-palette",
"<StockItem>", GTK_STOCK_SELECT_COLOR),
ADD_TAB (N_("/Add Tab/Buffers..."), "gimp-buffer-list",
"<StockItem>", GTK_STOCK_PASTE),
SEPARATOR ("/Add Tab/---"),
ADD_TAB (N_("/Add Tab/Tools..."), "gimp-tool-list", NULL, NULL),
ADD_TAB (N_("/Add Tab/Error Console..."), "gimp-error-console", NULL, NULL),
{ { N_("/Remove Tab"), NULL,
dialogs_remove_tab_cmd_callback, 0 },
NULL, NULL, NULL },

View File

@ -40,7 +40,7 @@ static void gimp_dockable_style_set (GtkWidget *widget,
static GtkWidget * gimp_dockable_real_get_tab_widget (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
GtkIconSize size);
static void gimp_dockable_real_set_context (GimpDockable *dockable,
GimpContext *context);
@ -116,6 +116,7 @@ gimp_dockable_init (GimpDockable *dockable)
{
dockable->name = NULL;
dockable->short_name = NULL;
dockable->stock_id = NULL;
dockable->dockbook = NULL;
dockable->context = NULL;
dockable->get_tab_func = NULL;
@ -144,6 +145,12 @@ gimp_dockable_destroy (GtkObject *object)
dockable->short_name = NULL;
}
if (dockable->stock_id)
{
g_free (dockable->stock_id);
dockable->stock_id = NULL;
}
if (GTK_OBJECT_CLASS (parent_class))
GTK_OBJECT_CLASS (parent_class)->destroy (object);
}
@ -170,6 +177,7 @@ gimp_dockable_style_set (GtkWidget *widget,
GtkWidget *
gimp_dockable_new (const gchar *name,
const gchar *short_name,
const gchar *stock_id,
GimpDockableGetTabFunc get_tab_func,
GimpDockableSetContextFunc set_context_func)
{
@ -182,6 +190,7 @@ gimp_dockable_new (const gchar *name,
dockable->name = g_strdup (name);
dockable->short_name = g_strdup (short_name);
dockable->stock_id = g_strdup (stock_id);
dockable->get_tab_func = get_tab_func;
dockable->set_context_func = set_context_func;
@ -192,11 +201,10 @@ gimp_dockable_new (const gchar *name,
GtkWidget *
gimp_dockable_get_tab_widget (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size)
GtkIconSize size)
{
g_return_val_if_fail (GIMP_IS_DOCKABLE (dockable), NULL);
g_return_val_if_fail (GIMP_IS_DOCKBOOK (dockbook), NULL);
g_return_val_if_fail (size >= -1 && size < 64, NULL);
return GIMP_DOCKABLE_GET_CLASS (dockable)->get_tab_widget (dockable,
dockbook,
@ -220,17 +228,19 @@ gimp_dockable_set_context (GimpDockable *dockable,
static GtkWidget *
gimp_dockable_real_get_tab_widget (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size)
GtkIconSize size)
{
g_return_val_if_fail (GIMP_IS_DOCKABLE (dockable), NULL);
g_return_val_if_fail (GIMP_IS_DOCKBOOK (dockbook), NULL);
g_return_val_if_fail (size >= -1 && size < 64, NULL);
if (dockable->get_tab_func)
{
return dockable->get_tab_func (dockable, dockbook, size);
}
if (dockable->stock_id)
return gtk_image_new_from_stock (dockable->stock_id, size);
return gtk_label_new (dockable->short_name);
}

View File

@ -28,7 +28,7 @@
typedef GtkWidget * (* GimpDockableGetTabFunc) (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
GtkIconSize size);
typedef void (* GimpDockableSetContextFunc) (GimpDockable *dockable,
GimpContext *context);
@ -49,6 +49,7 @@ struct _GimpDockable
gchar *name;
gchar *short_name;
gchar *stock_id;
GimpDockbook *dockbook;
@ -64,7 +65,7 @@ struct _GimpDockableClass
GtkWidget * (* get_tab_widget) (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
GtkIconSize size);
void (* set_context) (GimpDockable *dockable,
GimpContext *context);
};
@ -74,12 +75,13 @@ GType gimp_dockable_get_type (void) G_GNUC_CONST;
GtkWidget * gimp_dockable_new (const gchar *name,
const gchar *short_name,
const gchar *stock_id,
GimpDockableGetTabFunc get_tab_func,
GimpDockableSetContextFunc set_context_func);
GtkWidget * gimp_dockable_get_tab_widget (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
GtkIconSize size);
void gimp_dockable_set_context (GimpDockable *dockable,
GimpContext *context);

View File

@ -38,11 +38,11 @@
#include "gimppreview.h"
#define DEFAULT_TAB_BORDER 0
#define DEFAULT_TAB_HEIGHT 24
#define DND_WIDGET_SIZE 32
#define MENU_WIDGET_SIZE 16
#define MENU_WIDGET_SPACING 4
#define DEFAULT_TAB_BORDER 0
#define DEFAULT_TAB_SIZE GTK_ICON_SIZE_BUTTON
#define DND_WIDGET_SIZE GTK_ICON_SIZE_DND
#define MENU_WIDGET_SIZE GTK_ICON_SIZE_MENU
#define MENU_WIDGET_SPACING 4
static void gimp_dockbook_class_init (GimpDockbookClass *klass);
@ -135,11 +135,11 @@ gimp_dockbook_class_init (GimpDockbookClass *klass)
DEFAULT_TAB_BORDER,
G_PARAM_READABLE));
gtk_widget_class_install_style_property (widget_class,
g_param_spec_int ("tab_height",
NULL, NULL,
0, G_MAXINT,
DEFAULT_TAB_HEIGHT,
G_PARAM_READABLE));
g_param_spec_enum ("tab_size",
NULL, NULL,
GTK_TYPE_ICON_SIZE,
DEFAULT_TAB_SIZE,
G_PARAM_READABLE));
}
static void
@ -260,7 +260,7 @@ gimp_dockbook_add (GimpDockbook *dockbook,
g_return_if_fail (GTK_IS_WIDGET (menu_widget));
if (GIMP_IS_PREVIEW (menu_widget))
if (GIMP_IS_PREVIEW (menu_widget) || GTK_IS_IMAGE (menu_widget))
{
GtkWidget *hbox;
GtkWidget *label;
@ -387,14 +387,14 @@ static GtkWidget *
gimp_dockbook_get_tab_widget (GimpDockbook *dockbook,
GimpDockable *dockable)
{
GtkWidget *tab_widget;
gint tab_height;
GtkWidget *tab_widget;
GtkIconSize tab_size = DEFAULT_TAB_SIZE;
gtk_widget_style_get (GTK_WIDGET (dockbook),
"tab_height", &tab_height,
"tab_size", &tab_size,
NULL);
tab_widget = gimp_dockable_get_tab_widget (dockable, dockbook, tab_height);
tab_widget = gimp_dockable_get_tab_widget (dockable, dockbook, tab_size);
if (GTK_WIDGET_NO_WINDOW (tab_widget))
{

View File

@ -47,8 +47,8 @@
#include "libgimp/gimpintl.h"
#define DEFAULT_MINIMAL_WIDTH 250
#define DEFAULT_MENU_PREVIEW_HEIGHT 24
#define DEFAULT_MINIMAL_WIDTH 250
#define DEFAULT_MENU_PREVIEW_SIZE GTK_ICON_SIZE_SMALL_TOOLBAR
static void gimp_image_dock_class_init (GimpImageDockClass *klass);
@ -126,12 +126,11 @@ gimp_image_dock_class_init (GimpImageDockClass *klass)
DEFAULT_MINIMAL_WIDTH,
G_PARAM_READABLE));
gtk_widget_class_install_style_property (widget_class,
g_param_spec_int ("menu_preview_height",
NULL, NULL,
0,
G_MAXINT,
DEFAULT_MENU_PREVIEW_HEIGHT,
G_PARAM_READABLE));
g_param_spec_enum ("menu_preview_size",
NULL, NULL,
GTK_TYPE_ICON_SIZE,
DEFAULT_MENU_PREVIEW_SIZE,
G_PARAM_READABLE));
}
static void
@ -199,7 +198,9 @@ gimp_image_dock_style_set (GtkWidget *widget,
{
GimpImageDock *image_dock;
gint minimal_width;
gint menu_preview_height;
GtkIconSize menu_preview_size;
gint menu_preview_width = 18;
gint menu_preview_height = 18;
gint focus_line_width;
gint focus_padding;
gint ythickness;
@ -210,10 +211,14 @@ gimp_image_dock_style_set (GtkWidget *widget,
GTK_WIDGET_CLASS (parent_class)->style_set (widget, prev_style);
gtk_widget_style_get (widget,
"minimal_width", &minimal_width,
"menu_preview_height", &menu_preview_height,
"minimal_width", &minimal_width,
"menu_preview_size", &menu_preview_size,
NULL);
gtk_icon_size_lookup (menu_preview_size,
&menu_preview_width,
&menu_preview_height);
gtk_widget_style_get (image_dock->auto_button,
"focus_line_width", &focus_line_width,
"focus_padding", &focus_padding,
@ -242,6 +247,8 @@ gimp_image_dock_new (GimpDialogFactory *dialog_factory,
GimpImageDock *image_dock;
GimpContext *context;
gchar *title;
gint menu_preview_width;
gint menu_preview_height;
static gint dock_counter = 1;
@ -294,8 +301,11 @@ gimp_image_dock_new (GimpDialogFactory *dialog_factory,
G_OBJECT (image_dock),
0);
gtk_icon_size_lookup (DEFAULT_MENU_PREVIEW_SIZE,
&menu_preview_width, &menu_preview_height);
image_dock->menu = gimp_container_menu_new (image_container, context,
DEFAULT_MENU_PREVIEW_HEIGHT);
menu_preview_height);
gtk_option_menu_set_menu (GTK_OPTION_MENU (image_dock->option_menu),
image_dock->menu);
gtk_widget_show (image_dock->menu);

View File

@ -47,8 +47,8 @@
#include "libgimp/gimpintl.h"
#define DEFAULT_MINIMAL_WIDTH 250
#define DEFAULT_MENU_PREVIEW_HEIGHT 24
#define DEFAULT_MINIMAL_WIDTH 250
#define DEFAULT_MENU_PREVIEW_SIZE GTK_ICON_SIZE_SMALL_TOOLBAR
static void gimp_image_dock_class_init (GimpImageDockClass *klass);
@ -126,12 +126,11 @@ gimp_image_dock_class_init (GimpImageDockClass *klass)
DEFAULT_MINIMAL_WIDTH,
G_PARAM_READABLE));
gtk_widget_class_install_style_property (widget_class,
g_param_spec_int ("menu_preview_height",
NULL, NULL,
0,
G_MAXINT,
DEFAULT_MENU_PREVIEW_HEIGHT,
G_PARAM_READABLE));
g_param_spec_enum ("menu_preview_size",
NULL, NULL,
GTK_TYPE_ICON_SIZE,
DEFAULT_MENU_PREVIEW_SIZE,
G_PARAM_READABLE));
}
static void
@ -199,7 +198,9 @@ gimp_image_dock_style_set (GtkWidget *widget,
{
GimpImageDock *image_dock;
gint minimal_width;
gint menu_preview_height;
GtkIconSize menu_preview_size;
gint menu_preview_width = 18;
gint menu_preview_height = 18;
gint focus_line_width;
gint focus_padding;
gint ythickness;
@ -210,10 +211,14 @@ gimp_image_dock_style_set (GtkWidget *widget,
GTK_WIDGET_CLASS (parent_class)->style_set (widget, prev_style);
gtk_widget_style_get (widget,
"minimal_width", &minimal_width,
"menu_preview_height", &menu_preview_height,
"minimal_width", &minimal_width,
"menu_preview_size", &menu_preview_size,
NULL);
gtk_icon_size_lookup (menu_preview_size,
&menu_preview_width,
&menu_preview_height);
gtk_widget_style_get (image_dock->auto_button,
"focus_line_width", &focus_line_width,
"focus_padding", &focus_padding,
@ -242,6 +247,8 @@ gimp_image_dock_new (GimpDialogFactory *dialog_factory,
GimpImageDock *image_dock;
GimpContext *context;
gchar *title;
gint menu_preview_width;
gint menu_preview_height;
static gint dock_counter = 1;
@ -294,8 +301,11 @@ gimp_image_dock_new (GimpDialogFactory *dialog_factory,
G_OBJECT (image_dock),
0);
gtk_icon_size_lookup (DEFAULT_MENU_PREVIEW_SIZE,
&menu_preview_width, &menu_preview_height);
image_dock->menu = gimp_container_menu_new (image_container, context,
DEFAULT_MENU_PREVIEW_HEIGHT);
menu_preview_height);
gtk_option_menu_set_menu (GTK_OPTION_MENU (image_dock->option_menu),
image_dock->menu);
gtk_widget_show (image_dock->menu);

View File

@ -21,18 +21,18 @@ style "gimp-small-style"
GtkOptionMenu::indicator_size = { 4, 7 }
GtkOptionMenu::indicator_spacing = { 4, 3, 1, 1 }
GtkPaned::handle_size = 5
GimpDock::separator_height = 5
GimpImageDock::minimal_width = 200
GimpImageDock::menu_preview_height = 18
GimpToolbox::tool_icon_size = menu
GimpDockbook::tab_border = 0
GimpDockbook::tab_height = 16
GimpDockable::content_border = 1
GimpDockable::content_spacing = 1
GimpEditor::content_spacing = 1
GimpEditor::button_spacing = 1
GimpEditor::button_icon_size = menu
GtkPaned::handle_size = 5
GimpDock::separator_height = 5
GimpImageDock::minimal_width = 200
GimpImageDock::menu_preview_size = small-toolbar
GimpToolbox::tool_icon_size = menu
GimpDockbook::tab_border = 0
GimpDockbook::tab_size = menu
GimpDockable::content_border = 1
GimpDockable::content_spacing = 1
GimpEditor::content_spacing = 1
GimpEditor::button_spacing = 1
GimpEditor::button_icon_size = menu
}
# class "GtkWidget" style "gimp-small-style"

View File

@ -70,18 +70,18 @@ style "gimp-default-style"
{ "images/gimp-dialog-warning.png", *, *, "gtk-dialog" }
}
GtkPaned::handle_size = 6
GimpDock::separator_height = 6
GimpImageDock::minimal_width = 250
GimpImageDock::menu_preview_height = 24
GimpToolbox::tool_icon_size = button
GimpDockbook::tab_border = 0
GimpDockbook::tab_height = 24
GimpDockable::content_border = 2
GimpDockable::content_spacing = 2
GimpEditor::content_spacing = 2
GimpEditor::button_spacing = 2
GimpEditor::button_icon_size = button
GtkPaned::handle_size = 6
GimpDock::separator_height = 6
GimpImageDock::minimal_width = 250
GimpImageDock::menu_preview_size = button
GimpToolbox::tool_icon_size = button
GimpDockbook::tab_border = 0
GimpDockbook::tab_size = button
GimpDockable::content_border = 2
GimpDockable::content_spacing = 2
GimpEditor::content_spacing = 2
GimpEditor::button_spacing = 2
GimpEditor::button_icon_size = button
}
class "GtkWidget" style "gimp-default-style"