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.
This commit is contained in:
Antonis Ryakiotakis 2015-01-30 15:13:59 +01:00
parent 7760e97c6b
commit f7e8da6f5a
2 changed files with 34 additions and 10 deletions

View File

@ -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")

View File

@ -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";