diff options
author | Ken Moore <ken@ixsystems.com> | 2017-09-20 00:57:44 -0400 |
---|---|---|
committer | Ken Moore <ken@ixsystems.com> | 2017-09-20 00:57:44 -0400 |
commit | c74782ec09381eadb1d6dec05f6be3dde8bd3319 (patch) | |
tree | 12394070a76e77ea270b6784ad1feaaac4385a7a /src-qt5/core/libLumina/RootSubWindow.cpp | |
parent | Quick tag of version 1.3.3 in source (theme engine finished/integrated) (diff) | |
download | lumina-c74782ec09381eadb1d6dec05f6be3dde8bd3319.tar.gz lumina-c74782ec09381eadb1d6dec05f6be3dde8bd3319.tar.bz2 lumina-c74782ec09381eadb1d6dec05f6be3dde8bd3319.zip |
Get the window embed routine cleaned up and demo-ready.
I am still using the reparenting method, but mixing it with a partial/automatic compositing of windows to ensure that we can provide frame transparency - even if window-transparency is not supported with this method.
Diffstat (limited to 'src-qt5/core/libLumina/RootSubWindow.cpp')
-rw-r--r-- | src-qt5/core/libLumina/RootSubWindow.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src-qt5/core/libLumina/RootSubWindow.cpp b/src-qt5/core/libLumina/RootSubWindow.cpp index 886d7a17..5fb8ece4 100644 --- a/src-qt5/core/libLumina/RootSubWindow.cpp +++ b/src-qt5/core/libLumina/RootSubWindow.cpp @@ -351,14 +351,14 @@ void RootSubWindow::startMoving(){ activeState = Move; offset = this->mapFromGlobal(curpt); setMouseCursor(activeState, true); //this one is an override cursor - //WinWidget->pause(); + WinWidget->pause(); this->grabMouse(); } void RootSubWindow::startResizing(){ activeState = getStateAtPoint( this->mapFromGlobal(QCursor::pos()), true); //also have it set the offset variable setMouseCursor(activeState, true); //this one is an override cursor - //WinWidget->pause(); + WinWidget->pause(); this->grabMouse(); } @@ -398,7 +398,8 @@ void RootSubWindow::propertiesChanged(QList<NativeWindow::Property> props, QList }else if(!WinWidget->isPaused() && activeState==Normal){ if(WIN->property(NativeWindow::Size).toSize() != WinWidget->size()){ qDebug() << "Got Direct Geometry Change:" << WIN->geometry(); - this->setGeometry(WIN->geometry()); + this->setGeometry( QRect(this->geometry().topLeft(), WIN->geometry().size()) ); + WinWidget->resyncWindow(); } } break; |