X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/dc3beae3ab2c55cd3501e17f93b51e93e876a177..dd7f3fb783a2164e282d88140f301bf8c0af9e5b:/src/dolphincontextmenu.cpp diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp index 2b216ce03..01e1a4109 100644 --- a/src/dolphincontextmenu.cpp +++ b/src/dolphincontextmenu.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -30,9 +31,9 @@ #include #include #include -#include #include #include +#include #include #include @@ -64,6 +65,9 @@ DolphinContextMenu::DolphinContextMenu(DolphinMainWindow* parent, m_selectedItems = view->selectedItems(); QApplication::instance()->installEventFilter(this); + + static_cast(m_mainWindow->actionCollection()-> + action(QStringLiteral("hamburger_menu")))->addToMenu(this); } DolphinContextMenu::~DolphinContextMenu() @@ -144,8 +148,6 @@ void DolphinContextMenu::openTrashContextMenu() QAction* propertiesAction = m_mainWindow->actionCollection()->action(QStringLiteral("properties")); addAction(propertiesAction); - addShowMenuBarAction(); - if (exec(m_pos) == emptyTrashAction) { Trash::empty(m_mainWindow); } @@ -204,7 +206,7 @@ void DolphinContextMenu::addDirectoryItemContextMenu(KFileItemActions &fileItemA QMenu* menu = newFileMenu->menu(); menu->setTitle(i18nc("@title:menu Create new folder, file, link, etc.", "Create New")); - menu->setIcon(QIcon::fromTheme(QStringLiteral("document-new"))); + menu->setIcon(QIcon::fromTheme(QStringLiteral("list-add"))); addMenu(menu); addSeparator(); @@ -221,6 +223,11 @@ void DolphinContextMenu::openItemContextMenu() KFileItemActions fileItemActions; fileItemActions.setParentWidget(m_mainWindow); +#if KIO_VERSION >= QT_VERSION_CHECK(5, 82, 0) + connect(&fileItemActions, &KFileItemActions::error, this, [this](const QString &errorMessage) { + m_mainWindow->activeViewContainer()->showMessage(errorMessage, DolphinViewContainer::Error); + }); +#endif fileItemActions.setItemListProperties(selectedItemsProps); if (m_selectedItems.count() == 1) { @@ -312,6 +319,11 @@ void DolphinContextMenu::openViewportContextMenu() const KFileItemListProperties baseUrlProperties(KFileItemList() << baseFileItem()); KFileItemActions fileItemActions; fileItemActions.setParentWidget(m_mainWindow); +#if KIO_VERSION >= QT_VERSION_CHECK(5, 82, 0) + connect(&fileItemActions, &KFileItemActions::error, this, [this](const QString &errorMessage) { + m_mainWindow->activeViewContainer()->showMessage(errorMessage, DolphinViewContainer::Error); + }); +#endif fileItemActions.setItemListProperties(baseUrlProperties); // Set up and insert 'Create New' menu @@ -356,8 +368,6 @@ void DolphinContextMenu::openViewportContextMenu() QAction* propertiesAction = m_mainWindow->actionCollection()->action(QStringLiteral("properties")); addAction(propertiesAction); - addShowMenuBarAction(); - exec(m_pos); } @@ -418,16 +428,6 @@ void DolphinContextMenu::insertDefaultItemActions(const KFileItemListProperties& } } -void DolphinContextMenu::addShowMenuBarAction() -{ - const KActionCollection* ac = m_mainWindow->actionCollection(); - QAction* showMenuBar = ac->action(KStandardAction::name(KStandardAction::ShowMenubar)); - if (!m_mainWindow->menuBar()->isVisible() && !m_mainWindow->toolBar()->isVisible()) { - addSeparator(); - addAction(showMenuBar); - } -} - bool DolphinContextMenu::placeExists(const QUrl& url) const { const KFilePlacesModel* placesModel = DolphinPlacesModelSingleton::instance().placesModel(); @@ -503,7 +503,7 @@ void DolphinContextMenu::addAdditionalActions(KFileItemActions &fileItemActions, addSeparator(); QList additionalActions; - if (props.isDirectory() && props.isLocal()) { + if (props.isDirectory() && props.isLocal() && ContextMenuSettings::showOpenTerminal()) { additionalActions << m_mainWindow->actionCollection()->action(QStringLiteral("open_terminal")); } fileItemActions.addActionsTo(this, KFileItemActions::MenuActionSource::All, additionalActions);