Merge branch 'KDE/4.14'

This commit is contained in:
Frank Reininghaus 2014-08-12 09:23:24 +02:00
commit 1233bee5fa
3 changed files with 23 additions and 9 deletions

View file

@ -187,6 +187,10 @@ QByteArray DolphinTabPage::saveState() const
void DolphinTabPage::restoreState(const QByteArray& state)
{
if (state.isEmpty()) {
return;
}
QByteArray sd = state;
QDataStream stream(&sd, QIODevice::ReadOnly);

View file

@ -1136,14 +1136,24 @@ void KStandardItemListWidget::updateIconsLayoutTextCache()
const int textLength = line.textStart() + line.textLength();
if (textLength < nameText.length()) {
// Elide the last line of the text
QString lastTextLine = nameText.mid(line.textStart());
lastTextLine = m_customizedFontMetrics.elidedText(lastTextLine,
Qt::ElideRight,
maxWidth);
const QString elidedText = nameText.left(line.textStart()) + lastTextLine;
nameTextInfo->staticText.setText(elidedText);
qreal elidingWidth = maxWidth;
qreal lastLineWidth;
do {
QString lastTextLine = nameText.mid(line.textStart());
lastTextLine = m_customizedFontMetrics.elidedText(lastTextLine,
Qt::ElideRight,
elidingWidth);
const QString elidedText = nameText.left(line.textStart()) + lastTextLine;
nameTextInfo->staticText.setText(elidedText);
lastLineWidth = m_customizedFontMetrics.boundingRect(lastTextLine).width();
// We do the text eliding in a loop with decreasing width (1 px / iteration)
// to avoid problems related to different width calculation code paths
// within Qt. (see bug 337104)
elidingWidth -= 1.0;
} while (lastLineWidth > maxWidth);
const qreal lastLineWidth = m_customizedFontMetrics.boundingRect(lastTextLine).width();
nameWidth = qMax(nameWidth, lastLineWidth);
}
break;

View file

@ -1289,11 +1289,11 @@ void DolphinView::updateViewState()
m_view->scrollToItem(currentIndex);
m_scrollToCurrentItem = false;
}
m_currentItemUrl = KUrl();
} else {
selectionManager->setCurrentItem(0);
}
m_currentItemUrl = KUrl();
}
if (!m_restoredContentsPosition.isNull()) {