wayland:enable previews for Plasma 5.20

BUG:426913
pull/21/head
Michail Vourlakos 4 years ago
parent 77fe8a6f91
commit 839980192d

@ -61,8 +61,9 @@ Item {
LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft && !root.vertical LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft && !root.vertical
LayoutMirroring.childrenInherit: true LayoutMirroring.childrenInherit: true
property bool plasma515: latteView ? latteView.plasma515 : LatteCore.Environment.plasmaDesktopVersion >= LatteCore.Environment.makeVersion(5,15,0) property bool plasma515: LatteCore.Environment.plasmaDesktopVersion >= LatteCore.Environment.makeVersion(5,15,0)
property bool plasma518: latteView ? latteView.plasma518 : LatteCore.Environment.plasmaDesktopVersion >= LatteCore.Environment.makeVersion(5,18,0) property bool plasma518: LatteCore.Environment.plasmaDesktopVersion >= LatteCore.Environment.makeVersion(5,18,0)
property bool plasma520: LatteCore.Environment.plasmaDesktopVersion >= LatteCore.Environment.makeVersion(5,20,0)
property bool editMode: latteView ? latteView.editMode : plasmoid.userConfiguring property bool editMode: latteView ? latteView.editMode : plasmoid.userConfiguring
property bool inConfigureAppletsMode: latteView ? latteView.inConfigureAppletsMode : true property bool inConfigureAppletsMode: latteView ? latteView.inConfigureAppletsMode : true

@ -0,0 +1,33 @@
/*
* Copyright 2020 Aleix Pol Gonzalez <aleixpol@kde.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
*/
import QtQuick.Window 2.6
import org.kde.taskmanager 0.1 as TaskManager
TaskManager.PipeWireSourceItem {
visible: waylandItem.nodeId > 0
nodeId: waylandItem.nodeId
anchors.fill: parent
TaskManager.ScreencastingRequest {
id: waylandItem
uuid: !windowsPreviewDlg.visible ? "" : thumbnailSourceItem.winId
}
}

@ -0,0 +1,33 @@
/*
* Copyright 2020 Michail Vourlakos <mvourlakos@gmail.com>
*
*
* This file is part of Latte-Dock
*
* Latte-Dock is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* Latte-Dock is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import QtQuick 2.6
import org.kde.plasma.core 2.0 as PlasmaCore
PlasmaCore.WindowThumbnail {
winId: thumbnailSourceItem.winId
onWinIdChanged: {
//! WORKAROUND, in order for toolTipDelegate to re-instantiate the previews model when
//! previews are changing from single instance preview to another single instance
visible = false;
visible = true;
}
}

@ -187,7 +187,7 @@ Column {
readonly property bool isMinimized: isGroup ? instance.isMinimized : mainToolTip.isMinimizedParent readonly property bool isMinimized: isGroup ? instance.isMinimized : mainToolTip.isMinimizedParent
// TODO: this causes XCB error message when being visible the first time // TODO: this causes XCB error message when being visible the first time
property int winId: isWin && windows[flatIndex] !== undefined ? windows[flatIndex] : 0 readonly property var winId: isWin && windows[flatIndex] !== undefined ? windows[flatIndex] : 0
// There's no PlasmaComponents3 version // There's no PlasmaComponents3 version
PlasmaComponents.Highlight { PlasmaComponents.Highlight {
@ -197,22 +197,12 @@ Column {
} }
Loader{ Loader{
id:previewThumbX11Loader id:previewThumbLoader
anchors.fill: parent anchors.fill: parent
anchors.margins: 2 anchors.margins: 2
active: !LatteCore.WindowSystem.isPlatformWayland active: LatteCore.WindowSystem.isPlatformX11 || (root.plasma520 && LatteCore.WindowSystem.isPlatformWayland)
visible: !albumArtImage.visible && !thumbnailSourceItem.isMinimized visible: !albumArtImage.visible && !thumbnailSourceItem.isMinimized
source: root.plasma520 && LatteCore.WindowSystem.isPlatformWayland ? "PipeWireThumbnail.qml" : "PlasmaCoreThumbnail.qml"
sourceComponent: PlasmaCore.WindowThumbnail {
winId: thumbnailSourceItem.winId
onWinIdChanged: {
//! WORKAROUND, in order for toolTipDelegate to re-instantiate the previews model when
//! previews are changing from single instance preview to another single instance
visible = false;
visible = true;
}
}
} }
ToolTipWindowMouseArea { ToolTipWindowMouseArea {
@ -262,7 +252,7 @@ Column {
animated: false animated: false
usesPlasmaTheme: false usesPlasmaTheme: false
visible: (thumbnailSourceItem.isMinimized && !albumArtImage.visible) //X11 case visible: (thumbnailSourceItem.isMinimized && !albumArtImage.visible) //X11 case
|| (!previewThumbX11Loader.active && !albumArtImage.visible) //Wayland case || (!previewThumbLoader.active && !albumArtImage.visible) //Wayland case
} }
} }

Loading…
Cancel
Save