From 7ece90cb9552a5f217b02490f78aee74d14713da Mon Sep 17 00:00:00 2001 From: Salvatore Larosa Date: Mon, 9 Jul 2018 09:39:06 +0200 Subject: [PATCH] Fixes #18485 - do not truncate project title if filename contains period also add a small test --- src/core/qgsproject.cpp | 2 +- tests/src/python/test_qgsproject.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/core/qgsproject.cpp b/src/core/qgsproject.cpp index 775c4781690..d7fb2a2ed34 100644 --- a/src/core/qgsproject.cpp +++ b/src/core/qgsproject.cpp @@ -508,7 +508,7 @@ QString QgsProject::baseName() const } else { - return QFileInfo( mFile.fileName() ).baseName(); + return QFileInfo( mFile.fileName() ).completeBaseName(); } } diff --git a/tests/src/python/test_qgsproject.py b/tests/src/python/test_qgsproject.py index f1d7915df29..408813f283d 100644 --- a/tests/src/python/test_qgsproject.py +++ b/tests/src/python/test_qgsproject.py @@ -1091,6 +1091,20 @@ class TestQgsProject(unittest.TestCase): self.assertTrue(l.setSubsetString('class=\'a\'')) self.assertTrue(p.isDirty()) + def testProjectTitleWithPeriod(self): + tmpDir = QTemporaryDir() + tmpFile = "{}/2.18.21.qgs".format(tmpDir.path()) + tmpFile2 = "{}/qgis-3.2.0.qgs".format(tmpDir.path()) + + p0 = QgsProject() + p0.setFileName(tmpFile) + + p1 = QgsProject() + p1.setFileName(tmpFile2) + + self.assertEqual(p0.baseName(), '2.18.21') + self.assertEqual(p1.baseName(), 'qgis-3.2.0') + if __name__ == '__main__': unittest.main()