/***************************************************************************
- * Copyright (C) 2010 by the Quassel Project *
+ * Copyright (C) 2005-2016 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This class has been inspired by KDE's KKeySequenceWidget and uses *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
#ifndef KEYSEQUENCEWIDGET_H
class KeySequenceButton;
class QToolButton;
-class KeySequenceWidget : public QWidget {
- Q_OBJECT
+class KeySequenceWidget : public QWidget
+{
+ Q_OBJECT
public:
- KeySequenceWidget(QWidget *parent = 0);
+ KeySequenceWidget(QWidget *parent = 0);
- void setModel(ShortcutsModel *model);
+ void setModel(ShortcutsModel *model);
public slots:
- void setKeySequence(const QKeySequence &seq);
+ void setKeySequence(const QKeySequence &seq);
signals:
- /**
- * This signal is emitted when the current key sequence has changed by user input
- * \param seq The key sequence the user has chosen
- * \param conflicting The index of an action that needs to have its shortcut removed. The user has already been
- * asked to agree (if he declines, this signal won't be emitted at all).
- */
- void keySequenceChanged(const QKeySequence &seq, const QModelIndex &conflicting = QModelIndex());
+ /**
+ * This signal is emitted when the current key sequence has changed by user input
+ * \param seq The key sequence the user has chosen
+ * \param conflicting The index of an action that needs to have its shortcut removed. The user has already been
+ * asked to agree (if he declines, this signal won't be emitted at all).
+ */
+ void keySequenceChanged(const QKeySequence &seq, const QModelIndex &conflicting = QModelIndex());
- void clicked();
+ void clicked();
private slots:
- void updateShortcutDisplay();
- void startRecording();
- void cancelRecording();
- void clear();
+ void updateShortcutDisplay();
+ void startRecording();
+ void cancelRecording();
+ void clear();
private:
- inline bool isRecording() const { return _isRecording; }
- void doneRecording();
+ inline bool isRecording() const { return _isRecording; }
+ void doneRecording();
- bool isOkWhenModifierless(int keyQt) const;
- bool isShiftAsModifierAllowed(int keyQt) const;
- bool isKeySequenceAvailable(const QKeySequence &seq);
+ bool isOkWhenModifierless(int keyQt) const;
+ bool isShiftAsModifierAllowed(int keyQt) const;
+ bool isKeySequenceAvailable(const QKeySequence &seq);
- ShortcutsModel *_shortcutsModel;
- bool _isRecording;
- QKeySequence _keySequence, _oldKeySequence;
- uint _modifierKeys;
- QModelIndex _conflictingIndex;
+ ShortcutsModel *_shortcutsModel;
+ bool _isRecording;
+ QKeySequence _keySequence, _oldKeySequence;
+ uint _modifierKeys;
+ QModelIndex _conflictingIndex;
- KeySequenceButton *_keyButton;
- QToolButton *_clearButton;
+ KeySequenceButton *_keyButton;
+ QToolButton *_clearButton;
- friend class KeySequenceButton;
+ friend class KeySequenceButton;
};
/*****************************************************************************/
-class KeySequenceButton : public QPushButton {
- Q_OBJECT
+class KeySequenceButton : public QPushButton
+{
+ Q_OBJECT
public:
- explicit KeySequenceButton(KeySequenceWidget *d, QWidget *parent = 0);
+ explicit KeySequenceButton(KeySequenceWidget *d, QWidget *parent = 0);
protected:
- virtual bool event(QEvent *event);
- virtual void keyPressEvent(QKeyEvent *event);
- virtual void keyReleaseEvent(QKeyEvent *event);
+ virtual bool event(QEvent *event);
+ virtual void keyPressEvent(QKeyEvent *event);
+ virtual void keyReleaseEvent(QKeyEvent *event);
private:
- KeySequenceWidget *d;
+ KeySequenceWidget *d;
};
+
#endif // KEYSEQUENCEWIDGET_H