Commit 83dfda2c authored by dmMaze's avatar dmMaze
Browse files

fix some startup layout bugs

parent 4c858b10
Loading
Loading
Loading
Loading
+19 −3
Original line number Diff line number Diff line
@@ -757,6 +757,10 @@ DrawToolCheckBox::indicator {
    padding: 10px;
}

DrawToolCheckBox::indicator:checked {
    background-color: rgba(30, 147, 229, 80);
}

DrawToolCheckBox#DrawHandTool::indicator {
    
    image: url(icons/drawingtools_hand.svg);
@@ -767,7 +771,7 @@ DrawToolCheckBox#DrawHandTool::indicator:hover {
}

DrawToolCheckBox#DrawHandTool::indicator:checked {
    background-color: rgba(30, 147, 229, 80);
    
    image: url(icons/drawingtools_hand.svg);
}

@@ -780,7 +784,6 @@ DrawToolCheckBox#DrawInpaintTool::indicator:hover {
}

DrawToolCheckBox#DrawInpaintTool::indicator:checked {
    background-color: rgba(30, 147, 229, 80);
    image: url(icons/drawingtools_inpaint.svg);
}

@@ -793,7 +796,20 @@ DrawToolCheckBox#DrawPenTool::indicator:hover {
}

DrawToolCheckBox#DrawPenTool::indicator:checked {
    background-color: rgba(30, 147, 229, 80);
    image: url(icons/drawingtools_pen.svg);
}

DrawToolCheckBox#DrawRectTool::indicator {
    image: url(icons/bottombar_textblock_activate.svg);
}

DrawToolCheckBox#DrawRectTool::indicator:hover {
    image: url(icons/bottombar_textblock.svg);
}

DrawToolCheckBox#DrawRectTool::indicator:checked {
    image: url(icons/bottombar_textblock_activate.svg);
}


+2 −0
Original line number Diff line number Diff line
@@ -35,3 +35,5 @@ DRAG_DIR_HOR = 0
DRAG_DIR_VER = 1
DRAG_DIR_FDIAG = 2
DRAG_DIR_BDIAG = 3

DRAWPANEL_WIDTH = 500
+12 −7
Original line number Diff line number Diff line
@@ -33,7 +33,6 @@ class DrawToolCheckBox(QCheckBox):
        if self.isChecked():
            self.checked.emit()


class ToolNameLabel(QLabel):
    def __init__(self, fix_width=None, *args, **kwargs) -> None:
        super().__init__(*args, **kwargs)
@@ -50,8 +49,6 @@ class ToolNameLabel(QLabel):
        self.setFont(font)
            



class InpaintPanel(Widget):

    thicknessChanged = pyqtSignal(int)
@@ -83,11 +80,14 @@ class InpaintPanel(Widget):
            self.thicknessChanged.emit(self.thicknessSlider.value())

    def showEvent(self, e) -> None:
        self.inpainter_panel.needInpaintChecker.setVisible(False)
        self.vlayout.addWidget(self.inpainter_panel)
        return super().showEvent(e)
        super().showEvent(e)


    def hideEvent(self, e) -> None:
        self.vlayout.removeWidget(self.inpainter_panel)
        self.inpainter_panel.needInpaintChecker.setVisible(True)
        return super().hideEvent(e)


@@ -174,6 +174,10 @@ class DrawingPanel(Widget):
        self.inpaintConfigPanel = InpaintPanel(inpainter_panel)
        self.inpaintConfigPanel.thicknessChanged.connect(self.setInpaintToolWidth)

        self.rectTool = DrawToolCheckBox()
        self.rectTool.setObjectName("DrawRectTool")
        self.rectTool.checked.connect(self.on_use_rectremoval_tool)

        self.penTool = DrawToolCheckBox()
        self.penTool.setObjectName("DrawPenTool")
        self.penTool.checked.connect(self.on_use_pentool)
@@ -186,6 +190,7 @@ class DrawingPanel(Widget):
        toolboxlayout.addWidget(self.handTool)
        toolboxlayout.addWidget(self.inpaintTool)
        toolboxlayout.addWidget(self.penTool)
        toolboxlayout.addWidget(self.rectTool)

        self.canvas.painting_pen = self.pentool_pen = \
            QPen(Qt.GlobalColor.black, 1, Qt.PenStyle.SolidLine, Qt.PenCapStyle.RoundCap, Qt.PenJoinStyle.RoundJoin)
@@ -219,7 +224,6 @@ class DrawingPanel(Widget):
        dl_manager.canvas_inpaint_finished.connect(self.on_inpaint_finished)
        dl_manager.inpaint_thread.exception_occurred.connect(self.on_inpaint_failed)


    def setInpaintToolWidth(self, width):
        self.inpaint_pen.setWidth(width)
        if self.isVisible():
@@ -272,6 +276,9 @@ class DrawingPanel(Widget):
            self.setPenCursor()
            self.canvas.painting = True

    def on_use_rectremoval_tool(self) -> None:
        print('use rect removal tool')

    def get_config(self) -> DrawPanelConfig:
        config = DrawPanelConfig()
        pc = self.pentool_pen.color()
@@ -401,8 +408,6 @@ class DrawingPanel(Widget):
                self.inpaint_stroke.addStroke(inpaint_stroke.stroke)
            self.canvas.removeItem(inpaint_stroke)



    def runInpaint(self):

        if self.inpaint_stroke is None:
+4 −2
Original line number Diff line number Diff line

from PyQt5.QtWidgets import QHBoxLayout, QLabel, QTextEdit, QScrollArea, QGraphicsDropShadowEffect, QVBoxLayout, QFrame, QFontComboBox, QColorDialog, QComboBox, QApplication, QPushButton, QRadioButton, QCheckBox
from PyQt5.QtWidgets import QSizePolicy, QLabel, QTextEdit, QScrollArea, QGraphicsDropShadowEffect, QVBoxLayout, QFrame, QFontComboBox, QColorDialog, QComboBox, QApplication, QPushButton, QRadioButton, QCheckBox
from PyQt5.QtCore import pyqtSignal, Qt, QSize, QEvent, QObject
from PyQt5.QtGui import QColor, QFocusEvent, QIntValidator, QMouseEvent, QFont, QTextCursor
from .stylewidgets import Widget, SeparatorWidget, PaintQSlider
@@ -104,6 +104,7 @@ class TextEditListScrollArea(QScrollArea):
        self.setWidgetResizable(True)
        self.vlayout = vlayout
        
        
    def addPairWidget(self, pairwidget):
        
        self.vlayout.addWidget(pairwidget)
@@ -126,3 +127,4 @@ class TextPanel(Widget):
        layout.setContentsMargins(10, 0, 10, 0)
        layout.setSpacing(20)
        layout.setAlignment(Qt.AlignCenter)
+17 −50
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ import json

from PyQt5.QtWidgets import QMainWindow, QHBoxLayout, QVBoxLayout, QApplication, QStackedWidget, QWidget, QSizePolicy, QComboBox, QListView, QToolBar, QMenu, QSpacerItem, QPushButton, QAction, QCheckBox, QToolButton, QSplitter, QListWidget, QShortcut, QListWidgetItem
from PyQt5.QtCore import Qt, pyqtSignal, QPoint, QSize, QThread
from PyQt5.QtGui import QGuiApplication, QIcon, QCloseEvent, QKeySequence, QImage, QPainter, QFont
from PyQt5.QtGui import QGuiApplication, QIcon, QCloseEvent, QKeySequence, QImage, QPainter, QMouseEvent

from .misc import ProjImgTrans
from .canvas import Canvas
@@ -16,10 +16,9 @@ from .scenetext_manager import SceneTextManager
from .mainwindowbars import TitleBar, LeftBar, RightBar, BottomBar
from .io_thread import ImgSaveThread
from .stylewidgets import FrameLessMessageBox
from .constants import STYLESHEET_PATH, CONFIG_PATH, DPI, LDPI, LANG_SUPPORT_VERTICAL
from .constants import STYLESHEET_PATH, CONFIG_PATH, DPI, LDPI, LANG_SUPPORT_VERTICAL, DRAWPANEL_WIDTH
from . import constants


class PageListView(QListWidget):    
    def __init__(self, *args, **kwargs) -> None:
        super().__init__(*args, **kwargs)
@@ -27,22 +26,6 @@ class PageListView(QListWidget):
        self.setIconSize(QSize(70, 70))


class StackWidget(QStackedWidget):

    def __init__(self, *args, **kwargs) -> None:
        super().__init__(*args, **kwargs)
        self.currentChanged.connect(self.onCurrentChanged)
        self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)

    def addWidget(self, w: QWidget) -> int:
        super().addWidget(w)
        self.adjustSize()

    def onCurrentChanged(self, index: int) -> None:
        self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)
        self.adjustSize()


class MainWindow(QMainWindow):

    proj_directory = None
@@ -73,14 +56,16 @@ class MainWindow(QMainWindow):
                if osp.exists(proj_dir):
                    self.openDir(proj_dir)

        # qt's layout management just can't do it right 
        self.comicTransSplitter.setStretchFactor(2, 0.3)
        self.bottomBar.texteditChecker.click()
        self.bottomBar.paintChecker.click()
        if self.config.imgtrans_textedit:
            self.bottomBar.texteditChecker.click()
            if self.config.imgtrans_textblock:
                self.bottomBar.textblockChecker.click()
        elif not self.config.imgtrans_paintmode:
            self.bottomBar.paintChecker.click()
        self.comicTransSplitter.setStretchFactor(2, 0.5)
        self.comicTransSplitter.setStretchFactor(1, 10)
        w = QGuiApplication.primaryScreen().geometry().width()
        rw = self.rightComicTransStackPanel.sizeHint().width()
        pw = int((w - rw) / 4)
        gvw = pw * 3
        self.comicTransSplitter.setSizes([pw, gvw, rw])

    def setupUi(self):
        screen_size = QApplication.desktop().screenGeometry().size()
@@ -111,7 +96,6 @@ class MainWindow(QMainWindow):

        mainHLayout = QHBoxLayout()
        mainHLayout.addWidget(self.leftBar)
        # mainHLayout.addWidget(self.pageList)
        mainHLayout.addWidget(self.centralStackWidget)
        mainHLayout.addWidget(self.rightBar)
        mainHLayout.setContentsMargins(0, 0, 0, 0)
@@ -132,7 +116,7 @@ class MainWindow(QMainWindow):
        self.st_manager = SceneTextManager(self.app, self.canvas, self.textPanel)

        # comic trans pannel
        self.rightComicTransStackPanel = StackWidget(self)
        self.rightComicTransStackPanel = QStackedWidget(self)
        self.rightComicTransStackPanel.addWidget(self.drawingPanel)
        self.rightComicTransStackPanel.addWidget(self.textPanel)

@@ -140,8 +124,6 @@ class MainWindow(QMainWindow):
        self.comicTransSplitter.addWidget(self.pageList)
        self.comicTransSplitter.addWidget(self.canvas.gv)
        self.comicTransSplitter.addWidget(self.rightComicTransStackPanel)
        # self.comicTransSplitter.setStretchFactor(1, 10)
        # self.comicTransSplitter.setStretchFactor(2, 1)

        self.centralStackWidget.addWidget(self.comicTransSplitter)
        self.centralStackWidget.addWidget(self.configPanel)
@@ -174,22 +156,7 @@ class MainWindow(QMainWindow):
        self.leftBar.imgTransChecker.setChecked(True)
        self.st_manager.formatpanel.global_format = self.config.global_fontformat
        self.st_manager.formatpanel.set_active_format(self.config.global_fontformat)
        if self.config.imgtrans_paintmode:
            self.bottomBar.paintChecker.setChecked(True)
            self.rightComicTransStackPanel.setCurrentIndex(0)
            self.rightComicTransStackPanel.onCurrentChanged(0)
            self.canvas.setPaintMode(True)
            self.st_manager.setTextEditMode(False)
        elif self.config.imgtrans_textedit:
            self.bottomBar.texteditChecker.setChecked(True)
            self.bottomBar.originalSlider.setHidden(True)
            self.rightComicTransStackPanel.setCurrentIndex(1)
            self.canvas.setPaintMode(False)
            self.st_manager.setTextEditMode(True)
            if self.config.imgtrans_textblock:
                self.bottomBar.textblockChecker.setChecked(True)
                self.setTextBlockMode()
        else:
        
        self.bottomBar.originalSlider.setHidden(True)
        self.rightComicTransStackPanel.setHidden(True)
        self.st_manager.setTextEditMode(False)