diff --git a/src/plugins/coreplugin/actionmanager/command.cpp b/src/plugins/coreplugin/actionmanager/command.cpp index 80ca9f46af7739b6e66a4d0ce8fe7b708ee29ab9..a62daff7d87b128d762fb2585372df1bc021e36e 100644 --- a/src/plugins/coreplugin/actionmanager/command.cpp +++ b/src/plugins/coreplugin/actionmanager/command.cpp @@ -61,42 +61,128 @@ /*! \enum Command::CommandAttribute + Defines how the user visible action is updated when the active action changes. + The default is to update the enabled and visible state, and to disable the + user visible action when there is no active action. + \omitvalue CA_Mask + \value CA_UpdateText + Also update the actions text. + \value CA_UpdateIcon + Also update the actions icon. + \value CA_Hide + When there is no active action, hide the user "visible" action, instead of just + disabling it. + \value CA_NonConfigureable + Flag to indicate that the keyboard shortcut of this Command should not be + configurable by the user. */ /*! - \fn virtual void Command::setDefaultKeySequence(const QKeySequence &key) + \fn void Command::setDefaultKeySequence(const QKeySequence &key) + Set the default keyboard shortcut that can be used to activate this command to \a key. + This is used if the user didn't customize the shortcut, or resets the shortcut + to the default one. */ /*! - \fn virtual int Command::id() const + \fn void Command::defaultKeySequence() const + Returns the default keyboard shortcut that can be used to activate this command. + \sa setDefaultKeySequence() */ /*! - \fn virtual QAction *Command::action() const + \fn void Command::keySequenceChanged() + Sent when the keyboard shortcut assigned to this Command changes, e.g. + when the user sets it in the keyboard shortcut settings dialog. */ /*! - \fn virtual QShortcut *Command::shortcut() const + \fn QKeySequence Command::keySequence() const + Returns the current keyboard shortcut assigned to this Command. + \sa defaultKeySequence() */ /*! - \fn virtual void Command::setAttribute(CommandAttribute attr) + \fn void Command::setKeySequence(const QKeySequence &key) + \internal +*/ + +/*! + \fn void Command::setDefaultText(const QString &text) + Set the \a text that is used to represent the Command in the + keyboard shortcut settings dialog. If you don't set this, + the current text from the user visible action is taken (which + is ok in many cases). +*/ + +/*! + \fn QString Command::defaultText() const + Returns the text that is used to present this Command to the user. + \sa setDefaultText() +*/ + +/*! + \fn int Command::id() const + \internal +*/ + +/*! + \fn QString Command::stringWithAppendedShortcut(const QString &string) const + Returns the \a string with an appended representation of the keyboard shortcut + that is currently assigned to this Command. +*/ + +/*! + \fn QAction *Command::action() const + Returns the user visible action for this Command. + If the Command represents a shortcut, it returns null. + Use this action to put it on e.g. tool buttons. The action + automatically forwards trigger and toggle signals to the + action that is currently active for this Command. + It also shows the current keyboard shortcut in its + tool tip (in addition to the tool tip of the active action) + and gets disabled/hidden when there is + no active action for the current context. */ /*! - \fn virtual void Command::removeAttribute(CommandAttribute attr) + \fn QShortcut *Command::shortcut() const + Returns the shortcut for this Command. + If the Command represents an action, it returns null. */ /*! - \fn virtual bool Command::hasAttribute(CommandAttribute attr) const + \fn void Command::setAttribute(CommandAttribute attribute) + Add the \a attribute to the attributes of this Command. + \sa CommandAttribute + \sa removeAttribute() + \sa hasAttribute() */ /*! - \fn virtual bool Command::isActive() const + \fn void Command::removeAttribute(CommandAttribute attribute) + Remove the \a attribute from the attributes of this Command. + \sa CommandAttribute + \sa setAttribute() */ /*! - \fn virtual Command::~Command() + \fn bool Command::hasAttribute(CommandAttribute attribute) const + Returns if the Command has the \a attribute set. + \sa CommandAttribute + \sa removeAttribute() + \sa setAttribute() +*/ + +/*! + \fn bool Command::isActive() const + Returns if the Command has an active action/shortcut for the current + context. +*/ + +/*! + \fn Command::~Command() + \internal */ using namespace Core::Internal; @@ -171,20 +257,15 @@ QString CommandPrivate::stringWithAppendedShortcut(const QString &str) const /*! \class Shortcut + \internal */ -/*! - ... -*/ Shortcut::Shortcut(int id) : CommandPrivate(id), m_shortcut(0) { } -/*! - ... -*/ QString Shortcut::name() const { if (!m_shortcut) @@ -193,41 +274,26 @@ QString Shortcut::name() const return m_shortcut->whatsThis(); } -/*! - ... -*/ void Shortcut::setShortcut(QShortcut *shortcut) { m_shortcut = shortcut; } -/*! - ... -*/ QShortcut *Shortcut::shortcut() const { return m_shortcut; } -/*! - ... -*/ void Shortcut::setContext(const QList<int> &context) { m_context = context; } -/*! - ... -*/ QList<int> Shortcut::context() const { return m_context; } -/*! - ... -*/ void Shortcut::setDefaultKeySequence(const QKeySequence &key) { setKeySequence(key); @@ -255,9 +321,6 @@ QString Shortcut::defaultText() const return m_defaultText; } -/*! - ... -*/ bool Shortcut::setCurrentContext(const QList<int> &context) { foreach (int ctxt, m_context) { @@ -270,9 +333,6 @@ bool Shortcut::setCurrentContext(const QList<int> &context) return false; } -/*! - ... -*/ bool Shortcut::isActive() const { return m_shortcut->isEnabled(); @@ -281,11 +341,8 @@ bool Shortcut::isActive() const // ---------- Action ------------ /*! - \class Action -*/ - -/*! - ... + \class Action + \internal */ Action::Action(int id) : CommandPrivate(id), m_action(0) @@ -293,9 +350,6 @@ Action::Action(int id) } -/*! - ... -*/ QString Action::name() const { if (!m_action) @@ -304,9 +358,6 @@ QString Action::name() const return m_action->text(); } -/*! - ... -*/ void Action::setAction(QAction *action) { m_action = action; @@ -316,33 +367,21 @@ void Action::setAction(QAction *action) } } -/*! - ... -*/ QAction *Action::action() const { return m_action; } -/*! - ... -*/ void Action::setLocations(const QList<CommandLocation> &locations) { m_locations = locations; } -/*! - ... -*/ QList<CommandLocation> Action::locations() const { return m_locations; } -/*! - ... -*/ void Action::setDefaultKeySequence(const QKeySequence &key) { setKeySequence(key); @@ -373,28 +412,20 @@ QKeySequence Action::keySequence() const /*! \class OverrideableAction + \internal */ -/*! - ... -*/ OverrideableAction::OverrideableAction(int id) : Action(id), m_currentAction(0), m_active(false), m_contextInitialized(false) { } -/*! - ... -*/ void OverrideableAction::setAction(QAction *action) { Action::setAction(action); } -/*! - ... -*/ bool OverrideableAction::setCurrentContext(const QList<int> &context) { m_context = context; diff --git a/src/plugins/coreplugin/actionmanager/command.h b/src/plugins/coreplugin/actionmanager/command.h index b8e8a326555db5275a8bbc22f2c577175f9d5405..af999bee5353eeb263d20f3cf84143537f784e70 100644 --- a/src/plugins/coreplugin/actionmanager/command.h +++ b/src/plugins/coreplugin/actionmanager/command.h @@ -51,7 +51,6 @@ public: }; virtual void setDefaultKeySequence(const QKeySequence &key) = 0; - virtual void setKeySequence(const QKeySequence &key) = 0; virtual QKeySequence defaultKeySequence() const = 0; virtual QKeySequence keySequence() const = 0; virtual void setDefaultText(const QString &text) = 0; @@ -70,6 +69,8 @@ public: virtual ~Command() {} + virtual void setKeySequence(const QKeySequence &key) = 0; + virtual QString stringWithAppendedShortcut(const QString &str) const = 0; signals: