start implementing serializers

This commit is contained in:
itsmattkc
2022-01-12 08:48:31 -08:00
parent d8ccc62d51
commit 4ecce20c35
38 changed files with 2984 additions and 1329 deletions
-38
View File
@@ -53,20 +53,6 @@ void TimelineMarker::set_name(const QString &name)
emit NameChanged(name_);
}
void TimelineMarkerList::Save(QXmlStreamWriter *writer) const
{
foreach (TimelineMarker* marker, markers_) {
writer->writeStartElement(QStringLiteral("marker"));
writer->writeAttribute(QStringLiteral("name"), marker->name());
writer->writeAttribute(QStringLiteral("in"), marker->time().in().toString());
writer->writeAttribute(QStringLiteral("out"), marker->time().out().toString());
writer->writeEndElement(); // marker
}
}
TimelineMarkerList::~TimelineMarkerList()
{
qDeleteAll(markers_);
@@ -99,28 +85,4 @@ const QList<TimelineMarker*> &TimelineMarkerList::list() const
return markers_;
}
void TimelineMarkerList::Load(QXmlStreamReader *reader)
{
while (XMLReadNextStartElement(reader)) {
if (reader->name() == QStringLiteral("marker")) {
QString name;
rational in, out;
XMLAttributeLoop(reader, attr) {
if (attr.name() == QStringLiteral("name")) {
name = attr.value().toString();
} else if (attr.name() == QStringLiteral("in")) {
in = rational::fromString(attr.value().toString());
} else if (attr.name() == QStringLiteral("out")) {
out = rational::fromString(attr.value().toString());
}
}
AddMarker(TimeRange(in, out), name);
}
reader->skipCurrentElement();
}
}
}
-3
View File
@@ -67,9 +67,6 @@ public:
const QList<TimelineMarker *> &list() const;
void Load(QXmlStreamReader* reader);
void Save(QXmlStreamWriter* writer) const;
signals:
void MarkerAdded(TimelineMarker* marker);
-24
View File
@@ -39,30 +39,6 @@ const TimelineWorkArea *TimelinePoints::workarea() const
return &workarea_;
}
void TimelinePoints::Load(QXmlStreamReader *reader)
{
while (XMLReadNextStartElement(reader)) {
if (reader->name() == QStringLiteral("markers")) {
markers_.Load(reader);
} else if (reader->name() == QStringLiteral("workarea")) {
workarea_.Load(reader);
} else {
reader->skipCurrentElement();
}
}
}
void TimelinePoints::Save(QXmlStreamWriter *writer) const
{
writer->writeStartElement(QStringLiteral("workarea"));
workarea_.Save(writer);
writer->writeEndElement(); // workarea
writer->writeStartElement(QStringLiteral("markers"));
markers_.Save(writer);
writer->writeEndElement(); // markers
}
TimelineWorkArea *TimelinePoints::workarea()
{
return &workarea_;
-3
View File
@@ -40,9 +40,6 @@ public:
TimelineWorkArea* workarea();
const TimelineWorkArea* workarea() const;
void Load(QXmlStreamReader* reader);
void Save(QXmlStreamWriter* writer) const;
private:
TimelineMarkerList markers_;
-31
View File
@@ -55,37 +55,6 @@ void TimelineWorkArea::set_range(const TimeRange &range)
emit RangeChanged(workarea_range_);
}
void TimelineWorkArea::Load(QXmlStreamReader *reader)
{
rational range_in = workarea_range_.in();
rational range_out = workarea_range_.out();
XMLAttributeLoop(reader, attr) {
if (attr.name() == QStringLiteral("enabled")) {
set_enabled(attr.value() != QStringLiteral("0"));
} else if (attr.name() == QStringLiteral("in")) {
range_in = rational::fromString(attr.value().toString());
} else if (attr.name() == QStringLiteral("out")) {
range_out = rational::fromString(attr.value().toString());
}
}
TimeRange loaded_workarea(range_in, range_out);
if (loaded_workarea != workarea_range_) {
set_range(loaded_workarea);
}
reader->skipCurrentElement();
}
void TimelineWorkArea::Save(QXmlStreamWriter *writer) const
{
writer->writeAttribute(QStringLiteral("enabled"), QString::number(workarea_enabled_));
writer->writeAttribute(QStringLiteral("in"), workarea_range_.in().toString());
writer->writeAttribute(QStringLiteral("out"), workarea_range_.out().toString());
}
const rational &TimelineWorkArea::in() const
{
return workarea_range_.in();
-3
View File
@@ -44,9 +44,6 @@ public:
const TimeRange& range() const;
void set_range(const TimeRange& range);
void Load(QXmlStreamReader* reader);
void Save(QXmlStreamWriter* writer) const;
static const rational kResetIn;
static const rational kResetOut;