public override async Task <bool> LoadState(dynamic data) { LMProjectVM projectVM = data.Project; // FIXME: Load project asynchronously if (!projectVM.Model.IsLoaded) { try { IBusyDialog busy = App.Current.Dialogs.BusyDialog(Catalog.GetString("Loading project..."), null); busy.ShowSync(() => { try { projectVM.Model.Load(); } catch (Exception ex) { Log.Exception(ex); throw; } }); } catch (Exception ex) { Log.Exception(ex); App.Current.Dialogs.ErrorMessage(Catalog.GetString("Could not load project:") + "\n" + ex.Message); return(false); } } if (!await Initialize(data)) { return(false); } return(await LoadProject()); }
static void HandleQuitApplicationEvent(QuitApplicationEvent e) { if (jobsManagerVM.IsBusy) { string msg = Catalog.GetString("A rendering job is running in the background. Do you really want to quit?"); if (!App.Current.Dialogs.QuestionMessage(msg, null).Result) { return; } jobsManagerVM.CancelAll(); } App.Current.GUIToolkit.Quit(); }
public static void InitTranslations() { string localesDir = App.Current.RelativeToPrefix("share/locale"); if (!Directory.Exists(localesDir)) { var cerbero_prefix = Environment.GetEnvironmentVariable("CERBERO_PREFIX"); if (cerbero_prefix != null) { localesDir = Path.Combine(cerbero_prefix, "share", "locale"); } else { Log.ErrorFormat("'{0}' does not exist. This looks like an uninstalled execution." + "Define CERBERO_PREFIX.", localesDir); } } /* Init internationalization support */ Catalog.Init(Constants.SOFTWARE_NAME.ToLower(), localesDir); }