mirror of
https://github.com/lantean-code/qbtmud.git
synced 2025-10-23 04:52:22 +00:00
309 lines
17 KiB
Plaintext
309 lines
17 KiB
Plaintext
@inherits Options
|
|
|
|
<MudCard Elevation="1" Class="ml-4 mr-4 mb-4 mt-4">
|
|
<MudCardHeader>
|
|
<CardHeaderContent>
|
|
<MudText Typo="Typo.subtitle2">When adding a torrent</MudText>
|
|
</CardHeaderContent>
|
|
</MudCardHeader>
|
|
<MudCardContent Class="pt-0">
|
|
<MudGrid>
|
|
<MudItem xs="12">
|
|
<MudSelect T="string" Label="Torrent content layout" Value="TorrentContentLayout" ValueChanged="TorrentContentLayoutChanged" Variant="Variant.Outlined">
|
|
<MudSelectItem Value="@("Original")">Original</MudSelectItem>
|
|
<MudSelectItem Value="@("Subfolder")">Create subfolder</MudSelectItem>
|
|
<MudSelectItem Value="@("NoSubfolder")">Don't create subfolder</MudSelectItem>
|
|
</MudSelect>
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<FieldSwitch Label="Add to top of queue" Value="AddToTopOfQueue" ValueChanged="AddToTopOfQueueChanged" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<FieldSwitch Label="Do not start the download automatically" Value="StartPausedEnabled" ValueChanged="StartPausedEnabledChanged" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudSelect T="string" Label="Torrent stop condition" Value="TorrentStopCondition" ValueChanged="TorrentStopConditionChanged" Variant="Variant.Outlined">
|
|
<MudSelectItem Value="@("None")">None</MudSelectItem>
|
|
<MudSelectItem Value="@("MetadataReceived")">Metadata received</MudSelectItem>
|
|
<MudSelectItem Value="@("FilesChecked")">Files Checked</MudSelectItem>
|
|
</MudSelect>
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<FieldSwitch Label="Delete .torrent files afterwards" Value="AutoDeleteMode" ValueChanged="AutoDeleteModeChanged" />
|
|
</MudItem>
|
|
</MudGrid>
|
|
</MudCardContent>
|
|
</MudCard>
|
|
|
|
<MudCard Elevation="1" Class="ml-4 mr-4 mb-4">
|
|
<MudCardHeader>
|
|
<CardHeaderContent>
|
|
<MudText Typo="Typo.subtitle2">Files</MudText>
|
|
</CardHeaderContent>
|
|
</MudCardHeader>
|
|
<MudCardContent>
|
|
<MudGrid>
|
|
<MudItem xs="12">
|
|
<FieldSwitch Label="Pre-allocate disk space for all files" Value="PreallocateAll" ValueChanged="PreallocateAllChanged" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<FieldSwitch Label="Append .!qB extension to incomplete files" Value="IncompleteFilesExt" ValueChanged="IncompleteFilesExtChanged" />
|
|
</MudItem>
|
|
</MudGrid>
|
|
</MudCardContent>
|
|
</MudCard>
|
|
|
|
<MudCard Elevation="1" Class="ml-4 mr-4 mb-4">
|
|
<MudCardHeader>
|
|
<CardHeaderContent>
|
|
<MudText Typo="Typo.subtitle2">Saving Management</MudText>
|
|
</CardHeaderContent>
|
|
</MudCardHeader>
|
|
<MudCardContent Class="pt-0">
|
|
<MudGrid>
|
|
<MudItem xs="12">
|
|
<MudSelect T="bool" Label="Default Torrent Management Mode" Value="AutoTmmEnabled" ValueChanged="AutoDeleteModeChanged" Variant="Variant.Outlined">
|
|
<MudSelectItem Value="false">Manual</MudSelectItem>
|
|
<MudSelectItem Value="true">Automatic</MudSelectItem>
|
|
</MudSelect>
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudSelect T="bool" Label="When Torrent Category changed" Value="TorrentChangedTmmEnabled" ValueChanged="TorrentChangedTmmEnabledChanged" Variant="Variant.Outlined">
|
|
<MudSelectItem Value="true">Relocate torrent</MudSelectItem>
|
|
<MudSelectItem Value="false">Switch torrent to Manual Mode</MudSelectItem>
|
|
</MudSelect>
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudSelect T="bool" Label="When Default Save Path changed" Value="SavePathChangedTmmEnabled" ValueChanged="SavePathChangedTmmEnabledChanged" Variant="Variant.Outlined">
|
|
<MudSelectItem Value="true">Relocate affected torrents</MudSelectItem>
|
|
<MudSelectItem Value="false">Switch affected torrents to Manual Mode</MudSelectItem>
|
|
</MudSelect>
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudSelect T="bool" Label="When Category Save Path changed" Value="CategoryChangedTmmEnabled" ValueChanged="CategoryChangedTmmEnabledChanged" Variant="Variant.Outlined">
|
|
<MudSelectItem Value="true">Relocate affected torrents</MudSelectItem>
|
|
<MudSelectItem Value="false">Switch affected torrents to Manual Mode</MudSelectItem>
|
|
</MudSelect>
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<FieldSwitch Label="Use Subcategories" Value="UseSubcategories" ValueChanged="UseSubcategoriesChanged" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudTextField T="string" Label="Default Save Path" Value="SavePath" ValueChanged="SavePathChanged" Variant="Variant.Outlined" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudGrid>
|
|
<MudItem xs="12" sm="6" md="3">
|
|
<FieldSwitch Label="Keep incomplete torrents in" Value="TempPathEnabled" ValueChanged="TempPathEnabledChanged" />
|
|
</MudItem>
|
|
<MudItem xs="12" sm="6" md="9">
|
|
<MudTextField T="string" Label="Path" Value="TempPath" ValueChanged="TempPathChanged" Disabled="@(!TempPathEnabled)" Variant="Variant.Outlined" />
|
|
</MudItem>
|
|
</MudGrid>
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudGrid>
|
|
<MudItem xs="12" sm="6" md="3">
|
|
<FieldSwitch Label="Copy .torrent files to" Value="ExportDirEnabled" ValueChanged="ExportDirEnabledChanged" />
|
|
</MudItem>
|
|
<MudItem xs="12" sm="6" md="9">
|
|
<MudTextField T="string" Label="Path" Value="ExportDir" ValueChanged="ExportDirChanged" Disabled="@(!TempPathEnabled)" Variant="Variant.Outlined" />
|
|
</MudItem>
|
|
</MudGrid>
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudGrid>
|
|
<MudItem xs="12" sm="6" md="3">
|
|
<FieldSwitch Label="Copy .torrent files for finished downloads to" Value="ExportDirFinEnabled" ValueChanged="ExportDirFinEnabledChanged" />
|
|
</MudItem>
|
|
<MudItem xs="12" sm="6" md="9">
|
|
<MudTextField T="string" Label="Path" Value="ExportDirFin" ValueChanged="ExportDirFinChanged" Disabled="@(!TempPathEnabled)" Variant="Variant.Outlined" />
|
|
</MudItem>
|
|
</MudGrid>
|
|
</MudItem>
|
|
</MudGrid>
|
|
</MudCardContent>
|
|
</MudCard>
|
|
|
|
<MudCard Elevation="1" Class="ml-4 mr-4 mb-4">
|
|
<MudCardHeader>
|
|
<CardHeaderContent>
|
|
<MudText Typo="Typo.subtitle2">Automatically add torrents from</MudText>
|
|
</CardHeaderContent>
|
|
</MudCardHeader>
|
|
<MudCardContent Class="pt-0">
|
|
<MudSimpleTable>
|
|
<thead>
|
|
<tr>
|
|
<th>Monitored Folder</th>
|
|
<th>Override Save Location</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach (var item in ScanDirs)
|
|
{
|
|
<tr>
|
|
<td>
|
|
<MudTextField T="string" Label="Path" Value="@item.Key" ValueChanged="@(v => ScanDirsKeyChanged(item.Key, v))" Validation="IsValidNewKey" />
|
|
</td>
|
|
<td>
|
|
<MudGrid>
|
|
<MudItem xs="@(item.Value.SavePath is null ? 11 : 3)">
|
|
<MudSelect T="string" Value="@item.Value.ToString()" ValueChanged="@(v => ScanDirsValueChanged(item.Key, v))" Variant="Variant.Outlined">
|
|
<MudSelectItem T="string" Value="@("0")">Monitored folder</MudSelectItem>
|
|
<MudSelectItem T="string" Value="@("1")">Default save location</MudSelectItem>
|
|
<MudSelectItem T="string" Value="@(item.Value.SavePath is not null ? item.Value.SavePath : "")">Other...</MudSelectItem>
|
|
</MudSelect>
|
|
</MudItem>
|
|
@if (item.Value.SavePath is not null)
|
|
{
|
|
<MudItem xs="8">
|
|
<MudTextField T="string" Label="Path" Value="@item.Value.SavePath" ValueChanged="@(v => ScanDirsValueChanged(item.Key, v))" Variant="Variant.Outlined" />
|
|
</MudItem>
|
|
}
|
|
<MudItem xs="1">
|
|
<MudIconButton Icon="@Icons.Material.Outlined.Remove" OnClick="@(() => RemoveExistingScanDir(item.Key))" />
|
|
</MudItem>
|
|
</MudGrid>
|
|
|
|
</td>
|
|
</tr>
|
|
}
|
|
@for (int i = 0; i < AddedScanDirs.Count; i++)
|
|
{
|
|
var item = AddedScanDirs[i];
|
|
var index = i;
|
|
var isLast = i == AddedScanDirs.Count - 1;
|
|
|
|
<tr>
|
|
<td>
|
|
<MudTextField T="string" Label="Path" Value="@item.Key" ValueChanged="@(v => AddedScanDirsKeyChanged(index, v))" Validation="IsValidNewKey" />
|
|
</td>
|
|
<td>
|
|
<MudGrid>
|
|
<MudItem xs="@(item.Value.SavePath is null ? (isLast ? 11 : 12) : 3)">
|
|
<MudSelect T="string" Value="@item.Value.ToString()" ValueChanged="@(v => AddedScanDirsValueChanged(index, v))" Variant="Variant.Outlined">
|
|
<MudSelectItem T="string" Value="@("0")">Monitored folder</MudSelectItem>
|
|
<MudSelectItem T="string" Value="@("1")">Default save location</MudSelectItem>
|
|
<MudSelectItem T="string" Value="@(item.Value.SavePath is not null ? item.Value.SavePath : "")">Other...</MudSelectItem>
|
|
</MudSelect>
|
|
</MudItem>
|
|
@if (item.Value.SavePath is not null)
|
|
{
|
|
<MudItem xs="@(isLast ? 8 : 9)">
|
|
<MudTextField T="string" Label="Path" Value="@item.Value.SavePath" ValueChanged="@(v => AddedScanDirsValueChanged(index, v))" Variant="Variant.Outlined" />
|
|
</MudItem>
|
|
}
|
|
<MudItem xs="1">
|
|
@if (isLast)
|
|
{
|
|
<MudIconButton Icon="@Icons.Material.Outlined.Add" OnClick="AddNewScanDir" />
|
|
}
|
|
else
|
|
{
|
|
<MudIconButton Icon="@Icons.Material.Outlined.Remove" OnClick="@(() => RemoveAddedScanDir(i))" />
|
|
}
|
|
</MudItem>
|
|
</MudGrid>
|
|
</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</MudSimpleTable>
|
|
</MudCardContent>
|
|
</MudCard>
|
|
|
|
<MudCard Elevation="1" Class="ml-4 mr-4 mb-4">
|
|
<MudCardHeader>
|
|
<CardHeaderContent>
|
|
<MudText Typo="Typo.subtitle2">Excluded Files</MudText>
|
|
</CardHeaderContent>
|
|
</MudCardHeader>
|
|
<MudCardContent>
|
|
<MudGrid>
|
|
<MudItem xs="12">
|
|
<FieldSwitch Label="Excluded file names" Value="ExcludedFileNamesEnabled" ValueChanged="ExcludedFileNamesEnabledChanged" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudTextField T="string" Label="Excluded files names" Value="ExcludedFileNames" ValueChanged="ExcludedFileNamesChanged" Lines="5" Disabled="@(!ExcludedFileNamesEnabled)" Variant="Variant.Outlined" />
|
|
</MudItem>
|
|
</MudGrid>
|
|
</MudCardContent>
|
|
</MudCard>
|
|
|
|
<MudCard Elevation="1" Class="ml-4 mr-4 mb-4">
|
|
<MudCardHeader>
|
|
<CardHeaderContent>
|
|
<MudText Typo="Typo.subtitle2">Email Notifications</MudText>
|
|
</CardHeaderContent>
|
|
</MudCardHeader>
|
|
<MudCardContent>
|
|
<MudGrid>
|
|
<MudItem xs="12">
|
|
<FieldSwitch Label="Email notification upon download completion" Value="MailNotificationEnabled" ValueChanged="MailNotificationEnabledChanged" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudTextField T="string" Label="From" Value="MailNotificationSender" ValueChanged="MailNotificationSenderChanged" Disabled="@(!MailNotificationEnabled)" Variant="Variant.Outlined" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudTextField T="string" Label="To" Value="MailNotificationEmail" ValueChanged="MailNotificationEmailChanged" Disabled="@(!MailNotificationEnabled)" Variant="Variant.Outlined" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudTextField T="string" Label="SMTP server" Value="MailNotificationSmtp" ValueChanged="MailNotificationSmtpChanged" Disabled="@(!MailNotificationEnabled)" Variant="Variant.Outlined" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<FieldSwitch Label="This server requires a secure connection (SSL)" Value="MailNotificationSslEnabled" ValueChanged="MailNotificationSslEnabledChanged" Disabled="@(!MailNotificationEnabled)" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<FieldSwitch Label="Authentication" Value="MailNotificationAuthEnabled" ValueChanged="MailNotificationAuthEnabledChanged" Disabled="@(!MailNotificationEnabled)" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudTextField T="string" Label="Username" Value="MailNotificationUsername" ValueChanged="MailNotificationUsernameChanged" Disabled="@(!(MailNotificationEnabled && MailNotificationAuthEnabled))" Variant="Variant.Outlined" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudTextField T="string" Label="Password" Value="MailNotificationPassword" ValueChanged="MailNotificationPasswordChanged" Disabled="@(!(MailNotificationEnabled && MailNotificationAuthEnabled))" InputType="InputType.Password" Variant="Variant.Outlined" />
|
|
</MudItem>
|
|
</MudGrid>
|
|
</MudCardContent>
|
|
</MudCard>
|
|
|
|
<MudCard Elevation="1" Class="ml-4 mr-4 mb-4">
|
|
<MudCardHeader>
|
|
<CardHeaderContent>
|
|
<MudText Typo="Typo.subtitle2">Run exernal program</MudText>
|
|
</CardHeaderContent>
|
|
</MudCardHeader>
|
|
<MudCardContent Class="pt-0">
|
|
<MudGrid>
|
|
<MudItem xs="12">
|
|
<FieldSwitch Label="Run external program on torrent added" Value="AutorunOnTorrentAddedEnabled" ValueChanged="AutorunOnTorrentAddedEnabledChanged" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudTextField T="string" Label="External program" Value="AutorunOnTorrentAddedProgram" ValueChanged="AutorunOnTorrentAddedProgramChanged" Disabled="@(!AutorunOnTorrentAddedEnabled)" Variant="Variant.Outlined" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<FieldSwitch Label="Run external program on torrent finished" Value="AutorunEnabled" ValueChanged="AutorunEnabledChanged" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudTextField T="string" Label="External program" Value="AutorunProgram" ValueChanged="AutorunProgramChanged" Disabled="@(!AutorunEnabled)" Variant="Variant.Outlined" />
|
|
</MudItem>
|
|
<MudItem xs="12">
|
|
<MudText>Supported parameters (case sensitive):</MudText>
|
|
<MudList T="string" ReadOnly="true">
|
|
<MudListItem>%N: Torrent name</MudListItem>
|
|
<MudListItem>%L: Category</MudListItem>
|
|
<MudListItem>%G: Tags (separated by comma)</MudListItem>
|
|
<MudListItem>%F: Content path (same as root path for multifile torrent)</MudListItem>
|
|
<MudListItem>%R: Root path (first torrent subdirectory path)</MudListItem>
|
|
<MudListItem>%D: Save path</MudListItem>
|
|
<MudListItem>%C: Number of files</MudListItem>
|
|
<MudListItem>%Z: Torrent size (bytes)</MudListItem>
|
|
<MudListItem>%T: Current tracker</MudListItem>
|
|
<MudListItem>%I: Info hash v1</MudListItem>
|
|
<MudListItem>%J: Info hash v2</MudListItem>
|
|
<MudListItem>%K: Torrent ID</MudListItem>
|
|
</MudList>
|
|
</MudItem>
|
|
</MudGrid>
|
|
</MudCardContent>
|
|
</MudCard> |