update
parent
e4accb8064
commit
9c843a7157
|
@ -41,7 +41,7 @@ FluScrollablePage{
|
||||||
}
|
}
|
||||||
FluText{
|
FluText{
|
||||||
text:"FluentUI Gallery"
|
text:"FluentUI Gallery"
|
||||||
fontStyle: FluText.TitleLarge
|
font: FluTextStyle.TitleLarge
|
||||||
anchors{
|
anchors{
|
||||||
top: parent.top
|
top: parent.top
|
||||||
left: parent.left
|
left: parent.left
|
||||||
|
@ -101,7 +101,7 @@ FluScrollablePage{
|
||||||
}
|
}
|
||||||
FluText{
|
FluText{
|
||||||
text: model.title
|
text: model.title
|
||||||
fontStyle: FluText.Body
|
font: FluTextStyle.Body
|
||||||
Layout.topMargin: 20
|
Layout.topMargin: 20
|
||||||
Layout.leftMargin: 20
|
Layout.leftMargin: 20
|
||||||
}
|
}
|
||||||
|
@ -184,7 +184,7 @@ FluScrollablePage{
|
||||||
FluText{
|
FluText{
|
||||||
id:item_title
|
id:item_title
|
||||||
text:modelData.title
|
text:modelData.title
|
||||||
fontStyle: FluText.BodyStrong
|
font: FluTextStyle.BodyStrong
|
||||||
anchors{
|
anchors{
|
||||||
left: item_icon.right
|
left: item_icon.right
|
||||||
leftMargin: 20
|
leftMargin: 20
|
||||||
|
@ -198,7 +198,7 @@ FluScrollablePage{
|
||||||
color:FluColors.Grey120
|
color:FluColors.Grey120
|
||||||
wrapMode: Text.WrapAnywhere
|
wrapMode: Text.WrapAnywhere
|
||||||
elide: Text.ElideRight
|
elide: Text.ElideRight
|
||||||
fontStyle: FluText.Caption
|
font: FluTextStyle.Caption
|
||||||
maximumLineCount: 2
|
maximumLineCount: 2
|
||||||
anchors{
|
anchors{
|
||||||
left: item_title.left
|
left: item_title.left
|
||||||
|
@ -236,7 +236,7 @@ FluScrollablePage{
|
||||||
|
|
||||||
FluText{
|
FluText{
|
||||||
text: "Recently added samples"
|
text: "Recently added samples"
|
||||||
fontStyle: FluText.Title
|
font: FluTextStyle.Title
|
||||||
Layout.topMargin: 20
|
Layout.topMargin: 20
|
||||||
Layout.leftMargin: 20
|
Layout.leftMargin: 20
|
||||||
}
|
}
|
||||||
|
@ -253,7 +253,7 @@ FluScrollablePage{
|
||||||
|
|
||||||
FluText{
|
FluText{
|
||||||
text: "Recently updated samples"
|
text: "Recently updated samples"
|
||||||
fontStyle: FluText.Title
|
font: FluTextStyle.Title
|
||||||
Layout.topMargin: 20
|
Layout.topMargin: 20
|
||||||
Layout.leftMargin: 20
|
Layout.leftMargin: 20
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,7 +67,7 @@ FluScrollablePage{
|
||||||
}
|
}
|
||||||
FluText{
|
FluText{
|
||||||
text:"配合图片使用"
|
text:"配合图片使用"
|
||||||
fontStyle: FluText.SubTitle
|
font: FluTextStyle.SubTitle
|
||||||
Layout.topMargin: 20
|
Layout.topMargin: 20
|
||||||
}
|
}
|
||||||
RowLayout{
|
RowLayout{
|
||||||
|
|
|
@ -28,7 +28,7 @@ FluScrollablePage{
|
||||||
}
|
}
|
||||||
FluText{
|
FluText{
|
||||||
text:lang.dark_mode
|
text:lang.dark_mode
|
||||||
fontStyle: FluText.BodyStrong
|
font: FluTextStyle.BodyStrong
|
||||||
Layout.bottomMargin: 4
|
Layout.bottomMargin: 4
|
||||||
}
|
}
|
||||||
Repeater{
|
Repeater{
|
||||||
|
@ -62,7 +62,7 @@ FluScrollablePage{
|
||||||
|
|
||||||
FluText{
|
FluText{
|
||||||
text:lang.navigation_view_display_mode
|
text:lang.navigation_view_display_mode
|
||||||
fontStyle: FluText.BodyStrong
|
font: FluTextStyle.BodyStrong
|
||||||
Layout.bottomMargin: 4
|
Layout.bottomMargin: 4
|
||||||
}
|
}
|
||||||
Repeater{
|
Repeater{
|
||||||
|
@ -93,7 +93,7 @@ FluScrollablePage{
|
||||||
|
|
||||||
FluText{
|
FluText{
|
||||||
text:lang.locale
|
text:lang.locale
|
||||||
fontStyle: FluText.BodyStrong
|
font: FluTextStyle.BodyStrong
|
||||||
Layout.bottomMargin: 4
|
Layout.bottomMargin: 4
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ import FluentUI
|
||||||
FluContentPage {
|
FluContentPage {
|
||||||
|
|
||||||
title: "Typography"
|
title: "Typography"
|
||||||
property int textSize: FluTheme.textSize
|
property real textScale: 1
|
||||||
leftPadding:10
|
leftPadding:10
|
||||||
rightPadding:10
|
rightPadding:10
|
||||||
bottomPadding:20
|
bottomPadding:20
|
||||||
|
@ -26,47 +26,49 @@ FluContentPage {
|
||||||
paddings: 10
|
paddings: 10
|
||||||
ColumnLayout{
|
ColumnLayout{
|
||||||
spacing: 0
|
spacing: 0
|
||||||
|
scale: textScale
|
||||||
|
transformOrigin: Item.TopLeft
|
||||||
FluText{
|
FluText{
|
||||||
|
id:text_Display
|
||||||
text:"Display"
|
text:"Display"
|
||||||
padding: 0
|
padding: 0
|
||||||
pixelSize: textSize
|
font: FluTextStyle.Display
|
||||||
fontStyle: FluText.Display
|
|
||||||
}
|
}
|
||||||
FluText{
|
FluText{
|
||||||
|
id:text_TitleLarge
|
||||||
text:"Title Large"
|
text:"Title Large"
|
||||||
padding: 0
|
padding: 0
|
||||||
pixelSize: textSize
|
font: FluTextStyle.TitleLarge
|
||||||
fontStyle: FluText.TitleLarge
|
|
||||||
}
|
}
|
||||||
FluText{
|
FluText{
|
||||||
|
id:text_Title
|
||||||
text:"Title"
|
text:"Title"
|
||||||
padding: 0
|
padding: 0
|
||||||
pixelSize: textSize
|
font: FluTextStyle.Title
|
||||||
fontStyle: FluText.Title
|
|
||||||
}
|
}
|
||||||
FluText{
|
FluText{
|
||||||
|
id:text_Subtitle
|
||||||
text:"Subtitle"
|
text:"Subtitle"
|
||||||
padding: 0
|
padding: 0
|
||||||
pixelSize: textSize
|
font: FluTextStyle.Subtitle
|
||||||
fontStyle: FluText.SubTitle
|
|
||||||
}
|
}
|
||||||
FluText{
|
FluText{
|
||||||
|
id:text_BodyStrong
|
||||||
text:"Body Strong"
|
text:"Body Strong"
|
||||||
padding: 0
|
padding: 0
|
||||||
pixelSize: textSize
|
font: FluTextStyle.BodyStrong
|
||||||
fontStyle: FluText.BodyStrong
|
|
||||||
}
|
}
|
||||||
FluText{
|
FluText{
|
||||||
|
id:text_Body
|
||||||
text:"Body"
|
text:"Body"
|
||||||
padding: 0
|
padding: 0
|
||||||
pixelSize: textSize
|
font: FluTextStyle.Body
|
||||||
fontStyle: FluText.Body
|
|
||||||
}
|
}
|
||||||
FluText{
|
FluText{
|
||||||
|
id:text_Caption
|
||||||
text:"Caption"
|
text:"Caption"
|
||||||
padding: 0
|
padding: 0
|
||||||
pixelSize: textSize
|
font: FluTextStyle.Caption
|
||||||
fontStyle: FluText.Caption
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,7 +82,7 @@ FluContentPage {
|
||||||
topMargin: 30
|
topMargin: 30
|
||||||
}
|
}
|
||||||
onValueChanged:{
|
onValueChanged:{
|
||||||
textSize = value/100*6+FluTheme.textSize
|
textScale = 1+value/100
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,11 +34,11 @@ FluWindow {
|
||||||
spacing: 14
|
spacing: 14
|
||||||
FluText{
|
FluText{
|
||||||
text:"FluentUI"
|
text:"FluentUI"
|
||||||
fontStyle: FluText.Title
|
font: FluTextStyle.Title
|
||||||
}
|
}
|
||||||
FluText{
|
FluText{
|
||||||
text:"v%1".arg(appInfo.version)
|
text:"v%1".arg(appInfo.version)
|
||||||
fontStyle: FluText.Body
|
font: FluTextStyle.Body
|
||||||
Layout.alignment: Qt.AlignBottom
|
Layout.alignment: Qt.AlignBottom
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
#include "FluTextStyle.h"
|
||||||
|
|
||||||
|
FluTextStyle::FluTextStyle(QObject *parent)
|
||||||
|
: QObject{parent}
|
||||||
|
{
|
||||||
|
QFont caption;
|
||||||
|
caption.setPixelSize(12);
|
||||||
|
Caption(caption);
|
||||||
|
|
||||||
|
QFont body;
|
||||||
|
body.setPixelSize(14);
|
||||||
|
Body(body);
|
||||||
|
|
||||||
|
QFont bodyStrong;
|
||||||
|
bodyStrong.setPixelSize(14);
|
||||||
|
bodyStrong.setBold(true);
|
||||||
|
BodyStrong(bodyStrong);
|
||||||
|
|
||||||
|
QFont subtitle;
|
||||||
|
subtitle.setPixelSize(20);
|
||||||
|
subtitle.setBold(true);
|
||||||
|
Subtitle(subtitle);
|
||||||
|
|
||||||
|
QFont title;
|
||||||
|
title.setPixelSize(28);
|
||||||
|
title.setBold(true);
|
||||||
|
Title(title);
|
||||||
|
|
||||||
|
QFont titleLarge;
|
||||||
|
titleLarge.setPixelSize(40);
|
||||||
|
titleLarge.setBold(true);
|
||||||
|
TitleLarge(titleLarge);
|
||||||
|
|
||||||
|
QFont display;
|
||||||
|
display.setPixelSize(68);
|
||||||
|
display.setBold(true);
|
||||||
|
Display(display);
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
#ifndef FLUTEXTSTYLE_H
|
||||||
|
#define FLUTEXTSTYLE_H
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
#include <QtQml/qqml.h>
|
||||||
|
#include <QFont>
|
||||||
|
#include "stdafx.h"
|
||||||
|
|
||||||
|
class FluTextStyle : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit FluTextStyle(QObject *parent = nullptr);
|
||||||
|
Q_PROPERTY_AUTO(QFont,Caption);
|
||||||
|
Q_PROPERTY_AUTO(QFont,Body);
|
||||||
|
Q_PROPERTY_AUTO(QFont,BodyStrong);
|
||||||
|
Q_PROPERTY_AUTO(QFont,Subtitle);
|
||||||
|
Q_PROPERTY_AUTO(QFont,Title);
|
||||||
|
Q_PROPERTY_AUTO(QFont,TitleLarge);
|
||||||
|
Q_PROPERTY_AUTO(QFont,Display);
|
||||||
|
QML_NAMED_ELEMENT(FluTextStyle)
|
||||||
|
QML_SINGLETON
|
||||||
|
signals:
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // FLUTEXTSTYLE_H
|
|
@ -12,7 +12,6 @@ FluTheme::FluTheme(QObject *parent)
|
||||||
Q_EMIT darkChanged();
|
Q_EMIT darkChanged();
|
||||||
});
|
});
|
||||||
primaryColor(FluApp::fluColors->Blue());
|
primaryColor(FluApp::fluColors->Blue());
|
||||||
textSize(13);
|
|
||||||
nativeText(false);
|
nativeText(false);
|
||||||
frameless(true);
|
frameless(true);
|
||||||
darkMode(Fluent_DarkMode::Fluent_DarkModeType::Light);
|
darkMode(Fluent_DarkMode::Fluent_DarkModeType::Light);
|
||||||
|
|
|
@ -37,11 +37,6 @@ class FluTheme : public QObject
|
||||||
*/
|
*/
|
||||||
Q_PROPERTY_AUTO(bool,nativeText);
|
Q_PROPERTY_AUTO(bool,nativeText);
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief textSize 文字大小
|
|
||||||
*/
|
|
||||||
Q_PROPERTY_AUTO(int,textSize);
|
|
||||||
|
|
||||||
QML_NAMED_ELEMENT(FluTheme)
|
QML_NAMED_ELEMENT(FluTheme)
|
||||||
QML_SINGLETON
|
QML_SINGLETON
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -55,9 +55,6 @@ Rectangle{
|
||||||
leftMargin: 10
|
leftMargin: 10
|
||||||
}
|
}
|
||||||
color:root.textColor
|
color:root.textColor
|
||||||
fontStyle: FluText.Title
|
|
||||||
font.pixelSize: 14
|
|
||||||
font.bold: true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RowLayout{
|
RowLayout{
|
||||||
|
|
|
@ -18,6 +18,7 @@ Button {
|
||||||
enabled: !disabled
|
enabled: !disabled
|
||||||
focusPolicy:Qt.TabFocus
|
focusPolicy:Qt.TabFocus
|
||||||
Keys.onSpacePressed: control.visualFocus&&clicked()
|
Keys.onSpacePressed: control.visualFocus&&clicked()
|
||||||
|
font:FluTextStyle.Body
|
||||||
|
|
||||||
background: Rectangle{
|
background: Rectangle{
|
||||||
border.color: FluTheme.dark ? "#505050" : "#DFDFDF"
|
border.color: FluTheme.dark ? "#505050" : "#DFDFDF"
|
||||||
|
@ -38,6 +39,7 @@ Button {
|
||||||
text: control.text
|
text: control.text
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
|
font: control.font
|
||||||
color: {
|
color: {
|
||||||
if(FluTheme.dark){
|
if(FluTheme.dark){
|
||||||
if(disabled){
|
if(disabled){
|
||||||
|
|
|
@ -65,7 +65,7 @@ Popup {
|
||||||
|
|
||||||
FluText{
|
FluText{
|
||||||
id:text_title
|
id:text_title
|
||||||
fontStyle: FluText.TitleLarge
|
font: FluTextStyle.TitleLarge
|
||||||
text:title
|
text:title
|
||||||
topPadding: 20
|
topPadding: 20
|
||||||
leftPadding: 20
|
leftPadding: 20
|
||||||
|
@ -80,7 +80,7 @@ Popup {
|
||||||
|
|
||||||
FluText{
|
FluText{
|
||||||
id:text_message
|
id:text_message
|
||||||
fontStyle: FluText.Body
|
font: FluTextStyle.Body
|
||||||
wrapMode: Text.WrapAnywhere
|
wrapMode: Text.WrapAnywhere
|
||||||
text:message
|
text:message
|
||||||
topPadding: 14
|
topPadding: 14
|
||||||
|
|
|
@ -17,7 +17,7 @@ Item {
|
||||||
|
|
||||||
FluText{
|
FluText{
|
||||||
id:text_title
|
id:text_title
|
||||||
fontStyle: FluText.TitleLarge
|
font: FluTextStyle.TitleLarge
|
||||||
anchors{
|
anchors{
|
||||||
top: parent.top
|
top: parent.top
|
||||||
topMargin: control.topPadding
|
topMargin: control.topPadding
|
||||||
|
|
|
@ -4,9 +4,7 @@ import FluentUI
|
||||||
|
|
||||||
TextField {
|
TextField {
|
||||||
|
|
||||||
property int fontStyle: FluText.Body
|
|
||||||
property color textColor: FluTheme.dark ? FluColors.White : FluColors.Grey220
|
property color textColor: FluTheme.dark ? FluColors.White : FluColors.Grey220
|
||||||
property int pixelSize : FluTheme.textSize
|
|
||||||
|
|
||||||
id:control
|
id:control
|
||||||
color: textColor
|
color: textColor
|
||||||
|
@ -27,46 +25,7 @@ TextField {
|
||||||
implicitWidth: text_metrics.width+10
|
implicitWidth: text_metrics.width+10
|
||||||
implicitHeight: text_metrics.height
|
implicitHeight: text_metrics.height
|
||||||
}
|
}
|
||||||
font.bold: {
|
font:FluTextStyle.Body
|
||||||
switch (fontStyle) {
|
|
||||||
case FluText.Display:
|
|
||||||
return true
|
|
||||||
case FluText.TitleLarge:
|
|
||||||
return true
|
|
||||||
case FluText.Title:
|
|
||||||
return true
|
|
||||||
case FluText.SubTitle:
|
|
||||||
return true
|
|
||||||
case FluText.BodyStrong:
|
|
||||||
return true
|
|
||||||
case FluText.Body:
|
|
||||||
return false
|
|
||||||
case FluText.Caption:
|
|
||||||
return false
|
|
||||||
default:
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
font.pixelSize: {
|
|
||||||
switch (fontStyle) {
|
|
||||||
case FluText.Display:
|
|
||||||
return text.pixelSize * 4.857
|
|
||||||
case FluText.TitleLarge:
|
|
||||||
return text.pixelSize * 2.857
|
|
||||||
case FluText.Title:
|
|
||||||
return text.pixelSize * 2
|
|
||||||
case FluText.SubTitle:
|
|
||||||
return text.pixelSize * 1.428
|
|
||||||
case FluText.Body:
|
|
||||||
return text.pixelSize * 1.0
|
|
||||||
case FluText.BodyStrong:
|
|
||||||
return text.pixelSize * 1.0
|
|
||||||
case FluText.Caption:
|
|
||||||
return text.pixelSize * 0.857
|
|
||||||
default:
|
|
||||||
return text.pixelSize * 1.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
TapHandler {
|
TapHandler {
|
||||||
acceptedButtons: Qt.RightButton
|
acceptedButtons: Qt.RightButton
|
||||||
onTapped: control.echoMode !== TextInput.Password && menu.popup()
|
onTapped: control.echoMode !== TextInput.Password && menu.popup()
|
||||||
|
|
|
@ -19,6 +19,7 @@ Button {
|
||||||
rightPadding:15
|
rightPadding:15
|
||||||
Keys.onSpacePressed: control.visualFocus&&clicked()
|
Keys.onSpacePressed: control.visualFocus&&clicked()
|
||||||
focusPolicy:Qt.TabFocus
|
focusPolicy:Qt.TabFocus
|
||||||
|
font:FluTextStyle.Body
|
||||||
background: Rectangle{
|
background: Rectangle{
|
||||||
radius: 4
|
radius: 4
|
||||||
FluFocusRectangle{
|
FluFocusRectangle{
|
||||||
|
@ -37,6 +38,7 @@ Button {
|
||||||
}
|
}
|
||||||
contentItem: FluText {
|
contentItem: FluText {
|
||||||
text: control.text
|
text: control.text
|
||||||
|
font: control.font
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
color: {
|
color: {
|
||||||
|
|
|
@ -5,8 +5,6 @@ import FluentUI
|
||||||
|
|
||||||
TextArea{
|
TextArea{
|
||||||
|
|
||||||
property int fontStyle: FluText.Body
|
|
||||||
property int pixelSize : FluTheme.textSize
|
|
||||||
property bool disabled: false
|
property bool disabled: false
|
||||||
property color normalColor: FluTheme.dark ? Qt.rgba(255/255,255/255,255/255,1) : Qt.rgba(27/255,27/255,27/255,1)
|
property color normalColor: FluTheme.dark ? Qt.rgba(255/255,255/255,255/255,1) : Qt.rgba(27/255,27/255,27/255,1)
|
||||||
property color disableColor: FluTheme.dark ? Qt.rgba(131/255,131/255,131/255,1) : Qt.rgba(160/255,160/255,160/255,1)
|
property color disableColor: FluTheme.dark ? Qt.rgba(131/255,131/255,131/255,1) : Qt.rgba(160/255,160/255,160/255,1)
|
||||||
|
@ -23,6 +21,7 @@ TextArea{
|
||||||
}
|
}
|
||||||
return normalColor
|
return normalColor
|
||||||
}
|
}
|
||||||
|
font:FluTextStyle.Body
|
||||||
wrapMode: Text.WrapAnywhere
|
wrapMode: Text.WrapAnywhere
|
||||||
renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering
|
renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering
|
||||||
selectionColor: FluTheme.primaryColor.lightest
|
selectionColor: FluTheme.primaryColor.lightest
|
||||||
|
@ -35,46 +34,6 @@ TextArea{
|
||||||
}
|
}
|
||||||
return placeholderNormalColor
|
return placeholderNormalColor
|
||||||
}
|
}
|
||||||
font.bold: {
|
|
||||||
switch (fontStyle) {
|
|
||||||
case FluText.Display:
|
|
||||||
return true
|
|
||||||
case FluText.TitleLarge:
|
|
||||||
return true
|
|
||||||
case FluText.Title:
|
|
||||||
return true
|
|
||||||
case FluText.SubTitle:
|
|
||||||
return true
|
|
||||||
case FluText.BodyStrong:
|
|
||||||
return true
|
|
||||||
case FluText.Body:
|
|
||||||
return false
|
|
||||||
case FluText.Caption:
|
|
||||||
return false
|
|
||||||
default:
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
font.pixelSize: {
|
|
||||||
switch (fontStyle) {
|
|
||||||
case FluText.Display:
|
|
||||||
return text.pixelSize * 4.857
|
|
||||||
case FluText.TitleLarge:
|
|
||||||
return text.pixelSize * 2.857
|
|
||||||
case FluText.Title:
|
|
||||||
return text.pixelSize * 2
|
|
||||||
case FluText.SubTitle:
|
|
||||||
return text.pixelSize * 1.428
|
|
||||||
case FluText.Body:
|
|
||||||
return text.pixelSize * 1.0
|
|
||||||
case FluText.BodyStrong:
|
|
||||||
return text.pixelSize * 1.0
|
|
||||||
case FluText.Caption:
|
|
||||||
return text.pixelSize * 0.857
|
|
||||||
default:
|
|
||||||
return text.pixelSize * 1.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
selectByMouse: true
|
selectByMouse: true
|
||||||
background: FluTextBoxBackground{ inputItem: control }
|
background: FluTextBoxBackground{ inputItem: control }
|
||||||
TapHandler {
|
TapHandler {
|
||||||
|
|
|
@ -148,7 +148,7 @@ Item {
|
||||||
width: layout_list.width
|
width: layout_list.width
|
||||||
FluText{
|
FluText{
|
||||||
text:model.title
|
text:model.title
|
||||||
fontStyle: FluText.BodyStrong
|
font: FluTextStyle.BodyStrong
|
||||||
anchors{
|
anchors{
|
||||||
bottom: parent.bottom
|
bottom: parent.bottom
|
||||||
left:parent.left
|
left:parent.left
|
||||||
|
@ -535,7 +535,7 @@ Item {
|
||||||
Layout.alignment: Qt.AlignVCenter
|
Layout.alignment: Qt.AlignVCenter
|
||||||
text:control.title
|
text:control.title
|
||||||
Layout.leftMargin: 12
|
Layout.leftMargin: 12
|
||||||
fontStyle: FluText.Body
|
font: FluTextStyle.Body
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,8 +5,6 @@ import FluentUI
|
||||||
|
|
||||||
TextField{
|
TextField{
|
||||||
|
|
||||||
property int fontStyle: FluText.Body
|
|
||||||
property int pixelSize : FluTheme.textSize
|
|
||||||
property bool disabled: false
|
property bool disabled: false
|
||||||
property int iconSource: 0
|
property int iconSource: 0
|
||||||
property color normalColor: FluTheme.dark ? Qt.rgba(255/255,255/255,255/255,1) : Qt.rgba(27/255,27/255,27/255,1)
|
property color normalColor: FluTheme.dark ? Qt.rgba(255/255,255/255,255/255,1) : Qt.rgba(27/255,27/255,27/255,1)
|
||||||
|
@ -24,6 +22,7 @@ TextField{
|
||||||
}
|
}
|
||||||
return normalColor
|
return normalColor
|
||||||
}
|
}
|
||||||
|
font:FluTextStyle.Body
|
||||||
echoMode:btn_reveal.pressed ? TextField.Normal : TextField.Password
|
echoMode:btn_reveal.pressed ? TextField.Normal : TextField.Password
|
||||||
renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering
|
renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering
|
||||||
selectionColor: FluTheme.primaryColor.lightest
|
selectionColor: FluTheme.primaryColor.lightest
|
||||||
|
@ -36,46 +35,6 @@ TextField{
|
||||||
}
|
}
|
||||||
return placeholderNormalColor
|
return placeholderNormalColor
|
||||||
}
|
}
|
||||||
font.bold: {
|
|
||||||
switch (fontStyle) {
|
|
||||||
case FluText.Display:
|
|
||||||
return true
|
|
||||||
case FluText.TitleLarge:
|
|
||||||
return true
|
|
||||||
case FluText.Title:
|
|
||||||
return true
|
|
||||||
case FluText.SubTitle:
|
|
||||||
return true
|
|
||||||
case FluText.BodyStrong:
|
|
||||||
return true
|
|
||||||
case FluText.Body:
|
|
||||||
return false
|
|
||||||
case FluText.Caption:
|
|
||||||
return false
|
|
||||||
default:
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
font.pixelSize: {
|
|
||||||
switch (fontStyle) {
|
|
||||||
case FluText.Display:
|
|
||||||
return text.pixelSize * 4.857
|
|
||||||
case FluText.TitleLarge:
|
|
||||||
return text.pixelSize * 2.857
|
|
||||||
case FluText.Title:
|
|
||||||
return text.pixelSize * 2
|
|
||||||
case FluText.SubTitle:
|
|
||||||
return text.pixelSize * 1.428
|
|
||||||
case FluText.Body:
|
|
||||||
return text.pixelSize * 1.0
|
|
||||||
case FluText.BodyStrong:
|
|
||||||
return text.pixelSize * 1.0
|
|
||||||
case FluText.Caption:
|
|
||||||
return text.pixelSize * 0.857
|
|
||||||
default:
|
|
||||||
return text.pixelSize * 1.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
selectByMouse: true
|
selectByMouse: true
|
||||||
rightPadding: icon_end.visible ? 50 : 30
|
rightPadding: icon_end.visible ? 50 : 30
|
||||||
background: FluTextBoxBackground{
|
background: FluTextBoxBackground{
|
||||||
|
|
|
@ -57,8 +57,7 @@ Item {
|
||||||
contentItem: Item{
|
contentItem: Item{
|
||||||
FluText {
|
FluText {
|
||||||
id:item_title
|
id:item_title
|
||||||
fontStyle: FluText.Title
|
font: FluTextStyle.Title
|
||||||
font.bold: false
|
|
||||||
text: modelData.title
|
text: modelData.title
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
color: {
|
color: {
|
||||||
|
|
|
@ -18,6 +18,7 @@ Button {
|
||||||
visible: control.visualFocus
|
visible: control.visualFocus
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
font:FluTextStyle.Body
|
||||||
Keys.onSpacePressed: control.visualFocus&&clicked()
|
Keys.onSpacePressed: control.visualFocus&&clicked()
|
||||||
contentItem: RowLayout{
|
contentItem: RowLayout{
|
||||||
Rectangle{
|
Rectangle{
|
||||||
|
@ -97,6 +98,7 @@ Button {
|
||||||
FluText{
|
FluText{
|
||||||
text: control.text
|
text: control.text
|
||||||
Layout.alignment: Qt.AlignVCenter
|
Layout.alignment: Qt.AlignVCenter
|
||||||
|
font: control.font
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ Item {
|
||||||
|
|
||||||
FluText{
|
FluText{
|
||||||
id:text_title
|
id:text_title
|
||||||
fontStyle: FluText.TitleLarge
|
font: FluTextStyle.TitleLarge
|
||||||
visible: text !== ""
|
visible: text !== ""
|
||||||
height: visible?implicitHeight:0
|
height: visible?implicitHeight:0
|
||||||
anchors{
|
anchors{
|
||||||
|
|
|
@ -58,7 +58,7 @@ Item{
|
||||||
visible: statusMode === FluStatusView.Empty
|
visible: statusMode === FluStatusView.Empty
|
||||||
FluText{
|
FluText{
|
||||||
text:"空空如也"
|
text:"空空如也"
|
||||||
fontStyle: FluText.BodyStrong
|
font: FluTextStyle.BodyStrong
|
||||||
Layout.alignment: Qt.AlignHCenter
|
Layout.alignment: Qt.AlignHCenter
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,7 @@ Item{
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
FluText{
|
FluText{
|
||||||
text:"页面出错了..."
|
text:"页面出错了..."
|
||||||
fontStyle: FluText.BodyStrong
|
font: FluTextStyle.BodyStrong
|
||||||
Layout.alignment: Qt.AlignHCenter
|
Layout.alignment: Qt.AlignHCenter
|
||||||
}
|
}
|
||||||
FluFilledButton{
|
FluFilledButton{
|
||||||
|
|
|
@ -99,7 +99,7 @@ Item {
|
||||||
left: parent.left
|
left: parent.left
|
||||||
leftMargin: 14
|
leftMargin: 14
|
||||||
}
|
}
|
||||||
fontStyle: FluText.BodyStrong
|
font: FluTextStyle.BodyStrong
|
||||||
}
|
}
|
||||||
FluDivider{
|
FluDivider{
|
||||||
width: 1
|
width: 1
|
||||||
|
|
|
@ -4,62 +4,11 @@ import FluentUI
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
|
|
||||||
enum FontStyle {
|
|
||||||
Display,
|
|
||||||
TitleLarge,
|
|
||||||
Title,
|
|
||||||
SubTitle,
|
|
||||||
BodyStrong,
|
|
||||||
Body,
|
|
||||||
Caption
|
|
||||||
}
|
|
||||||
|
|
||||||
property int fontStyle: FluText.Body
|
|
||||||
property color textColor: FluTheme.dark ? FluColors.White : FluColors.Grey220
|
property color textColor: FluTheme.dark ? FluColors.White : FluColors.Grey220
|
||||||
property int pixelSize : FluTheme.textSize
|
|
||||||
|
|
||||||
id:text
|
id:text
|
||||||
color: textColor
|
color: textColor
|
||||||
renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering
|
renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering
|
||||||
font.bold: {
|
font: FluTextStyle.Body
|
||||||
switch (fontStyle) {
|
|
||||||
case FluText.Display:
|
|
||||||
return true
|
|
||||||
case FluText.TitleLarge:
|
|
||||||
return true
|
|
||||||
case FluText.Title:
|
|
||||||
return true
|
|
||||||
case FluText.SubTitle:
|
|
||||||
return true
|
|
||||||
case FluText.BodyStrong:
|
|
||||||
return true
|
|
||||||
case FluText.Body:
|
|
||||||
return false
|
|
||||||
case FluText.Caption:
|
|
||||||
return false
|
|
||||||
default:
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
font.pixelSize: {
|
|
||||||
switch (fontStyle) {
|
|
||||||
case FluText.Display:
|
|
||||||
return text.pixelSize * 4.857
|
|
||||||
case FluText.TitleLarge:
|
|
||||||
return text.pixelSize * 2.857
|
|
||||||
case FluText.Title:
|
|
||||||
return text.pixelSize * 2
|
|
||||||
case FluText.SubTitle:
|
|
||||||
return text.pixelSize * 1.428
|
|
||||||
case FluText.Body:
|
|
||||||
return text.pixelSize * 1.0
|
|
||||||
case FluText.BodyStrong:
|
|
||||||
return text.pixelSize * 1.0
|
|
||||||
case FluText.Caption:
|
|
||||||
return text.pixelSize * 0.857
|
|
||||||
default:
|
|
||||||
return text.pixelSize * 1.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,8 +5,6 @@ import FluentUI
|
||||||
|
|
||||||
TextField{
|
TextField{
|
||||||
|
|
||||||
property int fontStyle: FluText.Body
|
|
||||||
property int pixelSize : FluTheme.textSize
|
|
||||||
property bool disabled: false
|
property bool disabled: false
|
||||||
property int iconSource: 0
|
property int iconSource: 0
|
||||||
property color normalColor: FluTheme.dark ? Qt.rgba(255/255,255/255,255/255,1) : Qt.rgba(27/255,27/255,27/255,1)
|
property color normalColor: FluTheme.dark ? Qt.rgba(255/255,255/255,255/255,1) : Qt.rgba(27/255,27/255,27/255,1)
|
||||||
|
@ -24,6 +22,7 @@ TextField{
|
||||||
}
|
}
|
||||||
return normalColor
|
return normalColor
|
||||||
}
|
}
|
||||||
|
font:FluTextStyle.Body
|
||||||
renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering
|
renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering
|
||||||
selectionColor: FluTheme.primaryColor.lightest
|
selectionColor: FluTheme.primaryColor.lightest
|
||||||
placeholderTextColor: {
|
placeholderTextColor: {
|
||||||
|
@ -35,46 +34,6 @@ TextField{
|
||||||
}
|
}
|
||||||
return placeholderNormalColor
|
return placeholderNormalColor
|
||||||
}
|
}
|
||||||
font.bold: {
|
|
||||||
switch (fontStyle) {
|
|
||||||
case FluText.Display:
|
|
||||||
return true
|
|
||||||
case FluText.TitleLarge:
|
|
||||||
return true
|
|
||||||
case FluText.Title:
|
|
||||||
return true
|
|
||||||
case FluText.SubTitle:
|
|
||||||
return true
|
|
||||||
case FluText.BodyStrong:
|
|
||||||
return true
|
|
||||||
case FluText.Body:
|
|
||||||
return false
|
|
||||||
case FluText.Caption:
|
|
||||||
return false
|
|
||||||
default:
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
font.pixelSize: {
|
|
||||||
switch (fontStyle) {
|
|
||||||
case FluText.Display:
|
|
||||||
return text.pixelSize * 4.857
|
|
||||||
case FluText.TitleLarge:
|
|
||||||
return text.pixelSize * 2.857
|
|
||||||
case FluText.Title:
|
|
||||||
return text.pixelSize * 2
|
|
||||||
case FluText.SubTitle:
|
|
||||||
return text.pixelSize * 1.428
|
|
||||||
case FluText.Body:
|
|
||||||
return text.pixelSize * 1.0
|
|
||||||
case FluText.BodyStrong:
|
|
||||||
return text.pixelSize * 1.0
|
|
||||||
case FluText.Caption:
|
|
||||||
return text.pixelSize * 0.857
|
|
||||||
default:
|
|
||||||
return text.pixelSize * 1.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
selectByMouse: true
|
selectByMouse: true
|
||||||
rightPadding: icon_end.visible ? 50 : 30
|
rightPadding: icon_end.visible ? 50 : 30
|
||||||
background: FluTextBoxBackground{
|
background: FluTextBoxBackground{
|
||||||
|
|
|
@ -6,10 +6,11 @@ ToolTip {
|
||||||
|
|
||||||
id:tool_tip
|
id:tool_tip
|
||||||
|
|
||||||
|
// property var font: FluTextStyle.Body
|
||||||
|
|
||||||
contentItem: FluText {
|
contentItem: FluText {
|
||||||
text: tool_tip.text
|
text: tool_tip.text
|
||||||
font: tool_tip.font
|
// font: tool_tip.font
|
||||||
fontStyle: FluText.Body
|
|
||||||
padding: 4
|
padding: 4
|
||||||
wrapMode: Text.WrapAnywhere
|
wrapMode: Text.WrapAnywhere
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue