Revision control
Copy as Markdown
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
// Qt-Security score:significant reason:default
import QtQuick
import QtQuick.Controls
import QtQuick.Controls.impl
import QtQuick.Dialogs
import QtQuick.Dialogs.quickimpl
import QtQuick.Layouts
GridLayout {
property alias familyListView: fontFamilyListView
property alias styleListView: fontStyleListView
property alias sizeListView: fontSizeListView
property alias sampleEdit: fontSample
property alias underline: fontUnderline
property alias strikeout: fontStrikeout
property alias familyEdit: fontFamilyEdit
property alias styleEdit: fontStyleEdit
property alias sizeEdit: fontSizeEdit
columns: 3
ColumnLayout {
spacing: 0
Layout.preferredWidth: 50
Label {
text: qsTr("Family")
Layout.alignment: Qt.AlignLeft
}
TextField {
id: fontFamilyEdit
objectName: "familyEdit"
readOnly: true
Layout.fillWidth: true
Accessible.name: qsTr("Font family")
}
Frame {
Layout.fillWidth: true
Layout.fillHeight: true
background: Rectangle {
color: palette.base
}
ListView {
id: fontFamilyListView
objectName: "familyListView"
implicitHeight: 200
anchors.fill: parent
clip: true
ScrollBar.vertical: ScrollBar {
policy: ScrollBar.AlwaysOn
}
boundsBehavior: Flickable.StopAtBounds
highlightMoveVelocity: -1
highlightMoveDuration: 1
highlightFollowsCurrentItem: true
keyNavigationEnabled: true
delegate: ItemDelegate {
width: ListView.view.width
highlighted: ListView.isCurrentItem
onClicked: () => fontFamilyListView.currentIndex = index
text: modelData
}
}
}
}
ColumnLayout {
spacing: 0
Layout.preferredWidth: 30
Label {
text: qsTr("Style")
Layout.alignment: Qt.AlignLeft
}
TextField {
id: fontStyleEdit
objectName: "styleEdit"
readOnly: true
Layout.fillWidth: true
Accessible.name: qsTr("Font style")
}
Frame {
Layout.fillWidth: true
Layout.fillHeight: true
background: Rectangle {
color: palette.base
}
ListView {
id: fontStyleListView
objectName: "styleListView"
implicitHeight: 200
anchors.fill: parent
clip: true
ScrollBar.vertical: ScrollBar {}
boundsBehavior: Flickable.StopAtBounds
highlightMoveVelocity: -1
highlightMoveDuration: 1
highlightFollowsCurrentItem: true
keyNavigationEnabled: true
delegate: ItemDelegate {
width: ListView.view.width
highlighted: ListView.isCurrentItem
onClicked: () => fontStyleListView.currentIndex = index
text: modelData
}
}
}
}
ColumnLayout {
spacing: 0
Layout.preferredWidth: 20
Label {
text: qsTr("Size")
Layout.alignment: Qt.AlignLeft
}
TextField {
id: fontSizeEdit
objectName: "sizeEdit"
Layout.fillWidth: true
validator: IntValidator {
bottom: 1
top: 512
}
Accessible.name: qsTr("Font point size")
}
Frame {
Layout.fillWidth: true
Layout.fillHeight: true
background: Rectangle {
color: palette.base
}
ListView {
id: fontSizeListView
objectName: "sizeListView"
implicitHeight: 200
anchors.fill: parent
clip: true
ScrollBar.vertical: ScrollBar {
policy: ScrollBar.AlwaysOn
}
boundsBehavior: Flickable.StopAtBounds
highlightMoveVelocity: -1
highlightMoveDuration: 1
highlightFollowsCurrentItem: true
keyNavigationEnabled: true
delegate: ItemDelegate {
width: ListView.view.width
highlighted: ListView.isCurrentItem
onClicked: () => fontSizeListView.currentIndex = index
text: modelData
}
}
}
}
ColumnLayout {
Layout.preferredWidth: 80
GroupBox {
id: effectsGroupBox
title: qsTr("Effects")
Layout.fillWidth: true
Layout.fillHeight: true
label: Label {
anchors.left: effectsGroupBox.left
text: parent.title
}
RowLayout {
anchors.fill: parent
CheckBox {
id: fontUnderline
objectName: "underlineEffect"
text: qsTr("Underline")
}
CheckBox{
id: fontStrikeout
objectName: "strikeoutEffect"
text: qsTr("Strikeout")
}
}
}
}
GroupBox {
id: sample
padding: label.implicitHeight
title: qsTr("Sample")
Layout.fillWidth: true
Layout.preferredWidth: 80
Layout.fillHeight: true
Layout.columnSpan: 2
clip: true
background: Rectangle {
y: sample.topPadding - sample.bottomPadding
width: sample.width - sample.leftPadding + sample.rightPadding
height: sample.height - sample.topPadding + sample.bottomPadding
radius: 3
color: palette.base
}
label: Label {
anchors.left: sample.left
text: sample.title
}
TextEdit {
id: fontSample
objectName: "sampleEdit"
anchors.centerIn: parent
readOnly: true
color: palette.text
focusPolicy: Qt.NoFocus
Accessible.ignored: true
}
}
}