File Browser: changed it to react upon changed files if their contents is shown

Tue, 25 Aug 2020 16:26:11 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 25 Aug 2020 16:26:11 +0200
changeset 7677
d4d33990b355
parent 7676
0f67b4562d98
child 7678
285c786c4a9c

File Browser: changed it to react upon changed files if their contents is shown

docs/changelog file | annotate | diff | comparison | revisions
eric6/APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qch file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.UI.Browser.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.UI.BrowserModel.html file | annotate | diff | comparison | revisions
eric6/UI/Browser.py file | annotate | diff | comparison | revisions
eric6/UI/BrowserModel.py file | annotate | diff | comparison | revisions
eric6/i18n/eric6_cs.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_de.qm file | annotate | diff | comparison | revisions
eric6/i18n/eric6_de.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_empty.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_en.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_es.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_fr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_it.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_pt.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_ru.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_tr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_zh_CN.ts file | annotate | diff | comparison | revisions
--- a/docs/changelog	Tue Aug 25 14:53:43 2020 +0200
+++ b/docs/changelog	Tue Aug 25 16:26:11 2020 +0200
@@ -2,6 +2,8 @@
 ----------
 Version 20.9:
 - bug fixes
+- File Browser:
+  -- changed it to react upon changed files if their contents is shown
 - Tasks
   -- added separate task categories for 'Test' and 'Documentation' tasks
 - VCS Interfaces
--- a/eric6/APIs/Python3/eric6.api	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/APIs/Python3/eric6.api	Tue Aug 25 16:26:11 2020 +0200
@@ -8756,6 +8756,7 @@
 eric6.UI.BrowserModel.BrowserModel.columnCount?4(parent=None)
 eric6.UI.BrowserModel.BrowserModel.data?4(index, role)
 eric6.UI.BrowserModel.BrowserModel.directoryChanged?4(path)
+eric6.UI.BrowserModel.BrowserModel.fileChanged?4(fileName)
 eric6.UI.BrowserModel.BrowserModel.flags?4(index)
 eric6.UI.BrowserModel.BrowserModel.hasChildren?4(parent=None)
 eric6.UI.BrowserModel.BrowserModel.headerData?4(section, orientation, role=Qt.DisplayRole)
@@ -8772,6 +8773,7 @@
 eric6.UI.BrowserModel.BrowserModel.populateSysPathItem?4(parentItem, repopulate=False)
 eric6.UI.BrowserModel.BrowserModel.programChange?4(dirname)
 eric6.UI.BrowserModel.BrowserModel.removeToplevelDir?4(index)
+eric6.UI.BrowserModel.BrowserModel.repopulateFileItem?4(itm)
 eric6.UI.BrowserModel.BrowserModel.rowCount?4(parent=None)
 eric6.UI.BrowserModel.BrowserModel.saveToplevelDirs?4()
 eric6.UI.BrowserModel.BrowserModel?1(parent=None, nopopulate=False)
Binary file eric6/Documentation/Help/source.qch has changed
--- a/eric6/Documentation/Help/source.qhp	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/Documentation/Help/source.qhp	Tue Aug 25 16:26:11 2020 +0200
@@ -2101,6 +2101,7 @@
       <keyword name="Browser.__findInDirectory" id="Browser.__findInDirectory" ref="eric6.UI.Browser.html#Browser.__findInDirectory" />
       <keyword name="Browser.__newToplevelDir" id="Browser.__newToplevelDir" ref="eric6.UI.Browser.html#Browser.__newToplevelDir" />
       <keyword name="Browser.__refreshDirectory" id="Browser.__refreshDirectory" ref="eric6.UI.Browser.html#Browser.__refreshDirectory" />
+      <keyword name="Browser.__refreshSource" id="Browser.__refreshSource" ref="eric6.UI.Browser.html#Browser.__refreshSource" />
       <keyword name="Browser.__removeToplevel" id="Browser.__removeToplevel" ref="eric6.UI.Browser.html#Browser.__removeToplevel" />
       <keyword name="Browser.__replaceInDirectory" id="Browser.__replaceInDirectory" ref="eric6.UI.Browser.html#Browser.__replaceInDirectory" />
       <keyword name="Browser.__showMimeType" id="Browser.__showMimeType" ref="eric6.UI.Browser.html#Browser.__showMimeType" />
@@ -2233,6 +2234,7 @@
       <keyword name="BrowserModel.columnCount" id="BrowserModel.columnCount" ref="eric6.UI.BrowserModel.html#BrowserModel.columnCount" />
       <keyword name="BrowserModel.data" id="BrowserModel.data" ref="eric6.UI.BrowserModel.html#BrowserModel.data" />
       <keyword name="BrowserModel.directoryChanged" id="BrowserModel.directoryChanged" ref="eric6.UI.BrowserModel.html#BrowserModel.directoryChanged" />
+      <keyword name="BrowserModel.fileChanged" id="BrowserModel.fileChanged" ref="eric6.UI.BrowserModel.html#BrowserModel.fileChanged" />
       <keyword name="BrowserModel.flags" id="BrowserModel.flags" ref="eric6.UI.BrowserModel.html#BrowserModel.flags" />
       <keyword name="BrowserModel.hasChildren" id="BrowserModel.hasChildren" ref="eric6.UI.BrowserModel.html#BrowserModel.hasChildren" />
       <keyword name="BrowserModel.headerData" id="BrowserModel.headerData" ref="eric6.UI.BrowserModel.html#BrowserModel.headerData" />
@@ -2249,6 +2251,7 @@
       <keyword name="BrowserModel.populateSysPathItem" id="BrowserModel.populateSysPathItem" ref="eric6.UI.BrowserModel.html#BrowserModel.populateSysPathItem" />
       <keyword name="BrowserModel.programChange" id="BrowserModel.programChange" ref="eric6.UI.BrowserModel.html#BrowserModel.programChange" />
       <keyword name="BrowserModel.removeToplevelDir" id="BrowserModel.removeToplevelDir" ref="eric6.UI.BrowserModel.html#BrowserModel.removeToplevelDir" />
+      <keyword name="BrowserModel.repopulateFileItem" id="BrowserModel.repopulateFileItem" ref="eric6.UI.BrowserModel.html#BrowserModel.repopulateFileItem" />
       <keyword name="BrowserModel.rowCount" id="BrowserModel.rowCount" ref="eric6.UI.BrowserModel.html#BrowserModel.rowCount" />
       <keyword name="BrowserModel.saveToplevelDirs" id="BrowserModel.saveToplevelDirs" ref="eric6.UI.BrowserModel.html#BrowserModel.saveToplevelDirs" />
       <keyword name="BrowserSortFilterProxyModel" id="BrowserSortFilterProxyModel" ref="eric6.UI.BrowserSortFilterProxyModel.html#BrowserSortFilterProxyModel" />
--- a/eric6/Documentation/Source/eric6.UI.Browser.html	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/Documentation/Source/eric6.UI.Browser.html	Tue Aug 25 16:26:11 2020 +0200
@@ -171,6 +171,10 @@
 <td>Private slot to refresh a directory entry.</td>
 </tr>
 <tr>
+<td><a href="#Browser.__refreshSource">__refreshSource</a></td>
+<td>Private slot to refresh the structure of a source file.</td>
+</tr>
+<tr>
 <td><a href="#Browser.__removeToplevel">__removeToplevel</a></td>
 <td>Private slot to handle the Remove from toplevel popup menu entry.</td>
 </tr>
@@ -330,6 +334,13 @@
 <p>
         Private slot to refresh a directory entry.
 </p>
+<a NAME="Browser.__refreshSource" ID="Browser.__refreshSource"></a>
+<h4>Browser.__refreshSource</h4>
+<b>__refreshSource</b>(<i></i>)
+
+<p>
+        Private slot to refresh the structure of a source file.
+</p>
 <a NAME="Browser.__removeToplevel" ID="Browser.__removeToplevel"></a>
 <h4>Browser.__removeToplevel</h4>
 <b>__removeToplevel</b>(<i></i>)
--- a/eric6/Documentation/Source/eric6.UI.BrowserModel.html	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/Documentation/Source/eric6.UI.BrowserModel.html	Tue Aug 25 16:26:11 2020 +0200
@@ -2188,6 +2188,10 @@
 <td>Public slot to handle the directoryChanged signal of the watcher.</td>
 </tr>
 <tr>
+<td><a href="#BrowserModel.fileChanged">fileChanged</a></td>
+<td>Public method to react upon file changes.</td>
+</tr>
+<tr>
 <td><a href="#BrowserModel.flags">flags</a></td>
 <td>Public method to get the item flags.</td>
 </tr>
@@ -2252,6 +2256,10 @@
 <td>Public method to remove a toplevel directory.</td>
 </tr>
 <tr>
+<td><a href="#BrowserModel.repopulateFileItem">repopulateFileItem</a></td>
+<td>Public method to repopulate a file item.</td>
+</tr>
+<tr>
 <td><a href="#BrowserModel.rowCount">rowCount</a></td>
 <td>Public method to get the number of rows.</td>
 </tr>
@@ -2435,6 +2443,20 @@
 path of the directory (string)
 </dd>
 </dl>
+<a NAME="BrowserModel.fileChanged" ID="BrowserModel.fileChanged"></a>
+<h4>BrowserModel.fileChanged</h4>
+<b>fileChanged</b>(<i>fileName</i>)
+
+<p>
+        Public method to react upon file changes.
+</p>
+<dl>
+
+<dt><i>fileName</i> (str)</dt>
+<dd>
+path of the changed file
+</dd>
+</dl>
 <a NAME="BrowserModel.flags" ID="BrowserModel.flags"></a>
 <h4>BrowserModel.flags</h4>
 <b>flags</b>(<i>index</i>)
@@ -2746,6 +2768,20 @@
             (QModelIndex)
 </dd>
 </dl>
+<a NAME="BrowserModel.repopulateFileItem" ID="BrowserModel.repopulateFileItem"></a>
+<h4>BrowserModel.repopulateFileItem</h4>
+<b>repopulateFileItem</b>(<i>itm</i>)
+
+<p>
+        Public method to repopulate a file item.
+</p>
+<dl>
+
+<dt><i>itm</i> (BrowserFileItem)</dt>
+<dd>
+reference to the item to be repopulated
+</dd>
+</dl>
 <a NAME="BrowserModel.rowCount" ID="BrowserModel.rowCount"></a>
 <h4>BrowserModel.rowCount</h4>
 <b>rowCount</b>(<i>parent=None</i>)
--- a/eric6/UI/Browser.py	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/UI/Browser.py	Tue Aug 25 16:26:11 2020 +0200
@@ -218,6 +218,10 @@
             self.__showMimeType)
         self.sourceMenu.addSeparator()
         self.sourceMenu.addAction(
+            QCoreApplication.translate('Browser', 'Refresh Source File'),
+            self.__refreshSource)
+        self.sourceMenu.addSeparator()
+        self.sourceMenu.addAction(
             QCoreApplication.translate('Browser', 'Copy Path to Clipboard'),
             self._copyToClipboard)
         
@@ -510,7 +514,15 @@
                     if ok:
                         textMimeTypesList.append(mimetype)
                         Preferences.setUI("TextMimeTypes", textMimeTypesList)
-        
+    
+    def __refreshSource(self):
+        """
+        Private slot to refresh the structure of a source file.
+        """
+        itmList = self.getSelectedItems([BrowserFileItem])
+        if itmList:
+            self.__model.repopulateFileItem(itmList[0])
+    
     def _editPixmap(self):
         """
         Protected slot to handle the open in icon editor popup menu entry.
--- a/eric6/UI/BrowserModel.py	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/UI/BrowserModel.py	Tue Aug 25 16:26:11 2020 +0200
@@ -57,8 +57,10 @@
         
         if not nopopulate:
             self.watchedItems = {}
+            self.watchedFileItems = {}
             self.watcher = QFileSystemWatcher(self)
             self.watcher.directoryChanged.connect(self.directoryChanged)
+            self.watcher.fileChanged.connect(self.fileChanged)
             
             rootData = QCoreApplication.translate("BrowserModel", "Name")
             self.rootItem = BrowserItem(None, rootData)
@@ -691,6 +693,44 @@
             if repopulate:
                 self.endInsertRows()
         parentItem._populated = True
+        if fileName not in self.watchedFileItems:
+            self.watcher.addPath(fileName)
+            self.watchedFileItems[fileName] = parentItem
+
+    def repopulateFileItem(self, itm):
+        """
+        Public method to repopulate a file item.
+        
+        @param itm reference to the item to be repopulated
+        @type BrowserFileItem
+        """
+        if isinstance(itm, BrowserFileItem) and itm.isLazyPopulated():
+            if not itm.isPopulated():
+                # item is not populated yet, nothing to do
+                return
+            
+            if itm.childCount():
+                index = self.createIndex(itm.row(), 0, itm)
+                self.beginRemoveRows(index, 0, itm.childCount() - 1)
+                itm.removeChildren()
+                self.endRemoveRows()
+            
+            self.populateFileItem(itm, True)
+
+    def fileChanged(self, fileName):
+        """
+        Public method to react upon file changes.
+        
+        @param fileName path of the changed file
+        @type str
+        """
+        if fileName in self.watchedFileItems:
+            if os.path.exists(fileName):
+                # the file was changed
+                self.repopulateFileItem(self.watchedFileItems[fileName])
+            else:
+                # the file does not exist anymore
+                del self.watchedFileItems[fileName]
 
     def populateClassItem(self, parentItem, repopulate=False):
         """
--- a/eric6/i18n/eric6_cs.ts	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/i18n/eric6_cs.ts	Tue Aug 25 16:26:11 2020 +0200
@@ -2297,7 +2297,7 @@
         <translation>Prohlížeč souborů</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="245"/>
+        <location filename="../UI/Browser.py" line="249"/>
         <source>Open</source>
         <translation>Otevřít</translation>
     </message>
@@ -2307,27 +2307,27 @@
         <translation>Spustit unittest...</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="290"/>
+        <location filename="../UI/Browser.py" line="294"/>
         <source>New toplevel directory...</source>
         <translation>Nový adresář toplevel...</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="253"/>
+        <location filename="../UI/Browser.py" line="257"/>
         <source>Add as toplevel directory</source>
         <translation>Přidat jako toplevel adresář</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="256"/>
+        <location filename="../UI/Browser.py" line="260"/>
         <source>Remove from toplevel</source>
         <translation>Odebrat z toplevelu</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="264"/>
+        <location filename="../UI/Browser.py" line="268"/>
         <source>Find in this directory</source>
         <translation>Hledat v tomto adresáři</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="570"/>
+        <location filename="../UI/Browser.py" line="582"/>
         <source>New toplevel directory</source>
         <translation>Nový toplevel adresář</translation>
     </message>
@@ -2342,27 +2342,27 @@
         <translation type="obsolete">Konfigurovat...</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="231"/>
+        <location filename="../UI/Browser.py" line="235"/>
         <source>Open in Icon Editor</source>
         <translation>Otevřit v editoru ikon</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="271"/>
+        <location filename="../UI/Browser.py" line="275"/>
         <source>Copy Path to Clipboard</source>
         <translation>Kopírovat cestu do schránky</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="260"/>
+        <location filename="../UI/Browser.py" line="264"/>
         <source>Refresh directory</source>
         <translation>Obnovit složku</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="276"/>
+        <location filename="../UI/Browser.py" line="280"/>
         <source>Goto</source>
         <translation type="unfinished">Jít na</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="381"/>
+        <location filename="../UI/Browser.py" line="385"/>
         <source>Line {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2372,65 +2372,70 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>Show Mime-Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="474"/>
+        <location filename="../UI/Browser.py" line="478"/>
         <source>The mime type of the file could not be determined.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="492"/>
+        <location filename="../UI/Browser.py" line="496"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt; Shall it be added to the list of text mime types?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="228"/>
+        <location filename="../UI/Browser.py" line="232"/>
         <source>Open in Hex Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="267"/>
+        <location filename="../UI/Browser.py" line="271"/>
         <source>Find &amp;&amp; Replace in this directory</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../UI/Browser.py" line="220"/>
+        <source>Refresh Source File</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>BrowserModel</name>
     <message>
-        <location filename="../UI/BrowserModel.py" line="63"/>
+        <location filename="../UI/BrowserModel.py" line="65"/>
         <source>Name</source>
         <translation>Jméno</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="731"/>
+        <location filename="../UI/BrowserModel.py" line="771"/>
         <source>Attributes</source>
         <translation>Atributy</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="661"/>
+        <location filename="../UI/BrowserModel.py" line="663"/>
         <source>Globals</source>
         <translation>Globální</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="655"/>
+        <location filename="../UI/BrowserModel.py" line="657"/>
         <source>Coding: {0}</source>
         <translation>Kódování: {0}</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="741"/>
+        <location filename="../UI/BrowserModel.py" line="781"/>
         <source>Class Attributes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="667"/>
+        <location filename="../UI/BrowserModel.py" line="669"/>
         <source>Imports</source>
         <translation type="unfinished"></translation>
     </message>
@@ -26515,27 +26520,27 @@
 <context>
     <name>Globals</name>
     <message>
-        <location filename="../Globals/__init__.py" line="448"/>
+        <location filename="../Globals/__init__.py" line="452"/>
         <source>{0:4.2f} Bytes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Globals/__init__.py" line="452"/>
-        <source>{0:4.2f} KiB</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Globals/__init__.py" line="456"/>
-        <source>{0:4.2f} MiB</source>
+        <source>{0:4.2f} KiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="460"/>
-        <source>{0:4.2f} GiB</source>
+        <source>{0:4.2f} MiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="464"/>
+        <source>{0:4.2f} GiB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Globals/__init__.py" line="468"/>
         <source>{0:4.2f} TiB</source>
         <translation type="unfinished"></translation>
     </message>
@@ -52901,7 +52906,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="631"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="636"/>
         <source>&lt;p&gt;ReStructuredText preview requires the &lt;b&gt;python-docutils&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install docutils&apos; or see &lt;a href=&quot;http://pypi.python.org/pypi/docutils&quot;&gt;this page.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -52911,12 +52916,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="674"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="679"/>
         <source>&lt;p&gt;Markdown preview requires the &lt;b&gt;Markdown&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install Markdown&apos; or see &lt;a href=&quot;http://pythonhosted.org/Markdown/install.html&quot;&gt;installation instructions.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="646"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="651"/>
         <source>&lt;p&gt;Docutils returned an error:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -63254,17 +63259,17 @@
 <context>
     <name>SafariImporter</name>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Apple Safari stores its bookmarks in the &lt;b&gt;Bookmarks.plist&lt;/b&gt; file. This file is usually located in</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Please choose the file to begin importing bookmarks.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="92"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="90"/>
         <source>File &apos;{0}&apos; does not exist.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -85679,12 +85684,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="92"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
         <source>Press to edit the selected virtual environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="98"/>
         <source>Edit...</source>
         <translation type="unfinished">Editovat...</translation>
     </message>
Binary file eric6/i18n/eric6_de.qm has changed
--- a/eric6/i18n/eric6_de.ts	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/i18n/eric6_de.ts	Tue Aug 25 16:26:11 2020 +0200
@@ -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>
@@ -2052,8 +2053,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="171"/>
-        <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="175"/>
@@ -2121,8 +2122,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="91"/>
-        <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="95"/>
@@ -2264,7 +2265,7 @@
 <context>
     <name>Browser</name>
     <message>
-        <location filename="../UI/Browser.py" line="245"/>
+        <location filename="../UI/Browser.py" line="249"/>
         <source>Open</source>
         <translation>Öffnen</translation>
     </message>
@@ -2279,52 +2280,52 @@
         <translation>Dateibrowser</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="290"/>
+        <location filename="../UI/Browser.py" line="294"/>
         <source>New toplevel directory...</source>
         <translation>Neuer übergeordneter Ordner …</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="256"/>
+        <location filename="../UI/Browser.py" line="260"/>
         <source>Remove from toplevel</source>
         <translation>Vom Anfang entfernen</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="253"/>
+        <location filename="../UI/Browser.py" line="257"/>
         <source>Add as toplevel directory</source>
         <translation>Als übergeordneten Ordner hinzufügen</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="570"/>
+        <location filename="../UI/Browser.py" line="582"/>
         <source>New toplevel directory</source>
         <translation>Neuer übergeordneter Ordner</translation>
     </message>
     <message>
+        <location filename="../UI/Browser.py" line="268"/>
+        <source>Find in this directory</source>
+        <translation>In diesem Verzeichnis suchen</translation>
+    </message>
+    <message>
+        <location filename="../UI/Browser.py" line="235"/>
+        <source>Open in Icon Editor</source>
+        <translation>Mit Icon-Editor öffnen</translation>
+    </message>
+    <message>
+        <location filename="../UI/Browser.py" line="275"/>
+        <source>Copy Path to Clipboard</source>
+        <translation>Pfad in die Zwischenablage kopieren</translation>
+    </message>
+    <message>
         <location filename="../UI/Browser.py" line="264"/>
-        <source>Find in this directory</source>
-        <translation>In diesem Verzeichnis suchen</translation>
-    </message>
-    <message>
-        <location filename="../UI/Browser.py" line="231"/>
-        <source>Open in Icon Editor</source>
-        <translation>Mit Icon-Editor öffnen</translation>
-    </message>
-    <message>
-        <location filename="../UI/Browser.py" line="271"/>
-        <source>Copy Path to Clipboard</source>
-        <translation>Pfad in die Zwischenablage kopieren</translation>
-    </message>
-    <message>
-        <location filename="../UI/Browser.py" line="260"/>
         <source>Refresh directory</source>
         <translation>Verzeichnis aktualisieren</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="276"/>
+        <location filename="../UI/Browser.py" line="280"/>
         <source>Goto</source>
         <translation>Gehe zu</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="381"/>
+        <location filename="../UI/Browser.py" line="385"/>
         <source>Line {0}</source>
         <translation>Zeile {0}</translation>
     </message>
@@ -2334,65 +2335,70 @@
         <translation>&lt;b&gt;Das Browserfenster&lt;/b&gt;&lt;p&gt;Dies erlaubt es Ihnen, sich leicht in der Verzeichnishierarchie Ihres Systems zu bewegen, Python-Programme zu identifizieren und diese in einem Quelltextfenster zu öffnen. Das Fenster stellt verschiedene Hierarchien dar.&lt;/p&gt;&lt;p&gt;Die erste wird nur angezeigt, wenn ein Programm zum debuggen geöffnet ist. Gewöhnlich werden alle zum Programm zugehörigen Python-Dateien im selben Verzeichnis gespeichert, so dass Sie über diese Hierarchie Zugriff auf das am meisten Benötigte haben.&lt;/p&gt;&lt;p&gt;Die nächste Hierarchie wird verwendet, um sich in den in der Python-Variable &lt;tt&gt;sys.path&lt;/tt&gt; gespeicherten Verzeichnissen zu bewegen.&lt;/p&gt;&lt;p&gt;Die restlichen Hierachien erlauben die Navigation im gesamten System. Unter Unix wird gewöhnlich ein Verzeichnis mit &lt;tt&gt;/&lt;/tt&gt; als Wurzel und eines mit dem Home-Verzeichnis des Nutzers angezeigt. Auf einem Windows-System wird eine Hierarchie pro Laufwerk angezeigt.&lt;/p&gt;&lt;p&gt;Python-Programme (Dateien mit der Endung &lt;tt&gt;.py&lt;/tt&gt;) werden mit einem Python-Symbol dargestellt. Ein Rechtsklick bringt ein Kontextmenü, über das die Datei in einem Editor, zum Debuggen oder für einen Modultest geöffnet werden kann.&lt;/p&gt;&lt;p&gt;Das Kontextmenü einer Klasse, einer Funktion oder einer Methode öffnet die Datei, in der diese Klasse, Funktion oder Methode definiert ist, und stellt sicher, dass die richtige Codezeile sichtbar ist.&lt;/p&gt;&lt;p&gt;Qt-Designer-Dateien (Dateien mit der Endung &lt;tt&gt;.ui&lt;/tt&gt;) werden mit einem Designer-Symbol dargestellt. Das Kontextmenü dieser Dateien erlaubt es, sie im Qt Designer zu öffnen.&lt;/p&gt;&lt;p&gt;Qt-Linguist-Dateien (Dateien mit der Endung &lt;tt&gt;.ts&lt;/tt&gt;) werden mit einem Linguist-Symbol dargestellt. Das Kontextmenü dieser Dateien erlaubt es, sie im Qt Linguist zu öffnen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>Show Mime-Type</source>
         <translation>MIME-Typ anzeigen</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="474"/>
+        <location filename="../UI/Browser.py" line="478"/>
         <source>The mime type of the file could not be determined.</source>
         <translation>Der MIME-Typ der Datei konnte nicht ermittelt werden.</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="492"/>
+        <location filename="../UI/Browser.py" line="496"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.</source>
         <translation>Die Datei hat den MIME-Typ &lt;b&gt;{0}&lt;/b&gt;.</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt; Shall it be added to the list of text mime types?</source>
         <translation>Die Datei hat den MIME-Typ &lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt;Soll sie zur Liste der Text MIME-Typen hinzugefügt werden?</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="228"/>
+        <location filename="../UI/Browser.py" line="232"/>
         <source>Open in Hex Editor</source>
         <translation>Mit Hex-Editor öffnen</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="267"/>
+        <location filename="../UI/Browser.py" line="271"/>
         <source>Find &amp;&amp; Replace in this directory</source>
         <translation>In diesem Verzeichnis suchen &amp;&amp; ersetzen</translation>
     </message>
+    <message>
+        <location filename="../UI/Browser.py" line="220"/>
+        <source>Refresh Source File</source>
+        <translation>Quelltextdatei aktualisieren</translation>
+    </message>
 </context>
 <context>
     <name>BrowserModel</name>
     <message>
-        <location filename="../UI/BrowserModel.py" line="63"/>
+        <location filename="../UI/BrowserModel.py" line="65"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="731"/>
+        <location filename="../UI/BrowserModel.py" line="771"/>
         <source>Attributes</source>
         <translation>Attribute</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="655"/>
+        <location filename="../UI/BrowserModel.py" line="657"/>
         <source>Coding: {0}</source>
         <translation>Kodierung: {0}</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="661"/>
+        <location filename="../UI/BrowserModel.py" line="663"/>
         <source>Globals</source>
         <translation>Globale Variablen</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="741"/>
+        <location filename="../UI/BrowserModel.py" line="781"/>
         <source>Class Attributes</source>
         <translation>Klassenattribute</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="667"/>
+        <location filename="../UI/BrowserModel.py" line="669"/>
         <source>Imports</source>
         <translation>Importe</translation>
     </message>
@@ -25927,27 +25933,27 @@
 <context>
     <name>Globals</name>
     <message>
-        <location filename="../Globals/__init__.py" line="448"/>
+        <location filename="../Globals/__init__.py" line="452"/>
         <source>{0:4.2f} Bytes</source>
         <translation>{0:4.2f} Bytes</translation>
     </message>
     <message>
-        <location filename="../Globals/__init__.py" line="452"/>
-        <source>{0:4.2f} KiB</source>
-        <translation>{0:4.2f} KiB</translation>
-    </message>
-    <message>
         <location filename="../Globals/__init__.py" line="456"/>
-        <source>{0:4.2f} MiB</source>
-        <translation>{0:4.2f} MiB</translation>
+        <source>{0:4.2f} KiB</source>
+        <translation>{0:4.2f} KiB</translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="460"/>
-        <source>{0:4.2f} GiB</source>
-        <translation>{0:4.2f} GiB</translation>
+        <source>{0:4.2f} MiB</source>
+        <translation>{0:4.2f} MiB</translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="464"/>
+        <source>{0:4.2f} GiB</source>
+        <translation>{0:4.2f} GiB</translation>
+    </message>
+    <message>
+        <location filename="../Globals/__init__.py" line="468"/>
         <source>{0:4.2f} TiB</source>
         <translation>{0:4.2f} TiB</translation>
     </message>
@@ -44289,12 +44295,12 @@
     </message>
     <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1051"/>
-        <source>&#xc2;&#xb5;Py Chart</source>
+        <source>µPy Chart</source>
         <translation>µPy Chart</translation>
     </message>
     <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1131"/>
-        <source>&#xc2;&#xb5;Py Files</source>
+        <source>µPy Files</source>
         <translation>µPy Dateien</translation>
     </message>
     <message>
@@ -49703,7 +49709,7 @@
         <translation>&lt;p&gt;Für diesen Dateityp ist keine Vorschau verfügbar.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="631"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="636"/>
         <source>&lt;p&gt;ReStructuredText preview requires the &lt;b&gt;python-docutils&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install docutils&apos; or see &lt;a href=&quot;http://pypi.python.org/pypi/docutils&quot;&gt;this page.&lt;/a&gt;&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die ReStructuredText-Vorschau erfordert das &lt;b&gt;python-docutils&lt;/b&gt;-Paket.&lt;br/&gt;Installiere es mit dem Paketmanager,&apos;pip install docutils&apos; oder siehe &lt;a href=&quot;http://pypi.python.org/pypi/docutils&quot;&gt;diese Seite.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
@@ -49713,12 +49719,12 @@
         <translation>&lt;p&gt;Die ReStructuredText-Vorschau erfordert das &lt;b&gt;sphinx&lt;/b&gt;-Paket.&lt;br/&gt;Installiere es mit dem Paketmanager,&apos;pip install Sphinx&apos; oder siehe &lt;a href=&quot;http://pypi.python.org/pypi/Sphinx&quot;&gt;diese Seite.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Alternativ kann die Verwendung von Sphinx auf der Konfigurationsseite Editor, Dateibehandlung deaktiviert werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="674"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="679"/>
         <source>&lt;p&gt;Markdown preview requires the &lt;b&gt;Markdown&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install Markdown&apos; or see &lt;a href=&quot;http://pythonhosted.org/Markdown/install.html&quot;&gt;installation instructions.&lt;/a&gt;&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Markdown-Vorschau erfordert das &lt;b&gt;Markdown&lt;/b&gt;-Paket.&lt;br/&gt;Installiere es mit dem Paketmanager, &apos;pip install Markdown&apos; oder siehe &lt;a href=&quot;http://pythonhosted.org/Markdown/install.html&quot;&gt;die Installationsanleitung.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="646"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="651"/>
         <source>&lt;p&gt;Docutils returned an error:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Docutils lieferte einen Fehler zurück:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
@@ -60003,17 +60009,17 @@
 <context>
     <name>SafariImporter</name>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Apple Safari stores its bookmarks in the &lt;b&gt;Bookmarks.plist&lt;/b&gt; file. This file is usually located in</source>
         <translation>Apple Safari speichert die Lesezeichen in der Datei &lt;b&gt;Bookmarks.plist&lt;/b&gt;. Diese Datei befindet sich gewöhnlich in</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Please choose the file to begin importing bookmarks.</source>
         <translation>Bitte wähle die Datei, um den Import von Lesezeichen zu starten.</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="92"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="90"/>
         <source>File &apos;{0}&apos; does not exist.</source>
         <translation>Datei „{0}“ existiert nicht.</translation>
     </message>
@@ -82229,12 +82235,12 @@
         <translation>Neu...</translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="92"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
         <source>Press to edit the selected virtual environment</source>
         <translation>Drücken, um die ausgewählte virtuelle Umgebung zu bearbeiten</translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="98"/>
         <source>Edit...</source>
         <translation>Bearbeiten...</translation>
     </message>
@@ -84261,8 +84267,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/WebBrowserView.py" line="676"/>
-        <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="682"/>
--- a/eric6/i18n/eric6_empty.ts	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/i18n/eric6_empty.ts	Tue Aug 25 16:26:11 2020 +0200
@@ -2252,7 +2252,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="245"/>
+        <location filename="../UI/Browser.py" line="249"/>
         <source>Open</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2262,115 +2262,120 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>Show Mime-Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="271"/>
+        <location filename="../UI/Browser.py" line="275"/>
         <source>Copy Path to Clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="228"/>
+        <location filename="../UI/Browser.py" line="232"/>
         <source>Open in Hex Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="231"/>
+        <location filename="../UI/Browser.py" line="235"/>
         <source>Open in Icon Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="290"/>
+        <location filename="../UI/Browser.py" line="294"/>
         <source>New toplevel directory...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="253"/>
+        <location filename="../UI/Browser.py" line="257"/>
         <source>Add as toplevel directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="256"/>
-        <source>Remove from toplevel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../UI/Browser.py" line="260"/>
-        <source>Refresh directory</source>
+        <source>Remove from toplevel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../UI/Browser.py" line="264"/>
+        <source>Refresh directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../UI/Browser.py" line="268"/>
         <source>Find in this directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="276"/>
+        <location filename="../UI/Browser.py" line="280"/>
         <source>Goto</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="381"/>
+        <location filename="../UI/Browser.py" line="385"/>
         <source>Line {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="474"/>
+        <location filename="../UI/Browser.py" line="478"/>
         <source>The mime type of the file could not be determined.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="492"/>
+        <location filename="../UI/Browser.py" line="496"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt; Shall it be added to the list of text mime types?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="570"/>
+        <location filename="../UI/Browser.py" line="582"/>
         <source>New toplevel directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="267"/>
+        <location filename="../UI/Browser.py" line="271"/>
         <source>Find &amp;&amp; Replace in this directory</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../UI/Browser.py" line="220"/>
+        <source>Refresh Source File</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>BrowserModel</name>
     <message>
-        <location filename="../UI/BrowserModel.py" line="63"/>
+        <location filename="../UI/BrowserModel.py" line="65"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="655"/>
+        <location filename="../UI/BrowserModel.py" line="657"/>
         <source>Coding: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="661"/>
+        <location filename="../UI/BrowserModel.py" line="663"/>
         <source>Globals</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="667"/>
+        <location filename="../UI/BrowserModel.py" line="669"/>
         <source>Imports</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="731"/>
+        <location filename="../UI/BrowserModel.py" line="771"/>
         <source>Attributes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="741"/>
+        <location filename="../UI/BrowserModel.py" line="781"/>
         <source>Class Attributes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -25765,27 +25770,27 @@
 <context>
     <name>Globals</name>
     <message>
-        <location filename="../Globals/__init__.py" line="448"/>
+        <location filename="../Globals/__init__.py" line="452"/>
         <source>{0:4.2f} Bytes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Globals/__init__.py" line="452"/>
-        <source>{0:4.2f} KiB</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Globals/__init__.py" line="456"/>
-        <source>{0:4.2f} MiB</source>
+        <source>{0:4.2f} KiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="460"/>
-        <source>{0:4.2f} GiB</source>
+        <source>{0:4.2f} MiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="464"/>
+        <source>{0:4.2f} GiB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Globals/__init__.py" line="468"/>
         <source>{0:4.2f} TiB</source>
         <translation type="unfinished"></translation>
     </message>
@@ -49457,17 +49462,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="631"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="636"/>
         <source>&lt;p&gt;ReStructuredText preview requires the &lt;b&gt;python-docutils&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install docutils&apos; or see &lt;a href=&quot;http://pypi.python.org/pypi/docutils&quot;&gt;this page.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="674"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="679"/>
         <source>&lt;p&gt;Markdown preview requires the &lt;b&gt;Markdown&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install Markdown&apos; or see &lt;a href=&quot;http://pythonhosted.org/Markdown/install.html&quot;&gt;installation instructions.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="646"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="651"/>
         <source>&lt;p&gt;Docutils returned an error:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -59561,17 +59566,17 @@
 <context>
     <name>SafariImporter</name>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Apple Safari stores its bookmarks in the &lt;b&gt;Bookmarks.plist&lt;/b&gt; file. This file is usually located in</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Please choose the file to begin importing bookmarks.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="92"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="90"/>
         <source>File &apos;{0}&apos; does not exist.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -81567,12 +81572,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="92"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
         <source>Press to edit the selected virtual environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="98"/>
         <source>Edit...</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_en.ts	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/i18n/eric6_en.ts	Tue Aug 25 16:26:11 2020 +0200
@@ -2247,7 +2247,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="245"/>
+        <location filename="../UI/Browser.py" line="249"/>
         <source>Open</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2257,52 +2257,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="271"/>
+        <location filename="../UI/Browser.py" line="275"/>
         <source>Copy Path to Clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="231"/>
+        <location filename="../UI/Browser.py" line="235"/>
         <source>Open in Icon Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="290"/>
+        <location filename="../UI/Browser.py" line="294"/>
         <source>New toplevel directory...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="253"/>
+        <location filename="../UI/Browser.py" line="257"/>
         <source>Add as toplevel directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="256"/>
-        <source>Remove from toplevel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../UI/Browser.py" line="260"/>
-        <source>Refresh directory</source>
+        <source>Remove from toplevel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../UI/Browser.py" line="264"/>
+        <source>Refresh directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../UI/Browser.py" line="268"/>
         <source>Find in this directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="570"/>
+        <location filename="../UI/Browser.py" line="582"/>
         <source>New toplevel directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="276"/>
+        <location filename="../UI/Browser.py" line="280"/>
         <source>Goto</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="381"/>
+        <location filename="../UI/Browser.py" line="385"/>
         <source>Line {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2312,65 +2312,70 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>Show Mime-Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="474"/>
+        <location filename="../UI/Browser.py" line="478"/>
         <source>The mime type of the file could not be determined.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="492"/>
+        <location filename="../UI/Browser.py" line="496"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt; Shall it be added to the list of text mime types?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="228"/>
+        <location filename="../UI/Browser.py" line="232"/>
         <source>Open in Hex Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="267"/>
+        <location filename="../UI/Browser.py" line="271"/>
         <source>Find &amp;&amp; Replace in this directory</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../UI/Browser.py" line="220"/>
+        <source>Refresh Source File</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>BrowserModel</name>
     <message>
-        <location filename="../UI/BrowserModel.py" line="63"/>
+        <location filename="../UI/BrowserModel.py" line="65"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="655"/>
+        <location filename="../UI/BrowserModel.py" line="657"/>
         <source>Coding: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="661"/>
+        <location filename="../UI/BrowserModel.py" line="663"/>
         <source>Globals</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="731"/>
+        <location filename="../UI/BrowserModel.py" line="771"/>
         <source>Attributes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="741"/>
+        <location filename="../UI/BrowserModel.py" line="781"/>
         <source>Class Attributes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="667"/>
+        <location filename="../UI/BrowserModel.py" line="669"/>
         <source>Imports</source>
         <translation type="unfinished"></translation>
     </message>
@@ -25785,27 +25790,27 @@
 <context>
     <name>Globals</name>
     <message>
-        <location filename="../Globals/__init__.py" line="448"/>
+        <location filename="../Globals/__init__.py" line="452"/>
         <source>{0:4.2f} Bytes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Globals/__init__.py" line="452"/>
-        <source>{0:4.2f} KiB</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Globals/__init__.py" line="456"/>
-        <source>{0:4.2f} MiB</source>
+        <source>{0:4.2f} KiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="460"/>
-        <source>{0:4.2f} GiB</source>
+        <source>{0:4.2f} MiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="464"/>
+        <source>{0:4.2f} GiB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Globals/__init__.py" line="468"/>
         <source>{0:4.2f} TiB</source>
         <translation type="unfinished"></translation>
     </message>
@@ -49494,7 +49499,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="631"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="636"/>
         <source>&lt;p&gt;ReStructuredText preview requires the &lt;b&gt;python-docutils&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install docutils&apos; or see &lt;a href=&quot;http://pypi.python.org/pypi/docutils&quot;&gt;this page.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -49504,12 +49509,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="674"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="679"/>
         <source>&lt;p&gt;Markdown preview requires the &lt;b&gt;Markdown&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install Markdown&apos; or see &lt;a href=&quot;http://pythonhosted.org/Markdown/install.html&quot;&gt;installation instructions.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="646"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="651"/>
         <source>&lt;p&gt;Docutils returned an error:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -59605,17 +59610,17 @@
 <context>
     <name>SafariImporter</name>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Apple Safari stores its bookmarks in the &lt;b&gt;Bookmarks.plist&lt;/b&gt; file. This file is usually located in</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Please choose the file to begin importing bookmarks.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="92"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="90"/>
         <source>File &apos;{0}&apos; does not exist.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -81614,12 +81619,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="92"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
         <source>Press to edit the selected virtual environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="98"/>
         <source>Edit...</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_es.ts	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/i18n/eric6_es.ts	Tue Aug 25 16:26:11 2020 +0200
@@ -2266,7 +2266,7 @@
         <translation>Explorador de archivos</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="245"/>
+        <location filename="../UI/Browser.py" line="249"/>
         <source>Open</source>
         <translation>Abrir</translation>
     </message>
@@ -2276,52 +2276,52 @@
         <translation>Ejecutar test unitario...</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="290"/>
+        <location filename="../UI/Browser.py" line="294"/>
         <source>New toplevel directory...</source>
         <translation>Nuevo directorio raíz...</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="253"/>
+        <location filename="../UI/Browser.py" line="257"/>
         <source>Add as toplevel directory</source>
         <translation>Añadir como directorio raíz</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="256"/>
+        <location filename="../UI/Browser.py" line="260"/>
         <source>Remove from toplevel</source>
         <translation>Quitar de la raíz</translation>
     </message>
     <message>
+        <location filename="../UI/Browser.py" line="268"/>
+        <source>Find in this directory</source>
+        <translation>Buscar en este directorio</translation>
+    </message>
+    <message>
+        <location filename="../UI/Browser.py" line="582"/>
+        <source>New toplevel directory</source>
+        <translation>Nuevo directorio raíz</translation>
+    </message>
+    <message>
+        <location filename="../UI/Browser.py" line="235"/>
+        <source>Open in Icon Editor</source>
+        <translation>Abrir en Editor de Iconos</translation>
+    </message>
+    <message>
+        <location filename="../UI/Browser.py" line="275"/>
+        <source>Copy Path to Clipboard</source>
+        <translation>Copiar Ruta al Portapapeles</translation>
+    </message>
+    <message>
         <location filename="../UI/Browser.py" line="264"/>
-        <source>Find in this directory</source>
-        <translation>Buscar en este directorio</translation>
-    </message>
-    <message>
-        <location filename="../UI/Browser.py" line="570"/>
-        <source>New toplevel directory</source>
-        <translation>Nuevo directorio raíz</translation>
-    </message>
-    <message>
-        <location filename="../UI/Browser.py" line="231"/>
-        <source>Open in Icon Editor</source>
-        <translation>Abrir en Editor de Iconos</translation>
-    </message>
-    <message>
-        <location filename="../UI/Browser.py" line="271"/>
-        <source>Copy Path to Clipboard</source>
-        <translation>Copiar Ruta al Portapapeles</translation>
-    </message>
-    <message>
-        <location filename="../UI/Browser.py" line="260"/>
         <source>Refresh directory</source>
         <translation>Actualizar directorio</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="276"/>
+        <location filename="../UI/Browser.py" line="280"/>
         <source>Goto</source>
         <translation>Ir a</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="381"/>
+        <location filename="../UI/Browser.py" line="385"/>
         <source>Line {0}</source>
         <translation>Línea {0}</translation>
     </message>
@@ -2331,65 +2331,70 @@
         <translation>&lt;b&gt;La Ventana de Navegación&lt;/b&gt;&lt;p&gt;Permite navegar facilmente la jerarquía de directorios y archivos del sistema, identificar los programas en Python y abrirlos utilizando la ventana de Visor de Código Fuente. La ventana muestra varias jerarquías separadas.&lt;/p&gt;&lt;p&gt;La primera jerarquía se muestra solamente si se tiene abierto un programa para depuración y la raíz es el directorio que contiene dicho programa. Usualmente los distintos archivos que forman una aplicación Python son mantenidos en el mismo directorio, por lo tanto esta jerarquía proporciona un acceso sencillo a la mayor parte de lo que resulta necesario.&lt;/p&gt;&lt;p&gt;La siguiente jerarquía se utiliza para navegar facilmente los directorios especificados en la variable de Python &lt;tt&gt;sys.path&lt;/tt&gt;.&lt;/p&gt;&lt;p&gt;Las restantes jerarquías permiten la navegación por el sistema como un todo. En un sistema UNIX habrá una jerarquía con &lt;tt&gt;/&lt;/tt&gt; en la raíz y otra con el directorio home del usuario. En un sistema Windows habrá una jerarquía por cada uno de los drives en el sistema.&lt;/p&gt;&lt;p&gt;Los programas Python (es decir aquellos archivos con extensión &lt;tt&gt;.py&lt;/tt&gt;) se identifican en las jerarquías con un icono de Python. Un click con el botón derecho del ratón muestra un menú contextual que permite abrir el archivo en la ventana Visor de Fuentes, o bien abrir el archivo para depuración o utilizarlo para ejecutar un test unitario.&lt;/p&gt;&lt;p&gt;El menú contextual de una clase, función o método permite abrir el archivo en donde se define esta clase, función o método y permite asegurar que se muestra la línea de código correcta.&lt;/p&gt;&lt;p&gt;Los archivos de Qt-Designer (es decir aquellos con extensión &lt;tt&gt;.ui&lt;/tt&gt;) son mostrados con un icono de Designer. El menú contextual de estos archivos permite iniciar Qt-Designer a partir de dicho archivo.&lt;/p&gt;&lt;p&gt;Los archivos de Qt-Linguist (es decir aquellos con extensión &lt;tt&gt;.ts&lt;/tt&gt;) son mostrados con un icono de Linguist. El menú contextual de dichos archivos permite iniciar Qt-Linguist a partir de dicho archivo.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>Show Mime-Type</source>
         <translation>Mostrar Mime-Type</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="474"/>
+        <location filename="../UI/Browser.py" line="478"/>
         <source>The mime type of the file could not be determined.</source>
         <translation>El mime type del archivo no se puede determinar.</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="492"/>
+        <location filename="../UI/Browser.py" line="496"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.</source>
         <translation>El archivo tiene el mime type &lt;b&gt;{0}&lt;/b&gt;.</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt; Shall it be added to the list of text mime types?</source>
         <translation>El archivo tiene el mime type &lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt; ¿Añadirlo a la lista de mime types?</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="228"/>
+        <location filename="../UI/Browser.py" line="232"/>
         <source>Open in Hex Editor</source>
         <translation>Abrir en Editor Hexadecimal</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="267"/>
+        <location filename="../UI/Browser.py" line="271"/>
         <source>Find &amp;&amp; Replace in this directory</source>
         <translation>Buscar &amp;&amp; Reemplazar en este directorio</translation>
     </message>
+    <message>
+        <location filename="../UI/Browser.py" line="220"/>
+        <source>Refresh Source File</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>BrowserModel</name>
     <message>
-        <location filename="../UI/BrowserModel.py" line="63"/>
+        <location filename="../UI/BrowserModel.py" line="65"/>
         <source>Name</source>
         <translation>Nombre</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="731"/>
+        <location filename="../UI/BrowserModel.py" line="771"/>
         <source>Attributes</source>
         <translation>Atributos</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="661"/>
+        <location filename="../UI/BrowserModel.py" line="663"/>
         <source>Globals</source>
         <translation>Globales</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="655"/>
+        <location filename="../UI/BrowserModel.py" line="657"/>
         <source>Coding: {0}</source>
         <translation>Codificación: {0}</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="741"/>
+        <location filename="../UI/BrowserModel.py" line="781"/>
         <source>Class Attributes</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="667"/>
+        <location filename="../UI/BrowserModel.py" line="669"/>
         <source>Imports</source>
         <translation>Imports</translation>
     </message>
@@ -25929,27 +25934,27 @@
 <context>
     <name>Globals</name>
     <message>
-        <location filename="../Globals/__init__.py" line="448"/>
+        <location filename="../Globals/__init__.py" line="452"/>
         <source>{0:4.2f} Bytes</source>
         <translation>{0:4.2f} Bytes</translation>
     </message>
     <message>
-        <location filename="../Globals/__init__.py" line="452"/>
-        <source>{0:4.2f} KiB</source>
-        <translation>{0:4.2f} KiB</translation>
-    </message>
-    <message>
         <location filename="../Globals/__init__.py" line="456"/>
-        <source>{0:4.2f} MiB</source>
-        <translation>{0:4.2f} MiB</translation>
+        <source>{0:4.2f} KiB</source>
+        <translation>{0:4.2f} KiB</translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="460"/>
-        <source>{0:4.2f} GiB</source>
-        <translation>{0:4.2f} GiB</translation>
+        <source>{0:4.2f} MiB</source>
+        <translation>{0:4.2f} MiB</translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="464"/>
+        <source>{0:4.2f} GiB</source>
+        <translation>{0:4.2f} GiB</translation>
+    </message>
+    <message>
+        <location filename="../Globals/__init__.py" line="468"/>
         <source>{0:4.2f} TiB</source>
         <translation>{0:4.2f} TiB</translation>
     </message>
@@ -49705,7 +49710,7 @@
         <translation>&lt;p&gt;No hay vista previa disponible para este tipo de archivo.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="631"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="636"/>
         <source>&lt;p&gt;ReStructuredText preview requires the &lt;b&gt;python-docutils&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install docutils&apos; or see &lt;a href=&quot;http://pypi.python.org/pypi/docutils&quot;&gt;this page.&lt;/a&gt;&lt;/p&gt;</source>
         <translation>&lt;p&gt;La previsualización de ReStructuredText requiere el package &lt;b&gt;python-docutils&lt;/b&gt; .&lt;br/&gt;Installar con el gestor de paquetes, &apos;pip install docutils&apos; o ver &lt;a href=&quot;http://pypi.python.org/pypi/docutils&quot;&gt;esta página .&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
@@ -49715,12 +49720,12 @@
         <translation>&lt;p&gt;La previsualización de ReStructuredText requiere el package &lt;b&gt;sphinx&lt;/b&gt; .&lt;br/&gt;Installar con el gestor de paquetes, &apos;pip install sphinx&apos; o ver &lt;a href=&quot;http://pypi.python.org/pypi/Sphinx&quot;&gt;esta página .&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Como alternativa, se puede deshabilitar el uso de Sphinx en el Editor, página de configuración de Gestión de Archivos.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="674"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="679"/>
         <source>&lt;p&gt;Markdown preview requires the &lt;b&gt;Markdown&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install Markdown&apos; or see &lt;a href=&quot;http://pythonhosted.org/Markdown/install.html&quot;&gt;installation instructions.&lt;/a&gt;&lt;/p&gt;</source>
         <translation>&lt;p&gt;La previsualización de Markdown requiere del package &lt;b&gt;Markdown&lt;/b&gt;.&lt;br/&gt;Instalarlo con el gestor de paquetes o ver en &lt;a href=&quot;http://pythonhosted.org/Markdown/install.html&quot;&gt;las instrucciones de instalación.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="646"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="651"/>
         <source>&lt;p&gt;Docutils returned an error:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Docutils ha retornado un error:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
@@ -59969,17 +59974,17 @@
 <context>
     <name>SafariImporter</name>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Apple Safari stores its bookmarks in the &lt;b&gt;Bookmarks.plist&lt;/b&gt; file. This file is usually located in</source>
         <translation>Apple Safari almacena sus marcadores en el archivo &lt;b&gt;Bookmarks.plist&lt;/b&gt;. Este archivo se localiza habitualmente en</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Please choose the file to begin importing bookmarks.</source>
         <translation>Por favor, elija el archivo para comenzar la importación de marcadores.</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="92"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="90"/>
         <source>File &apos;{0}&apos; does not exist.</source>
         <translation>El archivo {0} no existe.</translation>
     </message>
@@ -82311,12 +82316,12 @@
         <translation>Nuevo...</translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="92"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
         <source>Press to edit the selected virtual environment</source>
         <translation>Pulsar para editar el entorno virtual seleccionado</translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="98"/>
         <source>Edit...</source>
         <translation>Editar...</translation>
     </message>
--- a/eric6/i18n/eric6_fr.ts	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/i18n/eric6_fr.ts	Tue Aug 25 16:26:11 2020 +0200
@@ -2315,7 +2315,7 @@
 <context>
     <name>Browser</name>
     <message>
-        <location filename="../UI/Browser.py" line="245"/>
+        <location filename="../UI/Browser.py" line="249"/>
         <source>Open</source>
         <translation>Ouvrir</translation>
     </message>
@@ -2330,27 +2330,27 @@
         <translation>Navigateur de fichiers</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="290"/>
+        <location filename="../UI/Browser.py" line="294"/>
         <source>New toplevel directory...</source>
         <translation>Nouveau répertoire racine...</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="256"/>
+        <location filename="../UI/Browser.py" line="260"/>
         <source>Remove from toplevel</source>
         <translation>Supprimer du niveau racine</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="253"/>
+        <location filename="../UI/Browser.py" line="257"/>
         <source>Add as toplevel directory</source>
         <translation>Ajouter en tant que répertoire racine</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="570"/>
+        <location filename="../UI/Browser.py" line="582"/>
         <source>New toplevel directory</source>
         <translation>Nouveau répertoire racine</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="264"/>
+        <location filename="../UI/Browser.py" line="268"/>
         <source>Find in this directory</source>
         <translation>Trouver dans ce répertoire</translation>
     </message>
@@ -2365,27 +2365,27 @@
         <translation type="obsolete">Rechercher&amp;&amp;Rempacer dans ce répertoire</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="231"/>
+        <location filename="../UI/Browser.py" line="235"/>
         <source>Open in Icon Editor</source>
         <translation>Ouvrir dans Icon Editor</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="271"/>
+        <location filename="../UI/Browser.py" line="275"/>
         <source>Copy Path to Clipboard</source>
         <translation>Copier chemin dans le Presse-Papiers</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="260"/>
+        <location filename="../UI/Browser.py" line="264"/>
         <source>Refresh directory</source>
         <translation>Rafraichir répertoire</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="276"/>
+        <location filename="../UI/Browser.py" line="280"/>
         <source>Goto</source>
         <translation>Aller à</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="381"/>
+        <location filename="../UI/Browser.py" line="385"/>
         <source>Line {0}</source>
         <translation>Ligne {0}</translation>
     </message>
@@ -2395,65 +2395,70 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>Show Mime-Type</source>
         <translation>Montrer le type Mime</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="474"/>
+        <location filename="../UI/Browser.py" line="478"/>
         <source>The mime type of the file could not be determined.</source>
         <translation>Le type mime du fichier n&apos;a pas pu être déterminé.</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="492"/>
+        <location filename="../UI/Browser.py" line="496"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.</source>
         <translation>Le fichier a le type mime &lt;b&gt;{0}&lt;/b&gt;.</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt; Shall it be added to the list of text mime types?</source>
         <translation>Le fichier a le type mime &lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt; Faut-il l&apos;ajouter à la liste des types mime texte ?</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="228"/>
+        <location filename="../UI/Browser.py" line="232"/>
         <source>Open in Hex Editor</source>
         <translation>Ouvrir dans Hex Editor</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="267"/>
+        <location filename="../UI/Browser.py" line="271"/>
         <source>Find &amp;&amp; Replace in this directory</source>
         <translation>Chercher &amp;&amp; Remplacer dans ce répertoire</translation>
     </message>
+    <message>
+        <location filename="../UI/Browser.py" line="220"/>
+        <source>Refresh Source File</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>BrowserModel</name>
     <message>
-        <location filename="../UI/BrowserModel.py" line="63"/>
+        <location filename="../UI/BrowserModel.py" line="65"/>
         <source>Name</source>
         <translation>Nom</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="731"/>
+        <location filename="../UI/BrowserModel.py" line="771"/>
         <source>Attributes</source>
         <translation>Attributs</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="661"/>
+        <location filename="../UI/BrowserModel.py" line="663"/>
         <source>Globals</source>
         <translation>Variables globales</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="655"/>
+        <location filename="../UI/BrowserModel.py" line="657"/>
         <source>Coding: {0}</source>
         <translation>Codage: {0}</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="741"/>
+        <location filename="../UI/BrowserModel.py" line="781"/>
         <source>Class Attributes</source>
         <translation>Attributs de classe</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="667"/>
+        <location filename="../UI/BrowserModel.py" line="669"/>
         <source>Imports</source>
         <translation>Imports</translation>
     </message>
@@ -26496,27 +26501,27 @@
 <context>
     <name>Globals</name>
     <message>
-        <location filename="../Globals/__init__.py" line="448"/>
+        <location filename="../Globals/__init__.py" line="452"/>
         <source>{0:4.2f} Bytes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Globals/__init__.py" line="452"/>
-        <source>{0:4.2f} KiB</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Globals/__init__.py" line="456"/>
-        <source>{0:4.2f} MiB</source>
+        <source>{0:4.2f} KiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="460"/>
-        <source>{0:4.2f} GiB</source>
+        <source>{0:4.2f} MiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="464"/>
+        <source>{0:4.2f} GiB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Globals/__init__.py" line="468"/>
         <source>{0:4.2f} TiB</source>
         <translation type="unfinished"></translation>
     </message>
@@ -52106,7 +52111,7 @@
         <translation>&lt;p&gt;Pas d&apos;aperçu disponible pour ce type de fichier.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="631"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="636"/>
         <source>&lt;p&gt;ReStructuredText preview requires the &lt;b&gt;python-docutils&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install docutils&apos; or see &lt;a href=&quot;http://pypi.python.org/pypi/docutils&quot;&gt;this page.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -52116,12 +52121,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="674"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="679"/>
         <source>&lt;p&gt;Markdown preview requires the &lt;b&gt;Markdown&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install Markdown&apos; or see &lt;a href=&quot;http://pythonhosted.org/Markdown/install.html&quot;&gt;installation instructions.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="646"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="651"/>
         <source>&lt;p&gt;Docutils returned an error:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Docutils a renvoyé une erreur:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
@@ -62424,17 +62429,17 @@
 <context>
     <name>SafariImporter</name>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Apple Safari stores its bookmarks in the &lt;b&gt;Bookmarks.plist&lt;/b&gt; file. This file is usually located in</source>
         <translation>Apple Safari stocke ses signets dans le fichier &lt;b&gt;Bookmarks.plist&lt;/b&gt;. Ce fichier est habituellement dans</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Please choose the file to begin importing bookmarks.</source>
         <translation>Choisissez le fichier d&apos;où importer les signets.</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="92"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="90"/>
         <source>File &apos;{0}&apos; does not exist.</source>
         <translation>Le fichier &apos;{0}&apos; n&apos;existe pas.</translation>
     </message>
@@ -84866,12 +84871,12 @@
         <translation>Nouveau...</translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="92"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
         <source>Press to edit the selected virtual environment</source>
         <translation>Cliquer pour modifier l&apos;environnement virtuel sélectionné</translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="98"/>
         <source>Edit...</source>
         <translation>Éditer...</translation>
     </message>
--- a/eric6/i18n/eric6_it.ts	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/i18n/eric6_it.ts	Tue Aug 25 16:26:11 2020 +0200
@@ -2312,7 +2312,7 @@
 <context>
     <name>Browser</name>
     <message>
-        <location filename="../UI/Browser.py" line="245"/>
+        <location filename="../UI/Browser.py" line="249"/>
         <source>Open</source>
         <translation>Apri</translation>
     </message>
@@ -2327,27 +2327,27 @@
         <translation>Browser dei file</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="290"/>
+        <location filename="../UI/Browser.py" line="294"/>
         <source>New toplevel directory...</source>
         <translation>Nuova directory principale...</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="256"/>
+        <location filename="../UI/Browser.py" line="260"/>
         <source>Remove from toplevel</source>
         <translation>Rimuovi dal principale</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="253"/>
+        <location filename="../UI/Browser.py" line="257"/>
         <source>Add as toplevel directory</source>
         <translation>Aggiungi come directory principale</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="570"/>
+        <location filename="../UI/Browser.py" line="582"/>
         <source>New toplevel directory</source>
         <translation>Nuova directory principale</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="264"/>
+        <location filename="../UI/Browser.py" line="268"/>
         <source>Find in this directory</source>
         <translation>Trova in questa directory</translation>
     </message>
@@ -2362,27 +2362,27 @@
         <translation type="obsolete">Trova&amp;&amp;Sostituisci in questa directory</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="231"/>
+        <location filename="../UI/Browser.py" line="235"/>
         <source>Open in Icon Editor</source>
         <translation>Apri nell&apos;editor di icone</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="271"/>
+        <location filename="../UI/Browser.py" line="275"/>
         <source>Copy Path to Clipboard</source>
         <translation>Copia il path nella Clipboard</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="260"/>
+        <location filename="../UI/Browser.py" line="264"/>
         <source>Refresh directory</source>
         <translation>Rileggi directory</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="276"/>
+        <location filename="../UI/Browser.py" line="280"/>
         <source>Goto</source>
         <translation>Vai a</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="381"/>
+        <location filename="../UI/Browser.py" line="385"/>
         <source>Line {0}</source>
         <translation>Linea {0}</translation>
     </message>
@@ -2392,65 +2392,70 @@
         <translation>&lt;b&gt;La finestra di navigazione&lt;/b&gt;Questa ti permette di navigare facilmente nella struttura delle directory e dei file sul tuo sistema, identificare i programmi Python e aprirli nella finestra di Visualizzazione dei Sorgenti. La finestra mostra diverse strutture separate.&lt;/p&gt;&lt;p&gt;La prima struttura è mostrata solo se hai aperto un programma da debuggare e la sua radice è la cartella che contiene il programma. Normalmente tutti i file che compongono un&apos;applicazione Python sono contenuti nella stessa cartella, così questa vista permette un accesso veloce a molto di quello che ti serve.&lt;/p&gt;&lt;p&gt;La vista successiva è usata per navigare facilmente nelle cartelle specificate nella variabile Python &lt;tt&gt;sys.path&lt;/tt&gt;.&lt;/p&gt;&lt;p&gt;La vista rimanente permette di navigare in tutto il sistema. Su un sistema UNIX c&apos;è una struttura con &lt;tt&gt;/&lt;/tt&gt; come radice e un&apos;altra con la home dell&apos;utente. Su un sistema Windows c&apos;è una struttura per ogni disco del sistema.&lt;/p&gt;&lt;p&gt;I programmi Python (es. quelli con l&apos;estensione &lt;tt&gt;.py&lt;/tt&gt;) sono identificati nella vista con l&apos;icona di Python. Il pulsante destro del mouse fa apparire un menù che consente di aprire il file nel Visualizzatore dei Sorgenti, aprire il file per il debug o usarlo per uno unittest.&lt;/p&gt;&lt;p&gt;Il menù contestuale di una classe, funzione o metodo consente di aprire il file che la definisce e di posizionarsi sulla riga corretta.&lt;/p&gt;&lt;p&gt;I file di Qt-Designer (es. quelli con estensione &lt;tt&gt;.ui&lt;/tt&gt;) sono mostrati con l&apos;icona del Designer. Il menù contestuale  di questi file consente di avviare Qt-Designer per quel file.&lt;/p&gt;&lt;p&gt;I file di Qt-Linguist (es. quelli con estensione &lt;tt&gt;.ts&lt;/tt&gt;) sono mostrati con l&apos;icona di Linguist. Il menù contestuale di questi file consente di avviare Qt-Linguist per quel file.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>Show Mime-Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="474"/>
+        <location filename="../UI/Browser.py" line="478"/>
         <source>The mime type of the file could not be determined.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="492"/>
+        <location filename="../UI/Browser.py" line="496"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt; Shall it be added to the list of text mime types?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="228"/>
+        <location filename="../UI/Browser.py" line="232"/>
         <source>Open in Hex Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="267"/>
+        <location filename="../UI/Browser.py" line="271"/>
         <source>Find &amp;&amp; Replace in this directory</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../UI/Browser.py" line="220"/>
+        <source>Refresh Source File</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>BrowserModel</name>
     <message>
-        <location filename="../UI/BrowserModel.py" line="63"/>
+        <location filename="../UI/BrowserModel.py" line="65"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="731"/>
+        <location filename="../UI/BrowserModel.py" line="771"/>
         <source>Attributes</source>
         <translation>Attributi</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="661"/>
+        <location filename="../UI/BrowserModel.py" line="663"/>
         <source>Globals</source>
         <translation>Globali</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="655"/>
+        <location filename="../UI/BrowserModel.py" line="657"/>
         <source>Coding: {0}</source>
         <translation>Codifica: {0}</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="741"/>
+        <location filename="../UI/BrowserModel.py" line="781"/>
         <source>Class Attributes</source>
         <translation>Attributi della Classe</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="667"/>
+        <location filename="../UI/BrowserModel.py" line="669"/>
         <source>Imports</source>
         <translation type="unfinished"></translation>
     </message>
@@ -26931,27 +26936,27 @@
 <context>
     <name>Globals</name>
     <message>
-        <location filename="../Globals/__init__.py" line="448"/>
+        <location filename="../Globals/__init__.py" line="452"/>
         <source>{0:4.2f} Bytes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Globals/__init__.py" line="452"/>
-        <source>{0:4.2f} KiB</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Globals/__init__.py" line="456"/>
-        <source>{0:4.2f} MiB</source>
+        <source>{0:4.2f} KiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="460"/>
-        <source>{0:4.2f} GiB</source>
+        <source>{0:4.2f} MiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="464"/>
+        <source>{0:4.2f} GiB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Globals/__init__.py" line="468"/>
         <source>{0:4.2f} TiB</source>
         <translation type="unfinished"></translation>
     </message>
@@ -54553,7 +54558,7 @@
         <translation>&lt;p&gt;Non è prevista la visualizzazione per questo tipo di flusso.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="631"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="636"/>
         <source>&lt;p&gt;ReStructuredText preview requires the &lt;b&gt;python-docutils&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install docutils&apos; or see &lt;a href=&quot;http://pypi.python.org/pypi/docutils&quot;&gt;this page.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -54563,12 +54568,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="674"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="679"/>
         <source>&lt;p&gt;Markdown preview requires the &lt;b&gt;Markdown&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install Markdown&apos; or see &lt;a href=&quot;http://pythonhosted.org/Markdown/install.html&quot;&gt;installation instructions.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="646"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="651"/>
         <source>&lt;p&gt;Docutils returned an error:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -64948,17 +64953,17 @@
 <context>
     <name>SafariImporter</name>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Apple Safari stores its bookmarks in the &lt;b&gt;Bookmarks.plist&lt;/b&gt; file. This file is usually located in</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Please choose the file to begin importing bookmarks.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="92"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="90"/>
         <source>File &apos;{0}&apos; does not exist.</source>
         <translation type="unfinished">Il file {0} non esiste.</translation>
     </message>
@@ -87467,12 +87472,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="92"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
         <source>Press to edit the selected virtual environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="98"/>
         <source>Edit...</source>
         <translation type="unfinished">Modifica...</translation>
     </message>
--- a/eric6/i18n/eric6_pt.ts	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/i18n/eric6_pt.ts	Tue Aug 25 16:26:11 2020 +0200
@@ -2319,7 +2319,7 @@
         <translation>Navegador de Ficheiros</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="245"/>
+        <location filename="../UI/Browser.py" line="249"/>
         <source>Open</source>
         <translation>Abrir</translation>
     </message>
@@ -2329,12 +2329,12 @@
         <translation>Executar teste unitário...</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="271"/>
+        <location filename="../UI/Browser.py" line="275"/>
         <source>Copy Path to Clipboard</source>
         <translation>Copiar Rota à Área de Transferência</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="231"/>
+        <location filename="../UI/Browser.py" line="235"/>
         <source>Open in Icon Editor</source>
         <translation>Abrir no Editor de Ícones</translation>
     </message>
@@ -2344,27 +2344,27 @@
         <translation type="obsolete">Configurar...</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="290"/>
+        <location filename="../UI/Browser.py" line="294"/>
         <source>New toplevel directory...</source>
         <translation>Diretório de nível superior novo...</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="253"/>
+        <location filename="../UI/Browser.py" line="257"/>
         <source>Add as toplevel directory</source>
         <translation>Adicionar como diretório de nível superior</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="256"/>
-        <source>Remove from toplevel</source>
-        <translation>Retirar do nível superior</translation>
-    </message>
-    <message>
         <location filename="../UI/Browser.py" line="260"/>
-        <source>Refresh directory</source>
-        <translation>Atualizar diretório</translation>
+        <source>Remove from toplevel</source>
+        <translation>Retirar do nível superior</translation>
     </message>
     <message>
         <location filename="../UI/Browser.py" line="264"/>
+        <source>Refresh directory</source>
+        <translation>Atualizar diretório</translation>
+    </message>
+    <message>
+        <location filename="../UI/Browser.py" line="268"/>
         <source>Find in this directory</source>
         <translation>Encontrar neste diretório</translation>
     </message>
@@ -2374,17 +2374,17 @@
         <translation type="obsolete">Encontrar&amp;&amp;Substituir neste diretório</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="570"/>
+        <location filename="../UI/Browser.py" line="582"/>
         <source>New toplevel directory</source>
         <translation>Diretório de nível superior novo</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="276"/>
+        <location filename="../UI/Browser.py" line="280"/>
         <source>Goto</source>
         <translation>Ir a</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="381"/>
+        <location filename="../UI/Browser.py" line="385"/>
         <source>Line {0}</source>
         <translation>Linha {0}</translation>
     </message>
@@ -2394,65 +2394,70 @@
         <translation>&lt;b&gt;A Janela de Navegação&lt;/b&gt;&lt;p&gt;Permite navegar facilmente pela hierarquia dos diretório e ficheiros do sistema, identificar os programas de Python e abri-los na janela do Visor de Fontes. A janela mostra várias hierarquias separadas.&lt;/p&gt;&lt;p&gt;Apenas se mostrará a primeira hierarquia se está aberto um programa para depurar e o seu diretório raíz é o diretório que o contém. Geralmente, os distintos ficheiros que formam uma aplicação Python mantêm-se no mesmo diretório, deste modo a hierarquia dá acesso à maior parte do que se necessite.&lt;/p&gt;&lt;p&gt;A hierarquia seguinte utiliza-se para navagar facilmente nos diretórios especificados pela variável Python &lt;tt&gt;sys.path&lt;/tt&gt;.&lt;/p&gt;&lt;p&gt;As hierarquias restantes permitem navegar no seu sistema como um todo. Num sistema UNIX haverá uma hierarquia com &lt;tt&gt;/&lt;/tt&gt; como raíz e outra com o diretório do usuário. Num sistema Windows haverá uma hierarquia para cada unidade de disco no sistema.&lt;/p&gt;&lt;p&gt;Os programas Python (como aqueles que têm a extensão &lt;tt&gt;.py&lt;/tt&gt;) identificam-se nas hierarquias com um ícone Python. Um clique com o botão direito do rato frará aparecer um menú que permitirá abrir o ficheiro numa janela do Visor de Fontes, abrir para depurar ou usá-lo para executar um teste unitário.&lt;/p&gt;&lt;p&gt;O menú contextual de uma classe, função ou método permite abrir o ficheiro definindo esta classe, função ou método e assegurará que a linha de código correta esteja visível.&lt;/p&gt;&lt;p&gt;Os ficheiros de Qt-Designer (como os que têm extensão &lt;tt&gt;.ui&lt;/tt&gt;) aparecem com o ícone de Designer. O menú contextual destes ficheiros permite abrí-los com Qt-Designer.&lt;/p&gt;&lt;p&gt;Os ficheiros de Qt-Linguist (como os que têm extensão &lt;tt&gt;.ts&lt;/tt&gt;) aparecem com o ícone de Linguist. O menú contextual destes ficheiros permite abrí-los com Qt-Linguist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>Show Mime-Type</source>
         <translation>Mostrar Tipos MIME</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="474"/>
+        <location filename="../UI/Browser.py" line="478"/>
         <source>The mime type of the file could not be determined.</source>
         <translation>O tipo MIME do ficheiro não pôde ser identificado.</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="492"/>
+        <location filename="../UI/Browser.py" line="496"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.</source>
         <translation>O ficheiro tem o tipo MIME &lt;b&gt;{0}&lt;/b&gt;.</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt; Shall it be added to the list of text mime types?</source>
         <translation>O ficheiro tem o tipo MIME &lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt;Deverá ser adicionado à lista de tipos MIME de texto?</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="228"/>
+        <location filename="../UI/Browser.py" line="232"/>
         <source>Open in Hex Editor</source>
         <translation>Abrir com Editor Hexadecimal</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="267"/>
+        <location filename="../UI/Browser.py" line="271"/>
         <source>Find &amp;&amp; Replace in this directory</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../UI/Browser.py" line="220"/>
+        <source>Refresh Source File</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>BrowserModel</name>
     <message>
-        <location filename="../UI/BrowserModel.py" line="63"/>
+        <location filename="../UI/BrowserModel.py" line="65"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="655"/>
+        <location filename="../UI/BrowserModel.py" line="657"/>
         <source>Coding: {0}</source>
         <translation>Codificação: {0}</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="661"/>
+        <location filename="../UI/BrowserModel.py" line="663"/>
         <source>Globals</source>
         <translation>Globais</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="731"/>
+        <location filename="../UI/BrowserModel.py" line="771"/>
         <source>Attributes</source>
         <translation>Atributos</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="741"/>
+        <location filename="../UI/BrowserModel.py" line="781"/>
         <source>Class Attributes</source>
         <translation>Atributos da Classe</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="667"/>
+        <location filename="../UI/BrowserModel.py" line="669"/>
         <source>Imports</source>
         <translation>Importações</translation>
     </message>
@@ -26857,27 +26862,27 @@
 <context>
     <name>Globals</name>
     <message>
-        <location filename="../Globals/__init__.py" line="448"/>
+        <location filename="../Globals/__init__.py" line="452"/>
         <source>{0:4.2f} Bytes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Globals/__init__.py" line="452"/>
-        <source>{0:4.2f} KiB</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Globals/__init__.py" line="456"/>
-        <source>{0:4.2f} MiB</source>
+        <source>{0:4.2f} KiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="460"/>
-        <source>{0:4.2f} GiB</source>
+        <source>{0:4.2f} MiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="464"/>
+        <source>{0:4.2f} GiB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Globals/__init__.py" line="468"/>
         <source>{0:4.2f} TiB</source>
         <translation type="unfinished"></translation>
     </message>
@@ -53954,17 +53959,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="631"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="636"/>
         <source>&lt;p&gt;ReStructuredText preview requires the &lt;b&gt;python-docutils&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install docutils&apos; or see &lt;a href=&quot;http://pypi.python.org/pypi/docutils&quot;&gt;this page.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="674"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="679"/>
         <source>&lt;p&gt;Markdown preview requires the &lt;b&gt;Markdown&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install Markdown&apos; or see &lt;a href=&quot;http://pythonhosted.org/Markdown/install.html&quot;&gt;installation instructions.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="646"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="651"/>
         <source>&lt;p&gt;Docutils returned an error:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -64231,17 +64236,17 @@
 <context>
     <name>SafariImporter</name>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Apple Safari stores its bookmarks in the &lt;b&gt;Bookmarks.plist&lt;/b&gt; file. This file is usually located in</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Please choose the file to begin importing bookmarks.</source>
         <translation>Por favor escolha o ficheiro para começar a importar marcadores.</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="92"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="90"/>
         <source>File &apos;{0}&apos; does not exist.</source>
         <translation>O ficheiro &apos;{0}&apos; não existe.</translation>
     </message>
@@ -86581,12 +86586,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="92"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
         <source>Press to edit the selected virtual environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="98"/>
         <source>Edit...</source>
         <translation type="unfinished">Editar...</translation>
     </message>
--- a/eric6/i18n/eric6_ru.ts	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/i18n/eric6_ru.ts	Tue Aug 25 16:26:11 2020 +0200
@@ -2267,7 +2267,7 @@
         <translation>Браузер файлов</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="245"/>
+        <location filename="../UI/Browser.py" line="249"/>
         <source>Open</source>
         <translation>Открыть</translation>
     </message>
@@ -2277,52 +2277,52 @@
         <translation>Запустить юниттест...</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="271"/>
+        <location filename="../UI/Browser.py" line="275"/>
         <source>Copy Path to Clipboard</source>
         <translation>Копировать путь в буфер обмена</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="231"/>
+        <location filename="../UI/Browser.py" line="235"/>
         <source>Open in Icon Editor</source>
         <translation>Открыть в редакторе иконок</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="290"/>
+        <location filename="../UI/Browser.py" line="294"/>
         <source>New toplevel directory...</source>
         <translation>Новая директория верхнего уровня...</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="253"/>
+        <location filename="../UI/Browser.py" line="257"/>
         <source>Add as toplevel directory</source>
         <translation>Добавить как директорию верхнего уровня</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="256"/>
-        <source>Remove from toplevel</source>
-        <translation>Удалить из верхнего уровня</translation>
-    </message>
-    <message>
         <location filename="../UI/Browser.py" line="260"/>
-        <source>Refresh directory</source>
-        <translation>Освежить директорию</translation>
+        <source>Remove from toplevel</source>
+        <translation>Удалить из верхнего уровня</translation>
     </message>
     <message>
         <location filename="../UI/Browser.py" line="264"/>
+        <source>Refresh directory</source>
+        <translation>Освежить директорию</translation>
+    </message>
+    <message>
+        <location filename="../UI/Browser.py" line="268"/>
         <source>Find in this directory</source>
         <translation>Найти в этой директории</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="570"/>
+        <location filename="../UI/Browser.py" line="582"/>
         <source>New toplevel directory</source>
         <translation>Новая директория верхнего уровня</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="276"/>
+        <location filename="../UI/Browser.py" line="280"/>
         <source>Goto</source>
         <translation>Перейти</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="381"/>
+        <location filename="../UI/Browser.py" line="385"/>
         <source>Line {0}</source>
         <translation>Строка: {0}</translation>
     </message>
@@ -2333,65 +2333,70 @@
 &lt;p&gt;Первое дерево показывается только тогда, когда вы отлаживаете программу и root-директория дерева является директорией, содержащей программу. Обычно все файлы, составляющие приложение на Python, находятся в одной директории, так что это дерево даёт почти всю необходимую информацию.&lt;/p&gt;&lt;p&gt;Следующее дерево используется для лёгкого перемещения по директориям, перечисленным в переменной Python &lt;tt&gt;sys.path&lt;/tt&gt;&lt;p&gt;Оставшиеся деревья позволяют перемещаться по системе в целом. В системах UNIX будут показаны 2 дерева: дерево с вершиной в root-директории (&lt;tt&gt;/&lt;/tt&gt;) и домашней директории пользователя. В Windows для каждого диска будет показано своё дерево.&lt;/p&gt;&lt;p&gt;Программы на Python (с расширением &lt;tt&gt;.py&lt;/tt&gt;) показываются с иконкой Python. Доступно контекстное меню, позволяющее открыть программу в редакторе, запустить её на отладку или протестировать с помощью unittest.&lt;/p&gt;&lt;p&gt;Контекстное меню на классе, функции или методе откроет файл и перейдёт на нужное место&lt;/p&gt;&lt;p&gt;Файлы описания интерфейса ( &lt;tt&gt;.ui&lt;/tt&gt;, отмеченные иконкой Designer) могут быть открыты Designer&apos;ом через контекстное меню или по двойному щелчку&lt;/p&gt;&lt;p&gt;Файлы перевода (&lt;tt&gt;.ts&lt;/tt&gt;, отмеченные иконкой Linguist) могут быть отредактированы с помощью Linguist&apos;а&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>Show Mime-Type</source>
         <translation>Показ Mime-Types</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="474"/>
+        <location filename="../UI/Browser.py" line="478"/>
         <source>The mime type of the file could not be determined.</source>
         <translation>Невозможно определить тип mime файла.</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="492"/>
+        <location filename="../UI/Browser.py" line="496"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.</source>
         <translation>Файл типа &lt;b&gt;{0}&lt;/b&gt; по стандарту MIME.</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt; Shall it be added to the list of text mime types?</source>
         <translation>Файл типа &lt;b&gt;{0}&lt;/b&gt; по стандарту MIME.&lt;br/&gt; Добавить ли в текстовый список типов MIME?</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="228"/>
+        <location filename="../UI/Browser.py" line="232"/>
         <source>Open in Hex Editor</source>
         <translation>Открыть в Hex-редакторе</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="267"/>
+        <location filename="../UI/Browser.py" line="271"/>
         <source>Find &amp;&amp; Replace in this directory</source>
         <translation>Найти &amp;&amp; заменить в этой директории</translation>
     </message>
+    <message>
+        <location filename="../UI/Browser.py" line="220"/>
+        <source>Refresh Source File</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>BrowserModel</name>
     <message>
-        <location filename="../UI/BrowserModel.py" line="63"/>
+        <location filename="../UI/BrowserModel.py" line="65"/>
         <source>Name</source>
         <translation>Имя</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="655"/>
+        <location filename="../UI/BrowserModel.py" line="657"/>
         <source>Coding: {0}</source>
         <translation>Кодировка: {0}</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="661"/>
+        <location filename="../UI/BrowserModel.py" line="663"/>
         <source>Globals</source>
         <translation>Глобальные переменные</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="731"/>
+        <location filename="../UI/BrowserModel.py" line="771"/>
         <source>Attributes</source>
         <translation>Атрибуты</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="741"/>
+        <location filename="../UI/BrowserModel.py" line="781"/>
         <source>Class Attributes</source>
         <translation>Атрибуты класса</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="667"/>
+        <location filename="../UI/BrowserModel.py" line="669"/>
         <source>Imports</source>
         <translation>Импорт</translation>
     </message>
@@ -25973,27 +25978,27 @@
 <context>
     <name>Globals</name>
     <message>
-        <location filename="../Globals/__init__.py" line="448"/>
+        <location filename="../Globals/__init__.py" line="452"/>
         <source>{0:4.2f} Bytes</source>
         <translation>{0:4.2f} байтов</translation>
     </message>
     <message>
-        <location filename="../Globals/__init__.py" line="452"/>
-        <source>{0:4.2f} KiB</source>
-        <translation>{0:4.2f} KiB</translation>
-    </message>
-    <message>
         <location filename="../Globals/__init__.py" line="456"/>
-        <source>{0:4.2f} MiB</source>
-        <translation>{0:4.2f} MiB</translation>
+        <source>{0:4.2f} KiB</source>
+        <translation>{0:4.2f} KiB</translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="460"/>
-        <source>{0:4.2f} GiB</source>
-        <translation>{0:4.2f} GiB</translation>
+        <source>{0:4.2f} MiB</source>
+        <translation>{0:4.2f} MiB</translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="464"/>
+        <source>{0:4.2f} GiB</source>
+        <translation>{0:4.2f} GiB</translation>
+    </message>
+    <message>
+        <location filename="../Globals/__init__.py" line="468"/>
         <source>{0:4.2f} TiB</source>
         <translation>{0:4.2f} TiB</translation>
     </message>
@@ -49785,7 +49790,7 @@
         <translation>&lt;p&gt;Предварительный просмотр не доступен для этого типа файла.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="631"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="636"/>
         <source>&lt;p&gt;ReStructuredText preview requires the &lt;b&gt;python-docutils&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install docutils&apos; or see &lt;a href=&quot;http://pypi.python.org/pypi/docutils&quot;&gt;this page.&lt;/a&gt;&lt;/p&gt;</source>
         <translation>&lt;p&gt;Для предварительного просмотра ReStructuredText файлов необходим пакет &lt;b&gt;python-docutils&lt;/b&gt; package.&lt;br/&gt;Установите его с помощью менеджера пакетов, &apos;pip install docutils&apos; или ознакомьтесь со страницей &lt;a href=&quot;http://pypi.python.org/pypi/docutils&quot;&gt;.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
@@ -49795,12 +49800,12 @@
         <translation>&lt;p&gt;Для предварительного просмотра ReStructuredText файлов необходим пакет &lt;b&gt;sphinx&lt;/b&gt; package.&lt;br/&gt;Установите его с помощью менеджера пакетов,&apos;pip install Sphinx&apos; или ознакомьтесь со срраницей &lt;a href=&quot;http://pypi.python.org/pypi/Sphinx&quot;&gt;.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;В качестве альтернативы можете запретить использование Sphinx во вкладке Редактор, страница Настройка режима работы с файлами.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="674"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="679"/>
         <source>&lt;p&gt;Markdown preview requires the &lt;b&gt;Markdown&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install Markdown&apos; or see &lt;a href=&quot;http://pythonhosted.org/Markdown/install.html&quot;&gt;installation instructions.&lt;/a&gt;&lt;/p&gt;</source>
         <translation>&lt;p&gt;Для предварительного просмотра Markdown файлов необходим пакет &lt;b&gt;python-markdown&lt;/b&gt;.&lt;br/&gt;Установите его с помощью команды &apos;pip install docutils&apos; вашего менеджера пакетов или ознакомьтесь с инструкцией &lt;a href=&quot;http://pythonhosted.org/Markdown/install.html&quot;&gt;.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="646"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="651"/>
         <source>&lt;p&gt;Docutils returned an error:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Docutils возвратил ошибку:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
@@ -60138,17 +60143,17 @@
 <context>
     <name>SafariImporter</name>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Apple Safari stores its bookmarks in the &lt;b&gt;Bookmarks.plist&lt;/b&gt; file. This file is usually located in</source>
         <translation>Закладки Apple Safari хранятся файле &lt;b&gt;Bookmarks.plist&lt;/b&gt;. Этот файл обычно находится в</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Please choose the file to begin importing bookmarks.</source>
         <translation>Пожалуйста выберите файл чтобы начать импортирование закладок.</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="92"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="90"/>
         <source>File &apos;{0}&apos; does not exist.</source>
         <translation>Файл &apos;{0}&apos; не существует.</translation>
     </message>
@@ -82433,12 +82438,12 @@
         <translation>Создать...</translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="92"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
         <source>Press to edit the selected virtual environment</source>
         <translation>Редактировать выбранное виртуальное окружение</translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="98"/>
         <source>Edit...</source>
         <translation>Редактировать...</translation>
     </message>
--- a/eric6/i18n/eric6_tr.ts	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/i18n/eric6_tr.ts	Tue Aug 25 16:26:11 2020 +0200
@@ -2296,7 +2296,7 @@
         <translation>Dosya-Gözatıcısı</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="245"/>
+        <location filename="../UI/Browser.py" line="249"/>
         <source>Open</source>
         <translation>Aç</translation>
     </message>
@@ -2306,12 +2306,12 @@
         <translation>Test Arabirimini çalıştır...</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="271"/>
+        <location filename="../UI/Browser.py" line="275"/>
         <source>Copy Path to Clipboard</source>
         <translation>Yolu Panoya kopyala</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="231"/>
+        <location filename="../UI/Browser.py" line="235"/>
         <source>Open in Icon Editor</source>
         <translation>İcon Düzenleyicide Aç</translation>
     </message>
@@ -2321,27 +2321,27 @@
         <translation type="obsolete">Ayarlanıyor...</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="290"/>
+        <location filename="../UI/Browser.py" line="294"/>
         <source>New toplevel directory...</source>
         <translation>Yeni enüstseviye dizini...</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="253"/>
+        <location filename="../UI/Browser.py" line="257"/>
         <source>Add as toplevel directory</source>
         <translation>Dizinin en üst seviyesi olarak ekle</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="256"/>
-        <source>Remove from toplevel</source>
-        <translation>Enüst seviyeyi kaldır</translation>
-    </message>
-    <message>
         <location filename="../UI/Browser.py" line="260"/>
-        <source>Refresh directory</source>
-        <translation>Dizini tazele</translation>
+        <source>Remove from toplevel</source>
+        <translation>Enüst seviyeyi kaldır</translation>
     </message>
     <message>
         <location filename="../UI/Browser.py" line="264"/>
+        <source>Refresh directory</source>
+        <translation>Dizini tazele</translation>
+    </message>
+    <message>
+        <location filename="../UI/Browser.py" line="268"/>
         <source>Find in this directory</source>
         <translation>Bu dizin içinde bul</translation>
     </message>
@@ -2351,17 +2351,17 @@
         <translation type="obsolete">Bul&amp;&amp;Değiştir bu dizin içinde</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="570"/>
+        <location filename="../UI/Browser.py" line="582"/>
         <source>New toplevel directory</source>
         <translation>Yeni enüstseviye dizini</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="276"/>
+        <location filename="../UI/Browser.py" line="280"/>
         <source>Goto</source>
         <translation type="unfinished">Buraya git</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="381"/>
+        <location filename="../UI/Browser.py" line="385"/>
         <source>Line {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2371,65 +2371,70 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>Show Mime-Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="474"/>
+        <location filename="../UI/Browser.py" line="478"/>
         <source>The mime type of the file could not be determined.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="492"/>
+        <location filename="../UI/Browser.py" line="496"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt; Shall it be added to the list of text mime types?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="228"/>
+        <location filename="../UI/Browser.py" line="232"/>
         <source>Open in Hex Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="267"/>
+        <location filename="../UI/Browser.py" line="271"/>
         <source>Find &amp;&amp; Replace in this directory</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../UI/Browser.py" line="220"/>
+        <source>Refresh Source File</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>BrowserModel</name>
     <message>
-        <location filename="../UI/BrowserModel.py" line="63"/>
+        <location filename="../UI/BrowserModel.py" line="65"/>
         <source>Name</source>
         <translation>Adı</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="655"/>
+        <location filename="../UI/BrowserModel.py" line="657"/>
         <source>Coding: {0}</source>
         <translation>Kodlama: {0}</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="661"/>
+        <location filename="../UI/BrowserModel.py" line="663"/>
         <source>Globals</source>
         <translation>Evrensel</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="731"/>
+        <location filename="../UI/BrowserModel.py" line="771"/>
         <source>Attributes</source>
         <translation>Nitelikler</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="741"/>
+        <location filename="../UI/BrowserModel.py" line="781"/>
         <source>Class Attributes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="667"/>
+        <location filename="../UI/BrowserModel.py" line="669"/>
         <source>Imports</source>
         <translation type="unfinished"></translation>
     </message>
@@ -26477,27 +26482,27 @@
 <context>
     <name>Globals</name>
     <message>
-        <location filename="../Globals/__init__.py" line="448"/>
+        <location filename="../Globals/__init__.py" line="452"/>
         <source>{0:4.2f} Bytes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Globals/__init__.py" line="452"/>
-        <source>{0:4.2f} KiB</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Globals/__init__.py" line="456"/>
-        <source>{0:4.2f} MiB</source>
+        <source>{0:4.2f} KiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="460"/>
-        <source>{0:4.2f} GiB</source>
+        <source>{0:4.2f} MiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="464"/>
+        <source>{0:4.2f} GiB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Globals/__init__.py" line="468"/>
         <source>{0:4.2f} TiB</source>
         <translation type="unfinished"></translation>
     </message>
@@ -53106,7 +53111,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="631"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="636"/>
         <source>&lt;p&gt;ReStructuredText preview requires the &lt;b&gt;python-docutils&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install docutils&apos; or see &lt;a href=&quot;http://pypi.python.org/pypi/docutils&quot;&gt;this page.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -53116,12 +53121,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="674"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="679"/>
         <source>&lt;p&gt;Markdown preview requires the &lt;b&gt;Markdown&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install Markdown&apos; or see &lt;a href=&quot;http://pythonhosted.org/Markdown/install.html&quot;&gt;installation instructions.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="646"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="651"/>
         <source>&lt;p&gt;Docutils returned an error:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -63377,17 +63382,17 @@
 <context>
     <name>SafariImporter</name>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Apple Safari stores its bookmarks in the &lt;b&gt;Bookmarks.plist&lt;/b&gt; file. This file is usually located in</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Please choose the file to begin importing bookmarks.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="92"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="90"/>
         <source>File &apos;{0}&apos; does not exist.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -85721,12 +85726,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="92"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
         <source>Press to edit the selected virtual environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="98"/>
         <source>Edit...</source>
         <translation type="unfinished">Düzenle...</translation>
     </message>
--- a/eric6/i18n/eric6_zh_CN.ts	Tue Aug 25 14:53:43 2020 +0200
+++ b/eric6/i18n/eric6_zh_CN.ts	Tue Aug 25 16:26:11 2020 +0200
@@ -2312,7 +2312,7 @@
         <translation>文件浏览器</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="245"/>
+        <location filename="../UI/Browser.py" line="249"/>
         <source>Open</source>
         <translation>打开</translation>
     </message>
@@ -2327,22 +2327,22 @@
         <translation type="obsolete">配置…</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="290"/>
+        <location filename="../UI/Browser.py" line="294"/>
         <source>New toplevel directory...</source>
         <translation>新顶层文件夹…</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="253"/>
+        <location filename="../UI/Browser.py" line="257"/>
         <source>Add as toplevel directory</source>
         <translation>添加为顶层文件夹</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="256"/>
+        <location filename="../UI/Browser.py" line="260"/>
         <source>Remove from toplevel</source>
         <translation>从顶层移除</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="264"/>
+        <location filename="../UI/Browser.py" line="268"/>
         <source>Find in this directory</source>
         <translation>在该文件夹中查找</translation>
     </message>
@@ -2352,32 +2352,32 @@
         <translation type="obsolete">在该文件夹中查找和替换(&amp;R)</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="570"/>
+        <location filename="../UI/Browser.py" line="582"/>
         <source>New toplevel directory</source>
         <translation>新建顶层文件夹</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="231"/>
+        <location filename="../UI/Browser.py" line="235"/>
         <source>Open in Icon Editor</source>
         <translation>在图标编辑器中打开</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="271"/>
+        <location filename="../UI/Browser.py" line="275"/>
         <source>Copy Path to Clipboard</source>
         <translation>将路径复制到剪贴板</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="260"/>
+        <location filename="../UI/Browser.py" line="264"/>
         <source>Refresh directory</source>
         <translation>刷新目录</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="276"/>
+        <location filename="../UI/Browser.py" line="280"/>
         <source>Goto</source>
         <translation>跳转</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="381"/>
+        <location filename="../UI/Browser.py" line="385"/>
         <source>Line {0}</source>
         <translation>行 {0}</translation>
     </message>
@@ -2387,65 +2387,70 @@
         <translation>&lt;b&gt;浏览器窗口&lt;/b&gt;&lt;p&gt;让您轻易地找到您系统中文件(夹)的层级,确认 Python 程序并在源码查看器中打开它们。该窗口显示独立的多级层次。&lt;/p&gt;&lt;p&gt;第一级仅在您已打开一个程序用来调试,且其根路径系包含该程序的目录时才会显示。通常,所有这些分离的文件构成了一个 Python 应用,而该应用亦在同一目录中。因此,此层级可让您轻易地访问到大多数您所需的文件。&lt;/p&gt;&lt;p&gt;下一个层级用以访问在 Python &lt;tt&gt;sys.path&lt;/tt&gt; 变量中声明的目录。&lt;/p&gt;&lt;p&gt;剩下的层次可让您在您的整个系统中导航。在 UNIX 系统中,在根路径有一个 &lt;tt&gt;/&lt;/tt&gt; 层级,另一个则是用户的家目录。在 Windows 系统中,每一个驱动器都有一个层级。&lt;/p&gt;&lt;p&gt;Python 程序(如:以 &lt;tt&gt;.py&lt;/tt&gt; 为扩展名)将在该层级中以 Python 图标标识。单击鼠标右键将会弹出快捷菜单,让您可以在源码查看器中打开此文件,以便调试或进行单元测试&lt;/p&gt;&lt;p&gt;一个类、函数或方法的关联菜单可让您打开此文件并定义该类、函数或方法,同时确保正确的源码行可见。&lt;/p&gt;&lt;p&gt;Qt-Designer 文件(如:以 &lt;tt&gt;.ui&lt;/tt&gt; 为扩展名) 将以设计器的图标显示。该类文件的关联菜单可让您用 Qt-Designer 打开这些文件。&lt;/p&gt;&lt;p&gt;Qt-Linguist 文件(如:以 &lt;tt&gt;.ts&lt;/tt&gt; 为扩展名)将以语言家的图标显示。该类文件的关联菜单可让您用 Qt-Linguist 打开这些文件。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>Show Mime-Type</source>
         <translation>显示 MIME 类型</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="474"/>
+        <location filename="../UI/Browser.py" line="478"/>
         <source>The mime type of the file could not be determined.</source>
         <translation>文件 MIME 类型无法确定。</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="492"/>
+        <location filename="../UI/Browser.py" line="496"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.</source>
         <translation>文件的 MIME 类型为 &lt;b&gt;{0}&lt;/b&gt;。</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="501"/>
+        <location filename="../UI/Browser.py" line="505"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt; Shall it be added to the list of text mime types?</source>
         <translation>该文件有 MIME 类型。&lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt;将其添加至文本 MIME 类型列表?</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="228"/>
+        <location filename="../UI/Browser.py" line="232"/>
         <source>Open in Hex Editor</source>
         <translation>在十六进制编辑器中打开</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="267"/>
+        <location filename="../UI/Browser.py" line="271"/>
         <source>Find &amp;&amp; Replace in this directory</source>
         <translation>在此目录中查找 &amp;&amp; 替换</translation>
     </message>
+    <message>
+        <location filename="../UI/Browser.py" line="220"/>
+        <source>Refresh Source File</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>BrowserModel</name>
     <message>
-        <location filename="../UI/BrowserModel.py" line="63"/>
+        <location filename="../UI/BrowserModel.py" line="65"/>
         <source>Name</source>
         <translation>名称</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="661"/>
+        <location filename="../UI/BrowserModel.py" line="663"/>
         <source>Globals</source>
         <translation>全局</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="731"/>
+        <location filename="../UI/BrowserModel.py" line="771"/>
         <source>Attributes</source>
         <translation>属性</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="655"/>
+        <location filename="../UI/BrowserModel.py" line="657"/>
         <source>Coding: {0}</source>
         <translation>编码: {0}</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="741"/>
+        <location filename="../UI/BrowserModel.py" line="781"/>
         <source>Class Attributes</source>
         <translation>类属性</translation>
     </message>
     <message>
-        <location filename="../UI/BrowserModel.py" line="667"/>
+        <location filename="../UI/BrowserModel.py" line="669"/>
         <source>Imports</source>
         <translation>导入</translation>
     </message>
@@ -26616,27 +26621,27 @@
 <context>
     <name>Globals</name>
     <message>
-        <location filename="../Globals/__init__.py" line="448"/>
+        <location filename="../Globals/__init__.py" line="452"/>
         <source>{0:4.2f} Bytes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Globals/__init__.py" line="452"/>
-        <source>{0:4.2f} KiB</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Globals/__init__.py" line="456"/>
-        <source>{0:4.2f} MiB</source>
+        <source>{0:4.2f} KiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="460"/>
-        <source>{0:4.2f} GiB</source>
+        <source>{0:4.2f} MiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Globals/__init__.py" line="464"/>
+        <source>{0:4.2f} GiB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Globals/__init__.py" line="468"/>
         <source>{0:4.2f} TiB</source>
         <translation type="unfinished"></translation>
     </message>
@@ -53796,7 +53801,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="631"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="636"/>
         <source>&lt;p&gt;ReStructuredText preview requires the &lt;b&gt;python-docutils&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install docutils&apos; or see &lt;a href=&quot;http://pypi.python.org/pypi/docutils&quot;&gt;this page.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -53806,12 +53811,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="674"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="679"/>
         <source>&lt;p&gt;Markdown preview requires the &lt;b&gt;Markdown&lt;/b&gt; package.&lt;br/&gt;Install it with your package manager, &apos;pip install Markdown&apos; or see &lt;a href=&quot;http://pythonhosted.org/Markdown/install.html&quot;&gt;installation instructions.&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Previewers/PreviewerHTML.py" line="646"/>
+        <location filename="../UI/Previewers/PreviewerHTML.py" line="651"/>
         <source>&lt;p&gt;Docutils returned an error:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -64171,17 +64176,17 @@
 <context>
     <name>SafariImporter</name>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Apple Safari stores its bookmarks in the &lt;b&gt;Bookmarks.plist&lt;/b&gt; file. This file is usually located in</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="42"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="40"/>
         <source>Please choose the file to begin importing bookmarks.</source>
         <translation type="unfinished">请选择文件以开始导入书签。</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="92"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py" line="90"/>
         <source>File &apos;{0}&apos; does not exist.</source>
         <translation>文件“{0}”不存在。</translation>
     </message>
@@ -86719,12 +86724,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="92"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
         <source>Press to edit the selected virtual environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="95"/>
+        <location filename="../VirtualEnv/VirtualenvManagerDialog.ui" line="98"/>
         <source>Edit...</source>
         <translation type="unfinished">编辑…</translation>
     </message>

eric ide

mercurial