summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qsoftkeymanager_p.h
diff options
context:
space:
mode:
authorJason Barron <jbarron@trolltech.com>2009-09-20 10:55:36 (GMT)
committerJason Barron <jbarron@trolltech.com>2009-09-21 08:07:50 (GMT)
commit7bb16c92a29d316b0dc385e95d99d3edfd1b4196 (patch)
tree462d020724be4048a6cc6738d55f6dd34db2f445 /src/gui/kernel/qsoftkeymanager_p.h
parentf01dd45eb52e6a9d76fbd2645466cc52319715a0 (diff)
downloadQt-7bb16c92a29d316b0dc385e95d99d3edfd1b4196.zip
Qt-7bb16c92a29d316b0dc385e95d99d3edfd1b4196.tar.gz
Qt-7bb16c92a29d316b0dc385e95d99d3edfd1b4196.tar.bz2
Simplify the soft key roles of QAction.
Previously there were many options here that were inherited from the Qtopia implementation. It was not clear to developers which value they actually should use. A good example was the 'Next' value. In a typical wizard application, next would be on the right and 'Previous' would be on the left. However, it is also common to have 'Next' on the left and have 'Cancel' on the right. Basically what people really wanted was a way to explicitly set the right and left soft keys, but since this relies on form factor and is wrong if the screen is rotated, we choose positive and negative actions as the values for these such that they still make sense when the screen is rotated. Also this helps people who don't know if a particular action should be on the left or right, but they *do* know if their action has destructive characterisitics (negative). As a convenience for widgets in Qt that use softkeys, we create a standard softkey enumeration. That maps the actions to the correct role and has default text. Reviewed-by: Alessandro Portale
Diffstat (limited to 'src/gui/kernel/qsoftkeymanager_p.h')
-rw-r--r--src/gui/kernel/qsoftkeymanager_p.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/gui/kernel/qsoftkeymanager_p.h b/src/gui/kernel/qsoftkeymanager_p.h
index 630dd9f..743b4d4 100644
--- a/src/gui/kernel/qsoftkeymanager_p.h
+++ b/src/gui/kernel/qsoftkeymanager_p.h
@@ -55,6 +55,7 @@
#include <QtCore/qobject.h>
#include "QtGui/qaction.h"
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -64,9 +65,17 @@ class QSoftKeyManager : public QObject
Q_OBJECT
public:
+
+ enum StandardSoftKey {
+ OkSoftKey,
+ SelectSoftKey,
+ DoneSoftKey,
+ CancelSoftKey,
+ };
+
static void updateSoftKeys(bool force = false);
- static QAction *createAction(QAction::SoftKeyRole standardRole, QWidget *actionWidget);
- static QAction *createKeyedAction(QAction::SoftKeyRole standardRole, Qt::Key key, QWidget *actionWidget);
+ static QAction *createAction(StandardSoftKey standardKey, QWidget *actionWidget);
+ static QAction *createKeyedAction(StandardSoftKey standardKey, Qt::Key key, QWidget *actionWidget);
#ifdef Q_WS_S60
static bool handleCommand(int);
@@ -75,7 +84,7 @@ public:
private:
QSoftKeyManager();
static QSoftKeyManager *instance();
- static const char *standardSoftKeyText(QAction::SoftKeyRole role);
+ static const char *standardSoftKeyText(StandardSoftKey standardKey);
static void updateSoftKeys_sys(const QList<QAction*> &softKeys);
static QSoftKeyManager *self;