Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
60b459e217 | ||
|
|
f491e03812 | ||
|
|
418f44edfd | ||
|
|
075a2b9b80 | ||
|
|
20c74ec8f1 |
31
Changelog.md
@@ -1,3 +1,34 @@
|
|||||||
|
# 3.0.0.10
|
||||||
|
|
||||||
|
- Added
|
||||||
|
- **Downloading groups**
|
||||||
|
- **Download saved Twitter posts** (bookmarks)
|
||||||
|
- Ability to enable/disable progress form opening at the start of downloading
|
||||||
|
- Ability to enable/disable Info form opening at the start of downloading
|
||||||
|
- The ability to disable the opening of forms Info and Progress at the start of downloads if it was once closed
|
||||||
|
- Focusing the main window when opening Info or Progress forms
|
||||||
|
- Ability to execute a script/command when closing SCrawler
|
||||||
|
- Ability to execute a script/command after all downloads are completed
|
||||||
|
- Minor improvements
|
||||||
|
- Fixed
|
||||||
|
- Instagram tagged data not downloading (now requires one more parameter **x-csrftoken** to download tagged data)
|
||||||
|
- In some cases, Instagram Stories cannot be downloaded due to forbidden Windows characters
|
||||||
|
- Separate Instagram posts were not downloading via the Video Downloader form.
|
||||||
|
- In some cases, an Imgur video hosted on Reddit won't download
|
||||||
|
- Gfycat data not downloading from saved Reddit posts
|
||||||
|
- In some cases, the date and time are not added to the filename
|
||||||
|
- Unable to download photos from Twitter in full resolution (4K)
|
||||||
|
|
||||||
|
# 3.0.0.9
|
||||||
|
|
||||||
|
- Added
|
||||||
|
- Excluded labels
|
||||||
|
- Ability to disable user grouping
|
||||||
|
- Ability to show groups of user sites when filtering by labels
|
||||||
|
- Fixed
|
||||||
|
- Removed adding "No Parsed" internal label when not needed
|
||||||
|
- Redownloading Instagram Stories
|
||||||
|
|
||||||
# 3.0.0.8
|
# 3.0.0.8
|
||||||
|
|
||||||
- Added
|
- Added
|
||||||
|
|||||||
BIN
ProgramScreenshots/GroupCreating.png
Normal file
|
After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 377 KiB After Width: | Height: | Size: 379 KiB |
BIN
ProgramScreenshots/MainWindowGroups.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 12 KiB |
BIN
ProgramScreenshots/SettingsGlobalBasis.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
ProgramScreenshots/SettingsGlobalBehavior.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
ProgramScreenshots/SettingsGlobalChannels.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
ProgramScreenshots/SettingsGlobalDefaults.png
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
BIN
ProgramScreenshots/SettingsGlobalDownloading.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@@ -19,7 +19,7 @@ https://www.4kdownload.com/products/product-stogram
|
|||||||
| See Others Instagram Feed As Your Own | No | **Yes** |
|
| See Others Instagram Feed As Your Own | No | **Yes** |
|
||||||
| Download Instagram Video Posts | Yes | Yes |
|
| Download Instagram Video Posts | Yes | Yes |
|
||||||
| Backup Your Instagram Account | Yes | Yes |
|
| Backup Your Instagram Account | Yes | Yes |
|
||||||
| Save Instagram Posts by Date | No (only limited download) | **Yes** |
|
| Save Instagram Posts by Date | Yes | Yes |
|
||||||
| Download Instagram Saved Posts | Yes | Yes |
|
| Download Instagram Saved Posts | Yes | Yes |
|
||||||
| Download Instagram Tagged Posts | Yes | Yes |
|
| Download Instagram Tagged Posts | Yes | Yes |
|
||||||
| Export and import subscriptions | No | **Yes** |
|
| Export and import subscriptions | No | **Yes** |
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ Public Class SiteSettings : Implements ISiteSettings
|
|||||||
If Not ACheck(SiteDomains.Value) Then SiteDomains.Value = DomainsDefault
|
If Not ACheck(SiteDomains.Value) Then SiteDomains.Value = DomainsDefault
|
||||||
Domains.ListAddList(CStr(SiteDomains.Value).Split("|"), LAP.NotContainsOnly, LAP.ClearBeforeAdd)
|
Domains.ListAddList(CStr(SiteDomains.Value).Split("|"), LAP.NotContainsOnly, LAP.ClearBeforeAdd)
|
||||||
Domains.ListAddList(DomainsDefault.Split("|"), LAP.NotContainsOnly)
|
Domains.ListAddList(DomainsDefault.Split("|"), LAP.NotContainsOnly)
|
||||||
SiteDomains.Value = Domains.ListToString(, "|")
|
SiteDomains.Value = Domains.ListToString("|")
|
||||||
_DomainsUpdateInProgress = False
|
_DomainsUpdateInProgress = False
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@@ -477,6 +477,7 @@ BlockNullPicture:
|
|||||||
Get
|
Get
|
||||||
If Settings.LastUpdatedDate.HasValue AndAlso LastUpdated.HasValue AndAlso
|
If Settings.LastUpdatedDate.HasValue AndAlso LastUpdated.HasValue AndAlso
|
||||||
LastUpdated.Value.Date > Settings.LastUpdatedDate.Value.Date Then Return False
|
LastUpdated.Value.Date > Settings.LastUpdatedDate.Value.Date Then Return False
|
||||||
|
If Not Settings.Labels.ExcludedIgnore AndAlso Settings.Labels.Excluded.ValuesList.ListContains(Labels) Then Return False
|
||||||
If Settings.SelectedSites.Count = 0 OrElse Settings.SelectedSites.Contains(Site) Then
|
If Settings.SelectedSites.Count = 0 OrElse Settings.SelectedSites.Contains(Site) Then
|
||||||
Select Case Settings.ShowingMode.Value
|
Select Case Settings.ShowingMode.Value
|
||||||
Case ShowingModes.Regular : Return Not Temporary And Not Favorite
|
Case ShowingModes.Regular : Return Not Temporary And Not Favorite
|
||||||
@@ -484,7 +485,7 @@ BlockNullPicture:
|
|||||||
Case ShowingModes.Favorite : Return Favorite
|
Case ShowingModes.Favorite : Return Favorite
|
||||||
Case ShowingModes.Deleted : Return Not UserExists
|
Case ShowingModes.Deleted : Return Not UserExists
|
||||||
Case ShowingModes.Suspended : Return UserSuspended
|
Case ShowingModes.Suspended : Return UserSuspended
|
||||||
Case ShowingModes.Labels : Return Settings.Labels.CurrentSelection.ListContains(Labels)
|
Case ShowingModes.Labels : Return Settings.Labels.Current.ValuesList.ListContains(Labels)
|
||||||
Case ShowingModes.NoLabels : Return Labels.Count = 0
|
Case ShowingModes.NoLabels : Return Labels.Count = 0
|
||||||
Case Else : Return True
|
Case Else : Return True
|
||||||
End Select
|
End Select
|
||||||
@@ -495,16 +496,16 @@ BlockNullPicture:
|
|||||||
End Property
|
End Property
|
||||||
Friend Function GetLVIGroup(ByVal Destination As ListView) As ListViewGroup Implements IUserData.GetLVIGroup
|
Friend Function GetLVIGroup(ByVal Destination As ListView) As ListViewGroup Implements IUserData.GetLVIGroup
|
||||||
Try
|
Try
|
||||||
If Settings.ShowingMode.Value = ShowingModes.Labels Then
|
If Settings.ShowingMode.Value = ShowingModes.Labels And Not Settings.ShowGroupsInsteadLabels Then
|
||||||
If Labels.Count > 0 And Settings.Labels.CurrentSelection.Count > 0 Then
|
If Labels.Count > 0 And Settings.Labels.Current.Count > 0 Then
|
||||||
For i% = 0 To Labels.Count - 1
|
For i% = 0 To Labels.Count - 1
|
||||||
If Settings.Labels.CurrentSelection.Contains(Labels(i)) Then Return Destination.Groups.Item(Labels(i))
|
If Settings.Labels.Current.Contains(Labels(i)) Then Return Destination.Groups.Item(Labels(i))
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
Return Destination.Groups.Item(LabelsKeeper.NoLabeledName)
|
ElseIf Settings.ShowGroups Then
|
||||||
Else
|
|
||||||
Return Destination.Groups.Item(GetLviGroupName(HOST, Temporary, Favorite, IsCollection, IsChannel))
|
Return Destination.Groups.Item(GetLviGroupName(HOST, Temporary, Favorite, IsCollection, IsChannel))
|
||||||
End If
|
End If
|
||||||
|
Return Destination.Groups.Item(LabelsKeeper.NoLabeledName)
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Return Destination.Groups.Item(LabelsKeeper.NoLabeledName)
|
Return Destination.Groups.Item(LabelsKeeper.NoLabeledName)
|
||||||
End Try
|
End Try
|
||||||
@@ -567,7 +568,7 @@ BlockNullPicture:
|
|||||||
If MyFile.Exists Then
|
If MyFile.Exists Then
|
||||||
FileExists = True
|
FileExists = True
|
||||||
Using x As New XmlFile(MyFile) With {.XmlReadOnly = True}
|
Using x As New XmlFile(MyFile) With {.XmlReadOnly = True}
|
||||||
User.Name = x.Value(Name_UserName)
|
If User.Name.IsEmptyString Then User.Name = x.Value(Name_UserName)
|
||||||
UserExists = x.Value(Name_UserExists).FromXML(Of Boolean)(True)
|
UserExists = x.Value(Name_UserExists).FromXML(Of Boolean)(True)
|
||||||
UserSuspended = x.Value(Name_UserSuspended).FromXML(Of Boolean)(False)
|
UserSuspended = x.Value(Name_UserSuspended).FromXML(Of Boolean)(False)
|
||||||
ID = x.Value(Name_UserID)
|
ID = x.Value(Name_UserID)
|
||||||
@@ -628,7 +629,7 @@ BlockNullPicture:
|
|||||||
x.Add(Name_ScriptUse, ScriptUse.BoolToInteger)
|
x.Add(Name_ScriptUse, ScriptUse.BoolToInteger)
|
||||||
x.Add(Name_ScriptData, ScriptData)
|
x.Add(Name_ScriptData, ScriptData)
|
||||||
x.Add(Name_CollectionName, CollectionName)
|
x.Add(Name_CollectionName, CollectionName)
|
||||||
x.Add(Name_LabelsName, Labels.ListToString(, "|", EDP.ReturnValue))
|
x.Add(Name_LabelsName, Labels.ListToString("|", EDP.ReturnValue))
|
||||||
x.Add(Name_DataMerging, DataMerging.BoolToInteger)
|
x.Add(Name_DataMerging, DataMerging.BoolToInteger)
|
||||||
|
|
||||||
LoadUserInformation_OptionalFields(x, False)
|
LoadUserInformation_OptionalFields(x, False)
|
||||||
@@ -764,7 +765,7 @@ BlockNullPicture:
|
|||||||
|
|
||||||
ReparseVideo(Token)
|
ReparseVideo(Token)
|
||||||
ThrowAny(Token)
|
ThrowAny(Token)
|
||||||
If _TempPostsList.Count > 0 And __SaveData Then TextSaver.SaveTextToFile(_TempPostsList.ListToString(, Environment.NewLine), MyFilePosts, True,, EDP.None)
|
If _TempPostsList.Count > 0 And __SaveData Then TextSaver.SaveTextToFile(_TempPostsList.ListToString(Environment.NewLine), MyFilePosts, True,, EDP.None)
|
||||||
_ContentNew.ListAddList(_TempMediaList, LAP.ClearBeforeAdd)
|
_ContentNew.ListAddList(_TempMediaList, LAP.ClearBeforeAdd)
|
||||||
DownloadContent(Token)
|
DownloadContent(Token)
|
||||||
ThrowIfDisposed()
|
ThrowIfDisposed()
|
||||||
@@ -912,6 +913,7 @@ BlockNullPicture:
|
|||||||
End Using
|
End Using
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
Catch iex As IndexOutOfRangeException When Disposed
|
||||||
Catch oex As OperationCanceledException When Token.IsCancellationRequested
|
Catch oex As OperationCanceledException When Token.IsCancellationRequested
|
||||||
Catch dex As ObjectDisposedException When Disposed
|
Catch dex As ObjectDisposedException When Disposed
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
@@ -932,7 +934,7 @@ BlockNullPicture:
|
|||||||
Dim ff As SFile = Nothing
|
Dim ff As SFile = Nothing
|
||||||
Try
|
Try
|
||||||
If Not f.IsEmptyString AndAlso f.Exists Then
|
If Not f.IsEmptyString AndAlso f.Exists Then
|
||||||
If Settings.FileReplaceNameByDate Then
|
If Settings.FileReplaceNameByDate Or Settings.FileAddTimeToFileName Then
|
||||||
ff = f
|
ff = f
|
||||||
ff.Name = String.Format(FileDateAppenderPattern, f.Name, CStr(AConvert(Of String)(If(m.Post.Date, Now), FileDateAppenderProvider, String.Empty)))
|
ff.Name = String.Format(FileDateAppenderPattern, f.Name, CStr(AConvert(Of String)(If(m.Post.Date, Now), FileDateAppenderProvider, String.Empty)))
|
||||||
ff = SFile.Indexed_IndexFile(ff,, New NumberedFile(ff))
|
ff = SFile.Indexed_IndexFile(ff,, New NumberedFile(ff))
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
Imports SCrawler.API.Base
|
Imports SCrawler.API.Base
|
||||||
Imports SCrawler.Plugin
|
Imports SCrawler.Plugin
|
||||||
Imports SCrawler.Plugin.Attributes
|
Imports SCrawler.Plugin.Attributes
|
||||||
|
Imports PersonalUtilities.Forms
|
||||||
Imports PersonalUtilities.Tools
|
Imports PersonalUtilities.Tools
|
||||||
Imports PersonalUtilities.Functions.XML
|
Imports PersonalUtilities.Functions.XML
|
||||||
Imports PersonalUtilities.Functions.XML.Base
|
Imports PersonalUtilities.Functions.XML.Base
|
||||||
@@ -30,18 +31,27 @@ Namespace API.Instagram
|
|||||||
End Property
|
End Property
|
||||||
#End Region
|
#End Region
|
||||||
#Region "Providers"
|
#Region "Providers"
|
||||||
Private Class TimersChecker : Implements ICustomProvider
|
Private Class TimersChecker : Implements IFieldsCheckerProvider
|
||||||
|
Private Property ErrorMessage As String Implements IFieldsCheckerProvider.ErrorMessage
|
||||||
|
Private Property Name As String Implements IFieldsCheckerProvider.Name
|
||||||
|
Private Property TypeError As Boolean Implements IFieldsCheckerProvider.TypeError
|
||||||
|
Private ReadOnly LVProvider As New ANumbers With {.FormatOptions = ANumbers.Options.GroupIntegral}
|
||||||
Private ReadOnly _LowestValue As Integer
|
Private ReadOnly _LowestValue As Integer
|
||||||
Friend Sub New(ByVal LowestValue As Integer)
|
Friend Sub New(ByVal LowestValue As Integer)
|
||||||
_LowestValue = LowestValue
|
_LowestValue = LowestValue
|
||||||
End Sub
|
End Sub
|
||||||
Private Function Convert(ByVal Value As Object, ByVal DestinationType As Type, ByVal Provider As IFormatProvider,
|
Private Function Convert(ByVal Value As Object, ByVal DestinationType As Type, ByVal Provider As IFormatProvider,
|
||||||
Optional ByVal NothingArg As Object = Nothing, Optional ByVal e As ErrorsDescriber = Nothing) As Object Implements ICustomProvider.Convert
|
Optional ByVal NothingArg As Object = Nothing, Optional ByVal e As ErrorsDescriber = Nothing) As Object Implements ICustomProvider.Convert
|
||||||
If ACheck(Of Integer)(Value) AndAlso CInt(Value) >= _LowestValue Then
|
TypeError = False
|
||||||
Return Value
|
ErrorMessage = String.Empty
|
||||||
|
If Not ACheck(Of Integer)(Value) Then
|
||||||
|
TypeError = True
|
||||||
|
ElseIf CInt(Value) < _LowestValue Then
|
||||||
|
ErrorMessage = $"The value of [{Name}] field must be greater than or equal to {_LowestValue.NumToString(LVProvider)}"
|
||||||
Else
|
Else
|
||||||
Return Nothing
|
Return Value
|
||||||
End If
|
End If
|
||||||
|
Return Nothing
|
||||||
End Function
|
End Function
|
||||||
Private Function GetFormat(ByVal FormatType As Type) As Object Implements IFormatProvider.GetFormat
|
Private Function GetFormat(ByVal FormatType As Type) As Object Implements IFormatProvider.GetFormat
|
||||||
Throw New NotImplementedException()
|
Throw New NotImplementedException()
|
||||||
@@ -53,35 +63,37 @@ Namespace API.Instagram
|
|||||||
Friend ReadOnly Property Hash As PropertyValue
|
Friend ReadOnly Property Hash As PropertyValue
|
||||||
<PropertyOption(ControlText:="Hash 2", ControlToolTip:="Instagram session hash for saved posts", IsAuth:=True), PXML("InstaHashSavedPosts"), ControlNumber(1)>
|
<PropertyOption(ControlText:="Hash 2", ControlToolTip:="Instagram session hash for saved posts", IsAuth:=True), PXML("InstaHashSavedPosts"), ControlNumber(1)>
|
||||||
Friend ReadOnly Property HashSavedPosts As PropertyValue
|
Friend ReadOnly Property HashSavedPosts As PropertyValue
|
||||||
<PropertyOption(ControlText:="x-ig-app-id", IsAuth:=True), ControlNumber(2)>
|
<PropertyOption(ControlText:="x-csrftoken", ControlToolTip:="Instagram token for tagged data", IsAuth:=True), ControlNumber(2)>
|
||||||
|
Friend ReadOnly Property CSRF_TOKEN As PropertyValue
|
||||||
|
<PropertyOption(ControlText:="x-ig-app-id", IsAuth:=True), ControlNumber(3)>
|
||||||
Friend Property IG_APP_ID As PropertyValue
|
Friend Property IG_APP_ID As PropertyValue
|
||||||
<PropertyOption(ControlText:="x-ig-www-claim", IsAuth:=True), ControlNumber(3)>
|
<PropertyOption(ControlText:="x-ig-www-claim", IsAuth:=True), ControlNumber(4)>
|
||||||
Friend Property IG_WWW_CLAIM As PropertyValue
|
Friend Property IG_WWW_CLAIM As PropertyValue
|
||||||
<PropertyOption(ControlText:="Saved posts user", IsAuth:=True), PXML("SavedPostsUserName"), ControlNumber(4)>
|
<PropertyOption(ControlText:="Saved posts user", IsAuth:=True), PXML("SavedPostsUserName"), ControlNumber(5)>
|
||||||
Friend ReadOnly Property SavedPostsUserName As PropertyValue
|
Friend ReadOnly Property SavedPostsUserName As PropertyValue
|
||||||
Friend ReadOnly Property StoriesAndTaggedReady As Boolean
|
Friend ReadOnly Property StoriesAndTaggedReady As Boolean
|
||||||
Get
|
Get
|
||||||
Return ACheck(IG_APP_ID.Value) And ACheck(IG_WWW_CLAIM.Value)
|
Return ACheck(IG_APP_ID.Value) And ACheck(IG_WWW_CLAIM.Value) And ACheck(CSRF_TOKEN.Value)
|
||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
#End Region
|
#End Region
|
||||||
#Region "Download properties"
|
#Region "Download properties"
|
||||||
Friend ReadOnly Property HashUpdateRequired As XMLValue(Of Boolean)
|
Friend ReadOnly Property HashUpdateRequired As XMLValue(Of Boolean)
|
||||||
<PropertyOption(ControlText:="Request timer", AllowNull:=False), PXML("RequestsWaitTimer"), ControlNumber(5)>
|
<PropertyOption(ControlText:="Request timer", AllowNull:=False), PXML("RequestsWaitTimer"), ControlNumber(6)>
|
||||||
Friend ReadOnly Property RequestsWaitTimer As PropertyValue
|
Friend ReadOnly Property RequestsWaitTimer As PropertyValue
|
||||||
<Provider(NameOf(RequestsWaitTimer), FieldsChecker:=True)>
|
<Provider(NameOf(RequestsWaitTimer), FieldsChecker:=True)>
|
||||||
Private ReadOnly Property RequestsWaitTimerProvider As IFormatProvider
|
Private ReadOnly Property RequestsWaitTimerProvider As IFormatProvider
|
||||||
<PropertyOption(ControlText:="Request timer counter", AllowNull:=False, LeftOffset:=120), PXML("RequestsWaitTimerTaskCount"), ControlNumber(6)>
|
<PropertyOption(ControlText:="Request timer counter", AllowNull:=False, LeftOffset:=120), PXML("RequestsWaitTimerTaskCount"), ControlNumber(7)>
|
||||||
Friend ReadOnly Property RequestsWaitTimerTaskCount As PropertyValue
|
Friend ReadOnly Property RequestsWaitTimerTaskCount As PropertyValue
|
||||||
<Provider(NameOf(RequestsWaitTimerTaskCount), FieldsChecker:=True)>
|
<Provider(NameOf(RequestsWaitTimerTaskCount), FieldsChecker:=True)>
|
||||||
Private ReadOnly Property RequestsWaitTimerTaskCountProvider As IFormatProvider
|
Private ReadOnly Property RequestsWaitTimerTaskCountProvider As IFormatProvider
|
||||||
<PropertyOption(ControlText:="Posts limit timer", AllowNull:=False), PXML("SleepTimerOnPostsLimit"), ControlNumber(7)>
|
<PropertyOption(ControlText:="Posts limit timer", AllowNull:=False), PXML("SleepTimerOnPostsLimit"), ControlNumber(8)>
|
||||||
Friend ReadOnly Property SleepTimerOnPostsLimit As PropertyValue
|
Friend ReadOnly Property SleepTimerOnPostsLimit As PropertyValue
|
||||||
<Provider(NameOf(SleepTimerOnPostsLimit), FieldsChecker:=True)>
|
<Provider(NameOf(SleepTimerOnPostsLimit), FieldsChecker:=True)>
|
||||||
Private ReadOnly Property SleepTimerOnPostsLimitProvider As IFormatProvider
|
Private ReadOnly Property SleepTimerOnPostsLimitProvider As IFormatProvider
|
||||||
<PropertyOption(ControlText:="Get stories"), PXML, ControlNumber(8)>
|
<PropertyOption(ControlText:="Get stories"), PXML, ControlNumber(9)>
|
||||||
Friend ReadOnly Property GetStories As PropertyValue
|
Friend ReadOnly Property GetStories As PropertyValue
|
||||||
<PropertyOption(ControlText:="Get tagged photos"), PXML, ControlNumber(9)>
|
<PropertyOption(ControlText:="Get tagged photos"), PXML, ControlNumber(10)>
|
||||||
Friend ReadOnly Property GetTagged As PropertyValue
|
Friend ReadOnly Property GetTagged As PropertyValue
|
||||||
#End Region
|
#End Region
|
||||||
#Region "429 bypass"
|
#Region "429 bypass"
|
||||||
@@ -119,7 +131,7 @@ Namespace API.Instagram
|
|||||||
LastApplyingValue = If(LastApplyingValue, 0) + 10
|
LastApplyingValue = If(LastApplyingValue, 0) + 10
|
||||||
TooManyRequestsReadyForCatch = False
|
TooManyRequestsReadyForCatch = False
|
||||||
MyMainLOG = $"Instagram downloading error: too many requests. Try again after {If(LastApplyingValue, 10)} minutes..."
|
MyMainLOG = $"Instagram downloading error: too many requests. Try again after {If(LastApplyingValue, 10)} minutes..."
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
.ValueF = Nothing
|
.ValueF = Nothing
|
||||||
@@ -136,11 +148,13 @@ Namespace API.Instagram
|
|||||||
|
|
||||||
Dim app_id$ = String.Empty
|
Dim app_id$ = String.Empty
|
||||||
Dim www_claim$ = String.Empty
|
Dim www_claim$ = String.Empty
|
||||||
|
Dim token$ = String.Empty
|
||||||
|
|
||||||
With Responser
|
With Responser
|
||||||
If .File.Exists Then
|
If .File.Exists Then
|
||||||
.LoadSettings()
|
.LoadSettings()
|
||||||
With .Headers
|
With .Headers
|
||||||
|
If .ContainsKey(Header_CSRF_TOKEN) Then token = .Item(Header_CSRF_TOKEN)
|
||||||
If .ContainsKey(Header_IG_APP_ID) Then app_id = .Item(Header_IG_APP_ID)
|
If .ContainsKey(Header_IG_APP_ID) Then app_id = .Item(Header_IG_APP_ID)
|
||||||
If .ContainsKey(Header_IG_WWW_CLAIM) Then www_claim = .Item(Header_IG_WWW_CLAIM)
|
If .ContainsKey(Header_IG_WWW_CLAIM) Then www_claim = .Item(Header_IG_WWW_CLAIM)
|
||||||
End With
|
End With
|
||||||
@@ -157,6 +171,7 @@ Namespace API.Instagram
|
|||||||
HashUpdateRequired = New XMLValue(Of Boolean)("InstaHashUpdateRequired", True, _XML, n)
|
HashUpdateRequired = New XMLValue(Of Boolean)("InstaHashUpdateRequired", True, _XML, n)
|
||||||
Hash = New PropertyValue(String.Empty, GetType(String))
|
Hash = New PropertyValue(String.Empty, GetType(String))
|
||||||
HashSavedPosts = New PropertyValue(String.Empty, GetType(String))
|
HashSavedPosts = New PropertyValue(String.Empty, GetType(String))
|
||||||
|
CSRF_TOKEN = New PropertyValue(token, GetType(String), Sub(v) ChangeResponserFields(NameOf(CSRF_TOKEN), v))
|
||||||
IG_APP_ID = New PropertyValue(app_id, GetType(String), Sub(v) ChangeResponserFields(NameOf(IG_APP_ID), v))
|
IG_APP_ID = New PropertyValue(app_id, GetType(String), Sub(v) ChangeResponserFields(NameOf(IG_APP_ID), v))
|
||||||
IG_WWW_CLAIM = New PropertyValue(www_claim, GetType(String), Sub(v) ChangeResponserFields(NameOf(IG_WWW_CLAIM), v))
|
IG_WWW_CLAIM = New PropertyValue(www_claim, GetType(String), Sub(v) ChangeResponserFields(NameOf(IG_WWW_CLAIM), v))
|
||||||
|
|
||||||
@@ -192,12 +207,14 @@ Namespace API.Instagram
|
|||||||
End Function
|
End Function
|
||||||
Private Const Header_IG_APP_ID As String = "x-ig-app-id"
|
Private Const Header_IG_APP_ID As String = "x-ig-app-id"
|
||||||
Private Const Header_IG_WWW_CLAIM As String = "x-ig-www-claim"
|
Private Const Header_IG_WWW_CLAIM As String = "x-ig-www-claim"
|
||||||
|
Private Const Header_CSRF_TOKEN As String = "x-csrftoken"
|
||||||
Private Sub ChangeResponserFields(ByVal PropName As String, ByVal Value As Object)
|
Private Sub ChangeResponserFields(ByVal PropName As String, ByVal Value As Object)
|
||||||
If Not PropName.IsEmptyString Then
|
If Not PropName.IsEmptyString Then
|
||||||
Dim f$ = String.Empty
|
Dim f$ = String.Empty
|
||||||
Select Case PropName
|
Select Case PropName
|
||||||
Case NameOf(IG_APP_ID) : f = Header_IG_APP_ID
|
Case NameOf(IG_APP_ID) : f = Header_IG_APP_ID
|
||||||
Case NameOf(IG_WWW_CLAIM) : f = Header_IG_WWW_CLAIM
|
Case NameOf(IG_WWW_CLAIM) : f = Header_IG_WWW_CLAIM
|
||||||
|
Case NameOf(CSRF_TOKEN) : f = Header_CSRF_TOKEN
|
||||||
End Select
|
End Select
|
||||||
If Not f.IsEmptyString Then
|
If Not f.IsEmptyString Then
|
||||||
If Responser.Headers.Count > 0 AndAlso Responser.Headers.ContainsKey(f) Then Responser.Headers.Remove(f)
|
If Responser.Headers.Count > 0 AndAlso Responser.Headers.ContainsKey(f) Then Responser.Headers.Remove(f)
|
||||||
@@ -303,7 +320,7 @@ Namespace API.Instagram
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
Friend Overrides Function GetSpecialDataF(ByVal URL As String) As IEnumerable(Of UserMedia)
|
Friend Overrides Function GetSpecialDataF(ByVal URL As String) As IEnumerable(Of UserMedia)
|
||||||
Return UserData.GetVideoInfo(URL, Responser)
|
Return UserData.GetVideoInfo(URL, Responser, Me)
|
||||||
End Function
|
End Function
|
||||||
Friend Overrides Sub UserOptions(ByRef Options As Object, ByVal OpenForm As Boolean)
|
Friend Overrides Sub UserOptions(ByRef Options As Object, ByVal OpenForm As Boolean)
|
||||||
If Options Is Nothing OrElse Not TypeOf Options Is EditorExchangeOptions Then Options = New EditorExchangeOptions(Me)
|
If Options Is Nothing OrElse Not TypeOf Options Is EditorExchangeOptions Then Options = New EditorExchangeOptions(Me)
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ Imports PersonalUtilities.Tools.WebDocuments.JSON
|
|||||||
Imports SCrawler.API.Base
|
Imports SCrawler.API.Base
|
||||||
Imports System.Threading
|
Imports System.Threading
|
||||||
Imports System.Net
|
Imports System.Net
|
||||||
|
Imports System.Reflection
|
||||||
Imports UTypes = SCrawler.API.Base.UserMedia.Types
|
Imports UTypes = SCrawler.API.Base.UserMedia.Types
|
||||||
Namespace API.Instagram
|
Namespace API.Instagram
|
||||||
Friend Class UserData : Inherits UserDataBase
|
Friend Class UserData : Inherits UserDataBase
|
||||||
@@ -262,8 +263,8 @@ Namespace API.Instagram
|
|||||||
TaggedCount = j.Value("total_count").FromXML(Of Integer)(0)
|
TaggedCount = j.Value("total_count").FromXML(Of Integer)(0)
|
||||||
TaggedChecked = True
|
TaggedChecked = True
|
||||||
If TaggedCount > 200 Then
|
If TaggedCount > 200 Then
|
||||||
Dim a% = MsgBoxE({$"The number of tagged posts is {TaggedCount.NumToString(New ANumbers With {
|
Dim a% = MsgBoxE({$"The number of tagged posts by user [{ToString()}] is { _
|
||||||
.FormatOptions = ANumbers.Options.GroupIntegral})}" & vbCr &
|
TaggedCount.NumToString(New ANumbers With {.FormatOptions = ANumbers.Options.GroupIntegral})}" & vbCr &
|
||||||
"The tagged data download operation can take a long time.", "Too much tagged data"}, vbExclamation,,,
|
"The tagged data download operation can take a long time.", "Too much tagged data"}, vbExclamation,,,
|
||||||
{"Continue",
|
{"Continue",
|
||||||
New MsgBoxButton("Disable and cancel") With {
|
New MsgBoxButton("Disable and cancel") With {
|
||||||
@@ -277,11 +278,9 @@ Namespace API.Instagram
|
|||||||
End If
|
End If
|
||||||
End Select
|
End Select
|
||||||
Else
|
Else
|
||||||
If j.Value("status") = "ok" AndAlso j({"data", "user"}).XmlIfNothing.Count = 0 AndAlso _TempMediaList.Count = 0 Then
|
If j.Value("status") = "ok" AndAlso j({"data", "user"}).XmlIfNothing.Count = 0 AndAlso
|
||||||
MySiteSettings.HashUpdateRequired.Value = True
|
_TempMediaList.Count = 0 AndAlso Section = Sections.Timeline Then _
|
||||||
UserExists = False
|
UserExists = False : Throw New ExitException(_DownloadComplete)
|
||||||
Throw New ExitException(_DownloadComplete)
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
End Using
|
End Using
|
||||||
Else
|
Else
|
||||||
@@ -494,14 +493,14 @@ Namespace API.Instagram
|
|||||||
Private Sub GetStoriesData(ByRef StoriesList As List(Of String), ByVal Token As CancellationToken)
|
Private Sub GetStoriesData(ByRef StoriesList As List(Of String), ByVal Token As CancellationToken)
|
||||||
Const ReqUrl$ = "https://i.instagram.com/api/v1/feed/reels_media/?{0}"
|
Const ReqUrl$ = "https://i.instagram.com/api/v1/feed/reels_media/?{0}"
|
||||||
Dim tmpList As IEnumerable(Of String)
|
Dim tmpList As IEnumerable(Of String)
|
||||||
Dim qStr$, r$, sFolder$, storyID$
|
Dim qStr$, r$, sFolder$, storyID$, pid$
|
||||||
Dim i% = -1
|
Dim i% = -1
|
||||||
Dim jj As EContainer, s As EContainer
|
Dim jj As EContainer, s As EContainer
|
||||||
ThrowAny(Token)
|
ThrowAny(Token)
|
||||||
If StoriesList.ListExists Then
|
If StoriesList.ListExists Then
|
||||||
tmpList = StoriesList.Take(5)
|
tmpList = StoriesList.Take(5)
|
||||||
If tmpList.ListExists Then
|
If tmpList.ListExists Then
|
||||||
qStr = String.Format(ReqUrl, tmpList.Select(Function(q) $"reel_ids=highlight:{q}").ListToString(, "&"))
|
qStr = String.Format(ReqUrl, tmpList.Select(Function(q) $"reel_ids=highlight:{q}").ListToString("&"))
|
||||||
r = Responser.GetResponse(qStr,, EDP.ThrowException)
|
r = Responser.GetResponse(qStr,, EDP.ThrowException)
|
||||||
ThrowAny(Token)
|
ThrowAny(Token)
|
||||||
If Not r.IsEmptyString Then
|
If Not r.IsEmptyString Then
|
||||||
@@ -509,7 +508,7 @@ Namespace API.Instagram
|
|||||||
If j.Contains("reels") Then
|
If j.Contains("reels") Then
|
||||||
For Each jj In j("reels")
|
For Each jj In j("reels")
|
||||||
i += 1
|
i += 1
|
||||||
sFolder = jj.Value("title")
|
sFolder = jj.Value("title").StringRemoveWinForbiddenSymbols
|
||||||
storyID = jj.Value("id").Replace("highlight:", String.Empty)
|
storyID = jj.Value("id").Replace("highlight:", String.Empty)
|
||||||
If sFolder.IsEmptyString Then sFolder = $"Story_{storyID}"
|
If sFolder.IsEmptyString Then sFolder = $"Story_{storyID}"
|
||||||
If sFolder.IsEmptyString Then sFolder = $"Story_{i}"
|
If sFolder.IsEmptyString Then sFolder = $"Story_{i}"
|
||||||
@@ -517,7 +516,14 @@ Namespace API.Instagram
|
|||||||
If Not storyID.IsEmptyString Then storyID &= ":"
|
If Not storyID.IsEmptyString Then storyID &= ":"
|
||||||
With jj("items").XmlIfNothing
|
With jj("items").XmlIfNothing
|
||||||
If .Count > 0 Then
|
If .Count > 0 Then
|
||||||
For Each s In .Self : ThrowAny(Token) : ObtainMedia2(s, storyID & s.Value("id"), sFolder) : Next
|
For Each s In .Self
|
||||||
|
pid = storyID & s.Value("id")
|
||||||
|
If Not _TempPostsList.Contains(pid) Then
|
||||||
|
ThrowAny(Token)
|
||||||
|
ObtainMedia2(s, pid, sFolder)
|
||||||
|
_TempPostsList.Add(pid)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
End If
|
End If
|
||||||
End With
|
End With
|
||||||
Next
|
Next
|
||||||
@@ -560,7 +566,7 @@ Namespace API.Instagram
|
|||||||
UserExists = False
|
UserExists = False
|
||||||
ElseIf Responser.StatusCode = HttpStatusCode.BadRequest Then
|
ElseIf Responser.StatusCode = HttpStatusCode.BadRequest Then
|
||||||
HasError = True
|
HasError = True
|
||||||
MyMainLOG = "Instagram credentials have expired"
|
MyMainLOG = $"Instagram credentials have expired: {ToString()} [{s}]"
|
||||||
MySiteSettings.HashUpdateRequired.Value = True
|
MySiteSettings.HashUpdateRequired.Value = True
|
||||||
ElseIf Responser.StatusCode = HttpStatusCode.Forbidden And s = Sections.Tagged Then
|
ElseIf Responser.StatusCode = HttpStatusCode.Forbidden And s = Sections.Tagged Then
|
||||||
Return 3
|
Return 3
|
||||||
@@ -575,6 +581,7 @@ Namespace API.Instagram
|
|||||||
Return 1
|
Return 1
|
||||||
Else
|
Else
|
||||||
MySiteSettings.HashUpdateRequired.Value = True
|
MySiteSettings.HashUpdateRequired.Value = True
|
||||||
|
MyMainLOG = $"Instagram hash requested: {ToString()} [{s}]"
|
||||||
If Not FromPE Then LogError(ex, Message) : HasError = True
|
If Not FromPE Then LogError(ex, Message) : HasError = True
|
||||||
Return 0
|
Return 0
|
||||||
End If
|
End If
|
||||||
@@ -589,12 +596,13 @@ Namespace API.Instagram
|
|||||||
m.SpecialFolder = SpecialFolder
|
m.SpecialFolder = SpecialFolder
|
||||||
Return m
|
Return m
|
||||||
End Function
|
End Function
|
||||||
Friend Shared Function GetVideoInfo(ByVal URL As String, ByVal r As Response) As IEnumerable(Of UserMedia)
|
Friend Shared Function GetVideoInfo(ByVal URL As String, ByVal r As Response, ByVal _Settings As SiteSettings) As IEnumerable(Of UserMedia)
|
||||||
Try
|
Try
|
||||||
If Not URL.IsEmptyString AndAlso URL.Contains("instagram.com") Then
|
If Not URL.IsEmptyString AndAlso URL.Contains("instagram.com") Then
|
||||||
Dim PID$ = RegexReplace(URL, RParams.DMS(".*?instagram.com/p/([_\w\d]+)", 1))
|
Dim PID$ = RegexReplace(URL, RParams.DMS(".*?instagram.com/p/([_\w\d]+)", 1))
|
||||||
If Not PID.IsEmptyString Then
|
If Not PID.IsEmptyString Then
|
||||||
Using t As New UserData
|
Using t As New UserData
|
||||||
|
t.SetEnvironment(Settings(_Settings.GetType.GetCustomAttribute(Of Plugin.Attributes.Manifest)().GUID), Nothing, False, False)
|
||||||
t.Responser = New Response
|
t.Responser = New Response
|
||||||
t.Responser.Copy(r)
|
t.Responser.Copy(r)
|
||||||
t._SavedPostsIDs.Add(PID)
|
t._SavedPostsIDs.Add(PID)
|
||||||
|
|||||||
@@ -364,16 +364,16 @@ Namespace API.Reddit
|
|||||||
Dim l As New List(Of String)
|
Dim l As New List(Of String)
|
||||||
If Posts.Count > 0 Or PostsLatest.Count > 0 Then l.ListAddList((From p In PostsAll Where Not p.ID.IsEmptyString Select p.ID), LAP.NotContainsOnly)
|
If Posts.Count > 0 Or PostsLatest.Count > 0 Then l.ListAddList((From p In PostsAll Where Not p.ID.IsEmptyString Select p.ID), LAP.NotContainsOnly)
|
||||||
l.ListAddList(PostsNames, LAP.NotContainsOnly)
|
l.ListAddList(PostsNames, LAP.NotContainsOnly)
|
||||||
If l.Count > 0 Then TextSaver.SaveTextToFile(l.ListToString(, "|"), FilePosts, True,, EDP.SendInLog)
|
If l.Count > 0 Then TextSaver.SaveTextToFile(l.ListToString("|"), FilePosts, True,, EDP.SendInLog)
|
||||||
End If
|
End If
|
||||||
Using x As New XmlFile With {.AllowSameNames = True, .Name = "Channel"}
|
Using x As New XmlFile With {.AllowSameNames = True, .Name = "Channel"}
|
||||||
x.Add(Name_Name, Name)
|
x.Add(Name_Name, Name)
|
||||||
x.Add(Name_ID, ID)
|
x.Add(Name_ID, ID)
|
||||||
x.Add(Name_ViewMode, CInt(ViewMode))
|
x.Add(Name_ViewMode, CInt(ViewMode))
|
||||||
x.Add(Name_ViewPeriod, CInt(ViewPeriod))
|
x.Add(Name_ViewPeriod, CInt(ViewPeriod))
|
||||||
x.Add(Name_UsersAdded, CountOfAddedUsers.ListToString(, "|"))
|
x.Add(Name_UsersAdded, CountOfAddedUsers.ListToString("|"))
|
||||||
x.Add(Name_PostsDownloaded, CountOfLoadedPostsPerSession.ListToString(, "|"))
|
x.Add(Name_PostsDownloaded, CountOfLoadedPostsPerSession.ListToString("|"))
|
||||||
x.Add(Name_UsersExistent, ChannelExistentUserNames.ListToString(, "|"))
|
x.Add(Name_UsersExistent, ChannelExistentUserNames.ListToString("|"))
|
||||||
If Posts.Count > 0 Or PostsLatest.Count > 0 Then
|
If Posts.Count > 0 Or PostsLatest.Count > 0 Then
|
||||||
Dim tmpPostList As List(Of UserPost) = Nothing
|
Dim tmpPostList As List(Of UserPost) = Nothing
|
||||||
tmpPostList.ListAddList(Posts).ListAddList(PostsLatest)
|
tmpPostList.ListAddList(Posts).ListAddList(PostsLatest)
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ Namespace API.Reddit
|
|||||||
If Not r.IsEmptyString Then
|
If Not r.IsEmptyString Then
|
||||||
Dim lp As New ListAddParams(LAP.NotContainsOnly) With {
|
Dim lp As New ListAddParams(LAP.NotContainsOnly) With {
|
||||||
.Converter = Function(input) $"{BaseUrl}/{input}",
|
.Converter = Function(input) $"{BaseUrl}/{input}",
|
||||||
.e = New ErrorsDescriber(False, False, True, New List(Of String))}
|
.Error = New ErrorsDescriber(False, False, True, New List(Of String))}
|
||||||
Return ListAddList(Of String, List(Of String))(Nothing, DirectCast(RegexReplace(r, PlayListRegEx_2), List(Of String)), lp).ListIfNothing
|
Return ListAddList(Of String, List(Of String))(Nothing, DirectCast(RegexReplace(r, PlayListRegEx_2), List(Of String)), lp).ListIfNothing
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ Namespace API.Reddit
|
|||||||
If avg > 100 Then
|
If avg > 100 Then
|
||||||
Return MsgBoxE({"Over the past hour, Reddit has received an average of " &
|
Return MsgBoxE({"Over the past hour, Reddit has received an average of " &
|
||||||
avg.NumToString(New ANumbers With {.FormatOptions = ANumbers.Options.GroupIntegral}) & " outage reports:" & vbCr &
|
avg.NumToString(New ANumbers With {.FormatOptions = ANumbers.Options.GroupIntegral}) & " outage reports:" & vbCr &
|
||||||
dl.ListToString(, vbCr) & vbCr & vbCr &
|
dl.ListToString(vbCr) & vbCr & vbCr &
|
||||||
"Do you want to continue parsing Reddit data?", "There are outage reports on Reddit"}, vbYesNo) = vbYes
|
"Do you want to continue parsing Reddit data?", "There are outage reports on Reddit"}, vbYesNo) = vbYes
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -348,7 +348,7 @@ Namespace API.Reddit
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
tmpUrl = s.Value("url")
|
tmpUrl = s.Value("url")
|
||||||
If Not tmpUrl.IsEmptyString AndAlso tmpUrl.Contains("redgifs.com") Then
|
If Not tmpUrl.IsEmptyString AndAlso tmpUrl.StringContains({"redgifs.com", "gfycat.com"}) Then
|
||||||
If SaveToCache Then
|
If SaveToCache Then
|
||||||
tmpUrl = s.Value({"media", "oembed"}, "thumbnail_url")
|
tmpUrl = s.Value({"media", "oembed"}, "thumbnail_url")
|
||||||
If Not tmpUrl.IsEmptyString Then
|
If Not tmpUrl.IsEmptyString Then
|
||||||
@@ -423,6 +423,8 @@ Namespace API.Reddit
|
|||||||
_TempMediaList.ListAddValue(MediaFromData(UTypes.Video, _URL.Replace(".gifv", ".mp4"),
|
_TempMediaList.ListAddValue(MediaFromData(UTypes.Video, _URL.Replace(".gifv", ".mp4"),
|
||||||
PostID, PostDate, _UserID, IsChannel), LNC)
|
PostID, PostDate, _UserID, IsChannel), LNC)
|
||||||
End If
|
End If
|
||||||
|
ElseIf _URL.Contains(".mp4") Then
|
||||||
|
_TempMediaList.ListAddValue(MediaFromData(UTypes.Video, _URL, PostID, PostDate, _UserID, IsChannel), LNC)
|
||||||
ElseIf _URL.Contains(".gif") Then
|
ElseIf _URL.Contains(".gif") Then
|
||||||
_TempMediaList.ListAddValue(MediaFromData(UTypes.GIF, _URL, PostID, PostDate, _UserID, IsChannel), LNC)
|
_TempMediaList.ListAddValue(MediaFromData(UTypes.GIF, _URL, PostID, PostDate, _UserID, IsChannel), LNC)
|
||||||
Else
|
Else
|
||||||
@@ -700,6 +702,7 @@ Namespace API.Reddit
|
|||||||
End Using
|
End Using
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
Catch iex As IndexOutOfRangeException When Disposed
|
||||||
Catch oex As OperationCanceledException When Token.IsCancellationRequested
|
Catch oex As OperationCanceledException When Token.IsCancellationRequested
|
||||||
Catch dex As ObjectDisposedException When Disposed
|
Catch dex As ObjectDisposedException When Disposed
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Imports PersonalUtilities.Tools
|
|||||||
Imports PersonalUtilities.Functions.RegularExpressions
|
Imports PersonalUtilities.Functions.RegularExpressions
|
||||||
Imports SCrawler.API.Base
|
Imports SCrawler.API.Base
|
||||||
Namespace API.Twitter
|
Namespace API.Twitter
|
||||||
<Manifest("AndyProgram_Twitter"), UseClassAsIs>
|
<Manifest("AndyProgram_Twitter"), SavedPosts, UseClassAsIs>
|
||||||
Friend Class SiteSettings : Inherits SiteSettingsBase
|
Friend Class SiteSettings : Inherits SiteSettingsBase
|
||||||
Friend Const Header_Authorization As String = "authorization"
|
Friend Const Header_Authorization As String = "authorization"
|
||||||
Friend Const Header_Token As String = "x-csrf-token"
|
Friend Const Header_Token As String = "x-csrf-token"
|
||||||
@@ -31,6 +31,8 @@ Namespace API.Twitter
|
|||||||
Private ReadOnly Property Auth As PropertyValue
|
Private ReadOnly Property Auth As PropertyValue
|
||||||
<PropertyOption(AllowNull:=False, ControlText:="Token", ControlToolTip:="Set token from [x-csrf-token] response header")>
|
<PropertyOption(AllowNull:=False, ControlText:="Token", ControlToolTip:="Set token from [x-csrf-token] response header")>
|
||||||
Private ReadOnly Property Token As PropertyValue
|
Private ReadOnly Property Token As PropertyValue
|
||||||
|
<PropertyOption(ControlText:="Saved posts user name", ControlToolTip:="Personal profile username", LeftOffset:=120), PXML>
|
||||||
|
Friend ReadOnly Property SavedPostsUserName As PropertyValue
|
||||||
Friend Overrides ReadOnly Property Responser As WEB.Response
|
Friend Overrides ReadOnly Property Responser As WEB.Response
|
||||||
Friend Sub New()
|
Friend Sub New()
|
||||||
MyBase.New(TwitterSite)
|
MyBase.New(TwitterSite)
|
||||||
@@ -70,6 +72,7 @@ Namespace API.Twitter
|
|||||||
|
|
||||||
Auth = New PropertyValue(a, GetType(String), Sub(v) ChangeResponserFields(NameOf(Auth), v))
|
Auth = New PropertyValue(a, GetType(String), Sub(v) ChangeResponserFields(NameOf(Auth), v))
|
||||||
Token = New PropertyValue(t, GetType(String), Sub(v) ChangeResponserFields(NameOf(Token), v))
|
Token = New PropertyValue(t, GetType(String), Sub(v) ChangeResponserFields(NameOf(Token), v))
|
||||||
|
SavedPostsUserName = New PropertyValue(String.Empty, GetType(String))
|
||||||
|
|
||||||
UserRegex = RParams.DMS("[htps:/]{7,8}.*?twitter.com/([^/]+)", 1)
|
UserRegex = RParams.DMS("[htps:/]{7,8}.*?twitter.com/([^/]+)", 1)
|
||||||
UrlPatternUser = "https://twitter.com/{0}"
|
UrlPatternUser = "https://twitter.com/{0}"
|
||||||
@@ -90,7 +93,11 @@ Namespace API.Twitter
|
|||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
Friend Overrides Function GetInstance(ByVal What As ISiteSettings.Download) As IPluginContentProvider
|
Friend Overrides Function GetInstance(ByVal What As ISiteSettings.Download) As IPluginContentProvider
|
||||||
Return New UserData
|
If What = ISiteSettings.Download.SavedPosts Then
|
||||||
|
Return New UserData With {.IsSavedPosts = True, .User = New UserInfo With {.Name = CStr(AConvert(Of String)(SavedPostsUserName.Value, String.Empty))}}
|
||||||
|
Else
|
||||||
|
Return New UserData
|
||||||
|
End If
|
||||||
End Function
|
End Function
|
||||||
Friend Overrides Function GetSpecialDataF(ByVal URL As String) As IEnumerable(Of UserMedia)
|
Friend Overrides Function GetSpecialDataF(ByVal URL As String) As IEnumerable(Of UserMedia)
|
||||||
Return UserData.GetVideoInfo(URL, Responser)
|
Return UserData.GetVideoInfo(URL, Responser)
|
||||||
|
|||||||
@@ -27,12 +27,19 @@ Namespace API.Twitter
|
|||||||
End Sub
|
End Sub
|
||||||
#Region "Download functions"
|
#Region "Download functions"
|
||||||
Protected Overrides Sub DownloadDataF(ByVal Token As CancellationToken)
|
Protected Overrides Sub DownloadDataF(ByVal Token As CancellationToken)
|
||||||
If _ContentList.Count > 0 Then _DataNames.ListAddList(_ContentList.Select(Function(c) c.File.File), LAP.ClearBeforeAdd, LAP.NotContainsOnly)
|
If IsSavedPosts Then
|
||||||
DownloadData(String.Empty, Token)
|
If _ContentList.Count > 0 Then _DataNames.ListAddList(_ContentList.Select(Function(c) c.Post.ID), LAP.ClearBeforeAdd, LAP.NotContainsOnly)
|
||||||
|
DownloadData(String.Empty, Token)
|
||||||
|
Else
|
||||||
|
If _ContentList.Count > 0 Then _DataNames.ListAddList(_ContentList.Select(Function(c) c.File.File), LAP.ClearBeforeAdd, LAP.NotContainsOnly)
|
||||||
|
DownloadData(String.Empty, Token)
|
||||||
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
Private Overloads Sub DownloadData(ByVal POST As String, ByVal Token As CancellationToken)
|
Private Overloads Sub DownloadData(ByVal POST As String, ByVal Token As CancellationToken)
|
||||||
Dim URL$ = String.Empty
|
Dim URL$ = String.Empty
|
||||||
Try
|
Try
|
||||||
|
Dim NextCursor$ = String.Empty
|
||||||
|
Dim __NextCursor As Predicate(Of EContainer) = Function(e) e.Value({"content", "operation", "cursor"}, "cursorType") = "Bottom"
|
||||||
Dim PostID$ = String.Empty
|
Dim PostID$ = String.Empty
|
||||||
Dim PostDate$, dName$
|
Dim PostDate$, dName$
|
||||||
Dim m As EContainer, nn As EContainer, s As EContainer
|
Dim m As EContainer, nn As EContainer, s As EContainer
|
||||||
@@ -42,24 +49,37 @@ Namespace API.Twitter
|
|||||||
Dim PicNode As Predicate(Of EContainer) = Function(e) e.Count > 0 AndAlso e.Contains("media_url")
|
Dim PicNode As Predicate(Of EContainer) = Function(e) e.Count > 0 AndAlso e.Contains("media_url")
|
||||||
Dim UID As Func(Of EContainer, String) = Function(e) e.XmlIfNothing.Item({"user", "id"}).XmlIfNothingValue
|
Dim UID As Func(Of EContainer, String) = Function(e) e.XmlIfNothing.Item({"user", "id"}).XmlIfNothingValue
|
||||||
|
|
||||||
URL = $"https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name={Name}&count=200&exclude_replies=false&include_rts=1&tweet_mode=extended"
|
If IsSavedPosts Then
|
||||||
If Not POST.IsEmptyString Then URL &= $"&max_id={POST}"
|
If Name.IsEmptyString Then Throw New ArgumentNullException With {.HelpLink = 1}
|
||||||
|
URL = $"https://api.twitter.com/2/timeline/bookmark.json?screen_name={Name}&count=200" &
|
||||||
|
"&tweet_mode=extended&include_entities=true&include_user_entities=true&include_ext_media_availability=true"
|
||||||
|
If Not POST.IsEmptyString Then URL &= $"&cursor={SymbolsConverter.ASCII.EncodeSymbolsOnly(POST)}"
|
||||||
|
Else
|
||||||
|
URL = $"https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name={Name}&count=200&exclude_replies=false&include_rts=1&tweet_mode=extended"
|
||||||
|
If Not POST.IsEmptyString Then URL &= $"&max_id={POST}"
|
||||||
|
End If
|
||||||
|
|
||||||
ThrowAny(Token)
|
ThrowAny(Token)
|
||||||
Dim r$ = Responser.GetResponse(URL,, EDP.ThrowException)
|
Dim r$ = Responser.GetResponse(URL,, EDP.ThrowException)
|
||||||
If Not r.IsEmptyString Then
|
If Not r.IsEmptyString Then
|
||||||
Using w As EContainer = JsonDocument.Parse(r)
|
Using w As EContainer = JsonDocument.Parse(r)
|
||||||
If Not w Is Nothing AndAlso w.Count > 0 Then
|
If Not w Is Nothing AndAlso w.Count > 0 Then
|
||||||
For Each nn In w
|
For Each nn In If(IsSavedPosts, w({"globalObjects", "tweets"}).XmlIfNothing, w)
|
||||||
ThrowAny(Token)
|
ThrowAny(Token)
|
||||||
If nn.Count > 0 Then
|
If nn.Count > 0 Then
|
||||||
PostID = nn.Value("id")
|
If IsSavedPosts Then
|
||||||
If ID.IsEmptyString Then
|
PostID = nn.Value
|
||||||
ID = UID(nn)
|
If PostID.IsEmptyString Then PostID = nn.Value("id_str")
|
||||||
If Not ID.IsEmptyString Then UpdateUserInformation()
|
Else
|
||||||
|
PostID = nn.Value("id")
|
||||||
|
If ID.IsEmptyString Then
|
||||||
|
ID = UID(nn)
|
||||||
|
If Not ID.IsEmptyString Then UpdateUserInformation()
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If UserDescriptionNeedToUpdate() AndAlso nn.Value({"user"}, "screen_name") = Name Then UserDescriptionUpdate(nn.Value({"user"}, "description"))
|
If Not IsSavedPosts AndAlso UserDescriptionNeedToUpdate() AndAlso nn.Value({"user"}, "screen_name") = Name Then _
|
||||||
|
UserDescriptionUpdate(nn.Value({"user"}, "description"))
|
||||||
|
|
||||||
'Date Pattern:
|
'Date Pattern:
|
||||||
'Sat Jan 01 01:10:15 +0000 2000
|
'Sat Jan 01 01:10:15 +0000 2000
|
||||||
@@ -74,8 +94,8 @@ Namespace API.Twitter
|
|||||||
Continue For
|
Continue For
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Not ParseUserMediaOnly OrElse (Not nn.Contains("retweeted_status") OrElse
|
If IsSavedPosts OrElse Not ParseUserMediaOnly OrElse (Not nn.Contains("retweeted_status") OrElse
|
||||||
(Not ID.IsEmptyString AndAlso UID(nn("retweeted_status")) = ID)) Then
|
(Not ID.IsEmptyString AndAlso UID(nn("retweeted_status")) = ID)) Then
|
||||||
If Not CheckVideoNode(nn, PostID, PostDate) Then
|
If Not CheckVideoNode(nn, PostID, PostDate) Then
|
||||||
s = nn.ItemF({"extended_entities", "media"})
|
s = nn.ItemF({"extended_entities", "media"})
|
||||||
If s Is Nothing OrElse s.Count = 0 Then s = nn.ItemF({"retweeted_status", "extended_entities", "media"})
|
If s Is Nothing OrElse s.Count = 0 Then s = nn.ItemF({"retweeted_status", "extended_entities", "media"})
|
||||||
@@ -95,13 +115,25 @@ Namespace API.Twitter
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
If IsSavedPosts Then
|
||||||
|
s = w.ItemF({"timeline", "instructions", 0, "addEntries", "entries"}).XmlIfNothing
|
||||||
|
If s.Count > 0 Then NextCursor = If(s.ItemF({__NextCursor})?.Value({"content", "operation", "cursor"}, "value"), String.Empty)
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
End Using
|
End Using
|
||||||
If POST.IsEmptyString And ExistsDetected Then Exit Sub
|
|
||||||
If Not PostID.IsEmptyString And NewPostDetected Then DownloadData(PostID, Token)
|
If IsSavedPosts Then
|
||||||
|
If Not NextCursor.IsEmptyString And Not NextCursor = POST Then DownloadData(NextCursor, Token)
|
||||||
|
Else
|
||||||
|
If POST.IsEmptyString And ExistsDetected Then Exit Sub
|
||||||
|
If Not PostID.IsEmptyString And NewPostDetected Then DownloadData(PostID, Token)
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
Catch ane As ArgumentNullException When ane.HelpLink = 1
|
||||||
|
MyMainLOG = "Username not set for saved Twitter posts"
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
ProcessException(ex, Token, $"data downloading error [{URL}]")
|
ProcessException(ex, Token, $"data downloading error{IIf(IsSavedPosts, " (Saved Posts)", String.Empty)} [{URL}]")
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
Friend Shared Function GetVideoInfo(ByVal URL As String, ByVal resp As Response) As IEnumerable(Of UserMedia)
|
Friend Shared Function GetVideoInfo(ByVal URL As String, ByVal resp As Response) As IEnumerable(Of UserMedia)
|
||||||
@@ -128,20 +160,34 @@ Namespace API.Twitter
|
|||||||
End Function
|
End Function
|
||||||
#Region "Picture options"
|
#Region "Picture options"
|
||||||
Private Function GetPictureOption(ByVal w As EContainer) As String
|
Private Function GetPictureOption(ByVal w As EContainer) As String
|
||||||
|
Const P4K As String = "4096x4096"
|
||||||
Try
|
Try
|
||||||
Dim ww As EContainer = w("sizes")
|
Dim ww As EContainer = w("sizes")
|
||||||
If Not ww Is Nothing AndAlso ww.Count > 0 Then
|
If Not ww Is Nothing AndAlso ww.Count > 0 Then
|
||||||
Dim l As New List(Of Sizes)
|
Dim l As New List(Of Sizes)
|
||||||
|
Dim Orig As Sizes? = New Sizes(w.Value({"original_info"}, "height").FromXML(Of Integer)(-1), P4K)
|
||||||
|
If Orig.Value.Value = -1 Then Orig = Nothing
|
||||||
Dim LargeContained As Boolean = ww.Contains("large")
|
Dim LargeContained As Boolean = ww.Contains("large")
|
||||||
For Each v As EContainer In ww
|
For Each v As EContainer In ww
|
||||||
If v.Count > 0 AndAlso v.Contains("h") Then l.Add(New Sizes(v.Value("h"), v.Name))
|
If v.Count > 0 AndAlso v.Contains("h") Then l.Add(New Sizes(v.Value("h"), v.Name))
|
||||||
Next
|
Next
|
||||||
If l.Count > 0 Then
|
If l.Count > 0 Then
|
||||||
l.Sort()
|
l.Sort()
|
||||||
If l(0).Data.IsEmptyString And LargeContained Then Return "large" Else Return l(0).Data
|
If Orig.HasValue AndAlso l(0).Value < Orig.Value.Value Then
|
||||||
|
Return P4K
|
||||||
|
ElseIf l(0).Data.IsEmptyString Then
|
||||||
|
If LargeContained Then Return "large" Else Return P4K
|
||||||
|
Else
|
||||||
|
Return l(0).Data
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Return P4K
|
||||||
End If
|
End If
|
||||||
|
ElseIf Not w.Value({"original_info"}, "height").IsEmptyString Then
|
||||||
|
Return P4K
|
||||||
|
Else
|
||||||
|
Return String.Empty
|
||||||
End If
|
End If
|
||||||
Return String.Empty
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
LogError(ex, "[API.Twitter.UserData.GetPictureOption]")
|
LogError(ex, "[API.Twitter.UserData.GetPictureOption]")
|
||||||
Return String.Empty
|
Return String.Empty
|
||||||
|
|||||||
@@ -284,7 +284,7 @@ Friend Class ChannelViewForm : Implements IChannelLimits
|
|||||||
Private Sub AppendPendingUsers()
|
Private Sub AppendPendingUsers()
|
||||||
If LIST_POSTS.CheckedIndices.Count > 0 Then
|
If LIST_POSTS.CheckedIndices.Count > 0 Then
|
||||||
Dim c As Channel = GetCurrentChannel(False)
|
Dim c As Channel = GetCurrentChannel(False)
|
||||||
Dim lp As New ListAddParams(LAP.NotContainsOnly) With {.OnAddAction = Sub(ByVal u As PendingUser) u.ChannelUserAdded()}
|
Dim lp As New ListAddParams(LAP.NotContainsOnly) With {.OnProcessAction = Sub(ByVal u As PendingUser) u.ChannelUserAdded()}
|
||||||
PendingUsers.ListAddList((From p As ListViewItem In LIST_POSTS.Items
|
PendingUsers.ListAddList((From p As ListViewItem In LIST_POSTS.Items
|
||||||
Where p.Checked
|
Where p.Checked
|
||||||
Select New PendingUser(p.Text, c, GetPostBySelected(CStr(p.Tag)).CachedFile)), lp)
|
Select New PendingUser(p.Text, c, GetPostBySelected(CStr(p.Tag)).CachedFile)), lp)
|
||||||
|
|||||||
@@ -57,9 +57,9 @@ Friend Class ChannelsStatsForm : Implements IOkCancelDeleteToolbar
|
|||||||
Try
|
Try
|
||||||
Dim c As List(Of String) = CMB_CHANNELS.Items.CheckedItems.Select(Function(cc) CStr(cc.Value(1))).ListIfNothing
|
Dim c As List(Of String) = CMB_CHANNELS.Items.CheckedItems.Select(Function(cc) CStr(cc.Value(1))).ListIfNothing
|
||||||
If c.ListExists Then
|
If c.ListExists Then
|
||||||
If MsgBoxE({$"The following channels will be deleted:{vbCr}{c.ListToString(, vbCr)}", "Deleting channels"}, vbExclamation,,, {"Confirm", "Cancel"}) = 0 Then
|
If MsgBoxE({$"The following channels will be deleted:{vbCr}{c.ListToString(vbCr)}", "Deleting channels"}, vbExclamation,,, {"Confirm", "Cancel"}) = 0 Then
|
||||||
For Each CID$ In c : Settings.Channels.Remove(Settings.Channels.Find(CID)) : Next
|
For Each CID$ In c : Settings.Channels.Remove(Settings.Channels.Find(CID)) : Next
|
||||||
MyMainLOG = $"Deleted channels:{vbNewLine}{c.ListToString(, vbNewLine)}"
|
MyMainLOG = $"Deleted channels:{vbNewLine}{c.ListToString(vbNewLine)}"
|
||||||
MsgBoxE("Channels deleted")
|
MsgBoxE("Channels deleted")
|
||||||
DeletedChannels += c.Count
|
DeletedChannels += c.Count
|
||||||
c.Clear()
|
c.Clear()
|
||||||
|
|||||||
BIN
SCrawler/Content/Icons/GroupBy_284.ico
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
@@ -12,7 +12,12 @@ Namespace DownloadObjects
|
|||||||
Friend Class ActiveDownloadingProgress
|
Friend Class ActiveDownloadingProgress
|
||||||
Private Const MinWidth As Integer = 450
|
Private Const MinWidth As Integer = 450
|
||||||
Private MyView As FormsView
|
Private MyView As FormsView
|
||||||
Friend Property Opened As Boolean = False
|
Private Opened As Boolean = False
|
||||||
|
Friend ReadOnly Property ReadyToOpen As Boolean
|
||||||
|
Get
|
||||||
|
Return Settings.DownloadOpenProgress And (Not Opened Or Settings.DownloadOpenProgress.Attribute) And Not Visible
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
Private ReadOnly JobsList As List(Of DownloadProgress)
|
Private ReadOnly JobsList As List(Of DownloadProgress)
|
||||||
Friend Property DisableProgressChange As Boolean = False
|
Friend Property DisableProgressChange As Boolean = False
|
||||||
Friend Sub New()
|
Friend Sub New()
|
||||||
|
|||||||
@@ -13,7 +13,13 @@ Namespace DownloadObjects
|
|||||||
Friend Class DownloadedInfoForm
|
Friend Class DownloadedInfoForm
|
||||||
Friend Event OnUserLooking(ByVal Key As String)
|
Friend Event OnUserLooking(ByVal Key As String)
|
||||||
Private MyView As FormsView
|
Private MyView As FormsView
|
||||||
Private ReadOnly LParams As New ListAddParams(LAP.IgnoreICopier) With {.e = EDP.None}
|
Private ReadOnly LParams As New ListAddParams(LAP.IgnoreICopier) With {.Error = EDP.None}
|
||||||
|
Private Opened As Boolean = False
|
||||||
|
Friend ReadOnly Property ReadyToOpen As Boolean
|
||||||
|
Get
|
||||||
|
Return Settings.DownloadOpenInfo And (Not Opened Or Settings.DownloadOpenInfo.Attribute) And Not Visible
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
Friend Enum ViewModes As Integer
|
Friend Enum ViewModes As Integer
|
||||||
Session = 0
|
Session = 0
|
||||||
All = 1
|
All = 1
|
||||||
@@ -50,6 +56,8 @@ Namespace DownloadObjects
|
|||||||
BTT_CLEAR.Visible = ViewMode = ViewModes.Session
|
BTT_CLEAR.Visible = ViewMode = ViewModes.Session
|
||||||
RefillList()
|
RefillList()
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
|
Finally
|
||||||
|
Opened = True
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub DownloadedInfoForm_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
|
Private Sub DownloadedInfoForm_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
|
||||||
|
|||||||
211
SCrawler/Download/Groups/DownloadGroup.vb
Normal file
@@ -0,0 +1,211 @@
|
|||||||
|
' Copyright (C) 2022 Andy
|
||||||
|
' This program is free software: you can redistribute it and/or modify
|
||||||
|
' it under the terms of the GNU General Public License as published by
|
||||||
|
' the Free Software Foundation, either version 3 of the License, or
|
||||||
|
' (at your option) any later version.
|
||||||
|
'
|
||||||
|
' This program is distributed in the hope that it will be useful,
|
||||||
|
' but WITHOUT ANY WARRANTY
|
||||||
|
Imports PersonalUtilities.Functions.XML
|
||||||
|
Imports PersonalUtilities.Functions.XML.Base
|
||||||
|
Imports SCrawler.API
|
||||||
|
Imports SCrawler.API.Base
|
||||||
|
Namespace DownloadObjects.Groups
|
||||||
|
Friend Class DownloadGroup : Implements IIndexable, IEContainerProvider, IDisposable
|
||||||
|
Friend Delegate Sub GroupEventHandler(ByVal Sender As DownloadGroup)
|
||||||
|
Friend Event Deleted As GroupEventHandler
|
||||||
|
Friend Event Updated As GroupEventHandler
|
||||||
|
#Region "XML Names"
|
||||||
|
Private Const Name_Name As String = "Name"
|
||||||
|
Private Const Name_Temporary As String = "Temporary"
|
||||||
|
Private Const Name_Favorite As String = "Favorite"
|
||||||
|
Private Const Name_ReadyForDownload As String = "RFD"
|
||||||
|
Private Const Name_ReadyForDownloadIgnore As String = "RFDI"
|
||||||
|
#End Region
|
||||||
|
Private WithEvents BTT_EDIT As ToolStripMenuItem
|
||||||
|
Private WithEvents BTT_DELETE As ToolStripMenuItem
|
||||||
|
Private WithEvents BTT_DOWNLOAD As ToolStripMenuItem
|
||||||
|
Private WithEvents BTT_DOWNLOAD_FULL As ToolStripMenuItem
|
||||||
|
Private ReadOnly SEP_1 As ToolStripSeparator
|
||||||
|
Private WithEvents BTT_MENU As ToolStripMenuItem
|
||||||
|
Friend Property Temporary As CheckState = CheckState.Indeterminate
|
||||||
|
Friend Property Favorite As CheckState = CheckState.Indeterminate
|
||||||
|
Friend Property ReadyForDownload As Boolean = True
|
||||||
|
Friend Property ReadyForDownloadIgnore As Boolean = False
|
||||||
|
Friend Property Name As String
|
||||||
|
Private _Key As String = String.Empty
|
||||||
|
Friend ReadOnly Property Key As String
|
||||||
|
Get
|
||||||
|
If _Key.IsEmptyString Then _Key = $"{Name}{Index}"
|
||||||
|
Return _Key
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Private _Index As Integer = 0
|
||||||
|
Friend Property Index As Integer Implements IIndexable.Index
|
||||||
|
Get
|
||||||
|
Return _Index
|
||||||
|
End Get
|
||||||
|
Set(ByVal NewIndex As Integer)
|
||||||
|
Dim b As Boolean = Not _Index = NewIndex
|
||||||
|
_Index = NewIndex
|
||||||
|
If b Then RaiseEvent Updated(Me)
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
Friend ReadOnly Property Labels As List(Of String)
|
||||||
|
Friend ReadOnly Property Count As Integer
|
||||||
|
Get
|
||||||
|
Return Labels.Count
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Friend Sub New()
|
||||||
|
Labels = New List(Of String)
|
||||||
|
BTT_MENU = New ToolStripMenuItem With {
|
||||||
|
.ToolTipText = "Download users of this group",
|
||||||
|
.AutoToolTip = True,
|
||||||
|
.Image = My.Resources.GroupBy_284.ToBitmap
|
||||||
|
}
|
||||||
|
BTT_DELETE = New ToolStripMenuItem With {
|
||||||
|
.Image = PersonalUtilities.My.Resources.DeletePic_02_Red_24,
|
||||||
|
.BackColor = ColorBttDeleteBack,
|
||||||
|
.ForeColor = ColorBttDeleteFore,
|
||||||
|
.Text = "Delete",
|
||||||
|
.ToolTipText = String.Empty,
|
||||||
|
.AutoToolTip = False
|
||||||
|
}
|
||||||
|
BTT_EDIT = New ToolStripMenuItem With {
|
||||||
|
.Image = PersonalUtilities.My.Resources.PencilPic_01_48,
|
||||||
|
.BackColor = ColorBttEditBack,
|
||||||
|
.ForeColor = ColorBttEditFore,
|
||||||
|
.Text = "Edit",
|
||||||
|
.ToolTipText = String.Empty,
|
||||||
|
.AutoToolTip = False
|
||||||
|
}
|
||||||
|
SEP_1 = New ToolStripSeparator
|
||||||
|
BTT_DOWNLOAD = New ToolStripMenuItem With {
|
||||||
|
.Image = My.Resources.StartPic_01_Green_16,
|
||||||
|
.Text = "Download",
|
||||||
|
.ToolTipText = "Download users of this group (respect the 'Ready for download' parameter)",
|
||||||
|
.AutoToolTip = True
|
||||||
|
}
|
||||||
|
BTT_DOWNLOAD_FULL = New ToolStripMenuItem With {
|
||||||
|
.Image = My.Resources.StartPic_01_Green_16,
|
||||||
|
.Text = "Download FULL",
|
||||||
|
.ToolTipText = "Download users of this group (ignore the 'Ready for download' parameter)",
|
||||||
|
.AutoToolTip = True
|
||||||
|
}
|
||||||
|
BTT_MENU.DropDownItems.AddRange({BTT_EDIT, BTT_DELETE, SEP_1, BTT_DOWNLOAD, BTT_DOWNLOAD_FULL})
|
||||||
|
End Sub
|
||||||
|
Friend Sub New(ByVal e As EContainer)
|
||||||
|
Me.New
|
||||||
|
Name = e.Attribute(Name_Name)
|
||||||
|
Temporary = e.Attribute(Name_Temporary).Value.FromXML(Of Integer)(CInt(CheckState.Indeterminate))
|
||||||
|
Favorite = e.Attribute(Name_Favorite).Value.FromXML(Of Integer)(CInt(CheckState.Indeterminate))
|
||||||
|
ReadyForDownload = e.Attribute(Name_ReadyForDownload).Value.FromXML(Of Boolean)(True)
|
||||||
|
ReadyForDownloadIgnore = e.Attribute(Name_ReadyForDownloadIgnore).Value.FromXML(Of Boolean)(False)
|
||||||
|
If Not e.Value.IsEmptyString Then Labels.ListAddList(e.Value.Split("|"), LAP.NotContainsOnly)
|
||||||
|
End Sub
|
||||||
|
Public Overrides Function ToString() As String
|
||||||
|
Return $"{IIf(Index >= 0 And Index <= 8, $"#{Index + 1}: ", String.Empty)}{Name}"
|
||||||
|
End Function
|
||||||
|
Private _ControlSent As Boolean = False
|
||||||
|
Friend Function GetControl() As ToolStripMenuItem
|
||||||
|
If Not _ControlSent Then
|
||||||
|
BTT_MENU.Text = ToString()
|
||||||
|
BTT_MENU.Tag = Key
|
||||||
|
_ControlSent = True
|
||||||
|
End If
|
||||||
|
Return BTT_MENU
|
||||||
|
End Function
|
||||||
|
Private Function SetIndex(ByVal Obj As Object, ByVal _Index As Integer) As Object Implements IIndexable.SetIndex
|
||||||
|
DirectCast(Obj, DownloadGroup).Index = _Index
|
||||||
|
Return Obj
|
||||||
|
End Function
|
||||||
|
#Region "Buttons"
|
||||||
|
Private Sub BTT_MENU_Click(sender As Object, e As EventArgs) Handles BTT_MENU.Click
|
||||||
|
DownloadUsers(True)
|
||||||
|
End Sub
|
||||||
|
Private Sub BTT_EDIT_Click(sender As Object, e As EventArgs) Handles BTT_EDIT.Click
|
||||||
|
Using f As New GroupEditorForm(Me)
|
||||||
|
f.ShowDialog()
|
||||||
|
If f.DialogResult = DialogResult.OK Then RaiseEvent Updated(Me)
|
||||||
|
End Using
|
||||||
|
End Sub
|
||||||
|
Private Sub BTT_DELETE_Click(sender As Object, e As EventArgs) Handles BTT_DELETE.Click
|
||||||
|
If MsgBoxE({$"Are you sure you want to delete the [{Name}] group?", "Deleting a group"}, vbExclamation + vbYesNo) = vbYes Then
|
||||||
|
RaiseEvent Deleted(Me)
|
||||||
|
MsgBoxE({$"Group [{Name}] deleted", "Deleting a group"})
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
Private Sub BTT_DOWNLOAD_Click(sender As Object, e As EventArgs) Handles BTT_DOWNLOAD.Click
|
||||||
|
DownloadUsers(True)
|
||||||
|
End Sub
|
||||||
|
Private Sub BTT_DOWNLOAD_FULL_Click(sender As Object, e As EventArgs) Handles BTT_DOWNLOAD_FULL.Click
|
||||||
|
DownloadUsers(False)
|
||||||
|
End Sub
|
||||||
|
Friend Sub DownloadUsers(ByVal UseReadyOption As Boolean)
|
||||||
|
Try
|
||||||
|
If Settings.Users.Count > 0 Then
|
||||||
|
Dim CheckParams As Predicate(Of IUserData) = Function(user) _
|
||||||
|
(Temporary = CheckState.Indeterminate Or user.Temporary = CBool(Temporary)) And
|
||||||
|
(Favorite = CheckState.Indeterminate Or (user.Favorite = CBool(Favorite))) And
|
||||||
|
(Not UseReadyOption Or ReadyForDownloadIgnore Or user.ReadyForDownload = ReadyForDownload)
|
||||||
|
Dim f As Func(Of IUserData, IEnumerable(Of IUserData)) = Function(ByVal user As IUserData) As IEnumerable(Of IUserData)
|
||||||
|
If user.IsCollection Then
|
||||||
|
With DirectCast(user, UserDataBind)
|
||||||
|
If Count > 0 Then Return .Collections.SelectMany(f)
|
||||||
|
End With
|
||||||
|
Else
|
||||||
|
If Labels.Count = 0 OrElse user.Labels.ListContains(Labels) Then
|
||||||
|
If CheckParams.Invoke(user) Then Return {user}
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Return New IUserData() {}
|
||||||
|
End Function
|
||||||
|
Dim u As IEnumerable(Of IUserData) = Settings.Users.SelectMany(f)
|
||||||
|
If u.ListExists Then
|
||||||
|
Downloader.AddRange(u)
|
||||||
|
Else
|
||||||
|
MsgBoxE({$"No users found for group [{Name}].", "No users found"}, vbExclamation)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Catch ex As Exception
|
||||||
|
ErrorsDescriber.Execute(EDP.SendInLog, ex, "[DownloadGroup.DownloadUsers]")
|
||||||
|
End Try
|
||||||
|
End Sub
|
||||||
|
#End Region
|
||||||
|
#Region "IEContainerProvider Support"
|
||||||
|
Public Function ToEContainer(Optional ByVal e As ErrorsDescriber = Nothing) As EContainer Implements IEContainerProvider.ToEContainer
|
||||||
|
Return New EContainer("Group", Labels.ListToString("|"), {New EAttribute(Name_Name, Name),
|
||||||
|
New EAttribute(Name_Temporary, CInt(Temporary)),
|
||||||
|
New EAttribute(Name_Favorite, CInt(Favorite)),
|
||||||
|
New EAttribute(Name_ReadyForDownload, ReadyForDownload.BoolToInteger),
|
||||||
|
New EAttribute(Name_ReadyForDownloadIgnore, ReadyForDownloadIgnore.BoolToInteger)})
|
||||||
|
End Function
|
||||||
|
#End Region
|
||||||
|
#Region "IDisposable Support"
|
||||||
|
Private disposedValue As Boolean = False
|
||||||
|
Protected Overridable Overloads Sub Dispose(ByVal disposing As Boolean)
|
||||||
|
If Not disposedValue Then
|
||||||
|
If disposing Then
|
||||||
|
Labels.Clear()
|
||||||
|
BTT_DELETE.Dispose()
|
||||||
|
BTT_EDIT.Dispose()
|
||||||
|
BTT_MENU.Dispose()
|
||||||
|
SEP_1.Dispose()
|
||||||
|
BTT_DOWNLOAD.Dispose()
|
||||||
|
BTT_DOWNLOAD_FULL.Dispose()
|
||||||
|
End If
|
||||||
|
disposedValue = True
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
Protected Overrides Sub Finalize()
|
||||||
|
Dispose(False)
|
||||||
|
MyBase.Finalize()
|
||||||
|
End Sub
|
||||||
|
Friend Overloads Sub Dispose() Implements IDisposable.Dispose
|
||||||
|
Dispose(True)
|
||||||
|
GC.SuppressFinalize(Me)
|
||||||
|
End Sub
|
||||||
|
#End Region
|
||||||
|
End Class
|
||||||
|
End Namespace
|
||||||
90
SCrawler/Download/Groups/DownloadGroupCollection.vb
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
' Copyright (C) 2022 Andy
|
||||||
|
' This program is free software: you can redistribute it and/or modify
|
||||||
|
' it under the terms of the GNU General Public License as published by
|
||||||
|
' the Free Software Foundation, either version 3 of the License, or
|
||||||
|
' (at your option) any later version.
|
||||||
|
'
|
||||||
|
' This program is distributed in the hope that it will be useful,
|
||||||
|
' but WITHOUT ANY WARRANTY
|
||||||
|
Imports PersonalUtilities.Functions.XML
|
||||||
|
Imports PersonalUtilities.Tools
|
||||||
|
Namespace DownloadObjects.Groups
|
||||||
|
Friend Class DownloadGroupCollection : Implements IEnumerable(Of DownloadGroup), IMyEnumerator(Of DownloadGroup)
|
||||||
|
Friend Event Deleted As DownloadGroup.GroupEventHandler
|
||||||
|
Friend Event Added As DownloadGroup.GroupEventHandler
|
||||||
|
Friend Event Updated As DownloadGroup.GroupEventHandler
|
||||||
|
Private ReadOnly GroupsList As List(Of DownloadGroup)
|
||||||
|
Private ReadOnly GroupFile As SFile = "Settings\Groups.xml"
|
||||||
|
Friend Sub New()
|
||||||
|
GroupsList = New List(Of DownloadGroup)
|
||||||
|
If GroupFile.Exists Then
|
||||||
|
Using x As New XmlFile(GroupFile,, False) With {.XmlReadOnly = True, .AllowSameNames = True}
|
||||||
|
x.LoadData()
|
||||||
|
If x.Count > 0 Then GroupsList.ListAddList(x, LAP.IgnoreICopier)
|
||||||
|
End Using
|
||||||
|
If GroupsList.Count > 0 Then GroupsList.ForEach(Sub(ByVal g As DownloadGroup)
|
||||||
|
AddHandler g.Deleted, AddressOf OnGroupDeleted
|
||||||
|
AddHandler g.Updated, AddressOf OnGroupUpdated
|
||||||
|
End Sub)
|
||||||
|
End If
|
||||||
|
GroupsList.ListReindex
|
||||||
|
End Sub
|
||||||
|
Friend Function GetLabels() As List(Of String)
|
||||||
|
Return ListAddList(Nothing, GroupsList.SelectMany(Function(g) g.Labels), LAP.NotContainsOnly)
|
||||||
|
End Function
|
||||||
|
Default Friend ReadOnly Property Item(ByVal Index As Integer) As DownloadGroup Implements IMyEnumerator(Of DownloadGroup).MyEnumeratorObject
|
||||||
|
Get
|
||||||
|
Return GroupsList(Index)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Friend ReadOnly Property Count As Integer Implements IMyEnumerator(Of DownloadGroup).MyEnumeratorCount
|
||||||
|
Get
|
||||||
|
Return GroupsList.Count
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Friend Sub Update()
|
||||||
|
If Count > 0 Then
|
||||||
|
Using x As New XmlFile With {.Name = "Groups", .AllowSameNames = True}
|
||||||
|
x.AddRange(GroupsList)
|
||||||
|
x.Save(GroupFile)
|
||||||
|
End Using
|
||||||
|
Else
|
||||||
|
GroupFile.Delete()
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
Private Sub OnGroupUpdated(ByVal Sender As DownloadGroup)
|
||||||
|
Update()
|
||||||
|
RaiseEvent Updated(Sender)
|
||||||
|
End Sub
|
||||||
|
Private Sub OnGroupDeleted(ByVal Sender As DownloadGroup)
|
||||||
|
RaiseEvent Deleted(Sender)
|
||||||
|
Dim i% = GroupsList.FindIndex(Function(g) g.Key = Sender.Key)
|
||||||
|
If i >= 0 Then
|
||||||
|
GroupsList(i).Dispose()
|
||||||
|
GroupsList.RemoveAt(i)
|
||||||
|
GroupsList.ListReindex
|
||||||
|
Update()
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
Friend Sub Add()
|
||||||
|
Using f As New GroupEditorForm(Nothing)
|
||||||
|
f.ShowDialog()
|
||||||
|
If f.DialogResult = DialogResult.OK Then
|
||||||
|
GroupsList.Add(f.MyGroup)
|
||||||
|
GroupsList.ListReindex
|
||||||
|
RaiseEvent Added(GroupsList.Last)
|
||||||
|
Update()
|
||||||
|
End If
|
||||||
|
End Using
|
||||||
|
End Sub
|
||||||
|
Friend Function DownloadGroupIfExists(ByVal Index As Integer) As Boolean
|
||||||
|
If Index.ValueBetween(0, Count - 1) Then Item(Index).DownloadUsers(True) : Return True Else Return False
|
||||||
|
End Function
|
||||||
|
Private Function GetEnumerator() As IEnumerator(Of DownloadGroup) Implements IEnumerable(Of DownloadGroup).GetEnumerator
|
||||||
|
Return New MyEnumerator(Of DownloadGroup)(Me)
|
||||||
|
End Function
|
||||||
|
Private Function IEnumerable_GetEnumerator() As IEnumerator Implements IEnumerable.GetEnumerator
|
||||||
|
Return GetEnumerator()
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
|
End Namespace
|
||||||
253
SCrawler/Download/Groups/GroupEditorForm.Designer.vb
generated
Normal file
@@ -0,0 +1,253 @@
|
|||||||
|
' Copyright (C) 2022 Andy
|
||||||
|
' This program is free software: you can redistribute it and/or modify
|
||||||
|
' it under the terms of the GNU General Public License as published by
|
||||||
|
' the Free Software Foundation, either version 3 of the License, or
|
||||||
|
' (at your option) any later version.
|
||||||
|
'
|
||||||
|
' This program is distributed in the hope that it will be useful,
|
||||||
|
' but WITHOUT ANY WARRANTY
|
||||||
|
Namespace DownloadObjects.Groups
|
||||||
|
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
||||||
|
Partial Friend Class GroupEditorForm : Inherits System.Windows.Forms.Form
|
||||||
|
<System.Diagnostics.DebuggerNonUserCode()>
|
||||||
|
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||||
|
Try
|
||||||
|
If disposing AndAlso components IsNot Nothing Then
|
||||||
|
components.Dispose()
|
||||||
|
End If
|
||||||
|
Finally
|
||||||
|
MyBase.Dispose(disposing)
|
||||||
|
End Try
|
||||||
|
End Sub
|
||||||
|
Private components As System.ComponentModel.IContainer
|
||||||
|
<System.Diagnostics.DebuggerStepThrough()>
|
||||||
|
Private Sub InitializeComponent()
|
||||||
|
Dim CONTAINER_MAIN As System.Windows.Forms.ToolStripContainer
|
||||||
|
Dim TP_MAIN As System.Windows.Forms.TableLayoutPanel
|
||||||
|
Dim ActionButton7 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||||
|
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(GroupEditorForm))
|
||||||
|
Dim ActionButton8 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||||
|
Dim ActionButton9 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||||
|
Dim TP_TEMP_FAV As System.Windows.Forms.TableLayoutPanel
|
||||||
|
Dim TP_READY_FOR_DOWN As System.Windows.Forms.TableLayoutPanel
|
||||||
|
Me.TXT_NAME = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||||
|
Me.TXT_LABELS = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||||
|
Me.CH_TEMPORARY = New System.Windows.Forms.CheckBox()
|
||||||
|
Me.CH_FAV = New System.Windows.Forms.CheckBox()
|
||||||
|
Me.CH_READY_FOR_DOWN = New System.Windows.Forms.CheckBox()
|
||||||
|
Me.CH_READY_FOR_DOWN_IGNORE = New System.Windows.Forms.CheckBox()
|
||||||
|
CONTAINER_MAIN = New System.Windows.Forms.ToolStripContainer()
|
||||||
|
TP_MAIN = New System.Windows.Forms.TableLayoutPanel()
|
||||||
|
TP_TEMP_FAV = New System.Windows.Forms.TableLayoutPanel()
|
||||||
|
TP_READY_FOR_DOWN = New System.Windows.Forms.TableLayoutPanel()
|
||||||
|
CONTAINER_MAIN.ContentPanel.SuspendLayout()
|
||||||
|
CONTAINER_MAIN.SuspendLayout()
|
||||||
|
TP_MAIN.SuspendLayout()
|
||||||
|
CType(Me.TXT_NAME, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
CType(Me.TXT_LABELS, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
TP_TEMP_FAV.SuspendLayout()
|
||||||
|
TP_READY_FOR_DOWN.SuspendLayout()
|
||||||
|
Me.SuspendLayout()
|
||||||
|
'
|
||||||
|
'CONTAINER_MAIN
|
||||||
|
'
|
||||||
|
'
|
||||||
|
'CONTAINER_MAIN.ContentPanel
|
||||||
|
'
|
||||||
|
CONTAINER_MAIN.ContentPanel.Controls.Add(TP_MAIN)
|
||||||
|
CONTAINER_MAIN.ContentPanel.Size = New System.Drawing.Size(476, 111)
|
||||||
|
CONTAINER_MAIN.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
CONTAINER_MAIN.LeftToolStripPanelVisible = False
|
||||||
|
CONTAINER_MAIN.Location = New System.Drawing.Point(0, 0)
|
||||||
|
CONTAINER_MAIN.Name = "CONTAINER_MAIN"
|
||||||
|
CONTAINER_MAIN.RightToolStripPanelVisible = False
|
||||||
|
CONTAINER_MAIN.Size = New System.Drawing.Size(476, 136)
|
||||||
|
CONTAINER_MAIN.TabIndex = 0
|
||||||
|
CONTAINER_MAIN.TopToolStripPanelVisible = False
|
||||||
|
'
|
||||||
|
'TP_MAIN
|
||||||
|
'
|
||||||
|
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(TP_READY_FOR_DOWN, 0, 2)
|
||||||
|
TP_MAIN.Controls.Add(Me.TXT_NAME, 0, 0)
|
||||||
|
TP_MAIN.Controls.Add(Me.TXT_LABELS, 0, 3)
|
||||||
|
TP_MAIN.Controls.Add(TP_TEMP_FAV, 0, 1)
|
||||||
|
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 = 5
|
||||||
|
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, 25.0!))
|
||||||
|
TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.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, 100.0!))
|
||||||
|
TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
|
||||||
|
TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
|
||||||
|
TP_MAIN.Size = New System.Drawing.Size(476, 111)
|
||||||
|
TP_MAIN.TabIndex = 0
|
||||||
|
'
|
||||||
|
'TXT_NAME
|
||||||
|
'
|
||||||
|
ActionButton7.BackgroundImage = CType(resources.GetObject("ActionButton7.BackgroundImage"), System.Drawing.Image)
|
||||||
|
ActionButton7.Index = 0
|
||||||
|
ActionButton7.Name = "BTT_CLEAR"
|
||||||
|
Me.TXT_NAME.Buttons.Add(ActionButton7)
|
||||||
|
Me.TXT_NAME.CaptionText = "Name"
|
||||||
|
Me.TXT_NAME.CaptionToolTipEnabled = True
|
||||||
|
Me.TXT_NAME.CaptionToolTipText = "Group name"
|
||||||
|
Me.TXT_NAME.CaptionWidth = 50.0R
|
||||||
|
Me.TXT_NAME.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.TXT_NAME.Location = New System.Drawing.Point(4, 4)
|
||||||
|
Me.TXT_NAME.Name = "TXT_NAME"
|
||||||
|
Me.TXT_NAME.Size = New System.Drawing.Size(468, 22)
|
||||||
|
Me.TXT_NAME.TabIndex = 0
|
||||||
|
'
|
||||||
|
'TXT_LABELS
|
||||||
|
'
|
||||||
|
ActionButton8.BackgroundImage = CType(resources.GetObject("ActionButton8.BackgroundImage"), System.Drawing.Image)
|
||||||
|
ActionButton8.Index = 0
|
||||||
|
ActionButton8.Name = "BTT_EDIT"
|
||||||
|
ActionButton9.BackgroundImage = CType(resources.GetObject("ActionButton9.BackgroundImage"), System.Drawing.Image)
|
||||||
|
ActionButton9.Index = 1
|
||||||
|
ActionButton9.Name = "BTT_CLEAR"
|
||||||
|
Me.TXT_LABELS.Buttons.Add(ActionButton8)
|
||||||
|
Me.TXT_LABELS.Buttons.Add(ActionButton9)
|
||||||
|
Me.TXT_LABELS.CaptionText = "Labels"
|
||||||
|
Me.TXT_LABELS.CaptionToolTipEnabled = True
|
||||||
|
Me.TXT_LABELS.CaptionToolTipText = "Group labels"
|
||||||
|
Me.TXT_LABELS.CaptionWidth = 50.0R
|
||||||
|
Me.TXT_LABELS.ClearTextByButtonClear = False
|
||||||
|
Me.TXT_LABELS.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.TXT_LABELS.Location = New System.Drawing.Point(4, 85)
|
||||||
|
Me.TXT_LABELS.Name = "TXT_LABELS"
|
||||||
|
Me.TXT_LABELS.Size = New System.Drawing.Size(468, 22)
|
||||||
|
Me.TXT_LABELS.TabIndex = 1
|
||||||
|
'
|
||||||
|
'TP_TEMP_FAV
|
||||||
|
'
|
||||||
|
TP_TEMP_FAV.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
|
||||||
|
TP_TEMP_FAV.ColumnCount = 2
|
||||||
|
TP_TEMP_FAV.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
|
||||||
|
TP_TEMP_FAV.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
|
||||||
|
TP_TEMP_FAV.Controls.Add(Me.CH_TEMPORARY, 0, 0)
|
||||||
|
TP_TEMP_FAV.Controls.Add(Me.CH_FAV, 1, 0)
|
||||||
|
TP_TEMP_FAV.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
TP_TEMP_FAV.Location = New System.Drawing.Point(1, 30)
|
||||||
|
TP_TEMP_FAV.Margin = New System.Windows.Forms.Padding(0)
|
||||||
|
TP_TEMP_FAV.Name = "TP_TEMP_FAV"
|
||||||
|
TP_TEMP_FAV.RowCount = 1
|
||||||
|
TP_TEMP_FAV.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||||
|
TP_TEMP_FAV.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
|
||||||
|
TP_TEMP_FAV.Size = New System.Drawing.Size(474, 25)
|
||||||
|
TP_TEMP_FAV.TabIndex = 2
|
||||||
|
'
|
||||||
|
'TP_READY_FOR_DOWN
|
||||||
|
'
|
||||||
|
TP_READY_FOR_DOWN.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
|
||||||
|
TP_READY_FOR_DOWN.ColumnCount = 2
|
||||||
|
TP_READY_FOR_DOWN.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
|
||||||
|
TP_READY_FOR_DOWN.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
|
||||||
|
TP_READY_FOR_DOWN.Controls.Add(Me.CH_READY_FOR_DOWN, 0, 0)
|
||||||
|
TP_READY_FOR_DOWN.Controls.Add(Me.CH_READY_FOR_DOWN_IGNORE, 1, 0)
|
||||||
|
TP_READY_FOR_DOWN.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
TP_READY_FOR_DOWN.Location = New System.Drawing.Point(1, 56)
|
||||||
|
TP_READY_FOR_DOWN.Margin = New System.Windows.Forms.Padding(0)
|
||||||
|
TP_READY_FOR_DOWN.Name = "TP_READY_FOR_DOWN"
|
||||||
|
TP_READY_FOR_DOWN.RowCount = 1
|
||||||
|
TP_READY_FOR_DOWN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||||
|
TP_READY_FOR_DOWN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
|
||||||
|
TP_READY_FOR_DOWN.Size = New System.Drawing.Size(474, 25)
|
||||||
|
TP_READY_FOR_DOWN.TabIndex = 3
|
||||||
|
'
|
||||||
|
'CH_TEMPORARY
|
||||||
|
'
|
||||||
|
Me.CH_TEMPORARY.AutoSize = True
|
||||||
|
Me.CH_TEMPORARY.Checked = True
|
||||||
|
Me.CH_TEMPORARY.CheckState = System.Windows.Forms.CheckState.Indeterminate
|
||||||
|
Me.CH_TEMPORARY.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.CH_TEMPORARY.Location = New System.Drawing.Point(4, 4)
|
||||||
|
Me.CH_TEMPORARY.Name = "CH_TEMPORARY"
|
||||||
|
Me.CH_TEMPORARY.Size = New System.Drawing.Size(229, 17)
|
||||||
|
Me.CH_TEMPORARY.TabIndex = 0
|
||||||
|
Me.CH_TEMPORARY.Text = "Temporary"
|
||||||
|
Me.CH_TEMPORARY.ThreeState = True
|
||||||
|
Me.CH_TEMPORARY.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
|
'CH_FAV
|
||||||
|
'
|
||||||
|
Me.CH_FAV.AutoSize = True
|
||||||
|
Me.CH_FAV.Checked = True
|
||||||
|
Me.CH_FAV.CheckState = System.Windows.Forms.CheckState.Indeterminate
|
||||||
|
Me.CH_FAV.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.CH_FAV.Location = New System.Drawing.Point(240, 4)
|
||||||
|
Me.CH_FAV.Name = "CH_FAV"
|
||||||
|
Me.CH_FAV.Size = New System.Drawing.Size(230, 17)
|
||||||
|
Me.CH_FAV.TabIndex = 1
|
||||||
|
Me.CH_FAV.Text = "Favorite"
|
||||||
|
Me.CH_FAV.ThreeState = True
|
||||||
|
Me.CH_FAV.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
|
'CH_READY_FOR_DOWN
|
||||||
|
'
|
||||||
|
Me.CH_READY_FOR_DOWN.AutoSize = True
|
||||||
|
Me.CH_READY_FOR_DOWN.Checked = True
|
||||||
|
Me.CH_READY_FOR_DOWN.CheckState = System.Windows.Forms.CheckState.Checked
|
||||||
|
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(229, 17)
|
||||||
|
Me.CH_READY_FOR_DOWN.TabIndex = 0
|
||||||
|
Me.CH_READY_FOR_DOWN.Text = "Ready for download"
|
||||||
|
Me.CH_READY_FOR_DOWN.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
|
'CH_READY_FOR_DOWN_IGNORE
|
||||||
|
'
|
||||||
|
Me.CH_READY_FOR_DOWN_IGNORE.AutoSize = True
|
||||||
|
Me.CH_READY_FOR_DOWN_IGNORE.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.CH_READY_FOR_DOWN_IGNORE.Location = New System.Drawing.Point(240, 4)
|
||||||
|
Me.CH_READY_FOR_DOWN_IGNORE.Name = "CH_READY_FOR_DOWN_IGNORE"
|
||||||
|
Me.CH_READY_FOR_DOWN_IGNORE.Size = New System.Drawing.Size(230, 17)
|
||||||
|
Me.CH_READY_FOR_DOWN_IGNORE.TabIndex = 1
|
||||||
|
Me.CH_READY_FOR_DOWN_IGNORE.Text = "Ignore ready for download"
|
||||||
|
Me.CH_READY_FOR_DOWN_IGNORE.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
|
'GroupEditorForm
|
||||||
|
'
|
||||||
|
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||||
|
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||||
|
Me.ClientSize = New System.Drawing.Size(476, 136)
|
||||||
|
Me.Controls.Add(CONTAINER_MAIN)
|
||||||
|
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
|
||||||
|
Me.KeyPreview = True
|
||||||
|
Me.MaximizeBox = False
|
||||||
|
Me.MaximumSize = New System.Drawing.Size(492, 175)
|
||||||
|
Me.MinimizeBox = False
|
||||||
|
Me.MinimumSize = New System.Drawing.Size(492, 175)
|
||||||
|
Me.Name = "GroupEditorForm"
|
||||||
|
Me.ShowIcon = False
|
||||||
|
Me.ShowInTaskbar = False
|
||||||
|
Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide
|
||||||
|
Me.Text = "Group"
|
||||||
|
CONTAINER_MAIN.ContentPanel.ResumeLayout(False)
|
||||||
|
CONTAINER_MAIN.ResumeLayout(False)
|
||||||
|
CONTAINER_MAIN.PerformLayout()
|
||||||
|
TP_MAIN.ResumeLayout(False)
|
||||||
|
CType(Me.TXT_NAME, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(Me.TXT_LABELS, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
TP_TEMP_FAV.ResumeLayout(False)
|
||||||
|
TP_TEMP_FAV.PerformLayout()
|
||||||
|
TP_READY_FOR_DOWN.ResumeLayout(False)
|
||||||
|
TP_READY_FOR_DOWN.PerformLayout()
|
||||||
|
Me.ResumeLayout(False)
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
Private WithEvents TXT_NAME As PersonalUtilities.Forms.Controls.TextBoxExtended
|
||||||
|
Private WithEvents TXT_LABELS As PersonalUtilities.Forms.Controls.TextBoxExtended
|
||||||
|
Private WithEvents CH_READY_FOR_DOWN As CheckBox
|
||||||
|
Private WithEvents CH_READY_FOR_DOWN_IGNORE As CheckBox
|
||||||
|
Private WithEvents CH_TEMPORARY As CheckBox
|
||||||
|
Private WithEvents CH_FAV As CheckBox
|
||||||
|
End Class
|
||||||
|
End Namespace
|
||||||
207
SCrawler/Download/Groups/GroupEditorForm.resx
Normal file
@@ -0,0 +1,207 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<metadata name="CONTAINER_MAIN.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="TP_MAIN.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="TP_READY_FOR_DOWN.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="ActionButton7.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
|
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
||||||
|
tbbB43rK5xSAQq1VYFtmeQBoqZTSreVZvgTknM8yyyjA/qodsDF9gspD2Bj6B+DH+NqzhQQAG+POMnSX
|
||||||
|
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="ActionButton8.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
|
||||||
|
DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
|
||||||
|
bGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUis
|
||||||
|
iGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQ
|
||||||
|
sf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJO
|
||||||
|
yhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaI
|
||||||
|
b4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArou
|
||||||
|
S49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0i
|
||||||
|
vQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424
|
||||||
|
HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxR
|
||||||
|
RKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKb
|
||||||
|
F6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQ
|
||||||
|
DtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJE
|
||||||
|
geQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhM
|
||||||
|
gqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgs
|
||||||
|
wkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYr
|
||||||
|
oQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHms
|
||||||
|
AdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8
|
||||||
|
Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQ
|
||||||
|
tJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzy
|
||||||
|
pOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4
|
||||||
|
UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrC
|
||||||
|
WbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o
|
||||||
|
3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0Svo
|
||||||
|
PfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05b
|
||||||
|
RztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAU
|
||||||
|
vdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZv
|
||||||
|
xjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa
|
||||||
|
2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHI
|
||||||
|
dmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Sn
|
||||||
|
t+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z
|
||||||
|
/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4Rz
|
||||||
|
wzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8Yqpj
|
||||||
|
ZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbj
|
||||||
|
kqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09m
|
||||||
|
SWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvN
|
||||||
|
e70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quF
|
||||||
|
nbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/
|
||||||
|
VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1F
|
||||||
|
DR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TL
|
||||||
|
d1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/E
|
||||||
|
XRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPq
|
||||||
|
RudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WP
|
||||||
|
lR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+l
|
||||||
|
f65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeK
|
||||||
|
j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAahJREFUOE9j+P//P8l4
|
||||||
|
vaOjPYyNIYkPO1lZsa1wdNy42sHh3Hxb22KQGFaF2LC4qjjroUP7n97s6vx/Ny/3/ypn54+LbGwisSpG
|
||||||
|
x+aaouwZren/u5f2/3/18tX/qzNn/l/i4XGSgYFBFasGZKwjzcJ6YVnU152blvw3LHH53zCl/ufatWu+
|
||||||
|
T+1vDALJY9UEwxrijExHZgd+/Xy1Hcg98BNkCMglMM0gjKEJhuX5GVh2TvD+/O5c0///P9b///qo819P
|
||||||
|
lgmKZhBG0QTDMjwMzJs7XT+9OVHz///XFf+/PWj7j00zCKNwQFiah4FtXbPjp8d78////7bo/4/79Tg1
|
||||||
|
gzAKR1mUg3lOocXbe9uz/v9/M/H/1zuVeDWDMJwhJcDBvK4p4tb1DQn//r/u+f/zRh5BzSAMZyyrdVh9
|
||||||
|
c33B9//32159vZr2hxjNIAwm1GUE3e+ur/n9/+Ls/592Nf9fUun3khjNIMzAysTAv6g6+OT/E33/j09N
|
||||||
|
+zWpMuImsZpBmMHIQK9x19T8/03x1ufE+TkqsCnChxmUlFWuyEpJtAHTtT42BfjxfwYAtlm0ShMkSB4A
|
||||||
|
AAAASUVORK5CYII=
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="ActionButton9.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
|
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
||||||
|
tbbB43rK5xSAQq1VYFtmeQBoqZTSreVZvgTknM8yyyjA/qodsDF9gspD2Bj6B+DH+NqzhQQAG+POMnSX
|
||||||
|
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<metadata name="TP_TEMP_FAV.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
|
</root>
|
||||||
111
SCrawler/Download/Groups/GroupEditorForm.vb
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
' Copyright (C) 2022 Andy
|
||||||
|
' This program is free software: you can redistribute it and/or modify
|
||||||
|
' it under the terms of the GNU General Public License as published by
|
||||||
|
' the Free Software Foundation, either version 3 of the License, or
|
||||||
|
' (at your option) any later version.
|
||||||
|
'
|
||||||
|
' This program is distributed in the hope that it will be useful,
|
||||||
|
' but WITHOUT ANY WARRANTY
|
||||||
|
Imports PersonalUtilities.Forms
|
||||||
|
Imports PersonalUtilities.Forms.Controls.Base
|
||||||
|
Imports PersonalUtilities.Forms.Toolbars
|
||||||
|
Namespace DownloadObjects.Groups
|
||||||
|
Friend Class GroupEditorForm : Implements IOkCancelToolbar
|
||||||
|
Private ReadOnly MyDefs As DefaultFormProps
|
||||||
|
Friend Property MyGroup As DownloadGroup
|
||||||
|
Private ReadOnly MyLabels As List(Of String)
|
||||||
|
Friend Sub New(ByRef g As DownloadGroup)
|
||||||
|
InitializeComponent()
|
||||||
|
MyGroup = g
|
||||||
|
MyLabels = New List(Of String)
|
||||||
|
If Not MyGroup Is Nothing Then MyLabels.ListAddList(MyGroup.Labels)
|
||||||
|
MyDefs = New DefaultFormProps
|
||||||
|
End Sub
|
||||||
|
Private Class NameChecker : Implements IFieldsCheckerProvider
|
||||||
|
Private Property ErrorMessage As String Implements IFieldsCheckerProvider.ErrorMessage
|
||||||
|
Private Property Name As String Implements IFieldsCheckerProvider.Name
|
||||||
|
Private Property TypeError As Boolean Implements IFieldsCheckerProvider.TypeError
|
||||||
|
Private ReadOnly ExistingGroupName As String
|
||||||
|
Friend Sub New(ByVal _ExistingGroupName As String)
|
||||||
|
ExistingGroupName = _ExistingGroupName
|
||||||
|
End Sub
|
||||||
|
Private Function Convert(ByVal Value As Object, ByVal DestinationType As Type, ByVal Provider As IFormatProvider,
|
||||||
|
Optional ByVal NothingArg As Object = Nothing, Optional ByVal e As ErrorsDescriber = Nothing) As Object Implements ICustomProvider.Convert
|
||||||
|
If Not ACheck(Value) Then
|
||||||
|
ErrorMessage = "Group name cannot be empty"
|
||||||
|
ElseIf Not ExistingGroupName.IsEmptyString AndAlso CStr(Value) = ExistingGroupName Then
|
||||||
|
Return Value
|
||||||
|
ElseIf Settings.Groups.Count > 0 AndAlso Settings.Groups.LongCount(Function(g) g.Name = CStr(Value)) > 0 Then
|
||||||
|
ErrorMessage = "A group with the same name already exists"
|
||||||
|
Else
|
||||||
|
Return Value
|
||||||
|
End If
|
||||||
|
Return Nothing
|
||||||
|
End Function
|
||||||
|
Private Function GetFormat(ByVal FormatType As Type) As Object Implements IFormatProvider.GetFormat
|
||||||
|
Throw New NotImplementedException("GetFormat is not available in this context")
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
|
Private Sub GroupEditorForm_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||||
|
With MyDefs
|
||||||
|
.MyViewInitialize(Me, Settings.Design, True)
|
||||||
|
.AddOkCancelToolbar()
|
||||||
|
.DelegateClosingChecker()
|
||||||
|
If Not MyGroup Is Nothing Then
|
||||||
|
With MyGroup
|
||||||
|
TXT_NAME.Text = .Name
|
||||||
|
CH_TEMPORARY.CheckState = .Temporary
|
||||||
|
CH_FAV.CheckState = .Favorite
|
||||||
|
CH_READY_FOR_DOWN.Checked = .ReadyForDownload
|
||||||
|
CH_READY_FOR_DOWN_IGNORE.Checked = .ReadyForDownloadIgnore
|
||||||
|
TXT_LABELS.Text = MyLabels.ListToString
|
||||||
|
Text &= $" { .Name}"
|
||||||
|
End With
|
||||||
|
Else
|
||||||
|
Text = "New Group"
|
||||||
|
End If
|
||||||
|
.MyFieldsChecker = New FieldsChecker
|
||||||
|
DirectCast(.MyFieldsChecker, FieldsChecker).AddControl(Of String)(TXT_NAME, TXT_NAME.CaptionText,, New NameChecker(If(MyGroup?.Name, String.Empty)))
|
||||||
|
.MyFieldsChecker.EndLoaderOperations()
|
||||||
|
.AppendDetectors()
|
||||||
|
.EndLoaderOperations()
|
||||||
|
End With
|
||||||
|
End Sub
|
||||||
|
Private Sub GroupEditorForm_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed
|
||||||
|
MyLabels.Clear()
|
||||||
|
End Sub
|
||||||
|
Private Sub ToolbarBttOK() Implements IOkCancelToolbar.ToolbarBttOK
|
||||||
|
If MyDefs.MyFieldsChecker.AllParamsOK Then
|
||||||
|
If MyGroup Is Nothing Then MyGroup = New DownloadGroup
|
||||||
|
With MyGroup
|
||||||
|
.Name = TXT_NAME.Text
|
||||||
|
.Temporary = CH_TEMPORARY.CheckState
|
||||||
|
.Favorite = CH_FAV.CheckState
|
||||||
|
.ReadyForDownload = CH_READY_FOR_DOWN.Checked
|
||||||
|
.ReadyForDownloadIgnore = CH_READY_FOR_DOWN_IGNORE.Checked
|
||||||
|
.Labels.ListAddList(MyLabels, LAP.ClearBeforeAdd, LAP.NotContainsOnly)
|
||||||
|
End With
|
||||||
|
MyDefs.CloseForm()
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
Private Sub ToolbarBttCancel() Implements IOkCancelToolbar.ToolbarBttCancel
|
||||||
|
MyDefs.CloseForm(DialogResult.Cancel)
|
||||||
|
End Sub
|
||||||
|
Private Sub TXT_LABELS_ActionOnButtonClick(ByVal Sender As ActionButton) Handles TXT_LABELS.ActionOnButtonClick
|
||||||
|
Select Case Sender.DefaultButton
|
||||||
|
Case ActionButton.DefaultButtons.Edit
|
||||||
|
Using f As New LabelsForm(MyLabels)
|
||||||
|
f.ShowDialog()
|
||||||
|
If f.DialogResult = DialogResult.OK Then
|
||||||
|
MyLabels.ListAddList(f.LabelsList, LAP.NotContainsOnly, LAP.ClearBeforeAdd)
|
||||||
|
TXT_LABELS.Clear()
|
||||||
|
TXT_LABELS.Text = MyLabels.ListToString
|
||||||
|
End If
|
||||||
|
End Using
|
||||||
|
Case ActionButton.DefaultButtons.Clear
|
||||||
|
MyLabels.Clear()
|
||||||
|
TXT_LABELS.Clear()
|
||||||
|
End Select
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
End Namespace
|
||||||
@@ -206,14 +206,15 @@ Namespace DownloadObjects
|
|||||||
End Sub
|
End Sub
|
||||||
Private CheckerThread As Thread
|
Private CheckerThread As Thread
|
||||||
Private Sub [Start]()
|
Private Sub [Start]()
|
||||||
If Not MyProgressForm.Opened AndAlso Pool.LongCount(Function(p) p.Count > 0) > 1 Then MyProgressForm.Show()
|
If MyProgressForm.ReadyToOpen AndAlso Pool.LongCount(Function(p) p.Count > 0) > 1 Then MyProgressForm.Show() : MainFrameObj.Focus()
|
||||||
If Not If(CheckerThread?.IsAlive, False) Then
|
If Not If(CheckerThread?.IsAlive, False) Then
|
||||||
MainProgress.Enabled = True
|
MainProgress.Enabled = True
|
||||||
|
If InfoForm.ReadyToOpen Then InfoForm.Show() : MainFrameObj.Focus()
|
||||||
CheckerThread = New Thread(New ThreadStart(AddressOf JobsChecker))
|
CheckerThread = New Thread(New ThreadStart(AddressOf JobsChecker))
|
||||||
CheckerThread.SetApartmentState(ApartmentState.MTA)
|
CheckerThread.SetApartmentState(ApartmentState.MTA)
|
||||||
CheckerThread.Start()
|
CheckerThread.Start()
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub JobsChecker()
|
Private Sub JobsChecker()
|
||||||
Try
|
Try
|
||||||
MainProgress.TotalCount = 0
|
MainProgress.TotalCount = 0
|
||||||
@@ -235,6 +236,7 @@ Namespace DownloadObjects
|
|||||||
End With
|
End With
|
||||||
MyProgressForm.DisableProgressChange = True
|
MyProgressForm.DisableProgressChange = True
|
||||||
If Pool.Count > 0 Then Pool.ForEach(Sub(p) If Not p.Progress Is Nothing Then p.Progress.TotalCount = 0)
|
If Pool.Count > 0 Then Pool.ForEach(Sub(p) If Not p.Progress Is Nothing Then p.Progress.TotalCount = 0)
|
||||||
|
ExecuteCommand(Settings.DownloadsCompleteCommand)
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub StartDownloading(ByRef _Job As Job)
|
Private Sub StartDownloading(ByRef _Job As Job)
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ Namespace DownloadObjects
|
|||||||
End Sub
|
End Sub
|
||||||
Private Sub UpdateUrlsFile()
|
Private Sub UpdateUrlsFile()
|
||||||
If UrlList.Count > 0 Then
|
If UrlList.Count > 0 Then
|
||||||
TextSaver.SaveTextToFile(UrlList.ListToString(, Environment.NewLine), DownloadingUrlsFile, True,, EDP.SendInLog)
|
TextSaver.SaveTextToFile(UrlList.ListToString(Environment.NewLine), DownloadingUrlsFile, True,, EDP.SendInLog)
|
||||||
Else
|
Else
|
||||||
DownloadingUrlsFile.Delete(, Settings.DeleteMode, EDP.SendInLog)
|
DownloadingUrlsFile.Delete(, Settings.DeleteMode, EDP.SendInLog)
|
||||||
End If
|
End If
|
||||||
|
|||||||
565
SCrawler/Editors/GlobalSettingsForm.Designer.vb
generated
@@ -27,9 +27,6 @@
|
|||||||
Dim TP_FILE_NAME As System.Windows.Forms.TableLayoutPanel
|
Dim TP_FILE_NAME As System.Windows.Forms.TableLayoutPanel
|
||||||
Dim TP_FILE_PATTERNS As System.Windows.Forms.TableLayoutPanel
|
Dim TP_FILE_PATTERNS As System.Windows.Forms.TableLayoutPanel
|
||||||
Dim LBL_DATE_POS As System.Windows.Forms.Label
|
Dim LBL_DATE_POS As System.Windows.Forms.Label
|
||||||
Dim ActionButton7 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
|
||||||
Dim ActionButton8 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
|
||||||
Dim ActionButton9 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
|
||||||
Dim TT_MAIN As System.Windows.Forms.ToolTip
|
Dim TT_MAIN As System.Windows.Forms.ToolTip
|
||||||
Dim TP_CHANNELS_IMGS As System.Windows.Forms.TableLayoutPanel
|
Dim TP_CHANNELS_IMGS As System.Windows.Forms.TableLayoutPanel
|
||||||
Dim TAB_BASIS As System.Windows.Forms.TabPage
|
Dim TAB_BASIS As System.Windows.Forms.TabPage
|
||||||
@@ -37,6 +34,15 @@
|
|||||||
Dim TP_DEFS As System.Windows.Forms.TableLayoutPanel
|
Dim TP_DEFS As System.Windows.Forms.TableLayoutPanel
|
||||||
Dim TAB_DEFS_CHANNELS As System.Windows.Forms.TabPage
|
Dim TAB_DEFS_CHANNELS As System.Windows.Forms.TabPage
|
||||||
Dim TP_CHANNELS As System.Windows.Forms.TableLayoutPanel
|
Dim TP_CHANNELS As System.Windows.Forms.TableLayoutPanel
|
||||||
|
Dim TAB_BEHAVIOR As System.Windows.Forms.TabPage
|
||||||
|
Dim TP_BEHAVIOR As System.Windows.Forms.TableLayoutPanel
|
||||||
|
Dim ActionButton7 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||||
|
Dim TAB_DOWN As System.Windows.Forms.TabPage
|
||||||
|
Dim TP_DOWNLOADING As System.Windows.Forms.TableLayoutPanel
|
||||||
|
Dim ActionButton8 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||||
|
Dim ActionButton9 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||||
|
Dim TP_OPEN_INFO As System.Windows.Forms.TableLayoutPanel
|
||||||
|
Dim TP_OPEN_PROGRESS As System.Windows.Forms.TableLayoutPanel
|
||||||
Me.TXT_GLOBAL_PATH = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
Me.TXT_GLOBAL_PATH = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||||
Me.TXT_IMAGE_LARGE = 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_IMAGE_SMALL = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||||
@@ -45,6 +51,8 @@
|
|||||||
Me.TXT_MAX_JOBS_CHANNELS = 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_CHECK_VER_START = New System.Windows.Forms.CheckBox()
|
||||||
Me.TXT_IMGUR_CLIENT_ID = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
Me.TXT_IMGUR_CLIENT_ID = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||||
|
Me.CH_SHOW_GROUPS = New System.Windows.Forms.CheckBox()
|
||||||
|
Me.CH_USERS_GROUPING = New System.Windows.Forms.CheckBox()
|
||||||
Me.OPT_FILE_NAME_REPLACE = New System.Windows.Forms.RadioButton()
|
Me.OPT_FILE_NAME_REPLACE = New System.Windows.Forms.RadioButton()
|
||||||
Me.OPT_FILE_NAME_ADD_DATE = 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_NAME_CHANGE = New System.Windows.Forms.CheckBox()
|
||||||
@@ -52,13 +60,7 @@
|
|||||||
Me.CH_FILE_TIME = 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_START = New System.Windows.Forms.RadioButton()
|
||||||
Me.OPT_FILE_DATE_END = New System.Windows.Forms.RadioButton()
|
Me.OPT_FILE_DATE_END = New System.Windows.Forms.RadioButton()
|
||||||
Me.CH_EXIT_CONFIRM = New System.Windows.Forms.CheckBox()
|
|
||||||
Me.CH_CLOSE_TO_TRAY = New System.Windows.Forms.CheckBox()
|
|
||||||
Me.CH_SHOW_NOTIFY = New System.Windows.Forms.CheckBox()
|
|
||||||
Me.CH_FAST_LOAD = New System.Windows.Forms.CheckBox()
|
Me.CH_FAST_LOAD = New System.Windows.Forms.CheckBox()
|
||||||
Me.TXT_FOLDER_CMD = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
|
||||||
Me.CH_RECYCLE_DEL = New System.Windows.Forms.CheckBox()
|
|
||||||
Me.TXT_SCRIPT = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
|
||||||
Me.CH_COPY_CHANNEL_USER_IMAGE = 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_DEF_TEMP = New System.Windows.Forms.CheckBox()
|
||||||
Me.CH_DOWN_IMAGES = New System.Windows.Forms.CheckBox()
|
Me.CH_DOWN_IMAGES = New System.Windows.Forms.CheckBox()
|
||||||
@@ -70,8 +72,20 @@
|
|||||||
Me.TXT_CHANNELS_ROWS = 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_CHANNELS_COLUMNS = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||||
Me.TXT_CHANNEL_USER_POST_LIMIT = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
Me.TXT_CHANNEL_USER_POST_LIMIT = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||||
|
Me.TXT_FOLDER_CMD = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||||
|
Me.CH_EXIT_CONFIRM = New System.Windows.Forms.CheckBox()
|
||||||
|
Me.CH_CLOSE_TO_TRAY = New System.Windows.Forms.CheckBox()
|
||||||
|
Me.CH_SHOW_NOTIFY = New System.Windows.Forms.CheckBox()
|
||||||
|
Me.CH_RECYCLE_DEL = New System.Windows.Forms.CheckBox()
|
||||||
|
Me.CH_DOWN_OPEN_INFO = New System.Windows.Forms.CheckBox()
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS = New System.Windows.Forms.CheckBox()
|
||||||
|
Me.TXT_CLOSE_SCRIPT = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||||
|
Me.TXT_SCRIPT = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||||
|
Me.TXT_DOWN_COMPLETE_SCRIPT = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||||
Me.TAB_MAIN = New System.Windows.Forms.TabControl()
|
Me.TAB_MAIN = New System.Windows.Forms.TabControl()
|
||||||
Me.CONTAINER_MAIN = New System.Windows.Forms.ToolStripContainer()
|
Me.CONTAINER_MAIN = New System.Windows.Forms.ToolStripContainer()
|
||||||
|
Me.CH_DOWN_OPEN_INFO_SUSPEND = New System.Windows.Forms.CheckBox()
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS_SUSPEND = New System.Windows.Forms.CheckBox()
|
||||||
TP_BASIS = New System.Windows.Forms.TableLayoutPanel()
|
TP_BASIS = New System.Windows.Forms.TableLayoutPanel()
|
||||||
TP_IMAGES = New System.Windows.Forms.TableLayoutPanel()
|
TP_IMAGES = New System.Windows.Forms.TableLayoutPanel()
|
||||||
TP_FILE_NAME = New System.Windows.Forms.TableLayoutPanel()
|
TP_FILE_NAME = New System.Windows.Forms.TableLayoutPanel()
|
||||||
@@ -84,6 +98,12 @@
|
|||||||
TP_DEFS = New System.Windows.Forms.TableLayoutPanel()
|
TP_DEFS = New System.Windows.Forms.TableLayoutPanel()
|
||||||
TAB_DEFS_CHANNELS = New System.Windows.Forms.TabPage()
|
TAB_DEFS_CHANNELS = New System.Windows.Forms.TabPage()
|
||||||
TP_CHANNELS = New System.Windows.Forms.TableLayoutPanel()
|
TP_CHANNELS = New System.Windows.Forms.TableLayoutPanel()
|
||||||
|
TAB_BEHAVIOR = New System.Windows.Forms.TabPage()
|
||||||
|
TP_BEHAVIOR = New System.Windows.Forms.TableLayoutPanel()
|
||||||
|
TAB_DOWN = New System.Windows.Forms.TabPage()
|
||||||
|
TP_DOWNLOADING = New System.Windows.Forms.TableLayoutPanel()
|
||||||
|
TP_OPEN_INFO = New System.Windows.Forms.TableLayoutPanel()
|
||||||
|
TP_OPEN_PROGRESS = New System.Windows.Forms.TableLayoutPanel()
|
||||||
TP_BASIS.SuspendLayout()
|
TP_BASIS.SuspendLayout()
|
||||||
CType(Me.TXT_GLOBAL_PATH, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.TXT_GLOBAL_PATH, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
TP_IMAGES.SuspendLayout()
|
TP_IMAGES.SuspendLayout()
|
||||||
@@ -95,8 +115,6 @@
|
|||||||
CType(Me.TXT_IMGUR_CLIENT_ID, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.TXT_IMGUR_CLIENT_ID, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
TP_FILE_NAME.SuspendLayout()
|
TP_FILE_NAME.SuspendLayout()
|
||||||
TP_FILE_PATTERNS.SuspendLayout()
|
TP_FILE_PATTERNS.SuspendLayout()
|
||||||
CType(Me.TXT_FOLDER_CMD, System.ComponentModel.ISupportInitialize).BeginInit()
|
|
||||||
CType(Me.TXT_SCRIPT, System.ComponentModel.ISupportInitialize).BeginInit()
|
|
||||||
TP_CHANNELS_IMGS.SuspendLayout()
|
TP_CHANNELS_IMGS.SuspendLayout()
|
||||||
CType(Me.TXT_CHANNELS_ROWS, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.TXT_CHANNELS_ROWS, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.TXT_CHANNELS_COLUMNS, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.TXT_CHANNELS_COLUMNS, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
@@ -106,9 +124,19 @@
|
|||||||
TAB_DEFS_CHANNELS.SuspendLayout()
|
TAB_DEFS_CHANNELS.SuspendLayout()
|
||||||
TP_CHANNELS.SuspendLayout()
|
TP_CHANNELS.SuspendLayout()
|
||||||
CType(Me.TXT_CHANNEL_USER_POST_LIMIT, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.TXT_CHANNEL_USER_POST_LIMIT, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
TAB_BEHAVIOR.SuspendLayout()
|
||||||
|
TP_BEHAVIOR.SuspendLayout()
|
||||||
|
CType(Me.TXT_FOLDER_CMD, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
CType(Me.TXT_CLOSE_SCRIPT, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
TAB_DOWN.SuspendLayout()
|
||||||
|
TP_DOWNLOADING.SuspendLayout()
|
||||||
|
CType(Me.TXT_SCRIPT, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
CType(Me.TXT_DOWN_COMPLETE_SCRIPT, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
Me.TAB_MAIN.SuspendLayout()
|
Me.TAB_MAIN.SuspendLayout()
|
||||||
Me.CONTAINER_MAIN.ContentPanel.SuspendLayout()
|
Me.CONTAINER_MAIN.ContentPanel.SuspendLayout()
|
||||||
Me.CONTAINER_MAIN.SuspendLayout()
|
Me.CONTAINER_MAIN.SuspendLayout()
|
||||||
|
TP_OPEN_INFO.SuspendLayout()
|
||||||
|
TP_OPEN_PROGRESS.SuspendLayout()
|
||||||
Me.SuspendLayout()
|
Me.SuspendLayout()
|
||||||
'
|
'
|
||||||
'TP_BASIS
|
'TP_BASIS
|
||||||
@@ -123,19 +151,12 @@
|
|||||||
TP_BASIS.Controls.Add(Me.TXT_MAX_JOBS_CHANNELS, 0, 4)
|
TP_BASIS.Controls.Add(Me.TXT_MAX_JOBS_CHANNELS, 0, 4)
|
||||||
TP_BASIS.Controls.Add(Me.CH_CHECK_VER_START, 0, 5)
|
TP_BASIS.Controls.Add(Me.CH_CHECK_VER_START, 0, 5)
|
||||||
TP_BASIS.Controls.Add(Me.TXT_IMGUR_CLIENT_ID, 0, 6)
|
TP_BASIS.Controls.Add(Me.TXT_IMGUR_CLIENT_ID, 0, 6)
|
||||||
TP_BASIS.Controls.Add(TP_FILE_NAME, 0, 7)
|
TP_BASIS.Controls.Add(Me.CH_SHOW_GROUPS, 0, 7)
|
||||||
TP_BASIS.Controls.Add(TP_FILE_PATTERNS, 0, 8)
|
TP_BASIS.Controls.Add(Me.CH_USERS_GROUPING, 0, 8)
|
||||||
TP_BASIS.Controls.Add(Me.CH_EXIT_CONFIRM, 0, 9)
|
|
||||||
TP_BASIS.Controls.Add(Me.CH_CLOSE_TO_TRAY, 0, 10)
|
|
||||||
TP_BASIS.Controls.Add(Me.CH_SHOW_NOTIFY, 0, 11)
|
|
||||||
TP_BASIS.Controls.Add(Me.CH_FAST_LOAD, 0, 12)
|
|
||||||
TP_BASIS.Controls.Add(Me.TXT_FOLDER_CMD, 0, 13)
|
|
||||||
TP_BASIS.Controls.Add(Me.CH_RECYCLE_DEL, 0, 14)
|
|
||||||
TP_BASIS.Controls.Add(Me.TXT_SCRIPT, 0, 15)
|
|
||||||
TP_BASIS.Dock = System.Windows.Forms.DockStyle.Fill
|
TP_BASIS.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
TP_BASIS.Location = New System.Drawing.Point(3, 3)
|
TP_BASIS.Location = New System.Drawing.Point(3, 3)
|
||||||
TP_BASIS.Name = "TP_BASIS"
|
TP_BASIS.Name = "TP_BASIS"
|
||||||
TP_BASIS.RowCount = 17
|
TP_BASIS.RowCount = 10
|
||||||
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, 28.0!))
|
||||||
@@ -143,17 +164,10 @@
|
|||||||
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.Absolute, 25.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, 30.0!))
|
|
||||||
TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30.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.Absolute, 25.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.Absolute, 25.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.Absolute, 25.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.Absolute, 28.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.Percent, 100.0!))
|
||||||
TP_BASIS.Size = New System.Drawing.Size(570, 475)
|
TP_BASIS.Size = New System.Drawing.Size(570, 253)
|
||||||
TP_BASIS.TabIndex = 0
|
TP_BASIS.TabIndex = 0
|
||||||
'
|
'
|
||||||
'TXT_GLOBAL_PATH
|
'TXT_GLOBAL_PATH
|
||||||
@@ -303,6 +317,30 @@
|
|||||||
Me.TXT_IMGUR_CLIENT_ID.Size = New System.Drawing.Size(562, 22)
|
Me.TXT_IMGUR_CLIENT_ID.Size = New System.Drawing.Size(562, 22)
|
||||||
Me.TXT_IMGUR_CLIENT_ID.TabIndex = 6
|
Me.TXT_IMGUR_CLIENT_ID.TabIndex = 6
|
||||||
'
|
'
|
||||||
|
'CH_SHOW_GROUPS
|
||||||
|
'
|
||||||
|
Me.CH_SHOW_GROUPS.AutoSize = True
|
||||||
|
Me.CH_SHOW_GROUPS.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.CH_SHOW_GROUPS.Location = New System.Drawing.Point(4, 204)
|
||||||
|
Me.CH_SHOW_GROUPS.Name = "CH_SHOW_GROUPS"
|
||||||
|
Me.CH_SHOW_GROUPS.Size = New System.Drawing.Size(562, 19)
|
||||||
|
Me.CH_SHOW_GROUPS.TabIndex = 7
|
||||||
|
Me.CH_SHOW_GROUPS.Text = "Show groups"
|
||||||
|
TT_MAIN.SetToolTip(Me.CH_SHOW_GROUPS, "Grouping users by site")
|
||||||
|
Me.CH_SHOW_GROUPS.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
|
'CH_USERS_GROUPING
|
||||||
|
'
|
||||||
|
Me.CH_USERS_GROUPING.AutoSize = True
|
||||||
|
Me.CH_USERS_GROUPING.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.CH_USERS_GROUPING.Location = New System.Drawing.Point(4, 230)
|
||||||
|
Me.CH_USERS_GROUPING.Name = "CH_USERS_GROUPING"
|
||||||
|
Me.CH_USERS_GROUPING.Size = New System.Drawing.Size(562, 19)
|
||||||
|
Me.CH_USERS_GROUPING.TabIndex = 8
|
||||||
|
Me.CH_USERS_GROUPING.Text = "Use user grouping"
|
||||||
|
TT_MAIN.SetToolTip(Me.CH_USERS_GROUPING, "Group users by groups and/or labels")
|
||||||
|
Me.CH_USERS_GROUPING.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
'TP_FILE_NAME
|
'TP_FILE_NAME
|
||||||
'
|
'
|
||||||
TP_FILE_NAME.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
|
TP_FILE_NAME.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
|
||||||
@@ -314,21 +352,21 @@
|
|||||||
TP_FILE_NAME.Controls.Add(Me.OPT_FILE_NAME_ADD_DATE, 2, 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.Controls.Add(Me.CH_FILE_NAME_CHANGE, 0, 0)
|
||||||
TP_FILE_NAME.Dock = System.Windows.Forms.DockStyle.Fill
|
TP_FILE_NAME.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
TP_FILE_NAME.Location = New System.Drawing.Point(1, 201)
|
TP_FILE_NAME.Location = New System.Drawing.Point(1, 27)
|
||||||
TP_FILE_NAME.Margin = New System.Windows.Forms.Padding(0)
|
TP_FILE_NAME.Margin = New System.Windows.Forms.Padding(0)
|
||||||
TP_FILE_NAME.Name = "TP_FILE_NAME"
|
TP_FILE_NAME.Name = "TP_FILE_NAME"
|
||||||
TP_FILE_NAME.RowCount = 1
|
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.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||||
TP_FILE_NAME.Size = New System.Drawing.Size(568, 30)
|
TP_FILE_NAME.Size = New System.Drawing.Size(574, 30)
|
||||||
TP_FILE_NAME.TabIndex = 7
|
TP_FILE_NAME.TabIndex = 1
|
||||||
'
|
'
|
||||||
'OPT_FILE_NAME_REPLACE
|
'OPT_FILE_NAME_REPLACE
|
||||||
'
|
'
|
||||||
Me.OPT_FILE_NAME_REPLACE.AutoSize = True
|
Me.OPT_FILE_NAME_REPLACE.AutoSize = True
|
||||||
Me.OPT_FILE_NAME_REPLACE.Dock = System.Windows.Forms.DockStyle.Fill
|
Me.OPT_FILE_NAME_REPLACE.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
Me.OPT_FILE_NAME_REPLACE.Location = New System.Drawing.Point(193, 4)
|
Me.OPT_FILE_NAME_REPLACE.Location = New System.Drawing.Point(195, 4)
|
||||||
Me.OPT_FILE_NAME_REPLACE.Name = "OPT_FILE_NAME_REPLACE"
|
Me.OPT_FILE_NAME_REPLACE.Name = "OPT_FILE_NAME_REPLACE"
|
||||||
Me.OPT_FILE_NAME_REPLACE.Size = New System.Drawing.Size(182, 22)
|
Me.OPT_FILE_NAME_REPLACE.Size = New System.Drawing.Size(184, 22)
|
||||||
Me.OPT_FILE_NAME_REPLACE.TabIndex = 1
|
Me.OPT_FILE_NAME_REPLACE.TabIndex = 1
|
||||||
Me.OPT_FILE_NAME_REPLACE.TabStop = True
|
Me.OPT_FILE_NAME_REPLACE.TabStop = True
|
||||||
Me.OPT_FILE_NAME_REPLACE.Text = "Replace file name by date"
|
Me.OPT_FILE_NAME_REPLACE.Text = "Replace file name by date"
|
||||||
@@ -338,9 +376,9 @@
|
|||||||
'
|
'
|
||||||
Me.OPT_FILE_NAME_ADD_DATE.AutoSize = True
|
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.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
Me.OPT_FILE_NAME_ADD_DATE.Location = New System.Drawing.Point(382, 4)
|
Me.OPT_FILE_NAME_ADD_DATE.Location = New System.Drawing.Point(386, 4)
|
||||||
Me.OPT_FILE_NAME_ADD_DATE.Name = "OPT_FILE_NAME_ADD_DATE"
|
Me.OPT_FILE_NAME_ADD_DATE.Name = "OPT_FILE_NAME_ADD_DATE"
|
||||||
Me.OPT_FILE_NAME_ADD_DATE.Size = New System.Drawing.Size(182, 22)
|
Me.OPT_FILE_NAME_ADD_DATE.Size = New System.Drawing.Size(184, 22)
|
||||||
Me.OPT_FILE_NAME_ADD_DATE.TabIndex = 2
|
Me.OPT_FILE_NAME_ADD_DATE.TabIndex = 2
|
||||||
Me.OPT_FILE_NAME_ADD_DATE.TabStop = True
|
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.Text = "Add date/time to file name"
|
||||||
@@ -352,7 +390,7 @@
|
|||||||
Me.CH_FILE_NAME_CHANGE.Dock = System.Windows.Forms.DockStyle.Fill
|
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.Location = New System.Drawing.Point(4, 4)
|
||||||
Me.CH_FILE_NAME_CHANGE.Name = "CH_FILE_NAME_CHANGE"
|
Me.CH_FILE_NAME_CHANGE.Name = "CH_FILE_NAME_CHANGE"
|
||||||
Me.CH_FILE_NAME_CHANGE.Size = New System.Drawing.Size(182, 22)
|
Me.CH_FILE_NAME_CHANGE.Size = New System.Drawing.Size(184, 22)
|
||||||
Me.CH_FILE_NAME_CHANGE.TabIndex = 0
|
Me.CH_FILE_NAME_CHANGE.TabIndex = 0
|
||||||
Me.CH_FILE_NAME_CHANGE.Text = "Change file names"
|
Me.CH_FILE_NAME_CHANGE.Text = "Change file names"
|
||||||
Me.CH_FILE_NAME_CHANGE.UseVisualStyleBackColor = True
|
Me.CH_FILE_NAME_CHANGE.UseVisualStyleBackColor = True
|
||||||
@@ -372,14 +410,14 @@
|
|||||||
TP_FILE_PATTERNS.Controls.Add(Me.OPT_FILE_DATE_START, 3, 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.Controls.Add(Me.OPT_FILE_DATE_END, 4, 0)
|
||||||
TP_FILE_PATTERNS.Dock = System.Windows.Forms.DockStyle.Fill
|
TP_FILE_PATTERNS.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
TP_FILE_PATTERNS.Location = New System.Drawing.Point(1, 232)
|
TP_FILE_PATTERNS.Location = New System.Drawing.Point(1, 58)
|
||||||
TP_FILE_PATTERNS.Margin = New System.Windows.Forms.Padding(0)
|
TP_FILE_PATTERNS.Margin = New System.Windows.Forms.Padding(0)
|
||||||
TP_FILE_PATTERNS.Name = "TP_FILE_PATTERNS"
|
TP_FILE_PATTERNS.Name = "TP_FILE_PATTERNS"
|
||||||
TP_FILE_PATTERNS.RowCount = 1
|
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.Percent, 100.0!))
|
||||||
TP_FILE_PATTERNS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 29.0!))
|
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.Size = New System.Drawing.Size(574, 30)
|
||||||
TP_FILE_PATTERNS.TabIndex = 8
|
TP_FILE_PATTERNS.TabIndex = 2
|
||||||
'
|
'
|
||||||
'CH_FILE_DATE
|
'CH_FILE_DATE
|
||||||
'
|
'
|
||||||
@@ -387,7 +425,7 @@
|
|||||||
Me.CH_FILE_DATE.Dock = System.Windows.Forms.DockStyle.Fill
|
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.Location = New System.Drawing.Point(4, 4)
|
||||||
Me.CH_FILE_DATE.Name = "CH_FILE_DATE"
|
Me.CH_FILE_DATE.Name = "CH_FILE_DATE"
|
||||||
Me.CH_FILE_DATE.Size = New System.Drawing.Size(106, 22)
|
Me.CH_FILE_DATE.Size = New System.Drawing.Size(107, 22)
|
||||||
Me.CH_FILE_DATE.TabIndex = 0
|
Me.CH_FILE_DATE.TabIndex = 0
|
||||||
Me.CH_FILE_DATE.Text = "Date"
|
Me.CH_FILE_DATE.Text = "Date"
|
||||||
Me.CH_FILE_DATE.UseVisualStyleBackColor = True
|
Me.CH_FILE_DATE.UseVisualStyleBackColor = True
|
||||||
@@ -396,9 +434,9 @@
|
|||||||
'
|
'
|
||||||
Me.CH_FILE_TIME.AutoSize = True
|
Me.CH_FILE_TIME.AutoSize = True
|
||||||
Me.CH_FILE_TIME.Dock = System.Windows.Forms.DockStyle.Fill
|
Me.CH_FILE_TIME.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
Me.CH_FILE_TIME.Location = New System.Drawing.Point(117, 4)
|
Me.CH_FILE_TIME.Location = New System.Drawing.Point(118, 4)
|
||||||
Me.CH_FILE_TIME.Name = "CH_FILE_TIME"
|
Me.CH_FILE_TIME.Name = "CH_FILE_TIME"
|
||||||
Me.CH_FILE_TIME.Size = New System.Drawing.Size(106, 22)
|
Me.CH_FILE_TIME.Size = New System.Drawing.Size(107, 22)
|
||||||
Me.CH_FILE_TIME.TabIndex = 1
|
Me.CH_FILE_TIME.TabIndex = 1
|
||||||
Me.CH_FILE_TIME.Text = "Time"
|
Me.CH_FILE_TIME.Text = "Time"
|
||||||
Me.CH_FILE_TIME.UseVisualStyleBackColor = True
|
Me.CH_FILE_TIME.UseVisualStyleBackColor = True
|
||||||
@@ -407,9 +445,9 @@
|
|||||||
'
|
'
|
||||||
LBL_DATE_POS.AutoSize = True
|
LBL_DATE_POS.AutoSize = True
|
||||||
LBL_DATE_POS.Dock = System.Windows.Forms.DockStyle.Fill
|
LBL_DATE_POS.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
LBL_DATE_POS.Location = New System.Drawing.Point(230, 1)
|
LBL_DATE_POS.Location = New System.Drawing.Point(232, 1)
|
||||||
LBL_DATE_POS.Name = "LBL_DATE_POS"
|
LBL_DATE_POS.Name = "LBL_DATE_POS"
|
||||||
LBL_DATE_POS.Size = New System.Drawing.Size(106, 28)
|
LBL_DATE_POS.Size = New System.Drawing.Size(107, 28)
|
||||||
LBL_DATE_POS.TabIndex = 2
|
LBL_DATE_POS.TabIndex = 2
|
||||||
LBL_DATE_POS.Text = "Date position:"
|
LBL_DATE_POS.Text = "Date position:"
|
||||||
LBL_DATE_POS.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
LBL_DATE_POS.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||||
@@ -418,9 +456,9 @@
|
|||||||
'
|
'
|
||||||
Me.OPT_FILE_DATE_START.AutoSize = True
|
Me.OPT_FILE_DATE_START.AutoSize = True
|
||||||
Me.OPT_FILE_DATE_START.Dock = System.Windows.Forms.DockStyle.Fill
|
Me.OPT_FILE_DATE_START.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
Me.OPT_FILE_DATE_START.Location = New System.Drawing.Point(343, 4)
|
Me.OPT_FILE_DATE_START.Location = New System.Drawing.Point(346, 4)
|
||||||
Me.OPT_FILE_DATE_START.Name = "OPT_FILE_DATE_START"
|
Me.OPT_FILE_DATE_START.Name = "OPT_FILE_DATE_START"
|
||||||
Me.OPT_FILE_DATE_START.Size = New System.Drawing.Size(106, 22)
|
Me.OPT_FILE_DATE_START.Size = New System.Drawing.Size(107, 22)
|
||||||
Me.OPT_FILE_DATE_START.TabIndex = 3
|
Me.OPT_FILE_DATE_START.TabIndex = 3
|
||||||
Me.OPT_FILE_DATE_START.TabStop = True
|
Me.OPT_FILE_DATE_START.TabStop = True
|
||||||
Me.OPT_FILE_DATE_START.Text = "Start"
|
Me.OPT_FILE_DATE_START.Text = "Start"
|
||||||
@@ -430,116 +468,26 @@
|
|||||||
'
|
'
|
||||||
Me.OPT_FILE_DATE_END.AutoSize = True
|
Me.OPT_FILE_DATE_END.AutoSize = True
|
||||||
Me.OPT_FILE_DATE_END.Dock = System.Windows.Forms.DockStyle.Fill
|
Me.OPT_FILE_DATE_END.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
Me.OPT_FILE_DATE_END.Location = New System.Drawing.Point(456, 4)
|
Me.OPT_FILE_DATE_END.Location = New System.Drawing.Point(460, 4)
|
||||||
Me.OPT_FILE_DATE_END.Name = "OPT_FILE_DATE_END"
|
Me.OPT_FILE_DATE_END.Name = "OPT_FILE_DATE_END"
|
||||||
Me.OPT_FILE_DATE_END.Size = New System.Drawing.Size(108, 22)
|
Me.OPT_FILE_DATE_END.Size = New System.Drawing.Size(110, 22)
|
||||||
Me.OPT_FILE_DATE_END.TabIndex = 4
|
Me.OPT_FILE_DATE_END.TabIndex = 4
|
||||||
Me.OPT_FILE_DATE_END.TabStop = True
|
Me.OPT_FILE_DATE_END.TabStop = True
|
||||||
Me.OPT_FILE_DATE_END.Text = "End"
|
Me.OPT_FILE_DATE_END.Text = "End"
|
||||||
Me.OPT_FILE_DATE_END.UseVisualStyleBackColor = True
|
Me.OPT_FILE_DATE_END.UseVisualStyleBackColor = True
|
||||||
'
|
'
|
||||||
'CH_EXIT_CONFIRM
|
|
||||||
'
|
|
||||||
Me.CH_EXIT_CONFIRM.AutoSize = True
|
|
||||||
Me.CH_EXIT_CONFIRM.Dock = System.Windows.Forms.DockStyle.Fill
|
|
||||||
Me.CH_EXIT_CONFIRM.Location = New System.Drawing.Point(4, 266)
|
|
||||||
Me.CH_EXIT_CONFIRM.Name = "CH_EXIT_CONFIRM"
|
|
||||||
Me.CH_EXIT_CONFIRM.Size = New System.Drawing.Size(562, 19)
|
|
||||||
Me.CH_EXIT_CONFIRM.TabIndex = 9
|
|
||||||
Me.CH_EXIT_CONFIRM.Text = "Exit confirm"
|
|
||||||
Me.CH_EXIT_CONFIRM.UseVisualStyleBackColor = True
|
|
||||||
'
|
|
||||||
'CH_CLOSE_TO_TRAY
|
|
||||||
'
|
|
||||||
Me.CH_CLOSE_TO_TRAY.AutoSize = True
|
|
||||||
Me.CH_CLOSE_TO_TRAY.Dock = System.Windows.Forms.DockStyle.Fill
|
|
||||||
Me.CH_CLOSE_TO_TRAY.Location = New System.Drawing.Point(4, 292)
|
|
||||||
Me.CH_CLOSE_TO_TRAY.Name = "CH_CLOSE_TO_TRAY"
|
|
||||||
Me.CH_CLOSE_TO_TRAY.Size = New System.Drawing.Size(562, 19)
|
|
||||||
Me.CH_CLOSE_TO_TRAY.TabIndex = 10
|
|
||||||
Me.CH_CLOSE_TO_TRAY.Text = "Close to tray"
|
|
||||||
Me.CH_CLOSE_TO_TRAY.UseVisualStyleBackColor = True
|
|
||||||
'
|
|
||||||
'CH_SHOW_NOTIFY
|
|
||||||
'
|
|
||||||
Me.CH_SHOW_NOTIFY.AutoSize = True
|
|
||||||
Me.CH_SHOW_NOTIFY.Dock = System.Windows.Forms.DockStyle.Fill
|
|
||||||
Me.CH_SHOW_NOTIFY.Location = New System.Drawing.Point(4, 318)
|
|
||||||
Me.CH_SHOW_NOTIFY.Name = "CH_SHOW_NOTIFY"
|
|
||||||
Me.CH_SHOW_NOTIFY.Size = New System.Drawing.Size(562, 19)
|
|
||||||
Me.CH_SHOW_NOTIFY.TabIndex = 11
|
|
||||||
Me.CH_SHOW_NOTIFY.Text = "Show notifications"
|
|
||||||
Me.CH_SHOW_NOTIFY.UseVisualStyleBackColor = True
|
|
||||||
'
|
|
||||||
'CH_FAST_LOAD
|
'CH_FAST_LOAD
|
||||||
'
|
'
|
||||||
Me.CH_FAST_LOAD.AutoSize = True
|
Me.CH_FAST_LOAD.AutoSize = True
|
||||||
Me.CH_FAST_LOAD.Dock = System.Windows.Forms.DockStyle.Fill
|
Me.CH_FAST_LOAD.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
Me.CH_FAST_LOAD.Location = New System.Drawing.Point(4, 344)
|
Me.CH_FAST_LOAD.Location = New System.Drawing.Point(4, 82)
|
||||||
Me.CH_FAST_LOAD.Name = "CH_FAST_LOAD"
|
Me.CH_FAST_LOAD.Name = "CH_FAST_LOAD"
|
||||||
Me.CH_FAST_LOAD.Size = New System.Drawing.Size(562, 19)
|
Me.CH_FAST_LOAD.Size = New System.Drawing.Size(568, 19)
|
||||||
Me.CH_FAST_LOAD.TabIndex = 12
|
Me.CH_FAST_LOAD.TabIndex = 3
|
||||||
Me.CH_FAST_LOAD.Text = "Fast profiles loading"
|
Me.CH_FAST_LOAD.Text = "Fast profiles loading"
|
||||||
TT_MAIN.SetToolTip(Me.CH_FAST_LOAD, "Fast loading of profiles in the main window")
|
TT_MAIN.SetToolTip(Me.CH_FAST_LOAD, "Fast loading of profiles in the main window")
|
||||||
Me.CH_FAST_LOAD.UseVisualStyleBackColor = True
|
Me.CH_FAST_LOAD.UseVisualStyleBackColor = True
|
||||||
'
|
'
|
||||||
'TXT_FOLDER_CMD
|
|
||||||
'
|
|
||||||
Me.TXT_FOLDER_CMD.AutoShowClearButton = True
|
|
||||||
ActionButton7.BackgroundImage = CType(resources.GetObject("ActionButton7.BackgroundImage"), System.Drawing.Image)
|
|
||||||
ActionButton7.Enabled = False
|
|
||||||
ActionButton7.Index = 0
|
|
||||||
ActionButton7.Name = "BTT_CLEAR"
|
|
||||||
ActionButton7.Visible = False
|
|
||||||
Me.TXT_FOLDER_CMD.Buttons.Add(ActionButton7)
|
|
||||||
Me.TXT_FOLDER_CMD.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox
|
|
||||||
Me.TXT_FOLDER_CMD.CaptionText = "Folder cmd"
|
|
||||||
Me.TXT_FOLDER_CMD.CaptionToolTipEnabled = True
|
|
||||||
Me.TXT_FOLDER_CMD.CaptionToolTipText = "The command to open a folder."
|
|
||||||
Me.TXT_FOLDER_CMD.Dock = System.Windows.Forms.DockStyle.Fill
|
|
||||||
Me.TXT_FOLDER_CMD.LeaveDefaultButtons = True
|
|
||||||
Me.TXT_FOLDER_CMD.Location = New System.Drawing.Point(4, 370)
|
|
||||||
Me.TXT_FOLDER_CMD.Name = "TXT_FOLDER_CMD"
|
|
||||||
Me.TXT_FOLDER_CMD.PlaceholderEnabled = True
|
|
||||||
Me.TXT_FOLDER_CMD.PlaceholderText = "MyCommand /arg {0}"
|
|
||||||
Me.TXT_FOLDER_CMD.Size = New System.Drawing.Size(562, 22)
|
|
||||||
Me.TXT_FOLDER_CMD.TabIndex = 13
|
|
||||||
'
|
|
||||||
'CH_RECYCLE_DEL
|
|
||||||
'
|
|
||||||
Me.CH_RECYCLE_DEL.AutoSize = True
|
|
||||||
Me.CH_RECYCLE_DEL.Dock = System.Windows.Forms.DockStyle.Fill
|
|
||||||
Me.CH_RECYCLE_DEL.Location = New System.Drawing.Point(4, 399)
|
|
||||||
Me.CH_RECYCLE_DEL.Name = "CH_RECYCLE_DEL"
|
|
||||||
Me.CH_RECYCLE_DEL.Size = New System.Drawing.Size(562, 19)
|
|
||||||
Me.CH_RECYCLE_DEL.TabIndex = 14
|
|
||||||
Me.CH_RECYCLE_DEL.Text = "Delete data to recycle bin"
|
|
||||||
Me.CH_RECYCLE_DEL.UseVisualStyleBackColor = True
|
|
||||||
'
|
|
||||||
'TXT_SCRIPT
|
|
||||||
'
|
|
||||||
ActionButton8.BackgroundImage = CType(resources.GetObject("ActionButton8.BackgroundImage"), System.Drawing.Image)
|
|
||||||
ActionButton8.Index = 0
|
|
||||||
ActionButton8.Name = "BTT_OPEN"
|
|
||||||
ActionButton9.BackgroundImage = CType(resources.GetObject("ActionButton9.BackgroundImage"), System.Drawing.Image)
|
|
||||||
ActionButton9.Index = 1
|
|
||||||
ActionButton9.Name = "BTT_CLEAR"
|
|
||||||
Me.TXT_SCRIPT.Buttons.Add(ActionButton8)
|
|
||||||
Me.TXT_SCRIPT.Buttons.Add(ActionButton9)
|
|
||||||
Me.TXT_SCRIPT.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox
|
|
||||||
Me.TXT_SCRIPT.CaptionText = "Script"
|
|
||||||
Me.TXT_SCRIPT.CaptionToolTipEnabled = True
|
|
||||||
Me.TXT_SCRIPT.CaptionToolTipText = "Default script. If the checkbox is checked, newly created users will be created u" &
|
|
||||||
"sing the script option."
|
|
||||||
Me.TXT_SCRIPT.ChangeControlsEnableOnCheckedChange = False
|
|
||||||
Me.TXT_SCRIPT.Dock = System.Windows.Forms.DockStyle.Fill
|
|
||||||
Me.TXT_SCRIPT.Location = New System.Drawing.Point(4, 425)
|
|
||||||
Me.TXT_SCRIPT.Name = "TXT_SCRIPT"
|
|
||||||
Me.TXT_SCRIPT.PlaceholderEnabled = True
|
|
||||||
Me.TXT_SCRIPT.PlaceholderText = "Enter script path here..."
|
|
||||||
Me.TXT_SCRIPT.Size = New System.Drawing.Size(562, 22)
|
|
||||||
Me.TXT_SCRIPT.TabIndex = 15
|
|
||||||
'
|
|
||||||
'CH_COPY_CHANNEL_USER_IMAGE
|
'CH_COPY_CHANNEL_USER_IMAGE
|
||||||
'
|
'
|
||||||
Me.CH_COPY_CHANNEL_USER_IMAGE.AutoSize = True
|
Me.CH_COPY_CHANNEL_USER_IMAGE.AutoSize = True
|
||||||
@@ -629,10 +577,10 @@
|
|||||||
'
|
'
|
||||||
Me.CH_UDESCR_UP.AutoSize = True
|
Me.CH_UDESCR_UP.AutoSize = True
|
||||||
Me.CH_UDESCR_UP.Dock = System.Windows.Forms.DockStyle.Fill
|
Me.CH_UDESCR_UP.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
Me.CH_UDESCR_UP.Location = New System.Drawing.Point(4, 108)
|
Me.CH_UDESCR_UP.Location = New System.Drawing.Point(4, 4)
|
||||||
Me.CH_UDESCR_UP.Name = "CH_UDESCR_UP"
|
Me.CH_UDESCR_UP.Name = "CH_UDESCR_UP"
|
||||||
Me.CH_UDESCR_UP.Size = New System.Drawing.Size(562, 19)
|
Me.CH_UDESCR_UP.Size = New System.Drawing.Size(568, 19)
|
||||||
Me.CH_UDESCR_UP.TabIndex = 4
|
Me.CH_UDESCR_UP.TabIndex = 0
|
||||||
Me.CH_UDESCR_UP.Text = "Update user description every time"
|
Me.CH_UDESCR_UP.Text = "Update user description every time"
|
||||||
TT_MAIN.SetToolTip(Me.CH_UDESCR_UP, "If the user description does not contain a new user description, then the new one" &
|
TT_MAIN.SetToolTip(Me.CH_UDESCR_UP, "If the user description does not contain a new user description, then the new one" &
|
||||||
" will be added via a new line")
|
" will be added via a new line")
|
||||||
@@ -689,7 +637,7 @@
|
|||||||
TAB_BASIS.Location = New System.Drawing.Point(4, 22)
|
TAB_BASIS.Location = New System.Drawing.Point(4, 22)
|
||||||
TAB_BASIS.Name = "TAB_BASIS"
|
TAB_BASIS.Name = "TAB_BASIS"
|
||||||
TAB_BASIS.Padding = New System.Windows.Forms.Padding(3)
|
TAB_BASIS.Padding = New System.Windows.Forms.Padding(3)
|
||||||
TAB_BASIS.Size = New System.Drawing.Size(576, 481)
|
TAB_BASIS.Size = New System.Drawing.Size(576, 259)
|
||||||
TAB_BASIS.TabIndex = 0
|
TAB_BASIS.TabIndex = 0
|
||||||
TAB_BASIS.Text = "Basis"
|
TAB_BASIS.Text = "Basis"
|
||||||
'
|
'
|
||||||
@@ -699,7 +647,7 @@
|
|||||||
TAB_DEFAULTS.Location = New System.Drawing.Point(4, 22)
|
TAB_DEFAULTS.Location = New System.Drawing.Point(4, 22)
|
||||||
TAB_DEFAULTS.Name = "TAB_DEFAULTS"
|
TAB_DEFAULTS.Name = "TAB_DEFAULTS"
|
||||||
TAB_DEFAULTS.Padding = New System.Windows.Forms.Padding(3)
|
TAB_DEFAULTS.Padding = New System.Windows.Forms.Padding(3)
|
||||||
TAB_DEFAULTS.Size = New System.Drawing.Size(576, 481)
|
TAB_DEFAULTS.Size = New System.Drawing.Size(576, 284)
|
||||||
TAB_DEFAULTS.TabIndex = 1
|
TAB_DEFAULTS.TabIndex = 1
|
||||||
TAB_DEFAULTS.Text = "Defaults"
|
TAB_DEFAULTS.Text = "Defaults"
|
||||||
'
|
'
|
||||||
@@ -712,18 +660,17 @@
|
|||||||
TP_DEFS.Controls.Add(Me.CH_DOWN_VIDEOS, 0, 3)
|
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_DOWN_IMAGES, 0, 2)
|
||||||
TP_DEFS.Controls.Add(Me.CH_DEF_TEMP, 0, 1)
|
TP_DEFS.Controls.Add(Me.CH_DEF_TEMP, 0, 1)
|
||||||
TP_DEFS.Controls.Add(Me.CH_UDESCR_UP, 0, 4)
|
|
||||||
TP_DEFS.Dock = System.Windows.Forms.DockStyle.Fill
|
TP_DEFS.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
TP_DEFS.Location = New System.Drawing.Point(3, 3)
|
TP_DEFS.Location = New System.Drawing.Point(3, 3)
|
||||||
TP_DEFS.Name = "TP_DEFS"
|
TP_DEFS.Name = "TP_DEFS"
|
||||||
TP_DEFS.RowCount = 6
|
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.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.Absolute, 25.0!))
|
||||||
TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.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, 475)
|
TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
|
||||||
|
TP_DEFS.Size = New System.Drawing.Size(570, 278)
|
||||||
TP_DEFS.TabIndex = 0
|
TP_DEFS.TabIndex = 0
|
||||||
'
|
'
|
||||||
'TAB_DEFS_CHANNELS
|
'TAB_DEFS_CHANNELS
|
||||||
@@ -732,7 +679,7 @@
|
|||||||
TAB_DEFS_CHANNELS.Location = New System.Drawing.Point(4, 22)
|
TAB_DEFS_CHANNELS.Location = New System.Drawing.Point(4, 22)
|
||||||
TAB_DEFS_CHANNELS.Name = "TAB_DEFS_CHANNELS"
|
TAB_DEFS_CHANNELS.Name = "TAB_DEFS_CHANNELS"
|
||||||
TAB_DEFS_CHANNELS.Padding = New System.Windows.Forms.Padding(3)
|
TAB_DEFS_CHANNELS.Padding = New System.Windows.Forms.Padding(3)
|
||||||
TAB_DEFS_CHANNELS.Size = New System.Drawing.Size(576, 481)
|
TAB_DEFS_CHANNELS.Size = New System.Drawing.Size(576, 284)
|
||||||
TAB_DEFS_CHANNELS.TabIndex = 4
|
TAB_DEFS_CHANNELS.TabIndex = 4
|
||||||
TAB_DEFS_CHANNELS.Text = "Channels"
|
TAB_DEFS_CHANNELS.Text = "Channels"
|
||||||
'
|
'
|
||||||
@@ -756,7 +703,7 @@
|
|||||||
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, 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.Percent, 100.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, 475)
|
TP_CHANNELS.Size = New System.Drawing.Size(570, 278)
|
||||||
TP_CHANNELS.TabIndex = 0
|
TP_CHANNELS.TabIndex = 0
|
||||||
'
|
'
|
||||||
'TXT_CHANNEL_USER_POST_LIMIT
|
'TXT_CHANNEL_USER_POST_LIMIT
|
||||||
@@ -779,16 +726,232 @@
|
|||||||
Me.TXT_CHANNEL_USER_POST_LIMIT.Text = "1"
|
Me.TXT_CHANNEL_USER_POST_LIMIT.Text = "1"
|
||||||
Me.TXT_CHANNEL_USER_POST_LIMIT.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
Me.TXT_CHANNEL_USER_POST_LIMIT.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||||
'
|
'
|
||||||
|
'TAB_BEHAVIOR
|
||||||
|
'
|
||||||
|
TAB_BEHAVIOR.Controls.Add(TP_BEHAVIOR)
|
||||||
|
TAB_BEHAVIOR.Location = New System.Drawing.Point(4, 22)
|
||||||
|
TAB_BEHAVIOR.Name = "TAB_BEHAVIOR"
|
||||||
|
TAB_BEHAVIOR.Size = New System.Drawing.Size(576, 284)
|
||||||
|
TAB_BEHAVIOR.TabIndex = 5
|
||||||
|
TAB_BEHAVIOR.Text = "Behavior"
|
||||||
|
'
|
||||||
|
'TP_BEHAVIOR
|
||||||
|
'
|
||||||
|
TP_BEHAVIOR.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
|
||||||
|
TP_BEHAVIOR.ColumnCount = 1
|
||||||
|
TP_BEHAVIOR.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||||
|
TP_BEHAVIOR.Controls.Add(Me.TXT_FOLDER_CMD, 0, 7)
|
||||||
|
TP_BEHAVIOR.Controls.Add(Me.CH_EXIT_CONFIRM, 0, 0)
|
||||||
|
TP_BEHAVIOR.Controls.Add(Me.CH_CLOSE_TO_TRAY, 0, 1)
|
||||||
|
TP_BEHAVIOR.Controls.Add(Me.CH_SHOW_NOTIFY, 0, 2)
|
||||||
|
TP_BEHAVIOR.Controls.Add(Me.CH_FAST_LOAD, 0, 3)
|
||||||
|
TP_BEHAVIOR.Controls.Add(Me.TXT_CLOSE_SCRIPT, 0, 8)
|
||||||
|
TP_BEHAVIOR.Controls.Add(TP_OPEN_INFO, 0, 5)
|
||||||
|
TP_BEHAVIOR.Controls.Add(Me.CH_RECYCLE_DEL, 0, 4)
|
||||||
|
TP_BEHAVIOR.Controls.Add(TP_OPEN_PROGRESS, 0, 6)
|
||||||
|
TP_BEHAVIOR.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
TP_BEHAVIOR.Location = New System.Drawing.Point(0, 0)
|
||||||
|
TP_BEHAVIOR.Name = "TP_BEHAVIOR"
|
||||||
|
TP_BEHAVIOR.RowCount = 11
|
||||||
|
TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
||||||
|
TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
||||||
|
TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
||||||
|
TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
||||||
|
TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
||||||
|
TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
||||||
|
TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
||||||
|
TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
|
||||||
|
TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
|
||||||
|
TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
||||||
|
TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||||
|
TP_BEHAVIOR.Size = New System.Drawing.Size(576, 284)
|
||||||
|
TP_BEHAVIOR.TabIndex = 0
|
||||||
|
'
|
||||||
|
'TXT_FOLDER_CMD
|
||||||
|
'
|
||||||
|
Me.TXT_FOLDER_CMD.AutoShowClearButton = True
|
||||||
|
ActionButton7.BackgroundImage = CType(resources.GetObject("ActionButton7.BackgroundImage"), System.Drawing.Image)
|
||||||
|
ActionButton7.Enabled = False
|
||||||
|
ActionButton7.Index = 0
|
||||||
|
ActionButton7.Name = "BTT_CLEAR"
|
||||||
|
ActionButton7.Visible = False
|
||||||
|
Me.TXT_FOLDER_CMD.Buttons.Add(ActionButton7)
|
||||||
|
Me.TXT_FOLDER_CMD.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox
|
||||||
|
Me.TXT_FOLDER_CMD.CaptionText = "Folder cmd"
|
||||||
|
Me.TXT_FOLDER_CMD.CaptionToolTipEnabled = True
|
||||||
|
Me.TXT_FOLDER_CMD.CaptionToolTipText = "The command to open a folder."
|
||||||
|
Me.TXT_FOLDER_CMD.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.TXT_FOLDER_CMD.LeaveDefaultButtons = True
|
||||||
|
Me.TXT_FOLDER_CMD.Location = New System.Drawing.Point(4, 186)
|
||||||
|
Me.TXT_FOLDER_CMD.Name = "TXT_FOLDER_CMD"
|
||||||
|
Me.TXT_FOLDER_CMD.PlaceholderEnabled = True
|
||||||
|
Me.TXT_FOLDER_CMD.PlaceholderText = "MyCommand /arg {0}"
|
||||||
|
Me.TXT_FOLDER_CMD.Size = New System.Drawing.Size(568, 22)
|
||||||
|
Me.TXT_FOLDER_CMD.TabIndex = 7
|
||||||
|
'
|
||||||
|
'CH_EXIT_CONFIRM
|
||||||
|
'
|
||||||
|
Me.CH_EXIT_CONFIRM.AutoSize = True
|
||||||
|
Me.CH_EXIT_CONFIRM.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.CH_EXIT_CONFIRM.Location = New System.Drawing.Point(4, 4)
|
||||||
|
Me.CH_EXIT_CONFIRM.Name = "CH_EXIT_CONFIRM"
|
||||||
|
Me.CH_EXIT_CONFIRM.Size = New System.Drawing.Size(568, 19)
|
||||||
|
Me.CH_EXIT_CONFIRM.TabIndex = 0
|
||||||
|
Me.CH_EXIT_CONFIRM.Text = "Exit confirm"
|
||||||
|
Me.CH_EXIT_CONFIRM.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
|
'CH_CLOSE_TO_TRAY
|
||||||
|
'
|
||||||
|
Me.CH_CLOSE_TO_TRAY.AutoSize = True
|
||||||
|
Me.CH_CLOSE_TO_TRAY.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.CH_CLOSE_TO_TRAY.Location = New System.Drawing.Point(4, 30)
|
||||||
|
Me.CH_CLOSE_TO_TRAY.Name = "CH_CLOSE_TO_TRAY"
|
||||||
|
Me.CH_CLOSE_TO_TRAY.Size = New System.Drawing.Size(568, 19)
|
||||||
|
Me.CH_CLOSE_TO_TRAY.TabIndex = 1
|
||||||
|
Me.CH_CLOSE_TO_TRAY.Text = "Close to tray"
|
||||||
|
Me.CH_CLOSE_TO_TRAY.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
|
'CH_SHOW_NOTIFY
|
||||||
|
'
|
||||||
|
Me.CH_SHOW_NOTIFY.AutoSize = True
|
||||||
|
Me.CH_SHOW_NOTIFY.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.CH_SHOW_NOTIFY.Location = New System.Drawing.Point(4, 56)
|
||||||
|
Me.CH_SHOW_NOTIFY.Name = "CH_SHOW_NOTIFY"
|
||||||
|
Me.CH_SHOW_NOTIFY.Size = New System.Drawing.Size(568, 19)
|
||||||
|
Me.CH_SHOW_NOTIFY.TabIndex = 2
|
||||||
|
Me.CH_SHOW_NOTIFY.Text = "Show notifications"
|
||||||
|
Me.CH_SHOW_NOTIFY.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
|
'CH_RECYCLE_DEL
|
||||||
|
'
|
||||||
|
Me.CH_RECYCLE_DEL.AutoSize = True
|
||||||
|
Me.CH_RECYCLE_DEL.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.CH_RECYCLE_DEL.Location = New System.Drawing.Point(4, 108)
|
||||||
|
Me.CH_RECYCLE_DEL.Name = "CH_RECYCLE_DEL"
|
||||||
|
Me.CH_RECYCLE_DEL.Size = New System.Drawing.Size(568, 19)
|
||||||
|
Me.CH_RECYCLE_DEL.TabIndex = 4
|
||||||
|
Me.CH_RECYCLE_DEL.Text = "Delete data to recycle bin"
|
||||||
|
Me.CH_RECYCLE_DEL.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
|
'CH_DOWN_OPEN_INFO
|
||||||
|
'
|
||||||
|
Me.CH_DOWN_OPEN_INFO.AutoSize = True
|
||||||
|
Me.CH_DOWN_OPEN_INFO.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.CH_DOWN_OPEN_INFO.Location = New System.Drawing.Point(4, 4)
|
||||||
|
Me.CH_DOWN_OPEN_INFO.Name = "CH_DOWN_OPEN_INFO"
|
||||||
|
Me.CH_DOWN_OPEN_INFO.Size = New System.Drawing.Size(279, 17)
|
||||||
|
Me.CH_DOWN_OPEN_INFO.TabIndex = 0
|
||||||
|
Me.CH_DOWN_OPEN_INFO.Text = "Open the 'Info' form when the download starts"
|
||||||
|
Me.CH_DOWN_OPEN_INFO.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
|
'CH_DOWN_OPEN_PROGRESS
|
||||||
|
'
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS.AutoSize = True
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS.Location = New System.Drawing.Point(4, 4)
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS.Name = "CH_DOWN_OPEN_PROGRESS"
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS.Size = New System.Drawing.Size(279, 17)
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS.TabIndex = 0
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS.Text = "Open the 'Progress' form when the download starts"
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
|
'TXT_CLOSE_SCRIPT
|
||||||
|
'
|
||||||
|
Me.TXT_CLOSE_SCRIPT.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox
|
||||||
|
Me.TXT_CLOSE_SCRIPT.CaptionText = "Close cmd"
|
||||||
|
Me.TXT_CLOSE_SCRIPT.CaptionToolTipEnabled = True
|
||||||
|
Me.TXT_CLOSE_SCRIPT.CaptionToolTipText = "This command will be executed when SCrawler is closed"
|
||||||
|
Me.TXT_CLOSE_SCRIPT.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.TXT_CLOSE_SCRIPT.Location = New System.Drawing.Point(4, 215)
|
||||||
|
Me.TXT_CLOSE_SCRIPT.Name = "TXT_CLOSE_SCRIPT"
|
||||||
|
Me.TXT_CLOSE_SCRIPT.PlaceholderEnabled = True
|
||||||
|
Me.TXT_CLOSE_SCRIPT.PlaceholderText = "Enter command here..."
|
||||||
|
Me.TXT_CLOSE_SCRIPT.Size = New System.Drawing.Size(568, 22)
|
||||||
|
Me.TXT_CLOSE_SCRIPT.TabIndex = 8
|
||||||
|
'
|
||||||
|
'TAB_DOWN
|
||||||
|
'
|
||||||
|
TAB_DOWN.Controls.Add(TP_DOWNLOADING)
|
||||||
|
TAB_DOWN.Location = New System.Drawing.Point(4, 22)
|
||||||
|
TAB_DOWN.Name = "TAB_DOWN"
|
||||||
|
TAB_DOWN.Size = New System.Drawing.Size(576, 284)
|
||||||
|
TAB_DOWN.TabIndex = 6
|
||||||
|
TAB_DOWN.Text = "Downloading"
|
||||||
|
'
|
||||||
|
'TP_DOWNLOADING
|
||||||
|
'
|
||||||
|
TP_DOWNLOADING.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
|
||||||
|
TP_DOWNLOADING.ColumnCount = 1
|
||||||
|
TP_DOWNLOADING.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||||
|
TP_DOWNLOADING.Controls.Add(TP_FILE_NAME, 0, 1)
|
||||||
|
TP_DOWNLOADING.Controls.Add(TP_FILE_PATTERNS, 0, 2)
|
||||||
|
TP_DOWNLOADING.Controls.Add(Me.TXT_SCRIPT, 0, 3)
|
||||||
|
TP_DOWNLOADING.Controls.Add(Me.CH_UDESCR_UP, 0, 0)
|
||||||
|
TP_DOWNLOADING.Controls.Add(Me.TXT_DOWN_COMPLETE_SCRIPT, 0, 4)
|
||||||
|
TP_DOWNLOADING.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
TP_DOWNLOADING.Location = New System.Drawing.Point(0, 0)
|
||||||
|
TP_DOWNLOADING.Name = "TP_DOWNLOADING"
|
||||||
|
TP_DOWNLOADING.RowCount = 6
|
||||||
|
TP_DOWNLOADING.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
||||||
|
TP_DOWNLOADING.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30.0!))
|
||||||
|
TP_DOWNLOADING.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30.0!))
|
||||||
|
TP_DOWNLOADING.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
|
||||||
|
TP_DOWNLOADING.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
|
||||||
|
TP_DOWNLOADING.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||||
|
TP_DOWNLOADING.Size = New System.Drawing.Size(576, 284)
|
||||||
|
TP_DOWNLOADING.TabIndex = 0
|
||||||
|
'
|
||||||
|
'TXT_SCRIPT
|
||||||
|
'
|
||||||
|
ActionButton8.BackgroundImage = CType(resources.GetObject("ActionButton8.BackgroundImage"), System.Drawing.Image)
|
||||||
|
ActionButton8.Index = 0
|
||||||
|
ActionButton8.Name = "BTT_OPEN"
|
||||||
|
ActionButton9.BackgroundImage = CType(resources.GetObject("ActionButton9.BackgroundImage"), System.Drawing.Image)
|
||||||
|
ActionButton9.Index = 1
|
||||||
|
ActionButton9.Name = "BTT_CLEAR"
|
||||||
|
Me.TXT_SCRIPT.Buttons.Add(ActionButton8)
|
||||||
|
Me.TXT_SCRIPT.Buttons.Add(ActionButton9)
|
||||||
|
Me.TXT_SCRIPT.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox
|
||||||
|
Me.TXT_SCRIPT.CaptionText = "Script"
|
||||||
|
Me.TXT_SCRIPT.CaptionToolTipEnabled = True
|
||||||
|
Me.TXT_SCRIPT.CaptionToolTipText = "Default script. If the checkbox is checked, newly created users will be created u" &
|
||||||
|
"sing the script option."
|
||||||
|
Me.TXT_SCRIPT.ChangeControlsEnableOnCheckedChange = False
|
||||||
|
Me.TXT_SCRIPT.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.TXT_SCRIPT.Location = New System.Drawing.Point(4, 92)
|
||||||
|
Me.TXT_SCRIPT.Name = "TXT_SCRIPT"
|
||||||
|
Me.TXT_SCRIPT.PlaceholderEnabled = True
|
||||||
|
Me.TXT_SCRIPT.PlaceholderText = "Enter script path here..."
|
||||||
|
Me.TXT_SCRIPT.Size = New System.Drawing.Size(568, 22)
|
||||||
|
Me.TXT_SCRIPT.TabIndex = 3
|
||||||
|
'
|
||||||
|
'TXT_DOWN_COMPLETE_SCRIPT
|
||||||
|
'
|
||||||
|
Me.TXT_DOWN_COMPLETE_SCRIPT.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox
|
||||||
|
Me.TXT_DOWN_COMPLETE_SCRIPT.CaptionText = "After download cmd"
|
||||||
|
Me.TXT_DOWN_COMPLETE_SCRIPT.CaptionToolTipEnabled = True
|
||||||
|
Me.TXT_DOWN_COMPLETE_SCRIPT.CaptionToolTipText = "This command will be executed after all downloads are completed"
|
||||||
|
Me.TXT_DOWN_COMPLETE_SCRIPT.CaptionWidth = 120.0R
|
||||||
|
Me.TXT_DOWN_COMPLETE_SCRIPT.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.TXT_DOWN_COMPLETE_SCRIPT.Location = New System.Drawing.Point(4, 121)
|
||||||
|
Me.TXT_DOWN_COMPLETE_SCRIPT.Name = "TXT_DOWN_COMPLETE_SCRIPT"
|
||||||
|
Me.TXT_DOWN_COMPLETE_SCRIPT.PlaceholderEnabled = True
|
||||||
|
Me.TXT_DOWN_COMPLETE_SCRIPT.PlaceholderText = "Enter command here..."
|
||||||
|
Me.TXT_DOWN_COMPLETE_SCRIPT.Size = New System.Drawing.Size(568, 22)
|
||||||
|
Me.TXT_DOWN_COMPLETE_SCRIPT.TabIndex = 4
|
||||||
|
'
|
||||||
'TAB_MAIN
|
'TAB_MAIN
|
||||||
'
|
'
|
||||||
Me.TAB_MAIN.Controls.Add(TAB_BASIS)
|
Me.TAB_MAIN.Controls.Add(TAB_BASIS)
|
||||||
|
Me.TAB_MAIN.Controls.Add(TAB_BEHAVIOR)
|
||||||
Me.TAB_MAIN.Controls.Add(TAB_DEFAULTS)
|
Me.TAB_MAIN.Controls.Add(TAB_DEFAULTS)
|
||||||
|
Me.TAB_MAIN.Controls.Add(TAB_DOWN)
|
||||||
Me.TAB_MAIN.Controls.Add(TAB_DEFS_CHANNELS)
|
Me.TAB_MAIN.Controls.Add(TAB_DEFS_CHANNELS)
|
||||||
Me.TAB_MAIN.Dock = System.Windows.Forms.DockStyle.Fill
|
Me.TAB_MAIN.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
Me.TAB_MAIN.Location = New System.Drawing.Point(0, 0)
|
Me.TAB_MAIN.Location = New System.Drawing.Point(0, 0)
|
||||||
Me.TAB_MAIN.Name = "TAB_MAIN"
|
Me.TAB_MAIN.Name = "TAB_MAIN"
|
||||||
Me.TAB_MAIN.SelectedIndex = 0
|
Me.TAB_MAIN.SelectedIndex = 0
|
||||||
Me.TAB_MAIN.Size = New System.Drawing.Size(584, 507)
|
Me.TAB_MAIN.Size = New System.Drawing.Size(584, 310)
|
||||||
Me.TAB_MAIN.TabIndex = 1
|
Me.TAB_MAIN.TabIndex = 1
|
||||||
'
|
'
|
||||||
'CONTAINER_MAIN
|
'CONTAINER_MAIN
|
||||||
@@ -797,29 +960,89 @@
|
|||||||
'CONTAINER_MAIN.ContentPanel
|
'CONTAINER_MAIN.ContentPanel
|
||||||
'
|
'
|
||||||
Me.CONTAINER_MAIN.ContentPanel.Controls.Add(Me.TAB_MAIN)
|
Me.CONTAINER_MAIN.ContentPanel.Controls.Add(Me.TAB_MAIN)
|
||||||
Me.CONTAINER_MAIN.ContentPanel.Size = New System.Drawing.Size(584, 507)
|
Me.CONTAINER_MAIN.ContentPanel.Size = New System.Drawing.Size(584, 310)
|
||||||
Me.CONTAINER_MAIN.Dock = System.Windows.Forms.DockStyle.Fill
|
Me.CONTAINER_MAIN.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
Me.CONTAINER_MAIN.LeftToolStripPanelVisible = False
|
Me.CONTAINER_MAIN.LeftToolStripPanelVisible = False
|
||||||
Me.CONTAINER_MAIN.Location = New System.Drawing.Point(0, 0)
|
Me.CONTAINER_MAIN.Location = New System.Drawing.Point(0, 0)
|
||||||
Me.CONTAINER_MAIN.Name = "CONTAINER_MAIN"
|
Me.CONTAINER_MAIN.Name = "CONTAINER_MAIN"
|
||||||
Me.CONTAINER_MAIN.RightToolStripPanelVisible = False
|
Me.CONTAINER_MAIN.RightToolStripPanelVisible = False
|
||||||
Me.CONTAINER_MAIN.Size = New System.Drawing.Size(584, 507)
|
Me.CONTAINER_MAIN.Size = New System.Drawing.Size(584, 310)
|
||||||
Me.CONTAINER_MAIN.TabIndex = 0
|
Me.CONTAINER_MAIN.TabIndex = 0
|
||||||
Me.CONTAINER_MAIN.TopToolStripPanelVisible = False
|
Me.CONTAINER_MAIN.TopToolStripPanelVisible = False
|
||||||
'
|
'
|
||||||
|
'TP_OPEN_INFO
|
||||||
|
'
|
||||||
|
TP_OPEN_INFO.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
|
||||||
|
TP_OPEN_INFO.ColumnCount = 2
|
||||||
|
TP_OPEN_INFO.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
|
||||||
|
TP_OPEN_INFO.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
|
||||||
|
TP_OPEN_INFO.Controls.Add(Me.CH_DOWN_OPEN_INFO, 0, 0)
|
||||||
|
TP_OPEN_INFO.Controls.Add(Me.CH_DOWN_OPEN_INFO_SUSPEND, 1, 0)
|
||||||
|
TP_OPEN_INFO.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
TP_OPEN_INFO.Location = New System.Drawing.Point(1, 131)
|
||||||
|
TP_OPEN_INFO.Margin = New System.Windows.Forms.Padding(0)
|
||||||
|
TP_OPEN_INFO.Name = "TP_OPEN_INFO"
|
||||||
|
TP_OPEN_INFO.RowCount = 1
|
||||||
|
TP_OPEN_INFO.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||||
|
TP_OPEN_INFO.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
|
||||||
|
TP_OPEN_INFO.Size = New System.Drawing.Size(574, 25)
|
||||||
|
TP_OPEN_INFO.TabIndex = 5
|
||||||
|
'
|
||||||
|
'TP_OPEN_PROGRESS
|
||||||
|
'
|
||||||
|
TP_OPEN_PROGRESS.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
|
||||||
|
TP_OPEN_PROGRESS.ColumnCount = 2
|
||||||
|
TP_OPEN_PROGRESS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
|
||||||
|
TP_OPEN_PROGRESS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
|
||||||
|
TP_OPEN_PROGRESS.Controls.Add(Me.CH_DOWN_OPEN_PROGRESS, 0, 0)
|
||||||
|
TP_OPEN_PROGRESS.Controls.Add(Me.CH_DOWN_OPEN_PROGRESS_SUSPEND, 1, 0)
|
||||||
|
TP_OPEN_PROGRESS.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
TP_OPEN_PROGRESS.Location = New System.Drawing.Point(1, 157)
|
||||||
|
TP_OPEN_PROGRESS.Margin = New System.Windows.Forms.Padding(0)
|
||||||
|
TP_OPEN_PROGRESS.Name = "TP_OPEN_PROGRESS"
|
||||||
|
TP_OPEN_PROGRESS.RowCount = 1
|
||||||
|
TP_OPEN_PROGRESS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||||
|
TP_OPEN_PROGRESS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
|
||||||
|
TP_OPEN_PROGRESS.Size = New System.Drawing.Size(574, 25)
|
||||||
|
TP_OPEN_PROGRESS.TabIndex = 6
|
||||||
|
'
|
||||||
|
'CH_DOWN_OPEN_INFO_SUSPEND
|
||||||
|
'
|
||||||
|
Me.CH_DOWN_OPEN_INFO_SUSPEND.AutoSize = True
|
||||||
|
Me.CH_DOWN_OPEN_INFO_SUSPEND.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.CH_DOWN_OPEN_INFO_SUSPEND.Location = New System.Drawing.Point(290, 4)
|
||||||
|
Me.CH_DOWN_OPEN_INFO_SUSPEND.Name = "CH_DOWN_OPEN_INFO_SUSPEND"
|
||||||
|
Me.CH_DOWN_OPEN_INFO_SUSPEND.Size = New System.Drawing.Size(280, 17)
|
||||||
|
Me.CH_DOWN_OPEN_INFO_SUSPEND.TabIndex = 1
|
||||||
|
Me.CH_DOWN_OPEN_INFO_SUSPEND.Text = "Don't open again"
|
||||||
|
TT_MAIN.SetToolTip(Me.CH_DOWN_OPEN_INFO_SUSPEND, "Do not open the form automatically if it was once closed")
|
||||||
|
Me.CH_DOWN_OPEN_INFO_SUSPEND.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
|
'CH_DOWN_OPEN_PROGRESS_SUSPEND
|
||||||
|
'
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS_SUSPEND.AutoSize = True
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS_SUSPEND.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS_SUSPEND.Location = New System.Drawing.Point(290, 4)
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS_SUSPEND.Name = "CH_DOWN_OPEN_PROGRESS_SUSPEND"
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS_SUSPEND.Size = New System.Drawing.Size(280, 17)
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS_SUSPEND.TabIndex = 1
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS_SUSPEND.Text = "Don't open again"
|
||||||
|
TT_MAIN.SetToolTip(Me.CH_DOWN_OPEN_PROGRESS_SUSPEND, "Do not open the form automatically if it was once closed")
|
||||||
|
Me.CH_DOWN_OPEN_PROGRESS_SUSPEND.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
'GlobalSettingsForm
|
'GlobalSettingsForm
|
||||||
'
|
'
|
||||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||||
Me.ClientSize = New System.Drawing.Size(584, 507)
|
Me.ClientSize = New System.Drawing.Size(584, 310)
|
||||||
Me.Controls.Add(Me.CONTAINER_MAIN)
|
Me.Controls.Add(Me.CONTAINER_MAIN)
|
||||||
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
|
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
|
||||||
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
|
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
|
||||||
Me.KeyPreview = True
|
Me.KeyPreview = True
|
||||||
Me.MaximizeBox = False
|
Me.MaximizeBox = False
|
||||||
Me.MaximumSize = New System.Drawing.Size(600, 546)
|
Me.MaximumSize = New System.Drawing.Size(600, 349)
|
||||||
Me.MinimizeBox = False
|
Me.MinimizeBox = False
|
||||||
Me.MinimumSize = New System.Drawing.Size(600, 546)
|
Me.MinimumSize = New System.Drawing.Size(600, 349)
|
||||||
Me.Name = "GlobalSettingsForm"
|
Me.Name = "GlobalSettingsForm"
|
||||||
Me.ShowInTaskbar = False
|
Me.ShowInTaskbar = False
|
||||||
Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide
|
Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide
|
||||||
@@ -838,8 +1061,6 @@
|
|||||||
TP_FILE_NAME.PerformLayout()
|
TP_FILE_NAME.PerformLayout()
|
||||||
TP_FILE_PATTERNS.ResumeLayout(False)
|
TP_FILE_PATTERNS.ResumeLayout(False)
|
||||||
TP_FILE_PATTERNS.PerformLayout()
|
TP_FILE_PATTERNS.PerformLayout()
|
||||||
CType(Me.TXT_FOLDER_CMD, System.ComponentModel.ISupportInitialize).EndInit()
|
|
||||||
CType(Me.TXT_SCRIPT, System.ComponentModel.ISupportInitialize).EndInit()
|
|
||||||
TP_CHANNELS_IMGS.ResumeLayout(False)
|
TP_CHANNELS_IMGS.ResumeLayout(False)
|
||||||
CType(Me.TXT_CHANNELS_ROWS, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.TXT_CHANNELS_ROWS, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
CType(Me.TXT_CHANNELS_COLUMNS, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.TXT_CHANNELS_COLUMNS, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
@@ -851,10 +1072,24 @@
|
|||||||
TP_CHANNELS.ResumeLayout(False)
|
TP_CHANNELS.ResumeLayout(False)
|
||||||
TP_CHANNELS.PerformLayout()
|
TP_CHANNELS.PerformLayout()
|
||||||
CType(Me.TXT_CHANNEL_USER_POST_LIMIT, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.TXT_CHANNEL_USER_POST_LIMIT, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
TAB_BEHAVIOR.ResumeLayout(False)
|
||||||
|
TP_BEHAVIOR.ResumeLayout(False)
|
||||||
|
TP_BEHAVIOR.PerformLayout()
|
||||||
|
CType(Me.TXT_FOLDER_CMD, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(Me.TXT_CLOSE_SCRIPT, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
TAB_DOWN.ResumeLayout(False)
|
||||||
|
TP_DOWNLOADING.ResumeLayout(False)
|
||||||
|
TP_DOWNLOADING.PerformLayout()
|
||||||
|
CType(Me.TXT_SCRIPT, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(Me.TXT_DOWN_COMPLETE_SCRIPT, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
Me.TAB_MAIN.ResumeLayout(False)
|
Me.TAB_MAIN.ResumeLayout(False)
|
||||||
Me.CONTAINER_MAIN.ContentPanel.ResumeLayout(False)
|
Me.CONTAINER_MAIN.ContentPanel.ResumeLayout(False)
|
||||||
Me.CONTAINER_MAIN.ResumeLayout(False)
|
Me.CONTAINER_MAIN.ResumeLayout(False)
|
||||||
Me.CONTAINER_MAIN.PerformLayout()
|
Me.CONTAINER_MAIN.PerformLayout()
|
||||||
|
TP_OPEN_INFO.ResumeLayout(False)
|
||||||
|
TP_OPEN_INFO.PerformLayout()
|
||||||
|
TP_OPEN_PROGRESS.ResumeLayout(False)
|
||||||
|
TP_OPEN_PROGRESS.PerformLayout()
|
||||||
Me.ResumeLayout(False)
|
Me.ResumeLayout(False)
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
@@ -894,5 +1129,13 @@
|
|||||||
Private WithEvents TXT_FOLDER_CMD As PersonalUtilities.Forms.Controls.TextBoxExtended
|
Private WithEvents TXT_FOLDER_CMD As PersonalUtilities.Forms.Controls.TextBoxExtended
|
||||||
Private WithEvents CH_RECYCLE_DEL As CheckBox
|
Private WithEvents CH_RECYCLE_DEL As CheckBox
|
||||||
Private WithEvents TXT_SCRIPT As PersonalUtilities.Forms.Controls.TextBoxExtended
|
Private WithEvents TXT_SCRIPT As PersonalUtilities.Forms.Controls.TextBoxExtended
|
||||||
|
Private WithEvents CH_SHOW_GROUPS As CheckBox
|
||||||
|
Private WithEvents CH_USERS_GROUPING As CheckBox
|
||||||
|
Private WithEvents CH_DOWN_OPEN_INFO As CheckBox
|
||||||
|
Private WithEvents CH_DOWN_OPEN_PROGRESS As CheckBox
|
||||||
|
Private WithEvents TXT_CLOSE_SCRIPT As PersonalUtilities.Forms.Controls.TextBoxExtended
|
||||||
|
Private WithEvents TXT_DOWN_COMPLETE_SCRIPT As PersonalUtilities.Forms.Controls.TextBoxExtended
|
||||||
|
Private WithEvents CH_DOWN_OPEN_INFO_SUSPEND As CheckBox
|
||||||
|
Private WithEvents CH_DOWN_OPEN_PROGRESS_SUSPEND As CheckBox
|
||||||
End Class
|
End Class
|
||||||
End Namespace
|
End Namespace
|
||||||
@@ -191,6 +191,12 @@
|
|||||||
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
|
<metadata name="TT_MAIN.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="TT_MAIN.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>17, 17</value>
|
||||||
|
</metadata>
|
||||||
<metadata name="TP_FILE_NAME.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="TP_FILE_NAME.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
@@ -200,39 +206,6 @@
|
|||||||
<metadata name="LBL_DATE_POS.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="LBL_DATE_POS.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<metadata name="TT_MAIN.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
|
||||||
<value>False</value>
|
|
||||||
</metadata>
|
|
||||||
<metadata name="TT_MAIN.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
|
||||||
<value>17, 17</value>
|
|
||||||
</metadata>
|
|
||||||
<data name="ActionButton7.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
|
||||||
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
|
||||||
tbbB43rK5xSAQq1VYFtmeQBoqZTSreVZvgTknM8yyyjA/qodsDF9gspD2Bj6B+DH+NqzhQQAG+POMnSX
|
|
||||||
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="ActionButton8.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
|
||||||
wwAADsMBx2+oZAAAAR5JREFUOE+VkjFqwzAUhn2D9iShRyi+QhYbGujg3ZATZPKYdC6FQhPwlAMkg3dP
|
|
||||||
WQwhyWIyJIUW5NqyPb7oCVtIlhVTwYf8nv7/t2zJagel9KmqKsIACYL9RjI8UHz5zshougZr/AEvbxEP
|
|
||||||
aZCDBY3VslixaJvX3wzkkDiOwbZtDRGA5vdNAg+TL27qgmt5XkBG/gTdAG7Gt+3PP9oOaEGFCVEC6rp+
|
|
||||||
5g9MfM/c5e4OsEZMZkQEtGL5H2DdZ5JRArDwPA+iKII0TfkC9vroC9j5vq8JTWw3WzWgLMtZGIaa0MR8
|
|
||||||
vlAD8PYlSaIJTTiOowY0p0Bc19XEJo6HE59FAPuMzyAINKGJ1XLFZxHALtMrnkBXOIQIIIQ8YvF/KrgB
|
|
||||||
cMaRN0UdBBkAAAAASUVORK5CYII=
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="ActionButton9.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
|
||||||
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
|
||||||
tbbB43rK5xSAQq1VYFtmeQBoqZTSreVZvgTknM8yyyjA/qodsDF9gspD2Bj6B+DH+NqzhQQAG+POMnSX
|
|
||||||
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="CH_SEPARATE_VIDEO_FOLDER.ToolTip" xml:space="preserve">
|
<data name="CH_SEPARATE_VIDEO_FOLDER.ToolTip" xml:space="preserve">
|
||||||
<value>This is a global setting for newly added users only.
|
<value>This is a global setting for newly added users only.
|
||||||
This parameter specifies how the video will be stored in the users' download path.
|
This parameter specifies how the video will be stored in the users' download path.
|
||||||
@@ -256,6 +229,51 @@ If checked, videos will be stored in separate folder; otherwise, videos will be
|
|||||||
<metadata name="TP_CHANNELS.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="TP_CHANNELS.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
<metadata name="TAB_BEHAVIOR.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="TP_BEHAVIOR.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
|
<data name="ActionButton7.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
|
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
||||||
|
tbbB43rK5xSAQq1VYFtmeQBoqZTSreVZvgTknM8yyyjA/qodsDF9gspD2Bj6B+DH+NqzhQQAG+POMnSX
|
||||||
|
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<metadata name="TP_OPEN_INFO.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="TP_OPEN_PROGRESS.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="TAB_DOWN.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="TP_DOWNLOADING.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
|
<data name="ActionButton8.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
|
wwAADsMBx2+oZAAAAR5JREFUOE+VkjFqwzAUhn2D9iShRyi+QhYbGujg3ZATZPKYdC6FQhPwlAMkg3dP
|
||||||
|
WQwhyWIyJIUW5NqyPb7oCVtIlhVTwYf8nv7/t2zJagel9KmqKsIACYL9RjI8UHz5zshougZr/AEvbxEP
|
||||||
|
aZCDBY3VslixaJvX3wzkkDiOwbZtDRGA5vdNAg+TL27qgmt5XkBG/gTdAG7Gt+3PP9oOaEGFCVEC6rp+
|
||||||
|
5g9MfM/c5e4OsEZMZkQEtGL5H2DdZ5JRArDwPA+iKII0TfkC9vroC9j5vq8JTWw3WzWgLMtZGIaa0MR8
|
||||||
|
vlAD8PYlSaIJTTiOowY0p0Bc19XEJo6HE59FAPuMzyAINKGJ1XLFZxHALtMrnkBXOIQIIIQ8YvF/KrgB
|
||||||
|
cMaRN0UdBBkAAAAASUVORK5CYII=
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="ActionButton9.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
|
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
||||||
|
tbbB43rK5xSAQq1VYFtmeQBoqZTSreVZvgTknM8yyyjA/qodsDF9gspD2Bj6B+DH+NqzhQQAG+POMnSX
|
||||||
|
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
AAABAA8AAAAQAAEABAAwOgAA9gAAADAwEAABAAQAaAYAACg7AAAgIBAAAQAEAOgCAACQQQAAGBgQAAEA
|
AAABAA8AAAAQAAEABAAwOgAA9gAAADAwEAABAAQAaAYAACg7AAAgIBAAAQAEAOgCAACQQQAAGBgQAAEA
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ Imports PersonalUtilities.Forms.Controls.Base
|
|||||||
Imports PersonalUtilities.Forms.Toolbars
|
Imports PersonalUtilities.Forms.Toolbars
|
||||||
Namespace Editors
|
Namespace Editors
|
||||||
Friend Class GlobalSettingsForm : Implements IOkCancelToolbar
|
Friend Class GlobalSettingsForm : Implements IOkCancelToolbar
|
||||||
Private ReadOnly MyDefs As DefaultFormProps(Of FieldsChecker)
|
Private ReadOnly MyDefs As DefaultFormProps
|
||||||
Friend Sub New()
|
Friend Sub New()
|
||||||
InitializeComponent()
|
InitializeComponent()
|
||||||
MyDefs = New DefaultFormProps(Of FieldsChecker)
|
MyDefs = New DefaultFormProps
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub GlobalSettingsForm_Load(sender As Object, e As EventArgs) Handles Me.Load
|
Private Sub GlobalSettingsForm_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||||
Try
|
Try
|
||||||
@@ -32,18 +32,41 @@ Namespace Editors
|
|||||||
TXT_MAX_JOBS_CHANNELS.Value = .ChannelsMaxJobsCount.Value
|
TXT_MAX_JOBS_CHANNELS.Value = .ChannelsMaxJobsCount.Value
|
||||||
CH_CHECK_VER_START.Checked = .CheckUpdatesAtStart
|
CH_CHECK_VER_START.Checked = .CheckUpdatesAtStart
|
||||||
TXT_IMGUR_CLIENT_ID.Text = .ImgurClientID
|
TXT_IMGUR_CLIENT_ID.Text = .ImgurClientID
|
||||||
|
CH_SHOW_GROUPS.Checked = .ShowGroups
|
||||||
|
CH_USERS_GROUPING.Checked = .UseGrouping
|
||||||
|
'Behavior
|
||||||
|
CH_EXIT_CONFIRM.Checked = .ExitConfirm
|
||||||
|
CH_CLOSE_TO_TRAY.Checked = .CloseToTray
|
||||||
|
CH_SHOW_NOTIFY.Checked = .ShowNotifications
|
||||||
CH_FAST_LOAD.Checked = .FastProfilesLoading
|
CH_FAST_LOAD.Checked = .FastProfilesLoading
|
||||||
|
CH_RECYCLE_DEL.Checked = .DeleteToRecycleBin
|
||||||
|
CH_DOWN_OPEN_INFO.Checked = .DownloadOpenInfo
|
||||||
|
CH_DOWN_OPEN_INFO_SUSPEND.Checked = Not .DownloadOpenInfo.Attribute
|
||||||
|
CH_DOWN_OPEN_PROGRESS.Checked = .DownloadOpenProgress
|
||||||
|
CH_DOWN_OPEN_PROGRESS_SUSPEND.Checked = Not .DownloadOpenProgress.Attribute
|
||||||
TXT_FOLDER_CMD.Text = .OpenFolderInOtherProgram
|
TXT_FOLDER_CMD.Text = .OpenFolderInOtherProgram
|
||||||
TXT_FOLDER_CMD.Checked = .OpenFolderInOtherProgram.Attribute
|
TXT_FOLDER_CMD.Checked = .OpenFolderInOtherProgram.Attribute
|
||||||
CH_RECYCLE_DEL.Checked = .DeleteToRecycleBin
|
TXT_CLOSE_SCRIPT.Text = .ClosingCommand
|
||||||
TXT_SCRIPT.Checked = .ScriptData.Attribute
|
TXT_CLOSE_SCRIPT.Checked = .ClosingCommand.Attribute
|
||||||
TXT_SCRIPT.Text = .ScriptData.Value
|
|
||||||
'Defaults
|
'Defaults
|
||||||
CH_SEPARATE_VIDEO_FOLDER.Checked = .SeparateVideoFolder.Value
|
CH_SEPARATE_VIDEO_FOLDER.Checked = .SeparateVideoFolder.Value
|
||||||
CH_DEF_TEMP.Checked = .DefaultTemporary
|
CH_DEF_TEMP.Checked = .DefaultTemporary
|
||||||
CH_DOWN_IMAGES.Checked = .DefaultDownloadImages
|
CH_DOWN_IMAGES.Checked = .DefaultDownloadImages
|
||||||
CH_DOWN_VIDEOS.Checked = .DefaultDownloadVideos
|
CH_DOWN_VIDEOS.Checked = .DefaultDownloadVideos
|
||||||
|
'Downloading
|
||||||
CH_UDESCR_UP.Checked = .UpdateUserDescriptionEveryTime
|
CH_UDESCR_UP.Checked = .UpdateUserDescriptionEveryTime
|
||||||
|
TXT_SCRIPT.Checked = .ScriptData.Attribute
|
||||||
|
TXT_SCRIPT.Text = .ScriptData.Value
|
||||||
|
TXT_DOWN_COMPLETE_SCRIPT.Text = .DownloadsCompleteCommand
|
||||||
|
TXT_DOWN_COMPLETE_SCRIPT.Checked = .DownloadsCompleteCommand.Attribute
|
||||||
|
'Downloading: file names
|
||||||
|
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
|
||||||
'Channels
|
'Channels
|
||||||
TXT_CHANNELS_ROWS.Value = .ChannelsImagesRows.Value
|
TXT_CHANNELS_ROWS.Value = .ChannelsImagesRows.Value
|
||||||
TXT_CHANNELS_COLUMNS.Value = .ChannelsImagesColumns.Value
|
TXT_CHANNELS_COLUMNS.Value = .ChannelsImagesColumns.Value
|
||||||
@@ -53,21 +76,9 @@ Namespace Editors
|
|||||||
CH_COPY_CHANNEL_USER_IMAGE_ALL.Checked = .ChannelsAddUserImagesFromAllChannels
|
CH_COPY_CHANNEL_USER_IMAGE_ALL.Checked = .ChannelsAddUserImagesFromAllChannels
|
||||||
CH_COPY_CHANNEL_USER_IMAGE_ALL.Enabled = CH_COPY_CHANNEL_USER_IMAGE.Checked
|
CH_COPY_CHANNEL_USER_IMAGE_ALL.Enabled = CH_COPY_CHANNEL_USER_IMAGE.Checked
|
||||||
CH_CHANNELS_USERS_TEMP.Checked = .ChannelsDefaultTemporary
|
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
|
|
||||||
CH_FILE_DATE.Checked = .FileAddDateToFileName
|
|
||||||
CH_FILE_TIME.Checked = .FileAddTimeToFileName
|
|
||||||
OPT_FILE_DATE_START.Checked = Not .FileDateTimePositionEnd
|
|
||||||
OPT_FILE_DATE_END.Checked = .FileDateTimePositionEnd
|
|
||||||
'Other program settings
|
|
||||||
CH_EXIT_CONFIRM.Checked = .ExitConfirm
|
|
||||||
CH_CLOSE_TO_TRAY.Checked = .CloseToTray
|
|
||||||
CH_SHOW_NOTIFY.Checked = .ShowNotifications
|
|
||||||
End With
|
End With
|
||||||
.MyFieldsChecker = New FieldsChecker
|
.MyFieldsChecker = New FieldsChecker
|
||||||
With .MyFieldsChecker
|
With DirectCast(.MyFieldsChecker, FieldsChecker)
|
||||||
.AddControl(Of String)(TXT_GLOBAL_PATH, TXT_GLOBAL_PATH.CaptionText)
|
.AddControl(Of String)(TXT_GLOBAL_PATH, TXT_GLOBAL_PATH.CaptionText)
|
||||||
.AddControl(Of String)(TXT_COLLECTIONS_PATH, TXT_COLLECTIONS_PATH.CaptionText)
|
.AddControl(Of String)(TXT_COLLECTIONS_PATH, TXT_COLLECTIONS_PATH.CaptionText)
|
||||||
.EndLoaderOperations()
|
.EndLoaderOperations()
|
||||||
@@ -121,31 +132,34 @@ Namespace Editors
|
|||||||
.ChannelsMaxJobsCount.Value = TXT_MAX_JOBS_CHANNELS.Value
|
.ChannelsMaxJobsCount.Value = TXT_MAX_JOBS_CHANNELS.Value
|
||||||
.CheckUpdatesAtStart.Value = CH_CHECK_VER_START.Checked
|
.CheckUpdatesAtStart.Value = CH_CHECK_VER_START.Checked
|
||||||
.ImgurClientID.Value = TXT_IMGUR_CLIENT_ID.Text
|
.ImgurClientID.Value = TXT_IMGUR_CLIENT_ID.Text
|
||||||
|
.ShowGroups.Value = CH_SHOW_GROUPS.Checked
|
||||||
|
.UseGrouping.Value = CH_USERS_GROUPING.Checked
|
||||||
|
'Behavior
|
||||||
|
.ExitConfirm.Value = CH_EXIT_CONFIRM.Checked
|
||||||
|
.CloseToTray.Value = CH_CLOSE_TO_TRAY.Checked
|
||||||
|
.ShowNotifications.Value = CH_SHOW_NOTIFY.Checked
|
||||||
.FastProfilesLoading.Value = CH_FAST_LOAD.Checked
|
.FastProfilesLoading.Value = CH_FAST_LOAD.Checked
|
||||||
|
.DeleteToRecycleBin.Value = CH_RECYCLE_DEL.Checked
|
||||||
|
.DownloadOpenInfo.Value = CH_DOWN_OPEN_INFO.Checked
|
||||||
|
.DownloadOpenInfo.Attribute.Value = Not CH_DOWN_OPEN_INFO_SUSPEND.Checked
|
||||||
|
.DownloadOpenProgress.Value = CH_DOWN_OPEN_PROGRESS.Checked
|
||||||
|
.DownloadOpenProgress.Attribute.Value = Not CH_DOWN_OPEN_PROGRESS_SUSPEND.Checked
|
||||||
.OpenFolderInOtherProgram.Value = TXT_FOLDER_CMD.Text
|
.OpenFolderInOtherProgram.Value = TXT_FOLDER_CMD.Text
|
||||||
.OpenFolderInOtherProgram.Attribute.Value = TXT_FOLDER_CMD.Checked
|
.OpenFolderInOtherProgram.Attribute.Value = TXT_FOLDER_CMD.Checked
|
||||||
.DeleteToRecycleBin.Value = CH_RECYCLE_DEL.Checked
|
.ClosingCommand.Value = TXT_CLOSE_SCRIPT.Text
|
||||||
.ScriptData.Value = TXT_SCRIPT.Text
|
.ClosingCommand.Attribute.Value = TXT_CLOSE_SCRIPT.Checked
|
||||||
.ScriptData.Attribute.Value = TXT_SCRIPT.Checked
|
|
||||||
'Defaults
|
'Defaults
|
||||||
.SeparateVideoFolder.Value = CH_SEPARATE_VIDEO_FOLDER.Checked
|
.SeparateVideoFolder.Value = CH_SEPARATE_VIDEO_FOLDER.Checked
|
||||||
.DefaultTemporary.Value = CH_DEF_TEMP.Checked
|
.DefaultTemporary.Value = CH_DEF_TEMP.Checked
|
||||||
.DefaultDownloadImages.Value = CH_DOWN_IMAGES.Checked
|
.DefaultDownloadImages.Value = CH_DOWN_IMAGES.Checked
|
||||||
.DefaultDownloadVideos.Value = CH_DOWN_VIDEOS.Checked
|
.DefaultDownloadVideos.Value = CH_DOWN_VIDEOS.Checked
|
||||||
|
'Downloading
|
||||||
.UpdateUserDescriptionEveryTime.Value = CH_UDESCR_UP.Checked
|
.UpdateUserDescriptionEveryTime.Value = CH_UDESCR_UP.Checked
|
||||||
'Channels
|
.ScriptData.Value = TXT_SCRIPT.Text
|
||||||
.ChannelsImagesRows.Value = CInt(TXT_CHANNELS_ROWS.Value)
|
.ScriptData.Attribute.Value = TXT_SCRIPT.Checked
|
||||||
.ChannelsImagesColumns.Value = CInt(TXT_CHANNELS_COLUMNS.Value)
|
.DownloadsCompleteCommand.Value = TXT_DOWN_COMPLETE_SCRIPT.Text
|
||||||
.FromChannelDownloadTop.Value = CInt(TXT_CHANNEL_USER_POST_LIMIT.Value)
|
.DownloadsCompleteCommand.Attribute.Value = TXT_DOWN_COMPLETE_SCRIPT.Checked
|
||||||
.FromChannelDownloadTopUse.Value = TXT_CHANNEL_USER_POST_LIMIT.Checked
|
'Downloading: file names
|
||||||
.FromChannelCopyImageToUser.Value = CH_COPY_CHANNEL_USER_IMAGE.Checked
|
|
||||||
.ChannelsAddUserImagesFromAllChannels.Value = CH_COPY_CHANNEL_USER_IMAGE_ALL.Checked
|
|
||||||
.ChannelsDefaultTemporary.Value = CH_CHANNELS_USERS_TEMP.Checked
|
|
||||||
'Other program settings
|
|
||||||
.ExitConfirm.Value = CH_EXIT_CONFIRM.Checked
|
|
||||||
.CloseToTray.Value = CH_CLOSE_TO_TRAY.Checked
|
|
||||||
.ShowNotifications.Value = CH_SHOW_NOTIFY.Checked
|
|
||||||
|
|
||||||
If CH_FILE_NAME_CHANGE.Checked Then
|
If CH_FILE_NAME_CHANGE.Checked Then
|
||||||
.FileReplaceNameByDate.Value = OPT_FILE_NAME_REPLACE.Checked
|
.FileReplaceNameByDate.Value = OPT_FILE_NAME_REPLACE.Checked
|
||||||
.FileAddDateToFileName.Value = CH_FILE_DATE.Checked
|
.FileAddDateToFileName.Value = CH_FILE_DATE.Checked
|
||||||
@@ -156,6 +170,14 @@ Namespace Editors
|
|||||||
.FileAddTimeToFileName.Value = False
|
.FileAddTimeToFileName.Value = False
|
||||||
.FileReplaceNameByDate.Value = False
|
.FileReplaceNameByDate.Value = False
|
||||||
End If
|
End If
|
||||||
|
'Channels
|
||||||
|
.ChannelsImagesRows.Value = CInt(TXT_CHANNELS_ROWS.Value)
|
||||||
|
.ChannelsImagesColumns.Value = CInt(TXT_CHANNELS_COLUMNS.Value)
|
||||||
|
.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
|
||||||
|
.ChannelsAddUserImagesFromAllChannels.Value = CH_COPY_CHANNEL_USER_IMAGE_ALL.Checked
|
||||||
|
.ChannelsDefaultTemporary.Value = CH_CHANNELS_USERS_TEMP.Checked
|
||||||
|
|
||||||
.EndUpdate()
|
.EndUpdate()
|
||||||
End With
|
End With
|
||||||
|
|||||||
@@ -11,12 +11,13 @@ Imports PersonalUtilities.Forms.Toolbars
|
|||||||
Imports PersonalUtilities.Forms.Controls
|
Imports PersonalUtilities.Forms.Controls
|
||||||
Imports PersonalUtilities.Forms.Controls.Base
|
Imports PersonalUtilities.Forms.Controls.Base
|
||||||
Imports PersonalUtilities.Functions.Messaging
|
Imports PersonalUtilities.Functions.Messaging
|
||||||
Friend Class LabelsForm : Implements IOkCancelToolbar
|
Friend Class LabelsForm : Implements IOkCancelDeleteToolbar
|
||||||
Private ReadOnly MyDefs As DefaultFormProps
|
Private ReadOnly MyDefs As DefaultFormProps
|
||||||
Friend ReadOnly Property LabelsList As List(Of String)
|
Friend ReadOnly Property LabelsList As List(Of String)
|
||||||
Private _AnyLabelAdd As Boolean = False
|
Private _AnyLabelAdd As Boolean = False
|
||||||
Friend Property MultiUser As Boolean = False
|
Friend Property MultiUser As Boolean = False
|
||||||
Public Property MultiUserClearExists As Boolean = False
|
Friend Property MultiUserClearExists As Boolean = False
|
||||||
|
Friend Property WithDeleteButton As Boolean = False
|
||||||
Friend Sub New(ByVal LabelsArr As IEnumerable(Of String))
|
Friend Sub New(ByVal LabelsArr As IEnumerable(Of String))
|
||||||
InitializeComponent()
|
InitializeComponent()
|
||||||
LabelsList = New List(Of String)
|
LabelsList = New List(Of String)
|
||||||
@@ -27,7 +28,7 @@ Friend Class LabelsForm : Implements IOkCancelToolbar
|
|||||||
Try
|
Try
|
||||||
With MyDefs
|
With MyDefs
|
||||||
.MyViewInitialize(Me, Settings.Design)
|
.MyViewInitialize(Me, Settings.Design)
|
||||||
.AddOkCancelToolbar()
|
.AddOkCancelToolbar(, WithDeleteButton)
|
||||||
.DelegateClosingChecker()
|
.DelegateClosingChecker()
|
||||||
If Settings.Labels.Count > 0 Then
|
If Settings.Labels.Count > 0 Then
|
||||||
Dim items As New List(Of Integer)
|
Dim items As New List(Of Integer)
|
||||||
@@ -77,6 +78,10 @@ Friend Class LabelsForm : Implements IOkCancelToolbar
|
|||||||
Private Sub ToolbarBttCancel() Implements IOkCancelToolbar.ToolbarBttCancel
|
Private Sub ToolbarBttCancel() Implements IOkCancelToolbar.ToolbarBttCancel
|
||||||
MyDefs.CloseForm(DialogResult.Cancel)
|
MyDefs.CloseForm(DialogResult.Cancel)
|
||||||
End Sub
|
End Sub
|
||||||
|
Private Sub ToolbarBttDelete() Implements IOkCancelDeleteToolbar.ToolbarBttDelete
|
||||||
|
LabelsList.Clear()
|
||||||
|
MyDefs.CloseForm()
|
||||||
|
End Sub
|
||||||
Private Sub CMB_LABELS_ActionOnButtonClick(ByVal Sender As ActionButton) Handles CMB_LABELS.ActionOnButtonClick
|
Private Sub CMB_LABELS_ActionOnButtonClick(ByVal Sender As ActionButton) Handles CMB_LABELS.ActionOnButtonClick
|
||||||
If Sender.DefaultButton = ActionButton.DefaultButtons.Add Then AddNewLabel()
|
If Sender.DefaultButton = ActionButton.DefaultButtons.Add Then AddNewLabel()
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@@ -18,13 +18,17 @@ Namespace Editors
|
|||||||
Friend Class SiteEditorForm : Implements IOkCancelToolbar
|
Friend Class SiteEditorForm : Implements IOkCancelToolbar
|
||||||
Private ReadOnly LBL_AUTH As Label
|
Private ReadOnly LBL_AUTH As Label
|
||||||
Private ReadOnly LBL_OTHER As Label
|
Private ReadOnly LBL_OTHER As Label
|
||||||
Private ReadOnly MyDefs As DefaultFormProps(Of FieldsChecker)
|
Private ReadOnly MyDefs As DefaultFormProps
|
||||||
Private WithEvents SpecialButton As Button
|
Private WithEvents SpecialButton As Button
|
||||||
#Region "Providers"
|
#Region "Providers"
|
||||||
Private Class SavedPostsChecker : Implements ICustomProvider
|
Private Class SavedPostsChecker : Implements IFieldsCheckerProvider
|
||||||
|
Private Property ErrorMessage As String Implements IFieldsCheckerProvider.ErrorMessage
|
||||||
|
Private Property Name As String Implements IFieldsCheckerProvider.Name
|
||||||
|
Private Property TypeError As Boolean Implements IFieldsCheckerProvider.TypeError
|
||||||
Private Function Convert(ByVal Value As Object, ByVal DestinationType As Type, ByVal Provider As IFormatProvider,
|
Private Function Convert(ByVal Value As Object, ByVal DestinationType As Type, ByVal Provider As IFormatProvider,
|
||||||
Optional ByVal NothingArg As Object = Nothing, Optional ByVal e As ErrorsDescriber = Nothing) As Object Implements ICustomProvider.Convert
|
Optional ByVal NothingArg As Object = Nothing, Optional ByVal e As ErrorsDescriber = Nothing) As Object Implements ICustomProvider.Convert
|
||||||
If Not ACheck(Value) OrElse CStr(Value).Contains("/") Then
|
If ACheck(Value) AndAlso CStr(Value).Contains("/") Then
|
||||||
|
ErrorMessage = $"Path [{Name}] contains forbidden character ""/"""
|
||||||
Return Nothing
|
Return Nothing
|
||||||
Else
|
Else
|
||||||
Return Value
|
Return Value
|
||||||
@@ -38,7 +42,7 @@ Namespace Editors
|
|||||||
Private ReadOnly Property Host As SettingsHost
|
Private ReadOnly Property Host As SettingsHost
|
||||||
Friend Sub New(ByVal h As SettingsHost)
|
Friend Sub New(ByVal h As SettingsHost)
|
||||||
InitializeComponent()
|
InitializeComponent()
|
||||||
MyDefs = New DefaultFormProps(Of FieldsChecker)
|
MyDefs = New DefaultFormProps
|
||||||
Host = h
|
Host = h
|
||||||
LBL_AUTH = New Label With {.Text = "Authorization", .TextAlign = ContentAlignment.MiddleCenter, .Dock = DockStyle.Fill}
|
LBL_AUTH = New Label With {.Text = "Authorization", .TextAlign = ContentAlignment.MiddleCenter, .Dock = DockStyle.Fill}
|
||||||
LBL_OTHER = New Label With {.Text = "Other Parameters", .TextAlign = ContentAlignment.MiddleCenter, .Dock = DockStyle.Fill}
|
LBL_OTHER = New Label With {.Text = "Other Parameters", .TextAlign = ContentAlignment.MiddleCenter, .Dock = DockStyle.Fill}
|
||||||
@@ -65,7 +69,7 @@ Namespace Editors
|
|||||||
|
|
||||||
SiteDefaultsFunctions.SetChecker(TP_SITE_PROPS, Host)
|
SiteDefaultsFunctions.SetChecker(TP_SITE_PROPS, Host)
|
||||||
|
|
||||||
With MyDefs.MyFieldsChecker
|
With DirectCast(MyDefs.MyFieldsChecker, FieldsChecker)
|
||||||
.AddControl(Of String)(TXT_PATH, TXT_PATH.CaptionText, True, New SavedPostsChecker)
|
.AddControl(Of String)(TXT_PATH, TXT_PATH.CaptionText, True, New SavedPostsChecker)
|
||||||
.AddControl(Of String)(TXT_PATH_SAVED_POSTS, TXT_PATH_SAVED_POSTS.CaptionText, True, New SavedPostsChecker)
|
.AddControl(Of String)(TXT_PATH_SAVED_POSTS, TXT_PATH_SAVED_POSTS.CaptionText, True, New SavedPostsChecker)
|
||||||
End With
|
End With
|
||||||
@@ -113,7 +117,8 @@ Namespace Editors
|
|||||||
AddTpControl(.Control, .ControlHeight)
|
AddTpControl(.Control, .ControlHeight)
|
||||||
If .LeftOffset > offset Then offset = .LeftOffset
|
If .LeftOffset > offset Then offset = .LeftOffset
|
||||||
If Not .Options.AllowNull Or Not .ProviderFieldsChecker Is Nothing Then
|
If Not .Options.AllowNull Or Not .ProviderFieldsChecker Is Nothing Then
|
||||||
MyDefs.MyFieldsChecker.AddControl(.Control, .Options.ControlText, .Type, .Options.AllowNull, .ProviderFieldsChecker)
|
DirectCast(MyDefs.MyFieldsChecker, FieldsChecker).
|
||||||
|
AddControl(.Control, .Options.ControlText, .Type, .Options.AllowNull, .ProviderFieldsChecker)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End With
|
End With
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ Imports ADB = PersonalUtilities.Forms.Controls.Base.ActionButton.DefaultButtons
|
|||||||
Namespace Editors
|
Namespace Editors
|
||||||
Friend Class UserCreatorForm : Implements IOkCancelToolbar
|
Friend Class UserCreatorForm : Implements IOkCancelToolbar
|
||||||
|
|
||||||
Private ReadOnly MyDef As DefaultFormProps(Of FieldsChecker)
|
Private ReadOnly MyDef As DefaultFormProps
|
||||||
Friend Property User As UserInfo
|
Friend Property User As UserInfo
|
||||||
Friend Property UserInstance As IUserData
|
Friend Property UserInstance As IUserData
|
||||||
Friend Property StartIndex As Integer = -1
|
Friend Property StartIndex As Integer = -1
|
||||||
@@ -97,7 +97,7 @@ Namespace Editors
|
|||||||
Friend Sub New()
|
Friend Sub New()
|
||||||
InitializeComponent()
|
InitializeComponent()
|
||||||
UserLabels = New List(Of String)
|
UserLabels = New List(Of String)
|
||||||
MyDef = New DefaultFormProps(Of FieldsChecker)
|
MyDef = New DefaultFormProps
|
||||||
End Sub
|
End Sub
|
||||||
''' <summary>Edit exist user</summary>
|
''' <summary>Edit exist user</summary>
|
||||||
Friend Sub New(ByVal _Instance As IUserData)
|
Friend Sub New(ByVal _Instance As IUserData)
|
||||||
@@ -150,7 +150,7 @@ Namespace Editors
|
|||||||
CH_DOWN_VIDEOS.Checked = .DownloadVideos
|
CH_DOWN_VIDEOS.Checked = .DownloadVideos
|
||||||
TXT_SCRIPT.Checked = .ScriptUse
|
TXT_SCRIPT.Checked = .ScriptUse
|
||||||
TXT_SCRIPT.Text = .ScriptData
|
TXT_SCRIPT.Text = .ScriptData
|
||||||
TXT_DESCR.Text = .Description
|
TXT_DESCR.Text = .Description.StringFormatLines
|
||||||
UserLabels.ListAddList(.Labels)
|
UserLabels.ListAddList(.Labels)
|
||||||
If UserLabels.ListExists Then TXT_LABELS.Text = UserLabels.ListToString
|
If UserLabels.ListExists Then TXT_LABELS.Text = UserLabels.ListToString
|
||||||
End With
|
End With
|
||||||
@@ -163,7 +163,7 @@ Namespace Editors
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
.MyFieldsChecker = New FieldsChecker
|
.MyFieldsChecker = New FieldsChecker
|
||||||
.MyFieldsChecker.AddControl(Of String)(TXT_USER, TXT_USER.CaptionText)
|
DirectCast(.MyFieldsChecker, FieldsChecker).AddControl(Of String)(TXT_USER, TXT_USER.CaptionText)
|
||||||
.MyFieldsChecker.EndLoaderOperations()
|
.MyFieldsChecker.EndLoaderOperations()
|
||||||
.AppendDetectors()
|
.AppendDetectors()
|
||||||
.EndLoaderOperations()
|
.EndLoaderOperations()
|
||||||
@@ -377,6 +377,7 @@ CloseForm:
|
|||||||
Dim UsersForCreate As New List(Of UserInfo)
|
Dim UsersForCreate As New List(Of UserInfo)
|
||||||
Dim BannedUsers() As String = Nothing
|
Dim BannedUsers() As String = Nothing
|
||||||
Dim uu$
|
Dim uu$
|
||||||
|
Dim ulabels As List(Of String) = ListAddList(Nothing, UserLabels).ListAddValue(LabelsKeeper.NoParsedUser, LAP.NotContainsOnly)
|
||||||
Dim tmpUser As UserInfo
|
Dim tmpUser As UserInfo
|
||||||
Dim s As SettingsHost = GetSiteByCheckers()
|
Dim s As SettingsHost = GetSiteByCheckers()
|
||||||
Dim sObj As ExchangeOptions
|
Dim sObj As ExchangeOptions
|
||||||
@@ -387,6 +388,8 @@ CloseForm:
|
|||||||
Dim sf As Func(Of SettingsHost, String) = Function(__s) SpecialPath(__s).PathWithSeparator
|
Dim sf As Func(Of SettingsHost, String) = Function(__s) SpecialPath(__s).PathWithSeparator
|
||||||
Dim __sf As Func(Of String, SettingsHost, SFile) = Function(Input, __s) IIf(sf(__s).IsEmptyString, Nothing, New SFile($"{sf(__s)}{Input}\"))
|
Dim __sf As Func(Of String, SettingsHost, SFile) = Function(Input, __s) IIf(sf(__s).IsEmptyString, Nothing, New SFile($"{sf(__s)}{Input}\"))
|
||||||
|
|
||||||
|
Settings.Labels.Add(LabelsKeeper.NoParsedUser)
|
||||||
|
|
||||||
For i% = 0 To u.Count - 1
|
For i% = 0 To u.Count - 1
|
||||||
uu = u(i)
|
uu = u(i)
|
||||||
If CH_AUTO_DETECT_SITE.Checked Then
|
If CH_AUTO_DETECT_SITE.Checked Then
|
||||||
@@ -429,7 +432,7 @@ CloseForm:
|
|||||||
.DownloadImages = CH_DOWN_IMAGES.Checked
|
.DownloadImages = CH_DOWN_IMAGES.Checked
|
||||||
.DownloadVideos = CH_DOWN_VIDEOS.Checked
|
.DownloadVideos = CH_DOWN_VIDEOS.Checked
|
||||||
.ScriptUse = TXT_SCRIPT.Checked
|
.ScriptUse = TXT_SCRIPT.Checked
|
||||||
.Labels.ListAddList(UserLabels)
|
.Labels.ListAddList(ulabels)
|
||||||
.ParseUserMediaOnly = CH_PARSE_USER_MEDIA.Checked
|
.ParseUserMediaOnly = CH_PARSE_USER_MEDIA.Checked
|
||||||
If Not CH_AUTO_DETECT_SITE.Checked Then _
|
If Not CH_AUTO_DETECT_SITE.Checked Then _
|
||||||
DirectCast(.Self, UserDataBase).HOST.Source.UserOptions(MyExchangeOptions, False)
|
DirectCast(.Self, UserDataBase).HOST.Source.UserOptions(MyExchangeOptions, False)
|
||||||
@@ -444,8 +447,8 @@ CloseForm:
|
|||||||
Dim m As New MMessage($"Added {Added} users (skipped (already exists and/or duplicated) {Skipped})")
|
Dim m As New MMessage($"Added {Added} users (skipped (already exists and/or duplicated) {Skipped})")
|
||||||
If BannedUsers.ListExists Or NonIdentified.Count > 0 Then
|
If BannedUsers.ListExists Or NonIdentified.Count > 0 Then
|
||||||
Dim t$ = String.Empty
|
Dim t$ = String.Empty
|
||||||
If BannedUsers.ListExists Then t.StringAppendLine($"Banned users:{vbNewLine}{BannedUsers.ListToString(, vbNewLine)}")
|
If BannedUsers.ListExists Then t.StringAppendLine($"Banned users:{vbNewLine}{BannedUsers.ListToString(vbNewLine)}")
|
||||||
If NonIdentified.Count > 0 Then t.StringAppendLine($"Non-Identified users:{vbNewLine}{NonIdentified.ListToString(, vbNewLine)}", vbNewLine.StringDup(2))
|
If NonIdentified.Count > 0 Then t.StringAppendLine($"Non-Identified users:{vbNewLine}{NonIdentified.ListToString(vbNewLine)}", vbNewLine.StringDup(2))
|
||||||
m.Style = MsgBoxStyle.Exclamation
|
m.Style = MsgBoxStyle.Exclamation
|
||||||
m.Text.StringAppendLine("Some of users does not recognized and/or banned")
|
m.Text.StringAppendLine("Some of users does not recognized and/or banned")
|
||||||
m.Text.StringAppendLine(t, vbNewLine.StringDup(2))
|
m.Text.StringAppendLine(t, vbNewLine.StringDup(2))
|
||||||
|
|||||||
@@ -6,6 +6,8 @@
|
|||||||
'
|
'
|
||||||
' This program is distributed in the hope that it will be useful,
|
' This program is distributed in the hope that it will be useful,
|
||||||
' but WITHOUT ANY WARRANTY
|
' but WITHOUT ANY WARRANTY
|
||||||
|
Imports PersonalUtilities.Functions.XML
|
||||||
|
Imports PersonalUtilities.Functions.XML.Base
|
||||||
Imports PersonalUtilities.Tools
|
Imports PersonalUtilities.Tools
|
||||||
Friend Class LabelsKeeper : Implements ICollection(Of String), IMyEnumerator(Of String), IDisposable
|
Friend Class LabelsKeeper : Implements ICollection(Of String), IMyEnumerator(Of String), IDisposable
|
||||||
Friend Event NewLabelAdded()
|
Friend Event NewLabelAdded()
|
||||||
@@ -20,13 +22,33 @@ Friend Class LabelsKeeper : Implements ICollection(Of String), IMyEnumerator(Of
|
|||||||
Return NewLabels.Count > 0
|
Return NewLabels.Count > 0
|
||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
Friend ReadOnly Property CurrentSelection As List(Of String)
|
Friend ReadOnly Property Current As XMLValuesCollection(Of String)
|
||||||
Friend Sub New()
|
Friend ReadOnly Property Excluded As XMLValuesCollection(Of String)
|
||||||
|
Friend ReadOnly Property ExcludedIgnore As XMLValue(Of Boolean)
|
||||||
|
Private ReadOnly Property SourceXML As XmlFile
|
||||||
|
Friend Sub New(ByRef x As XmlFile)
|
||||||
|
SourceXML = x
|
||||||
LabelsList = New List(Of String)
|
LabelsList = New List(Of String)
|
||||||
NewLabels = New List(Of String)
|
NewLabels = New List(Of String)
|
||||||
CurrentSelection = New List(Of String)
|
|
||||||
If LabelsFile.Exists Then LabelsList.ListAddList(IO.File.ReadAllLines(LabelsFile), LAP.NotContainsOnly)
|
If LabelsFile.Exists Then LabelsList.ListAddList(IO.File.ReadAllLines(LabelsFile), LAP.NotContainsOnly)
|
||||||
LabelsList.ListAddList({NoLabeledName, NoParsedUser}, LAP.NotContainsOnly)
|
Current = New XMLValuesCollection(Of String)(XMLValueBase.ListModes.String, "LatestSelectedLabels", x) With {.ListAddParameters = LAP.NotContainsOnly}
|
||||||
|
Excluded = New XMLValuesCollection(Of String)(XMLValueBase.ListModes.String, "LatestExcludedLabels", x) With {.ListAddParameters = LAP.NotContainsOnly}
|
||||||
|
ExcludedIgnore = New XMLValue(Of Boolean)("LatestExcludedLabelsIgnore", False, x)
|
||||||
|
End Sub
|
||||||
|
Friend Sub Verify()
|
||||||
|
SourceXML.BeginUpdate()
|
||||||
|
Dim r As Predicate(Of String) = Function(l) Not LabelsList.Contains(l)
|
||||||
|
Dim c% = Current.Count
|
||||||
|
If c > 0 Then
|
||||||
|
Current.ValuesList.RemoveAll(r)
|
||||||
|
If Not Current.Count = c Then Current.Update()
|
||||||
|
End If
|
||||||
|
c = Excluded.Count
|
||||||
|
If c > 0 Then
|
||||||
|
Excluded.ValuesList.RemoveAll(r)
|
||||||
|
If Not c = Excluded.Count Then Excluded.Update()
|
||||||
|
End If
|
||||||
|
SourceXML.EndUpdate()
|
||||||
End Sub
|
End Sub
|
||||||
Friend ReadOnly Property ToList As List(Of String)
|
Friend ReadOnly Property ToList As List(Of String)
|
||||||
Get
|
Get
|
||||||
@@ -50,7 +72,7 @@ Friend Class LabelsKeeper : Implements ICollection(Of String), IMyEnumerator(Of
|
|||||||
Friend Sub Update()
|
Friend Sub Update()
|
||||||
If LabelsList.Count > 0 Then
|
If LabelsList.Count > 0 Then
|
||||||
LabelsList.Sort()
|
LabelsList.Sort()
|
||||||
TextSaver.SaveTextToFile(LabelsList.ListToString(, vbNewLine), LabelsFile, True, False, EDP.SendInLog)
|
TextSaver.SaveTextToFile(LabelsList.ListToString(vbNewLine), LabelsFile, True, False, EDP.SendInLog)
|
||||||
Else
|
Else
|
||||||
LabelsFile.Delete(, Settings.DeleteMode, EDP.SendInLog)
|
LabelsFile.Delete(, Settings.DeleteMode, EDP.SendInLog)
|
||||||
End If
|
End If
|
||||||
@@ -93,7 +115,7 @@ Friend Class LabelsKeeper : Implements ICollection(Of String), IMyEnumerator(Of
|
|||||||
Private disposedValue As Boolean = False
|
Private disposedValue As Boolean = False
|
||||||
Protected Overridable Overloads Sub Dispose(ByVal disposing As Boolean)
|
Protected Overridable Overloads Sub Dispose(ByVal disposing As Boolean)
|
||||||
If Not disposedValue Then
|
If Not disposedValue Then
|
||||||
If disposing Then Clear() : CurrentSelection.Clear()
|
If disposing Then Clear() : Current.Dispose() : Excluded.Dispose()
|
||||||
disposedValue = True
|
disposedValue = True
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
115
SCrawler/MainFrame.Designer.vb
generated
@@ -28,8 +28,8 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
Dim MENU_VIEW_SEP_3 As System.Windows.Forms.ToolStripSeparator
|
Dim MENU_VIEW_SEP_3 As System.Windows.Forms.ToolStripSeparator
|
||||||
Dim MENU_VIEW_SEP_2 As System.Windows.Forms.ToolStripSeparator
|
Dim MENU_VIEW_SEP_2 As System.Windows.Forms.ToolStripSeparator
|
||||||
Dim TRAY_SEP_1 As System.Windows.Forms.ToolStripSeparator
|
Dim TRAY_SEP_1 As System.Windows.Forms.ToolStripSeparator
|
||||||
Dim MENU_VIEW_SEP_4 As System.Windows.Forms.ToolStripSeparator
|
|
||||||
Dim MENU_DOWN_ALL_SEP_1 As System.Windows.Forms.ToolStripSeparator
|
Dim MENU_DOWN_ALL_SEP_1 As System.Windows.Forms.ToolStripSeparator
|
||||||
|
Dim MENU_DOWN_ALL_SEP_2 As System.Windows.Forms.ToolStripSeparator
|
||||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(MainFrame))
|
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(MainFrame))
|
||||||
Me.MENU_SETTINGS = New System.Windows.Forms.ToolStripDropDownButton()
|
Me.MENU_SETTINGS = New System.Windows.Forms.ToolStripDropDownButton()
|
||||||
Me.BTT_SETTINGS = New System.Windows.Forms.ToolStripMenuItem()
|
Me.BTT_SETTINGS = New System.Windows.Forms.ToolStripMenuItem()
|
||||||
@@ -47,6 +47,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
Me.BTT_DOWN_SITE = New System.Windows.Forms.ToolStripMenuItem()
|
Me.BTT_DOWN_SITE = New System.Windows.Forms.ToolStripMenuItem()
|
||||||
Me.BTT_DOWN_ALL_FULL = New System.Windows.Forms.ToolStripMenuItem()
|
Me.BTT_DOWN_ALL_FULL = New System.Windows.Forms.ToolStripMenuItem()
|
||||||
Me.BTT_DOWN_SITE_FULL = New System.Windows.Forms.ToolStripMenuItem()
|
Me.BTT_DOWN_SITE_FULL = New System.Windows.Forms.ToolStripMenuItem()
|
||||||
|
Me.BTT_ADD_NEW_GROUP = New System.Windows.Forms.ToolStripMenuItem()
|
||||||
Me.BTT_DOWN_VIDEO = New System.Windows.Forms.ToolStripButton()
|
Me.BTT_DOWN_VIDEO = New System.Windows.Forms.ToolStripButton()
|
||||||
Me.BTT_DOWN_STOP = New System.Windows.Forms.ToolStripButton()
|
Me.BTT_DOWN_STOP = New System.Windows.Forms.ToolStripButton()
|
||||||
Me.MENU_VIEW = New System.Windows.Forms.ToolStripDropDownButton()
|
Me.MENU_VIEW = New System.Windows.Forms.ToolStripDropDownButton()
|
||||||
@@ -64,7 +65,9 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
Me.BTT_SHOW_SUSPENDED = New System.Windows.Forms.ToolStripMenuItem()
|
Me.BTT_SHOW_SUSPENDED = New System.Windows.Forms.ToolStripMenuItem()
|
||||||
Me.BTT_SHOW_LABELS = New System.Windows.Forms.ToolStripMenuItem()
|
Me.BTT_SHOW_LABELS = New System.Windows.Forms.ToolStripMenuItem()
|
||||||
Me.BTT_SHOW_NO_LABELS = New System.Windows.Forms.ToolStripMenuItem()
|
Me.BTT_SHOW_NO_LABELS = New System.Windows.Forms.ToolStripMenuItem()
|
||||||
Me.BTT_SELECT_LABELS = New System.Windows.Forms.ToolStripMenuItem()
|
Me.BTT_SHOW_EXCLUDED_LABELS = New System.Windows.Forms.ToolStripMenuItem()
|
||||||
|
Me.BTT_SHOW_EXCLUDED_LABELS_IGNORE = New System.Windows.Forms.ToolStripMenuItem()
|
||||||
|
Me.BTT_SHOW_SHOW_GROUPS = New System.Windows.Forms.ToolStripMenuItem()
|
||||||
Me.BTT_SHOW_LIMIT_DATES = New System.Windows.Forms.ToolStripMenuItem()
|
Me.BTT_SHOW_LIMIT_DATES = New System.Windows.Forms.ToolStripMenuItem()
|
||||||
Me.BTT_LOG = New System.Windows.Forms.ToolStripButton()
|
Me.BTT_LOG = New System.Windows.Forms.ToolStripButton()
|
||||||
Me.BTT_VERSION_INFO = New System.Windows.Forms.ToolStripButton()
|
Me.BTT_VERSION_INFO = New System.Windows.Forms.ToolStripButton()
|
||||||
@@ -98,6 +101,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
Me.TRAY_CONTEXT = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
Me.TRAY_CONTEXT = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||||
Me.BTT_TRAY_SHOW_HIDE = New System.Windows.Forms.ToolStripMenuItem()
|
Me.BTT_TRAY_SHOW_HIDE = New System.Windows.Forms.ToolStripMenuItem()
|
||||||
Me.BTT_TRAY_CLOSE = New System.Windows.Forms.ToolStripMenuItem()
|
Me.BTT_TRAY_CLOSE = New System.Windows.Forms.ToolStripMenuItem()
|
||||||
|
Me.BTT_TRAY_CLOSE_NO_SCRIPT = New System.Windows.Forms.ToolStripMenuItem()
|
||||||
SEP_1 = New System.Windows.Forms.ToolStripSeparator()
|
SEP_1 = New System.Windows.Forms.ToolStripSeparator()
|
||||||
SEP_2 = New System.Windows.Forms.ToolStripSeparator()
|
SEP_2 = New System.Windows.Forms.ToolStripSeparator()
|
||||||
CONTEXT_SEP_1 = New System.Windows.Forms.ToolStripSeparator()
|
CONTEXT_SEP_1 = New System.Windows.Forms.ToolStripSeparator()
|
||||||
@@ -112,8 +116,8 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
MENU_VIEW_SEP_3 = New System.Windows.Forms.ToolStripSeparator()
|
MENU_VIEW_SEP_3 = New System.Windows.Forms.ToolStripSeparator()
|
||||||
MENU_VIEW_SEP_2 = New System.Windows.Forms.ToolStripSeparator()
|
MENU_VIEW_SEP_2 = New System.Windows.Forms.ToolStripSeparator()
|
||||||
TRAY_SEP_1 = New System.Windows.Forms.ToolStripSeparator()
|
TRAY_SEP_1 = New System.Windows.Forms.ToolStripSeparator()
|
||||||
MENU_VIEW_SEP_4 = New System.Windows.Forms.ToolStripSeparator()
|
|
||||||
MENU_DOWN_ALL_SEP_1 = New System.Windows.Forms.ToolStripSeparator()
|
MENU_DOWN_ALL_SEP_1 = New System.Windows.Forms.ToolStripSeparator()
|
||||||
|
MENU_DOWN_ALL_SEP_2 = New System.Windows.Forms.ToolStripSeparator()
|
||||||
Me.Toolbar_TOP.SuspendLayout()
|
Me.Toolbar_TOP.SuspendLayout()
|
||||||
Me.Toolbar_BOTTOM.SuspendLayout()
|
Me.Toolbar_BOTTOM.SuspendLayout()
|
||||||
Me.USER_CONTEXT.SuspendLayout()
|
Me.USER_CONTEXT.SuspendLayout()
|
||||||
@@ -173,33 +177,33 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
'MENU_VIEW_SEP_1
|
'MENU_VIEW_SEP_1
|
||||||
'
|
'
|
||||||
MENU_VIEW_SEP_1.Name = "MENU_VIEW_SEP_1"
|
MENU_VIEW_SEP_1.Name = "MENU_VIEW_SEP_1"
|
||||||
MENU_VIEW_SEP_1.Size = New System.Drawing.Size(141, 6)
|
MENU_VIEW_SEP_1.Size = New System.Drawing.Size(228, 6)
|
||||||
'
|
'
|
||||||
'MENU_VIEW_SEP_3
|
'MENU_VIEW_SEP_3
|
||||||
'
|
'
|
||||||
MENU_VIEW_SEP_3.Name = "MENU_VIEW_SEP_3"
|
MENU_VIEW_SEP_3.Name = "MENU_VIEW_SEP_3"
|
||||||
MENU_VIEW_SEP_3.Size = New System.Drawing.Size(141, 6)
|
MENU_VIEW_SEP_3.Size = New System.Drawing.Size(228, 6)
|
||||||
'
|
'
|
||||||
'MENU_VIEW_SEP_2
|
'MENU_VIEW_SEP_2
|
||||||
'
|
'
|
||||||
MENU_VIEW_SEP_2.Name = "MENU_VIEW_SEP_2"
|
MENU_VIEW_SEP_2.Name = "MENU_VIEW_SEP_2"
|
||||||
MENU_VIEW_SEP_2.Size = New System.Drawing.Size(141, 6)
|
MENU_VIEW_SEP_2.Size = New System.Drawing.Size(228, 6)
|
||||||
'
|
'
|
||||||
'TRAY_SEP_1
|
'TRAY_SEP_1
|
||||||
'
|
'
|
||||||
TRAY_SEP_1.Name = "TRAY_SEP_1"
|
TRAY_SEP_1.Name = "TRAY_SEP_1"
|
||||||
TRAY_SEP_1.Size = New System.Drawing.Size(130, 6)
|
TRAY_SEP_1.Size = New System.Drawing.Size(177, 6)
|
||||||
'
|
|
||||||
'MENU_VIEW_SEP_4
|
|
||||||
'
|
|
||||||
MENU_VIEW_SEP_4.Name = "MENU_VIEW_SEP_4"
|
|
||||||
MENU_VIEW_SEP_4.Size = New System.Drawing.Size(141, 6)
|
|
||||||
'
|
'
|
||||||
'MENU_DOWN_ALL_SEP_1
|
'MENU_DOWN_ALL_SEP_1
|
||||||
'
|
'
|
||||||
MENU_DOWN_ALL_SEP_1.Name = "MENU_DOWN_ALL_SEP_1"
|
MENU_DOWN_ALL_SEP_1.Name = "MENU_DOWN_ALL_SEP_1"
|
||||||
MENU_DOWN_ALL_SEP_1.Size = New System.Drawing.Size(228, 6)
|
MENU_DOWN_ALL_SEP_1.Size = New System.Drawing.Size(228, 6)
|
||||||
'
|
'
|
||||||
|
'MENU_DOWN_ALL_SEP_2
|
||||||
|
'
|
||||||
|
MENU_DOWN_ALL_SEP_2.Name = "MENU_DOWN_ALL_SEP_2"
|
||||||
|
MENU_DOWN_ALL_SEP_2.Size = New System.Drawing.Size(228, 6)
|
||||||
|
'
|
||||||
'MENU_SETTINGS
|
'MENU_SETTINGS
|
||||||
'
|
'
|
||||||
Me.MENU_SETTINGS.AutoToolTip = False
|
Me.MENU_SETTINGS.AutoToolTip = False
|
||||||
@@ -300,7 +304,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
'MENU_DOWN_ALL
|
'MENU_DOWN_ALL
|
||||||
'
|
'
|
||||||
Me.MENU_DOWN_ALL.AutoToolTip = False
|
Me.MENU_DOWN_ALL.AutoToolTip = False
|
||||||
Me.MENU_DOWN_ALL.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BTT_DOWN_ALL, Me.BTT_DOWN_SITE, MENU_DOWN_ALL_SEP_1, Me.BTT_DOWN_ALL_FULL, Me.BTT_DOWN_SITE_FULL})
|
Me.MENU_DOWN_ALL.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BTT_DOWN_ALL, Me.BTT_DOWN_SITE, MENU_DOWN_ALL_SEP_1, Me.BTT_DOWN_ALL_FULL, Me.BTT_DOWN_SITE_FULL, MENU_DOWN_ALL_SEP_2, Me.BTT_ADD_NEW_GROUP})
|
||||||
Me.MENU_DOWN_ALL.Image = Global.SCrawler.My.Resources.Resources.StartPic_01_Green_16
|
Me.MENU_DOWN_ALL.Image = Global.SCrawler.My.Resources.Resources.StartPic_01_Green_16
|
||||||
Me.MENU_DOWN_ALL.ImageTransparentColor = System.Drawing.Color.Magenta
|
Me.MENU_DOWN_ALL.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||||
Me.MENU_DOWN_ALL.Name = "MENU_DOWN_ALL"
|
Me.MENU_DOWN_ALL.Name = "MENU_DOWN_ALL"
|
||||||
@@ -344,6 +348,13 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
Me.BTT_DOWN_SITE_FULL.Text = "Download all site users [FULL]"
|
Me.BTT_DOWN_SITE_FULL.Text = "Download all site users [FULL]"
|
||||||
Me.BTT_DOWN_SITE_FULL.ToolTipText = "Download all users from specific sites. The 'Ready for download' option will be i" &
|
Me.BTT_DOWN_SITE_FULL.ToolTipText = "Download all users from specific sites. The 'Ready for download' option will be i" &
|
||||||
"gnored."
|
"gnored."
|
||||||
|
'
|
||||||
|
'BTT_ADD_NEW_GROUP
|
||||||
|
'
|
||||||
|
Me.BTT_ADD_NEW_GROUP.Image = Global.SCrawler.My.Resources.Resources.PlusPIC
|
||||||
|
Me.BTT_ADD_NEW_GROUP.Name = "BTT_ADD_NEW_GROUP"
|
||||||
|
Me.BTT_ADD_NEW_GROUP.Size = New System.Drawing.Size(231, 22)
|
||||||
|
Me.BTT_ADD_NEW_GROUP.Text = "Add a new download group"
|
||||||
'
|
'
|
||||||
'BTT_DOWN_VIDEO
|
'BTT_DOWN_VIDEO
|
||||||
'
|
'
|
||||||
@@ -369,7 +380,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
'
|
'
|
||||||
Me.MENU_VIEW.AutoToolTip = False
|
Me.MENU_VIEW.AutoToolTip = False
|
||||||
Me.MENU_VIEW.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text
|
Me.MENU_VIEW.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text
|
||||||
Me.MENU_VIEW.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BTT_VIEW_LARGE, Me.BTT_VIEW_SMALL, Me.BTT_VIEW_LIST, Me.BTT_VIEW_DETAILS, MENU_VIEW_SEP_1, Me.BTT_SITE_ALL, Me.BTT_SITE_SPECIFIC, MENU_VIEW_SEP_2, Me.BTT_SHOW_ALL, Me.BTT_SHOW_REGULAR, Me.BTT_SHOW_TEMP, Me.BTT_SHOW_FAV, Me.BTT_SHOW_DELETED, Me.BTT_SHOW_SUSPENDED, Me.BTT_SHOW_LABELS, Me.BTT_SHOW_NO_LABELS, MENU_VIEW_SEP_3, Me.BTT_SELECT_LABELS, MENU_VIEW_SEP_4, Me.BTT_SHOW_LIMIT_DATES})
|
Me.MENU_VIEW.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BTT_VIEW_LARGE, Me.BTT_VIEW_SMALL, Me.BTT_VIEW_LIST, Me.BTT_VIEW_DETAILS, MENU_VIEW_SEP_1, Me.BTT_SITE_ALL, Me.BTT_SITE_SPECIFIC, MENU_VIEW_SEP_2, Me.BTT_SHOW_ALL, Me.BTT_SHOW_REGULAR, Me.BTT_SHOW_TEMP, Me.BTT_SHOW_FAV, Me.BTT_SHOW_DELETED, Me.BTT_SHOW_SUSPENDED, Me.BTT_SHOW_LABELS, Me.BTT_SHOW_NO_LABELS, Me.BTT_SHOW_EXCLUDED_LABELS, Me.BTT_SHOW_EXCLUDED_LABELS_IGNORE, Me.BTT_SHOW_SHOW_GROUPS, MENU_VIEW_SEP_3, Me.BTT_SHOW_LIMIT_DATES})
|
||||||
Me.MENU_VIEW.Image = CType(resources.GetObject("MENU_VIEW.Image"), System.Drawing.Image)
|
Me.MENU_VIEW.Image = CType(resources.GetObject("MENU_VIEW.Image"), System.Drawing.Image)
|
||||||
Me.MENU_VIEW.ImageTransparentColor = System.Drawing.Color.Magenta
|
Me.MENU_VIEW.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||||
Me.MENU_VIEW.Name = "MENU_VIEW"
|
Me.MENU_VIEW.Name = "MENU_VIEW"
|
||||||
@@ -379,61 +390,61 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
'BTT_VIEW_LARGE
|
'BTT_VIEW_LARGE
|
||||||
'
|
'
|
||||||
Me.BTT_VIEW_LARGE.Name = "BTT_VIEW_LARGE"
|
Me.BTT_VIEW_LARGE.Name = "BTT_VIEW_LARGE"
|
||||||
Me.BTT_VIEW_LARGE.Size = New System.Drawing.Size(144, 22)
|
Me.BTT_VIEW_LARGE.Size = New System.Drawing.Size(231, 22)
|
||||||
Me.BTT_VIEW_LARGE.Text = "Large images"
|
Me.BTT_VIEW_LARGE.Text = "Large images"
|
||||||
'
|
'
|
||||||
'BTT_VIEW_SMALL
|
'BTT_VIEW_SMALL
|
||||||
'
|
'
|
||||||
Me.BTT_VIEW_SMALL.Name = "BTT_VIEW_SMALL"
|
Me.BTT_VIEW_SMALL.Name = "BTT_VIEW_SMALL"
|
||||||
Me.BTT_VIEW_SMALL.Size = New System.Drawing.Size(144, 22)
|
Me.BTT_VIEW_SMALL.Size = New System.Drawing.Size(231, 22)
|
||||||
Me.BTT_VIEW_SMALL.Text = "Small images"
|
Me.BTT_VIEW_SMALL.Text = "Small images"
|
||||||
'
|
'
|
||||||
'BTT_VIEW_LIST
|
'BTT_VIEW_LIST
|
||||||
'
|
'
|
||||||
Me.BTT_VIEW_LIST.Name = "BTT_VIEW_LIST"
|
Me.BTT_VIEW_LIST.Name = "BTT_VIEW_LIST"
|
||||||
Me.BTT_VIEW_LIST.Size = New System.Drawing.Size(144, 22)
|
Me.BTT_VIEW_LIST.Size = New System.Drawing.Size(231, 22)
|
||||||
Me.BTT_VIEW_LIST.Text = "List"
|
Me.BTT_VIEW_LIST.Text = "List"
|
||||||
'
|
'
|
||||||
'BTT_VIEW_DETAILS
|
'BTT_VIEW_DETAILS
|
||||||
'
|
'
|
||||||
Me.BTT_VIEW_DETAILS.Name = "BTT_VIEW_DETAILS"
|
Me.BTT_VIEW_DETAILS.Name = "BTT_VIEW_DETAILS"
|
||||||
Me.BTT_VIEW_DETAILS.Size = New System.Drawing.Size(144, 22)
|
Me.BTT_VIEW_DETAILS.Size = New System.Drawing.Size(231, 22)
|
||||||
Me.BTT_VIEW_DETAILS.Text = "Details"
|
Me.BTT_VIEW_DETAILS.Text = "Details"
|
||||||
'
|
'
|
||||||
'BTT_SITE_ALL
|
'BTT_SITE_ALL
|
||||||
'
|
'
|
||||||
Me.BTT_SITE_ALL.Name = "BTT_SITE_ALL"
|
Me.BTT_SITE_ALL.Name = "BTT_SITE_ALL"
|
||||||
Me.BTT_SITE_ALL.Size = New System.Drawing.Size(144, 22)
|
Me.BTT_SITE_ALL.Size = New System.Drawing.Size(231, 22)
|
||||||
Me.BTT_SITE_ALL.Text = "All"
|
Me.BTT_SITE_ALL.Text = "All"
|
||||||
'
|
'
|
||||||
'BTT_SITE_SPECIFIC
|
'BTT_SITE_SPECIFIC
|
||||||
'
|
'
|
||||||
Me.BTT_SITE_SPECIFIC.Name = "BTT_SITE_SPECIFIC"
|
Me.BTT_SITE_SPECIFIC.Name = "BTT_SITE_SPECIFIC"
|
||||||
Me.BTT_SITE_SPECIFIC.Size = New System.Drawing.Size(144, 22)
|
Me.BTT_SITE_SPECIFIC.Size = New System.Drawing.Size(231, 22)
|
||||||
Me.BTT_SITE_SPECIFIC.Text = "Specific sites"
|
Me.BTT_SITE_SPECIFIC.Text = "Specific sites"
|
||||||
'
|
'
|
||||||
'BTT_SHOW_ALL
|
'BTT_SHOW_ALL
|
||||||
'
|
'
|
||||||
Me.BTT_SHOW_ALL.Name = "BTT_SHOW_ALL"
|
Me.BTT_SHOW_ALL.Name = "BTT_SHOW_ALL"
|
||||||
Me.BTT_SHOW_ALL.Size = New System.Drawing.Size(144, 22)
|
Me.BTT_SHOW_ALL.Size = New System.Drawing.Size(231, 22)
|
||||||
Me.BTT_SHOW_ALL.Text = "All"
|
Me.BTT_SHOW_ALL.Text = "All"
|
||||||
'
|
'
|
||||||
'BTT_SHOW_REGULAR
|
'BTT_SHOW_REGULAR
|
||||||
'
|
'
|
||||||
Me.BTT_SHOW_REGULAR.Name = "BTT_SHOW_REGULAR"
|
Me.BTT_SHOW_REGULAR.Name = "BTT_SHOW_REGULAR"
|
||||||
Me.BTT_SHOW_REGULAR.Size = New System.Drawing.Size(144, 22)
|
Me.BTT_SHOW_REGULAR.Size = New System.Drawing.Size(231, 22)
|
||||||
Me.BTT_SHOW_REGULAR.Text = "Regular"
|
Me.BTT_SHOW_REGULAR.Text = "Regular"
|
||||||
'
|
'
|
||||||
'BTT_SHOW_TEMP
|
'BTT_SHOW_TEMP
|
||||||
'
|
'
|
||||||
Me.BTT_SHOW_TEMP.Name = "BTT_SHOW_TEMP"
|
Me.BTT_SHOW_TEMP.Name = "BTT_SHOW_TEMP"
|
||||||
Me.BTT_SHOW_TEMP.Size = New System.Drawing.Size(144, 22)
|
Me.BTT_SHOW_TEMP.Size = New System.Drawing.Size(231, 22)
|
||||||
Me.BTT_SHOW_TEMP.Text = "Temporary"
|
Me.BTT_SHOW_TEMP.Text = "Temporary"
|
||||||
'
|
'
|
||||||
'BTT_SHOW_FAV
|
'BTT_SHOW_FAV
|
||||||
'
|
'
|
||||||
Me.BTT_SHOW_FAV.Name = "BTT_SHOW_FAV"
|
Me.BTT_SHOW_FAV.Name = "BTT_SHOW_FAV"
|
||||||
Me.BTT_SHOW_FAV.Size = New System.Drawing.Size(144, 22)
|
Me.BTT_SHOW_FAV.Size = New System.Drawing.Size(231, 22)
|
||||||
Me.BTT_SHOW_FAV.Text = "Favorites"
|
Me.BTT_SHOW_FAV.Text = "Favorites"
|
||||||
'
|
'
|
||||||
'BTT_SHOW_DELETED
|
'BTT_SHOW_DELETED
|
||||||
@@ -441,7 +452,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
Me.BTT_SHOW_DELETED.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer))
|
Me.BTT_SHOW_DELETED.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer))
|
||||||
Me.BTT_SHOW_DELETED.ForeColor = System.Drawing.Color.Maroon
|
Me.BTT_SHOW_DELETED.ForeColor = System.Drawing.Color.Maroon
|
||||||
Me.BTT_SHOW_DELETED.Name = "BTT_SHOW_DELETED"
|
Me.BTT_SHOW_DELETED.Name = "BTT_SHOW_DELETED"
|
||||||
Me.BTT_SHOW_DELETED.Size = New System.Drawing.Size(144, 22)
|
Me.BTT_SHOW_DELETED.Size = New System.Drawing.Size(231, 22)
|
||||||
Me.BTT_SHOW_DELETED.Text = "Deleted"
|
Me.BTT_SHOW_DELETED.Text = "Deleted"
|
||||||
'
|
'
|
||||||
'BTT_SHOW_SUSPENDED
|
'BTT_SHOW_SUSPENDED
|
||||||
@@ -449,32 +460,44 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
Me.BTT_SHOW_SUSPENDED.BackColor = System.Drawing.Color.PapayaWhip
|
Me.BTT_SHOW_SUSPENDED.BackColor = System.Drawing.Color.PapayaWhip
|
||||||
Me.BTT_SHOW_SUSPENDED.ForeColor = System.Drawing.Color.SaddleBrown
|
Me.BTT_SHOW_SUSPENDED.ForeColor = System.Drawing.Color.SaddleBrown
|
||||||
Me.BTT_SHOW_SUSPENDED.Name = "BTT_SHOW_SUSPENDED"
|
Me.BTT_SHOW_SUSPENDED.Name = "BTT_SHOW_SUSPENDED"
|
||||||
Me.BTT_SHOW_SUSPENDED.Size = New System.Drawing.Size(144, 22)
|
Me.BTT_SHOW_SUSPENDED.Size = New System.Drawing.Size(231, 22)
|
||||||
Me.BTT_SHOW_SUSPENDED.Text = "Suspended"
|
Me.BTT_SHOW_SUSPENDED.Text = "Suspended"
|
||||||
'
|
'
|
||||||
'BTT_SHOW_LABELS
|
'BTT_SHOW_LABELS
|
||||||
'
|
'
|
||||||
Me.BTT_SHOW_LABELS.Name = "BTT_SHOW_LABELS"
|
Me.BTT_SHOW_LABELS.Name = "BTT_SHOW_LABELS"
|
||||||
Me.BTT_SHOW_LABELS.Size = New System.Drawing.Size(144, 22)
|
Me.BTT_SHOW_LABELS.Size = New System.Drawing.Size(231, 22)
|
||||||
Me.BTT_SHOW_LABELS.Text = "Labels"
|
Me.BTT_SHOW_LABELS.Text = "Labels"
|
||||||
'
|
'
|
||||||
'BTT_SHOW_NO_LABELS
|
'BTT_SHOW_NO_LABELS
|
||||||
'
|
'
|
||||||
Me.BTT_SHOW_NO_LABELS.Name = "BTT_SHOW_NO_LABELS"
|
Me.BTT_SHOW_NO_LABELS.Name = "BTT_SHOW_NO_LABELS"
|
||||||
Me.BTT_SHOW_NO_LABELS.Size = New System.Drawing.Size(144, 22)
|
Me.BTT_SHOW_NO_LABELS.Size = New System.Drawing.Size(231, 22)
|
||||||
Me.BTT_SHOW_NO_LABELS.Text = "No labels"
|
Me.BTT_SHOW_NO_LABELS.Text = "No labels"
|
||||||
'
|
'
|
||||||
'BTT_SELECT_LABELS
|
'BTT_SHOW_EXCLUDED_LABELS
|
||||||
'
|
'
|
||||||
Me.BTT_SELECT_LABELS.Name = "BTT_SELECT_LABELS"
|
Me.BTT_SHOW_EXCLUDED_LABELS.Name = "BTT_SHOW_EXCLUDED_LABELS"
|
||||||
Me.BTT_SELECT_LABELS.Size = New System.Drawing.Size(144, 22)
|
Me.BTT_SHOW_EXCLUDED_LABELS.Size = New System.Drawing.Size(231, 22)
|
||||||
Me.BTT_SELECT_LABELS.Text = "Select labels"
|
Me.BTT_SHOW_EXCLUDED_LABELS.Text = "Excluded labels"
|
||||||
|
'
|
||||||
|
'BTT_SHOW_EXCLUDED_LABELS_IGNORE
|
||||||
|
'
|
||||||
|
Me.BTT_SHOW_EXCLUDED_LABELS_IGNORE.Name = "BTT_SHOW_EXCLUDED_LABELS_IGNORE"
|
||||||
|
Me.BTT_SHOW_EXCLUDED_LABELS_IGNORE.Size = New System.Drawing.Size(231, 22)
|
||||||
|
Me.BTT_SHOW_EXCLUDED_LABELS_IGNORE.Text = "Ignore excluded labels"
|
||||||
|
'
|
||||||
|
'BTT_SHOW_SHOW_GROUPS
|
||||||
|
'
|
||||||
|
Me.BTT_SHOW_SHOW_GROUPS.Name = "BTT_SHOW_SHOW_GROUPS"
|
||||||
|
Me.BTT_SHOW_SHOW_GROUPS.Size = New System.Drawing.Size(231, 22)
|
||||||
|
Me.BTT_SHOW_SHOW_GROUPS.Text = "Show groups instead of labels"
|
||||||
'
|
'
|
||||||
'BTT_SHOW_LIMIT_DATES
|
'BTT_SHOW_LIMIT_DATES
|
||||||
'
|
'
|
||||||
Me.BTT_SHOW_LIMIT_DATES.AutoToolTip = True
|
Me.BTT_SHOW_LIMIT_DATES.AutoToolTip = True
|
||||||
Me.BTT_SHOW_LIMIT_DATES.Name = "BTT_SHOW_LIMIT_DATES"
|
Me.BTT_SHOW_LIMIT_DATES.Name = "BTT_SHOW_LIMIT_DATES"
|
||||||
Me.BTT_SHOW_LIMIT_DATES.Size = New System.Drawing.Size(144, 22)
|
Me.BTT_SHOW_LIMIT_DATES.Size = New System.Drawing.Size(231, 22)
|
||||||
Me.BTT_SHOW_LIMIT_DATES.Text = "Limit dates"
|
Me.BTT_SHOW_LIMIT_DATES.Text = "Limit dates"
|
||||||
Me.BTT_SHOW_LIMIT_DATES.ToolTipText = "Show profiles that haven't downloaded new data since date..."
|
Me.BTT_SHOW_LIMIT_DATES.ToolTipText = "Show profiles that haven't downloaded new data since date..."
|
||||||
'
|
'
|
||||||
@@ -696,14 +719,14 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
'
|
'
|
||||||
'TRAY_CONTEXT
|
'TRAY_CONTEXT
|
||||||
'
|
'
|
||||||
Me.TRAY_CONTEXT.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BTT_TRAY_SHOW_HIDE, TRAY_SEP_1, Me.BTT_TRAY_CLOSE})
|
Me.TRAY_CONTEXT.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BTT_TRAY_SHOW_HIDE, TRAY_SEP_1, Me.BTT_TRAY_CLOSE, Me.BTT_TRAY_CLOSE_NO_SCRIPT})
|
||||||
Me.TRAY_CONTEXT.Name = "TRAY_CONTEXT"
|
Me.TRAY_CONTEXT.Name = "TRAY_CONTEXT"
|
||||||
Me.TRAY_CONTEXT.Size = New System.Drawing.Size(134, 54)
|
Me.TRAY_CONTEXT.Size = New System.Drawing.Size(181, 98)
|
||||||
'
|
'
|
||||||
'BTT_TRAY_SHOW_HIDE
|
'BTT_TRAY_SHOW_HIDE
|
||||||
'
|
'
|
||||||
Me.BTT_TRAY_SHOW_HIDE.Name = "BTT_TRAY_SHOW_HIDE"
|
Me.BTT_TRAY_SHOW_HIDE.Name = "BTT_TRAY_SHOW_HIDE"
|
||||||
Me.BTT_TRAY_SHOW_HIDE.Size = New System.Drawing.Size(133, 22)
|
Me.BTT_TRAY_SHOW_HIDE.Size = New System.Drawing.Size(180, 22)
|
||||||
Me.BTT_TRAY_SHOW_HIDE.Text = "Show/Hide"
|
Me.BTT_TRAY_SHOW_HIDE.Text = "Show/Hide"
|
||||||
'
|
'
|
||||||
'BTT_TRAY_CLOSE
|
'BTT_TRAY_CLOSE
|
||||||
@@ -712,9 +735,19 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
Me.BTT_TRAY_CLOSE.ForeColor = System.Drawing.Color.Maroon
|
Me.BTT_TRAY_CLOSE.ForeColor = System.Drawing.Color.Maroon
|
||||||
Me.BTT_TRAY_CLOSE.Image = CType(resources.GetObject("BTT_TRAY_CLOSE.Image"), System.Drawing.Image)
|
Me.BTT_TRAY_CLOSE.Image = CType(resources.GetObject("BTT_TRAY_CLOSE.Image"), System.Drawing.Image)
|
||||||
Me.BTT_TRAY_CLOSE.Name = "BTT_TRAY_CLOSE"
|
Me.BTT_TRAY_CLOSE.Name = "BTT_TRAY_CLOSE"
|
||||||
Me.BTT_TRAY_CLOSE.Size = New System.Drawing.Size(133, 22)
|
Me.BTT_TRAY_CLOSE.Size = New System.Drawing.Size(180, 22)
|
||||||
Me.BTT_TRAY_CLOSE.Text = "Close"
|
Me.BTT_TRAY_CLOSE.Text = "Close"
|
||||||
'
|
'
|
||||||
|
'BTT_TRAY_CLOSE_NO_SCRIPT
|
||||||
|
'
|
||||||
|
Me.BTT_TRAY_CLOSE_NO_SCRIPT.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer))
|
||||||
|
Me.BTT_TRAY_CLOSE_NO_SCRIPT.ForeColor = System.Drawing.Color.Maroon
|
||||||
|
Me.BTT_TRAY_CLOSE_NO_SCRIPT.Image = Global.SCrawler.My.Resources.Resources.Delete
|
||||||
|
Me.BTT_TRAY_CLOSE_NO_SCRIPT.Name = "BTT_TRAY_CLOSE_NO_SCRIPT"
|
||||||
|
Me.BTT_TRAY_CLOSE_NO_SCRIPT.Size = New System.Drawing.Size(160, 22)
|
||||||
|
Me.BTT_TRAY_CLOSE_NO_SCRIPT.Text = "Close (no script)"
|
||||||
|
Me.BTT_TRAY_CLOSE_NO_SCRIPT.Visible = False
|
||||||
|
'
|
||||||
'MainFrame
|
'MainFrame
|
||||||
'
|
'
|
||||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||||
@@ -776,7 +809,6 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
Private WithEvents BTT_SHOW_TEMP As ToolStripMenuItem
|
Private WithEvents BTT_SHOW_TEMP As ToolStripMenuItem
|
||||||
Private WithEvents BTT_SHOW_FAV As ToolStripMenuItem
|
Private WithEvents BTT_SHOW_FAV As ToolStripMenuItem
|
||||||
Private WithEvents BTT_SHOW_LABELS As ToolStripMenuItem
|
Private WithEvents BTT_SHOW_LABELS As ToolStripMenuItem
|
||||||
Private WithEvents BTT_SELECT_LABELS As ToolStripMenuItem
|
|
||||||
Private WithEvents BTT_SHOW_NO_LABELS As ToolStripMenuItem
|
Private WithEvents BTT_SHOW_NO_LABELS As ToolStripMenuItem
|
||||||
Private WithEvents BTT_EDIT_USER As ToolStripButton
|
Private WithEvents BTT_EDIT_USER As ToolStripButton
|
||||||
Private WithEvents BTT_CONTEXT_GROUPS As ToolStripMenuItem
|
Private WithEvents BTT_CONTEXT_GROUPS As ToolStripMenuItem
|
||||||
@@ -788,7 +820,6 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
Private WithEvents BTT_CONTEXT_CHANGE_FOLDER As ToolStripMenuItem
|
Private WithEvents BTT_CONTEXT_CHANGE_FOLDER As ToolStripMenuItem
|
||||||
Private WithEvents BTT_DOWN_SAVED As ToolStripButton
|
Private WithEvents BTT_DOWN_SAVED As ToolStripButton
|
||||||
Private WithEvents TrayIcon As NotifyIcon
|
Private WithEvents TrayIcon As NotifyIcon
|
||||||
Private WithEvents TRAY_CONTEXT As ContextMenuStrip
|
|
||||||
Private WithEvents BTT_TRAY_SHOW_HIDE As ToolStripMenuItem
|
Private WithEvents BTT_TRAY_SHOW_HIDE As ToolStripMenuItem
|
||||||
Private WithEvents BTT_TRAY_CLOSE As ToolStripMenuItem
|
Private WithEvents BTT_TRAY_CLOSE As ToolStripMenuItem
|
||||||
Private WithEvents BTT_DONATE As ToolStripButton
|
Private WithEvents BTT_DONATE As ToolStripButton
|
||||||
@@ -805,4 +836,10 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
|||||||
Private WithEvents BTT_DOWN_ALL_FULL As ToolStripMenuItem
|
Private WithEvents BTT_DOWN_ALL_FULL As ToolStripMenuItem
|
||||||
Private WithEvents BTT_DOWN_SITE_FULL As ToolStripMenuItem
|
Private WithEvents BTT_DOWN_SITE_FULL As ToolStripMenuItem
|
||||||
Private WithEvents BTT_CONTEXT_SCRIPT As ToolStripMenuItem
|
Private WithEvents BTT_CONTEXT_SCRIPT As ToolStripMenuItem
|
||||||
|
Private WithEvents BTT_SHOW_EXCLUDED_LABELS As ToolStripMenuItem
|
||||||
|
Private WithEvents BTT_SHOW_EXCLUDED_LABELS_IGNORE As ToolStripMenuItem
|
||||||
|
Private WithEvents BTT_SHOW_SHOW_GROUPS As ToolStripMenuItem
|
||||||
|
Private WithEvents BTT_ADD_NEW_GROUP As ToolStripMenuItem
|
||||||
|
Friend WithEvents BTT_TRAY_CLOSE_NO_SCRIPT As ToolStripMenuItem
|
||||||
|
Friend WithEvents TRAY_CONTEXT As ContextMenuStrip
|
||||||
End Class
|
End Class
|
||||||
@@ -159,10 +159,10 @@
|
|||||||
<metadata name="TRAY_SEP_1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="TRAY_SEP_1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<metadata name="MENU_VIEW_SEP_4.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="MENU_DOWN_ALL_SEP_1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<metadata name="MENU_DOWN_ALL_SEP_1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="MENU_DOWN_ALL_SEP_2.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<metadata name="Toolbar_TOP.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="Toolbar_TOP.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ Public Class MainFrame
|
|||||||
If _VideoDownloadingMode Then GoTo FormClosingInvoker
|
If _VideoDownloadingMode Then GoTo FormClosingInvoker
|
||||||
Settings.DeleteCachePath()
|
Settings.DeleteCachePath()
|
||||||
MainFrameObj = New MainFrameObjects(Me)
|
MainFrameObj = New MainFrameObjects(Me)
|
||||||
|
MainFrameObj.ChangeCloseVisible()
|
||||||
MainProgress = New Toolbars.MyProgress(Toolbar_BOTTOM, PR_MAIN, LBL_STATUS, "Downloading profiles' data") With {
|
MainProgress = New Toolbars.MyProgress(Toolbar_BOTTOM, PR_MAIN, LBL_STATUS, "Downloading profiles' data") With {
|
||||||
.DropCurrentProgressOnTotalChange = False, .Enabled = False}
|
.DropCurrentProgressOnTotalChange = False, .Enabled = False}
|
||||||
Downloader = New TDownloader
|
Downloader = New TDownloader
|
||||||
@@ -72,6 +73,7 @@ Public Class MainFrame
|
|||||||
End With
|
End With
|
||||||
With Settings
|
With Settings
|
||||||
LIST_PROFILES.View = .ViewMode
|
LIST_PROFILES.View = .ViewMode
|
||||||
|
LIST_PROFILES.ShowGroups = .UseGrouping
|
||||||
ApplyViewPattern(.ViewMode.Value)
|
ApplyViewPattern(.ViewMode.Value)
|
||||||
AddHandler .Labels.NewLabelAdded, AddressOf UpdateLabelsGroups
|
AddHandler .Labels.NewLabelAdded, AddressOf UpdateLabelsGroups
|
||||||
End With
|
End With
|
||||||
@@ -83,6 +85,14 @@ Public Class MainFrame
|
|||||||
BTT_SITE_ALL.Checked = Settings.SelectedSites.Count = 0
|
BTT_SITE_ALL.Checked = Settings.SelectedSites.Count = 0
|
||||||
BTT_SITE_SPECIFIC.Checked = Settings.SelectedSites.Count > 0
|
BTT_SITE_SPECIFIC.Checked = Settings.SelectedSites.Count > 0
|
||||||
BTT_SHOW_LIMIT_DATES.Checked = Settings.LastUpdatedDate.HasValue
|
BTT_SHOW_LIMIT_DATES.Checked = Settings.LastUpdatedDate.HasValue
|
||||||
|
With Settings.Groups
|
||||||
|
AddHandler .Added, AddressOf GROUPS_Added
|
||||||
|
AddHandler .Deleted, AddressOf GROUPS_Deleted
|
||||||
|
AddHandler .Updated, AddressOf GROUPS_Updated
|
||||||
|
If .Count > 0 Then
|
||||||
|
For Each ugroup As Groups.DownloadGroup In Settings.Groups : GROUPS_Added(ugroup) : Next
|
||||||
|
End If
|
||||||
|
End With
|
||||||
_UFinit = False
|
_UFinit = False
|
||||||
GoTo EndFunction
|
GoTo EndFunction
|
||||||
FormClosingInvoker:
|
FormClosingInvoker:
|
||||||
@@ -93,6 +103,7 @@ EndFunction:
|
|||||||
Private _IgnoreTrayOptions As Boolean = False
|
Private _IgnoreTrayOptions As Boolean = False
|
||||||
Private _IgnoreCloseConfirm As Boolean = False
|
Private _IgnoreCloseConfirm As Boolean = False
|
||||||
Private Async Sub MainFrame_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
|
Private Async Sub MainFrame_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
|
||||||
|
If _VideoDownloadingMode Then Exit Sub
|
||||||
If Settings.CloseToTray And Not _IgnoreTrayOptions Then
|
If Settings.CloseToTray And Not _IgnoreTrayOptions Then
|
||||||
e.Cancel = True
|
e.Cancel = True
|
||||||
Hide()
|
Hide()
|
||||||
@@ -118,6 +129,7 @@ EndFunction:
|
|||||||
End Sub)
|
End Sub)
|
||||||
End If
|
End If
|
||||||
Downloader.Dispose()
|
Downloader.Dispose()
|
||||||
|
MyProgressForm.Dispose()
|
||||||
InfoForm.Dispose()
|
InfoForm.Dispose()
|
||||||
If Not MyChannels Is Nothing Then MyChannels.Dispose()
|
If Not MyChannels Is Nothing Then MyChannels.Dispose()
|
||||||
If Not VideoDownloader Is Nothing Then VideoDownloader.Dispose()
|
If Not VideoDownloader Is Nothing Then VideoDownloader.Dispose()
|
||||||
@@ -140,11 +152,15 @@ DropCloseParams:
|
|||||||
Exit Sub
|
Exit Sub
|
||||||
CloseContinue:
|
CloseContinue:
|
||||||
If Not BATCH Is Nothing Then BATCH.Dispose() : BATCH = Nothing
|
If Not BATCH Is Nothing Then BATCH.Dispose() : BATCH = Nothing
|
||||||
If Not MyMainLOG.IsEmptyString Then SaveLogToFile()
|
|
||||||
If _CloseInvoked Then Close()
|
If _CloseInvoked Then Close()
|
||||||
CloseResume:
|
CloseResume:
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
Private _DisableClosingScript As Boolean = False
|
||||||
|
Private Sub MainFrame_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed
|
||||||
|
If Not _DisableClosingScript And Not _VideoDownloadingMode Then ExecuteCommand(Settings.ClosingCommand)
|
||||||
|
If Not MyMainLOG.IsEmptyString Then SaveLogToFile()
|
||||||
|
End Sub
|
||||||
#Region "Tray"
|
#Region "Tray"
|
||||||
Private Sub TrayIcon_MouseClick(sender As Object, e As MouseEventArgs) Handles TrayIcon.MouseClick
|
Private Sub TrayIcon_MouseClick(sender As Object, e As MouseEventArgs) Handles TrayIcon.MouseClick
|
||||||
If e.Button = MouseButtons.Left Then
|
If e.Button = MouseButtons.Left Then
|
||||||
@@ -155,6 +171,13 @@ CloseResume:
|
|||||||
If Visible Then Hide() Else Show()
|
If Visible Then Hide() Else Show()
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub BTT_TRAY_CLOSE_Click(sender As Object, e As EventArgs) Handles BTT_TRAY_CLOSE.Click
|
Private Sub BTT_TRAY_CLOSE_Click(sender As Object, e As EventArgs) Handles BTT_TRAY_CLOSE.Click
|
||||||
|
ClosePressed(False)
|
||||||
|
End Sub
|
||||||
|
Private Sub BTT_TRAY_CLOSE_NO_SCRIPT_Click(sender As Object, e As EventArgs) Handles BTT_TRAY_CLOSE_NO_SCRIPT.Click
|
||||||
|
ClosePressed(True)
|
||||||
|
End Sub
|
||||||
|
Private Sub ClosePressed(ByVal DisableScript As Boolean)
|
||||||
|
_DisableClosingScript = DisableScript
|
||||||
If CheckForClose(False) Then _IgnoreTrayOptions = True : _IgnoreCloseConfirm = True : Close()
|
If CheckForClose(False) Then _IgnoreTrayOptions = True : _IgnoreCloseConfirm = True : Close()
|
||||||
End Sub
|
End Sub
|
||||||
Private Function CheckForClose(ByVal _Ignore As Boolean) As Boolean
|
Private Function CheckForClose(ByVal _Ignore As Boolean) As Boolean
|
||||||
@@ -176,10 +199,27 @@ CloseResume:
|
|||||||
Case Keys.F3 : EditSelectedUser()
|
Case Keys.F3 : EditSelectedUser()
|
||||||
Case Keys.F5 : BTT_DOWN_SELECTED.PerformClick()
|
Case Keys.F5 : BTT_DOWN_SELECTED.PerformClick()
|
||||||
Case Keys.F6 : If Settings.ShowingMode.Value = ShowingModes.All Then BTT_DOWN_ALL.PerformClick()
|
Case Keys.F6 : If Settings.ShowingMode.Value = ShowingModes.All Then BTT_DOWN_ALL.PerformClick()
|
||||||
Case Else : b = False
|
Case Else : b = NumGroup(e)
|
||||||
End Select
|
End Select
|
||||||
If b Then e.Handled = True
|
If b Then e.Handled = True
|
||||||
End Sub
|
End Sub
|
||||||
|
Private Function NumGroup(ByVal e As KeyEventArgs) As Boolean
|
||||||
|
Dim GroupExists As Func(Of Integer, Boolean) = Function(i) Settings.Groups.DownloadGroupIfExists(i - 1)
|
||||||
|
If e.Control And Settings.Groups.Count > 0 Then
|
||||||
|
Select Case e.KeyCode
|
||||||
|
Case Keys.D1, Keys.NumPad1 : Return GroupExists(1)
|
||||||
|
Case Keys.D2, Keys.NumPad2 : Return GroupExists(2)
|
||||||
|
Case Keys.D3, Keys.NumPad3 : Return GroupExists(3)
|
||||||
|
Case Keys.D4, Keys.NumPad4 : Return GroupExists(4)
|
||||||
|
Case Keys.D5, Keys.NumPad5 : Return GroupExists(5)
|
||||||
|
Case Keys.D6, Keys.NumPad6 : Return GroupExists(6)
|
||||||
|
Case Keys.D7, Keys.NumPad7 : Return GroupExists(7)
|
||||||
|
Case Keys.D8, Keys.NumPad8 : Return GroupExists(8)
|
||||||
|
Case Keys.D9, Keys.NumPad9 : Return GroupExists(9)
|
||||||
|
End Select
|
||||||
|
End If
|
||||||
|
Return False
|
||||||
|
End Function
|
||||||
Private Sub BTT_VERSION_INFO_Click(sender As Object, e As EventArgs) Handles BTT_VERSION_INFO.Click
|
Private Sub BTT_VERSION_INFO_Click(sender As Object, e As EventArgs) Handles BTT_VERSION_INFO.Click
|
||||||
CheckVersion(True)
|
CheckVersion(True)
|
||||||
End Sub
|
End Sub
|
||||||
@@ -213,15 +253,20 @@ CloseResume:
|
|||||||
#Region "Toolbar buttons"
|
#Region "Toolbar buttons"
|
||||||
#Region "Settings"
|
#Region "Settings"
|
||||||
Private Sub BTT_SETTINGS_Click(sender As Object, e As EventArgs) Handles BTT_SETTINGS.Click
|
Private Sub BTT_SETTINGS_Click(sender As Object, e As EventArgs) Handles BTT_SETTINGS.Click
|
||||||
Dim mhl% = Settings.MaxLargeImageHeigh.Value
|
With Settings
|
||||||
Dim mhs% = Settings.MaxSmallImageHeigh.Value
|
Dim mhl% = .MaxLargeImageHeigh.Value
|
||||||
Using f As New GlobalSettingsForm
|
Dim mhs% = .MaxSmallImageHeigh.Value
|
||||||
f.ShowDialog()
|
Dim sg As Boolean = .ShowGroups
|
||||||
If f.DialogResult = DialogResult.OK Then
|
Using f As New GlobalSettingsForm
|
||||||
If (Not Settings.MaxLargeImageHeigh = mhl Or Not Settings.MaxSmallImageHeigh = mhs) And Settings.ViewModeIsPicture Then RefillList()
|
f.ShowDialog()
|
||||||
TrayIcon.Visible = Settings.CloseToTray
|
If f.DialogResult = DialogResult.OK Then
|
||||||
End If
|
If ((Not .MaxLargeImageHeigh = mhl Or Not .MaxSmallImageHeigh = mhs) And .ViewModeIsPicture) Or
|
||||||
End Using
|
(Not sg = Settings.ShowGroups And .UseGrouping) Then RefillList()
|
||||||
|
TrayIcon.Visible = .CloseToTray
|
||||||
|
LIST_PROFILES.ShowGroups = .UseGrouping
|
||||||
|
End If
|
||||||
|
End Using
|
||||||
|
End With
|
||||||
End Sub
|
End Sub
|
||||||
#End Region
|
#End Region
|
||||||
#Region "User"
|
#Region "User"
|
||||||
@@ -252,7 +297,8 @@ CloseResume:
|
|||||||
.ScriptUse = f.ScriptUse
|
.ScriptUse = f.ScriptUse
|
||||||
.ScriptData = f.ScriptData
|
.ScriptData = f.ScriptData
|
||||||
If Not f.MyExchangeOptions Is Nothing Then DirectCast(.Self, UserDataBase).ExchangeOptionsSet(f.MyExchangeOptions)
|
If Not f.MyExchangeOptions Is Nothing Then DirectCast(.Self, UserDataBase).ExchangeOptionsSet(f.MyExchangeOptions)
|
||||||
.Self.Labels.ListAddList(f.UserLabels, LAP.ClearBeforeAdd, LAP.NotContainsOnly)
|
Settings.Labels.Add(LabelsKeeper.NoParsedUser)
|
||||||
|
.Self.Labels.ListAddList(f.UserLabels.ListAddValue(LabelsKeeper.NoParsedUser), LAP.ClearBeforeAdd, LAP.NotContainsOnly)
|
||||||
.UpdateUserInformation()
|
.UpdateUserInformation()
|
||||||
End If
|
End If
|
||||||
End With
|
End With
|
||||||
@@ -350,6 +396,24 @@ CloseResume:
|
|||||||
End If
|
End If
|
||||||
End Using
|
End Using
|
||||||
End Sub
|
End Sub
|
||||||
|
#End Region
|
||||||
|
#Region "Download groups"
|
||||||
|
Private Sub BTT_ADD_NEW_GROUP_Click(sender As Object, e As EventArgs) Handles BTT_ADD_NEW_GROUP.Click
|
||||||
|
Settings.Groups.Add()
|
||||||
|
End Sub
|
||||||
|
Private Sub GROUPS_Added(ByVal Sender As Groups.DownloadGroup)
|
||||||
|
Dim i% = MENU_DOWN_ALL.DropDownItems.IndexOf(BTT_ADD_NEW_GROUP)
|
||||||
|
Dim a As Action = Sub() MENU_DOWN_ALL.DropDownItems.Insert(i, Sender.GetControl)
|
||||||
|
If Toolbar_TOP.InvokeRequired Then Toolbar_TOP.Invoke(a) Else a.Invoke
|
||||||
|
End Sub
|
||||||
|
Private Sub GROUPS_Updated(ByVal Sender As Groups.DownloadGroup)
|
||||||
|
Dim i% = MENU_DOWN_ALL.DropDownItems.IndexOf(Sender.GetControl)
|
||||||
|
Dim a As Action = Sub() MENU_DOWN_ALL.DropDownItems(i).Text = Sender.ToString
|
||||||
|
If Toolbar_TOP.InvokeRequired Then Toolbar_TOP.Invoke(a) Else a.Invoke
|
||||||
|
End Sub
|
||||||
|
Private Sub GROUPS_Deleted(ByVal Sender As Groups.DownloadGroup)
|
||||||
|
MENU_DOWN_ALL.DropDownItems.Remove(Sender.GetControl)
|
||||||
|
End Sub
|
||||||
#End Region
|
#End Region
|
||||||
Private Sub BTT_DOWN_VIDEO_Click(sender As Object, e As EventArgs) Handles BTT_DOWN_VIDEO.Click
|
Private Sub BTT_DOWN_VIDEO_Click(sender As Object, e As EventArgs) Handles BTT_DOWN_VIDEO.Click
|
||||||
DownloadVideoByURL()
|
DownloadVideoByURL()
|
||||||
@@ -417,7 +481,7 @@ CloseResume:
|
|||||||
End Using
|
End Using
|
||||||
End Sub
|
End Sub
|
||||||
#End Region
|
#End Region
|
||||||
#Region "Labels"
|
#Region "View menu"
|
||||||
Private Sub BTT_SHOW_ALL_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_ALL.Click
|
Private Sub BTT_SHOW_ALL_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_ALL.Click
|
||||||
SetShowButtonsCheckers(ShowingModes.All)
|
SetShowButtonsCheckers(ShowingModes.All)
|
||||||
End Sub
|
End Sub
|
||||||
@@ -437,12 +501,35 @@ CloseResume:
|
|||||||
SetShowButtonsCheckers(ShowingModes.Suspended)
|
SetShowButtonsCheckers(ShowingModes.Suspended)
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub BTT_SHOW_LABELS_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_LABELS.Click
|
Private Sub BTT_SHOW_LABELS_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_LABELS.Click
|
||||||
SetShowButtonsCheckers(ShowingModes.Labels)
|
Dim b As Boolean = OpenLabelsForm(Settings.Labels.Current)
|
||||||
|
Dim m As ShowingModes
|
||||||
|
If Settings.Labels.Current.Count = 0 Then
|
||||||
|
m = Settings.ShowingMode.Value
|
||||||
|
If m = ShowingModes.Labels Then m = ShowingModes.All
|
||||||
|
Else
|
||||||
|
m = ShowingModes.Labels
|
||||||
|
End If
|
||||||
|
SetShowButtonsCheckers(m, Settings.ShowingMode.Value = ShowingModes.Labels And m = ShowingModes.Labels And b)
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub BTT_SHOW_NO_LABELS_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_NO_LABELS.Click
|
Private Sub BTT_SHOW_NO_LABELS_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_NO_LABELS.Click
|
||||||
SetShowButtonsCheckers(ShowingModes.NoLabels)
|
SetShowButtonsCheckers(ShowingModes.NoLabels)
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub SetShowButtonsCheckers(ByVal m As ShowingModes)
|
Private Sub BTT_SHOW_EXCLUDED_LABELS_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_EXCLUDED_LABELS.Click
|
||||||
|
Dim b As Boolean = OpenLabelsForm(Settings.Labels.Excluded)
|
||||||
|
SetExcludedButtonChecker()
|
||||||
|
If b Then RefillList()
|
||||||
|
End Sub
|
||||||
|
Private Sub BTT_SHOW_EXCLUDED_LABELS_IGNORE_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_EXCLUDED_LABELS_IGNORE.Click
|
||||||
|
Settings.Labels.ExcludedIgnore.Value = Not Settings.Labels.ExcludedIgnore.Value
|
||||||
|
If Settings.Labels.Excluded.Count > 0 Then RefillList()
|
||||||
|
SetExcludedButtonChecker()
|
||||||
|
End Sub
|
||||||
|
Private Sub BTT_SHOW_SHOW_GROUPS_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_SHOW_GROUPS.Click
|
||||||
|
Settings.ShowGroupsInsteadLabels.Value = Not Settings.ShowGroupsInsteadLabels.Value
|
||||||
|
If Settings.ShowingMode.Value = ShowingModes.Labels Then RefillList()
|
||||||
|
SetShowButtonsCheckers(Settings.ShowingMode.Value)
|
||||||
|
End Sub
|
||||||
|
Private Sub SetShowButtonsCheckers(ByVal m As ShowingModes, Optional ByVal ForceRefill As Boolean = False)
|
||||||
BTT_SHOW_ALL.Checked = m = ShowingModes.All
|
BTT_SHOW_ALL.Checked = m = ShowingModes.All
|
||||||
BTT_SHOW_REGULAR.Checked = m = ShowingModes.Regular
|
BTT_SHOW_REGULAR.Checked = m = ShowingModes.Regular
|
||||||
BTT_SHOW_TEMP.Checked = m = ShowingModes.Temporary
|
BTT_SHOW_TEMP.Checked = m = ShowingModes.Temporary
|
||||||
@@ -451,54 +538,34 @@ CloseResume:
|
|||||||
BTT_SHOW_SUSPENDED.Checked = m = ShowingModes.Suspended
|
BTT_SHOW_SUSPENDED.Checked = m = ShowingModes.Suspended
|
||||||
BTT_SHOW_LABELS.Checked = m = ShowingModes.Labels
|
BTT_SHOW_LABELS.Checked = m = ShowingModes.Labels
|
||||||
BTT_SHOW_NO_LABELS.Checked = m = ShowingModes.NoLabels
|
BTT_SHOW_NO_LABELS.Checked = m = ShowingModes.NoLabels
|
||||||
BTT_SELECT_LABELS.Enabled = BTT_SHOW_LABELS.Checked
|
BTT_SHOW_SHOW_GROUPS.Checked = Settings.ShowGroupsInsteadLabels
|
||||||
If Not Settings.ShowingMode.Value = m Then
|
SetExcludedButtonChecker()
|
||||||
If Not m = ShowingModes.Labels Or Settings.Labels.CurrentSelection.Count > 0 Then
|
With Settings
|
||||||
Settings.ShowingMode.Value = m
|
If Not m = ShowingModes.Labels Then .Labels.Current.Clear() : .Labels.Current.Update()
|
||||||
RefillList()
|
If Not .ShowingMode.Value = m Or ForceRefill Then
|
||||||
ElseIf m = ShowingModes.Labels And Settings.Labels.CurrentSelection.Count = 0 Then
|
.ShowingMode.Value = m
|
||||||
OpenLabelsForm()
|
|
||||||
If Settings.Labels.CurrentSelection.Count > 0 Then
|
|
||||||
Settings.ShowingMode.Value = m
|
|
||||||
RefillList()
|
|
||||||
Else
|
|
||||||
SetShowButtonsCheckers(Settings.ShowingMode.Value)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
ElseIf m = ShowingModes.NoLabels Then
|
|
||||||
Settings.ShowingMode.Value = m
|
|
||||||
RefillList()
|
RefillList()
|
||||||
|
Else
|
||||||
|
.ShowingMode.Value = m
|
||||||
End If
|
End If
|
||||||
End If
|
End With
|
||||||
Settings.ShowingMode.Value = m
|
|
||||||
BTT_DOWN_ALL.Enabled = m = ShowingModes.All
|
BTT_DOWN_ALL.Enabled = m = ShowingModes.All
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub BTT_SELECT_LABELS_Click(sender As Object, e As EventArgs) Handles BTT_SELECT_LABELS.Click
|
Private Sub SetExcludedButtonChecker()
|
||||||
OpenLabelsForm()
|
BTT_SHOW_EXCLUDED_LABELS.Checked = Settings.Labels.Excluded.Count > 0
|
||||||
|
BTT_SHOW_EXCLUDED_LABELS_IGNORE.Checked = Settings.Labels.ExcludedIgnore
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub OpenLabelsForm()
|
Private Function OpenLabelsForm(ByRef ll As XML.Base.XMLValuesCollection(Of String)) As Boolean
|
||||||
Using f As New LabelsForm(Settings.Labels.CurrentSelection)
|
Using f As New LabelsForm(ll) With {.WithDeleteButton = True}
|
||||||
f.ShowDialog()
|
f.ShowDialog()
|
||||||
If f.DialogResult = DialogResult.OK Then
|
If f.DialogResult = DialogResult.OK Then
|
||||||
If f.LabelsList.Count > 0 Then
|
With ll : .Clear() : .AddRange(f.LabelsList) : .Update() : End With
|
||||||
Dim b As Boolean = False
|
Return True
|
||||||
If Settings.Labels.CurrentSelection.Count = 0 Then
|
Else
|
||||||
b = True
|
Return False
|
||||||
Else
|
|
||||||
If Settings.Labels.CurrentSelection.Exists(Function(l) Not f.LabelsList.Contains(l)) Then b = True
|
|
||||||
If Not b AndAlso f.LabelsList.Exists(Function(l) Not Settings.Labels.CurrentSelection.Contains(l)) Then b = True
|
|
||||||
End If
|
|
||||||
Settings.Labels.CurrentSelection.ListAddList(f.LabelsList, LAP.ClearBeforeAdd, LAP.NotContainsOnly)
|
|
||||||
Settings.LatestSelectedLabels.Value = Settings.Labels.CurrentSelection.ListToString(, "|")
|
|
||||||
If b Then RefillList()
|
|
||||||
Else
|
|
||||||
Settings.Labels.CurrentSelection.Clear()
|
|
||||||
Settings.LatestSelectedLabels.Value = String.Empty
|
|
||||||
SetShowButtonsCheckers(ShowingModes.All)
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
End Using
|
End Using
|
||||||
End Sub
|
End Function
|
||||||
Private Sub BTT_SHOW_LIMIT_DATES_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_LIMIT_DATES.Click
|
Private Sub BTT_SHOW_LIMIT_DATES_Click(sender As Object, e As EventArgs) Handles BTT_SHOW_LIMIT_DATES.Click
|
||||||
Dim r As Boolean = False
|
Dim r As Boolean = False
|
||||||
Dim snd As Action(Of Date?) = Sub(ByVal d As Date?)
|
Dim snd As Action(Of Date?) = Sub(ByVal d As Date?)
|
||||||
@@ -645,7 +712,7 @@ CloseResume:
|
|||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
Private Function AskForMassReplace(ByVal users As List(Of IUserData), ByVal param As String) As Boolean
|
Private Function AskForMassReplace(ByVal users As List(Of IUserData), ByVal param As String) As Boolean
|
||||||
Dim u$ = users.ListIfNothing.Take(20).Select(Function(uu) uu.Name).ListToString(, vbCr)
|
Dim u$ = users.ListIfNothing.Take(20).Select(Function(uu) uu.Name).ListToString(vbCr)
|
||||||
If Not u.IsEmptyString And users.ListExists(21) Then u &= vbCr & "..."
|
If Not u.IsEmptyString And users.ListExists(21) Then u &= vbCr & "..."
|
||||||
Return users.ListExists AndAlso (users.Count = 1 OrElse MsgBoxE({$"Do you really want to change [{param}] for {users.Count} users?{vbCr}{vbCr}{u}",
|
Return users.ListExists AndAlso (users.Count = 1 OrElse MsgBoxE({$"Do you really want to change [{param}] for {users.Count} users?{vbCr}{vbCr}{u}",
|
||||||
"Users' parameters change"},
|
"Users' parameters change"},
|
||||||
@@ -655,7 +722,7 @@ CloseResume:
|
|||||||
Dim user As IUserData = GetSelectedUser()
|
Dim user As IUserData = GetSelectedUser()
|
||||||
If Not user Is Nothing Then
|
If Not user Is Nothing Then
|
||||||
Dim f As SFile = SFile.SelectFiles(user.File.CutPath(IIf(user.IsCollection, 2, 1)), False, "Select new user picture",
|
Dim f As SFile = SFile.SelectFiles(user.File.CutPath(IIf(user.IsCollection, 2, 1)), False, "Select new user picture",
|
||||||
"Pictures|*.jpeg;*.jpg;*.png|GIF|*.gif|All Files|*.*").FirstOrDefault
|
"Pictures|*.jpeg;*.jpg;*.png;*.webp|GIF|*.gif|All Files|*.*").FirstOrDefault
|
||||||
If Not f.IsEmptyString Then
|
If Not f.IsEmptyString Then
|
||||||
user.SetPicture(f)
|
user.SetPicture(f)
|
||||||
UserListUpdate(user, False)
|
UserListUpdate(user, False)
|
||||||
@@ -911,7 +978,7 @@ CloseResume:
|
|||||||
If users.ListExists Then
|
If users.ListExists Then
|
||||||
If USER_CONTEXT.Visible Then USER_CONTEXT.Hide()
|
If USER_CONTEXT.Visible Then USER_CONTEXT.Hide()
|
||||||
Dim ugn As Func(Of IUserData, String) = Function(u) $"{IIf(u.IsCollection, "Collection", "User")}: {u.Name}"
|
Dim ugn As Func(Of IUserData, String) = Function(u) $"{IIf(u.IsCollection, "Collection", "User")}: {u.Name}"
|
||||||
Dim m As New MMessage(users.Select(ugn).ListToString(, vbNewLine), "Users deleting",
|
Dim m As New MMessage(users.Select(ugn).ListToString(vbNewLine), "Users deleting",
|
||||||
{New Messaging.MsgBoxButton("Delete and ban") With {.ToolTip = "Users and their data will be deleted and added to the blacklist"},
|
{New Messaging.MsgBoxButton("Delete and ban") With {.ToolTip = "Users and their data will be deleted and added to the blacklist"},
|
||||||
New Messaging.MsgBoxButton("Delete user only and ban") With {
|
New Messaging.MsgBoxButton("Delete user only and ban") With {
|
||||||
.ToolTip = "Users will be deleted and added to the blacklist (user data will not be deleted)"},
|
.ToolTip = "Users will be deleted and added to the blacklist (user data will not be deleted)"},
|
||||||
@@ -970,8 +1037,8 @@ CloseResume:
|
|||||||
m.Text = "No one user deleted!"
|
m.Text = "No one user deleted!"
|
||||||
m.Style = MsgBoxStyle.Critical
|
m.Style = MsgBoxStyle.Critical
|
||||||
Else
|
Else
|
||||||
m.Text = $"The following users were deleted:{vbNewLine}{removedUsers.ListToString(, vbNewLine)}{vbNewLine.StringDup(2)}"
|
m.Text = $"The following users were deleted:{vbNewLine}{removedUsers.ListToString(vbNewLine)}{vbNewLine.StringDup(2)}"
|
||||||
m.Text &= $"The following users were NOT deleted:{vbNewLine}{leftUsers.ListToString(, vbNewLine)}"
|
m.Text &= $"The following users were NOT deleted:{vbNewLine}{leftUsers.ListToString(vbNewLine)}"
|
||||||
m.Style = MsgBoxStyle.Exclamation
|
m.Style = MsgBoxStyle.Exclamation
|
||||||
End If
|
End If
|
||||||
If b Then Settings.UpdateBlackList()
|
If b Then Settings.UpdateBlackList()
|
||||||
@@ -1053,7 +1120,7 @@ ResumeDownloadingOperation:
|
|||||||
users(0).DownloadToDate = d
|
users(0).DownloadToDate = d
|
||||||
Downloader.Add(users(0))
|
Downloader.Add(users(0))
|
||||||
Else
|
Else
|
||||||
Dim uStr$ = users.Select(Function(u) u.ToString()).ListToString(, vbNewLine)
|
Dim uStr$ = users.Select(Function(u) u.ToString()).ListToString(vbNewLine)
|
||||||
If MsgBoxE({$"You are select {users.Count} users' profiles{vbNewLine}Do you want to download all of them?{vbNewLine.StringDup(2)}" &
|
If MsgBoxE({$"You are select {users.Count} users' profiles{vbNewLine}Do you want to download all of them?{vbNewLine.StringDup(2)}" &
|
||||||
$"Selected users:{vbNewLine}{uStr}", "A few users selected"},
|
$"Selected users:{vbNewLine}{uStr}", "A few users selected"},
|
||||||
MsgBoxStyle.Question + MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
|
MsgBoxStyle.Question + MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
|
||||||
@@ -1073,6 +1140,13 @@ ResumeDownloadingOperation:
|
|||||||
End Sub
|
End Sub
|
||||||
Private Sub FocusUser(ByVal Key As String, Optional ByVal ActivateMe As Boolean = False)
|
Private Sub FocusUser(ByVal Key As String, Optional ByVal ActivateMe As Boolean = False)
|
||||||
Dim i% = LIST_PROFILES.Items.IndexOfKey(Key)
|
Dim i% = LIST_PROFILES.Items.IndexOfKey(Key)
|
||||||
|
If i < 0 Then
|
||||||
|
i = Settings.Users.FindIndex(Function(u) u.Key = Key)
|
||||||
|
If i >= 0 Then
|
||||||
|
UserListUpdate(Settings.Users(i), True)
|
||||||
|
i = LIST_PROFILES.Items.IndexOfKey(Key)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
If i >= 0 Then
|
If i >= 0 Then
|
||||||
LIST_PROFILES.Select()
|
LIST_PROFILES.Select()
|
||||||
LIST_PROFILES.SelectedIndices.Clear()
|
LIST_PROFILES.SelectedIndices.Clear()
|
||||||
|
|||||||
@@ -34,4 +34,11 @@ Friend Class MainFrameObjects
|
|||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
|
Friend Sub Focus()
|
||||||
|
If MF.Visible Then MF.BringToFront() : MF.Activate()
|
||||||
|
End Sub
|
||||||
|
Friend Sub ChangeCloseVisible()
|
||||||
|
Dim a As Action = Sub() MF.BTT_TRAY_CLOSE_NO_SCRIPT.Visible = Settings.ClosingCommand.Attribute And Not Settings.ClosingCommand.IsEmptyString
|
||||||
|
If MF.TRAY_CONTEXT.InvokeRequired Then MF.TRAY_CONTEXT.Invoke(a) Else a.Invoke
|
||||||
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
@@ -54,6 +54,20 @@ Friend Module MainMod
|
|||||||
End If
|
End If
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
|
Friend Sub ExecuteCommand(ByVal Obj As XMLValueAttribute(Of String, Boolean))
|
||||||
|
Try
|
||||||
|
If Obj.Attribute And Not Obj.IsEmptyString Then
|
||||||
|
Using b As New BatchExecutor With {.RedirectStandardError = True}
|
||||||
|
With b
|
||||||
|
.Execute({Obj.Value}, EDP.SendInLog + EDP.ThrowException)
|
||||||
|
If .HasError Or Not .ErrorOutput.IsEmptyString Then Throw New Exception(.ErrorOutput, .ErrorException)
|
||||||
|
End With
|
||||||
|
End Using
|
||||||
|
End If
|
||||||
|
Catch ex As Exception
|
||||||
|
ErrorsDescriber.Execute(EDP.SendInLog, ex, $"[{Obj.Name}] command: [{Obj.Value}]")
|
||||||
|
End Try
|
||||||
|
End Sub
|
||||||
Friend Enum ViewModes As Integer
|
Friend Enum ViewModes As Integer
|
||||||
IconLarge = View.LargeIcon
|
IconLarge = View.LargeIcon
|
||||||
IconSmall = View.SmallIcon
|
IconSmall = View.SmallIcon
|
||||||
@@ -449,14 +463,14 @@ Friend Module MainMod
|
|||||||
m.Text = $"This user is banned:{vbNewLine}User: {Found(0).Name}"
|
m.Text = $"This user is banned:{vbNewLine}User: {Found(0).Name}"
|
||||||
If Not Found(0).Reason.IsEmptyString Then m.Text.StringAppendLine($"Reason: {Found(0).Reason}")
|
If Not Found(0).Reason.IsEmptyString Then m.Text.StringAppendLine($"Reason: {Found(0).Reason}")
|
||||||
Else
|
Else
|
||||||
m.Text = $"These users was banned:{vbNewLine.StringDup(2)}{Found.Select(Function(u) u.Info).ListToString(, vbNewLine)}"
|
m.Text = $"These users was banned:{vbNewLine.StringDup(2)}{Found.Select(Function(u) u.Info).ListToString(vbNewLine)}"
|
||||||
End If
|
End If
|
||||||
Dim r% = MsgBoxE(m)
|
Dim r% = MsgBoxE(m)
|
||||||
If r = 2 Then
|
If r = 2 Then
|
||||||
Return Found.Select(Function(u) u.Name).ToArray
|
Return Found.Select(Function(u) u.Name).ToArray
|
||||||
Else
|
Else
|
||||||
If r = 0 Then
|
If r = 0 Then
|
||||||
Settings.BlackList.ListDisposeRemove(Found, False)
|
Settings.BlackList.ListDisposeRemove(Found)
|
||||||
Settings.UpdateBlackList()
|
Settings.UpdateBlackList()
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
|
|||||||
' by using the '*' as shown below:
|
' by using the '*' as shown below:
|
||||||
' <Assembly: AssemblyVersion("1.0.*")>
|
' <Assembly: AssemblyVersion("1.0.*")>
|
||||||
|
|
||||||
<Assembly: AssemblyVersion("3.0.0.8")>
|
<Assembly: AssemblyVersion("3.0.0.10")>
|
||||||
<Assembly: AssemblyFileVersion("3.0.0.8")>
|
<Assembly: AssemblyFileVersion("3.0.0.10")>
|
||||||
<Assembly: NeutralResourcesLanguage("en")>
|
<Assembly: NeutralResourcesLanguage("en")>
|
||||||
|
|||||||
10
SCrawler/My Project/Resources.Designer.vb
generated
@@ -110,6 +110,16 @@ Namespace My.Resources
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
|
||||||
|
'''</summary>
|
||||||
|
Friend ReadOnly Property GroupBy_284() As System.Drawing.Icon
|
||||||
|
Get
|
||||||
|
Dim obj As Object = ResourceManager.GetObject("GroupBy_284", resourceCulture)
|
||||||
|
Return CType(obj,System.Drawing.Icon)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Looks up a localized resource of type System.Drawing.Bitmap.
|
''' Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
|
|||||||
@@ -193,4 +193,7 @@
|
|||||||
<data name="ScriptPic32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="ScriptPic32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Content\Pictures\ScriptPic32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Content\Pictures\ScriptPic32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="GroupBy_284" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Content\Icons\GroupBy_284.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -160,7 +160,15 @@
|
|||||||
<Compile Include="Download\ActiveDownloadingProgress.vb">
|
<Compile Include="Download\ActiveDownloadingProgress.vb">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Download\Groups\DownloadGroup.vb" />
|
||||||
<Compile Include="Download\DownloadProgress.vb" />
|
<Compile Include="Download\DownloadProgress.vb" />
|
||||||
|
<Compile Include="Download\Groups\DownloadGroupCollection.vb" />
|
||||||
|
<Compile Include="Download\Groups\GroupEditorForm.Designer.vb">
|
||||||
|
<DependentUpon>GroupEditorForm.vb</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Download\Groups\GroupEditorForm.vb">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
<Compile Include="MainFrameObjects.vb" />
|
<Compile Include="MainFrameObjects.vb" />
|
||||||
<Compile Include="PluginsEnvironment\Hosts\UserDataHost.vb" />
|
<Compile Include="PluginsEnvironment\Hosts\UserDataHost.vb" />
|
||||||
<Compile Include="API\Base\UserDataBase.vb" />
|
<Compile Include="API\Base\UserDataBase.vb" />
|
||||||
@@ -314,6 +322,9 @@
|
|||||||
<EmbeddedResource Include="Download\DownloadSavedPostsForm.resx">
|
<EmbeddedResource Include="Download\DownloadSavedPostsForm.resx">
|
||||||
<DependentUpon>DownloadSavedPostsForm.vb</DependentUpon>
|
<DependentUpon>DownloadSavedPostsForm.vb</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Download\Groups\GroupEditorForm.resx">
|
||||||
|
<DependentUpon>GroupEditorForm.vb</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Editors\CollectionEditorForm.resx">
|
<EmbeddedResource Include="Editors\CollectionEditorForm.resx">
|
||||||
<DependentUpon>CollectionEditorForm.vb</DependentUpon>
|
<DependentUpon>CollectionEditorForm.vb</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
@@ -380,6 +391,7 @@
|
|||||||
<None Include="Content\Pictures\BookmarkBlack_16.png" />
|
<None Include="Content\Pictures\BookmarkBlack_16.png" />
|
||||||
<None Include="Content\Pictures\HeartPic_32.png" />
|
<None Include="Content\Pictures\HeartPic_32.png" />
|
||||||
<None Include="Content\Pictures\ScriptPic32.png" />
|
<None Include="Content\Pictures\ScriptPic32.png" />
|
||||||
|
<None Include="Content\Icons\GroupBy_284.ico" />
|
||||||
<Content Include="ffmpeg.exe">
|
<Content Include="ffmpeg.exe">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ Friend Class SettingsCLS : Implements IDisposable
|
|||||||
Friend ReadOnly Property UsersList As List(Of UserInfo)
|
Friend ReadOnly Property UsersList As List(Of UserInfo)
|
||||||
Friend Property Channels As Reddit.ChannelsCollection
|
Friend Property Channels As Reddit.ChannelsCollection
|
||||||
Friend ReadOnly Property Labels As LabelsKeeper
|
Friend ReadOnly Property Labels As LabelsKeeper
|
||||||
|
Friend ReadOnly Property Groups As Groups.DownloadGroupCollection
|
||||||
Friend ReadOnly Property BlackList As List(Of UserBan)
|
Friend ReadOnly Property BlackList As List(Of UserBan)
|
||||||
Private ReadOnly BlackListFile As SFile = $"{SettingsFolderName}\BlackList.txt"
|
Private ReadOnly BlackListFile As SFile = $"{SettingsFolderName}\BlackList.txt"
|
||||||
Private ReadOnly UsersSettingsFile As SFile = $"{SettingsFolderName}\Users.xml"
|
Private ReadOnly UsersSettingsFile As SFile = $"{SettingsFolderName}\Users.xml"
|
||||||
@@ -69,12 +70,19 @@ Friend Class SettingsCLS : Implements IDisposable
|
|||||||
FastProfilesLoading = New XMLValue(Of Boolean)("FastProfilesLoading", False, MyXML)
|
FastProfilesLoading = New XMLValue(Of Boolean)("FastProfilesLoading", False, MyXML)
|
||||||
MaxLargeImageHeigh = New XMLValue(Of Integer)("MaxLargeImageHeigh", 150, MyXML)
|
MaxLargeImageHeigh = New XMLValue(Of Integer)("MaxLargeImageHeigh", 150, MyXML)
|
||||||
MaxSmallImageHeigh = New XMLValue(Of Integer)("MaxSmallImageHeigh", 15, MyXML)
|
MaxSmallImageHeigh = New XMLValue(Of Integer)("MaxSmallImageHeigh", 15, MyXML)
|
||||||
|
DownloadOpenInfo = New XMLValueAttribute(Of Boolean, Boolean)("DownloadOpenInfo", "OpenAgain", False, False, MyXML)
|
||||||
|
DownloadOpenProgress = New XMLValueAttribute(Of Boolean, Boolean)("DownloadOpenProgress", "OpenAgain", False, False, MyXML)
|
||||||
|
DownloadsCompleteCommand = New XMLValueAttribute(Of String, Boolean)("DownloadsCompleteCommand", "Use",,, MyXML)
|
||||||
|
ClosingCommand = New XMLValueAttribute(Of String, Boolean)("ClosingCommand", "Use",,, MyXML)
|
||||||
|
AddHandler ClosingCommand.OnValueChanged, Sub(s, __n, v) MainFrameObj?.ChangeCloseVisible()
|
||||||
InfoViewMode = New XMLValue(Of Integer)("InfoViewMode", DownloadedInfoForm.ViewModes.Session, MyXML)
|
InfoViewMode = New XMLValue(Of Integer)("InfoViewMode", DownloadedInfoForm.ViewModes.Session, MyXML)
|
||||||
ViewMode = New XMLValue(Of Integer)("ViewMode", ViewModes.IconLarge, MyXML)
|
ViewMode = New XMLValue(Of Integer)("ViewMode", ViewModes.IconLarge, MyXML)
|
||||||
ShowingMode = New XMLValue(Of Integer)("ShowingMode", ShowingModes.All, MyXML)
|
ShowingMode = New XMLValue(Of Integer)("ShowingMode", ShowingModes.All, MyXML)
|
||||||
|
ShowGroupsInsteadLabels = New XMLValue(Of Boolean)("ShowGroupsInsteadLabels", False, MyXML)
|
||||||
|
ShowGroups = New XMLValue(Of Boolean)("ShowGroups", True, MyXML)
|
||||||
|
UseGrouping = New XMLValue(Of Boolean)("UseGrouping", True, MyXML)
|
||||||
|
|
||||||
LatestSavingPath = New XMLValue(Of SFile)("LatestSavingPath", Nothing, MyXML,, New XMLValueBase.ToFilePath)
|
LatestSavingPath = New XMLValue(Of SFile)("LatestSavingPath", Nothing, MyXML,, New XMLValueBase.ToFilePath)
|
||||||
LatestSelectedLabels = New XMLValue(Of String)("LatestSelectedLabels",, MyXML)
|
|
||||||
LatestSelectedChannel = New XMLValue(Of String)("LatestSelectedChannel",, MyXML)
|
LatestSelectedChannel = New XMLValue(Of String)("LatestSelectedChannel",, MyXML)
|
||||||
LastUpdatedLimit = New XMLValue(Of Date)
|
LastUpdatedLimit = New XMLValue(Of Date)
|
||||||
LastUpdatedLimit.SetExtended("LastUpdatedLimit",, MyXML)
|
LastUpdatedLimit.SetExtended("LastUpdatedLimit",, MyXML)
|
||||||
@@ -121,11 +129,13 @@ Friend Class SettingsCLS : Implements IDisposable
|
|||||||
OpenFolderInOtherProgram = New XMLValueAttribute(Of String, Boolean)("OpenFolderInOtherProgram", "Use",,, MyXML)
|
OpenFolderInOtherProgram = New XMLValueAttribute(Of String, Boolean)("OpenFolderInOtherProgram", "Use",,, MyXML)
|
||||||
DeleteToRecycleBin = New XMLValue(Of Boolean)("DeleteToRecycleBin", True, MyXML)
|
DeleteToRecycleBin = New XMLValue(Of Boolean)("DeleteToRecycleBin", True, MyXML)
|
||||||
|
|
||||||
|
Labels = New LabelsKeeper(MyXML)
|
||||||
|
Groups = New Groups.DownloadGroupCollection
|
||||||
|
Labels.AddRange(Groups.GetLabels, False)
|
||||||
|
|
||||||
MyXML.EndUpdate()
|
MyXML.EndUpdate()
|
||||||
If MyXML.ChangesDetected Then MyXML.Sort() : 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
|
If BlackListFile.Exists Then
|
||||||
BlackList.ListAddList(IO.File.ReadAllLines(BlackListFile), LAP.NotContainsOnly)
|
BlackList.ListAddList(IO.File.ReadAllLines(BlackListFile), LAP.NotContainsOnly)
|
||||||
If BlackList.Count > 0 Then BlackList.RemoveAll(Function(b) Not b.Exists)
|
If BlackList.Count > 0 Then BlackList.RemoveAll(Function(b) Not b.Exists)
|
||||||
@@ -229,8 +239,11 @@ Friend Class SettingsCLS : Implements IDisposable
|
|||||||
If NeedUpdate Then UpdateUsersList()
|
If NeedUpdate Then UpdateUsersList()
|
||||||
End If
|
End If
|
||||||
If Users.Count > 0 Then
|
If Users.Count > 0 Then
|
||||||
Labels.AddRange(Users.SelectMany(Function(u) u.Labels), False)
|
Dim tul As IEnumerable(Of String) = Users.SelectMany(Function(u) u.Labels)
|
||||||
If Labels.NewLabelsExists Then Labels.Update() : Labels.NewLabels.Clear()
|
Labels.AddRange(tul, False)
|
||||||
|
If Labels.NewLabelsExists Or
|
||||||
|
(tul.ListExists AndAlso Not tul.Contains(LabelsKeeper.NoParsedUser) AndAlso Labels.Remove(LabelsKeeper.NoParsedUser)) Then _
|
||||||
|
Labels.Update() : Labels.NewLabels.Clear() : Labels.Verify()
|
||||||
End If
|
End If
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
End Try
|
End Try
|
||||||
@@ -311,7 +324,7 @@ Friend Class SettingsCLS : Implements IDisposable
|
|||||||
#End Region
|
#End Region
|
||||||
Friend Sub UpdateBlackList()
|
Friend Sub UpdateBlackList()
|
||||||
If BlackList.Count > 0 Then
|
If BlackList.Count > 0 Then
|
||||||
TextSaver.SaveTextToFile(BlackList.ListToString(, vbNewLine), BlackListFile, True, False, EDP.None)
|
TextSaver.SaveTextToFile(BlackList.ListToString(vbNewLine), BlackListFile, True, False, EDP.None)
|
||||||
Else
|
Else
|
||||||
BlackListFile.Delete(, Settings.DeleteMode)
|
BlackListFile.Delete(, Settings.DeleteMode)
|
||||||
End If
|
End If
|
||||||
@@ -393,6 +406,10 @@ Friend Class SettingsCLS : Implements IDisposable
|
|||||||
Friend ReadOnly Property FastProfilesLoading As XMLValue(Of Boolean)
|
Friend ReadOnly Property FastProfilesLoading As XMLValue(Of Boolean)
|
||||||
Friend ReadOnly Property MaxLargeImageHeigh As XMLValue(Of Integer)
|
Friend ReadOnly Property MaxLargeImageHeigh As XMLValue(Of Integer)
|
||||||
Friend ReadOnly Property MaxSmallImageHeigh As XMLValue(Of Integer)
|
Friend ReadOnly Property MaxSmallImageHeigh As XMLValue(Of Integer)
|
||||||
|
Friend ReadOnly Property DownloadOpenInfo As XMLValueAttribute(Of Boolean, Boolean)
|
||||||
|
Friend ReadOnly Property DownloadOpenProgress As XMLValueAttribute(Of Boolean, Boolean)
|
||||||
|
Friend ReadOnly Property DownloadsCompleteCommand As XMLValueAttribute(Of String, Boolean)
|
||||||
|
Friend ReadOnly Property ClosingCommand As XMLValueAttribute(Of String, Boolean)
|
||||||
Friend ReadOnly Property InfoViewMode As XMLValue(Of Integer)
|
Friend ReadOnly Property InfoViewMode As XMLValue(Of Integer)
|
||||||
Friend ReadOnly Property ViewMode As XMLValue(Of Integer)
|
Friend ReadOnly Property ViewMode As XMLValue(Of Integer)
|
||||||
Friend ReadOnly Property ViewModeIsPicture As Boolean
|
Friend ReadOnly Property ViewModeIsPicture As Boolean
|
||||||
@@ -404,6 +421,9 @@ Friend Class SettingsCLS : Implements IDisposable
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
Friend ReadOnly Property ShowingMode As XMLValue(Of Integer)
|
Friend ReadOnly Property ShowingMode As XMLValue(Of Integer)
|
||||||
|
Friend ReadOnly Property ShowGroups As XMLValue(Of Boolean)
|
||||||
|
Friend ReadOnly Property UseGrouping As XMLValue(Of Boolean)
|
||||||
|
Friend ReadOnly Property ShowGroupsInsteadLabels As XMLValue(Of Boolean)
|
||||||
Friend ReadOnly Property SelectedSites As XMLValuesCollection(Of String)
|
Friend ReadOnly Property SelectedSites As XMLValuesCollection(Of String)
|
||||||
Private ReadOnly LastUpdatedLimit As XMLValue(Of Date)
|
Private ReadOnly LastUpdatedLimit As XMLValue(Of Date)
|
||||||
Friend Property LastUpdatedDate As Date?
|
Friend Property LastUpdatedDate As Date?
|
||||||
@@ -417,7 +437,6 @@ Friend Class SettingsCLS : Implements IDisposable
|
|||||||
#End Region
|
#End Region
|
||||||
#Region "Latest values"
|
#Region "Latest values"
|
||||||
Friend ReadOnly Property LatestSavingPath As XMLValue(Of SFile)
|
Friend ReadOnly Property LatestSavingPath As XMLValue(Of SFile)
|
||||||
Friend ReadOnly Property LatestSelectedLabels As XMLValue(Of String)
|
|
||||||
Friend ReadOnly Property LatestSelectedChannel As XMLValue(Of String)
|
Friend ReadOnly Property LatestSelectedChannel As XMLValue(Of String)
|
||||||
Friend ReadOnly Property LatestDownloadedSites As XMLValuesCollection(Of String)
|
Friend ReadOnly Property LatestDownloadedSites As XMLValuesCollection(Of String)
|
||||||
#End Region
|
#End Region
|
||||||
|
|||||||