diff --git a/installer/lang/ru_RU/custom.isl b/installer/lang/ru_RU/custom.isl index c7433fe..00ec8b1 100644 --- a/installer/lang/ru_RU/custom.isl +++ b/installer/lang/ru_RU/custom.isl @@ -1,6 +1,6 @@ -[CustomMessages] -DeleteSettings=Удалить файл настроек? -NewerVersionExists=Новая версия %1 установлена. %n%n Версия инсталятора: %2%n Текущая версия: -Options=Настройки: -OptionAutostart=Запустить %1 в Windows -Website=Вебсайт +[CustomMessages] +DeleteSettings=Удалить файл настроек? +NewerVersionExists=Новая версия %1 установлена. %n%n Версия инсталятора: %2%n Текущая версия: +Options=Настройки: +OptionAutostart=Запустить %1 в Windows +Website=Вебсайт diff --git a/src/UMWP_Autochanger.qrc b/src/UMWP_Autochanger.qrc index b40eccd..08ce104 100644 --- a/src/UMWP_Autochanger.qrc +++ b/src/UMWP_Autochanger.qrc @@ -61,5 +61,7 @@ images/folder-overlay.png images/icons/bullet_lock.png images/qt-logo-16.png + images/icons/update.png + images/icon-large.png diff --git a/src/constants.h b/src/constants.h index ce9f6c6..a6e16f3 100644 --- a/src/constants.h +++ b/src/constants.h @@ -2,8 +2,8 @@ #define VERSION_H #define APP_NAME "UMWP Autochanger" -#define APP_VERSION "2.2.1" -#define APP_VERSION_DW 2,2,1 +#define APP_VERSION "2.3.0" +#define APP_VERSION_DW 2,3,0 #define APP_COMPANYNAME "StrangePlanet" #define APP_FILEDESCRIPTION "Ultimate Monitor Wallpaper Autochanger" #define APP_LEGALCOPYRIGHT "Copyright (c) 2013-2017 StrangePlanet" @@ -22,6 +22,7 @@ #define APP_DOCUMENTATION_URL "https://www.strangeplanet.fr/work/umwp-autochanger/#help" #define APP_VERSION_URL "https://www.strangeplanet.fr/work/umwp-autochanger/last-version.txt" #define APP_ISSUES_URL "https://github.com/mistic100/UMWP-Autochanger/issues" +#define APP_CHANGELOG_URL "https://www.strangeplanet.fr/work/umwp-autochanger/changelogs/%1.html" #define APP_INSTALLER_SIZE 12000000 #define APP_MAX_TRAVERSAL 3 diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index c03d996..1058057 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -545,8 +545,9 @@ void MainWindow::openAboutDialog() text+= "Built with "; QMessageBox dialog; - dialog.setIcon(QMessageBox::Information); + dialog.setIconPixmap(QPixmap(":/images/icon-large.png").scaled(96, 96)); dialog.setWindowTitle(tr("About")); + dialog.setWindowIcon(windowIcon()); dialog.setText(text); dialog.setStandardButtons(QMessageBox::Close | QMessageBox::Open); dialog.setDefaultButton(QMessageBox::Close); @@ -696,7 +697,7 @@ void MainWindow::onNewVersion() { // tray tootlip m_trayIcon->showMessage(APP_NAME, tr("A new version is available : %1").arg(version)); - connect(m_trayIcon, SIGNAL(messageClicked()), this, SLOT(toggleWindow())); + connect(m_trayIcon, &TrayIcon::messageClicked, this, [this]{ toggleWindow(); openNewVersionDialog(); }); } else { diff --git a/src/gui/newversiondialog.cpp b/src/gui/newversiondialog.cpp index 8e6043b..131590d 100644 --- a/src/gui/newversiondialog.cpp +++ b/src/gui/newversiondialog.cpp @@ -17,15 +17,18 @@ NewVersionDialog::NewVersionDialog(QWidget* _parent, Controller* _ctrl) : { ui->setupUi(this); - setWindowFlags(UM::SimpleDialogFlag); - m_version = m_ctrl->enviro()->newVersion(); - ui->progressBar->setVisible(false); - ui->label->setText(tr("A new version is available : %1").arg(m_version.code)); + ui->blockDownloading->setVisible(false); + resize(size().width(), 250); + + ui->title->setText(ui->title->text().arg(APP_NAME)); + ui->description->setText(ui->description->text().arg(APP_NAME, m_version.code, APP_VERSION)); + ui->titleDownloading->setText(ui->titleDownloading->text().arg(APP_NAME, m_version.code)); - ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("Close")); - ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Close and don't show this message again")); + downloadChangelog(); + + setWindowFlags(UM::SimpleDialogFlag); } /** @@ -39,11 +42,11 @@ NewVersionDialog::~NewVersionDialog() /** * @brief Launch download on click on main button */ -void NewVersionDialog::on_updateButton_clicked() +void NewVersionDialog::on_buttonUpdate_clicked() { - ui->updateButton->setVisible(false); - ui->progressBar->setVisible(true); - ui->buttonBox->setDisabled(true); + ui->blockInfo->setVisible(false); + ui->blockDownloading->setVisible(true); + resize(size().width(), 60); m_file.setFileName(QDir::toNativeSeparators(QDir::tempPath() + "/" + APP_INSTALLER_FILENAME)); @@ -55,8 +58,6 @@ void NewVersionDialog::on_updateButton_clicked() } else { - ui->label->setText(tr("Downloading UMWP_Autochanger_%1_Setup.exe ...").arg(m_version.code)); - QLOG_DEBUG() << "Download" << m_version.link; QNetworkAccessManager* manager = new QNetworkAccessManager(); @@ -81,7 +82,64 @@ void NewVersionDialog::on_updateButton_clicked() void NewVersionDialog::errorMessage() { QMessageBox::critical(this, tr("Error"), tr("Unable to download installer file."), QMessageBox::Ok, QMessageBox::Ok); - done(0); + reject(); +} + +/** + * @brief Download the changelog file + */ +void NewVersionDialog::downloadChangelog() +{ + QString url = QString(APP_CHANGELOG_URL).arg(m_version.code); + + QNetworkAccessManager* manager = new QNetworkAccessManager(); + connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(onChangelogFinished(QNetworkReply*))); + + QNetworkRequest request = QNetworkRequest(QUrl(url)); + if (url.startsWith("https")) + { + request.setSslConfiguration(QSslConfiguration::defaultConfiguration()); + } + + manager->get(request); +} + +/** + * @brief Display the changelog file + * @param _reply + */ +void NewVersionDialog::onChangelogFinished(QNetworkReply* _reply) +{ + QString html; + + if (_reply->error() == QNetworkReply::NoError) + { + // Load CSS + html.append(""); + + html.append(QString(_reply->readAll())); + } + else + { + QLOG_ERROR() << _reply->errorString(); + + html.append(_reply->errorString()); + } + + ui->textBrowser->setHtml(html); + + _reply->manager()->deleteLater(); + _reply->deleteLater(); } /** @@ -148,6 +206,7 @@ void NewVersionDialog::onDownloadFinished() ui->progressBar->setValue(100); ui->progressBar->setMaximum(100); + accept(); m_ctrl->launchInstaller(); } } diff --git a/src/gui/newversiondialog.h b/src/gui/newversiondialog.h index 71651f4..8b0dfcf 100644 --- a/src/gui/newversiondialog.h +++ b/src/gui/newversiondialog.h @@ -26,7 +26,7 @@ class NewVersionDialog : public QDialog Controller* m_ctrl; UM::NewVersion m_version; - QFile m_file; + QFile m_file; QNetworkReply* m_reply; public: @@ -35,13 +35,14 @@ class NewVersionDialog : public QDialog private: void errorMessage(); + void downloadChangelog(); private slots: - void on_updateButton_clicked(); - void onDataReady(); void onDownloadFinished(); void onDownloadProgress(qint64 _received, qint64 _total); + void onChangelogFinished(QNetworkReply *_reply); + void on_buttonUpdate_clicked(); }; #endif // NEWVERSIONDIALOG_H diff --git a/src/gui/newversiondialog.ui b/src/gui/newversiondialog.ui index 80bedaa..1c137e6 100644 --- a/src/gui/newversiondialog.ui +++ b/src/gui/newversiondialog.ui @@ -6,81 +6,217 @@ 0 0 - 240 - 116 + 459 + 357 + + + 0 + 0 + + New version - - - - - - 75 - true - - + + + 9 + + + 0 + + + - placeholder + - - - - - - Update now + + :/images/icons/update.png + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - 0 - + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 10 + 75 + true + + + + A new version of %1 is available! + + + + + + + %1 %2 is now available, you have version %3. Would you like to download it now? + + + + + + + + 75 + true + + + + Release notes: + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Loading...</span></p></body></html> + + + + + + + + + Skip this version + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Remind me later + + + + + + + Install update + + + true + + + + + + - - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 10 + 75 + true + + + + Downloading %1 %2. + + + + + + + 0 + + + + - + + + - buttonBox - accepted() + buttonSkip + clicked() NewVersionDialog - accept() + reject() - 248 - 254 + 82 + 181 - 157 - 274 + 4 + 198 - buttonBox - rejected() + buttonCancel + clicked() NewVersionDialog - reject() + accept() - 316 - 260 + 275 + 182 - 286 - 274 + 5 + 243 diff --git a/src/gui/statusbar.cpp b/src/gui/statusbar.cpp index a230114..28a4fe1 100644 --- a/src/gui/statusbar.cpp +++ b/src/gui/statusbar.cpp @@ -40,7 +40,7 @@ void StatusBar::newVersion(const QString &_version) { QPushButton* statusLabel = new QPushButton(tr("A new version is available : %1").arg(_version)); statusLabel->setFlat(true); - statusLabel->setStyleSheet("QPushButton { color : red; } QPushButton:flat:pressed { border: none; }"); + statusLabel->setStyleSheet("QPushButton { color : #d60000; } QPushButton:flat:pressed { border: none; }"); statusLabel->setCursor(Qt::PointingHandCursor); addWidget(statusLabel); diff --git a/src/images/icon-large.png b/src/images/icon-large.png new file mode 100644 index 0000000..6714a14 Binary files /dev/null and b/src/images/icon-large.png differ diff --git a/src/images/icons/update.png b/src/images/icons/update.png new file mode 100644 index 0000000..18120b3 Binary files /dev/null and b/src/images/icons/update.png differ diff --git a/src/images/src/icon.psd b/src/images/src/icon.psd deleted file mode 100644 index 43415c7..0000000 Binary files a/src/images/src/icon.psd and /dev/null differ diff --git a/src/lang/en_GB/changelog.htm b/src/lang/en_GB/changelog.htm index bed266d..70f0707 100644 --- a/src/lang/en_GB/changelog.htm +++ b/src/lang/en_GB/changelog.htm @@ -1,5 +1,5 @@
-
Version 2.2.1
+
Version 2.3.0
  • The lock can be enabled for some sets only.
  • diff --git a/src/lang/en_GB/main.ts b/src/lang/en_GB/main.ts index 80bff12..dd26bae 100644 --- a/src/lang/en_GB/main.ts +++ b/src/lang/en_GB/main.ts @@ -384,7 +384,7 @@ - + When this box is checked, the images will be grabbed from one of the sub-folders of the set instead of the entire set.<br><b>Note:</b> this option is only available in random mode. @@ -429,7 +429,7 @@ MainWindow - + Quit @@ -444,7 +444,7 @@ - + About @@ -472,7 +472,7 @@ - + Error @@ -497,52 +497,52 @@ - + Changelog - + No active files - + The lock is not configured - + Unlocked - + Locked - + Paused - + Running - + Current sets : %1 - + A new version is available : %1 - + Close and don't show this message again @@ -552,7 +552,7 @@ - + If you quit the application now,<br>the wallpaper will not change anymore. @@ -664,42 +664,55 @@ NewVersionDialog - + New version - - Update now + + A new version of %1 is available! + %1: application name - - A new version is available : %1 + + %1 %2 is now available, you have version %3. Would you like to download it now? + %1: application name, %2: new version, %3 current version - - Close + + Release notes: - - Close and don't show this message again + + Downloading %1 %2. + %1: application name, %2: new version + + + + + Skip this version + + + + + Remind me later - - Downloading UMWP_Autochanger_%1_Setup.exe ... + + Install update - + Unable to download installer file. - + Error diff --git a/src/lang/fr_FR/changelog.htm b/src/lang/fr_FR/changelog.htm index d37b826..f8ec3f2 100644 --- a/src/lang/fr_FR/changelog.htm +++ b/src/lang/fr_FR/changelog.htm @@ -1,5 +1,5 @@
    -
    Version 2.2.1
    +
    Version 2.3.0
    • Le verrouillage peut n'être activé que pour certains sets.
    • diff --git a/src/lang/fr_FR/main.ts b/src/lang/fr_FR/main.ts index 27c20dd..3bb47ec 100644 --- a/src/lang/fr_FR/main.ts +++ b/src/lang/fr_FR/main.ts @@ -323,10 +323,6 @@ Per folder Par dossier - - Screen border - Bordure de l'écran - Refresh @@ -388,7 +384,7 @@ Bordure - + When this box is checked, the images will be grabbed from one of the sub-folders of the set instead of the entire set.<br><b>Note:</b> this option is only available in random mode. Quand cette case est cochée, les images sont choisies dans un des sous-dossiers du set plutôt que dans tout le set.<br><b>Note :</b> cette option n'est disponible qu'en mode aléatoire. @@ -433,7 +429,7 @@ MainWindow - + Quit Quitter @@ -448,7 +444,7 @@ Exporter la configuration - + About À propos @@ -476,7 +472,7 @@ - + Error Erreur @@ -501,52 +497,52 @@ Mot de passe invalide - + Changelog Suivi de versions - + No active files Aucun fichier actif - + The lock is not configured Le verrouillage n'est pas configuré - + Unlocked Déverrouillé - + Locked Verrouillé - + Paused Mis en pause - + Running Démarré - + Current sets : %1 Sets actuels : %1 - + A new version is available : %1 Une nouvelle version est disponible : %1 - + Close and don't show this message again Fermer et ne plus afficher ce message @@ -556,7 +552,7 @@ %1 est toujours en cours d'éxécution - + If you quit the application now,<br>the wallpaper will not change anymore. Si vous quittez l'application maintenant,<br>le fond d'écran ne changera plus. @@ -668,42 +664,55 @@ NewVersionDialog - + New version Nouvelle version - - Update now - Mettre à jour maintenant + + A new version of %1 is available! + %1: application name + Une nouvelle version de %1 est disponible ! - - A new version is available : %1 - Une nouvelle version est disponible : %1 + + %1 %2 is now available, you have version %3. Would you like to download it now? + %1: application name, %2: new version, %3 current version + %1 %2 est disponible, vous avez la version %3. Voulez-vous l'installer maintenant ? - - Close - Fermer + + Release notes: + Notes de version : - - Close and don't show this message again - Fermer et ne plus afficher ce message + + Downloading %1 %2. + %1: application name, %2: new version + Téléchargement de %1 %2. + + + + Skip this version + Ignorer cette version + + + + Remind me later + Me le rappeler plus tard - - Downloading UMWP_Autochanger_%1_Setup.exe ... - Téléchargement de UMWP_Autochanger_%1_Setup.exe ... + + Install update + Installer - + Unable to download installer file. Impossible de télécharger le fichier. - + Error Erreur diff --git a/src/lang/ru_RU/changelog.htm b/src/lang/ru_RU/changelog.htm index 7998e03..5acf3c2 100644 --- a/src/lang/ru_RU/changelog.htm +++ b/src/lang/ru_RU/changelog.htm @@ -1,28 +1,28 @@
      -
      Version 2.2.1
      +
      Версия 2.3.0
        -
      • The lock can be enabled for some sets only.
      • -
      • New "Random" and "Shadow" options for the custom style.
      • +
      • Защита может быть включена только для нескольких наборов.
      • +
      • Новые опции "Произвольно" и "Тень" для стиля "Особый".
      -
      Version 2.2.0 5 февраля 2017
      +
      Версия 2.2.0 5 февраля 2017
        -
      • Добавить "горячую клавишу" изменения задержки.
      • -
      • Add the frequency parameter for sets.
      • -
      • Add an option to choose with which program to open the images from the "Active files" window.
      • -
      • Add password lock.
      • -
      • Add "per folder" option for custom layouts.
      • -
      • Add monitors choice for sets.
      • +
      • Добавлена "горячая клавиша" изменения задержки.
      • +
      • Добавлен параметр частоты для наборов.
      • +
      • Добавлена опция выбора программы для открытия изображений из окна "Активные файлы".
      • +
      • Добавлена защита паролем.
      • +
      • Добавлена опция "По папкам" для стиля "Особый".
      • +
      • Добавлен выбор мониторов для наборов.
      - +
      Версия 2.1.0 17 января 2016
        -
      • Новый стиль раскладки "Особая": отображает несколько изображений в настраиваемой сетке.
      • +
      • Новый стиль раскладки "Особый": отображает несколько изображений в настраиваемой сетке.
      • Новый язык: Русский, спасибо ZZPot
      • Данные приложения хранятся в директории пользователя для лучшей совместимости с Windows 10
      • Улучшена производительность
      • diff --git a/src/lang/ru_RU/main.ts b/src/lang/ru_RU/main.ts index f04d710..d0efa2f 100644 --- a/src/lang/ru_RU/main.ts +++ b/src/lang/ru_RU/main.ts @@ -45,7 +45,7 @@ File editor : - + Файловый редактор: @@ -65,47 +65,47 @@ Lock - + Защита Password : - + Пароль : Current password : - + Текущий пароль : Enable lock - + Включить защиту Lock on minimize - + Защитить при сворачивании Lock everything - + Защитить всё. Lock some sets - + Защитить несколько наборов Lock at startup - + Защищать при запуске Open the settings of each set to make it lockable. - + Открыть настройки каждого набора чтобы сделать их защищаемыми. @@ -150,7 +150,7 @@ Lock/Unlock : - + Блокировать/Разблокировать : @@ -241,17 +241,17 @@ Lock/Unlock - + Блокировать/Разблокировать You must enter a password to activate the lock. - + Вы должны ввести пароль чтобы включить блокировку Current lock password is invalid. - + Текущий пароль блокировки неверный. @@ -266,7 +266,7 @@ This option allows to lock any changes in the app configuration until a password is entered.<br><b>Warning:</b> even though the password is hashed, the config file is not secure and can be manually modified. - + Эта опция позволяет блокировать любые изменения в настройках приложения до ввода пароля.<br><b>Внимание:</b> даже при зашифрованном пароле, файл настроек может быть изменён вручную. @@ -299,18 +299,13 @@ Custom Layout Configuration - Настройки "Особой" раскладки + Настройки стиля "Особый" Tiles size Размер плитки - - - Grid - Сетка - @@ -319,13 +314,14 @@ Строки - - Per folder - + + Grid + Сетка - Screen border - Рамка экрана + + Per folder + По папкам @@ -341,7 +337,7 @@ Shadow - + Тень @@ -359,17 +355,17 @@ Random - Произвольно + Произвольно Angle - + Угол Size - + Размер @@ -388,9 +384,9 @@ Граница - + When this box is checked, the images will be grabbed from one of the sub-folders of the set instead of the entire set.<br><b>Note:</b> this option is only available in random mode. - + Когда этот чекбокс отмечен, изображения берутся из одной из подпапок наборы, вместо всего набора.<br><b>Замечание:</b> эта опция доступна только в произвольном режиме. @@ -433,7 +429,7 @@ MainWindow - + Quit Выход @@ -448,7 +444,7 @@ Экспорт файла настроек - + About О программе @@ -476,7 +472,7 @@ - + Error Ошибка @@ -488,65 +484,65 @@ Unlock - + Разблокировать Password - + Пароль Invalid password - + Неверный пароль - + Changelog Список изменений - + No active files Нет активных файлов - + The lock is not configured - + Блокировка не настроена - + Unlocked - + Разблокировано - + Locked - + Заблокировано - + Paused Приостановлено - + Running Работает - + Current sets : %1 Текущий набор: %1 - + A new version is available : %1 Доступна новая версия: %1 - + Close and don't show this message again Закрыть и больше не показывать это сообщение @@ -556,7 +552,7 @@ %1 всё ещё работает - + If you quit the application now,<br>the wallpaper will not change anymore. Если вы выйдете сейчас, <br>обои перестанут меняться. @@ -647,12 +643,12 @@ Lock - + Блокировка Unlock - + Разблокировать @@ -668,42 +664,55 @@ NewVersionDialog - + New version Новая версия - - Update now - Обновить сейчас + + A new version of %1 is available! + %1: application name + - - A new version is available : %1 - Доступна новая версия: %1 + + %1 %2 is now available, you have version %3. Would you like to download it now? + %1: application name, %2: new version, %3 current version + - - Close - Закрыть + + Release notes: + - - Close and don't show this message again - Закрыть и больше не показывать это сообщение + + Downloading %1 %2. + %1: application name, %2: new version + + + + + Skip this version + + + + + Remind me later + - - Downloading UMWP_Autochanger_%1_Setup.exe ... - Скачивается UMWP_Autochanger_%1_Setup.exe ... + + Install update + - + Unable to download installer file. Не получается скачать установочный файл. - + Error Ошибка @@ -849,7 +858,7 @@ Monitors : - + Мониторы : @@ -859,7 +868,7 @@ Lock : - + Защита: @@ -899,7 +908,7 @@ Custom... - Особая... + Особый... @@ -915,17 +924,17 @@ All monitors - + Все мониторы Monitor %1 - + Монитор %1 Disabled - + Отключено @@ -1015,12 +1024,12 @@ Lock - + Блокировка Unlock - + Разблокировать diff --git a/src/versionchecker.h b/src/versionchecker.h index e016546..55c6cfd 100644 --- a/src/versionchecker.h +++ b/src/versionchecker.h @@ -52,6 +52,10 @@ private slots: QLOG_DEBUG() << "New version detected: " << version.code; emit newVersionAvailable(version); } + else + { + QLOG_DEBUG() << "Server version is" << version.code; + } } else {