GtkCalendar: Slightly change overflow behaviour
If the first of the month was falling on a Sunday, we would not render any days of the previous month, and instead show two weeks of the next month at the bottom. Improve this by showing one week of each. https://bugzilla.gnome.org/show_bug.cgi?id=301835
This commit is contained in:
@ -983,27 +983,26 @@ calendar_compute_days (GtkCalendar *calendar)
|
|||||||
|
|
||||||
first_day = day_of_week (year, month, 1);
|
first_day = day_of_week (year, month, 1);
|
||||||
first_day = (first_day + 7 - priv->week_start) % 7;
|
first_day = (first_day + 7 - priv->week_start) % 7;
|
||||||
|
if (first_day == 0)
|
||||||
|
first_day = 7;
|
||||||
|
|
||||||
/* Compute days of previous month */
|
/* Compute days of previous month */
|
||||||
if (month > 1)
|
if (month > 1)
|
||||||
ndays_in_prev_month = month_length[leap (year)][month - 1];
|
ndays_in_prev_month = month_length[leap (year)][month - 1];
|
||||||
else
|
else
|
||||||
ndays_in_prev_month = month_length[leap (year - 1)][12];
|
ndays_in_prev_month = month_length[leap (year - 1)][12];
|
||||||
day = ndays_in_prev_month - first_day + 1;
|
day = ndays_in_prev_month - first_day+ 1;
|
||||||
|
|
||||||
row = 0;
|
for (col = 0; col < first_day; col++)
|
||||||
if (first_day > 0)
|
|
||||||
{
|
{
|
||||||
for (col = 0; col < first_day; col++)
|
priv->day[0][col] = day;
|
||||||
{
|
priv->day_month[0][col] = MONTH_PREV;
|
||||||
priv->day[row][col] = day;
|
day++;
|
||||||
priv->day_month[row][col] = MONTH_PREV;
|
|
||||||
day++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Compute days of current month */
|
/* Compute days of current month */
|
||||||
col = first_day;
|
row = first_day / 7;
|
||||||
|
col = first_day % 7;
|
||||||
for (day = 1; day <= ndays_in_month; day++)
|
for (day = 1; day <= ndays_in_month; day++)
|
||||||
{
|
{
|
||||||
priv->day[row][col] = day;
|
priv->day[row][col] = day;
|
||||||
|
|||||||
Reference in New Issue
Block a user