diff --git a/CREDITS.txt b/CREDITS.txt index 4d36d8d3699..202b88a8ace 100644 --- a/CREDITS.txt +++ b/CREDITS.txt @@ -1,11 +1,14 @@ -Bertrand Songis -Romolo Manfredini -André Bernet +Bertrand Songis (bsongis) +André Bernet (kilrah) Michael Blandford +Damjan Adamic (projectkk2glider) +Franck Aguerre (jivarofad) +Romolo Manfredini (romoloman) +Martin Hotař (mhotar) + Rob Thomson -Bryan J. Rentoul (aka Gruvin) -Cameron Weeks -Martin Hotař +Bryan J. Rentoul (gruvin) +Cameron Weeks (th9xer) Andreas Weitl Kjell Kernen Gabriel Birkus @@ -13,10 +16,4 @@ Jean-Pierre Parisy Karl Szmutny Michal Hlavinka Pat Mackenzie -Michael Byrne (logos and official splashes) -Severino Anedda (splash screens) -Grootwitbaas - 9xforums.com (mac) -Adrian Amberg (splash screens) -Wallaguest1 - 9xforums.com (splash screens) -HC1969 - 9xforums.com (splash screens) - +Michael Byrne diff --git a/DONATIONS.txt b/DONATIONS.txt index 15133febf01..e1ee56ebbc3 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -1,3 +1,13 @@ +FrSky (monthly) +Aloft Hobbies +Jonathan Modellismo +WsTech +Aviomotive +BoltRC +Aerial Tech Hobbies +LitePilots +David Ankers (OpenPilot) + Mario Sette Felice Baratto Alessandro Mari @@ -17,8 +27,8 @@ Marc Lucht Michel Baily Zdenek Trojanek Martin Hotar -[Devo] Stefan Grundevik -[Devo] Fabio Eboli +Stefan Grundevik +Fabio Eboli Federico Zotti Albin Esbjörnsson Kilian Hüttenhofer @@ -37,7 +47,6 @@ R. Scott Page Johan Cronje Renato Aranghelovici Jeffrey Irvin -Aloft Hobbies John Rodgers Kenneth Crump Damjan Adamic @@ -80,7 +89,6 @@ Christian Schulz Gregory J Shepherd Michael Shellim Ming Wang -R. Scott Page Bernard Lukaschek Nigel Chippindale Mike Perkins @@ -93,7 +101,6 @@ Heinrich Illig Michael Collins Michael Manning Craig Lorentz -Jonathan Modellismo - jonathan.it André Lasseret Felipe Alexandre de Oliveira Brian Harris @@ -121,7 +128,6 @@ Christophe Rodriguez Larisa Filocamo Hartmut Sahm Åke Brodin -Aloft Hobbies - www.alofthobbies.com Ted Moss Filippos Tigarakis Chewytm @@ -169,15 +175,12 @@ Willie Swanepoel Satoru Sasaki Tyler Darby Nicholas Crego -Keith Hertzog Johan Moelich Timo Esser -Dean Church (monthly) Brian Paddock Jean Pierre Parisy Norbert Martsch Jean-Marie Guitard -Mike Perkins Tilman Baumann Fred Larssen Ari Aalto @@ -199,7 +202,6 @@ Blake Spilman Timothy Pelletier Glen Roe (ShowMaster) Jan Van Ooteghem -David Ankers - Special thanks here to the OpenPilot project! Lawrence Christensen Leo Duflou Bruce Wood @@ -253,7 +255,6 @@ Terry McKinley Марков Алексей Offer Shmuely Ian Lobley -Keith Hertzog Stéphane Fortas Peter Mitrik Thomas Majewski @@ -272,7 +273,6 @@ Miguel Villalpando Kim Dong Hoon Terry McKinley Walter Bell -wsTech - http://wstech.de Clinton Linck Josep Clodas Sola Thierry Martin @@ -306,7 +306,6 @@ Henry Deucker Christian Fuchs Arold Reinders Robert Miller -Aviomotive - www.aviomotive.com Mark Gaskievicz Roland Müller Frank Gewalt @@ -320,7 +319,6 @@ Steve Coley Sean Cull Roberto Orsello David Finger -FrSky - www.frsky-rc.com (monthly) Jean-Marie Oddo Mike Matheny Glen Roe (Showmaster) @@ -347,7 +345,6 @@ Sven Assmus Markus Eberl Nicholas Field Harald Wilczak -Michel Baily John Grepps Anthony Burbidge Sherba Baine @@ -359,7 +356,6 @@ Aaron Stringer Alan J Wasserman Wolfgang Rauser Samuel Cook -BoltRC - www.boltrc.com Friedrich Ipolt Barrington Cole Charles Lakins @@ -426,14 +422,11 @@ Markus Wolf Andrew Fazio Stefan Künst Stephen Adams -Arold Reinders Tauno Rautakorpi Frank Houvenaghel -Aerial Tech Hobbies - www.aerialtechhobbies.com George Neusse Andreja Rusjakovski Axel Stöckle -Mike Perkins Erwin Störrle Rodger Hopper Fernando Cesar @@ -489,7 +482,6 @@ Robert Ferguson CY Enterprise Michel Stathakis Neto Beat Zurflueh -Heinrich Illig Portstate Pty Ltd Jens Hoffmann Ricardo Santos @@ -504,7 +496,6 @@ Cecil Porter Robert Canavan Greg Higginbottom Tim Walker -Thos. O'Meara Photography Spis Ltd/TurboNote Patricia Cox Matthew Lukes @@ -619,7 +610,6 @@ Manuel McLure Fernando Rimoldi Hiltenkamp Stephan Sandeep Kishore Jain -Sebastien Charpentier Greg Parker Norman Maaß Adriano Del Ben @@ -649,7 +639,6 @@ Pasi Pitkänen Lexington S Morley Jeff Roberson Volkov Victor -Mike Perkins Bryan Anderson Daniel Garber Pavel Stein @@ -674,7 +663,8 @@ RK Custom Homes James Houck Piet Teekens Tommy Widenflycht -Johan Petrus Theophilus Maria van Melis +Johan Petrus Theophilus +Maria van Melis Ralph Gustafson Paul Luby Andrew Duncan @@ -683,7 +673,6 @@ Edward Glover Kelly Byrd Brad Curtis Wolfgang Kuhl -LitePilots - litepilots.com John Beidl Roy Nixon Glen Roe @@ -751,7 +740,7 @@ F.Javier Martinez Velasco Claudio Piccinini John Jackson John Beech -Rene Traa +Rene TraaJohn Jackson Sebastien Charpentier (monthly) Nigel Hendriks Frédéric Devillard @@ -766,7 +755,6 @@ Richard Shagam Stephen Bailey DK-System Casa Kuxtal -Alain Labonne Christopher Potts Douglas George Michael Banks diff --git a/companion/src/CMakeLists.txt b/companion/src/CMakeLists.txt index 76b748f199b..c07c9995203 100644 --- a/companion/src/CMakeLists.txt +++ b/companion/src/CMakeLists.txt @@ -144,6 +144,8 @@ set(companion_SRCS burnconfigdialog.cpp comparedialog.cpp contributorsdialog.cpp + releasenotesdialog.cpp + releasenotesfirmwaredialog.cpp customizesplashdialog.cpp radiointerface.cpp progresswidget.cpp @@ -174,6 +176,8 @@ set(companion_MOC_HDRS fusesdialog.h logsdialog.h contributorsdialog.h + releasenotesdialog.h + releasenotesfirmwaredialog.h customizesplashdialog.h splashlibrary.h splashlabel.h @@ -203,7 +207,7 @@ set(companion_UIS burnconfigdialog.ui downloaddialog.ui printdialog.ui - contributorsdialog.ui + htmldialog.ui customizesplashdialog.ui splashlibrary.ui progresswidget.ui diff --git a/companion/src/contributorsdialog.cpp b/companion/src/contributorsdialog.cpp index 7f74d686d9f..fd6d7617f4b 100644 --- a/companion/src/contributorsdialog.cpp +++ b/companion/src/contributorsdialog.cpp @@ -1,134 +1,108 @@ #include "contributorsdialog.h" -#include "ui_contributorsdialog.h" -#include +#include "ui_htmldialog.h" #include "helpers.h" -contributorsDialog::contributorsDialog(QWidget *parent, int contest, QString rnurl) : - QDialog(parent, Qt::WindowTitleHint | Qt::WindowSystemMenuHint), - ui(new Ui::contributorsDialog) +ContributorsDialog::ContributorsDialog(QWidget * parent): + QDialog(parent, Qt::WindowTitleHint | Qt::WindowSystemMenuHint), + ui(new Ui::HtmlDialog) { - ui->setupUi(this); - switch (contest) { - case 0: - { - this->setWindowIcon(CompanionIcon("contributors.png")); - QFile file(":/DONATIONS.txt"); - QString str; - str.append(""); - str.append("\n"); - str.append(""); - str.append("
"+tr("People who have contributed to this project")+"
"); - str.append(""); - if (file.open(QIODevice::ReadOnly | QIODevice::Text)) { - int columns=6; - float cwidth=100.0/columns; - while (!file.atEnd()) { - str.append(""); - for (int i=0; i"); - } else { - str.append("class=\"mycss\">"); - } - str.append(line.trimmed()+""); - } else { - str.append("class=\"mycss\"> "); - } - } - str.append(""); - } - } - str.append("
"); - QFile file2(":/CREDITS.txt"); - str.append(""); - str.append(""); - str.append(""); - str.append("
 
"+tr("Coders")+"
"); - str.append(""); - if(file2.open( QIODevice::ReadOnly | QIODevice::Text ) ) { - while (!file2.atEnd()) { - str.append(""); - for (int i=0; i<3; i++) { - str.append(""); - } - str.append(""); - } - } - str.append(""); - str.append(""); - str.append(""); - str.append("
"); - if (!file2.atEnd()) { - QByteArray line = file2.readLine(); - str.append(line.trimmed()); - } else { - str.append(" "); - } - str.append("
 
" + tr("Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe)") + "
" + tr("Thank you all !!!") + "
"); - str.append(""); - ui->textEditor->setHtml(str); - ui->textEditor->scroll(0, 0); - setWindowTitle(tr("Contributors")); - break; - } - - case 1: - { - this->setWindowIcon(CompanionIcon("changelog.png")); - QFile file(":/releasenotes.txt"); - if(file.open( QIODevice::ReadOnly | QIODevice::Text ) ) { - ui->textEditor->setHtml(file.readAll()); - ui->textEditor->setOpenExternalLinks(true); - } - ui->textEditor->scroll(0,0); - setWindowTitle(tr("Companion Release Notes")); + ui->setupUi(this); + + setWindowTitle(tr("OpenTX Contributors")); + setWindowIcon(CompanionIcon("contributors.png")); + + QString str = "" \ + "" \ + " " \ + "" + ""; + + QFile credits(":/CREDITS.txt"); + if (credits.open(QIODevice::ReadOnly | QIODevice::Text)) { + QStringList names; + while (!credits.atEnd()) { + QByteArray line = credits.readLine(); + if (line.trimmed() == "") break; - } - - case 2: - { - if (!rnurl.isEmpty()) { - this->setWindowIcon(CompanionIcon("changelog.png")); - this->setWindowTitle(tr("OpenTX Release Notes")); - manager = new QNetworkAccessManager(this); - connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*))); - QUrl url(rnurl); - QNetworkRequest request(url); - request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysNetwork); - manager->get(request); - } - else { - QTimer::singleShot(0, this, SLOT(forceClose())); - } + names.append(line.trimmed()); + } + str.append(formatTable(tr("Main Developers"), names, 3)); + + names.clear(); + while (!credits.atEnd()) { + QByteArray line = credits.readLine(); + names.append(line.trimmed()); + } + str.append(formatTable(tr("Other contributors"), names, 3)); + } + + QFile donations(":/DONATIONS.txt"); + if (donations.open(QIODevice::ReadOnly | QIODevice::Text)) { + QStringList names; + while (!donations.atEnd()) { + QByteArray line = donations.readLine(); + if (line.trimmed() == "") break; - } + names.append(line.trimmed()); } -} + str.append(formatTable(tr("Companies and projects who have donated to OpenTX"), names, 3)); -void contributorsDialog::showEvent ( QShowEvent * ) -{ - ui->textEditor->scroll(0, 0); -} + names.clear(); + while (!donations.atEnd()) { + QByteArray line = donations.readLine(); + names.append(line); + } + str.append(formatTable(tr("People who have donated to OpenTX"), names, 6)); + } -contributorsDialog::~contributorsDialog() -{ - delete ui; + str.append("  " \ + " " + tr("Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe)") + "
" \ + " " + tr("Thank you all !!!") + "" \ + ""); + + + str.append(""); + ui->textEditor->setHtml(str); + ui->textEditor->scroll(0, 0); + ui->textEditor->setOpenExternalLinks(true); } -void contributorsDialog::replyFinished(QNetworkReply * reply) +ContributorsDialog::~ContributorsDialog() { - ui->textEditor->setHtml(reply->readAll()); - ui->textEditor->setOpenExternalLinks(true); + delete ui; } -void contributorsDialog::forceClose() +QString ContributorsDialog::formatTable(const QString & title, const QStringList & names, int columns) { - accept();; + const float cwidth = 100.0 / columns; + QString str = "" \ + " " \ + " " \ + "
 
" + title + "
"; + + str.append(""); + + int column = 0; + foreach(QString name, names) { + if (column == 0) { + str.append(""); + } + QString trclass = name.contains("monthly") ? "bold" : "normal"; + str.append(QString("").arg(cwidth).arg(trclass).arg(name.trimmed().replace("monthly", tr("monthly")))); + if (++column == columns) { + str.append(""); + column = 0; + } + } + + if (column != 0) { + str.append(""); + } + + str.append("
%3
"); + return str; } diff --git a/companion/src/contributorsdialog.h b/companion/src/contributorsdialog.h index 51c7724997e..a72a33ecb07 100644 --- a/companion/src/contributorsdialog.h +++ b/companion/src/contributorsdialog.h @@ -2,30 +2,22 @@ #define CONTRIBUTORSDIALOG_H #include -#include "eeprominterface.h" -#include "downloaddialog.h" namespace Ui { - class contributorsDialog; + class HtmlDialog; } -class contributorsDialog : public QDialog +class ContributorsDialog : public QDialog { - Q_OBJECT -public: - explicit contributorsDialog(QWidget *parent = 0, int contest = 0, QString rnurl = QString() ); - ~contributorsDialog(); + Q_OBJECT -private: - Ui::contributorsDialog *ui; - QNetworkAccessManager *manager; + public: + explicit ContributorsDialog(QWidget * parent = 0); + ~ContributorsDialog(); - void showEvent ( QShowEvent * ); - -private slots: - void forceClose(); - void replyFinished(QNetworkReply * reply); - + private: + Ui::HtmlDialog * ui; + QString formatTable(const QString & title, const QStringList & names, int colums); }; #endif // CONTRIBUTORSDIALOG_H diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index 8aa4609da21..4a1412f468b 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -1094,6 +1094,17 @@ void addOpenTxCommonOptions(OpenTxFirmware * firmware) firmware->addOptions(fai_options); } +void addOpenTxTaranisOptions(OpenTxFirmware * firmware) +{ + firmware->addOption("noheli", QObject::tr("Disable HELI menu and cyclic mix support")); + firmware->addOption("nogvars", QObject::tr("Disable Global variables")); + firmware->addOption("lua", QObject::tr("Support for Lua model scripts")); + firmware->addOption("nojoystick", QObject::tr("No Joystick emulation inside the FW (only Mass Storage as in the Bootloader)")); + firmware->addOption("mixersmon", QObject::tr("Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views")); + firmware->addOption("eu", QObject::tr("Removes D8 and LR12 FrSky protocols that are not legal for use anymore on radios sold after Jan 1st, 2015")); + firmware->addOption("internalppm", QObject::tr("Support for PPM internal module hack")); +} + void addOpenTxLcdOptions(OpenTxFirmware * firmware) { Option lcd_options[] = { @@ -1338,35 +1349,20 @@ void registerOpenTxFirmwares() /* Taranis board */ openTx = new OpenTxFirmware("opentx-taranis", QObject::tr("OpenTX for FrSky Taranis"), BOARD_TARANIS); - openTx->addOption("noheli", QObject::tr("Disable HELI menu and cyclic mix support")); - openTx->addOption("nogvars", QObject::tr("Disable Global variables")); openTx->addOption("haptic", QObject::tr("Haptic module installed")); - openTx->addOption("lua", QObject::tr("Support for Lua model scripts")); - openTx->addOption("nojoystick", QObject::tr("No Joystick emulation inside the FW (only Mass Storage as in the Bootloader)")); - openTx->addOption("mixersmon", QObject::tr("Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views")); - openTx->addOption("eu", QObject::tr("Removes D8 and LR12 FrSky protocols that are not legal for use anymore on radios sold after Jan 1st, 2015")); + addOpenTxTaranisOptions(openTx); addOpenTxCommonOptions(openTx); firmwares.push_back(openTx); /* Taranis Plus board */ openTx = new OpenTxFirmware("opentx-taranisplus", QObject::tr("OpenTX for FrSky Taranis Plus"), BOARD_TARANIS_PLUS); - openTx->addOption("noheli", QObject::tr("Disable HELI menu and cyclic mix support")); - openTx->addOption("nogvars", QObject::tr("Disable Global variables")); - openTx->addOption("lua", QObject::tr("Support for Lua model scripts")); - openTx->addOption("nojoystick", QObject::tr("No Joystick emulation inside the FW (only Mass Storage as in the Bootloader)")); - openTx->addOption("mixersmon", QObject::tr("Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views")); - openTx->addOption("eu", QObject::tr("Removes D8 and LR12 FrSky protocols that are not legal for use anymore on radios sold after Jan 1st, 2015")); + addOpenTxTaranisOptions(openTx); addOpenTxCommonOptions(openTx); firmwares.push_back(openTx); /* Taranis X9E board */ openTx = new OpenTxFirmware("opentx-taranisx9e", QObject::tr("OpenTX for FrSky Taranis X9E"), BOARD_TARANIS_X9E); - openTx->addOption("noheli", QObject::tr("Disable HELI menu and cyclic mix support")); - openTx->addOption("nogvars", QObject::tr("Disable Global variables")); - openTx->addOption("lua", QObject::tr("Support for Lua model scripts")); - openTx->addOption("nojoystick", QObject::tr("No Joystick emulation inside the FW (only Mass Storage as in the Bootloader)")); - openTx->addOption("mixersmon", QObject::tr("Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views")); - openTx->addOption("eu", QObject::tr("Removes D8 and LR12 FrSky protocols that are not legal for use anymore on radios sold after Jan 1st, 2015")); + addOpenTxTaranisOptions(openTx); addOpenTxCommonOptions(openTx); firmwares.push_back(openTx); diff --git a/companion/src/contributorsdialog.ui b/companion/src/htmldialog.ui similarity index 87% rename from companion/src/contributorsdialog.ui rename to companion/src/htmldialog.ui index 9490bbdf692..9c0a488c74d 100644 --- a/companion/src/contributorsdialog.ui +++ b/companion/src/htmldialog.ui @@ -1,7 +1,7 @@ - contributorsDialog - + HtmlDialog + 0 diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index 2b3513b1985..2388c49be22 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -56,6 +56,8 @@ #include "printdialog.h" #include "version.h" #include "contributorsdialog.h" +#include "releasenotesdialog.h" +#include "releasenotesfirmwaredialog.h" #include "customizesplashdialog.h" #include "flasheepromdialog.h" #include "flashfirmwaredialog.h" @@ -422,8 +424,8 @@ void MainWindow::checkForFirmwareUpdateFinished(QNetworkReply * reply) msgBox.resize(0, 0); msgBox.exec(); if (msgBox.clickedButton() == rnButton) { - contributorsDialog *cd = new contributorsDialog(this,2,rn); - cd->exec(); + ReleaseNotesFirmwareDialog * dialog = new ReleaseNotesFirmwareDialog(this, rn); + dialog->exec(); int ret2 = QMessageBox::question(this, "Companion", tr("Do you want to download release %1 now ?").arg(versionString), QMessageBox::Yes | QMessageBox::No); if (ret2 == QMessageBox::Yes) download = true; @@ -451,7 +453,7 @@ void MainWindow::checkForFirmwareUpdateFinished(QNetworkReply * reply) msgBox.resize(0,0); msgBox.exec(); if( msgBox.clickedButton() == rnButton ) { - contributorsDialog *cd = new contributorsDialog(this, 2, rn); + ContributorsDialog *cd = new ContributorsDialog(this); // , 2, rn); cd->exec(); int ret2 = QMessageBox::question(this, "Companion", tr("Do you want to download release %1 now ?").arg(versionString), QMessageBox::Yes | QMessageBox::No); @@ -666,8 +668,8 @@ void MainWindow::fwPrefs() void MainWindow::contributors() { - contributorsDialog *cd = new contributorsDialog(this,0); - cd->exec(); + ContributorsDialog * dialog = new ContributorsDialog(this); + dialog->exec(); } void MainWindow::sdsync() @@ -686,8 +688,8 @@ void MainWindow::sdsync() void MainWindow::changelog() { - contributorsDialog *cd = new contributorsDialog(this,1); - cd->exec(); + ReleaseNotesDialog * dialog = new ReleaseNotesDialog(this); + dialog->exec(); } void MainWindow::fwchangelog() @@ -698,8 +700,8 @@ void MainWindow::fwchangelog() QMessageBox::information(this, tr("Firmware updates"), tr("Current firmware does not provide release notes informations.")); } else { - contributorsDialog *cd = new contributorsDialog(this,2, rn); - cd->exec(); + ReleaseNotesFirmwareDialog * dialog = new ReleaseNotesFirmwareDialog(this, rn); + dialog->exec(); } } diff --git a/companion/src/releasenotesdialog.cpp b/companion/src/releasenotesdialog.cpp new file mode 100755 index 00000000000..540a76dedef --- /dev/null +++ b/companion/src/releasenotesdialog.cpp @@ -0,0 +1,25 @@ +#include "releasenotesdialog.h" +#include "ui_htmldialog.h" + +ReleaseNotesDialog::ReleaseNotesDialog(QWidget * parent) : + QDialog(parent, Qt::WindowTitleHint | Qt::WindowSystemMenuHint), + ui(new Ui::HtmlDialog) +{ + ui->setupUi(this); + + setWindowTitle(tr("Companion Release Notes")); + setWindowIcon(CompanionIcon("changelog.png")); + + QFile file(":/releasenotes.txt"); + if (file.open( QIODevice::ReadOnly | QIODevice::Text ) ) { + ui->textEditor->setHtml(file.readAll()); + ui->textEditor->setOpenExternalLinks(true); + } + ui->textEditor->scroll(0, 0); + ui->textEditor->setOpenExternalLinks(true); +} + +ReleaseNotesDialog::~ReleaseNotesDialog() +{ + delete ui; +} diff --git a/companion/src/releasenotesdialog.h b/companion/src/releasenotesdialog.h new file mode 100755 index 00000000000..da3e19ef631 --- /dev/null +++ b/companion/src/releasenotesdialog.h @@ -0,0 +1,23 @@ +#ifndef RELEASENOTESDIALOG_H +#define RELEASENOTESDIALOG_H + +#include +#include "helpers.h" + +namespace Ui { + class HtmlDialog; +} + +class ReleaseNotesDialog : public QDialog +{ + Q_OBJECT + + public: + explicit ReleaseNotesDialog(QWidget *parent = 0); + ~ReleaseNotesDialog(); + + private: + Ui::HtmlDialog * ui; +}; + +#endif // RELEASENOTESDIALOG_H diff --git a/companion/src/releasenotesfirmwaredialog.cpp b/companion/src/releasenotesfirmwaredialog.cpp new file mode 100755 index 00000000000..cfdb005cee9 --- /dev/null +++ b/companion/src/releasenotesfirmwaredialog.cpp @@ -0,0 +1,32 @@ +#include "releasenotesfirmwaredialog.h" +#include "ui_htmldialog.h" +#include "helpers.h" + +ReleaseNotesFirmwareDialog::ReleaseNotesFirmwareDialog(QWidget * parent, const QString & rnurl): + QDialog(parent, Qt::WindowTitleHint | Qt::WindowSystemMenuHint), + ui(new Ui::HtmlDialog) +{ + ui->setupUi(this); + + setWindowTitle(tr("OpenTX Release Notes")); + setWindowIcon(CompanionIcon("changelog.png")); + + manager = new QNetworkAccessManager(this); + connect(manager, SIGNAL(finished(QNetworkReply *)), this, SLOT(replyFinished(QNetworkReply *))); + QUrl url(rnurl); + QNetworkRequest request(url); + request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysNetwork); + manager->get(request); +} + +ReleaseNotesFirmwareDialog::~ReleaseNotesFirmwareDialog() +{ + delete ui; +} + +void ReleaseNotesFirmwareDialog::replyFinished(QNetworkReply * reply) +{ + ui->textEditor->setHtml(reply->readAll()); + ui->textEditor->setOpenExternalLinks(true); +} + diff --git a/companion/src/releasenotesfirmwaredialog.h b/companion/src/releasenotesfirmwaredialog.h new file mode 100755 index 00000000000..1b0dc62508a --- /dev/null +++ b/companion/src/releasenotesfirmwaredialog.h @@ -0,0 +1,29 @@ +#ifndef RELEASENOTESFIRMWAREDIALOG_H +#define RELEASENOTESFIRMWAREDIALOG_H + +#include +#include "eeprominterface.h" +#include "downloaddialog.h" + +namespace Ui { + class HtmlDialog; +} + +class ReleaseNotesFirmwareDialog : public QDialog +{ + Q_OBJECT + + public: + explicit ReleaseNotesFirmwareDialog(QWidget *parent, const QString & rnurl); + ~ReleaseNotesFirmwareDialog(); + + private: + Ui::HtmlDialog *ui; + QNetworkAccessManager *manager; + + private slots: + void replyFinished(QNetworkReply * reply); + +}; + +#endif // RELEASENOTESFIRMWAREDIALOG_H diff --git a/companion/src/translations/companion_fr.ts b/companion/src/translations/companion_fr.ts index 2ea11d3fe06..d41154940f6 100644 --- a/companion/src/translations/companion_fr.ts +++ b/companion/src/translations/companion_fr.ts @@ -617,61 +617,61 @@ Peut être différente de la langue du firmware - + SQ - + SR - + LS2 - + SP - + SO - + S4 - + RS - + SB - + Serial Port Port série - - - - - - - - - - + + + + + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -688,238 +688,243 @@ Long : bips plus longs. Extra long : bips extra longs. - + OFF - + S-Port Mirror Recopie S. Port - + Telemetry Télémesure - + SBUS Trainer Ecolage SBUS - + Debug Débogage - + Rud Dir - - + + Mid value Centre - + Pot. 4 - + Pot. 3 - + Pot. 2 - + Pot. 1 - + PPM 1 PPM 1 - + Stick 3 Manche 3 - - + + Negative span Amplitude nég. - - + + Positive span Amplitude pos. - + Stick 1 Manche 1 - + PPM 2 PPM 2 - + Stick 2 Manche 2 - + Stick 4 Manche 4 - + Battery Batterie - + v - + PPM Multiplier Coeff. multiplicateur PPM - + PPM 3 PPM 3 - + PPM 4 PPM 4 - + Current Courant - + S1 - + S2 - + S3 - + SA - + Ele Prf - + Ail Ail - + Thr Gaz - + SC - + LS - + SD - + SE - + SF - + SG - + SH - + SI - + SJ - + SK - + SL - + SM - + SN - + RS2 + + + Bluetooth + + CalibrationPanel @@ -1535,6 +1540,49 @@ Extra long : bips extra longs. OK, compris! + + ContributorsDialog + + + OpenTX Contributors + Contributeurs d'OpenTX + + + + Main Developers + Principaux développeurs + + + + Other contributors + Autres contributeurs + + + + Companies and projects who have donated to OpenTX + Entreprises et projets qui ont fait un don à OpenTX + + + + People who have donated to OpenTX + Personnes qui ont fait un don à OpenTX + + + + Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) + Les honneurs vont à Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) + + + + Thank you all !!! + Merci à tous !!! + + + + monthly + don mensuel + + CopyProcess @@ -2202,27 +2250,27 @@ Si vide, la ligne est toujours active. Les 2 - + Edit %1 Editer %1 - + Rud Dir - + Ele Prf - + Thr Gaz - + Ail Ail @@ -4721,25 +4769,25 @@ Are you sure ? InputsPanel - + Move Up Monter - + Ctrl+Up Ctrl+Haut - + Move Down Descendre - + Ctrl+Down Ctrl+Bas @@ -4783,87 +4831,87 @@ Are you sure ? Pas assez d'entrées disponibles! - + Delete Selected Inputs? Effacer les entrées sélectionnées? - + &Add &Ajouter - + Ctrl+A Ctrl+A - + &Edit Éditio&n - + Enter Entrée - + &Delete &Supprimer - + Delete Supprimer - + &Copy &Copier - + Ctrl+C - + &Cut C&ouper - + Ctrl+X - + &Paste Co&ller - + Ctrl+V - + Du&plicate Du&pliquer - + Ctrl+U - + Clear Inputs? Effacer toutes les entrées? - + Really clear all the inputs? Voulez-vous vraiment effacer toutes les entrées? @@ -4960,42 +5008,42 @@ Are you sure ? MainWindow - - + + Edit Edition - - + + File Fichier - + Display previous warning again at startup ? Afficher les alertes précédentes lors du prochain démarrage ? - + New release available Nouvelle version disponible - - + + Error Erreur - + Error opening file %1: %2. Erreur à l'ouverture du fichier %1: %2. - + Compilation server termporary failure, try later Erreur temporaire du serveur de compilation, veuillez réessayer plus tard @@ -5008,41 +5056,41 @@ Are you sure ? Erreur temporaire du serveur de compilation, veuillez réessayer plus tard - + Compilation server too busy, try later Serveur de compilation trop occupé, veuillez réessayer plus tard - + Unknown server failure, try later Erreur inconnue du serveur de compilation, veuillez réessayer plus tard - + Do you want to write the firmware to the radio now ? Voulez vous transférer le firmware à la radio maintenant? - - + + Yes Oui - - + + No Non - - + + Release Notes Notes de version - - + + Do you want to download release %1 now ? Voulez-vous télécharger la version %1 maintenant? @@ -5051,12 +5099,12 @@ Are you sure ? Les notes de version contiennent des informations très importantes. Voulez-vous les voir maintenant? - + Firmware updates Mises à jour de firmware - + Current firmware does not provide release notes informations. Le firmware actuel ne contient pas de notes de version. @@ -5091,27 +5139,27 @@ Are you sure ? Erreur lors de la sauvegarde - + Load backup from file Charger une sauvegarde à partir du fichier - + Compare models Comparer les modèles - + Show fuses dialog Afficher les réglages des fusibles - + A monochrome black icon theme Thème avec icônes monochromes noires - + Firmware %1 does not seem to have ever been downloaded. Release %2 is available. Do you want to download it now? @@ -5124,7 +5172,7 @@ Voulez-vous la télécharger maintenant ? Nous recommandons de lire attentivement les notes de version à l'aide du bouton ci-dessous, celles-ci peuvent contenir des infos importantes concernant les changements effectués depuis la version précéente. - + A new version of %1 firmware is available: - current is %2 - newer is %3 @@ -5141,287 +5189,287 @@ Voulez vous la télécharger maintenant ? Nous recommandons de lire attentivement les notes de version à l'aide du bouton ci-dessous, celles-ci peuvent contenir des infos importantes concernant les changements effectués depuis la version précéente. - - + + Synchronize SD Synchroniser la carte SD - + OpenTX Companion 2.1 - FW: %1 - Profile: %2 OpenTX Companion 2.1 - FW: %1 - Profil: %2 - + New Nouveau - + Open... Ouvrir... - + Copy Model Copier le modèle - + A monochrome white icon theme Thème avec icônes monochromes blanches - + A monochrome blue icon theme Thème avec icônes monochromes bleues - + Small Petites - + Use small toolbar icons Petites icônes de barre d'outils - + Use normal size toolbar icons Icônes de barre d'outils normales - + Normal Normales - + Use big toolbar icons Grosses icônes de barre d'outils - + Big Grandes - + Use huge toolbar icons Immenses icônes de barre d'outils - + Huge Immenses - + Czech Tchèque - + Use Czech in menus Menus en Tchèque - + German Allemand - + Use German in menus Menus en Allemand - + English Anglais - + Use English in menus Menus en Anglais - + French Français - + Use French in menus Menus en Français - + Italian Italien - + Use Italian in menus Menus en Italien - + Polish Polonais - + Use Polish in menus Menus en Polonais - + Swedish Suédois - + Use Swedish in menus Menus en Suédois - + List programmers... Lister les programmateurs... - + Fuses... Fusibles... - - + + Read Firmware from Radio Lire le firmware de la radio - + Read firmware from Radio Lire le firmware de la radio - - + + Write Firmware to Radio Transférer le firmware à la radio - + Write firmware to Radio Transférer le firmware à la radio - + Add Radio Profile Ajouter un profil de radio - + Create a new Radio Setting Profile Créér un nouveau profil de radio - + Manuals and other Documents Manuels et documents - + Open the OpenTX document page in a web browser Ouvre la page de documentation d'OpenTX dans un navigateur - + Write Models and Settings To Radio Transférer les réglages et modèles à la radio - - + + Write Models and Settings to Radio Transférer les réglages et modèles à la radio - - + + Read Models and Settings from Radio Lire les réglages et modèles depuis la radio - + Configure Communications... Configurer les communications... - + Configure software for communicating with the Radio Configurer le programme gérant les communications avec la radio - + Write Backup to Radio Transférer une sauvegarde à la radio - + Write Backup from file to Radio Transférer une sauvegarde à la radio - + Backup Radio to File Sauvegarder la radio - + Save a complete backup file of all settings and model data in the Radio Créer une copie de sauvegarde de tous les réglages et modèles de la radio - + Contributors... Contributeurs... - + A tribute to those who have contributed to OpenTX and Companion Remerciements à tout ceux qui ont contribué à OpenTX et Companion - + SD card synchronization Synchronisation de la carte SD - + Recent Files Fichiers récents - + Recent Models+Settings Fichiers de réglages et modèles récents - + Set Icon Theme Choisir le thème d'icônes - + Set Icon Size Choisir la taille des icônes - + Write Ecrire @@ -5436,17 +5484,17 @@ Nous recommandons de lire attentivement les notes de version à l'aide du b %2. - + A new version of Companion is available (version %1)<br>Would you like to download it? Une nouvelle version de Companion est disponible (version %1)<br>Voulez-vous la télécharger? - + Compilation server requires registration, please check OpenTX web site Le serveur de compilation requiert l'enregistrement, veuillez vous référer au site web d'OpenTX - + OpenTX Home Page: <a href='%1'>%1</a> Page d'accueil d'OpenTX: <a href='%1'>%1</a> @@ -5455,57 +5503,57 @@ Nous recommandons de lire attentivement les notes de version à l'aide du b Le projet OpenTX Companion a été créé à partir d'<a href='%2'>eePe</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> Si vous trouvez ce programme utile, merci de le supporter par une <a href='%1'>donation</a> - + Show the list of radio profiles Voir la liste des profils de radio - + Ready Prêt - + Show the application's About box Afficher la fenêtre "A propos" de l'application - - - - + + + + File loaded Fichier chargé - + A new release of Companion is available, please check the OpenTX website! Une nouvelle version de companion est disponible, veuillez vous référer au site web d'OpenTX! - + Not enough memory for all the selected firmware options Pas assez de mémoire disponible pour toutes les options sélectionnées - - + + Open Models and Settings file Ouvrir un fichier de réglages et modèles - - + + File saved Fichier sauvegardé - + Read Models and Settings From Radio Lire les réglages et modèles depuis la radio @@ -5558,7 +5606,7 @@ Do you want to download it now ? Voulez vous la télécharger maintenant ? - + Ignore this release %1? Ignorer la version %1? @@ -5583,7 +5631,7 @@ Voulez vous la télécharger maintenant ? Impossible de sauvegarder les réglages et modèles depuis la radio. Le processus est annulé - + Save Radio Backup to File Sauvegarder la radio @@ -5592,17 +5640,17 @@ Voulez vous la télécharger maintenant ? Lire une sauvegarde - + Read Radio Firmware to File Sauvegarder le firmware de la radio - + The OpenTX Companion project was originally forked from <a href='%1'>eePe</a> Le projet OpenTX Companion a été créé à partir d'<a href='%1'>eePe</a> - + Copyright OpenTX Team @@ -5611,266 +5659,266 @@ Voulez vous la télécharger maintenant ? OpenTX Companion - FW: %1 - Profil: %2 - + Create a new Models and Settings file Créer un nouveau fichier de réglages et modèles - - + + Save Models and Settings file Enregistrer le fichier de réglages et modèles - + Save Enregistrer - + Save As... Enregistrer sous... - + Exit the application Quitter l'application - + Exit Quitter - + Cut Model Couper le modèle - + Cut current model to the clipboard Couper le modèle courant dans le presse-papier - + Copy current model to the clipboard Copier le modèle courant dans le presse-papier - + Paste model from clipboard Coller le modèle depuis le presse-papier - + Paste Model Coller le modèle - + Classical Classique - + The classic companion9x icon theme Thème d'icônes classique de companion - + Yerico - + Yellow round honey sweet icon theme Thème d'icônes rondes jaunes - + Monochrome - + MonoWhite - + MonoBlue - + System language Langue du système - + Use system language in menus Utiliser la langue système dans les menus - + Finnish Finlandais - + Use Finnish in menus Menus en Finlandais - + Spanish Espagnol - + Use Spanish in menus Menus en espagnol - + About... A propos... - + Print... Imprimer... - + Print current model Imprimer le modèle courant - + Simulate... Simuler... - + Simulate current model Simuler le modèle courant - + Alt+S - + Load Backup... Ouvrir la sauvegarde... - + View Log File... Ouvrir un log... - + Open and view log file Ouvrir et visualiser un log - + Settings... Préférences... - + Edit Settings Modifier les réglages - + Download... Télécharger... - + Download firmware and voice files Télécharger firmware et fichiers son - + Check for Updates... Vérifier les mises à jour... - + Check OpenTX and Companion updates Vérifier les mises à jour d'OpenTX et companion - + Companion Changes... Changements de companion... - + Show Companion change log Voir l'historique des changements de companion - + Firmware Changes... Changements du firmware... - + Show firmware change log Voir l'historique des changements du firmware - + Compare Models... Comparer 2 modèles... - + Edit Radio Splash Image... Modifier l'écran d'accueil de la radio... - + Edit the splash image of your Radio Modifier l'écran d'accueil de la radio - + List available programmers Lister les programmateurs supportés - - + + Save As Enregistrer Sous - + Executable (*.exe) Exécutable (*.exe) - - + + No updates available at this time. Aucune mise à jour disponible. - + Unable to check for updates. Impossible de rechercher des mises à jour. - + Would you like to launch the installer? Voulez-vous lancer l'installation ? @@ -5885,13 +5933,13 @@ Voulez vous la télécharger maintenant ? Ignorer cette version (r%1)? - - + + Help Aide - + Checking for updates Recherche de mises à jour @@ -5904,24 +5952,24 @@ La version %2 est disponible. Voulez-vous la télécharger maintenant ? - + The selected language will be used the next time you start Companion. La langue sélectionnée sera utilisée lors du prochain lancement de companion. - - - + + + OK - + The new theme will be loaded the next time you start Companion. Le nouveau thème sera utilisé lors du prochain lancement de companion. - + The icon size will be used the next time you start Companion. La nouvelle taille d'icônes sera utilisée lors du prochain lancement de companion. @@ -5946,43 +5994,43 @@ Ecrire quand même? L'écriture du firmware a échoué - + About Companion A propos de companion - + Set Menu Language Choisir la langue des menus - + Settings Réglages - + Read/Write Transfert - - + + Radio Profile Profil de radio - + Show recent Models+Settings documents Voir les fichiers récents - + %2 - + New Radio Nouvelle radio @@ -7641,7 +7689,7 @@ p, li { white-space: pre-wrap; } - + CH%1 VOIE%1 @@ -7727,7 +7775,7 @@ p, li { white-space: pre-wrap; } - + S3 @@ -8738,8 +8786,8 @@ p, li { white-space: pre-wrap; } - - + + THR Gaz @@ -8757,7 +8805,7 @@ p, li { white-space: pre-wrap; } - + P1 @@ -8768,7 +8816,7 @@ p, li { white-space: pre-wrap; } - + V @@ -8852,14 +8900,14 @@ p, li { white-space: pre-wrap; } - + P2 - + P3 @@ -9060,7 +9108,7 @@ p, li { white-space: pre-wrap; } - + S1 @@ -9137,21 +9185,21 @@ p, li { white-space: pre-wrap; } - + S2 - + LS - + RS @@ -9332,42 +9380,42 @@ p, li { white-space: pre-wrap; } - - + + Support for frsky telemetry mod Support de la télémétrie FrSky - - + + Support for jeti telemetry mod Support de la télémétrie JETI - - + + Support for receiving ardupilot data Support de la télémétrie ARDUPILOT - - + + Support for receiving NMEA data Support de la télémétrie NMEA - + Support for telemetry easy board Support de la carte TelemetrEZ - - + + Support for MAVLINK devices Support du protocole MAVLINK - + Rotary Encoder use in menus navigation Utiliser un encodeur rotatif pour la navigation @@ -9380,70 +9428,70 @@ p, li { white-space: pre-wrap; } Mode FAI toujours actif - - - - - - + + + + + + Enable heli menu and cyclic mix support Activer le menu hélico et les mixages CCPM - - - - - - - - + + + + + + + + Enable TEMPLATES menu Inclure les gabarits - - - - + + + + No splash screen Pas d'écran de démarrage - - - - - - - - + + + + + + + + Disable curves menus Désactiver le menu des courbes - - - - + + + + Support for radio modified with regular speaker Haut-parleur au lieu du buzzer d'origine - - - - - + + + + + Used if you have modified your radio with voice mode Support du module vocal - - - - - + + + + + Used if you have modified your radio with haptic mode Support du vibreur @@ -9453,14 +9501,14 @@ p, li { white-space: pre-wrap; } Positions de voies affichées en us - - - - - - - - + + + + + + + + Battery graph Graphique de batterie @@ -9485,98 +9533,101 @@ p, li { white-space: pre-wrap; } Mode FAI (télémétrie désactivée) toujours actif - + + Support for PPM internal module hack + + + + ST7565P LCD or compatible ST7565P LCD ou compatible - + ST7565R LCD or compatible ST7565R LCD ou compatible - + ERC12864FSF LCD LCD ERC12864FSF - + ST7920 LCD LCD ST7920 - - - - + + + + Enable the throttle trace in Statistics Activer l'historique du manche des gaz dans les statistiques - + EEprom write progress bar Barre de progression pour l'écriture de l'EEPROM - - + + No Winged Shadow How High support Supprimer le support du variomètre Winged Shadow How High - - + + No vario support Supprimer la fonction variomètre audio - - + + No GPS support Supprimer le support du GPS - - + + No gauges in the custom telemetry screen Supprimer l'affichage des valeurs de télémesure par barres - + Allow compensating for offset errors in FrSky FAS current sensors Permettre la compensation d'un décalage des capteurs de courant FASxx FrSky - - + + Add support for reversing stick inputs (e.g. needed for FrSky gimbals) Ajoute le support de l'inversion des manches (nécessaire pour l'utilisation de manches FrSky) - + OpenTX for MEGA2560 board OpenTX pour carte MEGA2560 - + Power management by soft-off circuitry Gestion alim. par software - - - - + + Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views Ajoute une vue de la sortie des mixeurs au moniteur de canaux, ENT pour passer d'une vue à l'autre - + OpenTX for 9XR-PRO OpenTX pour 9XR-PRO - + OpenTX for FrSky Taranis X9E OpenTX pour Taranis X9E @@ -9585,33 +9636,27 @@ p, li { white-space: pre-wrap; } Valuers affichées en us - + Haptic module installed Module vibreur installé - - - + Support for Lua model scripts Support des scripts Lua - - - + No Joystick emulation inside the FW (only Mass Storage as in the Bootloader) Pas d'émulation de joystick dans le firmware (accès mémoire uniquement) - - - + Removes D8 and LR12 FrSky protocols that are not legal for use anymore on radios sold after Jan 1st, 2015 Supprime les protocoles RF D8 et LR12 qui ne sont plus utilisable légalement sur les radios vendues après le 1er janvier 2015 - + OpenTX for FrSky Taranis Plus OpenTX pour FrSky Taranis Plus @@ -9620,8 +9665,8 @@ p, li { white-space: pre-wrap; } OpenTX pour FrSky Taranis Rev4a - - + + Support of FrSky PXX protocol Support du protocole PXX FrSky @@ -9631,14 +9676,12 @@ p, li { white-space: pre-wrap; } Manches de FrSky Taranis installés dans une 9X/9XR - + OpenTX for FrSky Taranis OpenTX pour FrSky Taranis - - - + Disable HELI menu and cyclic mix support Supprimer le menu HELICO et les mixages cycliques @@ -9647,52 +9690,50 @@ p, li { white-space: pre-wrap; } Supprimer le menu des gabarits - - - + Disable Global variables Supprimer le support des variables globales - - - - - + + + + + Support for DSM2 modules Support du protocole DSM2 - - - - - - - - + + + + + + + + PPM center adjustment in limits Neutres PPM ajustables - - - - - - - - + + + + + + + + Symetrical Limits Limites symétriques - - - - - - + + + + + + Pots use in menus navigation Support de la navigation dans les menus avec les POTS @@ -9709,161 +9750,161 @@ La taille de l'EEPROM est de 4096, mais seulement les 2048 premiers sont ut Désactive la fonction spéciale "Remplace CHx" - + OpenTX for 9X board OpenTX pour 9X - - - - - - - - + + + + + + + + No flight modes Pas de phases de vol - - + + SmartieParts 2.2 Backlight support Support du rétroéclairage pour la carte SmartieParts 2.2 - - - - - + + + + + Enable resetting values by pressing up and down at the same time Permet la remise à zéro des valeurs en pressant haut-bas en même temps, valeur min avec gauche/bas, valeur max avec haut/droite, inversion avec gauche/droite - - - - - - - - + + + + + + + + No graphical check boxes and sliders Pas de cases à cocher et de curseurs graphiques - - - - - - - - + + + + + + + + Don't use bold font for highlighting active items Ne pas mettre les lignes actives en gras - + OpenTX for M128 / 9X board OpenTX pour 9X avec m128 - - - - - + + + + + EEprom write Progress bar Barre de progression affichée lors des écritures EEPROM - - - - - - + + + + + + Imperial units Unités Impériales - - + + Bluetooth interface Interface Bluetooth - - - - - - - - + + + + + + + + Global variables Variables globales - - - - - - - - + + + + + + + + In model setup menus automatically set source by moving the control Sélectionner les sources des mixeurs en bougeant le contrôle désiré - - - - - - - - + + + + + + + + In model setup menus automatically set switch by moving the control Sélectionner les interrupteurs en bougeant le contrôle désiré - + OpenTX for 9XR OpenTX pour 9XR - + OpenTX for 9XR with M128 chip OpenTX pour 9XR avec m128 - + OpenTX for Gruvin9x board / 9X OpenTX pour carte Gruvin9x - - + + Support for SD memory card Support de la carte SD - + Support for DSM2 modules using ppm instead of true serial Support pour les modules DSM2 par le signal PPM - + OpenTX for Sky9x board / 9X OpenTX pour carte Sky9x - - + + Enable HELI menu and cyclic mix support Activer le menu hélico et les mixages CCPM @@ -10025,17 +10066,17 @@ The OpenTX Team. L'équipe OpenTX. - + Positive - + Negative Négative - + @@ -10043,7 +10084,7 @@ L'équipe OpenTX. Erreur de synchronisation - + No Radio connected! Aucune radio connectée! @@ -10136,6 +10177,22 @@ L'équipe OpenTX. + + ReleaseNotesDialog + + + Companion Release Notes + Notes de version de companion + + + + ReleaseNotesFirmwareDialog + + + OpenTX Release Notes + Notes de version d'openTx + + RudderPage @@ -12672,39 +12729,32 @@ m2560 for v4.1 boards contributorsDialog - People who have contributed to this project - Donateurs supportant le projet + Donateurs supportant le projet - Coders - Développeurs + Développeurs - Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) - Les honneurs vont à Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) + Les honneurs vont à Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) - Companion Release Notes - Notes de version de companion + Notes de version de companion - Thank you all !!! - Merci à tous !!! + Merci à tous !!! - Contributors - Contributeurs + Contributeurs - OpenTX Release Notes - Notes de version d'openTx + Notes de version d'openTx