e7512b3cf0
Add a new trx-frontend-appkit crate using objc2 + AppKit as a replacement for the removed Qt/QML frontend. The frontend provides the same feature set: frequency/mode/band display, PTT/power/VFO/lock controls, signal/TX metering, and frequency/mode/TX-limit input. Architecture splits platform-agnostic model (model.rs) from AppKit UI (ui.rs) to facilitate future UIKit porting. State flows from the async tokio watcher via std::sync::mpsc to the AppKit main thread; button actions flow back through a channel to stay on the UI thread. Feature-gated behind `appkit-frontend` cargo feature. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Stanislaw Grams <stanislawgrams@gmail.com>
30 lines
958 B
TOML
30 lines
958 B
TOML
# SPDX-FileCopyrightText: 2025 Stanislaw Grams <stanislawgrams@gmail.com>
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause
|
|
|
|
[package]
|
|
name = "trx-client"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
tokio = { workspace = true, features = ["full"] }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
toml = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
clap = { workspace = true, features = ["derive"] }
|
|
dirs = "6"
|
|
libloading = "0.8"
|
|
trx-core = { path = "../trx-core" }
|
|
trx-frontend = { path = "trx-frontend" }
|
|
trx-frontend-http = { path = "trx-frontend/trx-frontend-http" }
|
|
trx-frontend-http-json = { path = "trx-frontend/trx-frontend-http-json" }
|
|
trx-frontend-rigctl = { path = "trx-frontend/trx-frontend-rigctl" }
|
|
trx-frontend-appkit = { path = "trx-frontend/trx-frontend-appkit", optional = true }
|
|
|
|
[features]
|
|
default = []
|
|
appkit-frontend = ["trx-frontend-appkit/appkit"]
|