Mon, 31 Mar 2014 19:27:31 +0200
Refactored the previewer code to allow to add more previewers and started adding support for a QSS previewer.
--- a/APIs/Python3/eric5.api Mon Mar 31 19:13:22 2014 +0200 +++ b/APIs/Python3/eric5.api Mon Mar 31 19:27:31 2014 +0200 @@ -8099,20 +8099,23 @@ eric5.UI.PixmapCache.getPixmap?4(key, cache=pixCache) eric5.UI.PixmapCache.getSymlinkIcon?4(key, cache=pixCache) eric5.UI.PixmapCache.pixCache?7 -eric5.UI.Previewer.PreviewProcessingThread.htmlReady?7 -eric5.UI.Previewer.PreviewProcessingThread.process?4(filePath, language, text, ssiEnabled, rootPath) -eric5.UI.Previewer.PreviewProcessingThread.run?4() -eric5.UI.Previewer.PreviewProcessingThread?1(parent=None) eric5.UI.Previewer.Previewer.hide?4() -eric5.UI.Previewer.Previewer.on_jsCheckBox_clicked?4(checked) -eric5.UI.Previewer.Previewer.on_previewView_linkClicked?4(url) -eric5.UI.Previewer.Previewer.on_previewView_titleChanged?4(title) -eric5.UI.Previewer.Previewer.on_ssiCheckBox_clicked?4(checked) eric5.UI.Previewer.Previewer.show?4() eric5.UI.Previewer.Previewer.shutdown?4() eric5.UI.Previewer.Previewer?1(viewmanager, splitter, parent=None) -eric5.UI.Previewer._StrikeThroughExtension.DEL_RE?7 -eric5.UI.Previewer._StrikeThroughExtension.extendMarkdown?4(md, md_globals) +eric5.UI.Previewers.PreviewerHTML.PreviewProcessingThread.htmlReady?7 +eric5.UI.Previewers.PreviewerHTML.PreviewProcessingThread.process?4(filePath, language, text, ssiEnabled, rootPath) +eric5.UI.Previewers.PreviewerHTML.PreviewProcessingThread.run?4() +eric5.UI.Previewers.PreviewerHTML.PreviewProcessingThread?1(parent=None) +eric5.UI.Previewers.PreviewerHTML.PreviewerHTML.on_jsCheckBox_clicked?4(checked) +eric5.UI.Previewers.PreviewerHTML.PreviewerHTML.on_previewView_linkClicked?4(url) +eric5.UI.Previewers.PreviewerHTML.PreviewerHTML.on_previewView_titleChanged?4(title) +eric5.UI.Previewers.PreviewerHTML.PreviewerHTML.on_ssiCheckBox_clicked?4(checked) +eric5.UI.Previewers.PreviewerHTML.PreviewerHTML.processEditor?4(editor=None) +eric5.UI.Previewers.PreviewerHTML.PreviewerHTML.shutdown?4() +eric5.UI.Previewers.PreviewerHTML.PreviewerHTML?1(parent=None) +eric5.UI.Previewers.PreviewerHTML._StrikeThroughExtension.DEL_RE?7 +eric5.UI.Previewers.PreviewerHTML._StrikeThroughExtension.extendMarkdown?4(md, md_globals) eric5.UI.SearchWidget.SearchWidget.keyPressEvent?4(event) eric5.UI.SearchWidget.SearchWidget.on_closeButton_clicked?4() eric5.UI.SearchWidget.SearchWidget.on_findNextButton_clicked?4()
--- a/APIs/Python3/eric5.bas Mon Mar 31 19:13:22 2014 +0200 +++ b/APIs/Python3/eric5.bas Mon Mar 31 19:27:31 2014 +0200 @@ -529,7 +529,8 @@ PreferencesLexerError Exception PreferencesLexerLanguageError PreferencesLexerError PreviewProcessingThread QThread -Previewer QWidget Ui_Previewer +Previewer QStackedWidget +PreviewerHTML QWidget Ui_PreviewerHTML Printer QsciPrinter PrinterPage ConfigurationPageBase Ui_PrinterPage ProfileTreeWidgetItem QTreeWidgetItem
--- a/Documentation/Help/source.qhp Mon Mar 31 19:13:22 2014 +0200 +++ b/Documentation/Help/source.qhp Mon Mar 31 19:27:31 2014 +0200 @@ -938,6 +938,9 @@ <section title="eric5.Tools.UIPreviewer" ref="eric5.Tools.UIPreviewer.html" /> </section> <section title="eric5.UI" ref="index-eric5.UI.html"> + <section title="eric5.UI.Previewers" ref="index-eric5.UI.Previewers.html"> + <section title="eric5.UI.Previewers.PreviewerHTML" ref="eric5.UI.Previewers.PreviewerHTML.html" /> + </section> <section title="eric5.UI.AuthenticationDialog" ref="eric5.UI.AuthenticationDialog.html" /> <section title="eric5.UI.Browser" ref="eric5.UI.Browser.html" /> <section title="eric5.UI.BrowserModel" ref="eric5.UI.BrowserModel.html" /> @@ -8757,14 +8760,14 @@ <keyword name="PreferencesLexerLanguageError (Constructor)" id="PreferencesLexerLanguageError (Constructor)" ref="eric5.Preferences.PreferencesLexer.html#PreferencesLexerLanguageError.__init__" /> <keyword name="Prefs" id="Prefs" ref="eric5.Preferences.__init__.html#Prefs" /> <keyword name="Prefs.initWebSettingsDefaults" id="Prefs.initWebSettingsDefaults" ref="eric5.Preferences.__init__.html#Prefs.initWebSettingsDefaults" /> - <keyword name="PreviewProcessingThread" id="PreviewProcessingThread" ref="eric5.UI.Previewer.html#PreviewProcessingThread" /> - <keyword name="PreviewProcessingThread (Constructor)" id="PreviewProcessingThread (Constructor)" ref="eric5.UI.Previewer.html#PreviewProcessingThread.__init__" /> - <keyword name="PreviewProcessingThread.__convertMarkdown" id="PreviewProcessingThread.__convertMarkdown" ref="eric5.UI.Previewer.html#PreviewProcessingThread.__convertMarkdown" /> - <keyword name="PreviewProcessingThread.__convertReST" id="PreviewProcessingThread.__convertReST" ref="eric5.UI.Previewer.html#PreviewProcessingThread.__convertReST" /> - <keyword name="PreviewProcessingThread.__getHtml" id="PreviewProcessingThread.__getHtml" ref="eric5.UI.Previewer.html#PreviewProcessingThread.__getHtml" /> - <keyword name="PreviewProcessingThread.__processSSI" id="PreviewProcessingThread.__processSSI" ref="eric5.UI.Previewer.html#PreviewProcessingThread.__processSSI" /> - <keyword name="PreviewProcessingThread.process" id="PreviewProcessingThread.process" ref="eric5.UI.Previewer.html#PreviewProcessingThread.process" /> - <keyword name="PreviewProcessingThread.run" id="PreviewProcessingThread.run" ref="eric5.UI.Previewer.html#PreviewProcessingThread.run" /> + <keyword name="PreviewProcessingThread" id="PreviewProcessingThread" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewProcessingThread" /> + <keyword name="PreviewProcessingThread (Constructor)" id="PreviewProcessingThread (Constructor)" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewProcessingThread.__init__" /> + <keyword name="PreviewProcessingThread.__convertMarkdown" id="PreviewProcessingThread.__convertMarkdown" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewProcessingThread.__convertMarkdown" /> + <keyword name="PreviewProcessingThread.__convertReST" id="PreviewProcessingThread.__convertReST" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewProcessingThread.__convertReST" /> + <keyword name="PreviewProcessingThread.__getHtml" id="PreviewProcessingThread.__getHtml" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewProcessingThread.__getHtml" /> + <keyword name="PreviewProcessingThread.__processSSI" id="PreviewProcessingThread.__processSSI" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewProcessingThread.__processSSI" /> + <keyword name="PreviewProcessingThread.process" id="PreviewProcessingThread.process" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewProcessingThread.process" /> + <keyword name="PreviewProcessingThread.run" id="PreviewProcessingThread.run" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewProcessingThread.run" /> <keyword name="Previewer" id="Previewer" ref="eric5.UI.Previewer.html#Previewer" /> <keyword name="Previewer (Constructor)" id="Previewer (Constructor)" ref="eric5.UI.Previewer.html#Previewer.__init__" /> <keyword name="Previewer (Module)" id="Previewer (Module)" ref="eric5.UI.Previewer.html" /> @@ -8773,19 +8776,25 @@ <keyword name="Previewer.__editorTextChanged" id="Previewer.__editorTextChanged" ref="eric5.UI.Previewer.html#Previewer.__editorTextChanged" /> <keyword name="Previewer.__isPreviewable" id="Previewer.__isPreviewable" ref="eric5.UI.Previewer.html#Previewer.__isPreviewable" /> <keyword name="Previewer.__previewStateChanged" id="Previewer.__previewStateChanged" ref="eric5.UI.Previewer.html#Previewer.__previewStateChanged" /> - <keyword name="Previewer.__restoreScrollBarPositions" id="Previewer.__restoreScrollBarPositions" ref="eric5.UI.Previewer.html#Previewer.__restoreScrollBarPositions" /> - <keyword name="Previewer.__runProcessingThread" id="Previewer.__runProcessingThread" ref="eric5.UI.Previewer.html#Previewer.__runProcessingThread" /> - <keyword name="Previewer.__saveScrollBarPositions" id="Previewer.__saveScrollBarPositions" ref="eric5.UI.Previewer.html#Previewer.__saveScrollBarPositions" /> - <keyword name="Previewer.__setHtml" id="Previewer.__setHtml" ref="eric5.UI.Previewer.html#Previewer.__setHtml" /> - <keyword name="Previewer.__setJavaScriptEnabled" id="Previewer.__setJavaScriptEnabled" ref="eric5.UI.Previewer.html#Previewer.__setJavaScriptEnabled" /> + <keyword name="Previewer.__processEditor" id="Previewer.__processEditor" ref="eric5.UI.Previewer.html#Previewer.__processEditor" /> <keyword name="Previewer.__splitterMoved" id="Previewer.__splitterMoved" ref="eric5.UI.Previewer.html#Previewer.__splitterMoved" /> <keyword name="Previewer.hide" id="Previewer.hide" ref="eric5.UI.Previewer.html#Previewer.hide" /> - <keyword name="Previewer.on_jsCheckBox_clicked" id="Previewer.on_jsCheckBox_clicked" ref="eric5.UI.Previewer.html#Previewer.on_jsCheckBox_clicked" /> - <keyword name="Previewer.on_previewView_linkClicked" id="Previewer.on_previewView_linkClicked" ref="eric5.UI.Previewer.html#Previewer.on_previewView_linkClicked" /> - <keyword name="Previewer.on_previewView_titleChanged" id="Previewer.on_previewView_titleChanged" ref="eric5.UI.Previewer.html#Previewer.on_previewView_titleChanged" /> - <keyword name="Previewer.on_ssiCheckBox_clicked" id="Previewer.on_ssiCheckBox_clicked" ref="eric5.UI.Previewer.html#Previewer.on_ssiCheckBox_clicked" /> <keyword name="Previewer.show" id="Previewer.show" ref="eric5.UI.Previewer.html#Previewer.show" /> <keyword name="Previewer.shutdown" id="Previewer.shutdown" ref="eric5.UI.Previewer.html#Previewer.shutdown" /> + <keyword name="PreviewerHTML" id="PreviewerHTML" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewerHTML" /> + <keyword name="PreviewerHTML (Constructor)" id="PreviewerHTML (Constructor)" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewerHTML.__init__" /> + <keyword name="PreviewerHTML (Module)" id="PreviewerHTML (Module)" ref="eric5.UI.Previewers.PreviewerHTML.html" /> + <keyword name="PreviewerHTML.__restoreScrollBarPositions" id="PreviewerHTML.__restoreScrollBarPositions" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewerHTML.__restoreScrollBarPositions" /> + <keyword name="PreviewerHTML.__saveScrollBarPositions" id="PreviewerHTML.__saveScrollBarPositions" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewerHTML.__saveScrollBarPositions" /> + <keyword name="PreviewerHTML.__setHtml" id="PreviewerHTML.__setHtml" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewerHTML.__setHtml" /> + <keyword name="PreviewerHTML.__setJavaScriptEnabled" id="PreviewerHTML.__setJavaScriptEnabled" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewerHTML.__setJavaScriptEnabled" /> + <keyword name="PreviewerHTML.on_jsCheckBox_clicked" id="PreviewerHTML.on_jsCheckBox_clicked" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewerHTML.on_jsCheckBox_clicked" /> + <keyword name="PreviewerHTML.on_previewView_linkClicked" id="PreviewerHTML.on_previewView_linkClicked" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewerHTML.on_previewView_linkClicked" /> + <keyword name="PreviewerHTML.on_previewView_titleChanged" id="PreviewerHTML.on_previewView_titleChanged" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewerHTML.on_previewView_titleChanged" /> + <keyword name="PreviewerHTML.on_ssiCheckBox_clicked" id="PreviewerHTML.on_ssiCheckBox_clicked" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewerHTML.on_ssiCheckBox_clicked" /> + <keyword name="PreviewerHTML.processEditor" id="PreviewerHTML.processEditor" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewerHTML.processEditor" /> + <keyword name="PreviewerHTML.shutdown" id="PreviewerHTML.shutdown" ref="eric5.UI.Previewers.PreviewerHTML.html#PreviewerHTML.shutdown" /> + <keyword name="Previewers (Package)" id="Previewers (Package)" ref="index-eric5.UI.Previewers.html" /> <keyword name="Printer" id="Printer" ref="eric5.QScintilla.Printer.html#Printer" /> <keyword name="Printer (Constructor)" id="Printer (Constructor)" ref="eric5.QScintilla.Printer.html#Printer.__init__" /> <keyword name="Printer (Module)" id="Printer (Module)" ref="eric5.QScintilla.Printer.html" /> @@ -13035,8 +13044,8 @@ <keyword name="_ClbrBase" id="_ClbrBase" ref="eric5.Utilities.ClassBrowsers.ClbrBaseClasses.html#_ClbrBase" /> <keyword name="_ClbrBase (Constructor)" id="_ClbrBase (Constructor)" ref="eric5.Utilities.ClassBrowsers.ClbrBaseClasses.html#_ClbrBase.__init__" /> <keyword name="_ClbrBase.setEndLine" id="_ClbrBase.setEndLine" ref="eric5.Utilities.ClassBrowsers.ClbrBaseClasses.html#_ClbrBase.setEndLine" /> - <keyword name="_StrikeThroughExtension" id="_StrikeThroughExtension" ref="eric5.UI.Previewer.html#_StrikeThroughExtension" /> - <keyword name="_StrikeThroughExtension.extendMarkdown" id="_StrikeThroughExtension.extendMarkdown" ref="eric5.UI.Previewer.html#_StrikeThroughExtension.extendMarkdown" /> + <keyword name="_StrikeThroughExtension" id="_StrikeThroughExtension" ref="eric5.UI.Previewers.PreviewerHTML.html#_StrikeThroughExtension" /> + <keyword name="_StrikeThroughExtension.extendMarkdown" id="_StrikeThroughExtension.extendMarkdown" ref="eric5.UI.Previewers.PreviewerHTML.html#_StrikeThroughExtension.extendMarkdown" /> <keyword name="__getMasterPassword" id="__getMasterPassword" ref="eric5.Utilities.crypto.__init__.html#__getMasterPassword" /> <keyword name="__getPygmentsLexer" id="__getPygmentsLexer" ref="eric5.QScintilla.Lexers.__init__.html#__getPygmentsLexer" /> <keyword name="__initChannelModesDict" id="__initChannelModesDict" ref="eric5.Network.IRC.IrcUtilities.html#__initChannelModesDict" /> @@ -14518,6 +14527,7 @@ <file>eric5.UI.NumbersWidget.html</file> <file>eric5.UI.PixmapCache.html</file> <file>eric5.UI.Previewer.html</file> + <file>eric5.UI.Previewers.PreviewerHTML.html</file> <file>eric5.UI.SearchWidget.html</file> <file>eric5.UI.SplashScreen.html</file> <file>eric5.UI.SymbolsWidget.html</file> @@ -14686,6 +14696,7 @@ <file>index-eric5.Templates.html</file> <file>index-eric5.Toolbox.html</file> <file>index-eric5.Tools.html</file> + <file>index-eric5.UI.Previewers.html</file> <file>index-eric5.UI.html</file> <file>index-eric5.Utilities.ClassBrowsers.html</file> <file>index-eric5.Utilities.crypto.html</file>
--- a/Documentation/Source/eric5.UI.Browser.html Mon Mar 31 19:13:22 2014 +0200 +++ b/Documentation/Source/eric5.UI.Browser.html Mon Mar 31 19:27:31 2014 +0200 @@ -344,8 +344,8 @@ <dd> a dictionary containing the counts of items belonging to the individual filter classes. The keys of the dictionary - are the unicode representation of the classes given in the - filter (i.e. unicode(filterClass)). The dictionary contains + are the string representation of the classes given in the + filter (i.e. str(filterClass)). The dictionary contains an additional entry with key "sum", that stores the sum of all selected entries fulfilling the filter criteria. </dd>
--- a/Documentation/Source/eric5.UI.Previewer.html Mon Mar 31 19:13:22 2014 +0200 +++ b/Documentation/Source/eric5.UI.Previewer.html Mon Mar 31 19:27:31 2014 +0200 @@ -30,14 +30,8 @@ <h3>Classes</h3> <table> <tr> -<td><a href="#PreviewProcessingThread">PreviewProcessingThread</a></td> -<td>Class implementing a thread to process some text into HTML usable by the previewer view.</td> -</tr><tr> <td><a href="#Previewer">Previewer</a></td> -<td>Class implementing a previewer widget for HTML, Markdown and ReST files.</td> -</tr><tr> -<td><a href="#_StrikeThroughExtension">_StrikeThroughExtension</a></td> -<td>Class is placed here, because it depends on imported markdown, and markdown import is lazy.</td> +<td>Class implementing a previewer widget containing a stack of specialized previewers.</td> </tr> </table> <h3>Functions</h3> @@ -45,189 +39,14 @@ <tr><td>None</td></tr> </table> <hr /><hr /> -<a NAME="PreviewProcessingThread" ID="PreviewProcessingThread"></a> -<h2>PreviewProcessingThread</h2> -<p> - Class implementing a thread to process some text into HTML usable by the - previewer view. -</p><h3>Signals</h3> -<dl> -<dt>htmlReady(str,str)</dt> -<dd> -emitted with the file name and processed HTML - to signal the availability of the processed HTML -</dd> -</dl> -<h3>Derived from</h3> -QThread -<h3>Class Attributes</h3> -<table> -<tr><td>None</td></tr> -</table> -<h3>Class Methods</h3> -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> -<table> -<tr> -<td><a href="#PreviewProcessingThread.__init__">PreviewProcessingThread</a></td> -<td>Constructor</td> -</tr><tr> -<td><a href="#PreviewProcessingThread.__convertMarkdown">__convertMarkdown</a></td> -<td>Private method to convert Markdown text into HTML.</td> -</tr><tr> -<td><a href="#PreviewProcessingThread.__convertReST">__convertReST</a></td> -<td>Private method to convert ReST text into HTML.</td> -</tr><tr> -<td><a href="#PreviewProcessingThread.__getHtml">__getHtml</a></td> -<td>Private method to process the given text depending upon the given language.</td> -</tr><tr> -<td><a href="#PreviewProcessingThread.__processSSI">__processSSI</a></td> -<td>Private method to process the given text for SSI statements.</td> -</tr><tr> -<td><a href="#PreviewProcessingThread.process">process</a></td> -<td>Convert the given text to HTML.</td> -</tr><tr> -<td><a href="#PreviewProcessingThread.run">run</a></td> -<td>Thread function to convert the stored data.</td> -</tr> -</table> -<h3>Static Methods</h3> -<table> -<tr><td>None</td></tr> -</table> -<a NAME="PreviewProcessingThread.__init__" ID="PreviewProcessingThread.__init__"></a> -<h4>PreviewProcessingThread (Constructor)</h4> -<b>PreviewProcessingThread</b>(<i>parent=None</i>) -<p> - Constructor -</p><dl> -<dt><i>parent</i></dt> -<dd> -reference to the parent object (QObject) -</dd> -</dl><a NAME="PreviewProcessingThread.__convertMarkdown" ID="PreviewProcessingThread.__convertMarkdown"></a> -<h4>PreviewProcessingThread.__convertMarkdown</h4> -<b>__convertMarkdown</b>(<i>text</i>) -<p> - Private method to convert Markdown text into HTML. -</p><dl> -<dt><i>text</i></dt> -<dd> -text to be processed (string) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -processed HTML (string) -</dd> -</dl><a NAME="PreviewProcessingThread.__convertReST" ID="PreviewProcessingThread.__convertReST"></a> -<h4>PreviewProcessingThread.__convertReST</h4> -<b>__convertReST</b>(<i>text</i>) -<p> - Private method to convert ReST text into HTML. -</p><dl> -<dt><i>text</i></dt> -<dd> -text to be processed (string) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -processed HTML (string) -</dd> -</dl><a NAME="PreviewProcessingThread.__getHtml" ID="PreviewProcessingThread.__getHtml"></a> -<h4>PreviewProcessingThread.__getHtml</h4> -<b>__getHtml</b>(<i>language, text, ssiEnabled, filePath, rootPath</i>) -<p> - Private method to process the given text depending upon the given - language. -</p><dl> -<dt><i>language</i></dt> -<dd> -language of the text (string) -</dd><dt><i>text</i></dt> -<dd> -to be processed (string) -</dd><dt><i>ssiEnabled</i></dt> -<dd> -flag indicating to do some (limited) SSI processing - (boolean) -</dd><dt><i>filePath</i></dt> -<dd> -file path of the text (string) -</dd><dt><i>rootPath</i></dt> -<dd> -root path to be used for SSI processing (str) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -processed HTML text (string) -</dd> -</dl><a NAME="PreviewProcessingThread.__processSSI" ID="PreviewProcessingThread.__processSSI"></a> -<h4>PreviewProcessingThread.__processSSI</h4> -<b>__processSSI</b>(<i>txt, filename, root</i>) -<p> - Private method to process the given text for SSI statements. -</p><p> - Note: Only a limited subset of SSI statements are supported. -</p><dl> -<dt><i>txt</i></dt> -<dd> -text to be processed (string) -</dd><dt><i>filename</i></dt> -<dd> -name of the file associated with the given text - (string) -</dd><dt><i>root</i></dt> -<dd> -directory of the document root (string) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -processed HTML (string) -</dd> -</dl><a NAME="PreviewProcessingThread.process" ID="PreviewProcessingThread.process"></a> -<h4>PreviewProcessingThread.process</h4> -<b>process</b>(<i>filePath, language, text, ssiEnabled, rootPath</i>) -<p> - Convert the given text to HTML. -</p><dl> -<dt><i>filePath</i></dt> -<dd> -file path of the text (string) -</dd><dt><i>language</i></dt> -<dd> -language of the text (string) -</dd><dt><i>text</i></dt> -<dd> -text to be processed (string) -</dd><dt><i>ssiEnabled</i></dt> -<dd> -flag indicating to do some (limited) SSI processing - (boolean) -</dd><dt><i>rootPath</i></dt> -<dd> -root path to be used for SSI processing (str) -</dd> -</dl><a NAME="PreviewProcessingThread.run" ID="PreviewProcessingThread.run"></a> -<h4>PreviewProcessingThread.run</h4> -<b>run</b>(<i></i>) -<p> - Thread function to convert the stored data. -</p> -<div align="right"><a href="#top">Up</a></div> -<hr /><hr /> <a NAME="Previewer" ID="Previewer"></a> <h2>Previewer</h2> <p> - Class implementing a previewer widget for HTML, Markdown and ReST files. + Class implementing a previewer widget containing a stack of + specialized previewers. </p> <h3>Derived from</h3> -QWidget, Ui_Previewer +QStackedWidget <h3>Class Attributes</h3> <table> <tr><td>None</td></tr> @@ -257,39 +76,15 @@ <td><a href="#Previewer.__previewStateChanged">__previewStateChanged</a></td> <td>Public slot to toggle the display of the preview.</td> </tr><tr> -<td><a href="#Previewer.__restoreScrollBarPositions">__restoreScrollBarPositions</a></td> -<td>Private method to restore scroll bar positions for a previewed editor.</td> -</tr><tr> -<td><a href="#Previewer.__runProcessingThread">__runProcessingThread</a></td> +<td><a href="#Previewer.__processEditor">__processEditor</a></td> <td>Private slot to schedule the processing of the current editor's text.</td> </tr><tr> -<td><a href="#Previewer.__saveScrollBarPositions">__saveScrollBarPositions</a></td> -<td>Private method to save scroll bar positions for a previewed editor.</td> -</tr><tr> -<td><a href="#Previewer.__setHtml">__setHtml</a></td> -<td>Private method to set the HTML to the view and restore the scroll bars positions.</td> -</tr><tr> -<td><a href="#Previewer.__setJavaScriptEnabled">__setJavaScriptEnabled</a></td> -<td>Private method to enable/disable JavaScript.</td> -</tr><tr> <td><a href="#Previewer.__splitterMoved">__splitterMoved</a></td> <td>Private slot to handle the movement of the embedding splitter's handle.</td> </tr><tr> <td><a href="#Previewer.hide">hide</a></td> <td>Public method to hide the preview widget.</td> </tr><tr> -<td><a href="#Previewer.on_jsCheckBox_clicked">on_jsCheckBox_clicked</a></td> -<td>Private slot to enable/disable JavaScript.</td> -</tr><tr> -<td><a href="#Previewer.on_previewView_linkClicked">on_previewView_linkClicked</a></td> -<td>Private slot handling the clicking of a link.</td> -</tr><tr> -<td><a href="#Previewer.on_previewView_titleChanged">on_previewView_titleChanged</a></td> -<td>Private slot to handle a change of the title.</td> -</tr><tr> -<td><a href="#Previewer.on_ssiCheckBox_clicked">on_ssiCheckBox_clicked</a></td> -<td>Private slot to enable/disable SSI.</td> -</tr><tr> <td><a href="#Previewer.show">show</a></td> <td>Public method to show the preview widget.</td> </tr><tr> @@ -373,46 +168,12 @@ <dd> flag indicating to show a preview (boolean) </dd> -</dl><a NAME="Previewer.__restoreScrollBarPositions" ID="Previewer.__restoreScrollBarPositions"></a> -<h4>Previewer.__restoreScrollBarPositions</h4> -<b>__restoreScrollBarPositions</b>(<i></i>) -<p> - Private method to restore scroll bar positions for a previewed editor. -</p><a NAME="Previewer.__runProcessingThread" ID="Previewer.__runProcessingThread"></a> -<h4>Previewer.__runProcessingThread</h4> -<b>__runProcessingThread</b>(<i></i>) +</dl><a NAME="Previewer.__processEditor" ID="Previewer.__processEditor"></a> +<h4>Previewer.__processEditor</h4> +<b>__processEditor</b>(<i></i>) <p> Private slot to schedule the processing of the current editor's text. -</p><a NAME="Previewer.__saveScrollBarPositions" ID="Previewer.__saveScrollBarPositions"></a> -<h4>Previewer.__saveScrollBarPositions</h4> -<b>__saveScrollBarPositions</b>(<i></i>) -<p> - Private method to save scroll bar positions for a previewed editor. -</p><a NAME="Previewer.__setHtml" ID="Previewer.__setHtml"></a> -<h4>Previewer.__setHtml</h4> -<b>__setHtml</b>(<i>filePath, html</i>) -<p> - Private method to set the HTML to the view and restore the scroll bars - positions. -</p><dl> -<dt><i>filePath</i></dt> -<dd> -file path of the previewed editor (string) -</dd><dt><i>html</i></dt> -<dd> -processed HTML text ready to be shown (string) -</dd> -</dl><a NAME="Previewer.__setJavaScriptEnabled" ID="Previewer.__setJavaScriptEnabled"></a> -<h4>Previewer.__setJavaScriptEnabled</h4> -<b>__setJavaScriptEnabled</b>(<i>enable</i>) -<p> - Private method to enable/disable JavaScript. -</p><dl> -<dt><i>enable</i></dt> -<dd> -flag indicating the enable state (boolean) -</dd> -</dl><a NAME="Previewer.__splitterMoved" ID="Previewer.__splitterMoved"></a> +</p><a NAME="Previewer.__splitterMoved" ID="Previewer.__splitterMoved"></a> <h4>Previewer.__splitterMoved</h4> <b>__splitterMoved</b>(<i></i>) <p> @@ -422,47 +183,7 @@ <b>hide</b>(<i></i>) <p> Public method to hide the preview widget. -</p><a NAME="Previewer.on_jsCheckBox_clicked" ID="Previewer.on_jsCheckBox_clicked"></a> -<h4>Previewer.on_jsCheckBox_clicked</h4> -<b>on_jsCheckBox_clicked</b>(<i>checked</i>) -<p> - Private slot to enable/disable JavaScript. -</p><dl> -<dt><i>checked</i></dt> -<dd> -state of the checkbox (boolean) -</dd> -</dl><a NAME="Previewer.on_previewView_linkClicked" ID="Previewer.on_previewView_linkClicked"></a> -<h4>Previewer.on_previewView_linkClicked</h4> -<b>on_previewView_linkClicked</b>(<i>url</i>) -<p> - Private slot handling the clicking of a link. -</p><dl> -<dt><i>url</i></dt> -<dd> -url of the clicked link (QUrl) -</dd> -</dl><a NAME="Previewer.on_previewView_titleChanged" ID="Previewer.on_previewView_titleChanged"></a> -<h4>Previewer.on_previewView_titleChanged</h4> -<b>on_previewView_titleChanged</b>(<i>title</i>) -<p> - Private slot to handle a change of the title. -</p><dl> -<dt><i>title</i></dt> -<dd> -new title (string) -</dd> -</dl><a NAME="Previewer.on_ssiCheckBox_clicked" ID="Previewer.on_ssiCheckBox_clicked"></a> -<h4>Previewer.on_ssiCheckBox_clicked</h4> -<b>on_ssiCheckBox_clicked</b>(<i>checked</i>) -<p> - Private slot to enable/disable SSI. -</p><dl> -<dt><i>checked</i></dt> -<dd> -state of the checkbox (boolean) -</dd> -</dl><a NAME="Previewer.show" ID="Previewer.show"></a> +</p><a NAME="Previewer.show" ID="Previewer.show"></a> <h4>Previewer.show</h4> <b>show</b>(<i></i>) <p> @@ -474,42 +195,5 @@ Public method to perform shutdown actions. </p> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> -<a NAME="_StrikeThroughExtension" ID="_StrikeThroughExtension"></a> -<h2>_StrikeThroughExtension</h2> -<p> - Class is placed here, because it depends on imported markdown, - and markdown import is lazy. -</p><p> - (see http://achinghead.com/ - python-markdown-adding-insert-delete.html this page for - details) -</p> -<h3>Derived from</h3> -markdown.Extension -<h3>Class Attributes</h3> -<table> -<tr><td>DEL_RE</td></tr> -</table> -<h3>Class Methods</h3> -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> -<table> -<tr> -<td><a href="#_StrikeThroughExtension.extendMarkdown">extendMarkdown</a></td> -<td></td> -</tr> -</table> -<h3>Static Methods</h3> -<table> -<tr><td>None</td></tr> -</table> -<a NAME="_StrikeThroughExtension.extendMarkdown" ID="_StrikeThroughExtension.extendMarkdown"></a> -<h4>_StrikeThroughExtension.extendMarkdown</h4> -<b>extendMarkdown</b>(<i>md, md_globals</i>) - -<div align="right"><a href="#top">Up</a></div> <hr /> </body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric5.UI.Previewers.PreviewerHTML.html Mon Mar 31 19:27:31 2014 +0200 @@ -0,0 +1,417 @@ +<!DOCTYPE html> +<html><head> +<title>eric5.UI.Previewers.PreviewerHTML</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric5.UI.Previewers.PreviewerHTML</h1> + +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#PreviewProcessingThread">PreviewProcessingThread</a></td> +<td>Class implementing a thread to process some text into HTML usable by the previewer view.</td> +</tr><tr> +<td><a href="#PreviewerHTML">PreviewerHTML</a></td> +<td>Class implementing a previewer widget for HTML, Markdown and ReST files.</td> +</tr><tr> +<td><a href="#_StrikeThroughExtension">_StrikeThroughExtension</a></td> +<td>Class is placed here, because it depends on imported markdown, and markdown import is lazy.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="PreviewProcessingThread" ID="PreviewProcessingThread"></a> +<h2>PreviewProcessingThread</h2> +<p> + Class implementing a thread to process some text into HTML usable by the + previewer view. +</p><h3>Signals</h3> +<dl> +<dt>htmlReady(str,str)</dt> +<dd> +emitted with the file name and processed HTML + to signal the availability of the processed HTML +</dd> +</dl> +<h3>Derived from</h3> +QThread +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#PreviewProcessingThread.__init__">PreviewProcessingThread</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#PreviewProcessingThread.__convertMarkdown">__convertMarkdown</a></td> +<td>Private method to convert Markdown text into HTML.</td> +</tr><tr> +<td><a href="#PreviewProcessingThread.__convertReST">__convertReST</a></td> +<td>Private method to convert ReST text into HTML.</td> +</tr><tr> +<td><a href="#PreviewProcessingThread.__getHtml">__getHtml</a></td> +<td>Private method to process the given text depending upon the given language.</td> +</tr><tr> +<td><a href="#PreviewProcessingThread.__processSSI">__processSSI</a></td> +<td>Private method to process the given text for SSI statements.</td> +</tr><tr> +<td><a href="#PreviewProcessingThread.process">process</a></td> +<td>Convert the given text to HTML.</td> +</tr><tr> +<td><a href="#PreviewProcessingThread.run">run</a></td> +<td>Thread function to convert the stored data.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="PreviewProcessingThread.__init__" ID="PreviewProcessingThread.__init__"></a> +<h4>PreviewProcessingThread (Constructor)</h4> +<b>PreviewProcessingThread</b>(<i>parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>parent</i></dt> +<dd> +reference to the parent object (QObject) +</dd> +</dl><a NAME="PreviewProcessingThread.__convertMarkdown" ID="PreviewProcessingThread.__convertMarkdown"></a> +<h4>PreviewProcessingThread.__convertMarkdown</h4> +<b>__convertMarkdown</b>(<i>text</i>) +<p> + Private method to convert Markdown text into HTML. +</p><dl> +<dt><i>text</i></dt> +<dd> +text to be processed (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +processed HTML (string) +</dd> +</dl><a NAME="PreviewProcessingThread.__convertReST" ID="PreviewProcessingThread.__convertReST"></a> +<h4>PreviewProcessingThread.__convertReST</h4> +<b>__convertReST</b>(<i>text</i>) +<p> + Private method to convert ReST text into HTML. +</p><dl> +<dt><i>text</i></dt> +<dd> +text to be processed (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +processed HTML (string) +</dd> +</dl><a NAME="PreviewProcessingThread.__getHtml" ID="PreviewProcessingThread.__getHtml"></a> +<h4>PreviewProcessingThread.__getHtml</h4> +<b>__getHtml</b>(<i>language, text, ssiEnabled, filePath, rootPath</i>) +<p> + Private method to process the given text depending upon the given + language. +</p><dl> +<dt><i>language</i></dt> +<dd> +language of the text (string) +</dd><dt><i>text</i></dt> +<dd> +to be processed (string) +</dd><dt><i>ssiEnabled</i></dt> +<dd> +flag indicating to do some (limited) SSI processing + (boolean) +</dd><dt><i>filePath</i></dt> +<dd> +file path of the text (string) +</dd><dt><i>rootPath</i></dt> +<dd> +root path to be used for SSI processing (str) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +processed HTML text (string) +</dd> +</dl><a NAME="PreviewProcessingThread.__processSSI" ID="PreviewProcessingThread.__processSSI"></a> +<h4>PreviewProcessingThread.__processSSI</h4> +<b>__processSSI</b>(<i>txt, filename, root</i>) +<p> + Private method to process the given text for SSI statements. +</p><p> + Note: Only a limited subset of SSI statements are supported. +</p><dl> +<dt><i>txt</i></dt> +<dd> +text to be processed (string) +</dd><dt><i>filename</i></dt> +<dd> +name of the file associated with the given text + (string) +</dd><dt><i>root</i></dt> +<dd> +directory of the document root (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +processed HTML (string) +</dd> +</dl><a NAME="PreviewProcessingThread.process" ID="PreviewProcessingThread.process"></a> +<h4>PreviewProcessingThread.process</h4> +<b>process</b>(<i>filePath, language, text, ssiEnabled, rootPath</i>) +<p> + Convert the given text to HTML. +</p><dl> +<dt><i>filePath</i></dt> +<dd> +file path of the text (string) +</dd><dt><i>language</i></dt> +<dd> +language of the text (string) +</dd><dt><i>text</i></dt> +<dd> +text to be processed (string) +</dd><dt><i>ssiEnabled</i></dt> +<dd> +flag indicating to do some (limited) SSI processing + (boolean) +</dd><dt><i>rootPath</i></dt> +<dd> +root path to be used for SSI processing (str) +</dd> +</dl><a NAME="PreviewProcessingThread.run" ID="PreviewProcessingThread.run"></a> +<h4>PreviewProcessingThread.run</h4> +<b>run</b>(<i></i>) +<p> + Thread function to convert the stored data. +</p> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="PreviewerHTML" ID="PreviewerHTML"></a> +<h2>PreviewerHTML</h2> +<p> + Class implementing a previewer widget for HTML, Markdown and ReST files. +</p> +<h3>Derived from</h3> +QWidget, Ui_PreviewerHTML +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#PreviewerHTML.__init__">PreviewerHTML</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#PreviewerHTML.__restoreScrollBarPositions">__restoreScrollBarPositions</a></td> +<td>Private method to restore scroll bar positions for a previewed editor.</td> +</tr><tr> +<td><a href="#PreviewerHTML.__saveScrollBarPositions">__saveScrollBarPositions</a></td> +<td>Private method to save scroll bar positions for a previewed editor.</td> +</tr><tr> +<td><a href="#PreviewerHTML.__setHtml">__setHtml</a></td> +<td>Private method to set the HTML to the view and restore the scroll bars positions.</td> +</tr><tr> +<td><a href="#PreviewerHTML.__setJavaScriptEnabled">__setJavaScriptEnabled</a></td> +<td>Private method to enable/disable JavaScript.</td> +</tr><tr> +<td><a href="#PreviewerHTML.on_jsCheckBox_clicked">on_jsCheckBox_clicked</a></td> +<td>Private slot to enable/disable JavaScript.</td> +</tr><tr> +<td><a href="#PreviewerHTML.on_previewView_linkClicked">on_previewView_linkClicked</a></td> +<td>Private slot handling the clicking of a link.</td> +</tr><tr> +<td><a href="#PreviewerHTML.on_previewView_titleChanged">on_previewView_titleChanged</a></td> +<td>Private slot to handle a change of the title.</td> +</tr><tr> +<td><a href="#PreviewerHTML.on_ssiCheckBox_clicked">on_ssiCheckBox_clicked</a></td> +<td>Private slot to enable/disable SSI.</td> +</tr><tr> +<td><a href="#PreviewerHTML.processEditor">processEditor</a></td> +<td>Private slot to process an editor's text.</td> +</tr><tr> +<td><a href="#PreviewerHTML.shutdown">shutdown</a></td> +<td>Public method to perform shutdown actions.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="PreviewerHTML.__init__" ID="PreviewerHTML.__init__"></a> +<h4>PreviewerHTML (Constructor)</h4> +<b>PreviewerHTML</b>(<i>parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>parent</i></dt> +<dd> +reference to the parent widget (QWidget) +</dd> +</dl><a NAME="PreviewerHTML.__restoreScrollBarPositions" ID="PreviewerHTML.__restoreScrollBarPositions"></a> +<h4>PreviewerHTML.__restoreScrollBarPositions</h4> +<b>__restoreScrollBarPositions</b>(<i></i>) +<p> + Private method to restore scroll bar positions for a previewed editor. +</p><a NAME="PreviewerHTML.__saveScrollBarPositions" ID="PreviewerHTML.__saveScrollBarPositions"></a> +<h4>PreviewerHTML.__saveScrollBarPositions</h4> +<b>__saveScrollBarPositions</b>(<i></i>) +<p> + Private method to save scroll bar positions for a previewed editor. +</p><a NAME="PreviewerHTML.__setHtml" ID="PreviewerHTML.__setHtml"></a> +<h4>PreviewerHTML.__setHtml</h4> +<b>__setHtml</b>(<i>filePath, html</i>) +<p> + Private method to set the HTML to the view and restore the scroll bars + positions. +</p><dl> +<dt><i>filePath</i></dt> +<dd> +file path of the previewed editor (string) +</dd><dt><i>html</i></dt> +<dd> +processed HTML text ready to be shown (string) +</dd> +</dl><a NAME="PreviewerHTML.__setJavaScriptEnabled" ID="PreviewerHTML.__setJavaScriptEnabled"></a> +<h4>PreviewerHTML.__setJavaScriptEnabled</h4> +<b>__setJavaScriptEnabled</b>(<i>enable</i>) +<p> + Private method to enable/disable JavaScript. +</p><dl> +<dt><i>enable</i></dt> +<dd> +flag indicating the enable state (boolean) +</dd> +</dl><a NAME="PreviewerHTML.on_jsCheckBox_clicked" ID="PreviewerHTML.on_jsCheckBox_clicked"></a> +<h4>PreviewerHTML.on_jsCheckBox_clicked</h4> +<b>on_jsCheckBox_clicked</b>(<i>checked</i>) +<p> + Private slot to enable/disable JavaScript. +</p><dl> +<dt><i>checked</i></dt> +<dd> +state of the checkbox (boolean) +</dd> +</dl><a NAME="PreviewerHTML.on_previewView_linkClicked" ID="PreviewerHTML.on_previewView_linkClicked"></a> +<h4>PreviewerHTML.on_previewView_linkClicked</h4> +<b>on_previewView_linkClicked</b>(<i>url</i>) +<p> + Private slot handling the clicking of a link. +</p><dl> +<dt><i>url</i></dt> +<dd> +url of the clicked link (QUrl) +</dd> +</dl><a NAME="PreviewerHTML.on_previewView_titleChanged" ID="PreviewerHTML.on_previewView_titleChanged"></a> +<h4>PreviewerHTML.on_previewView_titleChanged</h4> +<b>on_previewView_titleChanged</b>(<i>title</i>) +<p> + Private slot to handle a change of the title. +</p><dl> +<dt><i>title</i></dt> +<dd> +new title (string) +</dd> +</dl><a NAME="PreviewerHTML.on_ssiCheckBox_clicked" ID="PreviewerHTML.on_ssiCheckBox_clicked"></a> +<h4>PreviewerHTML.on_ssiCheckBox_clicked</h4> +<b>on_ssiCheckBox_clicked</b>(<i>checked</i>) +<p> + Private slot to enable/disable SSI. +</p><dl> +<dt><i>checked</i></dt> +<dd> +state of the checkbox (boolean) +</dd> +</dl><a NAME="PreviewerHTML.processEditor" ID="PreviewerHTML.processEditor"></a> +<h4>PreviewerHTML.processEditor</h4> +<b>processEditor</b>(<i>editor=None</i>) +<p> + Private slot to process an editor's text. +</p><dl> +<dt><i>editor</i></dt> +<dd> +editor to be processed (Editor) +</dd> +</dl><a NAME="PreviewerHTML.shutdown" ID="PreviewerHTML.shutdown"></a> +<h4>PreviewerHTML.shutdown</h4> +<b>shutdown</b>(<i></i>) +<p> + Public method to perform shutdown actions. +</p> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="_StrikeThroughExtension" ID="_StrikeThroughExtension"></a> +<h2>_StrikeThroughExtension</h2> +<p> + Class is placed here, because it depends on imported markdown, + and markdown import is lazy. +</p><p> + (see http://achinghead.com/ + python-markdown-adding-insert-delete.html this page for + details) +</p> +<h3>Derived from</h3> +markdown.Extension +<h3>Class Attributes</h3> +<table> +<tr><td>DEL_RE</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#_StrikeThroughExtension.extendMarkdown">extendMarkdown</a></td> +<td></td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="_StrikeThroughExtension.extendMarkdown" ID="_StrikeThroughExtension.extendMarkdown"></a> +<h4>_StrikeThroughExtension.extendMarkdown</h4> +<b>extendMarkdown</b>(<i>md, md_globals</i>) + +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/index-eric5.UI.Previewers.html Mon Mar 31 19:27:31 2014 +0200 @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html><head> +<title>eric5.UI.Previewers</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body> +<h1>eric5.UI.Previewers</h1> +<p> +Package containing the various previewer modules. +</p> + + +<h3>Modules</h3> +<table> +<tr> +<td><a href="eric5.UI.Previewers.PreviewerHTML.html">PreviewerHTML</a></td> +<td></td> +</tr> +</table> +</body></html> \ No newline at end of file
--- a/Documentation/Source/index-eric5.UI.html Mon Mar 31 19:13:22 2014 +0200 +++ b/Documentation/Source/index-eric5.UI.html Mon Mar 31 19:27:31 2014 +0200 @@ -27,6 +27,13 @@ dialogs as well as dialogs not fitting the other more specific categories. </p> +<h3>Packages</h3> +<table> +<tr> +<td><a href="index-eric5.UI.Previewers.html">Previewers</a></td> +<td>Package containing the various previewer modules.</td> +</tr> +</table> <h3>Modules</h3> <table>
--- a/Preferences/ConfigurationPages/EditorFilePage.py Mon Mar 31 19:13:22 2014 +0200 +++ b/Preferences/ConfigurationPages/EditorFilePage.py Mon Mar 31 19:27:31 2014 +0200 @@ -85,6 +85,8 @@ Preferences.getEditor("PreviewMarkdownFileNameExtensions"))) self.previewRestExtensionsEdit.setText( " ".join(Preferences.getEditor("PreviewRestFileNameExtensions"))) + self.previewQssExtensionsEdit.setText( + " ".join(Preferences.getEditor("PreviewQssFileNameExtensions"))) def save(self): """ @@ -148,6 +150,10 @@ "PreviewRestFileNameExtensions", [ext.strip() for ext in self.previewRestExtensionsEdit.text().split()]) + Preferences.setEditor( + "PreviewQssFileNameExtensions", + [ext.strip() for ext in + self.previewQssExtensionsEdit.text().split()]) def __setDefaultFiltersLists(self, keepSelection=False): """
--- a/Preferences/ConfigurationPages/EditorFilePage.ui Mon Mar 31 19:13:22 2014 +0200 +++ b/Preferences/ConfigurationPages/EditorFilePage.ui Mon Mar 31 19:27:31 2014 +0200 @@ -487,6 +487,20 @@ </property> </widget> </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_9"> + <property name="text"> + <string>Extensions of QSS files:</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QLineEdit" name="previewQssExtensionsEdit"> + <property name="toolTip"> + <string>Enter the filename extensions of Qt Stylesheet files that may be previewed (separated by a space)</string> + </property> + </widget> + </item> </layout> </widget> </item>
--- a/Preferences/__init__.py Mon Mar 31 19:13:22 2014 +0200 +++ b/Preferences/__init__.py Mon Mar 31 19:27:31 2014 +0200 @@ -373,6 +373,7 @@ "PreviewHtmlFileNameExtensions": ["html", "htm", "svg", "asp", "kid"], "PreviewMarkdownFileNameExtensions": ["md", "markdown"], "PreviewRestFileNameExtensions": ["rst"], + "PreviewQssFileNameExtensions": ["qss"], "VirtualSpaceOptions": QsciScintilla.SCVS_NONE,
--- a/UI/Previewer.py Mon Mar 31 19:13:22 2014 +0200 +++ b/UI/Previewer.py Mon Mar 31 19:27:31 2014 +0200 @@ -8,24 +8,17 @@ """ import os -import threading -import re -from PyQt4.QtCore import pyqtSlot, pyqtSignal, Qt, QTimer, QSize, QUrl, QThread -from PyQt4.QtGui import QWidget -from PyQt4.QtWebKit import QWebPage - -from E5Gui.E5Application import e5App - -from .Ui_Previewer import Ui_Previewer +from PyQt4.QtCore import QTimer +from PyQt4.QtGui import QStackedWidget import Preferences -import Utilities -class Previewer(QWidget, Ui_Previewer): +class Previewer(QStackedWidget): """ - Class implementing a previewer widget for HTML, Markdown and ReST files. + Class implementing a previewer widget containing a stack of + specialized previewers. """ def __init__(self, viewmanager, splitter, parent=None): """ @@ -36,29 +29,18 @@ @param parent reference to the parent widget (QWidget) """ super().__init__(parent) - self.setupUi(self) self.__vm = viewmanager self.__splitter = splitter self.__firstShow = True - self.previewView.page().setLinkDelegationPolicy( - QWebPage.DelegateAllLinks) + self.__htmlPreviewer = None # Don't update too often because the UI might become sluggish self.__typingTimer = QTimer() self.__typingTimer.setInterval(500) # 500ms - self.__typingTimer.timeout.connect(self.__runProcessingThread) - - self.__scrollBarPositions = {} - self.__vScrollBarAtEnd = {} - self.__hScrollBarAtEnd = {} - - self.__processingThread = PreviewProcessingThread() - self.__processingThread.htmlReady.connect(self.__setHtml) - - self.__previewedPath = None + self.__typingTimer.timeout.connect(self.__processEditor) self.__vm.editorChangedEd.connect(self.__editorChanged) self.__vm.editorLanguageChanged.connect(self.__editorLanguageChanged) @@ -78,10 +60,6 @@ if self.__firstShow: self.__splitter.restoreState( Preferences.getUI("PreviewSplitterState")) - self.jsCheckBox.setChecked( - Preferences.getUI("ShowFilePreviewJS")) - self.ssiCheckBox.setChecked( - Preferences.getUI("ShowFilePreviewSSI")) self.__firstShow = False self.__typingTimer.start() @@ -97,7 +75,7 @@ Public method to perform shutdown actions. """ self.__typingTimer.stop() - self.__processingThread.wait() + self.__htmlPreviewer and self.__htmlPreviewer.shutdown() def __splitterMoved(self): """ @@ -106,39 +84,6 @@ state = self.__splitter.saveState() Preferences.setUI("PreviewSplitterState", state) - @pyqtSlot(bool) - def on_jsCheckBox_clicked(self, checked): - """ - Private slot to enable/disable JavaScript. - - @param checked state of the checkbox (boolean) - """ - Preferences.setUI("ShowFilePreviewJS", checked) - self.__setJavaScriptEnabled(checked) - - def __setJavaScriptEnabled(self, enable): - """ - Private method to enable/disable JavaScript. - - @param enable flag indicating the enable state (boolean) - """ - self.jsCheckBox.setChecked(enable) - - settings = self.previewView.settings() - settings.setAttribute(settings.JavascriptEnabled, enable) - - self.__runProcessingThread() - - @pyqtSlot(bool) - def on_ssiCheckBox_clicked(self, checked): - """ - Private slot to enable/disable SSI. - - @param checked state of the checkbox (boolean) - """ - Preferences.setUI("ShowFilePreviewSSI", checked) - self.__runProcessingThread() - def __editorChanged(self, editor): """ Private slot to handle a change of the current editor. @@ -152,7 +97,7 @@ if Preferences.getUI("ShowFilePreview") and \ self.__isPreviewable(editor): self.show() - self.__runProcessingThread() + self.__processEditor() else: self.hide() @@ -208,7 +153,7 @@ return False - def __runProcessingThread(self): + def __processEditor(self): """ Private slot to schedule the processing of the current editor's text. """ @@ -232,311 +177,19 @@ elif extension in \ Preferences.getEditor("PreviewRestFileNameExtensions"): language = "ReST" - else: - self.__setHtml(fn, self.tr( - "<p>No preview available for this type of file.</p>")) - return - - if fn: - project = e5App().getObject("Project") - if project.isProjectFile(fn): - rootPath = project.getProjectPath() - else: - rootPath = os.path.dirname(os.path.abspath(fn)) + elif extension in \ + Preferences.getEditor("PreviewQssFileNameExtensions"): + language = "QSS" else: - rootPath = "" - - self.__processingThread.process( - fn, language, editor.text(), - self.ssiCheckBox.isChecked(), rootPath) - - def __setHtml(self, filePath, html): - """ - Private method to set the HTML to the view and restore the scroll bars - positions. - - @param filePath file path of the previewed editor (string) - @param html processed HTML text ready to be shown (string) - """ - self.__saveScrollBarPositions() - self.__previewedPath = Utilities.normcasepath( - Utilities.fromNativeSeparators(filePath)) - self.previewView.page().mainFrame().contentsSizeChanged.connect( - self.__restoreScrollBarPositions) - self.previewView.setHtml(html, baseUrl=QUrl.fromLocalFile(filePath)) - - @pyqtSlot(str) - def on_previewView_titleChanged(self, title): - """ - Private slot to handle a change of the title. - - @param title new title (string) - """ - if title: - self.titleLabel.setText(self.tr("Preview - {0}").format(title)) - else: - self.titleLabel.setText(self.tr("Preview")) - - def __saveScrollBarPositions(self): - """ - Private method to save scroll bar positions for a previewed editor. - """ - frame = self.previewView.page().mainFrame() - if frame.contentsSize() == QSize(0, 0): - return # no valid data, nothing to save - - pos = frame.scrollPosition() - self.__scrollBarPositions[self.__previewedPath] = pos - self.__hScrollBarAtEnd[self.__previewedPath] = \ - frame.scrollBarMaximum(Qt.Horizontal) == pos.x() - self.__vScrollBarAtEnd[self.__previewedPath] = \ - frame.scrollBarMaximum(Qt.Vertical) == pos.y() - - def __restoreScrollBarPositions(self): - """ - Private method to restore scroll bar positions for a previewed editor. - """ - try: - self.previewView.page().mainFrame().contentsSizeChanged.disconnect( - self.__restoreScrollBarPositions) - except TypeError: - # not connected, simply ignore it - pass - - if self.__previewedPath not in self.__scrollBarPositions: - return - - frame = self.previewView.page().mainFrame() - frame.setScrollPosition( - self.__scrollBarPositions[self.__previewedPath]) - - if self.__hScrollBarAtEnd[self.__previewedPath]: - frame.setScrollBarValue( - Qt.Horizontal, frame.scrollBarMaximum(Qt.Horizontal)) - - if self.__vScrollBarAtEnd[self.__previewedPath]: - frame.setScrollBarValue( - Qt.Vertical, frame.scrollBarMaximum(Qt.Vertical)) - - @pyqtSlot(QUrl) - def on_previewView_linkClicked(self, url): - """ - Private slot handling the clicking of a link. - - @param url url of the clicked link (QUrl) - """ - e5App().getObject("UserInterface").launchHelpViewer(url.toString()) - - -class PreviewProcessingThread(QThread): - """ - Class implementing a thread to process some text into HTML usable by the - previewer view. - - @signal htmlReady(str,str) emitted with the file name and processed HTML - to signal the availability of the processed HTML - """ - htmlReady = pyqtSignal(str, str) - - def __init__(self, parent=None): - """ - Constructor - - @param parent reference to the parent object (QObject) - """ - super().__init__() - - self.__lock = threading.Lock() - - def process(self, filePath, language, text, ssiEnabled, rootPath): - """ - Convert the given text to HTML. - - @param filePath file path of the text (string) - @param language language of the text (string) - @param text text to be processed (string) - @param ssiEnabled flag indicating to do some (limited) SSI processing - (boolean) - @param rootPath root path to be used for SSI processing (str) - """ - with self.__lock: - self.__filePath = filePath - self.__language = language - self.__text = text - self.__ssiEnabled = ssiEnabled - self.__rootPath = rootPath - self.__haveData = True - if not self.isRunning(): - self.start(QThread.LowPriority) - - def run(self): - """ - Thread function to convert the stored data. - """ - while True: - # exits with break - with self.__lock: - filePath = self.__filePath - language = self.__language - text = self.__text - ssiEnabled = self.__ssiEnabled - rootPath = self.__rootPath - self.__haveData = False - - html = self.__getHtml(language, text, ssiEnabled, filePath, - rootPath) + language = "" - with self.__lock: - if not self.__haveData: - self.htmlReady.emit(filePath, html) - break - # else - next iteration - - def __getHtml(self, language, text, ssiEnabled, filePath, rootPath): - """ - Private method to process the given text depending upon the given - language. - - @param language language of the text (string) - @param text to be processed (string) - @param ssiEnabled flag indicating to do some (limited) SSI processing - (boolean) - @param filePath file path of the text (string) - @param rootPath root path to be used for SSI processing (str) - @return processed HTML text (string) - """ - if language == "HTML": - if ssiEnabled: - return self.__processSSI(text, filePath, rootPath) - else: - return text - elif language == "Markdown": - return self.__convertMarkdown(text) - elif language == "ReST": - return self.__convertReST(text) - else: - return self.tr( - "<p>No preview available for this type of file.</p>") - - def __processSSI(self, txt, filename, root): - """ - Private method to process the given text for SSI statements. - - Note: Only a limited subset of SSI statements are supported. - - @param txt text to be processed (string) - @param filename name of the file associated with the given text - (string) - @param root directory of the document root (string) - @return processed HTML (string) - """ - if not filename: - return txt - - # SSI include - incRe = re.compile( - r"""<!--#include[ \t]+(virtual|file)=[\"']([^\"']+)[\"']\s*-->""", - re.IGNORECASE) - baseDir = os.path.dirname(os.path.abspath(filename)) - docRoot = root if root != "" else baseDir - while True: - incMatch = incRe.search(txt) - if incMatch is None: - break - - if incMatch.group(1) == "virtual": - incFile = Utilities.normjoinpath(docRoot, incMatch.group(2)) - elif incMatch.group(1) == "file": - incFile = Utilities.normjoinpath(baseDir, incMatch.group(2)) - else: - incFile = "" - if os.path.exists(incFile): - try: - f = open(incFile, "r") - incTxt = f.read() - f.close() - except (IOError, OSError): - # remove SSI include - incTxt = "" - else: - # remove SSI include - incTxt = "" - txt = txt[:incMatch.start(0)] + incTxt + txt[incMatch.end(0):] - - return txt - - def __convertReST(self, text): - """ - Private method to convert ReST text into HTML. - - @param text text to be processed (string) - @return processed HTML (string) - """ - try: - import docutils.core # __IGNORE_EXCEPTION__ __IGNORE_WARNING__ - except ImportError: - return self.tr( - """<p>ReStructuredText preview requires the""" - """ <b>python-docutils</b> package.<br/>Install it with""" - """ your package manager or see""" - """ <a href="http://pypi.python.org/pypi/docutils">""" - """this page.</a></p>""") - - return docutils.core.publish_string(text, writer_name='html')\ - .decode("utf-8") - - def __convertMarkdown(self, text): - """ - Private method to convert Markdown text into HTML. - - @param text text to be processed (string) - @return processed HTML (string) - """ - try: - import markdown # __IGNORE_EXCEPTION__ __IGNORE_WARNING__ - except ImportError: - return self.tr( - """<p>Markdown preview requires the <b>python-markdown</b> """ - """package.<br/>Install it with your package manager or see """ - """<a href="http://pythonhosted.org/Markdown/install.html">""" - """installation instructions.</a></p>""") - - try: - import mdx_mathjax # __IGNORE_EXCEPTION__ __IGNORE_WARNING__ - except ImportError: - #mathjax doesn't require import statement if installed as extension - pass - - extensions = ['fenced_code', 'nl2br', 'extra'] - - # version 2.0 supports only extension names, not instances - if markdown.version_info[0] > 2 or \ - (markdown.version_info[0] == 2 and - markdown.version_info[1] > 0): - class _StrikeThroughExtension(markdown.Extension): - """ - Class is placed here, because it depends on imported markdown, - and markdown import is lazy. - - (see http://achinghead.com/ - python-markdown-adding-insert-delete.html this page for - details) - """ - DEL_RE = r'(~~)(.*?)~~' - - def extendMarkdown(self, md, md_globals): - # Create the del pattern - del_tag = markdown.inlinepatterns.SimpleTagPattern( - self.DEL_RE, 'del') - # Insert del pattern into markdown parser - md.inlinePatterns.add('del', del_tag, '>not_strong') - - extensions.append(_StrikeThroughExtension()) - - try: - return markdown.markdown(text, extensions + ['mathjax']) - except (ImportError, ValueError): - # markdown raises ValueError or ImportError, depends on version - # It is not clear, how to distinguish missing mathjax from other - # errors. So keep going without mathjax. - return markdown.markdown(text, extensions) + if language in ["HTML", "Markdown", "ReST"]: + if self.__htmlPreviewer is None: + from .Previewers.PreviewerHTML import PreviewerHTML + self.__htmlPreviewer = PreviewerHTML() + self.addWidget(self.__htmlPreviewer) + self.setCurrentWidget(self.__htmlPreviewer) + self.__htmlPreviewer.processEditor(editor) + elif language == "QSS": + # TODO: add QSS + pass
--- a/UI/Previewer.ui Mon Mar 31 19:13:22 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>Previewer</class> - <widget class="QWidget" name="Previewer"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>400</width> - <height>400</height> - </rect> - </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <widget class="QLabel" name="titleLabel"> - <property name="wordWrap"> - <bool>true</bool> - </property> - <property name="textInteractionFlags"> - <set>Qt::NoTextInteraction</set> - </property> - </widget> - </item> - <item> - <widget class="QWebView" name="previewView"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Expanding"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="contextMenuPolicy"> - <enum>Qt::NoContextMenu</enum> - </property> - <property name="url"> - <url> - <string>about:blank</string> - </url> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="jsCheckBox"> - <property name="toolTip"> - <string>Select to enable JavaScript for HTML previews</string> - </property> - <property name="text"> - <string>Enable JavaScript</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="ssiCheckBox"> - <property name="toolTip"> - <string>Select to enable support for Server Side Includes</string> - </property> - <property name="text"> - <string>Enable Server Side Includes</string> - </property> - </widget> - </item> - </layout> - </widget> - <customwidgets> - <customwidget> - <class>QWebView</class> - <extends>QWidget</extends> - <header>QtWebKit/QWebView</header> - </customwidget> - </customwidgets> - <resources/> - <connections/> -</ui>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/UI/Previewers/PreviewerHTML.py Mon Mar 31 19:27:31 2014 +0200 @@ -0,0 +1,431 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" + +""" + +import os +import threading +import re + +from PyQt4.QtCore import pyqtSlot, pyqtSignal, Qt, QUrl, QSize, QThread +from PyQt4.QtGui import QWidget +from PyQt4.QtWebKit import QWebPage + +from E5Gui.E5Application import e5App + +from .Ui_PreviewerHTML import Ui_PreviewerHTML + +import Utilities +import Preferences + + +class PreviewerHTML(QWidget, Ui_PreviewerHTML): + """ + Class implementing a previewer widget for HTML, Markdown and ReST files. + """ + def __init__(self, parent=None): + """ + Constructor + + @param parent reference to the parent widget (QWidget) + """ + super().__init__(parent) + self.setupUi(self) + + self.jsCheckBox.setChecked( + Preferences.getUI("ShowFilePreviewJS")) + self.ssiCheckBox.setChecked( + Preferences.getUI("ShowFilePreviewSSI")) + + self.previewView.page().setLinkDelegationPolicy( + QWebPage.DelegateAllLinks) + + self.__scrollBarPositions = {} + self.__vScrollBarAtEnd = {} + self.__hScrollBarAtEnd = {} + + self.__processingThread = PreviewProcessingThread() + self.__processingThread.htmlReady.connect(self.__setHtml) + + self.__previewedPath = None + self.__previewedEditor = None + + def shutdown(self): + """ + Public method to perform shutdown actions. + """ + self.__processingThread.wait() + + @pyqtSlot(bool) + def on_jsCheckBox_clicked(self, checked): + """ + Private slot to enable/disable JavaScript. + + @param checked state of the checkbox (boolean) + """ + Preferences.setUI("ShowFilePreviewJS", checked) + self.__setJavaScriptEnabled(checked) + + def __setJavaScriptEnabled(self, enable): + """ + Private method to enable/disable JavaScript. + + @param enable flag indicating the enable state (boolean) + """ + self.jsCheckBox.setChecked(enable) + + settings = self.previewView.settings() + settings.setAttribute(settings.JavascriptEnabled, enable) + + self.processEditor() + + @pyqtSlot(bool) + def on_ssiCheckBox_clicked(self, checked): + """ + Private slot to enable/disable SSI. + + @param checked state of the checkbox (boolean) + """ + Preferences.setUI("ShowFilePreviewSSI", checked) + self.processEditor() + + def processEditor(self, editor=None): + """ + Private slot to process an editor's text. + + @param editor editor to be processed (Editor) + """ + if editor is None: + editor = self.__previewedEditor + else: + self.__previewedEditor = editor + + if editor is not None: + fn = editor.getFileName() + + if fn: + extension = os.path.normcase(os.path.splitext(fn)[1][1:]) + else: + extension = "" + if extension in \ + Preferences.getEditor("PreviewHtmlFileNameExtensions") or \ + editor.getLanguage() == "HTML": + language = "HTML" + elif extension in \ + Preferences.getEditor("PreviewMarkdownFileNameExtensions"): + language = "Markdown" + elif extension in \ + Preferences.getEditor("PreviewRestFileNameExtensions"): + language = "ReST" + else: + self.__setHtml(fn, self.tr( + "<p>No preview available for this type of file.</p>")) + return + + if fn: + project = e5App().getObject("Project") + if project.isProjectFile(fn): + rootPath = project.getProjectPath() + else: + rootPath = os.path.dirname(os.path.abspath(fn)) + else: + rootPath = "" + + self.__processingThread.process( + fn, language, editor.text(), + self.ssiCheckBox.isChecked(), rootPath) + + def __setHtml(self, filePath, html): + """ + Private method to set the HTML to the view and restore the scroll bars + positions. + + @param filePath file path of the previewed editor (string) + @param html processed HTML text ready to be shown (string) + """ + self.__saveScrollBarPositions() + self.__previewedPath = Utilities.normcasepath( + Utilities.fromNativeSeparators(filePath)) + self.previewView.page().mainFrame().contentsSizeChanged.connect( + self.__restoreScrollBarPositions) + self.previewView.setHtml(html, baseUrl=QUrl.fromLocalFile(filePath)) + + @pyqtSlot(str) + def on_previewView_titleChanged(self, title): + """ + Private slot to handle a change of the title. + + @param title new title (string) + """ + if title: + self.titleLabel.setText(self.tr("Preview - {0}").format(title)) + else: + self.titleLabel.setText(self.tr("Preview")) + + def __saveScrollBarPositions(self): + """ + Private method to save scroll bar positions for a previewed editor. + """ + frame = self.previewView.page().mainFrame() + if frame.contentsSize() == QSize(0, 0): + return # no valid data, nothing to save + + pos = frame.scrollPosition() + self.__scrollBarPositions[self.__previewedPath] = pos + self.__hScrollBarAtEnd[self.__previewedPath] = \ + frame.scrollBarMaximum(Qt.Horizontal) == pos.x() + self.__vScrollBarAtEnd[self.__previewedPath] = \ + frame.scrollBarMaximum(Qt.Vertical) == pos.y() + + def __restoreScrollBarPositions(self): + """ + Private method to restore scroll bar positions for a previewed editor. + """ + try: + self.previewView.page().mainFrame().contentsSizeChanged.disconnect( + self.__restoreScrollBarPositions) + except TypeError: + # not connected, simply ignore it + pass + + if self.__previewedPath not in self.__scrollBarPositions: + return + + frame = self.previewView.page().mainFrame() + frame.setScrollPosition( + self.__scrollBarPositions[self.__previewedPath]) + + if self.__hScrollBarAtEnd[self.__previewedPath]: + frame.setScrollBarValue( + Qt.Horizontal, frame.scrollBarMaximum(Qt.Horizontal)) + + if self.__vScrollBarAtEnd[self.__previewedPath]: + frame.setScrollBarValue( + Qt.Vertical, frame.scrollBarMaximum(Qt.Vertical)) + + @pyqtSlot(QUrl) + def on_previewView_linkClicked(self, url): + """ + Private slot handling the clicking of a link. + + @param url url of the clicked link (QUrl) + """ + e5App().getObject("UserInterface").launchHelpViewer(url.toString()) + + +class PreviewProcessingThread(QThread): + """ + Class implementing a thread to process some text into HTML usable by the + previewer view. + + @signal htmlReady(str,str) emitted with the file name and processed HTML + to signal the availability of the processed HTML + """ + htmlReady = pyqtSignal(str, str) + + def __init__(self, parent=None): + """ + Constructor + + @param parent reference to the parent object (QObject) + """ + super().__init__() + + self.__lock = threading.Lock() + + def process(self, filePath, language, text, ssiEnabled, rootPath): + """ + Convert the given text to HTML. + + @param filePath file path of the text (string) + @param language language of the text (string) + @param text text to be processed (string) + @param ssiEnabled flag indicating to do some (limited) SSI processing + (boolean) + @param rootPath root path to be used for SSI processing (str) + """ + with self.__lock: + self.__filePath = filePath + self.__language = language + self.__text = text + self.__ssiEnabled = ssiEnabled + self.__rootPath = rootPath + self.__haveData = True + if not self.isRunning(): + self.start(QThread.LowPriority) + + def run(self): + """ + Thread function to convert the stored data. + """ + while True: + # exits with break + with self.__lock: + filePath = self.__filePath + language = self.__language + text = self.__text + ssiEnabled = self.__ssiEnabled + rootPath = self.__rootPath + self.__haveData = False + + html = self.__getHtml(language, text, ssiEnabled, filePath, + rootPath) + + with self.__lock: + if not self.__haveData: + self.htmlReady.emit(filePath, html) + break + # else - next iteration + + def __getHtml(self, language, text, ssiEnabled, filePath, rootPath): + """ + Private method to process the given text depending upon the given + language. + + @param language language of the text (string) + @param text to be processed (string) + @param ssiEnabled flag indicating to do some (limited) SSI processing + (boolean) + @param filePath file path of the text (string) + @param rootPath root path to be used for SSI processing (str) + @return processed HTML text (string) + """ + if language == "HTML": + if ssiEnabled: + return self.__processSSI(text, filePath, rootPath) + else: + return text + elif language == "Markdown": + return self.__convertMarkdown(text) + elif language == "ReST": + return self.__convertReST(text) + else: + return self.tr( + "<p>No preview available for this type of file.</p>") + + def __processSSI(self, txt, filename, root): + """ + Private method to process the given text for SSI statements. + + Note: Only a limited subset of SSI statements are supported. + + @param txt text to be processed (string) + @param filename name of the file associated with the given text + (string) + @param root directory of the document root (string) + @return processed HTML (string) + """ + if not filename: + return txt + + # SSI include + incRe = re.compile( + r"""<!--#include[ \t]+(virtual|file)=[\"']([^\"']+)[\"']\s*-->""", + re.IGNORECASE) + baseDir = os.path.dirname(os.path.abspath(filename)) + docRoot = root if root != "" else baseDir + while True: + incMatch = incRe.search(txt) + if incMatch is None: + break + + if incMatch.group(1) == "virtual": + incFile = Utilities.normjoinpath(docRoot, incMatch.group(2)) + elif incMatch.group(1) == "file": + incFile = Utilities.normjoinpath(baseDir, incMatch.group(2)) + else: + incFile = "" + if os.path.exists(incFile): + try: + f = open(incFile, "r") + incTxt = f.read() + f.close() + except (IOError, OSError): + # remove SSI include + incTxt = "" + else: + # remove SSI include + incTxt = "" + txt = txt[:incMatch.start(0)] + incTxt + txt[incMatch.end(0):] + + return txt + + def __convertReST(self, text): + """ + Private method to convert ReST text into HTML. + + @param text text to be processed (string) + @return processed HTML (string) + """ + try: + import docutils.core # __IGNORE_EXCEPTION__ __IGNORE_WARNING__ + except ImportError: + return self.tr( + """<p>ReStructuredText preview requires the""" + """ <b>python-docutils</b> package.<br/>Install it with""" + """ your package manager or see""" + """ <a href="http://pypi.python.org/pypi/docutils">""" + """this page.</a></p>""") + + return docutils.core.publish_string(text, writer_name='html')\ + .decode("utf-8") + + def __convertMarkdown(self, text): + """ + Private method to convert Markdown text into HTML. + + @param text text to be processed (string) + @return processed HTML (string) + """ + try: + import markdown # __IGNORE_EXCEPTION__ __IGNORE_WARNING__ + except ImportError: + return self.tr( + """<p>Markdown preview requires the <b>python-markdown</b> """ + """package.<br/>Install it with your package manager or see """ + """<a href="http://pythonhosted.org/Markdown/install.html">""" + """installation instructions.</a></p>""") + + try: + import mdx_mathjax # __IGNORE_EXCEPTION__ __IGNORE_WARNING__ + except ImportError: + #mathjax doesn't require import statement if installed as extension + pass + + extensions = ['fenced_code', 'nl2br', 'extra'] + + # version 2.0 supports only extension names, not instances + if markdown.version_info[0] > 2 or \ + (markdown.version_info[0] == 2 and + markdown.version_info[1] > 0): + class _StrikeThroughExtension(markdown.Extension): + """ + Class is placed here, because it depends on imported markdown, + and markdown import is lazy. + + (see http://achinghead.com/ + python-markdown-adding-insert-delete.html this page for + details) + """ + DEL_RE = r'(~~)(.*?)~~' + + def extendMarkdown(self, md, md_globals): + # Create the del pattern + del_tag = markdown.inlinepatterns.SimpleTagPattern( + self.DEL_RE, 'del') + # Insert del pattern into markdown parser + md.inlinePatterns.add('del', del_tag, '>not_strong') + + extensions.append(_StrikeThroughExtension()) + + try: + return markdown.markdown(text, extensions + ['mathjax']) + except (ImportError, ValueError): + # markdown raises ValueError or ImportError, depends on version + # It is not clear, how to distinguish missing mathjax from other + # errors. So keep going without mathjax. + return markdown.markdown(text, extensions)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/UI/Previewers/PreviewerHTML.ui Mon Mar 31 19:27:31 2014 +0200 @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PreviewerHTML</class> + <widget class="QWidget" name="PreviewerHTML"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>400</height> + </rect> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QLabel" name="titleLabel"> + <property name="wordWrap"> + <bool>true</bool> + </property> + <property name="textInteractionFlags"> + <set>Qt::NoTextInteraction</set> + </property> + </widget> + </item> + <item> + <widget class="QWebView" name="previewView"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="contextMenuPolicy"> + <enum>Qt::NoContextMenu</enum> + </property> + <property name="url"> + <url> + <string>about:blank</string> + </url> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="jsCheckBox"> + <property name="toolTip"> + <string>Select to enable JavaScript for HTML previews</string> + </property> + <property name="text"> + <string>Enable JavaScript</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="ssiCheckBox"> + <property name="toolTip"> + <string>Select to enable support for Server Side Includes</string> + </property> + <property name="text"> + <string>Enable Server Side Includes</string> + </property> + </widget> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>QWebView</class> + <extends>QWidget</extends> + <header>QtWebKitWidgets/QWebView</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/UI/Previewers/__init__.py Mon Mar 31 19:27:31 2014 +0200 @@ -0,0 +1,8 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Package containing the various previewer modules. +"""
--- a/eric5.e4p Mon Mar 31 19:13:22 2014 +0200 +++ b/eric5.e4p Mon Mar 31 19:27:31 2014 +0200 @@ -1130,6 +1130,8 @@ <Source>E5Gui/E5MapWidget.py</Source> <Source>QScintilla/EditorMarkerMap.py</Source> <Source>Plugins/VcsPlugins/vcsMercurial/HgBranchInputDialog.py</Source> + <Source>UI/Previewers/__init__.py</Source> + <Source>UI/Previewers/PreviewerHTML.py</Source> </Sources> <Forms> <Form>PyUnit/UnittestDialog.ui</Form> @@ -1434,7 +1436,6 @@ <Form>Network/IRC/IrcIdentitiesEditDialog.ui</Form> <Form>E5Gui/E5ZoomWidget.ui</Form> <Form>E5Network/E5SslCertificatesDialog.ui</Form> - <Form>UI/Previewer.ui</Form> <Form>E5Network/E5SslCertificatesInfoDialog.ui</Form> <Form>E5Network/E5SslCertificatesInfoWidget.ui</Form> <Form>QScintilla/SortOptionsDialog.ui</Form> @@ -1457,6 +1458,7 @@ <Form>Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/LfConvertDataDialog.ui</Form> <Form>Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/LfRevisionsInputDialog.ui</Form> <Form>Plugins/VcsPlugins/vcsMercurial/HgBranchInputDialog.ui</Form> + <Form>UI/Previewers/PreviewerHTML.ui</Form> </Forms> <Translations> <Translation>i18n/eric5_cs.ts</Translation>
--- a/i18n/eric5_cs.ts Mon Mar 31 19:13:22 2014 +0200 +++ b/i18n/eric5_cs.ts Mon Mar 31 19:27:31 2014 +0200 @@ -2526,7 +2526,7 @@ <translation>Jméno</translation> </message> <message> - <location filename="../UI/BrowserModel.py" line="676"/> + <location filename="../UI/BrowserModel.py" line="677"/> <source>Attributes</source> <translation>Atributy</translation> </message> @@ -2546,7 +2546,7 @@ <translation>Kódování: {0}</translation> </message> <message> - <location filename="../UI/BrowserModel.py" line="686"/> + <location filename="../UI/BrowserModel.py" line="687"/> <source>Class Attributes</source> <translation type="unfinished"></translation> </message> @@ -3525,22 +3525,22 @@ <context> <name>CodeStyleCheckerPlugin</name> <message> - <location filename="../Plugins/PluginCodeStyleChecker.py" line="176"/> + <location filename="../Plugins/PluginCodeStyleChecker.py" line="177"/> <source>Check Code Style</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginCodeStyleChecker.py" line="176"/> + <location filename="../Plugins/PluginCodeStyleChecker.py" line="177"/> <source>&Code Style...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginCodeStyleChecker.py" line="84"/> + <location filename="../Plugins/PluginCodeStyleChecker.py" line="85"/> <source>Check code style.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginCodeStyleChecker.py" line="180"/> + <location filename="../Plugins/PluginCodeStyleChecker.py" line="181"/> <source><b>Check Code Style...</b><p>This checks Python files for compliance to the code style conventions given in various PEPs.</p></source> <translation type="unfinished"></translation> </message> @@ -3884,7 +3884,7 @@ <context> <name>CodingError</name> <message> - <location filename="../Utilities/__init__.py" line="103"/> + <location filename="../Utilities/__init__.py" line="105"/> <source>The coding '{0}' is wrong for the given text.</source> <translation>Nesprávné kódování '{0}' pro daný text.</translation> </message> @@ -9179,102 +9179,102 @@ <context> <name>Editor</name> <message> - <location filename="../QScintilla/Editor.py" line="2870"/> + <location filename="../QScintilla/Editor.py" line="2830"/> <source>Open File</source> <translation>Otevřít soubor</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="631"/> + <location filename="../QScintilla/Editor.py" line="632"/> <source>Undo</source> <translation>Vrátit</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="634"/> + <location filename="../QScintilla/Editor.py" line="635"/> <source>Redo</source> <translation>Znovu použít</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="637"/> + <location filename="../QScintilla/Editor.py" line="638"/> <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="641"/> + <location filename="../QScintilla/Editor.py" line="642"/> <source>Cut</source> <translation>Vyjmout</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="644"/> + <location filename="../QScintilla/Editor.py" line="645"/> <source>Copy</source> <translation>Kopírovat</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="647"/> + <location filename="../QScintilla/Editor.py" line="648"/> <source>Paste</source> <translation>Vložit</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="652"/> + <location filename="../QScintilla/Editor.py" line="653"/> <source>Indent</source> <translation>Odsadit</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="655"/> + <location filename="../QScintilla/Editor.py" line="656"/> <source>Unindent</source> <translation>Zrušit odsazení</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="658"/> + <location filename="../QScintilla/Editor.py" line="659"/> <source>Comment</source> <translation>Vytvořit komentář</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="661"/> + <location filename="../QScintilla/Editor.py" line="662"/> <source>Uncomment</source> <translation>Zrušit komentář</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="664"/> + <location filename="../QScintilla/Editor.py" line="665"/> <source>Stream Comment</source> <translation>Proudový komentář</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="667"/> + <location filename="../QScintilla/Editor.py" line="668"/> <source>Box Comment</source> <translation>Obdélníkový komentář</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="671"/> + <location filename="../QScintilla/Editor.py" line="672"/> <source>Select to brace</source> <translation>Vybrat až po závorku</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="673"/> - <source>Select all</source> - <translation>Vybrat vše</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="674"/> + <source>Select all</source> + <translation>Vybrat vše</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="675"/> <source>Deselect all</source> <translation>Zrušit celý výběr</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="688"/> + <location filename="../QScintilla/Editor.py" line="689"/> <source>Shorten empty lines</source> <translation>Zkrátit prázdné řádky</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="695"/> + <location filename="../QScintilla/Editor.py" line="696"/> <source>Use Monospaced Font</source> <translation>Použít neporoporcionální font</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="700"/> + <location filename="../QScintilla/Editor.py" line="701"/> <source>Autosave enabled</source> <translation>Zapnout autosave</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="711"/> + <location filename="../QScintilla/Editor.py" line="712"/> <source>Autocompletion enabled</source> <translation>Zapnout autodoplňování</translation> </message> @@ -9289,212 +9289,212 @@ <translation type="obsolete">Nový pohled (s novým rozdělením)</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="739"/> + <location filename="../QScintilla/Editor.py" line="740"/> <source>Close</source> <translation>Zavřít</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="745"/> + <location filename="../QScintilla/Editor.py" line="746"/> <source>Save</source> <translation>Uložit</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="748"/> + <location filename="../QScintilla/Editor.py" line="749"/> <source>Save As...</source> <translation>Uložit jako...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="761"/> + <location filename="../QScintilla/Editor.py" line="762"/> <source>Print</source> <translation>Tisk</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="782"/> + <location filename="../QScintilla/Editor.py" line="783"/> <source>Autocomplete</source> <translation>Autodoplňování</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="787"/> + <location filename="../QScintilla/Editor.py" line="788"/> <source>from Document</source> <translation>z dokumentu</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="789"/> + <location filename="../QScintilla/Editor.py" line="790"/> <source>from APIs</source> <translation>z API</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="791"/> + <location filename="../QScintilla/Editor.py" line="792"/> <source>from Document and APIs</source> <translation>z dokumentu a API</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="807"/> + <location filename="../QScintilla/Editor.py" line="808"/> <source>Check</source> <translation>Zkontrolovat</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="827"/> + <location filename="../QScintilla/Editor.py" line="828"/> <source>Show</source> <translation>Zobrazit</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="829"/> - <source>Code metrics...</source> - <translation>Metrika kódu...</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="830"/> + <source>Code metrics...</source> + <translation>Metrika kódu...</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="831"/> <source>Code coverage...</source> <translation>Pokrytí kódu...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="832"/> + <location filename="../QScintilla/Editor.py" line="833"/> <source>Show code coverage annotations</source> <translation>Zobrazit poznámky pokrytí kódu</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="835"/> + <location filename="../QScintilla/Editor.py" line="836"/> <source>Hide code coverage annotations</source> <translation>Skrýt poznámky pokrytí kódu</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="838"/> + <location filename="../QScintilla/Editor.py" line="839"/> <source>Profile data...</source> <translation>Profilovat data...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="851"/> + <location filename="../QScintilla/Editor.py" line="852"/> <source>Diagrams</source> <translation>Diagramy</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="853"/> + <location filename="../QScintilla/Editor.py" line="854"/> <source>Class Diagram...</source> <translation>Diagram třídy...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="855"/> + <location filename="../QScintilla/Editor.py" line="856"/> <source>Package Diagram...</source> <translation>Diagram balíčku...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="857"/> + <location filename="../QScintilla/Editor.py" line="858"/> <source>Imports Diagram...</source> <translation>Diagram importů...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="859"/> + <location filename="../QScintilla/Editor.py" line="860"/> <source>Application Diagram...</source> <translation>Diagram aplikace...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="877"/> + <location filename="../QScintilla/Editor.py" line="878"/> <source>Languages</source> <translation>Jazyky</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="880"/> + <location filename="../QScintilla/Editor.py" line="881"/> <source>No Language</source> <translation>Žádný jazyk</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1123"/> + <location filename="../QScintilla/Editor.py" line="1124"/> <source>Toggle bookmark</source> <translation>Přepnout záložku</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1125"/> + <location filename="../QScintilla/Editor.py" line="1126"/> <source>Next bookmark</source> <translation>Následující záložka</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1127"/> + <location filename="../QScintilla/Editor.py" line="1128"/> <source>Previous bookmark</source> <translation>Předchozí záložka</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1129"/> + <location filename="../QScintilla/Editor.py" line="1130"/> <source>Clear all bookmarks</source> <translation>Zrušit všechny záložky</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1132"/> + <location filename="../QScintilla/Editor.py" line="1133"/> <source>Goto syntax error</source> <translation>Jít na chybu syntaxe</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1134"/> + <location filename="../QScintilla/Editor.py" line="1135"/> <source>Show syntax error message</source> <translation>Zobrazit hlášení syntaktické chyby</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1136"/> + <location filename="../QScintilla/Editor.py" line="1137"/> <source>Clear syntax error</source> <translation>Zrušit chybu syntaxe</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1149"/> + <location filename="../QScintilla/Editor.py" line="1150"/> <source>Toggle breakpoint</source> <translation>Přepnout breakpoint</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1151"/> + <location filename="../QScintilla/Editor.py" line="1152"/> <source>Toggle temporary breakpoint</source> <translation>Přepnout dočasný breakpoint</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1154"/> + <location filename="../QScintilla/Editor.py" line="1155"/> <source>Edit breakpoint...</source> <translation>Editovat breakpoint...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4883"/> + <location filename="../QScintilla/Editor.py" line="4841"/> <source>Enable breakpoint</source> <translation>Aktivovat breakpoint</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1159"/> + <location filename="../QScintilla/Editor.py" line="1160"/> <source>Next breakpoint</source> <translation>Následující breakpoint</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1161"/> + <location filename="../QScintilla/Editor.py" line="1162"/> <source>Previous breakpoint</source> <translation>Předchozí breakpoint</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1163"/> + <location filename="../QScintilla/Editor.py" line="1164"/> <source>Clear all breakpoints</source> <translation>Zrušit všechny breakpointy</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1166"/> + <location filename="../QScintilla/Editor.py" line="1167"/> <source>Next uncovered line</source> <translation>Následující odkrytá řádka</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1169"/> + <location filename="../QScintilla/Editor.py" line="1170"/> <source>Previous uncovered line</source> <translation>Předchozí odkrytá řádka</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1172"/> + <location filename="../QScintilla/Editor.py" line="1173"/> <source>Next task</source> <translation>Následující úloha</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1174"/> + <location filename="../QScintilla/Editor.py" line="1175"/> <source>Previous task</source> <translation>Předchozí úloha</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1183"/> + <location filename="../QScintilla/Editor.py" line="1184"/> <source>LMB toggles bookmarks</source> <translation>LMB přepínač záložek</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1187"/> + <location filename="../QScintilla/Editor.py" line="1188"/> <source>LMB toggles breakpoints</source> <translation>LMB přepínač breakpointů</translation> </message> @@ -9509,152 +9509,152 @@ <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="2435"/> + <location filename="../QScintilla/Editor.py" line="2395"/> <source>Printing...</source> <translation>Tisk...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="2452"/> + <location filename="../QScintilla/Editor.py" line="2412"/> <source>Printing completed</source> <translation>Tisk je hotov</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="2454"/> + <location filename="../QScintilla/Editor.py" line="2414"/> <source>Error while printing</source> <translation>Chyba během tisku</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="2457"/> + <location filename="../QScintilla/Editor.py" line="2417"/> <source>Printing aborted</source> <translation>Tisk byl zrušen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="3040"/> + <location filename="../QScintilla/Editor.py" line="3000"/> <source>Save File</source> <translation>Uložit soubor</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="2815"/> + <location filename="../QScintilla/Editor.py" line="2775"/> <source>File Modified</source> <translation>Soubor je modifikován</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4355"/> + <location filename="../QScintilla/Editor.py" line="4315"/> <source>Autocompletion</source> <translation>Autodoplňování</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4355"/> + <location filename="../QScintilla/Editor.py" line="4315"/> <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="4886"/> + <location filename="../QScintilla/Editor.py" line="4844"/> <source>Disable breakpoint</source> <translation>Deaktivovat breakpoint</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5271"/> + <location filename="../QScintilla/Editor.py" line="5236"/> <source>Code Coverage</source> <translation>Pokrytí kódu</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5271"/> + <location filename="../QScintilla/Editor.py" line="5236"/> <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="5335"/> + <location filename="../QScintilla/Editor.py" line="5300"/> <source>Show Code Coverage Annotations</source> <translation>Zobrazit poznámky pokrytí kódu</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5328"/> + <location filename="../QScintilla/Editor.py" line="5293"/> <source>All lines have been covered.</source> <translation>Všechny řádky byly pokryty.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5335"/> + <location filename="../QScintilla/Editor.py" line="5300"/> <source>There is no coverage file available.</source> <translation>Soubor s pokrytím není dostupný.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5450"/> + <location filename="../QScintilla/Editor.py" line="5415"/> <source>Profile Data</source> <translation>Profilovat data</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5450"/> + <location filename="../QScintilla/Editor.py" line="5415"/> <source>Please select a profile file</source> <translation>Prosím, vyberte soubor s profilem</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5610"/> + <location filename="../QScintilla/Editor.py" line="5575"/> <source>Syntax Error</source> <translation>Chyba syntaxe</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5610"/> + <location filename="../QScintilla/Editor.py" line="5575"/> <source>No syntax error message available.</source> <translation>Hlášení syntaktické chyby není dostupné.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5923"/> + <location filename="../QScintilla/Editor.py" line="5888"/> <source>Macro Name</source> <translation>Název makra</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5923"/> + <location filename="../QScintilla/Editor.py" line="5888"/> <source>Select a macro name:</source> <translation>Vyberte název makra:</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5951"/> + <location filename="../QScintilla/Editor.py" line="5916"/> <source>Load macro file</source> <translation>Načíst soubor makra</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5994"/> + <location filename="../QScintilla/Editor.py" line="5959"/> <source>Macro files (*.macro)</source> <translation>Macro soubory (*.macro)</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5974"/> + <location filename="../QScintilla/Editor.py" line="5939"/> <source>Error loading macro</source> <translation>Chyba při načítání makra</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5994"/> + <location filename="../QScintilla/Editor.py" line="5959"/> <source>Save macro file</source> <translation>Uložit soubor s makrem</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6011"/> + <location filename="../QScintilla/Editor.py" line="5976"/> <source>Save macro</source> <translation>Uložit makro</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6027"/> + <location filename="../QScintilla/Editor.py" line="5992"/> <source>Error saving macro</source> <translation>Chyba při ukládání makra</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6040"/> + <location filename="../QScintilla/Editor.py" line="6005"/> <source>Start Macro Recording</source> <translation>Spustit záznam makra</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6040"/> + <location filename="../QScintilla/Editor.py" line="6005"/> <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="6066"/> + <location filename="../QScintilla/Editor.py" line="6031"/> <source>Macro Recording</source> <translation>Záznam makra</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6066"/> + <location filename="../QScintilla/Editor.py" line="6031"/> <source>Enter name of the macro:</source> <translation>Vložte název makra:</translation> </message> @@ -9664,197 +9664,197 @@ <translation type="obsolete"><br><b>Pozor:</b> Ztratíte všechny změny pokud jej znovu otevřete.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6198"/> + <location filename="../QScintilla/Editor.py" line="6163"/> <source>File changed</source> <translation>Soubor změněn</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6496"/> + <location filename="../QScintilla/Editor.py" line="6461"/> <source>Drop Error</source> <translation>Zahodit chybu</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6517"/> + <location filename="../QScintilla/Editor.py" line="6482"/> <source>Resources</source> <translation>Zdroje</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6519"/> + <location filename="../QScintilla/Editor.py" line="6484"/> <source>Add file...</source> <translation>Přidat soubor...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6521"/> + <location filename="../QScintilla/Editor.py" line="6486"/> <source>Add files...</source> <translation>Přidat soubory...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6523"/> + <location filename="../QScintilla/Editor.py" line="6488"/> <source>Add aliased file...</source> <translation>Přidat zástupce souboru...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6526"/> + <location filename="../QScintilla/Editor.py" line="6491"/> <source>Add localized resource...</source> <translation>Přidat lokalizované resource...</translation> </message> <message> + <location filename="../QScintilla/Editor.py" line="6495"/> + <source>Add resource frame</source> + <translation>Přidat resource frame</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="6514"/> + <source>Add file resource</source> + <translation>Přidat soubor resource</translation> + </message> + <message> <location filename="../QScintilla/Editor.py" line="6530"/> - <source>Add resource frame</source> - <translation>Přidat resource frame</translation> - </message> - <message> - <location filename="../QScintilla/Editor.py" line="6549"/> - <source>Add file resource</source> - <translation>Přidat soubor resource</translation> - </message> - <message> - <location filename="../QScintilla/Editor.py" line="6565"/> <source>Add file resources</source> <translation>Přidat soubory resource</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6593"/> + <location filename="../QScintilla/Editor.py" line="6558"/> <source>Add aliased file resource</source> <translation>Přidat zástupce souboru resource</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6657"/> + <location filename="../QScintilla/Editor.py" line="6622"/> <source>Package Diagram</source> <translation>Diagram balíčku</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6657"/> + <location filename="../QScintilla/Editor.py" line="6622"/> <source>Include class attributes?</source> <translation>Včetně atributů třídy?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6691"/> + <location filename="../QScintilla/Editor.py" line="6656"/> <source>Application Diagram</source> <translation>Diagram aplikace</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6691"/> + <location filename="../QScintilla/Editor.py" line="6656"/> <source>Include module names?</source> <translation>Včetně jmen modulů?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1000"/> + <location filename="../QScintilla/Editor.py" line="1001"/> <source>Export as</source> <translation>Exportovat jako</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1223"/> + <location filename="../QScintilla/Editor.py" line="1224"/> <source>Export source</source> <translation>Export zdroj</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1223"/> + <location filename="../QScintilla/Editor.py" line="1224"/> <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="6677"/> + <location filename="../QScintilla/Editor.py" line="6642"/> <source>Imports Diagram</source> <translation>Importovat diagram</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6677"/> + <location filename="../QScintilla/Editor.py" line="6642"/> <source>Include imports from external modules?</source> <translation>Zahrnout importy z externích modulů?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="784"/> + <location filename="../QScintilla/Editor.py" line="785"/> <source>dynamic</source> <translation>dynamický</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="794"/> + <location filename="../QScintilla/Editor.py" line="795"/> <source>Calltip</source> <translation>Rychlé tipy</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="758"/> + <location filename="../QScintilla/Editor.py" line="759"/> <source>Print Preview</source> <translation>Náhled tisku</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="375"/> + <location filename="../QScintilla/Editor.py" line="374"/> <source><b>A Source Editor Window</b><p>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's titlebar.</p><p>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.</p><p>In order to set bookmarks just Shift click in the space between the line numbers and the fold markers.</p><p>These actions can be reversed via the context menu.</p><p>Ctrl clicking on a syntax error marker shows some info about this error.</p></source> <translation><b>Okno editoru zdrojového kódu</b><p>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.</p><p>Kliknutím do prostoru mezi čísly řádku a značkami skládání nastavíte breakpoint. Přes kontextové menu je pak lze editovat.</p><p>Záložka se vkládá kliknutím na stejné místo se stisknutou klávesou Shift.</p><p>Tyto akce mohou být navráceny zpět i opětovným kliknutím nebo přes kontextové menu.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="704"/> + <location filename="../QScintilla/Editor.py" line="705"/> <source>Typing aids enabled</source> <translation>Pomůcky při psaní zapnuty</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="964"/> + <location filename="../QScintilla/Editor.py" line="965"/> <source>End-of-Line Type</source> <translation>Typ Konec-řádku</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="968"/> + <location filename="../QScintilla/Editor.py" line="969"/> <source>Unix</source> <translation>Unix</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="975"/> + <location filename="../QScintilla/Editor.py" line="976"/> <source>Windows</source> <translation></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="982"/> + <location filename="../QScintilla/Editor.py" line="983"/> <source>Macintosh</source> <translation>Macintosh</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="923"/> + <location filename="../QScintilla/Editor.py" line="924"/> <source>Encodings</source> <translation>Kódování</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="903"/> + <location filename="../QScintilla/Editor.py" line="904"/> <source>Guessed</source> <translation>Odhadem</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1238"/> + <location filename="../QScintilla/Editor.py" line="1239"/> <source>Alternatives</source> <translation>Alternativy</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1254"/> + <location filename="../QScintilla/Editor.py" line="1255"/> <source>Pygments Lexer</source> <translation></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1254"/> + <location filename="../QScintilla/Editor.py" line="1255"/> <source>Select the Pygments lexer to apply.</source> <translation>Použít Pygments lexer.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6979"/> + <location filename="../QScintilla/Editor.py" line="6944"/> <source>Check spelling...</source> <translation>Zatrhnout kontrolu...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="680"/> + <location filename="../QScintilla/Editor.py" line="681"/> <source>Check spelling of selection...</source> <translation>Zatrhnout výběr kontroly...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6982"/> + <location filename="../QScintilla/Editor.py" line="6947"/> <source>Add to dictionary</source> <translation>Přidat do slovníku</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6984"/> + <location filename="../QScintilla/Editor.py" line="6949"/> <source>Ignore All</source> <translation>Ignorovat vše</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="684"/> + <location filename="../QScintilla/Editor.py" line="685"/> <source>Remove from dictionary</source> <translation>Odebrat ze slovníku</translation> </message> @@ -9864,27 +9864,27 @@ <translation><p>Velikost souboru <b>{0}</b> je <b>{1} KB</b>. Opravdu jej chcete načíst?</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1215"/> + <location filename="../QScintilla/Editor.py" line="1216"/> <source><p>No exporter available for the export format <b>{0}</b>. Aborting...</p></source> <translation><p>Pro formát exportu <b>{0}</b> není exportér dostupný. Zrušeno.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1234"/> + <location filename="../QScintilla/Editor.py" line="1235"/> <source>Alternatives ({0})</source> <translation>Alternativy ({0})</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="2815"/> + <location filename="../QScintilla/Editor.py" line="2775"/> <source><p>The file <b>{0}</b> has unsaved changes.</p></source> <translation><p>Soubor <b>{0}</b> obsahuje neuložené změny.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="2870"/> + <location filename="../QScintilla/Editor.py" line="2830"/> <source><p>The file <b>{0}</b> could not be opened.</p><p>Reason: {1}</p></source> <translation><p>Soubor <b>{0}</b> nemůže být přejmenován.<br />Důvod: {1}</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="2973"/> + <location filename="../QScintilla/Editor.py" line="2933"/> <source><p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p></source> <translation><p>Soubor <b>{0}</b> nemůže být přejmenován.<br />Důvod: {1}</p></translation> </message> @@ -9894,12 +9894,12 @@ <translation type="obsolete"><p>Soubor <b>{0}</b> již existuje.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5965"/> + <location filename="../QScintilla/Editor.py" line="5930"/> <source><p>The macro file <b>{0}</b> could not be read.</p></source> <translation><p>Soubor s makrem <b>{0}</b> nelze načíst.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5974"/> + <location filename="../QScintilla/Editor.py" line="5939"/> <source><p>The macro file <b>{0}</b> is corrupt.</p></source> <translation><p>Soubor s makrem <b>{0}</b> je poškozen.</p></translation> </message> @@ -9909,47 +9909,47 @@ <translation type="obsolete"><p>Soubor s makrem <b>{0}</b> již existuje.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6027"/> + <location filename="../QScintilla/Editor.py" line="5992"/> <source><p>The macro file <b>{0}</b> could not be written.</p></source> <translation><p>So souboru s makrem <b>{0}</b> nelze zapisovat.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6188"/> + <location filename="../QScintilla/Editor.py" line="6153"/> <source><p>The file <b>{0}</b> has been changed while it was opened in eric5. Reread it?</p></source> <translation><p>Soubor <b>{0}</b> byl změněn po té co již byl načten do eric5. Znovu načíst?</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6356"/> + <location filename="../QScintilla/Editor.py" line="6321"/> <source>{0} (ro)</source> <translation>{0} (ro)</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6496"/> + <location filename="../QScintilla/Editor.py" line="6461"/> <source><p><b>{0}</b> is not a file.</p></source> <translation><p><b>{0}</b> není soubor.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6593"/> + <location filename="../QScintilla/Editor.py" line="6558"/> <source>Alias for file <b>{0}</b>:</source> <translation>Zástupce pro soubor <b>{0}</b>:</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1139"/> + <location filename="../QScintilla/Editor.py" line="1140"/> <source>Next warning</source> <translation>Následující varování</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1142"/> + <location filename="../QScintilla/Editor.py" line="1143"/> <source>Previous warning</source> <translation>Předchozí varování</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1144"/> + <location filename="../QScintilla/Editor.py" line="1145"/> <source>Show warning message</source> <translation>Zobrazit varování</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1146"/> + <location filename="../QScintilla/Editor.py" line="1147"/> <source>Clear warnings</source> <translation>Vyčistit varování</translation> </message> @@ -9964,112 +9964,112 @@ <translation type="obsolete">Varování py3flakes není dostupné.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="3040"/> + <location filename="../QScintilla/Editor.py" line="3000"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished"><p>Soubor <b>{0}</b> již existuje.</p><p>Má se přepsat?</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6011"/> + <location filename="../QScintilla/Editor.py" line="5976"/> <source><p>The macro file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5862"/> + <location filename="../QScintilla/Editor.py" line="5827"/> <source>Warning: {0}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5869"/> + <location filename="../QScintilla/Editor.py" line="5834"/> <source>Error: {0}</source> <translation type="unfinished">Chyby: {0}</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6194"/> + <location filename="../QScintilla/Editor.py" line="6159"/> <source><br><b>Warning:</b> You will lose your changes upon reopening it.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4456"/> + <location filename="../QScintilla/Editor.py" line="4416"/> <source>Activating Auto-Completion Provider</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4456"/> + <location filename="../QScintilla/Editor.py" line="4416"/> <source>Auto-completion provider cannot be connected because there is already another one active. Please check your configuration.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4646"/> + <location filename="../QScintilla/Editor.py" line="4606"/> <source>Activating Calltip Provider</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4646"/> + <location filename="../QScintilla/Editor.py" line="4606"/> <source>Calltip provider cannot be connected because there is already another one active. Please check your configuration.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="754"/> + <location filename="../QScintilla/Editor.py" line="755"/> <source>Open 'rejection' file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="863"/> + <location filename="../QScintilla/Editor.py" line="864"/> <source>Load Diagram...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1177"/> + <location filename="../QScintilla/Editor.py" line="1178"/> <source>Next change</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1180"/> + <location filename="../QScintilla/Editor.py" line="1181"/> <source>Previous change</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7395"/> + <location filename="../QScintilla/Editor.py" line="7360"/> <source>Sort Lines</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7395"/> + <location filename="../QScintilla/Editor.py" line="7360"/> <source>The selection contains illegal data for a numerical sort.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5798"/> + <location filename="../QScintilla/Editor.py" line="5763"/> <source>Warning</source> <translation type="unfinished">Varování</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5798"/> + <location filename="../QScintilla/Editor.py" line="5763"/> <source>No warning messages available.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5859"/> + <location filename="../QScintilla/Editor.py" line="5824"/> <source>Style: {0}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="731"/> + <location filename="../QScintilla/Editor.py" line="732"/> <source>New Document View</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="734"/> + <location filename="../QScintilla/Editor.py" line="735"/> <source>New Document View (with new split)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="817"/> + <location filename="../QScintilla/Editor.py" line="818"/> <source>Tools</source> <translation type="unfinished">Nástroje</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="945"/> + <location filename="../QScintilla/Editor.py" line="946"/> <source>Re-Open With Encoding</source> <translation type="unfinished"></translation> </message> @@ -10887,22 +10887,22 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Preferences/ConfigurationPages/EditorFilePage.py" line="242"/> + <location filename="../Preferences/ConfigurationPages/EditorFilePage.py" line="248"/> <source>Add File Filter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Preferences/ConfigurationPages/EditorFilePage.py" line="202"/> + <location filename="../Preferences/ConfigurationPages/EditorFilePage.py" line="208"/> <source>A Save File Filter must contain exactly one wildcard pattern. Yours contains {0}.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Preferences/ConfigurationPages/EditorFilePage.py" line="211"/> + <location filename="../Preferences/ConfigurationPages/EditorFilePage.py" line="217"/> <source>A File Filter must contain at least one wildcard pattern.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Preferences/ConfigurationPages/EditorFilePage.py" line="242"/> + <location filename="../Preferences/ConfigurationPages/EditorFilePage.py" line="248"/> <source>Enter the file filter entry:</source> <translation type="unfinished"></translation> </message> @@ -10946,6 +10946,16 @@ <source>Enter the filename extensions of ReStructuredText files that may be previewed (separated by a space)</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Preferences/ConfigurationPages/EditorFilePage.ui" line="493"/> + <source>Extensions of QSS files:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Preferences/ConfigurationPages/EditorFilePage.ui" line="500"/> + <source>Enter the filename extensions of Qt Stylesheet files that may be previewed (separated by a space)</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>EditorGeneralPage</name> @@ -36770,27 +36780,27 @@ <context> <name>Preferences</name> <message> - <location filename="../Preferences/__init__.py" line="1197"/> + <location filename="../Preferences/__init__.py" line="1198"/> <source>Export Preferences</source> <translation>Předvolby exportu</translation> </message> <message> - <location filename="../Preferences/__init__.py" line="1225"/> + <location filename="../Preferences/__init__.py" line="1226"/> <source>Import Preferences</source> <translation>Předvolby importu</translation> </message> <message> - <location filename="../Preferences/__init__.py" line="1225"/> + <location filename="../Preferences/__init__.py" line="1226"/> <source>Properties File (*.ini);;All Files (*)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Preferences/__init__.py" line="1324"/> + <location filename="../Preferences/__init__.py" line="1325"/> <source>Select Python2 Interpreter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Preferences/__init__.py" line="1324"/> + <location filename="../Preferences/__init__.py" line="1325"/> <source>Select the Python2 interpreter to be used:</source> <translation type="unfinished"></translation> </message> @@ -36811,17 +36821,17 @@ <context> <name>PreviewProcessingThread</name> <message> - <location filename="../UI/Previewer.py" line="420"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="309"/> <source><p>No preview available for this type of file.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewer.py" line="503"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="392"/> <source><p>Markdown preview requires the <b>python-markdown</b> package.<br/>Install it with your package manager or see <a href="http://pythonhosted.org/Markdown/install.html">installation instructions.</a></p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewer.py" line="483"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="372"/> <source><p>ReStructuredText preview requires the <b>python-docutils</b> package.<br/>Install it with your package manager or see <a href="http://pypi.python.org/pypi/docutils">this page.</a></p></source> <translation type="unfinished"></translation> </message> @@ -36829,45 +36839,53 @@ <context> <name>Previewer</name> <message> - <location filename="../UI/Previewer.ui" line="37"/> + <location filename="../UI/Previewer.ui" line="48"/> + <source>Enable JavaScript</source> + <translation type="obsolete">Zapnout JavaScript</translation> + </message> +</context> +<context> + <name>PreviewerHTML</name> + <message> + <location filename="../UI/Previewers/PreviewerHTML.ui" line="37"/> <source>about:blank</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewer.ui" line="45"/> + <location filename="../UI/Previewers/PreviewerHTML.ui" line="45"/> <source>Select to enable JavaScript for HTML previews</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewer.ui" line="48"/> + <location filename="../UI/Previewers/PreviewerHTML.ui" line="48"/> <source>Enable JavaScript</source> <translation type="unfinished">Zapnout JavaScript</translation> </message> <message> - <location filename="../UI/Previewer.ui" line="55"/> + <location filename="../UI/Previewers/PreviewerHTML.ui" line="55"/> <source>Select to enable support for Server Side Includes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewer.ui" line="58"/> + <location filename="../UI/Previewers/PreviewerHTML.ui" line="58"/> <source>Enable Server Side Includes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewer.py" line="278"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="126"/> + <source><p>No preview available for this type of file.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../UI/Previewers/PreviewerHTML.py" line="167"/> <source>Preview - {0}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewer.py" line="280"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="169"/> <source>Preview</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="../UI/Previewer.py" line="237"/> - <source><p>No preview available for this type of file.</p></source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>Printer</name> @@ -37136,22 +37154,22 @@ <context> <name>Project</name> <message> - <location filename="../Project/Project.py" line="191"/> + <location filename="../Project/Project.py" line="194"/> <source>Ruby Files (*.rb);;</source> <translation>Ruby soubory (*.rb);;</translation> </message> <message> - <location filename="../Project/Project.py" line="239"/> + <location filename="../Project/Project.py" line="242"/> <source>Console</source> <translation>Konzole</translation> </message> <message> - <location filename="../Project/Project.py" line="240"/> + <location filename="../Project/Project.py" line="243"/> <source>Other</source> <translation>Ostatní</translation> </message> <message> - <location filename="../Project/Project.py" line="674"/> + <location filename="../Project/Project.py" line="677"/> <source>Read project file</source> <translation>Načíst soubor projektu</translation> </message> @@ -37161,27 +37179,27 @@ <translation type="obsolete">Komprimované soubory nejsou podporovány. Kompresní knihovna chybí.</translation> </message> <message> - <location filename="../Project/Project.py" line="774"/> + <location filename="../Project/Project.py" line="777"/> <source>Save project file</source> <translation>Uložit soubor projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="810"/> + <location filename="../Project/Project.py" line="813"/> <source>Read user project properties</source> <translation>Načíst uživatelská nastavení projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="834"/> + <location filename="../Project/Project.py" line="837"/> <source>Save user project properties</source> <translation>Uložit uživatelská nastavení projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="887"/> + <location filename="../Project/Project.py" line="890"/> <source>Read project session</source> <translation>Načíst relaci projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="1101"/> + <location filename="../Project/Project.py" line="1104"/> <source>Please save the project first.</source> <translation>Prosím, nejdříve uložte projekt.</translation> </message> @@ -37191,17 +37209,17 @@ <translation type="obsolete">Soubor s komprimovanou relací projektu není podporován. Kompresní knihovna chybí.</translation> </message> <message> - <location filename="../Project/Project.py" line="923"/> + <location filename="../Project/Project.py" line="926"/> <source>Save project session</source> <translation>Uložit relaci projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="949"/> + <location filename="../Project/Project.py" line="952"/> <source>Delete project session</source> <translation>Smazat relaci projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="978"/> + <location filename="../Project/Project.py" line="981"/> <source>Read tasks</source> <translation>Načíst úlohy</translation> </message> @@ -37211,17 +37229,17 @@ <translation type="obsolete">Soubor s komprimovanými úlohami není podporován. Kompresní knihovna chybí.</translation> </message> <message> - <location filename="../Project/Project.py" line="998"/> + <location filename="../Project/Project.py" line="1001"/> <source>Save tasks</source> <translation>Uložit úlohy</translation> </message> <message> - <location filename="../Project/Project.py" line="1055"/> + <location filename="../Project/Project.py" line="1058"/> <source>Read debugger properties</source> <translation>Načíst nastavení debuggeru</translation> </message> <message> - <location filename="../Project/Project.py" line="1089"/> + <location filename="../Project/Project.py" line="1092"/> <source>Save debugger properties</source> <translation>Uložit nastavení debuggeru</translation> </message> @@ -37231,97 +37249,97 @@ <translation type="obsolete">Soubor s komprimovanými nastaveními debuggeru není podporován. Kompresní knihovna chybí.</translation> </message> <message> - <location filename="../Project/Project.py" line="1115"/> + <location filename="../Project/Project.py" line="1118"/> <source>Delete debugger properties</source> <translation>Smazat nastavení debuggeru</translation> </message> <message> - <location filename="../Project/Project.py" line="1213"/> + <location filename="../Project/Project.py" line="1216"/> <source>Add Language</source> <translation>Přidat jazyk</translation> </message> <message> - <location filename="../Project/Project.py" line="1332"/> + <location filename="../Project/Project.py" line="1335"/> <source>Delete translation</source> <translation>Smazat překlad</translation> </message> <message> - <location filename="../Project/Project.py" line="1483"/> + <location filename="../Project/Project.py" line="1486"/> <source>Add file</source> <translation>Přidat soubor</translation> </message> <message> - <location filename="../Project/Project.py" line="1600"/> + <location filename="../Project/Project.py" line="1603"/> <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="1611"/> + <location filename="../Project/Project.py" line="1614"/> <source>Add directory</source> <translation>Přidat adresář</translation> </message> <message> - <location filename="../Project/Project.py" line="1611"/> + <location filename="../Project/Project.py" line="1614"/> <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="1735"/> + <location filename="../Project/Project.py" line="1738"/> <source>Rename file</source> <translation>Přejmenovat soubor</translation> </message> <message> - <location filename="../Project/Project.py" line="1759"/> + <location filename="../Project/Project.py" line="1762"/> <source>Rename File</source> <translation>Přejmenovat soubor</translation> </message> <message> - <location filename="../Project/Project.py" line="1951"/> + <location filename="../Project/Project.py" line="1954"/> <source>Delete file</source> <translation>Smazat soubor</translation> </message> <message> - <location filename="../Project/Project.py" line="1976"/> + <location filename="../Project/Project.py" line="1979"/> <source>Delete directory</source> <translation>Smazat adresář</translation> </message> <message> - <location filename="../Project/Project.py" line="2059"/> + <location filename="../Project/Project.py" line="2062"/> <source>Create project directory</source> <translation>Vytvořit adresář projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="2564"/> + <location filename="../Project/Project.py" line="2567"/> <source>New Project</source> <translation>Nový projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="2126"/> + <location filename="../Project/Project.py" line="2129"/> <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="2245"/> + <location filename="../Project/Project.py" line="2248"/> <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="3293"/> + <location filename="../Project/Project.py" line="3296"/> <source>New project</source> <translation>Nový projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="2193"/> + <location filename="../Project/Project.py" line="2196"/> <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="2217"/> + <location filename="../Project/Project.py" line="2220"/> <source>Select version control system for the project</source> <translation>Výběr verzovacího systému projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3307"/> + <location filename="../Project/Project.py" line="3310"/> <source>Open project</source> <translation>Otevřít projekt</translation> </message> @@ -37331,12 +37349,12 @@ <translation type="obsolete">Komprimované soubory projektu (*.e4pz)</translation> </message> <message> - <location filename="../Project/Project.py" line="2697"/> + <location filename="../Project/Project.py" line="2700"/> <source>Project Files (*.e4p)</source> <translation>Soubory projektu (*.e4p)</translation> </message> <message> - <location filename="../Project/Project.py" line="3344"/> + <location filename="../Project/Project.py" line="3347"/> <source>Save project as</source> <translation>Uložit projekt jako</translation> </message> @@ -37346,27 +37364,27 @@ <translation type="obsolete">Soubory projektu (*.e4p);;Komprimované soubory projektu (*.e4pz)</translation> </message> <message> - <location filename="../Project/Project.py" line="2712"/> + <location filename="../Project/Project.py" line="2715"/> <source>Save File</source> <translation>Uložit soubor</translation> </message> <message> - <location filename="../Project/Project.py" line="2748"/> + <location filename="../Project/Project.py" line="2751"/> <source>Close Project</source> <translation>Zavřít projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="2748"/> + <location filename="../Project/Project.py" line="2751"/> <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="2911"/> + <location filename="../Project/Project.py" line="2914"/> <source>Syntax errors detected</source> <translation>Zjištěny syntaktické chyby</translation> </message> <message numerus="yes"> - <location filename="../Project/Project.py" line="2911"/> + <location filename="../Project/Project.py" line="2914"/> <source>The project contains %n file(s) with syntax errors.</source> <translation> <numerusform>Projekt obsahuje %n soubor se syntaktickými chybami.</numerusform> @@ -37375,662 +37393,662 @@ </translation> </message> <message> - <location filename="../Project/Project.py" line="3293"/> + <location filename="../Project/Project.py" line="3296"/> <source>&New...</source> <translation>&Nový...</translation> </message> <message> - <location filename="../Project/Project.py" line="3298"/> + <location filename="../Project/Project.py" line="3301"/> <source>Generate a new project</source> <translation>Vygenerovat nový projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3299"/> + <location filename="../Project/Project.py" line="3302"/> <source><b>New...</b><p>This opens a dialog for entering the info for a new project.</p></source> <translation><b>Nový...</b><p>Otevře se dialogové okno pro zadání informací o novém projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3307"/> + <location filename="../Project/Project.py" line="3310"/> <source>&Open...</source> <translation>&Otevřít...</translation> </message> <message> - <location filename="../Project/Project.py" line="3312"/> + <location filename="../Project/Project.py" line="3315"/> <source>Open an existing project</source> <translation>Otevřít existující projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3313"/> + <location filename="../Project/Project.py" line="3316"/> <source><b>Open...</b><p>This opens an existing project.</p></source> <translation><b>Otevřít....</b><p>Otevře existující projekt.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3320"/> + <location filename="../Project/Project.py" line="3323"/> <source>Close project</source> <translation>Zavřít projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3320"/> + <location filename="../Project/Project.py" line="3323"/> <source>&Close</source> <translation>&Zavřít</translation> </message> <message> - <location filename="../Project/Project.py" line="3324"/> + <location filename="../Project/Project.py" line="3327"/> <source>Close the current project</source> <translation>Uzavře aktuální projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3325"/> + <location filename="../Project/Project.py" line="3328"/> <source><b>Close</b><p>This closes the current project.</p></source> <translation><b>Zavřít</b><p>Aktuální projekt se uzavře.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3332"/> + <location filename="../Project/Project.py" line="3335"/> <source>Save project</source> <translation>Uložit projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3508"/> + <location filename="../Project/Project.py" line="3511"/> <source>&Save</source> <translation>&Uložit</translation> </message> <message> - <location filename="../Project/Project.py" line="3336"/> + <location filename="../Project/Project.py" line="3339"/> <source>Save the current project</source> <translation>Uložit aktuální projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3337"/> + <location filename="../Project/Project.py" line="3340"/> <source><b>Save</b><p>This saves the current project.</p></source> <translation><b>Uložit</b><p>Aktuální projekt se uloží.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3344"/> + <location filename="../Project/Project.py" line="3347"/> <source>Save &as...</source> <translation>Uložit j&ako...</translation> </message> <message> - <location filename="../Project/Project.py" line="3348"/> + <location filename="../Project/Project.py" line="3351"/> <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="3350"/> + <location filename="../Project/Project.py" line="3353"/> <source><b>Save as</b><p>This saves the current project to a new file.</p></source> <translation><b>Uložit jako</b><p>Uloží aktuální projekt do nového souboru.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3359"/> + <location filename="../Project/Project.py" line="3362"/> <source>Add files to project</source> <translation>Přidat soubory do projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3359"/> + <location filename="../Project/Project.py" line="3362"/> <source>Add &files...</source> <translation>&Přidat soubory...</translation> </message> <message> - <location filename="../Project/Project.py" line="3364"/> + <location filename="../Project/Project.py" line="3367"/> <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="3366"/> + <location filename="../Project/Project.py" line="3369"/> <source><b>Add files...</b><p>This opens a dialog for adding files to the current project. The place to add is determined by the file extension.</p></source> <translation><b>Přidat soubory...</b><p>Otevře dialog pri přidání souborů do aktuálního projektu. Místo pro přidání je definováno extenzí souborů.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3375"/> + <location filename="../Project/Project.py" line="3378"/> <source>Add directory to project</source> <translation>Přidat adresář do projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3375"/> + <location filename="../Project/Project.py" line="3378"/> <source>Add directory...</source> <translation>Přidat adresář...</translation> </message> <message> - <location filename="../Project/Project.py" line="3380"/> + <location filename="../Project/Project.py" line="3383"/> <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="3382"/> + <location filename="../Project/Project.py" line="3385"/> <source><b>Add directory...</b><p>This opens a dialog for adding a directory to the current project.</p></source> <translation><b>Přidat adresář...</b><p>Otevře dialog pro přičtení adresáře do aktuálního projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3390"/> + <location filename="../Project/Project.py" line="3393"/> <source>Add translation to project</source> <translation>Přidat překlad do projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3390"/> + <location filename="../Project/Project.py" line="3393"/> <source>Add &translation...</source> <translation>Přida&t překlad...</translation> </message> <message> - <location filename="../Project/Project.py" line="3395"/> + <location filename="../Project/Project.py" line="3398"/> <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="3397"/> + <location filename="../Project/Project.py" line="3400"/> <source><b>Add translation...</b><p>This opens a dialog for add a translation to the current project.</p></source> <translation><b>Přidat překlad</b><p>Otevře dialog pro přidání překladu do aktuálního projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3405"/> + <location filename="../Project/Project.py" line="3408"/> <source>Search new files</source> <translation>Hledat nové soubory</translation> </message> <message> - <location filename="../Project/Project.py" line="3405"/> + <location filename="../Project/Project.py" line="3408"/> <source>Searc&h new files...</source> <translation>&Hledat nové soubory...</translation> </message> <message> - <location filename="../Project/Project.py" line="3409"/> + <location filename="../Project/Project.py" line="3412"/> <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="3411"/> + <location filename="../Project/Project.py" line="3414"/> <source><b>Search new files...</b><p>This searches for new files (sources, *.ui, *.idl) in the project directory and registered subdirectories.</p></source> <translation><b>Hledat nové soubory...</b><p>Hledají se nové soubory (zdrojové, *.ui, *.idl) v adresáři projektu a v registrovaných podadresářích.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3419"/> + <location filename="../Project/Project.py" line="3422"/> <source>Project properties</source> <translation>Nastavení projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3419"/> + <location filename="../Project/Project.py" line="3422"/> <source>&Properties...</source> <translation>&Natavení...</translation> </message> <message> - <location filename="../Project/Project.py" line="3424"/> + <location filename="../Project/Project.py" line="3427"/> <source>Show the project properties</source> <translation>Zobrazit nastavení projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3425"/> + <location filename="../Project/Project.py" line="3428"/> <source><b>Properties...</b><p>This shows a dialog to edit the project properties.</p></source> <translation><b>Nastavení...</b><p>Zobrazí dialog s editací nastavení projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3432"/> + <location filename="../Project/Project.py" line="3435"/> <source>User project properties</source> <translation>Uživatelská nastavení projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3432"/> + <location filename="../Project/Project.py" line="3435"/> <source>&User Properties...</source> <translation>Uživat&elská nastavení...</translation> </message> <message> - <location filename="../Project/Project.py" line="3437"/> + <location filename="../Project/Project.py" line="3440"/> <source>Show the user specific project properties</source> <translation>Zobrazit uživatelem definovaná nastavení projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3439"/> + <location filename="../Project/Project.py" line="3442"/> <source><b>User Properties...</b><p>This shows a dialog to edit the user specific project properties.</p></source> <translation><b>Uživatelská nastavení...</b><p>Zobrazí dialog s editací uživatelských nastavení projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3447"/> + <location filename="../Project/Project.py" line="3450"/> <source>Filetype Associations</source> <translation>Asociace typů souborů</translation> </message> <message> - <location filename="../Project/Project.py" line="3447"/> + <location filename="../Project/Project.py" line="3450"/> <source>Filetype Associations...</source> <translation>Asociace typů souborů...</translation> </message> <message> - <location filename="../Project/Project.py" line="3451"/> + <location filename="../Project/Project.py" line="3454"/> <source>Show the project filetype associations</source> <translation>Zobrazit asociace typů souborů</translation> </message> <message> - <location filename="../Project/Project.py" line="3453"/> + <location filename="../Project/Project.py" line="3456"/> <source><b>Filetype Associations...</b><p>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.</p></source> <translation><b>Asociace typů souborů...</b><p>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í.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3483"/> + <location filename="../Project/Project.py" line="3486"/> <source>Debugger Properties</source> <translation>Nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="3483"/> + <location filename="../Project/Project.py" line="3486"/> <source>Debugger &Properties...</source> <translation>Nastavení &debuggeru...</translation> </message> <message> - <location filename="../Project/Project.py" line="3487"/> + <location filename="../Project/Project.py" line="3490"/> <source>Show the debugger properties</source> <translation>Zobrazit nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="3488"/> + <location filename="../Project/Project.py" line="3491"/> <source><b>Debugger Properties...</b><p>This shows a dialog to edit project specific debugger settings.</p></source> <translation><b>Nastavení debugeru...</b><p>Zobrazí dialog s editací nastavení debugeru.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3496"/> + <location filename="../Project/Project.py" line="3499"/> <source>Load</source> <translation>Načíst</translation> </message> <message> - <location filename="../Project/Project.py" line="3496"/> + <location filename="../Project/Project.py" line="3499"/> <source>&Load</source> <translation>&Načíst</translation> </message> <message> - <location filename="../Project/Project.py" line="3500"/> + <location filename="../Project/Project.py" line="3503"/> <source>Load the debugger properties</source> <translation>Načíst nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="3501"/> + <location filename="../Project/Project.py" line="3504"/> <source><b>Load Debugger Properties</b><p>This loads the project specific debugger settings.</p></source> <translation><b>Načíst nastavení debugeru</b><p>Načtou se nastavení debugeru do projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3508"/> + <location filename="../Project/Project.py" line="3511"/> <source>Save</source> <translation>Uložit</translation> </message> <message> - <location filename="../Project/Project.py" line="3512"/> + <location filename="../Project/Project.py" line="3515"/> <source>Save the debugger properties</source> <translation>Uložit nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="3513"/> + <location filename="../Project/Project.py" line="3516"/> <source><b>Save Debugger Properties</b><p>This saves the project specific debugger settings.</p></source> <translation><b>Uložit nastavení debugeru</b><p>Uloží nastavení debugeru definovaná v projektu..</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3520"/> + <location filename="../Project/Project.py" line="3523"/> <source>Delete</source> <translation>Smazat</translation> </message> <message> - <location filename="../Project/Project.py" line="3520"/> + <location filename="../Project/Project.py" line="3523"/> <source>&Delete</source> <translation>Sma&zat</translation> </message> <message> - <location filename="../Project/Project.py" line="3524"/> + <location filename="../Project/Project.py" line="3527"/> <source>Delete the debugger properties</source> <translation>Smazat nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="3525"/> + <location filename="../Project/Project.py" line="3528"/> <source><b>Delete Debugger Properties</b><p>This deletes the file containing the project specific debugger settings.</p></source> <translation><b>Smazat nastavení debugeru</b><p>Smaže se soubor obsahující nastavení debugeru v daném projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3533"/> + <location filename="../Project/Project.py" line="3536"/> <source>Reset</source> <translation></translation> </message> <message> - <location filename="../Project/Project.py" line="3533"/> + <location filename="../Project/Project.py" line="3536"/> <source>&Reset</source> <translation>&Reset</translation> </message> <message> - <location filename="../Project/Project.py" line="3537"/> + <location filename="../Project/Project.py" line="3540"/> <source>Reset the debugger properties</source> <translation>Reset nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="3538"/> + <location filename="../Project/Project.py" line="3541"/> <source><b>Reset Debugger Properties</b><p>This resets the project specific debugger settings.</p></source> <translation><b>Reset nastavení debugeru</b><p>Zresetuje nastavení debugeru v projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3547"/> + <location filename="../Project/Project.py" line="3550"/> <source>Load session</source> <translation>Načíst relaci</translation> </message> <message> - <location filename="../Project/Project.py" line="3551"/> + <location filename="../Project/Project.py" line="3554"/> <source>Load the projects session file.</source> <translation>Načíst soubor s relací projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="3552"/> + <location filename="../Project/Project.py" line="3555"/> <source><b>Load session</b><p>This loads the projects session file. The session consists of the following data.<br>- all open source files<br>- all breakpoint<br>- the commandline arguments<br>- the working directory<br>- the exception reporting flag</p></source> <translation><b>Načíst relaci</b><p>Načte soubor s relací projektu. Relace obsahuje následující údaje:<br>- všechny otevřené zdrojové soubory<br>- všechny breakpointy<br>- argumenty příkazové řádky <br>- pracovní adresář<br>- příznak výjimky</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3565"/> + <location filename="../Project/Project.py" line="3568"/> <source>Save session</source> <translation>Uložit relaci</translation> </message> <message> - <location filename="../Project/Project.py" line="3569"/> + <location filename="../Project/Project.py" line="3572"/> <source>Save the projects session file.</source> <translation>Uložit soubor s relací projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="3570"/> + <location filename="../Project/Project.py" line="3573"/> <source><b>Save session</b><p>This saves the projects session file. The session consists of the following data.<br>- all open source files<br>- all breakpoint<br>- the commandline arguments<br>- the working directory<br>- the exception reporting flag</p></source> <translation><b>Uložit relaci</b><p>Uloží soubor s relací projektu. Relace obsahuje následující údaje:<br>- všechny otevřené zdrojové soubory<br>- všechny breakpointy<br>- argumenty příkazové řádky <br>- pracovní adresář<br>- příznak výjimky</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3583"/> + <location filename="../Project/Project.py" line="3586"/> <source>Delete session</source> <translation>Smazat relaci</translation> </message> <message> - <location filename="../Project/Project.py" line="3587"/> + <location filename="../Project/Project.py" line="3590"/> <source>Delete the projects session file.</source> <translation>Smaže soubor s relací projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="3588"/> + <location filename="../Project/Project.py" line="3591"/> <source><b>Delete session</b><p>This deletes the projects session file</p></source> <translation><b>Smazat relaci</b><p>Smaže soubor s relací projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3597"/> + <location filename="../Project/Project.py" line="3600"/> <source>Code Metrics</source> <translation>Metriky kódu</translation> </message> <message> - <location filename="../Project/Project.py" line="3597"/> + <location filename="../Project/Project.py" line="3600"/> <source>&Code Metrics...</source> <translation>Metriky &kódu...</translation> </message> <message> - <location filename="../Project/Project.py" line="3601"/> + <location filename="../Project/Project.py" line="3604"/> <source>Show some code metrics for the project.</source> <translation>Zobrazit metriky kódu projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="3603"/> + <location filename="../Project/Project.py" line="3606"/> <source><b>Code Metrics...</b><p>This shows some code metrics for all Python files in the project.</p></source> <translation><b>Metriky kódu...</b><p>Zobrazí se metriky kódu všech python souborů v projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3611"/> + <location filename="../Project/Project.py" line="3614"/> <source>Python Code Coverage</source> <translation>Pokrytí python kódu</translation> </message> <message> - <location filename="../Project/Project.py" line="3611"/> + <location filename="../Project/Project.py" line="3614"/> <source>Code Co&verage...</source> <translation>Pokr&ytí kódu...</translation> </message> <message> - <location filename="../Project/Project.py" line="3615"/> + <location filename="../Project/Project.py" line="3618"/> <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="3617"/> + <location filename="../Project/Project.py" line="3620"/> <source><b>Code Coverage...</b><p>This shows the code coverage information for all Python files in the project.</p></source> <translation><b>Pokrytí kódu...</b><p>Zobrazí informace o pokrytí kódu ve všech python souborech projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4377"/> + <location filename="../Project/Project.py" line="4380"/> <source>Profile Data</source> <translation>Profilovat data</translation> </message> <message> - <location filename="../Project/Project.py" line="3625"/> + <location filename="../Project/Project.py" line="3628"/> <source>&Profile Data...</source> <translation>&Profilovat data...</translation> </message> <message> - <location filename="../Project/Project.py" line="3629"/> + <location filename="../Project/Project.py" line="3632"/> <source>Show profiling data for the project.</source> <translation>Zobrazit profilování dat projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="3631"/> + <location filename="../Project/Project.py" line="3634"/> <source><b>Profile Data...</b><p>This shows the profiling data for the project.</p></source> <translation><b>Profilovat data</b><p>Zobrazí se profilování dat projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4431"/> + <location filename="../Project/Project.py" line="4434"/> <source>Application Diagram</source> <translation>Diagram aplikace</translation> </message> <message> - <location filename="../Project/Project.py" line="3640"/> + <location filename="../Project/Project.py" line="3643"/> <source>&Application Diagram...</source> <translation>Diagram &aplikace...</translation> </message> <message> - <location filename="../Project/Project.py" line="3644"/> + <location filename="../Project/Project.py" line="3647"/> <source>Show a diagram of the project.</source> <translation>Zobrazit diagram projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="3646"/> + <location filename="../Project/Project.py" line="3649"/> <source><b>Application Diagram...</b><p>This shows a diagram of the project.</p></source> <translation><b>Diagram aplikace...</b><p>Zobrazí diagram projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3737"/> + <location filename="../Project/Project.py" line="3740"/> <source>&Project</source> <translation>&Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3738"/> + <location filename="../Project/Project.py" line="3741"/> <source>Open &Recent Projects</source> <translation>Otevřít poslední p&rojekty</translation> </message> <message> - <location filename="../Project/Project.py" line="3739"/> + <location filename="../Project/Project.py" line="3742"/> <source>&Version Control</source> <translation>Kontrola &verzí</translation> </message> <message> - <location filename="../Project/Project.py" line="3743"/> - <source>Chec&k</source> - <translation>Zkontro&lovat</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3745"/> - <source>Sho&w</source> - <translation>Zo&brazit</translation> - </message> - <message> <location filename="../Project/Project.py" line="3746"/> - <source>&Diagrams</source> - <translation>&Diagramy</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3747"/> - <source>Session</source> - <translation>Relace</translation> + <source>Chec&k</source> + <translation>Zkontro&lovat</translation> </message> <message> <location filename="../Project/Project.py" line="3748"/> - <source>Source &Documentation</source> - <translation>Zd&rojová dokumentace</translation> + <source>Sho&w</source> + <translation>Zo&brazit</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3749"/> + <source>&Diagrams</source> + <translation>&Diagramy</translation> </message> <message> <location filename="../Project/Project.py" line="3750"/> - <source>Debugger</source> - <translation></translation> + <source>Session</source> + <translation>Relace</translation> </message> <message> <location filename="../Project/Project.py" line="3751"/> + <source>Source &Documentation</source> + <translation>Zd&rojová dokumentace</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3753"/> + <source>Debugger</source> + <translation></translation> + </message> + <message> + <location filename="../Project/Project.py" line="3754"/> <source>Pac&kagers</source> <translation>Balíč&ky</translation> </message> <message> - <location filename="../Project/Project.py" line="3858"/> + <location filename="../Project/Project.py" line="3861"/> <source>Project</source> <translation>Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3920"/> + <location filename="../Project/Project.py" line="3923"/> <source>&Clear</source> <translation>&Vyčistit</translation> </message> <message> - <location filename="../Project/Project.py" line="4041"/> + <location filename="../Project/Project.py" line="4044"/> <source>Search New Files</source> <translation>Hledat nové soubory</translation> </message> <message> - <location filename="../Project/Project.py" line="4041"/> + <location filename="../Project/Project.py" line="4044"/> <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="4187"/> + <location filename="../Project/Project.py" line="4190"/> <source>Version Control System</source> <translation>Version Control System</translation> </message> <message> - <location filename="../Project/Project.py" line="4305"/> + <location filename="../Project/Project.py" line="4308"/> <source>Coverage Data</source> <translation>Datové pokrytí</translation> </message> <message> - <location filename="../Project/Project.py" line="4354"/> + <location filename="../Project/Project.py" line="4357"/> <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="4328"/> + <location filename="../Project/Project.py" line="4331"/> <source>Code Coverage</source> <translation>Pokrytí kódu</translation> </message> <message> - <location filename="../Project/Project.py" line="4328"/> + <location filename="../Project/Project.py" line="4331"/> <source>Please select a coverage file</source> <translation>Prosím, vyberte soubor pokrytí</translation> </message> <message> - <location filename="../Project/Project.py" line="4377"/> + <location filename="../Project/Project.py" line="4380"/> <source>Please select a profile file</source> <translation>Prosím, vyberte soubor s profilem</translation> </message> <message> - <location filename="../Project/Project.py" line="4431"/> + <location filename="../Project/Project.py" line="4434"/> <source>Include module names?</source> <translation>Včetně jmen modulů?</translation> </message> <message> - <location filename="../Project/Project.py" line="4589"/> + <location filename="../Project/Project.py" line="4592"/> <source>Create Package List</source> <translation>Vytvořit seznam balíčků</translation> </message> <message> - <location filename="../Project/Project.py" line="3669"/> + <location filename="../Project/Project.py" line="3672"/> <source>Create &Package List</source> <translation>Vytvořit seznam &balíčků</translation> </message> <message> - <location filename="../Project/Project.py" line="4782"/> + <location filename="../Project/Project.py" line="4785"/> <source>Create Plugin Archive</source> <translation>Vytvořit Plugin archiv</translation> </message> <message> - <location filename="../Project/Project.py" line="3685"/> + <location filename="../Project/Project.py" line="3688"/> <source>Create Plugin &Archive</source> <translation>Vytvořit Plugin &archiv</translation> </message> <message> - <location filename="../Project/Project.py" line="4549"/> + <location filename="../Project/Project.py" line="4552"/> <source><p>The file <b>PKGLIST</b> already exists.</p><p>Overwrite it?</p></source> <translation><p>Soubor <b>PKGLIST</b> již existuje.</p><p>Přepsat jej?</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4609"/> + <location filename="../Project/Project.py" line="4612"/> <source><p>The file <b>PKGLIST</b> does not exist. Aborting...</p></source> <translation><p>Soubor <b>PKGLIST</b> neexistuje. Zrušeno...</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4618"/> + <location filename="../Project/Project.py" line="4621"/> <source>The project does not have a main script defined. Aborting...</source> <translation>Projekt nemá definován hlavní skript. Zrušeno...</translation> </message> <message> - <location filename="../Project/Project.py" line="1514"/> + <location filename="../Project/Project.py" line="1517"/> <source><p>The source directory doesn't contain any files belonging to the selected category.</p></source> <translation><p>Zdrojový adresář neobsahuje žádné soubory související s danou kategorií.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="2564"/> + <location filename="../Project/Project.py" line="2567"/> <source>Select Version Control System</source> <translation>Vybrat Version Control System</translation> </message> <message> - <location filename="../Project/Project.py" line="2224"/> + <location filename="../Project/Project.py" line="2227"/> <source>None</source> <translation>None</translation> </message> <message> - <location filename="../Project/Project.py" line="336"/> + <location filename="../Project/Project.py" line="339"/> <source>Registering Project Type</source> <translation>Zaregistrovat typ projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3701"/> + <location filename="../Project/Project.py" line="3704"/> <source>Create Plugin Archive (Snapshot)</source> <translation>Vytvořit archiv pluginů (snímek)</translation> </message> <message> - <location filename="../Project/Project.py" line="3701"/> + <location filename="../Project/Project.py" line="3704"/> <source>Create Plugin Archive (&Snapshot)</source> <translation>Vytvořit archiv pluginů (&snímek)</translation> </message> <message> - <location filename="../Project/Project.py" line="1213"/> + <location filename="../Project/Project.py" line="1216"/> <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="2323"/> + <location filename="../Project/Project.py" line="2326"/> <source>Translation Pattern</source> <translation>Vzor překladu</translation> </message> <message> - <location filename="../Project/Project.py" line="2323"/> + <location filename="../Project/Project.py" line="2326"/> <source>Enter the path pattern for translation files (use '%language%' in place of the language code):</source> <translation>Zadejte vzor cesty pro soubory s překlady (použijte '%language%' na místě s kódem jazyka):</translation> </message> <message> - <location filename="../Project/Project.py" line="3465"/> + <location filename="../Project/Project.py" line="3468"/> <source>Lexer Associations</source> <translation>Spojení lexeru</translation> </message> <message> - <location filename="../Project/Project.py" line="3465"/> + <location filename="../Project/Project.py" line="3468"/> <source>Lexer Associations...</source> <translation>Spojení lexeru...</translation> </message> <message> - <location filename="../Project/Project.py" line="3469"/> + <location filename="../Project/Project.py" line="3472"/> <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="3471"/> + <location filename="../Project/Project.py" line="3474"/> <source><b>Lexer Associations...</b><p>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.</p></source> <translation><b>Spojení lexeru...</b><p>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.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="252"/> + <location filename="../Project/Project.py" line="255"/> <source>PySide GUI</source> <translation></translation> </message> <message> - <location filename="../Project/Project.py" line="253"/> + <location filename="../Project/Project.py" line="256"/> <source>PySide Console</source> <translation>PySide konzole</translation> </message> @@ -38040,12 +38058,12 @@ <translation type="obsolete">Python soubory (*.py2);;Python GUI soubory (*.pyw2);;</translation> </message> <message> - <location filename="../Project/Project.py" line="188"/> + <location filename="../Project/Project.py" line="191"/> <source>Python3 Files (*.py *.py3);;Python3 GUI Files (*.pyw *.pyw3);;</source> <translation>Python3 soubory (*.py *.py3);;Python3 GUI soubory (*.pyw *.pyw3);;</translation> </message> <message> - <location filename="../Project/Project.py" line="238"/> + <location filename="../Project/Project.py" line="241"/> <source>Eric Plugin</source> <translation>Eric Plugin</translation> </message> @@ -38055,7 +38073,7 @@ <translation type="obsolete"><p>Typ projektu <b>{0}</b> již existuje.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="674"/> + <location filename="../Project/Project.py" line="677"/> <source><p>The project file <b>{0}</b> could not be read.</p></source> <translation><p>Soubor projektu <b>{0}</b> nelze načíst.</p></translation> </message> @@ -38070,17 +38088,17 @@ <translation type="obsolete"><p>Soubor projektu <b>{0}</b> má neplatný obsah.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="774"/> + <location filename="../Project/Project.py" line="777"/> <source><p>The project file <b>{0}</b> could not be written.</p></source> <translation><p>Do souboru projektu <b>{0}</b> nelze zapisovat.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="810"/> + <location filename="../Project/Project.py" line="813"/> <source><p>The user specific project properties file <b>{0}</b> could not be read.</p></source> <translation><p>Uživatelská nastavení projektu <b>{0}</b> nelze načíst.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="834"/> + <location filename="../Project/Project.py" line="837"/> <source><p>The user specific project properties file <b>{0}</b> could not be written.</p></source> <translation><p>Do souboru s uživatelskými nastaveními <b>{0}</b> nelze zapisovat.</p></translation> </message> @@ -38095,22 +38113,22 @@ <translation type="obsolete"><p>Relace projektu <b>{0}</b> je v nepodporovaném formátu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="887"/> + <location filename="../Project/Project.py" line="890"/> <source><p>The project session file <b>{0}</b> could not be read.</p></source> <translation><p>Soubor s relací projektu <b>{0}</b> nelze načíst.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="923"/> + <location filename="../Project/Project.py" line="926"/> <source><p>The project session file <b>{0}</b> could not be written.</p></source> <translation><p>Do souboru s relací projektu <b>{0}</b> nelze zapisovat.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="949"/> + <location filename="../Project/Project.py" line="952"/> <source><p>The project session file <b>{0}</b> could not be deleted.</p></source> <translation><p>Soubor s relací projektu <b>{0}</b> nelze smazat.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="978"/> + <location filename="../Project/Project.py" line="981"/> <source><p>The tasks file <b>{0}</b> could not be read.</p></source> <translation><p>Soubor s úlohami <b>{0}</b> nelze načíst.</p></translation> </message> @@ -38120,12 +38138,12 @@ <translation type="obsolete"><p>Soubor s úlohami <b>{0}</b> je v nepodporovaném formátu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="998"/> + <location filename="../Project/Project.py" line="1001"/> <source><p>The tasks file <b>{0}</b> could not be written.</p></source> <translation><p>Do souboru s úlohami <b>{0}</b> nelze zapisovat.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1055"/> + <location filename="../Project/Project.py" line="1058"/> <source><p>The project debugger properties file <b>{0}</b> could not be read.</p></source> <translation><p>Soubor s nastaveními debuggeru <b>{0}</b> nelze načíst.</p></translation> </message> @@ -38135,47 +38153,47 @@ <translation type="obsolete"><p>Soubor s nastaveními debuggeru <b>{0}</b> je v nepodporovaném formátu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1089"/> + <location filename="../Project/Project.py" line="1092"/> <source><p>The project debugger properties file <b>{0}</b> could not be written.</p></source> <translation><p>Do souboru s nastaveními debuggeru <b>{0}</b> nelze zapisovat.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1115"/> + <location filename="../Project/Project.py" line="1118"/> <source><p>The project debugger properties file <b>{0}</b> could not be deleted.</p></source> <translation><p>Soubor s nastaveními debuggeru <b>{0}</b> nelze smazat.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1332"/> + <location filename="../Project/Project.py" line="1335"/> <source><p>The selected translation file <b>{0}</b> could not be deleted.</p></source> <translation><p>Vybraný soubor s překladem <b>{0}</b> nelze smazat.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1545"/> + <location filename="../Project/Project.py" line="1548"/> <source><p>The file <b>{0}</b> already exists.</p><p>Overwrite it?</p></source> <translation><p>Soubor <b>{0}</b> již existuje.</p><p>Má se přepsat?</p></translation> </message> <message> - <location filename="../Project/Project.py" line="2712"/> + <location filename="../Project/Project.py" line="2715"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation><p>Soubor <b>{0}</b> již existuje.</p><p>Má se přepsat?</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1759"/> + <location filename="../Project/Project.py" line="1762"/> <source><p>The file <b>{0}</b> could not be renamed.<br />Reason: {1}</p></source> <translation><p>Soubor <b>{0}</b> nemůže být přejmenován.<br />Důvod: {1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1951"/> + <location filename="../Project/Project.py" line="1954"/> <source><p>The selected file <b>{0}</b> could not be deleted.</p></source> <translation><p>Vybraný soubor <b>{0}</b> nelze smazat.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1976"/> + <location filename="../Project/Project.py" line="1979"/> <source><p>The selected directory <b>{0}</b> could not be deleted.</p></source> <translation><p>Vybraný adresář <b>{0}</b> nelze smazat.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="2059"/> + <location filename="../Project/Project.py" line="2062"/> <source><p>The project directory <b>{0}</b> could not be created.</p></source> <translation><p>Adresář projektu <b>{0}</b> nelze vytvořit.</p></translation> </message> @@ -38190,32 +38208,32 @@ <translation type="obsolete"><p>Soubor <b>{0}</b> již existuje.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3674"/> + <location filename="../Project/Project.py" line="3677"/> <source>Create an initial PKGLIST file for an eric5 plugin.</source> <translation>Vytvořit počáteční soubor PKGLIST pro eric5 plugin.</translation> </message> <message> - <location filename="../Project/Project.py" line="3676"/> + <location filename="../Project/Project.py" line="3679"/> <source><b>Create Package List</b><p>This creates an initial list of files to include in an eric5 plugin archive. The list is created from the project file.</p></source> <translation><b>Vytvořit seznam balíčků</b><p>Vytvoří počáteční seznam souborů pro vložení do eric5 plugin archivu. Seznam je vytvořen ze souboru projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3690"/> + <location filename="../Project/Project.py" line="3693"/> <source>Create an eric5 plugin archive file.</source> <translation>Vytvořit soubor eric5 plugin archivu.</translation> </message> <message> - <location filename="../Project/Project.py" line="3692"/> + <location filename="../Project/Project.py" line="3695"/> <source><b>Create Plugin Archive</b><p>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.</p></source> <translation><b>Vytvořit Plugin archiv</b><p>Vytvoří soubor s eric5 plugin archivem za použití seznamu souborů daných v PKGLIST souboru. Jméno archivu je odvozeno ze jména hlavního skriptu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3706"/> + <location filename="../Project/Project.py" line="3709"/> <source>Create an eric5 plugin archive file (snapshot release).</source> <translation>Vytvoří se soubor eric5 plugin archívu (snímek vydání).</translation> </message> <message> - <location filename="../Project/Project.py" line="3708"/> + <location filename="../Project/Project.py" line="3711"/> <source><b>Create Plugin Archive (Snapshot)</b><p>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.</p></source> <translation><b>Vytvořit Plugin archiv (Snímek)</b><p>Vytvoří soubor s eric5 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í.</p></translation> </message> @@ -38225,127 +38243,127 @@ <translation type="obsolete"><p>Vybrané VCS <b>{0}</b> nebylo nalezeno.<br/>Navrácení do původního stavu.</p><p>{1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4187"/> + <location filename="../Project/Project.py" line="4190"/> <source><p>The selected VCS <b>{0}</b> could not be found.<br/>Disabling version control.</p><p>{1}</p></source> <translation><p>Vybrané VCS <b>{0}</b> nebylo nalezeno.<br/>Kontrola verzí vypnuta.</p><p>{1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4589"/> + <location filename="../Project/Project.py" line="4592"/> <source><p>The file <b>PKGLIST</b> could not be created.</p><p>Reason: {0}</p></source> <translation><p>Soubor <b>PKGLIST</b> nelze vytvořit.</p><p>Důvod: {0}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4632"/> + <location filename="../Project/Project.py" line="4635"/> <source><p>The file <b>PKGLIST</b> could not be read.</p><p>Reason: {0}</p></source> <translation><p>Soubor <b>PKGLIST</b> nelze načíst.</p><p>Důvod: {0}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4645"/> + <location filename="../Project/Project.py" line="4648"/> <source><p>The eric5 plugin archive file <b>{0}</b> could not be created.</p><p>Reason: {1}</p></source> <translation><p>Soubor s eric5 plugin archivem <b>{0}</b> nelze vytvořit. Zrušeno...</p><p>Důvod: {1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4671"/> + <location filename="../Project/Project.py" line="4674"/> <source><p>The file <b>{0}</b> could not be stored in the archive. Ignoring it.</p><p>Reason: {1}</p></source> <translation><p>Soubor <b>{0}</b> nelze uložit do archivu. Ingorováno.</p><p>Důvod: {1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4694"/> + <location filename="../Project/Project.py" line="4697"/> <source><p>The eric5 plugin archive file <b>{0}</b> was created successfully.</p></source> <translation><p>Soubor s eric5 plugin archivem <b>{0}</b> byl úspěšně vytvořen.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4740"/> + <location filename="../Project/Project.py" line="4743"/> <source><p>The plugin file <b>{0}</b> could not be read.</p><p>Reason: {1}</p></source> <translation><p>Plugin soubor <b>{0}</b> nelze přečíst.</p><p>Důvod: {1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1471"/> + <location filename="../Project/Project.py" line="1474"/> <source><p>The selected file <b>{0}</b> could not be added to <b>{1}</b>.</p><p>Reason: {2}</p></source> <translation><p>Vybraný soubor <b>{0}</b> nelze přidat do <b>{1}</b>.</p><p>Důvod: {2}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1527"/> + <location filename="../Project/Project.py" line="1530"/> <source><p>The target directory <b>{0}</b> could not be created.</p><p>Reason: {1}</p></source> <translation><p>Cílový adresář <b>{0}</b> nelze vytvořit.</p><p>Důvod: {1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="185"/> + <location filename="../Project/Project.py" line="188"/> <source>Python2 Files (*.py2);;Python2 GUI Files (*.pyw2);;</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="2113"/> + <location filename="../Project/Project.py" line="2116"/> <source>Create main script</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="2113"/> + <location filename="../Project/Project.py" line="2116"/> <source><p>The mainscript <b>{0}</b> could not be created.<br/>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="3654"/> + <location filename="../Project/Project.py" line="3657"/> <source>Load Diagram</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="3654"/> + <location filename="../Project/Project.py" line="3657"/> <source>&Load Diagram...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="3658"/> + <location filename="../Project/Project.py" line="3661"/> <source>Load a diagram from file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="3660"/> + <location filename="../Project/Project.py" line="3663"/> <source><b>Load Diagram...</b><p>This loads a diagram from file.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="313"/> + <location filename="../Project/Project.py" line="316"/> <source><p>The Programming Language <b>{0}</b> is not supported.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="336"/> + <location filename="../Project/Project.py" line="339"/> <source><p>The Project type <b>{0}</b> is already registered.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="324"/> + <location filename="../Project/Project.py" line="327"/> <source><p>The Project type <b>{0}</b> is already registered with Programming Language <b>{1}</b>.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="234"/> - <source>Qt GUI</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Project/Project.py" line="235"/> - <source>Qt Console</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Project/Project.py" line="236"/> - <source>PyQt5 GUI</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../Project/Project.py" line="237"/> + <source>Qt GUI</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="238"/> + <source>Qt Console</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="239"/> + <source>PyQt5 GUI</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="240"/> <source>PyQt5 Console</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4176"/> + <location filename="../Project/Project.py" line="4179"/> <source><p>The selected VCS <b>{0}</b> could not be found. <br/>Reverting override.</p><p>{1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4782"/> + <location filename="../Project/Project.py" line="4785"/> <source><p>The plugin file <b>{0}</b> could not be read.</p> <p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> @@ -38421,7 +38439,7 @@ <translation>odebráno souborů</translation> </message> <message> - <location filename="../Project/ProjectBrowser.py" line="384"/> + <location filename="../Project/ProjectBrowser.py" line="386"/> <source>unknown status</source> <translation type="unfinished"></translation> </message> @@ -39460,197 +39478,197 @@ <translation><b>Prohlížeč zdrojových kódů projektu</b><p>Umožňuje jednoduše vidět všechny zdrojové soubory aktuálního projektu. Několik akcí lze provést i přes kontextové menu.</p></translation> </message> <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="116"/> + <location filename="../Project/ProjectSourcesBrowser.py" line="444"/> <source>Check</source> <translation>Zkontrolovat</translation> </message> <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="119"/> + <location filename="../Project/ProjectSourcesBrowser.py" line="121"/> <source>Show</source> <translation>Zobrazit</translation> </message> <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="120"/> - <source>Code metrics...</source> - <translation>Metrika kódu...</translation> - </message> - <message> <location filename="../Project/ProjectSourcesBrowser.py" line="122"/> - <source>Code coverage...</source> - <translation>Pokrytí kódu...</translation> + <source>Code metrics...</source> + <translation>Metrika kódu...</translation> </message> <message> <location filename="../Project/ProjectSourcesBrowser.py" line="124"/> + <source>Code coverage...</source> + <translation>Pokrytí kódu...</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="126"/> <source>Profile data...</source> <translation>Profilovat data...</translation> </message> <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="298"/> + <location filename="../Project/ProjectSourcesBrowser.py" line="302"/> <source>Diagrams</source> <translation>Diagramy</translation> </message> <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="299"/> - <source>Class Diagram...</source> - <translation>Diagram třídy...</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="301"/> - <source>Package Diagram...</source> - <translation>Diagram balíčku...</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="133"/> - <source>Imports Diagram...</source> - <translation>Diagram importů...</translation> - </message> - <message> <location filename="../Project/ProjectSourcesBrowser.py" line="303"/> - <source>Application Diagram...</source> - <translation>Diagram aplikace...</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="144"/> - <source>Run unittest...</source> - <translation>Spustit unittest...</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="312"/> - <source>Rename file</source> - <translation>Přejmenovat soubor</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="402"/> - <source>Remove from project</source> - <translation>Odebrat z projektu</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="390"/> - <source>Delete</source> - <translation>Smazat</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="406"/> - <source>Add source files...</source> - <translation>Přidat zdrojové soubory...</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="408"/> - <source>Add source directory...</source> - <translation>Přidat adresář se zdrojovými soubory...</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="421"/> - <source>Expand all directories</source> - <translation>Rozložit všechny adresáře</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="423"/> - <source>Collapse all directories</source> - <translation>Složit všechny adresáře</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="742"/> - <source>Delete files</source> - <translation>Smazat soubory</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="742"/> - <source>Do you really want to delete these files from the project?</source> - <translation>Opravdu chcete odebrat tyto soubory z projektu?</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="816"/> - <source>Code Coverage</source> - <translation>Pokrytí kódu</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="816"/> - <source>Please select a coverage file</source> - <translation>Prosím, vyberte soubor s pokrytím kódu</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="870"/> - <source>Profile Data</source> - <translation>Profilovat data</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="870"/> - <source>Please select a profile file</source> - <translation>Prosím, vyberte soubor s profilem</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="907"/> - <source>Class Diagram</source> - <translation>Diagram třídy</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="947"/> - <source>Include class attributes?</source> - <translation>Včetně atributů třídy?</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="947"/> - <source>Package Diagram</source> - <translation>Diagram balíčku</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="962"/> - <source>Application Diagram</source> - <translation>Diagram aplikace</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="962"/> - <source>Include module names?</source> - <translation>Včetně jmen modulů?</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="357"/> - <source>New package...</source> - <translation>Nový balíček...</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="681"/> - <source>Add new Python package</source> - <translation>Přidat nový Python balíček</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="927"/> - <source>Imports Diagram</source> - <translation>Importovat diagram</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="927"/> - <source>Include imports from external modules?</source> - <translation>Zahrnout importy z externích modulů?</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="426"/> - <source>Configure...</source> - <translation>Konfigurovat...</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="268"/> - <source>Copy Path to Clipboard</source> - <translation>Kopírovat cestu do schránky</translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="666"/> - <source><p>The package directory <b>{0}</b> could not be created. Aborting...</p><p>Reason: {1}</p></source> - <translation><p>Adresář balíčku <b>{0}</b> nelze vytvořit. Zrušeno...</p><p>Důvod: {1}</p></translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="681"/> - <source><p>The package file <b>{0}</b> could not be created. Aborting...</p><p>Reason: {1}</p></source> - <translation><p>Soubor balíčku <b>{0}</b> nelze vytvořit. Zrušeno...</p><p>Důvod: {1}</p></translation> - </message> - <message> - <location filename="../Project/ProjectSourcesBrowser.py" line="350"/> - <source>Goto</source> - <translation type="unfinished">Jít na</translation> + <source>Class Diagram...</source> + <translation>Diagram třídy...</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="305"/> + <source>Package Diagram...</source> + <translation>Diagram balíčku...</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="135"/> + <source>Imports Diagram...</source> + <translation>Diagram importů...</translation> </message> <message> <location filename="../Project/ProjectSourcesBrowser.py" line="307"/> + <source>Application Diagram...</source> + <translation>Diagram aplikace...</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="146"/> + <source>Run unittest...</source> + <translation>Spustit unittest...</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="448"/> + <source>Rename file</source> + <translation>Přejmenovat soubor</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="541"/> + <source>Remove from project</source> + <translation>Odebrat z projektu</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="544"/> + <source>Delete</source> + <translation>Smazat</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="548"/> + <source>Add source files...</source> + <translation>Přidat zdrojové soubory...</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="550"/> + <source>Add source directory...</source> + <translation>Přidat adresář se zdrojovými soubory...</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="566"/> + <source>Expand all directories</source> + <translation>Rozložit všechny adresáře</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="568"/> + <source>Collapse all directories</source> + <translation>Složit všechny adresáře</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="887"/> + <source>Delete files</source> + <translation>Smazat soubory</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="887"/> + <source>Do you really want to delete these files from the project?</source> + <translation>Opravdu chcete odebrat tyto soubory z projektu?</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="961"/> + <source>Code Coverage</source> + <translation>Pokrytí kódu</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="961"/> + <source>Please select a coverage file</source> + <translation>Prosím, vyberte soubor s pokrytím kódu</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="1015"/> + <source>Profile Data</source> + <translation>Profilovat data</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="1015"/> + <source>Please select a profile file</source> + <translation>Prosím, vyberte soubor s profilem</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="1052"/> + <source>Class Diagram</source> + <translation>Diagram třídy</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="1092"/> + <source>Include class attributes?</source> + <translation>Včetně atributů třídy?</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="1092"/> + <source>Package Diagram</source> + <translation>Diagram balíčku</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="1107"/> + <source>Application Diagram</source> + <translation>Diagram aplikace</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="1107"/> + <source>Include module names?</source> + <translation>Včetně jmen modulů?</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="361"/> + <source>New package...</source> + <translation>Nový balíček...</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="826"/> + <source>Add new Python package</source> + <translation>Přidat nový Python balíček</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="1072"/> + <source>Imports Diagram</source> + <translation>Importovat diagram</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="1072"/> + <source>Include imports from external modules?</source> + <translation>Zahrnout importy z externích modulů?</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="571"/> + <source>Configure...</source> + <translation>Konfigurovat...</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="555"/> + <source>Copy Path to Clipboard</source> + <translation>Kopírovat cestu do schránky</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="811"/> + <source><p>The package directory <b>{0}</b> could not be created. Aborting...</p><p>Reason: {1}</p></source> + <translation><p>Adresář balíčku <b>{0}</b> nelze vytvořit. Zrušeno...</p><p>Důvod: {1}</p></translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="826"/> + <source><p>The package file <b>{0}</b> could not be created. Aborting...</p><p>Reason: {1}</p></source> + <translation><p>Soubor balíčku <b>{0}</b> nelze vytvořit. Zrušeno...</p><p>Důvod: {1}</p></translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="489"/> + <source>Goto</source> + <translation type="unfinished">Jít na</translation> + </message> + <message> + <location filename="../Project/ProjectSourcesBrowser.py" line="311"/> <source>Load Diagram...</source> <translation type="unfinished"></translation> </message> @@ -54760,7 +54778,7 @@ <translation>Stisknout pro zobrazení všech souborů, které obsahují problém</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="304"/> + <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="320"/> <source>No issues found.</source> <translation>Žádné problémy nenalezeny.</translation> </message> @@ -54785,7 +54803,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="205"/> + <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py" line="210"/> <source>Error: {0}</source> <translation type="unfinished">Chyby: {0}</translation> </message> @@ -54798,22 +54816,22 @@ <context> <name>SyntaxCheckerPlugin</name> <message> - <location filename="../Plugins/PluginSyntaxChecker.py" line="169"/> + <location filename="../Plugins/PluginSyntaxChecker.py" line="170"/> <source>Check Syntax</source> <translation>Kontrola syntaxe</translation> </message> <message> - <location filename="../Plugins/PluginSyntaxChecker.py" line="169"/> + <location filename="../Plugins/PluginSyntaxChecker.py" line="170"/> <source>&Syntax...</source> <translation>&Syntaxe...</translation> </message> <message> - <location filename="../Plugins/PluginSyntaxChecker.py" line="80"/> + <location filename="../Plugins/PluginSyntaxChecker.py" line="81"/> <source>Check syntax.</source> <translation>Kontrola syntaxe.</translation> </message> <message> - <location filename="../Plugins/PluginSyntaxChecker.py" line="173"/> + <location filename="../Plugins/PluginSyntaxChecker.py" line="174"/> <source><b>Check Syntax...</b><p>This checks Python files for syntax errors.</p></source> <translation><b>Kontrola Syntaxe...</b><p>Zkontroluje všechny Python soubory na syntaktické chyby.</p></translation> </message> @@ -55249,22 +55267,22 @@ <context> <name>TabnannyPlugin</name> <message> - <location filename="../Plugins/PluginTabnanny.py" line="171"/> + <location filename="../Plugins/PluginTabnanny.py" line="172"/> <source>Check Indentations</source> <translation>Kontrola odsazení</translation> </message> <message> - <location filename="../Plugins/PluginTabnanny.py" line="171"/> + <location filename="../Plugins/PluginTabnanny.py" line="172"/> <source>&Indentations...</source> <translation>&Odsazení...</translation> </message> <message> - <location filename="../Plugins/PluginTabnanny.py" line="80"/> + <location filename="../Plugins/PluginTabnanny.py" line="81"/> <source>Check indentations using tabnanny.</source> <translation>Kontrola odsazení za použití tabnanny.</translation> </message> <message> - <location filename="../Plugins/PluginTabnanny.py" line="175"/> + <location filename="../Plugins/PluginTabnanny.py" line="176"/> <source><b>Check Indentations...</b><p>This checks Python files for bad indentations using tabnanny.</p></source> <translation><b>Kontrola odsazení....</b><p>Zkontroluje všechny Python soubory na správné odsazení za použití funkce tabnanny.</p></translation> </message> @@ -59317,7 +59335,7 @@ <translation><h3>Čísla verzí</h3><table></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6051"/> + <location filename="../UI/UserInterface.py" line="6050"/> <source></table></source> <translation></table></translation> </message> @@ -59382,27 +59400,27 @@ <translation><p>Adresář PyQt4 dokumentace není nakonfigurován.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5441"/> + <location filename="../UI/UserInterface.py" line="5440"/> <source>Save tasks</source> <translation>Uložit úlohy</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5467"/> + <location filename="../UI/UserInterface.py" line="5466"/> <source>Read tasks</source> <translation>Načíst úlohy</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5703"/> + <location filename="../UI/UserInterface.py" line="5702"/> <source>Drop Error</source> <translation>Zahodit chybu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6014"/> + <location filename="../UI/UserInterface.py" line="6013"/> <source>Error during updates check</source> <translation>Chyba během zjišťování aktualizací</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5994"/> + <location filename="../UI/UserInterface.py" line="5993"/> <source>Update available</source> <translation>Byla nalezena aktualizace</translation> </message> @@ -59417,17 +59435,17 @@ <translation>Zobrazit externí nás&troje</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6014"/> + <location filename="../UI/UserInterface.py" line="6013"/> <source>Could not perform updates check.</source> <translation>Kontrolu updatů nelze provést.</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5846"/> + <location filename="../UI/UserInterface.py" line="5845"/> <source>&Cancel</source> <translation>&Zrušit</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6078"/> + <location filename="../UI/UserInterface.py" line="6077"/> <source>First time usage</source> <translation>Spuštěno poprvé</translation> </message> @@ -59532,7 +59550,7 @@ <translation type="obsolete">Nelze stáhnout soubor s verzemi.</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6037"/> + <location filename="../UI/UserInterface.py" line="6036"/> <source><h3>Available versions</h3><table></source> <translation><h3>Dostupné verze</h3><table></translation> </message> @@ -59657,12 +59675,12 @@ <translation type="obsolete">Proh&lížeč šablon</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5485"/> + <location filename="../UI/UserInterface.py" line="5484"/> <source>Save session</source> <translation>Uložit relaci</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5513"/> + <location filename="../UI/UserInterface.py" line="5512"/> <source>Read session</source> <translation>Načíst relaci</translation> </message> @@ -60191,12 +60209,12 @@ <translation type="obsolete">Soubor klávesových zkratek (*.e4k *.e4kz)</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5441"/> + <location filename="../UI/UserInterface.py" line="5440"/> <source><p>The tasks file <b>{0}</b> could not be written.</p></source> <translation><p>Do souboru s úlohami <b>{0}</b> nelze zapisovat.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5467"/> + <location filename="../UI/UserInterface.py" line="5466"/> <source><p>The tasks file <b>{0}</b> could not be read.</p></source> <translation><p>Soubor s úlohami <b>{0}</b> nelze načíst.</p></translation> </message> @@ -60206,12 +60224,12 @@ <translation type="obsolete"><p>Soubor s úlohami <b>{0}</b> je v nepodporovaném formátu.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5485"/> + <location filename="../UI/UserInterface.py" line="5484"/> <source><p>The session file <b>{0}</b> could not be written.</p></source> <translation><p>Zápis do souboru relace session <b>{0}</b> se nezdařil.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5513"/> + <location filename="../UI/UserInterface.py" line="5512"/> <source><p>The session file <b>{0}</b> could not be read.</p></source> <translation><p>Soubor relace session <b>{0}</b> nelze přečíst.</p></translation> </message> @@ -60221,27 +60239,27 @@ <translation type="obsolete"><p>Soubor relace (session) <b>{0}</b> je v nepodporovaném formátu.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5703"/> + <location filename="../UI/UserInterface.py" line="5702"/> <source><p><b>{0}</b> is not a file.</p></source> <translation><p><b>{0}</b> není soubor.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5853"/> + <location filename="../UI/UserInterface.py" line="5852"/> <source>Trying host {0}</source> <translation>Zkouším host {0}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5994"/> + <location filename="../UI/UserInterface.py" line="5993"/> <source>The update to <b>{0}</b> of eric5 is available at <b>{1}</b>. Would you like to get it?</source> <translation>Aktualizace <b>{0}</b> eric5 je připravena na <b>{1}</b>. Chcete ji stáhnout a nainstalovat?</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6007"/> + <location filename="../UI/UserInterface.py" line="6006"/> <source>Eric5 is up to date</source> <translation>Eric5 je aktuální</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6007"/> + <location filename="../UI/UserInterface.py" line="6006"/> <source>You are using the latest version of eric5</source> <translation>Používáte poslední verzi eric5</translation> </message> @@ -60251,7 +60269,7 @@ <translation type="obsolete"><p>SSL chyby:</p><p>{0}</p><p>Chcete tyto chyby ignorovat?</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6078"/> + <location filename="../UI/UserInterface.py" line="6077"/> <source>eric5 has not been configured yet. The configuration dialog will be started.</source> <translation>eric5 nebyl ještě nakonfigurován. Bude spuštěn konfigurační dialog.</translation> </message> @@ -60346,12 +60364,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5904"/> + <location filename="../UI/UserInterface.py" line="5903"/> <source>Error getting versions information</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5897"/> + <location filename="../UI/UserInterface.py" line="5896"/> <source>The versions information could not be downloaded. Please go online and try again.</source> <translation type="unfinished"></translation> </message> @@ -60366,7 +60384,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5904"/> + <location filename="../UI/UserInterface.py" line="5903"/> <source>The versions information could not be downloaded for the last 7 days. Please go online and try again.</source> <translation type="unfinished"></translation> </message> @@ -60482,7 +60500,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6097"/> + <location filename="../UI/UserInterface.py" line="6096"/> <source>Select Workspace Directory</source> <translation type="unfinished"></translation> </message> @@ -60902,7 +60920,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5846"/> + <location filename="../UI/UserInterface.py" line="5845"/> <source>%v/%m</source> <translation type="unfinished"></translation> </message> @@ -60974,27 +60992,27 @@ <context> <name>Utilities</name> <message> - <location filename="../Utilities/__init__.py" line="1207"/> + <location filename="../Utilities/__init__.py" line="1209"/> <source><p>You may use %-codes as placeholders in the string. Supported codes are:<table><tr><td>%C</td><td>column of the cursor of the current editor</td></tr><tr><td>%D</td><td>directory of the current editor</td></tr><tr><td>%F</td><td>filename of the current editor</td></tr><tr><td>%H</td><td>home directory of the current user</td></tr><tr><td>%L</td><td>line of the cursor of the current editor</td></tr><tr><td>%P</td><td>path of the current project</td></tr><tr><td>%S</td><td>selected text of the current editor</td></tr><tr><td>%U</td><td>username of the current user</td></tr><tr><td>%%</td><td>the percent sign</td></tr></table></p></source> <translation><p>Můžete použít %-kódy a rezervovaná místa ve stringu. Podporované kódy jsou:<table><tr> <td>%C</td> <td>sloupec kurzoru v aktuálním editoru</td></tr><tr> <td>%D</td> <td>adresář v aktuálním editoru</td></tr><tr> <td>%F</td> <td>jméno souboru v aktuálním editoru</td></tr><tr> <td>%H</td> <td>home adresář aktuálního uživatele</td></tr><tr> <td>%L</td> <td>řádek s kurzorem v aktuálním editoru</td></tr><tr> <td>%P</td> <td>cesta aktuálního projektu</td></tr><tr> <td>%S</td> <td>vybraný text v aktuálním editoru</td></tr><tr> <td>%U</td> <td>uživatelské jméno aktuálního uživatele</td></tr><tr> <td>%%</td> <td>znak procenta</td></tr></table></p></translation> </message> <message> - <location filename="../Utilities/__init__.py" line="1406"/> + <location filename="../Utilities/__init__.py" line="1474"/> <source>Python2 interpreter not configured.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/__init__.py" line="1482"/> + <location filename="../Utilities/__init__.py" line="1550"/> <source>Python2 interpreter did not finish within 30s.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/__init__.py" line="1417"/> + <location filename="../Utilities/__init__.py" line="1485"/> <source>Codingerror: {0}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/__init__.py" line="1473"/> + <location filename="../Utilities/__init__.py" line="1541"/> <source>eric5 error: Invalid data received from Python2 syntax checker.</source> <translation type="unfinished"></translation> </message>
--- a/i18n/eric5_de.ts Mon Mar 31 19:13:22 2014 +0200 +++ b/i18n/eric5_de.ts Mon Mar 31 19:27:31 2014 +0200 @@ -2376,7 +2376,7 @@ <translation>Name</translation> </message> <message> - <location filename="../UI/BrowserModel.py" line="676"/> + <location filename="../UI/BrowserModel.py" line="677"/> <source>Attributes</source> <translation>Attribute</translation> </message> @@ -2391,7 +2391,7 @@ <translation>Globale Variablen</translation> </message> <message> - <location filename="../UI/BrowserModel.py" line="686"/> + <location filename="../UI/BrowserModel.py" line="687"/> <source>Class Attributes</source> <translation>Klassenattribute</translation> </message> @@ -3339,22 +3339,22 @@ <context> <name>CodeStyleCheckerPlugin</name> <message> - <location filename="../Plugins/PluginCodeStyleChecker.py" line="176"/> + <location filename="../Plugins/PluginCodeStyleChecker.py" line="177"/> <source>Check Code Style</source> <translation>Quelltextstil püfen</translation> </message> <message> - <location filename="../Plugins/PluginCodeStyleChecker.py" line="176"/> + <location filename="../Plugins/PluginCodeStyleChecker.py" line="177"/> <source>&Code Style...</source> <translation>&Quelltextstil...</translation> </message> <message> - <location filename="../Plugins/PluginCodeStyleChecker.py" line="84"/> + <location filename="../Plugins/PluginCodeStyleChecker.py" line="85"/> <source>Check code style.</source> <translation>Quelltextstil püfen.</translation> </message> <message> - <location filename="../Plugins/PluginCodeStyleChecker.py" line="180"/> + <location filename="../Plugins/PluginCodeStyleChecker.py" line="181"/> <source><b>Check Code Style...</b><p>This checks Python files for compliance to the code style conventions given in various PEPs.</p></source> <translation><b>Quelltextstil prüfen...</b><p>Dies überprüft Python-Dateien auf Einhaltung der Konventionen verschiedener PEPs.</p></translation> </message> @@ -3692,7 +3692,7 @@ <context> <name>CodingError</name> <message> - <location filename="../Utilities/__init__.py" line="103"/> + <location filename="../Utilities/__init__.py" line="105"/> <source>The coding '{0}' is wrong for the given text.</source> <translation>Die Kodierung „{0}“ ist für den übergebenen Text falsch.</translation> </message> @@ -8708,157 +8708,157 @@ <context> <name>Editor</name> <message> - <location filename="../QScintilla/Editor.py" line="2870"/> + <location filename="../QScintilla/Editor.py" line="2830"/> <source>Open File</source> <translation>Datei öffnen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="3040"/> + <location filename="../QScintilla/Editor.py" line="3000"/> <source>Save File</source> <translation>Datei sichern</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="631"/> + <location filename="../QScintilla/Editor.py" line="632"/> <source>Undo</source> <translation>Rückgängig</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="634"/> + <location filename="../QScintilla/Editor.py" line="635"/> <source>Redo</source> <translation>Wiederherstellen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="641"/> + <location filename="../QScintilla/Editor.py" line="642"/> <source>Cut</source> <translation>Ausschneiden</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="644"/> + <location filename="../QScintilla/Editor.py" line="645"/> <source>Copy</source> <translation>Kopieren</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="647"/> + <location filename="../QScintilla/Editor.py" line="648"/> <source>Paste</source> <translation>Einfügen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="652"/> + <location filename="../QScintilla/Editor.py" line="653"/> <source>Indent</source> <translation>Einrücken</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="655"/> + <location filename="../QScintilla/Editor.py" line="656"/> <source>Unindent</source> <translation>Einrücken rückgängig</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="658"/> + <location filename="../QScintilla/Editor.py" line="659"/> <source>Comment</source> <translation>Kommentar</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="661"/> + <location filename="../QScintilla/Editor.py" line="662"/> <source>Uncomment</source> <translation>Kommentar entfernen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="739"/> + <location filename="../QScintilla/Editor.py" line="740"/> <source>Close</source> <translation>Schließen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="745"/> + <location filename="../QScintilla/Editor.py" line="746"/> <source>Save</source> <translation>Speichern</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="748"/> + <location filename="../QScintilla/Editor.py" line="749"/> <source>Save As...</source> <translation>Speichern unter...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="673"/> - <source>Select all</source> - <translation>Alles auswählen</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="674"/> + <source>Select all</source> + <translation>Alles auswählen</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="675"/> <source>Deselect all</source> <translation>Auswahl aufheben</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="671"/> + <location filename="../QScintilla/Editor.py" line="672"/> <source>Select to brace</source> <translation>Zur Klammer auswählen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="761"/> + <location filename="../QScintilla/Editor.py" line="762"/> <source>Print</source> <translation>Drucken</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="2435"/> + <location filename="../QScintilla/Editor.py" line="2395"/> <source>Printing...</source> <translation>Drucke...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="2452"/> + <location filename="../QScintilla/Editor.py" line="2412"/> <source>Printing completed</source> <translation>Drucken beendet</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="2454"/> + <location filename="../QScintilla/Editor.py" line="2414"/> <source>Error while printing</source> <translation>Fehler beim Drucken</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="2457"/> + <location filename="../QScintilla/Editor.py" line="2417"/> <source>Printing aborted</source> <translation>Drucken abgebrochen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6198"/> + <location filename="../QScintilla/Editor.py" line="6163"/> <source>File changed</source> <translation>Datei geändert</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="807"/> + <location filename="../QScintilla/Editor.py" line="808"/> <source>Check</source> <translation>Prüfen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="2815"/> + <location filename="../QScintilla/Editor.py" line="2775"/> <source>File Modified</source> <translation>Datei geändert</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="829"/> - <source>Code metrics...</source> - <translation>Quelltextmetriken...</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="830"/> + <source>Code metrics...</source> + <translation>Quelltextmetriken...</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="831"/> <source>Code coverage...</source> <translation>Quelltext Abdeckung...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="838"/> + <location filename="../QScintilla/Editor.py" line="839"/> <source>Profile data...</source> <translation>Profildaten...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="827"/> + <location filename="../QScintilla/Editor.py" line="828"/> <source>Show</source> <translation>Zeige</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="664"/> + <location filename="../QScintilla/Editor.py" line="665"/> <source>Stream Comment</source> <translation>Stream Kommentar</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="667"/> + <location filename="../QScintilla/Editor.py" line="668"/> <source>Box Comment</source> <translation>Box Kommentar</translation> </message> @@ -8873,277 +8873,277 @@ <translation>Sie versuchen, eine schreibgeschützte Datei zu ändern. Bitte speichern Sie sie zuerst in eine andere Datei.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="877"/> + <location filename="../QScintilla/Editor.py" line="878"/> <source>Languages</source> <translation>Sprachen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="637"/> + <location filename="../QScintilla/Editor.py" line="638"/> <source>Revert to last saved state</source> <translation>Zurück zum letzten gesichert Zustand</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5923"/> + <location filename="../QScintilla/Editor.py" line="5888"/> <source>Macro Name</source> <translation>Makro Name</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5923"/> + <location filename="../QScintilla/Editor.py" line="5888"/> <source>Select a macro name:</source> <translation>Wähle einen Makro Namen:</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5994"/> + <location filename="../QScintilla/Editor.py" line="5959"/> <source>Macro files (*.macro)</source> <translation>Makrodateien (*.macro)</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5951"/> + <location filename="../QScintilla/Editor.py" line="5916"/> <source>Load macro file</source> <translation>Lade Makrodatei</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5974"/> + <location filename="../QScintilla/Editor.py" line="5939"/> <source>Error loading macro</source> <translation>Fehler beim Makro Laden</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5994"/> + <location filename="../QScintilla/Editor.py" line="5959"/> <source>Save macro file</source> <translation>Makrodatei schreiben</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6011"/> + <location filename="../QScintilla/Editor.py" line="5976"/> <source>Save macro</source> <translation>Makro speichern</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6027"/> + <location filename="../QScintilla/Editor.py" line="5992"/> <source>Error saving macro</source> <translation>Fehler beim Makro speichern</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6040"/> + <location filename="../QScintilla/Editor.py" line="6005"/> <source>Start Macro Recording</source> <translation>Makroaufzeichnung starten</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6066"/> + <location filename="../QScintilla/Editor.py" line="6031"/> <source>Macro Recording</source> <translation>Makroaufzeichnung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6066"/> + <location filename="../QScintilla/Editor.py" line="6031"/> <source>Enter name of the macro:</source> <translation>Gib einen Namen für das Makro ein:</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1123"/> + <location filename="../QScintilla/Editor.py" line="1124"/> <source>Toggle bookmark</source> <translation>Lesezeichen setzen/löschen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1125"/> + <location filename="../QScintilla/Editor.py" line="1126"/> <source>Next bookmark</source> <translation>Nächstes Lesezeichen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1127"/> + <location filename="../QScintilla/Editor.py" line="1128"/> <source>Previous bookmark</source> <translation>Vorheriges Lesezeichen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1129"/> + <location filename="../QScintilla/Editor.py" line="1130"/> <source>Clear all bookmarks</source> <translation>Alle Lesezeichen löschen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1149"/> + <location filename="../QScintilla/Editor.py" line="1150"/> <source>Toggle breakpoint</source> <translation>Haltepunkt setzen/löschen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1183"/> + <location filename="../QScintilla/Editor.py" line="1184"/> <source>LMB toggles bookmarks</source> <translation>LMK schaltet Lesezeichen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1187"/> + <location filename="../QScintilla/Editor.py" line="1188"/> <source>LMB toggles breakpoints</source> <translation>LMK schaltet Haltepunkte</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1159"/> + <location filename="../QScintilla/Editor.py" line="1160"/> <source>Next breakpoint</source> <translation>Nächster Haltepunkt</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1161"/> + <location filename="../QScintilla/Editor.py" line="1162"/> <source>Previous breakpoint</source> <translation>Vorheriger Haltepunkt</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1163"/> + <location filename="../QScintilla/Editor.py" line="1164"/> <source>Clear all breakpoints</source> <translation>Alle Haltepunkte löschen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1154"/> + <location filename="../QScintilla/Editor.py" line="1155"/> <source>Edit breakpoint...</source> <translation>Haltepunkt bearbeiten...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4883"/> + <location filename="../QScintilla/Editor.py" line="4841"/> <source>Enable breakpoint</source> <translation>Haltepunkt aktivieren</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4886"/> + <location filename="../QScintilla/Editor.py" line="4844"/> <source>Disable breakpoint</source> <translation>Haltepunkt deaktivieren</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5271"/> + <location filename="../QScintilla/Editor.py" line="5236"/> <source>Code Coverage</source> <translation>Quelltext Abdeckung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5271"/> + <location filename="../QScintilla/Editor.py" line="5236"/> <source>Please select a coverage file</source> <translation>Bitte wählen Sie eine Datei mit Abdeckungsdaten</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5450"/> + <location filename="../QScintilla/Editor.py" line="5415"/> <source>Profile Data</source> <translation>Profildaten</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5450"/> + <location filename="../QScintilla/Editor.py" line="5415"/> <source>Please select a profile file</source> <translation>Bitte wählen Sie eine Datei mit Profildaten</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="711"/> + <location filename="../QScintilla/Editor.py" line="712"/> <source>Autocompletion enabled</source> <translation>Automatische Vervollständigung aktiv</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4355"/> + <location filename="../QScintilla/Editor.py" line="4315"/> <source>Autocompletion</source> <translation>Automatische Vervollständigung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4355"/> + <location filename="../QScintilla/Editor.py" line="4315"/> <source>Autocompletion is not available because there is no autocompletion source set.</source> <translation>Die automatische Vervollständigung ist nicht verfügbar, da keine Quelle gesetzt ist.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="695"/> + <location filename="../QScintilla/Editor.py" line="696"/> <source>Use Monospaced Font</source> <translation>Benutze Monospace Font</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="688"/> + <location filename="../QScintilla/Editor.py" line="689"/> <source>Shorten empty lines</source> <translation>Leere Zeilen verkürzen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1132"/> + <location filename="../QScintilla/Editor.py" line="1133"/> <source>Goto syntax error</source> <translation>Zu Syntaxfehler gehen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1136"/> + <location filename="../QScintilla/Editor.py" line="1137"/> <source>Clear syntax error</source> <translation>Syntaxfehler löschen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="700"/> + <location filename="../QScintilla/Editor.py" line="701"/> <source>Autosave enabled</source> <translation>Autom. Speicherung aktiv</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6496"/> + <location filename="../QScintilla/Editor.py" line="6461"/> <source>Drop Error</source> <translation>Drop Fehler</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1134"/> + <location filename="../QScintilla/Editor.py" line="1135"/> <source>Show syntax error message</source> <translation>Zeige Syntaxfehlermeldung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5610"/> + <location filename="../QScintilla/Editor.py" line="5575"/> <source>Syntax Error</source> <translation>Syntaxfehler</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5610"/> + <location filename="../QScintilla/Editor.py" line="5575"/> <source>No syntax error message available.</source> <translation>Keine Syntaxfehlermeldung verfügbar.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1151"/> + <location filename="../QScintilla/Editor.py" line="1152"/> <source>Toggle temporary breakpoint</source> <translation>Temporären Haltepunkt setzen/löschen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="832"/> + <location filename="../QScintilla/Editor.py" line="833"/> <source>Show code coverage annotations</source> <translation>Markiere Zeilen ohne Abdeckung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="835"/> + <location filename="../QScintilla/Editor.py" line="836"/> <source>Hide code coverage annotations</source> <translation>Lösche Abdeckungsmarkierungen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1166"/> + <location filename="../QScintilla/Editor.py" line="1167"/> <source>Next uncovered line</source> <translation>Nächste nichtabgedeckte Zeile</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1169"/> + <location filename="../QScintilla/Editor.py" line="1170"/> <source>Previous uncovered line</source> <translation>Vorige nichtabgedeckte Zeile</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5335"/> + <location filename="../QScintilla/Editor.py" line="5300"/> <source>Show Code Coverage Annotations</source> <translation>Zeilen ohne Abdeckung Markieren</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5328"/> + <location filename="../QScintilla/Editor.py" line="5293"/> <source>All lines have been covered.</source> <translation>Alle Zeilen sind abgedeckt.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5335"/> + <location filename="../QScintilla/Editor.py" line="5300"/> <source>There is no coverage file available.</source> <translation>Es gibt keine Datei mit Abdeckungsinformationen.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="2815"/> + <location filename="../QScintilla/Editor.py" line="2775"/> <source><p>The file <b>{0}</b> has unsaved changes.</p></source> <translation><p>Die Datei <b>{0}</b> enthält ungesicherte Änderungen.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5965"/> + <location filename="../QScintilla/Editor.py" line="5930"/> <source><p>The macro file <b>{0}</b> could not be read.</p></source> <translation><p>Die Makrodatei <b>{0}</b> kann nicht gelesen werden.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5974"/> + <location filename="../QScintilla/Editor.py" line="5939"/> <source><p>The macro file <b>{0}</b> is corrupt.</p></source> <translation><p>Die Makrodatei <b>{0}</b> ist zerstört.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6027"/> + <location filename="../QScintilla/Editor.py" line="5992"/> <source><p>The macro file <b>{0}</b> could not be written.</p></source> <translation><p>Die Makrodatei <b>{0}</b> kann nicht geschrieben werden.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6496"/> + <location filename="../QScintilla/Editor.py" line="6461"/> <source><p><b>{0}</b> is not a file.</p></source> <translation><p><b>{0}</b> ist keine Datei.</p></translation> </message> @@ -9153,417 +9153,417 @@ <translation><p>Die Größe der Datei <b>{0}</b> ist <b>{1} KB<7B>. Soll sie wirklich geladen werden?</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="851"/> + <location filename="../QScintilla/Editor.py" line="852"/> <source>Diagrams</source> <translation>Diagramme</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="853"/> + <location filename="../QScintilla/Editor.py" line="854"/> <source>Class Diagram...</source> <translation>Klassendiagramm...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="855"/> + <location filename="../QScintilla/Editor.py" line="856"/> <source>Package Diagram...</source> <translation>Package Diagramm...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="857"/> + <location filename="../QScintilla/Editor.py" line="858"/> <source>Imports Diagram...</source> <translation>Imports-Diagramm...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="859"/> + <location filename="../QScintilla/Editor.py" line="860"/> <source>Application Diagram...</source> <translation>Applikations-Diagramm...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="880"/> + <location filename="../QScintilla/Editor.py" line="881"/> <source>No Language</source> <translation>Keine Sprache</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6356"/> + <location filename="../QScintilla/Editor.py" line="6321"/> <source>{0} (ro)</source> <translation>{0} (ro)</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6517"/> + <location filename="../QScintilla/Editor.py" line="6482"/> <source>Resources</source> <translation>Ressourcen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6519"/> + <location filename="../QScintilla/Editor.py" line="6484"/> <source>Add file...</source> <translation>Datei hinzufügen...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6521"/> + <location filename="../QScintilla/Editor.py" line="6486"/> <source>Add files...</source> <translation>Dateien hinzufügen...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6523"/> + <location filename="../QScintilla/Editor.py" line="6488"/> <source>Add aliased file...</source> <translation>Aliased-Datei hinzufügen...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6526"/> + <location filename="../QScintilla/Editor.py" line="6491"/> <source>Add localized resource...</source> <translation>Lokalisierte Ressource hinzufügen...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6549"/> + <location filename="../QScintilla/Editor.py" line="6514"/> <source>Add file resource</source> <translation>Dateiressource hinzufügen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6565"/> - <source>Add file resources</source> - <translation>Dateiressourcen hinzufügen</translation> - </message> - <message> - <location filename="../QScintilla/Editor.py" line="6593"/> - <source>Add aliased file resource</source> - <translation>Aliased-Dateiressourcen hinzufügen</translation> - </message> - <message> - <location filename="../QScintilla/Editor.py" line="6593"/> - <source>Alias for file <b>{0}</b>:</source> - <translation>Alias für Datei <b>{0}</b>:</translation> - </message> - <message> - <location filename="../QScintilla/Editor.py" line="6657"/> - <source>Package Diagram</source> - <translation>Package-Diagramm</translation> - </message> - <message> - <location filename="../QScintilla/Editor.py" line="6657"/> - <source>Include class attributes?</source> - <translation>Klassenattribute anzeigen?</translation> - </message> - <message> - <location filename="../QScintilla/Editor.py" line="6691"/> - <source>Application Diagram</source> - <translation>Applikations-Diagramm</translation> - </message> - <message> - <location filename="../QScintilla/Editor.py" line="6691"/> - <source>Include module names?</source> - <translation>Modulnamen anzeigen?</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="6530"/> + <source>Add file resources</source> + <translation>Dateiressourcen hinzufügen</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="6558"/> + <source>Add aliased file resource</source> + <translation>Aliased-Dateiressourcen hinzufügen</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="6558"/> + <source>Alias for file <b>{0}</b>:</source> + <translation>Alias für Datei <b>{0}</b>:</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="6622"/> + <source>Package Diagram</source> + <translation>Package-Diagramm</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="6622"/> + <source>Include class attributes?</source> + <translation>Klassenattribute anzeigen?</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="6656"/> + <source>Application Diagram</source> + <translation>Applikations-Diagramm</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="6656"/> + <source>Include module names?</source> + <translation>Modulnamen anzeigen?</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="6495"/> <source>Add resource frame</source> <translation>Ressourcenrahmen hinzufügen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6040"/> + <location filename="../QScintilla/Editor.py" line="6005"/> <source>Macro recording is already active. Start new?</source> <translation>Eine Makroaufzeichnung ist bereits aktiv. Neu starten?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1172"/> + <location filename="../QScintilla/Editor.py" line="1173"/> <source>Next task</source> <translation>Nächste Aufgabe</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1174"/> + <location filename="../QScintilla/Editor.py" line="1175"/> <source>Previous task</source> <translation>Vorherige Aufgabe</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="782"/> + <location filename="../QScintilla/Editor.py" line="783"/> <source>Autocomplete</source> <translation>Vervollständigen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="787"/> + <location filename="../QScintilla/Editor.py" line="788"/> <source>from Document</source> <translation>vom Dokument</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="789"/> + <location filename="../QScintilla/Editor.py" line="790"/> <source>from APIs</source> <translation>von APIs</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="791"/> + <location filename="../QScintilla/Editor.py" line="792"/> <source>from Document and APIs</source> <translation>vom Dokument und von APIs</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1000"/> + <location filename="../QScintilla/Editor.py" line="1001"/> <source>Export as</source> <translation>Exportieren als</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1223"/> + <location filename="../QScintilla/Editor.py" line="1224"/> <source>Export source</source> <translation>Quelltext exportieren</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1215"/> + <location filename="../QScintilla/Editor.py" line="1216"/> <source><p>No exporter available for the export format <b>{0}</b>. Aborting...</p></source> <translation><p>Für das Exportformat <b>{0}</b> steht kein Exporter zur Verfügung. Abbruch...</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1223"/> + <location filename="../QScintilla/Editor.py" line="1224"/> <source>No export format given. Aborting...</source> <translation>Kein Exportformat angegeben. Abbruch...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6677"/> + <location filename="../QScintilla/Editor.py" line="6642"/> <source>Imports Diagram</source> <translation>Imports Diagramm</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6677"/> + <location filename="../QScintilla/Editor.py" line="6642"/> <source>Include imports from external modules?</source> <translation>Imports externer Module anzeigen?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="784"/> + <location filename="../QScintilla/Editor.py" line="785"/> <source>dynamic</source> <translation>dynamisch</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="794"/> + <location filename="../QScintilla/Editor.py" line="795"/> <source>Calltip</source> <translation>Calltip</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="758"/> + <location filename="../QScintilla/Editor.py" line="759"/> <source>Print Preview</source> <translation>Druckvorschau</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="375"/> + <location filename="../QScintilla/Editor.py" line="374"/> <source><b>A Source Editor Window</b><p>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's titlebar.</p><p>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.</p><p>In order to set bookmarks just Shift click in the space between the line numbers and the fold markers.</p><p>These actions can be reversed via the context menu.</p><p>Ctrl clicking on a syntax error marker shows some info about this error.</p></source> <translation><b>Quelltexteditorfenster</b><p>Dieses Fenster wird zum Bearbeiten von Quelltexten benutzt. Sie können beliebig viele dieser Fenster öffnen. Der Name der Datei wird im Titel des Fensters dargestellt.</p><p>Um Haltepunkte zu setzen, klicken sie in den Raum zwischen den Zeilennummern und der Faltungsspalte. Über das Kontextmenü des Bereiches links des Editors können Haltepunkte bearbeitet werden.</p><p>Um Lesezeichen zu setzen, drücken Sie die Shift-Taste und klicken in den Raum zwischen den Zeilennummern und der Faltungsspalte.</p><p>Diese Aktionen können über das Kontextmenü umgedreht werden.</p><p>Ein Klick auf einen Syntaxfehler-Marker mit gedrückter Strg-Taste zeigt die zugehörige Fehlermeldung an.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="704"/> + <location filename="../QScintilla/Editor.py" line="705"/> <source>Typing aids enabled</source> <translation>Eingabehilfen aktiv</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="964"/> + <location filename="../QScintilla/Editor.py" line="965"/> <source>End-of-Line Type</source> <translation>Zeilenendemarkierung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="968"/> + <location filename="../QScintilla/Editor.py" line="969"/> <source>Unix</source> <translation>Unix</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="975"/> + <location filename="../QScintilla/Editor.py" line="976"/> <source>Windows</source> <translation>Windows</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="982"/> + <location filename="../QScintilla/Editor.py" line="983"/> <source>Macintosh</source> <translation>Macintosh</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="923"/> + <location filename="../QScintilla/Editor.py" line="924"/> <source>Encodings</source> <translation>Kodierungen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="903"/> + <location filename="../QScintilla/Editor.py" line="904"/> <source>Guessed</source> <translation>Ermittelt</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1238"/> + <location filename="../QScintilla/Editor.py" line="1239"/> <source>Alternatives</source> <translation>Alternativen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1234"/> + <location filename="../QScintilla/Editor.py" line="1235"/> <source>Alternatives ({0})</source> <translation>Alternativen ({0})</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1254"/> + <location filename="../QScintilla/Editor.py" line="1255"/> <source>Pygments Lexer</source> <translation>Pygments Lexer</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1254"/> + <location filename="../QScintilla/Editor.py" line="1255"/> <source>Select the Pygments lexer to apply.</source> <translation>Wähle den anzuwendenden Pygments Lexer.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6979"/> + <location filename="../QScintilla/Editor.py" line="6944"/> <source>Check spelling...</source> <translation>Rechtschreibprüfung...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="680"/> + <location filename="../QScintilla/Editor.py" line="681"/> <source>Check spelling of selection...</source> <translation>Rechtschreibprüfung für Auswahl...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6982"/> + <location filename="../QScintilla/Editor.py" line="6947"/> <source>Add to dictionary</source> <translation>Zum Wörterbuch hinzufügen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6984"/> + <location filename="../QScintilla/Editor.py" line="6949"/> <source>Ignore All</source> <translation>Alle ignorieren</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="684"/> + <location filename="../QScintilla/Editor.py" line="685"/> <source>Remove from dictionary</source> <translation>Aus dem Wörterbuch entfernen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="2870"/> + <location filename="../QScintilla/Editor.py" line="2830"/> <source><p>The file <b>{0}</b> could not be opened.</p><p>Reason: {1}</p></source> <translation><p>Die Datei <b>{0}</b> konnte nicht geöffnet werden.<br />Ursache: {1}</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="2973"/> + <location filename="../QScintilla/Editor.py" line="2933"/> <source><p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p></source> <translation><p>Die Datei <b>{0}</b> konnte nicht gesichert werden.<br/>Grund: {1}</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6188"/> + <location filename="../QScintilla/Editor.py" line="6153"/> <source><p>The file <b>{0}</b> has been changed while it was opened in eric5. Reread it?</p></source> <translation><p>Die Datei <b>{0}</b> wurde geändert, während sie in eric5 geöffnet war. Neu einlesen?</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1139"/> + <location filename="../QScintilla/Editor.py" line="1140"/> <source>Next warning</source> <translation>Nächste Warnung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1142"/> + <location filename="../QScintilla/Editor.py" line="1143"/> <source>Previous warning</source> <translation>Vorherige Warnung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1144"/> + <location filename="../QScintilla/Editor.py" line="1145"/> <source>Show warning message</source> <translation>Zeige Warnung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1146"/> + <location filename="../QScintilla/Editor.py" line="1147"/> <source>Clear warnings</source> <translation>Warnungen löschen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="3040"/> + <location filename="../QScintilla/Editor.py" line="3000"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation><p>Die Datei <b>{0}</b> existiert bereits. Überschreiben?</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6011"/> + <location filename="../QScintilla/Editor.py" line="5976"/> <source><p>The macro file <b>{0}</b> already exists. Overwrite it?</p></source> <translation><p>Die Makrodatei <b>{0}</b> existiert bereits. Überschreiben?</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5862"/> + <location filename="../QScintilla/Editor.py" line="5827"/> <source>Warning: {0}</source> <translation>Warnung: {0}</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5869"/> + <location filename="../QScintilla/Editor.py" line="5834"/> <source>Error: {0}</source> <translation>Fehler: {0}</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6194"/> + <location filename="../QScintilla/Editor.py" line="6159"/> <source><br><b>Warning:</b> You will lose your changes upon reopening it.</source> <translation><br><b>Warnung:</b> Vorgenommenen Änderungen gehen beim neu einlesen verloren.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4456"/> + <location filename="../QScintilla/Editor.py" line="4416"/> <source>Activating Auto-Completion Provider</source> <translation>Aktivierung eines Providers für automatische Vervollständigungen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4456"/> + <location filename="../QScintilla/Editor.py" line="4416"/> <source>Auto-completion provider cannot be connected because there is already another one active. Please check your configuration.</source> <translation>Ein Provider für automatische Vervollständigungen kann nicht angebunden werden, da bereits ein anderer aktiv ist. Bitte überprüfen Sie Ihre Konfiguration.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4646"/> + <location filename="../QScintilla/Editor.py" line="4606"/> <source>Activating Calltip Provider</source> <translation>Aktivierung eines Providers für Calltips</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4646"/> + <location filename="../QScintilla/Editor.py" line="4606"/> <source>Calltip provider cannot be connected because there is already another one active. Please check your configuration.</source> <translation>Ein Provider für Calltips kann nicht angebunden werden, da bereits ein anderer aktiv ist. Bitte überprüfen Sie Ihre Konfiguration.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="754"/> + <location filename="../QScintilla/Editor.py" line="755"/> <source>Open 'rejection' file</source> <translation>Öffne „Ablehnungs“-Datei</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="863"/> + <location filename="../QScintilla/Editor.py" line="864"/> <source>Load Diagram...</source> <translation>Diagramm laden...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1177"/> + <location filename="../QScintilla/Editor.py" line="1178"/> <source>Next change</source> <translation>Nächste Änderung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="1180"/> + <location filename="../QScintilla/Editor.py" line="1181"/> <source>Previous change</source> <translation>Vorherige Änderung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7395"/> + <location filename="../QScintilla/Editor.py" line="7360"/> <source>Sort Lines</source> <translation>Zeilen sortieren</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7395"/> + <location filename="../QScintilla/Editor.py" line="7360"/> <source>The selection contains illegal data for a numerical sort.</source> <translation>Die Auswahl enthält für eine numerische Sortierung ungültige Daten.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5798"/> + <location filename="../QScintilla/Editor.py" line="5763"/> <source>Warning</source> <translation>Warnung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5798"/> + <location filename="../QScintilla/Editor.py" line="5763"/> <source>No warning messages available.</source> <translation>Keine Warnmeldungen verfügbar.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5859"/> + <location filename="../QScintilla/Editor.py" line="5824"/> <source>Style: {0}</source> <translation>Stil: {0}</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="731"/> + <location filename="../QScintilla/Editor.py" line="732"/> <source>New Document View</source> <translation>Neue Dokumentenansicht</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="734"/> + <location filename="../QScintilla/Editor.py" line="735"/> <source>New Document View (with new split)</source> <translation>Neue Dokumentenansicht (in neuem Abschnitt)</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="817"/> + <location filename="../QScintilla/Editor.py" line="818"/> <source>Tools</source> <translation>Werkzeuge</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="945"/> + <location filename="../QScintilla/Editor.py" line="946"/> <source>Re-Open With Encoding</source> <translation>Öffnen mit Kodierung</translation> </message> @@ -10356,22 +10356,22 @@ <translation>Löschen</translation> </message> <message> - <location filename="../Preferences/ConfigurationPages/EditorFilePage.py" line="242"/> + <location filename="../Preferences/ConfigurationPages/EditorFilePage.py" line="248"/> <source>Add File Filter</source> <translation>Dateifilter hinzufügen</translation> </message> <message> - <location filename="../Preferences/ConfigurationPages/EditorFilePage.py" line="202"/> + <location filename="../Preferences/ConfigurationPages/EditorFilePage.py" line="208"/> <source>A Save File Filter must contain exactly one wildcard pattern. Yours contains {0}.</source> <translation>Ein Dateifilter zum Speichern darf genau ein Wildcard-Muster enthalten. Ihrer enthält {0}.</translation> </message> <message> - <location filename="../Preferences/ConfigurationPages/EditorFilePage.py" line="211"/> + <location filename="../Preferences/ConfigurationPages/EditorFilePage.py" line="217"/> <source>A File Filter must contain at least one wildcard pattern.</source> <translation>Ein Dateifilter muss mindestens ein Wildcard-Muster enthalten.</translation> </message> <message> - <location filename="../Preferences/ConfigurationPages/EditorFilePage.py" line="242"/> + <location filename="../Preferences/ConfigurationPages/EditorFilePage.py" line="248"/> <source>Enter the file filter entry:</source> <translation>Gib den Dateifiltereintrag ein:</translation> </message> @@ -10415,6 +10415,16 @@ <source>Enter the filename extensions of ReStructuredText files that may be previewed (separated by a space)</source> <translation>Gib die Dateinamenerweiterungen von ReStructuredText-Dateien (getrennt durch Leerzeichen) ein, für die eine Vorschau angezeigt werden kann</translation> </message> + <message> + <location filename="../Preferences/ConfigurationPages/EditorFilePage.ui" line="493"/> + <source>Extensions of QSS files:</source> + <translation>Erweiterungen für QSS-Dateien:</translation> + </message> + <message> + <location filename="../Preferences/ConfigurationPages/EditorFilePage.ui" line="500"/> + <source>Enter the filename extensions of Qt Stylesheet files that may be previewed (separated by a space)</source> + <translation>Gib die Dateinamenerweiterungen von Qt-Stylesheetdateien (getrennt durch Leerzeichen) ein, für die eine Vorschau angezeigt werden kann</translation> + </message> </context> <context> <name>EditorGeneralPage</name> @@ -34852,27 +34862,27 @@ <context> <name>Preferences</name> <message> - <location filename="../Preferences/__init__.py" line="1197"/> + <location filename="../Preferences/__init__.py" line="1198"/> <source>Export Preferences</source> <translation>Einstellungen exportieren</translation> </message> <message> - <location filename="../Preferences/__init__.py" line="1225"/> + <location filename="../Preferences/__init__.py" line="1226"/> <source>Import Preferences</source> <translation>Einstellungen importieren</translation> </message> <message> - <location filename="../Preferences/__init__.py" line="1225"/> + <location filename="../Preferences/__init__.py" line="1226"/> <source>Properties File (*.ini);;All Files (*)</source> <translation>Properties-Dateien (*.ini);;Alle Dateien (*)</translation> </message> <message> - <location filename="../Preferences/__init__.py" line="1324"/> + <location filename="../Preferences/__init__.py" line="1325"/> <source>Select Python2 Interpreter</source> <translation>Wähle den Python 2-Interpreter</translation> </message> <message> - <location filename="../Preferences/__init__.py" line="1324"/> + <location filename="../Preferences/__init__.py" line="1325"/> <source>Select the Python2 interpreter to be used:</source> <translation>Wähle den zu verwendenden Python 2-Interpreter aus:</translation> </message> @@ -34893,63 +34903,63 @@ <context> <name>PreviewProcessingThread</name> <message> - <location filename="../UI/Previewer.py" line="420"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="309"/> <source><p>No preview available for this type of file.</p></source> <translation><p>Für diesen Dateityp ist keine Vorschau verfügbar.</p></translation> </message> <message> - <location filename="../UI/Previewer.py" line="503"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="392"/> <source><p>Markdown preview requires the <b>python-markdown</b> package.<br/>Install it with your package manager or see <a href="http://pythonhosted.org/Markdown/install.html">installation instructions.</a></p></source> <translation><p>Die Markdown-Vorschau erfordert das <b>python-markdown</b>-Paket.<br/>Installiere es mit dem Paketmanager oder siehe <a href="http://pythonhosted.org/Markdown/install.html">die Installationsanleitung.</a></p></translation> </message> <message> - <location filename="../UI/Previewer.py" line="483"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="372"/> <source><p>ReStructuredText preview requires the <b>python-docutils</b> package.<br/>Install it with your package manager or see <a href="http://pypi.python.org/pypi/docutils">this page.</a></p></source> <translation><p>Die ReStructuredText-Vorschau erfordert das <b>python-docutils</b>-Paket.<br/>Installiere es mit dem Paketmanager oder siehe <a href="http://pypi.python.org/pypi/docutils">diese Seite.</a></p></translation> </message> </context> <context> - <name>Previewer</name> - <message> - <location filename="../UI/Previewer.ui" line="37"/> + <name>PreviewerHTML</name> + <message> + <location filename="../UI/Previewers/PreviewerHTML.ui" line="37"/> <source>about:blank</source> <translation>about:blank</translation> </message> <message> - <location filename="../UI/Previewer.ui" line="45"/> + <location filename="../UI/Previewers/PreviewerHTML.ui" line="45"/> <source>Select to enable JavaScript for HTML previews</source> <translation>Auswählen, um JavaScript für die Vorschau zu aktivieren</translation> </message> <message> - <location filename="../UI/Previewer.ui" line="48"/> + <location filename="../UI/Previewers/PreviewerHTML.ui" line="48"/> <source>Enable JavaScript</source> <translation>JavaScript aktivieren</translation> </message> <message> - <location filename="../UI/Previewer.ui" line="55"/> + <location filename="../UI/Previewers/PreviewerHTML.ui" line="55"/> <source>Select to enable support for Server Side Includes</source> <translation>Auswählen, um Unterstützung für Server Side Includes zu aktivieren</translation> </message> <message> - <location filename="../UI/Previewer.ui" line="58"/> + <location filename="../UI/Previewers/PreviewerHTML.ui" line="58"/> <source>Enable Server Side Includes</source> <translation>Server Side Includes aktivieren</translation> </message> <message> - <location filename="../UI/Previewer.py" line="278"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="126"/> + <source><p>No preview available for this type of file.</p></source> + <translation><p>Für diesen Dateityp ist keine Vorschau verfügbar.</p></translation> + </message> + <message> + <location filename="../UI/Previewers/PreviewerHTML.py" line="167"/> <source>Preview - {0}</source> <translation>Vorschau – {0}</translation> </message> <message> - <location filename="../UI/Previewer.py" line="280"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="169"/> <source>Preview</source> <translation>Vorschau</translation> </message> - <message> - <location filename="../UI/Previewer.py" line="237"/> - <source><p>No preview available for this type of file.</p></source> - <translation><p>Für diesen Dateityp ist keine Vorschau verfügbar.</p></translation> - </message> </context> <context> <name>Printer</name> @@ -35188,852 +35198,852 @@ <context> <name>Project</name> <message> - <location filename="../Project/Project.py" line="674"/> + <location filename="../Project/Project.py" line="677"/> <source>Read project file</source> <translation>Projektdatei lesen</translation> </message> <message> - <location filename="../Project/Project.py" line="1332"/> + <location filename="../Project/Project.py" line="1335"/> <source>Delete translation</source> <translation>Übersetzung löschen</translation> </message> <message> - <location filename="../Project/Project.py" line="1483"/> + <location filename="../Project/Project.py" line="1486"/> <source>Add file</source> <translation>Datei hinzufügen</translation> </message> <message> - <location filename="../Project/Project.py" line="1951"/> + <location filename="../Project/Project.py" line="1954"/> <source>Delete file</source> <translation>Datei löschen</translation> </message> <message> - <location filename="../Project/Project.py" line="2059"/> + <location filename="../Project/Project.py" line="2062"/> <source>Create project directory</source> <translation>Projektverzeichnis erstellen</translation> </message> <message> - <location filename="../Project/Project.py" line="3307"/> + <location filename="../Project/Project.py" line="3310"/> <source>Open project</source> <translation>Projekt öffnen</translation> </message> <message> - <location filename="../Project/Project.py" line="3344"/> + <location filename="../Project/Project.py" line="3347"/> <source>Save project as</source> <translation>Projekt speichern unter</translation> </message> <message> - <location filename="../Project/Project.py" line="2712"/> + <location filename="../Project/Project.py" line="2715"/> <source>Save File</source> <translation>Datei speichern</translation> </message> <message> - <location filename="../Project/Project.py" line="2748"/> + <location filename="../Project/Project.py" line="2751"/> <source>Close Project</source> <translation>Projekt schließen</translation> </message> <message> - <location filename="../Project/Project.py" line="2748"/> + <location filename="../Project/Project.py" line="2751"/> <source>The current project has unsaved changes.</source> <translation>Das aktuelle Projekt hat ungesicherte Änderungen.</translation> </message> <message> - <location filename="../Project/Project.py" line="3508"/> + <location filename="../Project/Project.py" line="3511"/> <source>&Save</source> <translation>&Speichern</translation> </message> <message> - <location filename="../Project/Project.py" line="3293"/> + <location filename="../Project/Project.py" line="3296"/> <source>New project</source> <translation>Neues Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3293"/> + <location filename="../Project/Project.py" line="3296"/> <source>&New...</source> <translation>&Neu...</translation> </message> <message> - <location filename="../Project/Project.py" line="3298"/> + <location filename="../Project/Project.py" line="3301"/> <source>Generate a new project</source> <translation>Erstelle ein neues Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3299"/> + <location filename="../Project/Project.py" line="3302"/> <source><b>New...</b><p>This opens a dialog for entering the info for a new project.</p></source> <translation><b>Neu...</b><p>Dies öffnet einen Dialog zur Eingabe der Informationen des neuen Projektes.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3307"/> + <location filename="../Project/Project.py" line="3310"/> <source>&Open...</source> <translation>&Öffnen...</translation> </message> <message> - <location filename="../Project/Project.py" line="3312"/> + <location filename="../Project/Project.py" line="3315"/> <source>Open an existing project</source> <translation>Öffnet ein bestehendes Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3313"/> + <location filename="../Project/Project.py" line="3316"/> <source><b>Open...</b><p>This opens an existing project.</p></source> <translation><b>Öffnen...</b><p>Dies öffnet ein bestehendes Projekt.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3320"/> + <location filename="../Project/Project.py" line="3323"/> <source>Close project</source> <translation>Projekt schließen</translation> </message> <message> - <location filename="../Project/Project.py" line="3320"/> + <location filename="../Project/Project.py" line="3323"/> <source>&Close</source> <translation>Schl&ießen</translation> </message> <message> - <location filename="../Project/Project.py" line="3324"/> + <location filename="../Project/Project.py" line="3327"/> <source>Close the current project</source> <translation>Schließt das aktuelle Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3325"/> + <location filename="../Project/Project.py" line="3328"/> <source><b>Close</b><p>This closes the current project.</p></source> <translation><b>Schließen</b><p>Dies schließt das aktuelle Projekt.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3332"/> + <location filename="../Project/Project.py" line="3335"/> <source>Save project</source> <translation>Projekt speichern</translation> </message> <message> - <location filename="../Project/Project.py" line="3336"/> + <location filename="../Project/Project.py" line="3339"/> <source>Save the current project</source> <translation>Speichert das aktuelle Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3337"/> + <location filename="../Project/Project.py" line="3340"/> <source><b>Save</b><p>This saves the current project.</p></source> <translation><b>Speichern</b><p>Dies speichert das aktuelle Projekt.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3348"/> + <location filename="../Project/Project.py" line="3351"/> <source>Save the current project to a new file</source> <translation>Speichert das aktuelle Projekt in eine neue Datei</translation> </message> <message> - <location filename="../Project/Project.py" line="3350"/> + <location filename="../Project/Project.py" line="3353"/> <source><b>Save as</b><p>This saves the current project to a new file.</p></source> <translation><b>Speichern unter</b><p>Dies speichert das aktuelle Projekt in eine neue Datei.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3390"/> + <location filename="../Project/Project.py" line="3393"/> <source>Add translation to project</source> <translation>Übersetzung zum Projekt hinzufügen</translation> </message> <message> - <location filename="../Project/Project.py" line="3390"/> + <location filename="../Project/Project.py" line="3393"/> <source>Add &translation...</source> <translation>&Übersetzung hinzufügen...</translation> </message> <message> - <location filename="../Project/Project.py" line="3395"/> + <location filename="../Project/Project.py" line="3398"/> <source>Add a translation to the current project</source> <translation>Eine Übersetzung zum aktuellen Projekt hinzufügen</translation> </message> <message> - <location filename="../Project/Project.py" line="3397"/> + <location filename="../Project/Project.py" line="3400"/> <source><b>Add translation...</b><p>This opens a dialog for add a translation to the current project.</p></source> <translation><b>Übersetzung hinzufügen...</b><p>Dies öffnet einen Dialog, mit dem eine Übersetzung zum aktuellen Projekt hinzugefügt werden kann.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3419"/> + <location filename="../Project/Project.py" line="3422"/> <source>Project properties</source> <translation>Projekteigenschaften</translation> </message> <message> - <location filename="../Project/Project.py" line="3419"/> + <location filename="../Project/Project.py" line="3422"/> <source>&Properties...</source> <translation>&Eigenschaften...</translation> </message> <message> - <location filename="../Project/Project.py" line="3424"/> + <location filename="../Project/Project.py" line="3427"/> <source>Show the project properties</source> <translation>Zeigt die Projekteigenschaften an</translation> </message> <message> - <location filename="../Project/Project.py" line="3425"/> + <location filename="../Project/Project.py" line="3428"/> <source><b>Properties...</b><p>This shows a dialog to edit the project properties.</p></source> <translation><b>Eigenschaften...</b><p>Dies zeigt einen Dialog an, mit dem die Projekteigenschaften bearbeitet werden können.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3738"/> + <location filename="../Project/Project.py" line="3741"/> <source>Open &Recent Projects</source> <translation>Zu&letzt geöffnete Projekte</translation> </message> <message> - <location filename="../Project/Project.py" line="1600"/> + <location filename="../Project/Project.py" line="1603"/> <source>The target directory must not be empty.</source> <translation>Das Zielverzeichnis darf nicht leer sein.</translation> </message> <message> - <location filename="../Project/Project.py" line="3405"/> + <location filename="../Project/Project.py" line="3408"/> <source>Search new files</source> <translation>Neue Dateien suchen</translation> </message> <message> - <location filename="../Project/Project.py" line="3405"/> + <location filename="../Project/Project.py" line="3408"/> <source>Searc&h new files...</source> <translation>Neue &Dateien suchen...</translation> </message> <message> - <location filename="../Project/Project.py" line="3409"/> + <location filename="../Project/Project.py" line="3412"/> <source>Search new files in the project directory.</source> <translation>Sucht neue Dateien im Projektverzeichnis.</translation> </message> <message> - <location filename="../Project/Project.py" line="1611"/> + <location filename="../Project/Project.py" line="1614"/> <source>Add directory</source> <translation>Verzeichnis hinzufügen</translation> </message> <message> - <location filename="../Project/Project.py" line="1611"/> + <location filename="../Project/Project.py" line="1614"/> <source>The source directory must not be empty.</source> <translation>Das Quellverzeichnis darf nicht leer sein.</translation> </message> <message> - <location filename="../Project/Project.py" line="1213"/> + <location filename="../Project/Project.py" line="1216"/> <source>Add Language</source> <translation>Sprache hinzufügen</translation> </message> <message> - <location filename="../Project/Project.py" line="3344"/> + <location filename="../Project/Project.py" line="3347"/> <source>Save &as...</source> <translation>Speichern &unter...</translation> </message> <message> - <location filename="../Project/Project.py" line="4187"/> + <location filename="../Project/Project.py" line="4190"/> <source>Version Control System</source> <translation>Versionskontrollsystem</translation> </message> <message> - <location filename="../Project/Project.py" line="4041"/> + <location filename="../Project/Project.py" line="4044"/> <source>Search New Files</source> <translation>Neue Dateien suchen</translation> </message> <message> - <location filename="../Project/Project.py" line="4041"/> + <location filename="../Project/Project.py" line="4044"/> <source>There were no new files found to be added.</source> <translation>Es wurden keine neuen Dateien gefunden.</translation> </message> <message> - <location filename="../Project/Project.py" line="887"/> + <location filename="../Project/Project.py" line="890"/> <source>Read project session</source> <translation>Projekt Session lesen</translation> </message> <message> - <location filename="../Project/Project.py" line="1101"/> + <location filename="../Project/Project.py" line="1104"/> <source>Please save the project first.</source> <translation>Bitte speichern Sie zuerst das Projekt.</translation> </message> <message> - <location filename="../Project/Project.py" line="923"/> + <location filename="../Project/Project.py" line="926"/> <source>Save project session</source> <translation>Projekt Session speichern</translation> </message> <message> - <location filename="../Project/Project.py" line="3547"/> + <location filename="../Project/Project.py" line="3550"/> <source>Load session</source> <translation>Session laden</translation> </message> <message> - <location filename="../Project/Project.py" line="3551"/> + <location filename="../Project/Project.py" line="3554"/> <source>Load the projects session file.</source> <translation>Laden der Projekt Session.</translation> </message> <message> - <location filename="../Project/Project.py" line="3565"/> + <location filename="../Project/Project.py" line="3568"/> <source>Save session</source> <translation>Session speichern</translation> </message> <message> - <location filename="../Project/Project.py" line="3569"/> + <location filename="../Project/Project.py" line="3572"/> <source>Save the projects session file.</source> <translation>Speichern der Projekt Session.</translation> </message> <message> - <location filename="../Project/Project.py" line="3552"/> + <location filename="../Project/Project.py" line="3555"/> <source><b>Load session</b><p>This loads the projects session file. The session consists of the following data.<br>- all open source files<br>- all breakpoint<br>- the commandline arguments<br>- the working directory<br>- the exception reporting flag</p></source> <translation><b>Session laden</b><p>Dies lädt eine Projektsessiondatei. Die Session enthält die folgenden Daten.<br>- alle offenen Quelltextdateien<br>- alle Haltepunkte<br>- die Kommandozeilenparameter<br>- das Arbeitsverzeichnis<br>- das Ausnahmemeldungsflag</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3570"/> + <location filename="../Project/Project.py" line="3573"/> <source><b>Save session</b><p>This saves the projects session file. The session consists of the following data.<br>- all open source files<br>- all breakpoint<br>- the commandline arguments<br>- the working directory<br>- the exception reporting flag</p></source> <translation><b>Session speichern</b><p>Dies speichert eine Projektsessiondatei. Die Session enthält die folgenden Daten.<br>- alle offenen Quelltextdateien<br>- alle Haltepunkte<br>- die Kommandozeilenparameter<br>- das Arbeitsverzeichnis<br>- das Ausnahmemeldungsflag</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3748"/> + <location filename="../Project/Project.py" line="3751"/> <source>Source &Documentation</source> <translation>&Quelltextdokumentation</translation> </message> <message> - <location filename="../Project/Project.py" line="3743"/> - <source>Chec&k</source> - <translation>&Prüfen</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3597"/> - <source>Code Metrics</source> - <translation>Quelltextmetriken</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3597"/> - <source>&Code Metrics...</source> - <translation>&Quelltextmetriken...</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3601"/> - <source>Show some code metrics for the project.</source> - <translation>Zeige einige Quelltextmetriken für das Projekt.</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3603"/> - <source><b>Code Metrics...</b><p>This shows some code metrics for all Python files in the project.</p></source> - <translation><b>Quelltextmetriken...</b><p>Dies zeigt einige Quelltextmetriken für alle Python-Dateien des Projektes.</p></translation> - </message> - <message> - <location filename="../Project/Project.py" line="3611"/> - <source>Python Code Coverage</source> - <translation>Python-Quelltext-Abdeckung</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3611"/> - <source>Code Co&verage...</source> - <translation>&Quelltext Abdeckung...</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3615"/> - <source>Show code coverage information for the project.</source> - <translation>Zeige die Quelltextabdeckung für das Projekt.</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3617"/> - <source><b>Code Coverage...</b><p>This shows the code coverage information for all Python files in the project.</p></source> - <translation><b>Quelltext Abdeckung...</b><p>Dies zeigt die Quelltextabdeckung für alle Python-Dateien des Projektes an.</p></translation> - </message> - <message> - <location filename="../Project/Project.py" line="4377"/> - <source>Profile Data</source> - <translation>Profildaten</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3625"/> - <source>&Profile Data...</source> - <translation>&Profildaten...</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3629"/> - <source>Show profiling data for the project.</source> - <translation>Zeige Profildaten des aktuellen Projektes.</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3631"/> - <source><b>Profile Data...</b><p>This shows the profiling data for the project.</p></source> - <translation><b>Profildaten...</b><p>Dies zeigt die Profildaten des Projektes.</p></translation> - </message> - <message> - <location filename="../Project/Project.py" line="3745"/> - <source>Sho&w</source> - <translation>&Zeige</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4354"/> - <source>There is no main script defined for the current project. Aborting</source> - <translation>Für das aktuelle Projekt ist kein Hauptskript festgelegt. Abbruch</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4305"/> - <source>Coverage Data</source> - <translation>Quelltext Abdeckungsdaten</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3739"/> - <source>&Version Control</source> - <translation>&Versionskontrolle</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4431"/> - <source>Application Diagram</source> - <translation>Applikations-Diagramm</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3640"/> - <source>&Application Diagram...</source> - <translation>&Applikations-Diagramm...</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3644"/> - <source>Show a diagram of the project.</source> - <translation>Zeigt ein Diagramm des Projektes.</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3646"/> - <source><b>Application Diagram...</b><p>This shows a diagram of the project.</p></source> - <translation><b>Applikations-Diagramm...</b><p>Dies zeigt ein Diagramm des Projektes.</p></translation> - </message> - <message> <location filename="../Project/Project.py" line="3746"/> + <source>Chec&k</source> + <translation>&Prüfen</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3600"/> + <source>Code Metrics</source> + <translation>Quelltextmetriken</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3600"/> + <source>&Code Metrics...</source> + <translation>&Quelltextmetriken...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3604"/> + <source>Show some code metrics for the project.</source> + <translation>Zeige einige Quelltextmetriken für das Projekt.</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3606"/> + <source><b>Code Metrics...</b><p>This shows some code metrics for all Python files in the project.</p></source> + <translation><b>Quelltextmetriken...</b><p>Dies zeigt einige Quelltextmetriken für alle Python-Dateien des Projektes.</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="3614"/> + <source>Python Code Coverage</source> + <translation>Python-Quelltext-Abdeckung</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3614"/> + <source>Code Co&verage...</source> + <translation>&Quelltext Abdeckung...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3618"/> + <source>Show code coverage information for the project.</source> + <translation>Zeige die Quelltextabdeckung für das Projekt.</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3620"/> + <source><b>Code Coverage...</b><p>This shows the code coverage information for all Python files in the project.</p></source> + <translation><b>Quelltext Abdeckung...</b><p>Dies zeigt die Quelltextabdeckung für alle Python-Dateien des Projektes an.</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4380"/> + <source>Profile Data</source> + <translation>Profildaten</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3628"/> + <source>&Profile Data...</source> + <translation>&Profildaten...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3632"/> + <source>Show profiling data for the project.</source> + <translation>Zeige Profildaten des aktuellen Projektes.</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3634"/> + <source><b>Profile Data...</b><p>This shows the profiling data for the project.</p></source> + <translation><b>Profildaten...</b><p>Dies zeigt die Profildaten des Projektes.</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="3748"/> + <source>Sho&w</source> + <translation>&Zeige</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4357"/> + <source>There is no main script defined for the current project. Aborting</source> + <translation>Für das aktuelle Projekt ist kein Hauptskript festgelegt. Abbruch</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4308"/> + <source>Coverage Data</source> + <translation>Quelltext Abdeckungsdaten</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3742"/> + <source>&Version Control</source> + <translation>&Versionskontrolle</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4434"/> + <source>Application Diagram</source> + <translation>Applikations-Diagramm</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3643"/> + <source>&Application Diagram...</source> + <translation>&Applikations-Diagramm...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3647"/> + <source>Show a diagram of the project.</source> + <translation>Zeigt ein Diagramm des Projektes.</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3649"/> + <source><b>Application Diagram...</b><p>This shows a diagram of the project.</p></source> + <translation><b>Applikations-Diagramm...</b><p>Dies zeigt ein Diagramm des Projektes.</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="3749"/> <source>&Diagrams</source> <translation>&Diagramme</translation> </message> <message> - <location filename="../Project/Project.py" line="774"/> + <location filename="../Project/Project.py" line="777"/> <source>Save project file</source> <translation>Projektdatei speichern</translation> </message> <message> - <location filename="../Project/Project.py" line="4328"/> + <location filename="../Project/Project.py" line="4331"/> <source>Code Coverage</source> <translation>Quelltext Abdeckung</translation> </message> <message> - <location filename="../Project/Project.py" line="4328"/> + <location filename="../Project/Project.py" line="4331"/> <source>Please select a coverage file</source> <translation>Bitte wählen Sie eine Datei mit Abdeckungsdaten</translation> </message> <message> - <location filename="../Project/Project.py" line="4377"/> + <location filename="../Project/Project.py" line="4380"/> <source>Please select a profile file</source> <translation>Bitte wählen Sie eine Datei mit Profildaten</translation> </message> <message> - <location filename="../Project/Project.py" line="3375"/> + <location filename="../Project/Project.py" line="3378"/> <source>Add directory to project</source> <translation>Verzeichnis zum Projekt hinzufügen</translation> </message> <message> - <location filename="../Project/Project.py" line="3375"/> + <location filename="../Project/Project.py" line="3378"/> <source>Add directory...</source> <translation>Verzeichnis hinzufügen...</translation> </message> <message> - <location filename="../Project/Project.py" line="3380"/> + <location filename="../Project/Project.py" line="3383"/> <source>Add a directory to the current project</source> <translation>Füge den Inhalt eines Verzeichnisses zum Projekt hinzu</translation> </message> <message> - <location filename="../Project/Project.py" line="3382"/> + <location filename="../Project/Project.py" line="3385"/> <source><b>Add directory...</b><p>This opens a dialog for adding a directory to the current project.</p></source> <translation><b>Verzeichnis hinzufügen</b><p>Dies öffnet einen Dialog, mit dem ein Verzeichnis bzw. der Inhalt eines Verzeichnisses zum aktuellen Projekt hinzugefügt werden kann.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1735"/> + <location filename="../Project/Project.py" line="1738"/> <source>Rename file</source> <translation>Datei umbenennen</translation> </message> <message> - <location filename="../Project/Project.py" line="1759"/> + <location filename="../Project/Project.py" line="1762"/> <source>Rename File</source> <translation>Datei umbenennen</translation> </message> <message> - <location filename="../Project/Project.py" line="2193"/> + <location filename="../Project/Project.py" line="2196"/> <source>Shall the project file be added to the repository?</source> <translation>Soll die Projektdatei zum Repository hinzugefügt werden?</translation> </message> <message> - <location filename="../Project/Project.py" line="2564"/> + <location filename="../Project/Project.py" line="2567"/> <source>New Project</source> <translation>Neues Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="2126"/> + <location filename="../Project/Project.py" line="2129"/> <source>Add existing files to the project?</source> <translation>Existierende Dateien dem Projekt hinzufügen?</translation> </message> <message> - <location filename="../Project/Project.py" line="2245"/> + <location filename="../Project/Project.py" line="2248"/> <source>Would you like to edit the VCS command options?</source> <translation>Möchten Sie die VCS-Befehlsoptionen bearbeiten?</translation> </message> <message> - <location filename="../Project/Project.py" line="2217"/> + <location filename="../Project/Project.py" line="2220"/> <source>Select version control system for the project</source> <translation>Wähle das Versionskontrollsystem für das Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="674"/> + <location filename="../Project/Project.py" line="677"/> <source><p>The project file <b>{0}</b> could not be read.</p></source> <translation><p>Die Projektdatei <b>{0}</b> konnte nicht gelesen werden.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="774"/> + <location filename="../Project/Project.py" line="777"/> <source><p>The project file <b>{0}</b> could not be written.</p></source> <translation><p>Die Projektdatei <b>{0}</b> konnte nicht geschrieben werden.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="887"/> + <location filename="../Project/Project.py" line="890"/> <source><p>The project session file <b>{0}</b> could not be read.</p></source> <translation><p>Die Projektsessiondatei <b>{0}</b> konnte nicht gelesen werden.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="923"/> + <location filename="../Project/Project.py" line="926"/> <source><p>The project session file <b>{0}</b> could not be written.</p></source> <translation><p>Die Projektsessiondatei <b>{0}</b> konnte nicht gespeichert werden.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1332"/> + <location filename="../Project/Project.py" line="1335"/> <source><p>The selected translation file <b>{0}</b> could not be deleted.</p></source> <translation><p>Die ausgewählte Übersetzungsdatei <b>{0}</b> konnte nicht gelöscht werden.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="2712"/> + <location filename="../Project/Project.py" line="2715"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation><p>Die Datei <b>{0}</b> existiert bereits. Überschreiben?</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1951"/> + <location filename="../Project/Project.py" line="1954"/> <source><p>The selected file <b>{0}</b> could not be deleted.</p></source> <translation><p>Die ausgewählte Datei <b>{0}</b> konnte nicht gelöscht werden.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="2059"/> + <location filename="../Project/Project.py" line="2062"/> <source><p>The project directory <b>{0}</b> could not be created.</p></source> <translation><p>Das Projektverzeichnis <b>{0}</b> konnte nicht erstellt werden.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="949"/> + <location filename="../Project/Project.py" line="952"/> <source>Delete project session</source> <translation>Projekt Session löschen</translation> </message> <message> - <location filename="../Project/Project.py" line="949"/> + <location filename="../Project/Project.py" line="952"/> <source><p>The project session file <b>{0}</b> could not be deleted.</p></source> <translation><p>Die Projektsessiondatei <b>{0}</b> konnte nicht gelöscht werden.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3583"/> + <location filename="../Project/Project.py" line="3586"/> <source>Delete session</source> <translation>Session löschen</translation> </message> <message> - <location filename="../Project/Project.py" line="3587"/> + <location filename="../Project/Project.py" line="3590"/> <source>Delete the projects session file.</source> <translation>Löscht die Projektsessiondatei.</translation> </message> <message> - <location filename="../Project/Project.py" line="3588"/> + <location filename="../Project/Project.py" line="3591"/> <source><b>Delete session</b><p>This deletes the projects session file</p></source> <translation><b>Session löschen</b><p>Dies löscht die Sessiondatei des Projektes.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="191"/> + <location filename="../Project/Project.py" line="194"/> <source>Ruby Files (*.rb);;</source> <translation>Ruby-Dateien (*.rb);;</translation> </message> <message> - <location filename="../Project/Project.py" line="3411"/> + <location filename="../Project/Project.py" line="3414"/> <source><b>Search new files...</b><p>This searches for new files (sources, *.ui, *.idl) in the project directory and registered subdirectories.</p></source> <translation><b>Neue Dateien suchen...</b><p>Dies sucht im Projektverzeichnis und in registrierten Unterverzeichnissen nach neuen Dateien (Quellen, *.ui, *.idl).</p></translation> </message> <message> - <location filename="../Project/Project.py" line="239"/> + <location filename="../Project/Project.py" line="242"/> <source>Console</source> <translation>Konsole</translation> </message> <message> - <location filename="../Project/Project.py" line="240"/> + <location filename="../Project/Project.py" line="243"/> <source>Other</source> <translation>Sonstige</translation> </message> <message> - <location filename="../Project/Project.py" line="4431"/> + <location filename="../Project/Project.py" line="4434"/> <source>Include module names?</source> <translation>Modulnamen anzeigen?</translation> </message> <message> - <location filename="../Project/Project.py" line="1976"/> + <location filename="../Project/Project.py" line="1979"/> <source>Delete directory</source> <translation>Verzeichnis löschen</translation> </message> <message> - <location filename="../Project/Project.py" line="1976"/> + <location filename="../Project/Project.py" line="1979"/> <source><p>The selected directory <b>{0}</b> could not be deleted.</p></source> <translation><p>Das ausgewählte Verzeichnis <b>{0}</b> konnte nicht gelöscht werden.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="978"/> + <location filename="../Project/Project.py" line="981"/> <source>Read tasks</source> <translation>Aufgaben lesen</translation> </message> <message> - <location filename="../Project/Project.py" line="978"/> + <location filename="../Project/Project.py" line="981"/> <source><p>The tasks file <b>{0}</b> could not be read.</p></source> <translation><p>Die Aufgabendatei <b>{0}</b> konnte nicht gelesen werden.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="998"/> + <location filename="../Project/Project.py" line="1001"/> <source>Save tasks</source> <translation>Aufgaben speichern</translation> </message> <message> - <location filename="../Project/Project.py" line="998"/> + <location filename="../Project/Project.py" line="1001"/> <source><p>The tasks file <b>{0}</b> could not be written.</p></source> <translation><p>Die Aufgabendatei <b>{0}</b> konnte nicht geschrieben werden.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1055"/> + <location filename="../Project/Project.py" line="1058"/> <source>Read debugger properties</source> <translation>Debugger-Eigenschaften lesen</translation> </message> <message> - <location filename="../Project/Project.py" line="1055"/> + <location filename="../Project/Project.py" line="1058"/> <source><p>The project debugger properties file <b>{0}</b> could not be read.</p></source> <translation><p>Die Datei mit den projektspezifischen Debugger-Eigenschaften <b>{0}</b> konnte nicht gelesen werden.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1089"/> + <location filename="../Project/Project.py" line="1092"/> <source>Save debugger properties</source> <translation>Debugger-Eigenschaften speichern</translation> </message> <message> - <location filename="../Project/Project.py" line="1089"/> + <location filename="../Project/Project.py" line="1092"/> <source><p>The project debugger properties file <b>{0}</b> could not be written.</p></source> <translation><p>Die Datei mit den projektspezifischen Debugger-Eigenschaften <b>{0}</b> konnte nicht gespeichert werden.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1115"/> + <location filename="../Project/Project.py" line="1118"/> <source>Delete debugger properties</source> <translation>Debugger-Eigenschaften löschen</translation> </message> <message> - <location filename="../Project/Project.py" line="1115"/> + <location filename="../Project/Project.py" line="1118"/> <source><p>The project debugger properties file <b>{0}</b> could not be deleted.</p></source> <translation><p>Die Datei mit den projektspezifischen Debugger-Eigenschaften <b>{0}</b> konnte nicht gelöscht werden.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3483"/> + <location filename="../Project/Project.py" line="3486"/> <source>Debugger Properties</source> <translation>Debugger-Eigenschaften</translation> </message> <message> - <location filename="../Project/Project.py" line="3483"/> + <location filename="../Project/Project.py" line="3486"/> <source>Debugger &Properties...</source> <translation>Debugger-&Eigenschaften...</translation> </message> <message> - <location filename="../Project/Project.py" line="3487"/> + <location filename="../Project/Project.py" line="3490"/> <source>Show the debugger properties</source> <translation>Debugger-Eigenschaften anzeigen</translation> </message> <message> - <location filename="../Project/Project.py" line="3488"/> + <location filename="../Project/Project.py" line="3491"/> <source><b>Debugger Properties...</b><p>This shows a dialog to edit project specific debugger settings.</p></source> <translation><b>Debugger-Eigenschaften...</b><p>Dies zeigt einen Dialog an, um die projektspezifischen Debugger-Einstellungen zu bearbeiten.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3496"/> + <location filename="../Project/Project.py" line="3499"/> <source>Load</source> <translation>Laden</translation> </message> <message> - <location filename="../Project/Project.py" line="3496"/> + <location filename="../Project/Project.py" line="3499"/> <source>&Load</source> <translation>&Laden</translation> </message> <message> - <location filename="../Project/Project.py" line="3500"/> + <location filename="../Project/Project.py" line="3503"/> <source>Load the debugger properties</source> <translation>Debugger-Eigenschaften laden</translation> </message> <message> - <location filename="../Project/Project.py" line="3508"/> + <location filename="../Project/Project.py" line="3511"/> <source>Save</source> <translation>Speichern</translation> </message> <message> - <location filename="../Project/Project.py" line="3512"/> + <location filename="../Project/Project.py" line="3515"/> <source>Save the debugger properties</source> <translation>Debugger-Eigenschaften speichern</translation> </message> <message> - <location filename="../Project/Project.py" line="3520"/> + <location filename="../Project/Project.py" line="3523"/> <source>Delete</source> <translation>Löschen</translation> </message> <message> - <location filename="../Project/Project.py" line="3520"/> + <location filename="../Project/Project.py" line="3523"/> <source>&Delete</source> <translation>&Löschen</translation> </message> <message> - <location filename="../Project/Project.py" line="3524"/> + <location filename="../Project/Project.py" line="3527"/> <source>Delete the debugger properties</source> <translation>Debugger-Eigenschaften löschen</translation> </message> <message> - <location filename="../Project/Project.py" line="3533"/> + <location filename="../Project/Project.py" line="3536"/> <source>Reset</source> <translation>Zurücksetzen</translation> </message> <message> - <location filename="../Project/Project.py" line="3533"/> + <location filename="../Project/Project.py" line="3536"/> <source>&Reset</source> <translation>&Zurücksetzen</translation> </message> <message> - <location filename="../Project/Project.py" line="3537"/> + <location filename="../Project/Project.py" line="3540"/> <source>Reset the debugger properties</source> <translation>Debugger-Eigenschaften zurücksetzen</translation> </message> <message> + <location filename="../Project/Project.py" line="3753"/> + <source>Debugger</source> + <translation>Debugger</translation> + </message> + <message> <location filename="../Project/Project.py" line="3750"/> - <source>Debugger</source> - <translation>Debugger</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3747"/> <source>Session</source> <translation>Session</translation> </message> <message> - <location filename="../Project/Project.py" line="3501"/> + <location filename="../Project/Project.py" line="3504"/> <source><b>Load Debugger Properties</b><p>This loads the project specific debugger settings.</p></source> <translation><b>Debugger-Eigenschaften laden</b><p>Dies lädt die projektspezifischen Debugger-Einstellungen.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3513"/> + <location filename="../Project/Project.py" line="3516"/> <source><b>Save Debugger Properties</b><p>This saves the project specific debugger settings.</p></source> <translation><b>Debugger-Eigenschaften speichern</b><p>Dies speichert die projektspezifischen Debugger-Einstellungen.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3525"/> + <location filename="../Project/Project.py" line="3528"/> <source><b>Delete Debugger Properties</b><p>This deletes the file containing the project specific debugger settings.</p></source> <translation><b>Debugger-Eigenschaften löschen</b><p>Dies löscht die Datei mit den projektspezifischen Debugger-Einstellungen.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3538"/> + <location filename="../Project/Project.py" line="3541"/> <source><b>Reset Debugger Properties</b><p>This resets the project specific debugger settings.</p></source> <translation><b>Debugger-Eigenschaften zurücksetzen</b><p>Dies setzt die projektspezifischen Debugger-Einstellungen zurück.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3447"/> + <location filename="../Project/Project.py" line="3450"/> <source>Filetype Associations</source> <translation>Dateitypzuordnungen</translation> </message> <message> - <location filename="../Project/Project.py" line="3447"/> + <location filename="../Project/Project.py" line="3450"/> <source>Filetype Associations...</source> <translation>Dateitypzuordnungen...</translation> </message> <message> - <location filename="../Project/Project.py" line="3451"/> + <location filename="../Project/Project.py" line="3454"/> <source>Show the project filetype associations</source> <translation>Zeigt die Dateitypzuordnungen des Projektes</translation> </message> <message> - <location filename="../Project/Project.py" line="3453"/> + <location filename="../Project/Project.py" line="3456"/> <source><b>Filetype Associations...</b><p>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.</p></source> <translation><b>Dateitypzuordnungen...</b><p>Dies zeigt einen Dialog zur Eingabe der Dateitypzuordnungen des Projektes. Diese Zuordnungen bestimmen den Typ (Quellen, Formulare, Schnittstellen oder Sonstige) über ein Dateinamenmuster. Sie werden genutzt, wenn eine Datei zum Projekt hinzugefügt oder wenn nach neuen Dateien gesucht wird.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3751"/> + <location filename="../Project/Project.py" line="3754"/> <source>Pac&kagers</source> <translation>Pa&ketierer</translation> </message> <message> - <location filename="../Project/Project.py" line="3359"/> + <location filename="../Project/Project.py" line="3362"/> <source>Add files to project</source> <translation>Dateien zum Projekt hinzufügen</translation> </message> <message> - <location filename="../Project/Project.py" line="3359"/> + <location filename="../Project/Project.py" line="3362"/> <source>Add &files...</source> <translation>&Dateien hinzufügen...</translation> </message> <message> - <location filename="../Project/Project.py" line="3364"/> + <location filename="../Project/Project.py" line="3367"/> <source>Add files to the current project</source> <translation>Fügt Dateien zum aktuellen Projekt hinzu</translation> </message> <message> - <location filename="../Project/Project.py" line="3366"/> + <location filename="../Project/Project.py" line="3369"/> <source><b>Add files...</b><p>This opens a dialog for adding files to the current project. The place to add is determined by the file extension.</p></source> <translation><b>Dateien hinzufügen...</b><p>Dies öffnet einen Dialog, mit dem Dateien zum aktuellen Projekt hinzugefügt werden kann. Der Ort, an dem sie eingefügt werden, wird durch die Dateinamenerweiterung bestimmt.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1759"/> + <location filename="../Project/Project.py" line="1762"/> <source><p>The file <b>{0}</b> could not be renamed.<br />Reason: {1}</p></source> <translation><p>Die Datei <b>{0}</b> konnte nicht umbenannt werden.<br />Ursache: {1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="2697"/> + <location filename="../Project/Project.py" line="2700"/> <source>Project Files (*.e4p)</source> <translation>Projektdateien (*.e4p)</translation> </message> <message> - <location filename="../Project/Project.py" line="3737"/> + <location filename="../Project/Project.py" line="3740"/> <source>&Project</source> <translation>&Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3858"/> + <location filename="../Project/Project.py" line="3861"/> <source>Project</source> <translation>Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3920"/> + <location filename="../Project/Project.py" line="3923"/> <source>&Clear</source> <translation>&Löschen</translation> </message> <message> - <location filename="../Project/Project.py" line="1545"/> + <location filename="../Project/Project.py" line="1548"/> <source><p>The file <b>{0}</b> already exists.</p><p>Overwrite it?</p></source> <translation><p>Die Datei <b>{0}</b> existiert bereits. Überschreiben?</p></translation> </message> <message> - <location filename="../Project/Project.py" line="810"/> + <location filename="../Project/Project.py" line="813"/> <source>Read user project properties</source> <translation>Nutzer bezogene Projektdaten lesen</translation> </message> <message> - <location filename="../Project/Project.py" line="810"/> + <location filename="../Project/Project.py" line="813"/> <source><p>The user specific project properties file <b>{0}</b> could not be read.</p></source> <translation><p>Die Datei mit den Nutzer bezogenen Projektdaten <b>{0}</b> konnte nicht gelesen werden.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="834"/> + <location filename="../Project/Project.py" line="837"/> <source>Save user project properties</source> <translation>Nutzer bezogene Projektdaten sichern</translation> </message> <message> - <location filename="../Project/Project.py" line="834"/> + <location filename="../Project/Project.py" line="837"/> <source><p>The user specific project properties file <b>{0}</b> could not be written.</p></source> <translation><p>Die Datei mit den Nutzer bezogenen Projektdaten <b>{0}</b> konnte nicht geschrieben werden.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3432"/> + <location filename="../Project/Project.py" line="3435"/> <source>User project properties</source> <translation>Nutzer bezogene Projektdaten</translation> </message> <message> - <location filename="../Project/Project.py" line="3432"/> + <location filename="../Project/Project.py" line="3435"/> <source>&User Properties...</source> <translation>&Nutzer bezogene Projektdaten...</translation> </message> <message> - <location filename="../Project/Project.py" line="3437"/> + <location filename="../Project/Project.py" line="3440"/> <source>Show the user specific project properties</source> <translation>Zeigt die Nutzer bezogenen Projektdaten an</translation> </message> <message> - <location filename="../Project/Project.py" line="3439"/> + <location filename="../Project/Project.py" line="3442"/> <source><b>User Properties...</b><p>This shows a dialog to edit the user specific project properties.</p></source> <translation><b>Nutzer bezogene Projektdaten...</b><p>Dies zeigt einen Dialog an, um Nutzer bezogene Projektdaten zu bearbeiten.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="2911"/> + <location filename="../Project/Project.py" line="2914"/> <source>Syntax errors detected</source> <translation>Syntaxfehler gefunden</translation> </message> <message numerus="yes"> - <location filename="../Project/Project.py" line="2911"/> + <location filename="../Project/Project.py" line="2914"/> <source>The project contains %n file(s) with syntax errors.</source> <translation> <numerusform>Das Projekt beinhaltet %n Datei mit Syntaxfehlern.</numerusform> @@ -36041,277 +36051,277 @@ </translation> </message> <message> - <location filename="../Project/Project.py" line="4589"/> + <location filename="../Project/Project.py" line="4592"/> <source>Create Package List</source> <translation>Erzeuge Paketliste</translation> </message> <message> - <location filename="../Project/Project.py" line="3669"/> + <location filename="../Project/Project.py" line="3672"/> <source>Create &Package List</source> <translation>Erzeuge &Paketliste</translation> </message> <message> - <location filename="../Project/Project.py" line="4782"/> + <location filename="../Project/Project.py" line="4785"/> <source>Create Plugin Archive</source> <translation>Erzeuge Plugin Archiv</translation> </message> <message> - <location filename="../Project/Project.py" line="3685"/> + <location filename="../Project/Project.py" line="3688"/> <source>Create Plugin &Archive</source> <translation>Erzeuge Plugin &Archiv</translation> </message> <message> - <location filename="../Project/Project.py" line="4549"/> + <location filename="../Project/Project.py" line="4552"/> <source><p>The file <b>PKGLIST</b> already exists.</p><p>Overwrite it?</p></source> <translation><p>Die Datei <b>PKGLIST</b> existiert bereits.</p><p>Überschreiben?</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4589"/> + <location filename="../Project/Project.py" line="4592"/> <source><p>The file <b>PKGLIST</b> could not be created.</p><p>Reason: {0}</p></source> <translation><p>Die Datei <b>PKGLIST</b> konnte nicht erzeugt werden.</p><p>Ursache: {0}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4609"/> + <location filename="../Project/Project.py" line="4612"/> <source><p>The file <b>PKGLIST</b> does not exist. Aborting...</p></source> <translation><p>Die Datei <b>PKGLIST</b> existiert nicht. Abbruch...</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4618"/> + <location filename="../Project/Project.py" line="4621"/> <source>The project does not have a main script defined. Aborting...</source> <translation>Für das Projekt wurde kein Hauptskript angegeben. Abbruch...</translation> </message> <message> - <location filename="../Project/Project.py" line="4632"/> + <location filename="../Project/Project.py" line="4635"/> <source><p>The file <b>PKGLIST</b> could not be read.</p><p>Reason: {0}</p></source> <translation><p>Die Datei <b>PKGLIST</b> konnte nicht gelesen werden.</p><p>Ursache: {0}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1514"/> + <location filename="../Project/Project.py" line="1517"/> <source><p>The source directory doesn't contain any files belonging to the selected category.</p></source> <translation><p>Das Quellverzeichnis enthält keine Dateien, die zur gewählten Kategorie gehören.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="2564"/> + <location filename="../Project/Project.py" line="2567"/> <source>Select Version Control System</source> <translation>Versionskontrollsystem auswählen</translation> </message> <message> - <location filename="../Project/Project.py" line="2224"/> + <location filename="../Project/Project.py" line="2227"/> <source>None</source> <translation>Keines</translation> </message> <message> - <location filename="../Project/Project.py" line="336"/> + <location filename="../Project/Project.py" line="339"/> <source>Registering Project Type</source> <translation>Projekttyp Registrierung</translation> </message> <message> - <location filename="../Project/Project.py" line="4671"/> + <location filename="../Project/Project.py" line="4674"/> <source><p>The file <b>{0}</b> could not be stored in the archive. Ignoring it.</p><p>Reason: {1}</p></source> <translation><p>Die Datei <b>{0}</b> konnte nicht im Archiv gespeichert werde. Sie wird ignoriert.</p><p>Ursache: {1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3701"/> + <location filename="../Project/Project.py" line="3704"/> <source>Create Plugin Archive (Snapshot)</source> <translation>Erzeuge Plugin Archiv (Snapshot)</translation> </message> <message> - <location filename="../Project/Project.py" line="3701"/> + <location filename="../Project/Project.py" line="3704"/> <source>Create Plugin Archive (&Snapshot)</source> <translation>Erzeuge Plugin Archiv (&Snapshot)</translation> </message> <message> - <location filename="../Project/Project.py" line="4740"/> + <location filename="../Project/Project.py" line="4743"/> <source><p>The plugin file <b>{0}</b> could not be read.</p><p>Reason: {1}</p></source> <translation><p>Die Plugindatei <b>{0}</b> konnte nicht gelesen werden.<br>Grund: {1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1213"/> + <location filename="../Project/Project.py" line="1216"/> <source>You have to specify a translation pattern first.</source> <translation>Sie müssen zuerst ein Übersetzungsmuster festlegen.</translation> </message> <message> - <location filename="../Project/Project.py" line="2323"/> + <location filename="../Project/Project.py" line="2326"/> <source>Translation Pattern</source> <translation>Übersetzungsmuster</translation> </message> <message> - <location filename="../Project/Project.py" line="2323"/> + <location filename="../Project/Project.py" line="2326"/> <source>Enter the path pattern for translation files (use '%language%' in place of the language code):</source> <translation>Gib das Pfadmuster für Übersetzungsdateien ein (benutze „%language%“ anstelle des Sprachcodes):</translation> </message> <message> - <location filename="../Project/Project.py" line="4187"/> + <location filename="../Project/Project.py" line="4190"/> <source><p>The selected VCS <b>{0}</b> could not be found.<br/>Disabling version control.</p><p>{1}</p></source> <translation><p>Das ausgewählte Versionskontrollsystem <b>{0}</b> konnte nicht gefunden werden.<br/>Versionskontrolle nicht möglich.</p><p>{1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3465"/> + <location filename="../Project/Project.py" line="3468"/> <source>Lexer Associations</source> <translation>Lexerzuordnungen</translation> </message> <message> - <location filename="../Project/Project.py" line="3465"/> + <location filename="../Project/Project.py" line="3468"/> <source>Lexer Associations...</source> <translation>Lexerzuordnungen...</translation> </message> <message> - <location filename="../Project/Project.py" line="3469"/> + <location filename="../Project/Project.py" line="3472"/> <source>Show the project lexer associations (overriding defaults)</source> <translation>Zeigt die projektspezifischen Lexerzuordnungen</translation> </message> <message> - <location filename="../Project/Project.py" line="3471"/> + <location filename="../Project/Project.py" line="3474"/> <source><b>Lexer Associations...</b><p>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.</p></source> <translation><b>Lexerzuordnungen</b><p>Dies öffnet einen Dialog, um die projektspezifischen Lexerzuordnungen zu bearbeiten. Diese Zuordnungen überschreiben die globalen Lexerzuordnungen. Lexer werden verwendet, um den Editortext einzufärben.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="252"/> + <location filename="../Project/Project.py" line="255"/> <source>PySide GUI</source> <translation>PySide Oberfläche</translation> </message> <message> - <location filename="../Project/Project.py" line="253"/> + <location filename="../Project/Project.py" line="256"/> <source>PySide Console</source> <translation>PySide Kommandozeile</translation> </message> <message> + <location filename="../Project/Project.py" line="191"/> + <source>Python3 Files (*.py *.py3);;Python3 GUI Files (*.pyw *.pyw3);;</source> + <translation>Python 3-Dateien (*.py *.py3);;Python 3-GUI-Dateien (*.pyw *.pyw3);;</translation> + </message> + <message> + <location filename="../Project/Project.py" line="241"/> + <source>Eric Plugin</source> + <translation>Eric Plugin</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3677"/> + <source>Create an initial PKGLIST file for an eric5 plugin.</source> + <translation>Erzeugt eine erste PKGLIST-Datei für ein eric5-Plugin.</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3679"/> + <source><b>Create Package List</b><p>This creates an initial list of files to include in an eric5 plugin archive. The list is created from the project file.</p></source> + <translation><b>Erzeuge Paketliste</b><p>Dies erzeugt eine erste Liste von Dateien, die in ein eric5-Pluginarchive einbezogen werden sollen. Die Liste wird aus der Projektdatei erzeugt.</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="3693"/> + <source>Create an eric5 plugin archive file.</source> + <translation>Erzeugt eine eric5 Plugin Archivdatei.</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3695"/> + <source><b>Create Plugin Archive</b><p>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.</p></source> + <translation><b>Erzeuge Pluginarchiv</b><p>Dies erzeugt eine eric5-Pluginarchivdatei mit den Dateien, die in der PKGLIST-Datei angegeben wurden. Der Archivname wird aus dem Namen des Hauptskriptes generiert.</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="3709"/> + <source>Create an eric5 plugin archive file (snapshot release).</source> + <translation>Erzeugt eine eric5 Plugin Archivdatei (Snapshot Release).</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3711"/> + <source><b>Create Plugin Archive (Snapshot)</b><p>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.</p></source> + <translation><b>Erzeuge Pluginarchiv (Snapshot)</b><p>Dies erzeugt eine eric5-Pluginarchivdatei mit den Dateien, die in der PKGLIST-Datei angegeben wurden. Der Archivname wird aus dem Namen des Hauptskriptes generiert. Der Versionseintrag des Hauptskriptes wird verändert, um ein Snapshot Release anzuzeigen.</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4648"/> + <source><p>The eric5 plugin archive file <b>{0}</b> could not be created.</p><p>Reason: {1}</p></source> + <translation><p>Die eric5 Plugin Archivdatei <b>{0}</b> konnte nicht erzeugt werden.</p><p>Ursache: {1}</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4697"/> + <source><p>The eric5 plugin archive file <b>{0}</b> was created successfully.</p></source> + <translation><p>Die eric5 Plugin Archivdatei <b>{0}</b> wurde erfolgreich erzeugt.</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="1474"/> + <source><p>The selected file <b>{0}</b> could not be added to <b>{1}</b>.</p><p>Reason: {2}</p></source> + <translation><p>Die ausgewählte Datei <b>{0}</b> konnte nicht zu <b>{1}</b> hinzugefügt werden.</p><p>Ursache: {2}</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="1530"/> + <source><p>The target directory <b>{0}</b> could not be created.</p><p>Reason: {1}</p></source> + <translation><p>Das Zielverzeichnis <b>{0}</b> konnte nicht erstellt werden.</p><p>Ursache: {1}</p></translation> + </message> + <message> <location filename="../Project/Project.py" line="188"/> - <source>Python3 Files (*.py *.py3);;Python3 GUI Files (*.pyw *.pyw3);;</source> - <translation>Python 3-Dateien (*.py *.py3);;Python 3-GUI-Dateien (*.pyw *.pyw3);;</translation> + <source>Python2 Files (*.py2);;Python2 GUI Files (*.pyw2);;</source> + <translation>Python 2-Dateien (*.py2);;Python 2-GUI-Dateien (*.pyw2);;</translation> + </message> + <message> + <location filename="../Project/Project.py" line="2116"/> + <source>Create main script</source> + <translation>Hauptskript erzeugen</translation> + </message> + <message> + <location filename="../Project/Project.py" line="2116"/> + <source><p>The mainscript <b>{0}</b> could not be created.<br/>Reason: {1}</p></source> + <translation><p>Das Hauptskript <b>{0}</b> konnte nicht erzeugt werden.<br/>Ursache: {1}</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="3657"/> + <source>Load Diagram</source> + <translation>Diagramm laden</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3657"/> + <source>&Load Diagram...</source> + <translation>Diagramm &laden...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3661"/> + <source>Load a diagram from file.</source> + <translation>Lade ein Diagramm aus einer Datei.</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3663"/> + <source><b>Load Diagram...</b><p>This loads a diagram from file.</p></source> + <translation><b>Diagramm laden...</b><p>Dies lädt ein Diagramm aus einer Datei.</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="316"/> + <source><p>The Programming Language <b>{0}</b> is not supported.</p></source> + <translation><p>Die Programmiersprache <b>{0}</b> wird nicht unterstützt.</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="339"/> + <source><p>The Project type <b>{0}</b> is already registered.</p></source> + <translation><p>Der Projekttyp <b>{0}</b> ist bereits registriert.</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="327"/> + <source><p>The Project type <b>{0}</b> is already registered with Programming Language <b>{1}</b>.</p></source> + <translation><p>Der Projekttyp <b>{0}</b> ist bereits für die Programmiersprache <b>{1}</b> registriert.</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="237"/> + <source>Qt GUI</source> + <translation>Qt Oberfläche</translation> </message> <message> <location filename="../Project/Project.py" line="238"/> - <source>Eric Plugin</source> - <translation>Eric Plugin</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3674"/> - <source>Create an initial PKGLIST file for an eric5 plugin.</source> - <translation>Erzeugt eine erste PKGLIST-Datei für ein eric5-Plugin.</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3676"/> - <source><b>Create Package List</b><p>This creates an initial list of files to include in an eric5 plugin archive. The list is created from the project file.</p></source> - <translation><b>Erzeuge Paketliste</b><p>Dies erzeugt eine erste Liste von Dateien, die in ein eric5-Pluginarchive einbezogen werden sollen. Die Liste wird aus der Projektdatei erzeugt.</p></translation> - </message> - <message> - <location filename="../Project/Project.py" line="3690"/> - <source>Create an eric5 plugin archive file.</source> - <translation>Erzeugt eine eric5 Plugin Archivdatei.</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3692"/> - <source><b>Create Plugin Archive</b><p>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.</p></source> - <translation><b>Erzeuge Pluginarchiv</b><p>Dies erzeugt eine eric5-Pluginarchivdatei mit den Dateien, die in der PKGLIST-Datei angegeben wurden. Der Archivname wird aus dem Namen des Hauptskriptes generiert.</p></translation> - </message> - <message> - <location filename="../Project/Project.py" line="3706"/> - <source>Create an eric5 plugin archive file (snapshot release).</source> - <translation>Erzeugt eine eric5 Plugin Archivdatei (Snapshot Release).</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3708"/> - <source><b>Create Plugin Archive (Snapshot)</b><p>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.</p></source> - <translation><b>Erzeuge Pluginarchiv (Snapshot)</b><p>Dies erzeugt eine eric5-Pluginarchivdatei mit den Dateien, die in der PKGLIST-Datei angegeben wurden. Der Archivname wird aus dem Namen des Hauptskriptes generiert. Der Versionseintrag des Hauptskriptes wird verändert, um ein Snapshot Release anzuzeigen.</p></translation> - </message> - <message> - <location filename="../Project/Project.py" line="4645"/> - <source><p>The eric5 plugin archive file <b>{0}</b> could not be created.</p><p>Reason: {1}</p></source> - <translation><p>Die eric5 Plugin Archivdatei <b>{0}</b> konnte nicht erzeugt werden.</p><p>Ursache: {1}</p></translation> - </message> - <message> - <location filename="../Project/Project.py" line="4694"/> - <source><p>The eric5 plugin archive file <b>{0}</b> was created successfully.</p></source> - <translation><p>Die eric5 Plugin Archivdatei <b>{0}</b> wurde erfolgreich erzeugt.</p></translation> - </message> - <message> - <location filename="../Project/Project.py" line="1471"/> - <source><p>The selected file <b>{0}</b> could not be added to <b>{1}</b>.</p><p>Reason: {2}</p></source> - <translation><p>Die ausgewählte Datei <b>{0}</b> konnte nicht zu <b>{1}</b> hinzugefügt werden.</p><p>Ursache: {2}</p></translation> - </message> - <message> - <location filename="../Project/Project.py" line="1527"/> - <source><p>The target directory <b>{0}</b> could not be created.</p><p>Reason: {1}</p></source> - <translation><p>Das Zielverzeichnis <b>{0}</b> konnte nicht erstellt werden.</p><p>Ursache: {1}</p></translation> - </message> - <message> - <location filename="../Project/Project.py" line="185"/> - <source>Python2 Files (*.py2);;Python2 GUI Files (*.pyw2);;</source> - <translation>Python 2-Dateien (*.py2);;Python 2-GUI-Dateien (*.pyw2);;</translation> - </message> - <message> - <location filename="../Project/Project.py" line="2113"/> - <source>Create main script</source> - <translation>Hauptskript erzeugen</translation> - </message> - <message> - <location filename="../Project/Project.py" line="2113"/> - <source><p>The mainscript <b>{0}</b> could not be created.<br/>Reason: {1}</p></source> - <translation><p>Das Hauptskript <b>{0}</b> konnte nicht erzeugt werden.<br/>Ursache: {1}</p></translation> - </message>