From 6a12462e5025e33c741fd1d6ba6bd48bff9ac58a Mon Sep 17 00:00:00 2001 From: lordmulder Date: Wed, 8 Dec 2010 20:52:18 +0100 Subject: [PATCH] More update manager UI improvements. --- gui/UpdateDialog.ui | 70 +++++++++++++++++++++++++++++++++++++++++++-------- res/Icons.qrc | 3 +++ src/Config.h | 2 +- src/Dialog_Update.cpp | 44 +++++++++++++++++++++++++++++--- src/Dialog_Update.h | 1 + 5 files changed, 104 insertions(+), 16 deletions(-) diff --git a/gui/UpdateDialog.ui b/gui/UpdateDialog.ui index e83802d0..023ea3d8 100644 --- a/gui/UpdateDialog.ui +++ b/gui/UpdateDialog.ui @@ -147,17 +147,8 @@ 0 - - 32 - - - 42 - - - 32 - - - 32 + + 28 @@ -185,6 +176,49 @@ + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + 5 + + + + + + 16 + 16 + + + + + + + :/icons/information.png + + + + + + + $(HINT_TEXT) + + + + + + Qt::Vertical @@ -199,6 +233,9 @@ + + 0 + @@ -507,6 +544,17 @@ + + + + + + + + + + + diff --git a/res/Icons.qrc b/res/Icons.qrc index 19243bb4..4533d892 100644 --- a/res/Icons.qrc +++ b/res/Icons.qrc @@ -10,8 +10,10 @@ icons/arrow_down.png icons/arrow_up.png icons/arrow_refresh.png + icons/bell.png icons/bin.png icons/bomb.png + icons/bug.png icons/calendar.png icons/cancel.png icons/cd.png @@ -53,6 +55,7 @@ icons/play.png icons/resultset_next.png icons/script_edit.png + icons/server_error.png icons/sound.png icons/star.png icons/table_edit.png diff --git a/src/Config.h b/src/Config.h index 958e0575..00fb9f59 100644 --- a/src/Config.h +++ b/src/Config.h @@ -25,7 +25,7 @@ #define VER_LAMEXP_MAJOR 4 #define VER_LAMEXP_MINOR_HI 0 #define VER_LAMEXP_MINOR_LO 0 -#define VER_LAMEXP_BUILD 134 +#define VER_LAMEXP_BUILD 136 #define VER_LAMEXP_SUFFIX TechPreview /* diff --git a/src/Dialog_Update.cpp b/src/Dialog_Update.cpp index a049fe39..480bd27c 100644 --- a/src/Dialog_Update.cpp +++ b/src/Dialog_Update.cpp @@ -146,6 +146,8 @@ void UpdateDialog::showEvent(QShowEvent *event) retryButton->hide(); logButton->hide(); infoLabel->hide(); + hintLabel->hide(); + hintIcon->hide(); int counter = 2; for(int i = 0; known_hosts[i]; i++) counter++; @@ -160,6 +162,18 @@ void UpdateDialog::closeEvent(QCloseEvent *event) if(!closeButton->isEnabled()) event->ignore(); } +void UpdateDialog::keyPressEvent(QKeyEvent *e) +{ + if(e->key() == Qt::Key_F11) + { + if(closeButton->isEnabled()) logButtonClicked(); + } + else + { + QDialog::keyPressEvent(e); + } +} + void UpdateDialog::updateInit(void) { setMinimumSize(size()); @@ -181,6 +195,8 @@ void UpdateDialog::checkForUpdates(void) retryButton->setEnabled(false); logButton->setEnabled(false); if(infoLabel->isVisible()) infoLabel->hide(); + if(hintLabel->isVisible()) hintLabel->hide(); + if(hintIcon->isVisible()) hintIcon->hide(); QApplication::processEvents(); QApplication::setOverrideCursor(Qt::WaitCursor); @@ -212,8 +228,12 @@ void UpdateDialog::checkForUpdates(void) closeButton->setEnabled(true); retryButton->setEnabled(true); logButton->setEnabled(true); - statusLabel->setText("Connectivity test faild. Please check your internet connection!"); + statusLabel->setText("Network connectivity test has faild!"); progressBar->setValue(progressBar->maximum()); + hintIcon->setPixmap(QIcon(":/icons/error.png").pixmap(16,16)); + hintLabel->setText("Please make sure your internet connection is working properly and try again."); + hintIcon->show(); + hintLabel->show(); LAMEXP_DELETE(m_updateInfo); if(m_settings->soundsEnabled()) PlaySound(MAKEINTRESOURCE(IDR_WAVE_ERROR), GetModuleHandle(NULL), SND_RESOURCE | SND_ASYNC); QApplication::restoreOverrideCursor(); @@ -246,8 +266,12 @@ void UpdateDialog::checkForUpdates(void) closeButton->setEnabled(true); retryButton->setEnabled(true); logButton->setEnabled(true); - statusLabel->setText("Failed to fetch update information from server. Try again later!"); + statusLabel->setText("Failed to fetch update information from server!"); progressBar->setValue(progressBar->maximum()); + hintIcon->setPixmap(QIcon(":/icons/server_error.png").pixmap(16,16)); + hintLabel->setText("Sorry, the update server might be busy at this time. Plase try again later."); + hintIcon->show(); + hintLabel->show(); LAMEXP_DELETE(m_updateInfo); if(m_settings->soundsEnabled()) PlaySound(MAKEINTRESOURCE(IDR_WAVE_ERROR), GetModuleHandle(NULL), SND_RESOURCE | SND_ASYNC); return; @@ -261,17 +285,29 @@ void UpdateDialog::checkForUpdates(void) if(m_updateInfo->m_buildNo > lamexp_version_build()) { installButton->setEnabled(true); - statusLabel->setText("A new version of LameXP is available. Update highly recommended!"); + statusLabel->setText("A new version of LameXP is available!"); + hintIcon->setPixmap(QIcon(":/icons/bell.png").pixmap(16,16)); + hintLabel->setText("We highly recommend all users to install this update as soon as possible."); + hintIcon->show(); + hintLabel->show(); MessageBeep(MB_ICONINFORMATION); } else if(m_updateInfo->m_buildNo == lamexp_version_build()) { - statusLabel->setText("No new updates avialbale. Your version of LameXP is up-to-date."); + statusLabel->setText("No new updates avialbale at this time."); + hintIcon->setPixmap(QIcon(":/icons/information.png").pixmap(16,16)); + hintLabel->setText("Your version of LameXP is still up-to-date. Please check for updates regularly!"); + hintIcon->show(); + hintLabel->show(); MessageBeep(MB_ICONINFORMATION); } else { statusLabel->setText("Your version appears to be newer than the latest release."); + hintIcon->setPixmap(QIcon(":/icons/bug.png").pixmap(16,16)); + hintLabel->setText("This usually indicates your are currently using a pre-release version of LameXP."); + hintIcon->show(); + hintLabel->show(); MessageBeep(MB_ICONEXCLAMATION); } diff --git a/src/Dialog_Update.h b/src/Dialog_Update.h index 56633689..2d2e0d1e 100644 --- a/src/Dialog_Update.h +++ b/src/Dialog_Update.h @@ -48,6 +48,7 @@ private slots: protected: void showEvent(QShowEvent *event); void closeEvent(QCloseEvent *event); + void keyPressEvent(QKeyEvent *e); private: bool tryUpdateMirror(UpdateInfo *updateInfo, const QString &url); -- 2.11.0