X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/bd7b4faa4aa54e8bbfeee345449cd9d29c8c16c3..a5cf21ff06aff44cde563eaceae3c6cef452ee48:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 5f44249b7..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(), @@ -536,7 +528,6 @@ void DolphinMainWindow::closeEvent(QCloseEvent* event) dialog->setCaption(i18nc("@title:window", "Confirmation")); dialog->setButtons(KDialog::Yes | KDialog::No | KDialog::Cancel); dialog->setModal(true); - dialog->showButtonSeparator(true); dialog->setButtonGuiItem(KDialog::Yes, KStandardGuiItem::quit()); dialog->setButtonGuiItem(KDialog::No, KGuiItem(i18n("C&lose Current Tab"), KIcon("tab-close"))); dialog->setButtonGuiItem(KDialog::Cancel, KStandardGuiItem::cancel()); @@ -731,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)); @@ -831,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() @@ -1123,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; @@ -1239,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); @@ -1275,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); @@ -1286,28 +1264,18 @@ 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(); connect(clipboard, SIGNAL(dataChanged()), this, SLOT(updatePasteAction())); - updatePasteAction(); - updateGoActions(); if (generalSettings->splitView()) { toggleSplitView(); } + updateEditActions(); updateViewActions(); + updateGoActions(); QAction* showFilterBarAction = actionCollection()->action("show_filter_bar"); showFilterBarAction->setChecked(generalSettings->filterBar()); @@ -1405,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); @@ -1474,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")); @@ -1530,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() @@ -1602,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(); @@ -1628,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);