Skip to content
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

Loading dialog takes over mouse position on Windows with Auto Move option on #2383

Closed
4 of 9 tasks
datvm opened this issue Aug 25, 2020 · 5 comments
Closed
4 of 9 tasks
Assignees
Labels
Milestone

Comments

@datvm
Copy link

datvm commented Aug 25, 2020

Details for the issue

What did you do?

On Windows, we have this useful option that move the mouse to a dialog button:

image

However, with (not too) recent update, whenever I browse a column with a foreign key, DB would try to load the data of that table to make it into a select combo-box. That's fine by me although I am not using that feature but during the loading, a dialog box is shown and so my mouse is moved there, which is quite disruptive.

image

What did you expect to see?

The dialog should not show up, or should not have any button. I think there should be an option to either disable the loading dialog, or at least disable the feature completely if I do not need it.

What did you see instead?

My mouse is moved to an invisible button (maybe because I can never see it, it's too quickly).

Useful extra information

The info below often helps, please fill it out if you're able to. :)

What operating system are you using?

  • Windows: ( version: 10 )
  • Linux: ( distro: ___ )
  • macOS: ( version: ___ )
  • Other: ___

What is your DB4S version?

  • 3.12.0
  • 3.11.x
  • Other: 3.12.99 (Aug 25 2020 nightly build) but can confirm it happens since the latest stable build.

Did you also

@chrisjlocke
Copy link
Member

I believe the dialog is a 'please wait while data is being loaded' alert. I believe it may have a cancel button, which may be throwing off your mouse 'ping to a button' feature...
If you do load a large table, that dialog would need to pop up, so it would be hard to disable it completely. We could wrap some 'if we've only taken a second, don't show the dialog, but its been three seconds now, so lets pop up a dialog' but that could be a fair bit of code, compared to the 'quick-n-dirty' way we're using at the moment....

@datvm
Copy link
Author

datvm commented Aug 26, 2020

Thanks for the response!

In WinForm/WPF, we could set the button as non-primary (i.e not default button). The mouse cursor wouldn't be moved if it is so. Is it possible for Qt? Or can I disable the whole feature?

@mgrojo mgrojo self-assigned this Aug 28, 2020
@mgrojo
Copy link
Member

mgrojo commented Aug 28, 2020

We are using QProgressDialog. I've tried to set a cancel button without the default and autoDefault properties but I've seen no difference in Linux. It still looks as a default button and pressing Space bar cancels the progress, so maybe the dialog is forcing the property. Should I commit it nevertheless to try it in Windows?

@justinclift
Copy link
Member

Should I commit it nevertheless to try it in Windows?

Might as well try it. 😄

mgrojo added a commit that referenced this issue Aug 29, 2020
Remove the default and auto-default properties of the cancel button in the
"Fetching data..." dialog.

See issue #2383
mgrojo added a commit that referenced this issue Aug 30, 2020
Remove the default and auto-default properties of the cancel button in the
"Fetching data..." dialog.

See issue #2383
@mgrojo
Copy link
Member

mgrojo commented Aug 30, 2020

Confirmed as working in PR #2386.

@mgrojo mgrojo closed this as completed Aug 30, 2020
@mgrojo mgrojo added this to the 3.12.1 milestone Aug 30, 2020
mgrojo added a commit that referenced this issue Sep 14, 2020
Remove the default and auto-default properties of the cancel button in the
"Fetching data..." dialog.

See issue #2383
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants