#include <QLineEdit>
#include <QSplitter>
#include <QDockWidget>
+#include <kacceleratormanager.h>
/*
* Remembers the tab configuration if a tab has been closed.
if (m_viewTab.count() > 1) {
m_tabBar->setTabText(m_tabIndex, tabName(url));
}
+ const QString iconName = KMimeType::iconNameForUrl(url);
+ m_tabBar->setTabIcon(m_tabIndex, KIcon(iconName));
emit urlChanged(url);
}
}
void DolphinMainWindow::openNewTab(const KUrl& url)
{
+ const KIcon icon = KIcon(KMimeType::iconNameForUrl(m_activeViewContainer->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(KIcon("folder"), tabName(m_activeViewContainer->url()));
+ m_tabBar->addTab(icon, tabName(m_activeViewContainer->url()));
m_tabBar->blockSignals(false);
}
- m_tabBar->addTab(KIcon("folder"), tabName(url));
+ m_tabBar->addTab(icon, tabName(url));
ViewTab viewTab;
viewTab.splitter = new QSplitter(this);
setCaption(url.fileName());
if (m_viewTab.count() > 1 && m_viewTab[m_tabIndex].secondaryView != 0) {
m_tabBar->setTabText(m_tabIndex, tabName(url));
+ m_tabBar->setTabIcon(m_tabIndex, KIcon(KMimeType::iconNameForUrl(url)));
}
emit urlChanged(url);
const QString primaryPath = m_viewTab[index].primaryView->url().path();
const QString iconName = KMimeType::iconNameForUrl(primaryPath);
- QAction* action = new QAction(primaryPath, tabsMenu);
+ const QFontMetrics fm = fontMetrics();
+ const QString actionText = fm.elidedText(primaryPath, Qt::ElideMiddle, fm.maxWidth() * 20);
+
+ QAction* action = new QAction(actionText, tabsMenu);
ClosedTab closedTab;
closedTab.primaryUrl = m_viewTab[index].primaryView->url();
tabsMenu->removeAction(tabsMenu->actions().last());
}
actionCollection()->action("closed_tabs")->setEnabled(true);
+ KAcceleratorManager::manage(tabsMenu);
}
void DolphinMainWindow::clearStatusBar()