diff options
| author | Aldrik Ramaekers <aldrikboy@gmail.com> | 2024-03-07 20:49:22 +0100 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrikboy@gmail.com> | 2024-03-07 20:49:22 +0100 |
| commit | 34f5b833d86ea1dad98d683723cf05a17684237b (patch) | |
| tree | da96384eb99ed097c8df4af14fdb32ae587633a3 /src/main.cpp | |
| parent | c1890c5c1cbbd9ac9f22903ba01c326458d9238a (diff) | |
add ImFileDialog with minor changes
Diffstat (limited to 'src/main.cpp')
| -rw-r--r-- | src/main.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/main.cpp b/src/main.cpp index 5dc0f04..a709ef4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2,6 +2,7 @@ #include "../imgui/imgui_spectrum.h" #include "../imgui/imgui_impl_opengl3_loader.h" #include "../imspinner/imspinner.h" +#include "../imfiledialog/imFileDialog.h" #include "../utf8.h" #include "definitions.h" #include "search.h" @@ -328,7 +329,17 @@ void ts_create_gui(int window_w, int window_h) { ImGui::BeginChild("search-boxes2", ImVec2(frame_w, textbox_area_height), false); { ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 1.0f); - ImGui::ImageButton("Folder", (void*)(intptr_t)img_folder.id, ImVec2(18.0f, 18.0f)); + if (ImGui::ImageButton("Folder", (void*)(intptr_t)img_folder.id, ImVec2(18.0f, 18.0f))) { + ifd::FileDialog::Instance().Open("FolderSelectDialog", "Select a directory", ""); + } + if (ifd::FileDialog::Instance().IsDone("FolderSelectDialog", window_w, window_h)) { + if (ifd::FileDialog::Instance().HasResult()) { + std::string res = ifd::FileDialog::Instance().GetResult().u8string(); + snprintf(path_buffer, MAX_INPUT_LENGTH, res.c_str()); + } + ifd::FileDialog::Instance().Close(); + } + ImGui::SameLine(); ImGui::PushItemWidth(-1); if (ImGui::InputTextWithHint("filter-ti", "Filter", filter_buffer, MAX_INPUT_LENGTH, ImGuiInputTextFlags_EnterReturnsTrue)) { |
