Compare commits

..

8 Commits

Author SHA1 Message Date
zhuzichu
c9e0732f99
Merge pull request #570 from gaetandezeiraud/feature-fluscrollablepage-reset-scroll
Add property autoResetScroll to FluScrollablePage
2024-11-17 15:11:42 +08:00
zhuzichu
4920407ed7
Merge pull request #569 from gaetandezeiraud/wrap-anywhere-to-wordwrap
Convert WrapAnywhere toWordWrap
2024-11-17 15:11:19 +08:00
zhuzichu
3647197d3b
Merge pull request #568 from gaetandezeiraud/fluchart-avoid-error
Update FluChart.qml
2024-11-17 15:10:44 +08:00
zhuzichu
a72ff03eeb
Merge pull request #567 from gaetandezeiraud/combobox-fix-appbar
Fix FluComboBox click issue with AppBar
2024-11-17 15:09:36 +08:00
Gaëtan Dezeiraud
3eaaa228d8 Add property autoResetScroll to FluScrollablePage
I use it in my app, I think it can be useful to integrate the featurein the main project. This property autoResetScroll  if true reset the scroll at the top when the StackView.onActivated is called.

So the first time a page is view but also when the user go back in the stack.
2024-11-16 20:27:48 +01:00
Gaëtan Dezeiraud
e0892fdb66 Convert WrapAnywhere toWordWrap
Maybe you have a valid reason to use Wrap Anywhere, but for english and french text, it is very unpleasant to read.

If this is a problem for Chinese, maybe a global variable to define the behavior?
2024-11-16 20:05:54 +01:00
Gaëtan Dezeiraud
8f5fbb4053 Update FluChart.qml
In some cases, not sure why but animateToNewData is called and jsChart is undefined so it generate an error. Adding a "?" operator avoid the issue if jsChart is not ready, no error and can be called later.
2024-11-16 20:03:37 +01:00
Gaëtan Dezeiraud
b5295ffe4c Fix FluComboBox click issue with AppBar
Fixed bug with Popup topMargin because click is consumed by FluAppBar
2024-11-16 20:02:23 +01:00
16 changed files with 46 additions and 20 deletions

View File

@ -15,7 +15,7 @@ Canvas {
function animateToNewData() function animateToNewData()
{ {
chartAnimationProgress = 0.1; chartAnimationProgress = 0.1;
d.jsChart.update(); d.jsChart?.update();
chartAnimator.restart(); chartAnimator.restart();
} }
QtObject{ QtObject{

View File

@ -107,7 +107,7 @@ T.ComboBox {
y: control.height y: control.height
width: control.width width: control.width
height: Math.min(contentItem.implicitHeight, control.Window.height - topMargin - bottomMargin) height: Math.min(contentItem.implicitHeight, control.Window.height - topMargin - bottomMargin)
topMargin: 6 topMargin: 32
bottomMargin: 6 bottomMargin: 6
modal: true modal: true
contentItem: ListView { contentItem: ListView {

View File

@ -41,7 +41,7 @@ FluPopup {
FluText{ FluText{
id:text_message id:text_message
font: FluTextStyle.Body font: FluTextStyle.Body
wrapMode: Text.WrapAnywhere wrapMode: Text.WordWrap
text:message text:message
width: parent.width width: parent.width
topPadding: 4 topPadding: 4
@ -67,7 +67,7 @@ FluPopup {
topPadding: 20 topPadding: 20
leftPadding: 20 leftPadding: 20
rightPadding: 20 rightPadding: 20
wrapMode: Text.WrapAnywhere wrapMode: Text.WordWrap
} }
FluLoader{ FluLoader{
sourceComponent: com_message sourceComponent: com_message

View File

@ -190,13 +190,13 @@ FluObject {
spacing: 5 spacing: 5
FluText{ FluText{
text:_super.text text:_super.text
wrapMode: Text.WrapAnywhere wrapMode: Text.WordWrap
width: Math.min(implicitWidth,mcontrol.maxWidth) width: Math.min(implicitWidth,mcontrol.maxWidth)
} }
FluText{ FluText{
text: _super.moremsg text: _super.moremsg
visible: _super.moremsg visible: _super.moremsg
wrapMode : Text.WrapAnywhere wrapMode : Text.WordWrap
textColor: FluColors.Grey120 textColor: FluColors.Grey120
width: Math.min(implicitWidth,mcontrol.maxWidth) width: Math.min(implicitWidth,mcontrol.maxWidth)
} }

View File

@ -20,7 +20,7 @@ TextArea{
return normalColor return normalColor
} }
font:FluTextStyle.Body font:FluTextStyle.Body
wrapMode: Text.WrapAnywhere wrapMode: Text.WordWrap
padding: 8 padding: 8
leftPadding: padding+4 leftPadding: padding+4
renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering

View File

@ -5,8 +5,11 @@ import QtQuick.Controls 2.15
import FluentUI 1.0 import FluentUI 1.0
FluPage { FluPage {
property bool autoResetScroll: false
default property alias content: container.data default property alias content: container.data
Flickable{ Flickable{
id: flickable
clip: true clip: true
anchors.fill: parent anchors.fill: parent
ScrollBar.vertical: FluScrollBar {} ScrollBar.vertical: FluScrollBar {}
@ -17,4 +20,14 @@ FluPage {
width: parent.width width: parent.width
} }
} }
function resetScroll() {
flickable.contentY = 0;
}
StackView.onActivated: {
if (autoResetScroll) {
resetScroll(); // Call this function to reset the scroll position to the top
}
}
} }

View File

@ -98,7 +98,7 @@ Item{
Component{ Component{
id:com_lable id:com_lable
FluText{ FluText{
wrapMode: Text.WrapAnywhere wrapMode: Text.WordWrap
horizontalAlignment: isRight ? Qt.AlignRight : Qt.AlignLeft horizontalAlignment: isRight ? Qt.AlignRight : Qt.AlignLeft
text: { text: {
if(modelData.lable){ if(modelData.lable){
@ -113,7 +113,7 @@ Item{
Component{ Component{
id:com_text id:com_text
FluText{ FluText{
wrapMode: Text.WrapAnywhere wrapMode: Text.WordWrap
horizontalAlignment: isRight ? Qt.AlignRight : Qt.AlignLeft horizontalAlignment: isRight ? Qt.AlignRight : Qt.AlignLeft
text: modelData.text text: modelData.text
textFormat: Text.RichText textFormat: Text.RichText

View File

@ -175,7 +175,7 @@ Popup{
FluText{ FluText{
id: text_desc id: text_desc
font: FluTextStyle.Body font: FluTextStyle.Body
wrapMode: Text.WrapAnywhere wrapMode: Text.WordWrap
maximumLineCount: 4 maximumLineCount: 4
elide: Text.ElideRight elide: Text.ElideRight
text: { text: {

View File

@ -14,7 +14,7 @@ Canvas {
function animateToNewData() function animateToNewData()
{ {
chartAnimationProgress = 0.1; chartAnimationProgress = 0.1;
d.jsChart.update(); d.jsChart?.update();
chartAnimator.restart(); chartAnimator.restart();
} }
QtObject{ QtObject{

View File

@ -107,7 +107,7 @@ T.ComboBox {
y: control.height y: control.height
width: control.width width: control.width
height: Math.min(contentItem.implicitHeight, control.Window.height - topMargin - bottomMargin) height: Math.min(contentItem.implicitHeight, control.Window.height - topMargin - bottomMargin)
topMargin: 6 topMargin: 32
bottomMargin: 6 bottomMargin: 6
modal: true modal: true
contentItem: ListView { contentItem: ListView {

View File

@ -41,7 +41,7 @@ FluPopup {
FluText{ FluText{
id:text_message id:text_message
font: FluTextStyle.Body font: FluTextStyle.Body
wrapMode: Text.WrapAnywhere wrapMode: Text.WordWrap
text:message text:message
width: parent.width width: parent.width
topPadding: 4 topPadding: 4
@ -67,7 +67,7 @@ FluPopup {
topPadding: 20 topPadding: 20
leftPadding: 20 leftPadding: 20
rightPadding: 20 rightPadding: 20
wrapMode: Text.WrapAnywhere wrapMode: Text.WordWrap
} }
FluLoader{ FluLoader{
sourceComponent: com_message sourceComponent: com_message

View File

@ -190,13 +190,13 @@ FluObject {
spacing: 5 spacing: 5
FluText{ FluText{
text:_super.text text:_super.text
wrapMode: Text.WrapAnywhere wrapMode: Text.WordWrap
width: Math.min(implicitWidth,mcontrol.maxWidth) width: Math.min(implicitWidth,mcontrol.maxWidth)
} }
FluText{ FluText{
text: _super.moremsg text: _super.moremsg
visible: _super.moremsg visible: _super.moremsg
wrapMode : Text.WrapAnywhere wrapMode : Text.WordWrap
textColor: FluColors.Grey120 textColor: FluColors.Grey120
width: Math.min(implicitWidth,mcontrol.maxWidth) width: Math.min(implicitWidth,mcontrol.maxWidth)
} }

View File

@ -21,7 +21,7 @@ TextArea{
return normalColor return normalColor
} }
font:FluTextStyle.Body font:FluTextStyle.Body
wrapMode: Text.WrapAnywhere wrapMode: Text.WordWrap
padding: 8 padding: 8
leftPadding: padding+4 leftPadding: padding+4
renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering

View File

@ -5,8 +5,11 @@ import QtQuick.Controls
import FluentUI import FluentUI
FluPage { FluPage {
property bool autoResetScroll: false
default property alias content: container.data default property alias content: container.data
Flickable{ Flickable{
id: flickable
clip: true clip: true
anchors.fill: parent anchors.fill: parent
ScrollBar.vertical: FluScrollBar {} ScrollBar.vertical: FluScrollBar {}
@ -17,4 +20,14 @@ FluPage {
width: parent.width width: parent.width
} }
} }
function resetScroll() {
flickable.contentY = 0;
}
StackView.onActivated: {
if (autoResetScroll) {
resetScroll(); // Call this function to reset the scroll position to the top
}
}
} }

View File

@ -98,7 +98,7 @@ Item{
Component{ Component{
id:com_lable id:com_lable
FluText{ FluText{
wrapMode: Text.WrapAnywhere wrapMode: Text.WordWrap
horizontalAlignment: isRight ? Qt.AlignRight : Qt.AlignLeft horizontalAlignment: isRight ? Qt.AlignRight : Qt.AlignLeft
text: { text: {
if(modelData.lable){ if(modelData.lable){
@ -113,7 +113,7 @@ Item{
Component{ Component{
id:com_text id:com_text
FluText{ FluText{
wrapMode: Text.WrapAnywhere wrapMode: Text.WordWrap
horizontalAlignment: isRight ? Qt.AlignRight : Qt.AlignLeft horizontalAlignment: isRight ? Qt.AlignRight : Qt.AlignLeft
text: modelData.text text: modelData.text
textFormat: Text.RichText textFormat: Text.RichText

View File

@ -175,7 +175,7 @@ Popup{
FluText{ FluText{
id: text_desc id: text_desc
font: FluTextStyle.Body font: FluTextStyle.Body
wrapMode: Text.WrapAnywhere wrapMode: Text.WordWrap
maximumLineCount: 4 maximumLineCount: 4
elide: Text.ElideRight elide: Text.ElideRight
text: { text: {