Use consistent RunOnIdle pattern with .2s delay to ensure popup close
This commit is contained in:
parent
486fd08fc1
commit
a8d574dd80
1 changed files with 40 additions and 47 deletions
|
|
@ -89,73 +89,66 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
PopupMenu.MenuItem menuItem;
|
||||
|
||||
menuItem = popupMenu.CreateMenuItem("Import Presets".Localize());
|
||||
menuItem.Click += (s, e) =>
|
||||
menuItem.Click += (s, e) => UiThread.RunOnIdle(() =>
|
||||
{
|
||||
UiThread.RunOnIdle(() =>
|
||||
{
|
||||
AggContext.FileDialogs.OpenFileDialog(
|
||||
new OpenFileDialogParams("settings files|*.printer"),
|
||||
(dialogParams) =>
|
||||
AggContext.FileDialogs.OpenFileDialog(
|
||||
new OpenFileDialogParams("settings files|*.printer"),
|
||||
(dialogParams) =>
|
||||
{
|
||||
if (!string.IsNullOrEmpty(dialogParams.FileName))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(dialogParams.FileName))
|
||||
{
|
||||
DialogWindow.Show(new ImportSettingsPage(dialogParams.FileName, printer));
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
DialogWindow.Show(new ImportSettingsPage(dialogParams.FileName, printer));
|
||||
}
|
||||
});
|
||||
}, .2);
|
||||
|
||||
popupMenu.CreateHorizontalLine();
|
||||
|
||||
menuItem = popupMenu.CreateMenuItem("Restore Settings".Localize());
|
||||
menuItem.Click += (s, e) =>
|
||||
menuItem.Click += (s, e) => UiThread.RunOnIdle(() =>
|
||||
{
|
||||
DialogWindow.Show<PrinterProfileHistoryPage>();
|
||||
};
|
||||
}, .2);
|
||||
menuItem.Enabled = !string.IsNullOrEmpty(AuthenticationData.Instance.ActiveSessionUsername);
|
||||
|
||||
menuItem = popupMenu.CreateMenuItem("Reset to Defaults".Localize());
|
||||
menuItem.Click += (s, e) =>
|
||||
menuItem.Click += (s, e) => UiThread.RunOnIdle(() =>
|
||||
{
|
||||
UiThread.RunOnIdle(() =>
|
||||
{
|
||||
StyledMessageBox.ShowMessageBox(
|
||||
revertSettings =>
|
||||
StyledMessageBox.ShowMessageBox(
|
||||
(revertSettings) =>
|
||||
{
|
||||
if (revertSettings)
|
||||
{
|
||||
if (revertSettings)
|
||||
bool onlyReloadSliceSettings = true;
|
||||
if (printer.Settings.GetValue<bool>(SettingsKey.print_leveling_required_to_print)
|
||||
&& printer.Settings.GetValue<bool>(SettingsKey.print_leveling_enabled))
|
||||
{
|
||||
bool onlyReloadSliceSettings = true;
|
||||
if (printer.Settings.GetValue<bool>(SettingsKey.print_leveling_required_to_print)
|
||||
&& printer.Settings.GetValue<bool>(SettingsKey.print_leveling_enabled))
|
||||
{
|
||||
onlyReloadSliceSettings = false;
|
||||
}
|
||||
|
||||
printer.Settings.ClearUserOverrides();
|
||||
printer.Settings.Save();
|
||||
|
||||
if (onlyReloadSliceSettings)
|
||||
{
|
||||
printer?.Bed.GCodeRenderer?.Clear3DGCode();
|
||||
}
|
||||
else
|
||||
{
|
||||
ApplicationController.Instance.ReloadAll();
|
||||
}
|
||||
onlyReloadSliceSettings = false;
|
||||
}
|
||||
},
|
||||
"Resetting to default values will remove your current overrides and restore your original printer settings.\nAre you sure you want to continue?".Localize(),
|
||||
"Revert Settings".Localize(),
|
||||
StyledMessageBox.MessageType.YES_NO);
|
||||
});
|
||||
|
||||
};
|
||||
printer.Settings.ClearUserOverrides();
|
||||
printer.Settings.Save();
|
||||
|
||||
if (onlyReloadSliceSettings)
|
||||
{
|
||||
printer?.Bed.GCodeRenderer?.Clear3DGCode();
|
||||
}
|
||||
else
|
||||
{
|
||||
ApplicationController.Instance.ReloadAll();
|
||||
}
|
||||
}
|
||||
},
|
||||
"Resetting to default values will remove your current overrides and restore your original printer settings.\nAre you sure you want to continue?".Localize(),
|
||||
"Revert Settings".Localize(),
|
||||
StyledMessageBox.MessageType.YES_NO);
|
||||
}, .2);
|
||||
|
||||
menuItem = popupMenu.CreateMenuItem("Export".Localize());
|
||||
menuItem.Click += (s, e) =>
|
||||
menuItem.Click += (s, e) => UiThread.RunOnIdle(() =>
|
||||
{
|
||||
ActiveSliceSettings.Instance.Helpers.ExportAsMatterControlConfig();
|
||||
};
|
||||
}, .2);
|
||||
}
|
||||
|
||||
// TODO: This should just proxy to settingsControlBar.Visible. Having local state and pushing values on event listeners seems off
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue