Skip to content
Extraits de code Groupes Projets
Valider 1655e89c rédigé par Elliu's avatar Elliu
Parcourir les fichiers

Use Ass::Line getters/setters instead of pointers

parent c54ee904
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!29Improve timingView with display of the ASS lines
......@@ -158,3 +158,9 @@ Line::getContentAsText() const noexcept
{
return ___contentAsText;
}
void
Line::setContent(const QVector<Syl>& syls) noexcept
{
content = syls;
}
......@@ -43,6 +43,7 @@ public:
StyleProperties getStyleProperties() const noexcept;
StyleWeakPtr getStyle() const noexcept;
const QVector<Syl> &getContent() const noexcept;
void setContent(const QVector<Syl>&) noexcept;
QVector<Syl> *getContentPtr() noexcept; // FIXME: remove me
......
......@@ -112,7 +112,7 @@ qreal
TimingLine::requestMove(int sepIndex, qreal x)
{
QRectF sceneRect = mapRectFromScene(scene()->sceneRect());
QVector<Ass::Syl> *syls = line.getContentPtr();
QVector<Ass::Syl> syls = line.getContent();
qreal ret = x;
qreal mini, maxi;
......@@ -121,7 +121,7 @@ TimingLine::requestMove(int sepIndex, qreal x)
prepareGeometryChange();
mini = sceneRect.left();
maxi = sepIndex < syls->size() - 1 ? timingSyls[sepIndex + 1]->pos().x()
maxi = sepIndex < syls.size() - 1 ? timingSyls[sepIndex + 1]->pos().x()
: TimingUtils::posFromMs(int(line.getDuration()) * 10);
if (ret < mini)
......@@ -132,14 +132,14 @@ TimingLine::requestMove(int sepIndex, qreal x)
tempOffset = ret;
quint64 dur1 = quint64(TimingUtils::msFromPos(int(seps[1]->pos().x() - ret)) / 10);
(*syls)[0].setDuration(dur1);
syls[0].setDuration(dur1);
timingSyls[0]->setLen(dur1);
timingSyls[0]->setPos(ret, 0);
line.setStart(
quint64(TimingUtils::msFromPos(mapToScene(seps[0]->pos().x(), 0).x()) / 10));
}
else if (sepIndex >= syls->size()) {
else if (sepIndex >= syls.size()) {
prepareGeometryChange();
mini = timingSyls[sepIndex - 1]->pos().x();
......@@ -152,14 +152,14 @@ TimingLine::requestMove(int sepIndex, qreal x)
quint64 dur2 =
quint64(TimingUtils::msFromPos(int(ret - timingSyls[sepIndex - 1]->pos().x())) / 10);
(*syls)[sepIndex - 1].setDuration(dur2);
syls[sepIndex - 1].setDuration(dur2);
timingSyls[sepIndex - 1]->setLen(dur2);
line.setEnd(line.getStart() + quint64(TimingUtils::msFromPos(int(ret)) / 10));
}
else {
mini = timingSyls[sepIndex - 1]->pos().x();
maxi = sepIndex < syls->size() - 1 ? timingSyls[sepIndex + 1]->pos().x()
maxi = sepIndex < syls.size() - 1 ? timingSyls[sepIndex + 1]->pos().x()
: TimingUtils::posFromMs(int(line.getDuration() * 10));
if (ret < mini)
......@@ -167,7 +167,7 @@ TimingLine::requestMove(int sepIndex, qreal x)
if (ret > maxi)
ret = maxi;
quint64 sumDur = (*syls)[sepIndex].getDuration() + (*syls)[sepIndex - 1].getDuration();
quint64 sumDur = syls[sepIndex].getDuration() + syls[sepIndex - 1].getDuration();
quint64 dur1 = quint64(
TimingUtils::msFromPos(int(ret) - int(timingSyls[sepIndex - 1]->pos().x())) / 10);
if (dur1 > sumDur) {
......@@ -175,13 +175,15 @@ TimingLine::requestMove(int sepIndex, qreal x)
}
quint64 dur2 = sumDur - dur1;
(*syls)[sepIndex - 1].setDuration(dur1);
(*syls)[sepIndex].setDuration(dur2);
syls[sepIndex - 1].setDuration(dur1);
syls[sepIndex].setDuration(dur2);
timingSyls[sepIndex - 1]->setLen(dur1);
timingSyls[sepIndex]->setPos(ret, 0);
timingSyls[sepIndex]->setLen(dur2);
}
line.setContent(syls);
return ret;
}
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter