This commit is contained in:
朱子楚\zhuzi 2023-10-15 17:24:33 +08:00
parent 332c0ee54e
commit 939e04e4ca
9 changed files with 66 additions and 4 deletions

View File

@ -15,6 +15,13 @@ Window {
}
}
Connections{
target: FluApp
function onVsyncChanged(){
SettingsHelper.saveVsync(FluApp.vsync)
}
}
FluHttpInterceptor{
id:interceptor
function onIntercept(request){
@ -33,6 +40,7 @@ Window {
Component.onCompleted: {
FluApp.init(app)
FluApp.vsync = SettingsHelper.getVsync()
FluTheme.darkMode = SettingsHelper.getDarkMode()
FluTheme.enableAnimation = true
FluApp.routes = {

View File

@ -56,6 +56,23 @@ FluScrollablePage{
}
}
FluArea{
Layout.fillWidth: true
Layout.topMargin: 20
height: 50
paddings: 10
FluCheckBox{
text:"V-Sync"
checked: FluApp.vsync
anchors.verticalCenter: parent.verticalCenter
onClicked: {
FluApp.vsync = !FluApp.vsync
dialog_restart.open()
}
}
}
FluArea{
Layout.fillWidth: true
Layout.topMargin: 20
@ -71,13 +88,13 @@ FluScrollablePage{
}else{
SettingsHelper.saveRender("software")
}
dialog_render.open()
dialog_restart.open()
}
}
}
FluContentDialog{
id:dialog_render
id:dialog_restart
title:"友情提示"
message:"此操作需要重启才能生效,是否重新启动?"
buttonFlags: FluContentDialogType.NegativeButton | FluContentDialogType.PositiveButton

View File

@ -15,6 +15,13 @@ Window {
}
}
Connections{
target: FluApp
function onVsyncChanged(){
SettingsHelper.saveVsync(FluApp.vsync)
}
}
FluHttpInterceptor{
id:interceptor
function onIntercept(request){
@ -33,6 +40,7 @@ Window {
Component.onCompleted: {
FluApp.init(app)
FluApp.vsync = SettingsHelper.getVsync()
FluTheme.darkMode = SettingsHelper.getDarkMode()
FluTheme.enableAnimation = true
FluApp.routes = {

View File

@ -59,6 +59,23 @@ FluScrollablePage{
}
}
FluArea{
Layout.fillWidth: true
Layout.topMargin: 20
height: 50
paddings: 10
FluCheckBox{
text:"V-Sync"
checked: FluApp.vsync
anchors.verticalCenter: parent.verticalCenter
onClicked: {
FluApp.vsync = !FluApp.vsync
dialog_restart.open()
}
}
}
FluArea{
Layout.fillWidth: true
Layout.topMargin: 20
@ -74,13 +91,13 @@ FluScrollablePage{
}else{
SettingsHelper.saveRender("software")
}
dialog_render.open()
dialog_restart.open()
}
}
}
FluContentDialog{
id:dialog_render
id:dialog_restart
title:"友情提示"
message:"此操作需要重启才能生效,是否重新启动?"
buttonFlags: FluContentDialogType.NegativeButton | FluContentDialogType.PositiveButton

View File

@ -23,6 +23,8 @@ public:
Q_INVOKABLE QString getRender(){return get("render").toString();}
Q_INVOKABLE void saveDarkMode(int darkModel){save("darkMode",darkModel);}
Q_INVOKABLE int getDarkMode(){return get("darkMode").toInt(0);}
Q_INVOKABLE void saveVsync(bool vsync){save("vsync",vsync);}
Q_INVOKABLE bool getVsync(){return get("vsync").toBool();}
private:
void save(const QString& key,QVariant val);
QVariant get(const QString& key);

View File

@ -14,6 +14,7 @@
FRAMELESSHELPER_USE_NAMESPACE
FluApp::FluApp(QObject *parent):QObject{parent}{
vsync(false);
httpInterceptor(nullptr);
}

View File

@ -19,6 +19,7 @@
class FluApp : public QObject
{
Q_OBJECT
Q_PROPERTY_AUTO(bool,vsync)
Q_PROPERTY_AUTO(QString,initialRoute);
Q_PROPERTY_AUTO(QJsonObject,routes);
Q_PROPERTY_AUTO(FluHttpInterceptor*,httpInterceptor);

View File

@ -8,6 +8,7 @@ WindowLifecycle::WindowLifecycle(QObject *parent):QObject{parent}{
void WindowLifecycle::onCompleted(QQuickWindow* window){
this->_window = window;
vsyncEnable(FluApp::getInstance()->vsync());
FluApp::getInstance()->addWindow(this->_window);
}
@ -21,6 +22,12 @@ void WindowLifecycle::onDestruction(){
void WindowLifecycle::onVisible(bool visible){
}
void WindowLifecycle::vsyncEnable(bool enable){
auto froamt = _window->format();
froamt.setSwapInterval(enable);
_window->setFormat(froamt);
}
QVariant WindowLifecycle::createRegister(QQuickWindow* window,const QString& path){
FluRegister *p = new FluRegister(window);
p->from(window);

View File

@ -22,6 +22,7 @@ public:
Q_INVOKABLE void onVisible(bool visible);
Q_INVOKABLE void onDestoryOnClose();
Q_INVOKABLE QVariant createRegister(QQuickWindow* window,const QString& path);
void vsyncEnable(bool enable);
private:
QQuickWindow* _window;
};