closeAllSubWindow before install

Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
21pages 2023-11-07 09:09:05 +08:00
parent c69f4ba4a2
commit 6a0db02230

View File

@ -336,11 +336,17 @@ class _DesktopHomePageState extends State<DesktopHomePage>
} }
if (Platform.isWindows) { if (Platform.isWindows) {
if (!bind.mainIsInstalled()) { if (!bind.mainIsInstalled()) {
return buildInstallCard( return buildInstallCard("", "install_tip", "Install", () async {
"", "install_tip", "Install", bind.mainGotoInstall); await rustDeskWinManager.closeAllSubWindows();
bind.mainGotoInstall();
});
} else if (bind.mainIsInstalledLowerVersion()) { } else if (bind.mainIsInstalledLowerVersion()) {
return buildInstallCard("Status", "Your installation is lower version.", return buildInstallCard(
"Click to upgrade", bind.mainUpdateMe); "Status", "Your installation is lower version.", "Click to upgrade",
() async {
await rustDeskWinManager.closeAllSubWindows();
bind.mainUpdateMe();
});
} }
} else if (Platform.isMacOS) { } else if (Platform.isMacOS) {
if (!bind.mainIsCanScreenRecording(prompt: false)) { if (!bind.mainIsCanScreenRecording(prompt: false)) {
@ -384,13 +390,16 @@ class _DesktopHomePageState extends State<DesktopHomePage>
final keyShowSelinuxHelpTip = "show-selinux-help-tip"; final keyShowSelinuxHelpTip = "show-selinux-help-tip";
if (bind.mainGetLocalOption(key: keyShowSelinuxHelpTip) != 'N') { if (bind.mainGetLocalOption(key: keyShowSelinuxHelpTip) != 'N') {
LinuxCards.add(buildInstallCard( LinuxCards.add(buildInstallCard(
"Warning", "selinux_tip", "", () async {}, "Warning",
marginTop: LinuxCards.isEmpty ? 20.0 : 5.0, "selinux_tip",
help: 'Help', "",
link: () async {},
'https://rustdesk.com/docs/en/client/linux/#permissions-issue', marginTop: LinuxCards.isEmpty ? 20.0 : 5.0,
closeButton: true, help: 'Help',
closeOption: keyShowSelinuxHelpTip, link:
'https://rustdesk.com/docs/en/client/linux/#permissions-issue',
closeButton: true,
closeOption: keyShowSelinuxHelpTip,
)); ));
} }
} }
@ -418,7 +427,11 @@ class _DesktopHomePageState extends State<DesktopHomePage>
Widget buildInstallCard(String title, String content, String btnText, Widget buildInstallCard(String title, String content, String btnText,
GestureTapCallback onPressed, GestureTapCallback onPressed,
{double marginTop = 20.0, String? help, String? link, bool? closeButton, String? closeOption}) { {double marginTop = 20.0,
String? help,
String? link,
bool? closeButton,
String? closeOption}) {
void closeCard() async { void closeCard() async {
if (closeOption != null) { if (closeOption != null) {
await bind.mainSetLocalOption(key: closeOption, value: 'N'); await bind.mainSetLocalOption(key: closeOption, value: 'N');
@ -439,89 +452,90 @@ class _DesktopHomePageState extends State<DesktopHomePage>
Container( Container(
margin: EdgeInsets.only(top: marginTop), margin: EdgeInsets.only(top: marginTop),
child: Container( child: Container(
decoration: BoxDecoration( decoration: BoxDecoration(
gradient: LinearGradient( gradient: LinearGradient(
begin: Alignment.centerLeft, begin: Alignment.centerLeft,
end: Alignment.centerRight, end: Alignment.centerRight,
colors: [ colors: [
Color.fromARGB(255, 226, 66, 188), Color.fromARGB(255, 226, 66, 188),
Color.fromARGB(255, 244, 114, 124), Color.fromARGB(255, 244, 114, 124),
], ],
)), )),
padding: EdgeInsets.all(20), padding: EdgeInsets.all(20),
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: (title.isNotEmpty children: (title.isNotEmpty
? <Widget>[ ? <Widget>[
Center( Center(
child: Text(
translate(title),
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 15),
).marginOnly(bottom: 6)),
]
: <Widget>[]) +
<Widget>[
Text(
translate(content),
style: TextStyle(
height: 1.5,
color: Colors.white,
fontWeight: FontWeight.normal,
fontSize: 13),
).marginOnly(bottom: 20)
] +
(btnText.isNotEmpty
? <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
FixedWidthButton(
width: 150,
padding: 8,
isOutline: true,
text: translate(btnText),
textColor: Colors.white,
borderColor: Colors.white,
textSize: 20,
radius: 10,
onTap: onPressed,
)
])
]
: <Widget>[]) +
(help != null
? <Widget>[
Center(
child: InkWell(
onTap: () async =>
await launchUrl(Uri.parse(link!)),
child: Text( child: Text(
translate(help), translate(title),
style: TextStyle( style: TextStyle(
decoration: TextDecoration.underline, color: Colors.white,
color: Colors.white, fontWeight: FontWeight.bold,
fontSize: 12), fontSize: 15),
)).marginOnly(top: 6)), ).marginOnly(bottom: 6)),
] ]
: <Widget>[]))), : <Widget>[]) +
<Widget>[
Text(
translate(content),
style: TextStyle(
height: 1.5,
color: Colors.white,
fontWeight: FontWeight.normal,
fontSize: 13),
).marginOnly(bottom: 20)
] +
(btnText.isNotEmpty
? <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
FixedWidthButton(
width: 150,
padding: 8,
isOutline: true,
text: translate(btnText),
textColor: Colors.white,
borderColor: Colors.white,
textSize: 20,
radius: 10,
onTap: onPressed,
)
])
]
: <Widget>[]) +
(help != null
? <Widget>[
Center(
child: InkWell(
onTap: () async =>
await launchUrl(Uri.parse(link!)),
child: Text(
translate(help),
style: TextStyle(
decoration:
TextDecoration.underline,
color: Colors.white,
fontSize: 12),
)).marginOnly(top: 6)),
]
: <Widget>[]))),
), ),
if (closeButton != null && closeButton == true) if (closeButton != null && closeButton == true)
Positioned( Positioned(
top: 18, top: 18,
right: 0, right: 0,
child: IconButton( child: IconButton(
icon: Icon( icon: Icon(
Icons.close, Icons.close,
color: Colors.white, color: Colors.white,
size: 20, size: 20,
),
onPressed: closeCard,
), ),
onPressed: closeCard,
), ),
),
], ],
); );
} }