Drop AssOverrideParameter::omitted since it's equivalent to the type being VARDATA_NONE
This commit is contained in:
parent
d2a0a76ca9
commit
8cf47c38b6
5 changed files with 5 additions and 14 deletions
|
@ -52,14 +52,12 @@ using namespace boost::adaptors;
|
|||
|
||||
AssOverrideParameter::AssOverrideParameter()
|
||||
: classification(PARCLASS_NORMAL)
|
||||
, omitted(false)
|
||||
{
|
||||
}
|
||||
|
||||
AssOverrideParameter::AssOverrideParameter(AssOverrideParameter&& o)
|
||||
: VariableData(std::move(o))
|
||||
, classification(o.classification)
|
||||
, omitted(o.omitted)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -101,7 +99,7 @@ wxString AssDialogueBlockOverride::GetText() {
|
|||
void AssDialogueBlockOverride::ProcessParameters(ProcessParametersCallback callback, void *userData) {
|
||||
for (auto tag : Tags) {
|
||||
for (auto& par : tag->Params) {
|
||||
if (par.GetType() == VARDATA_NONE || par.omitted) continue;
|
||||
if (par.GetType() == VARDATA_NONE) continue;
|
||||
|
||||
callback(tag->Name, &par, userData);
|
||||
|
||||
|
@ -366,10 +364,8 @@ void AssOverrideTag::ParseParameters(const wxString &text, AssOverrideTagProto::
|
|||
newparam->classification = curproto.classification;
|
||||
|
||||
// Check if it's optional and not present
|
||||
if (!(curproto.optional & parsFlag) || curPar >= totalPars) {
|
||||
newparam->omitted = true;
|
||||
if (!(curproto.optional & parsFlag) || curPar >= totalPars)
|
||||
continue;
|
||||
}
|
||||
|
||||
wxString curtok = paramList[curPar++];
|
||||
|
||||
|
@ -429,7 +425,7 @@ AssOverrideTag::operator wxString() const {
|
|||
|
||||
// Add parameters
|
||||
result += join(Params
|
||||
| filtered([](AssOverrideParameter const& p) { return p.GetType() != VARDATA_NONE && !p.omitted; })
|
||||
| filtered([](AssOverrideParameter const& p) { return p.GetType() != VARDATA_NONE; })
|
||||
| transformed(param_str),
|
||||
wxS(","));
|
||||
|
||||
|
|
|
@ -73,9 +73,6 @@ public:
|
|||
/// Type of parameter
|
||||
AssParameterClass classification;
|
||||
|
||||
/// Is the parameter's value actually given?
|
||||
bool omitted;
|
||||
|
||||
AssOverrideParameter();
|
||||
};
|
||||
|
||||
|
|
|
@ -248,7 +248,6 @@ void set_tag(AssDialogue *line, boost::ptr_vector<AssDialogueBlock> &blocks, wxS
|
|||
}
|
||||
else {
|
||||
ovr->Tags[i]->Params[0].Set(value);
|
||||
ovr->Tags[i]->Params[0].omitted = false;
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -130,7 +130,7 @@ namespace
|
|||
italic = t->Params[0].Get<bool>(style_italic);
|
||||
else if (t->Name == "\\an")
|
||||
align = t->Params[0].Get<int>(align);
|
||||
else if (t->Name == "\\a" && !t->Params[0].omitted)
|
||||
else if (t->Name == "\\a" && t->Params[0].GetType() != VARDATA_NONE)
|
||||
align = AssStyle::SsaToAss(t->Params[0].Get<int>());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -373,7 +373,6 @@ static param_vec find_tag(boost::ptr_vector<AssDialogueBlock>& blocks, wxString
|
|||
static Vector2D vec_or_bad(param_vec tag, size_t x_idx, size_t y_idx) {
|
||||
if (!tag ||
|
||||
tag->size() <= x_idx || tag->size() <= y_idx ||
|
||||
(*tag)[x_idx].omitted || (*tag)[y_idx].omitted ||
|
||||
(*tag)[x_idx].GetType() == VARDATA_NONE || (*tag)[y_idx].GetType() == VARDATA_NONE)
|
||||
{
|
||||
return Vector2D();
|
||||
|
@ -402,7 +401,7 @@ Vector2D VisualToolBase::GetLinePosition(AssDialogue *diag) {
|
|||
|
||||
param_vec align_tag;
|
||||
int ovr_align = 0;
|
||||
if ((align_tag = find_tag(blocks, "\\an")) && !(*align_tag)[0].omitted)
|
||||
if ((align_tag = find_tag(blocks, "\\an")) && (*align_tag)[0].GetType() != VARDATA_NONE)
|
||||
ovr_align = (*align_tag)[0].Get<int>();
|
||||
else if ((align_tag = find_tag(blocks, "\\a")))
|
||||
ovr_align = AssStyle::SsaToAss((*align_tag)[0].Get<int>(2));
|
||||
|
|
Loading…
Reference in a new issue