]> Devoid-pointer.net GitWeb - anyanka.git/commitdiff
- Make DataWriterBackend::filename non-pure virtual and move the
authorMichal Malý <madcatxster@devoid-pointer.net>
Fri, 17 Apr 2015 17:17:55 +0000 (19:17 +0200)
committerMichal Malý <madcatxster@devoid-pointer.net>
Fri, 17 Apr 2015 17:17:55 +0000 (19:17 +0200)
implementation currently used in CSVDataWriterBackend to base
DataWriterBackend
- Fix a bug where the last character in file name is cut if the file
name contains a valid suffix for the currently selected output format

csvdatawriterbackend.cpp
csvdatawriterbackend.h
datawriterbackend.cpp
datawriterbackend.h

index 1372426d375fa13f8edcf3f5271be667bbf5afae..1a8901d53fbf66fe30c3c1a8429ad1be4a0d8731 100644 (file)
@@ -39,28 +39,6 @@ QString CSVDataWriterBackend::header(const QVariantList& data) const
   return line + "\n";
 }
 
-QString CSVDataWriterBackend::filename(const QString& name, const QString& extra) const
-{
-
-  QString newname;
-  int dotIdx;
-
-  dotIdx = name.lastIndexOf('.');
-  if (dotIdx > 0) {
-    QString suffix = name.mid(dotIdx+1).toLower();
-    if (suffix.compare(FILE_EXTENSION) == 0)
-      newname = name.mid(0, dotIdx-1); /* Cut the suffix */
-    else
-      newname = name;
-  } else
-    newname = name;
-
-  if (extra.compare("") != 0)
-    return newname + "_" + extra + "." + FILE_EXTENSION;
-  else
-    return newname + "." + FILE_EXTENSION;
-}
-
 QString CSVDataWriterBackend::line(const QVariantList& data) const
 {
   QString line;
index 9864b07c4ed0e832f704b5812d8fbfbc222255da..1fa4ebbd644beab1ace7d2fad8d54e662fc2b3a0 100644 (file)
@@ -32,7 +32,6 @@ class CSVDataWriterBackend : public DataWriterBackend
 public:
   CSVDataWriterBackend(QObject* parent = nullptr);
   QString header(const QVariantList& data) const;
-  QString filename(const QString& name, const QString& extra) const;
   QString line(const QVariantList& data) const;
 
 private:
index 072fce9e7dc720cdb00a2ab2294a7f74f98661fe..800386ef13f08ac2709e24e34ec3373f6bd6ec3e 100644 (file)
@@ -28,3 +28,24 @@ DataWriterBackend::DataWriterBackend(const QString& extension, QObject* parent)
   FILE_EXTENSION(extension)
 {
 }
+
+QString DataWriterBackend::filename(const QString& name, const QString& extra) const
+{
+  QString newname;
+  int dotIdx;
+
+  dotIdx = name.lastIndexOf('.');
+  if (dotIdx > 0) {
+    QString suffix = name.mid(dotIdx+1).toLower();
+    if (suffix.compare(FILE_EXTENSION) == 0)
+      newname = name.mid(0, dotIdx); /* Cut the suffix */
+    else
+      newname = name;
+  } else
+    newname = name;
+
+  if (extra.compare("") != 0)
+    return newname + "_" + extra + "." + FILE_EXTENSION;
+  else
+    return newname + "." + FILE_EXTENSION;
+}
index 852e3276cf625e252f1e30f7184bbf7a2ec8f7ba..a4fc070df6a42d610f79b9507e0a4ed230b2fc75 100644 (file)
@@ -32,7 +32,7 @@ class DataWriterBackend : public QObject
 public:
   explicit DataWriterBackend(const QString& extension, QObject* parent = nullptr);
   virtual QString header(const QVariantList& data) const = 0;
-  virtual QString filename(const QString& name, const QString& extra = QString()) const = 0;
+  virtual QString filename(const QString& name, const QString& extra = QString()) const;
   virtual QString line(const QVariantList& data) const = 0;
 
   const QString FILE_EXTENSION;