aboutsummaryrefslogtreecommitdiff
path: root/src/qt/bitcoin.cpp
AgeCommit message (Collapse)Author
2015-09-03evhttpd implementationWladimir J. van der Laan
- *Replace usage of boost::asio with [libevent2](http://libevent.org/)*. boost::asio is not part of C++11, so unlike other boost there is no forwards-compatibility reason to stick with it. Together with #4738 (convert json_spirit to UniValue), this rids Bitcoin Core of the worst offenders with regard to compile-time slowness. - *Replace spit-and-duct-tape http server with evhttp*. Front-end http handling is handled by libevent, a work queue (with configurable depth and parallelism) is used to handle application requests. - *Wrap HTTP request in C++ class*; this makes the application code mostly HTTP-server-neutral - *Refactor RPC to move all http-specific code to a separate file*. Theoreticaly this can allow building without HTTP server but with another RPC backend, e.g. Qt's debug console (currently not implemented) or future RPC mechanisms people may want to use. - *HTTP dispatch mechanism*; services (e.g., RPC, REST) register which URL paths they want to handle. By using a proven, high-performance asynchronous networking library (also used by Tor) and HTTP server, problems such as #5674, #5655, #344 should be avoided. What works? bitcoind, bitcoin-cli, bitcoin-qt. Unit tests and RPC/REST tests pass. The aim for now is everything but SSL support. Configuration options: - `-rpcthreads`: repurposed as "number of work handler threads". Still defaults to 4. - `-rpcworkqueue`: maximum depth of work queue. When this is reached, new requests will return a 500 Internal Error. - `-rpctimeout`: inactivity time, in seconds, after which to disconnect a client. - `-debug=http`: low-level http activity logging
2015-07-31qt: Introduce PlatformStyleWladimir J. van der Laan
Introduce a PlatformStyle to handle platform-specific customization of the UI. This replaces 'scicon', as well as #ifdefs to determine whether to place icons on buttons. The selected PlatformStyle defaults to the platform that the application was compiled on, but can be overridden from the command line with `-uiplatform=<x>`. Also fixes the warning from #6328.
2015-07-27Merge pull request #5697Wladimir J. van der Laan
60c8bac Includes: Cleanup around net main and wallet (Jorge Timón) 9dd793f TRIVIAL: Missing includes (Jorge Timón)
2015-07-23build: fix building against qt5.4/5.5Cory Fields
2015-07-23Includes: Cleanup around net main and walletJorge Timón
-Move from .h to .cpp: in main, net and wallet -Remove unnecessary #include "main.h" -Cleanup some wallet files includes
2015-07-23TRIVIAL: Missing includesJorge Timón
2015-07-15qt: define QT_NO_KEYWORDSWladimir J. van der Laan
QT_NO_KEYWORDS prevents Qt from defining the `foreach`, `signals`, `slots` and `emit` macros. Avoid overlap between Qt macros and boost - for example #undef hackiness in #6421.
2015-07-06qt: Force TLS1.0+ for SSL connectionsWladimir J. van der Laan
2015-05-14Create a scheduler thread for lightweight tasksGavin Andresen
2015-04-30Merge pull request #6022Wladimir J. van der Laan
b74dcb3 Separate CTranslationInterface from CClientUIInterface (Jorge Timón)
2015-04-20[Qt] header group cleanupPhilip Kaufmann
- seperate core from GUI headers where this was missing - remove an unneeded new-line
2015-04-16Separate CTranslationInterface from CClientUIInterfaceJorge Timón
2015-03-12[Move Only] Move wallet related things to src/wallet/Jonas Schnelli
could once be renamed from /src/wallet to /src/legacywallet.
2015-01-16qt: fonts: allow SubstituteFonts to filter based on user's languageCory Fields
SubstituteFonts() has been moved to after app identification so that QSettings are accessible.
2014-12-19Added "Core" to copyright headerssandakersmann
Github-Pull: #5494 Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
2014-12-19Merge pull request #5470Wladimir J. van der Laan
78253fc Remove references to X11 licence (Michael Ford)
2014-12-17make all catch() arguments constPhilip Kaufmann
- I saw this on http://en.cppreference.com/w/cpp/language/try_catch and thought it would be a good idea - also unify used format to better be able to search for exception uses in our codebase
2014-12-16Remove references to X11 licenceMichael Ford
2014-12-08[Qt] make PaymentServer::ipcParseCommandLine voidPhilip Kaufmann
- the function only returned true, so make it void - add a comment about payment request network detection
2014-10-10qt: add network-specific style objectWladimir J. van der Laan
Mainly cleanups: Gets rid of isTestNet everywhere, by keeping track of network-specific theming in a central place. Also makes GUI no longer dependent on the network ID enumeration, which alleviates concerns about #4802.
2014-10-01qt: Register CAmount metatypeWladimir J. van der Laan
This allows sending the type over queued connections. Also normalize signal/slot names.
2014-09-22Merge pull request #4852Wladimir J. van der Laan
5e83bc4 [Qt] include and file header cleanup (Philip Kaufmann)
2014-09-22qt: Make splash and shutdown window ignore close eventsWladimir J. van der Laan
It's strange to be able to close these windows while there is work in progress. Also set Qt::WA_DeleteOnClose on both windows to make sure that they are deleted eventually, no matter what happens.
2014-09-18[Qt] include and file header cleanupPhilip Kaufmann
- alphabetical ordering - correct ordering own headers before normal headers etc.
2014-09-18qt: Change splash screen to normal windowWladimir J. van der Laan
Makes it possible to move, minimize, unminimize the window while Bitcoin Core is initializing.
2014-08-26Merge pull request #4649Wladimir J. van der Laan
b197bf3 [Qt] disable tray interactions when client model set to 0 (Philip Kaufmann) 314fbd9 [Qt] use BitcoinGUI::DEFAULT_WALLET constant in bitcoin.cpp (Philip Kaufmann) 8ca6a16 [Qt] ensure all class attributes are init to 0 (Philip Kaufmann)
2014-08-26Split up util.cpp/hWladimir J. van der Laan
Split up util.cpp/h into: - string utilities (hex, base32, base64): no internal dependencies, no dependency on boost (apart from foreach) - money utilities (parsesmoney, formatmoney) - time utilities (gettime*, sleep, format date): - and the rest (logging, argument parsing, config file parsing) The latter is basically the environment and OS handling, and is stripped of all utility functions, so we may want to rename it to something else than util.cpp/h for clarity (Matt suggested osinterface). Breaks dependency of sha256.cpp on all the things pulled in by util.
2014-08-08[Qt] use BitcoinGUI::DEFAULT_WALLET constant in bitcoin.cppPhilip Kaufmann
2014-08-07qt: fix unicode character display on osx when building with 10.7 sdkCory Fields
2014-08-04more Bitcoin -> Bitcoin Core string changesPhilip Kaufmann
2014-07-20qt: Move SplashFinished to after ClientModel/WalletModel creationWladimir J. van der Laan
With a large wallet there was a noticable gap between hiding of the splash and showing the main window.
2014-07-17build: allow linux and osx to build against static qt5Cory Fields
This is the first part of a huge effort to rework the handling of dependencies. To start, this change allows all supported platforms to build against a static Qt. 5.2.1 and 5.3 have been successfully tested against osx64, win32, win64, linux32, and linux64. It also makes a small change to the windows config, to allow linking against qt builds with or without built-in libjpeg/libpng/libpcre/libz. The actual build processes to take advantage of these changes (for gitian and pull-tester) are coming soon. Until then, this should be a no-op.
2014-07-15qt: Start core thread only when neededWladimir J. van der Laan
Start the core thread only when needed for initialization or shutdown. Avoids a bit of overhead, and also avoids spamming two log messages before logging is properly initialized.
2014-07-15ui: Replace some LogPrintfs with qDebug()Wladimir J. van der Laan
These are relatively unimportant messages, so don't need to be logged without -debug=ui.
2014-07-02Fix the Qt5 build after d95ba75Wladimir J. van der Laan
Sorry, my own fault this time.
2014-07-01qt: Log messages with type>QtDebugMsg as non-debugWladimir J. van der Laan
More important messages should end up in the log no matter if -debug=qt is set.
2014-06-25Remove unnecessary dependencies for bitcoin-cliWladimir J. van der Laan
This commit removes all the unnecessary dependencies (key, core, netbase, sync, ...) from bitcoin-cli. To do this it shards the chain parameters into BaseParams, which contains just the RPC port and data directory (as used by utils and bitcoin-cli) and Params, with the rest.
2014-06-23build: fix build weirdness after 54372482.Cory Fields
bitcoin-config.h moved, but the old file is likely to still exist when reconfiguring or switching branches. This would've caused files to not rebuild correctly, and other strange problems. Make the path explicit so that the old one cannot be found. Core libs use config/bitcoin-config.h. Libs (like crypto) which don't want access to bitcoin's headers continue to use -Iconfig and #include bitcoin-config.h.
2014-06-11Add `-version` option to get just the versionWladimir J. van der Laan
Adds a `-version` or `--version` option to print just the version of the program for bitcoind, bitcoin-cli and bitcoin-qt. Also make it that `-help` can be used to display the help (as well as existing `--help`). Up to now, `-help` was the only option that didn't work with either one or two dashes.
2014-06-10build: qt: split locale resources. Fixes non-deterministic distcheckCory Fields
The rcc tool is quirky and only honors files in the same directory as the qrc. When doing an out-of-tree build (as 'make distcheck' does), the generated translation files end up in a different path, so rcc can't find them. Split them up so that rcc is run twice: once for static source files and once for generated files.
2014-05-13SetupEnvironment() - clean commitStuart Cardall
2014-05-07[Qt] fix ugly typo in bitcoin.cppPhilip Kaufmann
Closes #4145. Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com> Rebased-From: 1e4b083
2014-04-15[Qt] catch Windows shutdown events while client is runningPhilip Kaufmann
- prevents unsafe shutdowns on Windows, which is known to be able to cause problems with wallet.dat - if a users ends a Windows session, this will initiate a client shutdown and show a Windows dialog, that tells the user what is going on (for Windows Vista and higher it will even show a reason for blocking the Windows session end)
2014-04-07Show error message if ReadConfigFile failsWladimir J. van der Laan
A runaway exception was raised if ReadConfigFile fails (usually due to a parse error in bitcoin.conf). Show an error message instead. Fixes #4013.
2014-03-31qt: Don't require db_cxx.h when wallet disabledWladimir J. van der Laan
Fix #3978.
2014-03-11qt: Make it possible again to specify -testnet in config fileWladimir J. van der Laan
Changes for the datadir chooser have made it impossible to specify the network (testnet/regtest) in the configuration file for the GUI. Reorganize the initialization sequence to make this possible again. - Moves the "datadir" QSetting so that is no longer dependent on the network-specific application name (doing otherwise would create a chicken-and-egg problem). - Re-initialize translations after choosing network. There may be a different language configured in network-specific settings (slim chance, but handle it for sanity). Fixes point 1 of #3840.
2014-03-07MainNet is the special case for the GUIjtimon
2014-02-16Merge pull request #3646Wladimir J. van der Laan
5770254 Copyright header updates s/2013/2014 on files whose last git commit was done in 2014. contrib/devtools/fix-copyright-headers.py script to be able to perform this maintenance task with ease during the rest of the year, every year. Modifications to contrib/devtools/README.md to document what fix-copyright-headers.py does. (gubatron)
2014-02-09Copyright header updates s/2013/2014 on files whose last git commit was done ↵gubatron
in 2014. contrib/devtools/fix-copyright-headers.py script to be able to perform this maintenance task with ease during the rest of the year, every year. Modifications to contrib/devtools/README.md to document what fix-copyright-headers.py does.
2014-02-07[Qt] remove broken OptionsModel::Upgrade()Cozz Lovan