Ticket #13234: 20180409_1248_new_osd_nav.patch
File 20180409_1248_new_osd_nav.patch, 119.8 KB (added by , 6 years ago) |
---|
-
mythtv/libs/libmythtv/osd.cpp
diff --git a/mythtv/libs/libmythtv/osd.cpp b/mythtv/libs/libmythtv/osd.cpp index e635ea4..94f1dec 100644
a b 15 15 #include "mythuibutton.h" 16 16 #include "mythuieditbar.h" 17 17 #include "mythuistatetype.h" 18 #include "mythuigroup.h" 18 19 19 20 // libmythtv 20 21 #include "channelutil.h" … … 24 25 #include "osd.h" 25 26 #include "Bluray/bdringbuffer.h" 26 27 #include "Bluray/bdoverlayscreen.h" 28 #include "tv_actions.h" 27 29 28 30 #define LOC QString("OSD: ") 29 31 … … bool OSD::Reinit(const QRect &rect, float font_aspect) 255 257 int new_stretch = (int)((font_aspect * 100) + 0.5f); 256 258 if ((rect == m_Rect) && (new_stretch == m_fontStretch)) 257 259 return true; 260 if (m_Dialog && m_Dialog->objectName() == OSD_DLG_NAVIGATE 261 && m_Dialog->IsVisible()) 262 { 263 bool softBlend = (m_parent->GetVideoOutput()->GetOSDRenderer() == "softblend"); 264 OsdNavigation *nav = static_cast<OsdNavigation *> (m_Dialog); 265 QString navFocus = nav->GetFocusWidget()->objectName(); 266 if (softBlend && navFocus == "TOGGLEFILL") 267 // in this case continue with reinit 268 ; 269 else 270 return true; 271 } 258 272 259 273 HideAll(false); 260 274 TearDown(); … … void OSD::HideAll(bool keepsubs, MythScreenType* except, bool dropnotification) 295 309 while (it.hasNext()) 296 310 { 297 311 it.next(); 312 if (except && except->objectName() == OSD_DLG_NAVIGATE 313 && it.value()->objectName() == "osd_status") 314 continue; 298 315 bool match1 = keepsubs && 299 316 (it.key() == OSD_WIN_SUBTITLE || 300 317 it.key() == OSD_WIN_TELETEXT); … … void OSD::SetText(const QString &window, const InfoMap &map, 560 577 ChannelEditor *edit = dynamic_cast<ChannelEditor*>(m_Dialog); 561 578 if (edit) 562 579 edit->SetText(map); 580 else 581 win->SetTextFromMap(map); 563 582 } 564 583 else 565 584 win->SetTextFromMap(map); … … void OSD::CheckExpiry(void) 986 1005 void OSD::SetExpiry(const QString &window, enum OSDTimeout timeout, 987 1006 int custom_timeout) 988 1007 { 1008 SetExpiry1(window, timeout, custom_timeout); 1009 if (IsWindowVisible(window)) 1010 { 1011 // Keep status and nav timeouts in sync 1012 if (window == OSD_DLG_NAVIGATE) 1013 SetExpiry1("osd_status", timeout, custom_timeout); 1014 else if (window == "osd_status" && IsWindowVisible(OSD_DLG_NAVIGATE)) 1015 SetExpiry1(OSD_DLG_NAVIGATE, timeout, custom_timeout); 1016 } 1017 } 1018 1019 void OSD::SetExpiry1(const QString &window, enum OSDTimeout timeout, 1020 int custom_timeout) 1021 { 989 1022 if (timeout == kOSDTimeout_Ignore && !custom_timeout) 990 1023 return; 991 1024 … … void OSD::SetExpiry(const QString &window, enum OSDTimeout timeout, 994 1027 if ((time > 0) && win) 995 1028 { 996 1029 QDateTime expires = MythDate::current().addMSecs(time); 997 m_ExpireTimes.insert(win, expires);1030 m_ExpireTimes.insert(win, expires); 998 1031 } 999 1032 else if ((time < 0) && win) 1000 1033 { … … void OSD::DialogShow(const QString &window, const QString &text, int updatefor) 1186 1219 dialog = new ChannelEditor(m_ParentObject, window.toLatin1()); 1187 1220 else if (window == OSD_DLG_CONFIRM) 1188 1221 dialog = new MythConfirmationDialog(NULL, text, false); 1222 else if (window == OSD_DLG_NAVIGATE) 1223 dialog = new OsdNavigation(m_ParentObject, window, this); 1189 1224 else 1190 1225 dialog = new MythDialogBox(text, NULL, window.toLatin1(), false, true); 1191 1226 … … void OSD::DisplayBDOverlay(BDOverlay* overlay) 1426 1461 if (bd) 1427 1462 bd->DisplayBDOverlay(overlay); 1428 1463 } 1464 1465 OsdNavigation::OsdNavigation(QObject *retobject, const QString &name, OSD *osd) 1466 : MythScreenType((MythScreenType*)NULL, name), 1467 m_retObject(retobject), 1468 m_osd(osd), 1469 m_playButton(0), 1470 m_pauseButton(0), 1471 m_muteButton(0), 1472 m_unMuteButton(0), 1473 m_paused('X'), 1474 m_muted('X'), 1475 m_visibleGroup(0), 1476 m_maxGroupNum(-1), 1477 m_IsVolumeControl(true) 1478 { 1479 m_retObject = retobject; 1480 } 1481 1482 bool OsdNavigation::Create(void) 1483 { 1484 if (!XMLParseBase::LoadWindowFromXML("osd.xml", "osd_navigation", this)) 1485 return false; 1486 1487 MythUIButton *moreButton; 1488 UIUtilW::Assign(this, moreButton, "more"); 1489 if (moreButton) 1490 connect(moreButton, SIGNAL(Clicked()), SLOT(More())); 1491 UIUtilW::Assign(this, m_pauseButton, "PAUSE"); 1492 UIUtilW::Assign(this, m_playButton, "PLAY"); 1493 UIUtilW::Assign(this, m_muteButton, "MUTE"); 1494 UIUtilW::Assign(this, m_unMuteButton, "unmute"); 1495 1496 MythPlayer *player = m_osd->GetPlayer(); 1497 1498 if (!player || !player->HasAudioOut() || 1499 !player->PlayerControlsVolume()) 1500 { 1501 m_IsVolumeControl = false; 1502 if (m_muteButton) 1503 m_muteButton->Hide(); 1504 if (m_unMuteButton) 1505 m_unMuteButton->Hide(); 1506 } 1507 1508 // find number of groups and make sure only corrrect one is visible 1509 MythUIGroup *group; 1510 for (int i = 0; i < 100 ; i++) 1511 { 1512 UIUtilW::Assign(this, group, QString("grp%1").arg(i)); 1513 if (group) 1514 { 1515 m_maxGroupNum = i; 1516 if (i != m_visibleGroup) 1517 group->SetVisible (false); 1518 QList<MythUIType *> * children = group->GetAllChildren(); 1519 QList<MythUIType *>::iterator it; 1520 for (it = children->begin(); it != children->end(); ++it) 1521 { 1522 MythUIType *child = *it; 1523 if (child == moreButton) 1524 continue; 1525 connect(child, SIGNAL(Clicked()), SLOT(GeneralAction())); 1526 } 1527 } 1528 else 1529 break; 1530 } 1531 1532 BuildFocusList(); 1533 1534 return true; 1535 } 1536 1537 bool OsdNavigation::keyPressEvent(QKeyEvent *event) 1538 { 1539 // bool extendTimeout = (m_paused != 'Y'); 1540 bool extendTimeout = true; 1541 bool handled = false; 1542 1543 MythUIType *focus = GetFocusWidget(); 1544 if (focus && focus->keyPressEvent(event)) 1545 handled = true; 1546 1547 if (!handled) 1548 { 1549 QStringList actions; 1550 bool handled = GetMythMainWindow()->TranslateKeyPress("qt", event, actions); 1551 1552 for (int i = 0; i < actions.size() && !handled; i++) 1553 { 1554 QString action = actions[i]; 1555 if (action == "ESCAPE" ) 1556 { 1557 sendResult(-1,action); 1558 handled = true; 1559 extendTimeout = false; 1560 } 1561 } 1562 } 1563 if (!handled && MythScreenType::keyPressEvent(event)) 1564 handled = true; 1565 1566 if (extendTimeout) 1567 { 1568 m_osd->SetExpiry(OSD_DLG_NAVIGATE, kOSDTimeout_Long); 1569 // m_osd->SetExpiry("osd_status", kOSDTimeout_Long); 1570 } 1571 1572 return handled; 1573 } 1574 1575 // Virtual 1576 void OsdNavigation::ShowMenu(void) 1577 { 1578 sendResult(100,"MENU"); 1579 } 1580 1581 void OsdNavigation::sendResult(int result, QString action) 1582 { 1583 if (!m_retObject) 1584 return; 1585 1586 DialogCompletionEvent *dce = new DialogCompletionEvent("", result, 1587 "", action); 1588 QCoreApplication::postEvent(m_retObject, dce); 1589 } 1590 1591 void OsdNavigation::GeneralAction(void) 1592 { 1593 MythUIType *fw = GetFocusWidget(); 1594 if (fw) 1595 { 1596 QString nameClicked = fw->objectName(); 1597 int result = 100; 1598 int hashPos = nameClicked.indexOf('#'); 1599 if (hashPos > -1) 1600 nameClicked.truncate(hashPos); 1601 if (nameClicked == "INFO") 1602 result=0; 1603 if (nameClicked == "unmute") 1604 nameClicked = "MUTE"; 1605 sendResult(result, nameClicked); 1606 } 1607 } 1608 1609 // Switch to next group of icons. They have to be 1610 // named grp0, grp1, etc with no gaps in numbers. 1611 void OsdNavigation::More(void) 1612 { 1613 if (m_maxGroupNum <= 0) 1614 return; 1615 1616 MythUIGroup *group; 1617 UIUtilW::Assign(this, group, QString("grp%1").arg(m_visibleGroup)); 1618 group->SetVisible (false); 1619 1620 // wrap around after last group displayed 1621 if (++m_visibleGroup > m_maxGroupNum) 1622 m_visibleGroup = 0; 1623 1624 UIUtilW::Assign(this, group, QString("grp%1").arg(m_visibleGroup)); 1625 group->SetVisible (true); 1626 } 1627 1628 void OsdNavigation::SetTextFromMap(const InfoMap &infoMap) 1629 { 1630 1631 char paused = infoMap.value("paused","X").toLocal8Bit().at(0); 1632 if (paused != 'X') 1633 { 1634 if (m_playButton && m_pauseButton && paused != m_paused) 1635 { 1636 MythUIType *fw = GetFocusWidget(); 1637 m_playButton->SetVisible(paused=='Y'); 1638 m_pauseButton->SetVisible(paused!='Y'); 1639 if (fw && (fw == m_playButton || fw == m_pauseButton)) 1640 { 1641 fw->LoseFocus(); 1642 MythUIType *newfw = (paused=='Y' ? m_playButton : m_pauseButton); 1643 SetFocusWidget(newfw); 1644 if (m_paused == 'X') 1645 newfw->TakeFocus(); 1646 } 1647 m_paused = paused; 1648 } 1649 } 1650 1651 char muted = infoMap.value("muted","X").toLocal8Bit().at(0); 1652 if (m_IsVolumeControl && muted != 'X') 1653 { 1654 if (m_muteButton && m_unMuteButton && muted != m_muted) 1655 { 1656 MythUIType *fw = GetFocusWidget(); 1657 m_muteButton->SetVisible(muted!='Y'); 1658 m_unMuteButton->SetVisible(muted=='Y'); 1659 m_muted = muted; 1660 if (fw && (fw == m_muteButton || fw == m_unMuteButton)) 1661 { 1662 fw->LoseFocus(); 1663 SetFocusWidget(muted=='Y' ? m_unMuteButton : m_muteButton); 1664 } 1665 } 1666 } 1667 1668 MythScreenType::SetTextFromMap(infoMap); 1669 } -
mythtv/libs/libmythtv/osd.h
diff --git a/mythtv/libs/libmythtv/osd.h b/mythtv/libs/libmythtv/osd.h index f9cc5eb..c0a608a 100644
a b 28 28 #define OSD_DLG_EDITOR "xx_OSD_EDITOR" 29 29 #define OSD_DLG_CUTPOINT "xx_OSD_CUTPOINT" 30 30 #define OSD_DLG_DELETE "xx_OSD_DELETE" 31 #define OSD_DLG_NAVIGATE "xx_OSD_NAVIGATE" 31 32 #define OSD_DLG_CONFIRM "mythconfirmpopup" 32 33 // subtitles are always painted first 33 34 #define OSD_WIN_TELETEXT "aa_OSD_TELETEXT" … … class OSD 181 182 bool DialogHandleGesture(MythGestureEvent *e); 182 183 void DialogQuit(void); 183 184 void DialogShow(const QString &window, const QString &text = "", 184 185 int updatefor = 0); 185 186 void DialogSetText(const QString &text); 186 187 void DialogBack(QString text = "", QVariant data = 0, bool exit = false); 187 188 void DialogAddButton(QString text, QVariant data, … … class OSD 201 202 void DisplayDVDButton(AVSubtitle* dvdButton, QRect &pos); 202 203 203 204 void DisplayBDOverlay(BDOverlay *overlay); 205 MythPlayer *GetPlayer(void) { return m_parent; } 204 206 205 207 private: 206 208 void TearDown(void); … … class OSD 208 210 209 211 void CheckExpiry(void); 210 212 void SendHideEvent(void); 213 void SetExpiry1(const QString &window, enum OSDTimeout timeout, 214 int custom_timeout); 211 215 212 216 private: 213 217 MythPlayer *m_parent; … … class OSD 237 241 QHash<MythScreenType*, QDateTime> m_ExpireTimes; 238 242 }; 239 243 244 class OsdNavigation : public MythScreenType 245 { 246 Q_OBJECT 247 248 public: 249 OsdNavigation(QObject *retobject, const QString &name, OSD *osd); 250 virtual bool Create(void); 251 virtual bool keyPressEvent(QKeyEvent *event); 252 virtual void SetTextFromMap(const InfoMap &infoMap); 253 int getVisibleGroup() {return m_visibleGroup; } 254 // Virtual 255 void ShowMenu(void); 256 257 protected: 258 259 QObject *m_retObject; 260 OSD *m_osd; 261 MythUIButton *m_playButton; 262 MythUIButton *m_pauseButton; 263 MythUIButton *m_muteButton; 264 MythUIButton *m_unMuteButton; 265 char m_paused; 266 char m_muted; 267 int m_visibleGroup; 268 int m_maxGroupNum; 269 bool m_IsVolumeControl; 270 271 void sendResult(int result, QString action); 272 273 public slots: 274 void GeneralAction(void); 275 void More(void); 276 }; 277 240 278 #endif -
mythtv/libs/libmythtv/tv_actions.h
diff --git a/mythtv/libs/libmythtv/tv_actions.h b/mythtv/libs/libmythtv/tv_actions.h index c4d16c3..25a6594 100644
a b 52 52 #define ACTION_JUMPCHAPTER "JUMPTOCHAPTER" 53 53 #define ACTION_SWITCHTITLE "JUMPTOTITLE" 54 54 #define ACTION_SWITCHANGLE "SWITCHTOANGLE" 55 #define ACTION_OSDNAVIGATION "OSDNAVIGATION" 55 56 56 57 /* Picture */ 57 58 #define ACTION_TOGGLESTUDIOLEVELS "TOGGLESTUDIOLEVELS" -
mythtv/libs/libmythtv/tv_play.cpp
diff --git a/mythtv/libs/libmythtv/tv_play.cpp b/mythtv/libs/libmythtv/tv_play.cpp index b6af821..c9d2cc7 100644
a b void TV::InitKeys(void) 877 877 "Switch title"), ""); 878 878 REG_KEY("TV Playback", ACTION_SWITCHANGLE, QT_TRANSLATE_NOOP("MythControls", 879 879 "Switch angle"), ""); 880 REG_KEY("TV Playback", ACTION_OSDNAVIGATION, QT_TRANSLATE_NOOP("MythControls", 881 "OSD Navigation"), ""); 880 882 REG_KEY("TV Playback", ACTION_ZOOMUP, QT_TRANSLATE_NOOP("MythControls", 881 883 "Zoom mode - shift up"), ""); 882 884 REG_KEY("TV Playback", ACTION_ZOOMDOWN, QT_TRANSLATE_NOOP("MythControls", … … bool TV::ToggleHandleAction(PlayerContext *ctx, 4979 4981 else if (!isDVD) 4980 4982 StartProgramEditMode(ctx); 4981 4983 } 4984 else if (has_action(ACTION_OSDNAVIGATION, actions)) 4985 StartOsdNavigation(ctx); 4982 4986 else 4983 4987 handled = false; 4984 4988 … … void TV::DoPlay(PlayerContext *ctx) 6482 6486 6483 6487 SetSpeedChangeTimer(0, __LINE__); 6484 6488 gCoreContext->emitTVPlaybackPlaying(); 6489 UpdateNavDialog(ctx); 6485 6490 } 6486 6491 6487 6492 float TV::DoTogglePauseStart(PlayerContext *ctx) … … void TV::DoTogglePause(PlayerContext *ctx, bool showOSD) 6597 6602 DoTogglePauseFinish(ctx, DoTogglePauseStart(ctx), showOSD); 6598 6603 // Emit Pause or Unpaused signal 6599 6604 paused ? gCoreContext->emitTVPlaybackUnpaused() : gCoreContext->emitTVPlaybackPaused(); 6605 UpdateNavDialog(ctx); 6606 } 6607 6608 void TV::UpdateNavDialog(PlayerContext *ctx) 6609 { 6610 OSD *osd = GetOSDLock(ctx); 6611 if (osd && osd->DialogVisible(OSD_DLG_NAVIGATE)) 6612 { 6613 osdInfo info; 6614 bool paused = ContextIsPaused(ctx, __FILE__, __LINE__); 6615 info.text["paused"] = (paused ? "Y" : "N"); 6616 bool muted = ctx->player->IsMuted(); 6617 info.text["muted"] = (muted ? "Y" : "N"); 6618 osd->SetText(OSD_DLG_NAVIGATE, info.text, paused ? kOSDTimeout_None : kOSDTimeout_Long); 6619 } 6620 ReturnOSDLock(ctx, osd); 6600 6621 } 6601 6622 6602 6623 bool TV::DoPlayerSeek(PlayerContext *ctx, float time) … … void TV::DoSeek(PlayerContext *ctx, float time, const QString &mesg, 6784 6805 ctx->UnlockDeletePlayer(__FILE__, __LINE__); 6785 6806 DoPlayerSeekToFrame(ctx, desiredFrameRel); 6786 6807 } 6787 UpdateOSDSeekMessage(ctx, mesg, kOSDTimeout_Med); 6808 bool paused = ctx->player->IsPaused(); 6809 UpdateOSDSeekMessage(ctx, mesg, paused ? kOSDTimeout_None : kOSDTimeout_Med); 6788 6810 } 6789 6811 else 6790 6812 ctx->UnlockDeletePlayer(__FILE__, __LINE__); … … void TV::ToggleMute(PlayerContext *ctx, const bool muteIndividualChannels) 9150 9172 case kMuteRight: text = tr("Right Channel Muted"); break; 9151 9173 } 9152 9174 9175 UpdateNavDialog(ctx); 9153 9176 SetOSDMessage(ctx, text); 9154 9177 } 9155 9178 … … void TV::StartChannelEditMode(PlayerContext *ctx) 10445 10468 } 10446 10469 } 10447 10470 10471 void TV::StartOsdNavigation(PlayerContext *ctx) 10472 { 10473 OSD *osd = GetOSDLock(ctx); 10474 if (osd) 10475 { 10476 osd->DialogQuit(); 10477 osd->HideAll(); 10478 ToggleOSD(ctx, true); 10479 osd->DialogShow(OSD_DLG_NAVIGATE); 10480 } 10481 ReturnOSDLock(ctx, osd); 10482 UpdateNavDialog(ctx); 10483 } 10484 10448 10485 /** 10449 10486 * \brief Processes channel editing key. 10450 10487 */ … … void TV::OSDDialogEvent(int result, QString text, QString action) 10778 10815 .arg(result).arg(text).arg(action)); 10779 10816 10780 10817 bool hide = true; 10818 if (result == 100) 10819 hide = false; 10781 10820 10821 bool handled = true; 10782 10822 if (action.startsWith("DIALOG_")) 10783 10823 { 10784 10824 action.remove("DIALOG_"); … … void TV::OSDDialogEvent(int result, QString text, QString action) 10857 10897 DoJumpFFWD(actx); 10858 10898 else if (action == ACTION_JUMPRWND) 10859 10899 DoJumpRWND(actx); 10900 else if (action == ACTION_SEEKFFWD) 10901 DoSeekFFWD(actx); 10902 else if (action == ACTION_SEEKRWND) 10903 DoSeekRWND(actx); 10860 10904 else if (action.startsWith("DEINTERLACER")) 10861 10905 HandleDeinterlacer(actx, action); 10862 10906 else if (action == ACTION_TOGGLEOSDDEBUG) … … void TV::OSDDialogEvent(int result, QString text, QString action) 10928 10972 { 10929 10973 DoToggleNightMode(actx); 10930 10974 } 10975 else if (action == "TOGGLEASPECT") 10976 ToggleAspectOverride(actx); 10931 10977 else if (action.startsWith("TOGGLEASPECT")) 10932 10978 { 10933 10979 ToggleAspectOverride(actx, 10934 10980 (AspectOverrideMode) action.right(1).toInt()); 10935 10981 } 10982 else if (action == "TOGGLEFILL") 10983 ToggleAdjustFill(actx); 10936 10984 else if (action.startsWith("TOGGLEFILL")) 10937 10985 { 10938 10986 ToggleAdjustFill(actx, (AdjustFillMode) action.right(1).toInt()); 10939 10987 } 10988 else if (action == "MENU") 10989 ShowOSDMenu(); 10940 10990 else if (action == "AUTODETECT_FILL") 10941 10991 { 10942 10992 actx->player->detect_letter_box->SetDetectLetterbox(!actx->player->detect_letter_box->GetDetectLetterbox()); … … void TV::OSDDialogEvent(int result, QString text, QString action) 11108 11158 else if (action == ACTION_TOGGLEBOOKMARK 11109 11159 || action == ACTION_SETBOOKMARK) 11110 11160 ActivePostQHandleAction(actx, QStringList(action)); 11111 else if (action == ACTION_JUMPBKMRK)11161 else 11112 11162 { 11113 11163 bool isDVD = actx->buffer && actx->buffer->IsDVD(); 11114 11164 bool isMenuOrStill = actx->buffer && actx->buffer->IsInDiscMenuOrStillFrame(); 11115 ActiveHandleAction(actx, QStringList(ACTION_JUMPBKMRK), isDVD, isMenuOrStill);11165 handled = ActiveHandleAction(actx, QStringList(action), isDVD, isMenuOrStill); 11116 11166 } 11117 else11167 if (!handled) 11118 11168 { 11119 11169 LOG(VB_GENERAL, LOG_ERR, LOC + 11120 11170 "Unknown menu action selected: " + action); … … void TV::DoJumpFFWD(PlayerContext *ctx) 13056 13106 /*honorCutlist*/true); 13057 13107 } 13058 13108 13109 void TV::DoSeekFFWD(PlayerContext *ctx) 13110 { 13111 DoSeek(ctx, ctx->fftime, tr("Skip Ahead"), 13112 /*timeIsOffset*/true, 13113 /*honorCutlist*/true); 13114 } 13115 13059 13116 void TV::DoJumpRWND(PlayerContext *ctx) 13060 13117 { 13061 13118 if (GetState(ctx) == kState_WatchingDVD) … … void TV::DoJumpRWND(PlayerContext *ctx) 13068 13125 /*honorCutlist*/true); 13069 13126 } 13070 13127 13128 void TV::DoSeekRWND(PlayerContext *ctx) 13129 { 13130 DoSeek(ctx, -ctx->rewtime, tr("Jump Back"), 13131 /*timeIsOffset*/true, 13132 /*honorCutlist*/true); 13133 } 13134 13071 13135 /* \fn TV::DVDJumpBack(PlayerContext*) 13072 13136 \brief jump to the previous dvd title or chapter 13073 13137 */ -
mythtv/libs/libmythtv/tv_play.h
diff --git a/mythtv/libs/libmythtv/tv_play.h b/mythtv/libs/libmythtv/tv_play.h index 4c67396..c5b041c 100644
a b class MTV_PUBLIC TV : public QObject, public MenuItemDisplayer 573 573 void DoArbSeek(PlayerContext*, ArbSeekWhence whence, bool honorCutlist); 574 574 void DoJumpFFWD(PlayerContext *ctx); 575 575 void DoJumpRWND(PlayerContext *ctx); 576 void DoSeekFFWD(PlayerContext *ctx); 577 void DoSeekRWND(PlayerContext *ctx); 576 578 void NormalSpeed(PlayerContext*); 577 579 void ChangeSpeed(PlayerContext*, int direction); 578 580 void ToggleTimeStretch(PlayerContext*); … … class MTV_PUBLIC TV : public QObject, public MenuItemDisplayer 741 743 bool force = false); 742 744 bool HandleOSDVideoExit(PlayerContext *ctx, QString action); 743 745 746 // Navigation Dialog 747 void StartOsdNavigation(PlayerContext *ctx); 748 void UpdateNavDialog(PlayerContext *ctx); 749 744 750 // Menu dialog 745 751 void ShowOSDMenu(bool isCompact = false); 746 752 -
mythtv/themes/default-wide/osd.xml
diff --git a/mythtv/themes/default-wide/osd.xml b/mythtv/themes/default-wide/osd.xml index d2cdd2f..16eb245 100644
a b 259 259 </progressbar> 260 260 </window> 261 261 262 <window name="osd_navigation"> 263 <fontdef name="small" face="DejaVu Sans"> 264 <pixelsize>18</pixelsize> 265 <color>#FFFFFF</color> 266 <shadowoffset>1,1</shadowoffset> 267 <shadowcolor>#000000</shadowcolor> 268 </fontdef> 269 <area>62,516,675,80,800x600</area> 270 <shape name="background"> 271 <area>0,0,100%,100%</area> 272 <type>roundbox</type> 273 <fill color="#000000" alpha="200" /> 274 <line color="#222222" alpha="255" width="2" /> 275 <cornerradius>12</cornerradius> 276 </shape> 277 278 <button name="more"> 279 <focusorder>2</focusorder> 280 <area>6,0,112,75,800x600</area> 281 <statetype name="buttonstate"> 282 <state name="active"> 283 <imagetype name="icon"> 284 <!-- <area>46,5,20,20,800x600 </area> --> 285 <area>74,6,32,32,1280x720</area> 286 <filename>more_button.png</filename> 287 </imagetype> 288 </state> 289 <state name="selected"> 290 <shape name="background"> 291 <!-- <area>44,0,24,30,800x600 </area> --> 292 <area>70,0,38,46,1280x720</area> 293 <type>box</type> 294 <fill color="#fcdb58" alpha="200" /> 295 </shape> 296 <imagetype name="icon"> 297 <!-- <area>46,5,20,20,800x600 </area> --> 298 <area>74,6,32,32,1280x720</area> 299 <filename>more_button.png</filename> 300 </imagetype> 301 <textarea name="text"> 302 <!-- <area>0,22,112,50,800x600 </area> --> 303 <area>0,33,179,78,1280x720</area> 304 <align>allcenter</align> 305 <font>small</font> 306 <cutdown>none</cutdown> 307 <value>More Actions</value> 308 </textarea> 309 </state> 310 <state name="disabled" from="active" /> 311 <state name="pushed" from="selected" /> 312 </statetype> 313 </button> 314 315 <group name="grp0"> 316 <area>0,0,675,80,800x600</area> 317 318 <button name="MENU"> 319 <focusorder>2</focusorder> 320 <area>75,0,112,75,800x600</area> 321 <statetype name="buttonstate"> 322 <state name="active"> 323 <imagetype name="icon"> 324 <area>74,6,32,32,1280x720</area> 325 <filename>menu_button.png</filename> 326 </imagetype> 327 </state> 328 <state name="selected"> 329 <shape name="background"> 330 <area>70,0,38,46,1280x720</area> 331 <type>box</type> 332 <fill color="#fcdb58" alpha="200" /> 333 </shape> 334 <imagetype name="icon"> 335 <area>74,6,32,32,1280x720</area> 336 <filename>menu_button.png</filename> 337 </imagetype> 338 <textarea name="text"> 339 <area>0,33,179,78,1280x720</area> 340 <align>allcenter</align> 341 <font>small</font> 342 <cutdown>none</cutdown> 343 <value>Menu</value> 344 </textarea> 345 </state> 346 <state name="disabled" from="active" /> 347 <state name="pushed" from="selected" /> 348 </statetype> 349 </button> 350 351 <button name="JUMPRWND"> 352 <focusorder>2</focusorder> 353 <area>144,0,112,75,800x600</area> 354 <statetype name="buttonstate"> 355 <state name="active"> 356 <imagetype name="icon"> 357 <area>74,6,32,32,1280x720</area> 358 <filename>dbl_left_arrow_button.png</filename> 359 </imagetype> 360 </state> 361 <state name="selected"> 362 <shape name="background"> 363 <area>70,0,38,46,1280x720</area> 364 <type>box</type> 365 <fill color="#fcdb58" alpha="200" /> 366 </shape> 367 <imagetype name="icon"> 368 <area>74,6,32,32,1280x720</area> 369 <filename>dbl_left_arrow_button.png</filename> 370 </imagetype> 371 <textarea name="text"> 372 <area>0,33,179,78,1280x720</area> 373 <align>allcenter</align> 374 <font>small</font> 375 <cutdown>none</cutdown> 376 <value>Back more</value> 377 </textarea> 378 </state> 379 <state name="disabled" from="active" /> 380 <state name="pushed" from="selected" /> 381 </statetype> 382 </button> 383 384 <button name="SEEKRWND"> 385 <focusorder>2</focusorder> 386 <area>213,0,112,75,800x600</area> 387 <statetype name="buttonstate"> 388 <state name="active"> 389 <imagetype name="icon"> 390 <area>74,6,32,32,1280x720</area> 391 <filename>left_arrow_button.png</filename> 392 </imagetype> 393 </state> 394 <state name="selected"> 395 <shape name="background"> 396 <area>70,0,38,46,1280x720</area> 397 <type>box</type> 398 <fill color="#fcdb58" alpha="200" /> 399 </shape> 400 <imagetype name="icon"> 401 <area>74,6,32,32,1280x720</area> 402 <filename>left_arrow_button.png</filename> 403 </imagetype> 404 <textarea name="text"> 405 <area>0,33,179,78,1280x720</area> 406 <align>allcenter</align> 407 <font>small</font> 408 <cutdown>none</cutdown> 409 <value>Jump back</value> 410 </textarea> 411 </state> 412 <state name="disabled" from="active" /> 413 <state name="pushed" from="selected" /> 414 </statetype> 415 </button> 416 417 <button name="PLAY"> 418 <area>282,0,112,75,800x600</area> 419 <statetype name="buttonstate"> 420 <state name="active"> 421 <imagetype name="icon"> 422 <area>74,6,32,32,1280x720</area> 423 <filename>play_button.png</filename> 424 </imagetype> 425 </state> 426 <state name="selected"> 427 <shape name="background"> 428 <area>70,0,38,46,1280x720</area> 429 <type>box</type> 430 <fill color="#fcdb58" alpha="200" /> 431 </shape> 432 <imagetype name="icon"> 433 <area>74,6,32,32,1280x720</area> 434 <filename>play_button.png</filename> 435 </imagetype> 436 <textarea name="text"> 437 <area>0,33,179,78,1280x720</area> 438 <align>allcenter</align> 439 <font>small</font> 440 <cutdown>none</cutdown> 441 <value>Play</value> 442 </textarea> 443 </state> 444 <state name="disabled" from="active" /> 445 <state name="pushed" from="selected" /> 446 </statetype> 447 </button> 448 449 <button name="PAUSE"> 450 <area>282,0,112,75,800x600</area> 451 <statetype name="buttonstate"> 452 <state name="active"> 453 <imagetype name="icon"> 454 <area>74,6,32,32,1280x720</area> 455 <filename>pause_button.png</filename> 456 </imagetype> 457 </state> 458 <state name="selected"> 459 <shape name="background"> 460 <area>70,0,38,46,1280x720</area> 461 <type>box</type> 462 <fill color="#fcdb58" alpha="200" /> 463 </shape> 464 <imagetype name="icon"> 465 <area>74,6,32,32,1280x720</area> 466 <filename>pause_button.png</filename> 467 </imagetype> 468 <textarea name="text"> 469 <area>0,33,179,78,1280x720</area> 470 <align>allcenter</align> 471 <font>small</font> 472 <cutdown>none</cutdown> 473 <value>Pause</value> 474 </textarea> 475 </state> 476 <state name="disabled" from="active" /> 477 <state name="pushed" from="selected" /> 478 </statetype> 479 </button> 480 481 <button name="SEEKFFWD"> 482 <area>351,0,112,75,800x600</area> 483 <statetype name="buttonstate"> 484 <state name="active"> 485 <imagetype name="icon"> 486 <area>74,6,32,32,1280x720</area> 487 <filename>right_arrow_button.png</filename> 488 </imagetype> 489 </state> 490 <state name="selected"> 491 <shape name="background"> 492 <area>70,0,38,46,1280x720</area> 493 <type>box</type> 494 <fill color="#fcdb58" alpha="200" /> 495 </shape> 496 <imagetype name="icon"> 497 <area>74,6,32,32,1280x720</area> 498 <filename>right_arrow_button.png</filename> 499 </imagetype> 500 <textarea name="text"> 501 <area>0,33,179,78,1280x720</area> 502 <align>allcenter</align> 503 <font>small</font> 504 <cutdown>none</cutdown> 505 <value>Jump fwd</value> 506 </textarea> 507 </state> 508 <state name="disabled" from="active" /> 509 <state name="pushed" from="selected" /> 510 </statetype> 511 </button> 512 513 <button name="JUMPFFWD"> 514 <area>420,0,112,75,800x600</area> 515 <statetype name="buttonstate"> 516 <state name="active"> 517 <imagetype name="icon"> 518 <area>74,6,32,32,1280x720</area> 519 <filename>dbl_right_arrow_button.png</filename> 520 </imagetype> 521 </state> 522 <state name="selected"> 523 <shape name="background"> 524 <area>70,0,38,46,1280x720</area> 525 <type>box</type> 526 <fill color="#fcdb58" alpha="200" /> 527 </shape> 528 <imagetype name="icon"> 529 <area>74,6,32,32,1280x720</area> 530 <filename>dbl_right_arrow_button.png</filename> 531 </imagetype> 532 <textarea name="text"> 533 <area>0,33,179,78,1280x720</area> 534 <align>allcenter</align> 535 <font>small</font> 536 <cutdown>none</cutdown> 537 <value>Fwd more</value> 538 </textarea> 539 </state> 540 <state name="disabled" from="active" /> 541 <state name="pushed" from="selected" /> 542 </statetype> 543 </button> 544 545 <button name="INFO"> 546 <area>489,0,112,75,800x600</area> 547 <statetype name="buttonstate"> 548 <state name="active"> 549 <imagetype name="icon"> 550 <area>74,6,32,32,1280x720</area> 551 <filename>info_button.png</filename> 552 </imagetype> 553 </state> 554 <state name="selected"> 555 <shape name="background"> 556 <area>70,0,38,46,1280x720</area> 557 <type>box</type> 558 <fill color="#fcdb58" alpha="200" /> 559 </shape> 560 <imagetype name="icon"> 561 <area>74,6,32,32,1280x720</area> 562 <filename>info_button.png</filename> 563 </imagetype> 564 <textarea name="text"> 565 <area>0,33,179,78,1280x720</area> 566 <align>allcenter</align> 567 <font>small</font> 568 <cutdown>none</cutdown> 569 <value>Information</value> 570 </textarea> 571 </state> 572 <state name="disabled" from="active" /> 573 <state name="pushed" from="selected" /> 574 </statetype> 575 </button> 576 577 <button name="MUTE"> 578 <area>558,0,112,75,800x600</area> 579 <statetype name="buttonstate"> 580 <state name="active"> 581 <imagetype name="mutebn"> 582 <area>74,6,32,32,1280x720</area> 583 <filename>unmuted_button.png</filename> 584 </imagetype> 585 </state> 586 <state name="selected"> 587 <shape name="background"> 588 <area>70,0,38,46,1280x720</area> 589 <type>box</type> 590 <fill color="#fcdb58" alpha="200" /> 591 </shape> 592 <imagetype name="icon"> 593 <area>74,6,32,32,1280x720</area> 594 <filename>unmuted_button.png</filename> 595 </imagetype> 596 <textarea name="text"> 597 <area>0,33,179,78,1280x720</area> 598 <align>allcenter</align> 599 <font>small</font> 600 <cutdown>none</cutdown> 601 <value>Mute</value> 602 </textarea> 603 </state> 604 <state name="disabled" from="active" /> 605 <state name="pushed" from="selected" /> 606 </statetype> 607 </button> 608 609 <button name="unmute"> 610 <area>558,0,112,75,800x600</area> 611 <statetype name="buttonstate"> 612 <state name="active"> 613 <imagetype name="icon"> 614 <area>74,6,32,32,1280x720</area> 615 <filename>muted_button.png</filename> 616 </imagetype> 617 </state> 618 <state name="selected"> 619 <shape name="background"> 620 <area>70,0,38,46,1280x720</area> 621 <type>box</type> 622 <fill color="#fcdb58" alpha="200" /> 623 </shape> 624 <imagetype name="icon"> 625 <area>74,6,32,32,1280x720</area> 626 <filename>muted_button.png</filename> 627 </imagetype> 628 <textarea name="text"> 629 <area>0,33,179,78,1280x720</area> 630 <align>allcenter</align> 631 <font>small</font> 632 <cutdown>none</cutdown> 633 <value>Unmute</value> 634 </textarea> 635 </state> 636 <state name="disabled" from="active" /> 637 <state name="pushed" from="selected" /> 638 </statetype> 639 </button> 640 </group> 641 642 <group name="grp1"> 643 <area>0,0,675,80,800x600</area> 644 645 <button name="TOGGLEFILL"> 646 <area>75,0,112,75,800x600</area> 647 <statetype name="buttonstate"> 648 <state name="active"> 649 <imagetype name="icon"> 650 <area>74,6,32,32,1280x720</area> 651 <filename>fill_button.png</filename> 652 </imagetype> 653 </state> 654 <state name="selected"> 655 <shape name="background"> 656 <area>70,0,38,46,1280x720</area> 657 <type>box</type> 658 <fill color="#fcdb58" alpha="200" /> 659 </shape> 660 <imagetype name="icon"> 661 <area>74,6,32,32,1280x720</area> 662 <filename>fill_button.png</filename> 663 </imagetype> 664 <textarea name="text"> 665 <area>0,33,179,78,1280x720</area> 666 <align>allcenter</align> 667 <font>small</font> 668 <cutdown>none</cutdown> 669 <value>Fill</value> 670 </textarea> 671 </state> 672 <state name="disabled" from="active" /> 673 <state name="pushed" from="selected" />200 674 </statetype> 675 </button> 676 677 <button name="TOGGLEASPECT"> 678 <area>144,0,112,75,800x600</area> 679 <statetype name="buttonstate"> 680 <state name="active"> 681 <imagetype name="icon"> 682 <area>74,6,32,32,1280x720</area> 683 <filename>aspect_button.png</filename> 684 </imagetype> 685 </state> 686 <state name="selected"> 687 <shape name="background"> 688 <area>70,0,38,46,1280x720</area> 689 <type>box</type> 690 <fill color="#fcdb58" alpha="200" /> 691 </shape> 692 <imagetype name="icon"> 693 <area>74,6,32,32,1280x720</area> 694 <filename>aspect_button.png</filename> 695 </imagetype> 696 <textarea name="text"> 697 <area>0,33,179,78,1280x720</area> 698 <align>allcenter</align> 699 <font>small</font> 700 <cutdown>none</cutdown> 701 <value>Aspect Ratio</value> 702 </textarea> 703 </state> 704 <state name="disabled" from="active" /> 705 <state name="pushed" from="selected" /> 706 </statetype> 707 </button> 708 709 <button name="NEXTCC"> 710 <area>213,0,112,75,800x600</area> 711 <statetype name="buttonstate"> 712 <state name="active"> 713 <imagetype name="icon"> 714 <area>74,6,32,32,1280x720</area> 715 <filename>cc_button.png</filename> 716 </imagetype> 717 </state> 718 <state name="selected"> 719 <shape name="background"> 720 <area>70,0,38,46,1280x720</area> 721 <type>box</type> 722 <fill color="#fcdb58" alpha="200" /> 723 </shape> 724 <imagetype name="icon"> 725 <area>74,6,32,32,1280x720</area> 726 <filename>cc_button.png</filename> 727 </imagetype> 728 <textarea name="text"> 729 <area>0,33,179,78,1280x720</area> 730 <align>allcenter</align> 731 <font>small</font> 732 <cutdown>none</cutdown> 733 <value>Captions</value> 734 </textarea> 735 </state> 736 <state name="disabled" from="active" /> 737 <state name="pushed" from="selected" /> 738 </statetype> 739 </button> 740 741 <button name="JUMPSTART"> 742 <area>282,0,112,75,800x600</area> 743 <statetype name="buttonstate"> 744 <state name="active"> 745 <imagetype name="icon"> 746 <area>74,6,32,32,1280x720</area> 747 <filename>jump_start_button.png</filename> 748 </imagetype> 749 </state> 750 <state name="selected"> 751 <shape name="background"> 752 <area>70,0,38,46,1280x720</area> 753 <type>box</type> 754 <fill color="#fcdb58" alpha="200" /> 755 </shape> 756 <imagetype name="icon"> 757 <area>74,6,32,32,1280x720</area> 758 <filename>jump_start_button.png</filename> 759 </imagetype> 760 <textarea name="text"> 761 <area>0,33,179,78,1280x720</area> 762 <align>allcenter</align> 763 <font>small</font> 764 <cutdown>none</cutdown> 765 <value>Jump to start</value> 766 </textarea> 767 </state> 768 <state name="disabled" from="active" /> 769 <state name="pushed" from="selected" /> 770 </statetype> 771 </button> 772 773 <button name="SETBOOKMARK"> 774 <area>351,0,112,75,800x600</area> 775 <statetype name="buttonstate"> 776 <state name="active"> 777 <imagetype name="icon"> 778 <area>74,6,32,32,1280x720</area> 779 <filename>bookmark_button.png</filename> 780 </imagetype> 781 </state> 782 <state name="selected"> 783 <shape name="background"> 784 <area>70,0,38,46,1280x720</area> 785 <type>box</type> 786 <fill color="#fcdb58" alpha="200" /> 787 </shape> 788 <imagetype name="icon"> 789 <area>74,6,32,32,1280x720</area> 790 <filename>bookmark_button.png</filename> 791 </imagetype> 792 <textarea name="text"> 793 <area>0,33,179,78,1280x720</area> 794 <align>allcenter</align> 795 <font>small</font> 796 <cutdown>none</cutdown> 797 <value>Bookmark</value> 798 </textarea> 799 </state> 800 <state name="disabled" from="active" /> 801 <state name="pushed" from="selected" /> 802 </statetype> 803 </button> 804 805 <button name="JUMPBKMRK"> 806 <area>420,0,112,75,800x600</area> 807 <statetype name="buttonstate"> 808 <state name="active"> 809 <imagetype name="icon"> 810 <area>74,6,32,32,1280x720</area> 811 <filename>jump_bookmark_button.png</filename> 812 </imagetype> 813 </state> 814 <state name="selected"> 815 <shape name="background"> 816 <area>70,0,38,46,1280x720</area> 817 <type>box</type> 818 <fill color="#fcdb58" alpha="200" /> 819 </shape> 820 <imagetype name="icon"> 821 <area>74,6,32,32,1280x720</area> 822 <filename>jump_bookmark_button.png</filename> 823 </imagetype> 824 <textarea name="text"> 825 <area>0,33,179,78,1280x720</area> 826 <align>allcenter</align> 827 <font>small</font> 828 <cutdown>none</cutdown> 829 <value>Jump bkmark</value> 830 </textarea> 831 </state> 832 <state name="disabled" from="active" /> 833 <state name="pushed" from="selected" /> 834 </statetype> 835 </button> 836 </group> 837 838 <group name="grp2"> 839 <area>0,0,675,80,800x600</area> 840 841 <button name="RWNDSTICKY"> 842 <focusorder>2</focusorder> 843 <area>213,0,112,75,800x600</area> 844 <statetype name="buttonstate"> 845 <state name="active"> 846 <imagetype name="icon"> 847 <area>74,6,32,32,1280x720</area> 848 <filename>rew_button.png</filename> 849 </imagetype> 850 </state> 851 <state name="selected"> 852 <shape name="background"> 853 <area>70,0,38,46,1280x720</area> 854 <type>box</type> 855 <fill color="#fcdb58" alpha="200" /> 856 </shape> 857 <imagetype name="icon"> 858 <area>74,6,32,32,1280x720</area> 859 <filename>rew_button.png</filename> 860 </imagetype> 861 <textarea name="text"> 862 <area>0,33,179,78,1280x720</area> 863 <align>allcenter</align> 864 <font>small</font> 865 <cutdown>none</cutdown> 866 <value>Rewind</value> 867 </textarea> 868 </state> 869 <state name="disabled" from="active" /> 870 <state name="pushed" from="selected" /> 871 </statetype> 872 </button> 873 874 <button name="PLAY#"> 875 <area>282,0,112,75,800x600</area> 876 <statetype name="buttonstate"> 877 <state name="active"> 878 <imagetype name="icon"> 879 <area>74,6,32,32,1280x720</area> 880 <filename>play_button.png</filename> 881 </imagetype> 882 </state> 883 <state name="selected"> 884 <shape name="background"> 885 <area>70,0,38,46,1280x720</area> 886 <type>box</type> 887 <fill color="#fcdb58" alpha="200" /> 888 </shape> 889 <imagetype name="icon"> 890 <area>74,6,32,32,1280x720</area> 891 <filename>play_button.png</filename> 892 </imagetype> 893 <textarea name="text"> 894 <area>0,33,179,78,1280x720</area> 895 <align>allcenter</align> 896 <font>small</font> 897 <cutdown>none</cutdown> 898 <value>Play</value> 899 </textarea> 900 </state> 901 <state name="disabled" from="active" /> 902 <state name="pushed" from="selected" /> 903 </statetype> 904 </button> 905 906 <button name="FFWDSTICKY"> 907 <area>351,0,112,75,800x600</area> 908 <statetype name="buttonstate"> 909 <state name="active"> 910 <imagetype name="icon"> 911 <area>74,6,32,32,1280x720</area> 912 <filename>ff_button.png</filename> 913 </imagetype> 914 </state> 915 <state name="selected"> 916 <shape name="background"> 917 <area>70,0,38,46,1280x720</area> 918 <type>box</type> 919 <fill color="#fcdb58" alpha="200" /> 920 </shape> 921 <imagetype name="icon"> 922 <area>74,6,32,32,1280x720</area> 923 <filename>ff_button.png</filename> 924 </imagetype> 925 <textarea name="text"> 926 <area>0,33,179,78,1280x720</area> 927 <align>allcenter</align> 928 <font>small</font> 929 <cutdown>none</cutdown> 930 <value>Fast fwd</value> 931 </textarea> 932 </state> 933 <state name="disabled" from="active" /> 934 <state name="pushed" from="selected" /> 935 </statetype> 936 </button> 937 </group> 938 </window> 939 262 940 <window name="program_info"> 263 941 <fontdef name="small" face="DejaVu Sans"> 264 942 <pixelsize>22</pixelsize> -
new file mythtv/themes/default/aspect_button.png
diff --git a/mythtv/themes/default/aspect_button.png b/mythtv/themes/default/aspect_button.png new file mode 100644 index 0000000000000000000000000000000000000000..a8eb2447a0f55b38a5bd9889bcca990544c92140 GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1|+Ti+$;i8Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHiR3ys)y?;tzf67#J8`JzX3_GVZ;db=K>!gNU1dSJcF= z%X>NOrs*$!F?omhb-ND!2VMdqG8wBkUOVE;^s&iIccN$7zRjoho>5YtY+d}B*@;83 zMZl@ViS2=HD%YlS6H`~7xYiT2d#S37we^0H@0GQ0Y`q@{NrbQDe{jh1o721<-|sMP zKj5ic`&j0CuVMJ@GX<H)dRN6{@HKRv^xeH<>HWq<g5sfiCfo|<JEyP9vM@Hj$8OiS z^yJ=BMH|Dd`<T*fC*J$<XuF`DneiNEe#3n4-)<F*dzNkC7tgX$xpV)s{H70AOyp8$ z|4TS=XnAkh_PA)dWHCFFzX!z)`uDb(zhl_y<sEV8V|i4v@bg@`!)-b>DUWs*&pE2I zC%ZLx^~0%QnVjAg0f+pvA5EC@|Dt#N`cCJMXU=b5zFF)0_seZ|)4d`N9j;HFaLHZ{ f>~RjoZI7f^Uw7fIaJz967{&~qu6{1-oD!M<K8v_?
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/bookmark_button.png b/mythtv/themes/default/bookmark_button.png new file mode 100644 index 0000000000000000000000000000000000000000..a3c76b97bd8ee4c1c59c58958a303af7384054c6 GIT binary patch literal 835 zcmV-J1HAl+P)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sgW~03^zm&cgrz0?<iB zK~!ko?V8VP)Ib!+zZ3Qk2-JfoFQp0<ueL6D5TteYSlV9N{uN%-ix)xh=6}(He}EJM zYL{f&ZNVN2Ev4Sn28%mLOR}rZc-cbOP1Z?flFdwfkjw67lFxf@-me`3MM5b!3J}`{ zk-6VO#pFM*=~7d$cg+XZ4N}Ubb%sr4VckJfS=ba<Az(^D0J&seCLsdWi-YBn%BRpu zOIG={3=bKBH8E&K-J02UVb+{jT8dhgX`Pnh+%jfg^8xJdNx!h{HnL)1t(ZN_0lh6d z&ZVsc%^D4COx_&}OewC%r6L{EkEn(Da8x#Z0ML&FCtd~MZ~)9rbY}pl4dvW^+0&0~ z=QeC%2E!#OXjKN-=;nW<mev7Ic`aQjmrl}NrDj@{3tFaG*%Ay2q>3(0Ot7*g5c-Kp zuAO!+&65<P%UoJ2O6zECk-0P<r&ZmcQ_rP!7oyO8%{s+n+h$BZtPC2~yFHX`(R2%1 z%1Xu}^RSGUO{`n$cJYJrY)X>xs)+yx0m4=bH#!}>mMMC&fEVu4jDa~0>MJYQ0f0^i zJ2Nx5EA!52TwG-bBn0evc-Cm(W%RStQ+%JA!nM-Z(rM-B2+lC<Knc@9fL<x{a8@}x z!<YGaJdFEpeH}kN4~v}V|3^R}z+s5q{yy%E`_0l4K6oCU5|VFv%ROju4(2$xzq|}r zWF6PVyV+SR{;QT2i9K<_EO!gH+juSt3jp;x9{E1Lswi>el#(m(@iE>v8hDZRzTI8i z3<89CK<5VR`}j6DhX+~i-Ppk8_BQS@hCiyIa{=!4(BIp`ZJ9MzSMjOc#$%BnCepfI zLFWO?To=u?HFRYcYBura-~ewkwyq<mfR%Q3l!8+VzO{u{sx^3ch|gE+r>V2!E=zHc z`na%wC#r#4E!?`ez-6h16elO}^IU&(6VvDC_?4xjieAQ^xJ%l*e*u8$5vF5}{e%Dj N002ovPDHLkV1nMffvErh
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/cc_button.png b/mythtv/themes/default/cc_button.png new file mode 100644 index 0000000000000000000000000000000000000000..b19b03d9efebe40a5d31b01bc15289601d6ca5da GIT binary patch literal 3513 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
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/dbl_left_arrow_button.png b/mythtv/themes/default/dbl_left_arrow_button.png new file mode 100644 index 0000000000000000000000000000000000000000..955752e34634fcd442d4209d46cd9c2b885f4b64 GIT binary patch literal 930 zcmV;T16}-yP)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sgd10u$;K!NmXo120KL zK~!ko?V8O?lu;CipX1k9l0j|)Ny4^DL1v307eUZJP^-WQ!=<1EK?XrZfl{raK&c?m z7GV$sE@Em?(FbG;HzA4@L?DWyHDk?b(M|k#?>O+j_iB01Zn&4<{2uSex#x@mbh3e> zhz%A2H~<IW033h=Z~zX#0r<ZGR%Ke1J!_>=;t})>a0S?DK97ko<y)i318Bc0yMeyH zMopYj<&!TB=PO)R#&{+}9q_{PJsDuTYYi_etjfnshEAZxV)Ql8C_<@Aji`_$8vv?2 z1+D^hmMJ5^IT0FMYB*nEReDsZ1|D0Ceg)b@7_b>lLc_}$R%IG^3v7-Uo&#=*0I<WQ zhI3$(BD#U<h~b~WBN4`2YdGK1CPnNwDPp-%1=2u6KBGx!I0r5(V_cOA;1zH%V#+XZ zRD^dToN%QPHwwC?O>(~gY>gQHY;MhZ*BVJg$tot(zzv`_Vt5AV5}^|8Mw8HR4y;Nq za1CgW7@h}uM3@CC^MJ<I@KP<QQUweFM<Onh0brjonr~;s)^HUIXIPa9;Bwq2G*G@q zrS5b=TiPW3)0SLVXrv6RtoH_hs4|&=(aLqeGF|8y{<YCsJjELg_%QG?rq1lYvQrk{ z($9g5c^&}sz<uC~2rZU$6kEev9v0z{2!lW~Fd8wp)Qo*lrAn3CEB<;3Xn22kh)^%W zLu2fVCD%3sL#k9*z+-E8172pj4`>4>BBqoBt-yO#D!RJpccHN+)zYG_#2KK%GUYpP zx4WC(jt-8y((qOfi%?lxOQ$IavJq1@0j=%rJj=7<u{FGQJVr;U79j`h1@2f<(Gt^5 zO-oZ=5*l7xJZ7buMVJ5%nCb_c>2#WVQKpm7aC(MUIp2f8d1KxdbHJ@sim_~#8W$Sg zfR{ZyE@5w?FPJVaW-^ys+3ra~!yE7-(<8uH^7oNvfa@ZWz34<V5<9~Mobg>EJTUq9 zn`PP-{`?r`OvBp>Tk>!FvbuR#geN{VoUL$F{!OJ8^6w8|3OMOo13dl*KsHN_2su?6 zfo&ojTMG>@TY9}U00_VVH~<IW033h=Z~zX#0XTmA2G(Pqfqu%IuK)l507*qoM6N<$ Eg1H5RhyVZp
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/dbl_right_arrow_button.png b/mythtv/themes/default/dbl_right_arrow_button.png new file mode 100644 index 0000000000000000000000000000000000000000..5d1a8dcc353a2e35b890aa6639b5361e943bba3b GIT binary patch literal 901 zcmV;01A6?4P)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sgd10|ao~bwdCE0}@F@ zK~!ko?V3$UR8bUwzhgR9q9knsGemch)FNw9IFTZ>YSA(xGoo6h7!;L65k;ZP2#hwh z(VbA6TuqBI`hiSw6Qn3Y1V#!<GccSMUSW{;rm6Stod)k&zI*xReBAf$x$nFYppOj{ zWo)qU!d}=5dtoo^g}tyB_QL;_uqyjhS&H(*aWI?+tFjGf18%8uLY4Q$U^o$0Wezx- zbEyFsQf03y!>$-ES9k}I4!GV9yiuhlkzm#V!;P>A6~F=DUBGZTa4wyuPn9n=8Bs$1 zwE>{Y2jC9S6f$KJxFW()n+#`VNre3(i~!xhw}2^ofETLNsq(}Y!`TW4tQNpUU~9ne z3UFV98ruwK!Z}Gd0LRVqxIX5AUJ+VsGn}2YM3@2g11Uh)4cD0xbTD5Dii6?wXeq)e z5k3OPfT@5fhk>`MRE3qGI2cZD>5yA=!tBO71BMrYn<CWPW;hehNqPym3{(dUe+4dy zaKt9Vsc=rxRpxkE5imRo^oY=9gHe>%LlKsN7GNY`Q|bW5RoQNXA*%c=FwYu_6Tg5= zM8-9dRryj7#;jl_<fWs~m<I++MR+ZuHVky5wRo}{O?XqO2xo!ih>S6yttfTa)X~Sl zRp4YuEd`hWZivtt7o)5QqJySBeg-;25}gJ*MHmf|jlw8*DGKxe<G|)TrQ^B?%|Npa zhV>Qh?`PN?13v*5LK0m7x<wc=iN?;bzQX<e4EOfZ1-t^bgiKoo9+)mhy$yzS;R2J) z01q1*nVX)b&IZG}a5BkQDn<JrlFS0nfB_LYP4^;JhV_m|GRc@KRjCwD&GQwO=m>B~ zgawmmtPJZNk3@pmbeaa>Ji%SYwRjEO7NNri!@6);8H?F0wFM+OY05*Z4Tck8RaRJS znpfwUHV51j3I3W82O~=S?WUE^ljwKgu4$w-S!TEq7NJ&^DPZ@ychrGG>tGxVmn#f# z26$;sJC7<WnaO0>RRo5cP0Kuo&w(EzoQ`m|j?8dcmP$4Jzj(Z`7xuzl*b94MFYJZA ba7^(V_2_zvoU}ih00000NkvXXu0mjf&>(;m
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/ff_button.png b/mythtv/themes/default/ff_button.png new file mode 100644 index 0000000000000000000000000000000000000000..b06cd0b97a61a342a7414a73d30206aa1f79a625 GIT binary patch literal 3384 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 O0000<MNUMnLSTZyUK=$4
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/fill_button.png b/mythtv/themes/default/fill_button.png new file mode 100644 index 0000000000000000000000000000000000000000..0f46195e452770aa48bc226c1f7f501d418df698 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1|+Ti+$;i8Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHiP5i@2b*7-L*LP-vZ}i(^Q}y|=d<`I-%QSR8gglACu& zy<L3A_is*uYZYeJGMwVr9MQC9)eO!489E1`p#HRw;Kp3bqjfi<QoqTiE@^Ch9~<>P z@_I#I!|T776M=koowa*e3zojoy>*=9M*g`Ml5F#~ZdtdjSN5%_GA|DgkIj?pmwd06 zS@ZDJ^qPJ;W2~1Rf5C&9nfbqw-E=1A`!aW;p6cAVrgi!MC77KD4zzz_a(Jpzy4+Ud Q0MO+Op00i_>zopr0K>?0ssI20
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/info_button.png b/mythtv/themes/default/info_button.png new file mode 100644 index 0000000000000000000000000000000000000000..6dddbec2894873d463f746b313658f9d2dbd55d4 GIT binary patch literal 1045 zcmV+w1nT>VP)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv00000 z008+zyMF)x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sYHQF&Mtn&#C|b1ENVp zK~!ko?VG($>o63@|4joFirON+2Z8`01{ATdQNhI02jCr$kXTWdC}Kg(OgzGU04ByV zF!2#45K91wRtO~$1BF8GV0ufh^5G=5n--2#HMQHuKmX4;jvXgauh;RDOy+$8+fD@P z(QLM!;Mtx8YlVXXitYerz^p-efky`B4ayokG_Yt;R^Xw4!@}lr(45LG3%V%iK)^vk z-2nY8Xa@uVrv?rJ8x}MQI4v|4FfA-A(6Hb%(7wPlu)ILSfcrs9odQdHF26Q=D(v;+ zu%Ov2peRHs(}ZT*?A7*C*%g=vtg1pU6aZBvpA7>zIsy!XeKvQ4mPIOCC;*$AKrTnh z@_F)Znm`z(b2(^k(6*hZJ3&jL;!jbat7;SWtHDs!ri+U(NrbxXN@Pwf5{o~kG1G)* z7=UH9#2^fV)bY;Vjxo%0LSWk@L475!mZTLnQ`24{evjprEbRu&(v?{aOF^>scVJoc zbkDZK4?`?emUzc*ToRb)ILvAoT3!ZDPFl++CxO91a(s3MZEOsBHVd4ei|N>ZG3?~h zVbxU>=sP>W>MC$|2UIFRDg}&=0*V62GI8zGQ($fmD3^i#eRj}JvD|QJnP>bC3;;_@ zKq3M3^Z>~uIc{8ZOiu%~8gP9rE{?glv}r=y+k<|53}iCE)D*D2-Gpt4DH*u90B&x? zxHPvIHce=zNsbQ>p(m5>-(6V&W@eyYUGayOL}cgLS!Z<{HZ%kb4~xmxLM9LCw0C_n z3H0~3Y4X6sK0m$dYc=5Ep^Jd~`uu?_l`aDA?e(sIe+SBCF<DyJ0)Usjy@@-Q6lT4M zwXwb@@74BLC@j)`CNS@925~T|`LM`177@R{G2H1Y)3jCk-^aT-eyLr$6I7;cqvX~T z-KcJ$q!mTw#zH{YdX{aIoqEJ=jmxs2(<}@~60ooU{rQ=EK09mPDRi<@i4Uxk$1-2y zktASk4f^gbaDNX}tHA54_ir8_fqcH%@KTB2%!&C8@sSa192{VAeI5AtATLRBpA%QB zWIk+J<oM+UC>H6UncWbN;@VG7__MWzjbagtmzT}*i3#$a&yywFbQ-w5C1sfmsZXW6 z*S?~{dMfOvGL70^Ha_0k;Q9HMnAV~ssL;T?p?PFuzoGSaV_H;bmf&sMdKd;e3V19w zmqr2i>wws9A7%l~>l&FmaJ#_U_6UGz@Yp=$!5cibkMXeTfR1}mEAI9eWN!9PWRxe~ P00000NkvXXu0mjfvK`s*
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/jump_bookmark_button.png b/mythtv/themes/default/jump_bookmark_button.png new file mode 100644 index 0000000000000000000000000000000000000000..b6afa0ded85770fc65950f2f99a536d7096dad8e GIT binary patch literal 934 zcmV;X16lluP)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sgd27y#cz5cdE812aiP zK~!ko?b<;|Q*j)?@$YPg(!mvh!SJAhMg?6IOH@K(vR%~B4s~eIrAvg^VWvFw2_i-^ zAw?)b@FLPd(1QfQ)Rog9kgyU71zWky6jbKa?RAI<b=cCiy}kW^xAFhI|Kr1d`@i4s z|E2?)h;pp0Aw}Xo1_N>eaTWqBzyd750xZA+EWiRRzyd750xZA+EWp|eeJDviJxFC` zpbwJmc0)}KjEo>_W`*zELC(nmhXWL4@0igD{rxaJjFgoXnZvk<e5Dr_kju-F&1QK2 z{@{2)0k~Yy+KQytYv?!Zav|sEBU`QT`SZTX65#G#`1A?MYE|cIA9>Rn97Mi!3Av#G z*4OurrKEt}4sYKg6&9)se(YVkqXRiD4Y|7;c6RoTWn{q65DW|;8I9_IhwZUsvmxi^ z!r<V+jm>0&>1nXrqmS0Dt)WEvrVk%NSJ$7%nC4%#w6ws?4ATAkkzetsRa!<PG&aUr zY3cXJ8TiDBI08>hKuJjyng@d+d`17cb4WHD+`0vciNSN;y@UFC7#)pHvk{i6H#HTh zwia&Qgp((O=giMTQ`4^sP4(^JVbJPouv#H0DR_?C4Rv+VhaL-j_AHeT9&q9IZAeZI zp0lz7&CSr;tFAs-A8zR8CbYHvs<C7C#3K~w_BM2OLVG*%{_ZJezy<@SZ8q*52KD=) zuMZwShQ&qoAM@xC|I^ZT2yiUK>MB1J<!F6;%z?dLw$jsi^5zX~ng<601e{K;0hmnq z=H{5vG<b57`l>1{zdz^ZGP1J5cTIvne&nUu%z=tMGm|c_7oVoUOG~(~T;bIry>+Rg z5YPm8YYX4`^Yk2+bNxES6BE?xbbsHuRSi}Y0!}Bzq2yXDoSK>8MNETTE*dH;DGfD0 zKc7jDhc7V+o}I;EHk0_T*JWq(%<E+<robK#U-R-9JL>i0<6I2{@W%w$=VLoNo2SQ_ z<HijtTrO&YZDMKz2VTGaQ&=1)EEdj8PxD;W;HfDdRa8(EuK9|J_~3RkuS)RjEMq29 z=oM3_aq%L38yjq@3cS3`x4b+Y|7(7ylgqoi?1D;;cp@1;0lsMl6t$woO#lD@07*qo IM6N<$f@3SUdjJ3c
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/jump_start_button.png b/mythtv/themes/default/jump_start_button.png new file mode 100644 index 0000000000000000000000000000000000000000..ec991bf869334de287cb2e122bbc259e7d684797 GIT binary patch literal 1010 zcmV<O0}cF%P)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sgd1Ap$-PmR0}&1Aj?G zK~!ko?b%OgQ%M}a@$WB=-I{DW^$%6>pj630@2&_USSTI^@gfQ>MGy~L+a4^ekSW4$ zc5Q6~6+sa6APOp&lUF@iyjT?if`VpcE$)`S*KTV{(!M<;V46lY)}(of^E>7@kbE+4 zesAVC0z@1K!xy5Z<;%HRi~!$RSg-|KumxMN1zWHMTkv-S?&-nYzhAliyKlfpj$kGx zFoT28-VVdVl|fe>91dgd-NW3u13Pzq{=B;zIy=jcR@H(YI>axJ9x*;O1**ueSXh8< z+sgmFRRMb*$AG_FmxINyPoKi+)9~(HjnA;>aRSJ=E_;gQ-@Jhf7vSN;$`viOM$l8h zpN>OVWMzJG5~5MKaij9x6}1M~pFVtGS1`z~LhSrJT)hexFRoo1NmUSfAd#TMbs-pB zp37t)9*6GkweOdy3P2A6;<_B(zI{cG$B*IMIe7cFI?chdf%osH@5vM5)6=vEioD$u z3FzyC@$u?*K~<S%b#pRFv+HuI5c~dpw(>rB;E#5%`bOxcXV3WAbwTUpx!GA58iH8N zUwv)0N@(ldyPS1hXlq-ZOQ+%bbr=}%X9HiY0=r{simr~1l?5pt2V<&NkV*-m#H$w1 z<2=w<>*rxr!i)|84Y@yux(5S4*p7z<*B5vWSgaTD|E^&XhH}NLH;4bxb!jdfmrld2 zTiIjY<fMOJOC>+jB8-S|4M1!D)|#38{QC9K*$FRR!00Gu>sEiFzj_Uea9M;az>?Pd zQwVQp$ikmLhiKG)@KqNr5k^HA13ay9nwy!;&o?&0nKLjkk%e#B!tuJO(z!={R0L0J z{w;)W*pP+4e92xvz{~bp65;ag+pH5ov}WF~@RIk^UwOdj2i5_BOoqj|IYNbFK7E3l zHz67&<~U5(^u|MkVG;fS(n=A~nuSn^xneV(NYE3FVp>|*So1rr9Q^kjTxm^8DKhzE zg2B)5NCcx)4TJMHFCzQ~EQUfXX-z5+V5tz^+Y8AgCKADj)G#;?eo2I1fu*J<7PTf- zI3^$7-(M$}X}R@{=dt_aM^3i3t{l_Ul)X@^tJ9JQuft(XBmy%t%X5hYjE$9lhJA57 zjKwf*ZJ3b}NTtAWpsTCS&%>Dv3=U%U?SrF7;nl0k?7<a2i)0d$Oxliz1zWHMTd)ON gumxMN1^Yh!1E4A>{f0mOod5s;07*qoM6N<$f_zQaQ~&?~
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/left_arrow_button.png b/mythtv/themes/default/left_arrow_button.png new file mode 100644 index 0000000000000000000000000000000000000000..58871bc28db49c72f9aab61c3281d7a3affb41c4 GIT binary patch literal 1156 zcmV-~1bh35P)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sgd0GB*q!1!4dI1QAI@ zK~!ko?b%&ulUEqP@qa$;(ymF`kx(_wNLmXK#l{5m6|AgUSP2`_i_N>57DXs1*g^#_ zM!~w(I-GdnjY?r&R9h4;230p*S6W6>OPYc(6+$tUR<!9C)1*yyv1V-Do6Xv^`Ffwr zoQH(pd)}P$oae}ZCbB5xWLZdH2`qsnumqOC5?BID;EVw4^{B2~Vc*~&^?7+HG8)|2 zh;4Y7lQlI|mzJ`nvy;z~0agHe*764q9Kg`o$(IKYvOgz>4`QDe7h^IQnCa;uu%2M$ zT79v_g685yssw>ua=GZ6^wwx3f4yfo;b5f_SxXD{+FD#14Y_gB2CA$1xxb&+X$`Kg z$I{fq=SCw%aZ;WDjXE7=$y%io0=C=Ho;$~<J9knJ$V5_J0AJ~JXd!vnRfF|<RPF8T zsi~m?L|@-|;5(Cvx!GB?sjv^fH@LA8+v(F(0w$5+1)yvDb{>z7@p~#29xDb{RbjYs z0|&5AWH<`^=yKud>s$W?DWPDC1<i#E?BBZ=Ax^>KJARyBIy&&Da%uU$;G7)ft*toS zZYlwtNXppx^YorMgD(;xn(DRme}a!3!P?eFB~T(VJk#Ax--#3S&CarrE{6wEu)~4w z{(W`;)gr^;-d=ufXy9I|El4W{7Z##=_6#%N7I_#^pAX-uQ~Z#s3(~uUjHRoVV2}mi z+e|+XD}zB~Ktr7UG~+@R3=)Y`4rXk}V=>!WJc?`rEBt;6T`od^IV=9du~qumF-p&# z#R=?)lN%lw;8Alk_q<+a(sqVf>S=jAyl!h_RH<Y_5Xc1zmgkyGY(9LLT@@ARM@9%t zPVzQw!2r=H^!75*-p(V1f(b!D5C1yHDoiFeyWKbif&9@?UZfLTv}+lO{0YBwi6Nbi z>GE<6fM!{m%50|C?ZzPp<okS#Pfij_OK>bgA)-A!1UfqK6czEtW}^sD$ALT30sc;X z>A5);@7%$E>lPlf8LU<|ifm_T0bfxg{?#kOH*fOf!2^a%N>H0j6p1tg{sH%T3A}un zI`H?pc?bk}bNxDxy<SGk%E&VsF^Z(A%w~$~>Tn1G+EjtB>Z;}GQ|7N-V`O}s-)uHM z(&^BPq^V<YyPe#jAp%oVgwqln3$K^y%a`#?PvhUVjg5JEd?*IDTKV|sQJi)=xr2i| zUpkT|r_xGPsMW|@TCg8FM3q)6+5`KmMRfZ%{k66HwBCn@ghnVtq`4W-)~$SV^(x)- z^UTFb%@2h#V1}26(TKXW6~X1=lMNfl`P-1Mpn&h!yVJSm7vd8WgzD;eC<uIg_bv|? z7YPGXz!%AA>#q3>FOS{3(Qn#BZdVu2lX^VNrj7>^SOQC62`qsnumqOC5?BJSKK=j# W{yS>gewJzg0000<MNUMnLSTYL*cj#j
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/menu_button.png b/mythtv/themes/default/menu_button.png new file mode 100644 index 0000000000000000000000000000000000000000..e74968fd0eb83a7db6adee9bd0e9be9e8394ebeb GIT binary patch literal 331 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1|+Ti+$;i8Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHiR3yfCZ8ik~qcBX4-RIEG~0dwXLq=b;1<w}-;Mx+{;~ z;=Oau^UlG@62|C_6ADDR>mT_ix^<{joR@vj%zp2Y3hM@yi@hFYO|0BvIuRQl{9D(v zfGy5J<-;{smVEWU=O?qhJHWg{^+O!j{%I@_C2`TeZfyJVll}eq237;fj_(QH=@~Dz zFKqF>`_=RSp9OE)rEOah4uTB4b6Zp}=hllA!WFqMMRfO`HF>#dRfKgWSWaih{0|)o zTxWj%n_ZWd@sdr#`lWr|%g|+>(?gHS-GC_qx~T6x^P^)H3IR=@9e{ph@O1TaS?83{ F1ORUEgYEzT
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/more_button.png b/mythtv/themes/default/more_button.png new file mode 100644 index 0000000000000000000000000000000000000000..8a493c2159b84b62b98798fa099a047f965d33b1 GIT binary patch literal 1001 zcmV<F0~Y*=P)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv00000 z008+zyMF)x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sYHQCmTCLE5`r;19nM7 zK~!ko?VCMM+dvq{|332)p(IXI@e*}Ox;P4onaW0_PT62V%J)F5ow_3sb0oTFL;^%2 zI`#{IT2b1RiP9jFhS!q#Iv|RnaqM&ME)L<Dl9TLve$W5z@jdpPLMcT**?{N{YBhx^ zqMAk(k^U&W6=nsL9RO~?yg@~QcML2VlsC9%VA-I&z&!zbg^fh;u2p-riubahnSfbA z?EsyOH2^H&u7O!#y@GZE?iSh=uv=JOpkBe<Ksy4vffWVn1>6am^a`xozMOn+t8lxE zy@HO7A(=`+1Ax6f)Q*qwnYY^QRJH{c1-q~SJ)6aA0NC2Xx1}X~kqJ#?!2&=wi&!p) zR3d?BB7tZwhg3F;n1~^6$3SGRjtm2lU=V@3|G^*vhJlDoABZe<0l+i?V(F2P+cr^& ztQ8C4abvf3eT{|{&@^w`WMuD_z%mK~MFDN~Th<E*B1>IAJfj}~ce~t^r80R6>azGs zWIOd}oukO^pU70VUdK(dd7r3M70Sp624$*DWX|7%1DxI5plMY&7Q=|lc`S8ES1R~p zeeNm>Fgy&^H$z&`9PaAVV8H8Kh{uthoJ7bpLC?=03{zW6r4Uxthd~a7FqFw)+Cx5Q zl*`yZJw?5h?{<}xr%x^MIMS=Dcw-otAOy<Q6&irEa;ged)9#B00GOIWET6{<)-`#x zipz}+yjoeo$5znH3b(VxMI>itkg%xa*#ZF!1_JDvdVCxqUB_6tjI*^h><FF1$t0U1 zB2Cv37M`@$*YTs-gh}at3khjvnxH2qI4_m(lS|TSXUogjA_SP7MWWFFt<`Yt=DKhg zL+LaotV8(d2)}oC@yo*_?xIk@VX=r$Ow}5t)OO*)d!?1hU^<`2+tE=3@7jt*e4U@i z2cG@dWoS*K3PGP)e*%l%X5a_AV<cYYf}hRF=jS=x%PPC^l{_BfPkH{j9@4#_vRfaC zT_m2Ox=cyS&nmO{Mw}wzcWBm6rhWH{hq#Rl50&e6G^$lxSxdZ11(&kaZL6>d=yDnR zo16G<xz9zRfJ0fZ|H?x<6S1i!8pX@GIT*SQtyIF%_BLBR+v!f8zT39+yfLj)XrAC* z+j{5)x)X3;Y%c8t+$jLQ-9F3%TGSd@IB>VXyLJRXHn?vNd58x0?J*u+0qD7dT7I{` Xefs1D*vA*Q00000NkvXXu0mjf=8Vey
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/muted_button.png b/mythtv/themes/default/muted_button.png new file mode 100644 index 0000000000000000000000000000000000000000..edd7081f791e05f3fc71357926f9696ab8de16e1 GIT binary patch literal 1153 zcmV-{1b+L8P)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sYKQ2_4E&LI(f<1P)0= zK~!ko)tgIbT}2pxzyH)iu|h6Fpr8Z-6|&OMtrEMlHKG)>X(_e%D2Sj2va_z5MK%^o z7b0pXl!6U*(JrjC6k38pSCR)5-B>6p7YgPC0@p{Hzl)p$lj)r2J&(x`cXQ9of6jOQ zng1~}2O1VtLi<;N&X-lWrb<_pzf}2Jl@V9lCz^&$`d@@jNu5K$=fHEu->(D9z^``u zpl#Sbbq)bD7A(LnV7L_v*8v*o-3?3v2OO6l0{310f^7_Y0yqxra5VW1xX~zZU9ge7 z27CtWv~LUC2HqFpuB)T?0-M)qsqzwV33$qJc>#D^#66sAv2dN1Rb>=7p8$Igm`sDM z9JnFaLC56>z&j!=Wa$Zfg*B6sDEypF2sLYYVJitsH9IF$zdA1WfGH7v%BwH%88*Yg z{s&A0SBfYJwh62)>%c`|R)l~1d26k~nqetQEdI>sG9p5^=zRhY=WLusrO8rKuAIxl zEf3Ev7FJ~f_yTw`p=lR55{-cUB79%yK0d(4z!_OoEaM{ltja6ET#+oT(eki@EDB&E zf_*WDE&O7Av2X-6oRCGmCBlL#gTOP<DA-db7xxL6ge>ZanOLYY4?Lf@00|AcPRDQH zUQ`Us<&6?Ha2R?#hb{TXl|_Xitga>xUGrsxq32G^N*PbvS(FKo2Au}$Bd{}N3=2%U zthPP@ZvfYU={&GmR(46J;}`Ick&{}nAF_xH47i<Itj8zdDG?r|J#1Mq`}+dClvVkZ zg|_?o0Ne#WF7xnN^Vs#0d;oqg?|M`bODDB!8+hC(1{#qzfz8V2hpOVNubI|K;FqW* zoGlBR6oP!qrB4AjfxW;vyUgp?vRVC_2L2M52c8B#NGkKHf_3!|8ixHY_RPQ=b-*Tt zs#s6Z0_;)X!+v42=5La|z*pER(#STvbS<!1)=h)16ZonTavFg(mw1}aw3dLcfWLvU zvat3;7cC%M{p(o7+p;qNe3PeBo@Le|3wTWq>9`o!mlrmVQ~?XspVJ!ecW0moXxqg@ zsbZjC*rG=k0}(o9&pGy63^Wb9#lkVT`D1e*=TqSSs*8bsrL2*%hIHDAx6;KxTd=84 zE843)gL`9o5jX@qTeKKx3pCZjIreIgiLfHVaufM+Rj}YV)MCIU?bYrV*?QoliqK&L z#X743bpl5x-Yx*6j<##Sm<Yeu5ihF-%N)|i>GBsG?RvoBBv{kS<GBPD>_OZo-aY~D z_++Wlz!t3S#MYzGb6JE9--c&d3&-CL*s$^T<xCM+-=PEGRUZFtV1v!=%Xf>OW%M1| zRSzq0jm_@{dQFsfO?&CPmSq=#kE(?A%G#>Dsmd)?{!r!HDDkNCewBZUS418G!!ETo TQMRbk00000NkvXXu0mjf-nb5j
-
mythtv/themes/default/osd.xml
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/osd.xml b/mythtv/themes/default/osd.xml index 961e413..e881a24 100644
a b 256 256 </progressbar> 257 257 </window> 258 258 259 <window name="osd_navigation"> 260 <fontdef name="small" face="DejaVu Sans"> 261 <pixelsize>18</pixelsize> 262 <color>#FFFFFF</color> 263 <shadowoffset>1,1</shadowoffset> 264 <shadowcolor>#000000</shadowcolor> 265 </fontdef> 266 <area>62,516,675,80,800x600</area> 267 <shape name="background"> 268 <area>0,0,100%,100%</area> 269 <type>roundbox</type> 270 <fill color="#000000" alpha="200" /> 271 <line color="#222222" alpha="255" width="2" /> 272 <cornerradius>12</cornerradius> 273 </shape> 274 275 <button name="more"> 276 <focusorder>2</focusorder> 277 <area>6,0,112,75,800x600</area> 278 <statetype name="buttonstate"> 279 <state name="active"> 280 <imagetype name="icon"> 281 <area>46,5,20,20,800x600</area> 282 <filename>more_button.png</filename> 283 </imagetype> 284 </state> 285 <state name="selected"> 286 <shape name="background"> 287 <area>44,0,24,30,800x600</area> 288 <type>box</type> 289 <fill color="#fcdb58" alpha="200" /> 290 </shape> 291 <imagetype name="icon"> 292 <area>46,5,20,20,800x600</area> 293 <filename>more_button.png</filename> 294 </imagetype> 295 <textarea name="text"> 296 <area>0,22,112,50,800x600</area> 297 <align>allcenter</align> 298 <font>small</font> 299 <cutdown>none</cutdown> 300 <value>More Actions</value> 301 </textarea> 302 </state> 303 <state name="disabled" from="active" /> 304 <state name="pushed" from="selected" /> 305 </statetype> 306 </button> 307 308 <group name="grp0"> 309 <area>0,0,675,80,800x600</area> 310 311 <button name="MENU"> 312 <focusorder>2</focusorder> 313 <area>75,0,112,75,800x600</area> 314 <statetype name="buttonstate"> 315 <state name="active"> 316 <imagetype name="icon"> 317 <area>46,5,20,20,800x600</area> 318 <filename>menu_button.png</filename> 319 </imagetype> 320 </state> 321 <state name="selected"> 322 <shape name="background"> 323 <area>44,0,24,30,800x600</area> 324 <type>box</type> 325 <fill color="#fcdb58" alpha="200" /> 326 </shape> 327 <imagetype name="icon"> 328 <area>46,5,20,20,800x600</area> 329 <filename>menu_button.png</filename> 330 </imagetype> 331 <textarea name="text"> 332 <area>0,22,112,50,800x600</area> 333 <align>allcenter</align> 334 <font>small</font> 335 <cutdown>none</cutdown> 336 <value>Menu</value> 337 </textarea> 338 </state> 339 <state name="disabled" from="active" /> 340 <state name="pushed" from="selected" /> 341 </statetype> 342 </button> 343 344 <button name="JUMPRWND"> 345 <focusorder>2</focusorder> 346 <area>144,0,112,75,800x600</area> 347 <statetype name="buttonstate"> 348 <state name="active"> 349 <imagetype name="icon"> 350 <area>46,5,20,20,800x600</area> 351 <filename>dbl_left_arrow_button.png</filename> 352 </imagetype> 353 </state> 354 <state name="selected"> 355 <shape name="background"> 356 <area>44,0,24,30,800x600</area> 357 <type>box</type> 358 <fill color="#fcdb58" alpha="200" /> 359 </shape> 360 <imagetype name="icon"> 361 <area>46,5,20,20,800x600</area> 362 <filename>dbl_left_arrow_button.png</filename> 363 </imagetype> 364 <textarea name="text"> 365 <area>0,22,112,50,800x600</area> 366 <align>allcenter</align> 367 <font>small</font> 368 <cutdown>none</cutdown> 369 <value>Back more</value> 370 </textarea> 371 </state> 372 <state name="disabled" from="active" /> 373 <state name="pushed" from="selected" /> 374 </statetype> 375 </button> 376 377 <button name="SEEKRWND"> 378 <focusorder>2</focusorder> 379 <area>213,0,112,75,800x600</area> 380 <statetype name="buttonstate"> 381 <state name="active"> 382 <imagetype name="icon"> 383 <area>46,5,20,20,800x600</area> 384 <filename>left_arrow_button.png</filename> 385 </imagetype> 386 </state> 387 <state name="selected"> 388 <shape name="background"> 389 <area>44,0,24,30,800x600</area> 390 <type>box</type> 391 <fill color="#fcdb58" alpha="200" /> 392 </shape> 393 <imagetype name="icon"> 394 <area>46,5,20,20,800x600</area> 395 <filename>left_arrow_button.png</filename> 396 </imagetype> 397 <textarea name="text"> 398 <area>0,22,112,50,800x600</area> 399 <align>allcenter</align> 400 <font>small</font> 401 <cutdown>none</cutdown> 402 <value>Jump back</value> 403 </textarea> 404 </state> 405 <state name="disabled" from="active" /> 406 <state name="pushed" from="selected" /> 407 </statetype> 408 </button> 409 410 <button name="PLAY"> 411 <area>282,0,112,75,800x600</area> 412 <statetype name="buttonstate"> 413 <state name="active"> 414 <imagetype name="icon"> 415 <area>46,5,20,20,800x600</area> 416 <filename>play_button.png</filename> 417 </imagetype> 418 </state> 419 <state name="selected"> 420 <shape name="background"> 421 <area>44,0,24,30,800x600</area> 422 <type>box</type> 423 <fill color="#fcdb58" alpha="200" /> 424 </shape> 425 <imagetype name="icon"> 426 <area>46,5,20,20,800x600</area> 427 <filename>play_button.png</filename> 428 </imagetype> 429 <textarea name="text"> 430 <area>0,22,112,50,800x600</area> 431 <align>allcenter</align> 432 <font>small</font> 433 <cutdown>none</cutdown> 434 <value>Play</value> 435 </textarea> 436 </state> 437 <state name="disabled" from="active" /> 438 <state name="pushed" from="selected" /> 439 </statetype> 440 </button> 441 442 <button name="PAUSE"> 443 <area>282,0,112,75,800x600</area> 444 <statetype name="buttonstate"> 445 <state name="active"> 446 <imagetype name="icon"> 447 <area>46,5,20,20,800x600</area> 448 <filename>pause_button.png</filename> 449 </imagetype> 450 </state> 451 <state name="selected"> 452 <shape name="background"> 453 <area>44,0,24,30,800x600</area> 454 <type>box</type> 455 <fill color="#fcdb58" alpha="200" /> 456 </shape> 457 <imagetype name="icon"> 458 <area>46,5,20,20,800x600</area> 459 <filename>pause_button.png</filename> 460 </imagetype> 461 <textarea name="text"> 462 <area>0,22,112,50,800x600</area> 463 <align>allcenter</align> 464 <font>small</font> 465 <cutdown>none</cutdown> 466 <value>Pause</value> 467 </textarea> 468 </state> 469 <state name="disabled" from="active" /> 470 <state name="pushed" from="selected" /> 471 </statetype> 472 </button> 473 474 <button name="SEEKFFWD"> 475 <area>351,0,112,75,800x600</area> 476 <statetype name="buttonstate"> 477 <state name="active"> 478 <imagetype name="icon"> 479 <area>46,5,20,20,800x600</area> 480 <filename>right_arrow_button.png</filename> 481 </imagetype> 482 </state> 483 <state name="selected"> 484 <shape name="background"> 485 <area>44,0,24,30,800x600</area> 486 <type>box</type> 487 <fill color="#fcdb58" alpha="200" /> 488 </shape> 489 <imagetype name="icon"> 490 <area>46,5,20,20,800x600</area> 491 <filename>right_arrow_button.png</filename> 492 </imagetype> 493 <textarea name="text"> 494 <area>0,22,112,50,800x600</area> 495 <align>allcenter</align> 496 <font>small</font> 497 <cutdown>none</cutdown> 498 <value>Jump fwd</value> 499 </textarea> 500 </state> 501 <state name="disabled" from="active" /> 502 <state name="pushed" from="selected" /> 503 </statetype> 504 </button> 505 506 <button name="JUMPFFWD"> 507 <area>420,0,112,75,800x600</area> 508 <statetype name="buttonstate"> 509 <state name="active"> 510 <imagetype name="icon"> 511 <area>46,5,20,20,800x600</area> 512 <filename>dbl_right_arrow_button.png</filename> 513 </imagetype> 514 </state> 515 <state name="selected"> 516 <shape name="background"> 517 <area>44,0,24,30,800x600</area> 518 <type>box</type> 519 <fill color="#fcdb58" alpha="200" /> 520 </shape> 521 <imagetype name="icon"> 522 <area>46,5,20,20,800x600</area> 523 <filename>dbl_right_arrow_button.png</filename> 524 </imagetype> 525 <textarea name="text"> 526 <area>0,22,112,50,800x600</area> 527 <align>allcenter</align> 528 <font>small</font> 529 <cutdown>none</cutdown> 530 <value>Fwd more</value> 531 </textarea> 532 </state> 533 <state name="disabled" from="active" /> 534 <state name="pushed" from="selected" /> 535 </statetype> 536 </button> 537 538 <button name="INFO"> 539 <area>489,0,112,75,800x600</area> 540 <statetype name="buttonstate"> 541 <state name="active"> 542 <imagetype name="icon"> 543 <area>46,5,20,20,800x600</area> 544 <filename>info_button.png</filename> 545 </imagetype> 546 </state> 547 <state name="selected"> 548 <shape name="background"> 549 <area>44,0,24,30,800x600</area> 550 <type>box</type> 551 <fill color="#fcdb58" alpha="200" /> 552 </shape> 553 <imagetype name="icon"> 554 <area>46,5,20,20,800x600</area> 555 <filename>info_button.png</filename> 556 </imagetype> 557 <textarea name="text"> 558 <area>0,22,112,50,800x600</area> 559 <align>allcenter</align> 560 <font>small</font> 561 <cutdown>none</cutdown> 562 <value>Information</value> 563 </textarea> 564 </state> 565 <state name="disabled" from="active" /> 566 <state name="pushed" from="selected" /> 567 </statetype> 568 </button> 569 570 <button name="MUTE"> 571 <area>558,0,112,75,800x600</area> 572 <statetype name="buttonstate"> 573 <state name="active"> 574 <imagetype name="mutebn"> 575 <area>46,5,20,20,800x600</area> 576 <filename>unmuted_button.png</filename> 577 </imagetype> 578 </state> 579 <state name="selected"> 580 <shape name="background"> 581 <area>44,0,24,30,800x600</area> 582 <type>box</type> 583 <fill color="#fcdb58" alpha="200" /> 584 </shape> 585 <imagetype name="icon"> 586 <area>46,5,20,20,800x600</area> 587 <filename>unmuted_button.png</filename> 588 </imagetype> 589 <textarea name="text"> 590 <area>0,22,112,50,800x600</area> 591 <align>allcenter</align> 592 <font>small</font> 593 <cutdown>none</cutdown> 594 <value>Mute</value> 595 </textarea> 596 </state> 597 <state name="disabled" from="active" /> 598 <state name="pushed" from="selected" /> 599 </statetype> 600 </button> 601 602 <button name="unmute"> 603 <area>558,0,112,75,800x600</area> 604 <statetype name="buttonstate"> 605 <state name="active"> 606 <imagetype name="icon"> 607 <area>46,5,20,20,800x600</area> 608 <filename>muted_button.png</filename> 609 </imagetype> 610 </state> 611 <state name="selected"> 612 <shape name="background"> 613 <area>44,0,24,30,800x600</area> 614 <type>box</type> 615 <fill color="#fcdb58" alpha="200" /> 616 </shape> 617 <imagetype name="icon"> 618 <area>46,5,20,20,800x600</area> 619 <filename>muted_button.png</filename> 620 </imagetype> 621 <textarea name="text"> 622 <area>0,22,112,50,800x600</area> 623 <align>allcenter</align> 624 <font>small</font> 625 <cutdown>none</cutdown> 626 <value>Unmute</value> 627 </textarea> 628 </state> 629 <state name="disabled" from="active" /> 630 <state name="pushed" from="selected" /> 631 </statetype> 632 </button> 633 </group> 634 635 <group name="grp1"> 636 <area>0,0,675,80,800x600</area> 637 638 <button name="TOGGLEFILL"> 639 <area>75,0,112,75,800x600</area> 640 <statetype name="buttonstate"> 641 <state name="active"> 642 <imagetype name="icon"> 643 <area>46,5,20,20,800x600</area> 644 <filename>fill_button.png</filename> 645 </imagetype> 646 </state> 647 <state name="selected"> 648 <shape name="background"> 649 <area>44,0,24,30,800x600</area> 650 <type>box</type> 651 <fill color="#fcdb58" alpha="200" /> 652 </shape> 653 <imagetype name="icon"> 654 <area>46,5,20,20,800x600</area> 655 <filename>fill_button.png</filename> 656 </imagetype> 657 <textarea name="text"> 658 <area>0,22,112,50,800x600</area> 659 <align>allcenter</align> 660 <font>small</font> 661 <cutdown>none</cutdown> 662 <value>Fill</value> 663 </textarea> 664 </state> 665 <state name="disabled" from="active" /> 666 <state name="pushed" from="selected" />200 667 </statetype> 668 </button> 669 670 <button name="TOGGLEASPECT"> 671 <area>144,0,112,75,800x600</area> 672 <statetype name="buttonstate"> 673 <state name="active"> 674 <imagetype name="icon"> 675 <area>46,5,20,20,800x600</area> 676 <filename>aspect_button.png</filename> 677 </imagetype> 678 </state> 679 <state name="selected"> 680 <shape name="background"> 681 <area>44,0,24,30,800x600</area> 682 <type>box</type> 683 <fill color="#fcdb58" alpha="200" /> 684 </shape> 685 <imagetype name="icon"> 686 <area>46,5,20,20,800x600</area> 687 <filename>aspect_button.png</filename> 688 </imagetype> 689 <textarea name="text"> 690 <area>0,22,112,50,800x600</area> 691 <align>allcenter</align> 692 <font>small</font> 693 <cutdown>none</cutdown> 694 <value>Aspect Ratio</value> 695 </textarea> 696 </state> 697 <state name="disabled" from="active" /> 698 <state name="pushed" from="selected" /> 699 </statetype> 700 </button> 701 702 <button name="NEXTCC"> 703 <area>213,0,112,75,800x600</area> 704 <statetype name="buttonstate"> 705 <state name="active"> 706 <imagetype name="icon"> 707 <area>46,5,20,20,800x600</area> 708 <filename>cc_button.png</filename> 709 </imagetype> 710 </state> 711 <state name="selected"> 712 <shape name="background"> 713 <area>44,0,24,30,800x600</area> 714 <type>box</type> 715 <fill color="#fcdb58" alpha="200" /> 716 </shape> 717 <imagetype name="icon"> 718 <area>46,5,20,20,800x600</area> 719 <filename>cc_button.png</filename> 720 </imagetype> 721 <textarea name="text"> 722 <area>0,22,112,50,800x600</area> 723 <align>allcenter</align> 724 <font>small</font> 725 <cutdown>none</cutdown> 726 <value>Captions</value> 727 </textarea> 728 </state> 729 <state name="disabled" from="active" /> 730 <state name="pushed" from="selected" /> 731 </statetype> 732 </button> 733 734 <button name="JUMPSTART"> 735 <area>282,0,112,75,800x600</area> 736 <statetype name="buttonstate"> 737 <state name="active"> 738 <imagetype name="icon"> 739 <area>46,5,20,20,800x600</area> 740 <filename>jump_start_button.png</filename> 741 </imagetype> 742 </state> 743 <state name="selected"> 744 <shape name="background"> 745 <area>44,0,24,30,800x600</area> 746 <type>box</type> 747 <fill color="#fcdb58" alpha="200" /> 748 </shape> 749 <imagetype name="icon"> 750 <area>46,5,20,20,800x600</area> 751 <filename>jump_start_button.png</filename> 752 </imagetype> 753 <textarea name="text"> 754 <area>0,22,112,50,800x600</area> 755 <align>allcenter</align> 756 <font>small</font> 757 <cutdown>none</cutdown> 758 <value>Jump to start</value> 759 </textarea> 760 </state> 761 <state name="disabled" from="active" /> 762 <state name="pushed" from="selected" /> 763 </statetype> 764 </button> 765 766 <button name="SETBOOKMARK"> 767 <area>351,0,112,75,800x600</area> 768 <statetype name="buttonstate"> 769 <state name="active"> 770 <imagetype name="icon"> 771 <area>46,5,20,20,800x600</area> 772 <filename>bookmark_button.png</filename> 773 </imagetype> 774 </state> 775 <state name="selected"> 776 <shape name="background"> 777 <area>44,0,24,30,800x600</area> 778 <type>box</type> 779 <fill color="#fcdb58" alpha="200" /> 780 </shape> 781 <imagetype name="icon"> 782 <area>46,5,20,20,800x600</area> 783 <filename>bookmark_button.png</filename> 784 </imagetype> 785 <textarea name="text"> 786 <area>0,22,112,50,800x600</area> 787 <align>allcenter</align> 788 <font>small</font> 789 <cutdown>none</cutdown> 790 <value>Bookmark</value> 791 </textarea> 792 </state> 793 <state name="disabled" from="active" /> 794 <state name="pushed" from="selected" /> 795 </statetype> 796 </button> 797 798 <button name="JUMPBKMRK"> 799 <area>420,0,112,75,800x600</area> 800 <statetype name="buttonstate"> 801 <state name="active"> 802 <imagetype name="icon"> 803 <area>46,5,20,20,800x600</area> 804 <filename>jump_bookmark_button.png</filename> 805 </imagetype> 806 </state> 807 <state name="selected"> 808 <shape name="background"> 809 <area>44,0,24,30,800x600</area> 810 <type>box</type> 811 <fill color="#fcdb58" alpha="200" /> 812 </shape> 813 <imagetype name="icon"> 814 <area>46,5,20,20,800x600</area> 815 <filename>jump_bookmark_button.png</filename> 816 </imagetype> 817 <textarea name="text"> 818 <area>0,22,112,50,800x600</area> 819 <align>allcenter</align> 820 <font>small</font> 821 <cutdown>none</cutdown> 822 <value>Jump bkmark</value> 823 </textarea> 824 </state> 825 <state name="disabled" from="active" /> 826 <state name="pushed" from="selected" /> 827 </statetype> 828 </button> 829 </group> 830 831 <group name="grp2"> 832 <area>0,0,675,80,800x600</area> 833 834 <button name="RWNDSTICKY"> 835 <focusorder>2</focusorder> 836 <area>213,0,112,75,800x600</area> 837 <statetype name="buttonstate"> 838 <state name="active"> 839 <imagetype name="icon"> 840 <area>46,5,20,20,800x600</area> 841 <filename>rew_button.png</filename> 842 </imagetype> 843 </state> 844 <state name="selected"> 845 <shape name="background"> 846 <area>44,0,24,30,800x600</area> 847 <type>box</type> 848 <fill color="#fcdb58" alpha="200" /> 849 </shape> 850 <imagetype name="icon"> 851 <area>46,5,20,20,800x600</area> 852 <filename>rew_button.png</filename> 853 </imagetype> 854 <textarea name="text"> 855 <area>0,22,112,50,800x600</area> 856 <align>allcenter</align> 857 <font>small</font> 858 <cutdown>none</cutdown> 859 <value>Rewind</value> 860 </textarea> 861 </state> 862 <state name="disabled" from="active" /> 863 <state name="pushed" from="selected" /> 864 </statetype> 865 </button> 866 867 <button name="PLAY#"> 868 <area>282,0,112,75,800x600</area> 869 <statetype name="buttonstate"> 870 <state name="active"> 871 <imagetype name="icon"> 872 <area>46,5,20,20,800x600</area> 873 <filename>play_button.png</filename> 874 </imagetype> 875 </state> 876 <state name="selected"> 877 <shape name="background"> 878 <area>44,0,24,30,800x600</area> 879 <type>box</type> 880 <fill color="#fcdb58" alpha="200" /> 881 </shape> 882 <imagetype name="icon"> 883 <area>46,5,20,20,800x600</area> 884 <filename>play_button.png</filename> 885 </imagetype> 886 <textarea name="text"> 887 <area>0,22,112,50,800x600</area> 888 <align>allcenter</align> 889 <font>small</font> 890 <cutdown>none</cutdown> 891 <value>Play</value> 892 </textarea> 893 </state> 894 <state name="disabled" from="active" /> 895 <state name="pushed" from="selected" /> 896 </statetype> 897 </button> 898 899 <button name="FFWDSTICKY"> 900 <area>351,0,112,75,800x600</area> 901 <statetype name="buttonstate"> 902 <state name="active"> 903 <imagetype name="icon"> 904 <area>46,5,20,20,800x600</area> 905 <filename>ff_button.png</filename> 906 </imagetype> 907 </state> 908 <state name="selected"> 909 <shape name="background"> 910 <area>44,0,24,30,800x600</area> 911 <type>box</type> 912 <fill color="#fcdb58" alpha="200" /> 913 </shape> 914 <imagetype name="icon"> 915 <area>46,5,20,20,800x600</area> 916 <filename>ff_button.png</filename> 917 </imagetype> 918 <textarea name="text"> 919 <area>0,22,112,50,800x600</area> 920 <align>allcenter</align> 921 <font>small</font> 922 <cutdown>none</cutdown> 923 <value>Fast fwd</value> 924 </textarea> 925 </state> 926 <state name="disabled" from="active" /> 927 <state name="pushed" from="selected" /> 928 </statetype> 929 </button> 930 </group> 931 </window> 932 259 933 <window name="program_info"> 260 934 <fontdef name="small" face="DejaVu Sans"> 261 935 <pixelsize>18</pixelsize> -
new file mythtv/themes/default/pause_button.png
diff --git a/mythtv/themes/default/pause_button.png b/mythtv/themes/default/pause_button.png new file mode 100644 index 0000000000000000000000000000000000000000..3c4dd48071057bf349a643ac219fa1cf4ba83ad1 GIT binary patch literal 843 zcmeAS@N?(olHy`uVBq!ia0vp^T0m^W!3HD+d^GL?DYhhUcNd2LAh=-f^2tCE&H|6f zVxW%eAk65bF}ngJSXSVe4y3{Q84id&TE@V@<nQU?7?N@C?W~P{(vAXc`)$vk6g$Y6 zXdPsg%&C~NlzY-rkxq?CA9zAEgFf<Aa<9_xI%+&&iNivMNF`k-6HZ^3gQ61BDX+iT zXx6Cpv82Dgl(VtE_~@BG-`~EOw!c%!jzPbX_tQ)650XE^))tvYb|{H8UO!;{AlL7I z?E{CP6T1urSQ5_UTwY}$)1-C!K=A{Cf2^!>OSeA#|6x5d$A(0ni0-!~JN$&!Xw57; z<{%+7?erAah`^<+HM^FV%4J9%?%JwySMRQcTG-h(6E<Cu39YPh-4_CuDjHa2E<gPB z9ACV@|4tb`%@oO2MaR`gFR#^&3)Rw5^ZeG|+_2#G)2#C8@86n<7oI8bs^7HDEw_5M z`Bo`!PorBJk9+0hiz`cx<SW#?aJ!VhFh*^Q*zCB}Ykehe>WiGVY(LIwV0X*eT>N|0 z;+Y?VC!Xv*e>TuVv6V-(n`Nm`5|8md3j?-bEybfsMiK%(ul*z6{aMbpLy7;DW9)SH zuM5_lZmtTr{?yTS#p_QC<gS!f2JpYyWwV04G*<3P^DaFs%4Ydky?Cq3DUkj}`#^%j z!u!Wp8L1vKGF*|dzh9PT!x@3A9zZKpO&wVx<CmM+^KWj6pXIws$z#@zlU+G8Hr8+U zEG?c~aqYwD7JId>e{I1<$2xno+7JBBn!5SqK8+;N9~nIQYg~(ub-I*pxmX+eO35V4 zbXpP1igOKS7j`dS%f2PFQt43E(nCpn|K}gr$-thu&`@{(mxek<`-a)oS>~B<XKJms z{CmE!+5Yz7m%Cab7=a0oLAAs+q9i4;B-JXpC>2OC7#SEE>KYp98d-)I8d({bS(%#Y z8kk!d7(6wLQAE*@o1c=IR*9~`*vixhqM?nK`xH=vB*=!~{Irtt#G+J&^73-M%)IR4 c<ivthz5Jr|+3#$mfQlGAUHx3vIVCg!0BoyNHvj+t
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/play_button.png b/mythtv/themes/default/play_button.png new file mode 100644 index 0000000000000000000000000000000000000000..f80ad602fd8de2c07d1b23ad0373de288499096a GIT binary patch literal 2442 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 IM6N<$g4RuBGXMYp
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/rew_button.png b/mythtv/themes/default/rew_button.png new file mode 100644 index 0000000000000000000000000000000000000000..6a2393f64afaa4c6dcd4c1567549aafb38edd0f3 GIT binary patch literal 3567 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
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/right_arrow_button.png b/mythtv/themes/default/right_arrow_button.png new file mode 100644 index 0000000000000000000000000000000000000000..23e6d86a804ea7763b13263cac335c071fc7d7b8 GIT binary patch literal 1050 zcmV+#1m*jQP)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sgd0I58iRNZkMc1E)zu zK~!ko?b<;|n`a!y@vr)B(=IyOLuD{jEHV}vnzS1wX_wiqdf25xrMnc`!=Syj6g^nl z;Gt?rO=-c>ODob#@gQXolx4Ft8735CW(^Ev7%C#+?baB<$V`pdVGRx4`%c^1nD@=| zyCu&<o_u)2^M9T{DFHetqLfl(5nurpU;!3j0Ty5Z7GPb04F<|4Civm*U7B|8<b!;! zT?QP=H~7H=TFqw6Mk9@9&R~%w;(-8v>JohYItPy*rzQKkyqpTV9rKA3)INR6LNrQJ zS3l{R8mfTR*WYh!<ny5+E_yt)HZ-u~eXU=z9rt0Ija?%nd;?gO##dHI4i4gRI0&z; zk<mOjn?!;cpbuzN8kc2a*RJv7ojXKz0nULh0bRhS3d5PnNq+0-U^E<NNf%&%%1Wg9 zc?`gL;A4d;$>Cvq?d^;&F7iV2;B0DZshFPT3!n{<6sF8yy~<c$AHVAYoXz3G?DBZ{ z68QGz_k2B%PM##>_3}&?;A~ExrvBzlz6MMR!|Q%OfeRP-B^qU=U{6|ak|$3{xLiae z3E5_&8u%plfz{Pfd-g2m-MdNoe8e^?V+9We$Yj9pN4|B7a9tg%Mk6)AM>$i<Ef$RJ z?bOHPBqk?W)a*}MZDZ^2r`c}jAShlwMvfh0Dik823vlkn*4xW>CKD!wjcpAW*t3VZ z=g(i2v64h$YmaUPnv2!d|CYF70Rzkf{lx?Z$P`<PCtYmdGO38Lzn(kCl%~tlzI{|V zoitmm>{qGB08^cvOx(WBAE?|$3O*(iRW29JRx1|ZLzQW>Za2a1ZX)aJuQp~$YtZg) zn(THC02ONG$L+?~+e<|0T&)T4-n~@z^l-#(XFsSm`2HFgz~^ufT3#lt_F0k+pv%L< z_%B~37>oV48>$KLCZQ>>m%x=P_-1A{-^(s2u+fOY>E!4J&~z|JsH=;Ij~}aF0}C3Q z1GS*szylx>VY;V>pGQZL-*&BS1vfOX!|9}{rG>Bl4>~tT)a_>U-aY2tb<J%7*Vj|w za&crMs4Nq^aRX2G(6ANBJ9u!AqphvjfGV{)OG_l~-^c545Kg67-^%s#4o;<5Q^O{c zEDsIw(?+%QU6S{+bZIFi@i?c*X}hkj^0&vs!%LS4$TF$-xqjZC@XK@U_rQ2MjbUtz z@y<>j&CYJFudKNzoK0IBpDiqq3<lr4mTD5bT@nA{5nurpU;!3j0Ty5Z7T_()KQeeU UaV$kOW&i*H07*qoM6N<$f(zB?y8r+H
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/stop_button.png b/mythtv/themes/default/stop_button.png new file mode 100644 index 0000000000000000000000000000000000000000..1a9010e9954402ddc2c7f7df73c9c7742ccfe94a GIT binary patch literal 971 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1|+Ti+$;i8Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_GbVtiUlHNQ3n=h|XkIU|?W6@9E+gl5y|tY)9|g2@=Qa^Czi=UR=9* z-DEzk)o;wg&K|t|;$Wk>{Xx6C`x@d(4EXcR6K`@^^Bm!;5|}Ny_Q4w;uTO6#Xz=W@ z;9si$p1;WR)1lAaar3@^`XlNf!f3#|hv^<u?gCC5-FN;%&JV;duzqXoKTw_!v9>Ar zgdKBOL+R3tNHP5>Npdr!%D?_UC}N<`6xk-UkjaK|pQ~Uk`wY#L`;5|_hjL_!=c=e= zdZ`$_`}Mv(DB<>vb>3G$SHx*;WYQ7qx3_+ByF&JcK%yQGr?qTfQ^Vu9{?iX9T->4h z?(i3rrEblU_m|(x+8DDwIJk@V0gHqMP`RmRg-qKV8JQ2s)w2&PBnY&{Fy92K?+jfX z_^xbcN3vUXcEIY5FLtfzdU7cDbdqM@&Q~QCw{ATuD4+iC?4w7sG!9LuNN?ZAQ6aaq zZ1&EgnM+NU<}&&&o#8JuN#TJ7hlI%MD?7OB8MqWUBv=@adpZS~JY42n_oX89ROR~P zPhV<Y_jwS%*ZbF(DX)QUHBn`iW8CIkc&_U}!3mERAK^ro6I|*H(lf3(y|I%>ylZ%9 zS8_|~agNu0g4bk~*I2tnl=p0SN3=w@jq(Josr=#EOV7IpaIG$2@@QP>D%T-#%dBki z!8eDPQWFlb{eSNwCZ=I7b>^0tnd^_kOuLlk?9^NLKKOgBmO1ya*pJRBj5YJS-UpY* z#t5EkSjYS(U2@y=iy2!Z`jXweo*uqBS%&dLt=8<>dvdl$e6va0)T4i3AM=~e0L`ft zvFn4QqfZ}yHrsctlbpCx4ePfM5kuxZ3p+mcxcxs;af!3<<BoamJ3}4`{b1O$yyIgG z<NdDh{xQ?TcGgH=S!Gaplbx}yTOd`^-t`4Tb?f7)!E2pFF0$J(K3C$o^krM(O`kZC z_xw+IyQ~*g)HB-luqFOIb%_a>&Q(iXBT7;dOH!?pi&B9UgOP!up{}8ku90Pkp^=q= znU$%Tu7SCgfx%O=7)2Bfx%nxXX_e?2jIB(KAR5|uxlaK#NP=t#&QB{TPb^AhC@(M9 g%goCzPEIUH)ypqRpZ(583aE&|)78&qol`;+0FJ4V#sB~S
-
new file 0
literal 0 HcmV?d00001 diff --git a/mythtv/themes/default/unmuted_button.png b/mythtv/themes/default/unmuted_button.png new file mode 100644 index 0000000000000000000000000000000000000000..b90c5c322b8496ba95b455201058491e5950ed3b GIT binary patch literal 528 zcmV+r0`L8aP)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sYKN4FV<pNF4wG0i8)i zK~!ko<(okg!ypJnmB|6T|0%tJU3DhSXp9E*f9kHCB0M30jmEHe<Q&TNyOcs)r9bY5 zT@5V=uq(&$FQ7|2j0S58j0kH6j0$T4j0~#|j1H>`tPPuUC>9HNpnLT@zgA-+EFr9= zOPHQljW8D$SS|g+2K&~IhyqbdN>A(>O=f~zJD<Re+Ajfoq!gm&UKt+viML0*e4vBo z{0rTJ%Q=)r9yrTmd-!Z@?emO0O-NrWOE0uri^B+f3*CzZR^TaEc;J-gz1*6Qp$?CZ zayJh}NKZgF<(V1}6*;P;Re_G9i$s^DpL)9WJ9lNt&E{dWy>!uORUpbJw0QGuPfk3; z*5t(@Y`mLCh+)gjeD2CpuTHZ9msx1>1bhBZi?Y+Y8a=v!sL3Bp&*aQGFWTLb)}gk8 z8Pwh8!Qy3Fv|7oDXEj>G{)F_1FzV}7vyfhS+*ez_>`?kf=Uct9Yo&MT5)?x$z1rP7 z?x>fmqD5WFEI92IfZZ8<OQ(elZPr?%LYwx|h|tRn>LoLG_m)t+z1)c1SMfe&CaoFF SfI$oZ0000<MNUMnLSTY;80fM9