diff options
author | Ken Moore <ken@ixsystems.com> | 2017-06-29 11:02:42 -0400 |
---|---|---|
committer | Ken Moore <ken@ixsystems.com> | 2017-06-29 11:02:42 -0400 |
commit | d911eba7e870937803e68562729b38173cdd5857 (patch) | |
tree | 2b01dcda8aada7a2a890678a6dacc52f9f54eb9f /src-qt5/core/libLumina/NativeWindow.cpp | |
parent | Make sure the global position of a window is/can be set as needed. (diff) | |
download | lumina-d911eba7e870937803e68562729b38173cdd5857.tar.gz lumina-d911eba7e870937803e68562729b38173cdd5857.tar.bz2 lumina-d911eba7e870937803e68562729b38173cdd5857.zip |
Ensure that the Global Position (and Size) properties *always* reference the embedded window.
Also make a new "geometry()" function in NativeWindow to return the full window+frame geometry.
Diffstat (limited to 'src-qt5/core/libLumina/NativeWindow.cpp')
-rw-r--r-- | src-qt5/core/libLumina/NativeWindow.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src-qt5/core/libLumina/NativeWindow.cpp b/src-qt5/core/libLumina/NativeWindow.cpp index 68610ce2..8853c48e 100644 --- a/src-qt5/core/libLumina/NativeWindow.cpp +++ b/src-qt5/core/libLumina/NativeWindow.cpp @@ -75,6 +75,16 @@ void NativeWindow::requestProperties(QList<NativeWindow::Property> props, QList< emit RequestPropertiesChange(winid, props, vals); } +QRect NativeWindow::geometry(){ + //Calculate the "full" geometry of the window + frame (if any) + QRect geom( hash.value(NativeWindow::GlobalPos).toPoint(), hash.value(NativeWindow::Size).toSize() ); + //Now adjust the window geom by the frame margins + QList<int> frame = hash.value(NativeWindow::FrameExtents).value< QList<int> >(); //Left,Right,Top,Bottom + if(frame.length()==4){ + geom = geom.adjusted( -frame[0], -frame[2], frame[1], frame[3] ); + } + return geom; +} // ==== PUBLIC SLOTS === void NativeWindow::requestClose(){ emit RequestClose(winid); |