Commit graph

197 commits

Author SHA1 Message Date
James Dorfman
e69c4acdf8 Merge 37633d2f61 into merged_master (Bitcoin PR bitcoin-core/gui#602) 2024-09-10 00:50:29 +00:00
James Dorfman
014520d949 Merge 1368634433 into merged_master (Bitcoin PR bitcoin-core/gui#601) 2024-09-06 06:07:40 +00:00
James Dorfman
5383fe6228 Merge b0e16eb3ac into merged_master (Bitcoin PR bitcoin-core/gui#600) 2024-08-13 22:07:03 +00:00
James Dorfman
c831de4f54 Merge 72477ebb11 into merged_master (Bitcoin PR bitcoin-core/gui#556)
Please test this commit by manually launching the elements QT gui and
making sure that all the units are displayed properly in elements
2024-07-31 23:59:08 +00:00
James Dorfman
7bc62ad48b Merge 47bac475f0 into merged_master (Bitcoin PR bitcoin-core/gui#569) 2024-07-08 16:28:05 +00:00
James Dorfman
621c6503ef Merge f9ed0aec1b into merged_master (Bitcoin PR bitcoin-core/gui#568) 2024-01-09 00:23:33 +00:00
Byron Hambly
ebbc64cef3 Merge e0ae5418cb into merged_master (Bitcoin PR bitcoin-core/gui#523) 2023-06-19 10:07:12 +00:00
Byron Hambly
ab473ae094 Merge 2e01b69860 into merged_master (Bitcoin PR bitcoin-core/gui#441) 2023-06-15 14:25:29 +00:00
Byron Hambly
47626b5a64 Merge 623745ca74 into merged_master (Bitcoin PR bitcoin/bitcoin#23912) 2023-06-14 15:44:11 +00:00
Byron Hambly
6a08754120 Merge ad47fb8b64 into merged_master (Bitcoin PR bitcoin-core/gui#416) 2023-04-28 10:27:19 +00:00
Byron Hambly
c98940674c Merge 9948f114f8 into merged_master (Bitcoin PR bitcoin-core/gui#390) 2023-04-09 06:58:50 +00:00
Ryan Ofsky
e47c6c7656 Reset settings.json when GUI options are reset
Clear settings.json file and save settings.json.bak file when "Reset Options"
GUI button is pressed or -resetguisettings command line option is used.
2022-05-26 11:05:10 -04:00
Ryan Ofsky
504b06b1de Migrate -lang setting from QSettings to settings.json 2022-05-26 11:05:10 -04:00
Ryan Ofsky
9a016a3c07 Migrate -prune setting from QSettings to settings.json 2022-05-26 11:05:10 -04:00
Ryan Ofsky
f067e19433 Migrate -proxy and -onion settings from QSettings to settings.json 2022-05-26 11:05:10 -04:00
Ryan Ofsky
a09e3b7cf2 Migrate -listen and -server settings from QSettings to settings.json 2022-05-26 11:05:10 -04:00
Ryan Ofsky
d2ada6e635 Migrate -upnp and -natpmp settings from QSettings to settings.json
This also effectively reverts 58e8364dcd from
#18077, applying upnp and natpmp settings from the optionsmodel class instead
of the optionsdialog class. This makes sense because model code, not view code
is responsible for applying all other settings, and because leaving these
settings half-applied in optionsmodel seems error prone and could lead to bugs.
(These things were discussed a little in
https://github.com/bitcoin/bitcoin/pull/18077#discussion_r560381734)
2022-05-26 11:05:10 -04:00
Ryan Ofsky
1dc4fc29c1 Migrate -spendzeroconfchange and -signer settings from QSettings to settings.json 2022-05-26 11:05:10 -04:00
Ryan Ofsky
a7ef6d5975 Migrate -par setting from QSettings to settings.json 2022-05-26 11:05:10 -04:00
Ryan Ofsky
284f339de6 Migrate -dbcache setting from QSettings to settings.json
This is just the first of multiple settings that will be stored in the bitcoin
persistent setting file and shared with bitcoind, instead of being stored as Qt
settings backed by the windows registry or platform specific config files which
are ignored by bitcoind.

Co-Authored-By: furszy <matiasfurszyfer@protonmail.com>
2022-05-26 11:05:10 -04:00
Hennadii Stepanov
1368634433
Merge bitcoin-core/gui#601: refactor: Pass interfaces::Node references to OptionsModel constructor
31122aa979 refactor: Pass interfaces::Node references to OptionsModel constructor (Ryan Ofsky)

Pull request description:

  Giving OptionsModel access to the node interface is needed as part of #602 to get bitcoind and bitcoin-qt to use the same settings instead of different settings.

  It has been split off from #602 to simplify that PR. Previously these commits were part of bitcoin/bitcoin#15936 and also had some review discussion there.

ACKs for top commit:
  promag:
    Code review ACK 31122aa979.
  furszy:
    Code ACK 31122aa9
  jarolrod:
    ACK 31122aa979

Tree-SHA512: b8529322fd7ba97e19864129e6cf5f9acc58c124f2e5a7c50aca15772c8549de3c24e8b0c27e8cf2c06fd26529e9cdb898b0788a1de3cbfdfbdd3f85c9f0fe69
2022-05-24 10:48:27 +02:00
Ryan Ofsky
31122aa979 refactor: Pass interfaces::Node references to OptionsModel constructor
Will allow OptionsModel to read/write settings to the node settings.json
file and share settings with the node, instead of storing them
externally in QSettings.

Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
2022-05-19 11:32:56 -04:00
Ryan Ofsky
a63b60f02b refactor: Add OptionsModel getOption/setOption methods
Easiest to review ignoring whitespace.
2022-05-19 11:32:56 -04:00
Hennadii Stepanov
72477ebb11
Merge bitcoin-core/gui#556: refactor: Make BitcoinUnits::Unit a scoped enum
0e5dedbc9e qt/wallettests: sort includes (William Casarin)
0554251d66 qt: Skip displayUnitChanged signal if unit is not actually changed (Hennadii Stepanov)
ffbc2fe459 qt, refactor: Remove default cases for scoped enum (Hennadii Stepanov)
152d5bad50 qt, refactor: Remove BitcoinUnits::valid function (Hennadii Stepanov)
aa23960fdf qt, refactor: Make BitcoinUnits::Unit a scoped enum (Hennadii Stepanov)
75832fdc37 qt: Use QVariant instead of int for BitcoinUnit in QSettings (Hennadii Stepanov)

Pull request description:

  This is a rebased version of #60

  Since Qt 5.5 there are [means](https://doc.qt.io/qt-5/qobject.html#Q_ENUM) to register an enum type with the meta-object system (such enum still lacks an ability to interact with [QSettings::setValue()](https://doc.qt.io/qt-5/qsettings.html#setValue) and [QSettings::value()](https://doc.qt.io/qt-5/qsettings.html#value) without defined stream operators).

  In order to reduce global namespace polluting and to force strong type checking, this PR makes BitcoinUnits::Unit a scoped enum (typedef BitcoinUnits::Unit BitcoinUnit;).

  No behavior change.

ACKs for top commit:
  jonatack:
    ACK 0e5dedbc9e, review and debug build of each commit after rebase on current master, lightly tested running the GUI, changing units a few times, and verifying persistence after restarting
  promag:
    Code review ACK 0e5dedbc9e

Tree-SHA512: 39ec0d7e4f0b9b25be287888121a8db6b282339674e37ec3a3554da63a9e22d6fe079e8310ca289b2a0356a19b3c7e55afa17d09dd34e0f222177f603bb053a3
2022-04-15 11:51:22 +02:00
Vasil Dimov
3b82608dd1
options: add a comment for -listenonion and dedup a long expression
A followup to https://github.com/bitcoin-core/gui/pull/568

Co-authored-by: Jon Atack <jon@atack.com>
2022-03-31 15:29:38 +02:00
Vasil Dimov
7f90dc26c8
options: flip listenonion to false if not listening
If the user has unchecked "Allow incoming connections" in
`Settings->Options...->Network` then `fListen=false` is saved in
`~/.config/Bitcoin/Bitcoin-Qt.conf`. This flips `-listen` to `false`
during startup, but leaves `-listenonion` to `true`.

This flipping of `-listen` is done in `OptionsModel::Init()` after
`InitParameterInteraction()` has been executed which would have flipped
`-listenonion`, should it have seen `-listen` being `false`
(this is a difference between `bitcoind` and `bitcoin-qt`).

Fixes: https://github.com/bitcoin-core/gui/issues/567
2022-03-23 11:34:05 +01:00
Hennadii Stepanov
0554251d66 qt: Skip displayUnitChanged signal if unit is not actually changed
Co-authored-by: João Barbosa <joao.paulo.barbosa@gmail.com>
2022-02-22 13:50:30 -08:00
Hennadii Stepanov
aa23960fdf qt, refactor: Make BitcoinUnits::Unit a scoped enum 2022-02-22 13:50:30 -08:00
Hennadii Stepanov
75832fdc37 qt: Use QVariant instead of int for BitcoinUnit in QSettings
This change improves type safety.
2022-02-22 13:50:30 -08:00
Hennadii Stepanov
3c4f5d2a20
scripted-diff: Rename functions to drop mention of boost
-BEGIN VERIFY SCRIPT-
FILES=$(git ls-files src/qt)
sed -i 's/boostPathToQString/PathToQString/g' -- $FILES
sed -i 's/qstringToBoostPath/QStringToPath/g' -- $FILES
-END VERIFY SCRIPT-
2022-01-11 18:32:11 +02:00
Hennadii Stepanov
2e01b69860
Merge bitcoin-core/gui#441: Add Create Unsigned button to SendConfirmationDialog
742918c8ef qt: hide Create Unsigned button behind an expert mode option (Andrew Chow)
5c3b800acd qt: Add Create Unsigned button to SendConfirmationDialog (Andrew Chow)

Pull request description:

  Instead of having different buttons or changing button behavior for making a PSBT, just have SendConfirmationDialog return whether the user wants a PSBT or a broadcasted transaction. Since this dialog is used by both the bumpFeeAction and the SendCoinsDialog, changes to both to support the different behavior is needed. They will check the return value of the SendConfirmationDialog for whether a PSBT needs to be created instead of checking whether private keys are disabled.

  Strings used in this dialog are being slightly modified to work with both private keys enabled and disabled wallets.

  Moved from https://github.com/bitcoin/bitcoin/pull/18789

ACKs for top commit:
  jarolrod:
    ACK 742918c
  ryanofsky:
    Code review ACK 742918c8ef. Just suggested changes since last review. Looks great!
  hebasto:
    ACK 742918c8ef, tested on Linux Mint 20.2 (Qt 5.12.8).

Tree-SHA512: dd29f4364c7b4f15befe8fe63257b26187918786b005e0f8336183270b1a162680b93f6ced60f0285c6e607c084cc0d24950fc68a8f9c056521ede614041be66
2022-01-09 17:46:23 +02:00
Hennadii Stepanov
f47dda2c58
scripted-diff: Bump copyright headers
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-

Commits of previous years:
* 2020: fa0074e2d8
* 2019: aaaaad6ac9
2021-12-30 19:36:57 +02:00
Andrew Chow
742918c8ef qt: hide Create Unsigned button behind an expert mode option 2021-10-08 12:56:06 -04:00
Sjors Provoost
bd5c826a96
gui: add RPC setting 2021-09-16 11:17:31 +02:00
Prateek Sancheti
ad28b66e98 qt: Add SubFeeFromAmount option 2021-08-11 14:48:24 +05:30
Andrew Poelstra
1756fb7e5a Merge 68a89d7a46 into merged_master (Bitcoin PR bitcoin-core/gui#4) 2021-07-23 16:10:31 +00:00
Andrew Poelstra
7db44ed938 Merge 456c8d6cd8 into merged_master (Bitcoin PR bitcoin-core/gui#313) 2021-07-18 04:15:48 +00:00
Andrew Poelstra
29a8292858 Merge 599000903e into merged_master (Bitcoin PR bitcoin/bitcoin#21850)
Copied GetMainchainAuthCookieFile logic from GetAuthCookieFile, since
the former no longer compiled.
2021-07-12 15:20:15 +00:00
Andrew Poelstra
29e3669e30 Merge 7fca189a2a into merged_master (Bitcoin PR #79)
For this one I just re-applied the patch from the diff on Github.
It basically just removes the Monospace font property from all UI
elements in overviewpage.ui.
2021-06-24 20:34:07 +00:00
Andrew Poelstra
c5a022192f Merge d7e2401c62 into merged_master (Bitcoin PR #18077) 2021-06-17 01:59:15 +00:00
Andrew Poelstra
70e525ecd8 Merge 33d6337269 into merged_master (Bitcoin PR bitcoin-core/gui#115) 2021-06-14 04:46:18 +00:00
Sjors Provoost
6cdbc83e93
gui: add external signer path to options dialog 2021-05-27 14:01:53 +02:00
W. J. van der Laan
456c8d6cd8
Merge bitcoin-core/gui#313: qt: Optimize string concatenation by default
a02c970eb0 qt, refactor: Revert explicit including QStringBuilder (Hennadii Stepanov)
3fd3a0fc87 qt, build: Optimize string concatenation (Hennadii Stepanov)

Pull request description:

  From [Qt docs](https://doc.qt.io/qt-5/qstring.html#more-efficient-string-construction):
  > ... multiple uses of the \[`QString`\] '+' operator usually means multiple memory allocations. When concatenating n substrings, where n > 2, there can be as many as n - 1 calls to the memory allocator.

  With this PR
  > ... the '+' will automatically be performed as the `QStringBuilder` '%' everywhere.

  The change in the `src/Makefile.qt.include` file does not justify submitting this PR into the main repo, IMHO.

ACKs for top commit:
  laanwj:
    Code review ACK a02c970eb0
  Talkless:
    utACK a02c970eb0, built successfully on Debian Sid with Qt 5.15.2, but did not check if any displayed strings are "wrong" after refactoring.
  jarolrod:
    ACK a02c970eb0

Tree-SHA512: cbb476ee96f27c3bd6e125efab74d8bf24bbdb4c30576b3feea45e203405f3bf5b497dd7d3e11361fc825fcbf4b893b152921a9efdeaf73b42d1865d85f0ae84
2021-05-26 15:01:18 +02:00
Kiminuo
b3e67f20a0 scripted-diff: Replace GetDataDir(true) calls with gArgs.GetDataDirNet() calls
-BEGIN VERIFY SCRIPT-
git ls-files -- 'src' ':(exclude)src/util/system.h' ':(exclude)src/util/system.cpp' | xargs sed -i 's/GetDataDir(true)/gArgs.GetDataDirNet()/g';
-END VERIFY SCRIPT-
2021-05-24 10:29:58 +02:00
Hennadii Stepanov
3fd3a0fc87
qt, build: Optimize string concatenation
The defined QT_USE_QSTRINGBUILDER macro means using the QStringBuilder
for efficient string concatenation in all Qt code by default.
2021-05-15 19:10:38 +03:00
Andrew Poelstra
436a1295e9 Merge 0a267f4eb8 into merged_master (Bitcoin PR bitcoin-core/gui#46) 2021-05-06 22:08:23 +00:00
Hennadii Stepanov
67f26319a0
gui: Add monospaced font settings 2021-02-21 21:01:42 +02:00
Hennadii Stepanov
a39f7336a3
net: Add -natpmp command line option 2021-01-07 18:07:09 +02:00
Hennadii Stepanov
58e8364dcd
gui: Apply port mapping changes on dialog exit
This commit does not change behavior. It is a prerequisite for NAT-PMP
support adding.
2021-01-07 18:07:08 +02:00
Hennadii Stepanov
02ccf69dd6
refactor: Move port mapping code to its own module
This commit does not change behavior.
2021-01-07 18:06:58 +02:00