#include <kstatusbar.h>
#include <kstandardaction.h>
#include <kurl.h>
+#include <kurlcombobox.h>
-#include <QtGui/QKeyEvent>
-#include <QtGui/QClipboard>
-#include <QtGui/QSplitter>
-#include <QtGui/QDockWidget>
+#include <QKeyEvent>
+#include <QClipboard>
+#include <QLineEdit>
+#include <QSplitter>
+#include <QDockWidget>
DolphinMainWindow::DolphinMainWindow(int id) :
KXmlGuiWindow(0),
}
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();
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()
SidebarPage* terminalWidget = new TerminalSidebarPage(terminalDock);
terminalDock->setWidget(terminalWidget);
+ connect(terminalWidget, SIGNAL(hideTerminalSidebarPage()), terminalDock, SLOT(hide()));
+
terminalDock->toggleViewAction()->setText(i18nc("@title:window", "Terminal"));
terminalDock->toggleViewAction()->setShortcut(Qt::Key_F4);
actionCollection()->addAction("show_terminal_panel", terminalDock->toggleViewAction());