Browse Source

Check known file extensions for icons when collecting usage data.

Check the file extension against file filters first and then
check the file extensions that have an associated icon.
pull/39/merge
Matt Ward 13 years ago
parent
commit
1c3161d42e
  1. 8
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs
  2. 6
      src/Main/Base/Project/Src/Services/IconService.cs

8
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs

@ -41,7 +41,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
if (file.FileName != null) { if (file.FileName != null) {
string filetype = Path.GetExtension(file.FileName); string filetype = Path.GetExtension(file.FileName);
if (!ProjectService.GetFileFilters().Any(f => f.ContainsExtension(filetype))) if (!IsKnownFileExtension(filetype))
filetype = ".?"; filetype = ".?";
trackedFeature = AnalyticsMonitorService.TrackFeature(typeof(AvalonEditViewContent), "open" + filetype.ToLowerInvariant()); trackedFeature = AnalyticsMonitorService.TrackFeature(typeof(AvalonEditViewContent), "open" + filetype.ToLowerInvariant());
} }
@ -55,6 +55,12 @@ namespace ICSharpCode.AvalonEdit.AddIn
codeEditor.TextCopied += codeEditor_TextCopied; codeEditor.TextCopied += codeEditor_TextCopied;
} }
bool IsKnownFileExtension(string filetype)
{
return ProjectService.GetFileFilters().Any(f => f.ContainsExtension(filetype)) ||
IconService.HasImageForFile(filetype);
}
void codeEditor_Document_UndoStack_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) void codeEditor_Document_UndoStack_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{ {
if (!isLoading) if (!isLoading)

6
src/Main/Base/Project/Src/Services/IconService.cs

@ -102,6 +102,12 @@ namespace ICSharpCode.SharpDevelop
return "Icons.16x16.MiscFiles"; return "Icons.16x16.MiscFiles";
} }
public static bool HasImageForFile(string fileName)
{
string extension = Path.GetExtension(fileName).ToUpperInvariant();
return extensionHashtable.ContainsKey(extension);
}
static void InitializeIcons(AddInTreeNode treeNode) static void InitializeIcons(AddInTreeNode treeNode)
{ {
extensionHashtable[".PRJX"] = "Icons.16x16.SolutionIcon"; extensionHashtable[".PRJX"] = "Icons.16x16.SolutionIcon";

Loading…
Cancel
Save