Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions Knossos.NET/Classes/Knossos.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,21 @@ public static class Knossos
public static bool isKnDataFolderReadOnly { get; private set; } = false;
public static bool inSingleTCMode { get; private set; } = false;
public static bool initIsComplete { get; private set; } = false;
public static IDictionary<string, string> filterDisplayStrings { get; private set;} = new Dictionary<string, string>
{
["total_conversion"] = "Standalone Game",
["retail_fs2"] = "Retail Freespace 2",
["fs2_mod"] = "Freespace 2 Mod",
["fs1_mod"] = "Freespace 1 Mod",
["tc_mod"] = "Standalone Game Mod",
["utility"] = "Utilities and Misc",
["dependency"] = "Dependency",
["asset_pack"] = "Asset Pack",
["demo"] = "Demo Mod",
["multiplayer"] = "Multiplayer Enabled",
["vr_mod"] = "VR",
["test"] = "For Testing",
};

/// <summary>
/// Static constructor
Expand Down
15 changes: 12 additions & 3 deletions Knossos.NET/ViewModels/ModListViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -151,13 +151,22 @@ private void BuildFilterString(){
break;
// easiest case, this handles a filter list of one and the start of all other cases
} else if (count == 0){
FilterString += myTI.ToTitleCase(filter.Replace("_", " "));
if (Knossos.filterDisplayStrings.ContainsKey(filter.ToLower()))
FilterString += Knossos.filterDisplayStrings[filter.ToLower()];
else
FilterString += myTI.ToTitleCase(filter.Replace("_", " "));
// Last case except for 0 will always have an and
} else if (count == externalCount - 1){
FilterString += " and " + myTI.ToTitleCase(filter.Replace("_", " "));; // No Oxford commas here!
if (Knossos.filterDisplayStrings.ContainsKey(filter.ToLower()))
FilterString += " and " + Knossos.filterDisplayStrings[filter.ToLower()];
else
FilterString += " and " + myTI.ToTitleCase(filter.Replace("_", " "));; // No Oxford commas here!
// Other cases will always have a comma
} else {
FilterString += ", " + myTI.ToTitleCase(filter.Replace("_", " "));;
if (Knossos.filterDisplayStrings.ContainsKey(filter.ToLower()))
FilterString += ", " + Knossos.filterDisplayStrings[filter.ToLower()];
else
FilterString += ", " + myTI.ToTitleCase(filter.Replace("_", " "));
}

FiltersEnabled = true;
Expand Down
15 changes: 12 additions & 3 deletions Knossos.NET/ViewModels/NebulaModListViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -174,13 +174,22 @@ private void BuildFilterString(){
break;
// easiest case, this handles a filter list of one and the start of all other cases
} else if (count == 0){
FilterString += myTI.ToTitleCase(filter.Replace("_", " "));
if (Knossos.filterDisplayStrings.ContainsKey(filter.ToLower()))
FilterString += Knossos.filterDisplayStrings[filter.ToLower()];
else
FilterString += myTI.ToTitleCase(filter.Replace("_", " "));
// Last case except for 0 will always have an and
} else if (count == externalCount - 1){
FilterString += " and " + myTI.ToTitleCase(filter.Replace("_", " "));; // No Oxford commas here!
if (Knossos.filterDisplayStrings.ContainsKey(filter.ToLower()))
FilterString += " and " + Knossos.filterDisplayStrings[filter.ToLower()];
else
FilterString += " and " + myTI.ToTitleCase(filter.Replace("_", " "));; // No Oxford commas here!
// Other cases will always have a comma
} else {
FilterString += ", " + myTI.ToTitleCase(filter.Replace("_", " "));;
if (Knossos.filterDisplayStrings.ContainsKey(filter.ToLower()))
FilterString += ", " + Knossos.filterDisplayStrings[filter.ToLower()];
else
FilterString += ", " + myTI.ToTitleCase(filter.Replace("_", " "));
}

FiltersEnabled = true;
Expand Down
12 changes: 10 additions & 2 deletions Knossos.NET/Views/ModListView.axaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,16 @@ public void GenerateFilterButtons()
foreach (var tag in tags.Select((x, i) => new { Value = x, Index = i }))
{
TextInfo myTI = new CultureInfo("en-US", false).TextInfo;
var displayName = myTI.ToTitleCase(tag.Value.Replace("_", " "));
var button = new Button { Content = displayName, Tag = tag.Index, Width = 150, Margin = new Thickness(2) };
var displayName = String.Empty;

if (Knossos.filterDisplayStrings.ContainsKey(tag.Value.ToLower()))
{
displayName = Knossos.filterDisplayStrings[tag.Value.ToLower()];
} else {
displayName = myTI.ToTitleCase(tag.Value.Replace("_", " "));
}

var button = new Button { Content = displayName, Tag = tag.Index, Width = 150, Margin = new Thickness(2), FontSize = 12 };
button.Click += (_, __) =>
{
//This code runs when the button is clicked
Expand Down
10 changes: 9 additions & 1 deletion Knossos.NET/Views/NebulaModListView.axaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,15 @@ public void GenerateFilterButtons()
foreach (var tag in tags.Select((x, i) => new { Value = x, Index = i }))
{
TextInfo myTI = new CultureInfo("en-US", false).TextInfo;
var displayName = myTI.ToTitleCase(tag.Value.Replace("_", " "));
var displayName = String.Empty;

if (Knossos.filterDisplayStrings.ContainsKey(tag.Value.ToLower()))
{
displayName = Knossos.filterDisplayStrings[tag.Value.ToLower()];
} else {
displayName = myTI.ToTitleCase(tag.Value.Replace("_", " "));
}

var button = new Button { Content = displayName, Tag = tag.Index, Width = 150, Margin = new Thickness(2) };
button.Click += (_, __) =>
{
Expand Down