As discussed in meeting, fixing Numinput annoyance in transform.

Numpad Minus can now be used all the time to type negative numbers, without interfering with PET.

WARNING Behavior change: PET area of effect is not resized with Alt-Num+ and Alt-Num- (in addition to the scrollwheel)

WARNING testing needed: it's late and the laptop here has a funny emulated numpad, so better be tested on a real keyboard by someone who is not coding past midnight.
This commit is contained in:
Martin Poirier 2005-06-05 14:26:45 +00:00
parent c00adc5ff8
commit 1dd02d4cf9
2 changed files with 19 additions and 2 deletions

@ -387,8 +387,14 @@ static void transformEvent(unsigned short event, short val) {
Trans.redraw= 1; Trans.redraw= 1;
} }
break; break;
case WHEELDOWNMOUSE:
case PADPLUSKEY: case PADPLUSKEY:
if(G.qual & LR_ALTKEY && Trans.flag & T_PROP_EDIT) {
Trans.propsize*= 1.1f;
calculatePropRatio(&Trans);
}
Trans.redraw= 1;
break;
case WHEELDOWNMOUSE:
if(Trans.flag & T_PROP_EDIT) { if(Trans.flag & T_PROP_EDIT) {
Trans.propsize*= 1.1f; Trans.propsize*= 1.1f;
calculatePropRatio(&Trans); calculatePropRatio(&Trans);
@ -396,8 +402,14 @@ static void transformEvent(unsigned short event, short val) {
else view_editmove(event); else view_editmove(event);
Trans.redraw= 1; Trans.redraw= 1;
break; break;
case WHEELUPMOUSE:
case PADMINUS: case PADMINUS:
if(G.qual & LR_ALTKEY && Trans.flag & T_PROP_EDIT) {
Trans.propsize*= 0.90909090f;
calculatePropRatio(&Trans);
}
Trans.redraw= 1;
break;
case WHEELUPMOUSE:
if(Trans.flag & T_PROP_EDIT) { if(Trans.flag & T_PROP_EDIT) {
Trans.propsize*= 0.90909090f; Trans.propsize*= 0.90909090f;
calculatePropRatio(&Trans); calculatePropRatio(&Trans);

@ -46,6 +46,8 @@
#include "MEM_guardedalloc.h" #include "MEM_guardedalloc.h"
#include "BKE_global.h" /* for G */
#include "blendef.h" #include "blendef.h"
#include "mydevice.h" #include "mydevice.h"
@ -176,6 +178,9 @@ char handleNumInput(NumInput *n, unsigned short event)
n->ctrl[idx] = -10; n->ctrl[idx] = -10;
} }
break; break;
case PADMINUS:
if(G.qual & LR_ALTKEY)
break;
case MINUSKEY: case MINUSKEY:
if (n->flag & NUM_NO_NEGATIVE) if (n->flag & NUM_NO_NEGATIVE)
break; break;