summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorKrisztian Pinter <pin.terminator@gmail.com>2013-09-11 17:34:09 +0200
committerCaolán McNamara <caolanm@redhat.com>2013-10-07 13:34:06 +0000
commiteacbdd0e974ff8229b18d1a8434a6ca08cfe8b34 (patch)
tree6fec08dcd2a0706845f876c3ab80f612a988d023 /sfx2
parentf3123d396c8f7f175551a9bab8bc232efe602083 (diff)
startcenter: Hide template toggle button if no templates
Change-Id: I9c6f2058e67990156a4be928449c6ebe6614e486 Reviewed-on: https://gerrit.libreoffice.org/5913 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/source/control/templatelocalview.cxx16
-rw-r--r--sfx2/source/dialog/backingwindow.cxx16
2 files changed, 28 insertions, 4 deletions
diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx
index a6933a372f9a..4d85a202ff74 100644
--- a/sfx2/source/control/templatelocalview.cxx
+++ b/sfx2/source/control/templatelocalview.cxx
@@ -59,6 +59,22 @@ TemplateLocalView::~TemplateLocalView()
delete mpDocTemplates;
}
+bool TemplateLocalView::HasUnfilteredItems(FILTER_APPLICATION App)
+{
+ ViewFilter_Application aFilter(App);
+ bool bFound = false;
+ for (size_t i = 0; !bFound && i < maRegions.size(); ++i)
+ {
+ TemplateContainerItem *pFolderItem = maRegions[i];
+
+ for (size_t j = 0; !bFound && j < pFolderItem->maTemplates.size(); ++j)
+ {
+ bFound = aFilter.isValid(pFolderItem->maTemplates[j].aPath);
+ }
+ }
+ return bFound;
+}
+
void TemplateLocalView::Populate ()
{
for (size_t i = 0; i < maRegions.size(); ++i)
diff --git a/sfx2/source/dialog/backingwindow.cxx b/sfx2/source/dialog/backingwindow.cxx
index 4bff268a6bdb..4b6d7490d2cc 100644
--- a/sfx2/source/dialog/backingwindow.cxx
+++ b/sfx2/source/dialog/backingwindow.cxx
@@ -369,11 +369,19 @@ void BackingWindow::setupTemplateView( TemplateLocalView* pView, FILTER_APPLICAT
pView->showRootRegion();
pView->setOpenTemplateHdl( LINK( this, BackingWindow, OpenTemplateHdl ) );
- // setup buttons
- pRecentButton->SetClickHdl( LINK( this, BackingWindow, RecentTemplateToggleHdl ) );
- pTemplateButton->SetClickHdl( LINK( this, BackingWindow, RecentTemplateToggleHdl ) );
+ if( pView->HasUnfilteredItems(eFilter) )
+ {
+ // setup buttons
+ pRecentButton->SetClickHdl( LINK( this, BackingWindow, RecentTemplateToggleHdl ) );
+ pTemplateButton->SetClickHdl( LINK( this, BackingWindow, RecentTemplateToggleHdl ) );
- pRecentButton->Hide(); // hidden by default
+ pRecentButton->Hide(); // hidden by default
+ }
+ else // no templates, hide toggle button
+ {
+ pTemplateButton->Hide();
+ pRecentButton->Hide();
+ }
}
void BackingWindow::Paint( const Rectangle& )
{