aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/extcap_argument_multiselect.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ui/qt/extcap_argument_multiselect.cpp')
-rw-r--r--ui/qt/extcap_argument_multiselect.cpp30
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