// Removes the sequences in cut2 from cut1 static void removeFromShortcut(KShortcut &cut1, const KShortcut &cut2) { for(uint iSeq2 = 0; iSeq2 < cut2.count(); iSeq2++) cut1.remove(cut2.seq(iSeq2)); }
void PopupView::createActions() { // Remove the Shift+Delete shortcut from the cut action, since it's used for deleting files KAction *cut = KStandardAction::cut(this, SLOT(cut()), this); KShortcut cutShortCut = cut->shortcut(); cutShortCut.remove(Qt::SHIFT + Qt::Key_Delete); cut->setShortcut(cutShortCut); KAction *copy = KStandardAction::copy(this, SLOT(copy()), this); KIO::FileUndoManager *manager = KIO::FileUndoManager::self(); KAction *undo = KStandardAction::undo(manager, SLOT(undo()), this); connect(manager, SIGNAL(undoAvailable(bool)), undo, SLOT(setEnabled(bool))); connect(manager, SIGNAL(undoTextChanged(QString)), SLOT(undoTextChanged(QString))); undo->setEnabled(manager->undoAvailable()); KAction *paste = KStandardAction::paste(this, SLOT(paste()), this); KAction *pasteTo = KStandardAction::paste(this, SLOT(pasteTo()), this); pasteTo->setEnabled(false); // Only enabled during popupMenu() QString actionText = KIO::pasteActionText(); if (!actionText.isEmpty()) { paste->setText(actionText); } else { paste->setEnabled(false); } KAction *rename = new KAction(KIcon("edit-rename"), i18n("&Rename"), this); rename->setShortcut(Qt::Key_F2); connect(rename, SIGNAL(triggered()), SLOT(renameSelectedIcon())); KAction *trash = new KAction(KIcon("user-trash"), i18n("&Move to Trash"), this); trash->setShortcut(Qt::Key_Delete); connect(trash, SIGNAL(triggered(Qt::MouseButtons,Qt::KeyboardModifiers)), SLOT(moveToTrash(Qt::MouseButtons,Qt::KeyboardModifiers))); KAction *emptyTrash = new KAction(KIcon("trash-empty"), i18n("&Empty Trash Bin"), this); KConfig trashConfig("trashrc", KConfig::SimpleConfig); emptyTrash->setEnabled(!trashConfig.group("Status").readEntry("Empty", true)); connect(emptyTrash, SIGNAL(triggered()), SLOT(emptyTrashBin())); KAction *del = new KAction(i18n("&Delete"), this); del->setIcon(KIcon("edit-delete")); del->setShortcut(Qt::SHIFT + Qt::Key_Delete); connect(del, SIGNAL(triggered()), SLOT(deleteSelectedIcons())); // Create the new menu m_newMenu = new KNewFileMenu(&m_actionCollection, "new_menu", this); connect(m_newMenu->menu(), SIGNAL(aboutToShow()), this, SLOT(aboutToShowCreateNew())); m_actionCollection.addAction("undo", undo); m_actionCollection.addAction("cut", cut); m_actionCollection.addAction("copy", copy); m_actionCollection.addAction("paste", paste); m_actionCollection.addAction("pasteto", pasteTo); m_actionCollection.addAction("rename", rename); m_actionCollection.addAction("trash", trash); m_actionCollection.addAction("del", del); m_actionCollection.addAction("empty_trash", emptyTrash); }