]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinmainwindow.cpp
differ between pasting one folder, pasting one file and pasting n items
[dolphin.git] / src / dolphinmainwindow.cpp
index d4276d49236ed8457e7d8b2d4c9c49e9fe5eef09..69da1b94fad490f88b32488852ff20abb40cf9c4 100644 (file)
 #include "infosidebarpage.h"
 #include "metadatawidget.h"
 #include "mainwindowadaptor.h"
-#include "terminalsidebarpage.h"
 #include "treeviewsidebarpage.h"
 #include "viewpropertiesdialog.h"
 #include "viewproperties.h"
 
+#ifndef Q_OS_WIN
+#include "terminalsidebarpage.h"
+#endif
+
 #include "dolphin_generalsettings.h"
 #include "dolphin_iconsmodesettings.h"
 
@@ -212,9 +215,20 @@ void DolphinMainWindow::slotRequestItemInfo(const KFileItem& item)
     emit requestItemInfo(item);
 }
 
-void DolphinMainWindow::slotHistoryChanged()
+void DolphinMainWindow::updateHistory()
 {
-    updateHistory();
+    const KUrlNavigator* urlNavigator = m_activeViewContainer->urlNavigator();
+    const int index = urlNavigator->historyIndex();
+
+    QAction* backAction = actionCollection()->action("go_back");
+    if (backAction != 0) {
+        backAction->setEnabled(index < urlNavigator->historySize() - 1);
+    }
+
+    QAction* forwardAction = actionCollection()->action("go_forward");
+    if (forwardAction != 0) {
+        forwardAction->setEnabled(index > 0);
+    }
 }
 
 void DolphinMainWindow::updateFilterBarAction(bool show)
@@ -467,7 +481,6 @@ void DolphinMainWindow::toggleSplitView()
 
     setActiveViewContainer(m_viewContainer[PrimaryView]);
     updateViewActions();
-    emit activeViewChanged(); // TODO unused; remove?
 }
 
 void DolphinMainWindow::reloadView()
@@ -499,6 +512,11 @@ void DolphinMainWindow::editLocation()
     KUrlNavigator* navigator = m_activeViewContainer->urlNavigator();
     navigator->setUrlEditable(true);
     navigator->setFocus();
+
+    // select the whole text of the combo box editor
+    QLineEdit* lineEdit = navigator->editor()->lineEdit();
+    const QString text = lineEdit->text();
+    lineEdit->setSelection(0, text.length());
 }
 
 void DolphinMainWindow::adjustViewProperties()
@@ -614,9 +632,6 @@ void DolphinMainWindow::init()
     const bool firstRun = generalSettings->firstRun();
     if (firstRun) {
         generalSettings->setViewPropsTimestamp(QDateTime::currentDateTime());
-        Q_ASSERT(generalSettings->homeUrl().isEmpty());
-        const KUrl homeUrl(QDir::homePath());
-        generalSettings->setHomeUrl(homeUrl.prettyUrl());
     }
 
     setAcceptDrops(true);
@@ -681,6 +696,8 @@ void DolphinMainWindow::setActiveViewContainer(DolphinViewContainer* viewContain
     m_activeViewContainer = viewContainer;
     m_activeViewContainer->setActive(true);
 
+    m_actionHandler->setCurrentView(viewContainer->view());
+
     updateHistory();
     updateEditActions();
     updateViewActions();
@@ -689,9 +706,6 @@ void DolphinMainWindow::setActiveViewContainer(DolphinViewContainer* viewContain
     const KUrl& url = m_activeViewContainer->url();
     setCaption(url.fileName());
 
-    m_actionHandler->setCurrentView(viewContainer->view());
-
-    emit activeViewChanged(); // TODO unused; remove?
     emit urlChanged(url);
 }
 
@@ -852,6 +866,7 @@ void DolphinMainWindow::setupDockWidgets()
             this, SLOT(dropUrls(KUrl::List, KUrl)));
 
     // setup "Terminal"
+#ifndef Q_OS_WIN
     QDockWidget* terminalDock = new QDockWidget(i18nc("@title:window", "Terminal"));
     terminalDock->setObjectName("terminalDock");
     terminalDock->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);
@@ -867,12 +882,15 @@ void DolphinMainWindow::setupDockWidgets()
     addDockWidget(Qt::BottomDockWidgetArea, terminalDock);
     connect(this, SIGNAL(urlChanged(KUrl)),
             terminalWidget, SLOT(setUrl(KUrl)));
+#endif
 
     const bool firstRun = DolphinSettings::instance().generalSettings()->firstRun();
     if (firstRun) {
         infoDock->hide();
         treeViewDock->hide();
+#ifndef Q_OS_WIN
         terminalDock->hide();
+#endif
     }
 
     QDockWidget* placesDock = new QDockWidget(i18nc("@title:window", "Places"));
@@ -895,22 +913,6 @@ void DolphinMainWindow::setupDockWidgets()
             placesView, SLOT(setUrl(KUrl)));
 }
 
-void DolphinMainWindow::updateHistory()
-{
-    const KUrlNavigator* urlNavigator = m_activeViewContainer->urlNavigator();
-    const int index = urlNavigator->historyIndex();
-
-    QAction* backAction = actionCollection()->action("go_back");
-    if (backAction != 0) {
-        backAction->setEnabled(index < urlNavigator->historySize() - 1);
-    }
-
-    QAction* forwardAction = actionCollection()->action("go_forward");
-    if (forwardAction != 0) {
-        forwardAction->setEnabled(index > 0);
-    }
-}
-
 void DolphinMainWindow::updateEditActions()
 {
     const KFileItemList list = m_activeViewContainer->view()->selectedItems();
@@ -989,7 +991,7 @@ void DolphinMainWindow::connectViewSignals(int viewIndex)
     connect(navigator, SIGNAL(urlChanged(const KUrl&)),
             this, SLOT(changeUrl(const KUrl&)));
     connect(navigator, SIGNAL(historyChanged()),
-            this, SLOT(slotHistoryChanged()));
+            this, SLOT(updateHistory()));
     connect(navigator, SIGNAL(editableStateChanged(bool)),
             this, SLOT(slotEditableStateChanged(bool)));
 }