SettingsPtr Private::CustomProfile::applicationSettings(const QString &name) const { // here we force QSettings::IniFormat format always because we need it to be portable across platforms #if defined(Q_OS_WIN) || defined(Q_OS_MAC) constexpr const char *CONF_FILE_EXTENSION = ".ini"; #else constexpr const char *CONF_FILE_EXTENSION = ".conf"; #endif const QString settingsFileName {QDir(configLocation()).absoluteFilePath(name + QLatin1String(CONF_FILE_EXTENSION))}; return SettingsPtr(new QSettings(settingsFileName, QSettings::IniFormat)); }
void MainWindow::saveConfig(){ QDir configLocation(QDir::homePath()+"/.config/glop_conf"); if(!configLocation.exists()) configLocation.mkpath(QDir::homePath()+"/.config/glop_conf"); GlopConfig::Settings s ; s.values["import location"] = importLocation.toStdString(); s.values["library location"] = libraryLocation.toStdString(); s.values["season number length"] = QString::number(seasonNumberLength).toStdString(); s.values["episode number length"] = QString::number(episodeNumberLength).toStdString(); GlopConfig::SaveToFile((QDir::homePath()+"/.config/glop_conf/simplifiedVideoLibraryRenamer.conf").toStdString() , s); }
void MainWindow::showSettingsDialog(){ QDir configLocation(QDir::homePath()+"/.config/glop_conf"); if(!configLocation.exists()) configLocation.mkpath(QDir::homePath()+"/.config/glop_conf"); GlopConfig::Settings s = GlopConfig::ParseFile( (QDir::homePath()+"/.config/glop_conf/simplifiedVideoLibraryRenamer.conf").toStdString() ); SettingsDialog d(s); d.exec(); s = d.getSettings(); GlopConfig::SaveToFile( (QDir::homePath()+"/.config/glop_conf/simplifiedVideoLibraryRenamer.conf").toStdString() , s); loadConfig(); listShows(importLocation); // refresh if in a new directory }
void MainWindow::loadConfig(){ QDir configLocation(QDir::homePath()+"/.config/glop_conf"); bool ok1,ok2,ok3; if(!configLocation.exists()) configLocation.mkpath(QDir::homePath()+"/.config/glop_conf"); GlopConfig::Settings s = GlopConfig::ParseFile( (QDir::homePath()+"/.config/glop_conf/simplifiedVideoLibraryRenamer.conf").toStdString() ); importLocation = QString::fromStdString(s.values["import location"]); libraryLocation = QString::fromStdString(s.values["library location"]); ok3 = importLocation.length()>0; importLocation = QFileInfo(importLocation).absoluteFilePath(); // returns current dir if empty string libraryLocation = QFileInfo(libraryLocation).absoluteFilePath(); QString temp = QString::fromStdString(s.values["season number length"]); seasonNumberLength = temp.toInt(&ok1); if(!ok1) seasonNumberLength = 5; temp = QString::fromStdString(s.values["episode number length"]); episodeNumberLength = temp.toInt(&ok2); if(!ok2) episodeNumberLength = 5; if(!(ok1 && ok2 && ok3)){ showSettingsDialog(); } }