Moved the SSL widgets to the E5Network package.

Fri, 18 Jan 2013 19:50:13 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 18 Jan 2013 19:50:13 +0100
changeset 2359
ef81d2d0a031
parent 2357
f6a2cbf3f514
child 2360
b6bf3925e3e1

Moved the SSL widgets to the E5Network package.

APIs/Python3/eric5.api file | annotate | diff | comparison | revisions
APIs/Python3/eric5.bas file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric5.E5Network.E5SslCertificatesDialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.E5Network.E5SslInfoDialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.E5Network.E5SslInfoWidget.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Helpviewer.SslCertificatesDialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Helpviewer.SslInfoDialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Helpviewer.SslInfoWidget.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.UI.UserInterface.html file | annotate | diff | comparison | revisions
Documentation/Source/index-eric5.E5Network.html file | annotate | diff | comparison | revisions
Documentation/Source/index-eric5.Helpviewer.html file | annotate | diff | comparison | revisions
E5Network/E5SslCertificatesDialog.py file | annotate | diff | comparison | revisions
E5Network/E5SslCertificatesDialog.ui file | annotate | diff | comparison | revisions
E5Network/E5SslInfoDialog.py file | annotate | diff | comparison | revisions
E5Network/E5SslInfoDialog.ui file | annotate | diff | comparison | revisions
E5Network/E5SslInfoWidget.py file | annotate | diff | comparison | revisions
E5Network/E5SslInfoWidget.ui file | annotate | diff | comparison | revisions
Helpviewer/HelpBrowserWV.py file | annotate | diff | comparison | revisions
Helpviewer/HelpWindow.py file | annotate | diff | comparison | revisions
Helpviewer/SiteInfo/SiteInfoDialog.ui file | annotate | diff | comparison | revisions
Helpviewer/SslCertificatesDialog.py file | annotate | diff | comparison | revisions
Helpviewer/SslCertificatesDialog.ui file | annotate | diff | comparison | revisions
Helpviewer/SslInfoDialog.py file | annotate | diff | comparison | revisions
Helpviewer/SslInfoDialog.ui file | annotate | diff | comparison | revisions
Helpviewer/SslInfoWidget.py file | annotate | diff | comparison | revisions
Helpviewer/SslInfoWidget.ui file | annotate | diff | comparison | revisions
UI/UserInterface.py file | annotate | diff | comparison | revisions
changelog file | annotate | diff | comparison | revisions
eric5.e4p file | annotate | diff | comparison | revisions
i18n/eric5_cs.ts file | annotate | diff | comparison | revisions
i18n/eric5_de.qm file | annotate | diff | comparison | revisions
i18n/eric5_de.ts file | annotate | diff | comparison | revisions
i18n/eric5_en.ts file | annotate | diff | comparison | revisions
i18n/eric5_es.ts file | annotate | diff | comparison | revisions
i18n/eric5_fr.ts file | annotate | diff | comparison | revisions
i18n/eric5_it.ts file | annotate | diff | comparison | revisions
i18n/eric5_ru.ts file | annotate | diff | comparison | revisions
i18n/eric5_tr.ts file | annotate | diff | comparison | revisions
i18n/eric5_zh_CN.GB2312.ts file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric5.api	Fri Jan 18 19:31:43 2013 +0100
+++ b/APIs/Python3/eric5.api	Fri Jan 18 19:50:13 2013 +0100
@@ -1594,10 +1594,25 @@
 eric5.E5Network.E5NetworkProxyFactory.E5NetworkProxyFactory?1()
 eric5.E5Network.E5NetworkProxyFactory.proxyAuthenticationRequired?4(proxy, auth)
 eric5.E5Network.E5NetworkProxyFactory.schemeFromProxyType?4(proxyType)
+eric5.E5Network.E5SslCertificatesDialog.E5SslCertificatesDialog.CertRole?7
+eric5.E5Network.E5SslCertificatesDialog.E5SslCertificatesDialog.on_caCertificatesTree_currentItemChanged?4(current, previous)
+eric5.E5Network.E5SslCertificatesDialog.E5SslCertificatesDialog.on_caDeleteButton_clicked?4()
+eric5.E5Network.E5SslCertificatesDialog.E5SslCertificatesDialog.on_caExportButton_clicked?4()
+eric5.E5Network.E5SslCertificatesDialog.E5SslCertificatesDialog.on_caImportButton_clicked?4()
+eric5.E5Network.E5SslCertificatesDialog.E5SslCertificatesDialog.on_caViewButton_clicked?4()
+eric5.E5Network.E5SslCertificatesDialog.E5SslCertificatesDialog.on_serversCertificatesTree_currentItemChanged?4(current, previous)
+eric5.E5Network.E5SslCertificatesDialog.E5SslCertificatesDialog.on_serversDeleteButton_clicked?4()
+eric5.E5Network.E5SslCertificatesDialog.E5SslCertificatesDialog.on_serversExportButton_clicked?4()
+eric5.E5Network.E5SslCertificatesDialog.E5SslCertificatesDialog.on_serversImportButton_clicked?4()
+eric5.E5Network.E5SslCertificatesDialog.E5SslCertificatesDialog.on_serversViewButton_clicked?4()
+eric5.E5Network.E5SslCertificatesDialog.E5SslCertificatesDialog?1(parent=None)
 eric5.E5Network.E5SslErrorHandler.E5SslErrorHandler.sslErrors?4(errors, server, port=-1)
 eric5.E5Network.E5SslErrorHandler.E5SslErrorHandler.sslErrorsReply?4(reply, errors)
 eric5.E5Network.E5SslErrorHandler.E5SslErrorHandler.sslErrorsReplySlot?4(reply, errors)
 eric5.E5Network.E5SslErrorHandler.E5SslErrorHandler?1(parent=None)
+eric5.E5Network.E5SslInfoDialog.E5SslInfoDialog?1(certificate, parent=None)
+eric5.E5Network.E5SslInfoWidget.E5SslInfoWidget.showCertificate?4(certificate)
+eric5.E5Network.E5SslInfoWidget.E5SslInfoWidget?1(parent=None)
 eric5.E5Network.E5UrlInfo.E5UrlInfo.ExeGroup?7
 eric5.E5Network.E5UrlInfo.E5UrlInfo.ExeOther?7
 eric5.E5Network.E5UrlInfo.E5UrlInfo.ExeOwner?7
@@ -3024,21 +3039,6 @@
 eric5.Helpviewer.SpeedDial.SpeedDialReader.SpeedDialReader?1()
 eric5.Helpviewer.SpeedDial.SpeedDialWriter.SpeedDialWriter.write?4(fileNameOrDevice, pages, pagesPerRow, speedDialSize)
 eric5.Helpviewer.SpeedDial.SpeedDialWriter.SpeedDialWriter?1()
-eric5.Helpviewer.SslCertificatesDialog.SslCertificatesDialog.CertRole?7
-eric5.Helpviewer.SslCertificatesDialog.SslCertificatesDialog.on_caCertificatesTree_currentItemChanged?4(current, previous)
-eric5.Helpviewer.SslCertificatesDialog.SslCertificatesDialog.on_caDeleteButton_clicked?4()
-eric5.Helpviewer.SslCertificatesDialog.SslCertificatesDialog.on_caExportButton_clicked?4()
-eric5.Helpviewer.SslCertificatesDialog.SslCertificatesDialog.on_caImportButton_clicked?4()
-eric5.Helpviewer.SslCertificatesDialog.SslCertificatesDialog.on_caViewButton_clicked?4()
-eric5.Helpviewer.SslCertificatesDialog.SslCertificatesDialog.on_serversCertificatesTree_currentItemChanged?4(current, previous)
-eric5.Helpviewer.SslCertificatesDialog.SslCertificatesDialog.on_serversDeleteButton_clicked?4()
-eric5.Helpviewer.SslCertificatesDialog.SslCertificatesDialog.on_serversExportButton_clicked?4()
-eric5.Helpviewer.SslCertificatesDialog.SslCertificatesDialog.on_serversImportButton_clicked?4()
-eric5.Helpviewer.SslCertificatesDialog.SslCertificatesDialog.on_serversViewButton_clicked?4()
-eric5.Helpviewer.SslCertificatesDialog.SslCertificatesDialog?1(parent=None)
-eric5.Helpviewer.SslInfoDialog.SslInfoDialog?1(certificate, parent=None)
-eric5.Helpviewer.SslInfoWidget.SslInfoWidget.showCertificate?4(certificate)
-eric5.Helpviewer.SslInfoWidget.SslInfoWidget?1(parent=None)
 eric5.Helpviewer.Sync.DirectorySyncHandler.DirectorySyncHandler.initialLoadAndCheck?4(forceUpload)
 eric5.Helpviewer.Sync.DirectorySyncHandler.DirectorySyncHandler.shutdown?4()
 eric5.Helpviewer.Sync.DirectorySyncHandler.DirectorySyncHandler.syncBookmarks?4()
--- a/APIs/Python3/eric5.bas	Fri Jan 18 19:31:43 2013 +0100
+++ b/APIs/Python3/eric5.bas	Fri Jan 18 19:50:13 2013 +0100
@@ -164,7 +164,10 @@
 E5SingleApplicationServer SingleApplicationServer
 E5SqueezeLabel QLabel
 E5SqueezeLabelPath QLabel
+E5SslCertificatesDialog QDialog Ui_E5SslCertificatesDialog
 E5SslErrorHandler QObject
+E5SslInfoDialog QDialog Ui_E5SslInfoDialog
+E5SslInfoWidget QWidget Ui_E5SslInfoWidget
 E5StringListCompleter QCompleter
 E5TabWidget QTabWidget
 E5TableView QTableView
@@ -592,9 +595,6 @@
 SqlBrowserWidget QWidget Ui_SqlBrowserWidget
 SqlConnectionDialog QDialog Ui_SqlConnectionDialog
 SqlConnectionWidget QWidget
-SslCertificatesDialog QDialog Ui_SslCertificatesDialog
-SslInfoDialog QDialog Ui_SslInfoDialog
-SslInfoWidget QWidget Ui_SslInfoWidget
 SslLabel QLabel
 StackedUrlBar QStackedWidget
 StackedWidget QStackedWidget
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Fri Jan 18 19:31:43 2013 +0100
+++ b/Documentation/Help/source.qhp	Fri Jan 18 19:50:13 2013 +0100
@@ -148,7 +148,10 @@
             <section title="eric5.E5Network.E5NetworkHeaderDetailsDialog" ref="eric5.E5Network.E5NetworkHeaderDetailsDialog.html" />
             <section title="eric5.E5Network.E5NetworkMonitor" ref="eric5.E5Network.E5NetworkMonitor.html" />
             <section title="eric5.E5Network.E5NetworkProxyFactory" ref="eric5.E5Network.E5NetworkProxyFactory.html" />
+            <section title="eric5.E5Network.E5SslCertificatesDialog" ref="eric5.E5Network.E5SslCertificatesDialog.html" />
             <section title="eric5.E5Network.E5SslErrorHandler" ref="eric5.E5Network.E5SslErrorHandler.html" />
+            <section title="eric5.E5Network.E5SslInfoDialog" ref="eric5.E5Network.E5SslInfoDialog.html" />
+            <section title="eric5.E5Network.E5SslInfoWidget" ref="eric5.E5Network.E5SslInfoWidget.html" />
             <section title="eric5.E5Network.E5UrlInfo" ref="eric5.E5Network.E5UrlInfo.html" />
           </section>
           <section title="eric5.E5XML" ref="index-eric5.E5XML.html">
@@ -400,9 +403,6 @@
             <section title="eric5.Helpviewer.QtHelpDocumentationDialog" ref="eric5.Helpviewer.QtHelpDocumentationDialog.html" />
             <section title="eric5.Helpviewer.QtHelpFiltersDialog" ref="eric5.Helpviewer.QtHelpFiltersDialog.html" />
             <section title="eric5.Helpviewer.SearchWidget" ref="eric5.Helpviewer.SearchWidget.html" />
-            <section title="eric5.Helpviewer.SslCertificatesDialog" ref="eric5.Helpviewer.SslCertificatesDialog.html" />
-            <section title="eric5.Helpviewer.SslInfoDialog" ref="eric5.Helpviewer.SslInfoDialog.html" />
-            <section title="eric5.Helpviewer.SslInfoWidget" ref="eric5.Helpviewer.SslInfoWidget.html" />
             <section title="eric5.Helpviewer.VirusTotalApi" ref="eric5.Helpviewer.VirusTotalApi.html" />
           </section>
           <section title="eric5.IconEditor" ref="index-eric5.IconEditor.html">
@@ -3664,6 +3664,27 @@
       <keyword name="E5SqueezeLabelPath.setSurrounding" id="E5SqueezeLabelPath.setSurrounding" ref="eric5.E5Gui.E5SqueezeLabels.html#E5SqueezeLabelPath.setSurrounding" />
       <keyword name="E5SqueezeLabelPath.setTextPath" id="E5SqueezeLabelPath.setTextPath" ref="eric5.E5Gui.E5SqueezeLabels.html#E5SqueezeLabelPath.setTextPath" />
       <keyword name="E5SqueezeLabels (Module)" id="E5SqueezeLabels (Module)" ref="eric5.E5Gui.E5SqueezeLabels.html" />
+      <keyword name="E5SslCertificatesDialog" id="E5SslCertificatesDialog" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog" />
+      <keyword name="E5SslCertificatesDialog (Constructor)" id="E5SslCertificatesDialog (Constructor)" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.__init__" />
+      <keyword name="E5SslCertificatesDialog (Module)" id="E5SslCertificatesDialog (Module)" ref="eric5.E5Network.E5SslCertificatesDialog.html" />
+      <keyword name="E5SslCertificatesDialog.__createCaCertificateEntry" id="E5SslCertificatesDialog.__createCaCertificateEntry" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.__createCaCertificateEntry" />
+      <keyword name="E5SslCertificatesDialog.__createServerCertificateEntry" id="E5SslCertificatesDialog.__createServerCertificateEntry" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.__createServerCertificateEntry" />
+      <keyword name="E5SslCertificatesDialog.__exportCertificate" id="E5SslCertificatesDialog.__exportCertificate" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.__exportCertificate" />
+      <keyword name="E5SslCertificatesDialog.__getSystemCaCertificates" id="E5SslCertificatesDialog.__getSystemCaCertificates" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.__getSystemCaCertificates" />
+      <keyword name="E5SslCertificatesDialog.__importCertificate" id="E5SslCertificatesDialog.__importCertificate" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.__importCertificate" />
+      <keyword name="E5SslCertificatesDialog.__populateCaCertificatesTree" id="E5SslCertificatesDialog.__populateCaCertificatesTree" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.__populateCaCertificatesTree" />
+      <keyword name="E5SslCertificatesDialog.__populateServerCertificatesTree" id="E5SslCertificatesDialog.__populateServerCertificatesTree" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.__populateServerCertificatesTree" />
+      <keyword name="E5SslCertificatesDialog.__updateDefaultConfiguration" id="E5SslCertificatesDialog.__updateDefaultConfiguration" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.__updateDefaultConfiguration" />
+      <keyword name="E5SslCertificatesDialog.on_caCertificatesTree_currentItemChanged" id="E5SslCertificatesDialog.on_caCertificatesTree_currentItemChanged" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.on_caCertificatesTree_currentItemChanged" />
+      <keyword name="E5SslCertificatesDialog.on_caDeleteButton_clicked" id="E5SslCertificatesDialog.on_caDeleteButton_clicked" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.on_caDeleteButton_clicked" />
+      <keyword name="E5SslCertificatesDialog.on_caExportButton_clicked" id="E5SslCertificatesDialog.on_caExportButton_clicked" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.on_caExportButton_clicked" />
+      <keyword name="E5SslCertificatesDialog.on_caImportButton_clicked" id="E5SslCertificatesDialog.on_caImportButton_clicked" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.on_caImportButton_clicked" />
+      <keyword name="E5SslCertificatesDialog.on_caViewButton_clicked" id="E5SslCertificatesDialog.on_caViewButton_clicked" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.on_caViewButton_clicked" />
+      <keyword name="E5SslCertificatesDialog.on_serversCertificatesTree_currentItemChanged" id="E5SslCertificatesDialog.on_serversCertificatesTree_currentItemChanged" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.on_serversCertificatesTree_currentItemChanged" />
+      <keyword name="E5SslCertificatesDialog.on_serversDeleteButton_clicked" id="E5SslCertificatesDialog.on_serversDeleteButton_clicked" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.on_serversDeleteButton_clicked" />
+      <keyword name="E5SslCertificatesDialog.on_serversExportButton_clicked" id="E5SslCertificatesDialog.on_serversExportButton_clicked" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.on_serversExportButton_clicked" />
+      <keyword name="E5SslCertificatesDialog.on_serversImportButton_clicked" id="E5SslCertificatesDialog.on_serversImportButton_clicked" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.on_serversImportButton_clicked" />
+      <keyword name="E5SslCertificatesDialog.on_serversViewButton_clicked" id="E5SslCertificatesDialog.on_serversViewButton_clicked" ref="eric5.E5Network.E5SslCertificatesDialog.html#E5SslCertificatesDialog.on_serversViewButton_clicked" />
       <keyword name="E5SslErrorHandler" id="E5SslErrorHandler" ref="eric5.E5Network.E5SslErrorHandler.html#E5SslErrorHandler" />
       <keyword name="E5SslErrorHandler (Constructor)" id="E5SslErrorHandler (Constructor)" ref="eric5.E5Network.E5SslErrorHandler.html#E5SslErrorHandler.__init__" />
       <keyword name="E5SslErrorHandler (Module)" id="E5SslErrorHandler (Module)" ref="eric5.E5Network.E5SslErrorHandler.html" />
@@ -3672,6 +3693,17 @@
       <keyword name="E5SslErrorHandler.sslErrors" id="E5SslErrorHandler.sslErrors" ref="eric5.E5Network.E5SslErrorHandler.html#E5SslErrorHandler.sslErrors" />
       <keyword name="E5SslErrorHandler.sslErrorsReply" id="E5SslErrorHandler.sslErrorsReply" ref="eric5.E5Network.E5SslErrorHandler.html#E5SslErrorHandler.sslErrorsReply" />
       <keyword name="E5SslErrorHandler.sslErrorsReplySlot" id="E5SslErrorHandler.sslErrorsReplySlot" ref="eric5.E5Network.E5SslErrorHandler.html#E5SslErrorHandler.sslErrorsReplySlot" />
+      <keyword name="E5SslInfoDialog" id="E5SslInfoDialog" ref="eric5.E5Network.E5SslInfoDialog.html#E5SslInfoDialog" />
+      <keyword name="E5SslInfoDialog (Constructor)" id="E5SslInfoDialog (Constructor)" ref="eric5.E5Network.E5SslInfoDialog.html#E5SslInfoDialog.__init__" />
+      <keyword name="E5SslInfoDialog (Module)" id="E5SslInfoDialog (Module)" ref="eric5.E5Network.E5SslInfoDialog.html" />
+      <keyword name="E5SslInfoWidget" id="E5SslInfoWidget" ref="eric5.E5Network.E5SslInfoWidget.html#E5SslInfoWidget" />
+      <keyword name="E5SslInfoWidget (Constructor)" id="E5SslInfoWidget (Constructor)" ref="eric5.E5Network.E5SslInfoWidget.html#E5SslInfoWidget.__init__" />
+      <keyword name="E5SslInfoWidget (Module)" id="E5SslInfoWidget (Module)" ref="eric5.E5Network.E5SslInfoWidget.html" />
+      <keyword name="E5SslInfoWidget.__certificateString" id="E5SslInfoWidget.__certificateString" ref="eric5.E5Network.E5SslInfoWidget.html#E5SslInfoWidget.__certificateString" />
+      <keyword name="E5SslInfoWidget.__formatHexString" id="E5SslInfoWidget.__formatHexString" ref="eric5.E5Network.E5SslInfoWidget.html#E5SslInfoWidget.__formatHexString" />
+      <keyword name="E5SslInfoWidget.__hasExpired" id="E5SslInfoWidget.__hasExpired" ref="eric5.E5Network.E5SslInfoWidget.html#E5SslInfoWidget.__hasExpired" />
+      <keyword name="E5SslInfoWidget.__serialNumber" id="E5SslInfoWidget.__serialNumber" ref="eric5.E5Network.E5SslInfoWidget.html#E5SslInfoWidget.__serialNumber" />
+      <keyword name="E5SslInfoWidget.showCertificate" id="E5SslInfoWidget.showCertificate" ref="eric5.E5Network.E5SslInfoWidget.html#E5SslInfoWidget.showCertificate" />
       <keyword name="E5StringListCompleter" id="E5StringListCompleter" ref="eric5.E5Gui.E5Completers.html#E5StringListCompleter" />
       <keyword name="E5StringListCompleter (Constructor)" id="E5StringListCompleter (Constructor)" ref="eric5.E5Gui.E5Completers.html#E5StringListCompleter.__init__" />
       <keyword name="E5TabWidget" id="E5TabWidget" ref="eric5.E5Gui.E5TabWidget.html#E5TabWidget" />
@@ -9592,38 +9624,6 @@
       <keyword name="SqlConnectionWidget.currentDatabase" id="SqlConnectionWidget.currentDatabase" ref="eric5.SqlBrowser.SqlConnectionWidget.html#SqlConnectionWidget.currentDatabase" />
       <keyword name="SqlConnectionWidget.refresh" id="SqlConnectionWidget.refresh" ref="eric5.SqlBrowser.SqlConnectionWidget.html#SqlConnectionWidget.refresh" />
       <keyword name="SqlConnectionWidget.showSchema" id="SqlConnectionWidget.showSchema" ref="eric5.SqlBrowser.SqlConnectionWidget.html#SqlConnectionWidget.showSchema" />
-      <keyword name="SslCertificatesDialog" id="SslCertificatesDialog" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog" />
-      <keyword name="SslCertificatesDialog (Constructor)" id="SslCertificatesDialog (Constructor)" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.__init__" />
-      <keyword name="SslCertificatesDialog (Module)" id="SslCertificatesDialog (Module)" ref="eric5.Helpviewer.SslCertificatesDialog.html" />
-      <keyword name="SslCertificatesDialog.__createCaCertificateEntry" id="SslCertificatesDialog.__createCaCertificateEntry" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.__createCaCertificateEntry" />
-      <keyword name="SslCertificatesDialog.__createServerCertificateEntry" id="SslCertificatesDialog.__createServerCertificateEntry" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.__createServerCertificateEntry" />
-      <keyword name="SslCertificatesDialog.__exportCertificate" id="SslCertificatesDialog.__exportCertificate" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.__exportCertificate" />
-      <keyword name="SslCertificatesDialog.__getSystemCaCertificates" id="SslCertificatesDialog.__getSystemCaCertificates" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.__getSystemCaCertificates" />
-      <keyword name="SslCertificatesDialog.__importCertificate" id="SslCertificatesDialog.__importCertificate" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.__importCertificate" />
-      <keyword name="SslCertificatesDialog.__populateCaCertificatesTree" id="SslCertificatesDialog.__populateCaCertificatesTree" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.__populateCaCertificatesTree" />
-      <keyword name="SslCertificatesDialog.__populateServerCertificatesTree" id="SslCertificatesDialog.__populateServerCertificatesTree" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.__populateServerCertificatesTree" />
-      <keyword name="SslCertificatesDialog.__updateDefaultConfiguration" id="SslCertificatesDialog.__updateDefaultConfiguration" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.__updateDefaultConfiguration" />
-      <keyword name="SslCertificatesDialog.on_caCertificatesTree_currentItemChanged" id="SslCertificatesDialog.on_caCertificatesTree_currentItemChanged" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.on_caCertificatesTree_currentItemChanged" />
-      <keyword name="SslCertificatesDialog.on_caDeleteButton_clicked" id="SslCertificatesDialog.on_caDeleteButton_clicked" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.on_caDeleteButton_clicked" />
-      <keyword name="SslCertificatesDialog.on_caExportButton_clicked" id="SslCertificatesDialog.on_caExportButton_clicked" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.on_caExportButton_clicked" />
-      <keyword name="SslCertificatesDialog.on_caImportButton_clicked" id="SslCertificatesDialog.on_caImportButton_clicked" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.on_caImportButton_clicked" />
-      <keyword name="SslCertificatesDialog.on_caViewButton_clicked" id="SslCertificatesDialog.on_caViewButton_clicked" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.on_caViewButton_clicked" />
-      <keyword name="SslCertificatesDialog.on_serversCertificatesTree_currentItemChanged" id="SslCertificatesDialog.on_serversCertificatesTree_currentItemChanged" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.on_serversCertificatesTree_currentItemChanged" />
-      <keyword name="SslCertificatesDialog.on_serversDeleteButton_clicked" id="SslCertificatesDialog.on_serversDeleteButton_clicked" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.on_serversDeleteButton_clicked" />
-      <keyword name="SslCertificatesDialog.on_serversExportButton_clicked" id="SslCertificatesDialog.on_serversExportButton_clicked" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.on_serversExportButton_clicked" />
-      <keyword name="SslCertificatesDialog.on_serversImportButton_clicked" id="SslCertificatesDialog.on_serversImportButton_clicked" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.on_serversImportButton_clicked" />
-      <keyword name="SslCertificatesDialog.on_serversViewButton_clicked" id="SslCertificatesDialog.on_serversViewButton_clicked" ref="eric5.Helpviewer.SslCertificatesDialog.html#SslCertificatesDialog.on_serversViewButton_clicked" />
-      <keyword name="SslInfoDialog" id="SslInfoDialog" ref="eric5.Helpviewer.SslInfoDialog.html#SslInfoDialog" />
-      <keyword name="SslInfoDialog (Constructor)" id="SslInfoDialog (Constructor)" ref="eric5.Helpviewer.SslInfoDialog.html#SslInfoDialog.__init__" />
-      <keyword name="SslInfoDialog (Module)" id="SslInfoDialog (Module)" ref="eric5.Helpviewer.SslInfoDialog.html" />
-      <keyword name="SslInfoWidget" id="SslInfoWidget" ref="eric5.Helpviewer.SslInfoWidget.html#SslInfoWidget" />
-      <keyword name="SslInfoWidget (Constructor)" id="SslInfoWidget (Constructor)" ref="eric5.Helpviewer.SslInfoWidget.html#SslInfoWidget.__init__" />
-      <keyword name="SslInfoWidget (Module)" id="SslInfoWidget (Module)" ref="eric5.Helpviewer.SslInfoWidget.html" />
-      <keyword name="SslInfoWidget.__certificateString" id="SslInfoWidget.__certificateString" ref="eric5.Helpviewer.SslInfoWidget.html#SslInfoWidget.__certificateString" />
-      <keyword name="SslInfoWidget.__formatHexString" id="SslInfoWidget.__formatHexString" ref="eric5.Helpviewer.SslInfoWidget.html#SslInfoWidget.__formatHexString" />
-      <keyword name="SslInfoWidget.__hasExpired" id="SslInfoWidget.__hasExpired" ref="eric5.Helpviewer.SslInfoWidget.html#SslInfoWidget.__hasExpired" />
-      <keyword name="SslInfoWidget.__serialNumber" id="SslInfoWidget.__serialNumber" ref="eric5.Helpviewer.SslInfoWidget.html#SslInfoWidget.__serialNumber" />
-      <keyword name="SslInfoWidget.showCertificate" id="SslInfoWidget.showCertificate" ref="eric5.Helpviewer.SslInfoWidget.html#SslInfoWidget.showCertificate" />
       <keyword name="SslLabel" id="SslLabel" ref="eric5.Helpviewer.UrlBar.SslLabel.html#SslLabel" />
       <keyword name="SslLabel (Constructor)" id="SslLabel (Constructor)" ref="eric5.Helpviewer.UrlBar.SslLabel.html#SslLabel.__init__" />
       <keyword name="SslLabel (Module)" id="SslLabel (Module)" ref="eric5.Helpviewer.UrlBar.SslLabel.html" />
@@ -11442,6 +11442,7 @@
       <keyword name="UserInterface.__setWindowCaption" id="UserInterface.__setWindowCaption" ref="eric5.UI.UserInterface.html#UserInterface.__setWindowCaption" />
       <keyword name="UserInterface.__setupDockWindow" id="UserInterface.__setupDockWindow" ref="eric5.UI.UserInterface.html#UserInterface.__setupDockWindow" />
       <keyword name="UserInterface.__showAvailableVersionInfos" id="UserInterface.__showAvailableVersionInfos" ref="eric5.UI.UserInterface.html#UserInterface.__showAvailableVersionInfos" />
+      <keyword name="UserInterface.__showCertificatesDialog" id="UserInterface.__showCertificatesDialog" ref="eric5.UI.UserInterface.html#UserInterface.__showCertificatesDialog" />
       <keyword name="UserInterface.__showEricDoc" id="UserInterface.__showEricDoc" ref="eric5.UI.UserInterface.html#UserInterface.__showEricDoc" />
       <keyword name="UserInterface.__showExternalTools" id="UserInterface.__showExternalTools" ref="eric5.UI.UserInterface.html#UserInterface.__showExternalTools" />
       <keyword name="UserInterface.__showExtrasMenu" id="UserInterface.__showExtrasMenu" ref="eric5.UI.UserInterface.html#UserInterface.__showExtrasMenu" />
@@ -13019,7 +13020,10 @@
       <file>eric5.E5Network.E5NetworkHeaderDetailsDialog.html</file>
       <file>eric5.E5Network.E5NetworkMonitor.html</file>
       <file>eric5.E5Network.E5NetworkProxyFactory.html</file>
+      <file>eric5.E5Network.E5SslCertificatesDialog.html</file>
       <file>eric5.E5Network.E5SslErrorHandler.html</file>
+      <file>eric5.E5Network.E5SslInfoDialog.html</file>
+      <file>eric5.E5Network.E5SslInfoWidget.html</file>
       <file>eric5.E5Network.E5UrlInfo.html</file>
       <file>eric5.E5XML.Config.html</file>
       <file>eric5.E5XML.DebuggerPropertiesReader.html</file>
@@ -13189,9 +13193,6 @@
       <file>eric5.Helpviewer.SpeedDial.SpeedDial.html</file>
       <file>eric5.Helpviewer.SpeedDial.SpeedDialReader.html</file>
       <file>eric5.Helpviewer.SpeedDial.SpeedDialWriter.html</file>
-      <file>eric5.Helpviewer.SslCertificatesDialog.html</file>
-      <file>eric5.Helpviewer.SslInfoDialog.html</file>
-      <file>eric5.Helpviewer.SslInfoWidget.html</file>
       <file>eric5.Helpviewer.Sync.DirectorySyncHandler.html</file>
       <file>eric5.Helpviewer.Sync.FtpSyncHandler.html</file>
       <file>eric5.Helpviewer.Sync.SyncAssistantDialog.html</file>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric5.E5Network.E5SslCertificatesDialog.html	Fri Jan 18 19:50:13 2013 +0100
@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html><head>
+<title>eric5.E5Network.E5SslCertificatesDialog</title>
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric5.E5Network.E5SslCertificatesDialog</h1>
+<p>
+Module implementing a dialog to show and edit all certificates.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#E5SslCertificatesDialog">E5SslCertificatesDialog</a></td>
+<td>Class implementing a dialog to show and edit all certificates.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="E5SslCertificatesDialog" ID="E5SslCertificatesDialog"></a>
+<h2>E5SslCertificatesDialog</h2>
+<p>
+    Class implementing a dialog to show and edit all certificates.
+</p>
+<h3>Derived from</h3>
+QDialog, Ui_E5SslCertificatesDialog
+<h3>Class Attributes</h3>
+<table>
+<tr><td>CertRole</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#E5SslCertificatesDialog.__init__">E5SslCertificatesDialog</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.__createCaCertificateEntry">__createCaCertificateEntry</a></td>
+<td>Private method to create a CA certificate entry.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.__createServerCertificateEntry">__createServerCertificateEntry</a></td>
+<td>Private method to create a server certificate entry.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.__exportCertificate">__exportCertificate</a></td>
+<td>Private slot to export a certificate.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.__getSystemCaCertificates">__getSystemCaCertificates</a></td>
+<td>Private method to get the list of system certificates.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.__importCertificate">__importCertificate</a></td>
+<td>Private method to read a certificate.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.__populateCaCertificatesTree">__populateCaCertificatesTree</a></td>
+<td>Private slot to populate the CA certificates tree.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.__populateServerCertificatesTree">__populateServerCertificatesTree</a></td>
+<td>Private slot to populate the server certificates tree.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.__updateDefaultConfiguration">__updateDefaultConfiguration</a></td>
+<td>Private method to update the default SSL configuration.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.on_caCertificatesTree_currentItemChanged">on_caCertificatesTree_currentItemChanged</a></td>
+<td>Private slot handling a change of the current item in the CA certificates list.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.on_caDeleteButton_clicked">on_caDeleteButton_clicked</a></td>
+<td>Private slot to delete the selected CA certificate.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.on_caExportButton_clicked">on_caExportButton_clicked</a></td>
+<td>Private slot to export the selected CA certificate.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.on_caImportButton_clicked">on_caImportButton_clicked</a></td>
+<td>Private slot to import server certificates.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.on_caViewButton_clicked">on_caViewButton_clicked</a></td>
+<td>Private slot to show data of the selected CA certificate.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.on_serversCertificatesTree_currentItemChanged">on_serversCertificatesTree_currentItemChanged</a></td>
+<td>Private slot handling a change of the current item in the server certificates list.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.on_serversDeleteButton_clicked">on_serversDeleteButton_clicked</a></td>
+<td>Private slot to delete the selected server certificate.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.on_serversExportButton_clicked">on_serversExportButton_clicked</a></td>
+<td>Private slot to export the selected server certificate.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.on_serversImportButton_clicked">on_serversImportButton_clicked</a></td>
+<td>Private slot to import server certificates.</td>
+</tr><tr>
+<td><a href="#E5SslCertificatesDialog.on_serversViewButton_clicked">on_serversViewButton_clicked</a></td>
+<td>Private slot to show data of the selected server certificate.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="E5SslCertificatesDialog.__init__" ID="E5SslCertificatesDialog.__init__"></a>
+<h4>E5SslCertificatesDialog (Constructor)</h4>
+<b>E5SslCertificatesDialog</b>(<i>parent=None</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>parent</i></dt>
+<dd>
+reference to the parent widget (QWidget)
+</dd>
+</dl><a NAME="E5SslCertificatesDialog.__createCaCertificateEntry" ID="E5SslCertificatesDialog.__createCaCertificateEntry"></a>
+<h4>E5SslCertificatesDialog.__createCaCertificateEntry</h4>
+<b>__createCaCertificateEntry</b>(<i>cert</i>)
+<p>
+        Private method to create a CA certificate entry.
+</p><dl>
+<dt><i>cert</i></dt>
+<dd>
+certificate to insert (QSslCertificate)
+</dd>
+</dl><a NAME="E5SslCertificatesDialog.__createServerCertificateEntry" ID="E5SslCertificatesDialog.__createServerCertificateEntry"></a>
+<h4>E5SslCertificatesDialog.__createServerCertificateEntry</h4>
+<b>__createServerCertificateEntry</b>(<i>server, cert</i>)
+<p>
+        Private method to create a server certificate entry.
+</p><dl>
+<dt><i>server</i></dt>
+<dd>
+server name of the certificate (string)
+</dd><dt><i>cert</i></dt>
+<dd>
+certificate to insert (QSslCertificate)
+</dd>
+</dl><a NAME="E5SslCertificatesDialog.__exportCertificate" ID="E5SslCertificatesDialog.__exportCertificate"></a>
+<h4>E5SslCertificatesDialog.__exportCertificate</h4>
+<b>__exportCertificate</b>(<i>name, cert</i>)
+<p>
+        Private slot to export a certificate.
+</p><dl>
+<dt><i>name</i></dt>
+<dd>
+default file name without extension (string)
+</dd><dt><i>cert</i></dt>
+<dd>
+certificate to be exported (QSslCertificate)
+</dd>
+</dl><a NAME="E5SslCertificatesDialog.__getSystemCaCertificates" ID="E5SslCertificatesDialog.__getSystemCaCertificates"></a>
+<h4>E5SslCertificatesDialog.__getSystemCaCertificates</h4>
+<b>__getSystemCaCertificates</b>(<i></i>)
+<p>
+        Private method to get the list of system certificates.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+list of system certificates (list of QSslCertificate)
+</dd>
+</dl><a NAME="E5SslCertificatesDialog.__importCertificate" ID="E5SslCertificatesDialog.__importCertificate"></a>
+<h4>E5SslCertificatesDialog.__importCertificate</h4>
+<b>__importCertificate</b>(<i></i>)
+<p>
+        Private method to read a certificate.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+certificates read (list of QSslCertificate)
+</dd>
+</dl><a NAME="E5SslCertificatesDialog.__populateCaCertificatesTree" ID="E5SslCertificatesDialog.__populateCaCertificatesTree"></a>
+<h4>E5SslCertificatesDialog.__populateCaCertificatesTree</h4>
+<b>__populateCaCertificatesTree</b>(<i></i>)
+<p>
+        Private slot to populate the CA certificates tree.
+</p><a NAME="E5SslCertificatesDialog.__populateServerCertificatesTree" ID="E5SslCertificatesDialog.__populateServerCertificatesTree"></a>
+<h4>E5SslCertificatesDialog.__populateServerCertificatesTree</h4>
+<b>__populateServerCertificatesTree</b>(<i></i>)
+<p>
+        Private slot to populate the server certificates tree.
+</p><a NAME="E5SslCertificatesDialog.__updateDefaultConfiguration" ID="E5SslCertificatesDialog.__updateDefaultConfiguration"></a>
+<h4>E5SslCertificatesDialog.__updateDefaultConfiguration</h4>
+<b>__updateDefaultConfiguration</b>(<i></i>)
+<p>
+        Private method to update the default SSL configuration.
+</p><a NAME="E5SslCertificatesDialog.on_caCertificatesTree_currentItemChanged" ID="E5SslCertificatesDialog.on_caCertificatesTree_currentItemChanged"></a>
+<h4>E5SslCertificatesDialog.on_caCertificatesTree_currentItemChanged</h4>
+<b>on_caCertificatesTree_currentItemChanged</b>(<i>current, previous</i>)
+<p>
+        Private slot handling a change of the current item
+        in the CA certificates list.
+</p><dl>
+<dt><i>current</i></dt>
+<dd>
+new current item (QTreeWidgetItem)
+</dd><dt><i>previous</i></dt>
+<dd>
+previous current item (QTreeWidgetItem)
+</dd>
+</dl><a NAME="E5SslCertificatesDialog.on_caDeleteButton_clicked" ID="E5SslCertificatesDialog.on_caDeleteButton_clicked"></a>
+<h4>E5SslCertificatesDialog.on_caDeleteButton_clicked</h4>
+<b>on_caDeleteButton_clicked</b>(<i></i>)
+<p>
+        Private slot to delete the selected CA certificate.
+</p><a NAME="E5SslCertificatesDialog.on_caExportButton_clicked" ID="E5SslCertificatesDialog.on_caExportButton_clicked"></a>
+<h4>E5SslCertificatesDialog.on_caExportButton_clicked</h4>
+<b>on_caExportButton_clicked</b>(<i></i>)
+<p>
+        Private slot to export the selected CA certificate.
+</p><a NAME="E5SslCertificatesDialog.on_caImportButton_clicked" ID="E5SslCertificatesDialog.on_caImportButton_clicked"></a>
+<h4>E5SslCertificatesDialog.on_caImportButton_clicked</h4>
+<b>on_caImportButton_clicked</b>(<i></i>)
+<p>
+        Private slot to import server certificates.
+</p><a NAME="E5SslCertificatesDialog.on_caViewButton_clicked" ID="E5SslCertificatesDialog.on_caViewButton_clicked"></a>
+<h4>E5SslCertificatesDialog.on_caViewButton_clicked</h4>
+<b>on_caViewButton_clicked</b>(<i></i>)
+<p>
+        Private slot to show data of the selected CA certificate.
+</p><a NAME="E5SslCertificatesDialog.on_serversCertificatesTree_currentItemChanged" ID="E5SslCertificatesDialog.on_serversCertificatesTree_currentItemChanged"></a>
+<h4>E5SslCertificatesDialog.on_serversCertificatesTree_currentItemChanged</h4>
+<b>on_serversCertificatesTree_currentItemChanged</b>(<i>current, previous</i>)
+<p>
+        Private slot handling a change of the current item in the
+        server certificates list.
+</p><dl>
+<dt><i>current</i></dt>
+<dd>
+new current item (QTreeWidgetItem)
+</dd><dt><i>previous</i></dt>
+<dd>
+previous current item (QTreeWidgetItem)
+</dd>
+</dl><a NAME="E5SslCertificatesDialog.on_serversDeleteButton_clicked" ID="E5SslCertificatesDialog.on_serversDeleteButton_clicked"></a>
+<h4>E5SslCertificatesDialog.on_serversDeleteButton_clicked</h4>
+<b>on_serversDeleteButton_clicked</b>(<i></i>)
+<p>
+        Private slot to delete the selected server certificate.
+</p><a NAME="E5SslCertificatesDialog.on_serversExportButton_clicked" ID="E5SslCertificatesDialog.on_serversExportButton_clicked"></a>
+<h4>E5SslCertificatesDialog.on_serversExportButton_clicked</h4>
+<b>on_serversExportButton_clicked</b>(<i></i>)
+<p>
+        Private slot to export the selected server certificate.
+</p><a NAME="E5SslCertificatesDialog.on_serversImportButton_clicked" ID="E5SslCertificatesDialog.on_serversImportButton_clicked"></a>
+<h4>E5SslCertificatesDialog.on_serversImportButton_clicked</h4>
+<b>on_serversImportButton_clicked</b>(<i></i>)
+<p>
+        Private slot to import server certificates.
+</p><a NAME="E5SslCertificatesDialog.on_serversViewButton_clicked" ID="E5SslCertificatesDialog.on_serversViewButton_clicked"></a>
+<h4>E5SslCertificatesDialog.on_serversViewButton_clicked</h4>
+<b>on_serversViewButton_clicked</b>(<i></i>)
+<p>
+        Private slot to show data of the selected server certificate.
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric5.E5Network.E5SslInfoDialog.html	Fri Jan 18 19:50:13 2013 +0100
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html><head>
+<title>eric5.E5Network.E5SslInfoDialog</title>
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric5.E5Network.E5SslInfoDialog</h1>
+<p>
+Module implementing a dialog to show SSL certificate infos.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#E5SslInfoDialog">E5SslInfoDialog</a></td>
+<td>Class implementing a dialog to show SSL certificate infos.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="E5SslInfoDialog" ID="E5SslInfoDialog"></a>
+<h2>E5SslInfoDialog</h2>
+<p>
+    Class implementing a dialog to show SSL certificate infos.
+</p>
+<h3>Derived from</h3>
+QDialog, Ui_E5SslInfoDialog
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#E5SslInfoDialog.__init__">E5SslInfoDialog</a></td>
+<td>Constructor</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="E5SslInfoDialog.__init__" ID="E5SslInfoDialog.__init__"></a>
+<h4>E5SslInfoDialog (Constructor)</h4>
+<b>E5SslInfoDialog</b>(<i>certificate, parent=None</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>certificate</i></dt>
+<dd>
+reference to the SSL certificate (QSslCertificate)
+</dd><dt><i>parent</i></dt>
+<dd>
+reference to the parent widget (QWidget)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric5.E5Network.E5SslInfoWidget.html	Fri Jan 18 19:50:13 2013 +0100
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html><head>
+<title>eric5.E5Network.E5SslInfoWidget</title>
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric5.E5Network.E5SslInfoWidget</h1>
+<p>
+Module implementing a widget to show SSL certificate infos.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#E5SslInfoWidget">E5SslInfoWidget</a></td>
+<td>Class implementing a widget to show SSL certificate infos.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="E5SslInfoWidget" ID="E5SslInfoWidget"></a>
+<h2>E5SslInfoWidget</h2>
+<p>
+    Class implementing a widget to show SSL certificate infos.
+</p>
+<h3>Derived from</h3>
+QWidget, Ui_E5SslInfoWidget
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#E5SslInfoWidget.__init__">E5SslInfoWidget</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#E5SslInfoWidget.__certificateString">__certificateString</a></td>
+<td>Private method to prepare some text for display.</td>
+</tr><tr>
+<td><a href="#E5SslInfoWidget.__formatHexString">__formatHexString</a></td>
+<td>Private method to format a hex string for display.</td>
+</tr><tr>
+<td><a href="#E5SslInfoWidget.__hasExpired">__hasExpired</a></td>
+<td>Private method to check for a certificate expiration.</td>
+</tr><tr>
+<td><a href="#E5SslInfoWidget.__serialNumber">__serialNumber</a></td>
+<td>Private slot to format the certificate serial number.</td>
+</tr><tr>
+<td><a href="#E5SslInfoWidget.showCertificate">showCertificate</a></td>
+<td>Public method to show the  SSL certificate information.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="E5SslInfoWidget.__init__" ID="E5SslInfoWidget.__init__"></a>
+<h4>E5SslInfoWidget (Constructor)</h4>
+<b>E5SslInfoWidget</b>(<i>parent=None</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>parent</i></dt>
+<dd>
+reference to the parent widget (QWidget)
+</dd>
+</dl><a NAME="E5SslInfoWidget.__certificateString" ID="E5SslInfoWidget.__certificateString"></a>
+<h4>E5SslInfoWidget.__certificateString</h4>
+<b>__certificateString</b>(<i>txt</i>)
+<p>
+        Private method to prepare some text for display.
+</p><dl>
+<dt><i>txt</i></dt>
+<dd>
+text to be displayed (string)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+prepared text (string)
+</dd>
+</dl><a NAME="E5SslInfoWidget.__formatHexString" ID="E5SslInfoWidget.__formatHexString"></a>
+<h4>E5SslInfoWidget.__formatHexString</h4>
+<b>__formatHexString</b>(<i>hexString</i>)
+<p>
+        Private method to format a hex string for display.
+</p><dl>
+<dt><i>hexString</i></dt>
+<dd>
+hex string to be formatted (string)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+formatted string (string)
+</dd>
+</dl><a NAME="E5SslInfoWidget.__hasExpired" ID="E5SslInfoWidget.__hasExpired"></a>
+<h4>E5SslInfoWidget.__hasExpired</h4>
+<b>__hasExpired</b>(<i>effectiveDate, expiryDate</i>)
+<p>
+        Private method to check for a certificate expiration.
+</p><dl>
+<dt><i>effectiveDate</i></dt>
+<dd>
+date the certificate becomes effective (QDateTime)
+</dd><dt><i>expiryDate</i></dt>
+<dd>
+date the certificate expires (QDateTime)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating the expiration status (boolean)
+</dd>
+</dl><a NAME="E5SslInfoWidget.__serialNumber" ID="E5SslInfoWidget.__serialNumber"></a>
+<h4>E5SslInfoWidget.__serialNumber</h4>
+<b>__serialNumber</b>(<i>cert</i>)
+<p>
+        Private slot to format the certificate serial number.
+</p><dl>
+<dt><i>cert</i></dt>
+<dd>
+reference to the SSL certificate (QSslCertificate)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+formated serial number (string)
+</dd>
+</dl><a NAME="E5SslInfoWidget.showCertificate" ID="E5SslInfoWidget.showCertificate"></a>
+<h4>E5SslInfoWidget.showCertificate</h4>
+<b>showCertificate</b>(<i>certificate</i>)
+<p>
+        Public method to show the  SSL certificate information.
+</p><dl>
+<dt><i>certificate</i></dt>
+<dd>
+reference to the SSL certificate (QSslCertificate)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- a/Documentation/Source/eric5.Helpviewer.SslCertificatesDialog.html	Fri Jan 18 19:31:43 2013 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,275 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html><head>
-<title>eric5.Helpviewer.SslCertificatesDialog</title>
-<style>
-body {
-    background: #EDECE6;
-    margin: 0em 1em 10em 1em;
-    color: black;
-}
-
-h1 { color: white; background: #85774A; }
-h2 { color: white; background: #85774A; }
-h3 { color: white; background: #9D936E; }
-h4 { color: white; background: #9D936E; }
-    
-a { color: #BA6D36; }
-
-</style>
-</head>
-<body><a NAME="top" ID="top"></a>
-<h1>eric5.Helpviewer.SslCertificatesDialog</h1>
-<p>
-Module implementing a dialog to show and edit all certificates.
-</p>
-<h3>Global Attributes</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Classes</h3>
-<table>
-<tr>
-<td><a href="#SslCertificatesDialog">SslCertificatesDialog</a></td>
-<td>Class implementing a dialog to show and edit all certificates.</td>
-</tr>
-</table>
-<h3>Functions</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<hr /><hr />
-<a NAME="SslCertificatesDialog" ID="SslCertificatesDialog"></a>
-<h2>SslCertificatesDialog</h2>
-<p>
-    Class implementing a dialog to show and edit all certificates.
-</p>
-<h3>Derived from</h3>
-QDialog, Ui_SslCertificatesDialog
-<h3>Class Attributes</h3>
-<table>
-<tr><td>CertRole</td></tr>
-</table>
-<h3>Class Methods</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Methods</h3>
-<table>
-<tr>
-<td><a href="#SslCertificatesDialog.__init__">SslCertificatesDialog</a></td>
-<td>Constructor</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.__createCaCertificateEntry">__createCaCertificateEntry</a></td>
-<td>Private method to create a CA certificate entry.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.__createServerCertificateEntry">__createServerCertificateEntry</a></td>
-<td>Private method to create a server certificate entry.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.__exportCertificate">__exportCertificate</a></td>
-<td>Private slot to export a certificate.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.__getSystemCaCertificates">__getSystemCaCertificates</a></td>
-<td>Private method to get the list of system certificates.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.__importCertificate">__importCertificate</a></td>
-<td>Private method to read a certificate.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.__populateCaCertificatesTree">__populateCaCertificatesTree</a></td>
-<td>Private slot to populate the CA certificates tree.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.__populateServerCertificatesTree">__populateServerCertificatesTree</a></td>
-<td>Private slot to populate the server certificates tree.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.__updateDefaultConfiguration">__updateDefaultConfiguration</a></td>
-<td>Private method to update the default SSL configuration.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.on_caCertificatesTree_currentItemChanged">on_caCertificatesTree_currentItemChanged</a></td>
-<td>Private slot handling a change of the current item in the CA certificates list.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.on_caDeleteButton_clicked">on_caDeleteButton_clicked</a></td>
-<td>Private slot to delete the selected CA certificate.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.on_caExportButton_clicked">on_caExportButton_clicked</a></td>
-<td>Private slot to export the selected CA certificate.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.on_caImportButton_clicked">on_caImportButton_clicked</a></td>
-<td>Private slot to import server certificates.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.on_caViewButton_clicked">on_caViewButton_clicked</a></td>
-<td>Private slot to show data of the selected CA certificate.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.on_serversCertificatesTree_currentItemChanged">on_serversCertificatesTree_currentItemChanged</a></td>
-<td>Private slot handling a change of the current item in the server certificates list.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.on_serversDeleteButton_clicked">on_serversDeleteButton_clicked</a></td>
-<td>Private slot to delete the selected server certificate.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.on_serversExportButton_clicked">on_serversExportButton_clicked</a></td>
-<td>Private slot to export the selected server certificate.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.on_serversImportButton_clicked">on_serversImportButton_clicked</a></td>
-<td>Private slot to import server certificates.</td>
-</tr><tr>
-<td><a href="#SslCertificatesDialog.on_serversViewButton_clicked">on_serversViewButton_clicked</a></td>
-<td>Private slot to show data of the selected server certificate.</td>
-</tr>
-</table>
-<h3>Static Methods</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<a NAME="SslCertificatesDialog.__init__" ID="SslCertificatesDialog.__init__"></a>
-<h4>SslCertificatesDialog (Constructor)</h4>
-<b>SslCertificatesDialog</b>(<i>parent=None</i>)
-<p>
-        Constructor
-</p><dl>
-<dt><i>parent</i></dt>
-<dd>
-reference to the parent widget (QWidget)
-</dd>
-</dl><a NAME="SslCertificatesDialog.__createCaCertificateEntry" ID="SslCertificatesDialog.__createCaCertificateEntry"></a>
-<h4>SslCertificatesDialog.__createCaCertificateEntry</h4>
-<b>__createCaCertificateEntry</b>(<i>cert</i>)
-<p>
-        Private method to create a CA certificate entry.
-</p><dl>
-<dt><i>cert</i></dt>
-<dd>
-certificate to insert (QSslCertificate)
-</dd>
-</dl><a NAME="SslCertificatesDialog.__createServerCertificateEntry" ID="SslCertificatesDialog.__createServerCertificateEntry"></a>
-<h4>SslCertificatesDialog.__createServerCertificateEntry</h4>
-<b>__createServerCertificateEntry</b>(<i>server, cert</i>)
-<p>
-        Private method to create a server certificate entry.
-</p><dl>
-<dt><i>server</i></dt>
-<dd>
-server name of the certificate (string)
-</dd><dt><i>cert</i></dt>
-<dd>
-certificate to insert (QSslCertificate)
-</dd>
-</dl><a NAME="SslCertificatesDialog.__exportCertificate" ID="SslCertificatesDialog.__exportCertificate"></a>
-<h4>SslCertificatesDialog.__exportCertificate</h4>
-<b>__exportCertificate</b>(<i>name, cert</i>)
-<p>
-        Private slot to export a certificate.
-</p><dl>
-<dt><i>name</i></dt>
-<dd>
-default file name without extension (string)
-</dd><dt><i>cert</i></dt>
-<dd>
-certificate to be exported (QSslCertificate)
-</dd>
-</dl><a NAME="SslCertificatesDialog.__getSystemCaCertificates" ID="SslCertificatesDialog.__getSystemCaCertificates"></a>
-<h4>SslCertificatesDialog.__getSystemCaCertificates</h4>
-<b>__getSystemCaCertificates</b>(<i></i>)
-<p>
-        Private method to get the list of system certificates.
-</p><dl>
-<dt>Returns:</dt>
-<dd>
-list of system certificates (list of QSslCertificate)
-</dd>
-</dl><a NAME="SslCertificatesDialog.__importCertificate" ID="SslCertificatesDialog.__importCertificate"></a>
-<h4>SslCertificatesDialog.__importCertificate</h4>
-<b>__importCertificate</b>(<i></i>)
-<p>
-        Private method to read a certificate.
-</p><dl>
-<dt>Returns:</dt>
-<dd>
-certificates read (list of QSslCertificate)
-</dd>
-</dl><a NAME="SslCertificatesDialog.__populateCaCertificatesTree" ID="SslCertificatesDialog.__populateCaCertificatesTree"></a>
-<h4>SslCertificatesDialog.__populateCaCertificatesTree</h4>
-<b>__populateCaCertificatesTree</b>(<i></i>)
-<p>
-        Private slot to populate the CA certificates tree.
-</p><a NAME="SslCertificatesDialog.__populateServerCertificatesTree" ID="SslCertificatesDialog.__populateServerCertificatesTree"></a>
-<h4>SslCertificatesDialog.__populateServerCertificatesTree</h4>
-<b>__populateServerCertificatesTree</b>(<i></i>)
-<p>
-        Private slot to populate the server certificates tree.
-</p><a NAME="SslCertificatesDialog.__updateDefaultConfiguration" ID="SslCertificatesDialog.__updateDefaultConfiguration"></a>
-<h4>SslCertificatesDialog.__updateDefaultConfiguration</h4>
-<b>__updateDefaultConfiguration</b>(<i></i>)
-<p>
-        Private method to update the default SSL configuration.
-</p><a NAME="SslCertificatesDialog.on_caCertificatesTree_currentItemChanged" ID="SslCertificatesDialog.on_caCertificatesTree_currentItemChanged"></a>
-<h4>SslCertificatesDialog.on_caCertificatesTree_currentItemChanged</h4>
-<b>on_caCertificatesTree_currentItemChanged</b>(<i>current, previous</i>)
-<p>
-        Private slot handling a change of the current item
-        in the CA certificates list.
-</p><dl>
-<dt><i>current</i></dt>
-<dd>
-new current item (QTreeWidgetItem)
-</dd><dt><i>previous</i></dt>
-<dd>
-previous current item (QTreeWidgetItem)
-</dd>
-</dl><a NAME="SslCertificatesDialog.on_caDeleteButton_clicked" ID="SslCertificatesDialog.on_caDeleteButton_clicked"></a>
-<h4>SslCertificatesDialog.on_caDeleteButton_clicked</h4>
-<b>on_caDeleteButton_clicked</b>(<i></i>)
-<p>
-        Private slot to delete the selected CA certificate.
-</p><a NAME="SslCertificatesDialog.on_caExportButton_clicked" ID="SslCertificatesDialog.on_caExportButton_clicked"></a>
-<h4>SslCertificatesDialog.on_caExportButton_clicked</h4>
-<b>on_caExportButton_clicked</b>(<i></i>)
-<p>
-        Private slot to export the selected CA certificate.
-</p><a NAME="SslCertificatesDialog.on_caImportButton_clicked" ID="SslCertificatesDialog.on_caImportButton_clicked"></a>
-<h4>SslCertificatesDialog.on_caImportButton_clicked</h4>
-<b>on_caImportButton_clicked</b>(<i></i>)
-<p>
-        Private slot to import server certificates.
-</p><a NAME="SslCertificatesDialog.on_caViewButton_clicked" ID="SslCertificatesDialog.on_caViewButton_clicked"></a>
-<h4>SslCertificatesDialog.on_caViewButton_clicked</h4>
-<b>on_caViewButton_clicked</b>(<i></i>)
-<p>
-        Private slot to show data of the selected CA certificate.
-</p><a NAME="SslCertificatesDialog.on_serversCertificatesTree_currentItemChanged" ID="SslCertificatesDialog.on_serversCertificatesTree_currentItemChanged"></a>
-<h4>SslCertificatesDialog.on_serversCertificatesTree_currentItemChanged</h4>
-<b>on_serversCertificatesTree_currentItemChanged</b>(<i>current, previous</i>)
-<p>
-        Private slot handling a change of the current item in the
-        server certificates list.
-</p><dl>
-<dt><i>current</i></dt>
-<dd>
-new current item (QTreeWidgetItem)
-</dd><dt><i>previous</i></dt>
-<dd>
-previous current item (QTreeWidgetItem)
-</dd>
-</dl><a NAME="SslCertificatesDialog.on_serversDeleteButton_clicked" ID="SslCertificatesDialog.on_serversDeleteButton_clicked"></a>
-<h4>SslCertificatesDialog.on_serversDeleteButton_clicked</h4>
-<b>on_serversDeleteButton_clicked</b>(<i></i>)
-<p>
-        Private slot to delete the selected server certificate.
-</p><a NAME="SslCertificatesDialog.on_serversExportButton_clicked" ID="SslCertificatesDialog.on_serversExportButton_clicked"></a>
-<h4>SslCertificatesDialog.on_serversExportButton_clicked</h4>
-<b>on_serversExportButton_clicked</b>(<i></i>)
-<p>
-        Private slot to export the selected server certificate.
-</p><a NAME="SslCertificatesDialog.on_serversImportButton_clicked" ID="SslCertificatesDialog.on_serversImportButton_clicked"></a>
-<h4>SslCertificatesDialog.on_serversImportButton_clicked</h4>
-<b>on_serversImportButton_clicked</b>(<i></i>)
-<p>
-        Private slot to import server certificates.
-</p><a NAME="SslCertificatesDialog.on_serversViewButton_clicked" ID="SslCertificatesDialog.on_serversViewButton_clicked"></a>
-<h4>SslCertificatesDialog.on_serversViewButton_clicked</h4>
-<b>on_serversViewButton_clicked</b>(<i></i>)
-<p>
-        Private slot to show data of the selected server certificate.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr />
-</body></html>
\ No newline at end of file
--- a/Documentation/Source/eric5.Helpviewer.SslInfoDialog.html	Fri Jan 18 19:31:43 2013 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html><head>
-<title>eric5.Helpviewer.SslInfoDialog</title>
-<style>
-body {
-    background: #EDECE6;
-    margin: 0em 1em 10em 1em;
-    color: black;
-}
-
-h1 { color: white; background: #85774A; }
-h2 { color: white; background: #85774A; }
-h3 { color: white; background: #9D936E; }
-h4 { color: white; background: #9D936E; }
-    
-a { color: #BA6D36; }
-
-</style>
-</head>
-<body><a NAME="top" ID="top"></a>
-<h1>eric5.Helpviewer.SslInfoDialog</h1>
-<p>
-Module implementing a dialog to show SSL certificate infos.
-</p>
-<h3>Global Attributes</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Classes</h3>
-<table>
-<tr>
-<td><a href="#SslInfoDialog">SslInfoDialog</a></td>
-<td>Class implementing a dialog to show SSL certificate infos.</td>
-</tr>
-</table>
-<h3>Functions</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<hr /><hr />
-<a NAME="SslInfoDialog" ID="SslInfoDialog"></a>
-<h2>SslInfoDialog</h2>
-<p>
-    Class implementing a dialog to show SSL certificate infos.
-</p>
-<h3>Derived from</h3>
-QDialog, Ui_SslInfoDialog
-<h3>Class Attributes</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Class Methods</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Methods</h3>
-<table>
-<tr>
-<td><a href="#SslInfoDialog.__init__">SslInfoDialog</a></td>
-<td>Constructor</td>
-</tr>
-</table>
-<h3>Static Methods</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<a NAME="SslInfoDialog.__init__" ID="SslInfoDialog.__init__"></a>
-<h4>SslInfoDialog (Constructor)</h4>
-<b>SslInfoDialog</b>(<i>certificate, parent=None</i>)
-<p>
-        Constructor
-</p><dl>
-<dt><i>certificate</i></dt>
-<dd>
-reference to the SSL certificate (QSslCertificate)
-</dd><dt><i>parent</i></dt>
-<dd>
-reference to the parent widget (QWidget)
-</dd>
-</dl>
-<div align="right"><a href="#top">Up</a></div>
-<hr />
-</body></html>
\ No newline at end of file
--- a/Documentation/Source/eric5.Helpviewer.SslInfoWidget.html	Fri Jan 18 19:31:43 2013 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html><head>
-<title>eric5.Helpviewer.SslInfoWidget</title>
-<style>
-body {
-    background: #EDECE6;
-    margin: 0em 1em 10em 1em;
-    color: black;
-}
-
-h1 { color: white; background: #85774A; }
-h2 { color: white; background: #85774A; }
-h3 { color: white; background: #9D936E; }
-h4 { color: white; background: #9D936E; }
-    
-a { color: #BA6D36; }
-
-</style>
-</head>
-<body><a NAME="top" ID="top"></a>
-<h1>eric5.Helpviewer.SslInfoWidget</h1>
-<p>
-Module implementing a widget to show SSL certificate infos.
-</p>
-<h3>Global Attributes</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Classes</h3>
-<table>
-<tr>
-<td><a href="#SslInfoWidget">SslInfoWidget</a></td>
-<td>Class implementing a widget to show SSL certificate infos.</td>
-</tr>
-</table>
-<h3>Functions</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<hr /><hr />
-<a NAME="SslInfoWidget" ID="SslInfoWidget"></a>
-<h2>SslInfoWidget</h2>
-<p>
-    Class implementing a widget to show SSL certificate infos.
-</p>
-<h3>Derived from</h3>
-QWidget, Ui_SslInfoWidget
-<h3>Class Attributes</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Class Methods</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Methods</h3>
-<table>
-<tr>
-<td><a href="#SslInfoWidget.__init__">SslInfoWidget</a></td>
-<td>Constructor</td>
-</tr><tr>
-<td><a href="#SslInfoWidget.__certificateString">__certificateString</a></td>
-<td>Private method to prepare some text for display.</td>
-</tr><tr>
-<td><a href="#SslInfoWidget.__formatHexString">__formatHexString</a></td>
-<td>Private method to format a hex string for display.</td>
-</tr><tr>
-<td><a href="#SslInfoWidget.__hasExpired">__hasExpired</a></td>
-<td>Private method to check for a certificate expiration.</td>
-</tr><tr>
-<td><a href="#SslInfoWidget.__serialNumber">__serialNumber</a></td>
-<td>Private slot to format the certificate serial number.</td>
-</tr><tr>
-<td><a href="#SslInfoWidget.showCertificate">showCertificate</a></td>
-<td>Public method to show the  SSL certificate information.</td>
-</tr>
-</table>
-<h3>Static Methods</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<a NAME="SslInfoWidget.__init__" ID="SslInfoWidget.__init__"></a>
-<h4>SslInfoWidget (Constructor)</h4>
-<b>SslInfoWidget</b>(<i>parent=None</i>)
-<p>
-        Constructor
-</p><dl>
-<dt><i>parent</i></dt>
-<dd>
-reference to the parent widget (QWidget)
-</dd>
-</dl><a NAME="SslInfoWidget.__certificateString" ID="SslInfoWidget.__certificateString"></a>
-<h4>SslInfoWidget.__certificateString</h4>
-<b>__certificateString</b>(<i>txt</i>)
-<p>
-        Private method to prepare some text for display.
-</p><dl>
-<dt><i>txt</i></dt>
-<dd>
-text to be displayed (string)
-</dd>
-</dl><dl>
-<dt>Returns:</dt>
-<dd>
-prepared text (string)
-</dd>
-</dl><a NAME="SslInfoWidget.__formatHexString" ID="SslInfoWidget.__formatHexString"></a>
-<h4>SslInfoWidget.__formatHexString</h4>
-<b>__formatHexString</b>(<i>hexString</i>)
-<p>
-        Private method to format a hex string for display.
-</p><dl>
-<dt><i>hexString</i></dt>
-<dd>
-hex string to be formatted (string)
-</dd>
-</dl><dl>
-<dt>Returns:</dt>
-<dd>
-formatted string (string)
-</dd>
-</dl><a NAME="SslInfoWidget.__hasExpired" ID="SslInfoWidget.__hasExpired"></a>
-<h4>SslInfoWidget.__hasExpired</h4>
-<b>__hasExpired</b>(<i>effectiveDate, expiryDate</i>)
-<p>
-        Private method to check for a certificate expiration.
-</p><dl>
-<dt><i>effectiveDate</i></dt>
-<dd>
-date the certificate becomes effective (QDateTime)
-</dd><dt><i>expiryDate</i></dt>
-<dd>
-date the certificate expires (QDateTime)
-</dd>
-</dl><dl>
-<dt>Returns:</dt>
-<dd>
-flag indicating the expiration status (boolean)
-</dd>
-</dl><a NAME="SslInfoWidget.__serialNumber" ID="SslInfoWidget.__serialNumber"></a>
-<h4>SslInfoWidget.__serialNumber</h4>
-<b>__serialNumber</b>(<i>cert</i>)
-<p>
-        Private slot to format the certificate serial number.
-</p><dl>
-<dt><i>cert</i></dt>
-<dd>
-reference to the SSL certificate (QSslCertificate)
-</dd>
-</dl><dl>
-<dt>Returns:</dt>
-<dd>
-formated serial number (string)
-</dd>
-</dl><a NAME="SslInfoWidget.showCertificate" ID="SslInfoWidget.showCertificate"></a>
-<h4>SslInfoWidget.showCertificate</h4>
-<b>showCertificate</b>(<i>certificate</i>)
-<p>
-        Public method to show the  SSL certificate information.
-</p><dl>
-<dt><i>certificate</i></dt>
-<dd>
-reference to the SSL certificate (QSslCertificate)
-</dd>
-</dl>
-<div align="right"><a href="#top">Up</a></div>
-<hr />
-</body></html>
\ No newline at end of file
--- a/Documentation/Source/eric5.UI.UserInterface.html	Fri Jan 18 19:31:43 2013 +0100
+++ b/Documentation/Source/eric5.UI.UserInterface.html	Fri Jan 18 19:50:13 2013 +0100
@@ -440,6 +440,9 @@
 <td><a href="#UserInterface.__showAvailableVersionInfos">__showAvailableVersionInfos</a></td>
 <td>Private method to show the versions available for download.</td>
 </tr><tr>
+<td><a href="#UserInterface.__showCertificatesDialog">__showCertificatesDialog</a></td>
+<td>Private slot to show the certificates management dialog.</td>
+</tr><tr>
 <td><a href="#UserInterface.__showEricDoc">__showEricDoc</a></td>
 <td>Private slot to show the Eric documentation.</td>
 </tr><tr>
@@ -1397,7 +1400,12 @@
 <dd>
 contents of the downloaded versions file (list of strings)
 </dd>
-</dl><a NAME="UserInterface.__showEricDoc" ID="UserInterface.__showEricDoc"></a>
+</dl><a NAME="UserInterface.__showCertificatesDialog" ID="UserInterface.__showCertificatesDialog"></a>
+<h4>UserInterface.__showCertificatesDialog</h4>
+<b>__showCertificatesDialog</b>(<i></i>)
+<p>
+        Private slot to show the certificates management dialog.
+</p><a NAME="UserInterface.__showEricDoc" ID="UserInterface.__showEricDoc"></a>
 <h4>UserInterface.__showEricDoc</h4>
 <b>__showEricDoc</b>(<i></i>)
 <p>
--- a/Documentation/Source/index-eric5.E5Network.html	Fri Jan 18 19:31:43 2013 +0100
+++ b/Documentation/Source/index-eric5.E5Network.html	Fri Jan 18 19:50:13 2013 +0100
@@ -41,9 +41,18 @@
 <td><a href="eric5.E5Network.E5NetworkProxyFactory.html">E5NetworkProxyFactory</a></td>
 <td>Module implementing a network proxy factory.</td>
 </tr><tr>
+<td><a href="eric5.E5Network.E5SslCertificatesDialog.html">E5SslCertificatesDialog</a></td>
+<td>Module implementing a dialog to show and edit all certificates.</td>
+</tr><tr>
 <td><a href="eric5.E5Network.E5SslErrorHandler.html">E5SslErrorHandler</a></td>
 <td>Module implementing a SSL error handler.</td>
 </tr><tr>
+<td><a href="eric5.E5Network.E5SslInfoDialog.html">E5SslInfoDialog</a></td>
+<td>Module implementing a dialog to show SSL certificate infos.</td>
+</tr><tr>
+<td><a href="eric5.E5Network.E5SslInfoWidget.html">E5SslInfoWidget</a></td>
+<td>Module implementing a widget to show SSL certificate infos.</td>
+</tr><tr>
 <td><a href="eric5.E5Network.E5UrlInfo.html">E5UrlInfo</a></td>
 <td>Module implementing a class replacing QUrlInfo.</td>
 </tr>
--- a/Documentation/Source/index-eric5.Helpviewer.html	Fri Jan 18 19:31:43 2013 +0100
+++ b/Documentation/Source/index-eric5.Helpviewer.html	Fri Jan 18 19:50:13 2013 +0100
@@ -155,15 +155,6 @@
 <td><a href="eric5.Helpviewer.SearchWidget.html">SearchWidget</a></td>
 <td>Module implementing the search bar for the web browser.</td>
 </tr><tr>
-<td><a href="eric5.Helpviewer.SslCertificatesDialog.html">SslCertificatesDialog</a></td>
-<td>Module implementing a dialog to show and edit all certificates.</td>
-</tr><tr>
-<td><a href="eric5.Helpviewer.SslInfoDialog.html">SslInfoDialog</a></td>
-<td>Module implementing a dialog to show SSL certificate infos.</td>
-</tr><tr>
-<td><a href="eric5.Helpviewer.SslInfoWidget.html">SslInfoWidget</a></td>
-<td>Module implementing a widget to show SSL certificate infos.</td>
-</tr><tr>
 <td><a href="eric5.Helpviewer.VirusTotalApi.html">VirusTotalApi</a></td>
 <td>Module implementing the <a href="http://www.virustotal.com">VirusTotal</a> API class.</td>
 </tr>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/E5Network/E5SslCertificatesDialog.py	Fri Jan 18 19:50:13 2013 +0100
@@ -0,0 +1,470 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2010 - 2013 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing a dialog to show and edit all certificates.
+"""
+
+from PyQt4.QtCore import pyqtSlot, Qt, QByteArray, QFile, QFileInfo, QIODevice, \
+    qVersion
+from PyQt4.QtGui import QDialog, QTreeWidgetItem
+try:
+    from PyQt4.QtNetwork import QSslCertificate, QSslSocket, QSslConfiguration, QSsl
+except ImportError:
+    pass
+
+from E5Gui import E5MessageBox, E5FileDialog
+
+from .Ui_E5SslCertificatesDialog import Ui_E5SslCertificatesDialog
+
+try:
+    from E5Network.E5SslInfoDialog import E5SslInfoDialog
+except ImportError:
+    pass
+
+import Preferences
+import Utilities
+
+
+class E5SslCertificatesDialog(QDialog, Ui_E5SslCertificatesDialog):
+    """
+    Class implementing a dialog to show and edit all certificates.
+    """
+    CertRole = Qt.UserRole + 1
+    
+    def __init__(self, parent=None):
+        """
+        Constructor
+        
+        @param parent reference to the parent widget (QWidget)
+        """
+        super().__init__(parent)
+        self.setupUi(self)
+        
+        self.__populateServerCertificatesTree()
+        self.__populateCaCertificatesTree()
+    
+    def __populateServerCertificatesTree(self):
+        """
+        Private slot to populate the server certificates tree.
+        """
+        certificateDict = Preferences.toDict(
+                Preferences.Prefs.settings.value("Ssl/CaCertificatesDict"))
+        for server in certificateDict:
+            for cert in QSslCertificate.fromData(certificateDict[server]):
+                self.__createServerCertificateEntry(server, cert)
+        
+        self.serversCertificatesTree.expandAll()
+        for i in range(self.serversCertificatesTree.columnCount()):
+            self.serversCertificatesTree.resizeColumnToContents(i)
+    
+    def __createServerCertificateEntry(self, server, cert):
+        """
+        Private method to create a server certificate entry.
+        
+        @param server server name of the certificate (string)
+        @param cert certificate to insert (QSslCertificate)
+        """
+        # step 1: extract the info to be shown
+        if qVersion() >= "5.0.0":
+            organisation = Utilities.decodeString(
+                ", ".join(cert.subjectInfo(QSslCertificate.Organization)))
+            commonName = Utilities.decodeString(
+                ", ".join(cert.subjectInfo(QSslCertificate.CommonName)))
+        else:
+            organisation = Utilities.decodeString(
+                cert.subjectInfo(QSslCertificate.Organization))
+            commonName = Utilities.decodeString(
+                cert.subjectInfo(QSslCertificate.CommonName))
+        if organisation is None or organisation == "":
+            organisation = self.trUtf8("(Unknown)")
+        if commonName is None or commonName == "":
+            commonName = self.trUtf8("(Unknown common name)")
+        expiryDate = cert.expiryDate().toString("yyyy-MM-dd")
+        
+        # step 2: create the entry
+        items = self.serversCertificatesTree.findItems(organisation,
+            Qt.MatchFixedString | Qt.MatchCaseSensitive)
+        if len(items) == 0:
+            parent = QTreeWidgetItem(self.serversCertificatesTree, [organisation])
+        else:
+            parent = items[0]
+        
+        itm = QTreeWidgetItem(parent, [commonName, server, expiryDate])
+        itm.setData(0, self.CertRole, cert)
+    
+    @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem)
+    def on_serversCertificatesTree_currentItemChanged(self, current, previous):
+        """
+        Private slot handling a change of the current item in the
+        server certificates list.
+        
+        @param current new current item (QTreeWidgetItem)
+        @param previous previous current item (QTreeWidgetItem)
+        """
+        enable = current is not None and current.parent() is not None
+        self.serversViewButton.setEnabled(enable)
+        self.serversDeleteButton.setEnabled(enable)
+        self.serversExportButton.setEnabled(enable)
+    
+    @pyqtSlot()
+    def on_serversViewButton_clicked(self):
+        """
+        Private slot to show data of the selected server certificate.
+        """
+        cert = self.serversCertificatesTree.currentItem().data(0, self.CertRole)
+        dlg = E5SslInfoDialog(cert, self)
+        dlg.exec_()
+    
+    @pyqtSlot()
+    def on_serversDeleteButton_clicked(self):
+        """
+        Private slot to delete the selected server certificate.
+        """
+        itm = self.serversCertificatesTree.currentItem()
+        res = E5MessageBox.yesNo(self,
+            self.trUtf8("Delete Server Certificate"),
+            self.trUtf8("""<p>Shall the server certificate really be deleted?</p>"""
+                        """<p>{0}</p>"""
+                        """<p>If the server certificate is deleted, the normal security"""
+                        """ checks will be reinstantiated and the server has to"""
+                        """ present a valid certificate.</p>""")\
+                .format(itm.text(0)))
+        if res:
+            server = itm.text(1)
+            cert = self.serversCertificatesTree.currentItem().data(0, self.CertRole)
+            
+            # delete the selected entry and it's parent entry, if it was the only one
+            parent = itm.parent()
+            parent.takeChild(parent.indexOfChild(itm))
+            if parent.childCount() == 0:
+                self.serversCertificatesTree.takeTopLevelItem(
+                    self.serversCertificatesTree.indexOfTopLevelItem(parent))
+            
+            # delete the certificate from the user certificate store
+            certificateDict = Preferences.toDict(
+                    Preferences.Prefs.settings.value("Ssl/CaCertificatesDict"))
+            if server in certificateDict:
+                certs = QSslCertificate.fromData(certificateDict[server])
+                if cert in certs:
+                    certs.remove(cert)
+                if certs:
+                    pems = QByteArray()
+                    for cert in certs:
+                        pems.append(cert.toPem() + '\n')
+                    certificateDict[server] = pems
+                else:
+                    del certificateDict[server]
+            Preferences.Prefs.settings.setValue("Ssl/CaCertificatesDict",
+                certificateDict)
+            
+            # delete the certificate from the default certificates
+            self.__updateDefaultConfiguration()
+    
+    @pyqtSlot()
+    def on_serversImportButton_clicked(self):
+        """
+        Private slot to import server certificates.
+        """
+        certs = self.__importCertificate()
+        if certs:
+            server = "*"
+            certificateDict = Preferences.toDict(
+                Preferences.Prefs.settings.value("Ssl/CaCertificatesDict"))
+            if server in certificateDict:
+                sCerts = QSslCertificate.fromData(certificateDict[server])
+            else:
+                sCerts = []
+            
+            pems = QByteArray()
+            for cert in certs:
+                if cert in sCerts:
+                    if qVersion() >= "5.0.0":
+                        commonStr = ", ".join(
+                            cert.subjectInfo(QSslCertificate.CommonName))
+                    else:
+                        commonStr = cert.subjectInfo(QSslCertificate.CommonName)
+                    E5MessageBox.warning(self,
+                        self.trUtf8("Import Certificate"),
+                        self.trUtf8("""<p>The certificate <b>{0}</b> already exists."""
+                                    """ Skipping.</p>""")
+                            .format(Utilities.decodeString(commonStr)))
+                else:
+                    pems.append(cert.toPem() + '\n')
+            if server not in certificateDict:
+                certificateDict[server] = QByteArray()
+            certificateDict[server].append(pems)
+            Preferences.Prefs.settings.setValue("Ssl/CaCertificatesDict",
+                certificateDict)
+            
+            self.serversCertificatesTree.clear()
+            self.__populateServerCertificatesTree()
+            
+            self.__updateDefaultConfiguration()
+    
+    @pyqtSlot()
+    def on_serversExportButton_clicked(self):
+        """
+        Private slot to export the selected server certificate.
+        """
+        cert = self.serversCertificatesTree.currentItem().data(0, self.CertRole)
+        fname = self.serversCertificatesTree.currentItem().text(0)\
+            .replace(" ", "").replace("\t", "")
+        self.__exportCertificate(fname, cert)
+    
+    def __updateDefaultConfiguration(self):
+        """
+        Private method to update the default SSL configuration.
+        """
+        caList = self.__getSystemCaCertificates()
+        certificateDict = Preferences.toDict(
+                Preferences.Prefs.settings.value("Ssl/CaCertificatesDict"))
+        for server in certificateDict:
+            for cert in QSslCertificate.fromData(certificateDict[server]):
+                if cert not in caList:
+                    caList.append(cert)
+        sslCfg = QSslConfiguration.defaultConfiguration()
+        sslCfg.setCaCertificates(caList)
+        QSslConfiguration.setDefaultConfiguration(sslCfg)
+    
+    def __getSystemCaCertificates(self):
+        """
+        Private method to get the list of system certificates.
+        
+        @return list of system certificates (list of QSslCertificate)
+        """
+        caList = QSslCertificate.fromData(Preferences.toByteArray(
+            Preferences.Prefs.settings.value("Help/SystemCertificates")))
+        if not caList:
+            caList = QSslSocket.systemCaCertificates()
+        return caList
+    
+    def __populateCaCertificatesTree(self):
+        """
+        Private slot to populate the CA certificates tree.
+        """
+        for cert in self.__getSystemCaCertificates():
+            self.__createCaCertificateEntry(cert)
+        
+        self.caCertificatesTree.expandAll()
+        for i in range(self.caCertificatesTree.columnCount()):
+            self.caCertificatesTree.resizeColumnToContents(i)
+        self.caCertificatesTree.sortItems(0, Qt.AscendingOrder)
+    
+    def __createCaCertificateEntry(self, cert):
+        """
+        Private method to create a CA certificate entry.
+        
+        @param cert certificate to insert (QSslCertificate)
+        """
+        # step 1: extract the info to be shown
+        if qVersion() >= "5.0.0":
+            organisation = Utilities.decodeString(
+                ", ".join(cert.subjectInfo(QSslCertificate.Organization)))
+            commonName = Utilities.decodeString(
+                ", ".join(cert.subjectInfo(QSslCertificate.CommonName)))
+        else:
+            organisation = Utilities.decodeString(
+                cert.subjectInfo(QSslCertificate.Organization))
+            commonName = Utilities.decodeString(
+                cert.subjectInfo(QSslCertificate.CommonName))
+        if organisation is None or organisation == "":
+            organisation = self.trUtf8("(Unknown)")
+        if commonName is None or commonName == "":
+            commonName = self.trUtf8("(Unknown common name)")
+        expiryDate = cert.expiryDate().toString("yyyy-MM-dd")
+        
+        # step 2: create the entry
+        items = self.caCertificatesTree.findItems(organisation,
+            Qt.MatchFixedString | Qt.MatchCaseSensitive)
+        if len(items) == 0:
+            parent = QTreeWidgetItem(self.caCertificatesTree, [organisation])
+        else:
+            parent = items[0]
+        
+        itm = QTreeWidgetItem(parent, [commonName, expiryDate])
+        itm.setData(0, self.CertRole, cert)
+    
+    @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem)
+    def on_caCertificatesTree_currentItemChanged(self, current, previous):
+        """
+        Private slot handling a change of the current item
+        in the CA certificates list.
+        
+        @param current new current item (QTreeWidgetItem)
+        @param previous previous current item (QTreeWidgetItem)
+        """
+        enable = current is not None and current.parent() is not None
+        self.caViewButton.setEnabled(enable)
+        self.caDeleteButton.setEnabled(enable)
+        self.caExportButton.setEnabled(enable)
+    
+    @pyqtSlot()
+    def on_caViewButton_clicked(self):
+        """
+        Private slot to show data of the selected CA certificate.
+        """
+        cert = self.caCertificatesTree.currentItem().data(0, self.CertRole)
+        dlg = E5SslInfoDialog(cert, self)
+        dlg.exec_()
+    
+    @pyqtSlot()
+    def on_caDeleteButton_clicked(self):
+        """
+        Private slot to delete the selected CA certificate.
+        """
+        itm = self.caCertificatesTree.currentItem()
+        res = E5MessageBox.yesNo(self,
+            self.trUtf8("Delete CA Certificate"),
+            self.trUtf8("""<p>Shall the CA certificate really be deleted?</p>"""
+                        """<p>{0}</p>"""
+                        """<p>If the CA certificate is deleted, the browser"""
+                        """ will not trust any certificate issued by this CA.</p>""")\
+                .format(itm.text(0)))
+        if res:
+            cert = self.caCertificatesTree.currentItem().data(0, self.CertRole)
+            
+            # delete the selected entry and it's parent entry, if it was the only one
+            parent = itm.parent()
+            parent.takeChild(parent.indexOfChild(itm))
+            if parent.childCount() == 0:
+                self.caCertificatesTree.takeTopLevelItem(
+                    self.caCertificatesTree.indexOfTopLevelItem(parent))
+            
+            # delete the certificate from the CA certificate store
+            caCerts = self.__getSystemCaCertificates()
+            if cert in caCerts:
+                caCerts.remove(cert)
+            pems = QByteArray()
+            for cert in caCerts:
+                pems.append(cert.toPem() + '\n')
+            Preferences.Prefs.settings.setValue("Help/SystemCertificates", pems)
+            
+            # delete the certificate from the default certificates
+            self.__updateDefaultConfiguration()
+    
+    @pyqtSlot()
+    def on_caImportButton_clicked(self):
+        """
+        Private slot to import server certificates.
+        """
+        certs = self.__importCertificate()
+        if certs:
+            caCerts = self.__getSystemCaCertificates()
+            for cert in certs:
+                if cert in caCerts:
+                    if qVersion() >= "5.0.0":
+                        commonStr = ", ".join(
+                            cert.subjectInfo(QSslCertificate.CommonName))
+                    else:
+                        commonStr = cert.subjectInfo(QSslCertificate.CommonName)
+                    E5MessageBox.warning(self,
+                        self.trUtf8("Import Certificate"),
+                        self.trUtf8("""<p>The certificate <b>{0}</b> already exists."""
+                                    """ Skipping.</p>""")
+                            .format(Utilities.decodeString(commonStr)))
+                else:
+                    caCerts.append(cert)
+            
+            pems = QByteArray()
+            for cert in caCerts:
+                pems.append(cert.toPem() + '\n')
+            Preferences.Prefs.settings.setValue("Help/SystemCertificates", pems)
+            
+            self.caCertificatesTree.clear()
+            self.__populateCaCertificatesTree()
+            
+            self.__updateDefaultConfiguration()
+    
+    @pyqtSlot()
+    def on_caExportButton_clicked(self):
+        """
+        Private slot to export the selected CA certificate.
+        """
+        cert = self.caCertificatesTree.currentItem().data(0, self.CertRole)
+        fname = self.caCertificatesTree.currentItem().text(0)\
+            .replace(" ", "").replace("\t", "")
+        self.__exportCertificate(fname, cert)
+    
+    def __exportCertificate(self, name, cert):
+        """
+        Private slot to export a certificate.
+        
+        @param name default file name without extension (string)
+        @param cert certificate to be exported (QSslCertificate)
+        """
+        if cert is not None:
+            fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter(
+                self,
+                self.trUtf8("Export Certificate"),
+                name,
+                self.trUtf8("Certificate File (PEM) (*.pem);;"
+                            "Certificate File (DER) (*.der)"),
+                None,
+                E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite))
+            
+            if fname:
+                ext = QFileInfo(fname).suffix()
+                if not ext or ext not in ["pem", "der"]:
+                    ex = selectedFilter.split("(*")[1].split(")")[0]
+                    if ex:
+                        fname += ex
+                if QFileInfo(fname).exists():
+                    res = E5MessageBox.yesNo(self,
+                        self.trUtf8("Export Certificate"),
+                        self.trUtf8("<p>The file <b>{0}</b> already exists."
+                                    " Overwrite it?</p>").format(fname),
+                        icon=E5MessageBox.Warning)
+                    if not res:
+                        return
+                
+                f = QFile(fname)
+                if not f.open(QIODevice.WriteOnly):
+                    E5MessageBox.critical(self,
+                        self.trUtf8("Export Certificate"),
+                        self.trUtf8("""<p>The certificate could not be written to file"""
+                                    """ <b>{0}</b></p><p>Error: {1}</p>""")
+                            .format(fname, f.errorString()))
+                    return
+                
+                if fname.endswith(".pem"):
+                    crt = cert.toPem()
+                else:
+                    crt = cert.toDer()
+                f.write(crt)
+                f.close()
+    
+    def __importCertificate(self):
+        """
+        Private method to read a certificate.
+        
+        @return certificates read (list of QSslCertificate)
+        """
+        fname = E5FileDialog.getOpenFileName(
+            self,
+            self.trUtf8("Import Certificate"),
+            "",
+            self.trUtf8("Certificate Files (*.pem *.crt *.der *.cer *.ca);;"
+                        "All Files (*)"))
+        
+        if fname:
+            f = QFile(fname)
+            if not f.open(QIODevice.ReadOnly):
+                E5MessageBox.critical(self,
+                    self.trUtf8("Export Certificate"),
+                    self.trUtf8("""<p>The certificate could not be read from file"""
+                                """ <b>{0}</b></p><p>Error: {1}</p>""")
+                        .format(fname, f.errorString()))
+                return []
+            
+            crt = f.readAll()
+            f.close()
+            cert = QSslCertificate.fromData(crt, QSsl.Pem)
+            if not cert:
+                cert = QSslCertificate.fromData(crt, QSsl.Der)
+            
+            return cert
+        
+        return []
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/E5Network/E5SslCertificatesDialog.ui	Fri Jan 18 19:50:13 2013 +0100
@@ -0,0 +1,281 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>E5SslCertificatesDialog</class>
+ <widget class="QDialog" name="E5SslCertificatesDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>760</width>
+    <height>440</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>SSL Certificate Manager</string>
+  </property>
+  <property name="sizeGripEnabled">
+   <bool>true</bool>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QTabWidget" name="certificatesWidget">
+     <property name="currentIndex">
+      <number>0</number>
+     </property>
+     <widget class="QWidget" name="serversTab">
+      <attribute name="title">
+       <string>&amp;Servers</string>
+      </attribute>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
+       <item>
+        <widget class="QLabel" name="label">
+         <property name="text">
+          <string>You have saved certificates identifying these servers:</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QTreeWidget" name="serversCertificatesTree">
+         <column>
+          <property name="text">
+           <string>Certificate name</string>
+          </property>
+         </column>
+         <column>
+          <property name="text">
+           <string>Server</string>
+          </property>
+         </column>
+         <column>
+          <property name="text">
+           <string>Expiry Date</string>
+          </property>
+         </column>
+        </widget>
+       </item>
+       <item>
+        <layout class="QHBoxLayout" name="horizontalLayout">
+         <item>
+          <widget class="QPushButton" name="serversViewButton">
+           <property name="enabled">
+            <bool>false</bool>
+           </property>
+           <property name="toolTip">
+            <string>Press to view the selected certificate</string>
+           </property>
+           <property name="text">
+            <string>&amp;View...</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="serversImportButton">
+           <property name="toolTip">
+            <string>Press to import a certificate</string>
+           </property>
+           <property name="text">
+            <string>&amp;Import...</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="serversExportButton">
+           <property name="enabled">
+            <bool>false</bool>
+           </property>
+           <property name="toolTip">
+            <string>Press to export the selected certificate</string>
+           </property>
+           <property name="text">
+            <string>&amp;Export...</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="serversDeleteButton">
+           <property name="enabled">
+            <bool>false</bool>
+           </property>
+           <property name="toolTip">
+            <string>Press to delete the selected certificate</string>
+           </property>
+           <property name="text">
+            <string>&amp;Delete...</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <spacer name="horizontalSpacer">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>40</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="caTab">
+      <attribute name="title">
+       <string>Certificate &amp;Authorities</string>
+      </attribute>
+      <layout class="QVBoxLayout" name="verticalLayout_3">
+       <item>
+        <widget class="QLabel" name="label_2">
+         <property name="text">
+          <string>You have saved certificates identifying these certification authorities:</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QTreeWidget" name="caCertificatesTree">
+         <column>
+          <property name="text">
+           <string>Certificate name</string>
+          </property>
+         </column>
+         <column>
+          <property name="text">
+           <string>Expiry Date</string>
+          </property>
+         </column>
+        </widget>
+       </item>
+       <item>
+        <layout class="QHBoxLayout" name="horizontalLayout_2">
+         <item>
+          <widget class="QPushButton" name="caViewButton">
+           <property name="enabled">
+            <bool>false</bool>
+           </property>
+           <property name="toolTip">
+            <string>Press to view the selected certificate</string>
+           </property>
+           <property name="text">
+            <string>&amp;View...</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="caImportButton">
+           <property name="toolTip">
+            <string>Press to import a certificate</string>
+           </property>
+           <property name="text">
+            <string>&amp;Import...</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="caExportButton">
+           <property name="enabled">
+            <bool>false</bool>
+           </property>
+           <property name="toolTip">
+            <string>Press to export the selected certificate</string>
+           </property>
+           <property name="text">
+            <string>&amp;Export...</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="caDeleteButton">
+           <property name="enabled">
+            <bool>false</bool>
+           </property>
+           <property name="toolTip">
+            <string>Press to delete the selected certificate</string>
+           </property>
+           <property name="text">
+            <string>&amp;Delete...</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <spacer name="horizontalSpacer_2">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>40</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Close</set>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <tabstops>
+  <tabstop>certificatesWidget</tabstop>
+  <tabstop>serversCertificatesTree</tabstop>
+  <tabstop>serversViewButton</tabstop>
+  <tabstop>serversImportButton</tabstop>
+  <tabstop>serversExportButton</tabstop>
+  <tabstop>serversDeleteButton</tabstop>
+  <tabstop>caCertificatesTree</tabstop>
+  <tabstop>caViewButton</tabstop>
+  <tabstop>caImportButton</tabstop>
+  <tabstop>caExportButton</tabstop>
+  <tabstop>caDeleteButton</tabstop>
+  <tabstop>buttonBox</tabstop>
+ </tabstops>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>accepted()</signal>
+   <receiver>E5SslCertificatesDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>248</x>
+     <y>254</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>157</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>rejected()</signal>
+   <receiver>E5SslCertificatesDialog</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>316</x>
+     <y>260</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>286</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/E5Network/E5SslInfoDialog.py	Fri Jan 18 19:50:13 2013 +0100
@@ -0,0 +1,29 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2010 - 2013 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing a dialog to show SSL certificate infos.
+"""
+
+from PyQt4.QtGui import QDialog
+
+from .Ui_E5SslInfoDialog import Ui_E5SslInfoDialog
+
+
+class E5SslInfoDialog(QDialog, Ui_E5SslInfoDialog):
+    """
+    Class implementing a dialog to show SSL certificate infos.
+    """
+    def __init__(self, certificate, parent=None):
+        """
+        Constructor
+        
+        @param certificate reference to the SSL certificate (QSslCertificate)
+        @param parent reference to the parent widget (QWidget)
+        """
+        super().__init__(parent)
+        self.setupUi(self)
+        
+        self.sslWidget.showCertificate(certificate)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/E5Network/E5SslInfoDialog.ui	Fri Jan 18 19:50:13 2013 +0100
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>E5SslInfoDialog</class>
+ <widget class="QDialog" name="E5SslInfoDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>556</width>
+    <height>486</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>SSL Certificate Info</string>
+  </property>
+  <property name="sizeGripEnabled">
+   <bool>true</bool>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="E5SslInfoWidget" name="sslWidget" native="true"/>
+   </item>
+   <item>
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Close</set>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>E5SslInfoWidget</class>
+   <extends>QWidget</extends>
+   <header>E5Network/E5SslInfoWidget.h</header>
+   <container>1</container>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>accepted()</signal>
+   <receiver>E5SslInfoDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>248</x>
+     <y>254</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>157</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>rejected()</signal>
+   <receiver>E5SslInfoDialog</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>316</x>
+     <y>260</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>286</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/E5Network/E5SslInfoWidget.py	Fri Jan 18 19:50:13 2013 +0100
@@ -0,0 +1,148 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2010 - 2013 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing a widget to show SSL certificate infos.
+"""
+
+from PyQt4.QtCore import QCryptographicHash, QDateTime, qVersion
+from PyQt4.QtGui import QWidget
+from PyQt4.QtNetwork import QSslCertificate
+
+from .Ui_E5SslInfoWidget import Ui_E5SslInfoWidget
+
+import Utilities
+
+
+class E5SslInfoWidget(QWidget, Ui_E5SslInfoWidget):
+    """
+    Class implementing a widget to show SSL certificate infos.
+    """
+    def __init__(self, parent=None):
+        """
+        Constructor
+        
+        @param parent reference to the parent widget (QWidget)
+        """
+        super().__init__(parent)
+        self.setupUi(self)
+        
+    def showCertificate(self, certificate):
+        """
+        Public method to show the  SSL certificate information.
+        
+        @param certificate reference to the SSL certificate (QSslCertificate)
+        """
+        self.blacklistedLabel.setVisible(False)
+        self.blacklistedLabel.setStyleSheet(
+            "QLabel { color : white; background-color : red; }")
+        self.expiredLabel.setVisible(False)
+        self.expiredLabel.setStyleSheet(
+            "QLabel { color : white; background-color : red; }")
+        
+        if qVersion() >= "5.0.0":
+            self.subjectCommonNameLabel.setText(self.__certificateString(
+                ", ".join(certificate.subjectInfo(QSslCertificate.CommonName))))
+            self.subjectOrganizationLabel.setText(self.__certificateString(
+                ", ".join(certificate.subjectInfo(QSslCertificate.Organization))))
+            self.subjectOrganizationalUnitLabel.setText(self.__certificateString(
+                ", ".join(
+                    certificate.subjectInfo(QSslCertificate.OrganizationalUnitName))))
+            self.issuerCommonNameLabel.setText(self.__certificateString(
+                ", ".join(certificate.issuerInfo(QSslCertificate.CommonName))))
+            self.issuerOrganizationLabel.setText(self.__certificateString(
+                ", ".join(certificate.issuerInfo(QSslCertificate.Organization))))
+            self.issuerOrganizationalUnitLabel.setText(self.__certificateString(
+                ", ".join(certificate.issuerInfo(QSslCertificate.OrganizationalUnitName))))
+        else:
+            self.subjectCommonNameLabel.setText(self.__certificateString(
+                certificate.subjectInfo(QSslCertificate.CommonName)))
+            self.subjectOrganizationLabel.setText(self.__certificateString(
+                certificate.subjectInfo(QSslCertificate.Organization)))
+            self.subjectOrganizationalUnitLabel.setText(self.__certificateString(
+                certificate.subjectInfo(QSslCertificate.OrganizationalUnitName)))
+            self.issuerCommonNameLabel.setText(self.__certificateString(
+                certificate.issuerInfo(QSslCertificate.CommonName)))
+            self.issuerOrganizationLabel.setText(self.__certificateString(
+                certificate.issuerInfo(QSslCertificate.Organization)))
+            self.issuerOrganizationalUnitLabel.setText(self.__certificateString(
+                certificate.issuerInfo(QSslCertificate.OrganizationalUnitName)))
+        self.serialNumberLabel.setText(self.__serialNumber(certificate))
+        self.effectiveLabel.setText(
+            certificate.effectiveDate().toString("yyyy-MM-dd"))
+        self.expiresLabel.setText(
+            certificate.expiryDate().toString("yyyy-MM-dd"))
+        self.sha1Label.setText(self.__formatHexString(
+            str(certificate.digest(QCryptographicHash.Sha1).toHex(), encoding="ascii")))
+        self.md5Label.setText(self.__formatHexString(
+            str(certificate.digest(QCryptographicHash.Md5).toHex(), encoding="ascii")))
+        
+        if (qVersion() >= "5.0.0" and certificate.isBlacklisted()) or \
+           (qVersion() < "5.0.0" and not certificate.isValid()):
+            # something is wrong; indicate it to the user
+            if self.__hasExpired(certificate.effectiveDate(), certificate.expiryDate()):
+                self.expiredLabel.setVisible(True)
+            else:
+                self.blacklistedLabel.setVisible(True)
+    
+    def __certificateString(self, txt):
+        """
+        Private method to prepare some text for display.
+        
+        @param txt text to be displayed (string)
+        @return prepared text (string)
+        """
+        if txt is None or txt == "":
+            return self.trUtf8("<not part of the certificate>")
+        
+        return Utilities.decodeString(txt)
+    
+    def __serialNumber(self, cert):
+        """
+        Private slot to format the certificate serial number.
+        
+        @param cert reference to the SSL certificate (QSslCertificate)
+        @return formated serial number (string)
+        """
+        serial = cert.serialNumber()
+        if serial == "":
+            return self.trUtf8("<not part of the certificate>")
+        
+        if ':' in serial:
+            return str(serial, encoding="ascii").upper()
+        else:
+            hexString = hex(int(serial))[2:]
+            return self.__formatHexString(hexString)
+    
+    def __formatHexString(self, hexString):
+        """
+        Private method to format a hex string for display.
+        
+        @param hexString hex string to be formatted (string)
+        @return formatted string (string)
+        """
+        hexString = hexString.upper()
+        
+        if len(hexString) % 2 == 1:
+            hexString = '0' + hexString
+        
+        hexList = []
+        while hexString:
+            hexList.append(hexString[:2])
+            hexString = hexString[2:]
+        
+        return ':'.join(hexList)
+    
+    def __hasExpired(self, effectiveDate, expiryDate):
+        """
+        Private method to check for a certificate expiration.
+        
+        @param effectiveDate date the certificate becomes effective (QDateTime)
+        @param expiryDate date the certificate expires (QDateTime)
+        @return flag indicating the expiration status (boolean)
+        """
+        now = QDateTime.currentDateTime()
+        
+        return now < effectiveDate or now >= expiryDate
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/E5Network/E5SslInfoWidget.ui	Fri Jan 18 19:50:13 2013 +0100
@@ -0,0 +1,280 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>E5SslInfoWidget</class>
+ <widget class="QWidget" name="E5SslInfoWidget">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>460</width>
+    <height>452</height>
+   </rect>
+  </property>
+  <layout class="QGridLayout" name="gridLayout">
+   <item row="0" column="0" colspan="2">
+    <widget class="QLabel" name="blacklistedLabel">
+     <property name="text">
+      <string>This certificated has been blacklisted.</string>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="0">
+    <widget class="QLabel" name="label">
+     <property name="text">
+      <string>&lt;b&gt;Issued for&lt;/b&gt;</string>
+     </property>
+    </widget>
+   </item>
+   <item row="2" column="0">
+    <widget class="QLabel" name="label_2">
+     <property name="text">
+      <string>Common Name (CN)</string>
+     </property>
+    </widget>
+   </item>
+   <item row="2" column="1">
+    <widget class="QLabel" name="subjectCommonNameLabel">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+   </item>
+   <item row="3" column="0">
+    <widget class="QLabel" name="label_3">
+     <property name="text">
+      <string>Organization (O)</string>
+     </property>
+    </widget>
+   </item>
+   <item row="3" column="1">
+    <widget class="QLabel" name="subjectOrganizationLabel">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+   </item>
+   <item row="4" column="0">
+    <widget class="QLabel" name="label_4">
+     <property name="text">
+      <string>Organizational Unit (OU)</string>
+     </property>
+    </widget>
+   </item>
+   <item row="4" column="1">
+    <widget class="QLabel" name="subjectOrganizationalUnitLabel">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+   </item>
+   <item row="5" column="0">
+    <widget class="QLabel" name="label_5">
+     <property name="text">
+      <string>Serialnumber</string>
+     </property>
+    </widget>
+   </item>
+   <item row="5" column="1">
+    <widget class="QLabel" name="serialNumberLabel">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+   </item>
+   <item row="6" column="0">
+    <widget class="QLabel" name="label_6">
+     <property name="text">
+      <string>&lt;b&gt;Issued by&lt;/b&gt;</string>
+     </property>
+    </widget>
+   </item>
+   <item row="7" column="0">
+    <widget class="QLabel" name="label_9">
+     <property name="text">
+      <string>Common Name (CN)</string>
+     </property>
+    </widget>
+   </item>
+   <item row="7" column="1">
+    <widget class="QLabel" name="issuerCommonNameLabel">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+   </item>
+   <item row="8" column="0">
+    <widget class="QLabel" name="label_8">
+     <property name="text">
+      <string>Organization (O)</string>
+     </property>
+    </widget>
+   </item>
+   <item row="8" column="1">
+    <widget class="QLabel" name="issuerOrganizationLabel">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+   </item>
+   <item row="9" column="0">
+    <widget class="QLabel" name="label_7">
+     <property name="text">
+      <string>Organizational Unit (OU)</string>
+     </property>
+    </widget>
+   </item>
+   <item row="9" column="1">
+    <widget class="QLabel" name="issuerOrganizationalUnitLabel">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+   </item>
+   <item row="10" column="0">
+    <widget class="QLabel" name="label_10">
+     <property name="text">
+      <string>&lt;b&gt;Validity&lt;/b&gt;</string>
+     </property>
+    </widget>
+   </item>
+   <item row="11" column="0">
+    <widget class="QLabel" name="label_11">
+     <property name="text">
+      <string>Issued on</string>
+     </property>
+    </widget>
+   </item>
+   <item row="11" column="1">
+    <widget class="QLabel" name="effectiveLabel">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+   </item>
+   <item row="12" column="0">
+    <widget class="QLabel" name="label_12">
+     <property name="text">
+      <string>Expires on</string>
+     </property>
+    </widget>
+   </item>
+   <item row="12" column="1">
+    <widget class="QLabel" name="expiresLabel">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+   </item>
+   <item row="13" column="0" colspan="2">
+    <widget class="QLabel" name="expiredLabel">
+     <property name="text">
+      <string>This certificate is not valid yet or has expired.</string>
+     </property>
+    </widget>
+   </item>
+   <item row="14" column="0">
+    <widget class="QLabel" name="label_13">
+     <property name="text">
+      <string>&lt;b&gt;Fingerprints&lt;/b&gt;</string>
+     </property>
+    </widget>
+   </item>
+   <item row="15" column="0">
+    <widget class="QLabel" name="label_14">
+     <property name="text">
+      <string>SHA1-Fingerprint</string>
+     </property>
+    </widget>
+   </item>
+   <item row="15" column="1">
+    <widget class="QLabel" name="sha1Label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+   </item>
+   <item row="16" column="0">
+    <widget class="QLabel" name="label_15">
+     <property name="text">
+      <string>MD5-Fingerprint</string>
+     </property>
+    </widget>
+   </item>
+   <item row="16" column="1">
+    <widget class="QLabel" name="md5Label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
--- a/Helpviewer/HelpBrowserWV.py	Fri Jan 18 19:31:43 2013 +0100
+++ b/Helpviewer/HelpBrowserWV.py	Fri Jan 18 19:50:13 2013 +0100
@@ -30,8 +30,8 @@
 from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
 from .Bookmarks.BookmarkNode import BookmarkNode
 try:
-    from .SslInfoDialog import SslInfoDialog
     from PyQt4.QtNetwork import QSslCertificate
+    from E5Network.E5SslInfoDialog import E5SslInfoDialog
     SSL_AVAILABLE = True
 except ImportError:
     SSL_AVAILABLE = False
@@ -491,7 +491,7 @@
         Public slot to show some SSL information for the loaded page.
         """
         if SSL_AVAILABLE and self.__sslConfiguration is not None:
-            dlg = SslInfoDialog(self.getSslInfo(), self.view())
+            dlg = E5SslInfoDialog(self.getSslInfo(), self.view())
             dlg.exec_()
         else:
             E5MessageBox.warning(self.view(),
--- a/Helpviewer/HelpWindow.py	Fri Jan 18 19:31:43 2013 +0100
+++ b/Helpviewer/HelpWindow.py	Fri Jan 18 19:50:13 2013 +0100
@@ -1227,15 +1227,15 @@
         self.__actions.append(self.flashblockAct)
         
         if SSL_AVAILABLE:
-            self.certificatesAct = E5Action(self.trUtf8('Manage Certificates'),
-                          self.trUtf8('Manage Certificates...'),
+            self.certificatesAct = E5Action(self.trUtf8('Manage SSL Certificates'),
+                          self.trUtf8('Manage SSL Certificates...'),
                           0, 0,
                           self, 'help_manage_certificates')
             self.certificatesAct.setStatusTip(self.trUtf8(
-                    'Manage the saved certificates'))
+                    'Manage the saved SSL certificates'))
             self.certificatesAct.setWhatsThis(self.trUtf8(
-                    """<b>Manage Saved Certificates...</b>"""
-                    """<p>Opens a dialog to manage the saved certificates.</p>"""
+                    """<b>Manage SSL Certificates...</b>"""
+                    """<p>Opens a dialog to manage the saved SSL certificates.</p>"""
             ))
             if not self.initShortcutsOnly:
                 self.certificatesAct.triggered[()].connect(self.__showCertificatesDialog)
@@ -2723,9 +2723,9 @@
         """
         Private slot to show the certificates management dialog.
         """
-        from .SslCertificatesDialog import SslCertificatesDialog
-        
-        dlg = SslCertificatesDialog(self)
+        from E5Network.E5SslCertificatesDialog import E5SslCertificatesDialog
+        
+        dlg = E5SslCertificatesDialog(self)
         dlg.exec_()
         
     def __showAdBlockDialog(self):
--- a/Helpviewer/SiteInfo/SiteInfoDialog.ui	Fri Jan 18 19:31:43 2013 +0100
+++ b/Helpviewer/SiteInfo/SiteInfoDialog.ui	Fri Jan 18 19:50:13 2013 +0100
@@ -349,7 +349,7 @@
       </attribute>
       <layout class="QVBoxLayout" name="verticalLayout_3">
        <item>
-        <widget class="SslInfoWidget" name="sslWidget" native="true"/>
+        <widget class="E5SslInfoWidget" name="sslWidget" native="true"/>
        </item>
       </layout>
      </widget>
@@ -369,9 +369,9 @@
  </widget>
  <customwidgets>
   <customwidget>
-   <class>SslInfoWidget</class>
+   <class>E5SslInfoWidget</class>
    <extends>QWidget</extends>
-   <header>Helpviewer/SslInfoWidget.h</header>
+   <header>E5Network/E5SslInfoWidget.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
--- a/Helpviewer/SslCertificatesDialog.py	Fri Jan 18 19:31:43 2013 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,470 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2010 - 2013 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing a dialog to show and edit all certificates.
-"""
-
-from PyQt4.QtCore import pyqtSlot, Qt, QByteArray, QFile, QFileInfo, QIODevice, \
-    qVersion
-from PyQt4.QtGui import QDialog, QTreeWidgetItem
-try:
-    from PyQt4.QtNetwork import QSslCertificate, QSslSocket, QSslConfiguration, QSsl
-except ImportError:
-    pass
-
-from E5Gui import E5MessageBox, E5FileDialog
-
-from .Ui_SslCertificatesDialog import Ui_SslCertificatesDialog
-
-try:
-    from .SslInfoDialog import SslInfoDialog
-except ImportError:
-    pass
-
-import Preferences
-import Utilities
-
-
-class SslCertificatesDialog(QDialog, Ui_SslCertificatesDialog):
-    """
-    Class implementing a dialog to show and edit all certificates.
-    """
-    CertRole = Qt.UserRole + 1
-    
-    def __init__(self, parent=None):
-        """
-        Constructor
-        
-        @param parent reference to the parent widget (QWidget)
-        """
-        super().__init__(parent)
-        self.setupUi(self)
-        
-        self.__populateServerCertificatesTree()
-        self.__populateCaCertificatesTree()
-    
-    def __populateServerCertificatesTree(self):
-        """
-        Private slot to populate the server certificates tree.
-        """
-        certificateDict = Preferences.toDict(
-                Preferences.Prefs.settings.value("Ssl/CaCertificatesDict"))
-        for server in certificateDict:
-            for cert in QSslCertificate.fromData(certificateDict[server]):
-                self.__createServerCertificateEntry(server, cert)
-        
-        self.serversCertificatesTree.expandAll()
-        for i in range(self.serversCertificatesTree.columnCount()):
-            self.serversCertificatesTree.resizeColumnToContents(i)
-    
-    def __createServerCertificateEntry(self, server, cert):
-        """
-        Private method to create a server certificate entry.
-        
-        @param server server name of the certificate (string)
-        @param cert certificate to insert (QSslCertificate)
-        """
-        # step 1: extract the info to be shown
-        if qVersion() >= "5.0.0":
-            organisation = Utilities.decodeString(
-                ", ".join(cert.subjectInfo(QSslCertificate.Organization)))
-            commonName = Utilities.decodeString(
-                ", ".join(cert.subjectInfo(QSslCertificate.CommonName)))
-        else:
-            organisation = Utilities.decodeString(
-                cert.subjectInfo(QSslCertificate.Organization))
-            commonName = Utilities.decodeString(
-                cert.subjectInfo(QSslCertificate.CommonName))
-        if organisation is None or organisation == "":
-            organisation = self.trUtf8("(Unknown)")
-        if commonName is None or commonName == "":
-            commonName = self.trUtf8("(Unknown common name)")
-        expiryDate = cert.expiryDate().toString("yyyy-MM-dd")
-        
-        # step 2: create the entry
-        items = self.serversCertificatesTree.findItems(organisation,
-            Qt.MatchFixedString | Qt.MatchCaseSensitive)
-        if len(items) == 0:
-            parent = QTreeWidgetItem(self.serversCertificatesTree, [organisation])
-        else:
-            parent = items[0]
-        
-        itm = QTreeWidgetItem(parent, [commonName, server, expiryDate])
-        itm.setData(0, self.CertRole, cert)
-    
-    @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem)
-    def on_serversCertificatesTree_currentItemChanged(self, current, previous):
-        """
-        Private slot handling a change of the current item in the
-        server certificates list.
-        
-        @param current new current item (QTreeWidgetItem)
-        @param previous previous current item (QTreeWidgetItem)
-        """
-        enable = current is not None and current.parent() is not None
-        self.serversViewButton.setEnabled(enable)
-        self.serversDeleteButton.setEnabled(enable)
-        self.serversExportButton.setEnabled(enable)
-    
-    @pyqtSlot()
-    def on_serversViewButton_clicked(self):
-        """
-        Private slot to show data of the selected server certificate.
-        """
-        cert = self.serversCertificatesTree.currentItem().data(0, self.CertRole)
-        dlg = SslInfoDialog(cert, self)
-        dlg.exec_()
-    
-    @pyqtSlot()
-    def on_serversDeleteButton_clicked(self):
-        """
-        Private slot to delete the selected server certificate.
-        """
-        itm = self.serversCertificatesTree.currentItem()
-        res = E5MessageBox.yesNo(self,
-            self.trUtf8("Delete Server Certificate"),
-            self.trUtf8("""<p>Shall the server certificate really be deleted?</p>"""
-                        """<p>{0}</p>"""
-                        """<p>If the server certificate is deleted, the normal security"""
-                        """ checks will be reinstantiated and the server has to"""
-                        """ present a valid certificate.</p>""")\
-                .format(itm.text(0)))
-        if res:
-            server = itm.text(1)
-            cert = self.serversCertificatesTree.currentItem().data(0, self.CertRole)
-            
-            # delete the selected entry and it's parent entry, if it was the only one
-            parent = itm.parent()
-            parent.takeChild(parent.indexOfChild(itm))
-            if parent.childCount() == 0:
-                self.serversCertificatesTree.takeTopLevelItem(
-                    self.serversCertificatesTree.indexOfTopLevelItem(parent))
-            
-            # delete the certificate from the user certificate store
-            certificateDict = Preferences.toDict(
-                    Preferences.Prefs.settings.value("Ssl/CaCertificatesDict"))
-            if server in certificateDict:
-                certs = QSslCertificate.fromData(certificateDict[server])
-                if cert in certs:
-                    certs.remove(cert)
-                if certs:
-                    pems = QByteArray()
-                    for cert in certs:
-                        pems.append(cert.toPem() + '\n')
-                    certificateDict[server] = pems
-                else:
-                    del certificateDict[server]
-            Preferences.Prefs.settings.setValue("Ssl/CaCertificatesDict",
-                certificateDict)
-            
-            # delete the certificate from the default certificates
-            self.__updateDefaultConfiguration()
-    
-    @pyqtSlot()
-    def on_serversImportButton_clicked(self):
-        """
-        Private slot to import server certificates.
-        """
-        certs = self.__importCertificate()
-        if certs:
-            server = "*"
-            certificateDict = Preferences.toDict(
-                Preferences.Prefs.settings.value("Ssl/CaCertificatesDict"))
-            if server in certificateDict:
-                sCerts = QSslCertificate.fromData(certificateDict[server])
-            else:
-                sCerts = []
-            
-            pems = QByteArray()
-            for cert in certs:
-                if cert in sCerts:
-                    if qVersion() >= "5.0.0":
-                        commonStr = ", ".join(
-                            cert.subjectInfo(QSslCertificate.CommonName))
-                    else:
-                        commonStr = cert.subjectInfo(QSslCertificate.CommonName)
-                    E5MessageBox.warning(self,
-                        self.trUtf8("Import Certificate"),
-                        self.trUtf8("""<p>The certificate <b>{0}</b> already exists."""
-                                    """ Skipping.</p>""")
-                            .format(Utilities.decodeString(commonStr)))
-                else:
-                    pems.append(cert.toPem() + '\n')
-            if server not in certificateDict:
-                certificateDict[server] = QByteArray()
-            certificateDict[server].append(pems)
-            Preferences.Prefs.settings.setValue("Ssl/CaCertificatesDict",
-                certificateDict)
-            
-            self.serversCertificatesTree.clear()
-            self.__populateServerCertificatesTree()
-            
-            self.__updateDefaultConfiguration()
-    
-    @pyqtSlot()
-    def on_serversExportButton_clicked(self):
-        """
-        Private slot to export the selected server certificate.
-        """
-        cert = self.serversCertificatesTree.currentItem().data(0, self.CertRole)
-        fname = self.serversCertificatesTree.currentItem().text(0)\
-            .replace(" ", "").replace("\t", "")
-        self.__exportCertificate(fname, cert)
-    
-    def __updateDefaultConfiguration(self):
-        """
-        Private method to update the default SSL configuration.
-        """
-        caList = self.__getSystemCaCertificates()
-        certificateDict = Preferences.toDict(
-                Preferences.Prefs.settings.value("Ssl/CaCertificatesDict"))
-        for server in certificateDict:
-            for cert in QSslCertificate.fromData(certificateDict[server]):
-                if cert not in caList:
-                    caList.append(cert)
-        sslCfg = QSslConfiguration.defaultConfiguration()
-        sslCfg.setCaCertificates(caList)
-        QSslConfiguration.setDefaultConfiguration(sslCfg)
-    
-    def __getSystemCaCertificates(self):
-        """
-        Private method to get the list of system certificates.
-        
-        @return list of system certificates (list of QSslCertificate)
-        """
-        caList = QSslCertificate.fromData(Preferences.toByteArray(
-            Preferences.Prefs.settings.value("Help/SystemCertificates")))
-        if not caList:
-            caList = QSslSocket.systemCaCertificates()
-        return caList
-    
-    def __populateCaCertificatesTree(self):
-        """
-        Private slot to populate the CA certificates tree.
-        """
-        for cert in self.__getSystemCaCertificates():
-            self.__createCaCertificateEntry(cert)
-        
-        self.caCertificatesTree.expandAll()
-        for i in range(self.caCertificatesTree.columnCount()):
-            self.caCertificatesTree.resizeColumnToContents(i)
-        self.caCertificatesTree.sortItems(0, Qt.AscendingOrder)
-    
-    def __createCaCertificateEntry(self, cert):
-        """
-        Private method to create a CA certificate entry.
-        
-        @param cert certificate to insert (QSslCertificate)
-        """
-        # step 1: extract the info to be shown
-        if qVersion() >= "5.0.0":
-            organisation = Utilities.decodeString(
-                ", ".join(cert.subjectInfo(QSslCertificate.Organization)))
-            commonName = Utilities.decodeString(
-                ", ".join(cert.subjectInfo(QSslCertificate.CommonName)))
-        else:
-            organisation = Utilities.decodeString(
-                cert.subjectInfo(QSslCertificate.Organization))
-            commonName = Utilities.decodeString(
-                cert.subjectInfo(QSslCertificate.CommonName))
-        if organisation is None or organisation == "":
-            organisation = self.trUtf8("(Unknown)")
-        if commonName is None or commonName == "":
-            commonName = self.trUtf8("(Unknown common name)")
-        expiryDate = cert.expiryDate().toString("yyyy-MM-dd")
-        
-        # step 2: create the entry
-        items = self.caCertificatesTree.findItems(organisation,
-            Qt.MatchFixedString | Qt.MatchCaseSensitive)
-        if len(items) == 0:
-            parent = QTreeWidgetItem(self.caCertificatesTree, [organisation])
-        else:
-            parent = items[0]
-        
-        itm = QTreeWidgetItem(parent, [commonName, expiryDate])
-        itm.setData(0, self.CertRole, cert)
-    
-    @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem)
-    def on_caCertificatesTree_currentItemChanged(self, current, previous):
-        """
-        Private slot handling a change of the current item
-        in the CA certificates list.
-        
-        @param current new current item (QTreeWidgetItem)
-        @param previous previous current item (QTreeWidgetItem)
-        """
-        enable = current is not None and current.parent() is not None
-        self.caViewButton.setEnabled(enable)
-        self.caDeleteButton.setEnabled(enable)
-        self.caExportButton.setEnabled(enable)
-    
-    @pyqtSlot()
-    def on_caViewButton_clicked(self):
-        """
-        Private slot to show data of the selected CA certificate.
-        """
-        cert = self.caCertificatesTree.currentItem().data(0, self.CertRole)
-        dlg = SslInfoDialog(cert, self)
-        dlg.exec_()
-    
-    @pyqtSlot()
-    def on_caDeleteButton_clicked(self):
-        """
-        Private slot to delete the selected CA certificate.
-        """
-        itm = self.caCertificatesTree.currentItem()
-        res = E5MessageBox.yesNo(self,
-            self.trUtf8("Delete CA Certificate"),
-            self.trUtf8("""<p>Shall the CA certificate really be deleted?</p>"""
-                        """<p>{0}</p>"""
-                        """<p>If the CA certificate is deleted, the browser"""
-                        """ will not trust any certificate issued by this CA.</p>""")\
-                .format(itm.text(0)))
-        if res:
-            cert = self.caCertificatesTree.currentItem().data(0, self.CertRole)
-            
-            # delete the selected entry and it's parent entry, if it was the only one
-            parent = itm.parent()
-            parent.takeChild(parent.indexOfChild(itm))
-            if parent.childCount() == 0:
-                self.caCertificatesTree.takeTopLevelItem(
-                    self.caCertificatesTree.indexOfTopLevelItem(parent))
-            
-            # delete the certificate from the CA certificate store
-            caCerts = self.__getSystemCaCertificates()
-            if cert in caCerts:
-                caCerts.remove(cert)
-            pems = QByteArray()
-            for cert in caCerts:
-                pems.append(cert.toPem() + '\n')
-            Preferences.Prefs.settings.setValue("Help/SystemCertificates", pems)
-            
-            # delete the certificate from the default certificates
-            self.__updateDefaultConfiguration()
-    
-    @pyqtSlot()
-    def on_caImportButton_clicked(self):
-        """
-        Private slot to import server certificates.
-        """
-        certs = self.__importCertificate()
-        if certs:
-            caCerts = self.__getSystemCaCertificates()
-            for cert in certs:
-                if cert in caCerts:
-                    if qVersion() >= "5.0.0":
-                        commonStr = ", ".join(
-                            cert.subjectInfo(QSslCertificate.CommonName))
-                    else:
-                        commonStr = cert.subjectInfo(QSslCertificate.CommonName)
-                    E5MessageBox.warning(self,
-                        self.trUtf8("Import Certificate"),
-                        self.trUtf8("""<p>The certificate <b>{0}</b> already exists."""
-                                    """ Skipping.</p>""")
-                            .format(Utilities.decodeString(commonStr)))
-                else:
-                    caCerts.append(cert)
-            
-            pems = QByteArray()
-            for cert in caCerts:
-                pems.append(cert.toPem() + '\n')
-            Preferences.Prefs.settings.setValue("Help/SystemCertificates", pems)
-            
-            self.caCertificatesTree.clear()
-            self.__populateCaCertificatesTree()
-            
-            self.__updateDefaultConfiguration()
-    
-    @pyqtSlot()
-    def on_caExportButton_clicked(self):
-        """
-        Private slot to export the selected CA certificate.
-        """
-        cert = self.caCertificatesTree.currentItem().data(0, self.CertRole)
-        fname = self.caCertificatesTree.currentItem().text(0)\
-            .replace(" ", "").replace("\t", "")
-        self.__exportCertificate(fname, cert)
-    
-    def __exportCertificate(self, name, cert):
-        """
-        Private slot to export a certificate.
-        
-        @param name default file name without extension (string)
-        @param cert certificate to be exported (QSslCertificate)
-        """
-        if cert is not None:
-            fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter(
-                self,
-                self.trUtf8("Export Certificate"),
-                name,
-                self.trUtf8("Certificate File (PEM) (*.pem);;"
-                            "Certificate File (DER) (*.der)"),
-                None,
-                E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite))
-            
-            if fname:
-                ext = QFileInfo(fname).suffix()
-                if not ext or ext not in ["pem", "der"]:
-                    ex = selectedFilter.split("(*")[1].split(")")[0]
-                    if ex:
-                        fname += ex
-                if QFileInfo(fname).exists():
-                    res = E5MessageBox.yesNo(self,
-                        self.trUtf8("Export Certificate"),
-                        self.trUtf8("<p>The file <b>{0}</b> already exists."
-                                    " Overwrite it?</p>").format(fname),
-                        icon=E5MessageBox.Warning)
-                    if not res:
-                        return
-                
-                f = QFile(fname)
-                if not f.open(QIODevice.WriteOnly):
-                    E5MessageBox.critical(self,
-                        self.trUtf8("Export Certificate"),
-                        self.trUtf8("""<p>The certificate could not be written to file"""
-                                    """ <b>{0}</b></p><p>Error: {1}</p>""")
-                            .format(fname, f.errorString()))
-                    return
-                
-                if fname.endswith(".pem"):
-                    crt = cert.toPem()
-                else:
-                    crt = cert.toDer()
-                f.write(crt)
-                f.close()
-    
-    def __importCertificate(self):
-        """
-        Private method to read a certificate.
-        
-        @return certificates read (list of QSslCertificate)
-        """
-        fname = E5FileDialog.getOpenFileName(
-            self,
-            self.trUtf8("Import Certificate"),
-            "",
-            self.trUtf8("Certificate Files (*.pem *.crt *.der *.cer *.ca);;"
-                        "All Files (*)"))
-        
-        if fname:
-            f = QFile(fname)
-            if not f.open(QIODevice.ReadOnly):
-                E5MessageBox.critical(self,
-                    self.trUtf8("Export Certificate"),
-                    self.trUtf8("""<p>The certificate could not be read from file"""
-                                """ <b>{0}</b></p><p>Error: {1}</p>""")
-                        .format(fname, f.errorString()))
-                return []
-            
-            crt = f.readAll()
-            f.close()
-            cert = QSslCertificate.fromData(crt, QSsl.Pem)
-            if not cert:
-                cert = QSslCertificate.fromData(crt, QSsl.Der)
-            
-            return cert
-        
-        return []
--- a/Helpviewer/SslCertificatesDialog.ui	Fri Jan 18 19:31:43 2013 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,281 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>SslCertificatesDialog</class>
- <widget class="QDialog" name="SslCertificatesDialog">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>760</width>
-    <height>440</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>SSL Certificate Manager</string>
-  </property>
-  <property name="sizeGripEnabled">
-   <bool>true</bool>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout">
-   <item>
-    <widget class="QTabWidget" name="certificatesWidget">
-     <property name="currentIndex">
-      <number>0</number>
-     </property>
-     <widget class="QWidget" name="serversTab">
-      <attribute name="title">
-       <string>&amp;Servers</string>
-      </attribute>
-      <layout class="QVBoxLayout" name="verticalLayout_2">
-       <item>
-        <widget class="QLabel" name="label">
-         <property name="text">
-          <string>You have saved certificates identifying these servers:</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QTreeWidget" name="serversCertificatesTree">
-         <column>
-          <property name="text">
-           <string>Certificate name</string>
-          </property>
-         </column>
-         <column>
-          <property name="text">
-           <string>Server</string>
-          </property>
-         </column>
-         <column>
-          <property name="text">
-           <string>Expiry Date</string>
-          </property>
-         </column>
-        </widget>
-       </item>
-       <item>
-        <layout class="QHBoxLayout" name="horizontalLayout">
-         <item>
-          <widget class="QPushButton" name="serversViewButton">
-           <property name="enabled">
-            <bool>false</bool>
-           </property>
-           <property name="toolTip">
-            <string>Press to view the selected certificate</string>
-           </property>
-           <property name="text">
-            <string>&amp;View...</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QPushButton" name="serversImportButton">
-           <property name="toolTip">
-            <string>Press to import a certificate</string>
-           </property>
-           <property name="text">
-            <string>&amp;Import...</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QPushButton" name="serversExportButton">
-           <property name="enabled">
-            <bool>false</bool>
-           </property>
-           <property name="toolTip">
-            <string>Press to export the selected certificate</string>
-           </property>
-           <property name="text">
-            <string>&amp;Export...</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QPushButton" name="serversDeleteButton">
-           <property name="enabled">
-            <bool>false</bool>
-           </property>
-           <property name="toolTip">
-            <string>Press to delete the selected certificate</string>
-           </property>
-           <property name="text">
-            <string>&amp;Delete...</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <spacer name="horizontalSpacer">
-           <property name="orientation">
-            <enum>Qt::Horizontal</enum>
-           </property>
-           <property name="sizeHint" stdset="0">
-            <size>
-             <width>40</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-        </layout>
-       </item>
-      </layout>
-     </widget>
-     <widget class="QWidget" name="caTab">
-      <attribute name="title">
-       <string>Certificate &amp;Authorities</string>
-      </attribute>
-      <layout class="QVBoxLayout" name="verticalLayout_3">
-       <item>
-        <widget class="QLabel" name="label_2">
-         <property name="text">
-          <string>You have saved certificates identifying these certification authorities:</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QTreeWidget" name="caCertificatesTree">
-         <column>
-          <property name="text">
-           <string>Certificate name</string>
-          </property>
-         </column>
-         <column>
-          <property name="text">
-           <string>Expiry Date</string>
-          </property>
-         </column>
-        </widget>
-       </item>
-       <item>
-        <layout class="QHBoxLayout" name="horizontalLayout_2">
-         <item>
-          <widget class="QPushButton" name="caViewButton">
-           <property name="enabled">
-            <bool>false</bool>
-           </property>
-           <property name="toolTip">
-            <string>Press to view the selected certificate</string>
-           </property>
-           <property name="text">
-            <string>&amp;View...</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QPushButton" name="caImportButton">
-           <property name="toolTip">
-            <string>Press to import a certificate</string>
-           </property>
-           <property name="text">
-            <string>&amp;Import...</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QPushButton" name="caExportButton">
-           <property name="enabled">
-            <bool>false</bool>
-           </property>
-           <property name="toolTip">
-            <string>Press to export the selected certificate</string>
-           </property>
-           <property name="text">
-            <string>&amp;Export...</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QPushButton" name="caDeleteButton">
-           <property name="enabled">
-            <bool>false</bool>
-           </property>
-           <property name="toolTip">
-            <string>Press to delete the selected certificate</string>
-           </property>
-           <property name="text">
-            <string>&amp;Delete...</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <spacer name="horizontalSpacer_2">
-           <property name="orientation">
-            <enum>Qt::Horizontal</enum>
-           </property>
-           <property name="sizeHint" stdset="0">
-            <size>
-             <width>40</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-        </layout>
-       </item>
-      </layout>
-     </widget>
-    </widget>
-   </item>
-   <item>
-    <widget class="QDialogButtonBox" name="buttonBox">
-     <property name="orientation">
-      <enum>Qt::Horizontal</enum>
-     </property>
-     <property name="standardButtons">
-      <set>QDialogButtonBox::Close</set>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <tabstops>
-  <tabstop>certificatesWidget</tabstop>
-  <tabstop>serversCertificatesTree</tabstop>
-  <tabstop>serversViewButton</tabstop>
-  <tabstop>serversImportButton</tabstop>
-  <tabstop>serversExportButton</tabstop>
-  <tabstop>serversDeleteButton</tabstop>
-  <tabstop>caCertificatesTree</tabstop>
-  <tabstop>caViewButton</tabstop>
-  <tabstop>caImportButton</tabstop>
-  <tabstop>caExportButton</tabstop>
-  <tabstop>caDeleteButton</tabstop>
-  <tabstop>buttonBox</tabstop>
- </tabstops>
- <resources/>
- <connections>
-  <connection>
-   <sender>buttonBox</sender>
-   <signal>accepted()</signal>
-   <receiver>SslCertificatesDialog</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>248</x>
-     <y>254</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>157</x>
-     <y>274</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>buttonBox</sender>
-   <signal>rejected()</signal>
-   <receiver>SslCertificatesDialog</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>316</x>
-     <y>260</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>286</x>
-     <y>274</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
--- a/Helpviewer/SslInfoDialog.py	Fri Jan 18 19:31:43 2013 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2010 - 2013 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing a dialog to show SSL certificate infos.
-"""
-
-from PyQt4.QtGui import QDialog
-
-from .Ui_SslInfoDialog import Ui_SslInfoDialog
-
-
-class SslInfoDialog(QDialog, Ui_SslInfoDialog):
-    """
-    Class implementing a dialog to show SSL certificate infos.
-    """
-    def __init__(self, certificate, parent=None):
-        """
-        Constructor
-        
-        @param certificate reference to the SSL certificate (QSslCertificate)
-        @param parent reference to the parent widget (QWidget)
-        """
-        super().__init__(parent)
-        self.setupUi(self)
-        
-        self.sslWidget.showCertificate(certificate)
--- a/Helpviewer/SslInfoDialog.ui	Fri Jan 18 19:31:43 2013 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>SslInfoDialog</class>
- <widget class="QDialog" name="SslInfoDialog">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>556</width>
-    <height>486</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>SSL Certificate Info</string>
-  </property>
-  <property name="sizeGripEnabled">
-   <bool>true</bool>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout">
-   <item>
-    <widget class="SslInfoWidget" name="sslWidget" native="true"/>
-   </item>
-   <item>
-    <widget class="QDialogButtonBox" name="buttonBox">
-     <property name="orientation">
-      <enum>Qt::Horizontal</enum>
-     </property>
-     <property name="standardButtons">
-      <set>QDialogButtonBox::Close</set>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <customwidgets>
-  <customwidget>
-   <class>SslInfoWidget</class>
-   <extends>QWidget</extends>
-   <header>Helpviewer/SslInfoWidget.h</header>
-   <container>1</container>
-  </customwidget>
- </customwidgets>
- <resources/>
- <connections>
-  <connection>
-   <sender>buttonBox</sender>
-   <signal>accepted()</signal>
-   <receiver>SslInfoDialog</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>248</x>
-     <y>254</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>157</x>
-     <y>274</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>buttonBox</sender>
-   <signal>rejected()</signal>
-   <receiver>SslInfoDialog</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>316</x>
-     <y>260</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>286</x>
-     <y>274</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
--- a/Helpviewer/SslInfoWidget.py	Fri Jan 18 19:31:43 2013 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2010 - 2013 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing a widget to show SSL certificate infos.
-"""
-
-from PyQt4.QtCore import QCryptographicHash, QDateTime, qVersion
-from PyQt4.QtGui import QWidget
-from PyQt4.QtNetwork import QSslCertificate
-
-from .Ui_SslInfoWidget import Ui_SslInfoWidget
-
-import Utilities
-
-
-class SslInfoWidget(QWidget, Ui_SslInfoWidget):
-    """
-    Class implementing a widget to show SSL certificate infos.
-    """
-    def __init__(self, parent=None):
-        """
-        Constructor
-        
-        @param parent reference to the parent widget (QWidget)
-        """
-        super().__init__(parent)
-        self.setupUi(self)
-        
-    def showCertificate(self, certificate):
-        """
-        Public method to show the  SSL certificate information.
-        
-        @param certificate reference to the SSL certificate (QSslCertificate)
-        """
-        self.blacklistedLabel.setVisible(False)
-        self.blacklistedLabel.setStyleSheet(
-            "QLabel { color : white; background-color : red; }")
-        self.expiredLabel.setVisible(False)
-        self.expiredLabel.setStyleSheet(
-            "QLabel { color : white; background-color : red; }")
-        
-        if qVersion() >= "5.0.0":
-            self.subjectCommonNameLabel.setText(self.__certificateString(
-                ", ".join(certificate.subjectInfo(QSslCertificate.CommonName))))
-            self.subjectOrganizationLabel.setText(self.__certificateString(
-                ", ".join(certificate.subjectInfo(QSslCertificate.Organization))))
-            self.subjectOrganizationalUnitLabel.setText(self.__certificateString(
-                ", ".join(
-                    certificate.subjectInfo(QSslCertificate.OrganizationalUnitName))))
-            self.issuerCommonNameLabel.setText(self.__certificateString(
-                ", ".join(certificate.issuerInfo(QSslCertificate.CommonName))))
-            self.issuerOrganizationLabel.setText(self.__certificateString(
-                ", ".join(certificate.issuerInfo(QSslCertificate.Organization))))
-            self.issuerOrganizationalUnitLabel.setText(self.__certificateString(
-                ", ".join(certificate.issuerInfo(QSslCertificate.OrganizationalUnitName))))
-        else:
-            self.subjectCommonNameLabel.setText(self.__certificateString(
-                certificate.subjectInfo(QSslCertificate.CommonName)))
-            self.subjectOrganizationLabel.setText(self.__certificateString(
-                certificate.subjectInfo(QSslCertificate.Organization)))
-            self.subjectOrganizationalUnitLabel.setText(self.__certificateString(
-                certificate.subjectInfo(QSslCertificate.OrganizationalUnitName)))
-            self.issuerCommonNameLabel.setText(self.__certificateString(
-                certificate.issuerInfo(QSslCertificate.CommonName)))
-            self.issuerOrganizationLabel.setText(self.__certificateString(
-                certificate.issuerInfo(QSslCertificate.Organization)))
-            self.issuerOrganizationalUnitLabel.setText(self.__certificateString(
-                certificate.issuerInfo(QSslCertificate.OrganizationalUnitName)))
-        self.serialNumberLabel.setText(self.__serialNumber(certificate))
-        self.effectiveLabel.setText(
-            certificate.effectiveDate().toString("yyyy-MM-dd"))
-        self.expiresLabel.setText(
-            certificate.expiryDate().toString("yyyy-MM-dd"))
-        self.sha1Label.setText(self.__formatHexString(
-            str(certificate.digest(QCryptographicHash.Sha1).toHex(), encoding="ascii")))
-        self.md5Label.setText(self.__formatHexString(
-            str(certificate.digest(QCryptographicHash.Md5).toHex(), encoding="ascii")))
-        
-        if (qVersion() >= "5.0.0" and certificate.isBlacklisted()) or \
-           (qVersion() < "5.0.0" and not certificate.isValid()):
-            # something is wrong; indicate it to the user
-            if self.__hasExpired(certificate.effectiveDate(), certificate.expiryDate()):
-                self.expiredLabel.setVisible(True)
-            else:
-                self.blacklistedLabel.setVisible(True)
-    
-    def __certificateString(self, txt):
-        """
-        Private method to prepare some text for display.
-        
-        @param txt text to be displayed (string)
-        @return prepared text (string)
-        """
-        if txt is None or txt == "":
-            return self.trUtf8("<not part of the certificate>")
-        
-        return Utilities.decodeString(txt)
-    
-    def __serialNumber(self, cert):
-        """
-        Private slot to format the certificate serial number.
-        
-        @param cert reference to the SSL certificate (QSslCertificate)
-        @return formated serial number (string)
-        """
-        serial = cert.serialNumber()
-        if serial == "":
-            return self.trUtf8("<not part of the certificate>")
-        
-        if ':' in serial:
-            return str(serial, encoding="ascii").upper()
-        else:
-            hexString = hex(int(serial))[2:]
-            return self.__formatHexString(hexString)
-    
-    def __formatHexString(self, hexString):
-        """
-        Private method to format a hex string for display.
-        
-        @param hexString hex string to be formatted (string)
-        @return formatted string (string)
-        """
-        hexString = hexString.upper()
-        
-        if len(hexString) % 2 == 1:
-            hexString = '0' + hexString
-        
-        hexList = []
-        while hexString:
-            hexList.append(hexString[:2])
-            hexString = hexString[2:]
-        
-        return ':'.join(hexList)
-    
-    def __hasExpired(self, effectiveDate, expiryDate):
-        """
-        Private method to check for a certificate expiration.
-        
-        @param effectiveDate date the certificate becomes effective (QDateTime)
-        @param expiryDate date the certificate expires (QDateTime)
-        @return flag indicating the expiration status (boolean)
-        """
-        now = QDateTime.currentDateTime()
-        
-        return now < effectiveDate or now >= expiryDate
--- a/Helpviewer/SslInfoWidget.ui	Fri Jan 18 19:31:43 2013 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,280 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>SslInfoWidget</class>
- <widget class="QWidget" name="SslInfoWidget">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>460</width>
-    <height>452</height>
-   </rect>
-  </property>
-  <layout class="QGridLayout" name="gridLayout">
-   <item row="0" column="0" colspan="2">
-    <widget class="QLabel" name="blacklistedLabel">
-     <property name="text">
-      <string>This certificated has been blacklisted.</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="0">
-    <widget class="QLabel" name="label">
-     <property name="text">
-      <string>&lt;b&gt;Issued for&lt;/b&gt;</string>
-     </property>
-    </widget>
-   </item>
-   <item row="2" column="0">
-    <widget class="QLabel" name="label_2">
-     <property name="text">
-      <string>Common Name (CN)</string>
-     </property>
-    </widget>
-   </item>
-   <item row="2" column="1">
-    <widget class="QLabel" name="subjectCommonNameLabel">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="text">
-      <string/>
-     </property>
-    </widget>
-   </item>
-   <item row="3" column="0">
-    <widget class="QLabel" name="label_3">
-     <property name="text">
-      <string>Organization (O)</string>
-     </property>
-    </widget>
-   </item>
-   <item row="3" column="1">
-    <widget class="QLabel" name="subjectOrganizationLabel">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="text">
-      <string/>
-     </property>
-    </widget>
-   </item>
-   <item row="4" column="0">
-    <widget class="QLabel" name="label_4">
-     <property name="text">
-      <string>Organizational Unit (OU)</string>
-     </property>
-    </widget>
-   </item>
-   <item row="4" column="1">
-    <widget class="QLabel" name="subjectOrganizationalUnitLabel">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="text">
-      <string/>
-     </property>
-    </widget>
-   </item>
-   <item row="5" column="0">
-    <widget class="QLabel" name="label_5">
-     <property name="text">
-      <string>Serialnumber</string>
-     </property>
-    </widget>
-   </item>
-   <item row="5" column="1">
-    <widget class="QLabel" name="serialNumberLabel">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="text">
-      <string/>
-     </property>
-    </widget>
-   </item>
-   <item row="6" column="0">
-    <widget class="QLabel" name="label_6">
-     <property name="text">
-      <string>&lt;b&gt;Issued by&lt;/b&gt;</string>
-     </property>
-    </widget>
-   </item>
-   <item row="7" column="0">
-    <widget class="QLabel" name="label_9">
-     <property name="text">
-      <string>Common Name (CN)</string>
-     </property>
-    </widget>
-   </item>
-   <item row="7" column="1">
-    <widget class="QLabel" name="issuerCommonNameLabel">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="text">
-      <string/>
-     </property>
-    </widget>
-   </item>
-   <item row="8" column="0">
-    <widget class="QLabel" name="label_8">
-     <property name="text">
-      <string>Organization (O)</string>
-     </property>
-    </widget>
-   </item>
-   <item row="8" column="1">
-    <widget class="QLabel" name="issuerOrganizationLabel">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="text">
-      <string/>
-     </property>
-    </widget>
-   </item>
-   <item row="9" column="0">
-    <widget class="QLabel" name="label_7">
-     <property name="text">
-      <string>Organizational Unit (OU)</string>
-     </property>
-    </widget>
-   </item>
-   <item row="9" column="1">
-    <widget class="QLabel" name="issuerOrganizationalUnitLabel">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="text">
-      <string/>
-     </property>
-    </widget>
-   </item>
-   <item row="10" column="0">
-    <widget class="QLabel" name="label_10">
-     <property name="text">
-      <string>&lt;b&gt;Validity&lt;/b&gt;</string>
-     </property>
-    </widget>
-   </item>
-   <item row="11" column="0">
-    <widget class="QLabel" name="label_11">
-     <property name="text">
-      <string>Issued on</string>
-     </property>
-    </widget>
-   </item>
-   <item row="11" column="1">
-    <widget class="QLabel" name="effectiveLabel">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="text">
-      <string/>
-     </property>
-    </widget>
-   </item>
-   <item row="12" column="0">
-    <widget class="QLabel" name="label_12">
-     <property name="text">
-      <string>Expires on</string>
-     </property>
-    </widget>
-   </item>
-   <item row="12" column="1">
-    <widget class="QLabel" name="expiresLabel">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="text">
-      <string/>
-     </property>
-    </widget>
-   </item>
-   <item row="13" column="0" colspan="2">
-    <widget class="QLabel" name="expiredLabel">
-     <property name="text">
-      <string>This certificate is not valid yet or has expired.</string>
-     </property>
-    </widget>
-   </item>
-   <item row="14" column="0">
-    <widget class="QLabel" name="label_13">
-     <property name="text">
-      <string>&lt;b&gt;Fingerprints&lt;/b&gt;</string>
-     </property>
-    </widget>
-   </item>
-   <item row="15" column="0">
-    <widget class="QLabel" name="label_14">
-     <property name="text">
-      <string>SHA1-Fingerprint</string>
-     </property>
-    </widget>
-   </item>
-   <item row="15" column="1">
-    <widget class="QLabel" name="sha1Label">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="text">
-      <string/>
-     </property>
-    </widget>
-   </item>
-   <item row="16" column="0">
-    <widget class="QLabel" name="label_15">
-     <property name="text">
-      <string>MD5-Fingerprint</string>
-     </property>
-    </widget>
-   </item>
-   <item row="16" column="1">
-    <widget class="QLabel" name="md5Label">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="text">
-      <string/>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
--- a/UI/UserInterface.py	Fri Jan 18 19:31:43 2013 +0100
+++ b/UI/UserInterface.py	Fri Jan 18 19:50:13 2013 +0100
@@ -1912,6 +1912,20 @@
         self.importShortcutsAct.triggered[()].connect(self.__importShortcuts)
         self.actions.append(self.importShortcutsAct)
 
+        if SSL_AVAILABLE:
+            self.certificatesAct = E5Action(self.trUtf8('Manage SSL Certificates'),
+                          self.trUtf8('Manage SSL Certificates...'),
+                          0, 0,
+                          self, 'manage_ssl_certificates')
+            self.certificatesAct.setStatusTip(self.trUtf8(
+                    'Manage the saved SSL certificates'))
+            self.certificatesAct.setWhatsThis(self.trUtf8(
+                    """<b>Manage SSL Certificates...</b>"""
+                    """<p>Opens a dialog to manage the saved SSL certificates.</p>"""
+            ))
+            self.certificatesAct.triggered[()].connect(self.__showCertificatesDialog)
+            self.actions.append(self.certificatesAct)
+        
         self.viewmanagerActivateAct = E5Action(self.trUtf8('Activate current editor'),
                 self.trUtf8('Activate current editor'),
                 QKeySequence(self.trUtf8("Alt+Shift+E")),
@@ -2197,6 +2211,9 @@
         self.__menus["settings"].addAction(self.importShortcutsAct)
         self.__menus["settings"].addSeparator()
         self.__menus["settings"].addAction(self.showExternalToolsAct)
+        if SSL_AVAILABLE:
+            self.__menus["settings"].addSeparator()
+            self.__menus["settings"].addAction(self.certificatesAct)
         
         self.__menus["window"] = QMenu(self.trUtf8('&Window'), self)
         mb.addMenu(self.__menus["window"])
@@ -4822,6 +4839,15 @@
         if fn:
             Shortcuts.importShortcuts(fn)
 
+    def __showCertificatesDialog(self):
+        """
+        Private slot to show the certificates management dialog.
+        """
+        from E5Network.E5SslCertificatesDialog import E5SslCertificatesDialog
+        
+        dlg = E5SslCertificatesDialog(self)
+        dlg.exec_()
+        
     def __newProject(self):
         """
         Private slot to handle the NewProject signal.
--- a/changelog	Fri Jan 18 19:31:43 2013 +0100
+++ b/changelog	Fri Jan 18 19:50:13 2013 +0100
@@ -5,6 +5,7 @@
 - General
   -- introduced a zoom widget in the status bar of several windows
   -- centralized the SSL error handling in E5SslErrorHandler
+  -- moved the SSL widgets to the E5Network package
 - Multi Project
   -- extended the context menus of the multi project browser to be able
      to add projects this way
--- a/eric5.e4p	Fri Jan 18 19:31:43 2013 +0100
+++ b/eric5.e4p	Fri Jan 18 19:50:13 2013 +0100
@@ -793,7 +793,6 @@
     <Source>Helpviewer/UrlBar/FavIconLabel.py</Source>
     <Source>Helpviewer/UrlBar/StackedUrlBar.py</Source>
     <Source>Helpviewer/UrlBar/SslLabel.py</Source>
-    <Source>Helpviewer/SslInfoDialog.py</Source>
     <Source>Helpviewer/UrlBar/BookmarkInfoDialog.py</Source>
     <Source>Helpviewer/Download/__init__.py</Source>
     <Source>Helpviewer/Download/DownloadItem.py</Source>
@@ -803,7 +802,6 @@
     <Source>ThirdParty/Pygments/pygments/lexers/_asybuiltins.py</Source>
     <Source>ThirdParty/Pygments/pygments/styles/monokai.py</Source>
     <Source>Preferences/ConfigurationPages/TrayStarterPage.py</Source>
-    <Source>Helpviewer/SslCertificatesDialog.py</Source>
     <Source>UtilitiesPython2/__init__.py</Source>
     <Source>UtilitiesPython2/Py2SyntaxChecker.py</Source>
     <Source>UtilitiesPython2/py2flakes/__init__.py</Source>
@@ -926,7 +924,6 @@
     <Source>Helpviewer/Feeds/FeedEditDialog.py</Source>
     <Source>Helpviewer/SiteInfo/__init__.py</Source>
     <Source>Helpviewer/SiteInfo/SiteInfoDialog.py</Source>
-    <Source>Helpviewer/SslInfoWidget.py</Source>
     <Source>Helpviewer/UserAgent/UserAgentsDialog.py</Source>
     <Source>Helpviewer/UserAgent/UserAgentModel.py</Source>
     <Source>Helpviewer/UserAgent/UserAgentManager.py</Source>
@@ -1068,6 +1065,9 @@
     <Source>Network/IRC/IrcMessageEdit.py</Source>
     <Source>E5Gui/E5ZoomWidget.py</Source>
     <Source>E5Network/E5SslErrorHandler.py</Source>
+    <Source>E5Network/E5SslInfoWidget.py</Source>
+    <Source>E5Network/E5SslInfoDialog.py</Source>
+    <Source>E5Network/E5SslCertificatesDialog.py</Source>
   </Sources>
   <Forms>
     <Form>PyUnit/UnittestDialog.ui</Form>
@@ -1293,12 +1293,10 @@
     <Form>UI/SymbolsWidget.ui</Form>
     <Form>UI/NumbersWidget.ui</Form>
     <Form>Plugins/WizardPlugins/E5MessageBoxWizard/E5MessageBoxWizardDialog.ui</Form>
-    <Form>Helpviewer/SslInfoDialog.ui</Form>
     <Form>Helpviewer/UrlBar/BookmarkInfoDialog.ui</Form>
     <Form>Helpviewer/Download/DownloadItem.ui</Form>
     <Form>Helpviewer/Download/DownloadManager.ui</Form>
     <Form>Preferences/ConfigurationPages/TrayStarterPage.ui</Form>
-    <Form>Helpviewer/SslCertificatesDialog.ui</Form>
     <Form>Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui</Form>
     <Form>Plugins/CheckerPlugins/Pep8/Pep8CodeSelectionDialog.ui</Form>
     <Form>Plugins/CheckerPlugins/Pep8/Pep8StatisticsDialog.ui</Form>
@@ -1335,7 +1333,6 @@
     <Form>Helpviewer/Feeds/FeedsManager.ui</Form>
     <Form>Helpviewer/Feeds/FeedEditDialog.ui</Form>
     <Form>Helpviewer/SiteInfo/SiteInfoDialog.ui</Form>
-    <Form>Helpviewer/SslInfoWidget.ui</Form>
     <Form>Helpviewer/UserAgent/UserAgentsDialog.ui</Form>
     <Form>Plugins/VcsPlugins/vcsMercurial/HgPhaseDialog.ui</Form>
     <Form>Helpviewer/PageScreenDialog.ui</Form>
@@ -1380,6 +1377,9 @@
     <Form>Network/IRC/IrcServerEditDialog.ui</Form>
     <Form>Network/IRC/IrcIdentitiesEditDialog.ui</Form>
     <Form>E5Gui/E5ZoomWidget.ui</Form>
+    <Form>E5Network/E5SslInfoWidget.ui</Form>
+    <Form>E5Network/E5SslInfoDialog.ui</Form>
+    <Form>E5Network/E5SslCertificatesDialog.ui</Form>
   </Forms>
   <Translations>
     <Translation>i18n/eric5_cs.qm</Translation>
--- a/i18n/eric5_cs.ts	Fri Jan 18 19:31:43 2013 +0100
+++ b/i18n/eric5_cs.ts	Fri Jan 18 19:50:13 2013 +0100
@@ -7413,49 +7413,288 @@
     </message>
 </context>
 <context>
+    <name>E5SslCertificatesDialog</name>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="14"/>
+        <source>SSL Certificate Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="27"/>
+        <source>&amp;Servers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="33"/>
+        <source>You have saved certificates identifying these servers:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="140"/>
+        <source>Certificate name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="46"/>
+        <source>Server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="145"/>
+        <source>Expiry Date</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="158"/>
+        <source>Press to view the selected certificate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="161"/>
+        <source>&amp;View...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="168"/>
+        <source>Press to import a certificate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="171"/>
+        <source>&amp;Import...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="181"/>
+        <source>Press to export the selected certificate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="184"/>
+        <source>&amp;Export...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="194"/>
+        <source>Press to delete the selected certificate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="197"/>
+        <source>&amp;Delete...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="126"/>
+        <source>Certificate &amp;Authorities</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="132"/>
+        <source>You have saved certificates identifying these certification authorities:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="274"/>
+        <source>(Unknown)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="276"/>
+        <source>(Unknown common name)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="127"/>
+        <source>Delete Server Certificate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="127"/>
+        <source>&lt;p&gt;Shall the server certificate really be deleted?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;If the server certificate is deleted, the normal security checks will be reinstantiated and the server has to present a valid certificate.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="445"/>
+        <source>Import Certificate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="363"/>
+        <source>&lt;p&gt;The certificate &lt;b&gt;{0}&lt;/b&gt; already exists. Skipping.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="319"/>
+        <source>Delete CA Certificate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="319"/>
+        <source>&lt;p&gt;Shall the CA certificate really be deleted?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;If the CA certificate is deleted, the browser will not trust any certificate issued by this CA.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="455"/>
+        <source>Export Certificate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="399"/>
+        <source>Certificate File (PEM) (*.pem);;Certificate File (DER) (*.der)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="415"/>
+        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
+        <translation type="unfinished">&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; již existuje.&lt;/p&gt;&lt;p&gt;Má se přepsat?&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="425"/>
+        <source>&lt;p&gt;The certificate could not be written to file &lt;b&gt;{0}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="445"/>
+        <source>Certificate Files (*.pem *.crt *.der *.cer *.ca);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="455"/>
+        <source>&lt;p&gt;The certificate could not be read from file &lt;b&gt;{0}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>E5SslErrorHandler</name>
     <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="115"/>
+        <location filename="E5Network/E5SslErrorHandler.py" line="123"/>
         <source>SSL Errors</source>
         <translation type="unfinished">SSL chyby</translation>
     </message>
     <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="115"/>
+        <location filename="E5Network/E5SslErrorHandler.py" line="123"/>
         <source>&lt;p&gt;SSL Errors for &lt;br /&gt;&lt;b&gt;{0}&lt;/b&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Do you want to ignore these errors?&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;SSL chyby pro &lt;br /&gt;&lt;b&gt;{0}&lt;/b&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Chcete tyto chyby ignorovat?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="129"/>
+        <location filename="E5Network/E5SslErrorHandler.py" line="137"/>
         <source>Certificates</source>
         <translation type="unfinished">Certifikáty</translation>
     </message>
     <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="129"/>
+        <location filename="E5Network/E5SslErrorHandler.py" line="137"/>
         <source>&lt;p&gt;Certificates:&lt;br/&gt;{0}&lt;br/&gt;Do you want to accept all these certificates?&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Certifikáty:&lt;br/&gt;{0}&lt;br/&gt;Chcete akceptovat všechny certifikáty?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="184"/>
-        <source>Name: {0}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="188"/>
-        <source>&lt;br/&gt;Organization: {0}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="E5Network/E5SslErrorHandler.py" line="192"/>
-        <source>&lt;br/&gt;Issuer: {0}</source>
-        <translation type="unfinished">&lt;br/&gt;Vydatavel: {0}</translation>
+        <source>Name: {0}</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="E5Network/E5SslErrorHandler.py" line="196"/>
+        <source>&lt;br/&gt;Organization: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslErrorHandler.py" line="200"/>
+        <source>&lt;br/&gt;Issuer: {0}</source>
+        <translation type="unfinished">&lt;br/&gt;Vydatavel: {0}</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslErrorHandler.py" line="204"/>
         <source>&lt;br/&gt;Not valid before: {0}&lt;br/&gt;Valid Until: {1}</source>
         <translation type="unfinished">&lt;br/&gt;Neplatný před: {0}&lt;br/&gt;Platný do: {1}</translation>
     </message>
 </context>
 <context>
+    <name>E5SslInfoDialog</name>
+    <message>
+        <location filename="E5Network/E5SslInfoDialog.ui" line="14"/>
+        <source>SSL Certificate Info</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>E5SslInfoWidget</name>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="17"/>
+        <source>This certificated has been blacklisted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="24"/>
+        <source>&lt;b&gt;Issued for&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="118"/>
+        <source>Common Name (CN)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="138"/>
+        <source>Organization (O)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="158"/>
+        <source>Organizational Unit (OU)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="91"/>
+        <source>Serialnumber</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="111"/>
+        <source>&lt;b&gt;Issued by&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="178"/>
+        <source>&lt;b&gt;Validity&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="185"/>
+        <source>Issued on</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="205"/>
+        <source>Expires on</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="225"/>
+        <source>This certificate is not valid yet or has expired.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="232"/>
+        <source>&lt;b&gt;Fingerprints&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="239"/>
+        <source>SHA1-Fingerprint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="259"/>
+        <source>MD5-Fingerprint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.py" line="111"/>
+        <source>&lt;not part of the certificate&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>E5ToolBarDialog</name>
     <message>
         <location filename="E5Gui/E5ToolBarDialog.ui" line="14"/>
@@ -17664,26 +17903,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1230"/>
-        <source>Manage Certificates</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1230"/>
-        <source>Manage Certificates...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1234"/>
-        <source>Manage the saved certificates</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1236"/>
-        <source>&lt;b&gt;Manage Saved Certificates...&lt;/b&gt;&lt;p&gt;Opens a dialog to manage the saved certificates.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="1615"/>
         <source>VirusTotal</source>
         <translation type="unfinished"></translation>
@@ -17958,6 +18177,26 @@
         <source>&lt;p&gt;The Qt Style Sheet file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;br&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="obsolete">&lt;p&gt;Soubor Qt Style Sheet &lt;b&gt;{0}&lt;/b&gt; nelze vytvořit.&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1230"/>
+        <source>Manage SSL Certificates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1230"/>
+        <source>Manage SSL Certificates...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1234"/>
+        <source>Manage the saved SSL certificates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1236"/>
+        <source>&lt;b&gt;Manage SSL Certificates...&lt;/b&gt;&lt;p&gt;Opens a dialog to manage the saved SSL certificates.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Hg</name>
@@ -19304,12 +19543,12 @@
         <translation>Vynutit operaci</translation>
     </message>
     <message>
-        <location filename="Plugins/VcsPlugins/vcsMercurial/HgCopyDialog.py" line="44"/>
+        <location filename="Plugins/VcsPlugins/vcsMercurial/HgCopyDialog.py" line="46"/>
         <source>Mercurial Move</source>
         <translation>Mercurial přesun</translation>
     </message>
     <message>
-        <location filename="Plugins/VcsPlugins/vcsMercurial/HgCopyDialog.py" line="79"/>
+        <location filename="Plugins/VcsPlugins/vcsMercurial/HgCopyDialog.py" line="81"/>
         <source>Select target</source>
         <translation>Vybrat cíl</translation>
     </message>
@@ -42168,240 +42407,9 @@
 <context>
     <name>SslCertificatesDialog</name>
     <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="14"/>
-        <source>SSL Certificate Manager</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="27"/>
-        <source>&amp;Servers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="33"/>
-        <source>You have saved certificates identifying these servers:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="140"/>
-        <source>Certificate name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="46"/>
-        <source>Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="145"/>
-        <source>Expiry Date</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="158"/>
-        <source>Press to view the selected certificate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="161"/>
-        <source>&amp;View...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="194"/>
-        <source>Press to delete the selected certificate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="197"/>
-        <source>&amp;Delete...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="126"/>
-        <source>Certificate &amp;Authorities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="132"/>
-        <source>You have saved certificates identifying these certification authorities:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="274"/>
-        <source>(Unknown)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="276"/>
-        <source>(Unknown common name)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="127"/>
-        <source>Delete Server Certificate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="127"/>
-        <source>&lt;p&gt;Shall the server certificate really be deleted?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;If the server certificate is deleted, the normal security checks will be reinstantiated and the server has to present a valid certificate.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="168"/>
-        <source>Press to import a certificate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="171"/>
-        <source>&amp;Import...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="181"/>
-        <source>Press to export the selected certificate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="184"/>
-        <source>&amp;Export...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="445"/>
-        <source>Import Certificate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="363"/>
-        <source>&lt;p&gt;The certificate &lt;b&gt;{0}&lt;/b&gt; already exists. Skipping.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="319"/>
-        <source>Delete CA Certificate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="319"/>
-        <source>&lt;p&gt;Shall the CA certificate really be deleted?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;If the CA certificate is deleted, the browser will not trust any certificate issued by this CA.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="455"/>
-        <source>Export Certificate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="399"/>
-        <source>Certificate File (PEM) (*.pem);;Certificate File (DER) (*.der)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="Helpviewer/SslCertificatesDialog.py" line="415"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
-        <translation type="unfinished">&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; již existuje.&lt;/p&gt;&lt;p&gt;Má se přepsat?&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="425"/>
-        <source>&lt;p&gt;The certificate could not be written to file &lt;b&gt;{0}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="445"/>
-        <source>Certificate Files (*.pem *.crt *.der *.cer *.ca);;All Files (*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="455"/>
-        <source>&lt;p&gt;The certificate could not be read from file &lt;b&gt;{0}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SslInfoDialog</name>
-    <message>
-        <location filename="Helpviewer/SslInfoDialog.ui" line="14"/>
-        <source>SSL Certificate Info</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SslInfoWidget</name>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="17"/>
-        <source>This certificated has been blacklisted.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="24"/>
-        <source>&lt;b&gt;Issued for&lt;/b&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="118"/>
-        <source>Common Name (CN)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="138"/>
-        <source>Organization (O)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="158"/>
-        <source>Organizational Unit (OU)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="91"/>
-        <source>Serialnumber</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="111"/>
-        <source>&lt;b&gt;Issued by&lt;/b&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="178"/>
-        <source>&lt;b&gt;Validity&lt;/b&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="185"/>
-        <source>Issued on</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="205"/>
-        <source>Expires on</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="225"/>
-        <source>This certificate is not valid yet or has expired.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="232"/>
-        <source>&lt;b&gt;Fingerprints&lt;/b&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="239"/>
-        <source>SHA1-Fingerprint</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="259"/>
-        <source>MD5-Fingerprint</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.py" line="111"/>
-        <source>&lt;not part of the certificate&gt;</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; již existuje.&lt;/p&gt;&lt;p&gt;Má se přepsat?&lt;/p&gt;</translation>
     </message>
 </context>
 <context>
@@ -44064,12 +44072,12 @@
         <translation>Cíl:</translation>
     </message>
     <message>
-        <location filename="Plugins/VcsPlugins/vcsPySvn/SvnCopyDialog.py" line="44"/>
+        <location filename="Plugins/VcsPlugins/vcsPySvn/SvnCopyDialog.py" line="46"/>
         <source>Subversion Move</source>
         <translation>Subversion přesun</translation>
     </message>
     <message>
-        <location filename="Plugins/VcsPlugins/vcsPySvn/SvnCopyDialog.py" line="79"/>
+        <location filename="Plugins/VcsPlugins/vcsPySvn/SvnCopyDialog.py" line="81"/>
         <source>Select target</source>
         <translation>Vybrat cíl</translation>
     </message>
@@ -52047,7 +52055,7 @@
 <context>
     <name>UrlBar</name>
     <message>
-        <location filename="Helpviewer/UrlBar/UrlBar.py" line="199"/>
+        <location filename="Helpviewer/UrlBar/UrlBar.py" line="198"/>
         <source>Unknown</source>
         <translation type="unfinished">Neznámý</translation>
     </message>
@@ -52547,7 +52555,7 @@
         <translation>Zjistit akt&amp;ualizace...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2704"/>
+        <location filename="UI/UserInterface.py" line="2721"/>
         <source>Report Bug</source>
         <translation>Reportovat Bugy</translation>
     </message>
@@ -52567,7 +52575,7 @@
         <translation>&lt;b&gt;Reportovat bug...&lt;/b&gt;&lt;p&gt;Otevře se dialog pro reportování bugu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2319"/>
+        <location filename="UI/UserInterface.py" line="2336"/>
         <source>Unittest</source>
         <translation></translation>
     </message>
@@ -52627,7 +52635,7 @@
         <translation>&lt;b&gt;Unittest Script&lt;/b&gt;&lt;p&gt;Spustit unittest s aktuálním skriptem.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3704"/>
+        <location filename="UI/UserInterface.py" line="3721"/>
         <source>Unittest Project</source>
         <translation>Unittest Projekt</translation>
     </message>
@@ -52822,7 +52830,7 @@
         <translation>&lt;b&gt;Klávesové zkratky&lt;/b&gt;&lt;p&gt;Nastavení klávesových zkratek aplikace podle zvyklostí uživatele.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4793"/>
+        <location filename="UI/UserInterface.py" line="4810"/>
         <source>Export Keyboard Shortcuts</source>
         <translation>Exportovat klávesové zkratky</translation>
     </message>
@@ -52842,7 +52850,7 @@
         <translation>&lt;b&gt;Export klávesových zkratek&lt;/b&gt;&lt;p&gt;Exportují se klávesové zkratky z aplikace.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4816"/>
+        <location filename="UI/UserInterface.py" line="4833"/>
         <source>Import Keyboard Shortcuts</source>
         <translation>Import klávesových zkratek</translation>
     </message>
@@ -52862,62 +52870,62 @@
         <translation>&lt;b&gt;Import klávesových zkratek&lt;/b&gt;&lt;p&gt;Do aplikace se importují klávesové zkratky.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1915"/>
+        <location filename="UI/UserInterface.py" line="1929"/>
         <source>Activate current editor</source>
         <translation>Aktivovat aktuální editor</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1915"/>
+        <location filename="UI/UserInterface.py" line="1929"/>
         <source>Alt+Shift+E</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1924"/>
+        <location filename="UI/UserInterface.py" line="1938"/>
         <source>Ctrl+Alt+Tab</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1932"/>
+        <location filename="UI/UserInterface.py" line="1946"/>
         <source>Shift+Ctrl+Alt+Tab</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2011"/>
+        <location filename="UI/UserInterface.py" line="2025"/>
         <source>Qt4 Documentation</source>
         <translation>Qt4 dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2011"/>
+        <location filename="UI/UserInterface.py" line="2025"/>
         <source>Qt&amp;4 Documentation</source>
         <translation>Qt&amp;4 dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2013"/>
+        <location filename="UI/UserInterface.py" line="2027"/>
         <source>Open Qt4 Documentation</source>
         <translation>Otevřít Qt4 dokumentaci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2014"/>
+        <location filename="UI/UserInterface.py" line="2028"/>
         <source>&lt;b&gt;Qt4 Documentation&lt;/b&gt;&lt;p&gt;Display the Qt4 Documentation. Dependant upon your settings, this will either show the help in Eric&apos;s internal help viewer, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation>&lt;b&gt;Qt4 dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit Qt4 dokumentaci. V závislosti na vašich nastaveních zobrazí interní Eric prohlížeč nápovědy nebo spustí webový prohlížeč nebo Qt Assistant.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2035"/>
+        <location filename="UI/UserInterface.py" line="2049"/>
         <source>PyQt4 Documentation</source>
         <translation>PyQt4 dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2035"/>
+        <location filename="UI/UserInterface.py" line="2049"/>
         <source>P&amp;yQt4 Documentation</source>
         <translation>P&amp;yQt4 dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2037"/>
+        <location filename="UI/UserInterface.py" line="2051"/>
         <source>Open PyQt4 Documentation</source>
         <translation>Otevřít PyQt4 dokumentaci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2038"/>
+        <location filename="UI/UserInterface.py" line="2052"/>
         <source>&lt;b&gt;PyQt4 Documentation&lt;/b&gt;&lt;p&gt;Display the PyQt4 Documentation. Dependant upon your settings, this will either show the help in Eric&apos;s internal help viewer, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation>&lt;b&gt;PyQt4 dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit PyQt4 dokumentaci. V závislosti na vašich nastaveních zobrazí interní Eric prohlížeč nápovědy nebo spustí webový prohlížeč nebo Qt Assistant.&lt;/p&gt;</translation>
     </message>
@@ -52942,172 +52950,172 @@
         <translation type="obsolete">&lt;b&gt;Python dokumentace&lt;/b&gt;&lt;p&gt;Zobrazí python dokumentaci. Pokud není adresář dokumentace nastaven, tak ve Windows se dokumentace hledá v adresáři odkud se python spouští a na Unixu v doc adresáři &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt;. Pokud chcete jiný, nastavte si proměnnou prostředí PYTHONDOCDIR.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2087"/>
+        <location filename="UI/UserInterface.py" line="2101"/>
         <source>Eric API Documentation</source>
         <translation>Eric API dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2087"/>
+        <location filename="UI/UserInterface.py" line="2101"/>
         <source>&amp;Eric API Documentation</source>
         <translation>&amp;Eric API dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2089"/>
+        <location filename="UI/UserInterface.py" line="2103"/>
         <source>Open Eric API Documentation</source>
         <translation>Otevřít Eric API dokumentaci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2145"/>
+        <location filename="UI/UserInterface.py" line="2159"/>
         <source>&amp;Unittest</source>
         <translation>&amp;Unittest</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2162"/>
+        <location filename="UI/UserInterface.py" line="2176"/>
         <source>E&amp;xtras</source>
         <translation>E&amp;xtra funkce</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2174"/>
+        <location filename="UI/UserInterface.py" line="2188"/>
         <source>&amp;Tools</source>
         <translation>&amp;Nástroje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2177"/>
+        <location filename="UI/UserInterface.py" line="2191"/>
         <source>Select Tool Group</source>
         <translation>Vybrat skupinu nástrojů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2183"/>
+        <location filename="UI/UserInterface.py" line="2197"/>
         <source>Se&amp;ttings</source>
         <translation>Nas&amp;tavení</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2201"/>
+        <location filename="UI/UserInterface.py" line="2218"/>
         <source>&amp;Window</source>
         <translation>O&amp;kno</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2226"/>
+        <location filename="UI/UserInterface.py" line="2243"/>
         <source>&amp;Toolbars</source>
         <translation>&amp;Toolbary</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2251"/>
+        <location filename="UI/UserInterface.py" line="2268"/>
         <source>&amp;Help</source>
         <translation>&amp;Nápověda</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2318"/>
+        <location filename="UI/UserInterface.py" line="2335"/>
         <source>Tools</source>
         <translation>Nástroje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2320"/>
+        <location filename="UI/UserInterface.py" line="2337"/>
         <source>Settings</source>
         <translation>Nastavení</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3927"/>
+        <location filename="UI/UserInterface.py" line="3944"/>
         <source>Help</source>
         <translation>Nápověda</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2322"/>
+        <location filename="UI/UserInterface.py" line="2339"/>
         <source>Profiles</source>
         <translation>Profily</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2653"/>
+        <location filename="UI/UserInterface.py" line="2670"/>
         <source>&lt;h3&gt;Version Numbers&lt;/h3&gt;&lt;table&gt;</source>
         <translation>&lt;h3&gt;Čísla verzí&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5482"/>
+        <location filename="UI/UserInterface.py" line="5508"/>
         <source>&lt;/table&gt;</source>
         <translation>&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2704"/>
+        <location filename="UI/UserInterface.py" line="2721"/>
         <source>Email address or mail server address is empty. Please configure your Email settings in the Preferences Dialog.</source>
         <translation>Emailová adresa nebo mail server adresa jsou prázdné. Prosím, nastavte váš email v dialogovém okně Nastavení.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2978"/>
+        <location filename="UI/UserInterface.py" line="2995"/>
         <source>Configure Tool Groups ...</source>
         <translation>Konfigurace Skupin nástrojů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2981"/>
+        <location filename="UI/UserInterface.py" line="2998"/>
         <source>Configure current Tool Group ...</source>
         <translation>Konfigurace aktuální skupiny nástrojů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3030"/>
+        <location filename="UI/UserInterface.py" line="3047"/>
         <source>&amp;Builtin Tools</source>
         <translation>&amp;Vestavěné nástroje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3704"/>
+        <location filename="UI/UserInterface.py" line="3721"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>V aktuálním projektu není definován hlavní skript. Zrušeno</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4035"/>
+        <location filename="UI/UserInterface.py" line="4052"/>
         <source>Problem</source>
         <translation>Problém</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4187"/>
+        <location filename="UI/UserInterface.py" line="4204"/>
         <source>Process Generation Error</source>
         <translation>Chyba v procesu generování</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3927"/>
+        <location filename="UI/UserInterface.py" line="3944"/>
         <source>Currently no custom viewer is selected. Please use the preferences dialog to specify one.</source>
         <translation>Aktuálně není vybrán žádný prohlížeč. Prosím otevřete Nastavení a nějaký vyberte.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3958"/>
+        <location filename="UI/UserInterface.py" line="3975"/>
         <source>&lt;p&gt;Could not start the help viewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;hh&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit prohlížeč nápovědy.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;hh&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4553"/>
+        <location filename="UI/UserInterface.py" line="4570"/>
         <source>Documentation Missing</source>
         <translation>Dokumentace chybí</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4538"/>
+        <location filename="UI/UserInterface.py" line="4555"/>
         <source>Documentation</source>
         <translation>Dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4447"/>
+        <location filename="UI/UserInterface.py" line="4464"/>
         <source>&lt;p&gt;The PyQt4 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Adresář PyQt4 dokumentace není nakonfigurován.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4937"/>
+        <location filename="UI/UserInterface.py" line="4963"/>
         <source>Save tasks</source>
         <translation>Uložit úlohy</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4959"/>
+        <location filename="UI/UserInterface.py" line="4985"/>
         <source>Read tasks</source>
         <translation>Načíst úlohy</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5169"/>
+        <location filename="UI/UserInterface.py" line="5195"/>
         <source>Drop Error</source>
         <translation>Zahodit chybu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5448"/>
+        <location filename="UI/UserInterface.py" line="5474"/>
         <source>Error during updates check</source>
         <translation>Chyba během zjišťování aktualizací</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5435"/>
+        <location filename="UI/UserInterface.py" line="5461"/>
         <source>Update available</source>
         <translation>Byla nalezena aktualizace</translation>
     </message>
@@ -53122,17 +53130,17 @@
         <translation>Zobrazit externí nás&amp;troje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5448"/>
+        <location filename="UI/UserInterface.py" line="5474"/>
         <source>Could not perform updates check.</source>
         <translation>Kontrolu updatů nelze provést.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5307"/>
+        <location filename="UI/UserInterface.py" line="5333"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Zrušit</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5509"/>
+        <location filename="UI/UserInterface.py" line="5535"/>
         <source>First time usage</source>
         <translation>Spuštěno poprvé</translation>
     </message>
@@ -53142,62 +53150,62 @@
         <translation>Inicializace Plugin manažera...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2237"/>
+        <location filename="UI/UserInterface.py" line="2254"/>
         <source>P&amp;lugins</source>
         <translation>P&amp;luginy</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2323"/>
+        <location filename="UI/UserInterface.py" line="2340"/>
         <source>Plugins</source>
         <translation>Pluginy</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1948"/>
+        <location filename="UI/UserInterface.py" line="1962"/>
         <source>Plugin Infos</source>
         <translation>Plugin Infa</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1951"/>
+        <location filename="UI/UserInterface.py" line="1965"/>
         <source>Show Plugin Infos</source>
         <translation>Zobrazit Plugin infa</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1952"/>
+        <location filename="UI/UserInterface.py" line="1966"/>
         <source>&lt;b&gt;Plugin Infos...&lt;/b&gt;&lt;p&gt;This opens a dialog, that show some information about loaded plugins.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Plugin Infa&lt;/b&gt;&lt;p&gt;Otevře dialog, který zobrazí informace o načtených pluginech.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1948"/>
+        <location filename="UI/UserInterface.py" line="1962"/>
         <source>&amp;Plugin Infos...</source>
         <translation>&amp;Plugin Infa...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3038"/>
+        <location filename="UI/UserInterface.py" line="3055"/>
         <source>&amp;Plugin Tools</source>
         <translation>&amp;Plugin nástroje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1974"/>
+        <location filename="UI/UserInterface.py" line="1988"/>
         <source>Uninstall Plugin</source>
         <translation>Odinstalovat plugin</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1971"/>
+        <location filename="UI/UserInterface.py" line="1985"/>
         <source>&amp;Uninstall Plugin...</source>
         <translation>&amp;Odinstalovat plugin...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1975"/>
+        <location filename="UI/UserInterface.py" line="1989"/>
         <source>&lt;b&gt;Uninstall Plugin...&lt;/b&gt;&lt;p&gt;This opens a dialog to uninstall a plugin.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Odinstalovat plugin...&lt;/b&gt;&lt;p&gt;Otevře dialog pro odinstalaci pluginu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3128"/>
+        <location filename="UI/UserInterface.py" line="3145"/>
         <source>&amp;Show all</source>
         <translation>&amp;Zobrazit vše</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3130"/>
+        <location filename="UI/UserInterface.py" line="3147"/>
         <source>&amp;Hide all</source>
         <translation>&amp;Skrýt vše</translation>
     </message>
@@ -53207,7 +53215,7 @@
         <translation>Aktivace pluginů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2167"/>
+        <location filename="UI/UserInterface.py" line="2181"/>
         <source>Wi&amp;zards</source>
         <translation>&amp;Průvodci</translation>
     </message>
@@ -53237,42 +53245,42 @@
         <translation type="obsolete">Nelze stáhnout soubor s verzemi.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5469"/>
+        <location filename="UI/UserInterface.py" line="5495"/>
         <source>&lt;h3&gt;Available versions&lt;/h3&gt;&lt;table&gt;</source>
         <translation>&lt;h3&gt;Dostupné verze&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1982"/>
+        <location filename="UI/UserInterface.py" line="1996"/>
         <source>Plugin Repository</source>
         <translation>Repozitář pluginů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1982"/>
+        <location filename="UI/UserInterface.py" line="1996"/>
         <source>Plugin &amp;Repository...</source>
         <translation>&amp;Repozitář pluginů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1985"/>
+        <location filename="UI/UserInterface.py" line="1999"/>
         <source>Show Plugins available for download</source>
         <translation>Zobrazit pluginy dostupné ke stažení</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1987"/>
+        <location filename="UI/UserInterface.py" line="2001"/>
         <source>&lt;b&gt;Plugin Repository...&lt;/b&gt;&lt;p&gt;This opens a dialog, that shows a list of plugins available on the Internet.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Repozitář pluginů...&lt;/b&gt;&lt;p&gt;Otevře se dialog, který zobrazí seznam pluginů dostupných ke stažení přes internet.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1963"/>
+        <location filename="UI/UserInterface.py" line="1977"/>
         <source>Install Plugins</source>
         <translation>Instalovat pluginy</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1960"/>
+        <location filename="UI/UserInterface.py" line="1974"/>
         <source>&amp;Install Plugins...</source>
         <translation>&amp;Instalovat pluginy...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1964"/>
+        <location filename="UI/UserInterface.py" line="1978"/>
         <source>&lt;b&gt;Install Plugins...&lt;/b&gt;&lt;p&gt;This opens a dialog to install or update plugins.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Instalovat pluginy...&lt;/b&gt;&lt;p&gt;Otevře dialog pro instalaci nebo aktualizaci pluginů.&lt;/p&gt;</translation>
     </message>
@@ -53327,7 +53335,7 @@
         <translation>Obnovit manažer nástrojových lišt...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4135"/>
+        <location filename="UI/UserInterface.py" line="4152"/>
         <source>External Tools</source>
         <translation>Externí nástroje</translation>
     </message>
@@ -53362,22 +53370,22 @@
         <translation type="obsolete">Proh&amp;lížeč šablon</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4974"/>
+        <location filename="UI/UserInterface.py" line="5000"/>
         <source>Save session</source>
         <translation>Uložit relaci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4997"/>
+        <location filename="UI/UserInterface.py" line="5023"/>
         <source>Read session</source>
         <translation>Načíst relaci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2472"/>
+        <location filename="UI/UserInterface.py" line="2489"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors encoding.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje aktuální kódování editorů.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2486"/>
+        <location filename="UI/UserInterface.py" line="2503"/>
         <source>&lt;p&gt;This part of the status bar displays an indication of the current editors files writability.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje indikátor práva zápisu editoru do souboru.&lt;/p&gt;</translation>
     </message>
@@ -53407,7 +53415,7 @@
         <translation>&lt;b&gt;Požadavek na vlastnost...&lt;/b&gt;&lt;p&gt;Otevře dialog pro odeslání požadavku.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2465"/>
+        <location filename="UI/UserInterface.py" line="2482"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors language.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje aktuální jazyk editoru.&lt;/p&gt;</translation>
     </message>
@@ -53417,12 +53425,12 @@
         <translation type="obsolete">&lt;p&gt;Tato část statusbaru zobrazuje jméno souboru v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2493"/>
+        <location filename="UI/UserInterface.py" line="2510"/>
         <source>&lt;p&gt;This part of the status bar displays the line number of the current editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje číslo řádku v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2500"/>
+        <location filename="UI/UserInterface.py" line="2517"/>
         <source>&lt;p&gt;This part of the status bar displays the cursor position of the current editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje pozici kurzoru v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
@@ -53467,12 +53475,12 @@
         <translation>&lt;b&gt;Přepnout vodorovnou nástrojovou lištu&lt;/b&gt;&lt;p&gt;Pokud je vodorovná nástrojová lišta skryta, tak se zobrazí. Je-li zobrazena, skryje se.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2946"/>
+        <location filename="UI/UserInterface.py" line="2963"/>
         <source>Restart application</source>
         <translation>Restartovat aplikaci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2946"/>
+        <location filename="UI/UserInterface.py" line="2963"/>
         <source>The application needs to be restarted. Do it now?</source>
         <translation>Aplikace potřebuje restartovat. Má se provést nyní?</translation>
     </message>
@@ -53512,22 +53520,22 @@
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2246"/>
+        <location filename="UI/UserInterface.py" line="2263"/>
         <source>Configure...</source>
         <translation>Konfigurovat...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2479"/>
+        <location filename="UI/UserInterface.py" line="2496"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors eol setting.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje eol nastavení v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1940"/>
+        <location filename="UI/UserInterface.py" line="1954"/>
         <source>Switch between tabs</source>
         <translation>Přepnout mezi taby</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1940"/>
+        <location filename="UI/UserInterface.py" line="1954"/>
         <source>Ctrl+1</source>
         <translation></translation>
     </message>
@@ -53572,12 +53580,12 @@
         <translation>&lt;b&gt;Import předvoleb&lt;/b&gt;&lt;p&gt;Import dříve exportované konfigurace.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1924"/>
+        <location filename="UI/UserInterface.py" line="1938"/>
         <source>Show next</source>
         <translation>Zobrazit další</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1932"/>
+        <location filename="UI/UserInterface.py" line="1946"/>
         <source>Show previous</source>
         <translation>Zobrazit předchozí</translation>
     </message>
@@ -53707,32 +53715,32 @@
         <translation>Editor &amp;ikon...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3879"/>
+        <location filename="UI/UserInterface.py" line="3896"/>
         <source>Qt 3 support</source>
         <translation>Qt 3 podpora</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2105"/>
+        <location filename="UI/UserInterface.py" line="2119"/>
         <source>PySide Documentation</source>
         <translation>PySide dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2105"/>
+        <location filename="UI/UserInterface.py" line="2119"/>
         <source>Py&amp;Side Documentation</source>
         <translation>Py&amp;Side dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2107"/>
+        <location filename="UI/UserInterface.py" line="2121"/>
         <source>Open PySide Documentation</source>
         <translation>Otevřít PySide dokumentaci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2108"/>
+        <location filename="UI/UserInterface.py" line="2122"/>
         <source>&lt;b&gt;PySide Documentation&lt;/b&gt;&lt;p&gt;Display the PySide Documentation. Dependant upon your settings, this will either show the help in Eric&apos;s internal help viewer, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation>&lt;b&gt;PySide dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit PySide dokumentaci. V závislosti na vašich nastaveních zobrazí interní Eric prohlížeč nápovědy nebo spustí webový prohlížeč nebo Qt Assistant.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4538"/>
+        <location filename="UI/UserInterface.py" line="4555"/>
         <source>&lt;p&gt;The PySide documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Počátek dokumentace PySide nebyl nastaven.&lt;/p&gt;</translation>
     </message>
@@ -53797,91 +53805,91 @@
         <translation>&lt;b&gt;Zobrazit externí nástroje&lt;/b&gt;&lt;p&gt;Otevře dialog pro zobrazení cesty a verze externích nástrojů používaných Eric5.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2090"/>
+        <location filename="UI/UserInterface.py" line="2104"/>
         <source>&lt;b&gt;Eric API Documentation&lt;/b&gt;&lt;p&gt;Display the Eric API documentation. The location for the documentation is the Documentation/Source subdirectory of the eric5 installation directory.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Eric API dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit Eric API dokumentaci. Umístění dokumentace je v podadresáři Documentation/Source v instalačním adresáři eric5.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2567"/>
+        <location filename="UI/UserInterface.py" line="2584"/>
         <source>External Tools/{0}</source>
         <translation>Externí nástroje/{0}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3879"/>
+        <location filename="UI/UserInterface.py" line="3896"/>
         <source>Qt v.3 is not supported by eric5.</source>
         <translation>Qt v.3 není podporováno v eric5.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4035"/>
+        <location filename="UI/UserInterface.py" line="4052"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; does not exist or is zero length.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; neexistuje nebo má nulovou délku.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3799"/>
+        <location filename="UI/UserInterface.py" line="3816"/>
         <source>&lt;p&gt;Could not start Qt-Designer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit Qt-Designer.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3856"/>
+        <location filename="UI/UserInterface.py" line="3873"/>
         <source>&lt;p&gt;Could not start Qt-Linguist.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit Qt-Linguist.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3900"/>
+        <location filename="UI/UserInterface.py" line="3917"/>
         <source>&lt;p&gt;Could not start Qt-Assistant.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit Qt-Assistant.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3939"/>
+        <location filename="UI/UserInterface.py" line="3956"/>
         <source>&lt;p&gt;Could not start custom viewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit aktuální prohlížeč.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3998"/>
+        <location filename="UI/UserInterface.py" line="4015"/>
         <source>&lt;p&gt;Could not start UI Previewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit UI Previewer.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4043"/>
+        <location filename="UI/UserInterface.py" line="4060"/>
         <source>&lt;p&gt;Could not start Translation Previewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit Previewer překladů.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4062"/>
+        <location filename="UI/UserInterface.py" line="4079"/>
         <source>&lt;p&gt;Could not start SQL Browser.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nelze spustit SQL Browser.&lt;br&gt;Ujistěte se, že je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4129"/>
+        <location filename="UI/UserInterface.py" line="4146"/>
         <source>No tool entry found for external tool &apos;{0}&apos; in tool group &apos;{1}&apos;.</source>
         <translation>V externím nástroji  &apos;{0}&apos; ve skupině &apos;{1}&apos; nebyl záznam nástroje nalezen.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4135"/>
+        <location filename="UI/UserInterface.py" line="4152"/>
         <source>No toolgroup entry &apos;{0}&apos; found.</source>
         <translation>Skupina nástrojů &apos;{0}&apos; nenalezena. </translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4171"/>
+        <location filename="UI/UserInterface.py" line="4188"/>
         <source>Starting process &apos;{0} {1}&apos;.
 </source>
         <translation>Spouštím proces &apos;{0} {1}&apos;.
 </translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4187"/>
+        <location filename="UI/UserInterface.py" line="4204"/>
         <source>&lt;p&gt;Could not start the tool entry &lt;b&gt;{0}&lt;/b&gt;.&lt;br&gt;Ensure that it is available as &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit příkaz &lt;b&gt;{0}&lt;/b&gt;&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{1}&lt;/b&gt;. &lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4264"/>
+        <location filename="UI/UserInterface.py" line="4281"/>
         <source>Process &apos;{0}&apos; has exited.
 </source>
         <translation>Proces &apos;{0}&apos; byl ukončen.
 </translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4553"/>
+        <location filename="UI/UserInterface.py" line="4570"/>
         <source>&lt;p&gt;The documentation starting point &quot;&lt;b&gt;{0}&lt;/b&gt;&quot; could not be found.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Adresář dokumentace &quot;&lt;b&gt;{0}&lt;/b&gt;&quot; nebyl nalezen.&lt;/p&gt;</translation>
     </message>
@@ -53901,12 +53909,12 @@
         <translation type="obsolete">Soubor klávesových zkratek (*.e4k *.e4kz)</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4937"/>
+        <location filename="UI/UserInterface.py" line="4963"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Do souboru s úlohami &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4959"/>
+        <location filename="UI/UserInterface.py" line="4985"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s úlohami &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
@@ -53916,12 +53924,12 @@
         <translation type="obsolete">&lt;p&gt;Soubor s úlohami &lt;b&gt;{0}&lt;/b&gt; je v nepodporovaném formátu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4974"/>
+        <location filename="UI/UserInterface.py" line="5000"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Zápis do souboru relace session &lt;b&gt;{0}&lt;/b&gt; se nezdařil.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4997"/>
+        <location filename="UI/UserInterface.py" line="5023"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor relace session &lt;b&gt;{0}&lt;/b&gt; nelze přečíst.&lt;/p&gt;</translation>
     </message>
@@ -53931,27 +53939,27 @@
         <translation type="obsolete">&lt;p&gt;Soubor relace (session) &lt;b&gt;{0}&lt;/b&gt; je v nepodporovaném formátu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5169"/>
+        <location filename="UI/UserInterface.py" line="5195"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; není soubor.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5312"/>
+        <location filename="UI/UserInterface.py" line="5338"/>
         <source>Trying host {0}</source>
         <translation>Zkouším host {0}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5435"/>
+        <location filename="UI/UserInterface.py" line="5461"/>
         <source>The update to &lt;b&gt;{0}&lt;/b&gt; of eric5 is available at &lt;b&gt;{1}&lt;/b&gt;. Would you like to get it?</source>
         <translation>Aktualizace &lt;b&gt;{0}&lt;/b&gt; eric5 je připravena na &lt;b&gt;{1}&lt;/b&gt;. Chcete ji stáhnout a nainstalovat?</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5444"/>
+        <location filename="UI/UserInterface.py" line="5470"/>
         <source>Eric5 is up to date</source>
         <translation>Eric5 je aktuální</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5444"/>
+        <location filename="UI/UserInterface.py" line="5470"/>
         <source>You are using the latest version of eric5</source>
         <translation>Používáte poslední verzi eric5</translation>
     </message>
@@ -53961,7 +53969,7 @@
         <translation type="obsolete">&lt;p&gt;SSL chyby:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;Chcete tyto chyby ignorovat?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5509"/>
+        <location filename="UI/UserInterface.py" line="5535"/>
         <source>eric5 has not been configured yet. The configuration dialog will be started.</source>
         <translation>eric5 nebyl ještě nakonfigurován. Bude spuštěn konfigurační dialog.</translation>
     </message>
@@ -54016,72 +54024,72 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4816"/>
+        <location filename="UI/UserInterface.py" line="4833"/>
         <source>Keyboard shortcut file (*.e4k)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2051"/>
+        <location filename="UI/UserInterface.py" line="2065"/>
         <source>Python 3 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2051"/>
+        <location filename="UI/UserInterface.py" line="2065"/>
         <source>Python &amp;3 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2053"/>
+        <location filename="UI/UserInterface.py" line="2067"/>
         <source>Open Python 3 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2054"/>
-        <source>&lt;b&gt;Python 3 Documentation&lt;/b&gt;&lt;p&gt;Display the Python 3 documentation. If no documentation directory is configured, the location of the Python 3 documentation is assumed to be the doc directory underneath the location of the Python 3 executable on Windows and &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt; on Unix. Set PYTHON3DOCDIR in your environment to override this. &lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2066"/>
-        <source>Python 2 Documentation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2066"/>
-        <source>Python &amp;2 Documentation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="UI/UserInterface.py" line="2068"/>
+        <source>&lt;b&gt;Python 3 Documentation&lt;/b&gt;&lt;p&gt;Display the Python 3 documentation. If no documentation directory is configured, the location of the Python 3 documentation is assumed to be the doc directory underneath the location of the Python 3 executable on Windows and &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt; on Unix. Set PYTHON3DOCDIR in your environment to override this. &lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2080"/>
+        <source>Python 2 Documentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2080"/>
+        <source>Python &amp;2 Documentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2082"/>
         <source>Open Python 2 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2069"/>
+        <location filename="UI/UserInterface.py" line="2083"/>
         <source>&lt;b&gt;Python 2 Documentation&lt;/b&gt;&lt;p&gt;Display the Python 2 documentation. If no documentation directory is configured, the location of the Python 2 documentation is assumed to be the doc directory underneath the location of the configured Python 2 executable on Windows and &lt;i&gt;/usr/share/doc/packages/python/html/python-docs-html&lt;/i&gt; on Unix. Set PYTHON2DOCDIR in your environment to override this. &lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5362"/>
+        <location filename="UI/UserInterface.py" line="5388"/>
         <source>Error getting versions information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5356"/>
+        <location filename="UI/UserInterface.py" line="5382"/>
         <source>The versions information could not be downloaded. Please go online and try again.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4639"/>
+        <location filename="UI/UserInterface.py" line="4656"/>
         <source>Open Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4639"/>
+        <location filename="UI/UserInterface.py" line="4656"/>
         <source>Could not start a web browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5362"/>
+        <location filename="UI/UserInterface.py" line="5388"/>
         <source>The versions information could not be downloaded for the last 7 days. Please go online and try again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -54192,12 +54200,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4109"/>
+        <location filename="UI/UserInterface.py" line="4126"/>
         <source>&lt;p&gt;Could not start Snapshot tool.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5527"/>
+        <location filename="UI/UserInterface.py" line="5553"/>
         <source>Select Workspace Directory</source>
         <translation type="unfinished"></translation>
     </message>
@@ -54427,7 +54435,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2206"/>
+        <location filename="UI/UserInterface.py" line="2223"/>
         <source>&amp;Windows</source>
         <translation type="unfinished">&amp;Windows</translation>
     </message>
@@ -54502,30 +54510,50 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2023"/>
+        <location filename="UI/UserInterface.py" line="2037"/>
         <source>Qt5 Documentation</source>
         <translation type="unfinished">Qt4 dokumentace {5 ?}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2023"/>
+        <location filename="UI/UserInterface.py" line="2037"/>
         <source>Qt&amp;5 Documentation</source>
         <translation type="unfinished">Qt&amp;4 dokumentace {5 ?}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2025"/>
+        <location filename="UI/UserInterface.py" line="2039"/>
         <source>Open Qt5 Documentation</source>
         <translation type="unfinished">Otevřít Qt4 dokumentaci {5 ?}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2026"/>
+        <location filename="UI/UserInterface.py" line="2040"/>
         <source>&lt;b&gt;Qt5 Documentation&lt;/b&gt;&lt;p&gt;Display the Qt5 Documentation. Dependant upon your settings, this will either show the help in Eric&apos;s internal help viewer, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Qt4 dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit Qt4 dokumentaci. V závislosti na vašich nastaveních zobrazí interní Eric prohlížeč nápovědy nebo spustí webový prohlížeč nebo Qt Assistant.&lt;/p&gt; {5 ?} {5 ?}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2510"/>
+        <location filename="UI/UserInterface.py" line="2527"/>
         <source>&lt;p&gt;This part of the status bar allows zooming the current editor, shell or terminal.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1916"/>
+        <source>Manage SSL Certificates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1916"/>
+        <source>Manage SSL Certificates...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1920"/>
+        <source>Manage the saved SSL certificates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1922"/>
+        <source>&lt;b&gt;Manage SSL Certificates...&lt;/b&gt;&lt;p&gt;Opens a dialog to manage the saved SSL certificates.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UserPropertiesDialog</name>
Binary file i18n/eric5_de.qm has changed
--- a/i18n/eric5_de.ts	Fri Jan 18 19:31:43 2013 +0100
+++ b/i18n/eric5_de.ts	Fri Jan 18 19:50:13 2013 +0100
@@ -7101,49 +7101,288 @@
     </message>
 </context>
 <context>
+    <name>E5SslCertificatesDialog</name>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="14"/>
+        <source>SSL Certificate Manager</source>
+        <translation>SSL Zertifikatmanager</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="27"/>
+        <source>&amp;Servers</source>
+        <translation>&amp;Server</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="33"/>
+        <source>You have saved certificates identifying these servers:</source>
+        <translation>Sie haben Zertifikate für diese Server gespeichert:</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="140"/>
+        <source>Certificate name</source>
+        <translation>Zertifikatname</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="46"/>
+        <source>Server</source>
+        <translation>Server</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="145"/>
+        <source>Expiry Date</source>
+        <translation>Läuft ab am</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="158"/>
+        <source>Press to view the selected certificate</source>
+        <translation>Drücken, um das ausgewählte Zertifikat anzusehen</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="161"/>
+        <source>&amp;View...</source>
+        <translation>&amp;Ansehen...</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="168"/>
+        <source>Press to import a certificate</source>
+        <translation>Drücken, um ein Zertifikat zu importieren</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="171"/>
+        <source>&amp;Import...</source>
+        <translation>&amp;Importieren...</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="181"/>
+        <source>Press to export the selected certificate</source>
+        <translation>Drücken, um das ausgewählte Zertifikat zu exportieren</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="184"/>
+        <source>&amp;Export...</source>
+        <translation>&amp;Exportieren...</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="194"/>
+        <source>Press to delete the selected certificate</source>
+        <translation>Drücken, um das ausgewählte Zertifikat zu löschen</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="197"/>
+        <source>&amp;Delete...</source>
+        <translation>&amp;Löschen...</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="126"/>
+        <source>Certificate &amp;Authorities</source>
+        <translation>&amp;Zertifizierungsstellen</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="132"/>
+        <source>You have saved certificates identifying these certification authorities:</source>
+        <translation>Sie haben Zertifikate für diese Zertifizierungsstellen gespeichert:</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="274"/>
+        <source>(Unknown)</source>
+        <translation>(Unbekannt)</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="276"/>
+        <source>(Unknown common name)</source>
+        <translation>(Unbekannter allgemeiner Name)</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="127"/>
+        <source>Delete Server Certificate</source>
+        <translation>Serverzertifikat löschen</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="127"/>
+        <source>&lt;p&gt;Shall the server certificate really be deleted?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;If the server certificate is deleted, the normal security checks will be reinstantiated and the server has to present a valid certificate.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Soll das Serverzertifikat wirklich gelöscht werden?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;Wenn das Serverzertifikat gelöscht wird, werden die normalen Sicherheitsprüfungen reaktiviert und der Server muss ein gültiges Zertifikat vorweisen.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="445"/>
+        <source>Import Certificate</source>
+        <translation>Zertifikat importieren</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="363"/>
+        <source>&lt;p&gt;The certificate &lt;b&gt;{0}&lt;/b&gt; already exists. Skipping.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Das Zertifikat &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Überspringe es.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="319"/>
+        <source>Delete CA Certificate</source>
+        <translation>Zertifikat einer Zertifizierungsstelle löschen</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="319"/>
+        <source>&lt;p&gt;Shall the CA certificate really be deleted?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;If the CA certificate is deleted, the browser will not trust any certificate issued by this CA.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Soll das Zertifikat der Zertifizierungsstelle wirklich gelöscht werden?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;Wenn das Zertifikat einer Zertifizierungsstelle gelöscht wird, vertraut der Browser keinem Zertifikat, das von dieser Zertifizierungsstelle herausgegeben wurde.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="455"/>
+        <source>Export Certificate</source>
+        <translation>Zertifikat exportieren</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="399"/>
+        <source>Certificate File (PEM) (*.pem);;Certificate File (DER) (*.der)</source>
+        <translation>Zertifikat Datei (PEM) (*.pem);;Zertifikat Datei (DER) (*.der)</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="415"/>
+        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Überschreiben?&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="425"/>
+        <source>&lt;p&gt;The certificate could not be written to file &lt;b&gt;{0}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Das Zertifikat konnte nicht in die Datei &lt;b&gt;{0}&lt;/b&gt; geschrieben werden.&lt;/p&gt;&lt;p&gt;Fehler: {1}&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="445"/>
+        <source>Certificate Files (*.pem *.crt *.der *.cer *.ca);;All Files (*)</source>
+        <translation>Zertifikat Dateien (*.pem *.crt *.der *.cer *.ca);;Alle Dateien (*)</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="455"/>
+        <source>&lt;p&gt;The certificate could not be read from file &lt;b&gt;{0}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Das Zertifikat konnte nicht aus der Datei &lt;b&gt;{0}&lt;/b&gt; gelesen werden.&lt;/p&gt;&lt;p&gt;Fehler: {1}&lt;/p&gt;</translation>
+    </message>
+</context>
+<context>
     <name>E5SslErrorHandler</name>
     <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="115"/>
+        <location filename="E5Network/E5SslErrorHandler.py" line="123"/>
         <source>SSL Errors</source>
         <translation>SSL Fehler</translation>
     </message>
     <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="115"/>
+        <location filename="E5Network/E5SslErrorHandler.py" line="123"/>
         <source>&lt;p&gt;SSL Errors for &lt;br /&gt;&lt;b&gt;{0}&lt;/b&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Do you want to ignore these errors?&lt;/p&gt;</source>
         <translation>&lt;p&gt;SSL Fehler für &lt;br /&gt;&lt;b&gt;{0}&lt;/b&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Sollen diese Fehler ignoriert werden?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="129"/>
+        <location filename="E5Network/E5SslErrorHandler.py" line="137"/>
         <source>Certificates</source>
         <translation>Zertifikate</translation>
     </message>
     <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="129"/>
+        <location filename="E5Network/E5SslErrorHandler.py" line="137"/>
         <source>&lt;p&gt;Certificates:&lt;br/&gt;{0}&lt;br/&gt;Do you want to accept all these certificates?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Zertifikate:&lt;br/&gt;{0}&lt;br/&gt;Sollen alle diese Zertifikate akzeptiert werden?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="184"/>
-        <source>Name: {0}</source>
-        <translation>Name: {0}</translation>
-    </message>
-    <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="188"/>
-        <source>&lt;br/&gt;Organization: {0}</source>
-        <translation>&lt;br/&gt;Organisation: {0}</translation>
-    </message>
-    <message>
         <location filename="E5Network/E5SslErrorHandler.py" line="192"/>
-        <source>&lt;br/&gt;Issuer: {0}</source>
-        <translation>&lt;br/&gt;Aussteller: {0}</translation>
+        <source>Name: {0}</source>
+        <translation>Name: {0}</translation>
     </message>
     <message>
         <location filename="E5Network/E5SslErrorHandler.py" line="196"/>
+        <source>&lt;br/&gt;Organization: {0}</source>
+        <translation>&lt;br/&gt;Organisation: {0}</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslErrorHandler.py" line="200"/>
+        <source>&lt;br/&gt;Issuer: {0}</source>
+        <translation>&lt;br/&gt;Aussteller: {0}</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslErrorHandler.py" line="204"/>
         <source>&lt;br/&gt;Not valid before: {0}&lt;br/&gt;Valid Until: {1}</source>
         <translation>&lt;br/&gt;Gültig ab: {0}&lt;br/&gt;Gültig bis: {1}</translation>
     </message>
 </context>
 <context>
+    <name>E5SslInfoDialog</name>
+    <message>
+        <location filename="E5Network/E5SslInfoDialog.ui" line="14"/>
+        <source>SSL Certificate Info</source>
+        <translation>SSL Zertifikatsinformationen</translation>
+    </message>
+</context>
+<context>
+    <name>E5SslInfoWidget</name>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="17"/>
+        <source>This certificated has been blacklisted.</source>
+        <translation>Dieses Zertifikat steht auf der schwarzen Liste.</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="24"/>
+        <source>&lt;b&gt;Issued for&lt;/b&gt;</source>
+        <translation>&lt;b&gt;Ausgestellt für&lt;/b&gt;</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="118"/>
+        <source>Common Name (CN)</source>
+        <translation>Allgemeiner Name (CN)</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="138"/>
+        <source>Organization (O)</source>
+        <translation>Organisation (O)</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="158"/>
+        <source>Organizational Unit (OU)</source>
+        <translation>Organisationseinheit (OU)</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="91"/>
+        <source>Serialnumber</source>
+        <translation>Seriennummer</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="111"/>
+        <source>&lt;b&gt;Issued by&lt;/b&gt;</source>
+        <translation>&lt;b&gt;Ausgestellt von&lt;/b&gt;</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="178"/>
+        <source>&lt;b&gt;Validity&lt;/b&gt;</source>
+        <translation>&lt;b&gt;Gültigkeit&lt;/b&gt;</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="185"/>
+        <source>Issued on</source>
+        <translation>Ausgestellt am</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="205"/>
+        <source>Expires on</source>
+        <translation>Läuft ab am</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="225"/>
+        <source>This certificate is not valid yet or has expired.</source>
+        <translation>Dieses Zertifikat ist noch nicht gültig oder ist abgelaufen.</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="232"/>
+        <source>&lt;b&gt;Fingerprints&lt;/b&gt;</source>
+        <translation>&lt;b&gt;Prüfsummen&lt;/b&gt;</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="239"/>
+        <source>SHA1-Fingerprint</source>
+        <translation>SHA1-Prüfsumme</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="259"/>
+        <source>MD5-Fingerprint</source>
+        <translation>MD5-Prüfsumme</translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.py" line="111"/>
+        <source>&lt;not part of the certificate&gt;</source>
+        <translation>&lt;kein Teil des Zertifikates&gt;</translation>
+    </message>
+</context>
+<context>
     <name>E5ToolBarDialog</name>
     <message>
         <location filename="E5Gui/E5ToolBarDialog.ui" line="14"/>
@@ -17088,26 +17327,6 @@
         <translation>&lt;b&gt;Downloads&lt;/b&gt;&lt;p&gt;Zeig das Downloadsfenster an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1230"/>
-        <source>Manage Certificates</source>
-        <translation>Zertifikate verwalten</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1230"/>
-        <source>Manage Certificates...</source>
-        <translation>Zertifikate verwalten...</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1234"/>
-        <source>Manage the saved certificates</source>
-        <translation>Verwalten der gespeicherten Zertifikate</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1236"/>
-        <source>&lt;b&gt;Manage Saved Certificates...&lt;/b&gt;&lt;p&gt;Opens a dialog to manage the saved certificates.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Gespeicherte Zertifikate verwalten...&lt;/b&gt;&lt;p&gt;Öffnet einen Dialog zur Verwaltung gespeicherter Zertifikate.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="1615"/>
         <source>VirusTotal</source>
         <translation>VirusTotal</translation>
@@ -17373,6 +17592,26 @@
         <source>&lt;b&gt;GreaseMonkey Scripts...&lt;/b&gt;&lt;p&gt;Opens a dialog to configure the available GreaseMonkey Scripts.&lt;/p&gt;</source>
         <translation>&lt;b&gt;GreaseMonkey Skripte...&lt;/b&gt;&lt;p&gt;Öffnet einen Dialog zur Konfiguration der verfügbaren GreaseMonkey Skripte.&lt;/p&gt;</translation>
     </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1230"/>
+        <source>Manage SSL Certificates</source>
+        <translation>SSL Zertifikate verwalten</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1230"/>
+        <source>Manage SSL Certificates...</source>
+        <translation>SSL Zertifikate verwalten...</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1234"/>
+        <source>Manage the saved SSL certificates</source>
+        <translation>Verwalten der gespeicherten SSL Zertifikate</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1236"/>
+        <source>&lt;b&gt;Manage SSL Certificates...&lt;/b&gt;&lt;p&gt;Opens a dialog to manage the saved SSL certificates.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;SSL Zertifikate verwalten...&lt;/b&gt;&lt;p&gt;Öffnet einen Dialog zur Verwaltung gespeicherter SSL Zertifikate.&lt;/p&gt;</translation>
+    </message>
 </context>
 <context>
     <name>Hg</name>
@@ -18671,12 +18910,12 @@
         <translation>Operation erzwingen</translation>
     </message>
     <message>
-        <location filename="Plugins/VcsPlugins/vcsMercurial/HgCopyDialog.py" line="44"/>
+        <location filename="Plugins/VcsPlugins/vcsMercurial/HgCopyDialog.py" line="46"/>
         <source>Mercurial Move</source>
         <translation>Mercurial Move</translation>
     </message>
     <message>
-        <location filename="Plugins/VcsPlugins/vcsMercurial/HgCopyDialog.py" line="79"/>
+        <location filename="Plugins/VcsPlugins/vcsMercurial/HgCopyDialog.py" line="81"/>
         <source>Select target</source>
         <translation>Wähle Ziel aus</translation>
     </message>
@@ -40492,245 +40731,6 @@
     </message>
 </context>
 <context>
-    <name>SslCertificatesDialog</name>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="14"/>
-        <source>SSL Certificate Manager</source>
-        <translation>SSL Zertifikatmanager</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="27"/>
-        <source>&amp;Servers</source>
-        <translation>&amp;Server</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="33"/>
-        <source>You have saved certificates identifying these servers:</source>
-        <translation>Sie habe Zertifikate für diese Server gespeichert:</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="140"/>
-        <source>Certificate name</source>
-        <translation>Zertifikatname</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="46"/>
-        <source>Server</source>
-        <translation>Server</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="145"/>
-        <source>Expiry Date</source>
-        <translation>Läuft ab am</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="158"/>
-        <source>Press to view the selected certificate</source>
-        <translation>Drücken, um das ausgewählte Zertifikat anzusehen</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="161"/>
-        <source>&amp;View...</source>
-        <translation>&amp;Ansehen...</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="194"/>
-        <source>Press to delete the selected certificate</source>
-        <translation>Drücken, um das ausgewählte Zertifikat zu löschen</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="197"/>
-        <source>&amp;Delete...</source>
-        <translation>&amp;Löschen...</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="126"/>
-        <source>Certificate &amp;Authorities</source>
-        <translation>&amp;Zertifizierungsstellen</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="132"/>
-        <source>You have saved certificates identifying these certification authorities:</source>
-        <translation>Sie habe Zertifikate für diese Zertifizierungsstellen gespeichert:</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="274"/>
-        <source>(Unknown)</source>
-        <translation>(Unbekannt)</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="276"/>
-        <source>(Unknown common name)</source>
-        <translation>(Unbekannter allgemeiner Name)</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="127"/>
-        <source>Delete Server Certificate</source>
-        <translation>Serverzertifikat löschen</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="127"/>
-        <source>&lt;p&gt;Shall the server certificate really be deleted?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;If the server certificate is deleted, the normal security checks will be reinstantiated and the server has to present a valid certificate.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Soll das Serverzertifikat wirklich gelöscht werden?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;Wenn das Serverzertifikat gelöscht wird, werden die normalen Sicherheitsprüfungen reaktiviert und der Server muss ein gültiges Zertifikat vorweisen.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="168"/>
-        <source>Press to import a certificate</source>
-        <translation>Drücken, um ein Zertifikat zu importieren</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="171"/>
-        <source>&amp;Import...</source>
-        <translation>&amp;Importieren...</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="181"/>
-        <source>Press to export the selected certificate</source>
-        <translation>Drücken, um das ausgewählte Zertifikat zu exportieren</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="184"/>
-        <source>&amp;Export...</source>
-        <translation>&amp;Exportieren...</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="445"/>
-        <source>Import Certificate</source>
-        <translation>Zertifikat importieren</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="363"/>
-        <source>&lt;p&gt;The certificate &lt;b&gt;{0}&lt;/b&gt; already exists. Skipping.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Das Zertifikat &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Überspringe es.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="319"/>
-        <source>Delete CA Certificate</source>
-        <translation>Zertifikat einer Zertifizierungsstelle löschen</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="319"/>
-        <source>&lt;p&gt;Shall the CA certificate really be deleted?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;If the CA certificate is deleted, the browser will not trust any certificate issued by this CA.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Soll das Zertifikat der Zertifizierungsstelle wirklich gelöscht werden?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;Wenn das Zertifikat einer Zertifizierungsstelle gelöscht wird, vertraut der browser keinem Zertifikat, das von dieser Zertifizierungsstelle herausgegeben wurde.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="455"/>
-        <source>Export Certificate</source>
-        <translation>Zertifikat exportieren</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="399"/>
-        <source>Certificate File (PEM) (*.pem);;Certificate File (DER) (*.der)</source>
-        <translation>Zertifikat Datei (PEM) (*.pem);;Zertifikat Datei (DER) (*.der)</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="415"/>
-        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Überschreiben?&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="425"/>
-        <source>&lt;p&gt;The certificate could not be written to file &lt;b&gt;{0}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Das Zertifikat konnte nicht in die Datei &lt;b&gt;{0}&lt;/b&gt; geschrieben werden.&lt;/p&gt;&lt;p&gt;Fehler: {1}&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="445"/>
-        <source>Certificate Files (*.pem *.crt *.der *.cer *.ca);;All Files (*)</source>
-        <translation>Zertifikat Dateien (*.pem *.crt *.der *.cer *.ca);;Alle Dateien (*)</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="455"/>
-        <source>&lt;p&gt;The certificate could not be read from file &lt;b&gt;{0}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Das Zertifikat konnte nicht aus der Datei &lt;b&gt;{0}&lt;/b&gt; gelesen werden.&lt;/p&gt;&lt;p&gt;Fehler: {1}&lt;/p&gt;</translation>
-    </message>
-</context>
-<context>
-    <name>SslInfoDialog</name>
-    <message>
-        <location filename="Helpviewer/SslInfoDialog.ui" line="14"/>
-        <source>SSL Certificate Info</source>
-        <translation>SSL Zertifikat</translation>
-    </message>
-</context>
-<context>
-    <name>SslInfoWidget</name>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="17"/>
-        <source>This certificated has been blacklisted.</source>
-        <translation>Dieses Zertifikat steht auf der schwarzen Liste.</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="24"/>
-        <source>&lt;b&gt;Issued for&lt;/b&gt;</source>
-        <translation>&lt;b&gt;Ausgestellt für&lt;/b&gt;</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="118"/>
-        <source>Common Name (CN)</source>
-        <translation>Allgemeiner Name (CN)</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="138"/>
-        <source>Organization (O)</source>
-        <translation>Organisation (O)</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="158"/>
-        <source>Organizational Unit (OU)</source>
-        <translation>Organisationseinheit (OU)</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="91"/>
-        <source>Serialnumber</source>
-        <translation>Seriennummer</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="111"/>
-        <source>&lt;b&gt;Issued by&lt;/b&gt;</source>
-        <translation>&lt;b&gt;Ausgestellt von&lt;/b&gt;</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="178"/>
-        <source>&lt;b&gt;Validity&lt;/b&gt;</source>
-        <translation>&lt;b&gt;Gültigkeit&lt;/b&gt;</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="185"/>
-        <source>Issued on</source>
-        <translation>Ausgestellt am</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="205"/>
-        <source>Expires on</source>
-        <translation>Läuft ab am</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="225"/>
-        <source>This certificate is not valid yet or has expired.</source>
-        <translation>Dieses Zertifikat ist noch nicht gültig oder ist abgelaufen.</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="232"/>
-        <source>&lt;b&gt;Fingerprints&lt;/b&gt;</source>
-        <translation>&lt;b&gt;Fingerabdrücke&lt;/b&gt;</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="239"/>
-        <source>SHA1-Fingerprint</source>
-        <translation>SHA1-Fingerabdruck</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="259"/>
-        <source>MD5-Fingerprint</source>
-        <translation>MD5-Fingerabdruck</translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.py" line="111"/>
-        <source>&lt;not part of the certificate&gt;</source>
-        <translation>&lt;kein Teil des Zertifikates&gt;</translation>
-    </message>
-</context>
-<context>
     <name>StartCoverageDialog</name>
     <message>
         <location filename="Debugger/StartCoverageDialog.ui" line="14"/>
@@ -42340,12 +42340,12 @@
 <context>
     <name>SvnCopyDialog</name>
     <message>
-        <location filename="Plugins/VcsPlugins/vcsPySvn/SvnCopyDialog.py" line="44"/>
+        <location filename="Plugins/VcsPlugins/vcsPySvn/SvnCopyDialog.py" line="46"/>
         <source>Subversion Move</source>
         <translation>Subversion Verschieben</translation>
     </message>
     <message>
-        <location filename="Plugins/VcsPlugins/vcsPySvn/SvnCopyDialog.py" line="79"/>
+        <location filename="Plugins/VcsPlugins/vcsPySvn/SvnCopyDialog.py" line="81"/>
         <source>Select target</source>
         <translation>Wähle Ziel aus</translation>
     </message>
@@ -50137,7 +50137,7 @@
 <context>
     <name>UrlBar</name>
     <message>
-        <location filename="Helpviewer/UrlBar/UrlBar.py" line="199"/>
+        <location filename="Helpviewer/UrlBar/UrlBar.py" line="198"/>
         <source>Unknown</source>
         <translation>Unbekannt</translation>
     </message>
@@ -50302,7 +50302,7 @@
         <translation>Öffnet das Hilfe-Fenster</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2319"/>
+        <location filename="UI/UserInterface.py" line="2336"/>
         <source>Unittest</source>
         <translation>Modultests</translation>
     </message>
@@ -50317,17 +50317,17 @@
         <translation>Starte den Modultest Dialog</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2201"/>
+        <location filename="UI/UserInterface.py" line="2218"/>
         <source>&amp;Window</source>
         <translation>&amp;Fenster</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2174"/>
+        <location filename="UI/UserInterface.py" line="2188"/>
         <source>&amp;Tools</source>
         <translation>&amp;Werkzeuge</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2251"/>
+        <location filename="UI/UserInterface.py" line="2268"/>
         <source>&amp;Help</source>
         <translation>&amp;Hilfe</translation>
     </message>
@@ -50362,22 +50362,22 @@
         <translation>Beenden der Entwicklungsumgebung</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2318"/>
+        <location filename="UI/UserInterface.py" line="2335"/>
         <source>Tools</source>
         <translation>Werkzeuge</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3927"/>
+        <location filename="UI/UserInterface.py" line="3944"/>
         <source>Help</source>
         <translation>Hilfe</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2226"/>
+        <location filename="UI/UserInterface.py" line="2243"/>
         <source>&amp;Toolbars</source>
         <translation>&amp;Werkzeugleisten</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4035"/>
+        <location filename="UI/UserInterface.py" line="4052"/>
         <source>Problem</source>
         <translation>Problem</translation>
     </message>
@@ -50397,7 +50397,7 @@
         <translation>&amp;Was ist das?</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4187"/>
+        <location filename="UI/UserInterface.py" line="4204"/>
         <source>Process Generation Error</source>
         <translation>Fehler beim Prozessstart</translation>
     </message>
@@ -50417,7 +50417,7 @@
         <translation>Ausgabefenster</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2320"/>
+        <location filename="UI/UserInterface.py" line="2337"/>
         <source>Settings</source>
         <translation>Einstellungen</translation>
     </message>
@@ -50462,12 +50462,12 @@
         <translation>&lt;b&gt;Tastaturkurzbefehle&lt;/b&gt;&lt;p&gt;Setze die Tastaturkurzbefehle der Applikation mit den bevorzugten Werten.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2162"/>
+        <location filename="UI/UserInterface.py" line="2176"/>
         <source>E&amp;xtras</source>
         <translation>E&amp;xtras</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2704"/>
+        <location filename="UI/UserInterface.py" line="2721"/>
         <source>Report Bug</source>
         <translation>Fehler berichten</translation>
     </message>
@@ -50487,7 +50487,7 @@
         <translation>&lt;b&gt;Fehler berichten...&lt;/b&gt;&lt;p&gt;Öffnet einen Dialog zum Senden eines Fehlerberichtes.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4793"/>
+        <location filename="UI/UserInterface.py" line="4810"/>
         <source>Export Keyboard Shortcuts</source>
         <translation>Tastaturkurzbefehle exportieren</translation>
     </message>
@@ -50507,7 +50507,7 @@
         <translation>&lt;b&gt;Tastaturkurzbefehle exportieren&lt;/b&gt;&lt;p&gt;Exportiert die Tastaturkurzbefehle der Applikation.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4816"/>
+        <location filename="UI/UserInterface.py" line="4833"/>
         <source>Import Keyboard Shortcuts</source>
         <translation>Tastaturkurzbefehle importieren</translation>
     </message>
@@ -50597,7 +50597,7 @@
         <translation>&lt;b&gt;Modultest (Skript)&lt;/b&gt;&lt;p&gt;Modultest für aktuelles Skript ausführen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3704"/>
+        <location filename="UI/UserInterface.py" line="3721"/>
         <source>Unittest Project</source>
         <translation>Modultest (Projekt)</translation>
     </message>
@@ -50612,12 +50612,12 @@
         <translation>&lt;b&gt;Modultest (Projekt)&lt;/b&gt;&lt;p&gt;Modultest für aktuelles Projekt ausführen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2145"/>
+        <location filename="UI/UserInterface.py" line="2159"/>
         <source>&amp;Unittest</source>
         <translation>&amp;Modultests</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3704"/>
+        <location filename="UI/UserInterface.py" line="3721"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>Für das aktuelle Projekt ist kein Hauptskript festgelegt. Abbruch</translation>
     </message>
@@ -50667,7 +50667,7 @@
         <translation>&lt;b&gt;Dateien Seite an Seite vergleichen&lt;/b&gt;&lt;p&gt;Öffnet einen Dialog zum Vergleich zweier Dateien und zur Anzeige des Ergebnisse Seite an Seite.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5169"/>
+        <location filename="UI/UserInterface.py" line="5195"/>
         <source>Drop Error</source>
         <translation>Drop Fehler</translation>
     </message>
@@ -50737,32 +50737,32 @@
         <translation>&lt;b&gt;Ansichtenprofile&lt;/b&gt;&lt;p&gt;Ansichtenprofile konfigurieren. Mit diesem Dialog kann die Sichtbarkeit der verschiedenen Fenster für die vorbestimmten Ansichtenprofile eingestellt werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4035"/>
+        <location filename="UI/UserInterface.py" line="4052"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; does not exist or is zero length.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; existiert nicht oder hat die Größe Null.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3799"/>
+        <location filename="UI/UserInterface.py" line="3816"/>
         <source>&lt;p&gt;Could not start Qt-Designer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Qt-Designer konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass es als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3856"/>
+        <location filename="UI/UserInterface.py" line="3873"/>
         <source>&lt;p&gt;Could not start Qt-Linguist.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Qt-Linguist konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass es als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3900"/>
+        <location filename="UI/UserInterface.py" line="3917"/>
         <source>&lt;p&gt;Could not start Qt-Assistant.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Qt-Assistant konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass es als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4187"/>
+        <location filename="UI/UserInterface.py" line="4204"/>
         <source>&lt;p&gt;Could not start the tool entry &lt;b&gt;{0}&lt;/b&gt;.&lt;br&gt;Ensure that it is available as &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der Werkzeuge Eintrag &lt;b&gt;{0}&lt;/b&gt; konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass er als &lt;b&gt;{1}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5169"/>
+        <location filename="UI/UserInterface.py" line="5195"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; ist keine Datei.&lt;/p&gt;</translation>
     </message>
@@ -50787,7 +50787,7 @@
         <translation>&lt;b&gt;UI Betrachter&lt;/b&gt;&lt;p&gt;Started den UI Betrachter.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3998"/>
+        <location filename="UI/UserInterface.py" line="4015"/>
         <source>&lt;p&gt;Could not start UI Previewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der UI Betrachter konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass er als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
@@ -50812,7 +50812,7 @@
         <translation>&lt;b&gt;Übersetzungsvorschau&lt;/b&gt;&lt;p&gt;Dies startet das Programm zur Vorschau von Übersetzungen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4043"/>
+        <location filename="UI/UserInterface.py" line="4060"/>
         <source>&lt;p&gt;Could not start Translation Previewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Übersetzungsvorschau konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass sie als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
@@ -50852,47 +50852,47 @@
         <translation>Aufgabenanzeige</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4937"/>
+        <location filename="UI/UserInterface.py" line="4963"/>
         <source>Save tasks</source>
         <translation>Aufgaben speichern</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4937"/>
+        <location filename="UI/UserInterface.py" line="4963"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Aufgabendatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht geschrieben werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4959"/>
+        <location filename="UI/UserInterface.py" line="4985"/>
         <source>Read tasks</source>
         <translation>Aufgaben lesen</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4959"/>
+        <location filename="UI/UserInterface.py" line="4985"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Aufgabendatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelesen werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3927"/>
+        <location filename="UI/UserInterface.py" line="3944"/>
         <source>Currently no custom viewer is selected. Please use the preferences dialog to specify one.</source>
         <translation>Momentan ist kein Betrachter angegeben. Bitte benutzen sie den Einstellungen Dialog, um einen festzulegen.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3939"/>
+        <location filename="UI/UserInterface.py" line="3956"/>
         <source>&lt;p&gt;Could not start custom viewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der Betrachter konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass er als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4553"/>
+        <location filename="UI/UserInterface.py" line="4570"/>
         <source>Documentation Missing</source>
         <translation>Dokumentation fehlt</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4553"/>
+        <location filename="UI/UserInterface.py" line="4570"/>
         <source>&lt;p&gt;The documentation starting point &quot;&lt;b&gt;{0}&lt;/b&gt;&quot; could not be found.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der Dokumentationsstartpunkt &quot;&lt;b&gt;{0}&lt;/b&gt;&quot; konnte nicht gefunden werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2704"/>
+        <location filename="UI/UserInterface.py" line="2721"/>
         <source>Email address or mail server address is empty. Please configure your Email settings in the Preferences Dialog.</source>
         <translation>Email Adresse oder Mail Server Adresse sind leer. Bitte konfiguriere die Email Einstellungen im Einstellungen Dialog.</translation>
     </message>
@@ -50932,22 +50932,22 @@
         <translation>Alt+Shift+M</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1915"/>
+        <location filename="UI/UserInterface.py" line="1929"/>
         <source>Activate current editor</source>
         <translation>Aktiviere aktuellen Editor</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1915"/>
+        <location filename="UI/UserInterface.py" line="1929"/>
         <source>Alt+Shift+E</source>
         <translation>Alt+Shift+E</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1924"/>
+        <location filename="UI/UserInterface.py" line="1938"/>
         <source>Ctrl+Alt+Tab</source>
         <translation>Ctrl+Alt+Tab</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1932"/>
+        <location filename="UI/UserInterface.py" line="1946"/>
         <source>Shift+Ctrl+Alt+Tab</source>
         <translation>Shift+Ctrl+Alt+Tab</translation>
     </message>
@@ -50957,37 +50957,37 @@
         <translation>Alt+Shift+G</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2011"/>
+        <location filename="UI/UserInterface.py" line="2025"/>
         <source>Qt4 Documentation</source>
         <translation>Qt4 Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2011"/>
+        <location filename="UI/UserInterface.py" line="2025"/>
         <source>Qt&amp;4 Documentation</source>
         <translation>Qt&amp;4 Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2013"/>
+        <location filename="UI/UserInterface.py" line="2027"/>
         <source>Open Qt4 Documentation</source>
         <translation>Öffne die Qt4 Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2087"/>
+        <location filename="UI/UserInterface.py" line="2101"/>
         <source>Eric API Documentation</source>
         <translation>Eric API Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2087"/>
+        <location filename="UI/UserInterface.py" line="2101"/>
         <source>&amp;Eric API Documentation</source>
         <translation>&amp;Eric API Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2089"/>
+        <location filename="UI/UserInterface.py" line="2103"/>
         <source>Open Eric API Documentation</source>
         <translation>Öffne die Eric API Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3958"/>
+        <location filename="UI/UserInterface.py" line="3975"/>
         <source>&lt;p&gt;Could not start the help viewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;hh&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Hilfeanzeige konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass sie als &lt;b&gt;hh&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
@@ -51038,101 +51038,101 @@
         <translation>Auf &amp;Aktualisierungen prüfen...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2014"/>
+        <location filename="UI/UserInterface.py" line="2028"/>
         <source>&lt;b&gt;Qt4 Documentation&lt;/b&gt;&lt;p&gt;Display the Qt4 Documentation. Dependant upon your settings, this will either show the help in Eric&apos;s internal help viewer, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation>&lt;b&gt;Qt4 Dokumentation&lt;/b&gt;&lt;p&gt;Zeige die Qt4 Dokumentation an. Abhängig von den Einstellungen, wird Erics interner Hilfeanzeiger, ein Web-Browser oder Qt Assistant verwendet.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2035"/>
+        <location filename="UI/UserInterface.py" line="2049"/>
         <source>PyQt4 Documentation</source>
         <translation>PyQt4 Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2035"/>
+        <location filename="UI/UserInterface.py" line="2049"/>
         <source>P&amp;yQt4 Documentation</source>
         <translation>P&amp;yQt4 Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2037"/>
+        <location filename="UI/UserInterface.py" line="2051"/>
         <source>Open PyQt4 Documentation</source>
         <translation>Öffne die PyQt4 Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2038"/>
+        <location filename="UI/UserInterface.py" line="2052"/>
         <source>&lt;b&gt;PyQt4 Documentation&lt;/b&gt;&lt;p&gt;Display the PyQt4 Documentation. Dependant upon your settings, this will either show the help in Eric&apos;s internal help viewer, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation>&lt;b&gt;PyQt4 Dokumentation&lt;/b&gt;&lt;p&gt;Zeige die PyQt4 Dokumentation an. Abhängig von den Einstellungen, wird Erics interner Hilfeanzeiger, ein Web-Browser oder Qt Assistant verwendet.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2177"/>
+        <location filename="UI/UserInterface.py" line="2191"/>
         <source>Select Tool Group</source>
         <translation>Werkzeuggruppe wählen</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2183"/>
+        <location filename="UI/UserInterface.py" line="2197"/>
         <source>Se&amp;ttings</source>
         <translation>&amp;Einstellungen</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2322"/>
+        <location filename="UI/UserInterface.py" line="2339"/>
         <source>Profiles</source>
         <translation>Profile</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3030"/>
+        <location filename="UI/UserInterface.py" line="3047"/>
         <source>&amp;Builtin Tools</source>
         <translation>&amp;Eingebaute Werkzeuge</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4171"/>
+        <location filename="UI/UserInterface.py" line="4188"/>
         <source>Starting process &apos;{0} {1}&apos;.
 </source>
         <translation>Starte Prozess &apos;{0} {1}&apos;.
 </translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4264"/>
+        <location filename="UI/UserInterface.py" line="4281"/>
         <source>Process &apos;{0}&apos; has exited.
 </source>
         <translation>Prozess &apos;{0}&apos; ist beendet.
 </translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4538"/>
+        <location filename="UI/UserInterface.py" line="4555"/>
         <source>Documentation</source>
         <translation>Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4447"/>
+        <location filename="UI/UserInterface.py" line="4464"/>
         <source>&lt;p&gt;The PyQt4 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der PyQt4 Dokumentations Startpunkt ist nicht konfiguriert.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5448"/>
+        <location filename="UI/UserInterface.py" line="5474"/>
         <source>Error during updates check</source>
         <translation>Fehler während der Aktualisierungsprüfung</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5435"/>
+        <location filename="UI/UserInterface.py" line="5461"/>
         <source>Update available</source>
         <translation>Aktualisierung verfügbar</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2653"/>
+        <location filename="UI/UserInterface.py" line="2670"/>
         <source>&lt;h3&gt;Version Numbers&lt;/h3&gt;&lt;table&gt;</source>
         <translation>&lt;h3&gt;Versions Nummern&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5482"/>
+        <location filename="UI/UserInterface.py" line="5508"/>
         <source>&lt;/table&gt;</source>
         <translation>&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2978"/>
+        <location filename="UI/UserInterface.py" line="2995"/>
         <source>Configure Tool Groups ...</source>
         <translation>Konfiguriere Werkzeuggruppen...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2981"/>
+        <location filename="UI/UserInterface.py" line="2998"/>
         <source>Configure current Tool Group ...</source>
         <translation>Konfiguriere aktuelle Werkzeuggruppe...</translation>
     </message>
@@ -51147,22 +51147,22 @@
         <translation>Zeige externe &amp;Werkzeuge</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5448"/>
+        <location filename="UI/UserInterface.py" line="5474"/>
         <source>Could not perform updates check.</source>
         <translation>Konnte keine Aktualisierungsprüfung durchführen.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5307"/>
+        <location filename="UI/UserInterface.py" line="5333"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Abbrechen</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5312"/>
+        <location filename="UI/UserInterface.py" line="5338"/>
         <source>Trying host {0}</source>
         <translation>Prüfe Host {0}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5509"/>
+        <location filename="UI/UserInterface.py" line="5535"/>
         <source>First time usage</source>
         <translation>Erstmalige Nutzung</translation>
     </message>
@@ -51172,62 +51172,62 @@
         <translation>Initialisiere Plugin Manager...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2237"/>
+        <location filename="UI/UserInterface.py" line="2254"/>
         <source>P&amp;lugins</source>
         <translation>Plugi&amp;ns</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2323"/>
+        <location filename="UI/UserInterface.py" line="2340"/>
         <source>Plugins</source>
         <translation>Plugins</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1948"/>
+        <location filename="UI/UserInterface.py" line="1962"/>
         <source>Plugin Infos</source>
         <translation>Plugin Informationen</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1951"/>
+        <location filename="UI/UserInterface.py" line="1965"/>
         <source>Show Plugin Infos</source>
         <translation>Zeigt Plugin Informationen</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1952"/>
+        <location filename="UI/UserInterface.py" line="1966"/>
         <source>&lt;b&gt;Plugin Infos...&lt;/b&gt;&lt;p&gt;This opens a dialog, that show some information about loaded plugins.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Plugin Informationen...&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog, der einige Informationen über die geladenen Plugins anzeigt.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1948"/>
+        <location filename="UI/UserInterface.py" line="1962"/>
         <source>&amp;Plugin Infos...</source>
         <translation>&amp;Plugin Informationen...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3038"/>
+        <location filename="UI/UserInterface.py" line="3055"/>
         <source>&amp;Plugin Tools</source>
         <translation>&amp;Plugin Werkzeuge</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1974"/>
+        <location filename="UI/UserInterface.py" line="1988"/>
         <source>Uninstall Plugin</source>
         <translation>Plugin deinstallieren</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1971"/>
+        <location filename="UI/UserInterface.py" line="1985"/>
         <source>&amp;Uninstall Plugin...</source>
         <translation>Plugin &amp;deinstallieren...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1975"/>
+        <location filename="UI/UserInterface.py" line="1989"/>
         <source>&lt;b&gt;Uninstall Plugin...&lt;/b&gt;&lt;p&gt;This opens a dialog to uninstall a plugin.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Plugin deinstallieren...&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog zur Deinstallation eines Plugins.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3128"/>
+        <location filename="UI/UserInterface.py" line="3145"/>
         <source>&amp;Show all</source>
         <translation>Alle an&amp;zeigen</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3130"/>
+        <location filename="UI/UserInterface.py" line="3147"/>
         <source>&amp;Hide all</source>
         <translation>Alle &amp;ausblenden</translation>
     </message>
@@ -51237,7 +51237,7 @@
         <translation>Aktiviere Plugins...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2167"/>
+        <location filename="UI/UserInterface.py" line="2181"/>
         <source>Wi&amp;zards</source>
         <translation>A&amp;utopiloten</translation>
     </message>
@@ -51257,42 +51257,42 @@
         <translation>Zeige die verfügbaren eric4 Versionen</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5469"/>
+        <location filename="UI/UserInterface.py" line="5495"/>
         <source>&lt;h3&gt;Available versions&lt;/h3&gt;&lt;table&gt;</source>
         <translation>&lt;h3&gt;Verfügbare Versionen&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1982"/>
+        <location filename="UI/UserInterface.py" line="1996"/>
         <source>Plugin Repository</source>
         <translation>Plugin Repository</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1982"/>
+        <location filename="UI/UserInterface.py" line="1996"/>
         <source>Plugin &amp;Repository...</source>
         <translation>Plugin &amp;Repository...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1985"/>
+        <location filename="UI/UserInterface.py" line="1999"/>
         <source>Show Plugins available for download</source>
         <translation>Zeige Plugins verfügbar zum Download an</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1987"/>
+        <location filename="UI/UserInterface.py" line="2001"/>
         <source>&lt;b&gt;Plugin Repository...&lt;/b&gt;&lt;p&gt;This opens a dialog, that shows a list of plugins available on the Internet.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Plugin Repository...&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog, der eine Liste der im Internet verfügbaren Plugins anzeigt.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1963"/>
+        <location filename="UI/UserInterface.py" line="1977"/>
         <source>Install Plugins</source>
         <translation>Plugins installieren</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1960"/>
+        <location filename="UI/UserInterface.py" line="1974"/>
         <source>&amp;Install Plugins...</source>
         <translation>Plugins &amp;installieren...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1964"/>
+        <location filename="UI/UserInterface.py" line="1978"/>
         <source>&lt;b&gt;Install Plugins...&lt;/b&gt;&lt;p&gt;This opens a dialog to install or update plugins.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Plugins installieren...&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog zur Installation oder Update von Plugins.&lt;/p&gt;</translation>
     </message>
@@ -51337,22 +51337,22 @@
         <translation>Lade Toolbarmanager...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2567"/>
+        <location filename="UI/UserInterface.py" line="2584"/>
         <source>External Tools/{0}</source>
         <translation>Externe Werkzeuge/{0}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4135"/>
+        <location filename="UI/UserInterface.py" line="4152"/>
         <source>External Tools</source>
         <translation>Externe Werkzeuge</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4129"/>
+        <location filename="UI/UserInterface.py" line="4146"/>
         <source>No tool entry found for external tool &apos;{0}&apos; in tool group &apos;{1}&apos;.</source>
         <translation>Kein Eintrag für das externe Werkzeug &apos;{0}&apos; in der Gruppe &apos;{1}&apos; gefunden.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4135"/>
+        <location filename="UI/UserInterface.py" line="4152"/>
         <source>No toolgroup entry &apos;{0}&apos; found.</source>
         <translation>Kein Werkzeuggruppeneintrag &apos;{0}&apos; gefunden.</translation>
     </message>
@@ -51367,32 +51367,32 @@
         <translation>&amp;Mehrfachprojektanzeige</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4974"/>
+        <location filename="UI/UserInterface.py" line="5000"/>
         <source>Save session</source>
         <translation>Session speichern</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4974"/>
+        <location filename="UI/UserInterface.py" line="5000"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Sessiondatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht geschrieben werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4997"/>
+        <location filename="UI/UserInterface.py" line="5023"/>
         <source>Read session</source>
         <translation>Session lesen</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4997"/>
+        <location filename="UI/UserInterface.py" line="5023"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Sessiondatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelesen werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2472"/>
+        <location filename="UI/UserInterface.py" line="2489"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors encoding.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Dieser Teil der Statusleiste zeigt die Zeichenkodierung des aktuellen Editors an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2486"/>
+        <location filename="UI/UserInterface.py" line="2503"/>
         <source>&lt;p&gt;This part of the status bar displays an indication of the current editors files writability.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Dieser Teil der Statusleiste zeigt an, ob die aktuelle Datei geschrieben werden kann.&lt;/p&gt;</translation>
     </message>
@@ -51417,17 +51417,17 @@
         <translation>&lt;b&gt;Neue Funktion anfragen...&lt;/b&gt;&lt;p&gt;Öffnet einen Dialog, um eine Anfrage für eine neue Funktion zu senden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2465"/>
+        <location filename="UI/UserInterface.py" line="2482"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors language.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Dieser Teil der Statusleiste zeigt die Sprache des aktuellen Editors an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2493"/>
+        <location filename="UI/UserInterface.py" line="2510"/>
         <source>&lt;p&gt;This part of the status bar displays the line number of the current editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Dieser Teil der Statusleiste zeigt die Zeilennummer des aktuellen Editors an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2500"/>
+        <location filename="UI/UserInterface.py" line="2517"/>
         <source>&lt;p&gt;This part of the status bar displays the cursor position of the current editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Dieser Teil der Statusleiste zeigt die Cursorposition des aktuellen Editors an.&lt;/p&gt;</translation>
     </message>
@@ -51452,12 +51452,12 @@
         <translation>&lt;b&gt;Schalte das Fenster der Horizontalen Werkzeugbox um&lt;/b&gt;&lt;p&gt;Falls das Fenster der Horizontalen Werkzeugbox nicht sichtbar ist, wird es dargestellt. Ist es sichtbar, so wird es versteckt.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2946"/>
+        <location filename="UI/UserInterface.py" line="2963"/>
         <source>Restart application</source>
         <translation>Anwendung neu starten</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2946"/>
+        <location filename="UI/UserInterface.py" line="2963"/>
         <source>The application needs to be restarted. Do it now?</source>
         <translation>Die Anwendung muss neu gestartet werden. Jetzt durchführen?</translation>
     </message>
@@ -51482,22 +51482,22 @@
         <translation>Alt+Shift+A</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2246"/>
+        <location filename="UI/UserInterface.py" line="2263"/>
         <source>Configure...</source>
         <translation>Einstellungen...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2479"/>
+        <location filename="UI/UserInterface.py" line="2496"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors eol setting.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Dieser Teil der Statusleiste zeigt die Zeilenendekodierung des aktuellen Editors an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1940"/>
+        <location filename="UI/UserInterface.py" line="1954"/>
         <source>Switch between tabs</source>
         <translation>Zwischen Tabs umschalten</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1940"/>
+        <location filename="UI/UserInterface.py" line="1954"/>
         <source>Ctrl+1</source>
         <translation>Ctrl+1</translation>
     </message>
@@ -51542,12 +51542,12 @@
         <translation>&lt;b&gt;Einstellungen importieren&lt;/b&gt;&lt;p&gt;Importiert eine zuvor exportierte Konfiguration.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1924"/>
+        <location filename="UI/UserInterface.py" line="1938"/>
         <source>Show next</source>
         <translation>Zeige nächste</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1932"/>
+        <location filename="UI/UserInterface.py" line="1946"/>
         <source>Show previous</source>
         <translation>Zeige vorherige</translation>
     </message>
@@ -51617,7 +51617,7 @@
         <translation>&lt;b&gt;SQL Browser&lt;/b&gt;&lt;p&gt;Erforsche eine SQL Datenbank.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4062"/>
+        <location filename="UI/UserInterface.py" line="4079"/>
         <source>&lt;p&gt;Could not start SQL Browser.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der SQL Browser konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass er als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
@@ -51632,32 +51632,32 @@
         <translation>&amp;Icon Editor...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3879"/>
+        <location filename="UI/UserInterface.py" line="3896"/>
         <source>Qt 3 support</source>
         <translation>Qt 3 Unterstützung</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2108"/>
+        <location filename="UI/UserInterface.py" line="2122"/>
         <source>&lt;b&gt;PySide Documentation&lt;/b&gt;&lt;p&gt;Display the PySide Documentation. Dependant upon your settings, this will either show the help in Eric&apos;s internal help viewer, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation>&lt;b&gt;PySide Dokumentation&lt;/b&gt;&lt;p&gt;Zeige die PySide Dokumentation an. Abhängig von den Einstellungen, wird Erics interner Hilfeanzeiger, ein Web-Browser oder Qt Assistant verwendet.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4538"/>
+        <location filename="UI/UserInterface.py" line="4555"/>
         <source>&lt;p&gt;The PySide documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der PySide Dokumentations Startpunkt ist nicht konfiguriert.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2105"/>
+        <location filename="UI/UserInterface.py" line="2119"/>
         <source>PySide Documentation</source>
         <translation>PySide Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2105"/>
+        <location filename="UI/UserInterface.py" line="2119"/>
         <source>Py&amp;Side Documentation</source>
         <translation>Py&amp;Side Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2107"/>
+        <location filename="UI/UserInterface.py" line="2121"/>
         <source>Open PySide Documentation</source>
         <translation>Öffne die PySide Dokumentation</translation>
     </message>
@@ -51698,32 +51698,32 @@
         <translation>&lt;b&gt;Zeige externe Werkzeuge&lt;/b&gt;&lt;p&gt;Öffnet einen Dialog, der die Pfade und Versionen der von eric5 genutzten externen Werkzeuge anzeigt.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2090"/>
+        <location filename="UI/UserInterface.py" line="2104"/>
         <source>&lt;b&gt;Eric API Documentation&lt;/b&gt;&lt;p&gt;Display the Eric API documentation. The location for the documentation is the Documentation/Source subdirectory of the eric5 installation directory.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Eric API Dokumentation&lt;/b&gt;&lt;p&gt;Zeige die Eric API Dokumentation an. Der Pfad für die Dokumentation ist das Unterverzeichnis Documentation/Source im eric5 Installationverzeichnis.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3879"/>
+        <location filename="UI/UserInterface.py" line="3896"/>
         <source>Qt v.3 is not supported by eric5.</source>
         <translation>Qt v.3 wird von eric5 nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5435"/>
+        <location filename="UI/UserInterface.py" line="5461"/>
         <source>The update to &lt;b&gt;{0}&lt;/b&gt; of eric5 is available at &lt;b&gt;{1}&lt;/b&gt;. Would you like to get it?</source>
         <translation>Eine Aktualisierung auf &lt;b&gt;{0}&lt;/b&gt; von Eric5 ist unter &lt;b&gt;{1}&lt;/b&gt; verfügbar. Wollen Sie sie laden?</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5444"/>
+        <location filename="UI/UserInterface.py" line="5470"/>
         <source>Eric5 is up to date</source>
         <translation>Eric5 ist aktuell</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5444"/>
+        <location filename="UI/UserInterface.py" line="5470"/>
         <source>You are using the latest version of eric5</source>
         <translation>Sie verwenden die aktuellste Version von eric5</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5509"/>
+        <location filename="UI/UserInterface.py" line="5535"/>
         <source>eric5 has not been configured yet. The configuration dialog will be started.</source>
         <translation>eric5 wurde noch nicht konfiguriert. Der Konfigurationsdialog wird nun gestartet.</translation>
     </message>
@@ -51758,72 +51758,72 @@
         <translation>Alt+Shift+B</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4816"/>
+        <location filename="UI/UserInterface.py" line="4833"/>
         <source>Keyboard shortcut file (*.e4k)</source>
         <translation>Tastaturkurzbefehls Datei (*.e4k)</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2051"/>
+        <location filename="UI/UserInterface.py" line="2065"/>
         <source>Python 3 Documentation</source>
         <translation>Python 3 Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2051"/>
+        <location filename="UI/UserInterface.py" line="2065"/>
         <source>Python &amp;3 Documentation</source>
         <translation>Python &amp;3 Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2053"/>
+        <location filename="UI/UserInterface.py" line="2067"/>
         <source>Open Python 3 Documentation</source>
         <translation>Öffne die Python 3 Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2054"/>
-        <source>&lt;b&gt;Python 3 Documentation&lt;/b&gt;&lt;p&gt;Display the Python 3 documentation. If no documentation directory is configured, the location of the Python 3 documentation is assumed to be the doc directory underneath the location of the Python 3 executable on Windows and &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt; on Unix. Set PYTHON3DOCDIR in your environment to override this. &lt;/p&gt;</source>
-        <translation>&lt;b&gt;Python 3 Dokumentation&lt;/b&gt;&lt;p&gt;Zeigt die Python 3 Dokumentation an. Ist kein Dokumentationsverzeichnis konfiguriert, so ist der Ort, an dem die Python 3 Dokumentation gesucht wird, unter Windows das Verzeichnis doc unter dem Verzeichnis, in dem der Python 3 Interpreter installiert ist, und unter Unix das Verzeichnis &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt;. Um dies zu überschreiben, können sie die Umgebungsvariable PYTHON3DOCDIR setzen.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2066"/>
-        <source>Python 2 Documentation</source>
-        <translation>Python 2 Dokumentation</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2066"/>
-        <source>Python &amp;2 Documentation</source>
-        <translation>Python &amp;2 Dokumentation</translation>
-    </message>
-    <message>
         <location filename="UI/UserInterface.py" line="2068"/>
+        <source>&lt;b&gt;Python 3 Documentation&lt;/b&gt;&lt;p&gt;Display the Python 3 documentation. If no documentation directory is configured, the location of the Python 3 documentation is assumed to be the doc directory underneath the location of the Python 3 executable on Windows and &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt; on Unix. Set PYTHON3DOCDIR in your environment to override this. &lt;/p&gt;</source>
+        <translation>&lt;b&gt;Python 3 Dokumentation&lt;/b&gt;&lt;p&gt;Zeigt die Python 3 Dokumentation an. Ist kein Dokumentationsverzeichnis konfiguriert, so ist der Ort, an dem die Python 3 Dokumentation gesucht wird, unter Windows das Verzeichnis doc unter dem Verzeichnis, in dem der Python 3 Interpreter installiert ist, und unter Unix das Verzeichnis &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt;. Um dies zu überschreiben, können sie die Umgebungsvariable PYTHON3DOCDIR setzen.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2080"/>
+        <source>Python 2 Documentation</source>
+        <translation>Python 2 Dokumentation</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2080"/>
+        <source>Python &amp;2 Documentation</source>
+        <translation>Python &amp;2 Dokumentation</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2082"/>
         <source>Open Python 2 Documentation</source>
         <translation>Öffne die Python 2 Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2069"/>
+        <location filename="UI/UserInterface.py" line="2083"/>
         <source>&lt;b&gt;Python 2 Documentation&lt;/b&gt;&lt;p&gt;Display the Python 2 documentation. If no documentation directory is configured, the location of the Python 2 documentation is assumed to be the doc directory underneath the location of the configured Python 2 executable on Windows and &lt;i&gt;/usr/share/doc/packages/python/html/python-docs-html&lt;/i&gt; on Unix. Set PYTHON2DOCDIR in your environment to override this. &lt;/p&gt;</source>
         <translation>&lt;b&gt;Python 2 Dokumentation&lt;/b&gt;&lt;p&gt;Zeigt die Python 2 Dokumentation an. Ist kein Dokumentationsverzeichnis konfiguriert, so ist der Ort, an dem die Python 2 Dokumentation gesucht wird, unter Windows das Verzeichnis doc unter dem Verzeichnis, in dem der konfigurierte Python 2 Interpreter installiert ist, und unter Unix das Verzeichnis &lt;i&gt;/usr/share/doc/packages/python/html/python-docs-html&lt;/i&gt;. Um dies zu überschreiben, können sie die Umgebungsvariable PYTHON2DOCDIR setzen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5362"/>
+        <location filename="UI/UserInterface.py" line="5388"/>
         <source>Error getting versions information</source>
         <translation>Fehler beim Herunterladen der Versionsinformationen</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5356"/>
+        <location filename="UI/UserInterface.py" line="5382"/>
         <source>The versions information could not be downloaded. Please go online and try again.</source>
         <translation>Die Versionsinformationen konnten nicht heruntergeladen werden. Bitte gehen sie online und versuchen sie es erneut.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4639"/>
+        <location filename="UI/UserInterface.py" line="4656"/>
         <source>Open Browser</source>
         <translation>Browser starten</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4639"/>
+        <location filename="UI/UserInterface.py" line="4656"/>
         <source>Could not start a web browser</source>
         <translation>Der Systemwebbrowser konnte nicht gestartet werden</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5362"/>
+        <location filename="UI/UserInterface.py" line="5388"/>
         <source>The versions information could not be downloaded for the last 7 days. Please go online and try again.</source>
         <translation>Die Versionsinformationen konnten seit 7 Tagen nicht heruntergeladen werden. Bitte gehen sie online und versuchen sie es erneut.</translation>
     </message>
@@ -51934,12 +51934,12 @@
         <translation>&lt;b&gt;Bildschirmfoto&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog, um ein Bildschirmfoto aufzunehmen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4109"/>
+        <location filename="UI/UserInterface.py" line="4126"/>
         <source>&lt;p&gt;Could not start Snapshot tool.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Bildschirmfotoanwendung konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass sie als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5527"/>
+        <location filename="UI/UserInterface.py" line="5553"/>
         <source>Select Workspace Directory</source>
         <translation>Wähle Arbeitsverzeichnis</translation>
     </message>
@@ -52169,7 +52169,7 @@
         <translation>&lt;b&gt;Zahlenanzeiger aktivieren&lt;/b&gt;&lt;p&gt;Dies schaltet den Eingabefokus auf das Zahlenanzeigerfenster um.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2206"/>
+        <location filename="UI/UserInterface.py" line="2223"/>
         <source>&amp;Windows</source>
         <translation>&amp;Fenster</translation>
     </message>
@@ -52244,30 +52244,50 @@
         <translation>&lt;b&gt;Qt-Linguist&lt;/b&gt;&lt;p&gt;Starte Qt-Linguist (Übersetzungsprogramm).&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2023"/>
+        <location filename="UI/UserInterface.py" line="2037"/>
         <source>Qt5 Documentation</source>
         <translation>Qt5 Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2023"/>
+        <location filename="UI/UserInterface.py" line="2037"/>
         <source>Qt&amp;5 Documentation</source>
         <translation>Qt&amp;5 Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2025"/>
+        <location filename="UI/UserInterface.py" line="2039"/>
         <source>Open Qt5 Documentation</source>
         <translation>Öffne die Qt5 Dokumentation</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2026"/>
+        <location filename="UI/UserInterface.py" line="2040"/>
         <source>&lt;b&gt;Qt5 Documentation&lt;/b&gt;&lt;p&gt;Display the Qt5 Documentation. Dependant upon your settings, this will either show the help in Eric&apos;s internal help viewer, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation>&lt;b&gt;Qt5 Dokumentation&lt;/b&gt;&lt;p&gt;Zeige die Qt5 Dokumentation an. Abhängig von den Einstellungen, wird Erics interner Hilfeanzeiger, ein Web-Browser oder Qt Assistant verwendet.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2510"/>
+        <location filename="UI/UserInterface.py" line="2527"/>
         <source>&lt;p&gt;This part of the status bar allows zooming the current editor, shell or terminal.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Dieser Teil der Statusleiste ermöglicht das Zoomen des aktuellen Editors, der Shell oder des Terminals.&lt;/p&gt;</translation>
     </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1916"/>
+        <source>Manage SSL Certificates</source>
+        <translation>SSL Zertifikate verwalten</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1916"/>
+        <source>Manage SSL Certificates...</source>
+        <translation>SSL Zertifikate verwalten...</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1920"/>
+        <source>Manage the saved SSL certificates</source>
+        <translation>Verwalten der gespeicherten SSL Zertifikate</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1922"/>
+        <source>&lt;b&gt;Manage SSL Certificates...&lt;/b&gt;&lt;p&gt;Opens a dialog to manage the saved SSL certificates.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;SSL Zertifikate verwalten...&lt;/b&gt;&lt;p&gt;Öffnet einen Dialog zur Verwaltung gespeicherter SSL Zertifikate.&lt;/p&gt;</translation>
+    </message>
 </context>
 <context>
     <name>UserPropertiesDialog</name>
--- a/i18n/eric5_en.ts	Fri Jan 18 19:31:43 2013 +0100
+++ b/i18n/eric5_en.ts	Fri Jan 18 19:50:13 2013 +0100
@@ -7028,49 +7028,288 @@
     </message>
 </context>
 <context>
+    <name>E5SslCertificatesDialog</name>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="14"/>
+        <source>SSL Certificate Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="27"/>
+        <source>&amp;Servers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="33"/>
+        <source>You have saved certificates identifying these servers:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="140"/>
+        <source>Certificate name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="46"/>
+        <source>Server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="145"/>
+        <source>Expiry Date</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="158"/>
+        <source>Press to view the selected certificate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="161"/>
+        <source>&amp;View...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="168"/>
+        <source>Press to import a certificate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="171"/>
+        <source>&amp;Import...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="181"/>
+        <source>Press to export the selected certificate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="184"/>
+        <source>&amp;Export...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="194"/>
+        <source>Press to delete the selected certificate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="197"/>
+        <source>&amp;Delete...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="126"/>
+        <source>Certificate &amp;Authorities</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.ui" line="132"/>
+        <source>You have saved certificates identifying these certification authorities:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="274"/>
+        <source>(Unknown)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="276"/>
+        <source>(Unknown common name)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="127"/>
+        <source>Delete Server Certificate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="127"/>
+        <source>&lt;p&gt;Shall the server certificate really be deleted?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;If the server certificate is deleted, the normal security checks will be reinstantiated and the server has to present a valid certificate.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="445"/>
+        <source>Import Certificate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="363"/>
+        <source>&lt;p&gt;The certificate &lt;b&gt;{0}&lt;/b&gt; already exists. Skipping.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="319"/>
+        <source>Delete CA Certificate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="319"/>
+        <source>&lt;p&gt;Shall the CA certificate really be deleted?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;If the CA certificate is deleted, the browser will not trust any certificate issued by this CA.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="455"/>
+        <source>Export Certificate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="399"/>
+        <source>Certificate File (PEM) (*.pem);;Certificate File (DER) (*.der)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="415"/>
+        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="425"/>
+        <source>&lt;p&gt;The certificate could not be written to file &lt;b&gt;{0}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="445"/>
+        <source>Certificate Files (*.pem *.crt *.der *.cer *.ca);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslCertificatesDialog.py" line="455"/>
+        <source>&lt;p&gt;The certificate could not be read from file &lt;b&gt;{0}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>E5SslErrorHandler</name>
     <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="115"/>
+        <location filename="E5Network/E5SslErrorHandler.py" line="123"/>
         <source>SSL Errors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="115"/>
+        <location filename="E5Network/E5SslErrorHandler.py" line="123"/>
         <source>&lt;p&gt;SSL Errors for &lt;br /&gt;&lt;b&gt;{0}&lt;/b&gt;&lt;ul&gt;&lt;li&gt;{1}&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Do you want to ignore these errors?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="129"/>
+        <location filename="E5Network/E5SslErrorHandler.py" line="137"/>
         <source>Certificates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="129"/>
+        <location filename="E5Network/E5SslErrorHandler.py" line="137"/>
         <source>&lt;p&gt;Certificates:&lt;br/&gt;{0}&lt;br/&gt;Do you want to accept all these certificates?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="184"/>
-        <source>Name: {0}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="E5Network/E5SslErrorHandler.py" line="188"/>
-        <source>&lt;br/&gt;Organization: {0}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="E5Network/E5SslErrorHandler.py" line="192"/>
-        <source>&lt;br/&gt;Issuer: {0}</source>
+        <source>Name: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="E5Network/E5SslErrorHandler.py" line="196"/>
+        <source>&lt;br/&gt;Organization: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslErrorHandler.py" line="200"/>
+        <source>&lt;br/&gt;Issuer: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslErrorHandler.py" line="204"/>
         <source>&lt;br/&gt;Not valid before: {0}&lt;br/&gt;Valid Until: {1}</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>E5SslInfoDialog</name>
+    <message>
+        <location filename="E5Network/E5SslInfoDialog.ui" line="14"/>
+        <source>SSL Certificate Info</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>E5SslInfoWidget</name>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="17"/>
+        <source>This certificated has been blacklisted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="24"/>
+        <source>&lt;b&gt;Issued for&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="118"/>
+        <source>Common Name (CN)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="138"/>
+        <source>Organization (O)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="158"/>
+        <source>Organizational Unit (OU)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="91"/>
+        <source>Serialnumber</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="111"/>
+        <source>&lt;b&gt;Issued by&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="178"/>
+        <source>&lt;b&gt;Validity&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="185"/>
+        <source>Issued on</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="205"/>
+        <source>Expires on</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="225"/>
+        <source>This certificate is not valid yet or has expired.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="232"/>
+        <source>&lt;b&gt;Fingerprints&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="239"/>
+        <source>SHA1-Fingerprint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.ui" line="259"/>
+        <source>MD5-Fingerprint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="E5Network/E5SslInfoWidget.py" line="111"/>
+        <source>&lt;not part of the certificate&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>E5ToolBarDialog</name>
     <message>
         <location filename="E5Gui/E5ToolBarDialog.ui" line="14"/>
@@ -16996,26 +17235,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1230"/>
-        <source>Manage Certificates</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1230"/>
-        <source>Manage Certificates...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1234"/>
-        <source>Manage the saved certificates</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/HelpWindow.py" line="1236"/>
-        <source>&lt;b&gt;Manage Saved Certificates...&lt;/b&gt;&lt;p&gt;Opens a dialog to manage the saved certificates.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="Helpviewer/HelpWindow.py" line="1615"/>
         <source>VirusTotal</source>
         <translation type="unfinished"></translation>
@@ -17280,6 +17499,26 @@
         <source>&lt;b&gt;GreaseMonkey Scripts...&lt;/b&gt;&lt;p&gt;Opens a dialog to configure the available GreaseMonkey Scripts.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1230"/>
+        <source>Manage SSL Certificates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1230"/>
+        <source>Manage SSL Certificates...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1234"/>
+        <source>Manage the saved SSL certificates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/HelpWindow.py" line="1236"/>
+        <source>&lt;b&gt;Manage SSL Certificates...&lt;/b&gt;&lt;p&gt;Opens a dialog to manage the saved SSL certificates.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Hg</name>
@@ -18568,12 +18807,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Plugins/VcsPlugins/vcsMercurial/HgCopyDialog.py" line="44"/>
+        <location filename="Plugins/VcsPlugins/vcsMercurial/HgCopyDialog.py" line="46"/>
         <source>Mercurial Move</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Plugins/VcsPlugins/vcsMercurial/HgCopyDialog.py" line="79"/>
+        <location filename="Plugins/VcsPlugins/vcsMercurial/HgCopyDialog.py" line="81"/>
         <source>Select target</source>
         <translation type="unfinished"></translation>
     </message>
@@ -40160,245 +40399,6 @@
     </message>
 </context>
 <context>
-    <name>SslCertificatesDialog</name>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="14"/>
-        <source>SSL Certificate Manager</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="27"/>
-        <source>&amp;Servers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="33"/>
-        <source>You have saved certificates identifying these servers:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="140"/>
-        <source>Certificate name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="46"/>
-        <source>Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="145"/>
-        <source>Expiry Date</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="158"/>
-        <source>Press to view the selected certificate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="161"/>
-        <source>&amp;View...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="194"/>
-        <source>Press to delete the selected certificate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="197"/>
-        <source>&amp;Delete...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="126"/>
-        <source>Certificate &amp;Authorities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="132"/>
-        <source>You have saved certificates identifying these certification authorities:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="274"/>
-        <source>(Unknown)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="276"/>
-        <source>(Unknown common name)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="127"/>
-        <source>Delete Server Certificate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="127"/>
-        <source>&lt;p&gt;Shall the server certificate really be deleted?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;If the server certificate is deleted, the normal security checks will be reinstantiated and the server has to present a valid certificate.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="168"/>
-        <source>Press to import a certificate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="171"/>
-        <source>&amp;Import...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="181"/>
-        <source>Press to export the selected certificate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.ui" line="184"/>
-        <source>&amp;Export...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="445"/>
-        <source>Import Certificate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="363"/>
-        <source>&lt;p&gt;The certificate &lt;b&gt;{0}&lt;/b&gt; already exists. Skipping.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="319"/>
-        <source>Delete CA Certificate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="319"/>
-        <source>&lt;p&gt;Shall the CA certificate really be deleted?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;If the CA certificate is deleted, the browser will not trust any certificate issued by this CA.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="455"/>
-        <source>Export Certificate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="399"/>
-        <source>Certificate File (PEM) (*.pem);;Certificate File (DER) (*.der)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="415"/>
-        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="425"/>
-        <source>&lt;p&gt;The certificate could not be written to file &lt;b&gt;{0}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="445"/>
-        <source>Certificate Files (*.pem *.crt *.der *.cer *.ca);;All Files (*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslCertificatesDialog.py" line="455"/>
-        <source>&lt;p&gt;The certificate could not be read from file &lt;b&gt;{0}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SslInfoDialog</name>
-    <message>
-        <location filename="Helpviewer/SslInfoDialog.ui" line="14"/>
-        <source>SSL Certificate Info</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SslInfoWidget</name>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="17"/>
-        <source>This certificated has been blacklisted.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="24"/>
-        <source>&lt;b&gt;Issued for&lt;/b&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="118"/>
-        <source>Common Name (CN)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="138"/>
-        <source>Organization (O)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="158"/>
-        <source>Organizational Unit (OU)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="91"/>
-        <source>Serialnumber</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="111"/>
-        <source>&lt;b&gt;Issued by&lt;/b&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="178"/>
-        <source>&lt;b&gt;Validity&lt;/b&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="185"/>
-        <source>Issued on</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="205"/>
-        <source>Expires on</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="225"/>
-        <source>This certificate is not valid yet or has expired.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="232"/>
-        <source>&lt;b&gt;Fingerprints&lt;/b&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="239"/>
-        <source>SHA1-Fingerprint</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.ui" line="259"/>
-        <source>MD5-Fingerprint</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Helpviewer/SslInfoWidget.py" line="111"/>
-        <source>&lt;not part of the certificate&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>StartCoverageDialog</name>
     <message>
         <location filename="Debugger/StartCoverageDialog.ui" line="14"/>
@@ -42025,12 +42025,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Plugins/VcsPlugins/vcsPySvn/SvnCopyDialog.py" line="44"/>
+        <location filename="Plugins/VcsPlugins/vcsPySvn/SvnCopyDialog.py" line="46"/>
         <source>Subversion Move</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Plugins/VcsPlugins/vcsPySvn/SvnCopyDialog.py" line="79"/>
+        <location filename="Plugins/VcsPlugins/vcsPySvn/SvnCopyDialog.py" line="81"/>
         <source>Select target</source>
         <translation type="unfinished"></translation>
     </message>
@@ -49675,7 +49675,7 @@
 <context>
     <name>UrlBar</name>
     <message>
-        <location filename="Helpviewer/UrlBar/UrlBar.py" line="199"/>
+        <location filename="Helpviewer/UrlBar/UrlBar.py" line="198"/>
         <source>Unknown</source>
         <translation type="unfinished"></translation>
     </message>
@@ -50250,7 +50250,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2704"/>
+        <location filename="UI/UserInterface.py" line="2721"/>
         <source>Report Bug</source>
         <translation type="unfinished"></translation>
     </message>
@@ -50290,7 +50290,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2319"/>
+        <location filename="UI/UserInterface.py" line="2336"/>
         <source>Unittest</source>
         <translation type="unfinished"></translation>
     </message>
@@ -50350,7 +50350,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3704"/>
+        <location filename="UI/UserInterface.py" line="3721"/>
         <source>Unittest Project</source>
         <translation type="unfinished"></translation>
     </message>
@@ -50655,7 +50655,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4793"/>
+        <location filename="UI/UserInterface.py" line="4810"/>
         <source>Export Keyboard Shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
@@ -50675,7 +50675,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4816"/>
+        <location filename="UI/UserInterface.py" line="4833"/>
         <source>Import Keyboard Shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
@@ -50695,669 +50695,669 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1915"/>
+        <location filename="UI/UserInterface.py" line="1929"/>
         <source>Activate current editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1915"/>
+        <location filename="UI/UserInterface.py" line="1929"/>
         <source>Alt+Shift+E</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1924"/>
+        <location filename="UI/UserInterface.py" line="1938"/>
         <source>Show next</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1924"/>
+        <location filename="UI/UserInterface.py" line="1938"/>
         <source>Ctrl+Alt+Tab</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1932"/>
+        <location filename="UI/UserInterface.py" line="1946"/>
         <source>Show previous</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1932"/>
+        <location filename="UI/UserInterface.py" line="1946"/>
         <source>Shift+Ctrl+Alt+Tab</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1940"/>
+        <location filename="UI/UserInterface.py" line="1954"/>
         <source>Switch between tabs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1940"/>
+        <location filename="UI/UserInterface.py" line="1954"/>
         <source>Ctrl+1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1948"/>
+        <location filename="UI/UserInterface.py" line="1962"/>
         <source>Plugin Infos</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1948"/>
+        <location filename="UI/UserInterface.py" line="1962"/>
         <source>&amp;Plugin Infos...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1951"/>
+        <location filename="UI/UserInterface.py" line="1965"/>
         <source>Show Plugin Infos</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1952"/>
+        <location filename="UI/UserInterface.py" line="1966"/>
         <source>&lt;b&gt;Plugin Infos...&lt;/b&gt;&lt;p&gt;This opens a dialog, that show some information about loaded plugins.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1963"/>
+        <location filename="UI/UserInterface.py" line="1977"/>
         <source>Install Plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1960"/>
-        <source>&amp;Install Plugins...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1964"/>
-        <source>&lt;b&gt;Install Plugins...&lt;/b&gt;&lt;p&gt;This opens a dialog to install or update plugins.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="UI/UserInterface.py" line="1974"/>
+        <source>&amp;Install Plugins...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1978"/>
+        <source>&lt;b&gt;Install Plugins...&lt;/b&gt;&lt;p&gt;This opens a dialog to install or update plugins.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1988"/>
         <source>Uninstall Plugin</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1971"/>
-        <source>&amp;Uninstall Plugin...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1975"/>
-        <source>&lt;b&gt;Uninstall Plugin...&lt;/b&gt;&lt;p&gt;This opens a dialog to uninstall a plugin.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>