Skip to content

Commit 4040468

Browse files
committed
Merge branch 'main' into inesa/update-todo-tutorial
2 parents 6a55d69 + f32e641 commit 4040468

File tree

24 files changed

+3257
-2269
lines changed

24 files changed

+3257
-2269
lines changed

.fvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"flutter": "3.38.2"
2+
"flutter": "3.38.3"
33
}

client/macos/Flutter/GeneratedPluginRegistrant.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import geolocator_apple
1212
import media_kit_libs_macos_video
1313
import media_kit_video
1414
import package_info_plus
15+
import path_provider_foundation
1516
import record_macos
1617
import rive_common
1718
import screen_retriever_macos
@@ -31,6 +32,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
3132
MediaKitLibsMacosVideoPlugin.register(with: registry.registrar(forPlugin: "MediaKitLibsMacosVideoPlugin"))
3233
MediaKitVideoPlugin.register(with: registry.registrar(forPlugin: "MediaKitVideoPlugin"))
3334
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
35+
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
3436
RecordMacOsPlugin.register(with: registry.registrar(forPlugin: "RecordMacOsPlugin"))
3537
RivePlugin.register(with: registry.registrar(forPlugin: "RivePlugin"))
3638
ScreenRetrieverMacosPlugin.register(with: registry.registrar(forPlugin: "ScreenRetrieverMacosPlugin"))

client/pubspec.lock

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -189,10 +189,10 @@ packages:
189189
dependency: transitive
190190
description:
191191
name: device_info_plus
192-
sha256: dd0e8e02186b2196c7848c9d394a5fd6e5b57a43a546082c5820b1ec72317e33
192+
sha256: "4df8babf73058181227e18b08e6ea3520cf5fc5d796888d33b7cb0f33f984b7c"
193193
url: "https://pub.dev"
194194
source: hosted
195-
version: "12.2.0"
195+
version: "12.3.0"
196196
device_info_plus_platform_interface:
197197
dependency: transitive
198198
description:
@@ -782,14 +782,6 @@ packages:
782782
url: "https://pub.dev"
783783
source: hosted
784784
version: "1.0.0"
785-
objective_c:
786-
dependency: transitive
787-
description:
788-
name: objective_c
789-
sha256: "1f81ed9e41909d44162d7ec8663b2c647c202317cc0b56d3d56f6a13146a0b64"
790-
url: "https://pub.dev"
791-
source: hosted
792-
version: "9.1.0"
793785
package_info_plus:
794786
dependency: transitive
795787
description:
@@ -842,10 +834,10 @@ packages:
842834
dependency: transitive
843835
description:
844836
name: path_provider_foundation
845-
sha256: "6192e477f34018ef1ea790c56fffc7302e3bc3efede9e798b934c252c8c105ba"
837+
sha256: "6d13aece7b3f5c5a9731eaf553ff9dcbc2eff41087fd2df587fd0fed9a3eb0c4"
846838
url: "https://pub.dev"
847839
source: hosted
848-
version: "2.5.0"
840+
version: "2.5.1"
849841
path_provider_linux:
850842
dependency: transitive
851843
description:
@@ -974,14 +966,6 @@ packages:
974966
url: "https://pub.dev"
975967
source: hosted
976968
version: "6.1.5+1"
977-
pub_semver:
978-
dependency: transitive
979-
description:
980-
name: pub_semver
981-
sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585"
982-
url: "https://pub.dev"
983-
source: hosted
984-
version: "2.2.0"
985969
record:
986970
dependency: transitive
987971
description:

packages/flet/lib/src/controls/radio.dart

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import '../utils/text.dart';
99
import '../utils/theme.dart';
1010
import '../widgets/error.dart';
1111
import 'base_controls.dart';
12+
import 'list_tile.dart';
1213

1314
class RadioControl extends StatefulWidget {
1415
final Control control;
@@ -22,6 +23,7 @@ class RadioControl extends StatefulWidget {
2223

2324
class _RadioControlState extends State<RadioControl> {
2425
late final FocusNode _focusNode;
26+
Listenable? _tileClicksNotifier;
2527

2628
@override
2729
void initState() {
@@ -30,13 +32,38 @@ class _RadioControlState extends State<RadioControl> {
3032
_focusNode.addListener(_onFocusChange);
3133
}
3234

35+
@override
36+
void didChangeDependencies() {
37+
super.didChangeDependencies();
38+
final newNotifier = ListTileClicks.of(context)?.notifier;
39+
40+
// If the inherited source changed, swap listeners
41+
if (!identical(_tileClicksNotifier, newNotifier)) {
42+
_tileClicksNotifier?.removeListener(_handleTileClick);
43+
_tileClicksNotifier = newNotifier;
44+
_tileClicksNotifier?.addListener(_handleTileClick);
45+
}
46+
}
47+
3348
void _onFocusChange() {
3449
widget.control.triggerEvent(_focusNode.hasFocus ? "focus" : "blur");
3550
}
3651

52+
void _handleTileClick() {
53+
if (widget.control.disabled) {
54+
return;
55+
}
56+
final radioGroup = RadioGroup.maybeOf<String>(context);
57+
if (radioGroup != null) {
58+
final value = widget.control.getString("value", "")!;
59+
radioGroup.onChanged(value);
60+
}
61+
}
62+
3763
@override
3864
void dispose() {
3965
_focusNode.removeListener(_onFocusChange);
66+
_tileClicksNotifier?.removeListener(_handleTileClick);
4067
_focusNode.dispose();
4168
super.dispose();
4269
}

sdk/python/packages/flet-charts/src/flet_charts/matplotlib_chart.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ async def _receive_loop(self):
323323

324324
self.canvas.shapes = [
325325
fc.Image(
326-
src_bytes=content,
326+
src=content,
327327
x=0,
328328
y=0,
329329
width=self.figure.bbox.size[0] / self.__dpr,

sdk/python/packages/flet-cli/src/flet_cli/cli.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44
import flet.version
55
import flet_cli.commands.build
66
import flet_cli.commands.create
7-
import flet_cli.commands.doctor # Adding the doctor command
7+
import flet_cli.commands.debug
8+
import flet_cli.commands.devices
9+
import flet_cli.commands.doctor
10+
import flet_cli.commands.emulators
811
import flet_cli.commands.pack
912
import flet_cli.commands.publish
1013
import flet_cli.commands.run
1114
import flet_cli.commands.serve
12-
from flet.version import update_version
1315

1416

1517
# Source https://stackoverflow.com/a/26379693
@@ -69,7 +71,9 @@ def get_parser() -> argparse.ArgumentParser:
6971
"--version",
7072
"-V",
7173
action="version",
72-
version=flet.version.version if flet.version.version else update_version(),
74+
version=flet.version.version
75+
if flet.version.version
76+
else flet.version.from_git(),
7377
)
7478

7579
sp = parser.add_subparsers(dest="command")
@@ -78,9 +82,12 @@ def get_parser() -> argparse.ArgumentParser:
7882
flet_cli.commands.create.Command.register_to(sp, "create")
7983
flet_cli.commands.run.Command.register_to(sp, "run")
8084
flet_cli.commands.build.Command.register_to(sp, "build")
85+
flet_cli.commands.debug.Command.register_to(sp, "debug")
8186
flet_cli.commands.pack.Command.register_to(sp, "pack")
8287
flet_cli.commands.publish.Command.register_to(sp, "publish")
8388
flet_cli.commands.serve.Command.register_to(sp, "serve")
89+
flet_cli.commands.emulators.Command.register_to(sp, "emulators")
90+
flet_cli.commands.devices.Command.register_to(sp, "devices")
8491
flet_cli.commands.doctor.Command.register_to(sp, "doctor")
8592

8693
# set "run" as the default subparser

0 commit comments

Comments
 (0)