From d064eb0d0085f73441d5493631543491120cf66d Mon Sep 17 00:00:00 2001 From: Michal Tomlein Date: Wed, 18 Nov 2009 12:40:03 +0100 Subject: [PATCH] automatic update checking at program startup --- i18n/Leaklog-Slovak.ts | 144 ++++++++++++++++++++--------------------- main.cpp | 2 +- main_window.cpp | 22 +++++-- main_window.h | 1 + 4 files changed, 90 insertions(+), 79 deletions(-) diff --git a/i18n/Leaklog-Slovak.ts b/i18n/Leaklog-Slovak.ts index 5e185ba0..054dde5f 100644 --- a/i18n/Leaklog-Slovak.ts +++ b/i18n/Leaklog-Slovak.ts @@ -878,7 +878,7 @@ LanguageNames - + Slovak slovenčina @@ -923,10 +923,10 @@ - - - - + + + + Leaklog @@ -1013,7 +1013,7 @@ - + Cancel Zrušiť @@ -1027,7 +1027,7 @@ - + Cannot write file %1: %2. Nemôžem zapisovať do súboru %1: @@ -1108,7 +1108,7 @@ Na odstránenie všetkých údajov o zákazníkovi "%1" napíšte ODST Kontrola - + Quit Leaklog Ukončiť Leaklog @@ -1275,7 +1275,7 @@ Na odstránenie všetkých údajov o zákazníkovi "%1" napíšte ODST Upraviť kontrolu - + Print Tlačiť @@ -1391,12 +1391,12 @@ Na odstránenie tabuľky "%1" napíšte ODSTRÁNIŤ a potvrďte:Pridať existujúcu premennú - Leaklog - + Find - Leaklog Nájsť - Leaklog - + Find: Nájsť: @@ -1940,7 +1940,7 @@ Na odstránenie upozornenia "%1" napíšte ODSTRÁNIŤ a potvrďte: - + Open database - Leaklog Otvoriť databázu - Leaklog @@ -2030,7 +2030,7 @@ Na odstránenie upozornenia "%1" napíšte ODSTRÁNIŤ a potvrďte:Adresa - + E-mail E-mail @@ -2056,7 +2056,7 @@ Na odstránenie upozornenia "%1" napíšte ODSTRÁNIŤ a potvrďte:Dátum uvedenia do prevádzky - + @@ -2079,7 +2079,7 @@ Na odstránenie upozornenia "%1" napíšte ODSTRÁNIŤ a potvrďte:Množstvo oleja - + @@ -2092,12 +2092,12 @@ Na odstránenie upozornenia "%1" napíšte ODSTRÁNIŤ a potvrďte:kg - + % % - + LTR LTR @@ -2112,23 +2112,23 @@ Na odstránenie upozornenia "%1" napíšte ODSTRÁNIŤ a potvrďte:Tabuľka parametrov - + Change language Zmeniť jazyk - + Change language - Leaklog Zmeniť jazyk - Leaklog - + Select your preferred language Vyberte váš jazyk - + You need to restart Leaklog for the changes to apply. Aby sa zmeny prejavili, je potrebné reštartovať Leaklog. @@ -2138,37 +2138,37 @@ Na odstránenie upozornenia "%1" napíšte ODSTRÁNIŤ a potvrďte:Stlačiť - + Failed to check for updates. Nepodarilo sa skontrolovať aktualizácie. - + &Try again &Skúsiť znovu - + You are running the latest version of Leaklog. Táto verzia programu Leaklog je aktuálna. - + Leaklog %1 is available now. Leaklog %1 je teraz dostupný. - + Download Leaklog %1 for Mac OS X Stiahnuť Leaklog %1 pre Mac OS X - + Download Leaklog %1 for Windows Stiahnuť Leaklog %1 pre Windows - + Download source code Stiahnuť zdrojový kód @@ -2295,106 +2295,106 @@ Na odstránenie všetkých údajov o kontrolórovi "%1" napíšte ODST Ctrl+Alt+Shift+- - + Export PDF - Leaklog Exportovať PDF - Leaklog - + Adobe PDF (*.pdf) Adobe PDF (*.pdf) - - + + Export HTML - Leaklog Exportovať HTML - Leaklog - + Webpage (*.html) Webová stránka (*.html) - + Print label - Leaklog Tlačiť štítok - Leaklog - + Print detailed label - Leaklog Tlačiť podrobný štítok - Leaklog - + Choose the position of the label on the paper: Vyberte umiestnenie štítku na papieri: - + Row %1 Column %2 Riadok %1 Stĺpec %2 - + Print label Tlačiť štítok - + Circuit ID Číslo zariadenia - + 3(6) - <30 kg 3(6) - <30 kg - + 30 - <300 kg 30 - <300 kg - + above 300 kg nad 300 kg - + Annual leakage Ročný únik - + Telephone Telefón - + Registry number of person and company ID Číslo osvedčenia osoby a IČO firmy - + Clear current selection Vynulovať aktuálny výber - + Date of inspection Dátum vykonania kontroly - + Date of the next inspection Dátum nasledujúcej kontroly - + Refrigerant leakage inspection in accordance with Regulation (EC) No. 842/2006 @@ -2403,87 +2403,87 @@ Nariadenia (ES) č. 842/2006 a zákona č. 286/2009 Z.z. a vyhl. 314/2009 Z.z. - + once a year* raz za rok* - + once in 6 months* raz za 6 mesiacov* - + once in 3 months raz za 3 mesiace - + Certified person Osoba s osvedčením - + Certified company Certifikovaná firma - + Unlock Odomknúť - - - + + + Lock Zamknúť - + <b>Customer:</b> %1%2 <b>Zákazník:</b> %1%2 - + <b>Circuit:</b> %1 <b>Okruh:</b> %1 - - + + <b>Repair:</b> %1 <b>Oprava:</b> %1 - + <b>Inspection:</b> %1 <b>Kontrola:</b> %1 - + <b>Inspector:</b> %1 <b>Kontrolór:</b> %1 - + Lock database - Leaklog Zamknúť databázu - Leaklog - + Lock inspections and repairs older than: Zamknúť kontroly a opravy staršie ako: - - + + Unlock database - Leaklog Odomknúť databázu - Leaklog - + Wrong password. Nesprávne heslo. @@ -2536,8 +2536,8 @@ Nariadenia (ES) č. 842/2006 a zákona - - + + Password: Heslo: @@ -2642,7 +2642,7 @@ Na odstránenie všetkých údajov o oprave "%1" napíšte ODSTRÁNIŤ Servisná organizácia - + Show icons only Zobraziť len ikony diff --git a/main.cpp b/main.cpp index 025516ad..9df4d2e0 100644 --- a/main.cpp +++ b/main.cpp @@ -1,7 +1,7 @@ /****************************************************************************** * Leaklog * * -------------------------------------------------------------------------- * - * Version: 0.9.4 * + * Version: 0.9.5 * * Qt version: 4.4.0 or higher required * * -------------------------------------------------------------------------- * * Leaklog is a leakage control system based on the EU Regulation * diff --git a/main_window.cpp b/main_window.cpp index fe636779..5a607055 100755 --- a/main_window.cpp +++ b/main_window.cpp @@ -68,6 +68,7 @@ MainWindow::MainWindow() selected_inspector = -1; database_locked = false; show_leaked_in_store_in_service_company_view = false; + check_for_updates = true; // i18n QTranslator translator; translator.load(":/i18n/Leaklog-i18n.qm"); leaklog_i18n.insert("English", "English"); @@ -941,6 +942,8 @@ void MainWindow::loadSettings() this->restoreState(settings.value("window_state").toByteArray(), 0); actionShow_icons_only->setChecked(settings.value("toolbar_icons_only", false).toBool()); showIconsOnly(actionShow_icons_only->isChecked()); + check_for_updates = settings.value("check_for_updates", true).toBool(); + if (check_for_updates) checkForUpdates(); } void MainWindow::saveSettings() @@ -1012,12 +1015,17 @@ void MainWindow::httpRequestFinished(bool error) { httpRequestFinished_start: if (error) { - switch (QMessageBox::critical(this, tr("Leaklog"), tr("Failed to check for updates."), tr("&Try again"), tr("Cancel"), 0, 1)) { - case 0: // Try again - checkForUpdates(); return; break; - case 1: // Cancel - return; break; + if (!check_for_updates) { + switch (QMessageBox::critical(this, tr("Leaklog"), tr("Failed to check for updates."), tr("&Try again"), tr("Cancel"), 0, 1)) { + case 0: // Try again + checkForUpdates(); break; + case 1: // Cancel + break; + } + } else { + check_for_updates = false; } + return; } QString str(http_buffer->data()); QTextStream in(&str); if (in.readLine() != "[Leaklog.current-version]") { error = true; goto httpRequestFinished_start; } @@ -1042,7 +1050,8 @@ void MainWindow::httpRequestFinished(bool error) QString release_notes; while (!in.atEnd()) { release_notes.append(in.readLine()); } if (f_current_ver <= F_LEAKLOG_VERSION) { - QMessageBox::information(this, tr("Leaklog"), tr("You are running the latest version of Leaklog.")); + if (!check_for_updates) + QMessageBox::information(this, tr("Leaklog"), tr("You are running the latest version of Leaklog.")); } else { QString info; QTextStream out(&info); out << "

" << endl; @@ -1057,6 +1066,7 @@ void MainWindow::httpRequestFinished(bool error) out << "

"; QMessageBox::information(this, tr("Leaklog"), info); } + check_for_updates = false; } void MainWindow::about() diff --git a/main_window.h b/main_window.h index fcb7e5fb..5c79790d 100755 --- a/main_window.h +++ b/main_window.h @@ -205,5 +205,6 @@ private slots: QSqlDatabase db; QComboBox * cb_lang; QMap leaklog_i18n; + bool check_for_updates; QHttp * http; QBuffer * http_buffer; };