kdatetimewidget.cpp

00001 #include <qlayout.h>
00002 
00003 #include "kdatewidget.h"
00004 #include "kdebug.h"
00005 #include "kdialog.h"
00006 #include "ktimewidget.h"
00007 
00008 #include "kdatetimewidget.h"
00009 
00010 class KDateTimeWidget::KDateTimeWidgetPrivate
00011 {
00012 public:
00013   KDateWidget * dateWidget;
00014   KTimeWidget * timeWidget;
00015 };
00016 
00017 KDateTimeWidget::KDateTimeWidget(QWidget * parent, const char * name)
00018   : QWidget(parent, name)
00019 {
00020   init();
00021 }
00022 
00023 KDateTimeWidget::KDateTimeWidget(const QDateTime & datetime,
00024                  QWidget * parent, const char * name)
00025   : QWidget(parent, name)
00026 {
00027   init();
00028 
00029   setDateTime(datetime);
00030 }
00031 
00032 KDateTimeWidget::~KDateTimeWidget()
00033 {
00034   delete d;
00035 }
00036 
00037 void KDateTimeWidget::init()
00038 {
00039   d = new KDateTimeWidgetPrivate;
00040 
00041   QHBoxLayout *layout = new QHBoxLayout(this, 0, KDialog::spacingHint());
00042   layout->setAutoAdd(true);
00043 
00044   d->dateWidget = new KDateWidget(this);
00045   d->timeWidget = new KTimeWidget(this);
00046 
00047   connect(d->dateWidget, SIGNAL(changed(QDate)),
00048           SLOT(slotValueChanged()));
00049   connect(d->timeWidget, SIGNAL(valueChanged(const QTime &)),
00050           SLOT(slotValueChanged()));
00051 }
00052 
00053 void KDateTimeWidget::setDateTime(const QDateTime & datetime)
00054 {
00055   d->dateWidget->setDate(datetime.date());
00056   d->timeWidget->setTime(datetime.time());
00057 }
00058 
00059 QDateTime KDateTimeWidget::dateTime() const
00060 {
00061   return QDateTime(d->dateWidget->date(), d->timeWidget->time());
00062 }
00063 
00064 void KDateTimeWidget::slotValueChanged()
00065 {
00066   QDateTime datetime(d->dateWidget->date(),
00067                      d->timeWidget->time());
00068 
00069   kdDebug() << "slotValueChanged(): " << datetime << "\n";
00070 
00071   emit valueChanged(datetime);
00072 }
00073 
00074 #include "kdatetimewidget.moc"
KDE Home | KDE Accessibility Home | Description of Access Keys