| 1637 | } |
| 1638 | |
| 1639 | void OverlayController::OnNetworkReply( QNetworkReply* reply ) |
| 1640 | { |
| 1641 | if ( reply->error() == QNetworkReply::NoError ) |
| 1642 | { |
| 1643 | QByteArray replyByteData = reply->readAll(); |
| 1644 | LOG( INFO ) << "Version Check: Recieved Data: " << replyByteData; |
| 1645 | QJsonParseError parseError; |
| 1646 | m_remoteVersionJsonDocument |
| 1647 | = QJsonDocument::fromJson( replyByteData, &parseError ); |
| 1648 | if ( parseError.error == QJsonParseError::NoError ) |
| 1649 | { |
| 1650 | m_remoteVersionJsonObject = m_remoteVersionJsonDocument.object(); |
| 1651 | m_remoteVersionMajor |
| 1652 | = m_remoteVersionJsonObject.value( "major" ).toInt(); |
| 1653 | m_remoteVersionMinor |
| 1654 | = m_remoteVersionJsonObject.value( "minor" ).toInt(); |
| 1655 | m_remoteVersionPatch |
| 1656 | = m_remoteVersionJsonObject.value( "patch" ).toInt(); |
| 1657 | m_updateMessage |
| 1658 | = m_remoteVersionJsonObject.value( "updateMessage" ).toString(); |
| 1659 | m_optionalMessage |
| 1660 | = m_remoteVersionJsonObject.value( "optionalMessage" ) |
| 1661 | .toString(); |
| 1662 | |
| 1663 | // this is a little convoluted to ensure if our local version is |
| 1664 | // somehow higher than remote, it doesn't detect an update from |
| 1665 | // just higher remote "minor" or "patch" values. |
| 1666 | if ( ( m_remoteVersionMajor > m_localVersionMajor ) |
| 1667 | || ( m_remoteVersionMajor == m_localVersionMajor |
| 1668 | && m_remoteVersionMinor > m_localVersionMinor ) |
| 1669 | || ( m_remoteVersionMajor == m_localVersionMajor |
| 1670 | && m_remoteVersionMinor == m_localVersionMinor |
| 1671 | && m_remoteVersionPatch > m_localVersionPatch ) ) |
| 1672 | { |
| 1673 | setNewVersionDetected( true ); |
| 1674 | if ( m_updateMessage.length() > 0 ) |
| 1675 | { |
| 1676 | setVersionCheckText( m_updateMessage ); |
| 1677 | } |
| 1678 | else |
| 1679 | { |
| 1680 | setVersionCheckText( |
| 1681 | "Newer version (" |
| 1682 | + QString::number( m_remoteVersionMajor ) + "." |
| 1683 | + QString::number( m_remoteVersionMinor ) + "." |
| 1684 | + QString::number( m_remoteVersionPatch ) |
| 1685 | + ") available." ); |
| 1686 | } |
| 1687 | LOG( INFO ) |
| 1688 | << "Version Check: Newer version (" << m_remoteVersionMajor |
| 1689 | << "." << m_remoteVersionMinor << "." |
| 1690 | << m_remoteVersionPatch << ") available."; |
| 1691 | } |
| 1692 | else |
| 1693 | { |
| 1694 | if ( m_optionalMessage.length() > 0 ) |
| 1695 | { |
| 1696 | setVersionCheckText( m_optionalMessage ); |