keyboard_widget: pop up any key dialog on double click
parent
915223cbb4
commit
0bbc49c500
|
|
@ -135,6 +135,7 @@ class EncoderWidget(KeyWidget):
|
|||
class KeyboardWidget(QWidget):
|
||||
|
||||
clicked = pyqtSignal()
|
||||
anykey = pyqtSignal()
|
||||
|
||||
def __init__(self, layout_editor):
|
||||
super().__init__()
|
||||
|
|
@ -359,8 +360,10 @@ class KeyboardWidget(QWidget):
|
|||
QToolTip.showText(ev.globalPos(), key.tooltip)
|
||||
else:
|
||||
QToolTip.hideText()
|
||||
if ev.type() == QEvent.LayoutRequest:
|
||||
elif ev.type() == QEvent.LayoutRequest:
|
||||
self.update_layout()
|
||||
elif ev.type() == QEvent.MouseButtonDblClick and self.active_key:
|
||||
self.anykey.emit()
|
||||
return super().event(ev)
|
||||
|
||||
def set_enabled(self, val):
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
from any_keycode_dialog import AnyKeycodeDialog
|
||||
from basic_editor import BasicEditor
|
||||
from keyboard_container import KeyboardContainer
|
||||
from keycodes import recreate_keyboard_keycodes
|
||||
|
|
@ -13,9 +13,11 @@ class KeymapEditor(BasicEditor):
|
|||
super().__init__()
|
||||
|
||||
self.keyboard_container = KeyboardContainer(layout_editor)
|
||||
self.keyboard_container.container.anykey.connect(self.on_any_keycode)
|
||||
|
||||
self.tabbed_keycodes = TabbedKeycodes()
|
||||
self.tabbed_keycodes.keycode_changed.connect(self.on_keycode_changed)
|
||||
self.tabbed_keycodes.anykey.connect(self.on_any_keycode)
|
||||
|
||||
self.addWidget(self.keyboard_container)
|
||||
self.addWidget(self.tabbed_keycodes)
|
||||
|
|
@ -45,3 +47,8 @@ class KeymapEditor(BasicEditor):
|
|||
def set_keymap_override(self, override):
|
||||
self.keyboard_container.set_keymap_override(override)
|
||||
self.tabbed_keycodes.set_keymap_override(override)
|
||||
|
||||
def on_any_keycode(self):
|
||||
dlg = AnyKeycodeDialog()
|
||||
if dlg.exec_() and dlg.value >= 0:
|
||||
self.on_keycode_changed(dlg.value)
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
from PyQt5.QtCore import Qt, QSize, pyqtSignal
|
||||
from PyQt5.QtWidgets import QTabWidget, QWidget, QPushButton, QScrollArea, QApplication
|
||||
from PyQt5.QtCore import Qt, pyqtSignal
|
||||
from PyQt5.QtWidgets import QTabWidget, QWidget, QScrollArea, QApplication
|
||||
from PyQt5.QtGui import QPalette
|
||||
|
||||
from any_keycode_dialog import AnyKeycodeDialog
|
||||
from constants import KEYCODE_BTN_RATIO
|
||||
from flowlayout import FlowLayout
|
||||
from keycodes import keycode_tooltip, KEYCODES_BASIC, KEYCODES_ISO, KEYCODES_MACRO, KEYCODES_LAYERS, KEYCODES_QUANTUM, \
|
||||
|
|
@ -17,6 +16,7 @@ from util import tr
|
|||
class TabbedKeycodes(QTabWidget):
|
||||
|
||||
keycode_changed = pyqtSignal(int)
|
||||
anykey = pyqtSignal()
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
|
|
@ -54,7 +54,7 @@ class TabbedKeycodes(QTabWidget):
|
|||
btn = SquareButton()
|
||||
btn.setText("Any")
|
||||
btn.setRelSize(KEYCODE_BTN_RATIO)
|
||||
btn.clicked.connect(self.on_any_keycode)
|
||||
btn.clicked.connect(lambda: self.anykey.emit())
|
||||
layout.addWidget(btn)
|
||||
|
||||
self.widgets += self.create_buttons(layout, keycodes)
|
||||
|
|
@ -111,8 +111,3 @@ class TabbedKeycodes(QTabWidget):
|
|||
label = widget.keycode.label
|
||||
widget.setStyleSheet("QPushButton {}")
|
||||
widget.setText(label.replace("&", "&&"))
|
||||
|
||||
def on_any_keycode(self):
|
||||
dlg = AnyKeycodeDialog()
|
||||
if dlg.exec_() and dlg.value >= 0:
|
||||
self.keycode_changed.emit(dlg.value)
|
||||
|
|
|
|||
Loading…
Reference in New Issue