On Tue, May 25, 2010 at 8:05 PM, Dieki N <[email protected]> wrote:
> I've created a patch to improve the behavior of brush size > increase\decrease keyboard shortcuts, particularly at small sizes and large > sizes. The old behavior increased\decreased the brush size by a fixed value > (0.10), which worked fine at medium sizes, and reasonably well at large > sizes (since you could hold down the keyboard shortcut to get a lot of > change), but completely broke down at sizes underneath 0.20, since you > tended to have two options; too big or too small. (Or, when under 0.10, none > at all!) > > This patch sets the increment according to the following rules: > > If <brush size> is greater than 2, it increments by 0.20. > If <brush size> is less than 2 but greater than 0.50, it increments by > 0.10. > If <brush size> is less than 0.50 but greater than 0.10, it increments by > 0.05. > If <brush size> is less than 0.10, it increments by 0.01. > > I've tested this in my own use over the last couple weeks, and it seems > most helpful, particularly when masking fine details. This patch is against > Master. > > Dieki > > Maybe it would help if I actually attached the patch. :) Here it is.
From e44c784d2f66a24c5bd9af6cefd868e60b9e07a7 Mon Sep 17 00:00:00 2001 From: Dieki <[email protected]> Date: Sat, 8 May 2010 06:58:34 -0500 Subject: [PATCH] Make the brush size shortcuts kinda logarithmic. When brush size is above 2, increment\decrement by .2; when between .5 and 2, increment and decrement by .1; when between .1 and .5, increment and decrement by .05; and when under .1, increment and decrement by .01. This makes it a lot easier to change brush sizes with keyboard at small brush sizes. --- app/actions/tools-commands.c | 17 ++++++++++++++++- 1 files changed, 16 insertions(+), 1 deletions(-) diff --git a/app/actions/tools-commands.c b/app/actions/tools-commands.c index c06e38e..07722bd 100644 --- a/app/actions/tools-commands.c +++ b/app/actions/tools-commands.c @@ -136,11 +136,26 @@ tools_paint_brush_scale_cmd_callback (GtkAction *action, if (tool_info && GIMP_IS_PAINT_OPTIONS (tool_info->tool_options)) { + gdouble old_value; + gdouble increment; + + g_object_get (G_OBJECT (tool_info->tool_options), "brush-scale", &old_value, NULL); + increment = .20; + if (value == GIMP_ACTION_SELECT_NEXT) { + if (old_value <= 2) increment = .1; + if (old_value <= .5) increment = .05; + if (old_value <= .1) increment = .01; + } + else if (value == GIMP_ACTION_SELECT_PREVIOUS) { + if (old_value <= 2.20) increment = .1; + if (old_value <= .6) increment = .05; + if (old_value <= .15) increment = .01; + } action_select_property ((GimpActionSelectType) value, action_data_get_display (data), G_OBJECT (tool_info->tool_options), "brush-scale", - 0.01, 0.1, 1.0, FALSE); + 0.01, increment, 1.0, FALSE); } } -- 1.7.0.4
_______________________________________________ Gimp-developer mailing list [email protected] https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
