diff --git a/Changelog.md b/Changelog.md index e19df0d..1465688 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,14 @@ +# 3.0.0.3 + +- Added + - Download all by specific sites + - Download all, ignoring the ```Ready for download``` option + - Download all by specific sites, ignoring the ```Ready for download``` option +- Fixed + - (Issue #19) Typo in default Instagram settings (Post limit timer) + - Typo when applying "Download UHD" in XVIDEOS plugin + - The sites filter does not work unless the "Fast profiles loading" option is enabled. + # 3.0.0.2 - Added diff --git a/SCrawler.Plugin.XVIDEOS/My Project/AssemblyInfo.vb b/SCrawler.Plugin.XVIDEOS/My Project/AssemblyInfo.vb index 29e8a9f..b7a05a4 100644 --- a/SCrawler.Plugin.XVIDEOS/My Project/AssemblyInfo.vb +++ b/SCrawler.Plugin.XVIDEOS/My Project/AssemblyInfo.vb @@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices ' by using the '*' as shown below: ' - - + + diff --git a/SCrawler.Plugin.XVIDEOS/UserData.vb b/SCrawler.Plugin.XVIDEOS/UserData.vb index cab84b3..5f05001 100644 --- a/SCrawler.Plugin.XVIDEOS/UserData.vb +++ b/SCrawler.Plugin.XVIDEOS/UserData.vb @@ -90,6 +90,7 @@ Public Class UserData : Implements IPluginContentProvider End If End With Else + .Dispose() Exit Do End If .Dispose() @@ -147,7 +148,7 @@ Public Class UserData : Implements IPluginContentProvider r = resp.GetResponse(m,, EDP.ThrowException) If Not r.IsEmptyString Then Dim ls As List(Of VSize) = FNF.RegexFields(Of VSize)(r, {M3U8Reparse}, {1, 2}) - If ls.ListExists And DownloadUHD Then ls.RemoveAll(Function(v) v.Size > 1080) + If ls.ListExists And Not DownloadUHD Then ls.RemoveAll(Function(v) v.Size > 1080) If ls.ListExists Then ls.Sort() m = $"{appender}/{ls(0).Value}" diff --git a/SCrawler/API/Instagram/SiteSettings.vb b/SCrawler/API/Instagram/SiteSettings.vb index c9ad006..0e03fff 100644 --- a/SCrawler/API/Instagram/SiteSettings.vb +++ b/SCrawler/API/Instagram/SiteSettings.vb @@ -164,7 +164,7 @@ Namespace API.Instagram RequestsWaitTimerProvider = New TimersChecker(100) RequestsWaitTimerTaskCount = New PropertyValue(1) RequestsWaitTimerTaskCountProvider = New TimersChecker(1) - SleepTimerOnPostsLimit = New PropertyValue(6000) + SleepTimerOnPostsLimit = New PropertyValue(60000) SleepTimerOnPostsLimitProvider = New TimersChecker(10000) GetStories = New PropertyValue(False) diff --git a/SCrawler/ListImagesLoader.vb b/SCrawler/ListImagesLoader.vb index fabb068..204ece5 100644 --- a/SCrawler/ListImagesLoader.vb +++ b/SCrawler/ListImagesLoader.vb @@ -94,10 +94,12 @@ Friend Class ListImagesLoader Else Dim t As New List(Of Task) For Each User As IUserData In Settings.Users - If Settings.ViewModeIsPicture Then - t.Add(Task.Run(Sub() UpdateUser(User, True))) - Else - UpdateUser(User, True) + If User.FitToAddParams Then + If Settings.ViewModeIsPicture Then + t.Add(Task.Run(Sub() UpdateUser(User, True))) + Else + UpdateUser(User, True) + End If End If Next If t.Count > 0 Then Task.WhenAll(t.ToArray) : t.Clear() diff --git a/SCrawler/MainFrame.Designer.vb b/SCrawler/MainFrame.Designer.vb index fa127f2..183b34f 100644 --- a/SCrawler/MainFrame.Designer.vb +++ b/SCrawler/MainFrame.Designer.vb @@ -29,6 +29,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Dim MENU_VIEW_SEP_2 As System.Windows.Forms.ToolStripSeparator Dim TRAY_SEP_1 As System.Windows.Forms.ToolStripSeparator Dim MENU_VIEW_SEP_4 As System.Windows.Forms.ToolStripSeparator + Dim MENU_DOWN_ALL_SEP_1 As System.Windows.Forms.ToolStripSeparator Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(MainFrame)) Me.MENU_SETTINGS = New System.Windows.Forms.ToolStripDropDownButton() Me.BTT_SETTINGS = New System.Windows.Forms.ToolStripMenuItem() @@ -41,7 +42,11 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Me.BTT_CHANNELS = New System.Windows.Forms.ToolStripButton() Me.BTT_DOWN_SAVED = New System.Windows.Forms.ToolStripButton() Me.BTT_DOWN_SELECTED = New System.Windows.Forms.ToolStripButton() - Me.BTT_DOWN_ALL = New System.Windows.Forms.ToolStripButton() + Me.MENU_DOWN_ALL = New System.Windows.Forms.ToolStripDropDownButton() + Me.BTT_DOWN_ALL = New System.Windows.Forms.ToolStripMenuItem() + Me.BTT_DOWN_SITE = New System.Windows.Forms.ToolStripMenuItem() + Me.BTT_DOWN_ALL_FULL = New System.Windows.Forms.ToolStripMenuItem() + Me.BTT_DOWN_SITE_FULL = New System.Windows.Forms.ToolStripMenuItem() Me.BTT_DOWN_VIDEO = New System.Windows.Forms.ToolStripButton() Me.BTT_DOWN_STOP = New System.Windows.Forms.ToolStripButton() Me.MENU_VIEW = New System.Windows.Forms.ToolStripDropDownButton() @@ -74,6 +79,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Me.USER_CONTEXT = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.BTT_CONTEXT_DOWN = New System.Windows.Forms.ToolStripMenuItem() Me.BTT_CONTEXT_DOWN_LIMITED = New System.Windows.Forms.ToolStripMenuItem() + Me.BTT_CONTEXT_DOWN_DATE_LIMIT = New System.Windows.Forms.ToolStripMenuItem() Me.BTT_CONTEXT_EDIT = New System.Windows.Forms.ToolStripMenuItem() Me.BTT_CONTEXT_DELETE = New System.Windows.Forms.ToolStripMenuItem() Me.BTT_CONTEXT_FAV = New System.Windows.Forms.ToolStripMenuItem() @@ -91,7 +97,6 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Me.TRAY_CONTEXT = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.BTT_TRAY_SHOW_HIDE = New System.Windows.Forms.ToolStripMenuItem() Me.BTT_TRAY_CLOSE = New System.Windows.Forms.ToolStripMenuItem() - Me.BTT_CONTEXT_DOWN_DATE_LIMIT = New System.Windows.Forms.ToolStripMenuItem() SEP_1 = New System.Windows.Forms.ToolStripSeparator() SEP_2 = New System.Windows.Forms.ToolStripSeparator() CONTEXT_SEP_1 = New System.Windows.Forms.ToolStripSeparator() @@ -107,6 +112,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form MENU_VIEW_SEP_2 = New System.Windows.Forms.ToolStripSeparator() TRAY_SEP_1 = New System.Windows.Forms.ToolStripSeparator() MENU_VIEW_SEP_4 = New System.Windows.Forms.ToolStripSeparator() + MENU_DOWN_ALL_SEP_1 = New System.Windows.Forms.ToolStripSeparator() Me.Toolbar_TOP.SuspendLayout() Me.Toolbar_BOTTOM.SuspendLayout() Me.USER_CONTEXT.SuspendLayout() @@ -188,6 +194,11 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form MENU_VIEW_SEP_4.Name = "MENU_VIEW_SEP_4" MENU_VIEW_SEP_4.Size = New System.Drawing.Size(141, 6) ' + 'MENU_DOWN_ALL_SEP_1 + ' + MENU_DOWN_ALL_SEP_1.Name = "MENU_DOWN_ALL_SEP_1" + MENU_DOWN_ALL_SEP_1.Size = New System.Drawing.Size(228, 6) + ' 'MENU_SETTINGS ' Me.MENU_SETTINGS.AutoToolTip = False @@ -207,7 +218,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form 'Toolbar_TOP ' Me.Toolbar_TOP.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden - Me.Toolbar_TOP.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.MENU_SETTINGS, SEP_1, Me.BTT_ADD_USER, Me.BTT_EDIT_USER, Me.BTT_DELETE_USER, Me.BTT_REFRESH, Me.BTT_SHOW_INFO, Me.BTT_CHANNELS, Me.BTT_DOWN_SAVED, SEP_2, Me.BTT_DOWN_SELECTED, Me.BTT_DOWN_ALL, Me.BTT_DOWN_VIDEO, Me.BTT_DOWN_STOP, SEP_3, Me.MENU_VIEW, SEP_4, Me.BTT_LOG, Me.BTT_VERSION_INFO, Me.BTT_DONATE}) + Me.Toolbar_TOP.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.MENU_SETTINGS, SEP_1, Me.BTT_ADD_USER, Me.BTT_EDIT_USER, Me.BTT_DELETE_USER, Me.BTT_REFRESH, Me.BTT_SHOW_INFO, Me.BTT_CHANNELS, Me.BTT_DOWN_SAVED, SEP_2, Me.BTT_DOWN_SELECTED, Me.MENU_DOWN_ALL, Me.BTT_DOWN_VIDEO, Me.BTT_DOWN_STOP, SEP_3, Me.MENU_VIEW, SEP_4, Me.BTT_LOG, Me.BTT_VERSION_INFO, Me.BTT_DONATE}) Me.Toolbar_TOP.Location = New System.Drawing.Point(0, 0) Me.Toolbar_TOP.Name = "Toolbar_TOP" Me.Toolbar_TOP.Size = New System.Drawing.Size(934, 25) @@ -285,14 +296,53 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Me.BTT_DOWN_SELECTED.Text = "Download selected (F5)" Me.BTT_DOWN_SELECTED.ToolTipText = "Download selected user" ' + 'MENU_DOWN_ALL + ' + Me.MENU_DOWN_ALL.AutoToolTip = False + Me.MENU_DOWN_ALL.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BTT_DOWN_ALL, Me.BTT_DOWN_SITE, MENU_DOWN_ALL_SEP_1, Me.BTT_DOWN_ALL_FULL, Me.BTT_DOWN_SITE_FULL}) + Me.MENU_DOWN_ALL.Image = Global.SCrawler.My.Resources.Resources.StartPic_01_Green_16 + Me.MENU_DOWN_ALL.ImageTransparentColor = System.Drawing.Color.Magenta + Me.MENU_DOWN_ALL.Name = "MENU_DOWN_ALL" + Me.MENU_DOWN_ALL.Size = New System.Drawing.Size(128, 22) + Me.MENU_DOWN_ALL.Text = "Download all (F6)" + ' 'BTT_DOWN_ALL ' + Me.BTT_DOWN_ALL.AutoToolTip = True Me.BTT_DOWN_ALL.Image = Global.SCrawler.My.Resources.Resources.StartPic_01_Green_16 - Me.BTT_DOWN_ALL.ImageTransparentColor = System.Drawing.Color.Magenta Me.BTT_DOWN_ALL.Name = "BTT_DOWN_ALL" - Me.BTT_DOWN_ALL.Size = New System.Drawing.Size(119, 22) + Me.BTT_DOWN_ALL.Size = New System.Drawing.Size(231, 22) Me.BTT_DOWN_ALL.Text = "Download all (F6)" - Me.BTT_DOWN_ALL.ToolTipText = "Download all users" + Me.BTT_DOWN_ALL.ToolTipText = "Download all users marked 'Ready for download' from all sites." + ' + 'BTT_DOWN_SITE + ' + Me.BTT_DOWN_SITE.AutoToolTip = True + Me.BTT_DOWN_SITE.Image = Global.SCrawler.My.Resources.Resources.StartPic_01_Green_16 + Me.BTT_DOWN_SITE.Name = "BTT_DOWN_SITE" + Me.BTT_DOWN_SITE.Size = New System.Drawing.Size(231, 22) + Me.BTT_DOWN_SITE.Text = "Download all site users" + Me.BTT_DOWN_SITE.ToolTipText = "Download all users marked 'Ready for download' from specific sites." + ' + 'BTT_DOWN_ALL_FULL + ' + Me.BTT_DOWN_ALL_FULL.AutoToolTip = True + Me.BTT_DOWN_ALL_FULL.Image = Global.SCrawler.My.Resources.Resources.StartPic_01_Green_16 + Me.BTT_DOWN_ALL_FULL.Name = "BTT_DOWN_ALL_FULL" + Me.BTT_DOWN_ALL_FULL.Size = New System.Drawing.Size(231, 22) + Me.BTT_DOWN_ALL_FULL.Text = "Download all [FULL]" + Me.BTT_DOWN_ALL_FULL.ToolTipText = "Download all users from all sites. The 'Ready for download' option will be ignore" & + "d." + ' + 'BTT_DOWN_SITE_FULL + ' + Me.BTT_DOWN_SITE_FULL.AutoToolTip = True + Me.BTT_DOWN_SITE_FULL.Image = Global.SCrawler.My.Resources.Resources.StartPic_01_Green_16 + Me.BTT_DOWN_SITE_FULL.Name = "BTT_DOWN_SITE_FULL" + Me.BTT_DOWN_SITE_FULL.Size = New System.Drawing.Size(231, 22) + Me.BTT_DOWN_SITE_FULL.Text = "Download all site users [FULL]" + Me.BTT_DOWN_SITE_FULL.ToolTipText = "Download all users from specific sites. The 'Ready for download' option will be i" & + "gnored." ' 'BTT_DOWN_VIDEO ' @@ -514,7 +564,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form ' Me.USER_CONTEXT.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BTT_CONTEXT_DOWN, Me.BTT_CONTEXT_DOWN_LIMITED, Me.BTT_CONTEXT_DOWN_DATE_LIMIT, Me.BTT_CONTEXT_EDIT, Me.BTT_CONTEXT_DELETE, CONTEXT_SEP_1, Me.BTT_CONTEXT_FAV, Me.BTT_CONTEXT_TEMP, Me.BTT_CONTEXT_READY, Me.BTT_CONTEXT_GROUPS, Me.BTT_CONTEXT_ADD_TO_COL, Me.BTT_CONTEXT_COL_MERGE, Me.BTT_CONTEXT_CHANGE_FOLDER, CONTEXT_SEP_2, Me.BTT_CHANGE_IMAGE, CONTEXT_SEP_3, Me.BTT_CONTEXT_OPEN_PATH, CONTEXT_SEP_4, Me.BTT_CONTEXT_OPEN_SITE, CONTEXT_SEP_5, Me.BTT_CONTEXT_INFO}) Me.USER_CONTEXT.Name = "USER_CONTEXT" - Me.USER_CONTEXT.Size = New System.Drawing.Size(222, 408) + Me.USER_CONTEXT.Size = New System.Drawing.Size(222, 386) ' 'BTT_CONTEXT_DOWN ' @@ -532,6 +582,13 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Me.BTT_CONTEXT_DOWN_LIMITED.Text = "Download data limited" Me.BTT_CONTEXT_DOWN_LIMITED.ToolTipText = "Download top ... posts" ' + 'BTT_CONTEXT_DOWN_DATE_LIMIT + ' + Me.BTT_CONTEXT_DOWN_DATE_LIMIT.Image = Global.SCrawler.My.Resources.Resources.StartPic_01_Green_16 + Me.BTT_CONTEXT_DOWN_DATE_LIMIT.Name = "BTT_CONTEXT_DOWN_DATE_LIMIT" + Me.BTT_CONTEXT_DOWN_DATE_LIMIT.Size = New System.Drawing.Size(221, 22) + Me.BTT_CONTEXT_DOWN_DATE_LIMIT.Text = "Download data to the date" + ' 'BTT_CONTEXT_EDIT ' Me.BTT_CONTEXT_EDIT.Image = Global.SCrawler.My.Resources.Resources.PencilPic_01_16 @@ -650,13 +707,6 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Me.BTT_TRAY_CLOSE.Size = New System.Drawing.Size(133, 22) Me.BTT_TRAY_CLOSE.Text = "Close" ' - 'BTT_CONTEXT_DOWN_DATE_LIMIT - ' - Me.BTT_CONTEXT_DOWN_DATE_LIMIT.Image = Global.SCrawler.My.Resources.Resources.StartPic_01_Green_16 - Me.BTT_CONTEXT_DOWN_DATE_LIMIT.Name = "BTT_CONTEXT_DOWN_DATE_LIMIT" - Me.BTT_CONTEXT_DOWN_DATE_LIMIT.Size = New System.Drawing.Size(221, 22) - Me.BTT_CONTEXT_DOWN_DATE_LIMIT.Text = "Download data to the date" - ' 'MainFrame ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -684,7 +734,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Private WithEvents BTT_ADD_USER As ToolStripButton Private WithEvents BTT_DELETE_USER As ToolStripButton Private WithEvents BTT_DOWN_SELECTED As ToolStripButton - Private WithEvents BTT_DOWN_ALL As ToolStripButton + Private WithEvents MENU_DOWN_ALL As ToolStripDropDownButton Private WithEvents Toolbar_TOP As ToolStrip Private WithEvents Toolbar_BOTTOM As StatusStrip Private WithEvents PR_MAIN As ToolStripProgressBar @@ -742,4 +792,8 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form Private WithEvents MENU_SETTINGS As ToolStripDropDownButton Private WithEvents BTT_PR_INFO As ToolStripStatusLabel Private WithEvents BTT_CONTEXT_DOWN_DATE_LIMIT As ToolStripMenuItem + Private WithEvents BTT_DOWN_ALL As ToolStripMenuItem + Private WithEvents BTT_DOWN_SITE As ToolStripMenuItem + Private WithEvents BTT_DOWN_ALL_FULL As ToolStripMenuItem + Private WithEvents BTT_DOWN_SITE_FULL As ToolStripMenuItem End Class \ No newline at end of file diff --git a/SCrawler/MainFrame.resx b/SCrawler/MainFrame.resx index d639308..e3bd9f7 100644 --- a/SCrawler/MainFrame.resx +++ b/SCrawler/MainFrame.resx @@ -162,6 +162,9 @@ False + + False + 132, 17 @@ -306,6 +309,35 @@ 623, 17 + + + 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 @@ -470,35 +502,6 @@ AAAAAAAAH/8AAAAAAAA//wAAAAAAAH//AAAAAAAA//8AAAAAAAP//wAAAAAAB///AAAAAAAP//8AAAAA AB///wAAAAAAf///AAAAAAH///8AAAAAB////wAAAAAf////AAAAAP////8AAAAH/////wAAAH////// AAA= - - - - - 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 diff --git a/SCrawler/MainFrame.vb b/SCrawler/MainFrame.vb index 52e6f69..740648d 100644 --- a/SCrawler/MainFrame.vb +++ b/SCrawler/MainFrame.vb @@ -311,9 +311,44 @@ CloseResume: Private Sub BTT_DOWN_SELECTED_Click(sender As Object, e As EventArgs) Handles BTT_DOWN_SELECTED.Click DownloadSelectedUser(DownUserLimits.None) End Sub +#Region "Download all" Private Sub BTT_DOWN_ALL_Click(sender As Object, e As EventArgs) Handles BTT_DOWN_ALL.Click Downloader.AddRange(Settings.Users.Where(Function(u) u.ReadyForDownload)) End Sub + Private Sub BTT_DOWN_SITE_Click(sender As Object, e As EventArgs) Handles BTT_DOWN_SITE.Click + DownloadSiteFull(True) + End Sub + Private Sub BTT_DOWN_ALL_FULL_Click(sender As Object, e As EventArgs) Handles BTT_DOWN_ALL_FULL.Click + Downloader.AddRange(Settings.Users) + End Sub + Private Sub BTT_DOWN_SITE_FULL_Click(sender As Object, e As EventArgs) Handles BTT_DOWN_SITE_FULL.Click + DownloadSiteFull(False) + End Sub + Private Sub DownloadSiteFull(ByVal ReadyForDownloadOnly As Boolean) + Using f As New SiteSelectionForm(Settings.LatestDownloadedSites.ValuesList) + f.ShowDialog() + If f.DialogResult = DialogResult.OK Then + Settings.LatestDownloadedSites.Clear() + Settings.LatestDownloadedSites.AddRange(f.SelectedSites) + Settings.LatestDownloadedSites.Update() + If f.SelectedSites.Count > 0 Then + Downloader.AddRange(Settings.Users.SelectMany(Function(ByVal u As IUserData) As IEnumerable(Of IUserData) + If u.IsCollection Then + Return DirectCast(u, UserDataBind).Collections. + Where(Function(uu) f.SelectedSites.Contains(uu.Site) And + (Not ReadyForDownloadOnly Or uu.ReadyForDownload)) + ElseIf f.SelectedSites.Contains(u.Site) And + (Not ReadyForDownloadOnly Or u.ReadyForDownload) Then + Return {u} + Else + Return New IUserData() {} + End If + End Function)) + End If + End If + End Using + End Sub +#End Region Private Sub BTT_DOWN_VIDEO_Click(sender As Object, e As EventArgs) Handles BTT_DOWN_VIDEO.Click DownloadVideoByURL() End Sub @@ -361,6 +396,7 @@ CloseResume: #Region "View Site" Private Sub BTT_SITE_ALL_Click(sender As Object, e As EventArgs) Handles BTT_SITE_ALL.Click Settings.SelectedSites.Clear() + Settings.SelectedSites.Update() If Not BTT_SITE_ALL.Checked Then RefillList() BTT_SITE_ALL.Checked = True BTT_SITE_SPECIFIC.Checked = False @@ -371,6 +407,7 @@ CloseResume: If f.DialogResult = DialogResult.OK Then Settings.SelectedSites.Clear() Settings.SelectedSites.AddRange(f.SelectedSites) + Settings.SelectedSites.Update() BTT_SITE_SPECIFIC.Checked = Settings.SelectedSites.Count > 0 BTT_SITE_ALL.Checked = Settings.SelectedSites.Count = 0 RefillList() diff --git a/SCrawler/My Project/AssemblyInfo.vb b/SCrawler/My Project/AssemblyInfo.vb index 7b865be..59a03bf 100644 --- a/SCrawler/My Project/AssemblyInfo.vb +++ b/SCrawler/My Project/AssemblyInfo.vb @@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices ' by using the '*' as shown below: ' - - + + diff --git a/SCrawler/SettingsCLS.vb b/SCrawler/SettingsCLS.vb index 4102a31..e705d7b 100644 --- a/SCrawler/SettingsCLS.vb +++ b/SCrawler/SettingsCLS.vb @@ -76,6 +76,7 @@ Friend Class SettingsCLS : Implements IDisposable LatestSelectedChannel = New XMLValue(Of String)("LatestSelectedChannel",, MyXML) LastUpdatedLimit = New XMLValue(Of Date) LastUpdatedLimit.SetExtended("LastUpdatedLimit",, MyXML) + LatestDownloadedSites = New XMLValuesCollection(Of String)(XMLValueBase.ListModes.String, "LatestDownloadedSites", MyXML) SelectedSites = New XMLValuesCollection(Of String)(XMLValueBase.ListModes.String, "SelectedSites", MyXML, {Name_Node_Sites}) @@ -410,6 +411,7 @@ Friend Class SettingsCLS : Implements IDisposable Friend ReadOnly Property LatestSavingPath As XMLValue(Of SFile) Friend ReadOnly Property LatestSelectedLabels As XMLValue(Of String) Friend ReadOnly Property LatestSelectedChannel As XMLValue(Of String) + Friend ReadOnly Property LatestDownloadedSites As XMLValuesCollection(Of String) #End Region #Region "Channels properties" Friend ReadOnly Property ChannelsDefaultReadyForDownload As XMLValue(Of Boolean)