コード例 #1
0
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;
}
コード例 #2
0
ファイル: qtuiapplication.cpp プロジェクト: AlD/quassel
void QtUiApplication::initUi()
{
    QtUi::instance()->init();
    resumeSessionIfPossible();
}