diff options
author | Roland Knall <roland.knall@br-automation.com> | 2016-02-01 09:53:31 +0100 |
---|---|---|
committer | Roland Knall <rknall@gmail.com> | 2016-02-01 12:14:44 +0000 |
commit | 71a21d79cfa6f40ddb4f761b40720e2bf5f75906 (patch) | |
tree | 7136106d5de03c0633313745f641aa42b3edbf8a /ui/qt | |
parent | 927ffaa794d5fb24e0b4f3fba08c4c31f4dd7d63 (diff) |
extcap: Correct save for file arguments
Also add check to has_configuration
Change-Id: Ia0ffbd3bf68ad51c26bc75b5ee179db179e22bd4
Reviewed-on: https://code.wireshark.org/review/13635
Reviewed-by: Roland Knall <rknall@gmail.com>
Diffstat (limited to 'ui/qt')
-rw-r--r-- | ui/qt/extcap_argument_file.cpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/ui/qt/extcap_argument_file.cpp b/ui/qt/extcap_argument_file.cpp index 4d2e301aa1..3c99ae05cc 100644 --- a/ui/qt/extcap_argument_file.cpp +++ b/ui/qt/extcap_argument_file.cpp @@ -53,6 +53,9 @@ ExtcapArgumentFileSelection::~ExtcapArgumentFileSelection() QWidget * ExtcapArgumentFileSelection::createEditor(QWidget * parent) { + QString storeval; + QString text = defaultValue(); + QWidget * fileWidget = new QWidget(parent); QHBoxLayout * editLayout = new QHBoxLayout(); QMargins margins = editLayout->contentsMargins(); @@ -63,8 +66,14 @@ QWidget * ExtcapArgumentFileSelection::createEditor(QWidget * parent) textBox = new QLineEdit(defaultValue(), 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->storeval ) + { + QString storeValue = _argument->storeval; + + if ( storeValue.length() > 0 && storeValue.compare(text) != 0 ) + text = storeValue.trimmed(); + } + textBox->setText(text); if ( _argument->tooltip != NULL ) { @@ -121,7 +130,12 @@ bool ExtcapArgumentFileSelection::isValid() { bool valid = false; - if ( textBox->text().length() > 0 || ! isRequired() ) + if ( textBox->text().length() > 0 ) + { + if ( QFileInfo(textBox->text()).exists() && _argument->fileexists ) + valid = true; + } + else if ( ! isRequired() ) valid = true; QString lblInvalidColor = ColorUtils::fromColorT(prefs.gui_text_invalid).name(); |