]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Merge branch 'master' into kf6
authorNicolas Fella <nicolas.fella@gmx.de>
Thu, 10 Aug 2023 12:42:08 +0000 (14:42 +0200)
committerNicolas Fella <nicolas.fella@gmx.de>
Thu, 10 Aug 2023 12:42:08 +0000 (14:42 +0200)
1  2 
CMakeLists.txt
src/dolphinmainwindow.cpp
src/views/dolphinview.cpp

diff --combined CMakeLists.txt
index 6b712e70c24a0445512c0b1430dcefd539212328,57dc3ae11eef5527d925500e24e1fcf932ac9df8..8a0b97c6350af317215f730d0bce89bf89aed3a8
@@@ -2,16 -2,16 +2,16 @@@ cmake_minimum_required(VERSION 3.16
  
  # KDE Application Version, managed by release script
  set (RELEASE_SERVICE_VERSION_MAJOR "23")
- set (RELEASE_SERVICE_VERSION_MINOR "07")
+ set (RELEASE_SERVICE_VERSION_MINOR "11")
  set (RELEASE_SERVICE_VERSION_MICRO "70")
  set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
  project(Dolphin VERSION ${RELEASE_SERVICE_VERSION})
  
 -set(QT_MIN_VERSION "5.15.2")
 -set(KF5_MIN_VERSION "5.101.0")
 +set(QT_MIN_VERSION "6.4.0")
 +set(KF6_MIN_VERSION "5.240.0")
  
  # ECM setup
 -find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED)
 +find_package(ECM ${KF6_MIN_VERSION} CONFIG REQUIRED)
  set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
  
  include(KDEInstallDirs)
@@@ -32,14 -32,14 +32,14 @@@ ecm_setup_version(${RELEASE_SERVICE_VER
                    VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/src/dolphin_version.h"
  )
  
 -ecm_setup_version("5.0.0" VARIABLE_PREFIX DOLPHINVCS
 +ecm_setup_version(${RELEASE_SERVICE_VERSION} VARIABLE_PREFIX DOLPHINVCS
                    VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_version.h"
                    PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfigVersion.cmake"
 -                  SOVERSION 5
 +                  SOVERSION ${QT_MAJOR_VERSION}
  )
  
 -ecm_setup_version("5.0.0" VARIABLE_PREFIX DOLPHINPRIVATE
 -                  SOVERSION 5
 +ecm_setup_version(${RELEASE_SERVICE_VERSION} VARIABLE_PREFIX DOLPHINPRIVATE
 +                  SOVERSION ${QT_MAJOR_VERSION}
  )
  
  find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
@@@ -58,7 -58,7 +58,7 @@@ if (UNIX AND NOT APPLE
      endif()
  endif()
  
 -find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
 +find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS
      KCMUtils
      NewStuff
      CoreAddons
      WindowSystem
      WidgetsAddons
      Codecs
 +    MoreTools
  )
  
 -find_package(KUserFeedback 1.2.0)
 -set_package_properties(KUserFeedback
 +find_package(KUserFeedbackQt6 1.2.1)
 +set_package_properties(KUserFeedbackQt6
          PROPERTIES TYPE OPTIONAL
          PURPOSE "Used for submission of telemetry data"
          )
  
 -if(KUserFeedback_FOUND)
 +if(KUserFeedbackQt6_FOUND)
      set(HAVE_KUSERFEEDBACK TRUE)
  endif()
  
 -find_package(KF5 ${KF5_MIN_VERSION} OPTIONAL_COMPONENTS
 +find_package(KF6 ${KF6_MIN_VERSION} OPTIONAL_COMPONENTS
      Activities
      DocTools
  )
 -set_package_properties(KF5Activities PROPERTIES DESCRIPTION "KActivities libraries"
 +set_package_properties(KF6Activities PROPERTIES DESCRIPTION "KActivities libraries"
                         URL "https://www.kde.org"
                         TYPE OPTIONAL
                         PURPOSE "For tracking which folders are frequently accessed on a Plasma desktop"
@@@ -112,31 -111,31 +112,31 @@@ if(PackageKitQt${QT_MAJOR_VERSION}_FOUN
      set(HAVE_PACKAGEKIT TRUE)
  endif()
  
 -find_package(KF5Baloo ${KF5_MIN_VERSION})
 -set_package_properties(KF5Baloo PROPERTIES DESCRIPTION "Baloo Core libraries"
 +find_package(KF6Baloo ${KF6_MIN_VERSION})
 +set_package_properties(KF6Baloo PROPERTIES DESCRIPTION "Baloo Core libraries"
                         URL "https://www.kde.org"
                         TYPE OPTIONAL
                         PURPOSE "For adding desktop-wide search and tagging support to dolphin"
                        )
  
 -find_package(KF5BalooWidgets 19.07.70)
 -set_package_properties(KF5BalooWidgets PROPERTIES DESCRIPTION "Baloos Widgets"
 +find_package(KF6BalooWidgets ${RELEASE_SERVICE_VERSION})
 +set_package_properties(KF6BalooWidgets PROPERTIES DESCRIPTION "Baloos Widgets"
                         URL "https://www.kde.org"
                         TYPE OPTIONAL
                        )
  
 -find_package(KF5FileMetaData ${KF5_MIN_VERSION})
 -set_package_properties(KF5FileMetaData PROPERTIES
 +find_package(KF6FileMetaData ${KF6_MIN_VERSION})
 +set_package_properties(KF6FileMetaData PROPERTIES
                         URL "https://projects.kde.org/kfilemetadata"
                         TYPE OPTIONAL
                         PURPOSE "For accessing file metadata labels"
                        )
  
 -if (KF5Activities_FOUND)
 +if (KF6Activities_FOUND)
      set(HAVE_KACTIVITIES TRUE)
  endif()
  
 -if (KF5Baloo_FOUND AND KF5BalooWidgets_FOUND AND KF5FileMetaData_FOUND)
 +if (KF6Baloo_FOUND AND KF6BalooWidgets_FOUND AND KF6FileMetaData_FOUND)
      message(STATUS "Baloo packages are found")
      set(HAVE_BALOO TRUE)
  else()
@@@ -150,6 -149,12 +150,6 @@@ else(
      set(HAVE_TERMINAL TRUE)
  endif()
  
 -ecm_set_disabled_deprecation_versions(
 -    QT 5.15
 -    KF 5.90
 -    KSERVICE 5.89 # We use KServiceTypeTrader in a compat code path
 -)
 -
  add_subdirectory(src)
  add_subdirectory(doc)
  
@@@ -206,7 -211,7 +206,7 @@@ ecm_qt_install_logging_categories
          )
  
  ki18n_install(po)
 -if(KF5DocTools_FOUND)
 +if(KF6DocTools_FOUND)
      kdoctools_install(po)
  endif()
  
index d47eac4b4e460077ca7e7f3a7ecb9cd11bd16df0,68704b89a4277692ed4c718009ae68f4f93bb0d9..7064c63c93b22a25ba317a47b829fab8897ec46b
  #include <KDualAction>
  #include <KFileItemListProperties>
  #include <KIO/CommandLauncherJob>
 -#include <kio_version.h>
 -#if KIO_VERSION >= QT_VERSION_CHECK(5, 98, 0)
  #include <KIO/JobUiDelegateFactory>
 -#else
 -#include <KIO/JobUiDelegate>
 -#endif
  #include <KIO/OpenFileManagerWindowJob>
  #include <KIO/OpenUrlJob>
  #include <KJobWidgets>
@@@ -54,6 -59,7 +54,6 @@@
  #include <KShell>
  #include <KShortcutsDialog>
  #include <KStandardAction>
 -#include <KStartupInfo>
  #include <KSycoca>
  #include <KTerminalLauncherJob>
  #include <KToggleAction>
@@@ -64,6 -70,7 +64,6 @@@
  #include <KWindowSystem>
  #include <KXMLGUIFactory>
  
 -#include <kio_version.h>
  #include <kwidgetsaddons_version.h>
  
  #include <QApplication>
  
  #include <algorithm>
  
 +#if HAVE_X11
 +#include <KStartupInfo>
 +#endif
 +
  namespace
  {
  // Used for GeneralSettings::version() to determine whether
@@@ -162,9 -165,6 +162,9 @@@ DolphinMainWindow::DolphinMainWindow(
      connect(m_actionHandler, &DolphinViewActionHandler::createDirectoryTriggered, this, &DolphinMainWindow::createDirectory);
      connect(m_actionHandler, &DolphinViewActionHandler::selectionModeChangeTriggered, this, &DolphinMainWindow::slotSetSelectionMode);
  
 +    Q_CHECK_PTR(actionCollection()->action(QStringLiteral("create_dir")));
 +    m_newFileMenu->setNewFolderShortcutAction(actionCollection()->action(QStringLiteral("create_dir")));
 +
      m_remoteEncoding = new DolphinRemoteEncoding(this, m_actionHandler);
      connect(this, &DolphinMainWindow::urlChanged, m_remoteEncoding, &DolphinRemoteEncoding::slotAboutToOpenUrl);
  
@@@ -283,10 -283,8 +283,10 @@@ void DolphinMainWindow::activateWindow(
  
      if (KWindowSystem::isPlatformWayland()) {
          KWindowSystem::setCurrentXdgActivationToken(activationToken);
 -    } else {
 +    } else if (KWindowSystem::isPlatformX11()) {
 +#if HAVE_X11
          KStartupInfo::setNewStartupId(window()->windowHandle(), activationToken.toUtf8());
 +#endif
      }
  
      KWindowSystem::activateWindow(window()->windowHandle());
@@@ -511,7 -509,7 +511,7 @@@ void DolphinMainWindow::showTarget(
      const KFileItem link = m_activeViewContainer->view()->selectedItems().at(0);
      const QUrl destinationUrl = link.url().resolved(QUrl(link.linkDest()));
  
 -    auto job = KIO::statDetails(destinationUrl, KIO::StatJob::SourceSide, KIO::StatNoDetails);
 +    auto job = KIO::stat(destinationUrl, KIO::StatJob::SourceSide, KIO::StatNoDetails);
  
      connect(job, &KJob::finished, this, [this, destinationUrl](KJob *job) {
          KIO::StatJob *statJob = static_cast<KIO::StatJob *>(job);
@@@ -631,7 -629,7 +631,7 @@@ void DolphinMainWindow::closeEvent(QClo
              QStringList(),
              i18n("Do not ask again"),
              &doNotAskAgainCheckboxResult,
-             KMessageBox::Dangerous);
+             KMessageBox::Notify | KMessageBox::Dangerous);
  
          if (doNotAskAgainCheckboxResult) {
              GeneralSettings::setConfirmClosingTerminalRunningProgram(false);
@@@ -678,12 -676,20 +678,12 @@@ void DolphinMainWindow::readProperties(
  void DolphinMainWindow::updateNewMenu()
  {
      m_newFileMenu->checkUpToDate();
 -#if KIO_VERSION >= QT_VERSION_CHECK(5, 97, 0)
      m_newFileMenu->setWorkingDirectory(activeViewContainer()->url());
 -#else
 -    m_newFileMenu->setPopupFiles(QList<QUrl>() << activeViewContainer()->url());
 -#endif
  }
  
  void DolphinMainWindow::createDirectory()
  {
 -#if KIO_VERSION >= QT_VERSION_CHECK(5, 97, 0)
      m_newFileMenu->setWorkingDirectory(activeViewContainer()->url());
 -#else
 -    m_newFileMenu->setPopupFiles(QList<QUrl>() << activeViewContainer()->url());
 -#endif
      m_newFileMenu->createDirectory();
  }
  
@@@ -818,11 -824,10 +818,11 @@@ void DolphinMainWindow::slotAboutToShow
  {
      const KUrlNavigator *urlNavigator = m_activeViewContainer->urlNavigatorInternalWithHistory();
      int entries = 0;
 -    m_backAction->menu()->clear();
 +    QMenu *menu = m_backAction->popupMenu();
 +    menu->clear();
      for (int i = urlNavigator->historyIndex() + 1; i < urlNavigator->historySize() && entries < MaxNumberOfNavigationentries; ++i, ++entries) {
 -        QAction *action = urlNavigatorHistoryAction(urlNavigator, i, m_backAction->menu());
 -        m_backAction->menu()->addAction(action);
 +        QAction *action = urlNavigatorHistoryAction(urlNavigator, i, menu);
 +        menu->addAction(action);
      }
  }
  
@@@ -847,10 -852,10 +847,10 @@@ void DolphinMainWindow::slotAboutToShow
  {
      const KUrlNavigator *urlNavigator = m_activeViewContainer->urlNavigatorInternalWithHistory();
      int entries = 0;
 -    m_forwardAction->menu()->clear();
 +    QMenu *menu = m_forwardAction->popupMenu();
      for (int i = urlNavigator->historyIndex() - 1; i >= 0 && entries < MaxNumberOfNavigationentries; --i, ++entries) {
 -        QAction *action = urlNavigatorHistoryAction(urlNavigator, i, m_forwardAction->menu());
 -        m_forwardAction->menu()->addAction(action);
 +        QAction *action = urlNavigatorHistoryAction(urlNavigator, i, menu);
 +        menu->addAction(action);
      }
  }
  
@@@ -1259,7 -1264,11 +1259,7 @@@ void DolphinMainWindow::handleUrl(cons
          activeViewContainer()->setUrl(url);
      } else {
          m_lastHandleUrlOpenJob = new KIO::OpenUrlJob(url);
 -#if KIO_VERSION >= QT_VERSION_CHECK(5, 98, 0)
          m_lastHandleUrlOpenJob->setUiDelegate(KIO::createDefaultJobUiDelegate(KJobUiDelegate::AutoHandlingEnabled, this));
 -#else
 -        m_lastHandleUrlOpenJob->setUiDelegate(new KIO::JobUiDelegate(KJobUiDelegate::AutoHandlingEnabled, this));
 -#endif
          m_lastHandleUrlOpenJob->setShowOpenOrExecuteDialog(true);
  
          connect(m_lastHandleUrlOpenJob, &KIO::OpenUrlJob::mimeTypeFound, this, [this, url](const QString &mimetype) {
@@@ -1533,8 -1542,7 +1533,8 @@@ void DolphinMainWindow::setupActions(
      auto hamburgerMenuAction = KStandardAction::hamburgerMenu(nullptr, nullptr, actionCollection());
  
      // setup 'File' menu
 -    m_newFileMenu = new DolphinNewFileMenu(actionCollection(), this);
 +    m_newFileMenu = new DolphinNewFileMenu(nullptr, this);
 +    actionCollection()->addAction(QStringLiteral("new_menu"), m_newFileMenu);
      QMenu *menu = m_newFileMenu->menu();
      menu->setTitle(i18nc("@title:menu Create new folder, file, link, etc.", "Create New"));
      menu->setIcon(QIcon::fromTheme(QStringLiteral("list-add")));
      toggleSelectionModeToolBarAction->setWhatsThis(toggleSelectionModeAction->whatsThis());
      actionCollection()->addAction(QStringLiteral("toggle_selection_mode_tool_bar"), toggleSelectionModeToolBarAction);
      toggleSelectionModeToolBarAction->setCheckable(true);
 -    toggleSelectionModeToolBarAction->setPopupMode(QToolButton::DelayedPopup);
 +    toggleSelectionModeToolBarAction->setPopupMode(KToolBarPopupAction::DelayedPopup);
      connect(toggleSelectionModeToolBarAction, &QAction::triggered, toggleSelectionModeAction, &QAction::trigger);
      connect(toggleSelectionModeAction, &QAction::toggled, toggleSelectionModeToolBarAction, &QAction::setChecked);
  
      replaceLocation->setWhatsThis(xi18nc("@info:whatsthis",
                                           "This switches to editing the location and selects it "
                                           "so you can quickly enter a different location."));
-     actionCollection()->setDefaultShortcut(replaceLocation, Qt::CTRL | Qt::Key_L);
+     actionCollection()->setDefaultShortcuts(replaceLocation, {Qt::CTRL | Qt::Key_L, Qt::ALT | Qt::Key_D});
      connect(replaceLocation, &QAction::triggered, this, &DolphinMainWindow::replaceLocation);
  
      // setup 'Go' menu
          m_backAction->setObjectName(backAction->objectName());
          m_backAction->setShortcuts(backAction->shortcuts());
      }
 -    m_backAction->setPopupMode(QToolButton::DelayedPopup);
 +    m_backAction->setPopupMode(KToolBarPopupAction::DelayedPopup);
      connect(m_backAction, &QAction::triggered, this, &DolphinMainWindow::goBack);
 -    connect(m_backAction->menu(), &QMenu::aboutToShow, this, &DolphinMainWindow::slotAboutToShowBackPopupMenu);
 -    connect(m_backAction->menu(), &QMenu::triggered, this, &DolphinMainWindow::slotGoBack);
 +    connect(m_backAction->popupMenu(), &QMenu::aboutToShow, this, &DolphinMainWindow::slotAboutToShowBackPopupMenu);
 +    connect(m_backAction->popupMenu(), &QMenu::triggered, this, &DolphinMainWindow::slotGoBack);
      actionCollection()->addAction(m_backAction->objectName(), m_backAction);
  
      auto backShortcuts = m_backAction->shortcuts();
          m_forwardAction->setObjectName(forwardAction->objectName());
          m_forwardAction->setShortcuts(forwardAction->shortcuts());
      }
 -    m_forwardAction->setPopupMode(QToolButton::DelayedPopup);
 +    m_forwardAction->setPopupMode(KToolBarPopupAction::DelayedPopup);
      connect(m_forwardAction, &QAction::triggered, this, &DolphinMainWindow::goForward);
 -    connect(m_forwardAction->menu(), &QMenu::aboutToShow, this, &DolphinMainWindow::slotAboutToShowForwardPopupMenu);
 -    connect(m_forwardAction->menu(), &QMenu::triggered, this, &DolphinMainWindow::slotGoForward);
 +    connect(m_forwardAction->popupMenu(), &QMenu::aboutToShow, this, &DolphinMainWindow::slotAboutToShowForwardPopupMenu);
 +    connect(m_forwardAction->popupMenu(), &QMenu::triggered, this, &DolphinMainWindow::slotGoForward);
      actionCollection()->addAction(m_forwardAction->objectName(), m_forwardAction);
      actionCollection()->setDefaultShortcuts(m_forwardAction, m_forwardAction->shortcuts());
  
      // enable middle-click to open in a new tab
      auto *middleClickEventFilter = new MiddleClickActionEventFilter(this);
      connect(middleClickEventFilter, &MiddleClickActionEventFilter::actionMiddleClicked, this, &DolphinMainWindow::slotBackForwardActionMiddleClicked);
 -    m_backAction->menu()->installEventFilter(middleClickEventFilter);
 -    m_forwardAction->menu()->installEventFilter(middleClickEventFilter);
 +    m_backAction->popupMenu()->installEventFilter(middleClickEventFilter);
 +    m_forwardAction->popupMenu()->installEventFilter(middleClickEventFilter);
      KStandardAction::up(this, &DolphinMainWindow::goUp, actionCollection());
      QAction *homeAction = KStandardAction::home(this, &DolphinMainWindow::goHome, actionCollection());
      homeAction->setWhatsThis(xi18nc("@info:whatsthis",
@@@ -2473,7 -2481,6 +2473,7 @@@ void DolphinMainWindow::createPanelActi
      panelAction->setText(dockAction->text());
      panelAction->setIcon(icon);
      dockAction->setIcon(icon);
 +    dockAction->setEnabled(true);
      actionCollection()->setDefaultShortcut(panelAction, shortcut);
  
      connect(panelAction, &QAction::triggered, dockAction, &QAction::trigger);
index ebbf324b007d7e813aed9b2f861f81cf2faec5af,13c8b4df26d6315a860392125c66a5ea6c224373..3db81ec180ddb15aa09b46e242ccb5cdfdbc85df
@@@ -35,7 -35,7 +35,7 @@@
  #include <KFileItemListProperties>
  #include <KFormat>
  #include <KIO/CopyJob>
 -#include <KIO/DeleteJob>
 +#include <KIO/DeleteOrTrashJob>
  #include <KIO/DropJob>
  #include <KIO/JobUiDelegate>
  #include <KIO/Paste>
  
  #include <kwidgetsaddons_version.h>
  
 -#include <kio_version.h>
 -#if KIO_VERSION >= QT_VERSION_CHECK(5, 100, 0)
 -#include <KIO/DeleteOrTrashJob>
 -#endif
 -
  #include <QAbstractItemView>
  #include <QActionGroup>
  #include <QApplication>
@@@ -87,6 -92,7 +87,7 @@@ DolphinView::DolphinView(const QUrl &ur
      , m_currentItemUrl()
      , m_scrollToCurrentItem(false)
      , m_restoredContentsPosition()
+     , m_controlWheelAccumulatedDelta(0)
      , m_selectedUrls()
      , m_clearSelectionBeforeSelectingNewItems(false)
      , m_markFirstNewlySelectedItemAsCurrent(false)
@@@ -618,7 -624,7 +619,7 @@@ void DolphinView::requestStatusBarText(
              return;
          }
  
 -        m_statJobForStatusBarText = KIO::statDetails(m_model->rootItem().url(), KIO::StatJob::SourceSide, KIO::StatRecursiveSize, KIO::HideProgressInfo);
 +        m_statJobForStatusBarText = KIO::stat(m_model->rootItem().url(), KIO::StatJob::SourceSide, KIO::StatRecursiveSize, KIO::HideProgressInfo);
          connect(m_statJobForStatusBarText, &KJob::result, this, &DolphinView::slotStatJobResult);
          m_statJobForStatusBarText->start();
      }
@@@ -752,22 -758,43 +753,22 @@@ void DolphinView::trashSelectedItems(
  {
      const QList<QUrl> list = simplifiedSelectedUrls();
  
 -#if KIO_VERSION >= QT_VERSION_CHECK(5, 100, 0)
      using Iface = KIO::AskUserActionInterface;
      auto *trashJob = new KIO::DeleteOrTrashJob(list, Iface::Trash, Iface::DefaultConfirmation, this);
      connect(trashJob, &KJob::result, this, &DolphinView::slotTrashFileFinished);
      m_selectNextItem = true;
      trashJob->start();
 -#else
 -    KIO::JobUiDelegate uiDelegate;
 -    uiDelegate.setWindow(window());
 -    if (uiDelegate.askDeleteConfirmation(list, KIO::JobUiDelegate::Trash, KIO::JobUiDelegate::DefaultConfirmation)) {
 -        KIO::Job *job = KIO::trash(list);
 -        KIO::FileUndoManager::self()->recordJob(KIO::FileUndoManager::Trash, list, QUrl(QStringLiteral("trash:/")), job);
 -        KJobWidgets::setWindow(job, this);
 -        connect(job, &KIO::Job::result, this, &DolphinView::slotTrashFileFinished);
 -    }
 -#endif
  }
  
  void DolphinView::deleteSelectedItems()
  {
      const QList<QUrl> list = simplifiedSelectedUrls();
  
 -#if KIO_VERSION >= QT_VERSION_CHECK(5, 100, 0)
      using Iface = KIO::AskUserActionInterface;
      auto *trashJob = new KIO::DeleteOrTrashJob(list, Iface::Delete, Iface::DefaultConfirmation, this);
      connect(trashJob, &KJob::result, this, &DolphinView::slotTrashFileFinished);
      m_selectNextItem = true;
      trashJob->start();
 -#else
 -    KIO::JobUiDelegate uiDelegate;
 -    uiDelegate.setWindow(window());
 -    if (uiDelegate.askDeleteConfirmation(list, KIO::JobUiDelegate::Delete, KIO::JobUiDelegate::DefaultConfirmation)) {
 -        KIO::Job *job = KIO::del(list);
 -        KJobWidgets::setWindow(job, this);
 -        connect(job, &KIO::Job::result, this, &DolphinView::slotDeleteFileFinished);
 -    }
 -#endif
  }
  
  void DolphinView::cutSelectedItemsToClipboard()
@@@ -2037,9 -2064,9 +2038,9 @@@ void DolphinView::slotRoleEditingFinish
              KIO::FileUndoManager::self()->recordJob(KIO::FileUndoManager::Rename, {oldUrl}, newUrl, job);
              job->uiDelegate()->setAutoErrorHandlingEnabled(true);
  
-             forceUrlsSelection(newUrl, {newUrl});
              if (!newNameExistsAlready) {
+                 forceUrlsSelection(newUrl, {newUrl});
                  // Only connect the result signal if there is no item with the new name
                  // in the model yet, see bug 328262.
                  connect(job, &KJob::result, this, &DolphinView::slotRenamingResult);