mirror of
https://github.com/AAndyProgram/SCrawler.git
synced 2026-03-14 15:52:18 +00:00
3.0.0.1
Added DownloadLimitDate, update and Reset functions in the plugin, DateLimit property in the IPluginContentProvider Fixed donation button link, images loading error, cookies error, instagram settings form, minor bugs.
This commit is contained in:
13
Changelog.md
13
Changelog.md
@@ -1,3 +1,16 @@
|
||||
# 3.0.0.1
|
||||
|
||||
- Added
|
||||
- Download data up to a specific date
|
||||
- Update and Reset functions in the plugin (ISiteSettings)
|
||||
- PostsDateLimit propperty in the plugin (IPluginContentProvider)
|
||||
- Fixed
|
||||
- The donation button redirects to a broken link
|
||||
- In some cases, an error occurs when fast loading images
|
||||
- In some cases, cookies are not saved
|
||||
- Some design fixes
|
||||
- Minor bugs
|
||||
|
||||
# 3.0.0.0
|
||||
|
||||
**Attention! This version of the program makes changes user data file (Users.xml). Once you start using this version, you will not be able to use previous versions of the program. Therefore, it is highly recommended to archive the program settings folder and archive the users' data files (you can use the [```ArchiveSCrawlerUsersDataFiles.bat```](Tools/ArchiveSCrawlerUsersDataFiles.bat) tool to archive the data files of all users).**
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 21 KiB |
@@ -26,6 +26,7 @@ Namespace Plugin
|
||||
Property SeparateVideoFolder As Boolean
|
||||
Property DataPath As String
|
||||
Property PostsNumberLimit As Integer?
|
||||
Property PostsDateLimit As Date?
|
||||
Function ExchangeOptionsGet() As Object
|
||||
Sub ExchangeOptionsSet(ByVal Obj As Object)
|
||||
Sub XmlFieldsSet(ByVal Fields As List(Of KeyValuePair(Of String, String)))
|
||||
|
||||
@@ -41,6 +41,8 @@ Namespace Plugin
|
||||
Sub AfterDownload(ByVal User As Object, ByVal What As Download)
|
||||
Sub DownloadDone(ByVal What As Download)
|
||||
#End Region
|
||||
Sub Update()
|
||||
Sub Reset()
|
||||
Sub OpenSettingsForm()
|
||||
Sub UserOptions(ByRef Options As Object, ByVal OpenForm As Boolean)
|
||||
End Interface
|
||||
|
||||
@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("3.0.0.0")>
|
||||
<Assembly: AssemblyFileVersion("3.0.0.0")>
|
||||
<Assembly: AssemblyVersion("3.0.0.1")>
|
||||
<Assembly: AssemblyFileVersion("3.0.0.1")>
|
||||
<Assembly: NeutralResourcesLanguage("en")>
|
||||
|
||||
@@ -97,6 +97,11 @@ Namespace API.Base
|
||||
Return True
|
||||
End Function
|
||||
#End Region
|
||||
Friend Overridable Sub Update() Implements ISiteSettings.Update
|
||||
If Not Responser Is Nothing Then Responser.SaveSettings()
|
||||
End Sub
|
||||
Friend Overridable Sub Reset() Implements ISiteSettings.Reset
|
||||
End Sub
|
||||
Friend Overridable Sub UserOptions(ByRef Options As Object, ByVal OpenForm As Boolean) Implements ISiteSettings.UserOptions
|
||||
Options = Nothing
|
||||
End Sub
|
||||
|
||||
@@ -711,6 +711,7 @@ BlockNullPicture:
|
||||
#End Region
|
||||
#Region "Download functions and options"
|
||||
Friend Overridable Property DownloadTopCount As Integer? = Nothing Implements IUserData.DownloadTopCount, IPluginContentProvider.PostsNumberLimit
|
||||
Friend Overridable Property DownloadToDate As Date? = Nothing Implements IUserData.DownloadToDate, IPluginContentProvider.PostsDateLimit
|
||||
Protected Responser As PersonalUtilities.Tools.WEB.Response
|
||||
Friend Overridable Sub DownloadData(ByVal Token As CancellationToken) Implements IContentProvider.DownloadData
|
||||
Dim Canceled As Boolean = False
|
||||
@@ -791,8 +792,20 @@ BlockNullPicture:
|
||||
If Not Canceled Then _DataParsed = True ': LastUpdated = Now
|
||||
_ContentNew.Clear()
|
||||
DownloadTopCount = Nothing
|
||||
DownloadToDate = Nothing
|
||||
End Try
|
||||
End Sub
|
||||
Protected Function CheckDatesLimit(ByVal DateString As String, ByVal DateProvider As IFormatProvider) As Boolean
|
||||
Try
|
||||
If DownloadToDate.HasValue And Not DateString.IsEmptyString Then
|
||||
Dim td As Date? = AConvert(Of Date)(DateString, DateProvider, Nothing)
|
||||
If td.HasValue Then Return td.Value < DownloadToDate.Value
|
||||
End If
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
Return ErrorsDescriber.Execute(EDP.SendInLog, ex, $"[UserDataBase.CheckDatesLimit({DateString})]", True)
|
||||
End Try
|
||||
End Function
|
||||
Protected Sub UpdateDataFiles()
|
||||
If Not User.File.IsEmptyString Then
|
||||
MyFileData = User.File
|
||||
@@ -1236,6 +1249,7 @@ BlockNullPicture:
|
||||
Sub OpenFolder()
|
||||
ReadOnly Property Self As IUserData
|
||||
Property DownloadTopCount As Integer?
|
||||
Property DownloadToDate As Date?
|
||||
Sub SetEnvironment(ByRef h As SettingsHost, ByVal u As UserInfo, ByVal _LoadUserInformation As Boolean,
|
||||
Optional ByVal AttachUserInfo As Boolean = True)
|
||||
ReadOnly Property Disposed As Boolean
|
||||
|
||||
@@ -71,7 +71,7 @@ Namespace API.Instagram
|
||||
Friend ReadOnly Property RequestsWaitTimer As PropertyValue
|
||||
<Provider(NameOf(RequestsWaitTimer), FieldsChecker:=True)>
|
||||
Private ReadOnly Property RequestsWaitTimerProvider As IFormatProvider
|
||||
<PropertyOption(ControlText:="Request timer counter", AllowNull:=False), PXML("RequestsWaitTimerTaskCount"), ControlNumber(6)>
|
||||
<PropertyOption(ControlText:="Request timer counter", AllowNull:=False, LeftOffset:=120), PXML("RequestsWaitTimerTaskCount"), ControlNumber(6)>
|
||||
Friend ReadOnly Property RequestsWaitTimerTaskCount As PropertyValue
|
||||
<Provider(NameOf(RequestsWaitTimerTaskCount), FieldsChecker:=True)>
|
||||
Private ReadOnly Property RequestsWaitTimerTaskCountProvider As IFormatProvider
|
||||
|
||||
@@ -243,6 +243,7 @@ Namespace API.Instagram
|
||||
If Not PostID.IsEmptyString And _TempPostsList.Contains(PostID) Then Throw New ExitException(_DownloadComplete)
|
||||
_TempPostsList.Add(PostID)
|
||||
PostDate = node.Value("taken_at_timestamp")
|
||||
If Not CheckDatesLimit(PostDate, DateProvider) Then Throw New ExitException(_DownloadComplete)
|
||||
ObtainMedia(node, PostID, PostDate, SpecFolder)
|
||||
End If
|
||||
Next
|
||||
|
||||
@@ -23,6 +23,11 @@ Namespace API.Reddit
|
||||
Return DirectCast(HOST.Source, SiteSettings)
|
||||
End Get
|
||||
End Property
|
||||
Private Shared ReadOnly Property DateTrueProvider(ByVal IsChannel As Boolean) As IFormatProvider
|
||||
Get
|
||||
Return If(IsChannel, DateProviderChannel, DateProvider)
|
||||
End Get
|
||||
End Property
|
||||
#Region "Channels Support"
|
||||
#Region "IChannelLimits Support"
|
||||
Friend Property DownloadLimitCount As Integer? Implements IChannelLimits.DownloadLimitCount
|
||||
@@ -163,6 +168,7 @@ Namespace API.Reddit
|
||||
Continue For
|
||||
End If
|
||||
If nn.Contains("created") Then PostDate = nn("created").Value Else PostDate = String.Empty
|
||||
If DownloadToDate.HasValue AndAlso Not CheckDatesLimit(PostDate, DateTrueProvider(IsChannel)) Then Exit Sub
|
||||
|
||||
_ItemsBefore = _TempMediaList.Count
|
||||
added = True
|
||||
@@ -455,7 +461,7 @@ Namespace API.Reddit
|
||||
Dim m As New UserMedia(_URL, t) With {.Post = New UserPost With {.ID = PostID, .UserID = _UserID}}
|
||||
If t = UTypes.Picture Or t = UTypes.GIF Then m.File = UrlToFile(m.URL) Else m.File = Nothing
|
||||
If m.URL.Contains("preview") Then m.URL = $"https://i.redd.it/{m.File.File}"
|
||||
If Not PostDate.IsEmptyString Then m.Post.Date = AConvert(Of Date)(PostDate, If(IsChannel, DateProviderChannel, DateProvider), Nothing) Else m.Post.Date = Nothing
|
||||
If Not PostDate.IsEmptyString Then m.Post.Date = AConvert(Of Date)(PostDate, DateTrueProvider(IsChannel), Nothing) Else m.Post.Date = Nothing
|
||||
Return m
|
||||
End Function
|
||||
Private Function TryFile(ByVal URL As String) As Boolean
|
||||
|
||||
@@ -37,6 +37,7 @@ Namespace API.RedGifs
|
||||
pTotal = j.Value("pages").FromXML(Of Integer)(0)
|
||||
For Each g As EContainer In j("gifs")
|
||||
postDate = g.Value("createDate")
|
||||
If Not CheckDatesLimit(postDate, DateProvider) Then Exit Sub
|
||||
postID = g.Value("id")
|
||||
If Not _TempPostsList.Contains(postID) Then _TempPostsList.Add(postID) Else Exit For
|
||||
With g("urls")
|
||||
|
||||
@@ -64,6 +64,7 @@ Namespace API.Twitter
|
||||
'Date Pattern:
|
||||
'Sat Jan 01 01:10:15 +0000 2000
|
||||
If nn.Contains("created_at") Then PostDate = nn("created_at").Value Else PostDate = String.Empty
|
||||
If Not CheckDatesLimit(PostDate, Declarations.DateProvider) Then Exit Sub
|
||||
|
||||
If Not _TempPostsList.Contains(PostID) Then
|
||||
NewPostDetected = True
|
||||
|
||||
@@ -14,6 +14,7 @@ Namespace DownloadObjects
|
||||
Private MyView As FormsView
|
||||
Friend Property Opened As Boolean = False
|
||||
Private ReadOnly JobsList As List(Of DownloadProgress)
|
||||
Friend Property DisableProgressChange As Boolean = False
|
||||
Friend Sub New()
|
||||
InitializeComponent()
|
||||
JobsList = New List(Of DownloadProgress)
|
||||
@@ -66,7 +67,11 @@ Namespace DownloadObjects
|
||||
TP_MAIN.Refresh()
|
||||
End Sub
|
||||
Private Sub Jobs_OnTotalCountChange()
|
||||
If JobsList.Count > 0 Then MainProgress.TotalCount = JobsList.Sum(Function(j) CLng(j.Job.Progress.TotalCount))
|
||||
If JobsList.Count > 0 And Not DisableProgressChange Then
|
||||
MainProgress.TotalCount = JobsList.Sum(Function(j) CLng(j.Job.Progress.TotalCount))
|
||||
MainProgress.CurrentCounter = Math.Max(JobsList.Sum(Function(j) CLng(j.Job.Progress.CurrentCounter)) - 1, 0)
|
||||
If MainProgress.CurrentCounter > 0 Then MainProgress.Perform()
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
||||
@@ -217,7 +217,9 @@ Namespace DownloadObjects
|
||||
Private Sub JobsChecker()
|
||||
Try
|
||||
MainProgress.TotalCount = 0
|
||||
Do While Pool.Exists(Function(p) p.Count > 0)
|
||||
MainProgress.CurrentCounter = 0
|
||||
MyProgressForm.DisableProgressChange = False
|
||||
Do While Pool.Exists(Function(p) p.Count > 0 Or p.Working)
|
||||
For Each j As Job In Pool
|
||||
If j.Count > 0 And Not j.Working Then j.Start(New ThreadStart(Sub() StartDownloading(j)))
|
||||
Next
|
||||
@@ -231,6 +233,7 @@ Namespace DownloadObjects
|
||||
.InformationTemporary = "All data downloaded"
|
||||
.Enabled(EOptions.ProgressBar) = False
|
||||
End With
|
||||
MyProgressForm.DisableProgressChange = True
|
||||
If Pool.Count > 0 Then Pool.ForEach(Sub(p) If Not p.Progress Is Nothing Then p.Progress.TotalCount = 0)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
40
SCrawler/Editors/GlobalSettingsForm.Designer.vb
generated
40
SCrawler/Editors/GlobalSettingsForm.Designer.vb
generated
@@ -55,6 +55,7 @@
|
||||
Me.CH_SHOW_NOTIFY = 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.CH_COPY_CHANNEL_USER_IMAGE = New System.Windows.Forms.CheckBox()
|
||||
Me.CH_DEF_TEMP = New System.Windows.Forms.CheckBox()
|
||||
Me.CH_DOWN_IMAGES = New System.Windows.Forms.CheckBox()
|
||||
@@ -68,7 +69,6 @@
|
||||
Me.TXT_CHANNEL_USER_POST_LIMIT = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||
Me.TAB_MAIN = New System.Windows.Forms.TabControl()
|
||||
Me.CONTAINER_MAIN = New System.Windows.Forms.ToolStripContainer()
|
||||
Me.CH_RECYCLE_DEL = New System.Windows.Forms.CheckBox()
|
||||
TP_BASIS = New System.Windows.Forms.TableLayoutPanel()
|
||||
TP_IMAGES = New System.Windows.Forms.TableLayoutPanel()
|
||||
TP_FILE_NAME = New System.Windows.Forms.TableLayoutPanel()
|
||||
@@ -147,7 +147,7 @@
|
||||
TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
|
||||
TP_BASIS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.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, 422)
|
||||
TP_BASIS.Size = New System.Drawing.Size(570, 447)
|
||||
TP_BASIS.TabIndex = 0
|
||||
'
|
||||
'TXT_GLOBAL_PATH
|
||||
@@ -499,6 +499,17 @@
|
||||
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
|
||||
'
|
||||
'CH_COPY_CHANNEL_USER_IMAGE
|
||||
'
|
||||
Me.CH_COPY_CHANNEL_USER_IMAGE.AutoSize = True
|
||||
@@ -648,7 +659,7 @@
|
||||
TAB_BASIS.Location = New System.Drawing.Point(4, 22)
|
||||
TAB_BASIS.Name = "TAB_BASIS"
|
||||
TAB_BASIS.Padding = New System.Windows.Forms.Padding(3)
|
||||
TAB_BASIS.Size = New System.Drawing.Size(576, 428)
|
||||
TAB_BASIS.Size = New System.Drawing.Size(576, 453)
|
||||
TAB_BASIS.TabIndex = 0
|
||||
TAB_BASIS.Text = "Basis"
|
||||
'
|
||||
@@ -658,7 +669,7 @@
|
||||
TAB_DEFAULTS.Location = New System.Drawing.Point(4, 22)
|
||||
TAB_DEFAULTS.Name = "TAB_DEFAULTS"
|
||||
TAB_DEFAULTS.Padding = New System.Windows.Forms.Padding(3)
|
||||
TAB_DEFAULTS.Size = New System.Drawing.Size(576, 426)
|
||||
TAB_DEFAULTS.Size = New System.Drawing.Size(576, 453)
|
||||
TAB_DEFAULTS.TabIndex = 1
|
||||
TAB_DEFAULTS.Text = "Defaults"
|
||||
'
|
||||
@@ -682,7 +693,7 @@
|
||||
TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
||||
TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
||||
TP_DEFS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||
TP_DEFS.Size = New System.Drawing.Size(570, 420)
|
||||
TP_DEFS.Size = New System.Drawing.Size(570, 447)
|
||||
TP_DEFS.TabIndex = 0
|
||||
'
|
||||
'TAB_DEFS_CHANNELS
|
||||
@@ -691,7 +702,7 @@
|
||||
TAB_DEFS_CHANNELS.Location = New System.Drawing.Point(4, 22)
|
||||
TAB_DEFS_CHANNELS.Name = "TAB_DEFS_CHANNELS"
|
||||
TAB_DEFS_CHANNELS.Padding = New System.Windows.Forms.Padding(3)
|
||||
TAB_DEFS_CHANNELS.Size = New System.Drawing.Size(576, 426)
|
||||
TAB_DEFS_CHANNELS.Size = New System.Drawing.Size(576, 453)
|
||||
TAB_DEFS_CHANNELS.TabIndex = 4
|
||||
TAB_DEFS_CHANNELS.Text = "Channels"
|
||||
'
|
||||
@@ -715,7 +726,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.Percent, 100.0!))
|
||||
TP_CHANNELS.Size = New System.Drawing.Size(570, 420)
|
||||
TP_CHANNELS.Size = New System.Drawing.Size(570, 447)
|
||||
TP_CHANNELS.TabIndex = 0
|
||||
'
|
||||
'TXT_CHANNEL_USER_POST_LIMIT
|
||||
@@ -747,7 +758,7 @@
|
||||
Me.TAB_MAIN.Location = New System.Drawing.Point(0, 0)
|
||||
Me.TAB_MAIN.Name = "TAB_MAIN"
|
||||
Me.TAB_MAIN.SelectedIndex = 0
|
||||
Me.TAB_MAIN.Size = New System.Drawing.Size(584, 454)
|
||||
Me.TAB_MAIN.Size = New System.Drawing.Size(584, 479)
|
||||
Me.TAB_MAIN.TabIndex = 1
|
||||
'
|
||||
'CONTAINER_MAIN
|
||||
@@ -756,7 +767,7 @@
|
||||
'CONTAINER_MAIN.ContentPanel
|
||||
'
|
||||
Me.CONTAINER_MAIN.ContentPanel.Controls.Add(Me.TAB_MAIN)
|
||||
Me.CONTAINER_MAIN.ContentPanel.Size = New System.Drawing.Size(584, 454)
|
||||
Me.CONTAINER_MAIN.ContentPanel.Size = New System.Drawing.Size(584, 479)
|
||||
Me.CONTAINER_MAIN.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.CONTAINER_MAIN.LeftToolStripPanelVisible = False
|
||||
Me.CONTAINER_MAIN.Location = New System.Drawing.Point(0, 0)
|
||||
@@ -766,17 +777,6 @@
|
||||
Me.CONTAINER_MAIN.TabIndex = 0
|
||||
Me.CONTAINER_MAIN.TopToolStripPanelVisible = False
|
||||
'
|
||||
'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
|
||||
'
|
||||
'GlobalSettingsForm
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
|
||||
60
SCrawler/Editors/SiteEditorForm.Designer.vb
generated
60
SCrawler/Editors/SiteEditorForm.Designer.vb
generated
@@ -14,13 +14,13 @@
|
||||
Private components As System.ComponentModel.IContainer
|
||||
<System.Diagnostics.DebuggerStepThrough()>
|
||||
Private Sub InitializeComponent()
|
||||
Dim ActionButton1 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||
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(SiteEditorForm))
|
||||
Dim ActionButton2 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||
Dim ActionButton3 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||
Dim ActionButton4 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||
Dim ActionButton5 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||
Dim ActionButton6 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 ActionButton10 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||
Dim ActionButton11 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||
Dim ActionButton12 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||
Me.TP_MAIN = New System.Windows.Forms.TableLayoutPanel()
|
||||
Me.TXT_PATH = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||
Me.TXT_COOKIES = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||
@@ -59,14 +59,14 @@
|
||||
'
|
||||
'TXT_PATH
|
||||
'
|
||||
ActionButton1.BackgroundImage = CType(resources.GetObject("ActionButton1.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton1.Index = 0
|
||||
ActionButton1.Name = "BTT_OPEN"
|
||||
ActionButton2.BackgroundImage = CType(resources.GetObject("ActionButton2.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton2.Index = 1
|
||||
ActionButton2.Name = "BTT_CLEAR"
|
||||
Me.TXT_PATH.Buttons.Add(ActionButton1)
|
||||
Me.TXT_PATH.Buttons.Add(ActionButton2)
|
||||
ActionButton7.BackgroundImage = CType(resources.GetObject("ActionButton7.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton7.Index = 0
|
||||
ActionButton7.Name = "BTT_OPEN"
|
||||
ActionButton8.BackgroundImage = CType(resources.GetObject("ActionButton8.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton8.Index = 1
|
||||
ActionButton8.Name = "BTT_CLEAR"
|
||||
Me.TXT_PATH.Buttons.Add(ActionButton7)
|
||||
Me.TXT_PATH.Buttons.Add(ActionButton8)
|
||||
Me.TXT_PATH.CaptionText = "Path"
|
||||
Me.TXT_PATH.CaptionToolTipEnabled = True
|
||||
Me.TXT_PATH.CaptionToolTipText = "Specific path to store Twitter files"
|
||||
@@ -78,14 +78,14 @@
|
||||
'
|
||||
'TXT_COOKIES
|
||||
'
|
||||
ActionButton3.BackgroundImage = CType(resources.GetObject("ActionButton3.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton3.Index = 0
|
||||
ActionButton3.Name = "BTT_EDIT"
|
||||
ActionButton4.BackgroundImage = CType(resources.GetObject("ActionButton4.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton4.Index = 1
|
||||
ActionButton4.Name = "BTT_CLEAR"
|
||||
Me.TXT_COOKIES.Buttons.Add(ActionButton3)
|
||||
Me.TXT_COOKIES.Buttons.Add(ActionButton4)
|
||||
ActionButton9.BackgroundImage = CType(resources.GetObject("ActionButton9.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton9.Index = 0
|
||||
ActionButton9.Name = "BTT_EDIT"
|
||||
ActionButton10.BackgroundImage = CType(resources.GetObject("ActionButton10.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton10.Index = 1
|
||||
ActionButton10.Name = "BTT_CLEAR"
|
||||
Me.TXT_COOKIES.Buttons.Add(ActionButton9)
|
||||
Me.TXT_COOKIES.Buttons.Add(ActionButton10)
|
||||
Me.TXT_COOKIES.CaptionText = "Cookies"
|
||||
Me.TXT_COOKIES.ClearTextByButtonClear = False
|
||||
Me.TXT_COOKIES.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
@@ -114,14 +114,14 @@
|
||||
'
|
||||
'TXT_PATH_SAVED_POSTS
|
||||
'
|
||||
ActionButton5.BackgroundImage = CType(resources.GetObject("ActionButton5.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton5.Index = 0
|
||||
ActionButton5.Name = "BTT_OPEN"
|
||||
ActionButton6.BackgroundImage = CType(resources.GetObject("ActionButton6.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton6.Index = 1
|
||||
ActionButton6.Name = "BTT_CLEAR"
|
||||
Me.TXT_PATH_SAVED_POSTS.Buttons.Add(ActionButton5)
|
||||
Me.TXT_PATH_SAVED_POSTS.Buttons.Add(ActionButton6)
|
||||
ActionButton11.BackgroundImage = CType(resources.GetObject("ActionButton11.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton11.Index = 0
|
||||
ActionButton11.Name = "BTT_OPEN"
|
||||
ActionButton12.BackgroundImage = CType(resources.GetObject("ActionButton12.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton12.Index = 1
|
||||
ActionButton12.Name = "BTT_CLEAR"
|
||||
Me.TXT_PATH_SAVED_POSTS.Buttons.Add(ActionButton11)
|
||||
Me.TXT_PATH_SAVED_POSTS.Buttons.Add(ActionButton12)
|
||||
Me.TXT_PATH_SAVED_POSTS.CaptionText = "Saved posts path"
|
||||
Me.TXT_PATH_SAVED_POSTS.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TXT_PATH_SAVED_POSTS.Location = New System.Drawing.Point(3, 31)
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="ActionButton1.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="ActionButton7.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAR5JREFUOE+VkjFqwzAUhn2D9iShRyi+QhYbGujg3ZATZPKYdC6FQhPwlAMkg3dP
|
||||
@@ -129,7 +129,7 @@
|
||||
cMaRN0UdBBkAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ActionButton2.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="ActionButton8.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
||||
@@ -137,7 +137,7 @@
|
||||
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="ActionButton3.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="ActionButton9.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
|
||||
DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
|
||||
@@ -195,7 +195,7 @@
|
||||
AAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ActionButton4.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="ActionButton10.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
||||
@@ -203,7 +203,7 @@
|
||||
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="ActionButton5.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="ActionButton11.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAR5JREFUOE+VkjFqwzAUhn2D9iShRyi+QhYbGujg3ZATZPKYdC6FQhPwlAMkg3dP
|
||||
@@ -214,7 +214,7 @@
|
||||
cMaRN0UdBBkAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ActionButton6.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="ActionButton12.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
||||
|
||||
@@ -11,6 +11,7 @@ Imports PersonalUtilities.Forms.Controls
|
||||
Imports PersonalUtilities.Forms.Controls.Base
|
||||
Imports PersonalUtilities.Forms.Toolbars
|
||||
Imports PersonalUtilities.Tools.WEB
|
||||
Imports CookieControl = PersonalUtilities.Tools.WEB.CookieListForm.CookieControl
|
||||
Imports SCrawler.Plugin
|
||||
Imports SCrawler.Plugin.Hosts
|
||||
Namespace Editors
|
||||
@@ -43,8 +44,6 @@ Namespace Editors
|
||||
LBL_OTHER = New Label With {.Text = "Other Parameters", .TextAlign = ContentAlignment.MiddleCenter, .Dock = DockStyle.Fill}
|
||||
End Sub
|
||||
Private Sub SiteEditorForm_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
Const LBorder% = 3
|
||||
Const DOffset% = 100
|
||||
Try
|
||||
With MyDefs
|
||||
.MyViewInitialize(Me, Settings.Design, True)
|
||||
@@ -72,7 +71,7 @@ Namespace Editors
|
||||
End With
|
||||
|
||||
If .PropList.Count > 0 Then
|
||||
Dim offset% = DOffset
|
||||
Dim offset% = PropertyValueHost.LeftOffsetDefault
|
||||
Dim h% = 0, c% = 0
|
||||
Dim laAdded As Boolean = False
|
||||
Dim loAdded As Boolean = False
|
||||
@@ -109,7 +108,7 @@ Namespace Editors
|
||||
|
||||
.CreateControl()
|
||||
AddTpControl(.Control, .ControlHeight)
|
||||
If .Options.LeftOffset > offset Then offset = .Options.LeftOffset
|
||||
If .LeftOffset > offset Then offset = .LeftOffset
|
||||
If Not .Options.AllowNull Or Not .ProviderFieldsChecker Is Nothing Then
|
||||
MyDefs.MyFieldsChecker.AddControl(.Control, .Options.ControlText, .Type, .Options.AllowNull, .ProviderFieldsChecker)
|
||||
End If
|
||||
@@ -120,13 +119,12 @@ Namespace Editors
|
||||
Next
|
||||
SpecialButton = .GetSettingsButtonInternal
|
||||
If Not SpecialButton Is Nothing Then AddTpControl(SpecialButton, 28)
|
||||
offset -= LBorder
|
||||
TP_SITE_PROPS.BaseControlsPadding = New Padding(offset, 0, 0, 0)
|
||||
If offset > DOffset - LBorder Then
|
||||
TXT_PATH.CaptionWidth = offset
|
||||
TXT_PATH_SAVED_POSTS.CaptionWidth = offset
|
||||
TXT_COOKIES.CaptionWidth = offset
|
||||
End If
|
||||
offset += PaddingE.GetOf({TP_SITE_PROPS}).Left
|
||||
TXT_PATH.CaptionWidth = offset
|
||||
TXT_PATH_SAVED_POSTS.CaptionWidth = offset
|
||||
TXT_COOKIES.CaptionWidth = offset
|
||||
CH_GET_USER_MEDIA_ONLY.Padding = New PaddingE(CH_GET_USER_MEDIA_ONLY.Padding) With {.Left = offset}
|
||||
If c > 0 Or Not Host.IsMyClass Then
|
||||
Dim ss As New Size(Size.Width, Size.Height + h + c)
|
||||
MinimumSize = ss
|
||||
@@ -183,6 +181,8 @@ Namespace Editors
|
||||
.GetUserMediaOnly.Value = CH_GET_USER_MEDIA_ONLY.Checked
|
||||
|
||||
If .PropList.Count > 0 Then .PropList.ForEach(Sub(p) If Not p.Options Is Nothing Then p.UpdateValueByControl())
|
||||
|
||||
.Source.Update()
|
||||
End With
|
||||
End If
|
||||
|
||||
@@ -209,7 +209,12 @@ Namespace Editors
|
||||
Private Sub TXT_COOKIES_ActionOnButtonClick(ByVal Sender As ActionButton) Handles TXT_COOKIES.ActionOnButtonClick
|
||||
If Sender.DefaultButton = ActionButton.DefaultButtons.Edit Then
|
||||
If TypeOf Host.Source Is IResponserContainer Then
|
||||
Using f As New CookieListForm(DirectCast(Host.Source, IResponserContainer).Responser.Cookies) With {.MyDesignXML = Settings.Design} : f.ShowDialog() : End Using
|
||||
Using f As New CookieListForm(DirectCast(Host.Source, IResponserContainer).Responser) With {
|
||||
.MyDesignXML = Settings.Design,
|
||||
.DisableControls = CookieControl.AddFromInternal + CookieControl.AuthorizeProgram + CookieControl.OpenBrowser
|
||||
}
|
||||
f.ShowDialog()
|
||||
End Using
|
||||
SetCookieText()
|
||||
End If
|
||||
End If
|
||||
|
||||
@@ -15,8 +15,10 @@ Friend Class FDatePickerForm : Implements IOkCancelDeleteToolbar
|
||||
If DT.Checked Then Return DT.Value.Date Else Return Nothing
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub New()
|
||||
Private ReadOnly _InitialValue As Date?
|
||||
Friend Sub New(ByVal d As Date?)
|
||||
InitializeComponent()
|
||||
_InitialValue = d
|
||||
End Sub
|
||||
Private Sub FDatePickerForm_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
Try
|
||||
@@ -25,9 +27,9 @@ Friend Class FDatePickerForm : Implements IOkCancelDeleteToolbar
|
||||
.MyViewInitialize(Me, Settings.Design, True)
|
||||
.AddOkCancelToolbar()
|
||||
.DelegateClosingChecker()
|
||||
If Settings.LastUpdatedDate.HasValue Then
|
||||
If _InitialValue.HasValue Then
|
||||
DT.Checked = True
|
||||
DT.Value = Settings.LastUpdatedDate.Value.Date
|
||||
DT.Value = _InitialValue.Value.Date
|
||||
Else
|
||||
DT.Checked = False
|
||||
End If
|
||||
|
||||
@@ -171,17 +171,24 @@ Friend Class ListImagesLoader
|
||||
End If
|
||||
End Function
|
||||
Private Function GetUsersWithImages() As List(Of UserOption)
|
||||
Dim t As New List(Of Task)
|
||||
Dim l As New List(Of UserOption)
|
||||
For Each u As IUserData In Settings.Users
|
||||
If u.FitToAddParams Then t.Add(Task.Run(Sub() l.Add(New UserOption(u, MyList, True))))
|
||||
Next
|
||||
If t.Count > 0 Then Task.WaitAll(t.ToArray) : t.Clear()
|
||||
If l.Count > 0 Then
|
||||
For i% = 0 To l.Count - 1
|
||||
If l(i).Image Is Nothing Then l(i).UpdateImage()
|
||||
Try
|
||||
Dim t As New List(Of Task)
|
||||
Dim l As New List(Of UserOption)
|
||||
For Each u As IUserData In Settings.Users
|
||||
If u.FitToAddParams Then t.Add(Task.Run(Sub() l.Add(New UserOption(u, MyList, True))))
|
||||
Next
|
||||
End If
|
||||
Return l
|
||||
If t.Count > 0 Then Task.WaitAll(t.ToArray) : t.Clear()
|
||||
If l.Count > 0 Then
|
||||
For i% = 0 To l.Count - 1
|
||||
If l(i).Image Is Nothing Then l(i).UpdateImage()
|
||||
Next
|
||||
End If
|
||||
Return l
|
||||
Catch ex As Exception
|
||||
Return ErrorsDescriber.Execute(EDP.LogMessageValue, ex,
|
||||
"Image fast loading error." & vbCr &
|
||||
"Click the ""Refresh"" button to manually refresh the user list." & vbCr &
|
||||
"[ListImagesLoader.GetUsersWithImages]")
|
||||
End Try
|
||||
End Function
|
||||
End Class
|
||||
27
SCrawler/MainFrame.Designer.vb
generated
27
SCrawler/MainFrame.Designer.vb
generated
@@ -65,6 +65,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
||||
Me.BTT_VERSION_INFO = New System.Windows.Forms.ToolStripButton()
|
||||
Me.BTT_DONATE = New System.Windows.Forms.ToolStripButton()
|
||||
Me.Toolbar_BOTTOM = New System.Windows.Forms.StatusStrip()
|
||||
Me.BTT_PR_INFO = New System.Windows.Forms.ToolStripStatusLabel()
|
||||
Me.PR_MAIN = New System.Windows.Forms.ToolStripProgressBar()
|
||||
Me.LBL_JOBS_COUNT = New System.Windows.Forms.ToolStripStatusLabel()
|
||||
Me.LBL_STATUS = New System.Windows.Forms.ToolStripStatusLabel()
|
||||
@@ -90,7 +91,7 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
||||
Me.TRAY_CONTEXT = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||
Me.BTT_TRAY_SHOW_HIDE = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.BTT_TRAY_CLOSE = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.BTT_PR_INFO = New System.Windows.Forms.ToolStripStatusLabel()
|
||||
Me.BTT_CONTEXT_DOWN_DATE_LIMIT = New System.Windows.Forms.ToolStripMenuItem()
|
||||
SEP_1 = New System.Windows.Forms.ToolStripSeparator()
|
||||
SEP_2 = New System.Windows.Forms.ToolStripSeparator()
|
||||
CONTEXT_SEP_1 = New System.Windows.Forms.ToolStripSeparator()
|
||||
@@ -466,6 +467,14 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
||||
Me.Toolbar_BOTTOM.Size = New System.Drawing.Size(934, 22)
|
||||
Me.Toolbar_BOTTOM.TabIndex = 2
|
||||
'
|
||||
'BTT_PR_INFO
|
||||
'
|
||||
Me.BTT_PR_INFO.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.BTT_PR_INFO.Image = Global.SCrawler.My.Resources.Resources.InfoPic_32
|
||||
Me.BTT_PR_INFO.Name = "BTT_PR_INFO"
|
||||
Me.BTT_PR_INFO.Padding = New System.Windows.Forms.Padding(0, 0, 3, 0)
|
||||
Me.BTT_PR_INFO.Size = New System.Drawing.Size(19, 17)
|
||||
'
|
||||
'PR_MAIN
|
||||
'
|
||||
Me.PR_MAIN.Name = "PR_MAIN"
|
||||
@@ -503,9 +512,9 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
||||
'
|
||||
'USER_CONTEXT
|
||||
'
|
||||
Me.USER_CONTEXT.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BTT_CONTEXT_DOWN, Me.BTT_CONTEXT_DOWN_LIMITED, Me.BTT_CONTEXT_EDIT, Me.BTT_CONTEXT_DELETE, CONTEXT_SEP_1, Me.BTT_CONTEXT_FAV, Me.BTT_CONTEXT_TEMP, Me.BTT_CONTEXT_READY, Me.BTT_CONTEXT_GROUPS, Me.BTT_CONTEXT_ADD_TO_COL, Me.BTT_CONTEXT_COL_MERGE, Me.BTT_CONTEXT_CHANGE_FOLDER, CONTEXT_SEP_2, Me.BTT_CHANGE_IMAGE, CONTEXT_SEP_3, Me.BTT_CONTEXT_OPEN_PATH, CONTEXT_SEP_4, Me.BTT_CONTEXT_OPEN_SITE, CONTEXT_SEP_5, Me.BTT_CONTEXT_INFO})
|
||||
Me.USER_CONTEXT.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BTT_CONTEXT_DOWN, Me.BTT_CONTEXT_DOWN_LIMITED, Me.BTT_CONTEXT_DOWN_DATE_LIMIT, Me.BTT_CONTEXT_EDIT, Me.BTT_CONTEXT_DELETE, CONTEXT_SEP_1, Me.BTT_CONTEXT_FAV, Me.BTT_CONTEXT_TEMP, Me.BTT_CONTEXT_READY, Me.BTT_CONTEXT_GROUPS, Me.BTT_CONTEXT_ADD_TO_COL, Me.BTT_CONTEXT_COL_MERGE, Me.BTT_CONTEXT_CHANGE_FOLDER, CONTEXT_SEP_2, Me.BTT_CHANGE_IMAGE, CONTEXT_SEP_3, Me.BTT_CONTEXT_OPEN_PATH, CONTEXT_SEP_4, Me.BTT_CONTEXT_OPEN_SITE, CONTEXT_SEP_5, Me.BTT_CONTEXT_INFO})
|
||||
Me.USER_CONTEXT.Name = "USER_CONTEXT"
|
||||
Me.USER_CONTEXT.Size = New System.Drawing.Size(222, 364)
|
||||
Me.USER_CONTEXT.Size = New System.Drawing.Size(222, 408)
|
||||
'
|
||||
'BTT_CONTEXT_DOWN
|
||||
'
|
||||
@@ -641,13 +650,12 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
||||
Me.BTT_TRAY_CLOSE.Size = New System.Drawing.Size(133, 22)
|
||||
Me.BTT_TRAY_CLOSE.Text = "Close"
|
||||
'
|
||||
'BTT_PR_INFO
|
||||
'BTT_CONTEXT_DOWN_DATE_LIMIT
|
||||
'
|
||||
Me.BTT_PR_INFO.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.BTT_PR_INFO.Image = Global.SCrawler.My.Resources.Resources.InfoPic_32
|
||||
Me.BTT_PR_INFO.Name = "BTT_PR_INFO"
|
||||
Me.BTT_PR_INFO.Padding = New System.Windows.Forms.Padding(0, 0, 3, 0)
|
||||
Me.BTT_PR_INFO.Size = New System.Drawing.Size(19, 17)
|
||||
Me.BTT_CONTEXT_DOWN_DATE_LIMIT.Image = Global.SCrawler.My.Resources.Resources.StartPic_01_Green_16
|
||||
Me.BTT_CONTEXT_DOWN_DATE_LIMIT.Name = "BTT_CONTEXT_DOWN_DATE_LIMIT"
|
||||
Me.BTT_CONTEXT_DOWN_DATE_LIMIT.Size = New System.Drawing.Size(221, 22)
|
||||
Me.BTT_CONTEXT_DOWN_DATE_LIMIT.Text = "Download data to the date"
|
||||
'
|
||||
'MainFrame
|
||||
'
|
||||
@@ -733,4 +741,5 @@ Partial Public Class MainFrame : Inherits System.Windows.Forms.Form
|
||||
Private WithEvents COL_DEF As ColumnHeader
|
||||
Private WithEvents MENU_SETTINGS As ToolStripDropDownButton
|
||||
Private WithEvents BTT_PR_INFO As ToolStripStatusLabel
|
||||
Private WithEvents BTT_CONTEXT_DOWN_DATE_LIMIT As ToolStripMenuItem
|
||||
End Class
|
||||
@@ -306,35 +306,6 @@
|
||||
<metadata name="TRAY_CONTEXT.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>623, 17</value>
|
||||
</metadata>
|
||||
<data name="BTT_TRAY_CLOSE.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="TrayIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAACQAAMMOAADDDgAAAAAAAAAA
|
||||
@@ -499,6 +470,35 @@
|
||||
AAAAAAAAH/8AAAAAAAA//wAAAAAAAH//AAAAAAAA//8AAAAAAAP//wAAAAAAB///AAAAAAAP//8AAAAA
|
||||
AB///wAAAAAAf///AAAAAAH///8AAAAAB////wAAAAAf////AAAAAP////8AAAAH/////wAAAH//////
|
||||
AAA=
|
||||
</value>
|
||||
</data>
|
||||
<data name="BTT_TRAY_CLOSE.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
|
||||
@@ -218,7 +218,7 @@ CloseResume:
|
||||
Using f As New GlobalSettingsForm
|
||||
f.ShowDialog()
|
||||
If f.DialogResult = DialogResult.OK Then
|
||||
If Not Settings.MaxLargeImageHeigh = mhl Or Not Settings.MaxSmallImageHeigh = mhs Then RefillList()
|
||||
If (Not Settings.MaxLargeImageHeigh = mhl Or Not Settings.MaxSmallImageHeigh = mhs) And Settings.ViewModeIsPicture Then RefillList()
|
||||
TrayIcon.Visible = Settings.CloseToTray
|
||||
End If
|
||||
End Using
|
||||
@@ -309,7 +309,7 @@ CloseResume:
|
||||
#End Region
|
||||
#Region "Download"
|
||||
Private Sub BTT_DOWN_SELECTED_Click(sender As Object, e As EventArgs) Handles BTT_DOWN_SELECTED.Click
|
||||
DownloadSelectedUser(False)
|
||||
DownloadSelectedUser(DownUserLimits.None)
|
||||
End Sub
|
||||
Private Sub BTT_DOWN_ALL_Click(sender As Object, e As EventArgs) Handles BTT_DOWN_ALL.Click
|
||||
Downloader.AddRange(Settings.Users.Where(Function(u) u.ReadyForDownload))
|
||||
@@ -472,7 +472,7 @@ CloseResume:
|
||||
End With
|
||||
Settings.LastUpdatedDate = d
|
||||
End Sub
|
||||
Using f As New FDatePickerForm
|
||||
Using f As New FDatePickerForm(Settings.LastUpdatedDate)
|
||||
f.ShowDialog()
|
||||
Select Case f.DialogResult
|
||||
Case DialogResult.Abort : snd(Nothing)
|
||||
@@ -487,7 +487,7 @@ CloseResume:
|
||||
MyMainLOG_ShowForm(Settings.Design)
|
||||
End Sub
|
||||
Private Sub BTT_DONATE_Click(sender As Object, e As EventArgs) Handles BTT_DONATE.Click
|
||||
Try : Process.Start("https://github.com/AAndyProgram/SCrawler/HowToSupport.md") : Catch : End Try
|
||||
Try : Process.Start("https://github.com/AAndyProgram/SCrawler/blob/main/HowToSupport.md") : Catch : End Try
|
||||
End Sub
|
||||
#Region "List functions"
|
||||
Private _LatestSelected As Integer = -1
|
||||
@@ -506,10 +506,13 @@ CloseResume:
|
||||
End Sub
|
||||
#Region "Context"
|
||||
Private Sub BTT_CONTEXT_DOWN_Click(sender As Object, e As EventArgs) Handles BTT_CONTEXT_DOWN.Click
|
||||
DownloadSelectedUser(False)
|
||||
DownloadSelectedUser(DownUserLimits.None)
|
||||
End Sub
|
||||
Private Sub BTT_CONTEXT_DOWN_LIMITED_Click(sender As Object, e As EventArgs) Handles BTT_CONTEXT_DOWN_LIMITED.Click
|
||||
DownloadSelectedUser(True)
|
||||
DownloadSelectedUser(DownUserLimits.Number)
|
||||
End Sub
|
||||
Private Sub BTT_CONTEXT_DOWN_DATE_LIMIT_Click(sender As Object, e As EventArgs) Handles BTT_CONTEXT_DOWN_DATE_LIMIT.Click
|
||||
DownloadSelectedUser(DownUserLimits.Date)
|
||||
End Sub
|
||||
Private Sub BTT_CONTEXT_EDIT_Click(sender As Object, e As EventArgs) Handles BTT_CONTEXT_EDIT.Click
|
||||
EditSelectedUser()
|
||||
@@ -925,18 +928,20 @@ CloseResume:
|
||||
If .Count > 0 AndAlso .ContainsKey(User.Key) Then .RemoveByKey(User.Key)
|
||||
End With
|
||||
End Sub
|
||||
Private Sub DownloadSelectedUser(ByVal UseLimits As Boolean)
|
||||
Private Enum DownUserLimits : None : Number : [Date] : End Enum
|
||||
Private Sub DownloadSelectedUser(ByVal UseLimits As DownUserLimits)
|
||||
Dim users As List(Of IUserData) = GetSelectedUserArray()
|
||||
If users.ListExists Then
|
||||
Dim l%? = Nothing
|
||||
If UseLimits Then
|
||||
Dim d As Date? = Nothing
|
||||
If UseLimits = DownUserLimits.Number Then
|
||||
Do
|
||||
l = AConvert(Of Integer)(InputBoxE("Enter top posts limit for downloading:", "Download limit", 10), AModes.Var, Nothing)
|
||||
If l.HasValue Then
|
||||
Select Case MsgBoxE(New MMessage($"You are set up downloading top [{l.Value}] posts", "Download limit",
|
||||
{"Confirm", "Try again", "Disable limit", "Cancel"}) With {.ButtonsPerRow = 2}).Index
|
||||
Case 0 : Exit Do
|
||||
Case 2 : l = Nothing
|
||||
Case 2 : l = Nothing : Exit Do
|
||||
Case 3 : GoTo CancelDownloadingOperation
|
||||
End Select
|
||||
Else
|
||||
@@ -946,6 +951,32 @@ CloseResume:
|
||||
End Select
|
||||
End If
|
||||
Loop
|
||||
ElseIf UseLimits = DownUserLimits.Date Then
|
||||
Do
|
||||
Using fd As New FDatePickerForm(Nothing)
|
||||
fd.ShowDialog()
|
||||
If fd.DialogResult = DialogResult.OK Then
|
||||
d = fd.SelectedDate
|
||||
ElseIf fd.DialogResult = DialogResult.Abort Then
|
||||
d = Nothing
|
||||
End If
|
||||
End Using
|
||||
If d.HasValue Then
|
||||
Select Case MsgBoxE(New MMessage($"You are set up downloading posts until [{d.Value.Date.ToStringDate(ADateTime.Formats.BaseDate)}]",
|
||||
"Download limit",
|
||||
{"Confirm", "Try again", "Disable limit", "Cancel"}) With {.ButtonsPerRow = 2}).Index
|
||||
Case 0 : Exit Do
|
||||
Case 2 : d = Nothing : Exit Do
|
||||
Case 3 : GoTo CancelDownloadingOperation
|
||||
End Select
|
||||
Else
|
||||
Select Case MsgBoxE({"You are not set up a date limit", "Download limit"},,,, {"Confirm", "Try again", "Cancel"}).Index
|
||||
Case 0 : Exit Do
|
||||
Case 2 : GoTo CancelDownloadingOperation
|
||||
End Select
|
||||
End If
|
||||
|
||||
Loop
|
||||
End If
|
||||
If USER_CONTEXT.Visible Then USER_CONTEXT.Hide()
|
||||
GoTo ResumeDownloadingOperation
|
||||
@@ -955,6 +986,7 @@ CancelDownloadingOperation:
|
||||
ResumeDownloadingOperation:
|
||||
If users.Count = 1 Then
|
||||
users(0).DownloadTopCount = l
|
||||
users(0).DownloadToDate = d
|
||||
Downloader.Add(users(0))
|
||||
Else
|
||||
Dim uStr$ = users.Select(Function(u) u.ToString()).ListToString(, vbNewLine)
|
||||
|
||||
@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("3.0.0.0")>
|
||||
<Assembly: AssemblyFileVersion("3.0.0.0")>
|
||||
<Assembly: AssemblyVersion("3.0.0.1")>
|
||||
<Assembly: AssemblyFileVersion("3.0.0.1")>
|
||||
<Assembly: NeutralResourcesLanguage("en")>
|
||||
|
||||
@@ -15,6 +15,7 @@ Imports SCrawler.Plugin.Attributes
|
||||
Imports System.Reflection
|
||||
Namespace Plugin.Hosts
|
||||
Friend Class PropertyValueHost : Implements IPropertyValue, IComparable(Of PropertyValueHost)
|
||||
Friend Const LeftOffsetDefault As Integer = 100
|
||||
Friend Event OnPropertyUpdateRequested(ByVal Sender As PropertyValueHost)
|
||||
Private Event ValueChanged As IPropertyValue.ValueChangedEventHandler Implements IPropertyValue.ValueChanged
|
||||
Private _Type As Type
|
||||
@@ -50,13 +51,13 @@ Namespace Plugin.Hosts
|
||||
Else
|
||||
DirectCast(Control, CheckBox).Checked = CBool(AConvert(Of Boolean)(Value, False))
|
||||
End If
|
||||
If .LeftOffset > 0 Then Control.Padding = New PaddingE(Control.Padding) With {.Left = Options.LeftOffset}
|
||||
Control.Padding = New PaddingE(Control.Padding) With {.Left = LeftOffset}
|
||||
Else
|
||||
Control = New TextBoxExtended
|
||||
With DirectCast(Control, TextBoxExtended)
|
||||
.CaptionText = Options.ControlText
|
||||
.CaptionToolTipEnabled = Not Options.ControlToolTip.IsEmptyString
|
||||
If Options.LeftOffset > 0 Then .CaptionWidth = Options.LeftOffset
|
||||
.CaptionWidth = LeftOffset
|
||||
If Not Options.ControlToolTip.IsEmptyString Then .CaptionToolTipText = Options.ControlToolTip : .CaptionToolTipEnabled = True
|
||||
.Text = CStr(AConvert(Of String)(Value, String.Empty))
|
||||
With .Buttons
|
||||
@@ -117,6 +118,19 @@ Namespace Plugin.Hosts
|
||||
Friend ReadOnly Name As String
|
||||
Private ReadOnly _XmlName As String
|
||||
Friend ReadOnly Options As PropertyOption
|
||||
Private _LeftOffset As Integer? = Nothing
|
||||
Friend Property LeftOffset As Integer
|
||||
Get
|
||||
If _LeftOffset.HasValue Then
|
||||
Return _LeftOffset
|
||||
Else
|
||||
Return If(Options?.LeftOffset, LeftOffsetDefault)
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal NewOffset As Integer)
|
||||
_LeftOffset = NewOffset
|
||||
End Set
|
||||
End Property
|
||||
#Region "Providers"
|
||||
Friend Property ProviderFieldsChecker As IFormatProvider
|
||||
Friend Property ProviderValue As IFormatProvider
|
||||
|
||||
@@ -244,8 +244,10 @@ Namespace Plugin.Hosts
|
||||
|
||||
GetUserMediaOnly = New XMLValue(Of Boolean)("GetUserMediaOnly", True, _XML, n)
|
||||
If PropList.Count > 0 Then
|
||||
Dim MaxOffset% = Math.Max(PropList.Max(Function(pp) pp.LeftOffset), PropertyValueHost.LeftOffsetDefault)
|
||||
For Each p As PropertyValueHost In PropList
|
||||
p.SetXmlEnvironment(_XML, n)
|
||||
p.LeftOffset = MaxOffset
|
||||
AddHandler p.OnPropertyUpdateRequested, AddressOf PropHost_OnPropertyUpdateRequested
|
||||
Next
|
||||
End If
|
||||
|
||||
@@ -51,6 +51,7 @@ Namespace Plugin.Hosts
|
||||
.SeparateVideoFolder = SeparateVideoFolderF
|
||||
.DataPath = MyFile.CutPath.PathNoSeparator
|
||||
.PostsNumberLimit = DownloadTopCount
|
||||
.PostsDateLimit = DownloadToDate
|
||||
|
||||
If _ContentList.Count > 0 Then ExternalPlugin.ExistingContentList = _ContentList.Select(Function(u) u.PluginUserMedia).ToList
|
||||
ExternalPlugin.TempPostsList = ListAddList(Nothing, _TempPostsList)
|
||||
|
||||
Reference in New Issue
Block a user