From 6e04693f6346173cfa09bb103ccd1388e612da48 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:05:44 +0300 Subject: [PATCH 01/23] Update icons.dart Added: `IconData` class support. --- packages/flet/lib/src/utils/icons.dart | 27 +++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/packages/flet/lib/src/utils/icons.dart b/packages/flet/lib/src/utils/icons.dart index 2d2b82af9..ff4f2b323 100644 --- a/packages/flet/lib/src/utils/icons.dart +++ b/packages/flet/lib/src/utils/icons.dart @@ -7,11 +7,32 @@ import 'cupertino_icons.dart'; import 'material_icons.dart'; import 'material_state.dart'; -IconData? parseIcon(String? iconName, [IconData? defaultIcon]) { - if (iconName == null) { +IconData? parseIcon(String? icon, [IconData? defaultIcon]) { + if (icon == null) { return defaultIcon; } - return materialIcons[iconName.toLowerCase()] ?? cupertinoIcons[iconName.toLowerCase()]; + + final j1 = json.decode(icon); + return iconDataFromJson(j1, defaultIcon); +} + + +IconData? iconDataFromJson(dynamic json, [IconData? defaultIcon]) { + if (json == null) { + return defaultIcon; + } else if (json is String) { + String icon = json.toLowerCase(); + return materialIcons[icon] ?? cupertinoIcons[icon]; + } + return IconData( + json['code_point'] as int, + fontFamily: json['font_family'] as String?, + fontPackage: json['font_package'] as String?, + matchTextDirection: json['match_text_direction'] as bool? ?? false, + fontFamilyFallback: (json['font_family_fallback'] as List?) + ?.map((item) => item as String) + .toList(), + ); } WidgetStateProperty? parseWidgetStateIcon( From abf1a04e7d735af13675d0b0a0ae8eadf4dee584 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:07:56 +0300 Subject: [PATCH 02/23] Update icon.dart Changed: attr `name` into `icon` to support the `IconData` class. --- packages/flet/lib/src/controls/icon.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/flet/lib/src/controls/icon.dart b/packages/flet/lib/src/controls/icon.dart index d3c9f4065..fdf6e8cb4 100644 --- a/packages/flet/lib/src/controls/icon.dart +++ b/packages/flet/lib/src/controls/icon.dart @@ -18,7 +18,7 @@ class IconControl extends StatelessWidget { return constrainedControl( context, Icon( - parseIcon(control.attrString("name", "")!), + parseIcon(control.attrString("icon", "")!), size: control.attrDouble("size"), color: control.attrColor("color", context), semanticLabel: control.attrString("semanticsLabel"), From 90cdf99363354fe3c7b2fd3225c152fbfbc885f8 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:13:13 +0300 Subject: [PATCH 03/23] Update types.py Added: `IconData` to `IconValue` --- sdk/python/packages/flet/src/flet/core/types.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sdk/python/packages/flet/src/flet/core/types.py b/sdk/python/packages/flet/src/flet/core/types.py index 18d7fd0d1..441e690e2 100644 --- a/sdk/python/packages/flet/src/flet/core/types.py +++ b/sdk/python/packages/flet/src/flet/core/types.py @@ -10,6 +10,7 @@ from flet.core.cupertino_colors import CupertinoColors, cupertino_colors from flet.core.cupertino_icons import CupertinoIcons, cupertino_icons from flet.core.event import Event +from flet.core.icon_data import IconData from flet.core.icons import Icons, icons from flet.core.margin import Margin from flet.core.padding import Padding @@ -406,7 +407,7 @@ class LocaleConfiguration: # Icons IconEnums = (icons, Icons, cupertino_icons, CupertinoIcons) -IconValue = Union[str, icons, Icons, cupertino_icons, CupertinoIcons] +IconValue = Union[str, icons, Icons, cupertino_icons, CupertinoIcons, IconData] IconValueOrControl = Union[IconValue, "Control"] # ControlState From b677988473f3792b97816749022dc05f2b168b30 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:14:41 +0300 Subject: [PATCH 04/23] Create icon_data.py --- sdk/python/packages/flet/src/flet/core/icon_data.py | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 sdk/python/packages/flet/src/flet/core/icon_data.py diff --git a/sdk/python/packages/flet/src/flet/core/icon_data.py b/sdk/python/packages/flet/src/flet/core/icon_data.py new file mode 100644 index 000000000..54e97d05b --- /dev/null +++ b/sdk/python/packages/flet/src/flet/core/icon_data.py @@ -0,0 +1,11 @@ +from dataclasses import dataclass +from typing import Optional + + +@dataclass +class IconData: + code_point: int + font_family: Optional[str] = None + font_package: Optional[str] = None + match_text_direction: bool = False + font_family_fallback: Optional[list[str]] = None From c843c473f60593ccacf28052a687c9d14a30ec83 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:17:58 +0300 Subject: [PATCH 05/23] Update control.py Added: `_set_attr_icon` method to send icon data. --- sdk/python/packages/flet/src/flet/core/control.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sdk/python/packages/flet/src/flet/core/control.py b/sdk/python/packages/flet/src/flet/core/control.py index e09cba3e5..b98a72411 100644 --- a/sdk/python/packages/flet/src/flet/core/control.py +++ b/sdk/python/packages/flet/src/flet/core/control.py @@ -194,12 +194,12 @@ def _set_attr_json(self, name: str, value: V, wrap_attr_dict: bool = False) -> N if ov != nv: self._set_attr(name, nv) + def _set_attr_icon(self, name: str, value) -> None: + self._set_attr_json(name, value.value if isinstance(value, Enum) else value) + def _convert_attr_json(self, value: V) -> Optional[str]: - return ( - json.dumps(value, cls=EmbedJsonEncoder, separators=(",", ":")) - if value is not None - else None - ) + if value is not None: + return json.dumps(value, cls=EmbedJsonEncoder, separators=(",", ":")) def _wrap_attr_dict(self, value: Optional[Union[Dict, Any]]) -> Optional[Dict]: if value is None or isinstance(value, Dict): From d80bf7ba189dc27929afe6eef7689bc78d61b00c Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:21:31 +0300 Subject: [PATCH 06/23] Update icon.py Changed: the `name` property into `icon` to send icon data. Added: `IconData` support --- sdk/python/packages/flet/src/flet/core/icon.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sdk/python/packages/flet/src/flet/core/icon.py b/sdk/python/packages/flet/src/flet/core/icon.py index 5af67aa7b..5b3a64e98 100644 --- a/sdk/python/packages/flet/src/flet/core/icon.py +++ b/sdk/python/packages/flet/src/flet/core/icon.py @@ -53,7 +53,7 @@ def main(page: ft.Page): def __init__( self, - name: Optional[IconValue] = None, + icon: Optional[IconValue] = None, color: Optional[ColorValue] = None, size: OptionalNumber = None, semantics_label: Optional[str] = None, @@ -135,13 +135,13 @@ def before_update(self): # name @property - def name(self) -> Optional[IconValue]: - return self.__name + def icon(self) -> Optional[IconValue]: + return self.__icon @name.setter - def name(self, value: Optional[IconValue]): - self.__name = value - self._set_enum_attr("name", value, IconEnums) + def icon(self, value: Optional[IconValue]): + self.__icon = value + self._set_attr_icon("icon", value) # color @property From e5019ba3c5e7b44d8cf92235fb13fa00e2e6aba0 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:23:52 +0300 Subject: [PATCH 07/23] Update icon_button.py Added: `IconData` support --- sdk/python/packages/flet/src/flet/core/icon_button.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/python/packages/flet/src/flet/core/icon_button.py b/sdk/python/packages/flet/src/flet/core/icon_button.py index 5b1f85d74..e94f133f8 100644 --- a/sdk/python/packages/flet/src/flet/core/icon_button.py +++ b/sdk/python/packages/flet/src/flet/core/icon_button.py @@ -223,7 +223,7 @@ def icon(self) -> Optional[IconValue]: @icon.setter def icon(self, value: Optional[IconValue]): self.__icon = value - self._set_enum_attr("icon", value, IconEnums) + self._set_attr_icon("icon", value) # selected_icon @property @@ -233,7 +233,7 @@ def selected_icon(self) -> Optional[IconValue]: @selected_icon.setter def selected_icon(self, value: Optional[IconValue]): self.__selected_icon = value - self._set_enum_attr("selectedIcon", value, IconEnums) + self._set_attr_icon("selectedIcon", value) # icon_size @property From 3c1d4a9384a5f8dc2c9f24ae0e7ba43df07c0bbe Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:26:48 +0300 Subject: [PATCH 08/23] Update form_field_control.py Added: `IconData` support --- .../flet/src/flet/core/form_field_control.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sdk/python/packages/flet/src/flet/core/form_field_control.py b/sdk/python/packages/flet/src/flet/core/form_field_control.py index 2ab597900..c8eaabdd6 100644 --- a/sdk/python/packages/flet/src/flet/core/form_field_control.py +++ b/sdk/python/packages/flet/src/flet/core/form_field_control.py @@ -230,11 +230,11 @@ def before_update(self): ) self._set_attr_json("sizeConstraints", self.__size_constraints) if isinstance(self.__suffix_icon, str): - self._set_attr("suffixIcon", self.__suffix_icon) + self._set_attr_icon("suffixIcon", self.__suffix_icon) if isinstance(self.__prefix_icon, str): - self._set_attr("prefixIcon", self.__prefix_icon) + self._set_attr_icon("prefixIcon", self.__prefix_icon) if isinstance(self.__icon, str): - self._set_attr("icon", self.__icon) + self._set_attr_icon("icon", self.__icon) if isinstance(self.__label, str): self._set_attr("label", self.__label) @@ -300,7 +300,7 @@ def icon(self) -> Optional[IconValueOrControl]: @icon.setter def icon(self, value: Optional[IconValueOrControl]): self.__icon = value - self._set_enum_attr("icon", value, IconEnums) + self._set_attr_icon("icon", value) # border @property @@ -653,7 +653,7 @@ def prefix_icon(self) -> Optional[IconValueOrControl]: @prefix_icon.setter def prefix_icon(self, value: Optional[IconValueOrControl]): self.__prefix_icon = value - self._set_enum_attr("prefixIcon", value, IconEnums) + self._set_attr_icon("prefixIcon", value) # prefix_text @property @@ -690,7 +690,7 @@ def suffix_icon(self) -> Optional[IconValueOrControl]: @suffix_icon.setter def suffix_icon(self, value: Optional[IconValueOrControl]): self.__suffix_icon = value - self._set_enum_attr("suffixIcon", value, IconEnums) + self._set_attr_icon("suffixIcon", value) # suffix_text @property From 627628c83e9a6e42a2ee2ce5ea9af36ec273f803 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:29:11 +0300 Subject: [PATCH 09/23] Update floating_action_button.py Added: `IconData` support --- .../packages/flet/src/flet/core/floating_action_button.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/python/packages/flet/src/flet/core/floating_action_button.py b/sdk/python/packages/flet/src/flet/core/floating_action_button.py index 5a4b12eba..c2fe6cdd0 100644 --- a/sdk/python/packages/flet/src/flet/core/floating_action_button.py +++ b/sdk/python/packages/flet/src/flet/core/floating_action_button.py @@ -212,7 +212,7 @@ def icon(self) -> Optional[IconValue]: @icon.setter def icon(self, value: Optional[IconValue]): self.__icon = value - self._set_enum_attr("icon", value, IconEnums) + self._set_attr_icon("icon", value) # bgcolor @property From 7947bc6fa728016a5ca43845a393dd2ebae6626e Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:30:57 +0300 Subject: [PATCH 10/23] Update date_picker.py Added: `IconData` support --- sdk/python/packages/flet/src/flet/core/date_picker.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/python/packages/flet/src/flet/core/date_picker.py b/sdk/python/packages/flet/src/flet/core/date_picker.py index fb570d060..666a374b6 100644 --- a/sdk/python/packages/flet/src/flet/core/date_picker.py +++ b/sdk/python/packages/flet/src/flet/core/date_picker.py @@ -321,7 +321,7 @@ def switch_to_calendar_icon(self) -> Optional[IconValue]: @switch_to_calendar_icon.setter def switch_to_calendar_icon(self, value: Optional[IconValue]): self.__switch_to_calendar_icon = value - self._set_enum_attr("switchToCalendarEntryModeIcon", value, IconEnums) + self._set_attr_icon("switchToCalendarEntryModeIcon", value) # switch_to_input_icon @property @@ -331,7 +331,7 @@ def switch_to_input_icon(self) -> Optional[IconValue]: @switch_to_input_icon.setter def switch_to_input_icon(self, value: Optional[IconValue]): self.__switch_to_input_icon = value - self._set_enum_attr("switchToInputEntryModeIcon", value, IconEnums) + self._set_attr_icon("switchToInputEntryModeIcon", value) # on_change @property From 8702f19f468a5b3c20aebe6103bb189812d15ad6 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:33:57 +0300 Subject: [PATCH 11/23] Update cupertino_button.py Added: `IconData` support --- sdk/python/packages/flet/src/flet/core/cupertino_button.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/python/packages/flet/src/flet/core/cupertino_button.py b/sdk/python/packages/flet/src/flet/core/cupertino_button.py index c3390408b..37de47ca3 100644 --- a/sdk/python/packages/flet/src/flet/core/cupertino_button.py +++ b/sdk/python/packages/flet/src/flet/core/cupertino_button.py @@ -167,7 +167,7 @@ def icon(self): @icon.setter def icon(self, value): self.__icon = value - self._set_enum_attr("icon", value, IconEnums) + self._set_attr_icon("icon", value) # icon_color @property From f85486f74642e1f7775b1e3f662afaf86979f0bf Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:35:11 +0300 Subject: [PATCH 12/23] Update cupertino_context_menu_action.py Added: `IconData` support --- .../flet/src/flet/core/cupertino_context_menu_action.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/python/packages/flet/src/flet/core/cupertino_context_menu_action.py b/sdk/python/packages/flet/src/flet/core/cupertino_context_menu_action.py index d1a535ae0..f2598d6a3 100644 --- a/sdk/python/packages/flet/src/flet/core/cupertino_context_menu_action.py +++ b/sdk/python/packages/flet/src/flet/core/cupertino_context_menu_action.py @@ -81,7 +81,7 @@ def trailing_icon(self) -> Optional[IconValue]: @trailing_icon.setter def trailing_icon(self, value: Optional[IconValue]): self.__trailing_icon = value - self._set_enum_attr("trailingIcon", value, IconEnums) + self._set_attr_icon("trailingIcon", value) # text @property From b10db776e0cf0cc829062e77dd44dec9f8ba66c9 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:37:41 +0300 Subject: [PATCH 13/23] Update dropdown.py Added: `IconData` support --- sdk/python/packages/flet/src/flet/core/dropdown.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/python/packages/flet/src/flet/core/dropdown.py b/sdk/python/packages/flet/src/flet/core/dropdown.py index c490e37b9..83fb1a4ea 100644 --- a/sdk/python/packages/flet/src/flet/core/dropdown.py +++ b/sdk/python/packages/flet/src/flet/core/dropdown.py @@ -424,7 +424,7 @@ def select_icon(self) -> Optional[IconValueOrControl]: @select_icon.setter def select_icon(self, value: Optional[IconValueOrControl]): self.__select_icon = value - self._set_enum_attr("selectIcon", value, IconEnums) + self._set_attr_icon("selectIcon", value) # icon_content @property From a1f876c9b52b97c470f189159942b90ff4d59ce5 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:38:42 +0300 Subject: [PATCH 14/23] Update elevated_button.py Added: `IconData` support --- sdk/python/packages/flet/src/flet/core/elevated_button.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/python/packages/flet/src/flet/core/elevated_button.py b/sdk/python/packages/flet/src/flet/core/elevated_button.py index f57a144dd..ab9389e1b 100644 --- a/sdk/python/packages/flet/src/flet/core/elevated_button.py +++ b/sdk/python/packages/flet/src/flet/core/elevated_button.py @@ -237,7 +237,7 @@ def icon(self) -> Optional[IconValue]: @icon.setter def icon(self, value: Optional[IconValue]): self.__icon = value - self._set_enum_attr("icon", value, IconEnums) + self._set_attr_icon("icon", value) # icon_color @property From 07865ae9e271fdadc7f568b701429fb49d02ba87 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:39:40 +0300 Subject: [PATCH 15/23] Update text_button.py Added: `IconData` support --- sdk/python/packages/flet/src/flet/core/text_button.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/python/packages/flet/src/flet/core/text_button.py b/sdk/python/packages/flet/src/flet/core/text_button.py index 087fea8b3..54c7f594c 100644 --- a/sdk/python/packages/flet/src/flet/core/text_button.py +++ b/sdk/python/packages/flet/src/flet/core/text_button.py @@ -179,7 +179,7 @@ def icon(self) -> Optional[IconValue]: @icon.setter def icon(self, value: Optional[IconValue]): self.__icon = value - self._set_enum_attr("icon", value, IconEnums) + self._set_attr_icon("icon", value) # icon_color @property From 26a4c700a3caa3bccb57cab8a82c7e47b5c9da62 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:40:31 +0300 Subject: [PATCH 16/23] Update outlined_button.py Added: `IconData` support --- sdk/python/packages/flet/src/flet/core/outlined_button.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/python/packages/flet/src/flet/core/outlined_button.py b/sdk/python/packages/flet/src/flet/core/outlined_button.py index 60be9edc4..01ff65225 100644 --- a/sdk/python/packages/flet/src/flet/core/outlined_button.py +++ b/sdk/python/packages/flet/src/flet/core/outlined_button.py @@ -185,7 +185,7 @@ def icon(self) -> Optional[IconValue]: @icon.setter def icon(self, value: Optional[IconValue]): self.__icon = value - self._set_enum_attr("icon", value, IconEnums) + self._set_attr_icon("icon", value) # icon_color @property From 298742c00347c909ed9d64bf1df083ca5b3dcc15 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:42:07 +0300 Subject: [PATCH 17/23] Update popup_menu_button.py Added: `IconData` support --- sdk/python/packages/flet/src/flet/core/popup_menu_button.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/python/packages/flet/src/flet/core/popup_menu_button.py b/sdk/python/packages/flet/src/flet/core/popup_menu_button.py index 96134bdd1..4da714954 100644 --- a/sdk/python/packages/flet/src/flet/core/popup_menu_button.py +++ b/sdk/python/packages/flet/src/flet/core/popup_menu_button.py @@ -105,7 +105,7 @@ def icon(self) -> Optional[IconValue]: @icon.setter def icon(self, value: Optional[IconValue]): self.__icon = value - self._set_enum_attr("icon", value, IconEnums) + self._set_attr_icon("icon", value) # text @property @@ -379,7 +379,7 @@ def icon(self) -> Optional[IconValue]: @icon.setter def icon(self, value: Optional[IconValue]): self.__icon = value - self._set_enum_attr("icon", value, IconEnums) + self._set_attr_icon("icon", value) # icon_color @property From 12eac832f90c82a2ca045aab605c1a516ca1c155 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:43:59 +0300 Subject: [PATCH 18/23] Update tabs.py Added: `IconData` support --- sdk/python/packages/flet/src/flet/core/tabs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/python/packages/flet/src/flet/core/tabs.py b/sdk/python/packages/flet/src/flet/core/tabs.py index d87158ab6..33786bd4c 100644 --- a/sdk/python/packages/flet/src/flet/core/tabs.py +++ b/sdk/python/packages/flet/src/flet/core/tabs.py @@ -74,7 +74,7 @@ def before_update(self): super().before_update() self._set_attr_json("iconMargin", self.__icon_margin) if isinstance(self.__icon, IconValue): - self._set_enum_attr("icon", self.__icon, IconEnums) + self._set_attr_icon("icon", self.__icon) # text @property From c123e1cf6029b5b2ed958c01913f4a9b3f216af7 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:45:25 +0300 Subject: [PATCH 19/23] Update navigation_rail.py Added: `IconData` support --- sdk/python/packages/flet/src/flet/core/navigation_rail.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/python/packages/flet/src/flet/core/navigation_rail.py b/sdk/python/packages/flet/src/flet/core/navigation_rail.py index 55316aaed..a7e897958 100644 --- a/sdk/python/packages/flet/src/flet/core/navigation_rail.py +++ b/sdk/python/packages/flet/src/flet/core/navigation_rail.py @@ -98,7 +98,7 @@ def icon(self) -> Optional[IconValueOrControl]: @icon.setter def icon(self, value: Optional[IconValueOrControl]): self.__icon = value - self._set_enum_attr("icon", value, IconEnums) + self._set_attr_icon("icon", value) # icon_content @property @@ -130,7 +130,7 @@ def selected_icon(self) -> Optional[IconValueOrControl]: @selected_icon.setter def selected_icon(self, value: Optional[IconValueOrControl]): self.__selected_icon = value - self._set_enum_attr("selectedIcon", value, IconEnums) + self._set_attr_icon("selectedIcon", value) # selected_icon_content @property From 569d2f40234d0ac832b3b1ae090e7680a2d6c65e Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:46:35 +0300 Subject: [PATCH 20/23] Update navigation_drawer.py Added: `IconData` support --- sdk/python/packages/flet/src/flet/core/navigation_drawer.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/python/packages/flet/src/flet/core/navigation_drawer.py b/sdk/python/packages/flet/src/flet/core/navigation_drawer.py index 0b523d8d6..a4b0bc6a9 100644 --- a/sdk/python/packages/flet/src/flet/core/navigation_drawer.py +++ b/sdk/python/packages/flet/src/flet/core/navigation_drawer.py @@ -88,7 +88,7 @@ def icon(self) -> Optional[IconValueOrControl]: @icon.setter def icon(self, value: Optional[IconValueOrControl]): self.__icon = value - self._set_enum_attr("icon", value, IconEnums) + self._set_attr_icon("icon", value) # icon_content @property @@ -120,7 +120,7 @@ def selected_icon(self) -> Optional[IconValueOrControl]: @selected_icon.setter def selected_icon(self, value: Optional[IconValueOrControl]): self.__selected_icon = value - self._set_enum_attr("selectedIcon", value, IconEnums) + self._set_attr_icon("selectedIcon", value) # selected_icon_content @property From 346a557b7e34ea4803ebd06a8a474a2c0e2b7b14 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:47:44 +0300 Subject: [PATCH 21/23] Update navigation_bar.py Added: `IconData` support --- sdk/python/packages/flet/src/flet/core/navigation_bar.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/python/packages/flet/src/flet/core/navigation_bar.py b/sdk/python/packages/flet/src/flet/core/navigation_bar.py index f160c79fb..89ce67f43 100644 --- a/sdk/python/packages/flet/src/flet/core/navigation_bar.py +++ b/sdk/python/packages/flet/src/flet/core/navigation_bar.py @@ -104,7 +104,7 @@ def icon(self) -> Optional[IconValueOrControl]: @icon.setter def icon(self, value: Optional[IconValueOrControl]): self.__icon = value - self._set_enum_attr("icon", value, IconEnums) + self._set_attr_icon("icon", value) # icon_content @property @@ -136,7 +136,7 @@ def selected_icon(self) -> Optional[IconValueOrControl]: @selected_icon.setter def selected_icon(self, value: Optional[IconValueOrControl]): self.__selected_icon = value - self._set_enum_attr("selectedIcon", value, IconEnums) + self._set_attr_icon("selectedIcon", value) # selected_icon_content @property From 0f577f450b022836df6e829d8aa922be3c3ba116 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 23:00:40 +0300 Subject: [PATCH 22/23] Update icon_data.py Added: `IconData` support --- sdk/python/packages/flet/src/flet/core/icon_data.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/python/packages/flet/src/flet/core/icon_data.py b/sdk/python/packages/flet/src/flet/core/icon_data.py index 54e97d05b..3753b9dc3 100644 --- a/sdk/python/packages/flet/src/flet/core/icon_data.py +++ b/sdk/python/packages/flet/src/flet/core/icon_data.py @@ -1,5 +1,5 @@ from dataclasses import dataclass -from typing import Optional +from typing import Optional, List @dataclass @@ -8,4 +8,4 @@ class IconData: font_family: Optional[str] = None font_package: Optional[str] = None match_text_direction: bool = False - font_family_fallback: Optional[list[str]] = None + font_family_fallback: Optional[List[str]] = None From a2c6392374c41b23c2d57e578bdf5f5ece504a76 Mon Sep 17 00:00:00 2001 From: Osama Mohammed Al-zabidi <57198110+omamkaz@users.noreply.github.com> Date: Sat, 11 Jan 2025 23:05:11 +0300 Subject: [PATCH 23/23] Update icon.py Added: `IconData` support --- sdk/python/packages/flet/src/flet/core/icon.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/python/packages/flet/src/flet/core/icon.py b/sdk/python/packages/flet/src/flet/core/icon.py index 5b3a64e98..1c9ea8d7a 100644 --- a/sdk/python/packages/flet/src/flet/core/icon.py +++ b/sdk/python/packages/flet/src/flet/core/icon.py @@ -138,7 +138,7 @@ def before_update(self): def icon(self) -> Optional[IconValue]: return self.__icon - @name.setter + @icon.setter def icon(self, value: Optional[IconValue]): self.__icon = value self._set_attr_icon("icon", value)