X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fwidgets%2Fexportmenu.cpp;h=bda669288f3731b9f3706fd9603de490eaee25a6;hb=HEAD;hp=4fa9d197726f1c25da09e952da56c7d317ec4dc7;hpb=ce6001b8b3b21778218f07549b165ac848ceffd2;p=pulseview.git
diff --git a/pv/widgets/exportmenu.cpp b/pv/widgets/exportmenu.cpp
index 4fa9d197..bda66928 100644
--- a/pv/widgets/exportmenu.cpp
+++ b/pv/widgets/exportmenu.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::OutputFormat;
@@ -40,36 +40,48 @@ namespace pv {
namespace widgets {
ExportMenu::ExportMenu(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();
}
const map > formats =
context->output_formats();
- for (const pair > &f : formats) {
+ for (const pair > &f : formats) {
if (f.first == "srzip")
continue;
assert(f.second);
QAction *const action = addAction(tr("Export %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()));
}
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ connect(&mapper_, SIGNAL(mappedObject(QObject*)),
+ this, SLOT(on_action(QObject*)));
+#else
connect(&mapper_, SIGNAL(mapped(QObject*)),
this, SLOT(on_action(QObject*)));
+#endif
}
void ExportMenu::on_action(QObject *action)
@@ -88,5 +100,5 @@ void ExportMenu::on_action(QObject *action)
format_selected((*iter).second);
}
-} // widgets
-} // pv
+} // namespace widgets
+} // namespace pv