|
|
|
@ -6,20 +6,25 @@
|
|
|
|
|
#include <QSettings>
|
|
|
|
|
#include <QStandardPaths>
|
|
|
|
|
|
|
|
|
|
// dieser unique Pointer ist absolut genial, weil er mir erlaubt, die User-spezifischen Einstellungen zu Farben und Grid-Größe
|
|
|
|
|
// an das Mainwindow weiter zu reichen, noch *bevor* das Mainwindow überhaupt initialisiert ist!
|
|
|
|
|
std::unique_ptr<QSettings> settings;
|
|
|
|
|
|
|
|
|
|
void find_config() {
|
|
|
|
|
// funktioniert komplett plattformunabhängig!
|
|
|
|
|
// sogar auf Android, wenn man wahnsinnig sein sollte!
|
|
|
|
|
void initialise_settings() {
|
|
|
|
|
QString config_string = QStandardPaths::locate( QStandardPaths::ConfigLocation, "ThinkPink.ini");
|
|
|
|
|
if (config_string == "") {
|
|
|
|
|
config_string = QDir(QStandardPaths::writableLocation(QStandardPaths::ConfigLocation)).filePath("ThinkPink.ini");
|
|
|
|
|
std::cout << "No config file found. Creating default config at " << config_string.toStdString();
|
|
|
|
|
std::cout << "No config file found. Creating default config at " << config_string.toStdString() << std::endl;
|
|
|
|
|
}
|
|
|
|
|
settings.reset( new QSettings( ) );
|
|
|
|
|
settings.reset( new QSettings( config_string, QSettings::IniFormat ) );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int main(int argc, char *argv[])
|
|
|
|
|
{
|
|
|
|
|
initialise_settings();
|
|
|
|
|
QApplication a(argc, argv);
|
|
|
|
|
MainWindow w;
|
|
|
|
|
w.show();
|
|
|
|
|