150 lines
4.1 KiB
QML
150 lines
4.1 KiB
QML
import QtQuick 2.0
|
|
import QtQuick.Controls 1.0
|
|
import QtQuick.Controls 2.5 as QQC2
|
|
import QtQuick.Layouts 1.0
|
|
|
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
|
import org.kde.kirigami 2.5 as Kirigami
|
|
|
|
import "../lib" as Lib
|
|
import "../libconfig" as LibConfig
|
|
|
|
|
|
Kirigami.FormLayout {
|
|
|
|
|
|
//-------------------------------------------------------
|
|
LibConfig.Heading {
|
|
text: i18n("Behavior")
|
|
useThickTopMargin: false
|
|
}
|
|
Lib.DesktopEffectToggle {
|
|
id: overviewToggle
|
|
effectId: 'overview'
|
|
}
|
|
Lib.DesktopEffectToggle {
|
|
id: presentWindowsToggle
|
|
effectId: 'presentwindows'
|
|
}
|
|
Lib.DesktopEffectToggle {
|
|
id: showDesktopGridToggle
|
|
effectId: 'desktopgrid'
|
|
}
|
|
LibConfig.RadioButtonGroup {
|
|
id: clickCommandGroup
|
|
configKey: 'clickCommand'
|
|
Kirigami.FormData.label: i18n("Click")
|
|
Kirigami.FormData.buddyFor: null // Note: it attaches to the first CheckBox in the Repeater since it loads first.
|
|
model: []
|
|
|
|
//---
|
|
Repeater {
|
|
model: [
|
|
{ value: 'Overview', text: i18nd("kwin_effects", "Toggle Overview"), effectToggle: overviewToggle },
|
|
{ value: 'ExposeAll', text: i18nd("kwin_effects", "Toggle Present Windows (All desktops)"), effectToggle: presentWindowsToggle },
|
|
{ value: 'Expose', text: i18nd("kwin_effects", "Toggle Present Windows (Current desktop)"), effectToggle: presentWindowsToggle },
|
|
{ value: 'ExposeClass', text: i18nd("kwin_effects", "Toggle Present Windows (Window class)"), effectToggle: presentWindowsToggle },
|
|
{ value: 'ShowDesktopGrid', text: i18nd("kwin_effects", "Toggle Desktop Grid"), effectToggle: showDesktopGridToggle },
|
|
]
|
|
RowLayout {
|
|
QQC2.RadioButton {
|
|
text: modelData.text
|
|
enabled: modelData.effectToggle.loaded && modelData.effectToggle.effectEnabled
|
|
QQC2.ButtonGroup.group: clickCommandGroup.group
|
|
checked: modelData.value === plasmoid.configuration[clickCommandGroup.configKey]
|
|
onClicked: {
|
|
focus = true
|
|
if (clickCommandGroup.configKey) {
|
|
plasmoid.configuration[clickCommandGroup.configKey] = modelData.value
|
|
}
|
|
}
|
|
}
|
|
QQC2.Button {
|
|
visible: modelData.effectToggle.loaded && !modelData.effectToggle.effectEnabled
|
|
text: i18n("Enable Desktop Effect")
|
|
onClicked: modelData.effectToggle.toggle()
|
|
}
|
|
}
|
|
}
|
|
|
|
//---
|
|
Lib.KPackageModel {
|
|
id: kwinScriptModel
|
|
packageType: 'KWin/Script'
|
|
}
|
|
Repeater {
|
|
visible: kwinScriptModel.loaded
|
|
model: [
|
|
{
|
|
pluginId: 'Parachute',
|
|
url: 'https://store.kde.org/p/1370195/',
|
|
},
|
|
]
|
|
RowLayout {
|
|
QQC2.RadioButton {
|
|
text: modelData.pluginId
|
|
enabled: kwinScriptModel.contains(modelData.pluginId)
|
|
QQC2.ButtonGroup.group: clickCommandGroup.group
|
|
checked: modelData.value === plasmoid.configuration[clickCommandGroup.configKey]
|
|
onClicked: {
|
|
focus = true
|
|
if (clickCommandGroup.configKey) {
|
|
plasmoid.configuration[clickCommandGroup.configKey] = modelData.value
|
|
}
|
|
}
|
|
}
|
|
LibConfig.Label {
|
|
text: '<a href="' + modelData.url + '">' + modelData.url + '</a>'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//-------------------------------------------------------
|
|
LibConfig.Heading {
|
|
text: i18n("Appearance")
|
|
}
|
|
|
|
LibConfig.AppletIconField {
|
|
id: iconField
|
|
configKey: 'icon'
|
|
Kirigami.FormData.label: i18n("Icon")
|
|
defaultValue: 'presentwindows-24px'
|
|
presetValues: [
|
|
'presentwindows-24px',
|
|
'presentwindows-22px',
|
|
'presentwindows-16px',
|
|
'edit-group',
|
|
'window',
|
|
'view-app-grid-symbolic',
|
|
'homerun',
|
|
]
|
|
}
|
|
|
|
|
|
|
|
//-------------------------------------------------------
|
|
LibConfig.Heading {
|
|
text: i18n("Unity Pager Theme")
|
|
}
|
|
|
|
LibConfig.RadioButtonGroup {
|
|
configKey: 'useUnityTheme'
|
|
Kirigami.FormData.label: i18n("Use Unity 7 Theme")
|
|
model: [
|
|
{ value: 0, text: i18n("Never") },
|
|
{ value: 1, text: i18n("When Plasma Style is Unity Ambiance") },
|
|
{ value: 2, text: i18n("Always") },
|
|
]
|
|
}
|
|
|
|
LibConfig.Label {
|
|
text: i18n("Should we use a Virtual Desktop indicator similar to Unity 7? This feature is enabled for the <a href=\"https://store.kde.org/p/998797/\">Unity Ambiance</a> Plasma Style by default.")
|
|
}
|
|
|
|
Label {
|
|
text: i18n("<b>Current Plasma Style:</b> %1", PlasmaCore.Theme.themeName)
|
|
}
|
|
|
|
}
|