You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.4 KiB
C++
42 lines
1.4 KiB
C++
#include "mainwindow.h"
|
|
|
|
#include <QApplication>
|
|
#include <QDir>
|
|
#include <QSettings>
|
|
#include <QStandardPaths>
|
|
|
|
// maximum level an safety!
|
|
std::unique_ptr<QSettings> settings;
|
|
|
|
// funktioniert komplett plattformunabhängig!
|
|
// sogar auf Android, wenn man wahnsinnig sein sollte!
|
|
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 ) );
|
|
}
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
QApplication a(argc, argv);
|
|
initialise_settings();
|
|
MainWindow w;
|
|
w.show();
|
|
return a.exec();
|
|
}
|