+ label_incomplete_ = true;
+
+ // Try just "{time}ms" format and gradually reduce time precision down to zero
+ for (int shrinkage=0; shrinkage <= time_precision; shrinkage++) {
+ int prec = time_precision - shrinkage ;
+
+ const QString time = Ruler::format_time_with_distance(
+ diff, diff, prefix, view_.time_unit(),
+ prec, false);
+
+ if (query_size(time) <= max_width)
+ return time;
+ }
+
+ // Try no trailing digits and drop the unit to at least display something. The unit should be obvious from the ruler
+ // anyway.
+ const QString bare_number = Ruler::format_time_with_distance(
+ diff, diff, prefix, view_.time_unit(),
+ 0, false, false);
+ if (query_size(bare_number) <= max_width)
+ return bare_number;