QObject(), QGraphicsPixmapItem (pixmap, parent)
{
- connect(&rotationSensor_,SIGNAL(readingChanged()),this,SLOT(readRotationSensor()));
+ rotationReadingInitialized_ = false;
+ rotationReadingTimer_.setInterval(100);
+ connect(&rotationSensor_,SIGNAL(readingChanged()),this,SLOT(rotationSensorReady()));
+
-// qrangelist rangelist = rotationSensor_.availableDataRates();
-// qDebug() << rangelist.length() << "ranges found";
-// foreach (qrange range, rangelist)
-// {
-// qDebug() << "Rotation sensor: " << range.first <<", " << "range.second";
-// }
}
void OrientationControlledGraphicsPixmapObject::startMoving()
void OrientationControlledGraphicsPixmapObject::stopMoving()
{
rotationSensor_.stop();
+ rotationReadingInitialized_ = false;
+ rotationReadingTimer_.stop();
// qDebug () << "trying to stop the sensor";
}
if (!scene()) //no movement if this item does not belong to a scene
return;
+
+//Test reading sensor information. Since qDebug has ceased to work, uses qCritical instead...
+// qrangelist rangelist = rotationSensor_.availableDataRates();
+
+// qCritical() << rangelist.length() << "ranges found";
+// foreach (qrange range, rangelist)
+// {
+// qCritical() << "Rotation sensor: " << range.first <<", " << "range.second";
+// }
+// qCritical() << "Current data date is " << rotationSensor_.dataRate();
+
QRect sceneRectangle = scene()->sceneRect().toRect();
}
}
+
+
+void OrientationControlledGraphicsPixmapObject::rotationSensorReady()
+{
+
+ if (!rotationReadingInitialized_)
+ {
+ connect(&rotationReadingTimer_,SIGNAL(timeout()),this,SLOT(readRotationSensor()));
+ rotationReadingInitialized_ = true;
+ rotationReadingTimer_.start();
+ }
+}
#include <QGraphicsPixmapItem>
#include <QRotationSensor>
+#include <QTimer>
QTM_USE_NAMESPACE
void startMoving();
void stopMoving();
void readRotationSensor();
- virtual void setPos(const QPointF &pos);
+ virtual void setPos(const QPointF &pos);
+ void rotationSensorReady();
protected:
QRotationSensor rotationSensor_;
QPointF oldOldPos_;
+ QTimer rotationReadingTimer_;
+ bool rotationReadingInitialized_;