Browse Source

Fixed SD2-685: Pads must have an icon

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.0@1425 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 19 years ago
parent
commit
d8b42d8997
  1. 20
      src/AddIns/Misc/FiletypeRegisterer/Project/Src/RegisterFiletypesCommand.cs
  2. 2
      src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs
  3. 2
      src/Main/Base/Project/Src/Gui/Workbench/Layouts/SdiWorkspaceLayout.cs
  4. 4
      src/Main/Base/Project/Src/Internal/Doozers/PadDescriptor.cs

20
src/AddIns/Misc/FiletypeRegisterer/Project/Src/RegisterFiletypesCommand.cs

@ -84,12 +84,20 @@ namespace ICSharpCode.FiletypeRegisterer { @@ -84,12 +84,20 @@ namespace ICSharpCode.FiletypeRegisterer {
public static bool IsRegisteredFileType(string extension)
{
using (RegistryKey key = Registry.ClassesRoot.OpenSubKey("." + extension)) {
if (key != null)
return true;
try {
using (RegistryKey key = Registry.ClassesRoot.OpenSubKey("." + extension)) {
if (key != null)
return true;
}
} catch (System.Security.SecurityException) {
// registry access might be denied
}
using (RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Classes\\." + extension)) {
return key != null;
try {
using (RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Classes\\." + extension)) {
return key != null;
}
} catch (System.Security.SecurityException) {
return false;
}
}
@ -135,7 +143,7 @@ namespace ICSharpCode.FiletypeRegisterer { @@ -135,7 +143,7 @@ namespace ICSharpCode.FiletypeRegisterer {
UnRegisterFiletype(extension, Registry.ClassesRoot);
try {
UnRegisterFiletype(extension, Registry.CurrentUser.CreateSubKey("Software\\Classes"));
} catch {}
} catch {} // catch CreateSubKey(Software\Classes)-exceptions
try {
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, IntPtr.Zero, IntPtr.Zero);
} catch {}

2
src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs

@ -353,7 +353,7 @@ namespace ICSharpCode.SharpDevelop.Commands @@ -353,7 +353,7 @@ namespace ICSharpCode.SharpDevelop.Commands
this.padDescriptor = padDescriptor;
Text = StringParser.Parse(padDescriptor.Title);
if (padDescriptor.Icon != null) {
if (!string.IsNullOrEmpty(padDescriptor.Icon)) {
base.Image = IconService.GetBitmap(padDescriptor.Icon);
}

2
src/Main/Base/Project/Src/Gui/Workbench/Layouts/SdiWorkspaceLayout.cs

@ -429,7 +429,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -429,7 +429,7 @@ namespace ICSharpCode.SharpDevelop.Gui
Properties properties = (Properties)PropertyService.Get("Workspace.ViewMementos", new Properties());
PadContentWrapper newContent = new PadContentWrapper(content);
if (content.Icon != null) {
if (!string.IsNullOrEmpty(content.Icon)) {
newContent.Icon = IconService.GetIcon(content.Icon);
}
newContent.Text = StringParser.Parse(content.Title);

4
src/Main/Base/Project/Src/Internal/Doozers/PadDescriptor.cs

@ -29,8 +29,8 @@ namespace ICSharpCode.Core @@ -29,8 +29,8 @@ namespace ICSharpCode.Core
}
/// <summary>
/// Returns the icon bitmap resource name of the pad. May be null, if the pad has no
/// icon defined.
/// Returns the icon bitmap resource name of the pad. May be an empty string
/// if the pad has no icon defined.
/// </summary>
public string Icon {
get {

Loading…
Cancel
Save