Added support for HTML5 "Desktop Video Capture" and "Desktop Audio and Video Capture" as of Qt 5.10.0/PyQt 5.10.0.

Wed, 24 Jan 2018 12:37:53 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 24 Jan 2018 12:37:53 +0100
changeset 6084
c6f3f66bf7aa
parent 6083
fc99172cd83e
child 6085
7e48a0d98cce

Added support for HTML5 "Desktop Video Capture" and "Desktop Audio and Video Capture" as of Qt 5.10.0/PyQt 5.10.0.

WebBrowser/FeaturePermissions/FeaturePermissionBar.py file | annotate | diff | comparison | revisions
WebBrowser/FeaturePermissions/FeaturePermissionManager.py file | annotate | diff | comparison | revisions
WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py file | annotate | diff | comparison | revisions
changelog file | annotate | diff | comparison | revisions
i18n/eric6_cs.ts file | annotate | diff | comparison | revisions
i18n/eric6_de.qm file | annotate | diff | comparison | revisions
i18n/eric6_de.ts file | annotate | diff | comparison | revisions
i18n/eric6_empty.ts file | annotate | diff | comparison | revisions
i18n/eric6_en.ts file | annotate | diff | comparison | revisions
i18n/eric6_es.ts file | annotate | diff | comparison | revisions
i18n/eric6_fr.ts file | annotate | diff | comparison | revisions
i18n/eric6_it.ts file | annotate | diff | comparison | revisions
i18n/eric6_pt.ts file | annotate | diff | comparison | revisions
i18n/eric6_ru.ts file | annotate | diff | comparison | revisions
i18n/eric6_tr.ts file | annotate | diff | comparison | revisions
i18n/eric6_zh_CN.ts file | annotate | diff | comparison | revisions
icons/default/desktopAudioVideoCapture.png file | annotate | diff | comparison | revisions
icons/default/desktopVideoCapture.png file | annotate | diff | comparison | revisions
--- a/WebBrowser/FeaturePermissions/FeaturePermissionBar.py	Tue Jan 23 17:49:48 2018 +0100
+++ b/WebBrowser/FeaturePermissions/FeaturePermissionBar.py	Wed Jan 24 12:37:53 2018 +0100
@@ -56,6 +56,18 @@
             QWebEnginePage.MouseLock:
                 self.tr("{0} wants to lock your mouse."),
         }
+        try:
+            # these are defined as of Qt 5.10.0/PyQt 5.10.0
+            self.__permissionFeatureTexts.update({
+                QWebEnginePage.DesktopVideoCapture:
+                    self.tr("{0} wants to capture video of your screen."),
+                QWebEnginePage.DesktopAudioVideoCapture:
+                    self.tr("{0} wants to capture audio and video of your"
+                            " screen."),
+            })
+        except AttributeError:
+            pass
+        
         self.__permissionFeatureIconNames = {
             QWebEnginePage.Geolocation: "geolocation.png",
             QWebEnginePage.MediaAudioCapture: "audiocapture.png",
@@ -63,6 +75,15 @@
             QWebEnginePage.MediaAudioVideoCapture: "audio-video.png",
             QWebEnginePage.MouseLock: "mouse.png",
         }
+        try:
+            # these are defined as of Qt 5.10.0/PyQt 5.10.0
+            self.__permissionFeatureIconNames.update({
+                QWebEnginePage.DesktopVideoCapture: "desktopVideoCapture.png",
+                QWebEnginePage.DesktopAudioVideoCapture:
+                    "desktopAudioVideoCapture.png",
+            })
+        except AttributeError:
+            pass
         
         self.setAutoFillBackground(True)
         self.__layout = QHBoxLayout()
--- a/WebBrowser/FeaturePermissions/FeaturePermissionManager.py	Tue Jan 23 17:49:48 2018 +0100
+++ b/WebBrowser/FeaturePermissions/FeaturePermissionManager.py	Wed Jan 24 12:37:53 2018 +0100
@@ -54,6 +54,21 @@
                 QWebEnginePage.PermissionDeniedByUser: [],
             },
         }
+        try:
+            # these are defined as of Qt 5.10.0/PyQt 5.10.0
+            self.__featurePermissions.update({
+                QWebEnginePage.DesktopVideoCapture: {
+                    QWebEnginePage.PermissionGrantedByUser: [],
+                    QWebEnginePage.PermissionDeniedByUser: [],
+                },
+                QWebEnginePage.DesktopAudioVideoCapture: {
+                    QWebEnginePage.PermissionGrantedByUser: [],
+                    QWebEnginePage.PermissionDeniedByUser: [],
+                },
+            })
+        except AttributeError:
+            pass
+        
         self.__featurePermissionsKeys = {
             (QWebEnginePage.Geolocation,
              QWebEnginePage.PermissionGrantedByUser):
@@ -86,6 +101,24 @@
              QWebEnginePage.PermissionDeniedByUser):
             "MouseLockDenied",
         }
+        try:
+            # these are defined as of Qt 5.10.0/PyQt 5.10.0
+            self.__featurePermissionsKeys.update({
+                (QWebEnginePage.DesktopVideoCapture,
+                 QWebEnginePage.PermissionGrantedByUser):
+                "DesktopVideoCaptureGranted",
+                (QWebEnginePage.DesktopVideoCapture,
+                 QWebEnginePage.PermissionDeniedByUser):
+                "DesktopVideoCaptureDenied",
+                (QWebEnginePage.DesktopAudioVideoCapture,
+                 QWebEnginePage.PermissionGrantedByUser):
+                "DesktopAudioVideoCaptureGranted",
+                (QWebEnginePage.DesktopAudioVideoCapture,
+                 QWebEnginePage.PermissionDeniedByUser):
+                "DesktopAudioVideoCaptureDenied",
+            })
+        except AttributeError:
+            pass
         
         self.__loaded = False
 
--- a/WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py	Tue Jan 23 17:49:48 2018 +0100
+++ b/WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py	Wed Jan 24 12:37:53 2018 +0100
@@ -114,12 +114,51 @@
             UI.PixmapCache.getIcon("mouse.png"),
             self.tr("Mouse Lock"))
         
+        if hasattr(QWebEnginePage, "DesktopVideoCapture"):
+            # these are shown as of Qt 5.10.0/PyQt 5.10.0
+            self.deskVidList = QTreeWidget()
+            self.deskVidList.setAlternatingRowColors(True)
+            self.deskVidList.setSelectionMode(
+                QAbstractItemView.ExtendedSelection)
+            self.deskVidList.setRootIsDecorated(False)
+            self.deskVidList.setItemsExpandable(False)
+            self.deskVidList.setAllColumnsShowFocus(True)
+            self.deskVidList.setObjectName("deskVidList")
+            self.deskVidList.setSortingEnabled(True)
+            self.deskVidList.headerItem().setText(0, self.tr("Host"))
+            self.deskVidList.headerItem().setText(1, self.tr("Permission"))
+            self.tabWidget.addTab(
+                self.deskVidList,
+                UI.PixmapCache.getIcon("desktopVideoCapture.png"),
+                self.tr("Desktop Video"))
+            
+            self.deskAudVidList = QTreeWidget()
+            self.deskAudVidList.setAlternatingRowColors(True)
+            self.deskAudVidList.setSelectionMode(
+                QAbstractItemView.ExtendedSelection)
+            self.deskAudVidList.setRootIsDecorated(False)
+            self.deskAudVidList.setItemsExpandable(False)
+            self.deskAudVidList.setAllColumnsShowFocus(True)
+            self.deskAudVidList.setObjectName("deskAudVidList")
+            self.deskAudVidList.setSortingEnabled(True)
+            self.deskAudVidList.headerItem().setText(0, self.tr("Host"))
+            self.deskAudVidList.headerItem().setText(1, self.tr("Permission"))
+            self.tabWidget.addTab(
+                self.deskAudVidList,
+                UI.PixmapCache.getIcon("desktopAudioVideoCapture.png"),
+                self.tr("Desktop Audio && Video"))
+        
         self.setTabOrder(self.tabWidget, self.geoList)
         self.setTabOrder(self.geoList, self.micList)
         self.setTabOrder(self.micList, self.camList)
         self.setTabOrder(self.camList, self.micCamList)
         self.setTabOrder(self.micCamList, self.mouseLockList)
-        self.setTabOrder(self.mouseLockList, self.removeButton)
+        if hasattr(QWebEnginePage, "DesktopVideoCapture"):
+            self.setTabOrder(self.mouseLockList, self.deskVidList)
+            self.setTabOrder(self.deskVidList, self.deskAudVidList)
+            self.setTabOrder(self.deskAudVidList, self.removeButton)
+        else:
+            self.setTabOrder(self.mouseLockList, self.removeButton)
         self.setTabOrder(self.removeButton, self.removeAllButton)
         
         self.__permissionStrings = {
@@ -134,6 +173,11 @@
             QWebEnginePage.MediaAudioVideoCapture: self.micCamList,
             QWebEnginePage.MouseLock: self.mouseLockList,
         }
+        if hasattr(QWebEnginePage, "DesktopVideoCapture"):
+            self.__permissionsLists.update({
+                QWebEnginePage.DesktopVideoCapture: self.deskVidList,
+                QWebEnginePage.DesktopAudioVideoCapture: self.deskAudVidList,
+            })
         
         for feature, permissionsList in self.__permissionsLists.items():
             for permission in featurePermissions[feature]:
--- a/changelog	Tue Jan 23 17:49:48 2018 +0100
+++ b/changelog	Wed Jan 24 12:37:53 2018 +0100
@@ -9,6 +9,9 @@
   -- added basic support for Cython
 - Editor
   -- added a context menu entry to "Execute Selection In Console"
+- Web Browser (NG)
+  -- added support for HTML5 "Desktop Video Capture" and "Desktop Audio and
+     Video Capture" as of Qt 5.10.0/PyQt 5.10.0
 
 Version 18.01:
 - bug fixes
--- a/i18n/eric6_cs.ts	Tue Jan 23 17:49:48 2018 +0100
+++ b/i18n/eric6_cs.ts	Wed Jan 24 12:37:53 2018 +0100
@@ -16285,22 +16285,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="78"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="99"/>
         <source>Allow</source>
         <translation type="unfinished">Povolit</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="79"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="100"/>
         <source>Deny</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="101"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="122"/>
         <source>{0} wants to use an unknown feature.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="76"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="97"/>
         <source>Remember</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16324,6 +16324,16 @@
         <source>{0} wants to lock your mouse.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture audio and video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeaturePermissionsDialog</name>
@@ -16338,12 +16348,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="110"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="144"/>
         <source>Host</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="111"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="145"/>
         <source>Permission</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16363,12 +16373,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="126"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="165"/>
         <source>Allow</source>
         <translation type="unfinished">Povolit</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="127"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="166"/>
         <source>Deny</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16402,6 +16412,16 @@
         <source>Mouse Lock</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="130"/>
+        <source>Desktop Video</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="146"/>
+        <source>Desktop Audio &amp;&amp; Video</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeedEditDialog</name>
@@ -49416,7 +49436,7 @@
         <translation>Modulu chybí atributy &apos;pluginType&apos; a/nebo &apos;pluginTypename&apos;.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>Plugin Manager Error</source>
         <translation>Chyba plugin manažeru</translation>
     </message>
@@ -49436,27 +49456,27 @@
         <translation>Modul se nepodařilo načíst. Chyba: {0}</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>&lt;p&gt;The plugin download directory &lt;b&gt;{0}&lt;/b&gt; could not be created. Please configure it via the configuration dialog.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Download plugin adresář &lt;b&gt;{0}&lt;/b&gt; se nepodařilo vytvořit. Prosím, upravte nastavení přes konfigurační dialog.&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>Error downloading file</source>
         <translation type="unfinished">Chyba při stahování souboru</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Nelze stáhnout požadovaný soubor z {0}.&lt;/p&gt;&lt;p&gt;Chyba: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>New plugin versions available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>&lt;p&gt;There are new plug-ins or plug-in updates available. Use the plug-in repository dialog to get them.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -50607,17 +50627,17 @@
         <translation>(nezkonfigurováno)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="372"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="377"/>
         <source>(not executable)</source>
         <translation>(nevykonavatelný)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="404"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="409"/>
         <source>(not found)</source>
         <translation>(nenalezeno)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="370"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="375"/>
         <source>(unknown)</source>
         <translation>(neznámý)</translation>
     </message>
@@ -50706,6 +50726,11 @@
         <source>gRPC Compiler</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="356"/>
+        <source>(module not found)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Project</name>
Binary file i18n/eric6_de.qm has changed
--- a/i18n/eric6_de.ts	Tue Jan 23 17:49:48 2018 +0100
+++ b/i18n/eric6_de.ts	Wed Jan 24 12:37:53 2018 +0100
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="de" sourcelanguage="">
+<!DOCTYPE TS>
+<TS version="2.1" language="de">
 <context>
     <name>AboutDialog</name>
     <message>
@@ -1972,8 +1973,8 @@
     </message>
     <message>
         <location filename="../Helpviewer/Bookmarks/BookmarksMenu.py" line="145"/>
-        <source>Open in New &amp;Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>In neuem &amp;Register öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open in New &amp;Tab	Ctrl+LMB</source>
+        <translation>In neuem &amp;Register öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="163"/>
@@ -1982,8 +1983,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="166"/>
-        <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>In neuem Register öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open in New Tab	Ctrl+LMB</source>
+        <translation>In neuem Register öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="169"/>
@@ -2071,8 +2072,8 @@
     </message>
     <message>
         <location filename="../Helpviewer/Bookmarks/BookmarksToolBar.py" line="93"/>
-        <source>Open in New &amp;Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>In neuem &amp;Register öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open in New &amp;Tab	Ctrl+LMB</source>
+        <translation>In neuem &amp;Register öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="87"/>
@@ -2081,8 +2082,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="90"/>
-        <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>In neuem Register öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open in New Tab	Ctrl+LMB</source>
+        <translation>In neuem Register öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="93"/>
@@ -15807,22 +15808,22 @@
         <translation>{0} möchte die Position nutzen.</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="78"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="99"/>
         <source>Allow</source>
         <translation>Erlauben</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="79"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="100"/>
         <source>Deny</source>
         <translation>Ablehnen</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="101"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="122"/>
         <source>{0} wants to use an unknown feature.</source>
         <translation>{0} möchte ein unbekanntes Feature nutzen.</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="76"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="97"/>
         <source>Remember</source>
         <translation>Merken</translation>
     </message>
@@ -15846,6 +15847,16 @@
         <source>{0} wants to lock your mouse.</source>
         <translation>{0} möchte die Maus sperren.</translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture video of your screen.</source>
+        <translation>{0} möchte deinen Bildschirminhalt erfassen.</translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture audio and video of your screen.</source>
+        <translation>{0} möchte deine Audioausgabe und deinen Bildschirminhalt erfassen.</translation>
+    </message>
 </context>
 <context>
     <name>FeaturePermissionsDialog</name>
@@ -15860,12 +15871,12 @@
         <translation>Benachrichtigungen</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="110"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="144"/>
         <source>Host</source>
         <translation>Rechner</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="111"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="145"/>
         <source>Permission</source>
         <translation>Berechtigung</translation>
     </message>
@@ -15885,12 +15896,12 @@
         <translation>Geolokalisierung</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="126"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="165"/>
         <source>Allow</source>
         <translation>Erlauben</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="127"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="166"/>
         <source>Deny</source>
         <translation>Ablehnen</translation>
     </message>
@@ -15924,6 +15935,16 @@
         <source>Mouse Lock</source>
         <translation>Maussperre</translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="130"/>
+        <source>Desktop Video</source>
+        <translation>Bildschirminhalt</translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="146"/>
+        <source>Desktop Audio &amp;&amp; Video</source>
+        <translation>Bildschirmaudio &amp;&amp; -inhalt</translation>
+    </message>
 </context>
 <context>
     <name>FeedEditDialog</name>
@@ -24723,8 +24744,8 @@
     </message>
     <message>
         <location filename="../Helpviewer/HelpBrowserWV.py" line="1219"/>
-        <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>Link in neuem Fenster öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open Link in New Tab	Ctrl+LMB</source>
+        <translation>Link in neuem Fenster öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="../Helpviewer/HelpBrowserWV.py" line="1292"/>
@@ -48475,12 +48496,12 @@
         <translation>Modul konnte nicht geladen werden. Fehler: {0}</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>Plugin Manager Error</source>
         <translation>Pluginmanager-Fehler</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>&lt;p&gt;The plugin download directory &lt;b&gt;{0}&lt;/b&gt; could not be created. Please configure it via the configuration dialog.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das Downloadverzeichnis für Plugins &lt;b&gt;{0}&lt;/b&gt; konnte nicht erzeugt werden. Bitte über den Konfigurationsdialog einstellen.&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
     </message>
@@ -48495,22 +48516,22 @@
         <translation>Das interne Pluginverzeichnis &lt;b&gt;{0}&lt;/b&gt; existiert nicht.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>Error downloading file</source>
         <translation>Fehler beim Herunterladen der Datei</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die angefragte Datei konnte nicht von {0} gedownloaded werden.&lt;/p&gt;&lt;p&gt;Fehler: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>New plugin versions available</source>
         <translation>Neue Plugin Versionen verfügbar</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>&lt;p&gt;There are new plug-ins or plug-in updates available. Use the plug-in repository dialog to get them.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Es sind neue Plugins oder neue Plugin Versionen verfügbar. Benutze den Plugin-Repository Dialog, um sie zu laden.&lt;/p&gt;</translation>
     </message>
@@ -49646,12 +49667,12 @@
         <translation>(nicht konfiguriert)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="372"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="377"/>
         <source>(not executable)</source>
         <translation>(nicht ausführbar)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="404"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="409"/>
         <source>(not found)</source>
         <translation>(nicht gefunden)</translation>
     </message>
@@ -49661,7 +49682,7 @@
         <translation>Externe Programme</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="370"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="375"/>
         <source>(unknown)</source>
         <translation>(unbekannt)</translation>
     </message>
@@ -49750,6 +49771,11 @@
         <source>gRPC Compiler</source>
         <translation>gRPC Compiler</translation>
     </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="356"/>
+        <source>(module not found)</source>
+        <translation>(Modul nicht gefunden)</translation>
+    </message>
 </context>
 <context>
     <name>Project</name>
@@ -81947,8 +81973,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/WebBrowserView.py" line="618"/>
-        <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>Link in neuem Fenster öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open Link in New Tab	Ctrl+LMB</source>
+        <translation>Link in neuem Fenster öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/WebBrowserView.py" line="622"/>
--- a/i18n/eric6_empty.ts	Tue Jan 23 17:49:48 2018 +0100
+++ b/i18n/eric6_empty.ts	Wed Jan 24 12:37:53 2018 +0100
@@ -15685,22 +15685,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="76"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="97"/>
         <source>Remember</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="78"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="99"/>
         <source>Allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="79"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="100"/>
         <source>Deny</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="101"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="122"/>
         <source>{0} wants to use an unknown feature.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15724,6 +15724,16 @@
         <source>{0} wants to lock your mouse.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture audio and video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeaturePermissionsDialog</name>
@@ -15738,12 +15748,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="110"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="144"/>
         <source>Host</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="111"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="145"/>
         <source>Permission</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15773,12 +15783,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="126"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="165"/>
         <source>Allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="127"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="166"/>
         <source>Deny</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15802,6 +15812,16 @@
         <source>Mouse Lock</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="130"/>
+        <source>Desktop Video</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="146"/>
+        <source>Desktop Audio &amp;&amp; Video</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeedEditDialog</name>
@@ -48248,32 +48268,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>Plugin Manager Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>&lt;p&gt;The plugin download directory &lt;b&gt;{0}&lt;/b&gt; could not be created. Please configure it via the configuration dialog.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>Error downloading file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>New plugin versions available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>&lt;p&gt;There are new plug-ins or plug-in updates available. Use the plug-in repository dialog to get them.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -49463,7 +49483,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="370"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="375"/>
         <source>(unknown)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -49483,12 +49503,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="372"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="377"/>
         <source>(not executable)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="404"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="409"/>
         <source>(not found)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -49502,6 +49522,11 @@
         <source>gRPC Compiler</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="356"/>
+        <source>(module not found)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Project</name>
--- a/i18n/eric6_en.ts	Tue Jan 23 17:49:48 2018 +0100
+++ b/i18n/eric6_en.ts	Wed Jan 24 12:37:53 2018 +0100
@@ -15699,22 +15699,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="78"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="99"/>
         <source>Allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="79"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="100"/>
         <source>Deny</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="101"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="122"/>
         <source>{0} wants to use an unknown feature.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="76"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="97"/>
         <source>Remember</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15738,6 +15738,16 @@
         <source>{0} wants to lock your mouse.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture audio and video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeaturePermissionsDialog</name>
@@ -15752,12 +15762,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="110"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="144"/>
         <source>Host</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="111"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="145"/>
         <source>Permission</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15777,12 +15787,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="126"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="165"/>
         <source>Allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="127"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="166"/>
         <source>Deny</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15816,6 +15826,16 @@
         <source>Mouse Lock</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="130"/>
+        <source>Desktop Video</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="146"/>
+        <source>Desktop Audio &amp;&amp; Video</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeedEditDialog</name>
@@ -48282,32 +48302,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>Plugin Manager Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>&lt;p&gt;The plugin download directory &lt;b&gt;{0}&lt;/b&gt; could not be created. Please configure it via the configuration dialog.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>Error downloading file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>New plugin versions available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>&lt;p&gt;There are new plug-ins or plug-in updates available. Use the plug-in repository dialog to get them.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -49457,7 +49477,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="370"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="375"/>
         <source>(unknown)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -49472,12 +49492,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="372"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="377"/>
         <source>(not executable)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="404"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="409"/>
         <source>(not found)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -49546,6 +49566,11 @@
         <source>gRPC Compiler</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="356"/>
+        <source>(module not found)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Project</name>
--- a/i18n/eric6_es.ts	Tue Jan 23 17:49:48 2018 +0100
+++ b/i18n/eric6_es.ts	Wed Jan 24 12:37:53 2018 +0100
@@ -15808,22 +15808,22 @@
         <translation>{0} desea utilizar la posición.</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="78"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="99"/>
         <source>Allow</source>
         <translation>Permitir</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="79"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="100"/>
         <source>Deny</source>
         <translation>Denegar</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="101"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="122"/>
         <source>{0} wants to use an unknown feature.</source>
         <translation>{0} desea utilizar una característica desconocida.</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="76"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="97"/>
         <source>Remember</source>
         <translation>Recordar</translation>
     </message>
@@ -15847,6 +15847,16 @@
         <source>{0} wants to lock your mouse.</source>
         <translation>{0} desea bloquear el ratón.</translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture audio and video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeaturePermissionsDialog</name>
@@ -15861,12 +15871,12 @@
         <translation>Notificaciones</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="110"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="144"/>
         <source>Host</source>
         <translation>Host</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="111"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="145"/>
         <source>Permission</source>
         <translation>Permiso</translation>
     </message>
@@ -15886,12 +15896,12 @@
         <translation>Geolocalización</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="126"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="165"/>
         <source>Allow</source>
         <translation>Permitir</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="127"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="166"/>
         <source>Deny</source>
         <translation>Denegar</translation>
     </message>
@@ -15925,6 +15935,16 @@
         <source>Mouse Lock</source>
         <translation>Bloquear Ratón</translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="130"/>
+        <source>Desktop Video</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="146"/>
+        <source>Desktop Audio &amp;&amp; Video</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeedEditDialog</name>
@@ -48476,7 +48496,7 @@
         <translation>Metodo de activación del plugin incompatible.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>Plugin Manager Error</source>
         <translation>Error del Gestor de Plugins</translation>
     </message>
@@ -48496,27 +48516,27 @@
         <translation>Ha fallado la carga del módulo. Error: {0}</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>&lt;p&gt;The plugin download directory &lt;b&gt;{0}&lt;/b&gt; could not be created. Please configure it via the configuration dialog.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;El directorio de descaga del plugin &lt;b&gt;{0}&lt;/b&gt; no ha podido ser creado. Por favor, configúrelo a través del diálogo de configuración.&lt;/p&gt;&lt;p&gt;Razón: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>Error downloading file</source>
         <translation>Error al descargar el fichero</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;No se pudo descargar el archivo solicitado desde {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>New plugin versions available</source>
         <translation>Existen nuevas versiones de plugins</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>&lt;p&gt;There are new plug-ins or plug-in updates available. Use the plug-in repository dialog to get them.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Existen nuevos plug-ins o existen bien actualizaciones para plug-in. Utilice el repositorio de plug-ins para su obtención.&lt;/p&gt;</translation>
     </message>
@@ -49657,17 +49677,17 @@
         <translation>(no configurado)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="372"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="377"/>
         <source>(not executable)</source>
         <translation>(no ejecutable)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="404"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="409"/>
         <source>(not found)</source>
         <translation>(no encontrado)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="370"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="375"/>
         <source>(unknown)</source>
         <translation>(desconocido)</translation>
     </message>
@@ -49756,6 +49776,11 @@
         <source>gRPC Compiler</source>
         <translation>Compilador gRPC</translation>
     </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="356"/>
+        <source>(module not found)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Project</name>
--- a/i18n/eric6_fr.ts	Tue Jan 23 17:49:48 2018 +0100
+++ b/i18n/eric6_fr.ts	Wed Jan 24 12:37:53 2018 +0100
@@ -16247,22 +16247,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="78"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="99"/>
         <source>Allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="79"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="100"/>
         <source>Deny</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="101"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="122"/>
         <source>{0} wants to use an unknown feature.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="76"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="97"/>
         <source>Remember</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16286,6 +16286,16 @@
         <source>{0} wants to lock your mouse.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture audio and video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeaturePermissionsDialog</name>
@@ -16300,12 +16310,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="110"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="144"/>
         <source>Host</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="111"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="145"/>
         <source>Permission</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16325,12 +16335,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="126"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="165"/>
         <source>Allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="127"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="166"/>
         <source>Deny</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16364,6 +16374,16 @@
         <source>Mouse Lock</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="130"/>
+        <source>Desktop Video</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="146"/>
+        <source>Desktop Audio &amp;&amp; Video</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeedEditDialog</name>
@@ -49157,7 +49177,7 @@
         <translation>Le module ne comporte pas le(s) attribut(s) &apos;pluginType&apos; et/ou &apos;pluginTypename&apos;.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>Plugin Manager Error</source>
         <translation>Erreur du gestionnaire de plugins</translation>
     </message>
@@ -49177,27 +49197,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>&lt;p&gt;The plugin download directory &lt;b&gt;{0}&lt;/b&gt; could not be created. Please configure it via the configuration dialog.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>Error downloading file</source>
         <translation type="unfinished">Erreur de téléchargement</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>New plugin versions available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>&lt;p&gt;There are new plug-ins or plug-in updates available. Use the plug-in repository dialog to get them.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -50348,17 +50368,17 @@
         <translation>(non configuré)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="372"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="377"/>
         <source>(not executable)</source>
         <translation>(non executable)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="404"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="409"/>
         <source>(not found)</source>
         <translation>(non trouvé)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="370"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="375"/>
         <source>(unknown)</source>
         <translation>(inconnu)</translation>
     </message>
@@ -50447,6 +50467,11 @@
         <source>gRPC Compiler</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="356"/>
+        <source>(module not found)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Project</name>
--- a/i18n/eric6_it.ts	Tue Jan 23 17:49:48 2018 +0100
+++ b/i18n/eric6_it.ts	Wed Jan 24 12:37:53 2018 +0100
@@ -15788,22 +15788,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="78"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="99"/>
         <source>Allow</source>
         <translation type="unfinished">Consenti</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="79"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="100"/>
         <source>Deny</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="101"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="122"/>
         <source>{0} wants to use an unknown feature.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="76"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="97"/>
         <source>Remember</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15827,6 +15827,16 @@
         <source>{0} wants to lock your mouse.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture audio and video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeaturePermissionsDialog</name>
@@ -15841,12 +15851,12 @@
         <translation type="unfinished">Notificazioni</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="110"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="144"/>
         <source>Host</source>
         <translation type="unfinished">Host</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="111"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="145"/>
         <source>Permission</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15866,12 +15876,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="126"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="165"/>
         <source>Allow</source>
         <translation type="unfinished">Consenti</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="127"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="166"/>
         <source>Deny</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15905,6 +15915,16 @@
         <source>Mouse Lock</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="130"/>
+        <source>Desktop Video</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="146"/>
+        <source>Desktop Audio &amp;&amp; Video</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeedEditDialog</name>
@@ -48399,7 +48419,7 @@
         <translation>Il modulo manca dell&apos;attributo &apos;pluginType&apos; e/oppure &apos;pluginTypename&apos;.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>Plugin Manager Error</source>
         <translation>Errore del gestore dei Plugin</translation>
     </message>
@@ -48419,27 +48439,27 @@
         <translation>Il modulo ha fallito il caricamento. Errore: {0}</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>&lt;p&gt;The plugin download directory &lt;b&gt;{0}&lt;/b&gt; could not be created. Please configure it via the configuration dialog.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;La directory di download dei plugin &lt;b&gt;{0}&lt;/b&gt; non può essere creata. Per favore configurarla con il dialogo di configurazione.&lt;/p&gt;&lt;p&gt;Motivo: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>Error downloading file</source>
         <translation>Errone nello scaricamento del file</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Non posso scaricare il file richiesto da {0}&lt;/p&gt;&lt;p&gt;Errore: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>New plugin versions available</source>
         <translation>E&apos; disponibile una nuova versione del plug-in</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>&lt;p&gt;There are new plug-ins or plug-in updates available. Use the plug-in repository dialog to get them.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Sono disponibili nuovi plug-in o aggiornamenti di plug-in. Usa la finestra di dialogo del repository di plug-in per ottenerli.&lt;/p&gt;</translation>
     </message>
@@ -49580,17 +49600,17 @@
         <translation>(non configurato)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="372"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="377"/>
         <source>(not executable)</source>
         <translation>(non eseguibile)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="404"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="409"/>
         <source>(not found)</source>
         <translation>(non trovato)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="370"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="375"/>
         <source>(unknown)</source>
         <translation>(sconosciuto)</translation>
     </message>
@@ -49679,6 +49699,11 @@
         <source>gRPC Compiler</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="356"/>
+        <source>(module not found)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Project</name>
--- a/i18n/eric6_pt.ts	Tue Jan 23 17:49:48 2018 +0100
+++ b/i18n/eric6_pt.ts	Wed Jan 24 12:37:53 2018 +0100
@@ -16459,22 +16459,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="78"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="99"/>
         <source>Allow</source>
         <translation type="unfinished">Permitir</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="79"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="100"/>
         <source>Deny</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="101"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="122"/>
         <source>{0} wants to use an unknown feature.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="76"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="97"/>
         <source>Remember</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16498,6 +16498,16 @@
         <source>{0} wants to lock your mouse.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture audio and video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeaturePermissionsDialog</name>
@@ -16512,12 +16522,12 @@
         <translation type="unfinished">Notificações</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="110"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="144"/>
         <source>Host</source>
         <translation type="unfinished">Anfitrião</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="111"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="145"/>
         <source>Permission</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16537,12 +16547,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="126"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="165"/>
         <source>Allow</source>
         <translation type="unfinished">Permitir</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="127"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="166"/>
         <source>Deny</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16576,6 +16586,16 @@
         <source>Mouse Lock</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="130"/>
+        <source>Desktop Video</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="146"/>
+        <source>Desktop Audio &amp;&amp; Video</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeedEditDialog</name>
@@ -49874,32 +49894,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>Plugin Manager Error</source>
         <translation>Erro do Gestor de Complementos</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>&lt;p&gt;The plugin download directory &lt;b&gt;{0}&lt;/b&gt; could not be created. Please configure it via the configuration dialog.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>Error downloading file</source>
         <translation>Erro ao descarregar ficheiro</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>New plugin versions available</source>
         <translation>Disponível novas versões de complementos</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>&lt;p&gt;There are new plug-ins or plug-in updates available. Use the plug-in repository dialog to get them.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -51049,7 +51069,7 @@
         <translation>Compilador de CORBA IDL</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="370"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="375"/>
         <source>(unknown)</source>
         <translation>(desconhecido)</translation>
     </message>
@@ -51064,12 +51084,12 @@
         <translation>(não configurado)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="372"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="377"/>
         <source>(not executable)</source>
         <translation>(não executável)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="404"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="409"/>
         <source>(not found)</source>
         <translation>(não encontrado)</translation>
     </message>
@@ -51138,6 +51158,11 @@
         <source>gRPC Compiler</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="356"/>
+        <source>(module not found)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Project</name>
--- a/i18n/eric6_ru.ts	Tue Jan 23 17:49:48 2018 +0100
+++ b/i18n/eric6_ru.ts	Wed Jan 24 12:37:53 2018 +0100
@@ -15848,22 +15848,22 @@
         <translation>{0} хочет использовать ваше положение.</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="78"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="99"/>
         <source>Allow</source>
         <translation>Разрешить</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="79"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="100"/>
         <source>Deny</source>
         <translation>Отказать</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="101"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="122"/>
         <source>{0} wants to use an unknown feature.</source>
         <translation>{0} хочет использовать неизвестную возможность.</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="76"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="97"/>
         <source>Remember</source>
         <translation>Запомнить</translation>
     </message>
@@ -15887,6 +15887,16 @@
         <source>{0} wants to lock your mouse.</source>
         <translation>{0} хочет использовать вашу мышку.</translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture audio and video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeaturePermissionsDialog</name>
@@ -15901,12 +15911,12 @@
         <translation>Уведомления</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="110"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="144"/>
         <source>Host</source>
         <translation>Хост</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="111"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="145"/>
         <source>Permission</source>
         <translation>Разрешение</translation>
     </message>
@@ -15926,12 +15936,12 @@
         <translation>Геолокация</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="126"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="165"/>
         <source>Allow</source>
         <translation>Разрешить</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="127"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="166"/>
         <source>Deny</source>
         <translation>Отказать</translation>
     </message>
@@ -15965,6 +15975,16 @@
         <source>Mouse Lock</source>
         <translation>Блокировка мыши</translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="130"/>
+        <source>Desktop Video</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="146"/>
+        <source>Desktop Audio &amp;&amp; Video</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeedEditDialog</name>
@@ -48573,32 +48593,32 @@
         <translation>Несовместимый метод активации плагина.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>Plugin Manager Error</source>
         <translation>Ошибка менеджера плагинов</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>&lt;p&gt;The plugin download directory &lt;b&gt;{0}&lt;/b&gt; could not be created. Please configure it via the configuration dialog.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Директория для загрузки плагинов &lt;b&gt;{0}&lt;/b&gt; не может быть создана. Задайте её посредством диалога конфигурации.&lt;/p&gt;&lt;p&gt;Причина:{1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>Error downloading file</source>
         <translation>Ошибка загрузки файла</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Ошибка загрузки файла из {0}.&lt;/p&gt;&lt;p&gt;Ошибка: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>New plugin versions available</source>
         <translation>Новые версииплагинов  доступны для загрузки</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>&lt;p&gt;There are new plug-ins or plug-in updates available. Use the plug-in repository dialog to get them.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Имеются новые плагины или их  обновления. Воспользуйтесь диалогом репозитория плагинов для их загрузки.&lt;/p&gt;</translation>
     </message>
@@ -49749,7 +49769,7 @@
         <translation>Компилятор IDL CORBA</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="370"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="375"/>
         <source>(unknown)</source>
         <translation>(неизвестный)</translation>
     </message>
@@ -49764,12 +49784,12 @@
         <translation>(не настроено)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="372"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="377"/>
         <source>(not executable)</source>
         <translation>(не исполняемый)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="404"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="409"/>
         <source>(not found)</source>
         <translation>(не найдено)</translation>
     </message>
@@ -49838,6 +49858,11 @@
         <source>gRPC Compiler</source>
         <translation>Компилятор gRPC</translation>
     </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="356"/>
+        <source>(module not found)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Project</name>
--- a/i18n/eric6_tr.ts	Tue Jan 23 17:49:48 2018 +0100
+++ b/i18n/eric6_tr.ts	Wed Jan 24 12:37:53 2018 +0100
@@ -16255,22 +16255,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="78"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="99"/>
         <source>Allow</source>
         <translation type="unfinished">Kabul etmek</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="79"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="100"/>
         <source>Deny</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="101"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="122"/>
         <source>{0} wants to use an unknown feature.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="76"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="97"/>
         <source>Remember</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16294,6 +16294,16 @@
         <source>{0} wants to lock your mouse.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture audio and video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeaturePermissionsDialog</name>
@@ -16308,12 +16318,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="110"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="144"/>
         <source>Host</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="111"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="145"/>
         <source>Permission</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16333,12 +16343,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="126"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="165"/>
         <source>Allow</source>
         <translation type="unfinished">Kabul etmek</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="127"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="166"/>
         <source>Deny</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16372,6 +16382,16 @@
         <source>Mouse Lock</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="130"/>
+        <source>Desktop Video</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="146"/>
+        <source>Desktop Audio &amp;&amp; Video</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeedEditDialog</name>
@@ -49263,32 +49283,32 @@
         <translation>Eklenti etkinleştirme yöntemi uyuşmuyor.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>Plugin Manager Error</source>
         <translation>Eklenti Yöneticisi Hatası</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>&lt;p&gt;The plugin download directory &lt;b&gt;{0}&lt;/b&gt; could not be created. Please configure it via the configuration dialog.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;eklenti dizini &lt;b&gt;{0}&lt;/b&gt; oluşturulamıyor. Lütfen ayarlama diyaloğu aracılığı ile düzenleyin.&lt;/p&gt;&lt;p&gt;Sebep: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>Error downloading file</source>
         <translation type="unfinished">Dosya yüklenirken hata</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>New plugin versions available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>&lt;p&gt;There are new plug-ins or plug-in updates available. Use the plug-in repository dialog to get them.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -50443,7 +50463,7 @@
         <translation>CORBA IDL Derleyicisi</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="370"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="375"/>
         <source>(unknown)</source>
         <translation>(bilinmeyen)</translation>
     </message>
@@ -50458,12 +50478,12 @@
         <translation>(ayarlanmadı)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="372"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="377"/>
         <source>(not executable)</source>
         <translation>(yürütülemez)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="404"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="409"/>
         <source>(not found)</source>
         <translation>(bulunamadı)</translation>
     </message>
@@ -50532,6 +50552,11 @@
         <source>gRPC Compiler</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="356"/>
+        <source>(module not found)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Project</name>
--- a/i18n/eric6_zh_CN.ts	Tue Jan 23 17:49:48 2018 +0100
+++ b/i18n/eric6_zh_CN.ts	Wed Jan 24 12:37:53 2018 +0100
@@ -16277,22 +16277,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="78"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="99"/>
         <source>Allow</source>
         <translation>允许</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="79"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="100"/>
         <source>Deny</source>
         <translation>拒绝</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="101"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="122"/>
         <source>{0} wants to use an unknown feature.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="76"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="97"/>
         <source>Remember</source>
         <translation>记住</translation>
     </message>
@@ -16316,6 +16316,16 @@
         <source>{0} wants to lock your mouse.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionBar.py" line="61"/>
+        <source>{0} wants to capture audio and video of your screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeaturePermissionsDialog</name>
@@ -16330,12 +16340,12 @@
         <translation>通知</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="110"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="144"/>
         <source>Host</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="111"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="145"/>
         <source>Permission</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16355,12 +16365,12 @@
         <translation>地理位置</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="126"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="165"/>
         <source>Allow</source>
         <translation>允许</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="127"/>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="166"/>
         <source>Deny</source>
         <translation>拒绝</translation>
     </message>
@@ -16394,6 +16404,16 @@
         <source>Mouse Lock</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="130"/>
+        <source>Desktop Video</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py" line="146"/>
+        <source>Desktop Audio &amp;&amp; Video</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FeedEditDialog</name>
@@ -49235,7 +49255,7 @@
         <translation>插件激活方法不兼容。</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>Plugin Manager Error</source>
         <translation>插件管理错误</translation>
     </message>
@@ -49255,27 +49275,27 @@
         <translation>模块加载失败。错误:{0}</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1164"/>
+        <location filename="../PluginManager/PluginManager.py" line="1140"/>
         <source>&lt;p&gt;The plugin download directory &lt;b&gt;{0}&lt;/b&gt; could not be created. Please configure it via the configuration dialog.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;插件下载目录 &lt;b&gt;{0}&lt;/b&gt; 无法创建。请使用配置对话框进行配置。&lt;/p&gt;&lt;p&gt;原因:{1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>Error downloading file</source>
         <translation>下载文件出错</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1240"/>
+        <location filename="../PluginManager/PluginManager.py" line="1216"/>
         <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;无法从 {0} 下载指定文件。&lt;/p&gt;&lt;p&gt;错误:{1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>New plugin versions available</source>
         <translation>新插件版本可用</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginManager.py" line="1277"/>
+        <location filename="../PluginManager/PluginManager.py" line="1253"/>
         <source>&lt;p&gt;There are new plug-ins or plug-in updates available. Use the plug-in repository dialog to get them.&lt;/p&gt;</source>
         <translation>&lt;p&gt;有新的插件或插件更新可用。请使用插件仓库对话框来获取它们。&lt;/p&gt;</translation>
     </message>
@@ -50426,17 +50446,17 @@
         <translation>(未配置)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="372"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="377"/>
         <source>(not executable)</source>
         <translation>(不可执行)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="404"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="409"/>
         <source>(not found)</source>
         <translation>(未找到)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="370"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="375"/>
         <source>(unknown)</source>
         <translation>(未知)</translation>
     </message>
@@ -50525,6 +50545,11 @@
         <source>gRPC Compiler</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="356"/>
+        <source>(module not found)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Project</name>
Binary file icons/default/desktopAudioVideoCapture.png has changed
Binary file icons/default/desktopVideoCapture.png has changed

eric ide

mercurial