mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2025-12-31 20:36:25 +00:00
libsysprof-gtk: some progress style and text tweaks
This commit is contained in:
@ -5,6 +5,10 @@ progresscell progress {
|
|||||||
border-right: none;
|
border-right: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
progresscell {
|
||||||
|
min-height: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
progresscell progress:backdrop {
|
progresscell progress:backdrop {
|
||||||
background: @borders;
|
background: @borders;
|
||||||
border-color: shade(@borders, .9);
|
border-color: shade(@borders, .9);
|
||||||
@ -19,6 +23,7 @@ progresscell trough {
|
|||||||
progresscell label {
|
progresscell label {
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
padding: 1px 3px;
|
padding: 1px 3px;
|
||||||
|
font-feature-settings: 'tnum';
|
||||||
}
|
}
|
||||||
|
|
||||||
progresscell label.in-progress {
|
progresscell label.in-progress {
|
||||||
|
|||||||
@ -61,9 +61,11 @@ sysprof_progress_cell_size_allocate (GtkWidget *widget,
|
|||||||
gtk_widget_size_allocate (GTK_WIDGET (self->label), &all, baseline);
|
gtk_widget_size_allocate (GTK_WIDGET (self->label), &all, baseline);
|
||||||
gtk_widget_size_allocate (GTK_WIDGET (self->alt_label), &all, baseline);
|
gtk_widget_size_allocate (GTK_WIDGET (self->alt_label), &all, baseline);
|
||||||
gtk_widget_size_allocate (GTK_WIDGET (self->trough), &all, baseline);
|
gtk_widget_size_allocate (GTK_WIDGET (self->trough), &all, baseline);
|
||||||
gtk_widget_size_allocate (GTK_WIDGET (self->progress),
|
|
||||||
&(const GtkAllocation) {0, 0, width*self->fraction, height},
|
if (gtk_widget_get_visible (GTK_WIDGET (self->progress)))
|
||||||
baseline);
|
gtk_widget_size_allocate (GTK_WIDGET (self->progress),
|
||||||
|
&(const GtkAllocation) {0, 0, MAX (1, width*self->fraction), height},
|
||||||
|
baseline);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -207,15 +209,21 @@ sysprof_progress_cell_class_init (SysprofProgressCellClass *klass)
|
|||||||
static void
|
static void
|
||||||
sysprof_progress_cell_init (SysprofProgressCell *self)
|
sysprof_progress_cell_init (SysprofProgressCell *self)
|
||||||
{
|
{
|
||||||
|
char percent[32];
|
||||||
|
|
||||||
_sysprof_css_init ();
|
_sysprof_css_init ();
|
||||||
|
|
||||||
|
g_snprintf (percent, sizeof percent, "%6.2lf%%", .0);
|
||||||
|
|
||||||
self->label = g_object_new (GTK_TYPE_LABEL,
|
self->label = g_object_new (GTK_TYPE_LABEL,
|
||||||
"halign", GTK_ALIGN_CENTER,
|
"halign", GTK_ALIGN_END,
|
||||||
"valign", GTK_ALIGN_CENTER,
|
"valign", GTK_ALIGN_CENTER,
|
||||||
|
"label", percent,
|
||||||
NULL);
|
NULL);
|
||||||
self->alt_label = g_object_new (GTK_TYPE_LABEL,
|
self->alt_label = g_object_new (GTK_TYPE_LABEL,
|
||||||
"halign", GTK_ALIGN_CENTER,
|
"halign", GTK_ALIGN_END,
|
||||||
"valign", GTK_ALIGN_CENTER,
|
"valign", GTK_ALIGN_CENTER,
|
||||||
|
"label", percent,
|
||||||
NULL);
|
NULL);
|
||||||
gtk_widget_add_css_class (GTK_WIDGET (self->alt_label), "in-progress");
|
gtk_widget_add_css_class (GTK_WIDGET (self->alt_label), "in-progress");
|
||||||
self->trough = g_object_new (ADW_TYPE_BIN,
|
self->trough = g_object_new (ADW_TYPE_BIN,
|
||||||
@ -223,6 +231,7 @@ sysprof_progress_cell_init (SysprofProgressCell *self)
|
|||||||
NULL);
|
NULL);
|
||||||
self->progress = g_object_new (ADW_TYPE_BIN,
|
self->progress = g_object_new (ADW_TYPE_BIN,
|
||||||
"css-name", "progress",
|
"css-name", "progress",
|
||||||
|
"visible", FALSE,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
gtk_widget_set_parent (GTK_WIDGET (self->trough), GTK_WIDGET (self));
|
gtk_widget_set_parent (GTK_WIDGET (self->trough), GTK_WIDGET (self));
|
||||||
@ -259,10 +268,11 @@ sysprof_progress_cell_set_fraction (SysprofProgressCell *self,
|
|||||||
|
|
||||||
self->fraction = fraction;
|
self->fraction = fraction;
|
||||||
|
|
||||||
g_snprintf (text, sizeof text, "%.2lf%%", fraction*100.);
|
g_snprintf (text, sizeof text, "%6.2lf%%", fraction*100.);
|
||||||
gtk_label_set_text (self->label, text);
|
gtk_label_set_text (self->label, text);
|
||||||
gtk_label_set_text (self->alt_label, text);
|
gtk_label_set_text (self->alt_label, text);
|
||||||
|
|
||||||
|
gtk_widget_set_visible (GTK_WIDGET (self->progress), fraction > .0);
|
||||||
gtk_widget_queue_allocate (GTK_WIDGET (self));
|
gtk_widget_queue_allocate (GTK_WIDGET (self));
|
||||||
|
|
||||||
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_FRACTION]);
|
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_FRACTION]);
|
||||||
|
|||||||
Reference in New Issue
Block a user