Other: fixed case issue in SSL member function names. Other: removed 'restart' mention in SMTP and IMAP SSL settings. GODT-1846: modified gRPC server to introduce ConnectionMode settings. GODT-1846: implemented connection mode handling in bridge-gui. GODT-1846: implemented error reporting in bridge-gui for connection mode. Other: gathered all IMAP/SMTP server settings. GODT-1846: wired IMAP/SMTP port change errors. Other: Renamed some error events and signals. Other: Fixed crash in IMAP restart when not started. Other: dismiss port error notifications before changing ports. Other: misc. fixes.
bridge-gui
bridge-gui is the graphical user interface for Bridge. It's a C++ Qt application that communicates with the bridge executable via gRPC remote procedure call, on a local-only TLS-secured connection.
Components
bridge-gui consists in 3 components:
- bridge-gui: The Bridge-GUI application itself. It's a QML Qt application that implements the bridge gRPC service to communicate and interact with the bridge application written in Go.
- bridge-gui-tester: A Qt widgets test application that offers a dummy gRPC server implementing the Bridge gRPC service. It can be used as a debugging and development tool, as it can simulate the server side (bridge) portion of the gRPC service.
- bridgepp: bridgepp (for bridge++) is a C++ static library that contains the code shared by bridge-gui and bridge-gui-tester.
Bridge gRPC service
The bridge gRPC service that allows communications between bridge-gui, and the bridge Go application (or
bridge-gui-tester) is defined in ../grpc/bridge.proto.
Supported platforms
bridge-gui runs on the same platforms as the bridge app:
- Linux x64.
- macOS x64 and Apple Silicon.
- Windows x64.
Requirements:
- A C++ development toolchain (GCC/Clang/ MSVC, CMake, Ninja). An easy way to get all the needed tools is to use a modern IDE such as CLion, Qt Creator or Visual Studio Code that will check and install or use their bundled versions of the tools.
- Qt 6. Use the online installer to install the latest stable release of Qt for your platform and compiler.
First build
bridge-gui uses vcpkg, Microsoft multi-platform C/C++ dependency manager to get
the source code and build gRPC and its dependencies (protobuf, zlib, ...). vcpkg is managed as a git submodule
in extern/vcpkg,relative to the root of the bridge source tree. A pair of scripts is provided to perform
the initialization of vcpkg, the retrieval and compilation of gRPC and a first build of the bridge-gui project
components:
build.sh: a shell script to use on macOS and Linux.build.ps1: a PowerShell script for Windows.