Bitcoin Forum
November 19, 2024, 12:23:11 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 »  All
  Print  
Author Topic: Bitcoin-Qt, the future Bitcoin client GUI [user input needed]  (Read 57158 times)
zwierzak
Newbie
*
Offline Offline

Activity: 24
Merit: 0



View Profile WWW
June 30, 2011, 07:47:28 AM
 #61

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.
dan_a
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
June 30, 2011, 12:34:06 PM
 #62

I'm still trying to get the Windows build working.  If anyone's able to answer this 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.
zwierzak
Newbie
*
Offline Offline

Activity: 24
Merit: 0



View Profile WWW
June 30, 2011, 01:19:23 PM
 #63

I'm still trying to get the Windows build working.  If anyone's able to answer this 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?
dan_a
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
June 30, 2011, 01:28:02 PM
 #64

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...)
zwierzak
Newbie
*
Offline Offline

Activity: 24
Merit: 0



View Profile WWW
June 30, 2011, 01:57:31 PM
 #65

Mingw is generating libraries for Windows, so you can use without problem from VS in mingw or from mingw in VS.
wumpus (OP)
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1022

No Maps for These Territories


View Profile
June 30, 2011, 02:09:54 PM
Last edit: June 30, 2011, 02:21:52 PM by John Smith
 #66

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.

Bitcoin Core developer [PGP] Warning: For most, coin loss is a larger risk than coin theft. A disk can die any time. Regularly back up your wallet through FileBackup Wallet to an external storage or the (encrypted!) cloud. Use a separate offline wallet for storing larger amounts.
zwierzak
Newbie
*
Offline Offline

Activity: 24
Merit: 0



View Profile WWW
June 30, 2011, 02:33:49 PM
 #67

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.
zwierzak
Newbie
*
Offline Offline

Activity: 24
Merit: 0



View Profile WWW
June 30, 2011, 11:28:02 PM
 #68

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://img59.imageshack.us/img59/6594/bitcoinqt5.png
wumpus (OP)
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1022

No Maps for These Territories


View Profile
July 01, 2011, 05:11:13 AM
Last edit: July 01, 2011, 05:25:06 AM by John Smith
 #69

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;



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?


Bitcoin Core developer [PGP] Warning: For most, coin loss is a larger risk than coin theft. A disk can die any time. Regularly back up your wallet through FileBackup Wallet to an external storage or the (encrypted!) cloud. Use a separate offline wallet for storing larger amounts.
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526
Merit: 1134


View Profile
July 01, 2011, 11:14:09 AM
 #70

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.
markm
Legendary
*
Offline Offline

Activity: 3024
Merit: 1121



View Profile WWW
July 01, 2011, 11:45:34 AM
 #71

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-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
Danube
Newbie
*
Offline Offline

Activity: 41
Merit: 0



View Profile
July 01, 2011, 03:09:59 PM
 #72

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)"?
dan_a
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
July 01, 2011, 03:17:22 PM
 #73

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.)
wumpus (OP)
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1022

No Maps for These Territories


View Profile
July 01, 2011, 03:32:49 PM
Last edit: July 01, 2011, 04:11:31 PM by John Smith
 #74

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.

Bitcoin Core developer [PGP] Warning: For most, coin loss is a larger risk than coin theft. A disk can die any time. Regularly back up your wallet through FileBackup Wallet to an external storage or the (encrypted!) cloud. Use a separate offline wallet for storing larger amounts.
TiagoTiago
Hero Member
*****
Offline Offline

Activity: 616
Merit: 500


Firstbits.com/1fg4i :)


View Profile
July 01, 2011, 06:06:31 PM
 #75

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) ?

(I dont always get new reply notifications, pls send a pm when you think it has happened)

Wanna gimme some BTC/BCH for any or no reason? 1FmvtS66LFh6ycrXDwKRQTexGJw4UWiqDX Smiley

The more you believe in Bitcoin, and the more you show you do to other people, the faster the real value will soar!

Do you like mmmBananas?!
wumpus (OP)
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1022

No Maps for These Territories


View Profile
July 01, 2011, 06:17:49 PM
 #76

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

Bitcoin Core developer [PGP] Warning: For most, coin loss is a larger risk than coin theft. A disk can die any time. Regularly back up your wallet through FileBackup Wallet to an external storage or the (encrypted!) cloud. Use a separate offline wallet for storing larger amounts.
tschaboo
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
July 02, 2011, 02:54:59 AM
 #77

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  Wink
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.  Smiley
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  Lips sealed
tschaboo
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
July 02, 2011, 03:06:14 AM
 #78

Me again ...  Roll Eyes

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.
wumpus (OP)
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1022

No Maps for These Territories


View Profile
July 02, 2011, 08:26:03 AM
 #79

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


Bitcoin Core developer [PGP] Warning: For most, coin loss is a larger risk than coin theft. A disk can die any time. Regularly back up your wallet through FileBackup Wallet to an external storage or the (encrypted!) cloud. Use a separate offline wallet for storing larger amounts.
huayra.agera
Full Member
***
Offline Offline

Activity: 154
Merit: 100



View Profile
July 02, 2011, 07:56:51 PM
 #80

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!

BTC: 1JMPScxohom4MXy9X1Vgj8AGwcHjT8XTuy
Pages: « 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!