diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-10-06 17:12:54 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-10-06 17:12:54 +0200 |
commit | e330fb0eb2ac67c8b1b47bbdb13c108534926b44 (patch) | |
tree | 79efbc2655cb5dcec723b62d113831300d0fdd0b /src/mainwindow | |
parent | Add "subwindow.shortcuts.menu" shortcut (diff) | |
download | smolbote-e330fb0eb2ac67c8b1b47bbdb13c108534926b44.tar.xz |
Show subwindow system menu at correct position
Diffstat (limited to 'src/mainwindow')
-rw-r--r-- | src/mainwindow/mainwindow.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mainwindow/mainwindow.cpp b/src/mainwindow/mainwindow.cpp index cabc94b..d191fac 100644 --- a/src/mainwindow/mainwindow.cpp +++ b/src/mainwindow/mainwindow.cpp @@ -191,7 +191,10 @@ MainWindow::MainWindow(const std::unique_ptr<Configuration> &config, QWidget *pa connect(subwindowMenuAction, &QAction::triggered, this, [this]() { QMdiSubWindow *window = mdiArea->currentSubWindow(); if(window) { - window->systemMenu()->exec(); + // show the menu at the subwindow position + // position has to be global, and mapped by the mdiArea (parentWidget() of the subwindow) + const auto position = mdiArea->mapToGlobal(window->pos()); + window->systemMenu()->exec(position); } }); } |