From 5f2c4476ada816ba754ab036f30d8abdd03d6d68 Mon Sep 17 00:00:00 2001
From: Andy <88590076+AAndyProgram@users.noreply.github.com>
Date: Mon, 20 Dec 2021 14:16:29 +0300
Subject: [PATCH] 1.0.1.0
Extend settings, fix minor bugs, add some functions
---
Changelog.md | 21 +
SCrawler/API/Base/SiteSettings.vb | 5 +-
SCrawler/API/Base/UserDataBase.vb | 37 +-
SCrawler/API/Reddit/Channel.vb | 20 +-
SCrawler/API/Reddit/UserData.vb | 43 +-
SCrawler/API/Twitter/UserData.vb | 19 +-
SCrawler/API/UserDataBind.vb | 22 +-
SCrawler/Channels/ChannelViewForm.vb | 7 +-
.../Editors/GlobalSettingsForm.Designer.vb | 791 ++++++++++++------
SCrawler/Editors/GlobalSettingsForm.resx | 61 +-
SCrawler/Editors/GlobalSettingsForm.vb | 65 +-
SCrawler/Editors/UserCreatorForm.vb | 39 +-
SCrawler/MainFrame.vb | 25 +-
SCrawler/MainMod.vb | 6 +-
SCrawler/My Project/AssemblyInfo.vb | 4 +-
SCrawler/SettingsCLS.vb | 145 +++-
SCrawler/TDownloader.vb | 4 +
17 files changed, 947 insertions(+), 367 deletions(-)
diff --git a/Changelog.md b/Changelog.md
index 5f04ba3..80f4c1a 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,24 @@
+# 1.0.1.0
+
+- Added
+ - Extended site settings
+ - Non-existend users will be marked in red
+ - Suspended users' profiles will be marked in yellow
+ - Automatically disable 'Ready for download' if user does not exist.
+ - Ability to disable MD5 check when downloading regular (added to the main window) channels
+ - Ability to create a user from a channel with the default option 'Ready to download' (setting in the 'Settings')
+ - Ability to change default 'Temporary' parameter on create a user from a channel (setting in the 'Settings')
+ - Advanced defaults for each site (download images, download videos and temporary)
+ - By checking the 'Temporary' checkbox in the user creation form, the 'Ready for download' checkbox became unchecked
+ - Automatically disable 'Ready for download' if profile does not exists or has been deleted
+- Change
+ - Removed extended twitter invalid credentials error and replaced with a simple line in the log
+ - Redesigned settings form
+- Fixed
+ - In some cases, the image of the channel post is not copied to the user's folder
+ - Users in the main window are not refreshed if new users are added by a list that includes banned and/or unrecognized users.
+ - Minor bugs
+
# 1.0.0.4
- Added
diff --git a/SCrawler/API/Base/SiteSettings.vb b/SCrawler/API/Base/SiteSettings.vb
index 07aff64..0907f00 100644
--- a/SCrawler/API/Base/SiteSettings.vb
+++ b/SCrawler/API/Base/SiteSettings.vb
@@ -60,7 +60,10 @@ Namespace API.Base
End If
Responser.SaveSettings()
End If
- _Path = New XMLValue(Of SFile)("Path", SFile.GetPath($"{GlobalPath.PathWithSeparator}{Site}"), _XML, {Site.ToString}, XMLValue(Of SFile).ToFilePath)
+ _Path = New XMLValue(Of SFile)("Path", SFile.GetPath($"{GlobalPath.PathWithSeparator}{Site}"),
+ _XML, {SettingsCLS.Name_Node_Sites, Site.ToString}, XMLValue(Of SFile).ToFilePath)
+ _Path.ReplaceByValue("Path", {Site.ToString})
+ _XML.Remove(Site.ToString)
End Sub
Friend Sub Update()
Responser.SaveSettings()
diff --git a/SCrawler/API/Base/UserDataBase.vb b/SCrawler/API/Base/UserDataBase.vb
index 033bf13..533f730 100644
--- a/SCrawler/API/Base/UserDataBase.vb
+++ b/SCrawler/API/Base/UserDataBase.vb
@@ -13,9 +13,9 @@ Imports UState = SCrawler.API.Base.UserMedia.States
Namespace API.Base
Friend MustInherit Class UserDataBase : Implements IUserData
Friend Const UserFileAppender As String = "User"
- Friend Event OnPictureUpdated As IUserData.OnPictureUpdatedEventHandler Implements IUserData.OnPictureUpdated
- Protected Sub Raise_OnPictureUpdated()
- RaiseEvent OnPictureUpdated(Me)
+ Friend Event OnUserUpdated As IUserData.OnUserUpdatedEventHandler Implements IUserData.OnUserUpdated
+ Protected Sub Raise_OnUserUpdated()
+ RaiseEvent OnUserUpdated(Me)
End Sub
#Region "Collection buttons"
Friend WithEvents BTT_CONTEXT_DOWN As ToolStripMenuItem
@@ -43,6 +43,8 @@ Namespace API.Base
Private Const Name_Site As String = "Site"
Private Const Name_IsChannel As String = "IsChannel"
Private Const Name_UserName As String = "UserName"
+ Private Const Name_UserExists As String = "UserExists"
+ Private Const Name_UserSuspended As String = "UserSuspended"
Private Const Name_FriendlyName As String = "FriendlyName"
Private Const Name_UserID As String = "UserID"
Private Const Name_Description As String = "Description"
@@ -76,6 +78,10 @@ Namespace API.Base
#Region "Declarations"
Friend MustOverride Property Site As Sites Implements IContentProvider.Site
Friend User As UserInfo
+ Protected Const NonExistendUserHelp As String = "404"
+ Protected Const SuspendedUserHelp As String = "403"
+ Friend Overridable Property UserExists As Boolean = True Implements IUserData.Exists
+ Friend Overridable Property UserSuspended As Boolean = False Implements IUserData.Suspended
Friend Overridable Property Name As String Implements IContentProvider.Name
Get
Return User.Name
@@ -436,10 +442,11 @@ BlockNullPicture:
If MyFile.Exists Then
FileExists = True
Using x As New XmlFile(MyFile) With {.XmlReadOnly = True}
- x.DefaultsLoading(False)
User.Site = Site
Site = x.Value(Name_Site).FromXML(Of Integer)(0)
User.Name = x.Value(Name_UserName)
+ UserExists = x.Value(Name_UserExists).FromXML(Of Boolean)(True)
+ UserSuspended = x.Value(Name_UserSuspended).FromXML(Of Boolean)(False)
ID = x.Value(Name_UserID)
FriendlyName = x.Value(Name_FriendlyName)
UserDescription = x.Value(Name_Description)
@@ -470,6 +477,8 @@ BlockNullPicture:
Using x As New XmlFile With {.Name = "User"}
x.Add(Name_Site, CInt(Site))
x.Add(Name_UserName, User.Name)
+ x.Add(Name_UserExists, UserExists.BoolToInteger)
+ x.Add(Name_UserSuspended, UserSuspended.BoolToInteger)
x.Add(Name_UserID, ID)
x.Add(Name_FriendlyName, FriendlyName)
x.Add(Name_Description, UserDescription)
@@ -508,9 +517,8 @@ BlockNullPicture:
Private Overloads Sub LoadContentInformation(ByRef _CLIST As List(Of UserMedia), ByVal f As SFile)
Try
If Not f.Exists Then Exit Sub
- Using x As New XmlFile(f, ProtectionLevels.All, False) With {.XmlReadOnly = True, .AllowSameNames = True}
+ Using x As New XmlFile(f, Protector.Modes.All, False) With {.XmlReadOnly = True, .AllowSameNames = True}
x.LoadData()
- x.DefaultsLoading(False)
If x.Count > 0 Then
Dim fs$ = MyFile.CutPath.PathWithSeparator
Dim gfn As Func(Of String, String) = Function(ByVal Input As String) As String
@@ -589,11 +597,17 @@ BlockNullPicture:
#End Region
#Region "Download functions and options"
Friend Overridable Property DownloadTopCount As Integer? = Nothing Implements IUserData.DownloadTopCount
+ Protected Responser As PersonalUtilities.Tools.WEB.Response
Friend Overridable Sub DownloadData(ByVal Token As CancellationToken) Implements IContentProvider.DownloadData
Dim Canceled As Boolean = False
Try
UpdateDataFiles()
+ If Not Responser Is Nothing Then Responser.Dispose()
+ Responser = New PersonalUtilities.Tools.WEB.Response
+ Responser.Copy(Settings.Site(Site).Responser)
Dim UpPic As Boolean = Settings.ViewModeIsPicture AndAlso GetPicture(False) Is Nothing
+ Dim sEnvir() As Boolean = {UserExists, UserSuspended}
+ Dim EnvirChanged As Func(Of Boolean) = Function() Not sEnvir(0) = UserExists Or Not sEnvir(1) = UserSuspended
_DownloadedPicturesSession = 0
_DownloadedVideosSession = 0
_TempMediaList.Clear()
@@ -623,7 +637,7 @@ BlockNullPicture:
_ContentList.ListAddList(_ContentNew.Where(Function(c) c.State = UState.Downloaded), LNC)
_CountPictures = _ContentList.LongCount(Function(c) c.Type = UserMedia.Types.Picture)
_CountVideo = _ContentList.LongCount(Function(c) c.Type = UserMedia.Types.Video)
- If DownloadedPictures + DownloadedVideos > 0 Then
+ If DownloadedPictures + DownloadedVideos > 0 Or EnvirChanged.Invoke Then
If __SaveData Then
LastUpdated = Now
If Labels.Contains(LabelsKeeper.NoParsedUser) Then Labels.Remove(LabelsKeeper.NoParsedUser)
@@ -634,12 +648,13 @@ BlockNullPicture:
_ContentList.Clear()
CreatedByChannel = False
End If
+ If Not UserExists Then ReadyForDownload = False
UpdateUserInformation()
End If
ThrowIfDisposed()
_DownloadedPicturesTotal += _DownloadedPicturesSession
_DownloadedVideosTotal += _DownloadedVideosSession
- If UpPic Then Raise_OnPictureUpdated()
+ If UpPic Or EnvirChanged.Invoke Then Raise_OnUserUpdated()
Catch oex As OperationCanceledException When Token.IsCancellationRequested
MyMainLOG = $"{Site} - {Name}: downloading canceled"
Canceled = True
@@ -649,6 +664,7 @@ BlockNullPicture:
LogError(ex, "downloading data error")
HasError = True
Finally
+ If Not Responser Is Nothing Then Responser.Dispose() : Responser = Nothing
If Not Canceled Then _DataParsed = True ': LastUpdated = Now
_ContentNew.Clear()
DownloadTopCount = Nothing
@@ -927,6 +943,7 @@ BlockNullPicture:
_ContentNew.Clear()
_TempMediaList.Clear()
_TempPostsList.Clear()
+ If Not Responser Is Nothing Then Responser.Dispose()
If Not BTT_CONTEXT_DOWN Is Nothing Then BTT_CONTEXT_DOWN.Dispose()
If Not BTT_CONTEXT_EDIT Is Nothing Then BTT_CONTEXT_EDIT.Dispose()
If Not BTT_CONTEXT_DELETE Is Nothing Then BTT_CONTEXT_DELETE.Dispose()
@@ -959,7 +976,7 @@ BlockNullPicture:
Sub DownloadData(ByVal Token As CancellationToken)
End Interface
Friend Interface IUserData : Inherits IContentProvider, IComparable(Of UserDataBase), IComparable, IEquatable(Of UserDataBase), IDisposable
- Event OnPictureUpdated(ByVal User As IUserData)
+ Event OnUserUpdated(ByVal User As IUserData)
Property ParseUserMediaOnly As Boolean
#Region "Images"
Function GetPicture() As Image
@@ -972,6 +989,8 @@ BlockNullPicture:
ReadOnly Property Labels As List(Of String)
#End Region
ReadOnly Property IsChannel As Boolean
+ Property Exists As Boolean
+ Property Suspended As Boolean
Property ReadyForDownload As Boolean
Property [File] As SFile
Property FileExists As Boolean
diff --git a/SCrawler/API/Reddit/Channel.vb b/SCrawler/API/Reddit/Channel.vb
index 49e26cc..800a745 100644
--- a/SCrawler/API/Reddit/Channel.vb
+++ b/SCrawler/API/Reddit/Channel.vb
@@ -22,9 +22,23 @@ Namespace API.Reddit
#End Region
Friend Const DefaultDownloadLimitCount As Integer = 1000
#Region "IUserData Support"
- Private Event OnPictureUpdated(User As IUserData) Implements IUserData.OnPictureUpdated
+ Private Event OnUserUpdated As IUserData.OnUserUpdatedEventHandler Implements IUserData.OnUserUpdated
Friend Property Instance As IUserData
Private Property IUserData_ParseUserMediaOnly As Boolean = False Implements IUserData.ParseUserMediaOnly
+ Private Property IUserData_Exists As Boolean Implements IUserData.Exists
+ Get
+ Return Instance.Exists
+ End Get
+ Set(ByVal e As Boolean)
+ End Set
+ End Property
+ Private Property IUserData_Suspended As Boolean Implements IUserData.Suspended
+ Get
+ Return Instance.Suspended
+ End Get
+ Set(ByVal s As Boolean)
+ End Set
+ End Property
Private ReadOnly Property IUserData_IsCollection As Boolean Implements IUserData.IsCollection
Get
Return Instance.IsCollection
@@ -504,9 +518,8 @@ Namespace API.Reddit
End Function
Friend Overloads Function LoadData(ByVal f As SFile, ByVal PartialLoad As Boolean, Optional ByVal e As ErrorsDescriber = Nothing) As Boolean
If f.Exists Then
- Using x As New XmlFile(f, ProtectionLevels.All, False) With {.XmlReadOnly = True, .AllowSameNames = True}
+ Using x As New XmlFile(f, Protector.Modes.All, False) With {.XmlReadOnly = True, .AllowSameNames = True}
x.LoadData()
- x.DefaultsLoading(False)
If x.Count > 0 Then
Dim XMLDateProvider As New ADateTime(ADateTime.Formats.BaseDateTime)
Name = x.Value(Name_Name)
@@ -527,7 +540,6 @@ Namespace API.Reddit
Friend Overloads Function Save(Optional ByVal f As SFile = Nothing, Optional ByVal e As ErrorsDescriber = Nothing) As Boolean Implements ILoaderSaver.Save
Dim XMLDateProvider As New ADateTime(ADateTime.Formats.BaseDateTime)
Using x As New XmlFile With {.AllowSameNames = True, .Name = "Channel"}
- x.DefaultsLoading(False)
x.Add(Name_Name, Name)
x.Add(Name_ID, ID)
If Posts.Count > 0 Or PostsLatest.Count > 0 Then
diff --git a/SCrawler/API/Reddit/UserData.vb b/SCrawler/API/Reddit/UserData.vb
index 3cd9bfb..3bcbdcb 100644
--- a/SCrawler/API/Reddit/UserData.vb
+++ b/SCrawler/API/Reddit/UserData.vb
@@ -62,6 +62,8 @@ Namespace API.Reddit
#Region "Initializers"
''' Video downloader initializer
Private Sub New()
+ ChannelPostsNames = New List(Of String)
+ _ExistsUsersNames = New List(Of String)
End Sub
''' Default initializer
Friend Sub New(ByVal u As UserInfo, Optional ByVal _LoadUserInformation As Boolean = True, Optional ByVal InvokeImageHandler As Boolean = True)
@@ -75,6 +77,9 @@ Namespace API.Reddit
#Region "Download Overrides"
Friend Overrides Sub DownloadData(ByVal Token As CancellationToken)
If IsChannel AndAlso Not ChannelInfo.IsRegularChannel Then
+ If Not Responser Is Nothing Then Responser.Dispose()
+ Responser = New PersonalUtilities.Tools.WEB.Response
+ Responser.Copy(Settings.Site(Sites.Reddit).Responser)
ChannelPostsNames.ListAddList(ChannelInfo.PostsAll.Select(Function(p) p.ID), LNC)
If SkipExistsUsers Then _ExistsUsersNames.ListAddList(Settings.UsersList.Select(Function(p) p.Name), LNC)
DownloadDataF(Token)
@@ -201,8 +206,14 @@ Namespace API.Reddit
Catch oex As OperationCanceledException When Token.IsCancellationRequested
Catch dex As ObjectDisposedException When Disposed
Catch ex As Exception
- LogError(ex, $"data downloading error [{URL}]")
- HasError = True
+ If ex.HelpLink = NonExistendUserHelp Then
+ UserExists = False
+ ElseIf ex.HelpLink = SuspendedUserHelp Then
+ UserSuspended = True
+ Else
+ LogError(ex, $"data downloading error [{URL}]")
+ HasError = True
+ End If
End Try
End Sub
Private Sub DownloadDataChannel(ByVal POST As String, ByVal Token As CancellationToken)
@@ -283,8 +294,14 @@ Namespace API.Reddit
Catch oex As OperationCanceledException When Token.IsCancellationRequested
Catch dex As ObjectDisposedException When Disposed
Catch ex As Exception
- LogError(ex, $"channel data downloading error [{URL}]")
- HasError = True
+ If ex.HelpLink = NonExistendUserHelp Then
+ UserExists = False
+ ElseIf ex.HelpLink = SuspendedUserHelp Then
+ UserSuspended = True
+ Else
+ LogError(ex, $"channel data downloading error [{URL}]")
+ HasError = True
+ End If
End Try
End Sub
#End Region
@@ -384,6 +401,8 @@ Namespace API.Reddit
If Not URL.IsEmptyString AndAlso URL.Contains("redgifs") Then
Using r As New UserData
r._TempMediaList.Add(MediaFromData(UTypes.VideoPre, URL, String.Empty, String.Empty,, False))
+ r.Responser = New PersonalUtilities.Tools.WEB.Response
+ r.Responser.Copy(Settings.Site(Sites.Reddit).Responser)
r.ReparseVideo(Nothing)
If r._TempMediaList.ListExists Then Return r._TempMediaList(0)
End Using
@@ -442,6 +461,7 @@ Namespace API.Reddit
Dim cached As Boolean = IsChannel And SaveToCache
Dim vsf As Boolean = SeparateVideoFolderF
Dim ImgFormat As Imaging.ImageFormat
+ Dim UseMD5 As Boolean = Not IsChannel Or (Not cached And Settings.ChannelsRegularCheckMD5)
Dim bDP As New ErrorsDescriber(EDP.None)
Dim MD5BS As Func(Of String, UTypes,
SFile, Boolean, String) = Function(ByVal __URL As String, ByVal __MT As UTypes,
@@ -474,7 +494,7 @@ Namespace API.Reddit
End If
f.Separator = "\"
m = String.Empty
- If (v.Type = UTypes.Picture Or v.Type = UTypes.GIF) And Not cached Then
+ If (v.Type = UTypes.Picture Or v.Type = UTypes.GIF) And UseMD5 Then
m = MD5BS(v.URL, v.Type, f, False)
If m.IsEmptyString AndAlso Not v.URL_BASE.IsEmptyString AndAlso Not v.URL_BASE = v.URL Then
m = MD5BS(v.URL_BASE, v.Type, f, True)
@@ -483,7 +503,7 @@ Namespace API.Reddit
End If
If (Not m.IsEmptyString AndAlso Not HashList.Contains(m)) Or Not (v.Type = UTypes.Picture Or
- v.Type = UTypes.GIF) Or cached Then
+ v.Type = UTypes.GIF) Or Not UseMD5 Then
If Not cached Then HashList.Add(m)
v.MD5 = m
f.Path = MyDir
@@ -536,15 +556,20 @@ Namespace API.Reddit
End Sub
Protected Function GetSiteResponse(ByVal URL As String, Optional ByVal e As ErrorsDescriber = Nothing) As String
Try
- Return Settings.Site(Sites.Reddit).Responser.GetResponse(URL,, EDP.ThrowException)
+ Return Responser.GetResponse(URL,, EDP.ThrowException)
Catch ex As Exception
HasError = True
Dim OptText$ = String.Empty
If Not e.Exists Then
Dim ee As EDP = EDP.SendInLog
- If Settings.Site(Sites.Reddit).Responser.StatusCode = HttpStatusCode.NotFound Then
- ee += EDP.ThrowException
+ If Responser.StatusCode = HttpStatusCode.NotFound Then
+ ee = EDP.ThrowException
OptText = ": USER NOT FOUND"
+ ex.HelpLink = NonExistendUserHelp
+ ElseIf Responser.StatusCode = HttpStatusCode.Forbidden Then
+ ee = EDP.ThrowException
+ OptText = ": USER PROFILE SUSPENDED"
+ ex.HelpLink = SuspendedUserHelp
Else
ee += EDP.ReturnValue
End If
diff --git a/SCrawler/API/Twitter/UserData.vb b/SCrawler/API/Twitter/UserData.vb
index 00a06b9..83e81dd 100644
--- a/SCrawler/API/Twitter/UserData.vb
+++ b/SCrawler/API/Twitter/UserData.vb
@@ -6,6 +6,7 @@
'
' This program is distributed in the hope that it will be useful,
' but WITHOUT ANY WARRANTY
+Imports PersonalUtilities.Tools.WEB
Imports PersonalUtilities.Tools.WebDocuments.JSON
Imports PersonalUtilities.Functions.XML
Imports System.Net
@@ -67,7 +68,7 @@ Namespace API.Twitter
If Not POST.IsEmptyString Then URL &= $"&max_id={POST}"
ThrowAny(Token)
- Dim r$ = Settings.Site(Sites.Twitter).Responser.GetResponse(URL,, EDP.ThrowException)
+ Dim r$ = Responser.GetResponse(URL,, EDP.ThrowException)
If Not r.IsEmptyString Then
Using w As EContainer = JsonDocument.Parse(r)
If Not w Is Nothing AndAlso w.Count > 0 Then
@@ -117,8 +118,16 @@ Namespace API.Twitter
Catch oex As OperationCanceledException When Token.IsCancellationRequested
Catch dex As ObjectDisposedException When Disposed
Catch ex As Exception
- LogError(ex, $"data downloading error [{URL}]")
- HasError = True
+ If Responser.StatusCode = HttpStatusCode.NotFound Then
+ UserExists = False
+ ElseIf Responser.StatusCode = HttpStatusCode.Unauthorized Then
+ UserSuspended = True
+ ElseIf Responser.StatusCode = HttpStatusCode.BadRequest Then
+ MyMainLOG = "Twitter has invalid credentials"
+ Else
+ LogError(ex, $"data downloading error [{URL}]")
+ HasError = True
+ End If
End Try
End Sub
Friend Shared Function GetVideoInfo(ByVal URL As String) As UserMedia
@@ -126,8 +135,8 @@ Namespace API.Twitter
If URL.Contains("twitter") Then
Dim PostID$ = RegexReplace(URL, New RegexStructure("(?<=/)\d+", True, False,,,,, String.Empty))
If Not PostID.IsEmptyString Then
- Dim r$ = Settings.Site(Sites.Twitter).Responser.GetResponse($"https://api.twitter.com/1.1/statuses/show.json?id={PostID}",,
- EDP.ReturnValue)
+ Dim r$ = DirectCast(Settings.Site(Sites.Twitter).Responser.Copy(), Response).
+ GetResponse($"https://api.twitter.com/1.1/statuses/show.json?id={PostID}",, EDP.ReturnValue)
If Not r.IsEmptyString Then
Using j As EContainer = JsonDocument.Parse(r)
If j.ListExists Then
diff --git a/SCrawler/API/UserDataBind.vb b/SCrawler/API/UserDataBind.vb
index 3fc66f8..800a440 100644
--- a/SCrawler/API/UserDataBind.vb
+++ b/SCrawler/API/UserDataBind.vb
@@ -36,6 +36,20 @@ Namespace API
CollectionName = NewCollectionName
End Set
End Property
+ Friend Overrides Property UserExists As Boolean
+ Get
+ Return Count > 0 AndAlso Collections.Exists(Function(c) c.Exists)
+ End Get
+ Set(ByVal e As Boolean)
+ End Set
+ End Property
+ Friend Overrides Property UserSuspended As Boolean
+ Get
+ Return Count > 0 AndAlso Collections.LongCount(Function(c) c.Suspended) = Count
+ End Get
+ Set(ByVal s As Boolean)
+ End Set
+ End Property
Friend Overrides Sub ChangeCollectionName(ByVal NewName As String, ByVal UpdateSettings As Boolean)
_CollectionName = NewName
If Count > 0 Then Collections.ForEach(Sub(c) c.CollectionName = NewName)
@@ -278,8 +292,8 @@ Namespace API
End Sub
Protected Overrides Sub DownloadContent(ByVal Token As CancellationToken)
End Sub
- Private Sub User_OnPictureUpdated(ByVal User As IUserData)
- Raise_OnPictureUpdated()
+ Private Sub User_OnUserUpdated(ByVal User As IUserData)
+ Raise_OnUserUpdated()
End Sub
Friend Overrides Sub OpenSite()
If Count > 0 Then Collections(0).OpenSite()
@@ -314,7 +328,7 @@ Namespace API
.UpdateUserInformation()
End If
ImageHandler(_Item, False)
- AddHandler .Self.OnPictureUpdated, AddressOf User_OnPictureUpdated
+ AddHandler .Self.OnUserUpdated, AddressOf User_OnUserUpdated
DirectCast(.Self, UserDataBase).CreateButtons(Count - 1)
End With
Else
@@ -333,7 +347,7 @@ Namespace API
.CreateButtons(Count - 1)
AddHandler .BTT_CONTEXT_DELETE.Click, AddressOf BTT_CONTEXT_DELETE_Click
End With
- AddHandler Collections(Count - 1).OnPictureUpdated, AddressOf User_OnPictureUpdated
+ AddHandler Collections.Last.OnUserUpdated, AddressOf User_OnUserUpdated
End Sub
Friend Sub AddRange(ByVal _Items As IEnumerable(Of IUserData))
If Not _Items Is Nothing AndAlso _Items.Count > 0 Then
diff --git a/SCrawler/Channels/ChannelViewForm.vb b/SCrawler/Channels/ChannelViewForm.vb
index 9aeafcb..ed1efed 100644
--- a/SCrawler/Channels/ChannelViewForm.vb
+++ b/SCrawler/Channels/ChannelViewForm.vb
@@ -424,7 +424,11 @@ Friend Class ChannelViewForm : Implements IChannelLimits
If Not Settings.UsersList.Contains(.ElementAt(i)) Then
f = PendingUsers(i).File
Settings.UpdateUsersList(.ElementAt(i))
- Settings.Users.Add(New UserData(.ElementAt(i), False) With {.Temporary = True, .CreatedByChannel = True})
+ Settings.Users.Add(New UserData(.ElementAt(i), False) With {
+ .Temporary = Settings.ChannelsDefaultTemporary,
+ .CreatedByChannel = True,
+ .ReadyForDownload = Settings.ChannelsDefaultReadyForDownload
+ })
With Settings.Users.Last
.Labels.Add(CannelsLabelName)
.UpdateUserInformation()
@@ -568,6 +572,7 @@ Friend Class ChannelViewForm : Implements IChannelLimits
End Sub
Private Sub ChangeComboIndex(ByVal Appender As Integer)
Try
+ AppendPendingUsers()
Dim _ComboUpEnabled As Boolean = False
Dim _ComboDownEnabled As Boolean = False
If CMB_CHANNELS.Count > 0 Then
diff --git a/SCrawler/Editors/GlobalSettingsForm.Designer.vb b/SCrawler/Editors/GlobalSettingsForm.Designer.vb
index 787ec8d..8158981 100644
--- a/SCrawler/Editors/GlobalSettingsForm.Designer.vb
+++ b/SCrawler/Editors/GlobalSettingsForm.Designer.vb
@@ -15,35 +15,41 @@
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
- Dim TP_MAIN As System.Windows.Forms.TableLayoutPanel
+ Dim TP_BASIS As System.Windows.Forms.TableLayoutPanel
Dim ActionButton1 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(GlobalSettingsForm))
Dim ActionButton2 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
- Dim ActionButton3 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
Dim TP_IMAGES As System.Windows.Forms.TableLayoutPanel
- Dim TP_CHANNELS_IMGS As System.Windows.Forms.TableLayoutPanel
+ Dim ActionButton3 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
Dim ActionButton4 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
Dim ActionButton5 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
- Dim TP_DEFAULTS As System.Windows.Forms.TableLayoutPanel
+ Dim TT_MAIN As System.Windows.Forms.ToolTip
Dim TP_FILE_NAME As System.Windows.Forms.TableLayoutPanel
Dim TP_FILE_PATTERNS As System.Windows.Forms.TableLayoutPanel
Dim LBL_DATE_POS As System.Windows.Forms.Label
- Dim TT_MAIN As System.Windows.Forms.ToolTip
+ Dim TP_CHANNELS_IMGS As System.Windows.Forms.TableLayoutPanel
+ Dim TAB_MAIN As System.Windows.Forms.TabControl
+ Dim TAB_BASIS As System.Windows.Forms.TabPage
+ Dim TAB_DEFAULTS As System.Windows.Forms.TabPage
+ Dim TP_DEFS As System.Windows.Forms.TableLayoutPanel
+ Dim TAB_DEFS_CHANNELS As System.Windows.Forms.TabPage
+ Dim TP_CHANNELS As System.Windows.Forms.TableLayoutPanel
+ Dim TAB_DEFS_REDDIT As System.Windows.Forms.TabPage
+ Dim TP_REDDIT As System.Windows.Forms.TableLayoutPanel
+ Dim TAB_DEFS_TWITTER As System.Windows.Forms.TabPage
+ Dim TP_TWITTER As System.Windows.Forms.TableLayoutPanel
Me.TXT_GLOBAL_PATH = New PersonalUtilities.Forms.Controls.TextBoxExtended()
- Me.CH_SEPARATE_VIDEO_FOLDER = New System.Windows.Forms.CheckBox()
- Me.TXT_COLLECTIONS_PATH = New PersonalUtilities.Forms.Controls.TextBoxExtended()
Me.TXT_IMAGE_LARGE = New PersonalUtilities.Forms.Controls.TextBoxExtended()
Me.TXT_IMAGE_SMALL = New PersonalUtilities.Forms.Controls.TextBoxExtended()
- Me.TXT_CHANNELS_ROWS = New PersonalUtilities.Forms.Controls.TextBoxExtended()
- Me.TXT_CHANNELS_COLUMNS = New PersonalUtilities.Forms.Controls.TextBoxExtended()
- Me.TXT_CHANNEL_USER_POST_LIMIT = New PersonalUtilities.Forms.Controls.TextBoxExtended()
- Me.CH_COPY_CHANNEL_USER_IMAGE = New System.Windows.Forms.CheckBox()
- Me.CH_CHECK_VER_START = New System.Windows.Forms.CheckBox()
+ Me.TXT_COLLECTIONS_PATH = New PersonalUtilities.Forms.Controls.TextBoxExtended()
Me.TXT_MAX_JOBS_USERS = New PersonalUtilities.Forms.Controls.TextBoxExtended()
Me.TXT_MAX_JOBS_CHANNELS = New PersonalUtilities.Forms.Controls.TextBoxExtended()
+ Me.CH_CHECK_VER_START = New System.Windows.Forms.CheckBox()
+ Me.CH_COPY_CHANNEL_USER_IMAGE = New System.Windows.Forms.CheckBox()
Me.CH_DEF_TEMP = New System.Windows.Forms.CheckBox()
Me.CH_DOWN_IMAGES = New System.Windows.Forms.CheckBox()
Me.CH_DOWN_VIDEOS = New System.Windows.Forms.CheckBox()
+ Me.CH_SEPARATE_VIDEO_FOLDER = New System.Windows.Forms.CheckBox()
Me.OPT_FILE_NAME_REPLACE = New System.Windows.Forms.RadioButton()
Me.OPT_FILE_NAME_ADD_DATE = New System.Windows.Forms.RadioButton()
Me.CH_FILE_NAME_CHANGE = New System.Windows.Forms.CheckBox()
@@ -51,72 +57,93 @@
Me.CH_FILE_TIME = New System.Windows.Forms.CheckBox()
Me.OPT_FILE_DATE_START = New System.Windows.Forms.RadioButton()
Me.OPT_FILE_DATE_END = New System.Windows.Forms.RadioButton()
+ Me.TXT_CHANNELS_ROWS = New PersonalUtilities.Forms.Controls.TextBoxExtended()
+ Me.TXT_CHANNELS_COLUMNS = New PersonalUtilities.Forms.Controls.TextBoxExtended()
+ Me.TXT_CHANNEL_USER_POST_LIMIT = New PersonalUtilities.Forms.Controls.TextBoxExtended()
+ Me.CH_CHANNELS_USERS_TEMP = New System.Windows.Forms.CheckBox()
+ Me.CH_REDDIT_TEMP = New System.Windows.Forms.CheckBox()
+ Me.CH_REDDIT_DOWN_IMG = New System.Windows.Forms.CheckBox()
+ Me.CH_REDDIT_DOWN_VID = New System.Windows.Forms.CheckBox()
+ Me.CH_TWITTER_TEMP = New System.Windows.Forms.CheckBox()
+ Me.CH_TWITTER_DOWN_IMG = New System.Windows.Forms.CheckBox()
+ Me.CH_TWITTER_DOWN_VID = New System.Windows.Forms.CheckBox()
+ Me.CH_TWITTER_USER_MEDIA = New System.Windows.Forms.CheckBox()
Me.CONTAINER_MAIN = New System.Windows.Forms.ToolStripContainer()
- TP_MAIN = New System.Windows.Forms.TableLayoutPanel()
+ TP_BASIS = New System.Windows.Forms.TableLayoutPanel()
TP_IMAGES = New System.Windows.Forms.TableLayoutPanel()
- TP_CHANNELS_IMGS = New System.Windows.Forms.TableLayoutPanel()
- TP_DEFAULTS = New System.Windows.Forms.TableLayoutPanel()
+ TT_MAIN = New System.Windows.Forms.ToolTip(Me.components)
TP_FILE_NAME = New System.Windows.Forms.TableLayoutPanel()
TP_FILE_PATTERNS = New System.Windows.Forms.TableLayoutPanel()
LBL_DATE_POS = New System.Windows.Forms.Label()
- TT_MAIN = New System.Windows.Forms.ToolTip(Me.components)
- TP_MAIN.SuspendLayout()
+ TP_CHANNELS_IMGS = New System.Windows.Forms.TableLayoutPanel()
+ TAB_MAIN = New System.Windows.Forms.TabControl()
+ TAB_BASIS = New System.Windows.Forms.TabPage()
+ TAB_DEFAULTS = New System.Windows.Forms.TabPage()
+ TP_DEFS = New System.Windows.Forms.TableLayoutPanel()
+ TAB_DEFS_CHANNELS = New System.Windows.Forms.TabPage()
+ TP_CHANNELS = New System.Windows.Forms.TableLayoutPanel()
+ TAB_DEFS_REDDIT = New System.Windows.Forms.TabPage()
+ TP_REDDIT = New System.Windows.Forms.TableLayoutPanel()
+ TAB_DEFS_TWITTER = New System.Windows.Forms.TabPage()
+ TP_TWITTER = New System.Windows.Forms.TableLayoutPanel()
+ TP_BASIS.SuspendLayout()
CType(Me.TXT_GLOBAL_PATH, System.ComponentModel.ISupportInitialize).BeginInit()
- CType(Me.TXT_COLLECTIONS_PATH, System.ComponentModel.ISupportInitialize).BeginInit()
TP_IMAGES.SuspendLayout()
CType(Me.TXT_IMAGE_LARGE, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TXT_IMAGE_SMALL, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.TXT_COLLECTIONS_PATH, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.TXT_MAX_JOBS_USERS, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.TXT_MAX_JOBS_CHANNELS, System.ComponentModel.ISupportInitialize).BeginInit()
+ TP_FILE_NAME.SuspendLayout()
+ TP_FILE_PATTERNS.SuspendLayout()
TP_CHANNELS_IMGS.SuspendLayout()
CType(Me.TXT_CHANNELS_ROWS, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TXT_CHANNELS_COLUMNS, System.ComponentModel.ISupportInitialize).BeginInit()
+ TAB_MAIN.SuspendLayout()
+ TAB_BASIS.SuspendLayout()
+ TAB_DEFAULTS.SuspendLayout()
+ TP_DEFS.SuspendLayout()
+ TAB_DEFS_CHANNELS.SuspendLayout()
+ TP_CHANNELS.SuspendLayout()
CType(Me.TXT_CHANNEL_USER_POST_LIMIT, System.ComponentModel.ISupportInitialize).BeginInit()
- CType(Me.TXT_MAX_JOBS_USERS, System.ComponentModel.ISupportInitialize).BeginInit()
- CType(Me.TXT_MAX_JOBS_CHANNELS, System.ComponentModel.ISupportInitialize).BeginInit()
- TP_DEFAULTS.SuspendLayout()
- TP_FILE_NAME.SuspendLayout()
- TP_FILE_PATTERNS.SuspendLayout()
+ TAB_DEFS_REDDIT.SuspendLayout()
+ TP_REDDIT.SuspendLayout()
+ TAB_DEFS_TWITTER.SuspendLayout()
+ TP_TWITTER.SuspendLayout()
Me.CONTAINER_MAIN.ContentPanel.SuspendLayout()
Me.CONTAINER_MAIN.SuspendLayout()
Me.SuspendLayout()
'
- 'TP_MAIN
+ 'TP_BASIS
'
- TP_MAIN.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
- TP_MAIN.ColumnCount = 1
- TP_MAIN.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
- TP_MAIN.Controls.Add(Me.TXT_GLOBAL_PATH, 0, 0)
- TP_MAIN.Controls.Add(Me.CH_SEPARATE_VIDEO_FOLDER, 0, 2)
- TP_MAIN.Controls.Add(Me.TXT_COLLECTIONS_PATH, 0, 4)
- TP_MAIN.Controls.Add(TP_IMAGES, 0, 1)
- TP_MAIN.Controls.Add(TP_CHANNELS_IMGS, 0, 5)
- TP_MAIN.Controls.Add(Me.TXT_CHANNEL_USER_POST_LIMIT, 0, 6)
- TP_MAIN.Controls.Add(Me.CH_COPY_CHANNEL_USER_IMAGE, 0, 7)
- TP_MAIN.Controls.Add(Me.CH_CHECK_VER_START, 0, 8)
- TP_MAIN.Controls.Add(Me.TXT_MAX_JOBS_USERS, 0, 9)
- TP_MAIN.Controls.Add(Me.TXT_MAX_JOBS_CHANNELS, 0, 10)
- TP_MAIN.Controls.Add(TP_DEFAULTS, 0, 3)
- TP_MAIN.Controls.Add(TP_FILE_NAME, 0, 11)
- TP_MAIN.Controls.Add(TP_FILE_PATTERNS, 0, 12)
- TP_MAIN.Dock = System.Windows.Forms.DockStyle.Fill
- TP_MAIN.Location = New System.Drawing.Point(0, 0)
- TP_MAIN.Name = "TP_MAIN"
- TP_MAIN.RowCount = 13
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.692121!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.692121!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.692121!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.692121!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.692121!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.692121!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.693649!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.693649!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.692503!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.691732!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.692427!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.691657!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.691657!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
- TP_MAIN.Size = New System.Drawing.Size(584, 359)
- TP_MAIN.TabIndex = 0
+ TP_BASIS.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
+ TP_BASIS.ColumnCount = 1
+ TP_BASIS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
+ TP_BASIS.Controls.Add(Me.TXT_GLOBAL_PATH, 0, 0)
+ TP_BASIS.Controls.Add(TP_IMAGES, 0, 1)
+ TP_BASIS.Controls.Add(Me.TXT_COLLECTIONS_PATH, 0, 2)
+ TP_BASIS.Controls.Add(Me.TXT_MAX_JOBS_USERS, 0, 3)
+ TP_BASIS.Controls.Add(Me.TXT_MAX_JOBS_CHANNELS, 0, 4)
+ TP_BASIS.Controls.Add(Me.CH_CHECK_VER_START, 0, 5)
+ TP_BASIS.Dock = System.Windows.Forms.DockStyle.Fill
+ TP_BASIS.Location = New System.Drawing.Point(3, 3)
+ TP_BASIS.Name = "TP_BASIS"
+ TP_BASIS.RowCount = 7
+ TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
+ TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
+ TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
+ TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
+ TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
+ TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
+ TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
+ TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
+ TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
+ TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
+ TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
+ TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
+ TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
+ TP_BASIS.Size = New System.Drawing.Size(570, 352)
+ TP_BASIS.TabIndex = 0
'
'TXT_GLOBAL_PATH
'
@@ -134,37 +161,9 @@
Me.TXT_GLOBAL_PATH.Dock = System.Windows.Forms.DockStyle.Fill
Me.TXT_GLOBAL_PATH.Location = New System.Drawing.Point(4, 4)
Me.TXT_GLOBAL_PATH.Name = "TXT_GLOBAL_PATH"
- Me.TXT_GLOBAL_PATH.Size = New System.Drawing.Size(576, 22)
+ Me.TXT_GLOBAL_PATH.Size = New System.Drawing.Size(562, 22)
Me.TXT_GLOBAL_PATH.TabIndex = 0
'
- 'CH_SEPARATE_VIDEO_FOLDER
- '
- Me.CH_SEPARATE_VIDEO_FOLDER.AutoSize = True
- Me.CH_SEPARATE_VIDEO_FOLDER.Dock = System.Windows.Forms.DockStyle.Fill
- Me.CH_SEPARATE_VIDEO_FOLDER.Location = New System.Drawing.Point(4, 58)
- Me.CH_SEPARATE_VIDEO_FOLDER.Name = "CH_SEPARATE_VIDEO_FOLDER"
- Me.CH_SEPARATE_VIDEO_FOLDER.Padding = New System.Windows.Forms.Padding(100, 0, 0, 0)
- Me.CH_SEPARATE_VIDEO_FOLDER.Size = New System.Drawing.Size(576, 20)
- Me.CH_SEPARATE_VIDEO_FOLDER.TabIndex = 2
- Me.CH_SEPARATE_VIDEO_FOLDER.Text = "Separate video folders"
- TT_MAIN.SetToolTip(Me.CH_SEPARATE_VIDEO_FOLDER, resources.GetString("CH_SEPARATE_VIDEO_FOLDER.ToolTip"))
- Me.CH_SEPARATE_VIDEO_FOLDER.UseVisualStyleBackColor = True
- '
- 'TXT_COLLECTIONS_PATH
- '
- ActionButton3.BackgroundImage = CType(resources.GetObject("ActionButton3.BackgroundImage"), System.Drawing.Image)
- ActionButton3.Index = 0
- ActionButton3.Name = "BTT_CLEAR"
- Me.TXT_COLLECTIONS_PATH.Buttons.Add(ActionButton3)
- Me.TXT_COLLECTIONS_PATH.CaptionText = "Collections folder"
- Me.TXT_COLLECTIONS_PATH.CaptionToolTipEnabled = True
- Me.TXT_COLLECTIONS_PATH.CaptionToolTipText = "Set collections folder name (name only)"
- Me.TXT_COLLECTIONS_PATH.Dock = System.Windows.Forms.DockStyle.Fill
- Me.TXT_COLLECTIONS_PATH.Location = New System.Drawing.Point(4, 112)
- Me.TXT_COLLECTIONS_PATH.Name = "TXT_COLLECTIONS_PATH"
- Me.TXT_COLLECTIONS_PATH.Size = New System.Drawing.Size(576, 22)
- Me.TXT_COLLECTIONS_PATH.TabIndex = 4
- '
'TP_IMAGES
'
TP_IMAGES.ColumnCount = 2
@@ -173,13 +172,13 @@
TP_IMAGES.Controls.Add(Me.TXT_IMAGE_LARGE, 0, 0)
TP_IMAGES.Controls.Add(Me.TXT_IMAGE_SMALL, 1, 0)
TP_IMAGES.Dock = System.Windows.Forms.DockStyle.Fill
- TP_IMAGES.Location = New System.Drawing.Point(1, 28)
+ TP_IMAGES.Location = New System.Drawing.Point(1, 30)
TP_IMAGES.Margin = New System.Windows.Forms.Padding(0)
TP_IMAGES.Name = "TP_IMAGES"
TP_IMAGES.RowCount = 1
TP_IMAGES.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
TP_IMAGES.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
- TP_IMAGES.Size = New System.Drawing.Size(582, 26)
+ TP_IMAGES.Size = New System.Drawing.Size(568, 28)
TP_IMAGES.TabIndex = 1
'
'TXT_IMAGE_LARGE
@@ -193,7 +192,7 @@
Me.TXT_IMAGE_LARGE.Name = "TXT_IMAGE_LARGE"
Me.TXT_IMAGE_LARGE.NumberMaximum = New Decimal(New Integer() {1000, 0, 0, 0})
Me.TXT_IMAGE_LARGE.NumberMinimum = New Decimal(New Integer() {50, 0, 0, 0})
- Me.TXT_IMAGE_LARGE.Size = New System.Drawing.Size(285, 22)
+ Me.TXT_IMAGE_LARGE.Size = New System.Drawing.Size(278, 22)
Me.TXT_IMAGE_LARGE.TabIndex = 0
Me.TXT_IMAGE_LARGE.Text = "50"
Me.TXT_IMAGE_LARGE.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center
@@ -205,103 +204,29 @@
Me.TXT_IMAGE_SMALL.CaptionToolTipText = "Maximum small image size by height"
Me.TXT_IMAGE_SMALL.ControlMode = PersonalUtilities.Forms.Controls.TextBoxExtended.ControlModes.NumericUpDown
Me.TXT_IMAGE_SMALL.Dock = System.Windows.Forms.DockStyle.Fill
- Me.TXT_IMAGE_SMALL.Location = New System.Drawing.Point(294, 3)
+ Me.TXT_IMAGE_SMALL.Location = New System.Drawing.Point(287, 3)
Me.TXT_IMAGE_SMALL.Name = "TXT_IMAGE_SMALL"
Me.TXT_IMAGE_SMALL.NumberMaximum = New Decimal(New Integer() {500, 0, 0, 0})
Me.TXT_IMAGE_SMALL.NumberMinimum = New Decimal(New Integer() {10, 0, 0, 0})
- Me.TXT_IMAGE_SMALL.Size = New System.Drawing.Size(285, 22)
+ Me.TXT_IMAGE_SMALL.Size = New System.Drawing.Size(278, 22)
Me.TXT_IMAGE_SMALL.TabIndex = 1
Me.TXT_IMAGE_SMALL.Text = "10"
Me.TXT_IMAGE_SMALL.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
- 'TP_CHANNELS_IMGS
+ 'TXT_COLLECTIONS_PATH
'
- TP_CHANNELS_IMGS.ColumnCount = 2
- TP_CHANNELS_IMGS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
- TP_CHANNELS_IMGS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
- TP_CHANNELS_IMGS.Controls.Add(Me.TXT_CHANNELS_ROWS, 0, 0)
- TP_CHANNELS_IMGS.Controls.Add(Me.TXT_CHANNELS_COLUMNS, 1, 0)
- TP_CHANNELS_IMGS.Dock = System.Windows.Forms.DockStyle.Fill
- TP_CHANNELS_IMGS.Location = New System.Drawing.Point(1, 136)
- TP_CHANNELS_IMGS.Margin = New System.Windows.Forms.Padding(0)
- TP_CHANNELS_IMGS.Name = "TP_CHANNELS_IMGS"
- TP_CHANNELS_IMGS.RowCount = 1
- TP_CHANNELS_IMGS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
- TP_CHANNELS_IMGS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
- TP_CHANNELS_IMGS.Size = New System.Drawing.Size(582, 26)
- TP_CHANNELS_IMGS.TabIndex = 5
- '
- 'TXT_CHANNELS_ROWS
- '
- Me.TXT_CHANNELS_ROWS.CaptionText = "Channels rows"
- Me.TXT_CHANNELS_ROWS.CaptionToolTipEnabled = True
- Me.TXT_CHANNELS_ROWS.CaptionToolTipText = "How many images' rows should be shown in the channels form"
- Me.TXT_CHANNELS_ROWS.ControlMode = PersonalUtilities.Forms.Controls.TextBoxExtended.ControlModes.NumericUpDown
- Me.TXT_CHANNELS_ROWS.Dock = System.Windows.Forms.DockStyle.Fill
- Me.TXT_CHANNELS_ROWS.Location = New System.Drawing.Point(3, 3)
- Me.TXT_CHANNELS_ROWS.Name = "TXT_CHANNELS_ROWS"
- Me.TXT_CHANNELS_ROWS.Size = New System.Drawing.Size(285, 22)
- Me.TXT_CHANNELS_ROWS.TabIndex = 0
- Me.TXT_CHANNELS_ROWS.Text = "0"
- Me.TXT_CHANNELS_ROWS.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center
- '
- 'TXT_CHANNELS_COLUMNS
- '
- Me.TXT_CHANNELS_COLUMNS.CaptionText = "Channels columns"
- Me.TXT_CHANNELS_COLUMNS.CaptionToolTipEnabled = True
- Me.TXT_CHANNELS_COLUMNS.CaptionToolTipText = "How many images' columns should be shown in the channels form"
- Me.TXT_CHANNELS_COLUMNS.ControlMode = PersonalUtilities.Forms.Controls.TextBoxExtended.ControlModes.NumericUpDown
- Me.TXT_CHANNELS_COLUMNS.Dock = System.Windows.Forms.DockStyle.Fill
- Me.TXT_CHANNELS_COLUMNS.Location = New System.Drawing.Point(294, 3)
- Me.TXT_CHANNELS_COLUMNS.Name = "TXT_CHANNELS_COLUMNS"
- Me.TXT_CHANNELS_COLUMNS.Size = New System.Drawing.Size(285, 22)
- Me.TXT_CHANNELS_COLUMNS.TabIndex = 1
- Me.TXT_CHANNELS_COLUMNS.Text = "0"
- Me.TXT_CHANNELS_COLUMNS.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center
- '
- 'TXT_CHANNEL_USER_POST_LIMIT
- '
- Me.TXT_CHANNEL_USER_POST_LIMIT.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox
- Me.TXT_CHANNEL_USER_POST_LIMIT.CaptionSizeType = System.Windows.Forms.SizeType.Percent
- Me.TXT_CHANNEL_USER_POST_LIMIT.CaptionText = "Download limit for channel user"
- Me.TXT_CHANNEL_USER_POST_LIMIT.CaptionToolTipText = "Set count of downloading posts limit if user added from channel"
- Me.TXT_CHANNEL_USER_POST_LIMIT.CaptionWidth = 50.0R
- Me.TXT_CHANNEL_USER_POST_LIMIT.ControlMode = PersonalUtilities.Forms.Controls.TextBoxExtended.ControlModes.NumericUpDown
- Me.TXT_CHANNEL_USER_POST_LIMIT.Dock = System.Windows.Forms.DockStyle.Fill
- Me.TXT_CHANNEL_USER_POST_LIMIT.Location = New System.Drawing.Point(4, 166)
- Me.TXT_CHANNEL_USER_POST_LIMIT.Name = "TXT_CHANNEL_USER_POST_LIMIT"
- Me.TXT_CHANNEL_USER_POST_LIMIT.NumberMaximum = New Decimal(New Integer() {1000, 0, 0, 0})
- Me.TXT_CHANNEL_USER_POST_LIMIT.NumberMinimum = New Decimal(New Integer() {1, 0, 0, 0})
- Me.TXT_CHANNEL_USER_POST_LIMIT.Size = New System.Drawing.Size(576, 22)
- Me.TXT_CHANNEL_USER_POST_LIMIT.TabIndex = 6
- Me.TXT_CHANNEL_USER_POST_LIMIT.Text = "1"
- Me.TXT_CHANNEL_USER_POST_LIMIT.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center
- '
- 'CH_COPY_CHANNEL_USER_IMAGE
- '
- Me.CH_COPY_CHANNEL_USER_IMAGE.AutoSize = True
- Me.CH_COPY_CHANNEL_USER_IMAGE.Dock = System.Windows.Forms.DockStyle.Fill
- Me.CH_COPY_CHANNEL_USER_IMAGE.Location = New System.Drawing.Point(4, 193)
- Me.CH_COPY_CHANNEL_USER_IMAGE.Name = "CH_COPY_CHANNEL_USER_IMAGE"
- Me.CH_COPY_CHANNEL_USER_IMAGE.Padding = New System.Windows.Forms.Padding(100, 0, 0, 0)
- Me.CH_COPY_CHANNEL_USER_IMAGE.Size = New System.Drawing.Size(576, 20)
- Me.CH_COPY_CHANNEL_USER_IMAGE.TabIndex = 7
- Me.CH_COPY_CHANNEL_USER_IMAGE.Text = "Copy channel user image"
- TT_MAIN.SetToolTip(Me.CH_COPY_CHANNEL_USER_IMAGE, "Copy image posted by user (in the channel you added from) to the user destination" &
- " folder.")
- Me.CH_COPY_CHANNEL_USER_IMAGE.UseVisualStyleBackColor = True
- '
- 'CH_CHECK_VER_START
- '
- Me.CH_CHECK_VER_START.AutoSize = True
- Me.CH_CHECK_VER_START.Dock = System.Windows.Forms.DockStyle.Fill
- Me.CH_CHECK_VER_START.Location = New System.Drawing.Point(4, 220)
- Me.CH_CHECK_VER_START.Name = "CH_CHECK_VER_START"
- Me.CH_CHECK_VER_START.Padding = New System.Windows.Forms.Padding(100, 0, 0, 0)
- Me.CH_CHECK_VER_START.Size = New System.Drawing.Size(576, 20)
- Me.CH_CHECK_VER_START.TabIndex = 8
- Me.CH_CHECK_VER_START.Text = "Check new version at start"
- Me.CH_CHECK_VER_START.UseVisualStyleBackColor = True
+ ActionButton3.BackgroundImage = CType(resources.GetObject("ActionButton3.BackgroundImage"), System.Drawing.Image)
+ ActionButton3.Index = 0
+ ActionButton3.Name = "BTT_CLEAR"
+ Me.TXT_COLLECTIONS_PATH.Buttons.Add(ActionButton3)
+ Me.TXT_COLLECTIONS_PATH.CaptionText = "Collections folder"
+ Me.TXT_COLLECTIONS_PATH.CaptionToolTipEnabled = True
+ Me.TXT_COLLECTIONS_PATH.CaptionToolTipText = "Set collections folder name (name only)"
+ Me.TXT_COLLECTIONS_PATH.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.TXT_COLLECTIONS_PATH.Location = New System.Drawing.Point(4, 62)
+ Me.TXT_COLLECTIONS_PATH.Name = "TXT_COLLECTIONS_PATH"
+ Me.TXT_COLLECTIONS_PATH.Size = New System.Drawing.Size(562, 22)
+ Me.TXT_COLLECTIONS_PATH.TabIndex = 2
'
'TXT_MAX_JOBS_USERS
'
@@ -315,11 +240,11 @@
Me.TXT_MAX_JOBS_USERS.CaptionWidth = 50.0R
Me.TXT_MAX_JOBS_USERS.ControlMode = PersonalUtilities.Forms.Controls.TextBoxExtended.ControlModes.NumericUpDown
Me.TXT_MAX_JOBS_USERS.Dock = System.Windows.Forms.DockStyle.Fill
- Me.TXT_MAX_JOBS_USERS.Location = New System.Drawing.Point(4, 247)
+ Me.TXT_MAX_JOBS_USERS.Location = New System.Drawing.Point(4, 91)
Me.TXT_MAX_JOBS_USERS.Name = "TXT_MAX_JOBS_USERS"
Me.TXT_MAX_JOBS_USERS.NumberMinimum = New Decimal(New Integer() {1, 0, 0, 0})
- Me.TXT_MAX_JOBS_USERS.Size = New System.Drawing.Size(576, 22)
- Me.TXT_MAX_JOBS_USERS.TabIndex = 9
+ Me.TXT_MAX_JOBS_USERS.Size = New System.Drawing.Size(562, 22)
+ Me.TXT_MAX_JOBS_USERS.TabIndex = 3
Me.TXT_MAX_JOBS_USERS.Text = "1"
Me.TXT_MAX_JOBS_USERS.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
@@ -335,70 +260,86 @@
Me.TXT_MAX_JOBS_CHANNELS.CaptionWidth = 50.0R
Me.TXT_MAX_JOBS_CHANNELS.ControlMode = PersonalUtilities.Forms.Controls.TextBoxExtended.ControlModes.NumericUpDown
Me.TXT_MAX_JOBS_CHANNELS.Dock = System.Windows.Forms.DockStyle.Fill
- Me.TXT_MAX_JOBS_CHANNELS.Location = New System.Drawing.Point(4, 274)
+ Me.TXT_MAX_JOBS_CHANNELS.Location = New System.Drawing.Point(4, 120)
Me.TXT_MAX_JOBS_CHANNELS.Name = "TXT_MAX_JOBS_CHANNELS"
Me.TXT_MAX_JOBS_CHANNELS.NumberMinimum = New Decimal(New Integer() {1, 0, 0, 0})
- Me.TXT_MAX_JOBS_CHANNELS.Size = New System.Drawing.Size(576, 22)
- Me.TXT_MAX_JOBS_CHANNELS.TabIndex = 10
+ Me.TXT_MAX_JOBS_CHANNELS.Size = New System.Drawing.Size(562, 22)
+ Me.TXT_MAX_JOBS_CHANNELS.TabIndex = 4
Me.TXT_MAX_JOBS_CHANNELS.Text = "1"
Me.TXT_MAX_JOBS_CHANNELS.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
- 'TP_DEFAULTS
+ 'CH_CHECK_VER_START
'
- TP_DEFAULTS.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
- TP_DEFAULTS.ColumnCount = 3
- TP_DEFAULTS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333!))
- TP_DEFAULTS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333!))
- TP_DEFAULTS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333!))
- TP_DEFAULTS.Controls.Add(Me.CH_DEF_TEMP, 0, 0)
- TP_DEFAULTS.Controls.Add(Me.CH_DOWN_IMAGES, 1, 0)
- TP_DEFAULTS.Controls.Add(Me.CH_DOWN_VIDEOS, 2, 0)
- TP_DEFAULTS.Dock = System.Windows.Forms.DockStyle.Fill
- TP_DEFAULTS.Location = New System.Drawing.Point(1, 82)
- TP_DEFAULTS.Margin = New System.Windows.Forms.Padding(0)
- TP_DEFAULTS.Name = "TP_DEFAULTS"
- TP_DEFAULTS.RowCount = 1
- TP_DEFAULTS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
- TP_DEFAULTS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 27.0!))
- TP_DEFAULTS.Size = New System.Drawing.Size(582, 26)
- TP_DEFAULTS.TabIndex = 3
+ Me.CH_CHECK_VER_START.AutoSize = True
+ Me.CH_CHECK_VER_START.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.CH_CHECK_VER_START.Location = New System.Drawing.Point(4, 149)
+ Me.CH_CHECK_VER_START.Name = "CH_CHECK_VER_START"
+ Me.CH_CHECK_VER_START.Size = New System.Drawing.Size(562, 19)
+ Me.CH_CHECK_VER_START.TabIndex = 5
+ Me.CH_CHECK_VER_START.Text = "Check new version at start"
+ Me.CH_CHECK_VER_START.UseVisualStyleBackColor = True
+ '
+ 'CH_COPY_CHANNEL_USER_IMAGE
+ '
+ Me.CH_COPY_CHANNEL_USER_IMAGE.AutoSize = True
+ Me.CH_COPY_CHANNEL_USER_IMAGE.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.CH_COPY_CHANNEL_USER_IMAGE.Location = New System.Drawing.Point(4, 62)
+ Me.CH_COPY_CHANNEL_USER_IMAGE.Name = "CH_COPY_CHANNEL_USER_IMAGE"
+ Me.CH_COPY_CHANNEL_USER_IMAGE.Size = New System.Drawing.Size(562, 19)
+ Me.CH_COPY_CHANNEL_USER_IMAGE.TabIndex = 2
+ Me.CH_COPY_CHANNEL_USER_IMAGE.Text = "Copy channel user image"
+ TT_MAIN.SetToolTip(Me.CH_COPY_CHANNEL_USER_IMAGE, "Copy image posted by user (in the channel you added from) to the user's destinati" &
+ "on folder.")
+ Me.CH_COPY_CHANNEL_USER_IMAGE.UseVisualStyleBackColor = True
'
'CH_DEF_TEMP
'
Me.CH_DEF_TEMP.AutoSize = True
Me.CH_DEF_TEMP.Dock = System.Windows.Forms.DockStyle.Fill
- Me.CH_DEF_TEMP.Location = New System.Drawing.Point(4, 4)
+ Me.CH_DEF_TEMP.Location = New System.Drawing.Point(4, 30)
Me.CH_DEF_TEMP.Name = "CH_DEF_TEMP"
- Me.CH_DEF_TEMP.Size = New System.Drawing.Size(186, 18)
- Me.CH_DEF_TEMP.TabIndex = 0
- Me.CH_DEF_TEMP.Text = "Temporary default"
- TT_MAIN.SetToolTip(Me.CH_DEF_TEMP, "Default value on user creating (can be changed in the new user form)")
+ Me.CH_DEF_TEMP.Size = New System.Drawing.Size(562, 19)
+ Me.CH_DEF_TEMP.TabIndex = 1
+ Me.CH_DEF_TEMP.Text = "Temporary"
+ TT_MAIN.SetToolTip(Me.CH_DEF_TEMP, "Default value when creating a new user (can be changed in the new user form)")
Me.CH_DEF_TEMP.UseVisualStyleBackColor = True
'
'CH_DOWN_IMAGES
'
Me.CH_DOWN_IMAGES.AutoSize = True
Me.CH_DOWN_IMAGES.Dock = System.Windows.Forms.DockStyle.Fill
- Me.CH_DOWN_IMAGES.Location = New System.Drawing.Point(197, 4)
+ Me.CH_DOWN_IMAGES.Location = New System.Drawing.Point(4, 56)
Me.CH_DOWN_IMAGES.Name = "CH_DOWN_IMAGES"
- Me.CH_DOWN_IMAGES.Size = New System.Drawing.Size(186, 18)
- Me.CH_DOWN_IMAGES.TabIndex = 1
+ Me.CH_DOWN_IMAGES.Size = New System.Drawing.Size(562, 19)
+ Me.CH_DOWN_IMAGES.TabIndex = 2
Me.CH_DOWN_IMAGES.Text = "Download images"
- TT_MAIN.SetToolTip(Me.CH_DOWN_IMAGES, "By default, download images for new users (can be changed in the new user form)")
+ TT_MAIN.SetToolTip(Me.CH_DOWN_IMAGES, "Default value when creating a new user (can be changed in the new user form)")
Me.CH_DOWN_IMAGES.UseVisualStyleBackColor = True
'
'CH_DOWN_VIDEOS
'
Me.CH_DOWN_VIDEOS.AutoSize = True
Me.CH_DOWN_VIDEOS.Dock = System.Windows.Forms.DockStyle.Fill
- Me.CH_DOWN_VIDEOS.Location = New System.Drawing.Point(390, 4)
+ Me.CH_DOWN_VIDEOS.Location = New System.Drawing.Point(4, 82)
Me.CH_DOWN_VIDEOS.Name = "CH_DOWN_VIDEOS"
- Me.CH_DOWN_VIDEOS.Size = New System.Drawing.Size(188, 18)
- Me.CH_DOWN_VIDEOS.TabIndex = 2
+ Me.CH_DOWN_VIDEOS.Size = New System.Drawing.Size(562, 19)
+ Me.CH_DOWN_VIDEOS.TabIndex = 3
Me.CH_DOWN_VIDEOS.Text = "Download videos"
- TT_MAIN.SetToolTip(Me.CH_DOWN_VIDEOS, "By default, download videos for new users (can be changed in the new user form)")
+ TT_MAIN.SetToolTip(Me.CH_DOWN_VIDEOS, "Default value when creating a new user (can be changed in the new user form)")
Me.CH_DOWN_VIDEOS.UseVisualStyleBackColor = True
'
+ 'CH_SEPARATE_VIDEO_FOLDER
+ '
+ Me.CH_SEPARATE_VIDEO_FOLDER.AutoSize = True
+ Me.CH_SEPARATE_VIDEO_FOLDER.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.CH_SEPARATE_VIDEO_FOLDER.Location = New System.Drawing.Point(4, 4)
+ Me.CH_SEPARATE_VIDEO_FOLDER.Name = "CH_SEPARATE_VIDEO_FOLDER"
+ Me.CH_SEPARATE_VIDEO_FOLDER.Size = New System.Drawing.Size(562, 19)
+ Me.CH_SEPARATE_VIDEO_FOLDER.TabIndex = 0
+ Me.CH_SEPARATE_VIDEO_FOLDER.Text = "Separate video folders"
+ TT_MAIN.SetToolTip(Me.CH_SEPARATE_VIDEO_FOLDER, resources.GetString("CH_SEPARATE_VIDEO_FOLDER.ToolTip"))
+ Me.CH_SEPARATE_VIDEO_FOLDER.UseVisualStyleBackColor = True
+ '
'TP_FILE_NAME
'
TP_FILE_NAME.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
@@ -410,21 +351,21 @@
TP_FILE_NAME.Controls.Add(Me.OPT_FILE_NAME_ADD_DATE, 2, 0)
TP_FILE_NAME.Controls.Add(Me.CH_FILE_NAME_CHANGE, 0, 0)
TP_FILE_NAME.Dock = System.Windows.Forms.DockStyle.Fill
- TP_FILE_NAME.Location = New System.Drawing.Point(1, 298)
+ TP_FILE_NAME.Location = New System.Drawing.Point(1, 111)
TP_FILE_NAME.Margin = New System.Windows.Forms.Padding(0)
TP_FILE_NAME.Name = "TP_FILE_NAME"
TP_FILE_NAME.RowCount = 1
TP_FILE_NAME.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
- TP_FILE_NAME.Size = New System.Drawing.Size(582, 26)
- TP_FILE_NAME.TabIndex = 12
+ TP_FILE_NAME.Size = New System.Drawing.Size(568, 30)
+ TP_FILE_NAME.TabIndex = 4
'
'OPT_FILE_NAME_REPLACE
'
Me.OPT_FILE_NAME_REPLACE.AutoSize = True
Me.OPT_FILE_NAME_REPLACE.Dock = System.Windows.Forms.DockStyle.Fill
- Me.OPT_FILE_NAME_REPLACE.Location = New System.Drawing.Point(197, 4)
+ Me.OPT_FILE_NAME_REPLACE.Location = New System.Drawing.Point(193, 4)
Me.OPT_FILE_NAME_REPLACE.Name = "OPT_FILE_NAME_REPLACE"
- Me.OPT_FILE_NAME_REPLACE.Size = New System.Drawing.Size(186, 18)
+ Me.OPT_FILE_NAME_REPLACE.Size = New System.Drawing.Size(182, 22)
Me.OPT_FILE_NAME_REPLACE.TabIndex = 1
Me.OPT_FILE_NAME_REPLACE.TabStop = True
Me.OPT_FILE_NAME_REPLACE.Text = "Replace file name by date"
@@ -434,9 +375,9 @@
'
Me.OPT_FILE_NAME_ADD_DATE.AutoSize = True
Me.OPT_FILE_NAME_ADD_DATE.Dock = System.Windows.Forms.DockStyle.Fill
- Me.OPT_FILE_NAME_ADD_DATE.Location = New System.Drawing.Point(390, 4)
+ Me.OPT_FILE_NAME_ADD_DATE.Location = New System.Drawing.Point(382, 4)
Me.OPT_FILE_NAME_ADD_DATE.Name = "OPT_FILE_NAME_ADD_DATE"
- Me.OPT_FILE_NAME_ADD_DATE.Size = New System.Drawing.Size(188, 18)
+ Me.OPT_FILE_NAME_ADD_DATE.Size = New System.Drawing.Size(182, 22)
Me.OPT_FILE_NAME_ADD_DATE.TabIndex = 2
Me.OPT_FILE_NAME_ADD_DATE.TabStop = True
Me.OPT_FILE_NAME_ADD_DATE.Text = "Add date/time to file name"
@@ -448,7 +389,7 @@
Me.CH_FILE_NAME_CHANGE.Dock = System.Windows.Forms.DockStyle.Fill
Me.CH_FILE_NAME_CHANGE.Location = New System.Drawing.Point(4, 4)
Me.CH_FILE_NAME_CHANGE.Name = "CH_FILE_NAME_CHANGE"
- Me.CH_FILE_NAME_CHANGE.Size = New System.Drawing.Size(186, 18)
+ Me.CH_FILE_NAME_CHANGE.Size = New System.Drawing.Size(182, 22)
Me.CH_FILE_NAME_CHANGE.TabIndex = 0
Me.CH_FILE_NAME_CHANGE.Text = "Change file names"
Me.CH_FILE_NAME_CHANGE.UseVisualStyleBackColor = True
@@ -468,14 +409,14 @@
TP_FILE_PATTERNS.Controls.Add(Me.OPT_FILE_DATE_START, 3, 0)
TP_FILE_PATTERNS.Controls.Add(Me.OPT_FILE_DATE_END, 4, 0)
TP_FILE_PATTERNS.Dock = System.Windows.Forms.DockStyle.Fill
- TP_FILE_PATTERNS.Location = New System.Drawing.Point(1, 325)
+ TP_FILE_PATTERNS.Location = New System.Drawing.Point(1, 142)
TP_FILE_PATTERNS.Margin = New System.Windows.Forms.Padding(0)
TP_FILE_PATTERNS.Name = "TP_FILE_PATTERNS"
TP_FILE_PATTERNS.RowCount = 1
TP_FILE_PATTERNS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
- TP_FILE_PATTERNS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40.0!))
- TP_FILE_PATTERNS.Size = New System.Drawing.Size(582, 33)
- TP_FILE_PATTERNS.TabIndex = 13
+ TP_FILE_PATTERNS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 29.0!))
+ TP_FILE_PATTERNS.Size = New System.Drawing.Size(568, 30)
+ TP_FILE_PATTERNS.TabIndex = 5
'
'CH_FILE_DATE
'
@@ -483,7 +424,7 @@
Me.CH_FILE_DATE.Dock = System.Windows.Forms.DockStyle.Fill
Me.CH_FILE_DATE.Location = New System.Drawing.Point(4, 4)
Me.CH_FILE_DATE.Name = "CH_FILE_DATE"
- Me.CH_FILE_DATE.Size = New System.Drawing.Size(109, 25)
+ Me.CH_FILE_DATE.Size = New System.Drawing.Size(106, 22)
Me.CH_FILE_DATE.TabIndex = 0
Me.CH_FILE_DATE.Text = "Date"
Me.CH_FILE_DATE.UseVisualStyleBackColor = True
@@ -492,9 +433,9 @@
'
Me.CH_FILE_TIME.AutoSize = True
Me.CH_FILE_TIME.Dock = System.Windows.Forms.DockStyle.Fill
- Me.CH_FILE_TIME.Location = New System.Drawing.Point(120, 4)
+ Me.CH_FILE_TIME.Location = New System.Drawing.Point(117, 4)
Me.CH_FILE_TIME.Name = "CH_FILE_TIME"
- Me.CH_FILE_TIME.Size = New System.Drawing.Size(109, 25)
+ Me.CH_FILE_TIME.Size = New System.Drawing.Size(106, 22)
Me.CH_FILE_TIME.TabIndex = 1
Me.CH_FILE_TIME.Text = "Time"
Me.CH_FILE_TIME.UseVisualStyleBackColor = True
@@ -503,9 +444,9 @@
'
LBL_DATE_POS.AutoSize = True
LBL_DATE_POS.Dock = System.Windows.Forms.DockStyle.Fill
- LBL_DATE_POS.Location = New System.Drawing.Point(236, 1)
+ LBL_DATE_POS.Location = New System.Drawing.Point(230, 1)
LBL_DATE_POS.Name = "LBL_DATE_POS"
- LBL_DATE_POS.Size = New System.Drawing.Size(109, 31)
+ LBL_DATE_POS.Size = New System.Drawing.Size(106, 28)
LBL_DATE_POS.TabIndex = 2
LBL_DATE_POS.Text = "Date position:"
LBL_DATE_POS.TextAlign = System.Drawing.ContentAlignment.MiddleRight
@@ -514,9 +455,9 @@
'
Me.OPT_FILE_DATE_START.AutoSize = True
Me.OPT_FILE_DATE_START.Dock = System.Windows.Forms.DockStyle.Fill
- Me.OPT_FILE_DATE_START.Location = New System.Drawing.Point(352, 4)
+ Me.OPT_FILE_DATE_START.Location = New System.Drawing.Point(343, 4)
Me.OPT_FILE_DATE_START.Name = "OPT_FILE_DATE_START"
- Me.OPT_FILE_DATE_START.Size = New System.Drawing.Size(109, 25)
+ Me.OPT_FILE_DATE_START.Size = New System.Drawing.Size(106, 22)
Me.OPT_FILE_DATE_START.TabIndex = 3
Me.OPT_FILE_DATE_START.TabStop = True
Me.OPT_FILE_DATE_START.Text = "Start"
@@ -526,21 +467,333 @@
'
Me.OPT_FILE_DATE_END.AutoSize = True
Me.OPT_FILE_DATE_END.Dock = System.Windows.Forms.DockStyle.Fill
- Me.OPT_FILE_DATE_END.Location = New System.Drawing.Point(468, 4)
+ Me.OPT_FILE_DATE_END.Location = New System.Drawing.Point(456, 4)
Me.OPT_FILE_DATE_END.Name = "OPT_FILE_DATE_END"
- Me.OPT_FILE_DATE_END.Size = New System.Drawing.Size(110, 25)
+ Me.OPT_FILE_DATE_END.Size = New System.Drawing.Size(108, 22)
Me.OPT_FILE_DATE_END.TabIndex = 4
Me.OPT_FILE_DATE_END.TabStop = True
Me.OPT_FILE_DATE_END.Text = "End"
Me.OPT_FILE_DATE_END.UseVisualStyleBackColor = True
'
+ 'TP_CHANNELS_IMGS
+ '
+ TP_CHANNELS_IMGS.ColumnCount = 2
+ TP_CHANNELS_IMGS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
+ TP_CHANNELS_IMGS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
+ TP_CHANNELS_IMGS.Controls.Add(Me.TXT_CHANNELS_ROWS, 0, 0)
+ TP_CHANNELS_IMGS.Controls.Add(Me.TXT_CHANNELS_COLUMNS, 1, 0)
+ TP_CHANNELS_IMGS.Dock = System.Windows.Forms.DockStyle.Fill
+ TP_CHANNELS_IMGS.Location = New System.Drawing.Point(1, 1)
+ TP_CHANNELS_IMGS.Margin = New System.Windows.Forms.Padding(0)
+ TP_CHANNELS_IMGS.Name = "TP_CHANNELS_IMGS"
+ TP_CHANNELS_IMGS.RowCount = 1
+ TP_CHANNELS_IMGS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
+ TP_CHANNELS_IMGS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
+ TP_CHANNELS_IMGS.Size = New System.Drawing.Size(568, 28)
+ TP_CHANNELS_IMGS.TabIndex = 0
+ '
+ 'TXT_CHANNELS_ROWS
+ '
+ Me.TXT_CHANNELS_ROWS.CaptionText = "Channels rows"
+ Me.TXT_CHANNELS_ROWS.CaptionToolTipEnabled = True
+ Me.TXT_CHANNELS_ROWS.CaptionToolTipText = "How many lines of images should be shown in the channels form"
+ Me.TXT_CHANNELS_ROWS.ControlMode = PersonalUtilities.Forms.Controls.TextBoxExtended.ControlModes.NumericUpDown
+ Me.TXT_CHANNELS_ROWS.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.TXT_CHANNELS_ROWS.Location = New System.Drawing.Point(3, 3)
+ Me.TXT_CHANNELS_ROWS.Name = "TXT_CHANNELS_ROWS"
+ Me.TXT_CHANNELS_ROWS.Size = New System.Drawing.Size(278, 22)
+ Me.TXT_CHANNELS_ROWS.TabIndex = 0
+ Me.TXT_CHANNELS_ROWS.Text = "0"
+ Me.TXT_CHANNELS_ROWS.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center
+ '
+ 'TXT_CHANNELS_COLUMNS
+ '
+ Me.TXT_CHANNELS_COLUMNS.CaptionText = "Channels columns"
+ Me.TXT_CHANNELS_COLUMNS.CaptionToolTipEnabled = True
+ Me.TXT_CHANNELS_COLUMNS.CaptionToolTipText = "How many columns of images should be shown in the channels form"
+ Me.TXT_CHANNELS_COLUMNS.ControlMode = PersonalUtilities.Forms.Controls.TextBoxExtended.ControlModes.NumericUpDown
+ Me.TXT_CHANNELS_COLUMNS.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.TXT_CHANNELS_COLUMNS.Location = New System.Drawing.Point(287, 3)
+ Me.TXT_CHANNELS_COLUMNS.Name = "TXT_CHANNELS_COLUMNS"
+ Me.TXT_CHANNELS_COLUMNS.Size = New System.Drawing.Size(278, 22)
+ Me.TXT_CHANNELS_COLUMNS.TabIndex = 1
+ Me.TXT_CHANNELS_COLUMNS.Text = "0"
+ Me.TXT_CHANNELS_COLUMNS.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center
+ '
+ 'TAB_MAIN
+ '
+ TAB_MAIN.Controls.Add(TAB_BASIS)
+ TAB_MAIN.Controls.Add(TAB_DEFAULTS)
+ TAB_MAIN.Controls.Add(TAB_DEFS_CHANNELS)
+ TAB_MAIN.Controls.Add(TAB_DEFS_REDDIT)
+ TAB_MAIN.Controls.Add(TAB_DEFS_TWITTER)
+ TAB_MAIN.Dock = System.Windows.Forms.DockStyle.Fill
+ TAB_MAIN.Location = New System.Drawing.Point(0, 0)
+ TAB_MAIN.Name = "TAB_MAIN"
+ TAB_MAIN.SelectedIndex = 0
+ TAB_MAIN.Size = New System.Drawing.Size(584, 384)
+ TAB_MAIN.TabIndex = 1
+ '
+ 'TAB_BASIS
+ '
+ TAB_BASIS.Controls.Add(TP_BASIS)
+ TAB_BASIS.Location = New System.Drawing.Point(4, 22)
+ TAB_BASIS.Name = "TAB_BASIS"
+ TAB_BASIS.Padding = New System.Windows.Forms.Padding(3)
+ TAB_BASIS.Size = New System.Drawing.Size(576, 358)
+ TAB_BASIS.TabIndex = 0
+ TAB_BASIS.Text = "Basis"
+ '
+ 'TAB_DEFAULTS
+ '
+ TAB_DEFAULTS.Controls.Add(TP_DEFS)
+ TAB_DEFAULTS.Location = New System.Drawing.Point(4, 22)
+ TAB_DEFAULTS.Name = "TAB_DEFAULTS"
+ TAB_DEFAULTS.Padding = New System.Windows.Forms.Padding(3)
+ TAB_DEFAULTS.Size = New System.Drawing.Size(576, 358)
+ TAB_DEFAULTS.TabIndex = 1
+ TAB_DEFAULTS.Text = "Defaults"
+ '
+ 'TP_DEFS
+ '
+ TP_DEFS.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
+ TP_DEFS.ColumnCount = 1
+ TP_DEFS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
+ TP_DEFS.Controls.Add(Me.CH_SEPARATE_VIDEO_FOLDER, 0, 0)
+ TP_DEFS.Controls.Add(Me.CH_DOWN_VIDEOS, 0, 3)
+ TP_DEFS.Controls.Add(Me.CH_DOWN_IMAGES, 0, 2)
+ TP_DEFS.Controls.Add(Me.CH_DEF_TEMP, 0, 1)
+ TP_DEFS.Dock = System.Windows.Forms.DockStyle.Fill
+ TP_DEFS.Location = New System.Drawing.Point(3, 3)
+ TP_DEFS.Name = "TP_DEFS"
+ TP_DEFS.RowCount = 5
+ TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
+ TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
+ TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
+ TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
+ TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
+ TP_DEFS.Size = New System.Drawing.Size(570, 352)
+ TP_DEFS.TabIndex = 0
+ '
+ 'TAB_DEFS_CHANNELS
+ '
+ TAB_DEFS_CHANNELS.Controls.Add(TP_CHANNELS)
+ TAB_DEFS_CHANNELS.Location = New System.Drawing.Point(4, 22)
+ TAB_DEFS_CHANNELS.Name = "TAB_DEFS_CHANNELS"
+ TAB_DEFS_CHANNELS.Padding = New System.Windows.Forms.Padding(3)
+ TAB_DEFS_CHANNELS.Size = New System.Drawing.Size(576, 358)
+ TAB_DEFS_CHANNELS.TabIndex = 4
+ TAB_DEFS_CHANNELS.Text = "Channels"
+ '
+ 'TP_CHANNELS
+ '
+ TP_CHANNELS.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
+ TP_CHANNELS.ColumnCount = 1
+ TP_CHANNELS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
+ TP_CHANNELS.Controls.Add(Me.TXT_CHANNEL_USER_POST_LIMIT, 0, 1)
+ TP_CHANNELS.Controls.Add(TP_CHANNELS_IMGS, 0, 0)
+ TP_CHANNELS.Controls.Add(Me.CH_COPY_CHANNEL_USER_IMAGE, 0, 2)
+ TP_CHANNELS.Controls.Add(TP_FILE_NAME, 0, 4)
+ TP_CHANNELS.Controls.Add(TP_FILE_PATTERNS, 0, 5)
+ TP_CHANNELS.Controls.Add(Me.CH_CHANNELS_USERS_TEMP, 0, 3)
+ TP_CHANNELS.Dock = System.Windows.Forms.DockStyle.Fill
+ TP_CHANNELS.Location = New System.Drawing.Point(3, 3)
+ TP_CHANNELS.Name = "TP_CHANNELS"
+ TP_CHANNELS.RowCount = 7
+ TP_CHANNELS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
+ TP_CHANNELS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
+ TP_CHANNELS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
+ TP_CHANNELS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
+ TP_CHANNELS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30.0!))
+ TP_CHANNELS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30.0!))
+ TP_CHANNELS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
+ TP_CHANNELS.Size = New System.Drawing.Size(570, 352)
+ TP_CHANNELS.TabIndex = 0
+ '
+ 'TXT_CHANNEL_USER_POST_LIMIT
+ '
+ Me.TXT_CHANNEL_USER_POST_LIMIT.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox
+ Me.TXT_CHANNEL_USER_POST_LIMIT.CaptionSizeType = System.Windows.Forms.SizeType.Percent
+ Me.TXT_CHANNEL_USER_POST_LIMIT.CaptionText = "Download limit for channel user"
+ Me.TXT_CHANNEL_USER_POST_LIMIT.CaptionToolTipEnabled = True
+ Me.TXT_CHANNEL_USER_POST_LIMIT.CaptionToolTipText = "Set a limit on the number of downloads of posts limit if the user is added from t" &
+ "he channel"
+ Me.TXT_CHANNEL_USER_POST_LIMIT.CaptionWidth = 50.0R
+ Me.TXT_CHANNEL_USER_POST_LIMIT.ControlMode = PersonalUtilities.Forms.Controls.TextBoxExtended.ControlModes.NumericUpDown
+ Me.TXT_CHANNEL_USER_POST_LIMIT.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.TXT_CHANNEL_USER_POST_LIMIT.Location = New System.Drawing.Point(4, 33)
+ Me.TXT_CHANNEL_USER_POST_LIMIT.Name = "TXT_CHANNEL_USER_POST_LIMIT"
+ Me.TXT_CHANNEL_USER_POST_LIMIT.NumberMaximum = New Decimal(New Integer() {1000, 0, 0, 0})
+ Me.TXT_CHANNEL_USER_POST_LIMIT.NumberMinimum = New Decimal(New Integer() {1, 0, 0, 0})
+ Me.TXT_CHANNEL_USER_POST_LIMIT.Size = New System.Drawing.Size(562, 22)
+ Me.TXT_CHANNEL_USER_POST_LIMIT.TabIndex = 1
+ Me.TXT_CHANNEL_USER_POST_LIMIT.Text = "1"
+ Me.TXT_CHANNEL_USER_POST_LIMIT.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center
+ '
+ 'CH_CHANNELS_USERS_TEMP
+ '
+ Me.CH_CHANNELS_USERS_TEMP.AutoSize = True
+ Me.CH_CHANNELS_USERS_TEMP.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.CH_CHANNELS_USERS_TEMP.Location = New System.Drawing.Point(4, 88)
+ Me.CH_CHANNELS_USERS_TEMP.Name = "CH_CHANNELS_USERS_TEMP"
+ Me.CH_CHANNELS_USERS_TEMP.Size = New System.Drawing.Size(562, 19)
+ Me.CH_CHANNELS_USERS_TEMP.TabIndex = 3
+ Me.CH_CHANNELS_USERS_TEMP.Text = "Create temporary users"
+ TT_MAIN.SetToolTip(Me.CH_CHANNELS_USERS_TEMP, "Users added from channels will be created with this parameter")
+ Me.CH_CHANNELS_USERS_TEMP.UseVisualStyleBackColor = True
+ '
+ 'TAB_DEFS_REDDIT
+ '
+ TAB_DEFS_REDDIT.Controls.Add(TP_REDDIT)
+ TAB_DEFS_REDDIT.Location = New System.Drawing.Point(4, 22)
+ TAB_DEFS_REDDIT.Name = "TAB_DEFS_REDDIT"
+ TAB_DEFS_REDDIT.Padding = New System.Windows.Forms.Padding(3)
+ TAB_DEFS_REDDIT.Size = New System.Drawing.Size(576, 358)
+ TAB_DEFS_REDDIT.TabIndex = 2
+ TAB_DEFS_REDDIT.Text = "Reddit"
+ '
+ 'TP_REDDIT
+ '
+ TP_REDDIT.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
+ TP_REDDIT.ColumnCount = 1
+ TP_REDDIT.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
+ TP_REDDIT.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
+ TP_REDDIT.Controls.Add(Me.CH_REDDIT_TEMP, 0, 0)
+ TP_REDDIT.Controls.Add(Me.CH_REDDIT_DOWN_IMG, 0, 1)
+ TP_REDDIT.Controls.Add(Me.CH_REDDIT_DOWN_VID, 0, 2)
+ TP_REDDIT.Dock = System.Windows.Forms.DockStyle.Fill
+ TP_REDDIT.Location = New System.Drawing.Point(3, 3)
+ TP_REDDIT.Name = "TP_REDDIT"
+ TP_REDDIT.RowCount = 4
+ TP_REDDIT.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
+ TP_REDDIT.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
+ TP_REDDIT.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
+ TP_REDDIT.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
+ TP_REDDIT.Size = New System.Drawing.Size(570, 352)
+ TP_REDDIT.TabIndex = 0
+ '
+ 'CH_REDDIT_TEMP
+ '
+ Me.CH_REDDIT_TEMP.AutoSize = True
+ Me.CH_REDDIT_TEMP.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.CH_REDDIT_TEMP.Location = New System.Drawing.Point(4, 4)
+ Me.CH_REDDIT_TEMP.Name = "CH_REDDIT_TEMP"
+ Me.CH_REDDIT_TEMP.Size = New System.Drawing.Size(562, 19)
+ Me.CH_REDDIT_TEMP.TabIndex = 0
+ Me.CH_REDDIT_TEMP.Text = "Temporary"
+ Me.CH_REDDIT_TEMP.ThreeState = True
+ Me.CH_REDDIT_TEMP.UseVisualStyleBackColor = True
+ '
+ 'CH_REDDIT_DOWN_IMG
+ '
+ Me.CH_REDDIT_DOWN_IMG.AutoSize = True
+ Me.CH_REDDIT_DOWN_IMG.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.CH_REDDIT_DOWN_IMG.Location = New System.Drawing.Point(4, 30)
+ Me.CH_REDDIT_DOWN_IMG.Name = "CH_REDDIT_DOWN_IMG"
+ Me.CH_REDDIT_DOWN_IMG.Size = New System.Drawing.Size(562, 19)
+ Me.CH_REDDIT_DOWN_IMG.TabIndex = 1
+ Me.CH_REDDIT_DOWN_IMG.Text = "Download images"
+ Me.CH_REDDIT_DOWN_IMG.ThreeState = True
+ Me.CH_REDDIT_DOWN_IMG.UseVisualStyleBackColor = True
+ '
+ 'CH_REDDIT_DOWN_VID
+ '
+ Me.CH_REDDIT_DOWN_VID.AutoSize = True
+ Me.CH_REDDIT_DOWN_VID.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.CH_REDDIT_DOWN_VID.Location = New System.Drawing.Point(4, 56)
+ Me.CH_REDDIT_DOWN_VID.Name = "CH_REDDIT_DOWN_VID"
+ Me.CH_REDDIT_DOWN_VID.Size = New System.Drawing.Size(562, 19)
+ Me.CH_REDDIT_DOWN_VID.TabIndex = 2
+ Me.CH_REDDIT_DOWN_VID.Text = "Download videos"
+ Me.CH_REDDIT_DOWN_VID.ThreeState = True
+ Me.CH_REDDIT_DOWN_VID.UseVisualStyleBackColor = True
+ '
+ 'TAB_DEFS_TWITTER
+ '
+ TAB_DEFS_TWITTER.Controls.Add(TP_TWITTER)
+ TAB_DEFS_TWITTER.Location = New System.Drawing.Point(4, 22)
+ TAB_DEFS_TWITTER.Name = "TAB_DEFS_TWITTER"
+ TAB_DEFS_TWITTER.Padding = New System.Windows.Forms.Padding(3)
+ TAB_DEFS_TWITTER.Size = New System.Drawing.Size(576, 358)
+ TAB_DEFS_TWITTER.TabIndex = 3
+ TAB_DEFS_TWITTER.Text = "Twitter"
+ '
+ 'TP_TWITTER
+ '
+ TP_TWITTER.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
+ TP_TWITTER.ColumnCount = 1
+ TP_TWITTER.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
+ TP_TWITTER.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
+ TP_TWITTER.Controls.Add(Me.CH_TWITTER_TEMP, 0, 0)
+ TP_TWITTER.Controls.Add(Me.CH_TWITTER_DOWN_IMG, 0, 1)
+ TP_TWITTER.Controls.Add(Me.CH_TWITTER_DOWN_VID, 0, 2)
+ TP_TWITTER.Controls.Add(Me.CH_TWITTER_USER_MEDIA, 0, 3)
+ TP_TWITTER.Dock = System.Windows.Forms.DockStyle.Fill
+ TP_TWITTER.Location = New System.Drawing.Point(3, 3)
+ TP_TWITTER.Name = "TP_TWITTER"
+ TP_TWITTER.RowCount = 5
+ TP_TWITTER.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
+ TP_TWITTER.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
+ TP_TWITTER.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
+ TP_TWITTER.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
+ TP_TWITTER.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
+ TP_TWITTER.Size = New System.Drawing.Size(570, 352)
+ TP_TWITTER.TabIndex = 0
+ '
+ 'CH_TWITTER_TEMP
+ '
+ Me.CH_TWITTER_TEMP.AutoSize = True
+ Me.CH_TWITTER_TEMP.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.CH_TWITTER_TEMP.Location = New System.Drawing.Point(4, 4)
+ Me.CH_TWITTER_TEMP.Name = "CH_TWITTER_TEMP"
+ Me.CH_TWITTER_TEMP.Size = New System.Drawing.Size(562, 19)
+ Me.CH_TWITTER_TEMP.TabIndex = 0
+ Me.CH_TWITTER_TEMP.Text = "Temporary"
+ Me.CH_TWITTER_TEMP.ThreeState = True
+ Me.CH_TWITTER_TEMP.UseVisualStyleBackColor = True
+ '
+ 'CH_TWITTER_DOWN_IMG
+ '
+ Me.CH_TWITTER_DOWN_IMG.AutoSize = True
+ Me.CH_TWITTER_DOWN_IMG.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.CH_TWITTER_DOWN_IMG.Location = New System.Drawing.Point(4, 30)
+ Me.CH_TWITTER_DOWN_IMG.Name = "CH_TWITTER_DOWN_IMG"
+ Me.CH_TWITTER_DOWN_IMG.Size = New System.Drawing.Size(562, 19)
+ Me.CH_TWITTER_DOWN_IMG.TabIndex = 1
+ Me.CH_TWITTER_DOWN_IMG.Text = "Download images"
+ Me.CH_TWITTER_DOWN_IMG.ThreeState = True
+ Me.CH_TWITTER_DOWN_IMG.UseVisualStyleBackColor = True
+ '
+ 'CH_TWITTER_DOWN_VID
+ '
+ Me.CH_TWITTER_DOWN_VID.AutoSize = True
+ Me.CH_TWITTER_DOWN_VID.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.CH_TWITTER_DOWN_VID.Location = New System.Drawing.Point(4, 56)
+ Me.CH_TWITTER_DOWN_VID.Name = "CH_TWITTER_DOWN_VID"
+ Me.CH_TWITTER_DOWN_VID.Size = New System.Drawing.Size(562, 19)
+ Me.CH_TWITTER_DOWN_VID.TabIndex = 2
+ Me.CH_TWITTER_DOWN_VID.Text = "Download videos"
+ Me.CH_TWITTER_DOWN_VID.ThreeState = True
+ Me.CH_TWITTER_DOWN_VID.UseVisualStyleBackColor = True
+ '
+ 'CH_TWITTER_USER_MEDIA
+ '
+ Me.CH_TWITTER_USER_MEDIA.AutoSize = True
+ Me.CH_TWITTER_USER_MEDIA.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.CH_TWITTER_USER_MEDIA.Location = New System.Drawing.Point(4, 82)
+ Me.CH_TWITTER_USER_MEDIA.Name = "CH_TWITTER_USER_MEDIA"
+ Me.CH_TWITTER_USER_MEDIA.Size = New System.Drawing.Size(562, 19)
+ Me.CH_TWITTER_USER_MEDIA.TabIndex = 3
+ Me.CH_TWITTER_USER_MEDIA.Text = "Get user media only"
+ Me.CH_TWITTER_USER_MEDIA.UseVisualStyleBackColor = True
+ '
'CONTAINER_MAIN
'
'
'CONTAINER_MAIN.ContentPanel
'
- Me.CONTAINER_MAIN.ContentPanel.Controls.Add(TP_MAIN)
- Me.CONTAINER_MAIN.ContentPanel.Size = New System.Drawing.Size(584, 359)
+ Me.CONTAINER_MAIN.ContentPanel.Controls.Add(TAB_MAIN)
+ Me.CONTAINER_MAIN.ContentPanel.Size = New System.Drawing.Size(584, 384)
Me.CONTAINER_MAIN.Dock = System.Windows.Forms.DockStyle.Fill
Me.CONTAINER_MAIN.LeftToolStripPanelVisible = False
Me.CONTAINER_MAIN.Location = New System.Drawing.Point(0, 0)
@@ -567,25 +820,37 @@
Me.ShowInTaskbar = False
Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide
Me.Text = "Settings"
- TP_MAIN.ResumeLayout(False)
- TP_MAIN.PerformLayout()
+ TP_BASIS.ResumeLayout(False)
+ TP_BASIS.PerformLayout()
CType(Me.TXT_GLOBAL_PATH, System.ComponentModel.ISupportInitialize).EndInit()
- CType(Me.TXT_COLLECTIONS_PATH, System.ComponentModel.ISupportInitialize).EndInit()
TP_IMAGES.ResumeLayout(False)
CType(Me.TXT_IMAGE_LARGE, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TXT_IMAGE_SMALL, System.ComponentModel.ISupportInitialize).EndInit()
- TP_CHANNELS_IMGS.ResumeLayout(False)
- CType(Me.TXT_CHANNELS_ROWS, System.ComponentModel.ISupportInitialize).EndInit()
- CType(Me.TXT_CHANNELS_COLUMNS, System.ComponentModel.ISupportInitialize).EndInit()
- CType(Me.TXT_CHANNEL_USER_POST_LIMIT, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.TXT_COLLECTIONS_PATH, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TXT_MAX_JOBS_USERS, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TXT_MAX_JOBS_CHANNELS, System.ComponentModel.ISupportInitialize).EndInit()
- TP_DEFAULTS.ResumeLayout(False)
- TP_DEFAULTS.PerformLayout()
TP_FILE_NAME.ResumeLayout(False)
TP_FILE_NAME.PerformLayout()
TP_FILE_PATTERNS.ResumeLayout(False)
TP_FILE_PATTERNS.PerformLayout()
+ TP_CHANNELS_IMGS.ResumeLayout(False)
+ CType(Me.TXT_CHANNELS_ROWS, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.TXT_CHANNELS_COLUMNS, System.ComponentModel.ISupportInitialize).EndInit()
+ TAB_MAIN.ResumeLayout(False)
+ TAB_BASIS.ResumeLayout(False)
+ TAB_DEFAULTS.ResumeLayout(False)
+ TP_DEFS.ResumeLayout(False)
+ TP_DEFS.PerformLayout()
+ TAB_DEFS_CHANNELS.ResumeLayout(False)
+ TP_CHANNELS.ResumeLayout(False)
+ TP_CHANNELS.PerformLayout()
+ CType(Me.TXT_CHANNEL_USER_POST_LIMIT, System.ComponentModel.ISupportInitialize).EndInit()
+ TAB_DEFS_REDDIT.ResumeLayout(False)
+ TP_REDDIT.ResumeLayout(False)
+ TP_REDDIT.PerformLayout()
+ TAB_DEFS_TWITTER.ResumeLayout(False)
+ TP_TWITTER.ResumeLayout(False)
+ TP_TWITTER.PerformLayout()
Me.CONTAINER_MAIN.ContentPanel.ResumeLayout(False)
Me.CONTAINER_MAIN.ResumeLayout(False)
Me.CONTAINER_MAIN.PerformLayout()
@@ -595,26 +860,34 @@
Private WithEvents CONTAINER_MAIN As ToolStripContainer
Private WithEvents TXT_GLOBAL_PATH As PersonalUtilities.Forms.Controls.TextBoxExtended
- Private WithEvents CH_SEPARATE_VIDEO_FOLDER As CheckBox
Private WithEvents TXT_COLLECTIONS_PATH As PersonalUtilities.Forms.Controls.TextBoxExtended
Private WithEvents TXT_IMAGE_LARGE As PersonalUtilities.Forms.Controls.TextBoxExtended
Private WithEvents TXT_IMAGE_SMALL As PersonalUtilities.Forms.Controls.TextBoxExtended
- Private WithEvents TXT_CHANNELS_ROWS As PersonalUtilities.Forms.Controls.TextBoxExtended
- Private WithEvents TXT_CHANNELS_COLUMNS As PersonalUtilities.Forms.Controls.TextBoxExtended
- Private WithEvents TXT_CHANNEL_USER_POST_LIMIT As PersonalUtilities.Forms.Controls.TextBoxExtended
- Private WithEvents CH_COPY_CHANNEL_USER_IMAGE As CheckBox
Private WithEvents CH_CHECK_VER_START As CheckBox
Private WithEvents TXT_MAX_JOBS_USERS As PersonalUtilities.Forms.Controls.TextBoxExtended
Private WithEvents TXT_MAX_JOBS_CHANNELS As PersonalUtilities.Forms.Controls.TextBoxExtended
- Private WithEvents CH_DEF_TEMP As CheckBox
- Private WithEvents CH_DOWN_IMAGES As CheckBox
- Private WithEvents CH_DOWN_VIDEOS As CheckBox
+ Private WithEvents TXT_CHANNEL_USER_POST_LIMIT As PersonalUtilities.Forms.Controls.TextBoxExtended
+ Private WithEvents TXT_CHANNELS_ROWS As PersonalUtilities.Forms.Controls.TextBoxExtended
+ Private WithEvents TXT_CHANNELS_COLUMNS As PersonalUtilities.Forms.Controls.TextBoxExtended
Private WithEvents OPT_FILE_NAME_REPLACE As RadioButton
Private WithEvents OPT_FILE_NAME_ADD_DATE As RadioButton
+ Private WithEvents CH_FILE_NAME_CHANGE As CheckBox
Private WithEvents CH_FILE_DATE As CheckBox
Private WithEvents CH_FILE_TIME As CheckBox
Private WithEvents OPT_FILE_DATE_START As RadioButton
Private WithEvents OPT_FILE_DATE_END As RadioButton
- Private WithEvents CH_FILE_NAME_CHANGE As CheckBox
+ Private WithEvents CH_COPY_CHANNEL_USER_IMAGE As CheckBox
+ Private WithEvents CH_SEPARATE_VIDEO_FOLDER As CheckBox
+ Private WithEvents CH_DOWN_VIDEOS As CheckBox
+ Private WithEvents CH_DOWN_IMAGES As CheckBox
+ Private WithEvents CH_DEF_TEMP As CheckBox
+ Private WithEvents CH_TWITTER_TEMP As CheckBox
+ Private WithEvents CH_TWITTER_DOWN_IMG As CheckBox
+ Private WithEvents CH_TWITTER_DOWN_VID As CheckBox
+ Private WithEvents CH_TWITTER_USER_MEDIA As CheckBox
+ Private WithEvents CH_REDDIT_TEMP As CheckBox
+ Private WithEvents CH_REDDIT_DOWN_IMG As CheckBox
+ Private WithEvents CH_REDDIT_DOWN_VID As CheckBox
+ Private WithEvents CH_CHANNELS_USERS_TEMP As CheckBox
End Class
End Namespace
\ No newline at end of file
diff --git a/SCrawler/Editors/GlobalSettingsForm.resx b/SCrawler/Editors/GlobalSettingsForm.resx
index b3a1ead..b3dc4bd 100644
--- a/SCrawler/Editors/GlobalSettingsForm.resx
+++ b/SCrawler/Editors/GlobalSettingsForm.resx
@@ -117,7 +117,7 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
False
@@ -140,17 +140,9 @@
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
-
+
False
-
- 17, 17
-
-
- This is global setting for new added only users.
-This parameter indicates how video will be stored in users' download path.
-If checked then videos will be stored in separated folder; otherwise, videos will be stored with pictures together.
-
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
@@ -159,12 +151,6 @@ If checked then videos will be stored in separated folder; otherwise, videos wil
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
-
- False
-
-
- False
-
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6
@@ -197,9 +183,17 @@ If checked then videos will be stored in separated folder; otherwise, videos wil
VnR1MIwhwMTCyqEQ37qEmZVDFF0OE/9nAACtFF4Ey6OP+wAAAABJRU5ErkJggg==
-
+
False
+
+ 17, 17
+
+
+ This is a global setting for newly added users only.
+This parameter specifies how the video will be stored in the users' download path.
+If checked, videos will be stored in separate folder; otherwise, videos will be stored along with images.
+
False
@@ -209,4 +203,37 @@ If checked then videos will be stored in separated folder; otherwise, videos wil
False
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
\ No newline at end of file
diff --git a/SCrawler/Editors/GlobalSettingsForm.vb b/SCrawler/Editors/GlobalSettingsForm.vb
index c531094..c1283f5 100644
--- a/SCrawler/Editors/GlobalSettingsForm.vb
+++ b/SCrawler/Editors/GlobalSettingsForm.vb
@@ -23,23 +23,27 @@ Namespace Editors
.AddOkCancelToolbar()
.DelegateClosingChecker()
With Settings
+ 'Basis
TXT_GLOBAL_PATH.Text = .GlobalPath.Value
TXT_IMAGE_LARGE.Value = .MaxLargeImageHeigh.Value
TXT_IMAGE_SMALL.Value = .MaxSmallImageHeigh.Value
TXT_COLLECTIONS_PATH.Text = .CollectionsPath
+ TXT_MAX_JOBS_USERS.Value = .MaxUsersJobsCount.Value
+ TXT_MAX_JOBS_CHANNELS.Value = .ChannelsMaxJobsCount.Value
+ CH_CHECK_VER_START.Checked = .CheckUpdatesAtStart
+ 'Defaults
CH_SEPARATE_VIDEO_FOLDER.Checked = .SeparateVideoFolder.Value
CH_DEF_TEMP.Checked = .DefaultTemporary
CH_DOWN_IMAGES.Checked = .DefaultDownloadImages
CH_DOWN_VIDEOS.Checked = .DefaultDownloadVideos
- TXT_CHANNELS_COLUMNS.Value = .ChannelsImagesColumns.Value
+ 'Channels
TXT_CHANNELS_ROWS.Value = .ChannelsImagesRows.Value
+ TXT_CHANNELS_COLUMNS.Value = .ChannelsImagesColumns.Value
TXT_CHANNEL_USER_POST_LIMIT.Value = .FromChannelDownloadTop.Value
TXT_CHANNEL_USER_POST_LIMIT.Checked = .FromChannelDownloadTopUse.Value
CH_COPY_CHANNEL_USER_IMAGE.Checked = .FromChannelCopyImageToUser
- CH_CHECK_VER_START.Checked = .CheckUpdatesAtStart
- TXT_MAX_JOBS_USERS.Value = .MaxUsersJobsCount.Value
- TXT_MAX_JOBS_CHANNELS.Value = .ChannelsMaxJobsCount.Value
-
+ CH_CHANNELS_USERS_TEMP.Checked = .ChannelsDefaultTemporary
+ 'Channels filenames
CH_FILE_NAME_CHANGE.Checked = .FileReplaceNameByDate Or .FileAddDateToFileName Or .FileAddTimeToFileName
OPT_FILE_NAME_REPLACE.Checked = .FileReplaceNameByDate
OPT_FILE_NAME_ADD_DATE.Checked = Not .FileReplaceNameByDate
@@ -47,6 +51,15 @@ Namespace Editors
CH_FILE_TIME.Checked = .FileAddTimeToFileName
OPT_FILE_DATE_START.Checked = Not .FileDateTimePositionEnd
OPT_FILE_DATE_END.Checked = .FileDateTimePositionEnd
+ 'Reddit
+ SetChecker(CH_REDDIT_TEMP, .RedditTemporary)
+ SetChecker(CH_REDDIT_DOWN_IMG, .RedditDownloadImages)
+ SetChecker(CH_REDDIT_DOWN_VID, .RedditDownloadVideos)
+ 'Twitter
+ SetChecker(CH_TWITTER_TEMP, .TwitterTemporary)
+ SetChecker(CH_TWITTER_DOWN_IMG, .TwitterDownloadImages)
+ SetChecker(CH_TWITTER_DOWN_VID, .TwitterDownloadVideos)
+ CH_TWITTER_USER_MEDIA.Checked = .TwitterDefaultGetUserMedia
End With
.MyFieldsChecker = New FieldsChecker
With .MyFieldsChecker
@@ -62,6 +75,20 @@ Namespace Editors
MyDefs.InvokeLoaderError(ex)
End Try
End Sub
+ Private Sub SetChecker(ByRef CH As CheckBox, ByVal Prop As XML.Base.XMLValue(Of Boolean))
+ If Prop.ValueF.Exists Then
+ CH.Checked = Prop.Value
+ Else
+ CH.CheckState = CheckState.Indeterminate
+ End If
+ End Sub
+ Private Sub SetPropByChecker(ByRef Prop As XML.Base.XMLValue(Of Boolean), ByRef CH As CheckBox)
+ Select Case CH.CheckState
+ Case CheckState.Checked : Prop.Value = True
+ Case CheckState.Unchecked : Prop.Value = False
+ Case CheckState.Indeterminate : Prop.ValueF = Nothing
+ End Select
+ End Sub
Private Sub ToolbarBttOK() Implements IOkCancelToolbar.ToolbarBttOK
If MyDefs.MyFieldsChecker.AllParamsOK Then
With Settings
@@ -93,21 +120,26 @@ Namespace Editors
End If
.BeginUpdate()
+ 'Basis
.GlobalPath.Value = TXT_GLOBAL_PATH.Text
.MaxLargeImageHeigh.Value = CInt(TXT_IMAGE_LARGE.Value)
.MaxSmallImageHeigh.Value = CInt(TXT_IMAGE_SMALL.Value)
- .SeparateVideoFolder.Value = CH_SEPARATE_VIDEO_FOLDER.Checked
.CollectionsPath.Value = TXT_COLLECTIONS_PATH.Text
+ .MaxUsersJobsCount.Value = CInt(TXT_MAX_JOBS_USERS.Value)
+ .ChannelsMaxJobsCount.Value = TXT_MAX_JOBS_CHANNELS.Value
+ .CheckUpdatesAtStart.Value = CH_CHECK_VER_START.Checked
+ 'Defaults
+ .SeparateVideoFolder.Value = CH_SEPARATE_VIDEO_FOLDER.Checked
.DefaultTemporary.Value = CH_DEF_TEMP.Checked
.DefaultDownloadImages.Value = CH_DOWN_IMAGES.Checked
.DefaultDownloadVideos.Value = CH_DOWN_VIDEOS.Checked
+ 'Channels
.ChannelsImagesRows.Value = CInt(TXT_CHANNELS_ROWS.Value)
.ChannelsImagesColumns.Value = CInt(TXT_CHANNELS_COLUMNS.Value)
- .FromChannelDownloadTopUse.Value = TXT_CHANNEL_USER_POST_LIMIT.Checked
.FromChannelDownloadTop.Value = CInt(TXT_CHANNEL_USER_POST_LIMIT.Value)
+ .FromChannelDownloadTopUse.Value = TXT_CHANNEL_USER_POST_LIMIT.Checked
.FromChannelCopyImageToUser.Value = CH_COPY_CHANNEL_USER_IMAGE.Checked
- .CheckUpdatesAtStart.Value = CH_CHECK_VER_START.Checked
- .MaxUsersJobsCount.Value = CInt(TXT_MAX_JOBS_USERS.Value)
+ .ChannelsDefaultTemporary.Value = CH_CHANNELS_USERS_TEMP.Checked
If CH_FILE_NAME_CHANGE.Checked Then
.FileReplaceNameByDate.Value = OPT_FILE_NAME_REPLACE.Checked
@@ -119,6 +151,15 @@ Namespace Editors
.FileAddTimeToFileName.Value = False
.FileReplaceNameByDate.Value = False
End If
+ 'Reddit
+ SetPropByChecker(.RedditTemporary, CH_REDDIT_TEMP)
+ SetPropByChecker(.RedditDownloadImages, CH_REDDIT_DOWN_IMG)
+ SetPropByChecker(.RedditDownloadVideos, CH_REDDIT_DOWN_VID)
+ 'Twitter
+ SetPropByChecker(.TwitterTemporary, CH_TWITTER_TEMP)
+ SetPropByChecker(.TwitterDownloadImages, CH_TWITTER_DOWN_IMG)
+ SetPropByChecker(.TwitterDownloadVideos, CH_TWITTER_DOWN_VID)
+ .TwitterDefaultGetUserMedia.Value = CH_TWITTER_USER_MEDIA.Checked
.EndUpdate()
End With
@@ -140,13 +181,13 @@ Namespace Editors
Private Sub TXT_MAX_JOBS_CHANNELS_ActionOnButtonClick(ByVal Sender As ActionButton) Handles TXT_MAX_JOBS_CHANNELS.ActionOnButtonClick
If Sender.DefaultButton = ActionButton.DefaultButtons.Refresh Then TXT_MAX_JOBS_CHANNELS.Value = SettingsCLS.DefaultMaxDownloadingTasks
End Sub
- Private Sub CH_FILE_NAME_CHANGE_CheckedChanged(sender As Object, e As EventArgs) Handles CH_FILE_NAME_CHANGE.CheckedChanged
+ Private Sub CH_FILE_NAME_CHANGE_CheckedChanged(sender As Object, e As EventArgs)
ChangeFileNameChangersEnabling()
End Sub
- Private Sub OPT_FILE_NAME_REPLACE_CheckedChanged(sender As Object, e As EventArgs) Handles OPT_FILE_NAME_REPLACE.CheckedChanged
+ Private Sub OPT_FILE_NAME_REPLACE_CheckedChanged(sender As Object, e As EventArgs)
ChangePositionControlsEnabling()
End Sub
- Private Sub OPT_FILE_NAME_ADD_DATE_CheckedChanged(sender As Object, e As EventArgs) Handles OPT_FILE_NAME_ADD_DATE.CheckedChanged
+ Private Sub OPT_FILE_NAME_ADD_DATE_CheckedChanged(sender As Object, e As EventArgs)
ChangePositionControlsEnabling()
End Sub
Private Sub ChangePositionControlsEnabling()
diff --git a/SCrawler/Editors/UserCreatorForm.vb b/SCrawler/Editors/UserCreatorForm.vb
index cb11af9..fd218be 100644
--- a/SCrawler/Editors/UserCreatorForm.vb
+++ b/SCrawler/Editors/UserCreatorForm.vb
@@ -122,8 +122,10 @@ Namespace Editors
UserLabels.ListAddList(.Labels)
If UserLabels.ListExists Then TXT_LABELS.Text = UserLabels.ListToString
End With
+ CH_ADD_BY_LIST.Enabled = False
Else
- CH_READY_FOR_DOWN.Checked = Settings.DefaultTemporary
+ CH_TEMP.Checked = Settings.DefaultTemporary
+ CH_READY_FOR_DOWN.Checked = Not Settings.DefaultTemporary
CH_DOWN_IMAGES.Checked = Settings.DefaultDownloadImages
CH_DOWN_VIDEOS.Checked = Settings.DefaultDownloadVideos
End If
@@ -131,6 +133,7 @@ Namespace Editors
.MyFieldsChecker = New FieldsChecker
.MyFieldsChecker.AddControl(Of String)(TXT_USER, TXT_USER.CaptionText)
.MyFieldsChecker.EndLoaderOperations()
+ SetParamsBySite()
.AppendDetectors()
.EndLoaderOperations()
End With
@@ -146,7 +149,6 @@ Namespace Editors
e.Cancel = True
Else
MyDef.Dispose()
- If Not DialogResult = DialogResult.OK And Not DialogResult = DialogResult.Cancel And StartIndex >= 0 Then DialogResult = DialogResult.OK
End If
End Sub
Private Sub UserCreatorForm_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed
@@ -242,26 +244,50 @@ CloseForm:
If Not s.IsEmptyString Then TXT = s : Return True Else Return False
End Function
Private Sub OPT_REDDIT_CheckedChanged(sender As Object, e As EventArgs) Handles OPT_REDDIT.CheckedChanged
- If OPT_REDDIT.Checked Then CH_IS_CHANNEL.Enabled = True
+ If OPT_REDDIT.Checked Then CH_IS_CHANNEL.Enabled = True : SetParamsBySite()
End Sub
Private Sub OPT_TWITTER_CheckedChanged(sender As Object, e As EventArgs) Handles OPT_TWITTER.CheckedChanged
- CH_PARSE_USER_MEDIA.Enabled = OPT_TWITTER.Checked
- If OPT_TWITTER.Checked Then CH_IS_CHANNEL.Checked = False : CH_IS_CHANNEL.Enabled = False
+ If OPT_TWITTER.Checked Then CH_IS_CHANNEL.Checked = False : CH_IS_CHANNEL.Enabled = False : SetParamsBySite()
End Sub
Private Sub CH_TEMP_CheckedChanged(sender As Object, e As EventArgs) Handles CH_TEMP.CheckedChanged
- If CH_TEMP.Checked Then CH_FAV.Checked = False
+ If CH_TEMP.Checked Then CH_FAV.Checked = False : CH_READY_FOR_DOWN.Checked = False
End Sub
Private Sub CH_FAV_CheckedChanged(sender As Object, e As EventArgs) Handles CH_FAV.CheckedChanged
If CH_FAV.Checked Then CH_TEMP.Checked = False
End Sub
+ Private Sub SetParamsBySite()
+ Dim s As Sites = Sites.Undefined
+ Select Case True
+ Case OPT_REDDIT.Checked : s = Sites.Reddit
+ Case OPT_TWITTER.Checked : s = Sites.Twitter
+ End Select
+ With Settings
+ Select Case s
+ Case Sites.Reddit
+ CH_TEMP.Checked = .RedditTemporary
+ CH_DOWN_IMAGES.Checked = .RedditDownloadImages
+ CH_DOWN_VIDEOS.Checked = .RedditDownloadVideos
+ CH_PARSE_USER_MEDIA.Checked = False
+ CH_PARSE_USER_MEDIA.Enabled = False
+ Case Sites.Twitter
+ CH_TEMP.Checked = .TwitterTemporary
+ CH_DOWN_IMAGES.Checked = .TwitterDownloadImages
+ CH_DOWN_VIDEOS.Checked = .TwitterDownloadVideos
+ CH_PARSE_USER_MEDIA.Enabled = True
+ CH_PARSE_USER_MEDIA.Checked = .TwitterDefaultGetUserMedia
+ End Select
+ End With
+ End Sub
Private Sub CH_ADD_BY_LIST_CheckedChanged(sender As Object, e As EventArgs) Handles CH_ADD_BY_LIST.CheckedChanged
If CH_ADD_BY_LIST.Checked Then
TXT_DESCR.GroupBoxText = "Users list"
CH_AUTO_DETECT_SITE.Enabled = True
+ CH_PARSE_USER_MEDIA.Enabled = True
Else
TXT_DESCR.GroupBoxText = "Description"
CH_AUTO_DETECT_SITE.Checked = False
CH_AUTO_DETECT_SITE.Enabled = False
+ SetParamsBySite()
End If
TXT_USER.Enabled = Not CH_ADD_BY_LIST.Checked
TXT_USER_FRIENDLY.Enabled = Not CH_ADD_BY_LIST.Checked
@@ -355,6 +381,7 @@ CloseForm:
End If
MsgBoxE(m)
+ If Added > 0 Then MyDef.ChangesDetected = False
Return Added > 0 And Not BannedUsers.ListExists And NonIdentified.Count = 0
Else
MsgBoxE("No one user can not recognized", MsgBoxStyle.Exclamation)
diff --git a/SCrawler/MainFrame.vb b/SCrawler/MainFrame.vb
index e8aa384..ca87a9a 100644
--- a/SCrawler/MainFrame.vb
+++ b/SCrawler/MainFrame.vb
@@ -170,6 +170,17 @@ CloseResume:
Case View.SmallIcon : .SmallImageList.Images.Add(User.LVIKey, User.GetPicture())
End Select
.Items.Add(User.GetLVI(LIST_PROFILES))
+ If Not User.Exists Then
+ With .Items(.Items.Count - 1)
+ .BackColor = ColorBttDeleteBack
+ .ForeColor = ColorBttDeleteFore
+ End With
+ ElseIf User.Suspended Then
+ With .Items(.Items.Count - 1)
+ .BackColor = ColorBttEditBack
+ .ForeColor = ColorBttEditFore
+ End With
+ End If
End With
End Sub
Else
@@ -188,6 +199,16 @@ CloseResume:
End Select
.Items(i).Text = User.ToString
.Items(i).Group = User.GetLVIGroup(LIST_PROFILES)
+ If Not User.Exists Then
+ .Items(i).BackColor = ColorBttDeleteBack
+ .Items(i).ForeColor = ColorBttDeleteFore
+ ElseIf User.Suspended Then
+ .Items(i).BackColor = ColorBttEditBack
+ .Items(i).ForeColor = ColorBttEditFore
+ Else
+ .Items(i).BackColor = SystemColors.Window
+ .Items(i).ForeColor = SystemColors.WindowText
+ End If
End If
End With
End Sub
@@ -239,7 +260,7 @@ CloseResume:
Private Sub BTT_ADD_USER_Click(sender As Object, e As EventArgs) Handles BTT_ADD_USER.Click
Using f As New UserCreatorForm
f.ShowDialog()
- If f.DialogResult = DialogResult.OK Then
+ If f.DialogResult = DialogResult.OK Or f.StartIndex >= 0 Then
Dim i%
If f.StartIndex >= 0 Then
OnUsersAddedHandler(f.StartIndex)
@@ -818,7 +839,7 @@ ResumeDownloadingOperation:
If Not user Is Nothing Then user.OpenFolder()
End Sub
#End Region
- Friend Sub User_OnPictureUpdated(ByVal User As IUserData)
+ Friend Sub User_OnUserUpdated(ByVal User As IUserData)
UserListUpdate(User, False)
End Sub
Private _LogVisible As Boolean = False
diff --git a/SCrawler/MainMod.vb b/SCrawler/MainMod.vb
index b878585..f04c81e 100644
--- a/SCrawler/MainMod.vb
+++ b/SCrawler/MainMod.vb
@@ -13,7 +13,7 @@ Friend Module MainMod
Friend Settings As SettingsCLS
Friend Const SettingsFolderName As String = "Settings"
Friend ReadOnly LinkPattern As New RegexStructure("[htps:]{0,6}[/]{0,2}(.+)", 1)
- Friend ReadOnly FilesPattern As New RegexStructure("[^\./]+?\.\w+", True, False, 1)
+ Friend ReadOnly FilesPattern As New RegexStructure("[^\./]+?\.\w+", True, False, 1,,,, String.Empty, EDP.ReturnValue)
Friend Const LVI_TempOption As String = "Temp"
Friend Const LVI_FavOption As String = "Favorite"
Friend Const CannelsLabelName As String = "Channels"
@@ -171,9 +171,9 @@ Friend Module MainMod
Friend Sub ImageHandler(ByVal User As IUserData, ByVal Add As Boolean)
Try
If Add Then
- AddHandler User.Self.OnPictureUpdated, AddressOf MainFrame.User_OnPictureUpdated
+ AddHandler User.Self.OnUserUpdated, AddressOf MainFrame.User_OnUserUpdated
Else
- RemoveHandler User.Self.OnPictureUpdated, AddressOf MainFrame.User_OnPictureUpdated
+ RemoveHandler User.Self.OnUserUpdated, AddressOf MainFrame.User_OnUserUpdated
End If
Catch ex As Exception
End Try
diff --git a/SCrawler/My Project/AssemblyInfo.vb b/SCrawler/My Project/AssemblyInfo.vb
index 070c958..4481450 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 1dfdbc7..249042f 100644
--- a/SCrawler/SettingsCLS.vb
+++ b/SCrawler/SettingsCLS.vb
@@ -12,6 +12,7 @@ Imports SCrawler.API
Imports SCrawler.API.Base
Friend Class SettingsCLS : Implements IDisposable
Friend Const DefaultMaxDownloadingTasks As Integer = 5
+ Friend Const Name_Node_Sites As String = "Sites"
Friend ReadOnly Design As XmlFile
Private ReadOnly MyXML As XmlFile
Friend ReadOnly OS64 As Boolean
@@ -35,8 +36,7 @@ Friend Class SettingsCLS : Implements IDisposable
FfmpegFile = "ffmpeg.exe"
FfmpegExists = FfmpegFile.Exists
If OS64 And Not FfmpegExists Then MsgBoxE("[ffmpeg.exe] is missing", vbExclamation)
- Design = New XmlFile("Settings\Design.xml")
- Design.DefaultsLoading(False)
+ Design = New XmlFile("Settings\Design.xml", Protector.Modes.All)
MyXML = New XmlFile(Nothing) With {.AutoUpdateFile = True}
Users = New List(Of IUserData)
UsersList = New List(Of UserInfo)
@@ -52,16 +52,43 @@ Friend Class SettingsCLS : Implements IDisposable
SeparateVideoFolder = New XMLValue(Of Boolean)("SeparateVideoFolder", True, MyXML)
CollectionsPath = New XMLValue(Of String)("CollectionsPath", "Collections", MyXML)
- MaxUsersJobsCount = New XMLValue(Of Integer)("MaxUsersJobsCount", DefaultMaxDownloadingTasks, MyXML)
- DefaultTemporary = New XMLValue(Of Boolean)("DefaultTemporary", False, MyXML)
- DefaultDownloadImages = New XMLValue(Of Boolean)("DefaultDownloadImages", True, MyXML)
- DefaultDownloadVideos = New XMLValue(Of Boolean)("DefaultDownloadVideos", True, MyXML)
+ Dim n() As String = {"Defaults"}
+ DefaultTemporary = New XMLValue(Of Boolean)("Temporary", False, MyXML, n)
+ DefaultTemporary.ReplaceByValue("DefaultTemporary")
+ DefaultDownloadImages = New XMLValue(Of Boolean)("DownloadImages", True, MyXML, n)
+ DefaultDownloadImages.ReplaceByValue("DefaultDownloadImages")
+ DefaultDownloadVideos = New XMLValue(Of Boolean)("DownloadVideos", True, MyXML, n)
+ DefaultDownloadVideos.ReplaceByValue("DefaultDownloadVideos")
+ ChangeReadyForDownOnTempChange = New XMLValue(Of Boolean)("ChangeReadyForDownOnTempChange", True, MyXML, n)
- FileAddDateToFileName = New XMLValue(Of Boolean)("FileAddDateToFileName", False, MyXML) With {.OnChangeFunction = AddressOf ChangeDateProvider}
- FileAddTimeToFileName = New XMLValue(Of Boolean)("FileAddTimeToFileName", False, MyXML) With {.OnChangeFunction = AddressOf ChangeDateProvider}
- FileDateTimePositionEnd = New XMLValue(Of Boolean)("FileDateTimePositionEnd", True, MyXML) With {.OnChangeFunction = AddressOf ChangeDateProvider}
- FileReplaceNameByDate = New XMLValue(Of Boolean)("FileReplaceNameByDate", False, MyXML)
+ n = {Name_Node_Sites, Sites.Reddit.ToString}
+ RedditTemporary = New XMLValue(Of Boolean)
+ RedditTemporary.SetExtended("Temporary", False, MyXML, n)
+ RedditTemporary.SetDefault(DefaultTemporary)
+
+ RedditDownloadImages = New XMLValue(Of Boolean)
+ RedditDownloadImages.SetExtended("DownloadImages", True, MyXML, n)
+ RedditDownloadImages.SetDefault(DefaultDownloadImages)
+
+ RedditDownloadVideos = New XMLValue(Of Boolean)
+ RedditDownloadVideos.SetExtended("DownloadVideos", True, MyXML, n)
+ RedditDownloadVideos.SetDefault(DefaultDownloadVideos)
+
+ n = {Name_Node_Sites, Sites.Twitter.ToString}
+ TwitterTemporary = New XMLValue(Of Boolean)
+ TwitterTemporary.SetExtended("Temporary", False, MyXML, n)
+ TwitterTemporary.SetDefault(DefaultTemporary)
+
+ TwitterDownloadImages = New XMLValue(Of Boolean)
+ TwitterDownloadImages.SetExtended("DownloadImages", True, MyXML, n)
+ TwitterDownloadImages.SetDefault(DefaultDownloadImages)
+
+ TwitterDownloadVideos = New XMLValue(Of Boolean)
+ TwitterDownloadVideos.SetExtended("DownloadVideos", True, MyXML, n)
+ TwitterDownloadVideos.SetDefault(DefaultDownloadVideos)
+
+ TwitterDefaultGetUserMedia = New XMLValue(Of Boolean)("TwitterDefaultGetUserMedia", True, MyXML, n)
MaxLargeImageHeigh = New XMLValue(Of Integer)("MaxLargeImageHeigh", 150, MyXML)
MaxSmallImageHeigh = New XMLValue(Of Integer)("MaxSmallImageHeigh", 15, MyXML)
@@ -73,26 +100,51 @@ Friend Class SettingsCLS : Implements IDisposable
LatestSelectedLabels = New XMLValue(Of String)("LatestSelectedLabels",, MyXML)
LatestSelectedChannel = New XMLValue(Of String)("LatestSelectedChannel",, MyXML)
- ChannelsImagesRows = New XMLValue(Of Integer)("ChannelsImagesRows", 2, MyXML)
- ChannelsImagesColumns = New XMLValue(Of Integer)("ChannelsImagesColumns", 5, MyXML)
- ChannelsHideExistsUser = New XMLValue(Of Boolean)("ChannelsHideExistsUser", True, MyXML)
- ChannelsMaxJobsCount = New XMLValue(Of Integer)("ChannelsMaxJobsCount", DefaultMaxDownloadingTasks, MyXML)
- FromChannelDownloadTop = New XMLValue(Of Integer)("FromChannelDownloadTop", 10, MyXML)
- FromChannelDownloadTopUse = New XMLValue(Of Boolean)("FromChannelDownloadTopUse", False, MyXML)
- FromChannelCopyImageToUser = New XMLValue(Of Boolean)("FromChannelCopyImageToUser", True, MyXML)
+ n = {Name_Node_Sites, "Channels"}
+ ChannelsDefaultReadyForDownload = New XMLValue(Of Boolean)("ChannelsDefaultReadyForDownload", False, MyXML, n)
+ ChannelsDefaultTemporary = New XMLValue(Of Boolean)("ChannelsDefaultTemporary", True, MyXML, n)
+ ChannelsRegularCheckMD5 = New XMLValue(Of Boolean)("ChannelsRegularCheckMD5", False, MyXML, n)
+ ChannelsImagesRows = New XMLValue(Of Integer)("ImagesRows", 2, MyXML, n)
+ ChannelsImagesRows.ReplaceByValue("ChannelsImagesRows")
+ ChannelsImagesColumns = New XMLValue(Of Integer)("ImagesColumns", 5, MyXML, n)
+ ChannelsImagesColumns.ReplaceByValue("ChannelsImagesColumns")
+ ChannelsHideExistsUser = New XMLValue(Of Boolean)("HideExistsUser", True, MyXML, n)
+ ChannelsHideExistsUser.ReplaceByValue("ChannelsHideExistsUser")
+ ChannelsMaxJobsCount = New XMLValue(Of Integer)("MaxJobsCount", DefaultMaxDownloadingTasks, MyXML, n)
+ ChannelsMaxJobsCount.ReplaceByValue("ChannelsMaxJobsCount")
+
+ n = {"Users"}
+ FromChannelDownloadTop = New XMLValue(Of Integer)("FromChannelDownloadTop", 10, MyXML, n)
+ FromChannelDownloadTop.ReplaceByValue("FromChannelDownloadTop")
+ FromChannelDownloadTopUse = New XMLValue(Of Boolean)("FromChannelDownloadTopUse", False, MyXML, n)
+ FromChannelDownloadTopUse.ReplaceByValue("FromChannelDownloadTopUse")
+ FromChannelCopyImageToUser = New XMLValue(Of Boolean)("FromChannelCopyImageToUser", True, MyXML, n)
+ FromChannelCopyImageToUser.ReplaceByValue("FromChannelCopyImageToUser")
+
+ n = {"Users", "FileName"}
+ MaxUsersJobsCount = New XMLValue(Of Integer)("MaxJobsCount", DefaultMaxDownloadingTasks, MyXML, n)
+ MaxUsersJobsCount.ReplaceByValue("MaxUsersJobsCount")
+ FileAddDateToFileName = New XMLValue(Of Boolean)("FileAddDateToFileName", False, MyXML, n) With {.OnChangeFunction = AddressOf ChangeDateProvider}
+ FileAddDateToFileName.ReplaceByValue("FileAddDateToFileName")
+ FileAddTimeToFileName = New XMLValue(Of Boolean)("FileAddTimeToFileName", False, MyXML, n) With {.OnChangeFunction = AddressOf ChangeDateProvider}
+ FileAddTimeToFileName.ReplaceByValue("FileAddTimeToFileName")
+ FileDateTimePositionEnd = New XMLValue(Of Boolean)("FileDateTimePositionEnd", True, MyXML, n) With {.OnChangeFunction = AddressOf ChangeDateProvider}
+ FileDateTimePositionEnd.ReplaceByValue("FileDateTimePositionEnd")
+ FileReplaceNameByDate = New XMLValue(Of Boolean)("FileReplaceNameByDate", False, MyXML, n)
+ FileReplaceNameByDate.ReplaceByValue("FileReplaceNameByDate")
CheckUpdatesAtStart = New XMLValue(Of Boolean)("CheckUpdatesAtStart", True, MyXML)
ShowNewVersionNotification = New XMLValue(Of Boolean)("ShowNewVersionNotification", True, MyXML)
LatestVersion = New XMLValue(Of String)("LatestVersion", String.Empty, MyXML)
- MyXML.DefaultsLoading(False)
- If MyXML.ChangesDetected Then MyXML.UpdateData()
+ If MyXML.ChangesDetected Then MyXML.Sort() : MyXML.UpdateData()
Labels = New LabelsKeeper
If Not LatestSelectedLabels.IsEmptyString Then Labels.CurrentSelection.ListAddList(LatestSelectedLabels.Value.StringToList(Of String, List(Of String))("|"))
If BlackListFile.Exists Then
BlackList.ListAddList(IO.File.ReadAllLines(BlackListFile), LAP.NotContainsOnly)
If BlackList.Count > 0 Then BlackList.RemoveAll(Function(b) Not b.Exists)
End If
+ _UpdatesSuspended = False
ChangeDateProvider(Nothing, Nothing, Nothing)
End Sub
Private Sub ChangeDateProvider(ByVal Sender As Object, ByVal Name As String, ByVal Value As Object)
@@ -108,9 +160,8 @@ Friend Class SettingsCLS : Implements IDisposable
Try
Users.Clear()
If UsersSettingsFile.Exists Then
- Using x As New XmlFile(UsersSettingsFile, ProtectionLevels.All, False) With {.AllowSameNames = True}
+ Using x As New XmlFile(UsersSettingsFile, Protector.Modes.All, False) With {.AllowSameNames = True}
x.LoadData()
- x.DefaultsLoading(False)
If x.Count > 0 Then x.ForEach(Sub(xx) UsersList.Add(xx))
End Using
Dim PNC As Func(Of UserInfo, Boolean) = Function(u) Not u.IncludedInCollection
@@ -184,6 +235,12 @@ Friend Class SettingsCLS : Implements IDisposable
Catch ex As Exception
End Try
End Sub
+ Private _UserListUpdateRequired As Boolean = False
+ Friend ReadOnly Property UserListUpdateRequired As Boolean
+ Get
+ Return _UserListUpdateRequired
+ End Get
+ End Property
Friend Overloads Sub UpdateUsersList(ByVal u As UserInfo)
Dim i% = UsersList.IndexOf(u)
If i >= 0 Then
@@ -194,13 +251,17 @@ Friend Class SettingsCLS : Implements IDisposable
UpdateUsersList()
End Sub
Friend Overloads Sub UpdateUsersList()
- If UsersList.Count > 0 Then
- Using x As New XmlFile With {.AllowSameNames = True, .Name = "Users"}
- x.DefaultsLoading(False)
- UsersList.ForEach(Sub(u) x.Add(u.GetContainer()))
- x.Save(UsersSettingsFile)
- End Using
- End If
+ Try
+ If UsersList.Count > 0 Then
+ Using x As New XmlFile With {.AllowSameNames = True, .Name = "Users"}
+ UsersList.ForEach(Sub(u) x.Add(u.GetContainer()))
+ x.Save(UsersSettingsFile)
+ End Using
+ End If
+ _UserListUpdateRequired = False
+ Catch ex As Exception
+ _UserListUpdateRequired = True
+ End Try
End Sub
Friend Sub UpdateBlackList()
If BlackList.Count > 0 Then
@@ -228,7 +289,7 @@ Friend Class SettingsCLS : Implements IDisposable
Friend Overloads Function UserExists(ByVal _User As UserInfo) As Boolean
Return UserExists(_User.Site, _User.Name)
End Function
- Private _UpdatesSuspended As Boolean = False
+ Private _UpdatesSuspended As Boolean = True
Friend Sub BeginUpdate()
MyXML.BeginUpdate()
_UpdatesSuspended = True
@@ -261,13 +322,30 @@ Friend Class SettingsCLS : Implements IDisposable
Friend ReadOnly Property DefaultTemporary As XMLValue(Of Boolean)
Friend ReadOnly Property DefaultDownloadImages As XMLValue(Of Boolean)
Friend ReadOnly Property DefaultDownloadVideos As XMLValue(Of Boolean)
+ Friend ReadOnly Property ChangeReadyForDownOnTempChange As XMLValue(Of Boolean)
+#Region "Reddit"
+ Friend ReadOnly Property RedditTemporary As XMLValue(Of Boolean)
+ Friend ReadOnly Property RedditDownloadImages As XMLValue(Of Boolean)
+ Friend ReadOnly Property RedditDownloadVideos As XMLValue(Of Boolean)
#End Region
-#Region "Additional info"
+#Region "Twitter"
+ Friend ReadOnly Property TwitterTemporary As XMLValue(Of Boolean)
+ Friend ReadOnly Property TwitterDownloadImages As XMLValue(Of Boolean)
+ Friend ReadOnly Property TwitterDownloadVideos As XMLValue(Of Boolean)
+ Friend ReadOnly Property TwitterDefaultGetUserMedia As XMLValue(Of Boolean)
+#End Region
+#End Region
+#Region "User data"
+ Friend ReadOnly Property FromChannelDownloadTop As XMLValue(Of Integer)
+ Friend ReadOnly Property FromChannelDownloadTopUse As XMLValue(Of Boolean)
+ Friend ReadOnly Property FromChannelCopyImageToUser As XMLValue(Of Boolean)
+#Region "File naming"
Friend ReadOnly Property FileAddDateToFileName As XMLValue(Of Boolean)
Friend ReadOnly Property FileAddTimeToFileName As XMLValue(Of Boolean)
Friend ReadOnly Property FileDateTimePositionEnd As XMLValue(Of Boolean)
Friend ReadOnly Property FileReplaceNameByDate As XMLValue(Of Boolean)
#End Region
+#End Region
#Region "View"
Friend ReadOnly Property MaxLargeImageHeigh As XMLValue(Of Integer)
Friend ReadOnly Property MaxSmallImageHeigh As XMLValue(Of Integer)
@@ -289,13 +367,13 @@ Friend Class SettingsCLS : Implements IDisposable
Friend ReadOnly Property LatestSelectedChannel As XMLValue(Of String)
#End Region
#Region "Channels properties"
+ Friend ReadOnly Property ChannelsDefaultReadyForDownload As XMLValue(Of Boolean)
+ Friend ReadOnly Property ChannelsDefaultTemporary As XMLValue(Of Boolean)
+ Friend ReadOnly Property ChannelsRegularCheckMD5 As XMLValue(Of Boolean)
Friend ReadOnly Property ChannelsImagesRows As XMLValue(Of Integer)
Friend ReadOnly Property ChannelsImagesColumns As XMLValue(Of Integer)
Friend ReadOnly Property ChannelsHideExistsUser As XMLValue(Of Boolean)
Friend ReadOnly Property ChannelsMaxJobsCount As XMLValue(Of Integer)
- Friend ReadOnly Property FromChannelDownloadTop As XMLValue(Of Integer)
- Friend ReadOnly Property FromChannelDownloadTopUse As XMLValue(Of Boolean)
- Friend ReadOnly Property FromChannelCopyImageToUser As XMLValue(Of Boolean)
#End Region
#Region "New version properties"
Friend ReadOnly Property CheckUpdatesAtStart As XMLValue(Of Boolean)
@@ -307,6 +385,7 @@ Friend Class SettingsCLS : Implements IDisposable
Protected Overridable Overloads Sub Dispose(ByVal disposing As Boolean)
If Not disposedValue Then
If disposing Then
+ If UserListUpdateRequired Then UpdateUsersList()
If Not Channels Is Nothing Then
Channels.Dispose()
If Reddit.ChannelsCollection.ChannelsPathCache.Exists(SFO.Path, False) Then _
diff --git a/SCrawler/TDownloader.vb b/SCrawler/TDownloader.vb
index 651293f..fdea68a 100644
--- a/SCrawler/TDownloader.vb
+++ b/SCrawler/TDownloader.vb
@@ -136,6 +136,10 @@ Friend Class TDownloader : Implements IDisposable
Catch ex As Exception
ErrorsDescriber.Execute(EDP.SendInLog, ex, "TDownloader.DownloadData")
Finally
+ If Settings.UserListUpdateRequired Then _
+ Task.WaitAll(Task.Run(Sub()
+ While Settings.UserListUpdateRequired : Settings.UpdateUsersList() : End While
+ End Sub))
MainProgress.Enabled(EOptions.ProgressBar) = False
End Try
End Sub