Merge branch 'main' into yaru

This commit is contained in:
Frederik Feichtmeier 2021-11-08 10:50:08 +01:00 committed by GitHub
commit 5ba00e9cb4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 68 additions and 18 deletions

BIN
.github/logo.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -1,6 +1,13 @@
# quickgui
<h1 align="center">
<img src=".github/logo.png" alt="Quickgui" width="256" />
<br />
Quickgui
</h1>
A Flutter frontend for [quickget](https://github.com/wimpysworld/quickemu).
<p align="center">A Flutter frontend for `quickget` and [quickemu](https://github.com/wimpysworld/quickemu).</p>
<div align="center"><img src="assets/github/screenshot1.png" alt="Quickgui screenshot"></div>
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)
<div align="center"><img src="assets/github/screenshot1.png" alt="Main screen"></div>
![List of supported operating systems](./assets/github/screenshot2.png)
<div align="center"><img src="assets/github/screenshot2.png" alt="List of supported operating systems"></div>
![The Ubuntu flavors](./assets/github/screenshot3.png)
<div align="center"><img src="assets/github/screenshot3.png" alt="Search a distribution"></div>
Then, select the version :
![Main screen after selection of the operating system](./assets/github/screenshot4.png)
<div align="center"><img src="assets/github/screenshot4.png" alt="Main screen after selection of the operating system"></div>
![Versions of the selected operating system](./assets/github/screenshot5.png)
<div align="center"><img src="assets/github/screenshot5.png" alt="Versions of the selected operating system"></div>
If there are some options (Windows language, Pop!_OS nvidia or Intel, etc..), they will be displayed :
![Choose an option](./assets/github/screenshot8.png)
<div align="center"><img src="assets/github/screenshot8.png" alt="Choose an option"></div>
![Option is diplayed](./assets/github/screenshot9.png)
<div align="center"><img src="assets/github/screenshot9.png" alt="Option is diplayed"></div>
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)
<div align="center"><img src="assets/github/screenshot10.png" alt="Waiting for download"></div>
![Downloading](./assets/github/screenshot11.png)
![Download finished](./assets/github/screenshot12.png)
<div align="center"><img src="assets/github/screenshot11.png" alt="Downloading"></div>
<div align="center"><img src="assets/github/screenshot12.png" alt="Download finished"></div>

View File

@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 14 KiB

BIN
assets/images/logo_pink.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -22,7 +22,8 @@ Future<List<OperatingSystem>> 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) {

View File

@ -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<App> createState() => _AppState();
}
class _AppState extends State<App> {
@override
Widget build(BuildContext context) {
return MaterialApp(

View File

@ -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 ?? '';
}

View File

@ -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<MainPage> {
icon: const Icon(YaruIcons.pan_start),
),
),
drawer: const LeftMenu(),
body: Column(
children: const [
Logo(),

View File

@ -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
: () {

View File

@ -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'),
),
),
),

View File

@ -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(),
],
),
);
}
}

View File

@ -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.