Add a modified label widget that emits a click signal
This commit is contained in:
@@ -30,14 +30,15 @@ from __future__ import annotations
|
|||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
from PyQt5.QtCore import QSize, Qt, pyqtSlot
|
from PyQt5.QtCore import QSize, Qt, pyqtSignal, pyqtSlot
|
||||||
from PyQt5.QtGui import QWheelEvent
|
from PyQt5.QtGui import QMouseEvent, QWheelEvent
|
||||||
from PyQt5.QtWidgets import (
|
from PyQt5.QtWidgets import (
|
||||||
QApplication, QComboBox, QDialog, QDoubleSpinBox, QSpinBox, QToolButton,
|
QApplication, QComboBox, QDialog, QDoubleSpinBox, QLabel, QSpinBox,
|
||||||
QWidget
|
QToolButton, QWidget
|
||||||
)
|
)
|
||||||
|
|
||||||
from novelwriter import CONFIG, SHARED
|
from novelwriter import CONFIG, SHARED
|
||||||
|
from novelwriter.types import QtMouseLeft
|
||||||
|
|
||||||
if TYPE_CHECKING: # pragma: no cover
|
if TYPE_CHECKING: # pragma: no cover
|
||||||
from novelwriter.guimain import GuiMain
|
from novelwriter.guimain import GuiMain
|
||||||
@@ -196,3 +197,14 @@ class NIconToggleButton(QToolButton):
|
|||||||
iconSize = self.iconSize()
|
iconSize = self.iconSize()
|
||||||
self.setIcon(SHARED.theme.getToggleIcon(iconKey, (iconSize.width(), iconSize.height())))
|
self.setIcon(SHARED.theme.getToggleIcon(iconKey, (iconSize.width(), iconSize.height())))
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
class NClickableLabel(QLabel):
|
||||||
|
|
||||||
|
mouseClick = pyqtSignal()
|
||||||
|
|
||||||
|
def mousePressEvent(self, event: QMouseEvent) -> None:
|
||||||
|
"""Capture a left mouse click and emit its signal."""
|
||||||
|
if event.button() == QtMouseLeft:
|
||||||
|
self.mouseClick.emit()
|
||||||
|
return super().mousePressEvent(event)
|
||||||
|
|||||||
Reference in New Issue
Block a user