summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrikboy@gmail.com>2024-03-07 20:49:22 +0100
committerAldrik Ramaekers <aldrikboy@gmail.com>2024-03-07 20:49:22 +0100
commit34f5b833d86ea1dad98d683723cf05a17684237b (patch)
treeda96384eb99ed097c8df4af14fdb32ae587633a3 /src/main.cpp
parentc1890c5c1cbbd9ac9f22903ba01c326458d9238a (diff)
add ImFileDialog with minor changes
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp13
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)) {