From ab060499509df76961ce2a7dd5b928dda5c5099d Mon Sep 17 00:00:00 2001 From: Tommaso Cucinotta Date: Sat, 22 Aug 2009 16:09:44 +0000 Subject: [PATCH] Advanced Find and Replace turned to a NoBuffer dialog (however, it keeps being disabled if no buffer is open, needs fix). git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31202 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/LyXAction.cpp | 2 +- src/frontends/qt4/FindAndReplace.cpp | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp index 6df834e925..5319307602 100644 --- a/src/LyXAction.cpp +++ b/src/LyXAction.cpp @@ -885,7 +885,7 @@ void LyXAction::init() * \li Origin: Tommaso, Nov 15 2007 * \endvar */ - { LFUN_WORD_FINDADV, "word-findadv", ReadOnly, Edit }, + { LFUN_WORD_FINDADV, "word-findadv", ReadOnly | NoBuffer, Edit }, /*! * \var lyx::FuncCode lyx::LFUN_WORD_FORWARD * \li Action: Moves the cursor to the logically next beginning of a word. diff --git a/src/frontends/qt4/FindAndReplace.cpp b/src/frontends/qt4/FindAndReplace.cpp index 8c0f4ec4ad..64d38f60c3 100644 --- a/src/frontends/qt4/FindAndReplace.cpp +++ b/src/frontends/qt4/FindAndReplace.cpp @@ -59,7 +59,9 @@ FindAndReplaceWidget::FindAndReplaceWidget(GuiView & view) bool FindAndReplaceWidget::eventFilter(QObject *obj, QEvent *event) { - LYXERR(Debug::FIND, "FindAndReplace::eventFilter(): obj=" << obj << ", fwa=" << find_work_area_ << ", rwa=" << replace_work_area_ << "fsa=" << find_scroll_area_ << ", rsa=" << replace_scroll_area_); + LYXERR(Debug::FIND, "FindAndReplace::eventFilter(): obj=" << obj + << ", fwa=" << find_work_area_ << ", rwa=" << replace_work_area_ + << "fsa=" << find_scroll_area_ << ", rsa=" << replace_scroll_area_); if (obj == find_work_area_ && event->type() == QEvent::KeyPress) { QKeyEvent *e = static_cast (event); if (e->key() == Qt::Key_Escape && e->modifiers() == Qt::NoModifier) { @@ -179,6 +181,10 @@ void FindAndReplaceWidget::findAndReplace( void FindAndReplaceWidget::findAndReplace(bool backwards, bool replace) { + if (! view_.currentMainWorkArea()) { + view_.message(_("No open document(s) in which to search")); + return; + } // FIXME: create a Dialog::returnFocus() or something instead of this: view_.setCurrentWorkArea(view_.currentMainWorkArea()); findAndReplace(caseCB->isChecked(), -- 2.39.5