mirror of
https://github.com/martinrotter/rssguard.git
synced 2025-02-03 10:47:47 +01:00
Added 7za for Windows + work on updating.
This commit is contained in:
parent
163ec6f0f8
commit
ef873433e8
@ -161,6 +161,13 @@ Status auto-aktualizace: %5</translation>
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsToolBar</name>
|
||||
<message>
|
||||
<source>Toolbar spacer</source>
|
||||
<translation>Mezera</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsView</name>
|
||||
<message>
|
||||
@ -1176,6 +1183,22 @@ Autoři této aplikace nenesou žádnou odpovědnost za ztrátu Vašich dat.</tr
|
||||
<source>custom external browser is not set correctly</source>
|
||||
<translation>vlastní externí prohlížeč není správně nastaven</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbars</source>
|
||||
<translation>Nástrojové lišty</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar for feeds list</source>
|
||||
<translation>Lišta seznamu kanálů</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar for messages list</source>
|
||||
<translation>Lišta seznamu zpráv</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select toolbar to edit</source>
|
||||
<translation>Zvolte lištu, kterou chcete upravit</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormStandardCategoryDetails</name>
|
||||
@ -1762,6 +1785,45 @@ Přejít na web aplikace a stáhnout jej ručně.</translation>
|
||||
<translation>Obsah zprávy.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessagesToolBar</name>
|
||||
<message>
|
||||
<source>Search messages</source>
|
||||
<translation>Hledat zprávy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message search box</source>
|
||||
<translation>Hledací panel zpráv</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Menu for highlighting messages</source>
|
||||
<translation>Menu pro zvýrazňování zpráv</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No extra highlighting</source>
|
||||
<translation>Nic nezvýrazňovat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Highlight unread messages</source>
|
||||
<translation>Zvýraznit nepřečtené zprávy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Highlight important messages</source>
|
||||
<translation>Zvýraznit důležité zprávy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display all messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message highlighter</source>
|
||||
<translation>Zvýrazňovač zpráv</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar spacer</source>
|
||||
<translation>Mezera</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessagesView</name>
|
||||
<message>
|
||||
@ -1951,6 +2013,37 @@ Přejít na web aplikace a stáhnout jej ručně.</translation>
|
||||
<translation>Otevřít nový tab webového prohlížeče.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ToolBarEditor</name>
|
||||
<message>
|
||||
<source>Dialog</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Activated actions</source>
|
||||
<translation>Aktivované akce</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available actions</source>
|
||||
<translation>Dostupné akce</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Insert separator</source>
|
||||
<translation>Vložit oddělovač</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Insert spacer</source>
|
||||
<translation>Vložit mezeru</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Separator</source>
|
||||
<translation>Oddělovač</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar spacer</source>
|
||||
<translation>Mezera</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIconMenu</name>
|
||||
<message>
|
||||
|
@ -151,6 +151,13 @@ Auto-update status: %5</source>
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsToolBar</name>
|
||||
<message>
|
||||
<source>Toolbar spacer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsView</name>
|
||||
<message>
|
||||
@ -1150,6 +1157,22 @@ Authors of this application are NOT responsible for lost data.</source>
|
||||
<source>custom external browser is not set correctly</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbars</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar for feeds list</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar for messages list</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select toolbar to edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormStandardCategoryDetails</name>
|
||||
@ -1738,6 +1761,45 @@ Go to application website to obtain it manually.</source>
|
||||
<translation>Inhalt der Nachricht.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessagesToolBar</name>
|
||||
<message>
|
||||
<source>Search messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message search box</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Menu for highlighting messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No extra highlighting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Highlight unread messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Highlight important messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display all messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message highlighter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar spacer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessagesView</name>
|
||||
<message>
|
||||
@ -1927,6 +1989,37 @@ Go to application website to obtain it manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ToolBarEditor</name>
|
||||
<message>
|
||||
<source>Dialog</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Activated actions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available actions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Insert separator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Insert spacer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Separator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar spacer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIconMenu</name>
|
||||
<message>
|
||||
|
@ -151,6 +151,13 @@ Auto-update status: %5</source>
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsToolBar</name>
|
||||
<message>
|
||||
<source>Toolbar spacer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsView</name>
|
||||
<message>
|
||||
@ -1148,6 +1155,22 @@ Authors of this application are NOT responsible for lost data.</source>
|
||||
<source>custom external browser is not set correctly</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbars</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar for feeds list</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar for messages list</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select toolbar to edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormStandardCategoryDetails</name>
|
||||
@ -1733,6 +1756,45 @@ Go to application website to obtain it manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessagesToolBar</name>
|
||||
<message>
|
||||
<source>Search messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message search box</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Menu for highlighting messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No extra highlighting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Highlight unread messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Highlight important messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display all messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message highlighter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar spacer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessagesView</name>
|
||||
<message>
|
||||
@ -1922,6 +1984,37 @@ Go to application website to obtain it manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ToolBarEditor</name>
|
||||
<message>
|
||||
<source>Dialog</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Activated actions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available actions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Insert separator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Insert spacer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Separator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar spacer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIconMenu</name>
|
||||
<message>
|
||||
|
@ -157,6 +157,13 @@ Statut de la mise à jour automatique : %5</translation>
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsToolBar</name>
|
||||
<message>
|
||||
<source>Toolbar spacer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsView</name>
|
||||
<message>
|
||||
@ -1172,6 +1179,22 @@ Les auteurs de cette application NE sont PAS responsable de la perte de données
|
||||
<source>custom external browser is not set correctly</source>
|
||||
<translation>Le navigateur externe n'a pas été correctement défini</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbars</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar for feeds list</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar for messages list</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select toolbar to edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormStandardCategoryDetails</name>
|
||||
@ -1761,6 +1784,45 @@ Aller sur le site de l'application pour les obtenir manuellement.</translat
|
||||
<translation>Contenu du message.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessagesToolBar</name>
|
||||
<message>
|
||||
<source>Search messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message search box</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Menu for highlighting messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No extra highlighting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Highlight unread messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Highlight important messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display all messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message highlighter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar spacer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessagesView</name>
|
||||
<message>
|
||||
@ -1950,6 +2012,37 @@ Aller sur le site de l'application pour les obtenir manuellement.</translat
|
||||
<translation type="unfinished">Ouvrir un nouvel onglet de navigation web.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ToolBarEditor</name>
|
||||
<message>
|
||||
<source>Dialog</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Activated actions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available actions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Insert separator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Insert spacer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Separator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar spacer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIconMenu</name>
|
||||
<message>
|
||||
|
@ -158,6 +158,13 @@ Status automatisch bijwerken: %5</translation>
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsToolBar</name>
|
||||
<message>
|
||||
<source>Toolbar spacer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsView</name>
|
||||
<message>
|
||||
@ -1174,6 +1181,22 @@ Auteurs van Rssguard zijn NIET verantwoordelijk voor verlies van gegevens.</tran
|
||||
<source>custom external browser is not set correctly</source>
|
||||
<translation>Aangepaste externe browser in niet correct ingesteld</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbars</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar for feeds list</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar for messages list</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select toolbar to edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormStandardCategoryDetails</name>
|
||||
@ -1763,6 +1786,45 @@ Ga naar RRSguard website en download het handmatig.</translation>
|
||||
<translation>Inhoud van het bericht.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessagesToolBar</name>
|
||||
<message>
|
||||
<source>Search messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message search box</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Menu for highlighting messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No extra highlighting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Highlight unread messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Highlight important messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display all messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message highlighter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar spacer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessagesView</name>
|
||||
<message>
|
||||
@ -1952,6 +2014,37 @@ Ga naar RRSguard website en download het handmatig.</translation>
|
||||
<translation>Open een nieuw webbrowser tabblad.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ToolBarEditor</name>
|
||||
<message>
|
||||
<source>Dialog</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Activated actions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available actions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Insert separator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Insert spacer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Separator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar spacer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrayIconMenu</name>
|
||||
<message>
|
||||
|
BIN
resources/7za/7za.exe
Normal file
BIN
resources/7za/7za.exe
Normal file
Binary file not shown.
@ -29,7 +29,7 @@
|
||||
#include <QDesktopServices>
|
||||
#include <QProcess>
|
||||
|
||||
#if defined(Q_OS_WIN32)
|
||||
#if defined(Q_OS_WIN)
|
||||
#include "qt_windows.h"
|
||||
#endif
|
||||
|
||||
@ -82,7 +82,7 @@ void FormUpdate::checkForUpdates() {
|
||||
m_ui->m_lblAvailableRelease->setText(update.first.m_availableVersion);
|
||||
m_ui->m_txtChanges->setText(update.first.m_changes);
|
||||
|
||||
if (update.first.m_availableVersion >= APP_VERSION) {
|
||||
if (update.first.m_availableVersion > APP_VERSION) {
|
||||
m_ui->m_lblStatus->setStatus(WidgetWithStatus::Ok,
|
||||
tr("New release available."),
|
||||
tr("This is new version which can be\ndownloaded and installed."));
|
||||
@ -116,7 +116,9 @@ void FormUpdate::startUpdate() {
|
||||
// On Windows/OS2 we can update the application right away.
|
||||
// Download the files.
|
||||
QByteArray output;
|
||||
//NetworkFactory::downloadFile(url_file, DOWNLOAD_TIMEOUT, output);
|
||||
QNetworkReply::NetworkError download_result = NetworkFactory::downloadFile(url_file,
|
||||
10 * DOWNLOAD_TIMEOUT,
|
||||
output);
|
||||
|
||||
#if QT_VERSION >= 0x050000
|
||||
QString temp_directory = QStandardPaths::writableLocation(QStandardPaths::TempLocation);
|
||||
@ -128,11 +130,7 @@ void FormUpdate::startUpdate() {
|
||||
QString output_file_name = url_file.mid(url_file.lastIndexOf('/') + 1);
|
||||
QFile output_file(temp_directory + QDir::separator() + output_file_name);
|
||||
|
||||
if (output_file.exists()) {
|
||||
output_file.remove();
|
||||
}
|
||||
|
||||
if (output_file.open(QIODevice::WriteOnly)) {
|
||||
if (output_file.open(QIODevice::WriteOnly | QIODevice::Truncate)) {
|
||||
output_file.write(output);
|
||||
output_file.flush();
|
||||
output_file.close();
|
||||
@ -147,9 +145,10 @@ void FormUpdate::startUpdate() {
|
||||
#if defined(Q_OS_WIN32)
|
||||
ShellExecute(0,
|
||||
0,
|
||||
(wchar_t *)QString("updater.exe").utf16(),
|
||||
(wchar_t *) QString("\"%1\" \"%2\"").arg(qApp->applicationFilePath(),
|
||||
output_file.fileName()).utf16(),
|
||||
(wchar_t *) QString("updater.exe").utf16(),
|
||||
(wchar_t *) QString("\"%1\" \"%2\" \"%3\"").arg(temp_directory,
|
||||
qApp->applicationFilePath(),
|
||||
output_file.fileName()).utf16(),
|
||||
0,
|
||||
SW_SHOWNORMAL);
|
||||
#elif defined(Q_OS_OS2)
|
||||
|
@ -6,7 +6,7 @@ Detector::Detector(QObject *parent) : QObject(parent) {
|
||||
|
||||
void Detector::handleMessage(const QString &message) {
|
||||
if (message == "app_is_running") {
|
||||
qDebug("Detected another instance of RSS Guard/Updater was starting...");
|
||||
qDebug("Another instance of RSS Guard/Updater was starting...");
|
||||
}
|
||||
else if (message == "app_quit") {
|
||||
// zprava na vypnuti, tu ignorujeme.
|
||||
|
@ -22,22 +22,56 @@
|
||||
#include <QDebug>
|
||||
#include <QThread>
|
||||
#include <QProcess>
|
||||
#include <QFileInfo>
|
||||
#include <QDir>
|
||||
|
||||
|
||||
bool removeDir(const QString & dirName) {
|
||||
bool result = true;
|
||||
QDir dir(dirName);
|
||||
|
||||
if (dir.exists(dirName)) {
|
||||
foreach (QFileInfo info, dir.entryInfoList(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden | QDir::AllDirs | QDir::Files, QDir::DirsFirst)) {
|
||||
if (info.isDir()) {
|
||||
result = removeDir(info.absoluteFilePath());
|
||||
}
|
||||
else {
|
||||
result = QFile::remove(info.absoluteFilePath());
|
||||
}
|
||||
|
||||
if (!result) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
result = dir.rmdir(dirName);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
// Instantiate base application object.
|
||||
QtSingleCoreApplication application("rssguard", argc, argv);
|
||||
qDebug("Instantiated QtSingleApplication class.");
|
||||
|
||||
if (argc != 3) {
|
||||
qDebug("Insufficient arguments passed. Quitting updater...");
|
||||
}
|
||||
else {
|
||||
// Print input data.
|
||||
qDebug("RSS Guard application executable: %s", argv[1]);
|
||||
qDebug("File with update to be installed: %s", argv[2]);
|
||||
if (argc != 4) {
|
||||
qDebug("Insufficient arguments passed. Quitting RSS Guard updater...");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
QString temp_directory = QDir::toNativeSeparators(argv[1]);
|
||||
QString rssguard_executable = QDir::toNativeSeparators(argv[2]);
|
||||
QString rssguard_path = QDir::toNativeSeparators(QFileInfo(rssguard_executable).absolutePath());
|
||||
QString update_archive = QDir::toNativeSeparators(argv[3]);
|
||||
|
||||
// Print input data.
|
||||
qDebug("\n===== directories & files =====");
|
||||
qDebug("TEMP folder:\n\t %s", qPrintable(temp_directory));
|
||||
qDebug("RSS Guard application executable:\n\t %s", qPrintable(rssguard_executable));
|
||||
qDebug("RSS Guard application path:\n\t %s", qPrintable(rssguard_path));
|
||||
qDebug("File with update to be installed:\n\t %s", qPrintable(update_archive));
|
||||
qDebug("===== directories & files =====\n");
|
||||
|
||||
// Check if main RSS Guard instance is running.
|
||||
if (application.sendMessage("app_quit")) {
|
||||
qDebug("RSS Guard application is running. Quitting it...");
|
||||
@ -52,10 +86,39 @@ int main(int argc, char *argv[]) {
|
||||
QObject::connect(&application, SIGNAL(messageReceived(QString)),
|
||||
&detector, SLOT(handleMessage(QString)));
|
||||
|
||||
// Everything is set up, file is downloaded, RSS Guard is not running.
|
||||
// TODO: nahradit spravne "/" > "\\" v argumentech pro 7za
|
||||
// https://code.google.com/p/quite-rss/source/browse/src/mainwindow.cpp?repo=updater#393
|
||||
QProcess::startDetached("7za", QStringList() << "e" << argv[2]);
|
||||
QString extractor_program("7za.exe");
|
||||
QStringList arguments;
|
||||
QString output_temp_directory = temp_directory + QDir::separator() + "rssguard";
|
||||
|
||||
// Remove old folders.
|
||||
if (QDir(output_temp_directory).exists()) {
|
||||
removeDir(output_temp_directory);
|
||||
}
|
||||
|
||||
arguments << "x" << update_archive << "-r" <<
|
||||
"-y" << QString("-o%1").arg(output_temp_directory);
|
||||
|
||||
switch (QProcess::execute(extractor_program, arguments)) {
|
||||
case -1:
|
||||
qDebug("\nDecompressor crashed. Upgrading process failed.");
|
||||
return EXIT_FAILURE;
|
||||
|
||||
case -2:
|
||||
qDebug("\nDecompressor was not started successfully. Upgrading process failed.");
|
||||
return EXIT_FAILURE;
|
||||
|
||||
case 0:
|
||||
qDebug("\nDecompression is done.");
|
||||
break;
|
||||
|
||||
default:
|
||||
qDebug("\nUnspecified error occured.");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
// All needed files are now decompressed in temporary directory.
|
||||
// Copy all possible files to RSS Guard application path and
|
||||
// do final cleanup.
|
||||
|
||||
// Enter global event loop.
|
||||
return QtSingleCoreApplication::exec();
|
||||
|
Loading…
x
Reference in New Issue
Block a user