X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/609ce0929289f3e26eb1898b184c7dafbf7bcac2..bdb91e85ec76da0019044c0f9166be5979df41d6:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 46a80629b..acd1282a2 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -69,11 +69,13 @@ #include #include #include +#include -#include -#include -#include -#include +#include +#include +#include +#include +#include DolphinMainWindow::DolphinMainWindow(int id) : KXmlGuiWindow(0), @@ -319,7 +321,12 @@ void DolphinMainWindow::slotSelectionChanged(const KFileItemList& selection) } QAction* compareFilesAction = actionCollection()->action("compare_files"); - compareFilesAction->setEnabled(selectedUrlsCount == 2); + if (selectedUrlsCount == 2) { + const bool kompareInstalled = !KGlobal::dirs()->findExe("kompare").isEmpty(); + compareFilesAction->setEnabled(selectedUrlsCount == 2 && kompareInstalled); + } else { + compareFilesAction->setEnabled(false); + } m_activeViewContainer->updateStatusBar(); @@ -559,7 +566,19 @@ void DolphinMainWindow::updatePasteAction() void DolphinMainWindow::selectAll() { clearStatusBar(); - m_activeViewContainer->view()->selectAll(); + + // if the URL navigator is editable and focused, select the whole + // URL instead of all items of the view + + KUrlNavigator* urlNavigator = m_activeViewContainer->urlNavigator(); + QLineEdit* lineEdit = urlNavigator->editor()->lineEdit(); + const bool selectUrl = urlNavigator->isUrlEditable() && + lineEdit->hasFocus(); + if (selectUrl) { + lineEdit->selectAll(); + } else { + m_activeViewContainer->view()->selectAll(); + } } void DolphinMainWindow::invertSelection()