diff --git a/libs/ui/KisMainWindow.cpp b/libs/ui/KisMainWindow.cpp --- a/libs/ui/KisMainWindow.cpp +++ b/libs/ui/KisMainWindow.cpp @@ -2116,9 +2116,12 @@ QMenu *docMenu = d->documentMenu->menu(); docMenu->clear(); + QFontMetrics fontMetrics = docMenu->fontMetrics(); + int fileStringWidth = int(QApplication::desktop()->screenGeometry(this).width() * .45f); + Q_FOREACH (QPointer doc, KisPart::instance()->documents()) { if (doc) { - QString title = doc->url().toDisplayString(); + QString title = fontMetrics.elidedText(doc->url().toDisplayString(QUrl::PreferLocalFile), Qt::ElideMiddle, fileStringWidth); if (title.isEmpty() && doc->image()) { title = doc->image()->objectName(); } @@ -2216,10 +2219,10 @@ if (child && child->document()) { QString text; if (i < 9) { - text = i18n("&%1 %2", i + 1, child->document()->url().toDisplayString()); + text = i18n("&%1 %2", i + 1, fontMetrics.elidedText(child->document()->url().toDisplayString(QUrl::PreferLocalFile), Qt::ElideMiddle, fileStringWidth)); } else { - text = i18n("%1 %2", i + 1, child->document()->url().toDisplayString()); + text = i18n("%1 %2", i + 1, fontMetrics.elidedText(child->document()->url().toDisplayString(QUrl::PreferLocalFile), Qt::ElideMiddle, fileStringWidth)); } QAction *action = menu->addAction(text);