Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 507002
Collapse All | Expand All

(-)a/src/klineedit.cpp (-2 / +3 lines)
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) {

Return to bug 507002