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"