Ticket #6103: bigclock_v3.patch

File bigclock_v3.patch, 3.7 KB (added by J-e-f-f-A (junk_inbox@…, 12 years ago)

v3 - fixes issues found by paulh ;-)

  • programs/mythlcdserver/lcdprocclient.cpp

     
    426426        sendToServer("widget_add Time sep num");
    427427        sendToServer("widget_add Time d2 num");
    428428        sendToServer("widget_add Time d3 num");
    429         dobigclock(1);
     429        sendToServer("widget_add Time ampm string");
     430        sendToServer("widget_add Time dot string");
    430431    }
    431432    else
    432433    {
     
    17791780
    17801781void LCDProcClient::dobigclock (bool init)
    17811782{
    1782     // kludge ahead: use illegal number to clear num display type
    17831783    QString aString;
     1784    QString time = QTime::currentTime().toString(timeformat);
     1785    int toffset = 0;
    17841786
    1785     QString time = QTime::currentTime().toString("hh:mm");
    1786     // each char is 3 wide, colon is 1
     1787    // kludge ahead: use illegal number (11) to clear num display type
     1788   
     1789    // kluge - Uses string length to determine time format for parsing
     1790    // 1:00     = 4 characters  =  24-hour format, 1 digit hour
     1791    // 12:00    = 5 characters  =  24-hour format, 2 digit hour
     1792    // 1:00 am  = 7 characters  =  12-hour format, 1 digit hour
     1793    // 12:00 am = 8 characters  =  12-hour format, 2 digit hour
     1794    if ((time.length()==8) || (time.length()==5))
     1795       toffset = 1;
     1796
     1797    // if 12-hour clock, add AM/PM indicator to end of the 2nd line
     1798    if (time.length()>6)
     1799    {
     1800       aString = time.at(5+toffset);
     1801       aString += time.at(6+toffset);
     1802    }
     1803    else
     1804    {
     1805       aString = "  ";
     1806    }
     1807    outputRightText("Time", aString, "ampm", 2);
     1808   
     1809    // Add Hour 10's Digit
    17871810    aString = "widget_set Time d0 ";
    1788     aString += QString::number(lcdWidth/2 - 7) + " ";
    1789     if (init)
     1811    aString += QString::number(lcdWidth/2 - 6) + " ";   
     1812    if (toffset==0)
    17901813        aString += "11";
    17911814    else
    1792         aString += time.at(0);
     1815        aString += time.at(0); 
    17931816    sendToServer(aString);
    17941817
     1818    // Add Hour 1's Digit
    17951819    aString = "widget_set Time d1 ";
    1796     aString += QString::number(lcdWidth/2 - 4) + " ";
    1797     if (init)
    1798         aString += "11";
    1799     else
    1800         aString += time.at(1);
     1820    aString += QString::number(lcdWidth/2 - 3) + " "; 
     1821    aString += time.at(0+toffset);
    18011822    sendToServer(aString);
    18021823
     1824    // Add the Colon (made 'solid'- now flash a dot in the corner)
     1825    aString = "widget_set Time sep ";
     1826    aString += QString::number(lcdWidth/2);
     1827    aString += " 10";       // 10 means: colon
     1828    sendToServer(aString);
     1829
     1830    // Add Minute 10's Digit
    18031831    aString = "widget_set Time d2 ";
    1804     aString += QString::number(lcdWidth/2 + 2) + " ";
    1805     if (init)
    1806         aString += "11";
    1807     else
    1808         aString += time.at(3);
     1832    aString += QString::number(lcdWidth/2 + 1) + " ";   
     1833    aString += time.at(2+toffset);
    18091834    sendToServer(aString);
    18101835
     1836    // Add Minute 1's Digit
    18111837    aString = "widget_set Time d3 ";
    1812     aString += QString::number(lcdWidth/2 + 5) + " ";
    1813     if (init)
    1814         aString += "11";
    1815     else
    1816         aString += time.at(4);
     1838    aString += QString::number(lcdWidth/2 + 4) + " ";   
     1839    aString += time.at(3+toffset);
    18171840    sendToServer(aString);
    18181841
    1819     aString = "widget_set Time sep ";
    1820     aString += QString::number(lcdWidth/2);
     1842    // Added a flashing dot in the bottom-right corner  (instead of the colon)
    18211843    if (timeFlash)
    1822     {   // 10 means: colon
    1823         aString += " 10";
     1844    {   
     1845        outputRightText("Time",".","dot",4);
    18241846        timeFlash = false;
    18251847    }
    18261848    else
    18271849    {
    1828         aString += " 11";
     1850        outputRightText("Time"," ","dot",4);
    18291851        timeFlash = true;
    18301852    }
    1831     sendToServer(aString);
    18321853}
    18331854
    1834 
    18351855void LCDProcClient::outputTime()
    18361856{
    18371857    if (lcd_bigclock)