diff options
author | Christian Kamm <christian.d.kamm@nokia.com> | 2010-11-18 14:37:38 +0100 |
---|---|---|
committer | Christian Kamm <christian.d.kamm@nokia.com> | 2010-11-18 14:37:38 +0100 |
commit | 25b38d423c808c5eb89055562a47cfa690091e54 (patch) | |
tree | 78b313cb1aee56bd38705d520f2230af58cf7f81 | |
parent | fc3c06e09679d53437e285ec0b7bfa7aea6ca029 (diff) |
Sensors ui: Clean up and add fast-access accelerometer buttons.
Reviewed-by: owolff
-rw-r--r-- | src/ui/sensorsui.cpp | 95 | ||||
-rw-r--r-- | src/ui/sensorsui.h | 7 |
2 files changed, 95 insertions, 7 deletions
diff --git a/src/ui/sensorsui.cpp b/src/ui/sensorsui.cpp index 728ac6b..0180f91 100644 --- a/src/ui/sensorsui.cpp +++ b/src/ui/sensorsui.cpp @@ -149,12 +149,56 @@ SensorsUi::SensorsUi(QWidget *parent) OptionsItem *item = new OptionsItem(tr("Ambient light"), mAmbientLightBox); optionsList << item; + { + QWidget *control = new QWidget; + QVBoxLayout *vlayout = new QVBoxLayout; + + mAccelerometerControl = new AccelerometerControl(); + mAccelerometerControl->setMinimumHeight(150); + connect(mAccelerometerControl, SIGNAL(valueChanged(QVector3D)), this, SLOT(setAccelerometerValue(QVector3D))); + vlayout->addWidget(mAccelerometerControl); + + QHBoxLayout *hlayout = new QHBoxLayout; + vlayout->addLayout(hlayout); + + struct ButtonData { + QString toolTip; + const char *iconPath; + const char *slot; + }; + ButtonData data[] = { + { tr("Top Up"), ":/ui/icons/topup.png", SLOT(setAccelerometerTopUp()) }, + { tr("Left Up"), ":/ui/icons/leftup.png", SLOT(setAccelerometerLeftUp()) }, + { tr("Top Down"), ":/ui/icons/topdown.png", SLOT(setAccelerometerTopDown()) }, + { tr("Right Up"), ":/ui/icons/rightup.png", SLOT(setAccelerometerRightUp()) }, + { tr("Face Up"), ":/ui/icons/faceup.png", SLOT(setAccelerometerFaceUp()) }, + { tr("Face Down"), ":/ui/icons/facedown.png", SLOT(setAccelerometerFaceDown()) } + }; + for (int i = 0; i < 6; ++i) { + ButtonData b = data[i]; + QPushButton *button = new QPushButton; + button->setToolTip(b.toolTip); + button->setIcon(QIcon(b.iconPath)); + connect(button, SIGNAL(clicked()), this, b.slot); + hlayout->addWidget(button); + } + hlayout->setMargin(0); + hlayout->setSpacing(0); + + control->setLayout(vlayout); + + item = new OptionsItem(tr("Accelerometer"), control); + item->setTags(tags); + optionsList << item; + } + mAccelerometerXEdit = new SensorDoubleEdit(); mAccelerometerXEdit->setRange(-50, 50); mAccelerometerXEdit->setDecimalPlaces(2); item = new OptionsItem(tr("Accelerometer x"), mAccelerometerXEdit); connect(mAccelerometerXEdit, SIGNAL(valueChanged(double)), SLOT(emitSensorsDataChange())); item->setTags(tags); + item->setAdvanced(true); optionsList << item; mAccelerometerYEdit = new SensorDoubleEdit(); @@ -163,6 +207,7 @@ SensorsUi::SensorsUi(QWidget *parent) item = new OptionsItem(tr("Accelerometer y"), mAccelerometerYEdit); connect(mAccelerometerYEdit, SIGNAL(valueChanged(double)), SLOT(emitSensorsDataChange())); item->setTags(tags); + item->setAdvanced(true); optionsList << item; mAccelerometerZEdit = new SensorDoubleEdit(); @@ -171,13 +216,7 @@ SensorsUi::SensorsUi(QWidget *parent) item = new OptionsItem(tr("Accelerometer z"), mAccelerometerZEdit); connect(mAccelerometerZEdit, SIGNAL(valueChanged(double)), SLOT(emitSensorsDataChange())); item->setTags(tags); - optionsList << item; - - mAccelerometerControl = new AccelerometerControl(); - mAccelerometerControl->setMinimumHeight(150); - connect(mAccelerometerControl, SIGNAL(valueChanged(QVector3D)), this, SLOT(setAccelerometerValue(QVector3D))); - item = new OptionsItem(tr("Accelerometer"), mAccelerometerControl); - item->setTags(tags); + item->setAdvanced(true); optionsList << item; mMagnetometerXEdit = new SensorDoubleEdit(); @@ -186,6 +225,7 @@ SensorsUi::SensorsUi(QWidget *parent) item = new OptionsItem(tr("Magnetometer x"), mMagnetometerXEdit); connect(mMagnetometerXEdit, SIGNAL(valueChanged(double)), SLOT(emitSensorsDataChange())); item->setTags(tags); + item->setAdvanced(true); optionsList << item; mMagnetometerYEdit = new SensorDoubleEdit(); @@ -194,6 +234,7 @@ SensorsUi::SensorsUi(QWidget *parent) item = new OptionsItem(tr("Magnetometer y"), mMagnetometerYEdit); connect(mMagnetometerYEdit, SIGNAL(valueChanged(double)), SLOT(emitSensorsDataChange())); item->setTags(tags); + item->setAdvanced(true); optionsList << item; mMagnetometerZEdit = new SensorDoubleEdit(); @@ -202,6 +243,7 @@ SensorsUi::SensorsUi(QWidget *parent) item = new OptionsItem(tr("Magnetometer z"), mMagnetometerZEdit); connect(mMagnetometerZEdit, SIGNAL(valueChanged(double)), SLOT(emitSensorsDataChange())); item->setTags(tags); + item->setAdvanced(true); optionsList << item; mMagnetometerCalibrationLevelEdit = new SensorDoubleEdit(); @@ -210,6 +252,7 @@ SensorsUi::SensorsUi(QWidget *parent) item = new OptionsItem(tr("Magnetometer calibration level"), mMagnetometerCalibrationLevelEdit); connect(mMagnetometerCalibrationLevelEdit, SIGNAL(valueChanged(double)), SLOT(emitSensorsDataChange())); item->setTags(tags); + item->setAdvanced(true); optionsList << item; mCompassAzimuthEdit = new SensorDoubleEdit(); @@ -226,6 +269,7 @@ SensorsUi::SensorsUi(QWidget *parent) item = new OptionsItem(tr("Compass calibration level"), mCompassCalibrationLevelEdit); connect(mCompassCalibrationLevelEdit, SIGNAL(valueChanged(double)), SLOT(emitSensorsDataChange())); item->setTags(tags); + item->setAdvanced(true); optionsList << item; mProximitySensorCloseButton = new QPushButton(tr("Far")); @@ -251,6 +295,7 @@ SensorsUi::SensorsUi(QWidget *parent) tmp->setLayout(vLayout); item = new OptionsItem(tr("Timestamp"), tmp); item->setTags(tags << tr("Current") << tr("Override")); + item->setAdvanced(true); optionsList << item; connect(mCurrentRadio, SIGNAL(toggled(bool)), SLOT(updateTimeEditDisabled())); connect(mTimeEdit, SIGNAL(dateTimeChanged(const QDateTime &)), SLOT(emitSensorsDataChange())); @@ -353,6 +398,42 @@ void SensorsUi::updateTimeEditDisabled() emitSensorsDataChange(); } +void SensorsUi::setAccelerometerTopUp() +{ + setAccelerometerValue(QVector3D(0, 9.8, 0)); + emitSensorsDataChange(); +} + +void SensorsUi::setAccelerometerLeftUp() +{ + setAccelerometerValue(QVector3D(-9.8, 0, 0)); + emitSensorsDataChange(); +} + +void SensorsUi::setAccelerometerRightUp() +{ + setAccelerometerValue(QVector3D(9.8, 0, 0)); + emitSensorsDataChange(); +} + +void SensorsUi::setAccelerometerTopDown() +{ + setAccelerometerValue(QVector3D(0, -9.8, 0)); + emitSensorsDataChange(); +} + +void SensorsUi::setAccelerometerFaceUp() +{ + setAccelerometerValue(QVector3D(0, 0, 9.8)); + emitSensorsDataChange(); +} + +void SensorsUi::setAccelerometerFaceDown() +{ + setAccelerometerValue(QVector3D(0, 0, -9.8)); + emitSensorsDataChange(); +} + /*! \class SensorsScriptInterface \brief Exposed as sensors. diff --git a/src/ui/sensorsui.h b/src/ui/sensorsui.h index 5793fe3..d8a9b6f 100644 --- a/src/ui/sensorsui.h +++ b/src/ui/sensorsui.h @@ -202,6 +202,13 @@ private slots: void updateTimeEditDisabled(); void updateProximityButtonText(); + void setAccelerometerTopUp(); + void setAccelerometerLeftUp(); + void setAccelerometerRightUp(); + void setAccelerometerTopDown(); + void setAccelerometerFaceUp(); + void setAccelerometerFaceDown(); + private: void initializeAmbientLightOptions(); |