changeAutoCenteringSetting(false);
}
+void SituareEngine::draggingModeTriggered()
+{
+ if (m_mce)
+ m_mce->vibrationFeedback();
+}
+
void SituareEngine::enableAutomaticLocationUpdate(bool enabled, int updateIntervalMsecs)
{
qDebug() << __PRETTY_FUNCTION__;
connect(m_ui, SIGNAL(searchForLocation(QString)),
this, SLOT(locationSearch(QString)));
+
+ connect(m_ui, SIGNAL(draggingModeTriggered()),
+ this, SLOT(draggingModeTriggered()));
}
void SituareEngine::signalsFromMapEngine()
emit userLocationReady(user);
emit friendsLocationsReady(friendsList);
}
-
*/
void startAutomaticUpdate();
+ void draggingModeTriggered();
+
/*******************************************************************************
* SIGNALS
******************************************************************************/
return m_mcePrivate->isDisplayOn();
}
+
+void MCE::vibrationFeedback()
+{
+ m_mcePrivate->vibrationFeedback();
+}
*/
bool isDisplayOn();
+ /**
+ * @brief Vibrates the phone for short time.
+ */
+ void vibrationFeedback();
+
/*******************************************************************************
* SIGNALS
******************************************************************************/
m_dBusInterface->callWithCallback(MCE_DISPLAY_STATUS_GET, QList<QVariant>(), this,
SLOT(setDisplayState(QString)),
SLOT(displayStateError(QDBusError)));
+
+ m_dBusInterface->call(MCE_ENABLE_VIBRATOR);
}
void MCEPrivate::displayStateChanged(const QDBusMessage &message)
}
}
}
+
+void MCEPrivate::stopVibration()
+{
+ qDebug() << __PRETTY_FUNCTION__;
+
+ m_dBusInterface->call(MCE_ACTIVATE_VIBRATOR_PATTERN, "PatternPowerKeyPress");
+}
+
+void MCEPrivate::vibrationFeedback()
+{
+ qDebug() << __PRETTY_FUNCTION__;
+
+ m_dBusInterface->call(MCE_ACTIVATE_VIBRATOR_PATTERN, "PatternPowerKeyPress");
+
+ const int VIBRATION_TIME = 40; //Vibration time in milliseconds
+ QTimer::singleShot(VIBRATION_TIME, this, SLOT(stopVibration()));
+}
+
+MCEPrivate::~MCEPrivate()
+{
+ qDebug() << __PRETTY_FUNCTION__;
+
+ m_dBusInterface->call(MCE_DISABLE_VIBRATOR);
+}
* @brief Constructor.
*
* @param parent QObject
+ *
+ * Enables vibration mode.
*/
MCEPrivate(QObject *parent);
+ /**
+ * @brief Destructor.
+ *
+ * Disables vibration mode.
+ */
+ ~MCEPrivate();
+
/*******************************************************************************
* MEMBER FUNCTIONS AND SLOTS
******************************************************************************/
*/
bool isDisplayOn();
+ /**
+ * @brief Vibrates the phone for short time.
+ *
+ * Uses pre-defined vibration pattern.
+ */
+ void vibrationFeedback();
+
private slots:
/**
* @brief Slot for display state changed.
*/
void setDisplayState(const QString &state);
+ /**
+ * @brief Stops vibration.
+ */
+ void stopVibration();
+
/*******************************************************************************
* DATA MEMBERS
******************************************************************************/
return true;
}
+
+void MCEPrivate::vibrationFeedback()
+{
+ qDebug() << __PRETTY_FUNCTION__;
+}
* @return true if on, false if off.
*/
bool isDisplayOn();
+
+ /**
+ * @brief Vibrates the phone for short time.
+ *
+ * DOES NOTHING.
+ */
+ void vibrationFeedback();
};
#endif // MCEPRIVATESTUB_H
m_isDraggable = mode;
if(mode) {
+ emit draggingModeTriggered();
m_forceReleaseTimer->start();
m_dragPosition = eventPosition;
} else {
*/
void autoCenteringTriggered(bool enabled);
+ /**
+ * @brief Dragging mode triggered.
+ */
+ void draggingModeTriggered();
+
/*******************************************************************************
* DATA MEMBERS
******************************************************************************/
connect(m_mapView, SIGNAL(viewResized(QSize)),
m_indicatorButton, SLOT(screenResized(QSize)));
+
+ connect(m_indicatorButton, SIGNAL(draggingModeTriggered()),
+ this, SIGNAL(draggingModeTriggered()));
}
void MainWindow::buildInformationBox(const QString &message, bool modal)
connect(m_mapView, SIGNAL(viewResized(QSize)),
m_zoomButtonPanel, SLOT(screenResized(QSize)));
+ connect(m_zoomButtonPanel, SIGNAL(draggingModeTriggered()),
+ this, SIGNAL(draggingModeTriggered()));
}
void MainWindow::clearCookieJar()
void clearUpdateLocationDialogData();
/**
+ * @brief Dragging mode triggered.
+ */
+ void draggingModeTriggered();
+
+ /**
* @brief MapView has finished zooming
*/
void viewZoomFinished();
m_isDraggable = mode;
if(mode) {
+ emit draggingModeTriggered();
+
m_zoomInMode = m_zoomInButton->mode();
m_zoomOutMode = m_zoomOutButton->mode();
m_zoomInButton->setMode(QIcon::Disabled);
*/
void timerExpired();
+signals:
+ void draggingModeTriggered();
+
/*******************************************************************************
* DATA MEMBERS
******************************************************************************/