X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=input_mapping_dialog.cpp;h=9e12c98c46cbd26e3a480a9ec76380faf9f7b8c9;hb=4a0187ffb4075b4d217b8d9e9c96cac548b199d8;hp=c81e2923e07cfff9864c08daf9d429e4e2b25524;hpb=26e1ec466d4730b6abc0e20201d704cfdf41a6eb;p=nageru diff --git a/input_mapping_dialog.cpp b/input_mapping_dialog.cpp index c81e292..9e12c98 100644 --- a/input_mapping_dialog.cpp +++ b/input_mapping_dialog.cpp @@ -1,11 +1,29 @@ #include "input_mapping_dialog.h" -#include "post_to_main_thread.h" -#include "ui_input_mapping.h" - +#include +#include +#include +#include +#include #include +#include #include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "alsa_pool.h" +#include "defs.h" +#include "post_to_main_thread.h" +#include "ui_input_mapping.h" using namespace std; using namespace std::placeholders; @@ -248,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"; } @@ -262,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;