From 55cbcd125dd9d3cf29f1a0bcf6ac8ee194785e3f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 9 May 2008 08:01:27 +0000 Subject: [PATCH] [#10998] Sequencer: some new features missing from the menu items also added Shift+H for muting unselected and fixed a problem with marker selection not working in the sequencer (shift+rmb logic was reversed) --- source/blender/src/editseq.c | 15 ++++++++++----- source/blender/src/header_seq.c | 14 ++++++++++++-- source/blender/src/space.c | 4 +++- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/source/blender/src/editseq.c b/source/blender/src/editseq.c index bd1c265f2a1..50bd4d7c7f3 100644 --- a/source/blender/src/editseq.c +++ b/source/blender/src/editseq.c @@ -792,14 +792,13 @@ void mouse_select_seq(void) /* select timeline marker */ if (G.qual & LR_SHIFTKEY) { oldflag= marker->flag; - deselect_markers(0, 0); - if (oldflag & SELECT) marker->flag &= ~SELECT; else marker->flag |= SELECT; } else { + deselect_markers(0, 0); marker->flag |= SELECT; } allqueue(REDRAWMARKER, 0); @@ -3809,9 +3808,15 @@ void seq_mute_sel(int mute) { if(!ed) return; for(seq= ed->seqbasep->first; seq; seq= seq->next) { - if ((seq->flag & SELECT) && (seq->flag & SEQ_LOCK)==0) { - if (mute) seq->flag |= SEQ_MUTE; - else seq->flag &= ~SEQ_MUTE; + if ((seq->flag & SEQ_LOCK)==0) { + if (mute==-1) { /* hide unselected */ + if ((seq->flag & SELECT)==0) { + seq->flag |= SEQ_MUTE; + } + } else if (seq->flag & SELECT) { + if (mute) seq->flag |= SEQ_MUTE; + else seq->flag &= ~SEQ_MUTE; + } } } BIF_undo_push(mute?"Mute Strips, Sequencer":"UnMute Strips, Sequencer"); diff --git a/source/blender/src/header_seq.c b/source/blender/src/header_seq.c index 6648520cfff..b3d9ff8d563 100644 --- a/source/blender/src/header_seq.c +++ b/source/blender/src/header_seq.c @@ -194,6 +194,10 @@ static void do_seq_selectmenu(void *arg, int event) case 7: select_linked_seq(2); break; + case 8: + deselect_markers(1, 0); + allqueue(REDRAWMARKER, 0); + break; } } @@ -215,7 +219,9 @@ static uiBlock *seq_selectmenu(void *arg_unused) uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Border Select|B", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 0, ""); uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Linked|Ctrl L", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 7, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Select/Deselect All|A", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 1, ""); + uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Select/Deselect All Strips|A", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 1, ""); + uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Select/Deselect All Markers|Ctrl A", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 8, ""); + if(curarea->headertype==HEADERTOP) { uiBlockSetDirection(block, UI_DOWN); @@ -444,6 +450,9 @@ static void do_seq_editmenu(void *arg, int event) seq_mute_sel(0); break; case 22: + seq_mute_sel(-1); + break; + case 23: seq_cut(CFRA, 0); break; } @@ -468,7 +477,7 @@ static uiBlock *seq_editmenu(void *arg_unused) uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Cut (hard) at Current Frame|K", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 13, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Cut (soft) at Current Frame|Shift-K", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 22, ""); + uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Cut (soft) at Current Frame|Shift-K", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 23, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Separate Images to Strips|Y", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 16, ""); uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); @@ -519,6 +528,7 @@ static uiBlock *seq_editmenu(void *arg_unused) uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Unlock Strips...|Alt-Shift L", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 19, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Mute Strips...|H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 20, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Unmute Strips...|Alt H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 21, ""); + uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Mute Deselected Strips...|Shift H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 22, ""); if(curarea->headertype==HEADERTOP) { diff --git a/source/blender/src/space.c b/source/blender/src/space.c index 63836101d49..751cad1029d 100644 --- a/source/blender/src/space.c +++ b/source/blender/src/space.c @@ -5059,8 +5059,10 @@ static void winqreadseqspace(ScrArea *sa, void *spacedata, BWinEvent *evt) case HKEY: /* hide==mute? - not that nice but MKey us used for meta :/ */ if((G.qual==0)) { seq_mute_sel(1); - } else if((G.qual==LR_ALTKEY)) { + } else if(G.qual==LR_ALTKEY) { seq_mute_sel(0); + } else if(G.qual==LR_SHIFTKEY) { + seq_mute_sel(-1); } break; case XKEY: