Post
Topic
Board Development & Technical Discussion
Re: Preparing for wx --> qt switch
by
wumpus
on 18/09/2011, 11:34:46 UTC
I just made the big pull request: https://github.com/bitcoin/bitcoin/pull/521

  • To be clear, the Qt GUI can function as RPC server. You can mine with it, or interface to it from your favourite remote control script; just provide -server (and all other bitcoin command line arguments except -daemon).

  • It is not a RPC client. This might be added in the future (see issue #17), but in that case it will work as a graphical RPC client and not a command-line one. For the love of separation of concerns and other sound software engineering principles I'm against combining a command line RPC client and a GUI server/native client in one executable.

  • "Qt is an ugly toolkit" is BS, you can theme it any way you want with both images and vector graphics. You can even make it show in GTK themes. I chose QT not because of the graphical looks but because it is well-designed and encourages clean, maintainable code.

  • Also: as the Qt GUI is pretty much isolated from the core (only the models communicate with the core), it can serve as an example for other GUIs, or used as a starting point for moving all non-GUI code (such as lock handling) to the core and offering a nicer interface there. I did not do this because I wanted to minimize core changes.

  • What license issues? Qt is LGPL, just like GTK. Wx is similar "The wxWindows Licence is essentially the L-GPL (Library General Public Licence), with an exception stating that derived works in binary form may be distributed on the user's own terms" (http://www.wxwidgets.org/about/newlicen.htm)

Quote
I spent some time yesterday compiling Qt and bitcoin-qt, and some time this morning doing a very quick code review (executive summary: looks great!).
Thanks! Smiley