Browse Source
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5228 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61shortcuts
29 changed files with 0 additions and 1401 deletions
@ -1,23 +0,0 @@ |
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 10.00 |
|
||||||
# Visual Studio 2008 |
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShortcutsManagement", "ShortcutsManagement\ShortcutsManagement.csproj", "{CF2FF1D1-A5FE-4848-936A-E2DFBE154562}" |
|
||||||
EndProject |
|
||||||
Global |
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
|
||||||
Debug in SharpDevelop|Any CPU = Debug in SharpDevelop|Any CPU |
|
||||||
Debug|Any CPU = Debug|Any CPU |
|
||||||
Release|Any CPU = Release|Any CPU |
|
||||||
EndGlobalSection |
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
|
||||||
{CF2FF1D1-A5FE-4848-936A-E2DFBE154562}.Debug in SharpDevelop|Any CPU.ActiveCfg = Debug in SharpDevelop|Any CPU |
|
||||||
{CF2FF1D1-A5FE-4848-936A-E2DFBE154562}.Debug in SharpDevelop|Any CPU.Build.0 = Debug in SharpDevelop|Any CPU |
|
||||||
{CF2FF1D1-A5FE-4848-936A-E2DFBE154562}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||||
{CF2FF1D1-A5FE-4848-936A-E2DFBE154562}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||||
{CF2FF1D1-A5FE-4848-936A-E2DFBE154562}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||||
{CF2FF1D1-A5FE-4848-936A-E2DFBE154562}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||||
EndGlobalSection |
|
||||||
GlobalSection(SolutionProperties) = preSolution |
|
||||||
HideSolutionNode = FALSE |
|
||||||
EndGlobalSection |
|
||||||
EndGlobal |
|
Binary file not shown.
@ -1,8 +0,0 @@ |
|||||||
<Application x:Class="ICSharpCode.ShortcutsManagement.App" |
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
|
||||||
StartupUri="Window1.xaml"> |
|
||||||
<Application.Resources> |
|
||||||
|
|
||||||
</Application.Resources> |
|
||||||
</Application> |
|
@ -1,11 +0,0 @@ |
|||||||
using System.Windows; |
|
||||||
|
|
||||||
namespace ICSharpCode.ShortcutsManagement |
|
||||||
{ |
|
||||||
/// <summary>
|
|
||||||
/// Interaction logic for App.xaml
|
|
||||||
/// </summary>
|
|
||||||
public partial class App : Application |
|
||||||
{ |
|
||||||
} |
|
||||||
} |
|
@ -1,55 +0,0 @@ |
|||||||
using System.Reflection; |
|
||||||
using System.Resources; |
|
||||||
using System.Runtime.CompilerServices; |
|
||||||
using System.Runtime.InteropServices; |
|
||||||
using System.Windows; |
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
|
||||||
// set of attributes. Change these attribute values to modify the information
|
|
||||||
// associated with an assembly.
|
|
||||||
[assembly: AssemblyTitle("ShortcutsManagement")] |
|
||||||
[assembly: AssemblyDescription("")] |
|
||||||
[assembly: AssemblyConfiguration("")] |
|
||||||
[assembly: AssemblyCompany("Nexum Insurance Technologies")] |
|
||||||
[assembly: AssemblyProduct("ShortcutsManagement")] |
|
||||||
[assembly: AssemblyCopyright("Copyright © Nexum Insurance Technologies 2009")] |
|
||||||
[assembly: AssemblyTrademark("")] |
|
||||||
[assembly: AssemblyCulture("")] |
|
||||||
|
|
||||||
// Setting ComVisible to false makes the types in this assembly not visible
|
|
||||||
// to COM components. If you need to access a type in this assembly from
|
|
||||||
// COM, set the ComVisible attribute to true on that type.
|
|
||||||
[assembly: ComVisible(false)] |
|
||||||
|
|
||||||
//In order to begin building localizable applications, set
|
|
||||||
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
|
|
||||||
//inside a <PropertyGroup>. For example, if you are using US english
|
|
||||||
//in your source files, set the <UICulture> to en-US. Then uncomment
|
|
||||||
//the NeutralResourceLanguage attribute below. Update the "en-US" in
|
|
||||||
//the line below to match the UICulture setting in the project file.
|
|
||||||
|
|
||||||
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
|
|
||||||
|
|
||||||
|
|
||||||
[assembly: ThemeInfo( |
|
||||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
|
||||||
//(used if a resource is not found in the page,
|
|
||||||
// or application resource dictionaries)
|
|
||||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
|
||||||
//(used if a resource is not found in the page,
|
|
||||||
// app, or any theme specific resource dictionaries)
|
|
||||||
)] |
|
||||||
|
|
||||||
|
|
||||||
// Version information for an assembly consists of the following four values:
|
|
||||||
//
|
|
||||||
// Major Version
|
|
||||||
// Minor Version
|
|
||||||
// Build Number
|
|
||||||
// Revision
|
|
||||||
//
|
|
||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
|
||||||
// by using the '*' as shown below:
|
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
|
||||||
[assembly: AssemblyVersion("1.0.0.0")] |
|
||||||
[assembly: AssemblyFileVersion("1.0.0.0")] |
|
@ -1,63 +0,0 @@ |
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// This code was generated by a tool.
|
|
||||||
// Runtime Version:2.0.50727.3082
|
|
||||||
//
|
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
|
||||||
// the code is regenerated.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
namespace ICSharpCode.ShortcutsManagement.Properties { |
|
||||||
using System; |
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
|
||||||
/// </summary>
|
|
||||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
|
||||||
// class via a tool like ResGen or Visual Studio.
|
|
||||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
|
||||||
// with the /str option, or rebuild your VS project.
|
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] |
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] |
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] |
|
||||||
internal class Resources { |
|
||||||
|
|
||||||
private static global::System.Resources.ResourceManager resourceMan; |
|
||||||
|
|
||||||
private static global::System.Globalization.CultureInfo resourceCulture; |
|
||||||
|
|
||||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] |
|
||||||
internal Resources() { |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Returns the cached ResourceManager instance used by this class.
|
|
||||||
/// </summary>
|
|
||||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] |
|
||||||
internal static global::System.Resources.ResourceManager ResourceManager { |
|
||||||
get { |
|
||||||
if (object.ReferenceEquals(resourceMan, null)) { |
|
||||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ICSharpCode.ShortcutsManagement.Properties.Resources", typeof(Resources).Assembly); |
|
||||||
resourceMan = temp; |
|
||||||
} |
|
||||||
return resourceMan; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Overrides the current thread's CurrentUICulture property for all
|
|
||||||
/// resource lookups using this strongly typed resource class.
|
|
||||||
/// </summary>
|
|
||||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] |
|
||||||
internal static global::System.Globalization.CultureInfo Culture { |
|
||||||
get { |
|
||||||
return resourceCulture; |
|
||||||
} |
|
||||||
set { |
|
||||||
resourceCulture = value; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,117 +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.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: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" type="xsd:string" /> |
|
||||||
<xsd:attribute name="type" type="xsd:string" /> |
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" /> |
|
||||||
</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" msdata:Ordinal="1" /> |
|
||||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
|
||||||
</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> |
|
||||||
</root> |
|
@ -1,26 +0,0 @@ |
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// This code was generated by a tool.
|
|
||||||
// Runtime Version:2.0.50727.3082
|
|
||||||
//
|
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
|
||||||
// the code is regenerated.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
namespace ICSharpCode.ShortcutsManagement.Properties { |
|
||||||
|
|
||||||
|
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] |
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] |
|
||||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { |
|
||||||
|
|
||||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); |
|
||||||
|
|
||||||
public static Settings Default { |
|
||||||
get { |
|
||||||
return defaultInstance; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,7 +0,0 @@ |
|||||||
<?xml version='1.0' encoding='utf-8'?> |
|
||||||
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)"> |
|
||||||
<Profiles> |
|
||||||
<Profile Name="(Default)" /> |
|
||||||
</Profiles> |
|
||||||
<Settings /> |
|
||||||
</SettingsFile> |
|
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.3 KiB |
@ -1,19 +0,0 @@ |
|||||||
<AddIn name = "ShortcutsPrototype" |
|
||||||
author = "Sergej Andrejev" |
|
||||||
url = "" |
|
||||||
description = "Addin allows managing application shortcuts"> |
|
||||||
|
|
||||||
<Manifest> |
|
||||||
<Identity name="ShortcutsManagement" version = "@SharpDevelopCoreVersion"/> |
|
||||||
</Manifest> |
|
||||||
|
|
||||||
<Runtime> |
|
||||||
<Import assembly = "ICSharpCode.ShortcutsManagement.exe"/> |
|
||||||
</Runtime> |
|
||||||
|
|
||||||
<Path name = "/SharpDevelop/Dialogs/OptionsDialog/TextEditorOptions"> |
|
||||||
<OptionPanel id = "ShortcutsManagement" |
|
||||||
label = "Shortcuts management" |
|
||||||
class = "ICSharpCode.ShortcutsManagement.ShortcutsManagementOptionsPanel" /> |
|
||||||
</Path> |
|
||||||
</AddIn> |
|
@ -1,156 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||||
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|
||||||
<PropertyGroup> |
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
|
||||||
<ProductVersion>9.0.30729</ProductVersion> |
|
||||||
<SchemaVersion>2.0</SchemaVersion> |
|
||||||
<ProjectGuid>{CF2FF1D1-A5FE-4848-936A-E2DFBE154562}</ProjectGuid> |
|
||||||
<OutputType>WinExe</OutputType> |
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder> |
|
||||||
<RootNamespace>ICSharpCode.ShortcutsManagement</RootNamespace> |
|
||||||
<AssemblyName>ICSharpCode.ShortcutsManagement</AssemblyName> |
|
||||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion> |
|
||||||
<FileAlignment>512</FileAlignment> |
|
||||||
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> |
|
||||||
<WarningLevel>4</WarningLevel> |
|
||||||
</PropertyGroup> |
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
|
||||||
<DebugSymbols>true</DebugSymbols> |
|
||||||
<DebugType>full</DebugType> |
|
||||||
<Optimize>false</Optimize> |
|
||||||
<OutputPath>bin\Debug\</OutputPath> |
|
||||||
<DefineConstants>DEBUG;TRACE</DefineConstants> |
|
||||||
<ErrorReport>prompt</ErrorReport> |
|
||||||
<WarningLevel>4</WarningLevel> |
|
||||||
</PropertyGroup> |
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
|
||||||
<DebugType>pdbonly</DebugType> |
|
||||||
<Optimize>true</Optimize> |
|
||||||
<OutputPath>bin\Release\</OutputPath> |
|
||||||
<DefineConstants>TRACE</DefineConstants> |
|
||||||
<ErrorReport>prompt</ErrorReport> |
|
||||||
<WarningLevel>4</WarningLevel> |
|
||||||
</PropertyGroup> |
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug in SharpDevelop|AnyCPU' "> |
|
||||||
<DebugSymbols>true</DebugSymbols> |
|
||||||
<OutputPath>..\..\..\..\..\AddIns\AddIns\Misc\ShortcutsManagement\</OutputPath> |
|
||||||
<DefineConstants>DEBUG;TRACE</DefineConstants> |
|
||||||
<DebugType>full</DebugType> |
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget> |
|
||||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression> |
|
||||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile> |
|
||||||
<ErrorReport>prompt</ErrorReport> |
|
||||||
</PropertyGroup> |
|
||||||
<ItemGroup> |
|
||||||
<Reference Include="ICSharpCode.Core, Version=4.0.0.4172, Culture=neutral, PublicKeyToken=f829da5c02be14ee, processorArchitecture=MSIL"> |
|
||||||
<SpecificVersion>False</SpecificVersion> |
|
||||||
<HintPath>..\..\..\..\..\bin\ICSharpCode.Core.dll</HintPath> |
|
||||||
</Reference> |
|
||||||
<Reference Include="ICSharpCode.SharpDevelop, Version=4.0.0.4172, Culture=neutral, PublicKeyToken=f829da5c02be14ee, processorArchitecture=MSIL"> |
|
||||||
<SpecificVersion>False</SpecificVersion> |
|
||||||
<HintPath>..\..\..\..\..\bin\ICSharpCode.SharpDevelop.dll</HintPath> |
|
||||||
</Reference> |
|
||||||
<Reference Include="System" /> |
|
||||||
<Reference Include="System.Core"> |
|
||||||
<RequiredTargetFramework>3.5</RequiredTargetFramework> |
|
||||||
</Reference> |
|
||||||
<Reference Include="System.Xml.Linq"> |
|
||||||
<RequiredTargetFramework>3.5</RequiredTargetFramework> |
|
||||||
</Reference> |
|
||||||
<Reference Include="System.Data.DataSetExtensions"> |
|
||||||
<RequiredTargetFramework>3.5</RequiredTargetFramework> |
|
||||||
</Reference> |
|
||||||
<Reference Include="System.Data" /> |
|
||||||
<Reference Include="System.Xml" /> |
|
||||||
<Reference Include="UIAutomationProvider"> |
|
||||||
<RequiredTargetFramework>3.0</RequiredTargetFramework> |
|
||||||
</Reference> |
|
||||||
<Reference Include="WindowsBase"> |
|
||||||
<RequiredTargetFramework>3.0</RequiredTargetFramework> |
|
||||||
</Reference> |
|
||||||
<Reference Include="PresentationCore"> |
|
||||||
<RequiredTargetFramework>3.0</RequiredTargetFramework> |
|
||||||
</Reference> |
|
||||||
<Reference Include="PresentationFramework"> |
|
||||||
<RequiredTargetFramework>3.0</RequiredTargetFramework> |
|
||||||
</Reference> |
|
||||||
</ItemGroup> |
|
||||||
<ItemGroup> |
|
||||||
<ApplicationDefinition Include="App.xaml"> |
|
||||||
<Generator>MSBuild:Compile</Generator> |
|
||||||
<SubType>Designer</SubType> |
|
||||||
</ApplicationDefinition> |
|
||||||
<Page Include="Src\Dialogs\ShortcutsManagementOptionsPanel.xaml"> |
|
||||||
<Generator>MSBuild:Compile</Generator> |
|
||||||
<SubType>Designer</SubType> |
|
||||||
</Page> |
|
||||||
<Page Include="Themes\Generic.xaml"> |
|
||||||
<Generator>MSBuild:Compile</Generator> |
|
||||||
<SubType>Designer</SubType> |
|
||||||
</Page> |
|
||||||
<Page Include="Window1.xaml"> |
|
||||||
<Generator>MSBuild:Compile</Generator> |
|
||||||
<SubType>Designer</SubType> |
|
||||||
</Page> |
|
||||||
<Compile Include="App.xaml.cs"> |
|
||||||
<DependentUpon>App.xaml</DependentUpon> |
|
||||||
<SubType>Code</SubType> |
|
||||||
</Compile> |
|
||||||
<Compile Include="Window1.xaml.cs"> |
|
||||||
<DependentUpon>Window1.xaml</DependentUpon> |
|
||||||
<SubType>Code</SubType> |
|
||||||
</Compile> |
|
||||||
</ItemGroup> |
|
||||||
<ItemGroup> |
|
||||||
<Compile Include="Src\Data\AddIn.cs" /> |
|
||||||
<Compile Include="Src\Converters\GesturesListConverter.cs" /> |
|
||||||
<Compile Include="Properties\AssemblyInfo.cs"> |
|
||||||
<SubType>Code</SubType> |
|
||||||
</Compile> |
|
||||||
<Compile Include="Properties\Resources.Designer.cs"> |
|
||||||
<AutoGen>True</AutoGen> |
|
||||||
<DesignTime>True</DesignTime> |
|
||||||
<DependentUpon>Resources.resx</DependentUpon> |
|
||||||
</Compile> |
|
||||||
<Compile Include="Properties\Settings.Designer.cs"> |
|
||||||
<AutoGen>True</AutoGen> |
|
||||||
<DependentUpon>Settings.settings</DependentUpon> |
|
||||||
<DesignTimeSharedInput>True</DesignTimeSharedInput> |
|
||||||
</Compile> |
|
||||||
<Compile Include="Src\Data\Shortcut.cs" /> |
|
||||||
<Compile Include="Src\Data\ShortcutCategory.cs" /> |
|
||||||
<Compile Include="Src\Dialogs\ShortcutsManagementOptionsPanel.xaml.cs"> |
|
||||||
<DependentUpon>ShortcutsManagementOptionsPanel.xaml</DependentUpon> |
|
||||||
</Compile> |
|
||||||
<Compile Include="Src\Data\ShortcutsProvider.cs" /> |
|
||||||
<Compile Include="Src\Converters\ShortcutsTreeConverter.cs" /> |
|
||||||
<Compile Include="Src\Extensions\TextBlockBehavior.cs" /> |
|
||||||
<Compile Include="Src\Extensions\TreeViewExtensions.cs" /> |
|
||||||
<Compile Include="Src\Converters\TypeNameConverter.cs" /> |
|
||||||
<EmbeddedResource Include="Properties\Resources.resx"> |
|
||||||
<Generator>ResXFileCodeGenerator</Generator> |
|
||||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput> |
|
||||||
</EmbeddedResource> |
|
||||||
<None Include="Properties\Settings.settings"> |
|
||||||
<Generator>SettingsSingleFileGenerator</Generator> |
|
||||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput> |
|
||||||
</None> |
|
||||||
<AppDesigner Include="Properties\" /> |
|
||||||
</ItemGroup> |
|
||||||
<ItemGroup> |
|
||||||
<Resource Include="Resources\key_enter.png" /> |
|
||||||
<Resource Include="Resources\key_enter_pressed.png" /> |
|
||||||
<Content Include="ShortcutsManagement.addin"> |
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> |
|
||||||
</Content> |
|
||||||
</ItemGroup> |
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
|
||||||
Other similar extension points exist, see Microsoft.Common.targets. |
|
||||||
<Target Name="BeforeBuild"> |
|
||||||
</Target> |
|
||||||
<Target Name="AfterBuild"> |
|
||||||
</Target> |
|
||||||
--> |
|
||||||
</Project> |
|
@ -1,6 +0,0 @@ |
|||||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug in SharpDevelop|AnyCPU' "> |
|
||||||
<StartAction>Program</StartAction> |
|
||||||
<StartProgram>C:\VSC\SharpDevelop40\SharpDevelop\bin\SharpDevelop.exe</StartProgram> |
|
||||||
</PropertyGroup> |
|
||||||
</Project> |
|
@ -1,27 +0,0 @@ |
|||||||
using System; |
|
||||||
using System.Collections.Generic; |
|
||||||
using System.Linq; |
|
||||||
using System.Globalization; |
|
||||||
using System.Windows.Data; |
|
||||||
|
|
||||||
namespace ICSharpCode.ShortcutsManagement |
|
||||||
{ |
|
||||||
public class GesturesListConverter : IValueConverter |
|
||||||
{ |
|
||||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) |
|
||||||
{ |
|
||||||
if (value is IEnumerable<string> && (targetType == typeof(string) || targetType.IsSubclassOf(typeof(string)))) |
|
||||||
{ |
|
||||||
var enumerableValue = (IEnumerable<string>)value; |
|
||||||
return string.Join(" | ", enumerableValue.ToArray()); |
|
||||||
} |
|
||||||
|
|
||||||
return value.ToString(); |
|
||||||
} |
|
||||||
|
|
||||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) |
|
||||||
{ |
|
||||||
throw new NotImplementedException("Reverse convertion is not implemented:"); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,25 +0,0 @@ |
|||||||
using System; |
|
||||||
using System.Collections.Generic; |
|
||||||
using System.Globalization; |
|
||||||
using System.Linq; |
|
||||||
using System.Windows.Data; |
|
||||||
|
|
||||||
namespace ICSharpCode.ShortcutsManagement |
|
||||||
{ |
|
||||||
public class ShortcutsTreeConverter : IMultiValueConverter |
|
||||||
{ |
|
||||||
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) |
|
||||||
{ |
|
||||||
var items = new List<object>(); |
|
||||||
items.AddRange(((IEnumerable<ShortcutCategory>)values[0]).Cast<object>()); |
|
||||||
items.AddRange(((IEnumerable<Shortcut>)values[1]).Cast<object>()); |
|
||||||
|
|
||||||
return items; |
|
||||||
} |
|
||||||
|
|
||||||
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) |
|
||||||
{ |
|
||||||
throw new System.NotImplementedException(); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,19 +0,0 @@ |
|||||||
using System; |
|
||||||
using System.Globalization; |
|
||||||
using System.Windows.Data; |
|
||||||
|
|
||||||
namespace ICSharpCode.ShortcutsManagement |
|
||||||
{ |
|
||||||
class TypeNameConverter : IValueConverter |
|
||||||
{ |
|
||||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) |
|
||||||
{ |
|
||||||
return value.GetType().Name; |
|
||||||
} |
|
||||||
|
|
||||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) |
|
||||||
{ |
|
||||||
throw new System.NotImplementedException(); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,84 +0,0 @@ |
|||||||
using System.Collections.Generic; |
|
||||||
using System.ComponentModel; |
|
||||||
|
|
||||||
namespace ICSharpCode.ShortcutsManagement |
|
||||||
{ |
|
||||||
/// <summary>
|
|
||||||
/// Add-in where shortcuts were registered
|
|
||||||
/// </summary>
|
|
||||||
public class AddIn : INotifyPropertyChanged |
|
||||||
{ |
|
||||||
private string name; |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Add-in name
|
|
||||||
///
|
|
||||||
/// Dependency property
|
|
||||||
/// </summary>
|
|
||||||
public string Name |
|
||||||
{ |
|
||||||
get |
|
||||||
{ |
|
||||||
return name; |
|
||||||
} |
|
||||||
set |
|
||||||
{ |
|
||||||
if (name != value) |
|
||||||
{ |
|
||||||
name = value; |
|
||||||
InvokePropertyChanged("Name"); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
private bool isVisible; |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Is category visible in shortcuts tree
|
|
||||||
///
|
|
||||||
/// Dependency property
|
|
||||||
/// </summary>
|
|
||||||
public bool IsVisible |
|
||||||
{ |
|
||||||
get |
|
||||||
{ |
|
||||||
return isVisible; |
|
||||||
} |
|
||||||
set |
|
||||||
{ |
|
||||||
if (isVisible != value) |
|
||||||
{ |
|
||||||
isVisible = value; |
|
||||||
InvokePropertyChanged("IsVisible"); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public List<ShortcutCategory> Categories |
|
||||||
{ |
|
||||||
get; |
|
||||||
private set; |
|
||||||
} |
|
||||||
|
|
||||||
public AddIn(string addInName) |
|
||||||
{ |
|
||||||
IsVisible = true; |
|
||||||
Name = addInName; |
|
||||||
Categories = new List<ShortcutCategory>(); |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Invoke dependency property changed event
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="propertyName">Name of dependency property from this classs</param>
|
|
||||||
private void InvokePropertyChanged(string propertyName) |
|
||||||
{ |
|
||||||
if (PropertyChanged != null) |
|
||||||
{ |
|
||||||
PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public event PropertyChangedEventHandler PropertyChanged; |
|
||||||
} |
|
||||||
} |
|
@ -1,90 +0,0 @@ |
|||||||
using System.Collections.Generic; |
|
||||||
using System.ComponentModel; |
|
||||||
|
|
||||||
namespace ICSharpCode.ShortcutsManagement |
|
||||||
{ |
|
||||||
/// <summary>
|
|
||||||
/// Shortcut
|
|
||||||
/// </summary>
|
|
||||||
public class Shortcut : INotifyPropertyChanged |
|
||||||
{ |
|
||||||
/// <summary>
|
|
||||||
/// List of keyboard gestures which will invoke provided action
|
|
||||||
/// </summary>
|
|
||||||
public List<string> Gestures |
|
||||||
{ |
|
||||||
get; |
|
||||||
private set; |
|
||||||
} |
|
||||||
|
|
||||||
private string name; |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Shortcut action name
|
|
||||||
/// </summary>
|
|
||||||
public string Name |
|
||||||
{ |
|
||||||
get |
|
||||||
{ |
|
||||||
return name; |
|
||||||
} |
|
||||||
set |
|
||||||
{ |
|
||||||
if(name != value) |
|
||||||
{ |
|
||||||
name = value; |
|
||||||
InvokePropertyChanged("Name"); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
private bool isVisible; |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Is category visible in shortcuts tree
|
|
||||||
///
|
|
||||||
/// Dependency property
|
|
||||||
/// </summary>
|
|
||||||
public bool IsVisible |
|
||||||
{ |
|
||||||
get |
|
||||||
{ |
|
||||||
return isVisible; |
|
||||||
} |
|
||||||
set |
|
||||||
{ |
|
||||||
if(isVisible != value) |
|
||||||
{ |
|
||||||
isVisible = value; |
|
||||||
InvokePropertyChanged("IsVisible"); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Create new shortcut
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="shortcutName">Shortcut action name</param>
|
|
||||||
/// <param name="gestures">Gestures</param>
|
|
||||||
public Shortcut(string shortcutName, List<string> gestures) |
|
||||||
{ |
|
||||||
IsVisible = true; |
|
||||||
Name = shortcutName; |
|
||||||
Gestures = gestures ?? new List<string>(); |
|
||||||
} |
|
||||||
|
|
||||||
public event PropertyChangedEventHandler PropertyChanged; |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Invoke dependency property changed event
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="propertyName">Name of dependency property from this classs</param>
|
|
||||||
private void InvokePropertyChanged(string propertyName) |
|
||||||
{ |
|
||||||
if (PropertyChanged != null) |
|
||||||
{ |
|
||||||
PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,101 +0,0 @@ |
|||||||
using System.Collections.Generic; |
|
||||||
using System.ComponentModel; |
|
||||||
|
|
||||||
namespace ICSharpCode.ShortcutsManagement |
|
||||||
{ |
|
||||||
/// <summary>
|
|
||||||
/// Shortcut category
|
|
||||||
/// </summary>
|
|
||||||
public class ShortcutCategory : INotifyPropertyChanged |
|
||||||
{ |
|
||||||
private string name; |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Category name
|
|
||||||
///
|
|
||||||
/// Dependency property
|
|
||||||
/// </summary>
|
|
||||||
public string Name |
|
||||||
{ |
|
||||||
get |
|
||||||
{ |
|
||||||
return name; |
|
||||||
} |
|
||||||
set |
|
||||||
{ |
|
||||||
if (name != value) |
|
||||||
{ |
|
||||||
name = value; |
|
||||||
InvokePropertyChanged("Name"); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
private bool isVisible; |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Is category visible in shortcuts tree
|
|
||||||
///
|
|
||||||
/// Dependency property
|
|
||||||
/// </summary>
|
|
||||||
public bool IsVisible |
|
||||||
{ |
|
||||||
get |
|
||||||
{ |
|
||||||
return isVisible; |
|
||||||
} |
|
||||||
set |
|
||||||
{ |
|
||||||
if (isVisible != value) |
|
||||||
{ |
|
||||||
isVisible = value; |
|
||||||
InvokePropertyChanged("IsVisible"); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Sub cateories
|
|
||||||
/// </summary>
|
|
||||||
public List<ShortcutCategory> SubCategories |
|
||||||
{ |
|
||||||
get; |
|
||||||
private set; |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Shortcuts assigned to this category
|
|
||||||
/// </summary>
|
|
||||||
public List<Shortcut> Shortcuts |
|
||||||
{ |
|
||||||
get; |
|
||||||
private set; |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Create new category
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="categoryName">Category name</param>
|
|
||||||
public ShortcutCategory(string categoryName) |
|
||||||
{ |
|
||||||
IsVisible = true; |
|
||||||
Shortcuts = new List<Shortcut>(); |
|
||||||
SubCategories = new List<ShortcutCategory>(); |
|
||||||
Name = categoryName; |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Invoke dependency property changed event
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="propertyName">Name of dependency property from this classs</param>
|
|
||||||
private void InvokePropertyChanged(string propertyName) |
|
||||||
{ |
|
||||||
if (PropertyChanged != null) |
|
||||||
{ |
|
||||||
PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public event PropertyChangedEventHandler PropertyChanged; |
|
||||||
} |
|
||||||
} |
|
@ -1,116 +0,0 @@ |
|||||||
using System; |
|
||||||
using System.Collections.Generic; |
|
||||||
using System.Collections.ObjectModel; |
|
||||||
|
|
||||||
namespace ICSharpCode.ShortcutsManagement |
|
||||||
{ |
|
||||||
internal class ShortcutsProvider |
|
||||||
{ |
|
||||||
private readonly ObservableCollection<AddIn> addins = new ObservableCollection<AddIn>(); |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Get list of add-ins containing shortcuts
|
|
||||||
/// </summary>
|
|
||||||
/// <returns>List of add-ins</returns>
|
|
||||||
public ObservableCollection<AddIn> GetAddIns() |
|
||||||
{ |
|
||||||
return addins; |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Filter addins, child categories and shortcuts where item name
|
|
||||||
/// contains filter string
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="filterString">Filter string</param>
|
|
||||||
public void Filter(string filterString) |
|
||||||
{ |
|
||||||
foreach (var addIn in addins) |
|
||||||
{ |
|
||||||
var addInNameContainsFilterString = addIn.Name.IndexOf(filterString, StringComparison.InvariantCultureIgnoreCase) >= 0; |
|
||||||
|
|
||||||
var subCategoryIsVisible = false; |
|
||||||
foreach (var category in addIn.Categories) |
|
||||||
{ |
|
||||||
if(Filter(category, filterString, addInNameContainsFilterString ? (bool?) true : null)) |
|
||||||
{ |
|
||||||
subCategoryIsVisible = true; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
addIn.IsVisible = addInNameContainsFilterString || subCategoryIsVisible; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Filter category and child elements where item name contains
|
|
||||||
/// filter string
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="category">Category to filter</param>
|
|
||||||
/// <param name="filterString">Filter string</param>
|
|
||||||
/// <param name="forseMatch">If set to true all sub elements are expanded</param>
|
|
||||||
/// <returns></returns>
|
|
||||||
private static bool Filter(ShortcutCategory category, string filterString, bool? forseMatch) |
|
||||||
{ |
|
||||||
if(category.Name.IndexOf(filterString, StringComparison.InvariantCultureIgnoreCase) >= 0) |
|
||||||
{ |
|
||||||
forseMatch = true; |
|
||||||
} |
|
||||||
|
|
||||||
var isSubElementVisible = false; |
|
||||||
foreach (var subCategory in category.SubCategories) |
|
||||||
{ |
|
||||||
if(Filter(subCategory, filterString, forseMatch)) |
|
||||||
{ |
|
||||||
isSubElementVisible = true; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
foreach (var shortcut in category.Shortcuts) |
|
||||||
{ |
|
||||||
if ((forseMatch.HasValue && forseMatch.Value) || shortcut.Name.IndexOf(filterString, StringComparison.InvariantCultureIgnoreCase) >= 0) |
|
||||||
{ |
|
||||||
shortcut.IsVisible = true; |
|
||||||
isSubElementVisible = true; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
shortcut.IsVisible = false; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
return category.IsVisible = (forseMatch.HasValue && forseMatch.Value) || isSubElementVisible; |
|
||||||
} |
|
||||||
|
|
||||||
public ShortcutsProvider() |
|
||||||
{ |
|
||||||
// Test data
|
|
||||||
addins.Add(new AddIn("SharpDevelop")); |
|
||||||
addins[0].Categories.Add(new ShortcutCategory("Editing")); |
|
||||||
addins[0].Categories[0].Shortcuts.Add(new Shortcut("Copy", new List<string> { "Ctrl+C" })); |
|
||||||
addins[0].Categories[0].Shortcuts.Add(new Shortcut("Paste", new List<string> { "Ctrl+V", "Ctrl+Insert" })); |
|
||||||
addins[0].Categories[0].Shortcuts.Add(new Shortcut("Cut", new List<string> { "Ctrl+X" })); |
|
||||||
addins[0].Categories[0].Shortcuts.Add(new Shortcut("Undo", new List<string> { "Ctrl+Z" })); |
|
||||||
addins[0].Categories[0].Shortcuts.Add(new Shortcut("Redo", new List<string> { "Ctrl+Y" })); |
|
||||||
addins[0].Categories.Add(new ShortcutCategory("Building")); |
|
||||||
addins[0].Categories[1].Shortcuts.Add(new Shortcut("Build", new List<string> { "Ctrl+Shift+B" })); |
|
||||||
addins[0].Categories[1].Shortcuts.Add(new Shortcut("Run", new List<string> { "F5" })); |
|
||||||
addins[0].Categories[1].Shortcuts.Add(new Shortcut("Run without debuger", new List<string> { "Ctrl+F5" })); |
|
||||||
addins[0].Categories[1].Shortcuts.Add(new Shortcut("Attach debuger", new List<string> { "Ctrl+F8" })); |
|
||||||
addins[0].Categories.Add(new ShortcutCategory("Uncategorized")); |
|
||||||
addins[0].Categories[2].Shortcuts.Add(new Shortcut("Attach debuger", new List<string> { "Ctrl+F8" })); |
|
||||||
|
|
||||||
|
|
||||||
addins.Add(new AddIn("Search & replace")); |
|
||||||
addins[1].Categories.Add(new ShortcutCategory("Uncategorized")); |
|
||||||
addins[1].Categories[0].Shortcuts.Add(new Shortcut("Quick find", new List<string> { "Ctrl+F" })); |
|
||||||
addins[1].Categories[0].Shortcuts.Add(new Shortcut("Quick replace", new List<string> { "Ctrl+H" })); |
|
||||||
addins[1].Categories[0].Shortcuts.Add(new Shortcut("Find in files", new List<string> { "Ctrl+Shift+F" })); |
|
||||||
addins[1].Categories[0].Shortcuts.Add(new Shortcut("Replace in files", new List<string> { "Ctrl+Shift+H" })); |
|
||||||
addins[1].Categories[0].Shortcuts.Add(new Shortcut("Find symbol", null)); |
|
||||||
|
|
||||||
addins.Add(new AddIn("Unspecified")); |
|
||||||
addins[2].Categories.Add(new ShortcutCategory("Uncategorized")); |
|
||||||
addins[2].Categories[0].Shortcuts.Add(new Shortcut("Test regex expression", null)); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,171 +0,0 @@ |
|||||||
<UserControl x:Class="ICSharpCode.ShortcutsManagement.ShortcutsManagementOptionsPanel" |
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" |
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" |
|
||||||
xmlns:ShortcutsManagement="clr-namespace:ICSharpCode.ShortcutsManagement" |
|
||||||
mc:Ignorable="d" |
|
||||||
d:DesignHeight="300" d:DesignWidth="300" > |
|
||||||
|
|
||||||
<UserControl.Resources> |
|
||||||
<ShortcutsManagement:ShortcutsProvider x:Key="ShortcutsReceiver" /> |
|
||||||
<ShortcutsManagement:GesturesListConverter x:Key="GesturesListConverter" /> |
|
||||||
<ShortcutsManagement:ShortcutsTreeConverter x:Key="ShortcutsTreeConverter" /> |
|
||||||
<ShortcutsManagement:TypeNameConverter x:Key="TypeNameConverter" /> |
|
||||||
|
|
||||||
<ImageSource x:Key="KeyImage">..\..\Resources\key_enter.png</ImageSource> |
|
||||||
<ImageSource x:Key="KeyImagePressed">..\..\Resources\key_enter_pressed.png</ImageSource> |
|
||||||
|
|
||||||
<ObjectDataProvider x:Key="AddIns" ObjectInstance="{StaticResource ShortcutsReceiver}" MethodName="GetAddIns" /> |
|
||||||
|
|
||||||
<SolidColorBrush x:Key="GlyphBrush" Color="#444" /> |
|
||||||
|
|
||||||
<Style x:Key="ShortcutsTreeSearchType" TargetType="ToggleButton"> |
|
||||||
<Setter Property="Focusable" Value="False"/> |
|
||||||
<Setter Property="Template"> |
|
||||||
<Setter.Value> |
|
||||||
<ControlTemplate TargetType="ToggleButton"> |
|
||||||
<Image x:Name="searchTypeImage" Source="{StaticResource KeyImage}" /> |
|
||||||
<ControlTemplate.Triggers> |
|
||||||
<Trigger Property="IsChecked" Value="True"> |
|
||||||
<Setter Property="Source" TargetName="searchTypeImage" Value="{StaticResource KeyImagePressed}"/> |
|
||||||
</Trigger> |
|
||||||
</ControlTemplate.Triggers> |
|
||||||
</ControlTemplate> |
|
||||||
</Setter.Value> |
|
||||||
</Setter> |
|
||||||
</Style> |
|
||||||
|
|
||||||
<Style x:Key="ExpandCollapseToggleStyle" TargetType="ToggleButton"> |
|
||||||
<Setter Property="Focusable" Value="False"/> |
|
||||||
<Setter Property="Template"> |
|
||||||
<Setter.Value> |
|
||||||
<ControlTemplate TargetType="ToggleButton"> |
|
||||||
<Grid Width="15" Height="13" Background="Transparent"> |
|
||||||
<Path x:Name="expandPath" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="1,1,1,1" Fill="{StaticResource GlyphBrush}" Data="M 4 0 L 8 4 L 4 8 Z"/> |
|
||||||
</Grid> |
|
||||||
<ControlTemplate.Triggers> |
|
||||||
<Trigger Property="IsChecked" Value="True"> |
|
||||||
<Setter Property="Data" TargetName="expandPath" Value="M 0 4 L 8 4 L 4 8 Z"/> |
|
||||||
</Trigger> |
|
||||||
</ControlTemplate.Triggers> |
|
||||||
</ControlTemplate> |
|
||||||
</Setter.Value> |
|
||||||
</Setter> |
|
||||||
</Style> |
|
||||||
</UserControl.Resources> |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Grid> |
|
||||||
<Grid.RowDefinitions> |
|
||||||
<RowDefinition Height="30" /> |
|
||||||
<RowDefinition Height="*" /> |
|
||||||
<RowDefinition Height="30" /> |
|
||||||
<RowDefinition Height="30" /> |
|
||||||
</Grid.RowDefinitions> |
|
||||||
<Grid.ColumnDefinitions> |
|
||||||
<ColumnDefinition Width="30" /> |
|
||||||
<ColumnDefinition Width="*" MinWidth="370" /> |
|
||||||
<ColumnDefinition Width="30" /> |
|
||||||
<ColumnDefinition Width="30" /> |
|
||||||
</Grid.ColumnDefinitions> |
|
||||||
|
|
||||||
<TreeView x:Name="shortcutsTreeView" ItemsSource="{Binding Source={StaticResource AddIns}}" Grid.Column="1" Grid.Row="1" > |
|
||||||
<TreeView.Resources> |
|
||||||
|
|
||||||
<Style TargetType="{x:Type TreeViewItem}"> |
|
||||||
<Setter Property="Template"> |
|
||||||
<Setter.Value> |
|
||||||
<ControlTemplate TargetType="TreeViewItem"> |
|
||||||
<Border Name="OuterBorder" BorderThickness="2" CornerRadius="8" > |
|
||||||
<StackPanel> |
|
||||||
<Border Name="InnerBorder" BorderThickness="0.6" CornerRadius="8" Padding="6" > |
|
||||||
<Grid> |
|
||||||
<Grid.ColumnDefinitions> |
|
||||||
<ColumnDefinition Width="19" /> |
|
||||||
<ColumnDefinition /> |
|
||||||
</Grid.ColumnDefinitions> |
|
||||||
<ToggleButton Grid.Column="0" x:Name="treeViewItemToggleButton" Style="{StaticResource ExpandCollapseToggleStyle}" IsChecked="{Binding Path=IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" ClickMode="Press" /> |
|
||||||
<ContentPresenter Name="PART_Header" ContentSource="Header" VerticalAlignment="Center" Grid.Column="1" /> |
|
||||||
</Grid> |
|
||||||
</Border> |
|
||||||
<ItemsPresenter x:Name="ItemsHost" /> |
|
||||||
</StackPanel> |
|
||||||
</Border> |
|
||||||
<ControlTemplate.Triggers> |
|
||||||
<Trigger Property="IsExpanded" Value="false"> |
|
||||||
<Setter TargetName="ItemsHost" Property="Visibility" Value="Collapsed"/> |
|
||||||
</Trigger> |
|
||||||
<Trigger Property="HasItems" Value="false"> |
|
||||||
<Setter TargetName="treeViewItemToggleButton" Property="Visibility" Value="Hidden"/> |
|
||||||
</Trigger> |
|
||||||
<DataTrigger Binding="{Binding Converter={StaticResource TypeNameConverter}}" Value="ShortcutCategory"> |
|
||||||
<Setter TargetName="InnerBorder" Property="Panel.Background" Value="#DEDE00" /> |
|
||||||
<Setter TargetName="InnerBorder" Property="TextElement.Foreground" Value="#FFFFFF" /> |
|
||||||
<Setter TargetName="OuterBorder" Property="Margin" Value="20,0,0,0" /> |
|
||||||
</DataTrigger> |
|
||||||
<DataTrigger Binding="{Binding Converter={StaticResource TypeNameConverter}}" Value="AddIn"> |
|
||||||
<Setter TargetName="InnerBorder" Property="Panel.Background" Value="#FFFFFF" /> |
|
||||||
<Setter TargetName="InnerBorder" Property="TextElement.Foreground" Value="#000000" /> |
|
||||||
</DataTrigger> |
|
||||||
<DataTrigger Binding="{Binding Path=IsVisible}" Value="false"> |
|
||||||
<Setter Property="Visibility" Value="Collapsed" /> |
|
||||||
</DataTrigger> |
|
||||||
<Trigger Property="IsSelected" Value="True"> |
|
||||||
<Setter TargetName="InnerBorder" Property="Panel.Background" Value="#0000DE" /> |
|
||||||
<Setter TargetName="InnerBorder" Property="TextElement.Foreground" Value="#FFFFFF" /> |
|
||||||
</Trigger> |
|
||||||
</ControlTemplate.Triggers> |
|
||||||
</ControlTemplate> |
|
||||||
</Setter.Value> |
|
||||||
</Setter> |
|
||||||
</Style> |
|
||||||
|
|
||||||
<HierarchicalDataTemplate DataType="{x:Type ShortcutsManagement:AddIn}" ItemsSource="{Binding Path=Categories}" > |
|
||||||
<TextBlock Text="{Binding Path=Name}" ShortcutsManagement:TextBlockBehavior.SearchedText="{Binding ElementName=searchField, Path=Text}" /> |
|
||||||
</HierarchicalDataTemplate> |
|
||||||
|
|
||||||
<HierarchicalDataTemplate DataType="{x:Type ShortcutsManagement:ShortcutCategory}" > |
|
||||||
<HierarchicalDataTemplate.ItemsSource> |
|
||||||
<MultiBinding Converter="{StaticResource ShortcutsTreeConverter}"> |
|
||||||
<Binding Path="SubCategories" /> |
|
||||||
<Binding Path="Shortcuts" /> |
|
||||||
</MultiBinding> |
|
||||||
</HierarchicalDataTemplate.ItemsSource> |
|
||||||
|
|
||||||
<TextBlock Text="{Binding Path=Name}" ShortcutsManagement:TextBlockBehavior.SearchedText="{Binding ElementName=searchField, Path=Text}" /> |
|
||||||
</HierarchicalDataTemplate> |
|
||||||
|
|
||||||
<HierarchicalDataTemplate DataType="{x:Type ShortcutsManagement:Shortcut}" > |
|
||||||
<Grid x:Name="shortcutEntry" MouseDown="shortcutEntry_MouseDown"> |
|
||||||
<Grid.ColumnDefinitions> |
|
||||||
<ColumnDefinition Width="*" /> |
|
||||||
<ColumnDefinition Width="*" /> |
|
||||||
</Grid.ColumnDefinitions> |
|
||||||
|
|
||||||
<TextBlock Text="{Binding Name}" ShortcutsManagement:TextBlockBehavior.SearchedText="{Binding ElementName=searchField, Path=Text}" Grid.Column="0" /> |
|
||||||
<TextBlock Text="{Binding Gestures, Converter={StaticResource GesturesListConverter}}" Grid.Column="1" TextAlignment="Right" /> |
|
||||||
</Grid> |
|
||||||
</HierarchicalDataTemplate> |
|
||||||
</TreeView.Resources> |
|
||||||
</TreeView> |
|
||||||
|
|
||||||
<TextBox x:Name="searchTextBox" KeyUp="searchTextBox_KeyUp" Grid.Column="1" Grid.Row="2"> |
|
||||||
<TextBox.Resources> |
|
||||||
<Style TargetType="{x:Type TextBox}"> |
|
||||||
<Setter Property="Template"> |
|
||||||
<Setter.Value> |
|
||||||
<ControlTemplate TargetType="{x:Type TextBoxBase}"> |
|
||||||
<Border Name="Border" CornerRadius="0,0,8,8" Padding="2" Background="#FFF" BorderBrush="#888" BorderThickness="1,0,1,1"> |
|
||||||
<ScrollViewer Margin="0" x:Name="PART_ContentHost"/> |
|
||||||
</Border> |
|
||||||
</ControlTemplate> |
|
||||||
</Setter.Value> |
|
||||||
</Setter> |
|
||||||
</Style> |
|
||||||
</TextBox.Resources> |
|
||||||
</TextBox> |
|
||||||
<ToggleButton x:Name="searchTypeToggleButton" Grid.Column="2" Grid.Row="2" Style="{StaticResource ShortcutsTreeSearchType}" IsChecked="{Binding Path=IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" ClickMode="Press" /> |
|
||||||
</Grid> |
|
||||||
</UserControl> |
|
@ -1,84 +0,0 @@ |
|||||||
using System.Collections.Generic; |
|
||||||
using System.Linq; |
|
||||||
using System.Windows; |
|
||||||
using System.Windows.Controls; |
|
||||||
using System.Windows.Input; |
|
||||||
using ICSharpCode.SharpDevelop; |
|
||||||
|
|
||||||
namespace ICSharpCode.ShortcutsManagement |
|
||||||
{ |
|
||||||
/// <summary>
|
|
||||||
/// This panel is used in SharpDevelop options window to manage shortcuts
|
|
||||||
/// </summary>
|
|
||||||
public partial class ShortcutsManagementOptionsPanel : UserControl, IOptionPanel |
|
||||||
{ |
|
||||||
public ShortcutsManagementOptionsPanel() |
|
||||||
{ |
|
||||||
InitializeComponent(); |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
private void shortcutEntry_MouseDown(object sender, MouseButtonEventArgs e) |
|
||||||
{ |
|
||||||
if (e.ChangedButton == MouseButton.Left && e.ClickCount == 2) |
|
||||||
{ |
|
||||||
MessageBox.Show("Changing shortcut"); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Filter shortcuts tree view. Display only matching shortcuts
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="sender"></param>
|
|
||||||
/// <param name="e"></param>
|
|
||||||
private void searchTextBox_KeyUp(object sender, KeyEventArgs e) |
|
||||||
{ |
|
||||||
var receiver = ((ShortcutsProvider) Resources["ShortcutsReceiver"]); |
|
||||||
receiver.Filter(searchTextBox.Text); |
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(searchTextBox.Text)) |
|
||||||
{ |
|
||||||
// Select first visible shortcut
|
|
||||||
var selectedAddIn = receiver.GetAddIns().FirstOrDefault(a => a.IsVisible); |
|
||||||
if (selectedAddIn != null) |
|
||||||
{ |
|
||||||
var selectedCategory = selectedAddIn.Categories.FirstOrDefault(c => c.IsVisible); |
|
||||||
if (selectedCategory != null) |
|
||||||
{ |
|
||||||
var selectedShortcut = selectedCategory.Shortcuts.FirstOrDefault(s => s.IsVisible); |
|
||||||
if (selectedShortcut != null) |
|
||||||
{ |
|
||||||
shortcutsTreeView.SelectItem(new List<object> { selectedAddIn, selectedCategory, selectedShortcut }); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
shortcutsTreeView.SetExpandAll(false); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public void LoadOptions() |
|
||||||
{ |
|
||||||
} |
|
||||||
|
|
||||||
public bool SaveOptions() |
|
||||||
{ |
|
||||||
return true; |
|
||||||
} |
|
||||||
|
|
||||||
public object Owner |
|
||||||
{ |
|
||||||
get; set; |
|
||||||
} |
|
||||||
|
|
||||||
public object Control |
|
||||||
{ |
|
||||||
get |
|
||||||
{ |
|
||||||
return this; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,83 +0,0 @@ |
|||||||
using System.Text.RegularExpressions; |
|
||||||
using System.Windows; |
|
||||||
using System.Windows.Controls; |
|
||||||
using System.Windows.Documents; |
|
||||||
|
|
||||||
namespace ICSharpCode.ShortcutsManagement |
|
||||||
{ |
|
||||||
/// <summary>
|
|
||||||
/// TextBlockBehavior.SearchedText attached property
|
|
||||||
/// </summary>
|
|
||||||
public static class TextBlockBehavior |
|
||||||
{ |
|
||||||
/// <summary>
|
|
||||||
/// Get attached property value
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="textBlock">Attached property host</param>
|
|
||||||
/// <returns>Attached property value</returns>
|
|
||||||
public static string GetSearchedText(TextBlock textBlock) |
|
||||||
{ |
|
||||||
return (string)textBlock.GetValue(SearchedTextProperty); |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Set attached property value
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="textBlock">Attached property host</param>
|
|
||||||
/// <param name="value">New attached property value</param>
|
|
||||||
public static void SetSearchedText(TextBlock textBlock, string value) |
|
||||||
{ |
|
||||||
textBlock.SetValue(SearchedTextProperty, value); |
|
||||||
} |
|
||||||
|
|
||||||
public static readonly DependencyProperty SearchedTextProperty = |
|
||||||
DependencyProperty.RegisterAttached( |
|
||||||
"SearchedText", |
|
||||||
typeof(string), |
|
||||||
typeof(TextBlockBehavior), |
|
||||||
new UIPropertyMetadata(null, OnSearchedTextChanged)); |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// On SearchedText changed highlight text in TextBlock which matches
|
|
||||||
/// attached property value
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="depObj"></param>
|
|
||||||
/// <param name="e"></param>
|
|
||||||
private static void OnSearchedTextChanged(DependencyObject depObj, DependencyPropertyChangedEventArgs e) |
|
||||||
{ |
|
||||||
var textBlock = (TextBlock) depObj; |
|
||||||
|
|
||||||
var textBlockText = textBlock.Text; |
|
||||||
textBlock.Inlines.Clear(); |
|
||||||
|
|
||||||
var matches = Regex.Matches(textBlockText, @"(.*)(" + Regex.Escape((string)e.NewValue) + @")(.*)", RegexOptions.IgnoreCase); |
|
||||||
if (matches.Count > 0) |
|
||||||
{ |
|
||||||
foreach (Match match in matches) |
|
||||||
{ |
|
||||||
var matchedTextPrefix = match.Groups[1].Value; |
|
||||||
if (!string.IsNullOrEmpty(matchedTextPrefix)) |
|
||||||
{ |
|
||||||
textBlock.Inlines.Add(new Run(matchedTextPrefix)); |
|
||||||
} |
|
||||||
|
|
||||||
var matchedText = match.Groups[2].Value; |
|
||||||
if (!string.IsNullOrEmpty(matchedText)) |
|
||||||
{ |
|
||||||
textBlock.Inlines.Add(new Bold(new Run(matchedText))); |
|
||||||
} |
|
||||||
|
|
||||||
var matchedTextSuffix = match.Groups[3].Value; |
|
||||||
if (!string.IsNullOrEmpty(matchedTextSuffix)) |
|
||||||
{ |
|
||||||
textBlock.Inlines.Add(new Run(matchedTextSuffix)); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
textBlock.Inlines.Add(new Run(textBlockText)); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,80 +0,0 @@ |
|||||||
using System; |
|
||||||
using System.Collections.Generic; |
|
||||||
using System.Linq; |
|
||||||
using System.Reflection; |
|
||||||
using System.Windows.Controls; |
|
||||||
using System.Windows.Controls.Primitives; |
|
||||||
|
|
||||||
namespace ICSharpCode.ShortcutsManagement |
|
||||||
{ |
|
||||||
/// <summary>
|
|
||||||
/// TreeView extention methods
|
|
||||||
/// </summary>
|
|
||||||
public static class TreeViewExtensions |
|
||||||
{ |
|
||||||
/// <summary>
|
|
||||||
/// Expand TreeView items according to provided path and select element
|
|
||||||
/// on the lowest level
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="parentContainer">TreeView or TreeViewItem</param>
|
|
||||||
/// <param name="path">Path to the selected item</param>
|
|
||||||
public static void SelectItem(this ItemsControl parentContainer, List<object> path) |
|
||||||
{ |
|
||||||
var head = path.First(); |
|
||||||
var tail = path.GetRange(1, path.Count - 1); |
|
||||||
var itemContainer = parentContainer.ItemContainerGenerator.ContainerFromItem(head) as TreeViewItem; |
|
||||||
|
|
||||||
if (itemContainer != null && itemContainer.Items.Count == 0) |
|
||||||
{ |
|
||||||
itemContainer.IsSelected = true; |
|
||||||
|
|
||||||
var selectMethod = typeof(TreeViewItem).GetMethod("Select", BindingFlags.NonPublic | BindingFlags.Instance); |
|
||||||
selectMethod.Invoke(itemContainer, new object[] { true }); |
|
||||||
} |
|
||||||
else if (itemContainer != null) |
|
||||||
{ |
|
||||||
itemContainer.IsExpanded = true; |
|
||||||
|
|
||||||
if (itemContainer.ItemContainerGenerator.Status != GeneratorStatus.ContainersGenerated) |
|
||||||
{ |
|
||||||
itemContainer.ItemContainerGenerator.StatusChanged += delegate |
|
||||||
{ |
|
||||||
SelectItem(itemContainer, tail); |
|
||||||
}; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
SelectItem(itemContainer, tail); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Expand/Collapse all tree view items
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="parentContainer">TreeView or TreeViewItem</param>
|
|
||||||
/// <param name="value">True - expand, False - collapse</param>
|
|
||||||
public static void SetExpandAll(this ItemsControl parentContainer, bool value) |
|
||||||
{ |
|
||||||
foreach (Object item in parentContainer.Items) |
|
||||||
{ |
|
||||||
var currentContainer = parentContainer.ItemContainerGenerator.ContainerFromItem(item) as TreeViewItem; |
|
||||||
if (currentContainer != null && currentContainer.Items.Count > 0) |
|
||||||
{ |
|
||||||
currentContainer.IsExpanded = value; |
|
||||||
if (currentContainer.ItemContainerGenerator.Status != GeneratorStatus.ContainersGenerated) |
|
||||||
{ |
|
||||||
currentContainer.ItemContainerGenerator.StatusChanged += delegate |
|
||||||
{ |
|
||||||
SetExpandAll(currentContainer, value); |
|
||||||
}; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
SetExpandAll(currentContainer, value); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -1,5 +0,0 @@ |
|||||||
<ResourceDictionary |
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> |
|
||||||
|
|
||||||
</ResourceDictionary> |
|
@ -1,10 +0,0 @@ |
|||||||
<Window x:Class="ICSharpCode.ShortcutsManagement.Window1" |
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
|
||||||
xmlns:local="clr-namespace:ICSharpCode.ShortcutsManagement" |
|
||||||
Title="Window1" Height="300" Width="460" MinWidth="460"> |
|
||||||
|
|
||||||
<Grid> |
|
||||||
<local:ShortcutsManagementOptionsPanel /> |
|
||||||
</Grid> |
|
||||||
</Window> |
|
@ -1,15 +0,0 @@ |
|||||||
using System.Windows; |
|
||||||
|
|
||||||
namespace ICSharpCode.ShortcutsManagement |
|
||||||
{ |
|
||||||
/// <summary>
|
|
||||||
/// Interaction logic for Window1.xaml
|
|
||||||
/// </summary>
|
|
||||||
public partial class Window1 : Window |
|
||||||
{ |
|
||||||
public Window1() |
|
||||||
{ |
|
||||||
InitializeComponent(); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
Binary file not shown.
Loading…
Reference in new issue