91 implement the gui for native desktop apps in flutter #111

Merged
PatrykHegenberg merged 13 commits from 91-implement-the-gui-for-native-desktop-apps-in-flutter into main 2024-05-29 21:27:19 +02:00
6 changed files with 48 additions and 80 deletions
Showing only changes of commit 351b7b9323 - Show all commits

View file

@ -6,19 +6,17 @@ import 'package:mobile_scanner/mobile_scanner.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:flutter_test_gui/src/rust/api/simple.dart';
import 'package:flutter_test_gui/src/rust/frb_generated.dart';
// import 'package:flutter_test_gui/src/rust/frb_generated.dart';
import 'package:flutter_test_gui/consts/consts.dart';
// const backColor = Color(0xFF32363E);
// const highlightColor = Color(0xFF98C379);
// const textColor = Color(0xFFABB2BF);
class ReceiveScreen extends StatefulWidget {
const ReceiveScreen({super.key});
@override
_ReceiveScreenState createState() => _ReceiveScreenState();
ReceiveScreenState createState() => ReceiveScreenState();
}
class _ReceiveScreenState extends State<ReceiveScreen> {
class ReceiveScreenState extends State<ReceiveScreen> {
String appOrigin = '';
final myController = TextEditingController();
String inputValue = '';
@ -84,12 +82,14 @@ class _ReceiveScreenState extends State<ReceiveScreen> {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => MyHomePage(title: 'Caesar Transfer')));
builder: (context) =>
const MyHomePage(title: 'Caesar Transfer')));
} else {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => MyHomePage(title: 'Caesar Transfer')));
builder: (context) =>
const MyHomePage(title: 'Caesar Transfer')));
}
} else {
try {
@ -102,25 +102,13 @@ class _ReceiveScreenState extends State<ReceiveScreen> {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => MyHomePage(title: 'Caesar Transfer')));
builder: (context) =>
const MyHomePage(title: 'Caesar Transfer')));
}
}
print("Transfer startet with app_origin: $appOrigin");
}
// Future<bool> requestPermission(Permission permission) async {
// if (await permission.isGranted) {
// return true;
// } else {
// var result = await permission.request();
// if (result == PermissionStatus.granted) {
// return true;
// } else {
// return false;
// }
// }
// }
@override
Widget build(BuildContext context) {
return Scaffold(
@ -141,7 +129,7 @@ class _ReceiveScreenState extends State<ReceiveScreen> {
child: Container(
width: 200,
height: 200,
decoration: BoxDecoration(
decoration: const BoxDecoration(
shape: BoxShape.circle,
color: Constants.textColor,
),

View file

@ -6,19 +6,17 @@ import 'package:cross_file/cross_file.dart';
import 'package:file_picker/file_picker.dart';
import 'package:flutter_test_gui/pages/waiting_screen.dart';
import 'package:flutter_test_gui/src/rust/api/simple.dart';
import 'package:flutter_test_gui/src/rust/frb_generated.dart';
// import 'package:flutter_test_gui/src/rust/frb_generated.dart';
import 'package:flutter_test_gui/consts/consts.dart';
// const backColor = Color(0xFF32363E);
// const highlightColor = Color(0xFF98C379);
// const textColor = Color(0xFFABB2BF);
class SendScreen extends StatefulWidget {
const SendScreen({super.key});
@override
_SendScreenState createState() => _SendScreenState();
SendScreenState createState() => SendScreenState();
}
class _SendScreenState extends State<SendScreen> {
class SendScreenState extends State<SendScreen> {
final List<XFile> _list = [];
String transferName = '';
bool _dragging = false;
@ -90,12 +88,12 @@ class _SendScreenState extends State<SendScreen> {
),
)
: const Center(
child: Icon(
Icons.upload_rounded,
color: Constants.highlightColor,
size: 200,
child: Icon(
Icons.upload_rounded,
color: Constants.highlightColor,
size: 200,
),
),
),
),
const SizedBox(height: 16),
],

View file

@ -37,16 +37,6 @@ class _SettingsScreenState extends State<SettingsScreen> {
_appRelayController.text = appRelay;
});
}
// Future<void> loadSettings() async {
// SharedPreferences prefs = await SharedPreferences.getInstance();
// setState(() {
// _appEnvironmentController.text = prefs.getString('app_environment') ?? '';
// _appHostController.text = prefs.getString('app_host') ?? '';
// _appPortController.text = prefs.getString('app_port') ?? '';
// _appOriginController.text = prefs.getString('app_origin') ?? '';
// _appRelayController.text = prefs.getString('app_relay') ?? '';
// });
// }
Future<void> saveSettings() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
@ -61,7 +51,7 @@ class _SettingsScreenState extends State<SettingsScreen> {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Settings'),
title: const Text('Settings'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
@ -69,30 +59,30 @@ class _SettingsScreenState extends State<SettingsScreen> {
children: [
TextField(
controller: _appEnvironmentController,
decoration: InputDecoration(labelText: 'App Environment'),
decoration: const InputDecoration(labelText: 'App Environment'),
),
TextField(
controller: _appHostController,
decoration: InputDecoration(labelText: 'App Host'),
decoration: const InputDecoration(labelText: 'App Host'),
),
TextField(
controller: _appPortController,
decoration: InputDecoration(labelText: 'App Port'),
decoration: const InputDecoration(labelText: 'App Port'),
),
TextField(
controller: _appOriginController,
decoration: InputDecoration(labelText: 'App Origin'),
decoration: const InputDecoration(labelText: 'App Origin'),
),
TextField(
controller: _appRelayController,
decoration: InputDecoration(labelText: 'App Relay'),
decoration: const InputDecoration(labelText: 'App Relay'),
),
ElevatedButton(
onPressed: () async {
await saveSettings();
Navigator.pop(context);
},
child: Text('Save'),
child: const Text('Save'),
),
],
),

View file

@ -4,14 +4,10 @@ import 'package:qr_flutter/qr_flutter.dart';
import 'package:cross_file/cross_file.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:flutter_test_gui/src/rust/api/simple.dart';
import 'package:flutter_test_gui/src/rust/frb_generated.dart';
// import 'package:flutter_test_gui/src/rust/frb_generated.dart';
import 'package:flutter_test_gui/consts/consts.dart';
import 'package:permission_handler/permission_handler.dart';
// const backColor = Color(0xFF32363E);
// const highlightColor = Color(0xFF98C379);
// const textColor = Color(0xFFABB2BF);
class TransferScreen extends StatefulWidget {
final List<XFile> files;
final String transferName;
@ -21,10 +17,10 @@ class TransferScreen extends StatefulWidget {
: super(key: key);
@override
_TransferScreenState createState() => _TransferScreenState();
TransferScreenState createState() => TransferScreenState();
}
class _TransferScreenState extends State<TransferScreen> {
class TransferScreenState extends State<TransferScreen> {
String appOrigin = '';
String inputValue = '';
@override

View file

@ -5,13 +5,9 @@ import 'package:qr_flutter/qr_flutter.dart';
import 'package:cross_file/cross_file.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:flutter_test_gui/src/rust/api/simple.dart';
import 'package:flutter_test_gui/src/rust/frb_generated.dart';
// import 'package:flutter_test_gui/src/rust/frb_generated.dart';
import 'package:flutter_test_gui/consts/consts.dart';
// const backColor = Color(0xFF32363E);
// const highlightColor = Color(0xFF98C379);
// const textColor = Color(0xFFABB2BF);
class WaitingScreen extends StatefulWidget {
final List<XFile> files;
final String transferName;
@ -21,10 +17,10 @@ class WaitingScreen extends StatefulWidget {
: super(key: key);
@override
_WaitingScreenState createState() => _WaitingScreenState();
WaitingScreenState createState() => WaitingScreenState();
}
class _WaitingScreenState extends State<WaitingScreen> {
class WaitingScreenState extends State<WaitingScreen> {
String appOrigin = '';
@override
void initState() {
@ -35,7 +31,7 @@ class _WaitingScreenState extends State<WaitingScreen> {
Future<void> loadSettings() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
appOrigin = prefs.getString('app_origin') ??
'wss://caesar-transfer-iu.shuttleapp.rs'; // Laden Sie die app_origin
'wss://caesar-transfer-iu.shuttleapp.rs';
}
Future<void> callStartSender(String appOrigin) async {

View file

@ -227,26 +227,26 @@ packages:
dependency: transitive
description:
name: leak_tracker
sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
url: "https://pub.dev"
source: hosted
version: "10.0.0"
version: "10.0.4"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
url: "https://pub.dev"
source: hosted
version: "2.0.1"
version: "3.0.3"
leak_tracker_testing:
dependency: transitive
description:
name: leak_tracker_testing
sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
url: "https://pub.dev"
source: hosted
version: "2.0.1"
version: "3.0.1"
lints:
dependency: transitive
description:
@ -275,10 +275,10 @@ packages:
dependency: transitive
description:
name: meta
sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
url: "https://pub.dev"
source: hosted
version: "1.11.0"
version: "1.12.0"
mobile_scanner:
dependency: "direct main"
description:
@ -527,10 +527,10 @@ packages:
dependency: transitive
description:
name: test_api
sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
url: "https://pub.dev"
source: hosted
version: "0.6.1"
version: "0.7.0"
vector_math:
dependency: transitive
description:
@ -543,10 +543,10 @@ packages:
dependency: transitive
description:
name: vm_service
sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
url: "https://pub.dev"
source: hosted
version: "13.0.0"
version: "14.2.1"
web:
dependency: transitive
description: