/** Initializes the view of this widget. */ void CSearchResultView::initView() { setToolTip(tr("Search result of the selected work")); setHeaderLabel(tr("Results")); setDragEnabled(true); setRootIsDecorated( false ); setSelectionMode(QAbstractItemView::ExtendedSelection); //setup the popup menu m_popup = new QMenu(this); m_actions.copyMenu = new QMenu(tr("Copy..."), m_popup); m_actions.copyMenu->setIcon(CResMgr::searchdialog::result::foundItems::copyMenu::icon()); m_actions.copy.result = new QAction(tr("Reference only"), this); BT_CONNECT(m_actions.copy.result, SIGNAL(triggered()), this, SLOT(copyItems())); m_actions.copyMenu->addAction(m_actions.copy.result); m_actions.copy.resultWithText = new QAction(tr("Reference with text"), this); BT_CONNECT(m_actions.copy.resultWithText, SIGNAL(triggered()), this, SLOT(copyItemsWithText())); m_actions.copyMenu->addAction(m_actions.copy.resultWithText); m_popup->addMenu(m_actions.copyMenu); m_actions.saveMenu = new QMenu(tr("Save..."), m_popup); m_actions.saveMenu->setIcon(CResMgr::searchdialog::result::foundItems::saveMenu::icon()); m_actions.save.result = new QAction(tr("Reference only"), this); BT_CONNECT(m_actions.save.result, SIGNAL(triggered()), this, SLOT(saveItems()) ); m_actions.saveMenu->addAction(m_actions.save.result); m_actions.save.resultWithText = new QAction(tr("Reference with text"), this); m_actions.saveMenu->addAction(m_actions.save.resultWithText); BT_CONNECT(m_actions.save.resultWithText, SIGNAL(triggered()), this, SLOT(saveItemsWithText())); m_popup->addMenu(m_actions.saveMenu); m_actions.printMenu = new QMenu(tr("Print..."), m_popup); m_actions.printMenu->setIcon(CResMgr::searchdialog::result::foundItems::printMenu::icon()); m_actions.print.result = new QAction(tr("Reference with text"), this); BT_CONNECT(m_actions.print.result, SIGNAL(triggered()), this, SLOT(printItems())); m_actions.printMenu->addAction(m_actions.print.result); m_popup->addMenu(m_actions.printMenu); }
void TupPaintArea::mousePressEvent(QMouseEvent *event) { #ifdef K_DEBUG T_FUNCINFO; #endif // SQA: Temporal solution for cases when there's no current frame defined if (!graphicsScene()->currentFrame()) { return; } if (graphicsScene()->currentFrame()->isLocked()) { #ifdef K_DEBUG tFatal() << "TupPaintArea::mousePressEvent() - Frame is locked!"; #endif return; } if (k->currentTool.compare(tr("Line Selection")) == 0) { // If a node is the target... abort! if (event->buttons() == Qt::RightButton) { if (qgraphicsitem_cast<TControlNode *>(scene()->itemAt(mapToScene(event->pos())))) return; } } if (k->currentTool.compare(tr("Object Selection")) == 0) { if (event->buttons() == Qt::RightButton) { // If a node is the target... abort! if (qgraphicsitem_cast<Node *>(scene()->itemAt(mapToScene(event->pos())))) return; if (QGraphicsItem *item = scene()->itemAt(mapToScene(event->pos()))) { if (item->opacity() == 1) { item->setFlag(QGraphicsItem::ItemIsSelectable, true); item->setSelected(true); } else { return; } } QMenu *menu = new QMenu(tr("Drawing area")); menu->addAction(kApp->findGlobalAction("undo")); menu->addAction(kApp->findGlobalAction("redo")); menu->addSeparator(); QAction *cut = menu->addAction(tr("Cut"), this, SLOT(cutItems()), QKeySequence(tr("Ctrl+X"))); QAction *copy = menu->addAction(tr("Copy"), this, SLOT(copyItems()), QKeySequence(tr("Ctrl+C"))); QAction *paste = menu->addAction(tr("Paste"), this, SLOT(pasteItems()), QKeySequence(tr("Ctrl+V"))); QAction *del = menu->addAction(tr("Delete"), this, SLOT(deleteItems()), QKeySequence(Qt::Key_Delete)); menu->addSeparator(); QMenu *order = new QMenu(tr("Order")); connect(order, SIGNAL(triggered(QAction*)), this, SLOT(requestMoveSelectedItems(QAction*))); order->addAction(tr("Send to back"))->setData(MoveBack); order->addAction(tr("Bring to front"))->setData(MoveFront); order->addAction(tr("Send backwards"))->setData(MoveBackwards); order->addAction(tr("Brind forwards"))->setData(MoveForwards); menu->addMenu(order); order->setDisabled(true); menu->addSeparator(); // Code commented temporary while SQA is done QAction *addItem = menu->addAction(tr("Add to library..."), this, SLOT(addSelectedItemsToLibrary())); menu->addSeparator(); if (scene()->selectedItems().isEmpty()) { del->setEnabled(false); cut->setEnabled(false); copy->setEnabled(false); addItem->setEnabled(false); } else { QList<QGraphicsItem *> selected = scene()->selectedItems(); foreach (QGraphicsItem *item, selected) { QDomDocument dom; dom.appendChild(dynamic_cast<TupAbstractSerializable *>(item)->toXml(dom)); QDomElement root = dom.documentElement(); if (root.tagName() == "symbol") { QString key = root.attribute("id").toUpper(); if (key.endsWith("JPG") || key.endsWith("PNG") || key.endsWith("GIF") || key.endsWith("XPM")) { addItem->setEnabled(false); break; } } else if (root.tagName() == "svg") { addItem->setEnabled(false); break; } } } if (k->copiesXml.isEmpty()) paste->setEnabled(false); if (QMenu *toolMenu = graphicsScene()->currentTool()->menu()) { menu->addSeparator(); menu->addMenu(toolMenu); } k->position = viewPosition(); k->menuOn = true; menu->exec(event->globalPos()); } }
DrawingItemGroup::DrawingItemGroup(const DrawingItemGroup& item) : DrawingItem(item) { mItems = copyItems(item.mItems); }