From 692825c0ee64a5a8e310415d4138b15a3ebe12d1 Mon Sep 17 00:00:00 2001 From: Dani Llewellyn Date: Fri, 12 Nov 2021 12:18:21 +0000 Subject: [PATCH] Add a desktop notification on download complete (#16) Using the `desktop_notifications` package from Canonical. --- lib/src/pages/downloader.dart | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/src/pages/downloader.dart b/lib/src/pages/downloader.dart index 08ea9cf..18a8a05 100644 --- a/lib/src/pages/downloader.dart +++ b/lib/src/pages/downloader.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:convert'; import 'dart:io'; +import 'package:desktop_notifications/desktop_notifications.dart'; import 'package:flutter/material.dart'; import 'package:quickgui/src/model/operating_system.dart'; import 'package:quickgui/src/model/option.dart'; @@ -28,6 +29,7 @@ class Downloader extends StatefulWidget { } class _DownloaderState extends State { + final notificationsClient = NotificationsClient(); final wgetPattern = RegExp("( [0-9.]+%)"); final macRecoveryPattern = RegExp("([0-9]+\\.[0-9])"); late final Stream _progressStream; @@ -81,6 +83,12 @@ class _DownloaderState extends State { controller.close(); setState(() { _downloadFinished = true; + notificationsClient.notify( + context.t('Download complete'), + body: 'Download of ${widget.operatingSystem.name} has completed.', + appName: context.t('QuickGUI'), + expireTimeoutMs: 10000, /* 10 seconds */ + ); }); });