Warning, /plasma/plasma-sdk/plasmoidviewer/qmlpackages/shell/contents/views/SdkButtons.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-FileCopyrightText: 2013 Antonis Tsiapaliokas <kok3rs@gmail.com> 0003 * SPDX-FileCopyrightText: 2023 ivan tkachenko <me@ratijas.tk> 0004 * 0005 * SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 import QtQuick 0009 import QtQuick.Layouts 0010 0011 import org.kde.kirigami 2.20 as Kirigami 0012 import org.kde.plasma.core as PlasmaCore 0013 import org.kde.plasma.components 3.0 as PlasmaComponents 0014 import org.kde.plasma.extras 2.0 as PlasmaExtras 0015 0016 FloatingToolBar { 0017 id: root 0018 0019 property Item containment 0020 0021 signal formFactor(int formFactorType) 0022 signal location(int locationType) 0023 signal requestScreenshot() 0024 0025 function triggerAppletInternalAction(name: string) { 0026 const applets = containment?.plasmoid.applets; 0027 if (applets) { 0028 const applet = applets[0]; 0029 const action = applet?.internalAction(name); 0030 action?.trigger(); 0031 } 0032 } 0033 0034 contentItem: RowLayout { 0035 spacing: Kirigami.Units.smallSpacing 0036 0037 PlasmaComponents.Button { 0038 id: refreshButton 0039 icon.name: "view-refresh" 0040 onClicked: root.triggerAppletInternalAction("remove") 0041 } 0042 0043 PlasmaComponents.Button { 0044 id: formFactorMenuButton 0045 text: i18n("FormFactors") 0046 onClicked: formFactorMenu.open() 0047 } 0048 0049 PlasmaExtras.Menu { 0050 id: formFactorMenu 0051 visualParent: formFactorMenuButton 0052 PlasmaExtras.MenuItem { 0053 text: i18n("Planar") 0054 onClicked: root.formFactor(PlasmaCore.Types.Planar) 0055 } 0056 PlasmaExtras.MenuItem { 0057 text: i18n("Vertical") 0058 onClicked: root.formFactor(PlasmaCore.Types.Vertical) 0059 } 0060 PlasmaExtras.MenuItem { 0061 text: i18n("Horizontal") 0062 onClicked: root.formFactor(PlasmaCore.Types.Horizontal) 0063 } 0064 PlasmaExtras.MenuItem { 0065 text: i18n("Mediacenter") 0066 onClicked: root.formFactor(PlasmaCore.Types.MediaCenter) 0067 } 0068 PlasmaExtras.MenuItem { 0069 text: i18n("Application") 0070 onClicked: root.formFactor(PlasmaCore.Types.Application) 0071 } 0072 } 0073 0074 PlasmaComponents.Button { 0075 id: locationMenuButton 0076 text: i18n("Location") 0077 onClicked: locationMenu.open() 0078 } 0079 0080 PlasmaComponents.Button { 0081 id: screenshotButton 0082 icon.name: "ksnapshot" 0083 onClicked: root.requestScreenshot() 0084 } 0085 0086 PlasmaExtras.Menu { 0087 id: locationMenu 0088 visualParent: locationMenuButton 0089 PlasmaExtras.MenuItem { 0090 text: i18n("Floating") 0091 onClicked: root.location(PlasmaCore.Types.Floating) 0092 } 0093 PlasmaExtras.MenuItem { 0094 text: i18n("Desktop") 0095 onClicked: root.location(PlasmaCore.Types.Desktop) 0096 } 0097 PlasmaExtras.MenuItem { 0098 text: i18n("Fullscreen") 0099 onClicked: root.location(PlasmaCore.Types.FullScreen) 0100 } 0101 PlasmaExtras.MenuItem { 0102 text: i18n("Top Edge") 0103 onClicked: root.location(PlasmaCore.Types.TopEdge) 0104 } 0105 PlasmaExtras.MenuItem { 0106 text: i18n("Bottom Edge") 0107 onClicked: root.location(PlasmaCore.Types.BottomEdge) 0108 } 0109 PlasmaExtras.MenuItem { 0110 text: i18n("Left Edge") 0111 onClicked: root.location(PlasmaCore.Types.LeftEdge) 0112 } 0113 PlasmaExtras.MenuItem { 0114 text: i18n("Right Edge") 0115 onClicked: root.location(PlasmaCore.Types.RightEdge) 0116 } 0117 } 0118 0119 PlasmaComponents.Button { 0120 id: configButton 0121 icon.name: "configure" 0122 onClicked: root.triggerAppletInternalAction("configure") 0123 } 0124 0125 PlasmaComponents.Button { 0126 text: i18n("Configure Containment") 0127 onClicked: { 0128 const containment = root.containment?.plasmoid; 0129 const action = containment?.internalAction("configure"); 0130 action?.trigger(); 0131 } 0132 } 0133 0134 PlasmaComponents.Button { 0135 icon.name: "view-hidden" 0136 onClicked: { 0137 root.visible = false; 0138 } 0139 } 0140 } 0141 }