]> Git trees. - libqmvoc.git/commitdiff
API changes on ExtDateTimeEdit:
authorPino Toscano <pino@kde.org>
Sun, 18 Feb 2007 13:09:42 +0000 (13:09 +0000)
committerPino Toscano <pino@kde.org>
Sun, 18 Feb 2007 13:09:42 +0000 (13:09 +0000)
- move all the private stuff (members, slots and methods) into a Private class
- signals -> Q_SIGNALS
- make a pair of constructors explicit

svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=634826

extdate/extdatetimeedit.cpp
extdate/extdatetimeedit.h

index 337bd64b014570b9d7f070fadb3c36b85015ec37..41947dc5ee75de864aae0a3bade3fe96357617d5 100644 (file)
@@ -253,39 +253,87 @@ void ExtDateEdit::focusInEvent( QFocusEvent *e ) {
        highlightActiveField();
 }
 
+class ExtDateTimeEdit::Private
+{
+public:
+    Private(ExtDateTimeEdit *qq, const ExtDateTime& dt);
+
+    // slots
+    void emitDateTimeChanged();
+
+    ExtDateTimeEdit *q;
+    QTimeEdit *m_TimeEdit;
+    ExtDateEdit *m_DateEdit;
+};
+
 ExtDateTimeEdit::ExtDateTimeEdit( const ExtDateTime &dt, QWidget *parent )
-: QFrame( parent ) {
-       init( dt );
+   : QFrame( parent ), d( new Private( this, dt ) )
+{
 }
 
 ExtDateTimeEdit::ExtDateTimeEdit( const ExtDate &date, const QTime &time, QWidget *parent )
-: QFrame( parent ) {
-       init( ExtDateTime( date, time ) );
+   : QFrame( parent ), d( new Private( this, ExtDateTime( date, time ) ) )
+{
 }
 
-ExtDateTimeEdit::ExtDateTimeEdit( QWidget *p )
-: QFrame( p ) {
-       init( ExtDateTime::currentDateTime() );
+ExtDateTimeEdit::ExtDateTimeEdit( QWidget *parent )
+   : QFrame( parent ), d( new Private( this, ExtDateTime::currentDateTime() ) )
+{
 }
 
 ExtDateTimeEdit::~ExtDateTimeEdit() {
+       delete d;
 }
 
-void ExtDateTimeEdit::init( const ExtDateTime &dt ) {
-       QHBoxLayout *hlay = new QHBoxLayout( this );
+ExtDateTimeEdit::Private::Private( ExtDateTimeEdit *qq, const ExtDateTime &dt )
+   : q( qq )
+{
+       QHBoxLayout *hlay = new QHBoxLayout( q );
        hlay->setMargin( 0 );
-       m_DateEdit = new ExtDateEdit( dt.date(), this );
-       m_TimeEdit = new QTimeEdit( dt.time(), this );
+       m_DateEdit = new ExtDateEdit( dt.date(), q );
+       m_TimeEdit = new QTimeEdit( dt.time(), q );
 
        hlay->addWidget( m_DateEdit );
        hlay->addWidget( m_TimeEdit );
 
-       connect( m_DateEdit, SIGNAL( dateChanged( const ExtDate & ) ), this, SLOT( slotEmitDateTimeChanged() ) );
-       connect( m_TimeEdit, SIGNAL( timeChanged( const QTime & ) ), this, SLOT( slotEmitDateTimeChanged() ) );
+       connect( m_DateEdit, SIGNAL( dateChanged( const ExtDate & ) ), q, SLOT( emitDateTimeChanged() ) );
+       connect( m_TimeEdit, SIGNAL( timeChanged( const QTime & ) ), q, SLOT( emitDateTimeChanged() ) );
 }
 
-void ExtDateTimeEdit::slotEmitDateTimeChanged() {
-       emit dateTimeChanged( dateTime() );
+ExtDate ExtDateTimeEdit::date() const
+{
+       return d->m_DateEdit->date();
+}
+
+void ExtDateTimeEdit::setDate( const ExtDate &date )
+{
+       d->m_DateEdit->setDate( date );
+}
+
+QTime ExtDateTimeEdit::time() const
+{
+       return d->m_TimeEdit->time();
+}
+
+void ExtDateTimeEdit::setTime( const QTime &t )
+{
+       d->m_TimeEdit->setTime( t );
+}
+
+ExtDateTime ExtDateTimeEdit::dateTime() const
+{
+       return ExtDateTime( date(), time() );
+}
+
+void ExtDateTimeEdit::setDateTime( const ExtDateTime &dt )
+{
+       setDate( dt.date() );
+       setTime( dt.time() );
+}
+
+void ExtDateTimeEdit::Private::emitDateTimeChanged()
+{
+       emit q->dateTimeChanged( q->dateTime() );
 }
 
 edLineEdit::edLineEdit( ExtDateEdit *parent ) : QLineEdit( parent ) {
index 2cfba7b61e0716da68460aa76d45e043ff52a783..5946551af056154ea3ea983c487ea2f3bfa3ed26 100644 (file)
@@ -244,7 +244,7 @@ class EXTDATE_EXPORT ExtDateTimeEdit : public QFrame {
        *to be displayed (defaults to the system's current date and time)
        *@p p pointer to the parent widget (default: 0)
        */
-       ExtDateTimeEdit( const ExtDateTime &dt = ExtDateTime::currentDateTime(), QWidget *p=0 );
+       explicit ExtDateTimeEdit( const ExtDateTime &dt = ExtDateTime::currentDateTime(), QWidget *parent = 0 );
 
 /**
        *@short Constructor. Displays the given Date and Time.
@@ -260,7 +260,7 @@ class EXTDATE_EXPORT ExtDateTimeEdit : public QFrame {
 /**
        *@short Constructor for UI files (contains only a parent widget argument)
        */
-       ExtDateTimeEdit( QWidget *p );
+       explicit ExtDateTimeEdit( QWidget *parent );
 
 /**
        *@short Default Destructor. Empty.
@@ -271,7 +271,7 @@ class EXTDATE_EXPORT ExtDateTimeEdit : public QFrame {
        *@return the internal ExtDate value
        *@see setDate()
        */
-               ExtDate date() const { return m_DateEdit->date(); }
+               ExtDate date() const;
 /**
        *@short set the internal ExtDate value, and display the new 
        *date in the date spinbox.
@@ -279,13 +279,13 @@ class EXTDATE_EXPORT ExtDateTimeEdit : public QFrame {
        *@p d reference to the new ExtDate
        *@see date()
        */
-               void setDate( const ExtDate &date ) { m_DateEdit->setDate( date ); }
+               void setDate( const ExtDate &date );
 
 /**
        *@return the internal QTime value
        *@see setTime()
        */
-               QTime time() const { return m_TimeEdit->time(); }
+               QTime time() const;
 /**
        *@short set the internal QTime value, and display the new 
        *time in the time spinbox.
@@ -293,13 +293,13 @@ class EXTDATE_EXPORT ExtDateTimeEdit : public QFrame {
        *@p t reference to the new QTime
        *@see time()
        */
-               void setTime( const QTime &t ) { m_TimeEdit->setTime( t ); }
+               void setTime( const QTime &t );
 
 /**
        *@return the ExtDateTime value displayed in the date and time boxes
        *@see setDateTime()
        */
-               ExtDateTime dateTime() const { return ExtDateTime( date(), time() ); }
+               ExtDateTime dateTime() const;
 /**
        *@short set the internal ExtDate and QTime values, and display the new 
        *values in their respective spinboxes.
@@ -307,25 +307,18 @@ class EXTDATE_EXPORT ExtDateTimeEdit : public QFrame {
        *@p dt reference to the new ExtDateTime
        *@see dateTime()
        */
-               void setDateTime( const ExtDateTime &dt ) { setDate( dt.date() ); setTime(
-dt.time() ); }
+               void setDateTime( const ExtDateTime &dt );
 
-       signals:
+       Q_SIGNALS:
                void dateTimeChanged( const ExtDateTime &dt );
 
-       private slots:
-               void slotEmitDateTimeChanged();
-
        private:
-       /**
-        *@short Initialize the ExtDate edit.
-        *@internal
-        *@note This function is called in each constructor.
-        */
-               void init( const ExtDateTime &dt );
-               
-               QTimeEdit *m_TimeEdit;
-               ExtDateEdit *m_DateEdit;
+               class Private;
+               Private *const d;
+
+               Q_DISABLE_COPY( ExtDateTimeEdit )
+
+               Q_PRIVATE_SLOT( d, void emitDateTimeChanged() )
 };
 
 #endif  //EXTDATETIMEEDIT_H