Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2013
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.09 KB | None | 0 0
  1. diff --git a/mythtv/programs/mythfrontend/playbackbox.cpp b/mythtv/programs/mythfrontend/playbackbox.cpp
  2. index 80bb637..4035546 100644
  3. --- a/mythtv/programs/mythfrontend/playbackbox.cpp
  4. +++ b/mythtv/programs/mythfrontend/playbackbox.cpp
  5. @@ -404,7 +404,13 @@ PlaybackBox::PlaybackBox(MythScreenStack *parent, QString name,
  6. m_needUpdate(false),
  7. // Other
  8. m_player(NULL),
  9. - m_helper(this)
  10. + m_helper(this),
  11. +
  12. + m_firstGroup(true),
  13. + m_usingGroupSelector(false),
  14. + m_groupSelected(false),
  15. + m_passwordEntered(false),
  16. + m_passwordFailed(false)
  17. {
  18. for (uint i = 0; i < sizeof(m_artImage) / sizeof(MythUIImage*); i++)
  19. {
  20. @@ -592,6 +598,8 @@ void PlaybackBox::SwitchList()
  21.  
  22. void PlaybackBox::displayRecGroup(const QString &newRecGroup)
  23. {
  24. + m_groupSelected = true;
  25. +
  26. QString password = m_recGroupPwCache[newRecGroup];
  27.  
  28. m_newRecGroup = newRecGroup;
  29. @@ -607,9 +615,14 @@ void PlaybackBox::displayRecGroup(const QString &newRecGroup)
  30.  
  31. connect(pwd, SIGNAL(haveResult(QString)),
  32. SLOT(checkPassword(QString)));
  33. + connect(pwd, SIGNAL(Exiting(void)),
  34. + SLOT(passwordClosed(void)));
  35. +
  36. + m_passwordEntered = false;
  37.  
  38. if (pwd->Create())
  39. popupStack->AddScreen(pwd, false);
  40. +
  41. return;
  42. }
  43.  
  44. @@ -618,9 +631,27 @@ void PlaybackBox::displayRecGroup(const QString &newRecGroup)
  45.  
  46. void PlaybackBox::checkPassword(const QString &password)
  47. {
  48. + m_passwordEntered = true;
  49. + m_passwordFailed = false;
  50. +
  51. QString grouppass = m_recGroupPwCache[m_newRecGroup];
  52. if (password == grouppass)
  53. setGroupFilter(m_newRecGroup);
  54. + else
  55. + m_passwordFailed = true;
  56. +}
  57. +
  58. +void PlaybackBox::passwordClosed(void)
  59. +{
  60. + if (m_passwordEntered)
  61. + {
  62. + if (m_passwordFailed)
  63. + displayRecGroup(m_newRecGroup);
  64. + return;
  65. + }
  66. +
  67. + if (m_usingGroupSelector || m_firstGroup)
  68. + showGroupFilter();
  69. }
  70.  
  71. void PlaybackBox::updateGroupInfo(const QString &groupname,
  72. @@ -4440,6 +4471,8 @@ void PlaybackBox::showGroupFilter(void)
  73.  
  74. if (recGroupPopup->Create())
  75. {
  76. + m_usingGroupSelector = true;
  77. + m_groupSelected = false;
  78. connect(recGroupPopup, SIGNAL(result(QString)),
  79. SLOT(displayRecGroup(QString)));
  80. connect(recGroupPopup, SIGNAL(Exiting()),
  81. @@ -4452,9 +4485,13 @@ void PlaybackBox::showGroupFilter(void)
  82.  
  83. void PlaybackBox::groupSelectorClosed(void)
  84. {
  85. - if ((gCoreContext->GetNumSetting("QueryInitialFilter", 0) == 1) &&
  86. - ((m_titleList.size() <= 1)))
  87. + if (m_groupSelected)
  88. + return;
  89. +
  90. + if (m_firstGroup)
  91. Close();
  92. +
  93. + m_usingGroupSelector = false;
  94. }
  95.  
  96. void PlaybackBox::setGroupFilter(const QString &recGroup)
  97. @@ -4464,6 +4501,9 @@ void PlaybackBox::setGroupFilter(const QString &recGroup)
  98. if (newRecGroup.isEmpty())
  99. return;
  100.  
  101. + m_firstGroup = false;
  102. + m_usingGroupSelector = false;
  103. +
  104. if (newRecGroup == ProgramInfo::i18n("Default"))
  105. newRecGroup = "Default";
  106. else if (newRecGroup == ProgramInfo::i18n("All Programs"))
  107. diff --git a/mythtv/programs/mythfrontend/playbackbox.h b/mythtv/programs/mythfrontend/playbackbox.h
  108. index 73c435d..426223d 100644
  109. --- a/mythtv/programs/mythfrontend/playbackbox.h
  110. +++ b/mythtv/programs/mythfrontend/playbackbox.h
  111. @@ -255,6 +255,7 @@ class PlaybackBox : public ScheduleCommon
  112. void saveViewChanges(void);
  113.  
  114. void checkPassword(const QString &password);
  115. + void passwordClosed(void);
  116.  
  117. void fanartLoad(void);
  118. void bannerLoad(void);
  119. @@ -432,6 +433,12 @@ class PlaybackBox : public ScheduleCommon
  120. PlaybackBoxHelper m_helper;
  121. /// Outstanding preview image requests
  122. QSet<QString> m_preview_tokens;
  123. +
  124. + bool m_firstGroup;
  125. + bool m_usingGroupSelector;
  126. + bool m_groupSelected;
  127. + bool m_passwordEntered;
  128. + bool m_passwordFailed;
  129. };
  130.  
  131. class GroupSelector : public MythScreenType
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement