mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-02 18:26:27 +13:00
commit
4ce50bf707
12 changed files with 62 additions and 33 deletions
|
@ -108,7 +108,7 @@ public OCRSpaceResponse DoOCR(Stream stream, string fileName)
|
|||
arguments.Add("language", Language.ToString());
|
||||
arguments.Add("isOverlayRequired", Overlay.ToString());
|
||||
|
||||
UploadResult ur = SendRequestFile(APIURLUSA, stream, fileName, "file", arguments);
|
||||
UploadResult ur = SendRequestFile(APIURLUSA, stream, fileName, args: arguments);
|
||||
|
||||
if (ur.IsSuccess)
|
||||
{
|
||||
|
|
|
@ -265,10 +265,12 @@ public enum RegionCaptureType
|
|||
Default, Light, Transparent
|
||||
}
|
||||
|
||||
#if !WindowsStore
|
||||
public enum StartupTaskState
|
||||
{
|
||||
Disabled = 0,
|
||||
DisabledByUser = 1,
|
||||
Enabled = 2
|
||||
}
|
||||
#endif
|
||||
}
|
|
@ -31,6 +31,10 @@ You should have received a copy of the GNU General Public License
|
|||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#if WindowsStore
|
||||
using Windows.ApplicationModel;
|
||||
#endif
|
||||
|
||||
namespace ShareX
|
||||
{
|
||||
public partial class ApplicationSettingsForm : Form
|
||||
|
@ -251,7 +255,7 @@ private void UpdateStartWithWindows()
|
|||
|
||||
try
|
||||
{
|
||||
StartupTaskState state = StartupManagerFactory.StartupManager.State;
|
||||
var state = StartupManagerSingletonProvider.CurrentStartupManager.State;
|
||||
cbStartWithWindows.Checked = state == StartupTaskState.Enabled;
|
||||
|
||||
if (state == StartupTaskState.DisabledByUser)
|
||||
|
@ -405,7 +409,7 @@ private void cbStartWithWindows_CheckedChanged(object sender, EventArgs e)
|
|||
{
|
||||
try
|
||||
{
|
||||
StartupManagerFactory.StartupManager.State = cbStartWithWindows.Checked ? StartupTaskState.Enabled : StartupTaskState.Disabled;
|
||||
StartupManagerSingletonProvider.CurrentStartupManager.State = cbStartWithWindows.Checked ? StartupTaskState.Enabled : StartupTaskState.Disabled;
|
||||
UpdateStartWithWindows();
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
|
@ -27,6 +27,10 @@ You should have received a copy of the GNU General Public License
|
|||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#if WindowsStore
|
||||
using Windows.ApplicationModel;
|
||||
#endif
|
||||
|
||||
namespace ShareX
|
||||
{
|
||||
public partial class FirstTimeConfigForm : BlackStyleForm
|
||||
|
@ -37,7 +41,7 @@ public FirstTimeConfigForm()
|
|||
{
|
||||
InitializeComponent();
|
||||
pbLogo.Image = ImageHelpers.ResizeImage(ShareXResources.Logo, 128, 128);
|
||||
StartupTaskState state = StartupManagerFactory.StartupManager.State;
|
||||
var state = StartupManagerSingletonProvider.CurrentStartupManager.State;
|
||||
|
||||
cbRunStartup.Checked = state == StartupTaskState.Enabled;
|
||||
cbRunStartup.Enabled = state != StartupTaskState.DisabledByUser;
|
||||
|
@ -63,7 +67,7 @@ private void cbRunStartup_CheckedChanged(object sender, EventArgs e)
|
|||
{
|
||||
if (loaded)
|
||||
{
|
||||
StartupManagerFactory.StartupManager.State = cbRunStartup.Checked ? StartupTaskState.Enabled : StartupTaskState.Disabled;
|
||||
StartupManagerSingletonProvider.CurrentStartupManager.State = cbRunStartup.Checked ? StartupTaskState.Enabled : StartupTaskState.Disabled;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -31,6 +31,10 @@ You should have received a copy of the GNU General Public License
|
|||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#if WindowsStore
|
||||
using Windows.ApplicationModel;
|
||||
#endif
|
||||
|
||||
namespace ShareX
|
||||
{
|
||||
public static class IntegrationHelpers
|
||||
|
@ -347,7 +351,7 @@ public static void SteamShowInApp(bool showInApp)
|
|||
|
||||
public static void Uninstall()
|
||||
{
|
||||
StartupManagerFactory.StartupManager.State = StartupTaskState.Disabled;
|
||||
StartupManagerSingletonProvider.CurrentStartupManager.State = StartupTaskState.Disabled;
|
||||
CreateShellContextMenuButton(false);
|
||||
CreateCustomUploaderExtension(false);
|
||||
CreateSendToMenuButton(false);
|
||||
|
|
|
@ -328,7 +328,7 @@
|
|||
<Compile Include="StartupManagers\DesktopStartupManager.cs" />
|
||||
<Compile Include="StartupManagers\GenericStartupManager.cs" />
|
||||
<Compile Include="StartupManagers\IStartupManager.cs" />
|
||||
<Compile Include="StartupManagers\StartupManagerFactory.cs" />
|
||||
<Compile Include="StartupManagers\StartupManagerSingletonProvider.cs" />
|
||||
<Compile Include="StartupManagers\SteamStartupManager.cs" />
|
||||
<Compile Include="TaskHelpers.cs" />
|
||||
<Compile Include="Program.cs" />
|
||||
|
|
|
@ -26,29 +26,33 @@ You should have received a copy of the GNU General Public License
|
|||
#if WindowsStore
|
||||
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Windows.ApplicationModel;
|
||||
|
||||
namespace ShareX
|
||||
{
|
||||
public class CentennialStartupManager : IStartupManager
|
||||
{
|
||||
public int StartupTargetIndex { get; set; }
|
||||
private const int StartupTargetIndex = 0;
|
||||
private static StartupTask packageTask;
|
||||
|
||||
public StartupTaskState State
|
||||
{
|
||||
get
|
||||
{
|
||||
return (StartupTaskState)StartupTask.GetForCurrentPackageAsync().AsTask().GetAwaiter().GetResult()[StartupTargetIndex].State;
|
||||
AcquirePackageTask().GetAwaiter().GetResult();
|
||||
return packageTask.State;
|
||||
}
|
||||
set
|
||||
{
|
||||
AcquirePackageTask().GetAwaiter().GetResult();
|
||||
if (value == StartupTaskState.Enabled)
|
||||
{
|
||||
StartupTask.GetForCurrentPackageAsync().AsTask().GetAwaiter().GetResult()[StartupTargetIndex].RequestEnableAsync().AsTask().GetAwaiter().GetResult();
|
||||
packageTask.RequestEnableAsync().GetAwaiter().GetResult();
|
||||
}
|
||||
else if (value == StartupTaskState.Disabled)
|
||||
{
|
||||
StartupTask.GetForCurrentPackageAsync().AsTask().GetAwaiter().GetResult()[StartupTargetIndex].Disable();
|
||||
packageTask.Disable();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -56,6 +60,14 @@ public StartupTaskState State
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
private async Task AcquirePackageTask()
|
||||
{
|
||||
if (packageTask == null)
|
||||
{
|
||||
packageTask = (await StartupTask.GetForCurrentPackageAsync())[StartupTargetIndex];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,8 @@ You should have received a copy of the GNU General Public License
|
|||
|
||||
#endregion License Information (GPL v3)
|
||||
|
||||
#if !WindowsStore
|
||||
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ShareX
|
||||
|
@ -31,4 +33,6 @@ public class DesktopStartupManager : GenericStartupManager
|
|||
{
|
||||
public override string StartupTargetPath => Application.ExecutablePath;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
|
@ -23,6 +23,8 @@ You should have received a copy of the GNU General Public License
|
|||
|
||||
#endregion License Information (GPL v3)
|
||||
|
||||
#if !WindowsStore
|
||||
|
||||
using Microsoft.Win32;
|
||||
using ShareX.HelpersLib;
|
||||
using System;
|
||||
|
@ -60,4 +62,6 @@ public StartupTaskState State
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
|
@ -23,6 +23,10 @@ You should have received a copy of the GNU General Public License
|
|||
|
||||
#endregion License Information (GPL v3)
|
||||
|
||||
#if WindowsStore
|
||||
using Windows.ApplicationModel;
|
||||
#endif
|
||||
|
||||
namespace ShareX
|
||||
{
|
||||
public interface IStartupManager
|
||||
|
|
|
@ -25,31 +25,18 @@ You should have received a copy of the GNU General Public License
|
|||
|
||||
namespace ShareX
|
||||
{
|
||||
public static class StartupManagerFactory
|
||||
public static class StartupManagerSingletonProvider
|
||||
{
|
||||
private static IStartupManager startupManager;
|
||||
public static IStartupManager CurrentStartupManager { get; private set; }
|
||||
|
||||
public static IStartupManager StartupManager
|
||||
{
|
||||
get
|
||||
{
|
||||
if (startupManager == null)
|
||||
{
|
||||
startupManager = CreateStartupManager();
|
||||
}
|
||||
|
||||
return startupManager;
|
||||
}
|
||||
}
|
||||
|
||||
public static IStartupManager CreateStartupManager()
|
||||
static StartupManagerSingletonProvider()
|
||||
{
|
||||
#if WindowsStore
|
||||
return new CentennialStartupManager();
|
||||
CurrentStartupManager = new CentennialStartupManager();
|
||||
#elif STEAM
|
||||
return new SteamStartupManager();
|
||||
CurrentStartupManager = new SteamStartupManager();
|
||||
#else
|
||||
return new DesktopStartupManager();
|
||||
CurrentStartupManager = new DesktopStartupManager();
|
||||
#endif
|
||||
}
|
||||
}
|
|
@ -23,6 +23,8 @@ You should have received a copy of the GNU General Public License
|
|||
|
||||
#endregion License Information (GPL v3)
|
||||
|
||||
#if STEAM
|
||||
|
||||
using ShareX.HelpersLib;
|
||||
|
||||
namespace ShareX
|
||||
|
@ -31,4 +33,6 @@ public class SteamStartupManager : GenericStartupManager
|
|||
{
|
||||
public override string StartupTargetPath => Helpers.GetAbsolutePath("../ShareX_Launcher.exe");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Reference in a new issue