730 schemes.append(kingmode); |
730 schemes.append(kingmode); |
731 schemes.append(construction); |
731 schemes.append(construction); |
732 schemes.append(spaceinvasion); |
732 schemes.append(spaceinvasion); |
733 schemes.append(hedgeeditor); |
733 schemes.append(hedgeeditor); |
734 |
734 |
735 if (!QDir(cfgdir->absolutePath() + "/Schemes").exists()) QDir().mkdir(cfgdir->absolutePath() + "/Schemes"); |
735 if (!QDir(cfgdir->absolutePath() + "/Schemes").exists()) { |
|
736 QDir().mkdir(cfgdir->absolutePath() + "/Schemes"); |
|
737 } |
736 if (!QDir(directory).exists()) { |
738 if (!QDir(directory).exists()) { |
737 QDir().mkdir(directory); |
739 QDir().mkdir(directory); |
738 |
740 |
|
741 qDebug("No /Schemes/Game directory found. Trying to import game schemes from schemes.ini."); |
|
742 |
739 int size = fileConfig.beginReadArray("schemes"); |
743 int size = fileConfig.beginReadArray("schemes"); |
|
744 int imported = 0; |
740 for (int i = 0; i < size; ++i) |
745 for (int i = 0; i < size; ++i) |
741 { |
746 { |
742 fileConfig.setArrayIndex(i); |
747 fileConfig.setArrayIndex(i); |
743 |
748 |
744 if (!predefSchemesNames.contains(fileConfig.value(spNames[0]).toString())) |
749 QString schemeName = fileConfig.value(spNames[0]).toString(); |
|
750 if (!predefSchemesNames.contains(schemeName)) |
745 { |
751 { |
746 QList<QVariant> scheme; |
752 QList<QVariant> scheme; |
747 QSettings file(directory + "/" + fileConfig.value(spNames[0]).toString() + ".hwg", QSettings::IniFormat); |
753 QSettings file(directory + "/" + schemeName + ".hwg", QSettings::IniFormat); |
748 |
754 |
749 for (int k = 0; k < spNames.size(); ++k) { |
755 for (int k = 0; k < spNames.size(); ++k) { |
750 scheme << fileConfig.value(spNames[k], defaultScheme[k]); |
756 scheme << fileConfig.value(spNames[k], defaultScheme[k]); |
751 file.setValue(spNames[k], fileConfig.value(spNames[k], defaultScheme[k])); |
757 file.setValue(spNames[k], fileConfig.value(spNames[k], defaultScheme[k])); |
752 } |
758 } |
753 file.sync(); |
759 file.sync(); |
|
760 imported++; |
754 |
761 |
755 schemes.append(scheme); |
762 schemes.append(scheme); |
756 } |
763 } |
757 } |
764 } |
|
765 qDebug("%d game scheme(s) imported.", imported); |
758 fileConfig.endArray(); |
766 fileConfig.endArray(); |
759 } else { |
767 } else { |
760 QStringList scheme_dir = QDir(directory).entryList(); |
768 QStringList scheme_dir = QDir(directory).entryList(); |
761 |
769 |
762 for(int i = 0; i < scheme_dir.size(); i++) |
770 for(int i = 0; i < scheme_dir.size(); i++) |