X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=input_mapping_dialog.cpp;h=9e12c98c46cbd26e3a480a9ec76380faf9f7b8c9;hb=ffd68fbfb90242069af957f2a28908f0559f8348;hp=f303280e62215059f246176e7db232ec2a161af8;hpb=cf7b9ee186d4ef8e5da0531b75854c97b821be44;p=nageru diff --git a/input_mapping_dialog.cpp b/input_mapping_dialog.cpp index f303280..9e12c98 100644 --- a/input_mapping_dialog.cpp +++ b/input_mapping_dialog.cpp @@ -266,8 +266,14 @@ void InputMappingDialog::updown_clicked(int direction) void InputMappingDialog::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 QString filename = QFileDialog::getSaveFileName(this, - "Save input mapping", QString(), tr("Mapping files (*.mapping)")); + "Save input mapping", QString(), tr("Mapping files (*.mapping)"), /*selectedFilter=*/nullptr, options); if (!filename.endsWith(".mapping")) { filename += ".mapping"; } @@ -280,8 +286,14 @@ void InputMappingDialog::save_clicked() void InputMappingDialog::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 input mapping", QString(), tr("Mapping files (*.mapping)")); + "Load input mapping", QString(), tr("Mapping files (*.mapping)"), /*selectedFilter=*/nullptr, options); InputMapping new_mapping; if (!load_input_mapping_from_file(devices, filename.toStdString(), &new_mapping)) { QMessageBox box;