X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/a56b52dc4d3e6253fd88d0a34e9ea1f59a65ee45..1b15dd24e9c28cdc5ee5a16d7ce646d4618107b9:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 42fe75841..bc0f9d651 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -20,27 +20,24 @@ ***************************************************************************/ #include "dolphinmainwindow.h" -#include "dolphinviewactionhandler.h" -#include "dolphinremoteencoding.h" #include -#ifdef HAVE_NEPOMUK -#include "search/dolphinsearchoptionsconfigurator.h" -#endif #include "dolphinapplication.h" #include "dolphincontextmenu.h" #include "dolphinnewmenu.h" -#include "search/dolphinsearchbox.h" -#include "settings/dolphinsettings.h" -#include "settings/dolphinsettingsdialog.h" #include "dolphinviewcontainer.h" +#include "mainwindowadaptor.h" #include "panels/folders/folderspanel.h" #include "panels/places/placespanel.h" #include "panels/information/informationpanel.h" -#include "mainwindowadaptor.h" +#include "settings/dolphinsettings.h" +#include "settings/dolphinsettingsdialog.h" #include "statusbar/dolphinstatusbar.h" -#include "viewproperties.h" +#include "views/dolphinviewactionhandler.h" +#include "views/dolphinremoteencoding.h" +#include "views/draganddrophelper.h" +#include "views/viewproperties.h" #ifndef Q_OS_WIN #include "panels/terminal/terminalpanel.h" @@ -48,7 +45,6 @@ #include "dolphin_generalsettings.h" #include "dolphin_iconsmodesettings.h" -#include "draganddrophelper.h" #include #include @@ -112,10 +108,6 @@ DolphinMainWindow::DolphinMainWindow(int id) : m_tabBar(0), m_activeViewContainer(0), m_centralWidgetLayout(0), - m_searchBox(0), -#ifdef HAVE_NEPOMUK - m_searchOptionsConfigurator(0), -#endif m_id(id), m_tabIndex(0), m_viewTab(), @@ -730,6 +722,11 @@ void DolphinMainWindow::paste() m_activeViewContainer->view()->paste(); } +void DolphinMainWindow::find() +{ + m_activeViewContainer->setSearchModeEnabled(true); +} + void DolphinMainWindow::updatePasteAction() { QAction* pasteAction = actionCollection()->action(KStandardAction::name(KStandardAction::Paste)); @@ -830,7 +827,15 @@ void DolphinMainWindow::replaceLocation() void DolphinMainWindow::goBack() { clearStatusBar(); - m_activeViewContainer->urlNavigator()->goBack(); + + KUrlNavigator* urlNavigator = m_activeViewContainer->urlNavigator(); + urlNavigator->goBack(); + + if (urlNavigator->locationState().isEmpty()) { + // An empty location state indicates a redirection URL, + // which must be skipped too + urlNavigator->goBack(); + } } void DolphinMainWindow::goForward() @@ -1122,21 +1127,6 @@ void DolphinMainWindow::slotTestCanDecode(const QDragMoveEvent* event, bool& can canDecode = KUrl::List::canDecode(event->mimeData()); } -void DolphinMainWindow::searchItems() -{ -#ifdef HAVE_NEPOMUK - const KUrl nepomukSearchUrl = m_searchOptionsConfigurator->nepomukSearchUrl(); - m_activeViewContainer->setUrl(nepomukSearchUrl); -#endif -} - -void DolphinMainWindow::showSearchOptions() -{ -#ifdef HAVE_NEPOMUK - m_searchOptionsConfigurator->show(); -#endif -} - void DolphinMainWindow::handleUrl(const KUrl& url) { delete m_lastHandleUrlStatJob; @@ -1238,14 +1228,6 @@ void DolphinMainWindow::init() connect(this, SIGNAL(urlChanged(const KUrl&)), m_remoteEncoding, SLOT(slotAboutToOpenUrl())); -#ifdef HAVE_NEPOMUK - m_searchOptionsConfigurator = new DolphinSearchOptionsConfigurator(this); - m_searchOptionsConfigurator->hide(); - connect(m_searchOptionsConfigurator, SIGNAL(searchOptionsChanged()), - this, SLOT(searchItems())); - connect(this, SIGNAL(urlChanged(KUrl)), m_searchOptionsConfigurator, SLOT(setDirectory(KUrl))); -#endif - m_tabBar = new KTabBar(this); m_tabBar->setMovable(true); m_tabBar->setTabsClosable(true); @@ -1274,9 +1256,6 @@ void DolphinMainWindow::init() m_centralWidgetLayout = new QVBoxLayout(centralWidget); m_centralWidgetLayout->setSpacing(0); m_centralWidgetLayout->setMargin(0); -#ifdef HAVE_NEPOMUK - m_centralWidgetLayout->addWidget(m_searchOptionsConfigurator); -#endif m_centralWidgetLayout->addWidget(m_tabBar); m_centralWidgetLayout->addWidget(m_viewTab[m_tabIndex].splitter, 1); @@ -1285,16 +1264,6 @@ void DolphinMainWindow::init() emit urlChanged(homeUrl); setupGUI(Keys | Save | Create | ToolBar); - - m_searchBox->setParent(toolBar("searchToolBar")); - m_searchBox->show(); - connect(m_searchBox, SIGNAL(requestSearchOptions()), - this, SLOT(showSearchOptions())); -#ifdef HAVE_NEPOMUK - connect(m_searchBox, SIGNAL(searchTextChanged(QString)), - m_searchOptionsConfigurator, SLOT(setCustomSearchQuery(QString))); -#endif - stateChanged("new_file"); QClipboard* clipboard = QApplication::clipboard(); @@ -1404,6 +1373,8 @@ void DolphinMainWindow::setupActions() // due to the long text, the text "Paste" is used: paste->setIconText(i18nc("@action:inmenu Edit", "Paste")); + KStandardAction::find(this, SLOT(find()), actionCollection()); + KAction* selectAll = actionCollection()->addAction("select_all"); selectAll->setText(i18nc("@action:inmenu Edit", "Select All")); selectAll->setShortcut(Qt::CTRL + Qt::Key_A); @@ -1473,11 +1444,6 @@ void DolphinMainWindow::setupActions() KStandardAction::home(this, SLOT(goHome()), actionCollection()); // setup 'Tools' menu - KToggleAction* showSearchBar = actionCollection()->add("show_search_bar"); - showSearchBar->setText(i18nc("@action:inmenu Tools", "Show Search Bar")); - showSearchBar->setShortcut(Qt::CTRL | Qt::Key_S); - connect(showSearchBar, SIGNAL(triggered(bool)), this, SLOT(toggleFilterBarVisibility(bool))); - KToggleAction* showFilterBar = actionCollection()->add("show_filter_bar"); showFilterBar->setText(i18nc("@action:inmenu Tools", "Show Filter Bar")); showFilterBar->setIcon(KIcon("view-filter")); @@ -1529,16 +1495,6 @@ void DolphinMainWindow::setupActions() openInNewWindow->setText(i18nc("@action:inmenu", "Open in New Window")); openInNewWindow->setIcon(KIcon("window-new")); connect(openInNewWindow, SIGNAL(triggered()), this, SLOT(openInNewWindow())); - - // 'Search' toolbar - m_searchBox = new DolphinSearchBox(this); - connect(m_searchBox, SIGNAL(search(QString)), this, SLOT(searchItems())); - - KAction* search = new KAction(this); - actionCollection()->addAction("search_bar", search); - search->setText(i18nc("@action:inmenu", "Search Bar")); - search->setDefaultWidget(m_searchBox); - search->setShortcutConfigurable(false); } void DolphinMainWindow::setupDockWidgets() @@ -1601,6 +1557,7 @@ void DolphinMainWindow::setupDockWidgets() const bool firstRun = DolphinSettings::instance().generalSettings()->firstRun(); if (firstRun) { + infoDock->hide(); foldersDock->hide(); #ifndef Q_OS_WIN terminalDock->hide(); @@ -1627,7 +1584,7 @@ void DolphinMainWindow::setupDockWidgets() connect(this, SIGNAL(urlChanged(KUrl)), placesPanel, SLOT(setUrl(KUrl))); - KActionMenu* panelsMenu = new KActionMenu(i18nc("@action:inmenu File", "Panels"), this); + KActionMenu* panelsMenu = new KActionMenu(i18nc("@action:inmenu View", "Panels"), this); actionCollection()->addAction("panels", panelsMenu); panelsMenu->setDelayed(false); panelsMenu->addAction(placesAction);