@@ -213,7 +213,7 @@ namespace KeeShareSettings
213213 }
214214 }
215215 } else {
216- qWarning (" Unknown KeeShareSettings element %s" , qPrintable (reader.name ().toString ()));
216+ qDebug (" Unknown KeeShareSettings element %s" , qPrintable (reader.name ().toString ()));
217217 reader.skipCurrentElement ();
218218 }
219219 }
@@ -253,7 +253,7 @@ namespace KeeShareSettings
253253 } else if (reader.name () == " PublicKey" ) {
254254 own.certificate = Certificate::deserialize (reader);
255255 } else {
256- qWarning (" Unknown KeeShareSettings element %s" , qPrintable (reader.name ().toString ()));
256+ qDebug (" Unknown KeeShareSettings element %s" , qPrintable (reader.name ().toString ()));
257257 reader.skipCurrentElement ();
258258 }
259259 }
@@ -262,8 +262,7 @@ namespace KeeShareSettings
262262 }
263263
264264 Reference::Reference ()
265- : type(Inactive)
266- , uuid(QUuid::createUuid())
265+ : uuid(QUuid::createUuid())
267266 {
268267 }
269268
@@ -320,15 +319,21 @@ namespace KeeShareSettings
320319 writer.writeStartElement (" Password" );
321320 writer.writeCharacters (reference.password .toUtf8 ().toBase64 ());
322321 writer.writeEndElement ();
323- writer.writeStartElement (" Recurse " );
324- writer.writeCharacters (reference.recurse ? " True" : " False" );
322+ writer.writeStartElement (" KeepGroups " );
323+ writer.writeCharacters (reference.keepGroups ? " True" : " False" );
325324 writer.writeEndElement ();
326325 });
327326 }
328327
329328 Reference Reference::deserialize (const QString& raw)
330329 {
330+ if (raw.isEmpty ()) {
331+ return {};
332+ }
333+
331334 Reference reference;
335+ // If KeepGroups is not present, default to false for backward compatibility
336+ reference.keepGroups = false ;
332337 xmlDeserialize (raw, [&](QXmlStreamReader& reader) {
333338 while (!reader.error () && reader.readNextStartElement ()) {
334339 if (reader.name () == " Type" ) {
@@ -349,10 +354,10 @@ namespace KeeShareSettings
349354 reference.path = QString::fromUtf8 (QByteArray::fromBase64 (reader.readElementText ().toLatin1 ()));
350355 } else if (reader.name () == " Password" ) {
351356 reference.password = QString::fromUtf8 (QByteArray::fromBase64 (reader.readElementText ().toLatin1 ()));
352- } else if (reader.name () == " Recurse " ) {
353- reference.recurse = reader.readElementText ().compare (" True" ) == 0 ;
357+ } else if (reader.name () == " KeepGroups " ) {
358+ reference.keepGroups = reader.readElementText ().compare (" True" ) == 0 ;
354359 } else {
355- qWarning (" Unknown Reference element %s" , qPrintable (reader.name ().toString ()));
360+ qDebug (" Unknown Reference element %s" , qPrintable (reader.name ().toString ()));
356361 reader.skipCurrentElement ();
357362 }
358363 }
0 commit comments