From 70e2a184d2de0b5feeca35c05161436b0ef506ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Fri, 1 Apr 2011 15:51:08 +0000 Subject: [PATCH] * Followed korli's suggestion and use the existing BDate API instead, thanks! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41161 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/deskbar/CalendarMenuWindow.cpp | 36 ++++--------------------- src/apps/deskbar/CalendarMenuWindow.h | 1 - 2 files changed, 5 insertions(+), 32 deletions(-) diff --git a/src/apps/deskbar/CalendarMenuWindow.cpp b/src/apps/deskbar/CalendarMenuWindow.cpp index 190edee4e4..86ca7118e8 100644 --- a/src/apps/deskbar/CalendarMenuWindow.cpp +++ b/src/apps/deskbar/CalendarMenuWindow.cpp @@ -204,7 +204,7 @@ CalendarMenuWindow::MessageReceived(BMessage* message) message->FindInt32("month", &month); message->FindInt32("year", &year); - _UpdateDate(year, month, day); + _UpdateDate(BDate(year, month, day)); break; } @@ -212,8 +212,8 @@ CalendarMenuWindow::MessageReceived(BMessage* message) case kMonthUpMessage: { BDate date = fCalendarView->Date(); - _UpdateDate(date.Year(), date.Month() - + (kMonthDownMessage == message->what ? -1 : 1), date.Day()); + date.AddMonths(kMonthDownMessage == message->what ? -1 : 1); + _UpdateDate(date); break; } @@ -221,9 +221,8 @@ CalendarMenuWindow::MessageReceived(BMessage* message) case kYearUpMessage: { BDate date = fCalendarView->Date(); - _UpdateDate( - date.Year() + (kYearDownMessage == message->what ? -1 : 1), - date.Month(), date.Day()); + date.AddYears(kYearDownMessage == message->what ? -1 : 1); + _UpdateDate(date); break; } @@ -234,31 +233,6 @@ CalendarMenuWindow::MessageReceived(BMessage* message) } -void -CalendarMenuWindow::_UpdateDate(int32 year, int32 month, int32 day) -{ - if (day < 1) { - month--; - day = 31; - } - if (month < 1) { - year--; - month = 12; - } - if (month > 12) { - year++; - month = 1; - } - - BDate date(year, month, 1); - // Alternatively, we could choose the day at the same position instead - if (day > date.DaysInMonth()) - day = date.DaysInMonth(); - - _UpdateDate(BDate(year, month, day)); -} - - void CalendarMenuWindow::_UpdateDate(const BDate& date) { diff --git a/src/apps/deskbar/CalendarMenuWindow.h b/src/apps/deskbar/CalendarMenuWindow.h index 54151590a2..7ff5069a75 100644 --- a/src/apps/deskbar/CalendarMenuWindow.h +++ b/src/apps/deskbar/CalendarMenuWindow.h @@ -31,7 +31,6 @@ public: virtual void MessageReceived(BMessage* message); private: - void _UpdateDate(int32 year, int32 month, int32 day); void _UpdateDate(const BDate& date); BButton* _SetupButton(const char* label, uint32 what, float height);