Bitcoin Forum

Bitcoin => Wallet software => Topic started by: wumpus on June 11, 2011, 09:32:38 PM



Title: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on June 11, 2011, 09:32:38 PM
Not really an alternative client, but an alternative GUI for the original bitcoin client based on Qt4, which will be merged into mainline eventually (0.4.x).

It now has all the functionality of the original client's wxWindows GUI, and I'm working to extend it beyond that.

screenshots might be out of date! current updates are posted at the end of this thread

Screenshot (Vista):
http://img835.imageshack.us/img835/1306/btcwalletaero1.png (http://img835.imageshack.us/i/btcwalletaero1.png/)

MacOSX:
http://img198.imageshack.us/img198/1764/screenshot20110712at407.png

Screenshot (Kubuntu/KDE):

http://img836.imageshack.us/img836/1231/screenshotouf.png (http://img836.imageshack.us/i/screenshotouf.png/)

Tray icon, notification on incoming transactions:
http://img814.imageshack.us/img814/5757/transaction.png (http://img814.imageshack.us/i/transaction.png/)

Screenshot (Ubuntu/GTK):

http://img813.imageshack.us/img813/8319/screenshotoe.png (http://img813.imageshack.us/i/screenshotoe.png/)

http://img163.imageshack.us/img163/5757/transaction.png (http://img163.imageshack.us/i/transaction.png/)

Source code (and build instructions) can be found at: https://github.com/laanwj/bitcoin-qt . There is currently no installer or binary build as the project is still changing too fast to warrant releases.

Input welcome: See https://bitcointalk.org/index.php?topic=34838.msg433720#msg433720

Compiled versions
  • OpenMamba / RPM packages (ercolinux): http://www.openmamba.org/distribution/distromatic.html?tag=devel&pkg=bitcoin-qt.i586
  • Linux .tar.gz (drawoc): http://nightly.fredwardgames.com/bitcoin-qt/


Title: Re: Bitcoin-Qt
Post by: wumpus on June 12, 2011, 09:23:52 AM
I need help here; I need slicker toolbar icons (png format, at least 16x16, and optionally 22x22) for:

- Send coins: the current green arrow has some scaling artifacts I cannot get rid of

- Address book


- Icons for confirmed/unconfirmed transactions (see first post in https://forum.bitcoin.org/index.php?topic=2022.0 )



Title: Re: Bitcoin-Qt
Post by: Mike Hearn on June 12, 2011, 12:38:23 PM
Great. Consider improving the UI flows whilst you're at it. The address book UI isn't well thought out currently because there's no way to add people and addresses simultaneously. If you want to have a readable transaction log you have to go into the address book, add an address, then go into payments, pick them from the address book and pay. It could be all one step.


Title: Re: Bitcoin-Qt
Post by: wumpus on June 12, 2011, 12:52:00 PM
Great. Consider improving the UI flows whilst you're at it. The address book UI isn't well thought out currently because there's no way to add people and addresses simultaneously. If you want to have a readable transaction log you have to go into the address book, add an address, then go into payments, pick them from the address book and pay. It could be all one step.
Hm yes it is currently:
- Click "Send Coins"
- Click "Address Book..."
- Click "New address"
- Type the label and address
- Click "Ok" (or press enter)
- Double-click the new address
- Enter amount
- Send

Could be replaced with:
- Click "Send Coins"
- Enter address
- Check "Add to address book as ...". The "..." field becomes editable.
- Enter label
- Enter amount
- Send

At least at my bank it works like that. What do you think?


Title: Re: Bitcoin-Qt
Post by: wumpus on June 13, 2011, 06:54:18 AM
I have reorganized the status column. The colors should be icons, but you get the idea:

http://img195.imageshack.us/img195/6841/confirmations.png (http://img195.imageshack.us/i/confirmations.png/)

I'm thinking of nuking the text in the status column completely [and merging the status icon into Date].

It shows a lot of repetitive text and only the "color" really matters for a quick glance. When is it interesting whether a transaction has 20 or 30 confirms? The detailed information can be provided in a tool tip, or when the user double-clicks on the transaction.

Let me know what you think.


Title: Re: Bitcoin-Qt
Post by: unclescrooge on June 13, 2011, 12:32:27 PM
I have reorganized the status column. The colors should be icons, but you get the idea:

http://img195.imageshack.us/img195/6841/confirmations.png (http://img195.imageshack.us/i/confirmations.png/)

I'm thinking of nuking the text in the status column completely [and merging the status icon into Date].

It shows a lot of repetitive text and only the "color" really matters for a quick glance. When is it interesting whether a transaction has 20 or 30 confirms? The detailed information can be provided in a tool tip, or when the user double-clicks on the transaction.

Let me know what you think.

Yes I think too. Simple is good.


Title: Re: Bitcoin-Qt [user input needed]
Post by: bitlotto on June 13, 2011, 12:53:46 PM
Looks good. Oh, I've been meaning to ask, why have "All transactions" and "Sent/Received" aren't they the same? It's late so I MUST be missing something. LOL. Is it generated coins?


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 13, 2011, 01:51:48 PM
Looks good. Oh, I've been meaning to ask, why have "All transactions" and "Sent/Received" aren't they the same? It's late so I MUST be missing something. LOL. Is it generated coins?
"Sent/Received" includes generated transactions as well. Apart from that, they're indeed the same. Maybe it'd be less confusing to just regard generated transactions as received coins (received from the system) for interface purposes.


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 14, 2011, 04:23:45 PM
After getting rid of the 'Status' column it looks like this:

http://img860.imageshack.us/img860/8110/screenshotgk.png (http://img860.imageshack.us/i/screenshotgk.png/)

More ideas:

- I've always wondered why Bitcoin has separate Credit and Debit columns. Why not one "amount" column? Is this really more clear?

- Description is now one blob of text. In general it could be split up into "Type" and "Address".

- Add connection status icon to status bar ("disconnected" for 0 connections, "connected" for 1+ connection, "good" for 5+ connections)


Title: Re: Bitcoin-Qt [user input needed]
Post by: joan on June 14, 2011, 04:47:12 PM
- I've always wondered why Bitcoin has separate Credit and Debit columns. Why not one "amount" column? Is this really more clear?
It's interesting to be able to instantly detect the debits from the credits.
If merged in the same column, I think it would be important to still be able to visually differentiate them at a glance, (not just with the +/- sign). Maybe colors, or pictograms.


Title: Re: Bitcoin-Qt [user input needed]
Post by: kjj on June 14, 2011, 05:27:37 PM
Careful with the colors.

http://www.google.com/search?q=color+blind+usability (http://www.google.com/search?q=color+blind+usability)


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 14, 2011, 05:31:30 PM
Careful with the colors.

http://www.google.com/search?q=color+blind+usability (http://www.google.com/search?q=color+blind+usability)
Yes that's a problem if color is the only clue. But not if it is used as an extra signal. For example, when negative amounts are in red as well as have a minus.

The blue/green/grey squares are only placeholders until I or someone else comes up with nice status icons.

Whoa, connection meter has been added,
http://img137.imageshack.us/img137/7728/screenshot1shd.png (http://img137.imageshack.us/i/screenshot1shd.png/)


Title: Re: Bitcoin-Qt [user input needed]
Post by: md2k7 on June 14, 2011, 10:21:05 PM
I've made some 16x16 icons. Don't blame me if they are ugly, I usually code and don't design stuff. Try to make or google something better, while the latter option has some license fun included for sure.

Pending (0 confirmations): http://www.abanbytes.eu/files/btc/pending.png
Unconfirmed: http://www.abanbytes.eu/files/btc/unconfirmed.png
Confirmed: http://www.abanbytes.eu/files/btc/confirmed.png

License: You are free to do with these icons as you wish, including selling, copying, modifying etc.

Yours
David


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 15, 2011, 06:02:28 AM
Thanks! Yes they're not super-pretty but at least they're better than my square placeholders :)

More ideas:
- Optional confirmation for large transactions (https://forum.bitcoin.org/index.php?topic=17149.0)

Another thing: I'd appreciate it if someone with windows downloaded the free Qt SDK (http://qt.nokia.com/downloads/downloads) and try to compile this project. You can simply open the 'pro' file in Qt Creator that comes with the SDK. The biggest problem is probably the dependencies (openssl, berkelydb/dbcxx) though they likely exist for MinGW already somewhere.


Title: Re: Bitcoin-Qt [user input needed]
Post by: AntiVigilante on June 15, 2011, 07:03:39 AM
After getting rid of the 'Status' column it looks like this:

http://img860.imageshack.us/img860/8110/screenshotgk.png (http://img860.imageshack.us/i/screenshotgk.png/)

More ideas:

- I've always wondered why Bitcoin has separate Credit and Debit columns. Why not one "amount" column? Is this really more clear?

Which is why I'd really love to be able to load the wallet.dat into gnucash or the KDE equivalent (can't remember).


Title: Re: Bitcoin-Qt [user input needed]
Post by: MrBison on June 15, 2011, 01:04:10 PM
Maybe you should better use the icons supplied with the system or desktop. I think Qt has a method to get a system icon from the iconset user has.
For GNOME, you could use the stock_lock-broken, stock_lock and stock_lock-ok. Or the generic "error", "warning" and "OK" icons.


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 15, 2011, 03:56:25 PM
Maybe you should better use the icons supplied with the system or desktop. I think Qt has a method to get a system icon from the iconset user has.
For GNOME, you could use the stock_lock-broken, stock_lock and stock_lock-ok. Or the generic "error", "warning" and "OK" icons.
Thanks for the suggestion,

I'm thinking about that, yes. That's the QIcon::fromTheme method. It has advantages to use the system theme icons, but also drawbacks. Ie, if Bitcoin looks different everywhere, hard to make documentation.

Also, for Mac and Windows we'll need built-in icons to fall back on.

Which is why I'd really love to be able to load the wallet.dat into gnucash or the KDE equivalent (can't remember).
You mean something like "Export to CSV"? Or do they have some specific format? Would indeed be useful...


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 15, 2011, 07:17:43 PM
IMO it looks pretty good with md2k7's icons. I've also tried with gnome's lock/protection icons, but they look out of place somehow and are too similar to each other. These icons at least are easy to distinguish in a quick glance.

http://img838.imageshack.us/img838/7495/snapshot3b.png (http://img838.imageshack.us/i/snapshot3b.png/)


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 17, 2011, 06:10:36 AM
I think I'm going to replace the clock icons; In practice (yes, I eat my own dog food) I've noticed that it would be handy if they would tell how far the confirmation is (in the range of 1 to 5 confirms), when you're waiting for it. 

Hm so I'd need multiple icons, maybe a clock that fills up, or a progress bar. Time to experiment :)



Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 17, 2011, 03:55:37 PM
There we go... I put my inkscape skills to the test :)

http://img683.imageshack.us/img683/8069/screenshotxdn.png (http://img683.imageshack.us/i/screenshotxdn.png/)

Transaction status starts with a grey question mark (unconformed). After that, clocks (fill up and go from red to green) show how far the transaction is towards being confirmed. When confirmed it shows a tick.


Title: Re: Bitcoin-Qt [user input needed]
Post by: kr105 on June 18, 2011, 03:36:20 AM
Thanks! Yes they're not super-pretty but at least they're better than my square placeholders :)

More ideas:
- Optional confirmation for large transactions (https://forum.bitcoin.org/index.php?topic=17149.0)

Another thing: I'd appreciate it if someone with windows downloaded the free Qt SDK (http://qt.nokia.com/downloads/downloads) and try to compile this project. You can simply open the 'pro' file in Qt Creator that comes with the SDK. The biggest problem is probably the dependencies (openssl, berkelydb/dbcxx) though they likely exist for MinGW already somewhere.
I have the qt sdk installed, i'll try to compile it on windows :)


Title: Re: Bitcoin-Qt [user input needed]
Post by: md2k7 on June 18, 2011, 05:17:21 PM
There we go... I put my inkscape skills to the test :)

Nice clocks :-)

Quote from yesterday evening's irc.freenode.net #bitcoin-dev (CEST, UTC+02):
Quote
[00:04] <gavinandresen> BlueMatt: as soon as there's a qt GUI that has the same functionality and stability as the wx GUI I think we should switch.  What do you think?
[00:05] <BlueMatt> hm, Im not sure, I suppose I agree...but for now I think we are still in the "wweve got a long backlog of pulls to-be-pulled and need to decide which is higher priority as to in what 0.4.X version it gets pulled
...
[00:47] <BlueMatt> sipa: if you dont mind, could you respond to the qt thread for me and ask for more testing of autotools (my email is down atm...long story, dont ask)
...
[00:47] <BlueMatt> I think the people who really want to see qt merged will help test autotools first

I'm not sure what "qt thread" BlueMatt meant, or if this has to do anything with your version... Any hints?

Keep up the good work!

David


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 19, 2011, 09:55:20 AM
Progress: It now shows a progress bar on initial block chain download (one of my pet peeves)

http://img713.imageshack.us/img713/2793/screenshotuz.png (http://img713.imageshack.us/i/screenshotuz.png/)

I'm not sure what "qt thread" BlueMatt meant, or if this has to do anything with your version... Any hints?
Yup he means this thread. Basically, the bitcoin dev team first want to merge autoconf build system support then merge in this GUI.

Obviously, I also need to merge in autoconf before this can happen. qmake is pretty good and very clean/fast/easy to use but it doesn't really scale (for example, it cannot intelligently find the boost library filename -mt).

The Autoconf merge into bitcoin core is still held back by lack of windows/MacOSX testing (just like my GUI, really).

I have the qt sdk installed, i'll try to compile it on windows :)
That would be extremely cool. Let me know how it goes (either here on in a github issue).


Title: Re: Bitcoin-Qt [user input needed]
Post by: Danube on June 25, 2011, 12:01:28 PM
Is there a way to get rid of the 4 tabs? How about split the description-field into 2 fields: type and description. The sorting by type would have the same functionality as those tabs. What is more interessting IMHO is a textfield for filtering the data below.

What would be cool is a buttom right to Copy to clipboard, which generates a QR-code from the actual adress. I think there is a library for qrcodes around: http://fukuchi.org/works/qrencode/index.en.html

Another idea: In the send-dialog: When sending to an unknown address, can the user type in a string which is then included in the adressbook with the address?


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 25, 2011, 12:06:36 PM
Is there a way to get rid of the 4 tabs? How about split the description-field into 2 fields: type and description. The sorting by type would have the same functionality as those tabs. What is more interessting IMHO is a textfield for filtering the data below.
Yes getting rid of the tabs and replacing it with a somewhat more functional filter is on my list. Also splitting the columns.
Quote
What would be cool is a buttom right to Copy to clipboard, which generates a QR-code from the actual adress. I think there is a library for qrcodes around: http://fukuchi.org/works/qrencode/index.en.html
There is already a copy to clipboard button. It copies the address as plain text though. Why a QR code?
Quote
Another idea: In the send-dialog: When sending to an unknown address, can the user type in a string which is then included in the adressbook with the address?
Yep, I think this is a good idea


Title: Re: Bitcoin-Qt [user input needed]
Post by: Danube on June 25, 2011, 04:04:27 PM
Quote
What would be cool is a buttom right to Copy to clipboard, which generates a QR-code from the actual adress. I think there is a library for qrcodes around: http://fukuchi.org/works/qrencode/index.en.html
There is already a copy to clipboard button. It copies the address as plain text though. Why a QR code?

Because people are already trying to use bitcoin in shops. In the german section of the forum, there is a post about a restaurant in Berlin, where one can pay the bill with bitcoins. The biggest problem seems to how to enter the address. Saying and typing the adress is way too cumbersome. What they did first, was to send an email with the address. But using the cellphone to get the address by decoding a QR-code is the common opinion on how one should do that. In the sense of the workflow, copying to clipboard or generating a QR-code is the same thing.


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 25, 2011, 05:35:38 PM
96]
Because people are already trying to use bitcoin in shops. In the german section of the forum, there is a post about a restaurant in Berlin, where one can pay the bill with bitcoins. The biggest problem seems to how to enter the address. Saying and typing the adress is way too cumbersome. What they did first, was to send an email with the address. But using the cellphone to get the address by decoding a QR-code is the common opinion on how one should do that. In the sense of the workflow, copying to clipboard or generating a QR-code is the same thing.
Hm interesting. Where would they paste the QR-code after copying it to clipboard? Or would they print it?
Quote
Another idea: In the send-dialog: When sending to an unknown address, can the user type in a string which is then included in the adressbook with the address?
I've just implemented this and pushed it to github.

http://img97.imageshack.us/img97/1492/screenshotltq.png (http://img97.imageshack.us/i/screenshotltq.png/)


Title: Re: Bitcoin-Qt [user input needed]
Post by: Danube on June 25, 2011, 06:53:05 PM
96]
Because people are already trying to use bitcoin in shops. In the german section of the forum, there is a post about a restaurant in Berlin, where one can pay the bill with bitcoins. The biggest problem seems to how to enter the address. Saying and typing the adress is way too cumbersome. What they did first, was to send an email with the address. But using the cellphone to get the address by decoding a QR-code is the common opinion on how one should do that. In the sense of the workflow, copying to clipboard or generating a QR-code is the same thing.
Hm interesting. Where would they paste the QR-code after copying it to clipboard? Or would they print it?
They would either save it, print it, or simply let people scan it from their screen with their cellphone. IMHO it would be nice to also save the code and put it on posters, cards, signs etc. when you want people to tip you - like in all these forum signatures.

Quote
Quote
Another idea: In the send-dialog: When sending to an unknown address, can the user type in a string which is then included in the adressbook with the address?
I've just implemented this and pushed it to github.

http://img97.imageshack.us/img97/1492/screenshotltq.png (http://img97.imageshack.us/i/screenshotltq.png/)

Can you replace the address field and the address book button by a pull-down field which combines the functionality? Is the add to address book line greyed out, when one uses an address from the address book? I suggest that the checkbox is deactivated by default, and automatically activates, when the user enters anything in the name field.


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 25, 2011, 07:12:17 PM
Can you replace the address field and the address book button by a pull-down field which combines the functionality?
Yes good point -- I guess a combobox could be used there.
Quote
Is the add to address book line greyed out, when one uses an address from the address book? I suggest that the checkbox is deactivated by default, and automatically activates, when the user enters anything in the name field.
The 'add to address book as' checkbox is disabled by default, and you can only enter a name when it is enabled (otherwise the input field is disabled and the tab focus skips directly to 'amount'). I think this is more clear than the other way around.


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 25, 2011, 09:26:28 PM
A combobox turned out to not be really suited to this, as it had the nasty (insecure) habit of selecting the first address in the address book. It made it too easy to accidentally choose an address.

I've further improved the send coins dialog, though (and showing off the Dutch translation :-):

http://img651.imageshack.us/img651/2410/screenshotvfu.png (http://img651.imageshack.us/i/screenshotvfu.png/)


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 26, 2011, 08:41:06 PM
Update:
  • 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)

http://img835.imageshack.us/img835/5876/screenshotdv.png (http://img835.imageshack.us/i/screenshotdv.png/)


Title: Re: Bitcoin-Qt [user input needed]
Post by: Oldminer on June 26, 2011, 08:45:17 PM
Do you have a working windows gui/installer yet?


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 27, 2011, 02:46:51 PM
Do you have a working windows gui/installer yet?
Nope, I cannot build this myself. I've asked for help with windows earlier in the thread, but no one has bothered to do it yet.


Title: Re: Bitcoin-Qt [user input needed]
Post by: Oldminer on June 27, 2011, 07:12:36 PM
Pity, its a nice looking app :(


Title: Re: Bitcoin-Qt [user input needed]
Post by: dan_a on June 27, 2011, 08:10:22 PM
Another thing: I'd appreciate it if someone with windows downloaded the free Qt SDK (http://qt.nokia.com/downloads/downloads) and try to compile this project. You can simply open the 'pro' file in Qt Creator that comes with the SDK. The biggest problem is probably the dependencies (openssl, berkelydb/dbcxx) though they likely exist for MinGW already somewhere.

I'm giving that a go now.  It may take some time, though...


Title: Re: Bitcoin-Qt [user input needed]
Post by: zellfaze on June 27, 2011, 08:33:59 PM
This is beautiful.  Once you have this tested on Windows (and have tested it throughly) you should submit a pull request for this.  I think that the mainstream client really ought to use QT (plus your GUI is so much nicer looking).


Title: Re: Bitcoin-Qt [user input needed]
Post by: dan_a on June 27, 2011, 08:42:05 PM
Awww, man, the QT SDK takes forever to install!


Title: Re: Bitcoin-Qt [user input needed]
Post by: grue on June 27, 2011, 08:44:26 PM
8 connections should be 2 bars, and 16+ should be 4 :P


Title: Re: Bitcoin-Qt [user input needed]
Post by: EhVedadoOAnonimato on June 27, 2011, 09:11:12 PM
Great job!
Suggestion: get rid of the "Sent/Received" tab and keep just "All Transactions", "Sent" and "Received". Generated coins could be considered "received", you just change the Type to make it clear the difference.


Title: Re: Bitcoin-Qt [user input needed]
Post by: drawoc on June 27, 2011, 09:21:06 PM
I think it would be better to have the type column right-aligned, because of the way it reads. (type's text makes more sense with an adress next to it.)

Anyway, nice! I might try a windows build later if i get the time. Keep up the good work!


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 28, 2011, 04:26:32 AM
I'm giving that a go now.  It may take some time, though...
Thanks!
This is beautiful.  Once you have this tested on Windows (and have tested it throughly) you should submit a pull request for this.  I think that the mainstream client really ought to use QT (plus your GUI is so much nicer looking).
Yep, integrating this into the original client is planned after some build-system related issues have been sorted out there.
8 connections should be 2 bars, and 16+ should be 4 :P
Why the 16+ requirement for 4? The mapping is currently like this;
  • 0 -> No connection
  • 1-3 -> 1 bar
  • 4-6 -> 2 bars
  • 7-9 -> 3 bars
  • 10+ -> 4 bars
Great job!
Suggestion: get rid of the "Sent/Received" tab and keep just "All Transactions", "Sent" and "Received". Generated coins could be considered "received", you just change the Type to make it clear the difference.
This would be an improvement; however, I don't like the tabs at all.

Ideally it would be best to have a more extensive filter system; things like this should be possible
  • show me transactions between 28/04/2010 and 28/06/2010
  • show all transactions larger than 1.00 bitcoins
  • show all transactions received with/sent to address XX

But I'm not entirely sure how to implement this without making it too complex and user-unfriendly. So a query language is out of the question :-)

Maybe add combo boxes in the header row like in spreadsheets?
I think it would be better to have the type column right-aligned, because of the way it reads. (type's text makes more sense with an adress next to it.)
May be true. Though right-aligned text columns might look weird. I'll give it a try.



Title: Re: Bitcoin-Qt [user input needed]
Post by: kripz on June 28, 2011, 12:55:42 PM
I was using 0.3.22 prior. made a backup of my wallet. tried this. went back to 0.3.22 and my wallet is corrupt. put my old wallet back and still wont work. now im forced to use this?


Title: Re: Bitcoin-Qt [user input needed]
Post by: dan_a on June 28, 2011, 02:04:48 PM
I've had a quick first go at compiling a Windows version, and I'm getting errors (as expected) about missing header files.  Some of them I can guess, but others I could do with pointers as to what I'll need to install.

This list can also work as pointers for people wanting to do their own compilation.

Missing FileSource
openssl/*openssl (http://blog.simpleit.us/2010/05/30/enabling-openssl-for-qt-c-on-windows/)
db_cxx.hBDB (http://forums.oracle.com/forums/thread.jspa?threadID=1018347)
boost/*libboost
sys/resource.h, net/if.h, ifaddrs.hI think there are Windows equivalents (ref) (http://www.len.ro/2010/06/programmatically-get-the-mac-address-in-c/) - can someone confirm?
netdb.h, arpa/inet.h, sys/socket.hUse winsock.h instead (http://tangentsoft.net/wskfaq/articles/bsd-compatibility.html)
sys/resource.h, net/if.h, ifaddrs.h, netdb.h, arpa/inet.h, sys/socket.hEdit headers.h line 61 (and others) to read "#if defined (WIN32) || defined (WIN64)"

There are many other errors too, but I suspect a lot will go when I've got the right libraries installed.


Title: Re: Bitcoin-Qt [user input needed]
Post by: dan_a on June 28, 2011, 03:44:40 PM
For anyone else trying to do a Windows build:
Compiling libboost isn't as easy as it could be.  After downloading the sources, edit bootstrap.bat and change the lines
Quote
call .\build.bat > ..\..\..\bjam.log
and
Quote
set toolset=msvc

to read

Quote
call .\build.bat gcc > ..\..\..\bjam.log
and
Quote
set toolset=gcc


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 28, 2011, 03:53:27 PM
I was using 0.3.22 prior. made a backup of my wallet. tried this. went back to 0.3.22 and my wallet is corrupt. put my old wallet back and still wont work. now im forced to use this?
This was in the README :/
Quote
Berkely DB version warning

A warning for people using the static binary version of Bitcoin (tl;dr: Berkely DB databases are not forward compatible).

The static binary version of Bitcoin is linked against libdb4.7 or libdb4.8 (see also this Debian issue).

Now the nasty thing is that databases from 5.X are not compatible with 4.X.

If the globally installed development package of Berkely DB installed on your system is 5.X, any source you build yourself will be linked against that. The first time you run with a 5.X version the database will be upgraded, and 4.X cannot open the new format. This means that you cannot go back to the old statically linked version without significant hassle!
You can go back but you'll have to build it from source and link against the same berkelydb...


Title: Re: Bitcoin-Qt [user input needed]
Post by: caveden on June 28, 2011, 03:58:12 PM
Nice to see such improvements! Great work!

I'll suggest a change that I think would make some newbies understand bitcoin addresses faster: remove the last selected address from the main window. Make the user always have to click somewhere to open the list of addresses, even if it only has one.

I think that would be good because frequently I've seen people who think that address which is being shown there is the bitcoin addresses of theirs. Like if there were only one, as a bank account number. This happens frequently.

By not having this one address on the main page, they will have to search it somewhere else, and there they will see that there is space for an entire list, with buttons to "create new" and all that.


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 28, 2011, 04:19:45 PM
I think that would be good because frequently I've seen people who think that address which is being shown there is the bitcoin addresses of theirs. Like if there were only one, as a bank account number. This happens frequently.
Hm you have a point. On the other hand I think it's very useful to have an address on the main page, and you can quickly copy it and give it to someone.

I propose an alternative: instead of having a "New..." button next to the address, make it an "Add..." button (with tooltip "Add new receiving address"). This makes it clear that the old address is not being replaced.

And maybe change "Your Bitcoin address" to "Current Bitcoin address"?

Or change it to a combo box if there are multiple receiving addresses, so you can directly select which default address you want? That's probably most clear...



Title: Re: Bitcoin-Qt [user input needed]
Post by: caveden on June 28, 2011, 04:31:19 PM
Hm you have a point. On the other hand I think it's very useful to have an address on the main page, and you can quickly copy it and give it to someone.

The recommended way to use bitcoin is by creating a new address for each receipt. Somebody following this practice will already have to click a button to generate a new address in a new window. In this window it's already possible to copy it to the clipboard.
I don't think the behavior of not following this practice should be facilitated by the client, as it is today, by making the last address there, available to be copied and reused.

Or change it to a combo box if there are multiple receiving addresses, so you can directly select which default address you want? That's probably most clear...

Wouldn't a combo become too big eventually? Anyway, if it is easy to filter by the address label I suppose that's not a problem.


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 28, 2011, 04:46:18 PM
The recommended way to use bitcoin is by creating a new address for each receipt.
Hmm yeah you're right, the current GUI doesn't really help in the recommended workflow (and that's what a GUI should do). Maybe add "New receiving address", "Your receiving addresses" to the toolbar and drop the address from the main screen then.
Quote
Wouldn't a combo become too big eventually? Anyway, if it is easy to filter by the address label I suppose that's not a problem.
Good point... edit: so, what workflow would you propose?

User wants to receive coins from someone.

1. He clicks "New address"
2. He enters label for address and presses enter/confirms
3. A window appears from which the new address that can be copied to the clipboard/Drap and dropped.
   He is reminded that the address can be found in the 'Received addresses' list later.

Something like that?


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 28, 2011, 06:28:31 PM
This is what I mean with a filter row, what'd ya think? Better than tabs isn't it?

http://img810.imageshack.us/img810/2706/filterrow.png (http://img810.imageshack.us/i/filterrow.png/)

This allows building basic filters:
  • Date column: allows selecting "All", "Today", "This week", "This month", "Range..."
  • Type column: allows selecting "Received from", "Sent to", "To yourself", "Generated", "Other"
  • Address column: type whole or partial address
  • Amount column: enter minimum size of transaction

I'm also going to add a "clear filter" broom button to the right.

Note that this is just a prototype still, please let me know your ideas and comments before I start implementing.


Title: Re: Bitcoin-Qt [user input needed]
Post by: caveden on June 29, 2011, 08:33:54 AM
so, what workflow would you propose?

User wants to receive coins from someone.

1. He clicks "New address"
2. He enters label for address and presses enter/confirms
3. A window appears from which the new address that can be copied to the clipboard/Drap and dropped.
   He is reminded that the address can be found in the 'Received addresses' list later.

Something like that?

That sounds cool. Maybe the window in step 3 could be the same window of the total list of addresses, with the new one selected.


Title: Re: Bitcoin-Qt [user input needed]
Post by: caveden on June 29, 2011, 08:35:36 AM
This is what I mean with a filter row, what'd ya think? Better than tabs isn't it?

Yes, definitively!

Thank you for your contributions to the project, it's getting better. :)


Title: Re: Bitcoin-Qt [user input needed]
Post by: dan_a on June 29, 2011, 10:05:09 AM
I've hit a problem I haven't been able to solve yet in the Windows build.  Can anyone help?

I have the same problem building that Jaromil has here (http://bitcoinstats.com/irc/bitcoin-dev/logs/2011/05/10/15#l515306).

The solution for that is to remove "-l." from configure.ac
What is the equivalent with the QT SDK?


Title: Re: Bitcoin-Qt [user input needed]
Post by: XIU on June 29, 2011, 12:04:35 PM
This is what I mean with a filter row, what'd ya think? Better than tabs isn't it?

http://img810.imageshack.us/img810/2706/filterrow.png (http://img810.imageshack.us/i/filterrow.png/)

This allows building basic filters:
  • Date column: allows selecting "All", "Today", "This week", "This month", "Range..."
  • Type column: allows selecting "Received from", "Sent to", "To yourself", "Generated", "Other"
  • Address column: type whole or partial address
  • Amount column: enter minimum size of transaction

I'm also going to add a "clear filter" broom button to the right.

Note that this is just a prototype still, please let me know your ideas and comments before I start implementing.


Nice work, would it be possible to add "BTC" to the balance? And will the amount column also work for the sent (negative) amounts?


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 29, 2011, 12:29:50 PM
That sounds cool. Maybe the window in step 3 could be the same window of the total list of addresses, with the new one selected.
Yeah, indeed, why not.
The solution for that is to remove "-l." from configure.ac
What is the equivalent with the QT SDK?
I'm not sure. It seems to be automatically added. Multiple times, even, looking at makefile  ::)

INCPATH       = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/json -Isrc/cryptopp -Isrc/qt -I. -I.

Nice work, would it be possible to add "BTC" to the balance? And will the amount column also work for the sent (negative) amounts?
I've added BTC to the balance. That'd indeed more clear.

Yes, the amount column uses the absolute amount and shows the transactions larger than that. If you want to select on received/sent, you can select with the 'Type' column.

It's not possible to search for transactions smaller than a certain amount. I'm not sure whether this is useful anyway, but it wouldn't fit into this interface to add a lower as well as an upper bound.


Title: Re: Bitcoin-Qt [user input needed]
Post by: XIU on June 29, 2011, 01:02:29 PM
Nope, was just talking about using absolute values, so that would be perfect :)


Title: Re: Bitcoin-Qt [user input needed]
Post by: zwierzak on June 29, 2011, 08:12:42 PM
Hi,

I made some changes in BitCoin-Qt to support FreeDesktop Notifications (like KNotify in KDE4, libnotify in Gnome or osd-notify in Ubuntu). I think that they are a lot better then standard Qt messages and they're great integrating with system. If you don't read them now they will be stored for later (in KDE4). Only dependency is Qt-DBus, so we don't need in system kdelibs or libnotify. If your system don't support FreeDesktop Notify (you don't have daemon or you are using Windows) it will use at first Qt Tray messages and than QMessageBox.

Known issues:
- text is limited to 105 characters (probably limit in KNotify), so I need to made some possibility to read whole message,
- icons are hardcoded because DBus can't send icons' objects, it's require icon's path, which don't exists when we don't have installed program or we use Qt resources (they are inside binary file). I used Oxygen icons, but in future I will patch it to get icons from default system theme

Future:
- replace QMessageBox with FreeDesktop Notifications, you can add actions to notify, so they can replace QMessageBox in 100%, problem are asynchronous answers

Some screenshots:
http://img199.imageshack.us/img199/8586/bitcoinqt1.png (http://img199.imageshack.us/i/bitcoinqt1.png/)
http://img850.imageshack.us/img850/2773/bitcoinqt2.png (http://img850.imageshack.us/i/bitcoinqt2.png/)
http://img29.imageshack.us/img29/905/bitcoinqt3.png (http://img29.imageshack.us/i/bitcoinqt3.png/)

If you're interested in my fork that go ahead and download it form my GitHub:
https://github.com/zwierzak/bitcoin-qt

When I finish my modification I'm going to push this changes to official repository of BitCoin-Qt, but not now. I must repair most annoying issues. Also I found some crashes in original program, which I will try to fix.

To encourage me to continue my work don't affraid to send some tips to my address:
1L7AeokogyuXGmUrx9SRTNhRPzYcmmghdo


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 29, 2011, 08:58:20 PM
zwierzak: cool. send a pull request once you think it's stable

I'm not sure that replacing *all* message boxes with notifications is a good idea, but for errors and notifications coming from the daemon/network thread it's a good thing.

However, for dialog boxes resulting from direct user interaction I'm not sure replacing it with a notification is how it's supposed to be (for example, in your last screenshot you use a notification to ask for fee confirmation)

Edit: Filter row has been committed now. Everything should work except for "Date -> Range...".


Title: Re: Bitcoin-Qt [user input needed]
Post by: zwierzak on June 29, 2011, 10:31:34 PM
The last screenshot is standard information from your program. I just rewrite all tray->showMessage to my Notification::instance->notify. For now I have biggest problems with this icons. Temporary I have hardcoded them, but in future they need to be get from system directories.

About replacing all QMessageBox into notify, I also think that it isn't good idea. There are sometimes such situations when user must know that program want answer from him. But many messages can be done my path. For example information about changing status of transaction (from unknown to confirmed).


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 30, 2011, 06:13:16 AM
The last screenshot is standard information from your program. I just rewrite all tray->showMessage to my Notification::instance->notify. For now I have biggest problems with this icons. Temporary I have hardcoded them, but in future they need to be get from system directories.
Indeed, it should install an icon to the system directories anyway as application icon in the menus. Another reason to switch to an autoconf-based build system with a "make install", I guess.

For now we can just use the system default icons as notification.


Title: Re: Bitcoin-Qt [user input needed]
Post by: zwierzak on June 30, 2011, 07:47:28 AM
Indeed, it should install an icon to the system directories anyway as application icon in the menus. Another reason to switch to an autoconf-based build system with a "make install", I guess.

For now we can just use the system default icons as notification.

NO! No autoconf! It is better to use cmake. Like all KDE or rpcminer is using. I had in future plan to take care about it so you can assign me this task. Additionally QtCreator also support it.


Title: Re: Bitcoin-Qt [user input needed]
Post by: dan_a on June 30, 2011, 12:34:06 PM
I'm still trying to get the Windows build working.  If anyone's able to answer this (http://bitcoinstats.com/irc/bitcoin-dev/logs/2011/06/30/9#l1175982) then it would be really helpful.

Current status: 1 build error which I think is due to the old version of BDB which I'm using (I had trouble compiling BDB under Windows so I found a pre-compiled version and used that.)  Leaving out the 2 header files which are causing a problem for me might have knock-on effects though so I don't think its as close to working as it looks.


Title: Re: Bitcoin-Qt [user input needed]
Post by: zwierzak on June 30, 2011, 01:19:23 PM
I'm still trying to get the Windows build working.  If anyone's able to answer this (http://bitcoinstats.com/irc/bitcoin-dev/logs/2011/06/30/9#l1175982) then it would be really helpful.

Current status: 1 build error which I think is due to the old version of BDB which I'm using (I had trouble compiling BDB under Windows so I found a pre-compiled version and used that.)  Leaving out the 2 header files which are causing a problem for me might have knock-on effects though so I don't think its as close to working as it looks.
Did you try to build using just mingw or cygwin instead of MS VS?


Title: Re: Bitcoin-Qt [user input needed]
Post by: dan_a on June 30, 2011, 01:28:02 PM
Did you try to build using just mingw or cygwin instead of MS VS?

I've only tried mingw so far as it's integrated with QT Creator.  As I understand it there can be big problems trying to link libraries compiled by MS VS to a program being compiled in mingw (I'm not an expert on Windows type stuff, but nobody else seemed to be actively trying...)


Title: Re: Bitcoin-Qt [user input needed]
Post by: zwierzak on June 30, 2011, 01:57:31 PM
Mingw is generating libraries for Windows, so you can use without problem from VS in mingw or from mingw in VS.


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on June 30, 2011, 02:09:54 PM
NO! No autoconf! It is better to use cmake. Like all KDE or rpcminer is using. I had in future plan to take care about it so you can assign me this task. Additionally QtCreator also support it.
The problem with qmake is that it is not intelligent enough to handle changes in library names (common with boost) and doesn't offer installation.

cmake, on the other hand, yes that might be a good choice because it can also generate native Visual C++ / XCode build files.

I'm not a that much of a fan of autotools either.

Mingw is generating libraries for Windows, so you can use without problem from VS in mingw or from mingw in VS.
You can link from mingw to C libraries compiled with Visual C. C++ doesn't work because it uses a different ABI. Or at least that used to be the case.


Title: Re: Bitcoin-Qt [user input needed]
Post by: zwierzak on June 30, 2011, 02:33:49 PM
NO! No autoconf! It is better to use cmake. Like all KDE or rpcminer is using. I had in future plan to take care about it so you can assign me this task. Additionally QtCreator also support it.
The problem with qmake is that it is not intelligent enough to handle changes in library names (common with boost) and doesn't offer installation.

cmake, on the other hand, yes that might be a good choice because it can also generate native Visual C++ / XCode build files.

I'm not a that much of a fan of autotools either.
What about qconf? Project from Psi developers.

If you're interested in good example of using CMake with bitcoin sources you can look at sources of rpcminer. It have fork of Bitcoin with CMake.


Title: Re: Bitcoin-Qt [user input needed]
Post by: zwierzak on June 30, 2011, 11:28:02 PM
Hmmm, I have no idea, why sometimes Knotify accepts longer messages. Here are some examples of receiving notify:
http://img708.imageshack.us/img708/6855/bitcoinqt4.png (http://img708.imageshack.us/i/bitcoinqt4.png/)
http://img59.imageshack.us/img59/6594/bitcoinqt5.png (http://img59.imageshack.us/i/bitcoinqt5.png/)


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on July 01, 2011, 05:11:13 AM
What about qconf? Project from Psi developers.

If you're interested in good example of using CMake with bitcoin sources you can look at sources of rpcminer. It have fork of Bitcoin with CMake.
Thanks, I'll take a look at that. As Qt Creator supports it it'd probably be the best bet. I really hate fooling around with m4 scripts as with autoconf, the only reason I mentioned that is because the mainline client wants to switch to it.  Maybe we should do a post to the mailing list promoting cmake instead of automake?

...

I'm not so happy with the current address book window;

http://img24.imageshack.us/img24/6682/screenshotebo.png (http://img24.imageshack.us/i/screenshotebo.png/)

Especially the action buttons at the bottom of the window seem to be unintuitive to me; usually, buttons at the bottom apply to the entire dialog box, not items in a list.

Can someone more versed on sane UI design comment on this? Would it make more sense to put the buttons elsewhere?



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Mike Hearn on July 01, 2011, 11:14:09 AM
I'd suggest having two edit boxes that reflect the contents of the currently selected row. Changing the contents of the edit box changes the table.

To add a new row, there could be a "ghost row" at the top. Clicking on it makes the edit boxes empty. Setting them to something creates a new row. Note that this would allow invalid rows (eg empty address), but that's OK, they can just be ignored in the rest of the code.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: markm on July 01, 2011, 11:45:34 AM
Or edit could be beside the highlighted row and new address be beside the ghost row, which in the image provided seems to be the bottom rather than the top. (It should be wherever the newest would be, so top or bottom depending on whether displaying oldest or newest at top).

Copy to clipboard tends in any case to familiarly be related to something that is highlighted, at least in Windows and Linux, I don't know how Mac does it. So maybe that need not move, often I have seen Windows users go to some menu in upper left of their screen to find a copy/cut/paste menu so surely they are used to it not having to be right next to the highlighted thing it is to apply to.

-MarkM-


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Danube on July 01, 2011, 03:09:59 PM
In the main window there are after the addresses the addressbook's aliases in paretheses. How about only writing the aliases and displaying the related addresses on small pop up tip tool, when the mouse hovers over the alias? Or at least exchange the order of the information to "alias (address)"?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: dan_a on July 01, 2011, 03:17:22 PM
Is there a reason why this project isn't done as a fork of bitcoin on github?  It seems to me that it would be easier to integrate changes from the core of the reference client if it was.

(By the way, that's intended as a respectful question and not a criticism just in case it comes across that way.)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 01, 2011, 03:32:49 PM
To add a new row, there could be a "ghost row" at the top. Clicking on it makes the edit boxes empty. Setting them to something creates a new row. Note that this would allow invalid rows (eg empty address), but that's OK, they can just be ignored in the rest of the code.
Ok good idea. The editing could even happen inline in the table, so that separate edit boxes are not needed.
Combined with a ghost row that would allow removing two of the buttons.

Or edit could be beside the highlighted row and new address be beside the ghost row, which in the image provided seems to be the bottom rather than the top. (It should be wherever the newest would be, so top or bottom depending on whether displaying oldest or newest at top).
The list is not sorted by creation date but by label or address. So the ghost row could be anywhere. On top would make the most sense IMO, as the top row is visible when the window opens.

In the main window there are after the addresses the addressbook's aliases in paretheses. How about only writing the aliases and displaying the related addresses on small pop up tip tool, when the mouse hovers over the alias? Or at least exchange the order of the information to "alias (address)"?
I've changed the order to "Label (address...)". Indeed looks better. As you can have multiple addresses with the same label, completely removing the address is not possible.

Also some people have suggested that they want to see the addresses in any case; to see whether they have the right one.

Is there a reason why this project isn't done as a fork of bitcoin on github?  It seems to me that it would be easier to integrate changes from the core of the reference client if it was.
It was originally not meant as a fork of the mainline bitcoin. In the beginning I wasn't sure whether to link it directly or go through RPC. I'm not sure whether it is still possible to make it a fork.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: TiagoTiago on July 01, 2011, 06:06:31 PM
Two suggestions:

First, how about making the transaction history collapsible, and hidden by default, showing just a dashboard thingy when collapsed; the dashboard would should how much money was sent, how much money received and the current balance, with optionally also displaying the the unconfirmed amounts for each one of those as well as the what each value would be if you add up the unconfirmed transfers to the confirmed (perhaps even allowing people to specify which of those they wanna show, and perhaps even a compact mode showing just the currently avaiable total (with the count of unconfirmed transactions shown in the statusbar or somthing, and when clicked it gets expanded to show the unconfirmed transfers)



And regarding the block count display, how about showing somthing like 123456/234567 (and 123456/? when the current total count is unknown) ?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 01, 2011, 06:17:49 PM
First, how about making the transaction history collapsible, and hidden by default, showing just a dashboard thingy when collapsed;
Yes, I intend to do something like this. The client would have tabs "overview" (open by default) "transaction history" (as it is now), "address book" and "receiving addresses".
Quote
And regarding the block count display, how about showing somthing like 123456/234567 (and 123456/? when the current total count is unknown) ?
Yep that would be nice. This would require a change to the core client code though, as it does not currently keep track of the total number of blocks as received from other nodes:

https://forum.bitcoin.org/index.php?topic=17485.0


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: tschaboo on July 02, 2011, 02:54:59 AM
Hello John, hello everybody!

I found this thread a few days ago and finally had the time to build it and try it (on testnet). I'm trying to dump all my thoughts about it here ... sorry for being so unorganized.

1.) John & Co: thanks for doing this. I think the bitcoin-community is now huge enough to deserve a better GUI  ;)
2.) Even though I'm a Gnome user I think Qt is the right choice for the GUI, it's relatively high-level and allows to write readable code. And the platfom-support is very good.
3.) I'm not that experienced with build-systems but my colleages advised me to only use autotools if it's really necessary or you are already fluent in using them, otherwise there are less frustrating options, cmake was mentioned explicitly; autotools was called obsolete. Maybe we should ask the core developers, why they want to use autotools and if they considered alternatives.
4.) Like others here, I also welcome the removal of this irritating "Your bitcoin address:" section, the solution here is better. But I think it's still suboptimal, because of the redundancy between address book and receiving addresses. My proposal: remove "receiving addresses" and add "Receive coins" right next to "Send coins". When the user clicks "Receive coins" you show a pop-up saying [1] "Your wallet may have an unlimited amount of receiving addresses. It's recommended to hand out a different address to everyone sending you coins, because the address is usually the only way to determine who sent you the coins. You might even want to create a new address for every transaction. Addresses are never deleted, although you may delete it from the address book, if you don't plan to use it anymore. If you later receive coins to a hidden address it will show again in the address book automatically.". Below is a checkbox "Don't show again" and an OK-button which brings you right to the receiving tab of the address book.
5.) Like mentioned in 4.) I'd like to have the delete button activated with a tooltip "Delete the selected address from the address book. You will still be able to receive coins to this address". It's clear to me that this new workflow will need a change in the backend, namely having the possibility to set an address record as "hidden" in the database. But IMHO this is worth the change.
6.) I think the "Set as default receiving address" is obsolete now? If not, please tell me what it does. (And it probably should be disabled by default).
7.) Dialog "Edit receiving address": Address shouldn't be a text field if you can't actually change it? Not sure about that though.
8.) Dialog Address Book, Tab Sending:
   a.) "Copy to Clipboard", "Edit" and "Delete" should be greyed out, if no address is selected.
   b.) If you add a new entry without giving the address (just the label) it says: "The address is already in the address book.". I think it should not even allow an entry without a valid address.
9.) Send Coins dialog:
   a.) Having a separate entry field for the [insert missing word] and [again] is a very good idea. It might save some trouble. I also noticed, that pressing "." or "," will send you to the second box. Excellent!
   b.) I'd like to suggest a different behavior for the "Add to address book"-shortcut. Remove the checkbox and the text "Add to address book". Simply add the text "Label:" right below "Pay To". The text-field for the address book entry stays disabled until the user inputs (or pastes, or chooses from address book) some address above. Now, if the address is found in the address book, just display the label from the address book. The user has the option to not touch it, or to correct the label which is automatically saved when pressing Send. If it wasn't found it shows a placeholder text with something like "Optional: Enter a label for this address to add it to your address book." If the user enters something it gets in the address book, if not not.
10.) You are giving instructions in your readme how to compile it in ubuntu. On a fresh install of Ubuntu 10.04 I needed the following not mentioned packages to get it building: build-essential, libboost-dev, [libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev | libboost-all-dev], libssl-dev and libdb4.8++-dev. Actually it didn't build, because setPlaceholderText in QLineEdit was introduced in Qt4.7 and Ubuntu 10.04 comes with Qt4.6. I commented them out.

Well, that was more to write than I expected. If you made it that far, I'd like to thank you for your attention.  :)
If anything is unclear, please ask. I know I understand my own "english", others might not?

[1] But please translate it to proper english first  :-X


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: tschaboo on July 02, 2011, 03:06:14 AM
Me again ...  ::)

I was thinking more about the sending addresses in the address book and I identified two use-cases that need a different handling:

A.) In my address book I want to have addresses of my other wallets, of my girlfriend, my children, etc. I can send coins to them repeatedly and I see whom I've sent coins to in the transaction list.

B.) I'm buying something with my coins. I'm getting an address for this transaction. I will never need it again -> it shouldn't show up in the address book. But still, I want to see in the transaction list, what I spent those coins for!

This could be implemented using the same "hidden" flag as proposed for the receiving addresses.

I'm curious to read your comments.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 02, 2011, 08:26:03 AM
Thanks,
2.) Even though I'm a Gnome user I think Qt is the right choice for the GUI, it's relatively high-level and allows to write readable code. And the platfom-support is very good.
Indeed, and Qt looks native on both Gnome and KDE.
Quote
3.) I'm not that experienced with build-systems but my colleages advised me to only use autotools if it's really necessary or you are already fluent in using them, otherwise there are less frustrating options, cmake was mentioned explicitly; autotools was called obsolete. Maybe we should ask the core developers, why they want to use autotools and if they considered alternatives.
I've pitched CMake in the mailing list. I wonder what the reply will be \o/ Some people might be annoyed though because they went through all the trouble to port it to autotools which is no small feat. On the other hand, Mac/Windows was problematic with autotools.
Quote
My proposal: remove "receiving addresses" and add "Receive coins" right next to "Send coins".
This sounds like a good plan. I've renamed "Receiving addresses" to "Receive coins". The explanation at the top of the "Receiving addresses" tab should already be a guide to what people should do.
Quote
When the user clicks "Receive coins" you show a pop-up saying [1] "Your wallet may have an unlimited amount of receiving addresses. It's recommended to hand out a different address to everyone sending you coins, because the address is usually the only way to determine who sent you the coins. You might even want to create a new address for every transaction. Addresses are never deleted, although you may delete it from the address book, if you don't plan to use it anymore. If you later receive coins to a hidden address it will show again in the address book automatically.".
Yes it may be wise to add some one-time warnings/popups for such things.
Quote
I'd like to have the delete button activated with a tooltip "Delete the selected address from the address book. You will still be able to receive coins to this address". It's clear to me that this new workflow will need a change in the backend, namely having the possibility to set an address record as "hidden" in the database. But IMHO this is worth the change.
The "hidden address" thing using a flag is a good idea, both for receiving and sending addresse (for the reasons that you mention). We'd have to be really sure that this is safe, though. I'll have to think about it a bit.

Also, there'd be no way to recover an address once deleted, unless we also add a "Show all addresses" tick.
Quote
6.) I think the "Set as default receiving address" is obsolete now? If not, please tell me what it does. (And it probably should be disabled by default).
I think so. I don't really understand the default receiving address stuff either. I don't think it's used anywhere in the Bitcoin core code. I need to check this and if that's the case, completely nuke it.
Quote
7.) Dialog "Edit receiving address": Address shouldn't be a text field if you can't actually change it? Not sure about that though.
It's read-only, so you can see it and copy/paste it. Granted, it could be replaced with a plain label, or made disabled instead of read-only.
Quote
8.) Dialog Address Book, Tab Sending:
   a.) "Copy to Clipboard", "Edit" and "Delete" should be greyed out, if no address is selected.
Yeah...
Quote
  b.) If you add a new entry without giving the address (just the label) it says: "The address is already in the address book.". I think it should not even allow an entry without a valid address.
It should indeed check addresses for validity before adding to address book.
Quote
  b.) I'd like to suggest a different behavior for the "Add to address book"-shortcut. Remove the checkbox and the text "Add to address book". Simply add the text "Label:" right below "Pay To". The text-field for the address book entry stays disabled until the user inputs (or pastes, or chooses from address book) some address above. Now, if the address is found in the address book, just display the label from the address book. The user has the option to not touch it, or to correct the label which is automatically saved when pressing Send. If it wasn't found it shows a placeholder text with something like "Optional: Enter a label for this address to add it to your address book." If the user enters something it gets in the address book, if not not.
The checkbox is indeed unnecessary. Leaving the label field empty could accomplish the same.
Quote
10.) You are giving instructions in your readme how to compile it in ubuntu. On a fresh install of Ubuntu 10.04 I needed the following not mentioned packages to get it building: build-essential, libboost-dev, [libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev | libboost-all-dev], libssl-dev and libdb4.8++-dev. Actually it didn't build, because setPlaceholderText in QLineEdit was introduced in Qt4.7 and Ubuntu 10.04 comes with Qt4.6. I commented them out.
I'll update the instructions... I've also changed the placeholders to only be compiled for Qt 4.7+.



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: huayra.agera on July 02, 2011, 07:56:51 PM
Clearly I'm a linux noob, is there a way for this to be on Windows? If I see this right, Qt is the same language used for Nokia apps? Thanks!


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Bitsky on July 02, 2011, 08:45:36 PM
Can't wait to see an installer for Windows for this GUI. It looks great.

Some suggestions:
- Add sendmany support
- Make it possible to select the sender address.
- Import/Export single addresses (for merging wallets)
- Require a password to open a wallet (encrypted wallet)
- Require a password to make a transaction
- Add a button that converts the balance to a pre-selected currency
- Option to delete an address (for the sake of overview, or don't auto-create them)
- Make it a light client (download headers only, not the complete chain)
- Display the label instead of the address in the main list

I'm aware that some suggestions belong more to the core development; but if at some point those two projects are merged, the GUI would have already taken care for that.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: tschaboo on July 03, 2011, 12:27:58 AM
Hello John,

thanks for your comments.

Quote
10.) You are giving instructions in your readme how to compile it in ubuntu. On a fresh install of Ubuntu 10.04 I needed the following not mentioned packages to get it building: build-essential, libboost-dev, [libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev | libboost-all-dev], libssl-dev and libdb4.8++-dev. Actually it didn't build, because setPlaceholderText in QLineEdit was introduced in Qt4.7 and Ubuntu 10.04 comes with Qt4.6. I commented them out.
I'll update the instructions... I've also changed the placeholders to only be compiled for Qt 4.7+.

Regarding the build instructions: you can remove "libboost-all-dev" as it was meant as an alternative to installing the smaller packages. -all-dev includes them.

I pulled your changes but it doesn't compile because of another occurence of setPlaceholderText in the file ui_sendcoinsdialog.h generated from sendcoinsdialog.ui (addAsLabel).


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 03, 2011, 05:45:16 AM
I pulled your changes but it doesn't compile because of another occurence of setPlaceholderText in the file ui_sendcoinsdialog.h generated from sendcoinsdialog.ui (addAsLabel).
This doesn't make sense. Why is that code generated in a Qt version that doesn't support it?

I cannot put #ifdefs in generated code, obviously, so I don't see a way to solve this :/

Seems the problem is more common, it results from a mixup between uic version and Qt header version:
http://permalink.gmane.org/gmane.comp.kde.users.kdevelop/6629

Edit: I'll move all setPlaceholderText to application code instead of .ui scripts so I can guard them with #ifdef...



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 03, 2011, 08:17:52 AM
Started working on windows version, by popular request.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 03, 2011, 10:41:13 PM
Windows build instructions:

  • Get the latest version of bitcoin-qt from github
  • Get the QT windows SDK http://qt.nokia.com/downloads/sdk-windows-cpp and install it. You don't need the Symbian stuff, just the desktop Qt.
  • Download and extract the dependencies ( http://download.visucore.com/bitcoin/qtgui_deps_1.zip *) and copy the contents of "deps" to "X:\QtSDK\mingw", replace X:\ with the location where you installed the Qt SDK
  • Open the .pro file in QT creator and build as normal

Please help testing!

* GPG signature signed with the key in my undersign can be found here: http://download.visucore.com/bitcoin/qtgui_deps_1.zip.sig . You can of course also build the dependencies (openssl, boost, dbcxx) yourself.




Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: gigabytecoin on July 04, 2011, 10:43:35 AM
Started working on windows version, by popular request.


AWESOME!

Thank you.

Gorgeous work by the way, keep it up!


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Bitsky on July 04, 2011, 06:34:15 PM
Windows build instructions:
  • Get the latest version of bitcoin-qt from github
  • Get the QT windows SDK http://qt.nokia.com/downloads/sdk-windows-cpp and install it. You don't need the Symbian stuff, just the desktop Qt.
  • Download and extract the dependencies ( http://download.visucore.com/bitcoin/qtgui_deps_1.zip *) and copy the contents of "deps" to "X:\QtSDK\mingw", replace X:\ with the location where you installed the Qt SDK
  • Open the .pro file in QT creator and build as normal

Please help testing!

* GPG signature signed with the key in my undersign can be found here: http://download.visucore.com/bitcoin/qtgui_deps_1.zip.sig . You can of course also build the dependencies (openssl, boost, dbcxx) yourself.
Sadly the QT SDK cannot be installed on a Windows prior to XP, and in XP I don't have the 8GB free which it needs.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: kwukduck on July 05, 2011, 01:26:52 PM
Looking really good.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 05, 2011, 03:24:03 PM
Thanks everyone!

Sadly the QT SDK cannot be installed on a Windows prior to XP, and in XP I don't have the 8GB free which it needs.
You can also use MinGW+MSys on more limited systems (do qmake && make). In addition to the deps that I provide, you'll also need to get the Qt libraries/includes.

Or cross-compile from Linux but that's more involved.

I might eventually upload an executable installer directly, but this is better for now as the state of the code is still very much in flux and there are no official releases.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 05, 2011, 08:18:16 PM
Tab-ification of the UI, phase 1

http://img580.imageshack.us/img580/1564/tab1d.png (http://img580.imageshack.us/i/tab1d.png/)

http://img825.imageshack.us/img825/7559/tab2u.png (http://img825.imageshack.us/i/tab2u.png/)

The overview tab should have:

  • Balance (confirmed and unconfirmed)
  • Last N received transactions
  • Last N sent transactions

Also, the address book, list of received addresses etc might be better as tabs instead of dialogs as well.



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: drawoc on July 05, 2011, 08:48:01 PM
Shouldn't the Generate transactions that haven't matured yet still display the clock symbol?

Anyway, the tabs are nice. Keep up the good work!


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 05, 2011, 09:35:48 PM
Shouldn't the Generate transactions that haven't matured yet still display the clock symbol?
Hm I agree that'd make sense... I was thinking of using different icons for that (confirmed but not matured), but that isn't really needed and probably overcomplicated :)

Done;

- Generated transactions don't have spam in the "Address" column anymore and show a clock depending on their maturity.

- Also I call them "mined" now instead of "generated", as that's the going word for it now:

http://img40.imageshack.us/img40/5387/screenshotws.png (http://img40.imageshack.us/i/screenshotws.png/)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Pieter Wuille on July 07, 2011, 08:58:26 AM
Quote
3.) I'm not that experienced with build-systems but my colleages advised me to only use autotools if it's really necessary or you are already fluent in using them, otherwise there are less frustrating options, cmake was mentioned explicitly; autotools was called obsolete. Maybe we should ask the core developers, why they want to use autotools and if they considered alternatives.
I've pitched CMake in the mailing list. I wonder what the reply will be \o/ Some people might be annoyed though because they went through all the trouble to port it to autotools which is no small feat. On the other hand, Mac/Windows was problematic with autotools.
The discussion seems to have died out. I've bumped the thread.

Quote
Quote
I'd like to have the delete button activated with a tooltip "Delete the selected address from the address book. You will still be able to receive coins to this address". It's clear to me that this new workflow will need a change in the backend, namely having the possibility to set an address record as "hidden" in the database. But IMHO this is worth the change.
The "hidden address" thing using a flag is a good idea, both for receiving and sending addresse (for the reasons that you mention). We'd have to be really sure that this is safe, though. I'll have to think about it a bit.
Currently, it's possible for (receiving) addresses to not be in the address book at all. Those are considered change addresses by the wallet interface. I don't think that's exactly what you need, since deleting an address on which you've received money would confuse the user interface.

Quote
Quote
6.) I think the "Set as default receiving address" is obsolete now? If not, please tell me what it does. (And it probably should be disabled by default).
I think so. I don't really understand the default receiving address stuff either. I don't think it's used anywhere in the Bitcoin core code. I need to check this and if that's the case, completely nuke it.
The current proposed wallet encryption patch will use the default address for generations, if no fresh pool key is available. I doubt it's necessary to show this in the user interface, though. It seems like a legacy way of showing people "this is the address you should use".

Quote
Quote
  b.) If you add a new entry without giving the address (just the label) it says: "The address is already in the address book.". I think it should not even allow an entry without a valid address.
It should indeed check addresses for validity before adding to address book.
See pull request 358.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 07, 2011, 12:28:09 PM
The discussion seems to have died out. I've bumped the thread.
Thanks!
Quote
Currently, it's possible for (receiving) addresses to not be in the address book at all. Those are considered change addresses by the wallet interface. I don't think that's exactly what you need, since deleting an address on which you've received money would confuse the user interface.
It's close, but not exactly what is needed.

Effectively, the only thing it has to do is hide the address in the UI. Internally, nothing special has to happen, and the address should still be in the address book for lookup purposes.
Quote
The current proposed wallet encryption patch will use the default address for generations, if no fresh pool key is available. I doubt it's necessary to show this in the user interface, though. It seems like a legacy way of showing people "this is the address you should use".
OK, seems it was a good idea to hide it from the user interface then.

Update:
  • CSV export of the transaction history has been implemented. Up next: address book export.



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: kripz on July 08, 2011, 03:54:15 AM
Quote
make
/usr/bin/uic-qt4 src/qt/forms/sendcoinsdialog.ui -o ui_sendcoinsdialog.h
/usr/bin/uic-qt4 src/qt/forms/addressbookpage.ui -o ui_addressbookpage.h
/usr/bin/uic-qt4 src/qt/forms/aboutdialog.ui -o ui_aboutdialog.h
/usr/bin/uic-qt4 src/qt/forms/editaddressdialog.ui -o ui_editaddressdialog.h
/usr/bin/uic-qt4 src/qt/forms/transactiondescdialog.ui -o ui_transactiondescdialog.h
/usr/bin/uic-qt4 src/qt/forms/overviewpage.ui -o ui_overviewpage.h
g++ -c -pipe -O2 -fdiagnostics-show-option -Wall -Wno-invalid-offsetof -Wno-unused-variable -Wno-unused-parameter -Wno-sign-compare -Wno-char-subscripts -Wno-unused-value -Wno-sequence-point -Wno-parentheses -Wno-unknown-pragmas -Wno-switch -D_REENTRANT -DQT_GUI -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/json -Isrc/cryptopp -Isrc/qt -I. -I. -o bitcoin.o src/qt/bitcoin.cpp
In file included from src/qt/bitcoin.cpp:8:0:
src/headers.h:43:20: fatal error: db_cxx.h: No such file or directory
compilation terminated.
make: *** [bitcoin.o] Error 1

How to fix? Currently running debian wheezy.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: error on July 08, 2011, 03:55:33 AM
Quote
make
/usr/bin/uic-qt4 src/qt/forms/sendcoinsdialog.ui -o ui_sendcoinsdialog.h
/usr/bin/uic-qt4 src/qt/forms/addressbookpage.ui -o ui_addressbookpage.h
/usr/bin/uic-qt4 src/qt/forms/aboutdialog.ui -o ui_aboutdialog.h
/usr/bin/uic-qt4 src/qt/forms/editaddressdialog.ui -o ui_editaddressdialog.h
/usr/bin/uic-qt4 src/qt/forms/transactiondescdialog.ui -o ui_transactiondescdialog.h
/usr/bin/uic-qt4 src/qt/forms/overviewpage.ui -o ui_overviewpage.h
g++ -c -pipe -O2 -fdiagnostics-show-option -Wall -Wno-invalid-offsetof -Wno-unused-variable -Wno-unused-parameter -Wno-sign-compare -Wno-char-subscripts -Wno-unused-value -Wno-sequence-point -Wno-parentheses -Wno-unknown-pragmas -Wno-switch -D_REENTRANT -DQT_GUI -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/json -Isrc/cryptopp -Isrc/qt -I. -I. -o bitcoin.o src/qt/bitcoin.cpp
In file included from src/qt/bitcoin.cpp:8:0:
src/headers.h:43:20: fatal error: db_cxx.h: No such file or directory
compilation terminated.
make: *** [bitcoin.o] Error 1

How to fix? Currently running debian wheezy.

apt-get install libdb4.8++-dev


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: kripz on July 08, 2011, 04:02:39 AM
Had to install older versions from squeeze


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: error on July 08, 2011, 04:08:01 AM
I'm guessing it's this http://packages.debian.org/wheezy/libdb4.8-dev because qheezy doesnt have libdb4.8++-dev

No, it is definitely libdb4.8++-dev. No idea why it isn't in testing yet.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: kripz on July 08, 2011, 04:08:24 AM
I grabbed the versions from squeeze manually, compiling now, lets see if it works.

EDIT: Doesnt work. Installed libdb4.8* from squeeze. compiled and now it doesnt run.

Quote
EXCEPTION: 22DbRunRecoveryException       
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery       
bitcoin in Runaway exception       

terminate called after throwing an instance of 'DbRunRecoveryException'
  what():  DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
Aborted

Deleted my wallet and still doesnt run.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 08, 2011, 08:27:57 AM
Deleted my wallet and still doesnt run.
There should be no need to delete anything!

Can you try pointing it at a completely new directory using -datadir=<dir>?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Pieter Wuille on July 08, 2011, 09:09:11 AM
Delete the database/ directy and the log files. Those are incompatible between different versions of bdb. The actual dat files are compatible.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: r50zyry5 on July 08, 2011, 01:09:40 PM
Anyone compile that on TinyCore linux ?

Best Regards
r50zyry5


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 08, 2011, 03:51:52 PM
Some further experimentation, display a "freshness" indicator instead of number of blocks, and show the hard numbers only as tooltip.

http://img847.imageshack.us/img847/4397/screenshot3y.png (http://img847.imageshack.us/i/screenshot3y.png/)

http://img535.imageshack.us/img535/6452/screenshotix.png (http://img535.imageshack.us/i/screenshotix.png/)

r50zyry5: I don't know TinyCore Linux, let me know the build instructions /dependency packages if you get it to work so I can include it in the readme


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 08, 2011, 08:48:22 PM
I've added a context menu to the transaction list:

http://img818.imageshack.us/img818/7204/screenshotvu.png (http://img818.imageshack.us/i/screenshotvu.png/)



  • Copy address: copy address for selected transaction to clipboard
  • Copy label: copy label associated to the address for selected transaction to clipboard
  • Edit label: edit the label associated to the address for selected transaction
  • Show details...: show details for transactions (same as double-click)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 09, 2011, 10:14:05 AM
- Add sendmany support
Coming up!


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: hugolp on July 09, 2011, 11:10:36 AM
I tried to compile it and got an error. Under Ubuntu 10.04 LTS, I installed all the dependencies as per the github page, then qmake, then make. This is the result:

Code:
g++ -c -pipe -fstack-protector -O2 -fdiagnostics-show-option -Wall -Wno-invalid-offsetof -Wno-unused-variable -Wno-unused-parameter -Wno-sign-compare -Wno-char-subscripts -Wno-unused-value -Wno-sequence-point -Wno-parentheses -Wno-unknown-pragmas -Wno-switch -D_REENTRANT -DQT_GUI -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/json -Isrc/cryptopp -Isrc/qt -I. -I. -o sendcoinsdialog.o src/qt/sendcoinsdialog.cpp
In file included from src/qt/sendcoinsdialog.cpp:2:
./ui_sendcoinsdialog.h: In member function ‘void Ui_SendCoinsDialog::retranslateUi(QDialog*)’:
./ui_sendcoinsdialog.h:186: error: ‘class QLineEdit’ has no member named ‘setPlaceholderText’
make: *** [sendcoinsdialog.o] Error 1

Maybe the LTS has an older library?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 09, 2011, 12:02:31 PM
Maybe the LTS has an older library?
Yes, older Qt doesn't support placeholder text, and the code generator screws up on this. I moved it to the .cpp inside an #ifdef for Qt4.7+, but it seems some remnant stuck around.

Should be fixed now.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Bitsky on July 09, 2011, 12:44:33 PM
I just wanted to add an idea that popped into my mind.

The longer you use Bitcoin, the more transactions you have (d'uh).

Most will not use only a single address, so over time you'll pile up heaps of addresses. Tagging them sure helps organizing, but adding a folder-like system would improve it even more.

I hope the following list illustrates what I mean:
Code:
[+] Your addresses
    [-] Friends                 
        [-] Bob
    |- 2hgZ3hdhdh2...     0.01
    |- Hudh38dheUw...     0.02
        [+] Jane                 1.20
        [+] Peter                0.74
    [+] Business                12.10
    [+] Freelance work           8.41
    [-] Various
        [+] My website           0.02
        [-] Shopping
            [+] Newegg          -1.33
    [-] eBay
                |- Bought 1     -1.12
                |- Bought 2     -0.08
                |- Bought 3     -1.55
                |- Sold 1       12.98

That way you could sort in your addresses and group them together easily. Basically like on your computer: you don't store everything in a single folder, but use them to organize your files


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: hugolp on July 09, 2011, 03:14:17 PM
Maybe the LTS has an older library?
Yes, older Qt doesn't support placeholder text, and the code generator screws up on this. I moved it to the .cpp inside an #ifdef for Qt4.7+, but it seems some remnant stuck around.

Should be fixed now.

That was it. Im testing it now.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: bitlotto on July 09, 2011, 03:45:41 PM
For the "freshness" part how about:
"Network history xx hour(s) old" and "Network history up to date"
And tooltip
"Downloaded xx of xx total blocks containing history. Last block generated xx minute(s) ago"

Maybe? It may be clearer what's happening.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: kripz on July 10, 2011, 03:24:18 AM
Delete the database/ directy and the log files. Those are incompatible between different versions of bdb. The actual dat files are compatible.

I had to do all that and redownload the block chain, what a PITA.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 10, 2011, 06:40:51 AM
For the "freshness" part how about:
"Network history xx hour(s) old" and "Network history up to date"
And tooltip
"Downloaded xx of xx total blocks containing history. Last block generated xx minute(s) ago"

Maybe? It may be clearer what's happening.
I like that tooltip text, however the total number of block is not possible to get right now without core client changes.  Currently the only thing that is known is the current block number, and the generation date of the last block. The "welcome" message contains the total block height for a client, but that's only sent when connecting to a new node.

And I don't want to make the message in the main UI longer, as I want to reduce text. If you want to make it clearer, please provide better icons :)

Delete the database/ directy and the log files. Those are incompatible between different versions of bdb. The actual dat files are compatible.

I had to do all that and redownload the block chain, what a PITA.
You could also link against the same version of BDB that you used before, saves you the trouble.

I don't know the exact commands for linking against older db-cxx 4.7/4.8 in newer Debian, but if you find out please let me know so build instructions can be updated.



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: alkor on July 12, 2011, 11:05:27 PM
I was able to succesfully build and run on Mac OS X, with the following small modification to bitcoin-qt.pro

Code:
macx:LIBS += -lboost_thread-mt -lboost_system-mt -lboost_filesystem-mt -lboost_program_options-mt

http://img198.imageshack.us/img198/1764/screenshot20110712at407.png (http://imageshack.us/photo/my-images/198/screenshot20110712at407.png/)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: alkor on July 12, 2011, 11:16:11 PM
However, I'm getting a few warnings when i start the program

Code:
Object::connect: No such slot TransactionView::transactionDetails() in ../bitcoin-qt/src/qt/bitcoingui.cpp:87
QMetaObject::connectSlotsByName: No matching signal for on_buttonBox_rejected()
Object::connect: No such slot OverviewPage::setBalance(qint64) in ../bitcoin-qt/src/qt/overviewpage.cpp:52
Object::connect:  (receiver name: 'OverviewPage')


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: bitlotto on July 12, 2011, 11:50:29 PM
About the icons:
How about a small analog clock with a green check mark over top for up to date blockchain and a red "x" over the clock for not up to date. And even an hour glass over top if it's downloading. I figured it better represents what's going on. Whether the history is up to date or not. When they have the whole block chain it shows a green check mark. We could even have and hour glass over the clock if it's downloading representing that it's downloading. Animated hourglass would be ideal! Just like the hour glass by many mouse pointers...


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 13, 2011, 06:18:19 AM
About the icons:
How about a small analog clock with a green check mark over top for up to date blockchain and a red "x" over the clock for not up to date.
That's a good idea, but pretty difficult to cramp icons with icons over it into a 16x16 icon, believe me, I tried :) If you come up with something please post it here.
Quote
We could even have and hour glass over the clock if it's downloading representing that it's downloading. Animated hourglass would be ideal! Just like the hour glass by many mouse pointers...
That analogy is not correct as it's always downloading, even when the whole block chain is synced. There's always new blocks and one could come in at any moment. It's a matter of being in sync or not, so the clocks idea is better.

Or do you mean the "initial download" progress bar? During that time, it could indeed show an hourglass.

I was able to succesfully build and run on Mac OS X, with the following small modification to bitcoin-qt.pro
Great, I'll update the build file for mac :)
Quote
http://img198.imageshack.us/img198/1764/screenshot20110712at407.png (http://imageshack.us/photo/my-images/198/screenshot20110712at407.png/)
Can I use that screenshot in the opening post?

Those warnings occur on any OS, and are pretty harmless. It's because I moved some stuff around, I'll fix them shortly.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: alkor on July 13, 2011, 07:29:34 AM
Can I use that screenshot in the opening post?
Absolutely. Feel free to use it anyway you want. If you want more screenshots let me know.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: FatherMcGruder on July 14, 2011, 01:03:59 PM
I just wanted to add an idea that popped into my mind.

The longer you use Bitcoin, the more transactions you have (d'uh).

Most will not use only a single address, so over time you'll pile up heaps of addresses. Tagging them sure helps organizing, but adding a folder-like system would improve it even more.

I hope the following list illustrates what I mean:
Code:
[+] Your addresses
    [-] Friends                 
        [-] Bob
    |- 2hgZ3hdhdh2...     0.01
    |- Hudh38dheUw...     0.02
        [+] Jane                 1.20
        [+] Peter                0.74
    [+] Business                12.10
    [+] Freelance work           8.41
    [-] Various
        [+] My website           0.02
        [-] Shopping
            [+] Newegg          -1.33
    [-] eBay
                |- Bought 1     -1.12
                |- Bought 2     -0.08
                |- Bought 3     -1.55
                |- Sold 1       12.98

That way you could sort in your addresses and group them together easily. Basically like on your computer: you don't store everything in a single folder, but use them to organize your files

How about instead of a folder structure, or in addition to one, the client uses labels. With labels, you can better accommodate contacts who use individual addresses for more than one purpose. What do folks think about the client using Outlook or Thunderbird to manage contacts instead of managing them itself?

Separately, I'd like to see the client have the same functionality as the Block Explorer. Although, that might go beyond the scope of this effort.



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 14, 2011, 07:04:03 PM
Absolutely. Feel free to use it anyway you want. If you want more screenshots let me know.
OK, I've added it, so that I have all the major OSes now.
Quote
How about instead of a folder structure, or in addition to one, the client uses labels. With labels, you can better accommodate contacts who use individual addresses for more than one purpose.
It is not a good idea for someone to use an address for multiple purposes. It's super-easy to generate multiple addresses in that case.

Also, having the same address in multiple 'branches' would mean that the totals don't add up anymore :-)
Quote
What do folks think about the client using Outlook or Thunderbird to manage contacts instead of managing them itself?
Dunno, I like the client to be mostly self-contained, so you can also run it from an USB stick without interfering with the rest of the system.
Quote
Separately, I'd like to see the client have the same functionality as the Block Explorer. Although, that might go beyond the scope of this effort.
I'm open to that, though it'd probably be hidden in an advanced/debug mode.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 16, 2011, 11:49:58 AM
Sendmany support (not yet committed, but UI is done):

http://img200.imageshack.us/img200/5161/screenshotli.png (http://img200.imageshack.us/i/screenshotli.png/)

Recipients (yes -- I see the misspelling now) can be added with the "+" button, and deleted with the "-" buttons (until one is left). By default, one recipient record is shown.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Pieter Wuille on July 16, 2011, 11:55:00 AM
Nice!


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: bitlotto on July 16, 2011, 01:27:58 PM
Examples using green/red clock going with the theme "up to date":

https://i.imgur.com/EJKJ7.png
and
https://i.imgur.com/VUuRd.png


Images in PNG:
https://i.imgur.com/WhR6D.png
https://i.imgur.com/GAdFz.png



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 16, 2011, 05:23:08 PM

Sendmany support is committed now. The whole sending layer was refactored, so please help testing :)

Thanks! What's the licensing?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: bitlotto on July 16, 2011, 06:51:31 PM

Sendmany support is committed now. The whole sending layer was refactored, so please help testing :)

Thanks! What's the licensing?

I release it public domain. I'm just wondering, I used another icon as a guide that was on my computer. Does that mean it has to have the same license something so simple? It's a pretty simple circle with a couple lines? Derived from Ubuntu Humanity which is GPL I believe, so as long as you keep the icon GPL? I was just playing around if you want I can make a new one from scratch that is public domain in case.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 16, 2011, 07:00:10 PM
If it's derived from a GPL icon it's also GPL. For some of the other icons I've also used GPL icon sets (crystal SVG and friends). As long as it can be used in open source software it's OK for now.

Public domain is ofc best but it's almost impossible to find good looking public domain icons.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: bitlotto on July 16, 2011, 07:09:19 PM
If it's derived from a GPL icon it's also GPL. For some of the other icons I've also used GPL icon sets (crystal SVG and friends). As long as it can be used in open source software it's OK for now.

Public domain is ofc best but it's almost impossible to find good looking public domain icons.

Ah good. I looked it up and it is part of Humanity icon theme. GPL. Use it if you want!


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: bitlotto on July 17, 2011, 03:24:08 AM
Edit: Never mind. I misunderstood the keypool a little bit.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 17, 2011, 10:30:32 AM
I agree it's useful to be able to request that number (num spare keys in key pool), but displaying that in a sensible way would be difficult. I've reserved the 'key/lock' symbols in the status bar already for wallet encryption. Until exporting/back-upping is part of the client, it'd be better off in some advanced information pane.  It shouldn't overwhelm new users until they know where it's for.

And I agree with the earlier poster now that there needs to be an animated icon when not up to date, "3 days ago" doesn't show that it is working to get more recent data.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: ghotir on July 17, 2011, 11:38:52 AM
I love the crowdsourcing going on here.
I use a very minimal X environment (I only have libs installed that are necessary for Firefox, gimp, and what's needed for scrotwm)  & even though this is KDE/Qt,  watching it come to life rocks.



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: WakiMiko on July 17, 2011, 11:42:43 AM
I think it's a big flaw that the program generates 100 keys at a time and the user is just to guess when this happens.

It would really help people know that a new backup is needed! Hate to lose some BTC on that 101 key!!

Is that really how the keypool works? I was under the impression that the keypool always maintains a constant number of keys (default 100). So when the user requests a new receiving address, the OLDEST key is taken from the pool and presented to the user, and a NEW key is generated and added to the pool, so that there are always 100 keys in the pool.

Also every time I check this thread bitcoin-qt is looking better and better, thanks for working on this JohnSmith!

We only need to think of more stuff to add to the home tab, it looks a little empty at the moment.

Edit: The recipients should probably be put in some kind of vertically scrollable area. Right now the window resizes when adding more and more recipients, until it is bigger than the screen :)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: bitlotto on July 17, 2011, 02:39:13 PM
And I agree with the earlier poster now that there needs to be an animated icon when not up to date, "3 days ago" doesn't show that it is working to get more recent data.
https://i.imgur.com/v2LP2.gif Maybe?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: bitlotto on July 17, 2011, 02:44:26 PM
Is that really how the keypool works? I was under the impression that the keypool always maintains a constant number of keys (default 100). So when the user requests a new receiving address, the OLDEST key is taken from the pool and presented to the user, and a NEW key is generated and added to the pool, so that there are always 100 keys in the pool.
Hmm. I think you are right.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 17, 2011, 04:10:14 PM
I love the crowdsourcing going on here.
I use a very minimal X environment (I only have libs installed that are necessary for Firefox, gimp, and what's needed for scrotwm)  & even though this is KDE/Qt,  watching it come to life rocks.
It's Qt, but has no dependencies on KDE :) But indeed, looks like this project is going in the right direction.
Edit: The recipients should probably be put in some kind of vertically scrollable area. Right now the window resizes when adding more and more recipients, until it is bigger than the screen :)
Done! And the "updating" icon is animated now.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: WakiMiko on July 18, 2011, 01:13:28 PM

Done! And the "updating" icon is animated now.

Nice, though I would move the "Add recipient" and "Send" buttons out of the scrollarea, so that they are always visible, just like on the address book page.  ;)

The connection status indicator could display some additional information in the tooltip that there are connection problems if there are 8 or less connections/all connections are outgoing, kinda like a lot of BitTorrent clients already do:

http://dl.dropbox.com/u/6457172/connections.png

Maybe that would cause more users behind NAT/firewalls to forward port 8333 and/or use upnp.
Also the fourth bar should be green and not yellow :P


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 18, 2011, 04:46:33 PM
Nice, though I would move the "Add recipient" and "Send" buttons out of the scrollarea, so that they are always visible, just like on the address book page.  ;)
Yes good idea, done
Quote
The connection status indicator could display some additional information in the tooltip that there are connection problems if there are 8 or less connections/all connections are outgoing, kinda like a lot of BitTorrent clients already do:
Also sounds good. I wonder if it is possible to detect whether the port is open from outside. Or maybe it could count the number of incoming/outgoing connections and complain if there are no incoming connections after a certain while...

Also the fourth bar should be green and not yellow :P
Lol, I agree, feel free to modify the image. I suppose this also means that the inbetween-bars should be yellow/orange instead of red to make sure it's still a nice gradient.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: TYDIRocks on July 20, 2011, 06:17:07 PM
Very cool! Too bad I only took a year of C++ :P


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: fabianhjr on July 21, 2011, 08:33:33 PM
Something that I see lacking in the main client is to be able to determine a fee on the fly instead of going trough the preferences to change it and return it to normal.

I am all in for the folder structure.

Based on some patches made to the main client and forks this are some ideas to implement:
-Import Keys
-Determine where the .dat and important files would be located
-Deterministic wallets generated with a strong password. No need to store the keys in the wallet.dat(16+ chars cap and uncap, numbers, and symbols)
-Vanity Generator, Miner, and bulk key generation.(Under a certain folder x ammount of keys)
-Show addresses already "linked" together in groups.
-Advanced Send(From, to, both with multiple inputs/outputs and a specific fee)
-Access control for the API, create users who can only manage specific accounts and/or limited commands.

For usability make a divide between: Power Users/Simple Users.
Power Users have low level access(Many of the futures described above)
Simple users are limited to tx historial/contacts/send and status/messages dumb down.

Will help as I can when I get my Ubuntu box set up again. :)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: JuanPabloCuervo on July 22, 2011, 04:34:14 AM
Not really an alternative client, but an alternative GUI for the original bitcoin client

Hi...

in Windows...
for Miners...
"bitcoin.exe -server"
would be very usefull to see all ip miners connected to the server, with total Mh/s.


Thanks.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: marcusaurelius on July 22, 2011, 02:29:31 PM
hey, why don't you use this quite beautiful iconset, which has virtually every icon you can think of (7600!!):

http://www.famfamfam.com/lab/icons/silk/

Creative Commons Attribution 2.5 License, and the guy specifies that he has to be mentioned only on the credits page...



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 22, 2011, 03:21:34 PM
Based on some patches made to the main client and forks this are some ideas to implement:
-Import Keys
-Determine where the .dat and important files would be located
-Deterministic wallets generated with a strong password. No need to store the keys in the wallet.dat(16+ chars cap and uncap, numbers, and symbols)
-Vanity Generator, Miner, and bulk key generation.(Under a certain folder x ammount of keys)
-Show addresses already "linked" together in groups.
-Advanced Send(From, to, both with multiple inputs/outputs and a specific fee)
-Access control for the API, create users who can only manage specific accounts and/or limited commands.
Most of those are not really UI features but backend, you're better of lobbying for them for the core client. I think a some of them are already available as pull requests (such as deterministic wallets).

My project mostly focuses on the UI and improving the core <-> UI communication.
Quote
For usability make a divide between: Power Users/Simple Users.
Power Users have low level access(Many of the futures described above)
Simple users are limited to tx historial/contacts/send and status/messages dumb down.
Indeed, there should be an "expert" mode which exposes some more advanced and debug options.
Quote
Will help as I can when I get my Ubuntu box set up again. :)
Cool :)
hey, why don't you use this quite beautiful iconset, which has virtually every icon you can think of (7600!!):

http://www.famfamfam.com/lab/icons/silk/

Creative Commons Attribution 2.5 License, and the guy specifies that he has to be mentioned only on the credits page...
I think the problem with that icon set was that it only has 16x16 icons, which are good for some purposes, but not (for example) for the toolbar in many window systems.

But feel free to replace some of the small icons if you think they have better icons than the current ones (icons are in src/qt/res/icons..)



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 25, 2011, 08:01:54 PM
Configurable units (BTC/uBTC/mBTC) are on the way, for the people that like to see large numbers :)

BTW is anyone interested in helping build binary packages (linux) / installers (windows)?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: FatherMcGruder on July 25, 2011, 08:15:57 PM
...uBTC...
Use 'μ' (mu) instead of 'u', please. :)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: kjj on July 25, 2011, 08:32:56 PM
...uBTC...
Use 'μ' (mu) instead of 'u', please. :)

Please do accept u if it ever comes up for input.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: fabianhjr on July 25, 2011, 09:00:15 PM
Well, doe to the value of a single Bitcoin, I really think the client should now default to mBTC + a patch to support more decimals in the official client.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: ercolinux on July 25, 2011, 09:16:01 PM
Configurable units (BTC/uBTC/mBTC) are on the way, for the people that like to see large numbers :)

BTW is anyone interested in helping build binary packages (linux) / installers (windows)?


I'm a little busy in this days but I found a couple of hours I can make  a RPM package for the openmamba distro (but easily enough it can works on every RPMs based distro)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 26, 2011, 09:25:11 AM
...uBTC...
Use 'μ' (mu) instead of 'u', please. :)
Happy? :)

http://img215.imageshack.us/img215/6686/screenshotaj.png (http://imageshack.us/photo/my-images/215/screenshotaj.png/)

(yes I see I forgot the , after 1 :p)
(edit: please help testing, this has been committed. Units are also automatically converted, so if you enter one value, then change the combobox, it will show the number in that new unit)

Please do accept u if it ever comes up for input.
I'm only going to use combo-boxes, but indeed, entering a 'mu' is annoying and should never be required.

Well, doe to the value of a single Bitcoin, I really think the client should now default to mBTC + a patch to support more decimals in the official client.
I'm not going to change the default for now. People that want to change how the numbers are shown can change the config option.

More decimals? Why? Even with mBTC you have 5 decimals, that should be enough.
I'm a little busy in this days but I found a couple of hours I can make  a RPM package for the openmamba distro (but easily enough it can works on every RPMs based distro)
That'd be awesome!


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: kripz on July 26, 2011, 01:41:48 PM
This nano, micro and etc is confusing (not that know what it's even for). Perhaps something like this:

[   ].[   ] BTC = [   ].[   ] uBTC



If i change one side, the other changes. I'd hate to enter 1BTC when i meant 1uBTC


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Bitsky on July 26, 2011, 02:16:05 PM
This nano, micro and etc is confusing (not that know what it's even for). Perhaps something like this:

[   ].[   ] BTC = [   ].[   ] uBTC



If i change one side, the other changes. I'd hate to enter 1BTC when i meant 1uBTC
Well that's the point. Enter any amount and select from the dropdown list if you want that to be BTC, mBTC or µBTC.

A note from my side on the [  ].[  ] input: A single field should suffice. Anybody who is not able to properly add a value with a decimal mark should not be doing any business at all.

That aside, it looks great. I hope Qt and the main branch get merged.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 26, 2011, 02:16:35 PM
If i change one side, the other changes. I'd hate to enter 1BTC when i meant 1uBTC
The send confirmation window will always show the amount in full BTC, so you'll never make that mistake.

I don't want to add multiple fields, the Send entry is already crowded enough.

If this is too confusing I'll remove the entire functionality in Send and simply make it a central configuration option and always use that.

However, I thought it'd be useful to give the option to use uBTC / mBTC for smaller sends and full BTC for larger ones... (and maybe also provide a hook to add other currencies later on)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: FatherMcGruder on July 26, 2011, 04:49:24 PM
Happy? :)
So happy. :D


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: ercolinux on July 28, 2011, 01:12:31 PM
Configurable units (BTC/uBTC/mBTC) are on the way, for the people that like to see large numbers :)

BTW is anyone interested in helping build binary packages (linux) / installers (windows)?


I've finished the RPM package. I've added a .desktop file so it can appear in kde menu. Tested on openmamba and it works smoothly.
The package is here: http://www.openmamba.org/distribution/distromatic.html?tag=devel-ercolinux&pkg=bitcoin-qt.i586

For the moment is in my personal testing repo - ASAP it will be tested on some other machines it will be ported in main repo.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: ercolinux on July 29, 2011, 03:56:15 PM
Configurable units (BTC/uBTC/mBTC) are on the way, for the people that like to see large numbers :)

BTW is anyone interested in helping build binary packages (linux) / installers (windows)?


I've finished the RPM package. I've added a .desktop file so it can appear in kde menu. Tested on openmamba and it works smoothly.
The package is here: http://www.openmamba.org/distribution/distromatic.html?tag=devel-ercolinux&pkg=bitcoin-qt.i586

For the moment is in my personal testing repo - ASAP it will be tested on some other machines it will be ported in main repo.

Tested and imported: now is mainstream in the distro. Package can be found here: http://www.openmamba.org/distribution/distromatic.html?tag=devel&pkg=bitcoin-qt.i586.

Due to the automatic update process of opemamba it will be a lot simplier to update the package if there will be a tarball of the source at every new release, in this case I'll try to keep the version updated with the git repo updating at least every 2 weeks (aside from august where I don't have internet access for 2-3 weeks).


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 30, 2011, 10:12:29 AM
I've finished the RPM package. I've added a .desktop file so it can appear in kde menu. Tested on openmamba and it works smoothly.
The package is here: http://www.openmamba.org/distribution/distromatic.html?tag=devel-ercolinux&pkg=bitcoin-qt.i586
Awesome!
Due to the automatic update process of opemamba it will be a lot simplier to update the package if there will be a tarball of the source at every new release
Yes -- I intend to do this. Currently I keep in sync with latest git, as there are still some very important bug fixes there, but it'd be more clear to release a bitcoin-qt version for each core version.



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on July 30, 2011, 04:37:14 PM
I've added another display configuration option to not show addresses in the transaction overview,

http://img5.imageshack.us/img5/4100/screenconfig.png (http://imageshack.us/photo/my-images/5/screenconfig.png/)

It changes...

http://img694.imageshack.us/img694/2848/screenclutter.png (http://imageshack.us/photo/my-images/694/screenclutter.png/)

To:

http://img703.imageshack.us/img703/7762/screenshot2tp.png (http://imageshack.us/photo/my-images/703/screenshot2tp.png/)

A lot less cluttered. You obviously will still see addresses which you haven't added to the address book (or have empty labels), and the tooltip (and transaction details) will show the full address.

http://img685.imageshack.us/img685/3124/screenshot1ca.png (http://imageshack.us/photo/my-images/685/screenshot1ca.png/)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on August 01, 2011, 06:07:24 PM
OK I need some advice; what would be best to implement next? What feature is most desired? I have a few things planned, but need to prioritize them;

  • Multiple wallet support. Create/Open/Close wallet file.
  • Drag&Drop / Copypaste Bitcoin URLs (if a scheme has been defined) from your browser or other programs. These would contain the destination address, label and optionally amount.
  • Print/import/export private keys (is done in core with pull request, just needs GUI)
  • Integrate wallet encryption (is done in core, just needs GUI)
  • Overview page: add most recent transactions
  • Show balances overview per label
  • Ubuntu unity side menu
  • Splash screen while loading (show what it is doing, as it can take a while before UI appears)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: jimbo77 on August 01, 2011, 06:17:51 PM
OK I need some advice; what would be best to implement next? What feature is most desired? I have a few things planned, but need to prioritize them;

  • Multiple wallet support. Create/Open/Close wallet file.
  • Drag&Drop / Copypaste Bitcoin URLs (if a scheme has been defined) from your browser or other programs. These would contain the destination address, label and optionally amount.
  • Print/import/export private keys (is done in core with pull request, just needs GUI)
  • Integrate wallet encryption (is done in core, just needs GUI)
  • Overview page: add most recent transactions
  • Show balances overview per label
  • Ubuntu unity side menu
  • Splash screen while loading (show what it is doing, as it can take a while before UI appears)

How about the ability to right click a payment and select Re-Broadcast if it didn't broadcast. And the ability to delete the payment if it never broadcast anyways.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on August 01, 2011, 06:43:21 PM
How about the ability to right click a payment and select Re-Broadcast if it didn't broadcast. And the ability to delete the payment if it never broadcast anyways.
As transactions are automatically (re-)broadcast, the number of users that needs this is really low. I'll add it to my todo list but cannot give it much priority (unless you pay for it). However, if anyone feels like implementing this be my guest.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: drawoc on August 01, 2011, 10:04:08 PM
OK I need some advice; what would be best to implement next? What feature is most desired? I have a few things planned, but need to prioritize them;
...

I'd like to see wallet encryption and multiple wallet support first. The rest is just icing on the cake.

Anyway, thanks for doing all the work on this, it's really coming together nicely!


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: fornit on August 02, 2011, 12:53:09 AM
OK I need some advice; what would be best to implement next? What feature is most desired? I have a few things planned, but need to prioritize them;
...

I'd like to see wallet encryption and multiple wallet support first. The rest is just icing on the cake.

Anyway, thanks for doing all the work on this, it's really coming together nicely!

+1

thats what really matters. and great job btw!

edit: splash screen would also be awesome. i know its mostly eyecandy, but the startup right now gives a totally horrible first impression.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: alkor on August 02, 2011, 06:06:02 AM
When can we expect Bitcoin-Qt to be merged into the main tree, and released as the official client?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: JuanPabloCuervo on August 02, 2011, 06:18:01 AM
Not really an alternative client, but an alternative GUI for the original bitcoin client based on Qt4, which will be merged into mainline eventually (0.4.x).

It now has all the functionality of the original client's wxWindows GUI, and I'm working to extend it beyond that.



Why Bitcoin its so slow downloading all the Blocks for the first time?

... it does not matter if i have in the same network/room another PC with all the blocks and a fast Base1000/T network connection..
it takes 1/2 day to download...
it should download a lot faster.
 ??? ??? ???


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Garrett Burgwardt on August 02, 2011, 06:20:39 AM
Why Bitcoin its so slow downloading all the Blocks for the first time?

... it does not matter if i have in the same network/room another PC with all the blocks and a fast Base1000/T network connection..
it takes 1/2 day to download...
it should download a lot faster.
 ??? ??? ???


The idea with bitcoin is that you can't trust anyone. So on the first download of the block chain, it has to check to make sure it is being sent the correct information, and 'work things out' on its own.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on August 02, 2011, 04:50:10 PM
I'd like to see wallet encryption and multiple wallet support first. The rest is just icing on the cake.
Agreed -- the thing with wallet encryption is that it is still experimental, and not in any official release of the client yet (only in git), so I'll add a big experimental banner.

Quote
Anyway, thanks for doing all the work on this, it's really coming together nicely!
Thanks!

edit: splash screen would also be awesome. i know its mostly eyecandy, but the startup right now gives a totally horrible first impression.
And also easy to implement! :)

When can we expect Bitcoin-Qt to be merged into the main tree, and released as the official client?
I don't know. From what I understand from Gavin on the mailing list, he wants the upcoming releases to be dedicated to bug fixing not major new features. If that's the case, I'll do a parallel release for a while. It just costs some time to build and distribute proper binaries, which I rather spend on development, but hey if there's no other option :)



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: JuanPabloCuervo on August 02, 2011, 07:40:57 PM
as there are still some very important bug fixes there, but it'd be more clear to release a bitcoin-qt version for each core version.

i think the main problem with Bitcoin.exe, its that does not has a blkindex.bak file. like http://memory.dataram.com/products-and-services/software/ramdisk (http://memory.dataram.com/products-and-services/software/ramdisk)
or ECC mode like servers memory.

yesterday had a corrupted blkindex.dat (Power loss / forced shutdown / etc...)

eliminated the blkindex.dat, restarted Bitcoin,
and blocks started from 0 again, BUT this time Bitcoin.exe did not overwrite the blk0001.dat, just started from 0 to but added to it.

Problem with Bitcoin.exe is that does not have a failsafe feature, its too delicated.
pull 1 string everything falls appart.

havent had those kinds of problems with Linux, so far anyway.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on August 02, 2011, 08:04:56 PM
i think the main problem with Bitcoin.exe, its that does not has a blkindex.bak file. like http://memory.dataram.com/products-and-services/software/ramdisk (http://memory.dataram.com/products-and-services/software/ramdisk)
or ECC mode like servers memory.
I agree it could be more robust. No need to implement anything complex for it either, in case the block index gets corrupted it should simply re-download the corrupted blocks (like bittorrent does). But please don't make this a general bitcoin issues topic :) There's the github issue tracker for that.

BTW: splash screen has been implemented


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: goodlord666 on August 02, 2011, 08:49:46 PM
This looks really cool so far!
Keep up the good work.

BTW:
isn't making the field for decimals narrower than the field for whole coins a little optimistic? :)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: fornit on August 03, 2011, 11:53:06 AM
BTW: splash screen has been implemented

works here :)

btw: in the forums, i often find threads where people suggest using --rescan to solve whatever problem OP has like missing transactions etc. the usual answer is "wtf cannot find the --rescan button" or something like this. i understand thats usually done on startup, but is it feasible to rescan the blockchain with the program already running? or restart the programm and rescan? i think having a button for that would save a lot of less tech-savvy people some time and headaches. also an option similar to the datadir parameter would be very convienient. ok, thats probably one of the steps to multi-wallet support anyway, but i just wanted to mention because its also easy to do and the parameter is often used. or would be, if people knew it exists  ;)

btw2: the program gets unresponsive after a while for me. client area doesnt update anymore and doesnt close on X, usually when i do something on the computer. if i just leave the computer alone completely it works. OS is win7 64bit. complied and run exactly as you instructed in github.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on August 03, 2011, 12:03:46 PM
isn't making the field for decimals narrower than the field for whole coins a little optimistic? :)
LOL, good point, I've made them equally wide now.

btw2: the program gets unresponsive after a while for me. client area doesnt update anymore and doesnt close on X, usually when i do something on the computer. if i just leave the computer alone completely it works. OS is win7 64bit. complied and run exactly as you instructed in github.
Haven't heard this one before. This will be a hell to reproduce or debug if it happens randomly on your PC and not on a user action :/


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on August 03, 2011, 06:51:50 PM
Recent transactions on overview page now :)

http://img819.imageshack.us/img819/1690/screentn.png (http://imageshack.us/photo/my-images/819/screentn.png/)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: nuke on August 03, 2011, 08:40:33 PM
Why there are no Mac OSX instructions in the README file?
I wanna try it :D


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on August 04, 2011, 02:08:31 AM
Why there are no Mac OSX instructions in the README file?
I wanna try it :D
Because no one contributed them :)

I guess it is pretty easy though, and people have done it before (bitcoin.pro contains MacOSX rules), just install the MacOSX Qt SDK, and build the project using qmake or in Qt Creator.

You need the same dependencies as for normal bitcoin except Wx (follow the steps in doc/build-osx.txt to install them).

I cannot give exact instructions as I have zero pieces of Apple hardware (well except for a dinky first-generation iPod :) )


Title: Re: Bitcoin-Qt [user input needed]
Post by: bittersweet on August 05, 2011, 06:53:53 AM
- I've always wondered why Bitcoin has separate Credit and Debit columns. Why not one "amount" column? Is this really more clear?

I think the best solution would be to let people add and remove columns they want to see. Like, you right-click the column titles bar and have a list of possible columns to check/uncheck.


Title: Re: Bitcoin-Qt [user input needed]
Post by: wumpus on August 05, 2011, 07:29:01 AM
I think the best solution would be to let people add and remove columns they want to see. Like, you right-click the column titles bar and have a list of possible columns to check/uncheck.
This does complicate the UI, so I'd add it only if really needed. I think the current columns suffice (Status, Date, Type, Amount).

What other information about a transaction could you possibly want in a column?  Note that you can always request the transaction details by double clicking on one.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: phorensic on August 05, 2011, 08:09:10 AM
Finally got around to install Ubuntu on a VM to try this out.  Compiled first try.  Looks awesome so far. Once the blockchain downloads I'm going to give it the full runaround.  Looks good so far!

Update:  This client downloaded the blockchain approximately elevntybillion times faster than the official Windows bitcoin client.  Even though it seems to be just a wrapper on top of the official bitcoin client, that's awesome!


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: elements on August 05, 2011, 09:12:17 AM
Why there are no Mac OSX instructions in the README file?
I wanna try it :D

Me too!

Is someone working on a Mac version?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: twmz on August 05, 2011, 06:57:51 PM
OK I need some advice; what would be best to implement next? What feature is most desired? I have a few things planned, but need to prioritize them;

My interest would be in these two things (in priority order):

  • Integrate wallet encryption (is done in core, just needs GUI)
  • Print/import/export private keys (is done in core with pull request, just needs GUI)

And for that matter, I would be fine with import/export only being available from the command line and not in the GUI at least initially.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: willphase on August 05, 2011, 08:07:38 PM
come to this thread from another, just wanted to comment good job with your bitcoin-qt client.  The problem I have is that there is a lack of trust in non-official clients, you are not providing binaries (most people just want to download something, and not bother compiling anything).

I think the solution is to try and get some of the features you have into the mainline client - or at least try and solve the trust issues by having your client endorsed by bitcoin.org or digitally signed releases and vouched for pgp keys so people can start trusting your client.

Otherwise, coming into threads that are talking about additions to the mainline client and saying 'my client already does this' isn't too helpful... imho.

Will


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on August 05, 2011, 09:23:48 PM
And for that matter, I would be fine with import/export only being available from the command line and not in the GUI at least initially.

There is a pull request on github that implements commandline/RPC functionality for importing and exporting keys:

https://github.com/bitcoin/bitcoin/pull/220

I'd need to merge this anyway if I want to expose it in the GUI.

I think the solution is to try and get some of the features you have into the mainline client - or at least try and solve the trust issues by having your client endorsed by bitcoin.org or digitally signed releases and vouched for pgp keys so people can start trusting your client.
If you don't trust me, that's up to you -- you're free to use any client that you want. Bitcoin is a distributed currency. There is no "official" bitcoin organization to endorse anything.

Everyone can audit all my code on github, that's how open source works. I would be incredibly stupid to backdoor it wouldn't I? Git remembers every change ever made to a code base. If I was really out to steal your coins there'd be much less time consuming ways that wouldn't put my reputation at risk.

I cannot help but take this as a bit of an insult. Good luck with your trust issues, but don't look at me for fixing them.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: willphase on August 05, 2011, 10:13:24 PM
If you don't trust me, that's up to you -- you're free to use any client that you want. Bitcoin is a distributed currency. There is no "official" bitcoin organization to endorse anything.

Everyone can audit all my code on github, that's how open source works. I would be incredibly stupid to backdoor it wouldn't I? Git remembers every change ever made to a code base. If I was really out to steal your coins there'd be much less time consuming ways that wouldn't put my reputation at risk.

I cannot help but take this as a bit of an insult. Good luck with your trust issues, but don't look at me for fixing them.


I have no issues trusting you, I've seen your posts here and on the bitcoin-dev mailing list and wouldn't have any issues either running a binary supplied by you or just simply building your code from source - in fact I suggested that you put binaries up to make your client more accessible to the masses.  I think my point perhaps was poorly explained in my post.  My point is that the average user is going to 1. Google for bitcoin, 2. click on the top link, and 3. download the windows client.  If we want to work on the average user's user experience it's important that we concentrate efforts on improving the mainline client.  The alternative to this would be to place easy to access and easy to install binaries on the bitcoin.org website so people can have a choice between your client and the mainline one.  The only criticism I had was more a philosophical one that if someone comes in and says 'hey I'm going to fix this bug in mainline' or 'hey I'm going to add this new feature in mainline' then you pop into the thread and say 'oh I already have that in my client' - but very very few people are using your client (see above) then it makes volunteers far less likely to contribute to mainline (or at least that was how I felt when I said I was going to implement a usability feature in mainline in another thread)

I would prefer to see more activity on mainline, more people contributing e.g. to the test suites, stability improvements, UI improvements, audit of the code, assurance that mainline is being improved and released in a timely manor, than for the scant development resource to be thinly spread over several clients.

I totally understand why you started your client, probably a combination of the inertia of pulling code into mainline, and the belief that having client diversity is good for Bitcoin as a whole (both reasons I agree with, by the way )- but right now I go to the Newbie thread and try and help people and I see the same issues being reported over and over again and they really need to be fixed...

Apologies if my post came across as an insult, it wasn't meant as such.

Will


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on August 05, 2011, 10:35:45 PM
I have no issues trusting you, I've seen your posts here and on the bitcoin-dev mailing list and wouldn't have any issues either running a binary supplied by you or just simply building your code from source - in fact I suggested that you put binaries up to make your client more accessible to the masses.  
OK I misunderstood that part, I read it as binaries being more trustable so I thought huh :)

Quote
I think my point perhaps was poorly explained in my post.  My point is that the average user is going to 1. Google for bitcoin, 2. click on the top link, and 3. download the windows client.
Yes -- I do intend to do a binary release, probably in parallel with the next mainline release (so that there is a wx and qt version). I'm already working on a cross-compilation environment to built it in, but it is quite involved. I do have some help with Linux packages, but for Windows I'm on my own (and myself I hardly use it).

Apart from that it will be easier to get my version into the official repositories of Linux distributions such as Ubuntu as it does not depend on some arcane Wx version.

It's all being worked on but there's a lot to do and so little time...

Quote
If we want to work on the average user's user experience it's important that we concentrate efforts on improving the mainline client.  The alternative to this would be to place easy to access and easy to install binaries on the bitcoin.org website so people can have a choice between your client and the mainline one.
My UI is scheduled for inclusion into the mainline client eventually. I'm just not sure when. This is why this thread is called "future bitcoin client GUI". Only if you want a sneak peak, you need to build it yourself for now.

But for that reason it's indeed a waste of time to implement usability features in the mainline client. So if I discouraged you in doing that, that's exactly the point :) So that you can direct your development efforts to some place they make sense...

Quote
The only criticism I had was more a philosophical one that if someone comes in and says 'hey I'm going to fix this bug in mainline' or 'hey I'm going to add this new feature in mainline' then you pop into the thread and say 'oh I already have that in my client' - but very very few people are using your client (see above) then it makes volunteers far less likely to contribute to mainline (or at least that was how I felt when I said I was going to implement a usability feature in mainline in another thread)
I don't have exact statistics, but by the amount of feedback I get, it seems a lot of people are using my client already (which isn't too strange, as I have some features that have been requested for ages).

Quote
I would prefer to see more activity on mainline, more people contributing e.g. to the test suites, stability improvements, UI improvements, audit of the code, assurance that mainline is being improved and released in a timely manor, than for the scant development resource to be thinly spread over several clients.
My client shares all the network code with the mainline client, so test suites and stability improvements apply to both. I regularly merge in the mainline repository... And have also contributed back some patches.

Quote
I totally understand why you started your client, probably a combination of the inertia of pulling code into mainline, and the belief that having client diversity is good for Bitcoin as a whole
Not entirely. I started my client to make a more attractive, usable and feature-rich UI for Bitcoin. It has existed in limbo much longer than originally planned, but that's indeed due to the inertia thing...



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: willphase on August 06, 2011, 11:04:58 AM
My UI is scheduled for inclusion into the mainline client eventually. I'm just not sure when. This is why this thread is called "future bitcoin client GUI". Only if you want a sneak peak, you need to build it yourself for now.

But for that reason it's indeed a waste of time to implement usability features in the mainline client. So if I discouraged you in doing that, that's exactly the point :) So that you can direct your development efforts to some place they make sense...

Ah okay - I didn't realise that the long term goal was to include bitcoin-qt into the mainline client - with that information it certainly makes sense to concentrate UI improvements on bitcoin-qt while still ensuring core features are placed into the mainline core.  If I have any ideas for new UI stuff, I'll fork your git and work from there!

Perhaps it would be worth putting stable bitcoin-qt release binaries on the bitcoin.org website?

Will


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on August 06, 2011, 11:22:01 AM

Perhaps it would be worth putting stable bitcoin-qt release binaries on the bitcoin.org website?

Yes that's worth it. Be my guest :) We should get a few people to build the exe (of a certain git release) and get identical results.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: goodlord666 on August 06, 2011, 01:08:52 PM
My apologies if this has been asked before:

Is it related to the GUI wether all addresses created by the client for the wallet in use (even unused addresses) are made visible or not?

In other words:
I wish I was able to see ALL addresses available to my wallet (not just the ones that have been used or manually created), preferably in a seperate tab or window with an easy export function to plain text.

It would also be cool if it moved any such addresses with a transaction history into the regular tab on its own, because sometimes it happens the client uses an invisible address to have change sent back to it and without knowing that address your accumulative balance monitored with a service like btcbalance.net won't show the correct total of your btc. just to provide an example.




Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: markm on August 06, 2011, 03:32:45 PM
I saw your list of things to do on the new thread you created asking for help.

Since this is about yet another thing to do I brought it here as I am not ready to help with this one yet.

You mentioned paper wallet type stuff so I thought I'd add that whenever you think of importing data from someone you take into account the possibility that they already knew one of your addresses and thus were able to encrypt data intended for you so that if a mugger mugged them on the way to you the mugger would not be able to spend it or even know whether it was any kind of spendable data even without being in possession of the private key of the address of yours that the data was intended for.

Once being able to do that, another nice feature would be to be able to tell the mugger "okay, you claim to be this customer of ours, I see that you have this customer's coin certificate but how do I know you are that customer not some mugger who mugged them on the way to the shop?"

I am heading currently more toward the other end of this problem, that is, the ability to create a certificate to bring to the shop...

-MarkM- (So back to Open Transactions to try to figure how to plug in the "right" crypt routines supposedly not in there yet...)



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: drawoc on August 06, 2011, 06:01:15 PM
I've set up a computer to do nightly builds of this, and upload them here: http://nightly.fredwardgames.com/bitcoin-qt/ (http://nightly.fredwardgames.com/bitcoin-qt/). The latest git is compiled every day at 3:00 AM EST.

Currently, there's only a build for Linux, but I'm working on setting up cross compilation for windows as well.

Hopefully someone will find this helpful.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on August 07, 2011, 01:04:02 AM
Hopefully someone will find this helpful.
Awesome! I've added your link to the opening post.

Markm, goodlord666: thanks for your suggestions


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on August 07, 2011, 02:10:33 PM
It now accepts bitcoin URLs of the format "bitcoin:14Z1mazY4HfysZyMaKudFr63EwHqQT2njz?amount=1.23&label=optional" (see also https://bitcointalk.org/index.php?topic=33490.0). I'll implement additional URL formats later on, those with exponents etc... Please let me know if you encounter these in actual use!

You can drag these links from your browser to the UI (any place will do, the entire window accepts drops) and it will automatically switch to the "Send coins" tab and add this recipient.



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: twmz on August 08, 2011, 06:51:43 PM
And for that matter, I would be fine with import/export only being available from the command line and not in the GUI at least initially.

There is a pull request on github that implements commandline/RPC functionality for importing and exporting keys:

https://github.com/bitcoin/bitcoin/pull/220

I'd need to merge this anyway if I want to expose it in the GUI.


FYI, the current code appears to have lost the ability to call RPCs (at least from the command line).  I get:

Code:
macpro:MacOS erv$ ./bitcoin-qt help
error: basic_string::_S_create


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: phorensic on August 08, 2011, 08:26:02 PM
What's keeping us from trusting this application to store our primary wallet?  There are some warnings on the project that this is Alpha and to use testnet.  I don't see what the problem is, if the underlying framework is actually mainline (Jeff Garzik) bitcoin source and this is mostly a wrapper.  How is the wallet in any danger?  I want to get my BTC off my Windows box and onto my Linux box using this as the main GUI.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on August 10, 2011, 08:54:47 AM
FYI, the current code appears to have lost the ability to call RPCs (at least from the command line).  I get:

Code:
macpro:MacOS erv$ ./bitcoin-qt help
error: basic_string::_S_create
This is right. I'd really like to move to multiple executables.

  • bitcoind: bitcoin daemon
  • bitcoin(-qt): bitcoin GUI executable
  • bitcoincl: bitcoin RPC command line

Lugging everything into one executable, as it is done in the mainline client, makes no sense. Especially the daemon: why the UI double-function as daemon? It is a waste of memory to link the UI libs if you only want to run a background process.

Also for the command line. Why load all the code for UI and network if you just want  so send a single command over JSONRPC?

(on a contrary note, I heard from other sources that -server might be broken. That's more serious and I'll look at it.)
What's keeping us from trusting this application to store our primary wallet?  There are some warnings on the project that this is Alpha and to use testnet.
That warning is really old, it has been there from the first version I uploaded to github. Many people, including me, have used the program on the production network without losing their wallet, so I am somewhat more confident now :)

So yes I will remove the warning... this is nothing more scary than the mainline client.




Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: phorensic on August 10, 2011, 06:56:25 PM
Cool beans


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: zellfaze on August 14, 2011, 07:45:50 PM
Having trouble building the client for Windows.

Below is part of the compiler output:
Code:
..\laanwj-bitcoin-qt-0a76546\src/headers.h:37:28: error: openssl/buffer.h: No such file or directory
..\laanwj-bitcoin-qt-0a76546\src/headers.h:38:27: error: openssl/ecdsa.h: No such file or directory
..\laanwj-bitcoin-qt-0a76546\src/headers.h:39:25: error: openssl/evp.h: No such file or directory
..\laanwj-bitcoin-qt-0a76546\src/headers.h:40:26: error: openssl/rand.h: No such file or directory
..\laanwj-bitcoin-qt-0a76546\src/headers.h:41:25: error: openssl/sha.h: No such file or directory
..\laanwj-bitcoin-qt-0a76546\src/headers.h:42:28: error: openssl/ripemd.h: No such file or directory
In file included from ..\laanwj-bitcoin-qt-0a76546\src/headers.h:59,
                 from ..\laanwj-bitcoin-qt-0a76546\src\qt\bitcoin.cpp:10:
c:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/boost/foreach.hpp:66:28: error: boost/mpl/if.hpp: No such file or directory
c:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/boost/foreach.hpp:67:32: error: boost/mpl/assert.hpp: No such file or directory
c:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/boost/foreach.hpp:68:33: error: boost/mpl/logical.hpp: No such file or directory
c:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/boost/foreach.hpp:69:33: error: boost/mpl/eval_if.hpp: No such file or directory
c:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/boost/foreach.hpp:71:31: error: boost/range/end.hpp: No such file or directory
c:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/boost/foreach.hpp:72:33: error: boost/range/begin.hpp: No such file or directory
c:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/boost/foreach.hpp:73:32: error: boost/range/rend.hpp: No such file or directory
c:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/boost/foreach.hpp:74:34: error: boost/range/rbegin.hpp: No such file or directory
c:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/boost/foreach.hpp:75:36: error: boost/range/iterator.hpp: No such file or directory
c:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/boost/foreach.hpp:76:44: error: boost/range/reverse_iterator.hpp: No such file or directory
c:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/boost/foreach.hpp:77:42: error: boost/type_traits/is_array.hpp: No such file or directory
c:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/boost/foreach.hpp:78:42: error: boost/type_traits/is_const.hpp: No such file or directory
c:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/boost/foreach.hpp:79:45: error: boost/type_traits/is_abstract.hpp: No such file or directory
c:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/boost/foreach.hpp:80:53: error: boost/type_traits/is_base_and_derived.hpp: No such file or directory
c:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/boost/foreach.hpp:81:46: error: boost/iterator/iterator_traits.hpp: No such file or directory
c:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/boost/foreach.hpp:82:39: error: boost/utility/addressof.hpp: No such file or directory

The full log can be found here: http://pastebin.com/uAfe97mK

Any ideas?  I presume it is probably a fairly simple problem stemming from the fact that I have no clue what I am doing here.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: fornit on August 14, 2011, 08:57:17 PM
did you do this?

Quote
Windows build instructions:
Download the QT Windows SDK and install it. You don't need the Symbian stuff, just the desktop Qt.
Download and extract the dependencies archive [1], or compile openssl, boost and dbcxx yourself.
Copy the contents of the folder "deps" to "X:\QtSDK\mingw", replace X:\ with the location where you installed the Qt SDK. Make sure that the contents of "deps\include" end up in the current "include" directory.
Open the .pro file in QT creator and build as normal (ctrl-B)



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: zellfaze on August 14, 2011, 10:59:27 PM
Yes.  I made sure to extract the deps folder from the archive into my minigw folder.  Making sure that the files were copied properly.  Below are the outputs of tree if you would like to confirm this for yourself.

Here is the output of tree run on my minigw directory.
http://pastebin.com/p7B1QeVf

Here is the output of tree run on the deps directory from the archive:
http://pastebin.com/dDjhHJHX


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Bitsky on August 15, 2011, 07:19:44 AM
I thought about something that might be pretty helpful and should be easy to implement: a "waiting for" list.

Basically a list of transaction you're expecting to arrive. You pick the address you gave to the other person and the amount he should transfer to it (perhaps also add a textbox for notes). Transactions which match entries in that list are highlighted. This way you can easily keep track of outstanding transfers. Right now I do that in a seperate textfile, but it would be nice to have that ability in the client itself.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: flower1024 on August 30, 2011, 06:28:58 AM
i like your wallet app....

but i would need the following addons:

 - make your app support different coins (solid, ix i0 and btc)
 - better organization (make it possible to define own tabs and move in and outs there)
 - plugin interface (for trading and chart plugins) in some simple script language

thank you :)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on August 31, 2011, 06:11:34 AM
i like your wallet app....

but i would need the following addons:

 - make your app support different coins (solid, ix i0 and btc)
 - better organization (make it possible to define own tabs and move in and outs there)
 - plugin interface (for trading and chart plugins) in some simple script language

thank you :)
I'm hereby redirecting all feature requests to Gavin Andresen for evaluation. Thanks :)

bitcoin-qt is currently in bugfix-only mode waiting for merge. Fix patches and small improvements are welcome, better icons/sets are welcome, and translations are very welcome. Apart from that, we're frozen.

You're welcome to fork of course.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: flower1024 on August 31, 2011, 06:36:10 AM
i like your wallet app....

but i would need the following addons:

 - make your app support different coins (solid, ix i0 and btc)
 - better organization (make it possible to define own tabs and move in and outs there)
 - plugin interface (for trading and chart plugins) in some simple script language

thank you :)
I'm hereby redirecting all feature requests to Gavin Andresen for evaluation. Thanks :)

bitcoin-qt is currently in bugfix-only mode waiting for merge. Fix patches and small improvements are welcome, better icons/sets are welcome, and translations are very welcome. Apart from that, we're frozen.

You're welcome to fork of course.


if your interested in some help for a german translation: PM me


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: N.Z. on August 31, 2011, 09:41:58 AM
Do you have Russian translation? If not, you are welcome to contact me :)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on August 31, 2011, 12:23:16 PM

if your interested in some help for a german translation: PM me
Do you have Russian translation? If not, you are welcome to contact me :)

There are currently the following translations in src/qt/locale:
  • bitcoin_de.ts
  • bitcoin_nl.ts
  • bitcoin_ru.ts

The Russian one is mostly up to date (except for wallet encryption, which I committed today). The German and Dutch ones are pretty much outdated and really need to be looked at.



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: flower1024 on August 31, 2011, 12:28:56 PM

if your interested in some help for a german translation: PM me
Do you have Russian translation? If not, you are welcome to contact me :)

There are currently the following translations in src/qt/locale:
  • bitcoin_de.ts
  • bitcoin_nl.ts
  • bitcoin_ru.ts

The Russian one is mostly up to date (except for wallet encryption, which I committed today). The German and Dutch ones are pretty much outdated and really need to be looked at.



german translation is completed right now (github fork flower1024); but untested. i'll do that tonight.

have you read this: https://bitcointalk.org/index.php?topic=19168.msg240196#msg240196
in germany 0,005 is a natural way to write down numbers (and its not 5). i did not check it yet; but would be nice if you just take the system locale to interpret numbers.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: aq on August 31, 2011, 01:28:54 PM
Tiny cosmetic "feature" request:
If the user starts the app once a day, the syncing progress bar hoovers around 99% without any movement for a few minutes.
I think it would be better if the progress bar would always start at 0% and can therefor show some movement.
What I mean: the old (already downloaded) block count is represented by 0% and the up-to-date block count is 100%.
Now the casual user can see some progress bar movement, and all is well ;)



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on August 31, 2011, 03:00:00 PM
have you read this: https://bitcointalk.org/index.php?topic=19168.msg240196#msg240196
in germany 0,005 is a natural way to write down numbers (and its not 5). i did not check it yet; but would be nice if you just take the system locale to interpret numbers.
This was taken into account; when entering coin amounts the whole amount and decimals are separate fields, so you can never make a mistake with that. Both ',' and '.' take you to the decimals field.

For displaying the US locale is always used. This was by choice (is the same in the original UI).

Tiny cosmetic "feature" request:
If the user starts the app once a day, the syncing progress bar hoovers around 99% without any movement for a few minutes.
I think it would be better if the progress bar would always start at 0% and can therefor show some movement.
What I mean: the old (already downloaded) block count is represented by 0% and the up-to-date block count is 100%.
Now the casual user can see some progress bar movement, and all is well ;)
Yeah, good point, that'd make sense... it'd have to remember the old number of blocks.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: kjj on August 31, 2011, 03:02:53 PM
Tiny cosmetic "feature" request:
If the user starts the app once a day, the syncing progress bar hoovers around 99% without any movement for a few minutes.
I think it would be better if the progress bar would always start at 0% and can therefor show some movement.
What I mean: the old (already downloaded) block count is represented by 0% and the up-to-date block count is 100%.
Now the casual user can see some progress bar movement, and all is well ;)

The problem with this is that the chain doesn't have an end.  It doesn't even have a current endpoint.  All it has is the dividing line between blocks that your node knows about, and blocks that it doesn't know about yet.  It seems like a trivial thing, but the misunderstanding can have serious consequences.

But yeah, the progress bar could be better.  But you can't make it too good, or it will confuse users.  There is even a trope (http://tvtropes.org/pmwiki/pmwiki.php/Main.ExactProgressBar) about it.

Using the last known block height like you suggest seems like a good way to do it.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: aq on August 31, 2011, 03:21:41 PM
Tiny cosmetic "feature" request:
If the user starts the app once a day, the syncing progress bar hoovers around 99% without any movement for a few minutes.
I think it would be better if the progress bar would always start at 0% and can therefor show some movement.
What I mean: the old (already downloaded) block count is represented by 0% and the up-to-date block count is 100%.
Now the casual user can see some progress bar movement, and all is well ;)

The problem with this is that the chain doesn't have an end.  It doesn't even have a current endpoint.  All it has is the dividing line between blocks that your node knows about, and blocks that it doesn't know about yet.  It seems like a trivial thing, but the misunderstanding can have serious consequences.

But yeah, the progress bar could be better.  But you can't make it too good, or it will confuse users.  There is even a trope (http://tvtropes.org/pmwiki/pmwiki.php/Main.ExactProgressBar) about it.

Using the last known block height like you suggest seems like a good way to do it.

All academical discussions beside, the progress bar is shown right now, but stays at 99% for almost all users once a day for about a minute. It is only shown while downloading blocks and it is hidden when the current block count is reached. So it is effectively a static image. My "proposal" would make it usable. And the progress bar is not a scientific measurement device, it is only a visual feedback, so that the user can see that something is being download. In fact stating 99% all the time, the is indistinguishable  between some download is happening and nothing is being downloaded.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Maged on August 31, 2011, 06:53:00 PM
Tiny cosmetic "feature" request:
If the user starts the app once a day, the syncing progress bar hoovers around 99% without any movement for a few minutes.
I think it would be better if the progress bar would always start at 0% and can therefor show some movement.
What I mean: the old (already downloaded) block count is represented by 0% and the up-to-date block count is 100%.
Now the casual user can see some progress bar movement, and all is well ;)
To prevent a massive amount of support requests if you add this, be sure not to use this behavior until the client thinks that they've completed the initial download of blocks. Otherwise, if someone turns off their client in the middle of the initial download, they might think that the client restarted the download instead of continuing it. However, you'd also then need to visually differentiate progress between the initial download and updates. (different progress bar color?)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Pieter Wuille on August 31, 2011, 07:37:55 PM
What about persistently storing the last block number at which the client was in sync with the network? Initially this is zero, and it remains zero until the client is entirely up-to-date. If at that point it goes offline, and comes back after having missed a few blocks, a new progress bar appears that represents the catching up from that previous point to the current blockchain tip.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 01, 2011, 08:26:07 AM
Sounds like a lot of hassle. Different progress bar colors complicate stuff for both the user and developer :-) The progress bar was meant to show initial block chain download progress, so you're right that it might be better to keep it at that.

Probably, we should simply not show the progress bar if progress is so close to 100% at startup... The spinner shows that it is catching up to the block chain, anyway.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: aq on September 01, 2011, 05:35:32 PM
Tiny cosmetic "feature" request:
If the user starts the app once a day, the syncing progress bar hoovers around 99% without any movement for a few minutes.
I think it would be better if the progress bar would always start at 0% and can therefor show some movement.
What I mean: the old (already downloaded) block count is represented by 0% and the up-to-date block count is 100%.
Now the casual user can see some progress bar movement, and all is well ;)
To prevent a massive amount of support requests if you add this, be sure not to use this behavior until the client thinks that they've completed the initial download of blocks. Otherwise, if someone turns off their client in the middle of the initial download, they might think that the client restarted the download instead of continuing it. However, you'd also then need to visually differentiate progress between the initial download and updates. (different progress bar color?)

BTW, a simple "resuming" in the syn text would prevent all your massive support requests.
It depends on what the progress bar displays. Does it display the amount of work (download) that has to be done, or does it display the current state (now at block n of m). If it always if the former, it would be OK for the user, because it displays what the progress of the *current* work, in contrast to displaying the combined work over all program starts.
For example, when I copy some files, the progress bar goes from 0 to 100% - it does not include all files I ever copied ;)
Different colors? Now *that* would trigger some massive amount of support requests, maybe even I would ask what this is all about.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 02, 2011, 02:30:03 PM
It depends on what the progress bar displays. Does it display the amount of work (download) that has to be done, or does it display the current state (now at block n of m). If it always if the former, it would be OK for the user, because it displays what the progress of the *current* work
It displays the part of the total block chain that has been downloaded. It's comparable to re-starting a torrent client, or other download client. If it would start from 0% every time a user might indeed assume it has restarted.

Then again, as bitcoin is not regarded as a download client, probably this discussion is completely theoretic and users would not complain if it showed only the (relative) part of what still has to be downloaded... also, you get the "m out of n blocks downloaded" in a tooltip which shows absolute numbers...


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Matoking on September 03, 2011, 12:38:00 PM
I compiled the latest version (commit 4785e6df74151f91d0c1) for Windows.

http://www.mediafire.com/?rfawsiajyfy70kk

I'll probably look at the code and try my hands on the GUI and try fixing things (for instance, minimizing the application makes the application go blank, you have to click the icon on system tray to fix it)

On Windows the window's (pun not intended) background should be made plain white when the window is maximized, since otherwise it's very hard to read (black text on almost black background).

Minimizing the window makes the application window go blank when you try opening it again from the taskbar instead of system tray. Or maybe the application should just go to system tray (in same manner as "closing" the application)

EDIT :
I fixed a few things on my fork here :
https://github.com/Matoking/bitcoin-qt

It should fix the "window becoming empty when minimized and then brought up from taskbar again" issue and make the window background plain when it's maximized on Windows (makes it more readable).

Compare this (before)
https://i.imgur.com/crwHo.png
to this (after)
https://i.imgur.com/MShYj.png

Feel free to add to the main repository if I didn't break anything. :P


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 04, 2011, 08:23:30 AM
I compiled the latest version (commit 4785e6df74151f91d0c1) for Windows.
Thanks; we really ought to do a parallel release of binaries with 0.4.0, and maybe keep it up until the core dev team finally merges it.

Maybe even make a little website to download from... I might have a spin at it when I have some time, though I'm not really a web designer.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: aq on September 05, 2011, 05:32:12 PM
I fixed a few things on my fork here :
https://github.com/Matoking/bitcoin-qt

It should fix the "window becoming empty when minimized and then brought up from taskbar again" issue and make the window background plain when it's maximized on Windows (makes it more readable).

Compare this (before)
https://i.imgur.com/crwHo.png
to this (after)
https://i.imgur.com/MShYj.png

Great enhancement!
While you are already at it, would it be possible to make this transparent thing optional. I mean if you have some dark window (ie. command line) behind the bitcoin window, it has the same problem as if it would be maximized. IMO this transparent effect doesn't fit a financial software anyway. So again IMO, this option should be disabled by default, but maybe thats just me.
Yes, I know, should code this myself


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Gavin Andresen on September 05, 2011, 08:55:55 PM
Thanks; we really ought to do a parallel release of binaries with 0.4.0, and maybe keep it up until the core dev team finally merges it.
I think everybody would like to merge bitcoin-qt as soon as the 0.4 release is shipped (see the bitcoin-dev mailing list for the current known bugs).

Closing the dozens of wxWidgets-related GUI bugs in the issues list will give me great pleasure...


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: aq on September 07, 2011, 01:21:11 AM
Thanks; we really ought to do a parallel release of binaries with 0.4.0, and maybe keep it up until the core dev team finally merges it.
I think everybody would like to merge bitcoin-qt as soon as the 0.4 release is shipped (see the bitcoin-dev mailing list for the current known bugs).

Closing the dozens of wxWidgets-related GUI bugs in the issues list will give me great pleasure...

Doesn't bitcoin-qt already contain the 0.4 core? If yes, what is the reason to even release bitcoin 0.4? Why not release 0.4-qt instead?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: twobits on September 07, 2011, 01:39:33 AM
Thanks; we really ought to do a parallel release of binaries with 0.4.0, and maybe keep it up until the core dev team finally merges it.
I think everybody would like to merge bitcoin-qt as soon as the 0.4 release is shipped (see the bitcoin-dev mailing list for the current known bugs).

Closing the dozens of wxWidgets-related GUI bugs in the issues list will give me great pleasure...

Doesn't bitcoin-qt already contain the 0.4 core? If yes, what is the reason to even release bitcoin 0.4? Why not release 0.4-qt instead?


I would think they should be released a separately as the qt dependency  changes the nature of the licenses being depended on, and a more free main branch would be preferable.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: FatherMcGruder on September 07, 2011, 01:42:30 PM
I would think they should be released a separately as the qt dependency  changes the nature of the licenses being depended on, and a more free main branch would be preferable.

Qt is available under a commercial license, the LGPL, and the GPL. Can you elaborate on your concerns?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: twobits on September 07, 2011, 08:24:37 PM
I would think they should be released a separately as the qt dependency  changes the nature of the licenses being depended on, and a more free main branch would be preferable.

Qt is available under a commercial license, the LGPL, and the GPL. Can you elaborate on your concerns?

It is just that.   It would be the most restrictive license yet used for anything required.   If this was  brought in,   anyone distributing binaries will also have to make available the source code to the Qt that they used for example or not bundle it.   Wxwidgets made sure those conditions did not apply to derived works distributed in binary form.   The creators of Qt got dragged a bit towards it even being  as unrestricted as the LGPL in the beginning.  I had noticed that the licenses picked so far are all much less restrictive  and had thought that was a deliberate choice to keep the software free to more uses without the burdens of the GPL


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: zwierzak on September 07, 2011, 09:47:25 PM
One thing which should be change before merge! Progressbar which inform about sync process should be like in Bitcoin Wallet for Android. This mean that 0% is than, when we run client and it is unsynchronized. Now it shows 99% after start and it not changing until full synchronization. This is not functional if not inform about progress.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Pieter Wuille on September 08, 2011, 07:59:07 AM
I would think they should be released a separately as the qt dependency  changes the nature of the licenses being depended on, and a more free main branch would be preferable.

Qt is available under a commercial license, the LGPL, and the GPL. Can you elaborate on your concerns?

It is just that.   It would be the most restrictive license yet used for anything required.   If this was  brought in,   anyone distributing binaries will also have to make available the source code to the Qt that they used for example or not bundle it.   Wxwidgets made sure those conditions did not apply to derived works distributed in binary form.   The creators of Qt got dragged a bit towards it even being  as unrestricted as the LGPL in the beginning.  I had noticed that the licenses picked so far are all much less restrictive  and had thought that was a deliberate choice to keep the software free to more uses without the burdens of the GPL

But the license of the bitcoin and bitcoin-qt code is still MIT, even though it links against an LGPL library. IANAL, but I believe this means that if you use the source to build a headless version (which doesn't link against Qt) there is no restriction on the distribution of the resulting binary.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: FatherMcGruder on September 08, 2011, 02:24:56 PM
It is just that.   It would be the most restrictive license yet used for anything required.   If this was  brought in,   anyone distributing binaries will also have to make available the source code to the Qt that they used for example or not bundle it.   Wxwidgets made sure those conditions did not apply to derived works distributed in binary form.   The creators of Qt got dragged a bit towards it even being  as unrestricted as the LGPL in the beginning.  I had noticed that the licenses picked so far are all much less restrictive  and had thought that was a deliberate choice to keep the software free to more uses without the burdens of the GPL
I can't imagine a better way to keep the software freer than with the likes of the GPL, but I suppose that's beyond the point. If copyleft should work its way into the main branch, as it might with the inclusion of Qt, folks who don't like it can just work with their own non-copyleft branch.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: aq on September 08, 2011, 05:23:50 PM
One thing which should be change before merge! Progressbar which inform about sync process should be like in Bitcoin Wallet for Android. This mean that 0% is than, when we run client and it is unsynchronized. Now it shows 99% after start and it not changing until full synchronization. This is not functional if not inform about progress.
+1


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: ArtForz on September 08, 2011, 05:46:47 PM
I would think they should be released a separately as the qt dependency  changes the nature of the licenses being depended on, and a more free main branch would be preferable.

Qt is available under a commercial license, the LGPL, and the GPL. Can you elaborate on your concerns?

It is just that.   It would be the most restrictive license yet used for anything required.   If this was  brought in,   anyone distributing binaries will also have to make available the source code to the Qt that they used for example or not bundle it.   Wxwidgets made sure those conditions did not apply to derived works distributed in binary form.   The creators of Qt got dragged a bit towards it even being  as unrestricted as the LGPL in the beginning.  I had noticed that the licenses picked so far are all much less restrictive  and had thought that was a deliberate choice to keep the software free to more uses without the burdens of the GPL

But the license of the bitcoin and bitcoin-qt code is still MIT, even though it links against an LGPL library. IANAL, but I believe this means that if you use the source to build a headless version (which doesn't link against Qt) there is no restriction on the distribution of the resulting binary.
We're statically linking BDB4.7 already. Read that license?

edit: to save some hunting, here it is:
Code:
/*
 * Copyright (c) 1990,2008 Oracle.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Redistributions in any form must be accompanied by information on
 *    how to obtain complete source code for the DB software and any
 *    accompanying software that uses the DB software.  The source code
 *    must either be included in the distribution or be available for no
 *    more than the cost of distribution plus a nominal fee, and must be
 *    freely redistributable under reasonable conditions.  For an
 *    executable file, complete source code means the source code for all
 *    modules it contains.  It does not include source code for modules or
 *    files that typically accompany the major components of the operating
 *    system on which the executable file runs.
 *
 * THIS SOFTWARE IS PROVIDED BY ORACLE ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
 * NON-INFRINGEMENT, ARE DISCLAIMED.  IN NO EVENT SHALL ORACLE BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: twobits on September 08, 2011, 07:05:49 PM
I would think they should be released a separately as the qt dependency  changes the nature of the licenses being depended on, and a more free main branch would be preferable.

Qt is available under a commercial license, the LGPL, and the GPL. Can you elaborate on your concerns?

It is just that.   It would be the most restrictive license yet used for anything required.   If this was  brought in,   anyone distributing binaries will also have to make available the source code to the Qt that they used for example or not bundle it.   Wxwidgets made sure those conditions did not apply to derived works distributed in binary form.   The creators of Qt got dragged a bit towards it even being  as unrestricted as the LGPL in the beginning.  I had noticed that the licenses picked so far are all much less restrictive  and had thought that was a deliberate choice to keep the software free to more uses without the burdens of the GPL

But the license of the bitcoin and bitcoin-qt code is still MIT, even though it links against an LGPL library. IANAL, but I believe this means that if you use the source to build a headless version (which doesn't link against Qt) there is no restriction on the distribution of the resulting binary.
We're statically linking BDB4.7 already. Read that license?

edit: to save some hunting, here it is:


Thanks.   You did not save me any hunting however.  I have of course  read the Sleepycat license, in fact  years ago and was quoting form it recently in another thread here, and reread it before posting in that thread.
 I do agree it is the current most restrictive license  being used by a dependency. In fact that is why I have said on irc to some that I had been thinking  of removing that dependency.   That really would not be that big of a project.    That would be a silly project now though if another more restrictive one would go in.   In fact the current distributions of the binaries for bitcoin are in violation of the Sleepycat license. It however would be very simple to remedy  unlike the gpl licenses that require you to keep available the exact code you used for a number of years and not just point to another mirror of it.

I stand by what I said above, and I said it being fully aware of of the BDB dependance and it's license, and am not sure why you thought I was not.



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: twobits on September 08, 2011, 07:11:49 PM
It is just that.   It would be the most restrictive license yet used for anything required.   If this was  brought in,   anyone distributing binaries will also have to make available the source code to the Qt that they used for example or not bundle it.   Wxwidgets made sure those conditions did not apply to derived works distributed in binary form.   The creators of Qt got dragged a bit towards it even being  as unrestricted as the LGPL in the beginning.  I had noticed that the licenses picked so far are all much less restrictive  and had thought that was a deliberate choice to keep the software free to more uses without the burdens of the GPL
I can't imagine a better way to keep the software freer than with the likes of the GPL, but I suppose that's beyond the point. If copyleft should work its way into the main branch, as it might with the inclusion of Qt, folks who don't like it can just work with their own non-copyleft branch.


Yes,  someone could always fork that last branch before that and probably will.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: ArtForz on September 08, 2011, 07:28:20 PM
I just don't see the massive problem here. SleepyCat (in my book a way "stronger" copyleft license than LGPL) is ok because you can rewrite the database interface, but simply removing the GUI or forking the old wx GUI is ... what? impossible?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: twobits on September 08, 2011, 07:33:22 PM
I just don't see the massive problem here. SleepyCat (in my book a way "stronger" copyleft license than LGPL) is ok because you can rewrite the database interface, but simply removing the GUI or forking the old wx GUI is ... what? impossible?


Again you put things that I am not writing.  Where did I write that the SleepyCat is ok?   I simple wrote that is is less restrictive then the  LGPL.  If I thought it was ok, I doubt I would have started the project to remove it.
 Is that the point of debate?     What to me was not ok, is going the direction of more restrictive licenses.   I simple said that it would not be too hard to remove.   I did not say it was ok to me.  However it already is present. Too late to avoid adding it unlike lgpled dependent code.

Also never said that forking it was impossible, in fact in the post right above your reply I say the opposite.  I probably will do just that, if I continue.  Just thought I would try and avoid the need for yet another fork.



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: ArtForz on September 08, 2011, 07:41:50 PM
*shrug* I still don't see how LGPL is more restrictive than SleepyCat, but... guess we'll have to disagree on that.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: aq on September 08, 2011, 11:26:22 PM
It is just that.   It would be the most restrictive license yet used for anything required.   If this was  brought in,   anyone distributing binaries will also have to make available the source code to the Qt that they used for example or not bundle it.   Wxwidgets made sure those conditions did not apply to derived works distributed in binary form.   The creators of Qt got dragged a bit towards it even being  as unrestricted as the LGPL in the beginning.  I had noticed that the licenses picked so far are all much less restrictive  and had thought that was a deliberate choice to keep the software free to more uses without the burdens of the GPL
I can't imagine a better way to keep the software freer than with the likes of the GPL, but I suppose that's beyond the point. If copyleft should work its way into the main branch, as it might with the inclusion of Qt, folks who don't like it can just work with their own non-copyleft branch.
Actually I can't imaging someone wants a closed source bitcoin client - the only advantage of not using GPL. As a side effect of using GPL all bitcoin forks would stay open source too, which is not necessary with MIT/BSD. Looking at Linux, GPL did not prevent it from being used commercially, in contrast, it enabled it reaching from smartphones to supercomputers.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: kjj on September 09, 2011, 04:14:29 AM
It is just that.   It would be the most restrictive license yet used for anything required.   If this was  brought in,   anyone distributing binaries will also have to make available the source code to the Qt that they used for example or not bundle it.   Wxwidgets made sure those conditions did not apply to derived works distributed in binary form.   The creators of Qt got dragged a bit towards it even being  as unrestricted as the LGPL in the beginning.  I had noticed that the licenses picked so far are all much less restrictive  and had thought that was a deliberate choice to keep the software free to more uses without the burdens of the GPL
I can't imagine a better way to keep the software freer than with the likes of the GPL, but I suppose that's beyond the point. If copyleft should work its way into the main branch, as it might with the inclusion of Qt, folks who don't like it can just work with their own non-copyleft branch.
Actually I can't imaging someone wants a closed source bitcoin client - the only advantage of not using GPL. As a side effect of using GPL all bitcoin forks would stay open source too, which is not necessary with MIT/BSD. Looking at Linux, GPL did not prevent it from being used commercially, in contrast, it enabled it reaching from smartphones to supercomputers.

GPL software is never open source.  It is always free, which is the whole point of the license.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: aq on September 09, 2011, 11:51:09 AM
It is just that.   It would be the most restrictive license yet used for anything required.   If this was  brought in,   anyone distributing binaries will also have to make available the source code to the Qt that they used for example or not bundle it.   Wxwidgets made sure those conditions did not apply to derived works distributed in binary form.   The creators of Qt got dragged a bit towards it even being  as unrestricted as the LGPL in the beginning.  I had noticed that the licenses picked so far are all much less restrictive  and had thought that was a deliberate choice to keep the software free to more uses without the burdens of the GPL
I can't imagine a better way to keep the software freer than with the likes of the GPL, but I suppose that's beyond the point. If copyleft should work its way into the main branch, as it might with the inclusion of Qt, folks who don't like it can just work with their own non-copyleft branch.
Actually I can't imaging someone wants a closed source bitcoin client - the only advantage of not using GPL. As a side effect of using GPL all bitcoin forks would stay open source too, which is not necessary with MIT/BSD. Looking at Linux, GPL did not prevent it from being used commercially, in contrast, it enabled it reaching from smartphones to supercomputers.

GPL software is never open source.  It is always free, which is the whole point of the license.
Well, it depends on your definition of the term "open source". These days this usually means an OSI http://www.opensource.org/ (http://www.opensource.org/) approved license.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 09, 2011, 05:49:13 PM
No license discussion here please, get your own room :) The core library is still independent of Qt, so you choose to link against LGPL (Qt is not GPL!) code only when you want to build the UI not when you want to link it into your own evilly licensed statically linked program :P

Matoking's fixes have been merged

Quote
One thing which should be change before merge! Progressbar which inform about sync process should be like in Bitcoin Wallet for Android. This mean that 0% is than, when we run client and it is unsynchronized. Now it shows 99% after start and it not changing until full synchronization. This is not functional if not inform about progress.
Yeah, I too think that'd be better...


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Matoking on September 11, 2011, 08:11:11 AM
Quote
One thing which should be change before merge! Progressbar which inform about sync process should be like in Bitcoin Wallet for Android. This mean that 0% is than, when we run client and it is unsynchronized. Now it shows 99% after start and it not changing until full synchronization. This is not functional if not inform about progress.
Yeah, I too think that'd be better...

https://github.com/Matoking/bitcoin-qt ( https://github.com/Matoking/bitcoin-qt/commit/b97357889fd71549373b7d2a826a863402a586ff )
I implemented it on my fork. May not be the best way of doing it but it works. Let me know if it's ok.

Also, the launch parameter reference has been removed in the latest commit, gotta figure out how I'll implement it.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 11, 2011, 08:22:43 AM
Quote
I implemented it on my fork. May not be the best way of doing it but it works. Let me know if it's ok.
Thanks. I think your implementation of storing the number in the model (instead of the core) is a good idea.

Quote
Also, the launch parameter reference has been removed in the latest commit, gotta figure out how I'll implement it.
Please don't add commandline parameters for GUI options, it's not the right place. If it would be an option, it should be in Options in the GUI, add an "Appearance" tab for example :)

Though I don't think this is a big issue. If people think that the transparency effect is annoying we should simply remove it. I personally thought it looked nice and accepted the contribution from nico_w making the application look more "windows 7 native", but we could get rid of a lot of windows-specific code if we simply removed it.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Matoking on September 11, 2011, 08:46:39 AM
The problem with the transparency effect is you sometimes to have to move stuff around or maximize the window to make it readable. If your application window is over a black background it's hard to read it. I'll see if there's something that can be done to make it better.

And that commandline parameter was just a test that never took off, no intention of adding it like that.

Maybe add a glow over the menu buttons (native Windows programs do this)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 11, 2011, 08:53:47 AM
The better progress bar handling patch has been merged.

Maybe add a glow over the menu buttons (native Windows programs do this)
Yeah I wonder if Qt can do this. If not, I don't think it's worth spending too much work in. But this indeed would be a far better solution  :)

Edit: BTW, thanks to whoever sent me a anonymous donation


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Matoking on September 11, 2011, 04:01:52 PM
Hmm, I noticed after I played Portal 2 that the background of the main window became entirely black.

I wonder if the transparency effect is really needed after all.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 11, 2011, 07:02:02 PM
I'm going to remove it for now...


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Furyan on September 12, 2011, 01:10:50 PM
I'm going to remove it for now...

Would it matter if I object?

FWIW the transparency effect is working exactly as intended.  The black background after playing Portal 2 is likely due to a crashed video driver.  Simply restarting the DWM service will fix that.

With regard to having to move the window around if you've got it on top of something with a black background - like a console window? - Microsoft took that kind of issue into account when creating the UI.  For the vast majority of "dumb" users, it isn't an issue and your average user will expect to see transparency in a supposedly professional app. Removing it will make them think you haven't really updated it in a long time, reducing their confidence in it.  The research confirms this.

We technical types have a way of designing software the way we think people would use it.  We're almost never right in that regard - we use software very, very differently than an average user.  If your purpose with Bitcoin-Qt is only to appeal to a technical audience, your intuition will guide you very well.  If your purpose is to appeal to less technical users and encourage wide adoption of Bitcoin, you should ignore your intuition as often as possible and look to other well-documented approaches for guidance.

I think the transparency makes the app look alot more beautiful and I rather liked it..


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: HostFat on September 12, 2011, 01:23:05 PM
Can be enabled as an option? :)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Matoking on September 12, 2011, 01:57:43 PM
Having the transparency effect as an option would be the best solution.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Furyan on September 12, 2011, 03:13:04 PM
Having the transparency effect as an option would be the best solution.

Agreed, though I should add I think the option should be to turn it off, i.e. defaulting to on.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Confucius on September 13, 2011, 04:34:53 AM
Having the transparency effect as an option would be the best solution.

Agreed, though I should add I think the option should be to turn it off, i.e. defaulting to on.

Furthermore, a color pallet for choosing the color of transparency would be really cool! Of course it would be extremely low on the priority list.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 13, 2011, 04:02:12 PM
Things like setting the color of palette or transparency of the background are not very important in a financial app, and making them options is overkill and only complicates the application logic.

It should either be implemented correctly, and readable for everyone on every kind of PC by default (including those with crappy old gfx cards), or not in there at all.

I'm not against it, and have only removed it "for now" to err on the safe side.

You're welcome to submit it again as a pull request, but please handle the known problems such as readability when full-screen or on top of some crowded background.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Confucius on September 14, 2011, 09:30:28 AM
Things like setting the color of palette or transparency of the background are not very important in a financial app, and making them options is overkill and only complicates the application logic.

It should either be implemented correctly, and readable for everyone on every kind of PC by default (including those with crappy old gfx cards), or not in there at all.

Upon second thought, your absolutely right. Then again it is a GUI wrapper so...

Maybe, one day when I get of my lazy ass, I could branch my own with the pretty features I like =)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: HostFat on September 15, 2011, 12:24:36 PM
As I said for MultiBit client (https://bitcointalk.org/index.php?topic=43616.msg525227#msg525227), is it possible to put all text on this service: http://crowdin.net ( or something like it )
So it will be easy and fast to translate it on many languages :)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 16, 2011, 05:03:25 AM
As I said for MultiBit client (https://bitcointalk.org/index.php?topic=43616.msg525227#msg525227), is it possible to put all text on this service: http://crowdin.net ( or something like it )
So it will be easy and fast to translate it on many languages :)
Interesting, that service seems to be "free for open source". I'll take a look at it.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: jim618 on September 18, 2011, 06:56:59 PM
Hi John,
Yes - it looks a pretty good site.   You have to fill out a little 'It's an open source project really" form that someone reviews and then I think you are good to go.

I am still waiting for them to get back to me - sent it late on Thursday so I imagine it is sat in someones list of 'todo's.

Jim


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: HostFat on September 19, 2011, 02:06:23 AM
A dream comes true! Bitcoin translated in more than 90 languages all around the world, in few days! ;D


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Xenland on September 19, 2011, 02:17:34 AM
Download noaw!


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 19, 2011, 08:13:41 AM
I am still waiting for them to get back to me - sent it late on Thursday so I imagine it is sat in someones list of 'todo's.
I've just submitted my request as well.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: P4man on September 19, 2011, 08:36:18 AM
Can I just say, WAAW :)
Lovely client, thank you very much.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: phorensic on September 20, 2011, 03:23:08 AM
I have been using this client my primary wallet for a while now and it still rocks!  I've submitted a small issue on Git.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: slothbag on September 20, 2011, 03:58:09 AM
Having difficulty compiling this for windows.  Using the vs2008 qt library wont compile at all, using the mingw library I can get it to compile but has all sorts of dll dependencies to run.

Is it possible to compile one exe with all libraries statically linked on windows?



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Furyan on September 20, 2011, 01:27:07 PM
Having difficulty compiling this for windows.  Using the vs2008 qt library wont compile at all, using the mingw library I can get it to compile but has all sorts of dll dependencies to run.

Is it possible to compile one exe with all libraries statically linked on windows?


Yes, in fact I'm working on exactly such a project right now.  I have had no problems compiling Qt on Windows (the entire framework plus my own app & dependencies).  What sorts of issues are you seeing?

Oh, I should mention, if you want to statically link Qt to your executables, Qt has to be built statically as well. I had to recompile the Qt library on Windows for this to work.

It's actually harder to compile Qt using mingw than it is using the Visual Studio compiler, at least that was my experience...


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Alex Zee on September 20, 2011, 07:23:24 PM
Is it possible to compile one exe with all libraries statically linked on windows?

I did a special "all included" build for the main client (see https://bitcointalk.org/index.php?topic=44681.0).

As soon as there is an official 0.5 version I will update this build with QT.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: mb300sd on September 22, 2011, 06:57:42 AM
Can we please get the block count and # connections display back? Maybe next to the progress bar? I like being able to see the number going up rather than a bar that barely moves.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 22, 2011, 06:59:44 AM
Can we please get the block count and # connections display back? Maybe next to the progress bar? I like being able to see the number going up rather than a bar that barely moves.
We explicitly decided to have no raw numbers in the base UI, as they are overwhelming to new users. If you want to see it, you can view the number of blocks as tooltip of the progress bar (or the throbber icon).


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 22, 2011, 09:56:03 PM
Can we please get the block count and # connections display back? Maybe next to the progress bar? I like being able to see the number going up rather than a bar that barely moves.
Though thinking of it, some kind of livelyness indicator would be nice. Indeed, if you have to download the entire block chain, the progress bar moves very slow.
The throbber icon rotates at the same speed whether actual blocks are being downloaded in or not. One option would be to adapt its speed somehow based on the download speed (within reasonable limits).


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: TiagoTiago on September 23, 2011, 12:14:55 AM
How about adding a rolling pulse to the scrollbar that only pulses when a new block gets downloaded?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: slothbag on September 23, 2011, 04:44:06 AM
When are we likely to see compiled versions available for download?  I spent a few days trying to compile it and gave up.





Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 23, 2011, 06:31:42 AM
How about adding a rolling pulse to the scrollbar that only pulses when a new block gets downloaded?
I've thought about that, but the QProgressBar (http://doc.qt.nokia.com/4.6/qprogressbar.html) has no way to do control pulsing afaik, to make it progress indicator and livelyness indicator at the same time.

Quote
When are we likely to see compiled versions available for download?  I spent a few days trying to compile it and gave up.
When it's integrated into mainline...



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 23, 2011, 06:59:02 AM
Though thinking of it, some kind of livelyness indicator would be nice. Indeed, if you have to download the entire block chain, the progress bar moves very slow.
The throbber icon rotates at the same speed whether actual blocks are being downloaded in or not. One option would be to adapt its speed somehow based on the download speed (within reasonable limits).
I think I know a very simple solution: stop the "syncing" icon animation when no new block has come in for a certain (to be determined) time. Given that it's behind and catching up, of course. This makes it clear that the process is "stuck". After all, the most common usecase for livelyness indicators is to see if it is stuck. Now it happily stays spinning even if you pull the network plug :)



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 23, 2011, 07:53:31 AM
I know even simpler idea progress bar with block such of total number of blocks being downloaded if you see the such part has not updated in an amount of time you know something is wrong. Not the shinny ooh and ahh fancy graphics but does provide actual useful information to the user to determine what is happening.
As I said, you can already get this information by looking at the tooltip that appears for the progress bar. This is not a matter of information not being available, just of presenting it better.

As I also said before, there is no reason why the user has to be bothered with raw block amounts (or the word "block" at all) in the "dashboard" when the application is working normally. This is a financial application, not a download client. Big numbers in the UI (except for BTC amounts :-) would just confuse/overwhelm users.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 23, 2011, 08:19:19 AM
Ah yes the old users are stupid argument thought it would be what you said but was curious so I posted.
Users are not stupid, they just don't need to know bitcoin protocol internals and implemententation details to use it. Seperation of concerns et al... See it as a "private" definition in C++.

This is the kind of UI you'll get otherwise:
http://4.bp.blogspot.com/_hdlxQSJvoIc/RqfkodLttsI/AAAAAAAAAQA/DwQfa-qbsjI/s400/homer-car.gif :)


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on September 23, 2011, 08:30:47 AM
Oh yeah bet they taught you that at usability class in university did they tell you that separate boxes for the amount was a good idea too, later.
By making it absolutely clear what are the decimals and what is the whole amount, it makes sure that comma/dot errors don't occur for international users. This was determined the best solution at the time (it's a non-trivial problem if you send 4,000 bitcoins instead of 4.000). You can jump to the second box by typing either ",", "." or <tab> ...

Anyway, if you have any usability issues with it you can report them on the github tracker. We're waay off topic.



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Matoking on September 23, 2011, 10:13:03 AM
When are we likely to see compiled versions available for download?  I spent a few days trying to compile it and gave up.




I can compile a Windows version if that's what you're using, just send me a PM or something and I'll most likely do it.

Also, I think the Overview page looks a bit empty/bland as of now. Or maybe it's just me. :P


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Gavin Andresen on September 26, 2011, 03:57:43 PM
I pulled Bitcoin-QT into the main bitcoin tree this morning.



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: EskimoBob on September 26, 2011, 06:34:09 PM
bitcoin-qt looks sweet in KDE. :)
Gentoo still has no working ebuild but source can be compiled with out any problems after you edit the Make file and add "-I/usr/include/db4.8" to INCPATH =



Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: kripz on September 27, 2011, 09:57:04 AM
Please make it so when changing tabs the multiple addresses and values do not dissapear.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: Matoking on September 27, 2011, 10:21:35 AM
It probably is as easy as taking off/commenting out the sendCoinsPage->clear(); function on the line 528 in bitcoingui.cpp.

I'll check it out.

If we are going to remove it, we should also have a "Clear all Entries" button on the Send Coins page, so you don't have to clear every transaction invidually.

EDIT:
Well this is funny. Bitcoin-qt refuses to compile (at least using MingGW) after bringing my fork up-to-date.

EDIT 2 :
Commit https://github.com/laanwj/bitcoin-qt/commit/010c4fc0b5ca8ceccf15417b833bea4ce1016f43 won't compile on Windows while https://github.com/laanwj/bitcoin-qt/commit/5dd7318db75db580d602c72a2322df97d8712233 compiles just fine.

EDIT 3 :
Okay, it seems the commit https://github.com/Matoking/bitcoin-qt/commit/99cec89cb369beb8dce6c92db837bb5951f627d5 breaks compiling on Windows. Everything before it compiles just fine.

Code:
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libcrypto.a(rand_win.o):rand_win.c:(.text+0xee0): undefined reference to `CreateDCA@16'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libcrypto.a(rand_win.o):rand_win.c:(.text+0xeef): undefined reference to `CreateCompatibleDC@4'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libcrypto.a(rand_win.o):rand_win.c:(.text+0xf08): undefined reference to `GetDeviceCaps@8'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libcrypto.a(rand_win.o):rand_win.c:(.text+0xf23): undefined reference to `GetDeviceCaps@8'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libcrypto.a(rand_win.o):rand_win.c:(.text+0xf44): undefined reference to `CreateCompatibleBitmap@12'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libcrypto.a(rand_win.o):rand_win.c:(.text+0xf5b): undefined reference to `SelectObject@8'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libcrypto.a(rand_win.o):rand_win.c:(.text+0xf7e): undefined reference to `GetObjectA@12'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libcrypto.a(rand_win.o):rand_win.c:(.text+0x1024): undefined reference to `BitBlt@36'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libcrypto.a(rand_win.o):rand_win.c:(.text+0x103b): undefined reference to `GetBitmapBits@12'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libcrypto.a(rand_win.o):rand_win.c:(.text+0x10b0): undefined reference to `SelectObject@8'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libcrypto.a(rand_win.o):rand_win.c:(.text+0x10bb): undefined reference to `DeleteObject@4'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libcrypto.a(rand_win.o):rand_win.c:(.text+0x10c8): undefined reference to `DeleteDC@4'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libcrypto.a(rand_win.o):rand_win.c:(.text+0x10d5): undefined reference to `DeleteDC@4'

EDIT 4 :
I've worked around it temporarily by using the old .pro file. Also, implemented what kripz suggested alongside with a Clear all button :
https://github.com/Matoking/bitcoin-qt/commit/609acbf43d8d66102878e47a826c037edc270e46


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: jago25_98 on November 03, 2011, 12:25:00 PM
Perhaps some sort of plugin for QRencode might be possible now.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: jimbobway on November 03, 2011, 05:26:14 PM
Question...I understand that Gavin and Satoshi have a super duper password to notify all clients to display a message.  Was this tested or included in the bitcoin-qt?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: jimbobway on November 06, 2011, 01:05:21 AM
Question...I understand that Gavin and Satoshi have a super duper password to notify all clients to display a message.  Was this tested or included in the bitcoin-qt?

Can anyone clarify this?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: genjix on November 06, 2011, 02:03:24 AM
Question...I understand that Gavin and Satoshi have a super duper password to notify all clients to display a message.  Was this tested or included in the bitcoin-qt?

Can anyone clarify this?

https://en.bitcoin.it/wiki/Protocol_specification#alert


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: muyuu on February 09, 2012, 03:41:26 PM
Ah yes the old users are stupid argument thought it would be what you said but was curious so I posted.
Users are not stupid, they just don't need to know bitcoin protocol internals and implemententation details to use it. Seperation of concerns et al... See it as a "private" definition in C++.

This is the kind of UI you'll get otherwise:
http://4.bp.blogspot.com/_hdlxQSJvoIc/RqfkodLttsI/AAAAAAAAAQA/DwQfa-qbsjI/s400/homer-car.gif :)


Looks boss.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: RobbieMor on August 14, 2012, 11:09:27 AM
The new release looks much better but I still can't find out how much the total fees are to send coins.
My wallet has 0.52390169 BTC and I tried to spend it and got the message "Total exceeds your balance when the .01  BTC tranasaction fee is included" Fair enough so I reduced the spend to 0.51390169 and the get the message "Total exceeds your balance when the .23 BTC tranasaction fee is included"
This doesn't seem right or fair.
How do I calculate what the TOTAL fees are going to be?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: kjj on August 14, 2012, 03:14:56 PM
The new release looks much better but I still can't find out how much the total fees are to send coins.
My wallet has 0.52390169 BTC and I tried to spend it and got the message "Total exceeds your balance when the .01  BTC tranasaction fee is included" Fair enough so I reduced the spend to 0.51390169 and the get the message "Total exceeds your balance when the .23 BTC tranasaction fee is included"
This doesn't seem right or fair.
How do I calculate what the TOTAL fees are going to be?

There really isn't any way to tell.  The system doesn't know what fees will be needed until it makes an attempt at the knapsack problem of selecting the transactions to redeem.

And yeah, there should maybe be a special case for emptying a wallet, but there isn't.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: mmortal03 on February 03, 2013, 05:45:04 AM
The new release looks much better but I still can't find out how much the total fees are to send coins.
My wallet has 0.52390169 BTC and I tried to spend it and got the message "Total exceeds your balance when the .01  BTC tranasaction fee is included" Fair enough so I reduced the spend to 0.51390169 and the get the message "Total exceeds your balance when the .23 BTC tranasaction fee is included"
This doesn't seem right or fair.
How do I calculate what the TOTAL fees are going to be?

There really isn't any way to tell.  The system doesn't know what fees will be needed until it makes an attempt at the knapsack problem of selecting the transactions to redeem.

And yeah, there should maybe be a special case for emptying a wallet, but there isn't.

I can't believe this isn't mentioned more frequently on here. I'm trying to empty my wallet, and when I adjust the amount to account for the stated transaction fee, the transaction fee just keeps going up. I even tried upping the fee in the options but it still just kept getting larger to where it wasn't worth doing the transaction. This is obviously a bug in the design, and the "knapsack problem" is not an excuse (no offense to kjj). The idea that people can have bitcoins in their wallet but can't spend them is just ludicrous.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: kjj on February 03, 2013, 06:24:20 AM
The new release looks much better but I still can't find out how much the total fees are to send coins.
My wallet has 0.52390169 BTC and I tried to spend it and got the message "Total exceeds your balance when the .01  BTC tranasaction fee is included" Fair enough so I reduced the spend to 0.51390169 and the get the message "Total exceeds your balance when the .23 BTC tranasaction fee is included"
This doesn't seem right or fair.
How do I calculate what the TOTAL fees are going to be?

There really isn't any way to tell.  The system doesn't know what fees will be needed until it makes an attempt at the knapsack problem of selecting the transactions to redeem.

And yeah, there should maybe be a special case for emptying a wallet, but there isn't.

I can't believe this isn't mentioned more frequently on here. I'm trying to empty my wallet, and when I adjust the amount to account for the stated transaction fee, the transaction fee just keeps going up. I even tried upping the fee in the options but it still just kept getting larger to where it wasn't worth doing the transaction. This is obviously a bug in the design, and the "knapsack problem" is not an excuse (no offense to kjj). The idea that people can have bitcoins in their wallet but can't spend them is just ludicrous.

Sigh.  Please google before you necro next time.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: mmortal03 on February 03, 2013, 10:10:41 AM
I did, and didn't come up with specific information related to the error message and specific circumstance that RobbieMor described, just git source code entries. I'm not new to the game here, it's about being frustrated that the only reference to this incrementing fee behavior was still only in this thread, based on my queries. When I googled some other iterations, I did find one other contribution in a thread from over a year ago that I'll have to track down and link to. It was the only instance that gave the practical advice of lowering the number of decimal places in the transaction amount, though that's obviously not a perfect workaround. I'll see what I can piece together to contribute to a more static, on-topic spot than this. The go-to link for most people, https://en.bitcoin.it/wiki/Transaction_fees#Sending (https://en.bitcoin.it/wiki/Transaction_fees#Sending), just isn't helpful regarding this specific behavior of the client.

As far as practical enhancements, is there any possible feature that could be implemented into the client to offer the user a best case alternative, maximizing the best ratio of highest transaction amount possible to lowest transaction fee for the current wallet contents?


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: muyuu on March 31, 2013, 10:46:35 PM
So today I used this client for a change, on a Mac computer. Current version.

I sent an amount, and it apparently went through. But I cannot see it being deduced from my balance. What's going on?

I only have two addresses imported in this client, I check my balances on blockchain.info or blockexplorer.com and they are unchanged several hours later.

I'm confused. How to check which address did it send it from?? I check the Tx ID and I don't see any of my addresses anywhere.


Title: Re: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]
Post by: wumpus on April 01, 2013, 09:59:44 AM
Closing this topic; bitcoin-qt has been integrated into mainline a long time ago, no need to have an topic in alternative clients.

Please go to https://bitcointalk.org/index.php?board=4.0 for tech support questions.