Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/1905
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/05/1905/1
fdo#59397 Use more precise wording at 'Find & Replace - More Options - Styles'
Change-Id: I5013e8b2ce99478f2445756e181f009b93d4e746
---
M svx/inc/svx/dialogs.hrc
M svx/inc/svx/srchdlg.hxx
M svx/source/dialog/srchdlg.cxx
M svx/source/dialog/srchdlg.src
4 files changed, 71 insertions(+), 6 deletions(-)
diff --git a/svx/inc/svx/dialogs.hrc b/svx/inc/svx/dialogs.hrc
index d9420b5..2ab14c7 100644
--- a/svx/inc/svx/dialogs.hrc
+++ b/svx/inc/svx/dialogs.hrc
@@ -265,8 +265,8 @@
#define RID_SVXSTR_SEARCH_STYLES(RID_SVX_START + 80)
#define RID_SVXSTR_SEARCH (RID_SVX_START + 81)
#define RID_SVXSTR_REPLACE (RID_SVX_START + 82)
-
-
+#define RID_SVXSTR_WRITER_STYLES(RID_SVX_START + 83)
+#define RID_SVXSTR_CALC_STYLES (RID_SVX_START + 85)
// ResIds for the PageDialog
// Strings of the ToolBox-Controls from tbcontrl.cxx
diff --git a/svx/inc/svx/srchdlg.hxx b/svx/inc/svx/srchdlg.hxx
index f95626f..b34dd89 100644
--- a/svx/inc/svx/srchdlg.hxx
+++ b/svx/inc/svx/srchdlg.hxx
@@ -203,6 +203,8 @@
sal_uIntPtr nModifyFlag;
String aStylesStr;
String aLayoutStr;
+String aLayoutWriterStr;
+String aLayoutCalcStr;
String aCalcStr;
std::vector aSearchStrings;
diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx
index 6b29f4d..f9eb850 100644
--- a/svx/source/dialog/srchdlg.cxx
+++ b/svx/source/dialog/srchdlg.cxx
@@ -371,6 +371,8 @@
aCalcStr += aWordBtn.GetText();
aLayoutStr = SVX_RESSTR( RID_SVXSTR_SEARCH_STYLES );
+aLayoutWriterStr = SVX_RESSTR( RID_SVXSTR_WRITER_STYLES );
+aLayoutCalcStr = SVX_RESSTR( RID_SVXSTR_CALC_STYLES );
aStylesStr = aLayoutBtn.GetText();
// Get stored search-strings from the application
@@ -1985,6 +1987,23 @@
IMPL_LINK( SvxSearchDialog, FocusHdl_Impl, Control *, pCtrl )
{
sal_Int32 nTxtLen;
+bool bDrawApp = false;
+bool bCalcApp = false;
+bool bWriterApp = false;
+bool bImpressApp = false;
+const uno::Reference< frame::XFrame > xFrame = rBindings.GetActiveFrame();
+uno::Reference< frame::XModuleManager2 > xModuleManager(
frame::ModuleManager::create(::comphelper::getProcessComponentContext()) );
+try
+{
+::rtl::OUString aModuleIdentifier = xModuleManager->identify( xFrame );
+bCalcApp = aModuleIdentifier ==
"com.sun.star.sheet.SpreadsheetDocument";
+bDrawApp = aModuleIdentifier == "com.sun.star.drawing.DrawingDocument";
+bImpressApp = aModuleIdentifier ==
"com.sun.star.presentation.PresentationDocument";
+bWriterApp = aModuleIdentifier == "com.sun.star.text.TextDocument";
+}
+catch ( uno::Exception& )
+{
+}
if ( !pImpl->bMultiLineEdit )
nTxtLen = aSearchAttrText.GetText().getLength();
@@ -2022,8 +2041,16 @@
aSearchLB.SetSelection( Selection( SELECTION_MIN, SELECTION_MAX ) );
ModifyHdl_Impl( (ComboBox*)pCtrl );
-
-aLayoutBtn.SetText( bFormat && nTxtLen ? aLayoutStr : aStylesStr );
+
+if(bWriterApp)
+aLayoutBtn.SetText( bFormat && nTxtLen ? aLayoutStr : aLayoutWriterStr
);
+else
+{
+if(bCalcApp)
+aLayoutBtn.SetText( bFormat && nTxtLen ? aLayoutStr :
aLayoutCalcStr );
+else
+aLayoutBtn.SetText( bFormat && nTxtLen ? aLayoutStr : aStylesStr );
+}
return 0;
}
@@ -2134,8 +2161,36 @@
// ---
IMPL_LINK_NOARG(SvxSearchDialog, NoFormatHdl_Impl)
-{
-aLayoutBtn.SetText( aStylesStr );
+{
+bool bDrawApp = false;
+bool bCalcApp = false;
+bool bWriterApp = false;
+bool bImpressApp = false;
+const uno::Reference< frame::XFrame > xFrame = rBindings.GetActiveFrame();
+uno::Reference< frame::XModuleManager2 > xModuleManager(
frame::ModuleManager::create(::comphelper::getProcessComponentContext()) );
+try
+{
+::rtl::OUString aModuleIdentifier = xModuleManager->identify( xFrame );
+bCalcApp = aModuleIdentifier ==
"com.sun.star.sheet.SpreadsheetDocument";
+bDrawApp = aModuleIdentifier == "com.sun.star.drawing.DrawingDocument";
+bImpressApp = aModuleIdentifier ==
"com.sun.star.presentation.PresentationDocument";
+bWriterApp = aModuleIdentifier == "com.sun.star.text.TextDocument";
+}
+catch ( uno::Exception& )
+{
+}
+
+if(bCalcApp)
+aLayoutBtn.SetText( aLayoutCalcStr );
+else
+{
+if(bWriterApp)
+aLayoutBtn.SetText( aLayoutWriterStr);
+else
+aLayoutBtn.SetText( aStylesStr );
+}
+
+
bFormat = sal_False;
aLayoutBtn.Check( sal_False );
diff --git a/svx/source/dia