actionWindowWidget static method
Widget
actionWindowWidget({
- required BuildContext context,
- required GeneralLibFlutterApp generalLibFlutterApp,
Implementation
static Widget actionWindowWidget({
required BuildContext context,
required GeneralLibFlutterApp generalLibFlutterApp,
}) {
if (Dart.isDesktop == false || Dart.isWeb) {
return const SizedBox.shrink();
}
final children = [
// WindowCaptionButton.minimize(
// brightness: platformBrightness(context: context, generalLibFlutterApp: generalLibFlutterApp),
// onPressed: () async {
// try {
// await windowManager.setAlwaysOnBottom(false);
// await windowManager.setFullScreen(false);
// // bool isMinimized = await windowManager.();
// // if (isMinimized) {
// // await windowManager.restore();
// // } else {
// // await windowManager.minimize();
// // }
// } catch (e) {}
// },
// ),
WindowCaptionButton.minimize(
brightness: platformBrightness(
context: context, generalLibFlutterApp: generalLibFlutterApp),
onPressed: () async {
try {
bool isMinimized = await windowManager.isMinimized();
if (isMinimized) {
await windowManager.restore();
} else {
await windowManager.minimize();
}
} catch (e) {}
},
),
FutureBuilder<bool>(
future: () async {
try {
return windowManager.isMaximized();
} catch (e) {
return false;
}
}(),
builder: (BuildContext context, AsyncSnapshot<bool> snapshot) {
if (snapshot.data == true) {
return WindowCaptionButton.unmaximize(
brightness: platformBrightness(
context: context, generalLibFlutterApp: generalLibFlutterApp),
onPressed: () async {
try {
await windowManager.unmaximize();
} catch (e) {}
},
);
}
return WindowCaptionButton.maximize(
brightness: platformBrightness(
context: context, generalLibFlutterApp: generalLibFlutterApp),
onPressed: () async {
try {
await windowManager.maximize();
} catch (e) {}
},
);
},
),
WindowCaptionButton.close(
brightness: platformBrightness(
context: context, generalLibFlutterApp: generalLibFlutterApp),
onPressed: () async {
context.theme;
try {
await windowManager.close();
} catch (e) {}
},
),
];
if (context.orientation.isPortrait) {
if (context.width < 300) {
return PopupMenuButton(
itemBuilder: (context) {
return children.map((e) {
return PopupMenuItem(
child: e,
);
}).toList();
},
);
}
}
return Row(
mainAxisSize: MainAxisSize.min,
children: children,
);
}