summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/sfx2/templateabstractview.hxx4
-rw-r--r--include/sfx2/templatedlg.hxx2
-rw-r--r--sfx2/source/control/templateabstractview.cxx24
-rw-r--r--sfx2/source/control/templatesearchview.cxx33
-rw-r--r--sfx2/source/dialog/backingwindow.cxx4
-rw-r--r--sfx2/source/dialog/backingwindow.hxx2
-rw-r--r--sfx2/source/doc/templatedlg.cxx6
-rw-r--r--sfx2/source/inc/templatesearchview.hxx6
8 files changed, 64 insertions, 17 deletions
diff --git a/include/sfx2/templateabstractview.hxx b/include/sfx2/templateabstractview.hxx
index 55890c75cc07..a5d4a7522971 100644
--- a/include/sfx2/templateabstractview.hxx
+++ b/include/sfx2/templateabstractview.hxx
@@ -102,7 +102,7 @@ public:
void setOpenRegionHdl(const Link<void*,void> &rLink);
- void setRightClickHdl(const Link<ThumbnailViewItem*,void> &rLink);
+ void setCreateContextMenuHdl(const Link<ThumbnailViewItem*,void> &rLink);
void setOpenTemplateHdl(const Link<ThumbnailViewItem*,void> &rLink);
@@ -145,7 +145,7 @@ protected:
Point maPosition;
Link<void*,void> maOpenRegionHdl;
- Link<ThumbnailViewItem*,void> maRightClickHdl;
+ Link<ThumbnailViewItem*,void> maCreateContextMenuHdl;
Link<ThumbnailViewItem*,void> maOpenTemplateHdl;
Link<ThumbnailViewItem*,void> maEditTemplateHdl;
Link<ThumbnailViewItem*,void> maDeleteTemplateHdl;
diff --git a/include/sfx2/templatedlg.hxx b/include/sfx2/templatedlg.hxx
index 6fbcf65077e6..4e5900b3f18b 100644
--- a/include/sfx2/templatedlg.hxx
+++ b/include/sfx2/templatedlg.hxx
@@ -81,7 +81,7 @@ private:
DECL_LINK_TYPED(DefaultTemplateMenuSelectHdl, Menu*, bool);
DECL_LINK_TYPED(OpenRegionHdl, void*, void);
- DECL_LINK_TYPED(RightClickHdl, ThumbnailViewItem*, void);
+ DECL_LINK_TYPED(CreateContextMenuHdl, ThumbnailViewItem*, void);
DECL_LINK_TYPED(OpenTemplateHdl, ThumbnailViewItem*, void);
DECL_LINK_TYPED(EditTemplateHdl, ThumbnailViewItem*, void);
DECL_LINK_TYPED(DeleteTemplateHdl, ThumbnailViewItem*, void);
diff --git a/sfx2/source/control/templateabstractview.cxx b/sfx2/source/control/templateabstractview.cxx
index 6d74a62c8b50..4e5758530120 100644
--- a/sfx2/source/control/templateabstractview.cxx
+++ b/sfx2/source/control/templateabstractview.cxx
@@ -190,7 +190,7 @@ void TemplateAbstractView::MouseButtonDown( const MouseEvent& rMEvt )
if(pViewItem)
{
maSelectedItem = dynamic_cast<TemplateViewItem*>(pItem);
- maRightClickHdl.Call(pItem);
+ maCreateContextMenuHdl.Call(pItem);
}
}
@@ -216,6 +216,24 @@ void TemplateAbstractView::KeyInput( const KeyEvent& rKEvt )
Invalidate();
return;
}
+ else 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);
}
@@ -226,9 +244,9 @@ void TemplateAbstractView::setOpenRegionHdl(const Link<void*,void> &rLink)
maOpenRegionHdl = rLink;
}
-void TemplateAbstractView::setRightClickHdl(const Link<ThumbnailViewItem*,void> &rLink)
+void TemplateAbstractView::setCreateContextMenuHdl(const Link<ThumbnailViewItem*,void> &rLink)
{
- maRightClickHdl = rLink;
+ maCreateContextMenuHdl = rLink;
}
void TemplateAbstractView::setOpenTemplateHdl(const Link<ThumbnailViewItem*,void> &rLink)
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)
diff --git a/sfx2/source/dialog/backingwindow.cxx b/sfx2/source/dialog/backingwindow.cxx
index 20e97a7ae2a9..3c4510672765 100644
--- a/sfx2/source/dialog/backingwindow.cxx
+++ b/sfx2/source/dialog/backingwindow.cxx
@@ -262,7 +262,7 @@ void BackingWindow::initControls()
mpTemplateButton->SetMenuMode( MENUBUTTON_MENUMODE_TIMED );
//set handlers
- mpLocalView->setRightClickHdl(LINK(this, BackingWindow, RightClickHdl));
+ mpLocalView->setCreateContextMenuHdl(LINK(this, BackingWindow, CreateContextMenuHdl));
mpLocalView->setOpenTemplateHdl(LINK(this, BackingWindow, OpenTemplateHdl));
mpLocalView->setEditTemplateHdl(LINK(this, BackingWindow, EditTemplateHdl));
@@ -625,7 +625,7 @@ IMPL_LINK_TYPED( BackingWindow, MenuSelectHdl, MenuButton*, pButton, void )
mpLocalView->GrabFocus();
}
-IMPL_LINK_TYPED(BackingWindow, RightClickHdl, ThumbnailViewItem*, pItem, void)
+IMPL_LINK_TYPED(BackingWindow, CreateContextMenuHdl, ThumbnailViewItem*, pItem, void)
{
const TemplateViewItem *pViewItem = dynamic_cast<TemplateViewItem*>(pItem);
diff --git a/sfx2/source/dialog/backingwindow.hxx b/sfx2/source/dialog/backingwindow.hxx
index 5b5194a106ef..199302f2e500 100644
--- a/sfx2/source/dialog/backingwindow.hxx
+++ b/sfx2/source/dialog/backingwindow.hxx
@@ -103,7 +103,7 @@ class BackingWindow : public vcl::Window, public VclBuilderContainer
DECL_LINK_TYPED(ClickHdl, Button*, void);
DECL_LINK_TYPED(MenuSelectHdl, MenuButton*, void);
DECL_LINK_TYPED(ExtLinkClickHdl, Button*, void);
- DECL_LINK_TYPED(RightClickHdl, ThumbnailViewItem*, void);
+ DECL_LINK_TYPED(CreateContextMenuHdl, ThumbnailViewItem*, void);
DECL_LINK_TYPED(OpenTemplateHdl, ThumbnailViewItem*, void);
DECL_LINK_TYPED(EditTemplateHdl, ThumbnailViewItem*, void);
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index 24a18f3efe77..c4400958ae57 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -221,7 +221,7 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg(vcl::Window *parent)
TEMPLATE_ITEM_PADDING);
mpLocalView->setItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVItemStateHdl));
- mpLocalView->setRightClickHdl(LINK(this,SfxTemplateManagerDlg, RightClickHdl));
+ mpLocalView->setCreateContextMenuHdl(LINK(this,SfxTemplateManagerDlg, CreateContextMenuHdl));
mpLocalView->setOpenRegionHdl(LINK(this,SfxTemplateManagerDlg, OpenRegionHdl));
mpLocalView->setOpenTemplateHdl(LINK(this,SfxTemplateManagerDlg, OpenTemplateHdl));
mpLocalView->setEditTemplateHdl(LINK(this,SfxTemplateManagerDlg, EditTemplateHdl));
@@ -246,7 +246,7 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg(vcl::Window *parent)
TEMPLATE_ITEM_PADDING);
mpSearchView->setItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVItemStateHdl));
- mpSearchView->setRightClickHdl(LINK(this,SfxTemplateManagerDlg, RightClickHdl));
+ mpSearchView->setCreateContextMenuHdl(LINK(this,SfxTemplateManagerDlg, CreateContextMenuHdl));
mpSearchView->setOpenTemplateHdl(LINK(this,SfxTemplateManagerDlg,OpenTemplateHdl));
mpSearchView->setEditTemplateHdl(LINK(this,SfxTemplateManagerDlg, EditTemplateHdl));
mpSearchView->setDeleteTemplateHdl(LINK(this,SfxTemplateManagerDlg, DeleteTemplateHdl));
@@ -746,7 +746,7 @@ IMPL_LINK_NOARG_TYPED(SfxTemplateManagerDlg, OpenRegionHdl, void*, void)
mpActionBar->Show();
}
-IMPL_LINK_TYPED(SfxTemplateManagerDlg, RightClickHdl, ThumbnailViewItem*, pItem, void)
+IMPL_LINK_TYPED(SfxTemplateManagerDlg, CreateContextMenuHdl, ThumbnailViewItem*, pItem, void)
{
const TemplateViewItem *pViewItem = dynamic_cast<TemplateViewItem*>(pItem);
diff --git a/sfx2/source/inc/templatesearchview.hxx b/sfx2/source/inc/templatesearchview.hxx
index e6f75f4bb422..1dda8c595170 100644
--- a/sfx2/source/inc/templatesearchview.hxx
+++ b/sfx2/source/inc/templatesearchview.hxx
@@ -25,7 +25,7 @@ public:
DECL_LINK_TYPED(ContextMenuSelectHdl, Menu*, bool);
- void setRightClickHdl(const Link<ThumbnailViewItem*,void> &rLink);
+ void setCreateContextMenuHdl(const Link<ThumbnailViewItem*,void> &rLink);
void setEditTemplateHdl(const Link<ThumbnailViewItem*,void> &rLink);
@@ -46,13 +46,15 @@ protected:
virtual void MouseButtonDown( const MouseEvent& rMEvt ) override;
+ virtual void KeyInput( const KeyEvent& rKEvt ) override;
+
protected:
TemplateViewItem *maSelectedItem;
Point maPosition;
Link<ThumbnailViewItem*, void> maOpenTemplateHdl;
- Link<ThumbnailViewItem*, void> maRightClickHdl;
+ Link<ThumbnailViewItem*, void> maCreateContextMenuHdl;
Link<ThumbnailViewItem*,void> maEditTemplateHdl;
Link<ThumbnailViewItem*,void> maDeleteTemplateHdl;
Link<ThumbnailViewItem*,void> maDefaultTemplateHdl;