void GeneralPage::openTranslationFileDialog() { Settings& settings = Settings::getInstance(); const QString translation_file_key(settings.getSettingPath(Settings::General_TranslationFile)); const QString language_key(settings.getSettingPath(Settings::General_Language)); QString current_filename(settings.getSetting(Settings::General_Language).toString()); if (changes.contains(translation_file_key)) current_filename = changes[translation_file_key].toString(); QString filename = QFileDialog::getOpenFileName(this, tr("Open translation"), current_filename, tr("Translation files (*.qm)")); if (!filename.isNull()) { QString locale_name(TranslationUtil::localeNameForFile(filename)); if (locale_name.isEmpty()) { QMessageBox::critical(this, tr("Open translation"), tr("The selected file is not a valid translation.") ); } else { QLocale locale(locale_name); changes.insert(translation_file_key, filename); changes.insert(language_key, locale.language()); } } updateLanguageBox(); }
void silent_updater::on_data_finished() { qDebug() << "data finished"; bool bCompleted = true; // read last part on_data_ready(); m_file->flush(); // check errors if (m_reply->error() || (m_filesystem_error != QFile::NoError)) { bCompleted = false; qDebug() << "error on finished " << m_reply->error() << " or filesystem error " << m_filesystem_error; // clear resources m_file->remove(); m_filesystem_error = QFile::NoError; } //remove updater and file holder m_reply->deleteLater(); m_reply = NULL; m_file.reset(); if (bCompleted) { qDebug() << "new file download was completed - upgrade it"; QFile f(update_filename()); #ifdef Q_WS_WIN if (!MoveFileExA(current_filename().toLocal8Bit(), old_filename().toLocal8Bit(), MOVEFILE_COPY_ALLOWED)) { qDebug() << "error on move file : " << current_filename() << " to " << old_filename() << GetLastError(); } #else if (!QFile::remove(current_filename())) { qDebug() << "unable to remove file " << current_filename(); } #endif else { qDebug() << "move completed succefully"; if (f.copy(current_filename())) { qDebug() << "new program succesfully copied"; QFile::setPermissions(current_filename(), QFile::permissions(current_filename()) | QFile::ExeUser | QFile::ExeGroup); emit new_version_ready(m_major, m_minor, m_update, m_build); } else { qDebug() << "unable to replace current file"; } } } else { // start new upgrade iteration when changes weren't made m_check_tm->start(update_timeout); } }