]> git.sesse.net Git - nageru/blobdiff - midi_mapping_dialog.cpp
Make for faster shutdown of DeckLink cards.
[nageru] / midi_mapping_dialog.cpp
index 4a4ecfbfee7c2218910412df584c0f7fc5cc0af7..cc9f394a78bdc63b41f156eea7d1050d361e694c 100644 (file)
@@ -29,6 +29,8 @@ using namespace google::protobuf;
 using namespace std;
 
 vector<MIDIMappingDialog::Control> per_bus_controllers = {
+       { "Stereo width",             MIDIMappingBusProto::kStereoWidthFieldNumber,
+                                     MIDIMappingProto::kStereoWidthBankFieldNumber },
        { "Treble",                   MIDIMappingBusProto::kTrebleFieldNumber, MIDIMappingProto::kTrebleBankFieldNumber },
        { "Mid",                      MIDIMappingBusProto::kMidFieldNumber,    MIDIMappingProto::kMidBankFieldNumber },
        { "Bass",                     MIDIMappingBusProto::kBassFieldNumber,   MIDIMappingProto::kBassBankFieldNumber },
@@ -280,9 +282,15 @@ void MIDIMappingDialog::cancel_clicked()
 
 void MIDIMappingDialog::save_clicked()
 {
+#if HAVE_CEF
+       // The native file dialog uses GTK+, which interferes with CEF's use of the GLib main loop.
+       QFileDialog::Option options(QFileDialog::DontUseNativeDialog);
+#else
+       QFileDialog::Option options;
+#endif
        unique_ptr<MIDIMappingProto> new_mapping = construct_mapping_proto_from_ui();
        QString filename = QFileDialog::getSaveFileName(this,
-               "Save MIDI mapping", QString(), tr("Mapping files (*.midimapping)"));
+               "Save MIDI mapping", QString(), tr("Mapping files (*.midimapping)"), /*selectedFilter=*/nullptr, options);
        if (!filename.endsWith(".midimapping")) {
                filename += ".midimapping";
        }
@@ -295,8 +303,14 @@ void MIDIMappingDialog::save_clicked()
 
 void MIDIMappingDialog::load_clicked()
 {
+#if HAVE_CEF
+       // The native file dialog uses GTK+, which interferes with CEF's use of the GLib main loop.
+       QFileDialog::Option options(QFileDialog::DontUseNativeDialog);
+#else
+       QFileDialog::Option options;
+#endif
        QString filename = QFileDialog::getOpenFileName(this,
-               "Load MIDI mapping", QString(), tr("Mapping files (*.midimapping)"));
+               "Load MIDI mapping", QString(), tr("Mapping files (*.midimapping)"), /*selectedFilter=*/nullptr, options);
        MIDIMappingProto new_mapping;
        if (!load_midi_mapping_from_file(filename.toStdString(), &new_mapping)) {
                QMessageBox box;