BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
editSingleShortcut.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 //
5 
6 #ifndef BALL_VIEW_DIALOGS_EDITSINGLESHORTCUT_H
7 #define BALL_VIEW_DIALOGS_EDITSINGLESHORTCUT_H
8 
9 #ifndef BALL_VIEW_KERNEL_PREFERENCESENTRY
11 #endif
12 
13 #ifndef BALL_VIEW_KERNEL_SHORTCUTREGISTRY_H
15 #endif
16 
17 #ifndef BALL_VIEW_KERNEL_MODULARWIDGET_H
19 #endif
20 
21 #include <BALL/VIEW/UIC/ui_editSingleShortcut.h>
22 
23 #include <QtGui/QDialog>
24 
25 class QModelIndex;
26 
27 namespace BALL
28 {
29  namespace VIEW
30  {
31 
36  : public QDialog,
37  public Ui_EditSingleShortcutData
38  {
39  // macro needed for Qt's slot mechanism:
40  Q_OBJECT
41 
42  public:
43 
45  EditSingleShortcut(QWidget* parent = NULL, const char* name = "EditSingleShortcut", Qt::WFlags fl = 0 );
46 
47  QKeySequence const& getKeySequence() const { return new_sequence_; }
48 
49  void setIndex(const QModelIndex& index);
50  void reset();
51  void setup(const QString& shortcut);
52 
53  public slots:
54  virtual void accept();
55  virtual void reject();
56 
57  protected slots:
58  void modeChanged_(bool toggled);
59 
60  protected:
62 
63  unsigned int modifiers_;
64  int key_;
65  QKeySequence new_sequence_;
66 
68  void setErrorText(QString error);
69 
71  void setShortcutText(QString new_keysequence);
72 
73  void updateText_();
74  void changeMode_(bool mode);
75 
76  void keyPressEvent(QKeyEvent* evt);
77  void keyReleaseEvent(QKeyEvent* evt);
78 
79  void startRecording_();
80  void stopRecording_();
81  };
82 
83  }
84 }
85 
86 #endif
87