aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Tran <vicr12345@gmail.com>2020-08-03 23:33:12 +1000
committerVictor Tran <vicr12345@gmail.com>2020-08-03 23:33:12 +1000
commit52e80e6d4405e16378471003dd8b30aa920c1f9c (patch)
treeb3b4439f6a1f4d23398a61a78d9678f39afeef3e
parent2917d1830456828461171f3b9e1bffd37eba0b97 (diff)
parentfef992a12c81ad728b44617e02c3f5180c4a3cc0 (diff)
downloadtheInstaller-52e80e6d4405e16378471003dd8b30aa920c1f9c.tar.gz
theInstaller-52e80e6d4405e16378471003dd8b30aa920c1f9c.tar.bz2
theInstaller-52e80e6d4405e16378471003dd8b30aa920c1f9c.zip
Merge branch 'refs/heads/master' into blueprintcontinuousblueprint
-rw-r--r--installer/backgrounds/theBeat.svg42
-rw-r--r--installer/installer.pro8
-rw-r--r--installer/main.cpp2
-rw-r--r--installer/mainwindow.cpp4
-rw-r--r--installer/metadata.txt2
-rw-r--r--installer/process/installworker.cpp67
-rw-r--r--installer/process/removeworker.cpp14
-rw-r--r--installer/resources.qrc5
-rw-r--r--installer/translations/de_DE.qmbin23 -> 6380 bytes
-rw-r--r--installer/translations/de_DE.ts153
-rw-r--r--installer/translations/en_AU.ts18
-rw-r--r--installer/translations/en_GB.ts18
-rw-r--r--installer/translations/en_NZ.ts18
-rw-r--r--installer/translations/en_US.ts18
-rw-r--r--installer/translations/nl_NL.qmbin23 -> 1403 bytes
-rw-r--r--installer/translations/nl_NL.ts153
-rw-r--r--installer/translations/pt_BR.ts18
-rw-r--r--installer/translations/vi_VN.ts18
18 files changed, 390 insertions, 168 deletions
diff --git a/installer/backgrounds/theBeat.svg b/installer/backgrounds/theBeat.svg
index a19b2b1..efa7497 100644
--- a/installer/backgrounds/theBeat.svg
+++ b/installer/backgrounds/theBeat.svg
@@ -95,7 +95,7 @@
inkscape:window-width="2560"
units="px"
showgrid="true"
- inkscape:current-layer="layer1"
+ inkscape:current-layer="layer1-8"
inkscape:document-units="mm"
inkscape:cy="225.7971"
inkscape:cx="225.15375"
@@ -153,17 +153,39 @@
height="148.16666"
x="4.4408921e-16"
y="148.83331" />
- <text
- id="text31"
- y="186.23082"
- x="79.628479"
+ <g
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.1111px;line-height:1.25;font-family:Contemporary;-inkscape-font-specification:Contemporary;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.352778"
- xml:space="preserve"><tspan
+ id="text31"
+ aria-label="theBeat">
+ <path
+ id="path1036"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Contemporary;-inkscape-font-specification:Contemporary;stroke-width:0.352778"
+ d="m 81.632255,185.86393 q 0,0.15522 0.127,0.26811 0.141111,0.0988 0.296333,0.0988 h 0.522111 q 0.155222,0 0.268111,-0.11289 0.112889,-0.11289 0.112889,-0.26811 l -0.04233,-5.74322 h 1.481666 q 0.155222,0 0.268111,-0.11289 0.112889,-0.11289 0.112889,-0.26811 v -0.45155 q 0,-0.15522 -0.112889,-0.26811 -0.112889,-0.11289 -0.268111,-0.11289 h -1.481666 v -2.30011 q 0,-0.15522 -0.112888,-0.26811 -0.112889,-0.11289 -0.268111,-0.11289 h -0.522111 q -0.155222,0 -0.268111,0.11289 -0.112889,0.11289 -0.112889,0.26811 v 2.30011 H 80.27759 q -0.155222,0 -0.268111,0.11289 -0.112889,0.11289 -0.112889,0.26811 v 0.45155 q 0,0.15522 0.112889,0.26811 0.112889,0.11289 0.268111,0.11289 h 1.354665 z" />
+ <path
+ id="path1038"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Contemporary;-inkscape-font-specification:Contemporary;stroke-width:0.352778"
+ d="m 92.856092,185.84982 q 0,0.15522 -0.112889,0.26811 -0.112888,0.11289 -0.26811,0.11289 h -0.522111 q -0.155222,0 -0.268111,-0.11289 -0.112889,-0.11289 -0.112889,-0.26811 v -3.72533 q 0,-1.05833 -0.522111,-1.60867 -0.52211,-0.55033 -1.453443,-0.55033 -0.917221,0 -1.453443,0.55033 -0.522111,0.55034 -0.522111,1.60867 v 3.72533 q 0,0.15522 -0.112889,0.26811 -0.112889,0.11289 -0.268111,0.11289 h -0.52211 q -0.155222,0 -0.268111,-0.11289 -0.112889,-0.11289 -0.112889,-0.26811 v -9.25688 q 0,-0.15522 0.112889,-0.26811 0.112889,-0.11289 0.268111,-0.11289 h 0.52211 q 0.155222,0 0.268111,0.11289 0.112889,0.11289 0.112889,0.26811 v 3.11855 q 0.310444,-0.40922 0.846666,-0.67733 0.550333,-0.28222 1.340555,-0.28222 0.888999,0 1.580443,0.381 0.691444,0.381 1.072443,1.10066 0.395111,0.70556 0.395111,1.67922 z" />
+ <path
+ id="path1040"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Contemporary;-inkscape-font-specification:Contemporary;stroke-width:0.352778"
+ d="m 97.800931,178.75194 q 1.509888,0 2.384779,0.95955 0.87489,0.95956 0.87489,2.61055 v 0.381 q 0,0.15523 -0.11289,0.26812 -0.11289,0.11288 -0.26811,0.11288 h -4.854223 v 0.0847 q 0.02822,0.93133 0.564444,1.46756 0.550333,0.52211 1.41111,0.52211 0.705555,0 1.086555,-0.18345 0.395111,-0.18344 0.705555,-0.52211 0.112889,-0.11289 0.197555,-0.15522 0.09878,-0.0423 0.254004,-0.0423 h 0.42333 q 0.16933,0 0.28222,0.11288 0.11289,0.11289 0.0988,0.26812 -0.0564,0.381 -0.42333,0.79022 -0.35278,0.39511 -1.030115,0.67733 -0.663221,0.26811 -1.594554,0.26811 -0.90311,0 -1.608665,-0.40922 -0.705555,-0.42333 -1.128888,-1.15711 -0.409222,-0.73378 -0.493889,-1.651 -0.02822,-0.42333 -0.02822,-0.64911 0,-0.22578 0.02822,-0.64911 0.08467,-0.87489 0.493889,-1.58044 0.423333,-0.70556 1.114777,-1.11478 0.705555,-0.40922 1.622776,-0.40922 z m 1.989665,3.14677 v -0.0423 q 0,-0.86078 -0.550333,-1.36878 -0.536222,-0.52211 -1.439332,-0.52211 -0.818444,0 -1.396999,0.52211 -0.564444,0.52211 -0.578555,1.36878 v 0.0423 z" />
+ <path
+ id="path1042"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Contemporary;-inkscape-font-specification:Contemporary;stroke-width:0.352778"
+ d="m 102.91819,176.73405 q 0,-0.15522 0.11289,-0.26811 0.11289,-0.11289 0.26811,-0.11289 h 3.78177 q 1.11478,0 1.80622,0.43744 0.69145,0.42334 0.98778,1.03011 0.29633,0.60678 0.29633,1.18534 0,0.79022 -0.381,1.28411 -0.381,0.47977 -0.74788,0.70555 0.59266,0.39511 0.95955,1.016 0.381,0.60678 0.381,1.35467 0,0.73377 -0.36689,1.397 -0.35278,0.64911 -1.05833,1.05833 -0.70556,0.40922 -1.67922,0.40922 h -3.97933 q -0.15522,0 -0.26811,-0.11289 -0.11289,-0.11289 -0.11289,-0.26811 z m 1.34055,3.73944 h 2.68111 q 0.93133,0 1.41111,-0.36689 0.47978,-0.36689 0.47978,-1.05833 0,-0.69144 -0.47978,-1.05833 -0.47978,-0.36689 -1.41111,-0.36689 h -2.68111 z m 0,4.48733 h 2.87867 q 0.90311,0 1.397,-0.45155 0.508,-0.46567 0.508,-1.143 0,-0.69145 -0.47978,-1.15711 -0.47978,-0.46567 -1.42522,-0.46567 h -2.87867 z" />
+ <path
+ id="path1044"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Contemporary;-inkscape-font-specification:Contemporary;stroke-width:0.352778"
+ d="m 115.08152,178.75194 q 1.50988,0 2.38477,0.95955 0.87489,0.95956 0.87489,2.61055 v 0.381 q 0,0.15523 -0.11289,0.26812 -0.11289,0.11288 -0.26811,0.11288 h -4.85422 v 0.0847 q 0.0282,0.93133 0.56445,1.46756 0.55033,0.52211 1.41111,0.52211 0.70555,0 1.08655,-0.18345 0.39511,-0.18344 0.70556,-0.52211 0.11288,-0.11289 0.19755,-0.15522 0.0988,-0.0423 0.254,-0.0423 h 0.42333 q 0.16934,0 0.28223,0.11288 0.11288,0.11289 0.0988,0.26812 -0.0564,0.381 -0.42333,0.79022 -0.35278,0.39511 -1.03011,0.67733 -0.66322,0.26811 -1.59455,0.26811 -0.90312,0 -1.60867,-0.40922 -0.70556,-0.42333 -1.12889,-1.15711 -0.40922,-0.73378 -0.49389,-1.651 -0.0282,-0.42333 -0.0282,-0.64911 0,-0.22578 0.0282,-0.64911 0.0847,-0.87489 0.49389,-1.58044 0.42333,-0.70556 1.11478,-1.11478 0.70555,-0.40922 1.62278,-0.40922 z m 1.98966,3.14677 v -0.0423 q 0,-0.86078 -0.55033,-1.36878 -0.53622,-0.52211 -1.43933,-0.52211 -0.81845,0 -1.397,0.52211 -0.56445,0.52211 -0.57856,1.36878 v 0.0423 z" />
+ <path
+ id="path1046"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Contemporary;-inkscape-font-specification:Contemporary;stroke-width:0.352778"
+ d="m 124.40388,181.58827 v -0.18345 q 0,-0.69144 -0.46567,-1.05833 -0.45155,-0.381 -1.18533,-0.381 -0.56444,0 -0.889,0.19756 -0.31044,0.18344 -0.59266,0.56444 -0.0847,0.11289 -0.18345,0.15522 -0.0988,0.0423 -0.26811,0.0423 h -0.42333 q -0.15522,0 -0.28222,-0.11289 -0.11289,-0.11289 -0.0988,-0.26811 0.0423,-0.42334 0.40922,-0.83256 0.381,-0.42333 1.00189,-0.69144 0.62089,-0.26811 1.32644,-0.26811 1.31233,0 2.11667,0.73377 0.81844,0.73378 0.81844,2.06022 v 4.30389 q 0,0.15522 -0.11289,0.26811 -0.11289,0.11289 -0.26811,0.11289 h -0.52211 q -0.15522,0 -0.26811,-0.11289 -0.11289,-0.11289 -0.11289,-0.26811 v -0.57856 q -0.22578,0.508 -0.95955,0.80434 -0.73378,0.29633 -1.46756,0.29633 -0.71966,0 -1.28411,-0.254 -0.56444,-0.26811 -0.87489,-0.71967 -0.29633,-0.45155 -0.29633,-1.01599 0,-1.05834 0.79022,-1.651 0.79022,-0.60678 2.10256,-0.81845 z m 0,1.12889 -1.66511,0.26811 q -0.91722,0.14111 -1.42522,0.46566 -0.508,0.31045 -0.508,0.79022 0,0.35278 0.32456,0.635 0.32455,0.28223 0.98777,0.28223 1.016,0 1.651,-0.57856 0.635,-0.57855 0.635,-1.50989 z" />
+ <path
+ id="path1048"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Contemporary;-inkscape-font-specification:Contemporary;stroke-width:0.352778"
- y="186.23082"
- x="79.628479"
- id="tspan29"
- sodipodi:role="line">theBeat</tspan></text>
+ d="m 128.62332,185.86393 q 0,0.15522 0.127,0.26811 0.14111,0.0988 0.29633,0.0988 h 0.52211 q 0.15523,0 0.26812,-0.11289 0.11288,-0.11289 0.11288,-0.26811 l -0.0423,-5.74322 h 1.48167 q 0.15522,0 0.26811,-0.11289 0.11289,-0.11289 0.11289,-0.26811 v -0.45155 q 0,-0.15522 -0.11289,-0.26811 -0.11289,-0.11289 -0.26811,-0.11289 h -1.48167 v -2.30011 q 0,-0.15522 -0.11289,-0.26811 -0.11289,-0.11289 -0.26811,-0.11289 h -0.52211 q -0.15522,0 -0.26811,0.11289 -0.11289,0.11289 -0.11289,0.26811 v 2.30011 h -1.35466 q -0.15523,0 -0.26812,0.11289 -0.11288,0.11289 -0.11288,0.26811 v 0.45155 q 0,0.15522 0.11288,0.26811 0.11289,0.11289 0.26812,0.11289 h 1.35466 z" />
+ </g>
<path
transform="matrix(0.3527778,0,0,0.35277776,1.6000001e-6,148.83332)"
d="M 0 18.097656 L 0 235.85547 L 24.419922 326.95508 A 25.653601 25.653598 65.682898 0 0 55.808594 345.10938 A 25.653601 25.653598 65.682898 0 0 73.960938 313.7207 L 35.150391 168.92578 A 25.653601 25.653598 65.682898 0 0 35.064453 168.66992 C 18.741887 107.51099 33.989742 45.708947 70.650391 0 L 9.2460938 0 C 5.9042348 5.8934062 2.8454243 11.943914 0 18.097656 z M 219 165 L 364 475 L 219 165 z M 129.52539 230.64648 C 125.11375 230.76951 120.76134 231.37124 116.54883 232.5 L 161.6875 400.97852 C 195.40035 391.95932 220.07226 349.22396 211.03711 315.51562 L 202.00977 281.85156 C 194.12026 252.3766 160.40678 229.78447 129.52539 230.64648 z "
diff --git a/installer/installer.pro b/installer/installer.pro
index bbf1fc5..7807523 100644
--- a/installer/installer.pro
+++ b/installer/installer.pro
@@ -5,10 +5,10 @@
#-------------------------------------------------
QT += core gui network svg winextras
-CONFIG += static
+CONFIG += static c++17
INCLUDEPATH += "C:/Program Files (x86)/zlib/include"
-LIBS += -L"C:/Program Files (x86)/zlib/lib" -lzlibstat -llegacy_stdio_definitions
+LIBS += -L"C:/Program Files (x86)/zlib/lib" -lzlibstat -llegacy_stdio_definitions -lwindowsapp
DEFINES += QUAZIP_STATIC ZLIB_WINAPI
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
@@ -208,7 +208,9 @@ TRANSLATIONS += \
translations/en_US.ts \
translations/en_GB.ts \
translations/en_AU.ts \
- translations/en_NZ.ts
+ translations/en_NZ.ts \
+ translations/de_DE.ts \
+ translations/nl_NL.ts
qtPrepareTool(LUPDATE, lupdate)
genlang.commands = "$$LUPDATE -no-obsolete -source-language en_US $$_PRO_FILE_"
diff --git a/installer/main.cpp b/installer/main.cpp
index 198c5f1..194807a 100644
--- a/installer/main.cpp
+++ b/installer/main.cpp
@@ -26,7 +26,7 @@ int main(int argc, char *argv[])
a.installTranslator(&qtTranslator);
QTranslator myappTranslator;
- myappTranslator.load(QLocale::system().name(), ":/translations/");
+ myappTranslator.load(QLocale(), ":/translations/");
a.installTranslator(&myappTranslator);
qsrand(QDateTime::currentMSecsSinceEpoch());
diff --git a/installer/mainwindow.cpp b/installer/mainwindow.cpp
index 8acd8eb..c98c4fc 100644
--- a/installer/mainwindow.cpp
+++ b/installer/mainwindow.cpp
@@ -330,6 +330,10 @@ void MainWindow::on_installButton_clicked()
args.append("\"--vendor " + metadata.value("vendor").toString() + "\"");
args.append("\"--name " + metadata.value("name").toString() + "\"");
+ if (metadata.contains("clsid")) {
+ args.append("\"--clsid " + metadata.value("clsid").toString() + "\"");
+ }
+
QString destdir = ui->installPathLineEdit->text();
if (destdir.endsWith("\\")) {
destdir.append("\\");
diff --git a/installer/metadata.txt b/installer/metadata.txt
index e7b27c7..5f3fde9 100644
--- a/installer/metadata.txt
+++ b/installer/metadata.txt
@@ -1 +1 @@
-https://vicr123.com/thebeat/theinstaller/installer.json \ No newline at end of file
+file:///C:/Users/victo/Documents/Website/MainSite/thebeat/theinstaller/installer.json \ No newline at end of file
diff --git a/installer/process/installworker.cpp b/installer/process/installworker.cpp
index d4f5c5b..e1c0dbc 100644
--- a/installer/process/installworker.cpp
+++ b/installer/process/installworker.cpp
@@ -1,5 +1,15 @@
#include "installworker.h"
+#include <unknwn.h>
+#include <winrt/base.h>
+#include <winrt/Windows.Foundation.h>
+#include <propkey.h>
+#include <propsys.h>
+#include <propvarutil.h>
+#include <shlobj.h>
+#include <objidl.h>
+
+
extern QString calculateSize(quint64 size);
InstallWorker::InstallWorker(QObject *parent) : QObject(parent)
@@ -8,7 +18,7 @@ InstallWorker::InstallWorker(QObject *parent) : QObject(parent)
bool InstallWorker::startWork() {
QLocalSocket* sock = new QLocalSocket();
- QString vendor, name, url, destPath, executable;
+ QString vendor, name, url, destPath, executable, clsid;
bool isStableStream = true, isGlobalInstall = true;
QString previousToken;
@@ -26,10 +36,12 @@ bool InstallWorker::startWork() {
destPath = arg;
} else if (previousToken == "--executable") {
executable = arg;
+ } else if (previousToken == "--clsid") {
+ clsid = arg;
}
previousToken = "";
} else {
- if (arg == "--socket" || arg == "--vendor" || arg == "--name" || arg == "--url" || arg == "--destdir" || arg == "--executable") {
+ if (arg == "--socket" || arg == "--vendor" || arg == "--name" || arg == "--url" || arg == "--destdir" || arg == "--executable" || arg == "--clsid") {
previousToken = arg;
} else if (arg == "--blueprint") {
isStableStream = false;
@@ -135,9 +147,54 @@ bool InstallWorker::startWork() {
if (QFile::exists(linkFile)) {
QFile::remove(linkFile);
}
- QFile::link(executableFile.absoluteFilePath(), linkFile);
QFile::copy(QApplication::applicationFilePath(), dest.absoluteFilePath("uninstall.exe"));
+ bool shouldUseQFileLink = false;
+ if (!clsid.isEmpty()) {
+ QString appUMID = QStringLiteral("%1.%2").arg(vendor.toLower()).arg(name.toLower());
+ QSettings* comServer;
+ if (isGlobalInstall) {
+ comServer = new QSettings(QStringLiteral("HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\%1\\LocalServer32").arg(clsid), QSettings::NativeFormat);
+ } else {
+ comServer = new QSettings(QStringLiteral("HKEY_CURRENT_USER\\SOFTWARE\\Classes\\CLSID\\%1\\LocalServer32").arg(clsid), QSettings::NativeFormat);
+ }
+
+ comServer->setValue(".", "\"" + executableFile.absoluteFilePath() + "\" -ToastActivated");
+
+ comServer->deleteLater();
+
+ try {
+ auto link{ winrt::create_instance<IShellLink>(CLSID_ShellLink) };
+ winrt::check_hresult(link->SetPath(executableFile.absoluteFilePath().toStdWString().c_str()));
+
+ auto store = link.as<IPropertyStore>();
+ PROPVARIANT value;
+ winrt::check_hresult(::InitPropVariantFromString(appUMID.toStdWString().c_str(), &value));
+ winrt::check_hresult(store->SetValue(PKEY_AppUserModel_ID, value));
+ ::PropVariantClear(&value);
+
+ CLSID clsidVar;
+ winrt::check_hresult(::CLSIDFromString(clsid.toStdWString().c_str(), &clsidVar));
+ winrt::check_hresult(::InitPropVariantFromCLSID(clsidVar, &value));
+ winrt::check_hresult(store->SetValue(PKEY_AppUserModel_ToastActivatorCLSID, value));
+
+ auto file{ store.as<IPersistFile>() };
+ winrt::check_hresult(file->Save(linkFile.toStdWString().c_str(), TRUE));
+
+ ::PropVariantClear(&value);
+ } catch (...) {
+ sock->write(QString("DEBUG Error while creating link; falling back to QFile::link\n").toUtf8());
+
+ shouldUseQFileLink = true;
+ }
+ } else {
+ shouldUseQFileLink = true;
+ }
+
+ if (shouldUseQFileLink) {
+ QFile::link(executableFile.absoluteFilePath(), linkFile);
+ }
+
QJsonObject dataRoot;
dataRoot.insert("vendor", vendor);
dataRoot.insert("name", name);
@@ -147,6 +204,10 @@ bool InstallWorker::startWork() {
dataRoot.insert("stream", isStableStream);
dataRoot.insert("registryUuid", name);
+ if (!clsid.isEmpty()) {
+ dataRoot.insert("clsid", clsid);
+ }
+
QSettings* settings;
if (isGlobalInstall) {
settings = new QSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" + name, QSettings::NativeFormat);
diff --git a/installer/process/removeworker.cpp b/installer/process/removeworker.cpp
index 5356f26..39a890b 100644
--- a/installer/process/removeworker.cpp
+++ b/installer/process/removeworker.cpp
@@ -74,6 +74,20 @@ bool RemoveWorker::startWork() {
QDir dest(metadata.value("installPath").toString());
dest.removeRecursively();
+ if (metadata.contains("clsid")) {
+ QSettings* comServer;
+ if (metadata.value("global").toBool()) {
+ comServer = new QSettings(QStringLiteral("HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID"), QSettings::NativeFormat);
+ } else {
+ comServer = new QSettings(QStringLiteral("HKEY_CURRENT_USER\\SOFTWARE\\Classes\\CLSID"), QSettings::NativeFormat);
+ }
+
+ comServer->remove(metadata.value("clsid").toString());
+ comServer->sync();
+
+ comServer->deleteLater();
+ }
+
//Remove registry entry
QSettings* settings;
if (metadata.value("global").toBool()) {
diff --git a/installer/resources.qrc b/installer/resources.qrc
index e300594..6f99058 100644
--- a/installer/resources.qrc
+++ b/installer/resources.qrc
@@ -11,5 +11,10 @@
<file>translations/en_US.qm</file>
<file>licenses/gpl3.html</file>
<file>icons/go-previous.svg</file>
+ <file>translations/de_DE.qm</file>
+ <file>translations/nl_NL.qm</file>
+ <file>translations/it_IT.qm</file>
+ <file>translations/pl_PL.qm</file>
+ <file>translations/sv_SE.qm</file>
</qresource>
</RCC>
diff --git a/installer/translations/de_DE.qm b/installer/translations/de_DE.qm
index 9dad8df..f0a87c6 100644
--- a/installer/translations/de_DE.qm
+++ b/installer/translations/de_DE.qm
Binary files differ
diff --git a/installer/translations/de_DE.ts b/installer/translations/de_DE.ts
index 62227f1..8ca7ec8 100644
--- a/installer/translations/de_DE.ts
+++ b/installer/translations/de_DE.ts
@@ -4,50 +4,58 @@
<context>
<name>InstallWorker</name>
<message>
- <location filename="../process/installworker.cpp" line="65"/>
- <location filename="../process/installworker.cpp" line="184"/>
+ <location filename="../process/installworker.cpp" line="88"/>
+ <location filename="../process/installworker.cpp" line="248"/>
<source>Downloading %1...</source>
<translation>Downloade %1...</translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="88"/>
+ <location filename="../process/installworker.cpp" line="117"/>
<source>Unpacking %1...</source>
<translation>Entpacke %1...</translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="102"/>
+ <location filename="../process/installworker.cpp" line="134"/>
<source>Configuring %1...</source>
<translation>Konfiguriere %1...</translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="193"/>
+ <location filename="../process/installworker.cpp" line="257"/>
<source>%1 of %2</source>
<translation>%1 von %2</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="205"/>
+ <location filename="../process/installworker.cpp" line="269"/>
<source>%n days remaining</source>
- <translation><numerusform>%n Tag übrig</numerusform>
- <numerusform>%n Tage übrig</numerusform>
- </translation></message>
+ <translation>
+ <numerusform>%n Tag übrig</numerusform>
+ <numerusform>%n Tage übrig</numerusform>
+ </translation>
+ </message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="207"/>
+ <location filename="../process/installworker.cpp" line="271"/>
<source>%n hours remaining</source>
- <translation><numerusform>%n Stunde übrig</numerusform>
- <numerusform>%n Stunden übrig</numerusform>
- </translation></message>
+ <translation>
+ <numerusform>%n Stunde übrig</numerusform>
+ <numerusform>%n Stunden übrig</numerusform>
+ </translation>
+ </message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="209"/>
+ <location filename="../process/installworker.cpp" line="273"/>
<source>%n minutes remaining</source>
- <translation><numerusform>%n Minute übrig</numerusform>
- <numerusform>%n Minuten übrig</numerusform>
- </translation></message>
+ <translation>
+ <numerusform>%n Minute übrig</numerusform>
+ <numerusform>%n Minuten übrig</numerusform>
+ </translation>
+ </message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="211"/>
+ <location filename="../process/installworker.cpp" line="275"/>
<source>%n seconds remaining</source>
- <translation><numerusform>%n Sekunde übrig</numerusform>
- <numerusform>%n Sekunden übrig</numerusform>
- </translation></message>
+ <translation>
+ <numerusform>%n Sekunde übrig</numerusform>
+ <numerusform>%n Sekunden übrig</numerusform>
+ </translation>
+ </message>
</context>
<context>
<name>MainWindow</name>
@@ -73,7 +81,7 @@
</message>
<message>
<location filename="../mainwindow.ui" line="225"/>
- <location filename="../mainwindow.ui" line="481"/>
+ <location filename="../mainwindow.ui" line="527"/>
<source>Install Now</source>
<translation>Jetzt Installieren</translation>
</message>
@@ -83,107 +91,156 @@
<translation>Installationsoptionen</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="339"/>
+ <location filename="../mainwindow.ui" line="385"/>
<source>Install To</source>
<translation>Installieren unter</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="349"/>
+ <location filename="../mainwindow.ui" line="395"/>
<source>Install for</source>
<translation>Installiere für</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="356"/>
+ <location filename="../mainwindow.ui" line="402"/>
<source>Stream</source>
<translation></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="363"/>
+ <location filename="../mainwindow.ui" line="409"/>
<source>Browse...</source>
<translation>Durchsuchen...</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="391"/>
+ <location filename="../mainwindow.ui" line="437"/>
<source>Everyone</source>
<translation>Jeden</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="407"/>
+ <location filename="../mainwindow.ui" line="453"/>
<source>This user only</source>
<translation>Diesen Benutzer</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="438"/>
+ <location filename="../mainwindow.ui" line="484"/>
<source>Stable</source>
<translation>Stabil</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="454"/>
+ <location filename="../mainwindow.ui" line="500"/>
<source>Blueprint</source>
<translation>Entwurf</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="606"/>
+ <location filename="../mainwindow.ui" line="640"/>
+ <source>Cancel</source>
+ <translation>Abbrechen</translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.ui" line="682"/>
<source>Installation is complete.</source>
<translation>Instalation ist Komplett.</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="668"/>
+ <location filename="../mainwindow.ui" line="744"/>
<source>Finish</source>
<translation>Fertig</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="723"/>
+ <location filename="../mainwindow.ui" line="799"/>
<source>Installation failed.</source>
<translation>Installation fehlgeschlagen.</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="748"/>
+ <location filename="../mainwindow.ui" line="824"/>
<source>Exit</source>
<translation>Beenden</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="755"/>
+ <location filename="../mainwindow.ui" line="831"/>
<source>Try Again</source>
<translation>Erneut Versuchen</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="39"/>
+ <location filename="../mainwindow.cpp" line="58"/>
<source>Invalid metadata was received</source>
<translation>Ungültige Metadaten wurden empfangen</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="46"/>
+ <location filename="../mainwindow.cpp" line="65"/>
<source>Application name not in metadata</source>
<translation>Anwendungsname nicht in den Metadaten</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="56"/>
+ <location filename="../mainwindow.cpp" line="75"/>
<source>Open %1</source>
<translation>%1 öffnen</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="57"/>
+ <location filename="../mainwindow.cpp" line="76"/>
<source>Install %1</source>
<translation>%1 installieren</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="65"/>
+ <location filename="../mainwindow.cpp" line="108"/>
+ <source>Update Now</source>
+ <translation>Jetzt aktualisieren</translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="125"/>
+ <location filename="../mainwindow.cpp" line="126"/>
+ <source>GNU General Public License, version 3</source>
+ <translation>GNU General Public License, Version 3</translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="130"/>
+ <location filename="../mainwindow.cpp" line="131"/>
+ <source>GNU General Public License, version 3, or later</source>
+ <translation>GNU General Public License, Version 3, oder neuer</translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="135"/>
+ <location filename="../mainwindow.cpp" line="136"/>
+ <source>GNU General Public License, version 2</source>
+ <translation>GNU General Public License, Version 2</translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="140"/>
+ <location filename="../mainwindow.cpp" line="141"/>
+ <source>GNU General Public License, version 2, or later</source>
+ <translation>GNU General Public License, Version 2, oder neuer</translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="148"/>
+ <source>By installing %1, you&apos;re indicating agreement to the terms of the %2.</source>
+ <translation>Durch die Installation von %1, erklärst du dich mit den Lizenzbestimmungen der %2 einverstanden.</translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="162"/>
<source>Couldn&apos;t retrieve metadata</source>
<translation>Metadaten konnten nicht abgerufen werden</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="69"/>
+ <location filename="../mainwindow.cpp" line="166"/>
<source>Couldn&apos;t connect securely to the server</source>
<translation>Konnte keine sichere Verbindung zum Server herstellen</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="119"/>
+ <location filename="../mainwindow.cpp" line="248"/>
+ <source>%1 currently running</source>
+ <translation>%1 wird gerade ausgeführt</translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="248"/>
+ <source>Before we continue, you&apos;ll need to close %1.</source>
+ <translation>Bevor wir fortfahren, müssen Sie %1 schließen.</translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="260"/>
<source>Getting ready to install %1...</source>
<translation>Bereite die Installation von %1 vor...</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="159"/>
+ <location filename="../mainwindow.cpp" line="306"/>
<source>Warning</source>
<translation>Warnung</translation>
</message>
@@ -232,27 +289,27 @@
<translation>Versuch es noch einmal</translation>
</message>
<message>
- <location filename="../maintainwindow.cpp" line="35"/>
+ <location filename="../maintainwindow.cpp" line="43"/>
<source>Modify %1</source>
<translation>%1 verändern</translation>
</message>
<message>
- <location filename="../maintainwindow.cpp" line="36"/>
+ <location filename="../maintainwindow.cpp" line="44"/>
<source>Are you sure you want to uninstall %1?</source>
<translation>Sind Sie sicher, dass Sie %1 deinstallieren möchten?</translation>
</message>
<message>
- <location filename="../maintainwindow.cpp" line="90"/>
+ <location filename="../maintainwindow.cpp" line="98"/>
<source>%1 currently running</source>
<translation>%1 wird gerade ausgeführt</translation>
</message>
<message>
- <location filename="../maintainwindow.cpp" line="90"/>
+ <location filename="../maintainwindow.cpp" line="98"/>
<source>Before we continue, you&apos;ll need to close %1.</source>
<translation>Bevor wir fortfahren, müssen Sie %1 schließen.</translation>
</message>
<message>
- <location filename="../maintainwindow.cpp" line="111"/>
+ <location filename="../maintainwindow.cpp" line="119"/>
<source>Getting ready to uninstall %1...</source>
<translation>Bereite die Deinstallation von %1 vor...</translation>
</message>
diff --git a/installer/translations/en_AU.ts b/installer/translations/en_AU.ts
index ad52e4f..4f069fe 100644
--- a/installer/translations/en_AU.ts
+++ b/installer/translations/en_AU.ts
@@ -4,28 +4,28 @@
<context>
<name>InstallWorker</name>
<message>
- <location filename="../process/installworker.cpp" line="76"/>
- <location filename="../process/installworker.cpp" line="187"/>
+ <location filename="../process/installworker.cpp" line="88"/>
+ <location filename="../process/installworker.cpp" line="248"/>
<source>Downloading %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="105"/>
+ <location filename="../process/installworker.cpp" line="117"/>
<source>Unpacking %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="122"/>
+ <location filename="../process/installworker.cpp" line="134"/>
<source>Configuring %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="196"/>
+ <location filename="../process/installworker.cpp" line="257"/>
<source>%1 of %2</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="208"/>
+ <location filename="../process/installworker.cpp" line="269"/>
<source>%n days remaining</source>
<translation>
<numerusform>%n day remaining</numerusform>
@@ -33,7 +33,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="210"/>
+ <location filename="../process/installworker.cpp" line="271"/>
<source>%n hours remaining</source>
<translation>
<numerusform>%n hour remaining</numerusform>
@@ -41,7 +41,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="212"/>
+ <location filename="../process/installworker.cpp" line="273"/>
<source>%n minutes remaining</source>
<translation>
<numerusform>%n minute remaining</numerusform>
@@ -49,7 +49,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="214"/>
+ <location filename="../process/installworker.cpp" line="275"/>
<source>%n seconds remaining</source>
<translation>
<numerusform>%n second remaining</numerusform>
diff --git a/installer/translations/en_GB.ts b/installer/translations/en_GB.ts
index c5c91fa..f5a21be 100644
--- a/installer/translations/en_GB.ts
+++ b/installer/translations/en_GB.ts
@@ -4,28 +4,28 @@
<context>
<name>InstallWorker</name>
<message>
- <location filename="../process/installworker.cpp" line="76"/>
- <location filename="../process/installworker.cpp" line="187"/>
+ <location filename="../process/installworker.cpp" line="88"/>
+ <location filename="../process/installworker.cpp" line="248"/>
<source>Downloading %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="105"/>
+ <location filename="../process/installworker.cpp" line="117"/>
<source>Unpacking %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="122"/>
+ <location filename="../process/installworker.cpp" line="134"/>
<source>Configuring %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="196"/>
+ <location filename="../process/installworker.cpp" line="257"/>
<source>%1 of %2</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="208"/>
+ <location filename="../process/installworker.cpp" line="269"/>
<source>%n days remaining</source>
<translation>
<numerusform>%n day remaining</numerusform>
@@ -33,7 +33,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="210"/>
+ <location filename="../process/installworker.cpp" line="271"/>
<source>%n hours remaining</source>
<translation>
<numerusform>%n hour remaining</numerusform>
@@ -41,7 +41,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="212"/>
+ <location filename="../process/installworker.cpp" line="273"/>
<source>%n minutes remaining</source>
<translation>
<numerusform>%n minute remaining</numerusform>
@@ -49,7 +49,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="214"/>
+ <location filename="../process/installworker.cpp" line="275"/>
<source>%n seconds remaining</source>
<translation>
<numerusform>%n second remaining</numerusform>
diff --git a/installer/translations/en_NZ.ts b/installer/translations/en_NZ.ts
index 3ebdf8d..2a359c9 100644
--- a/installer/translations/en_NZ.ts
+++ b/installer/translations/en_NZ.ts
@@ -4,28 +4,28 @@
<context>
<name>InstallWorker</name>
<message>
- <location filename="../process/installworker.cpp" line="76"/>
- <location filename="../process/installworker.cpp" line="187"/>
+ <location filename="../process/installworker.cpp" line="88"/>
+ <location filename="../process/installworker.cpp" line="248"/>
<source>Downloading %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="105"/>
+ <location filename="../process/installworker.cpp" line="117"/>
<source>Unpacking %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="122"/>
+ <location filename="../process/installworker.cpp" line="134"/>
<source>Configuring %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="196"/>
+ <location filename="../process/installworker.cpp" line="257"/>
<source>%1 of %2</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="208"/>
+ <location filename="../process/installworker.cpp" line="269"/>
<source>%n days remaining</source>
<translation>
<numerusform>%n day remaining</numerusform>
@@ -33,7 +33,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="210"/>
+ <location filename="../process/installworker.cpp" line="271"/>
<source>%n hours remaining</source>
<translation>
<numerusform>%n hour remaining</numerusform>
@@ -41,7 +41,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="212"/>
+ <location filename="../process/installworker.cpp" line="273"/>
<source>%n minutes remaining</source>
<translation>
<numerusform>%n minute remaining</numerusform>
@@ -49,7 +49,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="214"/>
+ <location filename="../process/installworker.cpp" line="275"/>
<source>%n seconds remaining</source>
<translation>
<numerusform>%n second remaining</numerusform>
diff --git a/installer/translations/en_US.ts b/installer/translations/en_US.ts
index 318121f..2ecdc2c 100644
--- a/installer/translations/en_US.ts
+++ b/installer/translations/en_US.ts
@@ -4,28 +4,28 @@
<context>
<name>InstallWorker</name>
<message>
- <location filename="../process/installworker.cpp" line="76"/>
- <location filename="../process/installworker.cpp" line="187"/>
+ <location filename="../process/installworker.cpp" line="88"/>
+ <location filename="../process/installworker.cpp" line="248"/>
<source>Downloading %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="105"/>
+ <location filename="../process/installworker.cpp" line="117"/>
<source>Unpacking %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="122"/>
+ <location filename="../process/installworker.cpp" line="134"/>
<source>Configuring %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="196"/>
+ <location filename="../process/installworker.cpp" line="257"/>
<source>%1 of %2</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="208"/>
+ <location filename="../process/installworker.cpp" line="269"/>
<source>%n days remaining</source>
<translation>
<numerusform>%n day remaining</numerusform>
@@ -33,7 +33,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="210"/>
+ <location filename="../process/installworker.cpp" line="271"/>
<source>%n hours remaining</source>
<translation>
<numerusform>%n hour remaining</numerusform>
@@ -41,7 +41,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="212"/>
+ <location filename="../process/installworker.cpp" line="273"/>
<source>%n minutes remaining</source>
<translation>
<numerusform>%n minute remaining</numerusform>
@@ -49,7 +49,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="214"/>
+ <location filename="../process/installworker.cpp" line="275"/>
<source>%n seconds remaining</source>
<translation>
<numerusform>%n second remaining</numerusform>
diff --git a/installer/translations/nl_NL.qm b/installer/translations/nl_NL.qm
index 9dad8df..844fe6f 100644
--- a/installer/translations/nl_NL.qm
+++ b/installer/translations/nl_NL.qm
Binary files differ
diff --git a/installer/translations/nl_NL.ts b/installer/translations/nl_NL.ts
index ef11631..ccfad6f 100644
--- a/installer/translations/nl_NL.ts
+++ b/installer/translations/nl_NL.ts
@@ -4,50 +4,58 @@
<context>
<name>InstallWorker</name>
<message>
- <location filename="../process/installworker.cpp" line="65"/>
- <location filename="../process/installworker.cpp" line="184"/>
+ <location filename="../process/installworker.cpp" line="88"/>
+ <location filename="../process/installworker.cpp" line="248"/>
<source>Downloading %1...</source>
<translation>%1 Downloaden...</translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="88"/>
+ <location filename="../process/installworker.cpp" line="117"/>
<source>Unpacking %1...</source>
<translation>%1 Uitpakken...</translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="102"/>
+ <location filename="../process/installworker.cpp" line="134"/>
<source>Configuring %1...</source>
<translation>%1 Instellen...</translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="193"/>
+ <location filename="../process/installworker.cpp" line="257"/>
<source>%1 of %2</source>
<translation>%1 van %2</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="205"/>
+ <location filename="../process/installworker.cpp" line="269"/>
<source>%n days remaining</source>
- <translation><numerusform>%n dag resterend</numerusform>
- <numerusform>%n dagen resterend</numerusform>
- </translation></message>
+ <translation>
+ <numerusform>%n dag resterend</numerusform>
+ <numerusform>%n dagen resterend</numerusform>
+ </translation>
+ </message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="207"/>
+ <location filename="../process/installworker.cpp" line="271"/>
<source>%n hours remaining</source>
- <translation><numerusform>%n uur resterend</numerusform>
- <numerusform>%n uren resterend</numerusform>
- </translation></message>
+ <translation>
+ <numerusform>%n uur resterend</numerusform>
+ <numerusform>%n uren resterend</numerusform>
+ </translation>
+ </message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="209"/>
+ <location filename="../process/installworker.cpp" line="273"/>
<source>%n minutes remaining</source>
- <translation><numerusform>%n minuut resterend</numerusform>
- <numerusform>%n minuten resterend</numerusform>
- </translation></message>
+ <translation>
+ <numerusform>%n minuut resterend</numerusform>
+ <numerusform>%n minuten resterend</numerusform>
+ </translation>
+ </message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="211"/>
+ <location filename="../process/installworker.cpp" line="275"/>
<source>%n seconds remaining</source>
- <translation><numerusform>%n seconde resterend</numerusform>
- <numerusform>%n seconden resterend</numerusform>
- </translation></message>
+ <translation>
+ <numerusform>%n seconde resterend</numerusform>
+ <numerusform>%n seconden resterend</numerusform>
+ </translation>
+ </message>
</context>
<context>
<name>MainWindow</name>
@@ -73,7 +81,7 @@
</message>
<message>
<location filename="../mainwindow.ui" line="225"/>
- <location filename="../mainwindow.ui" line="481"/>
+ <location filename="../mainwindow.ui" line="527"/>
<source>Install Now</source>
<translation>Nu Installeren</translation>
</message>
@@ -83,107 +91,156 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="339"/>
+ <location filename="../mainwindow.ui" line="385"/>
<source>Install To</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="349"/>
+ <location filename="../mainwindow.ui" line="395"/>
<source>Install for</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="356"/>
+ <location filename="../mainwindow.ui" line="402"/>
<source>Stream</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="363"/>
+ <location filename="../mainwindow.ui" line="409"/>
<source>Browse...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="391"/>
+ <location filename="../mainwindow.ui" line="437"/>
<source>Everyone</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="407"/>
+ <location filename="../mainwindow.ui" line="453"/>
<source>This user only</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="438"/>
+ <location filename="../mainwindow.ui" line="484"/>
<source>Stable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="454"/>
+ <location filename="../mainwindow.ui" line="500"/>
<source>Blueprint</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="606"/>
+ <location filename="../mainwindow.ui" line="640"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.ui" line="682"/>
<source>Installation is complete.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="668"/>
+ <location filename="../mainwindow.ui" line="744"/>
<source>Finish</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="723"/>
+ <location filename="../mainwindow.ui" line="799"/>
<source>Installation failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="748"/>
+ <location filename="../mainwindow.ui" line="824"/>
<source>Exit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="755"/>
+ <location filename="../mainwindow.ui" line="831"/>
<source>Try Again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="39"/>
+ <location filename="../mainwindow.cpp" line="58"/>
<source>Invalid metadata was received</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="46"/>
+ <location filename="../mainwindow.cpp" line="65"/>
<source>Application name not in metadata</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="56"/>
+ <location filename="../mainwindow.cpp" line="75"/>
<source>Open %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="57"/>
+ <location filename="../mainwindow.cpp" line="76"/>
<source>Install %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="65"/>
+ <location filename="../mainwindow.cpp" line="108"/>
+ <source>Update Now</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="125"/>
+ <location filename="../mainwindow.cpp" line="126"/>
+ <source>GNU General Public License, version 3</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="130"/>
+ <location filename="../mainwindow.cpp" line="131"/>
+ <source>GNU General Public License, version 3, or later</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="135"/>
+ <location filename="../mainwindow.cpp" line="136"/>
+ <source>GNU General Public License, version 2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="140"/>
+ <location filename="../mainwindow.cpp" line="141"/>
+ <source>GNU General Public License, version 2, or later</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="148"/>
+ <source>By installing %1, you&apos;re indicating agreement to the terms of the %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="162"/>
<source>Couldn&apos;t retrieve metadata</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="69"/>
+ <location filename="../mainwindow.cpp" line="166"/>
<source>Couldn&apos;t connect securely to the server</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="119"/>
+ <location filename="../mainwindow.cpp" line="248"/>
+ <source>%1 currently running</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="248"/>
+ <source>Before we continue, you&apos;ll need to close %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="260"/>
<source>Getting ready to install %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="159"/>
+ <location filename="../mainwindow.cpp" line="306"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
@@ -232,27 +289,27 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../maintainwindow.cpp" line="35"/>
+ <location filename="../maintainwindow.cpp" line="43"/>
<source>Modify %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../maintainwindow.cpp" line="36"/>
+ <location filename="../maintainwindow.cpp" line="44"/>
<source>Are you sure you want to uninstall %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../maintainwindow.cpp" line="90"/>
+ <location filename="../maintainwindow.cpp" line="98"/>
<source>%1 currently running</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../maintainwindow.cpp" line="90"/>
+ <location filename="../maintainwindow.cpp" line="98"/>
<source>Before we continue, you&apos;ll need to close %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../maintainwindow.cpp" line="111"/>
+ <location filename="../maintainwindow.cpp" line="119"/>
<source>Getting ready to uninstall %1...</source>
<translation type="unfinished"></translation>
</message>
diff --git a/installer/translations/pt_BR.ts b/installer/translations/pt_BR.ts
index 7e66436..5311a74 100644
--- a/installer/translations/pt_BR.ts
+++ b/installer/translations/pt_BR.ts
@@ -4,28 +4,28 @@
<context>
<name>InstallWorker</name>
<message>
- <location filename="../process/installworker.cpp" line="76"/>
- <location filename="../process/installworker.cpp" line="187"/>
+ <location filename="../process/installworker.cpp" line="88"/>
+ <location filename="../process/installworker.cpp" line="248"/>
<source>Downloading %1...</source>
<translation>Baixando %1…</translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="105"/>
+ <location filename="../process/installworker.cpp" line="117"/>
<source>Unpacking %1...</source>
<translation>Descompactando %1…</translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="122"/>
+ <location filename="../process/installworker.cpp" line="134"/>
<source>Configuring %1...</source>
<translation>Configurando %1…</translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="196"/>
+ <location filename="../process/installworker.cpp" line="257"/>
<source>%1 of %2</source>
<translation>%1 de %2</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="208"/>
+ <location filename="../process/installworker.cpp" line="269"/>
<source>%n days remaining</source>
<translation>
<numerusform>%n dia restante</numerusform>
@@ -33,7 +33,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="210"/>
+ <location filename="../process/installworker.cpp" line="271"/>
<source>%n hours remaining</source>
<translation>
<numerusform>%n hora restante</numerusform>
@@ -41,7 +41,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="212"/>
+ <location filename="../process/installworker.cpp" line="273"/>
<source>%n minutes remaining</source>
<translation>
<numerusform>%n minuto restante</numerusform>
@@ -49,7 +49,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="214"/>
+ <location filename="../process/installworker.cpp" line="275"/>
<source>%n seconds remaining</source>
<translation>
<numerusform>%n segundo restante</numerusform>
diff --git a/installer/translations/vi_VN.ts b/installer/translations/vi_VN.ts
index d785ade..8b75ab9 100644
--- a/installer/translations/vi_VN.ts
+++ b/installer/translations/vi_VN.ts
@@ -4,49 +4,49 @@
<context>
<name>InstallWorker</name>
<message>
- <location filename="../process/installworker.cpp" line="76"/>
- <location filename="../process/installworker.cpp" line="187"/>
+ <location filename="../process/installworker.cpp" line="88"/>
+ <location filename="../process/installworker.cpp" line="248"/>
<source>Downloading %1...</source>
<translation>Đang tải xuống %1...</translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="105"/>
+ <location filename="../process/installworker.cpp" line="117"/>
<source>Unpacking %1...</source>
<translation>Đang giải nén %1...</translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="122"/>
+ <location filename="../process/installworker.cpp" line="134"/>
<source>Configuring %1...</source>
<translation>Đang cấu hình %1...</translation>
</message>
<message>
- <location filename="../process/installworker.cpp" line="196"/>
+ <location filename="../process/installworker.cpp" line="257"/>
<source>%1 of %2</source>
<translation>%1 trén %2</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="208"/>
+ <location filename="../process/installworker.cpp" line="269"/>
<source>%n days remaining</source>
<translation>
<numerusform>Còn %n ngày</numerusform>
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="210"/>
+ <location filename="../process/installworker.cpp" line="271"/>
<source>%n hours remaining</source>
<translation>
<numerusform>Còn %n tiếng</numerusform>
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="212"/>
+ <location filename="../process/installworker.cpp" line="273"/>
<source>%n minutes remaining</source>
<translation>
<numerusform>Còn %n phút</numerusform>
</translation>
</message>
<message numerus="yes">
- <location filename="../process/installworker.cpp" line="214"/>
+ <location filename="../process/installworker.cpp" line="275"/>
<source>%n seconds remaining</source>
<translation>
<numerusform>Còn %n giay</numerusform>