Permalink
Browse files

Refs #7406. Fix channel change in the EPG. After this commit, SELECT …

…changes the channel and dismisses the EPG when watching LiveTV and the selected show's starttime is less than now + SelChangeRecThreshold. Users who prefer to always edit a schedule should use the EDIT keybinding or access "Edit Schedule" through the MENU.

In the mythui port of guidegrid, the MENU key was changed to show the menu (as it should).  Unfortunately since prior to this change MENU was used to change the channel and dismiss the EPG, this meant that the only way to change channel and dismiss the EPG when in LiveTV was to enable SelectChangesChannel and use the SELECT key.  Since the use of the MENU key to change channels doesn't fit the UI consistency guidelines, it makes sense to just remove the SelectChangesChannel setting and always use its functionality.

This change also fixes SELECT so that it does not attempt to change the channel if not watching LiveTV (when using the alternate EPG while playing back a recording).  Furthermore, to ensure all functionality is always available in spite of SELECT's dual-usage, it adds "Change Channel" to the menu when watching LiveTV and adds "Edit Recording Status" to the menu for shows that match a recording rule (where "Edit Recording Status" is the function SELECT gives for a show that matches a rule and starts after SelChangeRecThreshold minutes--the "allow you to resolve conflicts or change overrides" in keys.txt).

I will backport this change to 0.22-fixes after 0.22 is released.  Until then users should enable the setting, "Use select to change the channel in the program guide" or use the CHANUPDATE keybinding (by default, 'X') to change the channel and then dismiss the EPG with ESCAPE.


git-svn-id: http://svn.mythtv.org/svn/trunk@22674 7dbf422c-18fa-0310-86e9-fd20926502f2
  • Loading branch information...
1 parent 0904cee commit eb234c6712bf2eff40de150339ebfb988c762dd3 @sphery sphery committed Oct 31, 2009
Showing with 32 additions and 32 deletions.
  1. +14 −13 mythtv/keys.txt
  2. +0 −14 mythtv/programs/mythfrontend/globalsettings.cpp
  3. +18 −5 mythtv/programs/mythfrontend/guidegrid.cpp
View
@@ -169,14 +169,14 @@ If you have two or more tuner cards:
While watching a recording:
-- SPACE or ENTER will set a bookmark at that point. Next time you start the
- recording, you will automatically jump forward to this point and clear the
+- SPACE or ENTER will set a bookmark at that point. Next time you start the
+ recording, you will automatically jump forward to this point and clear the
bookmark.
- E or M enters/exits edit mode.
- The left and right keys move forward and backward.
- The up and down arrow keys alter the amount of time you jump forward and
- backward. Increments are: nearest cutpoint, nearest video keyframe,
- 1 frame, 0.5 seconds, 1 second, 20 seconds, 1 minute, 5 minutes, and
+ backward. Increments are: nearest cutpoint, nearest video keyframe,
+ 1 frame, 0.5 seconds, 1 second, 20 seconds, 1 minute, 5 minutes, and
10 minutes.
- The page up and down keys move forward and backward to the nearest cut
point.
@@ -202,19 +202,20 @@ EPG
highlight left or right by one page.
- The keys 9, 3, 7 and 1 (like a numeric keypad) perform the same as PageUp,
PageDown, Home and End.
-- I will bring up more information about a show, and allow you to schedule
- a recording.
+- U will bring up more information about a show.
+- I will allow you to schedule a recording.
- If you select "Record this showing" while watching Live TV you can
"Instant Record" a program.
-- Space or Enter will allow you resolve conflicts or change overrides.
- If the program is not already scheduled to record, it will act like
- pressing I instead.
-- Pressing M when on a channel will change to that channel.
+- Space or Enter when watching LiveTV will change to that channel and exit the
+ EPG if the selected show is in progress or starts within 15 minutes; or
+ otherwise will allow you to resolve conflicts or change overrides. If the
+ program is not already scheduled to record, it will act like pressing I
+ instead.
+- Pressing X will change the channel to the currently selected channel without
+ leaving the EPG (Most useful in the alternate EPG)
- Pressing ESC or C exits without changing the channel.
- Pressing R will change the current item from Recording/Not-Recording.
Successive keypresses cycle through the scheduled recording type list.
-- Pressing X will change the channel to the currently selected channel without
- leaving the EPG (Most useful in the alternate EPG)
- Pressing '?' will mark/unmark the current channel as a "favorite"
- Pressing '/' or 4 will toggle the guide listing between all channels and
"favorites".
@@ -244,7 +245,7 @@ Viewing Search Listings
- Home to change to the previous view if applicable.
- End to change to the next view if applicable.
- M to select another view if applicable.
- - In the title and description search popup, press M again to edit or
+ - In the title and description search popup, press M again to edit or
delete the selected view.
Program Finder
@@ -3450,19 +3450,6 @@ static HostLineEdit *UnknownCategory()
return ge;
}
-static HostCheckBox *SelectChangesChannel()
-{
- HostCheckBox *gc = new HostCheckBox("SelectChangesChannel");
- gc->setLabel(QObject::tr("Use select to change the channel in the program "
- "guide"));
- gc->setValue(false);
- gc->setHelpText(QObject::tr("If enabled, the Select key will change the "
- "channel while using the program guide during live TV. "
- "If disabled, the select key will bring up the recording "
- "options screen."));
- return gc;
-}
-
static HostSpinBox *EPGRecThreshold()
{
HostSpinBox *gs = new HostSpinBox("SelChangeRecThreshold", 1, 600, 1);
@@ -4847,7 +4834,6 @@ EPGSettings::EPGSettings()
gen->addChild(UnknownTitle());
gen->addChild(UnknownCategory());
gen->addChild(DefaultTVChannel());
- gen->addChild(SelectChangesChannel());
gen->addChild(EPGRecThreshold());
gen->addChild(EPGEnableJumpToChannel());
addChild(gen);
@@ -202,7 +202,6 @@ GuideGrid::GuideGrid(MythScreenStack *parent,
m_jumpToChannelEnabled = gContext->GetNumSetting("EPGEnableJumpToChannel", 1);
m_sortReverse = gContext->GetNumSetting("EPGSortReverse", 0);
- m_selectChangesChannel = gContext->GetNumSetting("SelectChangesChannel", 0);
m_selectRecThreshold = gContext->GetNumSetting("SelChangeRecThreshold", 16);
m_timeFormat = gContext->GetSetting("TimeFormat", "h:mm AP");
@@ -463,10 +462,11 @@ bool GuideGrid::keyPressEvent(QKeyEvent *event)
Close();
else if (action == "SELECT")
{
- if (m_player && m_selectChangesChannel)
+ if (m_player && (m_player->GetState(-1) == kState_WatchingLiveTV))
{
- // See if this show is far enough into the future that it's probable
- // that the user wanted to schedule it to record instead of changing the channel.
+ // See if this show is far enough into the future that it's
+ // probable that the user wanted to schedule it to record
+ // instead of changing the channel.
ProgramInfo *pginfo = m_programInfos[m_currentRow][m_currentCol];
if (pginfo && (pginfo->title != m_unknownTitle) &&
((pginfo->SecsTillStart() / 60) >= m_selectRecThreshold))
@@ -535,13 +535,18 @@ void GuideGrid::showMenu(void)
{
menuPopup->SetReturnEvent(this, "menu");
+ ProgramInfo *pginfo = m_programInfos[m_currentRow][m_currentCol];
+
+ if (m_player && (m_player->GetState(-1) == kState_WatchingLiveTV))
+ menuPopup->AddButton(tr("Change Channel"));
menuPopup->AddButton(tr("Record"));
+ if (pginfo && pginfo->recordid > 0)
+ menuPopup->AddButton(tr("Edit Recording Status"));
menuPopup->AddButton(tr("Edit Schedule"));
menuPopup->AddButton(tr("Program Details"));
menuPopup->AddButton(tr("Upcoming"));
menuPopup->AddButton(tr("Custom Edit"));
- ProgramInfo *pginfo = m_programInfos[m_currentRow][m_currentCol];
if (pginfo && pginfo->recordid > 0)
menuPopup->AddButton(tr("Delete Rule"));
@@ -1259,6 +1264,14 @@ void GuideGrid::customEvent(QEvent *event)
{
quickRecord();
}
+ if (resulttext == tr("Change Channel"))
+ {
+ enter();
+ }
+ if (resulttext == tr("Edit Recording Status"))
+ {
+ editRecSchedule();
+ }
else if (resulttext == tr("Edit Schedule"))
{
editSchedule();

0 comments on commit eb234c6

Please sign in to comment.