mirror of
https://github.com/AAndyProgram/SCrawler.git
synced 2026-03-15 16:22:17 +00:00
Compare commits
4 Commits
2023.1.24.
...
2023.2.5.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
290b5c4586 | ||
|
|
f5e68a7032 | ||
|
|
ece573dd40 | ||
|
|
1f1148020c |
23
Changelog.md
23
Changelog.md
@@ -1,3 +1,26 @@
|
|||||||
|
# 2023.2.5.0
|
||||||
|
|
||||||
|
*2023-02-05*
|
||||||
|
|
||||||
|
- Added
|
||||||
|
- The ability to configure UserAgent
|
||||||
|
- Fixed
|
||||||
|
- (Issue #101) Failed download Gfycat video in some cases
|
||||||
|
|
||||||
|
# 2023.1.27.0
|
||||||
|
|
||||||
|
*2023-01-27*
|
||||||
|
|
||||||
|
- Added
|
||||||
|
- Advanced Twitter options for GIFs
|
||||||
|
- Changing the icon of the user creation form based on the selected site
|
||||||
|
- Fixed
|
||||||
|
- Pinned Instagram posts reload every time
|
||||||
|
- Plugins
|
||||||
|
- Added
|
||||||
|
- `Interaction` option to the `Provider` attribute
|
||||||
|
- `IPropertyProvider` interface
|
||||||
|
|
||||||
# 2023.1.24.1
|
# 2023.1.24.1
|
||||||
|
|
||||||
*2023-01-24*
|
*2023-01-24*
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 20 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 19 KiB |
16
README.md
16
README.md
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
A program to download photo and video from [any site](#supported-sites) (e.g. Reddit, Twitter, Instagram, TikTok, RedGifs, PornHub, XHamster, XVIDEOS, LPSG).
|
A program to download photo and video from [any site](#supported-sites) (e.g. Reddit, Twitter, Instagram, TikTok, RedGifs, PornHub, XHamster, XVIDEOS, LPSG).
|
||||||
|
|
||||||
**If you like SCrawler, please like the program on [this site]( https://alternativeto.net/software/scrawler/about/)**
|
**If you like SCrawler, please like the program on [this site](https://alternativeto.net/software/scrawler/about/) and/or [this](https://www.softpedia.com/get/Internet/Download-Managers/Social-networks-crawler.shtml)**
|
||||||
|
|
||||||
Do you like this program? Consider adding to my coffee fund by making a donation to show your support. :blush:
|
Do you like this program? Consider adding to my coffee fund by making a donation to show your support. :blush:
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ Do you like this program? Consider adding to my coffee fund by making a donation
|
|||||||
|
|
||||||
# What can program do:
|
# What can program do:
|
||||||
- Download pictures and videos from users' profiles and subreddits:
|
- Download pictures and videos from users' profiles and subreddits:
|
||||||
- Reddit images, galleries of images, videos (downloading Reddit hosted video is going through ffmpeg (**ffmpeg only works with the x64 program**)), saved posts;
|
- Reddit images, galleries of images, videos, saved posts;
|
||||||
- Redgifs videos (https://www.redgifs.com/);
|
- Redgifs videos (https://www.redgifs.com/);
|
||||||
- Twitter images and videos, saved (bookmarked) posts;
|
- Twitter images and videos, saved (bookmarked) posts;
|
||||||
- Instagram images and videos, tagged posts, stories, saved posts;
|
- Instagram images and videos, tagged posts, stories, saved posts;
|
||||||
@@ -128,17 +128,11 @@ Read [here](CONTRIBUTING.md#how-to-request-a-new-site) about
|
|||||||
|
|
||||||
Just download [latest](https://github.com/AAndyProgram/SCrawler/releases/latest) version and unpack it into the program folder. **Before starting a new version, I recommend making a backup copy of the program settings folder.**
|
Just download [latest](https://github.com/AAndyProgram/SCrawler/releases/latest) version and unpack it into the program folder. **Before starting a new version, I recommend making a backup copy of the program settings folder.**
|
||||||
|
|
||||||
# How to build from source
|
# [How to build from source](CONTRIBUTING.md#how-to-build-from-source)
|
||||||
|
|
||||||
Read about how to build from source [here](CONTRIBUTING.md#how-to-build-from-source)
|
# [How to make a plugin](https://github.com/AAndyProgram/SCrawler/wiki/Plugins)
|
||||||
|
|
||||||
# How to make a plugin
|
# [How to support](HowToSupport.md)
|
||||||
|
|
||||||
Read about how to make plugin [here](https://github.com/AAndyProgram/SCrawler/wiki/Plugins).
|
|
||||||
|
|
||||||
# How to support
|
|
||||||
|
|
||||||
Read about how to support the program [here](HowToSupport.md).
|
|
||||||
|
|
||||||
# Settings and usage
|
# Settings and usage
|
||||||
|
|
||||||
|
|||||||
@@ -100,6 +100,8 @@ Namespace Plugin.Attributes
|
|||||||
''' <see langword="False"/> - only for conversion
|
''' <see langword="False"/> - only for conversion
|
||||||
''' </summary>
|
''' </summary>
|
||||||
Public FieldsChecker As Boolean = False
|
Public FieldsChecker As Boolean = False
|
||||||
|
''' <summary>Interaction with changing text field. Default: <see langword="False"/></summary>
|
||||||
|
Public Interaction As Boolean = False
|
||||||
''' <summary>Initialize a new Provider attribute. <see cref="IFormatProvider"/> is only allowed</summary>
|
''' <summary>Initialize a new Provider attribute. <see cref="IFormatProvider"/> is only allowed</summary>
|
||||||
''' <param name="PropertyName">The name of the property for which this provider is used</param>
|
''' <param name="PropertyName">The name of the property for which this provider is used</param>
|
||||||
Public Sub New(ByVal PropertyName As String)
|
Public Sub New(ByVal PropertyName As String)
|
||||||
|
|||||||
@@ -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("2022.12.26.0")>
|
<Assembly: AssemblyVersion("2023.2.5.0")>
|
||||||
<Assembly: AssemblyFileVersion("2022.12.26.0")>
|
<Assembly: AssemblyFileVersion("2023.2.5.0")>
|
||||||
<Assembly: NeutralResourcesLanguage("en")>
|
<Assembly: NeutralResourcesLanguage("en")>
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
' Copyright (C) 2023 Andy https://github.com/AAndyProgram
|
||||||
|
' 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 Plugin
|
||||||
|
Public Interface IPropertyProvider : Inherits IFormatProvider
|
||||||
|
Property PropertyName As String
|
||||||
|
End Interface
|
||||||
|
End Namespace
|
||||||
@@ -102,6 +102,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Attributes\Attributes.vb" />
|
<Compile Include="Attributes\Attributes.vb" />
|
||||||
|
<Compile Include="ObjectInterfaces\IPropertyProvider.vb" />
|
||||||
<Compile Include="Objects\ExchangeOptions.vb" />
|
<Compile Include="Objects\ExchangeOptions.vb" />
|
||||||
<Compile Include="ObjectInterfaces\ILogProvider.vb" />
|
<Compile Include="ObjectInterfaces\ILogProvider.vb" />
|
||||||
<Compile Include="Interfaces\IPluginContentProvider.vb" />
|
<Compile Include="Interfaces\IPluginContentProvider.vb" />
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ Namespace API.Base
|
|||||||
.LoadSettings()
|
.LoadSettings()
|
||||||
Else
|
Else
|
||||||
.CookiesDomain = CookiesDomain
|
.CookiesDomain = CookiesDomain
|
||||||
.Cookies = New CookieKeeper(.CookiesDomain) With {.EncryptKey = SettingsCLS.CookieEncryptKey}
|
|
||||||
.CookiesEncryptKey = SettingsCLS.CookieEncryptKey
|
.CookiesEncryptKey = SettingsCLS.CookieEncryptKey
|
||||||
.SaveSettings()
|
.SaveSettings()
|
||||||
End If
|
End If
|
||||||
@@ -53,6 +52,7 @@ Namespace API.Base
|
|||||||
End Sub
|
End Sub
|
||||||
Friend Overridable Sub EndInit() Implements ISiteSettings.EndInit
|
Friend Overridable Sub EndInit() Implements ISiteSettings.EndInit
|
||||||
EncryptCookies.ValidateCookiesEncrypt(Responser)
|
EncryptCookies.ValidateCookiesEncrypt(Responser)
|
||||||
|
If Not DefaultUserAgent.IsEmptyString And Not Responser Is Nothing Then Responser.UserAgent = DefaultUserAgent
|
||||||
End Sub
|
End Sub
|
||||||
Friend Overridable Sub BeginUpdate() Implements ISiteSettings.BeginUpdate
|
Friend Overridable Sub BeginUpdate() Implements ISiteSettings.BeginUpdate
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@@ -1023,12 +1023,14 @@ BlockNullPicture:
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
If Not v.SpecialFolder.IsEmptyString Then
|
If Not v.SpecialFolder.IsEmptyString Then
|
||||||
f.Path = $"{f.PathWithSeparator}{v.SpecialFolder}\".CSFileP.Path
|
f.Path = $"{f.PathWithSeparator}{v.SpecialFolder.StringTrimEnd("*")}\".CSFileP.Path
|
||||||
f.Exists(SFO.Path)
|
f.Exists(SFO.Path)
|
||||||
End If
|
End If
|
||||||
If __isVideo And vsf Then
|
If __isVideo And vsf Then
|
||||||
f.Path = $"{f.PathWithSeparator}Video"
|
If v.SpecialFolder.IsEmptyString OrElse Not v.SpecialFolder.EndsWith("*") Then
|
||||||
If Not v.SpecialFolder.IsEmptyString Then f.Exists(SFO.Path)
|
f.Path = $"{f.PathWithSeparator}Video"
|
||||||
|
If Not v.SpecialFolder.IsEmptyString Then f.Exists(SFO.Path)
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If v.Type = UTypes.m3u8 And UseInternalM3U8Function Then
|
If v.Type = UTypes.m3u8 And UseInternalM3U8Function Then
|
||||||
|
|||||||
@@ -17,7 +17,18 @@ Namespace API.Gfycat
|
|||||||
Try
|
Try
|
||||||
Dim r$
|
Dim r$
|
||||||
Using w As New WebClient : r = w.DownloadString(URL) : End Using
|
Using w As New WebClient : r = w.DownloadString(URL) : End Using
|
||||||
If Not r.IsEmptyString Then Return RegexReplace(r, RParams.DMS("contentUrl.:.(http.?://[^""]+?\.mp4)", 1)) Else Return String.Empty
|
If Not r.IsEmptyString Then
|
||||||
|
Dim _url$ = RegexReplace(r, RParams.DMS("contentUrl.:.(http.?://[^""]+?\.mp4)", 1, EDP.ReturnValue))
|
||||||
|
If Not _url.IsEmptyString Then
|
||||||
|
If _url.Contains("redgifs.com") Then
|
||||||
|
_url = RegexReplace(_url, RParams.DMS("([^/-]+)[-\w]*\.mp4", 1, EDP.ReturnValue))
|
||||||
|
If Not _url.IsEmptyString Then Return $"https://www.redgifs.com/watch/{_url}"
|
||||||
|
Else
|
||||||
|
Return _url
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Return String.Empty
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Dim e As EDP = EDP.ReturnValue
|
Dim e As EDP = EDP.ReturnValue
|
||||||
If TypeOf ex Is WebException Then
|
If TypeOf ex Is WebException Then
|
||||||
|
|||||||
@@ -613,17 +613,20 @@ Namespace API.Instagram
|
|||||||
With nn
|
With nn
|
||||||
PostIDKV = New PostKV(.Value("code"), .Value("id"), Section)
|
PostIDKV = New PostKV(.Value("code"), .Value("id"), Section)
|
||||||
Pinned = .Contains("timeline_pinned_user_ids")
|
Pinned = .Contains("timeline_pinned_user_ids")
|
||||||
If PostKvExists(PostIDKV) And Not Pinned Then Return False
|
If PostKvExists(PostIDKV) Then
|
||||||
_TempPostsList.Add(PostIDKV.ID)
|
If Not Pinned Then Return False
|
||||||
PostsKVIDs.ListAddValue(PostIDKV, LAP.NotContainsOnly)
|
Else
|
||||||
PostDate = .Value("taken_at")
|
_TempPostsList.Add(PostIDKV.ID)
|
||||||
If Not IsSavedPosts Then
|
PostsKVIDs.ListAddValue(PostIDKV, LNC)
|
||||||
Select Case CheckDatesLimit(PostDate, DateProvider)
|
PostDate = .Value("taken_at")
|
||||||
Case DateResult.Skip : Continue For
|
If Not IsSavedPosts Then
|
||||||
Case DateResult.Exit : If Not Pinned Then Return False
|
Select Case CheckDatesLimit(PostDate, DateProvider)
|
||||||
End Select
|
Case DateResult.Skip : Continue For
|
||||||
|
Case DateResult.Exit : If Not Pinned Then Return False
|
||||||
|
End Select
|
||||||
|
End If
|
||||||
|
ObtainMedia(.Self, PostIDKV.ID, SpecFolder, PostDate)
|
||||||
End If
|
End If
|
||||||
ObtainMedia(.Self, PostIDKV.ID, SpecFolder, PostDate)
|
|
||||||
End With
|
End With
|
||||||
Next
|
Next
|
||||||
Return True
|
Return True
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ Namespace API.LPSG
|
|||||||
Return New UserData
|
Return New UserData
|
||||||
End Function
|
End Function
|
||||||
Friend Overrides Function Available(ByVal What As ISiteSettings.Download, ByVal Silent As Boolean) As Boolean
|
Friend Overrides Function Available(ByVal What As ISiteSettings.Download, ByVal Silent As Boolean) As Boolean
|
||||||
Return If(Responser.Cookies?.Count, 0) > 0
|
Return Responser.CookiesExists
|
||||||
End Function
|
End Function
|
||||||
End Class
|
End Class
|
||||||
End Namespace
|
End Namespace
|
||||||
@@ -533,31 +533,36 @@ Namespace API.Reddit
|
|||||||
Dim e As New ErrorsDescriber(EDP.ReturnValue)
|
Dim e As New ErrorsDescriber(EDP.ReturnValue)
|
||||||
Dim m As UserMedia, m2 As UserMedia
|
Dim m As UserMedia, m2 As UserMedia
|
||||||
Dim RedGifsHost As SettingsHost = Settings(RedGifs.RedGifsSiteKey)
|
Dim RedGifsHost As SettingsHost = Settings(RedGifs.RedGifsSiteKey)
|
||||||
|
Dim _repeatForRedgifs As Boolean
|
||||||
RedGifsResponser = RedGifsHost.Responser.Copy
|
RedGifsResponser = RedGifsHost.Responser.Copy
|
||||||
For i% = _TempMediaList.Count - 1 To 0 Step -1
|
For i% = _TempMediaList.Count - 1 To 0 Step -1
|
||||||
ThrowAny(Token)
|
ThrowAny(Token)
|
||||||
If _TempMediaList(i).Type = UTypes.VideoPre Or _TempMediaList(i).Type = v2 Then
|
If _TempMediaList(i).Type = UTypes.VideoPre Or _TempMediaList(i).Type = v2 Then
|
||||||
m = _TempMediaList(i)
|
m = _TempMediaList(i)
|
||||||
If _TempMediaList(i).Type = UTypes.VideoPre Then
|
If _TempMediaList(i).Type = UTypes.VideoPre Then
|
||||||
If m.URL.Contains($"{SiteGfycatKey}.com") Then
|
Do
|
||||||
r = Gfycat.Envir.GetVideo(m.URL)
|
_repeatForRedgifs = False
|
||||||
ElseIf m.URL.Contains(SiteRedGifsKey) Then
|
If m.URL.Contains($"{SiteGfycatKey}.com") Then
|
||||||
m2 = RedGifs.UserData.GetDataFromUrlId(m.URL, False, RedGifsResponser, RedGifsHost)
|
r = Gfycat.Envir.GetVideo(m.URL)
|
||||||
If m2.State = UStates.Missing Then
|
If Not r.IsEmptyString AndAlso r.Contains("redgifs.com") Then m.URL = r : _repeatForRedgifs = True
|
||||||
m.State = UStates.Missing
|
ElseIf m.URL.Contains(SiteRedGifsKey) Then
|
||||||
_ContentList.Add(m)
|
m2 = RedGifs.UserData.GetDataFromUrlId(m.URL, False, RedGifsResponser, RedGifsHost)
|
||||||
_TempMediaList.RemoveAt(i)
|
If m2.State = UStates.Missing Then
|
||||||
ElseIf m2.State = RedGifs.UserData.DataGone Then
|
m.State = UStates.Missing
|
||||||
_TempMediaList.RemoveAt(i)
|
_ContentList.Add(m)
|
||||||
|
_TempMediaList.RemoveAt(i)
|
||||||
|
ElseIf m2.State = RedGifs.UserData.DataGone Then
|
||||||
|
_TempMediaList.RemoveAt(i)
|
||||||
|
Else
|
||||||
|
m2.URL_BASE = m.URL
|
||||||
|
m2.Post = m.Post
|
||||||
|
_TempMediaList(i) = m2
|
||||||
|
End If
|
||||||
|
Continue For
|
||||||
Else
|
Else
|
||||||
m2.URL_BASE = m.URL
|
r = Responser.GetResponse(m.URL,, e)
|
||||||
m2.Post = m.Post
|
|
||||||
_TempMediaList(i) = m2
|
|
||||||
End If
|
End If
|
||||||
Continue For
|
Loop While _repeatForRedgifs
|
||||||
Else
|
|
||||||
r = Responser.GetResponse(m.URL,, e)
|
|
||||||
End If
|
|
||||||
Else
|
Else
|
||||||
r = m.URL
|
r = m.URL
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ Namespace API.TikTok
|
|||||||
Return UserData.GetVideoInfo(URL, Responser)
|
Return UserData.GetVideoInfo(URL, Responser)
|
||||||
End Function
|
End Function
|
||||||
Friend Overrides Function BaseAuthExists() As Boolean
|
Friend Overrides Function BaseAuthExists() As Boolean
|
||||||
Return If(Responser.Cookies?.Count, 0) > 0
|
Return Responser.CookiesExists
|
||||||
End Function
|
End Function
|
||||||
End Class
|
End Class
|
||||||
End Namespace
|
End Namespace
|
||||||
@@ -12,6 +12,7 @@ Imports PersonalUtilities.Functions.RegularExpressions
|
|||||||
Namespace API.Twitter
|
Namespace API.Twitter
|
||||||
Friend Module Declarations
|
Friend Module Declarations
|
||||||
Friend Const TwitterSite As String = "Twitter"
|
Friend Const TwitterSite As String = "Twitter"
|
||||||
|
Friend Const TwitterSiteKey As String = "AndyProgram_Twitter"
|
||||||
Friend ReadOnly DateProvider As ADateTime = GetDateProvider()
|
Friend ReadOnly DateProvider As ADateTime = GetDateProvider()
|
||||||
Friend ReadOnly VideoNode As NodeParams() = {New NodeParams("video_info", True, True, True, True, 10)}
|
Friend ReadOnly VideoNode As NodeParams() = {New NodeParams("video_info", True, True, True, True, 10)}
|
||||||
Friend ReadOnly VideoSizeRegEx As RParams = RParams.DMS("\d+x(\d+)", 1, EDP.ReturnValue)
|
Friend ReadOnly VideoSizeRegEx As RParams = RParams.DMS("\d+x(\d+)", 1, EDP.ReturnValue)
|
||||||
|
|||||||
27
SCrawler/API/Twitter/EditorExchangeOptions.vb
Normal file
27
SCrawler/API/Twitter/EditorExchangeOptions.vb
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
' Copyright (C) 2023 Andy https://github.com/AAndyProgram
|
||||||
|
' 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 API.Twitter
|
||||||
|
Friend Class EditorExchangeOptions
|
||||||
|
Friend Property GifsDownload As Boolean
|
||||||
|
Friend Property GifsSpecialFolder As String
|
||||||
|
Friend Property GifsPrefix As String
|
||||||
|
Friend Sub New()
|
||||||
|
End Sub
|
||||||
|
Friend Sub New(ByVal s As SiteSettings)
|
||||||
|
GifsDownload = s.GifsDownload.Value
|
||||||
|
GifsSpecialFolder = s.GifsSpecialFolder.Value
|
||||||
|
GifsPrefix = s.GifsPrefix.Value
|
||||||
|
End Sub
|
||||||
|
Friend Sub New(ByVal u As UserData)
|
||||||
|
GifsDownload = u.GifsDownload
|
||||||
|
GifsSpecialFolder = u.GifsSpecialFolder
|
||||||
|
GifsPrefix = u.GifsPrefix
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
End Namespace
|
||||||
148
SCrawler/API/Twitter/OptionsForm.Designer.vb
generated
Normal file
148
SCrawler/API/Twitter/OptionsForm.Designer.vb
generated
Normal file
@@ -0,0 +1,148 @@
|
|||||||
|
' Copyright (C) 2023 Andy https://github.com/AAndyProgram
|
||||||
|
' 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 API.Twitter
|
||||||
|
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
||||||
|
Partial Friend Class OptionsForm : 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 ActionButton1 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||||
|
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(OptionsForm))
|
||||||
|
Dim ActionButton2 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||||
|
Me.CH_DOWN_GIFS = New System.Windows.Forms.CheckBox()
|
||||||
|
Me.TXT_GIF_FOLDER = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||||
|
Me.TXT_GIF_PREFIX = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||||
|
CONTAINER_MAIN = New System.Windows.Forms.ToolStripContainer()
|
||||||
|
TP_MAIN = New System.Windows.Forms.TableLayoutPanel()
|
||||||
|
CONTAINER_MAIN.ContentPanel.SuspendLayout()
|
||||||
|
CONTAINER_MAIN.SuspendLayout()
|
||||||
|
TP_MAIN.SuspendLayout()
|
||||||
|
CType(Me.TXT_GIF_FOLDER, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
CType(Me.TXT_GIF_PREFIX, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
Me.SuspendLayout()
|
||||||
|
'
|
||||||
|
'CONTAINER_MAIN
|
||||||
|
'
|
||||||
|
'
|
||||||
|
'CONTAINER_MAIN.ContentPanel
|
||||||
|
'
|
||||||
|
CONTAINER_MAIN.ContentPanel.Controls.Add(TP_MAIN)
|
||||||
|
CONTAINER_MAIN.ContentPanel.Size = New System.Drawing.Size(304, 84)
|
||||||
|
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(304, 109)
|
||||||
|
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.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
|
||||||
|
TP_MAIN.Controls.Add(Me.CH_DOWN_GIFS, 0, 0)
|
||||||
|
TP_MAIN.Controls.Add(Me.TXT_GIF_FOLDER, 0, 1)
|
||||||
|
TP_MAIN.Controls.Add(Me.TXT_GIF_PREFIX, 0, 2)
|
||||||
|
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 = 4
|
||||||
|
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.Absolute, 28.0!))
|
||||||
|
TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||||
|
TP_MAIN.Size = New System.Drawing.Size(304, 84)
|
||||||
|
TP_MAIN.TabIndex = 0
|
||||||
|
'
|
||||||
|
'CH_DOWN_GIFS
|
||||||
|
'
|
||||||
|
Me.CH_DOWN_GIFS.AutoSize = True
|
||||||
|
Me.CH_DOWN_GIFS.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.CH_DOWN_GIFS.Location = New System.Drawing.Point(4, 4)
|
||||||
|
Me.CH_DOWN_GIFS.Name = "CH_DOWN_GIFS"
|
||||||
|
Me.CH_DOWN_GIFS.Padding = New System.Windows.Forms.Padding(100, 0, 0, 0)
|
||||||
|
Me.CH_DOWN_GIFS.Size = New System.Drawing.Size(296, 19)
|
||||||
|
Me.CH_DOWN_GIFS.TabIndex = 0
|
||||||
|
Me.CH_DOWN_GIFS.Text = "Download GIFs"
|
||||||
|
Me.CH_DOWN_GIFS.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
|
'TXT_GIF_FOLDER
|
||||||
|
'
|
||||||
|
ActionButton1.BackgroundImage = CType(resources.GetObject("ActionButton1.BackgroundImage"), System.Drawing.Image)
|
||||||
|
ActionButton1.Name = "Clear"
|
||||||
|
ActionButton1.Tag = PersonalUtilities.Forms.Controls.Base.ActionButton.DefaultButtons.Clear
|
||||||
|
Me.TXT_GIF_FOLDER.Buttons.Add(ActionButton1)
|
||||||
|
Me.TXT_GIF_FOLDER.CaptionText = "GIFs special folder"
|
||||||
|
Me.TXT_GIF_FOLDER.CaptionToolTipText = "Put the GIFs in a special folder"
|
||||||
|
Me.TXT_GIF_FOLDER.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.TXT_GIF_FOLDER.Location = New System.Drawing.Point(4, 30)
|
||||||
|
Me.TXT_GIF_FOLDER.Name = "TXT_GIF_FOLDER"
|
||||||
|
Me.TXT_GIF_FOLDER.Size = New System.Drawing.Size(296, 22)
|
||||||
|
Me.TXT_GIF_FOLDER.TabIndex = 1
|
||||||
|
'
|
||||||
|
'TXT_GIF_PREFIX
|
||||||
|
'
|
||||||
|
ActionButton2.BackgroundImage = CType(resources.GetObject("ActionButton2.BackgroundImage"), System.Drawing.Image)
|
||||||
|
ActionButton2.Name = "Clear"
|
||||||
|
ActionButton2.Tag = PersonalUtilities.Forms.Controls.Base.ActionButton.DefaultButtons.Clear
|
||||||
|
Me.TXT_GIF_PREFIX.Buttons.Add(ActionButton2)
|
||||||
|
Me.TXT_GIF_PREFIX.CaptionText = "GIF prefix"
|
||||||
|
Me.TXT_GIF_PREFIX.CaptionToolTipText = "This prefix will be added to the beginning of the filename"
|
||||||
|
Me.TXT_GIF_PREFIX.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.TXT_GIF_PREFIX.Location = New System.Drawing.Point(4, 59)
|
||||||
|
Me.TXT_GIF_PREFIX.Name = "TXT_GIF_PREFIX"
|
||||||
|
Me.TXT_GIF_PREFIX.Size = New System.Drawing.Size(296, 22)
|
||||||
|
Me.TXT_GIF_PREFIX.TabIndex = 2
|
||||||
|
'
|
||||||
|
'OptionsForm
|
||||||
|
'
|
||||||
|
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||||
|
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||||
|
Me.ClientSize = New System.Drawing.Size(304, 109)
|
||||||
|
Me.Controls.Add(CONTAINER_MAIN)
|
||||||
|
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
|
||||||
|
Me.Icon = Global.SCrawler.My.Resources.SiteResources.TwitterIcon_32
|
||||||
|
Me.MaximizeBox = False
|
||||||
|
Me.MaximumSize = New System.Drawing.Size(320, 148)
|
||||||
|
Me.MinimizeBox = False
|
||||||
|
Me.MinimumSize = New System.Drawing.Size(320, 148)
|
||||||
|
Me.Name = "OptionsForm"
|
||||||
|
Me.ShowInTaskbar = False
|
||||||
|
Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide
|
||||||
|
Me.Text = "Options"
|
||||||
|
CONTAINER_MAIN.ContentPanel.ResumeLayout(False)
|
||||||
|
CONTAINER_MAIN.ResumeLayout(False)
|
||||||
|
CONTAINER_MAIN.PerformLayout()
|
||||||
|
TP_MAIN.ResumeLayout(False)
|
||||||
|
TP_MAIN.PerformLayout()
|
||||||
|
CType(Me.TXT_GIF_FOLDER, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(Me.TXT_GIF_PREFIX, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
Me.ResumeLayout(False)
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
Private WithEvents CH_DOWN_GIFS As CheckBox
|
||||||
|
Private WithEvents TXT_GIF_FOLDER As PersonalUtilities.Forms.Controls.TextBoxExtended
|
||||||
|
Private WithEvents TXT_GIF_PREFIX As PersonalUtilities.Forms.Controls.TextBoxExtended
|
||||||
|
End Class
|
||||||
|
End Namespace
|
||||||
143
SCrawler/API/Twitter/OptionsForm.resx
Normal file
143
SCrawler/API/Twitter/OptionsForm.resx
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
<?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>
|
||||||
|
<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">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
|
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
||||||
|
tbbB43rK5xSAQq1VYFtmeQBoqZTSreVZvgTknM8yyyjA/qodsDF9gspD2Bj6B+DH+NqzhQQAG+POMnSX
|
||||||
|
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="ActionButton2.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>
|
||||||
|
</root>
|
||||||
77
SCrawler/API/Twitter/OptionsForm.vb
Normal file
77
SCrawler/API/Twitter/OptionsForm.vb
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
' Copyright (C) 2023 Andy https://github.com/AAndyProgram
|
||||||
|
' 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 SCrawler.Plugin.Attributes
|
||||||
|
Imports PersonalUtilities.Forms
|
||||||
|
Imports PersonalUtilities.Forms.Controls
|
||||||
|
Namespace API.Twitter
|
||||||
|
Friend Class OptionsForm
|
||||||
|
Private WithEvents MyDefs As DefaultFormOptions
|
||||||
|
Private ReadOnly Property MyExchangeOptions As EditorExchangeOptions
|
||||||
|
Private ReadOnly MyGifTextProvider As SiteSettings.GifStringProvider
|
||||||
|
Friend Sub New(ByRef ExchangeOptions As EditorExchangeOptions)
|
||||||
|
InitializeComponent()
|
||||||
|
MyExchangeOptions = ExchangeOptions
|
||||||
|
MyGifTextProvider = New SiteSettings.GifStringProvider
|
||||||
|
MyDefs = New DefaultFormOptions(Me, Settings.Design)
|
||||||
|
End Sub
|
||||||
|
Private Sub OptionsForm_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||||
|
With MyDefs
|
||||||
|
.MyViewInitialize(True)
|
||||||
|
.AddOkCancelToolbar()
|
||||||
|
With MyExchangeOptions
|
||||||
|
CH_DOWN_GIFS.Checked = .GifsDownload
|
||||||
|
TXT_GIF_FOLDER.Text = .GifsSpecialFolder
|
||||||
|
TXT_GIF_FOLDER.Tag = NameOf(SiteSettings.GifsSpecialFolder)
|
||||||
|
TXT_GIF_PREFIX.Text = .GifsPrefix
|
||||||
|
TXT_GIF_PREFIX.Tag = NameOf(SiteSettings.GifsPrefix)
|
||||||
|
|
||||||
|
Try
|
||||||
|
Dim p As PropertyOption
|
||||||
|
With Settings(TwitterSiteKey)
|
||||||
|
p = .PropList.Find(Function(pp) pp.Name = TXT_GIF_FOLDER.Tag).Options
|
||||||
|
If Not p Is Nothing Then
|
||||||
|
TXT_GIF_FOLDER.CaptionText = p.ControlText
|
||||||
|
TXT_GIF_FOLDER.CaptionToolTipText = p.ControlToolTip
|
||||||
|
TXT_GIF_FOLDER.CaptionToolTipEnabled = Not TXT_GIF_FOLDER.CaptionToolTipText.IsEmptyString
|
||||||
|
End If
|
||||||
|
|
||||||
|
p = .PropList.Find(Function(pp) pp.Name = TXT_GIF_PREFIX.Tag).Options
|
||||||
|
If Not p Is Nothing Then
|
||||||
|
TXT_GIF_PREFIX.CaptionText = p.ControlText
|
||||||
|
TXT_GIF_PREFIX.CaptionToolTipText = p.ControlToolTip
|
||||||
|
TXT_GIF_PREFIX.CaptionToolTipEnabled = Not TXT_GIF_PREFIX.CaptionToolTipText.IsEmptyString
|
||||||
|
End If
|
||||||
|
End With
|
||||||
|
Catch
|
||||||
|
End Try
|
||||||
|
End With
|
||||||
|
.EndLoaderOperations()
|
||||||
|
End With
|
||||||
|
End Sub
|
||||||
|
Private Sub MyDefs_ButtonOkClick(ByVal Sender As Object, ByVal e As KeyHandleEventArgs) Handles MyDefs.ButtonOkClick
|
||||||
|
With MyExchangeOptions
|
||||||
|
.GifsDownload = CH_DOWN_GIFS.Checked
|
||||||
|
.GifsSpecialFolder = TXT_GIF_FOLDER.Text
|
||||||
|
.GifsPrefix = TXT_GIF_PREFIX.Text
|
||||||
|
End With
|
||||||
|
MyDefs.CloseForm()
|
||||||
|
End Sub
|
||||||
|
Private Sub TXT_ActionOnTextChanged(ByVal Sender As TextBoxExtended, ByVal e As EventArgs) Handles TXT_GIF_FOLDER.ActionOnTextChanged,
|
||||||
|
TXT_GIF_PREFIX.ActionOnTextChanged
|
||||||
|
If Not MyDefs.Initializing Then
|
||||||
|
With Sender
|
||||||
|
MyGifTextProvider.PropertyName = .Tag
|
||||||
|
Dim s% = .SelectionStart
|
||||||
|
Dim t$ = AConvert(Of String)(.Text, String.Empty, MyGifTextProvider)
|
||||||
|
If Not .Text = t Then .Text = t : .Select(s, 0)
|
||||||
|
End With
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
End Namespace
|
||||||
@@ -13,10 +13,11 @@ Imports PersonalUtilities.Functions.RegularExpressions
|
|||||||
Imports PersonalUtilities.Tools.Web.Clients
|
Imports PersonalUtilities.Tools.Web.Clients
|
||||||
Imports PersonalUtilities.Tools.Web.Cookies
|
Imports PersonalUtilities.Tools.Web.Cookies
|
||||||
Namespace API.Twitter
|
Namespace API.Twitter
|
||||||
<Manifest("AndyProgram_Twitter"), SavedPosts>
|
<Manifest(TwitterSiteKey), SavedPosts, SpecialForm(False)>
|
||||||
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"
|
||||||
|
#Region "Declarations"
|
||||||
Friend Overrides ReadOnly Property Icon As Icon
|
Friend Overrides ReadOnly Property Icon As Icon
|
||||||
Get
|
Get
|
||||||
Return My.Resources.SiteResources.TwitterIcon_32
|
Return My.Resources.SiteResources.TwitterIcon_32
|
||||||
@@ -27,14 +28,50 @@ Namespace API.Twitter
|
|||||||
Return My.Resources.SiteResources.TwitterPic_400
|
Return My.Resources.SiteResources.TwitterPic_400
|
||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
<PropertyOption(AllowNull:=False, ControlText:="Authorization",
|
#Region "Auth"
|
||||||
|
<PropertyOption(AllowNull:=False, IsAuth:=True, ControlText:="Authorization",
|
||||||
ControlToolTip:="Set authorization from [authorization] response header. This field must start from [Bearer] key word")>
|
ControlToolTip:="Set authorization from [authorization] response header. This field must start from [Bearer] key word")>
|
||||||
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, IsAuth:=True, 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", ControlToolTip:="Personal profile username"), PXML>
|
<PropertyOption(IsAuth:=True, ControlText:="Saved posts user", ControlToolTip:="Personal profile username"), PXML>
|
||||||
Friend ReadOnly Property SavedPostsUserName As PropertyValue
|
Friend ReadOnly Property SavedPostsUserName As PropertyValue
|
||||||
|
#End Region
|
||||||
|
#Region "Other properties"
|
||||||
|
<PropertyOption(IsAuth:=False, ControlText:="Download GIFs"), PXML>
|
||||||
|
Friend ReadOnly Property GifsDownload As PropertyValue
|
||||||
|
<PropertyOption(IsAuth:=False, ControlText:="GIFs special folder",
|
||||||
|
ControlToolTip:="Put the GIFs in a special folder" & vbCr &
|
||||||
|
"This is a folder name, not an absolute path." & vbCr &
|
||||||
|
"This folder(s) will be created relative to the user's root folder." & vbCr &
|
||||||
|
"Examples:" & vbCr & "SomeFolderName" & vbCr & "SomeFolderName\SomeFolderName2"), PXML>
|
||||||
|
Friend ReadOnly Property GifsSpecialFolder As PropertyValue
|
||||||
|
<PropertyOption(IsAuth:=False, ControlText:="GIF prefix", ControlToolTip:="This prefix will be added to the beginning of the filename"), PXML>
|
||||||
|
Friend ReadOnly Property GifsPrefix As PropertyValue
|
||||||
|
<Provider(NameOf(GifsSpecialFolder), Interaction:=True), Provider(NameOf(GifsPrefix), Interaction:=True)>
|
||||||
|
Private ReadOnly Property GifStringChecker As IFormatProvider
|
||||||
|
Friend Class GifStringProvider : Implements ICustomProvider, IPropertyProvider
|
||||||
|
Friend Property PropertyName As String Implements IPropertyProvider.PropertyName
|
||||||
|
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
|
||||||
|
Dim v$ = AConvert(Of String)(Value, String.Empty)
|
||||||
|
If Not v.IsEmptyString Then
|
||||||
|
If PropertyName = NameOf(GifsPrefix) Then
|
||||||
|
v = v.StringRemoveWinForbiddenSymbols
|
||||||
|
Else
|
||||||
|
v = v.StringReplaceSymbols(GetWinForbiddenSymbols.ToList.ListWithRemove("\").ToArray, String.Empty, EDP.ReturnValue)
|
||||||
|
v = v.StringTrim("\")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Return v
|
||||||
|
End Function
|
||||||
|
Private Function GetFormat(ByVal FormatType As Type) As Object Implements IFormatProvider.GetFormat
|
||||||
|
Throw New NotImplementedException("[GetFormat] is not available in the context of [TimersChecker]")
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
|
#End Region
|
||||||
Friend Overrides ReadOnly Property Responser As Responser
|
Friend Overrides ReadOnly Property Responser As Responser
|
||||||
|
#End Region
|
||||||
Friend Sub New()
|
Friend Sub New()
|
||||||
MyBase.New(TwitterSite)
|
MyBase.New(TwitterSite)
|
||||||
Responser = New Responser($"{SettingsFolderName}\Responser_{Site}.xml")
|
Responser = New Responser($"{SettingsFolderName}\Responser_{Site}.xml")
|
||||||
@@ -44,15 +81,17 @@ Namespace API.Twitter
|
|||||||
|
|
||||||
With Responser
|
With Responser
|
||||||
If .File.Exists Then
|
If .File.Exists Then
|
||||||
|
Dim b As Boolean = .CookiesDomain.IsEmptyString
|
||||||
If EncryptCookies.CookiesEncrypted Then .CookiesEncryptKey = SettingsCLS.CookieEncryptKey
|
If EncryptCookies.CookiesEncrypted Then .CookiesEncryptKey = SettingsCLS.CookieEncryptKey
|
||||||
.LoadSettings()
|
.LoadSettings()
|
||||||
a = .Headers.Value(Header_Authorization)
|
a = .Headers.Value(Header_Authorization)
|
||||||
t = .Headers.Value(Header_Token)
|
t = .Headers.Value(Header_Token)
|
||||||
|
.CookiesDomain = "twitter.com"
|
||||||
|
If b Then .SaveSettings()
|
||||||
Else
|
Else
|
||||||
.ContentType = "application/json"
|
.ContentType = "application/json"
|
||||||
.Accept = "*/*"
|
.Accept = "*/*"
|
||||||
.CookiesDomain = "twitter.com"
|
.CookiesDomain = "twitter.com"
|
||||||
.Cookies = New CookieKeeper(.CookiesDomain) With {.EncryptKey = SettingsCLS.CookieEncryptKey}
|
|
||||||
.CookiesEncryptKey = SettingsCLS.CookieEncryptKey
|
.CookiesEncryptKey = SettingsCLS.CookieEncryptKey
|
||||||
.Decoders.Add(SymbolsConverter.Converters.Unicode)
|
.Decoders.Add(SymbolsConverter.Converters.Unicode)
|
||||||
.Headers.Add("sec-ch-ua", " Not;A Brand"";v=""99"", ""Google Chrome"";v=""91"", ""Chromium"";v=""91""")
|
.Headers.Add("sec-ch-ua", " Not;A Brand"";v=""99"", ""Google Chrome"";v=""91"", ""Chromium"";v=""91""")
|
||||||
@@ -72,6 +111,11 @@ Namespace API.Twitter
|
|||||||
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))
|
SavedPostsUserName = New PropertyValue(String.Empty, GetType(String))
|
||||||
|
|
||||||
|
GifsDownload = New PropertyValue(True)
|
||||||
|
GifsSpecialFolder = New PropertyValue(String.Empty, GetType(String))
|
||||||
|
GifsPrefix = New PropertyValue("GIF_")
|
||||||
|
GifStringChecker = New GifStringProvider
|
||||||
|
|
||||||
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}"
|
||||||
ImageVideoContains = "twitter"
|
ImageVideoContains = "twitter"
|
||||||
@@ -104,7 +148,13 @@ Namespace API.Twitter
|
|||||||
Return $"https://twitter.com/{User.Name}/status/{Media.Post.ID}"
|
Return $"https://twitter.com/{User.Name}/status/{Media.Post.ID}"
|
||||||
End Function
|
End Function
|
||||||
Friend Overrides Function BaseAuthExists() As Boolean
|
Friend Overrides Function BaseAuthExists() As Boolean
|
||||||
Return If(Responser.Cookies?.Count, 0) > 0 And ACheck(Token.Value) And ACheck(Auth.Value)
|
Return Responser.CookiesExists And ACheck(Token.Value) And ACheck(Auth.Value)
|
||||||
End Function
|
End Function
|
||||||
|
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 OpenForm Then
|
||||||
|
Using f As New OptionsForm(Options) : f.ShowDialog() : End Using
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
End Namespace
|
End Namespace
|
||||||
@@ -17,15 +17,50 @@ Imports UStates = SCrawler.API.Base.UserMedia.States
|
|||||||
Namespace API.Twitter
|
Namespace API.Twitter
|
||||||
Friend Class UserData : Inherits UserDataBase
|
Friend Class UserData : Inherits UserDataBase
|
||||||
Private Const SinglePostUrl As String = "https://api.twitter.com/1.1/statuses/show.json?id={0}&tweet_mode=extended"
|
Private Const SinglePostUrl As String = "https://api.twitter.com/1.1/statuses/show.json?id={0}&tweet_mode=extended"
|
||||||
|
#Region "XML names"
|
||||||
|
Private Const Name_GifsDownload As String = "GifsDownload"
|
||||||
|
Private Const Name_GifsSpecialFolder As String = "GifsSpecialFolder"
|
||||||
|
Private Const Name_GifsPrefix As String = "GifsPrefix"
|
||||||
|
#End Region
|
||||||
#Region "Declarations"
|
#Region "Declarations"
|
||||||
|
Friend Property GifsDownload As Boolean
|
||||||
|
Friend Property GifsSpecialFolder As String
|
||||||
|
Friend Property GifsPrefix As String
|
||||||
Private ReadOnly _DataNames As List(Of String)
|
Private ReadOnly _DataNames As List(Of String)
|
||||||
Protected Overrides Sub LoadUserInformation_OptionalFields(ByRef Container As XmlFile, ByVal Loading As Boolean)
|
#End Region
|
||||||
|
#Region "Exchange options"
|
||||||
|
Friend Overrides Function ExchangeOptionsGet() As Object
|
||||||
|
Return New EditorExchangeOptions(Me)
|
||||||
|
End Function
|
||||||
|
Friend Overrides Sub ExchangeOptionsSet(ByVal Obj As Object)
|
||||||
|
If Not Obj Is Nothing AndAlso TypeOf Obj Is EditorExchangeOptions Then
|
||||||
|
With DirectCast(Obj, EditorExchangeOptions)
|
||||||
|
GifsDownload = .GifsDownload
|
||||||
|
GifsSpecialFolder = .GifsSpecialFolder
|
||||||
|
GifsPrefix = .GifsPrefix
|
||||||
|
End With
|
||||||
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
#End Region
|
#End Region
|
||||||
#Region "Initializer"
|
#Region "Initializer, loader"
|
||||||
Friend Sub New()
|
Friend Sub New()
|
||||||
_DataNames = New List(Of String)
|
_DataNames = New List(Of String)
|
||||||
End Sub
|
End Sub
|
||||||
|
Protected Overrides Sub LoadUserInformation_OptionalFields(ByRef Container As XmlFile, ByVal Loading As Boolean)
|
||||||
|
If Loading Then
|
||||||
|
GifsDownload = Container.Value(Name_GifsDownload).FromXML(Of Boolean)(True)
|
||||||
|
GifsSpecialFolder = Container.Value(Name_GifsSpecialFolder)
|
||||||
|
If Not Container.Contains(Name_GifsPrefix) Then
|
||||||
|
GifsPrefix = "GIF_"
|
||||||
|
Else
|
||||||
|
GifsPrefix = Container.Value(Name_GifsPrefix)
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Container.Add(Name_GifsDownload, GifsDownload.BoolToInteger)
|
||||||
|
Container.Add(Name_GifsSpecialFolder, GifsSpecialFolder)
|
||||||
|
Container.Add(Name_GifsPrefix, GifsPrefix)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
#End Region
|
#End Region
|
||||||
#Region "Download functions"
|
#Region "Download functions"
|
||||||
Protected Overrides Sub DownloadDataF(ByVal Token As CancellationToken)
|
Protected Overrides Sub DownloadDataF(ByVal Token As CancellationToken)
|
||||||
@@ -182,10 +217,11 @@ Namespace API.Twitter
|
|||||||
url = .Value("url")
|
url = .Value("url")
|
||||||
ff = UrlFile(url)
|
ff = UrlFile(url)
|
||||||
If Not ff.IsEmptyString Then
|
If Not ff.IsEmptyString Then
|
||||||
If Not _DataNames.Contains(ff) Then
|
If GifsDownload And Not _DataNames.Contains(ff) Then
|
||||||
m = MediaFromData(url, PostID, PostDate,, State)
|
m = MediaFromData(url, PostID, PostDate,, State)
|
||||||
f = m.File
|
f = m.File
|
||||||
If Not f.IsEmptyString Then f.Name = $"GIF_{f.Name}" : m.File = f
|
If Not f.IsEmptyString And Not GifsPrefix.IsEmptyString Then f.Name = $"{GifsPrefix}{f.Name}" : m.File = f
|
||||||
|
If Not GifsSpecialFolder.IsEmptyString Then m.SpecialFolder = $"{GifsSpecialFolder}*"
|
||||||
_TempMediaList.ListAddValue(m, LNC)
|
_TempMediaList.ListAddValue(m, LNC)
|
||||||
End If
|
End If
|
||||||
Return True
|
Return True
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ Namespace API.XVIDEOS
|
|||||||
Initialized = True
|
Initialized = True
|
||||||
DomainContainer.EndInit(Me)
|
DomainContainer.EndInit(Me)
|
||||||
DomainsTemp.ListAddList(Domains)
|
DomainsTemp.ListAddList(Domains)
|
||||||
|
MyBase.EndInit()
|
||||||
End Sub
|
End Sub
|
||||||
#End Region
|
#End Region
|
||||||
#Region "Edit"
|
#Region "Edit"
|
||||||
@@ -94,7 +95,7 @@ Namespace API.XVIDEOS
|
|||||||
Friend Overrides Function Available(ByVal What As ISiteSettings.Download, ByVal Silent As Boolean) As Boolean
|
Friend Overrides Function Available(ByVal What As ISiteSettings.Download, ByVal Silent As Boolean) As Boolean
|
||||||
If Settings.UseM3U8 Then
|
If Settings.UseM3U8 Then
|
||||||
If What = ISiteSettings.Download.SavedPosts Then
|
If What = ISiteSettings.Download.SavedPosts Then
|
||||||
Return ACheck(SavedVideosPlaylist.Value) And If(Responser.Cookies?.Count, 0) > 0
|
Return ACheck(SavedVideosPlaylist.Value) And Responser.CookiesExists
|
||||||
Else
|
Else
|
||||||
Return True
|
Return True
|
||||||
End If
|
End If
|
||||||
|
|||||||
179
SCrawler/Editors/GlobalSettingsForm.Designer.vb
generated
179
SCrawler/Editors/GlobalSettingsForm.Designer.vb
generated
@@ -24,14 +24,16 @@ Namespace Editors
|
|||||||
Private Sub InitializeComponent()
|
Private Sub InitializeComponent()
|
||||||
Me.components = New System.ComponentModel.Container()
|
Me.components = New System.ComponentModel.Container()
|
||||||
Dim TP_BASIS As System.Windows.Forms.TableLayoutPanel
|
Dim TP_BASIS As System.Windows.Forms.TableLayoutPanel
|
||||||
Dim ActionButton1 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
Dim ActionButton13 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(GlobalSettingsForm))
|
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(GlobalSettingsForm))
|
||||||
Dim ActionButton2 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
Dim ActionButton14 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||||
Dim TP_IMAGES As System.Windows.Forms.TableLayoutPanel
|
Dim TP_IMAGES As System.Windows.Forms.TableLayoutPanel
|
||||||
Dim ActionButton3 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
Dim ActionButton15 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 ActionButton16 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 ActionButton17 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 ActionButton18 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||||
|
Dim ActionButton19 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||||
|
Dim ActionButton20 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||||
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
|
||||||
@@ -44,14 +46,14 @@ Namespace Editors
|
|||||||
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 TAB_BEHAVIOR As System.Windows.Forms.TabPage
|
||||||
Dim TP_BEHAVIOR As System.Windows.Forms.TableLayoutPanel
|
Dim TP_BEHAVIOR As System.Windows.Forms.TableLayoutPanel
|
||||||
Dim ActionButton7 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
Dim ActionButton21 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 ActionButton22 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||||
Dim TP_OPEN_INFO As System.Windows.Forms.TableLayoutPanel
|
Dim TP_OPEN_INFO As System.Windows.Forms.TableLayoutPanel
|
||||||
Dim TP_OPEN_PROGRESS As System.Windows.Forms.TableLayoutPanel
|
Dim TP_OPEN_PROGRESS As System.Windows.Forms.TableLayoutPanel
|
||||||
Dim TAB_DOWN As System.Windows.Forms.TabPage
|
Dim TAB_DOWN As System.Windows.Forms.TabPage
|
||||||
Dim TP_DOWNLOADING As System.Windows.Forms.TableLayoutPanel
|
Dim TP_DOWNLOADING As System.Windows.Forms.TableLayoutPanel
|
||||||
Dim ActionButton9 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
Dim ActionButton23 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 ActionButton24 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||||
Dim TP_MISSING_DATA As System.Windows.Forms.TableLayoutPanel
|
Dim TP_MISSING_DATA As System.Windows.Forms.TableLayoutPanel
|
||||||
Dim TAB_FEED As System.Windows.Forms.TabPage
|
Dim TAB_FEED As System.Windows.Forms.TabPage
|
||||||
Dim TP_FEED As System.Windows.Forms.TableLayoutPanel
|
Dim TP_FEED As System.Windows.Forms.TableLayoutPanel
|
||||||
@@ -68,6 +70,7 @@ Namespace Editors
|
|||||||
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_SHOW_GROUPS = New System.Windows.Forms.CheckBox()
|
||||||
Me.CH_USERS_GROUPING = New System.Windows.Forms.CheckBox()
|
Me.CH_USERS_GROUPING = New System.Windows.Forms.CheckBox()
|
||||||
|
Me.TXT_USER_AGENT = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||||
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()
|
||||||
@@ -149,6 +152,7 @@ Namespace Editors
|
|||||||
CType(Me.TXT_MAX_JOBS_USERS, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.TXT_MAX_JOBS_USERS, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.TXT_MAX_JOBS_CHANNELS, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.TXT_MAX_JOBS_CHANNELS, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.TXT_IMGUR_CLIENT_ID, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.TXT_IMGUR_CLIENT_ID, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
CType(Me.TXT_USER_AGENT, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
TP_FILE_NAME.SuspendLayout()
|
TP_FILE_NAME.SuspendLayout()
|
||||||
TP_FILE_PATTERNS.SuspendLayout()
|
TP_FILE_PATTERNS.SuspendLayout()
|
||||||
TP_CHANNELS_IMGS.SuspendLayout()
|
TP_CHANNELS_IMGS.SuspendLayout()
|
||||||
@@ -194,13 +198,14 @@ Namespace Editors
|
|||||||
TP_BASIS.Controls.Add(Me.TXT_MAX_JOBS_USERS, 0, 3)
|
TP_BASIS.Controls.Add(Me.TXT_MAX_JOBS_USERS, 0, 3)
|
||||||
TP_BASIS.Controls.Add(Me.TXT_MAX_JOBS_CHANNELS, 0, 4)
|
TP_BASIS.Controls.Add(Me.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, 7)
|
||||||
TP_BASIS.Controls.Add(Me.CH_SHOW_GROUPS, 0, 7)
|
TP_BASIS.Controls.Add(Me.CH_SHOW_GROUPS, 0, 8)
|
||||||
TP_BASIS.Controls.Add(Me.CH_USERS_GROUPING, 0, 8)
|
TP_BASIS.Controls.Add(Me.CH_USERS_GROUPING, 0, 9)
|
||||||
|
TP_BASIS.Controls.Add(Me.TXT_USER_AGENT, 0, 6)
|
||||||
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 = 10
|
TP_BASIS.RowCount = 11
|
||||||
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!))
|
||||||
@@ -208,20 +213,21 @@ Namespace Editors
|
|||||||
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, 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, 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.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, 278)
|
TP_BASIS.Size = New System.Drawing.Size(570, 279)
|
||||||
TP_BASIS.TabIndex = 0
|
TP_BASIS.TabIndex = 0
|
||||||
'
|
'
|
||||||
'TXT_GLOBAL_PATH
|
'TXT_GLOBAL_PATH
|
||||||
'
|
'
|
||||||
ActionButton1.BackgroundImage = CType(resources.GetObject("ActionButton1.BackgroundImage"), System.Drawing.Image)
|
ActionButton13.BackgroundImage = CType(resources.GetObject("ActionButton13.BackgroundImage"), System.Drawing.Image)
|
||||||
ActionButton1.Name = "Open"
|
ActionButton13.Name = "Open"
|
||||||
ActionButton2.BackgroundImage = CType(resources.GetObject("ActionButton2.BackgroundImage"), System.Drawing.Image)
|
ActionButton14.BackgroundImage = CType(resources.GetObject("ActionButton14.BackgroundImage"), System.Drawing.Image)
|
||||||
ActionButton2.Name = "Clear"
|
ActionButton14.Name = "Clear"
|
||||||
Me.TXT_GLOBAL_PATH.Buttons.Add(ActionButton1)
|
Me.TXT_GLOBAL_PATH.Buttons.Add(ActionButton13)
|
||||||
Me.TXT_GLOBAL_PATH.Buttons.Add(ActionButton2)
|
Me.TXT_GLOBAL_PATH.Buttons.Add(ActionButton14)
|
||||||
Me.TXT_GLOBAL_PATH.CaptionText = "Data Path"
|
Me.TXT_GLOBAL_PATH.CaptionText = "Data Path"
|
||||||
Me.TXT_GLOBAL_PATH.CaptionToolTipEnabled = True
|
Me.TXT_GLOBAL_PATH.CaptionToolTipEnabled = True
|
||||||
Me.TXT_GLOBAL_PATH.CaptionToolTipText = "Root path for storing users' data"
|
Me.TXT_GLOBAL_PATH.CaptionToolTipText = "Root path for storing users' data"
|
||||||
@@ -282,9 +288,9 @@ Namespace Editors
|
|||||||
'
|
'
|
||||||
'TXT_COLLECTIONS_PATH
|
'TXT_COLLECTIONS_PATH
|
||||||
'
|
'
|
||||||
ActionButton3.BackgroundImage = CType(resources.GetObject("ActionButton3.BackgroundImage"), System.Drawing.Image)
|
ActionButton15.BackgroundImage = CType(resources.GetObject("ActionButton15.BackgroundImage"), System.Drawing.Image)
|
||||||
ActionButton3.Name = "Clear"
|
ActionButton15.Name = "Clear"
|
||||||
Me.TXT_COLLECTIONS_PATH.Buttons.Add(ActionButton3)
|
Me.TXT_COLLECTIONS_PATH.Buttons.Add(ActionButton15)
|
||||||
Me.TXT_COLLECTIONS_PATH.CaptionText = "Collections folder"
|
Me.TXT_COLLECTIONS_PATH.CaptionText = "Collections folder"
|
||||||
Me.TXT_COLLECTIONS_PATH.CaptionToolTipEnabled = True
|
Me.TXT_COLLECTIONS_PATH.CaptionToolTipEnabled = True
|
||||||
Me.TXT_COLLECTIONS_PATH.CaptionToolTipText = "Set collections folder name (name only)"
|
Me.TXT_COLLECTIONS_PATH.CaptionToolTipText = "Set collections folder name (name only)"
|
||||||
@@ -296,10 +302,10 @@ Namespace Editors
|
|||||||
'
|
'
|
||||||
'TXT_MAX_JOBS_USERS
|
'TXT_MAX_JOBS_USERS
|
||||||
'
|
'
|
||||||
ActionButton4.BackgroundImage = CType(resources.GetObject("ActionButton4.BackgroundImage"), System.Drawing.Image)
|
ActionButton16.BackgroundImage = CType(resources.GetObject("ActionButton16.BackgroundImage"), System.Drawing.Image)
|
||||||
ActionButton4.Name = "Refresh"
|
ActionButton16.Name = "Refresh"
|
||||||
ActionButton4.ToolTipText = "Set to default"
|
ActionButton16.ToolTipText = "Set to default"
|
||||||
Me.TXT_MAX_JOBS_USERS.Buttons.Add(ActionButton4)
|
Me.TXT_MAX_JOBS_USERS.Buttons.Add(ActionButton16)
|
||||||
Me.TXT_MAX_JOBS_USERS.CaptionSizeType = System.Windows.Forms.SizeType.Percent
|
Me.TXT_MAX_JOBS_USERS.CaptionSizeType = System.Windows.Forms.SizeType.Percent
|
||||||
Me.TXT_MAX_JOBS_USERS.CaptionText = "Maximum downloading tasks of users"
|
Me.TXT_MAX_JOBS_USERS.CaptionText = "Maximum downloading tasks of users"
|
||||||
Me.TXT_MAX_JOBS_USERS.CaptionWidth = 50.0R
|
Me.TXT_MAX_JOBS_USERS.CaptionWidth = 50.0R
|
||||||
@@ -315,10 +321,10 @@ Namespace Editors
|
|||||||
'
|
'
|
||||||
'TXT_MAX_JOBS_CHANNELS
|
'TXT_MAX_JOBS_CHANNELS
|
||||||
'
|
'
|
||||||
ActionButton5.BackgroundImage = CType(resources.GetObject("ActionButton5.BackgroundImage"), System.Drawing.Image)
|
ActionButton17.BackgroundImage = CType(resources.GetObject("ActionButton17.BackgroundImage"), System.Drawing.Image)
|
||||||
ActionButton5.Name = "Refresh"
|
ActionButton17.Name = "Refresh"
|
||||||
ActionButton5.ToolTipText = "Set to default"
|
ActionButton17.ToolTipText = "Set to default"
|
||||||
Me.TXT_MAX_JOBS_CHANNELS.Buttons.Add(ActionButton5)
|
Me.TXT_MAX_JOBS_CHANNELS.Buttons.Add(ActionButton17)
|
||||||
Me.TXT_MAX_JOBS_CHANNELS.CaptionSizeType = System.Windows.Forms.SizeType.Percent
|
Me.TXT_MAX_JOBS_CHANNELS.CaptionSizeType = System.Windows.Forms.SizeType.Percent
|
||||||
Me.TXT_MAX_JOBS_CHANNELS.CaptionText = "Maximum downloading tasks of channels"
|
Me.TXT_MAX_JOBS_CHANNELS.CaptionText = "Maximum downloading tasks of channels"
|
||||||
Me.TXT_MAX_JOBS_CHANNELS.CaptionWidth = 50.0R
|
Me.TXT_MAX_JOBS_CHANNELS.CaptionWidth = 50.0R
|
||||||
@@ -345,24 +351,24 @@ Namespace Editors
|
|||||||
'
|
'
|
||||||
'TXT_IMGUR_CLIENT_ID
|
'TXT_IMGUR_CLIENT_ID
|
||||||
'
|
'
|
||||||
ActionButton6.BackgroundImage = CType(resources.GetObject("ActionButton6.BackgroundImage"), System.Drawing.Image)
|
ActionButton18.BackgroundImage = CType(resources.GetObject("ActionButton18.BackgroundImage"), System.Drawing.Image)
|
||||||
ActionButton6.Name = "Clear"
|
ActionButton18.Name = "Clear"
|
||||||
Me.TXT_IMGUR_CLIENT_ID.Buttons.Add(ActionButton6)
|
Me.TXT_IMGUR_CLIENT_ID.Buttons.Add(ActionButton18)
|
||||||
Me.TXT_IMGUR_CLIENT_ID.CaptionText = "Imgur Client ID"
|
Me.TXT_IMGUR_CLIENT_ID.CaptionText = "Imgur Client ID"
|
||||||
Me.TXT_IMGUR_CLIENT_ID.Dock = System.Windows.Forms.DockStyle.Fill
|
Me.TXT_IMGUR_CLIENT_ID.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
Me.TXT_IMGUR_CLIENT_ID.Location = New System.Drawing.Point(4, 175)
|
Me.TXT_IMGUR_CLIENT_ID.Location = New System.Drawing.Point(4, 204)
|
||||||
Me.TXT_IMGUR_CLIENT_ID.Name = "TXT_IMGUR_CLIENT_ID"
|
Me.TXT_IMGUR_CLIENT_ID.Name = "TXT_IMGUR_CLIENT_ID"
|
||||||
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 = 7
|
||||||
'
|
'
|
||||||
'CH_SHOW_GROUPS
|
'CH_SHOW_GROUPS
|
||||||
'
|
'
|
||||||
Me.CH_SHOW_GROUPS.AutoSize = True
|
Me.CH_SHOW_GROUPS.AutoSize = True
|
||||||
Me.CH_SHOW_GROUPS.Dock = System.Windows.Forms.DockStyle.Fill
|
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.Location = New System.Drawing.Point(4, 233)
|
||||||
Me.CH_SHOW_GROUPS.Name = "CH_SHOW_GROUPS"
|
Me.CH_SHOW_GROUPS.Name = "CH_SHOW_GROUPS"
|
||||||
Me.CH_SHOW_GROUPS.Size = New System.Drawing.Size(562, 19)
|
Me.CH_SHOW_GROUPS.Size = New System.Drawing.Size(562, 19)
|
||||||
Me.CH_SHOW_GROUPS.TabIndex = 7
|
Me.CH_SHOW_GROUPS.TabIndex = 8
|
||||||
Me.CH_SHOW_GROUPS.Text = "Show groups"
|
Me.CH_SHOW_GROUPS.Text = "Show groups"
|
||||||
TT_MAIN.SetToolTip(Me.CH_SHOW_GROUPS, "Grouping users by site")
|
TT_MAIN.SetToolTip(Me.CH_SHOW_GROUPS, "Grouping users by site")
|
||||||
Me.CH_SHOW_GROUPS.UseVisualStyleBackColor = True
|
Me.CH_SHOW_GROUPS.UseVisualStyleBackColor = True
|
||||||
@@ -371,14 +377,33 @@ Namespace Editors
|
|||||||
'
|
'
|
||||||
Me.CH_USERS_GROUPING.AutoSize = True
|
Me.CH_USERS_GROUPING.AutoSize = True
|
||||||
Me.CH_USERS_GROUPING.Dock = System.Windows.Forms.DockStyle.Fill
|
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.Location = New System.Drawing.Point(4, 259)
|
||||||
Me.CH_USERS_GROUPING.Name = "CH_USERS_GROUPING"
|
Me.CH_USERS_GROUPING.Name = "CH_USERS_GROUPING"
|
||||||
Me.CH_USERS_GROUPING.Size = New System.Drawing.Size(562, 19)
|
Me.CH_USERS_GROUPING.Size = New System.Drawing.Size(562, 19)
|
||||||
Me.CH_USERS_GROUPING.TabIndex = 8
|
Me.CH_USERS_GROUPING.TabIndex = 9
|
||||||
Me.CH_USERS_GROUPING.Text = "Use user grouping"
|
Me.CH_USERS_GROUPING.Text = "Use user grouping"
|
||||||
TT_MAIN.SetToolTip(Me.CH_USERS_GROUPING, "Group users by groups and/or labels")
|
TT_MAIN.SetToolTip(Me.CH_USERS_GROUPING, "Group users by groups and/or labels")
|
||||||
Me.CH_USERS_GROUPING.UseVisualStyleBackColor = True
|
Me.CH_USERS_GROUPING.UseVisualStyleBackColor = True
|
||||||
'
|
'
|
||||||
|
'TXT_USER_AGENT
|
||||||
|
'
|
||||||
|
ActionButton19.BackgroundImage = CType(resources.GetObject("ActionButton19.BackgroundImage"), System.Drawing.Image)
|
||||||
|
ActionButton19.Name = "Refresh"
|
||||||
|
ActionButton19.Tag = PersonalUtilities.Forms.Controls.Base.ActionButton.DefaultButtons.Refresh
|
||||||
|
ActionButton20.BackgroundImage = CType(resources.GetObject("ActionButton20.BackgroundImage"), System.Drawing.Image)
|
||||||
|
ActionButton20.Name = "Clear"
|
||||||
|
ActionButton20.Tag = PersonalUtilities.Forms.Controls.Base.ActionButton.DefaultButtons.Clear
|
||||||
|
Me.TXT_USER_AGENT.Buttons.Add(ActionButton19)
|
||||||
|
Me.TXT_USER_AGENT.Buttons.Add(ActionButton20)
|
||||||
|
Me.TXT_USER_AGENT.CaptionText = "UserAgent"
|
||||||
|
Me.TXT_USER_AGENT.CaptionToolTipEnabled = True
|
||||||
|
Me.TXT_USER_AGENT.CaptionToolTipText = "Default user agent to use in requests"
|
||||||
|
Me.TXT_USER_AGENT.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.TXT_USER_AGENT.Location = New System.Drawing.Point(4, 175)
|
||||||
|
Me.TXT_USER_AGENT.Name = "TXT_USER_AGENT"
|
||||||
|
Me.TXT_USER_AGENT.Size = New System.Drawing.Size(562, 22)
|
||||||
|
Me.TXT_USER_AGENT.TabIndex = 6
|
||||||
|
'
|
||||||
'TP_FILE_NAME
|
'TP_FILE_NAME
|
||||||
'
|
'
|
||||||
TP_FILE_NAME.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
|
TP_FILE_NAME.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
|
||||||
@@ -822,7 +847,7 @@ Namespace Editors
|
|||||||
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, 284)
|
TAB_BASIS.Size = New System.Drawing.Size(576, 285)
|
||||||
TAB_BASIS.TabIndex = 0
|
TAB_BASIS.TabIndex = 0
|
||||||
TAB_BASIS.Text = "Basis"
|
TAB_BASIS.Text = "Basis"
|
||||||
'
|
'
|
||||||
@@ -832,7 +857,7 @@ Namespace Editors
|
|||||||
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, 284)
|
TAB_DEFAULTS.Size = New System.Drawing.Size(576, 338)
|
||||||
TAB_DEFAULTS.TabIndex = 1
|
TAB_DEFAULTS.TabIndex = 1
|
||||||
TAB_DEFAULTS.Text = "Defaults"
|
TAB_DEFAULTS.Text = "Defaults"
|
||||||
'
|
'
|
||||||
@@ -856,7 +881,7 @@ Namespace Editors
|
|||||||
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, 278)
|
TP_DEFS.Size = New System.Drawing.Size(570, 332)
|
||||||
TP_DEFS.TabIndex = 0
|
TP_DEFS.TabIndex = 0
|
||||||
'
|
'
|
||||||
'CH_DOWN_IMAGES_NATIVE
|
'CH_DOWN_IMAGES_NATIVE
|
||||||
@@ -876,7 +901,7 @@ Namespace Editors
|
|||||||
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, 284)
|
TAB_DEFS_CHANNELS.Size = New System.Drawing.Size(576, 338)
|
||||||
TAB_DEFS_CHANNELS.TabIndex = 4
|
TAB_DEFS_CHANNELS.TabIndex = 4
|
||||||
TAB_DEFS_CHANNELS.Text = "Channels"
|
TAB_DEFS_CHANNELS.Text = "Channels"
|
||||||
'
|
'
|
||||||
@@ -900,7 +925,7 @@ Namespace Editors
|
|||||||
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, 278)
|
TP_CHANNELS.Size = New System.Drawing.Size(570, 332)
|
||||||
TP_CHANNELS.TabIndex = 0
|
TP_CHANNELS.TabIndex = 0
|
||||||
'
|
'
|
||||||
'TXT_CHANNEL_USER_POST_LIMIT
|
'TXT_CHANNEL_USER_POST_LIMIT
|
||||||
@@ -928,7 +953,7 @@ Namespace Editors
|
|||||||
TAB_BEHAVIOR.Controls.Add(TP_BEHAVIOR)
|
TAB_BEHAVIOR.Controls.Add(TP_BEHAVIOR)
|
||||||
TAB_BEHAVIOR.Location = New System.Drawing.Point(4, 22)
|
TAB_BEHAVIOR.Location = New System.Drawing.Point(4, 22)
|
||||||
TAB_BEHAVIOR.Name = "TAB_BEHAVIOR"
|
TAB_BEHAVIOR.Name = "TAB_BEHAVIOR"
|
||||||
TAB_BEHAVIOR.Size = New System.Drawing.Size(576, 284)
|
TAB_BEHAVIOR.Size = New System.Drawing.Size(576, 338)
|
||||||
TAB_BEHAVIOR.TabIndex = 5
|
TAB_BEHAVIOR.TabIndex = 5
|
||||||
TAB_BEHAVIOR.Text = "Behavior"
|
TAB_BEHAVIOR.Text = "Behavior"
|
||||||
'
|
'
|
||||||
@@ -959,17 +984,17 @@ Namespace Editors
|
|||||||
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.Percent, 100.0!))
|
TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||||
TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
|
TP_BEHAVIOR.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
|
||||||
TP_BEHAVIOR.Size = New System.Drawing.Size(576, 284)
|
TP_BEHAVIOR.Size = New System.Drawing.Size(576, 338)
|
||||||
TP_BEHAVIOR.TabIndex = 0
|
TP_BEHAVIOR.TabIndex = 0
|
||||||
'
|
'
|
||||||
'TXT_FOLDER_CMD
|
'TXT_FOLDER_CMD
|
||||||
'
|
'
|
||||||
Me.TXT_FOLDER_CMD.AutoShowClearButton = True
|
Me.TXT_FOLDER_CMD.AutoShowClearButton = True
|
||||||
ActionButton7.BackgroundImage = CType(resources.GetObject("ActionButton7.BackgroundImage"), System.Drawing.Image)
|
ActionButton21.BackgroundImage = CType(resources.GetObject("ActionButton21.BackgroundImage"), System.Drawing.Image)
|
||||||
ActionButton7.Enabled = False
|
ActionButton21.Enabled = False
|
||||||
ActionButton7.Name = "Clear"
|
ActionButton21.Name = "Clear"
|
||||||
ActionButton7.Visible = False
|
ActionButton21.Visible = False
|
||||||
Me.TXT_FOLDER_CMD.Buttons.Add(ActionButton7)
|
Me.TXT_FOLDER_CMD.Buttons.Add(ActionButton21)
|
||||||
Me.TXT_FOLDER_CMD.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox
|
Me.TXT_FOLDER_CMD.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox
|
||||||
Me.TXT_FOLDER_CMD.CaptionText = "Folder cmd"
|
Me.TXT_FOLDER_CMD.CaptionText = "Folder cmd"
|
||||||
Me.TXT_FOLDER_CMD.CaptionToolTipEnabled = True
|
Me.TXT_FOLDER_CMD.CaptionToolTipEnabled = True
|
||||||
@@ -1008,11 +1033,11 @@ Namespace Editors
|
|||||||
'TXT_CLOSE_SCRIPT
|
'TXT_CLOSE_SCRIPT
|
||||||
'
|
'
|
||||||
Me.TXT_CLOSE_SCRIPT.AutoShowClearButton = True
|
Me.TXT_CLOSE_SCRIPT.AutoShowClearButton = True
|
||||||
ActionButton8.BackgroundImage = CType(resources.GetObject("ActionButton8.BackgroundImage"), System.Drawing.Image)
|
ActionButton22.BackgroundImage = CType(resources.GetObject("ActionButton22.BackgroundImage"), System.Drawing.Image)
|
||||||
ActionButton8.Enabled = False
|
ActionButton22.Enabled = False
|
||||||
ActionButton8.Name = "Clear"
|
ActionButton22.Name = "Clear"
|
||||||
ActionButton8.Visible = False
|
ActionButton22.Visible = False
|
||||||
Me.TXT_CLOSE_SCRIPT.Buttons.Add(ActionButton8)
|
Me.TXT_CLOSE_SCRIPT.Buttons.Add(ActionButton22)
|
||||||
Me.TXT_CLOSE_SCRIPT.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox
|
Me.TXT_CLOSE_SCRIPT.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox
|
||||||
Me.TXT_CLOSE_SCRIPT.CaptionText = "Close cmd"
|
Me.TXT_CLOSE_SCRIPT.CaptionText = "Close cmd"
|
||||||
Me.TXT_CLOSE_SCRIPT.CaptionToolTipEnabled = True
|
Me.TXT_CLOSE_SCRIPT.CaptionToolTipEnabled = True
|
||||||
@@ -1100,7 +1125,7 @@ Namespace Editors
|
|||||||
TAB_DOWN.Controls.Add(TP_DOWNLOADING)
|
TAB_DOWN.Controls.Add(TP_DOWNLOADING)
|
||||||
TAB_DOWN.Location = New System.Drawing.Point(4, 22)
|
TAB_DOWN.Location = New System.Drawing.Point(4, 22)
|
||||||
TAB_DOWN.Name = "TAB_DOWN"
|
TAB_DOWN.Name = "TAB_DOWN"
|
||||||
TAB_DOWN.Size = New System.Drawing.Size(576, 284)
|
TAB_DOWN.Size = New System.Drawing.Size(576, 338)
|
||||||
TAB_DOWN.TabIndex = 6
|
TAB_DOWN.TabIndex = 6
|
||||||
TAB_DOWN.Text = "Downloading"
|
TAB_DOWN.Text = "Downloading"
|
||||||
'
|
'
|
||||||
@@ -1128,17 +1153,17 @@ Namespace Editors
|
|||||||
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, 25.0!))
|
||||||
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, 25.0!))
|
||||||
TP_DOWNLOADING.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.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.Size = New System.Drawing.Size(576, 338)
|
||||||
TP_DOWNLOADING.TabIndex = 0
|
TP_DOWNLOADING.TabIndex = 0
|
||||||
'
|
'
|
||||||
'TXT_SCRIPT
|
'TXT_SCRIPT
|
||||||
'
|
'
|
||||||
ActionButton9.BackgroundImage = CType(resources.GetObject("ActionButton9.BackgroundImage"), System.Drawing.Image)
|
ActionButton23.BackgroundImage = CType(resources.GetObject("ActionButton23.BackgroundImage"), System.Drawing.Image)
|
||||||
ActionButton9.Name = "Open"
|
ActionButton23.Name = "Open"
|
||||||
ActionButton10.BackgroundImage = CType(resources.GetObject("ActionButton10.BackgroundImage"), System.Drawing.Image)
|
ActionButton24.BackgroundImage = CType(resources.GetObject("ActionButton24.BackgroundImage"), System.Drawing.Image)
|
||||||
ActionButton10.Name = "Clear"
|
ActionButton24.Name = "Clear"
|
||||||
Me.TXT_SCRIPT.Buttons.Add(ActionButton9)
|
Me.TXT_SCRIPT.Buttons.Add(ActionButton23)
|
||||||
Me.TXT_SCRIPT.Buttons.Add(ActionButton10)
|
Me.TXT_SCRIPT.Buttons.Add(ActionButton24)
|
||||||
Me.TXT_SCRIPT.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox
|
Me.TXT_SCRIPT.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.CheckBox
|
||||||
Me.TXT_SCRIPT.CaptionText = "Script"
|
Me.TXT_SCRIPT.CaptionText = "Script"
|
||||||
Me.TXT_SCRIPT.CaptionToolTipEnabled = True
|
Me.TXT_SCRIPT.CaptionToolTipEnabled = True
|
||||||
@@ -1191,7 +1216,7 @@ Namespace Editors
|
|||||||
TAB_FEED.Controls.Add(TP_FEED)
|
TAB_FEED.Controls.Add(TP_FEED)
|
||||||
TAB_FEED.Location = New System.Drawing.Point(4, 22)
|
TAB_FEED.Location = New System.Drawing.Point(4, 22)
|
||||||
TAB_FEED.Name = "TAB_FEED"
|
TAB_FEED.Name = "TAB_FEED"
|
||||||
TAB_FEED.Size = New System.Drawing.Size(576, 284)
|
TAB_FEED.Size = New System.Drawing.Size(576, 338)
|
||||||
TAB_FEED.TabIndex = 7
|
TAB_FEED.TabIndex = 7
|
||||||
TAB_FEED.Text = "Feed"
|
TAB_FEED.Text = "Feed"
|
||||||
'
|
'
|
||||||
@@ -1215,7 +1240,7 @@ Namespace Editors
|
|||||||
TP_FEED.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
TP_FEED.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
||||||
TP_FEED.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
TP_FEED.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
||||||
TP_FEED.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
TP_FEED.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||||
TP_FEED.Size = New System.Drawing.Size(576, 284)
|
TP_FEED.Size = New System.Drawing.Size(576, 338)
|
||||||
TP_FEED.TabIndex = 0
|
TP_FEED.TabIndex = 0
|
||||||
'
|
'
|
||||||
'TP_FEED_IMG_COUNT
|
'TP_FEED_IMG_COUNT
|
||||||
@@ -1305,7 +1330,7 @@ Namespace Editors
|
|||||||
TAB_NOTIFY.Controls.Add(TP_NOTIFY_MAIN)
|
TAB_NOTIFY.Controls.Add(TP_NOTIFY_MAIN)
|
||||||
TAB_NOTIFY.Location = New System.Drawing.Point(4, 22)
|
TAB_NOTIFY.Location = New System.Drawing.Point(4, 22)
|
||||||
TAB_NOTIFY.Name = "TAB_NOTIFY"
|
TAB_NOTIFY.Name = "TAB_NOTIFY"
|
||||||
TAB_NOTIFY.Size = New System.Drawing.Size(576, 284)
|
TAB_NOTIFY.Size = New System.Drawing.Size(576, 338)
|
||||||
TAB_NOTIFY.TabIndex = 8
|
TAB_NOTIFY.TabIndex = 8
|
||||||
TAB_NOTIFY.Text = "Notifications"
|
TAB_NOTIFY.Text = "Notifications"
|
||||||
'
|
'
|
||||||
@@ -1332,7 +1357,7 @@ Namespace Editors
|
|||||||
TP_NOTIFY_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
TP_NOTIFY_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
||||||
TP_NOTIFY_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
TP_NOTIFY_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25.0!))
|
||||||
TP_NOTIFY_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
TP_NOTIFY_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||||
TP_NOTIFY_MAIN.Size = New System.Drawing.Size(576, 284)
|
TP_NOTIFY_MAIN.Size = New System.Drawing.Size(576, 338)
|
||||||
TP_NOTIFY_MAIN.TabIndex = 0
|
TP_NOTIFY_MAIN.TabIndex = 0
|
||||||
'
|
'
|
||||||
'TAB_MAIN
|
'TAB_MAIN
|
||||||
@@ -1348,7 +1373,7 @@ Namespace Editors
|
|||||||
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, 310)
|
Me.TAB_MAIN.Size = New System.Drawing.Size(584, 311)
|
||||||
Me.TAB_MAIN.TabIndex = 1
|
Me.TAB_MAIN.TabIndex = 1
|
||||||
'
|
'
|
||||||
'CONTAINER_MAIN
|
'CONTAINER_MAIN
|
||||||
@@ -1357,13 +1382,13 @@ Namespace Editors
|
|||||||
'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, 310)
|
Me.CONTAINER_MAIN.ContentPanel.Size = New System.Drawing.Size(584, 311)
|
||||||
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, 310)
|
Me.CONTAINER_MAIN.Size = New System.Drawing.Size(584, 336)
|
||||||
Me.CONTAINER_MAIN.TabIndex = 0
|
Me.CONTAINER_MAIN.TabIndex = 0
|
||||||
Me.CONTAINER_MAIN.TopToolStripPanelVisible = False
|
Me.CONTAINER_MAIN.TopToolStripPanelVisible = False
|
||||||
'
|
'
|
||||||
@@ -1371,15 +1396,15 @@ Namespace Editors
|
|||||||
'
|
'
|
||||||
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, 310)
|
Me.ClientSize = New System.Drawing.Size(584, 336)
|
||||||
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 = Global.SCrawler.My.Resources.Resources.SettingsIcon_48
|
Me.Icon = Global.SCrawler.My.Resources.Resources.SettingsIcon_48
|
||||||
Me.KeyPreview = True
|
Me.KeyPreview = True
|
||||||
Me.MaximizeBox = False
|
Me.MaximizeBox = False
|
||||||
Me.MaximumSize = New System.Drawing.Size(600, 349)
|
Me.MaximumSize = New System.Drawing.Size(600, 375)
|
||||||
Me.MinimizeBox = False
|
Me.MinimizeBox = False
|
||||||
Me.MinimumSize = New System.Drawing.Size(600, 349)
|
Me.MinimumSize = New System.Drawing.Size(600, 375)
|
||||||
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
|
||||||
@@ -1394,6 +1419,7 @@ Namespace Editors
|
|||||||
CType(Me.TXT_MAX_JOBS_USERS, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.TXT_MAX_JOBS_USERS, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
CType(Me.TXT_MAX_JOBS_CHANNELS, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.TXT_MAX_JOBS_CHANNELS, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
CType(Me.TXT_IMGUR_CLIENT_ID, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.TXT_IMGUR_CLIENT_ID, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(Me.TXT_USER_AGENT, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
TP_FILE_NAME.ResumeLayout(False)
|
TP_FILE_NAME.ResumeLayout(False)
|
||||||
TP_FILE_NAME.PerformLayout()
|
TP_FILE_NAME.PerformLayout()
|
||||||
TP_FILE_PATTERNS.ResumeLayout(False)
|
TP_FILE_PATTERNS.ResumeLayout(False)
|
||||||
@@ -1499,5 +1525,6 @@ Namespace Editors
|
|||||||
Private WithEvents CH_NOTIFY_AUTO_DOWN As CheckBox
|
Private WithEvents CH_NOTIFY_AUTO_DOWN As CheckBox
|
||||||
Private WithEvents CH_NOTIFY_CHANNELS As CheckBox
|
Private WithEvents CH_NOTIFY_CHANNELS As CheckBox
|
||||||
Private WithEvents CH_DOWN_REPARSE_MISSING As CheckBox
|
Private WithEvents CH_DOWN_REPARSE_MISSING As CheckBox
|
||||||
|
Private WithEvents TXT_USER_AGENT As PersonalUtilities.Forms.Controls.TextBoxExtended
|
||||||
End Class
|
End Class
|
||||||
End Namespace
|
End Namespace
|
||||||
@@ -121,7 +121,7 @@
|
|||||||
<value>False</value>
|
<value>False</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<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="ActionButton13.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
wwAADsMBx2+oZAAAAR5JREFUOE+VkjFqwzAUhn2D9iShRyi+QhYbGujg3ZATZPKYdC6FQhPwlAMkg3dP
|
wwAADsMBx2+oZAAAAR5JREFUOE+VkjFqwzAUhn2D9iShRyi+QhYbGujg3ZATZPKYdC6FQhPwlAMkg3dP
|
||||||
@@ -132,7 +132,7 @@
|
|||||||
cMaRN0UdBBkAAAAASUVORK5CYII=
|
cMaRN0UdBBkAAAAASUVORK5CYII=
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ActionButton2.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="ActionButton14.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
||||||
@@ -143,7 +143,7 @@
|
|||||||
<metadata name="TP_IMAGES.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="TP_IMAGES.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<data name="ActionButton3.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="ActionButton15.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
||||||
@@ -151,7 +151,7 @@
|
|||||||
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ActionButton4.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="ActionButton16.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6
|
||||||
JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAACOElE
|
JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAACOElE
|
||||||
@@ -167,7 +167,7 @@
|
|||||||
VnR1MIwhwMTCyqEQ37qEmZVDFF0OE/9nAACtFF4Ey6OP+wAAAABJRU5ErkJggg==
|
VnR1MIwhwMTCyqEQ37qEmZVDFF0OE/9nAACtFF4Ey6OP+wAAAABJRU5ErkJggg==
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ActionButton5.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="ActionButton17.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6
|
||||||
JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAACOElE
|
JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAACOElE
|
||||||
@@ -183,7 +183,7 @@
|
|||||||
VnR1MIwhwMTCyqEQ37qEmZVDFF0OE/9nAACtFF4Ey6OP+wAAAABJRU5ErkJggg==
|
VnR1MIwhwMTCyqEQ37qEmZVDFF0OE/9nAACtFF4Ey6OP+wAAAABJRU5ErkJggg==
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ActionButton6.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="ActionButton18.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
||||||
@@ -197,6 +197,30 @@
|
|||||||
<metadata name="TT_MAIN.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="TT_MAIN.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>17, 17</value>
|
<value>17, 17</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
<data name="ActionButton19.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6
|
||||||
|
JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAACOElE
|
||||||
|
QVQ4T2P4//8/QczOJyyqHpzfiE0OQwAZC8iqszAzs7CJ69o4BR768V/W2jcGXQ0KB4aFNS3dDQtnrbCb
|
||||||
|
ePCK48wTN1wXXXzge/jXf/clV55zC4hIIatF0cjIyMikElzc57z0wX+XHd/+2+//99/ywP//xlu//tdb
|
||||||
|
+eK/4Zp3/1WTOhYzARViNUAluKjTdf37/0ZTTn9TbdhwXblhwwW1/qOP1Ja9+K8w+95/6cm3/6v2Xvkv
|
||||||
|
qKjniGGAoIqRpW3/4e8S9uGdzFz82gwMDFxAzCxm4ZegtuLDf+VJ1/8rZM25IqLvnM/CximCYYCic1QN
|
||||||
|
v7x2JIwPwyrJ3XNUylddE9G2TWNmZOBDl4czmJiZMSRBmFdSyYyJgUEQmxwIYxWEYXZBCUls4sgYq6CA
|
||||||
|
prWNbtG8nXKeaVPR5XiVjSxEzf0yYXy4BBMLO6eQjoOXZvrkbbazrv53Xf/2v4CSbjBMXkhBl1/CMyNZ
|
||||||
|
qWnvGy5pNQ+YONwAfjXzAOupl/47LLr333L50/96q9/8l23YdES6cO5KuYqVW+R7Tj6SnfP0v4hryjyY
|
||||||
|
HhQDmFjYeHVKFp7WX/Xuv9Kq9/+Vd/z7r7rv/3+l7f//y676DEwDN/9L+BVvYkKLCTgDhNkkVUyVlr74
|
||||||
|
qbbz73/VOTc/qsy89kWx+9h7qbQpJwS1bbOAscGGrB6EUTggLOqf16C55ft/HlnNAFZOXgVWdi4FRgYG
|
||||||
|
VnR1MIwhwMTCyqEQ37qEmZVDFF0OE/9nAACtFF4Ey6OP+wAAAABJRU5ErkJggg==
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="ActionButton20.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_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>
|
||||||
@@ -206,6 +230,15 @@
|
|||||||
<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="LBL_DATE_POS.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</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="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.
|
||||||
@@ -233,19 +266,34 @@ You can find more detailed information about the missing posts in the form that
|
|||||||
<metadata name="TP_DEFS.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="TP_DEFS.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
<metadata name="TP_DEFS.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
<metadata name="TAB_DEFS_CHANNELS.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="TAB_DEFS_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="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="TP_CHANNELS.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
<metadata name="TAB_BEHAVIOR.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="TAB_BEHAVIOR.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<metadata name="TP_BEHAVIOR.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="TP_BEHAVIOR.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<data name="ActionButton7.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<metadata name="TP_BEHAVIOR.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
|
<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>
|
||||||
|
<data name="ActionButton21.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
||||||
@@ -253,7 +301,7 @@ You can find more detailed information about the missing posts in the form that
|
|||||||
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ActionButton8.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="ActionButton22.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
||||||
@@ -273,7 +321,13 @@ You can find more detailed information about the missing posts in the form that
|
|||||||
<metadata name="TP_DOWNLOADING.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="TP_DOWNLOADING.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<data name="ActionButton9.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<metadata name="TP_DOWNLOADING.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="TP_MISSING_DATA.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
|
<data name="ActionButton23.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
wwAADsMBx2+oZAAAAR5JREFUOE+VkjFqwzAUhn2D9iShRyi+QhYbGujg3ZATZPKYdC6FQhPwlAMkg3dP
|
wwAADsMBx2+oZAAAAR5JREFUOE+VkjFqwzAUhn2D9iShRyi+QhYbGujg3ZATZPKYdC6FQhPwlAMkg3dP
|
||||||
@@ -284,7 +338,7 @@ You can find more detailed information about the missing posts in the form that
|
|||||||
cMaRN0UdBBkAAAAASUVORK5CYII=
|
cMaRN0UdBBkAAAAASUVORK5CYII=
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ActionButton10.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="ActionButton24.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
||||||
@@ -301,6 +355,12 @@ You can find more detailed information about the missing posts in the form that
|
|||||||
<metadata name="TP_FEED.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="TP_FEED.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
<metadata name="TP_FEED.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="TP_FEED_IMG_COUNT.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
<metadata name="TP_FEED_IMG_COUNT.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="TP_FEED_IMG_COUNT.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
@@ -310,4 +370,7 @@ You can find more detailed information about the missing posts in the form that
|
|||||||
<metadata name="TP_NOTIFY_MAIN.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="TP_NOTIFY_MAIN.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
<metadata name="TP_NOTIFY_MAIN.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</metadata>
|
||||||
</root>
|
</root>
|
||||||
@@ -31,6 +31,7 @@ Namespace Editors
|
|||||||
TXT_MAX_JOBS_USERS.Value = .MaxUsersJobsCount.Value
|
TXT_MAX_JOBS_USERS.Value = .MaxUsersJobsCount.Value
|
||||||
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_USER_AGENT.Text = .UserAgent
|
||||||
TXT_IMGUR_CLIENT_ID.Text = .ImgurClientID
|
TXT_IMGUR_CLIENT_ID.Text = .ImgurClientID
|
||||||
CH_SHOW_GROUPS.Checked = .ShowGroups
|
CH_SHOW_GROUPS.Checked = .ShowGroups
|
||||||
CH_USERS_GROUPING.Checked = .UseGrouping
|
CH_USERS_GROUPING.Checked = .UseGrouping
|
||||||
@@ -147,6 +148,8 @@ Namespace Editors
|
|||||||
.MaxUsersJobsCount.Value = CInt(TXT_MAX_JOBS_USERS.Value)
|
.MaxUsersJobsCount.Value = CInt(TXT_MAX_JOBS_USERS.Value)
|
||||||
.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
|
||||||
|
.UserAgent.Value = TXT_USER_AGENT.Text
|
||||||
|
DefaultUserAgent = TXT_USER_AGENT.Text
|
||||||
.ImgurClientID.Value = TXT_IMGUR_CLIENT_ID.Text
|
.ImgurClientID.Value = TXT_IMGUR_CLIENT_ID.Text
|
||||||
.ShowGroups.Value = CH_SHOW_GROUPS.Checked
|
.ShowGroups.Value = CH_SHOW_GROUPS.Checked
|
||||||
.UseGrouping.Value = CH_USERS_GROUPING.Checked
|
.UseGrouping.Value = CH_USERS_GROUPING.Checked
|
||||||
@@ -231,6 +234,9 @@ Namespace Editors
|
|||||||
Private Sub TXT_MAX_JOBS_CHANNELS_ActionOnButtonClick(ByVal Sender As ActionButton, ByVal e As EventArgs) Handles TXT_MAX_JOBS_CHANNELS.ActionOnButtonClick
|
Private Sub TXT_MAX_JOBS_CHANNELS_ActionOnButtonClick(ByVal Sender As ActionButton, ByVal e As EventArgs) Handles TXT_MAX_JOBS_CHANNELS.ActionOnButtonClick
|
||||||
If Sender.DefaultButton = ADB.Refresh Then TXT_MAX_JOBS_CHANNELS.Value = SettingsCLS.DefaultMaxDownloadingTasks
|
If Sender.DefaultButton = ADB.Refresh Then TXT_MAX_JOBS_CHANNELS.Value = SettingsCLS.DefaultMaxDownloadingTasks
|
||||||
End Sub
|
End Sub
|
||||||
|
Private Sub TXT_USER_AGENT_ActionOnButtonClick(ByVal Sender As ActionButton, ByVal e As ActionButtonEventArgs) Handles TXT_USER_AGENT.ActionOnButtonClick
|
||||||
|
If Sender.DefaultButton = ADB.Refresh Then TXT_USER_AGENT.Text = Settings.UserAgent.Value
|
||||||
|
End Sub
|
||||||
Private Sub ChangePositionControlsEnabling() Handles OPT_FILE_NAME_REPLACE.CheckedChanged, OPT_FILE_NAME_ADD_DATE.CheckedChanged
|
Private Sub ChangePositionControlsEnabling() Handles OPT_FILE_NAME_REPLACE.CheckedChanged, OPT_FILE_NAME_ADD_DATE.CheckedChanged
|
||||||
Dim b As Boolean = OPT_FILE_NAME_ADD_DATE.Checked And OPT_FILE_NAME_ADD_DATE.Enabled
|
Dim b As Boolean = OPT_FILE_NAME_ADD_DATE.Checked And OPT_FILE_NAME_ADD_DATE.Enabled
|
||||||
OPT_FILE_DATE_START.Enabled = b
|
OPT_FILE_DATE_START.Enabled = b
|
||||||
|
|||||||
@@ -212,7 +212,7 @@ Namespace Editors
|
|||||||
Select Case Sender.DefaultButton
|
Select Case Sender.DefaultButton
|
||||||
Case ADB.Edit
|
Case ADB.Edit
|
||||||
If Not Host.Responser Is Nothing Then
|
If Not Host.Responser Is Nothing Then
|
||||||
Using f As New CookieListForm With {.DesignXML = Settings.Design, .UseGrid = False}
|
Using f As New CookieListForm With {.DesignXML = Settings.Design, .ShowGrid = False}
|
||||||
f.SetCollection(Host.Responser.Cookies)
|
f.SetCollection(Host.Responser.Cookies)
|
||||||
f.ShowDialog()
|
f.ShowDialog()
|
||||||
If f.DialogResult = DialogResult.OK Then
|
If f.DialogResult = DialogResult.OK Then
|
||||||
@@ -224,17 +224,14 @@ Namespace Editors
|
|||||||
End If
|
End If
|
||||||
Case ADB.Clear
|
Case ADB.Clear
|
||||||
If Not Host.Responser Is Nothing Then
|
If Not Host.Responser Is Nothing Then
|
||||||
With Host.Responser
|
Host.Responser.Cookies.Clear()
|
||||||
If Not .Cookies Is Nothing Then .Cookies.Dispose()
|
MyDefs.MyOkCancel.EnableOK = True
|
||||||
.Cookies = New CookieKeeper(.CookiesDomain)
|
|
||||||
MyDefs.MyOkCancel.EnableOK = True
|
|
||||||
End With
|
|
||||||
SetCookieText()
|
SetCookieText()
|
||||||
End If
|
End If
|
||||||
End Select
|
End Select
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub SetCookieText()
|
Private Sub SetCookieText()
|
||||||
If Not Host.Responser Is Nothing Then TXT_COOKIES.Text = $"{If(Host.Responser.Cookies?.Count, 0)} cookies"
|
If Not Host.Responser Is Nothing Then TXT_COOKIES.Text = $"{Host.Responser.Cookies.Count} cookies"
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub SpecialButton_Click(sender As Object, e As EventArgs) Handles SpecialButton.Click
|
Private Sub SpecialButton_Click(sender As Object, e As EventArgs) Handles SpecialButton.Click
|
||||||
MyDefs.Detector()
|
MyDefs.Detector()
|
||||||
|
|||||||
@@ -397,6 +397,7 @@ CloseForm:
|
|||||||
CMB_SITE.SelectedIndex = -1
|
CMB_SITE.SelectedIndex = -1
|
||||||
CMB_SITE.Clear(ComboBoxExtended.ClearMode.Text)
|
CMB_SITE.Clear(ComboBoxExtended.ClearMode.Text)
|
||||||
CH_IS_CHANNEL.Checked = False
|
CH_IS_CHANNEL.Checked = False
|
||||||
|
If Not UserIsCollection Then Icon = My.Resources.UsersIcon_32
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
_TextChangeInvoked = False
|
_TextChangeInvoked = False
|
||||||
@@ -412,6 +413,9 @@ CloseForm:
|
|||||||
MyExchangeOptions = Nothing
|
MyExchangeOptions = Nothing
|
||||||
SetParamsBySite()
|
SetParamsBySite()
|
||||||
End Sub
|
End Sub
|
||||||
|
Private Sub CMB_SITE_ActionOnTextChanged(sender As Object, e As EventArgs) Handles CMB_SITE.ActionOnTextChanged
|
||||||
|
If CMB_SITE.Text.IsEmptyString And Not UserIsCollection Then CMB_SITE.SelectedIndex = -1 : Icon = My.Resources.UsersIcon_32
|
||||||
|
End Sub
|
||||||
Private Sub BTT_OTHER_SETTINGS_Click(sender As Object, e As EventArgs) Handles BTT_OTHER_SETTINGS.Click
|
Private Sub BTT_OTHER_SETTINGS_Click(sender As Object, e As EventArgs) Handles BTT_OTHER_SETTINGS.Click
|
||||||
Dim s As SettingsHost = GetSiteByCheckers()
|
Dim s As SettingsHost = GetSiteByCheckers()
|
||||||
If Not s Is Nothing Then
|
If Not s Is Nothing Then
|
||||||
@@ -604,9 +608,17 @@ CloseForm:
|
|||||||
Else
|
Else
|
||||||
BTT_OTHER_SETTINGS.Enabled = False
|
BTT_OTHER_SETTINGS.Enabled = False
|
||||||
End If
|
End If
|
||||||
|
If Not UserIsCollection Then
|
||||||
|
If Not s.Source.Icon Is Nothing Then
|
||||||
|
Icon = s.Source.Icon
|
||||||
|
ElseIf Not s.Source.Image Is Nothing Then
|
||||||
|
Icon = ImageRenderer.GetIcon(s.Source.Image, New ErrorsDescriber(False, False, False, My.Resources.UsersIcon_32))
|
||||||
|
End If
|
||||||
|
End If
|
||||||
End With
|
End With
|
||||||
Else
|
Else
|
||||||
BTT_OTHER_SETTINGS.Enabled = False
|
BTT_OTHER_SETTINGS.Enabled = False
|
||||||
|
If Not UserIsCollection Then Icon = My.Resources.UsersIcon_32
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub ChangeLabels()
|
Private Sub ChangeLabels()
|
||||||
|
|||||||
@@ -12,15 +12,8 @@ Namespace EncryptCookies
|
|||||||
Friend CookiesEncrypted As Boolean = False
|
Friend CookiesEncrypted As Boolean = False
|
||||||
Friend Sub ValidateCookiesEncrypt(ByRef Responser As Responser)
|
Friend Sub ValidateCookiesEncrypt(ByRef Responser As Responser)
|
||||||
If Not Responser Is Nothing Then
|
If Not Responser Is Nothing Then
|
||||||
Dim b As Boolean = False
|
|
||||||
With Responser
|
With Responser
|
||||||
If Not .Cookies Is Nothing Then
|
If .CookiesEncryptKey.IsEmptyString Then .CookiesEncryptKey = SettingsCLS.CookieEncryptKey : .SaveSettings()
|
||||||
With .Cookies
|
|
||||||
If .EncryptKey.IsEmptyString Then .EncryptKey = SettingsCLS.CookieEncryptKey : b = .Count > 0
|
|
||||||
End With
|
|
||||||
End If
|
|
||||||
If .CookiesEncryptKey.IsEmptyString Then .CookiesEncryptKey = SettingsCLS.CookieEncryptKey : b = True
|
|
||||||
If b Then .SaveSettings()
|
|
||||||
End With
|
End With
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@@ -1623,7 +1623,7 @@ ResumeDownloadingOperation:
|
|||||||
Private Sub Downloader_Downloading(ByVal Value As Boolean)
|
Private Sub Downloader_Downloading(ByVal Value As Boolean)
|
||||||
Dim __isDownloading As Boolean = Value Or Downloader.Working
|
Dim __isDownloading As Boolean = Value Or Downloader.Working
|
||||||
ControlInvokeFast(Toolbar_TOP, BTT_DOWN_STOP, Sub() BTT_DOWN_STOP.Enabled = __isDownloading)
|
ControlInvokeFast(Toolbar_TOP, BTT_DOWN_STOP, Sub() BTT_DOWN_STOP.Enabled = __isDownloading)
|
||||||
ControlInvokeFast(Me, Sub() TrayIcon.Icon = If(__isDownloading, My.Resources.ArrowDownIcon_Blue_24, My.Resources.RainbowIcon_48))
|
TrayIcon.Icon = If(__isDownloading, My.Resources.ArrowDownIcon_Blue_24, My.Resources.RainbowIcon_48)
|
||||||
End Sub
|
End Sub
|
||||||
#End Region
|
#End Region
|
||||||
End Class
|
End Class
|
||||||
@@ -108,6 +108,7 @@ Friend Module MainMod
|
|||||||
Friend ReadOnly FeedVideoLengthProvider As New ADateTime("hh\:mm\:ss") With {.TimeParseMode = ADateTime.TimeModes.TimeSpan}
|
Friend ReadOnly FeedVideoLengthProvider As New ADateTime("hh\:mm\:ss") With {.TimeParseMode = ADateTime.TimeModes.TimeSpan}
|
||||||
Friend ReadOnly UserExistsPredicate As New FPredicate(Of IUserData)(Function(u) u.Exists)
|
Friend ReadOnly UserExistsPredicate As New FPredicate(Of IUserData)(Function(u) u.Exists)
|
||||||
Friend ReadOnly LogConnector As New LogHost
|
Friend ReadOnly LogConnector As New LogHost
|
||||||
|
Friend DefaultUserAgent As String = String.Empty
|
||||||
#Region "File name operations"
|
#Region "File name operations"
|
||||||
Friend FileDateAppenderProvider As IFormatProvider
|
Friend FileDateAppenderProvider As IFormatProvider
|
||||||
''' <summary>File, Date</summary>
|
''' <summary>File, Date</summary>
|
||||||
@@ -187,6 +188,7 @@ Friend Module MainMod
|
|||||||
If Not found Then
|
If Not found Then
|
||||||
If URL.Contains("gfycat") Then
|
If URL.Contains("gfycat") Then
|
||||||
um = Gfycat.Envir.GetVideoInfo(URL)
|
um = Gfycat.Envir.GetVideoInfo(URL)
|
||||||
|
If um.ListExists AndAlso um(0).URL.Contains("redgifs.com") Then Return DownloadVideoByURL(um(0).URL, AskForPath, Silent)
|
||||||
ElseIf URL.Contains("imgur.com") Then
|
ElseIf URL.Contains("imgur.com") Then
|
||||||
um = Imgur.Envir.GetVideoInfo(URL)
|
um = Imgur.Envir.GetVideoInfo(URL)
|
||||||
Else
|
Else
|
||||||
|
|||||||
@@ -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("2023.1.24.1")>
|
<Assembly: AssemblyVersion("2023.2.5.0")>
|
||||||
<Assembly: AssemblyFileVersion("2023.1.24.1")>
|
<Assembly: AssemblyFileVersion("2023.2.5.0")>
|
||||||
<Assembly: NeutralResourcesLanguage("en")>
|
<Assembly: NeutralResourcesLanguage("en")>
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ Namespace Plugin.Hosts
|
|||||||
.EndInit(True)
|
.EndInit(True)
|
||||||
End With
|
End With
|
||||||
AddHandler .ActionOnButtonClick, AddressOf TextBoxClick
|
AddHandler .ActionOnButtonClick, AddressOf TextBoxClick
|
||||||
|
If Not ProviderValue Is Nothing AndAlso ProviderValueInteraction Then AddHandler .ActionOnTextChanged, AddressOf TextBoxTextChanged
|
||||||
End With
|
End With
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -98,6 +99,14 @@ Namespace Plugin.Hosts
|
|||||||
ErrorsDescriber.Execute(EDP.LogMessageValue, ex, $"Updating [{Name}] property")
|
ErrorsDescriber.Execute(EDP.LogMessageValue, ex, $"Updating [{Name}] property")
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
|
Private Sub TextBoxTextChanged(ByVal Sender As Object, ByVal e As EventArgs)
|
||||||
|
UpdateProviderPropertyName()
|
||||||
|
With DirectCast(Sender, TextBoxExtended)
|
||||||
|
Dim s% = .SelectionStart
|
||||||
|
Dim t$ = AConvert(Of String)(.Text, ProviderValue, String.Empty)
|
||||||
|
If Not t = .Text Then .Text = t : .Select(s, 0)
|
||||||
|
End With
|
||||||
|
End Sub
|
||||||
Friend Sub UpdateValueByControl()
|
Friend Sub UpdateValueByControl()
|
||||||
If Not Control Is Nothing AndAlso Not TypeOf Control Is Label Then
|
If Not Control Is Nothing AndAlso Not TypeOf Control Is Label Then
|
||||||
If TypeOf Control Is CheckBox Then
|
If TypeOf Control Is CheckBox Then
|
||||||
@@ -105,6 +114,7 @@ Namespace Plugin.Hosts
|
|||||||
If Options.ThreeStates Then Value = CInt(.CheckState) Else Value = .Checked
|
If Options.ThreeStates Then Value = CInt(.CheckState) Else Value = .Checked
|
||||||
End With
|
End With
|
||||||
Else
|
Else
|
||||||
|
UpdateProviderPropertyName()
|
||||||
Value = AConvert(DirectCast(Control, TextBoxExtended).Text, AModes.Var, [Type],,,, ProviderValue)
|
Value = AConvert(DirectCast(Control, TextBoxExtended).Text, AModes.Var, [Type],,,, ProviderValue)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -116,12 +126,16 @@ Namespace Plugin.Hosts
|
|||||||
If Options.ThreeStates Then Return CInt(.CheckState) Else Return .Checked
|
If Options.ThreeStates Then Return CInt(.CheckState) Else Return .Checked
|
||||||
End With
|
End With
|
||||||
Else
|
Else
|
||||||
|
UpdateProviderPropertyName()
|
||||||
Return AConvert(DirectCast(Control, TextBoxExtended).Text, AModes.Var, [Type],,,, ProviderValue)
|
Return AConvert(DirectCast(Control, TextBoxExtended).Text, AModes.Var, [Type],,,, ProviderValue)
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
Return Nothing
|
Return Nothing
|
||||||
End If
|
End If
|
||||||
End Function
|
End Function
|
||||||
|
Private Sub UpdateProviderPropertyName()
|
||||||
|
If ProviderValueIsPropertyProvider Then DirectCast(ProviderValue, IPropertyProvider).PropertyName = Name
|
||||||
|
End Sub
|
||||||
#End Region
|
#End Region
|
||||||
#Region "Compatibility"
|
#Region "Compatibility"
|
||||||
Private ReadOnly Source As Object
|
Private ReadOnly Source As Object
|
||||||
@@ -143,9 +157,17 @@ Namespace Plugin.Hosts
|
|||||||
End Property
|
End Property
|
||||||
#Region "Providers"
|
#Region "Providers"
|
||||||
Friend Property ProviderFieldsChecker As IFormatProvider
|
Friend Property ProviderFieldsChecker As IFormatProvider
|
||||||
Friend Property ProviderValue As IFormatProvider
|
Private Property ProviderValue As IFormatProvider
|
||||||
Friend Sub SetProvider(ByVal Provider As IFormatProvider, ByVal FC As Boolean)
|
Private Property ProviderValueInteraction As Boolean = False
|
||||||
If FC Then ProviderFieldsChecker = Provider Else ProviderValue = Provider
|
Private Property ProviderValueIsPropertyProvider As Boolean = False
|
||||||
|
Friend Sub SetProvider(ByVal Provider As IFormatProvider, ByVal Instance As Provider)
|
||||||
|
If Instance.FieldsChecker Then
|
||||||
|
ProviderFieldsChecker = Provider
|
||||||
|
Else
|
||||||
|
ProviderValue = Provider
|
||||||
|
ProviderValueIsPropertyProvider = TypeOf ProviderValue Is IPropertyProvider
|
||||||
|
ProviderValueInteraction = Instance.Interaction
|
||||||
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
#End Region
|
#End Region
|
||||||
Friend PropertiesChecking As String()
|
Friend PropertiesChecking As String()
|
||||||
|
|||||||
@@ -204,7 +204,7 @@ Namespace Plugin.Hosts
|
|||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
ElseIf m.MemberType = MemberTypes.Property Then
|
ElseIf m.MemberType = MemberTypes.Property Then
|
||||||
If Not m.GetCustomAttribute(Of Provider)() Is Nothing Then Providers.Add(m)
|
If m.GetCustomAttributes(Of Provider)().ListExists Then Providers.Add(m)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End With
|
End With
|
||||||
@@ -220,13 +220,15 @@ Namespace Plugin.Hosts
|
|||||||
Updaters.Clear()
|
Updaters.Clear()
|
||||||
End If
|
End If
|
||||||
If Providers.Count > 0 Then
|
If Providers.Count > 0 Then
|
||||||
Dim prov As Provider
|
Dim prov As IEnumerable(Of Provider)
|
||||||
|
Dim _prov As Provider
|
||||||
For Each m In Providers
|
For Each m In Providers
|
||||||
prov = m.GetCustomAttribute(Of Provider)()
|
prov = m.GetCustomAttributes(Of Provider)()
|
||||||
i = PropList.FindIndex(Function(p) p.Name = prov.Name)
|
If prov.ListExists Then
|
||||||
If i >= 0 Then
|
For Each _prov In prov
|
||||||
PropList(i).SetProvider(DirectCast(DirectCast(m, PropertyInfo).GetValue(Source), IFormatProvider),
|
i = PropList.FindIndex(Function(p) p.Name = _prov.Name)
|
||||||
m.GetCustomAttribute(Of Provider)().FieldsChecker)
|
If i >= 0 Then PropList(i).SetProvider(DirectCast(DirectCast(m, PropertyInfo).GetValue(Source), IFormatProvider), _prov)
|
||||||
|
Next
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
Providers.Clear()
|
Providers.Clear()
|
||||||
|
|||||||
@@ -196,6 +196,13 @@
|
|||||||
<Compile Include="API\TikTok\Declarations.vb" />
|
<Compile Include="API\TikTok\Declarations.vb" />
|
||||||
<Compile Include="API\TikTok\SiteSettings.vb" />
|
<Compile Include="API\TikTok\SiteSettings.vb" />
|
||||||
<Compile Include="API\TikTok\UserData.vb" />
|
<Compile Include="API\TikTok\UserData.vb" />
|
||||||
|
<Compile Include="API\Twitter\EditorExchangeOptions.vb" />
|
||||||
|
<Compile Include="API\Twitter\OptionsForm.Designer.vb">
|
||||||
|
<DependentUpon>OptionsForm.vb</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="API\Twitter\OptionsForm.vb">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
<Compile Include="API\Xhamster\Declarations.vb" />
|
<Compile Include="API\Xhamster\Declarations.vb" />
|
||||||
<Compile Include="API\Xhamster\M3U8.vb" />
|
<Compile Include="API\Xhamster\M3U8.vb" />
|
||||||
<Compile Include="API\Xhamster\SiteSettings.vb" />
|
<Compile Include="API\Xhamster\SiteSettings.vb" />
|
||||||
@@ -416,6 +423,9 @@
|
|||||||
<EmbeddedResource Include="API\Reddit\RedditViewSettingsForm.resx">
|
<EmbeddedResource Include="API\Reddit\RedditViewSettingsForm.resx">
|
||||||
<DependentUpon>RedditViewSettingsForm.vb</DependentUpon>
|
<DependentUpon>RedditViewSettingsForm.vb</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="API\Twitter\OptionsForm.resx">
|
||||||
|
<DependentUpon>OptionsForm.vb</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Channels\ChannelsStatsForm.resx">
|
<EmbeddedResource Include="Channels\ChannelsStatsForm.resx">
|
||||||
<DependentUpon>ChannelsStatsForm.vb</DependentUpon>
|
<DependentUpon>ChannelsStatsForm.vb</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
|||||||
@@ -100,6 +100,9 @@ Friend Class SettingsCLS : Implements IDisposable
|
|||||||
SeparateVideoFolder = New XMLValue(Of Boolean)("SeparateVideoFolder", True, MyXML)
|
SeparateVideoFolder = New XMLValue(Of Boolean)("SeparateVideoFolder", True, MyXML)
|
||||||
CollectionsPath = New XMLValue(Of String)("CollectionsPath", "Collections", MyXML)
|
CollectionsPath = New XMLValue(Of String)("CollectionsPath", "Collections", MyXML)
|
||||||
|
|
||||||
|
UserAgent = New XMLValue(Of String)("UserAgent",, MyXML)
|
||||||
|
If Not UserAgent.IsEmptyString Then DefaultUserAgent = UserAgent
|
||||||
|
|
||||||
Dim n() As String = {"Search"}
|
Dim n() As String = {"Search"}
|
||||||
SearchInName = New XMLValue(Of Boolean)("SearchInName", True, MyXML, n)
|
SearchInName = New XMLValue(Of Boolean)("SearchInName", True, MyXML, n)
|
||||||
SearchInDescription = New XMLValue(Of Boolean)("SearchInDescription", False, MyXML, n)
|
SearchInDescription = New XMLValue(Of Boolean)("SearchInDescription", False, MyXML, n)
|
||||||
@@ -529,6 +532,7 @@ Friend Class SettingsCLS : Implements IDisposable
|
|||||||
Private ReadOnly Property CookiesEncrypted As XMLValue(Of Boolean)
|
Private ReadOnly Property CookiesEncrypted As XMLValue(Of Boolean)
|
||||||
Friend ReadOnly Property AddMissingToLog As XMLValue(Of Boolean)
|
Friend ReadOnly Property AddMissingToLog As XMLValue(Of Boolean)
|
||||||
Friend ReadOnly Property AddMissingErrorsToLog As XMLValue(Of Boolean)
|
Friend ReadOnly Property AddMissingErrorsToLog As XMLValue(Of Boolean)
|
||||||
|
Friend ReadOnly Property UserAgent As XMLValue(Of String)
|
||||||
#Region "Search"
|
#Region "Search"
|
||||||
Friend ReadOnly Property SearchInName As XMLValue(Of Boolean)
|
Friend ReadOnly Property SearchInName As XMLValue(Of Boolean)
|
||||||
Friend ReadOnly Property SearchInDescription As XMLValue(Of Boolean)
|
Friend ReadOnly Property SearchInDescription As XMLValue(Of Boolean)
|
||||||
|
|||||||
@@ -183,7 +183,7 @@ Friend Class UserFinder : Implements IDisposable
|
|||||||
End If
|
End If
|
||||||
__added = {__added, __dup, __skipped}.ListToString(vbCr.StringDup(2))
|
__added = {__added, __dup, __skipped}.ListToString(vbCr.StringDup(2))
|
||||||
If Not __added.IsEmptyString Then
|
If Not __added.IsEmptyString Then
|
||||||
Using t As New TextSaver("LOGs\ImportUsers.txt") With {.ForceAddDateTimeToFileName = True}
|
Using t As New TextSaver("LOGs\ImportUsers.txt") With {.FileForceAddDateTimeToName = True}
|
||||||
t.Append(__added)
|
t.Append(__added)
|
||||||
If Added.Count > 0 Then
|
If Added.Count > 0 Then
|
||||||
t.AppendLine(vbNewLine.StringDup(2))
|
t.AppendLine(vbNewLine.StringDup(2))
|
||||||
|
|||||||
@@ -94,56 +94,49 @@ Friend Class UserSearchForm
|
|||||||
LIST_SEARCH.BeginUpdate()
|
LIST_SEARCH.BeginUpdate()
|
||||||
ControlInvokeFast(LIST_SEARCH, Sub() LIST_SEARCH.Items.Clear())
|
ControlInvokeFast(LIST_SEARCH, Sub() LIST_SEARCH.Items.Clear())
|
||||||
Results.Clear()
|
Results.Clear()
|
||||||
Dim t$ = TXT_SEARCH.Text.Trim
|
Dim t$ = TXT_SEARCH.Text.StringTrim.StringToLower
|
||||||
With Settings
|
With Settings
|
||||||
If Not t.IsEmptyString And .Users.Count > 0 Then
|
If Not t.IsEmptyString And .Users.Count > 0 Then
|
||||||
Dim i%
|
Dim i%
|
||||||
Dim s As Plugin.ExchangeOptions = Nothing
|
Dim s As Plugin.ExchangeOptions = Nothing
|
||||||
Dim cu As Boolean = False
|
|
||||||
Dim __descr As Boolean = CH_SEARCH_IN_DESCR.Checked
|
Dim __descr As Boolean = CH_SEARCH_IN_DESCR.Checked
|
||||||
Dim __name As Boolean = CH_SEARCH_IN_NAME.Checked
|
Dim __name As Boolean = CH_SEARCH_IN_NAME.Checked
|
||||||
Dim __lbl As Boolean = CH_SEARCH_IN_LABEL.Checked
|
Dim __lbl As Boolean = CH_SEARCH_IN_LABEL.Checked
|
||||||
Dim _CheckUrl As Action(Of IUserData) = Sub(ByVal u As IUserData)
|
Dim __isUrl As Boolean = t.StartsWith("http")
|
||||||
If cu AndAlso ((u.Site = s.SiteName Or u.HOST.Key = s.HostKey) And u.Name.ToLower = s.UserName) Then _
|
Dim __urlFound As Boolean = False
|
||||||
Results.ListAddValue(New SearchResult(u, SearchResult.Modes.URL), RLP)
|
Dim _p_url As Predicate(Of IUserData) = Function(u) __urlFound AndAlso ((u.Site = s.SiteName Or u.HOST.Key = s.HostKey) And u.Name.ToLower = s.UserName.ToLower)
|
||||||
End Sub
|
Dim _p_descr As Predicate(Of IUserData) = Function(u) __descr AndAlso Not u.Description.IsEmptyString AndAlso u.Description.ToLower.Contains(t)
|
||||||
Dim _CheckDescr As Action(Of IUserData) = Sub(ByVal u As IUserData)
|
Dim _p_labels_p As Predicate(Of String) = Function(l) l.ToLower.Contains(t)
|
||||||
If __descr AndAlso Not u.Description.IsEmptyString AndAlso
|
Dim _p_labels As Predicate(Of IUserData) = Function(u) __lbl AndAlso u.Labels.ListExists AndAlso u.Labels.Exists(_p_labels_p)
|
||||||
u.Description.Contains(t) Then _
|
Dim _addValue As Action(Of IUserData, SearchResult.Modes, Predicate(Of IUserData)) = Sub(u, m, p) If p.Invoke(u) Then Results.ListAddValue(New SearchResult(u, m), RLP)
|
||||||
Results.ListAddValue(New SearchResult(u, SearchResult.Modes.Description), RLP)
|
|
||||||
End Sub
|
|
||||||
Dim _LabelPredicate As Predicate(Of String) = Function(l) l.ToLower.Contains(t)
|
|
||||||
Dim _CheckLabels As Action(Of IUserData) = Sub(ByVal u As IUserData)
|
|
||||||
If __lbl AndAlso u.Labels.ListExists AndAlso u.Labels.Exists(_LabelPredicate) Then _
|
|
||||||
Results.ListAddValue(New SearchResult(u, SearchResult.Modes.Label), RLP)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
If t.Length >= 4 AndAlso t.StartsWith("http") Then
|
If __isUrl Then
|
||||||
For Each p In Settings.Plugins
|
For Each p In Settings.Plugins
|
||||||
s = p.Settings.IsMyUser(t)
|
s = p.Settings.IsMyUser(t)
|
||||||
If Not s.UserName.IsEmptyString Then Exit For
|
If Not s.UserName.IsEmptyString Then Exit For
|
||||||
Next
|
Next
|
||||||
|
__urlFound = Not s.UserName.IsEmptyString
|
||||||
End If
|
End If
|
||||||
cu = Not s.UserName.IsEmptyString
|
|
||||||
t = t.ToLower
|
|
||||||
|
|
||||||
For Each user As IUserData In .Users
|
For Each user As IUserData In .Users
|
||||||
If __name AndAlso user.Name.ToLower.Contains(t) Then Results.ListAddValue(New SearchResult(user, SearchResult.Modes.Name), RLP)
|
If Not __isUrl AndAlso __name AndAlso user.Name.ToLower.Contains(t) Then Results.ListAddValue(New SearchResult(user, SearchResult.Modes.Name), RLP)
|
||||||
If user.IsCollection Then
|
If user.IsCollection Then
|
||||||
With DirectCast(user, UserDataBind)
|
With DirectCast(user, UserDataBind)
|
||||||
If .Count > 0 Then
|
If .Count > 0 Then
|
||||||
For i = 0 To .Count - 1
|
For i = 0 To .Count - 1
|
||||||
If __name AndAlso .Item(i).Name.ToLower = t Then Results.ListAddValue(New SearchResult(.Item(i), SearchResult.Modes.Name), RLP)
|
With .Item(i)
|
||||||
_CheckUrl(.Item(i))
|
If Not __isUrl AndAlso __name AndAlso .Self.Name.ToLower = t Then Results.ListAddValue(New SearchResult(.Self, SearchResult.Modes.Name), RLP)
|
||||||
_CheckDescr(.Item(i))
|
_addValue(.Self, SearchResult.Modes.URL, _p_url)
|
||||||
_CheckLabels(.Item(i))
|
_addValue(.Self, SearchResult.Modes.Description, _p_descr)
|
||||||
|
_addValue(.Self, SearchResult.Modes.Label, _p_labels)
|
||||||
|
End With
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
End With
|
End With
|
||||||
Else
|
Else
|
||||||
_CheckUrl(user)
|
_addValue(user, SearchResult.Modes.URL, _p_url)
|
||||||
_CheckDescr(user)
|
_addValue(user, SearchResult.Modes.Description, _p_descr)
|
||||||
_CheckLabels(user)
|
_addValue(user, SearchResult.Modes.Label, _p_labels)
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
If Results.Count > 0 Then
|
If Results.Count > 0 Then
|
||||||
|
|||||||
Reference in New Issue
Block a user