make Search family and mask explicit for SfxNewStyleDlg

Change-Id: Ib3e5765d37474188d6505f1d9965969ee6c24f0c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93358
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/include/sfx2/newstyle.hxx b/include/sfx2/newstyle.hxx
index e7016b5..c61685d 100644
--- a/include/sfx2/newstyle.hxx
+++ b/include/sfx2/newstyle.hxx
@@ -22,14 +22,14 @@
#include <comphelper/string.hxx>
#include <sal/config.h>
#include <sfx2/dllapi.h>
#include <svl/style.hxx>
#include <vcl/weld.hxx>

class SfxStyleSheetBasePool;

class SFX2_DLLPUBLIC SfxNewStyleDlg final : public weld::GenericDialogController
{
private:
    SfxStyleSheetBasePool&  m_rPool;
    SfxStyleFamily m_eSearchFamily;

    std::unique_ptr<weld::EntryTreeView> m_xColBox;
    std::unique_ptr<weld::Button> m_xOKBtn;
@@ -41,7 +41,7 @@ private:
    DECL_DLLPRIVATE_LINK(ModifyHdl, weld::ComboBox&, void);

public:
    SfxNewStyleDlg(weld::Window* pParent, SfxStyleSheetBasePool&);
    SfxNewStyleDlg(weld::Window* pParent, SfxStyleSheetBasePool& rPool, SfxStyleFamily eFam, SfxStyleSearchBits nMask);
    virtual ~SfxNewStyleDlg() override;

    OUString                GetName() const { return comphelper::string::stripStart(m_xColBox->get_active_text(), ' '); }
diff --git a/sc/source/ui/view/formatsh.cxx b/sc/source/ui/view/formatsh.cxx
index 4c6cda1..7b5ae95 100644
--- a/sc/source/ui/view/formatsh.cxx
+++ b/sc/source/ui/view/formatsh.cxx
@@ -433,7 +433,7 @@ void ScFormatShell::ExecuteStyle( SfxRequest& rReq )
                        weld::Window* pDialogParent = rReq.GetFrameWeld();
                        if (!pDialogParent)
                            pDialogParent = pTabViewShell->GetFrameWeld();
                        SfxNewStyleDlg aDlg(pDialogParent, *pStylePool);
                        SfxNewStyleDlg aDlg(pDialogParent, *pStylePool, eFamily, SfxStyleSearchBits::All);
                        if (aDlg.run() != RET_OK)
                            return;
                        aStyleName = aDlg.GetName();
diff --git a/sfx2/source/dialog/newstyle.cxx b/sfx2/source/dialog/newstyle.cxx
index ed7a20f..288fc39 100644
--- a/sfx2/source/dialog/newstyle.cxx
+++ b/sfx2/source/dialog/newstyle.cxx
@@ -30,7 +30,7 @@
IMPL_LINK_NOARG(SfxNewStyleDlg, OKClickHdl, weld::Button&, void)
{
    const OUString aName(m_xColBox->get_active_text());
    SfxStyleSheetBase* pStyle = m_rPool.Find(aName, m_rPool.GetSearchFamily());
    SfxStyleSheetBase* pStyle = m_rPool.Find(aName, m_eSearchFamily);
    if ( pStyle )
    {
        if ( !pStyle->IsUserDefined() )
@@ -60,9 +60,10 @@ IMPL_LINK(SfxNewStyleDlg, ModifyHdl, weld::ComboBox&, rBox, void)
    m_xOKBtn->set_sensitive(!rBox.get_active_text().replaceAll(" ", "").isEmpty());
}

SfxNewStyleDlg::SfxNewStyleDlg(weld::Window* pParent, SfxStyleSheetBasePool& rInPool)
SfxNewStyleDlg::SfxNewStyleDlg(weld::Window* pParent, SfxStyleSheetBasePool& rInPool, SfxStyleFamily eFam, SfxStyleSearchBits nMask)
    : GenericDialogController(pParent, "sfx/ui/newstyle.ui", "CreateStyleDialog")
    , m_rPool(rInPool)
    , m_eSearchFamily(eFam)
    , m_xColBox(m_xBuilder->weld_entry_tree_view("stylegrid", "stylename", "styles"))
    , m_xOKBtn(m_xBuilder->weld_button("ok"))
    , m_xQueryOverwriteBox(Application::CreateMessageDialog(m_xDialog.get(), VclMessageType::Question, VclButtonsType::YesNo,
@@ -75,11 +76,12 @@ SfxNewStyleDlg::SfxNewStyleDlg(weld::Window* pParent, SfxStyleSheetBasePool& rIn
    m_xColBox->connect_changed(LINK(this, SfxNewStyleDlg, ModifyHdl));
    m_xColBox->connect_row_activated(LINK(this, SfxNewStyleDlg, OKHdl));

    SfxStyleSheetBase *pStyle = m_rPool.First();
    auto xIter = m_rPool.CreateIterator(eFam, nMask);
    SfxStyleSheetBase *pStyle = xIter->First();
    while (pStyle)
    {
        m_xColBox->append_text(pStyle->GetName());
        pStyle = m_rPool.Next();
        pStyle = xIter->Next();
    }
}

diff --git a/sfx2/source/dialog/templdlg.cxx b/sfx2/source/dialog/templdlg.cxx
index 9fe3592..6cfc649 100644
--- a/sfx2/source/dialog/templdlg.cxx
+++ b/sfx2/source/dialog/templdlg.cxx
@@ -1621,7 +1621,7 @@ void SfxCommonTemplateDialog_Impl::ActionSelect(const OString& rEntry)
            pStyleSheetPool->SetSearchMask( eFam, SfxStyleSearchBits::UserDefined );

            // why? : FloatingWindow must not be parent of a modal dialog
            SfxNewStyleDlg aDlg(pWindow ? pWindow->GetFrameWeld() : nullptr, *pStyleSheetPool);
            SfxNewStyleDlg aDlg(pWindow ? pWindow->GetFrameWeld() : nullptr, *pStyleSheetPool, eFam, SfxStyleSearchBits::UserDefined);
            if (aDlg.run() ==  RET_OK)
            {
                pStyleSheetPool->SetSearchMask(eFam, nFilter);
diff --git a/sw/source/uibase/app/docst.cxx b/sw/source/uibase/app/docst.cxx
index 72aaf1e..9b7d70a 100644
--- a/sw/source/uibase/app/docst.cxx
+++ b/sw/source/uibase/app/docst.cxx
@@ -372,7 +372,8 @@ void SwDocShell::ExecStyleSheet( SfxRequest& rReq )
                {
                    case SID_STYLE_NEW_BY_EXAMPLE:
                    {
                        SfxNewStyleDlg aDlg(GetView()->GetFrameWeld(), *GetStyleSheetPool());
                        SfxStyleSheetBasePool& rPool = *GetStyleSheetPool();
                        SfxNewStyleDlg aDlg(GetView()->GetFrameWeld(), rPool, rPool.GetSearchFamily(), rPool.GetSearchMask());
                        if (aDlg.run() == RET_OK)
                        {
                            aParam = aDlg.GetName();