This commit only contains Qt UI components that are self-contained, i.e. the translation units only contain code for a single class or interface and don't mix implementations.
37 lines
590 B
C++
37 lines
590 B
C++
#include "MenuButton.hpp"
|
|
|
|
#include <QKeyEvent>
|
|
#include <QMouseEvent>
|
|
|
|
#include "moc_MenuButton.cpp"
|
|
|
|
void MenuButton::keyPressEvent(QKeyEvent *event)
|
|
{
|
|
if (menu()) {
|
|
switch (event->key()) {
|
|
case Qt::Key_Enter:
|
|
case Qt::Key_Return:
|
|
emit clicked();
|
|
return;
|
|
case Qt::Key_Down:
|
|
case Qt::Key_Space:
|
|
showMenu();
|
|
return;
|
|
}
|
|
}
|
|
|
|
QPushButton::keyPressEvent(event);
|
|
}
|
|
|
|
void MenuButton::mousePressEvent(QMouseEvent *event)
|
|
{
|
|
if (menu()) {
|
|
if (width() - event->pos().x() <= 30)
|
|
showMenu();
|
|
else
|
|
setDown(true);
|
|
} else {
|
|
QPushButton::mousePressEvent(event);
|
|
}
|
|
}
|