refactor: rewrite settings to support object#858
Conversation
update genSettings.py, SettingsInfo.xxx to support Object and QMap:xxx. Still WIP yet.
|
@ouuan @coder3101 As it will be a quite huge work, I'd like to know yours opinions. |
Use Object to emulate QMap:xxx Fix snippets functions Update genSettings.py Finish MapWrapper.
Add PreferencesTemplate to replace PreferencesPageTemplate. Fix some bugs.
Now it seems to be runnable.
fix QSplitter error expanding. fix add empty key. add parentheses test.
add an extra method for SettingIter.
Fix previous dependency check. Add setting locating methods to support depends to setting above.
|
Up to now, almost all previous features have been finished. plans todo:
|
|
Use xxx@ to store keys of Objects.
allow select specified keys. allow regex checking. now we can use object and array in param.
|
Here comes a problem. QVariant cannot store function. It'll be hard to solve |
fix immediatelyApply
|
I think it's not a good idea to store methods in json. Some of actions are quite long(e.g. import snippets from file), and you have to write all these things in a json string. We could add an extra source code to store all these functions, and let py link them to setting info. After all, we can just include a header in settinginfo.cpp and call them directly in the lambda py generated. |
Add SettingsMethods to store complex functions. Add some methods to MapWrapper.
Move docLink of checkbox to the old place.
|
Yes, vcpkg is a general package manager for c++. These changes will certainly need some changes in release pipeline as well. Like does vcpkg builds as shared library? If yes we need to add to exe bundle. |
Yes, it is a dll. I'll add it to the bundle later. I'd like to check the deb first. |
|
Actually I'm wondering why there isn't a script to build the deb? We write every commands in the workflow. |
|
I've add the shared library on windows to the exe bundle. |
|
We should merge master to this branch, and check if all release components like Deb, exe, DMG are working. Take help from @swift-zym he has macOS. |
|
Why there is |
update translations.
I tried the merge and there's a conflict in CMakeLists.txt. Maybe you incorrectly resolved it. |
|
I reset to previous and find out that it has been there before. It may come from older commit. |
|
This code is from f52c378 |
|
After all, we have solved it. @ouuan Do you know anything about that AUR build test? It breaks again. |
You can try giving |
Maybe |
Update documents
coder3101
left a comment
There was a problem hiding this comment.
Sync with master and We can approve it.
|
@coder3101 After some talks with @ouuan, he suggests me to revert and create better-described commits for those changed files. I think it's good and I'll do it later. |
|
I'll create a new PR and this PR could be the logs. |
Plz refer to old PR #858 for details.
|
Close this in favor of #955. |
update genSettings.py, SettingsInfo.xxx to support Object and QMap:xxx.
Description
I restructured the valuewrapper, so that it can support recursive widget.
Also, I add a SettingIter to correctly locate the SettingInfo, with extra infomation(the key of object or qmap),
Related Issues / Pull Requests
#532
Checklist
Check the old codes to see how to implement some of these: