fix(lite): "Open data folder" points to the actual lite wallet dir
The lite SilentDragonXLite backend stores its wallet in its own directory (dirs::data_dir()/silentdragonxlite — %APPDATA%\silentdragonxlite on Windows, ~/.silentdragonxlite on Linux, ~/Library/Application Support/silentdragonxlite on macOS), NOT the full-node getDragonXDataDir() (…/Hush/DRAGONX). The newly added lite "Open data folder" button opened the wrong (full-node) directory. Add Platform::getLiteWalletDataDir() mirroring the backend's get_zcash_data_path for the "main" chain, and point the lite button at it. The full-node button is unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1652,11 +1652,13 @@ void RenderSettingsPage(App* app) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Open the wallet data folder in the OS file manager (always available in lite).
|
// Open the lite wallet data folder in the OS file manager (always available in
|
||||||
|
// lite). The lite backend stores its wallet in its OWN dir (silentdragonxlite),
|
||||||
|
// NOT the full-node getDragonXDataDir().
|
||||||
ImGui::Dummy(ImVec2(0, Layout::spacingSm()));
|
ImGui::Dummy(ImVec2(0, Layout::spacingSm()));
|
||||||
ImGui::SetCursorScreenPos(ImVec2(leftX, ImGui::GetCursorScreenPos().y));
|
ImGui::SetCursorScreenPos(ImVec2(leftX, ImGui::GetCursorScreenPos().y));
|
||||||
if (TactileButton(TR("settings_open_data_dir"), ImVec2(0, 0), S.resolveFont("button"))) {
|
if (TactileButton(TR("settings_open_data_dir"), ImVec2(0, 0), S.resolveFont("button"))) {
|
||||||
util::Platform::openFolder(util::Platform::getDragonXDataDir());
|
util::Platform::openFolder(util::Platform::getLiteWalletDataDir());
|
||||||
}
|
}
|
||||||
if (ImGui::IsItemHovered()) ImGui::SetTooltip("%s", TR("tt_open_data_dir"));
|
if (ImGui::IsItemHovered()) ImGui::SetTooltip("%s", TR("tt_open_data_dir"));
|
||||||
|
|
||||||
|
|||||||
@@ -219,6 +219,24 @@ std::string Platform::getDataDir()
|
|||||||
return getDragonXDataDir();
|
return getDragonXDataDir();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string Platform::getLiteWalletDataDir()
|
||||||
|
{
|
||||||
|
// Mirror the SilentDragonXLite backend's get_zcash_data_path() for the "main" chain:
|
||||||
|
// Windows/macOS: dirs::data_dir()/silentdragonxlite (data_dir = %APPDATA%, ~/Library/App Support)
|
||||||
|
// Linux: ~/.silentdragonxlite
|
||||||
|
#ifdef _WIN32
|
||||||
|
char path[MAX_PATH];
|
||||||
|
if (SUCCEEDED(SHGetFolderPathA(nullptr, CSIDL_APPDATA, nullptr, 0, path))) {
|
||||||
|
return std::string(path) + "\\silentdragonxlite\\";
|
||||||
|
}
|
||||||
|
return getHomeDir() + "\\AppData\\Roaming\\silentdragonxlite\\";
|
||||||
|
#elif defined(__APPLE__)
|
||||||
|
return getHomeDir() + "/Library/Application Support/silentdragonxlite/";
|
||||||
|
#else
|
||||||
|
return getHomeDir() + "/.silentdragonxlite/";
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
std::string Platform::getConfigDir()
|
std::string Platform::getConfigDir()
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|||||||
@@ -62,6 +62,15 @@ public:
|
|||||||
*/
|
*/
|
||||||
static std::string getDataDir();
|
static std::string getDataDir();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get the LITE wallet data directory (where the SilentDragonXLite backend stores
|
||||||
|
* silentdragonxlite-wallet.dat). Mirrors the backend's get_zcash_data_path() for the
|
||||||
|
* "main" chain: dirs::data_dir()/silentdragonxlite on Windows/macOS, ~/.silentdragonxlite
|
||||||
|
* on Linux. Distinct from getDragonXDataDir() (the full-node blocks/wallet dir).
|
||||||
|
* @return Path like ~/.silentdragonxlite/ or %APPDATA%\silentdragonxlite\
|
||||||
|
*/
|
||||||
|
static std::string getLiteWalletDataDir();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get the config directory for storing wallet exports/backups
|
* @brief Get the config directory for storing wallet exports/backups
|
||||||
* @return Path like ~/.config/ObsidianDragon/ or %APPDATA%\ObsidianDragon\
|
* @return Path like ~/.config/ObsidianDragon/ or %APPDATA%\ObsidianDragon\
|
||||||
|
|||||||
Reference in New Issue
Block a user