1
0
Fork 0
mirror of https://github.com/hawkeye-stan/msfs-popout-panel-manager.git synced 2024-11-21 21:30:12 +00:00

Version 3.4.4.1011 Release

This commit is contained in:
Stanley 2022-10-11 09:37:49 -04:00
parent a954203524
commit 9eb0174ea7
15 changed files with 51 additions and 48 deletions

View file

@ -10,9 +10,9 @@
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl> <PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
<RootNamespace>MSFSPopoutPanelManager.ArduinoAgent</RootNamespace> <RootNamespace>MSFSPopoutPanelManager.ArduinoAgent</RootNamespace>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<Version>3.4.4.1008</Version> <Version>3.4.4.1011</Version>
<AssemblyVersion>3.4.4.1008</AssemblyVersion> <AssemblyVersion>3.4.4.1011</AssemblyVersion>
<FileVersion>3.4.4.1008</FileVersion> <FileVersion>3.4.4.1011</FileVersion>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<DebugType>Embedded</DebugType> <DebugType>Embedded</DebugType>
<Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations> <Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations>

View file

@ -10,9 +10,9 @@
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl> <PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
<RootNamespace>MSFSPopoutPanelManager.Orchestration</RootNamespace> <RootNamespace>MSFSPopoutPanelManager.Orchestration</RootNamespace>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<Version>3.4.4.1008</Version> <Version>3.4.4.1011</Version>
<AssemblyVersion>3.4.4.1008</AssemblyVersion> <AssemblyVersion>3.4.4.1011</AssemblyVersion>
<FileVersion>3.4.4.1008</FileVersion> <FileVersion>3.4.4.1011</FileVersion>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<DebugType>Embedded</DebugType> <DebugType>Embedded</DebugType>
<Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations> <Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations>

View file

@ -11,6 +11,7 @@ namespace MSFSPopoutPanelManager.Orchestration
{ {
public class PanelConfigurationOrchestrator : ObservableObject public class PanelConfigurationOrchestrator : ObservableObject
{ {
private static WindowProcess _simulatorProcess;
private static PInvoke.WinEventProc _winEvent; // keep this as static to prevent garbage collect or the app will crash private static PInvoke.WinEventProc _winEvent; // keep this as static to prevent garbage collect or the app will crash
private static IntPtr _winEventHook; private static IntPtr _winEventHook;
private Rectangle _lastWindowRectangle; private Rectangle _lastWindowRectangle;
@ -37,6 +38,8 @@ namespace MSFSPopoutPanelManager.Orchestration
public void StartConfiguration() public void StartConfiguration()
{ {
_simulatorProcess = WindowProcessManager.GetSimulatorProcess();
HookWinEvent(); HookWinEvent();
TouchEventManager.ActiveProfile = ProfileData.ActiveProfile; TouchEventManager.ActiveProfile = ProfileData.ActiveProfile;
@ -206,10 +209,10 @@ namespace MSFSPopoutPanelManager.Orchestration
return; return;
// Setup panel config event hooks // Setup panel config event hooks
if (!ActiveProfile.RealSimGearGTN750Gen1Override) if (ActiveProfile.RealSimGearGTN750Gen1Override && AppSettingData.AppSetting.TouchScreenSettings.RealSimGearGTN750Gen1Override)
_winEventHook = PInvoke.SetWinEventHook(PInvokeConstant.EVENT_SYSTEM_MOVESIZEEND, PInvokeConstant.EVENT_OBJECT_LOCATIONCHANGE, IntPtr.Zero, _winEvent, 0, 0, PInvokeConstant.WINEVENT_OUTOFCONTEXT);
else
_winEventHook = PInvoke.SetWinEventHook(PInvokeConstant.EVENT_SYSTEM_CAPTURESTART, PInvokeConstant.EVENT_OBJECT_LOCATIONCHANGE, IntPtr.Zero, _winEvent, 0, 0, PInvokeConstant.WINEVENT_OUTOFCONTEXT); _winEventHook = PInvoke.SetWinEventHook(PInvokeConstant.EVENT_SYSTEM_CAPTURESTART, PInvokeConstant.EVENT_OBJECT_LOCATIONCHANGE, IntPtr.Zero, _winEvent, 0, 0, PInvokeConstant.WINEVENT_OUTOFCONTEXT);
else
_winEventHook = PInvoke.SetWinEventHook(PInvokeConstant.EVENT_SYSTEM_MOVESIZEEND, PInvokeConstant.EVENT_OBJECT_LOCATIONCHANGE, IntPtr.Zero, _winEvent, 0, 0, PInvokeConstant.WINEVENT_OUTOFCONTEXT);
} }
private void UnhookWinEvent() private void UnhookWinEvent()
@ -376,14 +379,14 @@ namespace MSFSPopoutPanelManager.Orchestration
if (prevWinEventClickLock == _winEventClickLock && AppSettingData.AppSetting.TouchScreenSettings.RefocusGameWindow) if (prevWinEventClickLock == _winEventClickLock && AppSettingData.AppSetting.TouchScreenSettings.RefocusGameWindow)
{ {
Task.Run(() => RefocusMsfs(panelConfig.PanelHandle, prevWinEventClickLock)); Task.Run(() => RefocusMsfs(prevWinEventClickLock));
} }
} }
} }
} }
} }
private void RefocusMsfs(IntPtr panelConfigHandle, int prevWinEventClickLock) private void RefocusMsfs(int prevWinEventClickLock)
{ {
Thread.Sleep(AppSettingData.AppSetting.TouchScreenSettings.RefocusGameWindowDelay); Thread.Sleep(AppSettingData.AppSetting.TouchScreenSettings.RefocusGameWindowDelay);
@ -391,8 +394,9 @@ namespace MSFSPopoutPanelManager.Orchestration
{ {
if (!_isHookMouseDown) if (!_isHookMouseDown)
{ {
var rectangle = WindowActionManager.GetWindowRect(panelConfigHandle); var rectangle = WindowActionManager.GetWindowRect(_simulatorProcess.Handle);
PInvoke.SetCursorPos(rectangle.X - 5, rectangle.Y + 5); var clientRectangle = WindowActionManager.GetClientRect(_simulatorProcess.Handle);
PInvoke.SetCursorPos(rectangle.X + clientRectangle.Width / 2, rectangle.Y + clientRectangle.Height / 2);
} }
} }
} }

View file

@ -11,9 +11,9 @@
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl> <PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
<RootNamespace>MSFSPopoutPanelManager.Shared</RootNamespace> <RootNamespace>MSFSPopoutPanelManager.Shared</RootNamespace>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<Version>3.4.4.1008</Version> <Version>3.4.4.1011</Version>
<AssemblyVersion>3.4.4.1008</AssemblyVersion> <AssemblyVersion>3.4.4.1011</AssemblyVersion>
<FileVersion>3.4.4.1008</FileVersion> <FileVersion>3.4.4.1011</FileVersion>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<DebugType>Embedded</DebugType> <DebugType>Embedded</DebugType>
<Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations> <Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations>

View file

@ -11,9 +11,9 @@
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl> <PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
<RootNamespace>MSFSPopoutPanelManager.SimConnectAgent</RootNamespace> <RootNamespace>MSFSPopoutPanelManager.SimConnectAgent</RootNamespace>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<Version>3.4.4.1008</Version> <Version>3.4.4.1011</Version>
<AssemblyVersion>3.4.4.1008</AssemblyVersion> <AssemblyVersion>3.4.4.1011</AssemblyVersion>
<FileVersion>3.4.4.1008</FileVersion> <FileVersion>3.4.4.1011</FileVersion>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<DebugType>Embedded</DebugType> <DebugType>Embedded</DebugType>
<Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations> <Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations>

View file

@ -11,9 +11,9 @@
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl> <PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
<RootNamespace>MSFSPopoutPanelManager.TouchPanelAgent</RootNamespace> <RootNamespace>MSFSPopoutPanelManager.TouchPanelAgent</RootNamespace>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<Version>3.4.4.1008</Version> <Version>3.4.4.1011</Version>
<AssemblyVersion>3.4.4.1008</AssemblyVersion> <AssemblyVersion>3.4.4.1011</AssemblyVersion>
<FileVersion>3.4.4.1008</FileVersion> <FileVersion>3.4.4.1011</FileVersion>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<DebugType>Embedded</DebugType> <DebugType>Embedded</DebugType>
<Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations> <Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations>

View file

@ -10,9 +10,9 @@
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl> <PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
<RootNamespace>MSFSPopoutPanelManager.UserDataAgent</RootNamespace> <RootNamespace>MSFSPopoutPanelManager.UserDataAgent</RootNamespace>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<Version>3.4.4.1008</Version> <Version>3.4.4.1011</Version>
<AssemblyVersion>3.4.4.1008</AssemblyVersion> <AssemblyVersion>3.4.4.1011</AssemblyVersion>
<FileVersion>3.4.4.1008</FileVersion> <FileVersion>3.4.4.1011</FileVersion>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<DebugType>Embedded</DebugType> <DebugType>Embedded</DebugType>
<Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations> <Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations>

View file

@ -1,6 +1,9 @@
# Version History # Version History
<hr/> <hr/>
## Version 3.4.4.1011
* Hot fix: Reverted to previous implementation of touch setting's mouse cursor automatic refocus to center of MSFS game screen instead to the upper left corner of the pop out panel where it is being touched.
## Version 3.4.4 ## Version 3.4.4
* Updated pop out panels separation reliability on all monitor resolutions during panel pop out process. A new algorithm had been implemented to improve Pop Out Panel Manager accuracy when it tries to click on panel's "magnifying glass" icon to separate panels. * Updated pop out panels separation reliability on all monitor resolutions during panel pop out process. A new algorithm had been implemented to improve Pop Out Panel Manager accuracy when it tries to click on panel's "magnifying glass" icon to separate panels.

View file

@ -11,9 +11,9 @@
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl> <PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
<RootNamespace>MSFSPopoutPanelManager.WebServer</RootNamespace> <RootNamespace>MSFSPopoutPanelManager.WebServer</RootNamespace>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<Version>3.4.4.1008</Version> <Version>3.4.4.1011</Version>
<AssemblyVersion>3.4.4.1008</AssemblyVersion> <AssemblyVersion>3.4.4.1011</AssemblyVersion>
<FileVersion>3.4.4.1008</FileVersion> <FileVersion>3.4.4.1011</FileVersion>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<DebugType>Embedded</DebugType> <DebugType>Embedded</DebugType>
<Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations> <Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations>

View file

@ -160,8 +160,9 @@ namespace MSFSPopoutPanelManager.WindowsAgent
if (currentRefocusIndex == _refocusedTaskIndex) if (currentRefocusIndex == _refocusedTaskIndex)
{ {
var rectangle = WindowActionManager.GetWindowRect(panelConfig.PanelHandle); var rectangle = WindowActionManager.GetWindowRect(_simulatorProcess.Handle);
PInvoke.SetCursorPos(rectangle.X - 5, rectangle.Y + 5); var clientRectangle = WindowActionManager.GetClientRect(_simulatorProcess.Handle);
PInvoke.SetCursorPos(rectangle.X + clientRectangle.Width / 2, rectangle.Y + clientRectangle.Height / 2);
} }
} }
}); });

View file

@ -9,8 +9,8 @@ namespace MSFSPopoutPanelManager.WindowsAgent
{ {
var systemAssemblyVersion = System.Reflection.Assembly.GetEntryAssembly().GetName().Version; var systemAssemblyVersion = System.Reflection.Assembly.GetEntryAssembly().GetName().Version;
var appVersion = $"{systemAssemblyVersion.Major}.{systemAssemblyVersion.Minor}.{systemAssemblyVersion.Build}"; var appVersion = $"{systemAssemblyVersion.Major}.{systemAssemblyVersion.Minor}.{systemAssemblyVersion.Build}";
//if (systemAssemblyVersion.Revision > 0) if (systemAssemblyVersion.Revision > 0)
// appVersion += "." + systemAssemblyVersion.Revision.ToString("D4"); appVersion += "." + systemAssemblyVersion.Revision.ToString("D4");
return appVersion; return appVersion;
} }

View file

@ -11,9 +11,9 @@
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl> <PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
<RootNamespace>MSFSPopoutPanelManager.WindowsAgent</RootNamespace> <RootNamespace>MSFSPopoutPanelManager.WindowsAgent</RootNamespace>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<Version>3.4.4.1008</Version> <Version>3.4.4.1011</Version>
<AssemblyVersion>3.4.4.1008</AssemblyVersion> <AssemblyVersion>3.4.4.1011</AssemblyVersion>
<FileVersion>3.4.4.1008</FileVersion> <FileVersion>3.4.4.1011</FileVersion>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<DebugType>Embedded</DebugType> <DebugType>Embedded</DebugType>
<Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations> <Configurations>Debug;Release;DebugTouchPanel;ReleaseTouchPanel</Configurations>

View file

@ -79,7 +79,7 @@
<CheckBox Margin="10,5,0,0" Content="Power on required to pop out panels on cold start (G1000 / NXi Only)" IsChecked="{Binding ProfileData.ActiveProfile.PowerOnRequiredForColdStart}" Command="{Binding SetPowerOnRequiredCommand}" /> <CheckBox Margin="10,5,0,0" Content="Power on required to pop out panels on cold start (G1000 / NXi Only)" IsChecked="{Binding ProfileData.ActiveProfile.PowerOnRequiredForColdStart}" Command="{Binding SetPowerOnRequiredCommand}" />
<CheckBox Margin="10,5,0,0" Content="Include in-game menu bar panels (VFR Map, Checklist, ATC, etc)" IsChecked="{Binding ProfileData.ActiveProfile.IncludeInGamePanels}" Command="{Binding SetIncludeInGamePanelsCommand}" /> <CheckBox Margin="10,5,0,0" Content="Include in-game menu bar panels (VFR Map, Checklist, ATC, etc)" IsChecked="{Binding ProfileData.ActiveProfile.IncludeInGamePanels}" Command="{Binding SetIncludeInGamePanelsCommand}" />
<WrapPanel Orientation="Horizontal" Visibility="{Binding AppSettingData.AppSetting.TouchScreenSettings.RealSimGearGTN750Gen1Override, Converter={StaticResource VisibleIfTrueConverter}, Mode=OneWay}" > <WrapPanel Orientation="Horizontal" Visibility="{Binding AppSettingData.AppSetting.TouchScreenSettings.RealSimGearGTN750Gen1Override, Converter={StaticResource VisibleIfTrueConverter}, Mode=OneWay}" >
<CheckBox Margin="10,5,0,0" Content="RealSimGear GTN750 Gen1" IsChecked="{Binding ProfileData.ActiveProfile.RealSimGearGTN750Gen1Override}" Command="{Binding SetIncludeInGamePanelsCommand}" /> <CheckBox Margin="10,5,0,0" Content="Use with RealSimGear GTN750 Gen1 Display Panel" IsChecked="{Binding ProfileData.ActiveProfile.RealSimGearGTN750Gen1Override}" Command="{Binding SetIncludeInGamePanelsCommand}" />
</WrapPanel> </WrapPanel>
<WrapPanel Name="TouchPanelConfigurationPanel" Orientation="Horizontal" Margin="0,10,0,0" Visibility="{Binding AppSettingData.AppSetting.IsEnabledTouchPanelServer, Converter={StaticResource VisibleIfTrueConverter}, Mode=OneWay}" > <WrapPanel Name="TouchPanelConfigurationPanel" Orientation="Horizontal" Margin="0,10,0,0" Visibility="{Binding AppSettingData.AppSetting.IsEnabledTouchPanelServer, Converter={StaticResource VisibleIfTrueConverter}, Mode=OneWay}" >
<Label Content="Open MSFS touch panel when flight session starts" Margin="5,0,0,0" /> <Label Content="Open MSFS touch panel when flight session starts" Margin="5,0,0,0" />

View file

@ -14,9 +14,9 @@
<RootNamespace>MSFSPopoutPanelManager.WpfApp</RootNamespace> <RootNamespace>MSFSPopoutPanelManager.WpfApp</RootNamespace>
<ApplicationIcon>logo.ico</ApplicationIcon> <ApplicationIcon>logo.ico</ApplicationIcon>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<Version>3.4.4.1008</Version> <Version>3.4.4.1011</Version>
<AssemblyVersion>3.4.4.1008</AssemblyVersion> <AssemblyVersion>3.4.4.1011</AssemblyVersion>
<FileVersion>3.4.4.1008</FileVersion> <FileVersion>3.4.4.1011</FileVersion>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<DebugType>embedded</DebugType> <DebugType>embedded</DebugType>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages> <SatelliteResourceLanguages>en</SatelliteResourceLanguages>

View file

@ -1,14 +1,9 @@
Version 3.4.4 Version 3.4.4.1011
This release is optional and please feel to skip this update. This release is optional and please feel to skip this update.
Change Log: Change Log:
* Updated pop out panels separation reliability on all monitor resolutions during panel pop * Hot fix: Reverted to previous implementation of touch setting's mouse cursor automatic
out process. A new algorithm had been implemented to improve Pop Out Panel Manager accuracy refocus to center of MSFS game screen instead to the upper left corner of the pop out panel
when it tries to click on panel's "magnifying glass" icon to separate panels. where it is being touched.
* Added flight control refocus support for RealSimGear GTN750 Generation 1 when using touch
enabled feature.
* Increased configurable maximum flight control refocus delay from 2 seconds to 10 seconds.