diff --git a/src/Gui/KSMainWindow.h b/src/Gui/KSMainWindow.h --- a/src/Gui/KSMainWindow.h +++ b/src/Gui/KSMainWindow.h @@ -95,6 +95,8 @@ private: + void keyPressEvent(QKeyEvent *event) override; + KSWidget *mKSWidget; QFrame *mDivider; QDialogButtonBox *mDialogButtonBox; diff --git a/src/Gui/KSMainWindow.cpp b/src/Gui/KSMainWindow.cpp --- a/src/Gui/KSMainWindow.cpp +++ b/src/Gui/KSMainWindow.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -134,6 +135,7 @@ // the Button Bar mDialogButtonBox->setStandardButtons(QDialogButtonBox::Help); + mDialogButtonBox->button(QDialogButtonBox::Help)->setAutoDefault(false); mConfigureButton->setDefaultAction(KStandardAction::preferences(this, SLOT(showPreferencesDialog()), this)); mConfigureButton->setText(i18n("Configure...")); @@ -144,11 +146,13 @@ KGuiItem::assign(mToolsButton, KGuiItem(i18n("Tools"))); mToolsButton->setIcon(QIcon::fromTheme(QStringLiteral("tools"), QIcon::fromTheme(QStringLiteral("application-menu")))); + mToolsButton->setAutoDefault(false); mDialogButtonBox->addButton(mToolsButton, QDialogButtonBox::ActionRole); mToolsButton->setMenu(mToolsMenu); KGuiItem::assign(mSendToButton, KGuiItem(i18n("Export"))); mSendToButton->setIcon(QIcon::fromTheme(QStringLiteral("document-share"))); + mSendToButton->setAutoDefault(false); mDialogButtonBox->addButton(mSendToButton, QDialogButtonBox::ActionRole); mClipboardButton->setDefaultAction(KStandardAction::copy(this, SLOT(sendToClipboard()), this)); @@ -513,3 +517,21 @@ setWindowTitle(SpectacleConfig::instance()->lastSaveFile().fileName()); } } +#include +void KSMainWindow::keyPressEvent(QKeyEvent* event) +{ + if (event->key() == Qt::Key_Return) { + QWidget *fw = focusWidget(); + auto pb = qobject_cast(fw); + if (pb) { + pb->animateClick(); + return; + } + auto tb = qobject_cast(fw); + if (tb) { + tb->animateClick(); + return; + } + } + QDialog::keyPressEvent(event); +}