1
#include "shortcut.hpp"
9
#include "shortcutmanager.hpp"
13
Shortcut::Shortcut(const std::string& name, QWidget* parent)
18
, mSecondaryMode(SM_Ignore)
22
, mActivationStatus(AS_Inactive)
23
, mModifierStatus(false)
28
State::get().getShortcutManager().addShortcut(this);
29
State::get().getShortcutManager().getSequence(name, mSequence);
32
Shortcut::Shortcut(const std::string& name, const std::string& modName, QWidget* parent)
37
, mSecondaryMode(SM_Ignore)
41
, mActivationStatus(AS_Inactive)
42
, mModifierStatus(false)
47
State::get().getShortcutManager().addShortcut(this);
48
State::get().getShortcutManager().getSequence(name, mSequence);
49
State::get().getShortcutManager().getModifier(modName, mModifier);
52
Shortcut::Shortcut(const std::string& name, const std::string& modName, SecondaryMode secMode, QWidget* parent)
57
, mSecondaryMode(secMode)
61
, mActivationStatus(AS_Inactive)
62
, mModifierStatus(false)
67
State::get().getShortcutManager().addShortcut(this);
68
State::get().getShortcutManager().getSequence(name, mSequence);
69
State::get().getShortcutManager().getModifier(modName, mModifier);
74
State::get().getShortcutManager().removeShortcut(this);
77
bool Shortcut::isEnabled() const
82
const std::string& Shortcut::getName() const
87
const std::string& Shortcut::getModifierName() const
92
Shortcut::SecondaryMode Shortcut::getSecondaryMode() const
94
return mSecondaryMode;
97
const QKeySequence& Shortcut::getSequence() const
102
int Shortcut::getModifier() const
107
int Shortcut::getPosition() const
112
int Shortcut::getLastPosition() const
117
Shortcut::ActivationStatus Shortcut::getActivationStatus() const
119
return mActivationStatus;
122
bool Shortcut::getModifierStatus() const
124
return mModifierStatus;
127
void Shortcut::enable(bool state)
132
void Shortcut::setSequence(const QKeySequence& sequence)
134
mSequence = sequence;
136
mLastPos = sequence.count() - 1;
140
mAction->setText(mActionText + "\t" + State::get().getShortcutManager().convertToString(mSequence).data());
144
void Shortcut::setModifier(int modifier)
146
mModifier = modifier;
149
void Shortcut::setPosition(int pos)
154
void Shortcut::setActivationStatus(ActivationStatus status)
156
mActivationStatus = status;
159
void Shortcut::setModifierStatus(bool status)
161
mModifierStatus = status;
164
void Shortcut::associateAction(QAction* action)
168
mAction->setText(mActionText);
170
disconnect(this, SIGNAL(activated()), mAction, SLOT(trigger()));
171
disconnect(mAction, SIGNAL(destroyed()), this, SLOT(actionDeleted()));
178
mActionText = mAction->text();
179
mAction->setText(mActionText + "\t" + State::get().getShortcutManager().convertToString(mSequence).data());
181
connect(this, SIGNAL(activated()), mAction, SLOT(trigger()));
182
connect(mAction, SIGNAL(destroyed()), this, SLOT(actionDeleted()));
186
void Shortcut::signalActivated(bool state)
188
emit activated(state);
191
void Shortcut::signalActivated()
196
void Shortcut::signalSecondary(bool state)
198
emit secondary(state);
200
void Shortcut::signalSecondary()
205
QString Shortcut::toString() const
207
return QString(State::get().getShortcutManager().convertToString(mSequence, mModifier).data());
210
void Shortcut::actionDeleted()