diff options
| author | Aldrik Ramaekers <aldrikboy@gmail.com> | 2024-03-14 15:36:42 +0100 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrikboy@gmail.com> | 2024-03-14 15:36:42 +0100 |
| commit | b7d17bdf8c0f1a4118709fbc5162463afb48b5c8 (patch) | |
| tree | b5482ec81e2b27249c5ccbf605a9df1f8e8ca26d /src | |
| parent | 86ff6ad26ae6528c256194aa9609513cd4064f67 (diff) | |
"Open" menu button for file importing
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/main.cpp b/src/main.cpp index 9b6e599..914bcc4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -142,7 +142,9 @@ static int _ts_create_menu(int window_w, int window_h) { { if (ImGui::BeginMenu("File")) { - //ImGui::MenuItem("Open", "CTRL+O"); + if (ImGui::MenuItem("Open")) { + ifd::FileDialog::Instance().Save("FileOpenDialog", "Open file", "File (*.csv){.csv}"); + } if (ImGui::MenuItem("Save")) { if (strlen(save_path) == 0) ifd::FileDialog::Instance().Save("FileSaveAsDialog", "Save results to file", "File (*.csv;*.json;*.xml){.csv,.json,.xml}"); @@ -178,6 +180,7 @@ static int _ts_create_menu(int window_w, int window_h) { _ts_create_popups(); + // File exporting. if (ifd::FileDialog::Instance().IsDone("FileSaveAsDialog", window_w, window_h)) { if (ifd::FileDialog::Instance().HasResult()) { std::string res = ifd::FileDialog::Instance().GetResult().u8string(); @@ -192,6 +195,22 @@ static int _ts_create_menu(int window_w, int window_h) { ifd::FileDialog::Instance().Close(); } + // File importing. + if (ifd::FileDialog::Instance().IsDone("FileOpenDialog", window_w, window_h)) { + if (ifd::FileDialog::Instance().HasResult()) { + std::string res = ifd::FileDialog::Instance().GetResult().u8string(); + utf8ncpy(save_path, (const utf8_int8_t *)res.c_str(), sizeof(save_path)); + + // Set titlebar name. + utf8_int8_t new_name[MAX_INPUT_LENGTH]; + snprintf(new_name, MAX_INPUT_LENGTH, "Text-Search > %s", res.c_str()); + ts_platform_set_window_title(new_name); + + current_search_result = ts_import_result(save_path); + } + ifd::FileDialog::Instance().Close(); + } + if (last_export_result != EXPORT_NONE) { ImGui::OpenPopup("Export Failed"); ImGuiIO& io = ImGui::GetIO(); @@ -549,6 +568,7 @@ void ts_create_gui(int window_w, int window_h) { if (dragdrop_data.did_drop) { current_search_result = ts_import_result(dragdrop_data.path); + utf8ncpy(save_path, dragdrop_data.path, sizeof(save_path)); dragdrop_data.did_drop = false; } |
