aboutsummaryrefslogtreecommitdiff
path: root/src/qt/bitcoin.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Give QApplication dummy argumentsAndrew Chow2019-09-241-3/+6
| | | | | | | | | QApplication takes the command line arguments and parses them itself for some built in command line arguments that it has. We don't want any of those built in arguments, so instead give it dummy arguments. Github-Pull: #16578 Rebased-From: a2714a5c69f0b0506689af04c3e785f71ee0915d
* scripted-diff: Avoid passing PACKAGE_NAME for translationMarcoFalke2019-09-241-5/+5
| | | | | | | | | -BEGIN VERIFY SCRIPT- sed -i --regexp-extended -e 's/\<\w+(::\w+)?\(PACKAGE_NAME\)/PACKAGE_NAME/g' $(git grep -l --extended-regexp '\<\w+(::\w+)?\(PACKAGE_NAME\)' src) -END VERIFY SCRIPT- Github-Pull: #16291 Rebased-From: fabe87d2c923ab3a70b8cde2666a4d1cda8b22fb
* gui: Fix missing qRegisterMetaType(WalletModel*)João Barbosa2019-07-091-0/+3
| | | | | Github-Pull: #16348 Rebased-From: f27bd96b5fdc2921d93c44bbf422bff0e979c4de
* Set AA_EnableHighDpiScaling attribute earlyHennadii Stepanov2019-06-241-2/+3
| | | | | | | | Qt docs: This attribute must be set before QGuiApplication is constructed. Github-Pull: #16254 Rebased-From: 099e4b9ad3d9967051d5c3d45c6315d1b30fea05
* Bump minimum Qt version to 5.5.1Sjors Provoost2019-02-141-3/+0
|
* gui: Add OpenWalletActivityJoão Barbosa2019-02-041-1/+1
|
* gui: Fix m_node.startShutdown() orderJoão Barbosa2019-02-031-2/+8
| | | | | | | | This change forwards the shutdown request on the GUI (close the application for instace) to the node as soon as possible. This way the GUI doesn't have to wait for long operations to complete (rescan the wallet for instance), instead those operations detect the shutdown request and abort/interrupt.
* gui: Fix WalletController deletionJoão Barbosa2019-02-031-4/+2
| | | | | The wallet controller instanced must be deleted after the window instance since it is used there.
* Merge #15101: gui: Add WalletControllerJonas Schnelli2019-01-181-54/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 0dd9bdefa gui: Refactor to use WalletController (João Barbosa) 8fa271f08 gui: Add WalletController (João Barbosa) cefb399e2 gui: Use AutoConnection for WalletModel::unload signal (João Barbosa) Pull request description: This PR is a subset of the work done in the context of #13100. This change consists in extracting from the application class the code that manages the wallet models. The role of the `WalletController` instance is to coordinate wallet operations and the window. Tree-SHA512: 6a824054376730eb7d16c643dd2003f5f60778e8ad3af707b82bc12c48438db179ca4446316b28fb17b206f4b9aba8998419aab8c5dd1f7c32467015732b5094
| * gui: Refactor to use WalletControllerJoão Barbosa2019-01-181-54/+11
| |
* | Merge #14250: qt: Remove redundant stopThread() and stopExecutor() signalsWladimir J. van der Laan2019-01-171-3/+2
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 24313fbf7e3d69145bc18c089601ba7aea35d61c Remove redundant stopExecutor() signal (Hennadii Stepanov) 1c0e0a5e38102a67cb66cf6eef4098bdb64bb0f5 Remove redundant stopThread() signal (Hennadii Stepanov) Pull request description: The `QThread::finished` signal do this work. Tree-SHA512: 1afce23d30232276d50c3af5af79d83b88e390a2b71f7df585cc1079585d330447d179bbc34c0a89599beb2da035dfd5b9ce23238171490825cabc3a19ae6e67
| * Remove redundant stopThread() signalHennadii Stepanov2019-01-101-3/+2
| |
* | Replace remaining 0 with nullptr in Qt codeBen Woosley2019-01-131-8/+8
| | | | | | | | | | | | | | Also used type-appropriate enum values such as Qt::NoItemFlags in some cases. All cases identified via -Wzero-as-null-pointer-constant
* | Don't use zero as null pointer constant (-Wzero-as-null-pointer-constant)practicalswift2019-01-131-13/+13
|/ | | | Qt-only changes.
* Merge #14517: qt: Fix start with the `-min` optionWladimir J. van der Laan2019-01-091-7/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 93009618b6d72b6bb253cabc4a5813d7aea18a67 Fix start with the `-min` option (Hennadii Stepanov) Pull request description: From IRC: > 2018-10-17T12:36:38 \<Drakon\> The option to minimize to system tray instead of the taskbar ist available, but doesn't have an effect if it is started with the -min option. If I start it via that option, I have to click on the program symbil on the taskbar and then minimize it again in order to get it minimized to system tray. > 2018-10-17T12:37:28 \<Drakon\> That's annoying. > 2018-10-17T13:51:19 \<wumpus\> can you open an issue for that please? https://github.com/bitcoin/bitcoin/issues/new > 2018-10-17T13:53:24 \<wumpus\> (if there isn't one yet-) This PR fixes this bug. Tree-SHA512: c5a5521287b49b13859edc7c6bd1cd07cac14b84740450181dce00bf2781fc3dfc84476794baa16b0e26a2d004164617afdb61f829e629569703c5bcc45e2a4e
| * Fix start with the `-min` optionHennadii Stepanov2018-12-061-7/+6
| | | | | | | | | | When GUI starts with the `-min` option, the `Minimize to tray instead of the taskbar` option works as expected now.
* | Merge #11625: Add BitcoinApplication & RPCConsole testsMarcoFalke2019-01-091-109/+18
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7e4bd19785 Add BitcoinApplication & RPCConsole tests (Russell Yanofsky) ca20b65cc0 Move BitcoinApplication to header so it can be tested (Russell Yanofsky) Pull request description: Add test coverage for Qt initialization code & basic RPC console functionality Motivation for this change was a bug in #11603 which existing tests failed to catch. Tree-SHA512: f66546ffc84b8e07679c66a73b265023fbf6a0cb8f24f1606a5fcae2dd3b4dc7b2c6d26c69dedcec53398a26ef17c4d5fb28c055698fa6e45e89aa2995cefe2f
| * | Add BitcoinApplication & RPCConsole testsRussell Yanofsky2019-01-041-14/+17
| | | | | | | | | | | | Add test coverage for Qt initialization code & basic RPC console functionality.
| * | Move BitcoinApplication to header so it can be testedRussell Yanofsky2019-01-041-95/+1
| | | | | | | | | | | | Move-only commit, no code changes
* | | qt: Use WalletModel* instead of wallet name in main windowJoão Barbosa2019-01-041-2/+2
|/ /
* | Merge #14854: qt: Cleanup SplashScreen classWladimir J. van der Laan2018-12-071-5/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7d1b60ce931d5944576fc726b0ef6b9a10ef8793 Cleanup SplashScreen class (Hennadii Stepanov) Pull request description: Cleaning up after replacing the `QSplashScreen` base class with the `QWidget` class (#4941 by @laanwj). cc @jonasschnelli Tree-SHA512: 72e2d67905d85247a11ae6a884f74f710f765adf20db7d1daf0927e6990687e836b486c4ff93bc6dabc3759ed667acfe1d69c8b94fae7181ab271a3fa7a0229a
| * | Cleanup SplashScreen classHennadii Stepanov2018-12-021-5/+5
| | | | | | | | | | | | | | | Cleaning up after replacing the QSplashScreen base class with the QWidget class.
* | | squashme: connect thru node interfaceJoão Barbosa2018-11-241-11/+5
| | |
* | | qt: Call noui_connect to prevent boost::signals2::no_slots_error in early ↵João Barbosa2018-11-221-0/+3
|/ / | | | | | | calls to InitWarning
* | Bump the minimum Qt version to 5.2Hennadii Stepanov2018-11-141-2/+0
| |
* | scripted-diff: Move util files to separate directory.Jim Posen2018-11-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -BEGIN VERIFY SCRIPT- mkdir -p src/util git mv src/util.h src/util/system.h git mv src/util.cpp src/util/system.cpp git mv src/utilmemory.h src/util/memory.h git mv src/utilmoneystr.h src/util/moneystr.h git mv src/utilmoneystr.cpp src/util/moneystr.cpp git mv src/utilstrencodings.h src/util/strencodings.h git mv src/utilstrencodings.cpp src/util/strencodings.cpp git mv src/utiltime.h src/util/time.h git mv src/utiltime.cpp src/util/time.cpp sed -i 's/<util\.h>/<util\/system\.h>/g' $(git ls-files 'src/*.h' 'src/*.cpp') sed -i 's/<utilmemory\.h>/<util\/memory\.h>/g' $(git ls-files 'src/*.h' 'src/*.cpp') sed -i 's/<utilmoneystr\.h>/<util\/moneystr\.h>/g' $(git ls-files 'src/*.h' 'src/*.cpp') sed -i 's/<utilstrencodings\.h>/<util\/strencodings\.h>/g' $(git ls-files 'src/*.h' 'src/*.cpp') sed -i 's/<utiltime\.h>/<util\/time\.h>/g' $(git ls-files 'src/*.h' 'src/*.cpp') sed -i 's/BITCOIN_UTIL_H/BITCOIN_UTIL_SYSTEM_H/g' src/util/system.h sed -i 's/BITCOIN_UTILMEMORY_H/BITCOIN_UTIL_MEMORY_H/g' src/util/memory.h sed -i 's/BITCOIN_UTILMONEYSTR_H/BITCOIN_UTIL_MONEYSTR_H/g' src/util/moneystr.h sed -i 's/BITCOIN_UTILSTRENCODINGS_H/BITCOIN_UTIL_STRENCODINGS_H/g' src/util/strencodings.h sed -i 's/BITCOIN_UTILTIME_H/BITCOIN_UTIL_TIME_H/g' src/util/time.h sed -i 's/ util\.\(h\|cpp\)/ util\/system\.\1/g' src/Makefile.am sed -i 's/utilmemory\.\(h\|cpp\)/util\/memory\.\1/g' src/Makefile.am sed -i 's/utilmoneystr\.\(h\|cpp\)/util\/moneystr\.\1/g' src/Makefile.am sed -i 's/utilstrencodings\.\(h\|cpp\)/util\/strencodings\.\1/g' src/Makefile.am sed -i 's/utiltime\.\(h\|cpp\)/util\/time\.\1/g' src/Makefile.am sed -i 's/-> util ->/-> util\/system ->/' test/lint/lint-circular-dependencies.sh sed -i 's/src\/util\.cpp/src\/util\/system\.cpp/g' test/lint/lint-format-strings.py test/lint/lint-locale-dependence.sh sed -i 's/src\/utilmoneystr\.cpp/src\/util\/moneystr\.cpp/g' test/lint/lint-locale-dependence.sh sed -i 's/src\/utilstrencodings\.\(h\|cpp\)/src\/util\/strencodings\.\1/g' test/lint/lint-locale-dependence.sh sed -i 's/src\\utilstrencodings\.cpp/src\\util\\strencodings\.cpp/' build_msvc/libbitcoinconsensus/libbitcoinconsensus.vcxproj -END VERIFY SCRIPT-
* | Merge #14451: Add BIP70 deprecation warning and allow building GUI without ↵Wladimir J. van der Laan2018-10-241-1/+5
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BIP70 support 48439b3c10391e5f5555c7d98e1a99706b77eaf7 Don't link SSL_LIBS with GUI unless BIP70 is enabled (James Hilliard) fbb643d2a55ade3c06593a7490601acd2e36dce8 Add BIP70 deprecation warning (James Hilliard) 38b98507cdda02ff02a524d41bcc3427ca9e4fd9 qt: cleanup: Move BIP70 functions together in paymentserver (Wladimir J. van der Laan) 9dcf6c0dfec51f2a49edef537f377422d6dbdceb build: Add --disable-bip70 configure option (Wladimir J. van der Laan) Pull request description: This is based off of #11622 and adds a deprecation warning when a BIP70 URL is used. Rational: - BIP70 increases attack surface in multiple ways and is difficult for third party wallets to implement in a secure manner - Very few merchants use the standard BIP70 variant supported by Bitcoin Core - The one major payment processor that doesn't support BIP21 and currently uses a customized non-standard version of BIP70 has indicated that "Unfortunately the original BIP70 is not useful for us." Tree-SHA512: 1e16ee8d2cdac9499f751ee7b50d058278150f9e38a87a47ddb5105dd0353cdedabe462903f54ead6209b249b249fe5e6a10d29631531be27400f2f69c25b9b9
| * build: Add --disable-bip70 configure optionWladimir J. van der Laan2018-10-091-1/+5
| | | | | | | | | | | | This patch adds a --disable-bip70 configure option that disables BIP70 payment request support. When disabled, this removes the dependency of the GUI on OpenSSL and Protobuf.
* | Merge #14403: qt: Revert "Force TLS1.0+ for SSL connections"Wladimir J. van der Laan2018-10-161-8/+0
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7d173c4cd1885ff5bcf9e5f8f7f712138dd8a445 qt: Revert "Force TLS1.0+ for SSL connections" (Tim Ruffing) Pull request description: This reverts commit 15e26a6a9afe299b9ca6fced73b876644365879b, whose purpose was to tweak the Qt configuration to force TLS, i.e., to disable SSLv3, in Qt versions >= 5.5. However, the default behavior of Qt >= 5.4 is to disable SSLv3 anyway [1], so the configuration tweak is redundant. With Qt 5.11.2, the configuration tweak is not only redundant but in fact provokes a deadlock due to a bug in Qt 5.11.2. Since the deadlock occurs at the early startup stage of bitcoin-qt, it renders bitcoin-qt entirely non-functional when compiled against Qt 5.11.2 (and maybe other Qt versions). Fixes #14359. [1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=3fd2d9eff8c1f948306ee5fbfe364ccded1c4b84 Tree-SHA512: 9dd86557b8d265dfa56592924778a736590f2e6a0b2acf77d4f9f4200206a9edaa79b144b0085ea59ac0cc1bc66d9740402fd02f9298ff74c8d6f526f3f725d6
| * qt: Revert "Force TLS1.0+ for SSL connections"Tim Ruffing2018-10-091-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 15e26a6a9afe299b9ca6fced73b876644365879b, whose purpose was to tweak the Qt configuration to force TLS, i.e., to disable SSLv3, in Qt versions >= 5.5. However, the default behavior of Qt >= 5.4 is to disable SSLv3 anyway [1], so the configuration tweak is redundant. With Qt 5.11.2, the configuration tweak is not only redundant but in fact provokes a deadlock (#14359) due to Qt 5.11.2 being incompatible with OpenSSL 1.1.1 [2]. Since the deadlock occurs at the early startup stage of bitcoin-qt, it renders bitcoin-qt entirely non-functional when compiled against OpenSSL 1.1.1 and Qt 5.11.2 (and possible future combinations of OpenSSL and Qt versions). This commit fixes #14359 by removing the redundant code. [1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=3fd2d9eff8c1f948306ee5fbfe364ccded1c4b84 [2] https://bugreports.qt.io/browse/QTBUG-70956
* | utils: Convert Windows args to utf-8 stringChun Kuan Lee2018-09-301-0/+4
|/
* convert C-style (void) parameter lists to C++ style ()Arvid Norberg2018-09-131-1/+1
|
* qt: Also log and print messages or questions like bitcoindMarcoFalke2018-09-061-2/+3
|
* Make objects in range declarations immutable by default. Avoid unnecessary ↵practicalswift2018-08-271-1/+1
| | | | copying of objects in range declarations.
* Merge #13961: util: Replace boost::signals2 with std::functionWladimir J. van der Laan2018-08-251-7/+3
|\ | | | | | | | | | | | | | | | | | | | | | | ddddce0e46e73d4ca369f2ce9696231cc579e1f9 util: Replace boost::signals2 with std::function (MarcoFalke) Pull request description: This removes the `#include <boost/signals2/signal.hpp>` from `util.h` (hopefully speeding up the build time and reducing the memory usage further after #13634) The whole translation interface is replaced by a function `G_TRANSLATION_FUN` that is set to nullptr in units that don't need translation. (Thus only set in the gui) Tree-SHA512: 087c717358bbed8bdb409463e225239d667f1ced381abb10e7cd31a41dcdd2cebe20b43c2ee86f0f8e55d53301f75e963f07421a99a7ff4c0cad2c6a375c5ab1
| * util: Replace boost::signals2 with std::functionMarcoFalke2018-08-241-7/+3
| |
* | qt: Use new Qt5 connect syntaxJoão Barbosa2018-08-211-20/+19
|/
* Update copyright headers to 2018DrahtBot2018-07-271-1/+1
|
* gui: remove SubstituteFontsfanquake2018-07-251-1/+0
|
* Drop unused init.h includesBen Woosley2018-06-251-1/+0
| | | | | | These were entirely unused, as based on successful compilation and a grep for: \bStartShutdown\(\)|\bShutdownRequested\(\)|\bInterrupt\(\)|\bShutdown\(\)|\bInitLogging\(\)|\bInitParameterInteraction\(\)|\bAppInitBasicSetup\(\)|\bAppInitParameterInteraction\(\)|\bAppInitSanityChecks\(\)|\bAppInitLockDataDirectory\(\)|\bAppInitMain\(\)|\bSetupServerArgs\(\)|\bLicenseInfo\(\)|g_wallet_init_interface|init.h
* Merge #13458: gui: Drop qt4 supportWladimir J. van der Laan2018-06-241-35/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | af6ac3b677454644364fd24d0df0c02ac9b8c8db doc: Remove mention of Qt4 from build docs (Wladimir J. van der Laan) 462c71f71b5d753bc8327ab833dea23679450ca3 test: Update travis to not test Qt4 anymore (Wladimir J. van der Laan) 907f73bbc5b6c98b01d7c6088a294dea66634a3f gui: Remove QT_VERSION fallbacks for Qt < 5 (Wladimir J. van der Laan) bad068ad9f4bc60bfc10e27d4ffaec92d7df8491 build: Build system changes to support only Qt5 (Wladimir J. van der Laan) Pull request description: Implements #8263. Qt4.x has been EOL since 2015, and at least Gentoo has, or is going to drop support for it. I wouldn't be surprised if other Linux distributions follow. This removes Qt4 detection from the build system, as well as removes all Qt4 fallbacks from the code. Turns out there's more than I expected: this is going to make maintenance of the GUI code, as well as adding new features significantly easier. (I know there's still some references left to qt4 in RPM and Debian build script, but I don't have the knowledge how to fix them) Tree-SHA512: d495924fd4dda6f6566ba44ee96be7cbe62e69ba1ca993b80a8449f78da852b7f1bd3e8200d57cfa1d72233c340eeff4596fb0032ecbddc715d99aea63817d3f
| * gui: Remove QT_VERSION fallbacks for Qt < 5Wladimir J. van der Laan2018-06-181-35/+1
| | | | | | | | | | | | | | There were surprisingly many `#ifdef` fallbacks for Qt 4. Remiving them simplifies maintenance, as well as adding new GUI functionality.
* | ui: Support wallets unloaded dynamicallyJoão Barbosa2018-06-181-2/+16
|/
* Give an error and exit if there are unknown parametersAndrew Chow2018-05-301-12/+25
| | | | | | | | | | | If an unknown option is given via either the command line args or the conf file, throw an error and exit Update tests for ArgsManager knowing args Ignore unknown options in the config file for bitcoin-cli Fix tests and bitcoin-cli to match actual options used
* Stop translating command line optionsWladimir J. van der Laan2018-05-301-6/+6
| | | | | | | | | | | | | | | | | | | Many options are extremely technical, and refer internals, making it difficult to translate usefully. This came up in discussion of e.g. #10949. If a message is not understood by translators (which are typically end-users, not developers) they'll either translate it literally, making it harder to understand instead of easier, with the added drawback of the user no longer being able to google it. Also the translation was only working for bitcoin-qt as with the console programs, there is no translation backend. So it was injecting never-used translation messages for bitcoin-cli, -tx. For these reasons, stop translating options help completely. This should not affect the output **in any way** except for bitcoin-qt when a non-English language is configured in the locale. This implements #10962.
* ui: Support wallets loaded dynamicallyJoão Barbosa2018-05-161-12/+27
|
* ui: Remove unnecessary variable fFirstWalletJoão Barbosa2018-05-161-3/+1
|
* Make gArgs aware of the argumentsAndrew Chow2018-05-091-0/+16
| | | | | gArgs knows what the available arguments are and their help. Getting the help message is moved to gArgs and HelpMessage() is removed
* -includeconf=<path> support in config handler, for including external ↵Karl-Johan Alm2018-04-261-1/+1
| | | | configuration files
* qt: Don't log to console by defaultWladimir J. van der Laan2018-04-231-0/+4
| | | | | | | | Default `-printtoconsole` to false for the GUI. GUI programs should not print to the console unnecessarily. For example, when launched by the window manager, the output might end up in the X session log file, resulting in duplicate logging. On Windows, it is pointless as well because bitcoin-qt isn't a console application.