void SGSelectionTool::createContextMenu(const QList<QSGItem *> &items, QPoint pos) { QMenu contextMenu; connect(&contextMenu, SIGNAL(hovered(QAction*)), this, SLOT(contextMenuElementHovered(QAction*))); const QList<QSGItem*> selectedItems = inspector()->selectedItems(); int shortcutKey = Qt::Key_1; foreach (QSGItem *item, items) { const QString title = inspector()->titleForItem(item); QAction *elementAction = contextMenu.addAction(title); elementAction->setData(QVariant::fromValue(item)); connect(elementAction, SIGNAL(triggered()), this, SLOT(contextMenuElementSelected())); if (selectedItems.contains(item)) { QFont font = elementAction->font(); font.setBold(true); elementAction->setFont(font); } if (shortcutKey <= Qt::Key_9) { elementAction->setShortcut(QKeySequence(shortcutKey)); shortcutKey++; } } contextMenu.exec(pos); }
void LiveSelectionTool::createContextMenu(const QList<QGraphicsItem*> &itemList, QPoint globalPos) { QMenu contextMenu; connect(&contextMenu, SIGNAL(hovered(QAction*)), this, SLOT(contextMenuElementHovered(QAction*))); m_contextMenuItemList = itemList; contextMenu.addAction(tr("Items")); contextMenu.addSeparator(); int shortcutKey = Qt::Key_1; int i = 0; foreach (QGraphicsItem * const item, itemList) { QString itemTitle = titleForItem(item); QAction *elementAction = contextMenu.addAction(itemTitle, this, SLOT(contextMenuElementSelected())); if (inspector()->selectedItems().contains(item)) { QFont boldFont = elementAction->font(); boldFont.setBold(true); elementAction->setFont(boldFont); } elementAction->setData(i); if (shortcutKey <= Qt::Key_9) { elementAction->setShortcut(QKeySequence(shortcutKey)); shortcutKey++; } ++i; }
int QmlJSDebugger::LiveSelectionTool::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = AbstractLiveEditTool::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: contextMenuElementSelected(); break; case 1: contextMenuElementHovered((*reinterpret_cast< QAction*(*)>(_a[1]))); break; case 2: repaintBoundingRects(); break; default: ; } _id -= 3; } return _id; }
void LiveSelectionTool::createContextMenu(QList<QGraphicsItem*> itemList, QPoint globalPos) { if (!QDeclarativeViewObserverPrivate::get(observer())->mouseInsideContextItem()) return; QMenu contextMenu; connect(&contextMenu, SIGNAL(hovered(QAction*)), this, SLOT(contextMenuElementHovered(QAction*))); m_contextMenuItemList = itemList; contextMenu.addAction("Items"); contextMenu.addSeparator(); int shortcutKey = Qt::Key_1; bool addKeySequence = true; int i = 0; foreach (QGraphicsItem * const item, itemList) { QString itemTitle = titleForItem(item); QAction *elementAction = contextMenu.addAction(itemTitle, this, SLOT(contextMenuElementSelected())); if (observer()->selectedItems().contains(item)) { QFont boldFont = elementAction->font(); boldFont.setBold(true); elementAction->setFont(boldFont); } elementAction->setData(i); if (addKeySequence) elementAction->setShortcut(QKeySequence(shortcutKey)); shortcutKey++; if (shortcutKey > Qt::Key_9) addKeySequence = false; ++i; }