diff options
Diffstat (limited to 'lib/ui.dart')
| -rw-r--r-- | lib/ui.dart | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/lib/ui.dart b/lib/ui.dart index 94b6b8e..66078da 100644 --- a/lib/ui.dart +++ b/lib/ui.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:mqtt_client/mqtt_client.dart'; import 'data.dart'; @@ -154,11 +155,50 @@ class CoverList extends StatelessWidget { physics: const NeverScrollableScrollPhysics(), itemCount: state.covers.length, itemBuilder: (BuildContext context, int index) { + String cover = state.covers.elementAt(index); return Column( children: <Widget>[ ListTile( leading: const Icon(Icons.roller_shades), - title: Text(state.covers.elementAt(index)), + title: Text(cover), + trailing: Row( + mainAxisSize: MainAxisSize.min, + children: <Widget>[ + IconButton( + icon: const Icon(Icons.arrow_upward), + constraints: const BoxConstraints(), + onPressed: () { + state.publish( + 'cover/$cover/movement', + 'retract', + MqttQos.exactlyOnce + ); + }, + ), + IconButton( + icon: const Icon(Icons.stop), + constraints: const BoxConstraints(), + onPressed: () { + state.publish( + 'cover/$cover/movement', + 'stop', + MqttQos.exactlyOnce + ); + }, + ), + IconButton( + icon: const Icon(Icons.arrow_downward), + constraints: const BoxConstraints(), + onPressed: () { + state.publish( + 'cover/$cover/movement', + 'extend', + MqttQos.exactlyOnce + ); + }, + ), + ], + ), ), ], ); |
