[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kbibtex] src/data: Adding copy constructor for class File
From:       Thomas Fischer <null () kde ! org>
Date:       2017-03-31 21:56:22
Message-ID: E1cu4Ws-0004Se-0H () code ! kde ! org
[Download RAW message or body]

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(KSharedConfig::openConfig(QStringLiteral("kbibtexrc"))), \
configGroupName(QStringLiteral("FileExporterBibTeX")), \
internalId(++internalIdCounter) { +        const bool isValid = checkValidity();
+        qCDebug(LOG_KBIBTEX_DATA) << "Creating File instance" << internalId << "  \
Valid?" << isValid; +
+        /// Copy properties from other File object
+        static const QStringList propertyKeys = QStringList() << File::Encoding << \
File::StringDelimiter << File::QuoteComment << File::KeywordCasing << \
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(KSharedConfig::openConfig(QStringLiteral("kbibtexrc"))), \
configGroupName(QStringLiteral("FileExporterBibTeX")), \
internalId(++internalIdCounter), properties(other.d->properties) {  const bool \
isValid = checkValidity(); @@ -114,6 +125,11 @@ File::File()
     // nothing
 }
 
+File::File(const File &other)
+        : QList<QSharedPointer<Element> >(other), d(new FilePrivate(other, this)) {
+    /// nothing
+}
+
 File::~File()
 {
     Q_ASSERT_X(d->checkValidity(), "File::~File()", "This File object is not \
                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();
 
     /**


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic