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
4 changes: 2 additions & 2 deletions ModAssistant/Classes/External Interfaces/BeatSaver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ public class BeatSaver

public static async Task<BeatSaverMap> GetFromKey(string Key, bool showNotification = true)
{
if (showNotification && App.OCIWindow != "No") OneClickInstaller.Status.Show();
if (showNotification && App.OCIWindow != "No" && App.OCIWindow != "Notify") OneClickInstaller.Status.Show();
return await GetMap(Key, "key", showNotification);
}

public static async Task<BeatSaverMap> GetFromHash(string Hash, bool showNotification = true)
{
if (showNotification && App.OCIWindow != "No") OneClickInstaller.Status.Show();
if (showNotification && App.OCIWindow != "No" && App.OCIWindow != "Notify") OneClickInstaller.Status.Show();
return await GetMap(Hash, "hash", showNotification);
}

Expand Down
4 changes: 2 additions & 2 deletions ModAssistant/Classes/External Interfaces/Utils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ public class Utils

public static void SetMessage(string message)
{
if (App.OCIWindow != "No")
if (App.OCIWindow != "No" || App.OCIWindow != "Notify")
{
if (App.window == null)
{
if (App.OCIWindow == "No") OneClickStatus.Instance = null;
if (App.OCIWindow == "No" || App.OCIWindow == "Notify") OneClickStatus.Instance = null;
if (OneClickStatus.Instance == null) return;

OneClickStatus.Instance.MainText = message;
Expand Down
18 changes: 15 additions & 3 deletions ModAssistant/Classes/OneClickInstaller.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,19 @@
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
using System.Drawing;
using Microsoft.Win32;
using System.Windows.Forms;
using Application = System.Windows.Application;
using MessageBox = System.Windows.MessageBox;

namespace ModAssistant
{
class OneClickInstaller
{
private static readonly string[] Protocols = new[] { "modelsaber", "beatsaver", "bsplaylist" };
public static OneClickStatus Status = new OneClickStatus();

public static async Task InstallAsset(string link)
{
Uri uri = new Uri(link);
Expand All @@ -33,10 +37,17 @@ public static async Task InstallAsset(string link)
Status.StopRotation();
API.Utils.SetMessage((string)Application.Current.FindResource("OneClick:Done"));
}
if (App.OCIWindow == "Notify")
{
Utils.SendNotify((string)Application.Current.FindResource("OneClick:DoneNotify"));
Application.Current.Shutdown();
}
if (App.OCIWindow == "Close")
{
Application.Current.Shutdown();
}


}

private static async Task BeatSaver(Uri uri)
Expand All @@ -47,14 +58,15 @@ private static async Task BeatSaver(Uri uri)

private static async Task ModelSaber(Uri uri)
{
if (App.OCIWindow != "No") Status.Show();
if (App.OCIWindow != "No" && App.OCIWindow != "Notify") Status.Show();
API.Utils.SetMessage($"{string.Format((string)Application.Current.FindResource("OneClick:Installing"), System.Web.HttpUtility.UrlDecode(uri.Segments.Last()))}");
await API.ModelSaber.GetModel(uri);
}

private static async Task Playlist(Uri uri)
{
if (App.OCIWindow != "No") Status.Show();
if (App.OCIWindow != "No" && App.OCIWindow != "Notify") Status.Show();
if (App.OCIWindow == "Notify") Utils.SendNotify((string)Application.Current.FindResource("OneClick:StartDownloadPlaylist"));
await API.Playlists.DownloadAll(uri);
}

Expand Down
6 changes: 4 additions & 2 deletions ModAssistant/Classes/Utils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Configuration;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Management;
Expand Down Expand Up @@ -71,14 +72,15 @@ public static void SendNotify(string message, string title = null)
var notification = new System.Windows.Forms.NotifyIcon()
{
Visible = true,
Icon = System.Drawing.SystemIcons.Information,
// resource icon from pack
Icon = System.Drawing.Icon.ExtractAssociatedIcon(ExePath),
BalloonTipTitle = title ?? defaultTitle,
BalloonTipText = message
};

notification.ShowBalloonTip(5000);

notification.Dispose();
// notification.Dispose(); This seems to cause Microsoft.Explorer.Notification.{random guid}
}

public static void StartAsAdmin(string Arguments, bool Close = false)
Expand Down
3 changes: 3 additions & 0 deletions ModAssistant/Localisation/en.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@
<sys:String x:Key="Options:ShowOCIWindow">Show OneClick Installer Window</sys:String>
<sys:String x:Key="Options:OCIWindowYes">Yes</sys:String>
<sys:String x:Key="Options:OCIWindowClose">Close</sys:String>
<sys:String x:Key="Options:OCINotify">Notification</sys:String>
<sys:String x:Key="Options:OCIWindowNo">No</sys:String>
<sys:String x:Key="Options:Diagnostics">Diagnostics</sys:String>
<sys:String x:Key="Options:OpenLogsButton">Open Logs</sys:String>
Expand Down Expand Up @@ -231,6 +232,8 @@
<sys:String x:Key="OneClick:RatelimitSkip">Max tries reached: Skipping {0}</sys:String>
<sys:String x:Key="OneClick:RatelimitHit">Ratelimit hit. Resuming in {0}</sys:String>
<sys:String x:Key="OneClick:Failed">Download failed: {0}</sys:String>
<sys:String x:Key="OneClick:DoneNotify">OneClick™ installation finished</sys:String>
<sys:String x:Key="OneClick:StartDownloadPlaylist">Starting to download playlist</sys:String>
<sys:String x:Key="OneClick:Done">Done'd</sys:String>

<!-- Themes Class -->
Expand Down
2 changes: 1 addition & 1 deletion ModAssistant/OneClickStatus.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public string MainText
public OneClickStatus()
{
InitializeComponent();
Instance = App.OCIWindow != "No" ? this : null;
Instance = (App.OCIWindow == "No" && App.OCIWindow == "Notify") ? null : this;
}

public void StopRotation()
Expand Down
1 change: 1 addition & 0 deletions ModAssistant/Pages/Options.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@
SelectionChanged="ShowOCIWindowComboBox_SelectionChanged">
<ComboBoxItem Tag="Yes" Content="{DynamicResource Options:OCIWindowYes}" />
<ComboBoxItem Tag="Close" Content="{DynamicResource Options:OCIWindowClose}" />
<ComboBoxItem Tag="Notify" Content="{DynamicResource Options:OCINotify}" />
<ComboBoxItem Tag="No" Content="{DynamicResource Options:OCIWindowNo}"/>
</ComboBox>
</StackPanel>
Expand Down
3 changes: 2 additions & 1 deletion ModAssistant/Pages/Options.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,8 @@ public void UpdateOCIWindow(string state)
{
if (state == "Yes") comboBox.SelectedIndex = 0;
else if (state == "Close") comboBox.SelectedIndex = 1;
else if (state == "No") comboBox.SelectedIndex = 2;
else if (state == "Notify") comboBox.SelectedIndex = 2;
else if (state == "No") comboBox.SelectedIndex = 3;
else return;
}
if (!string.IsNullOrEmpty(state))
Expand Down