Ticket #1956: bigclock.patch

File bigclock.patch, 5.4 KB (added by g8ecj@…, 18 years ago)
  • programs/mythfrontend/globalsettings.cpp

     
    29612961    return gc;
    29622962}
    29632963
     2964static HostCheckBox *LCDBigClock()
     2965{
     2966    HostCheckBox *gc = new HostCheckBox("LCDBigClock");
     2967    gc->setLabel(QObject::tr("Display Large Clock"));
     2968    gc->setHelpText(QObject::tr("On multiline displays try and display the time as large as possible."));
     2969    gc->setValue(true);
     2970    return gc;
     2971}
     2972
    29642973static HostLineEdit *LCDKeyString()
    29652974{
    29662975    HostLineEdit *ge = new HostLineEdit("LCDKeyString");
     
    30083017         setLeft->addChild(LCDShowMusic());
    30093018         setLeft->addChild(LCDShowMusicItems());
    30103019         setLeft->addChild(LCDShowChannel());
    3011          setRight->addChild(LCDShowRecStatus());
     3020         setLeft->addChild(LCDShowRecStatus());
    30123021         setRight->addChild(LCDShowVolume());
    30133022         setRight->addChild(LCDShowGeneric());
    30143023         setRight->addChild(LCDBacklightOn());
    30153024         setRight->addChild(LCDHeartBeatOn());
     3025         setRight->addChild(LCDBigClock());
    30163026         setRight->addChild(LCDKeyString());
    30173027         setHoriz->addChild(setLeft);
    30183028         setHoriz->addChild(setRight);
  • programs/mythlcdserver/lcdprocclient.cpp

     
    400400    sendToServer("widget_add Time timeWidget string");
    401401    sendToServer("widget_add Time topWidget string");
    402402
     403    // overload with Big Clock - spans multiple lines
     404    sendToServer("widget_add Time d0 num");
     405    sendToServer("widget_add Time d1 num");
     406    sendToServer("widget_add Time sep num");
     407    sendToServer("widget_add Time d2 num");
     408    sendToServer("widget_add Time d3 num");
     409    dobigclock(1);
     410
     411
    403412    // The Menu Screen   
    404413    // I'm not sure how to do multi-line widgets with lcdproc so we're going
    405414    // the ghetto way
     
    498507    lcd_heartbeaton=(gContext->GetSetting("LCDHeartBeatOn", "1")=="1");
    499508    aString = gContext->GetSetting("LCDPopupTime", "5");
    500509    lcd_popuptime = aString.toInt() * 1000;
     510    lcd_bigclock = (gContext->GetSetting("LCDBigClock", "1")=="1");
    501511    lcd_keystring = gContext->GetSetting("LCDKeyString", "ABCDEF");
    502512
    503513    if (old_keystring != "")
     
    16671677    sendToServer(aString);
    16681678}
    16691679
     1680
     1681void LCDProcClient::dobigclock (bool init)
     1682{
     1683    // kludge ahead: use illegal number to clear num display type
     1684    QString aString;
     1685
     1686    QString time = QTime::currentTime().toString("hh:mm");
     1687    // each char is 3 wide, colon is 1
     1688    aString = "widget_set Time d0 ";
     1689    aString += QString::number(lcdWidth/2 - 6) + " ";
     1690    if (init)
     1691        aString += "11";
     1692    else
     1693        aString += time.at(0);
     1694    sendToServer(aString);
     1695
     1696    aString = "widget_set Time d1 ";
     1697    aString += QString::number(lcdWidth/2 - 3) + " ";
     1698    if (init)
     1699        aString += "11";
     1700    else
     1701        aString += time.at(1);
     1702    sendToServer(aString);
     1703
     1704    aString = "widget_set Time d2 ";
     1705    aString += QString::number(lcdWidth/2 + 1) + " ";
     1706    if (init)
     1707        aString += "11";
     1708    else
     1709        aString += time.at(3);
     1710    sendToServer(aString);
     1711
     1712    aString = "widget_set Time d3 ";
     1713    aString += QString::number(lcdWidth/2 + 4) + " ";
     1714    if (init)
     1715        aString += "11";
     1716    else
     1717        aString += time.at(4);
     1718    sendToServer(aString);
     1719
     1720    aString = "widget_set Time sep ";
     1721    aString += QString::number(lcdWidth/2);
     1722    if (timeFlash) {    // 10 means: colon
     1723        aString += " 10";
     1724        timeFlash = false;
     1725    }
     1726    else {
     1727        aString += " 11";
     1728        timeFlash = true;
     1729    }   
     1730    sendToServer(aString);
     1731
     1732}
     1733
     1734
    16701735void LCDProcClient::outputTime()
    16711736{
    16721737    if (isRecording)
     
    16741739    else
    16751740        outputCenteredText("Time", "", "topWidget", 1);
    16761741
     1742    if (lcd_bigclock)
     1743        dobigclock(0);
     1744    else
     1745        dostdclock();
     1746
     1747}
     1748
     1749void LCDProcClient::dostdclock()
     1750{
    16771751    QString aString;
    16781752    int x, y;
    16791753   
     
    20942168   
    20952169    sendToServer("widget_del Time timeWidget");
    20962170    sendToServer("widget_del Time topWidget");
     2171    sendToServer("widget_del Time d0");
     2172    sendToServer("widget_del Time d1");
     2173    sendToServer("widget_del Time sep");
     2174    sendToServer("widget_del Time d2");
     2175    sendToServer("widget_del Time d3");
    20972176    sendToServer("screen_del Time");
    20982177   
    20992178    sendToServer("widget_del RecStatus textWidget1");
  • programs/mythlcdserver/lcdprocclient.h

     
    7272    void checkConnections();       // check connections to LCDd and mythbackend
    7373                                   // every 10 seconds
    7474
     75    void dobigclock(bool);         // Large display
     76    void dostdclock();             // Small display
    7577    void outputTime();             // Fire from a timer
    7678    void outputMusic();            // Short timer (equalizer)
    7779    void outputChannel();          // Longer timer (progress bar)
     
    219221    bool lcd_showrecstatus;
    220222    bool lcd_backlighton;
    221223    bool lcd_heartbeaton;
     224    bool lcd_bigclock;
    222225    int  lcd_popuptime;   
    223226    QString lcd_showmusic_items;
    224227    QString lcd_keystring;