|
Lines 566-571
void KLineEdit::setSqueezedText()
Link Here
|
| 566 |
d->squeezedStart = 0; |
566 |
d->squeezedStart = 0; |
| 567 |
d->squeezedEnd = 0; |
567 |
d->squeezedEnd = 0; |
| 568 |
const QString fullText = d->squeezedText; |
568 |
const QString fullText = d->squeezedText; |
|
|
569 |
const int fullLength = fullText.length(); |
| 569 |
const QFontMetrics fm(fontMetrics()); |
570 |
const QFontMetrics fm(fontMetrics()); |
| 570 |
const int labelWidth = size().width() - 2 * style()->pixelMetric(QStyle::PM_DefaultFrameWidth) - 2; |
571 |
const int labelWidth = size().width() - 2 * style()->pixelMetric(QStyle::PM_DefaultFrameWidth) - 2; |
| 571 |
const int textWidth = fm.width(fullText); |
572 |
const int textWidth = fm.width(fullText); |
|
Lines 587-593
void KLineEdit::setSqueezedText()
Link Here
|
| 587 |
letters++; |
588 |
letters++; |
| 588 |
squeezedText = fullText.left(letters) + "..." + fullText.right(letters); |
589 |
squeezedText = fullText.left(letters) + "..." + fullText.right(letters); |
| 589 |
squeezedWidth = fm.width(squeezedText); |
590 |
squeezedWidth = fm.width(squeezedText); |
| 590 |
} while (squeezedWidth < labelWidth); |
591 |
} while (squeezedWidth < labelWidth && letters <= fullLength / 2); |
| 591 |
letters--; |
592 |
letters--; |
| 592 |
squeezedText = fullText.left(letters) + "..." + fullText.right(letters); |
593 |
squeezedText = fullText.left(letters) + "..." + fullText.right(letters); |
| 593 |
} else if (squeezedWidth > labelWidth) { |
594 |
} else if (squeezedWidth > labelWidth) { |
|
Lines 597-603
void KLineEdit::setSqueezedText()
Link Here
|
| 597 |
letters--; |
598 |
letters--; |
| 598 |
squeezedText = fullText.left(letters) + "..." + fullText.right(letters); |
599 |
squeezedText = fullText.left(letters) + "..." + fullText.right(letters); |
| 599 |
squeezedWidth = fm.width(squeezedText); |
600 |
squeezedWidth = fm.width(squeezedText); |
| 600 |
} while (squeezedWidth > labelWidth); |
601 |
} while (squeezedWidth > labelWidth && letters >= 5); |
| 601 |
} |
602 |
} |
| 602 |
|
603 |
|
| 603 |
if (letters < 5) { |
604 |
if (letters < 5) { |