805 lines
26 KiB
C#
805 lines
26 KiB
C#
|
|
using Microsoft.Win32;
|
|||
|
|
using System;
|
|||
|
|
using System.Configuration;
|
|||
|
|
using WeifenLuo.WinFormsUI.Docking.Configuration;
|
|||
|
|
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
|
|||
|
|
namespace WeifenLuo.WinFormsUI.Docking
|
|||
|
|
{
|
|||
|
|
public static class PatchController
|
|||
|
|
{
|
|||
|
|
public static bool? EnableAll { private get; set; }
|
|||
|
|
|
|||
|
|
public static void Reset()
|
|||
|
|
{
|
|||
|
|
EnableAll = _highDpi = _memoryLeakFix
|
|||
|
|
= _nestedDisposalFix = _focusLostFix = _contentOrderFix
|
|||
|
|
= _fontInheritanceFix = _activeXFix = _displayingPaneFix
|
|||
|
|
= _activeControlFix = null;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#region Copy this section to create new option, and then comment it to show what needs to be modified.
|
|||
|
|
//*
|
|||
|
|
private static bool? _highDpi;
|
|||
|
|
|
|||
|
|
public static bool? EnableHighDpi
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
if (_highDpi != null)
|
|||
|
|
{
|
|||
|
|
return _highDpi;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _highDpi = EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var section = ConfigurationManager.GetSection("dockPanelSuite") as PatchSection;
|
|||
|
|
if (section != null)
|
|||
|
|
{
|
|||
|
|
if (section.EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _highDpi = section.EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _highDpi = section.EnableHighDpi;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var environment = Environment.GetEnvironmentVariable("DPS_EnableHighDpi");
|
|||
|
|
if (!string.IsNullOrEmpty(environment))
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(environment, out enable))
|
|||
|
|
{
|
|||
|
|
return _highDpi = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.CurrentUser.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableHighDpi");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _highDpi = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.LocalMachine.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableHighDpi");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _highDpi = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _highDpi = true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_highDpi = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
// */
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
private static bool? _memoryLeakFix;
|
|||
|
|
|
|||
|
|
public static bool? EnableMemoryLeakFix
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
if (_memoryLeakFix != null)
|
|||
|
|
{
|
|||
|
|
return _memoryLeakFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _memoryLeakFix = EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var section = ConfigurationManager.GetSection("dockPanelSuite") as PatchSection;
|
|||
|
|
if (section != null)
|
|||
|
|
{
|
|||
|
|
if (section.EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _memoryLeakFix = section.EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _memoryLeakFix = section.EnableMemoryLeakFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var environment = Environment.GetEnvironmentVariable("DPS_EnableMemoryLeakFix");
|
|||
|
|
if (!string.IsNullOrEmpty(environment))
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(environment, out enable))
|
|||
|
|
{
|
|||
|
|
return _memoryLeakFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.CurrentUser.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableMemoryLeakFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _memoryLeakFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.LocalMachine.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableMemoryLeakFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _memoryLeakFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _memoryLeakFix = true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_memoryLeakFix = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private static bool? _focusLostFix;
|
|||
|
|
|
|||
|
|
public static bool? EnableMainWindowFocusLostFix
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
if (_focusLostFix != null)
|
|||
|
|
{
|
|||
|
|
return _focusLostFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _focusLostFix = EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var section = ConfigurationManager.GetSection("dockPanelSuite") as PatchSection;
|
|||
|
|
if (section != null)
|
|||
|
|
{
|
|||
|
|
if (section.EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _focusLostFix = section.EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _focusLostFix = section.EnableMainWindowFocusLostFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var environment = Environment.GetEnvironmentVariable("DPS_EnableMainWindowFocusLostFix");
|
|||
|
|
if (!string.IsNullOrEmpty(environment))
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(environment, out enable))
|
|||
|
|
{
|
|||
|
|
return _focusLostFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.CurrentUser.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableMainWindowFocusLostFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _focusLostFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.LocalMachine.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableMainWindowFocusLostFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _focusLostFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _focusLostFix = true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_focusLostFix = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private static bool? _nestedDisposalFix;
|
|||
|
|
|
|||
|
|
public static bool? EnableNestedDisposalFix
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
if (_nestedDisposalFix != null)
|
|||
|
|
{
|
|||
|
|
return _nestedDisposalFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _nestedDisposalFix = EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var section = ConfigurationManager.GetSection("dockPanelSuite") as PatchSection;
|
|||
|
|
if (section != null)
|
|||
|
|
{
|
|||
|
|
if (section.EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _nestedDisposalFix = section.EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _nestedDisposalFix = section.EnableNestedDisposalFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var environment = Environment.GetEnvironmentVariable("DPS_EnableNestedDisposalFix");
|
|||
|
|
if (!string.IsNullOrEmpty(environment))
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(environment, out enable))
|
|||
|
|
{
|
|||
|
|
return _nestedDisposalFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.CurrentUser.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableNestedDisposalFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _nestedDisposalFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.LocalMachine.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableNestedDisposalFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _nestedDisposalFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _nestedDisposalFix = true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_focusLostFix = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private static bool? _fontInheritanceFix;
|
|||
|
|
|
|||
|
|
public static bool? EnableFontInheritanceFix
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
if (_fontInheritanceFix != null)
|
|||
|
|
{
|
|||
|
|
return _fontInheritanceFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _fontInheritanceFix = EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var section = ConfigurationManager.GetSection("dockPanelSuite") as PatchSection;
|
|||
|
|
if (section != null)
|
|||
|
|
{
|
|||
|
|
if (section.EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _fontInheritanceFix = section.EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _fontInheritanceFix = section.EnableFontInheritanceFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var environment = Environment.GetEnvironmentVariable("DPS_EnableFontInheritanceFix");
|
|||
|
|
if (!string.IsNullOrEmpty(environment))
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(environment, out enable))
|
|||
|
|
{
|
|||
|
|
return _fontInheritanceFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.CurrentUser.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableFontInheritanceFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _fontInheritanceFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.LocalMachine.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableFontInheritanceFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _fontInheritanceFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _fontInheritanceFix = true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_fontInheritanceFix = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private static bool? _contentOrderFix;
|
|||
|
|
|
|||
|
|
public static bool? EnableContentOrderFix
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
if (_contentOrderFix != null)
|
|||
|
|
{
|
|||
|
|
return _contentOrderFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _contentOrderFix = EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var section = ConfigurationManager.GetSection("dockPanelSuite") as PatchSection;
|
|||
|
|
if (section != null)
|
|||
|
|
{
|
|||
|
|
if (section.EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _contentOrderFix = section.EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _contentOrderFix = section.EnableContentOrderFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var environment = Environment.GetEnvironmentVariable("DPS_EnableContentOrderFix");
|
|||
|
|
if (!string.IsNullOrEmpty(environment))
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(environment, out enable))
|
|||
|
|
{
|
|||
|
|
return _contentOrderFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.CurrentUser.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableContentOrderFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _contentOrderFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.LocalMachine.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableContentOrderFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _contentOrderFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _contentOrderFix = true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_contentOrderFix = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private static bool? _activeXFix;
|
|||
|
|
|
|||
|
|
public static bool? EnableActiveXFix
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
if (_activeXFix != null)
|
|||
|
|
{
|
|||
|
|
return _activeXFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _activeXFix = EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var section = ConfigurationManager.GetSection("dockPanelSuite") as PatchSection;
|
|||
|
|
if (section != null)
|
|||
|
|
{
|
|||
|
|
if (section.EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _activeXFix = section.EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _activeXFix = section.EnableActiveXFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var environment = Environment.GetEnvironmentVariable("DPS_EnableActiveXFix");
|
|||
|
|
if (!string.IsNullOrEmpty(environment))
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(environment, out enable))
|
|||
|
|
{
|
|||
|
|
return _activeXFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.CurrentUser.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableActiveXFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _activeXFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.LocalMachine.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableActiveXFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _activeXFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _activeXFix = false; // not enabled by default as it has side effect.
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_activeXFix = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private static bool? _displayingPaneFix;
|
|||
|
|
|
|||
|
|
public static bool? EnableDisplayingPaneFix
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
if (_displayingPaneFix != null)
|
|||
|
|
{
|
|||
|
|
return _displayingPaneFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _displayingPaneFix = EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var section = ConfigurationManager.GetSection("dockPanelSuite") as PatchSection;
|
|||
|
|
if (section != null)
|
|||
|
|
{
|
|||
|
|
if (section.EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _displayingPaneFix = section.EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _displayingPaneFix = section.EnableDisplayingPaneFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var environment = Environment.GetEnvironmentVariable("DPS_EnableDisplayingPaneFix");
|
|||
|
|
if (!string.IsNullOrEmpty(environment))
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(environment, out enable))
|
|||
|
|
{
|
|||
|
|
return _displayingPaneFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.CurrentUser.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableDisplayingPaneFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _displayingPaneFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.LocalMachine.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableDisplayingPaneFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _displayingPaneFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _displayingPaneFix = true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_displayingPaneFix = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private static bool? _activeControlFix;
|
|||
|
|
|
|||
|
|
public static bool? EnableActiveControlFix
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
if (_activeControlFix != null)
|
|||
|
|
{
|
|||
|
|
return _activeControlFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _activeControlFix = EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var section = ConfigurationManager.GetSection("dockPanelSuite") as PatchSection;
|
|||
|
|
if (section != null)
|
|||
|
|
{
|
|||
|
|
if (section.EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _activeControlFix = section.EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _activeControlFix = section.EnableActiveControlFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var environment = Environment.GetEnvironmentVariable("DPS_EnableActiveControlFix");
|
|||
|
|
if (!string.IsNullOrEmpty(environment))
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(environment, out enable))
|
|||
|
|
{
|
|||
|
|
return _activeControlFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.CurrentUser.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableActiveControlFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _activeControlFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.LocalMachine.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableActiveControlFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _activeControlFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _activeControlFix = true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_activeControlFix = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private static bool? _floatSplitterFix;
|
|||
|
|
|
|||
|
|
public static bool? EnableFloatSplitterFix
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
if (_floatSplitterFix != null)
|
|||
|
|
{
|
|||
|
|
return _floatSplitterFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _floatSplitterFix = EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var section = ConfigurationManager.GetSection("dockPanelSuite") as PatchSection;
|
|||
|
|
if (section != null)
|
|||
|
|
{
|
|||
|
|
if (section.EnableAll != null)
|
|||
|
|
{
|
|||
|
|
return _floatSplitterFix = section.EnableAll;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _floatSplitterFix = section.EnableFloatSplitterFix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var environment = Environment.GetEnvironmentVariable("DPS_EnableFloatSplitterFix");
|
|||
|
|
if (!string.IsNullOrEmpty(environment))
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(environment, out enable))
|
|||
|
|
{
|
|||
|
|
return _floatSplitterFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.CurrentUser.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableFloatSplitterFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _floatSplitterFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
var key = Registry.LocalMachine.OpenSubKey(@"Software\DockPanelSuite");
|
|||
|
|
if (key != null)
|
|||
|
|
{
|
|||
|
|
var pair = key.GetValue("EnableFloatSplitterFix");
|
|||
|
|
if (pair != null)
|
|||
|
|
{
|
|||
|
|
var enable = false;
|
|||
|
|
if (bool.TryParse(pair.ToString(), out enable))
|
|||
|
|
{
|
|||
|
|
return _floatSplitterFix = enable;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return _floatSplitterFix = true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_floatSplitterFix = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|