X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fpopups%2Fdeviceoptions.cpp;h=bfb702cf064ce062462b67e5c7f0d0eba3f822d0;hb=bc4b9ccfc78d9d0987525360fa6d93bed681951a;hp=30d5f579422a37517aa689cae30dc1a88fe98262;hpb=819f4c25391a9c74d3d2f528d462142d5c4aad4d;p=pulseview.git
diff --git a/pv/popups/deviceoptions.cpp b/pv/popups/deviceoptions.cpp
index 30d5f57..bfb702c 100644
--- a/pv/popups/deviceoptions.cpp
+++ b/pv/popups/deviceoptions.cpp
@@ -14,31 +14,48 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ * along with this program; if not, see .
*/
-#include "deviceoptions.h"
-
-#include
+#include "deviceoptions.hpp"
#include
#include
-#include
+#include
+
+#include
+
+using std::shared_ptr;
+
+using sigrok::Device;
namespace pv {
namespace popups {
-DeviceOptions::DeviceOptions(sr_dev_inst *sdi, QWidget *parent) :
+DeviceOptions::DeviceOptions(shared_ptr device, QWidget *parent) :
Popup(parent),
- _sdi(sdi),
- _layout(this),
- _binding(sdi)
+ device_(device),
+ layout_(this),
+ binding_(device)
+{
+ setLayout(&layout_);
+
+ layout_.addWidget(binding_.get_property_form(this, true));
+}
+
+pv::binding::Device& DeviceOptions::binding()
+{
+ return binding_;
+}
+
+void DeviceOptions::show()
{
- setLayout(&_layout);
+ // Update device config widgets with the current values supplied by the
+ // driver before actually showing the popup dialog
+ binding_.update_property_widgets();
- _layout.addWidget(_binding.get_property_form(this, true));
+ Popup::show();
}
} // namespace popups