Qt GUI #521

pull laanwj wants to merge 338 commits into bitcoin:master from laanwj:qt changing 154 files +16008 −33
  1. 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

    Discussion on forum: https://bitcointalk.org/index.php?topic=44330.msg532087 and https://bitcointalk.org/index.php?topic=15276.0

  2. Add tooltips, make "amount" entry consistent in Options dialog 5e1feddcb6
  3. Somewhat confident now, tested on GNOME+KDE, with all types of transactions. Next step is integration into bitcoin tree. 5813089e0b
  4. move back to original directory structure ba4081c1fc
  5. add build instructions to doc 0304f4a759
  6. use stylized icon by bitboy 37f793c631
  7. remove wallet updating debug output c428d9e76a
  8. add the bitcoin (MIT?) license 0424613ba2
  9. update bitcoin core to git ce148944c776ae8e91cc058f44ddce356c7cebc9 18cf214528
  10. prepare internationalization; rename project to bitcoin-qt ab2fe68fd8
  11. add svg version of icon, so that it can be scaled to bigger sizes later 3ac5aa4a95
  12. replace icons d066e25744
  13. new icons -- test 92ab03afc8
  14. Status column reorganization 249300aebe
  15. Address book: select action (edit/select) based on context e83474f2eb
  16. Internationalization -- initial step, make _ return a std::string to prevent memory leaks 39cf857db9
  17. Internationalization -- conversion of strings from bitcoin core 6315130e60
  18. link to -lcrypto as well f15df6bb7a
  19. Add berkelydb version warning 5363cb05f6
  20. Make status column narrow (icon only, details on tooltip) a790ec5884
  21. add connection meter b1ef1b24ce
  22. icons test cf450e1b4c
  23. transaction status icons 58557b5aff
  24. add attribution for icons aec8763a8e
  25. show connection meter "full" only at 10+ connections 8c69f1fb25
  26. better icons for confirmations 89c94b5578
  27. add svg sources for icons e61cfaf5c1
  28. remove unused icons 553af2f702
  29. add license for md2k7's icons e4347a43b9
  30. fix issue #3 (dark theme compat) aa52972660
  31. remove commented code, use // for one-line comments and comments inside functions 0f3981bea9
  32. Prevent notification balloon-spam on initial block download, const-correctness in client model 7df70c000a
  33. Use explicit resource initialization, apparently needed on some platforms 45c4a0b354
  34. add configure and receive icon 245ab4d0ac
  35. update bitcoin core from git (eeac8727bc0a951631bd) 0eeb4f5d5b
  36. On initial block chain download, show a progress bar 6cab66354d
  37. initial block download spans total blocks minus threshold 0f9ee792d9
  38. fixes for mac build 3c7ebaedcd
  39. Merge pull request #5 from mjmvisser/master
    mac fixes
    679592720a
  40. number of confirmations is no longer magic value 18b99e3f69
  41. introduce bitcoin amount field with split amount/decimals, to protect against mistakes (https://forum.bitcoin.org/index.php?topic=19168.0) f193c57a63
  42. Fix some padding and focus issues with the new BitcoinAmountWidget 84114e341d
  43. Add comment to tooltip that only sending addresses can be deleted 54e903a543
  44. fix issue #7 50d08dc1e1
  45. when going to decimals field using ./, select it all, so that entry starts from scratch instead of appending to previous value c92fc340a2
  46. highlight default address f5927f5b32
  47. Allow changing default address (fixes issue #6) b9e80983a5
  48. clarify text 5f280ff557
  49. use #ifdef QT_UI to distinguish Qt UI instead of hardcoded #if 0 47c6215c22
  50. experiment with internationalization (nl), unbreak build (externui.h->qtui.h) daaee738fc
  51. use buttonbox for options dialog 6665c2431b
  52. finish nl translation 40951d81a7
  53. Call "initial download" "synchronizing with network" instead c88e14fe26
  54. allow adding address to address book in send dialog 38deedc1b5
  55. Improve look/usablity of send coins dialog a404b1512a
  56. compile fixes by Unthinkingbit 0030c1bd6c
  57. update dutch translation 42e950aa69
  58. fix typo in dutch translation cae5264a4c
  59. reduce spacing between "Add to address book as" and the text field d99f5a470c
  60. update core to d0d80170a2ca73004e08fb85007fe055cbf4e411 (CWallet class) e8ef3da713
  61. 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
  62. add icons to "New..." and "Copy to clipboard" buttons 7aff3d5852
  63. use 256x256 window icon, to prevent uglyness on OSes that show full-size icons for apps 3cfe12c1b7
  64. add "BTC" to balance for clarity 19a5975d5a
  65. Implement filter row instead of tabs, allows for more expressive filters ceb6d4e11d
  66. Make it more clear what the "New" button does 6ed283946c
  67. show an error if amount is not valid (either the amount or decimals is empty) 929eb9dc6c
  68. Split off WalletModel from ClientModel, to be able to support multi-wallets in future ef079e183b
  69. Make it very clear when on testnet (green icon, add [testnet] to title) d56c6f312c
  70. Add "receiving addresses" to toolbar d61b7d13e4
  71. add icons to address book dialog buttons c16eb94945
  72. fix sorting in address table dialog 8b040f812a
  73. Address book: show unlabeled addresses as (no label) 64f125f353
  74. Fix detailed transaction information on doubleclick c60015a260
  75. General cleanups 0052fe7bbc
  76. reverse address and label (suggestion by Danube) ab90d6e62a
  77. cleanup unused constants cdff41c12e
  78. make amount column wider, so that more decimals fit in b5384e93ed
  79. Add "last month" filter 05bae43c3c
  80. Remove "default address" from main GUI screen, it only confuses people e5b47b4328
  81. Placeholder text can only be used for Qt 4.7+ f48b4c8897
  82. "Receive coins" instead of "Receiving addresses" bb82fdb543
  83. update build instructions (thanks tschaboo) 05da981f05
  84. Send: dialog redesign (automatically look up label for entered address) ebff5c40a2
  85. Check addresses in address book for validity 669b0a5835
  86. make tooltip equal to placeholder c1ffa5b1c5
  87. 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 dialog 154e25ff60
  88. remove "edit" button, document double-click behaviour to edit ecde936aee
  89. remove libboostall-dev is not needed dependency 21e47f8d04
  90. move another setPlaceHolderText to 4.7+ only code 482e57812b
  91. windows build fixes 8fe2308b34
  92. Eliminate useless padding 3913c387c9
  93. add windows build instructions 9dfb2d2814
  94. as there is no "default receiving address" in this GUI, don't autogenerate new addresses on receiving b8f174a5ce
  95. make balance selectable / copyable 825aa7d8d8
  96. tab reorg phase 1: split main gui into "overview" and "history" 64c8b69948
  97. Add "BTC" to all amount widgets, to make clear what the unit is e1f3d64c4a
  98. Remove code for no longer existing edit button in address book dialog 8bca4099c7
  99. Address book: Disable "copy to clipboard" and "Delete" buttons when nothing selected 393adf7acd
  100. Improve view of generated transactions (show clock icon when still maturing) e599246803
  101. minor language/text updates fac047480d
  102. Rename "History" tab to more logical "Transactions", move "Number of transactions" from status bar to overview page d52a0f3bca
  103. Export functionality for transaction list fbaee7a853
  104. CKeyStore::AddKey must return a boolean 33c75fd9aa
  105. temp patch for qtui 42c405ad23
  106. Sync to bitcoin git e94010b2395694d56dd6 ae3d0aba15
  107. Qt handles the "..." for too long table rows. Remove this functionality from TransactionTableModel... 5eaa1b435c
  108. convert to full tab-based ui 3479849dc4
  109. Selection/tab navigation fixes 94fe42a945
  110. clarify todo/dones in readme a7e506d698
  111. add [testnet] to whatever the current window title is 0002bdddfa
  112. Add German translation by nico_w ba3d0255fc
  113. "Status" doesn't fit into narrow first column in transaction history, make the header empty 610121480c
  114. update README 8ffec99b07
  115. Display a "freshness" indicator instead of nr of blocks 84c8506e90
  116. Reorganize "send coins" tab d8aeb8dd2a
  117. forgot synced icons 83b8237046
  118. send coins dialog: make sure send button remain default button (triggered with enter) 3ddf10e5ca
  119. Transaction list: less terse tooltip 35105534e7
  120. Add context menu on transaction list: copy label, copy address, edit label, show details 51d7cc07f1
  121. Readme update 460cd40aa5
  122. remove magic number: change threshold for nLockTime to constant fa989f42c1
  123. remove magic number: change threshold for nLockTime to constant 2eace48d9a
  124. add export functionality for address book / receiving addresses f54d59ba4a
  125. README update adad8e46c9
  126. Add -fstack-protector to gcc CXX flags ea8440d742
  127. remove placeholder text from ui form, code generator screws up on older qt 7668631d1b
  128. add better windows7/vista look by nico_w 0b814f9ea3
  129. wxp/mingw build fixes c87cdc9160
  130. Make tooltip on refresh more clear eee0d2391c
  131. Show unconfirmed balance on overview page df5ccbd2b2
  132. also show balloon on sent transaction, to notify when coins sent 4a843976e0
  133. Update mac build (alkor on forums) 2a097fc5ed
  134. solve warnings at startup 77b615ceba
  135. Fix error when export is cancelled without specifying a filename. 608810a3e7
  136. Merge pull request #8 from celil-kj/master
    fix error when cancelling export
    f8be324ace
  137. Now that send coins / receive coins etc are tabs, remove them from menu, and reorganize menu bar ea37fb9187
  138. fix quoting 249c6818f1
  139. Add call to request unconfirmed balance a35ee96336
  140. Merge remote-tracking branch 'satoshi/qtui'
    Conflicts (resolved by copying files from remote branch):
    	.gitignore
    	src/cryptopp/cpu.cpp
    	src/cryptopp/cpu.h
    	src/cryptopp/cryptlib.h
    	src/cryptopp/iterhash.h
    	src/cryptopp/misc.h
    	src/cryptopp/secblock.h
    	src/cryptopp/sha.cpp
    	src/cryptopp/sha.h
    	src/cryptopp/smartptr.h
    	src/json/json_spirit_reader.cpp
    	src/json/json_spirit_value.cpp
    	src/json/json_spirit_writer.cpp
    19366be186
  141. move README.md out of the way for now a24b23622e
  142. Merge branch 'master' of https://github.com/bitcoin/bitcoin d421117620
  143. Suppress uninitialized warnings. 97f908e483
  144. add sendmany support a5e6d72339
  145. Revert "Now that send coins / receive coins etc are tabs, remove them from menu, and reorganize menu bar"
    This reverts commit ea37fb9187195d746a4b8a84da5cb6bd9e0e4aab.
    9958e09dbc
  146. add missing icon 9b9cd3dd20
  147. update readme 2a429030ff
  148. readme update b5f918cbd6
  149. make initial block download reporting somewhat better by tracking version responses 5df0b03c95
  150. show rotating spinner when block download out of date, tick otherwise 8dcffd4d07
  151. put sendcoins entries in scroll area, so that window does not become bigger than screen with many recipients 1907b96d69
  152. Fix "Last received block was generated Up to date" a75e1e3292
  153. windows build fix 24c835b0b6
  154. move buttons to bottom of send coins tab, outside of scroll area 68e327ae7b
  155. Merge branch 'notebook' 8ea1c9a418
  156. one remove/delete icon is enough and the red minus better matches the add icon 174b3eddc0
  157. Merge branch 'master' of https://github.com/laanwj/bitcoin-qt 29f9e4e400
  158. fix clear() (clear red/invalid status) 73cd5e5212
  159. Implement range... transaction filter 8b936b617f
  160. Merge branch 'master' of https://github.com/bitcoin/bitcoin 7beada58cd
  161. Merge branch 'master' of https://github.com/laanwj/bitcoin-qt 64c991da2a
  162. Allow ammount field to be empty so that one can specify .05 instead of
    having to type the leading zero as in 0.05
    2eac3a6dec
  163. Merge pull request #9 from celil-kj/master
    allow decimals such as .05 for amount of bitcoins to send
    1a925b8e60
  164. add windows program (.exe) icon 8a13456f3a
  165. improve tooltip texts 591dcaf681
  166. make all tab icons blue/gray for more consistencyx f5472574a7
  167. better exit icon daa1a7398f
  168. On Mac OS X do not link aginst the boost libraries in UNIX:LIBS 2af40a5013
  169. Clean up the project file. a8c50c06e3
  170. put color constants in guiconstants.h bbae0fc9ef
  171. preparations for multiple unit (uBTC, mBTC, BTC) support, fix amount entry issue e285ffcd05
  172. fix unit names (μBTC) e780b94bd3
  173. Negative transaction color changed to red (was grey due to mistake) ca1dbe10ed
  174. allow multiple units in bitcoin amount widget (for example, for sending) using a combobox 587e52855a
  175. refuse to format nor parse invalid units f2b10f6469
  176. Reset unit to default when clearing the field, to prevent confusion 83c8d678aa
  177. update readme c0b892fee8
  178. Merge remote branch 'upstream/master'
    Conflicts:
    	src/bitcoinrpc.cpp
    491ad6db50
  179. make SetHash160 return a value (as specified in the function signature) 5326a31249
  180. Re-apply pull request #10, it got lost for some reason 1e89d5d2fe
  181. show amounts in <b>bold</b> in confirmation dialog dd61035645
  182. also accept numbers without dot/decimals for parsing, fixes transaction filter row 384625c1a6
  183. normalize SIGNAL/SLOT signatures (http://marcmutz.wordpress.com/effective-qt/prefer-to-use-normalised-signalslot-signatures/) 7df001be94
  184. Merge branch 'master' of https://github.com/bitcoin/bitcoin
    Conflicts:
    	src/script.cpp
    b5b1d1a66b
  185. Full support for other units, add configuration option for default unit (used when displaying amounts) ee014e5b10
  186. Merge branch 'master' of https://github.com/bitcoin/bitcoin 53d65b5500
  187. Remove no longer valid comment 3b59297b36
  188. Make debug info more interesting (show SHA160 addresses for inputs) 19fba3cd24
  189. Make dot in amount field more apparent 1aafe34a08
  190. Hide addresses in transaction overview by default, they can be re-shown as a configuration option 2f5d380943
  191. Remove unused variable 04f38adf73
  192. make sure address book model is up to date after sending coins f0ec774d9c
  193. comment update a5e1325879
  194. Properly html-escape labels dedf83a19b
  195. address icons 05bcf7089e
  196. show n/a for mined transactions (and send to self) instead of empty field d8f5c59a59
  197. add splash screen 10d680cff4
  198. update readme and splash screen text 5762295ec3
  199. add attribution for wallet image 6e903b0b32
  200. make amount field the same width as decimals field 2566b30c38
  201. show last few transactions on overview page a99ac8d3f4
  202. unconfirmed amount = grey 82303fc3ca
  203. fix drawing on gtk 2ccd47596b
  204. Clarity: change definition of "confirmed" to "counts towards balance" 186f3e2f0c
  205. when clicking a transaction on the overview page, send the user to the transactions page 1b39201966
  206. minimize amount of text in status bar; show only icons, if the user wants explanation they can view the tooltip 2351a3fc9f
  207. select new address immediately after creation ffccb56914
  208. improve tooltip over transactions 126185aaa7
  209. speling fix 00f4f8d54c
  210. improve sync spinner d4e3cb4c03
  211. reorganize transaction model data function, and transaction tooltip e74e8a184a
  212. Merge branch 'master' of https://github.com/bitcoin/bitcoin 330c190958
  213. Accept "bitcoin:" URL drops from browsers db7f023417
  214. don't include <QDebug> 856aacf388
  215. allow empty/missing amounts in URL c359ac9128
  216. update readme f839f96578
  217. add TODOs in parseBitcoinURL fb390d3505
  218. QtUI code cleanup / comment improvements b0849613bf
  219. Merge branch 'master' of https://github.com/bitcoin/bitcoin 0a76546ae9
  220. Merge branch 'master' of https://github.com/bitcoin/bitcoin b90c9ecb13
  221. fix issue #13 8c4738d5a7
  222. add russian translation by msva 317c733572
  223. update README for issue #15 872b1f3e4c
  224. Merge branch 'master' of https://github.com/bitcoin/bitcoin adce862c27
  225. Wallet encryption part 1: show wallet encryption status ae8adeb90a
  226. add russian translation and add unicode compatibility (merges pull request #20) 3f0816e3d9
  227. Wallet encryption part 2: ask passphrase when needed, add menu options b7bcaf940d
  228. comments and readme update 6c85cbecf1
  229. Merge branch 'master' of https://github.com/bitcoin/bitcoin f43f46c175
  230. Merge branch 'master' of https://github.com/bitcoin/bitcoin
    Conflicts:
    	src/main.cpp
    7a15d4ff67
  231. update to work with new lock system, add protocol.* to build system c5aa1b139a
  232. bitcoin-qt cannot be used as command line rpc client b2d1129f27
  233. support USE_UPNP setting 0aca8577b5
  234. Edited README.rst via GitHub 4785e6df74
  235. Merge branch 'master' of https://github.com/bitcoin/bitcoin 0a70a3f4d8
  236. Merge branch 'master' of github.com:laanwj/bitcoin-qt 69e87633bc
  237. (k)ubuntu 10.04+ notification support (based on @zwierzak his code) cf9195c808
  238. Pull request #21: windows fixes/cleanup by Matoking 94723e27ad
  239. fix the build (moved code use 'this' instead of 'window') f077d1ad62
  240. Merge branch 'master' of https://github.com/bitcoin/bitcoin
    Conflicts:
    	.gitignore
    a0d2f9a12d
  241. http -> https 9b9e2f1748
  242. 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
  243. clarify function signature (GetNumBlocksOfPeers) and use number of 'frozen' blocks as initial value for number of peer blocks d33cc2b5e3
  244. 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
  245. Merge pull request #22 from p2k/master
    Some improvements for Mac OS X
    1837644c4a
  246. remove transparency effect and windows-specific code for now, it's not working as supposed 83312d7c6c
  247. make German translation up-to-date c1e667222a
  248. Merge branch 'master' of https://github.com/bitcoin/bitcoin 5dd7318db7
  249. move qt-specific scripts to qt-specific directory in scripts/ 3c66913cd2
  250. assure that base bitcoind and bitcoin still build e122e42354
  251. move current qt specific readme to doc/, restore original README.md 0465c41c84
  252. 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.

  253. 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.

  254. 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.

  255. 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?

  256. 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

  257. 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.

  258. in bitcoin-qt.pro:None in 0465c41c84
      15 | +windows:RC_FILE = src/qt/res/bitcoin-qt.rc
      16 | +
      17 | +# use: qmake "USE_UPNP=1"
      18 | +# miniupnpc (http://miniupnp.free.fr/files/) must be installed
      19 | +count(USE_UPNP, 1) {
      20 | +    message(Building with UPNP support)
    


    TheBlueMatt commented at 6:40 PM on September 21, 2011:

    USE_UPNP should be tri-state. ie USE_UPNP=0 is different than USE_UPNP undefined.


    laanwj commented at 6:48 PM on September 21, 2011:

    It is tri-state:

    qmake USE_UPNP= -> miniupnpc not linked / compiled in

    qmake USE_UPNP=0 -> miniupnpc is compiled in, but disabled by default (-llibupnpc is linked in, USE_UPNP=0 is set)

    qmake USE_UPNP=1 -> miniupnpc is compiled in, and enabled by default (-llibupnpc is linked in, USE_UPNP=0 is set)

    (as documented in doc/readme-qt.rst)

    I've just tested this out, and it works as expected.


    laanwj commented at 6:53 PM on September 21, 2011:

    (uh, the last one should say "...USE_UPNP=1 is set")


    TheBlueMatt commented at 6:58 PM on September 21, 2011:

    mmm, I guess I just don't know how to read qmake files, or am blind...probably both. Just wanted to check to make sure.

  259. in contrib/miniupnpc/Portfile:None in 0465c41c84
       0 | @@ -0,0 +1,43 @@
       1 | +# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
    


    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.


    p2k commented at 7:35 PM on September 21, 2011:

    Yes, this is a temporary solution and I will remove this file as soon as macports fixes the issue.


    TheBlueMatt commented at 7:44 PM on September 21, 2011:

    Meh, still not sure about putting it in bitcoin, but I guess it doesn't matter.


    p2k commented at 8:09 PM on September 21, 2011:

    I'll try to send it to macports right now and remove it in the very minute they accept it, ok?

    EDIT: You can monitor the process here: https://trac.macports.org/ticket/31354

  260. in doc/readme-qt.rst:None in 0465c41c84
      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?

    Reply to this email directly or view it on GitHub: https://github.com/bitcoin/bitcoin/pull/521/files#r134664


    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

    complaining if they get odd progress bars?

    Reply to this email directly or view it on GitHub: https://github.com/bitcoin/bitcoin/pull/521/files#r134725


    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.

  261. 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.

  262. 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?

  263. 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.

  264. 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...

  265. 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?

  266. TheBlueMatt commented at 7:31 PM on September 21, 2011: member

    In URI handling, why does it not parse the message field?

  267. 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)

  268. 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?

  269. 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.

  270. TheBlueMatt commented at 7:46 PM on September 21, 2011: member

    See https://en.bitcoin.it/wiki/URI_Scheme (ignore lukes tonal exponent crap)

  271. 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.

  272. 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.

  273. 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 !defined(QT_GUI) && !defined(GUI)
    inline const char* _(const char* psz)
    {
        return psz;
    }
    #endif
    

    If this is kept the same, this means the po files can simply be removed when the wx UI goes away.

  274. 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.

  275. 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.

  276. 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.

  277. 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

  278. 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.

  279. 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?

  280. TheBlueMatt commented at 8:36 PM on September 21, 2011: member

    yes., long as existing translations are ported over.

  281. 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.

  282. gavinandresen referenced this in commit f7f2a36925 on Sep 26, 2011
  283. gavinandresen merged this on Sep 26, 2011
  284. gavinandresen closed this on Sep 26, 2011

  285. coblee referenced this in commit 34cd269b78 on Jul 17, 2012
  286. ptschip referenced this in commit 50a6c32e54 on Aug 2, 2017
  287. dexX7 referenced this in commit 105313ae3a on Mar 12, 2018
  288. kallewoof referenced this in commit f084479091 on Oct 4, 2019
  289. lateminer referenced this in commit 47871443c5 on Jul 17, 2020
  290. KolbyML referenced this in commit bc86927231 on Sep 4, 2020
  291. rajarshimaitra referenced this in commit 5148d198df on Aug 5, 2021
  292. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

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