From eecb3192ec6d2444295abe2ee7dca4d87acc5e30 Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Wed, 22 May 2019 10:05:12 -0700 Subject: [PATCH] libsysprof-ui: use custom cell renderer for progress + .2 precision --- .../sysprof-cell-renderer-percent.c | 13 ++++++---- .../sysprof-cell-renderer-percent.h | 4 ++-- .../ui/sysprof-callgraph-view.ui | 24 +++++++++---------- 3 files changed, 22 insertions(+), 19 deletions(-) diff --git a/src/libsysprof-ui/sysprof-cell-renderer-percent.c b/src/libsysprof-ui/sysprof-cell-renderer-percent.c index 672a431d..c03e2621 100644 --- a/src/libsysprof-ui/sysprof-cell-renderer-percent.c +++ b/src/libsysprof-ui/sysprof-cell-renderer-percent.c @@ -35,7 +35,7 @@ enum { N_PROPS }; -G_DEFINE_TYPE_WITH_PRIVATE (SysprofCellRendererPercent, sysprof_cell_renderer_percent, GTK_TYPE_CELL_RENDERER_TEXT) +G_DEFINE_TYPE_WITH_PRIVATE (SysprofCellRendererPercent, sysprof_cell_renderer_percent, GTK_TYPE_CELL_RENDERER_PROGRESS) static GParamSpec *properties [N_PROPS]; @@ -100,7 +100,7 @@ sysprof_cell_renderer_percent_class_init (SysprofCellRendererPercentClass *klass static void sysprof_cell_renderer_percent_init (SysprofCellRendererPercent *self) { - g_object_set (self, "xalign", 1.0f, NULL); + g_object_set (self, "text-xalign", 1.0f, NULL); } gdouble @@ -125,14 +125,17 @@ sysprof_cell_renderer_percent_set_percent (SysprofCellRendererPercent *self, if (percent != priv->percent) { - gchar text[128]; + gchar text[8]; priv->percent = percent; - g_snprintf (text, sizeof text, "%.2lf %%", percent); + g_snprintf (text, sizeof text, "%.2lf%%", percent); text [sizeof text - 1] = '\0'; - g_object_set (self, "markup", text, NULL); + g_object_set (self, + "value", (guint)percent, + "text", text, + NULL); g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_PERCENT]); } diff --git a/src/libsysprof-ui/sysprof-cell-renderer-percent.h b/src/libsysprof-ui/sysprof-cell-renderer-percent.h index 38bd0954..9c43720b 100644 --- a/src/libsysprof-ui/sysprof-cell-renderer-percent.h +++ b/src/libsysprof-ui/sysprof-cell-renderer-percent.h @@ -43,12 +43,12 @@ typedef struct _SysprofCellRendererPercentClass SysprofCellRendererPercentClass; struct _SysprofCellRendererPercent { - GtkCellRendererText parent; + GtkCellRendererProgress parent; }; struct _SysprofCellRendererPercentClass { - GtkCellRendererTextClass parent_class; + GtkCellRendererProgressClass parent_class; gpointer padding[4]; }; diff --git a/src/libsysprof-ui/ui/sysprof-callgraph-view.ui b/src/libsysprof-ui/ui/sysprof-callgraph-view.ui index 8b2858b1..2631a491 100644 --- a/src/libsysprof-ui/ui/sysprof-callgraph-view.ui +++ b/src/libsysprof-ui/ui/sysprof-callgraph-view.ui @@ -42,11 +42,11 @@ 1 Self - + 65 - 1 + 1 @@ -58,11 +58,11 @@ 2 Total - + 65 - 2 + 2 @@ -103,11 +103,11 @@ 1 Self - + 65 - 1 + 1 @@ -119,11 +119,11 @@ 2 Total - + 65 - 2 + 2 @@ -158,11 +158,11 @@ 1 Self - + 65 - 1 + 1 @@ -174,11 +174,11 @@ 2 Total - + 65 - 2 + 2