QWidget * ExtcapArgumentFileSelection::createEditor(QWidget * parent) { QWidget * fileWidget = new QWidget(parent); QHBoxLayout * editLayout = new QHBoxLayout(); QMargins margins = editLayout->contentsMargins(); editLayout->setContentsMargins(0, 0, 0, margins.bottom()); fileWidget->setContentsMargins(margins.left(), margins.right(), 0, margins.bottom()); QPushButton * button = new QPushButton(UTF8_HORIZONTAL_ELLIPSIS, fileWidget); textBox = new QLineEdit(_default->toString(), parent); textBox->setReadOnly(true); if ( _argument->default_complex != NULL && _argument->arg_type == EXTCAP_ARG_STRING ) textBox->setText(QString().fromUtf8(extcap_complex_get_string(_argument->default_complex))); if ( _argument->tooltip != NULL ) { textBox->setToolTip(QString().fromUtf8(_argument->tooltip)); button->setToolTip(QString().fromUtf8(_argument->tooltip)); } connect(button, SIGNAL(clicked()), (QObject *)this, SLOT(openFileDialog())); editLayout->addWidget(textBox); editLayout->addWidget(button); fileWidget->setLayout(editLayout); return fileWidget; }
gboolean extcap_compare_is_default(extcap_arg *element, extcap_complex *test) { gboolean result = FALSE; if (element->default_complex == NULL) return result; switch (element->arg_type) { case EXTCAP_ARG_INTEGER: if (extcap_complex_get_int(test) == extcap_complex_get_int(element->default_complex)) result = TRUE; break; case EXTCAP_ARG_UNSIGNED: if (extcap_complex_get_uint(test) == extcap_complex_get_uint(element->default_complex)) result = TRUE; break; case EXTCAP_ARG_LONG: if (extcap_complex_get_long(test) == extcap_complex_get_long(element->default_complex)) result = TRUE; break; case EXTCAP_ARG_DOUBLE: if (extcap_complex_get_double(test) == extcap_complex_get_double(element->default_complex)) result = TRUE; break; case EXTCAP_ARG_BOOLEAN: case EXTCAP_ARG_BOOLFLAG: if (extcap_complex_get_bool(test) == extcap_complex_get_bool(element->default_complex)) result = TRUE; break; case EXTCAP_ARG_STRING: if (strcmp(extcap_complex_get_string(test), extcap_complex_get_string(element->default_complex)) == 0) result = TRUE; break; default: break; } return result; }