Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2006-11-30 04:57:14 +0300
committerJoshua Leung <aligorith@gmail.com>2006-11-30 04:57:14 +0300
commitd310f203da61eedf01d43f5c8690e8a58d5a584c (patch)
tree607b22c7e288f6e86a653a0c695d6654a8063d1f /source/blender/src/space.c
parent2572b9f72c8f10b01de949e59b481ac5a587aca4 (diff)
Big Commit.
Now time-markers work in all time-related spaces (i.e. Ipo, Action Editor, NLA editor, TimeLine, Sound). The hotkeys and functionality set should be the same for each of these modes (with a few exceptions still). I've had to change a few hotkeys here and there, so hopefully they aren't too bad. Marker Operations: MKEY - Add Marker SHIFT MKEY - Rename marker (was CTRL MKEY) XKEY - Delete Marker PAGE UP - Jump to next marker PAGE DOWN - Jump to previous marker CTRL A - Select all markers SHIFT G - Transform markers (NLA, IPO, Action) G - Transform markers (Sound, Timeline) CTRL SHIFT D - Duplicate markers (NLA, IPO, Action) SHIFT D - Duplicate markers (Sound, Timeline) BKEY - select markers and other keyframes (if any) I've also made a few little tool additions to NLA and Action editors: * NLA editor - Snap To Frame. Now with the option to offset strip so that it starts at the current frame. Added menus for this. * Action editor - Snap To Frame A few new menus for this too
Diffstat (limited to 'source/blender/src/space.c')
-rw-r--r--source/blender/src/space.c98
1 files changed, 74 insertions, 24 deletions
diff --git a/source/blender/src/space.c b/source/blender/src/space.c
index d6307c7e284..1f5131ecdea 100644
--- a/source/blender/src/space.c
+++ b/source/blender/src/space.c
@@ -135,6 +135,7 @@
#include "BSE_filesel.h"
#include "BSE_headerbuttons.h"
#include "BSE_editnla_types.h"
+#include "BSE_time.h"
#include "BDR_vpaint.h"
#include "BDR_editmball.h"
@@ -1871,9 +1872,14 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
selectrow_nurb();
}
else if(G.qual==LR_CTRLKEY) {
- if (G.obedit->type==OB_MESH)
+ if (G.obedit->type==OB_MESH) {
CutEdgeloop(1);
BIF_undo_push("Cut Edgeloop");
+ }
+ //else if (G.obedit->type==OB_ARMATURE) {
+ // initTransform(TFM_BONE_ROLL, CTX_NONE);
+ // Transform();
+ //}
}
else if((G.qual==0)) {
initTransform(TFM_ROTATION, CTX_NONE);
@@ -2342,8 +2348,11 @@ static void winqreadipospace(ScrArea *sa, void *spacedata, BWinEvent *evt)
break;
case RIGHTMOUSE:
mouse_select_ipo();
- allqueue (REDRAWACTION, 0);
+ allqueue(REDRAWTIME, 0);
+ allqueue(REDRAWIPO, 0);
+ allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
+ allqueue(REDRAWSOUND, 0);
break;
case MIDDLEMOUSE:
if(in_ipo_buttons()) {
@@ -2364,16 +2373,20 @@ static void winqreadipospace(ScrArea *sa, void *spacedata, BWinEvent *evt)
doredraw= 1;
break;
case PAGEUPKEY:
- if(G.qual==LR_CTRLKEY)
+ if(G.qual & LR_CTRLKEY)
movekey_ipo(1);
- else if((G.qual==0))
+ else if(G.qual & LR_SHIFTKEY)
nextkey_ipo(1);
+ else
+ nextprev_marker(1);
break;
case PAGEDOWNKEY:
- if(G.qual==LR_CTRLKEY)
+ if(G.qual & LR_CTRLKEY)
movekey_ipo(-1);
- else if((G.qual==0))
+ else if(G.qual & LR_SHIFTKEY)
nextkey_ipo(-1);
+ else
+ nextprev_marker(-1);
break;
case HOMEKEY:
if((G.qual==0))
@@ -2381,7 +2394,15 @@ static void winqreadipospace(ScrArea *sa, void *spacedata, BWinEvent *evt)
break;
case AKEY:
- if((G.qual==0)) {
+ if (G.qual & LR_CTRLKEY) {
+ deselect_markers(1, 0);
+ allqueue(REDRAWTIME, 0);
+ allqueue(REDRAWIPO, 0);
+ allqueue(REDRAWACTION, 0);
+ allqueue(REDRAWNLA, 0);
+ allqueue(REDRAWSOUND, 0);
+ }
+ else if (G.qual==0) {
if(in_ipo_buttons()) {
swap_visible_editipo();
}
@@ -2392,37 +2413,42 @@ static void winqreadipospace(ScrArea *sa, void *spacedata, BWinEvent *evt)
allqueue (REDRAWNLA, 0);
allqueue (REDRAWACTION, 0);
}
+
break;
case BKEY:
- if((G.qual==0))
+ if (G.qual==0)
borderselect_ipo();
break;
case CKEY:
- if((G.qual==0))
+ if (G.qual==0)
move_to_frame();
break;
case DKEY:
- if((G.qual==LR_SHIFTKEY))
+ if (G.qual==LR_SHIFTKEY)
add_duplicate_editipo();
+ else if (G.qual == (LR_CTRLKEY|LR_SHIFTKEY))
+ duplicate_marker();
break;
case GKEY:
- if((G.qual==0))
+ if (G.qual & LR_SHIFTKEY)
+ transform_markers('g', 0);
+ else if (G.qual==0)
transform_ipo('g');
break;
case HKEY:
- if(G.qual==LR_ALTKEY)
+ if (G.qual==LR_ALTKEY)
sethandles_ipo(HD_AUTO_ANIM);
- if(G.qual==LR_SHIFTKEY)
+ if (G.qual==LR_SHIFTKEY)
sethandles_ipo(HD_AUTO);
- else if(G.qual==0)
+ else if (G.qual==0)
sethandles_ipo(HD_ALIGN);
break;
case JKEY:
- if((G.qual==LR_CTRLKEY))
+ if (G.qual==LR_CTRLKEY)
join_ipo_menu();
break;
case KKEY:
- if((G.qual==0)) {
+ if (G.qual==0) {
ipo_toggle_showkey();
scrarea_queue_headredraw(curarea);
allqueue(REDRAWVIEW3D, 0);
@@ -2430,40 +2456,64 @@ static void winqreadipospace(ScrArea *sa, void *spacedata, BWinEvent *evt)
}
break;
case MKEY:
- if((G.qual==0))
+ if (G.qual==LR_CTRLKEY) {
ipo_mirror_menu();
+ break;
+ }
+ if (G.qual == 0)
+ add_marker(CFRA);
+ else if (G.qual == LR_SHIFTKEY)
+ rename_marker();
+ else
+ break;
+ allqueue(REDRAWTIME, 0);
+ allqueue(REDRAWIPO, 0);
+ allqueue(REDRAWACTION, 0);
+ allqueue(REDRAWNLA, 0);
+ allqueue(REDRAWSOUND, 0);
break;
case NKEY:
toggle_blockhandler(sa, IPO_HANDLER_PROPERTIES, UI_PNL_TO_MOUSE);
doredraw= 1;
break;
case OKEY:
- if(G.qual==LR_SHIFTKEY)
+ if (G.qual==LR_SHIFTKEY)
smooth_ipo();
else
clean_ipo(sipo->ipo, 1);
break;
case RKEY:
- if((G.qual==0))
+ if (G.qual==0)
ipo_record();
break;
case SKEY:
- if((G.qual==LR_SHIFTKEY)) {
+ if (G.qual==LR_SHIFTKEY) {
ipo_snap_menu();
- } else if((G.qual==0))
+ }
+ else if (G.qual==0)
transform_ipo('s');
break;
case TKEY:
- if((G.qual==0))
+ if (G.qual==0)
set_ipotype();
break;
case VKEY:
- if((G.qual==0))
+ if (G.qual==0)
sethandles_ipo(HD_VECT);
break;
case XKEY:
case DELKEY:
- del_ipo();
+ val= pupmenu("Erase selected%t|Keys %x1|Markers %x2");
+ if (val == 1)
+ del_ipo(0);
+ else if (val == 2) {
+ remove_marker();
+ allqueue(REDRAWTIME, 0);
+ allqueue(REDRAWIPO, 0);
+ allqueue(REDRAWACTION, 0);
+ allqueue(REDRAWNLA, 0);
+ allqueue(REDRAWSOUND, 0);
+ }
break;
}
}