From: Vadim Zeitlin Date: Tue, 13 Feb 2001 17:55:26 +0000 (+0000) Subject: fixed bug in wxCalendarCtrl (132199) and bug in wxDateTime::IsSameDate() this fix... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/f41cb81efc453b1da2e29078ef95c64016532cf3 fixed bug in wxCalendarCtrl (132199) and bug in wxDateTime::IsSameDate() this fix discovered git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9368 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/docs/changes.txt b/docs/changes.txt index 61aa14bb5a..665ee2b71f 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -12,10 +12,12 @@ wxBase: - wxMimeTypesManager now can create file associations too - wxCopyFile() respects the file permissions (Roland Scholz) - wxFTP::GetFileSize() added (Søren Erland Vestø) +- wxDateTime::IsSameDate() bug fixed All (GUI): - new wxToggleButton class (John Norris, Axel Schlueter) +- wxCalendarCtrl now highlighting the date with time part bug fixed wxMSW: diff --git a/include/wx/datetime.inl b/include/wx/datetime.inl index 3089b32111..450a11fc13 100644 --- a/include/wx/datetime.inl +++ b/include/wx/datetime.inl @@ -249,7 +249,12 @@ inline bool wxDateTime::IsBetween(const wxDateTime& t1, inline bool wxDateTime::IsSameDate(const wxDateTime& dt) const { - return (m_time - dt.m_time).Abs() < MILLISECONDS_PER_DAY; + Tm tm1 = GetTm(), + tm2 = dt.GetTm(); + + return tm1.year == tm2.year && + tm1.mon == tm2.mon && + tm1.mday == tm2.mday; } inline bool wxDateTime::IsSameTime(const wxDateTime& dt) const diff --git a/src/generic/calctrl.cpp b/src/generic/calctrl.cpp index bc80003652..a6a8779994 100644 --- a/src/generic/calctrl.cpp +++ b/src/generic/calctrl.cpp @@ -480,7 +480,7 @@ wxSize wxCalendarCtrl::DoGetBestSize() const if ( GetWindowStyle() & (wxRAISED_BORDER | wxSUNKEN_BORDER) ) { // the border would clip the last line otherwise - height += 4; + height += 6; } return wxSize(width, height); @@ -648,7 +648,7 @@ void wxCalendarCtrl::OnPaint(wxPaintEvent& WXUNUSED(event)) wxCalendarDateAttr *attr = m_attrs[day - 1]; - bool isSel = m_date == date; + bool isSel = date.IsSameDate(m_date); if ( isSel ) { dc.SetTextForeground(m_colHighlightFg);