diff --git a/.github/logo.png b/.github/logo.png new file mode 100644 index 0000000..e800eb4 Binary files /dev/null and b/.github/logo.png differ diff --git a/README.md b/README.md index 4ff61dd..1b00dad 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,13 @@ -# quickgui +

+ Quickgui +
+ Quickgui +

-A Flutter frontend for [quickget](https://github.com/wimpysworld/quickemu). +

A Flutter frontend for `quickget` and [quickemu](https://github.com/wimpysworld/quickemu).

+
Quickgui screenshot
+ +This project is discussed mainly on [![Discord](https://img.shields.io/discord/712850672223125565?color=87a556&label=WimpysWorld%20Discord&logo=discord&logoColor=ffffff&style=flat-square)](https://discord.gg/sNmz3uw) server ## Install @@ -69,29 +76,28 @@ You can also use `update-alternatives` for easier access to the app. From the main screen, select the operating system you want to use. The list can be filtered. -![Main screen](./assets/github/screenshot1.png) +
Main screen
-![List of supported operating systems](./assets/github/screenshot2.png) +
List of supported operating systems
-![The Ubuntu flavors](./assets/github/screenshot3.png) +
Search a distribution
Then, select the version : -![Main screen after selection of the operating system](./assets/github/screenshot4.png) +
Main screen after selection of the operating system
-![Versions of the selected operating system](./assets/github/screenshot5.png) +
Versions of the selected operating system
If there are some options (Windows language, Pop!_OS nvidia or Intel, etc..), they will be displayed : -![Choose an option](./assets/github/screenshot8.png) +
Choose an option
-![Option is diplayed](./assets/github/screenshot9.png) +
Option is diplayed
Then click "Download". The ISO will be downloaded in the current working directory, in 99% of cases that will be the directory where `quickgui` was invoked from. -![Waiting for download](./assets/github/screenshot10.png) +
Waiting for download
-![Downloading](./assets/github/screenshot11.png) - -![Download finished](./assets/github/screenshot12.png) +
Downloading
+
Download finished
diff --git a/RELEASING.md b/RELEASING.md index d21c154..4ebf969 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -1,6 +1,7 @@ * bump the version number in pubspec.yaml (ex: version: 1.0.5) * push to github * create and push version tag (ex: v1.0.5) +* create a release on GitHub * build the tarball (`make`) * upload the tarball to github diff --git a/assets/images/logo.png b/assets/images/logo.png index d4d23fc..be7409e 100644 Binary files a/assets/images/logo.png and b/assets/images/logo.png differ diff --git a/assets/images/logo_pink.png b/assets/images/logo_pink.png new file mode 100644 index 0000000..ee052b7 Binary files /dev/null and b/assets/images/logo_pink.png differ diff --git a/lib/main.dart b/lib/main.dart index 35e8b41..42b3674 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -22,7 +22,8 @@ Future> loadOperatingSystems(bool showUbuntus) async { { supportedVersion = Tuple5.fromList([...chunks, "wget"]); } else { - supportedVersion = Tuple5.fromList(chunks); + var t5 = [chunks[0], chunks[1], chunks[2], chunks[3], chunks[4]].toList(); + supportedVersion = Tuple5.fromList(t5); } if (currentOperatingSystem?.code != supportedVersion.item2) { diff --git a/lib/src/app.dart b/lib/src/app.dart index c446b87..5ec358f 100644 --- a/lib/src/app.dart +++ b/lib/src/app.dart @@ -2,9 +2,14 @@ import 'package:flutter/material.dart'; import 'package:quickgui/src/pages/main_page.dart'; import 'package:yaru/yaru.dart' as yaru; -class App extends StatelessWidget { +class App extends StatefulWidget { const App({Key? key}) : super(key: key); + @override + State createState() => _AppState(); +} + +class _AppState extends State { @override Widget build(BuildContext context) { return MaterialApp( diff --git a/lib/src/mixins/version_mixin.dart b/lib/src/mixins/version_mixin.dart new file mode 100644 index 0000000..d7aa6d8 --- /dev/null +++ b/lib/src/mixins/version_mixin.dart @@ -0,0 +1,10 @@ +import 'package:package_info_plus/package_info_plus.dart'; + +mixin VersionMixin { + static PackageInfo? packageInfo; + + String get appName => packageInfo?.appName ?? ''; + String get packageName => packageInfo?.packageName ?? ''; + String get version => packageInfo?.version ?? ''; + String get buildNumber => packageInfo?.buildNumber ?? ''; +} diff --git a/lib/src/pages/main_page.dart b/lib/src/pages/main_page.dart index 353c9fb..b1ae37c 100644 --- a/lib/src/pages/main_page.dart +++ b/lib/src/pages/main_page.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; import 'package:quickgui/src/widgets/home_page/logo.dart'; import 'package:quickgui/src/widgets/home_page/main_menu.dart'; import 'package:yaru_icons/widgets/yaru_icons.dart'; +import 'package:quickgui/src/widgets/left_menu.dart'; class MainPage extends StatefulWidget { const MainPage({Key? key, required this.title}) : super(key: key); @@ -27,6 +28,7 @@ class _MainPageState extends State { icon: const Icon(YaruIcons.pan_start), ), ), + drawer: const LeftMenu(), body: Column( children: const [ Logo(), diff --git a/lib/src/widgets/downloader/cancel_dismiss_button.dart b/lib/src/widgets/downloader/cancel_dismiss_button.dart index 1fb5ada..0a2648d 100644 --- a/lib/src/widgets/downloader/cancel_dismiss_button.dart +++ b/lib/src/widgets/downloader/cancel_dismiss_button.dart @@ -18,6 +18,9 @@ class CancelDismissButton extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.center, children: [ ElevatedButton( + style: ElevatedButton.styleFrom( + primary: Theme.of(context).colorScheme.surface, + ), onPressed: !downloadFinished ? onCancel : () { diff --git a/lib/src/widgets/home_page/logo.dart b/lib/src/widgets/home_page/logo.dart index eb6166c..72c677c 100644 --- a/lib/src/widgets/home_page/logo.dart +++ b/lib/src/widgets/home_page/logo.dart @@ -16,7 +16,7 @@ class Logo extends StatelessWidget { child: Center( child: Padding( padding: const EdgeInsets.all(8.0), - child: Image.asset('assets/images/logo.png'), + child: Image.asset('assets/images/logo_pink.png'), ), ), ), diff --git a/lib/src/widgets/left_menu.dart b/lib/src/widgets/left_menu.dart new file mode 100644 index 0000000..ae49130 --- /dev/null +++ b/lib/src/widgets/left_menu.dart @@ -0,0 +1,21 @@ +import 'package:flutter/material.dart'; +import 'package:quickgui/src/mixins/version_mixin.dart'; + +class LeftMenu extends StatelessWidget with VersionMixin { + const LeftMenu({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + var _version = version + ' (' + buildNumber + ')'; + return Drawer( + child: ListView( + children: [ + ListTile( + title: Text("quickgui $_version", style: Theme.of(context).textTheme.headline6), + ), + const Divider(), + ], + ), + ); + } +} diff --git a/pubspec.yaml b/pubspec.yaml index 0d41f6f..ab45280 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.1.0 +version: 1.1.1 environment: sdk: ">=2.12.0 <3.0.0" @@ -45,6 +45,7 @@ dependencies: shared_preferences: ^2.0.8 yaru: ^0.1.7 yaru_icons: ^0.0.6 + package_info_plus: ^1.3.0 dev_dependencies: flutter_test: @@ -73,7 +74,7 @@ flutter: # - images/a_dot_burr.jpeg # - images/a_dot_ham.jpeg assets: - - assets/images/logo.png + - assets/images/ # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.dev/assets-and-images/#resolution-aware.