void PixmapCollectionEditor::displayMenu(Q3IconViewItem *it, const QPoint &p) { if (!it) return; KMenu *menu = new KMenu(); menu->insertItem(koIcon("edit-rename"), i18n("Rename Item"), this, SLOT(renameItem())); menu->insertItem(koIcon("list-remove"), i18n("Remove Item"), this, SLOT(removeItem())); menu->exec(p); }
void SkinListControl::notifyEndDialog(Dialog* _sender, bool _result) { _sender->endModal(); if (_result) { SkinItem* item = *mTextFieldControl->getUserData<SkinItem*>(); if (item != nullptr) renameItem(item, mTextFieldControl->getTextField()); else createItem(mTextFieldControl->getTextField()); } }
void FolderListView::keyPressEvent ( QKeyEvent * e ) { if (isRenaming()) { e->ignore(); return; } if (currentItem()->rtti() == FolderListItem::ListItemType && (e->key() == Qt::Key_Enter || e->key() == Qt::Key_Return)) { emit doubleClicked(currentItem()); e->accept(); } else if (e->key() == Qt::Key_F2) { if (currentItem()) emit renameItem(currentItem()); e->accept(); } else if(e->key() == Qt::Key_A && e->state() == Qt::ControlButton) { selectAll(true); e->accept(); } else if(e->key() == Qt::Key_F7) { emit addFolderItem(); e->accept(); } else if(e->key() == Qt::Key_F8) { emit deleteSelection(); e->accept(); } else QListView::keyPressEvent ( e ); }
void TupItemManager::mousePressEvent(QMouseEvent *event) { parentNode = ""; QTreeWidgetItem *item = itemAt(event->pos()); if (item) { setCurrentItem(item); emit itemSelected(item); if (event->buttons() == Qt::RightButton) { QMenu *menu = new QMenu(tr("Options")); if (isFolder(item)) { QAction *rename = new QAction(tr("Rename"), this); connect(rename, SIGNAL(triggered()), this, SLOT(renameItem())); QAction *remove = new QAction(tr("Delete"), this); connect(remove, SIGNAL(triggered()), this, SIGNAL(itemRemoved())); menu->addAction(rename); menu->addAction(remove); } else { QString extension = item->text(2); bool isSound = false; bool isNative = false; if ((extension.compare("OGG") == 0) || (extension.compare("MP3") == 0) || (extension.compare("WAV") == 0)) isSound = true; if (extension.compare("OBJ") == 0) isNative = true; if (extension.compare("SVG") == 0) { QAction *edit = new QAction(tr("Edit with Inkscape"), this); connect(edit, SIGNAL(triggered()), this, SLOT(callInkscapeToEdit())); #ifdef Q_OS_UNIX if (!QFile::exists("/usr/bin/inkscape")) edit->setDisabled(true); #else edit->setDisabled(true); #endif menu->addAction(edit); } else if ((extension.compare("OBJ") != 0) && !isSound) { QAction *gimpEdit = new QAction(tr("Edit with Gimp"), this); connect(gimpEdit, SIGNAL(triggered()), this, SLOT(callGimpToEdit())); #ifdef Q_OS_UNIX if (!QFile::exists("/usr/bin/gimp")) gimpEdit->setDisabled(true); #else gimpEdit->setDisabled(true); #endif menu->addAction(gimpEdit); QAction *kritaEdit = new QAction(tr("Edit with Krita"), this); connect(kritaEdit, SIGNAL(triggered()), this, SLOT(callKritaToEdit())); #ifdef Q_OS_UNIX if (!QFile::exists("/usr/bin/krita")) kritaEdit->setDisabled(true); #else kritaEdit->setDisabled(true); #endif menu->addAction(kritaEdit); QAction *myPaintEdit = new QAction(tr("Edit with MyPaint"), this); connect(myPaintEdit, SIGNAL(triggered()), this, SLOT(callMyPaintToEdit())); #ifdef Q_OS_UNIX if (!QFile::exists("/usr/bin/mypaint")) myPaintEdit->setDisabled(true); #else myPaintEdit->setDisabled(true); #endif menu->addAction(myPaintEdit); } if (!isSound && !isNative) { QAction *clone = new QAction(tr("Clone"), this); connect(clone, SIGNAL(triggered()), this, SLOT(cloneItem())); menu->addAction(clone); } QAction *exportObject = new QAction(tr("Export"), this); connect(exportObject, SIGNAL(triggered()), this, SLOT(exportItem())); QAction *rename = new QAction(tr("Rename"), this); connect(rename, SIGNAL(triggered()), this, SLOT(renameItem())); QAction *remove = new QAction(tr("Delete"), this); connect(remove, SIGNAL(triggered()), this, SIGNAL(itemRemoved())); menu->addAction(exportObject); menu->addAction(rename); menu->addAction(remove); menu->addSeparator(); #ifdef Q_OS_UNIX if (!isSound) { if (QFile::exists("/usr/bin/gimp") || QFile::exists("/usr/bin/krita") || QFile::exists("/usr/bin/mypaint")) { QAction *raster = new QAction(tr("Create new raster item"), this); connect(raster, SIGNAL(triggered()), this, SLOT(createNewRaster())); menu->addAction(raster); } if (QFile::exists("/usr/bin/inkscape")) { QAction *svg = new QAction(tr("Create new svg item"), this); connect(svg, SIGNAL(triggered()), this, SLOT(createNewSVG())); menu->addAction(svg); } } #endif } menu->exec(event->globalPos()); } else if (event->buttons() == Qt::LeftButton) { // SQA: This code doesn't work well at all. Reengineering is urgently required right here! // If the node has a parent, get the parent's name QTreeWidgetItem *top = item->parent(); if (top) parentNode = top->text(1); // For directories, get the children nodeChildren.clear(); if (item->text(2).length()==0 && item->childCount() > 0) { for (int i=0;i<item->childCount();i++) { QTreeWidgetItem *node = item->child(i); nodeChildren << node; } } QPixmap pixmap = item->icon(0).pixmap(15, 15); QByteArray itemData; QDataStream dataStream(&itemData, QIODevice::WriteOnly); dataStream << pixmap << item->text(1) << item->text(2) << item->text(3); QMimeData *mimeData = new QMimeData; mimeData->setData("application/x-dnditemdata", itemData); QDrag *drag = new QDrag(this); drag->setMimeData(mimeData); drag->setPixmap(pixmap); if (drag->start(Qt::MoveAction) == Qt::MoveAction) delete takeTopLevelItem(indexOfTopLevelItem(item)); } } else { if (event->buttons() == Qt::RightButton) { QMenu *menu = new QMenu(tr("Options")); #ifdef Q_OS_UNIX if (QFile::exists("/usr/bin/gimp") || QFile::exists("/usr/bin/krita") || QFile::exists("/usr/bin/mypaint")) { QAction *raster = new QAction(tr("Create new raster item"), this); connect(raster, SIGNAL(triggered()), this, SLOT(createNewRaster())); menu->addAction(raster); } if (QFile::exists("/usr/bin/inkscape")) { QAction *svg = new QAction(tr("Create new svg item"), this); connect(svg, SIGNAL(triggered()), this, SLOT(createNewSVG())); menu->addAction(svg); } #endif menu->exec(event->globalPos()); } } }
void aActionTreeView::itemRename() { renameItem(); }