Skip to content

Commit aba4f9c

Browse files
committed
Split the guide grid context menu into two and hide channel group options if no channel groups are defined.
1 parent 5942398 commit aba4f9c

File tree

2 files changed

+77
-39
lines changed

2 files changed

+77
-39
lines changed

mythtv/programs/mythfrontend/guidegrid.cpp

Lines changed: 76 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -585,39 +585,68 @@ bool GuideGrid::keyPressEvent(QKeyEvent *event)
585585

586586
void GuideGrid::showMenu(void)
587587
{
588-
QString label = tr("Options");
588+
QString label = tr("Guide Options");
589589

590590
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
591-
MythDialogBox *menuPopup = new MythDialogBox(label, popupStack, "menuPopup");
591+
MythDialogBox *menuPopup = new MythDialogBox(label, popupStack,
592+
"guideMenuPopup");
592593

593594
if (menuPopup->Create())
594595
{
595-
menuPopup->SetReturnEvent(this, "menu");
596+
menuPopup->SetReturnEvent(this, "guidemenu");
597+
598+
if (m_player && (m_player->GetState(-1) == kState_WatchingLiveTV))
599+
menuPopup->AddButton(tr("Change to Channel"));
600+
601+
menuPopup->AddButton(tr("Record This"));
602+
603+
menuPopup->AddButton(tr("Recording Options"), NULL, true);
604+
605+
menuPopup->AddButton(tr("Program Details"));
606+
607+
menuPopup->AddButton(tr("Reverse Channel Order"));
608+
609+
if (!m_changrplist.empty())
610+
{
611+
menuPopup->AddButton(tr("Choose Channel Group"));
612+
613+
if (m_changrpid == -1)
614+
menuPopup->AddButton(tr("Add To Channel Group"), NULL, true);
615+
else
616+
menuPopup->AddButton(tr("Remove from Channel Group"), NULL, true);
617+
}
618+
619+
popupStack->AddScreen(menuPopup);
620+
}
621+
else
622+
{
623+
delete menuPopup;
624+
}
625+
}
626+
627+
void GuideGrid::showRecordingMenu(void)
628+
{
629+
QString label = tr("Recording Options");
630+
631+
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
632+
MythDialogBox *menuPopup = new MythDialogBox(label, popupStack,
633+
"recMenuPopup");
634+
635+
if (menuPopup->Create())
636+
{
637+
menuPopup->SetReturnEvent(this, "recmenu");
596638

597639
ProgramInfo *pginfo = m_programInfos[m_currentRow][m_currentCol];
598640

599-
if (m_player && (m_player->GetState(-1) == kState_WatchingLiveTV))
600-
menuPopup->AddButton(tr("Change Channel"));
601-
menuPopup->AddButton(tr("Record"));
602641
if (pginfo && pginfo->GetRecordingRuleID())
603642
menuPopup->AddButton(tr("Edit Recording Status"));
604643
menuPopup->AddButton(tr("Edit Schedule"));
605-
menuPopup->AddButton(tr("Program Details"));
606-
menuPopup->AddButton(tr("Upcoming"));
644+
menuPopup->AddButton(tr("Show Upcoming"));
607645
menuPopup->AddButton(tr("Custom Edit"));
608646

609647
if (pginfo && pginfo->GetRecordingRuleID())
610648
menuPopup->AddButton(tr("Delete Rule"));
611649

612-
menuPopup->AddButton(tr("Reverse Channel Order"));
613-
614-
if (m_changrpid == -1)
615-
menuPopup->AddButton(tr("Add To Channel Group"));
616-
else
617-
menuPopup->AddButton(tr("Remove from Channel Group"));
618-
619-
menuPopup->AddButton(tr("Choose Channel Group"));
620-
621650
popupStack->AddScreen(menuPopup);
622651
}
623652
else
@@ -1357,40 +1386,20 @@ void GuideGrid::customEvent(QEvent *event)
13571386
delete record;
13581387
}
13591388
}
1360-
else if (resultid == "menu")
1389+
else if (resultid == "guidemenu")
13611390
{
13621391
if (resulttext == tr("Record"))
13631392
{
13641393
quickRecord();
13651394
}
1366-
if (resulttext == tr("Change Channel"))
1395+
else if (resulttext == tr("Change Channel"))
13671396
{
13681397
enter();
13691398
}
1370-
if (resulttext == tr("Edit Recording Status"))
1371-
{
1372-
editRecSchedule();
1373-
}
1374-
else if (resulttext == tr("Edit Schedule"))
1375-
{
1376-
editSchedule();
1377-
}
13781399
else if (resulttext == tr("Program Details"))
13791400
{
13801401
details();
13811402
}
1382-
else if (resulttext == tr("Upcoming"))
1383-
{
1384-
upcoming();
1385-
}
1386-
else if (resulttext == tr("Custom Edit"))
1387-
{
1388-
customEdit();
1389-
}
1390-
else if (resulttext == tr("Delete Rule"))
1391-
{
1392-
deleteRule();
1393-
}
13941403
else if (resulttext == tr("Reverse Channel Order"))
13951404
{
13961405
m_sortReverse = !m_sortReverse;
@@ -1410,6 +1419,34 @@ void GuideGrid::customEvent(QEvent *event)
14101419
{
14111420
ChannelGroupMenu(1);
14121421
}
1422+
else if (resulttext == tr("Recording Options"))
1423+
{
1424+
showRecordingMenu();
1425+
}
1426+
}
1427+
else if (resultid == "recmenu")
1428+
{
1429+
if (resulttext == tr("Edit Recording Status"))
1430+
{
1431+
editRecSchedule();
1432+
}
1433+
else if (resulttext == tr("Edit Schedule"))
1434+
{
1435+
editSchedule();
1436+
}
1437+
else if (resulttext == tr("Upcoming"))
1438+
{
1439+
upcoming();
1440+
}
1441+
else if (resulttext == tr("Custom Edit"))
1442+
{
1443+
customEdit();
1444+
}
1445+
else if (resulttext == tr("Delete Rule"))
1446+
{
1447+
deleteRule();
1448+
}
1449+
14131450
}
14141451
else if (resultid == "channelgrouptogglemenu")
14151452
{

mythtv/programs/mythfrontend/guidegrid.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ class GuideGrid : public ScheduleCommon, public JumpToChannelListener
165165
void moveUpDown(MoveVector movement);
166166

167167
void showMenu(void);
168+
void showRecordingMenu(void);
168169

169170
int FindChannel(uint chanid, const QString &channum,
170171
bool exact = true) const;

0 commit comments

Comments
 (0)