Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/mythtv/programs/mythfrontend/playbackbox.cpp b/mythtv/programs/mythfrontend/playbackbox.cpp
- index 80bb637..4035546 100644
- --- a/mythtv/programs/mythfrontend/playbackbox.cpp
- +++ b/mythtv/programs/mythfrontend/playbackbox.cpp
- @@ -404,7 +404,13 @@ PlaybackBox::PlaybackBox(MythScreenStack *parent, QString name,
- m_needUpdate(false),
- // Other
- m_player(NULL),
- - m_helper(this)
- + m_helper(this),
- +
- + m_firstGroup(true),
- + m_usingGroupSelector(false),
- + m_groupSelected(false),
- + m_passwordEntered(false),
- + m_passwordFailed(false)
- {
- for (uint i = 0; i < sizeof(m_artImage) / sizeof(MythUIImage*); i++)
- {
- @@ -592,6 +598,8 @@ void PlaybackBox::SwitchList()
- void PlaybackBox::displayRecGroup(const QString &newRecGroup)
- {
- + m_groupSelected = true;
- +
- QString password = m_recGroupPwCache[newRecGroup];
- m_newRecGroup = newRecGroup;
- @@ -607,9 +615,14 @@ void PlaybackBox::displayRecGroup(const QString &newRecGroup)
- connect(pwd, SIGNAL(haveResult(QString)),
- SLOT(checkPassword(QString)));
- + connect(pwd, SIGNAL(Exiting(void)),
- + SLOT(passwordClosed(void)));
- +
- + m_passwordEntered = false;
- if (pwd->Create())
- popupStack->AddScreen(pwd, false);
- +
- return;
- }
- @@ -618,9 +631,27 @@ void PlaybackBox::displayRecGroup(const QString &newRecGroup)
- void PlaybackBox::checkPassword(const QString &password)
- {
- + m_passwordEntered = true;
- + m_passwordFailed = false;
- +
- QString grouppass = m_recGroupPwCache[m_newRecGroup];
- if (password == grouppass)
- setGroupFilter(m_newRecGroup);
- + else
- + m_passwordFailed = true;
- +}
- +
- +void PlaybackBox::passwordClosed(void)
- +{
- + if (m_passwordEntered)
- + {
- + if (m_passwordFailed)
- + displayRecGroup(m_newRecGroup);
- + return;
- + }
- +
- + if (m_usingGroupSelector || m_firstGroup)
- + showGroupFilter();
- }
- void PlaybackBox::updateGroupInfo(const QString &groupname,
- @@ -4440,6 +4471,8 @@ void PlaybackBox::showGroupFilter(void)
- if (recGroupPopup->Create())
- {
- + m_usingGroupSelector = true;
- + m_groupSelected = false;
- connect(recGroupPopup, SIGNAL(result(QString)),
- SLOT(displayRecGroup(QString)));
- connect(recGroupPopup, SIGNAL(Exiting()),
- @@ -4452,9 +4485,13 @@ void PlaybackBox::showGroupFilter(void)
- void PlaybackBox::groupSelectorClosed(void)
- {
- - if ((gCoreContext->GetNumSetting("QueryInitialFilter", 0) == 1) &&
- - ((m_titleList.size() <= 1)))
- + if (m_groupSelected)
- + return;
- +
- + if (m_firstGroup)
- Close();
- +
- + m_usingGroupSelector = false;
- }
- void PlaybackBox::setGroupFilter(const QString &recGroup)
- @@ -4464,6 +4501,9 @@ void PlaybackBox::setGroupFilter(const QString &recGroup)
- if (newRecGroup.isEmpty())
- return;
- + m_firstGroup = false;
- + m_usingGroupSelector = false;
- +
- if (newRecGroup == ProgramInfo::i18n("Default"))
- newRecGroup = "Default";
- else if (newRecGroup == ProgramInfo::i18n("All Programs"))
- diff --git a/mythtv/programs/mythfrontend/playbackbox.h b/mythtv/programs/mythfrontend/playbackbox.h
- index 73c435d..426223d 100644
- --- a/mythtv/programs/mythfrontend/playbackbox.h
- +++ b/mythtv/programs/mythfrontend/playbackbox.h
- @@ -255,6 +255,7 @@ class PlaybackBox : public ScheduleCommon
- void saveViewChanges(void);
- void checkPassword(const QString &password);
- + void passwordClosed(void);
- void fanartLoad(void);
- void bannerLoad(void);
- @@ -432,6 +433,12 @@ class PlaybackBox : public ScheduleCommon
- PlaybackBoxHelper m_helper;
- /// Outstanding preview image requests
- QSet<QString> m_preview_tokens;
- +
- + bool m_firstGroup;
- + bool m_usingGroupSelector;
- + bool m_groupSelected;
- + bool m_passwordEntered;
- + bool m_passwordFailed;
- };
- class GroupSelector : public MythScreenType
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement