-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
PR: Remove modality of figure options #18966
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
Conversation
I am not sure if this counts as an API change or a new feature. |
6f1359e
to
7991829
Compare
The feature seems reasonable to me. |
@impact27 Could you rebase this on to master? I'm happy to provide any git-support (or do it for you). |
ed21a09
to
d3a37b1
Compare
I am wondering if I should just remove the modality? Does it really make sense to block the application while the option are chosen? I left it as an option as of now. |
@impact27 if you'd still like this in, please be sure to ping us for reviews. |
@@ -0,0 +1,7 @@ | |||
Modality of _formlayout | |||
~~~~~~~~~~~~~~~~~~~~~~~ |
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.
This is failing the docs build.
Does this have a champion in the core devs?
I'm not sure we need to document changes to things that are private. And if the only consumer doesn't expose that option to the outside world, then we don't need the old way (modality) to stick around either. |
@impact27 feel free to mark as ready for review when you remove the API note. I think this is close? Also, please ping for reviews as things fall off the bottom of the queue... |
I am in favor of just always making this window non-modal. |
d3a37b1
to
3e42261
Compare
I updated the PR. Should it be against master? |
Yes definitely against master! |
3e42261
to
f76cdb3
Compare
There's also the problem that now that the figure can be interacted with again, if you change the things that appear in the dialog by touching the figure (e.g., using zoom/pan, shortcuts for change scales, etc.), then this is not reflected in the dialog, which didn't have to contend with that before. |
Not really, you can type |
I will look into this |
This should be working again. |
Fair enough; it should probably be fixed at some point though. |
@@ -820,7 +823,7 @@ def _export_values(self): | |||
QtGui.QFontMetrics(text.document().defaultFont()) | |||
.size(0, text.toPlainText()).height() + 20) | |||
text.setMaximumSize(size) | |||
dialog.exec_() | |||
self._export_values_dialog.show() |
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.
If we leave this as modal, will it block the main window, or just the subplot tool? I think it would be best if it blocked the tool, but not the main window, if possible.
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.
If I am not mistaken, everything happens on a single thread, so it would not be possible as exec_ would block the thread.
I'm not sure, I could see an usecase where I open the settings, then zoom on the graph so I know where I want to set the limits for example. What would happen if I am editing the limits, then I move the graph? Is my work lost? |
Can you rebase and delete the last two commits (since they're inverses)? |
2fe3e1e
to
68d8627
Compare
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.
DOC: update documentation after #18966
PR Summary
The figure options dialogue is no longer modal, which means the figure can be interacted with while the dialogue is open, and it fixes #18965
PR Checklist
pytest
passes).flake8
on changed files to check).flake8-docstrings
and runflake8 --docstring-convention=all
).doc/users/next_whats_new/
(follow instructions in README.rst there).doc/api/next_api_changes/
(follow instructions in README.rst there).