From 2aa8995fd8bfc2fbf91974e073c383c080a058e6 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Thu, 25 Nov 2010 14:15:51 +0100 Subject: Doc: update screen shot with Nokia N8 --- doc/images/qt-simulator-devices.png | Bin 512292 -> 108186 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/images/qt-simulator-devices.png b/doc/images/qt-simulator-devices.png index e6f0864..e72b0df 100644 Binary files a/doc/images/qt-simulator-devices.png and b/doc/images/qt-simulator-devices.png differ -- cgit v1.2.3 From 813c505c8fc0089b45c8ae2510a319306256c63a Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Fri, 26 Nov 2010 10:41:02 +0100 Subject: Doc: add disclaimer about no support for device specific APIs Reviewed-by: ckamm Reviewed-by: owolff --- doc/simulator.qdoc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/simulator.qdoc b/doc/simulator.qdoc index f064381..13ed21a 100644 --- a/doc/simulator.qdoc +++ b/doc/simulator.qdoc @@ -47,6 +47,12 @@ change the information that the device has about its configuration and environment. + Qt Simulator does not support any device specific APIs by design. Therefore, + applications that run well on Qt Simulator also run on any device that hosts the + Qt and Qt Mobility libraries. However, this means that you cannot use + Qt Simulator to test applications that use device specific libraries, such as + Symbian C++ APIs. + \image qt-simulator.png "Qt Simulator" \note Please report bugs and suggestions to the -- cgit v1.2.3 From 0cad8392068f28c8b0c3db7f7c7cc755c909392a Mon Sep 17 00:00:00 2001 From: Olli Werwolff Date: Tue, 7 Dec 2010 10:49:00 +0100 Subject: Added versioning for simulator registration in QSettings Reviewed-by: ckamm --- src/main.cpp | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 34152df..bd8c8dc 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -64,10 +64,26 @@ static void registerSimulator(const QString &location) } #endif - const QString locationKey = QLatin1String(SIMULATOR_APP_LOCATION_KEY); - QVariant value = settings->value(locationKey); - if (!value.isValid() || settings->value(locationKey).toString() != location) - settings->setValue(locationKey, location); + settings->beginGroup(SIMULATOR_APP_LOCATION_KEY); + QString simulatorVersionString = simulatorVersion.toString(); + QVariant value = settings->value(simulatorVersionString); + if (!value.isValid() || settings->value(simulatorVersionString).toString() != location) + settings->setValue(simulatorVersionString, location); + settings->endGroup(); + + settings->beginGroup(SIMULATOR_APP_QT_VERSIONS_KEY); + QList supportedQtVersion; + supportedQtVersion << "4.7.1.0"; + foreach(const QString &version, supportedQtVersion) { + QList simulators; + QVariant value = settings->value(version); + if (value.isValid()) + simulators = value.toStringList(); + if (!simulators.contains(simulatorVersionString)) + simulators.append(simulatorVersionString); + settings->setValue(version, QVariant::fromValue(simulators)); + } + settings->endGroup(); const QString dataKey = QLatin1String(SIMULATOR_APP_DATA_KEY); QString appDataLocation = QDesktopServices::storageLocation(QDesktopServices::DataLocation); -- cgit v1.2.3 From 9f1470686800282cdc921792af4649debf9d5622 Mon Sep 17 00:00:00 2001 From: Olli Werwolff Date: Wed, 8 Dec 2010 13:40:55 +0100 Subject: Change orientation buttons for portrait/landscape device Reviewed-by: ckamm --- src/ui/configurationwidget.cpp | 20 ++++++++++++++++---- src/ui/configurationwidget.h | 1 + src/ui/icons/facedown.png | Bin 9076 -> 4458 bytes src/ui/icons/facedown_landscape.png | Bin 0 -> 2362 bytes src/ui/icons/faceup.png | Bin 23505 -> 18280 bytes src/ui/icons/faceup_landscape.png | Bin 0 -> 7397 bytes src/ui/icons/leftup.png | Bin 8761 -> 18940 bytes src/ui/icons/leftup_landscape.png | Bin 0 -> 23141 bytes src/ui/icons/rightup.png | Bin 9019 -> 18932 bytes src/ui/icons/rightup_landscape.png | Bin 0 -> 23178 bytes src/ui/icons/topdown.png | Bin 9194 -> 19621 bytes src/ui/icons/topdown_landscape.png | Bin 0 -> 22759 bytes src/ui/icons/topup.png | Bin 9292 -> 19747 bytes src/ui/icons/topup_landscape.png | Bin 0 -> 22735 bytes src/ui/mainwindow.cpp | 1 + src/ui/sensorsui.cpp | 21 +++++++++++++++++++++ src/ui/sensorsui.h | 1 + src/ui/ui.qrc | 6 ++++++ 18 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 src/ui/icons/facedown_landscape.png create mode 100644 src/ui/icons/faceup_landscape.png create mode 100644 src/ui/icons/leftup_landscape.png create mode 100644 src/ui/icons/rightup_landscape.png create mode 100644 src/ui/icons/topdown_landscape.png create mode 100644 src/ui/icons/topup_landscape.png diff --git a/src/ui/configurationwidget.cpp b/src/ui/configurationwidget.cpp index b6ec1a3..ea16db2 100644 --- a/src/ui/configurationwidget.cpp +++ b/src/ui/configurationwidget.cpp @@ -89,10 +89,7 @@ void ConfigurationWidget::initializeViewArea() mOrientationButtons->addButton(ui_inspector->leftUp, static_cast(leftUp)); connect(mOrientationButtons, SIGNAL(buttonClicked(int)), this, SLOT(changeOrientation(int))); - ui_inspector->topUp->setIcon(QIcon(":/ui/icons/topup.png")); - ui_inspector->topDown->setIcon(QIcon(":/ui/icons/topdown.png")); - ui_inspector->leftUp->setIcon(QIcon(":/ui/icons/leftup.png")); - ui_inspector->rightUp->setIcon(QIcon(":/ui/icons/rightup.png")); + updateOrientationsButtonsIcons(false); connect(ui_inspector->scaleSlider, SIGNAL(valueChanged(int)), this, SLOT(changeScaleFactor(int))); connect(ui_inspector->deviceListView, SIGNAL(currentIndexChanged(int)), this, SLOT(changeDeviceSelection(int))); @@ -178,6 +175,21 @@ void ConfigurationWidget::updateOrientationButtonsState(Orientation orientation) mOrientationButtons->button(orientation)->setChecked(true); } +void ConfigurationWidget::updateOrientationsButtonsIcons(bool standardOrientationPortrait) +{ + if (standardOrientationPortrait) { + ui_inspector->topUp->setIcon(QIcon(":/ui/icons/topup.png")); + ui_inspector->topDown->setIcon(QIcon(":/ui/icons/topdown.png")); + ui_inspector->leftUp->setIcon(QIcon(":/ui/icons/leftup.png")); + ui_inspector->rightUp->setIcon(QIcon(":/ui/icons/rightup.png")); + } else { + ui_inspector->topUp->setIcon(QIcon(":/ui/icons/topup_landscape.png")); + ui_inspector->topDown->setIcon(QIcon(":/ui/icons/topdown_landscape.png")); + ui_inspector->leftUp->setIcon(QIcon(":/ui/icons/leftup_landscape.png")); + ui_inspector->rightUp->setIcon(QIcon(":/ui/icons/rightup_landscape.png")); + } +} + void ConfigurationWidget::updateOrientationButtons(const DeviceData &data) { const bool rotateScreen = ui_inspector->rotateScreen->isChecked(); diff --git a/src/ui/configurationwidget.h b/src/ui/configurationwidget.h index 5cbfa70..b528c30 100644 --- a/src/ui/configurationwidget.h +++ b/src/ui/configurationwidget.h @@ -77,6 +77,7 @@ public slots: void changeDeviceSelection(int newIndex); void updateMenuBarWidget(Widget *menuBarWidget); void updateOrientationButtonsState(Orientation orientation); + void updateOrientationsButtonsIcons(bool standardOrientationPortrait); signals: void deviceSelectionChanged(const DeviceData &data); diff --git a/src/ui/icons/facedown.png b/src/ui/icons/facedown.png index 2e65212..97dda7a 100644 Binary files a/src/ui/icons/facedown.png and b/src/ui/icons/facedown.png differ diff --git a/src/ui/icons/facedown_landscape.png b/src/ui/icons/facedown_landscape.png new file mode 100644 index 0000000..8ac6f63 Binary files /dev/null and b/src/ui/icons/facedown_landscape.png differ diff --git a/src/ui/icons/faceup.png b/src/ui/icons/faceup.png index 13943d0..21666f6 100644 Binary files a/src/ui/icons/faceup.png and b/src/ui/icons/faceup.png differ diff --git a/src/ui/icons/faceup_landscape.png b/src/ui/icons/faceup_landscape.png new file mode 100644 index 0000000..4229f22 Binary files /dev/null and b/src/ui/icons/faceup_landscape.png differ diff --git a/src/ui/icons/leftup.png b/src/ui/icons/leftup.png index 9576a82..13c6ba2 100644 Binary files a/src/ui/icons/leftup.png and b/src/ui/icons/leftup.png differ diff --git a/src/ui/icons/leftup_landscape.png b/src/ui/icons/leftup_landscape.png new file mode 100644 index 0000000..26ddf45 Binary files /dev/null and b/src/ui/icons/leftup_landscape.png differ diff --git a/src/ui/icons/rightup.png b/src/ui/icons/rightup.png index 186ac37..9a1691d 100644 Binary files a/src/ui/icons/rightup.png and b/src/ui/icons/rightup.png differ diff --git a/src/ui/icons/rightup_landscape.png b/src/ui/icons/rightup_landscape.png new file mode 100644 index 0000000..7f856a1 Binary files /dev/null and b/src/ui/icons/rightup_landscape.png differ diff --git a/src/ui/icons/topdown.png b/src/ui/icons/topdown.png index 7846ed4..cca696a 100644 Binary files a/src/ui/icons/topdown.png and b/src/ui/icons/topdown.png differ diff --git a/src/ui/icons/topdown_landscape.png b/src/ui/icons/topdown_landscape.png new file mode 100644 index 0000000..e0dbebf Binary files /dev/null and b/src/ui/icons/topdown_landscape.png differ diff --git a/src/ui/icons/topup.png b/src/ui/icons/topup.png index 343da8c..221cec9 100644 Binary files a/src/ui/icons/topup.png and b/src/ui/icons/topup.png differ diff --git a/src/ui/icons/topup_landscape.png b/src/ui/icons/topup_landscape.png new file mode 100644 index 0000000..3b6cd31 Binary files /dev/null and b/src/ui/icons/topup_landscape.png differ diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index 232e2e3..ad456dc 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -185,6 +185,7 @@ MainWindow::MainWindow(QWidget *parent) connect(config, SIGNAL(deviceSelectionChanged(const DeviceData &)), deviceItem, SLOT(changeDevice(const DeviceData &))); connect(deviceItem, SIGNAL(sizeChanged(const QSize &)), this, SLOT(setSizeToDevice(const QSize &))); connect(deviceItem, SIGNAL(orientationChanged(Orientation)), config, SLOT(updateOrientationButtonsState(Orientation))); + connect(deviceItem, SIGNAL(deviceChanged(bool)), config, SLOT(updateOrientationsButtonsIcons(bool))); connect(config, SIGNAL(closeMainWindow()), this, SLOT(close())); connect(config, SIGNAL(orientationChangeRequested(Orientation, bool)), deviceItem, SLOT(changeOrientation(Orientation, bool))); diff --git a/src/ui/sensorsui.cpp b/src/ui/sensorsui.cpp index cbc1f47..5b7b813 100644 --- a/src/ui/sensorsui.cpp +++ b/src/ui/sensorsui.cpp @@ -181,6 +181,7 @@ SensorsUi::SensorsUi(QWidget *parent) button->setIcon(QIcon(b.iconPath)); connect(button, SIGNAL(clicked()), this, b.slot); hlayout->addWidget(button); + mOrientationButtons.append(button); } hlayout->setMargin(0); hlayout->setSpacing(0); @@ -624,3 +625,23 @@ QDateTime SensorsScriptInterface::timestamp() const { return ui->mTimeEdit->dateTime(); } + +void SensorsUi::updateDeviceDefaultOrientation(bool isPortrait) +{ + mAccelerometerControl->setDeviceOrientation(isPortrait); + if (isPortrait) { + mOrientationButtons.at(0)->setIcon(QIcon(":/ui/icons/topup.png")); + mOrientationButtons.at(1)->setIcon(QIcon(":/ui/icons/leftup.png")); + mOrientationButtons.at(2)->setIcon(QIcon(":/ui/icons/topdown.png")); + mOrientationButtons.at(3)->setIcon(QIcon(":/ui/icons/rightup.png")); + mOrientationButtons.at(4)->setIcon(QIcon(":/ui/icons/faceup.png")); + mOrientationButtons.at(5)->setIcon(QIcon(":/ui/icons/facedown.png")); + } else { + mOrientationButtons.at(0)->setIcon(QIcon(":/ui/icons/topup_landscape.png")); + mOrientationButtons.at(1)->setIcon(QIcon(":/ui/icons/leftup_landscape.png")); + mOrientationButtons.at(2)->setIcon(QIcon(":/ui/icons/topdown_landscape.png")); + mOrientationButtons.at(3)->setIcon(QIcon(":/ui/icons/rightup_landscape.png")); + mOrientationButtons.at(4)->setIcon(QIcon(":/ui/icons/faceup_landscape.png")); + mOrientationButtons.at(5)->setIcon(QIcon(":/ui/icons/facedown_landscape.png")); + } +} diff --git a/src/ui/sensorsui.h b/src/ui/sensorsui.h index d8a9b6f..f90647e 100644 --- a/src/ui/sensorsui.h +++ b/src/ui/sensorsui.h @@ -234,6 +234,7 @@ private: SensorDoubleEdit *mCompassAzimuthEdit; QPushButton *mProximitySensorCloseButton; + QList mOrientationButtons; QRadioButton *mCurrentRadio; QRadioButton *mOverrideRadio; diff --git a/src/ui/ui.qrc b/src/ui/ui.qrc index a4fef16..4c9a842 100644 --- a/src/ui/ui.qrc +++ b/src/ui/ui.qrc @@ -7,5 +7,11 @@ icons/rightup.png icons/topdown.png icons/topup.png + icons/leftup_landscape.png + icons/rightup_landscape.png + icons/topdown_landscape.png + icons/topup_landscape.png + icons/facedown_landscape.png + icons/faceup_landscape.png -- cgit v1.2.3 From 5fc79a9f9904fc7c4d13517f487a29ab7a8a8a7e Mon Sep 17 00:00:00 2001 From: Olli Werwolff Date: Wed, 8 Dec 2010 13:37:14 +0100 Subject: Differentiate between "portrait" and "landscape" models in AccelerometerControl Reviewed-by: ckamm --- models/maemoFremantle/N900_back.png | Bin 0 -> 1157713 bytes models/maemoFremantle/N900_left.png | Bin 0 -> 193023 bytes models/maemoFremantle/N900_top.png | Bin 0 -> 324504 bytes src/other/deviceitem.cpp | 1 + src/other/deviceitem.h | 1 + src/ui/accelerometercontrol.cpp | 62 ++++++++++++++++++++++++++++++------ src/ui/accelerometercontrol.h | 17 ++++++++++ src/ui/mainwindow.cpp | 1 + src/ui/sensorsui.h | 1 + 9 files changed, 74 insertions(+), 9 deletions(-) create mode 100644 models/maemoFremantle/N900_back.png create mode 100644 models/maemoFremantle/N900_left.png create mode 100644 models/maemoFremantle/N900_top.png diff --git a/models/maemoFremantle/N900_back.png b/models/maemoFremantle/N900_back.png new file mode 100644 index 0000000..dc74ee1 Binary files /dev/null and b/models/maemoFremantle/N900_back.png differ diff --git a/models/maemoFremantle/N900_left.png b/models/maemoFremantle/N900_left.png new file mode 100644 index 0000000..3f6379b Binary files /dev/null and b/models/maemoFremantle/N900_left.png differ diff --git a/models/maemoFremantle/N900_top.png b/models/maemoFremantle/N900_top.png new file mode 100644 index 0000000..11365d9 Binary files /dev/null and b/models/maemoFremantle/N900_top.png differ diff --git a/src/other/deviceitem.cpp b/src/other/deviceitem.cpp index b9f3d28..175a03d 100644 --- a/src/other/deviceitem.cpp +++ b/src/other/deviceitem.cpp @@ -305,6 +305,7 @@ void DeviceItem::updateScreenOrientation() mDeviceData.availableGeometry = mAvailableGeometry; emit deviceChanged(newResolution, mDeviceData); + emit deviceChanged(mDeviceData.mockup->width() < mDeviceData.mockup->height()); } void DeviceItem::initiateRotate() diff --git a/src/other/deviceitem.h b/src/other/deviceitem.h index cc4c26a..81b3d9e 100644 --- a/src/other/deviceitem.h +++ b/src/other/deviceitem.h @@ -291,6 +291,7 @@ signals: void viewSizeRequired(const QSize &size); void deviceChanged(const QSize &resolution, const DeviceData &device); + void deviceChanged(bool mainOrientationPortrait); void offsetChanged(const QPoint &newOffset); void buttonPressed(Qt::Key key, QString text); diff --git a/src/ui/accelerometercontrol.cpp b/src/ui/accelerometercontrol.cpp index e469cfc..3dd2295 100644 --- a/src/ui/accelerometercontrol.cpp +++ b/src/ui/accelerometercontrol.cpp @@ -71,15 +71,29 @@ void AccelerometerControl::initializeGL() QDir n8ModelDir(QCoreApplication::applicationDirPath()); n8ModelDir.cd("models/symbian3"); QImage frontImg(n8ModelDir.absoluteFilePath("N8_3D_front.png")); - mFrontTexture = bindTexture(frontImg); QImage backImg(n8ModelDir.absoluteFilePath("N8_3D_back.png")); - mBackTexture = bindTexture(backImg); QImage rightImg(n8ModelDir.absoluteFilePath("N8_3D_right.png")); - mRightTexture = bindTexture(rightImg); QImage topImg(n8ModelDir.absoluteFilePath("N8_3D_top.png")); - mTopTexture = bindTexture(topImg); QImage bottomImg(n8ModelDir.absoluteFilePath("N8_3D_bottom.png")); - mBottomTexture = bindTexture(bottomImg); + mFrontPortraitTexture = bindTexture(frontImg); + mBackPortraitTexture = bindTexture(backImg); + mLeftPortraitTexture = bindTexture(rightImg); + mRightPortraitTexture = bindTexture(rightImg); + mTopPortraitTexture = bindTexture(topImg); + mBottomPortraitTexture = bindTexture(bottomImg); + QDir n900ModelDir(QCoreApplication::applicationDirPath()); + n900ModelDir.cd("models/maemoFremantle"); + frontImg = QImage(n900ModelDir.absoluteFilePath("N900.png")); + backImg = QImage(n900ModelDir.absoluteFilePath("N900_back.png")); + rightImg = QImage(n900ModelDir.absoluteFilePath("N900_left.png")); + topImg = QImage(n900ModelDir.absoluteFilePath("N900_top.png")); + bottomImg = QImage(n900ModelDir.absoluteFilePath("N900_top.png")); + mFrontLandscapeTexture = bindTexture(frontImg); + mBackLandscapeTexture = bindTexture(backImg); + mLeftLandscapeTexture = bindTexture(rightImg); + mRightLandscapeTexture = bindTexture(rightImg); + mTopLandscapeTexture = bindTexture(topImg); + mBottomLandscapeTexture = bindTexture(topImg); } void AccelerometerControl::resizeGL(int w, int h) @@ -101,9 +115,18 @@ void AccelerometerControl::resizeGL(int w, int h) void AccelerometerControl::drawMobile() { // actually, half - qreal height = 0.8; - qreal width = height / 1.92; // values for the N8, based on the textures - qreal depth = height / 7.16; + qreal height; + qreal width; + qreal depth; + if (!mDefaultPortrait) { + height = 0.4; + width = height * 1.84; // values for the N900, based on the textures + depth = width / 5.21; + } else { + height = 0.8; + width = height / 1.92; // values for the N8, based on the textures + depth = height / 7.16; + } // backside glBindTexture(GL_TEXTURE_2D, mBackTexture); @@ -148,7 +171,7 @@ void AccelerometerControl::drawMobile() glEnd(); // left side - glBindTexture(GL_TEXTURE_2D, mRightTexture); + glBindTexture(GL_TEXTURE_2D, mLeftTexture); glBegin(GL_QUADS); glColor3f(1, 1, 1); glTexCoord2f(0, 0); @@ -249,3 +272,24 @@ void AccelerometerControl::mousePressEvent(QMouseEvent *event) { mOldMousePosition = event->pos(); } + +void AccelerometerControl::setDeviceOrientation(bool portrait) +{ + mDefaultPortrait = portrait; + if (portrait) { + mFrontTexture = mFrontPortraitTexture; + mBackTexture = mBackPortraitTexture; + mLeftTexture = mLeftPortraitTexture; + mRightTexture = mRightPortraitTexture; + mTopTexture = mTopPortraitTexture; + mBottomTexture = mBottomPortraitTexture; + } else { + mFrontTexture = mFrontLandscapeTexture; + mBackTexture = mBackLandscapeTexture; + mLeftTexture = mLeftLandscapeTexture; + mRightTexture = mRightLandscapeTexture; + mTopTexture = mTopLandscapeTexture; + mBottomTexture = mBottomLandscapeTexture; + } + updateGL(); +} diff --git a/src/ui/accelerometercontrol.h b/src/ui/accelerometercontrol.h index e55c3ea..199aab0 100644 --- a/src/ui/accelerometercontrol.h +++ b/src/ui/accelerometercontrol.h @@ -40,6 +40,8 @@ class AccelerometerControl : public QGLWidget public: explicit AccelerometerControl(QWidget *parent = 0); + void setDeviceOrientation(bool portrait); + signals: void valueChanged(const QVector3D &value); @@ -61,12 +63,27 @@ private: QPoint mOldMousePosition; QQuaternion mRotation; QVector3D mUpValue; + bool mDefaultPortrait; GLuint mFrontTexture; GLuint mBackTexture; + GLuint mLeftTexture; GLuint mRightTexture; GLuint mTopTexture; GLuint mBottomTexture; + + GLuint mFrontPortraitTexture; + GLuint mBackPortraitTexture; + GLuint mLeftPortraitTexture; + GLuint mRightPortraitTexture; + GLuint mTopPortraitTexture; + GLuint mBottomPortraitTexture; + GLuint mFrontLandscapeTexture; + GLuint mBackLandscapeTexture; + GLuint mLeftLandscapeTexture; + GLuint mRightLandscapeTexture; + GLuint mTopLandscapeTexture; + GLuint mBottomLandscapeTexture; }; #endif // ACCELEROMETERCONTROL_H diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index ad456dc..e61adb0 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -217,6 +217,7 @@ MainWindow::MainWindow(QWidget *parent) SensorsUi *sensorsUi = new SensorsUi(this); mobility->mSensorsUi = sensorsUi; config->addSimulateSubPage(sensorsUi); + connect(deviceItem, SIGNAL(deviceChanged(bool)), sensorsUi, SLOT(updateDeviceDefaultOrientation(bool))); OrganizerUi *organizerUi = new OrganizerUi(mobility->mOrganizer, this); config->addSimulateSubPage(organizerUi); diff --git a/src/ui/sensorsui.h b/src/ui/sensorsui.h index f90647e..c2e1d6f 100644 --- a/src/ui/sensorsui.h +++ b/src/ui/sensorsui.h @@ -192,6 +192,7 @@ public: public slots: void setSensorsData(const SensorsUi::SensorsData &data); void setDisplayedSensorsData(const SensorsUi::SensorsData &data); + void updateDeviceDefaultOrientation(bool isPortrait); signals: void sensorsDataChanged(const SensorsUi::SensorsData &data) const; -- cgit v1.2.3 From 8a9c8d193c27166567b28ccf2c4779ecbc9e9465 Mon Sep 17 00:00:00 2001 From: Olli Werwolff Date: Thu, 3 Feb 2011 15:08:53 +0100 Subject: Updated list of supported Qt version Reviewed-by: ckamm (cherry picked from commit a9312e07d3d9342294aea8db35662998d5b46c0f) --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index bd8c8dc..03a19d5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -73,7 +73,7 @@ static void registerSimulator(const QString &location) settings->beginGroup(SIMULATOR_APP_QT_VERSIONS_KEY); QList supportedQtVersion; - supportedQtVersion << "4.7.1.0"; + supportedQtVersion << "4.7.1.0" << "4.7.2.0"; foreach(const QString &version, supportedQtVersion) { QList simulators; QVariant value = settings->value(version); -- cgit v1.2.3 From 79caf9f2e117b2437ccd04b70222847b8d4903a5 Mon Sep 17 00:00:00 2001 From: Rainer Keller Date: Fri, 4 Feb 2011 08:43:54 +0000 Subject: Remove unused files These files are present in the remotecontrolwidget instead. --- src/ui/locationui.cpp | 117 -------------------------------------------------- src/ui/locationui.h | 59 ------------------------- 2 files changed, 176 deletions(-) delete mode 100644 src/ui/locationui.cpp delete mode 100644 src/ui/locationui.h diff --git a/src/ui/locationui.cpp b/src/ui/locationui.cpp deleted file mode 100644 index 55b624b..0000000 --- a/src/ui/locationui.cpp +++ /dev/null @@ -1,117 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Simulator -** -** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** Commercial Usage -** -** Licensees holding valid Qt Commercial licenses may use this file in -** accordance with the Qt Commercial License Agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Nokia. -** -** GNU Lesser General Public License Usage -** -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at http://qt.nokia.com/contact. -** -**************************************************************************/ - -#include "locationui.h" - -#include "optionsitem.h" -#include "configurationwidget.h" -#include "location.h" - -#include - -#include -#include -#include -#include -#include - -LocationUi::LocationUi(ConfigurationWidget *w, Location *location) - : QObject(w) - , mLocation(location) - , mLatitudeEdit(0) - , mLongitudeEdit(0) - , mAltitudeEdit(0) - , mTimeEdit(0) -{ - QStringList tags; - QList optionsList; - - mLatitudeEdit = new QLineEdit("52.5056819"); - mLatitudeEdit->setValidator(new QDoubleValidator(-90, 90, 10, this)); - OptionsItem *item = new OptionsItem(tr("Latitude"), mLatitudeEdit); - connect(mLatitudeEdit, SIGNAL(editingFinished()), SLOT(triggerLocationInfoChange())); - item->setTags(tags); - optionsList << item; - - mLongitudeEdit = new QLineEdit("13.3232027"); - mLatitudeEdit->setValidator(new QDoubleValidator(-180, 180, 10, this)); - item = new OptionsItem(tr("Longitude"), mLongitudeEdit); - connect(mLongitudeEdit, SIGNAL(editingFinished()), SLOT(triggerLocationInfoChange())); - item->setTags(tags); - optionsList << item; - - mAltitudeEdit = new QLineEdit("13.3232027"); - mAltitudeEdit->setValidator(new QDoubleValidator(-15000, 15000, 10, this)); - item = new OptionsItem(tr("Altitude"), mAltitudeEdit); - connect(mAltitudeEdit, SIGNAL(editingFinished()), SLOT(triggerLocationInfoChange())); - item->setTags(tags); - optionsList << item; - - mTimeEdit = new QDateTimeEdit(); - QPushButton *locationTimeButton = new QPushButton(tr("Now")); - QHBoxLayout *hLayout = new QHBoxLayout(); - hLayout->setContentsMargins(0, 0, 0, 0); - QVBoxLayout *vLayout = new QVBoxLayout(); - vLayout->addWidget(mTimeEdit); - vLayout->addWidget(locationTimeButton); - hLayout->addLayout(vLayout); - QWidget *tmp = new QWidget(); - tmp->setLayout(hLayout); - connect(mTimeEdit, SIGNAL(dateTimeChanged(const QDateTime &)), SLOT(triggerLocationInfoChange())); - connect(locationTimeButton, SIGNAL(clicked()), this, SLOT(updateLocationTime())); - item = new OptionsItem(tr("Timestamp"), tmp); - item->setTags(tags); - optionsList << item; - connect(mLocation, SIGNAL(locationChanged(QGeoPositionInfoData)), this, SLOT(locationSetData())); - - w->addToolBoxPage(tr("Location"), optionsList); -} - -void LocationUi::triggerLocationInfoChange() -{ - mLocation->setLatitude(mLatitudeEdit->text().toDouble()); - mLocation->setLongitude(mLongitudeEdit->text().toDouble()); - mLocation->setAltitude(mAltitudeEdit->text().toDouble()); - mLocation->setDateTime(mTimeEdit->dateTime()); - mLocation->publish(); -} - -void LocationUi::updateLocationTime() -{ - mTimeEdit->setDateTime(QDateTime::currentDateTime()); -} - -void LocationUi::locationSetData() -{ - mLatitudeEdit->setText(QString::number(mLocation->latitude(), 'f', 8)); - mLongitudeEdit->setText(QString::number(mLocation->longitude(), 'f', 8)); - mAltitudeEdit->setText(QString::number(mLocation->altitude(), 'f', 8)); - mTimeEdit->setDateTime(mLocation->dateTime()); -} - diff --git a/src/ui/locationui.h b/src/ui/locationui.h deleted file mode 100644 index d241237..0000000 --- a/src/ui/locationui.h +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Simulator -** -** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** Commercial Usage -** -** Licensees holding valid Qt Commercial licenses may use this file in -** accordance with the Qt Commercial License Agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Nokia. -** -** GNU Lesser General Public License Usage -** -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at http://qt.nokia.com/contact. -** -**************************************************************************/ - -#ifndef LOCATIONUI_H -#define LOCATIONUI_H - -#include - -class ConfigurationWidget; -class Location; -class QLineEdit; -class QDateTimeEdit; - -class LocationUi : public QObject -{ - Q_OBJECT -public: - LocationUi(ConfigurationWidget* w, Location *location); - -private slots: - void updateLocationTime(); - void locationSetData(); - void triggerLocationInfoChange(); - -private: - Location *mLocation; - QLineEdit *mLatitudeEdit; - QLineEdit *mLongitudeEdit; - QLineEdit *mAltitudeEdit; - QDateTimeEdit *mTimeEdit; -}; - -#endif // LOCATIONUI_H -- cgit v1.2.3 From 837c7195cb8c4ae78bd98ef6cdd3bdc6ddb37430 Mon Sep 17 00:00:00 2001 From: Rainer Keller Date: Fri, 4 Feb 2011 10:00:55 +0000 Subject: Pass SDK settings to qdoc --- doc/doc.pri | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/doc.pri b/doc/doc.pri index 0c60264..e4524a1 100644 --- a/doc/doc.pri +++ b/doc/doc.pri @@ -4,10 +4,10 @@ QDOC_BIN = $$[QT_INSTALL_BINS]/qdoc3 win32:QDOC_BIN = $$replace(QDOC_BIN, "/", "\\") unix { - QDOC = SRCDIR=$$PWD OUTDIR=$$OUT_PWD/doc/html QT_MOBILITY_SOURCE_PATH=$$QT_MOBILITY_SOURCE_PATH $$QDOC_BIN + QDOC = SIMULATOR_DEPENDENCY_PATH=$$SIMULATOR_DEPENDENCY_PATH SRCDIR=$$PWD OUTDIR=$$OUT_PWD/doc/html QT_MOBILITY_SOURCE_PATH=$$QT_MOBILITY_SOURCE_PATH $$QDOC_BIN HELPGENERATOR = $$[QT_INSTALL_BINS]/qhelpgenerator } else { - QDOC = set SRCDIR=$$PWD&& set OUTDIR=$$OUT_PWD/doc/html&& set QT_MOBILITY_SOURCE_PATH=$$QT_MOBILITY_SOURCE_PATH&& $$QDOC_BIN + QDOC = set SIMULATOR_DEPENDENCY_PATH=$$SIMULATOR_DEPENDENCY_PATH && set SRCDIR=$$PWD&& set OUTDIR=$$OUT_PWD/doc/html&& set QT_MOBILITY_SOURCE_PATH=$$QT_MOBILITY_SOURCE_PATH&& $$QDOC_BIN # Always run qhelpgenerator inside its own cmd; this is a workaround for # an unusual bug which causes qhelpgenerator.exe to do nothing HELPGENERATOR = cmd /C $$replace($$list($$[QT_INSTALL_BINS]/qhelpgenerator.exe), "/", "\\") -- cgit v1.2.3 From 7f8aae5eb702ee19a8725693ed2c3527f7b4aa9c Mon Sep 17 00:00:00 2001 From: Rainer Keller Date: Thu, 3 Feb 2011 15:47:09 +0000 Subject: Fix 3d accelerometer control. Done-with: ckamm --- src/ui/accelerometercontrol.cpp | 37 ++++++++++++++++++++++++++----------- src/ui/accelerometercontrol.h | 3 ++- 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/src/ui/accelerometercontrol.cpp b/src/ui/accelerometercontrol.cpp index 3dd2295..3f5ea8f 100644 --- a/src/ui/accelerometercontrol.cpp +++ b/src/ui/accelerometercontrol.cpp @@ -36,28 +36,33 @@ #include #include +static QVector3D accelerometerX(-1, 0, 0); +static QVector3D accelerometerY(0, 1, 0); +static QVector3D accelerometerZ(0, 0, -1); +static QVector3D unrotatedGravity(0, 1, 0); + AccelerometerControl::AccelerometerControl(QWidget *parent) - : QGLWidget(parent) + : QGLWidget(parent), mGravity(9.8) { } -void AccelerometerControl::setValue(const QVector3D &value) +void AccelerometerControl::setValue(const QVector3D &newValue) { - QVector3D up(0, 1, 0); - QVector3D target = value.normalized(); + mGravity = newValue.length(); + QVector3D target = newValue.normalized(); + + if ((newValue - value()).lengthSquared() < 0.0001) + return; - qreal dot = QVector3D::dotProduct(up, target); + qreal dot = QVector3D::dotProduct(accelerometerY, target); if (dot > 0.999) { mRotation = QQuaternion(); - mUpValue = value; } else if(dot < -0.999) { mRotation = QQuaternion::fromAxisAndAngle(0, 0, 1, 180); - mUpValue = -value; } else { // we want the quaternion that transforms target into up - QVector3D cross = QVector3D::crossProduct(target, up); + QVector3D cross = QVector3D::crossProduct(target, accelerometerY); mRotation = QQuaternion::fromAxisAndAngle(cross, qAcos(dot) * 180 / M_PI); - mUpValue = mRotation.rotatedVector(value); } updateGL(); @@ -263,8 +268,7 @@ void AccelerometerControl::mouseMoveEvent(QMouseEvent *event) } mOldMousePosition = event->pos(); - QVector3D newValue = mRotation.conjugate().rotatedVector(mUpValue); - emit valueChanged(newValue); + emit valueChanged(value()); updateGL(); } @@ -293,3 +297,14 @@ void AccelerometerControl::setDeviceOrientation(bool portrait) } updateGL(); } + +QVector3D AccelerometerControl::value() const +{ + QVector3D newValue; + newValue.setX(QVector3D::dotProduct(mRotation.conjugate().rotatedVector(accelerometerX), unrotatedGravity)); + newValue.setY(QVector3D::dotProduct(mRotation.conjugate().rotatedVector(accelerometerY), unrotatedGravity)); + newValue.setZ(QVector3D::dotProduct(mRotation.conjugate().rotatedVector(accelerometerZ), unrotatedGravity)); + newValue *= mGravity; + + return newValue; +} diff --git a/src/ui/accelerometercontrol.h b/src/ui/accelerometercontrol.h index 199aab0..ff0631c 100644 --- a/src/ui/accelerometercontrol.h +++ b/src/ui/accelerometercontrol.h @@ -42,6 +42,7 @@ public: void setDeviceOrientation(bool portrait); + QVector3D value() const; signals: void valueChanged(const QVector3D &value); @@ -62,7 +63,7 @@ private: private: QPoint mOldMousePosition; QQuaternion mRotation; - QVector3D mUpValue; + qreal mGravity; bool mDefaultPortrait; GLuint mFrontTexture; -- cgit v1.2.3 From eaae74d5bd250a4837f28bf59976aaabf1ee2156 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Mon, 21 Feb 2011 15:17:02 +0100 Subject: Fix a signal emission loop in the DPI settings. Task-number: QTSIM-121 Reviewed-by: owolff Reviewed-by: Rainer Keller --- src/ui/viewconfiguration.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ui/viewconfiguration.cpp b/src/ui/viewconfiguration.cpp index 4838c46..8069bbd 100644 --- a/src/ui/viewconfiguration.cpp +++ b/src/ui/viewconfiguration.cpp @@ -66,7 +66,10 @@ ViewConfiguration::~ViewConfiguration() void ViewConfiguration::updateValues(qreal factor) { + ui.horizontalSlider->blockSignals(true); ui.horizontalSlider->setValue(factor * 100); + ui.horizontalSlider->blockSignals(false); + updateLine(); QLocale locale; ui.correctionFactorEdit->setText(locale.toString(factor)); -- cgit v1.2.3