2021-07-16 19:33:52 +00:00
|
|
|
/***************************************************************************
|
|
|
|
* Copyright (C) 2014 by Eike Hein <hein@kde.org> *
|
|
|
|
* *
|
|
|
|
* This program 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. *
|
|
|
|
* *
|
|
|
|
* 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 General Public License for more details. *
|
|
|
|
* *
|
|
|
|
* You should have received a copy of the GNU General Public License *
|
|
|
|
* along with this program; if not, write to the *
|
|
|
|
* Free Software Foundation, Inc., *
|
|
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
import QtQuick 2.0
|
|
|
|
import QtQuick.Controls 1.0
|
|
|
|
import QtQuick.Dialogs 1.2
|
|
|
|
import QtQuick.Layouts 1.0
|
|
|
|
|
|
|
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
|
|
|
import org.kde.plasma.components 2.0 as PlasmaComponents
|
|
|
|
|
|
|
|
import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
|
|
|
|
import org.kde.draganddrop 2.0 as DragDrop
|
|
|
|
|
|
|
|
import org.kde.plasma.private.kicker 0.1 as Kicker
|
|
|
|
|
|
|
|
Item {
|
|
|
|
id: configGeneral
|
|
|
|
|
|
|
|
width: childrenRect.width
|
|
|
|
height: childrenRect.height
|
|
|
|
|
|
|
|
property string cfg_icon: plasmoid.configuration.icon
|
2023-08-24 22:32:11 +00:00
|
|
|
|
2021-07-16 19:33:52 +00:00
|
|
|
property bool cfg_useCustomButtonImage: plasmoid.configuration.useCustomButtonImage
|
2023-08-24 22:32:11 +00:00
|
|
|
|
2021-07-16 19:33:52 +00:00
|
|
|
property string cfg_customButtonImage: plasmoid.configuration.customButtonImage
|
2021-08-24 13:42:11 +00:00
|
|
|
property string cfg_customButtonImageHover: plasmoid.configuration.customButtonImageHover
|
|
|
|
property string cfg_customButtonImageActive: plasmoid.configuration.customButtonImageActive
|
2021-09-29 17:10:18 +00:00
|
|
|
|
|
|
|
property alias cfg_showRecentsView: showRecentsView.checked
|
2021-07-16 19:33:52 +00:00
|
|
|
|
|
|
|
property alias cfg_appNameFormat: appNameFormat.currentIndex
|
|
|
|
property alias cfg_switchCategoriesOnHover: switchCategoriesOnHover.checked
|
2023-09-22 22:51:26 +00:00
|
|
|
property alias cfg_stickOutOrb: stickOutOrb.checked
|
2021-07-16 19:33:52 +00:00
|
|
|
|
|
|
|
property alias cfg_useExtraRunners: useExtraRunners.checked
|
|
|
|
|
|
|
|
property alias cfg_numberRows: numberRows.value
|
|
|
|
|
|
|
|
ColumnLayout {
|
|
|
|
anchors.left: parent.left
|
2023-08-24 22:32:11 +00:00
|
|
|
anchors.right: parent.right
|
2021-07-16 19:33:52 +00:00
|
|
|
|
|
|
|
RowLayout {
|
|
|
|
spacing: units.smallSpacing
|
|
|
|
|
|
|
|
Label {
|
2023-09-22 22:51:26 +00:00
|
|
|
text: i18n("Orb:")
|
2021-07-16 19:33:52 +00:00
|
|
|
}
|
|
|
|
|
2021-08-24 13:42:11 +00:00
|
|
|
IconPicker {
|
|
|
|
id: iconPickerNormal
|
|
|
|
currentIcon: cfg_customButtonImage
|
2023-08-24 22:32:11 +00:00
|
|
|
defaultIcon: ""
|
2021-08-24 13:42:11 +00:00
|
|
|
onIconChanged: cfg_customButtonImage = iconName
|
2022-08-28 21:48:51 +00:00
|
|
|
enabled: true
|
2021-08-24 13:42:11 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
Label {
|
2023-09-22 22:51:26 +00:00
|
|
|
text: i18n("Hover Orb:")
|
2021-08-24 13:42:11 +00:00
|
|
|
}
|
|
|
|
IconPicker {
|
|
|
|
id: iconPickerHover
|
|
|
|
currentIcon: cfg_customButtonImageHover
|
2023-08-24 22:32:11 +00:00
|
|
|
defaultIcon: ""
|
2021-08-24 13:42:11 +00:00
|
|
|
onIconChanged: cfg_customButtonImageHover = iconName
|
2022-08-28 21:48:51 +00:00
|
|
|
enabled: true
|
2021-08-24 13:42:11 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
Label {
|
2023-09-22 22:51:26 +00:00
|
|
|
text: i18n("Clicked Orb:")
|
2021-08-24 13:42:11 +00:00
|
|
|
}
|
|
|
|
IconPicker {
|
|
|
|
id: iconPickerActive
|
|
|
|
currentIcon: cfg_customButtonImageActive
|
2023-08-24 22:32:11 +00:00
|
|
|
defaultIcon: ""
|
2021-08-24 13:42:11 +00:00
|
|
|
onIconChanged: cfg_customButtonImageActive = iconName
|
2022-08-28 21:48:51 +00:00
|
|
|
enabled: true
|
2021-08-24 13:42:11 +00:00
|
|
|
|
|
|
|
}
|
2021-07-16 19:33:52 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
GroupBox {
|
|
|
|
Layout.fillWidth: true
|
|
|
|
|
|
|
|
title: i18n("Behavior")
|
|
|
|
|
2023-08-24 22:32:11 +00:00
|
|
|
flat: false
|
2021-07-16 19:33:52 +00:00
|
|
|
|
|
|
|
ColumnLayout {
|
|
|
|
RowLayout {
|
|
|
|
Label {
|
|
|
|
text: i18n("Show applications as:")
|
|
|
|
}
|
|
|
|
|
|
|
|
ComboBox {
|
|
|
|
id: appNameFormat
|
|
|
|
|
|
|
|
Layout.fillWidth: true
|
|
|
|
|
|
|
|
model: [i18n("Name only"), i18n("Description only"), i18n("Name (Description)"), i18n("Description (Name)")]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
CheckBox {
|
|
|
|
id: switchCategoriesOnHover
|
|
|
|
|
|
|
|
text: i18n("Switch categories on hover")
|
|
|
|
}
|
2023-09-22 22:51:26 +00:00
|
|
|
CheckBox {
|
|
|
|
id: stickOutOrb
|
|
|
|
|
|
|
|
text: i18n("Force constant orb size")
|
|
|
|
}
|
2021-07-16 19:33:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
GroupBox {
|
|
|
|
Layout.fillWidth: true
|
|
|
|
title: i18n("Search")
|
2023-08-24 22:32:11 +00:00
|
|
|
flat: false
|
2021-07-16 19:33:52 +00:00
|
|
|
|
|
|
|
ColumnLayout {
|
|
|
|
CheckBox {
|
|
|
|
id: useExtraRunners
|
|
|
|
|
|
|
|
text: i18n("Expand search to bookmarks, files and emails")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
GroupBox {
|
|
|
|
title: i18n("Rows")
|
2023-08-24 22:32:11 +00:00
|
|
|
flat: false
|
2021-07-16 19:33:52 +00:00
|
|
|
ColumnLayout {
|
|
|
|
RowLayout{
|
|
|
|
Layout.fillWidth: true
|
|
|
|
|
|
|
|
RowLayout{
|
|
|
|
Layout.fillWidth: true
|
|
|
|
SpinBox{
|
|
|
|
id: numberRows
|
|
|
|
minimumValue: 10
|
|
|
|
maximumValue: 15
|
|
|
|
}
|
|
|
|
Label {
|
|
|
|
Layout.leftMargin: units.smallSpacing
|
|
|
|
text: i18n("Number of rows")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2021-09-29 17:10:18 +00:00
|
|
|
GroupBox {
|
|
|
|
title: i18n("View")
|
2023-08-24 22:32:11 +00:00
|
|
|
flat: false
|
2021-09-29 17:10:18 +00:00
|
|
|
ColumnLayout {
|
|
|
|
RowLayout{
|
|
|
|
Layout.fillWidth: true
|
|
|
|
|
|
|
|
RowLayout{
|
|
|
|
Layout.fillWidth: true
|
|
|
|
CheckBox {
|
|
|
|
id: showRecentsView
|
|
|
|
text: i18n("Show recent programs")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2021-07-16 19:33:52 +00:00
|
|
|
}
|
2024-01-20 02:08:06 +00:00
|
|
|
|
|
|
|
Component.onCompleted: {
|
|
|
|
if(plasmoid.configuration.stickOutOrb) plasmoid.nativeInterface.setTransparentWindow();
|
|
|
|
}
|
|
|
|
Component.onDestruction: {
|
|
|
|
if(plasmoid.configuration.stickOutOrb) plasmoid.nativeInterface.setTransparentWindow();
|
|
|
|
}
|
2021-07-16 19:33:52 +00:00
|
|
|
}
|