jamulus icon indicating copy to clipboard operation
jamulus copied to clipboard

Add profile checkbox to enable/disable tooltips

Open softins opened this issue 1 year ago • 14 comments

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

softins avatar Dec 24 '24 21:12 softins

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.

ann0see avatar Dec 25 '24 20:12 ann0see

Could you set the project, please, so the PR gets tracked.

pljones avatar Dec 26 '24 08:12 pljones

Ta.

Does this disable tooltips - such as used in the mixer view for profile information popups - everywhere?

pljones avatar Dec 26 '24 16:12 pljones

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.

softins avatar Dec 26 '24 17:12 softins

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?

softins avatar Dec 26 '24 17:12 softins

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.

softins avatar Dec 26 '24 17:12 softins

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?

softins avatar Dec 31 '24 17:12 softins

I'd go with

force just them to be enabled

pljones avatar Jan 01 '25 09:01 pljones

I'd go with

force just them to be enabled

OK, just need to work out how ;-)

softins avatar Jan 04 '25 12:01 softins

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.

pljones avatar Jan 04 '25 17:01 pljones

Hover might be simulated by a long press on touch devices. But that doesn't work on desktop.

ann0see avatar Jan 04 '25 21:01 ann0see

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.

softins avatar Jan 05 '25 21:01 softins

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.

softins avatar Jan 08 '25 23:01 softins

Ok. On windows it works as expected.

ann0see avatar Jan 24 '25 21:01 ann0see