diff options
author | Cédric Bosdonnat <cedric.bosdonnat@free.fr> | 2013-03-20 17:06:31 +0100 |
---|---|---|
committer | Cédric Bosdonnat <cedric.bosdonnat@free.fr> | 2013-03-20 17:26:25 +0100 |
commit | ec2f84b376f595b0553297d25b7716f6b97e1b87 (patch) | |
tree | 7c2167e5bbc8c8374ca303d0d72172d4bd2029e8 | |
parent | 5fa5f9561dddd2c53511fb951660b4ad397321e8 (diff) |
Template Manager: select first item when getting focus if no selection
Change-Id: Ie012e010ca92728725535345c76fc9f5eb31a254
-rw-r--r-- | sfx2/source/control/thumbnailview.cxx | 19 |
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() |