Warning, /plasma/latte-dock/shell/package/contents/controls/IndicatorConfigUiManager.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2021 Michail Vourlakos <mvourlakos@gmail.com> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 import QtQuick 2.7 0007 import QtQuick.Layouts 1.3 0008 0009 import org.kde.plasma.core 2.0 as PlasmaCore 0010 0011 Item { 0012 id: uiManager 0013 visible: false 0014 0015 property Item stackView: null 0016 0017 Item { 0018 id: hiddenIndicatorPage 0019 anchors.fill: parent 0020 0021 readonly property int optionsWidth: dialog.optionsWidth 0022 readonly property bool deprecatedOptionsAreHidden: true // @since 0.10.0 0023 0024 readonly property Item nextPage: stackView.currentItem === page1 ? page2 : page1 0025 readonly property Item previousPage: nextPage === page1 ? page2 : page1 0026 0027 function showNextIndicator() { 0028 var nextIndicator; 0029 0030 //var pageShown = stackView.currentItem ? 1 : 0; 0031 //var total = page1.children.length + page2.children.length + hiddenPages.children.length + pageShown; 0032 //console.log(" org.kde.latte >>>>>>>>>>>>>>>>> ALL PAGES :: " + total); 0033 0034 if (children.length > 0) { 0035 nextIndicator = children[0]; 0036 } 0037 0038 if (nextIndicator && (!stackView.currentItem || !stackView.currentItem.isCurrent)) { 0039 //!empty nextPage by moving its pages into hiddenPages 0040 var childrenCount = nextPage.children.length; 0041 for (var i=0; i<childrenCount; ++i) { 0042 var previousIndicator = nextPage.children[0]; 0043 previousIndicator.visible = false; 0044 previousIndicator.parent = hiddenPages; 0045 } 0046 0047 nextIndicator.parent = nextPage; 0048 nextIndicator.visible = true; 0049 stackView.Layout.minimumHeight = nextIndicator.height; 0050 nextPage.type = latteView.indicator.type; 0051 0052 var currentIndex = -1; 0053 0054 if (stackView.currentItem) { 0055 currentIndex = viewConfig.indicatorUiManager.index(stackView.currentItem.type); 0056 } 0057 0058 var nextIndex = viewConfig.indicatorUiManager.index(latteView.indicator.type); 0059 0060 stackView.forwardSliding = (nextIndex<currentIndex); 0061 stackView.replace(stackView.currentItem, nextPage); 0062 } 0063 0064 if (children.length>0) { 0065 //!empty all remaining pages by moving them into hiddenPages 0066 var tempcount = children.length; 0067 for (var i=0; i<tempcount; ++i) { 0068 var tempIndicator = children[0]; 0069 tempIndicator.visible = false; 0070 tempIndicator.parent = hiddenPages; 0071 } 0072 } 0073 } 0074 0075 Component.onCompleted: { 0076 viewConfig.indicatorUiManager.setParentItem(hiddenIndicatorPage); 0077 tabBar.selectTab(latteView.indicator.type); 0078 viewConfig.indicatorUiManager.ui(latteView.indicator.type, latteView); 0079 } 0080 0081 Connections { 0082 target: latteView.indicator 0083 onPluginChanged: { 0084 if (viewConfig.isReady) { 0085 tabBar.selectTab(latteView.indicator.type); 0086 viewConfig.indicatorUiManager.ui(latteView.indicator.type, latteView); 0087 } 0088 } 0089 } 0090 0091 Connections { 0092 target: viewConfig 0093 onIsReadyChanged: { 0094 if (viewConfig.isReady) { 0095 tabBar.selectTab(latteView.indicator.type); 0096 viewConfig.indicatorUiManager.ui(latteView.indicator.type, latteView); 0097 } 0098 } 0099 } 0100 } 0101 0102 Item { 0103 id: hidden 0104 visible: false 0105 ColumnLayout { 0106 id: page1 0107 width: stackView.width 0108 readonly property bool isCurrent: latteView.indicator.type === type && viewConfig.isReady/*update flag*/ 0109 readonly property bool deprecatedOptionsAreHidden: true // @since 0.10.0 0110 readonly property int optionsWidth: dialog.optionsWidth 0111 0112 property string type: "" 0113 } 0114 0115 ColumnLayout { 0116 id: page2 0117 width: stackView.width 0118 readonly property bool isCurrent: latteView.indicator.type === type && viewConfig.isReady/*update flag*/ 0119 readonly property bool deprecatedOptionsAreHidden: true // @since 0.10.0 0120 readonly property int optionsWidth: dialog.optionsWidth 0121 0122 property string type: "" 0123 } 0124 0125 ColumnLayout { 0126 id: hiddenPages 0127 width: stackView.width 0128 readonly property bool isCurrent: latteView.indicator.type === type && viewConfig.isReady/*update flag*/ 0129 readonly property bool deprecatedOptionsAreHidden: true // @since 0.10.0 0130 readonly property int optionsWidth: dialog.optionsWidth 0131 0132 property string type: "" 0133 } 0134 } 0135 }