added speed dial and changed the main colors #11

Merged
Hugo Bayer merged 1 commit from Hugo/28-01-2020/FancySpeedDial into master 2020-01-28 11:09:39 +00:00
3 changed files with 41 additions and 11 deletions

View file

@ -20,7 +20,7 @@ class MyApp extends StatelessWidget {
// or simply save your changes to "hot reload" in a Flutter IDE).
// Notice that the counter didn't reset back to zero; the application
// is not restarted.
primarySwatch: Colors.red,
primaryColor: Colors.red.shade900
),
home: ServerList(title: 'Server list'),
);

View file

@ -4,6 +4,7 @@ import 'dart:io';
import 'package:basic_utils/basic_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:server_pinger/server.dart';
import 'server.dart';
@ -54,21 +55,19 @@ class _ServerListState extends State<ServerList> {
super.initState();
_updateAllServers();
timer = new Timer.periodic(new Duration(seconds: 5), (timer) {
timer = new Timer.periodic(new Duration(seconds: 30), (timer) {
_updateAllServers();
});
}
Future<void> _updateAllServers() async {
void _updateAllServers() async {
servers.forEach(_updateServerStatus);
}
void _updateServerStatus(Server s) async {
void _updateServerStatus(Server s) {
checkStatus(s.uri).then((value) {
setState(() {
checkStatus(s.uri).then((value){
s.status=value;
});
s.status = value;
});
});
}
@ -113,14 +112,42 @@ class _ServerListState extends State<ServerList> {
children: _createChildren(),
),
),
floatingActionButton: FloatingActionButton(
onPressed: _updateUI,
tooltip: 'Increment',
child: Icon(Icons.add),
floatingActionButton: SpeedDial(
animatedIcon: AnimatedIcons.menu_close,
animatedIconTheme: IconThemeData(size: 20.0),
animationSpeed: 150,
tooltip: 'Menu',
backgroundColor: Colors.red.shade900,
foregroundColor: Colors.white,
elevation: 1.0,
shape: CircleBorder(),
children: [
SpeedDialChild(
child: Icon(Icons.settings),
label: 'Settings',
backgroundColor: Colors.red.shade600,
foregroundColor: Colors.white,
labelStyle: TextStyle(fontSize: 18.0),
onTap: _settings,
),
SpeedDialChild(
child: Icon(Icons.add),
label: 'Add server',
backgroundColor: Colors.red.shade600,
foregroundColor: Colors.white,
labelStyle: TextStyle(fontSize: 18.0),
onTap: _addServer,
),
],
), // This trailing comma makes auto-formatting nicer for build methods.
);
}
void _settings() {}
void _addServer(){}
List<Widget> _createChildren() {
return new List<Widget>.generate(servers.length, (int index) {
return Container(

View file

@ -24,7 +24,10 @@ dependencies:
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.3
# Needed for DNS lookup
basic_utils: ^2.4.8
# Needed for FAB menu
flutter_speed_dial: ^1.2.5
dev_dependencies:
flutter_test: