QWidget *ColoringRulesTreeDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &, const QModelIndex &index) const { QWidget *w = NULL; QTreeWidgetItem *ti = tree_->topLevelItem(index.row()); if (!ti) return NULL; switch (index.column()) { case name_col_: { SyntaxLineEdit *sle = new SyntaxLineEdit(parent); connect(sle, SIGNAL(textChanged(QString)), this, SLOT(ruleNameChanged(QString))); sle->setText(ti->text(name_col_)); w = (QWidget*) sle; } break; case filter_col_: { DisplayFilterEdit *dfe = new DisplayFilterEdit(parent); // It's possible to have an invalid filter and an enabled OK button at this point. // We might want to add a local slot for checking the filter status. connect(dfe, SIGNAL(textChanged(QString)), dfe, SLOT(checkDisplayFilter(QString))); dfe->setText(ti->text(filter_col_)); w = (QWidget*) dfe; } break; default: break; } return w; }
QWidget *ColoringRulesTreeDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const { Q_UNUSED(option); QWidget *w = NULL; QTreeWidgetItem *ti = tree_->topLevelItem(index.row()); if (!ti) return NULL; switch (index.column()) { case name_col_: { SyntaxLineEdit *sle = new SyntaxLineEdit(parent); connect(sle, SIGNAL(textChanged(QString)), this, SLOT(ruleNameChanged(QString))); sle->setText(ti->text(name_col_)); w = (QWidget*) sle; } break; case filter_col_: { SyntaxLineEdit *dfe = new SyntaxLineEdit(parent); connect(dfe, SIGNAL(textChanged(QString)), dfe, SLOT(checkDisplayFilter(QString))); connect(dfe, SIGNAL(textChanged(QString)), this, SLOT(ruleFilterChanged(QString))); dfe->setText(ti->text(filter_col_)); w = (QWidget*) dfe; } break; default: break; } return w; }
void CaptureInterfacesDialog::updateWidgets() { SyntaxLineEdit *sle = qobject_cast<SyntaxLineEdit *>(ui->allFilterComboBox->lineEdit()); if (!sle) { return; } bool can_capture = false; if (ui->tbInterfaces->selectedItems().count() > 0 && sle->syntaxState() != SyntaxLineEdit::Invalid) { can_capture = true; } ui->compileBPF->setEnabled(can_capture); start_bt_->setEnabled(can_capture); }
void TimeShiftDialog::checkDateTime(SyntaxLineEdit &time_le) { int Y, M, D, h, m; long double s; const gchar *err_str; syntax_err_.clear(); if (time_le.text().isEmpty()) { time_le.setSyntaxState(SyntaxLineEdit::Empty); } else if ((err_str = time_string_parse(time_le.text().toUtf8().constData(), &Y, &M, &D, NULL, &h, &m, &s)) != NULL) { syntax_err_ = err_str; time_le.setSyntaxState(SyntaxLineEdit::Invalid); } else { time_le.setSyntaxState(SyntaxLineEdit::Valid); } }
void TimeShiftDialog::checkFrameNumber(SyntaxLineEdit &frame_le) { bool frame_valid; guint frame_num = frame_le.text().toUInt(&frame_valid); syntax_err_.clear(); if (frame_le.text().isEmpty()) { frame_le.setSyntaxState(SyntaxLineEdit::Empty); } else if (!frame_valid || !cap_file_ || frame_num < 1 || frame_num > cap_file_->count) { frame_le.setSyntaxState(SyntaxLineEdit::Invalid); if (cap_file_) { syntax_err_ = QString(tr("Frame numbers must be between 1 and %1.").arg(cap_file_->count)); } else { syntax_err_ = tr("Invalid frame number."); } } else { frame_le.setSyntaxState(SyntaxLineEdit::Valid); } }