🔧 Improved search for config file

main
Isabell Pflug 2 years ago
parent 48776cbe93
commit d137ca3bec

@ -11,9 +11,25 @@ std::unique_ptr<QSettings> settings;
// funktioniert komplett plattformunabhängig!
// sogar auf Android, wenn man wahnsinnig sein sollte!
void initialise_settings() {
QString config_string = QStandardPaths::locate( QStandardPaths::ConfigLocation, "ThinkPink.ini");
settings.reset( new QSettings( config_string, QSettings::IniFormat ) );
void initialise_settings() { // sucht für die Config Datei an diversen sinnvollen Orten
QString config_filename = "ThinkPink.ini";
QString config_path = "";
// priorisiert Config Datei, die direkt neben der Binary liegt, falls vorhanden
QString prio_path = QDir(QCoreApplication::applicationDirPath()).filePath(config_filename);
if (QFileInfo::exists(prio_path)) {
config_path = prio_path;
}
else {// schaut an den gängigen Orten (abhängig vom Betriebssystem) nach der Config-Datei
QList<QStandardPaths::StandardLocation> locations{ QStandardPaths::ConfigLocation, QStandardPaths::AppConfigLocation};
for (long long i = 0; i < locations.size(); i++) {
config_path = QStandardPaths::locate( locations.value(i), config_filename);
if (config_path != "") // config found
break;
}
}
settings.reset( new QSettings( config_path, QSettings::IniFormat ) );
}

@ -4,4 +4,3 @@ rows = 9
[colors]
colors = 0xBD005E, 0xFFC0CB, 0xDB7093, 0xF7A8B8, 0x660033
;, 0xDB7093

Loading…
Cancel
Save