gui: more greeter interactions

+ double click item to open node
+ Enter key while recent nodes are focused opens selected

Change-Id: I397f743faec70e623b5ef9a86d61625f8db7e933
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30736
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
This commit is contained in:
Alexander Zaft 2023-03-21 14:09:25 +01:00 committed by Markus Zolliker
parent 4cf54dcce8
commit c3796aa6eb

View File

@ -22,7 +22,7 @@
# ***************************************************************************** # *****************************************************************************
from frappy.gui.qt import QAction, QInputDialog, QKeySequence, QMainWindow, \ from frappy.gui.qt import QAction, QInputDialog, QKeySequence, QMainWindow, \
QMessageBox, QPixmap, QSettings, QShortcut, QWidget, pyqtSignal, \ QMessageBox, QPixmap, QSettings, QShortcut, Qt, QWidget, pyqtSignal, \
pyqtSlot pyqtSlot
import frappy.version import frappy.version
@ -44,6 +44,10 @@ class Greeter(QWidget):
# maybe change it at runtime instead of second file? # maybe change it at runtime instead of second file?
self.logoLabel.setPixmap(QPixmap(':/icons/logo_subtitle_light')) self.logoLabel.setPixmap(QPixmap(':/icons/logo_subtitle_light'))
self.loadRecent() self.loadRecent()
self.recentNodes.itemDoubleClicked.connect(self.recentNodeDoubleClicked)
self.shortcut = QShortcut(QKeySequence("Return"), self.recentNodes,
self.on_connectRecentButton_clicked,
context=Qt.ShortcutContext.WidgetWithChildrenShortcut)
def loadRecent(self): def loadRecent(self):
self.recentNodes.clear() self.recentNodes.clear()
@ -67,6 +71,9 @@ class Greeter(QWidget):
self.addnodes.emit([self.secnodeEdit.text() self.addnodes.emit([self.secnodeEdit.text()
or self.secnodeEdit.placeholderText()]) or self.secnodeEdit.placeholderText()])
def recentNodeDoubleClicked(self, item):
self.addnodes.emit([item.text()])
class MainWindow(QMainWindow): class MainWindow(QMainWindow):
recentNodesChanged = pyqtSignal() recentNodesChanged = pyqtSignal()