mirror of
https://github.com/AAndyProgram/SCrawler.git
synced 2026-03-14 15:52:18 +00:00
2025.8.30.0
YT Add video trim Fix downloading error Add artist name when downloading audio Embed chapters SCrawler Add correct handling of 'webp' files API.Redgifs: hide 'Responser.Save' error
This commit is contained in:
66
SCrawler.YouTube/Controls/ChaptersForm.vb
Normal file
66
SCrawler.YouTube/Controls/ChaptersForm.vb
Normal file
@@ -0,0 +1,66 @@
|
||||
' Copyright (C) Andy https://github.com/AAndyProgram
|
||||
' 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 3 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
|
||||
Imports PersonalUtilities.Forms
|
||||
Imports PersonalUtilities.Forms.Toolbars
|
||||
Imports SCrawler.API.YouTube.Base
|
||||
Imports SCrawler.API.YouTube.Objects
|
||||
Namespace API.YouTube.Controls
|
||||
Friend Class ChaptersForm
|
||||
Private WithEvents MyDefs As DefaultFormOptions
|
||||
Private ReadOnly Property MyData As YouTubeMediaContainerBase
|
||||
Private ReadOnly Property MyDataSelected As List(Of TrimOption)
|
||||
Friend ReadOnly Property MyResult As List(Of TrimOption)
|
||||
Friend Sub New(ByRef data As YouTubeMediaContainerBase, ByVal selected As IEnumerable(Of TrimOption))
|
||||
InitializeComponent()
|
||||
MyDefs = New DefaultFormOptions(Me, MyYouTubeSettings.DesignXml)
|
||||
MyData = data
|
||||
MyDataSelected = New List(Of TrimOption)
|
||||
MyDataSelected.ListAddList(selected)
|
||||
MyResult = New List(Of TrimOption)
|
||||
End Sub
|
||||
Private Sub ChaptersForm_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
With MyDefs
|
||||
.MyViewInitialize()
|
||||
.AddOkCancelToolbar()
|
||||
|
||||
With LIST_CHAPTERS
|
||||
.BeginUpdate()
|
||||
.Items.AddRange(MyData.Chapters.Cast(Of Object).ToArray)
|
||||
If MyDataSelected.Count > 0 Then
|
||||
For i% = 0 To .Items.Count - 1 : .SetItemChecked(i, MyDataSelected.Contains(MyData.Chapters(i))) : Next
|
||||
End If
|
||||
.EndUpdate()
|
||||
End With
|
||||
|
||||
.EndLoaderOperations()
|
||||
End With
|
||||
End Sub
|
||||
Private Sub ChaptersForm_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed
|
||||
MyResult.Clear()
|
||||
MyDataSelected.Clear()
|
||||
End Sub
|
||||
Private Sub MyDefs_ButtonOkClick(ByVal Sender As Object, ByVal e As KeyHandleEventArgs) Handles MyDefs.ButtonOkClick
|
||||
With LIST_CHAPTERS
|
||||
For i% = 0 To .Items.Count - 1
|
||||
If .GetItemChecked(i) Then MyResult.Add(MyData.Chapters(i))
|
||||
Next
|
||||
End With
|
||||
MyDefs.CloseForm()
|
||||
End Sub
|
||||
Private Sub BTT_ALL_NONE_INVERT_Click(sender As Object, e As EventArgs) Handles BTT_ALL.Click, BTT_NONE.Click, BTT_INVERT.Click
|
||||
Dim v As Boolean = sender Is BTT_ALL
|
||||
Dim isInvert As Boolean = sender Is BTT_INVERT
|
||||
With LIST_CHAPTERS
|
||||
.BeginUpdate()
|
||||
For i% = 0 To .Items.Count - 1 : .SetItemChecked(i, If(isInvert, Not .GetItemChecked(i), v)) : Next
|
||||
.EndUpdate()
|
||||
End With
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
||||
Reference in New Issue
Block a user