mStartDate = aStartDate;
mEndDate = aEndDate;
- mCurDate = aStartDate;
+ if (!mCurDate.isValid()) mCurDate = mStartDate;
+ else if (mCurDate < mStartDate) mCurDate = mStartDate;
+ else if (mCurDate > mEndDate) mCurDate = mEndDate;
- // QRect rect = mFontMetrics->boundingRect(mCurDate.toString("MMM dd yyyy"));
-
- if(mStartDate==mEndDate) // only one day conference
- {
- prevDayButton->setDisabled(true);
- nextDayButton->setDisabled(true);
- emit(dateChanged(mCurDate));
- }
- else
- {
- // at least 2-days conference
- prevDayButton->setDisabled(true);
- nextDayButton->setDisabled(false);
- emit(dateChanged(mCurDate));
- }
+ prevDayButton->setDisabled(mCurDate == mStartDate);
+ nextDayButton->setDisabled(mCurDate == mEndDate);
+ emit(dateChanged(mCurDate));
}
void DayNavigatorWidget::configureNavigation()
DayNavigatorWidget(QWidget *aParent = NULL);
~DayNavigatorWidget() {}
void setDates(const QDate &aStartDate, const QDate &aEndDate);
+ QDate curDate() const {return mCurDate;}
protected:
void paintEvent(QPaintEvent *);
void configureNavigation();
if(aReloadModel)
{
// requires special handling
- // eg. in case of favourities - some favourities may have changed
+ // eg. in case of favourites - some favourites may have changed
// and so we need to reload them
int confId = Conference::activeConference();
QDate startDate = Conference::getById(confId).start();
QDate endDate = Conference::getById(confId).end();
dayNavigator->setDates(startDate, endDate);
- updateTreeView( Conference::getById(confId).start() );
+ updateTreeView(dayNavigator->curDate());
}
else
{
Event event = Event::getById(aIndex.data().toInt(),confId);
QList<Event> conflicts = Event::conflictEvents(event.id(),Conference::activeConference());
- if(event.isFavourite())
- event.setFavourite(false);
- else
- event.setFavourite(true);
+ event.setFavourite(!event.isFavourite());
event.update("favourite");
if(event.isFavourite())