mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-24 18:38:44 +08:00
Merge branch 'csharp_conv' into MR-818_Create_new_installer
# Conflicts: # mRemoteV1.sln
This commit is contained in:
@@ -11,6 +11,9 @@ xmlns:wix="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<xsl:key name="service-search" match="wix:Component[contains(wix:File/@Source, '.pdb')]" use="@Id" />
|
||||
<xsl:key name="service-search" match="wix:Component[contains(wix:File/@Source, '.xml')]" use="@Id" />
|
||||
<xsl:key name="service-search" match="wix:Component[contains(wix:File/@Source, 'app.config')]" use="@Id" />
|
||||
<xsl:key name="service-search" match="wix:Component[contains(wix:File/@Source, 'vshost')]" use="@Id" />
|
||||
<xsl:key name="service-search" match="wix:Component[contains(wix:File/@Source, 'manifest')]" use="@Id" />
|
||||
<xsl:key name="service-search" match="wix:Component[contains(wix:File/@Source, '.application')]" use="@Id" />
|
||||
<xsl:template match="wix:Component[key('service-search', @Id)]" />
|
||||
<xsl:template match="wix:ComponentRef[key('service-search', @Id)]" />
|
||||
</xsl:stylesheet>
|
||||
File diff suppressed because it is too large
Load Diff
19
Installer/Fragments/MiscTextFilesFragment.wxs
Normal file
19
Installer/Fragments/MiscTextFilesFragment.wxs
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<ComponentGroup Id="CG.ProjectInfoFiles" Directory="APPLICATIONROOTDIRECTORY">
|
||||
<Component Id="C.Changelog" Guid="*">
|
||||
<File Id="ChangelogFile" Name="Changelog.txt" Source="$(var.SolutionDir)CHANGELOG.TXT" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component Id="C.Credits" Guid="*">
|
||||
<File Id="CreditsFile" Name="Credits.txt" Source="$(var.SolutionDir)CREDITS.TXT" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component Id="C.License" Guid="*">
|
||||
<File Id="LicenseFile" Name="License.txt" Source="$(var.SolutionDir)COPYING.TXT" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component Id="C.Readme" Guid="*">
|
||||
<File Id="ReadmeFile" Name="Readme.txt" Source="$(var.SolutionDir)README.TXT" KeyPath="yes" />
|
||||
</Component>
|
||||
</ComponentGroup>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<?include $(sys.CURRENTDIR)Includes\Config.wxi?>
|
||||
<Fragment Id="F.Shortcuts">
|
||||
<Fragment Id="Fr.Shortcuts">
|
||||
|
||||
<DirectoryRef Id="DesktopFolder">
|
||||
<Component Id="C.DesktopShortcut" Guid="F78E5A16-A2F7-4BD9-9250-CBF3016CCCDA">
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="Fragments\FilesFragment.wxs" />
|
||||
<Compile Include="Fragments\InstallConditionsFragment.wxs" />
|
||||
<Compile Include="Fragments\MiscTextFilesFragment.wxs" />
|
||||
<Compile Include="Fragments\PuTTYNGFragment.wxs" />
|
||||
<Compile Include="Fragments\ShortcutFragment.wxs" />
|
||||
<Compile Include="mRemoteNGV1.wxs" />
|
||||
@@ -47,7 +48,7 @@
|
||||
</Content>
|
||||
<Content Include="Filters\Harvest_Filter.xslt" />
|
||||
<Content Include="Includes\Config.wxi" />
|
||||
<Content Include="Resources\mRemote.ico" />
|
||||
<Content Include="Resources\mRemoteNG.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="CustomActions" />
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
<Property Id="ARPPRODUCTICON" Value="mRemoteNG.ico" />
|
||||
<Property Id="ARPHELPLINK" Value="http://www.mremoteng.org" />
|
||||
<Property Id="MAINEXE" Value="$(var.ExeProcessName)" />
|
||||
<Property Id="APPLICATIONROOTDIRECTORY">
|
||||
<RegistrySearch Id='AcmeFoobarRegistry' Type='raw' Root='HKLM' Key='Software\mRemoteNG' Name='InstallDir' />
|
||||
</Property>
|
||||
<Icon Id="mRemoteNG.ico" SourceFile="Resources\mRemoteNG.ico" />
|
||||
|
||||
|
||||
@@ -27,15 +30,21 @@
|
||||
</Directory>
|
||||
|
||||
|
||||
<Feature Id="MinimalFeature" Title="Installer" Level="0">
|
||||
<ComponentGroupRef Id="MandatoryComponents" />
|
||||
<Feature Id="F.MinimalFeature" Title="$(var.ProductName)" Level="1">
|
||||
<ComponentGroupRef Id="MandatoryComponents" Primary="yes" />
|
||||
<ComponentGroupRef Id="CG.ProjectInfoFiles" Primary="yes" />
|
||||
</Feature>
|
||||
|
||||
<Feature Id="CompleteFeature" Title="Installer" Level="1">
|
||||
<ComponentGroupRef Id="MandatoryComponents" />
|
||||
<ComponentRef Id="C.PuttyNGFile" />
|
||||
<ComponentRef Id="C.DesktopShortcut" />
|
||||
<ComponentRef Id="C.ApplicationStartMenuShortcut" />
|
||||
|
||||
<Feature Id="F.PuttyNG" Title="PuTTYNG" Absent="allow" Level="1">
|
||||
<ComponentRef Id="C.PuttyNGFile" Primary="yes" />
|
||||
</Feature>
|
||||
|
||||
<Feature Id="F.DesktopShortcut" Title="Desktop Shortcut" Absent="allow" Level="1">
|
||||
<ComponentRef Id="C.DesktopShortcut" Primary="yes" />
|
||||
</Feature>
|
||||
|
||||
<Feature Id="F.ApplicationStartMenuShortcut" Title="Start menu shortcut" Absent="allow" Level="1">
|
||||
<ComponentRef Id="C.ApplicationStartMenuShortcut" Primary="yes" />
|
||||
</Feature>
|
||||
</Product>
|
||||
</Wix>
|
||||
@@ -111,10 +111,6 @@
|
||||
<Project>{4934a491-40bc-4e5b-9166-ea1169a220f6}</Project>
|
||||
<Name>mRemoteV1</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\SharedLibraryNG\SharedLibraryNG.csproj">
|
||||
<Project>{0f615504-5f30-4cf2-8341-1de7fec95a23}</Project>
|
||||
<Name>SharedLibraryNG</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="UI\Controls\TestForm.resx">
|
||||
|
||||
@@ -4,11 +4,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
VisualStudioVersion = 14.0.25123.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mRemoteV1", "mRemoteV1\mRemoteV1.csproj", "{4934A491-40BC-4E5B-9166-EA1169A220F6}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23} = {0F615504-5F30-4CF2-8341-1DE7FEC95A23}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharedLibraryNG", "SharedLibraryNG\SharedLibraryNG.csproj", "{0F615504-5F30-4CF2-8341-1DE7FEC95A23}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mRemoteNGTests", "mRemoteNGTests\mRemoteNGTests.csproj", "{1453B37F-8621-499E-B0B2-6091F76DC0BB}"
|
||||
EndProject
|
||||
@@ -42,22 +37,6 @@ Global
|
||||
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Release|x86.Build.0 = Release|Any CPU
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23}.Debug Portable|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23}.Debug Portable|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23}.Debug Portable|x86.ActiveCfg = Debug|Any CPU
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23}.Debug Portable|x86.Build.0 = Debug|Any CPU
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23}.Release Portable|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23}.Release Portable|Any CPU.Build.0 = Release|Any CPU
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23}.Release Portable|x86.ActiveCfg = Release|Any CPU
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23}.Release Portable|x86.Build.0 = Release|Any CPU
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{0F615504-5F30-4CF2-8341-1DE7FEC95A23}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1453B37F-8621-499E-B0B2-6091F76DC0BB}.Debug Portable|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1453B37F-8621-499E-B0B2-6091F76DC0BB}.Debug Portable|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1453B37F-8621-499E-B0B2-6091F76DC0BB}.Debug Portable|x86.ActiveCfg = Debug|Any CPU
|
||||
|
||||
@@ -1,160 +0,0 @@
|
||||
using mRemoteNG.App;
|
||||
using SharedLibraryNG;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace mRemoteNG.Config.KeyboardShortcuts
|
||||
{
|
||||
public class KeyboardShortcutMap : ICloneable
|
||||
{
|
||||
private List<ShortcutMapping> _mappings;
|
||||
|
||||
|
||||
public List<ShortcutMapping> Mappings
|
||||
{
|
||||
get
|
||||
{
|
||||
return _mappings;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public KeyboardShortcutMap()
|
||||
{
|
||||
_mappings = new List<ShortcutMapping>();
|
||||
}
|
||||
|
||||
public KeyboardShortcutMap(List<ShortcutMapping> mappings)
|
||||
{
|
||||
_mappings = mappings;
|
||||
}
|
||||
|
||||
|
||||
public void Add(ShortcutCommand command, ShortcutKey shortcutKey)
|
||||
{
|
||||
if (Mappings.Contains(new ShortcutMapping(command, shortcutKey)))
|
||||
{
|
||||
return;
|
||||
}
|
||||
Mappings.Add(new ShortcutMapping(command, shortcutKey));
|
||||
}
|
||||
|
||||
public void AddRange(ShortcutCommand command, IEnumerable<ShortcutKey> shortcutKeys)
|
||||
{
|
||||
foreach (ShortcutKey shortcutKey in shortcutKeys)
|
||||
{
|
||||
Add(command, shortcutKey);
|
||||
}
|
||||
}
|
||||
|
||||
public void Remove(ShortcutCommand command, ShortcutKey shortcutKey)
|
||||
{
|
||||
Mappings.Remove(new ShortcutMapping(command, shortcutKey));
|
||||
}
|
||||
|
||||
public void AddFromConfigString(ShortcutCommand command, string configString)
|
||||
{
|
||||
foreach (ShortcutKey shortcutKey in ParseConfigString(configString))
|
||||
{
|
||||
Add(command, shortcutKey);
|
||||
}
|
||||
}
|
||||
|
||||
public string GetConfigString(ShortcutCommand command)
|
||||
{
|
||||
List<string> parts = new List<string>();
|
||||
foreach (ShortcutKey shortcutKey in GetShortcutKeys(command))
|
||||
{
|
||||
parts.Add(shortcutKey.ToConfigString());
|
||||
}
|
||||
return string.Join(", ", parts.ToArray());
|
||||
}
|
||||
|
||||
public ShortcutKey[] GetShortcutKeys(ShortcutCommand command)
|
||||
{
|
||||
List<ShortcutKey> shortcutKeys = new List<ShortcutKey>();
|
||||
foreach (ShortcutMapping shortcutMapping in Mappings)
|
||||
{
|
||||
if (shortcutMapping.Command == command)
|
||||
{
|
||||
shortcutKeys.Add(shortcutMapping.Key);
|
||||
}
|
||||
}
|
||||
return shortcutKeys.ToArray();
|
||||
}
|
||||
|
||||
public void SetShortcutKeys(ShortcutCommand command, IEnumerable<ShortcutKey> shortcutKeys)
|
||||
{
|
||||
ClearShortcutKeys(command);
|
||||
AddRange(command, shortcutKeys);
|
||||
}
|
||||
|
||||
public ShortcutCommand GetCommand(int keyCode, KeyboardHook.ModifierKeys modifierKeys)
|
||||
{
|
||||
return GetCommand(new ShortcutKey(keyCode, modifierKeys));
|
||||
}
|
||||
|
||||
public object Clone()
|
||||
{
|
||||
List<ShortcutMapping> newMappings = new List<ShortcutMapping>();
|
||||
newMappings.AddRange(Mappings);
|
||||
return new KeyboardShortcutMap(newMappings);
|
||||
}
|
||||
|
||||
private static ShortcutKey[] ParseConfigString(string shortcutKeysString)
|
||||
{
|
||||
List<ShortcutKey> shortcutKeys = new List<ShortcutKey>();
|
||||
foreach (string shortcutKeyString in shortcutKeysString.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
|
||||
{
|
||||
try
|
||||
{
|
||||
shortcutKeys.Add(ShortcutKey.FromConfigString(shortcutKeyString.Trim()));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Runtime.MessageCollector.AddExceptionMessage(message: string.Format("KeyboardShortcuts.ParseShortcutKeysString({0}) failed at {1}.", shortcutKeysString, shortcutKeyString), ex: ex, logOnly: true);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
return shortcutKeys.ToArray();
|
||||
}
|
||||
|
||||
private ShortcutCommand GetCommand(ShortcutKey shortcutKey)
|
||||
{
|
||||
foreach (ShortcutMapping shortcutMapping in Mappings)
|
||||
{
|
||||
if (ShortcutKeysMatch(shortcutMapping.Key, shortcutKey))
|
||||
{
|
||||
return shortcutMapping.Command;
|
||||
}
|
||||
}
|
||||
return ShortcutCommand.None;
|
||||
}
|
||||
|
||||
private static bool ShortcutKeysMatch(ShortcutKey wanted, ShortcutKey pressed)
|
||||
{
|
||||
if (!(wanted.KeyCode == pressed.KeyCode))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return KeyboardHook.ModifierKeysMatch(wanted.ModifierKeys, pressed.ModifierKeys);
|
||||
}
|
||||
|
||||
private void ClearShortcutKeys(ShortcutCommand command)
|
||||
{
|
||||
List<ShortcutMapping> mappingsToRemove = new List<ShortcutMapping>();
|
||||
foreach (ShortcutMapping mapping in Mappings)
|
||||
{
|
||||
if (mapping.Command == command)
|
||||
{
|
||||
mappingsToRemove.Add(mapping);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (ShortcutMapping mapping in mappingsToRemove)
|
||||
{
|
||||
Mappings.Remove(mapping);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,118 +0,0 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using System.Runtime.InteropServices;
|
||||
using SharedLibraryNG;
|
||||
|
||||
|
||||
namespace mRemoteNG.Config.KeyboardShortcuts
|
||||
{
|
||||
public class KeyboardShortcuts
|
||||
{
|
||||
private static KeyboardHook _keyboardHook = new KeyboardHook();
|
||||
private static bool _mapLoaded = false;
|
||||
private static IntPtr _handle = IntPtr.Zero;
|
||||
|
||||
#region Public Properties
|
||||
private static KeyboardShortcutMap _defaultMap = null;
|
||||
public static KeyboardShortcutMap DefaultMap
|
||||
{
|
||||
get
|
||||
{
|
||||
LoadDefaultMap();
|
||||
return _defaultMap;
|
||||
}
|
||||
}
|
||||
|
||||
private static KeyboardShortcutMap _map;
|
||||
public static KeyboardShortcutMap Map
|
||||
{
|
||||
get
|
||||
{
|
||||
Load();
|
||||
return _map;
|
||||
}
|
||||
set
|
||||
{
|
||||
CancelKeyNotifications();
|
||||
_map = value;
|
||||
Save();
|
||||
RequestKeyNotifications(_handle);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Public Methods
|
||||
public static void RequestKeyNotifications(IntPtr handle)
|
||||
{
|
||||
// ReSharper disable LocalizableElement
|
||||
if (handle == IntPtr.Zero)
|
||||
{
|
||||
throw (new ArgumentException("The handle cannot be null.", "handle"));
|
||||
}
|
||||
if (!(_handle == IntPtr.Zero) && !(_handle == handle))
|
||||
{
|
||||
throw (new ArgumentException("The handle must match the handle that was specified the first time this function was called.", "handle"));
|
||||
}
|
||||
// ReSharper restore LocalizableElement
|
||||
_handle = handle;
|
||||
foreach (ShortcutMapping shortcutMapping in Map.Mappings)
|
||||
{
|
||||
KeyboardHook.RequestKeyNotification(handle, shortcutMapping.Key.KeyCode, shortcutMapping.Key.ModifierKeys, false);
|
||||
}
|
||||
}
|
||||
|
||||
public static ShortcutCommand CommandFromHookKeyMessage(Message m)
|
||||
{
|
||||
KeyboardHook.HookKeyMsgData msgData = (SharedLibraryNG.KeyboardHook.HookKeyMsgData)Marshal.PtrToStructure(m.LParam, typeof(KeyboardHook.HookKeyMsgData));
|
||||
return Map.GetCommand(msgData.KeyCode, msgData.ModifierKeys);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Private Methods
|
||||
private static void LoadDefaultMap()
|
||||
{
|
||||
if (_defaultMap != null)
|
||||
{
|
||||
return ;
|
||||
}
|
||||
_defaultMap = new KeyboardShortcutMap();
|
||||
_defaultMap.AddFromConfigString(ShortcutCommand.PreviousTab, Convert.ToString(mRemoteNG.Settings.Default.Properties["KeysPreviousTab"].DefaultValue));
|
||||
_defaultMap.AddFromConfigString(ShortcutCommand.NextTab, Convert.ToString(mRemoteNG.Settings.Default.Properties["KeysNextTab"].DefaultValue));
|
||||
}
|
||||
|
||||
private static void Load()
|
||||
{
|
||||
if (_mapLoaded)
|
||||
{
|
||||
return ;
|
||||
}
|
||||
_map = new KeyboardShortcutMap();
|
||||
_map.AddFromConfigString(ShortcutCommand.PreviousTab, Convert.ToString(mRemoteNG.Settings.Default.KeysPreviousTab));
|
||||
_map.AddFromConfigString(ShortcutCommand.NextTab, Convert.ToString(mRemoteNG.Settings.Default.KeysNextTab));
|
||||
_mapLoaded = true;
|
||||
}
|
||||
|
||||
private static void Save()
|
||||
{
|
||||
if (_map == null)
|
||||
{
|
||||
return ;
|
||||
}
|
||||
mRemoteNG.Settings.Default.KeysPreviousTab = _map.GetConfigString(ShortcutCommand.PreviousTab);
|
||||
mRemoteNG.Settings.Default.KeysNextTab = _map.GetConfigString(ShortcutCommand.NextTab);
|
||||
}
|
||||
|
||||
private static void CancelKeyNotifications()
|
||||
{
|
||||
if (_handle == IntPtr.Zero)
|
||||
{
|
||||
return ;
|
||||
}
|
||||
foreach (ShortcutMapping shortcutMapping in Map.Mappings)
|
||||
{
|
||||
KeyboardHook.CancelKeyNotification(_handle, shortcutMapping.Key.KeyCode, shortcutMapping.Key.ModifierKeys, false);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace mRemoteNG.Config.KeyboardShortcuts
|
||||
{
|
||||
public enum ShortcutCommand
|
||||
{
|
||||
None = 0,
|
||||
PreviousTab,
|
||||
NextTab
|
||||
}
|
||||
}
|
||||
@@ -1,135 +0,0 @@
|
||||
using mRemoteNG.App;
|
||||
using mRemoteNG.Messages;
|
||||
using SharedLibraryNG;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace mRemoteNG.Config.KeyboardShortcuts
|
||||
{
|
||||
[ImmutableObject(true)]
|
||||
public class ShortcutKey : IEquatable<ShortcutKey>
|
||||
{
|
||||
#region Public Properties
|
||||
private int _keyCode;
|
||||
public int KeyCode
|
||||
{
|
||||
get
|
||||
{
|
||||
return _keyCode;
|
||||
}
|
||||
}
|
||||
|
||||
private KeyboardHook.ModifierKeys _modifierKeys;
|
||||
public KeyboardHook.ModifierKeys ModifierKeys
|
||||
{
|
||||
get
|
||||
{
|
||||
return _modifierKeys;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
public ShortcutKey(int keyCode, KeyboardHook.ModifierKeys modifierKeys)
|
||||
{
|
||||
_keyCode = keyCode;
|
||||
_modifierKeys = modifierKeys;
|
||||
}
|
||||
|
||||
public ShortcutKey(Keys keysValue)
|
||||
{
|
||||
_keyCode = (int)(keysValue & Keys.KeyCode);
|
||||
if (!((keysValue & Keys.Shift) == 0))
|
||||
{
|
||||
_modifierKeys = _modifierKeys | KeyboardHook.ModifierKeys.Shift;
|
||||
}
|
||||
if (!((keysValue & Keys.Control) == 0))
|
||||
{
|
||||
_modifierKeys = _modifierKeys | KeyboardHook.ModifierKeys.Control;
|
||||
}
|
||||
if (!((keysValue & Keys.Alt) == 0))
|
||||
{
|
||||
_modifierKeys = _modifierKeys | KeyboardHook.ModifierKeys.Alt;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Public Methods
|
||||
public string ToConfigString()
|
||||
{
|
||||
return string.Join("/", new string[] { KeyCode.ToString(), (Convert.ToInt32(ModifierKeys)).ToString() });
|
||||
}
|
||||
|
||||
public static ShortcutKey FromConfigString(string shortcutKeyString)
|
||||
{
|
||||
string[] parts = shortcutKeyString.Split(new char[] { '/' }, 2);
|
||||
if (!(parts.Length == 2))
|
||||
{
|
||||
throw (new ArgumentException(string.Format("ShortcutKey.FromString({0}) failed. parts.Length != 2", shortcutKeyString), shortcutKeyString));
|
||||
}
|
||||
return new ShortcutKey(Convert.ToInt32(parts[0]), (SharedLibraryNG.KeyboardHook.ModifierKeys)Convert.ToInt32(parts[1]));
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return HotkeyControl.KeysToString((System.Windows.Forms.Keys)this.KeyCode);
|
||||
}
|
||||
|
||||
public bool Equals(ShortcutKey other)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (KeyCode != other.KeyCode)
|
||||
return false;
|
||||
if (ModifierKeys != other.ModifierKeys)
|
||||
return false;
|
||||
}
|
||||
catch (NullReferenceException e)
|
||||
{
|
||||
Runtime.MessageCollector.AddExceptionMessage("Encountered Exception", e);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Operators
|
||||
public static bool operator ==(ShortcutKey shortcutKey1, ShortcutKey shortcutKey2)
|
||||
{
|
||||
return shortcutKey1.Equals(shortcutKey2);
|
||||
}
|
||||
|
||||
public static bool operator !=(ShortcutKey shortcutKey1, ShortcutKey shortcutKey2)
|
||||
{
|
||||
return !shortcutKey1.Equals(shortcutKey2);
|
||||
}
|
||||
|
||||
// This is a narrowing conversion because (Keys Or Keys.Modifiers) cannot hold all possible values of KeyboardHook.ModifierKeys
|
||||
public static explicit operator Keys(ShortcutKey shortcutKey)
|
||||
{
|
||||
Keys keysValue = System.Windows.Forms.Keys.A;
|
||||
if (!((shortcutKey.ModifierKeys & KeyboardHook.ModifierKeys.Shift) == 0))
|
||||
{
|
||||
keysValue = (Keys)(keysValue | Keys.Shift);
|
||||
}
|
||||
if (!((shortcutKey.ModifierKeys & KeyboardHook.ModifierKeys.Control) == 0))
|
||||
{
|
||||
keysValue = (Keys)(keysValue | Keys.Control);
|
||||
}
|
||||
if (!((shortcutKey.ModifierKeys & KeyboardHook.ModifierKeys.Alt) == 0))
|
||||
{
|
||||
keysValue = (Keys)(keysValue | Keys.Alt);
|
||||
}
|
||||
return keysValue;
|
||||
}
|
||||
|
||||
public static implicit operator ShortcutKey(Keys keys)
|
||||
{
|
||||
return new ShortcutKey(keys);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Text;
|
||||
|
||||
namespace mRemoteNG.Config.KeyboardShortcuts
|
||||
{
|
||||
[ImmutableObject(true)]
|
||||
public class ShortcutMapping : IEquatable<ShortcutMapping>
|
||||
{
|
||||
private ShortcutCommand _command;
|
||||
private ShortcutKey _key;
|
||||
|
||||
public ShortcutCommand Command
|
||||
{
|
||||
get { return _command; }
|
||||
}
|
||||
|
||||
public ShortcutKey Key
|
||||
{
|
||||
get { return _key; }
|
||||
}
|
||||
|
||||
|
||||
public ShortcutMapping(ShortcutCommand command, ShortcutKey key)
|
||||
{
|
||||
_command = command;
|
||||
_key = key;
|
||||
}
|
||||
|
||||
|
||||
public bool Equals(ShortcutMapping other)
|
||||
{
|
||||
if (!(Command == other.Command))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (!(Key == other.Key))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
538
mRemoteV1/UI/Forms/ExportForm.Designer.cs
generated
538
mRemoteV1/UI/Forms/ExportForm.Designer.cs
generated
@@ -10,275 +10,275 @@ namespace mRemoteNG.Forms
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.Load += new System.EventHandler(ExportForm_Load);
|
||||
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
|
||||
this.btnOK = new System.Windows.Forms.Button();
|
||||
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
|
||||
this.lblUncheckProperties = new System.Windows.Forms.Label();
|
||||
this.chkUsername = new System.Windows.Forms.CheckBox();
|
||||
this.chkPassword = new System.Windows.Forms.CheckBox();
|
||||
this.chkDomain = new System.Windows.Forms.CheckBox();
|
||||
this.chkInheritance = new System.Windows.Forms.CheckBox();
|
||||
this.txtFileName = new System.Windows.Forms.TextBox();
|
||||
this.txtFileName.TextChanged += new System.EventHandler(this.txtFileName_TextChanged);
|
||||
this.btnBrowse = new System.Windows.Forms.Button();
|
||||
this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click);
|
||||
this.grpProperties = new System.Windows.Forms.GroupBox();
|
||||
this.grpFile = new System.Windows.Forms.GroupBox();
|
||||
this.lblFileFormat = new System.Windows.Forms.Label();
|
||||
this.lblFileName = new System.Windows.Forms.Label();
|
||||
this.cboFileFormat = new System.Windows.Forms.ComboBox();
|
||||
this.grpItems = new System.Windows.Forms.GroupBox();
|
||||
this.lblSelectedConnection = new System.Windows.Forms.Label();
|
||||
this.lblSelectedFolder = new System.Windows.Forms.Label();
|
||||
this.rdoExportSelectedConnection = new System.Windows.Forms.RadioButton();
|
||||
this.rdoExportSelectedFolder = new System.Windows.Forms.RadioButton();
|
||||
this.rdoExportEverything = new System.Windows.Forms.RadioButton();
|
||||
this.grpProperties.SuspendLayout();
|
||||
this.grpFile.SuspendLayout();
|
||||
this.grpItems.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
//btnCancel
|
||||
//
|
||||
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.btnCancel.Location = new System.Drawing.Point(447, 473);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnCancel.TabIndex = 3;
|
||||
this.btnCancel.Text = "&Cancel";
|
||||
this.btnCancel.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//btnOK
|
||||
//
|
||||
this.btnOK.Location = new System.Drawing.Point(366, 473);
|
||||
this.btnOK.Name = "btnOK";
|
||||
this.btnOK.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnOK.TabIndex = 2;
|
||||
this.btnOK.Text = "&OK";
|
||||
this.btnOK.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//lblUncheckProperties
|
||||
//
|
||||
this.lblUncheckProperties.AutoSize = true;
|
||||
this.lblUncheckProperties.Location = new System.Drawing.Point(12, 134);
|
||||
this.lblUncheckProperties.Name = "lblUncheckProperties";
|
||||
this.lblUncheckProperties.Size = new System.Drawing.Size(244, 13);
|
||||
this.lblUncheckProperties.TabIndex = 4;
|
||||
this.lblUncheckProperties.Text = "Uncheck the properties you want not to be saved!";
|
||||
//
|
||||
//chkUsername
|
||||
//
|
||||
this.chkUsername.AutoSize = true;
|
||||
this.chkUsername.Checked = true;
|
||||
this.chkUsername.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkUsername.Location = new System.Drawing.Point(15, 32);
|
||||
this.chkUsername.Name = "chkUsername";
|
||||
this.chkUsername.Size = new System.Drawing.Size(74, 17);
|
||||
this.chkUsername.TabIndex = 0;
|
||||
this.chkUsername.Text = "Username";
|
||||
this.chkUsername.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//chkPassword
|
||||
//
|
||||
this.chkPassword.AutoSize = true;
|
||||
this.chkPassword.Checked = true;
|
||||
this.chkPassword.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkPassword.Location = new System.Drawing.Point(15, 55);
|
||||
this.chkPassword.Name = "chkPassword";
|
||||
this.chkPassword.Size = new System.Drawing.Size(72, 17);
|
||||
this.chkPassword.TabIndex = 1;
|
||||
this.chkPassword.Text = "Password";
|
||||
this.chkPassword.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//chkDomain
|
||||
//
|
||||
this.chkDomain.AutoSize = true;
|
||||
this.chkDomain.Checked = true;
|
||||
this.chkDomain.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkDomain.Location = new System.Drawing.Point(15, 78);
|
||||
this.chkDomain.Name = "chkDomain";
|
||||
this.chkDomain.Size = new System.Drawing.Size(62, 17);
|
||||
this.chkDomain.TabIndex = 2;
|
||||
this.chkDomain.Text = "Domain";
|
||||
this.chkDomain.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//chkInheritance
|
||||
//
|
||||
this.chkInheritance.AutoSize = true;
|
||||
this.chkInheritance.Checked = true;
|
||||
this.chkInheritance.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkInheritance.Location = new System.Drawing.Point(15, 101);
|
||||
this.chkInheritance.Name = "chkInheritance";
|
||||
this.chkInheritance.Size = new System.Drawing.Size(79, 17);
|
||||
this.chkInheritance.TabIndex = 3;
|
||||
this.chkInheritance.Text = "Inheritance";
|
||||
this.chkInheritance.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//txtFileName
|
||||
//
|
||||
this.txtFileName.Location = new System.Drawing.Point(15, 48);
|
||||
this.txtFileName.Name = "txtFileName";
|
||||
this.txtFileName.Size = new System.Drawing.Size(396, 20);
|
||||
this.txtFileName.TabIndex = 1;
|
||||
//
|
||||
//btnBrowse
|
||||
//
|
||||
this.btnBrowse.Location = new System.Drawing.Point(417, 46);
|
||||
this.btnBrowse.Name = "btnBrowse";
|
||||
this.btnBrowse.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnBrowse.TabIndex = 2;
|
||||
this.btnBrowse.Text = "&Browse";
|
||||
this.btnBrowse.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//grpProperties
|
||||
//
|
||||
this.grpProperties.Controls.Add(this.lblUncheckProperties);
|
||||
this.grpProperties.Controls.Add(this.chkInheritance);
|
||||
this.grpProperties.Controls.Add(this.chkUsername);
|
||||
this.grpProperties.Controls.Add(this.chkDomain);
|
||||
this.grpProperties.Controls.Add(this.chkPassword);
|
||||
this.grpProperties.Location = new System.Drawing.Point(12, 304);
|
||||
this.grpProperties.Name = "grpProperties";
|
||||
this.grpProperties.Size = new System.Drawing.Size(510, 163);
|
||||
this.grpProperties.TabIndex = 1;
|
||||
this.grpProperties.TabStop = false;
|
||||
this.grpProperties.Text = "Export Properties";
|
||||
//
|
||||
//grpFile
|
||||
//
|
||||
this.grpFile.Controls.Add(this.lblFileFormat);
|
||||
this.grpFile.Controls.Add(this.lblFileName);
|
||||
this.grpFile.Controls.Add(this.cboFileFormat);
|
||||
this.grpFile.Controls.Add(this.txtFileName);
|
||||
this.grpFile.Controls.Add(this.btnBrowse);
|
||||
this.grpFile.Location = new System.Drawing.Point(12, 12);
|
||||
this.grpFile.Name = "grpFile";
|
||||
this.grpFile.Size = new System.Drawing.Size(510, 140);
|
||||
this.grpFile.TabIndex = 0;
|
||||
this.grpFile.TabStop = false;
|
||||
this.grpFile.Text = "Export File";
|
||||
//
|
||||
//lblFileFormat
|
||||
//
|
||||
this.lblFileFormat.AutoSize = true;
|
||||
this.lblFileFormat.Location = new System.Drawing.Point(12, 84);
|
||||
this.lblFileFormat.Name = "lblFileFormat";
|
||||
this.lblFileFormat.Size = new System.Drawing.Size(61, 13);
|
||||
this.lblFileFormat.TabIndex = 3;
|
||||
this.lblFileFormat.Text = "File &Format:";
|
||||
//
|
||||
//lblFileName
|
||||
//
|
||||
this.lblFileName.AutoSize = true;
|
||||
this.lblFileName.Location = new System.Drawing.Point(12, 32);
|
||||
this.lblFileName.Name = "lblFileName";
|
||||
this.lblFileName.Size = new System.Drawing.Size(52, 13);
|
||||
this.lblFileName.TabIndex = 0;
|
||||
this.lblFileName.Text = "Filename:";
|
||||
//
|
||||
//cboFileFormat
|
||||
//
|
||||
this.cboFileFormat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cboFileFormat.FormattingEnabled = true;
|
||||
this.cboFileFormat.Location = new System.Drawing.Point(15, 100);
|
||||
this.cboFileFormat.Name = "cboFileFormat";
|
||||
this.cboFileFormat.Size = new System.Drawing.Size(294, 21);
|
||||
this.cboFileFormat.TabIndex = 4;
|
||||
//
|
||||
//grpItems
|
||||
//
|
||||
this.grpItems.Controls.Add(this.lblSelectedConnection);
|
||||
this.grpItems.Controls.Add(this.lblSelectedFolder);
|
||||
this.grpItems.Controls.Add(this.rdoExportSelectedConnection);
|
||||
this.grpItems.Controls.Add(this.rdoExportSelectedFolder);
|
||||
this.grpItems.Controls.Add(this.rdoExportEverything);
|
||||
this.grpItems.Location = new System.Drawing.Point(12, 158);
|
||||
this.grpItems.Name = "grpItems";
|
||||
this.grpItems.Size = new System.Drawing.Size(510, 140);
|
||||
this.grpItems.TabIndex = 4;
|
||||
this.grpItems.TabStop = false;
|
||||
this.grpItems.Text = "Export Items";
|
||||
//
|
||||
//lblSelectedConnection
|
||||
//
|
||||
this.lblSelectedConnection.AutoSize = true;
|
||||
this.lblSelectedConnection.Location = new System.Drawing.Point(48, 111);
|
||||
this.lblSelectedConnection.Name = "lblSelectedConnection";
|
||||
this.lblSelectedConnection.Size = new System.Drawing.Size(92, 13);
|
||||
this.lblSelectedConnection.TabIndex = 4;
|
||||
this.lblSelectedConnection.Text = "Connection Name";
|
||||
//
|
||||
//lblSelectedFolder
|
||||
//
|
||||
this.lblSelectedFolder.AutoSize = true;
|
||||
this.lblSelectedFolder.Location = new System.Drawing.Point(48, 75);
|
||||
this.lblSelectedFolder.Name = "lblSelectedFolder";
|
||||
this.lblSelectedFolder.Size = new System.Drawing.Size(67, 13);
|
||||
this.lblSelectedFolder.TabIndex = 3;
|
||||
this.lblSelectedFolder.Text = "Folder Name";
|
||||
//
|
||||
//rdoExportSelectedConnection
|
||||
//
|
||||
this.rdoExportSelectedConnection.AutoSize = true;
|
||||
this.rdoExportSelectedConnection.Location = new System.Drawing.Point(15, 91);
|
||||
this.rdoExportSelectedConnection.Name = "rdoExportSelectedConnection";
|
||||
this.rdoExportSelectedConnection.Size = new System.Drawing.Size(215, 17);
|
||||
this.rdoExportSelectedConnection.TabIndex = 2;
|
||||
this.rdoExportSelectedConnection.TabStop = true;
|
||||
this.rdoExportSelectedConnection.Text = "Export the currently selected connection";
|
||||
this.rdoExportSelectedConnection.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//rdoExportSelectedFolder
|
||||
//
|
||||
this.rdoExportSelectedFolder.AutoSize = true;
|
||||
this.rdoExportSelectedFolder.Location = new System.Drawing.Point(15, 55);
|
||||
this.rdoExportSelectedFolder.Name = "rdoExportSelectedFolder";
|
||||
this.rdoExportSelectedFolder.Size = new System.Drawing.Size(188, 17);
|
||||
this.rdoExportSelectedFolder.TabIndex = 1;
|
||||
this.rdoExportSelectedFolder.TabStop = true;
|
||||
this.rdoExportSelectedFolder.Text = "Export the currently selected folder";
|
||||
this.rdoExportSelectedFolder.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//rdoExportEverything
|
||||
//
|
||||
this.rdoExportEverything.AutoSize = true;
|
||||
this.rdoExportEverything.Checked = true;
|
||||
this.rdoExportEverything.Location = new System.Drawing.Point(15, 32);
|
||||
this.rdoExportEverything.Name = "rdoExportEverything";
|
||||
this.rdoExportEverything.Size = new System.Drawing.Size(107, 17);
|
||||
this.rdoExportEverything.TabIndex = 0;
|
||||
this.rdoExportEverything.TabStop = true;
|
||||
this.rdoExportEverything.Text = "Export everything";
|
||||
this.rdoExportEverything.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//ExportForm
|
||||
//
|
||||
this.AcceptButton = this.btnOK;
|
||||
this.CancelButton = this.btnCancel;
|
||||
this.ClientSize = new System.Drawing.Size(534, 508);
|
||||
this.Controls.Add(this.grpItems);
|
||||
this.Controls.Add(this.grpFile);
|
||||
this.Controls.Add(this.grpProperties);
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.Controls.Add(this.btnOK);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Icon = Resources.Connections_SaveAs_Icon;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "ExportForm";
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Export Connections";
|
||||
this.grpProperties.ResumeLayout(false);
|
||||
this.grpProperties.PerformLayout();
|
||||
this.grpFile.ResumeLayout(false);
|
||||
this.grpFile.PerformLayout();
|
||||
this.grpItems.ResumeLayout(false);
|
||||
this.grpItems.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.btnOK = new System.Windows.Forms.Button();
|
||||
this.lblUncheckProperties = new System.Windows.Forms.Label();
|
||||
this.chkUsername = new System.Windows.Forms.CheckBox();
|
||||
this.chkPassword = new System.Windows.Forms.CheckBox();
|
||||
this.chkDomain = new System.Windows.Forms.CheckBox();
|
||||
this.chkInheritance = new System.Windows.Forms.CheckBox();
|
||||
this.txtFileName = new System.Windows.Forms.TextBox();
|
||||
this.btnBrowse = new System.Windows.Forms.Button();
|
||||
this.grpProperties = new System.Windows.Forms.GroupBox();
|
||||
this.grpFile = new System.Windows.Forms.GroupBox();
|
||||
this.lblFileFormat = new System.Windows.Forms.Label();
|
||||
this.lblFileName = new System.Windows.Forms.Label();
|
||||
this.cboFileFormat = new System.Windows.Forms.ComboBox();
|
||||
this.grpItems = new System.Windows.Forms.GroupBox();
|
||||
this.lblSelectedConnection = new System.Windows.Forms.Label();
|
||||
this.lblSelectedFolder = new System.Windows.Forms.Label();
|
||||
this.rdoExportSelectedConnection = new System.Windows.Forms.RadioButton();
|
||||
this.rdoExportSelectedFolder = new System.Windows.Forms.RadioButton();
|
||||
this.rdoExportEverything = new System.Windows.Forms.RadioButton();
|
||||
this.grpProperties.SuspendLayout();
|
||||
this.grpFile.SuspendLayout();
|
||||
this.grpItems.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// btnCancel
|
||||
//
|
||||
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.btnCancel.Location = new System.Drawing.Point(447, 473);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnCancel.TabIndex = 3;
|
||||
this.btnCancel.Text = "&Cancel";
|
||||
this.btnCancel.UseVisualStyleBackColor = true;
|
||||
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
|
||||
//
|
||||
// btnOK
|
||||
//
|
||||
this.btnOK.Location = new System.Drawing.Point(366, 473);
|
||||
this.btnOK.Name = "btnOK";
|
||||
this.btnOK.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnOK.TabIndex = 2;
|
||||
this.btnOK.Text = "&OK";
|
||||
this.btnOK.UseVisualStyleBackColor = true;
|
||||
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
|
||||
//
|
||||
// lblUncheckProperties
|
||||
//
|
||||
this.lblUncheckProperties.AutoSize = true;
|
||||
this.lblUncheckProperties.Location = new System.Drawing.Point(12, 134);
|
||||
this.lblUncheckProperties.Name = "lblUncheckProperties";
|
||||
this.lblUncheckProperties.Size = new System.Drawing.Size(244, 13);
|
||||
this.lblUncheckProperties.TabIndex = 4;
|
||||
this.lblUncheckProperties.Text = "Uncheck the properties you want not to be saved!";
|
||||
//
|
||||
// chkUsername
|
||||
//
|
||||
this.chkUsername.AutoSize = true;
|
||||
this.chkUsername.Checked = true;
|
||||
this.chkUsername.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkUsername.Location = new System.Drawing.Point(15, 32);
|
||||
this.chkUsername.Name = "chkUsername";
|
||||
this.chkUsername.Size = new System.Drawing.Size(74, 17);
|
||||
this.chkUsername.TabIndex = 0;
|
||||
this.chkUsername.Text = "Username";
|
||||
this.chkUsername.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chkPassword
|
||||
//
|
||||
this.chkPassword.AutoSize = true;
|
||||
this.chkPassword.Checked = true;
|
||||
this.chkPassword.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkPassword.Location = new System.Drawing.Point(15, 55);
|
||||
this.chkPassword.Name = "chkPassword";
|
||||
this.chkPassword.Size = new System.Drawing.Size(72, 17);
|
||||
this.chkPassword.TabIndex = 1;
|
||||
this.chkPassword.Text = "Password";
|
||||
this.chkPassword.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chkDomain
|
||||
//
|
||||
this.chkDomain.AutoSize = true;
|
||||
this.chkDomain.Checked = true;
|
||||
this.chkDomain.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkDomain.Location = new System.Drawing.Point(15, 78);
|
||||
this.chkDomain.Name = "chkDomain";
|
||||
this.chkDomain.Size = new System.Drawing.Size(62, 17);
|
||||
this.chkDomain.TabIndex = 2;
|
||||
this.chkDomain.Text = "Domain";
|
||||
this.chkDomain.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chkInheritance
|
||||
//
|
||||
this.chkInheritance.AutoSize = true;
|
||||
this.chkInheritance.Checked = true;
|
||||
this.chkInheritance.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkInheritance.Location = new System.Drawing.Point(15, 101);
|
||||
this.chkInheritance.Name = "chkInheritance";
|
||||
this.chkInheritance.Size = new System.Drawing.Size(79, 17);
|
||||
this.chkInheritance.TabIndex = 3;
|
||||
this.chkInheritance.Text = "Inheritance";
|
||||
this.chkInheritance.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// txtFileName
|
||||
//
|
||||
this.txtFileName.Location = new System.Drawing.Point(15, 48);
|
||||
this.txtFileName.Name = "txtFileName";
|
||||
this.txtFileName.Size = new System.Drawing.Size(396, 20);
|
||||
this.txtFileName.TabIndex = 1;
|
||||
this.txtFileName.TextChanged += new System.EventHandler(this.txtFileName_TextChanged);
|
||||
//
|
||||
// btnBrowse
|
||||
//
|
||||
this.btnBrowse.Location = new System.Drawing.Point(417, 46);
|
||||
this.btnBrowse.Name = "btnBrowse";
|
||||
this.btnBrowse.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnBrowse.TabIndex = 2;
|
||||
this.btnBrowse.Text = "&Browse";
|
||||
this.btnBrowse.UseVisualStyleBackColor = true;
|
||||
this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click);
|
||||
//
|
||||
// grpProperties
|
||||
//
|
||||
this.grpProperties.Controls.Add(this.lblUncheckProperties);
|
||||
this.grpProperties.Controls.Add(this.chkInheritance);
|
||||
this.grpProperties.Controls.Add(this.chkUsername);
|
||||
this.grpProperties.Controls.Add(this.chkDomain);
|
||||
this.grpProperties.Controls.Add(this.chkPassword);
|
||||
this.grpProperties.Location = new System.Drawing.Point(12, 304);
|
||||
this.grpProperties.Name = "grpProperties";
|
||||
this.grpProperties.Size = new System.Drawing.Size(510, 163);
|
||||
this.grpProperties.TabIndex = 1;
|
||||
this.grpProperties.TabStop = false;
|
||||
this.grpProperties.Text = "Export Properties";
|
||||
//
|
||||
// grpFile
|
||||
//
|
||||
this.grpFile.Controls.Add(this.lblFileFormat);
|
||||
this.grpFile.Controls.Add(this.lblFileName);
|
||||
this.grpFile.Controls.Add(this.cboFileFormat);
|
||||
this.grpFile.Controls.Add(this.txtFileName);
|
||||
this.grpFile.Controls.Add(this.btnBrowse);
|
||||
this.grpFile.Location = new System.Drawing.Point(12, 12);
|
||||
this.grpFile.Name = "grpFile";
|
||||
this.grpFile.Size = new System.Drawing.Size(510, 140);
|
||||
this.grpFile.TabIndex = 0;
|
||||
this.grpFile.TabStop = false;
|
||||
this.grpFile.Text = "Export File";
|
||||
//
|
||||
// lblFileFormat
|
||||
//
|
||||
this.lblFileFormat.AutoSize = true;
|
||||
this.lblFileFormat.Location = new System.Drawing.Point(12, 80);
|
||||
this.lblFileFormat.Name = "lblFileFormat";
|
||||
this.lblFileFormat.Size = new System.Drawing.Size(61, 13);
|
||||
this.lblFileFormat.TabIndex = 3;
|
||||
this.lblFileFormat.Text = "File &Format:";
|
||||
//
|
||||
// lblFileName
|
||||
//
|
||||
this.lblFileName.AutoSize = true;
|
||||
this.lblFileName.Location = new System.Drawing.Point(12, 28);
|
||||
this.lblFileName.Name = "lblFileName";
|
||||
this.lblFileName.Size = new System.Drawing.Size(52, 13);
|
||||
this.lblFileName.TabIndex = 0;
|
||||
this.lblFileName.Text = "Filename:";
|
||||
//
|
||||
// cboFileFormat
|
||||
//
|
||||
this.cboFileFormat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cboFileFormat.FormattingEnabled = true;
|
||||
this.cboFileFormat.Location = new System.Drawing.Point(15, 100);
|
||||
this.cboFileFormat.Name = "cboFileFormat";
|
||||
this.cboFileFormat.Size = new System.Drawing.Size(294, 21);
|
||||
this.cboFileFormat.TabIndex = 4;
|
||||
//
|
||||
// grpItems
|
||||
//
|
||||
this.grpItems.Controls.Add(this.lblSelectedConnection);
|
||||
this.grpItems.Controls.Add(this.lblSelectedFolder);
|
||||
this.grpItems.Controls.Add(this.rdoExportSelectedConnection);
|
||||
this.grpItems.Controls.Add(this.rdoExportSelectedFolder);
|
||||
this.grpItems.Controls.Add(this.rdoExportEverything);
|
||||
this.grpItems.Location = new System.Drawing.Point(12, 158);
|
||||
this.grpItems.Name = "grpItems";
|
||||
this.grpItems.Size = new System.Drawing.Size(510, 140);
|
||||
this.grpItems.TabIndex = 4;
|
||||
this.grpItems.TabStop = false;
|
||||
this.grpItems.Text = "Export Items";
|
||||
//
|
||||
// lblSelectedConnection
|
||||
//
|
||||
this.lblSelectedConnection.AutoSize = true;
|
||||
this.lblSelectedConnection.Location = new System.Drawing.Point(48, 111);
|
||||
this.lblSelectedConnection.Name = "lblSelectedConnection";
|
||||
this.lblSelectedConnection.Size = new System.Drawing.Size(92, 13);
|
||||
this.lblSelectedConnection.TabIndex = 4;
|
||||
this.lblSelectedConnection.Text = "Connection Name";
|
||||
//
|
||||
// lblSelectedFolder
|
||||
//
|
||||
this.lblSelectedFolder.AutoSize = true;
|
||||
this.lblSelectedFolder.Location = new System.Drawing.Point(48, 75);
|
||||
this.lblSelectedFolder.Name = "lblSelectedFolder";
|
||||
this.lblSelectedFolder.Size = new System.Drawing.Size(67, 13);
|
||||
this.lblSelectedFolder.TabIndex = 3;
|
||||
this.lblSelectedFolder.Text = "Folder Name";
|
||||
//
|
||||
// rdoExportSelectedConnection
|
||||
//
|
||||
this.rdoExportSelectedConnection.AutoSize = true;
|
||||
this.rdoExportSelectedConnection.Location = new System.Drawing.Point(15, 91);
|
||||
this.rdoExportSelectedConnection.Name = "rdoExportSelectedConnection";
|
||||
this.rdoExportSelectedConnection.Size = new System.Drawing.Size(215, 17);
|
||||
this.rdoExportSelectedConnection.TabIndex = 2;
|
||||
this.rdoExportSelectedConnection.TabStop = true;
|
||||
this.rdoExportSelectedConnection.Text = "Export the currently selected connection";
|
||||
this.rdoExportSelectedConnection.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// rdoExportSelectedFolder
|
||||
//
|
||||
this.rdoExportSelectedFolder.AutoSize = true;
|
||||
this.rdoExportSelectedFolder.Location = new System.Drawing.Point(15, 55);
|
||||
this.rdoExportSelectedFolder.Name = "rdoExportSelectedFolder";
|
||||
this.rdoExportSelectedFolder.Size = new System.Drawing.Size(188, 17);
|
||||
this.rdoExportSelectedFolder.TabIndex = 1;
|
||||
this.rdoExportSelectedFolder.TabStop = true;
|
||||
this.rdoExportSelectedFolder.Text = "Export the currently selected folder";
|
||||
this.rdoExportSelectedFolder.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// rdoExportEverything
|
||||
//
|
||||
this.rdoExportEverything.AutoSize = true;
|
||||
this.rdoExportEverything.Checked = true;
|
||||
this.rdoExportEverything.Location = new System.Drawing.Point(15, 32);
|
||||
this.rdoExportEverything.Name = "rdoExportEverything";
|
||||
this.rdoExportEverything.Size = new System.Drawing.Size(107, 17);
|
||||
this.rdoExportEverything.TabIndex = 0;
|
||||
this.rdoExportEverything.TabStop = true;
|
||||
this.rdoExportEverything.Text = "Export everything";
|
||||
this.rdoExportEverything.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// ExportForm
|
||||
//
|
||||
this.AcceptButton = this.btnOK;
|
||||
this.CancelButton = this.btnCancel;
|
||||
this.ClientSize = new System.Drawing.Size(534, 508);
|
||||
this.Controls.Add(this.grpItems);
|
||||
this.Controls.Add(this.grpFile);
|
||||
this.Controls.Add(this.grpProperties);
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.Controls.Add(this.btnOK);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Icon = global::mRemoteNG.Resources.Connections_SaveAs_Icon;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "ExportForm";
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Export Connections";
|
||||
this.Load += new System.EventHandler(this.ExportForm_Load);
|
||||
this.grpProperties.ResumeLayout(false);
|
||||
this.grpProperties.PerformLayout();
|
||||
this.grpFile.ResumeLayout(false);
|
||||
this.grpFile.PerformLayout();
|
||||
this.grpItems.ResumeLayout(false);
|
||||
this.grpItems.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
private System.Windows.Forms.Button btnOK;
|
||||
|
||||
@@ -112,9 +112,9 @@
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -2,12 +2,11 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
using mRemoteNG.App;
|
||||
using mRemoteNG.My;
|
||||
using mRemoteNG.UI.Forms.OptionsPages;
|
||||
|
||||
namespace mRemoteNG.UI.Forms
|
||||
{
|
||||
public partial class OptionsForm
|
||||
public partial class OptionsForm
|
||||
{
|
||||
private Dictionary<OptionsPage, PageInfo> _pages;
|
||||
private ImageList _pageIconImageList;
|
||||
@@ -37,7 +36,6 @@ namespace mRemoteNG.UI.Forms
|
||||
_pages.Add(new SqlServerPage(), new PageInfo());
|
||||
_pages.Add(new UpdatesPage(), new PageInfo());
|
||||
_pages.Add(new ThemePage(), new PageInfo());
|
||||
_pages.Add(new KeyboardPage(), new PageInfo());
|
||||
_pages.Add(new AdvancedPage(), new PageInfo());
|
||||
}
|
||||
|
||||
|
||||
204
mRemoteV1/UI/Forms/OptionsPages/KeyboardPage.Designer.cs
generated
204
mRemoteV1/UI/Forms/OptionsPages/KeyboardPage.Designer.cs
generated
@@ -1,204 +0,0 @@
|
||||
|
||||
|
||||
namespace mRemoteNG.UI.Forms.OptionsPages
|
||||
{
|
||||
[global::Microsoft.VisualBasic.CompilerServices.DesignerGenerated()]
|
||||
public partial class KeyboardPage : OptionsPage
|
||||
{
|
||||
|
||||
//UserControl overrides dispose to clean up the component list.
|
||||
[System.Diagnostics.DebuggerNonUserCode()]protected override void Dispose(bool disposing)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (disposing && components != null)
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
}
|
||||
|
||||
//Required by the Windows Form Designer
|
||||
private System.ComponentModel.Container components = null;
|
||||
|
||||
//NOTE: The following procedure is required by the Windows Form Designer
|
||||
//It can be modified using the Windows Form Designer.
|
||||
//Do not modify it using the code editor.
|
||||
[System.Diagnostics.DebuggerStepThrough()]private void InitializeComponent()
|
||||
{
|
||||
System.Windows.Forms.GroupBox LineGroupBox = default(System.Windows.Forms.GroupBox);
|
||||
mRemoteNG.Controls.Alignment Alignment1 = new mRemoteNG.Controls.Alignment();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(KeyboardPage));
|
||||
this.btnDeleteKeyboardShortcut = new System.Windows.Forms.Button();
|
||||
this.btnDeleteKeyboardShortcut.Click += new System.EventHandler(this.btnDeleteKeyboardShortcut_Click);
|
||||
this.btnNewKeyboardShortcut = new System.Windows.Forms.Button();
|
||||
this.btnNewKeyboardShortcut.Click += new System.EventHandler(this.btnNewKeyboardShortcut_Click);
|
||||
this.grpModifyKeyboardShortcut = new System.Windows.Forms.GroupBox();
|
||||
this.hotModifyKeyboardShortcut = new SharedLibraryNG.HotkeyControl();
|
||||
this.hotModifyKeyboardShortcut.TextChanged += new System.EventHandler(this.hotModifyKeyboardShortcut_TextChanged);
|
||||
this.btnResetAllKeyboardShortcuts = new System.Windows.Forms.Button();
|
||||
this.btnResetAllKeyboardShortcuts.Click += new System.EventHandler(this.btnResetAllKeyboardShortcuts_Click);
|
||||
this.btnResetKeyboardShortcuts = new System.Windows.Forms.Button();
|
||||
this.btnResetKeyboardShortcuts.Click += new System.EventHandler(this.btnResetKeyboardShortcuts_Click);
|
||||
this.lblKeyboardCommand = new System.Windows.Forms.Label();
|
||||
this.lstKeyboardShortcuts = new System.Windows.Forms.ListBox();
|
||||
this.lstKeyboardShortcuts.SelectedIndexChanged += new System.EventHandler(this.lstKeyboardShortcuts_SelectedIndexChanged);
|
||||
this.lblKeyboardShortcuts = new System.Windows.Forms.Label();
|
||||
this.lvKeyboardCommands = new mRemoteNG.Controls.ListView();
|
||||
this.lvKeyboardCommands.SelectedIndexChanged += new System.EventHandler(this.lvKeyboardCommands_SelectedIndexChanged);
|
||||
LineGroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.grpModifyKeyboardShortcut.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
//LineGroupBox
|
||||
//
|
||||
LineGroupBox.Location = new System.Drawing.Point(212, 20);
|
||||
LineGroupBox.Name = "LineGroupBox";
|
||||
LineGroupBox.Size = new System.Drawing.Size(398, 3);
|
||||
LineGroupBox.TabIndex = 19;
|
||||
LineGroupBox.TabStop = false;
|
||||
//
|
||||
//btnDeleteKeyboardShortcut
|
||||
//
|
||||
this.btnDeleteKeyboardShortcut.Location = new System.Drawing.Point(293, 151);
|
||||
this.btnDeleteKeyboardShortcut.Name = "btnDeleteKeyboardShortcut";
|
||||
this.btnDeleteKeyboardShortcut.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnDeleteKeyboardShortcut.TabIndex = 15;
|
||||
this.btnDeleteKeyboardShortcut.Text = "&Delete";
|
||||
this.btnDeleteKeyboardShortcut.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//btnNewKeyboardShortcut
|
||||
//
|
||||
this.btnNewKeyboardShortcut.Location = new System.Drawing.Point(212, 151);
|
||||
this.btnNewKeyboardShortcut.Name = "btnNewKeyboardShortcut";
|
||||
this.btnNewKeyboardShortcut.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnNewKeyboardShortcut.TabIndex = 14;
|
||||
this.btnNewKeyboardShortcut.Text = "&New";
|
||||
this.btnNewKeyboardShortcut.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//grpModifyKeyboardShortcut
|
||||
//
|
||||
this.grpModifyKeyboardShortcut.Controls.Add(this.hotModifyKeyboardShortcut);
|
||||
this.grpModifyKeyboardShortcut.Location = new System.Drawing.Point(212, 180);
|
||||
this.grpModifyKeyboardShortcut.Name = "grpModifyKeyboardShortcut";
|
||||
this.grpModifyKeyboardShortcut.Size = new System.Drawing.Size(398, 103);
|
||||
this.grpModifyKeyboardShortcut.TabIndex = 17;
|
||||
this.grpModifyKeyboardShortcut.TabStop = false;
|
||||
this.grpModifyKeyboardShortcut.Text = "Modify Shortcut";
|
||||
//
|
||||
//hotModifyKeyboardShortcut
|
||||
//
|
||||
this.hotModifyKeyboardShortcut.HotkeyModifiers = System.Windows.Forms.Keys.None;
|
||||
this.hotModifyKeyboardShortcut.KeyCode = System.Windows.Forms.Keys.None;
|
||||
this.hotModifyKeyboardShortcut.Location = new System.Drawing.Point(27, 41);
|
||||
this.hotModifyKeyboardShortcut.Name = "hotModifyKeyboardShortcut";
|
||||
this.hotModifyKeyboardShortcut.Size = new System.Drawing.Size(344, 20);
|
||||
this.hotModifyKeyboardShortcut.TabIndex = 0;
|
||||
this.hotModifyKeyboardShortcut.Text = "None";
|
||||
//
|
||||
//btnResetAllKeyboardShortcuts
|
||||
//
|
||||
this.btnResetAllKeyboardShortcuts.Location = new System.Drawing.Point(3, 466);
|
||||
this.btnResetAllKeyboardShortcuts.Name = "btnResetAllKeyboardShortcuts";
|
||||
this.btnResetAllKeyboardShortcuts.Size = new System.Drawing.Size(120, 23);
|
||||
this.btnResetAllKeyboardShortcuts.TabIndex = 18;
|
||||
this.btnResetAllKeyboardShortcuts.Text = "Reset &All to Default";
|
||||
this.btnResetAllKeyboardShortcuts.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//btnResetKeyboardShortcuts
|
||||
//
|
||||
this.btnResetKeyboardShortcuts.Location = new System.Drawing.Point(490, 151);
|
||||
this.btnResetKeyboardShortcuts.Name = "btnResetKeyboardShortcuts";
|
||||
this.btnResetKeyboardShortcuts.Size = new System.Drawing.Size(120, 23);
|
||||
this.btnResetKeyboardShortcuts.TabIndex = 16;
|
||||
this.btnResetKeyboardShortcuts.Text = "&Reset to Default";
|
||||
this.btnResetKeyboardShortcuts.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//lblKeyboardCommand
|
||||
//
|
||||
this.lblKeyboardCommand.AutoSize = true;
|
||||
this.lblKeyboardCommand.Font = new System.Drawing.Font("Microsoft Sans Serif", (float) (10.0F), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, System.Convert.ToByte(0));
|
||||
this.lblKeyboardCommand.Location = new System.Drawing.Point(209, 0);
|
||||
this.lblKeyboardCommand.Name = "lblKeyboardCommand";
|
||||
this.lblKeyboardCommand.Size = new System.Drawing.Size(71, 17);
|
||||
this.lblKeyboardCommand.TabIndex = 11;
|
||||
this.lblKeyboardCommand.Text = "Command";
|
||||
//
|
||||
//lstKeyboardShortcuts
|
||||
//
|
||||
this.lstKeyboardShortcuts.FormattingEnabled = true;
|
||||
this.lstKeyboardShortcuts.Location = new System.Drawing.Point(212, 50);
|
||||
this.lstKeyboardShortcuts.Name = "lstKeyboardShortcuts";
|
||||
this.lstKeyboardShortcuts.Size = new System.Drawing.Size(398, 95);
|
||||
this.lstKeyboardShortcuts.TabIndex = 13;
|
||||
//
|
||||
//lblKeyboardShortcuts
|
||||
//
|
||||
this.lblKeyboardShortcuts.AutoSize = true;
|
||||
this.lblKeyboardShortcuts.Location = new System.Drawing.Point(209, 34);
|
||||
this.lblKeyboardShortcuts.Name = "lblKeyboardShortcuts";
|
||||
this.lblKeyboardShortcuts.Size = new System.Drawing.Size(100, 13);
|
||||
this.lblKeyboardShortcuts.TabIndex = 12;
|
||||
this.lblKeyboardShortcuts.Text = "Keyboard Shortcuts";
|
||||
//
|
||||
//lvKeyboardCommands
|
||||
//
|
||||
this.lvKeyboardCommands.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
||||
this.lvKeyboardCommands.HideSelection = false;
|
||||
this.lvKeyboardCommands.InactiveHighlightBackColor = System.Drawing.SystemColors.Highlight;
|
||||
this.lvKeyboardCommands.InactiveHighlightBorderColor = System.Drawing.SystemColors.HotTrack;
|
||||
this.lvKeyboardCommands.InactiveHighlightForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
Alignment1.Horizontal = mRemoteNG.Controls.HorizontalAlignment.Left;
|
||||
Alignment1.Vertical = mRemoteNG.Controls.VerticalAlignment.Middle;
|
||||
this.lvKeyboardCommands.LabelAlignment = Alignment1;
|
||||
this.lvKeyboardCommands.LabelWrap = false;
|
||||
this.lvKeyboardCommands.Location = new System.Drawing.Point(3, 0);
|
||||
this.lvKeyboardCommands.MultiSelect = false;
|
||||
this.lvKeyboardCommands.Name = "lvKeyboardCommands";
|
||||
this.lvKeyboardCommands.OwnerDraw = true;
|
||||
this.lvKeyboardCommands.Size = new System.Drawing.Size(200, 460);
|
||||
this.lvKeyboardCommands.TabIndex = 10;
|
||||
this.lvKeyboardCommands.TileSize = new System.Drawing.Size(196, 20);
|
||||
this.lvKeyboardCommands.UseCompatibleStateImageBehavior = false;
|
||||
this.lvKeyboardCommands.View = System.Windows.Forms.View.Tile;
|
||||
//
|
||||
//KeyboardPage
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF((float) (6.0F), (float) (13.0F));
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(LineGroupBox);
|
||||
this.Controls.Add(this.btnDeleteKeyboardShortcut);
|
||||
this.Controls.Add(this.btnNewKeyboardShortcut);
|
||||
this.Controls.Add(this.grpModifyKeyboardShortcut);
|
||||
this.Controls.Add(this.btnResetAllKeyboardShortcuts);
|
||||
this.Controls.Add(this.btnResetKeyboardShortcuts);
|
||||
this.Controls.Add(this.lblKeyboardCommand);
|
||||
this.Controls.Add(this.lstKeyboardShortcuts);
|
||||
this.Controls.Add(this.lblKeyboardShortcuts);
|
||||
this.Controls.Add(this.lvKeyboardCommands);
|
||||
this.Name = "KeyboardPage";
|
||||
this.PageIcon = (System.Drawing.Icon) (resources.GetObject("$this.PageIcon"));
|
||||
this.Size = new System.Drawing.Size(610, 489);
|
||||
this.grpModifyKeyboardShortcut.ResumeLayout(false);
|
||||
this.grpModifyKeyboardShortcut.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
internal System.Windows.Forms.Button btnDeleteKeyboardShortcut;
|
||||
internal System.Windows.Forms.Button btnNewKeyboardShortcut;
|
||||
internal System.Windows.Forms.GroupBox grpModifyKeyboardShortcut;
|
||||
internal SharedLibraryNG.HotkeyControl hotModifyKeyboardShortcut;
|
||||
internal System.Windows.Forms.Button btnResetAllKeyboardShortcuts;
|
||||
internal System.Windows.Forms.Button btnResetKeyboardShortcuts;
|
||||
internal System.Windows.Forms.Label lblKeyboardCommand;
|
||||
internal System.Windows.Forms.ListBox lstKeyboardShortcuts;
|
||||
internal System.Windows.Forms.Label lblKeyboardShortcuts;
|
||||
internal mRemoteNG.Controls.ListView lvKeyboardCommands;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,251 +0,0 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using mRemoteNG.Config.KeyboardShortcuts;
|
||||
using mRemoteNG.My;
|
||||
|
||||
namespace mRemoteNG.UI.Forms.OptionsPages
|
||||
{
|
||||
public partial class KeyboardPage
|
||||
{
|
||||
private bool _ignoreKeyboardShortcutTextChanged;
|
||||
private KeyboardShortcutMap _keyboardShortcutMap;
|
||||
private ListViewItem _nextTabListViewItem;
|
||||
private ListViewItem _previousTabListViewItem;
|
||||
private ListViewGroup _tabsListViewGroup;
|
||||
|
||||
|
||||
public KeyboardPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public override string PageName
|
||||
{
|
||||
get { return Language.strOptionsTabKeyboard; }
|
||||
set { }
|
||||
}
|
||||
|
||||
public override void ApplyLanguage()
|
||||
{
|
||||
base.ApplyLanguage();
|
||||
|
||||
lblKeyboardShortcuts.Text = Language.strOptionsKeyboardLabelKeyboardShortcuts;
|
||||
btnNewKeyboardShortcut.Text = Language.strOptionsKeyboardButtonNew;
|
||||
btnDeleteKeyboardShortcut.Text = Language.strOptionsKeyboardButtonDelete;
|
||||
btnResetKeyboardShortcuts.Text = Language.strOptionsKeyboardButtonReset;
|
||||
grpModifyKeyboardShortcut.Text = Language.strOptionsKeyboardGroupModifyShortcut;
|
||||
btnResetAllKeyboardShortcuts.Text = Language.strOptionsKeyboardButtonResetAll;
|
||||
}
|
||||
|
||||
public override void LoadSettings()
|
||||
{
|
||||
_tabsListViewGroup = new ListViewGroup(Language.strOptionsKeyboardCommandsGroupTabs);
|
||||
_previousTabListViewItem = new ListViewItem(Language.strOptionsKeyboardCommandsPreviousTab,
|
||||
_tabsListViewGroup);
|
||||
_nextTabListViewItem = new ListViewItem(Language.strOptionsKeyboardCommandsNextTab, _tabsListViewGroup);
|
||||
|
||||
_keyboardShortcutMap = (KeyboardShortcutMap) KeyboardShortcuts.Map.Clone();
|
||||
|
||||
lvKeyboardCommands.Groups.Add(_tabsListViewGroup);
|
||||
lvKeyboardCommands.Items.Add(_previousTabListViewItem);
|
||||
lvKeyboardCommands.Items.Add(_nextTabListViewItem);
|
||||
_previousTabListViewItem.Selected = true;
|
||||
}
|
||||
|
||||
public override void SaveSettings()
|
||||
{
|
||||
base.SaveSettings();
|
||||
|
||||
if (_keyboardShortcutMap != null)
|
||||
{
|
||||
KeyboardShortcuts.Map = _keyboardShortcutMap;
|
||||
}
|
||||
}
|
||||
|
||||
#region Private Methods
|
||||
|
||||
#region Event Handlers
|
||||
|
||||
public void lvKeyboardCommands_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
var isItemSelected = lvKeyboardCommands.SelectedItems.Count == 1;
|
||||
EnableKeyboardShortcutControls(isItemSelected);
|
||||
|
||||
if (!isItemSelected)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var selectedItem = lvKeyboardCommands.SelectedItems[0];
|
||||
|
||||
lblKeyboardCommand.Text = selectedItem.Text;
|
||||
lstKeyboardShortcuts.Items.Clear();
|
||||
|
||||
lstKeyboardShortcuts.Items.AddRange(_keyboardShortcutMap.GetShortcutKeys(GetSelectedShortcutCommand()));
|
||||
|
||||
if (lstKeyboardShortcuts.Items.Count > 0)
|
||||
{
|
||||
lstKeyboardShortcuts.SelectedIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public void lstKeyboardShortcuts_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
var isItemSelected = lstKeyboardShortcuts.SelectedItems.Count == 1;
|
||||
|
||||
btnDeleteKeyboardShortcut.Enabled = isItemSelected;
|
||||
grpModifyKeyboardShortcut.Enabled = isItemSelected;
|
||||
hotModifyKeyboardShortcut.Enabled = isItemSelected;
|
||||
|
||||
if (!isItemSelected)
|
||||
{
|
||||
hotModifyKeyboardShortcut.Text = string.Empty;
|
||||
return;
|
||||
}
|
||||
|
||||
var selectedItem = lstKeyboardShortcuts.SelectedItems[0];
|
||||
var shortcutKey = selectedItem as ShortcutKey;
|
||||
if (shortcutKey == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//Keys keysValue = System.Windows.Forms.Keys.A;
|
||||
var keyCode = Keys.A;
|
||||
var modifiers = Keys.A;
|
||||
|
||||
_ignoreKeyboardShortcutTextChanged = true;
|
||||
hotModifyKeyboardShortcut.KeyCode = keyCode;
|
||||
hotModifyKeyboardShortcut.HotkeyModifiers = modifiers;
|
||||
_ignoreKeyboardShortcutTextChanged = false;
|
||||
}
|
||||
|
||||
public void btnNewKeyboardShortcut_Click(object sender, EventArgs e)
|
||||
{
|
||||
foreach (var item in lstKeyboardShortcuts.Items)
|
||||
{
|
||||
var shortcutKey = item as ShortcutKey;
|
||||
if (shortcutKey?.KeyCode == 0)
|
||||
{
|
||||
lstKeyboardShortcuts.SelectedItem = item;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
lstKeyboardShortcuts.SelectedIndex = lstKeyboardShortcuts.Items.Add(new ShortcutKey(Keys.None));
|
||||
hotModifyKeyboardShortcut.Focus();
|
||||
}
|
||||
|
||||
public void btnDeleteKeyboardShortcut_Click(object sender, EventArgs e)
|
||||
{
|
||||
var selectedIndex = lstKeyboardShortcuts.SelectedIndex;
|
||||
|
||||
var command = GetSelectedShortcutCommand();
|
||||
var key = lstKeyboardShortcuts.SelectedItem as ShortcutKey;
|
||||
if (command != ShortcutCommand.None & key != null)
|
||||
{
|
||||
_keyboardShortcutMap.Remove(GetSelectedShortcutCommand(), key);
|
||||
}
|
||||
|
||||
lstKeyboardShortcuts.Items.Remove(lstKeyboardShortcuts.SelectedItem);
|
||||
|
||||
if (selectedIndex >= lstKeyboardShortcuts.Items.Count)
|
||||
{
|
||||
selectedIndex = lstKeyboardShortcuts.Items.Count - 1;
|
||||
}
|
||||
lstKeyboardShortcuts.SelectedIndex = selectedIndex;
|
||||
}
|
||||
|
||||
public void btnResetAllKeyboardShortcuts_Click(object sender, EventArgs e)
|
||||
{
|
||||
_keyboardShortcutMap = (KeyboardShortcutMap) KeyboardShortcuts.DefaultMap.Clone();
|
||||
lvKeyboardCommands_SelectedIndexChanged(this, new EventArgs());
|
||||
}
|
||||
|
||||
public void btnResetKeyboardShortcuts_Click(object sender, EventArgs e)
|
||||
{
|
||||
var command = GetSelectedShortcutCommand();
|
||||
if (command == ShortcutCommand.None)
|
||||
{
|
||||
return;
|
||||
}
|
||||
_keyboardShortcutMap.SetShortcutKeys(command, KeyboardShortcuts.DefaultMap.GetShortcutKeys(command));
|
||||
lvKeyboardCommands_SelectedIndexChanged(this, new EventArgs());
|
||||
}
|
||||
|
||||
public void hotModifyKeyboardShortcut_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (_ignoreKeyboardShortcutTextChanged ||
|
||||
lstKeyboardShortcuts.SelectedIndex < 0 |
|
||||
lstKeyboardShortcuts.SelectedIndex >= lstKeyboardShortcuts.Items.Count)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var keysValue = Keys.A;
|
||||
|
||||
var hadFocus = hotModifyKeyboardShortcut.ContainsFocus;
|
||||
|
||||
var command = GetSelectedShortcutCommand();
|
||||
var newShortcutKey = new ShortcutKey(keysValue);
|
||||
|
||||
if (!(command == ShortcutCommand.None))
|
||||
{
|
||||
var oldShortcutKey = lstKeyboardShortcuts.SelectedItem as ShortcutKey;
|
||||
if (oldShortcutKey != null)
|
||||
{
|
||||
_keyboardShortcutMap.Remove(command, oldShortcutKey);
|
||||
}
|
||||
_keyboardShortcutMap.Add(command, newShortcutKey);
|
||||
}
|
||||
|
||||
lstKeyboardShortcuts.Items[lstKeyboardShortcuts.SelectedIndex] = newShortcutKey;
|
||||
|
||||
if (hadFocus)
|
||||
{
|
||||
hotModifyKeyboardShortcut.Focus();
|
||||
hotModifyKeyboardShortcut.Select(hotModifyKeyboardShortcut.TextLength, 0);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private ShortcutCommand GetSelectedShortcutCommand()
|
||||
{
|
||||
if (!(lvKeyboardCommands.SelectedItems.Count == 1))
|
||||
{
|
||||
return ShortcutCommand.None;
|
||||
}
|
||||
|
||||
var selectedItem = lvKeyboardCommands.SelectedItems[0];
|
||||
if (selectedItem == _previousTabListViewItem)
|
||||
{
|
||||
return ShortcutCommand.PreviousTab;
|
||||
}
|
||||
if (selectedItem == _nextTabListViewItem)
|
||||
{
|
||||
return ShortcutCommand.NextTab;
|
||||
}
|
||||
return ShortcutCommand.None;
|
||||
}
|
||||
|
||||
private void EnableKeyboardShortcutControls(bool enable = true)
|
||||
{
|
||||
lblKeyboardCommand.Visible = enable;
|
||||
lblKeyboardShortcuts.Enabled = enable;
|
||||
lstKeyboardShortcuts.Enabled = enable;
|
||||
btnNewKeyboardShortcut.Enabled = enable;
|
||||
btnResetKeyboardShortcuts.Enabled = enable;
|
||||
if (!enable)
|
||||
{
|
||||
btnDeleteKeyboardShortcut.Enabled = false;
|
||||
grpModifyKeyboardShortcut.Enabled = false;
|
||||
hotModifyKeyboardShortcut.Enabled = false;
|
||||
lstKeyboardShortcuts.Items.Clear();
|
||||
hotModifyKeyboardShortcut.Text = string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,148 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="LineGroupBox.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.PageIcon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AOrFpOvnwJ//47ya/+C3lf/dso//2a6K/9aphf/TpX//0KB7/82cdv/KmXL/yJZu/8aT
|
||||
a//EkGn/xJBo/8SQaOvuy6v/6NXI/+jUxf/n0sP/5dDB/+XOvv/jzLz/48q5/+LJt//hx7X/4MWz/9/E
|
||||
sf/fxLD/3sKv/97Crv/EkGj/8tCx/+rYzP/8/Pz/2rqk//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8
|
||||
/P/8/Pz/zKGC//z8/P/fw7D/xZJq//XUtv/s3ND/3sOv/92/q//bvaf/2bqj/9i3n//WtJz/1bGX/9Ou
|
||||
lP/Rq4//0KiM/8+miP/No4X/4MWz/8eVbv/42Lv/7d7U//z8/P/8/Pz/3sKu//z8/P/bvKb//Pz8/9i2
|
||||
nv/8/Pz/1bCX//z8/P/8/Pz//Pz8/+HItv/KmXL/+ty//+7g1v/jy7r/4sm4/+DGtP/fxLH/3sKt/9y/
|
||||
qv/avKb/2bmi/9e2nv/Ws5r/6dbK//z8/P/jy7r/zp13//zewf/v4tj//Pz8/+TMvP/8/Pz/4cm3//z8
|
||||
/P/fw7D//Pz8/9y+qf/8/Pz/2bih//z8/P/38/D/5c6+/9Giff/83sH/7+LY/+/i2P/v4tj/7uHX/+7g
|
||||
1v/u39T/7d3S/+zc0f/r2s7/6tjM/+rXyv/o1cf/59PF/+fRwv/VqIP//N7B4/zewf+7ubb/s7Gu//rb
|
||||
vv/42Lv/9tW3//PSs//wzq7/7cmq/+rFpP/nwJ//47ya/+C3lf/dso//2a6K4////wD///8AxMTE/by8
|
||||
vLSzs7MQ////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ANDQ
|
||||
0PjJycn4wsLCZ////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wDZ2dln1NTU9s/Pz+/IyMjlwMDA2Le3t8Ourq6TpKSkfZubm26RkZFJh4eHBP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A//+sQf//rEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEHH/6xBx/+sQcAH
|
||||
rEH//6xB//+sQQ==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -2,30 +2,26 @@ using System;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using mRemoteNG.App;
|
||||
using mRemoteNG.Config;
|
||||
using mRemoteNG.Config.KeyboardShortcuts;
|
||||
using mRemoteNG.Config.Settings;
|
||||
using mRemoteNG.Connection;
|
||||
using mRemoteNG.Connection.Protocol;
|
||||
using mRemoteNG.Controls;
|
||||
using mRemoteNG.Messages;
|
||||
using mRemoteNG.My;
|
||||
using mRemoteNG.Themes;
|
||||
using mRemoteNG.Tools;
|
||||
using mRemoteNG.Tree;
|
||||
using mRemoteNG.UI.Window;
|
||||
using PSTaskDialog;
|
||||
using SharedLibraryNG;
|
||||
using WeifenLuo.WinFormsUI.Docking;
|
||||
|
||||
namespace mRemoteNG.UI.Forms
|
||||
{
|
||||
public partial class frmMain
|
||||
public partial class frmMain
|
||||
{
|
||||
#region Private Variables
|
||||
private static clipboardchangeEventHandler clipboardchangeEvent;
|
||||
@@ -204,7 +200,6 @@ namespace mRemoteNG.UI.Forms
|
||||
AddSysMenuItems();
|
||||
Microsoft.Win32.SystemEvents.DisplaySettingsChanged += DisplayChanged;
|
||||
Opacity = 1;
|
||||
KeyboardShortcuts.RequestKeyNotifications(Handle);
|
||||
}
|
||||
|
||||
private void ApplySpecialSettingsForPortableVersion()
|
||||
@@ -1112,22 +1107,6 @@ namespace mRemoteNG.UI.Forms
|
||||
Native.SendMessage(fpChainedWindowHandle, m.Msg, m.LParam.ToInt32(), m.WParam.ToInt32());
|
||||
fpChainedWindowHandle = m.LParam;
|
||||
}
|
||||
else if (m.Msg == KeyboardHook.HookKeyMsg)
|
||||
{
|
||||
if (m.WParam.ToInt32() != Win32.WM_KEYDOWN)
|
||||
{
|
||||
}
|
||||
|
||||
switch (KeyboardShortcuts.CommandFromHookKeyMessage(m))
|
||||
{
|
||||
case ShortcutCommand.PreviousTab:
|
||||
SelectTabRelative(-1);
|
||||
break;
|
||||
case ShortcutCommand.NextTab:
|
||||
SelectTabRelative(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
@@ -1,14 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using mRemoteNG.App;
|
||||
using mRemoteNG.My;
|
||||
using mRemoteNG.UI.Forms.OptionsPages;
|
||||
|
||||
namespace mRemoteNG.UI.Forms
|
||||
@@ -67,7 +62,6 @@ namespace mRemoteNG.UI.Forms
|
||||
_pages.Add(typeof(SqlServerPage).Name, new SqlServerPage());
|
||||
_pages.Add(typeof(UpdatesPage).Name, new UpdatesPage());
|
||||
_pages.Add(typeof(ThemePage).Name, new ThemePage());
|
||||
_pages.Add(typeof(KeyboardPage).Name, new KeyboardPage());
|
||||
_pages.Add(typeof(AdvancedPage).Name, new AdvancedPage());
|
||||
}
|
||||
|
||||
|
||||
@@ -201,10 +201,6 @@
|
||||
<Compile Include="Config\Import\PuttyConnectionManager.cs" />
|
||||
<Compile Include="Config\Import\RemoteDesktopConnection.cs" />
|
||||
<Compile Include="Config\Import\RemoteDesktopConnectionManager.cs" />
|
||||
<Compile Include="Config\KeyboardShortcuts\KeyboardShortcutMap.cs" />
|
||||
<Compile Include="Config\KeyboardShortcuts\ShortcutCommandEnum.cs" />
|
||||
<Compile Include="Config\KeyboardShortcuts\ShortcutKey.cs" />
|
||||
<Compile Include="Config\KeyboardShortcuts\ShortcutMapping.cs" />
|
||||
<Compile Include="Config\Putty\Config.Putty.RegistryProvider.cs" />
|
||||
<Compile Include="Config\Putty\Config.Putty.XmingProvider.cs" />
|
||||
<Compile Include="Config\Putty\Config.Putty.Sessions.cs" />
|
||||
@@ -243,7 +239,6 @@
|
||||
<Compile Include="UI\Controls\ToolStripSplitButton.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Config\KeyboardShortcuts\KeyboardShortcuts.cs" />
|
||||
<Compile Include="UI\Forms\frmOptions.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -274,12 +269,6 @@
|
||||
<Compile Include="UI\Forms\OptionsForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UI\Forms\OptionsPages\KeyboardPage.Designer.cs">
|
||||
<DependentUpon>KeyboardPage.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UI\Forms\OptionsPages\KeyboardPage.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UI\Forms\OptionsPages\OptionsPage.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
@@ -528,9 +517,6 @@
|
||||
<EmbeddedResource Include="UI\Forms\OptionsForm.resx">
|
||||
<DependentUpon>OptionsForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\Forms\OptionsPages\KeyboardPage.resx">
|
||||
<DependentUpon>KeyboardPage.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\Forms\OptionsPages\SqlServerPage.resx">
|
||||
<DependentUpon>SqlServerPage.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -1207,12 +1193,6 @@
|
||||
<Isolated>False</Isolated>
|
||||
</COMReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\SharedLibraryNG\SharedLibraryNG.csproj">
|
||||
<Project>{0f615504-5f30-4cf2-8341-1de7fec95a23}</Project>
|
||||
<Name>SharedLibraryNG</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.VisualBasic" />
|
||||
<Reference Include="mscorlib" />
|
||||
|
||||
Reference in New Issue
Block a user