summaryrefslogtreecommitdiff
path: root/sfx2/source/control/templatesearchview.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sfx2/source/control/templatesearchview.cxx')
-rw-r--r--sfx2/source/control/templatesearchview.cxx33
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)