diff options
Diffstat (limited to 'sfx2/source/control/templatesearchview.cxx')
-rw-r--r-- | sfx2/source/control/templatesearchview.cxx | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/sfx2/source/control/templatesearchview.cxx b/sfx2/source/control/templatesearchview.cxx index ab2f48960b14..f30c98d71e07 100644 --- a/sfx2/source/control/templatesearchview.cxx +++ b/sfx2/source/control/templatesearchview.cxx @@ -46,13 +46,40 @@ void TemplateSearchView::MouseButtonDown( const MouseEvent& rMEvt ) if(pViewItem) { maSelectedItem = dynamic_cast<TemplateViewItem*>(pItem); - maRightClickHdl.Call(pItem); + maCreateContextMenuHdl.Call(pItem); } } ThumbnailView::MouseButtonDown(rMEvt); } + +void TemplateSearchView::KeyInput( const KeyEvent& rKEvt ) +{ + vcl::KeyCode aKeyCode = rKEvt.GetKeyCode(); + + if(aKeyCode == (KEY_SHIFT | KEY_F10 )) + { + for (ThumbnailViewItem* pItem : mFilteredItemList) + { + //create context menu for the first selected item + if (pItem->isSelected()) + { + deselectItems(); + pItem->setSelection(true); + maItemStateHdl.Call(pItem); + Rectangle aRect = pItem->getDrawArea(); + maPosition = aRect.Center(); + maSelectedItem = dynamic_cast<TemplateViewItem*>(pItem); + maCreateContextMenuHdl.Call(pItem); + break; + } + } + } + + ThumbnailView::KeyInput(rKEvt); +} + void TemplateSearchView::createContextMenu( const bool bIsDefault) { std::unique_ptr<PopupMenu> pItemMenu(new PopupMenu); @@ -98,9 +125,9 @@ IMPL_LINK_TYPED(TemplateSearchView, ContextMenuSelectHdl, Menu*, pMenu, bool) return false; } -void TemplateSearchView::setRightClickHdl(const Link<ThumbnailViewItem*,void> &rLink) +void TemplateSearchView::setCreateContextMenuHdl(const Link<ThumbnailViewItem*,void> &rLink) { - maRightClickHdl = rLink; + maCreateContextMenuHdl = rLink; } void TemplateSearchView::setOpenTemplateHdl(const Link<ThumbnailViewItem*, void> &rLink) |