| Widget that shows a list of sending or
| receiving addresses.
|
| Qt model of the address book in the core.
| This allows views to access and modify
| the address book.
|
| Private implementation
|
| QSpinBox that uses fixed-point numbers
| internally and uses our own formatting/parsing
| functions.
|
| Multifunctional dialog to ask for passphrases.
| Used for encryption, unlocking, and
| changing the passphrase.
|
| Qt model providing information about
| connected peers, similar to the “getpeerinfo”
| RPC call. Used by the rpc console UI.
|
| Bitcoin address widget validator,
| checks for a valid bitcoin address.
|
| Base58 entry widget validator, checks
| for valid characters and removes some
| whitespace.
|
| Widget for entering bitcoin amounts.
|
| Main Bitcoin application object
|
| Bitcoin GUI main class.
|
| This class represents the main window
| of the Bitcoin UI.
|
| It communicates with both the client
| and wallet models to give the user an
| up-to-date view of the current core
| state.
|
| Bitcoin unit definitions. Encapsulates
| parsing and formatting and serves as
| list model for drop-down selection
| boxes.
|
| Export a Qt table model to a CSV file.
| This is useful for analyzing or post-processing
| the data in a spreadsheet.
|
| Model for Bitcoin network client.
|
| Dialog for creating wallets
|
| Dialog for editing an address and associated
| information.
|
| Check free space asynchronously to
| prevent hanging the UI thread.
|
| Up to one request to check a path is in
| flight to this thread; when the check()
| function runs, the current path is requested
| from the associated Intro object.
|
| The reply is sent back through a signal.
|
| This ensures that no queue of checking
| requests is built up while the user is
| still entering the path, and that always
| the most recently entered path is checked
| as soon as the thread becomes available.
|
| “Help message” dialog box
|
| Class encapsulating Bitcoin Core startup
| and shutdown.
|
| Allows running startup and shutdown
| in a different thread from the UI thread.
|
| Introduction screen (pre-GUI startup).
|
| Allows the user to choose a data directory,
| in which the wallet and block chain will
| be stored.
|
| macOS-specific Dock icon handler.
|
| Macintosh-specific notification
| handler (supports UserNotificationCenter).
|
| Modal overlay to display information
| about the chain-sync state
|
| Coin network-specific GUI style information
|
| Cross-platform desktop notification
| client.
|
| Preferences dialog.
|
| Interface from Qt to configuration
| data structure for Bitcoin client.
|
| To Qt, the options are presented as a
| list with the different options laid
| out vertically.
|
| This can be changed to a tree once the
| settings become sufficiently complex.
|
| Overview (“home”) page widget
|
| Dialog showing transaction details.
|
| This class handles payment requests from
| clicking on bitcoin: URIs
|
| This is somewhat tricky, because we have to
| deal with the situation where the user clicks
| on a link during startup/initialization, when
| the splash-screen is up but the main window
| (and the Send Coins tab) is not.
|
| So, the strategy is:
|
| Create the server, and register the event
| handler, when the application is created. Save
| any URIs received at or during startup in
| a list.
|
| When startup is finished and the main window is
| shown, a signal is sent to slot uiReady(),
| which emits a receivedURI() signal for any
| payment requests that happened during startup.
|
| After startup, receivedURI() happens as usual.
|
| This class has one more feature: a static
| method that finds URIs passed in the command
| line and, if a server is running in another
| process, sends them to the server.
|
| Qt model providing information about
| connected peers, similar to the “getpeerinfo”
| RPC call. Used by the rpc console UI.
|
| Coin network-specific GUI style information
|
| Proxy address widget validator, checks
| for a valid proxy address.
|
| Label widget for QR code. This image
| can be dragged, dropped, copied and
| saved to disk.
|
| Line edit that can be marked as “invalid”
| to show input validation feedback.
| When marked as invalid, it will get a
| red background until it is focused.
|
| QComboBox that can be used with QDataWidgetMapper
| to select ordinal values from a model.
|
| Class for handling RPC timers (used
| for e.g. re-locking the wallet after
| a timeout)
|
| Local Bitcoin RPC console.
|
| Object for executing console RPC commands
| in a separate thread.
|
| Dialog for requesting payment of bitcoins
|
| Model for list of recently generated
| payment requests / bitcoin: URIs.
|
| Part of wallet model.
|
| Dialog for sending bitcoins
|
| A single entry in the dialog for sending
| bitcoins.
|
| Stacked widget, with different UIs
| for payment requests with a strong payee
| identity.
|
| “Shutdown” window
|
| Class for the splashscreen with information
| of the running client.
|
| ———–
| @note
|
| this is intentionally not a QSplashScreen.
| Bitcoin Core initialization can take
| a long time, and in that case a progress
| window that cannot be moved around and
| minimized has turned out to be frustrating
| to the user.
|
| Provide a human-readable extended
| HTML description of a transaction.
|
| Dialog showing transaction details.
|
| Filter the transaction list according
| to pre-specified rules.
|
| queue notifications to show a non freezing
| progress dialog e.g. for rescan
|
| UI model for a transaction. A core transaction
| can be represented by multiple UI transactions
| if it has multiple outputs.
|
| UI model for transaction status. The
| transaction status is the part of a transaction
| that will change over time.
|
| UI model for the transaction table of
| a wallet.
|
| Private implementation
|
| Widget showing the transaction list
| for a wallet, including a filter row.
|
| Using the filter row, the user can view
| or export a subset of the transactions.
|
| Comparison operator for sort/binary
| search of model tx list
|
| Controller between typename NodeInterface,
| WalletModel instances and the GUI.
|
| A container for embedding all wallet-related
| controls into BitcoinGUI.
|
| The purpose of this class is to allow
| future refinements of the wallet controls
| with minimal need for further modifications
| to BitcoinGUI, thus greatly simplifying
| merges while reducing the risk of breaking
| top-level stuff.
|
| Interface to Bitcoin wallet from Qt
| view code.
|
| Data model for a walletmodel transaction.
|
| WalletView class. This class represents
| the view to a single wallet.
|
| It was added to support multiple wallet
| functionality. Each wallet gets its
| own
|
| WalletView instance.
|
| It communicates with both the client
| and the wallet models to give the user
| an up-to-date view of the current core
| state.
|
| Back up a QSettings to an ini-formatted
| file.
|
| Invoke bumpfee on txid and check results.
|
| Transaction list – bare address (without
| label)
|
| Transaction list – TX status decoration
| - default color
|
| Transaction list – negative amount
|
| Transaction list – TX status decoration
| - danger, tx needs attention
|
| Transaction list – TX status decoration
| - open until date
|
| Transaction list – unconfirmed transaction
|
| Press “Ok” button in message box dialog.
|
| ———–
| @param text
|
| - Optionally store dialog text.
| –––––
| @param msec
|
| - Number of milliseconds to pause before
| triggering the callback.
|
| Press “Yes” or “Cancel” buttons in modal
| send confirmation dialog.
|
| Helper function to copy contents from
| one QSettings to another.
|
| By using allKeys this also covers nested
| settings in a hierarchy.
|
| qDebug() message handler –> debug.log
|
| Fill the edit address dialog box with
| data, submit it, and ensure that the
| resulting message meets expectations.
|
| Regex find a string group inside of the
| console output
|
| Find index of txid in transaction list.
|
| Takes an encoded PaymentRequest as
| a string and tries to find the Common
| Name of the X.509 certificate used to
| sign the PaymentRequest.
|
| Return pruning size that will be used
| if automatic pruning is enabled.
|
| Set up translations
|
| Create a name that is unique for:
| testnet / non-testnet
| data directory
|
| Handlers for core signals
|
| Convert displayed prune target GB to
| configured MiB. Round down so roundtrip
| GB -> MiB -> GB conversion is stable.
|
| Convert configured prune target MiB
| to displayed GB. Round up to avoid underestimating
| max disk usage.
|
| This is all you need to run all the tests
|
| Send coins to address and return txid.
|
| Test adding various send addresses
| to the address book.
|
| There are three cases tested:
|
| - new_address: a new address which should
| add as a send address successfully.
|
| - existing_s_address: an existing
| sending address which won’t add successfully.
|
| - existing_r_address: an existing
| receiving address which won’t add successfully.
|
| In each case, verify the resulting state
| of the address book and optionally the
| warning message presented to the user.
|
| Call getblockchaininfo RPC and check
| first field of JSON output.
|
| Simple qt wallet tests.
|
| Test widgets can be debugged interactively
| calling show() on them and manually running the
| event loop, e.g.:
|
| sendCoinsDialog.show();
| QEventLoop().exec();
|
| This also requires overriding the default
| minimal Qt platform:
|
|@code
| QT_QPA_PLATFORM=xcb src/qt/test/test_bitcoin-qt # Linux
|
| QT_QPA_PLATFORM=windows src/qt/test/test_bitcoin-qt # Windows
|
| QT_QPA_PLATFORM=cocoa src/qt/test/test_bitcoin-qt # macOS
|@endcode
| Determine address type from address
| purpose
|