mirror of
https://github.com/hawkeye-stan/msfs-popout-panel-manager.git
synced 2024-11-22 13:50:14 +00:00
Version 3.3.1
This commit is contained in:
parent
e20d512ef8
commit
ba2f308b35
15 changed files with 112 additions and 23 deletions
|
@ -11,7 +11,8 @@ namespace MSFSPopoutPanelManager.FsConnector
|
||||||
var def = new List<(string, string, string, SIMCONNECT_DATATYPE, Type)>
|
var def = new List<(string, string, string, SIMCONNECT_DATATYPE, Type)>
|
||||||
{
|
{
|
||||||
("Title", "Title", null, SIMCONNECT_DATATYPE.STRING256, typeof(string)),
|
("Title", "Title", null, SIMCONNECT_DATATYPE.STRING256, typeof(string)),
|
||||||
("ElectricalMasterBattery", "ELECTRICAL MASTER BATTERY", "Bool", SIMCONNECT_DATATYPE.FLOAT64, typeof(bool))
|
("ElectricalMasterBattery", "ELECTRICAL MASTER BATTERY", "Bool", SIMCONNECT_DATATYPE.FLOAT64, typeof(bool)),
|
||||||
|
("TrackIREnable", "TRACK IR ENABLE", "Bool", SIMCONNECT_DATATYPE.FLOAT64, typeof(bool))
|
||||||
};
|
};
|
||||||
|
|
||||||
return def;
|
return def;
|
||||||
|
|
|
@ -5,15 +5,15 @@
|
||||||
<AssemblyName>FsConnector</AssemblyName>
|
<AssemblyName>FsConnector</AssemblyName>
|
||||||
<PackageId>MSFS 2020 Popout Panel Manager FsConnector</PackageId>
|
<PackageId>MSFS 2020 Popout Panel Manager FsConnector</PackageId>
|
||||||
<Product>MSFS 2020 Popout Panel Manager FsConnector</Product>
|
<Product>MSFS 2020 Popout Panel Manager FsConnector</Product>
|
||||||
<Version>3.3.0.0</Version>
|
<Version>3.3.1.0</Version>
|
||||||
<Authors>Stanley Kwok</Authors>
|
<Authors>Stanley Kwok</Authors>
|
||||||
<Company>Stanley Kwok</Company>
|
<Company>Stanley Kwok</Company>
|
||||||
<Copyright>Stanley Kwok 2021</Copyright>
|
<Copyright>Stanley Kwok 2021</Copyright>
|
||||||
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
|
||||||
<RootNamespace>MSFSPopoutPanelManager.FsConnector</RootNamespace>
|
<RootNamespace>MSFSPopoutPanelManager.FsConnector</RootNamespace>
|
||||||
<Platforms>x64;AnyCPU</Platforms>
|
<Platforms>x64;AnyCPU</Platforms>
|
||||||
<AssemblyVersion>3.3.0.0</AssemblyVersion>
|
<AssemblyVersion>3.3.1.0</AssemblyVersion>
|
||||||
<FileVersion>3.3.0.0</FileVersion>
|
<FileVersion>3.3.1.0</FileVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -11,14 +11,5 @@ namespace MSFSPopoutPanelManager.FsConnector
|
||||||
|
|
||||||
public double Prop02;
|
public double Prop02;
|
||||||
public double Prop03;
|
public double Prop03;
|
||||||
public double Prop04;
|
|
||||||
public double Prop05;
|
|
||||||
public double Prop06;
|
|
||||||
public double Prop07;
|
|
||||||
public double Prop08;
|
|
||||||
public double Prop09;
|
|
||||||
public double Prop10;
|
|
||||||
|
|
||||||
// Add more as DataDefinition grows
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -134,6 +134,21 @@ namespace MSFSPopoutPanelManager.FsConnector
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetDataObject(SimConnectStruct simConnectStruct)
|
||||||
|
{
|
||||||
|
if (_simConnect != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_simConnect.SetDataOnSimObject(SimConnectDefinition.SimConnectDataStruct, SimConnect.SIMCONNECT_OBJECT_ID_USER, SIMCONNECT_DATA_SET_FLAG.DEFAULT, simConnectStruct);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Debug.WriteLine($"Unable to set SimConnect variable: {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void HandleOnRecvQuit(SimConnect sender, SIMCONNECT_RECV data)
|
private void HandleOnRecvQuit(SimConnect sender, SIMCONNECT_RECV data)
|
||||||
{
|
{
|
||||||
OnDisconnected?.Invoke(this, null);
|
OnDisconnected?.Invoke(this, null);
|
||||||
|
@ -147,9 +162,15 @@ namespace MSFSPopoutPanelManager.FsConnector
|
||||||
{
|
{
|
||||||
var exception = (SIMCONNECT_EXCEPTION)data.dwException;
|
var exception = (SIMCONNECT_EXCEPTION)data.dwException;
|
||||||
|
|
||||||
if (exception != SIMCONNECT_EXCEPTION.NAME_UNRECOGNIZED && exception != SIMCONNECT_EXCEPTION.EVENT_ID_DUPLICATE)
|
switch(exception)
|
||||||
{
|
{
|
||||||
|
case SIMCONNECT_EXCEPTION.DATA_ERROR:
|
||||||
|
case SIMCONNECT_EXCEPTION.NAME_UNRECOGNIZED:
|
||||||
|
case SIMCONNECT_EXCEPTION.EVENT_ID_DUPLICATE:
|
||||||
|
return;
|
||||||
|
default:
|
||||||
Debug.WriteLine($"MSFS Error - {exception}");
|
Debug.WriteLine($"MSFS Error - {exception}");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,8 @@ namespace MSFSPopoutPanelManager.Model
|
||||||
public AppSetting()
|
public AppSetting()
|
||||||
{
|
{
|
||||||
// Set defaults
|
// Set defaults
|
||||||
|
AutoUpdaterUrl = "https://raw.githubusercontent.com/hawkeye-stan/msfs-popout-panel-manager/master/autoupdate.xml";
|
||||||
|
//AutoUpdaterUrl = "https://raw.githubusercontent.com/hawkeye-stan/AutoUpdateTest/main/autoupdate.xml"; // Test URL against test repo
|
||||||
LastUsedProfileId = -1;
|
LastUsedProfileId = -1;
|
||||||
MinimizeToTray = false;
|
MinimizeToTray = false;
|
||||||
AlwaysOnTop = true;
|
AlwaysOnTop = true;
|
||||||
|
@ -28,6 +30,7 @@ namespace MSFSPopoutPanelManager.Model
|
||||||
AutoPanningKeyBinding = "0";
|
AutoPanningKeyBinding = "0";
|
||||||
StartMinimized = false;
|
StartMinimized = false;
|
||||||
IncludeBuiltInPanel = false;
|
IncludeBuiltInPanel = false;
|
||||||
|
AutoDisableTrackIR = true;
|
||||||
AutoPopOutPanels = false;
|
AutoPopOutPanels = false;
|
||||||
AutoPopOutPanelsWaitDelay = new AutoPopOutPanelsWaitDelay();
|
AutoPopOutPanelsWaitDelay = new AutoPopOutPanelsWaitDelay();
|
||||||
}
|
}
|
||||||
|
@ -35,6 +38,7 @@ namespace MSFSPopoutPanelManager.Model
|
||||||
public void Load()
|
public void Load()
|
||||||
{
|
{
|
||||||
var appSetting = ReadAppSetting();
|
var appSetting = ReadAppSetting();
|
||||||
|
this.AutoUpdaterUrl = appSetting.AutoUpdaterUrl;
|
||||||
this.LastUsedProfileId = appSetting.LastUsedProfileId;
|
this.LastUsedProfileId = appSetting.LastUsedProfileId;
|
||||||
this.MinimizeToTray = appSetting.MinimizeToTray;
|
this.MinimizeToTray = appSetting.MinimizeToTray;
|
||||||
this.AlwaysOnTop = appSetting.AlwaysOnTop;
|
this.AlwaysOnTop = appSetting.AlwaysOnTop;
|
||||||
|
@ -42,6 +46,7 @@ namespace MSFSPopoutPanelManager.Model
|
||||||
this.AutoPanningKeyBinding = appSetting.AutoPanningKeyBinding;
|
this.AutoPanningKeyBinding = appSetting.AutoPanningKeyBinding;
|
||||||
this.StartMinimized = appSetting.StartMinimized;
|
this.StartMinimized = appSetting.StartMinimized;
|
||||||
this.IncludeBuiltInPanel = appSetting.IncludeBuiltInPanel;
|
this.IncludeBuiltInPanel = appSetting.IncludeBuiltInPanel;
|
||||||
|
this.AutoDisableTrackIR = appSetting.AutoDisableTrackIR;
|
||||||
this.AutoPopOutPanels = appSetting.AutoPopOutPanels;
|
this.AutoPopOutPanels = appSetting.AutoPopOutPanels;
|
||||||
this.AutoPopOutPanelsWaitDelay = appSetting.AutoPopOutPanelsWaitDelay;
|
this.AutoPopOutPanelsWaitDelay = appSetting.AutoPopOutPanelsWaitDelay;
|
||||||
AutoPopOutPanelsWaitDelay.DataChanged += (e, source) => WriteAppSetting(this);
|
AutoPopOutPanelsWaitDelay.DataChanged += (e, source) => WriteAppSetting(this);
|
||||||
|
@ -66,6 +71,8 @@ namespace MSFSPopoutPanelManager.Model
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string AutoUpdaterUrl { get; set; }
|
||||||
|
|
||||||
public int LastUsedProfileId { get; set; }
|
public int LastUsedProfileId { get; set; }
|
||||||
|
|
||||||
public bool MinimizeToTray { get; set; }
|
public bool MinimizeToTray { get; set; }
|
||||||
|
@ -82,6 +89,8 @@ namespace MSFSPopoutPanelManager.Model
|
||||||
|
|
||||||
public bool AutoPopOutPanels { get; set; }
|
public bool AutoPopOutPanels { get; set; }
|
||||||
|
|
||||||
|
public bool AutoDisableTrackIR { get; set; }
|
||||||
|
|
||||||
public AutoPopOutPanelsWaitDelay AutoPopOutPanelsWaitDelay { get; set; }
|
public AutoPopOutPanelsWaitDelay AutoPopOutPanelsWaitDelay { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<RootNamespace>MSFSPopoutPanelManager.Model</RootNamespace>
|
<RootNamespace>MSFSPopoutPanelManager.Model</RootNamespace>
|
||||||
<AssemblyName>Model</AssemblyName>
|
<AssemblyName>Model</AssemblyName>
|
||||||
<PackageId>MSFS 2020 Popout Panel Manager Model</PackageId>
|
<PackageId>MSFS 2020 Popout Panel Manager Model</PackageId>
|
||||||
<Version>3.3.0.0</Version>
|
<Version>3.3.1.0</Version>
|
||||||
<Authors>Stanley Kwok</Authors>
|
<Authors>Stanley Kwok</Authors>
|
||||||
<Company>Stanley Kwok</Company>
|
<Company>Stanley Kwok</Company>
|
||||||
<Copyright>Stanley Kwok 2021</Copyright>
|
<Copyright>Stanley Kwok 2021</Copyright>
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<RootNamespace>MSFSPopoutPanelManager.Provider</RootNamespace>
|
<RootNamespace>MSFSPopoutPanelManager.Provider</RootNamespace>
|
||||||
<PackageId>MSFS 2020 Popout Panel Manager Provider</PackageId>
|
<PackageId>MSFS 2020 Popout Panel Manager Provider</PackageId>
|
||||||
<Product>MSFS 2020 Popout Panel Manager Provider</Product>
|
<Product>MSFS 2020 Popout Panel Manager Provider</Product>
|
||||||
<Version>3.3.0.0</Version>
|
<Version>3.3.1.0</Version>
|
||||||
<Authors>Stanley Kwok</Authors>
|
<Authors>Stanley Kwok</Authors>
|
||||||
<Copyright>Stanley Kwok 2021</Copyright>
|
<Copyright>Stanley Kwok 2021</Copyright>
|
||||||
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
using MSFSPopoutPanelManager.FsConnector;
|
using MSFSPopoutPanelManager.FsConnector;
|
||||||
using MSFSPopoutPanelManager.Shared;
|
using MSFSPopoutPanelManager.Shared;
|
||||||
using System;
|
using System;
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Timers;
|
using System.Timers;
|
||||||
|
@ -19,6 +18,7 @@ namespace MSFSPopoutPanelManager.Provider
|
||||||
private SimConnectSystemEvent _lastSystemEvent;
|
private SimConnectSystemEvent _lastSystemEvent;
|
||||||
private bool _isSimActive;
|
private bool _isSimActive;
|
||||||
private bool _isPowerOnForPopOut;
|
private bool _isPowerOnForPopOut;
|
||||||
|
private bool _isTrackIRManaged;
|
||||||
|
|
||||||
public event EventHandler OnConnected;
|
public event EventHandler OnConnected;
|
||||||
public event EventHandler OnDisconnected;
|
public event EventHandler OnDisconnected;
|
||||||
|
@ -91,6 +91,32 @@ namespace MSFSPopoutPanelManager.Provider
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void TurnOffTrackIR()
|
||||||
|
{
|
||||||
|
if(_simData.TrackIREnable)
|
||||||
|
{
|
||||||
|
SetTrackIREnable(false);
|
||||||
|
_isTrackIRManaged = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void TurnOnTrackIR()
|
||||||
|
{
|
||||||
|
if (_isTrackIRManaged && !_simData.TrackIREnable)
|
||||||
|
{
|
||||||
|
SetTrackIREnable(true);
|
||||||
|
_isTrackIRManaged = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetTrackIREnable(bool enable)
|
||||||
|
{
|
||||||
|
// It is prop3 in SimConnectStruct (by DataDefinitions.cs)
|
||||||
|
SimConnectStruct simConnectStruct = new SimConnectStruct();
|
||||||
|
simConnectStruct.Prop03 = enable ? Convert.ToDouble(1): Convert.ToDouble(0);
|
||||||
|
_simConnector.SetDataObject(simConnectStruct);
|
||||||
|
}
|
||||||
|
|
||||||
private void HandleDataRequested(object sender, ElapsedEventArgs e)
|
private void HandleDataRequested(object sender, ElapsedEventArgs e)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<Company>Stanley Kwok</Company>
|
<Company>Stanley Kwok</Company>
|
||||||
<Copyright>Stanley Kwok 2021</Copyright>
|
<Copyright>Stanley Kwok 2021</Copyright>
|
||||||
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/hawkeye-stan/msfs-popout-panel-manager</PackageProjectUrl>
|
||||||
<Version>3.3.0.0</Version>
|
<Version>3.3.1.0</Version>
|
||||||
<Platforms>AnyCPU;x64</Platforms>
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
<UseWPF>true</UseWPF>
|
<UseWPF>true</UseWPF>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
# Version History
|
# Version History
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
|
## Version 3.3.1
|
||||||
|
* Added support to automatic disable Track IR during panel selection and panel pop out process.
|
||||||
|
|
||||||
## Version 3.3.0
|
## Version 3.3.0
|
||||||
* Pop out panel without a title bar can now be moved and resized.
|
* Pop out panel without a title bar can now be moved and resized.
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
<TreeViewItem Header="Application Settings" Selected="TreeViewItem_Selected" Margin="0,15,0,10" IsSelected="True"></TreeViewItem>
|
<TreeViewItem Header="Application Settings" Selected="TreeViewItem_Selected" Margin="0,15,0,10" IsSelected="True"></TreeViewItem>
|
||||||
<TreeViewItem Header="Pop Out Settings" Selected="TreeViewItem_Selected" Margin="0,0,0,10"></TreeViewItem>
|
<TreeViewItem Header="Pop Out Settings" Selected="TreeViewItem_Selected" Margin="0,0,0,10"></TreeViewItem>
|
||||||
<TreeViewItem Header="Auto Pop Out Panel Settings" Selected="TreeViewItem_Selected" Margin="0,0,0,10"></TreeViewItem>
|
<TreeViewItem Header="Auto Pop Out Panel Settings" Selected="TreeViewItem_Selected" Margin="0,0,0,10"></TreeViewItem>
|
||||||
|
<TreeViewItem Header="Track IR Settings" Selected="TreeViewItem_Selected" Margin="0,0,0,10"></TreeViewItem>
|
||||||
</TreeView>
|
</TreeView>
|
||||||
<WrapPanel DockPanel.Dock="Right" Margin="20,15,20,0" Width="Auto" >
|
<WrapPanel DockPanel.Dock="Right" Margin="20,15,20,0" Width="Auto" >
|
||||||
<WrapPanel Orientation="Vertical" Width="Auto" Visibility="{Binding Path=ApplicationSettingsVisibility, Mode=TwoWay}">
|
<WrapPanel Orientation="Vertical" Width="Auto" Visibility="{Binding Path=ApplicationSettingsVisibility, Mode=TwoWay}">
|
||||||
|
@ -135,6 +136,12 @@
|
||||||
</WrapPanel>
|
</WrapPanel>
|
||||||
<WrapPanel Orientation="Vertical" Visibility="Visible">
|
<WrapPanel Orientation="Vertical" Visibility="Visible">
|
||||||
</WrapPanel>
|
</WrapPanel>
|
||||||
|
<WrapPanel Orientation="Vertical" Width="Auto" Visibility="{Binding Path=TrackIRSettingsVisibility, Mode=TwoWay}">
|
||||||
|
<CheckBox IsChecked="{Binding Path=AppSetting.AutoDisableTrackIR, Mode=TwoWay}" Content="Auto Disable Track IR"></CheckBox>
|
||||||
|
<TextBlock Style="{StaticResource TextBlockDescription}">
|
||||||
|
Automactically disable Track IR during panel selections and pop out process. Track IR will be re-enable once these processes are completed.
|
||||||
|
</TextBlock>
|
||||||
|
</WrapPanel>
|
||||||
</WrapPanel>
|
</WrapPanel>
|
||||||
</DockPanel>
|
</DockPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
|
@ -23,6 +23,7 @@ namespace MSFSPopoutPanelManager.WpfApp
|
||||||
ApplicationSettingsVisibility = Visibility.Visible;
|
ApplicationSettingsVisibility = Visibility.Visible;
|
||||||
PopOutSettingsVisibility = Visibility.Collapsed;
|
PopOutSettingsVisibility = Visibility.Collapsed;
|
||||||
AutoPopOutSettingsVisibility = Visibility.Collapsed;
|
AutoPopOutSettingsVisibility = Visibility.Collapsed;
|
||||||
|
TrackIRSettingsVisibility = Visibility.Collapsed;
|
||||||
}
|
}
|
||||||
|
|
||||||
public AppSetting AppSetting { get; set; }
|
public AppSetting AppSetting { get; set; }
|
||||||
|
@ -33,6 +34,8 @@ namespace MSFSPopoutPanelManager.WpfApp
|
||||||
|
|
||||||
public Visibility AutoPopOutSettingsVisibility { get; set; }
|
public Visibility AutoPopOutSettingsVisibility { get; set; }
|
||||||
|
|
||||||
|
public Visibility TrackIRSettingsVisibility { get; set; }
|
||||||
|
|
||||||
private void TreeViewItem_Selected(object sender, RoutedEventArgs e)
|
private void TreeViewItem_Selected(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
var treeViewItem = (TreeViewItem)e.Source;
|
var treeViewItem = (TreeViewItem)e.Source;
|
||||||
|
@ -40,6 +43,7 @@ namespace MSFSPopoutPanelManager.WpfApp
|
||||||
ApplicationSettingsVisibility = Visibility.Collapsed;
|
ApplicationSettingsVisibility = Visibility.Collapsed;
|
||||||
PopOutSettingsVisibility = Visibility.Collapsed;
|
PopOutSettingsVisibility = Visibility.Collapsed;
|
||||||
AutoPopOutSettingsVisibility = Visibility.Collapsed;
|
AutoPopOutSettingsVisibility = Visibility.Collapsed;
|
||||||
|
TrackIRSettingsVisibility = Visibility.Collapsed;
|
||||||
|
|
||||||
if (treeViewItem.Header.ToString() == "Application Settings")
|
if (treeViewItem.Header.ToString() == "Application Settings")
|
||||||
{
|
{
|
||||||
|
@ -53,6 +57,10 @@ namespace MSFSPopoutPanelManager.WpfApp
|
||||||
{
|
{
|
||||||
AutoPopOutSettingsVisibility = Visibility.Visible;
|
AutoPopOutSettingsVisibility = Visibility.Visible;
|
||||||
}
|
}
|
||||||
|
else if (treeViewItem.Header.ToString() == "Track IR Settings")
|
||||||
|
{
|
||||||
|
TrackIRSettingsVisibility = Visibility.Visible;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -294,8 +294,7 @@ namespace MSFSPopoutPanelManager.WpfApp.ViewModel
|
||||||
AutoUpdater.AppTitle = "MSFS Pop Out Panel Manager";
|
AutoUpdater.AppTitle = "MSFS Pop Out Panel Manager";
|
||||||
AutoUpdater.RunUpdateAsAdmin = false;
|
AutoUpdater.RunUpdateAsAdmin = false;
|
||||||
AutoUpdater.UpdateFormSize = new System.Drawing.Size(930, 675);
|
AutoUpdater.UpdateFormSize = new System.Drawing.Size(930, 675);
|
||||||
AutoUpdater.Start("https://raw.githubusercontent.com/hawkeye-stan/msfs-popout-panel-manager/master/autoupdate.xml");
|
AutoUpdater.Start(DataStore.AppSetting.AutoUpdaterUrl);
|
||||||
//AutoUpdater.Start("https://raw.githubusercontent.com/hawkeye-stan/AutoUpdateTest/main/autoupdate.xml");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AutoSwitchProfile(string activeAircraftTitle)
|
private void AutoSwitchProfile(string activeAircraftTitle)
|
||||||
|
|
|
@ -121,6 +121,10 @@ namespace MSFSPopoutPanelManager.WpfApp.ViewModel
|
||||||
|
|
||||||
private void OnStartPanelSelection(object commandParameter)
|
private void OnStartPanelSelection(object commandParameter)
|
||||||
{
|
{
|
||||||
|
// Turn off TrackIR if TrackIR is started
|
||||||
|
if (DataStore.AppSetting.AutoDisableTrackIR)
|
||||||
|
_simConnectManager.TurnOffTrackIR();
|
||||||
|
|
||||||
WindowManager.MinimizeWindow(DataStore.ApplicationHandle); // Window hide doesn't work when try to reshow window after selection completes. So need to use minimize.
|
WindowManager.MinimizeWindow(DataStore.ApplicationHandle); // Window hide doesn't work when try to reshow window after selection completes. So need to use minimize.
|
||||||
_panelSelectionManager.UserProfile = DataStore.ActiveUserProfile;
|
_panelSelectionManager.UserProfile = DataStore.ActiveUserProfile;
|
||||||
_panelSelectionManager.AppSetting = DataStore.AppSetting;
|
_panelSelectionManager.AppSetting = DataStore.AppSetting;
|
||||||
|
@ -171,6 +175,15 @@ namespace MSFSPopoutPanelManager.WpfApp.ViewModel
|
||||||
|
|
||||||
private void OnEditPanelCoorOverlay(object commandParameter)
|
private void OnEditPanelCoorOverlay(object commandParameter)
|
||||||
{
|
{
|
||||||
|
// Turn off TrackIR if TrackIR is started
|
||||||
|
if (commandParameter == null && DataStore.AppSetting.AutoDisableTrackIR)
|
||||||
|
{
|
||||||
|
if(IsEditingPanelCoorOverlay)
|
||||||
|
_simConnectManager.TurnOffTrackIR();
|
||||||
|
else
|
||||||
|
_simConnectManager.TurnOnTrackIR();
|
||||||
|
}
|
||||||
|
|
||||||
if (IsEditingPanelCoorOverlay)
|
if (IsEditingPanelCoorOverlay)
|
||||||
{
|
{
|
||||||
RemoveAllPanelCoorOverlay();
|
RemoveAllPanelCoorOverlay();
|
||||||
|
@ -232,11 +245,15 @@ namespace MSFSPopoutPanelManager.WpfApp.ViewModel
|
||||||
{
|
{
|
||||||
// Hide panel coordinate overlays
|
// Hide panel coordinate overlays
|
||||||
IsEditingPanelCoorOverlay = false;
|
IsEditingPanelCoorOverlay = false;
|
||||||
OnEditPanelCoorOverlay(null);
|
OnEditPanelCoorOverlay(false);
|
||||||
|
|
||||||
// Close all pop out panels
|
// Close all pop out panels
|
||||||
WindowManager.CloseAllCustomPopoutPanels();
|
WindowManager.CloseAllCustomPopoutPanels();
|
||||||
|
|
||||||
|
// Turn off TrackIR if TrackIR is started
|
||||||
|
if (DataStore.AppSetting.AutoDisableTrackIR)
|
||||||
|
_simConnectManager.TurnOffTrackIR();
|
||||||
|
|
||||||
// Temporary minimize the app for pop out process
|
// Temporary minimize the app for pop out process
|
||||||
_minimizeForPopOut = DataStore.ApplicationWindow.WindowState != WindowState.Minimized;
|
_minimizeForPopOut = DataStore.ApplicationWindow.WindowState != WindowState.Minimized;
|
||||||
if (_minimizeForPopOut)
|
if (_minimizeForPopOut)
|
||||||
|
@ -258,6 +275,10 @@ namespace MSFSPopoutPanelManager.WpfApp.ViewModel
|
||||||
{
|
{
|
||||||
OnPopOutCompleted?.Invoke(this, null);
|
OnPopOutCompleted?.Invoke(this, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Turn off TrackIR if TrackIR is started
|
||||||
|
if (DataStore.AppSetting.AutoDisableTrackIR)
|
||||||
|
_simConnectManager.TurnOnTrackIR();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandlePanelSelectionCompleted(object sender, EventArgs e)
|
private void HandlePanelSelectionCompleted(object sender, EventArgs e)
|
||||||
|
@ -272,6 +293,10 @@ namespace MSFSPopoutPanelManager.WpfApp.ViewModel
|
||||||
Logger.LogStatus("Panels selection is completed. Please click 'Start Pop Out' to start popping out these panels.", StatusMessageType.Info);
|
Logger.LogStatus("Panels selection is completed. Please click 'Start Pop Out' to start popping out these panels.", StatusMessageType.Info);
|
||||||
else
|
else
|
||||||
Logger.LogStatus("Panels selection is completed. No panel has been selected.", StatusMessageType.Info);
|
Logger.LogStatus("Panels selection is completed. No panel has been selected.", StatusMessageType.Info);
|
||||||
|
|
||||||
|
// Turn off TrackIR if TrackIR is started
|
||||||
|
if (DataStore.AppSetting.AutoDisableTrackIR)
|
||||||
|
_simConnectManager.TurnOnTrackIR();
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool CanExecute(object commandParameter)
|
private bool CanExecute(object commandParameter)
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<TargetFramework>net5.0-windows</TargetFramework>
|
<TargetFramework>net5.0-windows</TargetFramework>
|
||||||
<UseWPF>true</UseWPF>
|
<UseWPF>true</UseWPF>
|
||||||
<Version>3.3.0.0</Version>
|
<Version>3.3.1.0</Version>
|
||||||
<PackageId>MSFS 2020 Popout Panel Manager</PackageId>
|
<PackageId>MSFS 2020 Popout Panel Manager</PackageId>
|
||||||
<Authors>Stanley Kwok</Authors>
|
<Authors>Stanley Kwok</Authors>
|
||||||
<Product>MSFS 2020 Popout Panel Manager</Product>
|
<Product>MSFS 2020 Popout Panel Manager</Product>
|
||||||
|
|
Loading…
Reference in a new issue