Move marker load/save code to Serializer and fix build issues. Copy/paste not working

This commit is contained in:
Thomas Wilshaw
2022-01-30 13:36:11 +00:00
parent 02b9a38737
commit fed62246e6
6 changed files with 29 additions and 62 deletions
-48
View File
@@ -93,27 +93,6 @@ void TimelineMarker::set_active(bool active)
emit ActiveChanged(active_);
}
void TimelineMarker::Save(QXmlStreamWriter* writer) const
{
writer->writeStartElement(QStringLiteral("marker"));
writer->writeAttribute(QStringLiteral("name"), name_);
writer->writeAttribute(QStringLiteral("color"), QString::number(color_));
writer->writeAttribute(QStringLiteral("in"), time_.in().toString());
writer->writeAttribute(QStringLiteral("out"), time_.out().toString());
writer->writeEndElement(); // marker
}
void TimelineMarkerList::Save(QXmlStreamWriter *writer) const
{
foreach (TimelineMarker* marker, markers_) {
marker->Save(writer);
}
}
TimelineMarkerList::~TimelineMarkerList()
{
@@ -150,31 +129,4 @@ const QList<TimelineMarker*> &TimelineMarkerList::list() const
return markers_;
}
void TimelineMarkerList::Load(QXmlStreamReader *reader)
{
while (XMLReadNextStartElement(reader)) {
if (reader->name() == QStringLiteral("marker")) {
QString name;
int color = -1;
rational in, out;
XMLAttributeLoop(reader, attr) {
if (attr.name() == QStringLiteral("name")) {
name = attr.value().toString();
}else if(attr.name() == QStringLiteral("color")){
color = attr.value().toInt();
} 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, color);
}
reader->skipCurrentElement();
}
}
}
+1 -2
View File
@@ -48,7 +48,6 @@ public:
void set_active(bool active);
void Load(QXmlStreamReader* reader);
void Save(QXmlStreamWriter* writer) const;
public slots:
void set_name_undo(QString name);
@@ -82,7 +81,7 @@ public:
virtual ~TimelineMarkerList() override;
TimelineMarker *AddMarker(const TimeRange& time = TimeRange(), const QString& name = QString(), int color = -1);
TimelineMarker* AddMarker(const TimeRange& time = TimeRange(), const QString& name = QString(), int color = -1);
void RemoveMarker(TimelineMarker* marker);