summaryrefslogtreecommitdiff
path: root/core
Side-by-side diff
Diffstat (limited to 'core') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/dateentryimpl.cpp24
-rw-r--r--core/pim/datebook/dateentryimpl.h7
2 files changed, 28 insertions, 3 deletions
diff --git a/core/pim/datebook/dateentryimpl.cpp b/core/pim/datebook/dateentryimpl.cpp
index 403378e..f2f17c6 100644
--- a/core/pim/datebook/dateentryimpl.cpp
+++ b/core/pim/datebook/dateentryimpl.cpp
@@ -29,6 +29,7 @@
#include <qpe/timestring.h>
#include <qpe/tzselect.h>
+#include <qevent.h>
#include <qcheckbox.h>
#include <qcombobox.h>
#include <qlayout.h>
@@ -63,6 +64,20 @@ DateEntry::DateEntry( bool startOnMonday, const QDateTime &start,
setFocusProxy(comboDescription);
}
+bool DateEntry::eventFilter(QObject *obj, QEvent *ev )
+{
+ if( ev->type() == QEvent::FocusIn ){
+ if( obj == comboStart ){
+ TextLabel3_2->setText( tr("Start Time" ) );
+ m_showStart= true;
+ }else if( obj == comboEnd ){
+ TextLabel3_2->setText( tr("End Time") );
+ m_showStart = false;
+ }
+ }
+ return false;
+}
+
static void addOrPick( QComboBox* combo, const QString& t )
{
// Pick an item if one excists
@@ -186,6 +201,9 @@ void DateEntry::init()
connect(timePickerStart, SIGNAL( timeChanged(const QTime &) ),
this, SLOT( startTimePicked(const QTime &) ));
editNote->setFixedVisibleLines(3);
+ // install eventFilters
+ comboEnd->installEventFilter( this );
+ comboStart->installEventFilter( this );
}
/*
@@ -304,8 +322,14 @@ void DateEntry::startTimeChanged( const QTime &t )
endTime=t.addSecs(duration);
}
void DateEntry::startTimePicked( const QTime &t ) {
+ if(m_showStart ){
startTimeChanged(t);
updateTimeEdit(true,true);
+ }else{
+ endTime = t;
+ updateTimeEdit(false, true );
+
+ }
}
/*
diff --git a/core/pim/datebook/dateentryimpl.h b/core/pim/datebook/dateentryimpl.h
index bde3119..4eb24b4 100644
--- a/core/pim/datebook/dateentryimpl.h
+++ b/core/pim/datebook/dateentryimpl.h
@@ -42,7 +42,7 @@ public:
Event event();
void setAlarmEnabled( bool alarmPreset, int presetTime, Event::SoundTypeChoice );
-
+ virtual bool eventFilter( QObject *, QEvent * );
public slots:
void endDateChanged( int, int, int );
void endTimeChanged( const QString & );
@@ -67,8 +67,9 @@ private:
QDate startDate, endDate;
QTime startTime, endTime;
Event::RepeatPattern rp;
- bool ampm;
- bool startWeekOnMonday;
+ bool ampm:1;
+ bool startWeekOnMonday:1;
+ bool m_showStart:1;
};
#endif // DATEENTRY_H