mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-24 22:35:53 -04:00
disable OK button while seed is generating
This commit is contained in:
@@ -392,8 +392,8 @@ void SaveNewRandomizerPreset(const std::string& presetName, bool overwriteExisti
|
||||
// again but force overwrite the existing preset
|
||||
if (std::filesystem::exists(presetFilepath) && !overwriteExisting) {
|
||||
UiDialogAction actions[] = {
|
||||
{"No", onOverwriteDialogNo, nullptr, false},
|
||||
{"Yes", onOverwriteDialogYes, nullptr, false},
|
||||
{sizeof(UiDialogAction), "No", onOverwriteDialogNo, nullptr, false, nullptr},
|
||||
{sizeof(UiDialogAction), "Yes", onOverwriteDialogYes, nullptr, false, nullptr},
|
||||
};
|
||||
|
||||
actions[1].user_data = (void*)presetName.data();
|
||||
@@ -476,8 +476,8 @@ void onPresetDialogCancel(ModContext* ctx, UiDialogHandle dialog, void* user_dat
|
||||
|
||||
void buildPresetSaveDialog(ModContext* ctx, void* user_data) {
|
||||
UiDialogAction actions[] = {
|
||||
{"Save", onPresetDialogSave, nullptr, false},
|
||||
{"Cancel", onPresetDialogCancel, nullptr, false},
|
||||
{sizeof(UiDialogAction), "Save", onPresetDialogSave, nullptr, false, nullptr},
|
||||
{sizeof(UiDialogAction), "Cancel", onPresetDialogCancel, nullptr, false, nullptr},
|
||||
};
|
||||
|
||||
auto buildPaneFn = [](ModContext* ctx, UiElementHandle pane, void* user_data, ModError* out_error) {
|
||||
@@ -516,7 +516,7 @@ void onPresetLoad(ModContext* ctx, void* user_data) {
|
||||
std::vector<std::string> presetList{};
|
||||
void buildPresetLoadDialog(ModContext* ctx, void* user_data) {
|
||||
UiDialogAction actions[] = {
|
||||
{"Cancel", onPresetDialogLoadCancel, nullptr, false},
|
||||
{sizeof(UiDialogAction), "Cancel", onPresetDialogLoadCancel, nullptr, false, nullptr},
|
||||
};
|
||||
|
||||
auto buildPaneFn = [](ModContext* ctx, UiElementHandle pane, void* user_data, ModError* out_error) {
|
||||
@@ -577,7 +577,7 @@ bool isSeedDeleteDisabled(ModContext* ctx, void* user_data) {
|
||||
|
||||
void buildSeedDeleteDialog(ModContext* ctx, void* user_data) {
|
||||
UiDialogAction actions[] = {
|
||||
{"Cancel", onSeedDeleteCancel, nullptr, false},
|
||||
{sizeof(UiDialogAction), "Cancel", onSeedDeleteCancel, nullptr, false, nullptr},
|
||||
};
|
||||
|
||||
auto buildPaneFn = [](ModContext* ctx, UiElementHandle pane, void* user_data, ModError* out_error) {
|
||||
|
||||
@@ -49,10 +49,15 @@ static ModResult buildDialog() {
|
||||
desc.variant = UI_DIALOG_NORMAL;
|
||||
|
||||
UiDialogAction action = {
|
||||
.struct_size = sizeof(UiDialogAction),
|
||||
.label = "OK",
|
||||
.on_pressed = OnDialogActionOK,
|
||||
.user_data = nullptr,
|
||||
.keep_open = false,
|
||||
.is_disabled = [](ModContext*, void*) {
|
||||
// disable button while seed is generating
|
||||
return seedGenStatus.load() == SeedGenerateStatus::Generating;
|
||||
}
|
||||
};
|
||||
desc.actions = &action;
|
||||
desc.action_count = 1;
|
||||
|
||||
Reference in New Issue
Block a user