diff options
| author | Markus Mittendrein <git@maxmitti.tk> | 2015-09-23 18:11:08 +0200 |
|---|---|---|
| committer | Markus Mittendrein <git@maxmitti.tk> | 2015-09-23 18:11:08 +0200 |
| commit | d21b8fe598eb98cf3ecac784a4d8be31828408a1 (patch) | |
| tree | 01262b8f5db9ba6ad82d56da9e9abeac929150dc /src/crsm.cpp | |
| parent | 320f479da036b14a4127c04d27cadd63cf4e1bf9 (diff) | |
| download | manager-d21b8fe598eb98cf3ecac784a4d8be31828408a1.tar.gz manager-d21b8fe598eb98cf3ecac784a4d8be31828408a1.zip | |
Store folder lists (.lst-Files) in CRSM.ListFolder
Diffstat (limited to 'src/crsm.cpp')
| -rw-r--r-- | src/crsm.cpp | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/src/crsm.cpp b/src/crsm.cpp index d54ce2c..3e3ca1e 100644 --- a/src/crsm.cpp +++ b/src/crsm.cpp @@ -627,6 +627,7 @@ void CRSM::managementConnectionDisconnected() void CRSM::updateNextAutoScens() { + if(autolist.length() <= 0) return; while(nextAutoScens.length() < Config.Hosting.UserListLength) { ScenarioSettings next(""); @@ -694,6 +695,18 @@ void CRSM::readConfig() args << "/config:" + Config.Clonk.Server.Config; Config.Auto.Volatile.Clonk.Directory = QFileInfo(Config.Clonk.Server.Executable).absoluteDir().absolutePath() + QDir::separator(); + Config.CRSM.ListFolder = QDir(Config.CRSM.ListFolder).absolutePath() + QDir::separator(); + + if(!QDir(Config.CRSM.ListFolder).exists()) + { + if(!QDir().mkpath(Config.CRSM.ListFolder)) + { + out("ERROR: Could not create the CRSM.ListFolder: " + Config.CRSM.ListFolder + "\n"); + ok = false; + exit(); + } + } + QFile clonkConfig(Config.Clonk.Server.Config); if(!clonkConfig.exists()) { @@ -790,12 +803,12 @@ void CRSM::listC4Folders() { if(it.fileName() == ".." || it.fileName() == ".") continue; - if((it.fileInfo().suffix() == "c4f" || (it.fileInfo().isDir() && !QDir(it.fileInfo().absoluteFilePath()).entryList(QStringList() << "*.c4f" << "*.c4s").isEmpty())) && it.fileName() != "." && it.fileName() != ".." && Config.Clonk.Server.IgnoreFolders.contains(it.fileInfo().baseName())) + if((it.fileInfo().suffix() == "c4f" || (it.fileInfo().isDir() && !QDir(it.fileInfo().absoluteFilePath()).entryList(QStringList() << "*.c4f" << "*.c4s").isEmpty())) && it.fileName() != "." && it.fileName() != ".." && !Config.Clonk.Server.IgnoreFolders.contains(it.fileInfo().baseName())) { const QStringList& list = listC4Folder(it.filePath()); if(!list.isEmpty()) { - QFile listFile(it.filePath()+".lst"); + QFile listFile(Config.CRSM.ListFolder + it.fileName() + ".lst"); listFile.open(QFile::WriteOnly); foreach(const QString& scen, list) { @@ -866,7 +879,7 @@ QString CRSM::scenPath(QString scenName) break; } } - QFile lstFile(Config.Auto.Volatile.Clonk.Directory + folderName + ".lst"); + QFile lstFile(Config.CRSM.ListFolder + folderName + ".lst"); if(lstFile.exists()) { lstFile.open(QFile::ReadOnly); @@ -907,11 +920,11 @@ QString CRSM::listScenarios(QString commandArgs) ret += QString(" "+it.fileInfo().absoluteFilePath().replace(Config.Auto.Volatile.Clonk.Directory,"")+"\n"); } ret += "-----------------------------------------------------------------\nFolgende Ordner stehen zur Auswahl:\n"; - QDirIterator folderIt(Config.Auto.Volatile.Clonk.Directory, QDirIterator::FollowSymlinks); + QDirIterator folderIt(Config.CRSM.ListFolder, QDirIterator::FollowSymlinks); for(; folderIt.hasNext(); folderIt.next()) { - if(folderIt.fileInfo().suffix() == "lst" && !folderIt.fileInfo().absoluteFilePath().contains(Config.Auto.Volatile.Clonk.Directory+"Network/") && !Config.Clonk.Server.IgnoreFolders.contains(folderIt.fileInfo().baseName())) - ret += QString(" "+folderIt.fileInfo().absoluteFilePath().left(folderIt.fileInfo().absoluteFilePath().length() - 4).replace(Config.Auto.Volatile.Clonk.Directory,"")+"\n"); + if(folderIt.fileInfo().suffix() == "lst" && !Config.Clonk.Server.IgnoreFolders.contains(folderIt.fileInfo().baseName())) + ret += " " + folderIt.fileInfo().completeBaseName() + "\n"; } } else if(commandArgs.toLower() == "aliase") @@ -924,7 +937,7 @@ QString CRSM::listScenarios(QString commandArgs) } else { - QFile file(Config.Auto.Volatile.Clonk.Directory + commandArgs + ".lst"); + QFile file(Config.CRSM.ListFolder + commandArgs + ".lst"); if(file.exists()) { ret += "Der Ordner \"" + commandArgs + QString("\" enthält folgende Szenarien:\n"); |
