*** mythdialogs.cpp	2006-01-16 06:45:15.000000000 +0000
--- ../../../../mythtv-0.19/libs/libmyth/mythdialogs.cpp	2006-02-24 23:05:30.000000000 +0000
***************
*** 989,994 ****
--- 989,999 ----
  
  MythDialog::~MythDialog()
  {
+     if (class LCD* lcd = LCD::Get())
+     {
+         lcd->switchToTime();
+     }
+ 
      m_parent->detach(this);
  }
  
***************
*** 1201,1206 ****
--- 1206,1224 ----
          return false;
  
      candidate->setFocus();
+ 
+     if (candidate->isA("MythPushButton"))
+     {
+         if (class LCD* lcd = LCD::Get())
+         {
+             QPtrList<LCDTextItem> textItems;
+             textItems.setAutoDelete(true);
+             textItems.append(new LCDTextItem(1, ALIGN_LEFT, " <<", "Generic", false));
+             textItems.append(new LCDTextItem(2, ALIGN_LEFT, ((MythPushButton*)candidate)->text(), "Generic", true));
+             lcd->switchToGeneric(&textItems);
+         }
+     }
+ 
      return true;
  }
  
***************
*** 1270,1275 ****
--- 1288,1294 ----
      const QObjectList *objlist = children();
      QObjectListIt it(*objlist);
      QObject *objs;
+     bool firstWidget = true;
  
      while ((objs = it.current()) != 0)
      {
***************
*** 1278,1283 ****
--- 1297,1316 ----
          {
              QWidget *widget = (QWidget *)objs;
              widget->adjustSize();
+ 
+             if ((firstWidget || widget->hasFocus()) && widget->isA("MythPushButton"))
+             {
+                 if (class LCD* lcd = LCD::Get())
+                 {
+                     QPtrList<LCDTextItem> textItems;
+                     textItems.setAutoDelete(true);
+                     textItems.append(new LCDTextItem(1, ALIGN_LEFT, " <<", "Generic", false));
+                     textItems.append(new LCDTextItem(2, ALIGN_LEFT, ((MythPushButton*)widget)->text(), "Generic", true));
+                     lcd->switchToGeneric(&textItems);
+                 }
+ 
+                 firstWidget = false;
+             }
          }
      }
  
