Fri, 21 Mar 2025 16:29:08 +0100
Corrected the usage of the MiniEditor class.
--- a/src/eric7/Documentation/Help/source.qhp Fri Mar 21 16:27:43 2025 +0100 +++ b/src/eric7/Documentation/Help/source.qhp Fri Mar 21 16:29:08 2025 +0100 @@ -17728,6 +17728,7 @@ <keyword name="TestingWidget.__coverageData" id="TestingWidget.__coverageData" ref="eric7.Testing.TestingWidget.html#TestingWidget.__coverageData" /> <keyword name="TestingWidget.__determineInterpreter" id="TestingWidget.__determineInterpreter" ref="eric7.Testing.TestingWidget.html#TestingWidget.__determineInterpreter" /> <keyword name="TestingWidget.__discoverTests" id="TestingWidget.__discoverTests" ref="eric7.Testing.TestingWidget.html#TestingWidget.__discoverTests" /> + <keyword name="TestingWidget.__editorClosing" id="TestingWidget.__editorClosing" ref="eric7.Testing.TestingWidget.html#TestingWidget.__editorClosing" /> <keyword name="TestingWidget.__findDiscoveryItem" id="TestingWidget.__findDiscoveryItem" ref="eric7.Testing.TestingWidget.html#TestingWidget.__findDiscoveryItem" /> <keyword name="TestingWidget.__insertDiscovery" id="TestingWidget.__insertDiscovery" ref="eric7.Testing.TestingWidget.html#TestingWidget.__insertDiscovery" /> <keyword name="TestingWidget.__insertHistory" id="TestingWidget.__insertHistory" ref="eric7.Testing.TestingWidget.html#TestingWidget.__insertHistory" /> @@ -19715,6 +19716,7 @@ <keyword name="WebBrowserWindow.__cut" id="WebBrowserWindow.__cut" ref="eric7.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__cut" /> <keyword name="WebBrowserWindow.__del__" id="WebBrowserWindow.__del__" ref="eric7.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__del__" /> <keyword name="WebBrowserWindow.__docsInstalled" id="WebBrowserWindow.__docsInstalled" ref="eric7.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__docsInstalled" /> + <keyword name="WebBrowserWindow.__editorClosing" id="WebBrowserWindow.__editorClosing" ref="eric7.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__editorClosing" /> <keyword name="WebBrowserWindow.__exportShortcuts" id="WebBrowserWindow.__exportShortcuts" ref="eric7.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__exportShortcuts" /> <keyword name="WebBrowserWindow.__feedsManagerClosed" id="WebBrowserWindow.__feedsManagerClosed" ref="eric7.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__feedsManagerClosed" /> <keyword name="WebBrowserWindow.__filterQtHelpDocumentation" id="WebBrowserWindow.__filterQtHelpDocumentation" ref="eric7.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__filterQtHelpDocumentation" />
--- a/src/eric7/Documentation/Source/eric7.Testing.TestingWidget.html Fri Mar 21 16:27:43 2025 +0100 +++ b/src/eric7/Documentation/Source/eric7.Testing.TestingWidget.html Fri Mar 21 16:29:08 2025 +0100 @@ -99,6 +99,10 @@ <td>Private slot to discover tests but don't execute them.</td> </tr> <tr> +<td><a href="#TestingWidget.__editorClosing">__editorClosing</a></td> +<td>Private method called, when an editor is closing.</td> +</tr> +<tr> <td><a href="#TestingWidget.__findDiscoveryItem">__findDiscoveryItem</a></td> <td>Private method to find an item given the module path.</td> </tr> @@ -419,6 +423,20 @@ Private slot to discover tests but don't execute them. </p> +<a NAME="TestingWidget.__editorClosing" ID="TestingWidget.__editorClosing"></a> +<h4>TestingWidget.__editorClosing</h4> +<b>__editorClosing</b>(<i>editor</i>) +<p> + Private method called, when an editor is closing. +</p> + +<dl> + +<dt><i>editor</i> (MiniEditor)</dt> +<dd> +reference to the closing editor +</dd> +</dl> <a NAME="TestingWidget.__findDiscoveryItem" ID="TestingWidget.__findDiscoveryItem"></a> <h4>TestingWidget.__findDiscoveryItem</h4> <b>__findDiscoveryItem</b>(<i>modulePath</i>)
--- a/src/eric7/Documentation/Source/eric7.WebBrowser.WebBrowserWindow.html Fri Mar 21 16:27:43 2025 +0100 +++ b/src/eric7/Documentation/Source/eric7.WebBrowser.WebBrowserWindow.html Fri Mar 21 16:29:08 2025 +0100 @@ -339,6 +339,10 @@ <td>Private slot handling the end of documentation installation.</td> </tr> <tr> +<td><a href="#WebBrowserWindow.__editorClosing">__editorClosing</a></td> +<td>Private method called, when an editor is closing.</td> +</tr> +<tr> <td><a href="#WebBrowserWindow.__exportShortcuts">__exportShortcuts</a></td> <td>Private slot to export the keyboard shortcuts.</td> </tr> @@ -1880,6 +1884,20 @@ flag indicating that documents were installed (unused) </dd> </dl> +<a NAME="WebBrowserWindow.__editorClosing" ID="WebBrowserWindow.__editorClosing"></a> +<h4>WebBrowserWindow.__editorClosing</h4> +<b>__editorClosing</b>(<i>editor</i>) +<p> + Private method called, when an editor is closing. +</p> + +<dl> + +<dt><i>editor</i> (MiniEditor)</dt> +<dd> +reference to the closing editor +</dd> +</dl> <a NAME="WebBrowserWindow.__exportShortcuts" ID="WebBrowserWindow.__exportShortcuts"></a> <h4>WebBrowserWindow.__exportShortcuts</h4> <b>__exportShortcuts</b>(<i></i>)
--- a/src/eric7/MicroPython/MicroPythonWindow.py Fri Mar 21 16:27:43 2025 +0100 +++ b/src/eric7/MicroPython/MicroPythonWindow.py Fri Mar 21 16:29:08 2025 +0100 @@ -306,7 +306,7 @@ editor.raise_() break else: - editor = MiniEditor(filename=fn, parent=self) + editor = MiniEditor(filename=fn) editor.closing.connect(lambda: self.__editorClosing(editor)) editor.show() @@ -325,7 +325,7 @@ @param fileName associated file name (defaults to "") @type str (optional) """ - editor = MiniEditor(filename=fileName, parent=self) + editor = MiniEditor(filename=fileName) editor.closing.connect(lambda: self.__editorClosing(editor)) editor.setText(text, filetype=language) editor.setLanguage(fileName)
--- a/src/eric7/Testing/TestingWidget.py Fri Mar 21 16:27:43 2025 +0100 +++ b/src/eric7/Testing/TestingWidget.py Fri Mar 21 16:29:08 2025 +0100 @@ -1364,12 +1364,24 @@ """ from eric7.QScintilla.MiniEditor import MiniEditor - editor = MiniEditor(filename, "Python3", self) + editor = MiniEditor(filename, "Python3") + editor.closing.connect(lambda: self.__editorClosing(editor)) editor.gotoLine(linenumber) editor.show() self.__editors.append(editor) + def __editorClosing(self, editor): + """ + Private method called, when an editor is closing. + + @param editor reference to the closing editor + @type MiniEditor + """ + with contextlib.suppress(ValueError): + self.__editors.remove(editor) + del editor + def closeEvent(self, event): """ Protected method to handle the close event. @@ -1377,12 +1389,12 @@ @param event close event @type QCloseEvent """ - event.accept() - for editor in self.__editors: with contextlib.suppress(RuntimeError): editor.close() + event.accept() + @pyqtSlot(str) def on_statusFilterComboBox_currentTextChanged(self, status): """
--- a/src/eric7/UI/UserInterface.py Fri Mar 21 16:27:43 2025 +0100 +++ b/src/eric7/UI/UserInterface.py Fri Mar 21 16:29:08 2025 +0100 @@ -4860,7 +4860,7 @@ """ from eric7.QScintilla.MiniEditor import MiniEditor - editor = MiniEditor(parent=self) + editor = MiniEditor() editor.show() def addEricActions(self, actions, actionType):
--- a/src/eric7/WebBrowser/WebBrowserWindow.py Fri Mar 21 16:27:43 2025 +0100 +++ b/src/eric7/WebBrowser/WebBrowserWindow.py Fri Mar 21 16:29:08 2025 +0100 @@ -352,6 +352,8 @@ self.__initWebEngineSettings() + self.__editors = [] + # initialize some of our class objects self.passwordManager() self.historyManager() @@ -3263,6 +3265,10 @@ self.__isClosing = True + for editor in self.__editors[:]: + with contextlib.suppress(RuntimeError): + editor.close() + if ( not WebBrowserWindow._performingShutdown and len(WebBrowserWindow.BrowserWindows) == 1 @@ -4346,11 +4352,25 @@ """ from eric7.QScintilla.MiniEditor import MiniEditor - editor = MiniEditor(parent=self) + editor = MiniEditor() + editor.closing.connect(lambda: self.__editorClosing(editor)) editor.setText(src, "Html") editor.setLanguage("dummy.html") editor.show() + self.__editors.append(editor) + + def __editorClosing(self, editor): + """ + Private method called, when an editor is closing. + + @param editor reference to the closing editor + @type MiniEditor + """ + with contextlib.suppress(ValueError): + self.__editors.remove(editor) + del editor + @pyqtSlot() def __toggleJavaScriptConsole(self): """