pyqt-code-editor 0.0.45__tar.gz → 0.0.47__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/PKG-INFO +1 -1
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/__init__.py +1 -1
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/components/editor_panel.py +8 -2
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/tabbed_editor.py +10 -8
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/COPYING +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyproject.toml +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/_settings.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/app.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/code_editors/__init__.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/code_editors/code_editors.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/code_editors/languages/__init__.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/code_editors/languages/generic.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/code_editors/languages/javascript.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/code_editors/languages/markdown.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/code_editors/languages/python.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/code_editors/languages/text.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/components/__init__.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/components/find_in_files.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/components/jupyter_console.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/components/project_explorer.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/components/settings_panel.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/components/sigmund.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/components/workspace_explorer.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/environment_manager.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/__init__.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/auto_indent.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/auto_pair.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/base.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/check.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/comment.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/complete.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/execute.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/file_link.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/line_number.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/python_auto_indent.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/search_replace.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/shortcuts.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/smart_backspace_delete.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/symbols.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/theme.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/widgets/__init__.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/zoom.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/sigmund-analyst.png +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/signal_router.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/syntax_highlighters/__init__.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/syntax_highlighters/languages/__init__.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/syntax_highlighters/languages/generic.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/syntax_highlighters/languages/python.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/syntax_highlighters/syntax_highlighter.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/themes.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/utils/__init__.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/utils/languages/__init__.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/utils/languages/python/__init__.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/utils/languages/python/_auto_indent.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/utils/languages/python/_extract_cells.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/utils/languages/python/_mask_str_in_code.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/watchdog.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/__init__.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/calltip_widget.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/completion_popup.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/dock.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/quick_open_dialog.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/quick_open_file_dialog.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/quick_symbol_dialog.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/search_replace_frame.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/tab_splitter.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/__init__.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/languages/__init__.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/languages/generic.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/languages/python.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/manager.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/process.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/providers/__init__.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/providers/codestral.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/providers/jedi.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/providers/ruff.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/providers/sigmund.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/providers/symbol.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/settings.py +0 -0
- {pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/readme.md +0 -0
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/components/editor_panel.py
RENAMED
|
@@ -226,8 +226,14 @@ class EditorPanel(QWidget):
|
|
|
226
226
|
return find_first_tab_widget(self)
|
|
227
227
|
|
|
228
228
|
def active_editor(self):
|
|
229
|
-
|
|
230
|
-
|
|
229
|
+
try:
|
|
230
|
+
if self._active_editor and self._active_editor.isVisible():
|
|
231
|
+
return self._active_editor
|
|
232
|
+
except RuntimeError:
|
|
233
|
+
# This may happen when an editor has been closed, causing Qt to
|
|
234
|
+
# delete it, while the _active_editor property hasn't been properly
|
|
235
|
+
# updated.
|
|
236
|
+
pass
|
|
231
237
|
active_tab_widget = self.active_tab_widget()
|
|
232
238
|
if active_tab_widget is None:
|
|
233
239
|
return None
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/tabbed_editor.py
RENAMED
|
@@ -5,6 +5,7 @@ from qtpy.QtWidgets import QTabWidget, QShortcut, QMessageBox, QMenu, QStyle, \
|
|
|
5
5
|
QApplication, QTabBar
|
|
6
6
|
from qtpy.QtCore import Signal, Qt, QMimeData, QPoint, QByteArray, QDataStream
|
|
7
7
|
from ..code_editors import create_editor
|
|
8
|
+
from ..mixins import Base
|
|
8
9
|
from .. import settings, utils
|
|
9
10
|
from ..signal_router import signal_router
|
|
10
11
|
logger = logging.getLogger(__name__)
|
|
@@ -333,17 +334,18 @@ class TabbedEditor(QTabWidget):
|
|
|
333
334
|
dataByteArray = event.mimeData().data("application/x-tabdata")
|
|
334
335
|
stream = QDataStream(dataByteArray, QDataStream.ReadOnly)
|
|
335
336
|
tabText = stream.readQString()
|
|
336
|
-
# (We ignore the icon detail in this example or simply set a blank icon.)
|
|
337
|
-
# If you’re handing around pixmaps, you could store them more explicitly.
|
|
338
|
-
|
|
339
337
|
# The source tab's DraggableTabBar has already removed it from its QTabWidget.
|
|
340
338
|
# But we need the actual widget object that was being dragged. It's part
|
|
341
339
|
# of the QDrag's source — we can find it by casting. We must be careful:
|
|
342
340
|
sourceBar = event.source()
|
|
343
341
|
if isinstance(sourceBar, DraggableTabBar):
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
342
|
+
editor = sourceBar.draggedWidget
|
|
343
|
+
if not isinstance(editor, Base):
|
|
344
|
+
logger.warning(f'expecting editor, found {editor}')
|
|
345
|
+
return
|
|
346
|
+
editor.modification_changed.connect(self._on_modification_changed)
|
|
347
|
+
editor.file_name_changed.connect(self._on_file_name_changed)
|
|
348
|
+
logger.info("dropping editor")
|
|
347
349
|
|
|
348
350
|
# Insert the tab at the position that the user dropped on
|
|
349
351
|
dropPos = event.position().toPoint()
|
|
@@ -352,7 +354,7 @@ class TabbedEditor(QTabWidget):
|
|
|
352
354
|
if index < 0:
|
|
353
355
|
# If the user dropped to the right of all existing tabs
|
|
354
356
|
index = self.count()
|
|
355
|
-
|
|
356
|
-
self.insertTab(index,
|
|
357
|
+
|
|
358
|
+
self.insertTab(index, editor, tabText)
|
|
357
359
|
self.setCurrentIndex(index)
|
|
358
360
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/code_editors/__init__.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/code_editors/code_editors.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/code_editors/languages/text.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/components/find_in_files.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/components/jupyter_console.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/components/project_explorer.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/components/settings_panel.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/python_auto_indent.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/search_replace.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/mixins/widgets/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/syntax_highlighters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/utils/languages/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/calltip_widget.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/completion_popup.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/quick_open_dialog.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/quick_symbol_dialog.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/search_replace_frame.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/widgets/tab_splitter.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/languages/__init__.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/languages/generic.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/languages/python.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/providers/__init__.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/providers/codestral.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/providers/jedi.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/providers/ruff.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/providers/sigmund.py
RENAMED
|
File without changes
|
{pyqt_code_editor-0.0.45 → pyqt_code_editor-0.0.47}/pyqt_code_editor/worker/providers/symbol.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|