-
Notifications
You must be signed in to change notification settings - Fork 3k
11565 confirmation dialog for reset preferences and make sure all preferences reset correctly #25872
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
11565 confirmation dialog for reset preferences and make sure all preferences reset correctly #25872
Conversation
|
Whaaaaaat???? All checks have passed??? From the first time??? No kidding!!! 😂 |
696125c to
3a7b22e
Compare
mathesoncalum
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for doing those tweaks @krasko78 - looks good to me now!
|
@krasko78 A couple UI notes (1-2) and one functionality note (3)
Going back on my word here. After trying this out and seeing how it feels, I agree that Space/Enter should execute the accented button AND that for that reason, we should make Cancel the accented button instead of Reset/Revert.
Screen.Recording.2024-12-31.at.9.54.28.AM.mov |
|
Don't you have a New Year coming guys? :)
Happy New Year guys!!! :) |
|
New Year is still a few hours away (here at least)... but happy new year too! Re. 2: technically, it's possible; see Since this PR is already quite big, I wouldn't mind if you'd do this in a separate PR, but that's up to you. Re. 3: it is unlikely that this is because resetting preferences erases any permission settings, because those should be only accessible by the OS itself (otherwise they would be pretty useless, if apps can manage their own permissions). It might also be interesting to figure out why the Documents folder is being touched. The best way to find out might be to set some breakpoints in |
|
I can now wish you all a Happy New Year officially!!! Best wishes for everyone and their beloved ones!!! And may it bring you more frequent MuseScore Studio releases!!! :)))) Thanks Casper for the detailed comment. :)))
Regarding the permission alert: Per what Casper has said, let's see if it will disappear in the nightly builds. |
|
@krasko78 this looks great to me! And sounds good about waiting to see how the 'Documents' alert behaves in the nightlies. Not a huge deal anyway. And happy new year to you too! ✨ |
|
|
||
| #include <QObject> | ||
|
|
||
| #include "async/asyncable.h" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am bringing back this include. QT Creator was flagging it previously as not needed and ineed everything was building and working just fine for weeks until now when all of a sudden (on my machine at least) both Qt Creator and Visual Studio can't find muse::async::Asyncable without it. Go figure.
|
@krasko78 do you mean you'd like to solve those issues in this PR, or do you think we could merge it as-is and solve those separately? just trying to get a sense of whether there is still work needed on this. |
|
@avvvvve I am considering fixing those issues but definitely NOT for this PR. What I was saying is that currently when you reset all prerefences and have multiple instances open, the other instances are not updated. This should probably happen from a user's perspective or maybe it is not a big deal? Also if you click the Reset to Default button on the Appearance tab of Preferences dialog for example, then all instances are updated. So there might be more work here but you guys need to decide if you want this or not. And if we do go for it, should all settings be synced or only some of them? All is much easier to implement but maybe it is undesirable to sync some settings? And finally, if we do decide to sync the theme settings, then we'll need to first fix those other issues because prevent the theme setting from getting synced. |
|
@krasko78 Yes, resetting preferences in one instance should immediately updated preferences in every instance that's open. All settings should be synced. This follows from the existing behavior that if you have an instance open with Preferences open, and you try to open Preferences in another instance, it just switches focus to the preferences window that's already open. Anyway, let's merge this then if it's ready from a code-review standpoint @cbjeukendrup @mathesoncalum |
|
Ok, Ben. Thanks. |
…the first-time launch wizard does not appear
…t but not on Factory Reset
…Preferences and Revert to Factory Settings dialogs
…tings' confirmation dialogs
…ttings who have their default values
4e39b0f to
3397c58
Compare
|
Rebased and resolved the conflicts. Is there a way for all the commits not to appear as added again when rebasing? Am I doing something wrong or is this okay? |
| property alias dialogTitle: root.title | ||
| property alias title: mainPanel.title |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At first glance I thought dialogTitle looked a bit odd - it looks an alias to the title property below, which is itself an alias to mainPanel.title. Of course this isn't really the case - dialogTitle is actually an alias of PopupView::title - but I think this all highlights a problem with clashing property names that we should address.
Perhaps a less ambiguous name for the title property in StyledDialogView would actually be contentHeader - what do you think? If you agree then for the sake of consistency we should update the variable names in IInteractiveProvider, InteractiveProvider, etc.
...
Is there a way for all the commits not to appear as added again when rebasing?
Don't think so!
Outdated review - PR added some changes to standard dialogs since last review.
|
@mathesoncalum Good catch! I didn't notice it even though it was under my nose. I like |
af67ed2 to
b668896
Compare

Resolves: #11565
@cbjeukendrup @avvvvve @mathesoncalum
This PR replaces PR 25400 because I was unable to rebase due to my commits starting with "#" (a known issue it turned out) and it was easier to create a new branch and cherry-pick my changes to it. I will close 25400.
The first 24 commits are the same as those in PR 25400. The next address the code review comments left in PR 25400.
NOTES:
As far as the dialog is concerned: whether the Cancel button will be specified as the default button or not does not make any difference now that the "Reset" button is the accented one. This means that pressing Space or Enter will execute the reset (which I personally am not fond of but at least is consistent behavior).
The Cancel button should appear to the left of the Reset button on Mac and Linux (I didn't find any other dialog to use the ResetRole so I moved it to the right of RejectedRole)
I've made the "First-time launch" wizard not appear after the reset which partially fixes #13299 too.
I signed the CLA
The title of the PR describes the problem it addresses
Each commit's message describes its purpose and effects, and references the issue it resolves
If changes are extensive, there is a sequence of easily reviewable commits
The code in the PR follows the coding rules
There are no unnecessary changes
The code compiles and runs on my machine, preferably after each commit individually
I created a unit test or vtest to verify the changes I made (if applicable)