10#include "datesensor.h"
12#include <tqapplication.h>
13DateSensor::DateSensor(
int interval ) : Sensor( interval )
17DateSensor::~DateSensor()
21void DateSensor::update()
23 TQDateTime qdt = TQDateTime::currentDateTime();
28 TQObjectListIt it( *objList );
32 meter = sp->getMeter();
33 format = sp->getParam(
"FORMAT");
35 if (format.length() == 0 )
39 meter->setValue(qdt.toString(format));
44void DateSensor::slotCalendarDeleted()
51DatePicker::DatePicker(TQWidget *parent)
52 : TQVBox( parent, 0, WType_TopLevel | WDestructiveClose |
53 WStyle_Customize | WStyle_StaysOnTop | WStyle_NoBorder )
55 setFrameStyle( TQFrame::PopupPanel | TQFrame::Raised );
57 picker =
new KDatePicker(
this);
58 picker->setCloseButton(
true);
65void DatePicker::keyReleaseEvent(TQKeyEvent *e)
67 TQVBox::keyReleaseEvent(e);
68 if (e->key() == TQt::Key_Escape)
72void DateSensor::toggleCalendar(TQMouseEvent *ev)
74 TQObjectListIt it(*objList);
78 Meter *meter = sp->getMeter();
79 TQString width = sp->getParam(
"CALWIDTH");
80 TQString height = sp->getParam(
"CALHEIGHT");
82 TQRect rect(meter->getX(),meter->getY(),width.toInt(), height.toInt());
83 if (rect.contains( ev->x(), ev->y() ))
88 cal =
new DatePicker(0);
90 connect(cal, TQ_SIGNAL(destroyed()), TQ_SLOT(slotCalendarDeleted()));
91 TQPoint c = (TQPoint(ev->x(), ev->y()));
93 int w = cal->sizeHint().width();
94 int h = cal->sizeHint().height();
97 TQRect deskR = TQApplication::desktop()->screenGeometry(TQApplication::desktop()->screenNumber(c));
100 if (c.y()+h > deskR.bottom()) c.setY(deskR.bottom()-h-1);
101 if (c.x()+w > deskR.right()) c.setX(deskR.right()-w-1);
116void DateSensor::mousePressEvent(TQMouseEvent *ev)
118 switch (ev->button())
120 case TQt::LeftButton:
129#include "datesensor.moc"