mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-13 01:24:46 -07:00
move SearchLineEdit into custom_line_edit file (#5281)
This commit is contained in:
parent
91d2485940
commit
6ea333d0f1
4 changed files with 36 additions and 34 deletions
|
|
@ -6,6 +6,7 @@
|
|||
#include <QKeyEvent>
|
||||
#include <QLineEdit>
|
||||
#include <QObject>
|
||||
#include <QTreeView>
|
||||
#include <QWidget>
|
||||
|
||||
LineEditUnfocusable::LineEditUnfocusable(QWidget *parent) : QLineEdit(parent)
|
||||
|
|
@ -69,3 +70,19 @@ bool LineEditUnfocusable::eventFilter(QObject *watched, QEvent *event)
|
|||
|
||||
return QLineEdit::eventFilter(watched, event);
|
||||
}
|
||||
|
||||
void SearchLineEdit::keyPressEvent(QKeyEvent *event)
|
||||
{
|
||||
// List of key events that must be handled by the card list instead of the search box
|
||||
static const QVector<Qt::Key> forwardToTreeView = {Qt::Key_Up, Qt::Key_Down, Qt::Key_PageDown, Qt::Key_PageUp};
|
||||
// forward only if the search text is empty
|
||||
static const QVector<Qt::Key> forwardWhenEmpty = {Qt::Key_Home, Qt::Key_End};
|
||||
Qt::Key key = static_cast<Qt::Key>(event->key());
|
||||
if (treeView) {
|
||||
if (forwardToTreeView.contains(key))
|
||||
QCoreApplication::sendEvent(treeView, event);
|
||||
if (text().isEmpty() && forwardWhenEmpty.contains(key))
|
||||
QCoreApplication::sendEvent(treeView, event);
|
||||
}
|
||||
LineEditUnfocusable::keyPressEvent(event);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue