Git commit a300783d225aa64eac96dd7b1b1f02459137bf36 by Thomas Fischer. Committed on 31/03/2017 at 19:29. Pushed by thomasfischer into branch 'master'. Adding copy constructor for class File M +16 -0 src/data/file.cpp M +1 -0 src/data/file.h https://commits.kde.org/kbibtex/a300783d225aa64eac96dd7b1b1f02459137bf36 diff --git a/src/data/file.cpp b/src/data/file.cpp index d449bcbe..da8cc846 100644 --- a/src/data/file.cpp +++ b/src/data/file.cpp @@ -66,6 +66,17 @@ public: loadConfiguration(); } = + FilePrivate(const File &other, File */* UNUSED parent*/) + : /* UNUSED p(parent),*/ validInvalidField(valid), config(KSharedC= onfig::openConfig(QStringLiteral("kbibtexrc"))), configGroupName(QStringLit= eral("FileExporterBibTeX")), internalId(++internalIdCounter) { + const bool isValid =3D checkValidity(); + qCDebug(LOG_KBIBTEX_DATA) << "Creating File instance" << internalI= d << " Valid?" << isValid; + + /// Copy properties from other File object + static const QStringList propertyKeys =3D QStringList() << File::E= ncoding << File::StringDelimiter << File::QuoteComment << File::KeywordCasi= ng << File::NameFormatting << File::ProtectCasing << File::ListSeparator; + for (const QString &propertyKey : propertyKeys) + properties.insert(propertyKey, other.d->properties[propertyKey= ]); + } + FilePrivate(File */* UNUSED parent*/, const File &other) : /* UNUSED p(parent),*/ validInvalidField(valid), config(KSharedC= onfig::openConfig(QStringLiteral("kbibtexrc"))), configGroupName(QStringLit= eral("FileExporterBibTeX")), internalId(++internalIdCounter), properties(ot= her.d->properties) { const bool isValid =3D checkValidity(); @@ -114,6 +125,11 @@ File::File() // nothing } = +File::File(const File &other) + : QList >(other), d(new FilePrivate(other,= this)) { + /// nothing +} + File::~File() { Q_ASSERT_X(d->checkValidity(), "File::~File()", "This File object is n= ot valid"); diff --git a/src/data/file.h b/src/data/file.h index f420083d..bd7ae3e7 100644 --- a/src/data/file.h +++ b/src/data/file.h @@ -57,6 +57,7 @@ public: const static QString ListSeparator; = File(); + File(const File &other); ~File(); = /**