* 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
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user