]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinmainwindow.cpp
use a smaller step size when using the scroll wheel
[dolphin.git] / src / dolphinmainwindow.cpp
index 0dc2ecb57bb898f2a6554e548e43580d48b939c4..ebb11ba5b5a06e6e0eb9864a8c6d01076553b81b 100644 (file)
@@ -43,6 +43,7 @@
 
 #include "dolphin_generalsettings.h"
 #include "dolphin_iconsmodesettings.h"
+#include "draganddrophelper.h"
 
 #include <kaction.h>
 #include <kactioncollection.h>
@@ -82,8 +83,6 @@
 #include <QSplitter>
 #include <QDockWidget>
 
-#include <kdebug.h>
-
 DolphinMainWindow::DolphinMainWindow(int id) :
     KXmlGuiWindow(0),
     m_newMenu(0),
@@ -115,7 +114,9 @@ DolphinMainWindow::DolphinMainWindow(int id) :
     connect(undoManager, SIGNAL(jobRecordingFinished(CommandType)),
             this, SLOT(showCommand(CommandType)));
     connect(DolphinSettings::instance().placesModel(), SIGNAL(errorMessage(const QString&)),
-            this, SLOT(slotHandlePlacesError(const QString&)));
+            this, SLOT(showErrorMessage(const QString&)));
+    connect(&DragAndDropHelper::instance(), SIGNAL(errorMessage(const QString&)),
+            this, SLOT(showErrorMessage(const QString&)));
 }
 
 DolphinMainWindow::~DolphinMainWindow()
@@ -250,8 +251,10 @@ void DolphinMainWindow::slotSelectionChanged(const KFileItemList& selection)
         compareFilesAction->setEnabled(false);
     }
 
+#if defined(QUICK_VIEW)
     const bool activeViewHasSelection = (activeViewContainer()->view()->selectedItemsCount() > 0);
     actionCollection()->action("quick_view")->setEnabled(activeViewHasSelection);
+#endif
 
     m_activeViewContainer->updateStatusBar();
 
@@ -294,6 +297,13 @@ void DolphinMainWindow::openNewTab()
 {
     openNewTab(m_activeViewContainer->url());
     m_tabBar->setCurrentIndex(m_viewTab.count() - 1);
+    
+    KUrlNavigator* navigator = m_activeViewContainer->urlNavigator();
+    if (navigator->isUrlEditable()) {
+        // if a new tab is opened and the URL is editable, assure that
+        // the user can edit the URL without manually setting the focus
+        navigator->setFocus();
+    }
 }
 
 void DolphinMainWindow::openNewTab(const KUrl& url)
@@ -310,6 +320,7 @@ void DolphinMainWindow::openNewTab(const KUrl& url)
     ViewTab viewTab;
     viewTab.splitter = new QSplitter(this);
     viewTab.primaryView = new DolphinViewContainer(this, viewTab.splitter, url);
+    viewTab.primaryView->setActive(false);
     connectViewSignals(viewTab.primaryView);
     viewTab.primaryView->view()->reload();
 
@@ -346,7 +357,6 @@ void DolphinMainWindow::openInNewTab()
     const KFileItemList list = m_activeViewContainer->view()->selectedItems();
     if ((list.count() == 1) && list[0].isDir()) {
         openNewTab(m_activeViewContainer->view()->selectedUrls()[0]);
-        m_tabBar->setCurrentIndex(m_viewTab.count() - 1);
     }
 }
 
@@ -441,7 +451,7 @@ void DolphinMainWindow::quit()
     close();
 }
 
-void DolphinMainWindow::slotHandlePlacesError(const QString &message)
+void DolphinMainWindow::showErrorMessage(const QString& message)
 {
     if (!message.isEmpty()) {
         DolphinStatusBar* statusBar = m_activeViewContainer->statusBar();
@@ -707,7 +717,12 @@ void DolphinMainWindow::setActiveTab(int index)
     }
 
     // hide current tab content
-    m_viewTab[m_tabIndex].isPrimaryViewActive = m_viewTab[m_tabIndex].primaryView->isActive();
+    ViewTab& hiddenTab = m_viewTab[m_tabIndex];
+    hiddenTab.isPrimaryViewActive = hiddenTab.primaryView->isActive();
+    hiddenTab.primaryView->setActive(false);
+    if (hiddenTab.secondaryView != 0) {
+        hiddenTab.secondaryView->setActive(false);
+    }
     QSplitter* splitter = m_viewTab[m_tabIndex].splitter;
     splitter->hide();
     m_centralWidgetLayout->removeWidget(splitter);
@@ -944,7 +959,7 @@ void DolphinMainWindow::setActiveViewContainer(DolphinViewContainer* viewContain
 void DolphinMainWindow::setupActions()
 {
     // setup 'File' menu
-    m_newMenu = new DolphinNewMenu(this);
+    m_newMenu = new DolphinNewMenu(this, this);
     KMenu* menu = m_newMenu->menu();
     menu->setTitle(i18nc("@title:menu Create new folder, file, link, etc.", "Create New"));
     menu->setIcon(KIcon("document-new"));
@@ -1046,12 +1061,15 @@ void DolphinMainWindow::setupActions()
     compareFiles->setEnabled(false);
     connect(compareFiles, SIGNAL(triggered()), this, SLOT(compareFiles()));
 
+    // disabled Quick View
+#if defined(QUICK_VIEW)
     KAction* quickView = actionCollection()->addAction("quick_view");
     quickView->setText(i18nc("@action:inmenu Tools", "Quick View"));
     quickView->setIcon(KIcon("view-preview"));
     quickView->setShortcut(Qt::CTRL + Qt::Key_Return);
     quickView->setEnabled(false);
     connect(quickView, SIGNAL(triggered()), this, SLOT(quickView()));
+#endif
 
     // setup 'Settings' menu
     m_showMenuBar = KStandardAction::showMenubar(this, SLOT(toggleShowMenuBar()), actionCollection());