Commit graph

1019 commits

Author SHA1 Message Date
Gavin Andresen
1f00f4e9c9 CreateTransaction: return strFailReason on failure 2013-05-03 10:54:31 -04:00
Jonas Schnelli
367491df9d osx: show testnet icon in dock as early as possible
A green testnet splashscreen with a normal, orange dock icon looks strange and can confuse users.

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-05-03 16:14:38 +02:00
Gavin Andresen
d605bc4cd1 Exit cleanly if AppInit2 returns false
Bitcoin-Qt could core dump if application initialization failed in certain ways.

I double-fixed this:
1) qt/bitcoin.cpp now shuts down core threads cleanly if AppInit2 returns false
2) init.cpp now exits before StartNode() if strErrors is set (no reason to StartNode if we're just going to exit immediately anyway).

Tested by triggering all of the various ways AppInit2 can fail, either by passing bogus command-line arguments or just recompiling tweaked code to simulate failure.

This is a partial fix for #2480
2013-05-02 12:26:33 -04:00
Wladimir J. van der Laan
63888d43be Merge pull request #2530 from jonasschnelli/mac_win_reopen_fix
fixes #1522: GUI Disappearing (Mac OSX)
2013-04-27 02:15:54 -07:00
Wladimir J. van der Laan
aa9eee7eaf Merge pull request #2564 from Diapolo/walletview
small updates for walletview.cpp
2013-04-27 02:08:08 -07:00
Wladimir J. van der Laan
dffb535ead qt: remove fee recommendation in settings
This value gets stale really quickly, do not hardcode it into a message.
Completely remove it for now.
Later on, a mechanism will be added to determine fees based on the mempool.

Closes #2576
2013-04-27 11:06:43 +02:00
Wladimir J. van der Laan
1a31428ec0 qt: remove extraneous padding introduced in multiwallet support patch
solve issue #2529
2013-04-26 07:38:24 +02:00
Philip Kaufmann
9e334cfae3 translations update 2013-04-25
- new language "se"
- update bitcoin.qrc and bitcoin_en.ts
- fetch current translations from Transifex
2013-04-25 16:53:51 +02:00
Philip Kaufmann
46fd626b21 small updates for walletview.cpp
- make "&Export" translatable
- fix some includes
- small formatting changes
2013-04-25 16:15:31 +02:00
Wladimir J. van der Laan
af10e3f6ac Merge pull request #2526 from Diapolo/Qt_misc
Bitcoin-Qt: misc small changes
2013-04-23 09:27:30 -07:00
Wladimir J. van der Laan
72782f3b92 Merge pull request #2525 from laanwj/2013_04_metatypebool
qt: register metatype for bool*
2013-04-18 08:59:49 -07:00
Wladimir J. van der Laan
dc2de757a4 Merge pull request #2501 from Diapolo/progress
rework ClientModel::getBlockSource() + BitcoinGUI::setNumBlocks()
2013-04-18 05:54:42 -07:00
Wladimir J. van der Laan
52ae314b5e Merge pull request #2524 from jonasschnelli/new_splashscreen_fresh
new splash screen
2013-04-18 00:05:21 -07:00
Jonas Schnelli
e790d47785 new toolbar icon for liunx/win fix #2518
On black toolbars, the new icon doesn't look very well.
Now the toolbar icon has again a transparent "B" for better style on toolbars.
Does not affect the mac client.

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-17 10:51:19 +02:00
Jonas Schnelli
f9124587cc new splash screen
why:

- the current splash-screen has no referring to official images on - https://en.bitcoin.it/wiki/Promotional_graphics
- the current splash screen only exists in a low res jpg
- current splash screen looks dark and "hackish"
- new splash screen should generate positive, "trust-emotions".
- new splash screen gives the user infos about the running client.
- new splash screen can handle long messages (in a lot of - languages the text is cropped in current release)

- new size (x2) 400x312

- contains textual information about the client
- textinfos are dynamicly written to the pixmap

when -testnet is switch on, the splashscreen will show the bitcoin logo in testnet-color (as well as a text [testnet])

example: https://dl.dropbox.com/u/7383846/new_bitcoin_splash.png
2013-04-17 01:14:53 -07:00
Wladimir J. van der Laan
fb53186571 Merge pull request #2519 from jonasschnelli/new_testnet_ico_file
new testnet ico file
2013-04-15 10:35:27 -07:00
Jonas Schnelli
4d17a1b0c2 fix: GUI Disappearing #1522 (Mac OSX)
- this solution works stable on mac and ensures that the window get's reopened when the user clicks the dock icon .
- tested on 10.8 with Qt4.8.4 and Qt5.0.1

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-15 12:02:01 +02:00
Philip Kaufmann
a26811ebdf embed bitcoin_testnet.ico in bitcoin-qt.exe (usable for shortcuts) 2013-04-14 21:49:07 +02:00
Philip Kaufmann
41fdc1cad1 overviewpage: make some code Qt5 compatible
- that changes will be fine for Qt4 also
2013-04-14 19:53:27 +02:00
Philip Kaufmann
d9d6c7d936 bitcoingui: remove 2 unneeded includes 2013-04-14 19:53:27 +02:00
Philip Kaufmann
e9abeac204 bitcoin: use static QApplication:: instead of app. 2013-04-14 19:53:19 +02:00
Philip Kaufmann
99ae01234d aboutdialog: use just "The Bitcoin developers" as tr()-string
- this ensures our new splash screen and this will share a translatable
  string an remove the need for an additional translation
2013-04-14 19:42:15 +02:00
Wladimir J. van der Laan
e83a90f127 qt: register metatype for bool*
This allows the bool* type to be passed between threads.  Should solve issue #2402.
2013-04-14 18:50:40 +02:00
Wladimir J. van der Laan
ac89a1ebe7 Merge pull request #2492 from Diapolo/Qt_message
Bitcoin-Qt: remove " - " on empty title in BitcoinGUI::message()
2013-04-13 05:40:30 -07: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
Wladimir J. van der Laan
3656a3c558 Merge pull request #2503 from Diapolo/copyright-year
new COPYRIGHT_YEAR macro in clientversion.h
2013-04-11 06:49:46 -07:00
Jonas Schnelli
5ab27b32a2 new testnet window .ico file
Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-11 15:17:00 +02:00
Philip Kaufmann
8d643c90a6 Bitcoin-Qt: remove " - " on empty title in BitcoinGUI::message()
- don't display "Bitcoin - " when no title was supplied but just "Bitcoin"
2013-04-11 08:32:55 +02:00
Wladimir J. van der Laan
9a4eaf3cff Merge remote-tracking branch 'jonasschnelli/new_icons' (#2497)
Conflicts:
	doc/assets-attribution.txt
2013-04-11 06:57:27 +02:00
Wladimir J. van der Laan
bb8bc860e3 Merge pull request #2487 from Diapolo/translations
translations update 2013-04-08
2013-04-10 13:00:56 -07:00
Philip Kaufmann
cdd4400889 use the new COPYRIGHT_YEAR macro in bitcoin-qt.rc
- this reduces the places, where we need to change the year further
2013-04-10 17:15:34 +02:00
Philip Kaufmann
ec3cac6631 move COPYRIGHT_YEAR to clientversion.h
- this allows usage of that information also in other places (e.g. splash
  screen)
2013-04-10 16:53:36 +02:00
Philip Kaufmann
4881353efe rework ClientModel::getBlockSource() + BitcoinGUI::setNumBlocks()
- updates ClientModel::getBlockSource() to return all available states and
  sorts enum BlockSource in order of usage cases (none default, then reindex,
  import and network)
- updates BitcoinGUI::setNumBlocks() to better use getBlockSource() and
  also adds a message, when we have NO block source available
2013-04-10 15:53:40 +02:00
Jonas Schnelli
4c23743635 better quality windows .ICO icon file
- icon quality of the win icon of <256px resolutions are now much better

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-10 14:40:51 +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
Jonas Schnelli
f9579c55b3 overhaul of the testnet icon (green color) and the toolbar icons
- redefined the green color
- created new toolbar icons
- updated the assets-attribution.txt

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-09 20:05:32 +02:00
Gavin Andresen
c553fe8d43 Merge pull request #2469 from Diapolo/clientmodel-progress
Bitcoin-Qt: emit numBlocksChanged for changed reindex or importing state
2013-04-09 10:59:29 -07:00
Wladimir J. van der Laan
fb17911e9a Merge pull request #2470 from Diapolo/progressbarlabel
Bitcoin-Qt: update for BitcoinGUI::eventFilter()
2013-04-08 11:27:02 -07:00
Wladimir J. van der Laan
cf03a5ce8a Merge pull request #2481 from laanwj/2013_04_cleanup
qt: remove redundant wallet methods from bitcoingui
2013-04-08 08:25:01 -07:00
Wladimir J. van der Laan
70c71a6a2a Merge pull request #2477 from jonasschnelli/new_icons
new icons for windows, linux, etc.
2013-04-08 08:24:38 -07:00
Philip Kaufmann
6a270c5f81 translations update 2013-04-08
- updates for bitcoinstrings.cpp and bitcoin_en.ts
- changes help text for -rpcthreads to match -par
- fix a small glitch with -par to be "-par=<n>"
2013-04-08 08:50:03 +02:00
Philip Kaufmann
84b89afbd7 Translations update: pull from Transifex
- added languages in bitcoin.qrc: bs, ca, cy, eo, gu_IN, hi_IN, ja, la,
  lv_LV and th_TH (some translations files were already in src/qt/locale
  but not added in the .qrc file
2013-04-07 13:36:54 +02:00
Wladimir J. van der Laan
7e600cd92d qt: remove redundant wallet methods from bitcoingui
send encryptWallet/backupWallet/changePassphrase directly to walletFrame
2013-04-07 12:11:08 +02:00
Jonas Schnelli
27cc0d7fd2 new windows and linux icons
- new windows .ico contains multiple resolutions up to 256px
- new testnet (green) icon
- new png icon for llinux, etc.
- new doxygen icon
- changed the assets-attribution.txt

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-06 20:35:10 +02:00
Jonas Schnelli
5675ae2f11 moved bitcoin.svg to correct folder (qt/res/src)
Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-06 20:33:41 +02:00
Philip Kaufmann
87dd6035e5 Bitcoin-Qt: emit numBlocksChanged for changed reindex or importing state
- this allows our progressbarlabel to correctly update, when we
  finish a reindex or import, but do not get new blocks from other sources
2013-04-06 18:50:34 +02:00
Philip Kaufmann
35ed704d44 Bitcoin-Qt: update for BitcoinGUI::eventFilter()
- this allows us to use the progressbar and the label independently (if
  needed) and still prevents setStatusTip() to use them, if one of the 2
  is active
2013-04-06 12:24:52 +02:00
Pieter Wuille
484af4e2d1 Merge pull request #2456 from Diapolo/code-layout
small indentation, space, formatting fixes (no code changes)
2013-04-05 18:15:23 -07:00
Philip Kaufmann
b001c87126 small indentation, space, formatting fixes (no code changes) 2013-04-06 02:29:33 +02:00
Wladimir J. van der Laan
c19c1d00d9 Merge pull request #2443 from Diapolo/Qt_addrbook
Bitcoin-Qt: updates to addressbookpage
2013-04-05 11:24:06 -07:00
Pieter Wuille
430cbad411 Merge pull request #2460 from Diapolo/clientmodel
Bitcoin-Qt: add Genesis blocks time for testnet
2013-04-05 02:37:24 -07:00
Wladimir J. van der Laan
369e3df0f8 Merge pull request #2442 from Diapolo/Qt_RPCCon
Bitcoin-Qt: small RPCConsole cleanup
2013-04-05 01:24:15 -07:00
Wladimir J. van der Laan
d37fb2070d Merge pull request #2444 from jonasschnelli/master
new mac osx icon
2013-04-05 01:19:09 -07:00
Philip Kaufmann
8d432cd66d Bitcoin-Qt: add Genesis blocks time for testnet
- add the Genesis blocks time for the testnet in
  ClientModel::getLastBlockDate()
2013-04-04 22:15:47 +02:00
Gavin Andresen
723035bb68 Have Qt poll for shutdown requested, the QT way. 2013-04-03 19:58:47 -04:00
Gavin Andresen
b31499ec72 Clean up shutdown process 2013-04-03 19:57:53 -04:00
Gavin Andresen
21eb5adadb Port Thread* methods to boost::thread_group 2013-04-03 19:57:13 -04: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
Gavin Andresen
c8c2fbe07f Shutdown cleanup prep-work
Create a boost::thread_group object at the qt/bitcoind main-loop level
that will hold pointers to all the main-loop threads.

This will replace the vnThreadsRunning[] array.

For testing, ported the BitcoinMiner threads to use its
own boost::thread_group.
2013-04-03 14:04:21 -04:00
Wladimir J. van der Laan
36fdfb989e Merge pull request #2450 from Diapolo/Qt_fix_VMTab
Bitcoin-Qt: fix opening verify message tab via main menu
2013-04-03 09:26:18 -07:00
Philip Kaufmann
8726de26ee Bitcoin-Qt: fix GUI after initial multi-wallet patch
- adds 6 methods in BitcoinGUI to access some actions needed by the new
  WalletView class
- updates WalletView class to use these instead of trying to duplicate
  these
- cleanup walletview.{cpp/h} and remove all unneeded stuff
- this fixes problems with tabs toolbar (#2451) and export broken (#2436)
- more details in #2447
2013-04-03 17:37:28 +02:00
Philip Kaufmann
0dcf9e5308 Bitcoin-Qt: fix opening verify message tab via main menu 2013-04-03 15:28:16 +02:00
Jonas Schnelli
72fcbb15ea new mac osx icon (including SVG Version)
- added new created and documented svg version of shaded icon
- changed "B" background to white (no longer transparent)
- removed PSD (Adobe Photoshop) document
- license is now MIT

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-02 21:57:41 +02:00
Jonas Schnelli
6f21d15375 Merge branch 'master' of git://github.com/bitcoin/bitcoin 2013-04-02 21:53:41 +02:00
Philip Kaufmann
1ce0448808 Bitcoin-Qt: only use qApp for Q(Core)Application::instance() 2013-04-02 17:33:48 +02:00
Philip Kaufmann
bfad9982f8 Bitcoin-Qt: small RPCConsole cleanup
- add missing initalisation for clientModel
- remove unneded RPCExecutor::start() code
2013-04-02 16:42:23 +02:00
Wladimir J. van der Laan
bcce45e9b0 Merge pull request #2441 from Diapolo/Qt_fix_copy_context_menu
Bitcoin-Qt: fix copy via context-menu broken
2013-04-02 07:34:35 -07:00
Philip Kaufmann
90bd933e6d translation base files update 2013-04-02
- also includes a small change to a string in bitcoinrpc.cpp, which is not
  on Transifex anyway, so is safe to merge
2013-04-02 15:46:40 +02:00
Philip Kaufmann
39ee86257c Bitcoin-Qt: fix copy via context-menu broken
- as QClipboard::Selection isn't available on Windows ensure that the
  correct mode is called, but sill allow selection for e.g. X11
- start conversion from QCoreApplication::instance() to qApp in
  guiutil.cpp (I intend to harmonize this all over the source with my Qt5
  compatibility pull)
2013-04-02 15:20:35 +02:00
Wladimir J. van der Laan
a977b8c475 Merge pull request #2428 from r000n/staging
Simplify titles of tabs in main window
2013-04-02 05:41:24 -07:00
Jonas Schnelli
aaa7f279c8 new mac osx icon
check why/preview: http://dl.dropbox.com/u/7383846/new_bitcoin_qt_mac_icon.png

- according to official bitcoin logo
- no chopped shadow
- retina-screen support

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-02 13:00:51 +02:00
Wladimir J. van der Laan
cf4d976f0e Merge pull request #2387 from Diapolo/translations
translations update 2013-03-19 (bitcoinstrings.cpp / bitcoin_en.ts)
2013-04-01 07:45:11 -07:00
Wladimir J. van der Laan
300f747ec3 Merge pull request #2437 from Diapolo/Qt_fixes
fix "send coins" via context menu in address book
2013-04-01 07:44:03 -07:00
Philip Kaufmann
b2bf46d35e Bitcoin-Qt: fix debug window
- fix debug window, by re-adding rpcConsole->setClientModel(clientModel);
  in BitcoinGUI::setClientModel(), which was removed by #2220
2013-04-01 15:19:40 +02:00
Philip Kaufmann
abf11f79ae fix "send coins" via context menu in address book
- the send coins context menu entry was not working anymore, because
  a non current version of #2220 was merged onto current master
- also removes some unneeded spaces and adds a comment to
  WalletModel::getNumTransactions()
2013-04-01 14:43:50 +02:00
Wladimir J. van der Laan
36599db428 qt: remove transaction count from overview page
It was needlessly confusing people, as it doesn't necessarily match the
number of transactions in the transaction list.
2013-03-31 10:16:43 +02:00
Roman Mindalev
0de26d5826 Words in English language are more short than in other langs usually.
Tabs don't fits in line in Spanish/German/Russian when they has two words.
Wallet has limited functionality. It can send & receive coins. So we can
safely rename "Send coins" to "Send" and "Receive coins" to "Receive".
Address book is just stored addresses.
2013-03-31 11:15:43 +04:00
Wladimir J. van der Laan
9d8d85920a Merge pull request #2386 from Diapolo/Mac_GUI
Bitcoin-Qt: ensure createTrayIconMenu() is always called on Mac
2013-03-30 22:51:43 -07:00
Wladimir J. van der Laan
a7cbb340bd Merge pull request #2361 from L2G/font-tweak
Clean up font size in main window for observed inconsistency in Mac OS
2013-03-30 22:49:09 -07:00
Philip Kaufmann
5968cf5db2 Bitcoin-Qt: ensure createTrayIconMenu() is always called on Mac
- this should prevent GUI issues on Mac that were observed before (disappearing
  GUI - see #1522)
- the patch ensures, that createTrayIconMenu() is always called on Mac to
  process and use our MacDockIconHandler
2013-03-30 10:14:45 +01:00
Wladimir J. van der Laan
09dfa86baf qt: Improve capslock detection on non-us keyboards (issue #1855)
On non-us keyboards you can obtain lower case characters even pressing
the SHIFT, this caused false positives.
2013-03-29 10:55:23 +01:00
Wladimir J. van der Laan
a6d32c94ab Merge remote-tracking branch 'codeshark/multiwallet-qt-no-core' (pull #2220)
Conflicts:
	src/qt/bitcoingui.cpp
2013-03-29 09:54:00 +01:00
Wladimir J. van der Laan
1be4bbadc7 Merge pull request #2350 from DavidGriffith/master
Also copy the address to the X11 clipboard (the one you middle-click to paste)
2013-03-29 01:45:59 -07:00
Wladimir J. van der Laan
8142ac2c18 Merge pull request #2393 from r000n/staging
Staging - GUI fixes for upstream
2013-03-29 01:40:32 -07:00
Larry Gilbert
15e9739f3b Don't specify a point size for "Wallet" 2013-03-27 21:16:35 -07:00
Roman Mindalev
f688056f9d Show window in center of screen on first launch 2013-03-23 08:21:42 +04:00
Roman Mindalev
e11f1806b6 Save & restore window size and position 2013-03-23 08:21:33 +04:00
Roman Mindalev
afee36d379 Fix transaction fee in uBTC
Step for buttons 'up' and 'down' - 0.001. With BTC and mBTC all ok, but
0.001 uBTC is lower than minimal value (satoshi)
User should press 10 times on 'up' button to get 0.01 uBTC
2013-03-23 08:20:51 +04:00
Eric Lombrozo
67155d9299 Minimal architectural changes necessary to support multiple wallets in bitcoin-qt
- This commit is a minimal restructuring necessary to support multiple wallets in the UI. Please see multiwallet-qt.txt for details.
2013-03-22 11:09:08 -07:00
Richard Schwab
598889973b Adding 'copy txid' to qt tx overview context menu 2013-03-21 11:30:12 +01:00
Philip Kaufmann
967125ca4a blockchain -> block chain (used everywhere else) 2013-03-21 08:23:23 +01:00
Philip Kaufmann
48253c16bf translations update 2013-03-19 (bitcoinstrings.cpp / bitcoin_en.ts) 2013-03-19 23:47:45 +01:00
Wladimir J. van der Laan
1a1ce49155 Merge pull request #2378 from Diapolo/translations
update bitcoin_en.ts and bitcoinstrings.cpp
2013-03-19 10:01:05 -07:00
Wladimir J. van der Laan
f42720d0f6 Merge pull request #2215 from Diapolo/Qt_sendfrom_addrbook
Bitcoin-Qt: add "send coins" to context menu in addressbook
2013-03-19 09:59:38 -07:00
Philip Kaufmann
2547d2a90b Bitcoin-Qt: update Win executable file meta-data copyright 2013-03-19 00:04:54 +01:00
Philip Kaufmann
c83dd7490c update bitcoin_en.ts and bitcoinstrings.cpp 2013-03-18 08:29:36 +01: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
David Griffith
4db114667f Also copy the address to the X11 clipboard (the one you middle-click to paste) 2013-03-09 00:37:21 -08:00
Wladimir J. van der Laan
7ea7c94cf9 Merge pull request #2299 from gavinandresen/localsocketuri
Reimplement click-to-pay. Support OSX.
2013-02-23 23:47:31 -08:00
Gavin Andresen
9dca7190f9 Merge pull request #2310 from sipa/progressbar
Progressbar based on time-based estimation of transactions.
2013-02-22 08:59:36 -08:00
Gavin Andresen
dbac38170a Merge pull request #2315 from sipa/loaderror
Improve block database load error reporting
2013-02-18 14:31:20 -08:00
Pieter Wuille
f7f3a96b74 Improve block database load error reporting 2013-02-17 23:25:42 +01:00
Wladimir J. van der Laan
5258fbe492 Merge pull request #2283 from Diapolo/translations
translations update (bitcoinstrings.cpp + bitcoin_en.ts)
2013-02-16 07:36:50 -08:00
Pieter Wuille
9f2467ad62 Transactions-based verification progress 2013-02-16 14:51:00 +01:00
Wladimir J. van der Laan
24cde0b7d1 Change progress bar from block-based to time-based
This is less confusing to most people, and doesn't rely on estimates
of the total number of blocks received from other nodes.
2013-02-16 14:51:00 +01:00
Gavin Andresen
8269a0953e Reimplement click-to-pay links. Add OSX support.
Switch to using Qt's QLocalServer/QLocalSocket to handle bitcoin
payment links (bitcoin:... URIs)

Reason for switch: the boost::interprocess mechanism seemed flaky,
and doesn't mesh as well with "The Qt Way"

qtipcserver.cpp/h is replaced by paymentserver.cpp/h

Click-to-pay now also works on OSX, with a custom Info.plist
that registers Bitcoin-Qt as a handler for bitcoin: URLs and
an event listener on the main QApplication that handles
QFileOpenEvents (Qt translates 'url clicked' AppleEvents into
QFileOpenEvents automagically).
2013-02-12 15:41:31 -05:00
Petter Reinholdtsen
17121ec4fe Use QImage.bits instead of QImage.constBits to ease backporting
Image.constBits was introduced in Qt 4.7.  Should be ok here to use
QImage.bits which allows linking against the Qt in Squeeze.
2013-02-09 19:18:53 +01:00
Philip Kaufmann
f561f3f37f translations update (bitcoinstrings.cpp + bitcoin_en.ts) 2013-02-07 07:39:58 +01:00
Philip Kaufmann
5711a20883 translations update (bitcoinstrings.cpp and bitcoin_en.ts) 2013-02-01 18:24:17 +01:00
Philip Kaufmann
8823b4ac3b Bitcoin-Qt: better copyright year handling in AboutDialog
- this change allows us to keep the translation without the need to
  re-translate any string, when we update the copyright year
- copyright symbol is changed to HTML to ensure we get no encoding
  issues and it's removed from the translation string so translators don't
  break it by mistake
2013-02-01 08:52:01 +01:00
Gavin Andresen
85b534b23e Prevent Qt crash at startup with an empty data directory 2013-01-30 15:24:37 -05:00
Philip Kaufmann
d001476cbc full translations update
- fetch current translations from Transifex
- update bitcoinstrings.cpp and bitcoin_en.ts
2013-01-26 01:40:42 +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
446cbf5fe9 Bitcoin-Qt: extend parseBitcoinURI() pre-check
- add check to verify if an URI is valid
2013-01-21 07:48:54 +01:00
Wladimir J. van der Laan
bd85cf3df7 Merge pull request #2157 from Diapolo/Qt_addrlist
Bitcoin-Qt: fix known addressbook bugs
2013-01-19 06:32:40 -08:00
Wladimir J. van der Laan
0c16cc73ef Merge pull request #2171 from Diapolo/init
add InitMessage() to noui and use debug.log for GUI
2013-01-19 06:29:34 -08:00
Philip Kaufmann
3a2e07493b update bitcoinstrings.cpp and bitcoin_en.ts (2013-01-14) 2013-01-14 22:52:52 +01:00
Gavin Andresen
e4f2b6b08f Merge pull request #2159 from petertodd/display-nlocktime-correctly
Display tx nLockTime correctly when set to block #
2013-01-14 12:06:07 -08:00
Philip Kaufmann
bb41a87d57 add InitMessage() to noui and use debug.log for GUI
- this pull adds an InitMessage() function to noui.cpp, which outputs init
  messages to debug.log (this allows to remove some printf() calls from
  init.cpp)
- change InitMessage() in bitcoin.cpp to also write init messages to
  debug.log to ensure nothting is missing in the log because of the
  removal of printf() calls in init.cpp
2013-01-11 22:57:22 +01:00
Philip Kaufmann
17c1f7f04f Bitcoin-Qt: use reference in setAddress_SM() and setAddress_VM() 2013-01-10 14:04:32 +01:00
Philip Kaufmann
e6d2300562 Bitcoin-Qt: fix known addressbook bugs
- add qSort() for cachedAddressTable, as qLowerBound() and qUpperBound()
  require the list to be in ascending order (see
  http://harmattan-dev.nokia.com/docs/library/html/qt4/qtalgorithms.html#qLowerBound)
- add a new check in AddressTableModel::setData() to just return, when no
  changes were made to a label or an address (prevents entry duplication
  issue)
- remove "rec->label = value.toString();" from
  AddressTableModel::setData() as the label gets updated by
  AddressTablePriv::updateEntry() anyway (seems @sipa added this line via
  1025440184 (L6R225))
- add another new check in AddressTableModel::setData() to just return, if
  a duplicate address was found (prevents address overwrite)
- add a new check to EditAddressDialog::setModel() to prevent setting an
  invalid model
- re-work the switch-case statement in AddressTableModel::accept() to
  always break (as return get's called anyway) and order the list to match
  the enum definition
- make accept() in editaddressdialog.h a public slot, which it should be
- misc small coding style changes
2013-01-09 16:55:24 +01:00
Peter Todd
10046e27db Display tx nLockTime correctly when set to block #
Previously when a transaction was set to lock at a specific block the
calculation was reversed, returning a negative number. This broke the UI
and caused it to display %n in place of the actual number.

In addition the previous calculation would display "Open for 0 blocks"
when the block height was such that the next block created would
finalize the transaction. Inserted the word "more" and changed the
calculation so that the last message would be "Open for 1 more block" to
better match user expectations.
2013-01-09 04:18:26 -05:00
Wladimir J. van der Laan
429915bd0d Merge pull request #2153 from Diapolo/overviewpage
Bitcoin-Qt: fix small stylesheet glitch in overviewpage.ui
2013-01-06 07:26:43 -08:00
Wladimir J. van der Laan
12aacd582a Merge pull request #2151 from Diapolo/signmessage
Bitcoin-Qt: add a Signature label on sign message page
2013-01-06 05:23:01 -08:00
Philip Kaufmann
765e22b82c Bitcoin-Qt: fix small stylesheet glitch in overviewpage.ui 2013-01-06 12:41:49 +01:00
Philip Kaufmann
aec056edb5 Bitcoin-Qt: add a Signature label on sign message page 2013-01-06 03:52:33 +01:00
Philip Kaufmann
8ffbd6c378 Bitcoin-Qt: give testnet a unique IPC message queue name
- this prevents an interference with the IPC message queue (which is used
  for URI processing) when running a testnet and mainnet instance in
  parallel
- to check for testnet, I had to raise the ParseParameters() call in
  main() to the topmost position
2013-01-06 03:42:40 +01:00
Wladimir J. van der Laan
1f4fdb70f0 Merge pull request #2110 from Diapolo/addrbook
Bitcoin-Qt: comment out unused parameter in addressbookpage
2013-01-05 07:56:31 -08:00
Wladimir J. van der Laan
eb5c24c464 Merge pull request #2148 from Diapolo/est_block_count
Bitcoin-Qt: never display own block count > estimated block count
2013-01-05 07:45:02 -08:00
Wladimir J. van der Laan
744adb2e61 Merge pull request #1685 from Diapolo/Qt_add_options_reset
Bitcoin-Qt: add a Reset button to the options dialog
2013-01-05 07:36:05 -08:00
Philip Kaufmann
2e43c92428 translations update (bitcoinstrings.cpp + bitcoin_en.ts) 2013-01-05 13:56:24 +01:00
Philip Kaufmann
5fb445b49e Bitcoin-Qt: add a Reset button to the options dialog
- a click on "Reset Options" sets all options to the default values by
  removing all stored settings (QSettings), loading the defaults and
  saving them as the new settings
- before the reset is executed the user is presented a confirmation dialog
- special casing was needed for StartAtStartup
2013-01-05 13:51:36 +01:00
Philip Kaufmann
54413aab13 Bitcoin-Qt: never display own block count > estimated block count
- some users reported it as weird, that the estimated block count could be
  lower than our own nodes block number (which is indeed true and not good)
- this pull adds a new default behaviour, which displays our own block
  number as estimated block number, if own >= est. block count
- the pull raises space for nodes block counts in cPeerBlockCounts to 8 to
  be more accurate
- also removes a reduntant setNumBlocks() call in RPCConsole and moves
  initialisation of numBlocksAtStartup in ClientModel, where it belongs
2013-01-04 17:21:40 +01:00
Wladimir J. van der Laan
15ffcc3642 Merge pull request #2032 from burger2/fix_shortcut
Fix duplicate shortcut usage in sign/verify message dialog.
2013-01-01 11:21:58 -08:00
Philip Kaufmann
a8fbbd8fb0 Bitcoin-Qt: comment out unused parameter in addressbookpage 2012-12-15 11:15:19 +01:00
Wladimir J. van der Laan
07c3f846c2 Merge pull request #2045 from Diapolo/use_message
use new message() function in BitcoinGUI
2012-12-12 21:17:40 -08:00
Andrey Alekseenko
6a3aef39e7 OptionsModel now has MapPortUPnP=false if UPNP is not supported 2012-12-12 13:10:02 +04:00
Philip Kaufmann
15d8ff2029 rework ThreadSafeAskFee() / askFee() functions
- remove unused parameter from ThreadSafeAskFee(), which also results in
  the removal of an orphan translation-string
2012-12-04 21:35:41 +01:00
Philip Kaufmann
7f5a1b529b remove unneeded flag from MSG_INFORMATION and fix an indentation 2012-12-04 21:35:40 +01:00
Philip Kaufmann
50ecd7b689 use new message() function in BitcoinGUI
- use it for displaying URI parsing warnings
- use it for displaying error and information in backup wallet function
  (the information display is new and the error was a warning before)

- cleanup BitcoinGUI::incomingTransaction()
-- use message() + the information icon from message
-- comment out an unused parameter in the function definition and
   declaration
-- move all pre-checks at the beginning of the function
2012-12-03 14:02:02 +01:00
Philip Kaufmann
3675588a30 Bitcoin-Qt: remove obsolete modal flag from GUI APIs
- as we (can) supply the CClientUIInterface::MODAL flag via the style
  parameter, we don't need a separate bool for checking the modality
2012-12-03 13:24:42 +01:00
Philip Kaufmann
f82102121f split of createTrayIconMenu() from createTrayIcon() in BitcoinGUI
- this allows to setup the trayicon before we have and want a trayicon menu
- should be of great use, when we remove that splash screen
- fixes a small bug with the toggleHideAction icon, which is not only used with
  trayicon but also with the Mac dock
2012-11-27 22:20:43 +01:00
Philip Kaufmann
5350ea4171 update CClientUIInterface and remove orphan Wx stuff
- 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
2012-11-26 13:32:31 +01:00
burger2
ecd67a1420 Fix duplicate shortcut usage in sign/verify message dialog. 2012-11-22 22:50:30 +01:00
Philip Kaufmann
baa510b210 update bitcoinstrings.cpp and bitcoin_en.ts 2012-11-16 19:02:39 +01:00
Wladimir J. van der Laan
0c42ee8130 Merge pull request #1767 from Diapolo/RPCCon_clear_history
clear history when using clear button in RPC console
2012-11-15 22:31:12 -08:00
Pieter Wuille
45a9365f18 Fix status text after reindex 2012-11-10 22:08:46 +01:00
Wladimir J. van der Laan
d7db72998b Merge pull request #1993 from Diapolo/qt_header_cleanup
Qt: small header changes / fixes
2012-11-10 03:46:35 -08:00
Pieter Wuille
485cf044ba Merge pull request #1943 from sipa/reindex2
Add -reindex, to perform in-place reindexing of block chain files
2012-11-09 14:50:30 -08:00
Pieter Wuille
b41de54a2c Merge pull request #1978 from sipa/nodetach
Remove -detachdb and stop's detach argument.
2012-11-09 14:10:50 -08:00
Pieter Wuille
7fea484674 Add -reindex, to perform in-place reindexing of block chain files
Flushes the blktree/ and coins/ databases, and reindexes the
block chain files, as if their contents was loaded via -loadblock.

Based on earlier work by Jeff Garzik.
2012-11-09 01:06:32 +01:00
Philip Kaufmann
128eefa0f8 Qt: small header changes / fixes
- ensure header inclusion guard is named after the header file
- add missing comments at the end of some inclusion guards
- add a small Qt5 compatibility fix in macdockiconhandler.h
2012-11-08 21:45:32 +01:00
Wladimir J. van der Laan
86406daeca Merge pull request #1830 from Diapolo/trans_rem_spaces
fix some double-spaces in strings
2012-11-04 23:34:57 -08:00
Pieter Wuille
92467073ad Remove -detachdb and stop's detach argument.
As the only BDB database left is the wallet, and it is always
detached.

Also remove IsChainFile() predicate and related chainfile-specific
logic.
2012-11-04 12:59:06 +01:00
Philip Kaufmann
6f959c4cb3 Bitcoin-Qt: use statustips in addition to tooltips
- add setStatusTip() in addition to setTooltip() where it makes sense
- add only setStatusTip() if GUI element is only used in main- or tray menu

- add an event filter on our BitcoinGUI object to prevent garbelled text
  on the status bar, which happens when we use it for e.g. displaying
  block-sync state and then a QEvent::StatusTip wants to write own text to it

- remove a double translation of "Bitcoin client"
2012-10-31 08:05:27 +01:00
Philip Kaufmann
6b3783a9c9 fix some double-spaces in strings
- remove some unneeded stuff in sendcoinsentry.ui
- harmonize some "Error:"-messages
2012-10-25 22:25:50 +02:00
Pieter Wuille
e74d0ab675 Merge pull request #1899 from Diapolo/proxy_optionsmodel
make optionsmodel query real proxy state for ::data()
2012-10-25 11:33:59 -07:00
Wladimir J. van der Laan
7a1786084d Merge pull request #1956 from laanwj/2012_10_prerelease_warning
Show warning when using prerelease version
2012-10-25 05:52:55 -07:00
Philip Kaufmann
83a3fb81f3 ensure AskPassphraseDialog::eventFilter forwards events
- instead of "return false;" use "return QDialog::eventFilter(object,
  event);" to harmonize this event filter with our default behaviour
- remove orphan spaces found while editting the files
2012-10-25 11:52:34 +02:00
Wladimir J. van der Laan
62e21fb5d0 Show warning when using prerelease version
Implements #1948

- Add macro `CLIENT_VERSION_IS_RELEASE` to clientversion.h
- When running a prerelease (the above macro is `false`):
  - In UI, show an orange warning bar at the top. This will be used for other
    warnings (and alerts) as well, instead of the status bar.
  - For `bitcoind`, show the warning in the "errors" field in `getinfo`
    response.
2012-10-25 07:33:45 +02:00
Alex
39ad0aa692 Fixed 100% CPU utilization problem on FreeBSD 9 2012-10-22 08:37:17 -04:00
Pieter Wuille
ae8bfd12da Batch block connection during IBD
During the initial block download (or -loadblock), delay connection
of new blocks a bit, and perform them in a single action. This reduces
the load on the database engine, as subsequent blocks often update an
earlier block's transaction already.
2012-10-20 23:08:57 +02:00
Pieter Wuille
450cbb0944 Ultraprune
This switches bitcoin's transaction/block verification logic to use a
"coin database", which contains all unredeemed transaction output scripts,
amounts and heights.

The name ultraprune comes from the fact that instead of a full transaction
index, we only (need to) keep an index with unspent outputs. For now, the
blocks themselves are kept as usual, although they are only necessary for
serving, rescanning and reorganizing.

The basic datastructures are CCoins (representing the coins of a single
transaction), and CCoinsView (representing a state of the coins database).
There are several implementations for CCoinsView. A dummy, one backed by
the coins database (coins.dat), one backed by the memory pool, and one
that adds a cache on top of it. FetchInputs, ConnectInputs, ConnectBlock,
DisconnectBlock, ... now operate on a generic CCoinsView.

The block switching logic now builds a single cached CCoinsView with
changes to be committed to the database before any changes are made.
This means no uncommitted changes are ever read from the database, and
should ease the transition to another database layer which does not
support transactions (but does support atomic writes), like LevelDB.

For the getrawtransaction() RPC call, access to a txid-to-disk index
would be preferable. As this index is not necessary or even useful
for any other part of the implementation, it is not provided. Instead,
getrawtransaction() uses the coin database to find the block height,
and then scans that block to find the requested transaction. This is
slow, but should suffice for debug purposes.
2012-10-20 23:08:57 +02:00
Pieter Wuille
66b02c93e6 Move external block import to separate thread 2012-10-20 01:54:10 +02:00
Wladimir J. van der Laan
485d667748 Revert "Merge pull request #1931 from laanwj/2012_10_newicons"
This reverts commit 199d88cf90, reversing
changes made to 65bc1573e7.

License is worse instead of better. Will only accept public domain and
MIT-licensed icons from now on.
2012-10-14 20:49:06 +02:00
xanatos
cddda5d9f0 Changed connect?_16.png to non-GPL one and changed the assets attribution. 2012-10-14 13:01:38 +02:00
xanatos
b96238a9c9 Changed the spinner to a non-GPL one, added instructions on how to regenerate it, changed the assets attribution, removed old spinner + old spinner's sources. 2012-10-14 12:34:07 +02:00
Philip Kaufmann
34710818a7 Bitcoin-Qt: intregrate current translations from Transifex 2012-10-12 15:51:49 +02:00
Philip Kaufmann
0e005c3ddc Bitcoin-Qt: update english translation master file 2012-10-12 15:45:27 +02:00
Wladimir J. van der Laan
fae3989ffc Merge pull request #1900 from Diapolo/optionsmodel_getters
move most explicit getters in optionsmodel to header
2012-10-11 00:40:20 -07:00
Wladimir J. van der Laan
089b10a28a Merge pull request #1911 from Diapolo/fix_signed_unsigned
fix wrong (signed/unsigned) printf format specifier in bitcoinrpc.cpp
2012-10-11 00:40:08 -07:00
Philip Kaufmann
ada2a39691 change Q_WS_MAC -> Q_OS_MAC (Qt5 compatibility)
- I missed that one in my former pull
2012-10-07 18:50:03 +02:00
Philip Kaufmann
5e5c102f2f make optionsmodel query real proxy state for ::data()
- don't rely on the QSettings for cases ProxyUse and ProxySocksVersion and
  query the real values via the GetProxy() call
- add a missing "succesful =" for case ProxyUse in ::setData()
2012-10-07 17:59:41 +02:00
Pieter Wuille
43de64949c Merge pull request #1859 from Diapolo/proxy_locks
add LOCK() for proxy related data-structures
2012-10-07 07:03:06 -07:00
Philip Kaufmann
95e625d235 fix wrong (signed/unsigned) printf format specifier in bitcoinrpc.cpp
- also includes the required bitcoinstrings.cpp update
2012-10-05 23:31:58 +02:00
Wladimir J. van der Laan
ee0b648536 Merge pull request #1906 from laanwj/2012_10_help_stdout
Send --help message to stdout i.s.o stderr
2012-10-05 11:24:09 -07:00
Wladimir J. van der Laan
a6be58d536 Merge pull request #1905 from laanwj/2012_10_startup_gui_error
When datadir missing, show messagebox instead of printing error to stderr
2012-10-04 22:28:44 -07:00
Wladimir J. van der Laan
61fd72695f When datadir missing, show messagebox instead of printing error to stderr 2012-10-04 12:04:12 +02:00
Philip Kaufmann
81bbef2609 add LOCK() for proxy related data-structures
- fix #1560 by properly locking proxy related data-structures
- update GetProxy() and introduce GetNameProxy() to be able to use a
  thread-safe local copy from proxyInfo and nameproxyInfo
- update usage of GetProxy() all over the source to match the new
  behaviour, as it now fills a full proxyType object
- rename GetNameProxy() into HaveNameProxy() to be more clear
2012-10-04 09:35:24 +02:00
Wladimir J. van der Laan
366944431b Pull changed translations from transifex
There was also a new translation available, "ja" (Japanese), however
almost nothing was filled in yet, so I'm not including it for this release.
2012-10-04 08:18:12 +02:00
Wladimir J. van der Laan
f1e262c8e1 Translation update for 0.7.1
Also clarify translation process that the package `gettext` is needed to run string extractor.
2012-10-04 08:13:37 +02:00
Wladimir J. van der Laan
bb353618f1 Send --help message to stdout i.s.o stderr
This allows fun stuff such as `bitcoin --help | less`, and more
easy piping to files.

Looking at other tools such as bash, gcc, they all send their help
text to stdout.
2012-10-04 07:56:57 +02:00
Philip Kaufmann
7bc65ff108 move most explicit getters in optionsmodel to header
- is more consistent and saves quite some lines of code
2012-10-02 18:49:57 +02:00
Gavin Andresen
d2cc6f489c Merge branch 'master' of github.com:runeksvendsen/bitcoin 2012-10-01 16:51:24 -04:00
Rune K. Svendsen
1bf66fcc0a When encrypting the wallet, warn user that old backups will become useless.
Don't include HTML in translation strings. Do split the huge message over several lines.

Prettier lines
2012-09-30 15:57:53 +02:00
Wladimir J. van der Laan
018ec85ff7 Merge pull request #1875 from hsoft/master
Fix compilation with clang under OS X
2012-09-29 02:23:46 -07:00
Wladimir J. van der Laan
f72fd0e792 Merge pull request #1881 from xanatos/Tests
Removed a duplicated identical if
2012-09-29 01:00:55 -07:00
Pieter Wuille
2e3ffb2d82 Remove stack randomization 2012-09-28 21:53:28 +02:00
xanatos
50e01ee620 toHTML won't add empty wtx.mapValue elements
As the code was before, toHTML added empty elements to mapValue to check for their existance. Now first it check for their existance and then for their non-emptiness.

Removed a duplicated identical if

There are two equal ifs, one inside another. If the first one is true, then the second one is true.
2012-09-28 15:50:48 +02:00
Virgil Dupras
fee10d800e Fixed compilation error with clang.
Previously, trying to compile with clang would result in the error: assigning to 'objc_object *' from incompatible type 'DockIconClickEventHandler *'
2012-09-27 15:06:16 -04:00
Wladimir J. van der Laan
1a52dd10a7 Merge pull request #1854 from Diapolo/fix_1843_V2
additional fix for #1843
2012-09-25 01:35:22 -07:00
Wladimir J. van der Laan
49b09ec04f Merge pull request #1853 from fanquake/qt-include
Update include for Qt5
2012-09-23 05:35:24 -07:00
fanquake
ea9eaf9dec Update Qt include
Update Qmenu include

This is to be more consistent with the rest of the source

Update Qt Includes
2012-09-22 18:56:22 +08:00
Wladimir J. van der Laan
2f91373a0a Merge pull request #1852 from fanquake/bugreportlinks
Update links to Qt
2012-09-22 03:29:46 -07:00
Philip Kaufmann
bb86cffa56 additional fix for #1843
- a shortcut on "receive coins" was used twice
2012-09-22 12:15:41 +02:00
fanquake
e1eb3d4451 Update Bugreport Links
Update Qt Links

Revert Qt source link

Update Qt links
2012-09-22 18:05:25 +08:00
Wladimir J. van der Laan
f394f21594 Merge pull request #1844 from Diapolo/Qt5_compat1
enhance Qt5 compatibility
2012-09-22 02:21:06 -07:00
Wladimir J. van der Laan
38682648c2 Remove unnecessary text from tooltip in AddressBookPage 2012-09-22 08:37:56 +02:00
Philip Kaufmann
da9413d913 fix #1843 by changing 2 GUI shortcuts 2012-09-21 19:31:53 +02:00