From 0ff5e8d0fb224bb9e8d91e36dc522b79c39cf979 Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Tue, 15 May 2018 15:02:31 +0100 Subject: [PATCH] Make logout greeter share QMLEngine Summary: Gives a speed boost on multiple monitors where we have multiple views. Also cleaned up some imports/paths used Test Plan: Grepped use of rootContext() referred to the right context Used greeter to log out successfully Reviewers: #plasma, broulik Reviewed By: #plasma, broulik Subscribers: plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D12891 --- ksmserver/logout-greeter/CMakeLists.txt | 2 +- ksmserver/logout-greeter/main.cpp | 2 +- .../{ => logout-greeter}/shutdowndlg.cpp | 11 +++++------ ksmserver/{ => logout-greeter}/shutdowndlg.h | 19 ++----------------- 4 files changed, 9 insertions(+), 25 deletions(-) rename ksmserver/{ => logout-greeter}/shutdowndlg.cpp (97%) rename ksmserver/{ => logout-greeter}/shutdowndlg.h (90%) diff --git a/ksmserver/logout-greeter/CMakeLists.txt b/ksmserver/logout-greeter/CMakeLists.txt index ad329e5ea..723f77bfb 100644 --- a/ksmserver/logout-greeter/CMakeLists.txt +++ b/ksmserver/logout-greeter/CMakeLists.txt @@ -1,4 +1,4 @@ -set(KSMSERVER_LOGOUT_GREETER_SRCS main.cpp ../shutdowndlg.cpp ../ksmserver_debug.cpp) +set(KSMSERVER_LOGOUT_GREETER_SRCS main.cpp shutdowndlg.cpp ../ksmserver_debug.cpp) add_executable(ksmserver-logout-greeter ${KSMSERVER_LOGOUT_GREETER_SRCS}) target_link_libraries(ksmserver-logout-greeter PW::KWorkspace diff --git a/ksmserver/logout-greeter/main.cpp b/ksmserver/logout-greeter/main.cpp index 79d420845..4b0b53bab 100644 --- a/ksmserver/logout-greeter/main.cpp +++ b/ksmserver/logout-greeter/main.cpp @@ -25,7 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include #include #include -#include "../shutdowndlg.h" +#include "shutdowndlg.h" #include diff --git a/ksmserver/shutdowndlg.cpp b/ksmserver/logout-greeter/shutdowndlg.cpp similarity index 97% rename from ksmserver/shutdowndlg.cpp rename to ksmserver/logout-greeter/shutdowndlg.cpp index 7fcaf861e..3bc3f11b8 100644 --- a/ksmserver/shutdowndlg.cpp +++ b/ksmserver/logout-greeter/shutdowndlg.cpp @@ -56,7 +56,6 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include #include #include -#include #include #include @@ -77,7 +76,7 @@ Q_DECLARE_METATYPE(Solid::PowerManagement::SleepState) KSMShutdownDlg::KSMShutdownDlg( QWindow* parent, bool maysd, bool choose, KWorkSpace::ShutdownType sdtype, KWayland::Client::PlasmaShell *plasmaShell) - : QQuickView(parent), + : QuickViewSharedEngine(parent), m_result(false), m_waylandPlasmaShell(plasmaShell) // this is a WType_Popup on purpose. Do not change that! Not @@ -87,7 +86,7 @@ KSMShutdownDlg::KSMShutdownDlg( QWindow* parent, setClearBeforeRendering(true); setColor(QColor(Qt::transparent)); - setResizeMode(QQuickView::SizeRootObjectToView); + setResizeMode(KQuickAddons::QuickViewSharedEngine::SizeRootObjectToView); // Qt doesn't set this on unmanaged windows //FIXME: or does it? @@ -196,7 +195,7 @@ void KSMShutdownDlg::init() 0.4, (backgroundColor.value() > 128 ? 1.6 : 0.3), 1.7); - QQuickView::showFullScreen(); + KQuickAddons::QuickViewSharedEngine::showFullScreen(); requestActivate(); KWindowSystem::setState(winId(), NET::SkipTaskbar|NET::SkipPager); @@ -206,7 +205,7 @@ void KSMShutdownDlg::init() void KSMShutdownDlg::resizeEvent(QResizeEvent *e) { - QQuickView::resizeEvent( e ); + KQuickAddons::QuickViewSharedEngine::resizeEvent( e ); if( KWindowSystem::compositingActive()) { //TODO: reenable window mask when we are without composite? @@ -230,7 +229,7 @@ bool KSMShutdownDlg::event(QEvent *e) break; } } - return QQuickView::event(e); + return KQuickAddons::QuickViewSharedEngine::event(e); } void KSMShutdownDlg::setupWaylandIntegration() diff --git a/ksmserver/shutdowndlg.h b/ksmserver/logout-greeter/shutdowndlg.h similarity index 90% rename from ksmserver/shutdowndlg.h rename to ksmserver/logout-greeter/shutdowndlg.h index d9414a505..3a7d7c28b 100644 --- a/ksmserver/shutdowndlg.h +++ b/ksmserver/logout-greeter/shutdowndlg.h @@ -25,22 +25,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #ifndef SHUTDOWNDLG_H #define SHUTDOWNDLG_H -#include -#include +#include #include -class QMenu; -class QTimer; -class QTimeLine; -class QLabel; -class LogoutEffect; - -namespace Plasma -{ - class Svg; - class FrameSvg; -} - namespace KWayland { namespace Client @@ -50,10 +37,8 @@ class PlasmaShellSurface; } } -class QQuickView; - // The confirmation dialog -class KSMShutdownDlg : public QQuickView +class KSMShutdownDlg : public KQuickAddons::QuickViewSharedEngine { Q_OBJECT