/*! \property QShortcut::autoRepeat \brief whether the shortcut can auto repeat \since 4.2 If true, the shortcut will auto repeat when the keyboard shortcut combination is held down, provided that keyboard auto repeat is enabled on the system. The default value is true. */ void QShortcut::setAutoRepeat(bool on) { Q_D(QShortcut); if (d->sc_autorepeat == on) return; QAPP_CHECK("setAutoRepeat"); d->sc_autorepeat = on; qApp->d_func()->shortcutMap.setShortcutAutoRepeat(on, d->sc_id, this); }
/*! \property QShortcut::context \brief the context in which the shortcut is valid A shortcut's context decides in which circumstances a shortcut is allowed to be triggered. The normal context is Qt::WindowShortcut, which allows the shortcut to trigger if the parent (the widget containing the shortcut) is a subwidget of the active top-level window. By default, this property is set to Qt::WindowShortcut. */ void QShortcut::setContext(Qt::ShortcutContext context) { Q_D(QShortcut); if(d->sc_context == context) return; QAPP_CHECK("setContext"); d->sc_context = context; d->redoGrab(qApp->d_func()->shortcutMap); }
/*! \property QShortcut::enabled \brief whether the shortcut is enabled An enabled shortcut emits the activated() or activatedAmbiguously() signal when a QShortcutEvent occurs that matches the shortcut's key() sequence. If the application is in \c WhatsThis mode the shortcut will not emit the signals, but will show the "What's This?" text instead. By default, this property is true. \sa whatsThis */ void QShortcut::setEnabled(bool enable) { Q_D(QShortcut); if (d->sc_enabled == enable) return; QAPP_CHECK("setEnabled"); d->sc_enabled = enable; qApp->d_func()->shortcutMap.setShortcutEnabled(enable, d->sc_id, this); }
/*! \property QShortcut::key \brief the shortcut's key sequence This is a key sequence with an optional combination of Shift, Ctrl, and Alt. The key sequence may be supplied in a number of ways: \snippet doc/src/snippets/code/src_gui_kernel_qshortcut.cpp 1 By default, this property contains an empty key sequence. */ void QShortcut::setKey(const QKeySequence &key) { Q_D(QShortcut); if (d->sc_sequence == key) return; QAPP_CHECK("setKey"); d->sc_sequence = key; d->redoGrab(qApp->d_func()->shortcutMap); }
/*! \property QAction::autoRepeat \brief whether the action can auto repeat \since 4.2 If true, the action will auto repeat when the keyboard shortcut combination is held down, provided that keyboard auto repeat is enabled on the system. The default value is true. */ void QAction::setAutoRepeat(bool on) { Q_D(QAction); if (d->autorepeat == on) return; QAPP_CHECK("setAutoRepeat"); d->autorepeat = on; d->redoGrab(qApp->d_func()->shortcutMap); d->redoGrabAlternate(qApp->d_func()->shortcutMap); d->sendDataChanged(); }
/*! \property QAction::shortcutContext \brief the context for the action's shortcut Valid values for this property can be found in \l Qt::ShortcutContext. The default value is Qt::WindowShortcut. */ void QAction::setShortcutContext(Qt::ShortcutContext context) { Q_D(QAction); if (d->shortcutContext == context) return; QAPP_CHECK("setShortcutContext"); d->shortcutContext = context; d->redoGrab(qApp->d_func()->shortcutMap); d->redoGrabAlternate(qApp->d_func()->shortcutMap); d->sendDataChanged(); }
/*! \property QAction::shortcut \brief the action's primary shortcut key Valid keycodes for this property can be found in \l Qt::Key and \l Qt::Modifier. There is no default shortcut key. */ void QAction::setShortcut(const QKeySequence &shortcut) { QAPP_CHECK("setShortcut"); Q_D(QAction); if (d->shortcut == shortcut) return; d->shortcut = shortcut; d->redoGrab(qApp->d_func()->shortcutMap); d->sendDataChanged(); }
/*! \property QAction::visible \brief whether the action can be seen (e.g. in menus and toolbars) If \e visible is true the action can be seen (e.g. in menus and toolbars) and chosen by the user; if \e visible is false the action cannot be seen or chosen by the user. Actions which are not visible are \e not grayed out; they do not appear at all. By default, this property is \c true (actions are visible). */ void QAction::setVisible(bool b) { Q_D(QAction); if (b == d->visible && b != d->forceInvisible) return; QAPP_CHECK("setVisible"); d->forceInvisible = !b; d->visible = b; d->enabled = b && !d->forceDisabled && (!d->group || d->group->isEnabled()) ; #ifndef QT_NO_SHORTCUT d->setShortcutEnabled(d->enabled, qApp->d_func()->shortcutMap); #endif d->sendDataChanged(); }
/*! \property QAction::enabled \brief whether the action is enabled Disabled actions cannot be chosen by the user. They do not disappear from menus or toolbars, but they are displayed in a way which indicates that they are unavailable. For example, they might be displayed using only shades of gray. \uicontrol{What's This?} help on disabled actions is still available, provided that the QAction::whatsThis property is set. An action will be disabled when all widgets to which it is added (with QWidget::addAction()) are disabled or not visible. When an action is disabled, it is not possible to trigger it through its shortcut. By default, this property is \c true (actions are enabled). \sa text */ void QAction::setEnabled(bool b) { Q_D(QAction); if (b == d->enabled && b != d->forceDisabled) return; d->forceDisabled = !b; if (b && (!d->visible || (d->group && !d->group->isEnabled()))) return; QAPP_CHECK("setEnabled"); d->enabled = b; #ifndef QT_NO_SHORTCUT d->setShortcutEnabled(b, qApp->d_func()->shortcutMap); #endif d->sendDataChanged(); }
/*! Constructs a QShortcut object for the \a parent widget. The shortcut operates on its parent, listening for \l{QShortcutEvent}s that match the \a key sequence. Depending on the ambiguity of the event, the shortcut will call the \a member function, or the \a ambiguousMember function, if the key press was in the shortcut's \a context. */ QShortcut::QShortcut(const QKeySequence &key, QWidget *parent, const char *member, const char *ambiguousMember, Qt::ShortcutContext context) : QObject(*new QShortcutPrivate, parent) { QAPP_CHECK("QShortcut"); Q_D(QShortcut); Q_ASSERT(parent != 0); d->sc_context = context; d->sc_sequence = key; d->redoGrab(qApp->d_func()->shortcutMap); if (member) connect(this, SIGNAL(activated()), parent, member); if (ambiguousMember) connect(this, SIGNAL(activatedAmbiguously()), parent, ambiguousMember); }
/*! \since 4.2 Sets \a shortcuts as the list of shortcuts that trigger the action. The first element of the list is the primary shortcut. \sa shortcut */ void QAction::setShortcuts(const QList<QKeySequence> &shortcuts) { Q_D(QAction); QList <QKeySequence> listCopy = shortcuts; QKeySequence primary; if (!listCopy.isEmpty()) primary = listCopy.takeFirst(); if (d->shortcut == primary && d->alternateShortcuts == listCopy) return; QAPP_CHECK("setShortcuts"); d->shortcut = primary; d->alternateShortcuts = listCopy; d->redoGrab(qApp->d_func()->shortcutMap); d->redoGrabAlternate(qApp->d_func()->shortcutMap); d->sendDataChanged(); }