--- deliantra/Deliantra-Client/DC/UI.pm 2007/08/21 23:42:02 1.432 +++ deliantra/Deliantra-Client/DC/UI.pm 2007/08/22 21:27:13 1.433 @@ -2802,6 +2802,7 @@ align => 0, can_events => 1, ellipsise => 1, + label => "%d%%", %arg, ); @@ -2810,17 +2811,27 @@ $self } +sub set_label { + my ($self, $label) = @_; + + return if $self->{label} eq $label; + $self->{label} = $label; + + $self->CFPlus::UI::Progress::set_value (0 + delete $self->{value}); +} + sub set_value { my ($self, $value) = @_; - if ($self->{value} != $value) { + if ($self->{value} ne $value) { $self->{value} = $value; if ($value < 0) { $self->set_text ("-"); } else { - $self->set_text (sprintf "%d%%", $value * 100); + $self->set_text (sprintf $self->{label}, $value * 100); } + $self->update; } }