From 87b156a6eed59fbf496c1de3d5bff2ef57a7a8f3 Mon Sep 17 00:00:00 2001 From: SayuruSandaru Date: Mon, 1 Aug 2022 07:03:48 +0530 Subject: [PATCH 1/3] Implemented to toggle display color indicator Now the developer can remove the color indicator if they doesn't need to show. --- lib/src/colorpicker.dart | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/src/colorpicker.dart b/lib/src/colorpicker.dart index 26374ef..094409d 100644 --- a/lib/src/colorpicker.dart +++ b/lib/src/colorpicker.dart @@ -22,6 +22,7 @@ class ColorPicker extends StatefulWidget { this.labelTypes = const [ColorLabelType.rgb, ColorLabelType.hsv, ColorLabelType.hsl], @Deprecated('Use Theme.of(context).textTheme.bodyText1 & 2 to alter text style.') this.labelTextStyle, this.displayThumbColor = false, + this.displayColorIndicator = true, this.portraitOnly = false, this.colorPickerWidth = 300.0, this.pickerAreaHeightPercent = 1.0, @@ -47,6 +48,7 @@ class ColorPicker extends StatefulWidget { final double pickerAreaHeightPercent; final BorderRadius pickerAreaBorderRadius; final bool hexInputBar; + final bool displayColorIndicator; /// Allows setting the color using text input, via [TextEditingController]. /// @@ -290,13 +292,17 @@ class _ColorPickerState extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ GestureDetector( - onTap: () => setState(() { - if (widget.onHistoryChanged != null && !colorHistory.contains(currentHsvColor.toColor())) { - colorHistory.add(currentHsvColor.toColor()); - widget.onHistoryChanged!(colorHistory); + onTap: () { + if (widget.displayColorIndicator) { + setState(() { + if (widget.onHistoryChanged != null && !colorHistory.contains(currentHsvColor.toColor())) { + colorHistory.add(currentHsvColor.toColor()); + widget.onHistoryChanged!(colorHistory); + } + }); } - }), - child: ColorIndicator(currentHsvColor), + }, + child: widget.displayColorIndicator ? ColorIndicator(currentHsvColor) : const SizedBox(), ), Expanded( child: Column( From 3e0a20aa9990f1748f85764f6ddbca863eabef88 Mon Sep 17 00:00:00 2001 From: SayuruSandaru Date: Mon, 1 Aug 2022 07:42:42 +0530 Subject: [PATCH 2/3] implemented slider width change option Palette type slider width can be changed if the user has set the `displayColorIndicator` to false. If not default value is shown --- lib/src/colorpicker.dart | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/src/colorpicker.dart b/lib/src/colorpicker.dart index 094409d..c82a21a 100644 --- a/lib/src/colorpicker.dart +++ b/lib/src/colorpicker.dart @@ -23,6 +23,7 @@ class ColorPicker extends StatefulWidget { @Deprecated('Use Theme.of(context).textTheme.bodyText1 & 2 to alter text style.') this.labelTextStyle, this.displayThumbColor = false, this.displayColorIndicator = true, + this.palletTypeSliderWidth = 225.0, this.portraitOnly = false, this.colorPickerWidth = 300.0, this.pickerAreaHeightPercent = 1.0, @@ -49,6 +50,7 @@ class ColorPicker extends StatefulWidget { final BorderRadius pickerAreaBorderRadius; final bool hexInputBar; final bool displayColorIndicator; + final double palletTypeSliderWidth; /// Allows setting the color using text input, via [TextEditingController]. /// @@ -307,7 +309,13 @@ class _ColorPickerState extends State { Expanded( child: Column( children: [ - SizedBox(height: 40.0, width: widget.colorPickerWidth - 75.0, child: sliderByPaletteType()), + SizedBox( + height: 40.0, + width: widget.displayColorIndicator + ? widget.palletTypeSliderWidth + : widget.colorPickerWidth - 75.0, + child: sliderByPaletteType(), + ), if (widget.enableAlpha) SizedBox( height: 40.0, From 38c24d67e3e67cc32d2fbee109e4e9d2cea03028 Mon Sep 17 00:00:00 2001 From: SayuruSandaru Date: Mon, 1 Aug 2022 08:49:17 +0530 Subject: [PATCH 3/3] bug fix --- lib/src/colorpicker.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/colorpicker.dart b/lib/src/colorpicker.dart index c82a21a..e28264c 100644 --- a/lib/src/colorpicker.dart +++ b/lib/src/colorpicker.dart @@ -312,8 +312,8 @@ class _ColorPickerState extends State { SizedBox( height: 40.0, width: widget.displayColorIndicator - ? widget.palletTypeSliderWidth - : widget.colorPickerWidth - 75.0, + ? widget.colorPickerWidth - 75.0 + : widget.palletTypeSliderWidth, child: sliderByPaletteType(), ), if (widget.enableAlpha)