void visit(QList<QGraphicsItem *> *items) { for (int i = 0; i < items->size(); ++i) { QGraphicsItem *item = items->at(i); if (onlyTopLevelItems && item->d_ptr->parent) item = item->topLevelItem(); if (!item->d_func()->itemDiscovered && item->d_ptr->visible) { item->d_func()->itemDiscovered = 1; foundItems->prepend(item); } } }
void SnapshotCanvas::contextMenuEvent(QContextMenuEvent *event) { QGraphicsItem *item = itemAt(event->pos()); if (item && item != m_pixmapItem) { deselectItems(); item = item->topLevelItem(); item->setSelected(true); if (item == m_zIndexList.last()) { m_contextMenu->actions().at(0)->setEnabled(false); } else { m_contextMenu->actions().at(0)->setEnabled(true); } if (item == m_zIndexList.first()) { m_contextMenu->actions().at(1)->setEnabled(false); } else { m_contextMenu->actions().at(1)->setEnabled(true); } m_contextMenu->exec(event->globalPos()); } }