summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat@free.fr>2013-03-20 17:06:31 +0100
committerCédric Bosdonnat <cedric.bosdonnat@free.fr>2013-03-20 17:26:25 +0100
commitec2f84b376f595b0553297d25b7716f6b97e1b87 (patch)
tree7c2167e5bbc8c8374ca303d0d72172d4bd2029e8
parent5fa5f9561dddd2c53511fb951660b4ad397321e8 (diff)
Template Manager: select first item when getting focus if no selection
Change-Id: Ie012e010ca92728725535345c76fc9f5eb31a254
-rw-r--r--sfx2/source/control/thumbnailview.cxx19
1 files changed, 18 insertions, 1 deletions
diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx
index 78f8e32b43ae..3695068226f9 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -576,12 +576,29 @@ void ThumbnailView::Paint( const Rectangle &aRect)
void ThumbnailView::GetFocus()
{
- Control::GetFocus();
+ // Select the first item if nothing selected
+ int nSelected = -1;
+ for (size_t i = 0, n = mItemList.size(); i < n && nSelected == -1; ++i)
+ {
+ if (mItemList[i]->isSelected())
+ nSelected = i;
+ }
+
+ if ( nSelected == -1 && mItemList.size( ) > 0 )
+ {
+ mItemList[0]->setSelection(true);
+ maItemStateHdl.Call(mItemList[0]);
+
+ if (IsReallyVisible() && IsUpdateMode())
+ Invalidate();
+ }
// Tell the accessible object that we got the focus.
ThumbnailViewAcc* pAcc = ThumbnailViewAcc::getImplementation( GetAccessible( sal_False ) );
if( pAcc )
pAcc->GetFocus();
+
+ Control::GetFocus();
}
void ThumbnailView::LoseFocus()