Loading ui/canvas.py +2 −10 Original line number Diff line number Diff line Loading @@ -63,9 +63,6 @@ class CustomGV(QGraphicsView): self.setFocus() return super().enterEvent(event) def resizeTool(self) -> bool: return self.alt_pressed and self.leftbtn_pressed class Canvas(QGraphicsScene): Loading Loading @@ -193,6 +190,8 @@ class Canvas(QGraphicsScene): scrollBar.setValue(int(factor * scrollBar.value() + ((factor - 1) * scrollBar.pageStep() / 2))) def scaleImage(self, factor: float): if not self.gv.isVisible() or not self.imgtrans_proj.img_valid: return s_f = self.scale_factor * factor s_f = np.clip(s_f, CANVAS_SCALE_MIN, CANVAS_SCALE_MAX) Loading Loading @@ -388,7 +387,6 @@ class Canvas(QGraphicsScene): self.removeItem(self.stroke_path_item) self.stroke_path_item = None def on_undostack_changed(self): if self.undoStack.count() != 0: self.setProjSaveState(True) Loading @@ -400,9 +398,3 @@ class Canvas(QGraphicsScene): self.projstate_unsaved = un_saved self.proj_savestate_changed.emit(un_saved) No newline at end of file No newline at end of file ui/mainwindow.py +21 −12 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ import json from collections import OrderedDict from PyQt5.QtWidgets import QMainWindow, QHBoxLayout, QVBoxLayout, QApplication, QStackedWidget, QWidget, QFileDialog, QLabel, QSizePolicy, QComboBox, QListView, QToolBar, QMenu, QSpacerItem, QPushButton, QAction, QCheckBox, QToolButton, QSplitter, QListWidget, QShortcut, QListWidgetItem from PyQt5.QtCore import Qt, QCoreApplication, pyqtSignal, QPoint, QSize, QLocale from PyQt5.QtCore import Qt, pyqtSignal, QPoint, QSize from PyQt5.QtGui import QGuiApplication, QIcon, QMouseEvent, QCloseEvent, QKeySequence, QImage, QPainter from typing import List, Union, Tuple Loading Loading @@ -107,7 +107,7 @@ class StateChecker(QCheckBox): class PageListView(QListWidget): def __init__(self, *args, **kwargs) -> None: super().__init__(*args, **kwargs) self.setFixedWidth(512) self.setMaximumWidth(512) self.setIconSize(QSize(70, 70)) class OpenBtn(QToolButton): Loading Loading @@ -456,11 +456,6 @@ class BottomBar(Widget): self.transcheck_statechanged.emit(self.transChecker.isChecked()) class FrameLessMainWindow(QMainWindow): def __init__(self, *args, **kwargs) -> None: super().__init__(*args, **kwargs) self.setWindowFlags(Qt.WindowType.FramelessWindowHint) class StackWidget(QStackedWidget): def __init__(self, *args, **kwargs) -> None: Loading @@ -477,15 +472,25 @@ class StackWidget(QStackedWidget): self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) self.adjustSize() class MainWindow(FrameLessMainWindow): class FrameLessWindow(QMainWindow): def __init__(self, *args, **kwargs) -> None: super().__init__(*args, **kwargs) self.setWindowFlags(Qt.WindowType.FramelessWindowHint) class MainWindow(FrameLessWindow): proj_directory = None imgtrans_proj: ProjImgTrans = ProjImgTrans() save_on_page_changed = True def __init__(self, app: QApplication, open_dir='', *args, **kwargs) -> None: super().__init__(*args, **kwargs) global DPI, LDPI DPI = QGuiApplication.primaryScreen().physicalDotsPerInch() constants.LDPI = QGuiApplication.primaryScreen().logicalDotsPerInch() self.app = app self.setupLogger() self.setupUi() Loading Loading @@ -528,7 +533,7 @@ class MainWindow(FrameLessMainWindow): mainHLayout = QHBoxLayout() mainHLayout.addWidget(self.leftBar) mainHLayout.addWidget(self.pageList) # mainHLayout.addWidget(self.pageList) mainHLayout.addWidget(self.centralStackWidget) mainHLayout.setContentsMargins(0, 0, 0, 0) mainHLayout.setSpacing(0) Loading @@ -553,10 +558,11 @@ class MainWindow(FrameLessMainWindow): self.rightComicTransStackPanel.addWidget(self.textPanel) self.comicTransSplitter = QSplitter(Qt.Horizontal) self.comicTransSplitter.addWidget(self.pageList) self.comicTransSplitter.addWidget(self.canvas.gv) self.comicTransSplitter.addWidget(self.rightComicTransStackPanel) self.comicTransSplitter.setStretchFactor(0, 10) self.comicTransSplitter.setStretchFactor(1, 1) self.comicTransSplitter.setStretchFactor(1, 10) self.comicTransSplitter.setStretchFactor(2, 1) self.centralStackWidget.addWidget(self.comicTransSplitter) self.centralStackWidget.addWidget(self.configPanel) Loading Loading @@ -707,7 +713,6 @@ class MainWindow(FrameLessMainWindow): self.st_manager.updateTextList() self.titleBar.setTitleContent(page_name=self.imgtrans_proj.current_img) def setupShortcuts(self): shortcutNext = QShortcut(QKeySequence("D"), self) shortcutNext.activated.connect(self.shortcutNext) Loading @@ -715,6 +720,10 @@ class MainWindow(FrameLessMainWindow): shortcutBefore.activated.connect(self.shortcutBefore) shortcutTextblock = QShortcut(QKeySequence("W"), self) shortcutTextblock.activated.connect(self.shortcutTextblock) shortcutZoomIn = QShortcut(QKeySequence.StandardKey.ZoomIn, self) shortcutZoomIn.activated.connect(self.canvas.gv.scale_up_signal) shortcutZoomOut = QShortcut(QKeySequence.StandardKey.ZoomOut, self) shortcutZoomOut.activated.connect(self.canvas.gv.scale_down_signal) def shortcutNext(self): if self.centralStackWidget.currentIndex() == 0: Loading Loading
ui/canvas.py +2 −10 Original line number Diff line number Diff line Loading @@ -63,9 +63,6 @@ class CustomGV(QGraphicsView): self.setFocus() return super().enterEvent(event) def resizeTool(self) -> bool: return self.alt_pressed and self.leftbtn_pressed class Canvas(QGraphicsScene): Loading Loading @@ -193,6 +190,8 @@ class Canvas(QGraphicsScene): scrollBar.setValue(int(factor * scrollBar.value() + ((factor - 1) * scrollBar.pageStep() / 2))) def scaleImage(self, factor: float): if not self.gv.isVisible() or not self.imgtrans_proj.img_valid: return s_f = self.scale_factor * factor s_f = np.clip(s_f, CANVAS_SCALE_MIN, CANVAS_SCALE_MAX) Loading Loading @@ -388,7 +387,6 @@ class Canvas(QGraphicsScene): self.removeItem(self.stroke_path_item) self.stroke_path_item = None def on_undostack_changed(self): if self.undoStack.count() != 0: self.setProjSaveState(True) Loading @@ -400,9 +398,3 @@ class Canvas(QGraphicsScene): self.projstate_unsaved = un_saved self.proj_savestate_changed.emit(un_saved) No newline at end of file No newline at end of file
ui/mainwindow.py +21 −12 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ import json from collections import OrderedDict from PyQt5.QtWidgets import QMainWindow, QHBoxLayout, QVBoxLayout, QApplication, QStackedWidget, QWidget, QFileDialog, QLabel, QSizePolicy, QComboBox, QListView, QToolBar, QMenu, QSpacerItem, QPushButton, QAction, QCheckBox, QToolButton, QSplitter, QListWidget, QShortcut, QListWidgetItem from PyQt5.QtCore import Qt, QCoreApplication, pyqtSignal, QPoint, QSize, QLocale from PyQt5.QtCore import Qt, pyqtSignal, QPoint, QSize from PyQt5.QtGui import QGuiApplication, QIcon, QMouseEvent, QCloseEvent, QKeySequence, QImage, QPainter from typing import List, Union, Tuple Loading Loading @@ -107,7 +107,7 @@ class StateChecker(QCheckBox): class PageListView(QListWidget): def __init__(self, *args, **kwargs) -> None: super().__init__(*args, **kwargs) self.setFixedWidth(512) self.setMaximumWidth(512) self.setIconSize(QSize(70, 70)) class OpenBtn(QToolButton): Loading Loading @@ -456,11 +456,6 @@ class BottomBar(Widget): self.transcheck_statechanged.emit(self.transChecker.isChecked()) class FrameLessMainWindow(QMainWindow): def __init__(self, *args, **kwargs) -> None: super().__init__(*args, **kwargs) self.setWindowFlags(Qt.WindowType.FramelessWindowHint) class StackWidget(QStackedWidget): def __init__(self, *args, **kwargs) -> None: Loading @@ -477,15 +472,25 @@ class StackWidget(QStackedWidget): self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) self.adjustSize() class MainWindow(FrameLessMainWindow): class FrameLessWindow(QMainWindow): def __init__(self, *args, **kwargs) -> None: super().__init__(*args, **kwargs) self.setWindowFlags(Qt.WindowType.FramelessWindowHint) class MainWindow(FrameLessWindow): proj_directory = None imgtrans_proj: ProjImgTrans = ProjImgTrans() save_on_page_changed = True def __init__(self, app: QApplication, open_dir='', *args, **kwargs) -> None: super().__init__(*args, **kwargs) global DPI, LDPI DPI = QGuiApplication.primaryScreen().physicalDotsPerInch() constants.LDPI = QGuiApplication.primaryScreen().logicalDotsPerInch() self.app = app self.setupLogger() self.setupUi() Loading Loading @@ -528,7 +533,7 @@ class MainWindow(FrameLessMainWindow): mainHLayout = QHBoxLayout() mainHLayout.addWidget(self.leftBar) mainHLayout.addWidget(self.pageList) # mainHLayout.addWidget(self.pageList) mainHLayout.addWidget(self.centralStackWidget) mainHLayout.setContentsMargins(0, 0, 0, 0) mainHLayout.setSpacing(0) Loading @@ -553,10 +558,11 @@ class MainWindow(FrameLessMainWindow): self.rightComicTransStackPanel.addWidget(self.textPanel) self.comicTransSplitter = QSplitter(Qt.Horizontal) self.comicTransSplitter.addWidget(self.pageList) self.comicTransSplitter.addWidget(self.canvas.gv) self.comicTransSplitter.addWidget(self.rightComicTransStackPanel) self.comicTransSplitter.setStretchFactor(0, 10) self.comicTransSplitter.setStretchFactor(1, 1) self.comicTransSplitter.setStretchFactor(1, 10) self.comicTransSplitter.setStretchFactor(2, 1) self.centralStackWidget.addWidget(self.comicTransSplitter) self.centralStackWidget.addWidget(self.configPanel) Loading Loading @@ -707,7 +713,6 @@ class MainWindow(FrameLessMainWindow): self.st_manager.updateTextList() self.titleBar.setTitleContent(page_name=self.imgtrans_proj.current_img) def setupShortcuts(self): shortcutNext = QShortcut(QKeySequence("D"), self) shortcutNext.activated.connect(self.shortcutNext) Loading @@ -715,6 +720,10 @@ class MainWindow(FrameLessMainWindow): shortcutBefore.activated.connect(self.shortcutBefore) shortcutTextblock = QShortcut(QKeySequence("W"), self) shortcutTextblock.activated.connect(self.shortcutTextblock) shortcutZoomIn = QShortcut(QKeySequence.StandardKey.ZoomIn, self) shortcutZoomIn.activated.connect(self.canvas.gv.scale_up_signal) shortcutZoomOut = QShortcut(QKeySequence.StandardKey.ZoomOut, self) shortcutZoomOut.activated.connect(self.canvas.gv.scale_down_signal) def shortcutNext(self): if self.centralStackWidget.currentIndex() == 0: Loading