private async Task <string> LoadLayout() { string message = ""; if (layoutsListBox.SelectedItem != null) { LoadLayoutRequest request = new LoadLayoutRequest { Layout = (LayoutModel)layoutsListBox.SelectedItem, MoveApps = moveAppsCheckbox.Checked, OnlyClosedApps = OnlyClossedAppsCheckBox.Checked, OnlyThisLayout = OnlyThisLayoutCheckbox.Checked }; try { message = Task.Run(() => message = manager.LoadLayoutModel(request)).Result; } catch (Win32Exception ex) { MessageBoxes.ErrorMessageBox(ex.Message, "Acces denined"); } } return(message); }
public async Task <string> LoadLayout(LoadLayoutRequest request) { Console.WriteLine("__________________"); Console.WriteLine($"New layout loading({request.Layout.Name})"); if (request.OnlyThisLayout) { ProcessManager.CloseAllVisibleProcesses(GetAppsNames(request.Layout.Apps)); } List <Task> layoutTasks = new List <Task>(); OpenApps(request.Layout.Apps); AppsPosition.ResetWindows(); foreach (AppModel app in request.Layout.Apps) { layoutTasks.Add(Task.Run(() => LoadApp(request, app))); } await Task.WhenAll(layoutTasks); return("All done"); }
private bool LoadApp(LoadLayoutRequest request, AppModel app) { if (IsPositionZero(app)) { app.Position = AppsPosition.GetAppPosition(app.Name); FilesWriter.EditAppModel(app); } if (request.MoveApps && !AppsPosition.IsAppOnCorrectPosition(app)) { AppsPosition.SetAppPosition(app); } AppsPosition.BringWindowForward(app); return(true); }
public string LoadLayoutModel(LoadLayoutRequest request) { return(layoutOpening.LoadLayout(request).Result); }