void btNodeEditWidget::disconnectSignals(btTreeModel * currentBehaviorTree) { if(currentBehaviorTree && model) connect(model, SIGNAL(updatePropertyWidget()), currentBehaviorTree, SIGNAL(addRemoveBTNode())); disconnect(nameedit, SIGNAL(textChanged(QString)), this, SLOT(nameEdited(QString))); }
QWidget *dSettingLocalUser::createWidget() { QWidget * widget = new QWidget(); QVBoxLayout *layout_main = new QVBoxLayout; QGridLayout *layout = new QGridLayout(); layout->setAlignment(Qt::AlignRight); layout->addWidget ( new QLabel(tr("Имя:")), 1, 0 ,Qt::AlignRight); layout->addWidget ( new QLabel(tr("Авто-ответ:")), 2, 0,Qt::AlignTop ); layout->addWidget ( new QLabel(tr("Логин:")), 3, 0 ,Qt::AlignRight); layout->addWidget ( new QLabel(tr("Пол:")), 4, 0 ,Qt::AlignRight); // layout->addWidget ( new QLabel("Аватар:"), 3, 0 ); nameLineEdit = new QLineEdit(user->get_name()); connect(nameLineEdit, SIGNAL(editingFinished()), this, SLOT(nameEdited())); layout->addWidget ( nameLineEdit, 1, 1 ); auto_answerEdit = new QTextEdit(); auto_answerEdit->setPlainText(user->get_auto_answer()); connect(auto_answerEdit, SIGNAL(textChanged()), this, SLOT(autoAnswerChanged())); layout->addWidget ( auto_answerEdit, 2, 1 ); loginLineEdit = new QLineEdit(user->get_login()); connect(loginLineEdit, SIGNAL(textEdited(const QString&)), this, SLOT(loginEdited(const QString&))); layout->addWidget ( loginLineEdit, 3, 1 ); QHBoxLayout *sexLayout = new QHBoxLayout; sexLayout->setSpacing(15); sexComboBox = new QComboBox; sexComboBox->addItem(tr("Безполый")); sexComboBox->addItem(tr("Женский")); sexComboBox->addItem(tr("Мужской")); sexComboBox->setCurrentIndex(user->get_sex()); connect(sexComboBox, SIGNAL(activated (int)), this, SLOT(sexActivated (int))); sexLayout->addWidget (sexComboBox ); sexLayout->addStretch ( 1 ); layout->addLayout( sexLayout, 4, 1 ); avatarPushButton = new QPushButton(tr("Изменить аватар")); avatarPushButton->setDefault(true); avatarPushButton->setIcon(QIcon(tr("pic/open32x32.png"))); connect(avatarPushButton, SIGNAL(clicked(bool)), this, SLOT(clickedAvatarButton(bool))); layout->addWidget ( avatarPushButton, 0, 1 ); avatarLabel = new QLabel(); QPixmap avatar = user->get_avatar(); avatar.scaled(48,48); avatarLabel->setPixmap(avatar); layout->addWidget ( avatarLabel , 0, 0 ); layout_main->addLayout( layout ); QCheckBox *passiveModeCheckBox = new QCheckBox(tr("Пассивный режим")); passiveModeCheckBox->setChecked(toInt(tr("passive_mode"),tr("value"),0)); connect(passiveModeCheckBox, SIGNAL(stateChanged(int)), this, SLOT(passiveModeChanged(int))); layout_main->addWidget ( passiveModeCheckBox ); layout_main->addWidget ( new QLabel(tr("При использовании пассивного режима пользователя не видят в других чатах!")) ); widget->setLayout(layout_main); return widget; };
Channels::Channels(QWidget * parent, ModelData & model, GeneralSettings & generalSettings, FirmwareInterface * firmware): ModelPanel(parent, model, generalSettings, firmware) { QGridLayout * gridLayout = new QGridLayout(this); bool minimize = false; int col = 1; if (firmware->getCapability(ChannelsName)) { minimize=true; addLabel(gridLayout, tr("Name"), col++); } addLabel(gridLayout, tr("Subtrim"), col++, minimize); addLabel(gridLayout, tr("Min"), col++, minimize); addLabel(gridLayout, tr("Max"), col++, minimize); addLabel(gridLayout, tr("Direction"), col++, minimize); if (IS_TARANIS(GetEepromInterface()->getBoard())) addLabel(gridLayout, tr("Curve"), col++, minimize); if (firmware->getCapability(PPMCenter)) addLabel(gridLayout, tr("PPM Center"), col++, minimize); if (firmware->getCapability(SYMLimits)) addLabel(gridLayout, tr("Linear Subtrim"), col++, true); for (int i=0; i<firmware->getCapability(Outputs); i++) { col = 0; // Channel label QLabel *label = new QLabel(this); label->setText(tr("Channel %1").arg(i+1)); label->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum); gridLayout->addWidget(label, i+1, col++, 1, 1); // Channel name int nameLen = firmware->getCapability(ChannelsName); if (nameLen > 0) { QLineEdit * name = new QLineEdit(this); name->setProperty("index", i); name->setMaxLength(nameLen); QRegExp rx(CHAR_FOR_NAMES_REGEX); name->setValidator(new QRegExpValidator(rx, this)); name->setText(model.limitData[i].name); connect(name, SIGNAL(editingFinished()), this, SLOT(nameEdited())); gridLayout->addWidget(name, i+1, col++, 1, 1); } // Channel offset limitsGroups << new LimitsGroup(firmware, gridLayout, i+1, col++, model.limitData[i].offset, -1000, 1000, 0); // Channel min limitsGroups << new LimitsGroup(firmware, gridLayout, i+1, col++, model.limitData[i].min, -model.getChannelsMax()*10, 0, -1000); // Channel max limitsGroups << new LimitsGroup(firmware, gridLayout, i+1, col++, model.limitData[i].max, 0, model.getChannelsMax()*10, 1000); // Channel inversion QComboBox * invCB = new QComboBox(this); invCB->insertItems(0, QStringList() << tr("---") << tr("INV")); invCB->setProperty("index", i); invCB->setCurrentIndex((model.limitData[i].revert) ? 1 : 0); connect(invCB, SIGNAL(currentIndexChanged(int)), this, SLOT(invEdited())); gridLayout->addWidget(invCB, i+1, col++, 1, 1); // Curve if (IS_TARANIS(GetEepromInterface()->getBoard())) { QComboBox * curveCB = new QComboBox(this); curveCB->setProperty("index", i); int numcurves = firmware->getCapability(NumCurves); for (int j=-numcurves; j<=numcurves; j++) { curveCB->addItem(CurveReference(CurveReference::CURVE_REF_CUSTOM, j).toString(), j); } curveCB->setCurrentIndex(model.limitData[i].curve.value+numcurves); connect(curveCB, SIGNAL(currentIndexChanged(int)), this, SLOT(curveEdited())); gridLayout->addWidget(curveCB, i+1, col++, 1, 1); } // PPM center if (firmware->getCapability(PPMCenter)) { QSpinBox * center = new QSpinBox(this); center->setProperty("index", i); center->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); center->setSuffix("us"); center->setMinimum(1375); center->setMaximum(1625); center->setValue(1500); center->setValue(model.limitData[i].ppmCenter + 1500); connect(center, SIGNAL(editingFinished()), this, SLOT(ppmcenterEdited())); gridLayout->addWidget(center, i+1, col++, 1, 1); } // Symetrical limits if (firmware->getCapability(SYMLimits)) { QCheckBox * symlimits = new QCheckBox(this); symlimits->setProperty("index", i); symlimits->setChecked(model.limitData[i].symetrical); connect(symlimits, SIGNAL(toggled(bool)), this, SLOT(symlimitsEdited())); gridLayout->addWidget(symlimits, i+1, col++, 1, 1); } }
void btNodeEditWidget::connectSignals() { connect(nameedit, SIGNAL(textChanged(QString)), this, SLOT(nameEdited(QString))); }