From f7e8da6f5a5353c20a229e74d768384b5b1e5794 Mon Sep 17 00:00:00 2001 From: Antony Riakiotakis Date: Fri, 30 Jan 2015 15:13:59 +0100 Subject: [PATCH] Proxy enable operator: * Enable operator for proxies now becomes set operator for selected and can unset-set all options. * Properties become read-only labels, only use operator to set proxies. --- .../scripts/startup/bl_ui/space_sequencer.py | 21 +++++++++++++---- .../editors/space_sequencer/sequencer_edit.c | 23 +++++++++++++++---- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py index bcf3db57273..834973a9a36 100644 --- a/release/scripts/startup/bl_ui/space_sequencer.py +++ b/release/scripts/startup/bl_ui/space_sequencer.py @@ -924,12 +924,23 @@ class SEQUENCER_PT_proxy(SequencerButtonsPanel, Panel): if strip.use_proxy_custom_file: flow.prop(strip.proxy, "filepath") + layout.label("Enabled Proxies:") + enabled = "" row = layout.row() - row.prop(strip.proxy, "build_25") - row.prop(strip.proxy, "build_50") - row.prop(strip.proxy, "build_75") - row.prop(strip.proxy, "build_100") - layout.prop(strip.proxy, "use_overwrite") + if (strip.proxy.build_25): + enabled += "25% " + if (strip.proxy.build_50): + enabled += "50% " + if (strip.proxy.build_75): + enabled += "75% " + if (strip.proxy.build_100): + enabled += "100% " + + row.label(enabled) + if (strip.proxy.use_overwrite): + layout.label("Overwrite On") + else: + layout.label("Overwrite Off") col = layout.column() col.label(text="Build JPEG quality") diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 0fd3a4dd4aa..a05cbfffb9f 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -3414,30 +3414,43 @@ static int sequencer_enable_proxies_exec(bContext *C, wmOperator *op) bool proxy_75 = RNA_boolean_get(op->ptr, "proxy_75"); bool proxy_100 = RNA_boolean_get(op->ptr, "proxy_100"); bool override = RNA_boolean_get(op->ptr, "override"); + bool turnon = true; if (ed == NULL || !(proxy_25 || proxy_50 || proxy_75 || proxy_100)) { - return OPERATOR_FINISHED; + turnon = false; } SEQP_BEGIN(ed, seq) { if ((seq->flag & SELECT)) { if (seq->type == SEQ_TYPE_MOVIE) { - if (!seq->strip->proxy) { - BKE_sequencer_proxy_set(seq, true); - } + BKE_sequencer_proxy_set(seq, turnon); if (proxy_25) seq->strip->proxy->build_size_flags |= SEQ_PROXY_IMAGE_SIZE_25; + else + seq->strip->proxy->build_size_flags &= ~SEQ_PROXY_IMAGE_SIZE_25; + if (proxy_50) seq->strip->proxy->build_size_flags |= SEQ_PROXY_IMAGE_SIZE_50; + else + seq->strip->proxy->build_size_flags &= ~SEQ_PROXY_IMAGE_SIZE_50; + if (proxy_75) seq->strip->proxy->build_size_flags |= SEQ_PROXY_IMAGE_SIZE_75; + else + seq->strip->proxy->build_size_flags &= ~SEQ_PROXY_IMAGE_SIZE_75; + if (proxy_100) seq->strip->proxy->build_size_flags |= SEQ_PROXY_IMAGE_SIZE_100; + else + seq->strip->proxy->build_size_flags &= ~SEQ_PROXY_IMAGE_SIZE_100; + if (!override) seq->strip->proxy->build_flags |= SEQ_PROXY_SKIP_EXISTING; + else + seq->strip->proxy->build_flags &= ~SEQ_PROXY_SKIP_EXISTING; } } } @@ -3451,7 +3464,7 @@ static int sequencer_enable_proxies_exec(bContext *C, wmOperator *op) void SEQUENCER_OT_enable_proxies(wmOperatorType *ot) { /* identifiers */ - ot->name = "Enable Proxies"; + ot->name = "Set Selected Strip Proxies"; ot->idname = "SEQUENCER_OT_enable_proxies"; ot->description = "Enable selected proxies on all selected Movie strips";