]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Fixed the annoying bug (for me) that dealt with having a very long folder name. In...
authorShaun Reich <shaun.reich@kdemail.net>
Thu, 9 Jul 2009 04:41:53 +0000 (04:41 +0000)
committerShaun Reich <shaun.reich@kdemail.net>
Thu, 9 Jul 2009 04:41:53 +0000 (04:41 +0000)
Now they are ellided, so e.g. "really really long folder name...is" or something.

Few more cases left for me to fix(shortly), but those are not quite close to this section.

svn path=/trunk/KDE/kdebase/apps/; revision=993618

src/dolphinmainwindow.cpp
src/dolphinmainwindow.h

index 399c662f83426a38df268edb27e59bd1c061f01c..1c310b5b39ffbd2edb99dba08e7fdb99925185e8 100644 (file)
@@ -237,7 +237,7 @@ void DolphinMainWindow::changeUrl(const KUrl& url)
         updateGoActions();
         setUrlAsCaption(url);
         if (m_viewTab.count() > 1) {
-            m_tabBar->setTabText(m_tabIndex, tabName(url));
+            m_tabBar->setTabText(m_tabIndex, squeezeText(tabName(m_activeViewContainer->url())));
         }
         const QString iconName = KMimeType::iconNameForUrl(url);
         m_tabBar->setTabIcon(m_tabIndex, KIcon(iconName));
@@ -339,11 +339,11 @@ void DolphinMainWindow::openNewTab(const KUrl& url)
     if (m_viewTab.count() == 1) {
         // Only one view is open currently and hence no tab is shown at
         // all. Before creating a tab for 'url', provide a tab for the current URL.
-        m_tabBar->addTab(icon, tabName(m_activeViewContainer->url()));
+        m_tabBar->addTab(icon, squeezeText(tabName(m_activeViewContainer->url())));
         m_tabBar->blockSignals(false);
     }
 
-    m_tabBar->addTab(icon, tabName(url));
+    m_tabBar->addTab(icon, squeezeText(tabName(url)));
 
     ViewTab viewTab;
     viewTab.splitter = new QSplitter(this);
@@ -1434,10 +1434,7 @@ void DolphinMainWindow::rememberClosedTab(int index)
     const QString primaryPath = m_viewTab[index].primaryView->url().path();
     const QString iconName = KMimeType::iconNameForUrl(primaryPath);
 
-    const QFontMetrics fm = fontMetrics();
-    const QString actionText = fm.elidedText(primaryPath, Qt::ElideMiddle, fm.maxWidth() * 20);
-
-    QAction* action = new QAction(actionText, tabsMenu);
+    QAction* action = new QAction(squeezeText(primaryPath), tabsMenu);
 
     ClosedTab closedTab;
     closedTab.primaryUrl = m_viewTab[index].primaryView->url();
@@ -1580,6 +1577,13 @@ void DolphinMainWindow::setUrlAsCaption(const KUrl& url)
     setCaption(caption);
 }
 
+QString DolphinMainWindow::squeezeText(const QString& text)
+{
+    const QFontMetrics fm = fontMetrics();
+    QString result = fm.elidedText(text, Qt::ElideMiddle, fm.maxWidth() * 10);
+    return result;
+}
+
 DolphinMainWindow::UndoUiInterface::UndoUiInterface() :
     KIO::FileUndoManager::UiInterface()
 {
index c1e0ffcbdc14415e0c4cd50d5d5a3f0b9a1ab486..4d724ad2d3c5a352f7db0cf2d22743dd4b1a9db9 100644 (file)
@@ -455,6 +455,8 @@ private:
         virtual void jobError(KIO::Job* job);
     };
 
+    QString squeezeText(const QString& text);
+
     KNewMenu* m_newMenu;
     KActionMenu* m_recentTabsMenu;
     KAction* m_showMenuBar;