#include <QLabel>
#include <QSlider>
+#include <libsigrokcxx/libsigrokcxx.hpp>
+
#include "enum.hpp"
using std::abs;
if (!getter_)
return nullptr;
- Glib::VariantBase variant = getter_();
+ Glib::VariantBase variant;
+
+ try {
+ variant = getter_();
+ } catch (const sigrok::Error &e) {
+ qWarning() << tr("Querying config key %1 resulted in %2").arg(name_, e.what());
+ return nullptr;
+ }
+
if (!variant.gobj())
return nullptr;
selector_ = new QComboBox(parent);
for (unsigned int i = 0; i < values_.size(); i++) {
const pair<Glib::VariantBase, QString> &v = values_[i];
- selector_->addItem(v.second, qVariantFromValue(v.first));
+ selector_->addItem(v.second, QVariant::fromValue(v.first));
}
update_widget();
void Enum::update_widget()
{
- Glib::VariantBase variant = getter_();
+ Glib::VariantBase variant;
+
+ try {
+ variant = getter_();
+ } catch (const sigrok::Error &e) {
+ qWarning() << tr("Querying config key %1 resulted in %2").arg(name_, e.what());
+ return;
+ }
+
assert(variant.gobj());
if (is_range_) {