X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/cadfb2a3c621b875fa3df7ac629bf0b402ac3823..60d555fa55f025f3ecaa82cf95f012cbbbeb8ddc:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 64aba63a5..399c662f8 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -84,7 +84,6 @@ #include #include #include -#include #include #include #include @@ -236,7 +235,7 @@ void DolphinMainWindow::changeUrl(const KUrl& url) updateEditActions(); updateViewActions(); updateGoActions(); - setCaption(url.fileName()); + setUrlAsCaption(url); if (m_viewTab.count() > 1) { m_tabBar->setTabText(m_tabIndex, tabName(url)); } @@ -646,7 +645,7 @@ void DolphinMainWindow::selectAll() // URL instead of all items of the view KUrlNavigator* urlNavigator = m_activeViewContainer->urlNavigator(); - QLineEdit* lineEdit = urlNavigator->editor()->lineEdit(); + QLineEdit* lineEdit = urlNavigator->editor()->lineEdit(); // krazy:exclude=qclasses const bool selectUrl = urlNavigator->isUrlEditable() && lineEdit->hasFocus(); if (selectUrl) { @@ -722,7 +721,7 @@ void DolphinMainWindow::replaceLocation() navigator->setFocus(); // select the whole text of the combo box editor - QLineEdit* lineEdit = navigator->editor()->lineEdit(); + QLineEdit* lineEdit = navigator->editor()->lineEdit(); // krazy:exclude=qclasses const QString text = lineEdit->text(); lineEdit->setSelection(0, text.length()); } @@ -813,7 +812,18 @@ void DolphinMainWindow::toggleShowMenuBar() void DolphinMainWindow::openTerminal() { - KToolInvocation::invokeTerminal(QString(), m_activeViewContainer->url().path()); + QString dir(QDir::homePath()); + + // If the given directory is not local, it can still be the URL of an + // ioslave using UDS_LOCAL_PATH which to be converted first. + KUrl url = KIO::NetAccess::mostLocalUrl(m_activeViewContainer->url(), this); + + //If the URL is local after the above conversion, set the directory. + if (url.isLocalFile()) { + dir = url.toLocalFile(); + } + + KToolInvocation::invokeTerminal(QString(), dir); } void DolphinMainWindow::editSettings() @@ -987,7 +997,7 @@ void DolphinMainWindow::init() setupActions(); const KUrl& homeUrl = generalSettings->homeUrl(); - setCaption(homeUrl.fileName()); + setUrlAsCaption(homeUrl); m_actionHandler = new DolphinViewActionHandler(actionCollection(), this); connect(m_actionHandler, SIGNAL(actionBeingHandled()), SLOT(clearStatusBar())); connect(m_actionHandler, SIGNAL(createDirectory()), SLOT(createDirectory())); @@ -1096,7 +1106,7 @@ void DolphinMainWindow::setActiveViewContainer(DolphinViewContainer* viewContain updateGoActions(); const KUrl& url = m_activeViewContainer->url(); - setCaption(url.fileName()); + setUrlAsCaption(url); 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))); @@ -1231,7 +1241,7 @@ void DolphinMainWindow::setupActions() KAction* openTerminal = actionCollection()->addAction("open_terminal"); openTerminal->setText(i18nc("@action:inmenu Tools", "Open Terminal")); - openTerminal->setIcon(KIcon("terminal")); + openTerminal->setIcon(KIcon("utilities-terminal")); openTerminal->setShortcut(Qt::SHIFT | Qt::Key_F4); connect(openTerminal, SIGNAL(triggered()), this, SLOT(openTerminal())); @@ -1331,7 +1341,7 @@ void DolphinMainWindow::setupDockWidgets() QAction* terminalAction = terminalDock->toggleViewAction(); terminalAction->setText(i18nc("@title:window Shell terminal", "Terminal")); terminalAction->setShortcut(Qt::Key_F4); - terminalAction->setIcon(KIcon("terminal")); + terminalAction->setIcon(KIcon("utilities-terminal")); actionCollection()->addAction("show_terminal_panel", terminalDock->toggleViewAction()); addDockWidget(Qt::BottomDockWidgetArea, terminalDock); @@ -1508,7 +1518,7 @@ QString DolphinMainWindow::tabName(const KUrl& url) const { QString name; if (url.equals(KUrl("file:///"))) { - name = "/"; + name = '/'; } else { name = url.fileName(); if (name.isEmpty()) { @@ -1555,6 +1565,21 @@ QString DolphinMainWindow::tabProperty(const QString& property, int tabIndex) co return "Tab " + QString::number(tabIndex) + ' ' + property; } +void DolphinMainWindow::setUrlAsCaption(const KUrl& url) +{ + QString caption; + if (url.equals(KUrl("file:///"))) { + caption = '/'; + } else { + caption = url.fileName(); + if (caption.isEmpty()) { + caption = url.protocol(); + } + } + + setCaption(caption); +} + DolphinMainWindow::UndoUiInterface::UndoUiInterface() : KIO::FileUndoManager::UiInterface() {