Merge branch 'origin/next'

Conflicts:
	companion/src/helpers.cpp
This commit is contained in:
Dvogonen
2014-01-21 10:04:52 +01:00
50 changed files with 2286 additions and 740 deletions
+8
View File
@@ -0,0 +1,8 @@
##OpenTX Next Branch
You have found your way to the GitHub repository site for the OpenTX Next Branch. This code branch holds the source code for the ongoing development.
The stable release code is not here, it is in the master branch.
Under no circumstances build and use software from this branch for real world application. At times you will be more or less guaranteed to crash your plane and destroy all your model settings.
Refer to the opentx.wiki for information about setting up the tool chains for building OpenTX and OpenTX Companion as well as other development related issues.
-1
View File
@@ -1 +0,0 @@
[to be written]
+30 -26
View File
@@ -83,7 +83,7 @@ burnConfigDialog::~burnConfigDialog()
void burnConfigDialog::getSettings()
{
QSettings settings("companion", "companion");
QSettings settings;
#if defined WIN32 || !defined __GNUC__
avrLoc = settings.value("avrdude_location", QFileInfo("avrdude.exe").absoluteFilePath()).toString();
sambaLoc = settings.value("samba_location", QFileInfo("sam-ba.exe").absoluteFilePath()).toString();
@@ -137,7 +137,7 @@ void burnConfigDialog::getSettings()
void burnConfigDialog::putSettings()
{
QSettings settings("companion", "companion");
QSettings settings;
settings.setValue("avrdude_location", avrLoc);
settings.setValue("programmer", avrProgrammer);
settings.setValue("mcu", avrMCU);
@@ -279,10 +279,9 @@ void burnConfigDialog::listProgrammers()
QStringList arguments;
arguments << "-c?";
avrOutputDialog *ad = new avrOutputDialog(this, ui->avrdude_location->text(), arguments, "List available programmers", AVR_DIALOG_KEEP_OPEN, TRUE);
QIcon Icon;
populate_icon(&Icon,"list.png");
ad->setWindowIcon(Icon);
ad->setWindowIcon(CompanionIcon("list.png"));
ad->show();
delete ad;
}
void burnConfigDialog::on_pushButton_3_clicked()
@@ -298,10 +297,9 @@ void burnConfigDialog::on_pushButton_4_clicked()
arguments << "-?";
avrOutputDialog *ad = new avrOutputDialog(this, ui->avrdude_location->text(), arguments, "Show help", AVR_DIALOG_KEEP_OPEN,TRUE);
QIcon Icon;
populate_icon(&Icon,"configure.png");
ad->setWindowIcon(Icon);
ad->setWindowIcon(CompanionIcon("configure.png"));
ad->show();
delete ad;
}
@@ -317,10 +315,9 @@ void burnConfigDialog::readFuses()
arguments << "-c" << avrProgrammer << "-p" << avrMCU << args << str;
avrOutputDialog *ad = new avrOutputDialog(this, avrLoc, arguments, "Read Fuses",AVR_DIALOG_KEEP_OPEN,TRUE);
QIcon Icon;
populate_icon(&Icon,"fuses.png");
ad->setWindowIcon(Icon);
ad->setWindowIcon(CompanionIcon("fuses.png"));
ad->show();
delete ad;
}
void burnConfigDialog::restFuses(bool eeProtect)
@@ -344,7 +341,8 @@ void burnConfigDialog::restFuses(bool eeProtect)
QString erStr = eeProtect ? "hfuse:w:0x11:m" : "hfuse:w:0x19:m";
str << "-U" << "lfuse:w:0xD7:m" << "-U" << erStr << "-U" << "efuse:w:0xFC:m";
//use hfuse = 0x81 to prevent eeprom being erased with every flashing
} else {
}
else {
QString tempDir = QDir::tempPath();
QString tempFile;
QString lfuses;
@@ -352,10 +350,9 @@ void burnConfigDialog::restFuses(bool eeProtect)
QStringList argread;
argread << "-c" << avrProgrammer << "-p" << avrMCU << args <<"-U" << "lfuse:r:"+tempFile+":r" ;
avrOutputDialog *ad = new avrOutputDialog(this, avrLoc, argread, "Reset Fuses",AVR_DIALOG_CLOSE_IF_SUCCESSFUL,FALSE);
QIcon Icon;
populate_icon(&Icon,"fuses.png");
ad->setWindowIcon(Icon);
ad->setWindowIcon(CompanionIcon("fuses.png"));
ad->exec();
delete ad;
QFile file(tempFile);
if (file.exists() && file.size()==1) {
file.open(QIODevice::ReadOnly);
@@ -363,12 +360,14 @@ void burnConfigDialog::restFuses(bool eeProtect)
file.read(bin_flash, 1);
if (bin_flash[0]==0x0E) {
lfuses="lfuse:w:0x0E:m";
} else {
}
else {
lfuses="lfuse:w:0x3F:m";
}
file.close();
unlink(tempFile.toAscii());
} else {
}
else {
lfuses="lfuse:w:0x3F:m";
}
@@ -379,14 +378,14 @@ void burnConfigDialog::restFuses(bool eeProtect)
QStringList arguments;
if (avrMCU=="m2560") {
arguments << "-c" << avrProgrammer << "-p" << avrMCU << args << "-u" << str;
} else {
}
else {
arguments << "-c" << avrProgrammer << "-p" << avrMCU << args << "-B" << "100" << "-u" << str;
}
avrOutputDialog *ad = new avrOutputDialog(this, avrLoc, arguments, "Reset Fuses",AVR_DIALOG_KEEP_OPEN,TRUE);
QIcon Icon;
populate_icon(&Icon,"fuses.png");
ad->setWindowIcon(Icon);
ad->setWindowIcon(CompanionIcon("fuses.png"));
ad->show();
delete ad;
}
}
@@ -398,24 +397,29 @@ void burnConfigDialog::on_advCtrChkB_toggled(bool checked)
if (IS_TARANIS(eepromInterface->getBoard())) {
ui->label_dfu2->show();
ui->dfuArgs->show();
} else if (eepromInterface->getBoard()==BOARD_SKY9X) {
}
else if (eepromInterface->getBoard()==BOARD_SKY9X) {
ui->label_sb2->show();
ui->arm_mcu->show();
} else {
}
else {
ui->label_av3->show();
ui->avrdude_mcu->show();
QMessageBox::warning(this, tr("Companion"),
tr("<b><u>WARNING!</u></b><br>Normally CPU type is automatically selected according to the chosen firmware.<br>If you change the CPU type the resulting eeprom could be inconsistent."),
QMessageBox::Ok);
}
} else {
}
else {
if (IS_TARANIS(eepromInterface->getBoard())) {
ui->label_dfu2->hide();
ui->dfuArgs->hide();
} else if (eepromInterface->getBoard()==BOARD_SKY9X) {
}
else if (eepromInterface->getBoard()==BOARD_SKY9X) {
ui->label_sb2->hide();
ui->arm_mcu->hide();
} else {
}
else {
ui->label_av3->hide();
ui->avrdude_mcu->hide();
}
+53 -40
View File
@@ -16,9 +16,7 @@ burnDialog::burnDialog(QWidget *parent, int Type, QString * fileName, bool * bac
hexType(Type)
{
ui->setupUi(this);
QIcon LibraryIcon;
populate_icon(&LibraryIcon,"library.png");
ui->libraryButton->setIcon(LibraryIcon);
ui->libraryButton->setIcon(CompanionIcon("library.png"));
ui->SplashFrame->hide();
ui->FramFWInfo->hide();
ui->EEbackupCB->hide();
@@ -29,11 +27,12 @@ burnDialog::burnDialog(QWidget *parent, int Type, QString * fileName, bool * bac
ui->patchcalib_CB->hide();
ui->patchhw_CB->hide();
ui->InvertColorButton->setDisabled(true);
this->setWindowTitle(tr("Write firmware to TX"));
setWindowTitle(tr("Write firmware to TX"));
if (IS_TARANIS(GetEepromInterface()->getBoard())) {
ui->EEbackupCB->hide();
}
} else {
}
else {
ui->FlashLoadButton->setText(tr("Browse for file"));
ui->profile_label->hide();
ui->patchcalib_CB->hide();
@@ -54,11 +53,12 @@ burnDialog::burnDialog(QWidget *parent, int Type, QString * fileName, bool * bac
ui->BurnFlashButton->setDisabled(true);
ui->EEbackupCB->hide();
if (DocName.isEmpty()) {
this->setWindowTitle(tr("Write Models and Settings to TX"));
} else {
this->setWindowTitle(tr("Write Models and Settings in %1 to TX").arg(DocName));
setWindowTitle(tr("Write Models and Settings to TX"));
}
QSettings settings("companion", "companion");
else {
setWindowTitle(tr("Write Models and Settings in %1 to TX").arg(DocName));
}
QSettings settings;
int profileid=settings.value("profileId", 1).toInt();
settings.beginGroup("Profiles");
QString profile=QString("profile%1").arg(profileid);
@@ -72,10 +72,11 @@ burnDialog::burnDialog(QWidget *parent, int Type, QString * fileName, bool * bac
ui->FWFileName->setText(*hexfileName);
if (Type==2) {
checkFw(*hexfileName);
} else {
}
else {
burnraw=false;
if (checkeEprom(*hexfileName)) {
QSettings settings("companion", "companion");
QSettings settings;
int profileid=settings.value("profileId", 1).toInt();
settings.beginGroup("Profiles");
QString profile=QString("profile%1").arg(profileid);
@@ -100,12 +101,14 @@ burnDialog::burnDialog(QWidget *parent, int Type, QString * fileName, bool * bac
if (!((DisplaySet.length()==6) && (BeeperSet.length()==4) && (HapticSet.length()==6) && (SpeakerSet.length()==6))) {
ui->patchhw_CB->setDisabled(true);
}
} else {
}
else {
ui->profile_label->hide();
}
if (!IS_TARANIS(GetEepromInterface()->getBoard())) {
ui->EEpromCB->show();
} else {
}
else {
ui->EEpromCB->setChecked(false);
}
ui->BurnFlashButton->setEnabled(true);
@@ -116,7 +119,7 @@ burnDialog::burnDialog(QWidget *parent, int Type, QString * fileName, bool * bac
hexfileName->clear();
}
else if (Type==2) {
QSettings settings("companion", "companion");
QSettings settings;
QString FileName;
FileName = settings.value("lastFw").toString();
QFile file(FileName);
@@ -127,14 +130,15 @@ burnDialog::burnDialog(QWidget *parent, int Type, QString * fileName, bool * bac
resize(0, 0);
}
burnDialog::~burnDialog() {
burnDialog::~burnDialog()
{
delete ui;
}
void burnDialog::on_FlashLoadButton_clicked()
{
QString fileName;
QSettings settings("companion", "companion");
QSettings settings;
ui->ImageLoadButton->setDisabled(true);
ui->libraryButton->setDisabled(true);
ui->InvertColorButton->setDisabled(true);
@@ -153,7 +157,8 @@ void burnDialog::on_FlashLoadButton_clicked()
if (hexType==2) {
fileName = QFileDialog::getOpenFileName(this, tr("Open"), settings.value("lastFlashDir").toString(), FLASH_FILES_FILTER);
checkFw(fileName);
} else {
}
else {
QString fileName = QFileDialog::getOpenFileName(this,tr("Choose file to load Models and Settings from"), settings.value("lastDir").toString(), tr(EXTERNAL_EEPROM_FILES_FILTER));
if (checkeEprom(fileName)) {
if (burnraw==false) {
@@ -163,10 +168,12 @@ void burnDialog::on_FlashLoadButton_clicked()
ui->patchhw_CB->show();
if (!IS_TARANIS(GetEepromInterface()->getBoard())) {
ui->EEpromCB->show();
} else {
}
else {
ui->EEpromCB->setChecked(false);
}
} else {
}
else {
ui->BurnFlashButton->setEnabled(true);
ui->profile_label->hide();
ui->patchcalib_CB->setChecked(false);
@@ -184,10 +191,11 @@ void burnDialog::checkFw(QString fileName)
if (fileName.isEmpty()) {
return;
}
QSettings settings("companion", "companion");
QSettings settings;
if (!IS_TARANIS(GetEepromInterface()->getBoard())) {
ui->EEbackupCB->show();
} else {
}
else {
ui->EEbackupCB->setChecked(false);
*backup=false;
}
@@ -226,23 +234,27 @@ void burnDialog::checkFw(QString fileName)
ui->imageLabel->setPixmap(QPixmap::fromImage(image.scaled(ui->imageLabel->width(), ui->imageLabel->height()).convertToFormat(flash.getSplashFormat())));
ui->PatchFWCB->setEnabled(true);
ui->PatchFWCB->setChecked(PatchFwCB);
} else {
}
else {
ui->PatchFWCB->setDisabled(true);
ui->PatchFWCB->setChecked(false);
ui->PreferredImageCB->setDisabled(true);
}
} else {
}
else {
ui->PatchFWCB->setDisabled(true);
ui->PatchFWCB->setChecked(false);
ui->PreferredImageCB->setDisabled(true);
}
}
} else {
}
else {
ui->FwImage->hide();
ui->ImageFileName->setText("");
ui->SplashFrame->hide();
}
} else {
}
else {
QMessageBox::warning(this, tr("Warning"), tr("%1 is not a known firmware").arg(fileName));
ui->BurnFlashButton->setText(tr("Burn anyway !"));
ui->BurnFlashButton->setEnabled(true);
@@ -270,7 +282,8 @@ bool burnDialog::checkeEprom(QString fileName)
}
QTextStream inputStream(&file);
XmlInterface(inputStream).load(radioData);
} else if (fileType==FILE_TYPE_HEX || fileType==FILE_TYPE_EEPE) { //read HEX file
}
else if (fileType==FILE_TYPE_HEX || fileType==FILE_TYPE_EEPE) { //read HEX file
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { //reading HEX TEXT file
QMessageBox::critical(this, tr("Error"),tr("Error opening file %1:\n%2.").arg(fileName).arg(file.errorString()));
return false;
@@ -313,7 +326,8 @@ bool burnDialog::checkeEprom(QString fileName)
ui->FWFileName->setText(fileName);
return true;
}
} else if (fileType==FILE_TYPE_BIN) { //read binary
}
else if (fileType==FILE_TYPE_BIN) { //read binary
int eeprom_size = file.size();
if (!file.open(QFile::ReadOnly)) { //reading binary file - TODO HEX support
QMessageBox::critical(this, tr("Error"),tr("Error opening file %1:\n%2.").arg(fileName).arg(file.errorString()));
@@ -346,7 +360,7 @@ void burnDialog::on_ImageLoadButton_clicked()
supportedImageFormats += QLatin1String(" *.") + QImageReader::supportedImageFormats()[formatIndex];
}
QSettings settings("companion", "companion");
QSettings settings;
QString fileName = QFileDialog::getOpenFileName(this,
tr("Open Image to load"), settings.value("lastImagesDir").toString(), tr("Images (%1)").arg(supportedImageFormats));
@@ -368,17 +382,16 @@ void burnDialog::on_ImageLoadButton_clicked()
int gray;
int width = image.width();
int height = image.height();
for (int i = 0; i < width; ++i)
{
for (int j = 0; j < height; ++j)
{
col = image.pixel(i, j);
gray = qGray(col);
image.setPixel(i, j, qRgb(gray, gray, gray));
}
for (int i = 0; i < width; ++i) {
for (int j = 0; j < height; ++j) {
col = image.pixel(i, j);
gray = qGray(col);
image.setPixel(i, j, qRgb(gray, gray, gray));
}
}
ui->imageLabel->setPixmap(QPixmap::fromImage(image.scaled(ui->imageLabel->width(), ui->imageLabel->height())));
} else {
}
else {
ui->imageLabel->setPixmap(QPixmap::fromImage(image.scaled(ui->imageLabel->width(), ui->imageLabel->height()).convertToFormat(QImage::Format_Mono)));
}
ui->PatchFWCB->setEnabled(true);
@@ -429,7 +442,7 @@ void burnDialog::on_BurnFlashButton_clicked()
if (hexType==2) {
QString fileName=ui->FWFileName->text();
if (!fileName.isEmpty()) {
QSettings settings("companion", "companion");
QSettings settings;
settings.setValue("lastFlashDir", QFileInfo(fileName).dir().absolutePath());
settings.setValue("lastFw", fileName);
if (ui->PatchFWCB->isChecked()) {
@@ -466,7 +479,7 @@ void burnDialog::on_BurnFlashButton_clicked()
}
}
if (hexType==1) {
QSettings settings("companion", "companion");
QSettings settings;
int profileid=settings.value("profileId", 1).toInt();
settings.beginGroup("Profiles");
QString profile=QString("profile%1").arg(profileid);
@@ -643,7 +656,7 @@ void burnDialog::on_PreferredImageCB_toggled(bool checked)
{
QString tmpFileName;
if (checked) {
QSettings settings("companion", "companion");
QSettings settings;
QString ImageStr = settings.value("SplashImage", "").toString();
if (!ImageStr.isEmpty()) {
QImage Image = qstring2image(ImageStr);
+20 -14
View File
@@ -8,7 +8,8 @@ contributorsDialog::contributorsDialog(QWidget *parent, int contest, QString rnu
{
ui->setupUi(this);
switch (contest) {
case 0: {
case 0:
{
QFile file(":/DONATIONS.txt");
QString str;
str.append("<html><head>");
@@ -20,7 +21,7 @@ contributorsDialog::contributorsDialog(QWidget *parent, int contest, QString rnu
str.append("<tr><td class=\"myhead\">"+tr("People who have contributed to this project")+"</td></tr>");
str.append("</table>");
str.append("<table width=\"100%\" border=0 cellspacing=0 cellpadding=2>");
if(file.open( QIODevice::ReadOnly | QIODevice::Text ) ) {
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
int columns=6;
float cwidth=100.0/columns;
while (!file.atEnd()) {
@@ -66,26 +67,29 @@ contributorsDialog::contributorsDialog(QWidget *parent, int contest, QString rnu
}
}
str.append("<tr><td class=\"mycss\">&nbsp;</td></tr>");
str.append("<tr><td colspan=3 class=\"mycss\">"+tr("Honors go to Rafal Tomczak (RadioClone) and Thomas Husterer (th9x) \nof course. Also to Erez Raviv (er9x) and it's fantastic eePe, from which\ncompanion9x was forked out.")+"</td></tr>");
str.append("<tr><td colspan=3 class=\"mycss\">"+tr("Thank you all !!!")+"</td></tr>");
str.append("<tr><td colspan=3 class=\"mycss\">" + tr("Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe)") + "<br/></td></tr>");
str.append("<tr><td colspan=3 class=\"mycss\">" + tr("Thank you all !!!") + "</td></tr>");
str.append("</table>");
str.append("</body></html>");
ui->textEditor->setHtml(str);
ui->textEditor->scroll(0,0);
this->setWindowTitle(tr("Contributors"));
}
ui->textEditor->scroll(0, 0);
setWindowTitle(tr("Contributors"));
break;
}
case 1:{
case 1:
{
QFile file(":/releasenotes.txt");
if(file.open( QIODevice::ReadOnly | QIODevice::Text ) ) {
ui->textEditor->setHtml(file.readAll());
}
ui->textEditor->scroll(0,0);
this->setWindowTitle(tr("Companion Release Notes"));
}
setWindowTitle(tr("Companion Release Notes"));
break;
case 2:{
}
case 2:
{
if (!rnurl.isEmpty()) {
this->setWindowTitle(tr("OpenTX Release Notes"));
manager = new QNetworkAccessManager(this);
@@ -94,7 +98,8 @@ contributorsDialog::contributorsDialog(QWidget *parent, int contest, QString rnu
QNetworkRequest request(url);
request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysNetwork);
manager->get(request);
} else {
}
else {
QTimer::singleShot(0, this, SLOT(forceClose()));
}
break;
@@ -104,7 +109,7 @@ contributorsDialog::contributorsDialog(QWidget *parent, int contest, QString rnu
void contributorsDialog::showEvent ( QShowEvent * )
{
ui->textEditor->scroll(0,0);
ui->textEditor->scroll(0, 0);
}
contributorsDialog::~contributorsDialog()
@@ -117,6 +122,7 @@ void contributorsDialog::replyFinished(QNetworkReply * reply)
ui->textEditor->setHtml(reply->readAll());
}
void contributorsDialog::forceClose() {
void contributorsDialog::forceClose()
{
accept();;
}
+10 -10
View File
@@ -8,23 +8,23 @@
#include "flashinterface.h"
customizeSplashDialog::customizeSplashDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::customizeSplashDialog) {
QDialog(parent),
ui(new Ui::customizeSplashDialog)
{
ui->setupUi(this);
QIcon LibraryIcon;
populate_icon(&LibraryIcon,"library.png");
ui->libraryButton->setIcon(LibraryIcon);
ui->libraryButton->setIcon(CompanionIcon("library.png"));
ui->HowToLabel->clear();
ui->HowToLabel->append("<center>" + tr("Select an original firmware file") + "</center>");
}
customizeSplashDialog::~customizeSplashDialog() {
customizeSplashDialog::~customizeSplashDialog()
{
delete ui;
}
void customizeSplashDialog::on_FlashLoadButton_clicked()
{
QSettings settings("companion", "companion");
QSettings settings;
QString fileName = QFileDialog::getOpenFileName(this, tr("Open"), settings.value("lastFlashDir").toString(), FLASH_FILES_FILTER);
if (!fileName.isEmpty()) {
ui->ImageLoadButton->setDisabled(true);
@@ -70,7 +70,7 @@ void customizeSplashDialog::on_ImageLoadButton_clicked() {
supportedImageFormats += QLatin1String(" *.") + QImageReader::supportedImageFormats()[formatIndex];
}
QSettings settings("companion", "companion");
QSettings settings;
QString fileName = QFileDialog::getOpenFileName(this,
tr("Open Image to load"), settings.value("lastImagesDir").toString(), tr("Images (%1)").arg(supportedImageFormats));
@@ -147,7 +147,7 @@ void customizeSplashDialog::on_libraryButton_clicked() {
void customizeSplashDialog::on_SaveFlashButton_clicked()
{
QString fileName;
QSettings settings("companion", "companion");
QSettings settings;
ui->HowToLabel->clear();
fileName = QFileDialog::getSaveFileName(this, tr("Write to file"), settings.value("lastFlashDir").toString(), FLASH_FILES_FILTER, 0, QFileDialog::DontConfirmOverwrite);
if (fileName.isEmpty()) {
@@ -180,7 +180,7 @@ void customizeSplashDialog::on_InvertColorButton_clicked()
void customizeSplashDialog::on_SaveImageButton_clicked()
{
QString fileName;
QSettings settings("companion", "companion");
QSettings settings;
fileName = QFileDialog::getSaveFileName(this, tr("Write to file"), settings.value("lastImagesDir").toString(), tr("PNG images (*.png);;"), 0, QFileDialog::DontConfirmOverwrite);
if (!fileName.isEmpty()) {
+8 -3
View File
@@ -287,7 +287,12 @@ QString RawSource::toString()
if (index<0) {
return QObject::tr("----");
}
switch(type) {
switch (type) {
case SOURCE_TYPE_VIRTUAL_INPUT:
if (model && strlen(model->inputNames[index]) > 0)
return QString(model->inputNames[index]);
else
return QObject::tr("Virtual Input %1").arg(index+1);
case SOURCE_TYPE_STICK:
return AnalogString(index);
case SOURCE_TYPE_TRIM:
@@ -438,7 +443,7 @@ GeneralSettings::GeneralSettings()
calibSpanNeg[i] = 0x180;
calibSpanPos[i] = 0x180;
}
QSettings settings("companion", "companion");
QSettings settings;
templateSetup = settings.value("default_channel_order", 0).toInt();
stickMode = settings.value("default_mode", 1).toInt();
int profile_id = settings.value("ActiveProfile", 0).toInt();
@@ -659,7 +664,7 @@ ModelData ModelData::removeGlobalVars()
QList<EEPROMInterface *> eepromInterfaces;
void RegisterEepromInterfaces()
{
QSettings settings("companion", "companion");
QSettings settings;
int rev4a = settings.value("rev4asupport",0).toInt();
eepromInterfaces.push_back(new Open9xInterface(BOARD_STOCK));
eepromInterfaces.push_back(new Open9xInterface(BOARD_M128));
+9 -5
View File
@@ -286,19 +286,22 @@ class RawSource {
public:
RawSource():
type(SOURCE_TYPE_NONE),
index(0)
index(0),
model(NULL)
{
}
RawSource(int value):
RawSource(int value, const ModelData * model=NULL):
type(RawSourceType(abs(value)/65536)),
index(value >= 0 ? abs(value)%65536 : -(abs(value)%65536))
index(value >= 0 ? abs(value)%65536 : -(abs(value)%65536)),
model(model)
{
}
RawSource(RawSourceType type, int index=0):
RawSource(RawSourceType type, int index=0, const ModelData * model=NULL):
type(type),
index(index)
index(index),
model(model)
{
}
@@ -322,6 +325,7 @@ class RawSource {
RawSourceType type;
int index;
const ModelData * model;
};
enum RawSwitchType {
@@ -44,7 +44,7 @@ const char * Er9xInterface::getName()
const int Er9xInterface::getEEpromSize()
{
QSettings settings("companion", "companion");
QSettings settings;
QString avrMCU = settings.value("mcu", QString("m64")).toString();
if (avrMCU==QString("m128")) {
return 2*EESIZE_STOCK;
@@ -47,7 +47,7 @@ const char * Gruvin9xInterface::getName()
const int Gruvin9xInterface::getEEpromSize()
{
if (board == BOARD_STOCK) {
QSettings settings("companion", "companion");
QSettings settings;
QString avrMCU = settings.value("mcu", QString("m64")).toString();
if (avrMCU==QString("m128")) {
return EESIZE_STOCK*2;
@@ -593,7 +593,7 @@ enum Functions {
#endif
FUNC_BACKLIGHT,
#if defined(DEBUG)
FUNC_TEST, // should remain the last before MAX as not added in companion9x
FUNC_TEST, // should remain the last before MAX as not added in companion
#endif
FUNC_MAX
};
@@ -135,7 +135,7 @@ using namespace Open9xSky9x;
Open9xSky9xSimulator::Open9xSky9xSimulator(Open9xInterface * open9xInterface):
open9xInterface(open9xInterface)
{
QSettings settings("companion", "companion");
QSettings settings;
QString path=settings.value("sdPath", ".").toString()+"/";
int i=0;
for (i=0; i< std::min(path.length(),1022); i++) {
@@ -145,7 +145,7 @@ OpentxTaranisSimulator::OpentxTaranisSimulator(Open9xInterface * open9xInterface
open9xInterface(open9xInterface)
{
taranisSimulatorBoard = GetEepromInterface()->getBoard();
QSettings settings("companion", "companion");
QSettings settings;
QString path=settings.value("sdPath", ".").toString()+"/";
int i=0;
for (i=0; i< std::min(path.length(),1022); i++) {
@@ -42,14 +42,10 @@ size_t SizeOfArray( T(&)[ N ] )
return N;
}
QStringList o9xservers;
Open9xInterface::Open9xInterface(BoardEnum board):
EEPROMInterface(board),
efile(new EFile())
{
o9xservers.clear();
o9xservers << "93.51.182.154" << "open9x.9xforums.com";
}
Open9xInterface::~Open9xInterface()
@@ -309,7 +305,7 @@ bool Open9xInterface::load(RadioData &radioData, uint8_t *eeprom, int size)
std::cout << " wrong size (" << size << ")\n";
return false;
} else {
QMessageBox::warning(NULL,"companion", QObject::tr("Your radio probably uses a wrong firmware,\n eeprom size is 4096 but only the first 2048 are used"));
QMessageBox::warning(NULL, "companion", QObject::tr("Your radio probably uses a wrong firmware,\n eeprom size is 4096 but only the first 2048 are used"));
size=2048;
}
} else {
@@ -944,14 +940,9 @@ bool Open9xInterface::loadBackup(RadioData &radioData, uint8_t *eeprom, int esiz
QString geturl( int board)
{
QString url="http://";
QSettings settings("companion", "companion");
int server = settings.value("fwserver", 0).toInt();
if (server >= o9xservers.count()) {
server = 0;
settings.setValue("fwserver",server);
}
url.append(o9xservers.at(server));
QSettings settings;
QString url = settings.value("compilation-server", OPENTX_FIRMWARE_DOWNLOADS).toString();
switch(board) {
case BOARD_STOCK:
case BOARD_M128:
@@ -972,27 +963,21 @@ QString geturl( int board)
QString getstamp( int board)
{
QString url="http://";
QSettings settings("companion", "companion");
int server = settings.value("fwserver",0).toInt();
if (server >=o9xservers.count()) {
server=0;
settings.setValue("fwserver",server);
}
url.append(o9xservers.at(server));
url.append("/binaries/stamp-opentx-");
QSettings settings;
QString url = settings.value("compilation-server", OPENTX_FIRMWARE_DOWNLOADS).toString();
url.append("/stamp-opentx-");
switch(board) {
case BOARD_STOCK:
url.append("stock.txt");
url.append("9x.txt");
break;
case BOARD_M128:
url.append("stock128.txt");
url.append("9x128.txt");
break;
case BOARD_GRUVIN9X:
url.append("v4.txt");
url.append("gruvin9x.txt");
break;
case BOARD_SKY9X:
url.append("arm.txt");
url.append("sky9x.txt");
break;
case BOARD_TARANIS:
case BOARD_TARANIS_REV4a:
@@ -1007,16 +992,10 @@ QString getstamp( int board)
QString getrnurl( int board)
{
QString url="http://";
QSettings settings("companion", "companion");
int server = settings.value("fwserver",0).toInt();
if (server >=o9xservers.count()) {
server=0;
settings.setValue("fwserver",server);
}
url.append(o9xservers.at(server));
url.append("/docs/releasenotes-");
switch(board) {
QSettings settings;
QString url = settings.value("compilation-server", OPENTX_FIRMWARE_DOWNLOADS).toString();
url.append("/releasenotes-");
switch(board) {
case BOARD_STOCK:
case BOARD_M128:
case BOARD_GRUVIN9X:
@@ -1043,7 +1022,7 @@ void RegisterOpen9xFirmwares()
Option extr_options[] = { { "frsky", QObject::tr("Support for frsky telemetry mod"), FRSKY_VARIANT }, { "jeti", QObject::tr("Support for jeti telemetry mod"), 0 }, { "ardupilot", QObject::tr("Support for receiving ardupilot data"), 0 }, { "nmea", QObject::tr("Support for receiving NMEA data"), 0 }, { "mavlink", QObject::tr("Support for MAVLINK devices"), MAVLINK_VARIANT }, { NULL } };
Option fai_options[] = { { "faichoice", QObject::tr("Possibility to enable FAI MODE at field") }, { "faimode", QObject::tr("FAI MODE always enabled") }, { NULL } };
/* 9x board */
open9x = new Open9xFirmware("opentx-stock", QObject::tr("openTx for 9X board"), new Open9xInterface(BOARD_STOCK), geturl(BOARD_STOCK), getstamp(BOARD_STOCK), getrnurl(BOARD_STOCK), false);
open9x = new Open9xFirmware("opentx-9x", QObject::tr("openTx for 9X board"), new Open9xInterface(BOARD_STOCK), geturl(BOARD_STOCK), getstamp(BOARD_STOCK), getrnurl(BOARD_STOCK), false);
open9x->addOptions(ext_options);
open9x->addOption("heli", QObject::tr("Enable heli menu and cyclic mix support"));
open9x->addOption("templates", QObject::tr("Enable TEMPLATES menu"));
@@ -1079,7 +1058,7 @@ void RegisterOpen9xFirmwares()
firmwares.push_back(open9x);
/* 9x board with M128 chip */
open9x = new Open9xFirmware("opentx-stock128", QObject::tr("openTx for M128 / 9X board"), new Open9xInterface(BOARD_M128), geturl(BOARD_M128), getstamp(BOARD_M128),getrnurl(BOARD_M128), false);
open9x = new Open9xFirmware("opentx-9x128", QObject::tr("openTx for M128 / 9X board"), new Open9xInterface(BOARD_M128), geturl(BOARD_M128), getstamp(BOARD_M128),getrnurl(BOARD_M128), false);
open9x->addOptions(ext_options);
open9x->addOption("heli", QObject::tr("Enable heli menu and cyclic mix support"));
open9x->addOption("templates", QObject::tr("Enable TEMPLATES menu"));
@@ -1175,7 +1154,7 @@ void RegisterOpen9xFirmwares()
firmwares.push_back(open9x);
/* Gruvin9x board */
open9x = new Open9xFirmware("opentx-v4", QObject::tr("openTx for Gruvin9x board / 9X"), new Open9xInterface(BOARD_GRUVIN9X), geturl(BOARD_GRUVIN9X), getstamp(BOARD_GRUVIN9X),getrnurl(BOARD_GRUVIN9X), false);
open9x = new Open9xFirmware("opentx-gruvin9x", QObject::tr("openTx for Gruvin9x board / 9X"), new Open9xInterface(BOARD_GRUVIN9X), geturl(BOARD_GRUVIN9X), getstamp(BOARD_GRUVIN9X),getrnurl(BOARD_GRUVIN9X), false);
open9x->setVariantBase(FRSKY_VARIANT);
open9x->addOption("heli", QObject::tr("Enable heli menu and cyclic mix support"));
open9x->addOption("templates", QObject::tr("Enable TEMPLATES menu"));
@@ -1239,7 +1218,7 @@ void RegisterOpen9xFirmwares()
open9x->addOptions(fai_options);
firmwares.push_back(open9x);
QSettings settings("companion", "companion");
QSettings settings;
int rev4a = settings.value("rev4asupport",0).toInt();
if (rev4a) {
open9x = new Open9xFirmware("opentx-taranisrev4a", QObject::tr("openTx for FrSky Taranis Rev4a"), new Open9xInterface(BOARD_TARANIS_REV4a), geturl(BOARD_TARANIS_REV4a), getstamp(BOARD_TARANIS_REV4a),getrnurl(BOARD_TARANIS), true);
@@ -18,6 +18,9 @@
#include "eeprominterface.h"
#define OPENTX_COMPANION_DOWNLOADS "http://downloads.open-tx.org/companion"
#define OPENTX_FIRMWARE_DOWNLOADS "http://downloads.open-tx.org/firmware"
class EFile;
class Open9xInterface : public EEPROMInterface
@@ -91,6 +94,7 @@ class Open9xFirmware: public FirmwareInfo {
addLanguage("se");
addLanguage("cz");
addLanguage("es");
addLanguage("pl");
addLanguage("pt");
addTTSLanguage("en");
@@ -100,6 +104,7 @@ class Open9xFirmware: public FirmwareInfo {
addTTSLanguage("se");
addTTSLanguage("cz");
addTTSLanguage("sk");
addTTSLanguage("pl");
addTTSLanguage("pt");
addTTSLanguage("es");
}
@@ -44,7 +44,7 @@ const char * Th9xInterface::getName()
const int Th9xInterface::getEEpromSize()
{
QSettings settings("companion", "companion");
QSettings settings;
QString avrMCU = settings.value("mcu", QString("m64")).toString();
if (avrMCU==QString("m128")) {
return 2*EESIZE_STOCK;
+4 -4
View File
@@ -20,7 +20,7 @@ GeneralEdit::GeneralEdit(RadioData &radioData, QWidget *parent) :
ui->setupUi(this);
this->setWindowIcon(QIcon(":/icon.png"));
QSettings settings("companion", "companion");
QSettings settings;
QString firmware_id = settings.value("firmware", default_firmware_variant.id).toString();
ui->tabWidget->setCurrentIndex(settings.value("generalEditTab", 0).toInt());
int profile_id=settings.value("profileId", 0).toInt();
@@ -946,7 +946,7 @@ void GeneralEdit::on_PPM4_editingFinished()
void GeneralEdit::on_tabWidget_currentChanged(int index)
{
// TODO why er9x here
QSettings settings("companion", "companion");
QSettings settings;
settings.setValue("generalEditTab",index);//ui->tabWidget->currentIndex());
}
@@ -1195,7 +1195,7 @@ void GeneralEdit::on_swGEAChkB_stateChanged(int )
void GeneralEdit::on_calretrieve_PB_clicked()
{
QSettings settings("companion", "companion");
QSettings settings;
int profile_id=ui->profile_CB->itemData(ui->profile_CB->currentIndex()).toInt();
settings.beginGroup("Profiles");
QString profile=QString("profile%1").arg(profile_id);
@@ -1312,7 +1312,7 @@ void GeneralEdit::on_calretrieve_PB_clicked()
void GeneralEdit::on_calstore_PB_clicked()
{
QSettings settings("companion", "companion");
QSettings settings;
int profile_id=ui->profile_CB->itemData(ui->profile_CB->currentIndex()).toInt();
settings.beginGroup("Profiles");
QString profile=QString("profile%1").arg(profile_id);
+29 -18
View File
@@ -399,7 +399,7 @@ void populateFuncParamArmTCB(QComboBox *b, ModelData * g_model, char * value, QS
}
}
void populateFuncParamCB(QComboBox *b, uint function, unsigned int value, unsigned int adjustmode)
void populateFuncParamCB(QComboBox *b, const ModelData & model, uint function, unsigned int value, unsigned int adjustmode)
{
QStringList qs;
b->clear();
@@ -423,18 +423,18 @@ void populateFuncParamCB(QComboBox *b, uint function, unsigned int value, unsign
b->setCurrentIndex(value);
}
else if (function==FuncVolume) {
populateSourceCB(b, RawSource(value), POPULATE_SOURCES|POPULATE_TRIMS);
populateSourceCB(b, RawSource(value), model, POPULATE_SOURCES|POPULATE_TRIMS);
}
else if (function==FuncPlayValue) {
populateSourceCB(b, RawSource(value), POPULATE_SOURCES|POPULATE_SWITCHES|POPULATE_GVARS|POPULATE_TRIMS|POPULATE_TELEMETRYEXT);
populateSourceCB(b, RawSource(value), model, POPULATE_SOURCES|POPULATE_VIRTUAL_INPUTS|POPULATE_SWITCHES|POPULATE_GVARS|POPULATE_TRIMS|POPULATE_TELEMETRYEXT);
}
else if (function>=FuncAdjustGV1 && function<=FuncAdjustGVLast) {
switch (adjustmode) {
case 1:
populateSourceCB(b, RawSource(value), POPULATE_SOURCES|POPULATE_TRIMS|POPULATE_SWITCHES);
populateSourceCB(b, RawSource(value), model, POPULATE_SOURCES|POPULATE_TRIMS|POPULATE_SWITCHES);
break;
case 2:
populateSourceCB(b, RawSource(value), POPULATE_GVARS);
populateSourceCB(b, RawSource(value), model, POPULATE_GVARS);
break;
case 3:
b->clear();
@@ -998,8 +998,7 @@ void populateGVCB(QComboBox *b, int value)
b->setCurrentIndex(nullitem);
}
void populateSourceCB(QComboBox *b, const RawSource &source, unsigned int flags)
void populateSourceCB(QComboBox *b, const RawSource & source, const ModelData & model, unsigned int flags)
{
RawSource item;
@@ -1009,7 +1008,18 @@ void populateSourceCB(QComboBox *b, const RawSource &source, unsigned int flags)
item = RawSource(SOURCE_TYPE_NONE);
b->addItem(item.toString(), item.toValue());
if (item == source) b->setCurrentIndex(b->count()-1);
}
if (flags & POPULATE_VIRTUAL_INPUTS) {
int virtualInputs = GetEepromInterface()->getCapability(VirtualInputs);
for (int i=0; i<virtualInputs; i++) {
item = RawSource(SOURCE_TYPE_VIRTUAL_INPUT, i, &model);
b->addItem(item.toString(), item.toValue());
if (item == source) b->setCurrentIndex(b->count()-1);
}
}
if (flags & POPULATE_SOURCES) {
for (int i=0; i<4+GetEepromInterface()->getCapability(Pots); i++) {
item = RawSource(SOURCE_TYPE_STICK, i);
b->addItem(item.toString(), item.toValue());
@@ -1485,19 +1495,10 @@ QString getCenterBeep(ModelData * g_model)
return strl.join(", ");
}
void populate_icon(QIcon *Icon, QString baseimage)
{
static QString usedtheme=getTheme();
Icon->addFile(":/themes/"+usedtheme+"/16/"+baseimage,QSize(16,16));
Icon->addFile(":/themes/"+usedtheme+"/24/"+baseimage,QSize(24,24));
Icon->addFile(":/themes/"+usedtheme+"/32/"+baseimage,QSize(32,32));
Icon->addFile(":/themes/"+usedtheme+"/48/"+baseimage,QSize(48,48));
}
QString getTheme()
{
QSettings settings("companion", "companion");
int theme_set=settings.value("theme", 1).toInt();
QSettings settings;
int theme_set = settings.value("theme", 1).toInt();
QString Theme;
switch(theme_set) {
case 0:
@@ -1515,3 +1516,13 @@ QString getTheme()
}
return Theme;
}
CompanionIcon::CompanionIcon(QString baseimage)
{
static QString theme = getTheme();
addFile(":/themes/"+theme+"/16/"+baseimage, QSize(16,16));
addFile(":/themes/"+theme+"/24/"+baseimage, QSize(24,24));
addFile(":/themes/"+theme+"/32/"+baseimage, QSize(32,32));
addFile(":/themes/"+theme+"/48/"+baseimage, QSize(48,48));
}
+15 -9
View File
@@ -28,9 +28,14 @@ void populateVoiceLangCB(QComboBox *b, QString language);
void populateTTraceCB(QComboBox *b, int value);
void populateRotEncCB(QComboBox *b, int value, int renumber);
void populateBacklightCB(QComboBox *b, const uint8_t value);
void populate_icon(QIcon *Icon, QString baseimage);
QString getTheme();
class CompanionIcon: public QIcon {
public:
CompanionIcon(QString baseimage);
};
class GVarGroup : public QObject {
Q_OBJECT
@@ -82,7 +87,7 @@ void populateFuncCB(QComboBox *b, unsigned int value);
void populateRepeatCB(QComboBox *b, unsigned int value);
void populateGVmodeCB(QComboBox *b, unsigned int value);
QString FuncParam(uint function, int value, QString paramT="",unsigned int adjustmode=0);
void populateFuncParamCB(QComboBox *b, uint function, unsigned int value, unsigned int adjustmode=0);
void populateFuncParamCB(QComboBox *b, const ModelData & model, uint function, unsigned int value, unsigned int adjustmode=0);
void populateFuncParamArmTCB(QComboBox *b, ModelData * g_model, char * value, QStringList & paramsList);
void populatePhasesCB(QComboBox *b, int value);
void populateTrimUseCB(QComboBox *b, unsigned int phase);
@@ -93,19 +98,20 @@ QString getCustomSwitchStr(CustomSwData * customSw, const ModelData & model);
QString getProtocolStr(const int proto);
QString getPhasesStr(unsigned int phases, ModelData & model);
#define POPULATE_SOURCES 1
#define POPULATE_TRIMS 2
#define POPULATE_SWITCHES 4
#define POPULATE_GVARS 8
#define POPULATE_TELEMETRY 16
#define POPULATE_TELEMETRYEXT 32
#define POPULATE_SOURCES 1
#define POPULATE_TRIMS 2
#define POPULATE_SWITCHES 4
#define POPULATE_GVARS 8
#define POPULATE_TELEMETRY 16
#define POPULATE_TELEMETRYEXT 32
#define POPULATE_VIRTUAL_INPUTS 64
#define GVARS_VARIANT 0x0001
#define FRSKY_VARIANT 0x0002
// void populateGVarCB(QComboBox *b, int value, int min, int max,int pgvars=5); //TODO: Clean Up
void populateGVCB(QComboBox *b, int value);
void populateSourceCB(QComboBox *b, const RawSource &source, unsigned int flags);
void populateSourceCB(QComboBox *b, const RawSource &source, const ModelData & model, unsigned int flags);
void populateCSWCB(QComboBox *b, int value);
QString getTimerMode(int tm);
QString getTimerModeB(int tm);
@@ -0,0 +1,239 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:ooo="http://xml.openoffice.org/svg/export"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.2"
width="190mm"
height="190mm"
viewBox="0 0 19000 19000"
preserveAspectRatio="xMidYMid"
fill-rule="evenodd"
clip-path="url(#presentation_clip_path)"
stroke-width="28.222"
stroke-linejoin="round"
xml:space="preserve"
id="svg3347"
inkscape:version="0.48.4 r9939"
sodipodi:docname="opentx_logo.svg"><metadata
id="metadata3491"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1398"
inkscape:window-height="1000"
id="namedview3489"
showgrid="false"
inkscape:zoom="0.20481287"
inkscape:cx="-309.136"
inkscape:cy="70.041471"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g3399" /><defs
class="ClipPathGroup"
id="defs3349"><clipPath
id="presentation_clip_path"
clipPathUnits="userSpaceOnUse"><rect
x="0"
y="0"
width="19000"
height="19000"
id="rect3352" /></clipPath></defs><defs
class="TextShapeIndex"
id="defs3354"><g
ooo:slide="id1"
ooo:id-list="id3 id4 id5 id6 id7 id8 id9 id10"
id="g3356" /></defs><defs
class="EmbeddedBulletChars"
id="defs3358"><g
id="bullet-char-template(57356)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"
id="path3361" /></g><g
id="bullet-char-template(57354)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"
id="path3364" /></g><g
id="bullet-char-template(10146)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"
id="path3367" /></g><g
id="bullet-char-template(10132)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"
id="path3370" /></g><g
id="bullet-char-template(10007)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"
id="path3373" /></g><g
id="bullet-char-template(10004)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"
id="path3376" /></g><g
id="bullet-char-template(9679)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"
id="path3379" /></g><g
id="bullet-char-template(8226)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"
id="path3382" /></g><g
id="bullet-char-template(8211)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"
id="path3385" /></g></defs><defs
class="TextEmbeddedBitmaps"
id="defs3387" /><g
id="g3389"><g
id="id2"
class="Master_Slide"><g
id="bg-id2"
class="Background" /><g
id="bo-id2"
class="BackgroundObjects" /></g></g><g
id="g3399"
class="Page"><g
class="com.sun.star.drawing.CustomShape"
id="g3403"><g
id="id3"><path
d="M 9500,19000 0,19000 0,0 l 19000,0 0,19000 -9500,0 z"
id="path3406"
inkscape:connector-curvature="0"
style="fill:#000000;stroke:none" /><path
d="M 9500,19000 0,19000 0,0 l 19000,0 0,19000 -9500,0 z"
id="path3408"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000" /></g></g><g
class="com.sun.star.drawing.PolyPolygonShape"
id="g3410"
transform="translate(0,2427.1101)"
style="fill:#ffffff"><g
id="id4"
style="fill:#ffffff"><path
d="m 1500,4800 6300,0 0,2000 -2000,0 0,8000 -2300,0 0,-8000 -2000,0 0,-800 0,-1200 z"
id="path3413"
inkscape:connector-curvature="0"
style="fill:#ffffff;stroke:none" /><path
d="m 1500,4800 6300,0 0,2000 -2000,0 0,8000 -2300,0 0,-8000 -2000,0 0,-800 0,-1200 z"
id="path3415"
inkscape:connector-curvature="0"
style="fill:#ffffff;stroke:#ffffff" /><text
class="TextShape"
id="text3417"
style="fill:#ffffff"><tspan
class="TextParagraph"
font-size="635px"
font-weight="400"
id="tspan3419"
style="font-size:635px;font-weight:400;fill:#ffffff;font-family:'Liberation Sans, sans-serif'"><tspan
class="TextPosition"
x="3228"
y="10021"
id="tspan3421"
style="fill:#ffffff"><tspan
id="tspan3423"
style="fill:#ffffff;stroke:none" /></tspan></tspan></text>
</g></g><g
class="com.sun.star.drawing.PolyPolygonShape"
id="g3425"
transform="translate(0,2427.1101)"
style="fill:#d40000"><g
id="id5"
style="fill:#d40000"><path
d="m 17400,4800 -2600,0 -1800,3100 -1900,-3100 -2600,0 3000,5000 -3100,5000 2500,0 2100,-3300 2000,3300 2600,0 -3200,-5000 3000,-5000 z"
id="path3428"
inkscape:connector-curvature="0"
style="fill:#d40000;stroke:none" /><path
d="m 17400,4800 -2600,0 -1800,3100 -1900,-3100 -2600,0 3000,5000 -3100,5000 2500,0 2100,-3300 2000,3300 2600,0 -3200,-5000 3000,-5000 z"
id="path3430"
inkscape:connector-curvature="0"
style="fill:#d40000;stroke:#336633" /></g></g><g
id="g3445"
class="com.sun.star.drawing.TextShape"
transform="translate(-169.33334,2144.8881)"><g
id="id7"><text
style="line-height:125%"
id="text3448"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3450"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3452"
y="3521"
x="1391"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">O</tspan></tspan></text>
</g></g><g
id="g3456"
class="com.sun.star.drawing.TextShape"
transform="translate(-508.00004,2144.8881)"><g
id="id8"><text
style="line-height:125%"
id="text3459"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3461"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3463"
y="3521"
x="6282"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">P</tspan></tspan></text>
</g></g><g
id="g3467"
class="com.sun.star.drawing.TextShape"
transform="translate(-846.66674,2144.8881)"><g
id="id9"><text
style="line-height:125%"
id="text3470"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3472"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3474"
y="3586"
x="10696"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">E</tspan></tspan></text>
</g></g><g
id="g3478"
class="com.sun.star.drawing.TextShape"
transform="translate(-1241.7777,2144.8881)"><g
id="id10"><text
style="line-height:125%"
id="text3481"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3483"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3485"
y="3586"
x="14950"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">N</tspan></tspan></text>
</g></g></g></svg>

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1,239 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:ooo="http://xml.openoffice.org/svg/export"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.2"
width="190mm"
height="190mm"
viewBox="0 0 19000 19000"
preserveAspectRatio="xMidYMid"
fill-rule="evenodd"
clip-path="url(#presentation_clip_path)"
stroke-width="28.222"
stroke-linejoin="round"
xml:space="preserve"
id="svg3347"
inkscape:version="0.48.4 r9939"
sodipodi:docname="opentx_logo_red_1.svg"><metadata
id="metadata3491"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1398"
inkscape:window-height="1000"
id="namedview3489"
showgrid="false"
inkscape:zoom="0.20481287"
inkscape:cx="-309.136"
inkscape:cy="109.10152"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g3399" /><defs
class="ClipPathGroup"
id="defs3349"><clipPath
id="presentation_clip_path"
clipPathUnits="userSpaceOnUse"><rect
x="0"
y="0"
width="19000"
height="19000"
id="rect3352" /></clipPath></defs><defs
class="TextShapeIndex"
id="defs3354"><g
ooo:slide="id1"
ooo:id-list="id3 id4 id5 id6 id7 id8 id9 id10"
id="g3356" /></defs><defs
class="EmbeddedBulletChars"
id="defs3358"><g
id="bullet-char-template(57356)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"
id="path3361" /></g><g
id="bullet-char-template(57354)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"
id="path3364" /></g><g
id="bullet-char-template(10146)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"
id="path3367" /></g><g
id="bullet-char-template(10132)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"
id="path3370" /></g><g
id="bullet-char-template(10007)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"
id="path3373" /></g><g
id="bullet-char-template(10004)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"
id="path3376" /></g><g
id="bullet-char-template(9679)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"
id="path3379" /></g><g
id="bullet-char-template(8226)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"
id="path3382" /></g><g
id="bullet-char-template(8211)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"
id="path3385" /></g></defs><defs
class="TextEmbeddedBitmaps"
id="defs3387" /><g
id="g3389"><g
id="id2"
class="Master_Slide"><g
id="bg-id2"
class="Background" /><g
id="bo-id2"
class="BackgroundObjects" /></g></g><g
id="g3399"
class="Page"><g
class="com.sun.star.drawing.CustomShape"
id="g3403"><g
id="id3"><path
d="M 9500,19000 0,19000 0,0 l 19000,0 0,19000 -9500,0 z"
id="path3406"
inkscape:connector-curvature="0"
style="fill:#000000;stroke:none" /><path
d="M 9500,19000 0,19000 0,0 l 19000,0 0,19000 -9500,0 z"
id="path3408"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000" /></g></g><g
class="com.sun.star.drawing.PolyPolygonShape"
id="g3410"
transform="translate(0,2427.1101)"
style="fill:#ffffff"><g
id="id4"
style="fill:#ffffff"><path
d="m 1500,4800 6300,0 0,2000 -2000,0 0,8000 -2300,0 0,-8000 -2000,0 0,-800 0,-1200 z"
id="path3413"
inkscape:connector-curvature="0"
style="fill:#ffffff;stroke:none" /><path
d="m 1500,4800 6300,0 0,2000 -2000,0 0,8000 -2300,0 0,-8000 -2000,0 0,-800 0,-1200 z"
id="path3415"
inkscape:connector-curvature="0"
style="fill:#ffffff;stroke:#ffffff" /><text
class="TextShape"
id="text3417"
style="fill:#ffffff"><tspan
class="TextParagraph"
font-size="635px"
font-weight="400"
id="tspan3419"
style="font-size:635px;font-weight:400;fill:#ffffff;font-family:'Liberation Sans, sans-serif'"><tspan
class="TextPosition"
x="3228"
y="10021"
id="tspan3421"
style="fill:#ffffff"><tspan
id="tspan3423"
style="fill:#ffffff;stroke:none" /></tspan></tspan></text>
</g></g><g
class="com.sun.star.drawing.PolyPolygonShape"
id="g3425"
transform="translate(0,2427.1101)"
style="fill:#ff0066"><g
id="id5"
style="fill:#ff0066"><path
d="m 17400,4800 -2600,0 -1800,3100 -1900,-3100 -2600,0 3000,5000 -3100,5000 2500,0 2100,-3300 2000,3300 2600,0 -3200,-5000 3000,-5000 z"
id="path3428"
inkscape:connector-curvature="0"
style="fill:#ff0066;stroke:none" /><path
d="m 17400,4800 -2600,0 -1800,3100 -1900,-3100 -2600,0 3000,5000 -3100,5000 2500,0 2100,-3300 2000,3300 2600,0 -3200,-5000 3000,-5000 z"
id="path3430"
inkscape:connector-curvature="0"
style="fill:#ff0066;stroke:#336633" /></g></g><g
id="g3445"
class="com.sun.star.drawing.TextShape"
transform="translate(-169.33334,2144.8881)"><g
id="id7"><text
style="line-height:125%"
id="text3448"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3450"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3452"
y="3521"
x="1391"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">O</tspan></tspan></text>
</g></g><g
id="g3456"
class="com.sun.star.drawing.TextShape"
transform="translate(-508.00004,2144.8881)"><g
id="id8"><text
style="line-height:125%"
id="text3459"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3461"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3463"
y="3521"
x="6282"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">P</tspan></tspan></text>
</g></g><g
id="g3467"
class="com.sun.star.drawing.TextShape"
transform="translate(-846.66674,2144.8881)"><g
id="id9"><text
style="line-height:125%"
id="text3470"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3472"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3474"
y="3586"
x="10696"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">E</tspan></tspan></text>
</g></g><g
id="g3478"
class="com.sun.star.drawing.TextShape"
transform="translate(-1241.7777,2144.8881)"><g
id="id10"><text
style="line-height:125%"
id="text3481"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3483"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3485"
y="3586"
x="14950"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">N</tspan></tspan></text>
</g></g></g></svg>

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1,239 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:ooo="http://xml.openoffice.org/svg/export"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.2"
width="190mm"
height="190mm"
viewBox="0 0 19000 19000"
preserveAspectRatio="xMidYMid"
fill-rule="evenodd"
clip-path="url(#presentation_clip_path)"
stroke-width="28.222"
stroke-linejoin="round"
xml:space="preserve"
id="svg3347"
inkscape:version="0.48.4 r9939"
sodipodi:docname="opentx_logo_red_2.svg"><metadata
id="metadata3491"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1398"
inkscape:window-height="1000"
id="namedview3489"
showgrid="false"
inkscape:zoom="0.20481287"
inkscape:cx="-309.136"
inkscape:cy="109.10152"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g3399" /><defs
class="ClipPathGroup"
id="defs3349"><clipPath
id="presentation_clip_path"
clipPathUnits="userSpaceOnUse"><rect
x="0"
y="0"
width="19000"
height="19000"
id="rect3352" /></clipPath></defs><defs
class="TextShapeIndex"
id="defs3354"><g
ooo:slide="id1"
ooo:id-list="id3 id4 id5 id6 id7 id8 id9 id10"
id="g3356" /></defs><defs
class="EmbeddedBulletChars"
id="defs3358"><g
id="bullet-char-template(57356)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"
id="path3361" /></g><g
id="bullet-char-template(57354)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"
id="path3364" /></g><g
id="bullet-char-template(10146)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"
id="path3367" /></g><g
id="bullet-char-template(10132)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"
id="path3370" /></g><g
id="bullet-char-template(10007)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"
id="path3373" /></g><g
id="bullet-char-template(10004)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"
id="path3376" /></g><g
id="bullet-char-template(9679)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"
id="path3379" /></g><g
id="bullet-char-template(8226)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"
id="path3382" /></g><g
id="bullet-char-template(8211)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"
id="path3385" /></g></defs><defs
class="TextEmbeddedBitmaps"
id="defs3387" /><g
id="g3389"><g
id="id2"
class="Master_Slide"><g
id="bg-id2"
class="Background" /><g
id="bo-id2"
class="BackgroundObjects" /></g></g><g
id="g3399"
class="Page"><g
class="com.sun.star.drawing.CustomShape"
id="g3403"><g
id="id3"><path
d="M 9500,19000 0,19000 0,0 l 19000,0 0,19000 -9500,0 z"
id="path3406"
inkscape:connector-curvature="0"
style="fill:#000000;stroke:none" /><path
d="M 9500,19000 0,19000 0,0 l 19000,0 0,19000 -9500,0 z"
id="path3408"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000" /></g></g><g
class="com.sun.star.drawing.PolyPolygonShape"
id="g3410"
transform="translate(0,2427.1101)"
style="fill:#ffffff"><g
id="id4"
style="fill:#ffffff"><path
d="m 1500,4800 6300,0 0,2000 -2000,0 0,8000 -2300,0 0,-8000 -2000,0 0,-800 0,-1200 z"
id="path3413"
inkscape:connector-curvature="0"
style="fill:#ffffff;stroke:none" /><path
d="m 1500,4800 6300,0 0,2000 -2000,0 0,8000 -2300,0 0,-8000 -2000,0 0,-800 0,-1200 z"
id="path3415"
inkscape:connector-curvature="0"
style="fill:#ffffff;stroke:#ffffff" /><text
class="TextShape"
id="text3417"
style="fill:#ffffff"><tspan
class="TextParagraph"
font-size="635px"
font-weight="400"
id="tspan3419"
style="font-size:635px;font-weight:400;fill:#ffffff;font-family:'Liberation Sans, sans-serif'"><tspan
class="TextPosition"
x="3228"
y="10021"
id="tspan3421"
style="fill:#ffffff"><tspan
id="tspan3423"
style="fill:#ffffff;stroke:none" /></tspan></tspan></text>
</g></g><g
class="com.sun.star.drawing.PolyPolygonShape"
id="g3425"
transform="translate(0,2427.1101)"
style="fill:#ff6600"><g
id="id5"
style="fill:#ff6600"><path
d="m 17400,4800 -2600,0 -1800,3100 -1900,-3100 -2600,0 3000,5000 -3100,5000 2500,0 2100,-3300 2000,3300 2600,0 -3200,-5000 3000,-5000 z"
id="path3428"
inkscape:connector-curvature="0"
style="fill:#ff6600;stroke:none" /><path
d="m 17400,4800 -2600,0 -1800,3100 -1900,-3100 -2600,0 3000,5000 -3100,5000 2500,0 2100,-3300 2000,3300 2600,0 -3200,-5000 3000,-5000 z"
id="path3430"
inkscape:connector-curvature="0"
style="fill:#ff6600;stroke:#336633" /></g></g><g
id="g3445"
class="com.sun.star.drawing.TextShape"
transform="translate(-169.33334,2144.8881)"><g
id="id7"><text
style="line-height:125%"
id="text3448"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3450"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3452"
y="3521"
x="1391"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">O</tspan></tspan></text>
</g></g><g
id="g3456"
class="com.sun.star.drawing.TextShape"
transform="translate(-508.00004,2144.8881)"><g
id="id8"><text
style="line-height:125%"
id="text3459"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3461"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3463"
y="3521"
x="6282"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">P</tspan></tspan></text>
</g></g><g
id="g3467"
class="com.sun.star.drawing.TextShape"
transform="translate(-846.66674,2144.8881)"><g
id="id9"><text
style="line-height:125%"
id="text3470"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3472"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3474"
y="3586"
x="10696"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">E</tspan></tspan></text>
</g></g><g
id="g3478"
class="com.sun.star.drawing.TextShape"
transform="translate(-1241.7777,2144.8881)"><g
id="id10"><text
style="line-height:125%"
id="text3481"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3483"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3485"
y="3586"
x="14950"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">N</tspan></tspan></text>
</g></g></g></svg>

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1,239 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:ooo="http://xml.openoffice.org/svg/export"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.2"
width="190mm"
height="190mm"
viewBox="0 0 19000 19000"
preserveAspectRatio="xMidYMid"
fill-rule="evenodd"
clip-path="url(#presentation_clip_path)"
stroke-width="28.222"
stroke-linejoin="round"
xml:space="preserve"
id="svg3347"
inkscape:version="0.48.4 r9939"
sodipodi:docname="opentx_logo_red_3.svg"><metadata
id="metadata3491"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1398"
inkscape:window-height="1000"
id="namedview3489"
showgrid="false"
inkscape:zoom="0.20481287"
inkscape:cx="-309.136"
inkscape:cy="109.10152"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g3399" /><defs
class="ClipPathGroup"
id="defs3349"><clipPath
id="presentation_clip_path"
clipPathUnits="userSpaceOnUse"><rect
x="0"
y="0"
width="19000"
height="19000"
id="rect3352" /></clipPath></defs><defs
class="TextShapeIndex"
id="defs3354"><g
ooo:slide="id1"
ooo:id-list="id3 id4 id5 id6 id7 id8 id9 id10"
id="g3356" /></defs><defs
class="EmbeddedBulletChars"
id="defs3358"><g
id="bullet-char-template(57356)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"
id="path3361" /></g><g
id="bullet-char-template(57354)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"
id="path3364" /></g><g
id="bullet-char-template(10146)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"
id="path3367" /></g><g
id="bullet-char-template(10132)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"
id="path3370" /></g><g
id="bullet-char-template(10007)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"
id="path3373" /></g><g
id="bullet-char-template(10004)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"
id="path3376" /></g><g
id="bullet-char-template(9679)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"
id="path3379" /></g><g
id="bullet-char-template(8226)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"
id="path3382" /></g><g
id="bullet-char-template(8211)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"
id="path3385" /></g></defs><defs
class="TextEmbeddedBitmaps"
id="defs3387" /><g
id="g3389"><g
id="id2"
class="Master_Slide"><g
id="bg-id2"
class="Background" /><g
id="bo-id2"
class="BackgroundObjects" /></g></g><g
id="g3399"
class="Page"><g
class="com.sun.star.drawing.CustomShape"
id="g3403"><g
id="id3"><path
d="M 9500,19000 0,19000 0,0 l 19000,0 0,19000 -9500,0 z"
id="path3406"
inkscape:connector-curvature="0"
style="fill:#000000;stroke:none" /><path
d="M 9500,19000 0,19000 0,0 l 19000,0 0,19000 -9500,0 z"
id="path3408"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000" /></g></g><g
class="com.sun.star.drawing.PolyPolygonShape"
id="g3410"
transform="translate(0,2427.1101)"
style="fill:#ffffff"><g
id="id4"
style="fill:#ffffff"><path
d="m 1500,4800 6300,0 0,2000 -2000,0 0,8000 -2300,0 0,-8000 -2000,0 0,-800 0,-1200 z"
id="path3413"
inkscape:connector-curvature="0"
style="fill:#ffffff;stroke:none" /><path
d="m 1500,4800 6300,0 0,2000 -2000,0 0,8000 -2300,0 0,-8000 -2000,0 0,-800 0,-1200 z"
id="path3415"
inkscape:connector-curvature="0"
style="fill:#ffffff;stroke:#ffffff" /><text
class="TextShape"
id="text3417"
style="fill:#ffffff"><tspan
class="TextParagraph"
font-size="635px"
font-weight="400"
id="tspan3419"
style="font-size:635px;font-weight:400;fill:#ffffff;font-family:'Liberation Sans, sans-serif'"><tspan
class="TextPosition"
x="3228"
y="10021"
id="tspan3421"
style="fill:#ffffff"><tspan
id="tspan3423"
style="fill:#ffffff;stroke:none" /></tspan></tspan></text>
</g></g><g
class="com.sun.star.drawing.PolyPolygonShape"
id="g3425"
transform="translate(0,2427.1101)"
style="fill:#cc0033"><g
id="id5"
style="fill:#cc0033"><path
d="m 17400,4800 -2600,0 -1800,3100 -1900,-3100 -2600,0 3000,5000 -3100,5000 2500,0 2100,-3300 2000,3300 2600,0 -3200,-5000 3000,-5000 z"
id="path3428"
inkscape:connector-curvature="0"
style="fill:#cc0033;stroke:none" /><path
d="m 17400,4800 -2600,0 -1800,3100 -1900,-3100 -2600,0 3000,5000 -3100,5000 2500,0 2100,-3300 2000,3300 2600,0 -3200,-5000 3000,-5000 z"
id="path3430"
inkscape:connector-curvature="0"
style="fill:#cc0033;stroke:#336633" /></g></g><g
id="g3445"
class="com.sun.star.drawing.TextShape"
transform="translate(-169.33334,2144.8881)"><g
id="id7"><text
style="line-height:125%"
id="text3448"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3450"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3452"
y="3521"
x="1391"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">O</tspan></tspan></text>
</g></g><g
id="g3456"
class="com.sun.star.drawing.TextShape"
transform="translate(-508.00004,2144.8881)"><g
id="id8"><text
style="line-height:125%"
id="text3459"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3461"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3463"
y="3521"
x="6282"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">P</tspan></tspan></text>
</g></g><g
id="g3467"
class="com.sun.star.drawing.TextShape"
transform="translate(-846.66674,2144.8881)"><g
id="id9"><text
style="line-height:125%"
id="text3470"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3472"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3474"
y="3586"
x="10696"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">E</tspan></tspan></text>
</g></g><g
id="g3478"
class="com.sun.star.drawing.TextShape"
transform="translate(-1241.7777,2144.8881)"><g
id="id10"><text
style="line-height:125%"
id="text3481"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3483"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3485"
y="3586"
x="14950"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">N</tspan></tspan></text>
</g></g></g></svg>

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1,239 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:ooo="http://xml.openoffice.org/svg/export"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.2"
width="190mm"
height="190mm"
viewBox="0 0 19000 19000"
preserveAspectRatio="xMidYMid"
fill-rule="evenodd"
clip-path="url(#presentation_clip_path)"
stroke-width="28.222"
stroke-linejoin="round"
xml:space="preserve"
id="svg3347"
inkscape:version="0.48.4 r9939"
sodipodi:docname="opentx_logo_red_4.svg"><metadata
id="metadata3491"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1398"
inkscape:window-height="1000"
id="namedview3489"
showgrid="false"
inkscape:zoom="0.20481287"
inkscape:cx="-309.136"
inkscape:cy="109.10152"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g3399" /><defs
class="ClipPathGroup"
id="defs3349"><clipPath
id="presentation_clip_path"
clipPathUnits="userSpaceOnUse"><rect
x="0"
y="0"
width="19000"
height="19000"
id="rect3352" /></clipPath></defs><defs
class="TextShapeIndex"
id="defs3354"><g
ooo:slide="id1"
ooo:id-list="id3 id4 id5 id6 id7 id8 id9 id10"
id="g3356" /></defs><defs
class="EmbeddedBulletChars"
id="defs3358"><g
id="bullet-char-template(57356)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"
id="path3361" /></g><g
id="bullet-char-template(57354)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"
id="path3364" /></g><g
id="bullet-char-template(10146)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"
id="path3367" /></g><g
id="bullet-char-template(10132)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"
id="path3370" /></g><g
id="bullet-char-template(10007)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"
id="path3373" /></g><g
id="bullet-char-template(10004)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"
id="path3376" /></g><g
id="bullet-char-template(9679)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"
id="path3379" /></g><g
id="bullet-char-template(8226)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"
id="path3382" /></g><g
id="bullet-char-template(8211)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"
id="path3385" /></g></defs><defs
class="TextEmbeddedBitmaps"
id="defs3387" /><g
id="g3389"><g
id="id2"
class="Master_Slide"><g
id="bg-id2"
class="Background" /><g
id="bo-id2"
class="BackgroundObjects" /></g></g><g
id="g3399"
class="Page"><g
class="com.sun.star.drawing.CustomShape"
id="g3403"><g
id="id3"><path
d="M 9500,19000 0,19000 0,0 l 19000,0 0,19000 -9500,0 z"
id="path3406"
inkscape:connector-curvature="0"
style="fill:#000000;stroke:none" /><path
d="M 9500,19000 0,19000 0,0 l 19000,0 0,19000 -9500,0 z"
id="path3408"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000" /></g></g><g
class="com.sun.star.drawing.PolyPolygonShape"
id="g3410"
transform="translate(0,2427.1101)"
style="fill:#ffffff"><g
id="id4"
style="fill:#ffffff"><path
d="m 1500,4800 6300,0 0,2000 -2000,0 0,8000 -2300,0 0,-8000 -2000,0 0,-800 0,-1200 z"
id="path3413"
inkscape:connector-curvature="0"
style="fill:#ffffff;stroke:none" /><path
d="m 1500,4800 6300,0 0,2000 -2000,0 0,8000 -2300,0 0,-8000 -2000,0 0,-800 0,-1200 z"
id="path3415"
inkscape:connector-curvature="0"
style="fill:#ffffff;stroke:#ffffff" /><text
class="TextShape"
id="text3417"
style="fill:#ffffff"><tspan
class="TextParagraph"
font-size="635px"
font-weight="400"
id="tspan3419"
style="font-size:635px;font-weight:400;fill:#ffffff;font-family:'Liberation Sans, sans-serif'"><tspan
class="TextPosition"
x="3228"
y="10021"
id="tspan3421"
style="fill:#ffffff"><tspan
id="tspan3423"
style="fill:#ffffff;stroke:none" /></tspan></tspan></text>
</g></g><g
class="com.sun.star.drawing.PolyPolygonShape"
id="g3425"
transform="translate(0,2427.1101)"
style="fill:#ff6600"><g
id="id5"
style="fill:#ff6600"><path
d="m 17400,4800 -2600,0 -1800,3100 -1900,-3100 -2600,0 3000,5000 -3100,5000 2500,0 2100,-3300 2000,3300 2600,0 -3200,-5000 3000,-5000 z"
id="path3428"
inkscape:connector-curvature="0"
style="fill:#ff6600;stroke:none" /><path
d="m 17400,4800 -2600,0 -1800,3100 -1900,-3100 -2600,0 3000,5000 -3100,5000 2500,0 2100,-3300 2000,3300 2600,0 -3200,-5000 3000,-5000 z"
id="path3430"
inkscape:connector-curvature="0"
style="fill:#ff6600;stroke:#336633" /></g></g><g
id="g3445"
class="com.sun.star.drawing.TextShape"
transform="translate(-169.33334,2144.8881)"><g
id="id7"><text
style="line-height:125%"
id="text3448"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3450"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3452"
y="3521"
x="1391"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">O</tspan></tspan></text>
</g></g><g
id="g3456"
class="com.sun.star.drawing.TextShape"
transform="translate(-508.00004,2144.8881)"><g
id="id8"><text
style="line-height:125%"
id="text3459"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3461"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3463"
y="3521"
x="6282"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">P</tspan></tspan></text>
</g></g><g
id="g3467"
class="com.sun.star.drawing.TextShape"
transform="translate(-846.66674,2144.8881)"><g
id="id9"><text
style="line-height:125%"
id="text3470"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3472"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3474"
y="3586"
x="10696"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">E</tspan></tspan></text>
</g></g><g
id="g3478"
class="com.sun.star.drawing.TextShape"
transform="translate(-1241.7777,2144.8881)"><g
id="id10"><text
style="line-height:125%"
id="text3481"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3483"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3485"
y="3586"
x="14950"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">N</tspan></tspan></text>
</g></g></g></svg>

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1,239 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:ooo="http://xml.openoffice.org/svg/export"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.2"
width="190mm"
height="190mm"
viewBox="0 0 19000 19000"
preserveAspectRatio="xMidYMid"
fill-rule="evenodd"
clip-path="url(#presentation_clip_path)"
stroke-width="28.222"
stroke-linejoin="round"
xml:space="preserve"
id="svg3347"
inkscape:version="0.48.4 r9939"
sodipodi:docname="opentx_logo_red_5.svg"><metadata
id="metadata3491"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1398"
inkscape:window-height="1000"
id="namedview3489"
showgrid="false"
inkscape:zoom="0.20481287"
inkscape:cx="-309.136"
inkscape:cy="109.10152"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g3399" /><defs
class="ClipPathGroup"
id="defs3349"><clipPath
id="presentation_clip_path"
clipPathUnits="userSpaceOnUse"><rect
x="0"
y="0"
width="19000"
height="19000"
id="rect3352" /></clipPath></defs><defs
class="TextShapeIndex"
id="defs3354"><g
ooo:slide="id1"
ooo:id-list="id3 id4 id5 id6 id7 id8 id9 id10"
id="g3356" /></defs><defs
class="EmbeddedBulletChars"
id="defs3358"><g
id="bullet-char-template(57356)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"
id="path3361" /></g><g
id="bullet-char-template(57354)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"
id="path3364" /></g><g
id="bullet-char-template(10146)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"
id="path3367" /></g><g
id="bullet-char-template(10132)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"
id="path3370" /></g><g
id="bullet-char-template(10007)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"
id="path3373" /></g><g
id="bullet-char-template(10004)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"
id="path3376" /></g><g
id="bullet-char-template(9679)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"
id="path3379" /></g><g
id="bullet-char-template(8226)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"
id="path3382" /></g><g
id="bullet-char-template(8211)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"
id="path3385" /></g></defs><defs
class="TextEmbeddedBitmaps"
id="defs3387" /><g
id="g3389"><g
id="id2"
class="Master_Slide"><g
id="bg-id2"
class="Background" /><g
id="bo-id2"
class="BackgroundObjects" /></g></g><g
id="g3399"
class="Page"><g
class="com.sun.star.drawing.CustomShape"
id="g3403"><g
id="id3"><path
d="M 9500,19000 0,19000 0,0 l 19000,0 0,19000 -9500,0 z"
id="path3406"
inkscape:connector-curvature="0"
style="fill:#000000;stroke:none" /><path
d="M 9500,19000 0,19000 0,0 l 19000,0 0,19000 -9500,0 z"
id="path3408"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000" /></g></g><g
class="com.sun.star.drawing.PolyPolygonShape"
id="g3410"
transform="translate(0,2427.1101)"
style="fill:#ffffff"><g
id="id4"
style="fill:#ffffff"><path
d="m 1500,4800 6300,0 0,2000 -2000,0 0,8000 -2300,0 0,-8000 -2000,0 0,-800 0,-1200 z"
id="path3413"
inkscape:connector-curvature="0"
style="fill:#ffffff;stroke:none" /><path
d="m 1500,4800 6300,0 0,2000 -2000,0 0,8000 -2300,0 0,-8000 -2000,0 0,-800 0,-1200 z"
id="path3415"
inkscape:connector-curvature="0"
style="fill:#ffffff;stroke:#ffffff" /><text
class="TextShape"
id="text3417"
style="fill:#ffffff"><tspan
class="TextParagraph"
font-size="635px"
font-weight="400"
id="tspan3419"
style="font-size:635px;font-weight:400;fill:#ffffff;font-family:'Liberation Sans, sans-serif'"><tspan
class="TextPosition"
x="3228"
y="10021"
id="tspan3421"
style="fill:#ffffff"><tspan
id="tspan3423"
style="fill:#ffffff;stroke:none" /></tspan></tspan></text>
</g></g><g
class="com.sun.star.drawing.PolyPolygonShape"
id="g3425"
transform="translate(0,2427.1101)"
style="fill:#ff7f2a"><g
id="id5"
style="fill:#ff7f2a"><path
d="m 17400,4800 -2600,0 -1800,3100 -1900,-3100 -2600,0 3000,5000 -3100,5000 2500,0 2100,-3300 2000,3300 2600,0 -3200,-5000 3000,-5000 z"
id="path3428"
inkscape:connector-curvature="0"
style="fill:#ff7f2a;stroke:none" /><path
d="m 17400,4800 -2600,0 -1800,3100 -1900,-3100 -2600,0 3000,5000 -3100,5000 2500,0 2100,-3300 2000,3300 2600,0 -3200,-5000 3000,-5000 z"
id="path3430"
inkscape:connector-curvature="0"
style="fill:#ff7f2a;stroke:#336633" /></g></g><g
id="g3445"
class="com.sun.star.drawing.TextShape"
transform="translate(-169.33334,2144.8881)"><g
id="id7"><text
style="line-height:125%"
id="text3448"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3450"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3452"
y="3521"
x="1391"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">O</tspan></tspan></text>
</g></g><g
id="g3456"
class="com.sun.star.drawing.TextShape"
transform="translate(-508.00004,2144.8881)"><g
id="id8"><text
style="line-height:125%"
id="text3459"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3461"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3463"
y="3521"
x="6282"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">P</tspan></tspan></text>
</g></g><g
id="g3467"
class="com.sun.star.drawing.TextShape"
transform="translate(-846.66674,2144.8881)"><g
id="id9"><text
style="line-height:125%"
id="text3470"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3472"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3474"
y="3586"
x="10696"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">E</tspan></tspan></text>
</g></g><g
id="g3478"
class="com.sun.star.drawing.TextShape"
transform="translate(-1241.7777,2144.8881)"><g
id="id10"><text
style="line-height:125%"
id="text3481"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3483"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3485"
y="3586"
x="14950"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">N</tspan></tspan></text>
</g></g></g></svg>

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1,239 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:ooo="http://xml.openoffice.org/svg/export"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.2"
width="190mm"
height="190mm"
viewBox="0 0 19000 19000"
preserveAspectRatio="xMidYMid"
fill-rule="evenodd"
clip-path="url(#presentation_clip_path)"
stroke-width="28.222"
stroke-linejoin="round"
xml:space="preserve"
id="svg3347"
inkscape:version="0.48.4 r9939"
sodipodi:docname="opentx_logo_red_6.svg"><metadata
id="metadata3491"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1398"
inkscape:window-height="1000"
id="namedview3489"
showgrid="false"
inkscape:zoom="0.20481287"
inkscape:cx="-309.136"
inkscape:cy="109.10152"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g3399" /><defs
class="ClipPathGroup"
id="defs3349"><clipPath
id="presentation_clip_path"
clipPathUnits="userSpaceOnUse"><rect
x="0"
y="0"
width="19000"
height="19000"
id="rect3352" /></clipPath></defs><defs
class="TextShapeIndex"
id="defs3354"><g
ooo:slide="id1"
ooo:id-list="id3 id4 id5 id6 id7 id8 id9 id10"
id="g3356" /></defs><defs
class="EmbeddedBulletChars"
id="defs3358"><g
id="bullet-char-template(57356)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"
id="path3361" /></g><g
id="bullet-char-template(57354)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"
id="path3364" /></g><g
id="bullet-char-template(10146)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"
id="path3367" /></g><g
id="bullet-char-template(10132)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"
id="path3370" /></g><g
id="bullet-char-template(10007)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"
id="path3373" /></g><g
id="bullet-char-template(10004)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"
id="path3376" /></g><g
id="bullet-char-template(9679)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"
id="path3379" /></g><g
id="bullet-char-template(8226)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"
id="path3382" /></g><g
id="bullet-char-template(8211)"
transform="scale(0.00048828125,-0.00048828125)"><path
d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"
id="path3385" /></g></defs><defs
class="TextEmbeddedBitmaps"
id="defs3387" /><g
id="g3389"><g
id="id2"
class="Master_Slide"><g
id="bg-id2"
class="Background" /><g
id="bo-id2"
class="BackgroundObjects" /></g></g><g
id="g3399"
class="Page"><g
class="com.sun.star.drawing.CustomShape"
id="g3403"><g
id="id3"><path
d="M 9500,19000 0,19000 0,0 l 19000,0 0,19000 -9500,0 z"
id="path3406"
inkscape:connector-curvature="0"
style="fill:#000000;stroke:none" /><path
d="M 9500,19000 0,19000 0,0 l 19000,0 0,19000 -9500,0 z"
id="path3408"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000" /></g></g><g
class="com.sun.star.drawing.PolyPolygonShape"
id="g3410"
transform="translate(0,2427.1101)"
style="fill:#ffffff"><g
id="id4"
style="fill:#ffffff"><path
d="m 1500,4800 6300,0 0,2000 -2000,0 0,8000 -2300,0 0,-8000 -2000,0 0,-800 0,-1200 z"
id="path3413"
inkscape:connector-curvature="0"
style="fill:#ffffff;stroke:none" /><path
d="m 1500,4800 6300,0 0,2000 -2000,0 0,8000 -2300,0 0,-8000 -2000,0 0,-800 0,-1200 z"
id="path3415"
inkscape:connector-curvature="0"
style="fill:#ffffff;stroke:#ffffff" /><text
class="TextShape"
id="text3417"
style="fill:#ffffff"><tspan
class="TextParagraph"
font-size="635px"
font-weight="400"
id="tspan3419"
style="font-size:635px;font-weight:400;fill:#ffffff;font-family:'Liberation Sans, sans-serif'"><tspan
class="TextPosition"
x="3228"
y="10021"
id="tspan3421"
style="fill:#ffffff"><tspan
id="tspan3423"
style="fill:#ffffff;stroke:none" /></tspan></tspan></text>
</g></g><g
class="com.sun.star.drawing.PolyPolygonShape"
id="g3425"
transform="translate(0,2427.1101)"
style="fill:#ff0000"><g
id="id5"
style="fill:#ff0000"><path
d="m 17400,4800 -2600,0 -1800,3100 -1900,-3100 -2600,0 3000,5000 -3100,5000 2500,0 2100,-3300 2000,3300 2600,0 -3200,-5000 3000,-5000 z"
id="path3428"
inkscape:connector-curvature="0"
style="fill:#ff0000;stroke:none" /><path
d="m 17400,4800 -2600,0 -1800,3100 -1900,-3100 -2600,0 3000,5000 -3100,5000 2500,0 2100,-3300 2000,3300 2600,0 -3200,-5000 3000,-5000 z"
id="path3430"
inkscape:connector-curvature="0"
style="fill:#ff0000;stroke:#336633" /></g></g><g
id="g3445"
class="com.sun.star.drawing.TextShape"
transform="translate(-169.33334,2144.8881)"><g
id="id7"><text
style="line-height:125%"
id="text3448"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3450"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3452"
y="3521"
x="1391"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">O</tspan></tspan></text>
</g></g><g
id="g3456"
class="com.sun.star.drawing.TextShape"
transform="translate(-508.00004,2144.8881)"><g
id="id8"><text
style="line-height:125%"
id="text3459"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3461"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3463"
y="3521"
x="6282"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">P</tspan></tspan></text>
</g></g><g
id="g3467"
class="com.sun.star.drawing.TextShape"
transform="translate(-846.66674,2144.8881)"><g
id="id9"><text
style="line-height:125%"
id="text3470"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3472"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3474"
y="3586"
x="10696"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">E</tspan></tspan></text>
</g></g><g
id="g3478"
class="com.sun.star.drawing.TextShape"
transform="translate(-1241.7777,2144.8881)"><g
id="id10"><text
style="line-height:125%"
id="text3481"
class="TextShape"
sodipodi:linespacing="125%"><tspan
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Bold"
id="tspan3483"
font-weight="700"
font-size="3104px"
class="TextParagraph"><tspan
id="tspan3485"
y="3586"
x="14950"
class="TextPosition"
style="font-size:5080px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold">N</tspan></tspan></text>
</g></g></g></svg>

After

Width:  |  Height:  |  Size: 12 KiB

+1 -1
View File
@@ -130,7 +130,7 @@ void joystickDialog::on_okButton_clicked() {
return;
}
joystick->close();
QSettings settings("companion", "companion");
QSettings settings;
settings.beginGroup("JsCalibration");
for (int i=0; i<8;i++) {
settings.remove(QString("stick%1_axe").arg(i));
+1 -1
View File
@@ -58,7 +58,7 @@ class lcdWidget : public QWidget {
QPixmap buffer(2*lcdWidth, 2*lcdHeight);
QPainter p(&buffer);
doPaint(p);
QSettings settings("companion", "companion");
QSettings settings;
bool toclipboard=settings.value("snapshot_to_clipboard", false).toBool();
QApplication::clipboard()->setPixmap( buffer );
if (!toclipboard) {
+18 -11
View File
@@ -38,7 +38,7 @@ logsDialog::logsDialog(QWidget *parent) :
ui->customPlot->legend->setSelectedFont(legendFont);
ui->customPlot->legend->setSelectable(QCPLegend::spItems); // legend box shall not be selectable, only legend items
ui->customPlot->legend->setVisible(false);
QSettings settings("companion", "companion");
QSettings settings;
QString Path=settings.value("gePath", "").toString();
if (Path.isEmpty() || !QFile(Path).exists()) {
ui->mapsButton->hide();
@@ -202,7 +202,7 @@ void logsDialog::on_mapsButton_clicked() {
,F_F,F_F,F_F,F_F,I_F,I_F,I_F,I_F\
,I_F,I_F,I_F,I_F,I_F,I_F,I_F,I_F,I_F,I_F,I_F,I_F};
QSettings settings("companion", "companion");
QSettings settings;
QString gePath=settings.value("gePath", "").toString();
if (gePath.isEmpty() || !QFile(gePath).exists()) {
ui->FieldsTW->setDisabled(false);
@@ -262,8 +262,8 @@ void logsDialog::on_mapsButton_clicked() {
QTextStream outputStream(&geFile);
outputStream << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<kml xmlns=\"http://www.opengis.net/kml/2.2\" xmlns:gx=\"http://www.google.com/kml/ext/2.2\">\n";
outputStream << "\t<Document>\n\t\t<name>" << logFilename << "</name>\n";
outputStream << "\t\t<Style id=\"multiTrack_n\">\n\t\t\t<IconStyle>\n\t\t\t\t<Icon>\n\t\t\t\t\t<href>./track0.png</href>\n\t\t\t\t</Icon>\n\t\t\t</IconStyle>\n\t\t\t<LineStyle>\n\t\t\t\t<color>991081f4</color>\n\t\t\t\t<width>6</width>\n\t\t\t</LineStyle>\n\t\t</Style>\n";
outputStream << "\t\t<Style id=\"multiTrack_h\">\n\t\t\t<IconStyle>\n\t\t\t\t<scale>1.2</scale>\n\t\t\t\t<Icon>\n\t\t\t\t\t<href>./track0.png</href>\n\t\t\t\t</Icon>\n\t\t\t</IconStyle>\n\t\t\t<LineStyle>\n\t\t\t\t<color>991081f4</color>\n\t\t\t\t<width>8</width>\n\t\t\t</LineStyle>\n\t\t</Style>\n";
outputStream << "\t\t<Style id=\"multiTrack_n\">\n\t\t\t<IconStyle>\n\t\t\t\t<Icon>\n\t\t\t\t\t<href>file://" << QDir::tempPath() << "/track0.png</href>\n\t\t\t\t</Icon>\n\t\t\t</IconStyle>\n\t\t\t<LineStyle>\n\t\t\t\t<color>991081f4</color>\n\t\t\t\t<width>6</width>\n\t\t\t</LineStyle>\n\t\t</Style>\n";
outputStream << "\t\t<Style id=\"multiTrack_h\">\n\t\t\t<IconStyle>\n\t\t\t\t<scale>0</scale>\n\t\t\t\t<Icon>\n\t\t\t\t\t<href>file://" << QDir::tempPath() << "/track0.png</href>\n\t\t\t\t</Icon>\n\t\t\t</IconStyle>\n\t\t\t<LineStyle>\n\t\t\t\t<color>991081f4</color>\n\t\t\t\t<width>8</width>\n\t\t\t</LineStyle>\n\t\t</Style>\n";
outputStream << "\t\t<StyleMap id=\"multiTrack\">\n\t\t\t<Pair>\n\t\t\t\t<key>normal</key>\n\t\t\t\t<styleUrl>#multiTrack_n</styleUrl>\n\t\t\t</Pair>\n\t\t\t<Pair>\n\t\t\t\t<key>highlight</key>\n\t\t\t\t<styleUrl>#multiTrack_h</styleUrl>\n\t\t\t</Pair>\n\t\t</StyleMap>\n";
outputStream << "\t\t<Style id=\"lineStyle\">\n\t\t\t<LineStyle>\n\t\t\t\t<color>991081f4</color>\n\t\t\t\t<width>6</width>\n\t\t\t</LineStyle>\n\t\t</Style>\n";
outputStream << "\t\t<Schema id=\"schema\">\n";
@@ -295,10 +295,13 @@ void logsDialog::on_mapsButton_clicked() {
} else {
planeName=logFilename;
}
outputStream << "\t\t<Folder>\n\t\t\t<name>Log Data</name>\n\t\t\t<Placemark>\n\t\t\t\t<name>" << planeName << "</name>\n\t\t\t\t<styleUrl>#multiTrack</styleUrl>\n\t\t\t\t<gx:Track>\n";
outputStream << "\t\t<Folder>\n\t\t\t<name>Log Data</name>\n\t\t\t<Placemark>\n\t\t\t\t<name>" << planeName << "</name>";
outputStream << "\n\t\t\t\t<styleUrl>#multiTrack</styleUrl>";
outputStream << "\n\t\t\t\t<gx:Track>\n";
outputStream << "\n\t\t\t\t\t<altitudeMode>absolute</altitudeMode>\n";
for (int i=1; i<n; i++) {
if ((ui->logTable->item(i-1,1)->isSelected() &&rangeSelected) || !rangeSelected) {
QString tstamp=csvlog.at(i).at(0)+QString("T")+csvlog.at(i).at(1);
QString tstamp=csvlog.at(i).at(0)+QString("T")+csvlog.at(i).at(1)+QString("Z");
outputStream << "\t\t\t\t\t<when>"<< tstamp <<"</when>\n";
}
}
@@ -319,7 +322,7 @@ void logsDialog::on_mapsButton_clicked() {
}
latitude.sprintf("%3.8f", flatitude);
longitude.sprintf("%3.8f", flongitude);
outputStream << "\t\t\t\t\t<gx:coord>" << longitude << " " << latitude << " " << csvlog.at(i).at(altcol) << "</gx:coord>\n" ;
outputStream << "\t\t\t\t\t<gx:coord>" << longitude << " " << latitude << " " << csvlog.at(i).at(altcol).toFloat() << " </gx:coord>\n" ;
}
}
outputStream << "\t\t\t\t\t<ExtendedData>\n\t\t\t\t\t\t<SchemaData schemaUrl=\"#schema\">\n";
@@ -341,10 +344,14 @@ void logsDialog::on_mapsButton_clicked() {
outputStream << "\t\t\t\t\t\t\t</gx:SimpleArrayData>\n";
}
}
outputStream << "\t\t\t\t\t\t</SchemaData>\t\t\t\t\t</ExtendedData>\n\t\t\t\t</gx:Track>\n\t\t\t</Placemark>\n\t\t</Folder>\n\t</Document>\n</kml>";
outputStream << "\t\t\t\t\t\t</SchemaData>\n\t\t\t\t\t</ExtendedData>\n\t\t\t\t</gx:Track>\n\t\t\t</Placemark>\n\t\t</Folder>\n\t</Document>\n</kml>";
geFile.close();
QStringList parameters;
QStringList parameters;
#ifdef __APPLE__
gePath = "/usr/bin/open";
parameters << "-a";
parameters << "Google\ Earth";
#endif
parameters << geFilename;
QProcess *process = new QProcess(this);
process->start(gePath, parameters);
@@ -578,7 +585,7 @@ void logsDialog::moveLegend()
void logsDialog::on_fileOpen_BT_clicked()
{
QSettings settings("companion", "companion");
QSettings settings;
QString fileName = QFileDialog::getOpenFileName(this,tr("Select your log file"), settings.value("lastLogDir").toString());
if (!fileName.isEmpty()) {
settings.setValue("lastLogDir", fileName);
+55 -52
View File
@@ -76,66 +76,69 @@ class MyProxyStyle : public QProxyStyle
int main(int argc, char *argv[])
{
// Start by borrowing any left over settings from companion9x
QSettings c9x_settings("companion9x", "companion9x");
QSettings com_settings("companion", "companion");
if (!com_settings.contains("pos")) {
QStringList keys = c9x_settings.allKeys();
for( QStringList::iterator i = keys.begin(); i != keys.end(); i++ )
{
com_settings.setValue( *i, c9x_settings.value( *i ) );
}
}
QCoreApplication::setOrganizationName("OpenTX");
QCoreApplication::setOrganizationDomain("open-tx.org");
QCoreApplication::setApplicationName("Companion");
Q_INIT_RESOURCE(companion);
QApplication app(argc, argv);
app.setApplicationName("OpenTX Companion");
// Start by borrowing any left over settings from companion9x
QSettings c9x_settings("companion9x", "companion9x");
QSettings settings;
if (!settings.contains("pos")) {
QStringList keys = c9x_settings.allKeys();
for (QStringList::iterator i=keys.begin(); i!=keys.end(); i++) {
settings.setValue(*i, c9x_settings.value(*i));
}
}
Q_INIT_RESOURCE(companion);
QApplication app(argc, argv);
app.setApplicationName("OpenTX Companion");
#ifdef __APPLE__
app.setStyle(new MyProxyStyle);
app.setStyle(new MyProxyStyle);
#endif
QString dir;
if(argc) dir = QFileInfo(argv[0]).canonicalPath() + "/lang";
QSettings settings("companion", "companion");
QString locale = settings.value("locale",QLocale::system().name()).toString();
bool showSplash = settings.value("show_splash", true).toBool();
QString dir;
if (argc) dir = QFileInfo(argv[0]).canonicalPath() + "/lang";
QTranslator companionTranslator;
companionTranslator.load(":/companion_" + locale);
QTranslator qtTranslator;
qtTranslator.load((QString)"qt_" + locale.left(2), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
// qDebug() << locale;
// qtTranslator.load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
app.installTranslator(&companionTranslator);
app.installTranslator(&qtTranslator);
QString locale = settings.value("locale",QLocale::system().name()).toString();
bool showSplash = settings.value("show_splash", true).toBool();
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTranslator companionTranslator;
companionTranslator.load(":/companion_" + locale);
QTranslator qtTranslator;
qtTranslator.load((QString)"qt_" + locale.left(2), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
app.installTranslator(&companionTranslator);
app.installTranslator(&qtTranslator);
QString firmware_id = settings.value("firmware", default_firmware_variant.id).toString();
firmware_id.replace("open9x", "opentx");
firmware_id.replace("x9da", "taranis");
QPixmap pixmap;
if (firmware_id.contains("taranis"))
pixmap = QPixmap(":/images/splasht.png");
else
pixmap = QPixmap(":/images/splash.png");
QSplashScreen *splash = new QSplashScreen(pixmap);
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
RegisterFirmwares();
QString firmware_id = settings.value("firmware", default_firmware_variant.id).toString();
firmware_id.replace("open9x", "opentx");
firmware_id.replace("x9da", "taranis");
settings.setValue("firmware", firmware_id);
current_firmware_variant = GetFirmwareVariant(firmware_id);
// qDebug() << current_firmware_variant;
QPixmap pixmap = QPixmap(firmware_id.contains("taranis") ? ":/images/splasht.png" : ":/images/splash.png");
QSplashScreen *splash = new QSplashScreen(pixmap);
MainWindow mainWin;
if (showSplash) {
splash->show();
QTimer::singleShot(1000*SPLASH_TIME, splash, SLOT(close()));
QTimer::singleShot(1000*SPLASH_TIME, &mainWin, SLOT(show()));
}
else {
mainWin.show();
}
return app.exec();
RegisterFirmwares();
settings.setValue("firmware", firmware_id);
current_firmware_variant = GetFirmwareVariant(firmware_id);
MainWindow *mainWin = new MainWindow();
if (showSplash) {
splash->show();
QTimer::singleShot(1000*SPLASH_TIME, splash, SLOT(close()));
QTimer::singleShot(1000*SPLASH_TIME, mainWin, SLOT(show()));
}
else {
mainWin->show();
}
int result = app.exec();
delete splash;
delete mainWin;
return result;
}
+144 -224
View File
@@ -62,28 +62,26 @@
#include "helpers.h"
#include "firmwares/opentx/opentxinterface.h" // TODO get rid of this include
#define DONATE_STR "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QUZ48K4SEXDP2"
#define DONATE_STR "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QUZ48K4SEXDP2"
#ifdef __APPLE__
#define C9X_STAMP "http://companion9x.googlecode.com/svn/trunk/companion9x-macosx.stamp"
#define C9X_INSTALLER "/Companion9xMacUpdate.%1.pkg.zip"
#define C9X_URL "http://companion9x.googlecode.com/files/Companion9xMacUpdate.%1.pkg.zip"
#define C9X_STAMP OPENTX_COMPANION_DOWNLOADS "/companion-macosx.stamp"
#define C9X_INSTALLER "/CompanionMacUpdate.%1.pkg.zip"
#else
#define C9X_STAMP "http://companion9x.googlecode.com/svn/trunk/companion9x.stamp"
#define C9X_INSTALLER "/companion9xInstall_v%1.exe"
#define C9X_URL "http://companion9x.googlecode.com/files/companion9xInstall_v%1.exe"
#define C9X_STAMP OPENTX_COMPANION_DOWNLOADS "/companion-windows.stamp"
#define C9X_INSTALLER "/companionInstall_%1.exe"
#endif
#if defined WIN32 || !defined __GNUC__
#include <windows.h>
#define sleep(x) Sleep(x*1000)
#include <windows.h>
#define sleep(x) Sleep(x*1000)
#else
#include <unistd.h>
#include "mountlist.h"
#include <unistd.h>
#include "mountlist.h"
#endif
MainWindow::MainWindow():
downloadDialog_forWait(NULL)
downloadDialog_forWait(NULL)
{
mdiArea = new QMdiArea;
mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
@@ -96,7 +94,7 @@ downloadDialog_forWait(NULL)
this, SLOT(setActiveSubWindow(QWidget*)));
MaxRecentFiles=MAX_RECENT;
QSettings settings("companion", "companion");
QSettings settings;
int icon_size=settings.value("icon_size", 1).toInt();
switch (icon_size) {
case 0:
@@ -138,8 +136,9 @@ downloadDialog_forWait(NULL)
// give time to the splash to disappear and main window to open before starting updates
int updateDelay = 1000;
bool showSplash = settings.value("show_splash", true).toBool();
if (showSplash)
updateDelay += (SPLASH_TIME*1000);
if (showSplash) {
updateDelay += (SPLASH_TIME*1000);
}
QTimer::singleShot(updateDelay, this, SLOT(doAutoUpdates()));
QTimer::singleShot(updateDelay, this, SLOT(displayWarnings()));
@@ -189,7 +188,7 @@ downloadDialog_forWait(NULL)
void MainWindow::displayWarnings()
{
QSettings settings("companion", "companion");
QSettings settings;
int warnId=settings.value("warningId", 0 ).toInt();
if (warnId<WARNING_ID && warnId!=0) {
int res=0;
@@ -223,7 +222,7 @@ void MainWindow::checkForUpdates(bool ignoreSettings, QString & fwId)
showcheckForUpdatesResult = ignoreSettings;
check1done = true;
check2done = true;
QSettings settings("companion", "companion");
QSettings settings;
fwToUpdate = fwId;
QString stamp = GetFirmware(fwToUpdate)->stamp;
@@ -289,7 +288,7 @@ void MainWindow::checkForUpdateFinished(QNetworkReply * reply)
"Would you like to download it?").arg(version) ,
QMessageBox::Yes | QMessageBox::No);
QSettings settings("companion", "companion");
QSettings settings;
if (ret == QMessageBox::Yes) {
#if defined __APPLE__
@@ -299,14 +298,14 @@ void MainWindow::checkForUpdateFinished(QNetworkReply * reply)
#endif
if (!fileName.isEmpty()) {
settings.setValue("lastUpdatesDir", QFileInfo(fileName).dir().absolutePath());
downloadDialog * dd = new downloadDialog(this, QString(C9X_URL).arg(version), fileName);
downloadDialog * dd = new downloadDialog(this, QString(OPENTX_COMPANION_DOWNLOADS C9X_INSTALLER).arg(version), fileName);
installer_fileName = fileName;
connect(dd, SIGNAL(accepted()), this, SLOT(updateDownloaded()));
dd->show();
}
}
#else
QMessageBox::warning(this, tr("New release available"), tr("A new release of Companion is available please check the repository"));
QMessageBox::warning(this, tr("New release available"), tr("A new release of Companion is available please check the OpenTX website!"));
#endif
} else {
if (showcheckForUpdatesResult && check1done && check2done)
@@ -331,7 +330,7 @@ void MainWindow::updateDownloaded()
void MainWindow::downloadLatestFW(FirmwareInfo * firmware, const QString & firmwareId)
{
QString url, ext, cpuid;
QSettings settings("companion", "companion");
QSettings settings;
url = firmware->getUrl(firmwareId);
cpuid=settings.value("cpuid","").toString();
ext = url.mid(url.lastIndexOf("."));
@@ -354,7 +353,7 @@ void MainWindow::downloadLatestFW(FirmwareInfo * firmware, const QString & firmw
void MainWindow::reply1Accepted()
{
QString errormsg;
QSettings settings("companion", "companion");
QSettings settings;
bool autoflash=settings.value("burnFirmware", true).toBool();
bool addversion=settings.value("rename_firmware_files", false).toBool();
settings.beginGroup("FwRevisions");
@@ -478,7 +477,7 @@ void MainWindow::reply1Finished(QNetworkReply * reply)
// TODO delete downloadDialog_forWait?
}
QSettings settings("companion", "companion");
QSettings settings;
cpuid=settings.value("cpuid","").toString();
QByteArray qba = reply->readAll();
int i = qba.indexOf("SVN_VERS");
@@ -630,13 +629,14 @@ void MainWindow::reply1Finished(QNetworkReply * reply)
void MainWindow::closeEvent(QCloseEvent *event)
{
QSettings settings("companion", "companion");
QSettings settings;
settings.setValue("mainWindowGeometry", saveGeometry());
settings.setValue("mainWindowState", saveState());
mdiArea->closeAllSubWindows();
if (mdiArea->currentSubWindow()) {
event->ignore();
} else {
}
else {
event->accept();
}
}
@@ -650,7 +650,7 @@ void MainWindow::newFile()
void MainWindow::openFile()
{
QSettings settings("companion", "companion");
QSettings settings;
QString fileName = QFileDialog::getOpenFileName(this, tr("Open"), settings.value("lastDir").toString(),tr(EEPROM_FILES_FILTER));
if (!fileName.isEmpty()) {
settings.setValue("lastDir", QFileInfo(fileName).dir().absolutePath());
@@ -683,7 +683,7 @@ void MainWindow::saveAs()
void MainWindow::openRecentFile()
{
QSettings settings("companion", "companion");
QSettings settings;
QAction *action = qobject_cast<QAction *>(sender());
if (action) {
QString fileName=action->data().toString();
@@ -705,14 +705,14 @@ void MainWindow::openRecentFile()
void MainWindow::loadProfile()
{
QSettings settings("companion", "companion");
QSettings settings;
QAction *action = qobject_cast<QAction *>(sender());
int chord,defmod, burnfw;
bool renfw;
if (action) {
int profnum=action->data().toInt();
QSettings settings("companion", "companion");
QSettings settings;
settings.setValue("ActiveProfile",profnum);
settings.beginGroup("Profiles");
QString profile=QString("profile%1").arg(profnum);
@@ -757,8 +757,8 @@ void MainWindow::unloadProfile()
{
ActiveProfile=0;
ActiveProfileName="";
QSettings settings("companion", "companion");
settings.setValue("ActiveProfile",0);
QSettings settings;
settings.setValue("ActiveProfile", 0);
FirmwareInfo *firmware = GetCurrentFirmware();
setWindowTitle(tr("Companion - Models and Settings Editor - %1").arg(firmware->name));
}
@@ -770,7 +770,8 @@ void MainWindow::preferences()
FirmwareInfo *firmware = GetCurrentFirmware();
if (ActiveProfile) {
setWindowTitle(tr("Companion - Models and Settings Editor - %1 - profile %2").arg(firmware->name).arg(ActiveProfileName));
} else {
}
else {
setWindowTitle(tr("Companion - Models and Settings Editor - %1").arg(firmware->name));
}
@@ -1080,21 +1081,17 @@ void MainWindow::burnFrom()
QStringList str;
str << path << tempFile;
avrOutputDialog *ad = new avrOutputDialog(this,"", str, tr("Read Models and Settings From Tx")); //, AVR_DIALOG_KEEP_OPEN);
QIcon icon;
populate_icon(&icon,"read_eeprom.png");
ad->setWindowIcon(icon);
ad->setWindowIcon(CompanionIcon("read_eeprom.png"));
res = ad->exec();
sleep(1);
}
} else {
QStringList str = GetReceiveEEpromCommand(tempFile);
avrOutputDialog *ad = new avrOutputDialog(this, GetAvrdudeLocation(), str, tr("Read Models and Settings From Tx")); //, AVR_DIALOG_KEEP_OPEN);
QIcon icon;
populate_icon(&icon,"read_eeprom.png");
ad->setWindowIcon(icon);
ad->setWindowIcon(CompanionIcon("read_eeprom.png"));
res = ad->exec();
}
if(QFileInfo(tempFile).exists() && res) {
if (QFileInfo(tempFile).exists() && res) {
MdiChild *child = createMdiChild();
child->newFile();
child->loadFile(tempFile, false);
@@ -1104,7 +1101,7 @@ void MainWindow::burnFrom()
void MainWindow::burnExtenalToEEPROM()
{
QSettings settings("companion", "companion");
QSettings settings;
QString fileName;
bool backup = false;
burnDialog *cd = new burnDialog(this, 1, &fileName, &backup);
@@ -1141,18 +1138,14 @@ void MainWindow::burnExtenalToEEPROM()
QStringList str;
str << path << backupFile;
avrOutputDialog *ad = new avrOutputDialog(this,"", str, tr("Backup Models and Settings From Tx")); //, AVR_DIALOG_KEEP_OPEN);
QIcon icon;
populate_icon(&icon,"read_eeprom.png");
ad->setWindowIcon(icon);
ad->setWindowIcon(CompanionIcon("read_eeprom.png"));
ad->exec();
sleep(1);
}
} else {
QStringList str = GetReceiveEEpromCommand(backupFile);
avrOutputDialog *ad = new avrOutputDialog(this, GetAvrdudeLocation(), str, tr("Backup Models and Settings From Tx"));
QIcon icon;
populate_icon(&icon,"read_eeprom.png");
ad->setWindowIcon(icon);
ad->setWindowIcon(CompanionIcon("read_eeprom.png"));
ad->exec();
sleep(1);
}
@@ -1162,9 +1155,7 @@ void MainWindow::burnExtenalToEEPROM()
QString tempFlash = tempDir + "/flash.bin";
QStringList str = GetReceiveFlashCommand(tempFlash);
avrOutputDialog *ad = new avrOutputDialog(this, GetAvrdudeLocation(), str, "Read Firmware From Tx");
QIcon icon;
populate_icon(&icon,"read_flash.png");
ad->setWindowIcon(icon);
ad->setWindowIcon(CompanionIcon("read_flash.png"));
ad->exec();
sleep(1);
QString restoreFile = tempDir + "/compat.bin";
@@ -1177,7 +1168,8 @@ void MainWindow::burnExtenalToEEPROM()
int rev = getEpromVersion(restoreFile);
if ((rev / 100) != (oldrev / 100)) {
QMessageBox::warning(this, tr("Warning"), tr("The transmitter firmware belongs to another product family, check file and preferences!"));
} else if (rev < oldrev) {
}
else if (rev < oldrev) {
QMessageBox::warning(this, tr("Warning"), tr("The transmitter firmware is outdated, please upgrade!"));
}
fileName = restoreFile;
@@ -1197,19 +1189,18 @@ void MainWindow::burnExtenalToEEPROM()
QStringList str;
str << path << backupFile;
avrOutputDialog *ad = new avrOutputDialog(this,"", str, tr("Backup Models and Settings From Tx")); //, AVR_DIALOG_KEEP_OPEN);
QIcon icon;
populate_icon(&icon,"read_eeprom.png");
ad->setWindowIcon(icon);
ad->setWindowIcon(CompanionIcon("read_eeprom.png"));
ad->exec();
delete ad;
sleep(1);
}
} else {
}
else {
QStringList str = ((MainWindow *)this->parent())->GetReceiveEEpromCommand(backupFile);
avrOutputDialog *ad = new avrOutputDialog(this, ((MainWindow *)this->parent())->GetAvrdudeLocation(), str, tr("Backup Models and Settings From Tx"));
QIcon icon;
populate_icon(&icon,"read_eeprom.png");
ad->setWindowIcon(icon);
ad->setWindowIcon(CompanionIcon("read_eeprom.png"));
ad->exec();
delete ad;
sleep(1);
}
}
@@ -1219,23 +1210,23 @@ void MainWindow::burnExtenalToEEPROM()
if (path.isEmpty()) {
QMessageBox::warning(this, tr("Taranis radio not found"), tr("Impossible to identify the radio on your system, please verify the eeprom disk is connected."));
return;
} else {
}
else {
QStringList str;
str << fileName << path;
avrOutputDialog *ad = new avrOutputDialog(this,"", str, tr("Write Models and Settings To Tx")); //, AVR_DIALOG_KEEP_OPEN);
QIcon icon;
populate_icon(&icon,"read_eeprom.png");
ad->setWindowIcon(icon);
ad->setWindowIcon(CompanionIcon("read_eeprom.png"));
ad->exec();
delete ad;
sleep(1);
}
} else {
}
else {
QStringList str = GetSendEEpromCommand(fileName);
avrOutputDialog *ad = new avrOutputDialog(this, GetAvrdudeLocation(), str, "Write Models and Settings To Tx", AVR_DIALOG_SHOW_DONE);
QIcon icon;
populate_icon(&icon,"write_eeprom.png");
ad->setWindowIcon(icon);
ad->setWindowIcon(CompanionIcon("write_eeprom.png"));
ad->exec();
delete ad;
}
}
}
@@ -1327,7 +1318,8 @@ bool MainWindow::convertEEPROM(QString backupFile, QString restoreFile, QString
} else {
version = fwBuild.toInt(); // TODO changer le nom de la variable
}
} else {
}
else {
version = ((Open9xFirmware *)firmware)->getEepromVersion(revision);
}
}
@@ -1344,11 +1336,8 @@ bool MainWindow::convertEEPROM(QString backupFile, QString restoreFile, QString
long result = file.read((char*)eeprom, eeprom_size);
file.close();
RadioData radioData;
if (!LoadEeprom(radioData, eeprom, eeprom_size))
return false;
if (!firmware->saveEEPROM(eeprom, radioData, variant, version))
QSharedPointer<RadioData> radioData = QSharedPointer<RadioData>(new RadioData());
if (!LoadEeprom(*radioData, eeprom, eeprom_size) || !firmware->saveEEPROM(eeprom, *radioData, variant, version))
return false;
QFile file2(restoreFile);
@@ -1366,7 +1355,7 @@ bool MainWindow::convertEEPROM(QString backupFile, QString restoreFile, QString
void MainWindow::burnToFlash(QString fileToFlash)
{
QSettings settings("companion", "companion");
QSettings settings;
QString fileName;
bool backup = settings.value("backupOnFlash", false).toBool();
if(!fileToFlash.isEmpty())
@@ -1399,18 +1388,17 @@ void MainWindow::burnToFlash(QString fileToFlash)
}
QStringList str = GetReceiveEEpromCommand(backupFile);
avrOutputDialog *ad = new avrOutputDialog(this, GetAvrdudeLocation(), str, tr("Backup Models and Settings From Tx"), AVR_DIALOG_CLOSE_IF_SUCCESSFUL);
QIcon icon;
populate_icon(&icon,"read_eeprom.png");
ad->setWindowIcon(icon);
ad->setWindowIcon(CompanionIcon("read_eeprom.png"));
int res = ad->exec();
delete ad;
if (QFileInfo(backupFile).exists() && res) {
sleep(1);
QStringList str = GetSendFlashCommand(fileName);
avrOutputDialog *ad = new avrOutputDialog(this, GetAvrdudeLocation(), str, tr("Write Firmware To Tx"), AVR_DIALOG_CLOSE_IF_SUCCESSFUL);
QIcon iconw;
populate_icon(&iconw,"write_eeprom.png");
CompanionIcon iconw("write_eeprom.png");
ad->setWindowIcon(iconw);
int res = ad->exec();
delete ad;
if (res) {
QString restoreFile = tempDir + "/restore.bin";
if (!convertEEPROM(backupFile, restoreFile, fileName)) {
@@ -1421,17 +1409,21 @@ void MainWindow::burnToFlash(QString fileToFlash)
QStringList str = GetSendEEpromCommand(restoreFile);
avrOutputDialog *ad = new avrOutputDialog(this, GetAvrdudeLocation(), str, tr("Restore Models and Settings To Tx"), AVR_DIALOG_CLOSE_IF_SUCCESSFUL);
ad->setWindowIcon(iconw);
res=ad->exec();
res = ad->exec();
delete ad;
if (!res) {
QMessageBox::warning(this, tr("Restore failed"), tr("Could not restore Models and Settings to TX. The models and settings data file can be found at: %1").arg(backupFile));
}
} else {
}
else {
QMessageBox::warning(this, tr("Firmware write failed"), tr("Could not write firmware to to transmitter. The models and settings data file can be found at: %1").arg(backupFile));
}
} else {
}
else {
QMessageBox::warning(this, tr("Backup failed"), tr("Cannot backup existing Models and Settings from TX. Firmware write process aborted"));
}
} else {
}
else {
bool backupEnable=settings.value("backupEnable", true).toBool();
QString backupPath=settings.value("backupPath", "").toString();
if (!QDir(backupPath).exists()) {
@@ -1445,26 +1437,24 @@ void MainWindow::burnToFlash(QString fileToFlash)
QString backupFile=backupPath+"/backup-"+QDateTime().currentDateTime().toString("yyyy-MM-dd-hhmmss")+".bin";
QStringList str = GetReceiveEEpromCommand(backupFile);
avrOutputDialog *ad = new avrOutputDialog(this, GetAvrdudeLocation(), str, tr("Backup Models and Settings From Tx"));
QIcon icon;
populate_icon(&icon,"read_eeprom.png");
ad->setWindowIcon(icon);
ad->setWindowIcon(CompanionIcon("read_eeprom.png"));
ad->exec();
delete ad;
sleep(1);
}
QStringList str = GetSendFlashCommand(fileName);
avrOutputDialog *ad = new avrOutputDialog(this, GetAvrdudeLocation(), str, tr("Write Firmware To Tx"), AVR_DIALOG_SHOW_DONE);
QIcon iconw;
populate_icon(&iconw,"write_flash.png");
ad->setWindowIcon(iconw);
ad->setWindowIcon(CompanionIcon("write_flash.png"));
ad->exec();
delete ad;
}
}
}
void MainWindow::burnExtenalFromEEPROM()
{
QSettings settings("companion", "companion");
QSettings settings;
QString fileName = QFileDialog::getSaveFileName(this, tr("Save transmitter Models and Settings to File"), settings.value("lastDir").toString(), tr(EXTERNAL_EEPROM_FILES_FILTER));
if (!fileName.isEmpty()) {
EEPROMInterface *eepromInterface = GetEepromInterface();
@@ -1473,30 +1463,30 @@ void MainWindow::burnExtenalFromEEPROM()
if (path.isEmpty()) {
QMessageBox::warning(this, tr("Taranis radio not found"), tr("Impossible to identify the radio on your system, please verify that the eeprom disk is connected."));
return;
} else {
}
else {
QStringList str;
str << path << fileName;
avrOutputDialog *ad = new avrOutputDialog(this,"", str, tr("Read Models and Settings From Tx")); //, AVR_DIALOG_KEEP_OPEN);
QIcon icon;
populate_icon(&icon,"read_eeprom.png");
ad->setWindowIcon(icon);
ad->setWindowIcon(CompanionIcon("read_eeprom.png"));
ad->exec();
delete ad;
}
} else {
}
else {
settings.setValue("lastDir", QFileInfo(fileName).dir().absolutePath());
QStringList str = GetReceiveEEpromCommand(fileName);
avrOutputDialog *ad = new avrOutputDialog(this, GetAvrdudeLocation(), str, tr("Read Models and Settings From Tx"));
QIcon icon;
populate_icon(&icon,"read_eeprom.png");
ad->setWindowIcon(icon);
ad->setWindowIcon(CompanionIcon("read_eeprom.png"));
ad->exec();
delete ad;
}
}
}
void MainWindow::burnFromFlash()
{
QSettings settings("companion", "companion");
QSettings settings;
QString fileName = QFileDialog::getSaveFileName(this,tr("Read Tx Firmware to File"), settings.value("lastFlashDir").toString(),tr(FLASH_FILES_FILTER));
if (!fileName.isEmpty()) {
QFile file(fileName);
@@ -1506,12 +1496,10 @@ void MainWindow::burnFromFlash()
settings.setValue("lastFlashDir",QFileInfo(fileName).dir().absolutePath());
QStringList str = GetReceiveFlashCommand(fileName);
avrOutputDialog *ad = new avrOutputDialog(this, GetAvrdudeLocation(), str, "Read Firmware From Tx");
QIcon icon;
populate_icon(&icon,"read_flash.png");
ad->setWindowIcon(icon);
ad->setWindowIcon(CompanionIcon("read_flash.png"));
ad->exec();
delete ad;
}
}
void MainWindow::burnConfig()
@@ -1546,16 +1534,17 @@ void MainWindow::logFile()
void MainWindow::about()
{
QString aboutStr = "<center><img src=\":/images/companion-title.png\"></center><br>";
aboutStr.append("OpenTX Home Page: <a href='http://opentx.github.io'>http://open-tx.org</a><br><br>");
aboutStr.append(tr("The Companion project was originally forked from eePe")+QString(" <a href='http://code.google.com/p/eepe'>http://code.google.com/p/eepe</a><br/><br/>"));
aboutStr.append(tr("If you've found this program useful, please support by"));
aboutStr.append(" <a href='" DONATE_STR "'>");
aboutStr.append(tr("donating") + "</a><br><br>");
aboutStr.append(tr("Version %1 (revision %2), %3").arg(C9X_VERSION).arg(C9X_REVISION).arg(__DATE__)+QString("<br/><br/>"));
aboutStr.append(tr("Copyright") +" Bertrand Songis & Romolo Manfredini &copy; 2011- 2014<br>");
QMessageBox::about(this, tr("About Companion"),aboutStr);
QString aboutStr = "<center><img src=\":/images/companion-title.png\"></center><br/>";
aboutStr.append(tr("OpenTX Home Page: <a href='%1'>%1</a>").arg("http://www.open-tx.org"));
aboutStr.append("<br/><br/>");
aboutStr.append(tr("The OpenTX Companion project was originally forked from <a href='%2'>eePe</a>").arg("http://code.google.com/p/eepe"));
aboutStr.append("<br/><br/>");
aboutStr.append(tr("If you've found this program useful, please support by <a href='%1'>donating</a>").arg(DONATE_STR));
aboutStr.append("<br/><br/>");
aboutStr.append(tr("Version %1, %3").arg(C9X_VERSION).arg(__DATE__));
aboutStr.append("<br/><br/>");
aboutStr.append(tr("Copyright") + " Bertrand Songis & Romolo Manfredini<br/>&copy; 2011-2014<br/>");
QMessageBox::about(this, tr("About Companion"), aboutStr);
}
void MainWindow::updateMenus()
@@ -1584,7 +1573,7 @@ void MainWindow::updateMenus()
updateRecentFileActions();
updateProfilesActions();
bool notfound=true;
QSettings settings("companion", "companion");
QSettings settings;
settings.beginGroup("Profiles");
for (int i=0; i<MAX_PROFILES; i++) {
QString profile=QString("profile%1").arg(i+1);
@@ -1648,191 +1637,134 @@ MdiChild *MainWindow::createMdiChild()
void MainWindow::createActions()
{
QIcon newActIcon;
populate_icon(&newActIcon,"new.png");
newAct = new QAction(newActIcon, tr("&New"), this);
newAct = new QAction(CompanionIcon("new.png"), tr("&New"), this);
newAct->setShortcuts(QKeySequence::New);
newAct->setStatusTip(tr("Create a new file"));
connect(newAct, SIGNAL(triggered()), this, SLOT(newFile()));
QIcon openActIcon;
populate_icon(&openActIcon,"open.png");
openAct = new QAction(openActIcon, tr("&Open..."), this);
openAct = new QAction(CompanionIcon("open.png"), tr("&Open..."), this);
openAct->setShortcuts(QKeySequence::Open);
openAct->setStatusTip(tr("Open an existing file"));
connect(openAct, SIGNAL(triggered()), this, SLOT(openFile()));
loadbackupAct = new QAction(openActIcon, tr("&loadBackup..."), this);
loadbackupAct = new QAction(CompanionIcon("open.png"), tr("&loadBackup..."), this);
loadbackupAct->setStatusTip(tr("Load backup from file"));
connect(loadbackupAct, SIGNAL(triggered()), this, SLOT(loadBackup()));
QIcon saveActIcon;
populate_icon(&saveActIcon,"save.png");
saveAct = new QAction(saveActIcon, tr("&Save"), this);
saveAct = new QAction(CompanionIcon("save.png"), tr("&Save"), this);
saveAct->setShortcuts(QKeySequence::Save);
saveAct->setStatusTip(tr("Save the document to disk"));
connect(saveAct, SIGNAL(triggered()), this, SLOT(save()));
QIcon saveAsActIcon;
populate_icon(&saveAsActIcon,"saveas.png");
saveAsAct = new QAction(saveAsActIcon, tr("Save &As..."), this);
saveAsAct = new QAction(CompanionIcon("saveas.png"), tr("Save &As..."), this);
saveAsAct->setShortcuts(QKeySequence::SaveAs);
saveAsAct->setStatusTip(tr("Save the document under a new name"));
connect(saveAsAct, SIGNAL(triggered()), this, SLOT(saveAs()));
QIcon logsActIcon;
populate_icon(&logsActIcon,"logs.png");
logsAct = new QAction(logsActIcon, tr("Lo&gs"), this);
logsAct = new QAction(CompanionIcon("logs.png"), tr("Lo&gs"), this);
logsAct->setShortcut(tr("Ctrl+G"));
logsAct->setStatusTip(tr("Open log file"));
connect(logsAct, SIGNAL(triggered()), this, SLOT(logFile()));
QIcon preferencesActIcon;
populate_icon(&preferencesActIcon,"preferences.png");
preferencesAct = new QAction(preferencesActIcon, tr("&Preferences..."), this);
preferencesAct = new QAction(CompanionIcon("preferences.png"), tr("&Preferences..."), this);
preferencesAct->setStatusTip(tr("Edit general preferences"));
connect(preferencesAct, SIGNAL(triggered()), this, SLOT(preferences()));
QIcon checkForUpdatesActIcon;
populate_icon(&checkForUpdatesActIcon,"update.png");
checkForUpdatesAct = new QAction(checkForUpdatesActIcon, tr("&Check for updates..."), this);
checkForUpdatesAct = new QAction(CompanionIcon("update.png"), tr("&Check for updates..."), this);
checkForUpdatesAct->setStatusTip(tr("Check for new version of Companion"));
connect(checkForUpdatesAct, SIGNAL(triggered()), this, SLOT(doUpdates()));
QIcon contributorsActIcon;
populate_icon(&contributorsActIcon,"contributors.png");
contributorsAct = new QAction(contributorsActIcon, tr("Contributors &List..."), this);
contributorsAct = new QAction(CompanionIcon("contributors.png"), tr("Contributors &List..."), this);
contributorsAct->setStatusTip(tr("Show Companion contributors list"));
connect(contributorsAct, SIGNAL(triggered()), this, SLOT(contributors()));
QIcon changelogActIcon;
populate_icon(&changelogActIcon,"changelog.png");
changelogAct = new QAction(changelogActIcon, tr("ChangeLog..."), this);
changelogAct = new QAction(CompanionIcon("changelog.png"), tr("ChangeLog..."), this);
changelogAct->setStatusTip(tr("Show Companion changelog"));
connect(changelogAct, SIGNAL(triggered()), this, SLOT(changelog()));
QIcon fwchangelogActIcon;
populate_icon(&fwchangelogActIcon,"changelog.png");
fwchangelogAct = new QAction(fwchangelogActIcon, tr("Firmware ChangeLog..."), this);
fwchangelogAct = new QAction(CompanionIcon("changelog.png"), tr("Firmware ChangeLog..."), this);
fwchangelogAct->setStatusTip(tr("Show firmware changelog"));
connect(fwchangelogAct, SIGNAL(triggered()), this, SLOT(fwchangelog()));
QIcon compareActIcon;
populate_icon(&compareActIcon,"compare.png");
compareAct = new QAction(compareActIcon, tr("Compare..."), this);
compareAct = new QAction(CompanionIcon("customize.png"), tr("Compare..."), this);
compareAct->setStatusTip(tr("Compare models"));
compareAct->setEnabled(false);
connect(compareAct, SIGNAL(triggered()), this, SLOT(compare()));
QIcon customizeSplashActIcon;
populate_icon(&customizeSplashActIcon,"customize.png");
customizeSplashAct = new QAction(customizeSplashActIcon, tr("Customize your &TX..."), this);
customizeSplashAct = new QAction(CompanionIcon("customize.png"), tr("Customize your &TX..."), this);
customizeSplashAct->setStatusTip(tr("Customize the splash screen of your TX"));
connect(customizeSplashAct, SIGNAL(triggered()), this, SLOT(customizeSplash()));
//! [0]
QIcon exitActIcon;
populate_icon(&exitActIcon,"exit.png");
exitAct = new QAction(exitActIcon, tr("E&xit"), this);
exitAct = new QAction(CompanionIcon("exit.png"), tr("E&xit"), this);
exitAct->setShortcuts(QKeySequence::Quit);
exitAct->setStatusTip(tr("Exit the application"));
connect(exitAct, SIGNAL(triggered()), qApp, SLOT(closeAllWindows()));
//! [0]
QIcon cutActIcon;
populate_icon(&cutActIcon,"cut.png");
cutAct = new QAction(cutActIcon, tr("Cu&t"), this);
cutAct = new QAction(CompanionIcon("cut.png"), tr("Cu&t"), this);
cutAct->setShortcuts(QKeySequence::Cut);
cutAct->setStatusTip(tr("Cut the current selection's contents to the "
"clipboard"));
connect(cutAct, SIGNAL(triggered()), this, SLOT(cut()));
QIcon copyActIcon;
populate_icon(&copyActIcon,"copy.png");
copyAct = new QAction(copyActIcon, tr("&Copy"), this);
copyAct = new QAction(CompanionIcon("copy.png"), tr("&Copy"), this);
copyAct->setShortcuts(QKeySequence::Copy);
copyAct->setStatusTip(tr("Copy the current selection's contents to the "
"clipboard"));
connect(copyAct, SIGNAL(triggered()), this, SLOT(copy()));
QIcon pasteActIcon;
populate_icon(&pasteActIcon,"paste.png");
pasteAct = new QAction(pasteActIcon, tr("&Paste"), this);
pasteAct = new QAction(CompanionIcon("paste.png"), tr("&Paste"), this);
pasteAct->setShortcuts(QKeySequence::Paste);
pasteAct->setStatusTip(tr("Paste the clipboard's contents into the current "
"selection"));
connect(pasteAct, SIGNAL(triggered()), this, SLOT(paste()));
QIcon burnToActIcon;
populate_icon(&burnToActIcon,"write_eeprom.png");
burnToAct = new QAction(burnToActIcon, tr("&Write Models and Settings To Tx"), this);
burnToAct = new QAction(CompanionIcon("write_eeprom.png"), tr("&Write Models and Settings To Tx"), this);
burnToAct->setShortcut(tr("Ctrl+Alt+W"));
burnToAct->setStatusTip(tr("Write Models and Settings to transmitter"));
connect(burnToAct,SIGNAL(triggered()),this,SLOT(burnTo()));
QIcon burnFromActIcon;
populate_icon(&burnFromActIcon,"read_eeprom.png");
burnFromAct = new QAction(burnFromActIcon, tr("&Read Models and Settings From Tx"), this);
burnFromAct = new QAction(CompanionIcon("read_eeprom.png"), tr("&Read Models and Settings From Tx"), this);
burnFromAct->setShortcut(tr("Ctrl+Alt+R"));
burnFromAct->setStatusTip(tr("Read Models and Settings from transmitter"));
connect(burnFromAct,SIGNAL(triggered()),this,SLOT(burnFrom()));
QIcon burnToFlashActIcon;
populate_icon(&burnToFlashActIcon,"write_flash.png");
burnToFlashAct = new QAction(burnToFlashActIcon, tr("Write Firmware"), this);
burnToFlashAct = new QAction(CompanionIcon("write_flash.png"), tr("Write Firmware"), this);
burnToFlashAct->setStatusTip(tr("Write firmware to transmitter"));
connect(burnToFlashAct,SIGNAL(triggered()),this,SLOT(burnToFlash()));
QIcon burnExtenalToEEPROMActIcon;
populate_icon(&burnExtenalToEEPROMActIcon,"write_eeprom_file.png");
burnExtenalToEEPROMAct = new QAction(burnExtenalToEEPROMActIcon, tr("Write Models and Settings from file to Tx"), this);
burnExtenalToEEPROMAct = new QAction(CompanionIcon("write_eeprom_file.png"), tr("Write Models and Settings from file to Tx"), this);
burnExtenalToEEPROMAct->setStatusTip(tr("Write Models and Settings from file to transmitter"));
connect(burnExtenalToEEPROMAct,SIGNAL(triggered()),this,SLOT(burnExtenalToEEPROM()));
QIcon burnExtenalFromEEPROMActIcon;
populate_icon(&burnExtenalFromEEPROMActIcon,"read_eeprom_file.png");
burnExtenalFromEEPROMAct = new QAction(burnExtenalFromEEPROMActIcon, tr("Save transmitter Models and Settings to file"), this);
burnExtenalFromEEPROMAct = new QAction(CompanionIcon("read_eeprom_file.png"), tr("Save transmitter Models and Settings to file"), this);
burnExtenalFromEEPROMAct->setStatusTip(tr("Save the Models and Settings from the transmitter to a file"));
connect(burnExtenalFromEEPROMAct,SIGNAL(triggered()),this,SLOT(burnExtenalFromEEPROM()));
QIcon burnFromFlashActIcon;
populate_icon(&burnFromFlashActIcon,"read_flash.png");
burnFromFlashAct = new QAction(burnFromFlashActIcon, tr("Read Firmware"), this);
burnFromFlashAct = new QAction(CompanionIcon("read_flash.png"), tr("Read Firmware"), this);
burnFromFlashAct->setStatusTip(tr("Read firmware from transmitter"));
connect(burnFromFlashAct,SIGNAL(triggered()),this,SLOT(burnFromFlash()));
QIcon burnConfigActIcon;
populate_icon(&burnConfigActIcon,"configure.png");
burnConfigAct = new QAction(burnConfigActIcon, tr("&Configure..."), this);
burnConfigAct = new QAction(CompanionIcon("configure.png"), tr("&Configure..."), this);
burnConfigAct->setStatusTip(tr("Configure software for reading from and writing to the transmitter"));
connect(burnConfigAct,SIGNAL(triggered()),this,SLOT(burnConfig()));
EEPROMInterface *eepromInterface = GetEepromInterface();
if (!IS_ARM(eepromInterface->getBoard())) {
QIcon burnListActIcon;
populate_icon(&burnListActIcon,"list.png");
burnListAct = new QAction(burnListActIcon, tr("&List programmers"), this);
burnListAct = new QAction(CompanionIcon("list.png"), tr("&List programmers"), this);
burnListAct->setStatusTip(tr("List available programmers"));
connect(burnListAct,SIGNAL(triggered()),this,SLOT(burnList()));
QIcon burnFusesActIcon;
populate_icon(&burnFusesActIcon,"fuses.png");
burnFusesAct = new QAction(burnFusesActIcon, tr("&Fuses..."), this);
burnFusesAct = new QAction(CompanionIcon("fuses.png"), tr("&Fuses..."), this);
burnFusesAct->setStatusTip(tr("Show fuses dialog"));
connect(burnFusesAct,SIGNAL(triggered()),this,SLOT(burnFuses()));
}
QIcon simulateActIcon;
populate_icon(&simulateActIcon,"simulate.png");
simulateAct = new QAction(simulateActIcon, tr("&Simulate"), this);
simulateAct = new QAction(CompanionIcon("simulate.png"), tr("&Simulate"), this);
simulateAct->setShortcut(tr("Alt+S"));
simulateAct->setStatusTip(tr("Simulate selected model."));
simulateAct->setEnabled(false);
connect(simulateAct,SIGNAL(triggered()),this,SLOT(simulate()));
QIcon printActIcon;
populate_icon(&printActIcon,"print.png");
printAct = new QAction(printActIcon, tr("&Print"), this);
printAct = new QAction(CompanionIcon("print.png"), tr("&Print"), this);
printAct->setShortcut(tr("Ctrl+P"));
printAct->setStatusTip(tr("Print current model."));
printAct->setEnabled(false);
@@ -1872,15 +1804,11 @@ void MainWindow::createActions()
separatorAct = new QAction(this);
separatorAct->setSeparator(true);
QIcon aboutActIcon;
populate_icon(&aboutActIcon,"information.png");
aboutAct = new QAction(aboutActIcon, tr("&About"), this);
aboutAct = new QAction(CompanionIcon("information.png"), tr("&About"), this);
aboutAct->setStatusTip(tr("Show the application's About box"));
connect(aboutAct, SIGNAL(triggered()), this, SLOT(about()));
QIcon switchLayoutDirectionActIcon;
populate_icon(&switchLayoutDirectionActIcon,"switch_dir.png");
switchLayoutDirectionAct = new QAction(switchLayoutDirectionActIcon, tr("Switch layout direction"), this);
switchLayoutDirectionAct = new QAction(CompanionIcon("switch_dir.png"), tr("Switch layout direction"), this);
switchLayoutDirectionAct->setStatusTip(tr("Switch layout Left/Right"));
connect(switchLayoutDirectionAct, SIGNAL(triggered()), this, SLOT(switchLayoutDirection()));
for (int i = 0; i < MaxRecentFiles; ++i) {
@@ -1910,10 +1838,8 @@ void MainWindow::createMenus()
fileMenu->addAction(saveAct);
fileMenu->addAction(saveAsAct);
fileMenu->addMenu(recentFileMenu);
QIcon recentFileMenuIcon;
populate_icon(&recentFileMenuIcon,"recentdocument.png");
recentFileMenu->setIcon(recentFileMenuIcon);
for ( int i = 0; i < MaxRecentFiles; ++i)
recentFileMenu->setIcon(CompanionIcon("recentdocument.png"));
for (int i=0; i<MaxRecentFiles; ++i)
recentFileMenu->addAction(recentFileActs[i]);
fileMenu->addSeparator();
fileMenu->addAction(logsAct);
@@ -1925,10 +1851,8 @@ void MainWindow::createMenus()
fileMenu->addAction(preferencesAct);
fileMenu->addMenu(profilesMenu);
QIcon profilesMenuIcon;
populate_icon(&profilesMenuIcon,"profiles.png");
profilesMenu->setIcon(profilesMenuIcon);
for ( int i = 0; i < MAX_PROFILES; ++i)
profilesMenu->setIcon(CompanionIcon("profiles.png"));
for (int i=0; i<MAX_PROFILES; ++i)
profilesMenu->addAction(profileActs[i]);
fileMenu->addAction(switchLayoutDirectionAct);
fileMenu->addAction(exitAct);
@@ -1992,7 +1916,7 @@ QMenu *MainWindow::createProfilesMenu()
void MainWindow::createToolBars()
{
QSettings settings("companion", "companion");
QSettings settings;
int icon_size=settings.value("icon_size",2 ).toInt();
QSize size;
switch(icon_size) {
@@ -2017,9 +1941,7 @@ void MainWindow::createToolBars()
QToolButton * recentToolButton = new QToolButton;
recentToolButton->setPopupMode(QToolButton::InstantPopup);
recentToolButton->setMenu(createRecentFileMenu());
QIcon recentToolButtonIcon;
populate_icon(&recentToolButtonIcon,"recentdocument.png");
recentToolButton->setIcon(recentToolButtonIcon);
recentToolButton->setIcon(CompanionIcon("recentdocument.png"));
recentToolButton->setToolTip(tr("Recent Files"));
fileToolBar->addWidget(recentToolButton);
fileToolBar->addAction(saveAct);
@@ -2029,9 +1951,7 @@ void MainWindow::createToolBars()
profileButton = new QToolButton;
profileButton->setPopupMode(QToolButton::InstantPopup);
profileButton->setMenu(createProfilesMenu());
QIcon profileButtonIcon;
populate_icon(&profileButtonIcon,"profiles.png");
profileButton->setIcon(profileButtonIcon);
profileButton->setIcon(CompanionIcon("profiles.png"));
profileButton->setToolTip(tr("Firmware Profiles"));
fileToolBar->addWidget(profileButton);
bool notfound=true;
@@ -2088,7 +2008,7 @@ void MainWindow::createStatusBar()
void MainWindow::readSettings()
{
QSettings settings("companion", "companion");
QSettings settings;
restoreState(settings.value("mainWindowState").toByteArray());
checkCompanion9x = settings.value("startup_check_companion", true).toBool();
checkFW = settings.value("startup_check_fw", true).toBool();
@@ -2141,7 +2061,7 @@ void MainWindow::setActiveSubWindow(QWidget *window)
void MainWindow::updateRecentFileActions()
{
int i,j, numRecentFiles;
QSettings settings("companion", "companion");
QSettings settings;
QStringList files = settings.value("recentFileList").toStringList();
numRecentFiles = qMin(files.size(), (int)MaxRecentFiles);
@@ -2161,7 +2081,7 @@ void MainWindow::updateRecentFileActions()
void MainWindow::updateProfilesActions()
{
int i;
QSettings settings("companion", "companion");
QSettings settings;
settings.beginGroup("Profiles");
for (i=0; i<MAX_PROFILES; i++) {
QString profile=QString("profile%1").arg(i+1);
@@ -2278,7 +2198,7 @@ void MainWindow::dropEvent(QDropEvent *event)
QString fileName = urls.first().toLocalFile();
if (fileName.isEmpty())
return;
QSettings settings("companion", "companion");
QSettings settings;
settings.setValue("lastDir", QFileInfo(fileName).dir().absolutePath());
QMdiSubWindow *existing = findMdiChild(fileName);
+31 -34
View File
@@ -68,11 +68,8 @@ MdiChild::MdiChild():
isUntitled(true),
fileChanged(false)
{
QIcon SimulateIcon;
populate_icon(&SimulateIcon,"simulate.png");
ui->setupUi(this);
ui->SimulateTxButton->setIcon(SimulateIcon);
ui->SimulateTxButton->setIcon(CompanionIcon("simulate.png"));
setAttribute(Qt::WA_DeleteOnClose);
eepromInterfaceChanged();
@@ -182,7 +179,7 @@ void MdiChild::OpenEditWindow(bool wizard=false)
}
if (isNew && !wizard) {
int ret;
QSettings settings("companion", "companion");
QSettings settings;
bool wizardEnable=settings.value("wizardEnable", true).toBool();
if (wizardEnable) {
ret = QMessageBox::question(this, tr("Companion"), tr("Do you want to use model wizard? "), QMessageBox::Yes | QMessageBox::No);
@@ -349,7 +346,7 @@ bool MdiChild::save()
bool MdiChild::saveAs(bool isNew)
{
QSettings settings("companion", "companion");
QSettings settings;
QString fileName;
if (GetEepromInterface()->getBoard() == BOARD_SKY9X) {
curFile.replace(".eepe", ".bin");
@@ -493,7 +490,7 @@ void MdiChild::setCurrentFile(const QString &fileName)
fileChanged = false;
setWindowModified(false);
updateTitle();
QSettings settings("companion", "companion");
QSettings settings;
int MaxRecentFiles =settings.value("history_size",10).toInt();
QStringList files = settings.value("recentFileList").toStringList();
files.removeAll(fileName);
@@ -511,7 +508,7 @@ QString MdiChild::strippedName(const QString &fullFileName)
void MdiChild::burnTo() // write to Tx
{
QSettings settings("companion", "companion");
QSettings settings;
bool backupEnable=settings.value("backupEnable", true).toBool();
QString backupPath=settings.value("backupPath", "").toString();
if (!backupPath.isEmpty()) {
@@ -556,19 +553,17 @@ void MdiChild::burnTo() // write to Tx
QStringList str;
str << path << backupFile;
avrOutputDialog *ad = new avrOutputDialog(this,"", str, tr("Backup EEPROM From Tx")); //, AVR_DIALOG_KEEP_OPEN);
QIcon Icon;
populate_icon(&Icon,"read_eeprom.png");
ad->setWindowIcon(Icon);
ad->setWindowIcon(CompanionIcon("read_eeprom.png"));
ad->exec();
sleep(1);
}
} else {
}
else {
QStringList str = ((MainWindow *)this->parent())->GetReceiveEEpromCommand(backupFile);
avrOutputDialog *ad = new avrOutputDialog(this, ((MainWindow *)this->parent())->GetAvrdudeLocation(), str, tr("Backup EEPROM From Tx"));
QIcon Icon;
populate_icon(&Icon,"read_eeprom.png");
ad->setWindowIcon(Icon);
ad->setWindowIcon(CompanionIcon("read_eeprom.png"));
ad->exec();
delete ad;
sleep(1);
}
}
@@ -576,10 +571,9 @@ void MdiChild::burnTo() // write to Tx
QString tempFlash=tempDir + "/flash.bin";
QStringList str = ((MainWindow *)this->parent())->GetReceiveFlashCommand(tempFlash);
avrOutputDialog *ad = new avrOutputDialog(this, ((MainWindow *)this->parent())->GetAvrdudeLocation(), str, "Read Flash From Tx");
QIcon Icon;
populate_icon(&Icon,"read_flash.png");
ad->setWindowIcon(Icon);
ad->setWindowIcon(CompanionIcon("read_flash.png"));
ad->exec();
delete ad;
sleep(1);
QString restoreFile = tempDir + "/compat.bin";
if (!((MainWindow *)this->parent())->convertEEPROM(tempFile, restoreFile, tempFlash)) {
@@ -587,7 +581,8 @@ void MdiChild::burnTo() // write to Tx
QMessageBox::Yes | QMessageBox::No);
if (ret==QMessageBox::No)
return;
} else {
}
else {
int rev=((MainWindow *)this->parent())->getEpromVersion(restoreFile);
if ((rev/100)!=(oldrev/100)) {
QMessageBox::warning(this,tr("Warning"), tr("Firmware in radio is of a different family of eeprom written, check file and preferences!"));
@@ -600,7 +595,8 @@ void MdiChild::burnTo() // write to Tx
QByteArray ba = tempFlash.toLatin1();
char *name = ba.data();
unlink(name);
} else {
}
else {
if (backupEnable) {
QString backupFile=backupPath+"/backup-"+QDateTime().currentDateTime().toString("yyyy-MM-dd-hhmmss")+".bin";
if (IS_TARANIS(eepromInterface->getBoard())) {
@@ -608,16 +604,17 @@ void MdiChild::burnTo() // write to Tx
if (path.isEmpty()) {
QMessageBox::warning(this, tr("Taranis radio not found"), tr("Impossible to identify the radio on your system, please verify the eeprom disk is connected."));
return;
} else {
}
else {
QFile::copy(path,backupFile);
}
} else {
}
else {
QStringList str = ((MainWindow *)this->parent())->GetReceiveEEpromCommand(backupFile);
avrOutputDialog *ad = new avrOutputDialog(this, ((MainWindow *)this->parent())->GetAvrdudeLocation(), str, tr("Backup EEPROM From Tx"));
QIcon Icon;
populate_icon(&Icon,"read_eeprom.png");
ad->setWindowIcon(Icon);
ad->setWindowIcon(CompanionIcon("read_eeprom.png"));
ad->exec();
delete ad;
sleep(1);
}
}
@@ -627,23 +624,23 @@ void MdiChild::burnTo() // write to Tx
if (path.isEmpty()) {
QMessageBox::warning(this, tr("Taranis radio not found"), tr("Impossible to identify the radio on your system, please verify the eeprom disk is connected."));
return;
} else {
}
else {
QStringList str;
str << tempFile << path;
avrOutputDialog *ad = new avrOutputDialog(this,"", str, tr("Write EEPROM To Tx"), AVR_DIALOG_SHOW_DONE); //, AVR_DIALOG_KEEP_OPEN);
QIcon Icon;
populate_icon(&Icon,"read_eeprom.png");
ad->setWindowIcon(Icon);
ad->setWindowIcon(CompanionIcon("read_eeprom.png"));
ad->show();
delete ad;
sleep(1);
}
} else {
}
else {
QStringList str = ((MainWindow *)this->parent())->GetSendEEpromCommand(tempFile);
avrOutputDialog *ad = new avrOutputDialog(this, ((MainWindow *)this->parent())->GetAvrdudeLocation(), str, "Write EEPROM To Tx", AVR_DIALOG_SHOW_DONE);
QIcon Icon;
populate_icon(&Icon,"write_eeprom.png");
ad->setWindowIcon(Icon);
ad->setWindowIcon(CompanionIcon("write_eeprom.png"));
ad->show();
delete ad;
}
}
}
@@ -693,7 +690,7 @@ void MdiChild::setEEpromAvail(int eavail)
bool MdiChild::loadBackup()
{
QSettings settings("companion", "companion");
QSettings settings;
QString fileName = QFileDialog::getOpenFileName(this, tr("Open"), settings.value("lastDir").toString(),tr(EEPROM_FILES_FILTER));
if (fileName.isEmpty())
return false;
+4 -6
View File
@@ -84,8 +84,6 @@ Curves::Curves(QWidget * parent, ModelData & model):
QGraphicsScene *scene = new QGraphicsScene(ui->curvePreview);
scene->setItemIndexMethod(QGraphicsScene::NoIndex);
ui->curvePreview->setScene(scene);
QIcon ClearIcon;
populate_icon(&ClearIcon,"clear.png");
for (int i=0; i<GetEepromInterface()->getCapability(NumCurves); i++) {
visibleCurves[i] = false;
@@ -94,7 +92,7 @@ Curves::Curves(QWidget * parent, ModelData & model):
QPushButton * reset = new QPushButton(this);
reset->setProperty("index", i);
reset->setMinimumSize(QSize(0, 0));
reset->setIcon(ClearIcon);
reset->setIcon(CompanionIcon("clear.png"));
reset->setIconSize(QSize(14, 14));
connect(reset, SIGNAL(clicked()), this, SLOT(resetCurve()));
ui->curvesLayout->addWidget(reset, i, 0, 1, 1);
@@ -600,9 +598,9 @@ void ModelEdit::on_ca_apply_PB_clicked()
void ModelEdit::clearCurves(bool ask)
{
if(ask) {
int res = QMessageBox::question(this,tr("Clear Curves?"),tr("Really clear all the curves?"),QMessageBox::Yes | QMessageBox::No);
if(res!=QMessageBox::Yes) return;
if (ask) {
int res = QMessageBox::question(this, tr("Clear Curves?"), tr("Really clear all the curves?"), QMessageBox::Yes | QMessageBox::No);
if (res!=QMessageBox::Yes) return;
}
curvesLock=true;
for (int j=0; j<16; j++) {
+54 -56
View File
@@ -36,7 +36,7 @@ CustomFunctionsPanel::CustomFunctionsPanel(QWidget * parent, ModelData & model,
}
}
QSettings settings("companion", "companion");
QSettings settings;
QString path = settings.value("sdPath", ".").toString();
path.append("/SOUNDS/");
QString lang = generalSettings.ttsLanguage;
@@ -110,7 +110,7 @@ CustomFunctionsPanel::CustomFunctionsPanel(QWidget * parent, ModelData & model,
fswtchParamT[i] = new QComboBox(this);
fswtchParamT[i]->setProperty("index", i);
paramLayout->addWidget(fswtchParamT[i]);
populateFuncParamCB(fswtchParamT[i], func, model.funcSw[i].param, model.funcSw[i].adjustMode);
populateFuncParamCB(fswtchParamT[i], model, func, model.funcSw[i].param, model.funcSw[i].adjustMode);
connect(fswtchParamT[i], SIGNAL(currentIndexChanged(int)), this, SLOT(customFunctionEdited()));
fswtchParamArmT[i] = new QComboBox(this);
@@ -123,11 +123,9 @@ CustomFunctionsPanel::CustomFunctionsPanel(QWidget * parent, ModelData & model,
connect(fswtchParamArmT[i], SIGNAL(editTextChanged ( const QString)), this, SLOT(customFunctionEdited()));
#ifdef PHONON
QIcon PlayIcon;
populate_icon(&PlayIcon,"play.png");
playBT[i] = new QPushButton(this);
playBT[i]->setObjectName(QString("play_%1").arg(i));
playBT[i]->setIcon(PlayIcon);
playBT[i]->setIcon(CompanionIcon("play.png"));
paramLayout->addWidget(playBT[i]);
connect(playBT[i], SIGNAL(pressed()), this, SLOT(playMusic()));
#endif
@@ -162,8 +160,6 @@ void CustomFunctionsPanel::mediaPlayer_state(Phonon::State newState, Phonon::Sta
{
if (phononLock)
return;
QIcon PlayIcon;
populate_icon(&PlayIcon,"play.png");
phononLock=true;
if ((newState==Phonon::StoppedState || newState==Phonon::PausedState) && oldState==Phonon::PlayingState) {
@@ -172,7 +168,7 @@ void CustomFunctionsPanel::mediaPlayer_state(Phonon::State newState, Phonon::Sta
clickObject->clear();
for (int i=0; i<GetEepromInterface()->getCapability(CustomFunctions); i++) {
playBT[i]->setObjectName(QString("play_%1").arg(i));
playBT[i]->setIcon(PlayIcon);
playBT[i]->setIcon(CompanionIcon("play.png"));
}
}
if (newState==Phonon::ErrorState) {
@@ -181,7 +177,7 @@ void CustomFunctionsPanel::mediaPlayer_state(Phonon::State newState, Phonon::Sta
clickObject->clear();
for (int i=0; i<GetEepromInterface()->getCapability(CustomFunctions); i++) {
playBT[i]->setObjectName(QString("play_%1").arg(i));
playBT[i]->setIcon(PlayIcon);
playBT[i]->setIcon(CompanionIcon("play.png"));
}
}
@@ -194,19 +190,15 @@ void CustomFunctionsPanel::playMusic()
QPushButton *playButton = qobject_cast<QPushButton*>(sender());
int index=playButton->objectName().mid(5,2).toInt();
QString function=playButton->objectName().left(4);
QSettings settings("companion", "companion");
QIcon PlayIcon;
populate_icon(&PlayIcon,"play.png");
QIcon StopIcon;
populate_icon(&StopIcon,"stop.png");
QString path=settings.value("sdPath", ".").toString();
QSettings settings;
QString path = settings.value("sdPath", ".").toString();
QDir qd(path);
QString track;
if (qd.exists()) {
if (GetEepromInterface()->getCapability(VoicesAsNumbers)) {
track=path+QString("/%1.wav").arg(int(fswtchParam[index]->value()),4,10,(const QChar)'0');
} else {
}
else {
path.append("/SOUNDS/");
QString lang = generalSettings.ttsLanguage;
if (lang.isEmpty())
@@ -227,12 +219,12 @@ void CustomFunctionsPanel::playMusic()
clickObject->setCurrentSource(Phonon::MediaSource(track));
clickObject->play();
playBT[index]->setObjectName(QString("stop_%1").arg(index));
playBT[index]->setIcon(StopIcon);
playBT[index]->setIcon(CompanionIcon("stop.png"));
} else {
clickObject->stop();
clickObject->clear();
playBT[index]->setObjectName(QString("play_%1").arg(index));
playBT[index]->setIcon(PlayIcon);
playBT[index]->setIcon(CompanionIcon("play.png"));
}
#endif
}
@@ -266,7 +258,7 @@ void CustomFunctionsPanel::refreshCustomFunction(int i, bool modified)
if (modified) {
model.funcSw[i].swtch = RawSwitch(fswtchSwtch[i]->itemData(fswtchSwtch[i]->currentIndex()).toInt());
model.funcSw[i].func = (AssignFunc)fswtchFunc[i]->currentIndex();
model.funcSw[i].enabled =fswtchEnable[i]->isChecked();
model.funcSw[i].enabled = fswtchEnable[i]->isChecked();
model.funcSw[i].repeatParam = (AssignFunc)fswtchRepeat[i]->currentIndex();
model.funcSw[i].adjustMode = (AssignFunc)fswtchGVmode[i]->currentIndex();
}
@@ -283,14 +275,15 @@ void CustomFunctionsPanel::refreshCustomFunction(int i, bool modified)
}
fswtchParam[i]->setValue(model.funcSw[i].param);
widgetsMask |= CUSTOM_FUNCTION_NUMERIC_PARAM + CUSTOM_FUNCTION_ENABLE;
} else if (index==FuncLogs) {
}
else if (index==FuncLogs) {
fswtchParam[i]->setDecimals(1);
fswtchParam[i]->setMinimum(0);
fswtchParam[i]->setMaximum(25.5);
fswtchParam[i]->setSingleStep(0.1);
if (modified) model.funcSw[i].param = fswtchParam[i]->value()*10.0;
fswtchParam[i]->setValue(model.funcSw[i].param/10.0);
widgetsMask |= CUSTOM_FUNCTION_NUMERIC_PARAM + CUSTOM_FUNCTION_ENABLE;
widgetsMask |= CUSTOM_FUNCTION_NUMERIC_PARAM;
}
else if (index>=FuncAdjustGV1 && index<=FuncAdjustGVLast) {
if (modified) model.funcSw[i].adjustMode = fswtchGVmode[i]->currentIndex();
@@ -303,20 +296,24 @@ void CustomFunctionsPanel::refreshCustomFunction(int i, bool modified)
fswtchParam[i]->setMaximum(125);
fswtchParam[i]->setValue(model.funcSw[i].param);
widgetsMask |= CUSTOM_FUNCTION_NUMERIC_PARAM;
} else {
}
else {
if (modified) model.funcSw[i].param = fswtchParamT[i]->itemData(fswtchParamT[i]->currentIndex()).toInt();
populateFuncParamCB(fswtchParamT[i], index, model.funcSw[i].param, model.funcSw[i].adjustMode);
populateFuncParamCB(fswtchParamT[i], model, index, model.funcSw[i].param, model.funcSw[i].adjustMode);
widgetsMask |= CUSTOM_FUNCTION_SOURCE_PARAM;
}
} else if (index==FuncReset) {
}
else if (index==FuncReset) {
if (modified) model.funcSw[i].param = (uint8_t)fswtchParamT[i]->currentIndex();
populateFuncParamCB(fswtchParamT[i], index, model.funcSw[i].param);
populateFuncParamCB(fswtchParamT[i], model, index, model.funcSw[i].param);
widgetsMask |= CUSTOM_FUNCTION_SOURCE_PARAM;
} else if (index==FuncVolume) {
}
else if (index==FuncVolume) {
if (modified) model.funcSw[i].param = fswtchParamT[i]->itemData(fswtchParamT[i]->currentIndex()).toInt();
populateFuncParamCB(fswtchParamT[i], index, model.funcSw[i].param);
populateFuncParamCB(fswtchParamT[i], model, index, model.funcSw[i].param);
widgetsMask |= CUSTOM_FUNCTION_SOURCE_PARAM + CUSTOM_FUNCTION_ENABLE;
} else if (index==FuncPlaySound || index==FuncPlayHaptic || index==FuncPlayValue || index==FuncPlayPrompt || index==FuncPlayBoth || index==FuncBackgroundMusic) {
}
else if (index==FuncPlaySound || index==FuncPlayHaptic || index==FuncPlayValue || index==FuncPlayPrompt || index==FuncPlayBoth || index==FuncBackgroundMusic) {
if (modified) model.funcSw[i].repeatParam = fswtchRepeat[i]->itemData(fswtchRepeat[i]->currentIndex()).toInt();
if (index != FuncBackgroundMusic) {
if (GetEepromInterface()->getCapability(HasFuncRepeat)) {
@@ -325,16 +322,18 @@ void CustomFunctionsPanel::refreshCustomFunction(int i, bool modified)
}
if (index==FuncPlayValue) {
if (modified) model.funcSw[i].param = fswtchParamT[i]->itemData(fswtchParamT[i]->currentIndex()).toInt();
populateFuncParamCB(fswtchParamT[i], index, model.funcSw[i].param);
populateFuncParamCB(fswtchParamT[i], model, index, model.funcSw[i].param);
widgetsMask |= CUSTOM_FUNCTION_SOURCE_PARAM + CUSTOM_FUNCTION_REPEAT;
} else if (index==FuncPlayPrompt || index==FuncPlayBoth) {
}
else if (index==FuncPlayPrompt || index==FuncPlayBoth) {
if (GetEepromInterface()->getCapability(VoicesAsNumbers)) {
fswtchParam[i]->setDecimals(0);
fswtchParam[i]->setSingleStep(1);
fswtchParam[i]->setMinimum(0);
if (index==FuncPlayPrompt) {
widgetsMask |= CUSTOM_FUNCTION_NUMERIC_PARAM + CUSTOM_FUNCTION_REPEAT + CUSTOM_FUNCTION_GV_TOOGLE;
} else {
}
else {
widgetsMask |= CUSTOM_FUNCTION_NUMERIC_PARAM + CUSTOM_FUNCTION_REPEAT;
fswtchParamGV[i]->setChecked(false);
}
@@ -343,7 +342,8 @@ void CustomFunctionsPanel::refreshCustomFunction(int i, bool modified)
if (fswtchParamGV[i]->isChecked()) {
fswtchParam[i]->setMinimum(1);
model.funcSw[i].param = std::min(fswtchParam[i]->value(),5.0)+(fswtchParamGV[i]->isChecked() ? 250 : 0);
} else {
}
else {
model.funcSw[i].param = fswtchParam[i]->value();
}
}
@@ -351,13 +351,15 @@ void CustomFunctionsPanel::refreshCustomFunction(int i, bool modified)
fswtchParamGV[i]->setChecked(true);
fswtchParam[i]->setValue(model.funcSw[i].param-250);
fswtchParam[i]->setMaximum(5);
} else {
}
else {
fswtchParamGV[i]->setChecked(false);
fswtchParam[i]->setValue(model.funcSw[i].param);
}
if (model.funcSw[i].param < 251)
widgetsMask |= CUSTOM_FUNCTION_PLAY;
} else {
}
else {
widgetsMask |= CUSTOM_FUNCTION_FILE_PARAM;
if (modified) {
memset(model.funcSw[i].paramarm, 0, sizeof(model.funcSw[i].paramarm));
@@ -370,7 +372,8 @@ void CustomFunctionsPanel::refreshCustomFunction(int i, bool modified)
}
}
}
} else if (index==FuncBackgroundMusic) {
}
else if (index==FuncBackgroundMusic) {
widgetsMask |= CUSTOM_FUNCTION_FILE_PARAM;
if (modified) {
memset(model.funcSw[i].paramarm, 0, sizeof(model.funcSw[i].paramarm));
@@ -382,21 +385,24 @@ void CustomFunctionsPanel::refreshCustomFunction(int i, bool modified)
}
}
}
} else if (index==FuncPlaySound) {
}
else if (index==FuncPlaySound) {
if (modified) model.funcSw[i].param = (uint8_t)fswtchParamT[i]->currentIndex();
populateFuncParamCB(fswtchParamT[i], index, model.funcSw[i].param);
widgetsMask |= CUSTOM_FUNCTION_SOURCE_PARAM;
} else if (index==FuncPlayHaptic) {
if (modified) model.funcSw[i].param = (uint8_t)fswtchParamT[i]->currentIndex();
populateFuncParamCB(fswtchParamT[i], index, model.funcSw[i].param);
populateFuncParamCB(fswtchParamT[i], model, index, model.funcSw[i].param);
widgetsMask |= CUSTOM_FUNCTION_SOURCE_PARAM;
}
} else if (model.funcSw[i].swtch.type!=SWITCH_TYPE_NONE) {
else if (index==FuncPlayHaptic) {
if (modified) model.funcSw[i].param = (uint8_t)fswtchParamT[i]->currentIndex();
populateFuncParamCB(fswtchParamT[i], model, index, model.funcSw[i].param);
widgetsMask |= CUSTOM_FUNCTION_SOURCE_PARAM;
}
}
else {
if (modified) model.funcSw[i].param = fswtchParam[i]->value();
fswtchParam[i]->setDecimals(0);
fswtchParam[i]->setSingleStep(1);
fswtchParam[i]->setValue(model.funcSw[i].param);
if (index<=FuncInstantTrim) {
if (index <= FuncInstantTrim) {
widgetsMask |= CUSTOM_FUNCTION_ENABLE;
}
}
@@ -467,14 +473,6 @@ void CustomFunctionsPanel::fsw_customContextMenuRequested(QPoint pos)
{
QLabel *label = (QLabel *)sender();
selectedFunction = label->property("index").toInt();
QIcon ClearIcon;
populate_icon(&ClearIcon,"clear.png");
QIcon CopyIcon;
populate_icon(&CopyIcon,"copy.png");
QIcon CutIcon;
populate_icon(&CutIcon,"cut.png");
QIcon PasteIcon;
populate_icon(&PasteIcon,"paste.png");
QPoint globalPos = label->mapToGlobal(pos);
@@ -483,10 +481,10 @@ void CustomFunctionsPanel::fsw_customContextMenuRequested(QPoint pos)
bool hasData = mimeData->hasFormat("application/x-companion-fsw");
QMenu contextMenu;
contextMenu.addAction(ClearIcon, tr("&Delete"),this,SLOT(fswDelete()),tr("Delete"));
contextMenu.addAction(CopyIcon, tr("&Copy"),this,SLOT(fswCopy()),tr("Ctrl+C"));
contextMenu.addAction(CutIcon, tr("&Cut"),this,SLOT(fswCut()),tr("Ctrl+X"));
contextMenu.addAction(PasteIcon, tr("&Paste"),this,SLOT(fswPaste()),tr("Ctrl+V"))->setEnabled(hasData);
contextMenu.addAction(CompanionIcon("clear.png"), tr("&Delete"),this,SLOT(fswDelete()),tr("Delete"));
contextMenu.addAction(CompanionIcon("copy.png"), tr("&Copy"),this,SLOT(fswCopy()),tr("Ctrl+C"));
contextMenu.addAction(CompanionIcon("cut.png"), tr("&Cut"),this,SLOT(fswCut()),tr("Ctrl+X"));
contextMenu.addAction(CompanionIcon("paste.png"), tr("&Paste"),this,SLOT(fswPaste()),tr("Ctrl+V"))->setEnabled(hasData);
contextMenu.exec(globalPos);
}
+7 -15
View File
@@ -254,7 +254,7 @@ void CustomSwitchesPanel::setSwitchWidgetVisibility(int i)
cswitchSource2[i]->setVisible(false);
cswitchValue[i]->setVisible(false);
cswitchOffset[i]->setVisible(true);
populateSourceCB(cswitchSource1[i], source, POPULATE_SOURCES | POPULATE_TRIMS | POPULATE_SWITCHES | POPULATE_TELEMETRY | (GetEepromInterface()->getCapability(GvarsInCS) ? POPULATE_GVARS : 0));
populateSourceCB(cswitchSource1[i], source, model, POPULATE_SOURCES | POPULATE_VIRTUAL_INPUTS | POPULATE_TRIMS | POPULATE_SWITCHES | POPULATE_TELEMETRY | (GetEepromInterface()->getCapability(GvarsInCS) ? POPULATE_GVARS : 0));
cswitchOffset[i]->setDecimals(source.getDecimals(model));
cswitchOffset[i]->setSingleStep(source.getStep(model));
if (model.customSw[i].func>CS_FN_ELESS && model.customSw[i].func<CS_FN_VEQUAL) {
@@ -280,8 +280,8 @@ void CustomSwitchesPanel::setSwitchWidgetVisibility(int i)
cswitchSource2[i]->setVisible(true);
cswitchValue[i]->setVisible(false);
cswitchOffset[i]->setVisible(false);
populateSourceCB(cswitchSource1[i], RawSource(model.customSw[i].val1), POPULATE_SOURCES | POPULATE_TRIMS | POPULATE_SWITCHES | POPULATE_TELEMETRY | (GetEepromInterface()->getCapability(GvarsInCS) ? POPULATE_GVARS : 0));
populateSourceCB(cswitchSource2[i], RawSource(model.customSw[i].val2), POPULATE_SOURCES | POPULATE_TRIMS | POPULATE_SWITCHES | POPULATE_TELEMETRY | (GetEepromInterface()->getCapability(GvarsInCS) ? POPULATE_GVARS : 0));
populateSourceCB(cswitchSource1[i], RawSource(model.customSw[i].val1), model, POPULATE_SOURCES | POPULATE_VIRTUAL_INPUTS | POPULATE_TRIMS | POPULATE_SWITCHES | POPULATE_TELEMETRY | (GetEepromInterface()->getCapability(GvarsInCS) ? POPULATE_GVARS : 0));
populateSourceCB(cswitchSource2[i], RawSource(model.customSw[i].val2), model, POPULATE_SOURCES | POPULATE_TRIMS | POPULATE_VIRTUAL_INPUTS | POPULATE_SWITCHES | POPULATE_TELEMETRY | (GetEepromInterface()->getCapability(GvarsInCS) ? POPULATE_GVARS : 0));
break;
case CS_FAMILY_TIMERS:
cswitchSource1[i]->setVisible(false);
@@ -382,14 +382,6 @@ void CustomSwitchesPanel::csw_customContextMenuRequested(QPoint pos)
{
QLabel *label = (QLabel *)sender();
selectedSwitch = label->property("index").toInt();
QIcon ClearIcon;
populate_icon(&ClearIcon,"clear.png");
QIcon CopyIcon;
populate_icon(&CopyIcon,"copy.png");
QIcon CutIcon;
populate_icon(&CutIcon,"cut.png");
QIcon PasteIcon;
populate_icon(&PasteIcon,"paste.png");
QPoint globalPos = label->mapToGlobal(pos);
@@ -398,10 +390,10 @@ void CustomSwitchesPanel::csw_customContextMenuRequested(QPoint pos)
bool hasData = mimeData->hasFormat("application/x-companion-csw");
QMenu contextMenu;
contextMenu.addAction(ClearIcon, tr("&Delete"),this,SLOT(cswDelete()),tr("Delete"));
contextMenu.addAction(CopyIcon, tr("&Copy"),this,SLOT(cswCopy()),tr("Ctrl+C"));
contextMenu.addAction(CutIcon, tr("&Cut"),this,SLOT(cswCut()),tr("Ctrl+X"));
contextMenu.addAction(PasteIcon, tr("&Paste"),this,SLOT(cswPaste()),tr("Ctrl+V"))->setEnabled(hasData);
contextMenu.addAction(CompanionIcon("clear.png"), tr("&Delete"),this,SLOT(cswDelete()),tr("Delete"));
contextMenu.addAction(CompanionIcon("copy.png"), tr("&Copy"),this,SLOT(cswCopy()),tr("Ctrl+C"));
contextMenu.addAction(CompanionIcon("cut.png"), tr("&Cut"),this,SLOT(cswCut()),tr("Ctrl+X"));
contextMenu.addAction(CompanionIcon("paste.png"), tr("&Paste"),this,SLOT(cswPaste()),tr("Ctrl+V"))->setEnabled(hasData);
contextMenu.exec(globalPos);
}
+1 -1
View File
@@ -48,7 +48,7 @@ ExpoDialog::ExpoDialog(QWidget *parent, ModelData & model, ExpoData *expoData, i
ui->sideLabel->hide();
ui->sideCB->hide();
ui->inputName->setMaxLength(4);
populateSourceCB(ui->sourceCB, ed->srcRaw, POPULATE_SOURCES | POPULATE_SWITCHES | POPULATE_TRIMS | (GetEepromInterface()->getCapability(GvarsAsSources) ? POPULATE_GVARS : 0));
populateSourceCB(ui->sourceCB, ed->srcRaw, model, POPULATE_SOURCES | POPULATE_SWITCHES | POPULATE_TRIMS | (GetEepromInterface()->getCapability(GvarsAsSources) ? POPULATE_GVARS : 0));
ui->sourceCB->removeItem(0);
}
else {
+1 -1
View File
@@ -26,7 +26,7 @@ void HeliPanel::update()
lock = true;
ui->swashTypeCB->setCurrentIndex(model.swashRingData.type);
populateSourceCB(ui->swashCollectiveCB, model.swashRingData.collectiveSource, POPULATE_SOURCES | POPULATE_SWITCHES | POPULATE_TRIMS);
populateSourceCB(ui->swashCollectiveCB, model.swashRingData.collectiveSource, model, POPULATE_SOURCES | POPULATE_SWITCHES | POPULATE_TRIMS);
ui->swashRingValSB->setValue(model.swashRingData.value);
ui->swashInvertELE->setChecked(model.swashRingData.invertELE);
ui->swashInvertAIL->setChecked(model.swashRingData.invertAIL);
+13 -38
View File
@@ -8,28 +8,21 @@ InputsPanel::InputsPanel(QWidget *parent, ModelData & model, GeneralSettings & g
generalSettings(generalSettings),
expoInserted(false)
{
QString Theme=getTheme();
QGridLayout * exposLayout = new QGridLayout(this);
ExposlistWidget = new MixersList(this, true);
QPushButton * qbUp = new QPushButton(this);
QPushButton * qbDown = new QPushButton(this);
QPushButton * qbClear = new QPushButton(this);
QIcon qbUpIcon;
populate_icon(&qbUpIcon,"moveup.png");
qbUp->setText(tr("Move Up"));
qbUp->setIcon(qbUpIcon);
qbUp->setIcon(CompanionIcon("moveup.png"));
qbUp->setShortcut(QKeySequence(tr("Ctrl+Up")));
QIcon qbDownIcon;
populate_icon(&qbDownIcon,"movedown.png");
qbDown->setText(tr("Move Down"));
qbDown->setIcon(qbDownIcon);
qbDown->setIcon(CompanionIcon("movedown.png"));
qbDown->setShortcut(QKeySequence(tr("Ctrl+Down")));
QIcon qbClearIcon;
populate_icon(&qbClearIcon,"clear.png");
qbClear->setText(tr("Clear Expo Settings"));
qbClear->setIcon(qbClearIcon);
qbClear->setIcon(CompanionIcon("clear.png"));
exposLayout->addWidget(ExposlistWidget,1,1,1,3);
exposLayout->addWidget(qbUp,2,1);
@@ -348,24 +341,6 @@ void InputsPanel::expoAdd()
void InputsPanel::expolistWidget_customContextMenuRequested(QPoint pos)
{
QIcon AddIcon;
populate_icon(&AddIcon,"add.png");
QIcon EditIcon;
populate_icon(&EditIcon,"edit.png");
QIcon ClearIcon;
populate_icon(&ClearIcon,"clear.png");
QIcon CopyIcon;
populate_icon(&CopyIcon,"copy.png");
QIcon CutIcon;
populate_icon(&CutIcon,"cut.png");
QIcon PasteIcon;
populate_icon(&PasteIcon,"paste.png");
QIcon DuplicateIcon;
populate_icon(&DuplicateIcon,"duplicate.png");
QIcon MoveUpIcon;
populate_icon(&MoveUpIcon,"moveup.png");
QIcon MoveDownIcon;
populate_icon(&MoveDownIcon,"movedown.png");
QPoint globalPos = ExposlistWidget->mapToGlobal(pos);
const QClipboard *clipboard = QApplication::clipboard();
@@ -373,17 +348,17 @@ void InputsPanel::expolistWidget_customContextMenuRequested(QPoint pos)
bool hasData = mimeData->hasFormat("application/x-companion-expo");
QMenu contextMenu;
contextMenu.addAction(AddIcon, tr("&Add"),this,SLOT(expoAdd()),tr("Ctrl+A"));
contextMenu.addAction(EditIcon, tr("&Edit"),this,SLOT(expoOpen()),tr("Enter"));
contextMenu.addAction(CompanionIcon("add.png"), tr("&Add"),this,SLOT(expoAdd()),tr("Ctrl+A"));
contextMenu.addAction(CompanionIcon("edit.png"), tr("&Edit"),this,SLOT(expoOpen()),tr("Enter"));
contextMenu.addSeparator();
contextMenu.addAction(ClearIcon, tr("&Delete"),this,SLOT(exposDelete()),tr("Delete"));
contextMenu.addAction(CopyIcon, tr("&Copy"),this,SLOT(exposCopy()),tr("Ctrl+C"));
contextMenu.addAction(CutIcon, tr("&Cut"),this,SLOT(exposCut()),tr("Ctrl+X"));
contextMenu.addAction(PasteIcon, tr("&Paste"),this,SLOT(exposPaste()),tr("Ctrl+V"))->setEnabled(hasData);
contextMenu.addAction(DuplicateIcon, tr("Du&plicate"),this,SLOT(exposDuplicate()),tr("Ctrl+U"));
contextMenu.addAction(CompanionIcon("clear.png"), tr("&Delete"),this,SLOT(exposDelete()),tr("Delete"));
contextMenu.addAction(CompanionIcon("copy.png"), tr("&Copy"),this,SLOT(exposCopy()),tr("Ctrl+C"));
contextMenu.addAction(CompanionIcon("cut.png"), tr("&Cut"),this,SLOT(exposCut()),tr("Ctrl+X"));
contextMenu.addAction(CompanionIcon("paste.png"), tr("&Paste"),this,SLOT(exposPaste()),tr("Ctrl+V"))->setEnabled(hasData);
contextMenu.addAction(CompanionIcon("duplicate.png"), tr("Du&plicate"),this,SLOT(exposDuplicate()),tr("Ctrl+U"));
contextMenu.addSeparator();
contextMenu.addAction(MoveUpIcon, tr("Move Up"),this,SLOT(moveExpoUp()),tr("Ctrl+Up"));
contextMenu.addAction(MoveDownIcon, tr("Move Down"),this,SLOT(moveExpoDown()),tr("Ctrl+Down"));
contextMenu.addAction(CompanionIcon("moveup.png"), tr("Move Up"),this,SLOT(moveExpoUp()),tr("Ctrl+Up"));
contextMenu.addAction(CompanionIcon("movedown.png"), tr("Move Down"),this,SLOT(moveExpoDown()),tr("Ctrl+Down"));
contextMenu.exec(globalPos);
}
+8 -5
View File
@@ -3,9 +3,10 @@
#include "eeprominterface.h"
#include "helpers.h"
MixerDialog::MixerDialog(QWidget *parent, MixData *mixdata, int stickMode) :
MixerDialog::MixerDialog(QWidget *parent, ModelData & model, MixData *mixdata, int stickMode) :
QDialog(parent),
ui(new Ui::MixerDialog),
model(model),
md(mixdata),
lock(false)
{
@@ -19,7 +20,7 @@ MixerDialog::MixerDialog(QWidget *parent, MixData *mixdata, int stickMode) :
else
this->setWindowTitle(tr("DEST -> CH%1%2").arg(md->destCh/10).arg(md->destCh%10));
populateSourceCB(ui->sourceCB, md->srcRaw, POPULATE_SOURCES | POPULATE_SWITCHES | POPULATE_TRIMS | (GetEepromInterface()->getCapability(GvarsAsSources) ? POPULATE_GVARS : 0));
populateSourceCB(ui->sourceCB, md->srcRaw, model, POPULATE_SOURCES | POPULATE_VIRTUAL_INPUTS | POPULATE_SWITCHES | POPULATE_TRIMS | (GetEepromInterface()->getCapability(GvarsAsSources) ? POPULATE_GVARS : 0));
ui->sourceCB->removeItem(0);
int limit = GetEepromInterface()->getCapability(OffsetWeight);
@@ -145,16 +146,18 @@ void MixerDialog::valuesChanged()
if (!lock) {
lock = true;
QCheckBox * cb_fp[] = {ui->cb_FP0,ui->cb_FP1,ui->cb_FP2,ui->cb_FP3,ui->cb_FP4,ui->cb_FP5,ui->cb_FP6,ui->cb_FP7,ui->cb_FP8 };
md->srcRaw = RawSource(ui->sourceCB->itemData(ui->sourceCB->currentIndex()).toInt());
md->srcRaw = RawSource(ui->sourceCB->itemData(ui->sourceCB->currentIndex()).toInt(), &model);
if ((ui->sourceCB->itemData(ui->sourceCB->currentIndex()).toInt()-65536)<4) {
if (!GetEepromInterface()->getCapability(MixesWithoutExpo)) {
ui->MixDR_CB->hide();
ui->label_MixDR->hide();
} else {
}
else {
ui->MixDR_CB->setVisible(true);
ui->label_MixDR->setVisible(true);
}
} else {
}
else {
ui->MixDR_CB->setHidden(true);
ui->label_MixDR->setHidden(true);
}
+2 -1
View File
@@ -14,7 +14,7 @@ namespace Ui {
class MixerDialog : public QDialog {
Q_OBJECT
public:
MixerDialog(QWidget *parent, MixData *mixdata, int stickMode);
MixerDialog(QWidget *parent, ModelData & model, MixData *mixdata, int stickMode);
~MixerDialog();
protected:
@@ -26,6 +26,7 @@ class MixerDialog : public QDialog {
private:
Ui::MixerDialog *ui;
ModelData & model;
MixData *md;
bool lock;
GVarGroup * gvWeightGroup;
+13 -37
View File
@@ -14,20 +14,14 @@ MixesPanel::MixesPanel(QWidget *parent, ModelData & model, GeneralSettings & gen
QPushButton * qbUp = new QPushButton(this);
QPushButton * qbDown = new QPushButton(this);
QPushButton * qbClear = new QPushButton(this);
QIcon qbUpIcon;
populate_icon(&qbUpIcon,"moveup.png");
qbUp->setText(tr("Move Up"));
qbUp->setIcon(qbUpIcon);
qbUp->setIcon(CompanionIcon("moveup.png"));
qbUp->setShortcut(QKeySequence(tr("Ctrl+Up")));
QIcon qbDownIcon;
populate_icon(&qbDownIcon,"movedown.png");
qbDown->setText(tr("Move Down"));
qbDown->setIcon(qbDownIcon);
qbDown->setIcon(CompanionIcon("movedown.png"));
qbDown->setShortcut(QKeySequence(tr("Ctrl+Down")));
QIcon qbClearIcon;
populate_icon(&qbClearIcon,"clear.png");
qbClear->setText(tr("Clear Mixes"));
qbClear->setIcon(qbClearIcon);
qbClear->setIcon(CompanionIcon("clear.png"));
mixesLayout->addWidget(MixerlistWidget,1,1,1,3);
mixesLayout->addWidget(qbUp,2,1);
@@ -210,7 +204,7 @@ void MixesPanel::gm_openMix(int index)
emit modified();
update();
MixerDialog *g = new MixerDialog(this, &mixd, generalSettings.stickMode);
MixerDialog *g = new MixerDialog(this, model, &mixd, generalSettings.stickMode);
if(g->exec()) {
model.mixData[index] = mixd;
emit modified();
@@ -411,24 +405,6 @@ void MixesPanel::mixerAdd()
void MixesPanel::mixerlistWidget_customContextMenuRequested(QPoint pos)
{
QIcon AddIcon;
populate_icon(&AddIcon,"add.png");
QIcon EditIcon;
populate_icon(&EditIcon,"edit.png");
QIcon ClearIcon;
populate_icon(&ClearIcon,"clear.png");
QIcon CopyIcon;
populate_icon(&CopyIcon,"copy.png");
QIcon CutIcon;
populate_icon(&CutIcon,"cut.png");
QIcon PasteIcon;
populate_icon(&PasteIcon,"paste.png");
QIcon DuplicateIcon;
populate_icon(&DuplicateIcon,"duplicate.png");
QIcon MoveUpIcon;
populate_icon(&MoveUpIcon,"moveup.png");
QIcon MoveDownIcon;
populate_icon(&MoveDownIcon,"movedown.png");
QPoint globalPos = MixerlistWidget->mapToGlobal(pos);
const QClipboard *clipboard = QApplication::clipboard();
@@ -436,17 +412,17 @@ void MixesPanel::mixerlistWidget_customContextMenuRequested(QPoint pos)
bool hasData = mimeData->hasFormat("application/x-companion-mix");
QMenu contextMenu;
contextMenu.addAction(AddIcon, tr("&Add"),this,SLOT(mixerAdd()),tr("Ctrl+A"));
contextMenu.addAction(EditIcon, tr("&Edit"),this,SLOT(mixerOpen()),tr("Enter"));
contextMenu.addAction(CompanionIcon("add.png"), tr("&Add"),this,SLOT(mixerAdd()),tr("Ctrl+A"));
contextMenu.addAction(CompanionIcon("edit.png"), tr("&Edit"),this,SLOT(mixerOpen()),tr("Enter"));
contextMenu.addSeparator();
contextMenu.addAction(ClearIcon, tr("&Delete"),this,SLOT(mixersDelete()),tr("Delete"));
contextMenu.addAction(CopyIcon, tr("&Copy"),this,SLOT(mixersCopy()),tr("Ctrl+C"));
contextMenu.addAction(CutIcon, tr("&Cut"),this,SLOT(mixersCut()),tr("Ctrl+X"));
contextMenu.addAction(PasteIcon, tr("&Paste"),this,SLOT(mixersPaste()),tr("Ctrl+V"))->setEnabled(hasData);
contextMenu.addAction(DuplicateIcon, tr("Du&plicate"),this,SLOT(mixersDuplicate()),tr("Ctrl+U"));
contextMenu.addAction(CompanionIcon("clear.png"), tr("&Delete"),this,SLOT(mixersDelete()),tr("Delete"));
contextMenu.addAction(CompanionIcon("copy.png"), tr("&Copy"),this,SLOT(mixersCopy()),tr("Ctrl+C"));
contextMenu.addAction(CompanionIcon("cut.png"), tr("&Cut"),this,SLOT(mixersCut()),tr("Ctrl+X"));
contextMenu.addAction(CompanionIcon("paste.png"), tr("&Paste"),this,SLOT(mixersPaste()),tr("Ctrl+V"))->setEnabled(hasData);
contextMenu.addAction(CompanionIcon("duplicate.png"), tr("Du&plicate"),this,SLOT(mixersDuplicate()),tr("Ctrl+U"));
contextMenu.addSeparator();
contextMenu.addAction(MoveUpIcon, tr("Move Up"),this,SLOT(moveMixUp()),tr("Ctrl+Up"));
contextMenu.addAction(MoveDownIcon, tr("Move Down"),this,SLOT(moveMixDown()),tr("Ctrl+Down"));
contextMenu.addAction(CompanionIcon("moveup.png"), tr("Move Up"),this,SLOT(moveMixUp()),tr("Ctrl+Up"));
contextMenu.addAction(CompanionIcon("movedown.png"), tr("Move Down"),this,SLOT(moveMixDown()),tr("Ctrl+Down"));
contextMenu.exec(globalPos);
}
+3 -5
View File
@@ -21,11 +21,9 @@ ModelEdit::ModelEdit(RadioData & radioData, int modelId, bool openWizard, bool i
generalSettings(radioData.generalSettings)
{
ui->setupUi(this);
QSettings settings("companion", "companion");
QSettings settings;
restoreGeometry(settings.value("modelEditGeometry").toByteArray());
QIcon SimulateIcon;
populate_icon(&SimulateIcon,"simulate.png");
ui->pushButton->setIcon(SimulateIcon);
ui->pushButton->setIcon(CompanionIcon("simulate.png"));
addTab(new Setup(this, model), tr("Setup"));
addTab(new HeliPanel(this, model), tr("Heli"));
addTab(new FlightModes(this, model, radioData.generalSettings), tr("Flight Modes"));
@@ -47,7 +45,7 @@ ModelEdit::~ModelEdit()
void ModelEdit::closeEvent(QCloseEvent *event)
{
QSettings settings("companion", "companion");
QSettings settings;
settings.setValue("modelEditGeometry", saveGeometry());
}
+2 -2
View File
@@ -353,7 +353,7 @@ Setup::Setup(QWidget *parent, ModelData & model):
if (GetEepromInterface()->getCapability(ModelImage)) {
QStringList items;
items.append("");
QSettings settings("companion", "companion");
QSettings settings;
QString path = settings.value("sdPath", ".").toString();
path.append("/BMP/");
QDir qd(path);
@@ -497,7 +497,7 @@ void Setup::on_image_currentIndexChanged(int index)
{
if (!lock) {
strncpy(model.bitmap, ui->image->currentText().toAscii(), GetEepromInterface()->getCapability(VoicesMaxLength));
QSettings settings("companion", "companion");
QSettings settings;
QString path=settings.value("sdPath", ".").toString();
path.append("/BMP/");
QDir qd(path);
+1 -1
View File
@@ -342,7 +342,7 @@ TelemetryPanel::~TelemetryPanel()
void TelemetryPanel::setup()
{
QSettings settings("companion", "companion");
QSettings settings;
QString firmware_id = settings.value("firmware", default_firmware_variant.id).toString();
lock=true;
+11 -35
View File
@@ -83,47 +83,23 @@ void ModelsListWidget::ShowContextMenu(const QPoint& pos)
const QClipboard *clipboard = QApplication::clipboard();
const QMimeData *mimeData = clipboard->mimeData();
bool hasData = mimeData->hasFormat("application/x-companion");
QIcon AddIcon;
populate_icon(&AddIcon,"add.png");
QIcon EditIcon;
populate_icon(&EditIcon,"edit.png");
QIcon OpenIcon;
populate_icon(&OpenIcon,"open.png");
QIcon WizardIcon;
populate_icon(&WizardIcon,"wizard.png");
QIcon ClearIcon;
populate_icon(&ClearIcon,"clear.png");
QIcon CopyIcon;
populate_icon(&CopyIcon,"copy.png");
QIcon CutIcon;
populate_icon(&CutIcon,"cut.png");
QIcon PasteIcon;
populate_icon(&PasteIcon,"paste.png");
QIcon DuplicateIcon;
populate_icon(&DuplicateIcon,"duplicate.png");
QIcon CurrentModelIcon;
populate_icon(&CurrentModelIcon,"currentmodel.png");
QIcon PrintIcon;
populate_icon(&PrintIcon,"print.png");
QIcon SimulateIcon;
populate_icon(&SimulateIcon,"simulate.png");
QMenu contextMenu;
contextMenu.addAction(EditIcon, tr("&Edit"),this,SLOT(OpenEditWindow()));
contextMenu.addAction(OpenIcon, tr("&Restore from backup"),this,SLOT(LoadBackup()));
contextMenu.addAction(WizardIcon, tr("&Model Wizard"),this,SLOT(OpenWizard()));
contextMenu.addAction(CompanionIcon("edit.png"), tr("&Edit"),this,SLOT(OpenEditWindow()));
contextMenu.addAction(CompanionIcon("open.png"), tr("&Restore from backup"),this,SLOT(LoadBackup()));
contextMenu.addAction(CompanionIcon("wizard.png"), tr("&Model Wizard"),this,SLOT(OpenWizard()));
contextMenu.addSeparator();
contextMenu.addAction(ClearIcon, tr("&Delete"),this,SLOT(confirmDelete()),tr("Delete"));
contextMenu.addAction(CopyIcon, tr("&Copy"),this,SLOT(copy()),tr("Ctrl+C"));
contextMenu.addAction(CutIcon, tr("&Cut"),this,SLOT(cut()),tr("Ctrl+X"));
contextMenu.addAction(PasteIcon, tr("&Paste"),this,SLOT(paste()),tr("Ctrl+V"))->setEnabled(hasData);
contextMenu.addAction(DuplicateIcon, tr("D&uplicate"),this,SLOT(duplicate()),tr("Ctrl+U"));
contextMenu.addAction(CompanionIcon("clear.png"), tr("&Delete"),this,SLOT(confirmDelete()),tr("Delete"));
contextMenu.addAction(CompanionIcon("copy.png"), tr("&Copy"),this,SLOT(copy()),tr("Ctrl+C"));
contextMenu.addAction(CompanionIcon("cut.png"), tr("&Cut"),this,SLOT(cut()),tr("Ctrl+X"));
contextMenu.addAction(CompanionIcon("paste.png"), tr("&Paste"),this,SLOT(paste()),tr("Ctrl+V"))->setEnabled(hasData);
contextMenu.addAction(CompanionIcon("duplicate.png"), tr("D&uplicate"),this,SLOT(duplicate()),tr("Ctrl+U"));
contextMenu.addSeparator();
contextMenu.addAction(CurrentModelIcon, tr("&Use as default"),this,SLOT(setdefault()));
contextMenu.addAction(CompanionIcon("currentmodel.png"), tr("&Use as default"),this,SLOT(setdefault()));
contextMenu.addSeparator();
contextMenu.addAction(PrintIcon, tr("P&rint model"),this, SLOT(print()),tr("Alt+R"));
contextMenu.addAction(CompanionIcon("print.png"), tr("P&rint model"),this, SLOT(print()),tr("Alt+R"));
contextMenu.addSeparator();
contextMenu.addAction(SimulateIcon, tr("&Simulate model"),this, SLOT(simulate()),tr("Alt+S"));
contextMenu.addAction(CompanionIcon("simulate.png"), tr("&Simulate model"),this, SLOT(simulate()),tr("Alt+S"));
contextMenu.exec(globalPos);
}
+20 -26
View File
@@ -17,15 +17,9 @@ preferencesDialog::preferencesDialog(QWidget *parent) :
updateLock(false)
{
ui->setupUi(this);
QIcon Icon;
populate_icon(&Icon,"preferences.png");
this->setWindowIcon(Icon);
QIcon LibraryIcon;
populate_icon(&LibraryIcon,"library.png");
ui->splashLibraryButton->setIcon(LibraryIcon);
QIcon ClearIcon;
populate_icon(&ClearIcon,"clear.png");
ui->clearImageButton->setIcon(ClearIcon);
setWindowIcon(CompanionIcon("preferences.png"));
ui->splashLibraryButton->setIcon(CompanionIcon("library.png"));
ui->clearImageButton->setIcon(CompanionIcon("clear.png"));
QCheckBox * OptionCheckBox[]= {
ui->optionCheckBox_1, ui->optionCheckBox_2, ui->optionCheckBox_3, ui->optionCheckBox_4, ui->optionCheckBox_5, ui->optionCheckBox_6, ui->optionCheckBox_7,
@@ -233,7 +227,7 @@ void preferencesDialog::firmwareChanged()
ui->CPU_ID_LE->hide();
ui->CPU_ID_LABEL->hide();
}
QSettings settings("companion", "companion");
QSettings settings;
settings.beginGroup("FwRevisions");
int fwrev = settings.value(variant.id, -1).toInt();
settings.endGroup();
@@ -259,7 +253,7 @@ void preferencesDialog::firmwareChanged()
void preferencesDialog::writeValues()
{
QSettings settings("companion", "companion");
QSettings settings;
if (ui->locale_QB->currentIndex() > 0)
settings.setValue("locale", ui->locale_QB->itemData(ui->locale_QB->currentIndex()));
else
@@ -392,7 +386,7 @@ void preferencesDialog::populateFirmwareOptions(const FirmwareInfo * firmware)
void preferencesDialog::initSettings()
{
QSettings settings("companion", "companion");
QSettings settings;
int i = ui->locale_QB->findData(settings.value("locale"));
if (i < 0) i = 0;
ui->locale_QB->setCurrentIndex(i);
@@ -533,7 +527,7 @@ void preferencesDialog::on_fw_dnld_clicked()
writeValues();
if (!variant.firmware->getUrl(variant.id).isNull()) {
if (ui->burnFirmware->isChecked()) {
QSettings settings("companion", "companion");
QSettings settings;
current_firmware_variant = getFirmwareVariant();
settings.setValue("firmware", current_firmware_variant.id);
}
@@ -554,7 +548,7 @@ void preferencesDialog::on_voice_dnld_clicked()
void preferencesDialog::on_libraryPathButton_clicked()
{
ui->ProfSave_PB->setEnabled(true);
QSettings settings("companion", "companion");
QSettings settings;
QString fileName = QFileDialog::getExistingDirectory(this,tr("Select your library folder"), settings.value("libraryPath").toString());
if (!fileName.isEmpty()) {
settings.setValue("libraryPath", fileName);
@@ -564,7 +558,7 @@ void preferencesDialog::on_libraryPathButton_clicked()
void preferencesDialog::on_snapshotPathButton_clicked()
{
QSettings settings("companion", "companion");
QSettings settings;
QString fileName = QFileDialog::getExistingDirectory(this,tr("Select your snapshot folder"), settings.value("snapshotPath").toString());
if (!fileName.isEmpty()) {
settings.setValue("snapshotpath", fileName);
@@ -575,7 +569,7 @@ void preferencesDialog::on_snapshotPathButton_clicked()
void preferencesDialog::on_snapshotClipboardCKB_clicked()
{
QSettings settings("companion", "companion");
QSettings settings;
if (ui->snapshotClipboardCKB->isChecked()) {
ui->snapshotPath->setDisabled(true);
ui->snapshotPathButton->setDisabled(true);
@@ -591,7 +585,7 @@ void preferencesDialog::on_snapshotClipboardCKB_clicked()
void preferencesDialog::on_backupPathButton_clicked()
{
QSettings settings("companion", "companion");
QSettings settings;
QString fileName = QFileDialog::getExistingDirectory(this,tr("Select your Models and Settings backup folder"), settings.value("backupPath").toString());
if (!fileName.isEmpty()) {
settings.setValue("backupPath", fileName);
@@ -602,7 +596,7 @@ void preferencesDialog::on_backupPathButton_clicked()
void preferencesDialog::on_ge_pathButton_clicked()
{
QSettings settings("companion", "companion");
QSettings settings;
QString fileName = QFileDialog::getOpenFileName(this, tr("Select Google Earth executable"),ui->ge_lineedit->text());
if (!fileName.isEmpty()) {
ui->ge_lineedit->setText(fileName);
@@ -628,7 +622,7 @@ void preferencesDialog::on_splashLibraryButton_clicked()
void preferencesDialog::on_sdPathButton_clicked()
{
QSettings settings("companion", "companion");
QSettings settings;
QString fileName = QFileDialog::getExistingDirectory(this,tr("Select the folder replicating your SD structure"), settings.value("sdPath").toString());
if (!fileName.isEmpty()) {
ui->sdPath->setText(fileName);
@@ -638,7 +632,7 @@ void preferencesDialog::on_sdPathButton_clicked()
void preferencesDialog::on_ProfSlot_SB_valueChanged()
{
QSettings settings("companion", "companion");
QSettings settings;
settings.beginGroup("Profiles");
QString profile=QString("profile%1").arg(ui->ProfSlot_SB->value());
settings.beginGroup(profile);
@@ -667,7 +661,7 @@ void preferencesDialog::on_ProfSlot_SB_valueChanged()
void preferencesDialog::on_ProfSave_PB_clicked()
{
QSettings settings("companion", "companion");
QSettings settings;
settings.beginGroup("Profiles");
QString profile=QString("profile%1").arg(ui->ProfSlot_SB->value());
QString name=ui->ProfName_LE->text();
@@ -706,7 +700,7 @@ void preferencesDialog::on_ProfSave_PB_clicked()
void preferencesDialog::on_export_PB_clicked()
{
QSettings settings("companion", "companion");
QSettings settings;
QString profile=QString("profile%1").arg(ui->ProfSlot_SB->value());
QString name=ui->ProfName_LE->text();
if (!name.isEmpty()) {
@@ -727,7 +721,7 @@ void preferencesDialog::on_export_PB_clicked()
void preferencesDialog::on_import_PB_clicked()
{
QSettings settings("companion", "companion");
QSettings settings;
QString profile=QString("profile%1").arg(ui->ProfSlot_SB->value());
QString name=ui->ProfName_LE->text();
if (!name.isEmpty()) {
@@ -760,7 +754,7 @@ void preferencesDialog::on_SplashSelect_clicked()
supportedImageFormats += QLatin1String(" *.") + QImageReader::supportedImageFormats()[formatIndex];
}
QSettings settings("companion", "companion");
QSettings settings;
QString fileName = QFileDialog::getOpenFileName(this,
tr("Open Image to load"), settings.value("lastImagesDir").toString(), tr("Images (%1)").arg(supportedImageFormats));
@@ -837,7 +831,7 @@ void preferencesDialog::on_joystickChkB_clicked() {
}
void preferencesDialog::on_joystickcalButton_clicked() {
//QSettings settings("companion", "companion");
//QSettings settings;
//settings.setValue("joystick-name",ui->joystickCB->currentText());
joystickDialog * jd=new joystickDialog(this, ui->joystickCB->currentIndex());
jd->exec();
@@ -849,7 +843,7 @@ void preferencesDialog::on_checkFWUpdates_clicked()
{
FirmwareVariant variant = getFirmwareVariant();
if (ui->burnFirmware->isChecked()) {
QSettings settings("companion", "companion");
QSettings settings;
current_firmware_variant = variant;
settings.setValue("firmware", variant.id);
}
+2 -2
View File
@@ -32,7 +32,7 @@ simulatorDialog::simulatorDialog(QWidget *parent) :
beepVal = 0;
beepShow = 0;
QSettings settings("companion", "companion");
QSettings settings;
backLight = settings.value("backLight",0).toInt();
bool simuSW=settings.value("simuSW",false).toBool();
switch (backLight) {
@@ -211,7 +211,7 @@ void simulatorDialog::setupTimer()
void simulatorDialog::onButtonPressed(int value)
{
if (value==Qt::Key_Print) {
QSettings settings("companion", "companion");
QSettings settings;
bool toclipboard=settings.value("snapshot_to_clipboard", false).toBool();
QString fileName ="";
if (!toclipboard) {
+3 -7
View File
@@ -9,12 +9,8 @@
splashLibrary::splashLibrary(QWidget *parent, QString * fileName) : QDialog(parent), ui(new Ui::splashLibrary) {
splashFileName = fileName;
ui->setupUi(this);
QIcon NextIcon;
populate_icon(&NextIcon,"arrow-right.png");
QIcon PrevIcon;
populate_icon(&PrevIcon,"arrow-left.png");
ui->nextPage->setIcon(NextIcon);
ui->prevPage->setIcon(PrevIcon);
ui->nextPage->setIcon(CompanionIcon("arrow-right.png"));
ui->prevPage->setIcon(CompanionIcon("arrow-left.png"));
page = 0;
getFileList();
if (imageList.size() > 20) {
@@ -65,7 +61,7 @@ void splashLibrary::setupPage(int page) {
}
void splashLibrary::getFileList() {
QSettings settings("companion", "companion");
QSettings settings;
imageList.clear();
if (settings.value("embedded_splashes", 0).toInt() == 0) {
QDir myRes(":/images/library");
-1
View File
@@ -1,3 +1,2 @@
#define C9X_VERSION "@C9X_VERSION@"
#define C9X_REVISION @C9X_WC_REVISION@
+2 -2
View File
@@ -30,7 +30,7 @@ xsimulatorDialog::xsimulatorDialog(QWidget *parent) :
ui->setupUi(this);
ui->lcd->setFocus();
QSettings settings("companion", "companion");
QSettings settings;
ui->lcd->setBackgroundColor(47, 123, 227);
setupSticks();
resize(0, 0); // to force min height, min width
@@ -179,7 +179,7 @@ void xsimulatorDialog::setupTimer()
void xsimulatorDialog::onButtonPressed(int value)
{
if (value==Qt::Key_Print) {
QSettings settings("companion", "companion");
QSettings settings;
bool toclipboard=settings.value("snapshot_to_clipboard", false).toBool();
QString fileName ="";
if (!toclipboard) {