ProtonMail Import-Export Qt interface
Import-Export uses Qt framework for creating appealing graphical user interface. Package therecipe/qt is used to implement Qt into Go.
For developers
The GUI is designed inside QML files. Communication with backend is done via
frontend.go. The API documentation is done via go-doc.
Setup
-
if you don't have the system wide
go-1.8.1download, install localy (e.g.~/build/go-1.8.1) and setup:export GOROOT=~/build/go-1.8.1/go export PATH=$GOROOT/bin:$PATH -
go to your working directory and export
$GOPATHexport GOPATH=`Pwd` mkdir -p $GOPATH/bin export PATH=$PATH:$GOPATH/bin -
if you dont have system wide
Qt-5.8.0download, install locally (e.g.~/build/qt/qt-5.8.0) and setup:export QT_DIR=~/build/qt/qt-5.8.0 export PATH=$QT_DIR/5.8/gcc_64/bin:$PATH -
Go-Qtsetup (installation is system dependent see therecipe/qt/README for details)go get -u -v github.com/therecipe/qt/cmd/... $GOPATH/bin/qtsetup
Compile
-
it is necessary to compile the Qt-C++ with go for resources and meta-objects
make -f Makefile.local -
FIXME the rcc file is implicitly generated with
package main. This needs to be changed topackage qtiemanually -
check that user interface is working
make -f Makefile.local test
Test
make -f Makefile.local qmlpreview
Deploy
- before compilation of Import-Export it is necessary to run compilation of Qt-C++ part (done in makefile)