/*SPDX-FileCopyrightText: 2022 Fushan Wen <qydwhotmail@gmail.com>SPDX-License-Identifier: GPL-2.0-or-later*/import QtQuickimport QtQuick.Controls as QQC2import org.kde.kirigami as Kirigamiimport org.kde.kcmutils as KCMimport org.kde.config as KConfigimport org.kde.plasma.runners.kcmKCM.SimpleKCM {id: rootimplicitWidth: Kirigami.Units.gridUnit * 32implicitHeight: Kirigami.Units.gridUnit * 18Kirigami.FormLayout {width: parent.widthanchors.top: parent.topQQC2.ButtonGroup {id: positionGroup}QQC2.RadioButton {Kirigami.FormData.label: i18nc("@title:group prefix for radiobutton group", "Position on screen:")onToggled: kcm.krunnerSettings.freeFloating = falsechecked: !kcm.krunnerSettings.freeFloatingQQC2.ButtonGroup.group: positionGrouptext: i18nc("@option:check Position on top of screen", "Top")}QQC2.RadioButton {checked: kcm.krunnerSettings.freeFloatingonToggled: kcm.krunnerSettings.freeFloating = trueQQC2.ButtonGroup.group: positionGrouptext: i18nc("@option:check Position in center of screen", "Center")KCM.SettingStateBinding {configObject: kcm.krunnerSettingssettingName: "freeFloating"}}Item {Kirigami.FormData.isSection: false}QQC2.RadioButton {Kirigami.FormData.label: i18nc("@title:group prefix for radiobutton group", "History:")checked: kcm.krunnerSettings.historyBehavior === KRunnerSettings.DisabledonToggled: kcm.krunnerSettings.historyBehavior = KRunnerSettings.Disabledtext: i18nc("@option:radio History is disabled", "Disabled")}QQC2.RadioButton {checked: kcm.krunnerSettings.historyBehavior === KRunnerSettings.CompletionSuggestiononToggled: kcm.krunnerSettings.historyBehavior = KRunnerSettings.CompletionSuggestiontext: i18nc("@option:radio The thing being enabled is search history", "Enable suggestions")}QQC2.RadioButton {checked: kcm.krunnerSettings.historyBehavior === KRunnerSettings.ImmediateCompletiononToggled: kcm.krunnerSettings.historyBehavior = KRunnerSettings.ImmediateCompletiontext: i18nc("@option:radio The thing being enabled is search history", "Enable auto-complete")}QQC2.Button {id: clearHistoryButtonenabled: kcm.krunnerSettings.historyBehavior !== KRunnerSettings.Disabled && kcm.historyKeys.length > 0icon.name: Application.layoutDirection === Qt.LeftToRight ? "edit-clear-locationbar-ltr" : "edit-clear-locationbar-rtl"text: i18nc("@action:button", "Clear Historyβ¦")checked: activityMenu.visible// NOTE: Use onReleased to avoid race conditiononReleased: {if (!activityList.model) {activityList.model = Qt.createQmlObject("import org.kde.activities 0.1; ActivityModel {}", root); // Lazy load}if (activityMenu.visible) {activityMenu.close();} else {activityMenu.popup(x, y + implicitHeight);}}}QQC2.Menu {id: activityMenuQQC2.MenuItem {icon.name: clearHistoryButton.icon.nametext: i18nc("@item:inmenu delete krunner history for all activities", "For all activities")onTriggered: kcm.deleteAllHistory()}Repeater {id: activityListQQC2.MenuItem {enabled: kcm.historyKeys.includes(model.id)icon.source: model.iconSourcetext: i18nc("@item:inmenu delete krunner history for this activity", "For activity \"%1\"", model.name)onTriggered: kcm.deleteHistoryGroup(model.id)}}}Item {visible: pluginButton.visibleKirigami.FormData.isSection: false}Loader {id: pluginButtonactive: kcm.doesShowPluginButtonvisible: activeKirigami.FormData.label: i18nc("@label", "Plugins:")sourceComponent: QQC2.Button {enabled: KConfig.KAuthorized.authorizeControlModule("kcm_krunnersettings")text: i18nc("@action:button", "Configure Enabled Search Pluginsβ¦")icon.name: "settings-configure"onClicked: KCM.KCMLauncher.openSystemSettings("kcm_plasmasearch")}}}}