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();
}
Beispiel #4
0
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);
    }
}
Beispiel #5
0
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();
}
Beispiel #6
0
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
}
Beispiel #7
0
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"));
	}
}