예제 #1
0
        private void Setup()
        {
            SessionhasAdminRights = IsUserAdministrator();

            try {
                Task.Run(async() => {
                    var hasUpdate = await _updateManager.FetchUpdateAsync();

                    if (!hasUpdate)
                    {
                        return;
                    }

                    var thread = new Thread(() => {
                        var updaterWindow = new UpdaterWindow(_updateManager)
                        {
                            ShowActivated = true
                        };

                        updaterWindow.Show();

                        updaterWindow.StartUpdateProcess();

                        System.Windows.Threading.Dispatcher.Run();
                    });

                    thread.SetApartmentState(ApartmentState.STA);
                    thread.Start();
                });
            }

            catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }

            try {
                Directory.CreateDirectory(AppDataPath);
                Directory.CreateDirectory(ExportPath);
            }

            catch (Exception ex) {
                ex.Show();
            }

            Views = new ViewCollection(); // Make a ViewCollection object

            ToolsMenu.ItemsSource = ViewCollection.GetAllToolTypes().Where(o => o.GetCustomAttribute <HiddenToolAttribute>() == null).Select(o => {
                var name = ViewCollection.GetName(o);
                var item = new MenuItem {
                    Header = "_" + name, ToolTip = $"Open {name}."
                };
                item.Click += ViewSelectMenuItemOnClick;
                return(item);
            }).OrderBy(o => o.Header);
        }