mirror of
https://github.com/TagStudioDev/TagStudio.git
synced 2026-02-01 15:49:09 +00:00
fix input enterPressed event
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
# Copyright (C) 2024 Travis Abendshien (CyanVoxel).
|
||||
# Licensed under the GPL-3.0 License.
|
||||
# Created for TagStudio: https://github.com/CyanVoxel/TagStudio
|
||||
|
||||
|
||||
import logging
|
||||
from types import FunctionType
|
||||
from typing import Callable
|
||||
|
||||
from PySide6.QtCore import Signal, Qt
|
||||
from PySide6.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QLabel, QPushButton
|
||||
@@ -70,12 +70,12 @@ class PanelModal(QWidget):
|
||||
# self.cancel_button.clicked.connect(cancel_callback)
|
||||
self.button_layout.addWidget(self.cancel_button)
|
||||
|
||||
if save_callback or has_save:
|
||||
self.save_button = QPushButton()
|
||||
self.save_button.setText("Save")
|
||||
self.save_button.setAutoDefault(True)
|
||||
self.save_button.clicked.connect(self.hide)
|
||||
self.save_button.clicked.connect(self.saved.emit)
|
||||
|
||||
if done_callback:
|
||||
self.save_button.clicked.connect(done_callback)
|
||||
if save_callback:
|
||||
@@ -84,6 +84,9 @@ class PanelModal(QWidget):
|
||||
)
|
||||
self.button_layout.addWidget(self.save_button)
|
||||
|
||||
# trigger save button actions when pressing enter in the widget
|
||||
self.widget.add_callback(lambda: self.save_button.click())
|
||||
|
||||
widget.done.connect(lambda: save_callback(widget.get_content()))
|
||||
|
||||
self.root_layout.addWidget(self.title_widget)
|
||||
@@ -107,3 +110,6 @@ class PanelWidget(QWidget):
|
||||
|
||||
def reset(self):
|
||||
pass
|
||||
|
||||
def add_callback(self, callback: Callable, event: str = "returnPressed"):
|
||||
logging.warning(f"add_callback not implemented for {self.__class__.__name__}")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Copyright (C) 2024 Travis Abendshien (CyanVoxel).
|
||||
# Licensed under the GPL-3.0 License.
|
||||
# Created for TagStudio: https://github.com/CyanVoxel/TagStudio
|
||||
|
||||
from typing import Callable
|
||||
|
||||
from PySide6.QtWidgets import QVBoxLayout, QLineEdit
|
||||
|
||||
@@ -18,7 +18,6 @@ class EditTextLine(PanelWidget):
|
||||
self.text = text
|
||||
self.text_edit = QLineEdit()
|
||||
self.text_edit.setText(text)
|
||||
self.text_edit.returnPressed.connect(self.done.emit)
|
||||
self.root_layout.addWidget(self.text_edit)
|
||||
|
||||
def get_content(self) -> str:
|
||||
@@ -26,3 +25,9 @@ class EditTextLine(PanelWidget):
|
||||
|
||||
def reset(self):
|
||||
self.text_edit.setText(self.text)
|
||||
|
||||
def add_callback(self, callback: Callable, event: str = "returnPressed"):
|
||||
if event == "returnPressed":
|
||||
self.text_edit.returnPressed.connect(callback)
|
||||
else:
|
||||
raise ValueError(f"unknown event type: {event}")
|
||||
|
||||
Reference in New Issue
Block a user