Sat, 09 Jan 2010 19:43:36 +0000
Fixed a bunch of issues including a workaround for a bug in the Python email package (s. EmailDialog.py).
--- a/APIs/Python3/eric5.api Fri Jan 08 19:14:19 2010 +0000 +++ b/APIs/Python3/eric5.api Sat Jan 09 19:43:36 2010 +0000 @@ -1444,12 +1444,10 @@ eric5.E4XML.XMLHandlerBase.XMLHandlerBase.endFloat?4() eric5.E4XML.XMLHandlerBase.XMLHandlerBase.endInt?4() eric5.E4XML.XMLHandlerBase.XMLHandlerBase.endList?4() -eric5.E4XML.XMLHandlerBase.XMLHandlerBase.endLong?4() eric5.E4XML.XMLHandlerBase.XMLHandlerBase.endNone?4() eric5.E4XML.XMLHandlerBase.XMLHandlerBase.endPickle?4() eric5.E4XML.XMLHandlerBase.XMLHandlerBase.endString?4() eric5.E4XML.XMLHandlerBase.XMLHandlerBase.endTuple?4() -eric5.E4XML.XMLHandlerBase.XMLHandlerBase.endUnicode?4() eric5.E4XML.XMLHandlerBase.XMLHandlerBase.startDictionary?4(attrs) eric5.E4XML.XMLHandlerBase.XMLHandlerBase.startDocument?4() eric5.E4XML.XMLHandlerBase.XMLHandlerBase.startElement?4(name, attrs) @@ -1570,7 +1568,7 @@ eric5.Helpviewer.AdBlock.AdBlockBlockedNetworkReply.AdBlockBlockedNetworkReply.abort?4() eric5.Helpviewer.AdBlock.AdBlockBlockedNetworkReply.AdBlockBlockedNetworkReply.readData?4(maxlen) eric5.Helpviewer.AdBlock.AdBlockBlockedNetworkReply.AdBlockBlockedNetworkReply?1(request, rule, parent = None) -eric5.Helpviewer.AdBlock.AdBlockDialog.AdBlockDialog.addCustomRule?4(rule) +eric5.Helpviewer.AdBlock.AdBlockDialog.AdBlockDialog.addCustomRule?4(rule = "") eric5.Helpviewer.AdBlock.AdBlockDialog.AdBlockDialog.model?4() eric5.Helpviewer.AdBlock.AdBlockDialog.AdBlockDialog.setCurrentIndex?4(index) eric5.Helpviewer.AdBlock.AdBlockDialog.AdBlockDialog?1(parent = None) @@ -4953,6 +4951,7 @@ eric5.UI.EmailDialog.EmailDialog.on_sendButton_clicked?4() eric5.UI.EmailDialog.EmailDialog.on_subject_textChanged?4(txt) eric5.UI.EmailDialog.EmailDialog?1(mode = "bug", parent = None) +eric5.UI.EmailDialog._encode_base64?5(msg) eric5.UI.FindFileDialog.FindFileDialog.endRole?7 eric5.UI.FindFileDialog.FindFileDialog.lineRole?7 eric5.UI.FindFileDialog.FindFileDialog.on_buttonBox_clicked?4(button)
--- a/DebugClients/Python3/DebugClientBase.py Fri Jan 08 19:14:19 2010 +0000 +++ b/DebugClients/Python3/DebugClientBase.py Sat Jan 09 19:43:36 2010 +0000 @@ -205,7 +205,7 @@ self.compile_command = codeop.CommandCompiler() - self.coding_re = re.compile(r"coding[:=]\s*([-\w_.]+)") + self.coding_re = re.compile(br"coding[:=]\s*([-\w_.]+)") self.defaultCoding = 'utf-8' self.__coding = self.defaultCoding self.noencoding = False @@ -241,7 +241,7 @@ for l in text.splitlines(): m = self.coding_re.search(l) if m: - self.__coding = m.group(1) + self.__coding = m.group(1).decode() return self.__coding = default
--- a/Debugger/VariablesViewer.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Debugger/VariablesViewer.py Sat Jan 09 19:43:36 2010 +0000 @@ -522,7 +522,6 @@ ## @param s the string to be converted (string) ## @return unicode representation of s (unicode object) ## """ -## # TODO: remove me ## if isinstance(s, type("")): ## return s ## try:
--- a/Documentation/Help/source.qhp Fri Jan 08 19:14:19 2010 +0000 +++ b/Documentation/Help/source.qhp Sat Jan 09 19:43:36 2010 +0000 @@ -2966,12 +2966,10 @@ <keyword name="XMLHandlerBase.endFloat" id="XMLHandlerBase.endFloat" ref="eric5.E4XML.XMLHandlerBase.html#XMLHandlerBase.endFloat" /> <keyword name="XMLHandlerBase.endInt" id="XMLHandlerBase.endInt" ref="eric5.E4XML.XMLHandlerBase.html#XMLHandlerBase.endInt" /> <keyword name="XMLHandlerBase.endList" id="XMLHandlerBase.endList" ref="eric5.E4XML.XMLHandlerBase.html#XMLHandlerBase.endList" /> - <keyword name="XMLHandlerBase.endLong" id="XMLHandlerBase.endLong" ref="eric5.E4XML.XMLHandlerBase.html#XMLHandlerBase.endLong" /> <keyword name="XMLHandlerBase.endNone" id="XMLHandlerBase.endNone" ref="eric5.E4XML.XMLHandlerBase.html#XMLHandlerBase.endNone" /> <keyword name="XMLHandlerBase.endPickle" id="XMLHandlerBase.endPickle" ref="eric5.E4XML.XMLHandlerBase.html#XMLHandlerBase.endPickle" /> <keyword name="XMLHandlerBase.endString" id="XMLHandlerBase.endString" ref="eric5.E4XML.XMLHandlerBase.html#XMLHandlerBase.endString" /> <keyword name="XMLHandlerBase.endTuple" id="XMLHandlerBase.endTuple" ref="eric5.E4XML.XMLHandlerBase.html#XMLHandlerBase.endTuple" /> - <keyword name="XMLHandlerBase.endUnicode" id="XMLHandlerBase.endUnicode" ref="eric5.E4XML.XMLHandlerBase.html#XMLHandlerBase.endUnicode" /> <keyword name="XMLHandlerBase.startDictionary" id="XMLHandlerBase.startDictionary" ref="eric5.E4XML.XMLHandlerBase.html#XMLHandlerBase.startDictionary" /> <keyword name="XMLHandlerBase.startDocument" id="XMLHandlerBase.startDocument" ref="eric5.E4XML.XMLHandlerBase.html#XMLHandlerBase.startDocument" /> <keyword name="XMLHandlerBase.startElement" id="XMLHandlerBase.startElement" ref="eric5.E4XML.XMLHandlerBase.html#XMLHandlerBase.startElement" /> @@ -3697,6 +3695,7 @@ <keyword name="BrowserSysPathItem (Constructor)" id="BrowserSysPathItem (Constructor)" ref="eric5.UI.BrowserModel.html#BrowserSysPathItem.__init__" /> <keyword name="EmailDialog (Module)" id="EmailDialog (Module)" ref="eric5.UI.EmailDialog.html" /> <keyword name="EmailDialog" id="EmailDialog" ref="eric5.UI.EmailDialog.html#EmailDialog" /> + <keyword name="_encode_base64" id="_encode_base64" ref="eric5.UI.EmailDialog.html#_encode_base64" /> <keyword name="EmailDialog (Constructor)" id="EmailDialog (Constructor)" ref="eric5.UI.EmailDialog.html#EmailDialog.__init__" /> <keyword name="EmailDialog.__createMultipartMail" id="EmailDialog.__createMultipartMail" ref="eric5.UI.EmailDialog.html#EmailDialog.__createMultipartMail" /> <keyword name="EmailDialog.__createSimpleMail" id="EmailDialog.__createSimpleMail" ref="eric5.UI.EmailDialog.html#EmailDialog.__createSimpleMail" /> @@ -4536,6 +4535,7 @@ <keyword name="CreateDialogCodeDialog.__className" id="CreateDialogCodeDialog.__className" ref="eric5.Project.CreateDialogCodeDialog.html#CreateDialogCodeDialog.__className" /> <keyword name="CreateDialogCodeDialog.__generateCode" id="CreateDialogCodeDialog.__generateCode" ref="eric5.Project.CreateDialogCodeDialog.html#CreateDialogCodeDialog.__generateCode" /> <keyword name="CreateDialogCodeDialog.__generatePythonCode" id="CreateDialogCodeDialog.__generatePythonCode" ref="eric5.Project.CreateDialogCodeDialog.html#CreateDialogCodeDialog.__generatePythonCode" /> + <keyword name="CreateDialogCodeDialog.__mapType" id="CreateDialogCodeDialog.__mapType" ref="eric5.Project.CreateDialogCodeDialog.html#CreateDialogCodeDialog.__mapType" /> <keyword name="CreateDialogCodeDialog.__objectName" id="CreateDialogCodeDialog.__objectName" ref="eric5.Project.CreateDialogCodeDialog.html#CreateDialogCodeDialog.__objectName" /> <keyword name="CreateDialogCodeDialog.__signatures" id="CreateDialogCodeDialog.__signatures" ref="eric5.Project.CreateDialogCodeDialog.html#CreateDialogCodeDialog.__signatures" /> <keyword name="CreateDialogCodeDialog.__updateSlotsModel" id="CreateDialogCodeDialog.__updateSlotsModel" ref="eric5.Project.CreateDialogCodeDialog.html#CreateDialogCodeDialog.__updateSlotsModel" /> @@ -8844,7 +8844,6 @@ <file>eric5.DebugClients.Python.DebugThread.html</file> <file>eric5.DebugClients.Python.FlexCompleter.html</file> <file>eric5.DebugClients.Python.PyProfile.html</file> - <file>eric5.DebugClients.Python.eric4dbgstub.html</file> <file>eric5.DebugClients.Python.eric5dbgstub.html</file> <file>eric5.DebugClients.Python.getpass.html</file> <file>eric5.DebugClients.Python3.AsyncFile.html</file> @@ -8860,7 +8859,6 @@ <file>eric5.DebugClients.Python3.DebugThread.html</file> <file>eric5.DebugClients.Python3.FlexCompleter.html</file> <file>eric5.DebugClients.Python3.PyProfile.html</file> - <file>eric5.DebugClients.Python3.eric4dbgstub.html</file> <file>eric5.DebugClients.Python3.eric5dbgstub.html</file> <file>eric5.DebugClients.Python3.getpass.html</file> <file>eric5.DebugClients.Ruby.AsyncFile.html</file>
--- a/Documentation/Source/eric5.E4XML.XMLHandlerBase.html Fri Jan 08 19:14:19 2010 +0000 +++ b/Documentation/Source/eric5.E4XML.XMLHandlerBase.html Sat Jan 09 19:43:36 2010 +0000 @@ -93,9 +93,6 @@ <td><a href="#XMLHandlerBase.endList">endList</a></td> <td>Handler method for the "list" end tag.</td> </tr><tr> -<td><a href="#XMLHandlerBase.endLong">endLong</a></td> -<td>Handler method for the "long" end tag.</td> -</tr><tr> <td><a href="#XMLHandlerBase.endNone">endNone</a></td> <td>Handler method for the "none" end tag.</td> </tr><tr> @@ -108,9 +105,6 @@ <td><a href="#XMLHandlerBase.endTuple">endTuple</a></td> <td>Handler method for the "tuple" end tag.</td> </tr><tr> -<td><a href="#XMLHandlerBase.endUnicode">endUnicode</a></td> -<td>Handler method for the "unicode" end tag.</td> -</tr><tr> <td><a href="#XMLHandlerBase.startDictionary">startDictionary</a></td> <td>Handler method for the "dictionary" start tag.</td> </tr><tr> @@ -221,11 +215,6 @@ <b>endList</b>(<i></i>) <p> Handler method for the "list" end tag. -</p><a NAME="XMLHandlerBase.endLong" ID="XMLHandlerBase.endLong"></a> -<h4>XMLHandlerBase.endLong</h4> -<b>endLong</b>(<i></i>) -<p> - Handler method for the "long" end tag. </p><a NAME="XMLHandlerBase.endNone" ID="XMLHandlerBase.endNone"></a> <h4>XMLHandlerBase.endNone</h4> <b>endNone</b>(<i></i>) @@ -246,11 +235,6 @@ <b>endTuple</b>(<i></i>) <p> Handler method for the "tuple" end tag. -</p><a NAME="XMLHandlerBase.endUnicode" ID="XMLHandlerBase.endUnicode"></a> -<h4>XMLHandlerBase.endUnicode</h4> -<b>endUnicode</b>(<i></i>) -<p> - Handler method for the "unicode" end tag. </p><a NAME="XMLHandlerBase.startDictionary" ID="XMLHandlerBase.startDictionary"></a> <h4>XMLHandlerBase.startDictionary</h4> <b>startDictionary</b>(<i>attrs</i>)
--- a/Documentation/Source/eric5.Helpviewer.AdBlock.AdBlockDialog.html Fri Jan 08 19:14:19 2010 +0000 +++ b/Documentation/Source/eric5.Helpviewer.AdBlock.AdBlockDialog.html Sat Jan 09 19:43:36 2010 +0000 @@ -114,7 +114,7 @@ Private slot to update the selected subscription. </p><a NAME="AdBlockDialog.addCustomRule" ID="AdBlockDialog.addCustomRule"></a> <h4>AdBlockDialog.addCustomRule</h4> -<b>addCustomRule</b>(<i>rule</i>) +<b>addCustomRule</b>(<i>rule = ""</i>) <p> Public slot to add a custom AdBlock rule. </p><dl>
--- a/Documentation/Source/eric5.Project.CreateDialogCodeDialog.html Fri Jan 08 19:14:19 2010 +0000 +++ b/Documentation/Source/eric5.Project.CreateDialogCodeDialog.html Sat Jan 09 19:43:36 2010 +0000 @@ -66,6 +66,9 @@ <td><a href="#CreateDialogCodeDialog.__generatePythonCode">__generatePythonCode</a></td> <td>Private slot to generate Python code as requested by the user.</td> </tr><tr> +<td><a href="#CreateDialogCodeDialog.__mapType">__mapType</a></td> +<td>Private method to map a type as reported by Qt's meta object to the correct Python type.</td> +</tr><tr> <td><a href="#CreateDialogCodeDialog.__objectName">__objectName</a></td> <td>Private method to get the object name of the dialog.</td> </tr><tr> @@ -130,7 +133,23 @@ <b>__generatePythonCode</b>(<i></i>) <p> Private slot to generate Python code as requested by the user. -</p><a NAME="CreateDialogCodeDialog.__objectName" ID="CreateDialogCodeDialog.__objectName"></a> +</p><a NAME="CreateDialogCodeDialog.__mapType" ID="CreateDialogCodeDialog.__mapType"></a> +<h4>CreateDialogCodeDialog.__mapType</h4> +<b>__mapType</b>(<i>type_</i>) +<p> + Private method to map a type as reported by Qt's meta object to the + correct Python type. +</p><dl> +<dt><i>type_</i></dt> +<dd> +type as reported by Qt (QByteArray) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +mapped Python type (string) +</dd> +</dl><a NAME="CreateDialogCodeDialog.__objectName" ID="CreateDialogCodeDialog.__objectName"></a> <h4>CreateDialogCodeDialog.__objectName</h4> <b>__objectName</b>(<i></i>) <p>
--- a/Documentation/Source/eric5.UI.EmailDialog.html Fri Jan 08 19:14:19 2010 +0000 +++ b/Documentation/Source/eric5.UI.EmailDialog.html Sat Jan 09 19:43:36 2010 +0000 @@ -37,7 +37,10 @@ </table> <h3>Functions</h3> <table> -<tr><td>None</td></tr> +<tr> +<td><a href="#_encode_base64">_encode_base64</a></td> +<td>Encode the message's payload in Base64.</td> +</tr> </table> <hr /><hr /> <a NAME="EmailDialog" ID="EmailDialog"></a> @@ -218,5 +221,15 @@ </dd> </dl> <div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="_encode_base64" ID="_encode_base64"></a> +<h2>_encode_base64</h2> +<b>_encode_base64</b>(<i>msg</i>) +<p> +Encode the message's payload in Base64. +</p><p> + Also, add an appropriate Content-Transfer-Encoding header. +</p> +<div align="right"><a href="#top">Up</a></div> <hr /> </body></html> \ No newline at end of file
--- a/E4XML/XMLHandlerBase.py Fri Jan 08 19:14:19 2010 +0000 +++ b/E4XML/XMLHandlerBase.py Sat Jan 09 19:43:36 2010 +0000 @@ -23,19 +23,21 @@ """ self.startDocumentSpecific = None + # TODO: add support for bytes, bytearray, set, frozenset self.elements = { 'none' : (self.defaultStartElement, self.endNone), 'int' : (self.defaultStartElement, self.endInt), - 'long' : (self.defaultStartElement, self.endLong), 'float' : (self.defaultStartElement, self.endFloat), 'complex' : (self.defaultStartElement, self.endComplex), 'bool' : (self.defaultStartElement, self.endBool), 'string' : (self.defaultStartElement, self.endString), - 'unicode' : (self.defaultStartElement, self.endUnicode), 'tuple' : (self.startTuple, self.endTuple), 'list' : (self.startList, self.endList), 'dict' : (self.startDictionary, self.endDictionary), 'pickle' : (self.startPickle, self.endPickle), + # for backward compatibility + 'long' : (self.defaultStartElement, self.endInt), + 'unicode' : (self.defaultStartElement, self.endString), } self.buffer = "" @@ -152,12 +154,6 @@ """ self.stack.append(int(self.buffer.strip())) - def endLong(self): - """ - Handler method for the "long" end tag. - """ - self.stack.append(int(self.buffer.strip())) - def endBool(self): """ Handler method for the "bool" end tag. @@ -187,13 +183,13 @@ s = str(self.utf8_to_code(self.unescape(self.buffer))) self.stack.append(s) - def endUnicode(self): - """ - Handler method for the "unicode" end tag. - """ - u = str(self.utf8_to_code(self.unescape(self.buffer))) - self.stack.append(u) - +## def endUnicode(self): +## """ +## Handler method for the "unicode" end tag. +## """ +## u = str(self.utf8_to_code(self.unescape(self.buffer))) +## self.stack.append(u) +## def startList(self, attrs): """ Handler method for the "list" start tag. @@ -269,4 +265,4 @@ Handler method for the "pickle" end tag. """ pic = self.utf8_to_code(self.buffer).decode(self.pickleEnc) - self.stack.append(pickle.loads(pic)) \ No newline at end of file + self.stack.append(pickle.loads(pic))
--- a/E4XML/XMLWriterBase.py Fri Jan 08 19:14:19 2010 +0000 +++ b/E4XML/XMLWriterBase.py Sat Jan 09 19:43:36 2010 +0000 @@ -33,7 +33,7 @@ type((1,)) : self._write_tuple, type([]) : self._write_list, type({}) : self._write_dictionary, - # TODO: add set + # TODO: add set, frozenset, bytes, bytearray } self.NEWPARA = chr(0x2029) @@ -114,15 +114,6 @@ """ self._write('%s<int>%s</int>' % (" " * indent, value)) - def _write_long(self, value, indent): - """ - Protected method to dump a LongType object. - - @param value value to be dumped (long) - @param indent indentation level for prettier output (integer) - """ - self._write('%s<long>%s</long>' % (" " * indent, value)) - def _write_bool(self, value, indent): """ Protected method to dump a BooleanType object. @@ -160,16 +151,6 @@ """ self._write('%s<string>%s</string>' % (" " * indent, self.escape(value))) - # TODO: add method for writing bytes - def _write_unicode(self, value, indent): - """ - Protected method to dump an UnicodeType object. - - @param value value to be dumped (unicode) - @param indent indentation level for prettier output (integer) - """ - self._write('%s<unicode>%s</unicode>' % (" " * indent, self.escape(value))) - def _write_tuple(self, value, indent): """ Protected method to dump a TupleType object. @@ -224,4 +205,4 @@ @param indent indentation level for prettier output (integer) """ self._write('%s<pickle method="pickle" encoding="base64">%s</pickle>' % \ - (" " * indent, pickle.dumps(value).encode('base64'))) \ No newline at end of file + (" " * indent, pickle.dumps(value).encode('base64')))
--- a/Examples/rhallo.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Examples/rhallo.py Sat Jan 09 19:43:36 2010 +0000 @@ -2,15 +2,15 @@ import sys -import eric4dbgstub +import eric5dbgstub def main(): print("Hello World!") sys.exit(0) if __name__ == "__main__": - if eric4dbgstub.initDebugger("standard"): -# or if eric4dbgstub.initDebugger("threads"): - eric4dbgstub.debugger.startDebugger() + if eric5dbgstub.initDebugger("standard"): +# or if eric5dbgstub.initDebugger("threads"): + eric5dbgstub.debugger.startDebugger() main()
--- a/Helpviewer/AdBlock/AdBlockDialog.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Helpviewer/AdBlock/AdBlockDialog.py Sat Jan 09 19:43:36 2010 +0000 @@ -99,7 +99,7 @@ self.__removeSubscription) act.setEnabled(idx.isValid()) - def addCustomRule(self, rule): + def addCustomRule(self, rule = ""): """ Public slot to add a custom AdBlock rule.
--- a/Helpviewer/AdBlock/AdBlockManager.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Helpviewer/AdBlock/AdBlockManager.py Sat Jan 09 19:43:36 2010 +0000 @@ -190,7 +190,7 @@ if not self.__loaded: return - Preferences.setHelp("AdBlockEnabled", int(self.__enabled)) + Preferences.setHelp("AdBlockEnabled", self.__enabled) subscriptions = [] for subscription in self.__subscriptions: if subscription is None: @@ -208,7 +208,7 @@ self.__loaded = True - self.__enabled = bool(Preferences.getHelp("AdBlockEnabled")) + self.__enabled = Preferences.getHelp("AdBlockEnabled") defaultSubscriptions = [] defaultSubscriptions.append( @@ -220,7 +220,7 @@ if len(subscriptions) == 0: subscriptions = defaultSubscriptions for subscription in subscriptions: - url = QUrl.fromEncoded(subscription) + url = QUrl.fromEncoded(subscription.encode()) adBlockSubscription = AdBlockSubscription(url, self) self.connect(adBlockSubscription, SIGNAL("rulesChanged()"), self, SIGNAL("rulesChanged()"))
--- a/Helpviewer/AdBlock/AdBlockSubscription.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Helpviewer/AdBlock/AdBlockSubscription.py Sat Jan 09 19:43:36 2010 +0000 @@ -87,9 +87,9 @@ url.setPath("subscribe") queryItems = [] - queryItems.append(("location", str(self.__location))) + queryItems.append(("location", bytes(self.__location).decode())) queryItems.append(("title", self.__title)) - if self.__enabled: + if not self.__enabled: queryItems.append(("enabled", "false")) if self.__lastUpdate.isValid(): queryItems.append(("lastUpdate",
--- a/Helpviewer/DownloadDialog.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Helpviewer/DownloadDialog.py Sat Jan 09 19:43:36 2010 +0000 @@ -157,7 +157,7 @@ """ path = "" if self.__reply.hasRawHeader("Content-Disposition"): - header = str(self.__reply.rawHeader("Content-Disposition")) + header = bytes(self.__reply.rawHeader("Content-Disposition")).decode() if header: pos = header.find("filename=") if pos != -1:
--- a/Helpviewer/DownloadDialog.ui Fri Jan 08 19:14:19 2010 +0000 +++ b/Helpviewer/DownloadDialog.ui Sat Jan 09 19:43:36 2010 +0000 @@ -1,7 +1,8 @@ -<ui version="4.0" > +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> <class>DownloadDialog</class> - <widget class="QWidget" name="DownloadDialog" > - <property name="geometry" > + <widget class="QWidget" name="DownloadDialog"> + <property name="geometry"> <rect> <x>0</x> <y>0</y> @@ -9,34 +10,34 @@ <height>148</height> </rect> </property> - <property name="windowTitle" > - <string>Eric4 Download</string> + <property name="windowTitle"> + <string>Eric5 Download</string> </property> - <layout class="QVBoxLayout" name="verticalLayout_2" > + <layout class="QVBoxLayout" name="verticalLayout_2"> <item> - <layout class="QHBoxLayout" name="horizontalLayout" > + <layout class="QHBoxLayout" name="horizontalLayout"> <item> - <widget class="QLabel" name="fileIcon" > - <property name="text" > + <widget class="QLabel" name="fileIcon"> + <property name="text"> <string>Icon</string> </property> </widget> </item> <item> - <layout class="QVBoxLayout" name="verticalLayout" > + <layout class="QVBoxLayout" name="verticalLayout"> <item> - <widget class="QLabel" name="filenameLabel" > - <property name="text" > + <widget class="QLabel" name="filenameLabel"> + <property name="text"> <string>Filename</string> </property> </widget> </item> <item> - <widget class="QProgressBar" name="progressBar" /> + <widget class="QProgressBar" name="progressBar"/> </item> <item> - <widget class="QLabel" name="infoLabel" > - <property name="text" > + <widget class="QLabel" name="infoLabel"> + <property name="text"> <string>Info</string> </property> </widget> @@ -46,18 +47,18 @@ </layout> </item> <item> - <widget class="QCheckBox" name="keepOpenCheckBox" > - <property name="toolTip" > + <widget class="QCheckBox" name="keepOpenCheckBox"> + <property name="toolTip"> <string>Select to keep the dialog open when finished</string> </property> - <property name="text" > + <property name="text"> <string>Keep open when finished</string> </property> </widget> </item> <item> - <widget class="QDialogButtonBox" name="buttonBox" > - <property name="standardButtons" > + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="standardButtons"> <set>QDialogButtonBox::Close|QDialogButtonBox::Open</set> </property> </widget>
--- a/Helpviewer/OpenSearch/OpenSearchEngine.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Helpviewer/OpenSearch/OpenSearchEngine.py Sat Jan 09 19:43:36 2010 +0000 @@ -352,7 +352,7 @@ imageBuffer.open(QIODevice.ReadWrite) if image.save(imageBuffer, "PNG"): self._imageUrl = "data:image/png;base64,{0}"\ - .format(str(imageBuffer.buffer().toBase64())) + .format(bytes(imageBuffer.buffer().toBase64()).decode()) self.__image = QImage(image) self.emit(SIGNAL("imageChanged()"))
--- a/Helpviewer/Passwords/PasswordManager.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Helpviewer/Passwords/PasswordManager.py Sat Jan 09 19:43:36 2010 +0000 @@ -492,8 +492,8 @@ """ args = set() - dataStr = str(data) - boundaryStr = str(boundary) + dataStr = bytes(data).decode() + boundaryStr = bytes(boundary).decode() parts = dataStr.split(boundaryStr + "\r\n") for part in parts:
--- a/IconEditor/IconEditorWindow.py Fri Jan 08 19:14:19 2010 +0000 +++ b/IconEditor/IconEditorWindow.py Sat Jan 09 19:43:36 2010 +0000 @@ -128,7 +128,7 @@ readFormats = QImageReader.supportedImageFormats() for readFormat in readFormats: try: - inputFormats.append(filters[str(readFormat)]) + inputFormats.append(filters[bytes(readFormat).decode()]) except KeyError: pass inputFormats.sort() @@ -139,7 +139,7 @@ writeFormats = QImageWriter.supportedImageFormats() for writeFormat in writeFormats: try: - outputFormats.append(filters[str(writeFormat)]) + outputFormats.append(filters[bytes(writeFormat).decode()]) except KeyError: pass outputFormats.sort() @@ -1246,4 +1246,4 @@ """ Private slot called in to enter Whats This mode. """ - QWhatsThis.enterWhatsThisMode() \ No newline at end of file + QWhatsThis.enterWhatsThisMode()
--- a/Plugins/VcsPlugins/vcsPySvn/SvnLogDialog.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Plugins/VcsPlugins/vcsPySvn/SvnLogDialog.py Sat Jan 09 19:43:36 2010 +0000 @@ -215,7 +215,7 @@ if Utilities.isWindowsPlatform(): if filename.startswith("/"): filename = filename[1:] - ver = str(url.encodedQuery()) + ver = bytes(url.encodedQuery()).decode() v1 = ver.split('_')[0] v2 = ver.split('_')[1] if not v1 or not v2:
--- a/Plugins/VcsPlugins/vcsSubversion/SvnLogDialog.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Plugins/VcsPlugins/vcsSubversion/SvnLogDialog.py Sat Jan 09 19:43:36 2010 +0000 @@ -261,7 +261,7 @@ if Utilities.isWindowsPlatform(): if filename.startswith("/"): filename = filename[1:] - ver = str(url.encodedQuery()) + ver = bytes(url.encodedQuery()).decode() v1 = ver.split('_')[0] v2 = ver.split('_')[1] if v1 == "" or v2 == "":
--- a/Plugins/VcsPlugins/vcsSubversion/SvnStatusMonitorThread.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Plugins/VcsPlugins/vcsSubversion/SvnStatusMonitorThread.py Sat Jan 09 19:43:36 2010 +0000 @@ -75,10 +75,10 @@ states = {} for line in output.splitlines(): if self.rx_status1.exactMatch(line): - flags = str(self.rx_status1.cap(1)) + flags = self.rx_status1.cap(1) path = self.rx_status1.cap(3).strip() elif self.rx_status2.exactMatch(line): - flags = str(self.rx_status2.cap(1)) + flags = self.rx_status2.cap(1) path = self.rx_status2.cap(5).strip() else: continue
--- a/Plugins/VcsPlugins/vcsSubversion/subversion.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Plugins/VcsPlugins/vcsSubversion/subversion.py Sat Jan 09 19:43:36 2010 +0000 @@ -717,8 +717,6 @@ args.append('--message') args.append('Moving {0} to {1}'.format(name, target)) target = self.__svnURL(target) - else: - target = str(target) args.append(name) args.append(target) @@ -1087,10 +1085,10 @@ str(process.readAllStandardOutput(), ioEncoding, 'replace') for line in output.splitlines(): if self.rx_status1.exactMatch(line): - flags = str(self.rx_status1.cap(1)) + flags = self.rx_status1.cap(1) path = self.rx_status1.cap(5).strip() elif self.rx_status2.exactMatch(line): - flags = str(self.rx_status2.cap(1)) + flags = self.rx_status2.cap(1) path = self.rx_status2.cap(2).strip() else: continue @@ -1820,4 +1818,4 @@ @param interval check interval for the monitor thread in seconds (integer) @return reference to the monitor thread (QThread) """ - return SvnStatusMonitorThread(interval, project.ppath, self) \ No newline at end of file + return SvnStatusMonitorThread(interval, project.ppath, self)
--- a/Plugins/WizardPlugins/ColorDialogWizard/ColorDialogWizardDialog.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Plugins/WizardPlugins/ColorDialogWizard/ColorDialogWizardDialog.py Sat Jan 09 19:43:36 2010 +0000 @@ -140,7 +140,7 @@ if self.rColor.isChecked(): code += 'getColor(' if self.eColor.currentText(): - col = str(self.eColor.currentText()) + col = self.eColor.currentText() if col.startswith('#'): code += 'QColor("%s")' % col else: @@ -176,7 +176,7 @@ (self.sRed.value(), self.sGreen.value(), self.sBlue.value(), self.sAlpha.value()) else: - code += str(self.eRGB.text()) + code += self.eRGB.text() code += ')%s' % os.linesep return code
--- a/Preferences/ConfigurationPages/DebuggerPython3Page.ui Fri Jan 08 19:14:19 2010 +0000 +++ b/Preferences/ConfigurationPages/DebuggerPython3Page.ui Sat Jan 09 19:43:36 2010 +0000 @@ -158,7 +158,7 @@ <item> <widget class="QCheckBox" name="pyRedirectCheckBox"> <property name="toolTip"> - <string>Select, to redirect stdin, stdout and stderr of the program being debugged to the eric4 IDE</string> + <string>Select, to redirect stdin, stdout and stderr of the program being debugged to the eric5 IDE</string> </property> <property name="text"> <string>Redirect stdin/stdout/stderr</string>
--- a/Preferences/ConfigurationPages/DebuggerPythonPage.ui Fri Jan 08 19:14:19 2010 +0000 +++ b/Preferences/ConfigurationPages/DebuggerPythonPage.ui Sat Jan 09 19:43:36 2010 +0000 @@ -148,7 +148,7 @@ <item> <widget class="QCheckBox" name="pyRedirectCheckBox"> <property name="toolTip"> - <string>Select, to redirect stdin, stdout and stderr of the program being debugged to the eric4 IDE</string> + <string>Select, to redirect stdin, stdout and stderr of the program being debugged to the eric5 IDE</string> </property> <property name="text"> <string>Redirect stdin/stdout/stderr</string>
--- a/Preferences/ConfigurationPages/DebuggerRubyPage.ui Fri Jan 08 19:14:19 2010 +0000 +++ b/Preferences/ConfigurationPages/DebuggerRubyPage.ui Sat Jan 09 19:43:36 2010 +0000 @@ -1,7 +1,8 @@ -<ui version="4.0" > +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> <class>DebuggerRubyPage</class> - <widget class="QWidget" name="DebuggerRubyPage" > - <property name="geometry" > + <widget class="QWidget" name="DebuggerRubyPage"> + <property name="geometry"> <rect> <x>0</x> <y>0</y> @@ -9,46 +10,46 @@ <height>170</height> </rect> </property> - <layout class="QVBoxLayout" > + <layout class="QVBoxLayout"> <item> - <widget class="QLabel" name="headerLabel" > - <property name="text" > - <string><b>Configure Ruby Debugger</b></string> + <widget class="QLabel" name="headerLabel"> + <property name="text"> + <string><b>Configure Ruby Debugger</b></string> </property> </widget> </item> <item> - <widget class="Line" name="line11_2_2" > - <property name="frameShape" > + <widget class="Line" name="line11_2_2"> + <property name="frameShape"> <enum>QFrame::HLine</enum> </property> - <property name="frameShadow" > + <property name="frameShadow"> <enum>QFrame::Sunken</enum> </property> - <property name="orientation" > + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> </widget> </item> <item> - <widget class="QGroupBox" name="groupBox" > - <property name="title" > + <widget class="QGroupBox" name="groupBox"> + <property name="title"> <string>Ruby Interpreter for Debug Client</string> </property> - <layout class="QHBoxLayout" > + <layout class="QHBoxLayout"> <item> - <widget class="QLineEdit" name="rubyInterpreterEdit" > - <property name="toolTip" > + <widget class="QLineEdit" name="rubyInterpreterEdit"> + <property name="toolTip"> <string>Enter the path of the Ruby interpreter to be used by the debug client.</string> </property> </widget> </item> <item> - <widget class="QPushButton" name="rubyInterpreterButton" > - <property name="toolTip" > + <widget class="QPushButton" name="rubyInterpreterButton"> + <property name="toolTip"> <string>Press to select the Ruby interpreter via a file selection dialog</string> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> </widget> @@ -57,21 +58,21 @@ </widget> </item> <item> - <widget class="QCheckBox" name="rbRedirectCheckBox" > - <property name="toolTip" > - <string>Select, to redirect stdin, stdout and stderr of the program being debugged to the eric4 IDE</string> + <widget class="QCheckBox" name="rbRedirectCheckBox"> + <property name="toolTip"> + <string>Select, to redirect stdin, stdout and stderr of the program being debugged to the eric5 IDE</string> </property> - <property name="text" > + <property name="text"> <string>Redirect stdin/stdout/stderr</string> </property> </widget> </item> <item> <spacer> - <property name="orientation" > + <property name="orientation"> <enum>Qt::Vertical</enum> </property> - <property name="sizeHint" stdset="0" > + <property name="sizeHint" stdset="0"> <size> <width>20</width> <height>40</height>
--- a/Preferences/__init__.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Preferences/__init__.py Sat Jan 09 19:43:36 2010 +0000 @@ -1102,7 +1102,7 @@ @param prefClass preferences class used as the storage area """ if key == "ViewProfiles": - prefClass.settings.setValue("UI/" + key, value)#str(value)) + prefClass.settings.setValue("UI/" + key, value) elif key == "LogStdErrColour": prefClass.settings.setValue("UI/" + key, value.name()) elif key == "ProxyPassword":
--- a/Project/CreateDialogCodeDialog.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Project/CreateDialogCodeDialog.py Sat Jan 09 19:43:36 2010 +0000 @@ -157,13 +157,37 @@ for meth in list(cls.methods.values()): if meth.name.startswith("on_"): if meth.pyqtSignature is not None: - sig = ", ".join([str(QMetaObject.normalizedType(t)) \ + sig = ", ".join([bytes(QMetaObject.normalizedType(t)).decode() \ for t in meth.pyqtSignature.split(",")]) signatures.append("%s(%s)" % (meth.name, sig)) else: signatures.append(meth.name) return signatures + def __mapType(self, type_): + """ + Private method to map a type as reported by Qt's meta object to the + correct Python type. + + @param type_ type as reported by Qt (QByteArray) + @return mapped Python type (string) + """ + mapped = bytes(type_).decode() + + # 1. check for const + mapped = mapped.replace("const ", "") + + # 2. check fpr * + mapped = mapped.replace("*", "") + + # 3. replace QString and QStringList + mapped = mapped.replace("QStringList", "list").replace("QString", "str") + + # 4. replace double by float + mapped = mapped.replace("double", "float") + + return mapped + def __updateSlotsModel(self): """ Private slot to update the slots tree display. @@ -206,7 +230,8 @@ continue pyqtSignature = \ - ", ".join([str(t) for t in metaMethod.parameterTypes()]) + ", ".join([self.__mapType(t) + for t in metaMethod.parameterTypes()]) parameterNames = metaMethod.parameterNames() if parameterNames: @@ -214,7 +239,7 @@ if not parameterNames[index]: parameterNames[index] = QByteArray("p%d" % index) methNamesSig = \ - ", ".join([str(n) for n in parameterNames]) + ", ".join([bytes(n).decode() for n in parameterNames]) if methNamesSig: pythonSignature = "on_%s_%s(self, %s)" % \ @@ -350,7 +375,6 @@ if child.checkState() and \ child.flags() & Qt.ItemFlags(Qt.ItemIsUserCheckable): slotsCode.append('%s\n' % indentStr) - # TODO: adjust to new signal/slot mechanism slotsCode.append('%s@pyqtSlot(%s)\n' % \ (indentStr, child.data(pyqtSignatureRole))) slotsCode.append('%sdef %s:\n' % \ @@ -438,4 +462,4 @@ """ if button == self.okButton: self.__generateCode() - self.accept() \ No newline at end of file + self.accept()
--- a/Project/DebuggerPropertiesDialog.ui Fri Jan 08 19:14:19 2010 +0000 +++ b/Project/DebuggerPropertiesDialog.ui Sat Jan 09 19:43:36 2010 +0000 @@ -1,40 +1,41 @@ -<ui version="4.0" > +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> <class>DebuggerPropertiesDialog</class> - <widget class="QDialog" name="DebuggerPropertiesDialog" > - <property name="geometry" > + <widget class="QDialog" name="DebuggerPropertiesDialog"> + <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>592</width> - <height>589</height> + <height>592</height> </rect> </property> - <property name="windowTitle" > + <property name="windowTitle"> <string>Debugger Properties</string> </property> - <property name="sizeGripEnabled" > + <property name="sizeGripEnabled"> <bool>true</bool> </property> - <layout class="QVBoxLayout" name="_2" > + <layout class="QVBoxLayout" name="_2"> <item> - <widget class="QGroupBox" name="groupBox" > - <property name="title" > + <widget class="QGroupBox" name="groupBox"> + <property name="title"> <string>Debug Client</string> </property> - <layout class="QHBoxLayout" name="_4" > + <layout class="QHBoxLayout" name="_4"> <item> - <widget class="QLineEdit" name="debugClientEdit" > - <property name="toolTip" > + <widget class="QLineEdit" name="debugClientEdit"> + <property name="toolTip"> <string>Enter the path of the Debug Client to be used. Leave empty to use the default.</string> </property> </widget> </item> <item> - <widget class="QPushButton" name="debugClientButton" > - <property name="toolTip" > + <widget class="QPushButton" name="debugClientButton"> + <property name="toolTip"> <string>Press to select the Debug Client via a file selection dialog</string> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> </widget> @@ -43,24 +44,24 @@ </widget> </item> <item> - <widget class="QGroupBox" name="groupBox_2" > - <property name="title" > + <widget class="QGroupBox" name="groupBox_2"> + <property name="title"> <string>Interpreter for Debug Client</string> </property> - <layout class="QHBoxLayout" name="_5" > + <layout class="QHBoxLayout" name="_5"> <item> - <widget class="QLineEdit" name="interpreterEdit" > - <property name="toolTip" > + <widget class="QLineEdit" name="interpreterEdit"> + <property name="toolTip"> <string>Enter the path of the interpreter to be used by the debug client.</string> </property> </widget> </item> <item> - <widget class="QPushButton" name="interpreterButton" > - <property name="toolTip" > + <widget class="QPushButton" name="interpreterButton"> + <property name="toolTip"> <string>Press to select the interpreter via a file selection dialog</string> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> </widget> @@ -69,36 +70,36 @@ </widget> </item> <item> - <widget class="QGroupBox" name="groupBox_3" > - <property name="title" > + <widget class="QGroupBox" name="groupBox_3"> + <property name="title"> <string>Environment for Debug Client</string> </property> - <layout class="QGridLayout" name="_6" > - <item row="0" column="0" colspan="2" > - <widget class="QCheckBox" name="debugEnvironmentOverrideCheckBox" > - <property name="toolTip" > + <layout class="QGridLayout" name="_6"> + <item row="0" column="0" colspan="2"> + <widget class="QCheckBox" name="debugEnvironmentOverrideCheckBox"> + <property name="toolTip"> <string>Select, if the environment of the debug client should be replaced</string> </property> - <property name="text" > + <property name="text"> <string>Replace Environment</string> </property> </widget> </item> - <item row="1" column="1" > - <widget class="QLineEdit" name="debugEnvironmentEdit" > - <property name="toolTip" > + <item row="1" column="1"> + <widget class="QLineEdit" name="debugEnvironmentEdit"> + <property name="toolTip"> <string>Enter the environment variables to be set.</string> </property> - <property name="whatsThis" > - <string><b>Environment</b> -<p>Enter the environment variables to be set for the debugger. The individual settings must be separate by whitespace and be given in the form 'var=value'.</p> -<p>Example: var1=1 var2="hello world"</p></string> + <property name="whatsThis"> + <string><b>Environment</b> +<p>Enter the environment variables to be set for the debugger. The individual settings must be separate by whitespace and be given in the form 'var=value'.</p> +<p>Example: var1=1 var2="hello world"</p></string> </property> </widget> </item> - <item row="1" column="0" > - <widget class="QLabel" name="textLabel1_16" > - <property name="text" > + <item row="1" column="0"> + <widget class="QLabel" name="textLabel1_16"> + <property name="text"> <string>Environment:</string> </property> </widget> @@ -107,53 +108,53 @@ </widget> </item> <item> - <widget class="QGroupBox" name="remoteDebuggerGroup" > - <property name="toolTip" > + <widget class="QGroupBox" name="remoteDebuggerGroup"> + <property name="toolTip"> <string>Select, if the debugger should be run remotely</string> </property> - <property name="title" > + <property name="title"> <string>Remote Debugger</string> </property> - <property name="checkable" > + <property name="checkable"> <bool>true</bool> </property> - <layout class="QGridLayout" name="_7" > - <item row="2" column="0" colspan="2" > - <widget class="QGroupBox" name="pathTranslationGroup" > - <property name="toolTip" > + <layout class="QGridLayout" name="_7"> + <item row="2" column="0" colspan="2"> + <widget class="QGroupBox" name="pathTranslationGroup"> + <property name="toolTip"> <string>Select, if path translation for remote debugging should be done</string> </property> - <property name="title" > + <property name="title"> <string>Perform Path Translation</string> </property> - <property name="checkable" > + <property name="checkable"> <bool>true</bool> </property> - <layout class="QGridLayout" > - <item row="1" column="0" > - <widget class="QLabel" name="textLabel2_9" > - <property name="text" > + <layout class="QGridLayout"> + <item row="1" column="0"> + <widget class="QLabel" name="textLabel2_9"> + <property name="text"> <string>Local Path:</string> </property> </widget> </item> - <item row="1" column="1" > - <widget class="QLineEdit" name="translationLocalEdit" > - <property name="toolTip" > + <item row="1" column="1"> + <widget class="QLineEdit" name="translationLocalEdit"> + <property name="toolTip"> <string>Enter the local path</string> </property> </widget> </item> - <item row="0" column="1" > - <widget class="QLineEdit" name="translationRemoteEdit" > - <property name="toolTip" > + <item row="0" column="1"> + <widget class="QLineEdit" name="translationRemoteEdit"> + <property name="toolTip"> <string>Enter the remote path</string> </property> </widget> </item> - <item row="0" column="0" > - <widget class="QLabel" name="textLabel1_18" > - <property name="text" > + <item row="0" column="0"> + <widget class="QLabel" name="textLabel1_18"> + <property name="text"> <string>Remote Path:</string> </property> </widget> @@ -161,39 +162,39 @@ </layout> </widget> </item> - <item row="0" column="0" > - <widget class="QLabel" name="hostLabel" > - <property name="text" > + <item row="0" column="0"> + <widget class="QLabel" name="hostLabel"> + <property name="text"> <string>Remote Host:</string> </property> </widget> </item> - <item row="1" column="1" > - <widget class="QLineEdit" name="remoteCommandEdit" > - <property name="toolTip" > + <item row="1" column="1"> + <widget class="QLineEdit" name="remoteCommandEdit"> + <property name="toolTip"> <string>Enter the remote execution command.</string> </property> - <property name="whatsThis" > - <string><b>Remote Execution</b> -<p>Enter the remote execution command (e.g. ssh). This command is used to log into the remote host and execute the remote debugger.</p></string> + <property name="whatsThis"> + <string><b>Remote Execution</b> +<p>Enter the remote execution command (e.g. ssh). This command is used to log into the remote host and execute the remote debugger.</p></string> </property> </widget> </item> - <item row="1" column="0" > - <widget class="QLabel" name="execLabel" > - <property name="text" > + <item row="1" column="0"> + <widget class="QLabel" name="execLabel"> + <property name="text"> <string>Remote Execution:</string> </property> </widget> </item> - <item row="0" column="1" > - <widget class="QLineEdit" name="remoteHostEdit" > - <property name="toolTip" > + <item row="0" column="1"> + <widget class="QLineEdit" name="remoteHostEdit"> + <property name="toolTip"> <string>Enter the hostname of the remote machine.</string> </property> - <property name="whatsThis" > - <string><b>Remote Host</b> -<p>Enter the hostname of the remote machine.</p></string> + <property name="whatsThis"> + <string><b>Remote Host</b> +<p>Enter the hostname of the remote machine.</p></string> </property> </widget> </item> @@ -201,32 +202,32 @@ </widget> </item> <item> - <widget class="QGroupBox" name="consoleDebuggerGroup" > - <property name="toolTip" > + <widget class="QGroupBox" name="consoleDebuggerGroup"> + <property name="toolTip"> <string>Select, if the debugger should be executed in a console window</string> </property> - <property name="title" > + <property name="title"> <string>Console Debugger</string> </property> - <property name="checkable" > + <property name="checkable"> <bool>true</bool> </property> - <layout class="QHBoxLayout" name="_3" > + <layout class="QHBoxLayout" name="_3"> <item> - <widget class="QLabel" name="textLabel1_17" > - <property name="text" > + <widget class="QLabel" name="textLabel1_17"> + <property name="text"> <string>Console Command:</string> </property> </widget> </item> <item> - <widget class="QLineEdit" name="consoleCommandEdit" > - <property name="toolTip" > + <widget class="QLineEdit" name="consoleCommandEdit"> + <property name="toolTip"> <string>Enter the console command (e.g. xterm -e)</string> </property> - <property name="whatsThis" > - <string><b>Console Command</b> -<p>Enter the console command (e.g. xterm -e). This command is used to open a command window for the debugger.</p></string> + <property name="whatsThis"> + <string><b>Console Command</b> +<p>Enter the console command (e.g. xterm -e). This command is used to open a command window for the debugger.</p></string> </property> </widget> </item> @@ -234,38 +235,38 @@ </widget> </item> <item> - <widget class="QCheckBox" name="redirectCheckBox" > - <property name="toolTip" > - <string>Select to redirect stdin, stdout and stderr of the program being debugged to the eric4 IDE</string> + <widget class="QCheckBox" name="redirectCheckBox"> + <property name="toolTip"> + <string>Select to redirect stdin, stdout and stderr of the program being debugged to the eric5 IDE</string> </property> - <property name="text" > + <property name="text"> <string>Redirect stdin/stdout/stderr</string> </property> </widget> </item> <item> - <widget class="QCheckBox" name="noEncodingCheckBox" > - <property name="toolTip" > + <widget class="QCheckBox" name="noEncodingCheckBox"> + <property name="toolTip"> <string>Select to not set the debug client encoding</string> </property> - <property name="text" > + <property name="text"> <string>Don't set the encoding of the debug client</string> </property> </widget> </item> <item> - <widget class="QDialogButtonBox" name="buttonBox" > - <property name="orientation" > + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> - <property name="standardButtons" > + <property name="standardButtons"> <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> </property> </widget> </item> </layout> </widget> - <layoutdefault spacing="6" margin="11" /> + <layoutdefault spacing="6" margin="11"/> <pixmapfunction>qPixmapFromMimeSource</pixmapfunction> <tabstops> <tabstop>debugClientEdit</tabstop> @@ -292,11 +293,11 @@ <receiver>DebuggerPropertiesDialog</receiver> <slot>accept()</slot> <hints> - <hint type="sourcelabel" > + <hint type="sourcelabel"> <x>84</x> <y>493</y> </hint> - <hint type="destinationlabel" > + <hint type="destinationlabel"> <x>84</x> <y>510</y> </hint> @@ -308,11 +309,11 @@ <receiver>DebuggerPropertiesDialog</receiver> <slot>reject()</slot> <hints> - <hint type="sourcelabel" > + <hint type="sourcelabel"> <x>212</x> <y>494</y> </hint> - <hint type="destinationlabel" > + <hint type="destinationlabel"> <x>212</x> <y>508</y> </hint>
--- a/Project/PropertiesDialog.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Project/PropertiesDialog.py Sat Jan 09 19:43:36 2010 +0000 @@ -112,6 +112,8 @@ self.trUtf8("The project is not version controlled.")) self.vcsInfoButton.hide() else: + self.languageComboBox.setCurrentIndex(\ + self.languageComboBox.findText("Python3")) self.projectTypeComboBox.setCurrentIndex(\ self.projectTypeComboBox.findText(projectTypes["Qt4"])) hp = os.getcwd()
--- a/Project/TranslationPropertiesDialog.ui Fri Jan 08 19:14:19 2010 +0000 +++ b/Project/TranslationPropertiesDialog.ui Sat Jan 09 19:43:36 2010 +0000 @@ -1,7 +1,8 @@ -<ui version="4.0" > +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> <class>TranslationPropertiesDialog</class> - <widget class="QDialog" name="TranslationPropertiesDialog" > - <property name="geometry" > + <widget class="QDialog" name="TranslationPropertiesDialog"> + <property name="geometry"> <rect> <x>0</x> <y>0</y> @@ -9,85 +10,85 @@ <height>543</height> </rect> </property> - <property name="windowTitle" > + <property name="windowTitle"> <string>Translation Properties</string> </property> - <property name="sizeGripEnabled" > + <property name="sizeGripEnabled"> <bool>true</bool> </property> - <layout class="QVBoxLayout" name="_2" > + <layout class="QVBoxLayout" name="_2"> <item> - <layout class="QGridLayout" name="_3" > - <item row="3" column="1" > - <widget class="QPushButton" name="transBinPathButton" > - <property name="toolTip" > + <layout class="QGridLayout" name="_3"> + <item row="3" column="1"> + <widget class="QPushButton" name="transBinPathButton"> + <property name="toolTip"> <string>Show directory selection dialog</string> </property> - <property name="whatsThis" > - <string><b>Binary Translations Path</b> -<p>Select the directory for the binary translations via a directory selection dialog.</p></string> + <property name="whatsThis"> + <string><b>Binary Translations Path</b> +<p>Select the directory for the binary translations via a directory selection dialog.</p></string> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> </widget> </item> - <item row="3" column="0" > - <widget class="QLineEdit" name="transBinPathEdit" > - <property name="toolTip" > + <item row="3" column="0"> + <widget class="QLineEdit" name="transBinPathEdit"> + <property name="toolTip"> <string>Enter the path for the binary translation files (*.qm)</string> </property> - <property name="whatsThis" > - <string><b>Binary Translations Path</b> -<p>Enter the directory for the binary translation files (*.qm). Leave it empty to store them together with the *.ts files.</p></string> + <property name="whatsThis"> + <string><b>Binary Translations Path</b> +<p>Enter the directory for the binary translation files (*.qm). Leave it empty to store them together with the *.ts files.</p></string> </property> </widget> </item> - <item row="1" column="1" > - <widget class="QPushButton" name="transPatternButton" > - <property name="toolTip" > + <item row="1" column="1"> + <widget class="QPushButton" name="transPatternButton"> + <property name="toolTip"> <string>Show directory selection dialog</string> </property> - <property name="whatsThis" > - <string><b>Translation Pattern</b> -<p>Select a translation file via a file selection dialog.</p></string> + <property name="whatsThis"> + <string><b>Translation Pattern</b> +<p>Select a translation file via a file selection dialog.</p></string> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> </widget> </item> - <item row="2" column="0" colspan="2" > - <widget class="QLabel" name="label" > - <property name="text" > + <item row="2" column="0" colspan="2"> + <widget class="QLabel" name="label"> + <property name="text"> <string>&Binary Translations Path:</string> </property> - <property name="buddy" > + <property name="buddy"> <cstring>transBinPathEdit</cstring> </property> </widget> </item> - <item row="1" column="0" > - <widget class="QLineEdit" name="transPatternEdit" > - <property name="toolTip" > + <item row="1" column="0"> + <widget class="QLineEdit" name="transPatternEdit"> + <property name="toolTip"> <string>Enter the path pattern for the translation files</string> </property> - <property name="whatsThis" > - <string><b>Translation Pattern</b> -<p>Enter the path pattern for the translation files using %language% at the place of the language code (e.g. /path_to_eric/i18n/eric4_%language%.ts). This will result in translation files like /path_to_eric/i18n/eric_de.ts.</p></string> + <property name="whatsThis"> + <string><b>Translation Pattern</b> +<p>Enter the path pattern for the translation files using %language% at the place of the language code (e.g. /path_to_eric/i18n/eric5_%language%.ts). This will result in translation files like /path_to_eric/i18n/eric5_de.ts.</p></string> </property> </widget> </item> - <item row="0" column="0" colspan="2" > - <widget class="QLabel" name="textLabel1_3" > - <property name="text" > + <item row="0" column="0" colspan="2"> + <widget class="QLabel" name="textLabel1_3"> + <property name="text"> <string>&Translation Path Pattern: -(Use '%language%' where the language code should be inserted, e.g. i18n/eric4_%language%.ts)</string> +(Use '%language%' where the language code should be inserted, e.g. i18n/eric5_%language%.ts)</string> </property> - <property name="wordWrap" > + <property name="wordWrap"> <bool>true</bool> </property> - <property name="buddy" > + <property name="buddy"> <cstring>transPatternEdit</cstring> </property> </widget> @@ -95,73 +96,73 @@ </layout> </item> <item> - <widget class="QGroupBox" name="exceptionsGroup" > - <property name="title" > + <widget class="QGroupBox" name="exceptionsGroup"> + <property name="title"> <string>Exclude from translation</string> </property> - <layout class="QGridLayout" name="_4" > - <item row="2" column="3" > - <widget class="QPushButton" name="exceptDirButton" > - <property name="toolTip" > + <layout class="QGridLayout" name="_4"> + <item row="2" column="3"> + <widget class="QPushButton" name="exceptDirButton"> + <property name="toolTip"> <string>Press to select a directory via a selection dialog</string> </property> - <property name="text" > + <property name="text"> <string>Select d&irectory...</string> </property> </widget> </item> - <item row="2" column="2" > - <widget class="QPushButton" name="exceptFileButton" > - <property name="toolTip" > + <item row="2" column="2"> + <widget class="QPushButton" name="exceptFileButton"> + <property name="toolTip"> <string>Press to select a file via a selection dialog</string> </property> - <property name="text" > + <property name="text"> <string>Select &file...</string> </property> </widget> </item> - <item row="2" column="1" > - <widget class="QPushButton" name="addExceptionButton" > - <property name="enabled" > + <item row="2" column="1"> + <widget class="QPushButton" name="addExceptionButton"> + <property name="enabled"> <bool>false</bool> </property> - <property name="toolTip" > + <property name="toolTip"> <string>Press to add the entered path or file to the list</string> </property> - <property name="text" > + <property name="text"> <string>&Add</string> </property> </widget> </item> - <item row="2" column="0" > - <widget class="QPushButton" name="deleteExceptionButton" > - <property name="enabled" > + <item row="2" column="0"> + <widget class="QPushButton" name="deleteExceptionButton"> + <property name="enabled"> <bool>false</bool> </property> - <property name="toolTip" > + <property name="toolTip"> <string>Press to delete the selected entry from the list</string> </property> - <property name="text" > + <property name="text"> <string>&Delete</string> </property> </widget> </item> - <item row="1" column="0" colspan="4" > - <widget class="QLineEdit" name="exceptionEdit" > - <property name="toolTip" > + <item row="1" column="0" colspan="4"> + <widget class="QLineEdit" name="exceptionEdit"> + <property name="toolTip"> <string>Enter a path or file to be added</string> </property> </widget> </item> - <item row="0" column="0" colspan="4" > - <widget class="QListWidget" name="exceptionsList" > - <property name="toolTip" > + <item row="0" column="0" colspan="4"> + <widget class="QListWidget" name="exceptionsList"> + <property name="toolTip"> <string>List of paths or files to excude from translation</string> </property> - <property name="alternatingRowColors" > + <property name="alternatingRowColors"> <bool>true</bool> </property> - <property name="sortingEnabled" > + <property name="sortingEnabled"> <bool>true</bool> </property> </widget> @@ -170,11 +171,11 @@ </widget> </item> <item> - <widget class="QDialogButtonBox" name="buttonBox" > - <property name="orientation" > + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> - <property name="standardButtons" > + <property name="standardButtons"> <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> </property> </widget> @@ -201,11 +202,11 @@ <receiver>TranslationPropertiesDialog</receiver> <slot>accept()</slot> <hints> - <hint type="sourcelabel" > + <hint type="sourcelabel"> <x>39</x> <y>523</y> </hint> - <hint type="destinationlabel" > + <hint type="destinationlabel"> <x>39</x> <y>543</y> </hint> @@ -217,11 +218,11 @@ <receiver>TranslationPropertiesDialog</receiver> <slot>reject()</slot> <hints> - <hint type="sourcelabel" > + <hint type="sourcelabel"> <x>110</x> <y>530</y> </hint> - <hint type="destinationlabel" > + <hint type="destinationlabel"> <x>111</x> <y>543</y> </hint>
--- a/QScintilla/MiniEditor.py Fri Jan 08 19:14:19 2010 +0000 +++ b/QScintilla/MiniEditor.py Sat Jan 09 19:43:36 2010 +0000 @@ -2078,7 +2078,7 @@ key = 'Scintilla/%s/style0/font' % self.lexer_.language() fdesc = Preferences.Prefs.settings.value(key) if fdesc is not None: - font = QFont(fdesc[0], int(str(fdesc[1]))) + font = QFont(fdesc[0], int(fdesc[1])) self.lexer_.setDefaultFont(font) self.lexer_.readSettings(Preferences.Prefs.settings, "Scintilla") @@ -2339,4 +2339,4 @@ fileEol = self.__textEdit.detectEolString(txt) self.__textEdit.setEolModeByEolString(fileEol) - self.__textEdit.setModified(False) \ No newline at end of file + self.__textEdit.setModified(False)
--- a/SqlBrowser/SqlBrowserWidget.ui Fri Jan 08 19:14:19 2010 +0000 +++ b/SqlBrowser/SqlBrowserWidget.ui Sat Jan 09 19:43:36 2010 +0000 @@ -11,7 +11,7 @@ </rect> </property> <property name="windowTitle"> - <string>eric4 SQL Browser</string> + <string>eric5 SQL Browser</string> </property> <layout class="QVBoxLayout" name="verticalLayout_2"> <item>
--- a/Tools/UIPreviewer.py Fri Jan 08 19:14:19 2010 +0000 +++ b/Tools/UIPreviewer.py Sat Jan 09 19:43:36 2010 +0000 @@ -426,7 +426,7 @@ filters = "" formats = QImageWriter.supportedImageFormats() for format in formats: - filters = "%s*.%s " % (filters, str(format).lower()) + filters = "%s*.%s " % (filters, bytes(format).decode().lower()) filter = self.trUtf8("Images ({0})").format(filters[:-1]) fname = QFileDialog.getSaveFileName(\
--- a/UI/CompareDialog.py Fri Jan 08 19:14:19 2010 +0000 +++ b/UI/CompareDialog.py Sat Jan 09 19:43:36 2010 +0000 @@ -58,19 +58,19 @@ for (ln1, l1), (ln2, l2), flag in _mdiff(a, b, None, None, IS_CHARACTER_JUNK): if not flag: - yield ('e', str(linenumberformat % ln1), l1, - str(linenumberformat % ln2), l2) + yield ('e', linenumberformat % ln1, l1, + linenumberformat % ln2, l2) continue if ln2 == "" and l2 == "\n": - yield ('d', str(linenumberformat % ln1), removeMarkers(l1), + yield ('d', linenumberformat % ln1, removeMarkers(l1), emptylineno, '\n') continue if ln1 == "" and l1 == "\n": yield ('i', emptylineno, '\n', - str(linenumberformat % ln2), removeMarkers(l2)) + linenumberformat % ln2, removeMarkers(l2)) continue - yield ('r', str(linenumberformat % ln1), l1, - str(linenumberformat % ln2), l2) + yield ('r', linenumberformat % ln1, l1, + linenumberformat % ln2, l2) class CompareDialog(QWidget, Ui_CompareDialog): """ @@ -221,7 +221,7 @@ """ filename1 = Utilities.toNativeSeparators(self.file1Edit.text()) try: - f1 = open(filename1, "rb") + f1 = open(filename1, "r") lines1 = f1.readlines() f1.close() except IOError: @@ -233,7 +233,7 @@ filename2 = Utilities.toNativeSeparators(self.file2Edit.text()) try: - f2 = open(filename2, "rb") + f2 = open(filename2, "r") lines2 = f2.readlines() f2.close() except IOError:
--- a/UI/DiffDialog.py Fri Jan 08 19:14:19 2010 +0000 +++ b/UI/DiffDialog.py Sat Jan 09 19:43:36 2010 +0000 @@ -324,7 +324,7 @@ except IOError: filemtime1 = "" try: - f1 = open(self.filename1, "rb") + f1 = open(self.filename1, "r") lines1 = f1.readlines() f1.close() except IOError: @@ -340,7 +340,7 @@ except IOError: filemtime2 = "" try: - f2 = open(self.filename2, "rb") + f2 = open(self.filename2, "r") lines2 = f2.readlines() f2.close() except IOError: @@ -477,7 +477,7 @@ """ self.__selectFile(self.file1Edit) - @pyqtSlot("") + @pyqtSlot() def on_file2Button_clicked(self): """ Private slot to handle the file 2 file selection button press.
--- a/UI/EmailDialog.py Fri Jan 08 19:14:19 2010 +0000 +++ b/UI/EmailDialog.py Sat Jan 09 19:43:36 2010 +0000 @@ -22,7 +22,23 @@ import Preferences import Utilities +############################################################ +## This code is to work around a bug in the Python email ## +## package for Image and Audio mime messages. ## +############################################################ +from base64 import b64encode as _bencode +def _encode_base64(msg): + """Encode the message's payload in Base64. + + Also, add an appropriate Content-Transfer-Encoding header. + """ + orig = msg.get_payload() + encdata = str(_bencode(orig), "ASCII") + msg.set_payload(encdata) + msg['Content-Transfer-Encoding'] = 'base64' + from email import encoders +encoders.encode_base64 = _encode_base64 # WORK AROUND: implement our corrected encoder from email.mime.base import MIMEBase from email.mime.text import MIMEText from email.mime.image import MIMEImage @@ -195,19 +211,19 @@ msg.epilogue = '' # second part is intended to be read - att = MIMEText(msgtext, + att = MIMEText(msgtext.encode(), _charset = Preferences.getSystem("StringEncoding")) msg.attach(att) # next parts contain the attachments for index in range(self.attachments.topLevelItemCount()): itm = self.attachments.topLevelItem(index) - maintype, subtype = str(itm.text(1)).split('/', 1) + maintype, subtype = itm.text(1).split('/', 1) fname = itm.text(0) name = os.path.basename(fname) if maintype == 'text': - att = MIMEText(open(fname, 'rb').read(), _subtype = subtype) + att = MIMEText(open(fname, 'r').read(), _subtype = subtype) elif maintype == 'image': att = MIMEImage(open(fname, 'rb').read(), _subtype = subtype) elif maintype == 'audio': @@ -229,7 +245,7 @@ @return flag indicating success (boolean) """ try: - server = smtplib.SMTP(str(Preferences.getUser("MailServer")), + server = smtplib.SMTP(Preferences.getUser("MailServer"), Preferences.getUser("MailServerPort")) if Preferences.getUser("MailServerUseTLS"): server.starttls()
--- a/UI/FindFileDialog.py Fri Jan 08 19:14:19 2010 +0000 +++ b/UI/FindFileDialog.py Sat Jan 09 19:43:36 2010 +0000 @@ -370,7 +370,7 @@ text = f.read() lines = text.splitlines() f.close() - except IOError: + except (IOError, UnicodeError): progress += 1 self.findProgress.setValue(progress) continue @@ -410,6 +410,10 @@ progress += 1 self.findProgress.setValue(progress) + if not files: + self.findProgress.setMaximum(1) + self.findProgress.setValue(1) + self.findProgressLabel.setPath("") self.findList.setUpdatesEnabled(True)
--- a/UI/UserInterface.py Fri Jan 08 19:14:19 2010 +0000 +++ b/UI/UserInterface.py Sat Jan 09 19:43:36 2010 +0000 @@ -5175,7 +5175,7 @@ for window, i in zip(self.windows, list(range(len(self.windows)))): if window is not None: self.profiles[self.currentProfile][2][i] = \ - str(window.saveGeometry()) + bytes(window.saveGeometry()) self.browser.saveToplevelDirs()