private static async void TriggerItemFetch() { Logger.Log("Hotkey pressed."); // Trigger copy action. SendKeys.SendWait("^{c}"); // Retrieve clipboard. var itemText = ClipboardHelper.GetText(); // Parse item. var item = ItemParser.ParseItem(itemText); if (item != null) { OverlayController.SetPosition(Cursor.Position.X, Cursor.Position.Y); OverlayController.Show(); var queryResult = await TradeClient.GetListings(item); if (queryResult != null) { OverlayController.SetQueryResult(queryResult); return; } } OverlayController.Hide(); }
public void ShowOverlay() { _logger.LogMessage("Main window: show overlay clicked."); if (_overlayController != null) { _overlayController.Activate(); return; } _overlayController = _controllerFactory.CreateController <OverlayController>(); var overlayPosition = ViewModel.AppData.Configuration.OverlayPosition; _overlayController.Top = overlayPosition.Y == 0 ? View.Top + View.Height + 10 : overlayPosition.Y; if (overlayPosition.X != 0) { _overlayController.Left = overlayPosition.X; } _overlayController.Closed += () => { _overlayController = null; ViewModel.OverlayDisplayed = false; }; _overlayController.View.LocationChanged += (s, e) => { ViewModel.AppData.Configuration.OverlayPosition = new Point(_overlayController.Left, _overlayController.Top); }; _overlayController.Show(); ViewModel.OverlayDisplayed = true; }