sfx2: Pass SvxCharView context menu pos as param
... and drop the `maPosition` member that was used for that
purpose only.
Change-Id: If449a12e6e8e37c28d7b2b139e20c4c307d41eb8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150814
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
diff --git a/include/sfx2/charwin.hxx b/include/sfx2/charwin.hxx
index bc482af..405af4b 100644
--- a/include/sfx2/charwin.hxx
+++ b/include/sfx2/charwin.hxx
@@ -30,7 +30,6 @@ class SFX2_DLLPUBLIC SvxCharView final : public weld::CustomWidgetController
private:
VclPtr<VirtualDevice> mxVirDev;
tools::Long mnY;
Point maPosition;
vcl::Font maFont;
bool maHasInsert;
OUString m_sText;
@@ -56,7 +55,7 @@ public:
void SetHasInsert( bool bInsert );
void InsertCharToDoc();
void createContextMenu();
void createContextMenu(const Point& rPosition);
Size get_preferred_size() const { return GetDrawingArea()->get_preferred_size(); }
diff --git a/sfx2/source/control/charwin.cxx b/sfx2/source/control/charwin.cxx
index f0c6870..f80bd30 100644
--- a/sfx2/source/control/charwin.cxx
+++ b/sfx2/source/control/charwin.cxx
@@ -33,7 +33,6 @@ using namespace com::sun::star;
SvxCharView::SvxCharView(const VclPtr<VirtualDevice>& rVirDev)
: mxVirDev(rVirDev)
, mnY(0)
, maPosition(0, 0)
, maHasInsert(true)
{
}
@@ -70,11 +69,9 @@ bool SvxCharView::MouseButtonDown(const MouseEvent& rMEvt)
if (rMEvt.IsRight())
{
Point aPosition(rMEvt.GetPosPixel());
maPosition = aPosition;
GrabFocus();
Invalidate();
createContextMenu();
createContextMenu(rMEvt.GetPosPixel());
}
return true;
@@ -107,14 +104,14 @@ void SvxCharView::InsertCharToDoc()
comphelper::dispatchCommand(".uno:InsertSymbol", aArgs);
}
void SvxCharView::createContextMenu()
void SvxCharView::createContextMenu(const Point& rPosition)
{
weld::DrawingArea* pDrawingArea = GetDrawingArea();
std::unique_ptr<weld::Builder> xBuilder(
Application::CreateBuilder(pDrawingArea, "sfx/ui/charviewmenu.ui"));
std::unique_ptr<weld::Menu> xItemMenu(xBuilder->weld_menu("charviewmenu"));
ContextMenuSelect(
xItemMenu->popup_at_rect(pDrawingArea, tools::Rectangle(maPosition, Size(1, 1))));
xItemMenu->popup_at_rect(pDrawingArea, tools::Rectangle(rPosition, Size(1, 1))));
Invalidate();
}