void QActionPrivate::redoGrabAlternate(QShortcutMap &map) { Q_Q(QAction); for(int i = 0; i < alternateShortcutIds.count(); ++i) { if (const int id = alternateShortcutIds.at(i)) map.removeShortcut(id, q); } alternateShortcutIds.clear(); if (alternateShortcuts.isEmpty()) return; for(int i = 0; i < alternateShortcuts.count(); ++i) { const QKeySequence& alternate = alternateShortcuts.at(i); if (!alternate.isEmpty()) alternateShortcutIds.append(map.addShortcut(q, alternate, shortcutContext, qWidgetShortcutContextMatcher)); else alternateShortcutIds.append(0); } if (!enabled) { for(int i = 0; i < alternateShortcutIds.count(); ++i) { const int id = alternateShortcutIds.at(i); map.setShortcutEnabled(false, id, q); } } if (!autorepeat) { for(int i = 0; i < alternateShortcutIds.count(); ++i) { const int id = alternateShortcutIds.at(i); map.setShortcutAutoRepeat(false, id, q); } } }
void QActionPrivate::setShortcutEnabled(bool enable, QShortcutMap &map) { Q_Q(QAction); if (shortcutId) map.setShortcutEnabled(enable, shortcutId, q); for(int i = 0; i < alternateShortcutIds.count(); ++i) { if (const int id = alternateShortcutIds.at(i)) map.setShortcutEnabled(enable, id, q); } }
void QActionPrivate::redoGrab(QShortcutMap &map) { Q_Q(QAction); if (shortcutId) map.removeShortcut(shortcutId, q); if (shortcut.isEmpty()) return; shortcutId = map.addShortcut(q, shortcut, shortcutContext); if (!enabled) map.setShortcutEnabled(false, shortcutId, q); if (!autorepeat) map.setShortcutAutoRepeat(false, shortcutId, q); }
void QShortcutPrivate::redoGrab(QShortcutMap &map) { Q_Q(QShortcut); if (!parent) { qWarning("QShortcut: No widget parent defined"); return; } if (sc_id) map.removeShortcut(sc_id, q); if (sc_sequence.isEmpty()) return; sc_id = map.addShortcut(q, sc_sequence, sc_context, qWidgetShortcutContextMatcher); if (!sc_enabled) map.setShortcutEnabled(false, sc_id, q); if (!sc_autorepeat) map.setShortcutAutoRepeat(false, sc_id, q); }
void QActionPrivate::redoGrabAlternate(QShortcutMap &map) { Q_Q(QAction); foreach (int id, alternateShortcutIds) if (id) map.removeShortcut(id, q); alternateShortcutIds.clear(); if (alternateShortcuts.isEmpty()) return; foreach (const QKeySequence& alternate, alternateShortcuts) { if (!alternate.isEmpty()) alternateShortcutIds.append(map.addShortcut(q, alternate, shortcutContext)); else alternateShortcutIds.append(0); } if (!enabled) { foreach (int id, alternateShortcutIds) map.setShortcutEnabled(false, id, q); }