diff options
author | Andreas Heinisch <andreas.heinisch@yahoo.de> | 2023-05-03 18:02:30 +0200 |
---|---|---|
committer | Andreas Heinisch <andreas.heinisch@yahoo.de> | 2023-05-04 12:08:55 +0200 |
commit | 4cae4a11642f0d8f0c8005141893e34e1c216fde (patch) | |
tree | 9242f960d8cc9cc3d417d1e3cdbbdf4d3abcabe3 /svx | |
parent | f2eac63dcca642efc80a171a986aecc482f9cbc6 (diff) |
tdf#154818 - Find bar: remember and reuse last search string
Changed remembered search string in the find bar from user
configuration to session and added UI test.
Change-Id: Idf211f1fadd87ba935fe3948c20c4e511aa8afdc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151335
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/inc/findtextfield.hxx | 2 | ||||
-rw-r--r-- | svx/source/tbxctrls/tbunosearchcontrollers.cxx | 26 |
2 files changed, 11 insertions, 17 deletions
diff --git a/svx/source/inc/findtextfield.hxx b/svx/source/inc/findtextfield.hxx index 8cfa98f03242..2c79a529b3f4 100644 --- a/svx/source/inc/findtextfield.hxx +++ b/svx/source/inc/findtextfield.hxx @@ -67,6 +67,8 @@ private: // tdf#154269 - respect FindReplaceRememberedSearches expert option sal_uInt16 m_nRememberSize; + // tdf#154818 - remember last search string + static OUString m_sRememberedSearchString; }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svx/source/tbxctrls/tbunosearchcontrollers.cxx b/svx/source/tbxctrls/tbunosearchcontrollers.cxx index 1ae8a0b5c738..e2c76a9800de 100644 --- a/svx/source/tbxctrls/tbunosearchcontrollers.cxx +++ b/svx/source/tbxctrls/tbunosearchcontrollers.cxx @@ -60,7 +60,6 @@ #include <svx/labelitemwindow.hxx> #include <svx/srchdlg.hxx> #include <vcl/event.hxx> -#include <unotools/viewoptions.hxx> #include <findtextfield.hxx> @@ -192,6 +191,9 @@ void impl_executeSearch( const css::uno::Reference< css::uno::XComponentContext } +// tdf#154818 - remember last search string +OUString FindTextFieldControl::m_sRememberedSearchString; + FindTextFieldControl::FindTextFieldControl( vcl::Window* pParent, css::uno::Reference< css::frame::XFrame > xFrame, css::uno::Reference< css::uno::XComponentContext > xContext) : @@ -260,20 +262,12 @@ void FindTextFieldControl::SetTextToSelected_Impl() m_xWidget->set_entry_text(aString); m_aChangeHdl.Call(*m_xWidget); } - else + // tdf#154818 - reuse last search string + else if (!m_sRememberedSearchString.isEmpty() || get_count() > 0) { - // tdf#154818 - reuse last search string - SvtViewOptions aDlgOpt(EViewType::Dialog, m_xWidget->get_help_id()); - if (aDlgOpt.Exists()) - { - css::uno::Any aUserItem = aDlgOpt.GetUserItem("UserItem"); - aUserItem >>= aString; - } - else if (get_count() > 0) - aString = m_xWidget->get_text(0); - // prepopulate with last search word (fdo#84256) - m_xWidget->set_entry_text(aString); + m_xWidget->set_entry_text(m_sRememberedSearchString.isEmpty() ? m_xWidget->get_text(0) + : m_sRememberedSearchString); } } @@ -340,10 +334,8 @@ IMPL_LINK(FindTextFieldControl, KeyInputHdl, const KeyEvent&, rKeyEvent, bool) void FindTextFieldControl::ActivateFind(bool bShift) { // tdf#154818 - remember last search string - const OUString aLastSearchString = m_xWidget->get_active_text(); - SvtViewOptions aDlgOpt(EViewType::Dialog, m_xWidget->get_help_id()); - aDlgOpt.SetUserItem("UserItem", css::uno::Any(aLastSearchString)); - Remember_Impl(aLastSearchString); + m_sRememberedSearchString = m_xWidget->get_active_text(); + Remember_Impl(m_sRememberedSearchString); vcl::Window* pWindow = GetParent(); ToolBox* pToolBox = static_cast<ToolBox*>(pWindow); |