return nl_langinfo(_NL_TIME_FIRST_WEEKDAY)[0];
}
+/**
+ * @brief Get an abbreviated day name from locale
+ * @param day Integer in range 1 to 7, representing day of week
+ * @returns String containing abbreviated day name
+ *
+ * Uses current locale to get day name
+ *
+ * Sunday == 1
+ * Result must be freed
+ */
+gchar *date_get_abbreviated_day_name(gint day)
+{
+ gchar *abday = NULL;
+
+ switch (day)
+ {
+ case 1:
+ abday = g_strdup(nl_langinfo(ABDAY_1));
+ break;
+ case 2:
+ abday = g_strdup(nl_langinfo(ABDAY_2));
+ break;
+ case 3:
+ abday = g_strdup(nl_langinfo(ABDAY_3));
+ break;
+ case 4:
+ abday = g_strdup(nl_langinfo(ABDAY_4));
+ break;
+ case 5:
+ abday = g_strdup(nl_langinfo(ABDAY_5));
+ break;
+ case 6:
+ abday = g_strdup(nl_langinfo(ABDAY_6));
+ break;
+ case 7:
+ abday = g_strdup(nl_langinfo(ABDAY_7));
+ break;
+ }
+
+ return abday;
+}
/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
#define PAN_CAL_DOT_COLOR 128, 128, 128
#define PAN_CAL_DOT_ALPHA 128
+#define PAN_CAL_DAY_OF_WEEK_COLOR 128, 128, 128
/*
*-----------------------------------------------------------------------------
gint month = 0;
gint end_year = 0;
gint end_month = 0;
+ gint day_of_week;
list = pan_list_tree(dir_fd, SORT_NONE, TRUE, pw->ignore_symlinks);
pan_filter_fd_list(&list, pw->filter_ui->filter_elements);
{
PanItem *pi_month;
PanItem *pi_text;
+ PanItem *pi_day_number;
gint day;
gint days;
gint col;
}
buf = g_strdup_printf("%d", day);
- pan_item_text_new(pw, x + 4, y + 4, buf, PAN_TEXT_ATTR_BOLD | PAN_TEXT_ATTR_HEADING,
+ pi_day_number = pan_item_text_new(pw, x + 4, y + 4, buf, PAN_TEXT_ATTR_BOLD | PAN_TEXT_ATTR_HEADING,
PAN_TEXT_BORDER_SIZE,
PAN_CAL_DAY_TEXT_COLOR, 255);
g_free(buf);
+ day_of_week = date_get_first_day_of_week() + col;
+ if (day_of_week > 7) day_of_week = day_of_week - 7;
+
+ buf = date_get_abbreviated_day_name(day_of_week);
+ pan_item_text_new(pw, x + 4 + pi_day_number->width + 4, y + 4, buf, PAN_TEXT_ATTR_NONE,
+ PAN_TEXT_BORDER_SIZE,
+ PAN_CAL_DAY_OF_WEEK_COLOR, 255);
+ g_free(buf);
pan_item_size_coordinates(pi_day, PAN_BOX_BORDER, width, height);