* qt: Add "Appearance Tab" to OptionsDialog and move "Theme" into it
* qt: Add "Font scale" settings to Appearance Tab of OptionsDialog
Allows to scale the font in the same way like with -font-scale.
* qt: Add font weight settings to Appearance tab of OptionsDialog
Allows to set the weight for normal and bold text
* qt: Add font family setting to Appearance tab of OptionsDialog
Allows to choose between system default font or montserrat
* qt: GUIUtil - Maintain a map with supported weights for all fonts.
* qt: Introduce AppearanceWidget
A widget which just wraps all appearance related settings.
Also replaces Appearance settings in OptionsDialog with the introduced widget.
* qt: Introduce initial appearance setup dialog
This will pop up the first time the user starts the DashCore version with the new UI changes.
* qt: Load font related settings in GUIUtil::loadFonts
* qt: Make osDefaultFont global in GUIUtil to fix getFont()
Before getFont(FontFamily, ...) wasn't always able to return the correct font without the requested font family beeing set as application font upfront.
* qt: Improve supported weight helpers
Add conversion helpers. and let all of them depend on the currently selected font.
* qt: Default weights based on supported if not all weights are supported
For SystemDefault only because Montserrat has all supported weights.
* qt/test: Fix GUI tests
* Store normal/bold font GUI settings as "pure" (not "supported") values
* Rename supportedWeighti(To/From)Arg to supportedWeight(To/From)Index to better match the logic and avoid confusion with weight(To/From)Arg functions
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
* qt: Send tab - Generalized related CSS and some redesign
- Removed grey boxes around labels of SendCoinEntry
- Changed button styles for add/clear button
- Removed padding for send button
* qt: Overview tab - Generalized related CSS and some redesign
- Removed grey boxes around balance labels
* qt: Receive tab & QPushButton - Generalized related CSS and some redesign
- Removed grey boxes around "Label", "Amount", "Message" and "Requested
payment history" labels and increased their textsize
- Changed the color of the "Requested payment history" label
- Adjusted the style of the "Clear", "Remove" and "Show" buttons
* qt: Transaction tab - Generalized related CSS and some redesign
- Increased size of selected sum labels
* qt: Masternode tab - Generalized related CSS and some redesign
- Increased the size of the "Filter list" and "Node count" labels
* qt: CoinControl dialog - Generalized related CSS and some redesign
- Removed alternated coloring
* qt: Sync overlay - Generalized related CSS and some redesign
- Adjusted colors
- Added rounded border
* qt: About dialog - Generalized related CSS
* qt: Edit address dialog - Generalized related CSS
* qt: Help message dialog - Generalized related CSS
* qt: RPC console - Generalized related CSS and some redesign
- Changed colors for network activity legend (signal colors TBD in a
code change commit)
* qt: Options dialog - Generalized related CSS
* qt: Ask passphrase dialog - Generalized related CSS
* qt: Addressbook page - Generalized related CSS
* qt: Sign/Verify dialog - Generalized related CSS
* qt: Open URI dialog - Generalized related CSS
* qt: Generalized remaining individual Qt classes
* qt: Fixed indentation in css files
* qt: Use newlines for multiple selector entries
* qt: Formal cleanups in all css files
* qt: Add copyright and file description to all css files
* qt: Add update_colors.py, prepare css files for scripted color updates
- update_colors.py is a python script which parses the css files and prints some
details about their color usage into appropriate files in the css/colors directory. It also
updates the <colors></colors> section for each css file.
- Added <colors></colors> section to css files for automated color updates by update_colors.py
* qt/contrib: Moved update_colors.py to update-css-files.py
This also moves the file from src/qt/res/css to contrib/devtools
* build: Remove files in src/qt/res/css/colors when running "make clean"
* git: Add src/qt/res/css/colors/* to gitignore and remove the files from the repo
* path -> css_folder_path
* Resolve path and fail early
* Create 'colors/' if it doesn't exist and fail if smth went wrong
* Run git after all filesystem preparations are done
* qt: Fix background-color of bgWidget in trad.css
Its #AARRGGBB not #RRGGBBAA!
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
* qt: Run update_colors.py
* contrib: Use case insensitive regex for color matching
* qt: Update colors in css files
* contrib: Remove obsolete import in update-css-files.py
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
* Trivial Dashification
* Tweak getnetworkinfo and dumpwallet help text
We don't have RBF and Segwit
* CopyrightHolders should also check for missing "Dash Core" copyright
415f86c6ae [scripts] Add missing univalue file to copyright_header.py (fanquake)
Pull request description:
This needs to be added so that PRs like #12062 don't modify the subtree.
Tree-SHA512: 3642bdb0c8271ae700857a79fa5800b0c26c4b3f126d4406f224293817fb74d498fa1fc581d576ae747fbbb6952d4369fc4ab823ab48fd0946c1e8ccbe93cee6
13a81b19d Add quotes to variable assignment (as requested by @TheBlueMatt) (practicalswift)
683b9d280 Fix valid path output (practicalswift)
193c2fb4c Use bash instead of POSIX sh. POSIX sh does not support arrays. (practicalswift)
80f5f28d3 Fix incorrect quoting of quotes (the previous quotes had no effect beyond unquoting) (practicalswift)
564a172df Add required space to [[ -n "$1" ]] (previously [[ -n"$1" ]]) (practicalswift)
1e44ae0e1 Add error handling: exit if cd fails (practicalswift)
b9e79ab41 Remove "\n" from echo argument. echo does not support escape sequences. (practicalswift)
f6b3382fa Remove unused variables (practicalswift)
Pull request description:
Shell script cleanups:
* Add required space to `[ -n ]`.
* Avoid quote within quote.
* Exit if `cd` fails.
* Remove `\n` which is not handled by `echo`.
* ~~Remove redundant `$` in arithmetic variable expression.~~
* ~~Use `$(command)` instead of legacy form `` `command` ``.~~
* Arrays are not supported in POSIX `sh`. Use `bash` when arrays are used.
* ~~`[ foo -a bar ]` is not well defined, use `[ foo ] && [ bar ]` instead.~~
* ~~`[ foo -o bar ]` is not well defined, use `[ foo ] || [ bar ]` instead.~~
Tree-SHA512: 80f6ded58bce625b15b4da30d69d2714c633e184e62b21ed67d2c58e2ebaa08b4147593324012694d02bf4f1f252844cdff2fd1cf5e817ddb07e2777db7a6390
b077fe908 fix the StartupWMClass for bitoin-qt, so gnome-shell can recognize it (Evan Klitzke)
Pull request description:
I spent some time trying to figure out how to get the provided `.desktop` file to work correctly in GNOME. When a non-absolute path is used in the desktop file, you need to specify `StartupWMClass` in order for gnome-shell to know that a running application matches one in its desktop database. I also set a version and removed the deprecated `Encoding` field. With these changes, the desktop file passes `desktop-file-validate` cleanly.
P.S. I found this while working on a new spec file for Bitcoin, which you can find here: https://github.com/eklitzke/bitcoin-copr/blob/master/bitcoin.spec . I plan to contribute this work back upstream as well, once I've figured out more of these packaging issues (desktop files being one of them!).
Tree-SHA512: cb290dd2c2fbcf7f08d838cf911d516d09a4e978d939e719a21a84db7232d1f534043616d7fbb52edd2b7d12389e5f0f8e53d29ac59d7282bdebde8224a2db7f
Signed-off-by: pasta <pasta@dashboost.org>
# Conflicts:
# contrib/debian/bitcoin-qt.desktop
3121d76 doc: Update release notes for share/rpcauth/rpcauth.py rename (Henrik Jonsson)
3fdb297 Rename rpcuser.py to rpcauth.py (Henrik Jonsson)
Pull request description:
This script creates `rpcauth` entries for bitcoin.conf, not the deprecated `rpcuser` entry, so this changes the name of the script to match.
As discussed in #11830.
Tree-SHA512: cd71c2a4043ef1381d3810b057cc83be3fac612df576b91b683ef91fdb7998c534b3b97a3313845eb867dc4bf7cc42a1250474d2261ab3f9ed2f884ca8ebd9f4
fae60e3 qa: Fix lcov for out-of-tree builds (MarcoFalke)
fae2673 qa: check-rpc-mapping must not run on empty lists (MarcoFalke)
Pull request description:
Random qa fixups:
* `make cov` should work for out-of-tree builds
* `check-rpc-mappings.py` should assert that it is actually checking something and the lists are not empty.
Tree-SHA512: 2b66f69d6a1ae035c772f8ceb1d58dce904d98058330dad6ccb1421941e167aa748fe1c12126b87f43b0843f51fa85d89de079d586629fcaf8261c44a8dc6053
ab5bba778 Fix launchctl not being able to stop bitcoind (Alejandro Avilés)
Pull request description:
`bitcoind` should not be launched as daemon from the Launch Agent. Otherwise, the process cannot be stopped from `launchctl stop`/`launchctl unload`.
To reproduce the issue:
```console
$ launchctl load ~/Library/LaunchAgents/org.bitcoin.bitcoind.plist
$ pgrep -fla bitcoin
60225 /usr/local/opt/bitcoin/bin/bitcoind
$ launchctl unload ~/Library/LaunchAgents/org.bitcoin.bitcoind.plist
```
Wait a few seconds and then run `pgrep` again:
```console
$ pgrep -fla bitcoin
60225 /usr/local/opt/bitcoin/bin/bitcoind
```
The node is still running. This happens because Launch Agent is not supposed to run programs as daemons, since the agent makes sure they run in the background. Running them as daemons makes the Launch Agent lose control of the process and, so, it cannot be stopped.
Tree-SHA512: 5342e1a858e478a226a1db292f1b8f8666bb252ee951753b131902c325ea3d47592cf245298decb423ac658a3175761b54dc2e7df6feea5343d65ba255613f67
16be7dd Improve bitcoind systemd service file (Florian Schmaus)
Pull request description:
Add comment how further options can be added or existing ones
modified. Use /run/${RuntimeDirectory} for PID file.
Remove TimeoutStopSec, TimeoutStartSec, StartLimitInterval,
StartLimitBurst directives as those should be set indivdually.
Remove Group to user the bitcoin user's default group.
Changed Restart from 'always' to 'on-failure' (can also be overwritten
individually).
Tree-SHA512: f76674c11fd6e3faaf786aa05686926523d9c875aad6b776337f800108fdb716470286805c532b494f8cf713cb5eea6b735e1c7c238ffb407a5cc909dda41aa4
0aacfa4 Remove accidental stray semicolon (practicalswift)
68feb49 Use nullptr instead of NULL (practicalswift)
c6b07fd Fix a vs. an typo (practicalswift)
Pull request description:
Minor cleanups:
* Typo: Fix a vs. an typo
* Typo: Remove accidental stray semicolon (only remaining instance in repo)
* Correctness/consistency: Use `nullptr` instead of `NULL` (only remaining instance in repo)
Tree-SHA512: 47142e557da9d3fa0b532c46edeb7f356a1f6dc5973e60b0e496badff3581ff696eade542d49da777ac7f2e895129cc8487ccdb1984ff828434fa86f9a56dad0
dabee00ef github-merge: Coalesce git fetches (Wladimir J. van der Laan)
Pull request description:
Fetch the destination branch as well as PR in one go. Saves a few seconds (as well as one ssh authentication, when using a yubikey) when using github-merge.py.
Tree-SHA512: 618fcc07f60b63de3b7818094c5a307933324b76418aa02c509209bb7b540b3da0abe312bbfd0ca843469ed82228b2c43c2361180ba81bee13038aafac4a14b3
Lint checks should not test these, they are historical documents,
and we don't want to encourage silly changes to them to satisfy
a checker.
Hopefully makes travis pass again on master.
Tree-SHA512: 37e6716c4fd5e8a4e579f9b84042e6b0ac224836b6c851cd1ca3f7d46611ffd3003bed0ae08dd0457f69d6eaa485a0d21c631e7ef16b14bdb0f2f78ea700332d
*DASH* doesn't implement this check into travis
1f379b1f0 Add tab char lint check and exclude imported dependencies (MeshCollider)
dd365612f Add a lint check for trailing whitespace. (Evan Klitzke)
Pull request description:
This is a new attempt at #11005
Addressed nits, excluded imported dependencies, squashed the original commits, and added a test for tab characters in the *.cpp *.h *.md *.py *.sh files too as per @practicalswift suggestion
Tree-SHA512: d2dfbedc8469026f39b0c63d9a71d8b8e2ed3815d69fecaabad10304d977d6345728c4c865ec7600ed539b1f7cabaa826b50312f4d2eef0a1583d4ff9024c36d
*DASH* DOES NOT IMPLEMENT RUNNING THIS IN TRAVIS
77aa9e59e test: Check RPC argument mapping (Wladimir J. van der Laan)
Pull request description:
Parse the dispatch tables from the server implementation files, and the conversion table from the client (see #10751).
Perform the following consistency checks:
- Arguments defined in conversion table, must be present in dispatch table. If not, it was probably forgotten to add them to the dispatch table, and they will not work.
- Arguments defined in conversion table must have the same names as in the dispatch table. If not, they will not work.
- All aliases for an argument must either be present in the conversion table, or not. Anything in between means an oversight and some aliases won't work.
Any of these results in an error.
It also performs a consistency check to see if the same named argument is sometimes converted, and sometimes not. E.g. one RPC call might have a 'verbose' argument that is converted,
another RPC call might have one that is not converted. This is not necessarily wrong, but points at a possible error (as well as makes the API harder to memorize) - so it is emitted as a warning (could upgrade this to error).
This test is added to travis and run when `CHECK_DOC`. Currently fails with the following output:
```
* Checking consistency between dispatch tables and vRPCConvertParams
ERROR: createrawtransaction argument 3 (named optintorbf in vRPCConvertParams) is not defined in dispatch table
ERROR: getblock argument ['verbosity', 'verbose'] has conflicts in vRPCConvertParams conversion specifier [True, False]
WARNING: conversion mismatch for argument named verbose ([('getblock', False), ('getblockheader', True), ('getmempoolancestors', True), ('getmempooldescendants', True), ('getrawmempool', True), ('getrawtransaction', True)])
```
- ~#10698 fixes the first ERROR~
- #10747 fixes the second ERROR, as well as the WARNING
Update: #10698 was merged, leaving:
```
* Checking consistency between dispatch tables and vRPCConvertParams
ERROR: getblock argument ['verbosity', 'verbose'] has conflicts in vRPCConvertParams conversion specifier [True, False]
WARNING: conversion mismatch for argument named verbose ([('getblock', False), ('getblockheader', True), ('getmempoolancestors', True), ('getmempooldescendants', True), ('getrawmempool', True), ('getrawtransaction', True)])
```
Tree-SHA512: feabebfbeda5d4613b2b9d5265aa6bde4e1a0235297ffd48fa415ad7edc531d9ed7913fe76d191ac60d481a915a326f216bc93de3c671e45e1d14e97d07dea7a
1d8df0141 Fix MD formatting in REST-interface.md and spelling mistake in test_runner.py (MeshCollider)
41f3e84aa Fix inconsistencies and grammar in various files (MeshCollider)
Pull request description:
Just a simple fix of some inconsistent capitalization, formatting and grammar in a few files (no code changes)
Tree-SHA512: 60b12a5a5c69a1af4a25b7db0b32ed806ed62ad2966cee08b3792a7cfa7f51848fd485349b4c09e60a7eedfdf55ee730c51daa066d6e226ae404c93342bf3e13
Without RPM stuff
78214588d Use for-loop instead of list comprehension (practicalswift)
823979436 Use the variable name _ for unused return values (practicalswift)
2e6080bbf Remove unused variables and/or function calls (practicalswift)
9b94054b7 Avoid reference to undefined name: stderr does not exist, sys.stderr does (practicalswift)
51cb6b822 Use print(...) instead of undefined printf(...) (practicalswift)
25cd520fc Use sys.exit(...) instead of exit(...): exit(...) should not be used in programs (practicalswift)
Pull request description:
Python cleanups:
* Avoid reference to undefined name: `stderr` does not exist, `sys.stderr` does
* Use `print(...)` instead of undefined `printf(...)`
* Avoid redefinition of variable (`tx`) in list comprehension
* Remove unused variables and/or function calls
* Use `sys.exit(...)` instead of `exit(...)`: [`exit(...)` should not be used in programs](https://github.com/bitcoin/bitcoin/pull/10753#discussion_r125935027)
Tree-SHA512: 1238dfbc1d20f7edadea5e5406a589f293065638f6234809f0d5b6ba746dffe3d276bc5884c7af388a6c798c61a8759faaccf57f381225644754c0f61914eb4b
f42fc1d50 doc: spelling fixes (klemens)
Pull request description:
patch contains some spelling fixes ( just in comments ) as found by a bot ( http://www.misfix.org, https://github.com/ka7/misspell_fixer ).
Tree-SHA512: ba6046cfcd81b0783420daae7d776be92dd7b85a593e212f8f1b4403aca9b1b6af12cef7080d4ea5ed4a14952fd25e4300109a59c414e08f5395cdb9947bb750
* build: use osslsigncode 2.0 in gitian
The original osslsigncode project (https://sourceforge.net/projects/osslsigncode/) has been marked as abandonware,
"This is now - and has been for a long while - abandonware. Feel free to create your own forks etc.".
However, a fork at https://github.com/mtrojnar/osslsigncode has emerged that has incorporated
theuni's patches, updated the tool to work with OpenSSL 1.1 and made other improvements.
This commit switches the windows signer descriptor to use this new version of osslsigncode.
* Fixed wget call in gitian-build.py
Co-authored-by: Michael <fanquake@gmail.com>
Co-authored-by: willyk <k.o.willy@gmail.com>
* Drop (test.)dnsseed.masternode.io
* makeseeds.py
mainnet 1185193, testnet 225964
* generate-seeds.py
* Update tor.md with live onion nodes
All old nodes are down
* Modify makesseeds.py to work with "protx list valid 1" instead of "masternode list"
This allows better filtering for MN owners with multiple MNs. This commit
also removes some unsupported fields, e.g. "protocol", "lastseen", ...
* Update contrib/seeds/README.md with new instructions
* Update Dash app and toolbar icons
* Update icons and images
* Remove menubar icons
* Add Dash logo to top-right of menubar
* Remove the small PrivateSend buttons
* Remove image entirely from About modal
* Update CSS for new theme changes
* Restore splash testnet image
* Make entire toolbar button clickable
* Fix address book and shrink transaction icons
* Revert "Restore splash testnet image"
This reverts commit 2df07ff7d3.
* Restore original direction for tx in/out arrows
* Add transparency to icons
* Remove unused icons
* Resize way too small icons
* `mogrify src/qt/res/*/*.png`
* Drop `light` from `optimize-pngs.py`
* `python3 contrib/devtools/optimize-pngs.py`
"Total reduction: 42507 bytes"
* Restore old remove icon as console_remove
* Remove crownium files
* Remove trad theme files
* Remove drkblue theme files
* Remove light-retro theme files
* Remove old themes from optimize-pngs script
* Remove refs to old themes in Makefile.qt
* Remove more old theme file references
* Remove old themes from options dialog
* No need to care about themes for images and icons anymore
* Bring `trad` back
* Drop remaining `drkblue` references
Rename files that are actually used and drop no longer needed ones
2f041f0e7 contrib/init: Update openrc-run filename (Luke Dashjr)
Pull request description:
OpenRC changed their program binary names in 2014 (3 years ago), and using the old names has loud warnings now
Tree-SHA512: 2b81802b21c32b8df6010142f9593c0b6cc814a052f83b7f5654f6885566e8dbcaf4da772145fa2cf5d94c16c2fb488c5d4879f71021407c4d7b3a3b7e7ed21e
d23be30 [verify-commits] Allow revoked keys to expire (Matt Corallo)
Pull request description:
This should fix verify-commits on master.
Tree-SHA512: 9bfca41fdfcdb11f6d07fcbc80a7b2de37706051e963292e0fbb4c608f146c87b65ab1e8395792197b4a7099e89fa045f278a60276672f6540b68d5e15b5a4a7
4452829 gitian: quick hack to fix version string in releases (Cory Fields)
Pull request description:
Credit: @luke-jr
Release version strings were broken in Gitian by #7522. This is a minimal fix suitable for 0.15.
After this, we should fix up version handling for good so that gitian packages the correct string in the release tarball, so that git is not required to get the tag name.
Tree-SHA512: fa609a744c46306b0809f08fed6e96eff41b13e82f3e213711e4abef370558b64a68972f283a038330882cb6c40b32547fbb0f89b8058cc2c6025bff134473c3
176c021 [qa] Test non-atomic chainstate writes (Suhas Daftuar)
d6af06d Dont create pcoinsTip until after ReplayBlocks. (Matt Corallo)
eaca1b7 Random db flush crash simulator (Pieter Wuille)
0580ee0 Adapt memory usage estimation for flushing (Pieter Wuille)
013a56a Non-atomic flushing using the blockchain as replay journal (Pieter Wuille)
b3a279c [MOVEONLY] Move LastCommonAncestor to chain (Pieter Wuille)
Tree-SHA512: 47ccc62303f9075c44d2a914be75bd6969ff881a857a2ff1227f05ec7def6f4c71c46680c5a28cb150c814999526797dc05cf2701fde1369c06169f46eccddee
475c08c Add PR description to merge commit in github-merge.py (Pieter Wuille)
Pull request description:
There is often some context given in PR descriptions that is missing from commits, and it may be worthwhile to retain that information in our history in git. This PR adds that information to the merge commit when created through `github-merge.py`.
We should also encourage people to provide as much information as possible in the PR commits themselves, but I believe that is an orthogonal issue. Individual commits don't need to have a description of the overall goal of a PR.
Tree-SHA512: cbae46ec24ce911744e11a07e5d51895d3acc79659db306d8124304ef8e422bba99001ee2a741b08c92a5eb39d9c3f6b723622b20d6553ca5cfa0a8de866194c