void ShortcutManager::SetShortcut (const QString& id, const QKeySequences_t& seqs) { for (auto act : Actions_ [id]) act->setShortcuts (seqs); for (auto sc : Shortcuts_ [id]) { sc->setKey (seqs.value (0)); qDeleteAll (Shortcut2Subs_.take (sc)); const int seqsSize = seqs.size (); for (int i = 1; i < seqsSize; ++i) { auto subsc = new QShortcut { sc->parentWidget () }; subsc->setContext (sc->context ()); subsc->setKey (seqs.value (i)); connect (subsc, SIGNAL (activated ()), sc, SIGNAL (activated ())); Shortcut2Subs_ [sc] << subsc; } } if (Globals_.contains (id)) { auto& e = Globals_ [id]; e.Additional_ ["Shortcut"] = QVariant::fromValue (seqs.value (0)); e.Additional_ ["AltShortcuts"] = Util::Map (seqs.mid (1), &QVariant::fromValue<QKeySequence>); CoreProxy_->GetEntityManager ()->HandleEntity (e); } }
void ShortcutManager::SetShortcut (const QString& id, const QKeySequences_t& seqs) { for (auto act : Actions_ [id]) act->setShortcuts (seqs); for (auto sc : Shortcuts_ [id]) sc->setKey (seqs.value (0)); if (Globals_.contains (id)) { auto& e = Globals_ [id]; e.Additional_ ["Shortcut"] = QVariant::fromValue (seqs.value (0)); CoreProxy_->GetEntityManager ()->HandleEntity (e); } }
void Plugin::SetShortcut (const QString& id, const QKeySequences_t& sequences) { if (!GlobAction2Entity_.contains (id)) { qWarning () << Q_FUNC_INFO << "unknown id" << id; return; } auto& e = GlobAction2Entity_ [id]; e.Additional_ ["Shortcut"] = QVariant::fromValue (sequences.value (0)); emit gotEntity (e); }