app/actions/view-actions.c added actions & callbacks to configure the

2004-06-22  Michael Natterer  <mitch@gimp.org>

	* app/actions/view-actions.c
	* app/actions/view-commands.[ch]: added actions & callbacks to
	configure the canvas padding color.

	* app/widgets/gimphelp-ids.h
	* menus/image-menu.xml.in: added the actions' help IDs and menu entries.

	* app/display/display-enums.h: added /*< skip >*/'ed enum value
	GIMP_CANVAS_PADDING_MODE_RESET.

	* app/display/gimpdisplayshell-appearance.c
	* app/display/gimpdisplayshell-callbacks.[ch]
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell.[ch]: removed the canvas padding
	button and its popup menu (fixes bug #142996). Instead, added a
	toggle button which allows to zoom the image when the window is
	resized (as known from sodipodi, except it doesn't work as nice
	yet :-) improvements to the algorithm are welcome).
	Cleaned up the GimpDisplayShell struct a bit and renamed some
	of its members.

	* libgimpwidgets/gimpstock.[ch]
	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-zoom-follow-window-12.png: added new
	icon for the new display toggle button.
This commit is contained in:
Michael Natterer 2004-06-22 16:31:27 +00:00 committed by Michael Natterer
parent afeaf96dd5
commit 9fe8e84963
17 changed files with 418 additions and 286 deletions

View file

@ -1,3 +1,31 @@
2004-06-22 Michael Natterer <mitch@gimp.org>
* app/actions/view-actions.c
* app/actions/view-commands.[ch]: added actions & callbacks to
configure the canvas padding color.
* app/widgets/gimphelp-ids.h
* menus/image-menu.xml.in: added the actions' help IDs and menu entries.
* app/display/display-enums.h: added /*< skip >*/'ed enum value
GIMP_CANVAS_PADDING_MODE_RESET.
* app/display/gimpdisplayshell-appearance.c
* app/display/gimpdisplayshell-callbacks.[ch]
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell.[ch]: removed the canvas padding
button and its popup menu (fixes bug #142996). Instead, added a
toggle button which allows to zoom the image when the window is
resized (as known from sodipodi, except it doesn't work as nice
yet :-) improvements to the algorithm are welcome).
Cleaned up the GimpDisplayShell struct a bit and renamed some
of its members.
* libgimpwidgets/gimpstock.[ch]
* themes/Default/images/Makefile.am
* themes/Default/images/stock-zoom-follow-window-12.png: added new
icon for the new display toggle button.
2004-06-22 Michael Natterer <mitch@gimp.org>
* app/tools/gimpclonetool.c (gimp_clone_tool_draw): chain up

View file

@ -20,6 +20,7 @@
#include <gtk/gtk.h>
#include "libgimpcolor/gimpcolor.h"
#include "libgimpwidgets/gimpwidgets.h"
#include "actions-types.h"
@ -32,11 +33,13 @@
#include "widgets/gimpactiongroup.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpwidgets-utils.h"
#include "display/gimpdisplay.h"
#include "display/gimpdisplayoptions.h"
#include "display/gimpdisplayshell.h"
#include "display/gimpdisplayshell-appearance.h"
#include "display/gimpdisplayshell-render.h"
#include "display/gimpdisplayshell-selection.h"
#include "view-actions.h"
@ -47,14 +50,18 @@
/* local function prototypes */
static void view_actions_set_zoom (GimpActionGroup *group,
GimpDisplayShell *shell);
static void view_actions_set_zoom (GimpActionGroup *group,
GimpDisplayShell *shell);
static void view_actions_check_type_notify (GimpDisplayConfig *config,
GParamSpec *pspec,
GimpActionGroup *group);
static GimpActionEntry view_actions[] =
{
{ "view-menu", NULL, N_("_View") },
{ "view-zoom-menu", NULL, N_("_Zoom") },
{ "view-menu", NULL, N_("_View") },
{ "view-zoom-menu", NULL, N_("_Zoom") },
{ "view-padding-color-menu", NULL, N_("_Padding Color") },
{ "view-new", GTK_STOCK_NEW,
N_("_New View"), "", NULL,
@ -240,6 +247,34 @@ static GimpRadioActionEntry view_zoom_actions[] =
GIMP_HELP_VIEW_ZOOM_OTHER }
};
static GimpEnumActionEntry view_padding_color_actions[] =
{
{ "view-padding-color-theme", NULL,
N_("From _Theme"), NULL, NULL,
GIMP_CANVAS_PADDING_MODE_DEFAULT,
GIMP_HELP_VIEW_PADDING_COLOR },
{ "view-padding-color-light-check", NULL,
N_("_Light Check Color"), NULL, NULL,
GIMP_CANVAS_PADDING_MODE_LIGHT_CHECK,
GIMP_HELP_VIEW_PADDING_COLOR },
{ "view-padding-color-dark-check", NULL,
N_("_Dark Check Color"), NULL, NULL,
GIMP_CANVAS_PADDING_MODE_DARK_CHECK,
GIMP_HELP_VIEW_PADDING_COLOR },
{ "view-padding-color-custom", GTK_STOCK_SELECT_COLOR,
N_("Select _Custom Color..."), NULL, NULL,
GIMP_CANVAS_PADDING_MODE_CUSTOM,
GIMP_HELP_VIEW_PADDING_COLOR },
{ "view-padding-color-prefs", GIMP_STOCK_RESET,
N_("As in _Preferences"), NULL, NULL,
GIMP_CANVAS_PADDING_MODE_RESET,
GIMP_HELP_VIEW_PADDING_COLOR }
};
void
view_actions_setup (GimpActionGroup *group)
@ -260,6 +295,11 @@ view_actions_setup (GimpActionGroup *group)
10000,
G_CALLBACK (view_zoom_cmd_callback));
gimp_action_group_add_enum_actions (group,
view_padding_color_actions,
G_N_ELEMENTS (view_padding_color_actions),
G_CALLBACK (view_padding_color_cmd_callback));
/* connect "activate" of view-zoom-other manually so it can be
* selected even if it's the active item of the radio group
*/
@ -268,6 +308,12 @@ view_actions_setup (GimpActionGroup *group)
g_signal_connect (action, "activate",
G_CALLBACK (view_zoom_other_cmd_callback),
group->user_data);
g_signal_connect_object (group->gimp->config, "notify::check-type",
G_CALLBACK (view_actions_check_type_notify),
group, 0);
view_actions_check_type_notify (GIMP_DISPLAY_CONFIG (group->gimp->config),
NULL, group);
}
void
@ -312,6 +358,8 @@ view_actions_update (GimpActionGroup *group,
gimp_action_group_set_action_label (group, action, (label))
#define SET_SENSITIVE(action,condition) \
gimp_action_group_set_action_sensitive (group, action, (condition) != 0)
#define SET_COLOR(action,color) \
gimp_action_group_set_action_color (group, action, color, FALSE)
SET_SENSITIVE ("view-new", gdisp);
SET_SENSITIVE ("view-close", gdisp);
@ -351,6 +399,23 @@ view_actions_update (GimpActionGroup *group,
SET_ACTIVE ("view-show-grid", gdisp && options->show_grid);
SET_ACTIVE ("view-snap-to-grid", gdisp && shell->snap_to_grid);
if (gdisp)
{
SET_COLOR ("view-padding-color-menu", &options->padding_color);
if (shell->canvas)
{
GimpRGB color;
gtk_widget_ensure_style (shell->canvas);
gimp_rgb_set_gdk_color (&color,
shell->canvas->style->bg + GTK_STATE_NORMAL);
gimp_rgb_set_alpha (&color, GIMP_OPACITY_OPAQUE);
SET_COLOR ("view-padding-color-theme", &color);
}
}
SET_SENSITIVE ("view-show-menubar", gdisp);
SET_ACTIVE ("view-show-menubar", gdisp && options->show_menubar);
SET_SENSITIVE ("view-show-rulers", gdisp);
@ -369,6 +434,7 @@ view_actions_update (GimpActionGroup *group,
#undef SET_VISIBLE
#undef SET_LABEL
#undef SET_SENSITIVE
#undef SET_COLOR
}
@ -423,3 +489,27 @@ view_actions_set_zoom (GimpActionGroup *group,
/* flag as dirty */
shell->other_scale = - fabs (shell->other_scale);
}
static void
view_actions_check_type_notify (GimpDisplayConfig *config,
GParamSpec *pspec,
GimpActionGroup *group)
{
GimpRGB color;
gimp_rgba_set_uchar (&color,
render_blend_light_check[0],
render_blend_light_check[1],
render_blend_light_check[2],
255);
gimp_action_group_set_action_color (group, "view-padding-color-light-check",
&color, FALSE);
gimp_rgba_set_uchar (&color,
render_blend_dark_check[0],
render_blend_dark_check[1],
render_blend_dark_check[2],
255);
gimp_action_group_set_action_color (group, "view-padding-color-dark-check",
&color, FALSE);
}

View file

@ -32,6 +32,7 @@
#include "display/gimpdisplay.h"
#include "display/gimpdisplay-foreach.h"
#include "display/gimpdisplayoptions.h"
#include "display/gimpdisplayshell.h"
#include "display/gimpdisplayshell-appearance.h"
#include "display/gimpdisplayshell-filter-dialog.h"
@ -42,6 +43,7 @@
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpuimanager.h"
#include "gui/color-notebook.h"
#include "gui/dialogs.h"
#include "gui/info-dialog.h"
#include "gui/info-window.h"
@ -49,10 +51,12 @@
#include "actions.h"
#include "view-commands.h"
#include "gimp-intl.h"
#define SET_ACTIVE(manager,group_name,action_name,active) \
#define SET_ACTIVE(manager,action_name,active) \
{ GimpActionGroup *group = \
gimp_ui_manager_get_action_group (manager, group_name); \
gimp_ui_manager_get_action_group (manager, "view"); \
gimp_action_group_set_action_active (group, action_name, active); }
#define IS_ACTIVE_DISPLAY(gdisp) \
@ -187,11 +191,11 @@ view_dot_for_dot_cmd_callback (GtkAction *action,
{
gimp_display_shell_scale_set_dot_for_dot (shell, active);
SET_ACTIVE (shell->menubar_manager, "view", "view-dot-for-dot",
SET_ACTIVE (shell->menubar_manager, "view-dot-for-dot",
shell->dot_for_dot);
if (IS_ACTIVE_DISPLAY (gdisp))
SET_ACTIVE (shell->popup_manager, "view", "view-dot-for-dot",
SET_ACTIVE (shell->popup_manager, "view-dot-for-dot",
shell->dot_for_dot);
}
}
@ -422,6 +426,126 @@ view_snap_to_grid_cmd_callback (GtkAction *action,
gimp_display_shell_set_snap_to_grid (shell, active);
}
static void
view_padding_color_callback (ColorNotebook *cnb,
const GimpRGB *color,
ColorNotebookState state,
gpointer data)
{
GimpDisplayShell *shell = GIMP_DISPLAY_SHELL (data);
GimpDisplayOptions *options;
gboolean fullscreen;
fullscreen = gimp_display_shell_get_fullscreen (shell);
if (fullscreen)
options = shell->fullscreen_options;
else
options = shell->options;
switch (state)
{
case COLOR_NOTEBOOK_OK:
options->padding_mode_set = TRUE;
gimp_display_shell_set_padding (shell, GIMP_CANVAS_PADDING_MODE_CUSTOM,
color);
/* fallthru */
case COLOR_NOTEBOOK_CANCEL:
g_object_set_data (G_OBJECT (shell), "padding-color-notebook", NULL);
break;
default:
break;
}
}
void
view_padding_color_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
GimpDisplayOptions *options;
gboolean fullscreen;
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
fullscreen = gimp_display_shell_get_fullscreen (shell);
if (fullscreen)
options = shell->fullscreen_options;
else
options = shell->options;
switch ((GimpCanvasPaddingMode) value)
{
case GIMP_CANVAS_PADDING_MODE_DEFAULT:
case GIMP_CANVAS_PADDING_MODE_LIGHT_CHECK:
case GIMP_CANVAS_PADDING_MODE_DARK_CHECK:
g_object_set_data (G_OBJECT (shell), "padding-color-notebook", NULL);
options->padding_mode_set = TRUE;
gimp_display_shell_set_padding (shell, (GimpCanvasPaddingMode) value,
&options->padding_color);
break;
case GIMP_CANVAS_PADDING_MODE_CUSTOM:
{
ColorNotebook *color_notebook;
color_notebook = g_object_get_data (G_OBJECT (shell),
"padding-color-notebook");
if (! color_notebook)
{
color_notebook = color_notebook_new (GIMP_VIEWABLE (gdisp->gimage),
_("Set Canvas Padding Color"),
GTK_STOCK_SELECT_COLOR,
NULL,
gdisp->shell,
NULL, NULL,
&options->padding_color,
view_padding_color_callback,
shell,
FALSE, FALSE);
g_object_set_data_full (G_OBJECT (shell), "padding-color-notebook",
color_notebook,
(GDestroyNotify) color_notebook_free);
}
color_notebook_show (color_notebook);
}
break;
case GIMP_CANVAS_PADDING_MODE_RESET:
g_object_set_data (G_OBJECT (shell), "padding-color-notebook", NULL);
{
GimpDisplayConfig *config;
GimpDisplayOptions *default_options;
config = GIMP_DISPLAY_CONFIG (gdisp->gimage->gimp->config);
options->padding_mode_set = FALSE;
if (fullscreen)
default_options = config->default_fullscreen_view;
else
default_options = config->default_view;
gimp_display_shell_set_padding (shell,
default_options->padding_mode,
&default_options->padding_color);
}
break;
}
}
void
view_shrink_wrap_cmd_callback (GtkAction *action,
gpointer data)
@ -452,11 +576,11 @@ view_fullscreen_cmd_callback (GtkAction *action,
if (active != fullscreen)
{
SET_ACTIVE (shell->menubar_manager, "view", "view-fullscreen",
SET_ACTIVE (shell->menubar_manager, "view-fullscreen",
fullscreen);
if (IS_ACTIVE_DISPLAY (gdisp))
SET_ACTIVE (shell->popup_manager, "view", "view-fullscreen",
SET_ACTIVE (shell->popup_manager, "view-fullscreen",
fullscreen);
}
}

View file

@ -66,6 +66,9 @@ void view_toggle_grid_cmd_callback (GtkAction *action,
gpointer data);
void view_snap_to_grid_cmd_callback (GtkAction *action,
gpointer data);
void view_padding_color_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void view_shrink_wrap_cmd_callback (GtkAction *action,
gpointer data);

View file

@ -41,7 +41,8 @@ typedef enum
GIMP_CANVAS_PADDING_MODE_DEFAULT, /*< desc="From Theme" >*/
GIMP_CANVAS_PADDING_MODE_LIGHT_CHECK, /*< desc="Light Check Color" >*/
GIMP_CANVAS_PADDING_MODE_DARK_CHECK, /*< desc="Dark Check Color" >*/
GIMP_CANVAS_PADDING_MODE_CUSTOM /*< desc="Custom Color" >*/
GIMP_CANVAS_PADDING_MODE_CUSTOM, /*< desc="Custom Color" >*/
GIMP_CANVAS_PADDING_MODE_RESET = -1 /*< skip >*/
} GimpCanvasPaddingMode;

View file

@ -47,11 +47,16 @@
(gimp_display_shell_get_fullscreen (shell) ? \
shell->fullscreen_options : shell->options)
#define SET_ACTIVE(manager,group_name,action_name,active) \
#define SET_ACTIVE(manager,action_name,active) \
{ GimpActionGroup *group = \
gimp_ui_manager_get_action_group (manager, group_name); \
gimp_ui_manager_get_action_group (manager, "view"); \
gimp_action_group_set_action_active (group, action_name, active); }
#define SET_COLOR(manager,action_name,color) \
{ GimpActionGroup *group = \
gimp_ui_manager_get_action_group (manager, "view"); \
gimp_action_group_set_action_color (group, action_name, color, FALSE); }
#define IS_ACTIVE_DISPLAY(shell) \
((shell)->gdisp == \
gimp_context_get_display (gimp_get_user_context \
@ -94,7 +99,7 @@ gimp_display_shell_set_show_menubar (GimpDisplayShell *shell,
g_object_set (options, "show-menubar", show, NULL);
vbox = GTK_CONTAINER (shell->qmask->parent->parent);
vbox = GTK_CONTAINER (shell->qmask_button->parent->parent);
if (show)
gtk_widget_show (shell->menubar);
@ -106,10 +111,10 @@ gimp_display_shell_set_show_menubar (GimpDisplayShell *shell,
else
gtk_container_set_border_width (vbox, 0);
SET_ACTIVE (shell->menubar_manager, "view", "view-show-menubar", show);
SET_ACTIVE (shell->menubar_manager, "view-show-menubar", show);
if (IS_ACTIVE_DISPLAY (shell))
SET_ACTIVE (shell->popup_manager, "view", "view-show-menubar", show);
SET_ACTIVE (shell->popup_manager, "view-show-menubar", show);
}
gboolean
@ -137,7 +142,7 @@ gimp_display_shell_set_show_rulers (GimpDisplayShell *shell,
if (show)
{
gtk_widget_show (shell->origin);
gtk_widget_show (shell->origin_button);
gtk_widget_show (shell->hrule);
gtk_widget_show (shell->vrule);
@ -146,7 +151,7 @@ gimp_display_shell_set_show_rulers (GimpDisplayShell *shell,
}
else
{
gtk_widget_hide (shell->origin);
gtk_widget_hide (shell->origin_button);
gtk_widget_hide (shell->hrule);
gtk_widget_hide (shell->vrule);
@ -154,10 +159,10 @@ gimp_display_shell_set_show_rulers (GimpDisplayShell *shell,
gtk_table_set_row_spacing (table, 0, 0);
}
SET_ACTIVE (shell->menubar_manager, "view", "view-show-rulers", show);
SET_ACTIVE (shell->menubar_manager, "view-show-rulers", show);
if (IS_ACTIVE_DISPLAY (shell))
SET_ACTIVE (shell->popup_manager, "view", "view-show-rulers", show);
SET_ACTIVE (shell->popup_manager, "view-show-rulers", show);
}
gboolean
@ -190,8 +195,8 @@ gimp_display_shell_set_show_scrollbars (GimpDisplayShell *shell,
gtk_widget_show (shell->nav_ebox);
gtk_widget_show (shell->hsb);
gtk_widget_show (shell->vsb);
gtk_widget_show (shell->qmask);
gtk_widget_show (shell->padding_button);
gtk_widget_show (shell->qmask_button);
gtk_widget_show (shell->zoom_button);
gtk_box_set_spacing (hbox, 1);
gtk_box_set_spacing (vbox, 1);
@ -201,17 +206,17 @@ gimp_display_shell_set_show_scrollbars (GimpDisplayShell *shell,
gtk_widget_hide (shell->nav_ebox);
gtk_widget_hide (shell->hsb);
gtk_widget_hide (shell->vsb);
gtk_widget_hide (shell->qmask);
gtk_widget_hide (shell->padding_button);
gtk_widget_hide (shell->qmask_button);
gtk_widget_hide (shell->zoom_button);
gtk_box_set_spacing (hbox, 0);
gtk_box_set_spacing (vbox, 0);
}
SET_ACTIVE (shell->menubar_manager, "view", "view-show-scrollbars", show);
SET_ACTIVE (shell->menubar_manager, "view-show-scrollbars", show);
if (IS_ACTIVE_DISPLAY (shell))
SET_ACTIVE (shell->popup_manager, "view", "view-show-scrollbars", show);
SET_ACTIVE (shell->popup_manager, "view-show-scrollbars", show);
}
gboolean
@ -235,7 +240,7 @@ gimp_display_shell_set_show_statusbar (GimpDisplayShell *shell,
g_object_set (options, "show-statusbar", show, NULL);
vbox = GTK_CONTAINER (shell->qmask->parent->parent);
vbox = GTK_CONTAINER (shell->qmask_button->parent->parent);
if (show)
gtk_widget_show (shell->statusbar);
@ -247,10 +252,10 @@ gimp_display_shell_set_show_statusbar (GimpDisplayShell *shell,
else
gtk_container_set_border_width (vbox, 0);
SET_ACTIVE (shell->menubar_manager, "view", "view-show-statusbar", show);
SET_ACTIVE (shell->menubar_manager, "view-show-statusbar", show);
if (IS_ACTIVE_DISPLAY (shell))
SET_ACTIVE (shell->popup_manager, "view", "view-show-statusbar", show);
SET_ACTIVE (shell->popup_manager, "view-show-statusbar", show);
}
gboolean
@ -276,10 +281,10 @@ gimp_display_shell_set_show_selection (GimpDisplayShell *shell,
if (shell->select)
gimp_display_shell_selection_set_hidden (shell->select, ! show);
SET_ACTIVE (shell->menubar_manager, "view", "view-show-selection", show);
SET_ACTIVE (shell->menubar_manager, "view-show-selection", show);
if (IS_ACTIVE_DISPLAY (shell))
SET_ACTIVE (shell->popup_manager, "view", "view-show-selection", show);
SET_ACTIVE (shell->popup_manager, "view-show-selection", show);
}
gboolean
@ -305,10 +310,10 @@ gimp_display_shell_set_show_layer (GimpDisplayShell *shell,
if (shell->select)
gimp_display_shell_selection_layer_set_hidden (shell->select, ! show);
SET_ACTIVE (shell->menubar_manager, "view", "view-show-layer-boundary", show);
SET_ACTIVE (shell->menubar_manager, "view-show-layer-boundary", show);
if (IS_ACTIVE_DISPLAY (shell))
SET_ACTIVE (shell->popup_manager, "view", "view-show-layer-boundary", show);
SET_ACTIVE (shell->popup_manager, "view-show-layer-boundary", show);
}
gboolean
@ -351,10 +356,10 @@ gimp_display_shell_set_show_grid (GimpDisplayShell *shell,
if (shell->gdisp->gimage->grid)
gimp_display_shell_expose_full (shell);
SET_ACTIVE (shell->menubar_manager, "view", "view-show-grid", show);
SET_ACTIVE (shell->menubar_manager, "view-show-grid", show);
if (IS_ACTIVE_DISPLAY (shell))
SET_ACTIVE (shell->popup_manager, "view", "view-show-grid", show);
SET_ACTIVE (shell->popup_manager, "view-show-grid", show);
}
gboolean
@ -375,10 +380,10 @@ gimp_display_shell_set_snap_to_grid (GimpDisplayShell *shell,
{
shell->snap_to_grid = snap ? TRUE : FALSE;
SET_ACTIVE (shell->menubar_manager, "view", "view-snap-to-grid", snap);
SET_ACTIVE (shell->menubar_manager, "view-snap-to-grid", snap);
if (IS_ACTIVE_DISPLAY (shell))
SET_ACTIVE (shell->popup_manager, "view", "view-snap-to-grid", snap);
SET_ACTIVE (shell->popup_manager, "view-snap-to-grid", snap);
}
}
@ -405,10 +410,10 @@ gimp_display_shell_set_show_guides (GimpDisplayShell *shell,
if (shell->gdisp->gimage->guides)
gimp_display_shell_expose_full (shell);
SET_ACTIVE (shell->menubar_manager, "view", "view-show-guides", show);
SET_ACTIVE (shell->menubar_manager, "view-show-guides", show);
if (IS_ACTIVE_DISPLAY (shell))
SET_ACTIVE (shell->popup_manager, "view", "view-show-guides", show);
SET_ACTIVE (shell->popup_manager, "view-show-guides", show);
}
gboolean
@ -429,10 +434,10 @@ gimp_display_shell_set_snap_to_guides (GimpDisplayShell *shell,
{
shell->snap_to_guides = snap ? TRUE : FALSE;
SET_ACTIVE (shell->menubar_manager, "view", "view-snap-to-guides", snap);
SET_ACTIVE (shell->menubar_manager, "view-snap-to-guides", snap);
if (IS_ACTIVE_DISPLAY (shell))
SET_ACTIVE (shell->popup_manager, "view", "view-snap-to-guides", snap);
SET_ACTIVE (shell->popup_manager, "view-snap-to-guides", snap);
}
}
@ -484,6 +489,7 @@ gimp_display_shell_set_padding (GimpDisplayShell *shell,
break;
case GIMP_CANVAS_PADDING_MODE_CUSTOM:
case GIMP_CANVAS_PADDING_MODE_RESET:
break;
}
@ -494,19 +500,12 @@ gimp_display_shell_set_padding (GimpDisplayShell *shell,
gimp_canvas_set_bg_color (GIMP_CANVAS (shell->canvas), &color);
if (shell->padding_button)
{
g_signal_handlers_block_by_func (shell->padding_button,
gimp_display_shell_color_button_changed,
shell);
SET_COLOR (shell->menubar_manager, "view-padding-color-menu",
&options->padding_color);
gimp_color_button_set_color (GIMP_COLOR_BUTTON (shell->padding_button),
&color);
g_signal_handlers_unblock_by_func (shell->padding_button,
gimp_display_shell_color_button_changed,
shell);
}
if (IS_ACTIVE_DISPLAY (shell))
SET_COLOR (shell->popup_manager, "view-padding-color-menu",
&options->padding_color);
gimp_display_shell_expose_full (shell);
}

View file

@ -327,6 +327,34 @@ gimp_display_shell_canvas_configure (GtkWidget *widget,
if ((shell->disp_width != shell->canvas->allocation.width) ||
(shell->disp_height != shell->canvas->allocation.height))
{
if (shell->zoom_on_resize &&
shell->disp_width > 64 &&
shell->disp_height > 64 &&
shell->canvas->allocation.width > 64 &&
shell->canvas->allocation.height > 64)
{
gdouble scale;
gint offset_x;
gint offset_y;
scale = shell->scale;
/* multiply the zoom_factor with the ratio of the new and
* old canvas diagonals
*/
scale *= (sqrt (SQR (shell->canvas->allocation.width) +
SQR (shell->canvas->allocation.height)) /
sqrt (SQR (shell->disp_width) +
SQR (shell->disp_height)));
offset_x = UNSCALEX (shell, shell->offset_x);
offset_y = UNSCALEX (shell, shell->offset_y);
shell->scale = scale;
shell->offset_x = SCALEX (shell, offset_x);
shell->offset_y = SCALEY (shell, offset_y);
}
shell->disp_width = shell->canvas->allocation.width;
shell->disp_height = shell->canvas->allocation.height;
@ -438,7 +466,7 @@ gimp_display_shell_popup_menu (GtkWidget *widget)
gimp_ui_manager_ui_popup (shell->popup_manager, "/dummy-menubar/image-popup",
GTK_WIDGET (shell),
gimp_display_shell_origin_menu_position,
shell->origin,
shell->origin_button,
NULL, NULL);
return TRUE;
@ -1419,115 +1447,6 @@ gimp_display_shell_origin_button_press (GtkWidget *widget,
return TRUE;
}
gboolean
gimp_display_shell_color_button_press (GtkWidget *widget,
GdkEventButton *bevent,
GimpDisplayShell *shell)
{
if (bevent->button == 3)
{
GimpColorButton *color_button;
GtkItemFactory *item_factory;
guchar r, g, b;
GimpRGB color;
color_button = GIMP_COLOR_BUTTON (widget);
item_factory = GTK_ITEM_FACTORY (color_button->popup_menu);
r = shell->canvas->style->bg[GTK_STATE_NORMAL].red >> 8;
g = shell->canvas->style->bg[GTK_STATE_NORMAL].green >> 8;
b = shell->canvas->style->bg[GTK_STATE_NORMAL].blue >> 8;
gimp_rgba_set_uchar (&color, r, g, b, 255);
gimp_item_factory_set_color (item_factory,
"/From Theme", &color, FALSE);
gimp_rgba_set_uchar (&color,
render_blend_light_check[0],
render_blend_light_check[1],
render_blend_light_check[2],
255);
gimp_item_factory_set_color (item_factory,
"/Light Check Color", &color, FALSE);
gimp_rgba_set_uchar (&color,
render_blend_dark_check[0],
render_blend_dark_check[1],
render_blend_dark_check[2],
255);
gimp_item_factory_set_color (item_factory,
"/Dark Check Color", &color, FALSE);
}
return FALSE;
}
void
gimp_display_shell_color_button_changed (GtkWidget *widget,
GimpDisplayShell *shell)
{
GimpRGB color;
if (gimp_display_shell_get_fullscreen (shell))
shell->fullscreen_options->padding_mode_set = TRUE;
else
shell->options->padding_mode_set = TRUE;
gimp_color_button_get_color (GIMP_COLOR_BUTTON (widget), &color);
gimp_display_shell_set_padding (shell,
GIMP_CANVAS_PADDING_MODE_CUSTOM, &color);
}
void
gimp_display_shell_color_button_menu_callback (gpointer callback_data,
guint callback_action,
GtkWidget *widget)
{
GimpDisplayOptions *options;
GimpDisplayShell *shell;
gboolean fullscreen;
shell = GIMP_DISPLAY_SHELL (callback_data);
fullscreen = gimp_display_shell_get_fullscreen (shell);
if (fullscreen)
options = shell->fullscreen_options;
else
options = shell->options;
if (callback_action == GIMP_CANVAS_PADDING_MODE_CUSTOM)
{
gtk_button_clicked (GTK_BUTTON (shell->padding_button));
}
else if (callback_action == 0xffff)
{
GimpDisplayConfig *config;
GimpDisplayOptions *default_options;
config = GIMP_DISPLAY_CONFIG (shell->gdisp->gimage->gimp->config);
options->padding_mode_set = FALSE;
if (fullscreen)
default_options = config->default_fullscreen_view;
else
default_options = config->default_view;
gimp_display_shell_set_padding (shell,
default_options->padding_mode,
&default_options->padding_color);
}
else
{
options->padding_mode_set = TRUE;
gimp_display_shell_set_padding (shell, callback_action,
&options->padding_color);
}
}
gboolean
gimp_display_shell_qmask_button_press (GtkWidget *widget,
GdkEventButton *bevent,

View file

@ -61,15 +61,6 @@ gboolean gimp_display_shell_origin_button_press (GtkWidget *widget,
GdkEventButton *bevent,
GimpDisplayShell *shell);
gboolean gimp_display_shell_color_button_press (GtkWidget *widget,
GdkEventButton *bevent,
GimpDisplayShell *shell);
void gimp_display_shell_color_button_changed (GtkWidget *widget,
GimpDisplayShell *shell);
void gimp_display_shell_color_button_menu_callback (gpointer data,
guint action,
GtkWidget *widget);
gboolean gimp_display_shell_qmask_button_press (GtkWidget *widget,
GdkEventButton *bevent,
GimpDisplayShell *shell);

View file

@ -408,13 +408,13 @@ gimp_display_shell_qmask_changed_handler (GimpImage *gimage,
{
GtkImage *image;
image = GTK_IMAGE (GTK_BIN (shell->qmask)->child);
image = GTK_IMAGE (GTK_BIN (shell->qmask_button)->child);
g_signal_handlers_block_by_func (shell->qmask,
g_signal_handlers_block_by_func (shell->qmask_button,
gimp_display_shell_qmask_toggled,
shell);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (shell->qmask),
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (shell->qmask_button),
shell->gdisp->gimage->qmask_state);
if (shell->gdisp->gimage->qmask_state)
@ -422,7 +422,7 @@ gimp_display_shell_qmask_changed_handler (GimpImage *gimage,
else
gtk_image_set_from_stock (image, GIMP_STOCK_QMASK_OFF, GTK_ICON_SIZE_MENU);
g_signal_handlers_unblock_by_func (shell->qmask,
g_signal_handlers_unblock_by_func (shell->qmask_button,
gimp_display_shell_qmask_toggled,
shell);
}

View file

@ -55,7 +55,6 @@
#include "vectors/gimpvectors.h"
#include "vectors/gimpstroke.h"
#include "widgets/gimpcolorpanel.h"
#include "widgets/gimpdnd.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpmenufactory.h"
@ -147,14 +146,14 @@ gimp_display_shell_get_type (void)
static const GTypeInfo shell_info =
{
sizeof (GimpDisplayShellClass),
(GBaseInitFunc) NULL,
(GBaseFinalizeFunc) NULL,
(GClassInitFunc) gimp_display_shell_class_init,
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (GimpDisplayShell),
0, /* n_preallocs */
(GInstanceInitFunc) gimp_display_shell_init,
(GBaseInitFunc) NULL,
(GBaseFinalizeFunc) NULL,
(GClassInitFunc) gimp_display_shell_class_init,
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (GimpDisplayShell),
0, /* n_preallocs */
(GInstanceInitFunc) gimp_display_shell_init,
};
shell_type = g_type_register_static (GTK_TYPE_WINDOW,
@ -258,25 +257,31 @@ gimp_display_shell_init (GimpDisplayShell *shell)
shell->select = NULL;
shell->hsbdata = NULL;
shell->vsbdata = NULL;
shell->canvas = NULL;
shell->grid_gc = NULL;
shell->hsbdata = NULL;
shell->vsbdata = NULL;
shell->hsb = NULL;
shell->vsb = NULL;
shell->qmask = NULL;
shell->hrule = NULL;
shell->vrule = NULL;
shell->origin = NULL;
shell->origin_button = NULL;
shell->qmask_button = NULL;
shell->zoom_button = NULL;
shell->nav_ebox = NULL;
shell->menubar = NULL;
shell->statusbar = NULL;
shell->render_buf = g_malloc (GIMP_DISPLAY_SHELL_RENDER_BUF_WIDTH *
GIMP_DISPLAY_SHELL_RENDER_BUF_HEIGHT *
3);
shell->title_idle_id = 0;
shell->icon_size = 32;
shell->icon_idle_id = 0;
@ -293,11 +298,6 @@ gimp_display_shell_init (GimpDisplayShell *shell)
shell->cursor_x = 0;
shell->cursor_y = 0;
shell->show_transform_preview = FALSE;
shell->padding_button = NULL;
shell->nav_ebox = NULL;
shell->warning_dialog = NULL;
shell->info_dialog = NULL;
shell->scale_dialog = NULL;
@ -308,14 +308,14 @@ gimp_display_shell_init (GimpDisplayShell *shell)
shell->filter_idle_id = 0;
shell->filters_dialog = NULL;
shell->window_state = 0;
shell->paused_count = 0;
shell->options =
g_object_new (GIMP_TYPE_DISPLAY_OPTIONS, NULL);
shell->fullscreen_options =
g_object_new (GIMP_TYPE_DISPLAY_OPTIONS_FULLSCREEN, NULL);
shell->window_state = 0;
shell->zoom_on_resize = FALSE;
shell->show_transform_preview = FALSE;
shell->options = g_object_new (GIMP_TYPE_DISPLAY_OPTIONS, NULL);
shell->fullscreen_options = g_object_new (GIMP_TYPE_DISPLAY_OPTIONS_FULLSCREEN, NULL);
shell->space_pressed = FALSE;
shell->space_release_pending = FALSE;
@ -704,7 +704,7 @@ gimp_display_shell_new (GimpDisplay *gdisp,
* | | |
* | | +-- right_vbox
* | | |
* | | +-- padding_button
* | | +-- zoom_on_resize_button
* | | +-- vscrollbar
* | |
* | +-- lower_hbox
@ -795,18 +795,18 @@ gimp_display_shell_new (GimpDisplay *gdisp,
/* create the contents of the inner_table ********************************/
/* the menu popup button */
shell->origin = gtk_button_new ();
GTK_WIDGET_UNSET_FLAGS (shell->origin, GTK_CAN_FOCUS);
shell->origin_button = gtk_button_new ();
GTK_WIDGET_UNSET_FLAGS (shell->origin_button, GTK_CAN_FOCUS);
image = gtk_image_new_from_stock (GIMP_STOCK_MENU_RIGHT, GTK_ICON_SIZE_MENU);
gtk_container_add (GTK_CONTAINER (shell->origin), image);
gtk_container_add (GTK_CONTAINER (shell->origin_button), image);
gtk_widget_show (image);
g_signal_connect (shell->origin, "button_press_event",
g_signal_connect (shell->origin_button, "button_press_event",
G_CALLBACK (gimp_display_shell_origin_button_press),
shell);
gimp_help_set_help_data (shell->origin, NULL,
gimp_help_set_help_data (shell->origin_button, NULL,
GIMP_HELP_IMAGE_WINDOW_ORIGIN_BUTTON);
shell->canvas = gimp_canvas_new ();
@ -867,80 +867,44 @@ gimp_display_shell_new (GimpDisplay *gdisp,
shell);
/* create the contents of the right_vbox *********************************/
shell->padding_button = gimp_color_panel_new (_("Set Canvas Padding Color"),
&shell->options->padding_color,
GIMP_COLOR_AREA_FLAT,
15, 15);
GTK_WIDGET_UNSET_FLAGS (shell->padding_button, GTK_CAN_FOCUS);
gimp_color_panel_set_context (GIMP_COLOR_PANEL (shell->padding_button),
gimp_get_user_context (gdisp->gimage->gimp));
shell->zoom_button = gtk_check_button_new ();
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (shell->zoom_button), FALSE);
gtk_widget_set_size_request (GTK_WIDGET (shell->zoom_button), 16, 16);
GTK_WIDGET_UNSET_FLAGS (shell->zoom_button, GTK_CAN_FOCUS);
gimp_help_set_help_data (shell->padding_button,
_("Set canvas padding color"),
GIMP_HELP_IMAGE_WINDOW_PADDING_BUTTON);
image = gtk_image_new_from_stock (GIMP_STOCK_ZOOM_FOLLOW_WINDOW,
GTK_ICON_SIZE_MENU);
gtk_container_add (GTK_CONTAINER (shell->zoom_button), image);
gtk_widget_show (image);
g_signal_connect (shell->padding_button, "button_press_event",
G_CALLBACK (gimp_display_shell_color_button_press),
shell);
g_signal_connect (shell->padding_button, "color_changed",
G_CALLBACK (gimp_display_shell_color_button_changed),
shell);
gimp_help_set_help_data (shell->zoom_button,
_("Zoom image when window size changes"),
GIMP_HELP_IMAGE_WINDOW_ZOOM_FOLLOW_BUTTON);
{
static GtkItemFactoryEntry menu_items[] =
{
{ N_("/From _Theme"), NULL,
gimp_display_shell_color_button_menu_callback,
GIMP_CANVAS_PADDING_MODE_DEFAULT, NULL },
{ N_("/_Light Check Color"), NULL,
gimp_display_shell_color_button_menu_callback,
GIMP_CANVAS_PADDING_MODE_LIGHT_CHECK, NULL },
{ N_("/_Dark Check Color"), NULL,
gimp_display_shell_color_button_menu_callback,
GIMP_CANVAS_PADDING_MODE_DARK_CHECK, NULL },
{ "/---", NULL, NULL, 0, "<Separator>"},
{ N_("/Select _Custom Color..."), NULL,
gimp_display_shell_color_button_menu_callback,
GIMP_CANVAS_PADDING_MODE_CUSTOM, "<StockItem>",
GTK_STOCK_SELECT_COLOR },
{ N_("/As in _Preferences"), NULL,
gimp_display_shell_color_button_menu_callback,
0xffff, "<StockItem>",
GIMP_STOCK_RESET }
};
GtkItemFactory *item_factory;
item_factory =
GTK_ITEM_FACTORY (GIMP_COLOR_BUTTON (shell->padding_button)->popup_menu);
gtk_item_factory_create_items (item_factory,
G_N_ELEMENTS (menu_items), menu_items,
shell);
}
g_signal_connect (shell->zoom_button, "toggled",
G_CALLBACK (gimp_toggle_button_update),
&shell->zoom_on_resize);
/* create the contents of the lower_hbox *********************************/
/* the qmask button */
shell->qmask = gtk_check_button_new ();
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (shell->qmask), FALSE);
gtk_widget_set_size_request (GTK_WIDGET (shell->qmask), 16, 16);
GTK_WIDGET_UNSET_FLAGS (shell->qmask, GTK_CAN_FOCUS);
shell->qmask_button = gtk_check_button_new ();
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (shell->qmask_button), FALSE);
gtk_widget_set_size_request (GTK_WIDGET (shell->qmask_button), 16, 16);
GTK_WIDGET_UNSET_FLAGS (shell->qmask_button, GTK_CAN_FOCUS);
image = gtk_image_new_from_stock (GIMP_STOCK_QMASK_OFF, GTK_ICON_SIZE_MENU);
gtk_container_add (GTK_CONTAINER (shell->qmask), image);
gtk_container_add (GTK_CONTAINER (shell->qmask_button), image);
gtk_widget_show (image);
gimp_help_set_help_data (shell->qmask,
gimp_help_set_help_data (shell->qmask_button,
_("Toggle QuickMask"),
GIMP_HELP_IMAGE_WINDOW_QMASK_BUTTON);
g_signal_connect (shell->qmask, "toggled",
g_signal_connect (shell->qmask_button, "toggled",
G_CALLBACK (gimp_display_shell_qmask_toggled),
shell);
g_signal_connect (shell->qmask, "button_press_event",
g_signal_connect (shell->qmask_button, "button_press_event",
G_CALLBACK (gimp_display_shell_qmask_button_press),
shell);
@ -968,7 +932,7 @@ gimp_display_shell_new (GimpDisplay *gdisp,
/* pack all the widgets **************************************************/
/* fill the inner_table */
gtk_table_attach (GTK_TABLE (inner_table), shell->origin, 0, 1, 0, 1,
gtk_table_attach (GTK_TABLE (inner_table), shell->origin_button, 0, 1, 0, 1,
GTK_FILL, GTK_FILL, 0, 0);
gtk_table_attach (GTK_TABLE (inner_table), shell->hrule, 1, 2, 0, 1,
GTK_EXPAND | GTK_SHRINK | GTK_FILL, GTK_FILL, 0, 0);
@ -979,12 +943,11 @@ gimp_display_shell_new (GimpDisplay *gdisp,
GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0);
/* fill the right_vbox */
gtk_box_pack_start (GTK_BOX (right_vbox), shell->padding_button,
FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (right_vbox), shell->zoom_button, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (right_vbox), shell->vsb, TRUE, TRUE, 0);
/* fill the lower_hbox */
gtk_box_pack_start (GTK_BOX (lower_hbox), shell->qmask, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (lower_hbox), shell->qmask_button, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (lower_hbox), shell->hsb, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (lower_hbox), shell->nav_ebox, FALSE, FALSE, 0);
@ -994,7 +957,7 @@ gimp_display_shell_new (GimpDisplay *gdisp,
if (shell->options->show_rulers)
{
gtk_widget_show (shell->origin);
gtk_widget_show (shell->origin_button);
gtk_widget_show (shell->hrule);
gtk_widget_show (shell->vrule);
}
@ -1005,8 +968,8 @@ gimp_display_shell_new (GimpDisplay *gdisp,
{
gtk_widget_show (shell->vsb);
gtk_widget_show (shell->hsb);
gtk_widget_show (shell->padding_button);
gtk_widget_show (shell->qmask);
gtk_widget_show (shell->zoom_button);
gtk_widget_show (shell->qmask_button);
gtk_widget_show (shell->nav_ebox);
}

View file

@ -90,29 +90,33 @@ struct _GimpDisplayShell
gint disp_xoffset;
gint disp_yoffset;
gboolean proximity; /* is a device in proximity */
gboolean proximity; /* is a device in proximity */
gboolean snap_to_guides; /* should the guides be snapped to? */
gboolean snap_to_grid; /* should the grid be snapped to? */
Selection *select; /* Selection object */
GtkAdjustment *hsbdata; /* adjustments */
GtkAdjustment *vsbdata;
GtkWidget *canvas; /* GimpCanvas widget */
GdkGC *grid_gc; /* GC for grid drawing */
GtkAdjustment *hsbdata; /* adjustments */
GtkAdjustment *vsbdata;
GtkWidget *hsb; /* scroll bars */
GtkWidget *vsb;
GtkWidget *qmask; /* qmask button */
GtkWidget *hrule; /* rulers */
GtkWidget *vrule;
GtkWidget *origin; /* origin button */
GtkWidget *origin_button; /* NW: origin button */
GtkWidget *qmask_button; /* SW: qmask button */
GtkWidget *zoom_button; /* NE: zoom toggle button */
GtkWidget *nav_ebox; /* SE: navigation event box */
GtkWidget *menubar; /* menubar */
GtkWidget *statusbar; /* statusbar */
guchar *render_buf; /* buffer for rendering the image */
guint title_idle_id; /* title update idle ID */
gint icon_size; /* size of the icon pixmap */
@ -131,11 +135,6 @@ struct _GimpDisplayShell
gint cursor_x; /* software cursor X value */
gint cursor_y; /* software cursor Y value */
gboolean show_transform_preview;
GtkWidget *padding_button; /* GimpColorPanel in the NE corner */
GtkWidget *nav_ebox; /* GtkEventBox on the SE corner */
GtkWidget *warning_dialog; /* close warning dialog */
InfoDialog *info_dialog; /* image information dialog */
GtkWidget *scale_dialog; /* scale (zoom) dialog */
@ -146,14 +145,16 @@ struct _GimpDisplayShell
guint filter_idle_id;
GtkWidget *filters_dialog;/* color display filter dialog */
GdkWindowState window_state; /* for fullscreen display */
gint paused_count;
GQuark vectors_freeze_handler;
GQuark vectors_thaw_handler;
GQuark vectors_visible_handler;
GdkWindowState window_state; /* for fullscreen display */
gboolean zoom_on_resize;
gboolean show_transform_preview;
GimpDisplayOptions *options;
GimpDisplayOptions *fullscreen_options;

View file

@ -90,6 +90,7 @@
#define GIMP_HELP_VIEW_SHOW_RULERS "gimp-view-show-rulers"
#define GIMP_HELP_VIEW_SHOW_SCROLLBARS "gimp-view-show-scrollbars"
#define GIMP_HELP_VIEW_SHOW_STATUSBAR "gimp-view-show-statusbar"
#define GIMP_HELP_VIEW_PADDING_COLOR "gimp-view-padding-color"
#define GIMP_HELP_VIEW_SHRINK_WRAP "gimp-view-shrink-wrap"
#define GIMP_HELP_VIEW_FULLSCREEN "gimp-view-fullscreen"
#define GIMP_HELP_VIEW_CHANGE_SCREEN "gimp-view-change-screen"
@ -97,6 +98,7 @@
#define GIMP_HELP_IMAGE_WINDOW "gimp-image-window"
#define GIMP_HELP_IMAGE_WINDOW_ORIGIN_BUTTON "gimp-image-window-origin-button"
#define GIMP_HELP_IMAGE_WINDOW_PADDING_BUTTON "gimp-image-window-padding-button"
#define GIMP_HELP_IMAGE_WINDOW_ZOOM_FOLLOW_BUTTON "gimp-image-window-zoom-follow-button"
#define GIMP_HELP_IMAGE_WINDOW_QMASK_BUTTON "gimp-image-window-qmask-button"
#define GIMP_HELP_IMAGE_WINDOW_NAV_BUTTON "gimp-image-window-nav-button"
#define GIMP_HELP_IMAGE_WINDOW_RULER "gimp-image-window-ruler"

View file

@ -496,6 +496,7 @@ gimp_stock_menu_pixbufs[] =
{ GIMP_STOCK_MOVE_TO_SCREEN, stock_move_to_screen_16 },
{ GIMP_STOCK_DEFAULT_COLORS, stock_default_colors_12 },
{ GIMP_STOCK_SWAP_COLORS, stock_swap_colors_12 },
{ GIMP_STOCK_ZOOM_FOLLOW_WINDOW, stock_zoom_follow_window_12 },
{ GIMP_STOCK_GRADIENT_LINEAR, stock_gradient_linear_16 },
{ GIMP_STOCK_GRADIENT_BILINEAR, stock_gradient_bilinear_16 },

View file

@ -191,6 +191,7 @@ G_BEGIN_DECLS
#define GIMP_STOCK_MOVE_TO_SCREEN "gimp_move-to-screen"
#define GIMP_STOCK_DEFAULT_COLORS "gimp-default-colors"
#define GIMP_STOCK_SWAP_COLORS "gimp-swap-colors"
#define GIMP_STOCK_ZOOM_FOLLOW_WINDOW "gimp-zoom-follow-window"
#define GIMP_STOCK_TOOLS "gimp-tools"
#define GIMP_STOCK_TOOL_OPTIONS "gimp-tool-options"

View file

@ -203,6 +203,14 @@
<menuitem action="view-snap-to-guides" />
<menuitem action="view-show-grid" />
<menuitem action="view-snap-to-grid" />
<menu action="view-padding-color-menu" name="Padding color">
<menuitem action="view-padding-color-theme" />
<menuitem action="view-padding-color-light-check" />
<menuitem action="view-padding-color-dark-check" />
<menuitem action="view-padding-color-custom" />
<separator />
<menuitem action="view-padding-color-prefs" />
</menu>
<separator />
<menuitem action="view-show-menubar" />
<menuitem action="view-show-rulers" />

View file

@ -117,7 +117,8 @@ STOCK_MENU_IMAGES = \
stock-video-16.png \
stock-warning-16.png \
stock-wilber-16.png \
stock-web-16.png
stock-web-16.png \
stock-zoom-follow-window-12.png
STOCK_BUTTON_IMAGES = \
stock-anchor-16.png \

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B