diff --git a/resources/SolutionTab.qml b/resources/SolutionTab.qml index 14125a7e7..86b074e63 100644 --- a/resources/SolutionTab.qml +++ b/resources/SolutionTab.qml @@ -57,7 +57,15 @@ MainTab { SolutionTabComponents.SolutionVelocityTab { } - SolutionTabComponents.SolutionMapTab { + Rectangle { + width: parent.width + height: parent.height + Loader { + sourceComponent: Globals.enableMap ? solutionMap : null + } + } + + property Component solutionMap: SolutionTabComponents.SolutionMapTab { } } } diff --git a/shell.nix b/shell.nix new file mode 100644 index 000000000..650b38470 --- /dev/null +++ b/shell.nix @@ -0,0 +1,56 @@ +{ pkgs ? import {} }: + +(pkgs.buildFHSUserEnv { + name = "swift-toolbox"; + targetPkgs = pkgs: (with pkgs; + [ imagemagick + libxcrypt-legacy + glib + capnproto + openssl + pkg-config + cmake + clang + libglvnd + libxkbcommon + nss + nspr + wayland + fontconfig + freetype + expat + alsa-lib + dbus + libkrb5 + zlib + gdb + ]) ++ (with pkgs.xorg; + [ libX11 + libXcursor + libXrandr + libxkbfile + libXcomposite + libXdamage + libXext + libXfixes + libXrender + libXtst + libxcb + xcbutilkeysyms + xcbutilimage + xcbutilwm + xcbutilrenderutil + libXi + libxshmfence + ]); + profile = '' + unset QT_QPA_PLATFORMTHEME + unset QT_STYLE_OVERRIDE + unset QTWEBKIT_PLUGIN_PATH + unset QT_PLUGIN_PATH + + export PKG_CONFIG_PATH="${pkgs.openssl.dev}/lib/pkgconfig" + export LIBCLANG_PATH="${pkgs.llvmPackages_11.libclang.lib}/lib" + ''; + runScript = "bash"; +}).env diff --git a/swiftnav_console/main.py b/swiftnav_console/main.py index e029cbd4a..5c57809e5 100644 --- a/swiftnav_console/main.py +++ b/swiftnav_console/main.py @@ -148,8 +148,6 @@ settings_rows_to_dict, ) -from .solution_map import SolutionMap - from .solution_position_tab import ( SolutionPositionModel, SolutionPositionPoints, @@ -261,6 +259,7 @@ capnp.remove_import_hook() # pylint: disable=no-member MAP_ENABLED = [False] +SolutionMap = QObject class BackendMessageReceiver(QObject): # pylint: disable=too-many-instance-attributes @@ -493,12 +492,10 @@ def _process_message_buffer(self, buffer): up = m.statusBarStatus.ntripUpload down = m.statusBarStatus.ntripDownload down_units = "B/s" - if down >= 1000: down /= 1000 down = round(down, 1) down_units = "KB/s" - connected = m.statusBarStatus.ntripConnected if connected: data[Keys.NTRIP_DISPLAY] = f"{up}B/s ⬆ {down}{down_units} ⬇" @@ -798,6 +795,12 @@ def main(passed_args: Optional[Tuple[str, ...]] = None) -> int: QQuickStyle.setStyle("Material") # We specifically *don't* want the RobotoCondensed-Bold.ttf font so we get the right look when bolded. + if MAP_ENABLED[0]: + global SolutionMap # pylint: disable=global-statement + from .solution_map import SolutionMap as SolutionMap_ # pylint: disable=import-outside-toplevel + + SolutionMap = SolutionMap_ # type: ignore + qmlRegisterType(ConnectionData, "SwiftConsole", 1, 0, "ConnectionData") # type: ignore qmlRegisterType(AdvancedImuPoints, "SwiftConsole", 1, 0, "AdvancedImuPoints") # type: ignore qmlRegisterType(AdvancedMagnetometerPoints, "SwiftConsole", 1, 0, "AdvancedMagnetometerPoints") # type: ignore