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.
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.
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.
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.
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.
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.
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.
8.) Dialog Address Book, Tab Sending:
a.) "Copy to Clipboard", "Edit" and "Delete" should be greyed out, if no address is selected.
Yeah...
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.
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.
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+.