diff options
Diffstat (limited to 'sw/source')
-rw-r--r-- | sw/source/uibase/uiview/viewsrch.cxx | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sw/source/uibase/uiview/viewsrch.cxx b/sw/source/uibase/uiview/viewsrch.cxx index f3f216f7e307..bc922495e0f0 100644 --- a/sw/source/uibase/uiview/viewsrch.cxx +++ b/sw/source/uibase/uiview/viewsrch.cxx @@ -441,6 +441,7 @@ void SwView::ExecSearch(SfxRequest& rReq, bool bNoMessage) rReq.AppendItem(SfxBoolItem(SID_SEARCH_QUIET, true)); rReq.Done(); + m_eLastSearchCommand = m_pSrchItem->GetCommand(); } break; case FID_SEARCH_SEARCHSET: @@ -532,6 +533,17 @@ bool SwView::SearchAndWrap(bool bApi) m_pWrtShell->StartAllAction(); m_pWrtShell->Push(); + // After a search all action we place the cursor at the beginning of + // the document so that the single search selects the first matching + // occurrence in the document instead of the second. + if( m_eLastSearchCommand == SvxSearchCmd::FIND_ALL ) + { + if( DOCPOS_START == aOpts.eEnd ) + m_pWrtShell->EndDoc(); + else + m_pWrtShell->SttDoc(); + } + // fdo#65014 : Ensure that the point of the cursor is at the extremity of the // selection closest to the end being searched to as to exclude the selected // region from the search. (This doesn't work in the case of multiple |