summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/datebook.cpp85
-rw-r--r--core/pim/datebook/datebook.h4
-rw-r--r--core/pim/datebook/datebookweeklst.cpp4
-rw-r--r--core/pim/datebook/datebookweeklst.h4
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);