-rw-r--r-- | core/pim/datebook/datebook.cpp | 85 | ||||
-rw-r--r-- | core/pim/datebook/datebook.h | 4 | ||||
-rw-r--r-- | core/pim/datebook/datebookweeklst.cpp | 4 | ||||
-rw-r--r-- | core/pim/datebook/datebookweeklst.h | 4 |
4 files changed, 55 insertions, 42 deletions
diff --git a/core/pim/datebook/datebook.cpp b/core/pim/datebook/datebook.cpp index 9880e2d..92dbdc8 100644 --- a/core/pim/datebook/datebook.cpp +++ b/core/pim/datebook/datebook.cpp @@ -165,13 +165,12 @@ DateBook::DateBook( QWidget *parent, const char *, WFlags f ) a->addTo( settings ); QPopupMenu *default_view = new QPopupMenu(this); settings->insertItem( tr( "Default View" ),default_view ); default_view->setCheckable(TRUE); - Config config("DateBook"); config.setGroup("Main"); int current=config.readNumEntry("defaultview", DAY); QActionGroup *ag = new QActionGroup(this); a = new QAction( tr( "Day" ), QString::null, 0, 0, 0, true ); @@ -309,49 +308,62 @@ QDate DateBook::currentDate() d = monthView->selectedDate(); } return d; } -void DateBook::viewDay() -{ - initDay(); - dayAction->setOn( TRUE ); - QDate d = currentDate(); - dayView->setDate( d ); - views->raiseWidget( dayView ); - dayView->redraw(); +void DateBook::view(int v, const QDate &d) { + if (v==DAY) { + initDay(); + dayAction->setOn( TRUE ); + dayView->setDate( d ); + views->raiseWidget( dayView ); + dayView->redraw(); + } else if (v==WEEK) { + initWeek(); + weekAction->setOn( TRUE ); + weekView->setDate( d ); + views->raiseWidget( weekView ); + weekView->redraw(); + } else if (v==WEEKLST) { + initWeekLst(); + weekLstAction->setOn( TRUE ); + weekLstView->setDate(d); + views->raiseWidget( weekLstView ); + weekLstView->redraw(); + } else if (v==MONTH) { + initMonth(); + monthAction->setOn( TRUE ); + monthView->setDate( d.year(), d.month(), d.day() ); + views->raiseWidget( monthView ); + monthView->redraw(); + } } -void DateBook::viewWeek() -{ - initWeek(); - weekAction->setOn( TRUE ); - QDate d = currentDate(); - weekView->setDate( d ); - views->raiseWidget( weekView ); - weekView->redraw(); +void DateBook::viewDefault(const QDate &d) { + Config config("DateBook"); + config.setGroup("Main"); + int current=config.readNumEntry("defaultview", DAY); + + view(current,d); +} + +void DateBook::viewDay() { + view(DAY,currentDate()); +} + +void DateBook::viewWeek() { + view(WEEK,currentDate()); } void DateBook::viewWeekLst() { - initWeekLst(); - weekLstAction->setOn( TRUE ); - QDate d=currentDate(); - weekLstView->setDate(d); - views->raiseWidget( weekLstView ); - weekLstView->redraw(); + view(WEEKLST,currentDate()); } -void DateBook::viewMonth() -{ - initMonth(); - monthAction->setOn( TRUE ); - QDate d = currentDate(); - monthView->setDate( d.year(), d.month(), d.day() ); - views->raiseWidget( monthView ); - monthView->redraw(); +void DateBook::viewMonth() { + view(MONTH,currentDate()); } void DateBook::editEvent( const Event &e ) { if (syncing) { QMessageBox::warning( this, tr("Calendar"), @@ -415,16 +427,14 @@ void DateBook::addEvent( const Event &e ) initDay(); dayView->setDate( d ); } void DateBook::showDay( int year, int month, int day ) { - initDay(); - dayView->setDate( year, month, day ); - views->raiseWidget( dayView ); - dayAction->setOn( TRUE ); + QDate d(year, month, day); + view(DAY,d); } void DateBook::initDay() { if ( !dayView ) { dayView = new DateBookDay( ampm, onMonday, db, views, "day view" ); @@ -686,15 +696,14 @@ void DateBook::changeWeek( bool m ) store though for widgets we haven't made yet */ onMonday = m; } void DateBook::slotToday() { - // we need to view today - QDate dt = QDate::currentDate(); - showDay( dt.year(), dt.month(), dt.day() ); + // we need to view today using default view + viewDefault(QDate::currentDate()); } void DateBook::closeEvent( QCloseEvent *e ) { if(syncing) { /* no need to save, did that at flush */ diff --git a/core/pim/datebook/datebook.h b/core/pim/datebook/datebook.h index fcdbfec..2ffcdbe 100644 --- a/core/pim/datebook/datebook.h +++ b/core/pim/datebook/datebook.h @@ -49,12 +49,14 @@ signals: protected: QDate currentDate(); void timerEvent( QTimerEvent *e ); void closeEvent( QCloseEvent *e ); + void view(int v, const QDate &d); + public slots: void flush(); void reload(); private slots: void fileNew(); @@ -67,12 +69,14 @@ private slots: void appMessage(const QCString& msg, const QByteArray& data); // handle key events in the day view... void slotNewEventFromKey( const QString &str ); void slotFind(); void slotDoFind( const QString &, const QDate &, bool, bool, int ); + void viewDefault(const QDate &d); + void viewDay(); void viewWeek(); void viewWeekLst(); void viewMonth(); void showDay( int y, int m, int d ); diff --git a/core/pim/datebook/datebookweeklst.cpp b/core/pim/datebook/datebookweeklst.cpp index 05e36be..dc141c0 100644 --- a/core/pim/datebook/datebookweeklst.cpp +++ b/core/pim/datebook/datebookweeklst.cpp @@ -43,13 +43,13 @@ DateBookWeekLstHeader::DateBookWeekLstHeader(bool onM, QWidget* parent, connect(back, SIGNAL(clicked()), this, SLOT(prevWeek())); connect(forward, SIGNAL(clicked()), this, SLOT(nextWeek())); connect(labelWeek, SIGNAL(clicked()), this, SLOT(pickDate())); onMonday=onM; } DateBookWeekLstHeader::~DateBookWeekLstHeader(){} -void DateBookWeekLstHeader::setDate(QDate d) { +void DateBookWeekLstHeader::setDate(const QDate &d) { date=d; int year,week; calcWeek(d,week,year,onMonday); labelWeek->setText("W: " + QString::number(week)); @@ -239,13 +239,13 @@ DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB, layout->addWidget(scroll); view=NULL; } -void DateBookWeekLst::setDate( QDate &d ) { +void DateBookWeekLst::setDate(const QDate &d) { int w,y; calcWeek(d,w,y,onMonday); year=y; _week=w; header->setDate(date()); } diff --git a/core/pim/datebook/datebookweeklst.h b/core/pim/datebook/datebookweeklst.h index d2a07cc..39c956d 100644 --- a/core/pim/datebook/datebookweeklst.h +++ b/core/pim/datebook/datebookweeklst.h @@ -19,13 +19,13 @@ class DateBookWeekLstHeader: public DateBookWeekLstHeaderBase { Q_OBJECT public: DateBookWeekLstHeader(bool onM, QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); ~DateBookWeekLstHeader(); - void setDate(QDate d); + void setDate(const QDate &d); public slots: void nextWeek(); void prevWeek(); void pickDate(); void setDate(int y, int m, int d); @@ -94,13 +94,13 @@ class DateBookWeekLst : public QWidget public: DateBookWeekLst( bool ampm, bool onM, DateBookDB *newDB, QWidget *parent = 0, const char *name = 0 ); void setDate( int y, int w ); - void setDate( QDate &d ); + void setDate(const QDate &d ); int week() const { return _week; }; QDate date() const; public slots: void redraw(); void dateChanged(int y, int w); |