tdeui
kdatetimewidget.cpp
00001 #include <tqlayout.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(TQWidget * parent, const char * name)
00018 : TQWidget(parent, name)
00019 {
00020 init();
00021 }
00022
00023 KDateTimeWidget::KDateTimeWidget(const TQDateTime & datetime,
00024 TQWidget * parent, const char * name)
00025 : TQWidget(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 TQHBoxLayout *layout = new TQHBoxLayout(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, TQT_SIGNAL(changed(TQDate)),
00048 TQT_SLOT(slotValueChanged()));
00049 connect(d->timeWidget, TQT_SIGNAL(valueChanged(const TQTime &)),
00050 TQT_SLOT(slotValueChanged()));
00051 }
00052
00053 void KDateTimeWidget::setDateTime(const TQDateTime & datetime)
00054 {
00055 d->dateWidget->setDate(TQT_TQDATE_OBJECT(datetime.date()));
00056 d->timeWidget->setTime(TQT_TQTIME_OBJECT(datetime.time()));
00057 }
00058
00059 TQDateTime KDateTimeWidget::dateTime() const
00060 {
00061 return TQDateTime(d->dateWidget->date(), d->timeWidget->time());
00062 }
00063
00064 void KDateTimeWidget::slotValueChanged()
00065 {
00066 TQDateTime 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"