v1.1.0: explorer tab, bootstrap fixes, full theme overlay merge
Explorer tab:
- New block explorer tab with search, chain stats, mempool info,
recent blocks table, block detail modal with tx expansion
- Sidebar nav entry, i18n strings, ui.toml layout values
Bootstrap fixes:
- Move wizard Done handler into render() — was dead code, preventing
startEmbeddedDaemon() and tryConnect() from firing post-wizard
- Stop deleting BDB database/ dir during cleanup — caused LSN mismatch
that salvaged wallet.dat into wallet.{timestamp}.bak
- Add banlist.dat, db.log, .lock to cleanup file list
- Fatal extraction failure for blocks/ and chainstate/ files
- Verification progress: split SHA-256 (0-50%) and MD5 (50-100%)
Theme system:
- Expand overlay merge to apply ALL sections (tabs, dialogs, components,
screens, flat sections), not just theme+backdrop+effects
- Add screens and security section parsing to UISchema
- Build-time theme expansion via expand_themes.py (CMake + build.sh)
Other:
- Version bump to 1.1.0
- WalletState::clear() resets all fields (sync, daemon info, etc.)
- Sidebar item-height 42 → 36
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
project(ObsidianDragon
|
||||
VERSION 1.0.2
|
||||
VERSION 1.1.0
|
||||
LANGUAGES C CXX
|
||||
DESCRIPTION "DragonX Cryptocurrency Wallet"
|
||||
)
|
||||
@@ -243,6 +243,7 @@ set(APP_SOURCES
|
||||
src/ui/windows/transactions_tab.cpp
|
||||
src/ui/windows/mining_tab.cpp
|
||||
src/ui/windows/peers_tab.cpp
|
||||
src/ui/windows/explorer_tab.cpp
|
||||
src/ui/windows/market_tab.cpp
|
||||
src/ui/windows/console_tab.cpp
|
||||
src/ui/windows/settings_window.cpp
|
||||
@@ -320,6 +321,7 @@ set(APP_HEADERS
|
||||
src/ui/windows/transactions_tab.h
|
||||
src/ui/windows/mining_tab.h
|
||||
src/ui/windows/peers_tab.h
|
||||
src/ui/windows/explorer_tab.h
|
||||
src/ui/windows/market_tab.h
|
||||
src/ui/windows/settings_window.h
|
||||
src/ui/windows/about_dialog.h
|
||||
@@ -540,10 +542,29 @@ embed_resource(
|
||||
# Note: xmrig is embedded via build.sh (embedded_data.h) for Windows builds,
|
||||
# following the same pattern as daemon embedding.
|
||||
|
||||
# Copy theme files at BUILD time (not just cmake configure time)
|
||||
# so edits to res/themes/*.toml are picked up by 'make' without re-running cmake.
|
||||
# Expand and copy theme files at BUILD time — skin files get layout sections
|
||||
# from ui.toml appended automatically so users can see/edit all properties.
|
||||
# Source skin files stay minimal; the merged output goes to build/bin/res/themes/.
|
||||
find_package(Python3 QUIET COMPONENTS Interpreter)
|
||||
if(NOT Python3_FOUND)
|
||||
find_program(Python3_EXECUTABLE NAMES python3 python)
|
||||
endif()
|
||||
file(GLOB THEME_FILES ${CMAKE_SOURCE_DIR}/res/themes/*.toml)
|
||||
if(THEME_FILES)
|
||||
if(THEME_FILES AND Python3_EXECUTABLE)
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/res/themes/.expanded
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/scripts/expand_themes.py
|
||||
${CMAKE_SOURCE_DIR}/res/themes
|
||||
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/res/themes
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/res/themes/.expanded
|
||||
DEPENDS ${THEME_FILES} ${CMAKE_SOURCE_DIR}/scripts/expand_themes.py
|
||||
COMMENT "Expanding theme files (merging layout from ui.toml)"
|
||||
)
|
||||
add_custom_target(copy_themes ALL DEPENDS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/res/themes/.expanded)
|
||||
add_dependencies(ObsidianDragon copy_themes)
|
||||
message(STATUS " Theme files: ${THEME_FILES} (build-time expansion via Python)")
|
||||
elseif(THEME_FILES)
|
||||
# Fallback: plain copy if Python is not available
|
||||
foreach(THEME_FILE ${THEME_FILES})
|
||||
get_filename_component(THEME_FILENAME ${THEME_FILE} NAME)
|
||||
add_custom_command(
|
||||
@@ -558,7 +579,7 @@ if(THEME_FILES)
|
||||
endforeach()
|
||||
add_custom_target(copy_themes ALL DEPENDS ${THEME_OUTPUTS})
|
||||
add_dependencies(ObsidianDragon copy_themes)
|
||||
message(STATUS " Theme files: ${THEME_FILES}")
|
||||
message(STATUS " Theme files: ${THEME_FILES} (plain copy, Python not found)")
|
||||
endif()
|
||||
|
||||
# Copy image files (including backgrounds/ subdirectories and logos/)
|
||||
|
||||
Reference in New Issue
Block a user