Ticket #13605: 0001-Fix-bug-with-highlighting-current-system-date-in-BCa.patch

File 0001-Fix-bug-with-highlighting-current-system-date-in-BCa.patch, 2.2 KB (added by akshay, 7 years ago)
  • src/kits/shared/CalendarView.cpp

    From 79ef9f00e826f93d50ecb78bd5e52596ba0bfef9 Mon Sep 17 00:00:00 2001
    From: Akshay Agarwal <agarwal.akshay.akshay8@gmail.com>
    Date: Tue, 1 Aug 2017 19:49:53 +0530
    Subject: [PATCH] Fix bug with highlighting current system date in
     BCalendarView.
    
    ---
     src/kits/shared/CalendarView.cpp | 28 ++++++++++++++++------------
     1 file changed, 16 insertions(+), 12 deletions(-)
    
    diff --git a/src/kits/shared/CalendarView.cpp b/src/kits/shared/CalendarView.cpp
    index a60aa6b..ca27ead 100644
    a b BCalendarView::_SetToDay()  
    763763void
    764764BCalendarView::_SetToCurrentDay()
    765765{
    766     BDate date(fDate.Year(), fDate.Month(), 1);
     766    BDate date(fCurrentDate.Year(), fCurrentDate.Month(), 1);
    767767    if (!date.IsValid())
    768768        return;
    769 
     769    if (fDate.Year() != date.Year() || fDate.Month() != date.Month()) {
     770        fNewCurrentDay.SetTo(-1, -1);
     771        return;
     772    }
    770773    const int32 firstDayOffset = (7 + date.DayOfWeek() - fStartOfWeek) % 7;
    771774
    772775    int32 day = 1 - firstDayOffset;
    BCalendarView::_SetToCurrentDay()  
    780783        }
    781784    }
    782785
    783     fNewCurrentDay.SetTo(0, 0);
     786    fNewCurrentDay.SetTo(-1, -1);
    784787}
    785788
    786789
    BCalendarView::_SetupDayNumbers()  
    881884                fSelectedDay.SetTo(row, column);
    882885                fNewFocusedDay.SetTo(row, column);
    883886            }
    884             if (day == fCurrentDate.Day()
    885                 && fDate.Month() == fCurrentDate.Month())
     887            if (day == fCurrentDate.Day() && counter >= firstDayOffset
     888                && counter < firstDayOffset + daysInMonth
     889                && fDate.Month() == fCurrentDate.Month()
     890                && fDate.Year() == fCurrentDate.Year())
    886891                fCurrentDay.SetTo(row, column);
     892
    887893            counter++;
    888894            fDayNumbers[row][column].Truncate(0);
    889895            fDayNumbers[row][column] << day;
    BCalendarView::_UpdateCurrentDate()  
    12151221
    12161222    fCurrentDate = date;
    12171223
    1218     if (fDate.Year() == date.Year() && fDate.Month() == date.Month()) {
    1219         _SetToCurrentDay();
    1220         fCurrentDayChanged = true;
    1221         Draw(_RectOfDay(fCurrentDay));
    1222         Draw(_RectOfDay(fNewCurrentDay));
    1223         fCurrentDayChanged = false;
    1224     }
     1224    _SetToCurrentDay();
     1225    fCurrentDayChanged = true;
     1226    Draw(_RectOfDay(fCurrentDay));
     1227    Draw(_RectOfDay(fNewCurrentDay));
     1228    fCurrentDayChanged = false;
    12251229
    12261230    return;
    12271231}