aboutsummaryrefslogtreecommitdiff
path: root/src/qt/clientmodel.h
AgeCommit message (Collapse)Author
2022-08-29ui: show header pre-synchronization progressPieter Wuille
2022-05-21qt/clientmodel: thread safety annotation for m_cached_tip_mutexAnthony Towns
2022-05-20Merge bitcoin-core/gui#581: refactor: Revamp `ClientModel` code to handle ↵Hennadii Stepanov
core signals bcbf982553aba8107fdb0db413d4b9fe8adc8f17 qt, doc: Remove unneeded comments (Hennadii Stepanov) 9bd1565f6501c81291b286cdfaecd0daf8981c75 qt: Revamp ClientModel code to handle {Block|Header}Tip core signals (Hennadii Stepanov) 48f6d39659e40f44907a7c09f839df988e6c6206 qt: Revamp ClientModel code to handle BannedListChanged core signal (Hennadii Stepanov) 36b12af7eeb571efccd972b2f732a81ae7310066 qt: Revamp ClientModel code to handle AlertChanged core signal (Hennadii Stepanov) bfe5140c50d16cc995c7da458d38759b68e9cbe6 qt: Revamp ClientModel code to handle NetworkActiveChanged core signal (Hennadii Stepanov) 639563d7fea6b4d65840625dc466eede32d893cf qt: Revamp ClientModel code to handle NumConnectionsChanged core signal (Hennadii Stepanov) 508e2dca5e91c1ff921f01d260fc62f629f1dc9e qt: Revamp ClientModel code to handle ShowProgress core signal (Hennadii Stepanov) Pull request description: This PR: - is a pure refactoring with no behavior change - gets rid of `QMetaObject::invokeMethod()` "dynamic" calls, i.e., without compile-time checks of a called function name and its parameters - replaces `std::bind`s with lambdas, making parameter permutation (including parameter omitting) explicit - makes code simpler, more concise, and easier to reason about Additionally, debug messages have been unified. ACKs for top commit: promag: Code review ACK bcbf982553aba8107fdb0db413d4b9fe8adc8f17 w0xlt: tACK https://github.com/bitcoin-core/gui/pull/581/commits/bcbf982553aba8107fdb0db413d4b9fe8adc8f17 on Ubuntu 21.10, Qt 5.15.2. Tree-SHA512: 35f62b84f916b3ad7442f0fea945d344b3c448878b33506ac7b81fdf5e49bd2a82e12a6927dc91f62c335487bf2305cc45e2f08985303eef31c3ed2dd39e1037
2022-05-12Increase threadsafety annotation coverageAnthony Towns
2022-04-16qt: Revamp ClientModel code to handle {Block|Header}Tip core signalsHennadii Stepanov
No behavior change.
2022-04-16qt: Revamp ClientModel code to handle BannedListChanged core signalHennadii Stepanov
No behavior change.
2022-04-16qt: Revamp ClientModel code to handle AlertChanged core signalHennadii Stepanov
No behavior change.
2022-04-10qt: Revamp ClientModel code to handle NetworkActiveChanged core signalHennadii Stepanov
No behavior change.
2022-04-10qt: Revamp ClientModel code to handle NumConnectionsChanged core signalHennadii Stepanov
No behavior change.
2021-12-30scripted-diff: Bump copyright headersHennadii Stepanov
-BEGIN VERIFY SCRIPT- ./contrib/devtools/copyright_header.py update ./ -END VERIFY SCRIPT- Commits of previous years: * 2020: fa0074e2d82928016a43ca408717154a1c70a4db * 2019: aaaaad6ac95b402fe18d019d67897ced6b316ee0
2021-03-07qt: Use PeerTableSortProxy for sorting peer tableHennadii Stepanov
2020-12-31scripted-diff: Bump copyright headersMarcoFalke
-BEGIN VERIFY SCRIPT- ./contrib/devtools/copyright_header.py update ./ -END VERIFY SCRIPT-
2020-05-23BlockTip struct created and connected to notifyHeaderTip and notifyBlockTip ↵furszy
signals.
2020-05-23Added best block hash to the NotifyHeaderTip and NotifyBlockTip signals.furszy
[ClientModel] best header/block hash cached.
2020-05-19qt: Add SynchronizationState enum to signal parameterHennadii Stepanov
2020-01-09gui: Avoid redundant tx status updatesRussell Yanofsky
In TransactionTablePriv::index, avoid calling interfaces::Wallet::tryGetTxStatus if the status is up to date as of the most recent NotifyBlockTip notification. Store height from the most recent notification in a new ClientModel::cachedNumBlocks variable in order to check this. This avoids floods of IPC traffic from tryGetTxStatus with #10102 when there are a lot of transactions. It might also make the GUI a little more efficient even when there is no IPC.
2019-12-30scripted-diff: Bump copyright of files changed in 2019MarcoFalke
-BEGIN VERIFY SCRIPT- ./contrib/devtools/copyright_header.py update ./ -END VERIFY SCRIPT-
2019-10-25gui: Make polling in ClientModel asynchronousJoão Barbosa
With this change polling runs in a different thread to prevent disturbing the event loop.
2019-01-13Don't use zero as null pointer constant (-Wzero-as-null-pointer-constant)practicalswift
Qt-only changes.
2018-10-06Add "Blocksdir" to Debug windowHennadii Stepanov
To get the current blocksdir is valuable for debug purposes after merging #12653.
2018-07-27Update copyright headers to 2018DrahtBot
2018-05-15[gui] Add proxy icon in statusbarCristian Mircea Messel
2018-04-07scripted-diff: Avoid `interface` keyword to fix windows gitian buildRussell Yanofsky
Rename `interface` to `interfaces` Build failure reported by Chun Kuan Lee <ken2812221@gmail.com> https://github.com/bitcoin/bitcoin/pull/10244#issuecomment-379434756 -BEGIN VERIFY SCRIPT- git mv src/interface src/interfaces ren() { git grep -l "$1" | xargs sed -i "s,$1,$2,g"; } ren interface/ interfaces/ ren interface:: interfaces:: ren BITCOIN_INTERFACE_ BITCOIN_INTERFACES_ ren "namespace interface" "namespace interfaces" -END VERIFY SCRIPT-
2018-04-04Remove direct bitcoin calls from qt/clientmodel.cppRussell Yanofsky
2018-03-09scripted-diff: Convert 11 enums into scoped enums (C++11)practicalswift
-BEGIN VERIFY SCRIPT- sed -i 's/enum DBErrors/enum class DBErrors/g' src/wallet/walletdb.h git grep -l DB_ | xargs sed -i 's/DB_\(LOAD_OK\|CORRUPT\|NONCRITICAL_ERROR\|TOO_NEW\|LOAD_FAIL\|NEED_REWRITE\)/DBErrors::\1/g' sed -i 's/^ DBErrors::/ /g' src/wallet/walletdb.h sed -i 's/enum VerifyResult/enum class VerifyResult/g' src/wallet/db.h sed -i 's/\(VERIFY_OK\|RECOVER_OK\|RECOVER_FAIL\)/VerifyResult::\1/g' src/wallet/db.cpp sed -i 's/enum ThresholdState/enum class ThresholdState/g' src/versionbits.h git grep -l THRESHOLD_ | xargs sed -i 's/THRESHOLD_\(DEFINED\|STARTED\|LOCKED_IN\|ACTIVE\|FAILED\)/ThresholdState::\1/g' sed -i 's/^ ThresholdState::/ /g' src/versionbits.h sed -i 's/enum SigVersion/enum class SigVersion/g' src/script/interpreter.h git grep -l SIGVERSION_ | xargs sed -i 's/SIGVERSION_\(BASE\|WITNESS_V0\)/SigVersion::\1/g' sed -i 's/^ SigVersion::/ /g' src/script/interpreter.h sed -i 's/enum RetFormat {/enum class RetFormat {/g' src/rest.cpp sed -i 's/RF_\(UNDEF\|BINARY\|HEX\|JSON\)/RetFormat::\1/g' src/rest.cpp sed -i 's/^ RetFormat::/ /g' src/rest.cpp sed -i 's/enum HelpMessageMode {/enum class HelpMessageMode {/g' src/init.h git grep -l HMM_ | xargs sed -i 's/HMM_BITCOIN/HelpMessageMode::BITCOIN/g' sed -i 's/^ HelpMessageMode::/ /g' src/init.h sed -i 's/enum FeeEstimateHorizon/enum class FeeEstimateHorizon/g' src/policy/fees.h sed -i 's/enum RBFTransactionState/enum class RBFTransactionState/g' src/policy/rbf.h git grep -l RBF_ | xargs sed -i 's/RBF_TRANSACTIONSTATE_\(UNKNOWN\|REPLACEABLE_BIP125\|FINAL\)/RBFTransactionState::\1/g' sed -i 's/^ RBFTransactionState::/ /g' src/policy/rbf.h sed -i 's/enum BlockSource {/enum class BlockSource {/g' src/qt/clientmodel.h git grep -l BLOCK_SOURCE_ | xargs sed -i 's/BLOCK_SOURCE_\(NONE\|REINDEX\|DISK\|NETWORK\)/BlockSource::\1/g' sed -i 's/^ BlockSource::/ /g' src/qt/clientmodel.h sed -i 's/enum FlushStateMode {/enum class FlushStateMode {/g' src/validation.cpp sed -i 's/FLUSH_STATE_\(NONE\|IF_NEEDED\|PERIODIC\|ALWAYS\)/FlushStateMode::\1/g' src/validation.cpp sed -i 's/^ FlushStateMode::/ /g' src/validation.cpp sed -i 's/enum WitnessMode {/enum class WitnessMode {/g' src/test/script_tests.cpp sed -i 's/WITNESS_\(NONE\|PKH\|SH\)/WitnessMode::\1/g' src/test/script_tests.cpp sed -i 's/^ WitnessMode::/ /g' src/test/script_tests.cpp -END VERIFY SCRIPT-
2018-01-03Increment MIT Licence copyright header year on files modified in 2017Akira Takizawa
2017-06-12Remove unnecessary forward class declarations in header filespracticalswift
2017-04-20Add missing <atomic> header in clientmodel.hJonas Schnelli
2017-04-20Declare headers height/time cache mutable, re-set the methods constJonas Schnelli
2017-04-19Reduce cs_main locks during modal overlay by adding an atomic cacheJonas Schnelli
2017-01-19Merge #9461: [Qt] Improve progress display during headers-sync and peer-findingJonas Schnelli
40ec7c7 [Qt] Improve progress display during headers-sync and peer-finding (Jonas Schnelli)
2017-01-19[Qt] Improve progress display during headers-sync and peer-findingJonas Schnelli
2016-12-31Increment MIT Licence copyright header year on files modified in 2016isle2983
Edited via: $ contrib/devtools/copyright_header.py update .
2016-11-11Merge #8996: Network activity toggleJonas Schnelli
19f46f1 Qt: New network_disabled icon (Luke Dashjr) 54cf997 RPC/Net: Use boolean consistently for networkactive, and remove from getinfo (Luke Dashjr) b2b33d9 Overhaul network activity toggle (Jonas Schnelli) 32efa79 Qt: Add GUI feedback and control of network activity state. (Jon Lund Steffensen) e38993b RPC: Add "togglenetwork" method to toggle network activity temporarily (Jon Lund Steffensen) 7c9a98a Allow network activity to be temporarily suspended. (Jon Lund Steffensen)
2016-10-24Qt: Add GUI feedback and control of network activity state.Jon Lund Steffensen
Add getNetworkActive()/setNetworkActive() method to client model. Send network active status through NotifyNetworkActiveChanged. Indicate in tool tip of gui status bar network indicator whether network activity is disabled. Indicate in debug window whether network activity is disabled and add button to allow user to toggle network activity state.
2016-09-13[Qt] only update "amount of blocks left" when the header chain is in-syncJonas Schnelli
2016-08-26[Qt] ClientModel add method to get the height of the header chainJonas Schnelli
2016-06-28qt: Remove client name from debug windowWladimir J. van der Laan
Remove the client name from the debug window in the GUI. It is already part of the user agent, so adding it separately doesn't add anything.
2016-05-17Report reindexing progress in GUIPieter Wuille
2016-03-24[Qt] remove unused formatBuildDate methodJonas Schnelli
2016-03-22[Qt] Debug window: replace "Build date" with "Datadir"Jonas Schnelli
The build date does only makes sense for custom/self-compiled bitcoin-core versions because we are using static build-dates for our deterministic release builds. Having a quick option to get the current datadir is much more valuable for debug purposes.
2016-03-18Update alert notification and GUIBtcDrak
2015-12-13Bump copyright headers to 2015MarcoFalke
2015-11-30[Qt] call GuessVerificationProgress synchronous during core signal, pass ↵Jonas Schnelli
double over UI signal
2015-11-30[Qt] reduce cs_main in getVerificationProgress()Jonas Schnelli
2015-11-30[Qt] update block tip (height and date) without locking cs_main, update ↵Jonas Schnelli
always (each block)
2015-11-20[Qt] simple mempool info in debug windowJonas Schnelli
2015-09-16[Qt] simplify ban list signal handlingPhilip Kaufmann
- remove banListChanged signal from client model - directly call clientModel->getBanTableModel()->refresh() without the way over clientModel->updateBanlist() - also fix clearing peer detail window, when selecting (clicking) peers in the ban list
2015-09-16[Qt] banlist, UI optimizing and better signal handlingJonas Schnelli
2015-09-16[Qt] add banlist table below peers tableJonas Schnelli