private void OnWindowToggleOff(TaskbarButton obj) { if (obj == friendsButton) { OnFriendsToggleOff?.Invoke(); } else if (obj == chatButton) { OnChatToggleOff?.Invoke(); } else if (obj == backpackButton) { OnBackpackToggleOff?.Invoke(); } else if (obj == exploreButton) { OnExploreToggleOff?.Invoke(); } else if (obj == goToGenesisButton) { OnGoToGenesisToggleOff?.Invoke(); } else if (obj == moreButton) { moreMenu.ShowMoreMenu(false); } if (AllButtonsToggledOff()) { chatButton.SetToggleState(false, useCallback: false); controller.worldChatWindowHud.SetVisibility(true); } }
public TaskbarButton AddButton() { GameObject button = Instantiate(ButtonPrefab, transform, false); TaskbarButton taskbarButton = button.GetComponent <TaskbarButton>(); return(taskbarButton); }
private void OnWindowToggleOn(TaskbarButton obj) { if (obj == friendsButton) { OnFriendsToggleOn?.Invoke(); } else if (obj == chatButton) { OnChatToggleOn?.Invoke(); } else if (obj == backpackButton) { OnBackpackToggleOn?.Invoke(); } else if (obj == exploreButton) { OnExploreToggleOn?.Invoke(); } else if (obj == goToGenesisButton) { OnGoToGenesisToggleOn?.Invoke(); } else if (obj == moreButton) { moreMenu.ShowMoreMenu(true); } SelectButton(obj); }
private void OnWindowToggleOn(TaskbarButton obj) { if (obj == friendsButton) { OnFriendsToggleOn?.Invoke(); } else if (obj == chatButton) { OnChatToggleOn?.Invoke(); } else if (obj == settingsButton) { OnSettingsToggleOn?.Invoke(); } else if (obj == builderInWorldButton) { OnBuilderInWorldToggleOn?.Invoke(); } else if (obj == exploreButton) { OnExploreToggleOn?.Invoke(); } else if (obj == moreButton) { moreMenu.ShowMoreMenu(true); } SelectButton(obj); }
private void OnToggleOff(TaskbarButton head) { if (!(head is ChatHeadButton)) { return; } OnHeadToggleOff?.Invoke(head); }
private void ChatHeadsGroup_OnHeadOpen(TaskbarButton taskbarBtn) { ChatHeadButton head = taskbarBtn as ChatHeadButton; if (taskbarBtn == null) { return; } OpenPrivateChatWindow(head.profile.userId); }
void SelectButton(TaskbarButton obj) { var taskbarButtonList = GetButtonList(); foreach (var btn in taskbarButtonList) { if (btn != obj) { btn.SetToggleState(false, useCallback: true); } } }
private void OnWindowToggleOn(TaskbarButton obj) { if (obj == friendsButton) { OnFriendsToggleOn?.Invoke(); } else if (obj == chatButton) { OnChatToggleOn?.Invoke(); } SelectButton(obj); }
private void OnWindowToggleOff(TaskbarButton obj) { if (obj == friendsButton) { OnFriendsToggleOff?.Invoke(); } else if (obj == chatButton) { OnChatToggleOff?.Invoke(); } else if (obj == settingsButton) { OnSettingsToggleOff?.Invoke(); } else if (obj == builderInWorldButton) { OnBuilderInWorldToggleOff?.Invoke(); } else if (obj == exploreButton) { OnExploreToggleOff?.Invoke(); } else if (obj == moreButton) { moreMenu.ShowMoreMenu(false); } else if (obj == questPanelButton) { OnQuestPanelToggled?.Invoke(false); } else { using (var iterator = activePortableExperienceItems.GetEnumerator()) { while (iterator.MoveNext()) { if (iterator.Current.Value.mainButton == obj) { iterator.Current.Value.ShowContextMenu(false); break; } } } } if (AllButtonsToggledOff()) { chatButton.SetToggleState(false, useCallback: false); controller.worldChatWindowHud.SetVisibility(true); } }
private void OnWindowToggleOn(TaskbarButton obj) { if (obj == friendsButton) { OnFriendsToggleOn?.Invoke(); } else if (obj == chatButton) { OnChatToggleOn?.Invoke(); } else if (obj == settingsButton) { OnSettingsToggleOn?.Invoke(); } else if (obj == builderInWorldButton) { OnBuilderInWorldToggleOn?.Invoke(); } else if (obj == exploreButton) { OnExploreToggleOn?.Invoke(); } else if (obj == moreButton) { moreMenu.ShowMoreMenu(true); } else if (obj == questPanelButton) { OnQuestPanelToggled?.Invoke(true); } else { using (var iterator = activePortableExperienceItems.GetEnumerator()) { while (iterator.MoveNext()) { if (iterator.Current.Value.mainButton == obj) { iterator.Current.Value.ShowContextMenu(true); break; } } } } SelectButton(obj); }
private void OnWindowToggleOff(TaskbarButton obj) { if (obj == friendsButton) { OnFriendsToggleOff?.Invoke(); } else if (obj == chatButton) { OnChatToggleOff?.Invoke(); } if (AllButtonsToggledOff()) { chatButton.SetToggleState(false, useCallback: false); controller.worldChatWindowHud.SetVisibility(true); } }
void processLogic_OnLocationChanged(Win32Window window) { bool display = true; foreach (var item in flowPanel.Controls) { TaskbarButton button = item as TaskbarButton; if (button == null) { continue; } SecondDisplayProcess proc = button.Tag as SecondDisplayProcess; if (proc == null) { continue; } if (Native.IsFullScreen(proc.Handle, CurrentScreen.Bounds)) { display = false; break; } } if (this.Visible && !display) { this.Hide(); this.IsHidden = true; DisplayStartMenu(); } else if (!this.Visible && display) { this.Show(); this.IsHidden = false; DisplayStartMenu(); } // remote desktop window shows in primary taskbar after restoring from full screen - we need to hide it again if (!TaskbarPropertiesManager.Instance.Properties.MirrorButtons && flowPanel.ButtonExists(window)) { WindowManager.Instance.ReDeleteTab(window.Handle.ToInt32()); } }
public void SelectButton(TaskbarButton obj) { var taskbarButtonList = GetButtonList(); foreach (var btn in taskbarButtonList) { if (btn != obj) { // We let the use of the chat and friends windows while we are using the explore at the same time if ((btn == exploreButton && (obj == chatButton || obj == friendsButton || obj is ChatHeadButton)) || ((btn == chatButton || btn == friendsButton || btn is ChatHeadButton) && obj == exploreButton)) { continue; } btn.SetToggleState(false, useCallback: true); } } }
public void ForceHide() { if (SystemMenuProxy.IsOpening) { return; } _closeForm.Hide(); base.Hide(); if (_button != null) { OnCustomLeave(null, TooltipEventArgs.From(_button)); ShowLivePreview(_button, false); } _button = null; _doHide = false; }
void tsmiUnpin_Click(object sender, System.EventArgs e) { var menu = sender as ToolStripMenuItem; var strip = menu.Owner as ContextMenuStrip; TaskbarButton button = strip.SourceControl as TaskbarButton; if (button != null) { SecondDisplayProcess proc = button.Tag as SecondDisplayProcess; var pa = PinnedManager.Instance.Unpin(ProcessUtil.GetProcessByWindowHandle(proc.Handle)); flowPanel.RemovePinnedButton(pa); } else { var app = (strip.SourceControl as TaskbarPinnedButton).Tag as PinnedApp; PinnedManager.Instance.Unpin(app); flowPanel.RemovePinnedButton(app); } }
private void ShowLivePreview(TaskbarButton button, bool show) { if (!ShowPreview()) { return; } if (show) { SecondDisplayProcess proc = button.Tag as SecondDisplayProcess; AeroDecorator.Instance.LivePreview(proc.Handle, true); this.BringToFront(); this._closeForm.BringToFront(); } else { _delayedActionPreview.Cancel(); SecondDisplayProcess proc = _button.Tag as SecondDisplayProcess; AeroDecorator.Instance.LivePreview(proc.Handle, false); } }
private void OnToggleOn(TaskbarButton head) { OnHeadToggleOn?.Invoke(head); }
public static TooltipEventArgs From(TaskbarButton button) { return(new TooltipEventArgs { Button = button }); }
public void RemoveButton(TaskbarButton taskbarButton) { Destroy(taskbarButton.gameObject); }
private void ChatHeadsGroup_OnHeadClose(TaskbarButton obj) { privateChatWindowHud.SetVisibility(false); }
private void processMenu_Opening(object sender, CancelEventArgs e) { if (tooltipManager.ToolTipWindow.Visible) { tooltipManager.ToolTipWindow.ForceHide(); } ContextMenuStrip menu = sender as ContextMenuStrip; BaseTaskbarButton baseButton = menu.SourceControl as BaseTaskbarButton; baseButton.Hover = true; if (menu.SourceControl is TaskbarButton) { TaskbarButton button = menu.SourceControl as TaskbarButton; SecondDisplayProcess proc = button.Tag as SecondDisplayProcess; tsmiLaunch.Image = proc.SmallIcon.ConvertToBitmap(false); Process p = ProcessUtil.GetProcessByWindowHandle(proc.Handle); ProcessModule module = p.MainModule; if (module != null) { string fileDescription = System.Diagnostics.FileVersionInfo.GetVersionInfo(module.FileName).FileDescription; tsmiLaunch.Text = string.IsNullOrEmpty(fileDescription) ? (module.FileName ?? p.MainWindowTitle) : fileDescription.Clamp(Constants.MaxProgramNameLength); tsmiLaunch.Tag = new ProcessFullPath { FileName = module.FileName, Arguments = ProcessUtil.GetCommandLineArguments(module.ModuleName) }; tsmiLaunch.Visible = true; if (PinnedManager.Instance.IsPinned(p)) { tsmiPin.Visible = false; tsmiUnpin.Visible = true; } else { tsmiPin.Visible = true; tsmiUnpin.Visible = false; } } else { tsmiLaunch.Visible = false; tsmiPin.Visible = false; tsmiUnpin.Visible = false; } tsmiCloseWindow.Visible = true; } else { TaskbarPinnedButton pinnedButton = menu.SourceControl as TaskbarPinnedButton; PinnedApp app = pinnedButton.Tag as PinnedApp; tsmiCloseWindow.Visible = false; tsmiLaunch.Image = app.Icon.ResizeBitmap(ButtonConstants.SmallIconSize, ButtonConstants.SmallIconSize); tsmiLaunch.Text = string.IsNullOrEmpty(app.Name) ? "Unknown application" : app.Name.Clamp(Constants.MaxProgramNameLength); tsmiLaunch.Tag = new ProcessFullPath { FileName = app.Path, Arguments = app.Arguments }; tsmiLaunch.Visible = !string.IsNullOrEmpty(app.Path); if (PinnedManager.Instance.IsPinned(app)) { tsmiPin.Visible = false; tsmiUnpin.Visible = true; } else { tsmiPin.Visible = true; tsmiUnpin.Visible = false; } } }
public void Show(TaskbarButton button) { CancelHide(); PanelHover = true; if (button == _button) { return; } SecondDisplayProcess proc = button.Tag as SecondDisplayProcess; _button = button; if (_thumbnail != null) { _thumbnail.Dispose(); _thumbnail = null; } CalculateBounds(proc); this.StartPosition = FormStartPosition.Manual; Rectangle parentBounds = button.Parent.RectangleToScreen(button.Bounds); Screen buttonScreen = proc.Screen; var taskbarLocation = TaskbarPropertiesManager.Instance.Properties.GetTaskbarLocation(buttonScreen.DeviceName); if (taskbarLocation == Native.ABEdge.Top || taskbarLocation == Native.ABEdge.Bottom) { int x = (parentBounds.Left + parentBounds.Width / 2) - this.Width / 2; if (x < buttonScreen.WorkingArea.Left) { x = buttonScreen.WorkingArea.Left; } if (x + this.Width > buttonScreen.WorkingArea.Right) { x = buttonScreen.WorkingArea.Right - this.Width; } int y = taskbarLocation == Native.ABEdge.Bottom ? (parentBounds.Top - this.Height) : parentBounds.Bottom; this.Location = new Point(x, y); } else { int x = taskbarLocation == Native.ABEdge.Left ? parentBounds.Right : (parentBounds.Left - this.Width); int y = (parentBounds.Top + parentBounds.Height / 2) - this.Height / 2; if (y < buttonScreen.WorkingArea.Top) { y = buttonScreen.WorkingArea.Top; } if (y + this.Height > buttonScreen.WorkingArea.Bottom) { y = buttonScreen.WorkingArea.Bottom - this.Height; } this.Location = new Point(x, y); } _buttonRectangle = new Rectangle(panelTitle.Width - ThumbnailConstants.IconMargin - ThumbnailConstants.CloseButWidth, 10, ThumbnailConstants.CloseButWidth, ThumbnailConstants.CloseButWidth); if (this.Visible) { this.Refresh(); } else { this.Visible = true; } _closeForm.Show(); Point location = panelTitle.PointToScreen(new Point(panelTitle.Width - ThumbnailConstants.IconMargin - ThumbnailConstants.CloseButWidth, 10)); _closeForm.Left = location.X; _closeForm.Top = location.Y; _closeForm.Draw(DualMonitor.Properties.Resources.close); ShowDefaultTooltip(); }