Пример #1
0
void
ToolTipActionShortcut::setShortcutWrapper(const QString& actionID,
                                          const QKeySequence& shortcut)
{
    for (std::size_t i = 0; i < _shortcuts.size(); ++i) {
        if (_shortcuts[i].first == actionID) {
            _shortcuts[i].second = shortcut;
        }
    }
    setToolTipFromOriginalToolTip();
}
Пример #2
0
ToolTipActionShortcut::ToolTipActionShortcut(const std::string & group,
                                             const std::list<std::string> & actionIDs,
                                             const std::string & toolip,
                                             QWidget* parent)
    : ActionWithShortcut(group, actionIDs, std::string(), parent, false)
    , _widget(parent)
    , _originalToolTip( QString::fromUtf8( toolip.c_str() ) )
    , _tooltipSetInternally(false)
{
    assert(parent);
    setToolTipFromOriginalToolTip();
    _widget->installEventFilter(this);
}
Пример #3
0
void
ToolTipActionShortcut::onShortcutChanged(const std::string& actionID,
                                      Key symbol,
                                      const KeyboardModifiers& modifiers)
{
    QKeySequence seq = makeKeySequence(QtEnumConvert::toQtModifiers(modifiers), QtEnumConvert::toQtKey(symbol));
    for (std::size_t i = 0; i < _shortcuts.size(); ++i) {
        if (_shortcuts[i].first.toStdString() == actionID) {
            _shortcuts[i].second = seq;
        }
    }
  
    setToolTipFromOriginalToolTip();
}
Пример #4
0
bool
ToolTipActionShortcut::eventFilter(QObject* watched,
                                   QEvent* event)
{
    if (watched != _widget) {
        return false;
    }
    if (event->type() == QEvent::ToolTipChange) {
        if (_tooltipSetInternally) {
            return false;
        }
        _originalToolTip = _widget->toolTip();
        setToolTipFromOriginalToolTip();
    }

    return false;
}