1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-26 01:35:21 +03:00

Fixes #2634 - Option ALLOW_NIGHTLY_BUILDS added

This commit is contained in:
Bertrand Songis 2015-08-05 18:51:50 +02:00
parent 2378080ae8
commit a8ff8b524b
6 changed files with 42 additions and 10 deletions

View file

@ -22,8 +22,12 @@ ELSE(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
SET(SIMULATOR_NAME "simulator") SET(SIMULATOR_NAME "simulator")
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
OPTION(DEBUG_IMPORT "Turns on debug output for EEPROM import") # Disabled by default OPTION(ALLOW_NIGHTLY_BUILDS "Allow nightly builds download / update") # Disabled by default
IF(ALLOW_NIGHTLY_BUILDS)
ADD_DEFINITIONS(-DALLOW_NIGHTLY_BUILDS)
ENDIF(ALLOW_NIGHTLY_BUILDS)
OPTION(DEBUG_IMPORT "Turn on debug output for EEPROM import") # Disabled by default
IF(DEBUG_IMPORT) IF(DEBUG_IMPORT)
ADD_DEFINITIONS( -DDEBUG_MODEL_IMPORT) ADD_DEFINITIONS( -DDEBUG_MODEL_IMPORT)
MESSAGE( STATUS "EEPROM import debugging enabled" ) MESSAGE( STATUS "EEPROM import debugging enabled" )

View file

@ -109,9 +109,14 @@ void AppPreferencesDialog::initSettings()
ui->snapshotPath->setDisabled(true); ui->snapshotPath->setDisabled(true);
ui->snapshotPathButton->setDisabled(true); ui->snapshotPathButton->setDisabled(true);
} }
#if defined(ALLOW_NIGHTLY_BUILDS)
ui->useCompanionNightlyBuilds->setChecked(g.useCompanionNightlyBuilds()); ui->useCompanionNightlyBuilds->setChecked(g.useCompanionNightlyBuilds());
ui->autoCheckCompanion->setChecked(g.autoCheckApp());
ui->useFirmwareNightlyBuilds->setChecked(g.useFirmwareNightlyBuilds()); ui->useFirmwareNightlyBuilds->setChecked(g.useFirmwareNightlyBuilds());
#else
ui->useCompanionNightlyBuilds->hide();
ui->useFirmwareNightlyBuilds->hide();
#endif
ui->autoCheckCompanion->setChecked(g.autoCheckApp());
ui->autoCheckFirmware->setChecked(g.autoCheckFw()); ui->autoCheckFirmware->setChecked(g.autoCheckFw());
ui->showSplash->setChecked(g.showSplash()); ui->showSplash->setChecked(g.showSplash());
ui->historySize->setValue(g.historySize()); ui->historySize->setValue(g.historySize());

View file

@ -23,6 +23,9 @@
#include "file.h" #include "file.h"
#include "appdata.h" #include "appdata.h"
#define OPENTX_FIRMWARE_DOWNLOADS "http://downloads-21.open-tx.org/firmware"
#define OPENTX_NIGHT_FIRMWARE_DOWNLOADS "http://downloads-21.open-tx.org/nightly/firmware"
#define FILE_TYP_GENERAL 1 #define FILE_TYP_GENERAL 1
#define FILE_TYP_MODEL 2 #define FILE_TYP_MODEL 2
@ -1046,9 +1049,18 @@ bool OpenTxEepromInterface::loadBackup(RadioData &radioData, uint8_t *eeprom, in
return true; return true;
} }
QString OpenTxFirmware::getFirmwareBaseUrl()
{
#if defined(ALLOW_NIGHTLY_BUILDS)
return (g.useFirmwareNightlyBuilds() ? OPENTX_NIGHT_FIRMWARE_DOWNLOADS : OPENTX_FIRMWARE_DOWNLOADS);
#else
return OPENTX_FIRMWARE_DOWNLOADS;
#endif
}
QString OpenTxFirmware::getFirmwareUrl() QString OpenTxFirmware::getFirmwareUrl()
{ {
QString url = (g.useFirmwareNightlyBuilds() ? OPENTX_NIGHT_FIRMWARE_DOWNLOADS : OPENTX_FIRMWARE_DOWNLOADS); QString url = getFirmwareBaseUrl();
switch (board) { switch (board) {
case BOARD_STOCK: case BOARD_STOCK:
case BOARD_M128: case BOARD_M128:
@ -1072,14 +1084,14 @@ QString OpenTxFirmware::getFirmwareUrl()
QString OpenTxFirmware::getReleaseNotesUrl() QString OpenTxFirmware::getReleaseNotesUrl()
{ {
QString url = (g.useFirmwareNightlyBuilds() ? OPENTX_NIGHT_FIRMWARE_DOWNLOADS : OPENTX_FIRMWARE_DOWNLOADS); QString url = getFirmwareBaseUrl();
url.append("/releasenotes.txt"); url.append("/releasenotes.txt");
return url; return url;
} }
QString OpenTxFirmware::getStampUrl() QString OpenTxFirmware::getStampUrl()
{ {
QString url = (g.useFirmwareNightlyBuilds() ? OPENTX_NIGHT_FIRMWARE_DOWNLOADS : OPENTX_FIRMWARE_DOWNLOADS); QString url = getFirmwareBaseUrl();
url.append("/stamp-opentx.txt"); url.append("/stamp-opentx.txt");
return url; return url;
} }

View file

@ -19,9 +19,6 @@
#include "eeprominterface.h" #include "eeprominterface.h"
#define OPENTX_FIRMWARE_DOWNLOADS "http://downloads-21.open-tx.org/firmware"
#define OPENTX_NIGHT_FIRMWARE_DOWNLOADS "http://downloads-21.open-tx.org/nightly/firmware"
class RleFile; class RleFile;
class OpenTxEepromInterface : public EEPROMInterface class OpenTxEepromInterface : public EEPROMInterface
@ -126,6 +123,10 @@ class OpenTxFirmware: public Firmware {
virtual bool isTelemetrySourceAvailable(int source); virtual bool isTelemetrySourceAvailable(int source);
protected:
QString getFirmwareBaseUrl();
}; };
void registerOpenTxFirmwares(); void registerOpenTxFirmwares();

View file

@ -216,6 +216,15 @@ void MainWindow::dowloadLastFirmwareUpdate()
checkForUpdates(); checkForUpdates();
} }
QString MainWindow::getCompanionUpdateBaseUrl()
{
#if defined(ALLOW_NIGHTLY_BUILDS)
return g.useCompanionNightlyBuilds() ? OPENTX_NIGHT_COMPANION_DOWNLOADS : OPENTX_COMPANION_DOWNLOADS;
#else
return OPENTX_COMPANION_DOWNLOADS;
#endif
}
void MainWindow::checkForUpdates() void MainWindow::checkForUpdates()
{ {
if (checkForUpdatesState & SHOW_DIALOG_WAIT) { if (checkForUpdatesState & SHOW_DIALOG_WAIT) {
@ -229,7 +238,7 @@ void MainWindow::checkForUpdates()
// TODO why create each time a network manager? // TODO why create each time a network manager?
networkManager = new QNetworkAccessManager(this); networkManager = new QNetworkAccessManager(this);
connect(networkManager, SIGNAL(finished(QNetworkReply*)),this, SLOT(checkForCompanionUpdateFinished(QNetworkReply*))); connect(networkManager, SIGNAL(finished(QNetworkReply*)),this, SLOT(checkForCompanionUpdateFinished(QNetworkReply*)));
QNetworkRequest request(QUrl(QString("%1/%2").arg(g.useCompanionNightlyBuilds() ? OPENTX_NIGHT_COMPANION_DOWNLOADS : OPENTX_COMPANION_DOWNLOADS).arg(COMPANION_STAMP))); QNetworkRequest request(QUrl(QString("%1/%2").arg(getCompanionUpdateBaseUrl()).arg(COMPANION_STAMP)));
request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysNetwork); request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysNetwork);
networkManager->get(request); networkManager->get(request);
} }
@ -296,7 +305,7 @@ void MainWindow::checkForCompanionUpdateFinished(QNetworkReply * reply)
#endif #endif
if (!fileName.isEmpty()) { if (!fileName.isEmpty()) {
g.updatesDir(QFileInfo(fileName).dir().absolutePath()); g.updatesDir(QFileInfo(fileName).dir().absolutePath());
downloadDialog * dd = new downloadDialog(this, QString("%1/%2").arg(g.useCompanionNightlyBuilds() ? OPENTX_NIGHT_COMPANION_DOWNLOADS : OPENTX_COMPANION_DOWNLOADS).arg(QString(COMPANION_INSTALLER).arg(version)), fileName); downloadDialog * dd = new downloadDialog(this, QString("%1/%2").arg(getCompanionUpdateBaseUrl()).arg(QString(COMPANION_INSTALLER).arg(version)), fileName);
installer_fileName = fileName; installer_fileName = fileName;
connect(dd, SIGNAL(accepted()), this, SLOT(updateDownloaded())); connect(dd, SIGNAL(accepted()), this, SLOT(updateDownloaded()));
dd->exec(); dd->exec();

View file

@ -76,6 +76,7 @@ class MainWindow : public QMainWindow
MainWindow(); MainWindow();
protected: protected:
QString getCompanionUpdateBaseUrl();
void dowloadLastFirmwareUpdate(); void dowloadLastFirmwareUpdate();
void startFirmwareDownload(); void startFirmwareDownload();
void closeEvent(QCloseEvent *event); void closeEvent(QCloseEvent *event);