Warning, /plasma/plymouth-kcm/src/ui/main.qml is written in an unsupported language. File is not indexed.

0001 /*
0002  *  SPDX-FileCopyrightText: 2017 Marco Martin <mart@kde.org>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  *
0006  */
0007 
0008 import QtQuick 2.1
0009 import QtQuick.Layouts 1.1
0010 import QtQuick.Window 2.2
0011 import QtQuick.Controls 2.3 as QtControls
0012 import org.kde.kirigami 2.4 as Kirigami
0013 import org.kde.kcmutils as KCM
0014 import org.kde.newstuff 1.91 as NewStuff
0015 
0016 KCM.GridViewKCM {
0017     actions: NewStuff.Action {
0018         id: newStuffButton
0019         text: i18nc("@action:button as in, get new Plymouth boot splash screens", "Get New…")
0020         enabled: !kcm.busy
0021         icon.name: "get-hot-new-stuff"
0022         configFile: "plymouth.knsrc"
0023         onEntryEvent: (entry, event) =>  kcm.onEntryEvent(entry);
0024     }
0025 
0026     view.model: kcm.themesModel
0027     view.currentIndex: kcm.selectedPluginIndex
0028     view.enabled: !kcm.busy
0029 
0030     view.delegate: KCM.GridDelegate {
0031         id: delegate
0032 
0033         text: model.display
0034         toolTip: model.description
0035 
0036         thumbnailAvailable: !!model.screenshot
0037         thumbnail: Image {
0038             anchors.fill: parent
0039             source: model.screenshot
0040             sourceSize: Qt.size(delegate.GridView.view.cellWidth * Screen.devicePixelRatio,
0041                                 delegate.GridView.view.cellHeight * Screen.devicePixelRatio)
0042         }
0043 
0044         actions: [
0045             Kirigami.Action {
0046                 icon.name: "edit-delete"
0047                 tooltip: i18n("Uninstall")
0048                 enabled: model.uninstallable
0049                 onTriggered: kcm.uninstall(model.pluginName)
0050             }
0051         ]
0052         onClicked: {
0053             kcm.selectedPlugin = model.pluginName;
0054             view.forceActiveFocus();
0055         }
0056         onDoubleClicked: {
0057             kcm.save();
0058         }
0059     }
0060 
0061     footer: ColumnLayout {
0062         Kirigami.InlineMessage {
0063             id: infoLabel
0064             Layout.fillWidth: true
0065             showCloseButton: true
0066         }
0067 
0068         QtControls.ProgressBar {
0069             id: progressBar
0070             Layout.fillWidth: true
0071             visible: kcm.busy
0072             indeterminate: true
0073         }
0074     }
0075 
0076     Connections {
0077         target: kcm
0078         function onShowSuccessMessage() {
0079             infoLabel.type = Kirigami.MessageType.Positive;
0080             infoLabel.text = message;
0081             infoLabel.visible = true;
0082         }
0083         function onShowErrorMessage() {
0084             infoLabel.type = Kirigami.MessageType.Error;
0085             infoLabel.text = message;
0086             infoLabel.visible = true;
0087         }
0088     }
0089 }