aboutsummaryrefslogtreecommitdiff
path: root/src/qt/clientmodel.cpp
AgeCommit message (Collapse)Author
2014-12-16Remove references to X11 licenceMichael Ford
2014-10-29Separate protocol versioning from clientversionCory Fields
2014-08-29Merge pull request #4599Jeff Garzik
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-14ui_interface: remove unused NotifyBlocksChanged signalJeff Garzik
2014-07-07Use GetBlockTime() morejtimon
2014-06-12add NetworkIDString() to chainparamsPhilip Kaufmann
- returns the BIP70 network string - use that new function in the core and GUI code and remove unused code and functions
2014-06-04Merge pull request #4223Wladimir J. van der Laan
06a91d9 VerifyDB progress (Cozz Lovan)
2014-06-03VerifyDB progressCozz Lovan
2014-06-03[Qt] style police and small addition in rpcconsolePhilip Kaufmann
- fix spaces, indentation and coding style glitches
2014-06-03Qt: Add GUI view of peer information. #4133Ashley Holman
2014-05-06Remove NumBlocksOfPeersWladimir J. van der Laan
Generally useless information. Only updates on connect time, not after that. Peers can easily lie and the median filter is not effective in preventing that. In the past it was used for progress display in the GUI but `CheckPoints::guessVerificationProgress` provides a better way that is now used. It was too easy to mislead it. Peers do lie about it in practice, see issue #4065. From the RPC, `getpeerinfo` gives the peer raw values, which are more useful.
2014-04-23qt: get required locks upfront in polling functionsWladimir J. van der Laan
This avoids the GUI from getting stuck on periodical polls if the core is holding the locks for a longer time - for example, during a wallet rescan.
2014-04-18Solve chainActive-related locking issuesWladimir J. van der Laan
- In wallet and GUI code LOCK cs_main as well as cs_wallet when necessary - In main.cpp SendMessages move the TRY_LOCK(cs_main) up, to encompass the call to IsInitialBlockDownload. - Make ActivateBestChain, AddToBlockIndex, IsInitialBlockDownload, InitBlockIndex acquire the cs_main lock Fixes #3997
2014-03-03[Qt] show number of in/out connections in debug consolePhilip Kaufmann
2013-12-20qt: Treat regtest as testnetWladimir J. van der Laan
No need to do anything special in the GUI for regtest mode, but do treat it at testnet not mainnet to prevent confusion.
2013-11-10Cleanup code using forward declarations.Brandon Dahler
Use misc methods of avoiding unnecesary header includes. Replace int typedefs with int##_t from stdint.h. Replace PRI64[xdu] with PRI[xdu]64 from inttypes.h. Normalize QT_VERSION ifs where possible. Resolve some indirect dependencies as direct ones. Remove extern declarations from .cpp files.
2013-11-04qt: add license header to source filesWladimir J. van der Laan
Closes #839
2013-10-17Merge pull request #3084 from Diapolo/clientmodelWladimir J. van der Laan
clientmodel: remove 2 hard-coded values, use CChainParams instead
2013-10-15Merge pull request #2924 from sje397/TrafficGraphWladimir J. van der Laan
[QT] Add network traffic graph to debug window
2013-10-15clientmodel: remove 2 hard-coded values, use CChainParams insteadPhilip Kaufmann
2013-10-14Add network traffic graphScott Ellis
2013-10-11Refactor/encapsulate chain globals into a CChain classPieter Wuille
2013-09-28several small Qt-related fixesPhilip Kaufmann
- make BitcoinGUI::showPaymentACK() use a reference for msg and use our own GUIUtil::HtmlEscape() function - ensure QTimer usage in clientmodel is the same as in walletmodel - remove an unneeded debug message in walletframe - flag some parameters as unused in DebugMessageHandler() - small code formatting changes
2013-09-06Bitcoin-Qt: Use qDebug() for printing to debug.logPhilip Kaufmann
- removes all usages of PrintDebugStringF from Qt code - ensure same format for all debug.log messages "functionname : Message"
2013-06-19Introduce a CChainParameters singleton class and regtest mode.Mike Hearn
The new class is accessed via the Params() method and holds most things that vary between main, test and regtest networks. The regtest mode has two purposes, one is to run the bitcoind/bitcoinj comparison tool which compares two separate implementations of the Bitcoin protocol looking for divergence. The other is that when run, you get a local node which can mine a single block instantly, which is highly convenient for testing apps during development as there's no need to wait 10 minutes for a block on the testnet.
2013-04-10rework ClientModel::getBlockSource() + BitcoinGUI::setNumBlocks()Philip Kaufmann
- updates ClientModel::getBlockSource() to return all available states and sorts enum BlockSource in order of usage cases (none default, then reindex, import and network) - updates BitcoinGUI::setNumBlocks() to better use getBlockSource() and also adds a message, when we have NO block source available
2013-04-06Bitcoin-Qt: emit numBlocksChanged for changed reindex or importing statePhilip Kaufmann
- this allows our progressbarlabel to correctly update, when we finish a reindex or import, but do not get new blocks from other sources
2013-04-04Bitcoin-Qt: add Genesis blocks time for testnetPhilip Kaufmann
- add the Genesis blocks time for the testnet in ClientModel::getLastBlockDate()
2013-03-17Bitcoin-Qt: massive header and cpp cleanupPhilip Kaufmann
- try to enforce the same style to all Qt related files - remove unneeded includes from the files - add missing Q_OBJECT, QT_BEGIN_NAMESPACE / QT_END_NAMESPACE - prepares for a pull-req to include Qt5 compatibility
2013-02-16Transactions-based verification progressPieter Wuille
2013-02-16Change progress bar from block-based to time-basedWladimir J. van der Laan
This is less confusing to most people, and doesn't rely on estimates of the total number of blocks received from other nodes.
2013-01-30Prevent Qt crash at startup with an empty data directoryGavin Andresen
2013-01-04Bitcoin-Qt: never display own block count > estimated block countPhilip Kaufmann
- some users reported it as weird, that the estimated block count could be lower than our own nodes block number (which is indeed true and not good) - this pull adds a new default behaviour, which displays our own block number as estimated block number, if own >= est. block count - the pull raises space for nodes block counts in cPeerBlockCounts to 8 to be more accurate - also removes a reduntant setNumBlocks() call in RPCConsole and moves initialisation of numBlocksAtStartup in ClientModel, where it belongs
2012-12-03Bitcoin-Qt: remove obsolete modal flag from GUI APIsPhilip Kaufmann
- as we (can) supply the CClientUIInterface::MODAL flag via the style parameter, we don't need a separate bool for checking the modality
2012-11-26update CClientUIInterface and remove orphan Wx stuffPhilip Kaufmann
- fix ThreadSafeMessageBox always displays error icon - allow to specify MSG_ERROR / MSG_WARNING or MSG_INFORMATION without a custom caption / title - allow to specify CClientUIInterface::ICON_ERROR / ICON_WARNING and ICON_INFORMATION (which is default) as message box icon - remove CClientUIInterface::OK from ThreadSafeMessageBox-calls, as the OK button will be set as default, if none is specified - prepend "Bitcoin - " to used captions - rename BitcoinGUI::error() -> BitcoinGUI::message() and add function documentation - change all style parameters and enum flags to unsigned - update code to use that new API - update Client- and WalletModel to use new BitcoinGUI::message() and rename the classes error() method into message() - include the possibility to supply the wanted icon for messages from Client- and WalletModel via "style" parameter
2012-11-09Add -reindex, to perform in-place reindexing of block chain filesPieter Wuille
Flushes the blktree/ and coins/ databases, and reindexes the block chain files, as if their contents was loaded via -loadblock. Based on earlier work by Jeff Garzik.
2012-10-25Show warning when using prerelease versionWladimir J. van der Laan
Implements #1948 - Add macro `CLIENT_VERSION_IS_RELEASE` to clientversion.h - When running a prerelease (the above macro is `false`): - In UI, show an orange warning bar at the top. This will be used for other warnings (and alerts) as well, instead of the status bar. - For `bitcoind`, show the warning in the "errors" field in `getinfo` response.
2012-10-20Move external block import to separate threadPieter Wuille
2012-08-28Refactor: move alert code from main to alert.cpp/hGavin Andresen
2012-08-01only update cached values in ClientModel::updateTimer() when they are changedPhilip Kaufmann
2012-07-06Add a timer to check for changes in immature or unconfirmed balances,Scott Ellis
when these are non-zero. Fixed a minor mem leak.
2012-05-23add client startup time as an entry to debug.log (note: logged time in ↵Philip Kaufmann
debug.log differs by a few seconds from the one displayed in the Debug window) / make ClientModel::formatClientStartupTime() return a QString
2012-05-20Convert UI interface to boost::signals2.Wladimir J. van der Laan
- Signals now go directly from the core to WalletModel/ClientModel. - WalletModel subscribes to signals on CWallet: Prepares for multi-wallet support, by no longer assuming an implicit global wallet. - Gets rid of noui.cpp, the few lines that were left are merged into init.cpp - Rename wxXXX message flags to MF_XXX, to make them UI indifferent. - ThreadSafeMessageBox no longer returns the value `4` which was never used, converted to void.
2012-05-20Fine-grained UI updatesWladimir J. van der Laan
Gets rid of `MainFrameRepaint` in favor of specific update functions that tell the UI exactly what changed. This improves the efficiency of various handlers. Also fixes problems with mined transactions not showing up until restart. The following notifications were added: - `NotifyBlocksChanged`: Block chain changed - `NotifyKeyStoreStatusChanged`: Wallet status (encrypted, locked) changed. - `NotifyAddressBookChanged`: Address book entry changed. - `NotifyTransactionChanged`: Wallet transaction added, removed or updated. - `NotifyNumConnectionsChanged`: Number of connections changed. - `NotifyAlertChanged`: New, updated or cancelled alert. As this finally makes it possible for the UI to know when a new alert arrived, it can be shown as OS notification. These notifications could also be useful for RPC clients. However, currently, they are ignored in bitcoind (in noui.cpp). Also brings back polling with timer for numBlocks in ClientModel. This value updates so frequently during initial download that the number of signals clogs the UI thread and causes heavy CPU usage. And after initial block download, the value changes so rarely that a delay of half a second until the UI updates is unnoticable.
2012-05-12add the client startup time to the debug window / rename Version label to ↵Philip Kaufmann
Client, which is better suiting now / add IBeamCursor for selectable text on the information page / make ">" sign on RPC page untranslatable / re-order XML-file tags to match real GUI element order
2012-05-05Add UI RPC console / debug windowWladimir J. van der Laan
2012-04-17Remove headers.hPieter Wuille
2012-04-10Build identification stringsPieter Wuille
All client version information is moved to version.cpp, which optionally (-DHAVE_BUILD_INFO) includes build.h. build.h is automatically generated on supporting platforms via contrib/genbuild.sh, using git describe. The git export-subst attribute is used to put the commit id statically in version.cpp inside generated archives, and this value is used if no build.h is present. The gitian descriptors are modified to use git archive instead of a copy, to create the src/ directory in the output. This way, src/src/version.cpp will contain the static commit id. To prevent gitian builds from getting the "-dirty" marker in their git-describe generated identifiers, no touching of files or running sed on the makefile is performed anymore. This does not seem to influence determinism.
2012-04-04Update UI through async calls MainFrameRepaint and AddressBookRepaint ↵Wladimir J. van der Laan
instead of a timer. - Overall, this is better design - This fixes problems with the address book UI not updating when the address book is changed through RPC - Move Statusbar change detection responsibility to ClientModel