tdf#138024 Default Icons not refreshing in template manger search view

*added missing funtion to searchview
*call searchupdate when refreshing

Change-Id: I576b2e2de37e3f34b7499a914f0707586687643e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105387
Tested-by: Jenkins
Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
diff --git a/sfx2/source/control/templatesearchview.cxx b/sfx2/source/control/templatesearchview.cxx
index 25e62fd..41c318e 100644
--- a/sfx2/source/control/templatesearchview.cxx
+++ b/sfx2/source/control/templatesearchview.cxx
@@ -240,6 +240,19 @@ BitmapEx TemplateSearchView::getDefaultThumbnail( const OUString& rPath )
    return aImg;
}

void TemplateSearchView::RemoveDefaultTemplateIcon(const OUString& rPath)
{
    for (const std::unique_ptr<ThumbnailViewItem>& pItem : mItemList)
    {
        TemplateViewItem* pViewItem = dynamic_cast<TemplateViewItem*>(pItem.get());
        if (pViewItem && pViewItem->getPath().match(rPath))
        {
            pViewItem->showDefaultIcon(false);
            Invalidate();
            return;
        }
    }
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */


diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index aaed4e7..313bf59 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -475,7 +475,11 @@ IMPL_LINK(SfxTemplateManagerDlg, MenuSelectHdl, const OString&, rIdent, void)
    else if (rIdent == MNI_ACTION_DELETE_FOLDER)
        OnCategoryDelete();
    else if (rIdent == MNI_ACTION_REFRESH)
    {
        mxLocalView->reload();
        if(mxSearchView->IsVisible())
            SearchUpdateHdl(*mxSearchFilter);
    }
    else if (rIdent != MNI_ACTION_DEFAULT)
        DefaultTemplateMenuSelectHdl(rIdent);
}
@@ -486,7 +490,12 @@ void SfxTemplateManagerDlg::DefaultTemplateMenuSelectHdl(const OString& rIdent)

    OUString sPrevDefault = SfxObjectFactory::GetStandardTemplate( aServiceName );
    if(!sPrevDefault.isEmpty())
        mxLocalView->RemoveDefaultTemplateIcon(sPrevDefault);
    {
        if(mxSearchView->IsVisible())
            mxSearchView->RemoveDefaultTemplateIcon(sPrevDefault);
        else
            mxLocalView->RemoveDefaultTemplateIcon(sPrevDefault);
    }

    SfxObjectFactory::SetStandardTemplate( aServiceName, OUString() );

@@ -702,8 +711,12 @@ IMPL_LINK(SfxTemplateManagerDlg, DefaultTemplateHdl, ThumbnailViewItem*, pItem, 
        {
            OUString sPrevDefault = SfxObjectFactory::GetStandardTemplate( aServiceName );
            if(!sPrevDefault.isEmpty())
                mxLocalView->RemoveDefaultTemplateIcon(sPrevDefault);

            {
                if(mxSearchView->IsVisible())
                    mxSearchView->RemoveDefaultTemplateIcon(sPrevDefault);
                else
                    mxLocalView->RemoveDefaultTemplateIcon(sPrevDefault);
            }
            SfxObjectFactory::SetStandardTemplate(aServiceName,pViewItem->getPath());
            pViewItem->showDefaultIcon(true);
        }
diff --git a/sfx2/source/inc/templatesearchview.hxx b/sfx2/source/inc/templatesearchview.hxx
index 5dc23ad..d5a1dc3 100644
--- a/sfx2/source/inc/templatesearchview.hxx
+++ b/sfx2/source/inc/templatesearchview.hxx
@@ -43,6 +43,8 @@ public:

    static BitmapEx getDefaultThumbnail( const OUString& rPath );

    void RemoveDefaultTemplateIcon(const OUString& rPath);

private:
    virtual void OnItemDblClicked(ThumbnailViewItem *pItem) override;