Commit graph

56 commits

Author SHA1 Message Date
Wladimir J. van der Laan
47db075377 qt: Plug many memory leaks
None of these are very serious, and are leaks in objects that are
created at most one time.

In most cases this means properly using the QObject parent hierarchy,
except for BanTablePriv/PeerTablePriv which are not QObject,
so use a std::unique_ptr instead.
2016-11-23 12:33:35 +01: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
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
Philip Kaufmann
5e058e7417 [Qt] constify foreach uses where possible
- this doesn't replace BOOST_FOREACH, it just makes used arguments const
  where possible
2015-07-07 06:53:43 +02: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
Whit J
b9345f7d1c
qt: Make error message for failed export a little friendlier
Closes #4528.
2014-07-18 23:21:50 +02:00
Cory Fields
f3967bcc50 build: fix build weirdness after 54372482.
bitcoin-config.h moved, but the old file is likely to still exist when
reconfiguring or switching branches. This would've caused files to not rebuild
correctly, and other strange problems.

Make the path explicit so that the old one cannot be found.

Core libs use config/bitcoin-config.h.

Libs (like crypto) which don't want access to bitcoin's headers continue
to use -Iconfig and #include bitcoin-config.h.
2014-06-23 14:04:38 -04:00
Philip Kaufmann
f3005c82b1 [Qt] harmonize strings used when exporting in addressbookpage 2014-01-27 08:36:14 +01:00
Philip Kaufmann
309f796b39 [Qt] make most Windows appear centered on main GUI
- remove default value for parent variable in dialogs, which should appear
  centered over main GUI and pass appropriate value
- add some addition NULL pointer checks
2013-11-14 19:58:00 +01:00
Philip Kaufmann
4f7d496b82 [Qt] remove GUIUtil::getSaveFileName() default arguments
- harmonize function with GUIUtil::getOpenFileName()
- also make PNG Image singular (grammar)
2013-11-11 22:57:25 +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
Philip Kaufmann
5cd85c4228 [Qt] remove unused optionsmodel from addressbookpage 2013-11-05 17:37:17 +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
d57a496c51 [Qt] misc small fixes for #3099 (new receive flow)
- changes some strings that were forgotton or made no sense in the conext
  they are used
- remove an orphan file from the qt project file
- revert a small change in signverifymessagedialog.ui
- guard #include "bitcoin-config.h" with #if defined(HAVE_CONFIG_H)
- remove windowTitle from addressbookpage.ui
2013-10-25 14:28:34 +02:00
Wladimir J. van der Laan
70b14636cd qt: general polish after adding new receive flow
- We no longer have an address book, but "address lists", update message
  accordingly
- Add tooltips here and there
- Clarify text on buttons
- add Copy Address button to receive request dialog
2013-10-25 13:25:25 +02:00
Wladimir J. van der Laan
864a6f790e qt: remove verify/send message and send coins from address book
These no longer make sense in the new workflow. It's less
clicks to reach sign/verify message from the menu. And sending
from the address book is one kind of automatic address reuse
we're trying to avoid.
2013-10-23 09:15:25 +02:00
Wladimir J. van der Laan
74fb765e29 qt: rework "receive coins" workflow 2013-10-23 09:15:24 +02:00
Cory Fields
35b8af9226 autotools: switch to autotools buildsystem 2013-09-05 21:31:03 -04:00
Wladimir J. van der Laan
25c0cce7fb Qt5 compatibility
This commit squashes all the changes in the Qt5 branch
relative to master.

Backward compatibility with Qt4 is retained.

Original authors:

- Philip Kaufmann <phil.kaufmann@t-online.de>
- Jonas Schnelli <jonas.schnelli@include7.ch>
2013-06-01 11:05:08 +02:00
Wladimir J. van der Laan
45155d3010 qt: move export button to tabs
Having the export button at the top was confusing people into thinking
the entire wallet was exported.

This commit moves the export button to the address book, receiving
addresses and transaction tabs separately.
2013-04-12 13:13:32 +02:00
Jonas Schnelli
e0af1b3ed6 fix mac specific button modification on addressbookpage
- continue the mac behavior of clearing button icons (because it's unusual on mac apps)
- fix: new button variable names, new buttons (verifyMessage, signMessage)

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-09 21:11:16 +02:00
Philip Kaufmann
b9564d7e54 Bitcoin-Qt: updates to addressbookpage
- use labelExplanation for sending and receiving tab and move the string
  from the ui-file to the source
- ensure that the table holding the label and address is resized so that
  the address column fits the address and the label column is stretched to
  fit the window size
- rename some stuff for much easier readbility in the code (I find it hard
  to get the meaning of stuff like labels or buttons)
2013-04-03 22:30:59 +02: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
bb0726a8cf Bitcoin-Qt: cleanup / optimise addressbookpage
- don't show QR Code context menu, when USE_QRCODE=1 was not specified
  when compiling the client
- re-work on_showQRCode_clicked() for better readability and remove an
  unneeded duplicate check
- re-work on_signMessage_clicked() and on_verifyMessage_clicked() to match
  foreach in on_showQRCode_clicked(), which seems more robust / cleaner
- re-order context menu stuff to match real context menu layout
- add comments for all private slots in the class
2013-01-23 22:41:28 +01:00
Philip Kaufmann
a8fbbd8fb0 Bitcoin-Qt: comment out unused parameter in addressbookpage 2012-12-15 11:15:19 +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
Wladimir J. van der Laan
d67badd9ce Make sort and filters for transactions and labels case-insensitive 2012-07-17 11:38:18 +02:00
Philip Kaufmann
ddadf791f1 replace some ugly code in addressbookpage.cpp
- add signals signMessage() and verifyMessage() in addressbookpage.cpp
- connect to them in bitcoingui.cpp to switch to the corresponding tab in the Sign/Verify Message dialog
- make gotoSignMessageTab() and gotoVerifyMessageTab() private slots
2012-07-08 18:49:07 +02:00
Wladimir J. van der Laan
249856d557 Merge pull request #1469 from Diapolo/signverifymessagedialog
GUI: merge sign/verify message into a single window with tabbed UI
2012-07-07 04:59:04 -07:00
Philip Kaufmann
5c83f797c5 update QRCodeDialog
- remove unused #include <QDebug> and lblBTC label
- update Bitcoin input field to a BitcoinAmountField to allow Bitcoin unit selection
- use BitcoinUnits::format for the resulting amount parameter in the generated URI (always use BTC as per BIP21)
- move MAX_URI_LENGTH and EXPORT_IMAGE_SIZE to guiconstants.h
- add OptionsModel in AddressBookPage and use it in on_showQRCode_clicked() to pass it to QRCodeDialog
- add OptionsModel in QRCodeDialog to enable display unit updates
- add updateDisplayUnit() slot to be able to imediately update currently set bitcoin unit
- make all labels in the UI-file plain text
- resize dialog to match for an updated layout (fields are now stacked and new field)
- remove unused parameters from private slots
- only enable save button, when QR Code was generated
- show message when entered amound is invalid
- add read-only QPlainTextEdit field to output generated URI
2012-07-06 18:51:30 +02:00
Philip Kaufmann
47894585ae GUI: merge sign/verify message into a single window with tabbed UI
- add UI-feedback via QValidatedLineEdit
- copy button for generated signature was moved to the signature output field
- add an addressbook button to verify message tab
- input fields are now evenly ordered for sign and verify tabs
- update FIRST_CLASS_MESSAGING support to ensure a good UX
- add a button and context menu entry in addressbook for verify message (to be consistent with sign message)
- focus is now only set/changed, when clearing input fields or adding an address via addressbook
- re-work / update some strings
- ensure model gets initialized in the SignVerifyMessageDialog constructor
- add checks for a valid model to both addressbook buttons
- remove unneeded includes for Qt GUI elements that are listed in ui_signverifymessagedialog.h anyway
2012-07-06 11:31:27 +02:00
Wladimir J. van der Laan
2842fe4aa3 Do not select first address automatically in the address book
This contributed to an accidental send (#1384), and has no clear advantage, better to disable it.
2012-06-12 10:48:42 +02:00
Wladimir J. van der Laan
0832c0d166 Process address book updates incrementally
- No longer invalidates selection model, thus retains selection on address book changes
- Fixes selection of new address when added
2012-05-20 10:44:50 +02:00
sje397
0c587936c7 Add a menu option to verify a signed message
(Also move 'setAttribute(Qt::WA_DeleteOnClose)' out of QRCodeDialog)
2012-05-12 00:13:13 +10:00
Wladimir J. van der Laan
356c3cad1a Make user action more straightforward in address book
- Add all actions that can be triggered with buttons to the context menu
- Hide delete action from context menu for receiving tab
2012-05-07 11:30:23 +02:00
Philip Kaufmann
1e8c62b29c updated to reflect pull-request suggestions / renamed some GUI elements 2012-04-12 20:34:05 +02:00
Philip Kaufmann
9e0dba8c17 fixed amount part of URI in QR-Codes / removed (no label) string if we have NO label / coding style updates / removed an unused variable 2012-04-12 20:34:04 +02:00
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
2012-04-04 09:35:01 +02:00
Philip Kaufmann
b5271c8861 hide Delete button (only) on ReceivingTab / hide Sign message button (only) on SendingTab 2012-04-01 13:22:34 +02:00
Wladimir J. van der Laan
303a47c095 fix default suffixes in save dialog in GNOME, make it more clear that PNG is used (solves #833) 2012-02-15 17:22:00 +01:00
Luke Dashjr
2bc4fd609c Bitcoin-Qt signmessage GUI (pull request #582) 2012-01-27 08:41:55 +01:00
Wladimir J. van der Laan
c4a4a4b886 Add context menu for address book page (implements part 1 of issue #648) 2011-12-23 12:07:23 +01:00
sje397
22123c85f3 Added QRCode generation functions via libqrencode. Switch on with USE_QRENCODE=1.
Amended build docs for Linux and OSX, and OSX makefile.
Added package 'qrencode' to gitian.yml
2011-12-20 22:11:24 +11:00
Wladimir J. van der Laan
dead0ff8cd Add robustness against null models 2011-11-08 21:18:36 +01:00
p2k
527137e3ee Improved Mac experience; QDoubleSpinBox for BitcoinAmountField
Now it can't be told if this is was a Windows App before. All Mac design principles are fulfilled and some cosmetics have been applied to suit the native look and feel. The biggest change there is the proper use of the Dock icon which takes the role of the Tray icon on Mac.

The QDoubleSpinBox improves entering of Bitcoin amounts, no two separate fields are required anymore. All functionality and validation effects have been retained; pressing the comma key will be internally translated to a period to keep it consistent throughout the application and eases entering in countries which use the comma as decimal separator.

Additionally, Notificator now supports Growl, Mac's native notification system. This is provided via Apple Script in order to avoid linking to Growl on compile time. Other changes involve encapsulation of Toolbar and Menubar creation, loading of Qt's own translation and some clean up.
2011-10-09 21:19:44 +02:00