level bar: Fix offset behavior
We had some odd special-casing for the lowest and highest offset that did not quite work. The new rule is simple: If the value is between offset n-1 and n, it gets the style for offset n. https://bugzilla.gnome.org/show_bug.cgi?id=761416
This commit is contained in:
@ -652,17 +652,19 @@ update_level_style_classes (GtkLevelBar *self)
|
|||||||
offset = l->data;
|
offset = l->data;
|
||||||
|
|
||||||
/* find the right offset for our style class */
|
/* find the right offset for our style class */
|
||||||
if ((l->prev == NULL && value <= offset->value) ||
|
if (value <= offset->value)
|
||||||
(l->next == NULL && value >= offset->value))
|
{
|
||||||
|
if (l->prev == NULL)
|
||||||
{
|
{
|
||||||
value_class = offset->name;
|
value_class = offset->name;
|
||||||
}
|
}
|
||||||
else if (l->prev != NULL)
|
else
|
||||||
{
|
{
|
||||||
prev_offset = l->prev->data;
|
prev_offset = l->prev->data;
|
||||||
if (prev_offset->value <= value && value < offset->value)
|
if (prev_offset->value < value)
|
||||||
value_class = offset->name;
|
value_class = offset->name;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (value_class)
|
if (value_class)
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user