Ntrip beállítások sheet, ntrip státusz sheet

This commit is contained in:
2026-07-05 15:48:33 +02:00
parent fa25a320eb
commit 2bd39fbd4e
6 changed files with 629 additions and 42 deletions
@@ -330,7 +330,7 @@ class SettingsDialog extends StatelessWidget {
SizedBox(
height: 40,
child: TextField(
controller: NtripService.to.usernameController,
//controller: NtripService.to.usernameController,
enableSuggestions: false,
autocorrect: false,
decoration: InputDecoration(
@@ -355,7 +355,7 @@ class SettingsDialog extends StatelessWidget {
//focusNode: controller.passwordFieldFocusNode,
enableSuggestions: false,
autocorrect: false,
controller: NtripService.to.passwordController,
//controller: NtripService.to.passwordController,
decoration: InputDecoration(
floatingLabelBehavior: FloatingLabelBehavior.never,
isDense: true,
@@ -116,4 +116,42 @@ class NtripSettingsController extends GetxController {
passwordController.dispose();
super.onClose();
}
/// „Kapcsolat tesztelése" — vevő nélkül is fut: mentés után csatlakozik,
/// validálja a caster válaszát, majd azonnal bont.
Future<void> testConnection() async {
try {
isBusy.value = true;
if (!await _validateAndSave()) return;
final message = await _service.testConnection();
Get.snackbar(
'NTRIP teszt sikeres',
message,
snackPosition: SnackPosition.BOTTOM,
backgroundColor: const Color(0xFF2E7D32),
colorText: const Color(0xFFFFFFFF),
duration: const Duration(seconds: 4),
);
} on NtripException catch (e) {
Get.snackbar(
'NTRIP teszt sikertelen',
e.message,
snackPosition: SnackPosition.BOTTOM,
backgroundColor: const Color(0xFFB71C1C),
colorText: const Color(0xFFFFFFFF),
duration: const Duration(seconds: 4),
);
} catch (e) {
Get.snackbar(
'NTRIP teszt sikertelen',
e.toString(),
snackPosition: SnackPosition.BOTTOM,
backgroundColor: const Color(0xFFB71C1C),
colorText: const Color(0xFFFFFFFF),
);
} finally {
isBusy.value = false;
}
}
}
@@ -157,7 +157,7 @@ class NtripSettingsSheet extends GetView<NtripSettingsController> {
contentPadding: EdgeInsets.zero,
title: const Text('Automatikus kapcsolódás'),
subtitle: const Text(
'Az app indításakor próbáljon NTRIP-re kapcsolódni.',
'RTK képes vevő csatlakozásakor próbáljon automatikusan NTRIP-re kapcsolódni.',
),
value: controller.autoConnect.value,
onChanged: (value) {
@@ -216,6 +216,15 @@ class NtripSettingsSheet extends GetView<NtripSettingsController> {
child: const Text('Csak mentés'),
),
),
SizedBox(
width: double.infinity,
child: Obx(() => OutlinedButton.icon(
onPressed: controller.isBusy.value
? null
: controller.testConnection,
icon: const Icon(Icons.network_check, size: 18),
label: const Text(
'Kapcsolat tesztelése (vevő nélkül)'))))
],
),
),