diff --git a/lib/entity_widgets/controls/light_controls.dart b/lib/entity_widgets/controls/light_controls.dart index 296e863..2fbbe70 100644 --- a/lib/entity_widgets/controls/light_controls.dart +++ b/lib/entity_widgets/controls/light_controls.dart @@ -171,9 +171,42 @@ class _LightControlsWidgetState extends State { Widget _buildColorControl(LightEntity entity) { if (entity.supportColor) { - return LightColorPicker( - color: _tmpColor, - onColorSelected: (color) => _setColor(entity, color), + HSVColor savedColor = HomeAssistantModel.of(context)?.homeAssistant?.savedColor; + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + LightColorPicker( + color: _tmpColor, + onColorSelected: (color) => _setColor(entity, color), + ), + Padding( + padding: EdgeInsets.only(top: 0.0), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + FlatButton( + color: _tmpColor.toColor(), + child: Text('Copy color'), + onPressed: _tmpColor == null ? null : () { + setState(() { + HomeAssistantModel + .of(context) + .homeAssistant + .savedColor = _tmpColor; + }); + }, + ), + FlatButton( + color: savedColor.toColor(), + child: Text('Paste color'), + onPressed: savedColor == null ? null : () { + _setColor(entity, savedColor); + }, + ) + ], + ) + ) + ], ); } else { return Container(width: 0.0, height: 0.0); diff --git a/lib/home_assistant.class.dart b/lib/home_assistant.class.dart index 36075eb..c2f8bec 100644 --- a/lib/home_assistant.class.dart +++ b/lib/home_assistant.class.dart @@ -15,6 +15,7 @@ class HomeAssistant { HomeAssistantUI ui; Map _instanceConfig = {}; String _userName; + HSVColor savedColor; Map _rawLovelaceData;