X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/b1aadb8cce40ac4bc2f33729cd80ef270de72163..148282e2d856b47ceb191eeef4c834118c8cdffd:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 0dc2ecb57..ebb11ba5b 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -43,6 +43,7 @@ #include "dolphin_generalsettings.h" #include "dolphin_iconsmodesettings.h" +#include "draganddrophelper.h" #include #include @@ -82,8 +83,6 @@ #include #include -#include - 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());