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.Imagine
import QtQuick.Controls.Imagine.impl
import QtQuick.Dialogs
import QtQuick.Dialogs.quickimpl
import QtQuick.Layouts
import QtQuick.Templates as T
FontDialogImpl {
id: control
// Can't set implicitWidth of the NinePatchImage background, so we do it here.
implicitWidth: Math.max(600,
implicitBackgroundWidth + leftInset + rightInset,
implicitContentWidth + leftPadding + rightPadding,
implicitHeaderWidth,
implicitFooterWidth)
implicitHeight: Math.max(400,
implicitBackgroundHeight + topInset + bottomInset,
implicitContentHeight + topPadding + bottomPadding
+ (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
+ (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
topPadding: background ? background.topPadding : 0
leftPadding: background ? background.leftPadding : 0
rightPadding: background ? background.rightPadding : 0
bottomPadding: background ? background.bottomPadding : 0
topInset: background ? -background.topInset || 0 : 0
leftInset: background ? -background.leftInset || 0 : 0
rightInset: background ? -background.rightInset || 0 : 0
bottomInset: background ? -background.bottomInset || 0 : 0
standardButtons: T.Dialog.Ok | T.Dialog.Cancel
FontDialogImpl.buttonBox: buttonBox
FontDialogImpl.familyListView: content.familyListView
FontDialogImpl.styleListView: content.styleListView
FontDialogImpl.sizeListView: content.sizeListView
FontDialogImpl.sampleEdit: content.sampleEdit
FontDialogImpl.writingSystemComboBox: writingSystemComboBox
FontDialogImpl.underlineCheckBox: content.underline
FontDialogImpl.strikeoutCheckBox: content.strikeout
FontDialogImpl.familyEdit: content.familyEdit
FontDialogImpl.styleEdit: content.styleEdit
FontDialogImpl.sizeEdit: content.sizeEdit
background: NinePatchImage {
source: Imagine.url + "dialog-background"
NinePatchImageSelector on source {
states: [
{"modal": control.modal},
{"dim": control.dim}
]
}
}
Overlay.modal: NinePatchImage {
source: Imagine.url + "dialog-overlay"
NinePatchImageSelector on source {
states: [
{"modal": true}
]
}
}
Overlay.modeless: NinePatchImage {
source: Imagine.url + "dialog-overlay"
NinePatchImageSelector on source {
states: [
{"modal": false}
]
}
}
header: Label {
text: control.title
elide: Label.ElideRight
font.bold: true
leftPadding: 16
rightPadding: 16
topPadding: 12
visible: content.parent?.parent === Overlay.overlay && control.title.length > 0
background: NinePatchImage {
width: parent.width
height: parent.height
source: Imagine.url + "dialog-title"
NinePatchImageSelector on source {
states: [
{"modal": control.modal},
{"dim": control.dim}
]
}
}
}
contentItem: FontDialogContent {
id: content
rowSpacing: 16
}
footer: RowLayout {
id: rowLayout
spacing: 20
Label {
text: qsTr("Writing System")
Layout.leftMargin: 16
Layout.bottomMargin: 16
}
ComboBox{
id: writingSystemComboBox
Layout.fillWidth: true
Layout.bottomMargin: 16
}
DialogButtonBox {
id: buttonBox
standardButtons: control.standardButtons
defaultStandardButton: T.Dialog.Ok
spacing: 12
Layout.rightMargin: 16
Layout.bottomMargin: 16
}
}
}