diff --git a/mythtv/programs/mythfrontend/globalsettings.cpp b/mythtv/programs/mythfrontend/globalsettings.cpp
index b1518bb..2523fd1 100644
a
|
b
|
static HostCheckBoxSetting *RememberRecGroup() |
171 | 171 | return gc; |
172 | 172 | } |
173 | 173 | |
| 174 | static HostCheckBoxSetting *RecGroupMod() |
| 175 | { |
| 176 | HostCheckBoxSetting *gc = new HostCheckBoxSetting("RecGroupsFocusable"); |
| 177 | |
| 178 | gc->setLabel(PlaybackSettings::tr("Change Recording Group using the arrow " |
| 179 | "keys")); |
| 180 | |
| 181 | gc->setValue(false); |
| 182 | |
| 183 | gc->setHelpText(PlaybackSettings::tr("If enabled, change recording group " |
| 184 | "directly using the arrow keys " |
| 185 | "instead of having to use < and >. " |
| 186 | "Requires theme support for this " |
| 187 | "feature.")); |
| 188 | return gc; |
| 189 | } |
| 190 | |
| 191 | |
174 | 192 | static HostCheckBoxSetting *PBBStartInTitle() |
175 | 193 | { |
176 | 194 | HostCheckBoxSetting *gc = new HostCheckBoxSetting("PlaybackBoxStartInTitle"); |
… |
… |
void PlaybackSettings::Load(void) |
3971 | 3989 | pbox2->addChild(DisplayRecGroup()); |
3972 | 3990 | pbox2->addChild(QueryInitialFilter()); |
3973 | 3991 | pbox2->addChild(RememberRecGroup()); |
| 3992 | pbox2->addChild(RecGroupMod()); |
3974 | 3993 | |
3975 | 3994 | pbox->addChild(pbox2); |
3976 | 3995 | |
diff --git a/mythtv/programs/mythfrontend/playbackbox.cpp b/mythtv/programs/mythfrontend/playbackbox.cpp
index c1de86b..8545cba 100644
a
|
b
|
bool PlaybackBox::Create() |
556 | 556 | } |
557 | 557 | |
558 | 558 | if (m_recgroupList) |
559 | | m_recgroupList->SetCanTakeFocus(false); |
| 559 | { |
| 560 | if (gCoreContext->GetNumSetting("RecGroupsFocusable", 0)) |
| 561 | connect(m_recgroupList, SIGNAL(itemSelected(MythUIButtonListItem*)), |
| 562 | SLOT(updateRecGroup(MythUIButtonListItem*))); |
| 563 | else |
| 564 | m_recgroupList->SetCanTakeFocus(false); |
| 565 | } |
560 | 566 | |
561 | 567 | connect(m_groupList, SIGNAL(itemSelected(MythUIButtonListItem*)), |
562 | 568 | SLOT(updateRecList(MythUIButtonListItem*))); |
… |
… |
void PlaybackBox::UpdateUIRecGroupList(void) |
1337 | 1343 | if (m_recGroupIdx < 0 || !m_recgroupList || m_recGroups.size() < 2) |
1338 | 1344 | return; |
1339 | 1345 | |
| 1346 | QSignalBlocker blocker(m_recgroupList); |
| 1347 | |
1340 | 1348 | m_recgroupList->Reset(); |
1341 | 1349 | |
1342 | 1350 | int idx = 0; |
… |
… |
void PlaybackBox::UpdateUIGroupList(const QStringList &groupPreferences) |
1411 | 1419 | } |
1412 | 1420 | } |
1413 | 1421 | |
| 1422 | void PlaybackBox::updateRecGroup(MythUIButtonListItem *sel_item) |
| 1423 | { |
| 1424 | QString newRecGroup = sel_item->GetData().toString(); |
| 1425 | displayRecGroup(newRecGroup); |
| 1426 | } |
| 1427 | |
1414 | 1428 | void PlaybackBox::updateRecList(MythUIButtonListItem *sel_item) |
1415 | 1429 | { |
1416 | 1430 | if (!sel_item) |
diff --git a/mythtv/programs/mythfrontend/playbackbox.h b/mythtv/programs/mythfrontend/playbackbox.h
index 8ea5c0d..cafcd1b 100644
a
|
b
|
class PlaybackBox : public ScheduleCommon |
141 | 141 | void ItemVisible(MythUIButtonListItem *item); |
142 | 142 | void ItemLoaded(MythUIButtonListItem *item); |
143 | 143 | void selected(MythUIButtonListItem *item); |
| 144 | void updateRecGroup(MythUIButtonListItem *sel_item); |
144 | 145 | void PlayFromBookmarkOrProgStart(MythUIButtonListItem *item = NULL); |
145 | 146 | void PlayFromBookmark(MythUIButtonListItem *item = NULL); |
146 | 147 | void PlayFromBeginning(MythUIButtonListItem *item = NULL); |
diff --git a/mythtv/themes/MythCenter-wide/recordings-ui.xml b/mythtv/themes/MythCenter-wide/recordings-ui.xml
index f5729a6..3bb79cb 100644
a
|
b
|
|
38 | 38 | <arrange>stack</arrange> |
39 | 39 | <align>top,hcenter</align> |
40 | 40 | <spacing>0</spacing> |
| 41 | <focusorder>2</focusorder> |
41 | 42 | <scrollstyle>free</scrollstyle> |
42 | 43 | <wrapstyle>items</wrapstyle> |
43 | 44 | <layout>horizontal</layout> |
… |
… |
|
78 | 79 | </group> |
79 | 80 | </state> |
80 | 81 | |
81 | | <state name="selectedactive" from="selectedinactive" /> |
| 82 | <state name="selectedactive" from="selectedinactive"> |
| 83 | <group name="areagroup"> |
| 84 | <shape name="recGroupShape"> |
| 85 | <line color="#ffff00" width="3" alpha="255" /> |
| 86 | </shape> |
| 87 | </group> |
| 88 | </state> |
82 | 89 | |
83 | 90 | <state name="inactive" from="selectedinactive"> |
84 | 91 | <area>0,0,100%,100%</area> |
… |
… |
|
96 | 103 | </group> |
97 | 104 | </state> |
98 | 105 | |
99 | | <state name="active" from="inactive" /> |
| 106 | <state name="active" from="selectedinactive"> |
| 107 | <group name="areagroup"> |
| 108 | <shape name="recGroupShape"> |
| 109 | <line color="#ffff00" width="3" alpha="100" /> |
| 110 | </shape> |
| 111 | </group> |
| 112 | </state> |
100 | 113 | |
101 | 114 | </statetype> |
102 | 115 | |
… |
… |
|
127 | 140 | <spacing>0</spacing> |
128 | 141 | <wrapstyle>captive</wrapstyle> |
129 | 142 | <searchposition>-1,390</searchposition> |
130 | | <triggerevent context="Global" action="ESCAPE">LEFT</triggerevent> |
| 143 | <!-- <triggerevent context="Global" action="ESCAPE">LEFT</triggerevent> --> |
131 | 144 | <statetype name="buttonitem"> |
132 | 145 | <state name="active" > |
133 | 146 | <area>5,0,310,30</area> |
diff --git a/mythtv/themes/MythCenter/recordings-ui.xml b/mythtv/themes/MythCenter/recordings-ui.xml
index 5500fd7..e9020bc 100644
a
|
b
|
|
38 | 38 | <arrange>stack</arrange> |
39 | 39 | <align>top,hcenter</align> |
40 | 40 | <spacing>0</spacing> |
| 41 | <focusorder>2</focusorder> |
41 | 42 | <scrollstyle>free</scrollstyle> |
42 | 43 | <wrapstyle>items</wrapstyle> |
43 | 44 | <layout>horizontal</layout> |
… |
… |
|
78 | 79 | </group> |
79 | 80 | </state> |
80 | 81 | |
81 | | <state name="selectedactive" from="selectedinactive" /> |
| 82 | <state name="selectedactive" from="selectedinactive"> |
| 83 | <group name="areagroup"> |
| 84 | <shape name="recGroupShape"> |
| 85 | <line color="#ffff00" width="3" alpha="255" /> |
| 86 | </shape> |
| 87 | </group> |
| 88 | </state> |
82 | 89 | |
83 | 90 | <state name="inactive" from="selectedinactive"> |
84 | 91 | <area>0,0,100%,100%</area> |
… |
… |
|
96 | 103 | </group> |
97 | 104 | </state> |
98 | 105 | |
99 | | <state name="active" from="inactive" /> |
| 106 | <state name="active" from="selectedinactive"> |
| 107 | <group name="areagroup"> |
| 108 | <shape name="recGroupShape"> |
| 109 | <line color="#ffff00" width="3" alpha="100" /> |
| 110 | </shape> |
| 111 | </group> |
| 112 | </state> |
100 | 113 | |
101 | 114 | </statetype> |
102 | 115 | |
… |
… |
|
127 | 140 | <spacing>0</spacing> |
128 | 141 | <wrapstyle>selection</wrapstyle> |
129 | 142 | <searchposition>-1,390</searchposition> |
130 | | <triggerevent context="Global" action="ESCAPE">LEFT</triggerevent> |
| 143 | <!-- <triggerevent context="Global" action="ESCAPE">LEFT</triggerevent> --> |
131 | 144 | <statetype name="buttonitem"> |
132 | 145 | <state name="active" > |
133 | 146 | <area>0,0,220,30</area> |
diff --git a/mythtv/themes/default-wide/recordings-ui.xml b/mythtv/themes/default-wide/recordings-ui.xml
index 083f2f5..42c7389 100644
a
|
b
|
|
21 | 21 | <align>center</align> |
22 | 22 | <!-- only allow one button to fix --> |
23 | 23 | <spacing>880</spacing> |
| 24 | <focusorder>2</focusorder> |
24 | 25 | <scrollstyle>center</scrollstyle> |
25 | 26 | <wrapstyle>items</wrapstyle> |
26 | 27 | <layout>horizontal</layout> |
diff --git a/mythtv/themes/default/recordings-ui.xml b/mythtv/themes/default/recordings-ui.xml
index 7401397..13eeff8 100644
a
|
b
|
|
21 | 21 | <align>center</align> |
22 | 22 | <!-- only allow one button to fix --> |
23 | 23 | <spacing>500</spacing> |
| 24 | <focusorder>2</focusorder> |
24 | 25 | <scrollstyle>center</scrollstyle> |
25 | 26 | <wrapstyle>items</wrapstyle> |
26 | 27 | <layout>horizontal</layout> |