Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#9209 closed defect (fixed)

"Always prompt for initial group filter" still shows list of recordings in background

Reported by: John.Veness.mythtv@… Owned by: cpinkham
Priority: minor Milestone: 0.24.1
Component: MythTV - General Version: 0.24-fixes
Severity: medium Keywords: QueryInitialFilter RememberRecGroup
Cc: Ticket locked: no

Description

As part of the 0.22 to 0.23 change, the behaviour of the "Always prompt for initial group filter" (aka QueryInitialFilter?) setting has changed.

With both "Always prompt for initial group filter" (aka QueryInitialFilter?) ticked, and "Save current group filter when changed" (aka RememberRecGroup?) ticked:

Previously, in 0.22, when I entered Watch Recordings, the group filter popup would appear, and in the background would be an empty recordings list. Only if I picked a group would the list of recordings show up.

Now in 0.23 as soon as I enter Watch Recordings, the list of recordings fills in the background, as well as the group filter popping up in front. The list of recordings is from the previous group that was selected, i.e. the one that is initially highlighted on the group filter popup.

I believe this change is undesirable for two reasons:

1, It is mildly disorientating for the user for a list of recordings to appear (even if only in the background) before the user has picked which group to view.

2, More importantly, if the previous group selected was not All Programs, but I pick All Programs from the filter, the scroll position of the recordings list does not go to the top.

I quite often check All Programs to make sure all recent recordings in all groups have worked OK (I have the most recent at the top), and if the last group I was in was not All Programs, at first glance it looks like I have had serious problems with no recent recordings appearing, as the list is not scrolled to the top.

Chris Pinkham says:

I believe this has to do with the ProgramInfoCache? code that Daniel added.

If you want to test this theory, edit mythtv/programs/mythfrontend/playbackbox.cpp and search for the following:

else if (message == "UPDATE_UI_LIST") {

UpdateUILists(); m_helper.ForceFreeSpaceUpdate?();

}

Change that first line so it looks like this:

else if (m_IsInitialized&& message == "UPDATE_UI_LIST") {

UpdateUILists(); m_helper.ForceFreeSpaceUpdate?();

}

If this fixes it, you can open this as a bug and we can take a look at a proper fix. I think the above patch will work around the issue, but there are probably better ways.

I can confirm that Chris' patch restores the 0.22 behaviour for me, although I have not tested it extensively to see if it has undesirable side-effects, maybe with different settings.

Reference: http://www.gossamer-threads.com/lists/mythtv/users/459329

Change History (3)

comment:1 Changed 9 years ago by sphery

Cc: cpinkham@… removed
Owner: set to cpinkham
Status: newassigned

comment:2 Changed 9 years ago by cpinkham

Milestone: unknown0.24.1
Resolution: Fixed
Status: assignedclosed
Version: 0.23-fixes0.24-fixes

Closed by SHA fc146d5f3 with the following commit log:

Don't allow ProgramInfoCache? to update the UI on initial load.

Don't trigger a UI update in ProgramInfoCache? when we enter the PlaybackBox? and load the recordings list for the first time. The list was being displayed even in cases where the user has chosen to prompt for the initial Recording Group or the current group is protected by a password. Delaying the UI update allows the user to be first prompted for the password or new group and then the regular UI update code handles displaying the recordings list.

comment:3 Changed 9 years ago by Chris Pinkham

Resolution: Fixedfixed

Don't allow ProgramInfoCache? to update the UI on initial load.

Don't trigger a UI update in ProgramInfoCache? when we enter the PlaybackBox? and load the recordings list for the first time. The list was being displayed even in cases where the user has chosen to prompt for the initial Recording Group or the current group is protected by a password. Delaying the UI update allows the user to be first prompted for the password or new group and then the regular UI update code handles displaying the recordings list.

Closes #9209.

Changeset: fc146d5f311e872b63cf16f75ff337e5f70a2621

Note: See TracTickets for help on using tickets.