🔧 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! // funktioniert komplett plattformunabhängig!
// sogar auf Android, wenn man wahnsinnig sein sollte! // sogar auf Android, wenn man wahnsinnig sein sollte!
void initialise_settings() { void initialise_settings() { // sucht für die Config Datei an diversen sinnvollen Orten
QString config_string = QStandardPaths::locate( QStandardPaths::ConfigLocation, "ThinkPink.ini"); QString config_filename = "ThinkPink.ini";
settings.reset( new QSettings( config_string, QSettings::IniFormat ) ); 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]
colors = 0xBD005E, 0xFFC0CB, 0xDB7093, 0xF7A8B8, 0x660033 colors = 0xBD005E, 0xFFC0CB, 0xDB7093, 0xF7A8B8, 0x660033
;, 0xDB7093

Loading…
Cancel
Save