diff --git a/Knossos.NET/Models/CustomLauncher.cs b/Knossos.NET/Models/CustomLauncher.cs
index e0f7ad9e..a8405e62 100644
--- a/Knossos.NET/Models/CustomLauncher.cs
+++ b/Knossos.NET/Models/CustomLauncher.cs
@@ -71,6 +71,24 @@ public static class CustomLauncher
///
public static string WindowTitle { get; private set; } = "Knet Launcher";
+ ///
+ /// Custom text for the message that states when Nebula is downloading the repo_minimal.json on the Home Screen.
+ /// By default this is "Nebula: repo_minimal.json is up to date!"
+ ///
+ public static string NebulaTextDownloading { get; private set; } = "Downloading repo_minimal.json";
+
+ ///
+ /// Custom text for the message that states when Nebula is up-to-date for the repo_minimal.json on the Home Screen.
+ /// By default this is "Nebula: repo_minimal.json is up to date!"
+ ///
+ public static string NebulaTextUpToDate { get; private set; } = "Nebula: repo_minimal.json is up to date!";
+
+ ///
+ /// Custom text for the tool tip that shows when hovering over the Nebula status on the Home Screen.
+ /// By default this is "The repo_minimal.json file contains info on all the mods available in Nebula, without this you will not be able to install new mods or engine builds"
+ ///
+ public static string NebulaTextToolTip { get; private set; } = "The repo_minimal.json file contains info on all the mods available in Nebula, without this you will not be able to install new mods or engine builds";
+
///
/// Starting width size of the launcher window
/// This is also the min width
@@ -250,6 +268,15 @@ private static void ReadCustomFile()
if (customData.WindowTitle != null)
WindowTitle = customData.WindowTitle;
+ if (customData.NebulaTextDownloading != null)
+ NebulaTextDownloading = customData.NebulaTextDownloading;
+
+ if (customData.NebulaTextUpToDate != null)
+ NebulaTextUpToDate = customData.NebulaTextUpToDate;
+
+ if (customData.NebulaTextToolTip != null)
+ NebulaTextToolTip = customData.NebulaTextToolTip;
+
if (customData.WindowWidth != null)
WindowWidth = customData.WindowWidth;
@@ -318,6 +345,9 @@ struct CustomFileData
public bool? UseCustomFSODataFolder { get; set; }
public bool? AllowLauncherUpdates { get; set; }
public string? WindowTitle { get; set; }
+ public string? NebulaTextDownloading { get; set; }
+ public string? NebulaTextUpToDate { get; set; }
+ public string? NebulaTextToolTip { get; set; }
public int? WindowWidth { get; set; }
public int? WindowHeight { get; set; }
public bool? MenuTaskButtonAtTheEnd { get; set; }
diff --git a/Knossos.NET/Models/Nebula.cs b/Knossos.NET/Models/Nebula.cs
index a57dd525..64875bd8 100644
--- a/Knossos.NET/Models/Nebula.cs
+++ b/Knossos.NET/Models/Nebula.cs
@@ -127,12 +127,15 @@ public static async Task Trinity()
{
bool displayUpdates = settings.NewerModsVersions.Any() && !CustomLauncher.IsCustomMode ? true : false;
var webEtag = await KnUtils.GetUrlFileEtag(repoUrl).ConfigureAwait(false);
+ var neb_text_downloading = CustomLauncher.IsCustomMode ? CustomLauncher.NebulaTextDownloading : "Downloading repo_minimal.json";
+ var neb_text_uptodate = CustomLauncher.IsCustomMode ? CustomLauncher.NebulaTextUpToDate : "Nebula: repo_minimal.json is up to date!";
+ var neb_text_tooltip = CustomLauncher.IsCustomMode ? CustomLauncher.NebulaTextToolTip : "The repo_minimal.json file contains info on all the mods available in Nebula, without this you will not be able to install new mods or engine builds";
if (!File.Exists(KnUtils.GetKnossosDataFolderPath() + Path.DirectorySeparatorChar + "repo_minimal.json") || settings.etag != webEtag)
{
//Download the repo_minimal.json
if (TaskViewModel.Instance != null)
{
- var result = await Dispatcher.UIThread.InvokeAsync(async()=>await TaskViewModel.Instance.AddFileDownloadTask(repoUrl, KnUtils.GetKnossosDataFolderPath() + Path.DirectorySeparatorChar + "repo_minimal_temp.json", "Downloading repo_minimal.json", true, "The repo_minimal.json file contains info on all the mods available in Nebula, without this you will not be able to install new mods or engine builds"), DispatcherPriority.Background).ConfigureAwait(false);
+ var result = await Dispatcher.UIThread.InvokeAsync(async()=>await TaskViewModel.Instance.AddFileDownloadTask(repoUrl, KnUtils.GetKnossosDataFolderPath() + Path.DirectorySeparatorChar + "repo_minimal_temp.json", neb_text_downloading, true, neb_text_tooltip), DispatcherPriority.Background).ConfigureAwait(false);
if (cancellationToken!.IsCancellationRequested)
{
@@ -162,7 +165,7 @@ public static async Task Trinity()
else
{
//No update is needed
- Dispatcher.UIThread.Invoke(() => TaskViewModel.Instance?.AddMessageTask("Nebula: repo_minimal.json is up to date!"), DispatcherPriority.Background);
+ Dispatcher.UIThread.Invoke(() => TaskViewModel.Instance?.AddMessageTask(neb_text_uptodate, neb_text_tooltip), DispatcherPriority.Background);
Log.Add(Log.LogSeverity.Information, "Nebula.Trinity()", "repo_minimal.json is up to date!");
displayUpdates = false;
repoLoaded = true;
@@ -880,7 +883,7 @@ public static async Task UploadLog(string logString)
}
else
{
- Log.Add(Log.LogSeverity.Error, "Nebula.UploadLog", "Error uploading log to nebula, reason: " + reply.Value.reason);
+ Log.Add(Log.LogSeverity.Error, "Nebula.UploadLog", "Error uploading log to Nebula, reason: " + reply.Value.reason);
}
}
}
@@ -1248,7 +1251,7 @@ public static async Task IsModEditable(string id)
{
members += item.user + "(" + item.role.ToString() + ") ";
}
- Log.Add(Log.LogSeverity.Information, "Nebula.GetTeamMembers", "Mod id: " + modid + " members: " + members);
+ Log.Add(Log.LogSeverity.Information, "Nebula.GetTeamMembers", "Mod ID: " + modid + " members: " + members);
}
}
else
diff --git a/Knossos.NET/ViewModels/Windows/DevModCreateNewViewModel.cs b/Knossos.NET/ViewModels/Windows/DevModCreateNewViewModel.cs
index a388c0fa..c5addb44 100644
--- a/Knossos.NET/ViewModels/Windows/DevModCreateNewViewModel.cs
+++ b/Knossos.NET/ViewModels/Windows/DevModCreateNewViewModel.cs
@@ -122,22 +122,22 @@ private async Task Verify()
//ID
if (ModId.Replace(" ", "").Length <= 2)
{
- await MessageBox.Show(MainWindow.instance, "Mod id cant be empty or be less than 3 characters: " + ModId, "Validation error", MessageBox.MessageBoxButtons.OK);
+ await MessageBox.Show(MainWindow.instance, "Mod ID cant be empty or be less than 3 characters: " + ModId, "Validation error", MessageBox.MessageBoxButtons.OK);
return false;
}
if (ModId.ToLower() == "tools" || ModId.ToLower() == "fso")
{
- await MessageBox.Show(MainWindow.instance, "Mod id: " + ModId+" is a reserved value", "Validation error", MessageBox.MessageBoxButtons.OK);
+ await MessageBox.Show(MainWindow.instance, "Mod ID: " + ModId+" is a reserved value", "Validation error", MessageBox.MessageBoxButtons.OK);
return false;
}
if (await Nebula.IsModIdInNebula(ModId))
{
- await MessageBox.Show(MainWindow.instance, "Mod id already exist in Nebula: " + ModId, "Validation error", MessageBox.MessageBoxButtons.OK);
+ await MessageBox.Show(MainWindow.instance, "Mod ID already exist in Nebula: " + ModId, "Validation error", MessageBox.MessageBoxButtons.OK);
return false;
}
if (Knossos.GetInstalledModList(ModId).Any() || Knossos.GetInstalledBuildsList(ModId).Any())
{
- await MessageBox.Show(MainWindow.instance, "Mod id already exist locally: " + ModId, "Validation error", MessageBox.MessageBoxButtons.OK);
+ await MessageBox.Show(MainWindow.instance, "Mod ID already exist locally: " + ModId, "Validation error", MessageBox.MessageBoxButtons.OK);
return false;
}
//If modtype = Mod it has to have a parent mod
diff --git a/Knossos.NET/Views/CustomHomeView.axaml b/Knossos.NET/Views/CustomHomeView.axaml
index 14e0c38b..8352155a 100644
--- a/Knossos.NET/Views/CustomHomeView.axaml
+++ b/Knossos.NET/Views/CustomHomeView.axaml
@@ -105,7 +105,7 @@
Margin="0,2,0,0" Height="50" Width="150" FontSize="24"
IsVisible="{Binding !Installing}" IsEnabled="{Binding NebulaServices}">