void TrackingSystemIGSTKService::uninitialize()
{
	if (this->isTracking())
	{
		connect(this, SIGNAL(trackingStopped()), this, SLOT(uninitializeAfterTrackingStoppedSlot()));
		this->stopTracking();
		return;
	}

	if (!this->isInitialized())
	{
		return;
	}
	if (mTrackerThread)
		mTrackerThread->initialize(false);
}
void TrackingSystemIGSTKService::trackerTrackingSlot(bool value)
{
	if (value)
	{
		mState = Tool::tsTRACKING;
		reportSuccess("IGSTK Tracking Service started tracking.");
		emit stateChanged();
		emit trackingStarted();
	}
	else
	{
		mState = Tool::tsINITIALIZED;
		reportSuccess("IGSTK Tracking Service stopped tracking.");
		emit stateChanged();
		emit trackingStopped();
	}
}
void TrackingSystemIGSTKService::uninitializeAfterTrackingStoppedSlot()
{
	disconnect(this, SIGNAL(trackingStopped()), this, SLOT(uninitializeAfterTrackingStoppedSlot()));
	this->uninitialize();
}
void VideoControls::handleSliderReleased() {
    m_isTracking = false;
    trackingChanged(false);
    trackingStopped();
}