Added shared editor functions.

Tue, 30 Mar 2010 13:49:13 +0000

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 30 Mar 2010 13:49:13 +0000
changeset 158
6a561f87bc07
parent 157
c8d5916b9934
child 159
2e79b9c72e59

Added shared editor functions.

APIs/Python3/eric5.api file | annotate | diff | comparison | revisions
Cooperation/ChatWidget.py file | annotate | diff | comparison | revisions
Cooperation/ChatWidget.ui file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Cooperation.ChatWidget.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.QScintilla.Editor.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.ViewManager.ViewManager.html file | annotate | diff | comparison | revisions
QScintilla/Editor.py file | annotate | diff | comparison | revisions
UI/UserInterface.py file | annotate | diff | comparison | revisions
ViewManager/ViewManager.py file | annotate | diff | comparison | revisions
changelog file | annotate | diff | comparison | revisions
i18n/eric5_cs.ts file | annotate | diff | comparison | revisions
i18n/eric5_de.qm file | annotate | diff | comparison | revisions
i18n/eric5_de.ts file | annotate | diff | comparison | revisions
i18n/eric5_es.ts file | annotate | diff | comparison | revisions
i18n/eric5_fr.ts file | annotate | diff | comparison | revisions
i18n/eric5_it.ts file | annotate | diff | comparison | revisions
i18n/eric5_ru.ts file | annotate | diff | comparison | revisions
i18n/eric5_tr.ts file | annotate | diff | comparison | revisions
i18n/eric5_zh_CN.GB2312.ts file | annotate | diff | comparison | revisions
icons/default/sharedEditCancel.png file | annotate | diff | comparison | revisions
icons/default/sharedEditConnected.png file | annotate | diff | comparison | revisions
icons/default/sharedEditDisconnected.png file | annotate | diff | comparison | revisions
icons/default/sharedEditSend.png file | annotate | diff | comparison | revisions
icons/default/sharedEditStart.png file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric5.api	Sun Mar 28 09:27:19 2010 +0000
+++ b/APIs/Python3/eric5.api	Tue Mar 30 13:49:13 2010 +0000
@@ -1,9 +1,20 @@
 eric5.Cooperation.ChatWidget.ChatWidget.appendMessage?4(from_, message)
+eric5.Cooperation.ChatWidget.ChatWidget.cancelEdit?7
+eric5.Cooperation.ChatWidget.ChatWidget.checkEditorActions?4(editor)
+eric5.Cooperation.ChatWidget.ChatWidget.connected?7
+eric5.Cooperation.ChatWidget.ChatWidget.editorCommand?7
 eric5.Cooperation.ChatWidget.ChatWidget.getClient?4()
+eric5.Cooperation.ChatWidget.ChatWidget.on_cancelEditButton_clicked?4()
 eric5.Cooperation.ChatWidget.ChatWidget.on_connectButton_clicked?4()
 eric5.Cooperation.ChatWidget.ChatWidget.on_hostEdit_textChanged?4(host)
+eric5.Cooperation.ChatWidget.ChatWidget.on_sendEditButton_clicked?4()
 eric5.Cooperation.ChatWidget.ChatWidget.on_serverButton_clicked?4()
+eric5.Cooperation.ChatWidget.ChatWidget.on_shareButton_clicked?4(checked)
+eric5.Cooperation.ChatWidget.ChatWidget.on_startEditButton_clicked?4(checked)
 eric5.Cooperation.ChatWidget.ChatWidget.preferencesChanged?4()
+eric5.Cooperation.ChatWidget.ChatWidget.sendEdit?7
+eric5.Cooperation.ChatWidget.ChatWidget.shareEditor?7
+eric5.Cooperation.ChatWidget.ChatWidget.startEdit?7
 eric5.Cooperation.ChatWidget.ChatWidget?1(port = -1, parent = None)
 eric5.Cooperation.Connection.Connection.Editor?7
 eric5.Cooperation.Connection.Connection.GetParticipants?7
@@ -4172,16 +4183,20 @@
 eric5.QScintilla.Editor.Editor.AttributeID?7
 eric5.QScintilla.Editor.Editor.AttributePrivateID?7
 eric5.QScintilla.Editor.Editor.AttributeProtectedID?7
+eric5.QScintilla.Editor.Editor.CancelEditToken?7
 eric5.QScintilla.Editor.Editor.ClassID?7
 eric5.QScintilla.Editor.Editor.ClassPrivateID?7
 eric5.QScintilla.Editor.Editor.ClassProtectedID?7
+eric5.QScintilla.Editor.Editor.EndEditToken?7
 eric5.QScintilla.Editor.Editor.EnumID?7
 eric5.QScintilla.Editor.Editor.FromDocumentID?7
 eric5.QScintilla.Editor.Editor.MethodID?7
 eric5.QScintilla.Editor.Editor.MethodPrivateID?7
 eric5.QScintilla.Editor.Editor.MethodProtectedID?7
-eric5.QScintilla.Editor.Editor.SelectionToken?7
+eric5.QScintilla.Editor.Editor.RequestSyncToken?7
 eric5.QScintilla.Editor.Editor.Separator?7
+eric5.QScintilla.Editor.Editor.StartEditToken?7
+eric5.QScintilla.Editor.Editor.SyncToken?7
 eric5.QScintilla.Editor.Editor.TemplateImageID?7
 eric5.QScintilla.Editor.Editor.addClone?4(editor)
 eric5.QScintilla.Editor.Editor.addedToProject?4()
@@ -4194,6 +4209,7 @@
 eric5.QScintilla.Editor.Editor.callTip?4()
 eric5.QScintilla.Editor.Editor.callTipHook?4()
 eric5.QScintilla.Editor.Editor.canAutoCompleteFromAPIs?4()
+eric5.QScintilla.Editor.Editor.cancelSharedEdit?4(send = True)
 eric5.QScintilla.Editor.Editor.changeEvent?4(evt)
 eric5.QScintilla.Editor.Editor.checkDirty?4()
 eric5.QScintilla.Editor.Editor.checkSpelling?4()
@@ -4235,6 +4251,7 @@
 eric5.QScintilla.Editor.Editor.getMenu?4(menuName)
 eric5.QScintilla.Editor.Editor.getNoName?4()
 eric5.QScintilla.Editor.Editor.getSearchText?4(selectionOnly = False)
+eric5.QScintilla.Editor.Editor.getSharingStatus?4()
 eric5.QScintilla.Editor.Editor.getSyntaxErrors?4()
 eric5.QScintilla.Editor.Editor.getWord?4(line, index, direction = 0, useWordChars = True)
 eric5.QScintilla.Editor.Editor.getWordBoundaries?4(line, index, useWordChars = True)
@@ -4295,7 +4312,7 @@
 eric5.QScintilla.Editor.Editor.saveFileAs?4(path = None)
 eric5.QScintilla.Editor.Editor.selectCurrentWord?4()
 eric5.QScintilla.Editor.Editor.selectWord?4(line, index)
-eric5.QScintilla.Editor.Editor.send?4(token, args)
+eric5.QScintilla.Editor.Editor.sendSharedEdit?4()
 eric5.QScintilla.Editor.Editor.setAutoCompletionEnabled?4(enable)
 eric5.QScintilla.Editor.Editor.setAutoCompletionHook?4(func)
 eric5.QScintilla.Editor.Editor.setAutoSpellChecking?4()
@@ -4306,9 +4323,12 @@
 eric5.QScintilla.Editor.Editor.setNoName?4(noName)
 eric5.QScintilla.Editor.Editor.setSearchIndicator?4(startPos, indicLength)
 eric5.QScintilla.Editor.Editor.setSpellingForProject?4()
+eric5.QScintilla.Editor.Editor.shareConnected?4(connected)
+eric5.QScintilla.Editor.Editor.shareEditor?4(share)
 eric5.QScintilla.Editor.Editor.shortenEmptyLines?4()
 eric5.QScintilla.Editor.Editor.shouldAutosave?4()
 eric5.QScintilla.Editor.Editor.smartIndentLineOrSelection?4()
+eric5.QScintilla.Editor.Editor.startSharedEdit?4()
 eric5.QScintilla.Editor.Editor.streamCommentLine?4()
 eric5.QScintilla.Editor.Editor.streamCommentLineOrSelection?4()
 eric5.QScintilla.Editor.Editor.streamCommentSelection?4()
@@ -5630,6 +5650,7 @@
 eric5.ViewManager.ViewManager.ViewManager.canCascade?4()
 eric5.ViewManager.ViewManager.ViewManager.canSplit?4()
 eric5.ViewManager.ViewManager.ViewManager.canTile?4()
+eric5.ViewManager.ViewManager.ViewManager.cancelSharedEdit?4()
 eric5.ViewManager.ViewManager.ViewManager.cascade?4()
 eric5.ViewManager.ViewManager.ViewManager.checkAllDirty?4()
 eric5.ViewManager.ViewManager.ViewManager.checkDirty?4(editor, autosave = False)
@@ -5668,6 +5689,7 @@
 eric5.ViewManager.ViewManager.ViewManager.initSpellingToolbar?4(toolbarManager)
 eric5.ViewManager.ViewManager.ViewManager.initViewMenu?4()
 eric5.ViewManager.ViewManager.ViewManager.initViewToolbar?4(toolbarManager)
+eric5.ViewManager.ViewManager.ViewManager.isConnected?4()
 eric5.ViewManager.ViewManager.ViewManager.newEditor?4()
 eric5.ViewManager.ViewManager.ViewManager.newEditorView?4(fn, caller, filetype = "")
 eric5.ViewManager.ViewManager.ViewManager.newProject?4()
@@ -5683,6 +5705,7 @@
 eric5.ViewManager.ViewManager.ViewManager.projectFileRenamed?4(oldfn, newfn)
 eric5.ViewManager.ViewManager.ViewManager.projectLexerAssociationsChanged?4()
 eric5.ViewManager.ViewManager.ViewManager.projectOpened?4()
+eric5.ViewManager.ViewManager.ViewManager.receive?4(hash, fileName, command)
 eric5.ViewManager.ViewManager.ViewManager.removeSplit?4()
 eric5.ViewManager.ViewManager.ViewManager.saveAllEditors?4()
 eric5.ViewManager.ViewManager.ViewManager.saveAsCurrentEditor?4()
@@ -5694,13 +5717,18 @@
 eric5.ViewManager.ViewManager.ViewManager.saveEditorToProjectEd?4(ed)
 eric5.ViewManager.ViewManager.ViewManager.saveEditorsList?4(editors)
 eric5.ViewManager.ViewManager.ViewManager.send?4(fileName, message)
+eric5.ViewManager.ViewManager.ViewManager.sendSharedEdit?4()
+eric5.ViewManager.ViewManager.ViewManager.setCooperationClient?4(client)
 eric5.ViewManager.ViewManager.ViewManager.setEditorName?4(editor, newName)
 eric5.ViewManager.ViewManager.ViewManager.setFileLine?4(fn, line, error = False, syntaxError = False)
 eric5.ViewManager.ViewManager.ViewManager.setReferences?4(ui, dbs)
 eric5.ViewManager.ViewManager.ViewManager.setSbInfo?4(sbFile, sbLine, sbPos, sbWritable, sbEncoding, sbLanguage, sbEol)
 eric5.ViewManager.ViewManager.ViewManager.setSplitOrientation?4(orientation)
+eric5.ViewManager.ViewManager.ViewManager.shareConnected?4(connected)
+eric5.ViewManager.ViewManager.ViewManager.shareEditor?4(share)
 eric5.ViewManager.ViewManager.ViewManager.showDebugSource?4(fn, line)
 eric5.ViewManager.ViewManager.ViewManager.showWindowMenu?4(windowMenu)
+eric5.ViewManager.ViewManager.ViewManager.startSharedEdit?4()
 eric5.ViewManager.ViewManager.ViewManager.textForFind?4(getCurrentWord = True)
 eric5.ViewManager.ViewManager.ViewManager.tile?4()
 eric5.ViewManager.ViewManager.ViewManager.unhighlight?4(current = False)
--- a/Cooperation/ChatWidget.py	Sun Mar 28 09:27:19 2010 +0000
+++ b/Cooperation/ChatWidget.py	Tue Mar 30 13:49:13 2010 +0000
@@ -7,9 +7,13 @@
 Module implementing the chat dialog.
 """
 
-from PyQt4.QtCore import Qt, pyqtSlot, QDateTime
+from PyQt4.QtCore import Qt, pyqtSlot, pyqtSignal, QDateTime
 from PyQt4.QtGui import QWidget, QColor, QListWidgetItem
 
+from E5Gui.E5Application import e5App
+
+from QScintilla.Editor import Editor
+
 from .CooperationClient import CooperationClient
 
 from .Ui_ChatWidget import Ui_ChatWidget
@@ -20,7 +24,24 @@
 class ChatWidget(QWidget, Ui_ChatWidget):
     """
     Class implementing the chat dialog.
+    
+    @signal connected(connected) emitted to signal a change of the connected
+            state (boole)
+    @signal editorCommand(hash, filename, message) emitted when an editor command
+            has been received (string, string, string)
+    @signal shareEditor(share) emitted to signal a share is requested (bool)
+    @signal startEdit() emitted to start a shared edit session
+    @signal sendEdit() emitted to send a shared edit session
+    @signal cancelEdit() emitted to cancel a shared edit session
     """
+    connected = pyqtSignal(bool)
+    editorCommand = pyqtSignal(str, str, str)
+    
+    shareEditor = pyqtSignal(bool)
+    startEdit = pyqtSignal()
+    sendEdit = pyqtSignal()
+    cancelEdit = pyqtSignal()
+    
     def __init__(self, port = -1, parent = None):
         """
         Constructor
@@ -31,6 +52,15 @@
         QWidget.__init__(self, parent)
         self.setupUi(self)
         
+        self.shareButton.setIcon(
+            UI.PixmapCache.getIcon("sharedEditDisconnected.png"))
+        self.startEditButton.setIcon(
+            UI.PixmapCache.getIcon("sharedEditStart.png"))
+        self.sendEditButton.setIcon(
+            UI.PixmapCache.getIcon("sharedEditSend.png"))
+        self.cancelEditButton.setIcon(
+            UI.PixmapCache.getIcon("sharedEditCancel.png"))
+        
         self.__client = CooperationClient()
         self.__myNickName = self.__client.nickName()
         
@@ -41,6 +71,7 @@
         self.__client.participantLeft.connect(self.__participantLeft)
         self.__client.connectionError.connect(self.__showErrorMessage)
         self.__client.cannotConnect.connect(self.__initialConnectionRefused)
+        self.__client.editorCommand.connect(self.__editorCommandMessage)
         
         self.serverButton.setText(self.trUtf8("Start Server"))
         self.serverLed.setColor(QColor(Qt.red))
@@ -194,21 +225,26 @@
         @param connected new connected state (boolean)
         """
         if connected:
-            self.__connected = True
             self.connectButton.setText(self.trUtf8("Disconnect"))
             self.connectButton.setEnabled(True)
-            self.hostEdit.setEnabled(False)
-            self.portSpin.setEnabled(False)
             self.connectionLed.setColor(QColor(Qt.green))
-            self.serverButton.setEnabled(False)
         else:
-            self.__connected = False
             self.connectButton.setText(self.trUtf8("Connect"))
             self.connectButton.setEnabled(self.hostEdit.text() != "")
-            self.hostEdit.setEnabled(True)
-            self.portSpin.setEnabled(True)
             self.connectionLed.setColor(QColor(Qt.red))
-            self.serverButton.setEnabled(True)
+            self.cancelEditButton.click()
+            self.shareButton.click()
+        self.__connected = connected
+        self.hostEdit.setEnabled(not connected)
+        self.portSpin.setEnabled(not connected)
+        self.serverButton.setEnabled(not connected)
+        self.sharingGroup.setEnabled(connected)
+        
+        if connected:
+            vm = e5App().getObject("ViewManager")
+            aw = vm.activeWindow()
+            if aw:
+                self.checkEditorActions(aw)
     
     def __showErrorMessage(self, message):
         """
@@ -243,3 +279,100 @@
         Public method to get a reference to the cooperation client.
         """
         return self.__client
+    
+    def __editorCommandMessage(self, hash, fileName, message):
+        """
+        Private slot to handle editor command messages from the client.
+        
+        @param hash hash of the project (string)
+        @param fileName project relative file name of the editor (string)
+        @param message command message (string)
+        """
+        self.editorCommand.emit(hash, fileName, message)
+        
+        if message.startswith(Editor.StartEditToken + Editor.Separator) or \
+           message.startswith(Editor.EndEditToken + Editor.Separator):
+            vm = e5App().getObject("ViewManager")
+            aw = vm.activeWindow()
+            if aw:
+                self.checkEditorActions(aw)
+    
+    @pyqtSlot(bool)
+    def on_shareButton_clicked(self, checked):
+        """
+        Private slot to share the current editor.
+        
+        @param checked flag indicating the button state (boolean)
+        """
+        if checked:
+            self.shareButton.setIcon(
+                UI.PixmapCache.getIcon("sharedEditConnected.png"))
+        else:
+            self.shareButton.setIcon(
+                UI.PixmapCache.getIcon("sharedEditDisconnected.png"))
+        self.startEditButton.setEnabled(checked)
+        
+        self.shareEditor.emit(checked)
+    
+    @pyqtSlot(bool)
+    def on_startEditButton_clicked(self, checked):
+        """
+        Private slot to start a shared edit session.
+        
+        @param checked flag indicating the button state (boolean)
+        """
+        if checked:
+            self.sendEditButton.setEnabled(True)
+            self.cancelEditButton.setEnabled(True)
+            self.shareButton.setEnabled(False)
+            self.startEditButton.setEnabled(False)
+            
+            self.startEdit.emit()
+    
+    @pyqtSlot()
+    def on_sendEditButton_clicked(self):
+        """
+        Private slot to end a shared edit session and send the changes.
+        """
+        self.sendEditButton.setEnabled(False)
+        self.cancelEditButton.setEnabled(False)
+        self.shareButton.setEnabled(True)
+        self.startEditButton.setEnabled(True)
+        self.startEditButton.setChecked(False)
+        
+        self.sendEdit.emit()
+    
+    @pyqtSlot()
+    def on_cancelEditButton_clicked(self):
+        """
+        Private slot to cancel a shared edit session.
+        """
+        self.sendEditButton.setEnabled(False)
+        self.cancelEditButton.setEnabled(False)
+        self.shareButton.setEnabled(True)
+        self.startEditButton.setEnabled(True)
+        self.startEditButton.setChecked(False)
+        
+        self.cancelEdit.emit()
+    
+    def checkEditorActions(self, editor):
+        """
+        Public slot to set action according to an editor's state.
+        
+        @param editor reference to the editor (Editor)
+        """
+        shareable, sharing, editing, remoteEditing = editor.getSharingStatus()
+        
+        self.shareButton.setChecked(sharing)
+        if sharing:
+            self.shareButton.setIcon(
+                UI.PixmapCache.getIcon("sharedEditConnected.png"))
+        else:
+            self.shareButton.setIcon(
+                UI.PixmapCache.getIcon("sharedEditDisconnected.png"))
+        self.startEditButton.setChecked(editing)
+        
+        self.shareButton.setEnabled(shareable and not editing)
+        self.startEditButton.setEnabled(sharing and not editing and not remoteEditing)
+        self.sendEditButton.setEnabled(editing)
+        self.cancelEditButton.setEnabled(editing)
--- a/Cooperation/ChatWidget.ui	Sun Mar 28 09:27:19 2010 +0000
+++ b/Cooperation/ChatWidget.ui	Tue Mar 30 13:49:13 2010 +0000
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>303</width>
-    <height>710</height>
+    <height>777</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -75,6 +75,102 @@
     </widget>
    </item>
    <item>
+    <widget class="QGroupBox" name="sharingGroup">
+     <property name="enabled">
+      <bool>false</bool>
+     </property>
+     <property name="title">
+      <string>Share Editor</string>
+     </property>
+     <layout class="QHBoxLayout" name="horizontalLayout">
+      <item>
+       <spacer name="horizontalSpacer_2">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>76</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <widget class="QToolButton" name="shareButton">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <property name="toolTip">
+         <string>Press to toggle the shared status of the current editor</string>
+        </property>
+        <property name="text">
+         <string>...</string>
+        </property>
+        <property name="checkable">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QToolButton" name="startEditButton">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <property name="toolTip">
+         <string>Press to start a shared edit</string>
+        </property>
+        <property name="text">
+         <string>...</string>
+        </property>
+        <property name="checkable">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QToolButton" name="sendEditButton">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <property name="toolTip">
+         <string>Press to end the edit and send the changes</string>
+        </property>
+        <property name="text">
+         <string>...</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QToolButton" name="cancelEditButton">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <property name="toolTip">
+         <string>Press to cancel the shared edit</string>
+        </property>
+        <property name="text">
+         <string>...</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <spacer name="horizontalSpacer">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>75</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
     <widget class="QGroupBox" name="connectGroup">
      <property name="title">
       <string>Connection</string>
@@ -212,6 +308,10 @@
   <tabstop>connectButton</tabstop>
   <tabstop>messageEdit</tabstop>
   <tabstop>sendButton</tabstop>
+  <tabstop>shareButton</tabstop>
+  <tabstop>startEditButton</tabstop>
+  <tabstop>sendEditButton</tabstop>
+  <tabstop>cancelEditButton</tabstop>
  </tabstops>
  <resources/>
  <connections/>
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Sun Mar 28 09:27:19 2010 +0000
+++ b/Documentation/Help/source.qhp	Tue Mar 30 13:49:13 2010 +0000
@@ -3184,6 +3184,7 @@
       <keyword name="ChatWidget (Module)" id="ChatWidget (Module)" ref="eric5.Cooperation.ChatWidget.html" />
       <keyword name="ChatWidget" id="ChatWidget" ref="eric5.Cooperation.ChatWidget.html#ChatWidget" />
       <keyword name="ChatWidget (Constructor)" id="ChatWidget (Constructor)" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.__init__" />
+      <keyword name="ChatWidget.__editorCommandMessage" id="ChatWidget.__editorCommandMessage" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.__editorCommandMessage" />
       <keyword name="ChatWidget.__handleMessage" id="ChatWidget.__handleMessage" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.__handleMessage" />
       <keyword name="ChatWidget.__initialConnectionRefused" id="ChatWidget.__initialConnectionRefused" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.__initialConnectionRefused" />
       <keyword name="ChatWidget.__newParticipant" id="ChatWidget.__newParticipant" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.__newParticipant" />
@@ -3191,10 +3192,15 @@
       <keyword name="ChatWidget.__setConnected" id="ChatWidget.__setConnected" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.__setConnected" />
       <keyword name="ChatWidget.__showErrorMessage" id="ChatWidget.__showErrorMessage" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.__showErrorMessage" />
       <keyword name="ChatWidget.appendMessage" id="ChatWidget.appendMessage" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.appendMessage" />
+      <keyword name="ChatWidget.checkEditorActions" id="ChatWidget.checkEditorActions" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.checkEditorActions" />
       <keyword name="ChatWidget.getClient" id="ChatWidget.getClient" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.getClient" />
+      <keyword name="ChatWidget.on_cancelEditButton_clicked" id="ChatWidget.on_cancelEditButton_clicked" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.on_cancelEditButton_clicked" />
       <keyword name="ChatWidget.on_connectButton_clicked" id="ChatWidget.on_connectButton_clicked" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.on_connectButton_clicked" />
       <keyword name="ChatWidget.on_hostEdit_textChanged" id="ChatWidget.on_hostEdit_textChanged" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.on_hostEdit_textChanged" />
+      <keyword name="ChatWidget.on_sendEditButton_clicked" id="ChatWidget.on_sendEditButton_clicked" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.on_sendEditButton_clicked" />
       <keyword name="ChatWidget.on_serverButton_clicked" id="ChatWidget.on_serverButton_clicked" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.on_serverButton_clicked" />
+      <keyword name="ChatWidget.on_shareButton_clicked" id="ChatWidget.on_shareButton_clicked" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.on_shareButton_clicked" />
+      <keyword name="ChatWidget.on_startEditButton_clicked" id="ChatWidget.on_startEditButton_clicked" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.on_startEditButton_clicked" />
       <keyword name="ChatWidget.preferencesChanged" id="ChatWidget.preferencesChanged" ref="eric5.Cooperation.ChatWidget.html#ChatWidget.preferencesChanged" />
       <keyword name="Connection (Module)" id="Connection (Module)" ref="eric5.Cooperation.Connection.html" />
       <keyword name="Connection" id="Connection" ref="eric5.Cooperation.Connection.html#Connection" />
@@ -3292,7 +3298,6 @@
       <keyword name="ViewManager.__enableSpellingActions" id="ViewManager.__enableSpellingActions" ref="eric5.ViewManager.ViewManager.html#ViewManager.__enableSpellingActions" />
       <keyword name="ViewManager.__exportMenuTriggered" id="ViewManager.__exportMenuTriggered" ref="eric5.ViewManager.ViewManager.html#ViewManager.__exportMenuTriggered" />
       <keyword name="ViewManager.__findFileName" id="ViewManager.__findFileName" ref="eric5.ViewManager.ViewManager.html#ViewManager.__findFileName" />
-      <keyword name="ViewManager.__getCooperationClient" id="ViewManager.__getCooperationClient" ref="eric5.ViewManager.ViewManager.html#ViewManager.__getCooperationClient" />
       <keyword name="ViewManager.__goto" id="ViewManager.__goto" ref="eric5.ViewManager.ViewManager.html#ViewManager.__goto" />
       <keyword name="ViewManager.__gotoBrace" id="ViewManager.__gotoBrace" ref="eric5.ViewManager.ViewManager.html#ViewManager.__gotoBrace" />
       <keyword name="ViewManager.__gotoSyntaxError" id="ViewManager.__gotoSyntaxError" ref="eric5.ViewManager.ViewManager.html#ViewManager.__gotoSyntaxError" />
@@ -3331,7 +3336,6 @@
       <keyword name="ViewManager.__quickSearchMarkOccurrences" id="ViewManager.__quickSearchMarkOccurrences" ref="eric5.ViewManager.ViewManager.html#ViewManager.__quickSearchMarkOccurrences" />
       <keyword name="ViewManager.__quickSearchPrev" id="ViewManager.__quickSearchPrev" ref="eric5.ViewManager.ViewManager.html#ViewManager.__quickSearchPrev" />
       <keyword name="ViewManager.__quickSearchText" id="ViewManager.__quickSearchText" ref="eric5.ViewManager.ViewManager.html#ViewManager.__quickSearchText" />
-      <keyword name="ViewManager.__receive" id="ViewManager.__receive" ref="eric5.ViewManager.ViewManager.html#ViewManager.__receive" />
       <keyword name="ViewManager.__replace" id="ViewManager.__replace" ref="eric5.ViewManager.ViewManager.html#ViewManager.__replace" />
       <keyword name="ViewManager.__replaceFiles" id="ViewManager.__replaceFiles" ref="eric5.ViewManager.ViewManager.html#ViewManager.__replaceFiles" />
       <keyword name="ViewManager.__saveRecent" id="ViewManager.__saveRecent" ref="eric5.ViewManager.ViewManager.html#ViewManager.__saveRecent" />
@@ -3375,6 +3379,7 @@
       <keyword name="ViewManager.canCascade" id="ViewManager.canCascade" ref="eric5.ViewManager.ViewManager.html#ViewManager.canCascade" />
       <keyword name="ViewManager.canSplit" id="ViewManager.canSplit" ref="eric5.ViewManager.ViewManager.html#ViewManager.canSplit" />
       <keyword name="ViewManager.canTile" id="ViewManager.canTile" ref="eric5.ViewManager.ViewManager.html#ViewManager.canTile" />
+      <keyword name="ViewManager.cancelSharedEdit" id="ViewManager.cancelSharedEdit" ref="eric5.ViewManager.ViewManager.html#ViewManager.cancelSharedEdit" />
       <keyword name="ViewManager.cascade" id="ViewManager.cascade" ref="eric5.ViewManager.ViewManager.html#ViewManager.cascade" />
       <keyword name="ViewManager.checkAllDirty" id="ViewManager.checkAllDirty" ref="eric5.ViewManager.ViewManager.html#ViewManager.checkAllDirty" />
       <keyword name="ViewManager.checkDirty" id="ViewManager.checkDirty" ref="eric5.ViewManager.ViewManager.html#ViewManager.checkDirty" />
@@ -3429,6 +3434,7 @@
       <keyword name="ViewManager.projectFileRenamed" id="ViewManager.projectFileRenamed" ref="eric5.ViewManager.ViewManager.html#ViewManager.projectFileRenamed" />
       <keyword name="ViewManager.projectLexerAssociationsChanged" id="ViewManager.projectLexerAssociationsChanged" ref="eric5.ViewManager.ViewManager.html#ViewManager.projectLexerAssociationsChanged" />
       <keyword name="ViewManager.projectOpened" id="ViewManager.projectOpened" ref="eric5.ViewManager.ViewManager.html#ViewManager.projectOpened" />
+      <keyword name="ViewManager.receive" id="ViewManager.receive" ref="eric5.ViewManager.ViewManager.html#ViewManager.receive" />
       <keyword name="ViewManager.removeSplit" id="ViewManager.removeSplit" ref="eric5.ViewManager.ViewManager.html#ViewManager.removeSplit" />
       <keyword name="ViewManager.saveAllEditors" id="ViewManager.saveAllEditors" ref="eric5.ViewManager.ViewManager.html#ViewManager.saveAllEditors" />
       <keyword name="ViewManager.saveAsCurrentEditor" id="ViewManager.saveAsCurrentEditor" ref="eric5.ViewManager.ViewManager.html#ViewManager.saveAsCurrentEditor" />
@@ -3440,13 +3446,18 @@
       <keyword name="ViewManager.saveEditorToProjectEd" id="ViewManager.saveEditorToProjectEd" ref="eric5.ViewManager.ViewManager.html#ViewManager.saveEditorToProjectEd" />
       <keyword name="ViewManager.saveEditorsList" id="ViewManager.saveEditorsList" ref="eric5.ViewManager.ViewManager.html#ViewManager.saveEditorsList" />
       <keyword name="ViewManager.send" id="ViewManager.send" ref="eric5.ViewManager.ViewManager.html#ViewManager.send" />
+      <keyword name="ViewManager.sendSharedEdit" id="ViewManager.sendSharedEdit" ref="eric5.ViewManager.ViewManager.html#ViewManager.sendSharedEdit" />
+      <keyword name="ViewManager.setCooperationClient" id="ViewManager.setCooperationClient" ref="eric5.ViewManager.ViewManager.html#ViewManager.setCooperationClient" />
       <keyword name="ViewManager.setEditorName" id="ViewManager.setEditorName" ref="eric5.ViewManager.ViewManager.html#ViewManager.setEditorName" />
       <keyword name="ViewManager.setFileLine" id="ViewManager.setFileLine" ref="eric5.ViewManager.ViewManager.html#ViewManager.setFileLine" />
       <keyword name="ViewManager.setReferences" id="ViewManager.setReferences" ref="eric5.ViewManager.ViewManager.html#ViewManager.setReferences" />
       <keyword name="ViewManager.setSbInfo" id="ViewManager.setSbInfo" ref="eric5.ViewManager.ViewManager.html#ViewManager.setSbInfo" />
       <keyword name="ViewManager.setSplitOrientation" id="ViewManager.setSplitOrientation" ref="eric5.ViewManager.ViewManager.html#ViewManager.setSplitOrientation" />
+      <keyword name="ViewManager.shareConnected" id="ViewManager.shareConnected" ref="eric5.ViewManager.ViewManager.html#ViewManager.shareConnected" />
+      <keyword name="ViewManager.shareEditor" id="ViewManager.shareEditor" ref="eric5.ViewManager.ViewManager.html#ViewManager.shareEditor" />
       <keyword name="ViewManager.showDebugSource" id="ViewManager.showDebugSource" ref="eric5.ViewManager.ViewManager.html#ViewManager.showDebugSource" />
       <keyword name="ViewManager.showWindowMenu" id="ViewManager.showWindowMenu" ref="eric5.ViewManager.ViewManager.html#ViewManager.showWindowMenu" />
+      <keyword name="ViewManager.startSharedEdit" id="ViewManager.startSharedEdit" ref="eric5.ViewManager.ViewManager.html#ViewManager.startSharedEdit" />
       <keyword name="ViewManager.textForFind" id="ViewManager.textForFind" ref="eric5.ViewManager.ViewManager.html#ViewManager.textForFind" />
       <keyword name="ViewManager.tile" id="ViewManager.tile" ref="eric5.ViewManager.ViewManager.html#ViewManager.tile" />
       <keyword name="ViewManager.unhighlight" id="ViewManager.unhighlight" ref="eric5.ViewManager.ViewManager.html#ViewManager.unhighlight" />
@@ -5479,6 +5490,7 @@
       <keyword name="Editor.__bindLexer" id="Editor.__bindLexer" ref="eric5.QScintilla.Editor.html#Editor.__bindLexer" />
       <keyword name="Editor.__bindName" id="Editor.__bindName" ref="eric5.QScintilla.Editor.html#Editor.__bindName" />
       <keyword name="Editor.__breakPointDataAboutToBeChanged" id="Editor.__breakPointDataAboutToBeChanged" ref="eric5.QScintilla.Editor.html#Editor.__breakPointDataAboutToBeChanged" />
+      <keyword name="Editor.__calculateChanges" id="Editor.__calculateChanges" ref="eric5.QScintilla.Editor.html#Editor.__calculateChanges" />
       <keyword name="Editor.__callTip" id="Editor.__callTip" ref="eric5.QScintilla.Editor.html#Editor.__callTip" />
       <keyword name="Editor.__changeBreakPoints" id="Editor.__changeBreakPoints" ref="eric5.QScintilla.Editor.html#Editor.__changeBreakPoints" />
       <keyword name="Editor.__charAdded" id="Editor.__charAdded" ref="eric5.QScintilla.Editor.html#Editor.__charAdded" />
@@ -5498,6 +5510,7 @@
       <keyword name="Editor.__cursorPositionChanged" id="Editor.__cursorPositionChanged" ref="eric5.QScintilla.Editor.html#Editor.__cursorPositionChanged" />
       <keyword name="Editor.__deleteBreakPoints" id="Editor.__deleteBreakPoints" ref="eric5.QScintilla.Editor.html#Editor.__deleteBreakPoints" />
       <keyword name="Editor.__deselectAll" id="Editor.__deselectAll" ref="eric5.QScintilla.Editor.html#Editor.__deselectAll" />
+      <keyword name="Editor.__dispatchCommand" id="Editor.__dispatchCommand" ref="eric5.QScintilla.Editor.html#Editor.__dispatchCommand" />
       <keyword name="Editor.__encodingChanged" id="Editor.__encodingChanged" ref="eric5.QScintilla.Editor.html#Editor.__encodingChanged" />
       <keyword name="Editor.__encodingsMenuTriggered" id="Editor.__encodingsMenuTriggered" ref="eric5.QScintilla.Editor.html#Editor.__encodingsMenuTriggered" />
       <keyword name="Editor.__eolChanged" id="Editor.__eolChanged" ref="eric5.QScintilla.Editor.html#Editor.__eolChanged" />
@@ -5539,7 +5552,10 @@
       <keyword name="Editor.__newViewNewSplit" id="Editor.__newViewNewSplit" ref="eric5.QScintilla.Editor.html#Editor.__newViewNewSplit" />
       <keyword name="Editor.__normalizedEncoding" id="Editor.__normalizedEncoding" ref="eric5.QScintilla.Editor.html#Editor.__normalizedEncoding" />
       <keyword name="Editor.__printPreview" id="Editor.__printPreview" ref="eric5.QScintilla.Editor.html#Editor.__printPreview" />
-      <keyword name="Editor.__processSelectionCommand" id="Editor.__processSelectionCommand" ref="eric5.QScintilla.Editor.html#Editor.__processSelectionCommand" />
+      <keyword name="Editor.__processEndEditCommand" id="Editor.__processEndEditCommand" ref="eric5.QScintilla.Editor.html#Editor.__processEndEditCommand" />
+      <keyword name="Editor.__processRequestSyncCommand" id="Editor.__processRequestSyncCommand" ref="eric5.QScintilla.Editor.html#Editor.__processRequestSyncCommand" />
+      <keyword name="Editor.__processStartEditCommand" id="Editor.__processStartEditCommand" ref="eric5.QScintilla.Editor.html#Editor.__processStartEditCommand" />
+      <keyword name="Editor.__processSyncCommand" id="Editor.__processSyncCommand" ref="eric5.QScintilla.Editor.html#Editor.__processSyncCommand" />
       <keyword name="Editor.__projectPropertiesChanged" id="Editor.__projectPropertiesChanged" ref="eric5.QScintilla.Editor.html#Editor.__projectPropertiesChanged" />
       <keyword name="Editor.__registerImages" id="Editor.__registerImages" ref="eric5.QScintilla.Editor.html#Editor.__registerImages" />
       <keyword name="Editor.__removeFromSpellingDictionary" id="Editor.__removeFromSpellingDictionary" ref="eric5.QScintilla.Editor.html#Editor.__removeFromSpellingDictionary" />
@@ -5548,7 +5564,7 @@
       <keyword name="Editor.__restoreBreakpoints" id="Editor.__restoreBreakpoints" ref="eric5.QScintilla.Editor.html#Editor.__restoreBreakpoints" />
       <keyword name="Editor.__selectAll" id="Editor.__selectAll" ref="eric5.QScintilla.Editor.html#Editor.__selectAll" />
       <keyword name="Editor.__selectPygmentsLexer" id="Editor.__selectPygmentsLexer" ref="eric5.QScintilla.Editor.html#Editor.__selectPygmentsLexer" />
-      <keyword name="Editor.__selectionChanged" id="Editor.__selectionChanged" ref="eric5.QScintilla.Editor.html#Editor.__selectionChanged" />
+      <keyword name="Editor.__send" id="Editor.__send" ref="eric5.QScintilla.Editor.html#Editor.__send" />
       <keyword name="Editor.__setAutoCompletion" id="Editor.__setAutoCompletion" ref="eric5.QScintilla.Editor.html#Editor.__setAutoCompletion" />
       <keyword name="Editor.__setCallTips" id="Editor.__setCallTips" ref="eric5.QScintilla.Editor.html#Editor.__setCallTips" />
       <keyword name="Editor.__setEolMode" id="Editor.__setEolMode" ref="eric5.QScintilla.Editor.html#Editor.__setEolMode" />
@@ -5595,6 +5611,7 @@
       <keyword name="Editor.callTip" id="Editor.callTip" ref="eric5.QScintilla.Editor.html#Editor.callTip" />
       <keyword name="Editor.callTipHook" id="Editor.callTipHook" ref="eric5.QScintilla.Editor.html#Editor.callTipHook" />
       <keyword name="Editor.canAutoCompleteFromAPIs" id="Editor.canAutoCompleteFromAPIs" ref="eric5.QScintilla.Editor.html#Editor.canAutoCompleteFromAPIs" />
+      <keyword name="Editor.cancelSharedEdit" id="Editor.cancelSharedEdit" ref="eric5.QScintilla.Editor.html#Editor.cancelSharedEdit" />
       <keyword name="Editor.changeEvent" id="Editor.changeEvent" ref="eric5.QScintilla.Editor.html#Editor.changeEvent" />
       <keyword name="Editor.checkDirty" id="Editor.checkDirty" ref="eric5.QScintilla.Editor.html#Editor.checkDirty" />
       <keyword name="Editor.checkSpelling" id="Editor.checkSpelling" ref="eric5.QScintilla.Editor.html#Editor.checkSpelling" />
@@ -5636,6 +5653,7 @@
       <keyword name="Editor.getMenu" id="Editor.getMenu" ref="eric5.QScintilla.Editor.html#Editor.getMenu" />
       <keyword name="Editor.getNoName" id="Editor.getNoName" ref="eric5.QScintilla.Editor.html#Editor.getNoName" />
       <keyword name="Editor.getSearchText" id="Editor.getSearchText" ref="eric5.QScintilla.Editor.html#Editor.getSearchText" />
+      <keyword name="Editor.getSharingStatus" id="Editor.getSharingStatus" ref="eric5.QScintilla.Editor.html#Editor.getSharingStatus" />
       <keyword name="Editor.getSyntaxErrors" id="Editor.getSyntaxErrors" ref="eric5.QScintilla.Editor.html#Editor.getSyntaxErrors" />
       <keyword name="Editor.getWord" id="Editor.getWord" ref="eric5.QScintilla.Editor.html#Editor.getWord" />
       <keyword name="Editor.getWordBoundaries" id="Editor.getWordBoundaries" ref="eric5.QScintilla.Editor.html#Editor.getWordBoundaries" />
@@ -5696,7 +5714,7 @@
       <keyword name="Editor.saveFileAs" id="Editor.saveFileAs" ref="eric5.QScintilla.Editor.html#Editor.saveFileAs" />
       <keyword name="Editor.selectCurrentWord" id="Editor.selectCurrentWord" ref="eric5.QScintilla.Editor.html#Editor.selectCurrentWord" />
       <keyword name="Editor.selectWord" id="Editor.selectWord" ref="eric5.QScintilla.Editor.html#Editor.selectWord" />
-      <keyword name="Editor.send" id="Editor.send" ref="eric5.QScintilla.Editor.html#Editor.send" />
+      <keyword name="Editor.sendSharedEdit" id="Editor.sendSharedEdit" ref="eric5.QScintilla.Editor.html#Editor.sendSharedEdit" />
       <keyword name="Editor.setAutoCompletionEnabled" id="Editor.setAutoCompletionEnabled" ref="eric5.QScintilla.Editor.html#Editor.setAutoCompletionEnabled" />
       <keyword name="Editor.setAutoCompletionHook" id="Editor.setAutoCompletionHook" ref="eric5.QScintilla.Editor.html#Editor.setAutoCompletionHook" />
       <keyword name="Editor.setAutoSpellChecking" id="Editor.setAutoSpellChecking" ref="eric5.QScintilla.Editor.html#Editor.setAutoSpellChecking" />
@@ -5707,9 +5725,12 @@
       <keyword name="Editor.setNoName" id="Editor.setNoName" ref="eric5.QScintilla.Editor.html#Editor.setNoName" />
       <keyword name="Editor.setSearchIndicator" id="Editor.setSearchIndicator" ref="eric5.QScintilla.Editor.html#Editor.setSearchIndicator" />
       <keyword name="Editor.setSpellingForProject" id="Editor.setSpellingForProject" ref="eric5.QScintilla.Editor.html#Editor.setSpellingForProject" />
+      <keyword name="Editor.shareConnected" id="Editor.shareConnected" ref="eric5.QScintilla.Editor.html#Editor.shareConnected" />
+      <keyword name="Editor.shareEditor" id="Editor.shareEditor" ref="eric5.QScintilla.Editor.html#Editor.shareEditor" />
       <keyword name="Editor.shortenEmptyLines" id="Editor.shortenEmptyLines" ref="eric5.QScintilla.Editor.html#Editor.shortenEmptyLines" />
       <keyword name="Editor.shouldAutosave" id="Editor.shouldAutosave" ref="eric5.QScintilla.Editor.html#Editor.shouldAutosave" />
       <keyword name="Editor.smartIndentLineOrSelection" id="Editor.smartIndentLineOrSelection" ref="eric5.QScintilla.Editor.html#Editor.smartIndentLineOrSelection" />
+      <keyword name="Editor.startSharedEdit" id="Editor.startSharedEdit" ref="eric5.QScintilla.Editor.html#Editor.startSharedEdit" />
       <keyword name="Editor.streamCommentLine" id="Editor.streamCommentLine" ref="eric5.QScintilla.Editor.html#Editor.streamCommentLine" />
       <keyword name="Editor.streamCommentLineOrSelection" id="Editor.streamCommentLineOrSelection" ref="eric5.QScintilla.Editor.html#Editor.streamCommentLineOrSelection" />
       <keyword name="Editor.streamCommentSelection" id="Editor.streamCommentSelection" ref="eric5.QScintilla.Editor.html#Editor.streamCommentSelection" />
--- a/Documentation/Source/eric5.Cooperation.ChatWidget.html	Sun Mar 28 09:27:19 2010 +0000
+++ b/Documentation/Source/eric5.Cooperation.ChatWidget.html	Tue Mar 30 13:49:13 2010 +0000
@@ -44,12 +44,35 @@
 <h2>ChatWidget</h2>
 <p>
     Class implementing the chat dialog.
-</p>
+</p><h4>Signals</h4>
+<dl>
+<dt>cancelEdit()</dt>
+<dd>
+emitted to cancel a shared edit session
+</dd><dt>connected(connected)</dt>
+<dd>
+emitted to signal a change of the connected
+            state (boole)
+</dd><dt>editorCommand(hash, filename, message)</dt>
+<dd>
+emitted when an editor command
+            has been received (string, string, string)
+</dd><dt>sendEdit()</dt>
+<dd>
+emitted to send a shared edit session
+</dd><dt>shareEditor(share)</dt>
+<dd>
+emitted to signal a share is requested (bool)
+</dd><dt>startEdit()</dt>
+<dd>
+emitted to start a shared edit session
+</dd>
+</dl>
 <h3>Derived from</h3>
 QWidget, Ui_ChatWidget
 <h3>Class Attributes</h3>
 <table>
-<tr><td>None</td></tr>
+<tr><td>cancelEdit</td></tr><tr><td>connected</td></tr><tr><td>editorCommand</td></tr><tr><td>sendEdit</td></tr><tr><td>shareEditor</td></tr><tr><td>startEdit</td></tr>
 </table>
 <h3>Methods</h3>
 <table>
@@ -57,6 +80,9 @@
 <td><a href="#ChatWidget.__init__">ChatWidget</a></td>
 <td>Constructor</td>
 </tr><tr>
+<td><a href="#ChatWidget.__editorCommandMessage">__editorCommandMessage</a></td>
+<td>Private slot to handle editor command messages from the client.</td>
+</tr><tr>
 <td><a href="#ChatWidget.__handleMessage">__handleMessage</a></td>
 <td>Private slot handling the Return key pressed in the message edit.</td>
 </tr><tr>
@@ -78,18 +104,33 @@
 <td><a href="#ChatWidget.appendMessage">appendMessage</a></td>
 <td>Public slot to append a message to the display.</td>
 </tr><tr>
+<td><a href="#ChatWidget.checkEditorActions">checkEditorActions</a></td>
+<td>Public slot to set action according to an editor's state.</td>
+</tr><tr>
 <td><a href="#ChatWidget.getClient">getClient</a></td>
 <td>Public method to get a reference to the cooperation client.</td>
 </tr><tr>
+<td><a href="#ChatWidget.on_cancelEditButton_clicked">on_cancelEditButton_clicked</a></td>
+<td>Private slot to cancel a shared edit session.</td>
+</tr><tr>
 <td><a href="#ChatWidget.on_connectButton_clicked">on_connectButton_clicked</a></td>
 <td>Private slot initiating the connection.</td>
 </tr><tr>
 <td><a href="#ChatWidget.on_hostEdit_textChanged">on_hostEdit_textChanged</a></td>
 <td>Private slot handling the entry of a host to connect to.</td>
 </tr><tr>
+<td><a href="#ChatWidget.on_sendEditButton_clicked">on_sendEditButton_clicked</a></td>
+<td>Private slot to end a shared edit session and send the changes.</td>
+</tr><tr>
 <td><a href="#ChatWidget.on_serverButton_clicked">on_serverButton_clicked</a></td>
 <td>Private slot to start the server.</td>
 </tr><tr>
+<td><a href="#ChatWidget.on_shareButton_clicked">on_shareButton_clicked</a></td>
+<td>Private slot to share the current editor.</td>
+</tr><tr>
+<td><a href="#ChatWidget.on_startEditButton_clicked">on_startEditButton_clicked</a></td>
+<td>Private slot to start a shared edit session.</td>
+</tr><tr>
 <td><a href="#ChatWidget.preferencesChanged">preferencesChanged</a></td>
 <td>Public slot to handle a change of preferences.</td>
 </tr>
@@ -107,6 +148,22 @@
 <dd>
 reference to the parent widget (QWidget)
 </dd>
+</dl><a NAME="ChatWidget.__editorCommandMessage" ID="ChatWidget.__editorCommandMessage"></a>
+<h4>ChatWidget.__editorCommandMessage</h4>
+<b>__editorCommandMessage</b>(<i>hash, fileName, message</i>)
+<p>
+        Private slot to handle editor command messages from the client.
+</p><dl>
+<dt><i>hash</i></dt>
+<dd>
+hash of the project (string)
+</dd><dt><i>fileName</i></dt>
+<dd>
+project relative file name of the editor (string)
+</dd><dt><i>message</i></dt>
+<dd>
+command message (string)
+</dd>
 </dl><a NAME="ChatWidget.__handleMessage" ID="ChatWidget.__handleMessage"></a>
 <h4>ChatWidget.__handleMessage</h4>
 <b>__handleMessage</b>(<i></i>)
@@ -170,11 +227,26 @@
 <dd>
 message to be appended (string)
 </dd>
+</dl><a NAME="ChatWidget.checkEditorActions" ID="ChatWidget.checkEditorActions"></a>
+<h4>ChatWidget.checkEditorActions</h4>
+<b>checkEditorActions</b>(<i>editor</i>)
+<p>
+        Public slot to set action according to an editor's state.
+</p><dl>
+<dt><i>editor</i></dt>
+<dd>
+reference to the editor (Editor)
+</dd>
 </dl><a NAME="ChatWidget.getClient" ID="ChatWidget.getClient"></a>
 <h4>ChatWidget.getClient</h4>
 <b>getClient</b>(<i></i>)
 <p>
         Public method to get a reference to the cooperation client.
+</p><a NAME="ChatWidget.on_cancelEditButton_clicked" ID="ChatWidget.on_cancelEditButton_clicked"></a>
+<h4>ChatWidget.on_cancelEditButton_clicked</h4>
+<b>on_cancelEditButton_clicked</b>(<i></i>)
+<p>
+        Private slot to cancel a shared edit session.
 </p><a NAME="ChatWidget.on_connectButton_clicked" ID="ChatWidget.on_connectButton_clicked"></a>
 <h4>ChatWidget.on_connectButton_clicked</h4>
 <b>on_connectButton_clicked</b>(<i></i>)
@@ -190,12 +262,37 @@
 <dd>
 host to connect to (string)
 </dd>
-</dl><a NAME="ChatWidget.on_serverButton_clicked" ID="ChatWidget.on_serverButton_clicked"></a>
+</dl><a NAME="ChatWidget.on_sendEditButton_clicked" ID="ChatWidget.on_sendEditButton_clicked"></a>
+<h4>ChatWidget.on_sendEditButton_clicked</h4>
+<b>on_sendEditButton_clicked</b>(<i></i>)
+<p>
+        Private slot to end a shared edit session and send the changes.
+</p><a NAME="ChatWidget.on_serverButton_clicked" ID="ChatWidget.on_serverButton_clicked"></a>
 <h4>ChatWidget.on_serverButton_clicked</h4>
 <b>on_serverButton_clicked</b>(<i></i>)
 <p>
         Private slot to start the server.
-</p><a NAME="ChatWidget.preferencesChanged" ID="ChatWidget.preferencesChanged"></a>
+</p><a NAME="ChatWidget.on_shareButton_clicked" ID="ChatWidget.on_shareButton_clicked"></a>
+<h4>ChatWidget.on_shareButton_clicked</h4>
+<b>on_shareButton_clicked</b>(<i>checked</i>)
+<p>
+        Private slot to share the current editor.
+</p><dl>
+<dt><i>checked</i></dt>
+<dd>
+flag indicating the button state (boolean)
+</dd>
+</dl><a NAME="ChatWidget.on_startEditButton_clicked" ID="ChatWidget.on_startEditButton_clicked"></a>
+<h4>ChatWidget.on_startEditButton_clicked</h4>
+<b>on_startEditButton_clicked</b>(<i>checked</i>)
+<p>
+        Private slot to start a shared edit session.
+</p><dl>
+<dt><i>checked</i></dt>
+<dd>
+flag indicating the button state (boolean)
+</dd>
+</dl><a NAME="ChatWidget.preferencesChanged" ID="ChatWidget.preferencesChanged"></a>
 <h4>ChatWidget.preferencesChanged</h4>
 <b>preferencesChanged</b>(<i></i>)
 <p>
--- a/Documentation/Source/eric5.QScintilla.Editor.html	Sun Mar 28 09:27:19 2010 +0000
+++ b/Documentation/Source/eric5.QScintilla.Editor.html	Tue Mar 30 13:49:13 2010 +0000
@@ -117,7 +117,7 @@
 QsciScintillaCompat
 <h3>Class Attributes</h3>
 <table>
-<tr><td>AttributeID</td></tr><tr><td>AttributePrivateID</td></tr><tr><td>AttributeProtectedID</td></tr><tr><td>ClassID</td></tr><tr><td>ClassPrivateID</td></tr><tr><td>ClassProtectedID</td></tr><tr><td>EnumID</td></tr><tr><td>FromDocumentID</td></tr><tr><td>MethodID</td></tr><tr><td>MethodPrivateID</td></tr><tr><td>MethodProtectedID</td></tr><tr><td>SelectionToken</td></tr><tr><td>Separator</td></tr><tr><td>TemplateImageID</td></tr>
+<tr><td>AttributeID</td></tr><tr><td>AttributePrivateID</td></tr><tr><td>AttributeProtectedID</td></tr><tr><td>CancelEditToken</td></tr><tr><td>ClassID</td></tr><tr><td>ClassPrivateID</td></tr><tr><td>ClassProtectedID</td></tr><tr><td>EndEditToken</td></tr><tr><td>EnumID</td></tr><tr><td>FromDocumentID</td></tr><tr><td>MethodID</td></tr><tr><td>MethodPrivateID</td></tr><tr><td>MethodProtectedID</td></tr><tr><td>RequestSyncToken</td></tr><tr><td>Separator</td></tr><tr><td>StartEditToken</td></tr><tr><td>SyncToken</td></tr><tr><td>TemplateImageID</td></tr>
 </table>
 <h3>Methods</h3>
 <table>
@@ -173,6 +173,9 @@
 <td><a href="#Editor.__breakPointDataAboutToBeChanged">__breakPointDataAboutToBeChanged</a></td>
 <td>Private slot to handle the dataAboutToBeChanged signal of the breakpoint model.</td>
 </tr><tr>
+<td><a href="#Editor.__calculateChanges">__calculateChanges</a></td>
+<td>Private method to determine change commands to convert old text into new text.</td>
+</tr><tr>
 <td><a href="#Editor.__callTip">__callTip</a></td>
 <td>Private method to show call tips provided by a plugin.</td>
 </tr><tr>
@@ -230,6 +233,9 @@
 <td><a href="#Editor.__deselectAll">__deselectAll</a></td>
 <td>Private slot handling the deselect all context menu action.</td>
 </tr><tr>
+<td><a href="#Editor.__dispatchCommand">__dispatchCommand</a></td>
+<td>Private method to dispatch received commands.</td>
+</tr><tr>
 <td><a href="#Editor.__encodingChanged">__encodingChanged</a></td>
 <td>Private slot to handle a change of the encoding.</td>
 </tr><tr>
@@ -353,8 +359,17 @@
 <td><a href="#Editor.__printPreview">__printPreview</a></td>
 <td>Private slot to generate a print preview.</td>
 </tr><tr>
-<td><a href="#Editor.__processSelectionCommand">__processSelectionCommand</a></td>
-<td>Private slot to process a remote selection command</td>
+<td><a href="#Editor.__processEndEditCommand">__processEndEditCommand</a></td>
+<td>Private slot to process a remote EndEdit command</td>
+</tr><tr>
+<td><a href="#Editor.__processRequestSyncCommand">__processRequestSyncCommand</a></td>
+<td>Private slot to process a remote RequestSync command</td>
+</tr><tr>
+<td><a href="#Editor.__processStartEditCommand">__processStartEditCommand</a></td>
+<td>Private slot to process a remote StartEdit command</td>
+</tr><tr>
+<td><a href="#Editor.__processSyncCommand">__processSyncCommand</a></td>
+<td>Private slot to process a remote Sync command</td>
 </tr><tr>
 <td><a href="#Editor.__projectPropertiesChanged">__projectPropertiesChanged</a></td>
 <td>Private slot to handle changes of the project properties.</td>
@@ -380,8 +395,8 @@
 <td><a href="#Editor.__selectPygmentsLexer">__selectPygmentsLexer</a></td>
 <td>Private method to select a specific pygments lexer.</td>
 </tr><tr>
-<td><a href="#Editor.__selectionChanged">__selectionChanged</a></td>
-<td>Private slot to handle a change of the selection.</td>
+<td><a href="#Editor.__send">__send</a></td>
+<td>Private method to send an editor command to remote editors.</td>
 </tr><tr>
 <td><a href="#Editor.__setAutoCompletion">__setAutoCompletion</a></td>
 <td>Private method to configure the autocompletion function.</td>
@@ -521,6 +536,9 @@
 <td><a href="#Editor.canAutoCompleteFromAPIs">canAutoCompleteFromAPIs</a></td>
 <td>Public method to check for API availablity.</td>
 </tr><tr>
+<td><a href="#Editor.cancelSharedEdit">cancelSharedEdit</a></td>
+<td>Public slot to cancel a shared edit session for the editor.</td>
+</tr><tr>
 <td><a href="#Editor.changeEvent">changeEvent</a></td>
 <td>Protected method called to process an event.</td>
 </tr><tr>
@@ -644,6 +662,9 @@
 <td><a href="#Editor.getSearchText">getSearchText</a></td>
 <td>Public method to determine the selection or the current word for the next search operation.</td>
 </tr><tr>
+<td><a href="#Editor.getSharingStatus">getSharingStatus</a></td>
+<td>Public method to get some share status info.</td>
+</tr><tr>
 <td><a href="#Editor.getSyntaxErrors">getSyntaxErrors</a></td>
 <td>Public method to retrieve the syntax error markers.</td>
 </tr><tr>
@@ -824,8 +845,8 @@
 <td><a href="#Editor.selectWord">selectWord</a></td>
 <td>Public method to select the word at a position.</td>
 </tr><tr>
-<td><a href="#Editor.send">send</a></td>
-<td>Public method to send an editor command to remote editors.</td>
+<td><a href="#Editor.sendSharedEdit">sendSharedEdit</a></td>
+<td>Public slot to end a shared edit session for the editor and send the changes.</td>
 </tr><tr>
 <td><a href="#Editor.setAutoCompletionEnabled">setAutoCompletionEnabled</a></td>
 <td>Public method to enable/disable autocompletion.</td>
@@ -857,6 +878,12 @@
 <td><a href="#Editor.setSpellingForProject">setSpellingForProject</a></td>
 <td>Public method to set the spell checking options for files belonging to the current project.</td>
 </tr><tr>
+<td><a href="#Editor.shareConnected">shareConnected</a></td>
+<td>Public slot to handle a change of the connected state.</td>
+</tr><tr>
+<td><a href="#Editor.shareEditor">shareEditor</a></td>
+<td>Public slot to set the shared status of the editor.</td>
+</tr><tr>
 <td><a href="#Editor.shortenEmptyLines">shortenEmptyLines</a></td>
 <td>Public slot to compress lines consisting solely of whitespace characters.</td>
 </tr><tr>
@@ -866,6 +893,9 @@
 <td><a href="#Editor.smartIndentLineOrSelection">smartIndentLineOrSelection</a></td>
 <td>Public slot to indent current line smartly.</td>
 </tr><tr>
+<td><a href="#Editor.startSharedEdit">startSharedEdit</a></td>
+<td>Public slot to start a shared edit session for the editor.</td>
+</tr><tr>
 <td><a href="#Editor.streamCommentLine">streamCommentLine</a></td>
 <td>Public slot to stream comment the current line.</td>
 </tr><tr>
@@ -1079,6 +1109,25 @@
 <dd>
 end index of the rows to be changed (QModelIndex)
 </dd>
+</dl><a NAME="Editor.__calculateChanges" ID="Editor.__calculateChanges"></a>
+<h4>Editor.__calculateChanges</h4>
+<b>__calculateChanges</b>(<i>old, new</i>)
+<p>
+        Private method to determine change commands to convert old text into
+        new text.
+</p><dl>
+<dt><i>old</i></dt>
+<dd>
+old text (string)
+</dd><dt><i>new</i></dt>
+<dd>
+new text (string)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+commands to change old into new (string)
+</dd>
 </dl><a NAME="Editor.__callTip" ID="Editor.__callTip"></a>
 <h4>Editor.__callTip</h4>
 <b>__callTip</b>(<i></i>)
@@ -1219,7 +1268,17 @@
 <b>__deselectAll</b>(<i></i>)
 <p>
         Private slot handling the deselect all context menu action.
-</p><a NAME="Editor.__encodingChanged" ID="Editor.__encodingChanged"></a>
+</p><a NAME="Editor.__dispatchCommand" ID="Editor.__dispatchCommand"></a>
+<h4>Editor.__dispatchCommand</h4>
+<b>__dispatchCommand</b>(<i>command</i>)
+<p>
+        Private method to dispatch received commands.
+</p><dl>
+<dt><i>command</i></dt>
+<dd>
+command to be processed (string)
+</dd>
+</dl><a NAME="Editor.__encodingChanged" ID="Editor.__encodingChanged"></a>
 <h4>Editor.__encodingChanged</h4>
 <b>__encodingChanged</b>(<i>encoding, propagate = True</i>)
 <p>
@@ -1538,15 +1597,45 @@
 <dd>
 reference to the printer object (QScintilla.Printer.Printer)
 </dd>
-</dl><a NAME="Editor.__processSelectionCommand" ID="Editor.__processSelectionCommand"></a>
-<h4>Editor.__processSelectionCommand</h4>
-<b>__processSelectionCommand</b>(<i>argsString</i>)
+</dl><a NAME="Editor.__processEndEditCommand" ID="Editor.__processEndEditCommand"></a>
+<h4>Editor.__processEndEditCommand</h4>
+<b>__processEndEditCommand</b>(<i>argsString</i>)
 <p>
-        Private slot to process a remote selection command
+        Private slot to process a remote EndEdit command
+</p><dl>
+<dt><i>argsString</i></dt>
+<dd>
+string containing the command parameters (string)
+</dd>
+</dl><a NAME="Editor.__processRequestSyncCommand" ID="Editor.__processRequestSyncCommand"></a>
+<h4>Editor.__processRequestSyncCommand</h4>
+<b>__processRequestSyncCommand</b>(<i>argsString</i>)
+<p>
+        Private slot to process a remote RequestSync command
 </p><dl>
 <dt><i>argsString</i></dt>
 <dd>
-string containing the selection parameters (string)
+string containing the command parameters (string)
+</dd>
+</dl><a NAME="Editor.__processStartEditCommand" ID="Editor.__processStartEditCommand"></a>
+<h4>Editor.__processStartEditCommand</h4>
+<b>__processStartEditCommand</b>(<i>argsString</i>)
+<p>
+        Private slot to process a remote StartEdit command
+</p><dl>
+<dt><i>argsString</i></dt>
+<dd>
+string containing the command parameters (string)
+</dd>
+</dl><a NAME="Editor.__processSyncCommand" ID="Editor.__processSyncCommand"></a>
+<h4>Editor.__processSyncCommand</h4>
+<b>__processSyncCommand</b>(<i>argsString</i>)
+<p>
+        Private slot to process a remote Sync command
+</p><dl>
+<dt><i>argsString</i></dt>
+<dd>
+string containing the command parameters (string)
 </dd>
 </dl><a NAME="Editor.__projectPropertiesChanged" ID="Editor.__projectPropertiesChanged"></a>
 <h4>Editor.__projectPropertiesChanged</h4>
@@ -1598,12 +1687,20 @@
 <dd>
 name of the selected pygments lexer (string)
 </dd>
-</dl><a NAME="Editor.__selectionChanged" ID="Editor.__selectionChanged"></a>
-<h4>Editor.__selectionChanged</h4>
-<b>__selectionChanged</b>(<i></i>)
+</dl><a NAME="Editor.__send" ID="Editor.__send"></a>
+<h4>Editor.__send</h4>
+<b>__send</b>(<i>token, args = None</i>)
 <p>
-        Private slot to handle a change of the selection.
-</p><a NAME="Editor.__setAutoCompletion" ID="Editor.__setAutoCompletion"></a>
+        Private method to send an editor command to remote editors.
+</p><dl>
+<dt><i>token</i></dt>
+<dd>
+command token (string)
+</dd><dt><i>args</i></dt>
+<dd>
+arguments for the command (string)
+</dd>
+</dl><a NAME="Editor.__setAutoCompletion" ID="Editor.__setAutoCompletion"></a>
 <h4>Editor.__setAutoCompletion</h4>
 <b>__setAutoCompletion</b>(<i></i>)
 <p>
@@ -1916,6 +2013,16 @@
 <dd>
 flag indicating autocompletion from APIs is available (boolean)
 </dd>
+</dl><a NAME="Editor.cancelSharedEdit" ID="Editor.cancelSharedEdit"></a>
+<h4>Editor.cancelSharedEdit</h4>
+<b>cancelSharedEdit</b>(<i>send = True</i>)
+<p>
+        Public slot to cancel a shared edit session for the editor.
+</p><dl>
+<dt><i>send=</i></dt>
+<dd>
+flag indicating to send the CancelEdit command (boolean)
+</dd>
 </dl><a NAME="Editor.changeEvent" ID="Editor.changeEvent"></a>
 <h4>Editor.changeEvent</h4>
 <b>changeEvent</b>(<i>evt</i>)
@@ -2313,6 +2420,19 @@
 <dd>
 selection or current word (string)
 </dd>
+</dl><a NAME="Editor.getSharingStatus" ID="Editor.getSharingStatus"></a>
+<h4>Editor.getSharingStatus</h4>
+<b>getSharingStatus</b>(<i></i>)
+<p>
+        Public method to get some share status info.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+tuple indicating, if the editor is sharable, the sharing status,
+            if it is inside a locally initiated shared edit session and
+            if it is inside a remotely initiated shared edit session
+            (boolean, boolean, boolean, boolean)
+</dd>
 </dl><a NAME="Editor.getSyntaxErrors" ID="Editor.getSyntaxErrors"></a>
 <h4>Editor.getSyntaxErrors</h4>
 <b>getSyntaxErrors</b>(<i></i>)
@@ -2844,20 +2964,13 @@
 <dd>
 position to look at (int)
 </dd>
-</dl><a NAME="Editor.send" ID="Editor.send"></a>
-<h4>Editor.send</h4>
-<b>send</b>(<i>token, args</i>)
+</dl><a NAME="Editor.sendSharedEdit" ID="Editor.sendSharedEdit"></a>
+<h4>Editor.sendSharedEdit</h4>
+<b>sendSharedEdit</b>(<i></i>)
 <p>
-        Public method to send an editor command to remote editors.
-</p><dl>
-<dt><i>token</i></dt>
-<dd>
-command token (string)
-</dd><dt><i>args</i></dt>
-<dd>
-arguments for the command (string)
-</dd>
-</dl><a NAME="Editor.setAutoCompletionEnabled" ID="Editor.setAutoCompletionEnabled"></a>
+        Public slot to end a shared edit session for the editor and
+        send the changes.
+</p><a NAME="Editor.setAutoCompletionEnabled" ID="Editor.setAutoCompletionEnabled"></a>
 <h4>Editor.setAutoCompletionEnabled</h4>
 <b>setAutoCompletionEnabled</b>(<i>enable</i>)
 <p>
@@ -2967,7 +3080,27 @@
 <p>
         Public method to set the spell checking options for files belonging
         to the current project.
-</p><a NAME="Editor.shortenEmptyLines" ID="Editor.shortenEmptyLines"></a>
+</p><a NAME="Editor.shareConnected" ID="Editor.shareConnected"></a>
+<h4>Editor.shareConnected</h4>
+<b>shareConnected</b>(<i>connected</i>)
+<p>
+        Public slot to handle a change of the connected state.
+</p><dl>
+<dt><i>connected</i></dt>
+<dd>
+flag indicating the connected state (boolean)
+</dd>
+</dl><a NAME="Editor.shareEditor" ID="Editor.shareEditor"></a>
+<h4>Editor.shareEditor</h4>
+<b>shareEditor</b>(<i>share</i>)
+<p>
+        Public slot to set the shared status of the editor.
+</p><dl>
+<dt><i>share</i></dt>
+<dd>
+flag indicating the share status (boolean)
+</dd>
+</dl><a NAME="Editor.shortenEmptyLines" ID="Editor.shortenEmptyLines"></a>
 <h4>Editor.shortenEmptyLines</h4>
 <b>shortenEmptyLines</b>(<i></i>)
 <p>
@@ -2987,6 +3120,11 @@
 <b>smartIndentLineOrSelection</b>(<i></i>)
 <p>
         Public slot to indent current line smartly.
+</p><a NAME="Editor.startSharedEdit" ID="Editor.startSharedEdit"></a>
+<h4>Editor.startSharedEdit</h4>
+<b>startSharedEdit</b>(<i></i>)
+<p>
+        Public slot to start a shared edit session for the editor.
 </p><a NAME="Editor.streamCommentLine" ID="Editor.streamCommentLine"></a>
 <h4>Editor.streamCommentLine</h4>
 <b>streamCommentLine</b>(<i></i>)
--- a/Documentation/Source/eric5.ViewManager.ViewManager.html	Sun Mar 28 09:27:19 2010 +0000
+++ b/Documentation/Source/eric5.ViewManager.ViewManager.html	Tue Mar 30 13:49:13 2010 +0000
@@ -302,9 +302,6 @@
 <td><a href="#ViewManager.__findFileName">__findFileName</a></td>
 <td>Private method to handle the search for file action.</td>
 </tr><tr>
-<td><a href="#ViewManager.__getCooperationClient">__getCooperationClient</a></td>
-<td>Private method to initialize and get a reference to the cooperation client.</td>
-</tr><tr>
 <td><a href="#ViewManager.__goto">__goto</a></td>
 <td>Private method to handle the goto action.</td>
 </tr><tr>
@@ -419,9 +416,6 @@
 <td><a href="#ViewManager.__quickSearchText">__quickSearchText</a></td>
 <td>Private slot to handle the textChanged signal of the quicksearch edit.</td>
 </tr><tr>
-<td><a href="#ViewManager.__receive">__receive</a></td>
-<td>Private slot to handle received editor commands.</td>
-</tr><tr>
 <td><a href="#ViewManager.__replace">__replace</a></td>
 <td>Private method to handle the replace action.</td>
 </tr><tr>
@@ -551,6 +545,9 @@
 <td><a href="#ViewManager.canTile">canTile</a></td>
 <td>Public method to signal if tiling of managed windows is available.</td>
 </tr><tr>
+<td><a href="#ViewManager.cancelSharedEdit">cancelSharedEdit</a></td>
+<td>Public slot to cancel a shared edit session for the current editor.</td>
+</tr><tr>
 <td><a href="#ViewManager.cascade">cascade</a></td>
 <td>Public method to cascade the managed windows.</td>
 </tr><tr>
@@ -713,6 +710,9 @@
 <td><a href="#ViewManager.projectOpened">projectOpened</a></td>
 <td>Public slot to handle the projectOpened signal.</td>
 </tr><tr>
+<td><a href="#ViewManager.receive">receive</a></td>
+<td>Public slot to handle received editor commands.</td>
+</tr><tr>
 <td><a href="#ViewManager.removeSplit">removeSplit</a></td>
 <td>Public method used to remove the current split view.</td>
 </tr><tr>
@@ -746,6 +746,12 @@
 <td><a href="#ViewManager.send">send</a></td>
 <td>Public method to send an editor command to remote editors.</td>
 </tr><tr>
+<td><a href="#ViewManager.sendSharedEdit">sendSharedEdit</a></td>
+<td>Public slot to end a shared edit session for the current editor and send the changes.</td>
+</tr><tr>
+<td><a href="#ViewManager.setCooperationClient">setCooperationClient</a></td>
+<td>Public method to set a reference to the cooperation client.</td>
+</tr><tr>
 <td><a href="#ViewManager.setEditorName">setEditorName</a></td>
 <td>Public method to change the displayed name of the editor.</td>
 </tr><tr>
@@ -761,12 +767,21 @@
 <td><a href="#ViewManager.setSplitOrientation">setSplitOrientation</a></td>
 <td>Public method used to set the orientation of the split view.</td>
 </tr><tr>
+<td><a href="#ViewManager.shareConnected">shareConnected</a></td>
+<td>Public slot to handle a change of the connected state.</td>
+</tr><tr>
+<td><a href="#ViewManager.shareEditor">shareEditor</a></td>
+<td>Public slot to set the shared status of the current editor.</td>
+</tr><tr>
 <td><a href="#ViewManager.showDebugSource">showDebugSource</a></td>
 <td>Public method to open the given file and highlight the given line in it.</td>
 </tr><tr>
 <td><a href="#ViewManager.showWindowMenu">showWindowMenu</a></td>
 <td>Public method to set up the viewmanager part of the Window menu.</td>
 </tr><tr>
+<td><a href="#ViewManager.startSharedEdit">startSharedEdit</a></td>
+<td>Public slot to start a shared edit session for the current editor.</td>
+</tr><tr>
 <td><a href="#ViewManager.textForFind">textForFind</a></td>
 <td>Public method to determine the selection or the current word for the next find operation.</td>
 </tr><tr>
@@ -1076,18 +1091,7 @@
 <b>__findFileName</b>(<i></i>)
 <p>
         Private method to handle the search for file action.
-</p><a NAME="ViewManager.__getCooperationClient" ID="ViewManager.__getCooperationClient"></a>
-<h4>ViewManager.__getCooperationClient</h4>
-<b>__getCooperationClient</b>(<i></i>)
-<p>
-        Private method to initialize and get a reference to the cooperation
-        client.
-</p><dl>
-<dt>Returns:</dt>
-<dd>
-reference to the cooperation client (CooperationClient)
-</dd>
-</dl><a NAME="ViewManager.__goto" ID="ViewManager.__goto"></a>
+</p><a NAME="ViewManager.__goto" ID="ViewManager.__goto"></a>
 <h4>ViewManager.__goto</h4>
 <b>__goto</b>(<i></i>)
 <p>
@@ -1298,23 +1302,7 @@
 <b>__quickSearchText</b>(<i></i>)
 <p>
         Private slot to handle the textChanged signal of the quicksearch edit.
-</p><a NAME="ViewManager.__receive" ID="ViewManager.__receive"></a>
-<h4>ViewManager.__receive</h4>
-<b>__receive</b>(<i>hash, fileName, command</i>)
-<p>
-        Private slot to handle received editor commands.
-</p><dl>
-<dt><i>hash</i></dt>
-<dd>
-hash of the project (string)
-</dd><dt><i>fileName</i></dt>
-<dd>
-project relative file name of the editor (string)
-</dd><dt><i>command</i></dt>
-<dd>
-command string (string)
-</dd>
-</dl><a NAME="ViewManager.__replace" ID="ViewManager.__replace"></a>
+</p><a NAME="ViewManager.__replace" ID="ViewManager.__replace"></a>
 <h4>ViewManager.__replace</h4>
 <b>__replace</b>(<i></i>)
 <p>
@@ -1701,7 +1689,12 @@
 <dd>
 Not implemented
 </dd>
-</dl><a NAME="ViewManager.cascade" ID="ViewManager.cascade"></a>
+</dl><a NAME="ViewManager.cancelSharedEdit" ID="ViewManager.cancelSharedEdit"></a>
+<h4>ViewManager.cancelSharedEdit</h4>
+<b>cancelSharedEdit</b>(<i></i>)
+<p>
+        Public slot to cancel a shared edit session for the current editor.
+</p><a NAME="ViewManager.cascade" ID="ViewManager.cascade"></a>
 <h4>ViewManager.cascade</h4>
 <b>cascade</b>(<i></i>)
 <p>
@@ -2305,7 +2298,23 @@
 <b>projectOpened</b>(<i></i>)
 <p>
         Public slot to handle the projectOpened signal.
-</p><a NAME="ViewManager.removeSplit" ID="ViewManager.removeSplit"></a>
+</p><a NAME="ViewManager.receive" ID="ViewManager.receive"></a>
+<h4>ViewManager.receive</h4>
+<b>receive</b>(<i>hash, fileName, command</i>)
+<p>
+        Public slot to handle received editor commands.
+</p><dl>
+<dt><i>hash</i></dt>
+<dd>
+hash of the project (string)
+</dd><dt><i>fileName</i></dt>
+<dd>
+project relative file name of the editor (string)
+</dd><dt><i>command</i></dt>
+<dd>
+command string (string)
+</dd>
+</dl><a NAME="ViewManager.removeSplit" ID="ViewManager.removeSplit"></a>
 <h4>ViewManager.removeSplit</h4>
 <b>removeSplit</b>(<i></i>)
 <p>
@@ -2408,6 +2417,22 @@
 <dd>
 command message to be sent (string)
 </dd>
+</dl><a NAME="ViewManager.sendSharedEdit" ID="ViewManager.sendSharedEdit"></a>
+<h4>ViewManager.sendSharedEdit</h4>
+<b>sendSharedEdit</b>(<i></i>)
+<p>
+        Public slot to end a shared edit session for the current editor and
+        send the changes.
+</p><a NAME="ViewManager.setCooperationClient" ID="ViewManager.setCooperationClient"></a>
+<h4>ViewManager.setCooperationClient</h4>
+<b>setCooperationClient</b>(<i>client</i>)
+<p>
+        Public method to set a reference to the cooperation client.
+</p><dl>
+<dt><i>client</i></dt>
+<dd>
+reference to the cooperation client (CooperationClient)
+</dd>
 </dl><a NAME="ViewManager.setEditorName" ID="ViewManager.setEditorName"></a>
 <h4>ViewManager.setEditorName</h4>
 <b>setEditorName</b>(<i>editor, newName</i>)
@@ -2501,6 +2526,26 @@
 orientation of the split
                 (Qt.Horizontal or Qt.Vertical)
 </dd>
+</dl><a NAME="ViewManager.shareConnected" ID="ViewManager.shareConnected"></a>
+<h4>ViewManager.shareConnected</h4>
+<b>shareConnected</b>(<i>connected</i>)
+<p>
+        Public slot to handle a change of the connected state.
+</p><dl>
+<dt><i>connected</i></dt>
+<dd>
+flag indicating the connected state (boolean)
+</dd>
+</dl><a NAME="ViewManager.shareEditor" ID="ViewManager.shareEditor"></a>
+<h4>ViewManager.shareEditor</h4>
+<b>shareEditor</b>(<i>share</i>)
+<p>
+        Public slot to set the shared status of the current editor.
+</p><dl>
+<dt><i>share</i></dt>
+<dd>
+flag indicating the share status (boolean)
+</dd>
 </dl><a NAME="ViewManager.showDebugSource" ID="ViewManager.showDebugSource"></a>
 <h4>ViewManager.showDebugSource</h4>
 <b>showDebugSource</b>(<i>fn, line</i>)
@@ -2529,7 +2574,12 @@
 <dd>
 Not implemented
 </dd>
-</dl><a NAME="ViewManager.textForFind" ID="ViewManager.textForFind"></a>
+</dl><a NAME="ViewManager.startSharedEdit" ID="ViewManager.startSharedEdit"></a>
+<h4>ViewManager.startSharedEdit</h4>
+<b>startSharedEdit</b>(<i></i>)
+<p>
+        Public slot to start a shared edit session for the current editor.
+</p><a NAME="ViewManager.textForFind" ID="ViewManager.textForFind"></a>
 <h4>ViewManager.textForFind</h4>
 <b>textForFind</b>(<i>getCurrentWord = True</i>)
 <p>
--- a/QScintilla/Editor.py	Sun Mar 28 09:27:19 2010 +0000
+++ b/QScintilla/Editor.py	Tue Mar 30 13:49:13 2010 +0000
@@ -9,6 +9,7 @@
 
 import os
 import re
+import difflib
     
 from PyQt4.Qsci import QsciScintilla, QsciMacro
 from PyQt4.QtCore import *
@@ -96,7 +97,11 @@
     # Cooperation related definitions
     Separator = "@@@"
     
-    SelectionToken = "SELECT"
+    StartEditToken      = "START_EDIT"
+    EndEditToken        = "END_EDIT"
+    CancelEditToken     = "CANCEL_EDIT"
+    RequestSyncToken    = "REQUEST_SYNC"
+    SyncToken           = "SYNC"
     
     def __init__(self, dbs, fn = None, vm = None,
                  filetype = "", editor = None, tv = None):
@@ -189,7 +194,12 @@
         self.lastIndex = 0
         
         # initialize some cooperation stuff
-        self.__lastSelection = (-1, -1, -1, -1)
+        self.__isSyncing = False
+        self.__receivedWhileSyncing = []
+        self.__savedText = ""
+        self.__inSharedEdit = False
+        self.__isShared = False
+        self.__inRemoteSharedEdit = False
         
         self.connect(self, SIGNAL('modificationChanged(bool)'), 
                      self.__modificationChanged)
@@ -199,8 +209,6 @@
                      self.__modificationReadOnly)
         self.connect(self, SIGNAL('userListActivated(int, const QString)'),
                      self.__completionListSelected)
-        self.connect(self, SIGNAL('selectionChanged()'),
-                     self.__selectionChanged)
         
         # margins layout
         if QSCINTILLA_VERSION() >= 0x020301:
@@ -4873,7 +4881,7 @@
         """
         if self.fileName is None:
             return
-        readOnly = not QFileInfo(self.fileName).isWritable()
+        readOnly = not QFileInfo(self.fileName).isWritable() or self.isReadOnly()
         if not bForce and (readOnly == self.isReadOnly()):
             return
         cap = self.fileName
@@ -5479,22 +5487,102 @@
     ## Cooperation related methods
     #######################################################################
     
-    def send(self, token, args):
-        """
-        Public method to send an editor command to remote editors.
+    def getSharingStatus(self):
+        """
+        Public method to get some share status info.
+        
+        @return tuple indicating, if the editor is sharable, the sharing status,
+            if it is inside a locally initiated shared edit session and
+            if it is inside a remotely initiated shared edit session
+            (boolean, boolean, boolean, boolean)
+        """
+        project = e5App().getObject("Project")
+        return project.isOpen() and project.isProjectFile(self.fileName), \
+               self.__isShared, self.__inSharedEdit, self.__inRemoteSharedEdit
+    
+    def shareConnected(self, connected):
+        """
+        Public slot to handle a change of the connected state.
+        
+        @param connected flag indicating the connected state (boolean)
+        """
+        if not connected:
+            self.__inRemoteSharedEdit = False
+            self.setReadOnly(False)
+            self.__updateReadOnly()
+            self.cancelSharedEdit(send = False)
+            self.__isSyncing = False
+            self.__receivedWhileSyncing = []
+    
+    def shareEditor(self, share):
+        """
+        Public slot to set the shared status of the editor.
+        
+        @param share flag indicating the share status (boolean)
+        """
+        self.__isShared = share
+        if not share:
+            self.shareConnected(False)
+    
+    def startSharedEdit(self):
+        """
+        Public slot to start a shared edit session for the editor.
+        """
+        self.__inSharedEdit = True
+        self.__savedText = self.text()
+        hash = str(
+            QCryptographicHash.hash(
+                Utilities.encode(self.__savedText, self.encoding)[0], 
+                QCryptographicHash.Sha1).toHex(),
+            encoding = "utf-8")
+        self.__send(Editor.StartEditToken, hash)
+    
+    def sendSharedEdit(self):
+        """
+        Public slot to end a shared edit session for the editor and
+        send the changes.
+        """
+        commands = self.__calculateChanges(self.__savedText, self.text())
+        self.__send(Editor.EndEditToken, commands)
+        self.__inSharedEdit = False
+        self.__savedText = ""
+    
+    def cancelSharedEdit(self, send = True):
+        """
+        Public slot to cancel a shared edit session for the editor.
+        
+        @keyparam send flag indicating to send the CancelEdit command (boolean)
+        """
+        self.__inSharedEdit = False
+        self.__savedText = ""
+        if send:
+            self.__send(Editor.CancelEditToken)
+    
+    def __send(self, token, args = None):
+        """
+        Private method to send an editor command to remote editors.
         
         @param token command token (string)
         @param args arguments for the command (string)
         """
-        msg = ""
-        if token == Editor.SelectionToken:
-            msg = "{0}{1}{2} {3} {4} {5}".format(
-                token, 
-                Editor.Separator, 
-                *args
-            )
-        
-        self.vm.send(self.fileName, msg)
+        if self.vm.isConnected():
+            msg = ""
+            if token in (Editor.StartEditToken, 
+                         Editor.EndEditToken, 
+                         Editor.RequestSyncToken, 
+                         Editor.SyncToken):
+                msg = "{0}{1}{2}".format(
+                    token, 
+                    Editor.Separator, 
+                    args
+                )
+            elif token == Editor.CancelEditToken:
+                msg = "{0}{1}c".format(
+                    token, 
+                    Editor.Separator
+                )
+            
+            self.vm.send(self.fileName, msg)
     
     def receive(self, command):
         """
@@ -5502,28 +5590,153 @@
         
         @param command command string (string)
         """
-        token, argsString = command.split(Editor.Separator)
-        if token == Editor.SelectionToken:
-            self.__processSelectionCommand(argsString)
+        if self.__isShared:
+            if self.__isSyncing and \
+               not command.startswith(Editor.SyncToken + Editor.Separator):
+                self.__receivedWhileSyncing.append(command)
+            else:
+                self.__dispatchCommand(command)
+    
+    def __dispatchCommand(self, command):
+        """
+        Private method to dispatch received commands.
+        
+        @param command command to be processed (string)
+        """
+        token, argsString = command.split(Editor.Separator, 1)
+        if token == Editor.StartEditToken:
+            self.__processStartEditCommand(argsString)
+        elif token == Editor.CancelEditToken:
+            self.shareConnected(False)
+        elif token == Editor.EndEditToken:
+            self.__processEndEditCommand(argsString)
+        elif token == Editor.RequestSyncToken:
+            self.__processRequestSyncCommand(argsString)
+        elif token == Editor.SyncToken:
+            self.__processSyncCommand(argsString)
+    
+    def __processStartEditCommand(self, argsString):
+        """
+        Private slot to process a remote StartEdit command
+        
+        @param argsString string containing the command parameters (string)
+        """
+        if not self.__inSharedEdit and not self.__inRemoteSharedEdit:
+            self.__inRemoteSharedEdit = True
+            self.setReadOnly(True)
+            self.__updateReadOnly()
+            hash = str(
+                QCryptographicHash.hash(
+                    Utilities.encode(self.text(), self.encoding)[0], 
+                    QCryptographicHash.Sha1).toHex(),
+                encoding = "utf-8")
+            if hash != argsString:
+                # text is different to the remote site, request to sync it
+                self.__isSyncing = True
+                self.__send(Editor.RequestSyncToken, argsString)
+    
+    def __calculateChanges(self, old, new):
+        """
+        Private method to determine change commands to convert old text into
+        new text.
+        
+        @param old old text (string)
+        @param new new text (string)
+        @return commands to change old into new (string)
+        """
+        oldL = old.splitlines()
+        newL = new.splitlines()
+        matcher = difflib.SequenceMatcher(None, oldL, newL)
+        
+        formatStr = "@@{0} {1} {2} {3}"
+        commands = []
+        for token, i1, i2, j1, j2 in matcher.get_opcodes():
+            if token == "insert":
+                commands.append(formatStr.format("i", j1, j2 - j1, -1))
+                commands.extend(newL[j1:j2])
+            elif token == "delete":
+                commands.append(formatStr.format("d", j1, i2 - i1, -1))
+            elif token == "replace":
+                commands.append(formatStr.format("r", j1, i2 - i1, j2 - j1))
+                commands.extend(newL[j1:j2])
+        
+        return "\n".join(commands) + "\n"
     
-    def __selectionChanged(self):
-        """
-        Private slot to handle a change of the selection.
-        """
-        if self.vm.isConnected():
-            sel = self.getSelection()
-            if sel != self.__lastSelection:
-                self.send(Editor.SelectionToken, args = sel)
-                self.__lastSelection = sel
+    def __processEndEditCommand(self, argsString):
+        """
+        Private slot to process a remote EndEdit command
+        
+        @param argsString string containing the command parameters (string)
+        """
+        commands = argsString.splitlines()
+        sep = self.getLineSeparator()
+        cur = self.getCursorPosition()
+        
+        self.setReadOnly(False)
+        self.beginUndoAction()
+        while commands:
+            commandLine = commands.pop(0)
+            if not commandLine.startswith("@@"):
+                continue
+            
+            command, *args = commandLine.split()
+            pos, l1, l2 = [int(arg) for arg in args]
+            if command == "@@i":
+                txt = sep.join(commands[0:l1]) + sep
+                self.insertAt(txt, pos, 0)
+                del commands[0:l1]
+            elif command == "@@d":
+                self.setSelection(pos, 0, pos + l1, 0)
+                self.removeSelectedText()
+            elif command == "@@r":
+                self.setSelection(pos, 0, pos + l1, 0)
+                self.removeSelectedText()
+                txt = sep.join(commands[0:l2]) + sep
+                self.insertAt(txt, pos, 0)
+                del commands[0:l2]
+        self.endUndoAction()
+        self.__updateReadOnly()
+        self.__inRemoteSharedEdit = False
+        
+        self.setCursorPosition(*cur)
     
-    def __processSelectionCommand(self, argsString):
-        """
-        Private slot to process a remote selection command
-        
-        @param argsString string containing the selection parameters (string)
-        """
-        self.selectionChanged.disconnect(self.__selectionChanged)
-        args = argsString.split()
-        self.setSelection(int(args[0]), int(args[1]), int(args[2]), int(args[3]))
-        self.ensureLineVisible(int(args[0]))
-        self.selectionChanged.connect(self.__selectionChanged)
+    def __processRequestSyncCommand(self, argsString):
+        """
+        Private slot to process a remote RequestSync command
+        
+        @param argsString string containing the command parameters (string)
+        """
+        if self.__inSharedEdit:
+            hash = str(
+                QCryptographicHash.hash(
+                    Utilities.encode(self.__savedText, self.encoding)[0], 
+                    QCryptographicHash.Sha1).toHex(),
+                encoding = "utf-8")
+            
+            if hash == argsString:
+                self.__send(Editor.SyncToken, self.__savedText)
+    
+    def __processSyncCommand(self, argsString):
+        """
+        Private slot to process a remote Sync command
+        
+        @param argsString string containing the command parameters (string)
+        """
+        if self.__isSyncing:
+            cur = self.getCursorPosition()
+            
+            self.setReadOnly(False)
+            self.beginUndoAction()
+            self.selectAll()
+            self.removeSelectedText()
+            self.insertAt(argsString, 0, 0)
+            self.endUndoAction()
+            self.setReadOnly(True)
+            
+            self.setCursorPosition(*cur)
+            
+            while self.__receivedWhileSyncing:
+               command = self.__receivedWhileSyncing.pop(0) 
+               self.__dispatchCommand(command)
+            
+            self.__isSyncing = False
--- a/UI/UserInterface.py	Sun Mar 28 09:27:19 2010 +0000
+++ b/UI/UserInterface.py	Tue Mar 30 13:49:13 2010 +0000
@@ -471,6 +471,22 @@
                      self.__checkActions)
         self.connect(self.viewmanager, SIGNAL('editorChanged'),
                      self.projectBrowser.handleEditorChanged)
+        self.connect(self.viewmanager, SIGNAL('checkActions'),
+                     self.cooperation.checkEditorActions)
+        
+        self.connect(self.cooperation, SIGNAL('shareEditor(bool)'),
+                     self.viewmanager.shareEditor)
+        self.connect(self.cooperation, SIGNAL('startEdit()'),
+                     self.viewmanager.startSharedEdit)
+        self.connect(self.cooperation, SIGNAL('sendEdit()'),
+                     self.viewmanager.sendSharedEdit)
+        self.connect(self.cooperation, SIGNAL('cancelEdit()'),
+                     self.viewmanager.cancelSharedEdit)
+        self.connect(self.cooperation, SIGNAL('connected(bool)'),
+                     self.viewmanager.shareConnected)
+        self.connect(self.cooperation, SIGNAL('editorCommand(QString, QString, QString)'),
+                     self.viewmanager.receive)
+        self.viewmanager.setCooperationClient(self.cooperation.getClient())
         
         # Generate the unittest dialog
         self.unittestDialog = UnittestDialog(None, self.debuggerUI.debugServer, self)
@@ -530,7 +546,7 @@
         e5App().registerObject("DummyHelpViewer", self.dummyHelpViewer)
         e5App().registerObject("PluginManager", self.pluginManager)
         e5App().registerObject("ToolbarManager", self.toolbarManager)
-        e5App().registerObject("Terminal", self.terminal)
+        e5App().registerObject("Terminal", self.terminal)
         e5App().registerObject("Cooperation", self.cooperation)
         
         # Initialize the actions, menus, toolbars and statusbar
--- a/ViewManager/ViewManager.py	Sun Mar 28 09:27:19 2010 +0000
+++ b/ViewManager/ViewManager.py	Tue Mar 30 13:49:13 2010 +0000
@@ -4928,17 +4928,13 @@
     ## Cooperation related methods
     #######################################################################
     
-    def __getCooperationClient(self):
-        """
-        Private method to initialize and get a reference to the cooperation
-        client.
-        
-        @return reference to the cooperation client (CooperationClient)
-        """
-        if self.__cooperationClient is None:
-            self.__cooperationClient = e5App().getObject("Cooperation").getClient()
-            self.__cooperationClient.editorCommand.connect(self.__receive)
-        return self.__cooperationClient
+    def setCooperationClient(self, client):
+        """
+        Public method to set a reference to the cooperation client.
+        
+        @param client reference to the cooperation client (CooperationClient)
+        """
+        self.__cooperationClient = client
     
     def isConnected(self):
         """
@@ -4946,7 +4942,7 @@
         
         @return flag indicating the connection status (boolean)
         """
-        return self.__getCooperationClient().hasConnections()
+        return self.__cooperationClient.hasConnections()
     
     def send(self, fileName, message):
         """
@@ -4957,15 +4953,15 @@
         """
         project = e5App().getObject("Project")
         if project.isProjectFile(fileName):
-            self.__getCooperationClient().sendEditorCommand(
+            self.__cooperationClient.sendEditorCommand(
                 project.getHash(), 
                 project.getRelativeUniversalPath(fileName), 
                 message
             )
     
-    def __receive(self, hash, fileName, command):
-        """
-        Private slot to handle received editor commands.
+    def receive(self, hash, fileName, command):
+        """
+        Public slot to handle received editor commands.
         
         @param hash hash of the project (string)
         @param fileName project relative file name of the editor (string)
@@ -4977,3 +4973,55 @@
             editor = self.getOpenEditor(fn)
             if editor:
                 editor.receive(command)
+    
+    def shareConnected(self, connected):
+        """
+        Public slot to handle a change of the connected state.
+        
+        @param connected flag indicating the connected state (boolean)
+        """
+        for editor in self.getOpenEditors():
+            editor.shareConnected(connected)
+    
+    def shareEditor(self, share):
+        """
+        Public slot to set the shared status of the current editor.
+        
+        @param share flag indicating the share status (boolean)
+        """
+        aw = self.activeWindow()
+        if aw is not None:
+            fn = aw.getFileName()
+            if e5App().getObject("Project").isProjectFile(fn):
+                aw.shareEditor(share)
+    
+    def startSharedEdit(self):
+        """
+        Public slot to start a shared edit session for the current editor.
+        """
+        aw = self.activeWindow()
+        if aw is not None:
+            fn = aw.getFileName()
+            if e5App().getObject("Project").isProjectFile(fn):
+                aw.startSharedEdit()
+    
+    def sendSharedEdit(self):
+        """
+        Public slot to end a shared edit session for the current editor and
+        send the changes.
+        """
+        aw = self.activeWindow()
+        if aw is not None:
+            fn = aw.getFileName()
+            if e5App().getObject("Project").isProjectFile(fn):
+                aw.sendSharedEdit()
+    
+    def cancelSharedEdit(self):
+        """
+        Public slot to cancel a shared edit session for the current editor.
+        """
+        aw = self.activeWindow()
+        if aw is not None:
+            fn = aw.getFileName()
+            if e5App().getObject("Project").isProjectFile(fn):
+                aw.cancelSharedEdit()
--- a/changelog	Sun Mar 28 09:27:19 2010 +0000
+++ b/changelog	Tue Mar 30 13:49:13 2010 +0000
@@ -3,7 +3,7 @@
 Version 5.0-snapshot-2010mmdd:
 - bug fixes
 - added installation of a .desktop file for Linux systems
-- added stage 1 of the cooperation functions (chat system)
+- added shared editor functions and a simple chat system
 
 Version 5.0-snapshot-20100306:
 - bug fixes
--- a/i18n/eric5_cs.ts	Sun Mar 28 09:27:19 2010 +0000
+++ b/i18n/eric5_cs.ts	Tue Mar 30 13:49:13 2010 +0000
@@ -1965,79 +1965,109 @@
         <translation type="unfinished">Odeslat</translation>
     </message>
     <message>
-        <location filename="Cooperation/ChatWidget.ui" line="80"/>
+        <location filename="Cooperation/ChatWidget.ui" line="176"/>
         <source>Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Cooperation/ChatWidget.ui" line="86"/>
+        <location filename="Cooperation/ChatWidget.ui" line="182"/>
         <source>Host:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Cooperation/ChatWidget.ui" line="151"/>
+        <location filename="Cooperation/ChatWidget.ui" line="247"/>
         <source>Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Cooperation/ChatWidget.ui" line="135"/>
+        <location filename="Cooperation/ChatWidget.ui" line="231"/>
         <source>Shows the connection status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Cooperation/ChatWidget.ui" line="145"/>
+        <location filename="Cooperation/ChatWidget.ui" line="241"/>
         <source>Server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Cooperation/ChatWidget.ui" line="190"/>
+        <location filename="Cooperation/ChatWidget.ui" line="286"/>
         <source>Shows the status of the server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Cooperation/ChatWidget.py" line="172"/>
+        <location filename="Cooperation/ChatWidget.py" line="203"/>
         <source>Start Server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Cooperation/ChatWidget.py" line="67"/>
+        <location filename="Cooperation/ChatWidget.py" line="98"/>
         <source>! Unknown command: {0}
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Cooperation/ChatWidget.py" line="88"/>
+        <location filename="Cooperation/ChatWidget.py" line="119"/>
         <source>* {0} has joined.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Cooperation/ChatWidget.py" line="117"/>
+        <location filename="Cooperation/ChatWidget.py" line="148"/>
         <source>* {0} has left.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Cooperation/ChatWidget.py" line="180"/>
+        <location filename="Cooperation/ChatWidget.py" line="211"/>
         <source>Stop Server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Cooperation/ChatWidget.py" line="185"/>
+        <location filename="Cooperation/ChatWidget.py" line="216"/>
         <source>! Server Error: {0}
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Cooperation/ChatWidget.py" line="198"/>
+        <location filename="Cooperation/ChatWidget.py" line="228"/>
         <source>Disconnect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Cooperation/ChatWidget.py" line="206"/>
+        <location filename="Cooperation/ChatWidget.py" line="232"/>
         <source>Connect</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="Cooperation/ChatWidget.ui" line="83"/>
+        <source>Share Editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Cooperation/ChatWidget.ui" line="105"/>
+        <source>Press to toggle the shared status of the current editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Cooperation/ChatWidget.ui" line="153"/>
+        <source>...</source>
+        <translation type="unfinished">...</translation>
+    </message>
+    <message>
+        <location filename="Cooperation/ChatWidget.ui" line="121"/>
+        <source>Press to start a shared edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Cooperation/ChatWidget.ui" line="137"/>
+        <source>Press to end the edit and send the changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Cooperation/ChatWidget.ui" line="150"/>
+        <source>Press to cancel the shared edit</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>CodeMetricsDialog</name>
@@ -2867,12 +2897,12 @@
 <context>
     <name>Connection</name>
     <message>
-        <location filename="Cooperation/Connection.py" line="63"/>
+        <location filename="Cooperation/Connection.py" line="66"/>
         <source>undefined</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Cooperation/Connection.py" line="64"/>
+        <location filename="Cooperation/Connection.py" line="67"/>
         <source>unknown</source>
         <translation type="unfinished">neznámý</translation>
     </message>
@@ -3213,12 +3243,12 @@
 <context>
     <name>CooperationClient</name>
     <message>
-        <location filename="Cooperation/CooperationClient.py" line="63"/>
+        <location filename="Cooperation/CooperationClient.py" line="66"/>
         <source>unknown</source>
         <translation type="unfinished">neznámý</translation>
     </message>
     <message>
-        <location filename="Cooperation/CooperationClient.py" line="252"/>
+        <location filename="Cooperation/CooperationClient.py" line="256"/>
         <source>Illegal address: {0}:{1}
 </source>
         <translation type="unfinished"></translation>
@@ -6280,7 +6310,7 @@
 <context>
     <name>Editor</name>
     <message>
-        <location filename="QScintilla/Editor.py" line="2220"/>
+        <location filename="QScintilla/Editor.py" line="2239"/>
         <source>Open File</source>
         <translation>Otevřít soubor</translation>
     </message>
@@ -6290,347 +6320,347 @@
         <translation type="obsolete">&lt;p&gt;Velikost souboru &lt;b&gt;%1&lt;/b&gt; je &lt;b&gt;%2 KB&lt;/b&gt;. Opravdu jej chcete načíst?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="530"/>
+        <location filename="QScintilla/Editor.py" line="549"/>
         <source>Undo</source>
         <translation>Vrátit</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="533"/>
+        <location filename="QScintilla/Editor.py" line="552"/>
         <source>Redo</source>
         <translation>Znovu použít</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="536"/>
+        <location filename="QScintilla/Editor.py" line="555"/>
         <source>Revert to last saved state</source>
         <translation>Vrátit k poslednímu uloženému stavu</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="540"/>
+        <location filename="QScintilla/Editor.py" line="559"/>
         <source>Cut</source>
         <translation>Vyjmout</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="543"/>
+        <location filename="QScintilla/Editor.py" line="562"/>
         <source>Copy</source>
         <translation>Kopírovat</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="545"/>
+        <location filename="QScintilla/Editor.py" line="564"/>
         <source>Paste</source>
         <translation>Vložit</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="549"/>
-        <source>Indent</source>
-        <translation>Odsadit</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="551"/>
-        <source>Unindent</source>
-        <translation>Zrušit odsazení</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="554"/>
-        <source>Comment</source>
-        <translation>Vytvořit komentář</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="557"/>
-        <source>Uncomment</source>
-        <translation>Zrušit komentář</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="560"/>
-        <source>Stream Comment</source>
-        <translation>Proudový komentář</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="563"/>
-        <source>Box Comment</source>
-        <translation>Obdélníkový komentář</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="566"/>
-        <source>Select to brace</source>
-        <translation>Vybrat až po závorku</translation>
-    </message>
-    <message>
         <location filename="QScintilla/Editor.py" line="568"/>
-        <source>Select all</source>
-        <translation>Vybrat vše</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="569"/>
-        <source>Deselect all</source>
-        <translation>Zrušit celý výběr</translation>
+        <source>Indent</source>
+        <translation>Odsadit</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="570"/>
+        <source>Unindent</source>
+        <translation>Zrušit odsazení</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="573"/>
+        <source>Comment</source>
+        <translation>Vytvořit komentář</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="576"/>
+        <source>Uncomment</source>
+        <translation>Zrušit komentář</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="579"/>
+        <source>Stream Comment</source>
+        <translation>Proudový komentář</translation>
     </message>
     <message>
         <location filename="QScintilla/Editor.py" line="582"/>
+        <source>Box Comment</source>
+        <translation>Obdélníkový komentář</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="585"/>
+        <source>Select to brace</source>
+        <translation>Vybrat až po závorku</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="587"/>
+        <source>Select all</source>
+        <translation>Vybrat vše</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="588"/>
+        <source>Deselect all</source>
+        <translation>Zrušit celý výběr</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="601"/>
         <source>Shorten empty lines</source>
         <translation>Zkrátit prázdné řádky</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="590"/>
+        <location filename="QScintilla/Editor.py" line="609"/>
         <source>Use Monospaced Font</source>
         <translation>Použít neporoporcionální font</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="595"/>
+        <location filename="QScintilla/Editor.py" line="614"/>
         <source>Autosave enabled</source>
         <translation>Zapnout autosave</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="607"/>
+        <location filename="QScintilla/Editor.py" line="626"/>
         <source>Autocompletion enabled</source>
         <translation>Zapnout autodoplňování</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="624"/>
+        <location filename="QScintilla/Editor.py" line="643"/>
         <source>New view</source>
         <translation>Nový pohled</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="625"/>
+        <location filename="QScintilla/Editor.py" line="644"/>
         <source>New view (with new split)</source>
         <translation>Nový pohled (s novým rozdělením)</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="629"/>
+        <location filename="QScintilla/Editor.py" line="648"/>
         <source>Close</source>
         <translation>Zavřít</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="633"/>
+        <location filename="QScintilla/Editor.py" line="652"/>
         <source>Save</source>
         <translation>Uložit</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="635"/>
+        <location filename="QScintilla/Editor.py" line="654"/>
         <source>Save As...</source>
         <translation>Uložit jako...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="642"/>
+        <location filename="QScintilla/Editor.py" line="661"/>
         <source>Print</source>
         <translation>Tisk</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="659"/>
+        <location filename="QScintilla/Editor.py" line="678"/>
         <source>Autocomplete</source>
         <translation>Autodoplňování</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="665"/>
+        <location filename="QScintilla/Editor.py" line="684"/>
         <source>from Document</source>
         <translation>z dokumentu</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="668"/>
+        <location filename="QScintilla/Editor.py" line="687"/>
         <source>from APIs</source>
         <translation>z API</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="671"/>
+        <location filename="QScintilla/Editor.py" line="690"/>
         <source>from Document and APIs</source>
         <translation>z dokumentu a API</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="685"/>
+        <location filename="QScintilla/Editor.py" line="704"/>
         <source>Check</source>
         <translation>Zkontrolovat</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="693"/>
+        <location filename="QScintilla/Editor.py" line="712"/>
         <source>Show</source>
         <translation>Zobrazit</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="695"/>
+        <location filename="QScintilla/Editor.py" line="714"/>
         <source>Code metrics...</source>
         <translation>Metrika kódu...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="697"/>
+        <location filename="QScintilla/Editor.py" line="716"/>
         <source>Code coverage...</source>
         <translation>Pokrytí kódu...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="699"/>
+        <location filename="QScintilla/Editor.py" line="718"/>
         <source>Show code coverage annotations</source>
         <translation>Zobrazit poznámky pokrytí kódu</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="702"/>
-        <source>Hide code coverage annotations</source>
-        <translation>Skrýt poznámky pokrytí kódu</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="705"/>
-        <source>Profile data...</source>
-        <translation>Profilovat data...</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="715"/>
-        <source>Diagrams</source>
-        <translation>Diagramy</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="717"/>
-        <source>Class Diagram...</source>
-        <translation>Diagram třídy...</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="719"/>
-        <source>Package Diagram...</source>
-        <translation>Diagram balíčku...</translation>
-    </message>
-    <message>
         <location filename="QScintilla/Editor.py" line="721"/>
-        <source>Imports Diagram...</source>
-        <translation>Diagram importů...</translation>
+        <source>Hide code coverage annotations</source>
+        <translation>Skrýt poznámky pokrytí kódu</translation>
     </message>
     <message>
         <location filename="QScintilla/Editor.py" line="724"/>
-        <source>Application Diagram...</source>
-        <translation>Diagram aplikace...</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="735"/>
-        <source>Languages</source>
-        <translation>Jazyky</translation>
+        <source>Profile data...</source>
+        <translation>Profilovat data...</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="734"/>
+        <source>Diagrams</source>
+        <translation>Diagramy</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="736"/>
+        <source>Class Diagram...</source>
+        <translation>Diagram třídy...</translation>
     </message>
     <message>
         <location filename="QScintilla/Editor.py" line="738"/>
+        <source>Package Diagram...</source>
+        <translation>Diagram balíčku...</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="740"/>
+        <source>Imports Diagram...</source>
+        <translation>Diagram importů...</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="743"/>
+        <source>Application Diagram...</source>
+        <translation>Diagram aplikace...</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="754"/>
+        <source>Languages</source>
+        <translation>Jazyky</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="757"/>
         <source>No Language</source>
         <translation>Žádný jazyk</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="950"/>
-        <source>Toggle bookmark</source>
-        <translation>Přepnout záložku</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="953"/>
-        <source>Next bookmark</source>
-        <translation>Následující záložka</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="956"/>
-        <source>Previous bookmark</source>
-        <translation>Předchozí záložka</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="959"/>
-        <source>Clear all bookmarks</source>
-        <translation>Zrušit všechny záložky</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="963"/>
-        <source>Goto syntax error</source>
-        <translation>Jít na chybu syntaxe</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="966"/>
-        <source>Show syntax error message</source>
-        <translation>Zobrazit hlášení syntaktické chyby</translation>
-    </message>
-    <message>
         <location filename="QScintilla/Editor.py" line="969"/>
+        <source>Toggle bookmark</source>
+        <translation>Přepnout záložku</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="972"/>
+        <source>Next bookmark</source>
+        <translation>Následující záložka</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="975"/>
+        <source>Previous bookmark</source>
+        <translation>Předchozí záložka</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="978"/>
+        <source>Clear all bookmarks</source>
+        <translation>Zrušit všechny záložky</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="982"/>
+        <source>Goto syntax error</source>
+        <translation>Jít na chybu syntaxe</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="985"/>
+        <source>Show syntax error message</source>
+        <translation>Zobrazit hlášení syntaktické chyby</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="988"/>
         <source>Clear syntax error</source>
         <translation>Zrušit chybu syntaxe</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="986"/>
+        <location filename="QScintilla/Editor.py" line="1005"/>
         <source>Toggle breakpoint</source>
         <translation>Přepnout breakpoint</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="989"/>
-        <source>Toggle temporary breakpoint</source>
-        <translation>Přepnout dočasný breakpoint</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="992"/>
-        <source>Edit breakpoint...</source>
-        <translation>Editovat breakpoint...</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="3886"/>
-        <source>Enable breakpoint</source>
-        <translation>Aktivovat breakpoint</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="998"/>
-        <source>Next breakpoint</source>
-        <translation>Následující breakpoint</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="1001"/>
-        <source>Previous breakpoint</source>
-        <translation>Předchozí breakpoint</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="1004"/>
-        <source>Clear all breakpoints</source>
-        <translation>Zrušit všechny breakpointy</translation>
-    </message>
-    <message>
         <location filename="QScintilla/Editor.py" line="1008"/>
-        <source>Next uncovered line</source>
-        <translation>Následující odkrytá řádka</translation>
+        <source>Toggle temporary breakpoint</source>
+        <translation>Přepnout dočasný breakpoint</translation>
     </message>
     <message>
         <location filename="QScintilla/Editor.py" line="1011"/>
-        <source>Previous uncovered line</source>
-        <translation>Předchozí odkrytá řádka</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="1015"/>
-        <source>Next task</source>
-        <translation>Následující úloha</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="1018"/>
-        <source>Previous task</source>
-        <translation>Předchozí úloha</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="1022"/>
-        <source>LMB toggles bookmarks</source>
-        <translation>LMB přepínač záložek</translation>
+        <source>Edit breakpoint...</source>
+        <translation>Editovat breakpoint...</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="3905"/>
+        <source>Enable breakpoint</source>
+        <translation>Aktivovat breakpoint</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="1017"/>
+        <source>Next breakpoint</source>
+        <translation>Následující breakpoint</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="1020"/>
+        <source>Previous breakpoint</source>
+        <translation>Předchozí breakpoint</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="1023"/>
+        <source>Clear all breakpoints</source>
+        <translation>Zrušit všechny breakpointy</translation>
     </message>
     <message>
         <location filename="QScintilla/Editor.py" line="1027"/>
+        <source>Next uncovered line</source>
+        <translation>Následující odkrytá řádka</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="1030"/>
+        <source>Previous uncovered line</source>
+        <translation>Předchozí odkrytá řádka</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="1034"/>
+        <source>Next task</source>
+        <translation>Následující úloha</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="1037"/>
+        <source>Previous task</source>
+        <translation>Předchozí úloha</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="1041"/>
+        <source>LMB toggles bookmarks</source>
+        <translation>LMB přepínač záložek</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="1046"/>
         <source>LMB toggles breakpoints</source>
         <translation>LMB přepínač breakpointů</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="1466"/>
+        <location filename="QScintilla/Editor.py" line="1485"/>
         <source>Modification of Read Only file</source>
         <translation>Modifikace souboru otevřeného jen pro čtení</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="1466"/>
+        <location filename="QScintilla/Editor.py" line="1485"/>
         <source>You are attempting to change a read only file. Please save to a different file first.</source>
         <translation>Pokoušíte se změnit soubor, který je otevřen jen pro čtení. Prosím, uložte jej nejdříve do jiného souboru.</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="2013"/>
-        <source>Printing...</source>
-        <translation>Tisk...</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="2030"/>
-        <source>Printing completed</source>
-        <translation>Tisk je hotov</translation>
-    </message>
-    <message>
         <location filename="QScintilla/Editor.py" line="2032"/>
+        <source>Printing...</source>
+        <translation>Tisk...</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="2049"/>
+        <source>Printing completed</source>
+        <translation>Tisk je hotov</translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="2051"/>
         <source>Error while printing</source>
         <translation>Chyba během tisku</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="2035"/>
+        <location filename="QScintilla/Editor.py" line="2054"/>
         <source>Printing aborted</source>
         <translation>Tisk byl zrušen</translation>
     </message>
@@ -6640,7 +6670,7 @@
         <translation type="obsolete">&lt;p&gt;Soubor &lt;b&gt;%1&lt;/b&gt; nebyl otevřen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="2373"/>
+        <location filename="QScintilla/Editor.py" line="2392"/>
         <source>Save File</source>
         <translation>Uložit soubor</translation>
     </message>
@@ -6655,7 +6685,7 @@
         <translation type="obsolete">&lt;p&gt;Soubor &lt;b&gt;%1&lt;/b&gt; již existuje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="2164"/>
+        <location filename="QScintilla/Editor.py" line="2183"/>
         <source>File Modified</source>
         <translation>Soubor je modifikován</translation>
     </message>
@@ -6665,87 +6695,87 @@
         <translation type="obsolete">&lt;p&gt;Soubor &lt;b&gt;%1&lt;/b&gt; obsahuje neuložené změny.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="3421"/>
+        <location filename="QScintilla/Editor.py" line="3440"/>
         <source>Autocompletion</source>
         <translation>Autodoplňování</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="3421"/>
+        <location filename="QScintilla/Editor.py" line="3440"/>
         <source>Autocompletion is not available because there is no autocompletion source set.</source>
         <translation>Autodoplňování není dostupné protože zdrojová část autodoplňování nebyla nalezena.</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="3889"/>
+        <location filename="QScintilla/Editor.py" line="3908"/>
         <source>Disable breakpoint</source>
         <translation>Deaktivovat breakpoint</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4129"/>
+        <location filename="QScintilla/Editor.py" line="4148"/>
         <source>Code Coverage</source>
         <translation>Pokrytí kódu</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4129"/>
+        <location filename="QScintilla/Editor.py" line="4148"/>
         <source>Please select a coverage file</source>
         <translation>Prosím, vyberte soubor s pokrytím kódu</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4175"/>
+        <location filename="QScintilla/Editor.py" line="4194"/>
         <source>Show Code Coverage Annotations</source>
         <translation>Zobrazit poznámky pokrytí kódu</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4171"/>
+        <location filename="QScintilla/Editor.py" line="4190"/>
         <source>All lines have been covered.</source>
         <translation>Všechny řádky byly pokryty.</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4175"/>
+        <location filename="QScintilla/Editor.py" line="4194"/>
         <source>There is no coverage file available.</source>
         <translation>Soubor s pokrytím není dostupný.</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4268"/>
+        <location filename="QScintilla/Editor.py" line="4287"/>
         <source>Profile Data</source>
         <translation>Profilovat data</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4268"/>
+        <location filename="QScintilla/Editor.py" line="4287"/>
         <source>Please select a profile file</source>
         <translation>Prosím, vyberte soubor s profilem</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4384"/>
+        <location filename="QScintilla/Editor.py" line="4403"/>
         <source>Syntax Error</source>
         <translation>Chyba syntaxe</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4384"/>
+        <location filename="QScintilla/Editor.py" line="4403"/>
         <source>No syntax error message available.</source>
         <translation>Hlášení syntaktické chyby není dostupné.</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4523"/>
+        <location filename="QScintilla/Editor.py" line="4542"/>
         <source>Macro Name</source>
         <translation>Název makra</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4523"/>
+        <location filename="QScintilla/Editor.py" line="4542"/>
         <source>Select a macro name:</source>
         <translation>Vyberte název makra:</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4551"/>
+        <location filename="QScintilla/Editor.py" line="4570"/>
         <source>Load macro file</source>
         <translation>Načíst soubor makra</translation>
     </message>
     <message>
+        <location filename="QScintilla/Editor.py" line="4610"/>
+        <source>Macro files (*.macro)</source>
+        <translation>Macro soubory (*.macro)</translation>
+    </message>
+    <message>
         <location filename="QScintilla/Editor.py" line="4591"/>
-        <source>Macro files (*.macro)</source>
-        <translation>Macro soubory (*.macro)</translation>
-    </message>
-    <message>
-        <location filename="QScintilla/Editor.py" line="4572"/>
         <source>Error loading macro</source>
         <translation>Chyba při načítání makra</translation>
     </message>
@@ -6760,12 +6790,12 @@
         <translation type="obsolete">&lt;p&gt;Soubor s makrem &lt;b&gt;%1&lt;/b&gt; je poškozen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4591"/>
+        <location filename="QScintilla/Editor.py" line="4610"/>
         <source>Save macro file</source>
         <translation>Uložit soubor s makrem</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4608"/>
+        <location filename="QScintilla/Editor.py" line="4627"/>
         <source>Save macro</source>
         <translation>Uložit makro</translation>
     </message>
@@ -6775,7 +6805,7 @@
         <translation type="obsolete">&lt;p&gt;Soubor s makrem &lt;b&gt;%1&lt;/b&gt; již existuje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4626"/>
+        <location filename="QScintilla/Editor.py" line="4645"/>
         <source>Error saving macro</source>
         <translation>Chyba při ukládání makra</translation>
     </message>
@@ -6785,32 +6815,32 @@
         <translation type="obsolete">&lt;p&gt;So souboru s makrem &lt;b&gt;%1&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4637"/>
+        <location filename="QScintilla/Editor.py" line="4656"/>
         <source>Start Macro Recording</source>
         <translation>Spustit záznam makra</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4637"/>
+        <location filename="QScintilla/Editor.py" line="4656"/>
         <source>Macro recording is already active. Start new?</source>
         <translation>Nahrávání makra již probíhá. Spustit nové?</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4664"/>
+        <location filename="QScintilla/Editor.py" line="4683"/>
         <source>Macro Recording</source>
         <translation>Záznam makra</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4664"/>
+        <location filename="QScintilla/Editor.py" line="4683"/>
         <source>Enter name of the macro:</source>
         <translation>Vložte název makra:</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4787"/>
+        <location filename="QScintilla/Editor.py" line="4806"/>
         <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will loose your changes upon reopening it.</source>
         <translation>&lt;br&gt;&lt;b&gt;Pozor:&lt;/b&gt; Ztratíte všechny změny pokud jej znovu otevřete.</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4791"/>
+        <location filename="QScintilla/Editor.py" line="4810"/>
         <source>File changed</source>
         <translation>Soubor změněn</translation>
     </message>
@@ -6820,7 +6850,7 @@
         <translation type="obsolete">%1 (ro)</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4987"/>
+        <location filename="QScintilla/Editor.py" line="5006"/>
         <source>Drop Error</source>
         <translation>Zahodit chybu</translation>
     </message>
@@ -6830,47 +6860,47 @@
         <translation type="obsolete">&lt;p&gt;&lt;b&gt;%1&lt;/b&gt; není soubor.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5005"/>
+        <location filename="QScintilla/Editor.py" line="5024"/>
         <source>Resources</source>
         <translation>Zdroje</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5007"/>
+        <location filename="QScintilla/Editor.py" line="5026"/>
         <source>Add file...</source>
         <translation>Přidat soubor...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5009"/>
+        <location filename="QScintilla/Editor.py" line="5028"/>
         <source>Add files...</source>
         <translation>Přidat soubory...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5011"/>
+        <location filename="QScintilla/Editor.py" line="5030"/>
         <source>Add aliased file...</source>
         <translation>Přidat zástupce souboru...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5013"/>
+        <location filename="QScintilla/Editor.py" line="5032"/>
         <source>Add localized resource...</source>
         <translation>Přidat lokalizované resource...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5016"/>
+        <location filename="QScintilla/Editor.py" line="5035"/>
         <source>Add resource frame</source>
         <translation>Přidat resource frame</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5034"/>
+        <location filename="QScintilla/Editor.py" line="5053"/>
         <source>Add file resource</source>
         <translation>Přidat soubor resource</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5050"/>
+        <location filename="QScintilla/Editor.py" line="5069"/>
         <source>Add file resources</source>
         <translation>Přidat soubory resource</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5077"/>
+        <location filename="QScintilla/Editor.py" line="5096"/>
         <source>Add aliased file resource</source>
         <translation>Přidat zástupce souboru resource</translation>
     </message>
@@ -6880,32 +6910,32 @@
         <translation type="obsolete">Zástupce pro soubor &lt;b&gt;%1&lt;/b&gt;:</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5138"/>
+        <location filename="QScintilla/Editor.py" line="5157"/>
         <source>Package Diagram</source>
         <translation>Diagram balíčku</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5138"/>
+        <location filename="QScintilla/Editor.py" line="5157"/>
         <source>Include class attributes?</source>
         <translation>Včetně atributů třídy?</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5175"/>
+        <location filename="QScintilla/Editor.py" line="5194"/>
         <source>Application Diagram</source>
         <translation>Diagram aplikace</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5175"/>
+        <location filename="QScintilla/Editor.py" line="5194"/>
         <source>Include module names?</source>
         <translation>Včetně jmen modulů?</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="828"/>
+        <location filename="QScintilla/Editor.py" line="847"/>
         <source>Export as</source>
         <translation>Exportovat jako</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="1063"/>
+        <location filename="QScintilla/Editor.py" line="1082"/>
         <source>Export source</source>
         <translation>Export zdroj</translation>
     </message>
@@ -6915,77 +6945,77 @@
         <translation type="obsolete">&lt;p&gt;Pro formát exportu &lt;b&gt;%1&lt;/b&gt; není exportér dostupný. Zrušeno.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="1063"/>
+        <location filename="QScintilla/Editor.py" line="1082"/>
         <source>No export format given. Aborting...</source>
         <translation>Nebyl zadán forám exportu. Zrušeno....</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5159"/>
+        <location filename="QScintilla/Editor.py" line="5178"/>
         <source>Imports Diagram</source>
         <translation>Importovat diagram</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5159"/>
+        <location filename="QScintilla/Editor.py" line="5178"/>
         <source>Include imports from external modules?</source>
         <translation>Zahrnout importy z externích modulů?</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="662"/>
+        <location filename="QScintilla/Editor.py" line="681"/>
         <source>dynamic</source>
         <translation>dynamický</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="675"/>
+        <location filename="QScintilla/Editor.py" line="694"/>
         <source>Calltip</source>
         <translation>Rychlé tipy</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="640"/>
+        <location filename="QScintilla/Editor.py" line="659"/>
         <source>Print Preview</source>
         <translation>Náhled tisku</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="302"/>
+        <location filename="QScintilla/Editor.py" line="321"/>
         <source>&lt;b&gt;A Source Editor Window&lt;/b&gt;&lt;p&gt;This window is used to display and edit a source file.  You can open as many of these as you like. The name of the file is displayed in the window&apos;s titlebar.&lt;/p&gt;&lt;p&gt;In order to set breakpoints just click in the space between the line numbers and the fold markers. Via the context menu of the margins they may be edited.&lt;/p&gt;&lt;p&gt;In order to set bookmarks just Shift click in the space between the line numbers and the fold markers.&lt;/p&gt;&lt;p&gt;These actions can be reversed via the context menu.&lt;/p&gt;&lt;p&gt;Ctrl clicking on a syntax error marker shows some info about this error.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Okno editoru zdrojového kódu&lt;/b&gt;&lt;p&gt;V tomto okně se zobrazuje a edituje soubor se zdrojovým kódem. Můžete otevřít oken podle libosti. Jméno souboru se zobrazuje v titlebaru okna.&lt;/p&gt;&lt;p&gt;Kliknutím do prostoru mezi čísly řádku a značkami skládání nastavíte breakpoint. Přes kontextové menu je pak lze editovat.&lt;/p&gt;&lt;p&gt;Záložka se vkládá kliknutím na stejné místo se stisknutou klávesou Shift.&lt;/p&gt;&lt;p&gt;Tyto akce mohou být navráceny zpět i opětovným kliknutím nebo přes kontextové menu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="600"/>
+        <location filename="QScintilla/Editor.py" line="619"/>
         <source>Typing aids enabled</source>
         <translation>Pomůcky při psaní zapnuty</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="797"/>
+        <location filename="QScintilla/Editor.py" line="816"/>
         <source>End-of-Line Type</source>
         <translation>Typ Konec-řádku</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="801"/>
+        <location filename="QScintilla/Editor.py" line="820"/>
         <source>Unix</source>
         <translation>Unix</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="807"/>
+        <location filename="QScintilla/Editor.py" line="826"/>
         <source>Windows</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="813"/>
+        <location filename="QScintilla/Editor.py" line="832"/>
         <source>Macintosh</source>
         <translation>Macintosh</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="775"/>
+        <location filename="QScintilla/Editor.py" line="794"/>
         <source>Encodings</source>
         <translation>Kódování</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="757"/>
+        <location filename="QScintilla/Editor.py" line="776"/>
         <source>Guessed</source>
         <translation>Odhadem</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="1077"/>
+        <location filename="QScintilla/Editor.py" line="1096"/>
         <source>Alternatives</source>
         <translation>Alternativy</translation>
     </message>
@@ -6995,37 +7025,37 @@
         <translation type="obsolete">Alternativy (%1)</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="1092"/>
+        <location filename="QScintilla/Editor.py" line="1111"/>
         <source>Pygments Lexer</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="1092"/>
+        <location filename="QScintilla/Editor.py" line="1111"/>
         <source>Select the Pygments lexer to apply.</source>
         <translation>Použít Pygments lexer.</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5408"/>
+        <location filename="QScintilla/Editor.py" line="5427"/>
         <source>Check spelling...</source>
         <translation>Zatrhnout kontrolu...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="575"/>
+        <location filename="QScintilla/Editor.py" line="594"/>
         <source>Check spelling of selection...</source>
         <translation>Zatrhnout výběr kontroly...</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5410"/>
+        <location filename="QScintilla/Editor.py" line="5429"/>
         <source>Add to dictionary</source>
         <translation>Přidat do slovníku</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5412"/>
+        <location filename="QScintilla/Editor.py" line="5431"/>
         <source>Ignore All</source>
         <translation>Ignorovat vše</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="579"/>
+        <location filename="QScintilla/Editor.py" line="598"/>
         <source>Remove from dictionary</source>
         <translation>Odebrat ze slovníku</translation>
     </message>
@@ -7035,107 +7065,107 @@
         <translation type="obsolete">&lt;p&gt;Soubor &lt;b&gt;%1&lt;/b&gt; byl změněn po té co již byl načten do eric4. Znovu načíst?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="247"/>
+        <location filename="QScintilla/Editor.py" line="266"/>
         <source>&lt;p&gt;The size of the file &lt;b&gt;{0}&lt;/b&gt; is &lt;b&gt;{1} KB&lt;/b&gt;. Do you really want to load it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="1055"/>
-        <source>&lt;p&gt;No exporter available for the export format &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="QScintilla/Editor.py" line="1074"/>
+        <source>&lt;p&gt;No exporter available for the export format &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="QScintilla/Editor.py" line="1093"/>
         <source>Alternatives ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="2164"/>
+        <location filename="QScintilla/Editor.py" line="2183"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has unsaved changes.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="2220"/>
+        <location filename="QScintilla/Editor.py" line="2239"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="2332"/>
+        <location filename="QScintilla/Editor.py" line="2351"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="2373"/>
+        <location filename="QScintilla/Editor.py" line="2392"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4565"/>
+        <location filename="QScintilla/Editor.py" line="4584"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4572"/>
+        <location filename="QScintilla/Editor.py" line="4591"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4608"/>
+        <location filename="QScintilla/Editor.py" line="4627"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4626"/>
+        <location filename="QScintilla/Editor.py" line="4645"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4782"/>
+        <location filename="QScintilla/Editor.py" line="4801"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric5. Reread it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4870"/>
+        <location filename="QScintilla/Editor.py" line="4889"/>
         <source>{0} (ro)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4987"/>
+        <location filename="QScintilla/Editor.py" line="5006"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="5077"/>
+        <location filename="QScintilla/Editor.py" line="5096"/>
         <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="973"/>
+        <location filename="QScintilla/Editor.py" line="992"/>
         <source>Next warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="976"/>
+        <location filename="QScintilla/Editor.py" line="995"/>
         <source>Previous warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="979"/>
+        <location filename="QScintilla/Editor.py" line="998"/>
         <source>Show warning message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="982"/>
+        <location filename="QScintilla/Editor.py" line="1001"/>
         <source>Clear warnings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4504"/>
+        <location filename="QScintilla/Editor.py" line="4523"/>
         <source>py3flakes Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="QScintilla/Editor.py" line="4504"/>
+        <location filename="QScintilla/Editor.py" line="4523"/>
         <source>No py3flakes warning message available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -20253,17 +20283,17 @@
         <translation>(nezkonfigurováno)</translation>
     </message>
     <message>
-        <location filename="Preferences/ProgramsDialog.py" line="249"/>
+        <location filename="Preferences/ProgramsDialog.py" line="256"/>
         <source>(not executable)</source>
         <translation>(nevykonavatelný)</translation>
     </message>
     <message>
-        <location filename="Preferences/ProgramsDialog.py" line="276"/>
+        <location filename="Preferences/ProgramsDialog.py" line="283"/>
         <source>(not found)</source>
         <translation>(nenalezeno)</translation>
     </message>
     <message>
-        <location filename="Preferences/ProgramsDialog.py" line="165"/>
+        <location filename="Preferences/ProgramsDialog.py" line="254"/>
         <source>(unknown)</source>
         <translation>(neznámý)</translation>
     </message>
@@ -20326,12 +20356,12 @@
         <translation>Ostatní</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="684"/>
+        <location filename="Project/Project.py" line="693"/>
         <source>Read project file</source>
         <translation>Načíst soubor projektu</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="740"/>
+        <location filename="Project/Project.py" line="749"/>
         <source>Compressed project files not supported. The compression library is missing.</source>
         <translation>Komprimované soubory nejsou podporovány. Kompresní knihovna chybí.</translation>
     </message>
@@ -20351,7 +20381,7 @@
         <translation type="obsolete">&lt;p&gt;Soubor projektu &lt;b&gt;%1&lt;/b&gt; má neplatný obsah.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="758"/>
+        <location filename="Project/Project.py" line="767"/>
         <source>Save project file</source>
         <translation>Uložit soubor projektu</translation>
     </message>
@@ -20361,7 +20391,7 @@
         <translation type="obsolete">&lt;p&gt;Do souboru projektu &lt;b&gt;%1&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="799"/>
+        <location filename="Project/Project.py" line="808"/>
         <source>Read user project properties</source>
         <translation>Načíst uživatelská nastavení projektu</translation>
     </message>
@@ -20371,7 +20401,7 @@
         <translation type="obsolete">&lt;p&gt;Uživatelská nastavení projektu &lt;b&gt;%1&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="827"/>
+        <location filename="Project/Project.py" line="836"/>
         <source>Save user project properties</source>
         <translation>Uložit uživatelská nastavení projektu</translation>
     </message>
@@ -20381,17 +20411,17 @@
         <translation type="obsolete">&lt;p&gt;Do souboru s uživatelskými nastaveními  &lt;b&gt;%1&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1098"/>
+        <location filename="Project/Project.py" line="1107"/>
         <source>Read project session</source>
         <translation>Načíst relaci projektu</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1379"/>
+        <location filename="Project/Project.py" line="1388"/>
         <source>Please save the project first.</source>
         <translation>Prosím, nejdříve uložte projekt.</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1222"/>
+        <location filename="Project/Project.py" line="1231"/>
         <source>Compressed project session files not supported. The compression library is missing.</source>
         <translation>Soubor s komprimovanou relací projektu není podporován. Kompresní knihovna chybí.</translation>
     </message>
@@ -20411,7 +20441,7 @@
         <translation type="obsolete">&lt;p&gt;Soubor s relací projektu &lt;b&gt;%1&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1022"/>
+        <location filename="Project/Project.py" line="1031"/>
         <source>Save project session</source>
         <translation>Uložit relaci projektu</translation>
     </message>
@@ -20421,7 +20451,7 @@
         <translation type="obsolete">&lt;p&gt;Do souboru s relací projektu &lt;b&gt;%1&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1046"/>
+        <location filename="Project/Project.py" line="1055"/>
         <source>Delete project session</source>
         <translation>Smazat relaci projektu</translation>
     </message>
@@ -20431,12 +20461,12 @@
         <translation type="obsolete">&lt;p&gt;Soubor s relací projektu &lt;b&gt;%1&lt;/b&gt; nelze smazat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1150"/>
+        <location filename="Project/Project.py" line="1159"/>
         <source>Read tasks</source>
         <translation>Načíst úlohy</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1175"/>
+        <location filename="Project/Project.py" line="1184"/>
         <source>Compressed tasks files not supported. The compression library is missing.</source>
         <translation>Soubor s komprimovanými úlohami není podporován. Kompresní knihovna chybí.</translation>
     </message>
@@ -20451,7 +20481,7 @@
         <translation type="obsolete">&lt;p&gt;Soubor s úlohami &lt;b&gt;%1&lt;/b&gt; je v nepodporovaném formátu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1194"/>
+        <location filename="Project/Project.py" line="1203"/>
         <source>Save tasks</source>
         <translation>Uložit úlohy</translation>
     </message>
@@ -20461,7 +20491,7 @@
         <translation type="obsolete">&lt;p&gt;Do souboru s úlohami &lt;b&gt;%1&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1310"/>
+        <location filename="Project/Project.py" line="1319"/>
         <source>Read debugger properties</source>
         <translation>Načíst nastavení debuggeru</translation>
     </message>
@@ -20476,12 +20506,12 @@
         <translation type="obsolete">&lt;p&gt;Soubor s nastaveními debuggeru &lt;b&gt;%1&lt;/b&gt; je v nepodporovaném formátu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1367"/>
+        <location filename="Project/Project.py" line="1376"/>
         <source>Save debugger properties</source>
         <translation>Uložit nastavení debuggeru</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1345"/>
+        <location filename="Project/Project.py" line="1354"/>
         <source>Compressed project debugger properties files not supported. The compression library is missing.</source>
         <translation>Soubor s komprimovanými nastaveními debuggeru není podporován. Kompresní knihovna chybí.</translation>
     </message>
@@ -20491,7 +20521,7 @@
         <translation type="obsolete">&lt;p&gt;Do souboru s nastaveními debuggeru &lt;b&gt;%1&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1392"/>
+        <location filename="Project/Project.py" line="1401"/>
         <source>Delete debugger properties</source>
         <translation>Smazat nastavení debuggeru</translation>
     </message>
@@ -20501,12 +20531,12 @@
         <translation type="obsolete">&lt;p&gt;Soubor s nastaveními debuggeru &lt;b&gt;%1&lt;/b&gt; nelze smazat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1476"/>
+        <location filename="Project/Project.py" line="1485"/>
         <source>Add Language</source>
         <translation>Přidat jazyk</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1583"/>
+        <location filename="Project/Project.py" line="1592"/>
         <source>Delete translation</source>
         <translation>Smazat překlad</translation>
     </message>
@@ -20516,7 +20546,7 @@
         <translation type="obsolete">&lt;p&gt;Vybraný soubor s překladem &lt;b&gt;%1&lt;/b&gt; nelze smazat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1727"/>
+        <location filename="Project/Project.py" line="1736"/>
         <source>Add file</source>
         <translation>Přidat soubor</translation>
     </message>
@@ -20531,12 +20561,12 @@
         <translation type="obsolete">&lt;p&gt;Vybraný soubor &lt;b&gt;%1&lt;/b&gt; nelze přidat do &lt;b&gt;%2&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1838"/>
+        <location filename="Project/Project.py" line="1847"/>
         <source>The target directory must not be empty.</source>
         <translation>Cílový adresář nesmí být prázdný.</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1850"/>
+        <location filename="Project/Project.py" line="1859"/>
         <source>Add directory</source>
         <translation>Přidat adresář</translation>
     </message>
@@ -20546,17 +20576,17 @@
         <translation type="obsolete">&lt;p&gt;Cílový adresář &lt;b&gt;%1&lt;/b&gt; nelze vytvořit.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1850"/>
+        <location filename="Project/Project.py" line="1859"/>
         <source>The source directory must not be empty.</source>
         <translation>Cílový adresář nesmí být prázdný.</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1972"/>
+        <location filename="Project/Project.py" line="1981"/>
         <source>Rename file</source>
         <translation>Přejmenovat soubor</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1997"/>
+        <location filename="Project/Project.py" line="2006"/>
         <source>Rename File</source>
         <translation>Přejmenovat soubor</translation>
     </message>
@@ -20571,7 +20601,7 @@
         <translation type="obsolete">&lt;p&gt;Soubor &lt;b&gt;%1&lt;/b&gt; nemůže být přejmenován.&lt;br /&gt;Důvod: %2&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2167"/>
+        <location filename="Project/Project.py" line="2176"/>
         <source>Delete file</source>
         <translation>Smazat soubor</translation>
     </message>
@@ -20581,7 +20611,7 @@
         <translation type="obsolete">&lt;p&gt;Vybraný soubor &lt;b&gt;%1&lt;/b&gt; nelze smazat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2190"/>
+        <location filename="Project/Project.py" line="2199"/>
         <source>Delete directory</source>
         <translation>Smazat adresář</translation>
     </message>
@@ -20591,7 +20621,7 @@
         <translation type="obsolete">&lt;p&gt;Vybraný adresář &lt;b&gt;%1&lt;/b&gt; nelze smazat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2260"/>
+        <location filename="Project/Project.py" line="2274"/>
         <source>Create project directory</source>
         <translation>Vytvořit adresář projektu</translation>
     </message>
@@ -20601,32 +20631,32 @@
         <translation type="obsolete">&lt;p&gt;Adresář projektu &lt;b&gt;%1&lt;/b&gt; nelze vytvořit.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2716"/>
+        <location filename="Project/Project.py" line="2730"/>
         <source>New Project</source>
         <translation>Nový projekt</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2304"/>
+        <location filename="Project/Project.py" line="2318"/>
         <source>Add existing files to the project?</source>
         <translation>Přidat existující soubory do projektu?</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2418"/>
+        <location filename="Project/Project.py" line="2432"/>
         <source>Would you like to edit the VCS command options?</source>
         <translation>Chcete editovat parametry VCS příkazu?</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3223"/>
+        <location filename="Project/Project.py" line="3279"/>
         <source>New project</source>
         <translation>Nový projekt</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2368"/>
+        <location filename="Project/Project.py" line="2382"/>
         <source>Shall the project file be added to the repository?</source>
         <translation>Má být projekt přidán do repozitáře?</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2392"/>
+        <location filename="Project/Project.py" line="2406"/>
         <source>Select version control system for the project</source>
         <translation>Výběr verzovacího systému projektu</translation>
     </message>
@@ -20641,7 +20671,7 @@
         <translation type="obsolete">&lt;p&gt;Zadání &lt;b&gt;%1&lt;/b&gt; v souboru projektu obsahuje bezpečnostní problém.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3236"/>
+        <location filename="Project/Project.py" line="3292"/>
         <source>Open project</source>
         <translation>Otevřít projekt</translation>
     </message>
@@ -20651,27 +20681,27 @@
         <translation type="obsolete">Soubory projektu (*.e4p *.e4pz *.e3p *.e3pz)</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2834"/>
+        <location filename="Project/Project.py" line="2848"/>
         <source>Compressed Project Files (*.e4pz)</source>
         <translation>Komprimované soubory projektu (*.e4pz)</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2836"/>
+        <location filename="Project/Project.py" line="2850"/>
         <source>Project Files (*.e4p)</source>
         <translation>Soubory projektu (*.e4p)</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3270"/>
+        <location filename="Project/Project.py" line="3326"/>
         <source>Save project as</source>
         <translation>Uložit projekt jako</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2837"/>
+        <location filename="Project/Project.py" line="2851"/>
         <source>Project Files (*.e4p);;Compressed Project Files (*.e4pz)</source>
         <translation>Soubory projektu (*.e4p);;Komprimované soubory projektu (*.e4pz)</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2853"/>
+        <location filename="Project/Project.py" line="2867"/>
         <source>Save File</source>
         <translation>Uložit soubor</translation>
     </message>
@@ -20681,22 +20711,22 @@
         <translation type="obsolete">&lt;p&gt;Soubor &lt;b&gt;%1&lt;/b&gt; již existuje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2888"/>
+        <location filename="Project/Project.py" line="2902"/>
         <source>Close Project</source>
         <translation>Zavřít projekt</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2888"/>
+        <location filename="Project/Project.py" line="2902"/>
         <source>The current project has unsaved changes.</source>
         <translation>Aktuální projekt obsahuje neuložené změny.</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3029"/>
+        <location filename="Project/Project.py" line="3043"/>
         <source>Syntax errors detected</source>
         <translation>Zjištěny syntaktické chyby</translation>
     </message>
     <message numerus="yes">
-        <location filename="Project/Project.py" line="3029"/>
+        <location filename="Project/Project.py" line="3043"/>
         <source>The project contains %n file(s) with syntax errors.</source>
         <translation>
             <numerusform>Projekt obsahuje %n soubor se syntaktickými chybami.</numerusform>
@@ -20705,562 +20735,562 @@
         </translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3223"/>
+        <location filename="Project/Project.py" line="3279"/>
         <source>&amp;New...</source>
         <translation>&amp;Nový...</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3227"/>
-        <source>Generate a new project</source>
-        <translation>Vygenerovat nový projekt</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3228"/>
-        <source>&lt;b&gt;New...&lt;/b&gt;&lt;p&gt;This opens a dialog for entering the info for a new project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Nový...&lt;/b&gt;&lt;p&gt;Otevře se dialogové okno pro zadání informací o novém projektu.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3236"/>
-        <source>&amp;Open...</source>
-        <translation>&amp;Otevřít...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3240"/>
-        <source>Open an existing project</source>
-        <translation>Otevřít existující projekt</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3241"/>
-        <source>&lt;b&gt;Open...&lt;/b&gt;&lt;p&gt;This opens an existing project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Otevřít....&lt;/b&gt;&lt;p&gt;Otevře existující projekt.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3248"/>
-        <source>Close project</source>
-        <translation>Zavřít projekt</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3248"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Zavřít</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3251"/>
-        <source>Close the current project</source>
-        <translation>Uzavře aktuální projekt</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3252"/>
-        <source>&lt;b&gt;Close&lt;/b&gt;&lt;p&gt;This closes the current project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Zavřít&lt;/b&gt;&lt;p&gt;Aktuální projekt se uzavře.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3259"/>
-        <source>Save project</source>
-        <translation>Uložit projekt</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3415"/>
-        <source>&amp;Save</source>
-        <translation>&amp;Uložit</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3262"/>
-        <source>Save the current project</source>
-        <translation>Uložit aktuální projekt</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3263"/>
-        <source>&lt;b&gt;Save&lt;/b&gt;&lt;p&gt;This saves the current project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Uložit&lt;/b&gt;&lt;p&gt;Aktuální projekt se uloží.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3270"/>
-        <source>Save &amp;as...</source>
-        <translation>Uložit j&amp;ako...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3273"/>
-        <source>Save the current project to a new file</source>
-        <translation>Uloží aktuální projekt do nového souboru</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3274"/>
-        <source>&lt;b&gt;Save as&lt;/b&gt;&lt;p&gt;This saves the current project to a new file.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Uložit jako&lt;/b&gt;&lt;p&gt;Uloží aktuální projekt do nového souboru.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="Project/Project.py" line="3283"/>
-        <source>Add files to project</source>
-        <translation>Přidat soubory do projektu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3283"/>
-        <source>Add &amp;files...</source>
-        <translation>&amp;Přidat soubory...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3287"/>
-        <source>Add files to the current project</source>
-        <translation>Přidat soubory do aktuálního projektu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3288"/>
-        <source>&lt;b&gt;Add files...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding files to the current project. The place to add is determined by the file extension.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Přidat soubory...&lt;/b&gt;&lt;p&gt;Otevře dialog pri přidání souborů do aktuálního projektu. Místo pro přidání je definováno extenzí souborů.&lt;/p&gt;</translation>
+        <source>Generate a new project</source>
+        <translation>Vygenerovat nový projekt</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3284"/>
+        <source>&lt;b&gt;New...&lt;/b&gt;&lt;p&gt;This opens a dialog for entering the info for a new project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Nový...&lt;/b&gt;&lt;p&gt;Otevře se dialogové okno pro zadání informací o novém projektu.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3292"/>
+        <source>&amp;Open...</source>
+        <translation>&amp;Otevřít...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3296"/>
+        <source>Open an existing project</source>
+        <translation>Otevřít existující projekt</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3297"/>
-        <source>Add directory to project</source>
-        <translation>Přidat adresář do projektu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3297"/>
-        <source>Add directory...</source>
-        <translation>Přidat adresář...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3301"/>
-        <source>Add a directory to the current project</source>
-        <translation>Přidat adresář do aktuálního projektu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3303"/>
-        <source>&lt;b&gt;Add directory...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding a directory to the current project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Přidat adresář...&lt;/b&gt;&lt;p&gt;Otevře dialog pro přičtení adresáře do aktuálního projektu.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3311"/>
-        <source>Add translation to project</source>
-        <translation>Přidat překlad do projektu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3311"/>
-        <source>Add &amp;translation...</source>
-        <translation>Přida&amp;t překlad...</translation>
+        <source>&lt;b&gt;Open...&lt;/b&gt;&lt;p&gt;This opens an existing project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Otevřít....&lt;/b&gt;&lt;p&gt;Otevře existující projekt.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3304"/>
+        <source>Close project</source>
+        <translation>Zavřít projekt</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3304"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Zavřít</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3307"/>
+        <source>Close the current project</source>
+        <translation>Uzavře aktuální projekt</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3308"/>
+        <source>&lt;b&gt;Close&lt;/b&gt;&lt;p&gt;This closes the current project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Zavřít&lt;/b&gt;&lt;p&gt;Aktuální projekt se uzavře.&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3315"/>
-        <source>Add a translation to the current project</source>
-        <translation>Přidat překlad do aktuálního projektu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3317"/>
-        <source>&lt;b&gt;Add translation...&lt;/b&gt;&lt;p&gt;This opens a dialog for add a translation to the current project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Přidat překlad&lt;/b&gt;&lt;p&gt;Otevře dialog pro přidání překladu do aktuálního projektu.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3325"/>
-        <source>Search new files</source>
-        <translation>Hledat nové soubory</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3325"/>
-        <source>Searc&amp;h new files...</source>
-        <translation>&amp;Hledat nové soubory...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3328"/>
-        <source>Search new files in the project directory.</source>
-        <translation>Hledat nové soubory v adresáři projektu.</translation>
+        <source>Save project</source>
+        <translation>Uložit projekt</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3471"/>
+        <source>&amp;Save</source>
+        <translation>&amp;Uložit</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3318"/>
+        <source>Save the current project</source>
+        <translation>Uložit aktuální projekt</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3319"/>
+        <source>&lt;b&gt;Save&lt;/b&gt;&lt;p&gt;This saves the current project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Uložit&lt;/b&gt;&lt;p&gt;Aktuální projekt se uloží.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3326"/>
+        <source>Save &amp;as...</source>
+        <translation>Uložit j&amp;ako...</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3329"/>
-        <source>&lt;b&gt;Search new files...&lt;/b&gt;&lt;p&gt;This searches for new files (sources, *.ui, *.idl) in the project directory and registered subdirectories.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Hledat nové soubory...&lt;/b&gt;&lt;p&gt;Hledají se nové soubory (zdrojové, *.ui, *.idl) v adresáři projektu a v registrovaných podadresářích.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3337"/>
-        <source>Project properties</source>
-        <translation>Nastavení projektu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3337"/>
-        <source>&amp;Properties...</source>
-        <translation>&amp;Natavení...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3340"/>
-        <source>Show the project properties</source>
-        <translation>Zobrazit nastavení projektu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3341"/>
-        <source>&lt;b&gt;Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the project properties.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Nastavení...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací nastavení projektu.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3348"/>
-        <source>User project properties</source>
-        <translation>Uživatelská nastavení projektu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3348"/>
-        <source>&amp;User Properties...</source>
-        <translation>Uživat&amp;elská nastavení...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3351"/>
-        <source>Show the user specific project properties</source>
-        <translation>Zobrazit uživatelem definovaná nastavení projektu</translation>
+        <source>Save the current project to a new file</source>
+        <translation>Uloží aktuální projekt do nového souboru</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3330"/>
+        <source>&lt;b&gt;Save as&lt;/b&gt;&lt;p&gt;This saves the current project to a new file.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Uložit jako&lt;/b&gt;&lt;p&gt;Uloží aktuální projekt do nového souboru.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3339"/>
+        <source>Add files to project</source>
+        <translation>Přidat soubory do projektu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3339"/>
+        <source>Add &amp;files...</source>
+        <translation>&amp;Přidat soubory...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3343"/>
+        <source>Add files to the current project</source>
+        <translation>Přidat soubory do aktuálního projektu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3344"/>
+        <source>&lt;b&gt;Add files...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding files to the current project. The place to add is determined by the file extension.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Přidat soubory...&lt;/b&gt;&lt;p&gt;Otevře dialog pri přidání souborů do aktuálního projektu. Místo pro přidání je definováno extenzí souborů.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3353"/>
+        <source>Add directory to project</source>
+        <translation>Přidat adresář do projektu</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3353"/>
-        <source>&lt;b&gt;User Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the user specific project properties.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Uživatelská nastavení...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací uživatelských nastavení projektu.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3360"/>
-        <source>Filetype Associations</source>
-        <translation>Asociace typů souborů</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3360"/>
-        <source>Filetype Associations...</source>
-        <translation>Asociace typů souborů...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3363"/>
-        <source>Show the project filetype associations</source>
-        <translation>Zobrazit asociace typů souborů</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3365"/>
-        <source>&lt;b&gt;Filetype Associations...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the filetype associations of the project. These associations determine the type (source, form, interface or others) with a filename pattern. They are used when adding a file to the project and when performing a search for new files.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Asociace typů souborů...&lt;/b&gt;&lt;p&gt;Zobrazí se dialog s editací asociace typů souborů v projektu. Na základě vzorku souborového jména tyto asociace určují typ souboru (zdrojový kód, formulář, interface nebo jiné). Tyto asociace jsou použity při přidávání souborů do projektu a při vyhledávání.&lt;/p&gt;</translation>
+        <source>Add directory...</source>
+        <translation>Přidat adresář...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3357"/>
+        <source>Add a directory to the current project</source>
+        <translation>Přidat adresář do aktuálního projektu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3359"/>
+        <source>&lt;b&gt;Add directory...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding a directory to the current project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Přidat adresář...&lt;/b&gt;&lt;p&gt;Otevře dialog pro přičtení adresáře do aktuálního projektu.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3367"/>
+        <source>Add translation to project</source>
+        <translation>Přidat překlad do projektu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3367"/>
+        <source>Add &amp;translation...</source>
+        <translation>Přida&amp;t překlad...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3371"/>
+        <source>Add a translation to the current project</source>
+        <translation>Přidat překlad do aktuálního projektu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3373"/>
+        <source>&lt;b&gt;Add translation...&lt;/b&gt;&lt;p&gt;This opens a dialog for add a translation to the current project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Přidat překlad&lt;/b&gt;&lt;p&gt;Otevře dialog pro přidání překladu do aktuálního projektu.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3381"/>
+        <source>Search new files</source>
+        <translation>Hledat nové soubory</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3381"/>
+        <source>Searc&amp;h new files...</source>
+        <translation>&amp;Hledat nové soubory...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3384"/>
+        <source>Search new files in the project directory.</source>
+        <translation>Hledat nové soubory v adresáři projektu.</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3385"/>
+        <source>&lt;b&gt;Search new files...&lt;/b&gt;&lt;p&gt;This searches for new files (sources, *.ui, *.idl) in the project directory and registered subdirectories.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Hledat nové soubory...&lt;/b&gt;&lt;p&gt;Hledají se nové soubory (zdrojové, *.ui, *.idl) v adresáři projektu a v registrovaných podadresářích.&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3393"/>
-        <source>Debugger Properties</source>
-        <translation>Nastavení debugeru</translation>
+        <source>Project properties</source>
+        <translation>Nastavení projektu</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3393"/>
-        <source>Debugger &amp;Properties...</source>
-        <translation>Nastavení &amp;debuggeru...</translation>
+        <source>&amp;Properties...</source>
+        <translation>&amp;Natavení...</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3396"/>
-        <source>Show the debugger properties</source>
-        <translation>Zobrazit nastavení debugeru</translation>
+        <source>Show the project properties</source>
+        <translation>Zobrazit nastavení projektu</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3397"/>
-        <source>&lt;b&gt;Debugger Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit project specific debugger settings.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Nastavení debugeru...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací nastavení debugeru.&lt;/p&gt;</translation>
+        <source>&lt;b&gt;Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the project properties.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Nastavení...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací nastavení projektu.&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3404"/>
-        <source>Load</source>
-        <translation>Načíst</translation>
+        <source>User project properties</source>
+        <translation>Uživatelská nastavení projektu</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3404"/>
-        <source>&amp;Load</source>
-        <translation>&amp;Načíst</translation>
+        <source>&amp;User Properties...</source>
+        <translation>Uživat&amp;elská nastavení...</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3407"/>
-        <source>Load the debugger properties</source>
-        <translation>Načíst nastavení debugeru</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3408"/>
-        <source>&lt;b&gt;Load Debugger Properties&lt;/b&gt;&lt;p&gt;This loads the project specific debugger settings.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Načíst nastavení debugeru&lt;/b&gt;&lt;p&gt;Načtou se nastavení debugeru do projektu.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3415"/>
-        <source>Save</source>
-        <translation>Uložit</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3418"/>
-        <source>Save the debugger properties</source>
-        <translation>Uložit nastavení debugeru</translation>
+        <source>Show the user specific project properties</source>
+        <translation>Zobrazit uživatelem definovaná nastavení projektu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3409"/>
+        <source>&lt;b&gt;User Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the user specific project properties.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Uživatelská nastavení...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací uživatelských nastavení projektu.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3416"/>
+        <source>Filetype Associations</source>
+        <translation>Asociace typů souborů</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3416"/>
+        <source>Filetype Associations...</source>
+        <translation>Asociace typů souborů...</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3419"/>
-        <source>&lt;b&gt;Save Debugger Properties&lt;/b&gt;&lt;p&gt;This saves the project specific debugger settings.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Uložit nastavení debugeru&lt;/b&gt;&lt;p&gt;Uloží nastavení debugeru definovaná v projektu..&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3426"/>
-        <source>Delete</source>
-        <translation>Smazat</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3426"/>
-        <source>&amp;Delete</source>
-        <translation>Sma&amp;zat</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3429"/>
-        <source>Delete the debugger properties</source>
-        <translation>Smazat nastavení debugeru</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3430"/>
-        <source>&lt;b&gt;Delete Debugger Properties&lt;/b&gt;&lt;p&gt;This deletes the file containing the project specific debugger settings.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Smazat nastavení debugeru&lt;/b&gt;&lt;p&gt;Smaže se soubor obsahující nastavení debugeru v daném projektu.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3438"/>
-        <source>Reset</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3438"/>
-        <source>&amp;Reset</source>
-        <translation>&amp;Reset</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3441"/>
-        <source>Reset the debugger properties</source>
-        <translation>Reset nastavení debugeru</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3442"/>
-        <source>&lt;b&gt;Reset Debugger Properties&lt;/b&gt;&lt;p&gt;This resets the project specific debugger settings.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Reset nastavení debugeru&lt;/b&gt;&lt;p&gt;Zresetuje nastavení debugeru v projektu.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3451"/>
-        <source>Load session</source>
-        <translation>Načíst relaci</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3454"/>
-        <source>Load the projects session file.</source>
-        <translation>Načíst soubor s relací projektu.</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3455"/>
-        <source>&lt;b&gt;Load session&lt;/b&gt;&lt;p&gt;This loads the projects session file. The session consists of the following data.&lt;br&gt;- all open source files&lt;br&gt;- all breakpoint&lt;br&gt;- the commandline arguments&lt;br&gt;- the working directory&lt;br&gt;- the exception reporting flag&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Načíst relaci&lt;/b&gt;&lt;p&gt;Načte soubor s relací projektu. Relace obsahuje následující údaje:&lt;br&gt;- všechny otevřené zdrojové soubory&lt;br&gt;- všechny breakpointy&lt;br&gt;- argumenty příkazové řádky &lt;br&gt;- pracovní adresář&lt;br&gt;- příznak výjimky&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3468"/>
-        <source>Save session</source>
-        <translation>Uložit relaci</translation>
+        <source>Show the project filetype associations</source>
+        <translation>Zobrazit asociace typů souborů</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3421"/>
+        <source>&lt;b&gt;Filetype Associations...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the filetype associations of the project. These associations determine the type (source, form, interface or others) with a filename pattern. They are used when adding a file to the project and when performing a search for new files.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Asociace typů souborů...&lt;/b&gt;&lt;p&gt;Zobrazí se dialog s editací asociace typů souborů v projektu. Na základě vzorku souborového jména tyto asociace určují typ souboru (zdrojový kód, formulář, interface nebo jiné). Tyto asociace jsou použity při přidávání souborů do projektu a při vyhledávání.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3449"/>
+        <source>Debugger Properties</source>
+        <translation>Nastavení debugeru</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3449"/>
+        <source>Debugger &amp;Properties...</source>
+        <translation>Nastavení &amp;debuggeru...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3452"/>
+        <source>Show the debugger properties</source>
+        <translation>Zobrazit nastavení debugeru</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3453"/>
+        <source>&lt;b&gt;Debugger Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit project specific debugger settings.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Nastavení debugeru...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací nastavení debugeru.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3460"/>
+        <source>Load</source>
+        <translation>Načíst</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3460"/>
+        <source>&amp;Load</source>
+        <translation>&amp;Načíst</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3463"/>
+        <source>Load the debugger properties</source>
+        <translation>Načíst nastavení debugeru</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3464"/>
+        <source>&lt;b&gt;Load Debugger Properties&lt;/b&gt;&lt;p&gt;This loads the project specific debugger settings.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Načíst nastavení debugeru&lt;/b&gt;&lt;p&gt;Načtou se nastavení debugeru do projektu.&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3471"/>
-        <source>Save the projects session file.</source>
-        <translation>Uložit soubor s relací projektu.</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3472"/>
-        <source>&lt;b&gt;Save session&lt;/b&gt;&lt;p&gt;This saves the projects session file. The session consists of the following data.&lt;br&gt;- all open source files&lt;br&gt;- all breakpoint&lt;br&gt;- the commandline arguments&lt;br&gt;- the working directory&lt;br&gt;- the exception reporting flag&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Uložit relaci&lt;/b&gt;&lt;p&gt;Uloží soubor s relací projektu. Relace obsahuje následující údaje:&lt;br&gt;- všechny otevřené zdrojové soubory&lt;br&gt;- všechny breakpointy&lt;br&gt;- argumenty příkazové řádky &lt;br&gt;- pracovní adresář&lt;br&gt;- příznak výjimky&lt;/p&gt;</translation>
+        <source>Save</source>
+        <translation>Uložit</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3474"/>
+        <source>Save the debugger properties</source>
+        <translation>Uložit nastavení debugeru</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3475"/>
+        <source>&lt;b&gt;Save Debugger Properties&lt;/b&gt;&lt;p&gt;This saves the project specific debugger settings.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Uložit nastavení debugeru&lt;/b&gt;&lt;p&gt;Uloží nastavení debugeru definovaná v projektu..&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3482"/>
+        <source>Delete</source>
+        <translation>Smazat</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3482"/>
+        <source>&amp;Delete</source>
+        <translation>Sma&amp;zat</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3485"/>
-        <source>Delete session</source>
-        <translation>Smazat relaci</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3488"/>
-        <source>Delete the projects session file.</source>
-        <translation>Smaže soubor s relací projektu.</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3489"/>
-        <source>&lt;b&gt;Delete session&lt;/b&gt;&lt;p&gt;This deletes the projects session file&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Smazat relaci&lt;/b&gt;&lt;p&gt;Smaže soubor s relací projektu.&lt;/p&gt;</translation>
+        <source>Delete the debugger properties</source>
+        <translation>Smazat nastavení debugeru</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3486"/>
+        <source>&lt;b&gt;Delete Debugger Properties&lt;/b&gt;&lt;p&gt;This deletes the file containing the project specific debugger settings.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Smazat nastavení debugeru&lt;/b&gt;&lt;p&gt;Smaže se soubor obsahující nastavení debugeru v daném projektu.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3494"/>
+        <source>Reset</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3494"/>
+        <source>&amp;Reset</source>
+        <translation>&amp;Reset</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3497"/>
+        <source>Reset the debugger properties</source>
+        <translation>Reset nastavení debugeru</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3498"/>
-        <source>Code Metrics</source>
-        <translation>Metriky kódu</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3498"/>
-        <source>&amp;Code Metrics...</source>
-        <translation>Metriky &amp;kódu...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3501"/>
-        <source>Show some code metrics for the project.</source>
-        <translation>Zobrazit metriky kódu projektu.</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3503"/>
-        <source>&lt;b&gt;Code Metrics...&lt;/b&gt;&lt;p&gt;This shows some code metrics for all Python files in the project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Metriky kódu...&lt;/b&gt;&lt;p&gt;Zobrazí se metriky kódu všech python souborů v projektu.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3510"/>
-        <source>Python Code Coverage</source>
-        <translation>Pokrytí python kódu</translation>
+        <source>&lt;b&gt;Reset Debugger Properties&lt;/b&gt;&lt;p&gt;This resets the project specific debugger settings.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Reset nastavení debugeru&lt;/b&gt;&lt;p&gt;Zresetuje nastavení debugeru v projektu.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3507"/>
+        <source>Load session</source>
+        <translation>Načíst relaci</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3510"/>
-        <source>Code Co&amp;verage...</source>
-        <translation>Pokr&amp;ytí kódu...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3513"/>
-        <source>Show code coverage information for the project.</source>
-        <translation>Zobrazit informace pokrytí kódu projektu.</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3515"/>
-        <source>&lt;b&gt;Code Coverage...&lt;/b&gt;&lt;p&gt;This shows the code coverage information for all Python files in the project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Pokrytí kódu...&lt;/b&gt;&lt;p&gt;Zobrazí informace o pokrytí kódu ve všech python souborech projektu.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="4204"/>
-        <source>Profile Data</source>
-        <translation>Profilovat data</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3523"/>
-        <source>&amp;Profile Data...</source>
-        <translation>&amp;Profilovat data...</translation>
-    </message>
-    <message>
-        <location filename="Project/Project.py" line="3526"/>
-        <source>Show profiling data for the project.</source>
-        <translation>Zobrazit profilování dat projektu.</translation>
+        <source>Load the projects session file.</source>
+        <translation>Načíst soubor s relací projektu.</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3511"/>
+        <source>&lt;b&gt;Load session&lt;/b&gt;&lt;p&gt;This loads the projects session file. The session consists of the following data.&lt;br&gt;- all open source files&lt;br&gt;- all breakpoint&lt;br&gt;- the commandline arguments&lt;br&gt;- the working directory&lt;br&gt;- the exception reporting flag&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Načíst relaci&lt;/b&gt;&lt;p&gt;Načte soubor s relací projektu. Relace obsahuje následující údaje:&lt;br&gt;- všechny otevřené zdrojové soubory&lt;br&gt;- všechny breakpointy&lt;br&gt;- argumenty příkazové řádky &lt;br&gt;- pracovní adresář&lt;br&gt;- příznak výjimky&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3524"/>
+        <source>Save session</source>
+        <translation>Uložit relaci</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3527"/>
+        <source>Save the projects session file.</source>
+        <translation>Uložit soubor s relací projektu.</translation>
     </message>
     <message>
         <location filename="Project/Project.py" line="3528"/>
+        <source>&lt;b&gt;Save session&lt;/b&gt;&lt;p&gt;This saves the projects session file. The session consists of the following data.&lt;br&gt;- all open source files&lt;br&gt;- all breakpoint&lt;br&gt;- the commandline arguments&lt;br&gt;- the working directory&lt;br&gt;- the exception reporting flag&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Uložit relaci&lt;/b&gt;&lt;p&gt;Uloží soubor s relací projektu. Relace obsahuje následující údaje:&lt;br&gt;- všechny otevřené zdrojové soubory&lt;br&gt;- všechny breakpointy&lt;br&gt;- argumenty příkazové řádky &lt;br&gt;- pracovní adresář&lt;br&gt;- příznak výjimky&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3541"/>
+        <source>Delete session</source>
+        <translation>Smazat relaci</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3544"/>
+        <source>Delete the projects session file.</source>
+        <translation>Smaže soubor s relací projektu.</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3545"/>
+        <source>&lt;b&gt;Delete session&lt;/b&gt;&lt;p&gt;This deletes the projects session file&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Smazat relaci&lt;/b&gt;&lt;p&gt;Smaže soubor s relací projektu.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3554"/>
+        <source>Code Metrics</source>
+        <translation>Metriky kódu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3554"/>
+        <source>&amp;Code Metrics...</source>
+        <translation>Metriky &amp;kódu...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3557"/>
+        <source>Show some code metrics for the project.</source>
+        <translation>Zobrazit metriky kódu projektu.</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3559"/>
+        <source>&lt;b&gt;Code Metrics...&lt;/b&gt;&lt;p&gt;This shows some code metrics for all Python files in the project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Metriky kódu...&lt;/b&gt;&lt;p&gt;Zobrazí se metriky kódu všech python souborů v projektu.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3566"/>
+        <source>Python Code Coverage</source>
+        <translation>Pokrytí python kódu</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3566"/>
+        <source>Code Co&amp;verage...</source>
+        <translation>Pokr&amp;ytí kódu...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3569"/>
+        <source>Show code coverage information for the project.</source>
+        <translation>Zobrazit informace pokrytí kódu projektu.</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3571"/>
+        <source>&lt;b&gt;Code Coverage...&lt;/b&gt;&lt;p&gt;This shows the code coverage information for all Python files in the project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Pokrytí kódu...&lt;/b&gt;&lt;p&gt;Zobrazí informace o pokrytí kódu ve všech python souborech projektu.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="4260"/>
+        <source>Profile Data</source>
+        <translation>Profilovat data</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3579"/>
+        <source>&amp;Profile Data...</source>
+        <translation>&amp;Profilovat data...</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3582"/>
+        <source>Show profiling data for the project.</source>
+        <translation>Zobrazit profilování dat projektu.</translation>
+    </message>
+    <message>
+        <location filename="Project/Project.py" line="3584"/>
         <source>&lt;b&gt;Profile Data...&lt;/b&gt;&lt;p&gt;This shows the profiling data for the project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Profilovat data&lt;/b&gt;&lt;p&gt;Zobrazí se profilování dat projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4257"/>
+        <location filename="Project/Project.py" line="4313"/>
         <source>Application Diagram</source>
         <translation>Diagram aplikace</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3535"/>
+        <location filename="Project/Project.py" line="3591"/>
         <source>&amp;Application Diagram...</source>
         <translation>Diagram &amp;aplikace...</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3538"/>
+        <location filename="Project/Project.py" line="3594"/>
         <source>Show a diagram of the project.</source>
         <translation>Zobrazit diagram projektu.</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3540"/>
+        <location filename="Project/Project.py" line="3596"/>
         <source>&lt;b&gt;Application Diagram...&lt;/b&gt;&lt;p&gt;This shows a diagram of the project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Diagram aplikace...&lt;/b&gt;&lt;p&gt;Zobrazí diagram projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3616"/>
+        <location filename="Project/Project.py" line="3672"/>
         <source>&amp;Project</source>
         <translation>&amp;Projekt</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3617"/>
+        <location filename="Project/Project.py" line="3673"/>
         <source>Open &amp;Recent Projects</source>
         <translation>Otevřít poslední p&amp;rojekty</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3618"/>
+        <location filename="Project/Project.py" line="3674"/>
         <source>&amp;Version Control</source>
         <translation>Kontrola &amp;verzí</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3621"/>
+        <location filename="Project/Project.py" line="3677"/>
         <source>Chec&amp;k</source>
         <translation>Zkontro&amp;lovat</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3623"/>
+        <location filename="Project/Project.py" line="3679"/>
         <source>Sho&amp;w</source>
         <translation>Zo&amp;brazit</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3624"/>
+        <location filename="Project/Project.py" line="3680"/>
         <source>&amp;Diagrams</source>
         <translation>&amp;Diagramy</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3625"/>
+        <location filename="Project/Project.py" line="3681"/>
         <source>Session</source>
         <translation>Relace</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3626"/>
+        <location filename="Project/Project.py" line="3682"/>
         <source>Source &amp;Documentation</source>
         <translation>Zd&amp;rojová dokumentace</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3628"/>
+        <location filename="Project/Project.py" line="3684"/>
         <source>Debugger</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3629"/>
+        <location filename="Project/Project.py" line="3685"/>
         <source>Pac&amp;kagers</source>
         <translation>Balíč&amp;ky</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3737"/>
+        <location filename="Project/Project.py" line="3793"/>
         <source>Project</source>
         <translation>Projekt</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3797"/>
+        <location filename="Project/Project.py" line="3853"/>
         <source>&amp;Clear</source>
         <translation>&amp;Vyčistit</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3907"/>
+        <location filename="Project/Project.py" line="3963"/>
         <source>Search New Files</source>
         <translation>Hledat nové soubory</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3907"/>
+        <location filename="Project/Project.py" line="3963"/>
         <source>There were no new files found to be added.</source>
         <translation>Nebyly nalezeny žádné soubory, které je možné přidat.</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4045"/>
+        <location filename="Project/Project.py" line="4101"/>
         <source>Version Control System</source>
         <translation>Version Control System</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4137"/>
+        <location filename="Project/Project.py" line="4193"/>
         <source>Coverage Data</source>
         <translation>Datové pokrytí</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4183"/>
+        <location filename="Project/Project.py" line="4239"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>V aktuálním projektu nebyl určen hlavní skript. Zrušeno</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4158"/>
+        <location filename="Project/Project.py" line="4214"/>
         <source>Code Coverage</source>
         <translation>Pokrytí kódu</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4158"/>
+        <location filename="Project/Project.py" line="4214"/>
         <source>Please select a coverage file</source>
         <translation>Prosím, vyberte soubor pokrytí</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4204"/>
+        <location filename="Project/Project.py" line="4260"/>
         <source>Please select a profile file</source>
         <translation>Prosím, vyberte soubor s profilem</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4257"/>
+        <location filename="Project/Project.py" line="4313"/>
         <source>Include module names?</source>
         <translation>Včetně jmen modulů?</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4390"/>
+        <location filename="Project/Project.py" line="4446"/>
         <source>Create Package List</source>
         <translation>Vytvořit seznam balíčků</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3550"/>
+        <location filename="Project/Project.py" line="3606"/>
         <source>Create &amp;Package List</source>
         <translation>Vytvořit seznam &amp;balíčků</translation>
     </message>
@@ -21275,12 +21305,12 @@
         <translation type="obsolete">&lt;b&gt;Vytvořit seznam balíčků&lt;/b&gt;&lt;p&gt;Vytvoří počáteční seznam souborů pro vložení do eric4 plugin archivu. Seznam je vytvořen ze souboru projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4569"/>
+        <location filename="Project/Project.py" line="4625"/>
         <source>Create Plugin Archive</source>
         <translation>Vytvořit Plugin archiv</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3565"/>
+        <location filename="Project/Project.py" line="3621"/>
         <source>Create Plugin &amp;Archive</source>
         <translation>Vytvořit Plugin &amp;archiv</translation>
     </message>
@@ -21290,7 +21320,7 @@
         <translation type="obsolete">Vytvořit soubor eric4 plugin archivu.</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4364"/>
+        <location filename="Project/Project.py" line="4420"/>
         <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; already exists.&lt;/p&gt;&lt;p&gt;Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;PKGLIST&lt;/b&gt; již existuje.&lt;/p&gt;&lt;p&gt;Přepsat jej?&lt;/p&gt;</translation>
     </message>
@@ -21300,12 +21330,12 @@
         <translation type="obsolete">&lt;p&gt;Soubor &lt;b&gt;PKGLIST&lt;/b&gt; nelze vytvořit.&lt;/p&gt;&lt;p&gt;Důvod: %1&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4409"/>
+        <location filename="Project/Project.py" line="4465"/>
         <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; does not exist. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;PKGLIST&lt;/b&gt; neexistuje. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4419"/>
+        <location filename="Project/Project.py" line="4475"/>
         <source>The project does not have a main script defined. Aborting...</source>
         <translation>Projekt nemá definován hlavní skript. Zrušeno...</translation>
     </message>
@@ -21330,17 +21360,17 @@
         <translation type="obsolete">&lt;b&gt;Vytvořit Plugin archiv&lt;/b&gt;&lt;p&gt;Vytvoří soubor s eric4 plugin archivem za použití seznamu souborů daných v PKGLIST souboru. Jméno archivu je odvozeno ze jména hlavního skriptu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1758"/>
+        <location filename="Project/Project.py" line="1767"/>
         <source>&lt;p&gt;The source directory doesn&apos;t contain any files belonging to the selected category.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Zdrojový adresář neobsahuje žádné soubory související s danou kategorií.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2716"/>
+        <location filename="Project/Project.py" line="2730"/>
         <source>Select Version Control System</source>
         <translation>Vybrat Version Control System</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2398"/>
+        <location filename="Project/Project.py" line="2412"/>
         <source>None</source>
         <translation>None</translation>
     </message>
@@ -21360,12 +21390,12 @@
         <translation type="obsolete">&lt;p&gt;Soubor &lt;b&gt;%1&lt;/b&gt; nelze uložit do archivu. Ingorováno.&lt;/p&gt;&lt;p&gt;Důvod: %2&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3581"/>
+        <location filename="Project/Project.py" line="3637"/>
         <source>Create Plugin Archive (Snapshot)</source>
         <translation>Vytvořit archiv pluginů (snímek)</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3581"/>
+        <location filename="Project/Project.py" line="3637"/>
         <source>Create Plugin Archive (&amp;Snapshot)</source>
         <translation>Vytvořit archiv pluginů (&amp;snímek)</translation>
     </message>
@@ -21390,17 +21420,17 @@
         <translation type="obsolete">KDE 4</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1476"/>
+        <location filename="Project/Project.py" line="1485"/>
         <source>You have to specify a translation pattern first.</source>
         <translation>Nejdříve musíte specifikovat vzor překladu.</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2490"/>
+        <location filename="Project/Project.py" line="2504"/>
         <source>Translation Pattern</source>
         <translation>Vzor překladu</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2490"/>
+        <location filename="Project/Project.py" line="2504"/>
         <source>Enter the path pattern for translation files (use &apos;%language%&apos; in place of the language code):</source>
         <translation>Zadejte vzor cesty pro soubory s překlady (použijte  &apos;%language%&apos; na místě s kódem jazyka):</translation>
     </message>
@@ -21415,22 +21445,22 @@
         <translation type="obsolete">&lt;p&gt;Vybrané VCS &lt;b&gt;%1&lt;/b&gt; nebylo nalezeno.&lt;br/&gt;Kontrola verzí vypnuta.&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3376"/>
+        <location filename="Project/Project.py" line="3432"/>
         <source>Lexer Associations</source>
         <translation>Spojení lexeru</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3376"/>
+        <location filename="Project/Project.py" line="3432"/>
         <source>Lexer Associations...</source>
         <translation>Spojení lexeru...</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3379"/>
+        <location filename="Project/Project.py" line="3435"/>
         <source>Show the project lexer associations (overriding defaults)</source>
         <translation>Zobrazit spojení lexeru projektu (přepíše výchozí)</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3381"/>
+        <location filename="Project/Project.py" line="3437"/>
         <source>&lt;b&gt;Lexer Associations...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the lexer associations of the project. These associations override the global lexer associations. Lexers are used to highlight the editor text.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Spojení lexeru...&lt;/b&gt;&lt;p&gt;Zobrazuje dialog s editací spojení lexeru projektu. Tato spojení přepisují globální lexer spojení. Lexer je použit pro zvýraznění textu v editoru.&lt;/p&gt;</translation>
     </message>
@@ -21475,217 +21505,217 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="677"/>
+        <location filename="Project/Project.py" line="686"/>
         <source>&lt;p&gt;The project file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="580"/>
+        <location filename="Project/Project.py" line="581"/>
         <source>&lt;p&gt;The project file &lt;b&gt;{0}&lt;/b&gt; has an unsupported format.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="684"/>
+        <location filename="Project/Project.py" line="693"/>
         <source>&lt;p&gt;The project file &lt;b&gt;{0}&lt;/b&gt; has invalid contents.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="758"/>
+        <location filename="Project/Project.py" line="767"/>
         <source>&lt;p&gt;The project file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="799"/>
+        <location filename="Project/Project.py" line="808"/>
         <source>&lt;p&gt;The user specific project properties file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="827"/>
+        <location filename="Project/Project.py" line="836"/>
         <source>&lt;p&gt;The user specific project properties file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="932"/>
+        <location filename="Project/Project.py" line="941"/>
         <source>&lt;p&gt;The project session &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="886"/>
+        <location filename="Project/Project.py" line="895"/>
         <source>&lt;p&gt;The project session &lt;b&gt;{0}&lt;/b&gt; has an unsupported format.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="953"/>
+        <location filename="Project/Project.py" line="962"/>
         <source>&lt;p&gt;The project session file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1022"/>
+        <location filename="Project/Project.py" line="1031"/>
         <source>&lt;p&gt;The project session file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1046"/>
+        <location filename="Project/Project.py" line="1055"/>
         <source>&lt;p&gt;The project session file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1150"/>
+        <location filename="Project/Project.py" line="1159"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1098"/>
+        <location filename="Project/Project.py" line="1107"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; has an unsupported format.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1194"/>
+        <location filename="Project/Project.py" line="1203"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1310"/>
+        <location filename="Project/Project.py" line="1319"/>
         <source>&lt;p&gt;The project debugger properties file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1250"/>
+        <location filename="Project/Project.py" line="1259"/>
         <source>&lt;p&gt;The project debugger properties file &lt;b&gt;{0}&lt;/b&gt; has an unsupported format.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1367"/>
+        <location filename="Project/Project.py" line="1376"/>
         <source>&lt;p&gt;The project debugger properties file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1392"/>
+        <location filename="Project/Project.py" line="1401"/>
         <source>&lt;p&gt;The project debugger properties file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1583"/>
+        <location filename="Project/Project.py" line="1592"/>
         <source>&lt;p&gt;The selected translation file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1786"/>
+        <location filename="Project/Project.py" line="1795"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists.&lt;/p&gt;&lt;p&gt;Overwrite it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1982"/>
+        <location filename="Project/Project.py" line="1991"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1997"/>
+        <location filename="Project/Project.py" line="2006"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be renamed.&lt;br /&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2167"/>
+        <location filename="Project/Project.py" line="2176"/>
         <source>&lt;p&gt;The selected file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2190"/>
+        <location filename="Project/Project.py" line="2199"/>
         <source>&lt;p&gt;The selected directory &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2260"/>
+        <location filename="Project/Project.py" line="2274"/>
         <source>&lt;p&gt;The project directory &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2671"/>
+        <location filename="Project/Project.py" line="2685"/>
         <source>Project Files (*.e4p *.e4pz)</source>
         <translation type="unfinished">Soubory projektu (*.e4p *.e4pz)</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="2853"/>
+        <location filename="Project/Project.py" line="2867"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3554"/>
+        <location filename="Project/Project.py" line="3610"/>
         <source>Create an initial PKGLIST file for an eric5 plugin.</source>
         <translation type="unfinished">Vytvořit počáteční soubor PKGLIST pro eric4 plugin. {5 ?}</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3556"/>
+        <location filename="Project/Project.py" line="3612"/>
         <source>&lt;b&gt;Create Package List&lt;/b&gt;&lt;p&gt;This creates an initial list of files to include in an eric5 plugin archive. The list is created from the project file.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Vytvořit seznam balíčků&lt;/b&gt;&lt;p&gt;Vytvoří počáteční seznam souborů pro vložení do eric4 plugin archivu. Seznam je vytvořen ze souboru projektu.&lt;/p&gt; {5 ?}</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3569"/>
+        <location filename="Project/Project.py" line="3625"/>
         <source>Create an eric5 plugin archive file.</source>
         <translation type="unfinished">Vytvořit soubor eric4 plugin archivu. {5 ?}</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3571"/>
+        <location filename="Project/Project.py" line="3627"/>
         <source>&lt;b&gt;Create Plugin Archive&lt;/b&gt;&lt;p&gt;This creates an eric5 plugin archive file using the list of files given in the PKGLIST file. The archive name is built from the main script name.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Vytvořit Plugin archiv&lt;/b&gt;&lt;p&gt;Vytvoří soubor s eric4 plugin archivem za použití seznamu souborů daných v PKGLIST souboru. Jméno archivu je odvozeno ze jména hlavního skriptu.&lt;/p&gt; {5 ?}</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3585"/>
+        <location filename="Project/Project.py" line="3641"/>
         <source>Create an eric5 plugin archive file (snapshot release).</source>
         <translation type="unfinished">Vytvoří se soubor eric4 plugin archívu (snímek vydání). {5 ?}</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="3587"/>
+        <location filename="Project/Project.py" line="3643"/>
         <source>&lt;b&gt;Create Plugin Archive (Snapshot)&lt;/b&gt;&lt;p&gt;This creates an eric5 plugin archive file using the list of files given in the PKGLIST file. The archive name is built from the main script name. The version entry of the main script is modified to reflect a snapshot release.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Vytvořit Plugin archiv (Snímek)&lt;/b&gt;&lt;p&gt;Vytvoří soubor s eric4 plugin archivem za použití seznamu souborů daných v PKGLIST souboru. Údaj o verzi hlavního skriptu je změněn v souladu se snímkem vydání.&lt;/p&gt; {5 ?}</translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4036"/>
+        <location filename="Project/Project.py" line="4092"/>
         <source>&lt;p&gt;The selected VCS &lt;b&gt;{0}&lt;/b&gt; could not be found.&lt;br/&gt;Reverting override.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4045"/>
+        <location filename="Project/Project.py" line="4101"/>
         <source>&lt;p&gt;The selected VCS &lt;b&gt;{0}&lt;/b&gt; could not be found.&lt;br/&gt;Disabling version control.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4390"/>
+        <location filename="Project/Project.py" line="4446"/>
         <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4433"/>
+        <location filename="Project/Project.py" line="4489"/>
         <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4449"/>
+        <location filename="Project/Project.py" line="4505"/>
         <source>&lt;p&gt;The eric5 plugin archive file &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4471"/>
+        <location filename="Project/Project.py" line="4527"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be stored in the archive. Ignoring it.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4485"/>
+        <location filename="Project/Project.py" line="4541"/>
         <source>&lt;p&gt;The eric5 plugin archive file &lt;b&gt;{0}&lt;/b&gt; was created successfully.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="4569"/>
+        <location filename="Project/Project.py" line="4625"/>
         <source>&lt;p&gt;The plugin file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1716"/>
+        <location filename="Project/Project.py" line="1725"/>
         <source>&lt;p&gt;The selected file &lt;b&gt;{0}&lt;/b&gt; could not be added to &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {2}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Project/Project.py" line="1768"/>
+        <location filename="Project/Project.py" line="1777"/>
         <source>&lt;p&gt;The target directory &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -34705,42 +34735,42 @@
         <translation>Nastavení připojení...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="508"/>
+        <location filename="UI/UserInterface.py" line="524"/>
         <source>Initializing Tools...</source>
         <translation>Inicializace nástrojů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="517"/>
+        <location filename="UI/UserInterface.py" line="533"/>
         <source>Registering Objects...</source>
         <translation>Registrování objektů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="536"/>
+        <location filename="UI/UserInterface.py" line="553"/>
         <source>Initializing Actions...</source>
         <translation>Inicializace akcí...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="538"/>
+        <location filename="UI/UserInterface.py" line="555"/>
         <source>Initializing Menus...</source>
         <translation>Inicializace menu...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="540"/>
+        <location filename="UI/UserInterface.py" line="557"/>
         <source>Initializing Toolbars...</source>
         <translation>Inicializace nástrojových lišt...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="542"/>
+        <location filename="UI/UserInterface.py" line="559"/>
         <source>Initializing Statusbar...</source>
         <translation>Inicializace statusbaru...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="566"/>
+        <location filename="UI/UserInterface.py" line="583"/>
         <source>Initializing Single Application Server...</source>
         <translation>Inicializace jednouživatelského aplikačního serveru...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="633"/>
+        <location filename="UI/UserInterface.py" line="650"/>
         <source>Loading Style Sheet</source>
         <translation>Načtení kaskádového stylu</translation>
     </message>
@@ -34750,37 +34780,37 @@
         <translation type="obsolete">&lt;p&gt;Soubor &lt;b&gt;%1&lt;/b&gt; s Qt kaskádovým stylem nelze načíst.&lt;br&gt;Důvod: %2&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1327"/>
+        <location filename="UI/UserInterface.py" line="1344"/>
         <source>Project-Viewer</source>
         <translation>Prohlížeč projektu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1370"/>
+        <location filename="UI/UserInterface.py" line="1387"/>
         <source>Debug-Viewer</source>
         <translation>Prohlížeč debugeru</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1455"/>
+        <location filename="UI/UserInterface.py" line="1472"/>
         <source>Log-Viewer</source>
         <translation>Prohlížeč logu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1476"/>
+        <location filename="UI/UserInterface.py" line="1493"/>
         <source>Task-Viewer</source>
         <translation>Prohlížeč úloh</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1497"/>
+        <location filename="UI/UserInterface.py" line="1514"/>
         <source>Template-Viewer</source>
         <translation>Prohlížeč šablon</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1391"/>
+        <location filename="UI/UserInterface.py" line="1408"/>
         <source>Shell</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1433"/>
+        <location filename="UI/UserInterface.py" line="1450"/>
         <source>File-Browser</source>
         <translation>Browser souborů</translation>
     </message>
@@ -34800,283 +34830,283 @@
         <translation type="obsolete">%1 - %2 - %3 pasivní mód</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1279"/>
+        <location filename="UI/UserInterface.py" line="1296"/>
         <source>Quit</source>
         <translation>Konec</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1279"/>
+        <location filename="UI/UserInterface.py" line="1296"/>
         <source>&amp;Quit</source>
         <translation>&amp;Konec</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1279"/>
-        <source>Ctrl+Q</source>
-        <comment>File|Quit</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1284"/>
-        <source>Quit the IDE</source>
-        <translation>Ukončit IDE</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1285"/>
-        <source>&lt;b&gt;Quit the IDE&lt;/b&gt;&lt;p&gt;This quits the IDE. Any unsaved changes may be saved first. Any Python program being debugged will be stopped and the preferences will be written to disc.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Ukončit IDE&lt;/b&gt;&lt;p&gt;Ukončí se IDE. Nejdříve by se měly uložit neuložené změny. Python programy běžící v debug procesu budou ukončeny a nastavení budou uložena.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="UI/UserInterface.py" line="1296"/>
-        <source>Edit Profile</source>
-        <translation>Editační profil</translation>
+        <source>Ctrl+Q</source>
+        <comment>File|Quit</comment>
+        <translation></translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1301"/>
-        <source>Activate the edit view profile</source>
-        <translation>Aktivovat profil editace</translation>
+        <source>Quit the IDE</source>
+        <translation>Ukončit IDE</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1302"/>
-        <source>&lt;b&gt;Edit Profile&lt;/b&gt;&lt;p&gt;Activate the &quot;Edit View Profile&quot;. Windows being shown, if this profile is active, may be configured with the &quot;View Profile Configuration&quot; dialog.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Editační profil&lt;/b&gt;&lt;p&gt;Aktivování skupiny &apos;Editační profil&apos;. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu &apos;Konfigurace profilu pohledů&apos;.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1311"/>
-        <source>Debug Profile</source>
-        <translation>Debugovací profil</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1316"/>
-        <source>Activate the debug view profile</source>
-        <translation>Aktivovat debugovací profil</translation>
+        <source>&lt;b&gt;Quit the IDE&lt;/b&gt;&lt;p&gt;This quits the IDE. Any unsaved changes may be saved first. Any Python program being debugged will be stopped and the preferences will be written to disc.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Ukončit IDE&lt;/b&gt;&lt;p&gt;Ukončí se IDE. Nejdříve by se měly uložit neuložené změny. Python programy běžící v debug procesu budou ukončeny a nastavení budou uložena.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1313"/>
+        <source>Edit Profile</source>
+        <translation>Editační profil</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1318"/>
+        <source>Activate the edit view profile</source>
+        <translation>Aktivovat profil editace</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1319"/>
+        <source>&lt;b&gt;Edit Profile&lt;/b&gt;&lt;p&gt;Activate the &quot;Edit View Profile&quot;. Windows being shown, if this profile is active, may be configured with the &quot;View Profile Configuration&quot; dialog.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Editační profil&lt;/b&gt;&lt;p&gt;Aktivování skupiny &apos;Editační profil&apos;. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu &apos;Konfigurace profilu pohledů&apos;.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1328"/>
+        <source>Debug Profile</source>
+        <translation>Debugovací profil</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1333"/>
+        <source>Activate the debug view profile</source>
+        <translation>Aktivovat debugovací profil</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1335"/>
         <source>&lt;b&gt;Debug Profile&lt;/b&gt;&lt;p&gt;Activate the &quot;Debug View Profile&quot;. Windows being shown, if this profile is active, may be configured with the &quot;View Profile Configuration&quot; dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Debugovací profil&lt;/b&gt;&lt;p&gt;Aktivování skupiny &apos;Debugovací profil&apos;. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu &apos;Konfigurace profilu pohledů&apos;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1327"/>
+        <location filename="UI/UserInterface.py" line="1344"/>
         <source>&amp;Project-Viewer</source>
         <translation>Prohlížeč &amp;projektu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1329"/>
+        <location filename="UI/UserInterface.py" line="1346"/>
         <source>Toggle the Project-Viewer window</source>
         <translation>Přepnout okno Prohlížeč projektu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1330"/>
+        <location filename="UI/UserInterface.py" line="1347"/>
         <source>&lt;b&gt;Toggle the Project-Viewer window&lt;/b&gt;&lt;p&gt;If the Project-Viewer window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přepnout okno Prohlížeč projektu&lt;/b&gt;&lt;p&gt;Pokud bylo okno skryto, tak se zobrazí. Pokud se zobrazovalo, tak se skryje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1338"/>
+        <location filename="UI/UserInterface.py" line="1355"/>
         <source>Activate Project-Viewer</source>
         <translation>Aktivovat prohlížeč projektu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1338"/>
+        <location filename="UI/UserInterface.py" line="1355"/>
         <source>Alt+Shift+P</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1381"/>
+        <location filename="UI/UserInterface.py" line="1398"/>
         <source>Alt+Shift+D</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1391"/>
+        <location filename="UI/UserInterface.py" line="1408"/>
         <source>&amp;Shell</source>
         <translation>&amp;Shell</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1393"/>
+        <location filename="UI/UserInterface.py" line="1410"/>
         <source>Toggle the Shell window</source>
         <translation>Zobrazit/skrýt Shell okno</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1394"/>
+        <location filename="UI/UserInterface.py" line="1411"/>
         <source>&lt;b&gt;Toggle the Shell window&lt;/b&gt;&lt;p&gt;If the Shell window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zobrazit/skrýt Shell okno&lt;/b&gt;&lt;p&gt;Pokud je shell okno skryté zobrazí se. Pokud se okno zobrazuje, tak se skryje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1403"/>
+        <location filename="UI/UserInterface.py" line="1420"/>
         <source>Activate Shell</source>
         <translation>Aktivovat Shell</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1403"/>
+        <location filename="UI/UserInterface.py" line="1420"/>
         <source>Alt+Shift+S</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1433"/>
+        <location filename="UI/UserInterface.py" line="1450"/>
         <source>File-&amp;Browser</source>
         <translation>&amp;Browser souborů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1435"/>
+        <location filename="UI/UserInterface.py" line="1452"/>
         <source>Toggle the File-Browser window</source>
         <translation>Zobrazit/skrýt browser souborů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1436"/>
+        <location filename="UI/UserInterface.py" line="1453"/>
         <source>&lt;b&gt;Toggle the File-Browser window&lt;/b&gt;&lt;p&gt;If the File-Browser window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zobrazit/skrýt browser souborů&lt;/b&gt;&lt;p&gt;Pokud je okno skryté zobrazí se. Pokud se okno zobrazuje, tak se skryje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1445"/>
+        <location filename="UI/UserInterface.py" line="1462"/>
         <source>Activate File-Browser</source>
         <translation>Aktivovat Browser souborů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1445"/>
+        <location filename="UI/UserInterface.py" line="1462"/>
         <source>Alt+Shift+F</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1455"/>
+        <location filename="UI/UserInterface.py" line="1472"/>
         <source>&amp;Log-Viewer</source>
         <translation>&amp;Log prohlížeč</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1457"/>
+        <location filename="UI/UserInterface.py" line="1474"/>
         <source>Toggle the Log-Viewer window</source>
         <translation>Zobrazit/skrýt Log prohlížeč</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1458"/>
+        <location filename="UI/UserInterface.py" line="1475"/>
         <source>&lt;b&gt;Toggle the Log-Viewer window&lt;/b&gt;&lt;p&gt;If the Log-Viewer window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zobrazit/skrýt Log prohlížeč&lt;/b&gt;&lt;p&gt;Pokud je okno skryté zobrazí se. Pokud se okno zobrazuje, tak se skryje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1466"/>
+        <location filename="UI/UserInterface.py" line="1483"/>
         <source>Activate Log-Viewer</source>
         <translation>Aktivovat Log prohlížeč</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1466"/>
+        <location filename="UI/UserInterface.py" line="1483"/>
         <source>Alt+Shift+G</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1476"/>
+        <location filename="UI/UserInterface.py" line="1493"/>
         <source>T&amp;ask-Viewer</source>
         <translation>Pr&amp;ohlížeč úloh</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1478"/>
+        <location filename="UI/UserInterface.py" line="1495"/>
         <source>Toggle the Task-Viewer window</source>
         <translation>Zobrazit/skrýt prohlížeč úloh</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1479"/>
+        <location filename="UI/UserInterface.py" line="1496"/>
         <source>&lt;b&gt;Toggle the Task-Viewer window&lt;/b&gt;&lt;p&gt;If the Task-Viewer window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zobrazit/skrýt prohlížeč úloh&lt;/b&gt;&lt;p&gt;Pokud je okno skryté zobrazí se. Pokud se okno zobrazuje, tak se skryje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1487"/>
+        <location filename="UI/UserInterface.py" line="1504"/>
         <source>Activate Task-Viewer</source>
         <translation>Aktivovat prohlížeč úloh</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1487"/>
+        <location filename="UI/UserInterface.py" line="1504"/>
         <source>Alt+Shift+T</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1499"/>
+        <location filename="UI/UserInterface.py" line="1516"/>
         <source>Toggle the Template-Viewer window</source>
         <translation>Zobrazit/skrýt prohlížeč šablon</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1501"/>
+        <location filename="UI/UserInterface.py" line="1518"/>
         <source>&lt;b&gt;Toggle the Template-Viewer window&lt;/b&gt;&lt;p&gt;If the Template-Viewer window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zobrazit/skrýt prohlížeč šablon&lt;/b&gt;&lt;p&gt;Pokud je okno skryté zobrazí se. Pokud se okno zobrazuje, tak se skryje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1510"/>
+        <location filename="UI/UserInterface.py" line="1527"/>
         <source>Activate Template-Viewer</source>
         <translation>Aktivovat prohlížeč šablon</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1360"/>
+        <location filename="UI/UserInterface.py" line="1377"/>
         <source>Alt+Shift+M</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1590"/>
-        <source>What&apos;s This?</source>
-        <translation>Co je to?</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1590"/>
-        <source>&amp;What&apos;s This?</source>
-        <translation>&amp;Co je to?</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1590"/>
-        <source>Shift+F1</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1595"/>
-        <source>Context sensitive help</source>
-        <translation>Kontextově senzitivní nápověda</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1596"/>
-        <source>&lt;b&gt;Display context sensitive help&lt;/b&gt;&lt;p&gt;In What&apos;s This? mode, the mouse cursor shows an arrow with a question mark, and you can click on the interface elements to get a short description of what they do and how to use them. In dialogs, this feature can be accessed using the context help button in the titlebar.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Zobrazit kontextově senzitivní nápovědu&lt;/b&gt;&lt;p&gt;V režimu &quot;Co je to?&quot; se nad různými prvky aplikace u kurzoru zobrazí otazník. Když pak kliknete na tyto prvky, zobrazí se krátký popis co daný prvek znamená a jak jej použít. V dialogových oknech se tato funkce spustí tlačítkem kontextové nápovědy na horní liště.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="UI/UserInterface.py" line="1607"/>
-        <source>Helpviewer</source>
-        <translation>Prohlížeč nápovědy</translation>
+        <source>What&apos;s This?</source>
+        <translation>Co je to?</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1607"/>
-        <source>&amp;Helpviewer...</source>
-        <translation>Pro&amp;hlížeč nápovědy...</translation>
+        <source>&amp;What&apos;s This?</source>
+        <translation>&amp;Co je to?</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1607"/>
-        <source>F1</source>
+        <source>Shift+F1</source>
         <translation></translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1612"/>
+        <source>Context sensitive help</source>
+        <translation>Kontextově senzitivní nápověda</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1613"/>
+        <source>&lt;b&gt;Display context sensitive help&lt;/b&gt;&lt;p&gt;In What&apos;s This? mode, the mouse cursor shows an arrow with a question mark, and you can click on the interface elements to get a short description of what they do and how to use them. In dialogs, this feature can be accessed using the context help button in the titlebar.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Zobrazit kontextově senzitivní nápovědu&lt;/b&gt;&lt;p&gt;V režimu &quot;Co je to?&quot; se nad různými prvky aplikace u kurzoru zobrazí otazník. Když pak kliknete na tyto prvky, zobrazí se krátký popis co daný prvek znamená a jak jej použít. V dialogových oknech se tato funkce spustí tlačítkem kontextové nápovědy na horní liště.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1624"/>
+        <source>Helpviewer</source>
+        <translation>Prohlížeč nápovědy</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1624"/>
+        <source>&amp;Helpviewer...</source>
+        <translation>Pro&amp;hlížeč nápovědy...</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1624"/>
+        <source>F1</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1629"/>
         <source>Open the helpviewer window</source>
         <translation>Otevřít okno prohlížeče nápovědy</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1630"/>
+        <location filename="UI/UserInterface.py" line="1647"/>
         <source>Show Versions</source>
         <translation>Zobrazit verze</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1630"/>
+        <location filename="UI/UserInterface.py" line="1647"/>
         <source>Show &amp;Versions</source>
         <translation>Zobrazit &amp;verze</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1632"/>
+        <location filename="UI/UserInterface.py" line="1649"/>
         <source>Display version information</source>
         <translation>Zobrazit informace o verzích</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1633"/>
+        <location filename="UI/UserInterface.py" line="1650"/>
         <source>&lt;b&gt;Show Versions&lt;/b&gt;&lt;p&gt;Display version information.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zobrazit verze&lt;/b&gt;&lt;p&gt;Zobrazí informace o verzích.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1642"/>
+        <location filename="UI/UserInterface.py" line="1659"/>
         <source>Check for Updates</source>
         <translation>Zjistit aktualizace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1640"/>
+        <location filename="UI/UserInterface.py" line="1657"/>
         <source>Check for &amp;Updates...</source>
         <translation>Zjistit akt&amp;ualizace...</translation>
     </message>
@@ -35086,422 +35116,422 @@
         <translation type="obsolete">&lt;b&gt;Zjistit aktualizace&lt;/b&gt;&lt;p&gt;Zkontroluje přes internet jestli existují nějaké aktualizace Eric4.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2696"/>
+        <location filename="UI/UserInterface.py" line="2713"/>
         <source>Report Bug</source>
         <translation>Reportovat Bugy</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1664"/>
+        <location filename="UI/UserInterface.py" line="1681"/>
         <source>Report &amp;Bug...</source>
         <translation>Reportovat &amp;Bugy...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1666"/>
+        <location filename="UI/UserInterface.py" line="1683"/>
         <source>Report a bug</source>
         <translation>Reportovat bug</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1667"/>
+        <location filename="UI/UserInterface.py" line="1684"/>
         <source>&lt;b&gt;Report Bug...&lt;/b&gt;&lt;p&gt;Opens a dialog to report a bug.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Reportovat bug...&lt;/b&gt;&lt;p&gt;Otevře se dialog pro reportování bugu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2353"/>
+        <location filename="UI/UserInterface.py" line="2370"/>
         <source>Unittest</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1686"/>
-        <source>&amp;Unittest...</source>
-        <translation>&amp;Unittest...</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1690"/>
-        <source>Start unittest dialog</source>
-        <translation>Otevřít dialog unittestu</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1691"/>
-        <source>&lt;b&gt;Unittest&lt;/b&gt;&lt;p&gt;Perform unit tests. The dialog gives you the ability to select and run a unittest suite.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Unittest&lt;/b&gt;&lt;p&gt;Provést unittesty. V dialogovém okně se nastaví který test se má provést.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1699"/>
-        <source>Unittest Restart</source>
-        <translation>Restart unittestu</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1699"/>
-        <source>&amp;Restart Unittest...</source>
-        <translation>&amp;Restart unittestu...</translation>
-    </message>
-    <message>
         <location filename="UI/UserInterface.py" line="1703"/>
-        <source>Restart last unittest</source>
-        <translation>Restart posledního unittestu</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1704"/>
-        <source>&lt;b&gt;Restart Unittest&lt;/b&gt;&lt;p&gt;Restart the unittest performed last.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Restart unittestu&lt;/b&gt;&lt;p&gt;Restartuje se poslední provedený unittest.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1712"/>
-        <source>Unittest Script</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1712"/>
-        <source>Unittest &amp;Script...</source>
-        <translation>Unittest &amp;Script...</translation>
+        <source>&amp;Unittest...</source>
+        <translation>&amp;Unittest...</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1707"/>
+        <source>Start unittest dialog</source>
+        <translation>Otevřít dialog unittestu</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1708"/>
+        <source>&lt;b&gt;Unittest&lt;/b&gt;&lt;p&gt;Perform unit tests. The dialog gives you the ability to select and run a unittest suite.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Unittest&lt;/b&gt;&lt;p&gt;Provést unittesty. V dialogovém okně se nastaví který test se má provést.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1716"/>
+        <source>Unittest Restart</source>
+        <translation>Restart unittestu</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1716"/>
-        <source>Run unittest with current script</source>
-        <translation>Spustit unittest s aktuálním skriptem</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1717"/>
-        <source>&lt;b&gt;Unittest Script&lt;/b&gt;&lt;p&gt;Run unittest with current script.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Unittest Script&lt;/b&gt;&lt;p&gt;Spustit unittest s aktuálním skriptem.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="3841"/>
-        <source>Unittest Project</source>
-        <translation>Unittest Projekt</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1725"/>
-        <source>Unittest &amp;Project...</source>
-        <translation>Unittest &amp;Projekt...</translation>
+        <source>&amp;Restart Unittest...</source>
+        <translation>&amp;Restart unittestu...</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1720"/>
+        <source>Restart last unittest</source>
+        <translation>Restart posledního unittestu</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1721"/>
+        <source>&lt;b&gt;Restart Unittest&lt;/b&gt;&lt;p&gt;Restart the unittest performed last.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Restart unittestu&lt;/b&gt;&lt;p&gt;Restartuje se poslední provedený unittest.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1729"/>
+        <source>Unittest Script</source>
+        <translation></translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1729"/>
-        <source>Run unittest with current project</source>
-        <translation>Spustit unittest s aktuálním projektem</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1730"/>
-        <source>&lt;b&gt;Unittest Project&lt;/b&gt;&lt;p&gt;Run unittest with current project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Unittest projekt&lt;/b&gt;&lt;p&gt;Spustit unittest s aktuálním projektem.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1743"/>
-        <source>Qt-Designer 4</source>
-        <translation></translation>
+        <source>Unittest &amp;Script...</source>
+        <translation>Unittest &amp;Script...</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1733"/>
+        <source>Run unittest with current script</source>
+        <translation>Spustit unittest s aktuálním skriptem</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1734"/>
+        <source>&lt;b&gt;Unittest Script&lt;/b&gt;&lt;p&gt;Run unittest with current script.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Unittest Script&lt;/b&gt;&lt;p&gt;Spustit unittest s aktuálním skriptem.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="3858"/>
+        <source>Unittest Project</source>
+        <translation>Unittest Projekt</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1742"/>
+        <source>Unittest &amp;Project...</source>
+        <translation>Unittest &amp;Projekt...</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1746"/>
-        <source>Start Qt-Designer 4</source>
-        <translation>Spustit Qt-Designer 4</translation>
+        <source>Run unittest with current project</source>
+        <translation>Spustit unittest s aktuálním projektem</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1747"/>
-        <source>&lt;b&gt;Qt-Designer 4&lt;/b&gt;&lt;p&gt;Start Qt-Designer 4.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Qt-Designer 4&lt;/b&gt;&lt;p&gt;Spustit Qt-Designer 4.&lt;/p&gt;</translation>
+        <source>&lt;b&gt;Unittest Project&lt;/b&gt;&lt;p&gt;Run unittest with current project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Unittest projekt&lt;/b&gt;&lt;p&gt;Spustit unittest s aktuálním projektem.&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1760"/>
-        <source>Qt-Linguist 4</source>
+        <source>Qt-Designer 4</source>
         <translation></translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1763"/>
-        <source>Start Qt-Linguist 4</source>
-        <translation>Spustit Qt-Linguist 4</translation>
+        <source>Start Qt-Designer 4</source>
+        <translation>Spustit Qt-Designer 4</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1764"/>
-        <source>&lt;b&gt;Qt-Linguist 4&lt;/b&gt;&lt;p&gt;Start Qt-Linguist 4.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Qt-Linguist 4&lt;/b&gt;&lt;p&gt;Spustit Qt-Linguist 4.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1773"/>
-        <source>UI Previewer</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1773"/>
-        <source>&amp;UI Previewer...</source>
-        <translation>&amp;UI Previewer...</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1776"/>
-        <source>Start the UI Previewer</source>
-        <translation>Spustit UI Previewer</translation>
+        <source>&lt;b&gt;Qt-Designer 4&lt;/b&gt;&lt;p&gt;Start Qt-Designer 4.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Qt-Designer 4&lt;/b&gt;&lt;p&gt;Spustit Qt-Designer 4.&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1777"/>
+        <source>Qt-Linguist 4</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1780"/>
+        <source>Start Qt-Linguist 4</source>
+        <translation>Spustit Qt-Linguist 4</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1781"/>
+        <source>&lt;b&gt;Qt-Linguist 4&lt;/b&gt;&lt;p&gt;Start Qt-Linguist 4.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Qt-Linguist 4&lt;/b&gt;&lt;p&gt;Spustit Qt-Linguist 4.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1790"/>
+        <source>UI Previewer</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1790"/>
+        <source>&amp;UI Previewer...</source>
+        <translation>&amp;UI Previewer...</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1793"/>
+        <source>Start the UI Previewer</source>
+        <translation>Spustit UI Previewer</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1794"/>
         <source>&lt;b&gt;UI Previewer&lt;/b&gt;&lt;p&gt;Start the UI Previewer.&lt;/p&gt;</source>
         <translation>&lt;b&gt;UI Previewer&lt;/b&gt;&lt;p&gt;Spustit UI Previewer.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1784"/>
+        <location filename="UI/UserInterface.py" line="1801"/>
         <source>Translations Previewer</source>
         <translation>Náhled překladů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1784"/>
+        <location filename="UI/UserInterface.py" line="1801"/>
         <source>&amp;Translations Previewer...</source>
         <translation>Náhled &amp;překladů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1787"/>
+        <location filename="UI/UserInterface.py" line="1804"/>
         <source>Start the Translations Previewer</source>
         <translation>Spustit Previewer překladů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1788"/>
+        <location filename="UI/UserInterface.py" line="1805"/>
         <source>&lt;b&gt;Translations Previewer&lt;/b&gt;&lt;p&gt;Start the Translations Previewer.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Previewer překladů&lt;/b&gt;&lt;p&gt;Spustit Previewer překladů.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1795"/>
+        <location filename="UI/UserInterface.py" line="1812"/>
         <source>Compare Files</source>
         <translation>Porovnat soubory</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1795"/>
+        <location filename="UI/UserInterface.py" line="1812"/>
         <source>&amp;Compare Files...</source>
         <translation>&amp;Porovnat soubory...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1810"/>
+        <location filename="UI/UserInterface.py" line="1827"/>
         <source>Compare two files</source>
         <translation>Porovnat dva soubory</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1799"/>
+        <location filename="UI/UserInterface.py" line="1816"/>
         <source>&lt;b&gt;Compare Files&lt;/b&gt;&lt;p&gt;Open a dialog to compare two files.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Porovnat soubory&lt;/b&gt;&lt;p&gt;Otevře dialog pro porovnání dvou souborů.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1806"/>
+        <location filename="UI/UserInterface.py" line="1823"/>
         <source>Compare Files side by side</source>
         <translation>Porovnat soubory stranu proti straně</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1806"/>
+        <location filename="UI/UserInterface.py" line="1823"/>
         <source>Compare Files &amp;side by side...</source>
         <translation>Porovnat soubory &amp;stranu proti straně...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1811"/>
+        <location filename="UI/UserInterface.py" line="1828"/>
         <source>&lt;b&gt;Compare Files side by side&lt;/b&gt;&lt;p&gt;Open a dialog to compare two files and show the result side by side.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Porovnat soubory stranu proti straně&lt;/b&gt;&lt;p&gt;Otevře dialog pro porovnání souborů a zobrazení rozdílů strany proti straně.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1867"/>
+        <location filename="UI/UserInterface.py" line="1884"/>
         <source>Preferences</source>
         <translation>Nastavení</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1867"/>
+        <location filename="UI/UserInterface.py" line="1884"/>
         <source>&amp;Preferences...</source>
         <translation>Na&amp;stavení...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1870"/>
+        <location filename="UI/UserInterface.py" line="1887"/>
         <source>Set the prefered configuration</source>
         <translation>Nastavení konfigurace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1871"/>
+        <location filename="UI/UserInterface.py" line="1888"/>
         <source>&lt;b&gt;Preferences&lt;/b&gt;&lt;p&gt;Set the configuration items of the application with your prefered values.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Nastavení&lt;/b&gt;&lt;p&gt;Upravit konfiguraci aplikace podle požadavků uživatele.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1902"/>
+        <location filename="UI/UserInterface.py" line="1919"/>
         <source>Reload APIs</source>
         <translation>Obnovit API</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1902"/>
+        <location filename="UI/UserInterface.py" line="1919"/>
         <source>Reload &amp;APIs</source>
         <translation>Obnovit &amp;API</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1915"/>
+        <location filename="UI/UserInterface.py" line="1932"/>
         <source>Reload the API information</source>
         <translation>Obnovit API nastavení</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1905"/>
+        <location filename="UI/UserInterface.py" line="1922"/>
         <source>&lt;b&gt;Reload APIs&lt;/b&gt;&lt;p&gt;Reload the API information.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Obnovit API&lt;/b&gt;&lt;p&gt;Obnovit API nastavení.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1925"/>
+        <location filename="UI/UserInterface.py" line="1942"/>
         <source>View Profiles</source>
         <translation>Profily pohledů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1925"/>
+        <location filename="UI/UserInterface.py" line="1942"/>
         <source>&amp;View Profiles...</source>
         <translation>Profily &amp;pohledů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1928"/>
+        <location filename="UI/UserInterface.py" line="1945"/>
         <source>Configure view profiles</source>
         <translation>Konfigurace profilů pohledů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1929"/>
+        <location filename="UI/UserInterface.py" line="1946"/>
         <source>&lt;b&gt;View Profiles&lt;/b&gt;&lt;p&gt;Configure the view profiles. With this dialog you may set the visibility of the various windows for the predetermined view profiles.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Profily pohledů&lt;/b&gt;&lt;p&gt;Konfigurace profilu pohledů. V tomto dialogu můžete nastavit zobrazování různých typů pohledů - editačních oken.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1952"/>
-        <source>Keyboard Shortcuts</source>
-        <translation>Klávesové zkratky</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1952"/>
-        <source>Keyboard &amp;Shortcuts...</source>
-        <translation>Klávesové &amp;zkratky...</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1955"/>
-        <source>Set the keyboard shortcuts</source>
-        <translation>Nastavení klávesových zkratek</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1956"/>
-        <source>&lt;b&gt;Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Set the keyboard shortcuts of the application with your prefered values.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Klávesové zkratky&lt;/b&gt;&lt;p&gt;Nastavení klávesových zkratek aplikace podle zvyklostí uživatele.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="4799"/>
-        <source>Export Keyboard Shortcuts</source>
-        <translation>Exportovat klávesové zkratky</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1964"/>
-        <source>&amp;Export Keyboard Shortcuts...</source>
-        <translation>&amp;Exportovat klávesové zkratky...</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1968"/>
-        <source>Export the keyboard shortcuts</source>
-        <translation>Export klávesových zkratek</translation>
-    </message>
-    <message>
         <location filename="UI/UserInterface.py" line="1969"/>
-        <source>&lt;b&gt;Export Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Export the keyboard shortcuts of the application.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Export klávesových zkratek&lt;/b&gt;&lt;p&gt;Exportují se klávesové zkratky z aplikace.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="4808"/>
-        <source>Import Keyboard Shortcuts</source>
-        <translation>Import klávesových zkratek</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="1977"/>
-        <source>&amp;Import Keyboard Shortcuts...</source>
-        <translation>&amp;Import klávesových zkratek...</translation>
+        <source>Keyboard Shortcuts</source>
+        <translation>Klávesové zkratky</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1969"/>
+        <source>Keyboard &amp;Shortcuts...</source>
+        <translation>Klávesové &amp;zkratky...</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1972"/>
+        <source>Set the keyboard shortcuts</source>
+        <translation>Nastavení klávesových zkratek</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1973"/>
+        <source>&lt;b&gt;Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Set the keyboard shortcuts of the application with your prefered values.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Klávesové zkratky&lt;/b&gt;&lt;p&gt;Nastavení klávesových zkratek aplikace podle zvyklostí uživatele.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="4816"/>
+        <source>Export Keyboard Shortcuts</source>
+        <translation>Exportovat klávesové zkratky</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="1981"/>
+        <source>&amp;Export Keyboard Shortcuts...</source>
+        <translation>&amp;Exportovat klávesové zkratky...</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1985"/>
+        <source>Export the keyboard shortcuts</source>
+        <translation>Export klávesových zkratek</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1986"/>
+        <source>&lt;b&gt;Export Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Export the keyboard shortcuts of the application.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Export klávesových zkratek&lt;/b&gt;&lt;p&gt;Exportují se klávesové zkratky z aplikace.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="4825"/>
+        <source>Import Keyboard Shortcuts</source>
+        <translation>Import klávesových zkratek</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1994"/>
+        <source>&amp;Import Keyboard Shortcuts...</source>
+        <translation>&amp;Import klávesových zkratek...</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1998"/>
         <source>Import the keyboard shortcuts</source>
         <translation>Import klávesových zkratek</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1982"/>
+        <location filename="UI/UserInterface.py" line="1999"/>
         <source>&lt;b&gt;Import Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Import the keyboard shortcuts of the application.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Import klávesových zkratek&lt;/b&gt;&lt;p&gt;Do aplikace se importují klávesové zkratky.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1990"/>
+        <location filename="UI/UserInterface.py" line="2007"/>
         <source>Activate current editor</source>
         <translation>Aktivovat aktuální editor</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1990"/>
+        <location filename="UI/UserInterface.py" line="2007"/>
         <source>Alt+Shift+E</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2000"/>
+        <location filename="UI/UserInterface.py" line="2017"/>
         <source>Ctrl+Alt+Tab</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2008"/>
+        <location filename="UI/UserInterface.py" line="2025"/>
         <source>Shift+Ctrl+Alt+Tab</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2089"/>
+        <location filename="UI/UserInterface.py" line="2106"/>
         <source>Qt4 Documentation</source>
         <translation>Qt4 dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2089"/>
+        <location filename="UI/UserInterface.py" line="2106"/>
         <source>Qt&amp;4 Documentation</source>
         <translation>Qt&amp;4 dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2091"/>
+        <location filename="UI/UserInterface.py" line="2108"/>
         <source>Open Qt4 Documentation</source>
         <translation>Otevřít Qt4 dokumentaci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2092"/>
+        <location filename="UI/UserInterface.py" line="2109"/>
         <source>&lt;b&gt;Qt4 Documentation&lt;/b&gt;&lt;p&gt;Display the Qt4 Documentation. Dependant upon your settings, this will either show the help in Eric&apos;s internal help viewer, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation>&lt;b&gt;Qt4 dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit Qt4 dokumentaci. V závislosti na vašich nastaveních zobrazí interní Eric prohlížeč nápovědy nebo spustí webový prohlížeč nebo Qt Assistant.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2101"/>
+        <location filename="UI/UserInterface.py" line="2118"/>
         <source>PyQt4 Documentation</source>
         <translation>PyQt4 dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2101"/>
+        <location filename="UI/UserInterface.py" line="2118"/>
         <source>P&amp;yQt4 Documentation</source>
         <translation>P&amp;yQt4 dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2103"/>
-        <source>Open PyQt4 Documentation</source>
-        <translation>Otevřít PyQt4 dokumentaci</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2104"/>
-        <source>&lt;b&gt;PyQt4 Documentation&lt;/b&gt;&lt;p&gt;Display the PyQt4 Documentation. Dependant upon your settings, this will either show the help in Eric&apos;s internal help viewer, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
-        <translation>&lt;b&gt;PyQt4 dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit PyQt4 dokumentaci. V závislosti na vašich nastaveních zobrazí interní Eric prohlížeč nápovědy nebo spustí webový prohlížeč nebo Qt Assistant.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2117"/>
-        <source>Python Documentation</source>
-        <translation>Python dokumentace</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2117"/>
-        <source>&amp;Python Documentation</source>
-        <translation>&amp;Python dokumentace</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2119"/>
-        <source>Open Python Documentation</source>
-        <translation>Otevřít Python dokumentaci</translation>
-    </message>
-    <message>
         <location filename="UI/UserInterface.py" line="2120"/>
-        <source>&lt;b&gt;Python Documentation&lt;/b&gt;&lt;p&gt;Display the python documentation. If no documentation directory is configured, the location of the python documentation is assumed to be the doc directory underneath the location of the python executable on Windows and &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt; on Unix. Set PYTHONDOCDIR in your environment to override this. &lt;/p&gt;</source>
-        <translation>&lt;b&gt;Python dokumentace&lt;/b&gt;&lt;p&gt;Zobrazí python dokumentaci. Pokud není adresář dokumentace nastaven, tak ve Windows se dokumentace hledá v adresáři odkud se python spouští a na Unixu v doc adresáři &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt;. Pokud chcete jiný, nastavte si proměnnou prostředí PYTHONDOCDIR.&lt;/p&gt;</translation>
+        <source>Open PyQt4 Documentation</source>
+        <translation>Otevřít PyQt4 dokumentaci</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2121"/>
+        <source>&lt;b&gt;PyQt4 Documentation&lt;/b&gt;&lt;p&gt;Display the PyQt4 Documentation. Dependant upon your settings, this will either show the help in Eric&apos;s internal help viewer, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
+        <translation>&lt;b&gt;PyQt4 dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit PyQt4 dokumentaci. V závislosti na vašich nastaveních zobrazí interní Eric prohlížeč nápovědy nebo spustí webový prohlížeč nebo Qt Assistant.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2134"/>
+        <source>Python Documentation</source>
+        <translation>Python dokumentace</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2134"/>
+        <source>&amp;Python Documentation</source>
+        <translation>&amp;Python dokumentace</translation>
     </message>
     <message>
         <location filename="UI/UserInterface.py" line="2136"/>
+        <source>Open Python Documentation</source>
+        <translation>Otevřít Python dokumentaci</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2137"/>
+        <source>&lt;b&gt;Python Documentation&lt;/b&gt;&lt;p&gt;Display the python documentation. If no documentation directory is configured, the location of the python documentation is assumed to be the doc directory underneath the location of the python executable on Windows and &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt; on Unix. Set PYTHONDOCDIR in your environment to override this. &lt;/p&gt;</source>
+        <translation>&lt;b&gt;Python dokumentace&lt;/b&gt;&lt;p&gt;Zobrazí python dokumentaci. Pokud není adresář dokumentace nastaven, tak ve Windows se dokumentace hledá v adresáři odkud se python spouští a na Unixu v doc adresáři &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt;. Pokud chcete jiný, nastavte si proměnnou prostředí PYTHONDOCDIR.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2153"/>
         <source>Eric API Documentation</source>
         <translation>Eric API dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2136"/>
+        <location filename="UI/UserInterface.py" line="2153"/>
         <source>&amp;Eric API Documentation</source>
         <translation>&amp;Eric API dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2138"/>
+        <location filename="UI/UserInterface.py" line="2155"/>
         <source>Open Eric API Documentation</source>
         <translation>Otevřít Eric API dokumentaci</translation>
     </message>
@@ -35511,102 +35541,102 @@
         <translation type="obsolete">&lt;b&gt;Eric API dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit Eric API dokumentaci. Umístění dokumentace je v podadresáři Documentation/Source v instalačním adresáři eric4.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2192"/>
+        <location filename="UI/UserInterface.py" line="2209"/>
         <source>&amp;Unittest</source>
         <translation>&amp;Unittest</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2207"/>
+        <location filename="UI/UserInterface.py" line="2224"/>
         <source>E&amp;xtras</source>
         <translation>E&amp;xtra funkce</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2221"/>
+        <location filename="UI/UserInterface.py" line="2238"/>
         <source>&amp;Tools</source>
         <translation>&amp;Nástroje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2226"/>
+        <location filename="UI/UserInterface.py" line="2243"/>
         <source>Select Tool Group</source>
         <translation>Vybrat skupinu nástrojů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2234"/>
+        <location filename="UI/UserInterface.py" line="2251"/>
         <source>Se&amp;ttings</source>
         <translation>Nas&amp;tavení</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2252"/>
+        <location filename="UI/UserInterface.py" line="2269"/>
         <source>&amp;Window</source>
         <translation>O&amp;kno</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2259"/>
+        <location filename="UI/UserInterface.py" line="2276"/>
         <source>&amp;Toolbars</source>
         <translation>&amp;Toolbary</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2286"/>
+        <location filename="UI/UserInterface.py" line="2303"/>
         <source>&amp;Help</source>
         <translation>&amp;Nápověda</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2352"/>
+        <location filename="UI/UserInterface.py" line="2369"/>
         <source>Tools</source>
         <translation>Nástroje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2354"/>
+        <location filename="UI/UserInterface.py" line="2371"/>
         <source>Settings</source>
         <translation>Nastavení</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4057"/>
+        <location filename="UI/UserInterface.py" line="4074"/>
         <source>Help</source>
         <translation>Nápověda</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2356"/>
+        <location filename="UI/UserInterface.py" line="2373"/>
         <source>Profiles</source>
         <translation>Profily</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2651"/>
+        <location filename="UI/UserInterface.py" line="2668"/>
         <source>&lt;h3&gt;Version Numbers&lt;/h3&gt;&lt;table&gt;</source>
         <translation>&lt;h3&gt;Čísla verzí&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5522"/>
+        <location filename="UI/UserInterface.py" line="5539"/>
         <source>&lt;/table&gt;</source>
         <translation>&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2696"/>
+        <location filename="UI/UserInterface.py" line="2713"/>
         <source>Email address or mail server address is empty. Please configure your Email settings in the Preferences Dialog.</source>
         <translation>Emailová adresa nebo mail server adresa jsou prázdné. Prosím, nastavte váš email v dialogovém okně Nastavení.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2988"/>
+        <location filename="UI/UserInterface.py" line="3005"/>
         <source>Configure Tool Groups ...</source>
         <translation>Konfigurace Skupin nástrojů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2991"/>
+        <location filename="UI/UserInterface.py" line="3008"/>
         <source>Configure current Tool Group ...</source>
         <translation>Konfigurace aktuální skupiny nástrojů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3039"/>
+        <location filename="UI/UserInterface.py" line="3056"/>
         <source>&amp;Builtin Tools</source>
         <translation>&amp;Vestavěné nástroje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3841"/>
+        <location filename="UI/UserInterface.py" line="3858"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>V aktuálním projektu není definován hlavní skript. Zrušeno</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4165"/>
+        <location filename="UI/UserInterface.py" line="4182"/>
         <source>Problem</source>
         <translation>Problém</translation>
     </message>
@@ -35616,7 +35646,7 @@
         <translation type="obsolete">&lt;p&gt;Soubor &lt;b&gt;%1&lt;/b&gt; neexistuje nebo má nulovou délku.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4301"/>
+        <location filename="UI/UserInterface.py" line="4318"/>
         <source>Process Generation Error</source>
         <translation>Chyba v procesu generování</translation>
     </message>
@@ -35636,17 +35666,17 @@
         <translation type="obsolete">&lt;p&gt;Nemohu spustit Qt-Assistant.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;%1&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4045"/>
+        <location filename="UI/UserInterface.py" line="4062"/>
         <source>Open Browser</source>
         <translation>Otevřít browser</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4045"/>
+        <location filename="UI/UserInterface.py" line="4062"/>
         <source>Could not start a web browser</source>
         <translation>Nemohu spustit web browser</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4057"/>
+        <location filename="UI/UserInterface.py" line="4074"/>
         <source>Currently no custom viewer is selected. Please use the preferences dialog to specify one.</source>
         <translation>Aktuálně není vybrán žádný prohlížeč. Prosím otevřete Nastavení a nějaký vyberte.</translation>
     </message>
@@ -35656,7 +35686,7 @@
         <translation type="obsolete">&lt;p&gt;Nemohu spustit aktuální prohlížeč.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;%1&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4088"/>
+        <location filename="UI/UserInterface.py" line="4105"/>
         <source>&lt;p&gt;Could not start the help viewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;hh&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nemohu spustit prohlížeč nápovědy.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;hh&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
@@ -35688,7 +35718,7 @@
         <translation type="obsolete">Proces &apos;%1&apos; byl ukončen.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4585"/>
+        <location filename="UI/UserInterface.py" line="4602"/>
         <source>Documentation Missing</source>
         <translation>Dokumentace chybí</translation>
     </message>
@@ -35698,12 +35728,12 @@
         <translation type="obsolete">&lt;p&gt;Adresář dokumentace &quot;&lt;b&gt;%1&lt;/b&gt;&quot; nebylo nalezen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4570"/>
+        <location filename="UI/UserInterface.py" line="4587"/>
         <source>Documentation</source>
         <translation>Dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4485"/>
+        <location filename="UI/UserInterface.py" line="4502"/>
         <source>&lt;p&gt;The PyQt4 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Adresář PyQt4 dokumentace není nakonfigurován.&lt;/p&gt;</translation>
     </message>
@@ -35723,7 +35753,7 @@
         <translation type="obsolete">Soubor eric4 klávesových zkratek (*.e4k *.e4kz);;Soubor eric3 klávesových zkratek (*.e3k *.e3kz)</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4932"/>
+        <location filename="UI/UserInterface.py" line="4949"/>
         <source>Save tasks</source>
         <translation>Uložit úlohy</translation>
     </message>
@@ -35733,7 +35763,7 @@
         <translation type="obsolete">&lt;p&gt;Soubor s úlohami &lt;b&gt;%1&lt;/b&gt; nelze uložit.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4989"/>
+        <location filename="UI/UserInterface.py" line="5006"/>
         <source>Read tasks</source>
         <translation>Načíst úlohy</translation>
     </message>
@@ -35748,7 +35778,7 @@
         <translation type="obsolete">&lt;p&gt;Soubor s úlohami &lt;b&gt;%1&lt;/b&gt; je v nepodporovaném formátu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5186"/>
+        <location filename="UI/UserInterface.py" line="5203"/>
         <source>Drop Error</source>
         <translation>Zahodit chybu</translation>
     </message>
@@ -35758,17 +35788,17 @@
         <translation type="obsolete">&lt;p&gt;&lt;b&gt;%1&lt;/b&gt; není soubor.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5488"/>
+        <location filename="UI/UserInterface.py" line="5505"/>
         <source>Error during updates check</source>
         <translation>Chyba během zjišťování aktualizací</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5336"/>
+        <location filename="UI/UserInterface.py" line="5353"/>
         <source>Proxy usage was activated but no proxy host configured.</source>
         <translation>Použití proxy je aktivováno ale není definován proxy host.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5472"/>
+        <location filename="UI/UserInterface.py" line="5489"/>
         <source>Update available</source>
         <translation>Byla nalezena aktualizace</translation>
     </message>
@@ -35783,12 +35813,12 @@
         <translation type="obsolete">Eric4 je aktuální</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1912"/>
+        <location filename="UI/UserInterface.py" line="1929"/>
         <source>Show external tools</source>
         <translation>Zobrazit externí nástroje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1912"/>
+        <location filename="UI/UserInterface.py" line="1929"/>
         <source>Show external &amp;tools</source>
         <translation>Zobrazit externí nás&amp;troje</translation>
     </message>
@@ -35798,12 +35828,12 @@
         <translation type="obsolete">&lt;b&gt;Zobrazit externí nástroje&lt;/b&gt;&lt;p&gt;Otevře dialog pro zobrazení cesty a verze externích nástrojů používaných Eric4.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5488"/>
+        <location filename="UI/UserInterface.py" line="5505"/>
         <source>Could not perform updates check.</source>
         <translation>Kontrolu updatů nelze provést.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5361"/>
+        <location filename="UI/UserInterface.py" line="5378"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Zrušit</translation>
     </message>
@@ -35813,7 +35843,7 @@
         <translation type="obsolete">Zkouším host %1</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5581"/>
+        <location filename="UI/UserInterface.py" line="5598"/>
         <source>First time usage</source>
         <translation>Spuštěno poprvé</translation>
     </message>
@@ -35828,87 +35858,87 @@
         <translation>Inicializace Plugin manažera...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2272"/>
+        <location filename="UI/UserInterface.py" line="2289"/>
         <source>P&amp;lugins</source>
         <translation>P&amp;luginy</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2357"/>
+        <location filename="UI/UserInterface.py" line="2374"/>
         <source>Plugins</source>
         <translation>Pluginy</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2024"/>
+        <location filename="UI/UserInterface.py" line="2041"/>
         <source>Plugin Infos</source>
         <translation>Plugin Infa</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2027"/>
+        <location filename="UI/UserInterface.py" line="2044"/>
         <source>Show Plugin Infos</source>
         <translation>Zobrazit Plugin infa</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2028"/>
+        <location filename="UI/UserInterface.py" line="2045"/>
         <source>&lt;b&gt;Plugin Infos...&lt;/b&gt;&lt;p&gt;This opens a dialog, that show some information about loaded plugins.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Plugin Infa&lt;/b&gt;&lt;p&gt;Otevře dialog, který zobrazí informace o načtených pluginech.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2024"/>
+        <location filename="UI/UserInterface.py" line="2041"/>
         <source>&amp;Plugin Infos...</source>
         <translation>&amp;Plugin Infa...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3047"/>
+        <location filename="UI/UserInterface.py" line="3064"/>
         <source>&amp;Plugin Tools</source>
         <translation>&amp;Plugin nástroje</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2050"/>
+        <location filename="UI/UserInterface.py" line="2067"/>
         <source>Uninstall Plugin</source>
         <translation>Odinstalovat plugin</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2047"/>
+        <location filename="UI/UserInterface.py" line="2064"/>
         <source>&amp;Uninstall Plugin...</source>
         <translation>&amp;Odinstalovat plugin...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2051"/>
+        <location filename="UI/UserInterface.py" line="2068"/>
         <source>&lt;b&gt;Uninstall Plugin...&lt;/b&gt;&lt;p&gt;This opens a dialog to uninstall a plugin.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Odinstalovat plugin...&lt;/b&gt;&lt;p&gt;Otevře dialog pro odinstalaci pluginu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3194"/>
+        <location filename="UI/UserInterface.py" line="3211"/>
         <source>&amp;Show all</source>
         <translation>&amp;Zobrazit vše</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3196"/>
+        <location filename="UI/UserInterface.py" line="3213"/>
         <source>&amp;Hide all</source>
         <translation>&amp;Skrýt vše</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="574"/>
+        <location filename="UI/UserInterface.py" line="591"/>
         <source>Activating Plugins...</source>
         <translation>Aktivace pluginů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2213"/>
+        <location filename="UI/UserInterface.py" line="2230"/>
         <source>Wi&amp;zards</source>
         <translation>&amp;Průvodci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1650"/>
+        <location filename="UI/UserInterface.py" line="1667"/>
         <source>Show downloadable versions</source>
         <translation>Zobrazit verze ke stažení</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1650"/>
+        <location filename="UI/UserInterface.py" line="1667"/>
         <source>Show &amp;downloadable versions...</source>
         <translation>Zobrazit verze pro &amp;download...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1653"/>
+        <location filename="UI/UserInterface.py" line="1670"/>
         <source>Show the versions available for download</source>
         <translation>Zobrazit dostupné verze ke stažení</translation>
     </message>
@@ -35918,102 +35948,102 @@
         <translation type="obsolete">&lt;b&gt;Zobrazit dostupné verze ke stažení&lt;/b&gt;&lt;p&gt;Zobrazit dostupné verze eric4 pro stažení z internetu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5393"/>
+        <location filename="UI/UserInterface.py" line="5410"/>
         <source>Error downloading versions file</source>
         <translation>Chyba v souboru stahování verzí</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5393"/>
+        <location filename="UI/UserInterface.py" line="5410"/>
         <source>Could not download the versions file.</source>
         <translation>Nelze stáhnout soubor s verzemi.</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5509"/>
+        <location filename="UI/UserInterface.py" line="5526"/>
         <source>&lt;h3&gt;Available versions&lt;/h3&gt;&lt;table&gt;</source>
         <translation>&lt;h3&gt;Dostupné verze&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2059"/>
+        <location filename="UI/UserInterface.py" line="2076"/>
         <source>Plugin Repository</source>
         <translation>Repozitář pluginů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2059"/>
+        <location filename="UI/UserInterface.py" line="2076"/>
         <source>Plugin &amp;Repository...</source>
         <translation>&amp;Repozitář pluginů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2062"/>
+        <location filename="UI/UserInterface.py" line="2079"/>
         <source>Show Plugins available for download</source>
         <translation>Zobrazit pluginy dostupné ke stažení</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2064"/>
+        <location filename="UI/UserInterface.py" line="2081"/>
         <source>&lt;b&gt;Plugin Repository...&lt;/b&gt;&lt;p&gt;This opens a dialog, that shows a list of plugins available on the Internet.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Repozitář pluginů...&lt;/b&gt;&lt;p&gt;Otevře se dialog, který zobrazí seznam pluginů dostupných ke stažení přes internet.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2039"/>
+        <location filename="UI/UserInterface.py" line="2056"/>
         <source>Install Plugins</source>
         <translation>Instalovat pluginy</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2036"/>
+        <location filename="UI/UserInterface.py" line="2053"/>
         <source>&amp;Install Plugins...</source>
         <translation>&amp;Instalovat pluginy...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2040"/>
+        <location filename="UI/UserInterface.py" line="2057"/>
         <source>&lt;b&gt;Install Plugins...&lt;/b&gt;&lt;p&gt;This opens a dialog to install or update plugins.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Instalovat pluginy...&lt;/b&gt;&lt;p&gt;Otevře dialog pro instalaci nebo aktualizaci pluginů.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1835"/>
+        <location filename="UI/UserInterface.py" line="1852"/>
         <source>Mini Editor</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1831"/>
+        <location filename="UI/UserInterface.py" line="1848"/>
         <source>Mini &amp;Editor...</source>
         <translation>Mini &amp;Editor...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1836"/>
+        <location filename="UI/UserInterface.py" line="1853"/>
         <source>&lt;b&gt;Mini Editor&lt;/b&gt;&lt;p&gt;Open a dialog with a simplified editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Mini editor&lt;/b&gt;&lt;p&gt;Otevře se okno s jednoduchým editorem&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1743"/>
-        <source>&amp;Designer 4...</source>
-        <translation>&amp;Designer 4...</translation>
-    </message>
-    <message>
         <location filename="UI/UserInterface.py" line="1760"/>
+        <source>&amp;Designer 4...</source>
+        <translation>&amp;Designer 4...</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="1777"/>
         <source>&amp;Linguist 4...</source>
         <translation>&amp;Linguist 4...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1939"/>
+        <location filename="UI/UserInterface.py" line="1956"/>
         <source>Toolbars</source>
         <translation>Lišty nástrojů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1939"/>
+        <location filename="UI/UserInterface.py" line="1956"/>
         <source>Tool&amp;bars...</source>
         <translation>&amp;Lišty nástrojů...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1942"/>
+        <location filename="UI/UserInterface.py" line="1959"/>
         <source>Configure toolbars</source>
         <translation>Konfigurace lišt nástrojů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1943"/>
+        <location filename="UI/UserInterface.py" line="1960"/>
         <source>&lt;b&gt;Toolbars&lt;/b&gt;&lt;p&gt;Configure the toolbars. With this dialog you may change the actions shown on the various toolbars and define your own toolbars.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Listy nástrojů&lt;/b&gt;&lt;p&gt;Konfigurace lišt nástrojů. S tímto dialogem můžete změnit akce zobrazené v různých nástrojových lištách nebo definovat své vlastní nástrojové lišty.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="581"/>
+        <location filename="UI/UserInterface.py" line="598"/>
         <source>Restoring Toolbarmanager...</source>
         <translation>Obnovit manažer nástrojových lišt...</translation>
     </message>
@@ -36023,7 +36053,7 @@
         <translation type="obsolete">Externí nástroje/%1</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4246"/>
+        <location filename="UI/UserInterface.py" line="4263"/>
         <source>External Tools</source>
         <translation>Externí nástroje</translation>
     </message>
@@ -36038,32 +36068,32 @@
         <translation type="obsolete">Záznam nástroje &apos;%1&apos; nenalezen. </translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1348"/>
+        <location filename="UI/UserInterface.py" line="1365"/>
         <source>Multiproject-Viewer</source>
         <translation>Prohlížeč multiprojektu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1348"/>
+        <location filename="UI/UserInterface.py" line="1365"/>
         <source>&amp;Multiproject-Viewer</source>
         <translation>Prohlížeč &amp;multiprojektu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1351"/>
+        <location filename="UI/UserInterface.py" line="1368"/>
         <source>Toggle the Multiproject-Viewer window</source>
         <translation>Přepnout okno Prohlížeč multiprojektu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1352"/>
+        <location filename="UI/UserInterface.py" line="1369"/>
         <source>&lt;b&gt;Toggle the Multiproject-Viewer window&lt;/b&gt;&lt;p&gt;If the Multiproject-Viewer window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přepnout okno Prohlížeče multiprojektu&lt;/b&gt;&lt;p&gt;Pokud bylo okno skryto, tak se zobrazí. Pokud se zobrazovalo, tak se skryje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1360"/>
+        <location filename="UI/UserInterface.py" line="1377"/>
         <source>Activate Multiproject-Viewer</source>
         <translation>Aktivovat prohlížeč multiprojektu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1497"/>
+        <location filename="UI/UserInterface.py" line="1514"/>
         <source>Temp&amp;late-Viewer</source>
         <translation>Proh&amp;lížeč šablon</translation>
     </message>
@@ -36088,7 +36118,7 @@
         <translation type="obsolete">&lt;p&gt;Počátek dokumentace PyKDE4 nebyl nastaven.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5007"/>
+        <location filename="UI/UserInterface.py" line="5024"/>
         <source>Save session</source>
         <translation>Uložit relaci</translation>
     </message>
@@ -36098,7 +36128,7 @@
         <translation type="obsolete">&lt;p&gt;Zápis do souboru relace session &lt;b&gt;%1&lt;/b&gt; se nezdařil.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5068"/>
+        <location filename="UI/UserInterface.py" line="5085"/>
         <source>Read session</source>
         <translation>Načíst relaci</translation>
     </message>
@@ -36113,12 +36143,12 @@
         <translation type="obsolete">&lt;p&gt;Soubor relace (session) &lt;b&gt;%1&lt;/b&gt; je v nepodporovaném formátu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2471"/>
+        <location filename="UI/UserInterface.py" line="2488"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors encoding.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje aktuální kódování editorů.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2485"/>
+        <location filename="UI/UserInterface.py" line="2502"/>
         <source>&lt;p&gt;This part of the status bar displays an indication of the current editors files writability.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje indikátor práva zápisu editoru do souboru.&lt;/p&gt;</translation>
     </message>
@@ -36128,7 +36158,7 @@
         <translation type="obsolete">&lt;b&gt;Připojit k proxy &apos;%1&apos; za použití:&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5555"/>
+        <location filename="UI/UserInterface.py" line="5572"/>
         <source>SSL Errors</source>
         <translation>SSL chyby</translation>
     </message>
@@ -36138,277 +36168,277 @@
         <translation type="obsolete">&lt;p&gt;SSL chyby:&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;Chcete tyto chyby ignorovat?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1674"/>
+        <location filename="UI/UserInterface.py" line="1691"/>
         <source>Request Feature</source>
         <translation>Požadavek na vlastnost</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1674"/>
+        <location filename="UI/UserInterface.py" line="1691"/>
         <source>Request &amp;Feature...</source>
         <translation>&amp;Požadavek na vlastnost...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1676"/>
+        <location filename="UI/UserInterface.py" line="1693"/>
         <source>Send a feature request</source>
         <translation>Poslat požadavek na vlastnost</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1677"/>
+        <location filename="UI/UserInterface.py" line="1694"/>
         <source>&lt;b&gt;Request Feature...&lt;/b&gt;&lt;p&gt;Opens a dialog to send a feature request.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Požadavek na vlastnost...&lt;/b&gt;&lt;p&gt;Otevře dialog pro odeslání požadavku.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2464"/>
+        <location filename="UI/UserInterface.py" line="2481"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors language.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje aktuální jazyk editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2494"/>
+        <location filename="UI/UserInterface.py" line="2511"/>
         <source>&lt;p&gt;This part of the status bar displays the name of the file of the current editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část statusbaru zobrazuje jméno souboru v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2501"/>
+        <location filename="UI/UserInterface.py" line="2518"/>
         <source>&lt;p&gt;This part of the status bar displays the line number of the current editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje číslo řádku v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2508"/>
+        <location filename="UI/UserInterface.py" line="2525"/>
         <source>&lt;p&gt;This part of the status bar displays the cursor position of the current editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje pozici kurzoru v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1520"/>
+        <location filename="UI/UserInterface.py" line="1537"/>
         <source>Vertical Toolbox</source>
         <translation>Svislá nástrojová lišta</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1531"/>
+        <location filename="UI/UserInterface.py" line="1548"/>
         <source>Horizontal Toolbox</source>
         <translation>Vodorovná nástrojová lišta</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1520"/>
+        <location filename="UI/UserInterface.py" line="1537"/>
         <source>&amp;Vertical Toolbox</source>
         <translation>S&amp;vislá nástrojová lišta</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1522"/>
+        <location filename="UI/UserInterface.py" line="1539"/>
         <source>Toggle the Vertical Toolbox window</source>
         <translation>Přepnout na svislou nástrojovou lištu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1523"/>
+        <location filename="UI/UserInterface.py" line="1540"/>
         <source>&lt;b&gt;Toggle the Vertical Toolbox window&lt;/b&gt;&lt;p&gt;If the Vertical Toolbox window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přepnout svislou nástrojovou lištu&lt;/b&gt;&lt;p&gt;Pokud je svislá nástrojová lišta skryta, tak se zobrazí. Je-li zobrazena, skryje se.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1531"/>
+        <location filename="UI/UserInterface.py" line="1548"/>
         <source>&amp;Horizontal Toolbox</source>
         <translation>&amp;Horizontální lista nástrojů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1534"/>
+        <location filename="UI/UserInterface.py" line="1551"/>
         <source>Toggle the Horizontal Toolbox window</source>
         <translation>Přepnout na vodorovnou lištu nástrojů</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1535"/>
+        <location filename="UI/UserInterface.py" line="1552"/>
         <source>&lt;b&gt;Toggle the Horizontal Toolbox window&lt;/b&gt;&lt;p&gt;If the Horizontal Toolbox window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přepnout vodorovnou nástrojovou lištu&lt;/b&gt;&lt;p&gt;Pokud je vodorovná nástrojová lišta skryta, tak se zobrazí. Je-li zobrazena, skryje se.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2964"/>
+        <location filename="UI/UserInterface.py" line="2981"/>
         <source>Restart application</source>
         <translation>Restartovat aplikaci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2964"/>
+        <location filename="UI/UserInterface.py" line="2981"/>
         <source>The application needs to be restarted. Do it now?</source>
         <translation>Aplikace potřebuje restartovat. Má se provést nyní?</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1412"/>
+        <location filename="UI/UserInterface.py" line="1429"/>
         <source>Terminal</source>
         <translation>Terminál</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1412"/>
+        <location filename="UI/UserInterface.py" line="1429"/>
         <source>Te&amp;rminal</source>
         <translation>Te&amp;rminál</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1414"/>
+        <location filename="UI/UserInterface.py" line="1431"/>
         <source>Toggle the Terminal window</source>
         <translation>Přepnout do okna s terminálem</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1415"/>
+        <location filename="UI/UserInterface.py" line="1432"/>
         <source>&lt;b&gt;Toggle the Terminal window&lt;/b&gt;&lt;p&gt;If the Terminal window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přepnout do okna s terminálem&lt;/b&gt;&lt;p&gt;Pokud je okno skryto, tak se zobrazí. Je-li zobrazeno, skryje se.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1423"/>
+        <location filename="UI/UserInterface.py" line="1440"/>
         <source>Activate Terminal</source>
         <translation>Aktivovat terminál</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1423"/>
+        <location filename="UI/UserInterface.py" line="1440"/>
         <source>Alt+Shift+R</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1510"/>
+        <location filename="UI/UserInterface.py" line="1527"/>
         <source>Alt+Shift+A</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2281"/>
+        <location filename="UI/UserInterface.py" line="2298"/>
         <source>Configure...</source>
         <translation>Konfigurovat...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2478"/>
+        <location filename="UI/UserInterface.py" line="2495"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors eol setting.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Tato část status baru zobrazuje eol nastavení v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2016"/>
+        <location filename="UI/UserInterface.py" line="2033"/>
         <source>Switch between tabs</source>
         <translation>Přepnout mezi taby</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2016"/>
+        <location filename="UI/UserInterface.py" line="2033"/>
         <source>Ctrl+1</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1879"/>
+        <location filename="UI/UserInterface.py" line="1896"/>
         <source>Export Preferences</source>
         <translation>Exportovat předvolby</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1879"/>
+        <location filename="UI/UserInterface.py" line="1896"/>
         <source>E&amp;xport Preferences...</source>
         <translation>E&amp;xportovat předvolby...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1882"/>
+        <location filename="UI/UserInterface.py" line="1899"/>
         <source>Export the current configuration</source>
         <translation>Export aktuální konfigurace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1883"/>
+        <location filename="UI/UserInterface.py" line="1900"/>
         <source>&lt;b&gt;Export Preferences&lt;/b&gt;&lt;p&gt;Export the current configuration to a file.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Export předvoleb&lt;/b&gt;&lt;p&gt;Export aktuální konfigurace do souboru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1890"/>
+        <location filename="UI/UserInterface.py" line="1907"/>
         <source>Import Preferences</source>
         <translation>Import předvoleb</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1890"/>
+        <location filename="UI/UserInterface.py" line="1907"/>
         <source>I&amp;mport Preferences...</source>
         <translation>I&amp;mport předvoleb...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1893"/>
+        <location filename="UI/UserInterface.py" line="1910"/>
         <source>Import a previously exported configuration</source>
         <translation>Import dříve exportované konfigurace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1895"/>
+        <location filename="UI/UserInterface.py" line="1912"/>
         <source>&lt;b&gt;Import Preferences&lt;/b&gt;&lt;p&gt;Import a previously exported configuration.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Import předvoleb&lt;/b&gt;&lt;p&gt;Import dříve exportované konfigurace.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2000"/>
+        <location filename="UI/UserInterface.py" line="2017"/>
         <source>Show next</source>
         <translation>Zobrazit další</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2008"/>
+        <location filename="UI/UserInterface.py" line="2025"/>
         <source>Show previous</source>
         <translation>Zobrazit předchozí</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1543"/>
+        <location filename="UI/UserInterface.py" line="1560"/>
         <source>Left Sidebar</source>
         <translation>Levé menu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1543"/>
+        <location filename="UI/UserInterface.py" line="1560"/>
         <source>&amp;Left Sidebar</source>
         <translation>&amp;Levé menu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1545"/>
+        <location filename="UI/UserInterface.py" line="1562"/>
         <source>Toggle the left sidebar window</source>
         <translation>Přepnout okno levého menu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1546"/>
+        <location filename="UI/UserInterface.py" line="1563"/>
         <source>&lt;b&gt;Toggle the left sidebar window&lt;/b&gt;&lt;p&gt;If the left sidebar window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přepnout okno levého menu&lt;/b&gt;&lt;p&gt;Je-li okno levého menu skryto, tak se zobrazí. Je-li zobrazeno, skryje se.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1554"/>
+        <location filename="UI/UserInterface.py" line="1571"/>
         <source>Bottom Sidebar</source>
         <translation>Dolní menu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1554"/>
+        <location filename="UI/UserInterface.py" line="1571"/>
         <source>&amp;Bottom Sidebar</source>
         <translation>&amp;Dolní menu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1557"/>
+        <location filename="UI/UserInterface.py" line="1574"/>
         <source>Toggle the bottom sidebar window</source>
         <translation>Přepnout okno dolního menu</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1558"/>
+        <location filename="UI/UserInterface.py" line="1575"/>
         <source>&lt;b&gt;Toggle the bottom sidebar window&lt;/b&gt;&lt;p&gt;If the bottom sidebar window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přepnout okno dolního menu&lt;/b&gt;&lt;p&gt;Je-li okno dolního menu skryto, tak se zobrazí. Je-li zobrazeno, skryje se.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1370"/>
+        <location filename="UI/UserInterface.py" line="1387"/>
         <source>&amp;Debug-Viewer</source>
         <translation>Prohlížeč &amp;debugeru</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1372"/>
+        <location filename="UI/UserInterface.py" line="1389"/>
         <source>Toggle the Debug-Viewer window</source>
         <translation>Přepnout okno debug prohlížeče</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1373"/>
+        <location filename="UI/UserInterface.py" line="1390"/>
         <source>&lt;b&gt;Toggle the Debug-Viewer window&lt;/b&gt;&lt;p&gt;If the Debug-Viewer window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přepnout okno debug prohlížeče&lt;/b&gt;&lt;p&gt;Je-li okno debug prohlížeče skryto, zobrazí se. Je-li zobrazeno, skryje se.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1381"/>
+        <location filename="UI/UserInterface.py" line="1398"/>
         <source>Activate Debug-Viewer</source>
         <translation>Aktivní debug prohlížeč</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1819"/>
+        <location filename="UI/UserInterface.py" line="1836"/>
         <source>SQL Browser</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1819"/>
+        <location filename="UI/UserInterface.py" line="1836"/>
         <source>SQL &amp;Browser...</source>
         <translation>SQL &amp;Browser...</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1823"/>
+        <location filename="UI/UserInterface.py" line="1840"/>
         <source>Browse a SQL database</source>
         <translation>Procházet SQL databázi</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1824"/>
+        <location filename="UI/UserInterface.py" line="1841"/>
         <source>&lt;b&gt;SQL Browser&lt;/b&gt;&lt;p&gt;Browse a SQL database.&lt;/p&gt;</source>
         <translation>&lt;b&gt;SQL Browser&lt;/b&gt;&lt;p&gt;Procházet SQL databázi.&lt;/p&gt;</translation>
     </message>
@@ -36418,37 +36448,37 @@
         <translation type="obsolete">&lt;p&gt;Nelze spustit SQL Browser.&lt;br&gt;Ujistěte se, že je dostupný jako &lt;b&gt;%1&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2749"/>
+        <location filename="UI/UserInterface.py" line="2766"/>
         <source>Error log found</source>
         <translation>Nalezen záznam o chybě</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2749"/>
-        <source>An error log file was found. What should be done with it?</source>
-        <translation>Nalezen záznam o chybě. Co by se s tím mělo dělat?</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2760"/>
-        <source>Send Bug Email</source>
-        <translation>Poslat email s chybou</translation>
-    </message>
-    <message>
-        <location filename="UI/UserInterface.py" line="2763"/>
-        <source>Ignore and Delete</source>
-        <translation>Ignotovat a smazat</translation>
-    </message>
-    <message>
         <location filename="UI/UserInterface.py" line="2766"/>
+        <source>An error log file was found. What should be done with it?</source>
+        <translation>Nalezen záznam o chybě. Co by se s tím mělo dělat?</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2777"/>
+        <source>Send Bug Email</source>
+        <translation>Poslat email s chybou</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2780"/>
+        <source>Ignore and Delete</source>
+        <translation>Ignotovat a smazat</translation>
+    </message>
+    <message>
+        <location filename="UI/UserInterface.py" line="2783"/>
         <source>Ignore but Keep</source>
         <translation>Ignorovat ale zachovat</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1843"/>
+        <location filename="UI/UserInterface.py" line="1860"/>
         <source>Web Browser</source>
         <translation>Web prohlížeč</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1843"/>
+        <location filename="UI/UserInterface.py" line="1860"/>
         <source>&amp;Web Browser...</source>
         <translation>&amp;Web prohlížeč...</translation>
     </message>
@@ -36463,12 +36493,12 @@
         <translation type="obsolete">&lt;b&gt;Web prohlížeč&lt;/b&gt;&lt;p&gt;Procházet internet pomocí eric4 web prohlížeče.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1855"/>
+        <location filename="UI/UserInterface.py" line="1872"/>
         <source>Icon Editor</source>
         <translation>Editor ikon</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1855"/>
+        <location filename="UI/UserInterface.py" line="1872"/>
         <source>&amp;Icon Editor...</source>
         <translation>Editor &amp;ikon...</translation>
     </message>
@@ -36483,7 +36513,7 @@
         <translation type="obsolete">&lt;b&gt;Editor ikon&lt;/b&gt;&lt;p&gt;Spustí se eric4 editor ikon pro jednoduchou editaci ikon.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4003"/>
+        <location filename="UI/UserInterface.py" line="4020"/>
         <source>Qt 3 support</source>
         <translation>Qt 3 podpora</translation>
     </message>
@@ -36503,27 +36533,27 @@
         <translation type="obsolete">Otevřít PyKDE4 dokumentaci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2154"/>
+        <location filename="UI/UserInterface.py" line="2171"/>
         <source>PySide Documentation</source>
         <translation>PySide dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2154"/>
+        <location filename="UI/UserInterface.py" line="2171"/>
         <source>Py&amp;Side Documentation</source>
         <translation>Py&amp;Side dokumentace</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2156"/>
+        <location filename="UI/UserInterface.py" line="2173"/>
         <source>Open PySide Documentation</source>
         <translation>Otevřít PySide dokumentaci</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2157"/>
+        <location filename="UI/UserInterface.py" line="2174"/>
         <source>&lt;b&gt;PySide Documentation&lt;/b&gt;&lt;p&gt;Display the PySide Documentation. Dependant upon your settings, this will either show the help in Eric&apos;s internal help viewer, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation>&lt;b&gt;PySide dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit PySide dokumentaci. V závislosti na vašich nastaveních zobrazí interní Eric prohlížeč nápovědy nebo spustí webový prohlížeč nebo Qt Assistant.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4570"/>
+        <location filename="UI/UserInterface.py" line="4587"/>
         <source>&lt;p&gt;The PySide documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Počátek dokumentace PySide nebyl nastaven.&lt;/p&gt;</translation>
     </message>
@@ -36533,264 +36563,264 @@
         <translation type="obsolete">Používáte poslední verzi eric4</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="633"/>
+        <location filename="UI/UserInterface.py" line="650"/>
         <source>&lt;p&gt;The Qt Style Sheet file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;br&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1251"/>
+        <location filename="UI/UserInterface.py" line="1268"/>
         <source>{0} - Passive Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1256"/>
+        <location filename="UI/UserInterface.py" line="1273"/>
         <source>{0} - {1} - Passive Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1259"/>
+        <location filename="UI/UserInterface.py" line="1276"/>
         <source>{0} - {1} - {2} - Passive Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1613"/>
+        <location filename="UI/UserInterface.py" line="1630"/>
         <source>&lt;b&gt;Helpviewer&lt;/b&gt;&lt;p&gt;Display the eric5 web browser. This window will show HTML help files and help from Qt help collections. It has the capability to navigate to links, set bookmarks, print the displayed help and some more features. You may use it to browse the internet as well&lt;/p&gt;&lt;p&gt;If called with a word selected, this word is search in the Qt help collection.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Prohlížeč nápovědy&lt;/b&gt;&lt;p&gt;Otevře se eric4 web prohlížeč. Toto okno zobrazuje HTML soubory s nápovědou z Qt kolekce. Má schopnosti navigovat přes odkazy, nastavovat záložky, tisknout zobrazenou nápovědu a další možnosti. Můžete jej také použít pro procházení internetem&lt;/p&gt;&lt;p&gt;Je-li otevřen s hledaným slovem, je toto slovo hledáno v Qt nápovědách.&lt;/p&gt; {5 ?}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1643"/>
+        <location filename="UI/UserInterface.py" line="1660"/>
         <source>&lt;b&gt;Check for Updates...&lt;/b&gt;&lt;p&gt;Checks the internet for updates of eric5.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Zjistit aktualizace&lt;/b&gt;&lt;p&gt;Zkontroluje přes internet jestli existují nějaké aktualizace Eric4.&lt;/p&gt; {5.?}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1655"/>
+        <location filename="UI/UserInterface.py" line="1672"/>
         <source>&lt;b&gt;Show downloadable versions...&lt;/b&gt;&lt;p&gt;Shows the eric5 versions available for download from the internet.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Zobrazit dostupné verze ke stažení&lt;/b&gt;&lt;p&gt;Zobrazit dostupné verze eric4 pro stažení z internetu.&lt;/p&gt; {5 ?}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1847"/>
+        <location filename="UI/UserInterface.py" line="1864"/>
         <source>Start the eric5 Web Browser</source>
         <translation type="unfinished">Spustit eric4 web prohlížeč {5 ?}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1848"/>
+        <location filename="UI/UserInterface.py" line="1865"/>
         <source>&lt;b&gt;Web Browser&lt;/b&gt;&lt;p&gt;Browse the Internet with the eric5 Web Browser.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Web prohlížeč&lt;/b&gt;&lt;p&gt;Procházet internet pomocí eric4 web prohlížeče.&lt;/p&gt; {5 ?}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1859"/>
+        <location filename="UI/UserInterface.py" line="1876"/>
         <source>Start the eric5 Icon Editor</source>
         <translation type="unfinished">Spustit eric4 editor ikon {5 ?}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1860"/>
+        <location filename="UI/UserInterface.py" line="1877"/>
         <source>&lt;b&gt;Icon Editor&lt;/b&gt;&lt;p&gt;Starts the eric5 Icon Editor for editing simple icons.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Editor ikon&lt;/b&gt;&lt;p&gt;Spustí se eric4 editor ikon pro jednoduchou editaci ikon.&lt;/p&gt; {5 ?}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1916"/>
+        <location filename="UI/UserInterface.py" line="1933"/>
         <source>&lt;b&gt;Show external tools&lt;/b&gt;&lt;p&gt;Opens a dialog to show the path and versions of all extenal tools used by eric5.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Zobrazit externí nástroje&lt;/b&gt;&lt;p&gt;Otevře dialog pro zobrazení cesty a verze externích nástrojů používaných Eric4.&lt;/p&gt; {5.?}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2139"/>
+        <location filename="UI/UserInterface.py" line="2156"/>
         <source>&lt;b&gt;Eric API Documentation&lt;/b&gt;&lt;p&gt;Display the Eric API documentation. The location for the documentation is the Documentation/Source subdirectory of the eric5 installation directory.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Eric API dokumentace&lt;/b&gt;&lt;p&gt;Zobrazit Eric API dokumentaci. Umístění dokumentace je v podadresáři Documentation/Source v instalačním adresáři eric4.&lt;/p&gt; {5 ?}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="2565"/>
+        <location filename="UI/UserInterface.py" line="2582"/>
         <source>External Tools/{0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4003"/>
+        <location filename="UI/UserInterface.py" line="4020"/>
         <source>Qt v.3 is not supported by eric5.</source>
         <translation type="unfinished">Qt v.3 není podporováno v eric4. {3 ?} {5.?}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4165"/>
+        <location filename="UI/UserInterface.py" line="4182"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; does not exist or is zero length.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3923"/>
+        <location filename="UI/UserInterface.py" line="3940"/>
         <source>&lt;p&gt;Could not start Qt-Designer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="3980"/>
+        <location filename="UI/UserInterface.py" line="3997"/>
         <source>&lt;p&gt;Could not start Qt-Linguist.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4024"/>
+        <location filename="UI/UserInterface.py" line="4041"/>
         <source>&lt;p&gt;Could not start Qt-Assistant.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4069"/>
+        <location filename="UI/UserInterface.py" line="4086"/>
         <source>&lt;p&gt;Could not start custom viewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4128"/>
+        <location filename="UI/UserInterface.py" line="4145"/>
         <source>&lt;p&gt;Could not start UI Previewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4173"/>
+        <location filename="UI/UserInterface.py" line="4190"/>
         <source>&lt;p&gt;Could not start Translation Previewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4192"/>
+        <location filename="UI/UserInterface.py" line="4209"/>
         <source>&lt;p&gt;Could not start SQL Browser.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4240"/>
+        <location filename="UI/UserInterface.py" line="4257"/>
         <source>No tool entry found for external tool &apos;{0}&apos; in tool group &apos;{1}&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4246"/>
+        <location filename="UI/UserInterface.py" line="4263"/>
         <source>No toolgroup entry &apos;{0}&apos; found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4282"/>
+        <location filename="UI/UserInterface.py" line="4299"/>
         <source>Starting process &apos;{0} {1}&apos;.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4301"/>
+        <location filename="UI/UserInterface.py" line="4318"/>
         <source>&lt;p&gt;Could not start the tool entry &lt;b&gt;{0}&lt;/b&gt;.&lt;br&gt;Ensure that it is available as &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4378"/>
+        <location filename="UI/UserInterface.py" line="4395"/>
         <source>Process &apos;{0}&apos; has exited.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4585"/>
+        <location filename="UI/UserInterface.py" line="4602"/>
         <source>&lt;p&gt;The documentation starting point &quot;&lt;b&gt;{0}&lt;/b&gt;&quot; could not be found.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4779"/>
+        <location filename="UI/UserInterface.py" line="4796"/>
         <source>Keyboard shortcut file (*.e4k);;Compressed keyboard shortcut file (*.e4kz)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4799"/>
+        <location filename="UI/UserInterface.py" line="4816"/>
         <source>&lt;p&gt;The keyboard shortcuts could not be written to file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4808"/>
+        <location filename="UI/UserInterface.py" line="4825"/>
         <source>Keyboard shortcut file (*.e4k *.e4kz)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4932"/>
+        <location filename="UI/UserInterface.py" line="4949"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4979"/>
+        <location filename="UI/UserInterface.py" line="4996"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="4989"/>
+        <location filename="UI/UserInterface.py" line="5006"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; has an unsupported format.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5007"/>
+        <location filename="UI/UserInterface.py" line="5024"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5058"/>
+        <location filename="UI/UserInterface.py" line="5075"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5068"/>
+        <location filename="UI/UserInterface.py" line="5085"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; has an unsupported format.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5186"/>
+        <location filename="UI/UserInterface.py" line="5203"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5366"/>
+        <location filename="UI/UserInterface.py" line="5383"/>
         <source>Trying host {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5472"/>
+        <location filename="UI/UserInterface.py" line="5489"/>
         <source>The update to &lt;b&gt;{0}&lt;/b&gt; of eric5 is available at &lt;b&gt;{1}&lt;/b&gt;. Would you like to get it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5484"/>
+        <location filename="UI/UserInterface.py" line="5501"/>
         <source>Eric5 is up to date</source>
         <translation type="unfinished">Eric4 je aktuální {5 ?}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5484"/>
+        <location filename="UI/UserInterface.py" line="5501"/>
         <source>You are using the latest version of eric5</source>
         <translation type="unfinished">Používáte poslední verzi eric5</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5533"/>
+        <location filename="UI/UserInterface.py" line="5550"/>
         <source>&lt;b&gt;Connect to proxy &apos;{0}&apos; using:&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5555"/>
+        <location filename="UI/UserInterface.py" line="5572"/>
         <source>&lt;p&gt;SSL Errors:&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;&lt;p&gt;Do you want to ignore these errors?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="5581"/>
+        <location filename="UI/UserInterface.py" line="5598"/>
         <source>eric5 has not been configured yet. The configuration dialog will be started.</source>
         <translation type="unfinished">eric4 nebyl ještě nakonfigurován. Bude spuštěn konfigurační dialog. {5 ?}</translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1566"/>
+        <location filename="UI/UserInterface.py" line="1583"/>
         <source>Cooperation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1566"/>
+        <location filename="UI/UserInterface.py" line="1583"/>
         <source>&amp;Cooperation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1568"/>
+        <location filename="UI/UserInterface.py" line="1585"/>
         <source>Toggle the Cooperation window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1570"/>
+        <location filename="UI/UserInterface.py" line="1587"/>
         <source>&lt;b&gt;Toggle the Cooperation window&lt;/b&gt;&lt;p&gt;If the Cooperation window is hidden then display it. If it is displayed then close it.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1579"/>
+        <location filename="UI/UserInterface.py" line="1596"/>
         <source>Activate Cooperation-Viewer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="UI/UserInterface.py" line="1579"/>
+        <location filename="UI/UserInterface.py" line="1596"/>
         <source>Alt+Shift+O</source>
         <translation type="unfinished"></translation>
     </message>
@@ -37547,826 +37577,826 @@
 <context>
     <name>ViewManager</name>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="457"/>
+        <location filename="ViewManager/ViewManager.py" line="459"/>
         <source>New</source>
         <translation>Nový</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="457"/>
+        <location filename="ViewManager/ViewManager.py" line="459"/>
         <source>&amp;New</source>
         <translation>&amp;Nový</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="457"/>
+        <location filename="ViewManager/ViewManager.py" line="459"/>
         <source>Ctrl+N</source>
         <comment>File|New</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="462"/>
-        <source>Open an empty editor window</source>
-        <translation>Otevřít prázdné editační okno</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="464"/>
+        <source>Open an empty editor window</source>
+        <translation>Otevřít prázdné editační okno</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="466"/>
         <source>&lt;b&gt;New&lt;/b&gt;&lt;p&gt;An empty editor window will be created.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Nový&lt;/b&gt;
 &lt;p&gt;Bude otevřeno prázdné editační okno.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="471"/>
+        <location filename="ViewManager/ViewManager.py" line="473"/>
         <source>Open</source>
         <translation>Otevřít</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="471"/>
+        <location filename="ViewManager/ViewManager.py" line="473"/>
         <source>&amp;Open...</source>
         <translation>&amp;Otevřít...</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="471"/>
+        <location filename="ViewManager/ViewManager.py" line="473"/>
         <source>Ctrl+O</source>
         <comment>File|Open</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="477"/>
+        <location filename="ViewManager/ViewManager.py" line="479"/>
         <source>Open a file</source>
         <translation>Otevřít soubor</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="478"/>
+        <location filename="ViewManager/ViewManager.py" line="480"/>
         <source>&lt;b&gt;Open a file&lt;/b&gt;&lt;p&gt;You will be asked for the name of a file to be opened in an editor window.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Otevřít soubor&lt;/b&gt;
 &lt;p&gt;Budete dotázáni na jméno souboru, který se má otevřít do editačního okna.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="488"/>
+        <location filename="ViewManager/ViewManager.py" line="490"/>
         <source>Close</source>
         <translation>Zavřít</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="488"/>
+        <location filename="ViewManager/ViewManager.py" line="490"/>
         <source>&amp;Close</source>
         <translation>&amp;Zavřít</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="488"/>
+        <location filename="ViewManager/ViewManager.py" line="490"/>
         <source>Ctrl+W</source>
         <comment>File|Close</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="494"/>
-        <source>Close the current window</source>
-        <translation>Zavřít aktuální okno</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="496"/>
+        <source>Close the current window</source>
+        <translation>Zavřít aktuální okno</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="498"/>
         <source>&lt;b&gt;Close Window&lt;/b&gt;&lt;p&gt;Close the current window.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zavřít okno&lt;/b&gt;
 &lt;p&gt;Zavřít aktuální okno.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="503"/>
+        <location filename="ViewManager/ViewManager.py" line="505"/>
         <source>Close All</source>
         <translation>Zavřít vše</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="503"/>
+        <location filename="ViewManager/ViewManager.py" line="505"/>
         <source>Clos&amp;e All</source>
         <translation>Zavřít vš&amp;e</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="506"/>
-        <source>Close all editor windows</source>
-        <translation>Zavřít všechny editační okna</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="508"/>
+        <source>Close all editor windows</source>
+        <translation>Zavřít všechny editační okna</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="510"/>
         <source>&lt;b&gt;Close All Windows&lt;/b&gt;&lt;p&gt;Close all editor windows.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zavřít všechna okna&lt;/b&gt;
 &lt;p&gt;Zavřít všechna editační okna.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="519"/>
+        <location filename="ViewManager/ViewManager.py" line="521"/>
         <source>Save</source>
         <translation>Uložit</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="519"/>
+        <location filename="ViewManager/ViewManager.py" line="521"/>
         <source>&amp;Save</source>
         <translation>&amp;Uložit</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="519"/>
+        <location filename="ViewManager/ViewManager.py" line="521"/>
         <source>Ctrl+S</source>
         <comment>File|Save</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="525"/>
-        <source>Save the current file</source>
-        <translation>Uložit aktuální soubor</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="527"/>
+        <source>Save the current file</source>
+        <translation>Uložit aktuální soubor</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="529"/>
         <source>&lt;b&gt;Save File&lt;/b&gt;&lt;p&gt;Save the contents of current editor window.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uložit soubor&lt;/b&gt;
 &lt;p&gt;Uložit obsah aktuálního editačního okna.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="534"/>
+        <location filename="ViewManager/ViewManager.py" line="536"/>
         <source>Save as</source>
         <translation>Uložit jako</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="534"/>
+        <location filename="ViewManager/ViewManager.py" line="536"/>
         <source>Save &amp;as...</source>
         <translation>U&amp;ložit jako...</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="534"/>
+        <location filename="ViewManager/ViewManager.py" line="536"/>
         <source>Shift+Ctrl+S</source>
         <comment>File|Save As</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="540"/>
-        <source>Save the current file to a new one</source>
-        <translation>Uložit aktuální soubor do nového</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="542"/>
+        <source>Save the current file to a new one</source>
+        <translation>Uložit aktuální soubor do nového</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="544"/>
         <source>&lt;b&gt;Save File as&lt;/b&gt;&lt;p&gt;Save the contents of current editor window to a new file. The file can be entered in a file selection dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uložit soubor jako&lt;/b&gt;
 &lt;p&gt;Uložit obsah aktuálního editačního okna do nového souboru. Název souboru bude zadán v dialogu výběru souboru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="550"/>
+        <location filename="ViewManager/ViewManager.py" line="552"/>
         <source>Save all</source>
         <translation>Uložit vše</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="550"/>
+        <location filename="ViewManager/ViewManager.py" line="552"/>
         <source>Save a&amp;ll...</source>
         <translation>Uložit &amp;vše...</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="554"/>
-        <source>Save all files</source>
-        <translation>Uložit všechny soubory</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="556"/>
+        <source>Save all files</source>
+        <translation>Uložit všechny soubory</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="558"/>
         <source>&lt;b&gt;Save All Files&lt;/b&gt;&lt;p&gt;Save the contents of all editor windows.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uložit všechny soubory&lt;/b&gt;
 &lt;p&gt;Uložit obsah všech editačních oken.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="565"/>
+        <location filename="ViewManager/ViewManager.py" line="567"/>
         <source>Save to Project</source>
         <translation>Uložit do projektu</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="565"/>
+        <location filename="ViewManager/ViewManager.py" line="567"/>
         <source>Save to Pro&amp;ject</source>
         <translation>Uložit do pro&amp;jektu</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="570"/>
-        <source>Save the current file to the current project</source>
-        <translation>Uložit aktuální soubor do aktuálního projektu</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="572"/>
+        <source>Save the current file to the current project</source>
+        <translation>Uložit aktuální soubor do aktuálního projektu</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="574"/>
         <source>&lt;b&gt;Save to Project&lt;/b&gt;&lt;p&gt;Save the contents of the current editor window to the current project. After the file has been saved, it is automatically added to the current project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uložit do projektu&lt;/b&gt;
 &lt;p&gt;Uložit obsah aktuálního editačního okna do projektu. Po uložení bude soubor automaticky přidán do aktuálního projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="583"/>
+        <location filename="ViewManager/ViewManager.py" line="585"/>
         <source>Print</source>
         <translation>Tisk</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="583"/>
+        <location filename="ViewManager/ViewManager.py" line="585"/>
         <source>&amp;Print</source>
         <translation>&amp;Tisk</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="583"/>
+        <location filename="ViewManager/ViewManager.py" line="585"/>
         <source>Ctrl+P</source>
         <comment>File|Print</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="589"/>
-        <source>Print the current file</source>
-        <translation>Tisk aktuálního souboru</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="591"/>
+        <source>Print the current file</source>
+        <translation>Tisk aktuálního souboru</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="593"/>
         <source>&lt;b&gt;Print File&lt;/b&gt;&lt;p&gt;Print the contents of current editor window.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Tisk souboru&lt;/b&gt;
 &lt;p&gt;Tisk obsahu aktuálního editačního okna.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="615"/>
+        <location filename="ViewManager/ViewManager.py" line="617"/>
         <source>Search File</source>
         <translation>Najít soubor</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="615"/>
+        <location filename="ViewManager/ViewManager.py" line="617"/>
         <source>Search &amp;File...</source>
         <translation>N&amp;ajít soubor...</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="615"/>
+        <location filename="ViewManager/ViewManager.py" line="617"/>
         <source>Alt+Ctrl+F</source>
         <comment>File|Search File</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="621"/>
-        <source>Search for a file</source>
-        <translation>Vyhledat soubor</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="623"/>
+        <source>Search for a file</source>
+        <translation>Vyhledat soubor</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="625"/>
         <source>&lt;b&gt;Search File&lt;/b&gt;&lt;p&gt;Search for a file.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Najít soubor&lt;/b&gt;
 &lt;p&gt;Hledání souboru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="636"/>
+        <location filename="ViewManager/ViewManager.py" line="638"/>
         <source>&amp;File</source>
         <translation>S&amp;oubor</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="637"/>
-        <source>Open &amp;Recent Files</source>
-        <translation>Otevřít poslední soubo&amp;ry</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="639"/>
+        <source>Open &amp;Recent Files</source>
+        <translation>Otevřít poslední soubo&amp;ry</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="641"/>
         <source>Open &amp;Bookmarked Files</source>
         <translation>Otevřít sou&amp;bory ze záložek</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="687"/>
+        <location filename="ViewManager/ViewManager.py" line="689"/>
         <source>File</source>
         <translation>Soubor</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="731"/>
+        <location filename="ViewManager/ViewManager.py" line="733"/>
         <source>Undo</source>
         <translation>Undo</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="731"/>
+        <location filename="ViewManager/ViewManager.py" line="733"/>
         <source>&amp;Undo</source>
         <translation>&amp;Vrátit</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="731"/>
+        <location filename="ViewManager/ViewManager.py" line="733"/>
         <source>Ctrl+Z</source>
         <comment>Edit|Undo</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="731"/>
+        <location filename="ViewManager/ViewManager.py" line="733"/>
         <source>Alt+Backspace</source>
         <comment>Edit|Undo</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="739"/>
-        <source>Undo the last change</source>
-        <translation>Vrátit poslední změnu</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="741"/>
+        <source>Undo the last change</source>
+        <translation>Vrátit poslední změnu</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="743"/>
         <source>&lt;b&gt;Undo&lt;/b&gt;&lt;p&gt;Undo the last change done in the current editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Undo&lt;/b&gt;
 &lt;p&gt;Vrátit poslední změnu v aktuálním editačním okně.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="748"/>
+        <location filename="ViewManager/ViewManager.py" line="750"/>
         <source>Redo</source>
         <translation>Redo</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="748"/>
+        <location filename="ViewManager/ViewManager.py" line="750"/>
         <source>&amp;Redo</source>
         <translation>&amp;Znovu použít</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="748"/>
+        <location filename="ViewManager/ViewManager.py" line="750"/>
         <source>Ctrl+Shift+Z</source>
         <comment>Edit|Redo</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="754"/>
-        <source>Redo the last change</source>
-        <translation>Znovu použít poslední změnu</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="756"/>
+        <source>Redo the last change</source>
+        <translation>Znovu použít poslední změnu</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="758"/>
         <source>&lt;b&gt;Redo&lt;/b&gt;&lt;p&gt;Redo the last change done in the current editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Redo&lt;/b&gt;
 &lt;p&gt;Znovu použít poslení změnu, která byla provedena v aktuálním editačním okně.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="770"/>
+        <location filename="ViewManager/ViewManager.py" line="772"/>
         <source>Revert to last saved state</source>
         <translation>Vrátit se k poslednímu uloženému stavu</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="763"/>
+        <location filename="ViewManager/ViewManager.py" line="765"/>
         <source>Re&amp;vert to last saved state</source>
         <translation>Vrátit se k &amp;poslednímu uloženému stavu</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="763"/>
+        <location filename="ViewManager/ViewManager.py" line="765"/>
         <source>Ctrl+Y</source>
         <comment>Edit|Revert</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="772"/>
+        <location filename="ViewManager/ViewManager.py" line="774"/>
         <source>&lt;b&gt;Revert to last saved state&lt;/b&gt;&lt;p&gt;Undo all changes up to the last saved state of the current editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vrátit poslwední uložený stav&lt;/b&gt;
 &lt;p&gt;Zruší všechny změny, které byly provedeny od posledního uložení.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="782"/>
+        <location filename="ViewManager/ViewManager.py" line="784"/>
         <source>Cut</source>
         <translation>Vyjmout</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="782"/>
+        <location filename="ViewManager/ViewManager.py" line="784"/>
         <source>Cu&amp;t</source>
         <translation>Vyjmou&amp;t</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="782"/>
+        <location filename="ViewManager/ViewManager.py" line="784"/>
         <source>Ctrl+X</source>
         <comment>Edit|Cut</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="782"/>
+        <location filename="ViewManager/ViewManager.py" line="784"/>
         <source>Shift+Del</source>
         <comment>Edit|Cut</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="789"/>
-        <source>Cut the selection</source>
-        <translation>Vyjmout výběr</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="791"/>
+        <source>Cut the selection</source>
+        <translation>Vyjmout výběr</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="793"/>
         <source>&lt;b&gt;Cut&lt;/b&gt;&lt;p&gt;Cut the selected text of the current editor to the clipboard.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vyjmout&lt;/b&gt;
 &lt;p&gt;Vyjme vybraný text z aktuálního editačního okna a vloží jej do schránky.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="798"/>
+        <location filename="ViewManager/ViewManager.py" line="800"/>
         <source>Copy</source>
         <translation>Kopírovat</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="798"/>
+        <location filename="ViewManager/ViewManager.py" line="800"/>
         <source>&amp;Copy</source>
         <translation>&amp;Kopírovat</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="798"/>
+        <location filename="ViewManager/ViewManager.py" line="800"/>
         <source>Ctrl+C</source>
         <comment>Edit|Copy</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="798"/>
+        <location filename="ViewManager/ViewManager.py" line="800"/>
         <source>Ctrl+Ins</source>
         <comment>Edit|Copy</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="806"/>
-        <source>Copy the selection</source>
-        <translation>Kopírovat výběr</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="808"/>
+        <source>Copy the selection</source>
+        <translation>Kopírovat výběr</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="810"/>
         <source>&lt;b&gt;Copy&lt;/b&gt;&lt;p&gt;Copy the selected text of the current editor to the clipboard.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Kopírovat&lt;/b&gt;
 &lt;p&gt;Zkopíruje vybraný text v aktuálním editačním okně a uloží jej do schránky.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="815"/>
+        <location filename="ViewManager/ViewManager.py" line="817"/>
         <source>Paste</source>
         <translation>Vložit</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="815"/>
+        <location filename="ViewManager/ViewManager.py" line="817"/>
         <source>&amp;Paste</source>
         <translation>V&amp;ložit</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="815"/>
+        <location filename="ViewManager/ViewManager.py" line="817"/>
         <source>Ctrl+V</source>
         <comment>Edit|Paste</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="815"/>
+        <location filename="ViewManager/ViewManager.py" line="817"/>
         <source>Shift+Ins</source>
         <comment>Edit|Paste</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="823"/>
-        <source>Paste the last cut/copied text</source>
-        <translation>Vložit text ze schránky</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="825"/>
+        <source>Paste the last cut/copied text</source>
+        <translation>Vložit text ze schránky</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="827"/>
         <source>&lt;b&gt;Paste&lt;/b&gt;&lt;p&gt;Paste the last cut/copied text from the clipboard to the current editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vložit&lt;/b&gt;
 &lt;p&gt;Vloží text, který byl uložen do schránky při předchozím kroku Vyjmout nebo Kopírovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="833"/>
+        <location filename="ViewManager/ViewManager.py" line="835"/>
         <source>Clear</source>
         <translation>Vyčistit</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="833"/>
+        <location filename="ViewManager/ViewManager.py" line="835"/>
         <source>Cl&amp;ear</source>
         <translation>Vyči&amp;stit</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="833"/>
+        <location filename="ViewManager/ViewManager.py" line="835"/>
         <source>Alt+Shift+C</source>
         <comment>Edit|Clear</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="840"/>
-        <source>Clear all text</source>
-        <translation>Vyčistit všechen text</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="842"/>
+        <source>Clear all text</source>
+        <translation>Vyčistit všechen text</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="844"/>
         <source>&lt;b&gt;Clear&lt;/b&gt;&lt;p&gt;Delete all text of the current editor.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vyčistit&lt;/b&gt;
 &lt;p&gt;Smazat všechnen text v aktuálním editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="849"/>
+        <location filename="ViewManager/ViewManager.py" line="851"/>
         <source>Indent</source>
         <translation>Odsadit</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="849"/>
+        <location filename="ViewManager/ViewManager.py" line="851"/>
         <source>&amp;Indent</source>
         <translation>Odsad&amp;it</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="849"/>
+        <location filename="ViewManager/ViewManager.py" line="851"/>
         <source>Ctrl+I</source>
         <comment>Edit|Indent</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="856"/>
+        <location filename="ViewManager/ViewManager.py" line="858"/>
         <source>Indent line</source>
         <translation>Odsadit řádek</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="857"/>
+        <location filename="ViewManager/ViewManager.py" line="859"/>
         <source>&lt;b&gt;Indent&lt;/b&gt;&lt;p&gt;Indents the current line or the lines of the selection by one level.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Odsadit&lt;/b&gt;
 &lt;p&gt;Odsadí aktuální řádek nebo vybrané řádky o jednu úroveň.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="865"/>
+        <location filename="ViewManager/ViewManager.py" line="867"/>
         <source>Unindent</source>
         <translation>Zrušit odsazení</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="865"/>
+        <location filename="ViewManager/ViewManager.py" line="867"/>
         <source>U&amp;nindent</source>
         <translation>Zrušit odsaze&amp;ní</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="865"/>
+        <location filename="ViewManager/ViewManager.py" line="867"/>
         <source>Ctrl+Shift+I</source>
         <comment>Edit|Unindent</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="872"/>
-        <source>Unindent line</source>
-        <translation>Zrušit odsazení řádku</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="874"/>
+        <source>Unindent line</source>
+        <translation>Zrušit odsazení řádku</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="876"/>
         <source>&lt;b&gt;Unindent&lt;/b&gt;&lt;p&gt;Unindents the current line or the lines of the selection by one level.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zrušit odsazení&lt;/b&gt;
 &lt;p&gt;Zruší odsazení akruálního řádku nebo vybraných řádků o jednu úroveň.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="882"/>
+        <location filename="ViewManager/ViewManager.py" line="884"/>
         <source>Smart indent</source>
         <translation>Chytré odsazení</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="882"/>
+        <location filename="ViewManager/ViewManager.py" line="884"/>
         <source>Ctrl+Alt+I</source>
         <comment>Edit|Smart indent</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="890"/>
-        <source>Smart indent Line or Selection</source>
-        <translation>Chytré odsazení řádku nebo výběru</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="892"/>
+        <source>Smart indent Line or Selection</source>
+        <translation>Chytré odsazení řádku nebo výběru</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="894"/>
         <source>&lt;b&gt;Smart indent&lt;/b&gt;&lt;p&gt;Indents the current line or the lines of the current selection smartly.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Chytré odsazení&lt;/b&gt;
 &lt;p&gt;Odsadí aktuální řádek nebo výběr podle významu předchozího kódu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="900"/>
+        <location filename="ViewManager/ViewManager.py" line="902"/>
         <source>Comment</source>
         <translation>Vytvořit Komentář</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="900"/>
+        <location filename="ViewManager/ViewManager.py" line="902"/>
         <source>C&amp;omment</source>
         <translation>Vytvořit K&amp;omentář</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="900"/>
+        <location filename="ViewManager/ViewManager.py" line="902"/>
         <source>Ctrl+M</source>
         <comment>Edit|Comment</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="907"/>
-        <source>Comment Line or Selection</source>
-        <translation>Vytvořit z řádky nebo výběru komentář</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="909"/>
+        <source>Comment Line or Selection</source>
+        <translation>Vytvořit z řádky nebo výběru komentář</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="911"/>
         <source>&lt;b&gt;Comment&lt;/b&gt;&lt;p&gt;Comments the current line or the lines of the current selection.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Komentář&lt;/b&gt;
 &lt;p&gt;Z aktuální řádky nebo vybraných řádků vytvoří komentář.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="917"/>
+        <location filename="ViewManager/ViewManager.py" line="919"/>
         <source>Uncomment</source>
         <translation>Zrušit komentář</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="917"/>
+        <location filename="ViewManager/ViewManager.py" line="919"/>
         <source>Unco&amp;mment</source>
         <translation>Zrušit ko&amp;mentář</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="917"/>
+        <location filename="ViewManager/ViewManager.py" line="919"/>
         <source>Alt+Ctrl+M</source>
         <comment>Edit|Uncomment</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="924"/>
-        <source>Uncomment Line or Selection</source>
-        <translation>Zrušit komentář na řádce nebo výběru</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="926"/>
+        <source>Uncomment Line or Selection</source>
+        <translation>Zrušit komentář na řádce nebo výběru</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="928"/>
         <source>&lt;b&gt;Uncomment&lt;/b&gt;&lt;p&gt;Uncomments the current line or the lines of the current selection.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Zrušit komentář&lt;/b&gt;
 &lt;p&gt;Zruší komentář na aktuálním řádku nebo výběru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="934"/>
+        <location filename="ViewManager/ViewManager.py" line="936"/>
         <source>Stream Comment</source>
         <translation>Stream komentář</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="938"/>
-        <source>Stream Comment Line or Selection</source>
-        <translation>Steram komentář řádky nebo výběru</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="940"/>
+        <source>Stream Comment Line or Selection</source>
+        <translation>Steram komentář řádky nebo výběru</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="942"/>
         <source>&lt;b&gt;Stream Comment&lt;/b&gt;&lt;p&gt;Stream comments the current line or the current selection.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Stream komentář&lt;/b&gt;
 &lt;p&gt;Stream zakomentuje aktuální řádku nebo výběr.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="948"/>
+        <location filename="ViewManager/ViewManager.py" line="950"/>
         <source>Box Comment</source>
         <translation>Box komentář</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="952"/>
-        <source>Box Comment Line or Selection</source>
-        <translation>Box komentář řádku nebo výběru</translation>
-    </message>
-    <message>
         <location filename="ViewManager/ViewManager.py" line="954"/>
+        <source>Box Comment Line or Selection</source>
+        <translation>Box komentář řádku nebo výběru</translation>
+    </message>
+    <message>
+        <location filename="ViewManager/ViewManager.py" line="956"/>
         <source>&lt;b&gt;Box Comment&lt;/b&gt;&lt;p&gt;Box comments the current line or the lines of the current selection.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Box komentář&lt;/b&gt;
 &lt;p&gt;Bok komentář vytvoří komnetář z aktuálního řádku nebo výběru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="962"/>
+        <location filename="ViewManager/ViewManager.py" line="964"/>
         <source>Select to brace</source>
         <translation>Vybrat obsah závorek</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="962"/>
+        <location filename="ViewManager/ViewManager.py" line="964"/>
         <source>Select to &amp;brace</source>
         <translation>Vy&amp;brat obsah závorek</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="962"/>
+        <location filename="ViewManager/ViewManager.py" line="964"/>
         <source>Ctrl+E</source>
         <comment>Edit|Select to brace</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="969"/>
+        <location filename="ViewManager/ViewManager.py" line="971"/>
         <source>Select text to the matching brace</source>
         <translation>Výběr textu, který je mezi závorkami</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="978"/>
+        <location filename="ViewManager/ViewManager.py" line="980"/>
         <source>Select all</source>
         <translation>Vybrat vše</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="978"/>
+        <location filename="ViewManager/ViewManager.py" line="980"/>
         <source>&amp;Select all</source>
         <translation>Vybrat vš&amp;e</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="978"/>
+        <location filename="ViewManager/ViewManager.py" line="980"/>
         <source>Ctrl+A</source>
         <comment>Edit|Select all</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="984"/>
+        <location filename="ViewManager/ViewManager.py" line="986"/>
         <source>Select all text</source>
         <translation>Vybrat všechen text</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="993"/>
+        <location filename="ViewManager/ViewManager.py" line="995"/>
         <source>Deselect all</source>
         <translation>Zrušit celý výběr</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="993"/>
+        <location filename="ViewManager/ViewManager.py" line="995"/>
         <source>&amp;Deselect all</source>
         <translation>Z&amp;rušit celý výběr</translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="993"/>
+        <location filename="ViewManager/ViewManager.py" line="995"/>
         <source>Alt+Ctrl+A</source>
         <comment>Edit|Deselect all</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="ViewManager/ViewManager.py" line="1000"/>
+        <location filename="ViewManager/ViewManager.py" line="1002"/>
         <source>Deselect all text</source>