| 41 | } |
| 42 | |
| 43 | void RegistersView::contextMenuEvent(QContextMenuEvent* e) |
| 44 | { |
| 45 | //Don't remove update action. |
| 46 | const QList<QAction*> actions = m_menu->actions(); |
| 47 | for (int i = 1; i < actions.count(); i++) { |
| 48 | m_menu->removeAction(actions[i]); |
| 49 | } |
| 50 | |
| 51 | const auto group = primaryActiveView(); |
| 52 | |
| 53 | for (QAction* act : std::as_const(m_actions)) { |
| 54 | act->setChecked(false); |
| 55 | } |
| 56 | |
| 57 | const QVector<Format> formats = m_modelsManager->formats(group); |
| 58 | if (formats.size() > 1) { |
| 59 | QMenu* m = m_menu->addMenu(i18nc("@title:menu", "Format")); |
| 60 | for (Format fmt : formats) { |
| 61 | m->addAction(findAction(Converters::formatToString(fmt))); |
| 62 | } |
| 63 | findAction(Converters::formatToString(formats.first()))->setChecked(true); |
| 64 | } |
| 65 | |
| 66 | const QVector<Mode> modes = m_modelsManager->modes(group); |
| 67 | if (modes.size() > 1) { |
| 68 | QMenu* m = m_menu->addMenu(i18nc("@title:menu", "Mode")); |
| 69 | for (Mode mode : modes) { |
| 70 | m->addAction(findAction(Converters::modeToString(mode))); |
| 71 | } |
| 72 | findAction(Converters::modeToString(modes.first()))->setChecked(true); |
| 73 | } |
| 74 | |
| 75 | m_menu->exec(e->globalPos()); |
| 76 | } |
| 77 | |
| 78 | void RegistersView::updateRegisters() |
| 79 | { |