Commit graph

64 commits

Author SHA1 Message Date
Wladimir J. van der Laan 9dcf6c0dfe build: Add --disable-bip70 configure option
This patch adds a --disable-bip70 configure option that disables BIP70
payment request support. When disabled, this removes the dependency of
the GUI on OpenSSL and Protobuf.
2018-10-09 03:36:14 -06:00
João Barbosa f78558f1e3 qt: Use new Qt5 connect syntax 2018-08-21 09:43:54 +01:00
DrahtBot eb7daf4d60 Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
Wladimir J. van der Laan 907f73bbc5 gui: Remove QT_VERSION fallbacks for Qt < 5
There were surprisingly many `#ifdef` fallbacks for Qt 4.

Remiving them simplifies maintenance, as well as adding new GUI
functionality.
2018-06-18 12:22:11 +02:00
Russell Yanofsky 17780d6f35 scripted-diff: Avoid interface keyword to fix windows gitian build
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-07 03:42:02 -04:00
Russell Yanofsky e872c93ee8 Remove direct bitcoin access from qt/guiutil.cpp 2018-04-04 16:52:40 -04:00
Akira Takizawa 595a7bab23 Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
practicalswift a720b928c8 Remove includes in .cpp files for things the corresponding .h file already included 2017-11-16 22:26:34 +01:00
Wladimir J. van der Laan e7b31631c7 qt: refactor: Changes to make include paths absolute
This makes all include paths in the GUI absolute.

Many changes are involved as every single source file in
src/qt/ assumes to be able to use relative includes.
2017-11-16 08:23:02 +13:00
MeshCollider 1a445343f6 scripted-diff: Replace #include "" with #include <> (ryanofsky)
-BEGIN VERIFY SCRIPT-
for f in \
  src/*.cpp \
  src/*.h \
  src/bench/*.cpp \
  src/bench/*.h \
  src/compat/*.cpp \
  src/compat/*.h \
  src/consensus/*.cpp \
  src/consensus/*.h \
  src/crypto/*.cpp \
  src/crypto/*.h \
  src/crypto/ctaes/*.h \
  src/policy/*.cpp \
  src/policy/*.h \
  src/primitives/*.cpp \
  src/primitives/*.h \
  src/qt/*.cpp \
  src/qt/*.h \
  src/qt/test/*.cpp \
  src/qt/test/*.h \
  src/rpc/*.cpp \
  src/rpc/*.h \
  src/script/*.cpp \
  src/script/*.h \
  src/support/*.cpp \
  src/support/*.h \
  src/support/allocators/*.h \
  src/test/*.cpp \
  src/test/*.h \
  src/wallet/*.cpp \
  src/wallet/*.h \
  src/wallet/test/*.cpp \
  src/wallet/test/*.h \
  src/zmq/*.cpp \
  src/zmq/*.h
do
  base=${f%/*}/ relbase=${base#src/} sed -i "s:#include \"\(.*\)\"\(.*\):if test -e \$base'\\1'; then echo \"#include <\"\$relbase\"\\1>\\2\"; else echo \"#include <\\1>\\2\"; fi:e" $f
done
-END VERIFY SCRIPT-
2017-11-16 08:23:01 +13:00
CryptAxe d052e3847c [qt] Add use available balance in send coins dialog 2017-09-13 01:24:07 +01:00
isle2983 27765b6403 Increment MIT Licence copyright header year on files modified in 2016
Edited via:

$ contrib/devtools/copyright_header.py update .
2016-12-31 11:01:21 -07:00
Pavel Janík f839350420 Do not shadow in src/qt 2016-09-23 12:42:00 +02:00
MarcoFalke fa24439ff3 Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
MarcoFalke 28313b83fc [qt] Use fixed pitch font for the rpc console
Also:
* Preserve white space
* Make fixed font as large as default font
2015-10-29 18:01:39 +01:00
Wladimir J. van der Laan eec7757445 qt: Introduce PlatformStyle
Introduce a PlatformStyle to handle platform-specific customization of
the UI.

This replaces 'scicon', as well as #ifdefs to determine whether to place
icons on buttons.

The selected PlatformStyle defaults to the platform that the application
was compiled on, but can be overridden from the command line with
`-uiplatform=<x>`.

Also fixes the warning from #6328.
2015-07-31 09:35:18 +02:00
Wladimir J. van der Laan d29ec6c230 qt: define QT_NO_KEYWORDS
QT_NO_KEYWORDS prevents Qt from defining the `foreach`, `signals`,
`slots` and `emit` macros.

Avoid overlap between Qt macros and boost - for example #undef hackiness
in #6421.
2015-07-15 07:30:23 +02:00
Corinne Dashjr 7e6d23b171 Bugfix: Grammar fixes 2015-05-01 11:21:27 +00:00
Philip Kaufmann 985ec17eee [Qt, Trivial] misc minor string changes
- write "Bitcoins" uppercase
- replace secure/insecure for payment requests with
  authenticated/unauthenticated
- change a translatable string for payment request expiry to match another
  existing string to only get ONE resulting string to translate
2015-04-20 13:29:22 +02:00
Cozz Lovan 292623adf5 Subtract fee from amount
Fixes #2724 and #1570.

Adds the
automatically-subtract-the-fee-from-the-amount-and-send-whats-left
feature to the GUI and RPC (sendtoaddress,sendmany).
2015-03-13 11:04:18 +01:00
Luke Dashjr 9b7d3fb165 Adopt style colour for button icons 2014-12-27 19:04:49 +01:00
sandakersmann f914f1a746
Added "Core" to copyright headers
Github-Pull: #5494
Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
2014-12-19 19:55:32 +01:00
Michael Ford 78253fcbad Remove references to X11 licence 2014-12-16 15:56:50 +08:00
Wladimir J. van der Laan 29eaa31694 ui: Make sure sendcoinsentry signals only connected once
Move signal connections to constructor where possible.
2014-07-23 17:58:47 +02:00
Wladimir J. van der Laan 91cce1732b qt: Use fixed-point arithmetic in amount spinbox
Fixes various issues and cleans up code

- Fixes issue #4500: Amount widget +/- has floating point rounding artifacts
- Amount box can now be emptied again, without clearing to 0

Also aligns the amount to the right, as in other places.
2014-07-23 17:58:46 +02:00
Cozz Lovan 0fde3bbf07 [Qt] Fill in label from address book also for URIs 2014-03-12 17:08:00 +01:00
Philip Kaufmann c78bd93701
[Qt] extend validate line edit and btc address validator
- remove btc address length from address validator
- add an optional btc address check in validated line edit that defaults
  to off and is used in GUIUtil::setupAddressWidget()
- an isAcceptable() check is added to validated line edit on focus out
  which only kicks in, when a validator is used with that widget
- remove an isAcceptable() check from sendcoinsentry.cpp
- remove obsolete attributes from ui files, which are set by calling
  GUIUtil::setupAddressWidget()
- move some more things to GUIUtil::setupAddressWidget() and remove them
  from normal code e.g. placeholder text
2014-01-29 14:15:55 +01:00
Cozz Lovan 22a51207ae [Qt] Show and store message of normal bitcoin:URI 2014-01-21 23:54:49 +01:00
Wladimir J. van der Laan 340bff34b7 ui: Better tab order in send coins entry
Pressing <tab> after entering a label now brings the focus to the
address entry, instead of the row of buttons. In my experience this
is more useful, as I usually want to paste an address after
entering the label.

The buttons are mostly useless anyway:

- Choosing a previously used address should be discouraged

- When I'm already using the keyboard the 'paste address' button is
useless - just use the Ctrl-V. Maybe it would be an idea to remove it
completely

- I usually don't want to remove the entry I'm typing now! So makes
sense to have it at the end of the tab chain.
2014-01-02 09:36:46 +01:00
Ryan Niebur bae6c7e32b Fix a rare crash on Mac OS X, by removing a setFocus on the payTo field that was not necessary, as the field still receives focus without it. 2013-12-01 20:31:10 -08:00
Philip Kaufmann 84b695cc9d [Qt] allow deletion of payment-requests in sendcoins
- this adds a delete button for insecure and secure payment requests in
  the sendcoins dialog
- it also enables the delete button even for single and empty entries, as
  this is much easier to handle and doesn't need to special case single
  entries
- big parts of the ui file were changed, because I copied the delete
  button and had to delete the layout too and created it from scratch
  (which seems to cleanup the rows and colums in the layout also, which is
  nice IMHO)
2013-11-24 16:30:14 +01:00
Philip Kaufmann 0689f46cc7 Coincontrol cleanup (e.g. add missing license)
- 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)
2013-11-18 08:16:12 +01:00
Cozz Lovan 6a86c24db1 Coin Control Features 2013-11-14 14:25:10 +01:00
Brandon Dahler 51ed9ec971 Cleanup code using forward declarations.
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-10 09:36:28 -06:00
Wladimir J. van der Laan 65d0fc4b73
Merge pull request #3145
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)
2013-11-06 16:43:18 +01:00
Wladimir J. van der Laan e592d43f51 qt: add license header to source files
Closes #839
2013-11-04 16:27:09 +01:00
Philip Kaufmann 983cef4802 payment-request UI: use SendCoinsRecipient.message for memo 2013-10-31 17:51:13 +01:00
Philip Kaufmann c6c97e0f4e [Qt] Rework of payment request UI (mainly for insecure pr)
- 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
2013-10-31 17:51:12 +01:00
Wladimir J. van der Laan 74fb765e29 qt: rework "receive coins" workflow 2013-10-23 09:15:24 +02:00
Philip Kaufmann 46b57eb500 add SendCoinsEntry::updateLabel() function
- makes the code for updating a label reusable
- no functional changes
2013-10-16 17:11:39 +02:00
Philip Kaufmann 75fa27eaca make BitcoinAmountField::setReadOnly() usable
- use it for secure payment-requests (this change allows a copy&paste of
  the amount and looks a little nicer than just a disabled GUI element)
2013-10-15 15:26:22 +02:00
Philip Kaufmann 057bf35bc5 sendcoinsentry: small clear() and setValue() changes
- clear(): clear all UI elements (for secure and insecure payments)
- setValue(): only modify UI elements, which need to be set (for secure
  or insecure payments)
2013-10-11 14:22:43 +02:00
Philip Kaufmann 23b48d13f1 Bitcoin-Qt: translation fixes in sendcoins
- remove some unneeded translatable strings from sendcoinsentry.ui file and
  rename some elements for better readability
- optimize string prorcessing in SendCoinsDialog::on_sendButton_clicked()
- make all UI labels for secure payments plain text and move the settings
  to sendcoinsentry.ui file
- remove unneeded button and default button definiton from warning message
  boxes
- remove fixed font-size when sending coins to an address with label and
  use monospace font for addresses
2013-10-01 15:48:25 +02:00
Gavin Andresen a41d5fe019 Payment Protocol: X509-validated payment requests
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.
2013-08-22 16:18:25 +10:00
Gavin Andresen 57d80467f1 Reject dust amounts during validation
Replaces the validation check for "amount == 0" with an isDust check,
so very small output amounts are caught before the wallet
is unlocked, a transaction is created, etc.
2013-08-22 11:05:44 +10:00
Philip Kaufmann 311993ab10 Bitcoin-Qt: add "send coins" to context menu in addressbook
- allows to directly select an address from the addressbook, chose "send
  coins" from the context menu, which sends you to sendcoins tab and fills
  in the selected address
2013-03-18 07:44:22 +01:00
Philip Kaufmann 32af5266cf Bitcoin-Qt: massive header and cpp cleanup
- 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-03-17 18:28:00 +01:00
Philip Kaufmann 81605d90f5 enhance Qt5 compatibility
- replace Q_WS_MAC (not supported anymore in Qt5) with Q_OS_MAC (supported
  in Qt4/5)
2012-09-21 19:06:53 +02:00
Philip Kaufmann e0873dafc5 add the slot updateDisplayUnit() to overviewpage, sendcoinsdialog, sendcoinsentry and connect it to displayUnitChanged() - this ensures all fields in the GUI, who use a display unit are imediately updated, when the user changes this setting in the optionsdialog / ensure used fields init with the current set display unit 2012-06-17 15:20:42 +02:00
Wladimir J. van der Laan 7d5bb42946 Move back setPlaceholderText to code, from xml, as this broke building with Qt 4.6 2012-05-07 00:19:22 +02:00