]> sigrok.org Git - pulseview.git/blobdiff - pv/widgets/importmenu.cpp
Fix #971: Allow saving/restoring of session setups
[pulseview.git] / pv / widgets / importmenu.cpp
index 1a45aa6207dec2cd493719bfa86f5eb376a80afb..e3034249769e66c73041b37af30fcab6f0ec1392 100644 (file)
@@ -31,6 +31,7 @@ using std::map;
 using std::pair;
 using std::string;
 using std::shared_ptr;
+using std::vector;
 
 using sigrok::Context;
 using sigrok::InputFormat;
@@ -39,16 +40,23 @@ namespace pv {
 namespace widgets {
 
 ImportMenu::ImportMenu(QWidget *parent, shared_ptr<Context> context,
-       QAction *open_action) :
+       vector<QAction *>open_actions) :
        QMenu(parent),
        context_(context),
        mapper_(this)
 {
        assert(context);
 
-       if (open_action) {
-               addAction(open_action);
-               setDefaultAction(open_action);
+       if (!open_actions.empty()) {
+               bool first_action = true;
+               for (auto open_action : open_actions) {
+                       addAction(open_action);
+
+                       if (first_action) {
+                               first_action = false;
+                               setDefaultAction(open_action);
+                       }
+               }
                addSeparator();
        }