summaryrefslogtreecommitdiff
path: root/core/pim/datebook/modules/weeklst/datebookweeklst.cpp
Side-by-side diff
Diffstat (limited to 'core/pim/datebook/modules/weeklst/datebookweeklst.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/pim/datebook/modules/weeklst/datebookweeklst.cpp61
1 files changed, 41 insertions, 20 deletions
diff --git a/core/pim/datebook/modules/weeklst/datebookweeklst.cpp b/core/pim/datebook/modules/weeklst/datebookweeklst.cpp
index 47bc597..6556373 100644
--- a/core/pim/datebook/modules/weeklst/datebookweeklst.cpp
+++ b/core/pim/datebook/modules/weeklst/datebookweeklst.cpp
@@ -29,2 +29,3 @@ DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDBHoliday *newDB,
setFocusPolicy(StrongFocus);
+ dateset = false;
layout = new QVBoxLayout( this );
@@ -41,3 +42,3 @@ DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDBHoliday *newDB,
- view=NULL;
+ m_CurrentView=NULL;
Config config("DateBook");
@@ -47,2 +48,3 @@ DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDBHoliday *newDB,
}
+
DateBookWeekLst::~DateBookWeekLst(){
@@ -60,4 +62,11 @@ void DateBookWeekLst::setDbl(bool on) {
dbl=on;
- redraw();
+ bool displayed = false;
+ if (m_CurrentView) {
+ displayed = m_CurrentView->toggleDoubleView(on);
+ }
+ if (!displayed||dbl) {
+ getEvents();
+ }
}
+
void DateBookWeekLst::redraw() {getEvents();}
@@ -84,30 +93,40 @@ QDate DateBookWeekLst::weekDate() const
void DateBookWeekLst::getEvents() {
+ if (!dateset) return;
QDate start = weekDate(); //date();
QDate stop = start.addDays(6);
+ QDate start2;
+
+
QValueList<EffectiveEvent> el = db->getEffectiveEvents(start, stop);
+ QValueList<EffectiveEvent> el2;
- setUpdatesEnabled(false);
- if (view) delete view;
if (dbl) {
- QDate start2=start.addDays(7);
+ start2 = start.addDays(7);
stop=start2.addDays(6);
- QValueList<EffectiveEvent> el2 = db->getEffectiveEvents(start2, stop);
- view=new DateBookWeekLstDblView(el,el2,start,bStartOnMonday,scroll);
+ el2 = db->getEffectiveEvents(start2, stop);
+ }
+ if (!m_CurrentView) {
+ if (dbl) {
+ m_CurrentView=new DateBookWeekLstDblView(el,el2,start,bStartOnMonday,scroll);
} else {
- view=new DateBookWeekLstView(el,start,bStartOnMonday,scroll);
+ m_CurrentView=new DateBookWeekLstDblView(el,start,bStartOnMonday,scroll);
}
-
- connect (view, SIGNAL(editEvent(const Event&)), this, SIGNAL(editEvent(const Event&)));
- connect (view, SIGNAL(duplicateEvent(const Event &)), this, SIGNAL(duplicateEvent(const Event &)));
- connect (view, SIGNAL(removeEvent(const Event &)), this, SIGNAL(removeEvent(const Event &)));
- connect (view, SIGNAL(beamEvent(const Event &)), this, SIGNAL(beamEvent(const Event &)));
- connect (view, SIGNAL(redraw()), this, SLOT(redraw()));
- connect (view, SIGNAL(showDate(int,int,int)), this, SIGNAL(showDate(int,int,int)));
- connect (view, SIGNAL(addEvent(const QDateTime&,const QDateTime&,const QString&,const QString&)),
+ m_CurrentView->setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed));
+ connect (m_CurrentView, SIGNAL(editEvent(const Event&)), this, SIGNAL(editEvent(const Event&)));
+ connect (m_CurrentView, SIGNAL(duplicateEvent(const Event &)), this, SIGNAL(duplicateEvent(const Event &)));
+ connect (m_CurrentView, SIGNAL(removeEvent(const Event &)), this, SIGNAL(removeEvent(const Event &)));
+ connect (m_CurrentView, SIGNAL(beamEvent(const Event &)), this, SIGNAL(beamEvent(const Event &)));
+ connect (m_CurrentView, SIGNAL(redraw()), this, SLOT(redraw()));
+ connect (m_CurrentView, SIGNAL(showDate(int,int,int)), this, SIGNAL(showDate(int,int,int)));
+ connect (m_CurrentView, SIGNAL(addEvent(const QDateTime&,const QDateTime&,const QString&,const QString&)),
this, SIGNAL(addEvent(const QDateTime&,const QDateTime&,const QString&,const QString&)));
-
- scroll->addChild(view);
- view->show();
+ scroll->addChild(m_CurrentView);
+ } else {
+ if (dbl) {
+ m_CurrentView->setEvents(el,el2,start,bStartOnMonday);
+ } else {
+ m_CurrentView->setEvents(el,start,bStartOnMonday);
+ }
+ }
scroll->updateScrollBars();
- setUpdatesEnabled(true);
}
@@ -115,3 +134,5 @@ void DateBookWeekLst::getEvents() {
void DateBookWeekLst::dateChanged(QDate &newdate) {
+ dateset = true;
bdate=newdate;
+ odebug << "Date changed " << oendl;
getEvents();