QsLanguage::~QsLanguage()
{
   const int defaultLanguageId = defaultLanguage().id;
   if( mApplicationLanguage != defaultLanguageId )
   {
      Q_ASSERT_X(0,"QsLanguage","You forgot to uninstall the translators!");
      setApplicationLanguage(defaultLanguageId);
   }

   qDeleteAll(mLangIdToQtTranslator.values());
   qDeleteAll(mLangIdToTranslator.values());
}
Beispiel #2
0
int main(int argc, char *argv[])
{
#ifdef Q_OS_WIN
    QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
    QString toolDir = QDir::current().absoluteFilePath(WINDOWS_YLE_DL_DIR).replace('/', '\\');
    QString newPath = toolDir + ";" + env.value("PATH");
    ::SetEnvironmentVariableA("PATH", newPath.toLocal8Bit());
#endif

    QApplication app(argc, argv);
    QApplication::setOrganizationName("nobody");
    QApplication::setApplicationName("yle-downloader-gui");

    QSettings settings;
    QVariant localeNameVar = settings.value("language", QVariant());
    QLocale locale;
    if (!localeNameVar.isValid()) {
        locale = QLocale::Finnish;
        settings.setValue("language", locale.name());
    } else {
        locale = QLocale(localeNameVar.toString());
    }

    setApplicationLanguage(&app, locale);

    MainWindow w;
    w.setWindowIcon(QIcon(":/icons/icon.ico"));
    w.setLocale(locale);
    if (QApplication::arguments().size() > 0 && looksLikeUrl(QApplication::arguments().last())) {
        w.setExitOnSuccess(true);
        w.setSaveAndRestoreSession(false);
        w.init();
        w.startDownloadFrom(QApplication::arguments().last());
    } else {
        w.setSaveAndRestoreSession(true);
        w.init();
    }
    w.show();

    return app.exec();
}