laanwj
commented at 11:15 AM on September 18, 2011:
member
This pull requests merges in the Qt GUI ( https://github.com/laanwj/bitcoin-qt/blob/master/README.rst ). This introduces a qmake-based build system completely orthogonal to the current build system and UI code. All qt-related source files and resources are added under src/qt: 135 of the 154 "Files Changed" are additions.
Changes to core code have been kept to a minimum and are generally guarded by #ifdef or clearly UI-specific. Outline of changes to core:
Add InitMessage calls to initialization sequence, for splash screen. These do nothing on Qt or GUI-less builds
#ifdefs for QT GUI specific changes: there is no default or preferred receiving address, and no visible addresses are generated without the users intervention
Keep track of maximum block count of peers (GetNumBlocksOfPeers), for visual indication of progress
Translation functions and printf take std::string instead of char*, to allow _ to safely redirect to Qt translation service
Add GetUnconfirmedBalance() call to CWallet, to be able to show non-confirmed balance in home screen
rpc.(cpp|h) renamed to bitcoinrpc.(cpp|h) to satisfy qmake build system on Windows
use #ifdef QT_UI to distinguish Qt UI instead of hardcoded #if 047c6215c22
experiment with internationalization (nl), unbreak build (externui.h->qtui.h)daaee738fc
use buttonbox for options dialog6665c2431b
finish nl translation40951d81a7
Call "initial download" "synchronizing with network" insteadc88e14fe26
allow adding address to address book in send dialog38deedc1b5
Improve look/usablity of send coins dialoga404b1512a
compile fixes by Unthinkingbit0030c1bd6c
update dutch translation42e950aa69
fix typo in dutch translationcae5264a4c
reduce spacing between "Add to address book as" and the text fieldd99f5a470c
update core to d0d80170a2ca73004e08fb85007fe055cbf4e411 (CWallet class)e8ef3da713
Change transaction table:
- Split "Description" column into "Type" and "Address", to make sorting easier (and facilitate filtering in the future)
- Merged "credit" and "debit" columns into one "amount" column that can be black (positive) or red (negative)
34fa178243
add icons to "New..." and "Copy to clipboard" buttons7aff3d5852
use 256x256 window icon, to prevent uglyness on OSes that show full-size icons for apps3cfe12c1b7
add "BTC" to balance for clarity19a5975d5a
Implement filter row instead of tabs, allows for more expressive filtersceb6d4e11d
Make it more clear what the "New" button does6ed283946c
show an error if amount is not valid (either the amount or decimals is empty)929eb9dc6c
Split off WalletModel from ClientModel, to be able to support multi-wallets in futureef079e183b
Make it very clear when on testnet (green icon, add [testnet] to title)d56c6f312c
Add "receiving addresses" to toolbard61b7d13e4
add icons to address book dialog buttonsc16eb94945
fix sorting in address table dialog8b040f812a
Address book: show unlabeled addresses as (no label)64f125f353
Fix detailed transaction information on doubleclickc60015a260
General cleanups0052fe7bbc
reverse address and label (suggestion by Danube)ab90d6e62a
cleanup unused constantscdff41c12e
make amount column wider, so that more decimals fit inb5384e93ed
Add "last month" filter05bae43c3c
Remove "default address" from main GUI screen, it only confuses peoplee5b47b4328
Placeholder text can only be used for Qt 4.7+f48b4c8897
"Receive coins" instead of "Receiving addresses"bb82fdb543
Send: dialog redesign (automatically look up label for entered address)ebff5c40a2
Check addresses in address book for validity669b0a5835
make tooltip equal to placeholderc1ffa5b1c5
ui improvements: allow inline editing of labels/addresses in address book table, better tab order in send dialog, set focus on sending address table when coming from send coins dialog154e25ff60
remove "edit" button, document double-click behaviour to editecde936aee
remove libboostall-dev is not needed dependency21e47f8d04
move another setPlaceHolderText to 4.7+ only code482e57812b
windows build fixes8fe2308b34
Eliminate useless padding3913c387c9
add windows build instructions9dfb2d2814
as there is no "default receiving address" in this GUI, don't autogenerate new addresses on receivingb8f174a5ce
make balance selectable / copyable825aa7d8d8
tab reorg phase 1: split main gui into "overview" and "history"64c8b69948
Add "BTC" to all amount widgets, to make clear what the unit ise1f3d64c4a
Remove code for no longer existing edit button in address book dialog8bca4099c7
Address book: Disable "copy to clipboard" and "Delete" buttons when nothing selected393adf7acd
Improve view of generated transactions (show clock icon when still maturing)e599246803
minor language/text updatesfac047480d
Rename "History" tab to more logical "Transactions", move "Number of transactions" from status bar to overview paged52a0f3bca
Export functionality for transaction listfbaee7a853
CKeyStore::AddKey must return a boolean33c75fd9aa
temp patch for qtui42c405ad23
Sync to bitcoin git e94010b2395694d56dd6ae3d0aba15
Qt handles the "..." for too long table rows. Remove this functionality from TransactionTableModel...5eaa1b435c
convert to full tab-based ui3479849dc4
Selection/tab navigation fixes94fe42a945
clarify todo/dones in readmea7e506d698
add [testnet] to whatever the current window title is0002bdddfa
Add German translation by nico_wba3d0255fc
"Status" doesn't fit into narrow first column in transaction history, make the header empty610121480c
update README8ffec99b07
Display a "freshness" indicator instead of nr of blocks84c8506e90
Reorganize "send coins" tabd8aeb8dd2a
forgot synced icons83b8237046
send coins dialog: make sure send button remain default button (triggered with enter)3ddf10e5ca
Transaction list: less terse tooltip35105534e7
Add context menu on transaction list: copy label, copy address, edit label, show details51d7cc07f1
Readme update460cd40aa5
remove magic number: change threshold for nLockTime to constantfa989f42c1
remove magic number: change threshold for nLockTime to constant2eace48d9a
add export functionality for address book / receiving addressesf54d59ba4a
README updateadad8e46c9
Add -fstack-protector to gcc CXX flagsea8440d742
remove placeholder text from ui form, code generator screws up on older qt7668631d1b
add better windows7/vista look by nico_w0b814f9ea3
wxp/mingw build fixesc87cdc9160
Make tooltip on refresh more cleareee0d2391c
Show unconfirmed balance on overview pagedf5ccbd2b2
also show balloon on sent transaction, to notify when coins sent4a843976e0
Update mac build (alkor on forums)2a097fc5ed
solve warnings at startup77b615ceba
Fix error when export is cancelled without specifying a filename.608810a3e7
Merge pull request #8 from celil-kj/master
fix error when cancelling export
f8be324ace
Now that send coins / receive coins etc are tabs, remove them from menu, and reorganize menu barea37fb9187
Wallet encryption part 2: ask passphrase when needed, add menu optionsb7bcaf940d
comments and readme update6c85cbecf1
Merge branch 'master' of https://github.com/bitcoin/bitcoinf43f46c175
Merge branch 'master' of https://github.com/bitcoin/bitcoin
Conflicts:
src/main.cpp
7a15d4ff67
update to work with new lock system, add protocol.* to build systemc5aa1b139a
bitcoin-qt cannot be used as command line rpc clientb2d1129f27
support USE_UPNP setting0aca8577b5
Edited README.rst via GitHub4785e6df74
Merge branch 'master' of https://github.com/bitcoin/bitcoin0a70a3f4d8
Merge branch 'master' of github.com:laanwj/bitcoin-qt69e87633bc
(k)ubuntu 10.04+ notification support (based on @zwierzak his code)cf9195c808
Pull request #21: windows fixes/cleanup by Matoking94723e27ad
fix the build (moved code use 'this' instead of 'window')f077d1ad62
Merge branch 'master' of https://github.com/bitcoin/bitcoin
Conflicts:
.gitignore
a0d2f9a12d
http -> https9b9e2f1748
The synchronization progress bar now compares the amount of total blocks to amount of blocks downloaded at application start-up. Could be probably implemented better.78b3bf56f7
clarify function signature (GetNumBlocksOfPeers) and use number of 'frozen' blocks as initial value for number of peer blocksd33cc2b5e3
Some Mac OS X specific things
* Added application icon for Mac OS X * Added instructions for compiling
under Mac OS X * Added Portfile for compiling miniupnpc with MacPorts
2c1fd3c395
Merge pull request #22 from p2k/master
Some improvements for Mac OS X
1837644c4a
remove transparency effect and windows-specific code for now, it's not working as supposed83312d7c6c
make German translation up-to-datec1e667222a
Merge branch 'master' of https://github.com/bitcoin/bitcoin5dd7318db7
move qt-specific scripts to qt-specific directory in scripts/3c66913cd2
assure that base bitcoind and bitcoin still builde122e42354
move current qt specific readme to doc/, restore original README.md0465c41c84
sipa
commented at 9:34 AM on September 19, 2011:
member
ACK on the changes to core. I haven't reviewed the UI code itself.
tcatm
commented at 12:46 PM on September 19, 2011:
none
This seems to break the wxgui (error in AppInit()). Either that should be fixed or wxgui removed IMHO.
laanwj
commented at 12:48 PM on September 19, 2011:
member
Didn't notice it yet. I'll fix that. The changes should not affect the wx GUI.
laanwj
commented at 1:32 PM on September 19, 2011:
member
tcatm: I'm unable to reproduce this (on Linux). The Wx still works as it did before. Can you get a traceback for the error?
tcatm
commented at 1:39 PM on September 19, 2011:
none
sorry, my fault: I forgot to run make clean and thus part of bitcoin was usind bdb 4.7 and bdb 4.8
gavinandresen
commented at 2:19 PM on September 19, 2011:
contributor
ACK, I did a quick review and setup a qt build environment. Looks good.
TheBlueMatt
commented at 6:43 PM on September 21, 2011:
Im not against adding this file if it is needed, but can I ask why it is?
laanwj
commented at 6:52 PM on September 21, 2011:
It was added by @p2k to improve MacOSX support, I suppose it's some kind of
auto-build file.
TheBlueMatt
commented at 6:57 PM on September 21, 2011:
Its a macport port file for the latest miniupnpc. That's fine but I'm not sure about putting it in the bitcoin repo. It should probably just be submitted upstream to macports and not be put on bitcoin.
20 | + 21 | +- CSV export of transactions and address book (for Excel bookkeeping) 22 | + 23 | +- Shows alternative icon when connected to testnet, so you never accidentally send real coins during testing 24 | + 25 | +- Shows a progress bar on initial block download, so that you don't have to wonder how many blocks it needs to download to be up to date
TheBlueMatt
commented at 6:49 PM on September 21, 2011:
H ow safely Is this done wrt people modifying nodes to report incorrect block counts?
laanwj
commented at 6:59 PM on September 21, 2011:
They could report more blocks than they actually have (not less, as the
maximum is taken of peers and a hardcoded minimum bound
nTotalBlocksEstimate is taken into account). This could mess up the
progress bar, but apart from that influences nothing. It's just a visual
indicator.
H ow safely Is this done wrt people modifying nodes to report incorrect
block counts?
TheBlueMatt
commented at 7:03 PM on September 21, 2011:
Would it not make sense to try to drop outliers just to keep people from complaining if they get odd progress bars?
laanwj
commented at 7:11 PM on September 21, 2011:
Maybe, but that's extra complexity which could introduce bugs in itself. I
didn't think that'd be worth adding the extra complexity to the core. But it
could keep track of the numbers reported by the last N nodes connected to,
then report the median, for example...
Would it not make sense to try to drop outliers just to keep people from
TheBlueMatt
commented at 7:16 PM on September 21, 2011:
Maybe its just me, but id feel better if it at least took some effort to spoof, even if not much.
TheBlueMatt
commented at 7:02 PM on September 21, 2011:
member
I'm assuming no one cares about adding non mit pictures to bitcoin, but I might as well bring up the issue.
TheBlueMatt
commented at 7:10 PM on September 21, 2011:
member
Also, it might just be me but I really hate having two sets of translations, is it not possible to redefine some translation functions and make a script to convert the format of the files?
laanwj
commented at 7:15 PM on September 21, 2011:
member
This is exactly what I did (see scripts/qt/extract_strings_qt.py). When
running with Qt UI, the _ function is redirected to Qt. The Wx translations
are not used by the Qt UI.
laanwj
commented at 7:20 PM on September 21, 2011:
member
Feel free to add or replace your own images if you think that's a concern...
TheBlueMatt
commented at 7:26 PM on September 21, 2011:
member
Well look at me not paying attention, but I also meant for qt files to use _ so that translation programs will pick up strings from qtui as well (or did you do that too, im on my phone and the browser lags out if I try to load the diff tab).
Also I'm assuming you have some strings specific to qtui already, how were those handled in the existing translations for qt?
TheBlueMatt
commented at 7:31 PM on September 21, 2011:
member
In URI handling, why does it not parse the message field?
laanwj
commented at 7:32 PM on September 21, 2011:
member
Nothing special has to be done for that; Qt uses tr() instead of _, and
recognizes the qtui-specific strings (which are indeed a lot) in
lupdate/lrelease, the qt translation tools, automatically.
It does not pick up _(), that's why the python script exists. It converts
the strings in _() to QT_TRANSLATE_NOOP strings which are recognized.
This means that qt translator can be used to translate the strings in the
core as well as the qtui-specific strings in one go.
On Wed, Sep 21, 2011 at 9:26 PM, Matt Corallo <
reply@reply.github.com>wrote:
Well look at me not paying attention, but I also meant for qt files to use
_ so that translation programs will pick up strings from qtui as well (or
did you do that too, im on my phone and the browser lags out if I try to
load the diff tab).
Also I'm assuming you have some strings specific to qtui already, how were
those handled in the existing translations for qt?
Reply to this email directly or view it on GitHub:
#521 (comment)
laanwj
commented at 7:35 PM on September 21, 2011:
member
Huh I don't see anything about a message field in the URL handling? What's it supposed to parse, and do with it?
TheBlueMatt
commented at 7:42 PM on September 21, 2011:
member
re:images I dont have a problem with it but I thought id bring it up to make sure no one else had any problems with it.
Re:translations, it just bugs me that half the translations are in po format and the other half are in qt. That might cause issues later on if there are conflicting translations used by bitcoind. My question was whether or not it would be possible to modify the qt-generated code to use the_() function (which is mapped to tr) so that translation software would pick up the strings that qt needs as well as wx and bitcoind ones. That way all the translations would be in one place.
TheBlueMatt
commented at 7:46 PM on September 21, 2011:
member
laanwj
commented at 7:49 PM on September 21, 2011:
member
Eventually all the translations should be in qt format (ts), not the other
way around, IMO. The Qt translation system is more advanced (context
sensitive, can take into account multiples, shows the GUI while translating
etc).
The po files could be generated from the ts files, for use by bitcoind, and
wouldn't even need to be in git. This would need another script but not a
very complex one.
laanwj
commented at 7:49 PM on September 21, 2011:
member
What would you want to do with the message? Display it in a popup? Currently, the "send coins" tab is opened and the amount, address and label is simply added to the recipients list when a URL is drag&dropped into the client.
laanwj
commented at 7:53 PM on September 21, 2011:
member
BTW bitcoind doesn't use translation at all; I guess it'd need to link against libgettext to do that. Currently, without ui, _ is implemented as this (util.h):
If this is kept the same, this means the po files can simply be removed when the wx UI goes away.
tcatm
commented at 7:56 PM on September 21, 2011:
none
RE: message in bitcoin uri
It should be stored as a comment for that transaction. Actually, I'd like to have a editable comment field for every transaction (outgoing and incoming) so one could label individual transactions on a single address. I think the wallet and RPC already supports comments.
laanwj
commented at 8:01 PM on September 21, 2011:
member
Is that true? I haven't noticed it. I intended to add such functionality. A long time ago I sent a message on the mailing list about adding metadata to transactions and address book addresses, but no one ever replied, so I guessed it was not practical or useless.
Anyway, we can add this later. It's a good idea in any case.
p2k
commented at 8:04 PM on September 21, 2011:
contributor
laanwj: Just a side note: I've written a python script that reads ts files and outputs unicode string tables for use in mac or iphone applications. I think it won't take me long to modify it so it outputs po files.
laanwj
commented at 8:11 PM on September 21, 2011:
member
p2k: nice, if we decide to add gettext-based translation to bitcoind that will certainly come in handy
TheBlueMatt
commented at 8:29 PM on September 21, 2011:
member
Meh, I dont care if all the translations are po or qt, but I would think it would be better to have them all together instead of split between two files.
laanwj
commented at 8:32 PM on September 21, 2011:
member
As I said, unless gettext-based translation is added to bitcoind, we can
simply remove the .po files when the wx UI is deprecated. That would solve
the problem wouldn't it?
TheBlueMatt
commented at 8:36 PM on September 21, 2011:
member
yes., long as existing translations are ported over.
laanwj
commented at 8:39 PM on September 21, 2011:
member
Yes, that could be done, though that'd only work for the strings in the
bitcoin core. Most of the strings in the UI itself would remain untranslated
as they're different from before.
gavinandresen referenced this in commit f7f2a36925 on Sep 26, 2011
gavinandresen merged this on Sep 26, 2011
gavinandresen closed this on Sep 26, 2011
coblee referenced this in commit 34cd269b78 on Jul 17, 2012
ptschip referenced this in commit 50a6c32e54 on Aug 2, 2017
dexX7 referenced this in commit 105313ae3a on Mar 12, 2018
kallewoof referenced this in commit f084479091 on Oct 4, 2019
lateminer referenced this in commit 47871443c5 on Jul 17, 2020
KolbyML referenced this in commit bc86927231 on Sep 4, 2020
rajarshimaitra referenced this in commit 5148d198df on Aug 5, 2021
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2026-04-13 15:16 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me