private void LoadState(IEnumerable <string> events) { commanderNotifications?.UnsubscribeNotifications(); State.InitLoad(); // Clear state: State.Cargo.ToList().ForEach(k => State.IncrementCargo(k.Value.Data.Name, -1 * k.Value.Count)); LastUpdate = Instant.MinValue; ApplyEventsToSate(events); ThresholdsManagerWindow.InitThresholds(State.Cargo); commanderNotifications?.SubscribeNotifications(); State.Cargo.RefreshSort(); State.CompleteLoad(); }
private void MainWindowLoaded(object sender, RoutedEventArgs args) { var dimensions = SettingsManager.Dimensions; Width = dimensions.Width; Left = dimensions.Left; Top = dimensions.Top; Height = dimensions.Height; if (dimensions.LeftSideWidth != 1 || dimensions.RightSideWidth != 1) { ContentGrid.ColumnDefinitions[0].Width = new GridLength(dimensions.LeftSideWidth, GridUnitType.Star); ContentGrid.ColumnDefinitions[2].Width = new GridLength(dimensions.RightSideWidth, GridUnitType.Star); } if (AllowsTransparency) { ToggleEditMode.Content = viewModel.Languages.Translate("Unlock Window"); MainSplitter.Visibility = Visibility.Hidden; } else { ToggleEditMode.Content = viewModel.Languages.Translate("Lock Window"); ResetWindowPositionButton.Visibility = Visibility.Visible; } menu = TrayIconManager.BuildContextMenu((o, e) => ShowWindow(), (o, e) => Close(), ConfigureShortcut, (o, e) => ToggleEditModeChecked(o, null), (o, e) => ResetWindowPositionButtonClicked(o, null), (o, e) => Languages.PromptLanguage(viewModel.Languages), () => serverBridge.Toggle(), serverBridge.Running, (o, e) => { ReleaseNotesManager.ShowReleaseNotes(); }, Properties.Settings.Default.CurrentVersion, (o, e) => { ThresholdsManagerWindow.ShowThresholds(viewModel.Languages, viewModel.CurrentCommander.Value.State.Cargo, viewModel.CurrentCommander.Key); }, (o, e) => { new NotificationSettingsWindow(viewModel.Languages).ShowDialog(); }, (o, e) => { new GraphicSettingsWindow(viewModel.GraphicSettings).ShowDialog(); }); icon = TrayIconManager.Init(menu); try { var shortcut = SettingsManager.Shortcut; var hotKey = (Keys) new KeysConverter().ConvertFromString(shortcut); HotkeyManager.RegisterHotKey(this, hotKey); } catch { SettingsManager.Shortcut = null; ConfigureShortcut(this, EventArgs.Empty); ShowWindow(); } Blueprints.UpdateLayout(); ShoppingList.UpdateLayout(); if (!AllowsTransparency) { saveDimensionScheduler = new PostponeScheduler(SaveDimensions, 500); SizeChanged += (o, e) => saveDimensionScheduler.Schedule(); LocationChanged += (o, e) => saveDimensionScheduler.Schedule(); MainSplitter.DragCompleted += (o, e) => saveDimensionScheduler.Schedule(); } }