|
|
|
@ -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 ) );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|