using System.Text.Json.Serialization;
using System.Runtime.Versioning;
namespace ElectronNET.API.Entities
{
///
/// Jump List item used in app.setJumpList(categories) on Windows.
/// Matches Electron's JumpListItem structure.
///
/// Up-to-date with Electron API 39.2
[SupportedOSPlatform("windows")]
public class JumpListItem
{
///
/// Gets or sets the command line arguments when program is executed. Should only be set if type is task.
///
public string Args { get; set; }
///
/// Gets or sets the description of the task (displayed in a tooltip). Should only be set if type is task. Maximum length 260 characters.
///
public string Description { get; set; }
///
/// Gets or sets the index of the icon in the resource file. If a resource file contains multiple
/// icons this value can be used to specify the zero-based index of the icon that
/// should be displayed for this task. If a resource file contains only one icon,
/// this property should be set to zero.
///
public int IconIndex { get; set; }
///
/// Gets or sets the absolute path to an icon to be displayed in a Jump List, which can be an
/// arbitrary resource file that contains an icon(e.g. .ico, .exe, .dll). You can
/// usually specify process.execPath to show the program icon.
///
public string IconPath { get; set; }
///
/// Gets or sets the path of the file to open; should only be set if type is file.
///
public string Path { get; set; }
///
/// Gets or sets the path of the program to execute, usually specify process.execPath
/// which opens the current program. Should only be set if type is task.
///
public string Program { get; set; }
///
/// Gets or sets the text to be displayed for the item in the Jump List. Should only be set if type is task.
///
public string Title { get; set; }
///
/// Gets or sets the item type. One of: task | separator | file.
///
public JumpListItemType Type { get; set; }
///
/// Gets or sets the working directory. Default is empty.
///
public string WorkingDirectory { get; set; }
}
}