[PATCH 3 of 4] Mergerd

Wald Commits scm-commit at wald.intevation.org
Wed Sep 17 15:06:37 CEST 2014


# HG changeset patch
# User Sascha Wilde <wilde at intevation.de>
# Date 1410958879 -7200
# Node ID f1384bf9d4a4fa190f748f91b2f42452cc897cb1
# Parent  54a6fa9e44cfec90abf574e7b4db5445881cdce2
# Parent  521032de3a0a384469d67b6c7e68b82ac074bac3
Mergerd

diff -r 54a6fa9e44cf -r f1384bf9d4a4 CMakeLists.txt
--- a/CMakeLists.txt	Wed Sep 17 13:13:33 2014 +0200
+++ b/CMakeLists.txt	Wed Sep 17 15:01:19 2014 +0200
@@ -9,7 +9,6 @@
 project(trustbridge)
 
 option(DO_RELEASE_BUILD "Build for a public release." OFF)
-option(USE_REAL_RESOURCES "Use real resource names on the download server. Autmatically ON if DO_RELEASE_BUILD is set" OFF )
 option(ENABLE_PROFILING "Set to enable profiling." OFF)
 option(USE_CURL "Use libcurl to download updates and certificate lists." ON)
 
@@ -27,6 +26,9 @@
 include(HGVersion)
 
 if(HG_REVISION)
+   If(HG_REVISION_DIST STREQUAL "0")
+      add_definitions(-DIS_TAG_BUILD)
+   endif()
    set(PROJECT_VERSION ${HG_REVISION})
 else()
    set(PROJECT_VERSION unknown)
diff -r 54a6fa9e44cf -r f1384bf9d4a4 packaging/create-dist-package.sh.in
--- a/packaging/create-dist-package.sh.in	Wed Sep 17 13:13:33 2014 +0200
+++ b/packaging/create-dist-package.sh.in	Wed Sep 17 15:01:19 2014 +0200
@@ -40,11 +40,12 @@
 cp @CMAKE_SOURCE_DIR@/build-windows/ui/trustbridge.exe $TMPDIR/windows
 cp @CMAKE_SOURCE_DIR@/build-windows/cinst/cinst.exe $TMPDIR/windows
 cp @CMAKE_SOURCE_DIR@/build-windows/cinst/mozilla.exe $TMPDIR/windows
+cp -r @CMAKE_SOURCE_DIR@/packaging/resources $TMPDIR/resources
+cp @CMAKE_SOURCE_DIR@/build-windows/packaging/DesktopShellRun.dll $TMPDIR/resources
 cp -r @CMAKE_BINARY_DIR@/manuals/help-manual/html $TMPDIR/windows/doc
 
 cp @CMAKE_SOURCE_DIR@/packaging/filelist.nsh $TMPDIR
 cp @CMAKE_SOURCE_DIR@/packaging/trustbridge.nsi $TMPDIR
-cp -r @CMAKE_SOURCE_DIR@/packaging/resources $TMPDIR/resources
 LC_ALL="de_DE.latin-1" echo "company=Bundesamt für Sicherheit in der Informationstechnik" > $TMPDIR/meta.ini
 EST_SIZE=$(du -s $TMPDIR/windows | cut -f 1)
 echo "version_number=@PROJECT_VERSION@" >>  $TMPDIR/meta.ini
@@ -58,7 +59,7 @@
 # Create a temporary NSIS file for the uninstaller cration
 LC_ALL="de_DE.latin-1" makensis -Dfiles_dir=$TMPDIR/windows \
     -Dcompany="Bundesamt für Sicherheit in der Informationstechnik" \
-    -Dplugin_dir="@CMAKE_CURRENT_BINARY_DIR@" \
+    -Dplugin_dir="$TMPDIR/resources" \
     -Dversion_number=@PROJECT_VERSION@ \
     -Dsetupname="$TMPDIR/TrustBridge- at PROJECT_VERSION@-uni.exe" \
     -Dproductname="TrustBridge" \
diff -r 54a6fa9e44cf -r f1384bf9d4a4 packaging/desktopshellrun.cpp
--- a/packaging/desktopshellrun.cpp	Wed Sep 17 13:13:33 2014 +0200
+++ b/packaging/desktopshellrun.cpp	Wed Sep 17 15:01:19 2014 +0200
@@ -75,11 +75,12 @@
  *
  * @param[in] disp The shell dispatcher to use for shell execute.
  * @param[in] fName The file that should be exectued.
+ * @param[in] param Optinal parameters to add.
  *
  * @returns true on success.
  */
 static bool
-shellexecute(IShellDispatch2 *disp, wchar_t *fName)
+shellexecute(IShellDispatch2 *disp, wchar_t *fName, wchar_t *param)
 {
   BSTR bName = NULL,
        bParam = NULL,
@@ -95,7 +96,7 @@
     }
 
   bName = SysAllocString(fName);
-  bParam = SysAllocString(L"");
+  bParam = SysAllocString(param ? param : L"");
   bDir = SysAllocString(L"");
   bOp = SysAllocString(L"");
 
@@ -163,7 +164,8 @@
   UNUSED(hwndParent);
   UNUSED(string_size);
   HRESULT hr;
-  wchar_t *wbuf = NULL;
+  wchar_t *wbuf = NULL,
+          *params = NULL;
   IShellWindows *shellWindows = NULL;
   IShellBrowser *shellBrowser = NULL;
   IShellView *shellView = NULL;
@@ -278,11 +280,17 @@
       goto done;
     }
 
-  if (!shellexecute(shellDispatch, wbuf))
+  if ((*stacktop)->next && (*stacktop)->next->text)
+    {
+      params = utf8_to_wchar((*stacktop)->next->text, strlen((*stacktop)->next->text));
+    }
+
+  if (!shellexecute(shellDispatch, wbuf, params))
     {
       ERRORPRINTF ("Failed to execute.");
     }
   xfree (wbuf);
+  xfree (params);
 done:
   if (folderView)
     {
diff -r 54a6fa9e44cf -r f1384bf9d4a4 packaging/linux-createpackage.sh.in
--- a/packaging/linux-createpackage.sh.in	Wed Sep 17 13:13:33 2014 +0200
+++ b/packaging/linux-createpackage.sh.in	Wed Sep 17 15:01:19 2014 +0200
@@ -88,9 +88,10 @@
 
 chmod +x "$INSTALLER"
 echo "Signing"
- at CMAKE_SOURCE_DIR@/ui/tests/append-sig.sh @CMAKE_SOURCE_DIR@/ui/tests/data/codesign/codesigning.key \
-                 $INSTALLER ${INSTALLER}_signed
-mv ${INSTALLER}_signed $INSTALLER
+"@CMAKE_SOURCE_DIR@/ui/tests/append-sig.sh" \
+    "@CMAKE_SOURCE_DIR@/ui/tests/data/codesign/codesigning.key" \
+    "$INSTALLER" "${INSTALLER}_signed"
+mv "${INSTALLER}_signed" "$INSTALLER"
 
 echo "Cleaning up..."
 rm -r "$TMPDIR"
diff -r 54a6fa9e44cf -r f1384bf9d4a4 packaging/linux-installer.inc.in
--- a/packaging/linux-installer.inc.in	Wed Sep 17 13:13:33 2014 +0200
+++ b/packaging/linux-installer.inc.in	Wed Sep 17 15:01:19 2014 +0200
@@ -46,7 +46,6 @@
 SYSINST=0
 DEINSTALL=0
 UPDATE=0
-SHOWAFTERUPDATE=0
 BINNAMES="###BINNAMES###"
 ICONNAME="###ICONNAME###"
 HELPNAMES="###HELPNAMES###"
@@ -184,10 +183,6 @@
         UPDATE=1
         shift 1
         ;;
-      --show-after-update)
-        SHOWAFTERUPDATE=1
-        shift 1
-        ;;
       --help)
         usage 0
         ;;
@@ -260,11 +255,7 @@
     read
     $RUNCMD "${instcfg[PREFIX]}/bin/trustbridge" &
   else
-    if [ $SHOWAFTERUPDATE -eq 0 ]; then
-      $RUNCMD "${instcfg[PREFIX]}/bin/trustbridge" --tray &
-    else
-      $RUNCMD "${instcfg[PREFIX]}/bin/trustbridge" &
-    fi
+    $RUNCMD "${instcfg[PREFIX]}/bin/trustbridge" --tray &
   fi
 }
 
diff -r 54a6fa9e44cf -r f1384bf9d4a4 packaging/trustbridge.nsi
--- a/packaging/trustbridge.nsi	Wed Sep 17 13:13:33 2014 +0200
+++ b/packaging/trustbridge.nsi	Wed Sep 17 15:01:19 2014 +0200
@@ -262,6 +262,7 @@
 done:
   StrCmp $is_update '1' run_silent dont_run
 run_silent:
+  DesktopShellRun::Exec "$INSTDIR\trustbridge.exe" "--tray"
 dont_run:
 
 SectionEnd
diff -r 54a6fa9e44cf -r f1384bf9d4a4 ui/CMakeLists.txt
--- a/ui/CMakeLists.txt	Wed Sep 17 13:13:33 2014 +0200
+++ b/ui/CMakeLists.txt	Wed Sep 17 15:01:19 2014 +0200
@@ -237,7 +237,6 @@
       COMMAND ${CMAKE_STRIP} trustbridge-admin.exe
    )
    if (NOT RELEASE_BUILD)
-      message("Status will sign.")
       add_custom_command(
          TARGET trustbridge
          POST_BUILD
diff -r 54a6fa9e44cf -r f1384bf9d4a4 ui/createinstallerdialog.cpp
--- a/ui/createinstallerdialog.cpp	Wed Sep 17 13:13:33 2014 +0200
+++ b/ui/createinstallerdialog.cpp	Wed Sep 17 15:01:19 2014 +0200
@@ -294,6 +294,8 @@
     mNSISProc.setWorkingDirectory(outDir.path());
 #ifdef Q_OS_WIN
     arguments << QString::fromLatin1("/Dfiles_dir=") + mCurrentWorkingDir->path().replace("/", "\\");
+    QString resourcedir = binDir.path() + "/resources";
+    arguments << QString::fromLatin1("/Dplugin_dir=") + resourcedir.replace("/", "\\");
     arguments << "/Dpath_sep=\\";
     foreach (const QString &key, keys) {
         QString value = options.value(key, QString()).toString();
@@ -306,6 +308,7 @@
     arguments << QString(binDir.path() + "/trustbridge.nsi").replace("/", "\\");
 #else
     arguments << QString::fromLatin1("-Dfiles_dir=") + mCurrentWorkingDir->path();
+    arguments << QString::fromLatin1("-Dplugin_dir=") + binDir.path() + "/resources";
     arguments << "-Dpath_sep=/";
     foreach (const QString &key, keys) {
         QString value = options.value(key, QString()).toString();
diff -r 54a6fa9e44cf -r f1384bf9d4a4 ui/l10n/administrator_de_DE.ts
--- a/ui/l10n/administrator_de_DE.ts	Wed Sep 17 13:13:33 2014 +0200
+++ b/ui/l10n/administrator_de_DE.ts	Wed Sep 17 15:01:19 2014 +0200
@@ -587,29 +587,29 @@
         <translation>NSIS-Paket wird erstellt...</translation>
     </message>
     <message>
-        <location filename="../createinstallerdialog.cpp" line="324"/>
+        <location filename="../createinstallerdialog.cpp" line="327"/>
         <source>Failed to find installer script at: %1 </source>
         <translation>Installer skript konnte nicht unter: %1 gefunden werden</translation>
     </message>
     <message>
-        <location filename="../createinstallerdialog.cpp" line="334"/>
+        <location filename="../createinstallerdialog.cpp" line="337"/>
         <source>Failed to start makensis.
 Please ensure that makensis is installed and in your PATH variable.</source>
         <translation>Fehler beim Starten von makensis.
 Bitte versichern Sie sich, dass makensis korrekt installiert und in der PATH-Variable enthalten ist.</translation>
     </message>
     <message>
-        <location filename="../createinstallerdialog.cpp" line="415"/>
+        <location filename="../createinstallerdialog.cpp" line="418"/>
         <source>Signing binaries...</source>
         <translation>Binärpakete werden signiert...</translation>
     </message>
     <message>
-        <location filename="../createinstallerdialog.cpp" line="422"/>
+        <location filename="../createinstallerdialog.cpp" line="425"/>
         <source>Failed to copy binaries to temporary location.</source>
         <translation>Fehler beim Kopieren der Binärdaten in temporären Ort.</translation>
     </message>
     <message>
-        <location filename="../createinstallerdialog.cpp" line="434"/>
+        <location filename="../createinstallerdialog.cpp" line="437"/>
         <source>Failed to sign binaries with osslsigncode.
 Please check that %1 is a valid code signing certificate and thatosslsigncode can be found in the PATH.</source>
         <translatorcomment>TODO: missing blank in EN string</translatorcomment>
@@ -617,22 +617,22 @@
 Bitte prüfen Sie, dass %1 ein gültiges Code-Signing-Zertifikat ist und osslsigncode im PATH gefunden wird.</translation>
     </message>
     <message>
-        <location filename="../createinstallerdialog.cpp" line="455"/>
+        <location filename="../createinstallerdialog.cpp" line="458"/>
         <source>Failed to load certificate: %1</source>
         <translation>Fehler beim laden des Schlüssels: %1</translation>
     </message>
     <message>
-        <location filename="../createinstallerdialog.cpp" line="467"/>
+        <location filename="../createinstallerdialog.cpp" line="470"/>
         <source>Only 3072 bit RSA keys are supported by the current format.</source>
         <translation>Nur 3072 bit RSA Schlüssel werden vom aktuellen Format unterstützt.</translation>
     </message>
     <message>
-        <location filename="../createinstallerdialog.cpp" line="473"/>
+        <location filename="../createinstallerdialog.cpp" line="476"/>
         <source>Failed to open input file: %1</source>
         <translation>Fehler beim öffnen der Datei: %1</translation>
     </message>
     <message>
-        <location filename="../createinstallerdialog.cpp" line="482"/>
+        <location filename="../createinstallerdialog.cpp" line="485"/>
         <source>Failed to read input file: %1</source>
         <translation>Fehler beim lesen der Datei: %1</translation>
     </message>
@@ -653,22 +653,22 @@
         <translation type="vanished">Erfolgreich!</translation>
     </message>
     <message>
-        <location filename="../createinstallerdialog.cpp" line="519"/>
+        <location filename="../createinstallerdialog.cpp" line="522"/>
         <source>Successfully created installation package</source>
         <translation>Installationspaket erfolgreich erstellt.</translation>
     </message>
     <message>
-        <location filename="../createinstallerdialog.cpp" line="523"/>
+        <location filename="../createinstallerdialog.cpp" line="526"/>
         <source>Error!</source>
         <translation>Fehler!</translation>
     </message>
     <message>
-        <location filename="../createinstallerdialog.cpp" line="531"/>
+        <location filename="../createinstallerdialog.cpp" line="534"/>
         <source>Details</source>
         <translation>Details</translation>
     </message>
     <message>
-        <location filename="../createinstallerdialog.cpp" line="535"/>
+        <location filename="../createinstallerdialog.cpp" line="538"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
diff -r 54a6fa9e44cf -r f1384bf9d4a4 ui/l10n/trustbridge_de_DE.ts
--- a/ui/l10n/trustbridge_de_DE.ts	Wed Sep 17 13:13:33 2014 +0200
+++ b/ui/l10n/trustbridge_de_DE.ts	Wed Sep 17 15:01:19 2014 +0200
@@ -203,19 +203,19 @@
         <translation type="vanished">Neue Vorschläge für Wurzelzertifikate sind verfügbar. Klicken Sie hier zum Installieren.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="555"/>
-        <location filename="../mainwindow.cpp" line="718"/>
+        <location filename="../mainwindow.cpp" line="579"/>
+        <location filename="../mainwindow.cpp" line="742"/>
         <source>Check for Updates</source>
         <translation>Neue Empfehlungen suchen</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="557"/>
-        <location filename="../mainwindow.cpp" line="1082"/>
+        <location filename="../mainwindow.cpp" line="581"/>
+        <location filename="../mainwindow.cpp" line="1106"/>
         <source>Quit</source>
         <translation>Beenden</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="575"/>
+        <location filename="../mainwindow.cpp" line="599"/>
         <source>TrustBridge</source>
         <translation>TrustBridge</translation>
     </message>
@@ -241,7 +241,7 @@
 Empfehlungen</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="991"/>
+        <location filename="../mainwindow.cpp" line="1015"/>
         <source>Revoked
 certificates</source>
         <translation>Abgeratene
@@ -256,41 +256,41 @@
         <translation type="vanished">Aktualisierungen (%1/%2)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="667"/>
-        <location filename="../mainwindow.cpp" line="1087"/>
+        <location filename="../mainwindow.cpp" line="691"/>
+        <location filename="../mainwindow.cpp" line="1111"/>
         <source>Quit without saving</source>
         <translation>Beenden ohne Schreiben</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="771"/>
-        <location filename="../mainwindow.cpp" line="1128"/>
+        <location filename="../mainwindow.cpp" line="795"/>
+        <location filename="../mainwindow.cpp" line="1152"/>
         <source>Remove revoked certificates (%1/%2)</source>
         <translation>Abgeratene Wurzelzertifikate entfernen (%1/%2)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="848"/>
+        <location filename="../mainwindow.cpp" line="872"/>
         <source>Trusted certificates</source>
         <translation>Empfohlene Wurzelzertifikate</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="849"/>
+        <location filename="../mainwindow.cpp" line="873"/>
         <source>The following list of trusted root certificates is managed by the BSI. The BSI validates independently the authenticity, security and actuality of these certificates.</source>
         <translation>Die folgenden Wurzelzertifikate wurden bisher vom BSI zur Installation vorgeschlagen. Sie können erkennen, welche Sie bereits geschrieben haben.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="856"/>
+        <location filename="../mainwindow.cpp" line="880"/>
         <source>Please choose the certificates you want to trust or untrust. TrustBridge will install these certificates for your secure communication for email and internet.</source>
         <translation>Legen Sie fest, ob Sie der Empfehlung ganz oder teilweise folgen möchten. TrustBridge wird die Änderungen an den Wurzelzertifikaten vornehmen.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="982"/>
+        <location filename="../mainwindow.cpp" line="1006"/>
         <source>Trusted
 certificates</source>
         <translation>Empfohlene
 Wurzelzertifikate</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1000"/>
+        <location filename="../mainwindow.cpp" line="1024"/>
         <source>Information
 and help</source>
         <translation>Informationen
@@ -317,27 +317,27 @@
         <translation type="vanished">Aktualisierungen einspielen</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="749"/>
-        <location filename="../mainwindow.cpp" line="1112"/>
+        <location filename="../mainwindow.cpp" line="773"/>
+        <location filename="../mainwindow.cpp" line="1136"/>
         <source>Install new trusted certificates (%1/%2)</source>
         <translation>Neue, empfohlene Wurzelzertifikate installieren (%1/%2)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="753"/>
-        <location filename="../mainwindow.cpp" line="775"/>
-        <location filename="../mainwindow.cpp" line="794"/>
-        <location filename="../mainwindow.cpp" line="1118"/>
-        <location filename="../mainwindow.cpp" line="1134"/>
+        <location filename="../mainwindow.cpp" line="777"/>
+        <location filename="../mainwindow.cpp" line="799"/>
+        <location filename="../mainwindow.cpp" line="818"/>
+        <location filename="../mainwindow.cpp" line="1142"/>
+        <location filename="../mainwindow.cpp" line="1158"/>
         <source>Show details</source>
         <translation>Details einblenden</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="889"/>
+        <location filename="../mainwindow.cpp" line="913"/>
         <source>Revoked certificates</source>
         <translation>Abgeratene Wurzelzertifikate</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="890"/>
+        <location filename="../mainwindow.cpp" line="914"/>
         <source>Certificates can be corrupted or stolen and misused in many ways. Therefore the BSI recommends to remove all revoked certificates from your system.</source>
         <translation>Wurzelzertifikate können veraltet sein, korrumpiert, gestohlen oder missbraucht werden. Die Wurzelzertifikate , von denen das BSI abrät, sollten umgehend entfernt werden.</translation>
     </message>
@@ -350,7 +350,7 @@
         <translation type="vanished">Abweichend zu behandelnde Wurzelzertifikate (%1)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="940"/>
+        <location filename="../mainwindow.cpp" line="964"/>
         <source>Trust in your digital communication</source>
         <translation>Vertrauen in Ihre digitale Kommunikation</translation>
     </message>
@@ -359,8 +359,8 @@
         <translation type="vanished">Änderungen</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="663"/>
-        <location filename="../mainwindow.cpp" line="1083"/>
+        <location filename="../mainwindow.cpp" line="687"/>
+        <location filename="../mainwindow.cpp" line="1107"/>
         <source>Certificates unchanged</source>
         <translation>Wurzelzertifikate unverändert</translation>
     </message>
@@ -377,70 +377,75 @@
         <translation type="vanished">Es wird empfohlen, die nachfolgenden Änderungen an Ihren Wurzelzertifikaten zu übernehmen.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1091"/>
+        <location filename="../mainwindow.cpp" line="1115"/>
         <source>Apply changes</source>
         <translation>Änderungen schreiben</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="588"/>
+        <location filename="../mainwindow.cpp" line="612"/>
         <source>Version: </source>
         <translation>Version:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="268"/>
-        <location filename="../mainwindow.cpp" line="270"/>
+        <location filename="../mainwindow.cpp" line="272"/>
+        <location filename="../mainwindow.cpp" line="274"/>
         <source>An updated certificate list is available.</source>
         <translation>Neue Vorschläge für Wurzelzertifikate sind verfügbar.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="270"/>
+        <location filename="../mainwindow.cpp" line="274"/>
         <source>Click here to install.</source>
         <translation>Klicken Sie hier zum Installieren.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="280"/>
-        <location filename="../mainwindow.cpp" line="283"/>
+        <location filename="../mainwindow.cpp" line="284"/>
+        <location filename="../mainwindow.cpp" line="287"/>
         <source>An update for %1 is available.</source>
         <translation>Eine Aktualisierung für %1 ist verfügbar.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="284"/>
+        <location filename="../mainwindow.cpp" line="288"/>
         <source>Click here to download and install the update.</source>
         <translation>Hier klicken, um Download und Installation zu starten.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="323"/>
+        <location filename="../mainwindow.cpp" line="327"/>
         <source>Failed to create update process.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="324"/>
+        <location filename="../mainwindow.cpp" line="328"/>
         <source>This could be caused by not enough disk space or invalid permissions.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="548"/>
+        <location filename="../mainwindow.cpp" line="516"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../mainwindow.cpp" line="563"/>
         <source>Failed to check for updates:</source>
         <translation>Fehler bei Updateprüfung:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1071"/>
+        <location filename="../mainwindow.cpp" line="1095"/>
         <source>You should apply the following, recommended changes to your certificate stores:</source>
         <translation>Es wird empfohlen, die nachfolgenden Änderungen an Ihren Zertifikatsspeichern vorzunehmen:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1074"/>
+        <location filename="../mainwindow.cpp" line="1098"/>
         <source>You can apply the following, changes to your certificate stores:</source>
         <translation>Sie können die nachfolgenden Änderungen an Ihren Zertifikatsspeichern vornehmen:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1077"/>
+        <location filename="../mainwindow.cpp" line="1101"/>
         <source>There are currently no changes for your certificate stores.</source>
         <translation>Es liegen keine neuen Empfehlungen vor.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="671"/>
-        <location filename="../mainwindow.cpp" line="1085"/>
+        <location filename="../mainwindow.cpp" line="695"/>
+        <location filename="../mainwindow.cpp" line="1109"/>
         <source>Install certificates again</source>
         <translation>Wurzelzertifikate erneut schreiben</translation>
     </message>
@@ -493,7 +498,7 @@
         <translation type="vanished">Letzte erfolgreiche Prüfung nach Aktualisierungen: %1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1594"/>
+        <location filename="../mainwindow.cpp" line="1618"/>
         <source>Sucessfully checked for updates.</source>
         <translation>Suche nach neuen Empfehlungen erfolgreich.</translation>
     </message>
@@ -504,141 +509,141 @@
 Hier klicken, um Download und Installation zu starten.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="603"/>
+        <location filename="../mainwindow.cpp" line="627"/>
         <source>TrustBridge is a root certificate installer for Windows and GNU/Linux.<br/></source>
         <translation>TrustBridge ist ein Wurzelzertifikatsinstaller für Windows und GNU/Linux.<br/></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="605"/>
+        <location filename="../mainwindow.cpp" line="629"/>
         <source>The root certificate lists are managed by the German <a href="https://www.bsi.bund.de">Federal Office for Information Security (BSI)</a>.<br/><br/></source>
         <translation>Die Wurzelzertifikate werden vom <a href="https://www.bsi.bund.de">Bundesamt für Sicherheit in der Informationstechnik (BSI)</a> vorgeschlagen.<br/><br/></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="608"/>
+        <location filename="../mainwindow.cpp" line="632"/>
         <source>The software was developed by the companies <a href="http://www.intevation.de">Intevation GmbH</a> and  <a href="http://www.dn-systems.de">DN-Systems GmbH</a>, <br> contracted by the German Federal Office for Information Security (BSI).<br/><br/></source>
         <translation>Die Software wurde von den Unternehmen <a href="http://www.intevation.de">Intevation GmbH</a> und  <a href="http://www.dn-systems.de">DN-Systems GmbH</a> entwickelt, <br> beauftragt vom Bundesamt für Sicherheit in der Informationstechnik (BSI).<br/><br/></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="612"/>
+        <location filename="../mainwindow.cpp" line="636"/>
         <source>TrustBridge is Free Software licensed under GNU GPL v2+.<br/><br/>Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik</source>
         <translation>TrustBridge ist Freie Software, lizensiert unter der GNU GPL v2+.<br/><br/>(C) 2014. Die Rechte liegen beim Bundesamt für Sicherheit in der Informationstechnik.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="629"/>
+        <location filename="../mainwindow.cpp" line="653"/>
         <source>Show Help</source>
         <translation>Hilfe anzeigen</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="634"/>
+        <location filename="../mainwindow.cpp" line="658"/>
         <source>Proxy settings</source>
         <translation>Proxy-Einstellungen</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="709"/>
+        <location filename="../mainwindow.cpp" line="733"/>
         <source>Last update check:</source>
         <translation>Letzte Suche:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="714"/>
+        <location filename="../mainwindow.cpp" line="738"/>
         <source>No connection with the updateserver.</source>
         <translation>Keine Verbindung zum Updateserver.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="716"/>
+        <location filename="../mainwindow.cpp" line="740"/>
         <source>Update</source>
         <translation>Aktualisieren</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="752"/>
-        <location filename="../mainwindow.cpp" line="774"/>
-        <location filename="../mainwindow.cpp" line="793"/>
+        <location filename="../mainwindow.cpp" line="776"/>
+        <location filename="../mainwindow.cpp" line="798"/>
+        <location filename="../mainwindow.cpp" line="817"/>
         <source>Details</source>
         <translation>Details</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="897"/>
+        <location filename="../mainwindow.cpp" line="921"/>
         <source>The following unsecure certificates were revoked by the BSI. Already uninstalled certificates cannot be reinstalled. It is recommended that you select all certificates to uninstall if you still have revoked certificates installed.</source>
         <translation>Von den folgenden, ehemals empfohlenen Wurzelzertifikaten, rät das BSI ab. Über diese Anwendung können sie auch nicht mehr installiert werden. Markieren Sie verbleibende Wurzelzertifikate zur Löschung, sobald Sie können.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="942"/>
+        <location filename="../mainwindow.cpp" line="966"/>
         <source>Version</source>
         <translation>Version</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="969"/>
+        <location filename="../mainwindow.cpp" line="993"/>
         <source>Pending
 changes</source>
         <translation>Ausstehende
 Änderungen</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1107"/>
+        <location filename="../mainwindow.cpp" line="1131"/>
         <source>Manual changes (%1)</source>
         <translation>Manuelle Änderungen (%1)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1158"/>
+        <location filename="../mainwindow.cpp" line="1182"/>
         <source>Certificate list from:</source>
         <translation>Zertifikatsliste vom:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1163"/>
+        <location filename="../mainwindow.cpp" line="1187"/>
         <source>Currently installed certificate list:</source>
         <translation>Aktuell installierte Zertifikatsliste:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1167"/>
+        <location filename="../mainwindow.cpp" line="1191"/>
         <source>No certificate list installed.</source>
         <translation>Keine Zertifikatsliste installiert.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1197"/>
-        <location filename="../mainwindow.cpp" line="1249"/>
-        <location filename="../mainwindow.cpp" line="1461"/>
+        <location filename="../mainwindow.cpp" line="1221"/>
+        <location filename="../mainwindow.cpp" line="1273"/>
+        <location filename="../mainwindow.cpp" line="1485"/>
         <source>Certificate will be installed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1198"/>
-        <location filename="../mainwindow.cpp" line="1238"/>
+        <location filename="../mainwindow.cpp" line="1222"/>
+        <location filename="../mainwindow.cpp" line="1262"/>
         <source>Certifcate is not installed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1200"/>
-        <location filename="../mainwindow.cpp" line="1237"/>
+        <location filename="../mainwindow.cpp" line="1224"/>
+        <location filename="../mainwindow.cpp" line="1261"/>
         <source>Certificate is installed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1201"/>
-        <location filename="../mainwindow.cpp" line="1212"/>
-        <location filename="../mainwindow.cpp" line="1265"/>
-        <location filename="../mainwindow.cpp" line="1283"/>
-        <location filename="../mainwindow.cpp" line="1462"/>
+        <location filename="../mainwindow.cpp" line="1225"/>
+        <location filename="../mainwindow.cpp" line="1236"/>
+        <location filename="../mainwindow.cpp" line="1289"/>
+        <location filename="../mainwindow.cpp" line="1307"/>
+        <location filename="../mainwindow.cpp" line="1486"/>
         <source>Certificate will be removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1213"/>
-        <location filename="../mainwindow.cpp" line="1266"/>
+        <location filename="../mainwindow.cpp" line="1237"/>
+        <location filename="../mainwindow.cpp" line="1290"/>
         <source>Certificate has not been removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1220"/>
-        <location filename="../mainwindow.cpp" line="1273"/>
+        <location filename="../mainwindow.cpp" line="1244"/>
+        <location filename="../mainwindow.cpp" line="1297"/>
         <source>Certificate has been removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1250"/>
+        <location filename="../mainwindow.cpp" line="1274"/>
         <source>Certificate will not be installed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1284"/>
+        <location filename="../mainwindow.cpp" line="1308"/>
         <source>Certificate will not be removed.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -652,18 +657,18 @@
         <translation type="vanished">Sie können die nachfolgenden Änderungen an Ihren Zertifikatsspeichern vornehmen.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1088"/>
+        <location filename="../mainwindow.cpp" line="1112"/>
         <source>Pending changes (%1)</source>
         <translation>Ausstehende
 Änderungen (%1)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1146"/>
+        <location filename="../mainwindow.cpp" line="1170"/>
         <source>New, recommended changes (%1/%2)</source>
         <translation>Neue, empfohlene Änderungen (%1/%2)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1154"/>
+        <location filename="../mainwindow.cpp" line="1178"/>
         <source>No new recommendations</source>
         <translation>Keine neuen Empfehlungen</translation>
     </message>
@@ -684,37 +689,37 @@
         <translation type="vanished">Neue empfohlene Änderungen (%1)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1298"/>
+        <location filename="../mainwindow.cpp" line="1322"/>
         <source>Error executing update</source>
         <translation>Fehler bei der Aktualisierung</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1385"/>
+        <location filename="../mainwindow.cpp" line="1409"/>
         <source>Installation with standard user account</source>
         <translation>Installation mit Standardbenutzerkonto</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1386"/>
+        <location filename="../mainwindow.cpp" line="1410"/>
         <source>Windows will now ask you to confirm each root certificate modification because TrustBridge does not have the necessary privileges to install root certificates into the Windows certificate store silently.</source>
         <translation>Windows wird Sie nun bitten, jede Wurzelzertifikatsänderung zu bestätigen. Grund dafür: TrustBridge besitzt nicht die nötigen Privilegien, um Wurzelzertifikate ohne Nachfrage in den Windows-Zertifikatsspeicher zu installieren.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1394"/>
+        <location filename="../mainwindow.cpp" line="1418"/>
         <source>Installing certificates...</source>
         <translation>Wurzelzertifikate werden geändert...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1636"/>
+        <location filename="../mainwindow.cpp" line="1660"/>
         <source>Error!</source>
         <translation>Fehler!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1636"/>
+        <location filename="../mainwindow.cpp" line="1660"/>
         <source>Failed to find the manual</source>
         <translation>Fehler beim Finden des Handbuchs</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1650"/>
+        <location filename="../mainwindow.cpp" line="1674"/>
         <source>TrustBridge error</source>
         <translation>TrustBridge Fehler</translation>
     </message>
@@ -787,28 +792,28 @@
         <translation>Automatische Aktualisierungsprüfung von TrustBridge.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="301"/>
+        <location filename="../mainwindow.cpp" line="305"/>
         <source>TrustBridge-Updater</source>
         <comment>Used as filename for the updater. Only use ASCII please.</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1529"/>
+        <location filename="../mainwindow.cpp" line="1553"/>
         <source>Hide details</source>
         <translation>Details ausblenden</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1530"/>
+        <location filename="../mainwindow.cpp" line="1554"/>
         <source>Less</source>
         <translation>Weniger</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1535"/>
+        <location filename="../mainwindow.cpp" line="1559"/>
         <source>Show details</source>
         <translation>Details einblenden</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1536"/>
+        <location filename="../mainwindow.cpp" line="1560"/>
         <source>Details</source>
         <translation>Details</translation>
     </message>
diff -r 54a6fa9e44cf -r f1384bf9d4a4 ui/mainwindow.cpp
--- a/ui/mainwindow.cpp	Wed Sep 17 13:13:33 2014 +0200
+++ b/ui/mainwindow.cpp	Wed Sep 17 15:01:19 2014 +0200
@@ -66,7 +66,7 @@
 #define TB_ARCH_STRING "-amd64"
 #endif
 
-#ifdef USE_REAL_RESOURCES
+#ifdef IS_TAG_BUILD
 # define LIST_RESOURCE "/zertifikatsliste.txt"
 # ifdef Q_OS_WIN
 #  define SW_RESOURCE_VERSION "/TrustBridge-%1.exe"
@@ -75,13 +75,13 @@
 #  define SW_RESOURCE_VERSION "/TrustBridge-%1" TB_ARCH_STRING ".sh"
 #  define SW_RESOURCE "/TrustBridge" TB_ARCH_STRING ".sh"
 # endif
-#else // RELEASE_BUILD
+#else // Not tag build means develpment build
 # define LIST_RESOURCE "/zertifikatsliste.txt"
 # ifdef Q_OS_WIN
-#  define SW_RESOURCE_VERSION "/development/TrustBridge-development.exe"
+#  define SW_RESOURCE_VERSION "/development/TrustBridge-%1.exe"
 #  define SW_RESOURCE "/development/TrustBridge.exe"
 # else
-#  define SW_RESOURCE_VERSION "/development/TrustBridge-development" TB_ARCH_STRING ".sh"
+#  define SW_RESOURCE_VERSION "/development/TrustBridge-%1" TB_ARCH_STRING ".sh"
 #  define SW_RESOURCE "/development/TrustBridge" TB_ARCH_STRING ".sh"
 # endif
 #endif
@@ -119,7 +119,11 @@
     checkUpdates();
     loadUnselectedCertificates();
     loadCertificateList();
-    if (!trayMode) {
+
+    if (mSettings.value("ShowOnNextStart").toBool()) {
+        mSettings.remove("ShowOnNextStart");
+        show();
+    } else if (!trayMode) {
         show();
     }
 }
@@ -142,7 +146,6 @@
 void MainWindow::messageClicked()
 {
     if (mCurState == NewSoftwareAvailable) {
-        hide();
         verifySWData();
         QString swFileName = mSettings.value("Software/available").toString();
         if (swFileName.isEmpty()) {
@@ -219,6 +222,7 @@
     QString swFileName = mSettings.value("Software/available").toString();
 
     if (swFileName.isEmpty()) {
+        qDebug() << "Date set but no fileName";
         mSettings.remove("Software/availableDate");
         return;
     }
@@ -298,7 +302,7 @@
         qDebug () << "Failed to create temporary directory.";
         return QString();
     }
-    QString targetPath = tDir.path() + QObject::tr("TrustBridge-Updater",
+    QString targetPath = tDir.path() + "/" + QObject::tr("TrustBridge-Updater",
             "Used as filename for the updater. Only use ASCII please.");
 
     tDir.setAutoRemove(false);
@@ -377,9 +381,6 @@
     installDir.cdUp();
     parameters << "--prefix" << installDir.path();
     parameters << "--update";
-    if (isVisible()) {
-        parameters << "--show-after-update";
-    }
     bool sudo_started = false;
     bool use_sudo = is_admin() && is_system_install();
     if (use_sudo) {
@@ -406,6 +407,10 @@
     }
 
 #endif
+    if (isVisible()) {
+        mSettings.setValue("ShowOnNextStart", true);
+        mSettings.sync();
+    }
 
     syslog_info_printf ("Installing update: %s\n", fileName.toUtf8().constData());
     /* Installer process should now be running. We exit */
@@ -502,6 +507,17 @@
     connect(downloader, SIGNAL(error(const QString &, SSLConnection::ErrorCode)),
             this, SLOT(downloaderError(const QString &, SSLConnection::ErrorCode)));
     downloader->start();
+
+    if (downloadSW && getState() == DownloadingSW && isVisible()) {
+        QProgressDialog *progDlg = new QProgressDialog(this);
+        progDlg->setCancelButton(0);
+        progDlg->setRange(0,0);
+        progDlg->setMinimumDuration(0);
+        progDlg->setLabelText(tr("Downloading update..."));
+        progDlg->show();
+        connect(downloader, SIGNAL(finished()), progDlg, SLOT(deleteLater()));
+        connect(downloader, SIGNAL(finished()), progDlg, SLOT(cancel()));
+    }
 }
 
 void MainWindow::getLastModForCurrentVersion()
@@ -523,7 +539,6 @@
             this, SLOT(downloaderError(const QString &, SSLConnection::ErrorCode)));
     connect(downloader, SIGNAL(lastModifiedDate(const QDateTime&)),
         this, SLOT(setLastModifiedSWDate(const QDateTime&)));
-
     downloader->start();
 }
 
@@ -548,6 +563,15 @@
         showErrorMessage(tr("Failed to check for updates:") + "\n"  + message);
     }
     setState(TransferError);
+
+#ifndef IS_TAG_BUILD
+    /* For development versions we default to datetime::now if
+     * we can not find our version. */
+    if (!mSettings.contains("Software/installedDate") ||
+          mSettings.value("Software/installedVersion").toString() != QApplication::applicationVersion()) {
+        setLastModifiedSWDate(QDateTime::currentDateTime());
+    }
+#endif
 }
 
 void MainWindow::createActions()


More information about the Trustbridge-commits mailing list