~ubuntu-branches/debian/sid/kdevelop/sid

« back to all changes in this revision

Viewing changes to lib/widgets/propeditor/pdatetimeedit.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jeremy Lainé
  • Date: 2006-05-23 18:39:42 UTC
  • Revision ID: james.westby@ubuntu.com-20060523183942-hucifbvh68k2bwz7
Tags: upstream-3.3.2
Import upstream version 3.3.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************
 
2
 *   Copyright (C) 2004 by Alexander Dymo                                  *
 
3
 *   cloudtemple@mskat.net                                                 *
 
4
 *                                                                         *
 
5
 *   This program is free software; you can redistribute it and/or modify  *
 
6
 *   it under the terms of the GNU Library General Public License as       *
 
7
 *   published by the Free Software Foundation; either version 2 of the    *
 
8
 *   License, or (at your option) any later version.                       *
 
9
 *                                                                         *
 
10
 *   This program is distributed in the hope that it will be useful,       *
 
11
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 
12
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 
13
 *   GNU General Public License for more details.                          *
 
14
 *                                                                         *
 
15
 *   You should have received a copy of the GNU Library General Public     *
 
16
 *   License along with this program; if not, write to the                 *
 
17
 *   Free Software Foundation, Inc.,                                       *
 
18
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 
19
 ***************************************************************************/
 
20
#include "pdatetimeedit.h"
 
21
 
 
22
#include <qdatetimeedit.h>
 
23
#include <qpainter.h>
 
24
#include <qlayout.h>
 
25
 
 
26
namespace PropertyLib{
 
27
 
 
28
PDateTimeEdit::PDateTimeEdit(MultiProperty* property, QWidget* parent, const char* name): PropertyWidget(property, parent, name)
 
29
{
 
30
    QHBoxLayout *l = new QHBoxLayout(this, 0, 0);
 
31
    m_edit = new QDateTimeEdit(this);
 
32
    m_edit->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
 
33
    l->addWidget(m_edit);
 
34
    
 
35
    connect(m_edit, SIGNAL(valueChanged(const QDateTime&)), this, SLOT(updateProperty(const QDateTime&)));
 
36
}
 
37
 
 
38
QVariant PDateTimeEdit::value() const
 
39
{
 
40
     return QVariant(m_edit->dateTime());
 
41
}
 
42
 
 
43
void PDateTimeEdit::drawViewer(QPainter* p, const QColorGroup& cg, const QRect& r, const QVariant& value)
 
44
{
 
45
    p->setPen(Qt::NoPen);
 
46
    p->setBrush(cg.background());
 
47
    p->drawRect(r);
 
48
    p->drawText(r, Qt::AlignLeft | Qt::AlignVCenter | Qt::SingleLine, value.toDateTime().toString(Qt::LocalDate));
 
49
}
 
50
 
 
51
void PDateTimeEdit::setValue(const QVariant& value, bool emitChange)
 
52
{
 
53
    disconnect(m_edit, SIGNAL(valueChanged(const QDateTime&)), this, SLOT(updateProperty(const QDateTime&)));
 
54
    m_edit->setDateTime(value.toDateTime());
 
55
    connect(m_edit, SIGNAL(valueChanged(const QDateTime&)), this, SLOT(updateProperty(const QDateTime&)));
 
56
    if (emitChange)
 
57
        emit propertyChanged(m_property, value);
 
58
}
 
59
 
 
60
void PDateTimeEdit::updateProperty(const QDateTime &val)
 
61
{
 
62
    emit propertyChanged(m_property, QVariant(val));
 
63
}
 
64
 
 
65
}
 
66
 
 
67
#ifndef PURE_QT
 
68
#include "pdatetimeedit.moc"
 
69
#endif