#include "dolphin_generalsettings.h"
#include "dolphin_iconsmodesettings.h"
+#include "draganddrophelper.h"
#include <kaction.h>
#include <kactioncollection.h>
#include <QSplitter>
#include <QDockWidget>
-#include <kdebug.h>
-
DolphinMainWindow::DolphinMainWindow(int id) :
KXmlGuiWindow(0),
m_newMenu(0),
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()
compareFilesAction->setEnabled(false);
}
+#if defined(QUICK_VIEW)
const bool activeViewHasSelection = (activeViewContainer()->view()->selectedItemsCount() > 0);
actionCollection()->action("quick_view")->setEnabled(activeViewHasSelection);
+#endif
m_activeViewContainer->updateStatusBar();
{
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)
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();
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);
}
}
close();
}
-void DolphinMainWindow::slotHandlePlacesError(const QString &message)
+void DolphinMainWindow::showErrorMessage(const QString& message)
{
if (!message.isEmpty()) {
DolphinStatusBar* statusBar = m_activeViewContainer->statusBar();
}
// 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);
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"));
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());