diff --git a/src/ui/pages/settings_page.cpp b/src/ui/pages/settings_page.cpp index 363b98a..4a35145 100644 --- a/src/ui/pages/settings_page.cpp +++ b/src/ui/pages/settings_page.cpp @@ -1652,6 +1652,14 @@ void RenderSettingsPage(App* app) { } } + // Open the wallet data folder in the OS file manager (always available in lite). + ImGui::Dummy(ImVec2(0, Layout::spacingSm())); + ImGui::SetCursorScreenPos(ImVec2(leftX, ImGui::GetCursorScreenPos().y)); + if (TactileButton(TR("settings_open_data_dir"), ImVec2(0, 0), S.resolveFont("button"))) { + util::Platform::openFolder(util::Platform::getDragonXDataDir()); + } + if (ImGui::IsItemHovered()) ImGui::SetTooltip("%s", TR("tt_open_data_dir")); + // ---- Backup & keys (open wallet only) ---------------------------------- if (app->liteWallet() && app->liteWallet()->walletOpen()) { ImGui::Dummy(ImVec2(0, Layout::spacingSm())); @@ -1917,6 +1925,13 @@ void RenderSettingsPage(App* app) { } } + // Explicit button to open the wallet + blockchain data folder in the OS file manager. + ImGui::SetCursorScreenPos(ImVec2(leftX, ImGui::GetCursorScreenPos().y)); + if (TactileButton(TR("settings_open_data_dir"), ImVec2(0, 0), S.resolveFont("button"))) { + util::Platform::openFolder(util::Platform::getDragonXDataDir()); + } + if (ImGui::IsItemHovered()) ImGui::SetTooltip("%s", TR("tt_open_data_dir")); + ImGui::Dummy(ImVec2(0, Layout::spacingXs())); // RPC connection — two columns: (Host | Username) and (Port | Password) diff --git a/src/util/i18n.cpp b/src/util/i18n.cpp index 54e613a..12e3511 100644 --- a/src/util/i18n.cpp +++ b/src/util/i18n.cpp @@ -401,6 +401,8 @@ void I18n::loadBuiltinEnglish() strings_["bootstrap_restart_daemon"] = "Restart Daemon"; strings_["bootstrap_failed"] = "Bootstrap Failed"; strings_["tt_open_dir"] = "Click to open in file explorer"; + strings_["settings_open_data_dir"] = "Open data folder"; + strings_["tt_open_data_dir"] = "Open the folder with your wallet and blockchain data in the file manager"; strings_["tt_rpc_host"] = "Hostname of the DragonX daemon"; strings_["tt_rpc_user"] = "RPC authentication username"; strings_["tt_rpc_port"] = "Port for daemon RPC connections";