Ticket #1447: popuplcd.patch

File popuplcd.patch, 2.0 KB (added by shrimp@…, 14 years ago)
Line 
1*** mythdialogs.cpp     2006-01-16 06:45:15.000000000 +0000
2--- ../../../../mythtv-0.19/libs/libmyth/mythdialogs.cpp        2006-02-24 23:05:30.000000000 +0000
3***************
4*** 989,994 ****
5--- 989,999 ----
6 
7  MythDialog::~MythDialog()
8  {
9+     if (class LCD* lcd = LCD::Get())
10+     {
11+         lcd->switchToTime();
12+     }
13+
14      m_parent->detach(this);
15  }
16 
17***************
18*** 1201,1206 ****
19--- 1206,1224 ----
20          return false;
21 
22      candidate->setFocus();
23+
24+     if (candidate->isA("MythPushButton"))
25+     {
26+         if (class LCD* lcd = LCD::Get())
27+         {
28+             QPtrList<LCDTextItem> textItems;
29+             textItems.setAutoDelete(true);
30+             textItems.append(new LCDTextItem(1, ALIGN_LEFT, " <<", "Generic", false));
31+             textItems.append(new LCDTextItem(2, ALIGN_LEFT, ((MythPushButton*)candidate)->text(), "Generic", true));
32+             lcd->switchToGeneric(&textItems);
33+         }
34+     }
35+
36      return true;
37  }
38 
39***************
40*** 1270,1275 ****
41--- 1288,1294 ----
42      const QObjectList *objlist = children();
43      QObjectListIt it(*objlist);
44      QObject *objs;
45+     bool firstWidget = true;
46 
47      while ((objs = it.current()) != 0)
48      {
49***************
50*** 1278,1283 ****
51--- 1297,1316 ----
52          {
53              QWidget *widget = (QWidget *)objs;
54              widget->adjustSize();
55+
56+             if ((firstWidget || widget->hasFocus()) && widget->isA("MythPushButton"))
57+             {
58+                 if (class LCD* lcd = LCD::Get())
59+                 {
60+                     QPtrList<LCDTextItem> textItems;
61+                     textItems.setAutoDelete(true);
62+                     textItems.append(new LCDTextItem(1, ALIGN_LEFT, " <<", "Generic", false));
63+                     textItems.append(new LCDTextItem(2, ALIGN_LEFT, ((MythPushButton*)widget)->text(), "Generic", true));
64+                     lcd->switchToGeneric(&textItems);
65+                 }
66+
67+                 firstWidget = false;
68+             }
69          }
70      }
71