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"