making final changes

This commit is contained in:
Dante Ruiz 2017-06-12 22:01:41 +01:00
parent 1b13cd6d45
commit bbe675ab72
5 changed files with 124 additions and 69 deletions

View file

@ -413,6 +413,7 @@ Rectangle {
info.showCountDown = false;
info.calibrationFailed = false
info.calibrationSucceed = false;
info.calibrationSucceed = false;
info.showCalibrationStatus = false;
info.visible = false;
}
@ -455,6 +456,9 @@ Rectangle {
} else if (!status["calibrated"]) {
var uncalibrated = status["success"];
if (uncalibrated) {
info.visible = true;
info.showCalibrationStatus = true;
info.uncalibrationSucceed = true;
} else {
info.visible = true;
info.showCalibrationStatus = true;
@ -524,6 +528,7 @@ Rectangle {
property bool showCalibrationStatus: false
property bool calibrationFailed: false
property bool calibrationSucceed: false
property bool uncalibrationSucceed: false
visible: false
color: hifi.colors.baseGray
@ -577,6 +582,19 @@ Rectangle {
anchors.centerIn: parent
}
}
Item {
id: uncalibrateInfo
visible: info.uncalibrationSucceed
anchors.centerIn: parent
RalewayBold {
id: uncalibrateText
text: "Uncalibration Successful"
size: 42
color: hifi.colors.greenHighlight
anchors.centerIn: parent
}
}
}
}

View file

@ -8,6 +8,9 @@
#include "InputConfiguration.h"
#include <QThread>
#include "DisplayPlugin.h"
#include "InputPlugin.h"
#include "PluginManager.h"
@ -16,6 +19,13 @@ InputConfiguration::InputConfiguration() {
}
QStringList InputConfiguration::inputPlugins() {
if (QThread::currentThread() != thread()) {
QStringList result;
QMetaObject::invokeMethod(this, "inputPlugins", Qt::BlockingQueuedConnection,
Q_RETURN_ARG(QStringList, result));
return result;
}
QStringList inputPlugins;
for (auto plugin : PluginManager::getInstance()->getInputPlugins()) {
inputPlugins << QString(plugin->getName());
@ -25,6 +35,13 @@ QStringList InputConfiguration::inputPlugins() {
QStringList InputConfiguration::activeInputPlugins() {
if (QThread::currentThread() != thread()) {
QStringList result;
QMetaObject::invokeMethod(this, "activeInputPlugins", Qt::BlockingQueuedConnection,
Q_RETURN_ARG(QStringList, result));
return result;
}
QStringList activePlugins;
for (auto plugin : PluginManager::getInstance()->getInputPlugins()) {
if (plugin->configurable()) {
@ -35,8 +52,15 @@ QStringList InputConfiguration::activeInputPlugins() {
}
QString InputConfiguration::configurationLayout(QString pluginName) {
QString sourcePath;
if (QThread::currentThread() != thread()) {
QString result;
QMetaObject::invokeMethod(this, "configurationLayout", Qt::BlockingQueuedConnection,
Q_RETURN_ARG(QString, result),
Q_ARG(QString, pluginName));
return result;
}
QString sourcePath;
for (auto plugin : PluginManager::getInstance()->getInputPlugins()) {
if (plugin->getName() == pluginName) {
return plugin->configurationLayout();
@ -46,6 +70,13 @@ QString InputConfiguration::configurationLayout(QString pluginName) {
}
void InputConfiguration::setConfigurationSettings(QJsonObject configurationSettings, QString pluginName) {
if (QThread::currentThread() != thread()) {
QMetaObject::invokeMethod(this, "setConfigurationSettings", Qt::BlockingQueuedConnection,
Q_ARG(QJsonObject, configurationSettings),
Q_ARG(QString, pluginName));
return;
}
for (auto plugin : PluginManager::getInstance()->getInputPlugins()) {
if (plugin->getName() == pluginName) {
plugin->setConfigurationSettings(configurationSettings);
@ -54,6 +85,14 @@ void InputConfiguration::setConfigurationSettings(QJsonObject configurationSetti
}
QJsonObject InputConfiguration::configurationSettings(QString pluginName) {
if (QThread::currentThread() != thread()) {
QJsonObject result;
QMetaObject::invokeMethod(this, "configurationSettings", Qt::BlockingQueuedConnection,
Q_RETURN_ARG(QJsonObject, result),
Q_ARG(QString, pluginName));
return result;
}
for (auto plugin : PluginManager::getInstance()->getInputPlugins()) {
if (plugin->getName() == pluginName) {
return plugin->configurationSettings();
@ -63,14 +102,14 @@ QJsonObject InputConfiguration::configurationSettings(QString pluginName) {
}
void InputConfiguration::calibratePlugin(QString pluginName) {
if (QThread::currentThread() != thread()) {
QMetaObject::invokeMethod(this, "calibratePlugin", Qt::BlockingQueuedConnection);
return;
}
for (auto plugin : PluginManager::getInstance()->getInputPlugins()) {
if (plugin->getName() == pluginName) {
qDebug() << "calibrating plauin " << pluginName;
plugin->calibrate();
}
}
}
void InputConfiguration::calibrated(const QJsonObject& status) {
emit calibrationStatus(status);
}

View file

@ -28,7 +28,6 @@ public:
Q_INVOKABLE void setConfigurationSettings(QJsonObject configurationSettings, QString pluginName);
Q_INVOKABLE void calibratePlugin(QString pluginName);
Q_INVOKABLE QJsonObject configurationSettings(QString pluginName);
void calibrated(const QJsonObject& status);
signals:
void calibrationStatus(const QJsonObject& status);

View file

@ -314,7 +314,6 @@ void ViveControllerManager::InputDevice::calibrateFromUI(const controller::Input
void ViveControllerManager::InputDevice::configureCalibrationSettings(const QJsonObject configurationSettings) {
Locker locker(_lock);
if (!configurationSettings.empty()) {
auto iter = configurationSettings.begin();
auto end = configurationSettings.end();
@ -372,7 +371,7 @@ void ViveControllerManager::InputDevice::emitCalibrationStatus(const bool succes
status["puckCount"] = (int)_validTrackedObjects.size();
}
inputConfiguration->calibrated(status);
emit inputConfiguration->calibrationStatus(status); //inputConfiguration->calibrated(status);
}
void ViveControllerManager::InputDevice::handleTrackedObject(uint32_t deviceIndex, const controller::InputCalibrationData& inputCalibrationData) {