findReplace static method
Find & replace prompt.
Implementation
static Future<UFindReplaceRequest?> findReplace() {
final TextEditingController find = TextEditingController();
final TextEditingController replace = TextEditingController();
bool matchCase = false;
return UNavigator.dialog<UFindReplaceRequest>(
StatefulBuilder(
builder: (BuildContext context, StateSetter setInner) => AlertDialog(
title: Text(U.s.findAndReplace),
content: SizedBox(
width: 420,
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
TextField(
controller: find,
autofocus: true,
decoration: InputDecoration(labelText: U.s.find, border: const OutlineInputBorder()),
),
const SizedBox(height: 12),
TextField(
controller: replace,
decoration: InputDecoration(labelText: U.s.replaceWith, border: const OutlineInputBorder()),
),
CheckboxListTile(
contentPadding: EdgeInsets.zero,
value: matchCase,
title: UTextBodyMedium(U.s.matchCase),
onChanged: (bool? v) => setInner(() => matchCase = v ?? false),
),
],
),
),
actions: <Widget>[
TextButton(onPressed: UNavigator.back, child: Text(U.s.cancel)),
TextButton(
onPressed: () => UNavigator.back(UFindReplaceRequest(find: find.text, replace: replace.text, matchCase: matchCase)),
child: Text(U.s.replaceAll),
),
],
),
),
);
}