mirror of
https://github.com/opentx/opentx.git
synced 2025-07-19 14:25:11 +03:00
Tweaks to auto objects and fixup filesyncdialog compile
This commit is contained in:
parent
099d5f7608
commit
38f1d249c9
6 changed files with 39 additions and 81 deletions
|
@ -39,6 +39,8 @@
|
|||
#include <QLineEdit>
|
||||
#include <QMenu>
|
||||
#include <QSpinBox>
|
||||
#include <QMessageBox>
|
||||
#include <QPushButton>
|
||||
|
||||
FileSyncDialog::FileSyncDialog(QWidget * parent, const SyncProcess::SyncOptions & syncOptions) :
|
||||
QDialog(parent),
|
||||
|
|
|
@ -137,7 +137,7 @@ QString TimerData::persistentToString(const int value, const bool verbose)
|
|||
// static
|
||||
QString TimerData::pvalueToString(const int value)
|
||||
{
|
||||
return DataHelpers::timeToString(value, TIMESTR_MASK_HRSMINS | TIMESTR_MASK_HRSMINS);
|
||||
return DataHelpers::timeToString(value, TIMESTR_MASK_HRSMINS | TIMESTR_MASK_ZEROHRS);
|
||||
}
|
||||
|
||||
// static
|
||||
|
|
|
@ -112,10 +112,14 @@ void TimerPanel::update()
|
|||
ui->persistentValue->setText(timer.pvalueToString());
|
||||
}
|
||||
ui->countdownStart->updateValue();
|
||||
if(timer.countdownBeep == TimerData::COUNTDOWNBEEP_SILENT)
|
||||
if(timer.countdownBeep == TimerData::COUNTDOWNBEEP_SILENT) {
|
||||
ui->countdownStartLabel->setEnabled(false);
|
||||
ui->countdownStart->setEnabled(false);
|
||||
else
|
||||
}
|
||||
else {
|
||||
ui->countdownStartLabel->setEnabled(true);
|
||||
ui->countdownStart->setEnabled(true);
|
||||
}
|
||||
lock = false;
|
||||
}
|
||||
|
||||
|
@ -124,17 +128,6 @@ QWidget * TimerPanel::getLastFocus()
|
|||
return ui->persistent;
|
||||
}
|
||||
|
||||
void TimerPanel::on_countdownBeep_currentIndexChanged(int index)
|
||||
{
|
||||
if (!lock) {
|
||||
const unsigned int val = ui->countdownStart->itemData(index).toUInt();
|
||||
if (val != timer.countdownBeep) {
|
||||
timer.setCountdownBeep(val);
|
||||
emit modified();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void TimerPanel::on_value_editingFinished()
|
||||
{
|
||||
if (!lock) {
|
||||
|
@ -158,26 +151,6 @@ void TimerPanel::onModeChanged(int index)
|
|||
}
|
||||
}
|
||||
|
||||
void TimerPanel::on_minuteBeep_toggled(bool checked)
|
||||
{
|
||||
if (!lock) {
|
||||
timer.minuteBeep = checked;
|
||||
emit modified();
|
||||
}
|
||||
}
|
||||
|
||||
void TimerPanel::on_name_editingFinished()
|
||||
{
|
||||
if (!lock) {
|
||||
if (QString(timer.name) != ui->name->text()) {
|
||||
int length = ui->name->maxLength();
|
||||
strncpy(timer.name, ui->name->text().toLatin1(), length);
|
||||
emit nameChanged();
|
||||
emit modified();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void TimerPanel::connectItemModelEvents(const FilteredItemModel * itemModel)
|
||||
{
|
||||
connect(itemModel, &FilteredItemModel::aboutToBeUpdated, this, &TimerPanel::onItemModelAboutToBeUpdated);
|
||||
|
@ -199,28 +172,6 @@ void TimerPanel::onItemModelUpdateComplete()
|
|||
}
|
||||
}
|
||||
|
||||
void TimerPanel::on_countdownStart_currentIndexChanged(int index)
|
||||
{
|
||||
if (!lock) {
|
||||
const int val = ui->countdownStart->itemData(index).toInt();
|
||||
if (val != timer.countdownStart) {
|
||||
timer.countdownStart = val;
|
||||
emit modified();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void TimerPanel::on_persistent_currentIndexChanged(int index)
|
||||
{
|
||||
if (!lock) {
|
||||
const unsigned int val = ui->persistent->itemData(index).toUInt();
|
||||
if (val != timer.persistent) {
|
||||
timer.persistent = val;
|
||||
emit modified();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
#define FAILSAFE_CHANNEL_HOLD 2000
|
||||
|
|
|
@ -48,13 +48,8 @@ class TimerPanel : public ModelPanel
|
|||
private slots:
|
||||
void onModeChanged(int index);
|
||||
void on_value_editingFinished();
|
||||
void on_minuteBeep_toggled(bool checked);
|
||||
void on_countdownBeep_currentIndexChanged(int index);
|
||||
void on_name_editingFinished();
|
||||
void onItemModelAboutToBeUpdated();
|
||||
void onItemModelUpdateComplete();
|
||||
void on_countdownStart_currentIndexChanged(int index);
|
||||
void on_persistent_currentIndexChanged(int index);
|
||||
|
||||
signals:
|
||||
void nameChanged();
|
||||
|
|
|
@ -21,23 +21,23 @@
|
|||
#pragma once
|
||||
|
||||
#include <QCheckBox>
|
||||
#include "modeledit/modeledit.h"
|
||||
#include "genericpanel.h"
|
||||
|
||||
class AutoCheckBox: public QCheckBox
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit AutoCheckBox(QWidget *parent = 0):
|
||||
explicit AutoCheckBox(QWidget * parent = nullptr):
|
||||
QCheckBox(parent),
|
||||
field(NULL),
|
||||
panel(NULL),
|
||||
field(nullptr),
|
||||
panel(nullptr),
|
||||
lock(false)
|
||||
{
|
||||
connect(this, SIGNAL(toggled(bool)), this, SLOT(onToggled(bool)));
|
||||
}
|
||||
|
||||
void setField(bool & field, ModelPanel * panel=NULL)
|
||||
void setField(bool & field, GenericPanel * panel = nullptr)
|
||||
{
|
||||
this->field = &field;
|
||||
this->panel = panel;
|
||||
|
@ -51,26 +51,31 @@ class AutoCheckBox: public QCheckBox
|
|||
|
||||
void updateValue()
|
||||
{
|
||||
if (!field)
|
||||
return;
|
||||
lock = true;
|
||||
if (field) {
|
||||
setChecked(*field);
|
||||
}
|
||||
setChecked(*field);
|
||||
lock = false;
|
||||
}
|
||||
|
||||
signals:
|
||||
void currentDataChanged(bool value);
|
||||
|
||||
protected slots:
|
||||
void onToggled(bool checked)
|
||||
{
|
||||
if (panel && panel->lock)
|
||||
return;
|
||||
if (field && !lock) {
|
||||
*field = checked;
|
||||
if (panel) {
|
||||
emit currentDataChanged(checked);
|
||||
if (panel)
|
||||
emit panel->modified();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected:
|
||||
bool * field;
|
||||
ModelPanel * panel;
|
||||
bool lock;
|
||||
bool *field = nullptr;
|
||||
GenericPanel *panel = nullptr;
|
||||
bool lock = false;
|
||||
};
|
||||
|
|
|
@ -28,8 +28,13 @@ class AutoComboBox: public QComboBox
|
|||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit AutoComboBox(QWidget *parent = nullptr):
|
||||
QComboBox(parent)
|
||||
explicit AutoComboBox(QWidget * parent = nullptr):
|
||||
QComboBox(parent),
|
||||
field(nullptr),
|
||||
panel(nullptr),
|
||||
next(0),
|
||||
lock(false),
|
||||
hasModel(false)
|
||||
{
|
||||
connect(this, SIGNAL(currentIndexChanged(int)), this, SLOT(onCurrentIndexChanged(int)));
|
||||
}
|
||||
|
@ -69,14 +74,14 @@ class AutoComboBox: public QComboBox
|
|||
}
|
||||
}
|
||||
|
||||
void setField(unsigned int & field, GenericPanel * panel=nullptr)
|
||||
void setField(unsigned int & field, GenericPanel * panel = nullptr)
|
||||
{
|
||||
this->field = (int *)&field;
|
||||
this->panel = panel;
|
||||
updateValue();
|
||||
}
|
||||
|
||||
void setField(int & field, GenericPanel * panel=nullptr)
|
||||
void setField(int & field, GenericPanel * panel = nullptr)
|
||||
{
|
||||
this->field = &field;
|
||||
this->panel = panel;
|
||||
|
@ -122,16 +127,16 @@ class AutoComboBox: public QComboBox
|
|||
const int val = itemData(index).toInt();
|
||||
if (field && !lock) {
|
||||
*field = val;
|
||||
emit currentDataChanged(val);
|
||||
if (panel)
|
||||
emit panel->modified();
|
||||
}
|
||||
emit currentDataChanged(val);
|
||||
}
|
||||
}
|
||||
|
||||
protected:
|
||||
int * field = nullptr;
|
||||
GenericPanel * panel = nullptr;
|
||||
int *field = nullptr;
|
||||
GenericPanel *panel = nullptr;
|
||||
int next = 0;
|
||||
bool lock = false;
|
||||
bool hasModel = false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue