fixed #6439: Added hotkeys for each pin to screen action

This commit is contained in:
Jaex 2022-08-21 20:33:39 +03:00
parent 91aeefd452
commit 8d20db7443
4 changed files with 124 additions and 0 deletions

View file

@ -1839,6 +1839,60 @@ internal class Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Pin to screen (From clipboard).
/// </summary>
internal static string HotkeyType_PinToScreenFromClipboard {
get {
return ResourceManager.GetString("HotkeyType_PinToScreenFromClipboard", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Tools.
/// </summary>
internal static string HotkeyType_PinToScreenFromClipboard_Category {
get {
return ResourceManager.GetString("HotkeyType_PinToScreenFromClipboard_Category", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Pin to screen (From file).
/// </summary>
internal static string HotkeyType_PinToScreenFromFile {
get {
return ResourceManager.GetString("HotkeyType_PinToScreenFromFile", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Tools.
/// </summary>
internal static string HotkeyType_PinToScreenFromFile_Category {
get {
return ResourceManager.GetString("HotkeyType_PinToScreenFromFile_Category", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Pin to screen (From screen).
/// </summary>
internal static string HotkeyType_PinToScreenFromScreen {
get {
return ResourceManager.GetString("HotkeyType_PinToScreenFromScreen", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Tools.
/// </summary>
internal static string HotkeyType_PinToScreenFromScreen_Category {
get {
return ResourceManager.GetString("HotkeyType_PinToScreenFromScreen_Category", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Capture entire screen.
/// </summary>

View file

@ -1469,4 +1469,22 @@ Would you like to download and install it?</value>
<data name="ShapeType_ToolCutOut" xml:space="preserve">
<value>Cut out (X)</value>
</data>
<data name="HotkeyType_PinToScreenFromClipboard" xml:space="preserve">
<value>Pin to screen (From clipboard)</value>
</data>
<data name="HotkeyType_PinToScreenFromClipboard_Category" xml:space="preserve">
<value>Tools</value>
</data>
<data name="HotkeyType_PinToScreenFromFile" xml:space="preserve">
<value>Pin to screen (From file)</value>
</data>
<data name="HotkeyType_PinToScreenFromFile_Category" xml:space="preserve">
<value>Tools</value>
</data>
<data name="HotkeyType_PinToScreenFromScreen" xml:space="preserve">
<value>Pin to screen (From screen)</value>
</data>
<data name="HotkeyType_PinToScreenFromScreen_Category" xml:space="preserve">
<value>Tools</value>
</data>
</root>

View file

@ -215,6 +215,9 @@ public enum HotkeyType // Localized + Category
ScreenColorPicker,
Ruler,
PinToScreen,
PinToScreenFromScreen,
PinToScreenFromClipboard,
PinToScreenFromFile,
ImageEditor,
ImageEffects,
ImageViewer,

View file

@ -181,6 +181,15 @@ public static async Task ExecuteJob(TaskSettings taskSettings, HotkeyType job, C
case HotkeyType.PinToScreen:
PinToScreen();
break;
case HotkeyType.PinToScreenFromScreen:
PinToScreenFromScreen();
break;
case HotkeyType.PinToScreenFromClipboard:
PinToScreenFromClipboard();
break;
case HotkeyType.PinToScreenFromFile:
PinToScreenFromFile();
break;
case HotkeyType.ImageEditor:
if (command != null && !string.IsNullOrEmpty(command.Parameter) && File.Exists(command.Parameter))
{
@ -1306,6 +1315,43 @@ public static void PinToScreen(string filePath)
PinToScreen(image);
}
public static void PinToScreenFromScreen()
{
if (RegionCaptureTasks.GetRectangleRegion(out Rectangle rect))
{
Image image = new Screenshot().CaptureRectangle(rect);
if (image != null)
{
PinToScreen(image, rect.Location);
}
}
}
public static void PinToScreenFromClipboard()
{
Image image = ClipboardHelpers.TryGetImage();
if (image != null)
{
PinToScreen(image);
}
else
{
MessageBox.Show(Resources.ClipboardDoesNotContainAnImage, "ShareX - " + Resources.PinToScreen, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
public static void PinToScreenFromFile()
{
Image image = ImageHelpers.LoadImageWithFileDialog();
if (image != null)
{
PinToScreen(image);
}
}
public static void TweetMessage()
{
if (IsUploadAllowed())
@ -1597,6 +1643,9 @@ public static void OpenCustomUploaderSettingsWindow()
case HotkeyType.ScreenColorPicker: return Resources.pipette;
case HotkeyType.Ruler: return Resources.ruler_triangle;
case HotkeyType.PinToScreen: return Resources.pin;
case HotkeyType.PinToScreenFromScreen: return Resources.pin;
case HotkeyType.PinToScreenFromClipboard: return Resources.pin;
case HotkeyType.PinToScreenFromFile: return Resources.pin;
case HotkeyType.ImageEditor: return Resources.image_pencil;
case HotkeyType.ImageEffects: return Resources.image_saturation;
case HotkeyType.ImageViewer: return Resources.images_flickr;