[recipes] A small reorg
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [recipes] A small reorg
- Date: Thu, 16 Mar 2017 02:35:01 +0000 (UTC)
commit 1dbb50d19a7547052bbfdb9c6c6481a52f5f7132
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Mar 15 22:34:16 2017 -0400
A small reorg
Break out a function that creates a widget for a single
release info.
src/gr-window.c | 96 ++++++++++++++++++++++++++++++++-----------------------
1 files changed, 56 insertions(+), 40 deletions(-)
---
diff --git a/src/gr-window.c b/src/gr-window.c
index a6fb706..8c8b586 100644
--- a/src/gr-window.c
+++ b/src/gr-window.c
@@ -1482,6 +1482,59 @@ news_dialog_closed (GtkWidget *widget,
return FALSE;
}
+static GtkWidget *
+gr_release_info_new (const char *version,
+ GDateTime *date,
+ const char *news)
+{
+ GtkWidget *box;
+ GtkWidget *heading;
+ GtkWidget *image;
+ GtkWidget *label;
+ GtkStyleContext *context;
+ g_autofree char *title = NULL;
+
+ box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
+
+ heading = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
+ gtk_widget_set_halign (heading, GTK_ALIGN_CENTER);
+ image = gtk_image_new_from_icon_name ("org.gnome.Recipes-symbolic", 1);
+ gtk_image_set_pixel_size (GTK_IMAGE (image), 32);
+ gtk_container_add (GTK_CONTAINER (heading), image);
+ /* TRANSLATORS: %s gets replaced by a version number */
+ title = g_strdup_printf (_("Recipes %s"), version);
+ label = gtk_label_new (title);
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0);
+ context = gtk_widget_get_style_context (label);
+ gtk_style_context_add_class (context, "heading");
+ gtk_style_context_add_class (context, "welcome");
+ gtk_container_add (GTK_CONTAINER (heading), label);
+ gtk_container_add (GTK_CONTAINER (box), heading);
+
+ if (date) {
+ g_autofree char *formatted = NULL;
+ g_autofree char *release = NULL;
+
+ formatted = g_date_time_format (date, "%F");
+ /* TRANSLATORS: %s gets replaced by a date */
+ release = g_strdup_printf (_("Released: %s"), formatted);
+ label = gtk_label_new (release);
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0);
+ gtk_container_add (GTK_CONTAINER (box), label);
+ }
+
+ if (news) {
+ label = gtk_label_new (news);
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0);
+ gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
+ gtk_label_set_max_width_chars (GTK_LABEL (label), 55);
+ gtk_label_set_width_chars (GTK_LABEL (label), 55);
+ gtk_container_add (GTK_CONTAINER (box), label);
+ }
+
+ return box;
+}
+
void
gr_window_show_news (GrWindow *window)
{
@@ -1512,47 +1565,10 @@ gr_window_show_news (GrWindow *window)
for (i = 0; i < news->len; i++) {
ReleaseInfo *ri = g_ptr_array_index (news, i);
- GtkWidget *heading;
- GtkWidget *image;
- GtkWidget *label;
- GtkStyleContext *context;
- g_autofree char *title = NULL;
+ GtkWidget *info;
- heading = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
- gtk_widget_set_halign (heading, GTK_ALIGN_CENTER);
- image = gtk_image_new_from_icon_name ("org.gnome.Recipes-symbolic", 1);
- gtk_image_set_pixel_size (GTK_IMAGE (image), 32);
- gtk_container_add (GTK_CONTAINER (heading), image);
- /* TRANSLATORS: %s gets replaced by a version number */
- title = g_strdup_printf (_("Recipes %s"), ri->version);
- label = gtk_label_new (title);
- gtk_label_set_xalign (GTK_LABEL (label), 0.0);
- context = gtk_widget_get_style_context (label);
- gtk_style_context_add_class (context, "heading");
- gtk_style_context_add_class (context, "welcome");
- gtk_container_add (GTK_CONTAINER (heading), label);
- gtk_container_add (GTK_CONTAINER (box), heading);
-
- if (ri->date) {
- g_autofree char *date = NULL;
- g_autofree char *release = NULL;
-
- date = g_date_time_format (ri->date, "%F");
- /* TRANSLATORS: %s gets replaced by a date */
- release = g_strdup_printf (_("Released: %s"), date);
- label = gtk_label_new (release);
- gtk_label_set_xalign (GTK_LABEL (label), 0.0);
- gtk_container_add (GTK_CONTAINER (box), label);
- }
-
- if (ri->news) {
- label = gtk_label_new (ri->news->str);
- gtk_label_set_xalign (GTK_LABEL (label), 0.0);
- gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
- gtk_label_set_max_width_chars (GTK_LABEL (label), 55);
- gtk_label_set_width_chars (GTK_LABEL (label), 55);
- gtk_container_add (GTK_CONTAINER (box), label);
- }
+ info = gr_release_info_new (ri->version, ri->date, ri->news->str);
+ gtk_container_add (GTK_CONTAINER (box), info);
}
gtk_widget_show_all (box);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]