2023.08.17.0

YT.VideoListForm: hide progress

API.Base.UserDataBase: add 'IsUser' property; remove 'DownloadedPictures' debug line; add a special log for non-existent users
API.Twitter: group 'limit' notifications; update 'TwitterLimitException' (inherits Plugin.ExitException)
AutoDownloader: fix 'Initialization' value bug
DownloadedInfoForm: fix a bug due to which profiles were disposed
FeedMedia: add subscriptions users BackColor & ForeColor; fix file name issue; remove icon cloning
TDownloader, UserDownloadQueueForm: fix progress hang issue
ColorPicker: add 'TooltipText'
GlobalSettingsForm: add new properties; move design properties to new tab
ListImagesLoader: add subscriptions users BackColor & ForeColor
This commit is contained in:
Andy
2023-08-17 23:54:19 +03:00
parent 1b1226025a
commit 28ae44f0ae
28 changed files with 566 additions and 436 deletions

View File

@@ -125,8 +125,6 @@ Namespace DownloadObjects
End Try
End Sub
#End Region
Friend ReadOnly Property ActiveDownloading As List(Of IUserData)
Friend Property QueueFormOpening As Boolean = False
Friend ReadOnly Property Downloaded As List(Of IUserData)
Private ReadOnly NProv As IFormatProvider
#End Region
@@ -249,6 +247,7 @@ Namespace DownloadObjects
End Sub
Public Overrides Sub Finish()
_Working = False
TokenSource.DisposeIfReady
TokenSource = Nothing
Try
If Not Thread Is Nothing Then
@@ -275,7 +274,6 @@ Namespace DownloadObjects
#Region "Initializer"
Friend Sub New()
Files = New List(Of UserMediaD)
ActiveDownloading = New List(Of IUserData)
Downloaded = New List(Of IUserData)
NProv = New ANumbers With {.FormatOptions = ANumbers.Options.GroupIntegral}
Pool = New List(Of Job)
@@ -410,9 +408,6 @@ Namespace DownloadObjects
Dim Keys As New List(Of String)
Dim h As Boolean = False
Dim host As SettingsHost = Nothing
Dim waitQueueForm As Action = Sub()
While QueueFormOpening : Thread.Sleep(100) : End While
End Sub
For Each _Item As IUserData In _Job.Items
If Not _Item.Disposed Then
Keys.Add(_Item.Key)
@@ -420,10 +415,8 @@ Namespace DownloadObjects
If host.Source.ReadyToDownload(Download.Main) Then
host.BeforeStartDownload(_Item, Download.Main)
_Job.ThrowIfCancellationRequested()
waitQueueForm.Invoke
DirectCast(_Item, UserDataBase).Progress = _Job.Progress
t.Add(Task.Run(Sub() _Item.DownloadData(Token)))
ActiveDownloading.Add(_Item)
RaiseEvent UserDownloadStateChanged(_Item, True)
i += 1
If i >= limit Then Exit For
@@ -441,12 +434,10 @@ Namespace DownloadObjects
Dim dcc As Boolean = False
If Keys.Count > 0 Then
For Each k$ In Keys
waitQueueForm.Invoke
i = _Job.Items.FindIndex(Function(ii) ii.Key = k)
If i >= 0 Then
With _Job.Items(i)
If DirectCast(.Self, UserDataBase).ContentMissingExists Then MissingPostsDetected = True
If ActiveDownloading.Count > 0 AndAlso ActiveDownloading.Contains(.Self) Then ActiveDownloading.Remove(.Self)
RaiseEvent UserDownloadStateChanged(.Self, False)
host.AfterDownload(.Self, Download.Main)
If Not .Disposed AndAlso Not .IsCollection AndAlso .DownloadedTotal(False) > 0 Then
@@ -531,7 +522,6 @@ Namespace DownloadObjects
[Stop]()
Pool.ListClearDispose
Files.Clear()
ActiveDownloading.Clear()
Downloaded.Clear()
End If
disposedValue = True