Loading ballontranslator/ui/canvas.py +32 −2 Original line number Diff line number Diff line import numpy as np from typing import List, Union, Tuple import os from qtpy.QtWidgets import QShortcut, QMenu, QGraphicsScene, QGraphicsView, QGraphicsRectItem, QGraphicsItem, QScrollBar, QGraphicsPixmapItem, QGraphicsSceneMouseEvent, QGraphicsSceneContextMenuEvent, QRubberBand from qtpy.QtWidgets import QShortcut, QMenu, QGraphicsScene, QGraphicsView, QGraphicsSceneDragDropEvent, QGraphicsRectItem, QGraphicsItem, QScrollBar, QGraphicsPixmapItem, QGraphicsSceneMouseEvent, QGraphicsSceneContextMenuEvent, QRubberBand from qtpy.QtCore import Qt, QDateTime, QRectF, QPointF, QPoint, Signal, QSizeF, QEvent from qtpy.QtGui import QKeySequence, QPixmap, QHideEvent, QKeyEvent, QWheelEvent, QResizeEvent, QPainter, QPen, QPainterPath, QCursor from qtpy.QtGui import QDropEvent, QPixmap, QHideEvent, QKeyEvent, QWheelEvent, QResizeEvent, QPainter, QPen, QPainterPath, QCursor try: from qtpy.QtWidgets import QUndoStack, QUndoCommand Loading Loading @@ -112,6 +113,7 @@ class Canvas(QGraphicsScene): projstate_unsaved = False proj_savestate_changed = Signal(bool) textstack_changed = Signal() drop_open_folder = Signal(str) def __init__(self, parent=None): super().__init__(parent) Loading @@ -132,6 +134,7 @@ class Canvas(QGraphicsScene): self.gv.hide_canvas.connect(self.on_hide_canvas) self.gv.setRenderHint(QPainter.RenderHint.Antialiasing) self.gv.canvas = self self.gv.setAcceptDrops(True) if not C.FLAG_QT6: # mitigate https://bugreports.qt.io/browse/QTBUG-93417 Loading Loading @@ -177,6 +180,12 @@ class Canvas(QGraphicsScene): self.drawingLayer.setTransformationMode(Qt.TransformationMode.FastTransformation) self.textLayer = QGraphicsPixmapItem() self.imgLayer.setAcceptDrops(True) self.inpaintLayer.setAcceptDrops(True) self.maskLayer.setAcceptDrops(True) self.drawingLayer.setAcceptDrops(True) self.textLayer.setAcceptDrops(True) self.addItem(self.baseLayer) self.inpaintLayer.setParentItem(self.baseLayer) self.imgLayer.setParentItem(self.baseLayer) Loading @@ -199,6 +208,27 @@ class Canvas(QGraphicsScene): self.clipboard_blks: List[TextBlock] = [] self.drop_folder: str = None def dragEnterEvent(self, e: QGraphicsSceneDragDropEvent): self.drop_folder = None if e.mimeData().hasUrls(): urls = e.mimeData().urls() ufolder = None for url in urls: furl = url.toLocalFile() if os.path.isdir(furl): ufolder = furl break if ufolder is not None: e.acceptProposedAction() self.drop_folder = ufolder def dropEvent(self, event) -> None: if self.drop_folder is not None: self.drop_open_folder.emit(self.drop_folder) return super().dropEvent(event) def textEditMode(self) -> bool: return self.editor_index == 1 Loading ballontranslator/ui/fontformatpanel.py +1 −1 Original line number Diff line number Diff line Loading @@ -379,7 +379,7 @@ class FontFormatPanel(Widget): self.fontsizebox = FontSizeBox(self) self.fontsizebox.setToolTip(self.tr("Font Size")) self.fontsizebox.setObjectName("FontSizeBox") self.fontsizebox.fcombobox.setToolTip("Change font size") self.fontsizebox.fcombobox.setToolTip(self.tr("Change font size")) self.fontsizebox.apply_fontsize.connect(self.onApplyFontsize) self.fontsizebox.fcombobox.editTextChanged.connect(self.onSizeEditorChanged) Loading ballontranslator/ui/mainwindow.py +1 −0 Original line number Diff line number Diff line Loading @@ -139,6 +139,7 @@ class MainWindow(FramelessWindow): self.canvas.proj_savestate_changed.connect(self.on_savestate_changed) self.canvas.textstack_changed.connect(self.on_textstack_changed) self.canvas.run_blktrans.connect(self.on_run_blktrans) self.canvas.drop_open_folder.connect(self.openDir) self.bottomBar.originalSlider.valueChanged.connect(self.canvas.setOriginalTransparencyBySlider) Loading ballontranslator/ui/textitem.py +0 −1 Original line number Diff line number Diff line Loading @@ -547,7 +547,6 @@ class TextBlkItem(QGraphicsTextItem): def endEdit(self) -> None: self.end_edit.emit(self.idx) cursor = self.textCursor() self.old_cursorpos = cursor.position() cursor.clearSelection() self.setTextCursor(cursor) self.setTextInteractionFlags(Qt.TextInteractionFlag.NoTextInteraction) Loading Loading
ballontranslator/ui/canvas.py +32 −2 Original line number Diff line number Diff line import numpy as np from typing import List, Union, Tuple import os from qtpy.QtWidgets import QShortcut, QMenu, QGraphicsScene, QGraphicsView, QGraphicsRectItem, QGraphicsItem, QScrollBar, QGraphicsPixmapItem, QGraphicsSceneMouseEvent, QGraphicsSceneContextMenuEvent, QRubberBand from qtpy.QtWidgets import QShortcut, QMenu, QGraphicsScene, QGraphicsView, QGraphicsSceneDragDropEvent, QGraphicsRectItem, QGraphicsItem, QScrollBar, QGraphicsPixmapItem, QGraphicsSceneMouseEvent, QGraphicsSceneContextMenuEvent, QRubberBand from qtpy.QtCore import Qt, QDateTime, QRectF, QPointF, QPoint, Signal, QSizeF, QEvent from qtpy.QtGui import QKeySequence, QPixmap, QHideEvent, QKeyEvent, QWheelEvent, QResizeEvent, QPainter, QPen, QPainterPath, QCursor from qtpy.QtGui import QDropEvent, QPixmap, QHideEvent, QKeyEvent, QWheelEvent, QResizeEvent, QPainter, QPen, QPainterPath, QCursor try: from qtpy.QtWidgets import QUndoStack, QUndoCommand Loading Loading @@ -112,6 +113,7 @@ class Canvas(QGraphicsScene): projstate_unsaved = False proj_savestate_changed = Signal(bool) textstack_changed = Signal() drop_open_folder = Signal(str) def __init__(self, parent=None): super().__init__(parent) Loading @@ -132,6 +134,7 @@ class Canvas(QGraphicsScene): self.gv.hide_canvas.connect(self.on_hide_canvas) self.gv.setRenderHint(QPainter.RenderHint.Antialiasing) self.gv.canvas = self self.gv.setAcceptDrops(True) if not C.FLAG_QT6: # mitigate https://bugreports.qt.io/browse/QTBUG-93417 Loading Loading @@ -177,6 +180,12 @@ class Canvas(QGraphicsScene): self.drawingLayer.setTransformationMode(Qt.TransformationMode.FastTransformation) self.textLayer = QGraphicsPixmapItem() self.imgLayer.setAcceptDrops(True) self.inpaintLayer.setAcceptDrops(True) self.maskLayer.setAcceptDrops(True) self.drawingLayer.setAcceptDrops(True) self.textLayer.setAcceptDrops(True) self.addItem(self.baseLayer) self.inpaintLayer.setParentItem(self.baseLayer) self.imgLayer.setParentItem(self.baseLayer) Loading @@ -199,6 +208,27 @@ class Canvas(QGraphicsScene): self.clipboard_blks: List[TextBlock] = [] self.drop_folder: str = None def dragEnterEvent(self, e: QGraphicsSceneDragDropEvent): self.drop_folder = None if e.mimeData().hasUrls(): urls = e.mimeData().urls() ufolder = None for url in urls: furl = url.toLocalFile() if os.path.isdir(furl): ufolder = furl break if ufolder is not None: e.acceptProposedAction() self.drop_folder = ufolder def dropEvent(self, event) -> None: if self.drop_folder is not None: self.drop_open_folder.emit(self.drop_folder) return super().dropEvent(event) def textEditMode(self) -> bool: return self.editor_index == 1 Loading
ballontranslator/ui/fontformatpanel.py +1 −1 Original line number Diff line number Diff line Loading @@ -379,7 +379,7 @@ class FontFormatPanel(Widget): self.fontsizebox = FontSizeBox(self) self.fontsizebox.setToolTip(self.tr("Font Size")) self.fontsizebox.setObjectName("FontSizeBox") self.fontsizebox.fcombobox.setToolTip("Change font size") self.fontsizebox.fcombobox.setToolTip(self.tr("Change font size")) self.fontsizebox.apply_fontsize.connect(self.onApplyFontsize) self.fontsizebox.fcombobox.editTextChanged.connect(self.onSizeEditorChanged) Loading
ballontranslator/ui/mainwindow.py +1 −0 Original line number Diff line number Diff line Loading @@ -139,6 +139,7 @@ class MainWindow(FramelessWindow): self.canvas.proj_savestate_changed.connect(self.on_savestate_changed) self.canvas.textstack_changed.connect(self.on_textstack_changed) self.canvas.run_blktrans.connect(self.on_run_blktrans) self.canvas.drop_open_folder.connect(self.openDir) self.bottomBar.originalSlider.valueChanged.connect(self.canvas.setOriginalTransparencyBySlider) Loading
ballontranslator/ui/textitem.py +0 −1 Original line number Diff line number Diff line Loading @@ -547,7 +547,6 @@ class TextBlkItem(QGraphicsTextItem): def endEdit(self) -> None: self.end_edit.emit(self.idx) cursor = self.textCursor() self.old_cursorpos = cursor.position() cursor.clearSelection() self.setTextCursor(cursor) self.setTextInteractionFlags(Qt.TextInteractionFlag.NoTextInteraction) Loading