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.
- Added dark.qss stylesheet for dark theme
- Implemented toggleTheme() slot in PalladiumGUI
- Added 'Dark Mode' checkbox to Settings menu
- Theme preference is saved in QSettings (darkModeEnabled)
- Updated palladium.qrc to include style resources
Update README.md to reference new comprehensive configuration documentation
Add detailed configuration-file.md with complete examples and best practices