Example #1
0
        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);
 }
Example #4
0
 public string LoadLayoutModel(LoadLayoutRequest request)
 {
     return(layoutOpening.LoadLayout(request).Result);
 }