From d38ff5ad7f165db8f6d3038603ff81b518dcc478 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 5 Apr 2020 12:36:38 +1000 Subject: [PATCH 1/2] Add FontAwesome icons - Fill out icons on main screen - Fill out icons in app drawer --- lib/main.dart | 10 ++++++---- lib/widget/drawer.dart | 10 ++++++---- pubspec.lock | 7 +++++++ pubspec.yaml | 2 ++ 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 26877035..148056d0 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -8,6 +8,8 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; +import 'package:font_awesome_flutter/font_awesome_flutter.dart'; + import 'barcode.dart'; import 'dart:convert'; @@ -217,7 +219,7 @@ class _MyHomePageState extends State { Column( children: [ IconButton( - icon: new Icon(Icons.search), + icon: new FaIcon(FontAwesomeIcons.search), tooltip: 'Search', onPressed: _search, ), @@ -227,7 +229,7 @@ class _MyHomePageState extends State { Column( children: [ IconButton( - icon: new Icon(Icons.search), + icon: new FaIcon(FontAwesomeIcons.barcode), tooltip: 'Scan Barcode', onPressed: _scan, ), @@ -253,7 +255,7 @@ class _MyHomePageState extends State { Column( children: [ IconButton( - icon: new Icon(Icons.map), + icon: new FaIcon(FontAwesomeIcons.boxes), tooltip: 'Stock', onPressed: _stock, ), @@ -263,7 +265,7 @@ class _MyHomePageState extends State { Column( children: [ IconButton( - icon: new Icon(Icons.business), + icon: new FaIcon(FontAwesomeIcons.industry), tooltip: 'Suppliers', onPressed: _suppliers, ), diff --git a/lib/widget/drawer.dart b/lib/widget/drawer.dart index 1bec27c2..03095ce1 100644 --- a/lib/widget/drawer.dart +++ b/lib/widget/drawer.dart @@ -5,6 +5,7 @@ import 'package:InvenTree/widget/category_display.dart'; import 'package:InvenTree/widget/location_display.dart'; import 'package:InvenTree/settings.dart'; +import 'package:font_awesome_flutter/font_awesome_flutter.dart'; class InvenTreeDrawer extends StatelessWidget { @@ -78,13 +79,13 @@ class InvenTreeDrawer extends StatelessWidget { new Divider(), new ListTile( title: new Text("Search"), - leading: new Icon(Icons.search), + leading: new FaIcon(FontAwesomeIcons.search), onTap: null, ), new ListTile( - title: new Text("Scan"), + title: new Text("Scan Barcode"), onTap: _scan, - leading: new Icon(Icons.search), + leading: new FaIcon(FontAwesomeIcons.barcode), ), new Divider(), new ListTile( @@ -94,11 +95,12 @@ class InvenTreeDrawer extends StatelessWidget { ), new ListTile( title: new Text("Stock"), + leading: new FaIcon(FontAwesomeIcons.boxes), onTap: _showStock, ), new ListTile( title: new Text("Suppliers"), - leading: new Icon(Icons.business), + leading: new FaIcon(FontAwesomeIcons.industry), onTap: null, ), new Divider(), diff --git a/pubspec.lock b/pubspec.lock index c8d23e33..dde8775c 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -100,6 +100,13 @@ packages: description: flutter source: sdk version: "0.0.0" + font_awesome_flutter: + dependency: "direct main" + description: + name: font_awesome_flutter + url: "https://pub.dartlang.org" + source: hosted + version: "8.8.1" http: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 29eebb06..2a381194 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,6 +34,8 @@ dependencies: package_info: ^0.4.0+16 + font_awesome_flutter: ^8.8.1 + dev_dependencies: flutter_test: sdk: flutter From 2cef9e81907cf008650e4a3afeedf73cc8731c4f Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 5 Apr 2020 13:06:59 +1000 Subject: [PATCH 2/2] Add server status icon --- lib/main.dart | 69 +++++++++++++++++++++++++++------------------------ 1 file changed, 37 insertions(+), 32 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 148056d0..f738531c 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -118,7 +118,29 @@ class _MyHomePageState extends State { bool _serverConnection = false; + FaIcon _serverIcon = new FaIcon(FontAwesomeIcons.spinner); + Color _serverStatusColor = Color.fromARGB(255, 50, 50, 250); + + void onConnectSuccess(String msg) { + _serverConnection = true; + _serverMessage = msg; + _serverStatus = "Connected to $_serverAddress"; + _serverStatusColor = Color.fromARGB(255, 50, 250, 50); + _serverIcon = new FaIcon(FontAwesomeIcons.checkCircle, color: _serverStatusColor); + + setState(() {}); + } + + void onConnectFailure(String msg) { + _serverConnection = false; + _serverMessage = msg; + _serverStatus = "Could not connect to $_serverAddress"; + _serverStatusColor = Color.fromARGB(255, 250, 50, 50); + _serverIcon = new FaIcon(FontAwesomeIcons.timesCircle, color: _serverStatusColor); + + setState(() {}); + } /* * Test the server connection @@ -127,40 +149,32 @@ class _MyHomePageState extends State { var prefs = await SharedPreferences.getInstance(); - print("Checking server connection"); - _serverAddress = prefs.getString("server"); InvenTreeAPI().connect().then((bool result) { - print("Connection status: $result"); - _serverConnection = result; - if (_serverConnection) { - _serverStatus = "Connected to server: $_serverAddress"; - _serverMessage = ""; - _serverStatusColor = Color.fromARGB(255, 50, 250, 50); + if (result) { + onConnectSuccess(""); } else { - _serverStatus = "Could not connect to server: $_serverAddress"; - _serverStatusColor = Color.fromARGB(255, 250, 50, 50); + onConnectFailure("Could not connect to server"); } - setState(() {}); - }).catchError((e) { + + String fault = "Connection error"; + _serverConnection = false; _serverStatusColor = Color.fromARGB(255, 250, 50, 50); _serverStatus = "Error connecting to $_serverAddress"; if (e is TimeoutException) { - _serverMessage = "No response from server"; + fault = "Timeout: No response from server"; } else { - _serverMessage = e.toString(); + fault = e.toString(); } - print("Server error: $_serverMessage"); - - setState(() {}); + onConnectFailure(fault); }); } @@ -280,23 +294,14 @@ class _MyHomePageState extends State { crossAxisAlignment: CrossAxisAlignment.center, children: [ Expanded( - child: Card( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Text('$_serverStatus', - style: TextStyle( - color: _serverStatusColor, - ), - ), - Text('$_serverMessage', - style: TextStyle( - color: _serverStatusColor, - ), + child: ListTile( + title: Text("$_serverStatus", + style: TextStyle(color: _serverStatusColor), ), - ], + subtitle: Text("$_serverMessage", + style: TextStyle(color: _serverStatusColor), ), + leading: _serverIcon, ), ), ],