]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Merge branch 'release/20.12'
authorAhmad Samir <a.samirh78@gmail.com>
Wed, 16 Dec 2020 21:53:57 +0000 (23:53 +0200)
committerAhmad Samir <a.samirh78@gmail.com>
Wed, 16 Dec 2020 21:53:57 +0000 (23:53 +0200)
1  2 
src/dolphinmainwindow.cpp

index 27949fb1776f4cde60da6ba4bde111ad57a33fd3,5a531938325f52c7534e483dae42915c6dea3745..96ca3d448eac67fb4d4a4783ee444f7b14eafcc0
@@@ -134,9 -134,10 +134,9 @@@ DolphinMainWindow::DolphinMainWindow() 
      connect(undoManager, &KIO::FileUndoManager::jobRecordingFinished,
              this, &DolphinMainWindow::showCommand);
  
 -    GeneralSettings* generalSettings = GeneralSettings::self();
 -    const bool firstRun = (generalSettings->version() < 200);
 +    const bool firstRun = (GeneralSettings::version() < 200);
      if (firstRun) {
 -        generalSettings->setViewPropsTimestamp(QDateTime::currentDateTime());
 +        GeneralSettings::setViewPropsTimestamp(QDateTime::currentDateTime());
      }
  
      setAcceptDrops(true);
      connect(clipboard, &QClipboard::dataChanged,
              this, &DolphinMainWindow::updatePasteAction);
  
 -    QAction* showFilterBarAction = actionCollection()->action(QStringLiteral("show_filter_bar"));
 -    showFilterBarAction->setChecked(generalSettings->filterBar());
 +    QAction* toggleFilterBarAction = actionCollection()->action(QStringLiteral("toggle_filter"));
 +    toggleFilterBarAction->setChecked(GeneralSettings::filterBar());
  
      if (firstRun) {
          menuBar()->setVisible(false);
@@@ -382,8 -383,8 +382,8 @@@ void DolphinMainWindow::updateHistory(
  
  void DolphinMainWindow::updateFilterBarAction(bool show)
  {
 -    QAction* showFilterBarAction = actionCollection()->action(QStringLiteral("show_filter_bar"));
 -    showFilterBarAction->setChecked(show);
 +    QAction* toggleFilterBarAction = actionCollection()->action(QStringLiteral("toggle_filter"));
 +    toggleFilterBarAction->setChecked(show);
  }
  
  void DolphinMainWindow::openNewMainWindow()
@@@ -846,15 -847,6 +846,15 @@@ void DolphinMainWindow::showFilterBar(
      m_activeViewContainer->setFilterBarVisible(true);
  }
  
 +void DolphinMainWindow::toggleFilterBar()
 +{
 +    const bool checked = !m_activeViewContainer->isFilterBarVisible();
 +    m_activeViewContainer->setFilterBarVisible(checked);
 +
 +    QAction* toggleFilterBarAction = actionCollection()->action(QStringLiteral("toggle_filter"));
 +    toggleFilterBarAction->setChecked(checked);
 +}
 +
  void DolphinMainWindow::toggleEditLocation()
  {
      clearStatusBar();
@@@ -1091,7 -1083,7 +1091,7 @@@ void DolphinMainWindow::handleUrl(cons
      } else {
          m_lastHandleUrlOpenJob = new KIO::OpenUrlJob(url);
          m_lastHandleUrlOpenJob->setUiDelegate(new KIO::JobUiDelegate(KJobUiDelegate::AutoHandlingEnabled, this));
-         m_lastHandleUrlOpenJob->setRunExecutables(true);
+         m_lastHandleUrlOpenJob->setShowOpenOrExecuteDialog(true);
  
          connect(m_lastHandleUrlOpenJob, &KIO::OpenUrlJob::mimeTypeFound, this,
                  [this, url](const QString &mimetype) {
@@@ -1379,7 -1371,7 +1379,7 @@@ void DolphinMainWindow::setupActions(
          "<emphasis>Tab</emphasis> with the current location and view.<nl/>"
          "A tab is an additional view within this window. "
          "You can drag and drop items between tabs."));
 -    actionCollection()->setDefaultShortcuts(newTab, {Qt::CTRL + Qt::Key_T, Qt::CTRL + Qt::SHIFT + Qt::Key_N});
 +    actionCollection()->setDefaultShortcuts(newTab, {Qt::CTRL | Qt::Key_T, Qt::CTRL | Qt::SHIFT | Qt::Key_N});
      connect(newTab, &QAction::triggered, this, &DolphinMainWindow::openNewActivatedTab);
  
      QAction* addToPlaces = actionCollection()->addAction(QStringLiteral("add_to_places"));
          "the <emphasis>active</emphasis> view to the inactive split view."));
      copyToOtherViewAction->setIcon(QIcon::fromTheme(QStringLiteral("edit-copy")));
      copyToOtherViewAction->setIconText(i18nc("@action:inmenu Edit", "Copy to Inactive Split View"));
 -    actionCollection()->setDefaultShortcut(copyToOtherViewAction, Qt::SHIFT + Qt::Key_F5 );
 +    actionCollection()->setDefaultShortcut(copyToOtherViewAction, Qt::SHIFT | Qt::Key_F5 );
      connect(copyToOtherViewAction, &QAction::triggered, m_tabWidget, &DolphinTabWidget::copyToInactiveSplitView);
  
      QAction* moveToOtherViewAction = actionCollection()->addAction(QStringLiteral("move_to_inactive_split_view"));
          "the <emphasis>active</emphasis> view to the inactive split view."));
      moveToOtherViewAction->setIcon(QIcon::fromTheme(QStringLiteral("edit-cut")));
      moveToOtherViewAction->setIconText(i18nc("@action:inmenu Edit", "Move to Inactive Split View"));
 -    actionCollection()->setDefaultShortcut(moveToOtherViewAction, Qt::SHIFT + Qt::Key_F6 );
 +    actionCollection()->setDefaultShortcut(moveToOtherViewAction, Qt::SHIFT | Qt::Key_F6 );
      connect(moveToOtherViewAction, &QAction::triggered, m_tabWidget, &DolphinTabWidget::moveToInactiveSplitView);
  
 +    QAction* showFilterBar = actionCollection()->addAction(QStringLiteral("show_filter_bar"));
 +    showFilterBar->setText(i18nc("@action:inmenu Tools", "Filter..."));
 +    showFilterBar->setToolTip(i18nc("@info:tooltip", "Toggle Filter Bar"));
 +    showFilterBar->setWhatsThis(xi18nc("@info:whatsthis", "This opens the "
 +        "<emphasis>Filter Bar</emphasis> at the bottom of the window.<nl/> "
 +        "There you can enter a text to filter the files and folders currently displayed. "
 +        "Only those that contain the text in their name will be kept in view."));
 +    showFilterBar->setIcon(QIcon::fromTheme(QStringLiteral("view-filter")));
 +    actionCollection()->setDefaultShortcuts(showFilterBar, {Qt::CTRL | Qt::Key_I, Qt::Key_Slash});
 +    connect(showFilterBar, &QAction::triggered, this, &DolphinMainWindow::showFilterBar);
 +
 +    // toggle_filter acts as a copy of the main showFilterBar to be used mainly
 +    // in the toolbar, with no default shortcut attached, to avoid messing with
 +    // existing workflows (filter bar always open and Ctrl-I to focus)
 +    QAction *toggleFilter = actionCollection()->addAction(QStringLiteral("toggle_filter"));
 +    toggleFilter->setText(i18nc("@action:inmenu", "Toggle Filter Bar"));
 +    toggleFilter->setIconText(i18nc("@action:intoolbar", "Filter"));
 +    toggleFilter->setIcon(showFilterBar->icon());
 +    toggleFilter->setToolTip(showFilterBar->toolTip());
 +    toggleFilter->setWhatsThis(showFilterBar->whatsThis());
 +    toggleFilter->setCheckable(true);
 +    connect(toggleFilter, &QAction::triggered, this, &DolphinMainWindow::toggleFilterBar);
 +
      QAction *searchAction = KStandardAction::find(this, &DolphinMainWindow::find, actionCollection());
      searchAction->setText(i18n("Search..."));
      searchAction->setToolTip(i18nc("@info:tooltip", "Search for files and folders"));
      invertSelection->setWhatsThis(xi18nc("@info:whatsthis invert", "This selects all "
          "objects that you have currently <emphasis>not</emphasis> selected instead."));
      invertSelection->setIcon(QIcon::fromTheme(QStringLiteral("edit-select-invert")));
 -    actionCollection()->setDefaultShortcut(invertSelection, Qt::CTRL + Qt::SHIFT + Qt::Key_A);
 +    actionCollection()->setDefaultShortcut(invertSelection, Qt::CTRL | Qt::SHIFT | Qt::Key_A);
      connect(invertSelection, &QAction::triggered, this, &DolphinMainWindow::invertSelection);
  
      // setup 'View' menu
      connect(split, &QAction::triggered, this, &DolphinMainWindow::toggleSplitView);
  
      QAction* stashSplit = actionCollection()->addAction(QStringLiteral("split_stash"));
 -    actionCollection()->setDefaultShortcut(stashSplit, Qt::CTRL + Qt::Key_S);
 +    actionCollection()->setDefaultShortcut(stashSplit, Qt::CTRL | Qt::Key_S);
      stashSplit->setText(i18nc("@action:intoolbar Stash", "Stash"));
      stashSplit->setToolTip(i18nc("@info", "Opens the stash virtual directory in a split window"));
      stashSplit->setIcon(QIcon::fromTheme(QStringLiteral("folder-stash")));
      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()->setDefaultShortcut(replaceLocation, Qt::CTRL | Qt::Key_L);
      connect(replaceLocation, &QAction::triggered, this, &DolphinMainWindow::replaceLocation);
  
      // setup 'Go' menu
      undoCloseTab->setText(i18nc("@action:inmenu File", "Undo close tab"));
      undoCloseTab->setWhatsThis(i18nc("@info:whatsthis undo close tab",
          "This returns you to the previously closed tab."));
 -    actionCollection()->setDefaultShortcut(undoCloseTab, Qt::CTRL + Qt::SHIFT + Qt::Key_T);
 +    actionCollection()->setDefaultShortcut(undoCloseTab, Qt::CTRL | Qt::SHIFT | Qt::Key_T);
      undoCloseTab->setIcon(QIcon::fromTheme(QStringLiteral("edit-undo")));
      undoCloseTab->setEnabled(false);
      connect(undoCloseTab, &QAction::triggered, recentTabsMenu, &DolphinRecentTabsMenu::undoCloseTab);
          "including folders that contain personal application data."));
  
      // setup 'Tools' menu
 -    QAction* showFilterBar = actionCollection()->addAction(QStringLiteral("show_filter_bar"));
 -    showFilterBar->setText(i18nc("@action:inmenu Tools", "Show Filter Bar"));
 -    showFilterBar->setWhatsThis(xi18nc("@info:whatsthis", "This opens the "
 -        "<emphasis>Filter Bar</emphasis> at the bottom of the window.<nl/> "
 -        "There you can enter a text to filter the files and folders currently displayed. "
 -        "Only those that contain the text in their name will be kept in view."));
 -    showFilterBar->setIcon(QIcon::fromTheme(QStringLiteral("view-filter")));
 -    actionCollection()->setDefaultShortcuts(showFilterBar, {Qt::CTRL + Qt::Key_I, Qt::Key_Slash});
 -    connect(showFilterBar, &QAction::triggered, this, &DolphinMainWindow::showFilterBar);
 -
      QAction* compareFiles = actionCollection()->addAction(QStringLiteral("compare_files"));
      compareFiles->setText(i18nc("@action:inmenu Tools", "Compare Files"));
      compareFiles->setIcon(QIcon::fromTheme(QStringLiteral("kompare")));
          "<para>This opens a preferred search tool for the viewed location.</para>"
          "<para>Use <emphasis>More Search Tools</emphasis> menu to configure it.</para>"));
      openPreferredSearchTool->setIcon(QIcon::fromTheme(QStringLiteral("search")));
 -    actionCollection()->setDefaultShortcut(openPreferredSearchTool, Qt::CTRL + Qt::SHIFT + Qt::Key_F);
 +    actionCollection()->setDefaultShortcut(openPreferredSearchTool, Qt::CTRL | Qt::SHIFT | Qt::Key_F);
      connect(openPreferredSearchTool, &QAction::triggered, this, &DolphinMainWindow::openPreferredSearchTool);
  
      if (KAuthorized::authorize(QStringLiteral("shell_access"))) {
          openTerminal->setWhatsThis(xi18nc("@info:whatsthis",
              "<para>This opens a <emphasis>terminal</emphasis> application for the viewed location.</para>"
              "<para>To learn more about terminals use the help in the terminal application.</para>"));
 -        openTerminal->setIcon(QIcon::fromTheme(QStringLiteral("dialog-scripts")));
 -        actionCollection()->setDefaultShortcut(openTerminal, Qt::SHIFT + Qt::Key_F4);
 +        openTerminal->setIcon(QIcon::fromTheme(QStringLiteral("utilities-terminal")));
 +        actionCollection()->setDefaultShortcut(openTerminal, Qt::SHIFT | Qt::Key_F4);
          connect(openTerminal, &QAction::triggered, this, &DolphinMainWindow::openTerminal);
  
  #ifdef HAVE_TERMINAL
          QAction* focusTerminalPanel = actionCollection()->addAction(QStringLiteral("focus_terminal_panel"));
          focusTerminalPanel->setText(i18nc("@action:inmenu Tools", "Focus Terminal Panel"));
          focusTerminalPanel->setIcon(QIcon::fromTheme(QStringLiteral("swap-panels")));
 -        actionCollection()->setDefaultShortcut(focusTerminalPanel, Qt::CTRL + Qt::SHIFT + Qt::Key_F4);
 +        actionCollection()->setDefaultShortcut(focusTerminalPanel, Qt::CTRL | Qt::SHIFT | Qt::Key_F4);
          connect(focusTerminalPanel, &QAction::triggered, this, &DolphinMainWindow::focusTerminalPanel);
  #endif
      }
  
      // not in menu actions
      QList<QKeySequence> nextTabKeys = KStandardShortcut::tabNext();
 -    nextTabKeys.append(QKeySequence(Qt::CTRL + Qt::Key_Tab));
 +    nextTabKeys.append(QKeySequence(Qt::CTRL | Qt::Key_Tab));
  
      QList<QKeySequence> prevTabKeys = KStandardShortcut::tabPrev();
 -    prevTabKeys.append(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Tab));
 +    prevTabKeys.append(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_Tab));
  
      for (int i = 0; i < MaxActivateTabShortcuts; ++i) {
          QAction* activateTab = actionCollection()->addAction(QStringLiteral("activate_tab_%1").arg(i));
      activateLastTab->setText(i18nc("@action:inmenu", "Activate Last Tab"));
      activateLastTab->setEnabled(false);
      connect(activateLastTab, &QAction::triggered, m_tabWidget, &DolphinTabWidget::activateLastTab);
 -    actionCollection()->setDefaultShortcut(activateLastTab, Qt::ALT + Qt::Key_0);
 +    actionCollection()->setDefaultShortcut(activateLastTab, Qt::ALT | Qt::Key_0);
  
      QAction* activateNextTab = actionCollection()->addAction(QStringLiteral("activate_next_tab"));
      activateNextTab->setIconText(i18nc("@action:inmenu", "Next Tab"));
@@@ -2053,8 -2032,8 +2053,8 @@@ void DolphinMainWindow::updateViewActio
  {
      m_actionHandler->updateViewActions();
  
 -    QAction* showFilterBarAction = actionCollection()->action(QStringLiteral("show_filter_bar"));
 -    showFilterBarAction->setChecked(m_activeViewContainer->isFilterBarVisible());
 +    QAction* toggleFilterBarAction = actionCollection()->action(QStringLiteral("toggle_filter"));
 +    toggleFilterBarAction->setChecked(m_activeViewContainer->isFilterBarVisible());
  
      updateSplitAction();
  }