aboutsummaryrefslogtreecommitdiff
path: root/src/qt/walletmodel.h
Commit message (Collapse)AuthorAgeFilesLines
* Rename IMPLEMENT_SERIALIZE to ADD_SERIALIZE_METHODSPieter Wuille2014-09-021-1/+1
|
* Serializer simplifications after IMPLEMENT_SERIALIZE overhaulPieter Wuille2014-09-011-18/+14
|
* Use CSizeComputer to avoid counting sizes in SerializationOpPieter Wuille2014-08-311-5/+2
|
* rework overhauled serialization methods to non-staticKamil Domanski2014-08-311-5/+5
| | | | | | | Thanks to Pieter Wuille for most of the work on this commit. I did not fixup the overhaul commit, because a rebase conflicted with "remove fields of ser_streamplaceholder". I prefer not to risk making a mistake while resolving it.
* overhaul serialization codeKamil Domanski2014-08-311-4/+11
| | | | | | | | | | | | | | | | | | | | | The implementation of each class' serialization/deserialization is no longer passed within a macro. The implementation now lies within a template of form: template <typename T, typename Stream, typename Operation> inline static size_t SerializationOp(T thisPtr, Stream& s, Operation ser_action, int nType, int nVersion) { size_t nSerSize = 0; /* CODE */ return nSerSize; } In cases when codepath should depend on whether or not we are just deserializing (old fGetSize, fWrite, fRead flags) an additional clause can be used: bool fRead = boost::is_same<Operation, CSerActionUnserialize>(); The IMPLEMENT_SERIALIZE macro will now be a freestanding clause added within class' body (similiar to Qt's Q_OBJECT) to implement GetSerializeSize, Serialize and Unserialize. These are now wrappers around the "SerializationOp" template.
* Merge pull request #4673Wladimir J. van der Laan2014-08-261-0/+7
|\ | | | | | | | | 1c5f0af [Qt] Add column Watch-only to transactions list (Cozz Lovan) 939ed97 Add boolean HaveWatchonly and signal NotifyWatchonlyChanged (Cozz Lovan)
| * Add boolean HaveWatchonly and signal NotifyWatchonlyChangedCozz Lovan2014-08-111-0/+7
| |
* | gui: remove redundant numTransactions trackingWladimir J. van der Laan2014-08-181-5/+0
|/ | | | | | | This number was still tracked even though it's shown nowhere in the UI anymore. It was originally removed because it didn't match the actual number of records in the view (which contains outputs, not transactions) thus was confusing people.
* [Qt] Prevent balloon-spam after rescanCozz Lovan2014-07-181-0/+4
|
* Watchonly balances are shown separately in gui.JaSK2014-07-021-1/+8
|
* [Qt] rescan progressCozz Lovan2014-04-021-0/+3
|
* Remove CWalletTx::vfSpentGavin Andresen2014-02-261-0/+1
| | | | | | Use the spent outpoint multimap to figure out which wallet transaction outputs are unspent, instead of a vfSpent array that is saved to disk.
* Copyright header updates s/2013/2014 on files whose last git commit was done ↵gubatron2014-02-091-1/+1
| | | | | | 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.
* [Qt] very minor style cleanupsPhilip Kaufmann2014-01-221-1/+1
| | | | | | - rebuilt some ui file layout to remove unreal values from the files - remove an unneeded attribute from an ui file - add / remove some spaces in files
* [Qt] Permanently store requested payments in walletCozz Lovan2014-01-191-2/+40
|
* Merge pull request #3433Wladimir J. van der Laan2013-12-181-1/+1
|\ | | | | | | 6c1bf19 [Qt] style-police, add missing license headers (Philip Kaufmann)
| * [Qt] style-police, add missing license headersPhilip Kaufmann2013-12-171-1/+1
| | | | | | | | | | - add missing license headers in Mac files - small code formating cleanups
* | qt: status WalletModel::Aborted is no longer usedWladimir J. van der Laan2013-12-161-3/+2
|/ | | | | Aborting transactions happens in the GUI now as it should, not the backend.
* qt: keep a list of requested paymentsWladimir J. van der Laan2013-11-191-0/+3
| | | | | | | | | Keep a list of requested payments in the Receive tab so that a user can recall previously created requests after closing their windows. Currently this list is not stored between bitcoin-qt sessions. This can be implemented later, but it is not clear where it should be stored as I don't think it belongs in the wallet (maybe in QSettings?)
* Coincontrol cleanup (e.g. add missing license)Philip Kaufmann2013-11-181-10/+11
| | | | | | | | | - add missing license headers - make compatible with Qt5 - enforce header cleanup style - small code style cleanups - rename Coin Control dialog into Coin Control Address Selection - use default font for the windows labels (no monospace)
* Coin Control FeaturesCozz Lovan2013-11-141-3/+20
|
* Cleanup code using forward declarations.Brandon Dahler2013-11-101-6/+7
| | | | | | | | | 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.
* Merge pull request #3145Wladimir J. van der Laan2013-11-061-2/+9
|\ | | | | | | | | | | | | 395d0d5 rework an ugly hack in processPaymentRequest() (Philip Kaufmann) 952d2cd make processPaymentRequest() use a single SendCoinsRecipient (Philip Kaufmann) 983cef4 payment-request UI: use SendCoinsRecipient.message for memo (Philip Kaufmann) c6c97e0 [Qt] Rework of payment request UI (mainly for insecure pr) (Philip Kaufmann)
| * payment-request UI: use SendCoinsRecipient.message for memoPhilip Kaufmann2013-10-311-2/+1
| |
| * [Qt] Rework of payment request UI (mainly for insecure pr)Philip Kaufmann2013-10-311-2/+10
| | | | | | | | | | | | | | | | | | | | - this shows insecure (unsecured) payment requests in a new yellowish colored UI (based on the secure payment request UI) instead of our normal payment UI - allows us to receive paymentACK messages for insecure payment requests - allows us to handle expirations for insecure payment request - changed walletmodel, so that all types of payment requests don't touch the addressbook
* | qt: add license header to source filesWladimir J. van der Laan2013-11-041-0/+4
|/ | | | Closes #839
* qt: add message field to SendCoinsRecipientWladimir J. van der Laan2013-10-231-1/+4
| | | | | | Also update URI parsing to fill in this field. Note that the message is not currently used in any way with the client. It should be stored with the transaction.
* Merge pull request #2958 from laanwj/2013_08_txfee2Wladimir J. van der Laan2013-09-021-5/+9
|\ | | | | [Qt] Display txfee in first sendCoinsDialog message box
| * qt: Display txfee in first sendCoinsDialog message boxJonas Schnelli2013-08-311-5/+9
| | | | | | | | Signed-off-by: Jonas Schnelli <[email protected]>
* | qt: Handle address purpose in incremental updatesWladimir J. van der Laan2013-08-291-1/+1
|/ | | | | | Correctly use the purpose of addresses that are added after the start of the client. Addresses with purpose "refund" and "change" should not be visible in the GUI. This is now handled correctly.
* Payment Protocol: X509-validated payment requestsGavin Andresen2013-08-221-4/+12
| | | | | | | | Add support for a Payment Protocol to Bitcoin-Qt. Payment messages are protocol-buffer encoded and communicated over http(s), so this adds a dependency on the Google protocol buffer library, and requires Qt with OpenSSL support.
* Bitcoin-Qt: massive header and cpp cleanupPhilip Kaufmann2013-03-171-1/+1
| | | | | | | - 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
* Bitcoin-Qt: remove obsolete modal flag from GUI APIsPhilip Kaufmann2012-12-031-1/+1
| | | | | - as we (can) supply the CClientUIInterface::MODAL flag via the style parameter, we don't need a separate bool for checking the modality
* update CClientUIInterface and remove orphan Wx stuffPhilip Kaufmann2012-11-261-2/+2
| | | | | | | | | | | | | | | | | | | | - 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
* Add a timer to check for changes in immature or unconfirmed balances,Scott Ellis2012-07-061-0/+11
| | | | when these are non-zero. Fixed a minor mem leak.
* Added 'immature balance' for miners. Only displayed if the balance is ↵sje3972012-05-251-1/+3
| | | | | | | | | | | | | | | | | | | | | greater than zero. This adds a field labelled 'Immature' in the overview section under the 'unconfirmed' field, which shows mined income that has not yet matured (which is currently not displayed anywhere, even though the transactions exist in the transaction list). To do that I added a 'GetImmatureBalance' method to the wallet, and connected that through to the GUI as per the 'GetBalance' and 'GetUnconfirmedBalance' methods. I did a small 'no-op' change to make the code in adjacent functions a little more readable (imo); it was a change I had made in my repo earlier...but I thought it wouldn't hurt so left it in. Immature balance comes from mined income that is at least two blocks deep in the chain (same logic as displayed transactions). My reasoning is: - as a miner, it's a critical stat I want to see - as a miner, and taking into account the label 'immature', the uncertainty is pretty clearly implied - those numbers are already displayed in the transaction list - this makes the overview numbers add up to what's in the transaction list - it's not displayed if the immature balance is 0, so won't bother non-miners I also 'cleaned' the overview UI a little, moving code to the XML and removing HTML.
* Process address book updates incrementallyWladimir J. van der Laan2012-05-201-1/+1
| | | | | - No longer invalidates selection model, thus retains selection on address book changes - Fixes selection of new address when added
* Convert UI interface to boost::signals2.Wladimir J. van der Laan2012-05-201-0/+3
| | | | | | | | - 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.
* Fine-grained UI updatesWladimir J. van der Laan2012-05-201-2/+6
| | | | | | | | | | | | | | | | | | | 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.
* fix warnings: enumeration values 'XX' not handled in switch [-Wswitch-enum]Wladimir J. van der Laan2012-04-151-2/+1
|
* qtui.h/noui.h interface cleanupWladimir J. van der Laan2012-04-041-1/+1
| | | | | | | - 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
* remove dependency on serialize.h and util.h for SecureStringWladimir J. van der Laan2012-04-041-1/+1
|
* Update UI through async calls MainFrameRepaint and AddressBookRepaint ↵Wladimir J. van der Laan2012-04-041-2/+1
| | | | | | | | 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
* VC2010 compile fixesWladimir J. van der Laan2012-04-031-1/+2
|
* Added 'Backup Wallet' menu optionsje3972012-02-151-0/+2
| | | | | | | | - icon from the LGPL Nuvola set (like the tick) - http://www.icon-king.com/projects/nuvola/ - include 'boost/version.hpp' in db.cpp so that the overwrite version of copy can be used - catch exceptions in BackupWallet (e.g. filesystem_error thrown when trying to overwrite without the overwrite flag set) - include db.h in walletmodel.cpp for BackupWallet function - updated doc/assets-attribution.txt and contrib/debian/copyright with copyright info for new icon
* Revert "Use standard C99 (and Qt) types for 64-bit integers"Wladimir J. van der Laan2011-12-211-1/+0
| | | | This reverts commit 21d9f36781604e4ca9fc35dc65265593423b73e9.
* Use standard C99 (and Qt) types for 64-bit integersLuke Dashjr2011-12-201-0/+1
|
* Implement an mlock()'d string class for storing passphrasesDylan Noblesmith2011-11-261-4/+5
| | | | | | | SecureString is identical to std::string except with secure_allocator substituting for std::allocator. This makes casting between them impossible, so converting between the two at API boundaries requires calling ::c_str() for now.
* Improve documentation for UI classesWladimir J. van der Laan2011-11-131-1/+1
|
* comments and readme updateWladimir J. van der Laan2011-08-311-8/+15
|