X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fprop%2Fbool.cpp;h=699656f75d3ab60adbd81006d0c4c692886161db;hp=e0e052fc6b2b377c3d580192beda10793d331884;hb=e8d009288de28cb194bc7964f96677c2baf900c9;hpb=87b79835014a386fb51b52bc993dbb693bd27197 diff --git a/pv/prop/bool.cpp b/pv/prop/bool.cpp index e0e052f..699656f 100644 --- a/pv/prop/bool.cpp +++ b/pv/prop/bool.cpp @@ -42,14 +42,18 @@ QWidget* Bool::get_widget(QWidget *parent, bool auto_commit) if (_check_box) return _check_box; - GVariant *const value = _getter ? _getter() : NULL; - if (!value) + if (!_getter) return NULL; + Glib::VariantBase variant = _getter(); + if (!variant.gobj()) + return NULL; + + bool value = Glib::VariantBase::cast_dynamic>( + variant).get(); + _check_box = new QCheckBox(name(), parent); - _check_box->setCheckState(g_variant_get_boolean(value) ? - Qt::Checked : Qt::Unchecked); - g_variant_unref(value); + _check_box->setCheckState(value ? Qt::Checked : Qt::Unchecked); if (auto_commit) connect(_check_box, SIGNAL(stateChanged(int)), @@ -70,7 +74,7 @@ void Bool::commit() if (!_check_box) return; - _setter(g_variant_new_boolean( + _setter(Glib::Variant::create( _check_box->checkState() == Qt::Checked)); }