Pieter Wuille
712fd182b7
Locking system overhaul, add condition variables
...
This commit simplifies the locking system: CCriticalSection becomes a
simple typedef for boost::interprocess::interprocess_recursive_mutex,
and CCriticalBlock and CTryCriticalBlock are replaced by a templated
CMutexLock, which wraps boost::interprocess::scoped_lock.
By making the lock type a template parameter, some critical sections
can now be changed to non-recursive locks, which support waiting via
condition variables. These are implemented in CWaitableCriticalSection
and WAITABLE_CRITICAL_BLOCK.
CWaitableCriticalSection is a wrapper for a different Boost mutex,
which supports waiting/notification via condition variables. This
should enable us to remove much of the used polling code. Important
is that this mutex is not recursive, so functions that perform the
locking must not call eachother.
Because boost::interprocess::scoped_lock does not support assigning
and copying, I had to revert to the older CRITICAL_BLOCK macros that
use a nested for loop instead of a simple if.
13 years ago
Pieter Wuille
b0a7e05a45
Merge pull request #1019 from laanwj/2012_03_uirefactor
...
Streamline UI ↔ Core interface
13 years ago
Wladimir J. van der Laan
cadae3588c
Merge pull request #1025 from Diapolo/GUI-BlockDL
...
modified block DL progressbar to be more informative and precise
13 years ago
Wladimir J. van der Laan
5cccb13dad
Move from noui.h / ui.h to one ui_interface.h with dummy implementation for the daemon.
13 years ago
Wladimir J. van der Laan
5a60b66a9d
Use a messagebox to display the error when -server is provided without providing a rpc password
13 years ago
Wladimir J. van der Laan
7cfbe1fee4
qtui.h/noui.h interface cleanup
...
- rename wxMessageBox, remove redundant arguments to noui/qtui calls
- also, add flag to force blocking, modal dialog box for disk space warning etc
- clarify function naming
- no more special MessageBox needed from AppInit2, as window object is created before calling AppInit2
13 years ago
Wladimir J. van der Laan
1a3f0da922
support RPC stop and encryptwallet with UI
13 years ago
Wladimir J. van der Laan
5d7cebdadc
move translation function _ to qtui.h/noui.h instead of util.h
13 years ago
Wladimir J. van der Laan
6cb6d62347
remove dependency on serialize.h and util.h for SecureString
13 years ago
Wladimir J. van der Laan
f0b5e9e116
remove unused CalledSetStatusBar and UIThreadCall notifications
13 years ago
Wladimir J. van der Laan
98e6175874
Update UI through async calls MainFrameRepaint and AddressBookRepaint 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
13 years ago
Wladimir J. van der Laan
7e7bcce2d9
Code deduplication: make function in GUIUtil to get connection type to call object slot in GUI thread
...
with invokeMethod.
13 years ago
Wladimir J. van der Laan
55f69a4700
move QT_PLUGINS stuff to qt main file, where it belongs
13 years ago
Wladimir J. van der Laan
fc8c44e3d5
Merge pull request #949 from laanwj/2012_03_vc2010compilefixes
...
VC2010 compile fixes
13 years ago
Wladimir J. van der Laan
52d3a48128
VC2010 compile fixes
13 years ago
Gregory Maxwell
703d64469e
Merge pull request #934 from luke-jr/gitian_luke
...
Add Luke-Jr's PGP key to gitian-downloader
13 years ago
Philip Kaufmann
853a4a81b3
clarified comment why we use an own progressbar style / included "~" in the tr() call
13 years ago
Philip Kaufmann
ec9a4904f3
changed percentage done in tooltip to float to be more precise / allowed plurals in translation for "x block(s) remaining"
13 years ago
Gregory Maxwell
3263a245bb
Merge pull request #1026 from laanwj/2012_04_increase_up_to_date_time
...
Increase time ago of last block for "up to date" status from 30 to 90 minutes
13 years ago
Philip Kaufmann
a7a69cd07a
polished code and fixed progress display (was very jerky at the end of a sync)
13 years ago
Philip Kaufmann
e9de46c436
color update for progress bar
13 years ago
Philip Kaufmann
c7c0c93172
implemented OS independent progress bar style / moved one-time functions used on the bar to a better code location
13 years ago
Philip Kaufmann
5519660a0d
changed progressbar text to "~n blocks remaining"
13 years ago
Philip Kaufmann
068ed1e838
removed relative progressbar display and moved re-worked network detection code to setNumBlocks()
13 years ago
Philip Kaufmann
9ceae8acea
modified block DL progressbar to be dynamic and more precise
13 years ago
Wladimir J. van der Laan
2675fe6218
Increase time ago of last block for "up to date" status from 30 to 90 minutes
...
It was too hyperactive.
gmaxwell: I mean that right now when the block gap goes over an hour it starts showing synchronizing. Increasing that to 90 minutes or so would make it only happen about 6.4 times per year
13 years ago
Gavin Andresen
85ea8b4f43
Merge pull request #951 from TheBlueMatt/headerslimit
...
Limit getheaders to a hard 2000.
13 years ago
Pieter Wuille
91c5132ab5
Merge pull request #998 from Diapolo/transactiontable
...
removed an ugly line break in a transaction tooltip
13 years ago
Pieter Wuille
d3f220b2c2
Merge pull request #1022 from Diapolo/fix#1020
...
fix for #1020
13 years ago
Pieter Wuille
fdef04e77b
Merge pull request #995 from Diapolo/master
...
fixed typo in comment in netbase.h and bignum.h
13 years ago
Pieter Wuille
542a1380aa
Merge pull request #1006 from Diapolo/tr-tray
...
made tray icon tooltip translatable
13 years ago
Pieter Wuille
811bde8267
Merge pull request #1018 from sipa/gpg
...
Updated my GPG key
13 years ago
Gavin Andresen
f3da2a88c9
Bump version to 0.6.0.99 for 0.6.1 merge window
13 years ago
Philip Kaufmann
b5271c8861
hide Delete button (only) on ReceivingTab / hide Sign message button (only) on SendingTab
13 years ago
Pieter Wuille
94e6967e98
Updated my GPG key
13 years ago
Philip Kaufmann
7e05b97229
fixed typo in comment in netbase.h and bignum.h
13 years ago
Gavin Andresen
a1c3d8f14d
Merge branch 'master' of github.com:bitcoin/bitcoin
13 years ago
Gavin Andresen
f146061d24
Merge pull request #1010 from sipa/fastblocks2
...
Use transactions-updated as flush condition
13 years ago
Gavin Andresen
dac1888c18
Merge pull request #1008 from gavinandresen/addrworkaround
...
Workaround hangs when upgrading old addr.dat files
13 years ago
Pieter Wuille
25c5eca893
Use transactions-updated as flush condition
...
The normal checkpointing during the block chain download is reduced
to every five minutes only, but forced every 200000 updated transactions.
13 years ago
Gavin Andresen
f3f9da868e
Bump version to 0.6.0rc6
13 years ago
Gavin Andresen
6293a9f87f
Workaround hangs when upgrading old addr.dat files
13 years ago
Gavin Andresen
83e914c1d5
Merge pull request #1007 from gavinandresen/log_auto_remove
...
Auto-remove logs, and decrease logfile size to 10M
13 years ago
Gavin Andresen
94b5960ef3
Merge pull request #996 from Diapolo/tx-lang-upd
...
update translations from transifex
13 years ago
Gavin Andresen
9f18347034
Auto-remove logs, and decrease logfile size to 10M
13 years ago
Philip Kaufmann
3d1d5fafc1
made tray icon tooltip translatable
13 years ago
Philip Kaufmann
0b637e0b86
removed an ugly line break in a transaction tooltip for case TransactionStatus::Mature
13 years ago
Philip Kaufmann
7b2eecd428
update translations from transifex
13 years ago
Gavin Andresen
8d29329f93
Update version to 60005 (0.6.0rc5)
13 years ago
Gavin Andresen
0ccb2c4f66
Merge branch 'master' of github.com:bitcoin/bitcoin
13 years ago