summaryrefslogtreecommitdiff
path: root/reportdesign
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-12-20 20:41:26 +0000
committerCaolán McNamara <caolanm@redhat.com>2020-12-21 09:45:50 +0100
commit72227d7adcd05056eb6b048edc5bc56f6c29aa29 (patch)
tree8b7a8109a062ba3307fbe21551a2837293be19ab /reportdesign
parentea43bfcf5543e5593e73725e9fc9db541ce7fdd6 (diff)
weld reportdesign groupsortmenu menu
Change-Id: I933258d60b4792f880cdd757481635f9319e73ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108067 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'reportdesign')
-rw-r--r--reportdesign/source/ui/dlg/GroupsSorting.cxx12
1 files changed, 7 insertions, 5 deletions
diff --git a/reportdesign/source/ui/dlg/GroupsSorting.cxx b/reportdesign/source/ui/dlg/GroupsSorting.cxx
index e79e32357a8d..77adb2664252 100644
--- a/reportdesign/source/ui/dlg/GroupsSorting.cxx
+++ b/reportdesign/source/ui/dlg/GroupsSorting.cxx
@@ -37,7 +37,6 @@
#include <cppuhelper/implbase.hxx>
#include <vcl/commandevent.hxx>
-#include <vcl/menu.hxx>
#include <vcl/svapp.hxx>
#include <tools/diagnose_ex.h>
@@ -691,10 +690,13 @@ void OFieldExpressionControl::Command(const CommandEvent& rEvt)
bEnable = true;
nIndex = NextSelectedRow();
}
- VclBuilder aBuilder(nullptr, AllSettings::GetUIRootDir(), "modules/dbreport/ui/groupsortmenu.ui", "");
- VclPtr<PopupMenu> aContextMenu(aBuilder.get_menu("menu"));
- aContextMenu->EnableItem(aContextMenu->GetItemId("delete"), IsDeleteAllowed() && bEnable);
- if (aContextMenu->Execute(this, rEvt.GetMousePosPixel()))
+
+ ::tools::Rectangle aRect(rEvt.GetMousePosPixel(), Size(1, 1));
+ weld::Window* pPopupParent = weld::GetPopupParent(*this, aRect);
+ std::unique_ptr<weld::Builder> xBuilder(Application::CreateBuilder(pPopupParent, "modules/dbreport/ui/groupsortmenu.ui"));
+ std::unique_ptr<weld::Menu> xContextMenu(xBuilder->weld_menu("menu"));
+ xContextMenu->set_sensitive("delete", IsDeleteAllowed() && bEnable);
+ if (!xContextMenu->popup_at_rect(pPopupParent, aRect).isEmpty())
{
if( m_nDeleteEvent )
Application::RemoveUserEvent( m_nDeleteEvent );