Source Code (Use browser search to find items of interest.)

Class Index

kicker'Clock (./kdebase/kicker/internalapplets/koolclock/clock.h:12)

class Clock : public QLCDNumber
{
    Q_OBJECT
public:
    Clock(QWidget *parent=0, const char *name=0);
protected slots:
    void slotTimer();
protected:
    QTimer *timer;
    QString timeStr;
    bool blink;
    bool ampm;
};


kicker'Clock::Clock() (./kdebase/kicker/internalapplets/koolclock/clock.cpp:21)

Clock::Clock(QWidget *parent, const char *name)
    : QLCDNumber(parent, name)
{
    setFrameStyle(Panel | Sunken);

    KConfig *config = KGlobal::config();
    config->setGroup("koolclock");
    QString tmpStr = config->readEntry("Style", "Flat");
    if(tmpStr == "Flat")
        setSegmentStyle(QLCDNumber::Flat);
    else if(tmpStr == "Filled")
        setSegmentStyle(QLCDNumber::Filled);
    else
        setSegmentStyle(QLCDNumber::Outline);
    blink = config->readBoolEntry("Blink", false);
    ampm = config->readBoolEntry("AmPm", KGlobal::locale()->use12Clock());
    QColorGroup cg = colorGroup();
    QColor color = config->readColorEntry("LCDForeground", &Qt::green);
    cg.setColor(QColorGroup::Foreground, color);
    color = config->readColorEntry("LCDBackground", &Qt::black);
    cg.setColor(QColorGroup::Background, color);
    setPalette(QPalette(cg, cg, cg));

    timer = new QTimer(this);
    connect(timer, SIGNAL(timeout()), this, SLOT(slotTimer()));
    slotTimer();
    timer->start(1000);
}


kicker'Clock::slotTimer() (./kdebase/kicker/internalapplets/koolclock/clock.cpp:50)

void Clock::slotTimer()
{
    static bool colon = true;
    QString newStr;
    int h = QTime::currentTime().hour();
    if(ampm) {
      if(h > 12)
        h -= 12;
      else if(h == 0)
        h = 12;
    }

    if(colon)
        newStr.sprintf("%02d:%02d", h, QTime::currentTime().minute());
    else
        newStr.sprintf("%02d %02d", h, QTime::currentTime().minute());

    if(newStr != timeStr){
        timeStr = newStr;
        display(timeStr);
    }
    if(blink)
        colon = !colon;
}