Browse Source

Applied "Sortable OpenTaskView pad" patch from David Alpert.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@750 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
167a0e3a4e
  1. 41
      src/Main/Base/Project/Src/Gui/Pads/OpenTaskView.cs

41
src/Main/Base/Project/Src/Gui/Pads/OpenTaskView.cs

@ -80,10 +80,17 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -80,10 +80,17 @@ namespace ICSharpCode.SharpDevelop.Gui
listView.ItemActivate += new EventHandler(ListViewItemActivate);
listView.MouseMove += new MouseEventHandler(ListViewMouseMove);
listView.Resize += new EventHandler(ListViewResize);
listView.ColumnClick += new ColumnClickEventHandler(ListViewColumnClick);
ShowResults2(null, null);
}
public void ListViewColumnClick(object sender, ColumnClickEventArgs e)
{
listView.ListViewItemSorter = new OpenTaskViewSorter(e.Column);
}
public override void RedrawContent()
{
line.Text = ResourceService.GetString("CompilerResultView.LineText");
@ -261,5 +268,39 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -261,5 +268,39 @@ namespace ICSharpCode.SharpDevelop.Gui
listView.Invoke(new EventHandler(ShowResults2));
// SelectTaskView(null, null);
}
private class OpenTaskViewSorter : IComparer
{
static int lastSortColumn = -1;
static SortOrder lastSortOrder = SortOrder.Ascending;
public OpenTaskViewSorter(int col)
{
if (col==lastSortColumn) {
if (lastSortOrder == SortOrder.Ascending) {
lastSortOrder = SortOrder.Descending;
} else {
lastSortOrder = SortOrder.Ascending;
}
} else {
lastSortColumn = col;
lastSortOrder = SortOrder.Ascending;
}
}
#region System.Collections.IComparer interface implementation
public int Compare(object x, object y) {
ListViewItem a = (ListViewItem)x;
ListViewItem b = (ListViewItem)y;
if (lastSortOrder == SortOrder.Ascending) {
return a.SubItems[lastSortColumn].Text.CompareTo(b.SubItems[lastSortColumn].Text);
} else {
return b.SubItems[lastSortColumn].Text.CompareTo(a.SubItems[lastSortColumn].Text);
}
}
#endregion
}
}
}

Loading…
Cancel
Save