mirror of
https://github.com/hawkeye-stan/msfs-popout-panel-manager.git
synced 2024-12-27 14:52:01 +00:00
Merged v3.4.6.0321 Release
This commit is contained in:
parent
5743caf8ec
commit
f4c8abe148
15 changed files with 54 additions and 78 deletions
|
@ -10,9 +10,9 @@
|
|||
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
|
||||
<RootNamespace>MSFSPopoutPanelManager.ArduinoAgent</RootNamespace>
|
||||
<Platforms>x64</Platforms>
|
||||
<Version>3.4.5.0</Version>
|
||||
<AssemblyVersion>3.4.5.0</AssemblyVersion>
|
||||
<FileVersion>3.4.5.0</FileVersion>
|
||||
<Version>3.4.6.0321</Version>
|
||||
<AssemblyVersion>3.4.6.0321</AssemblyVersion>
|
||||
<FileVersion>3.4.6.0321</FileVersion>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<DebugType>Embedded</DebugType>
|
||||
<Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations>
|
||||
|
|
|
@ -10,9 +10,9 @@
|
|||
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
|
||||
<RootNamespace>MSFSPopoutPanelManager.Orchestration</RootNamespace>
|
||||
<Platforms>x64</Platforms>
|
||||
<Version>3.4.5.0</Version>
|
||||
<AssemblyVersion>3.4.5.0</AssemblyVersion>
|
||||
<FileVersion>3.4.5.0</FileVersion>
|
||||
<Version>3.4.6.0321</Version>
|
||||
<AssemblyVersion>3.4.6.0321</AssemblyVersion>
|
||||
<FileVersion>3.4.6.0321</FileVersion>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<DebugType>Embedded</DebugType>
|
||||
<Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations>
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace MSFSPopoutPanelManager.Orchestration
|
|||
public class PanelPopOutOrchestrator : ObservableObject
|
||||
{
|
||||
// This will be replaced by a signal from Ready to Fly Skipper into webserver in version 4.0
|
||||
private const int READY_TO_FLY_BUTTON_APPEARANCE_DELAY = 2000;
|
||||
private const int READY_TO_FLY_BUTTON_APPEARANCE_DELAY = 4000;
|
||||
private int _builtInPanelConfigDelay;
|
||||
|
||||
internal ProfileData ProfileData { get; set; }
|
||||
|
@ -177,7 +177,7 @@ namespace MSFSPopoutPanelManager.Orchestration
|
|||
if (AppSetting.UseAutoPanning)
|
||||
InputEmulationManager.LoadCustomView(AppSetting.AutoPanningKeyBinding);
|
||||
|
||||
var panelResults = ExecutePopoutAndSeparation();
|
||||
var panelResults = ExecutePopout();
|
||||
|
||||
if (panelResults == null)
|
||||
return;
|
||||
|
@ -203,24 +203,12 @@ namespace MSFSPopoutPanelManager.Orchestration
|
|||
if (panelResults != null)
|
||||
panelConfigs.AddRange(panelResults);
|
||||
}
|
||||
|
||||
if (panelConfigs.Count == 0)
|
||||
{
|
||||
StatusMessageWriter.WriteMessage("No panels have been found. Please select at least one in-game panel.", StatusMessageType.Error, true);
|
||||
return;
|
||||
}
|
||||
|
||||
// Line up all the panels
|
||||
for (var i = panelConfigs.Count - 1; i >= 0; i--)
|
||||
{
|
||||
if (panelConfigs[i].PanelType == PanelType.CustomPopout)
|
||||
{
|
||||
WindowActionManager.MoveWindow(panelConfigs[i].PanelHandle, panelConfigs[i].Top, panelConfigs[i].Left, panelConfigs[i].Width, panelConfigs[i].Height);
|
||||
PInvoke.SetForegroundWindow(panelConfigs[i].PanelHandle);
|
||||
Thread.Sleep(200);
|
||||
}
|
||||
}
|
||||
|
||||
if (panelConfigs.Count > 0)
|
||||
{
|
||||
if (ActiveProfile.PanelConfigs.Count > 0)
|
||||
|
@ -245,7 +233,7 @@ namespace MSFSPopoutPanelManager.Orchestration
|
|||
}
|
||||
}
|
||||
|
||||
private List<PanelConfig> ExecutePopoutAndSeparation()
|
||||
private List<PanelConfig> ExecutePopout()
|
||||
{
|
||||
List<PanelConfig> panels = new List<PanelConfig>();
|
||||
|
||||
|
@ -261,18 +249,13 @@ namespace MSFSPopoutPanelManager.Orchestration
|
|||
|
||||
InputEmulationManager.PopOutPanel(x, y, AppSetting.UseLeftRightControlToPopOut);
|
||||
|
||||
// Get an AceApp window with empty title
|
||||
var handle = PInvoke.FindWindow("AceApp", String.Empty);
|
||||
// Get an AceApp window with non Microsoft Flight Simulator as window title
|
||||
var handle = PInvoke.FindWindow("AceApp", null);
|
||||
|
||||
// Need to move the window to upper left corner first. There is a possible bug in the game that panel pop out to full screen that prevents further clicking.
|
||||
if (handle != IntPtr.Zero)
|
||||
WindowActionManager.MoveWindow(handle, 0, 0, 1000, 500);
|
||||
|
||||
// The joined panel is always the first panel that got popped out
|
||||
if (i > 1)
|
||||
SeparatePanel(panels[0].PanelHandle);
|
||||
|
||||
handle = PInvoke.FindWindow("AceApp", String.Empty);
|
||||
// Unable to find pop out window because of application delay
|
||||
var simulatorProcess = WindowProcessManager.GetSimulatorProcess();
|
||||
if (handle.Equals(simulatorProcess.Handle))
|
||||
handle = IntPtr.Zero;
|
||||
|
||||
if (handle == IntPtr.Zero && i == 1)
|
||||
{
|
||||
|
@ -285,9 +268,7 @@ namespace MSFSPopoutPanelManager.Orchestration
|
|||
return null;
|
||||
}
|
||||
|
||||
// Fix SU10+ bug where pop out window after separation is huge
|
||||
if (i > 1)
|
||||
WindowActionManager.MoveWindow(handle, -8, 0, 800, 600);
|
||||
var clientRect = WindowActionManager.GetClientRect(handle);
|
||||
|
||||
var panel = new PanelConfig();
|
||||
panel.PanelHandle = handle;
|
||||
|
@ -296,8 +277,8 @@ namespace MSFSPopoutPanelManager.Orchestration
|
|||
panel.PanelName = $"Panel{i}";
|
||||
panel.Top = (i - 1) * 30;
|
||||
panel.Left = (i - 1) * 30;
|
||||
panel.Width = 800;
|
||||
panel.Height = 600;
|
||||
panel.Width = clientRect.Width;
|
||||
panel.Height = clientRect.Height;
|
||||
panels.Add(panel);
|
||||
|
||||
PInvoke.SetWindowText(panel.PanelHandle, panel.PanelName + " (Custom)");
|
||||
|
@ -313,18 +294,6 @@ namespace MSFSPopoutPanelManager.Orchestration
|
|||
return panels;
|
||||
}
|
||||
|
||||
private void SeparatePanel(IntPtr hwnd)
|
||||
{
|
||||
// ToDo: Need to figure mouse click code to separate window
|
||||
PInvoke.SetForegroundWindow(hwnd);
|
||||
Thread.Sleep(500);
|
||||
|
||||
// Find the magnifying glass coordinate
|
||||
var point = PanelAnalyzer.GetMagnifyingGlassIconCoordinate(hwnd);
|
||||
|
||||
InputEmulationManager.LeftClick(point.X, point.Y);
|
||||
}
|
||||
|
||||
private List<PanelConfig> AddBuiltInPanels()
|
||||
{
|
||||
List<PanelConfig> builtinPanels = new List<PanelConfig>();
|
||||
|
@ -436,7 +405,14 @@ namespace MSFSPopoutPanelManager.Orchestration
|
|||
else if (panel.PanelType == PanelType.BuiltInPopout)
|
||||
savedPanelConfig = ActiveProfile.PanelConfigs.FirstOrDefault(s => s.PanelName == panel.PanelName);
|
||||
|
||||
if (savedPanelConfig == null) return;
|
||||
// Apply MSFS saved panel location if available since this panel is newly profiled
|
||||
if (savedPanelConfig == null)
|
||||
{
|
||||
var rect = WindowActionManager.GetWindowRect(panel.PanelHandle);
|
||||
panel.Top = rect.Top;
|
||||
panel.Left = rect.Left;
|
||||
return;
|
||||
}
|
||||
|
||||
// Assign window handle to panel config
|
||||
savedPanelConfig.PanelHandle = panel.PanelHandle;
|
||||
|
|
|
@ -171,7 +171,7 @@ Perform your regular panel selection and once your touch capable panel has been
|
|||
|
||||
## User Profile Data Files
|
||||
|
||||
The user plane profile data and application settings data are stored as JSON files under your "Documents" folder. (%userprofile%\Documents\MSFS Pop Out Panel Manager)
|
||||
The user plane profile data and application settings data are stored as JSON files under your "Documents" folder. (%userprofile%\Documents\MSFS Pop Out Manager)
|
||||
|
||||
* userprofiledata.json
|
||||
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
|
||||
<RootNamespace>MSFSPopoutPanelManager.Shared</RootNamespace>
|
||||
<Platforms>x64</Platforms>
|
||||
<Version>3.4.5.0</Version>
|
||||
<AssemblyVersion>3.4.5.0</AssemblyVersion>
|
||||
<FileVersion>3.4.5.0</FileVersion>
|
||||
<Version>3.4.6.0321</Version>
|
||||
<AssemblyVersion>3.4.6.0321</AssemblyVersion>
|
||||
<FileVersion>3.4.6.0321</FileVersion>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<DebugType>Embedded</DebugType>
|
||||
<Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations>
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
|
||||
<RootNamespace>MSFSPopoutPanelManager.SimConnectAgent</RootNamespace>
|
||||
<Platforms>x64</Platforms>
|
||||
<Version>3.4.5.0</Version>
|
||||
<AssemblyVersion>3.4.5.0</AssemblyVersion>
|
||||
<FileVersion>3.4.5.0</FileVersion>
|
||||
<Version>3.4.6.0321</Version>
|
||||
<AssemblyVersion>3.4.6.0321</AssemblyVersion>
|
||||
<FileVersion>3.4.6.0321</FileVersion>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<DebugType>Embedded</DebugType>
|
||||
<Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations>
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
|
||||
<RootNamespace>MSFSPopoutPanelManager.TouchPanelAgent</RootNamespace>
|
||||
<Platforms>x64</Platforms>
|
||||
<Version>3.4.5.0</Version>
|
||||
<AssemblyVersion>3.4.5.0</AssemblyVersion>
|
||||
<FileVersion>3.4.5.0</FileVersion>
|
||||
<Version>3.4.6.0321</Version>
|
||||
<AssemblyVersion>3.4.6.0321</AssemblyVersion>
|
||||
<FileVersion>3.4.6.0321</FileVersion>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<DebugType>Embedded</DebugType>
|
||||
<Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations>
|
||||
|
|
|
@ -10,9 +10,9 @@
|
|||
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
|
||||
<RootNamespace>MSFSPopoutPanelManager.UserDataAgent</RootNamespace>
|
||||
<Platforms>x64</Platforms>
|
||||
<Version>3.4.5.0</Version>
|
||||
<AssemblyVersion>3.4.5.0</AssemblyVersion>
|
||||
<FileVersion>3.4.5.0</FileVersion>
|
||||
<Version>3.4.6.0321</Version>
|
||||
<AssemblyVersion>3.4.6.0321</AssemblyVersion>
|
||||
<FileVersion>3.4.6.0321</FileVersion>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<DebugType>Embedded</DebugType>
|
||||
<Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations>
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
# Version History
|
||||
<hr/>
|
||||
|
||||
## Version 3.4.6.0321
|
||||
* Added SU12 compatibility. This version is required for MSFS SU12 and is not compatible with earlier MSFS releases.
|
||||
|
||||
## Version 3.4.5
|
||||
* Added new preference option by default to auto close MSFS Pop Out Manager when MSFS exits.
|
||||
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
|
||||
<RootNamespace>MSFSPopoutPanelManager.WebServer</RootNamespace>
|
||||
<Platforms>x64</Platforms>
|
||||
<Version>3.4.5.0</Version>
|
||||
<AssemblyVersion>3.4.5.0</AssemblyVersion>
|
||||
<FileVersion>3.4.5.0</FileVersion>
|
||||
<Version>3.4.6.0321</Version>
|
||||
<AssemblyVersion>3.4.6.0321</AssemblyVersion>
|
||||
<FileVersion>3.4.6.0321</FileVersion>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<DebugType>Embedded</DebugType>
|
||||
<Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations>
|
||||
|
|
|
@ -43,7 +43,6 @@ namespace MSFSPopoutPanelManager.WindowsAgent
|
|||
|
||||
public static void LeftClick(int x, int y)
|
||||
{
|
||||
PInvoke.SetCursorPos(x, y); // Need to do this twice to overcome MSFS bug for separating pop out panels
|
||||
PInvoke.SetCursorPos(x, y);
|
||||
Thread.Sleep(300);
|
||||
|
||||
|
@ -77,8 +76,7 @@ namespace MSFSPopoutPanelManager.WindowsAgent
|
|||
Thread.Sleep(300);
|
||||
|
||||
PInvoke.SetCursorPos(x, y);
|
||||
PInvoke.SetCursorPos(x, y);
|
||||
Thread.Sleep(300);
|
||||
Thread.Sleep(500);
|
||||
|
||||
if (useSecondaryKeys)
|
||||
{
|
||||
|
|
|
@ -141,10 +141,9 @@ namespace MSFSPopoutPanelManager.WindowsAgent
|
|||
PInvoke.mouse_event(MOUSEEVENTF_LEFTUP, info.pt.X, info.pt.Y, 0, 0);
|
||||
if (_isDragged)
|
||||
{
|
||||
// Override GTN750 bug - must execute this to fix GTN750 cursor moving offscreen issue when doing touch and drag
|
||||
Thread.Sleep(AppSetting.TouchScreenSettings.TouchDownUpDelay + 50);
|
||||
PInvoke.SetCursorPos(info.pt.X, info.pt.Y);
|
||||
Thread.Sleep(100);
|
||||
Thread.Sleep(AppSetting.TouchScreenSettings.TouchDownUpDelay + 50);
|
||||
InputEmulationManager.LeftClickFast(info.pt.X, info.pt.Y);
|
||||
_isDragged = false;
|
||||
}
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
|
||||
<RootNamespace>MSFSPopoutPanelManager.WindowsAgent</RootNamespace>
|
||||
<Platforms>x64</Platforms>
|
||||
<Version>3.4.5.0</Version>
|
||||
<AssemblyVersion>3.4.5.0</AssemblyVersion>
|
||||
<FileVersion>3.4.5.0</FileVersion>
|
||||
<Version>3.4.6.0321</Version>
|
||||
<AssemblyVersion>3.4.6.0321</AssemblyVersion>
|
||||
<FileVersion>3.4.6.0321</FileVersion>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<DebugType>Embedded</DebugType>
|
||||
<Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations>
|
||||
|
|
|
@ -14,9 +14,9 @@
|
|||
<RootNamespace>MSFSPopoutPanelManager.WpfApp</RootNamespace>
|
||||
<ApplicationIcon>logo.ico</ApplicationIcon>
|
||||
<Platforms>x64</Platforms>
|
||||
<Version>3.4.5.0</Version>
|
||||
<AssemblyVersion>3.4.5.0</AssemblyVersion>
|
||||
<FileVersion>3.4.5.0</FileVersion>
|
||||
<Version>3.4.6.0321</Version>
|
||||
<AssemblyVersion>3.4.6.0321</AssemblyVersion>
|
||||
<FileVersion>3.4.6.0321</FileVersion>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<DebugType>embedded</DebugType>
|
||||
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
|
||||
|
|
|
@ -4,4 +4,4 @@ This release is a mandatory update for MSFS SU12.
|
|||
|
||||
Change Log:
|
||||
|
||||
* Added SU12 compatibility. This version is required for MSFS SU12 and is not compatible with earlier MSFS releases.
|
||||
* Added SU12 compatibility. This version is required for MSFS SU12 and is not compatible with earlier MSFS releases.
|
Loading…
Reference in a new issue