- if (length > 1000000) {
- length /= 1000000;
- s.setNum(length, 'f', 2);
- s += "mb";
- } if (length > 1000) {
- length /= 1000;
- s.setNum(length, 'f', 2);
- s += "kb";
- } else {
- s.setNum(length);
- s += "b";
+ float short_length = length_;
+ if (length_ != length) {
+ if (short_length > 1000000) {
+ short_length /= 1000000;
+ s.setNum(short_length, 'f', 2);
+ s += "mb";
+ } if (short_length > 1000) {
+ short_length /= 1000;
+ s.setNum(short_length, 'f', 2);
+ s += "kb";
+ } else {
+ s.setNum(short_length);
+ s += "b";
+ }
+ length_label.setText(s);
+ length = length_;
+ emit lengthChanged(length);