mirror of
https://github.com/KeksPirates/SoftwareManager.git
synced 2026-08-03 17:39:42 +02:00
fix: redraws pixmap after changing image settings so restart is no longer required
This commit is contained in:
@@ -15,6 +15,8 @@ class Image(QObject):
|
|||||||
|
|
||||||
parent.installEventFilter(self)
|
parent.installEventFilter(self)
|
||||||
|
|
||||||
|
state.image_changed.connect(self.update_image_overlay)
|
||||||
|
|
||||||
if state.image_path and os.path.exists(state.image_path):
|
if state.image_path and os.path.exists(state.image_path):
|
||||||
self._load_and_display(state.image_path)
|
self._load_and_display(state.image_path)
|
||||||
|
|
||||||
@@ -35,7 +37,7 @@ class Image(QObject):
|
|||||||
return
|
return
|
||||||
|
|
||||||
scaled_image = image.scaledToWidth(
|
scaled_image = image.scaledToWidth(
|
||||||
int(state.image_width), Qt.TransformationMode.SmoothTransformation
|
state.image_width, Qt.TransformationMode.SmoothTransformation
|
||||||
)
|
)
|
||||||
|
|
||||||
max_width = parent.width()
|
max_width = parent.width()
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ def settings_dialog(self):
|
|||||||
image_path_layout = QHBoxLayout()
|
image_path_layout = QHBoxLayout()
|
||||||
|
|
||||||
image_path = QLineEdit()
|
image_path = QLineEdit()
|
||||||
image_path_layout.addWidget(QLabel("Image Path (requires restart, experimental):"))
|
image_path_layout.addWidget(QLabel("Image Path:"))
|
||||||
image_path_layout.addWidget(image_path)
|
image_path_layout.addWidget(image_path)
|
||||||
image_path_container.setSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
|
image_path_container.setSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
|
||||||
image_path_container.setLayout(image_path_layout)
|
image_path_container.setLayout(image_path_layout)
|
||||||
@@ -167,7 +167,7 @@ def settings_dialog(self):
|
|||||||
|
|
||||||
enable_image_checkbox = QCheckBox()
|
enable_image_checkbox = QCheckBox()
|
||||||
enable_image_container.setLayout(enable_image_layout)
|
enable_image_container.setLayout(enable_image_layout)
|
||||||
enable_image_layout.addWidget(QLabel("Enable Image: "))
|
enable_image_layout.addWidget(QLabel("Enable Image (needs image_path): "))
|
||||||
|
|
||||||
enable_image_layout.addStretch()
|
enable_image_layout.addStretch()
|
||||||
enable_image_checkbox.setChecked(state.image_enabled)
|
enable_image_checkbox.setChecked(state.image_enabled)
|
||||||
|
|||||||
+22
-2
@@ -29,8 +29,8 @@ class AppState(QObject):
|
|||||||
self.interfaces: List = []
|
self.interfaces: List = []
|
||||||
self.active_interfaces: List = []
|
self.active_interfaces: List = []
|
||||||
self.bound_interface: Any = None
|
self.bound_interface: Any = None
|
||||||
self.image_width: int = 300 # Default to 300px
|
self._image_width: int = 300 # Default to 300px
|
||||||
self.image_offset: int = 50
|
self._image_offset: int = 50
|
||||||
self.image_enabled: bool = False
|
self.image_enabled: bool = False
|
||||||
|
|
||||||
# Trackers / Scraping
|
# Trackers / Scraping
|
||||||
@@ -61,4 +61,24 @@ class AppState(QObject):
|
|||||||
self._image_path = new_path
|
self._image_path = new_path
|
||||||
self.image_changed.emit(new_path)
|
self.image_changed.emit(new_path)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def image_offset(self) -> int:
|
||||||
|
return self._image_offset
|
||||||
|
|
||||||
|
@image_offset.setter
|
||||||
|
def image_offset(self, new_offset: int):
|
||||||
|
if new_offset != self._image_offset:
|
||||||
|
self._image_offset = new_offset
|
||||||
|
self.image_changed.emit(self._image_path)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def image_width(self) -> int:
|
||||||
|
return self._image_width
|
||||||
|
|
||||||
|
@image_width.setter
|
||||||
|
def image_width(self, new_offset: int):
|
||||||
|
if new_offset != self._image_width:
|
||||||
|
self._image_width = new_offset
|
||||||
|
self.image_changed.emit(self._image_path)
|
||||||
|
|
||||||
state = AppState()
|
state = AppState()
|
||||||
|
|||||||
Reference in New Issue
Block a user