Loading ui/custom_widget/label.py +17 −8 Original line number Diff line number Diff line from typing import List, Union, Tuple import numpy as np from qtpy.QtWidgets import QGraphicsOpacityEffect, QLabel, QColorDialog from qtpy.QtWidgets import QGraphicsOpacityEffect, QLabel, QColorDialog, QMenu from qtpy.QtCore import Qt, QPropertyAnimation, QEasingCurve, Signal from qtpy.QtGui import QMouseEvent, QWheelEvent, QColor Loading Loading @@ -43,19 +43,28 @@ class FadeLabel(QLabel): class ColorPickerLabel(QLabel): colorChanged = Signal(bool) apply_color = Signal(str, tuple) changingColor = Signal() def __init__(self, parent=None, param_name='', *args, **kwargs): super().__init__(parent=parent, *args, **kwargs) self.color: QColor = None self.param_name = param_name def mousePressEvent(self, event): def mousePressEvent(self, event: QMouseEvent): btn = event.button() if btn == Qt.MouseButton.LeftButton: self.changingColor.emit() color = QColorDialog.getColor() is_valid = color.isValid() if is_valid: self.setPickerColor(color) self.colorChanged.emit(is_valid) elif btn == Qt.MouseButton.RightButton: menu = QMenu(self) apply_act = menu.addAction(self.tr("Apply Color")) rst = menu.exec(event.globalPosition().toPoint()) if rst == apply_act and self.color is not None: self.apply_color.emit(self.param_name, self.rgb()) def setPickerColor(self, color: Union[QColor, List, Tuple]): if not isinstance(color, QColor): Loading ui/text_panel.py +11 −4 Original line number Diff line number Diff line Loading @@ -283,6 +283,7 @@ class FontFormatPanel(Widget): self.colorPicker.setToolTip(self.tr("Change font color")) self.colorPicker.changingColor.connect(self.changingColor) self.colorPicker.colorChanged.connect(self.onColorLabelChanged) self.colorPicker.apply_color.connect(self.on_apply_color) self.alignBtnGroup = AlignmentBtnGroup(self) self.alignBtnGroup.param_changed.connect(self.on_param_changed) Loading Loading @@ -311,6 +312,7 @@ class FontFormatPanel(Widget): self.strokeColorPicker.setToolTip(self.tr("Change stroke color")) self.strokeColorPicker.changingColor.connect(self.changingColor) self.strokeColorPicker.colorChanged.connect(self.onColorLabelChanged) self.strokeColorPicker.apply_color.connect(self.on_apply_color) stroke_hlayout = QHBoxLayout() stroke_hlayout.addWidget(self.fontStrokeLabel) Loading Loading @@ -352,12 +354,17 @@ class FontFormatPanel(Widget): color_label = self.textadvancedfmt_panel.shadow_group.color_label color_label.changingColor.connect(self.changingColor) color_label.colorChanged.connect(self.onColorLabelChanged) color_label.apply_color.connect(self.on_apply_color) color_label = self.textadvancedfmt_panel.gradient_group.start_picker color_label.changingColor.connect(self.changingColor) color_label.colorChanged.connect(self.onColorLabelChanged) color_label.apply_color.connect(self.on_apply_color) color_label = self.textadvancedfmt_panel.gradient_group.end_picker color_label.changingColor.connect(self.changingColor) color_label.colorChanged.connect(self.onColorLabelChanged) color_label.apply_color.connect(self.on_apply_color) self.foldTextBtn = CheckableLabel(self.tr("Unfold"), self.tr("Fold"), False) self.sourceBtn = TextCheckerLabel(self.tr("Source")) Loading Loading @@ -446,6 +453,9 @@ class FontFormatPanel(Widget): rgb = sender.rgb() self.on_param_changed(sender.param_name, rgb) def on_apply_color(self, param_name, rgb): self.on_param_changed(param_name, rgb) def onLineSpacingCtrlChanged(self, delta: int): if C.active_format.line_spacing_type == LineSpacingType.Distance: mul = 0.1 Loading Loading @@ -520,9 +530,6 @@ class FontFormatPanel(Widget): self.textblk_item.fontformat = copy.deepcopy(C.active_format) self.textblk_item = None self.set_active_format(self.global_format, multi_select) if multi_select: self.textstyle_panel.setTitle('Group') else: self.set_globalfmt_title() else: Loading Loading
ui/custom_widget/label.py +17 −8 Original line number Diff line number Diff line from typing import List, Union, Tuple import numpy as np from qtpy.QtWidgets import QGraphicsOpacityEffect, QLabel, QColorDialog from qtpy.QtWidgets import QGraphicsOpacityEffect, QLabel, QColorDialog, QMenu from qtpy.QtCore import Qt, QPropertyAnimation, QEasingCurve, Signal from qtpy.QtGui import QMouseEvent, QWheelEvent, QColor Loading Loading @@ -43,19 +43,28 @@ class FadeLabel(QLabel): class ColorPickerLabel(QLabel): colorChanged = Signal(bool) apply_color = Signal(str, tuple) changingColor = Signal() def __init__(self, parent=None, param_name='', *args, **kwargs): super().__init__(parent=parent, *args, **kwargs) self.color: QColor = None self.param_name = param_name def mousePressEvent(self, event): def mousePressEvent(self, event: QMouseEvent): btn = event.button() if btn == Qt.MouseButton.LeftButton: self.changingColor.emit() color = QColorDialog.getColor() is_valid = color.isValid() if is_valid: self.setPickerColor(color) self.colorChanged.emit(is_valid) elif btn == Qt.MouseButton.RightButton: menu = QMenu(self) apply_act = menu.addAction(self.tr("Apply Color")) rst = menu.exec(event.globalPosition().toPoint()) if rst == apply_act and self.color is not None: self.apply_color.emit(self.param_name, self.rgb()) def setPickerColor(self, color: Union[QColor, List, Tuple]): if not isinstance(color, QColor): Loading
ui/text_panel.py +11 −4 Original line number Diff line number Diff line Loading @@ -283,6 +283,7 @@ class FontFormatPanel(Widget): self.colorPicker.setToolTip(self.tr("Change font color")) self.colorPicker.changingColor.connect(self.changingColor) self.colorPicker.colorChanged.connect(self.onColorLabelChanged) self.colorPicker.apply_color.connect(self.on_apply_color) self.alignBtnGroup = AlignmentBtnGroup(self) self.alignBtnGroup.param_changed.connect(self.on_param_changed) Loading Loading @@ -311,6 +312,7 @@ class FontFormatPanel(Widget): self.strokeColorPicker.setToolTip(self.tr("Change stroke color")) self.strokeColorPicker.changingColor.connect(self.changingColor) self.strokeColorPicker.colorChanged.connect(self.onColorLabelChanged) self.strokeColorPicker.apply_color.connect(self.on_apply_color) stroke_hlayout = QHBoxLayout() stroke_hlayout.addWidget(self.fontStrokeLabel) Loading Loading @@ -352,12 +354,17 @@ class FontFormatPanel(Widget): color_label = self.textadvancedfmt_panel.shadow_group.color_label color_label.changingColor.connect(self.changingColor) color_label.colorChanged.connect(self.onColorLabelChanged) color_label.apply_color.connect(self.on_apply_color) color_label = self.textadvancedfmt_panel.gradient_group.start_picker color_label.changingColor.connect(self.changingColor) color_label.colorChanged.connect(self.onColorLabelChanged) color_label.apply_color.connect(self.on_apply_color) color_label = self.textadvancedfmt_panel.gradient_group.end_picker color_label.changingColor.connect(self.changingColor) color_label.colorChanged.connect(self.onColorLabelChanged) color_label.apply_color.connect(self.on_apply_color) self.foldTextBtn = CheckableLabel(self.tr("Unfold"), self.tr("Fold"), False) self.sourceBtn = TextCheckerLabel(self.tr("Source")) Loading Loading @@ -446,6 +453,9 @@ class FontFormatPanel(Widget): rgb = sender.rgb() self.on_param_changed(sender.param_name, rgb) def on_apply_color(self, param_name, rgb): self.on_param_changed(param_name, rgb) def onLineSpacingCtrlChanged(self, delta: int): if C.active_format.line_spacing_type == LineSpacingType.Distance: mul = 0.1 Loading Loading @@ -520,9 +530,6 @@ class FontFormatPanel(Widget): self.textblk_item.fontformat = copy.deepcopy(C.active_format) self.textblk_item = None self.set_active_format(self.global_format, multi_select) if multi_select: self.textstyle_panel.setTitle('Group') else: self.set_globalfmt_title() else: Loading