Fixes some UI desync
This commit is contained in:
parent
dd37c07485
commit
c06176c900
7 changed files with 41 additions and 32 deletions
|
@ -1,4 +1,5 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:servermanager/structs/discordHookHelper.dart';
|
||||
|
||||
import '../structs/mod.dart';
|
||||
import '../structs/settings.dart';
|
||||
|
@ -26,22 +27,25 @@ class ModManagerState extends State<ModManager> {
|
|||
onPressed: () {
|
||||
for (Mod M in settings.inst!.mods) {
|
||||
M.enabled = false;
|
||||
|
||||
settings.loggedInUser!
|
||||
.sendDiscordActionLog("${M.mod_name} was disabled");
|
||||
;
|
||||
}
|
||||
|
||||
setState(() {
|
||||
settings.restartRequired = true;
|
||||
});
|
||||
setState(() {});
|
||||
},
|
||||
icon: Icon(Icons.swipe_down)),
|
||||
IconButton(
|
||||
onPressed: () {
|
||||
for (Mod M in settings.inst!.mods) {
|
||||
M.enabled = true;
|
||||
|
||||
settings.loggedInUser!
|
||||
.sendDiscordActionLog("${M.mod_name} was enabled");
|
||||
}
|
||||
|
||||
setState(() {
|
||||
settings.restartRequired = true;
|
||||
});
|
||||
setState(() {});
|
||||
},
|
||||
icon: Icon(Icons.swipe_up))
|
||||
],
|
||||
|
@ -60,7 +64,8 @@ class ModManagerState extends State<ModManager> {
|
|||
} while (i < end - oldIndex);
|
||||
settings.inst!.mods[end] = item;
|
||||
|
||||
settings.restartRequired = true;
|
||||
settings.loggedInUser!.sendDiscordActionLog(
|
||||
"Reordered Mod List\n\n${item.mod_name} is now in load order ${end}");
|
||||
} else if (oldIndex > newIndex) {
|
||||
//From bottom to top
|
||||
Mod item = settings.inst!.mods[oldIndex];
|
||||
|
@ -68,10 +73,12 @@ class ModManagerState extends State<ModManager> {
|
|||
settings.inst!.mods[i] = settings.inst!.mods[i - 1];
|
||||
}
|
||||
settings.inst!.mods[newIndex] = item;
|
||||
|
||||
settings.loggedInUser!.sendDiscordActionLog(
|
||||
"Reordered Mod List\n\n${item.mod_name} is now in load order ${newIndex}");
|
||||
}
|
||||
setState(() {
|
||||
settings.Write();
|
||||
settings.restartRequired = true;
|
||||
});
|
||||
},
|
||||
itemBuilder: (ctx, idx) {
|
||||
|
@ -98,15 +105,18 @@ class ModManagerState extends State<ModManager> {
|
|||
ModEditReturnArgs MERA = reply as ModEditReturnArgs;
|
||||
if (MERA.delete) {
|
||||
setState(() {
|
||||
settings.loggedInUser!.sendDiscordActionLog(
|
||||
"Deleted Mod: ${settings.inst!.mods[idx].mod_name}");
|
||||
|
||||
settings.inst!.mods.removeAt(idx);
|
||||
settings.restartRequired = true;
|
||||
});
|
||||
return;
|
||||
}
|
||||
setState(() {
|
||||
settings.inst!.mods[idx] = MERA.mod!;
|
||||
|
||||
settings.restartRequired = true;
|
||||
settings.loggedInUser!.sendDiscordActionLog(
|
||||
"Edited Mod: ${MERA.mod!.mod_name}");
|
||||
});
|
||||
}
|
||||
},
|
||||
|
@ -127,9 +137,10 @@ class ModManagerState extends State<ModManager> {
|
|||
|
||||
setState(() {
|
||||
settings.inst!.mods.add(MERA.mod!);
|
||||
|
||||
settings.restartRequired = true;
|
||||
});
|
||||
|
||||
settings.loggedInUser!
|
||||
.sendDiscordActionLog("Added Mod: ${MERA.mod!.mod_name}");
|
||||
}
|
||||
},
|
||||
),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue