void ConnectDialog::performCalibration() { if(ui->kinect->getStatus() != SystemStateReady) return; if(kinect->isCalibrated()) { greenScreen->close(); delete greenScreen; greenScreen = nullptr; ui->calibration->setStatus(SystemStateReady); } else if(greenScreen == nullptr) { QPixmap pixmap(5000, 5000); pixmap.fill(QColor("#09741b")); greenScreen = new QSplashScreen(pixmap); greenScreen->showFullScreen(); greenScreen->setFont(QFont("Helvetica neue", 35)); greenScreen->showMessage(tr("Calibration in progess..."), Qt::AlignCenter); greenScreen->raise(); kinect->calibrate(); } connect(kinect, SIGNAL(calibrated()), this, SLOT(performCalibration())); checkAndClose(); }
void JoyAxis::joyEvent(int value, bool ignoresets) { setCurrentRawValue(value); //currentRawValue = value; bool safezone = !inDeadZone(currentRawValue); currentThrottledValue = calculateThrottledValue(value); if (this->stick) { if (safezone && !isActive) { isActive = eventActive = true; emit active(value); } else if (!safezone && isActive) { isActive = eventActive = false; emit released(value); } stick->joyEvent(ignoresets); } else { InputDevice *device = parentSet->getInputDevice(); if (!device->isGameController() && !device->hasCalibrationThrottle(index)) { performCalibration(currentRawValue); safezone = !inDeadZone(currentRawValue); currentThrottledValue = calculateThrottledValue(value); } if (safezone && !isActive) { isActive = eventActive = true; emit active(value); createDeskEvent(ignoresets); } else if (!safezone && isActive) { isActive = eventActive = false; emit released(value); createDeskEvent(ignoresets); } else if (isActive) { createDeskEvent(ignoresets); } } emit moved(currentRawValue); }
ConnectDialog::ConnectDialog(WiimoteEngine* wiimoteEngine, QKinect* kinect, QWidget *parent) : QDialog(parent), wiimoteEngine(wiimoteEngine), kinect(kinect), greenScreen(nullptr), ui(new Ui::ConnectDialog) { ui->setupUi(this); //setAttribute(Qt::WA_DeleteOnClose); ui->wiimote->setSystemName(tr("Wiimote")); ui->kinect->setSystemName(tr("Kinect")); ui->calibration->setSystemName(tr("Calibration")); connect(ui->wiimote, SIGNAL(clicked()), this, SLOT(connectWiimotes())); connect(ui->kinect, SIGNAL(clicked()), this, SLOT(connectKinect())); connect(ui->calibration, SIGNAL(clicked()), this, SLOT(performCalibration())); }