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;
}
Exemple #2
0
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;
}