diff options
author | Roland Knall <roland.knall@br-automation.com> | 2018-03-02 15:41:00 +0100 |
---|---|---|
committer | Roland Knall <rknall@gmail.com> | 2018-04-05 09:31:23 +0000 |
commit | 6124ee2a1c06ccc96c3e9aa62c136f34085bfa61 (patch) | |
tree | a54fe1c4247e3f4519f71940d74c6a3f665d8a07 /ui/qt/extcap_argument.h | |
parent | c2422d78281e10beb6ce4ebda1d61c9d0ca63a09 (diff) |
extcap: Reload values on request
Allow certaing elements to be reloaded upon request. The way
this works is, certain elements can be configured to be reloadable.
By doing so, the extcap is asked once more just for the values
list of this item, together with all already set options, and
reloads the available options depending on the response.
Only supported for selector. Radio and Multiselect will need
additional patches, also moving those parts outside of extcap_argument.cpp
might make sense before hand.
Change-Id: I2e9e3d109b334bf878835a7cc9354f468bc22dee
Reviewed-on: https://code.wireshark.org/review/26223
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Diffstat (limited to 'ui/qt/extcap_argument.h')
-rw-r--r-- | ui/qt/extcap_argument.h | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/ui/qt/extcap_argument.h b/ui/qt/extcap_argument.h index f7fd27ce37..fb2aef4022 100644 --- a/ui/qt/extcap_argument.h +++ b/ui/qt/extcap_argument.h @@ -70,8 +70,8 @@ class ExtcapArgument: public QObject Q_OBJECT public: - ExtcapArgument(QObject *parent=0); - ExtcapArgument(extcap_arg * argument, QObject *parent=0); + ExtcapArgument(QObject *parent = Q_NULLPTR); + ExtcapArgument(extcap_arg * argument, QObject *parent = Q_NULLPTR); ExtcapArgument(const ExtcapArgument &obj); virtual ~ExtcapArgument(); @@ -86,13 +86,14 @@ public: bool isDefault(); virtual bool isValid(); bool isRequired(); + bool reload(); QString prefKey(const QString & device_name); virtual QString prefValue(); void resetValue(); - static ExtcapArgument * create(extcap_arg * argument = 0); + static ExtcapArgument * create(extcap_arg * argument = Q_NULLPTR, QObject * parent = Q_NULLPTR); Q_SIGNALS: void valueChanged(); @@ -102,6 +103,7 @@ protected: bool fileExists(); ExtcapValueList loadValues(QString parent); + bool reloadValues(); ExtcapValueList values; @@ -122,7 +124,7 @@ class ExtArgText : public ExtcapArgument { public: - ExtArgText(extcap_arg * argument); + ExtArgText(extcap_arg * argument, QObject *parent = Q_NULLPTR); virtual QWidget * createEditor(QWidget * parent); virtual QString value(); @@ -136,7 +138,7 @@ protected: class ExtArgNumber : public ExtArgText { public: - ExtArgNumber(extcap_arg * argument); + ExtArgNumber(extcap_arg * argument, QObject *parent = Q_NULLPTR); virtual QWidget * createEditor(QWidget * parent); virtual QString defaultValue(); @@ -144,8 +146,10 @@ public: class ExtArgSelector : public ExtcapArgument { + Q_OBJECT + public: - ExtArgSelector(extcap_arg * argument); + ExtArgSelector(extcap_arg * argument, QObject *parent = Q_NULLPTR); virtual QWidget * createEditor(QWidget * parent); virtual QString value(); @@ -154,12 +158,16 @@ public: private: QComboBox * boxSelection; + +private Q_SLOTS: + void onReloadTriggered(); + }; class ExtArgRadio : public ExtcapArgument { public: - ExtArgRadio(extcap_arg * argument); + ExtArgRadio(extcap_arg * argument, QObject *parent = Q_NULLPTR); virtual QWidget * createEditor(QWidget * parent); virtual QString value(); @@ -174,7 +182,7 @@ private: class ExtArgBool : public ExtcapArgument { public: - ExtArgBool(extcap_arg * argument); + ExtArgBool(extcap_arg * argument, QObject *parent = Q_NULLPTR); virtual QWidget * createLabel(QWidget * parent); virtual QWidget * createEditor(QWidget * parent); @@ -197,7 +205,7 @@ class ExtArgTimestamp : public ExtcapArgument Q_OBJECT public: - ExtArgTimestamp(extcap_arg * argument); + ExtArgTimestamp(extcap_arg * argument, QObject *parent = Q_NULLPTR); virtual QWidget * createEditor(QWidget * parent); virtual bool isValid(); |