X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/65b18bf935faad814b9ab3b318fdbfb4772d2051..d3839617:/src/dolphinmainwindow.cpp?ds=sidebyside diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 11338ec1f..ef671e820 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -17,12 +17,12 @@ #include "dolphinnavigatorswidgetaction.h" #include "dolphinnewfilemenu.h" #include "dolphinrecenttabsmenu.h" +#include "dolphinplacesmodelsingleton.h" #include "dolphinurlnavigatorscontroller.h" #include "dolphinviewcontainer.h" #include "dolphintabpage.h" #include "middleclickactioneventfilter.h" #include "panels/folders/folderspanel.h" -#include "panels/places/placesitemmodel.h" #include "panels/places/placespanel.h" #include "panels/terminal/terminalpanel.h" #include "settings/dolphinsettingsdialog.h" @@ -64,7 +64,6 @@ #include #include #include -#include #include @@ -123,9 +122,7 @@ DolphinMainWindow::DolphinMainWindow() : setComponentName(QStringLiteral("dolphin"), QGuiApplication::applicationDisplayName()); setObjectName(QStringLiteral("Dolphin#")); -#if KXMLGUI_VERSION >= QT_VERSION_CHECK(5, 88, 0) setStateConfigGroup("State"); -#endif connect(&DolphinNewFileMenuObserver::instance(), &DolphinNewFileMenuObserver::errorMessage, this, &DolphinMainWindow::showErrorMessage); @@ -429,14 +426,13 @@ void DolphinMainWindow::addToPlaces() name = dirToAdd.name(); } if (url.isValid()) { - PlacesItemModel model; QString icon; if (m_activeViewContainer->isSearchModeEnabled()) { icon = QStringLiteral("folder-saved-search-symbolic"); } else { icon = KIO::iconNameForUrl(url); } - model.createPlacesItem(name, url, icon); + DolphinPlacesModelSingleton::instance().placesModel()->addPlace(name, url, icon); } } @@ -758,7 +754,7 @@ void DolphinMainWindow::slotAboutToShowBackPopupMenu() int entries = 0; m_backAction->menu()->clear(); for (int i = urlNavigator->historyIndex() + 1; i < urlNavigator->historySize() && entries < MaxNumberOfNavigationentries; ++i, ++entries) { - QAction* action = new QAction(urlNavigator->locationUrl(i).toString(QUrl::PreferLocalFile), m_backAction->menu()); + QAction* action = new QAction(urlNavigator->locationUrl(i).toDisplayString(QUrl::PreferLocalFile), m_backAction->menu()); action->setData(i); m_backAction->menu()->addAction(action); } @@ -787,7 +783,7 @@ void DolphinMainWindow::slotAboutToShowForwardPopupMenu() int entries = 0; m_forwardAction->menu()->clear(); for (int i = urlNavigator->historyIndex() - 1; i >= 0 && entries < MaxNumberOfNavigationentries; --i, ++entries) { - QAction* action = new QAction(urlNavigator->locationUrl(i).toString(QUrl::PreferLocalFile), m_forwardAction->menu()); + QAction* action = new QAction(urlNavigator->locationUrl(i).toDisplayString(QUrl::PreferLocalFile), m_forwardAction->menu()); action->setData(i); m_forwardAction->menu()->addAction(action); } @@ -1954,10 +1950,13 @@ void DolphinMainWindow::setupDockWidgets() addDockWidget(Qt::LeftDockWidgetArea, placesDock); connect(m_placesPanel, &PlacesPanel::placeActivated, this, &DolphinMainWindow::slotPlaceActivated); - connect(m_placesPanel, &PlacesPanel::placeActivatedInNewTab, + connect(m_placesPanel, &PlacesPanel::tabRequested, this, &DolphinMainWindow::openNewTab); - connect(m_placesPanel, &PlacesPanel::placeActivatedInNewActiveTab, + connect(m_placesPanel, &PlacesPanel::activeTabRequested, this, &DolphinMainWindow::openNewTabAndActivate); + connect(m_placesPanel, &PlacesPanel::newWindowRequested, this, [this](const QUrl &url) { + Dolphin::openNewWindow({url}, this); + }); connect(m_placesPanel, &PlacesPanel::errorMessage, this, &DolphinMainWindow::showErrorMessage); connect(this, &DolphinMainWindow::urlChanged, @@ -1980,14 +1979,9 @@ void DolphinMainWindow::setupDockWidgets() "appear semi-transparent unless you uncheck their hide property.")); connect(actionShowAllPlaces, &QAction::triggered, this, [actionShowAllPlaces, this](bool checked){ - actionShowAllPlaces->setIcon(QIcon::fromTheme(checked ? QStringLiteral("view-visible") : QStringLiteral("view-hidden"))); - m_placesPanel->showHiddenEntries(checked); + m_placesPanel->setShowAll(checked); }); - - connect(m_placesPanel, &PlacesPanel::showHiddenEntriesChanged, this, [actionShowAllPlaces] (bool checked){ - actionShowAllPlaces->setChecked(checked); - actionShowAllPlaces->setIcon(QIcon::fromTheme(checked ? QStringLiteral("view-visible") : QStringLiteral("view-hidden"))); - }); + connect(m_placesPanel, &PlacesPanel::allPlacesShownChanged, actionShowAllPlaces, &QAction::setChecked); actionCollection()->action(QStringLiteral("show_places_panel")) ->setWhatsThis(xi18nc("@info:whatsthis", "This toggles the " @@ -2025,7 +2019,7 @@ void DolphinMainWindow::setupDockWidgets() panelsMenu->addAction(lockLayoutAction); connect(panelsMenu->menu(), &QMenu::aboutToShow, this, [actionShowAllPlaces, this]{ - actionShowAllPlaces->setEnabled(m_placesPanel->hiddenListCount()); + actionShowAllPlaces->setEnabled(DolphinPlacesModelSingleton::instance().placesModel()->hiddenCount()); }); }