Skip to content

Commit 4a56d2b

Browse files
committed
Minor fix column sort on macOS
1 parent 0a39ada commit 4a56d2b

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

macOS/MainWindowController.cs

+17-9
Original file line numberDiff line numberDiff line change
@@ -715,23 +715,31 @@ public override void SortDescriptorsChanged(NSTableView tableView, NSSortDescrip
715715
case "titleName":
716716
return string.Compare(x.titleName, y.titleName) * (sortDescriptor.Ascending ? 1 : -1);
717717
case "displayVersion":
718-
return string.Compare(x.displayVersion, y.displayVersion) * (sortDescriptor.Ascending ? 1 : -1);
718+
if (!Version.TryParse(x.displayVersion, out Version verx))
719+
{
720+
verx = new Version();
721+
}
722+
if (!Version.TryParse(y.displayVersion, out Version very))
723+
{
724+
very = new Version();
725+
}
726+
return verx.CompareTo(very) * (sortDescriptor.Ascending ? 1 : -1);
719727
case "version":
720-
return (int)((x.version - y.version) * (sortDescriptor.Ascending ? 1 : -1));
728+
return x.version.CompareTo(y.version) * (sortDescriptor.Ascending ? 1 : -1);
721729
case "latestVersion":
722-
return (int)((x.latestVersion - y.latestVersion) * (sortDescriptor.Ascending ? 1 : -1));
730+
return x.latestVersion.CompareTo(y.latestVersion) * (sortDescriptor.Ascending ? 1 : -1);
723731
case "systemUpdate":
724-
return (int)((x.systemUpdate - y.systemUpdate) * (sortDescriptor.Ascending ? 1 : -1));
732+
return x.systemUpdate.CompareTo(y.systemUpdate) * (sortDescriptor.Ascending ? 1 : -1);
725733
case "systemVersion":
726-
return (int)((x.systemVersion - y.systemVersion) * (sortDescriptor.Ascending ? 1 : -1));
734+
return x.systemVersion.CompareTo(y.systemVersion) * (sortDescriptor.Ascending ? 1 : -1);
727735
case "applicationVersion":
728-
return (int)((x.applicationVersion - y.applicationVersion) * (sortDescriptor.Ascending ? 1 : -1));
729-
case "masterkeyString":
730-
return string.Compare(x.masterkeyString, y.masterkeyString) * (sortDescriptor.Ascending ? 1 : -1);
736+
return x.applicationVersion.CompareTo(y.applicationVersion) * (sortDescriptor.Ascending ? 1 : -1);
737+
case "masterkey":
738+
return x.masterkey.CompareTo(y.masterkey) * (sortDescriptor.Ascending ? 1 : -1);
731739
case "filename":
732740
return string.Compare(x.filename, y.filename) * (sortDescriptor.Ascending ? 1 : -1);
733741
case "filesize":
734-
return (int)((x.filesize - y.filesize) * (sortDescriptor.Ascending ? 1 : -1));
742+
return x.filesize.CompareTo(y.filesize) * (sortDescriptor.Ascending ? 1 : -1);
735743
case "typeString":
736744
return string.Compare(x.typeString, y.typeString) * (sortDescriptor.Ascending ? 1 : -1);
737745
case "distribution":

0 commit comments

Comments
 (0)