• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

messageviewer

  • sources
  • kde-4.14
  • kdepim
  • messageviewer
  • widgets
eventdatetimewidget.cpp
Go to the documentation of this file.
1 /*
2  Copyright (c) 2014-2015 Montel Laurent <montel@kde.org>
3 
4  This program is free software; you can redistribute it and/or modify it
5  under the terms of the GNU General Public License, version 2, as
6  published by the Free Software Foundation.
7 
8  This program is distributed in the hope that it will be useful, but
9  WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  General Public License for more details.
12 
13  You should have received a copy of the GNU General Public License along
14  with this program; if not, write to the Free Software Foundation, Inc.,
15  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 */
17 
18 #include "eventdatetimewidget.h"
19 #include <KDateComboBox>
20 #include <KTimeComboBox>
21 #include <QHBoxLayout>
22 #include <QDebug>
23 
24 using namespace MessageViewer;
25 EventDateTimeWidget::EventDateTimeWidget(QWidget *parent)
26  : QWidget(parent)
27 {
28  QHBoxLayout *mainLayout = new QHBoxLayout;
29  mainLayout->setSpacing(0);
30  mainLayout->setMargin(0);
31  setLayout(mainLayout);
32  mDateEdit = new KDateComboBox;
33  mDateEdit->setObjectName(QLatin1String("eventdatecombobox"));
34  mainLayout->addWidget(mDateEdit);
35  mTimeEdit = new KTimeComboBox;
36  mTimeEdit->setObjectName(QLatin1String("eventtimecombobox"));
37  mainLayout->addWidget(mTimeEdit);
38  const KDateTime currentDateTime = KDateTime::currentDateTime(KDateTime::LocalZone);
39  setDateTime(currentDateTime);
40  connect(mDateEdit, SIGNAL(dateChanged(QDate)), this, SLOT(slotDateTimeChanged()));
41  connect(mTimeEdit, SIGNAL(timeChanged(QTime)), this, SLOT(slotDateTimeChanged()));
42  connect(mDateEdit, SIGNAL(dateEdited(QDate)), this, SLOT(slotDateTimeChanged()));
43  connect(mTimeEdit, SIGNAL(timeEdited(QTime)), this, SLOT(slotDateTimeChanged()));
44 }
45 
46 EventDateTimeWidget::~EventDateTimeWidget()
47 {
48 
49 }
50 
51 void EventDateTimeWidget::slotDateTimeChanged()
52 {
53  Q_EMIT dateTimeChanged(dateTime());
54 }
55 
56 void EventDateTimeWidget::setMinimumDateTime(const KDateTime &dtime)
57 {
58  if (dateTime() != dtime) {
59  mDateEdit->setMinimumDate(dtime.date());
60  mTimeEdit->setMinimumTime(dtime.time());
61  }
62 }
63 
64 void EventDateTimeWidget::setDateTime(const KDateTime &dTime)
65 {
66  if (dateTime() != dTime) {
67  blockSignals(true);
68  mDateEdit->setDate(dTime.date());
69  mTimeEdit->setTime(dTime.time());
70  blockSignals(false);
71  slotDateTimeChanged();
72  }
73 }
74 
75 KDateTime EventDateTimeWidget::dateTime() const
76 {
77  KDateTime dateTime = KDateTime::currentLocalDateTime();
78  dateTime.setTime(mTimeEdit->time());
79  dateTime.setDate(mDateEdit->date());
80  return dateTime;
81 }
82 
83 QDate EventDateTimeWidget::date() const
84 {
85  return mDateEdit->date();
86 }
87 
88 QTime EventDateTimeWidget::time() const
89 {
90  return mTimeEdit->time();
91 }
92 
93 void EventDateTimeWidget::setTime(const QTime &time)
94 {
95  mTimeEdit->setTime(time);
96 }
97 
98 void EventDateTimeWidget::setDate(const QDate &date)
99 {
100  mDateEdit->setDate(date);
101 }
MessageViewer::EventDateTimeWidget::setDateTime
void setDateTime(const KDateTime &dateTime)
Definition: eventdatetimewidget.cpp:64
QWidget
QHBoxLayout
MessageViewer::EventDateTimeWidget::date
QDate date() const
Definition: eventdatetimewidget.cpp:83
MessageViewer::EventDateTimeWidget::~EventDateTimeWidget
~EventDateTimeWidget()
Definition: eventdatetimewidget.cpp:46
QTime
QBoxLayout::addWidget
void addWidget(QWidget *widget, int stretch, QFlags< Qt::AlignmentFlag > alignment)
QWidget::setLayout
void setLayout(QLayout *layout)
MessageViewer::EventDateTimeWidget::dateTimeChanged
void dateTimeChanged(const KDateTime &dateTime)
MessageViewer::EventDateTimeWidget::time
QTime time() const
Definition: eventdatetimewidget.cpp:88
eventdatetimewidget.h
MessageViewer::EventDateTimeWidget::setTime
void setTime(const QTime &time)
Definition: eventdatetimewidget.cpp:93
MessageViewer::EventDateTimeWidget::EventDateTimeWidget
EventDateTimeWidget(QWidget *parent=0)
Definition: eventdatetimewidget.cpp:25
QDate
MessageViewer::EventDateTimeWidget::setMinimumDateTime
void setMinimumDateTime(const KDateTime &dateTime)
Definition: eventdatetimewidget.cpp:56
QLayout::setMargin
void setMargin(int margin)
QObject::blockSignals
bool blockSignals(bool block)
MessageViewer::EventDateTimeWidget::dateTime
KDateTime dateTime() const
Definition: eventdatetimewidget.cpp:75
QLatin1String
MessageViewer::EventDateTimeWidget::setDate
void setDate(const QDate &date)
Definition: eventdatetimewidget.cpp:98
QObject::connect
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
QBoxLayout::setSpacing
void setSpacing(int spacing)
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:32:45 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

messageviewer

Skip menu "messageviewer"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer
  • pimprint

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal