static void list_header_func (GtkListBoxRow *row, GtkListBoxRow *before, gpointer user_data) { GsApp *app = gs_app_row_get_app (GS_APP_ROW (row)); GsUpdateListSection before_section = GS_UPDATE_LIST_SECTION_LAST; GsUpdateListSection section; GsUpdateList *update_list = GS_UPDATE_LIST (user_data); GtkWidget *header; /* first entry */ gtk_list_box_row_set_header (row, NULL); if (before != NULL) { GsApp *before_app = gs_app_row_get_app (GS_APP_ROW (before)); before_section = gs_update_list_get_app_section (before_app); } /* section changed or forced to have headers */ section = gs_update_list_get_app_section (app); if (gs_update_list_has_headers (update_list) && before_section != section) { header = gs_update_list_get_section_header (update_list, section); } else { header = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); } gtk_list_box_row_set_header (row, header); }
static void list_header_func (GtkListBoxRow *row, GtkListBoxRow *before, gpointer user_data) { GtkStyleContext *context; GtkWidget *header; /* first entry */ gtk_list_box_row_set_header (row, NULL); if (before == NULL) return; /* desktop -> addons */ if (!is_addon_id_kind (gs_app_row_get_app (GS_APP_ROW (before))) && is_addon_id_kind (gs_app_row_get_app (GS_APP_ROW (row)))) { /* TRANSLATORS: This is the header dividing the normal * applications and the addons */ header = gtk_label_new (_("Add-ons")); g_object_set (header, "xalign", 0.0, NULL); context = gtk_widget_get_style_context (header); gtk_style_context_add_class (context, "header-label"); } else { header = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); } gtk_list_box_row_set_header (row, header); }
static void place_header_func (GtkListBoxRow *row, GtkListBoxRow *before, gpointer user_data) { gboolean need_separator; GtkWidget *current; Place *place, *place_before; gchar *text; GtkWidget *w; need_separator = FALSE; place = g_object_get_data (G_OBJECT (row), "place"); if (before != NULL) { place_before = g_object_get_data (G_OBJECT (before), "place"); if (place_before->place_type < place->place_type) /* use a separator before the first item of a new type */ need_separator = TRUE; } else { /* always put a separator before the first item */ need_separator = TRUE; } current = gtk_list_box_row_get_header (row); if (need_separator && current == NULL) { text = g_strdup_printf ("<b>%s</b>", get_heading_name (place->place_type)); w = gtk_label_new (NULL); g_object_set (w, "margin-top", 6, "margin-end", 10, "margin-bottom", 6, "margin-start", 10, NULL); gtk_label_set_markup (GTK_LABEL (w), text); gtk_widget_set_halign (w, GTK_ALIGN_START); gtk_style_context_add_class (gtk_widget_get_style_context (w), "dim-label"); gtk_list_box_row_set_header (row, w); g_free (text); } else if (!need_separator && current != NULL) { gtk_list_box_row_set_header (row, NULL); } }
static void header_func (GtkListBoxRow *row, GtkListBoxRow *before, gpointer user_data) { GtkWidget *header = NULL; if (!before) { header = create_bold_label_for_task_row (row); } else { GtdTask *before_task; GtdTask *task; before_task = g_object_get_data (G_OBJECT (before), "task"); task = g_object_get_data (G_OBJECT (row), "task"); if (gtd_task_get_list (task) != gtd_task_get_list (before_task)) header = create_bold_label_for_task_row (row); } gtk_list_box_row_set_header (row, header); }
static void update_title_header (GtkListBoxRow *row, GtkListBoxRow *before, gpointer data) { GtkWidget *header; gchar *title; header = gtk_list_box_row_get_header (row); title = (gchar *)g_object_get_data (G_OBJECT (row), "title"); if (!header && title) { title = g_strdup_printf ("<b>%s</b>", title); header = gtk_label_new (title); gtk_label_set_use_markup (GTK_LABEL (header), TRUE); gtk_widget_set_halign (header, GTK_ALIGN_START); gtk_widget_set_margin_top (header, 12); gtk_widget_set_margin_start (header, 6); gtk_widget_set_margin_end (header, 6); gtk_widget_set_margin_bottom (header, 6); gtk_widget_show (header); gtk_list_box_row_set_header (row, header); g_free (title); } }
static void update_header_func_filter (GtkListBoxRow *row, GtkListBoxRow *row_before, gpointer user_data) { GtkWidget *child; GtkWidget *before; LocaleInfo *child_info = NULL; LocaleInfo *before_info = NULL; GtkWidget *header; child = gtk_bin_get_child (GTK_BIN (row)); before = gtk_bin_get_child (GTK_BIN (row_before)); if (child) child_info = g_object_get_data (G_OBJECT (child), "locale-info"); if (before) before_info = g_object_get_data (G_OBJECT (before), "locale-info"); if (!child_info || !before_info) return; if (child_info == before_info) header = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); else header = locale_separator_widget_new (child_info->name); gtk_widget_show_all (header); gtk_list_box_row_set_header (row, header); }
static void update_header (GtkListBoxRow *row, GtkListBoxRow *before, gpointer user_data) { if (before == NULL) { /* No separator before the first row */ gtk_list_box_row_set_header (row, NULL); return; } if (gtk_list_box_row_get_header (row) != NULL) return; gtk_list_box_row_set_header (row, gtk_separator_new (GTK_ORIENTATION_HORIZONTAL)); }
void photos_utils_list_box_header_func (GtkListBoxRow *row, GtkListBoxRow *before, gpointer user_data) { GtkWidget *header; if (before == NULL) { gtk_list_box_row_set_header (row, NULL); return; } header = gtk_list_box_row_get_header (row); if (header == NULL) { header = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_widget_show (header); gtk_list_box_row_set_header (row, header); } }
static void key_list_header_func (GtkListBoxRow *row, GtkListBoxRow *prev, gpointer unused) { if (prev == NULL) return; if (gtk_list_box_row_get_header (row) == NULL) { g_autoptr(GtkWidget) separator = NULL; separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_list_box_row_set_header (row, g_steal_pointer (&separator)); } }
static void update_header_func (GtkListBoxRow *child, GtkListBoxRow *before, gpointer user_data) { GtkWidget *header; if (before == NULL) return; header = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_list_box_row_set_header (child, header); gtk_widget_show (header); }
static void update_header (GtkListBoxRow *row, GtkListBoxRow *before, gpointer data) { if (before != NULL && gtk_list_box_row_get_header (row) == NULL) { GtkWidget *separator; separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_widget_show (separator); gtk_list_box_row_set_header (row, separator); } }
static void photos_dlna_renderers_separator_cb (GtkListBoxRow *row, GtkListBoxRow *before, gpointer user_data) { GtkWidget *separator; separator = gtk_list_box_row_get_header (row); if (separator == NULL && before != NULL) { separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_list_box_row_set_header (row, separator); gtk_widget_show (separator); } }
static void add_action_separators (GtkListBoxRow *row, GtkListBoxRow *before, gpointer user_data) { GtkWidget *current; if (before == NULL) return; current = gtk_list_box_row_get_header (row); if (current == NULL) { current = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_widget_show (current); gtk_list_box_row_set_header (row, current); } }
static void update_sidebar_headers (GtkListBoxRow *row, GtkListBoxRow *before, gpointer user_data) { GcalYearViewPrivate *priv; GtkWidget *row_child, *before_child = NULL, *row_header = NULL; const icaltimetype *row_date, *before_date = NULL; icaltimetype date; gint row_shift, before_shift =-1; priv = GCAL_YEAR_VIEW (user_data)->priv; row_child = gtk_bin_get_child (GTK_BIN (row)); if (row_child == NULL) return; row_date = gcal_event_widget_peek_start_date (GCAL_EVENT_WIDGET (row_child)); row_shift = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (row_child), "shift")); if (before != NULL) { before_child = gtk_bin_get_child (GTK_BIN (before)); before_date = gcal_event_widget_peek_start_date (GCAL_EVENT_WIDGET (before_child)); before_shift = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (before_child), "shift")); } if (before_shift == -1 || before_shift != row_shift) { GtkWidget *label; gchar *label_str; row_header = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); date = *(priv->start_selected_date); icaltime_adjust (&date, row_shift, 0, 0, 0); if (icaltime_compare_date (&date, priv->current_date) == 0) label_str = g_strdup (_("Today")); else label_str = g_strdup_printf ("%s %d", gcal_get_month_name (date.month - 1), date.day); label = gtk_label_new (label_str); gtk_style_context_add_class (gtk_widget_get_style_context (label), "sidebar-header"); g_object_set (label, "margin", 6, "halign", GTK_ALIGN_START, NULL); g_free (label_str); gtk_container_add (GTK_CONTAINER (row_header), label); } if (!gcal_event_widget_is_multiday (GCAL_EVENT_WIDGET (row_child)) && !gcal_event_widget_get_all_day (GCAL_EVENT_WIDGET (row_child)) && (before_date == NULL || before_date->hour != row_date->hour)) { gchar *time; GtkWidget *label; if (priv->use_24h_format) time = g_strdup_printf ("%.2d:00", row_date->hour); else time = g_strdup_printf ("%.2d:00 %s", row_date->hour % 12, row_date->hour < 12 ? "AM" : "PM"); label = gtk_label_new (time); gtk_style_context_add_class (gtk_widget_get_style_context (label), GTK_STYLE_CLASS_DIM_LABEL); g_object_set (label, "margin", 6, "halign", GTK_ALIGN_START, NULL); if (row_header == NULL) row_header = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (row_header), label); gtk_container_add (GTK_CONTAINER (row_header), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL)); g_free (time); } if (row_header != NULL) gtk_widget_show_all (row_header); gtk_list_box_row_set_header (row, row_header); }