- use Bech32 for witness v0 and Bech32m for witness v1+ in key_io
- update C++ bech32 tests and python segwit_addr framework
- realign key/address test vectors and fixtures to Palladium prefixes/params
- adjust chain-parameter-sensitive tests (maturity, BIP66/regtest, message verify)
- fix incorrect historical sha256 expected vector in unit tests
- Set consistent min-height (22px) and padding (2px) for all input widgets
- Add dark-styled backgrounds to spinbox buttons (#2A2A2A with hover)
- Use native Qt arrows for spinbox buttons to match light mode
- Apply styling to QLineEdit, QSpinBox, QComboBox, PalladiumAmountField
Ensures uniform widget dimensions and visible controls across all pages
in both light and dark modes
Set consistent min-height (20px) and padding (3px) for all input widgets
(QLineEdit, QSpinBox, QComboBox, PalladiumAmountField) in dark mode to
ensure uniform dimensions across themes
This commit addresses multiple UI issues related to theme switching and
dark mode styling:
1. Fix spinbox height inconsistency between light and dark modes
- Add changeEvent() handler in AmountSpinBox to invalidate cached
size hint when theme/style/palette changes
- Force updateGeometry() on all visible widgets after theme toggle
- Add min-height and padding to dark mode spinbox CSS to match
light mode dimensions
2. Improve spinbox button visibility in dark mode
- Add visible background and borders to up/down buttons
- Use dark grey arrows (#808080) instead of white for better contrast
- Add hover states with appropriate dark theme colors
- Set proper button width (16px) for consistent appearance
3. Enhanced theme switching
- Invalidate widget geometry caches when switching between themes
- Ensure consistent rendering between native (light) and stylesheet
(dark) rendering modes
Files modified:
- src/qt/palladiumamountfield.cpp: Add changeEvent() handler
- src/qt/palladiumgui.cpp: Force geometry update after theme change
- src/qt/res/styles/dark.qss: Improve spinbox styling with proper
dimensions, button visibility, and dark-appropriate colors
This ensures a consistent user experience across both themes with
properly sized widgets and visible, theme-appropriate controls
Enhance the sync modal overlay visibility and aesthetics:
- Add 1px border to content widget using palette(mid) for theme adaptation
- Restore semi-transparent background (alpha=230) to overlay backdrop
- Remove minimum window size constraint (950x550) for better flexibility
The border ensures the overlay is clearly visible in both light and dark
modes, while the semi-transparent background provides visual separation
without completely obscuring the underlying interface
Add missing C++ standard library includes required by GCC 13+ and newer
toolchains. These headers were previously included implicitly through
other headers in older GCC versions (e.g., GCC 9 on Ubuntu 20.04), but
modern compilers require explicit includes per C++ standard compliance.
Changes:
- Add <cstdint> to util/bip32.h for uint32_t type definitions
- Add <array> to net_processing.cpp for std::array
- Add <stdexcept> to multiple headers for exception types:
* support/events.h (std::runtime_error)
* dbwrapper.h (std::runtime_error base class)
* streams.h (std::out_of_range, std::ios_base::failure)
* coins.h (std::logic_error)
* wallet/coinselection.h (std::invalid_argument, std::out_of_range)
* rpc/util.h (std::runtime_error)
* support/lockedpool.h (std::runtime_error)
* support/lockedpool.cpp (std::runtime_error)
* wallet/scriptpubkeyman.h (std::runtime_error)
This ensures compatibility across different compiler versions and
architectures (ARM64/x86_64) while maintaining backward compatibility
with older toolchains.
Tested on Ubuntu 24.04 with GCC 13.
Fix unbound variable error when script is run without arguments.
Use parameter expansion ${1:-} instead of $1 to safely check for
--installer flag when set -u is enabled.