diff options
Diffstat (limited to 'ui/qt/extcap_argument_multiselect.cpp')
-rw-r--r-- | ui/qt/extcap_argument_multiselect.cpp | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/ui/qt/extcap_argument_multiselect.cpp b/ui/qt/extcap_argument_multiselect.cpp index b99a75379d..fc01dfb351 100644 --- a/ui/qt/extcap_argument_multiselect.cpp +++ b/ui/qt/extcap_argument_multiselect.cpp @@ -32,11 +32,14 @@ #include <QPushButton> #include <QVariant> +#include <epan/prefs.h> +#include <color_utils.h> + #include <extcap_parser.h> #include <extcap_argument_multiselect.h> ExtArgMultiSelect::ExtArgMultiSelect(extcap_arg * argument) : - ExtcapArgument(argument), treeView(0), viewModel(0) {}; + ExtcapArgument(argument), treeView(0), viewModel(0) {} ExtArgMultiSelect::~ExtArgMultiSelect() { @@ -187,6 +190,31 @@ void ExtArgMultiSelect::selectionChanged(const QItemSelection &, const QItemSele emit valueChanged(); } +bool ExtArgMultiSelect::isValid() +{ + bool valid = true; + + if ( isRequired() ) + { + if ( viewModel == 0 ) + valid = false; + else + { + QStringList result; + QModelIndexList selected = treeView->selectionModel()->selectedIndexes(); + + if ( selected.size() <= 0 ) + valid = false; + } + } + + QString lblInvalidColor = ColorUtils::fromColorT(prefs.gui_text_invalid).name(); + QString txtStyle("QTreeView { background-color: %1; } "); + treeView->setStyleSheet( txtStyle.arg(valid ? QString("") : lblInvalidColor) ); + + return valid; +} + /* * Editor modelines |