void DeviceSettings::migrate() { int settingsVersion = 0; QSettings settings; settings.beginGroup("global"); QVariant data = settings.value("settingsVersion"); if (data.isValid()) settingsVersion = data.toUInt(); settings.endGroup(); Log.i() << "Current settingsVersion: " << settingsVersion; switch(settingsVersion) { case 0: Log.i() << "Migrate settings to version: 1"; #ifdef QT_NO_DEBUG QSettings oldSettings("Kullo", "Kullo Client"); #else QSettings oldSettings("Kullo", "Kullo Client Debug"); #endif oldSettings.setFallbacksEnabled(false); Log.i() << "Delete config entries: " << oldSettings.allKeys(); oldSettings.clear(); setSettingsVersion(1); } }
bool MobileUiApplication::init() { if(Quassel::init()) { // FIXME: MIGRATION 0.3 -> 0.4: Move database and core config to new location // Move settings, note this does not delete the old files #ifdef Q_WS_MAC QSettings newSettings("quassel-irc.org", "quassel2go"); #else # ifdef Q_WS_WIN QSettings::Format format = QSettings::IniFormat; # else QSettings::Format format = QSettings::NativeFormat; # endif QString newFilePath = Quassel::configDirPath() + "quassel2go" + ((format == QSettings::NativeFormat) ? QLatin1String(".conf") : QLatin1String(".ini")); QSettings newSettings(newFilePath, format); #endif /* Q_WS_MAC */ if(newSettings.value("Config/Version").toUInt() == 0) { # ifdef Q_WS_MAC QString org = "quassel-irc.org"; # else QString org = "Quassel Project"; # endif QSettings oldSettings(org, "Quassel Client"); if(oldSettings.allKeys().count()) { qWarning() << "\n\n*** IMPORTANT: Config and data file locations have changed. Attempting to auto-migrate your client settings..."; foreach(QString key, oldSettings.allKeys()) newSettings.setValue(key, oldSettings.value(key)); newSettings.setValue("Config/Version", 1); qWarning() << "* Your client settings have been migrated to" << newSettings.fileName(); qWarning() << "*** Migration completed.\n\n"; } } // MIGRATION end // check settings version // so far, we only have 1 QtUiSettings s; if(s.version() != 1) { qCritical() << "Invalid client settings version, terminating!"; return false; } // session resume QtUi *gui = new QtUi(); Client::init(gui); // init gui only after the event loop has started // QTimer::singleShot(0, gui, SLOT(init())); gui->init(); resumeSessionIfPossible(); return true; } return false; }
void validateSettings() { QSettings oldSettings("sieren", "QSyncthingTray"); oldSettings.setFallbacksEnabled(false); mSettings.setFallbacksEnabled(false); if (oldSettings.childKeys().size() > 1 && mSettings.childKeys().size() == 0) { copySettings(mSettings, oldSettings); } createDefaultSettings(); }
void ConnectionSettings::Load() { QSettings settings(QApplication::organizationName(), QApplication::applicationName()); bool settingsWasPreviouslySaved = settings.contains(QString(connectionSettingsSection) + "/" + dcNameParam); if (!settingsWasPreviouslySaved) { QString appNameInMfcVersion = "Active Directory Contact Book"; QSettings oldSettings(QSettings::NativeFormat, QSettings::UserScope, appNameInMfcVersion, appNameInMfcVersion); Load(oldSettings, true); } else { Load(settings, false); } }
void ecSettingsDialog::OnOK(wxCommandEvent& event) { ecSettings oldSettings(wxGetApp().GetSettings()); TransferDataFromWindow(); if (wxGetApp().GetSettings().m_bHex != oldSettings.m_bHex) { // Refresh the values window and currently selected properties ecConfigToolHint hint(NULL, ecAllSaved); if (wxGetApp().GetConfigToolDoc()) wxGetApp().GetConfigToolDoc()->UpdateAllViews (NULL, & hint); } if (wxGetApp().GetSettings().m_showMacroNames != oldSettings.m_showMacroNames) { ecConfigToolHint hint(NULL, ecNameFormatChanged); if (wxGetApp().GetConfigToolDoc()) wxGetApp().GetConfigToolDoc()->UpdateAllViews (NULL, & hint); } event.Skip(); }
Core::Core() : QObject(), _storage(0) { #ifdef HAVE_UMASK umask(S_IRWXG | S_IRWXO); #endif _startTime = QDateTime::currentDateTime().toUTC(); // for uptime :) Quassel::loadTranslation(QLocale::system()); // FIXME: MIGRATION 0.3 -> 0.4: Move database and core config to new location // Move settings, note this does not delete the old files #ifdef Q_WS_MAC QSettings newSettings("quassel-irc.org", "quasselcore"); #else # ifdef Q_WS_WIN QSettings::Format format = QSettings::IniFormat; # else QSettings::Format format = QSettings::NativeFormat; # endif QString newFilePath = Quassel::configDirPath() + "quasselcore" + ((format == QSettings::NativeFormat) ? QLatin1String(".conf") : QLatin1String(".ini")); QSettings newSettings(newFilePath, format); #endif /* Q_WS_MAC */ if (newSettings.value("Config/Version").toUInt() == 0) { # ifdef Q_WS_MAC QString org = "quassel-irc.org"; # else QString org = "Quassel Project"; # endif QSettings oldSettings(org, "Quassel Core"); if (oldSettings.allKeys().count()) { qWarning() << "\n\n*** IMPORTANT: Config and data file locations have changed. Attempting to auto-migrate your core settings..."; foreach(QString key, oldSettings.allKeys()) newSettings.setValue(key, oldSettings.value(key)); newSettings.setValue("Config/Version", 1); qWarning() << "* Your core settings have been migrated to" << newSettings.fileName(); #ifndef Q_WS_MAC /* we don't need to move the db and cert for mac */ #ifdef Q_OS_WIN32 QString quasselDir = qgetenv("APPDATA") + "/quassel/"; #elif defined Q_WS_MAC QString quasselDir = QDir::homePath() + "/Library/Application Support/Quassel/"; #else QString quasselDir = QDir::homePath() + "/.quassel/"; #endif QFileInfo info(Quassel::configDirPath() + "quassel-storage.sqlite"); if (!info.exists()) { // move database, if we found it QFile oldDb(quasselDir + "quassel-storage.sqlite"); if (oldDb.exists()) { bool success = oldDb.rename(Quassel::configDirPath() + "quassel-storage.sqlite"); if (success) qWarning() << "* Your database has been moved to" << Quassel::configDirPath() + "quassel-storage.sqlite"; else qWarning() << "!!! Moving your database has failed. Please move it manually into" << Quassel::configDirPath(); } } // move certificate QFileInfo certInfo(quasselDir + "quasselCert.pem"); if (certInfo.exists()) { QFile cert(quasselDir + "quasselCert.pem"); bool success = cert.rename(Quassel::configDirPath() + "quasselCert.pem"); if (success) qWarning() << "* Your certificate has been moved to" << Quassel::configDirPath() + "quasselCert.pem"; else qWarning() << "!!! Moving your certificate has failed. Please move it manually into" << Quassel::configDirPath(); } #endif /* !Q_WS_MAC */ qWarning() << "*** Migration completed.\n\n"; } } // MIGRATION end // check settings version // so far, we only have 1 CoreSettings s; if (s.version() != 1) { qCritical() << "Invalid core settings version, terminating!"; exit(EXIT_FAILURE); } registerStorageBackends(); connect(&_storageSyncTimer, SIGNAL(timeout()), this, SLOT(syncStorage())); _storageSyncTimer.start(10 * 60 * 1000); // 10 minutes }
void ViewerWindow::commandSaveSession() { TCHAR fileName[MAX_PATH] = _T(""); StringStorage filterVncFiles(StringTable::getString(IDS_SAVE_SESSION_FILTER_VNC_FILES)); StringStorage filterAllFiles(StringTable::getString(IDS_SAVE_SESSION_FILTER_ALL_FILES)); TCHAR vncMask[] = _T("*.vnc"); TCHAR allMask[] = _T("*.*"); vector<TCHAR> filter; filter.insert(filter.end(), filterVncFiles.getString(), filterVncFiles.getString() + filterVncFiles.getLength() + 1); filter.insert(filter.end(), vncMask, vncMask + sizeof(vncMask) / sizeof(TCHAR) - 1); filter.push_back(_T(';')); filter.push_back(_T('\0')); filter.insert(filter.end(), filterAllFiles.getString(), filterAllFiles.getString() + filterAllFiles.getLength() + 1); filter.insert(filter.end(), allMask, allMask + sizeof(allMask) / sizeof(TCHAR) - 1); filter.push_back(_T('\0')); filter.push_back(_T('\0')); OPENFILENAME ofn; ZeroMemory(&ofn, sizeof(ofn)); ofn.lStructSize = sizeof(ofn); ofn.hwndOwner = m_hWnd; ofn.lpstrFilter = &filter.front(); ofn.lpstrDefExt = _T("vnc"); ofn.lpstrFile = fileName; ofn.nMaxFile = MAX_PATH; ofn.Flags = OFN_OVERWRITEPROMPT; try { if (GetSaveFileName(&ofn)) { File oldSettings(fileName); if (oldSettings.exists()) { oldSettings.remove(); } IniFileSettingsManager sm(fileName); sm.setApplicationName(_T("connection")); StringStorage host; m_conData->getReducedHost(&host); sm.setString(_T("host"), host.getString()); sm.setUINT(_T("port"), m_conData->getPort()); if (m_conData->isSetPassword()) { int whetherToSavePass = MessageBox(m_hWnd, StringTable::getString(IDS_QUESTION_SAVE_PASSWORD), StringTable::getString(IDS_SECURITY_WARNING_CAPTION), MB_YESNO); if (whetherToSavePass == IDYES) { StringStorage password = m_conData->getCryptedPassword(); sm.setString(_T("password"), password.getString()); } } sm.setApplicationName(_T("options")); m_conConf->saveToStorage(&sm); } } catch (...) { m_logWriter.error(_T("Error in save connection")); } }