X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fwidgets%2Fimportmenu.cpp;h=f827d35bff3935e69a4f453c04c12e4d78058898;hb=009fc9ae42ecccd3802f549b39c19a2ba895959d;hp=a56bff7c3b4e448d025ef5c0a13afb3858937b29;hpb=9448fb39f26b26f97fe39f734b1a882345a05692;p=pulseview.git diff --git a/pv/widgets/importmenu.cpp b/pv/widgets/importmenu.cpp index a56bff7c..f827d35b 100644 --- a/pv/widgets/importmenu.cpp +++ b/pv/widgets/importmenu.cpp @@ -14,8 +14,7 @@ * 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 @@ -32,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; @@ -40,16 +40,23 @@ namespace pv { namespace widgets { ImportMenu::ImportMenu(QWidget *parent, shared_ptr context, - QAction *open_action) : + vectoropen_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(); } @@ -60,7 +67,7 @@ ImportMenu::ImportMenu(QWidget *parent, shared_ptr context, assert(f.second); QAction *const action = addAction(tr("Import %1...") .arg(QString::fromStdString(f.second->description()))); - action->setData(qVariantFromValue((void*)f.second.get())); + action->setData(QVariant::fromValue((void*)f.second.get())); mapper_.setMapping(action, action); connect(action, SIGNAL(triggered()), &mapper_, SLOT(map())); } @@ -85,5 +92,5 @@ void ImportMenu::on_action(QObject *action) format_selected((*iter).second); } -} // widgets -} // pv +} // namespace widgets +} // namespace pv