Skip to content
ny2cafuse edited this page Mar 18, 2016 · 1 revision

Qt5 interface / GUI redesign

Motivation

The current wallet uses Qt4, which is showing its age. As we want to redesign the interface any way, let's create a new one in Qt5. This should also reduce the issues with building on MacOSX and Windows. Also, the Qt4 interface passes variabilities through various functions (without alteration) before it ends on the interface itself.

Workings of the Qt4 interface.

In Qt4 the interface is loaded first, which starts the auroracoind code inside a QObject and passes that to Qthread. So, auroracoind starts in its own thread. This is the way Qt advises it to do. Communication seems to go through signal slots.

Things to take into consideration

  • Help mentions "dirtybeta". Version numbering needs to be centralized and sorted out. Currently a mess with different versions assigned in various places.
  • Replace background image and splash image. Contact LTEX to provide images.
  • Redesign interface
  • The slots communication is nice for a responsive interface, but maybe not the best for intra-thread communication. Improvements on this side possible?
  • Is wallet code part of auroracoind thread or the GUI?

Qt5 related building notes

  • For Gentoo emerge qtwidgets (pulls in qtcore, qtgui and qtdbus).
  • Modify the Makefile to use qt5 instead of qt4 after running configure. Don't forget to add QtWidget includes.
  • Qt5 will be build in the src/qt5 directory.

Interface mock-ups

Qt5 Home screen Qt5 Receive screen Qt5 Send screen Qt5 Settings screen Under construction...