瀏覽代碼

Fixes according to review

Ivan Savenko 10 月之前
父節點
當前提交
5d65816c25

+ 12 - 10
launcher/modManager/chroniclesextractor.cpp

@@ -43,19 +43,21 @@ void ChroniclesExtractor::removeTempDir()
 
 int ChroniclesExtractor::getChronicleNo()
 {
-	for (size_t i = 1; i < chronicles.size(); ++i)
-	{
-		QString chronicleName = chronicles.at(i);
+	QStringList appDirCandidates = tempDir.entryList({"app"}, QDir::Filter::Dirs);
 
-		QStringList appDirCandidates = tempDir.entryList({"app"}, QDir::Filter::Dirs);
+	if (!appDirCandidates.empty())
+	{
 		QDir appDir = tempDir.filePath(appDirCandidates.front());
 
-		QStringList chroniclesDirCandidates = appDir.entryList({chronicleName}, QDir::Filter::Dirs);
+		for (size_t i = 1; i < chronicles.size(); ++i)
+		{
+			QString chronicleName = chronicles.at(i);
+			QStringList chroniclesDirCandidates = appDir.entryList({chronicleName}, QDir::Filter::Dirs);
 
-		if (!chroniclesDirCandidates.empty())
-			return i;
+			if (!chroniclesDirCandidates.empty())
+				return i;
+		}
 	}
-
 	QMessageBox::critical(parent, tr("Invalid file selected"), tr("You have to select a Heroes Chronicles installer file!"));
 	return 0;
 }
@@ -138,8 +140,8 @@ void ChroniclesExtractor::createChronicleMod(int no)
 	QJsonObject mod
 	{
 		{ "modType", "Expansion" },
-		{ "name", QString::number(no) + " - " + tmpChronicles },
-		{ "description", tr("Heroes Chronicles") + " - " + QString::number(no) + " - " + tmpChronicles },
+		{ "name", QString("%1 - %2").arg(no).arg(tmpChronicles) },
+		{ "description", tr("Heroes Chronicles %1 - %2").arg(no).arg(tmpChronicles) },
 		{ "author", "3DO" },
 		{ "version", "1.0" },
 		{ "contact", "vcmi.eu" },

+ 1 - 1
launcher/modManager/chroniclesextractor.h

@@ -31,7 +31,7 @@ class ChroniclesExtractor : public QObject
 	void extractFiles(int no) const;
 
 	const QStringList chronicles = {
-		"", // fake	0th "chronicle", to create 1-based list
+		{}, // fake	0th "chronicle", to create 1-based list
 		"Warlords of the Wasteland",
 		"Conquest of the Underworld",
 		"Masters of the Elements",

+ 5 - 0
launcher/translation/chinese.ts

@@ -1086,6 +1086,11 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
         <source>Heroes Chronicles</source>
         <translation>英雄无敌历代记</translation>
     </message>
+    <message>
+        <location filename="../modManager/chroniclesextractor.cpp" line="144"/>
+        <source>Heroes Chronicles %1 - %2</source>
+        <translation type="unfinished">英雄无敌历代记 %1 - %2</translation>
+    </message>
 </context>
 <context>
     <name>File size</name>

+ 5 - 0
launcher/translation/czech.ts

@@ -832,6 +832,11 @@ Režim celé obrazovky - hra pokryje celou vaši obrazovku a použije vybrané r
         <source>Heroes Chronicles</source>
         <translation>Heroes Chronicles</translation>
     </message>
+    <message>
+        <location filename="../modManager/chroniclesextractor.cpp" line="144"/>
+        <source>Heroes Chronicles %1 - %2</source>
+        <translation type="unfinished">Heroes Chronicles %1 - %2</translation>
+    </message>
 </context>
 <context>
     <name>File size</name>

+ 5 - 0
launcher/translation/french.ts

@@ -1055,6 +1055,11 @@ Mode exclusif plein écran - le jeu couvrira l&quot;intégralité de votre écra
         <source>Heroes Chronicles</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../modManager/chroniclesextractor.cpp" line="144"/>
+        <source>Heroes Chronicles %1 - %2</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>File size</name>

+ 5 - 0
launcher/translation/german.ts

@@ -1080,6 +1080,11 @@ Exklusiver Vollbildmodus - das Spiel bedeckt den gesamten Bildschirm und verwend
         <source>Heroes Chronicles</source>
         <translation>Heroes Chronicles</translation>
     </message>
+    <message>
+        <location filename="../modManager/chroniclesextractor.cpp" line="144"/>
+        <source>Heroes Chronicles %1 - %2</source>
+        <translation type="unfinished">Heroes Chronicles %1 - %2</translation>
+    </message>
 </context>
 <context>
     <name>File size</name>

+ 5 - 0
launcher/translation/polish.ts

@@ -1080,6 +1080,11 @@ Pełny ekran klasyczny - gra przysłoni cały ekran uruchamiając się w wybrane
         <source>Heroes Chronicles</source>
         <translation>Heroes Kroniki</translation>
     </message>
+    <message>
+        <location filename="../modManager/chroniclesextractor.cpp" line="144"/>
+        <source>Heroes Chronicles %1 - %2</source>
+        <translation type="unfinished">Heroes Kroniki %1 - %2</translation>
+    </message>
 </context>
 <context>
     <name>File size</name>

+ 5 - 0
launcher/translation/portuguese.ts

@@ -898,6 +898,11 @@ Modo de tela cheia exclusivo - o jogo cobrirá toda a sua tela e usará a resolu
         <source>Heroes Chronicles</source>
         <translation>Heroes Chronicles</translation>
     </message>
+    <message>
+        <location filename="../modManager/chroniclesextractor.cpp" line="144"/>
+        <source>Heroes Chronicles %1 - %2</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>File size</name>

+ 5 - 0
launcher/translation/russian.ts

@@ -918,6 +918,11 @@ Fullscreen Exclusive Mode - the game will cover the entirety of your screen and
         <source>Heroes Chronicles</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../modManager/chroniclesextractor.cpp" line="144"/>
+        <source>Heroes Chronicles %1 - %2</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>File size</name>

+ 5 - 0
launcher/translation/spanish.ts

@@ -949,6 +949,11 @@ Pantalla completa - el juego cubrirá la totalidad de la pantalla y utilizará l
         <source>Heroes Chronicles</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../modManager/chroniclesextractor.cpp" line="144"/>
+        <source>Heroes Chronicles %1 - %2</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>File size</name>

+ 5 - 0
launcher/translation/swedish.ts

@@ -1074,6 +1074,11 @@ Exklusivt helskärmsläge - spelet kommer att täcka hela skärmen och använda
         <source>Heroes Chronicles</source>
         <translation>Heroes Chronicles</translation>
     </message>
+    <message>
+        <location filename="../modManager/chroniclesextractor.cpp" line="144"/>
+        <source>Heroes Chronicles %1 - %2</source>
+        <translation type="unfinished">Heroes Chronicles %1 - %2</translation>
+    </message>
 </context>
 <context>
     <name>File size</name>

+ 5 - 0
launcher/translation/ukrainian.ts

@@ -1056,6 +1056,11 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
         <source>Heroes Chronicles</source>
         <translation>Хроніки Героїв</translation>
     </message>
+    <message>
+        <location filename="../modManager/chroniclesextractor.cpp" line="144"/>
+        <source>Heroes Chronicles %1 - %2</source>
+        <translation type="unfinished">Хроніки Героїв %1 - %2</translation>
+    </message>
 </context>
 <context>
     <name>File size</name>

+ 5 - 0
launcher/translation/vietnamese.ts

@@ -934,6 +934,11 @@ Toàn màn hình riêng biệt - Trò chơi chạy toàn màn hình và dùng đ
         <source>Heroes Chronicles</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../modManager/chroniclesextractor.cpp" line="144"/>
+        <source>Heroes Chronicles %1 - %2</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>File size</name>