blob: 785d51cbda0eff76278ca42def9ac46c41a38ff9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
/****************************************************************************
**
** Copyright (C) 2018 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Quick Designer Components.
**
** $QT_BEGIN_LICENSE:GPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 or (at your option) any later version
** approved by the KDE Free Qt Foundation. The licenses are as published by
** the Free Software Foundation and appearing in the file LICENSE.GPL3
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQml 2.15
import QtQuick 2.15
Text {
id: root
property real descent: fontMetrics.descent
property real leading: fontMetrics.leading
property real fontHeight: fontMetrics.height
property real baselineOffset: -999
//lineHeight: root.fontHeight - root.descent + root.baselineOffset - root.leading
Binding on lineHeight {
when: root.baselineOffset !== -999
value: root.fontHeight - root.descent + root.baselineOffset - root.leading
}
onLineHeightChanged: {
print("lh")
print(root.baseLineOffset)
}
FontMetrics {
id: fontMetrics
font: root.font
}
lineHeightMode: root.baselineOffset !== -999 ? Text.FixedHeight : Text.ProportionalHeight
width: visible ? implicitWidth : 0
height: visible ? implicitHeight : 0
property Text __backupText: Text {
id: backupText
visible: false
}
property Text languageExceptionItem: backupText
onLanguageExceptionItemChanged: {
if (root.__completed)
root.assignException()
}
property bool __completed: false
Component.onCompleted: {
root.__backupText.font = root.font
root.__backupText.text = root.text
root.__backupText.color = root.color
root.__backupText.lineHeight = root.lineHeight
root.__backupText.lineHeightMode = root.lineHeightMode
root.__completed = true
print("start " + root.languageExceptionItem)
root.assignException()
}
function assignException() {
print("assign")
print(root.languageExceptionItem)
root.font = root.languageExceptionItem.font
root.text = root.languageExceptionItem.text
root.color = root.languageExceptionItem.color
root.lineHeight = root.languageExceptionItem.lineHeight
root.lineHeightMode = root.languageExceptionItem.lineHeightMode
}
}
|