virtualkeyboard-kcm: Port to FormCard

This commit is contained in:
Carl Schwan 2023-09-21 21:12:47 +02:00
parent c864d9f5e1
commit 595db85a04
No known key found for this signature in database
GPG key ID: 02325448204E452A

View file

@ -12,7 +12,7 @@ import QtQuick.Controls 2.11 as QQC2
import org.kde.kirigami 2.19 as Kirigami import org.kde.kirigami 2.19 as Kirigami
import org.kde.kcmutils as KCM import org.kde.kcmutils as KCM
import org.kde.kitemmodels 1.0 as KItemModel import org.kde.kitemmodels 1.0 as KItemModel
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm import org.kde.kirigamiaddons.formcard 1.0 as FormCard
KCM.SimpleKCM { KCM.SimpleKCM {
id: root id: root
@ -21,130 +21,106 @@ KCM.SimpleKCM {
leftPadding: 0 leftPadding: 0
rightPadding: 0 rightPadding: 0
topPadding: Kirigami.Units.gridUnit topPadding: 0
bottomPadding: Kirigami.Units.gridUnit bottomPadding: Kirigami.Units.gridUnit
ColumnLayout { ColumnLayout {
spacing: 0 spacing: 0
width: parent.width width: parent.width
MobileForm.FormCard { FormCard.FormCard {
Layout.fillWidth: true Layout.topMargin: Kirigami.Units.gridUnit
contentItem: ColumnLayout { FormCard.FormTextFieldDelegate {
spacing: 0 label: i18n("Type anything here…")
MobileForm.AbstractFormDelegate {
Layout.fillWidth: true
background: Item {}
contentItem: RowLayout {
QQC2.TextField {
Layout.fillWidth: true
placeholderText: i18n("Type anything here…")
}
}
}
} }
} }
MobileForm.FormCard {
Layout.topMargin: Kirigami.Units.gridUnit
Layout.fillWidth: true
contentItem: ColumnLayout {
spacing: 0
MobileForm.FormCardHeader {
title: "Feedback"
}
MobileForm.FormSwitchDelegate {
id: firstFeedbackCheckBox
text: i18n("Sound")
description: i18n("Whether to emit a sound on keypress.")
checked: kcm.soundFeedback
onCheckedChanged: kcm.soundFeedback = checked;
}
MobileForm.FormDelegateSeparator { above: firstFeedbackCheckBox; below: secondFeedbackCheckBox } FormCard.FormHeader {
title: i18nc("@title:group", "Feedback")
MobileForm.FormSwitchDelegate { }
id: secondFeedbackCheckBox
text: i18n("Vibration") FormCard.FormCard {
description: i18n("Whether to vibrate on keypress.") FormCard.FormSwitchDelegate {
checked: kcm.vibrateFeedback id: firstFeedbackCheckBox
onCheckedChanged: kcm.vibrateFeedback = checked; text: i18n("Sound")
} description: i18n("Whether to emit a sound on keypress.")
checked: kcm.soundFeedback
onCheckedChanged: kcm.soundFeedback = checked;
}
FormCard.FormDelegateSeparator { above: firstFeedbackCheckBox; below: secondFeedbackCheckBox }
FormCard.FormSwitchDelegate {
id: secondFeedbackCheckBox
text: i18n("Vibration")
description: i18n("Whether to vibrate on keypress.")
checked: kcm.vibrateFeedback
onCheckedChanged: kcm.vibrateFeedback = checked;
} }
} }
MobileForm.FormCard {
Layout.topMargin: Kirigami.Units.gridUnit
Layout.fillWidth: true
contentItem: ColumnLayout {
spacing: 0
MobileForm.FormCardHeader {
title: "Text Correction"
}
MobileForm.FormCheckDelegate {
id: firstTextCorrectionCheckBox
text: i18n("Check spelling of entered text")
checked: kcm.spellCheck
onCheckedChanged: kcm.spellCheck = checked;
}
MobileForm.FormDelegateSeparator { above: firstTextCorrectionCheckBox; below: capitalizeCheck }
MobileForm.FormCheckDelegate { FormCard.FormHeader {
id: capitalizeCheck title: i18nc("@title:group", "Text Correction")
text: i18n("Capitalize the first letter of each sentence") }
checked: kcm.autoCapitalize
onCheckedChanged: kcm.autoCapitalize = checked;
}
MobileForm.FormDelegateSeparator { above: capitalizeCheck; below: wordCompletionCheck }
MobileForm.FormCheckDelegate { FormCard.FormCard {
id: wordCompletionCheck
text: i18n("Complete current word with first suggestion when hitting space")
checked: kcm.autoCompleteOnSpace
onCheckedChanged: kcm.autoCompleteOnSpace = checked;
}
MobileForm.FormDelegateSeparator { above: wordCompletionCheck; below: wordSuggestionCheck }
MobileForm.FormCheckDelegate { FormCard.FormCheckDelegate {
id: wordSuggestionCheck id: firstTextCorrectionCheckBox
text: i18n("Suggest potential words in word ribbon") text: i18n("Check spelling of entered text")
checked: kcm.showSuggestions checked: kcm.spellCheck
onCheckedChanged: { onCheckedChanged: kcm.spellCheck = checked;
kcm.showSuggestions = checked; }
}
FormCard.FormDelegateSeparator { above: firstTextCorrectionCheckBox; below: capitalizeCheck }
FormCard.FormCheckDelegate {
id: capitalizeCheck
text: i18n("Capitalize the first letter of each sentence")
checked: kcm.autoCapitalize
onCheckedChanged: kcm.autoCapitalize = checked;
}
FormCard.FormDelegateSeparator { above: capitalizeCheck; below: wordCompletionCheck }
FormCard.FormCheckDelegate {
id: wordCompletionCheck
text: i18n("Complete current word with first suggestion when hitting space")
checked: kcm.autoCompleteOnSpace
onCheckedChanged: kcm.autoCompleteOnSpace = checked;
}
FormCard.FormDelegateSeparator { above: wordCompletionCheck; below: wordSuggestionCheck }
FormCard.FormCheckDelegate {
id: wordSuggestionCheck
text: i18n("Suggest potential words in word ribbon")
checked: kcm.showSuggestions
onCheckedChanged: {
kcm.showSuggestions = checked;
} }
}
MobileForm.FormDelegateSeparator { above: wordSuggestionCheck; below: fullStopCheck }
FormCard.FormDelegateSeparator { above: wordSuggestionCheck; below: fullStopCheck }
MobileForm.FormCheckDelegate {
id: fullStopCheck FormCard.FormCheckDelegate {
text: i18n("Insert a full-stop when space is pressed twice") id: fullStopCheck
checked: kcm.fullStopOnDoubleSpace text: i18n("Insert a full-stop when space is pressed twice")
onCheckedChanged: { checked: kcm.fullStopOnDoubleSpace
kcm.fullStopOnDoubleSpace = checked; onCheckedChanged: {
} kcm.fullStopOnDoubleSpace = checked;
}
MobileForm.FormDelegateSeparator { above: fullStopCheck; below: languageButton }
MobileForm.FormButtonDelegate {
id: languageButton
text: i18n("Configure Languages")
icon.name: "set-language"
onClicked: kcm.push("languages.qml")
} }
} }
FormCard.FormDelegateSeparator { above: fullStopCheck; below: languageButton }
FormCard.FormButtonDelegate {
id: languageButton
text: i18n("Configure Languages")
icon.name: "set-language"
onClicked: kcm.push("languages.qml")
}
} }
} }
} }