From a8fb49ab7bde2dcd69654bb501288771cb8fe0cb Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Wed, 28 Dec 2016 14:03:23 +0200 Subject: [PATCH] revert back to old way of exposing dockview to ui -- fixes the engine() issue --- containment/contents/ui/VisibilityManager.qml | 32 ++++++++++++++----- containment/contents/ui/main.qml | 15 +++++++-- corona/nowdockview.cpp | 2 +- shell/contents/views/Panel.qml | 12 +++++-- 4 files changed, 48 insertions(+), 13 deletions(-) diff --git a/containment/contents/ui/VisibilityManager.qml b/containment/contents/ui/VisibilityManager.qml index 95030a35a..208ee7a22 100644 --- a/containment/contents/ui/VisibilityManager.qml +++ b/containment/contents/ui/VisibilityManager.qml @@ -36,7 +36,23 @@ Item{ property int thicknessNormalOriginalValue: statesLineSizeOriginal + plasmoid.configuration.iconSize + iconMarginOriginal + 1 property int thicknessZoomOriginal: statesLineSizeOriginal + ((plasmoid.configuration.iconSize+iconMarginOriginal) * root.zoomFactor) + 2 + + Binding{ + //this is way to avoid warnings for null during initialization phase + target: dock ? dock.visibility : manager + property:"panelVisibility" + when: dock && dock.visibility + value: plasmoid.configuration.panelVisibility + } + Binding{ + target: dock ? dock : manager + property:"maxThickness" + when: dock + value: thicknessZoomOriginal + } + + /*Binding{ target: dock.visibility property:"panelVisibility" value: plasmoid.configuration.panelVisibility @@ -46,7 +62,7 @@ Item{ target: dock property:"maxThickness" value: thicknessZoomOriginal - } + }*/ onInStartupChanged: { @@ -68,12 +84,12 @@ Item{ onThicknessZoomOriginalChanged: updateMaskArea(); Component.onCompleted: { - dock.visibility.onDisableHidingChanged.connect(slotDisableHidingChanged); + /*dock.visibility.onDisableHidingChanged.connect(slotDisableHidingChanged); dock.visibility.onIsHoveredChanged.connect(slotIsHoveredChanged); dock.visibility.onMustBeLowered.connect(slotMustBeLowered); dock.visibility.onMustBeRaised.connect(slotMustBeRaised); dock.visibility.onMustBeRaisedImmediately.connect(slotMustBeRaisedImmediately); - dock.visibility.onPanelVisibilityChanged.connect(slotPanelVisibilityChanged); + dock.visibility.onPanelVisibilityChanged.connect(slotPanelVisibilityChanged);*/ } @@ -134,7 +150,7 @@ Item{ ///test maskArea function updateMaskArea() { - if (!windowSystem.compositingActive) { + if (!windowSystem.compositingActive || !dock) { return; } @@ -282,10 +298,10 @@ Item{ } Rectangle{ - x: dock.maskArea.x - y: dock.maskArea.y - height: dock.maskArea.height - width: dock.maskArea.width + x: dock ? dock.maskArea.x : -1 + y: dock ? dock.maskArea.y : -1 + height: dock ? dock.maskArea.height : 0 + width: dock ? dock.maskArea.width : 0 border.color: "green" border.width: 1 diff --git a/containment/contents/ui/main.qml b/containment/contents/ui/main.qml index b8924e0b9..800f5e35a 100644 --- a/containment/contents/ui/main.qml +++ b/containment/contents/ui/main.qml @@ -92,6 +92,7 @@ DragDrop.DropArea { property Item toolBox property Item nowDockContainer property Item nowDock + property QtObject dock // TO BE DELETED, if not needed: property int counter:0; @@ -386,6 +387,17 @@ DragDrop.DropArea { //////////////START OF CONNECTIONS onAppletsAnimationsChanged: visibilityManager.updateMaskArea(); + onDockChanged: { + if (dock) { + dock.visibility.onDisableHidingChanged.connect(visibilityManager.slotDisableHidingChanged); + dock.visibility.onIsHoveredChanged.connect(visibilityManager.slotIsHoveredChanged); + dock.visibility.onMustBeLowered.connect(visibilityManager.slotMustBeLowered); + dock.visibility.onMustBeRaised.connect(visibilityManager.slotMustBeRaised); + dock.visibility.onMustBeRaisedImmediately.connect(visibilityManager.slotMustBeRaisedImmediately); + dock.visibility.onPanelVisibilityChanged.connect(visibilityManager.slotPanelVisibilityChanged); + } + } + onDragEnter: { if (plasmoid.immutable) { event.ignore(); @@ -1037,8 +1049,7 @@ DragDrop.DropArea { VisibilityManager{ id: visibilityManager - - window: dock + // window: dock } Item{ diff --git a/corona/nowdockview.cpp b/corona/nowdockview.cpp index 860a948e8..02c381642 100644 --- a/corona/nowdockview.cpp +++ b/corona/nowdockview.cpp @@ -117,7 +117,7 @@ void NowDockView::init() connect(this, SIGNAL(heightChanged(int)), this, SIGNAL(heightChanged())); rootContext()->setContextProperty(QStringLiteral("dock"), this); - engine()->rootContext()->setContextProperty(QStringLiteral("dock"), this); + // engine()->rootContext()->setContextProperty(QStringLiteral("dock"), this); setSource(corona()->kPackage().filePath("nowdockui")); diff --git a/shell/contents/views/Panel.qml b/shell/contents/views/Panel.qml index 7eb4ca3e2..d4c513042 100644 --- a/shell/contents/views/Panel.qml +++ b/shell/contents/views/Panel.qml @@ -31,6 +31,7 @@ PlasmaCore.FrameSvgItem { // onRepaintNeeded: adjustPrefix(); property Item containment + property Item dockLayout readonly property bool verticalPanel: containment && containment.formFactor === PlasmaCore.Types.Vertical @@ -78,9 +79,16 @@ PlasmaCore.FrameSvgItem { containment.anchors.fill = containmentParent; containment.locationChanged.connect(adjustPrefix); adjustPrefix(); + + for(var i=0; i