From 51b6d576a0a56472f8dcae730cc4f6b84456e438 Mon Sep 17 00:00:00 2001 From: Yannick Mauray Date: Wed, 27 Oct 2021 20:57:49 +0200 Subject: [PATCH] fix : progress bar for macrecovery and wget, graceful fallback for zsync --- lib/main.dart | 5 ++- lib/src/globals.dart | 6 +++ lib/src/model/option.dart | 6 +++ lib/src/model/version.dart | 4 +- lib/src/pages/downloader.dart | 52 ++++++++++++++++++++------ lib/src/pages/option_selection.dart | 4 +- lib/src/pages/version_selection.dart | 7 ++-- lib/src/widgets/home_page_buttons.dart | 9 +++-- 8 files changed, 71 insertions(+), 22 deletions(-) create mode 100644 lib/src/globals.dart create mode 100644 lib/src/model/option.dart diff --git a/lib/main.dart b/lib/main.dart index d0e6e4a..7ebe820 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,13 +2,16 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:quickgui/src/app.dart'; +import 'package:quickgui/src/globals.dart'; import 'package:quickgui/src/model/operating_system.dart'; +import 'package:quickgui/src/model/option.dart'; import 'package:quickgui/src/model/version.dart'; import 'package:tuple/tuple.dart'; import 'package:window_size/window_size.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); + Directory.current = gCurrentDirectoy; setWindowTitle('Quickgui : a flutter frontend for Quickget and Quickemu'); setWindowMinSize(const Size(692, 580)); setWindowMaxSize(const Size(692, 580)); @@ -44,7 +47,7 @@ Future> loadOperatingSystems(bool showUbuntus) async { currentVersion = Version(supportedVersion.item3); currentOperatingSystem!.versions.add(currentVersion!); } - currentVersion!.options.add(supportedVersion.item4); + currentVersion!.options.add(Option(supportedVersion.item4, supportedVersion.item5)); }); return output; diff --git a/lib/src/globals.dart b/lib/src/globals.dart new file mode 100644 index 0000000..d0ffcdc --- /dev/null +++ b/lib/src/globals.dart @@ -0,0 +1,6 @@ +import 'dart:io'; + +import 'package:flutter/material.dart'; + +var gIsSnap = Platform.environment['SNAP']?.isNotEmpty ?? false; +var gCurrentDirectoy = Directory(Platform.environment['HOME'] ?? Directory.current.absolute.path); diff --git a/lib/src/model/option.dart b/lib/src/model/option.dart new file mode 100644 index 0000000..c7c9e46 --- /dev/null +++ b/lib/src/model/option.dart @@ -0,0 +1,6 @@ +class Option { + Option(this.option, this.downloader); + + final String option; + final String downloader; +} diff --git a/lib/src/model/version.dart b/lib/src/model/version.dart index 1d99c01..d79b8d4 100644 --- a/lib/src/model/version.dart +++ b/lib/src/model/version.dart @@ -1,6 +1,8 @@ +import 'package:quickgui/src/model/option.dart'; + class Version { Version(this.version) : options = []; final String version; - final List options; + final List