X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FFindAndReplace.cpp;h=50f3641b5700fa6ad0442a08c84dd0dea7f3bd49;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=e91c3af639586754b48dca149c617a1fa63cf23a;hpb=e6fbc8bc72d2297ccdb7232e10103e5fd2c61340;p=lyx.git diff --git a/src/frontends/qt4/FindAndReplace.cpp b/src/frontends/qt4/FindAndReplace.cpp index e91c3af639..50f3641b57 100644 --- a/src/frontends/qt4/FindAndReplace.cpp +++ b/src/frontends/qt4/FindAndReplace.cpp @@ -82,57 +82,64 @@ FindAndReplaceWidget::FindAndReplaceWidget(GuiView & view) } -bool FindAndReplaceWidget::eventFilter(QObject *obj, QEvent *event) +bool FindAndReplaceWidget::eventFilter(QObject * obj, QEvent * event) { - if (obj == find_work_area_ - && event->type() == QEvent::KeyPress) { - QKeyEvent *e = static_cast (event); - if (e->key() == Qt::Key_Escape - && e->modifiers() == Qt::NoModifier) { + if (event->type() != QEvent::KeyPress + || (obj != find_work_area_ && obj != replace_work_area_)) + return QWidget::eventFilter(obj, event); + + QKeyEvent * e = static_cast (event); + switch (e->key()) { + case Qt::Key_Escape: + if (e->modifiers() == Qt::NoModifier) { hideDialog(); return true; - } else if (e->key() == Qt::Key_Enter - || e->key() == Qt::Key_Return) { - if (e->modifiers() == Qt::ShiftModifier) { + } + break; + + case Qt::Key_Enter: + case Qt::Key_Return: + if (e->modifiers() == Qt::ShiftModifier) { + if (obj == find_work_area_) on_findPrevPB_clicked(); - return true; - } else if (e->modifiers() == Qt::NoModifier) { + else + on_replacePrevPB_clicked(); + return true; + } else if (e->modifiers() == Qt::NoModifier) { + if (obj == find_work_area_) on_findNextPB_clicked(); - return true; - } - } else if (e->key() == Qt::Key_Tab - && e->modifiers() == Qt::NoModifier) { - LYXERR(Debug::FIND, "Focusing replace WA"); - replace_work_area_->setFocus(); + else + on_replaceNextPB_clicked(); return true; } - } - if (obj == replace_work_area_ - && event->type() == QEvent::KeyPress) { - QKeyEvent *e = static_cast (event); - if (e->key() == Qt::Key_Escape - && e->modifiers() == Qt::NoModifier) { - hideDialog(); - return true; - } else if (e->key() == Qt::Key_Enter - || e->key() == Qt::Key_Return) { - if (e->modifiers() == Qt::ShiftModifier) { - on_replacePrevPB_clicked(); - return true; - } else if (e->modifiers() == Qt::NoModifier) { - on_replaceNextPB_clicked(); + break; + + case Qt::Key_Tab: + if (e->modifiers() == Qt::NoModifier) { + if (obj == find_work_area_){ + LYXERR(Debug::FIND, "Focusing replace WA"); + replace_work_area_->setFocus(); return true; } - } else if (e->key() == Qt::Key_Backtab) { + } + break; + + case Qt::Key_Backtab: + if (obj == replace_work_area_) { LYXERR(Debug::FIND, "Focusing find WA"); find_work_area_->setFocus(); return true; } + break; + + default: + break; } // standard event processing return QWidget::eventFilter(obj, event); } + static docstring buffer_to_latex(Buffer & buffer) { OutputParams runparams(&buffer.params().encoding()); odocstringstream os; @@ -328,10 +335,10 @@ docstring question_string(FindAndReplaceOptions const & opt) } docstring message = opt.forward ? bformat(_("End of %1$s reached while searching forward.\n" - "Continue searching from begin?"), + "Continue searching from the beginning?"), scope) : - bformat(_("Beginning of %1$s reached while searching backwards.\n" - "Continue searching from end?"), + bformat(_("Beginning of %1$s reached while searching backward.\n" + "Continue searching from the end?"), scope); return message;