#region License Information (GPL v3) /* ShareX - A program that allows you to take screenshots and share any file type Copyright (c) 2007-2024 ShareX Team This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Optionally you can also view the license at . */ #endregion License Information (GPL v3) using ShareX.HelpersLib; using System; using System.ComponentModel; #if MicrosoftStore using Windows.ApplicationModel; #endif namespace ShareX { public enum ShareXBuild { Debug, Release, Steam, MicrosoftStore, Unknown } public enum UpdateChannel // Localized { Release, PreRelease, Dev } public enum SupportedLanguage { Automatic, // Localized [Description("Nederlands (Dutch)")] Dutch, [Description("English")] English, [Description("Français (French)")] French, [Description("Deutsch (German)")] German, [Description("עִברִית (Hebrew)")] Hebrew, [Description("Magyar (Hungarian)")] Hungarian, [Description("Bahasa Indonesia (Indonesian)")] Indonesian, [Description("Italiano (Italian)")] Italian, [Description("日本語 (Japanese)")] Japanese, [Description("한국어 (Korean)")] Korean, [Description("Español mexicano (Mexican Spanish)")] MexicanSpanish, [Description("فارسی (Persian)")] Persian, [Description("Polski (Polish)")] Polish, [Description("Português (Portuguese)")] Portuguese, [Description("Português-Brasil (Portuguese-Brazil)")] PortugueseBrazil, [Description("Română (Romanian)")] Romanian, [Description("Русский (Russian)")] Russian, [Description("简体中文 (Simplified Chinese)")] SimplifiedChinese, [Description("Español (Spanish)")] Spanish, [Description("繁體中文 (Traditional Chinese)")] TraditionalChinese, [Description("Türkçe (Turkish)")] Turkish, [Description("Українська (Ukrainian)")] Ukrainian, [Description("Tiếng Việt (Vietnamese)")] Vietnamese } public enum TaskJob { Job, DataUpload, FileUpload, TextUpload, ShortenURL, ShareURL, Download, DownloadUpload } public enum TaskStatus { InQueue, Preparing, Working, Stopping, Stopped, Failed, Completed, History } [Flags] public enum AfterCaptureTasks // Localized { None = 0, ShowQuickTaskMenu = 1, ShowAfterCaptureWindow = 1 << 1, BeautifyImage = 1 << 2, AddImageEffects = 1 << 3, AnnotateImage = 1 << 4, CopyImageToClipboard = 1 << 5, PinToScreen = 1 << 6, SendImageToPrinter = 1 << 7, SaveImageToFile = 1 << 8, SaveImageToFileWithDialog = 1 << 9, SaveThumbnailImageToFile = 1 << 10, PerformActions = 1 << 11, CopyFileToClipboard = 1 << 12, CopyFilePathToClipboard = 1 << 13, ShowInExplorer = 1 << 14, ScanQRCode = 1 << 15, DoOCR = 1 << 16, ShowBeforeUploadWindow = 1 << 17, UploadImageToHost = 1 << 18, DeleteFile = 1 << 19 } [Flags] public enum AfterUploadTasks // Localized { None = 0, ShowAfterUploadWindow = 1, UseURLShortener = 1 << 1, ShareURL = 1 << 2, CopyURLToClipboard = 1 << 3, OpenURL = 1 << 4, ShowQRCode = 1 << 5 } public enum CaptureType { Fullscreen, Monitor, ActiveMonitor, Window, ActiveWindow, Region, CustomRegion, LastRegion } public enum ScreenRecordStartMethod { Region, ActiveWindow, CustomRegion, LastRegion } public enum HotkeyType // Localized { None, // Upload [Category(EnumExtensions.HotkeyType_Category_Upload)] FileUpload, [Category(EnumExtensions.HotkeyType_Category_Upload)] FolderUpload, [Category(EnumExtensions.HotkeyType_Category_Upload)] ClipboardUpload, [Category(EnumExtensions.HotkeyType_Category_Upload)] ClipboardUploadWithContentViewer, [Category(EnumExtensions.HotkeyType_Category_Upload)] UploadText, [Category(EnumExtensions.HotkeyType_Category_Upload)] UploadURL, [Category(EnumExtensions.HotkeyType_Category_Upload)] DragDropUpload, [Category(EnumExtensions.HotkeyType_Category_Upload)] ShortenURL, [Category(EnumExtensions.HotkeyType_Category_Upload)] TweetMessage, [Category(EnumExtensions.HotkeyType_Category_Upload)] StopUploads, // Screen capture [Category(EnumExtensions.HotkeyType_Category_ScreenCapture)] PrintScreen, [Category(EnumExtensions.HotkeyType_Category_ScreenCapture)] ActiveWindow, [Category(EnumExtensions.HotkeyType_Category_ScreenCapture)] CustomWindow, [Category(EnumExtensions.HotkeyType_Category_ScreenCapture)] ActiveMonitor, [Category(EnumExtensions.HotkeyType_Category_ScreenCapture)] RectangleRegion, [Category(EnumExtensions.HotkeyType_Category_ScreenCapture)] RectangleLight, [Category(EnumExtensions.HotkeyType_Category_ScreenCapture)] RectangleTransparent, [Category(EnumExtensions.HotkeyType_Category_ScreenCapture)] CustomRegion, [Category(EnumExtensions.HotkeyType_Category_ScreenCapture)] LastRegion, [Category(EnumExtensions.HotkeyType_Category_ScreenCapture)] ScrollingCapture, [Category(EnumExtensions.HotkeyType_Category_ScreenCapture)] AutoCapture, [Category(EnumExtensions.HotkeyType_Category_ScreenCapture)] StartAutoCapture, // Screen record [Category(EnumExtensions.HotkeyType_Category_ScreenRecord)] ScreenRecorder, [Category(EnumExtensions.HotkeyType_Category_ScreenRecord)] ScreenRecorderActiveWindow, [Category(EnumExtensions.HotkeyType_Category_ScreenRecord)] ScreenRecorderCustomRegion, [Category(EnumExtensions.HotkeyType_Category_ScreenRecord)] StartScreenRecorder, [Category(EnumExtensions.HotkeyType_Category_ScreenRecord)] ScreenRecorderGIF, [Category(EnumExtensions.HotkeyType_Category_ScreenRecord)] ScreenRecorderGIFActiveWindow, [Category(EnumExtensions.HotkeyType_Category_ScreenRecord)] ScreenRecorderGIFCustomRegion, [Category(EnumExtensions.HotkeyType_Category_ScreenRecord)] StartScreenRecorderGIF, [Category(EnumExtensions.HotkeyType_Category_ScreenRecord)] StopScreenRecording, [Category(EnumExtensions.HotkeyType_Category_ScreenRecord)] PauseScreenRecording, [Category(EnumExtensions.HotkeyType_Category_ScreenRecord)] AbortScreenRecording, // Tools [Category(EnumExtensions.HotkeyType_Category_Tools)] ColorPicker, [Category(EnumExtensions.HotkeyType_Category_Tools)] ScreenColorPicker, [Category(EnumExtensions.HotkeyType_Category_Tools)] Ruler, [Category(EnumExtensions.HotkeyType_Category_Tools)] PinToScreen, [Category(EnumExtensions.HotkeyType_Category_Tools)] PinToScreenFromScreen, [Category(EnumExtensions.HotkeyType_Category_Tools)] PinToScreenFromClipboard, [Category(EnumExtensions.HotkeyType_Category_Tools)] PinToScreenFromFile, [Category(EnumExtensions.HotkeyType_Category_Tools)] ImageEditor, [Category(EnumExtensions.HotkeyType_Category_Tools)] ImageBeautifier, [Category(EnumExtensions.HotkeyType_Category_Tools)] ImageEffects, [Category(EnumExtensions.HotkeyType_Category_Tools)] ImageViewer, [Category(EnumExtensions.HotkeyType_Category_Tools)] ImageCombiner, [Category(EnumExtensions.HotkeyType_Category_Tools)] ImageSplitter, [Category(EnumExtensions.HotkeyType_Category_Tools)] ImageThumbnailer, [Category(EnumExtensions.HotkeyType_Category_Tools)] VideoConverter, [Category(EnumExtensions.HotkeyType_Category_Tools)] VideoThumbnailer, [Category(EnumExtensions.HotkeyType_Category_Tools)] OCR, [Category(EnumExtensions.HotkeyType_Category_Tools)] QRCode, [Category(EnumExtensions.HotkeyType_Category_Tools)] QRCodeDecodeFromScreen, [Category(EnumExtensions.HotkeyType_Category_Tools)] HashCheck, [Category(EnumExtensions.HotkeyType_Category_Tools)] IndexFolder, [Category(EnumExtensions.HotkeyType_Category_Tools)] ClipboardViewer, [Category(EnumExtensions.HotkeyType_Category_Tools)] BorderlessWindow, [Category(EnumExtensions.HotkeyType_Category_Tools)] InspectWindow, [Category(EnumExtensions.HotkeyType_Category_Tools)] MonitorTest, [Category(EnumExtensions.HotkeyType_Category_Tools)] DNSChanger, // Other [Category(EnumExtensions.HotkeyType_Category_Other)] DisableHotkeys, [Category(EnumExtensions.HotkeyType_Category_Other)] OpenMainWindow, [Category(EnumExtensions.HotkeyType_Category_Other)] OpenScreenshotsFolder, [Category(EnumExtensions.HotkeyType_Category_Other)] OpenHistory, [Category(EnumExtensions.HotkeyType_Category_Other)] OpenImageHistory, [Category(EnumExtensions.HotkeyType_Category_Other)] ToggleActionsToolbar, [Category(EnumExtensions.HotkeyType_Category_Other)] ToggleTrayMenu, [Category(EnumExtensions.HotkeyType_Category_Other)] ExitShareX } public enum ToastClickAction // Localized { CloseNotification, AnnotateImage, CopyImageToClipboard, CopyFile, CopyFilePath, CopyUrl, OpenFile, OpenFolder, OpenUrl, Upload, PinToScreen } public enum ThumbnailViewClickAction // Localized { Default, Select, OpenImageViewer, OpenFile, OpenFolder, OpenURL, EditImage } public enum FileExistAction // Localized { Ask, Overwrite, UniqueName, Cancel } public enum ImagePreviewVisibility // Localized { Show, Hide, Automatic } public enum ImagePreviewLocation // Localized { Side, Bottom } public enum ThumbnailTitleLocation // Localized { Top, Bottom } public enum RegionCaptureType { Default, Light, Transparent } #if !MicrosoftStore public enum StartupState { Disabled, DisabledByUser, Enabled, DisabledByPolicy, EnabledByPolicy } #else public enum StartupState { Disabled = StartupTaskState.Disabled, DisabledByUser = StartupTaskState.DisabledByUser, Enabled = StartupTaskState.Enabled, DisabledByPolicy = StartupTaskState.DisabledByPolicy, EnabledByPolicy = StartupTaskState.EnabledByPolicy } #endif public enum BalloonTipClickAction { None, OpenURL, OpenDebugLog } public enum TaskViewMode // Localized { ListView, ThumbnailView } public enum NativeMessagingAction { None, UploadImage, UploadVideo, UploadAudio, UploadText, ShortenURL } }