diff --git a/plugins/Cardinal/src/Ildaeil.cpp b/plugins/Cardinal/src/Ildaeil.cpp index 64bc877..c6163cc 100644 --- a/plugins/Cardinal/src/Ildaeil.cpp +++ b/plugins/Cardinal/src/Ildaeil.cpp @@ -31,7 +31,6 @@ #ifndef HEADLESS # include "ImGuiWidget.hpp" # include "ModuleWidgets.hpp" -# include "extra/FileBrowserDialog.hpp" # include "extra/Mutex.hpp" # include "extra/Runner.hpp" # include "extra/ScopedPointer.hpp" @@ -711,8 +710,6 @@ struct IldaeilWidget : ImGuiWidget, IdleCallback, Runner { String fPopupError; - FileBrowserHandle fileBrowserHandle = nullptr; - bool idleCallbackActive = false; IldaeilModule* const module; @@ -749,13 +746,8 @@ struct IldaeilWidget : ImGuiWidget, IdleCallback, Runner { if (module != nullptr && module->fCarlaHostHandle != nullptr) { if (idleCallbackActive) - { module->pcontext->removeIdleCallback(this); - if (fileBrowserHandle != nullptr) - fileBrowserClose(fileBrowserHandle); - } - if (fPluginRunning) carla_show_custom_ui(module->fCarlaHostHandle, 0, false); @@ -819,12 +811,15 @@ struct IldaeilWidget : ImGuiWidget, IdleCallback, Runner { DISTRHO_SAFE_ASSERT_RETURN(idleCallbackActive,); DISTRHO_SAFE_ASSERT_RETURN(fPluginType == PLUGIN_INTERNAL || fPluginType == PLUGIN_LV2,); - const CardinalPluginContext* const pcontext = module->pcontext; + const CarlaHostHandle handle = module->fCarlaHostHandle; + async_dialog_filebrowser(false, nullptr, nullptr, title, [handle](char* path) + { + if (path == nullptr) + return; - // FIXME isEmbed - FileBrowserOptions opts; - opts.title = title; - fileBrowserHandle = fileBrowserCreate(true, pcontext->nativeWindowId, pcontext->window->pixelRatio, opts); + carla_set_custom_data(handle, 0, CUSTOM_DATA_TYPE_PATH, "file", path); + std::free(path); + }); } void createOrUpdatePluginGenericUI(const CarlaHostHandle handle) @@ -1030,12 +1025,6 @@ struct IldaeilWidget : ImGuiWidget, IdleCallback, Runner { { idleCallbackActive = false; pcontext->removeIdleCallback(this); - - if (fileBrowserHandle != nullptr) - { - fileBrowserClose(fileBrowserHandle); - fileBrowserHandle = nullptr; - } } } } @@ -1049,15 +1038,6 @@ struct IldaeilWidget : ImGuiWidget, IdleCallback, Runner { carla_juce_idle(); */ - if (fileBrowserHandle != nullptr && fileBrowserIdle(fileBrowserHandle)) - { - if (const char* const path = fileBrowserGetPath(fileBrowserHandle)) - carla_set_custom_data(handle, 0, CUSTOM_DATA_TYPE_PATH, "file", path); - - fileBrowserClose(fileBrowserHandle); - fileBrowserHandle = nullptr; - } - if (fDrawingState == kDrawingPluginGenericUI && fPluginGenericUI != nullptr && fPluginHasOutputParameters) { updatePluginGenericUI(handle); diff --git a/plugins/Cardinal/src/TextEditor.cpp b/plugins/Cardinal/src/TextEditor.cpp index 621ce86..f8a67cd 100644 --- a/plugins/Cardinal/src/TextEditor.cpp +++ b/plugins/Cardinal/src/TextEditor.cpp @@ -19,7 +19,6 @@ #ifndef HEADLESS # include "ImGuiTextEditor.hpp" -# include "extra/FileBrowserDialog.hpp" #endif #include