Add profile checkbox to enable/disable tooltips
Short description of changes
Adds a checkbox to the My Profile dialog to enable tooltips to be enabled or disabled. The setting is stored in the .ini file. A Qt event filter consumes the tooltip event if tooltips are disabled, preventing the tooltip from being shown.
CHANGELOG: Client: add a checkbox to My Profile to enable/disable tooltips.
Context: Fixes an issue?
The PR #3252 adds additional tooltips to the Connect dialog, some of which are quite wordy. While these tooltips will be useful to new or occasional users of Jamulus, they can quickly become annoying to experienced users who have no need of the wordy reminder, particularly within the server list. Allowing tooltips to be disabled caters for both types of user.
Does this change need documentation? What needs to be documented and how?
Any Wiki page that has a screenshot and description of the the My Profile page should be updated.
Status of this Pull Request
Tested and working.
What is missing until this pull request can be merged?
Review
Checklist
- [x] I've verified that this Pull Request follows the general code principles
- [x] I tested my code and it does what I want
- [x] My code follows the style guide
- [x] I waited some time after this Pull Request was opened and all GitHub checks completed without errors.
- [x] I've filled all the content above
Thanks. Is there a reason why it's not an advanced setting? I understand that it's UI related and most UI related settings are in my profile. However advanced users would have this disabled, so it would be an advanced setting.
Could you set the project, please, so the PR gets tracked.
Ta.
Does this disable tooltips - such as used in the mixer view for profile information popups - everywhere?
Does this disable tooltips - such as used in the mixer view for profile information popups - everywhere?
It certainly does so in both the settings dialog and the connect dialog. I didn't check the mixer, as I forgot there were tooltips for profile information. I can do so when I'm next at the computer. I think it probably does. If that's a problem, maybe we can add another check to the filter.
Thanks. Is there a reason why it's not an advanced setting? I understand that it's UI related and most UI related settings are in my profile. However advanced users would have this disabled, so it would be an advanced setting.
No particular reason, other than it looked a natural place to put it. I guess the same question could be raised about the Audio Alerts checkbox?
Could you set the project, please, so the PR gets tracked.
It appears to be set already? I'm not entirely clear how the project feature works.
Does this disable tooltips - such as used in the mixer view for profile information popups - everywhere?
Yes, just tested, and with tooltips disabled, the musician profile popups are not displayed. Do we need to test for this and force just them to be enabled, or provide a separate setting, or leave them to be the same as other tooltips?
I'd go with
force just them to be enabled
I'd go with
force just them to be enabled
OK, just need to work out how ;-)
I'd go with
force just them to be enabled
OK, just need to work out how ;-)
Alternatively, we come up with a different way of getting the info to display. "Hover" doesn't work well on touch screens (it lacks... touch...) and I've not found a way to emulate it that works on Android.
Hover might be simulated by a long press on touch devices. But that doesn't work on desktop.
Actually, I can't think of a reason it couldn't just be click/tap on the fader info box to show fuller info. It's never used for any other purpose. I'll do some experimentation.
I've reimplemented the filtering to avoid using an application-level filter, which would cause all events to go through it, and may have efficiency implications. Instead, each relevant dialog has its own small eventFilter (which needs access to pSettings), and this filter is installed directly onto each widget that has a tooltip set. Currently, this is only CClientDlg and CClientSettingsDlg. The same technique would need to be used for CConnectDlg in #3252, which was the original motivation for this PR.
By not installing a filter on the fader widgets, the Musician info is always displayed, whether other tooltips are enabled or disabled.
I haven't made any changes re click vs hover.
Ok. On windows it works as expected.