* 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("month", &month);
|
||||||
message->FindInt32("year", &year);
|
message->FindInt32("year", &year);
|
||||||
|
|
||||||
_UpdateDate(year, month, day);
|
_UpdateDate(BDate(year, month, day));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -212,8 +212,8 @@ CalendarMenuWindow::MessageReceived(BMessage* message)
|
|||||||
case kMonthUpMessage:
|
case kMonthUpMessage:
|
||||||
{
|
{
|
||||||
BDate date = fCalendarView->Date();
|
BDate date = fCalendarView->Date();
|
||||||
_UpdateDate(date.Year(), date.Month()
|
date.AddMonths(kMonthDownMessage == message->what ? -1 : 1);
|
||||||
+ (kMonthDownMessage == message->what ? -1 : 1), date.Day());
|
_UpdateDate(date);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -221,9 +221,8 @@ CalendarMenuWindow::MessageReceived(BMessage* message)
|
|||||||
case kYearUpMessage:
|
case kYearUpMessage:
|
||||||
{
|
{
|
||||||
BDate date = fCalendarView->Date();
|
BDate date = fCalendarView->Date();
|
||||||
_UpdateDate(
|
date.AddYears(kYearDownMessage == message->what ? -1 : 1);
|
||||||
date.Year() + (kYearDownMessage == message->what ? -1 : 1),
|
_UpdateDate(date);
|
||||||
date.Month(), date.Day());
|
|
||||||
break;
|
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
|
void
|
||||||
CalendarMenuWindow::_UpdateDate(const BDate& date)
|
CalendarMenuWindow::_UpdateDate(const BDate& date)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ public:
|
|||||||
virtual void MessageReceived(BMessage* message);
|
virtual void MessageReceived(BMessage* message);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void _UpdateDate(int32 year, int32 month, int32 day);
|
|
||||||
void _UpdateDate(const BDate& date);
|
void _UpdateDate(const BDate& date);
|
||||||
BButton* _SetupButton(const char* label, uint32 what,
|
BButton* _SetupButton(const char* label, uint32 what,
|
||||||
float height);
|
float height);
|
||||||
|
|||||||
Reference in New Issue
Block a user