From 55a28a7d89458663d000cd145b529eb01a61e9c4 Mon Sep 17 00:00:00 2001
From: Andy <88590076+AAndyProgram@users.noreply.github.com>
Date: Fri, 10 Dec 2021 13:59:23 +0300
Subject: [PATCH] 1.0.0.2
Add: downloading certain types of media, name files by date
Fix: Stop button is not activated after download start
---
Changelog.md | 8 +
SCrawler/API/Base/Structures.vb | 1 +
SCrawler/API/Base/UserDataBase.vb | 39 +++
SCrawler/API/Reddit/UserData.vb | 47 ++-
SCrawler/API/Twitter/UserData.vb | 16 +-
.../Editors/GlobalSettingsForm.Designer.vb | 318 +++++++++++++++---
SCrawler/Editors/GlobalSettingsForm.resx | 12 +
SCrawler/Editors/GlobalSettingsForm.vb | 56 ++-
SCrawler/Editors/UserCreatorForm.Designer.vb | 127 ++++---
SCrawler/Editors/UserCreatorForm.resx | 3 +
SCrawler/Editors/UserCreatorForm.vb | 26 +-
SCrawler/MainFrame.vb | 4 +-
SCrawler/MainMod.vb | 17 +
SCrawler/My Project/AssemblyInfo.vb | 4 +-
SCrawler/SettingsCLS.vb | 36 +-
SCrawler/TDownloader.vb | 7 +-
16 files changed, 597 insertions(+), 124 deletions(-)
diff --git a/Changelog.md b/Changelog.md
index b9e1018..df5f686 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,11 @@
+# 1.0.0.2
+
+- Added
+ - Ability to choose what types of media you want to download (images only, videos only, both)
+ - Ability to name files by date
+- Fixed
+ - In some cases, the "Stop" button is not activated after download start
+
# 1.0.0.1
- Added
diff --git a/SCrawler/API/Base/Structures.vb b/SCrawler/API/Base/Structures.vb
index 63e77cb..18c8e8d 100644
--- a/SCrawler/API/Base/Structures.vb
+++ b/SCrawler/API/Base/Structures.vb
@@ -49,6 +49,7 @@
''' Post ID
Friend ID As String
Friend [Date] As Date?
+ Friend Title As String
#Region "Channel compatible fields"
Friend UserID As String
Friend CachedFile As SFile
diff --git a/SCrawler/API/Base/UserDataBase.vb b/SCrawler/API/Base/UserDataBase.vb
index df17742..a744c00 100644
--- a/SCrawler/API/Base/UserDataBase.vb
+++ b/SCrawler/API/Base/UserDataBase.vb
@@ -47,6 +47,8 @@ Namespace API.Base
Private Const Name_LabelsName As String = "Labels"
Private Const Name_ReadyForDownload As String = "ReadyForDownload"
+ Private Const Name_DownloadImages As String = "DownloadImages"
+ Private Const Name_DownloadVideos As String = "DownloadVideos"
Private Const Name_VideoCount As String = "VideoCount"
Private Const Name_PicturesCount As String = "PicturesCount"
@@ -233,6 +235,8 @@ BlockNullPicture:
Protected _DataLoaded As Boolean = False
Protected _DataParsed As Boolean = False
Friend Property ReadyForDownload As Boolean = True Implements IUserData.ReadyForDownload
+ Friend Property DownloadImages As Boolean = True Implements IUserData.DownloadImages
+ Friend Property DownloadVideos As Boolean = True Implements IUserData.DownloadVideos
#End Region
#Region "Content"
Protected ReadOnly _ContentList As List(Of UserMedia)
@@ -431,6 +435,8 @@ BlockNullPicture:
CreatedByChannel = x.Value(Name_CreatedByChannel).FromXML(Of Boolean)(False)
SeparateVideoFolder = AConvert(Of Boolean)(x.Value(Name_SeparateVideoFolder), Nothing)
ReadyForDownload = x.Value(Name_ReadyForDownload).FromXML(Of Boolean)(True)
+ DownloadImages = x.Value(Name_DownloadImages).FromXML(Of Boolean)(True)
+ DownloadedVideos = x.Value(Name_DownloadVideos).FromXML(Of Boolean)(True)
_CountVideo = x.Value(Name_VideoCount).FromXML(Of Integer)(0)
_CountPictures = x.Value(Name_PicturesCount).FromXML(Of Integer)(0)
LastUpdated = AConvert(Of Date)(x.Value(Name_LastUpdated), ADateTime.Formats.BaseDateTime, Nothing)
@@ -463,6 +469,8 @@ BlockNullPicture:
x.Add(Name_SeparateVideoFolder, String.Empty)
End If
x.Add(Name_ReadyForDownload, ReadyForDownload.BoolToInteger)
+ x.Add(Name_DownloadImages, DownloadImages.BoolToInteger)
+ x.Add(Name_DownloadVideos, DownloadVideos.BoolToInteger)
x.Add(Name_VideoCount, _CountVideo)
x.Add(Name_PicturesCount, _CountPictures)
x.Add(Name_LastUpdated, AConvert(Of String)(LastUpdated, ADateTime.Formats.BaseDateTime, String.Empty))
@@ -586,6 +594,12 @@ BlockNullPicture:
DownloadDataF(Token)
ThrowAny(Token)
+ If _TempMediaList.Count > 0 Then
+ If Not DownloadImages Then _TempMediaList.RemoveAll(Function(m) m.Type = UserMedia.Types.GIF Or m.Type = UserMedia.Types.Picture)
+ If Not DownloadVideos Then _TempMediaList.RemoveAll(Function(m) m.Type = UserMedia.Types.Video Or
+ m.Type = UserMedia.Types.VideoPre Or m.Type = UserMedia.Types.m3u8)
+ End If
+
ReparseVideo(Token)
ThrowAny(Token)
If _TempPostsList.Count > 0 And __SaveData Then TextSaver.SaveTextToFile(_TempPostsList.ListToString(, Environment.NewLine), MyFilePosts, True,, EDP.None)
@@ -640,6 +654,29 @@ BlockNullPicture:
Protected MustOverride Sub DownloadDataF(ByVal Token As CancellationToken)
Protected MustOverride Sub ReparseVideo(ByVal Token As CancellationToken)
Protected MustOverride Sub DownloadContent(ByVal Token As CancellationToken)
+ Protected Function ChangeFileNameByProvider(ByVal f As SFile, ByVal m As UserMedia) As SFile
+ Dim ff As SFile = Nothing
+ Try
+ If Not f.IsEmptyString AndAlso f.Exists Then
+ Dim d As Date? = m.Post.Date
+ If Settings.FileReplaceNameByDate Then
+ Dim dd$ = AConvert(Of String)(If(d, Now), FileDateAppenderProvider, String.Empty)
+ ff = f
+ ff.Name = dd
+ ff = SFile.Indexed_IndexFile(ff,, New NumberedFile(ff))
+ ElseIf d.HasValue AndAlso (Settings.FileAddDateToFileName Or Settings.FileAddTimeToFileName) AndAlso
+ (Not FileDateAppenderProvider Is Nothing And Not FileDateAppenderPattern.IsEmptyString) Then
+ ff = f
+ ff.Name = String.Format(FileDateAppenderPattern, f.Name, CStr(AConvert(Of String)(d.Value, FileDateAppenderProvider, String.Empty)))
+ End If
+ If Not ff.Name.IsEmptyString Then My.Computer.FileSystem.RenameFile(f, ff.File) : Return ff
+ End If
+ Return f
+ Catch ex As Exception
+ LogError(ex, $"change file name from [{f}] to [{ff}]")
+ Return f
+ End Try
+ End Function
#End Region
#Region "Delete, Move, Merge"
Friend Overridable Function Delete() As Integer Implements IUserData.Delete
@@ -916,6 +953,8 @@ BlockNullPicture:
ReadOnly Property FitToAddParams As Boolean
ReadOnly Property LVIKey As String
ReadOnly Property LVIIndex As Integer
+ Property DownloadImages As Boolean
+ Property DownloadVideos As Boolean
Function GetLVI(ByVal Destination As ListView) As ListViewItem
Function GetLVIGroup(ByVal Destination As ListView) As ListViewGroup
Sub LoadUserInformation()
diff --git a/SCrawler/API/Reddit/UserData.vb b/SCrawler/API/Reddit/UserData.vb
index 9bcf9dd..8b3357b 100644
--- a/SCrawler/API/Reddit/UserData.vb
+++ b/SCrawler/API/Reddit/UserData.vb
@@ -92,7 +92,7 @@ Namespace API.Reddit
Dim URL$ = String.Empty
Try
Dim PostID$ = String.Empty
- Dim PostDate$
+ Dim PostDate$, PostTitle$
Dim n As EContainer, nn As EContainer, s As EContainer
Dim NewPostDetected As Boolean = False
Dim ExistsDetected As Boolean = False
@@ -107,7 +107,7 @@ Namespace API.Reddit
ThrowAny(Token)
Dim r$ = GetSiteResponse(URL)
If Not r.IsEmptyString Then
- Using w As EContainer = JsonDocument.Parse(r)
+ Using w As EContainer = JsonDocument.Parse(r).XmlIfNothing
If w.Count > 0 Then
n = w.GetNode(JsonNodesJson)
If Not n Is Nothing AndAlso n.Count > 0 Then
@@ -124,29 +124,32 @@ Namespace API.Reddit
ExistsDetected = True
Continue For
End If
+ PostTitle = nn.Value("title")
+
If CheckNode(nn) Then
_ItemsBefore = _TempMediaList.Count
added = True
s = nn.ItemF({"source", "url"})
If s.XmlIfNothingValue("/").Contains("redgifs.com") Then
- _TempMediaList.ListAddValue(MediaFromData(UTypes.VideoPre, s.Value, PostID, PostDate,, IsChannel), LNC)
- _TotalPostsDownloaded += 1
+ _TempMediaList.ListAddValue(MediaFromData(UTypes.VideoPre, s.Value, PostID, PostDate,, IsChannel, PostTitle), LNC)
Else
s = nn.ItemF({"media"}).XmlIfNothing
__ItemType = s("type").XmlIfNothingValue
Select Case __ItemType
- Case "gallery" : DownloadGallery(s, PostID, PostDate) : _TotalPostsDownloaded += 1
+ Case "gallery" : If Not DownloadGallery(s, PostID, PostDate,,, PostTitle) Then added = False
Case "image", "gifvideo"
If s.Contains("content") Then
_TempMediaList.ListAddValue(MediaFromData(UPicType(__ItemType), s.Value("content"),
- PostID, PostDate,, IsChannel), LNC)
- _TotalPostsDownloaded += 1
+ PostID, PostDate,, IsChannel, PostTitle), LNC)
+ Else
+ added = False
End If
Case "video"
If Settings.UseM3U8 AndAlso s("hlsUrl").XmlIfNothingValue("/").ToLower.Contains("m3u8") Then
_TempMediaList.ListAddValue(MediaFromData(UTypes.m3u8, s.Value("hlsUrl"),
- PostID, PostDate,, IsChannel), LNC)
- _TotalPostsDownloaded += 1
+ PostID, PostDate,, IsChannel, PostTitle), LNC)
+ Else
+ added = False
End If
Case Else : added = False
End Select
@@ -164,8 +167,7 @@ Namespace API.Reddit
End Select
End With
If Not tmpType = UTypes.Undefined Then
- _TempMediaList.ListAddValue(MediaFromData(tmpType, s.Value, PostID, PostDate,, IsChannel), LNC)
- _TotalPostsDownloaded += 1
+ _TempMediaList.ListAddValue(MediaFromData(tmpType, s.Value, PostID, PostDate,, IsChannel, PostTitle), LNC)
End If
End If
End If
@@ -267,25 +269,30 @@ Namespace API.Reddit
End Sub
#End Region
#Region "Download Base Functions"
- Private Sub DownloadGallery(ByVal w As EContainer, ByVal PostID As String, ByVal PostDate As String,
- Optional ByVal _UserID As String = Nothing, Optional ByVal FirstOnly As Boolean = False)
+ Private Function DownloadGallery(ByVal w As EContainer, ByVal PostID As String, ByVal PostDate As String,
+ Optional ByVal _UserID As String = Nothing, Optional ByVal FirstOnly As Boolean = False,
+ Optional ByVal Title As String = Nothing) As Boolean
Try
+ Dim added As Boolean = False
Dim cn$ = IIf(IsChannel, "media_metadata", "mediaMetadata")
If Not w Is Nothing AndAlso w(cn).XmlIfNothing.Count > 0 Then
Dim t As EContainer
For Each n As EContainer In w(cn)
t = n.ItemF({"s", "u"})
If Not t Is Nothing AndAlso Not t.Value.IsEmptyString Then
- _TempMediaList.ListAddValue(MediaFromData(UTypes.Picture, t.Value, PostID, PostDate, _UserID, IsChannel), LNC)
+ _TempMediaList.ListAddValue(MediaFromData(UTypes.Picture, t.Value, PostID, PostDate, _UserID, IsChannel, Title), LNC)
+ added = True
If FirstOnly Then Exit For
End If
Next
End If
+ Return added
Catch ex As Exception
LogError(ex, "gallery parsing error")
HasError = True
+ Return False
End Try
- End Sub
+ End Function
Protected Overrides Sub ReparseVideo(ByVal Token As CancellationToken)
Try
ThrowAny(Token)
@@ -333,13 +340,15 @@ Namespace API.Reddit
#End Region
#Region "Structure creator"
Protected Shared Function MediaFromData(ByVal t As UTypes, ByVal _URL As String, ByVal PostID As String, ByVal PostDate As String,
- Optional ByVal _UserID As String = "", Optional ByVal IsChannel As Boolean = False) As UserMedia
+ Optional ByVal _UserID As String = "", Optional ByVal IsChannel As Boolean = False,
+ Optional ByVal Title As String = Nothing) As UserMedia
If _URL.IsEmptyString And t = UTypes.Picture Then Return Nothing
_URL = LinkFormatterSecure(RegexReplace(_URL.Replace("\", String.Empty), LinkPattern))
Dim m As New UserMedia(_URL, t) With {.Post = New UserPost With {.ID = PostID, .UserID = _UserID}}
If t = UTypes.Picture Or t = UTypes.GIF Then m.File = UrlToFile(m.URL) Else m.File = Nothing
If m.URL.Contains("preview") Then m.URL = $"https://i.redd.it/{m.File.File}"
If Not PostDate.IsEmptyString Then m.Post.Date = AConvert(Of Date)(PostDate, If(IsChannel, DateProviderChannel, DateProvider), Nothing) Else m.Post.Date = Nothing
+ If Not Title.IsEmptyString Then m.Post.Title = Title
Return m
End Function
Private Function TryFile(ByVal URL As String) As Boolean
@@ -436,7 +445,11 @@ Namespace API.Reddit
Case UTypes.Picture : DownloadedPictures += 1 : _CountPictures += 1
Case UTypes.Video, UTypes.m3u8 : DownloadedVideos += 1 : _CountVideo += 1
End Select
- v.File = f
+ If Not IsChannel Or Not SaveToCache Then
+ v.File = ChangeFileNameByProvider(f, v)
+ Else
+ v.File = f
+ End If
v.Post.CachedFile = f
v.State = UStates.Downloaded
dCount += 1
diff --git a/SCrawler/API/Twitter/UserData.vb b/SCrawler/API/Twitter/UserData.vb
index c5dd6bd..e8b839a 100644
--- a/SCrawler/API/Twitter/UserData.vb
+++ b/SCrawler/API/Twitter/UserData.vb
@@ -47,7 +47,7 @@ Namespace API.Twitter
Dim URL$ = String.Empty
Try
Dim PostID$ = String.Empty
- Dim PostDate$
+ Dim PostDate$, PostTitle$
Dim m As EContainer, nn As EContainer, s As EContainer
Dim NewPostDetected As Boolean = False
Dim ExistsDetected As Boolean = False
@@ -83,17 +83,18 @@ Namespace API.Twitter
ExistsDetected = True
Continue For
End If
+ PostTitle = nn.Value("full_text")
If Not ParseUserMediaOnly OrElse (Not nn.Contains("retweeted_status") OrElse
(Not ID.IsEmptyString AndAlso UID(nn("retweeted_status")) = ID)) Then
- If Not CheckVideoNode(nn, PostID, PostDate) Then
+ If Not CheckVideoNode(nn, PostID, PostDate, PostTitle) Then
s = nn.ItemF({"extended_entities", "media"})
If s Is Nothing OrElse s.Count = 0 Then s = nn.ItemF({"retweeted_status", "extended_entities", "media"})
If Not s Is Nothing AndAlso s.Count > 0 Then
For Each m In s
If m.Count > 0 AndAlso m.Contains("media_url") Then
_TempMediaList.ListAddValue(MediaFromData(m("media_url").Value,
- PostID, PostDate, GetPictureOption(m)), LNC)
+ PostID, PostDate, GetPictureOption(m), PostTitle), LNC)
End If
Next
End If
@@ -158,10 +159,10 @@ Namespace API.Twitter
End Function
#End Region
#Region "Video options"
- Private Function CheckVideoNode(ByVal w As EContainer, ByVal PostID As String, ByVal PostDate As String) As Boolean
+ Private Function CheckVideoNode(ByVal w As EContainer, ByVal PostID As String, ByVal PostDate As String, ByVal Title As String) As Boolean
Try
Dim URL$ = GetVideoNodeURL(w)
- If Not URL.IsEmptyString Then _TempMediaList.ListAddValue(MediaFromData(URL, PostID, PostDate), LNC) : Return True
+ If Not URL.IsEmptyString Then _TempMediaList.ListAddValue(MediaFromData(URL, PostID, PostDate,, Title), LNC) : Return True
Return False
Catch ex As Exception
LogError(ex, "[CheckVideoNode]")
@@ -193,7 +194,7 @@ Namespace API.Twitter
End Sub
#End Region
Private Shared Function MediaFromData(ByVal _URL As String, ByVal PostID As String, ByVal PostDate As String,
- Optional ByVal _PictureOption As String = "") As UserMedia
+ Optional ByVal _PictureOption As String = "", Optional ByVal Title As String = Nothing) As UserMedia
_URL = LinkFormatterSecure(RegexReplace(_URL.Replace("\", String.Empty), LinkPattern))
Dim m As New UserMedia(_URL) With {.PictureOption = _PictureOption, .Post = New UserPost With {.ID = PostID}}
If Not m.URL.IsEmptyString Then m.File = CStr(RegexReplace(m.URL, FilesPattern))
@@ -201,6 +202,7 @@ Namespace API.Twitter
m.URL_BASE = $"{m.URL.Replace($".{m.File.Extension}", String.Empty)}?format={m.File.Extension}&name={m.PictureOption}"
End If
If Not PostDate.IsEmptyString Then m.Post.Date = AConvert(Of Date)(PostDate, Declarations.DateProvider, Nothing) Else m.Post.Date = Nothing
+ If Not Title.IsEmptyString Then m.Post.Title = Title
Return m
End Function
#End Region
@@ -241,7 +243,7 @@ Namespace API.Twitter
Case "mp4" : v.Type = UserMedia.Types.Video : DownloadedVideos += 1 : _CountVideo += 1
Case Else : v.Type = UserMedia.Types.Picture : DownloadedPictures += 1 : _CountPictures += 1
End Select
- v.File = f
+ v.File = ChangeFileNameByProvider(f, v)
v.State = UStates.Downloaded
Catch wex As Exception
ErrorDownloading(f, v.URL_BASE)
diff --git a/SCrawler/Editors/GlobalSettingsForm.Designer.vb b/SCrawler/Editors/GlobalSettingsForm.Designer.vb
index bb31168..787ec8d 100644
--- a/SCrawler/Editors/GlobalSettingsForm.Designer.vb
+++ b/SCrawler/Editors/GlobalSettingsForm.Designer.vb
@@ -24,13 +24,16 @@
Dim TP_CHANNELS_IMGS As System.Windows.Forms.TableLayoutPanel
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 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
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.CH_DEF_TEMP = New System.Windows.Forms.CheckBox()
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()
@@ -38,10 +41,24 @@
Me.CH_CHECK_VER_START = New System.Windows.Forms.CheckBox()
Me.TXT_MAX_JOBS_USERS = New PersonalUtilities.Forms.Controls.TextBoxExtended()
Me.TXT_MAX_JOBS_CHANNELS = New PersonalUtilities.Forms.Controls.TextBoxExtended()
+ 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.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()
+ Me.CH_FILE_DATE = New System.Windows.Forms.CheckBox()
+ 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.CONTAINER_MAIN = New System.Windows.Forms.ToolStripContainer()
TP_MAIN = 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()
+ 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()
CType(Me.TXT_GLOBAL_PATH, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -55,6 +72,9 @@
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()
Me.CONTAINER_MAIN.ContentPanel.SuspendLayout()
Me.CONTAINER_MAIN.SuspendLayout()
Me.SuspendLayout()
@@ -68,29 +88,34 @@
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(Me.CH_DEF_TEMP, 0, 3)
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 = 11
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 9.090549!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 9.090549!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 9.090549!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 9.090549!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 9.090549!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 9.090549!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 9.092355!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 9.092355!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 9.091001!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 9.09009!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 9.09091!))
- TP_MAIN.Size = New System.Drawing.Size(584, 337)
+ 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
'
'TXT_GLOBAL_PATH
@@ -116,10 +141,10 @@
'
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, 64)
+ 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, 23)
+ 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"))
@@ -135,7 +160,7 @@
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, 124)
+ 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
@@ -148,13 +173,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, 31)
+ TP_IMAGES.Location = New System.Drawing.Point(1, 28)
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, 29.0!))
- TP_IMAGES.Size = New System.Drawing.Size(582, 29)
+ 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.TabIndex = 1
'
'TXT_IMAGE_LARGE
@@ -189,19 +214,6 @@
Me.TXT_IMAGE_SMALL.Text = "10"
Me.TXT_IMAGE_SMALL.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
- '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, 94)
- Me.CH_DEF_TEMP.Name = "CH_DEF_TEMP"
- Me.CH_DEF_TEMP.Padding = New System.Windows.Forms.Padding(100, 0, 0, 0)
- Me.CH_DEF_TEMP.Size = New System.Drawing.Size(576, 23)
- Me.CH_DEF_TEMP.TabIndex = 3
- Me.CH_DEF_TEMP.Text = "Temporary default"
- TT_MAIN.SetToolTip(Me.CH_DEF_TEMP, "Default value on user creating")
- Me.CH_DEF_TEMP.UseVisualStyleBackColor = True
- '
'TP_CHANNELS_IMGS
'
TP_CHANNELS_IMGS.ColumnCount = 2
@@ -210,13 +222,13 @@
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, 151)
+ 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, 29.0!))
- TP_CHANNELS_IMGS.Size = New System.Drawing.Size(582, 29)
+ 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
@@ -256,7 +268,7 @@
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, 184)
+ 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})
@@ -269,10 +281,10 @@
'
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, 214)
+ 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, 23)
+ 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" &
@@ -283,10 +295,10 @@
'
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, 244)
+ 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, 23)
+ 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
@@ -303,7 +315,7 @@
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, 274)
+ Me.TXT_MAX_JOBS_USERS.Location = New System.Drawing.Point(4, 247)
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)
@@ -323,7 +335,7 @@
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, 304)
+ Me.TXT_MAX_JOBS_CHANNELS.Location = New System.Drawing.Point(4, 274)
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)
@@ -331,19 +343,210 @@
Me.TXT_MAX_JOBS_CHANNELS.Text = "1"
Me.TXT_MAX_JOBS_CHANNELS.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
+ 'TP_DEFAULTS
+ '
+ 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
+ '
+ '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.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.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.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.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)")
+ 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.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.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)")
+ Me.CH_DOWN_VIDEOS.UseVisualStyleBackColor = True
+ '
+ 'TP_FILE_NAME
+ '
+ TP_FILE_NAME.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
+ TP_FILE_NAME.ColumnCount = 3
+ TP_FILE_NAME.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333!))
+ TP_FILE_NAME.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333!))
+ TP_FILE_NAME.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333!))
+ TP_FILE_NAME.Controls.Add(Me.OPT_FILE_NAME_REPLACE, 1, 0)
+ 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.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
+ '
+ '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.Name = "OPT_FILE_NAME_REPLACE"
+ Me.OPT_FILE_NAME_REPLACE.Size = New System.Drawing.Size(186, 18)
+ 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"
+ Me.OPT_FILE_NAME_REPLACE.UseVisualStyleBackColor = True
+ '
+ 'OPT_FILE_NAME_ADD_DATE
+ '
+ 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.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.TabIndex = 2
+ Me.OPT_FILE_NAME_ADD_DATE.TabStop = True
+ Me.OPT_FILE_NAME_ADD_DATE.Text = "Add date/time to file name"
+ Me.OPT_FILE_NAME_ADD_DATE.UseVisualStyleBackColor = True
+ '
+ 'CH_FILE_NAME_CHANGE
+ '
+ Me.CH_FILE_NAME_CHANGE.AutoSize = True
+ 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.TabIndex = 0
+ Me.CH_FILE_NAME_CHANGE.Text = "Change file names"
+ Me.CH_FILE_NAME_CHANGE.UseVisualStyleBackColor = True
+ '
+ 'TP_FILE_PATTERNS
+ '
+ TP_FILE_PATTERNS.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
+ TP_FILE_PATTERNS.ColumnCount = 5
+ TP_FILE_PATTERNS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20.0!))
+ TP_FILE_PATTERNS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20.0!))
+ TP_FILE_PATTERNS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20.0!))
+ TP_FILE_PATTERNS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20.0!))
+ TP_FILE_PATTERNS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20.0!))
+ TP_FILE_PATTERNS.Controls.Add(Me.CH_FILE_DATE, 0, 0)
+ TP_FILE_PATTERNS.Controls.Add(Me.CH_FILE_TIME, 1, 0)
+ TP_FILE_PATTERNS.Controls.Add(LBL_DATE_POS, 2, 0)
+ 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.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
+ '
+ 'CH_FILE_DATE
+ '
+ Me.CH_FILE_DATE.AutoSize = True
+ 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.TabIndex = 0
+ Me.CH_FILE_DATE.Text = "Date"
+ Me.CH_FILE_DATE.UseVisualStyleBackColor = True
+ '
+ 'CH_FILE_TIME
+ '
+ 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.Name = "CH_FILE_TIME"
+ Me.CH_FILE_TIME.Size = New System.Drawing.Size(109, 25)
+ Me.CH_FILE_TIME.TabIndex = 1
+ Me.CH_FILE_TIME.Text = "Time"
+ Me.CH_FILE_TIME.UseVisualStyleBackColor = True
+ '
+ 'LBL_DATE_POS
+ '
+ 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.Name = "LBL_DATE_POS"
+ LBL_DATE_POS.Size = New System.Drawing.Size(109, 31)
+ LBL_DATE_POS.TabIndex = 2
+ LBL_DATE_POS.Text = "Date position:"
+ LBL_DATE_POS.TextAlign = System.Drawing.ContentAlignment.MiddleRight
+ '
+ 'OPT_FILE_DATE_START
+ '
+ 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.Name = "OPT_FILE_DATE_START"
+ Me.OPT_FILE_DATE_START.Size = New System.Drawing.Size(109, 25)
+ Me.OPT_FILE_DATE_START.TabIndex = 3
+ Me.OPT_FILE_DATE_START.TabStop = True
+ Me.OPT_FILE_DATE_START.Text = "Start"
+ Me.OPT_FILE_DATE_START.UseVisualStyleBackColor = True
+ '
+ 'OPT_FILE_DATE_END
+ '
+ 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.Name = "OPT_FILE_DATE_END"
+ Me.OPT_FILE_DATE_END.Size = New System.Drawing.Size(110, 25)
+ 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
+ '
'CONTAINER_MAIN
'
'
'CONTAINER_MAIN.ContentPanel
'
Me.CONTAINER_MAIN.ContentPanel.Controls.Add(TP_MAIN)
- Me.CONTAINER_MAIN.ContentPanel.Size = New System.Drawing.Size(584, 337)
+ Me.CONTAINER_MAIN.ContentPanel.Size = New System.Drawing.Size(584, 359)
Me.CONTAINER_MAIN.Dock = System.Windows.Forms.DockStyle.Fill
Me.CONTAINER_MAIN.LeftToolStripPanelVisible = False
Me.CONTAINER_MAIN.Location = New System.Drawing.Point(0, 0)
Me.CONTAINER_MAIN.Name = "CONTAINER_MAIN"
Me.CONTAINER_MAIN.RightToolStripPanelVisible = False
- Me.CONTAINER_MAIN.Size = New System.Drawing.Size(584, 337)
+ Me.CONTAINER_MAIN.Size = New System.Drawing.Size(584, 384)
Me.CONTAINER_MAIN.TabIndex = 0
Me.CONTAINER_MAIN.TopToolStripPanelVisible = False
'
@@ -351,14 +554,14 @@
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
- Me.ClientSize = New System.Drawing.Size(584, 337)
+ Me.ClientSize = New System.Drawing.Size(584, 384)
Me.Controls.Add(Me.CONTAINER_MAIN)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
Me.KeyPreview = True
Me.MaximizeBox = False
- Me.MaximumSize = New System.Drawing.Size(600, 376)
+ Me.MaximumSize = New System.Drawing.Size(600, 423)
Me.MinimizeBox = False
- Me.MinimumSize = New System.Drawing.Size(600, 376)
+ Me.MinimumSize = New System.Drawing.Size(600, 423)
Me.Name = "GlobalSettingsForm"
Me.ShowIcon = False
Me.ShowInTaskbar = False
@@ -377,6 +580,12 @@
CType(Me.TXT_CHANNEL_USER_POST_LIMIT, 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()
Me.CONTAINER_MAIN.ContentPanel.ResumeLayout(False)
Me.CONTAINER_MAIN.ResumeLayout(False)
Me.CONTAINER_MAIN.PerformLayout()
@@ -394,9 +603,18 @@
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_DEF_TEMP 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 OPT_FILE_NAME_REPLACE As RadioButton
+ Private WithEvents OPT_FILE_NAME_ADD_DATE As RadioButton
+ 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
End Class
End Namespace
\ No newline at end of file
diff --git a/SCrawler/Editors/GlobalSettingsForm.resx b/SCrawler/Editors/GlobalSettingsForm.resx
index ff243d2..b3a1ead 100644
--- a/SCrawler/Editors/GlobalSettingsForm.resx
+++ b/SCrawler/Editors/GlobalSettingsForm.resx
@@ -197,4 +197,16 @@ If checked then videos will be stored in separated folder; otherwise, videos wil
VnR1MIwhwMTCyqEQ37qEmZVDFF0OE/9nAACtFF4Ey6OP+wAAAABJRU5ErkJggg==
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
\ No newline at end of file
diff --git a/SCrawler/Editors/GlobalSettingsForm.vb b/SCrawler/Editors/GlobalSettingsForm.vb
index 0734f49..d5df348 100644
--- a/SCrawler/Editors/GlobalSettingsForm.vb
+++ b/SCrawler/Editors/GlobalSettingsForm.vb
@@ -20,7 +20,9 @@ Namespace Editors
TXT_IMAGE_SMALL.Value = .MaxSmallImageHeigh.Value
TXT_COLLECTIONS_PATH.Text = .CollectionsPath
CH_SEPARATE_VIDEO_FOLDER.Checked = .SeparateVideoFolder.Value
- CH_DEF_TEMP.Checked = .DefaultTemporary.Value
+ CH_DEF_TEMP.Checked = .DefaultTemporary
+ CH_DOWN_IMAGES.Checked = .DefaultDownloadImages
+ CH_DOWN_VIDEOS.Checked = .DefaultDownloadVideos
TXT_CHANNELS_COLUMNS.Value = .ChannelsImagesColumns.Value
TXT_CHANNELS_ROWS.Value = .ChannelsImagesRows.Value
TXT_CHANNEL_USER_POST_LIMIT.Value = .FromChannelDownloadTop.Value
@@ -29,6 +31,14 @@ Namespace Editors
CH_CHECK_VER_START.Checked = .CheckUpdatesAtStart
TXT_MAX_JOBS_USERS.Value = .MaxUsersJobsCount.Value
TXT_MAX_JOBS_CHANNELS.Value = .ChannelsMaxJobsCount.Value
+
+ CH_FILE_NAME_CHANGE.Checked = .FileReplaceNameByDate Or .FileAddDateToFileName Or .FileAddTimeToFileName
+ OPT_FILE_NAME_REPLACE.Checked = .FileReplaceNameByDate
+ OPT_FILE_NAME_ADD_DATE.Checked = Not .FileReplaceNameByDate
+ CH_FILE_DATE.Checked = .FileAddDateToFileName
+ CH_FILE_TIME.Checked = .FileAddTimeToFileName
+ OPT_FILE_DATE_START.Checked = Not .FileDateTimePositionEnd
+ OPT_FILE_DATE_END.Checked = .FileDateTimePositionEnd
End With
.MyFieldsChecker = New FieldsChecker
With .MyFieldsChecker
@@ -38,6 +48,7 @@ Namespace Editors
End With
.AppendDetectors()
.EndLoaderOperations()
+ ChangeFileNameChangersEnabling()
End With
Catch ex As Exception
MyDefs.InvokeLoaderError(ex)
@@ -66,6 +77,13 @@ Namespace Editors
Case 2 : Exit Sub
End Select
End If
+
+ If CH_FILE_NAME_CHANGE.Checked And (Not CH_FILE_DATE.Checked Or Not CH_FILE_TIME.Checked) Then
+ MsgBoxE({"You must select at least one option (Date and/or Time) if you want to change file names by date or disable file names changes",
+ "File name options"}, vbCritical)
+ Exit Sub
+ End If
+
.BeginUpdate()
.GlobalPath.Value = TXT_GLOBAL_PATH.Text
.MaxLargeImageHeigh.Value = CInt(TXT_IMAGE_LARGE.Value)
@@ -73,6 +91,8 @@ Namespace Editors
.SeparateVideoFolder.Value = CH_SEPARATE_VIDEO_FOLDER.Checked
.CollectionsPath.Value = TXT_COLLECTIONS_PATH.Text
.DefaultTemporary.Value = CH_DEF_TEMP.Checked
+ .DefaultDownloadImages.Value = CH_DOWN_IMAGES.Checked
+ .DefaultDownloadVideos.Value = CH_DOWN_VIDEOS.Checked
.ChannelsImagesRows.Value = CInt(TXT_CHANNELS_ROWS.Value)
.ChannelsImagesColumns.Value = CInt(TXT_CHANNELS_COLUMNS.Value)
.FromChannelDownloadTopUse.Value = TXT_CHANNEL_USER_POST_LIMIT.Checked
@@ -80,6 +100,18 @@ Namespace Editors
.FromChannelCopyImageToUser.Value = CH_COPY_CHANNEL_USER_IMAGE.Checked
.CheckUpdatesAtStart.Value = CH_CHECK_VER_START.Checked
.MaxUsersJobsCount.Value = CInt(TXT_MAX_JOBS_USERS.Value)
+
+ If CH_FILE_NAME_CHANGE.Checked Then
+ .FileReplaceNameByDate.Value = OPT_FILE_NAME_REPLACE.Checked
+ .FileAddDateToFileName.Value = CH_FILE_DATE.Checked
+ .FileAddTimeToFileName.Value = CH_FILE_TIME.Checked
+ .FileDateTimePositionEnd.Value = OPT_FILE_DATE_END.Checked
+ Else
+ .FileAddDateToFileName.Value = False
+ .FileAddTimeToFileName.Value = False
+ .FileReplaceNameByDate.Value = False
+ End If
+
.EndUpdate()
End With
MyDefs.CloseForm()
@@ -100,5 +132,27 @@ 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
+ ChangeFileNameChangersEnabling()
+ End Sub
+ Private Sub OPT_FILE_NAME_REPLACE_CheckedChanged(sender As Object, e As EventArgs) Handles OPT_FILE_NAME_REPLACE.CheckedChanged
+ ChangePositionControlsEnabling()
+ End Sub
+ Private Sub OPT_FILE_NAME_ADD_DATE_CheckedChanged(sender As Object, e As EventArgs) Handles OPT_FILE_NAME_ADD_DATE.CheckedChanged
+ ChangePositionControlsEnabling()
+ End Sub
+ Private Sub ChangePositionControlsEnabling()
+ Dim b As Boolean = OPT_FILE_NAME_ADD_DATE.Checked And OPT_FILE_NAME_ADD_DATE.Enabled
+ OPT_FILE_DATE_START.Enabled = b
+ OPT_FILE_DATE_END.Enabled = b
+ End Sub
+ Private Sub ChangeFileNameChangersEnabling()
+ Dim b As Boolean = CH_FILE_NAME_CHANGE.Checked
+ OPT_FILE_NAME_REPLACE.Enabled = b
+ OPT_FILE_NAME_ADD_DATE.Enabled = b
+ CH_FILE_DATE.Enabled = b
+ CH_FILE_TIME.Enabled = b
+ ChangePositionControlsEnabling()
+ End Sub
End Class
End Namespace
\ No newline at end of file
diff --git a/SCrawler/Editors/UserCreatorForm.Designer.vb b/SCrawler/Editors/UserCreatorForm.Designer.vb
index 2dc692d..f3809d0 100644
--- a/SCrawler/Editors/UserCreatorForm.Designer.vb
+++ b/SCrawler/Editors/UserCreatorForm.Designer.vb
@@ -23,6 +23,7 @@
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(UserCreatorForm))
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_DOWN_OPTIONS As System.Windows.Forms.TableLayoutPanel
Dim TT_MAIN As System.Windows.Forms.ToolTip
Me.TXT_USER = New PersonalUtilities.Forms.Controls.TextBoxExtended()
Me.OPT_REDDIT = New System.Windows.Forms.RadioButton()
@@ -37,11 +38,14 @@
Me.CH_ADD_BY_LIST = New System.Windows.Forms.CheckBox()
Me.CH_AUTO_DETECT_SITE = New System.Windows.Forms.CheckBox()
Me.TXT_LABELS = New PersonalUtilities.Forms.Controls.TextBoxExtended()
+ Me.CH_DOWN_IMAGES = New System.Windows.Forms.CheckBox()
+ Me.CH_DOWN_VIDEOS = New System.Windows.Forms.CheckBox()
Me.CONTAINER_MAIN = New System.Windows.Forms.ToolStripContainer()
TP_MAIN = New System.Windows.Forms.TableLayoutPanel()
TP_SITE = New System.Windows.Forms.TableLayoutPanel()
TP_PARAMS = New System.Windows.Forms.TableLayoutPanel()
TP_OTHER = New System.Windows.Forms.TableLayoutPanel()
+ TP_DOWN_OPTIONS = New System.Windows.Forms.TableLayoutPanel()
TT_MAIN = New System.Windows.Forms.ToolTip(Me.components)
TP_MAIN.SuspendLayout()
CType(Me.TXT_USER, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -52,6 +56,7 @@
CType(Me.TXT_USER_FRIENDLY, System.ComponentModel.ISupportInitialize).BeginInit()
Me.TP_ADD_BY_LIST.SuspendLayout()
CType(Me.TXT_LABELS, System.ComponentModel.ISupportInitialize).BeginInit()
+ TP_DOWN_OPTIONS.SuspendLayout()
Me.CONTAINER_MAIN.ContentPanel.SuspendLayout()
Me.CONTAINER_MAIN.SuspendLayout()
Me.SuspendLayout()
@@ -64,24 +69,26 @@
TP_MAIN.Controls.Add(Me.TXT_USER, 0, 0)
TP_MAIN.Controls.Add(TP_SITE, 0, 2)
TP_MAIN.Controls.Add(TP_PARAMS, 0, 3)
- TP_MAIN.Controls.Add(TP_OTHER, 0, 4)
- TP_MAIN.Controls.Add(Me.TXT_DESCR, 0, 7)
+ TP_MAIN.Controls.Add(TP_OTHER, 0, 5)
+ TP_MAIN.Controls.Add(Me.TXT_DESCR, 0, 8)
TP_MAIN.Controls.Add(Me.TXT_USER_FRIENDLY, 0, 1)
- TP_MAIN.Controls.Add(Me.TP_ADD_BY_LIST, 0, 5)
- TP_MAIN.Controls.Add(Me.TXT_LABELS, 0, 6)
+ TP_MAIN.Controls.Add(Me.TP_ADD_BY_LIST, 0, 6)
+ TP_MAIN.Controls.Add(Me.TXT_LABELS, 0, 7)
+ TP_MAIN.Controls.Add(TP_DOWN_OPTIONS, 0, 4)
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 = 8
+ TP_MAIN.RowCount = 9
TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20.0005!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20.0005!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20.0005!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 19.99851!))
- TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20.0!))
+ TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66708!))
+ TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66708!))
+ TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667!))
+ TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66708!))
+ TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66542!))
+ TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667!))
TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 150.0!))
- TP_MAIN.Size = New System.Drawing.Size(454, 366)
+ TP_MAIN.Size = New System.Drawing.Size(454, 378)
TP_MAIN.TabIndex = 0
'
'TXT_USER
@@ -109,8 +116,8 @@
TP_SITE.Name = "TP_SITE"
TP_SITE.RowCount = 1
TP_SITE.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
- TP_SITE.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 29.0!))
- TP_SITE.Size = New System.Drawing.Size(452, 30)
+ TP_SITE.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30.0!))
+ TP_SITE.Size = New System.Drawing.Size(452, 27)
TP_SITE.TabIndex = 2
'
'OPT_REDDIT
@@ -119,7 +126,7 @@
Me.OPT_REDDIT.Dock = System.Windows.Forms.DockStyle.Fill
Me.OPT_REDDIT.Location = New System.Drawing.Point(4, 4)
Me.OPT_REDDIT.Name = "OPT_REDDIT"
- Me.OPT_REDDIT.Size = New System.Drawing.Size(218, 22)
+ Me.OPT_REDDIT.Size = New System.Drawing.Size(218, 19)
Me.OPT_REDDIT.TabIndex = 0
Me.OPT_REDDIT.TabStop = True
Me.OPT_REDDIT.Text = "Reddit"
@@ -131,7 +138,7 @@
Me.OPT_TWITTER.Dock = System.Windows.Forms.DockStyle.Fill
Me.OPT_TWITTER.Location = New System.Drawing.Point(229, 4)
Me.OPT_TWITTER.Name = "OPT_TWITTER"
- Me.OPT_TWITTER.Size = New System.Drawing.Size(219, 22)
+ Me.OPT_TWITTER.Size = New System.Drawing.Size(219, 19)
Me.OPT_TWITTER.TabIndex = 1
Me.OPT_TWITTER.TabStop = True
Me.OPT_TWITTER.Text = "Twitter"
@@ -146,13 +153,13 @@
TP_PARAMS.Controls.Add(Me.CH_TEMP, 0, 0)
TP_PARAMS.Controls.Add(Me.CH_FAV, 1, 0)
TP_PARAMS.Dock = System.Windows.Forms.DockStyle.Fill
- TP_PARAMS.Location = New System.Drawing.Point(1, 90)
+ TP_PARAMS.Location = New System.Drawing.Point(1, 87)
TP_PARAMS.Margin = New System.Windows.Forms.Padding(0)
TP_PARAMS.Name = "TP_PARAMS"
TP_PARAMS.RowCount = 1
TP_PARAMS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
- TP_PARAMS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 29.0!))
- TP_PARAMS.Size = New System.Drawing.Size(452, 30)
+ TP_PARAMS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30.0!))
+ TP_PARAMS.Size = New System.Drawing.Size(452, 27)
TP_PARAMS.TabIndex = 3
'
'CH_TEMP
@@ -161,7 +168,7 @@
Me.CH_TEMP.Dock = System.Windows.Forms.DockStyle.Fill
Me.CH_TEMP.Location = New System.Drawing.Point(4, 4)
Me.CH_TEMP.Name = "CH_TEMP"
- Me.CH_TEMP.Size = New System.Drawing.Size(218, 22)
+ Me.CH_TEMP.Size = New System.Drawing.Size(218, 19)
Me.CH_TEMP.TabIndex = 0
Me.CH_TEMP.Text = "Temporary"
Me.CH_TEMP.UseVisualStyleBackColor = True
@@ -172,7 +179,7 @@
Me.CH_FAV.Dock = System.Windows.Forms.DockStyle.Fill
Me.CH_FAV.Location = New System.Drawing.Point(229, 4)
Me.CH_FAV.Name = "CH_FAV"
- Me.CH_FAV.Size = New System.Drawing.Size(219, 22)
+ Me.CH_FAV.Size = New System.Drawing.Size(219, 19)
Me.CH_FAV.TabIndex = 1
Me.CH_FAV.Text = "Favorite"
Me.CH_FAV.UseVisualStyleBackColor = True
@@ -186,14 +193,14 @@
TP_OTHER.Controls.Add(Me.CH_PARSE_USER_MEDIA, 1, 0)
TP_OTHER.Controls.Add(Me.CH_READY_FOR_DOWN, 0, 0)
TP_OTHER.Dock = System.Windows.Forms.DockStyle.Fill
- TP_OTHER.Location = New System.Drawing.Point(1, 121)
+ TP_OTHER.Location = New System.Drawing.Point(1, 143)
TP_OTHER.Margin = New System.Windows.Forms.Padding(0)
TP_OTHER.Name = "TP_OTHER"
TP_OTHER.RowCount = 1
TP_OTHER.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
- TP_OTHER.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 29.0!))
- TP_OTHER.Size = New System.Drawing.Size(452, 30)
- TP_OTHER.TabIndex = 4
+ TP_OTHER.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30.0!))
+ TP_OTHER.Size = New System.Drawing.Size(452, 27)
+ TP_OTHER.TabIndex = 5
'
'CH_PARSE_USER_MEDIA
'
@@ -201,7 +208,7 @@
Me.CH_PARSE_USER_MEDIA.Dock = System.Windows.Forms.DockStyle.Fill
Me.CH_PARSE_USER_MEDIA.Location = New System.Drawing.Point(229, 4)
Me.CH_PARSE_USER_MEDIA.Name = "CH_PARSE_USER_MEDIA"
- Me.CH_PARSE_USER_MEDIA.Size = New System.Drawing.Size(219, 22)
+ Me.CH_PARSE_USER_MEDIA.Size = New System.Drawing.Size(219, 19)
Me.CH_PARSE_USER_MEDIA.TabIndex = 0
Me.CH_PARSE_USER_MEDIA.Text = "Get user media only"
TT_MAIN.SetToolTip(Me.CH_PARSE_USER_MEDIA, "For twitter only!" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "If checked then user media only will be downloaded." & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Otherwise" &
@@ -214,7 +221,7 @@
Me.CH_READY_FOR_DOWN.Dock = System.Windows.Forms.DockStyle.Fill
Me.CH_READY_FOR_DOWN.Location = New System.Drawing.Point(4, 4)
Me.CH_READY_FOR_DOWN.Name = "CH_READY_FOR_DOWN"
- Me.CH_READY_FOR_DOWN.Size = New System.Drawing.Size(218, 22)
+ Me.CH_READY_FOR_DOWN.Size = New System.Drawing.Size(218, 19)
Me.CH_READY_FOR_DOWN.TabIndex = 1
Me.CH_READY_FOR_DOWN.Text = "Ready for download"
TT_MAIN.SetToolTip(Me.CH_READY_FOR_DOWN, "Can be downloaded by [Download All]")
@@ -233,11 +240,11 @@
Me.TXT_DESCR.Dock = System.Windows.Forms.DockStyle.Fill
Me.TXT_DESCR.GroupBoxed = True
Me.TXT_DESCR.GroupBoxText = "Description"
- Me.TXT_DESCR.Location = New System.Drawing.Point(4, 217)
+ Me.TXT_DESCR.Location = New System.Drawing.Point(4, 229)
Me.TXT_DESCR.Multiline = True
Me.TXT_DESCR.Name = "TXT_DESCR"
Me.TXT_DESCR.Size = New System.Drawing.Size(446, 145)
- Me.TXT_DESCR.TabIndex = 5
+ Me.TXT_DESCR.TabIndex = 8
'
'TXT_USER_FRIENDLY
'
@@ -258,12 +265,12 @@
Me.TP_ADD_BY_LIST.Controls.Add(Me.CH_ADD_BY_LIST, 0, 0)
Me.TP_ADD_BY_LIST.Controls.Add(Me.CH_AUTO_DETECT_SITE, 1, 0)
Me.TP_ADD_BY_LIST.Dock = System.Windows.Forms.DockStyle.Fill
- Me.TP_ADD_BY_LIST.Location = New System.Drawing.Point(1, 152)
+ Me.TP_ADD_BY_LIST.Location = New System.Drawing.Point(1, 171)
Me.TP_ADD_BY_LIST.Margin = New System.Windows.Forms.Padding(0)
Me.TP_ADD_BY_LIST.Name = "TP_ADD_BY_LIST"
Me.TP_ADD_BY_LIST.RowCount = 1
Me.TP_ADD_BY_LIST.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
- Me.TP_ADD_BY_LIST.Size = New System.Drawing.Size(452, 30)
+ Me.TP_ADD_BY_LIST.Size = New System.Drawing.Size(452, 26)
Me.TP_ADD_BY_LIST.TabIndex = 6
'
'CH_ADD_BY_LIST
@@ -272,7 +279,7 @@
Me.CH_ADD_BY_LIST.Dock = System.Windows.Forms.DockStyle.Fill
Me.CH_ADD_BY_LIST.Location = New System.Drawing.Point(4, 4)
Me.CH_ADD_BY_LIST.Name = "CH_ADD_BY_LIST"
- Me.CH_ADD_BY_LIST.Size = New System.Drawing.Size(218, 22)
+ Me.CH_ADD_BY_LIST.Size = New System.Drawing.Size(218, 18)
Me.CH_ADD_BY_LIST.TabIndex = 0
Me.CH_ADD_BY_LIST.Text = "Add by list"
Me.CH_ADD_BY_LIST.UseVisualStyleBackColor = True
@@ -283,7 +290,7 @@
Me.CH_AUTO_DETECT_SITE.Dock = System.Windows.Forms.DockStyle.Fill
Me.CH_AUTO_DETECT_SITE.Location = New System.Drawing.Point(229, 4)
Me.CH_AUTO_DETECT_SITE.Name = "CH_AUTO_DETECT_SITE"
- Me.CH_AUTO_DETECT_SITE.Size = New System.Drawing.Size(219, 22)
+ Me.CH_AUTO_DETECT_SITE.Size = New System.Drawing.Size(219, 18)
Me.CH_AUTO_DETECT_SITE.TabIndex = 1
Me.CH_AUTO_DETECT_SITE.Text = "Auto detect site"
Me.CH_AUTO_DETECT_SITE.UseVisualStyleBackColor = True
@@ -301,25 +308,65 @@
Me.TXT_LABELS.CaptionText = "Labels"
Me.TXT_LABELS.CaptionWidth = 50.0R
Me.TXT_LABELS.Dock = System.Windows.Forms.DockStyle.Fill
- Me.TXT_LABELS.Location = New System.Drawing.Point(4, 186)
+ Me.TXT_LABELS.Location = New System.Drawing.Point(4, 201)
Me.TXT_LABELS.Name = "TXT_LABELS"
Me.TXT_LABELS.Size = New System.Drawing.Size(446, 22)
Me.TXT_LABELS.TabIndex = 7
Me.TXT_LABELS.TextBoxReadOnly = True
'
+ 'TP_DOWN_OPTIONS
+ '
+ TP_DOWN_OPTIONS.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
+ TP_DOWN_OPTIONS.ColumnCount = 2
+ TP_DOWN_OPTIONS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
+ TP_DOWN_OPTIONS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
+ TP_DOWN_OPTIONS.Controls.Add(Me.CH_DOWN_IMAGES, 0, 0)
+ TP_DOWN_OPTIONS.Controls.Add(Me.CH_DOWN_VIDEOS, 1, 0)
+ TP_DOWN_OPTIONS.Dock = System.Windows.Forms.DockStyle.Fill
+ TP_DOWN_OPTIONS.Location = New System.Drawing.Point(1, 115)
+ TP_DOWN_OPTIONS.Margin = New System.Windows.Forms.Padding(0)
+ TP_DOWN_OPTIONS.Name = "TP_DOWN_OPTIONS"
+ TP_DOWN_OPTIONS.RowCount = 1
+ TP_DOWN_OPTIONS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
+ TP_DOWN_OPTIONS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30.0!))
+ TP_DOWN_OPTIONS.Size = New System.Drawing.Size(452, 27)
+ TP_DOWN_OPTIONS.TabIndex = 4
+ '
+ '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(4, 4)
+ Me.CH_DOWN_IMAGES.Name = "CH_DOWN_IMAGES"
+ Me.CH_DOWN_IMAGES.Size = New System.Drawing.Size(218, 19)
+ Me.CH_DOWN_IMAGES.TabIndex = 0
+ Me.CH_DOWN_IMAGES.Text = "Download Images"
+ 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(229, 4)
+ Me.CH_DOWN_VIDEOS.Name = "CH_DOWN_VIDEOS"
+ Me.CH_DOWN_VIDEOS.Size = New System.Drawing.Size(219, 19)
+ Me.CH_DOWN_VIDEOS.TabIndex = 1
+ Me.CH_DOWN_VIDEOS.Text = "Download videos"
+ Me.CH_DOWN_VIDEOS.UseVisualStyleBackColor = True
+ '
'CONTAINER_MAIN
'
'
'CONTAINER_MAIN.ContentPanel
'
Me.CONTAINER_MAIN.ContentPanel.Controls.Add(TP_MAIN)
- Me.CONTAINER_MAIN.ContentPanel.Size = New System.Drawing.Size(454, 366)
+ Me.CONTAINER_MAIN.ContentPanel.Size = New System.Drawing.Size(454, 378)
Me.CONTAINER_MAIN.Dock = System.Windows.Forms.DockStyle.Fill
Me.CONTAINER_MAIN.LeftToolStripPanelVisible = False
Me.CONTAINER_MAIN.Location = New System.Drawing.Point(0, 0)
Me.CONTAINER_MAIN.Name = "CONTAINER_MAIN"
Me.CONTAINER_MAIN.RightToolStripPanelVisible = False
- Me.CONTAINER_MAIN.Size = New System.Drawing.Size(454, 366)
+ Me.CONTAINER_MAIN.Size = New System.Drawing.Size(454, 403)
Me.CONTAINER_MAIN.TabIndex = 0
Me.CONTAINER_MAIN.TopToolStripPanelVisible = False
'
@@ -327,15 +374,15 @@
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
- Me.ClientSize = New System.Drawing.Size(454, 366)
+ Me.ClientSize = New System.Drawing.Size(454, 403)
Me.Controls.Add(Me.CONTAINER_MAIN)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.KeyPreview = True
Me.MaximizeBox = False
- Me.MaximumSize = New System.Drawing.Size(470, 405)
+ Me.MaximumSize = New System.Drawing.Size(470, 442)
Me.MinimizeBox = False
- Me.MinimumSize = New System.Drawing.Size(470, 405)
+ Me.MinimumSize = New System.Drawing.Size(470, 442)
Me.Name = "UserCreatorForm"
Me.ShowInTaskbar = False
Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide
@@ -353,6 +400,8 @@
Me.TP_ADD_BY_LIST.ResumeLayout(False)
Me.TP_ADD_BY_LIST.PerformLayout()
CType(Me.TXT_LABELS, System.ComponentModel.ISupportInitialize).EndInit()
+ TP_DOWN_OPTIONS.ResumeLayout(False)
+ TP_DOWN_OPTIONS.PerformLayout()
Me.CONTAINER_MAIN.ContentPanel.ResumeLayout(False)
Me.CONTAINER_MAIN.ResumeLayout(False)
Me.CONTAINER_MAIN.PerformLayout()
@@ -374,5 +423,7 @@
Private WithEvents CH_ADD_BY_LIST As CheckBox
Private WithEvents CH_AUTO_DETECT_SITE As CheckBox
Private WithEvents TXT_LABELS As PersonalUtilities.Forms.Controls.TextBoxExtended
+ Private WithEvents CH_DOWN_IMAGES As CheckBox
+ Private WithEvents CH_DOWN_VIDEOS As CheckBox
End Class
End Namespace
\ No newline at end of file
diff --git a/SCrawler/Editors/UserCreatorForm.resx b/SCrawler/Editors/UserCreatorForm.resx
index d566329..bdba578 100644
--- a/SCrawler/Editors/UserCreatorForm.resx
+++ b/SCrawler/Editors/UserCreatorForm.resx
@@ -163,6 +163,9 @@
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
+
+ False
+
AAABAAkAMDAQAAAAAABoBgAAlgAAACAgEAAAAAAA6AIAAP4GAAAQEBAAAAAAACgBAADmCQAAMDAAAAEA
diff --git a/SCrawler/Editors/UserCreatorForm.vb b/SCrawler/Editors/UserCreatorForm.vb
index 980bf88..72a9f05 100644
--- a/SCrawler/Editors/UserCreatorForm.vb
+++ b/SCrawler/Editors/UserCreatorForm.vb
@@ -38,6 +38,16 @@ Namespace Editors
Return CH_READY_FOR_DOWN.Checked
End Get
End Property
+ Friend ReadOnly Property DownloadImages As Boolean
+ Get
+ Return CH_DOWN_IMAGES.Checked
+ End Get
+ End Property
+ Friend ReadOnly Property DownloadVideos As Boolean
+ Get
+ Return CH_DOWN_VIDEOS.Checked
+ End Get
+ End Property
Friend ReadOnly Property UserDescr As String
Get
Return TXT_DESCR.Text
@@ -75,7 +85,9 @@ Namespace Editors
OPT_TWITTER.Checked = False
CH_PARSE_USER_MEDIA.Enabled = False
CH_READY_FOR_DOWN.Checked = True
- CH_TEMP.Checked = Settings.DefaultTemporary.Value
+ CH_TEMP.Checked = Settings.DefaultTemporary
+ CH_DOWN_IMAGES.Checked = Settings.DefaultDownloadImages
+ CH_DOWN_VIDEOS.Checked = Settings.DefaultDownloadVideos
Else
TP_ADD_BY_LIST.Enabled = False
TXT_USER.Text = User.Name
@@ -93,16 +105,22 @@ Namespace Editors
CH_TEMP.Checked = .Temporary
CH_PARSE_USER_MEDIA.Checked = .ParseUserMediaOnly
CH_READY_FOR_DOWN.Checked = .ReadyForDownload
+ CH_DOWN_IMAGES.Checked = .DownloadImages
+ CH_DOWN_VIDEOS.Checked = .DownloadedVideos
TXT_DESCR.Text = .Description
UserLabels.ListAddList(.Labels)
If UserLabels.ListExists Then TXT_LABELS.Text = UserLabels.ListToString
End With
+ Else
+ CH_READY_FOR_DOWN.Checked = Settings.DefaultTemporary
+ CH_DOWN_IMAGES.Checked = Settings.DefaultDownloadImages
+ CH_DOWN_VIDEOS.Checked = Settings.DefaultDownloadVideos
End If
End If
.MyFieldsChecker = New FieldsChecker
.MyFieldsChecker.AddControl(Of String)(TXT_USER, TXT_USER.CaptionText)
.MyFieldsChecker.EndLoaderOperations()
- TextBoxExtended.SetFalseDetector(Me, True, AddressOf .Detector)
+ .AppendDetectors()
.EndLoaderOperations()
End With
Catch ex As Exception
@@ -141,6 +159,8 @@ Namespace Editors
.Favorite = CH_FAV.Checked
.Temporary = CH_TEMP.Checked
.ReadyForDownload = CH_READY_FOR_DOWN.Checked
+ .DownloadImages = CH_DOWN_IMAGES.Checked
+ .DownloadVideos = CH_DOWN_VIDEOS.Checked
.UserDescription = TXT_DESCR.Text
Dim l As New ListAddParams(LAP.NotContainsOnly + LAP.ClearBeforeAdd)
If .IsCollection Then
@@ -299,6 +319,8 @@ CloseForm:
.Favorite = CH_FAV.Checked
.Temporary = CH_TEMP.Checked
.ReadyForDownload = CH_READY_FOR_DOWN.Checked
+ .DownloadImages = CH_DOWN_IMAGES.Checked
+ .DownloadVideos = CH_DOWN_VIDEOS.Checked
.Labels.ListAddList(UserLabels)
If s = Sites.Twitter Then .ParseUserMediaOnly = CH_PARSE_USER_MEDIA.Checked
.UpdateUserInformation()
diff --git a/SCrawler/MainFrame.vb b/SCrawler/MainFrame.vb
index cb3c051..0576df6 100644
--- a/SCrawler/MainFrame.vb
+++ b/SCrawler/MainFrame.vb
@@ -246,6 +246,8 @@ CloseResume:
.Temporary = f.UserTemporary
.ParseUserMediaOnly = f.UserMediaOnly
.ReadyForDownload = f.UserReady
+ .DownloadImages = f.DownloadImages
+ .DownloadVideos = f.DownloadVideos
.FriendlyName = f.UserFriendly
.Description = f.UserDescr
.Labels.ListAddList(f.UserLabels, LAP.ClearBeforeAdd, LAP.NotContainsOnly)
@@ -812,7 +814,7 @@ ResumeDownloadingOperation:
End If
End Sub
Private Sub Downloader_OnDownloading(ByVal Value As Boolean)
- Dim a As Action = Sub() BTT_DOWN_STOP.Enabled = Not Value
+ Dim a As Action = Sub() BTT_DOWN_STOP.Enabled = Value
If Toolbar_TOP.InvokeRequired Then Toolbar_TOP.Invoke(a) Else a.Invoke
End Sub
End Class
\ No newline at end of file
diff --git a/SCrawler/MainMod.vb b/SCrawler/MainMod.vb
index ed5aa7a..8af08f8 100644
--- a/SCrawler/MainMod.vb
+++ b/SCrawler/MainMod.vb
@@ -27,6 +27,17 @@ Friend Module MainMod
Friend InfoForm As DownloadedInfoForm
Friend VideoDownloader As VideosDownloaderForm
Friend ReadOnly ParsersDataDateProvider As New ADateTime(ADateTime.Formats.BaseDateTime)
+#Region "File name operations"
+ Friend FileDateAppenderProvider As IFormatProvider
+ ''' File, Date
+ Friend FileDateAppenderPattern As String
+ Friend Class NumberedFile : Inherits SFileNumbers
+ Friend Sub New(ByVal f As SFile)
+ FileName = f.Name
+ NumberProvider = New ANumbers With {.FormatMode = ANumbers.Formats.NumberGroup, .GroupSize = 5}
+ End Sub
+ End Class
+#End Region
Friend Property MainProgress As PersonalUtilities.Forms.Toolbars.MyProgress
Friend Function GetLviGroupName(ByVal Site As Sites, ByVal Temp As Boolean, ByVal Fav As Boolean, ByVal IsCollection As Boolean) As String
Dim Opt$ = String.Empty
@@ -144,6 +155,7 @@ Friend Module MainMod
}
End Function
End Structure
+#Region "Image Handlers management"
Friend Sub ImageHandler(ByVal User As IUserData)
ImageHandler(User, False)
ImageHandler(User, True)
@@ -164,6 +176,8 @@ Friend Module MainMod
Catch ex As Exception
End Try
End Sub
+#End Region
+#Region "Standalone video download functions"
Friend Function GetCurrentBuffer() As String
Dim b$ = BufferText
If Not (Not b.IsEmptyString AndAlso b.Length > 4 AndAlso b.StartsWith("http")) Then b = String.Empty
@@ -245,6 +259,8 @@ Friend Module MainMod
Return ErrorsDescriber.Execute(e, ex, "Downloading video by URL error", False)
End Try
End Function
+#End Region
+#Region "Blacklist Support"
Friend Structure UserBan
Friend ReadOnly Name As String
Friend ReadOnly Reason As String
@@ -330,4 +346,5 @@ Friend Module MainMod
Friend Function UserBanned(ByVal UserName As String) As Boolean
Return UserBanned({UserName}).ListExists
End Function
+#End Region
End Module
\ No newline at end of file
diff --git a/SCrawler/My Project/AssemblyInfo.vb b/SCrawler/My Project/AssemblyInfo.vb
index d9d4da2..12fa90e 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 5ff9da4..2c590d4 100644
--- a/SCrawler/SettingsCLS.vb
+++ b/SCrawler/SettingsCLS.vb
@@ -44,9 +44,17 @@ Friend Class SettingsCLS : Implements IDisposable
SeparateVideoFolder = New XMLValue(Of Boolean)("SeparateVideoFolder", True, MyXML)
CollectionsPath = New XMLValue(Of String)("CollectionsPath", "Collections", MyXML)
- DefaultTemporary = New XMLValue(Of Boolean)("DefaultTemporary", False, 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)
+
+ 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)
+
MaxLargeImageHeigh = New XMLValue(Of Integer)("MaxLargeImageHeigh", 150, MyXML)
MaxSmallImageHeigh = New XMLValue(Of Integer)("MaxSmallImageHeigh", 15, MyXML)
InfoViewMode = New XMLValue(Of Integer)("InfoViewMode", DownloadedInfoForm.ViewModes.Session, MyXML)
@@ -77,6 +85,16 @@ Friend Class SettingsCLS : Implements IDisposable
BlackList.ListAddList(IO.File.ReadAllLines(BlackListFile), LAP.NotContainsOnly)
If BlackList.Count > 0 Then BlackList.RemoveAll(Function(b) Not b.Exists)
End If
+ ChangeDateProvider(Nothing, Nothing, Nothing)
+ End Sub
+ Private Sub ChangeDateProvider(ByVal Sender As Object, ByVal Name As String, ByVal Value As Object)
+ If Not _UpdatesSuspended Then
+ Dim p$ = String.Empty
+ If FileAddDateToFileName Then p = "yyyyMMdd"
+ If FileAddTimeToFileName Then p.StringAppend("HHmmss", "_")
+ If Not p.IsEmptyString Then FileDateAppenderProvider = New ADateTime(p) Else FileDateAppenderProvider = New ADateTime("yyyyMMdd_HHmmss")
+ If FileDateTimePositionEnd Then FileDateAppenderPattern = "{0}_{1}" Else FileDateAppenderPattern = "{1}_{0}"
+ End If
End Sub
Friend Sub LoadUsers()
Try
@@ -192,12 +210,16 @@ 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
Friend Sub BeginUpdate()
MyXML.BeginUpdate()
+ _UpdatesSuspended = True
End Sub
Friend Sub EndUpdate()
MyXML.EndUpdate()
If MyXML.ChangesDetected Then MyXML.UpdateData()
+ _UpdatesSuspended = False
+ ChangeDateProvider(Nothing, Nothing, Nothing)
End Sub
Friend ReadOnly Property Site(ByVal s As Sites) As SiteSettings
Get
@@ -216,8 +238,18 @@ Friend Class SettingsCLS : Implements IDisposable
End If
End Get
End Property
- Friend ReadOnly Property DefaultTemporary As XMLValue(Of Boolean)
Friend ReadOnly Property MaxUsersJobsCount As XMLValue(Of Integer)
+#Region "Defaults"
+ Friend ReadOnly Property DefaultTemporary As XMLValue(Of Boolean)
+ Friend ReadOnly Property DefaultDownloadImages As XMLValue(Of Boolean)
+ Friend ReadOnly Property DefaultDownloadVideos As XMLValue(Of Boolean)
+#End Region
+#Region "Additional info"
+ 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
#Region "View"
Friend ReadOnly Property MaxLargeImageHeigh As XMLValue(Of Integer)
Friend ReadOnly Property MaxSmallImageHeigh As XMLValue(Of Integer)
diff --git a/SCrawler/TDownloader.vb b/SCrawler/TDownloader.vb
index 3291463..8fb3778 100644
--- a/SCrawler/TDownloader.vb
+++ b/SCrawler/TDownloader.vb
@@ -99,8 +99,7 @@ Friend Class TDownloader : Implements IDisposable
.Information = $"Downloading {_CurrentDownloadingTasks.NumToString(nf, NProv)}/{Items.Count.NumToString(nf, NProv)} profiles' data"
.InformationTemporary = .Information
End With
- Token.ThrowIfCancellationRequested()
- Task.WaitAll(t.ToArray, Token)
+ Task.WaitAll(t.ToArray)
Dim dcc As Boolean = False
If Keys.Count > 0 Then
For Each k$ In Keys
@@ -160,8 +159,8 @@ Friend Class TDownloader : Implements IDisposable
If Not Items.Contains(Item) Then
If Item.IsCollection Then Item.DownloadData(Nothing) Else Items.Add(Item)
UpdateJobsLabel()
- If Not _Working Then Start()
End If
+ If Items.Count > 0 Then Start()
End Sub
Friend Sub AddRange(ByVal _Items As IEnumerable(Of IUserData))
If _Items.ListExists Then
@@ -170,8 +169,8 @@ Friend Class TDownloader : Implements IDisposable
If _Items(i).IsCollection Then _Items(i).DownloadData(Nothing) Else Items.Add(_Items(i))
Next
UpdateJobsLabel()
- Start()
End If
+ If Items.Count > 0 Then Start()
End Sub
Friend Sub UserRemove(ByVal _Item As IUserData)
If Downloaded.Count > 0 AndAlso Downloaded.Contains(_Item) Then Downloaded.Remove(_Item) : RaiseEvent OnDownloadCountChange()