Skip to content

Commit

Permalink
Diary Show Week & Refresh
Browse files Browse the repository at this point in the history
.. removal of summary pane in diary sidebar broke refreshing
   when selecting a ride and no longer set the date range
   appropriately.

.. the diary pane needs overhauling in v4 alongside planning
   this is just a temporary hack.
  • Loading branch information
liversedge committed Apr 2, 2018
1 parent 050a26d commit 7482b35
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 0 deletions.
28 changes: 28 additions & 0 deletions src/Gui/DiarySidebar.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,17 @@ DiarySidebar::configChanged(qint32)

// and summary .. forgetting what we already prepared
from = to = QDate();

// set the charts range
setDateRange();
}

void
DiarySidebar::refresh()
{
if (!isHidden()) {
multiCalendar->refresh();
setDateRange();
}
repaint();
}
Expand All @@ -112,6 +116,7 @@ DiarySidebar::setRide(RideItem *ride)
_ride = ride;

multiCalendar->setRide(ride);
setDateRange();
}

bool
Expand Down Expand Up @@ -646,6 +651,29 @@ GcMiniCalendar::setDate(int _month, int _year)
}
}

void
DiarySidebar::setDateRange()
{
QDate when;
if (_ride && _ride->ride()) when = _ride->dateTime.date();
else when = QDate::currentDate();

// what date range should we use?
QDate newFrom = when.addDays((when.dayOfWeek()-1)*-1);
QDate newTo = newFrom.addDays(6);

// if changed lets tell everyone
if (newFrom != from || newTo != to) {

// date range changed lets refresh
from = newFrom;
to = newTo;
QString name = QString(tr("Week Commencing %1")).arg(from.toString(tr("dddd MMMM d")));

emit dateRangeChanged(DateRange(from, to, name));
}
}

//********************************************************************************
// MULTI CALENDAR (GcMultiCalendar)
//********************************************************************************
Expand Down
2 changes: 2 additions & 0 deletions src/Gui/DiarySidebar.h
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,8 @@ class DiarySidebar : public QWidget // not a GcWindow - belongs on sidebar
void configChanged(qint32);
void filterChanged() { multiCalendar->filterChanged(); }

void setDateRange();

signals:
void dateRangeChanged(DateRange);

Expand Down

0 comments on commit 7482b35

Please sign in to comment.