X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fprop%2Fstring.cpp;h=4921129e9242bdb61c22e1c9ddb5aedfed958091;hb=27e8df221014d1a8c7769866773e8dbb0486eea8;hp=b9de789b90298042104bd0b60b2ea94e8bd45668;hpb=7112a4581822c43241a55fbd61c98bee062d452b;p=pulseview.git diff --git a/pv/prop/string.cpp b/pv/prop/string.cpp index b9de789..4921129 100644 --- a/pv/prop/string.cpp +++ b/pv/prop/string.cpp @@ -20,6 +20,7 @@ #include +#include #include #include "string.h" @@ -38,7 +39,7 @@ String::String(QString name, { } -QWidget* String::get_widget(QWidget *parent) +QWidget* String::get_widget(QWidget *parent, bool auto_commit) { if (_line_edit) return _line_edit; @@ -47,11 +48,15 @@ QWidget* String::get_widget(QWidget *parent) GVariant *const value = _getter ? _getter() : NULL; if (value) { - _line_edit->setText(QString( + _line_edit->setText(QString::fromUtf8( g_variant_get_string(value, NULL))); g_variant_unref(value); } + if (auto_commit) + connect(_line_edit, SIGNAL(textEdited(const QString&)), + this, SLOT(on_text_edited(const QString&))); + return _line_edit; } @@ -66,5 +71,10 @@ void String::commit() _setter(g_variant_new_string(ba.data())); } +void String::on_text_edited(const QString&) +{ + commit(); +} + } // prop } // pv