X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/2fd85facf85b39f84eeada10bcf80060bb72ab51..fc9e06426746b5b33d31db68904d4d205537a080:/src/dolphinremoveaction.cpp diff --git a/src/dolphinremoveaction.cpp b/src/dolphinremoveaction.cpp index ce3059934..b6a982a38 100644 --- a/src/dolphinremoveaction.cpp +++ b/src/dolphinremoveaction.cpp @@ -1,33 +1,17 @@ -/*************************************************************************** - * Copyright (C) 2013 by Dawit Alemayehu * - * Copyright (C) 2017 by Elvis Angelaccio * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ +/* + * SPDX-FileCopyrightText: 2013 Dawit Alemayehu + * SPDX-FileCopyrightText: 2017 Elvis Angelaccio + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #include "dolphinremoveaction.h" #include -#include - - -DolphinRemoveAction::DolphinRemoveAction(QObject* parent, KActionCollection* collection) : - QAction(parent), - m_collection(collection) +DolphinRemoveAction::DolphinRemoveAction(QObject *parent, KActionCollection *collection) + : QAction(parent) + , m_collection(collection) { update(); connect(this, &DolphinRemoveAction::triggered, this, &DolphinRemoveAction::slotRemoveActionTriggered); @@ -52,12 +36,24 @@ void DolphinRemoveAction::update(ShiftState shiftState) } switch (shiftState) { - case ShiftState::Pressed: + case ShiftState::Pressed: { m_action = m_collection->action(KStandardAction::name(KStandardAction::DeleteFile)); + // Make sure we show Shift+Del in the context menu. + auto deleteShortcuts = m_action->shortcuts(); + deleteShortcuts.removeAll(Qt::SHIFT | Qt::Key_Delete); + deleteShortcuts.prepend(Qt::SHIFT | Qt::Key_Delete); + m_collection->setDefaultShortcuts(this, deleteShortcuts); break; - case ShiftState::Released: + } + case ShiftState::Released: { m_action = m_collection->action(KStandardAction::name(KStandardAction::MoveToTrash)); + // Make sure we show Del in the context menu. + auto trashShortcuts = m_action->shortcuts(); + trashShortcuts.removeAll(QKeySequence::Delete); + trashShortcuts.prepend(QKeySequence::Delete); + m_collection->setDefaultShortcuts(this, trashShortcuts); break; + } case ShiftState::Unknown: Q_UNREACHABLE(); break; @@ -66,7 +62,8 @@ void DolphinRemoveAction::update(ShiftState shiftState) if (m_action) { setText(m_action->text()); setIcon(m_action->icon()); - m_collection->setDefaultShortcuts(this, m_action->shortcuts()); setEnabled(m_action->isEnabled()); } } + +#include "moc_dolphinremoveaction.cpp"