mirror of
https://github.com/AAndyProgram/SCrawler.git
synced 2026-03-14 15:52:18 +00:00
2023.8.6.0
Plugins.Attributes: add 'DependentFields' attribute Plugins.IPluginContentProvider: add 'Options' and 'IsSubscription' properties Plugins.ISiteSettings: add 'SubscriptionsAllowed' property Plugins.ExchangeOptions: add 'Options' field Plugins.Attributes.PropertyUpdater: replace 'Dependencies' with 'Arguments' YT: add 'OutputPathAskForName' and 'OutputPathAutoAddPaths' properties; add the ability to store download locations; add 'DownloadLocation' and 'DownloadLocationsCollection' objects YT.IDownloaderSettings: add 'OutputPathAskForName' and 'OutputPathAutoAddPaths' properties YT.Downloader: fixed bug with re-saving elements when loading a video list; fixed bug when files were not deleted when clicking on the delete button; fixed a bug that caused the video to redownload; download job removes elements at wrong indexes; added skipping of downloaded elements in the job; fixed a bug, pending option did not change after download complete YT.YouTubeMediaContainerBase: add '_MediaStateOnLoad' field and 'NeedToSave' function; update the 'Save' function to prevent saving a file when a download is complete and the file has already been saved; update code for new yt-dlp version Fixed cache deletion errors Add user queue Add global locations API.Base.SiteSettingsBase: implement 'SubscriptionsAllowed' property; remove request headers with null values on save; add '_AllowUserAgentUpdate' parameter API.Base.Structures: add 'SiteModes' enum API.Base.UserDataBase: add 'Erase' button; implement 'Options' and 'IsSubscription' properties; add 'SpecialLabels' property; update 'LVIKey'; update 'FitToAddParams' function; add 'EraseData' function; user colors; Not UserExists notification, UserQueue support API.Base: add 'DeclaredNames' API.Instagram: remove default values for headers; disable updating UserAgent from global; check for a new username for non-existent users API.Mastodon: bypass new inherited twitter options; update names and headers API.OnlyFans: make 'HH_BROWSER' property nullable; remove 'HH_BROWSER' from required; fix username bug (dots); handling of 504 and 429 errors; add 'DownloadHighlights' and 'DownloadChatMedia' options; add 'UserExchangeOptions'; fixed incorrect error handler API.PathPlugin: fixed incorrect detection of path existence API.Pinterest: add 'SpecialLabels' API.PornHub: add new video regex; remove old regex; added 'DownloadUploaded', 'DownloadTagged', 'DownloadPrivate' and 'DownloadFavorite' properties to 'SiteSettings', 'UserData' and 'UserExchangeOptions'; update regex to define user; added downloading search queries; update 'GetUserUrl' function; hide unnecessary 'RegexFieldsTextBecameNullException' errors; add subscriptions API.Reddit: add 'SpecialLabels'; add bearer token and its refresh interval; add OAuth; add additional options API.RedGifs: add 'DependentFields' for 'Token' API.ThisVid: add 'DownloadFavourite' option; add downloading search queries, tags, categories; add 'SpecialLabels'; add subscriptions; updating cookies issue API.TikTok: rewrite algorithms API.Twitter: add 'UseAppropriateModel', 'UseNewEndPointSearch', 'UseNewEndPointProfiles', 'AbortOnLimit', 'DownloadAlreadyParsed', 'MediaModelAllowNonUserTweets' properties; remove old commented code; remove 'TwitterPic_400' and replace with 'TwitterIcon_32.ToBitmap'; add 'DownloadModelForceApply' user option; update environment to GDL 1.25.8; fixed gifs downloading; fix typo in 'ReparseMissing'; update names API.UserDataBind: prevent adding site-specific labels when adding to a collection API.Xhamster: add downloading search queries, tags, categories; add 'SpecialLabels'; add additional nodes for channels; add subscriptions API.XVIDEOS: add downloading search queries, tags, categories; add 'SpecialLabels'; add subscriptions; changed users creation method; add subscriptions API.YouTube: add subscriptions AutoDownloader: add new group subscription options; update predicates; fixed excluded labels and sites in default mode; update notifications; add an additional skip options, add 'Force start' option DownloadedInfoForm: add subscriptions; fixed size/location bug; hide unnecessary error (refill) Feed: add subscriptions; update filters; add 'Ctrl+G' shortcut FeedMedia: add subscriptions; fixed 'webm' bug; add title for subscription media; add site icon to post; user colors; always using 'FriendlyName' instead of 'UserName' if it exists DownloadGroup, GroupDefaults, GroupParameters: add subscription and 'UsersCount' options MissingPostsForm: add 'BTT_DELETE_ALL' VideoDownloaderForm, DownloaderUrlForm, DownloaderUrlsArrForm: add download locations support VideoDownloaderForm: add subscriptions support GlobalSettingsForm: add new properties UserCreatorForm: add subscriptions; add 'Options' support (of 'ExchangeOptions'); user colors ListImagesLoader: add subscription colors; user colors MainFrame: add subscriptions; add filters by subscription and user; update predicates NuGet: update 'LibVLCSharp', 'LibVLCSharp.WinForms', 'VideoLAN.LibVLC.Windows' DownloadableMediaHost: update 'Save' function PropertyValueHost: fix 'CaptionWidth' bug; add 'Dependents' SettingsHost: add 'Dependents' UserDataHost: add 'Options' and 'IsSubscription' properties SettingsCLS: implement new 'IDownloaderSettings' properties; add 'CacheSnapshots'; add 'DownloadLocations'; add new properties UserInfo, UserFinder: add subscriptions UserSearchForm: fixed search by name bug
This commit is contained in:
361
SCrawler.YouTube/Editors/BugReporterForm.Designer.vb
generated
Normal file
361
SCrawler.YouTube/Editors/BugReporterForm.Designer.vb
generated
Normal file
@@ -0,0 +1,361 @@
|
||||
' 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 Editors
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
||||
Partial Public Class BugReporterForm : 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()
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Dim TP_MAIN As System.Windows.Forms.TableLayoutPanel
|
||||
Dim TP_BUTTONS 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(BugReporterForm))
|
||||
Dim ActionButton2 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||
Dim ActionButton3 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||
Dim ActionButton4 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||
Dim ActionButton5 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||
Dim ActionButton6 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||
Dim ActionButton7 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||
Dim ActionButton8 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||
Dim ActionButton9 As PersonalUtilities.Forms.Controls.Base.ActionButton = New PersonalUtilities.Forms.Controls.Base.ActionButton()
|
||||
Me.BTT_EMAIL = New System.Windows.Forms.Button()
|
||||
Me.BTT_GITHUB = New System.Windows.Forms.Button()
|
||||
Me.BTT_COPY = New System.Windows.Forms.Button()
|
||||
Me.BTT_CANCEL = New System.Windows.Forms.Button()
|
||||
Me.BTT_ANON = New System.Windows.Forms.Button()
|
||||
Me.TT_MAIN = New System.Windows.Forms.ToolTip(Me.components)
|
||||
Me.TXT_DESCR = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||
Me.TXT_URL_PROFILE = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||
Me.TXT_URL_POST = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||
Me.TXT_REPRODUCE = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||
Me.TXT_EXPECT = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||
Me.TXT_LOG = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||
Me.TXT_FILES = New PersonalUtilities.Forms.Controls.TextBoxExtended()
|
||||
TP_MAIN = New System.Windows.Forms.TableLayoutPanel()
|
||||
TP_BUTTONS = New System.Windows.Forms.TableLayoutPanel()
|
||||
TP_MAIN.SuspendLayout()
|
||||
TP_BUTTONS.SuspendLayout()
|
||||
CType(Me.TXT_DESCR, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.TXT_URL_PROFILE, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.TXT_URL_POST, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.TXT_REPRODUCE, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.TXT_EXPECT, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.TXT_LOG, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.TXT_FILES, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'TP_MAIN
|
||||
'
|
||||
TP_MAIN.ColumnCount = 1
|
||||
TP_MAIN.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||
TP_MAIN.Controls.Add(Me.TXT_DESCR, 0, 0)
|
||||
TP_MAIN.Controls.Add(Me.TXT_URL_PROFILE, 0, 1)
|
||||
TP_MAIN.Controls.Add(Me.TXT_URL_POST, 0, 2)
|
||||
TP_MAIN.Controls.Add(Me.TXT_REPRODUCE, 0, 3)
|
||||
TP_MAIN.Controls.Add(Me.TXT_EXPECT, 0, 4)
|
||||
TP_MAIN.Controls.Add(Me.TXT_LOG, 0, 5)
|
||||
TP_MAIN.Controls.Add(TP_BUTTONS, 0, 7)
|
||||
TP_MAIN.Controls.Add(Me.TXT_FILES, 0, 6)
|
||||
TP_MAIN.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
TP_MAIN.Location = New System.Drawing.Point(0, 0)
|
||||
TP_MAIN.Name = "TP_MAIN"
|
||||
TP_MAIN.RowCount = 8
|
||||
TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20.0!))
|
||||
TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
|
||||
TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
|
||||
TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20.0!))
|
||||
TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20.0!))
|
||||
TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20.0!))
|
||||
TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20.0!))
|
||||
TP_MAIN.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30.0!))
|
||||
TP_MAIN.Size = New System.Drawing.Size(584, 461)
|
||||
TP_MAIN.TabIndex = 0
|
||||
'
|
||||
'TP_BUTTONS
|
||||
'
|
||||
TP_BUTTONS.ColumnCount = 6
|
||||
TP_BUTTONS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||
TP_BUTTONS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100.0!))
|
||||
TP_BUTTONS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100.0!))
|
||||
TP_BUTTONS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100.0!))
|
||||
TP_BUTTONS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100.0!))
|
||||
TP_BUTTONS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100.0!))
|
||||
TP_BUTTONS.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
|
||||
TP_BUTTONS.Controls.Add(Me.BTT_EMAIL, 2, 0)
|
||||
TP_BUTTONS.Controls.Add(Me.BTT_GITHUB, 3, 0)
|
||||
TP_BUTTONS.Controls.Add(Me.BTT_COPY, 4, 0)
|
||||
TP_BUTTONS.Controls.Add(Me.BTT_CANCEL, 5, 0)
|
||||
TP_BUTTONS.Controls.Add(Me.BTT_ANON, 1, 0)
|
||||
TP_BUTTONS.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
TP_BUTTONS.Location = New System.Drawing.Point(0, 431)
|
||||
TP_BUTTONS.Margin = New System.Windows.Forms.Padding(0)
|
||||
TP_BUTTONS.Name = "TP_BUTTONS"
|
||||
TP_BUTTONS.RowCount = 1
|
||||
TP_BUTTONS.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||
TP_BUTTONS.Size = New System.Drawing.Size(584, 30)
|
||||
TP_BUTTONS.TabIndex = 7
|
||||
'
|
||||
'BTT_EMAIL
|
||||
'
|
||||
Me.BTT_EMAIL.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.BTT_EMAIL.Location = New System.Drawing.Point(187, 3)
|
||||
Me.BTT_EMAIL.Name = "BTT_EMAIL"
|
||||
Me.BTT_EMAIL.Size = New System.Drawing.Size(94, 24)
|
||||
Me.BTT_EMAIL.TabIndex = 1
|
||||
Me.BTT_EMAIL.Text = "email"
|
||||
Me.TT_MAIN.SetToolTip(Me.BTT_EMAIL, "Create a message to send via email.")
|
||||
Me.BTT_EMAIL.UseVisualStyleBackColor = True
|
||||
'
|
||||
'BTT_GITHUB
|
||||
'
|
||||
Me.BTT_GITHUB.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.BTT_GITHUB.Location = New System.Drawing.Point(287, 3)
|
||||
Me.BTT_GITHUB.Name = "BTT_GITHUB"
|
||||
Me.BTT_GITHUB.Size = New System.Drawing.Size(94, 24)
|
||||
Me.BTT_GITHUB.TabIndex = 2
|
||||
Me.BTT_GITHUB.Text = "GitHub"
|
||||
Me.TT_MAIN.SetToolTip(Me.BTT_GITHUB, "Create a MarkDown message to post to GitHub.")
|
||||
Me.BTT_GITHUB.UseVisualStyleBackColor = True
|
||||
'
|
||||
'BTT_COPY
|
||||
'
|
||||
Me.BTT_COPY.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.BTT_COPY.Location = New System.Drawing.Point(387, 3)
|
||||
Me.BTT_COPY.Name = "BTT_COPY"
|
||||
Me.BTT_COPY.Size = New System.Drawing.Size(94, 24)
|
||||
Me.BTT_COPY.TabIndex = 3
|
||||
Me.BTT_COPY.Text = "Copy"
|
||||
Me.TT_MAIN.SetToolTip(Me.BTT_COPY, "Create a message and copy to your clipboard.")
|
||||
Me.BTT_COPY.UseVisualStyleBackColor = True
|
||||
'
|
||||
'BTT_CANCEL
|
||||
'
|
||||
Me.BTT_CANCEL.DialogResult = System.Windows.Forms.DialogResult.Cancel
|
||||
Me.BTT_CANCEL.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.BTT_CANCEL.Location = New System.Drawing.Point(487, 3)
|
||||
Me.BTT_CANCEL.Name = "BTT_CANCEL"
|
||||
Me.BTT_CANCEL.Size = New System.Drawing.Size(94, 24)
|
||||
Me.BTT_CANCEL.TabIndex = 4
|
||||
Me.BTT_CANCEL.Text = "Cancel"
|
||||
Me.BTT_CANCEL.UseVisualStyleBackColor = True
|
||||
'
|
||||
'BTT_ANON
|
||||
'
|
||||
Me.BTT_ANON.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.BTT_ANON.Location = New System.Drawing.Point(87, 3)
|
||||
Me.BTT_ANON.Name = "BTT_ANON"
|
||||
Me.BTT_ANON.Size = New System.Drawing.Size(94, 24)
|
||||
Me.BTT_ANON.TabIndex = 0
|
||||
Me.BTT_ANON.Text = "Anon message"
|
||||
Me.TT_MAIN.SetToolTip(Me.BTT_ANON, resources.GetString("BTT_ANON.ToolTip"))
|
||||
Me.BTT_ANON.UseVisualStyleBackColor = True
|
||||
'
|
||||
'TXT_DESCR
|
||||
'
|
||||
ActionButton1.BackgroundImage = CType(resources.GetObject("ActionButton1.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton1.Dock = System.Windows.Forms.DockStyle.Top
|
||||
ActionButton1.Name = "Clear"
|
||||
ActionButton1.Tag = PersonalUtilities.Forms.Controls.Base.ActionButton.DefaultButtons.Clear
|
||||
Me.TXT_DESCR.Buttons.Add(ActionButton1)
|
||||
Me.TXT_DESCR.CaptionDock = System.Windows.Forms.DockStyle.Top
|
||||
Me.TXT_DESCR.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.None
|
||||
Me.TXT_DESCR.CaptionVisible = False
|
||||
Me.TXT_DESCR.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TXT_DESCR.GroupBoxed = True
|
||||
Me.TXT_DESCR.GroupBoxText = "Describe the bug or write your message"
|
||||
Me.TXT_DESCR.Lines = New String(-1) {}
|
||||
Me.TXT_DESCR.Location = New System.Drawing.Point(3, 3)
|
||||
Me.TXT_DESCR.Multiline = True
|
||||
Me.TXT_DESCR.Name = "TXT_DESCR"
|
||||
Me.TXT_DESCR.Size = New System.Drawing.Size(578, 69)
|
||||
Me.TXT_DESCR.TabIndex = 0
|
||||
Me.TXT_DESCR.TextToolTip = "A clear and concise description of what the bug is"
|
||||
Me.TXT_DESCR.TextToolTipEnabled = True
|
||||
'
|
||||
'TXT_URL_PROFILE
|
||||
'
|
||||
ActionButton2.BackgroundImage = CType(resources.GetObject("ActionButton2.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton2.Name = "Clear"
|
||||
ActionButton2.Tag = PersonalUtilities.Forms.Controls.Base.ActionButton.DefaultButtons.Clear
|
||||
Me.TXT_URL_PROFILE.Buttons.Add(ActionButton2)
|
||||
Me.TXT_URL_PROFILE.CaptionText = "Profile URL"
|
||||
Me.TXT_URL_PROFILE.CaptionWidth = 75.0R
|
||||
Me.TXT_URL_PROFILE.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TXT_URL_PROFILE.Lines = New String(-1) {}
|
||||
Me.TXT_URL_PROFILE.Location = New System.Drawing.Point(3, 78)
|
||||
Me.TXT_URL_PROFILE.Name = "TXT_URL_PROFILE"
|
||||
Me.TXT_URL_PROFILE.Size = New System.Drawing.Size(578, 22)
|
||||
Me.TXT_URL_PROFILE.TabIndex = 1
|
||||
'
|
||||
'TXT_URL_POST
|
||||
'
|
||||
ActionButton3.BackgroundImage = CType(resources.GetObject("ActionButton3.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton3.Name = "Clear"
|
||||
ActionButton3.Tag = PersonalUtilities.Forms.Controls.Base.ActionButton.DefaultButtons.Clear
|
||||
Me.TXT_URL_POST.Buttons.Add(ActionButton3)
|
||||
Me.TXT_URL_POST.CaptionText = "Post URL"
|
||||
Me.TXT_URL_POST.CaptionWidth = 75.0R
|
||||
Me.TXT_URL_POST.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TXT_URL_POST.Lines = New String(-1) {}
|
||||
Me.TXT_URL_POST.Location = New System.Drawing.Point(3, 106)
|
||||
Me.TXT_URL_POST.Name = "TXT_URL_POST"
|
||||
Me.TXT_URL_POST.Size = New System.Drawing.Size(578, 22)
|
||||
Me.TXT_URL_POST.TabIndex = 2
|
||||
'
|
||||
'TXT_REPRODUCE
|
||||
'
|
||||
ActionButton4.BackgroundImage = CType(resources.GetObject("ActionButton4.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton4.Dock = System.Windows.Forms.DockStyle.Top
|
||||
ActionButton4.Name = "Clear"
|
||||
ActionButton4.Tag = PersonalUtilities.Forms.Controls.Base.ActionButton.DefaultButtons.Clear
|
||||
Me.TXT_REPRODUCE.Buttons.Add(ActionButton4)
|
||||
Me.TXT_REPRODUCE.CaptionDock = System.Windows.Forms.DockStyle.Top
|
||||
Me.TXT_REPRODUCE.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.None
|
||||
Me.TXT_REPRODUCE.CaptionVisible = False
|
||||
Me.TXT_REPRODUCE.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TXT_REPRODUCE.GroupBoxed = True
|
||||
Me.TXT_REPRODUCE.GroupBoxText = "To Reproduce"
|
||||
Me.TXT_REPRODUCE.Lines = New String(-1) {}
|
||||
Me.TXT_REPRODUCE.Location = New System.Drawing.Point(3, 134)
|
||||
Me.TXT_REPRODUCE.Multiline = True
|
||||
Me.TXT_REPRODUCE.Name = "TXT_REPRODUCE"
|
||||
Me.TXT_REPRODUCE.Size = New System.Drawing.Size(578, 69)
|
||||
Me.TXT_REPRODUCE.TabIndex = 3
|
||||
Me.TXT_REPRODUCE.TextToolTip = "Steps to reproduce the behavior:" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "1. Do something" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "2. See error"
|
||||
Me.TXT_REPRODUCE.TextToolTipEnabled = True
|
||||
'
|
||||
'TXT_EXPECT
|
||||
'
|
||||
ActionButton5.BackgroundImage = CType(resources.GetObject("ActionButton5.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton5.Dock = System.Windows.Forms.DockStyle.Top
|
||||
ActionButton5.Name = "Clear"
|
||||
ActionButton5.Tag = PersonalUtilities.Forms.Controls.Base.ActionButton.DefaultButtons.Clear
|
||||
Me.TXT_EXPECT.Buttons.Add(ActionButton5)
|
||||
Me.TXT_EXPECT.CaptionDock = System.Windows.Forms.DockStyle.Top
|
||||
Me.TXT_EXPECT.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.None
|
||||
Me.TXT_EXPECT.CaptionVisible = False
|
||||
Me.TXT_EXPECT.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TXT_EXPECT.GroupBoxed = True
|
||||
Me.TXT_EXPECT.GroupBoxText = "Expected behavior"
|
||||
Me.TXT_EXPECT.Lines = New String(-1) {}
|
||||
Me.TXT_EXPECT.Location = New System.Drawing.Point(3, 209)
|
||||
Me.TXT_EXPECT.Multiline = True
|
||||
Me.TXT_EXPECT.Name = "TXT_EXPECT"
|
||||
Me.TXT_EXPECT.Size = New System.Drawing.Size(578, 69)
|
||||
Me.TXT_EXPECT.TabIndex = 4
|
||||
Me.TXT_EXPECT.TextToolTip = "A clear and concise description of what you expected to happen."
|
||||
Me.TXT_EXPECT.TextToolTipEnabled = True
|
||||
'
|
||||
'TXT_LOG
|
||||
'
|
||||
ActionButton6.BackgroundImage = CType(resources.GetObject("ActionButton6.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton6.Dock = System.Windows.Forms.DockStyle.Top
|
||||
ActionButton6.Name = "Open"
|
||||
ActionButton6.Tag = PersonalUtilities.Forms.Controls.Base.ActionButton.DefaultButtons.Open
|
||||
ActionButton6.ToolTipText = "Select log files to add their text to the message"
|
||||
ActionButton7.BackgroundImage = CType(resources.GetObject("ActionButton7.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton7.Dock = System.Windows.Forms.DockStyle.Top
|
||||
ActionButton7.Name = "Clear"
|
||||
ActionButton7.Tag = PersonalUtilities.Forms.Controls.Base.ActionButton.DefaultButtons.Clear
|
||||
ActionButton7.ToolTipText = "Empty"
|
||||
Me.TXT_LOG.Buttons.Add(ActionButton6)
|
||||
Me.TXT_LOG.Buttons.Add(ActionButton7)
|
||||
Me.TXT_LOG.CaptionDock = System.Windows.Forms.DockStyle.Top
|
||||
Me.TXT_LOG.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.None
|
||||
Me.TXT_LOG.CaptionVisible = False
|
||||
Me.TXT_LOG.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TXT_LOG.GroupBoxed = True
|
||||
Me.TXT_LOG.GroupBoxText = "Log data"
|
||||
Me.TXT_LOG.Lines = New String(-1) {}
|
||||
Me.TXT_LOG.Location = New System.Drawing.Point(3, 284)
|
||||
Me.TXT_LOG.Multiline = True
|
||||
Me.TXT_LOG.Name = "TXT_LOG"
|
||||
Me.TXT_LOG.Size = New System.Drawing.Size(578, 69)
|
||||
Me.TXT_LOG.TabIndex = 5
|
||||
'
|
||||
'TXT_FILES
|
||||
'
|
||||
ActionButton8.BackgroundImage = CType(resources.GetObject("ActionButton8.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton8.Dock = System.Windows.Forms.DockStyle.Top
|
||||
ActionButton8.Name = "Add"
|
||||
ActionButton8.Tag = PersonalUtilities.Forms.Controls.Base.ActionButton.DefaultButtons.Add
|
||||
ActionButton8.ToolTipText = "Add files"
|
||||
ActionButton9.BackgroundImage = CType(resources.GetObject("ActionButton9.BackgroundImage"), System.Drawing.Image)
|
||||
ActionButton9.Dock = System.Windows.Forms.DockStyle.Top
|
||||
ActionButton9.Name = "Clear"
|
||||
ActionButton9.Tag = PersonalUtilities.Forms.Controls.Base.ActionButton.DefaultButtons.Clear
|
||||
ActionButton9.ToolTipText = "Clear files"
|
||||
Me.TXT_FILES.Buttons.Add(ActionButton8)
|
||||
Me.TXT_FILES.Buttons.Add(ActionButton9)
|
||||
Me.TXT_FILES.CaptionDock = System.Windows.Forms.DockStyle.Top
|
||||
Me.TXT_FILES.CaptionMode = PersonalUtilities.Forms.Controls.Base.ICaptionControl.Modes.None
|
||||
Me.TXT_FILES.CaptionVisible = False
|
||||
Me.TXT_FILES.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TXT_FILES.GroupBoxed = True
|
||||
Me.TXT_FILES.GroupBoxText = "Files"
|
||||
Me.TXT_FILES.Lines = New String(-1) {}
|
||||
Me.TXT_FILES.Location = New System.Drawing.Point(3, 359)
|
||||
Me.TXT_FILES.Multiline = True
|
||||
Me.TXT_FILES.Name = "TXT_FILES"
|
||||
Me.TXT_FILES.Size = New System.Drawing.Size(578, 69)
|
||||
Me.TXT_FILES.TabIndex = 6
|
||||
Me.TXT_FILES.TextBoxReadOnly = True
|
||||
Me.TXT_FILES.TextToolTip = "Attach files to your message (only works with anonymous message)"
|
||||
Me.TXT_FILES.TextToolTipEnabled = True
|
||||
'
|
||||
'BugReporterForm
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.CancelButton = Me.BTT_CANCEL
|
||||
Me.ClientSize = New System.Drawing.Size(584, 461)
|
||||
Me.Controls.Add(TP_MAIN)
|
||||
Me.KeyPreview = True
|
||||
Me.MinimumSize = New System.Drawing.Size(600, 500)
|
||||
Me.Name = "BugReporterForm"
|
||||
Me.Text = "New message"
|
||||
TP_MAIN.ResumeLayout(False)
|
||||
TP_BUTTONS.ResumeLayout(False)
|
||||
CType(Me.TXT_DESCR, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.TXT_URL_PROFILE, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.TXT_URL_POST, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.TXT_REPRODUCE, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.TXT_EXPECT, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.TXT_LOG, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.TXT_FILES, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
|
||||
Private WithEvents TXT_DESCR As PersonalUtilities.Forms.Controls.TextBoxExtended
|
||||
Private WithEvents TXT_URL_PROFILE As PersonalUtilities.Forms.Controls.TextBoxExtended
|
||||
Private WithEvents TXT_URL_POST As PersonalUtilities.Forms.Controls.TextBoxExtended
|
||||
Private WithEvents TXT_REPRODUCE As PersonalUtilities.Forms.Controls.TextBoxExtended
|
||||
Private WithEvents TXT_EXPECT As PersonalUtilities.Forms.Controls.TextBoxExtended
|
||||
Private WithEvents TXT_LOG As PersonalUtilities.Forms.Controls.TextBoxExtended
|
||||
Private WithEvents TT_MAIN As ToolTip
|
||||
Private WithEvents BTT_EMAIL As Button
|
||||
Private WithEvents BTT_GITHUB As Button
|
||||
Private WithEvents BTT_COPY As Button
|
||||
Private WithEvents BTT_CANCEL As Button
|
||||
Private WithEvents BTT_ANON As Button
|
||||
Private WithEvents TXT_FILES As PersonalUtilities.Forms.Controls.TextBoxExtended
|
||||
End Class
|
||||
End Namespace
|
||||
225
SCrawler.YouTube/Editors/BugReporterForm.resx
Normal file
225
SCrawler.YouTube/Editors/BugReporterForm.resx
Normal file
@@ -0,0 +1,225 @@
|
||||
<?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="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>
|
||||
<data name="ActionButton3.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="ActionButton4.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="ActionButton5.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="ActionButton6.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAR5JREFUOE+VkjFqwzAUhn2D9iShRyi+QhYbGujg3ZATZPKYdC6FQhPwlAMkg3dP
|
||||
WQwhyWIyJIUW5NqyPb7oCVtIlhVTwYf8nv7/t2zJagel9KmqKsIACYL9RjI8UHz5zshougZr/AEvbxEP
|
||||
aZCDBY3VslixaJvX3wzkkDiOwbZtDRGA5vdNAg+TL27qgmt5XkBG/gTdAG7Gt+3PP9oOaEGFCVEC6rp+
|
||||
5g9MfM/c5e4OsEZMZkQEtGL5H2DdZ5JRArDwPA+iKII0TfkC9vroC9j5vq8JTWw3WzWgLMtZGIaa0MR8
|
||||
vlAD8PYlSaIJTTiOowY0p0Bc19XEJo6HE59FAPuMzyAINKGJ1XLFZxHALtMrnkBXOIQIIIQ8YvF/KrgB
|
||||
cMaRN0UdBBkAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ActionButton7.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
||||
tbbB43rK5xSAQq1VYFtmeQBoqZTSreVZvgTknM8yyyjA/qodsDF9gspD2Bj6B+DH+NqzhQQAG+POMnSX
|
||||
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="TP_BUTTONS.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="BTT_ANON.ToolTip" xml:space="preserve">
|
||||
<value>Send an anonymous message.
|
||||
The developer will not be able you contact you back.
|
||||
You can attach files (images, photos) to your message.
|
||||
If you would like a response from the developer, response, please add your contact details (email, Discord, etc.).</value>
|
||||
</data>
|
||||
<data name="ActionButton8.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6
|
||||
JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAADmUlE
|
||||
QVRIS62WWWxMURjHL220JW1HausmlFrDFKUhnUGH6bRFzJ2idImlC0Vp2mlji1A8iNhCPIjIRES8EU+W
|
||||
h2oEtbSDTk3HNNM7S01VKsXjkb/vXBo3k1Ee7sMvmZzzzf//ne/+z50RAAxL1MUIG4G/YAv3HSVhF5Vw
|
||||
IYNdz3LadVj9RgdTB+HQYYPHIJuE1ocSdlEJFzG+1bPRLQLinglIeCkg+XUkKvz56hnkOfQs/rmA8S9H
|
||||
YEp7FDI64tAQtKhnsMapZ7zzNHsUFnbGY4VzIk70l6hnIH4wsDR7NBZ3apDrSqL5T8eFgUr1DLZ78lim
|
||||
Q4N8VzK29MxEpZSBa4M16hnU+c3M9CEFpdJsVHsXos63DDcHrf9nQEXD5VymwW/5USLNwl5vJhp7dTgW
|
||||
NML2pR7jbsUMS+KdMTa5Q8NQxinfBU4dRFcOyjy52OtbhwOBDTgZLKPPmTgY0ON4MBdNfSbYBupxY8Aq
|
||||
G10dqMG5/nIc7ytGQ6CQRliAamkTN/g1Ai4e95Qy3iogpX0UtBRDnhRzdxq2SXOxz5eFQ70rScCEU335
|
||||
ssGxj0YS06HSm4GN3ekwdE2C1hGH1LZR0JDOJof5jwHvnIvzTa0jlooTYfktvt+fhcOBHDQFTWRgxJGP
|
||||
ObAGsulZLMLWnjlY756K5c4JmNcRi6T2SGheCIihS2l5ozAo6NRhMolnUAcGV6IcwwqvFrX+JTjYuwKH
|
||||
SfRAYDms/mzs9y1GFe2VSnOw1j0FejqpLN4WCX4ZufiIBwLMLxQGm12rsLQzgWKYgmLPLNTQw6ynpDSS
|
||||
IBet8y+TqaVRVdFIeJrWuCcj+/0EzH43BomvIhBLI45uFiDcJ+6QwROFwa6+Amb9bGFNg6Xs9Ncd7Oy3
|
||||
Knb2eyU7/20nu9y/m136tIvEl6BC0qKoZwby3alo9JVhj7T5R7m/kJVIIityi8zyXmTiW+I10SqyIQNb
|
||||
uIgNwYuuf25kFd75KPKkI49OmUWnrfYWyXv/wBb2cijhhVf6a9lGei65XclYRDd6mj0GWz2iLBJaH0rY
|
||||
RSVc5Eywmhm7kuQXHX+bJlBStrh+zTi0PpSwi0q4yNFAOVvgiEcKJWUsxZn/NhT+znlofShhF5VwkRpv
|
||||
MUtti4KGYjj6sYCIh5QSu4oG27stjItHU+cjeQzvkcFzFQ2KnSKLoc4FukDCXeI2GbSoaFD4ziyPxNxK
|
||||
0AUyNxOP1DOwcaG/8I+/LRB+At7psBnyDBG0AAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="ActionButton9.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
|
||||
tbbB43rK5xSAQq1VYFtmeQBoqZTSreVZvgTknM8yyyjA/qodsDF9gspD2Bj6B+DH+NqzhQQAG+POMnSX
|
||||
AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
238
SCrawler.YouTube/Editors/BugReporterForm.vb
Normal file
238
SCrawler.YouTube/Editors/BugReporterForm.vb
Normal file
@@ -0,0 +1,238 @@
|
||||
' 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 System.ComponentModel
|
||||
Imports PersonalUtilities.Bots
|
||||
Imports PersonalUtilities.Tools
|
||||
Imports PersonalUtilities.Forms
|
||||
Imports PersonalUtilities.Forms.Controls.Base
|
||||
Imports PersonalUtilities.Functions.XML
|
||||
Imports PersonalUtilities.Functions.Messaging
|
||||
Imports BStyle = PersonalUtilities.Bots.IBot.Styles
|
||||
Imports ADB = PersonalUtilities.Forms.Controls.Base.ActionButton.DefaultButtons
|
||||
Namespace Editors
|
||||
Public Class BugReporterForm
|
||||
#Region "Declarations"
|
||||
Private Const MsgTitle As String = "Bug report"
|
||||
Private ReadOnly MyView As FormView
|
||||
Private ReadOnly MyFieldsChecker As FieldsChecker
|
||||
Private MyProgramInfo As String
|
||||
Private MyProgramInfoPopulated As Boolean = False
|
||||
Private ReadOnly MyProgramText As String
|
||||
Private ReadOnly MyCurrentVersion As Version
|
||||
Private ReadOnly MyIsYouTube As Boolean
|
||||
Private ReadOnly MyEnvirData As DownloadObjects.STDownloader.IDownloaderSettings
|
||||
Private ReadOnly MyAdditText As String
|
||||
Private ReadOnly MyCache As CacheKeeper
|
||||
#End Region
|
||||
#Region "Initializer"
|
||||
Public Sub New(ByVal Cache As CacheKeeper, ByVal DesignXML As EContainer, ByVal ProgramText As String, ByVal CurrentVersion As Version, ByVal IsYouTube As Boolean,
|
||||
ByVal EnvirData As DownloadObjects.STDownloader.IDownloaderSettings, Optional ByVal AdditText As String = Nothing)
|
||||
InitializeComponent()
|
||||
MyView = New FormView(Me, DesignXML)
|
||||
MyFieldsChecker = New FieldsChecker
|
||||
MyCache = Cache
|
||||
MyProgramText = ProgramText
|
||||
MyCurrentVersion = CurrentVersion
|
||||
MyIsYouTube = IsYouTube
|
||||
MyEnvirData = EnvirData
|
||||
MyAdditText = AdditText
|
||||
Icon = ImageRenderer.GetIcon(My.Resources.MailPic_16, EDP.ReturnValue)
|
||||
End Sub
|
||||
#End Region
|
||||
#Region "Form handlers"
|
||||
Private Async Sub BugReporterForm_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
MyView.Import()
|
||||
MyView.SetFormSize()
|
||||
With MyFieldsChecker
|
||||
.AddControl(Of String)(TXT_DESCR, TXT_DESCR.GroupBoxText)
|
||||
.EndLoaderOperations()
|
||||
End With
|
||||
TXT_LOG.Text = MyMainLOG
|
||||
Await Task.Run(Sub()
|
||||
MyProgramInfo = ProgramInfo.GetProgramText(MyProgramText.IfNullOrEmpty(IIf(MyIsYouTube, "YouTube downloader", "SCrawler")),
|
||||
MyCurrentVersion, MyIsYouTube, MyEnvirData, MyAdditText)
|
||||
MyProgramInfoPopulated = True
|
||||
End Sub)
|
||||
End Sub
|
||||
Private Sub BugReporterForm_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
|
||||
MyView.Dispose()
|
||||
MyFieldsChecker.Dispose()
|
||||
End Sub
|
||||
#End Region
|
||||
#Region "Message"
|
||||
Private Sub WaitLoadingDone()
|
||||
While Not MyProgramInfoPopulated : Threading.Thread.Sleep(100) : End While
|
||||
End Sub
|
||||
Private Function CreateMessage(ByVal ForGitHub As Boolean, Optional ByVal ForDiscord As Boolean = False) As Object
|
||||
Try
|
||||
Dim nl$ = vbNewLine.StringDup(2)
|
||||
Dim data As New List(Of BotMessage)
|
||||
Dim t$ = String.Empty
|
||||
Dim discordAppendNl As Action = Sub() data.Add(New BotMessage(vbNewLine))
|
||||
Dim appendNewLine As Action = Sub() If ForDiscord Then data.Add(New BotMessage(nl)) Else t &= nl
|
||||
Dim ghBold As Func(Of String, Object) = Function(ByVal input As String) As Object
|
||||
If ForDiscord Then
|
||||
Return New BotMessage(input, BStyle.Bold)
|
||||
Else
|
||||
Return String.Format("{1}{0}{1}", input, IIf(ForGitHub, "**", ""))
|
||||
End If
|
||||
End Function
|
||||
Dim appendData As Action(Of Object) = Sub(ByVal input As Object)
|
||||
If ForDiscord Then
|
||||
discordAppendNl.Invoke
|
||||
data.Add(If(TypeOf input Is BotMessage, input, New BotMessage(input.ToString)))
|
||||
Else
|
||||
t.StringAppendLine(input)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
appendData(ghBold("Describe the bug"))
|
||||
appendData(TXT_DESCR.Text)
|
||||
If Not TXT_URL_PROFILE.IsEmptyString Then appendData($"Profile URL: {TXT_URL_PROFILE.Text}")
|
||||
If Not TXT_URL_POST.IsEmptyString Then appendData($"Post URL: {TXT_URL_POST.Text}")
|
||||
If Not TXT_REPRODUCE.IsEmptyString Then
|
||||
appendNewLine.Invoke
|
||||
appendData(ghBold("To Reproduce"))
|
||||
appendData(TXT_REPRODUCE.Text)
|
||||
End If
|
||||
If Not TXT_EXPECT.IsEmptyString Then
|
||||
appendNewLine.Invoke
|
||||
appendData(ghBold("Expected behavior"))
|
||||
appendData(TXT_EXPECT.Text)
|
||||
End If
|
||||
If Not TXT_LOG.IsEmptyString Then
|
||||
appendNewLine.Invoke
|
||||
If ForDiscord Then
|
||||
data.Add(New BotMessage(TXT_LOG.Text, BStyle.Code))
|
||||
ElseIf ForGitHub Then
|
||||
appendData($"<details><summary>Log data</summary><pre>{TXT_LOG.Text}</pre></details>")
|
||||
Else
|
||||
appendData(ghBold("LOG"))
|
||||
appendData(TXT_LOG.Text)
|
||||
End If
|
||||
End If
|
||||
|
||||
WaitLoadingDone()
|
||||
appendNewLine.Invoke
|
||||
appendData(ghBold("Release information:"))
|
||||
appendData(MyProgramInfo)
|
||||
|
||||
Return If(ForDiscord, data, t)
|
||||
Catch ex As Exception
|
||||
Return ErrorsDescriber.Execute(EDP.SendToLog + EDP.ReturnValue, ex, "[BugReporterForm.CreateMessage]")
|
||||
End Try
|
||||
End Function
|
||||
Private Function ValidateFields(Optional ByVal SimpleMode As Boolean = False) As Boolean
|
||||
If MyFieldsChecker.AllParamsOK Then
|
||||
Dim opts$ = String.Empty
|
||||
If TXT_URL_PROFILE.IsEmptyString Then opts.StringAppend("profile URL")
|
||||
If TXT_URL_POST.IsEmptyString Then opts.StringAppend("post URL")
|
||||
If TXT_LOG.Text.IsEmptyString Then opts.StringAppend("LOG")
|
||||
Return opts.IsEmptyString OrElse SimpleMode OrElse
|
||||
MsgBoxE({$"You haven't completed the following fields: {opts}.{vbCr}Are you sure you want to skip them?",
|
||||
MsgTitle}, vbExclamation,,, {"Process", "Cancel"}) = 0
|
||||
End If
|
||||
Return False
|
||||
End Function
|
||||
#End Region
|
||||
#Region "Buttons"
|
||||
Private Sub BTT_ANON_Click(sender As Object, e As EventArgs) Handles BTT_ANON.Click
|
||||
Try
|
||||
If ValidateFields(True) Then
|
||||
Dim files As List(Of SFile) = Nothing
|
||||
If TXT_FILES.Lines.ListExists Then files.ListAddList(TXT_FILES.Lines, LAP.NotContainsOnly)
|
||||
Dim msgs As New List(Of BotMessage)
|
||||
Dim isSimple As Boolean = False
|
||||
Dim aMsg$ = String.Empty
|
||||
Select Case MsgBoxE(New MMessage("Do you want to send a simple message or report a bug?", MsgTitle,
|
||||
{New MsgBoxButton("Nice", "Say something nice to the developer." & vbCr &
|
||||
"You can also attach cat picture :-)" & vbCr &
|
||||
$"The message will be sent from the '{TXT_DESCR.GroupBoxText}' field."),
|
||||
New MsgBoxButton("Simple", $"The developer will only receive the message from the '{TXT_DESCR.GroupBoxText}' field."),
|
||||
New MsgBoxButton("Bug report", "The developer will receive a full bug report."),
|
||||
"Cancel"}, vbQuestion) With {.ButtonsPerRow = 4, .DefaultButton = 2, .CancelButton = 3}).Index
|
||||
Case 0 : msgs.Add(TXT_DESCR.Text) : aMsg = $"{vbCr}Thank you very much. I'm very grateful for your messages. You are awesome!"
|
||||
Case 1 : isSimple = True : msgs.Add(TXT_DESCR.Text)
|
||||
Case 2 : msgs = CreateMessage(False, True)
|
||||
Case Else : Exit Sub
|
||||
End Select
|
||||
If msgs.ListExists Then
|
||||
Dim nErr As New ErrorsDescriber(EDP.None)
|
||||
Using d As New DiscordBot With {.Credential = DiscordWebHook, .User = "Anonymous user"}
|
||||
d.SendMessage(New BotMessage(msgs.ToArray), EDP.ThrowException)
|
||||
If isSimple Then WaitLoadingDone() : d.SendMessage(MyProgramInfo, nErr)
|
||||
If files.ListExists Then files.ForEach(Sub(ff) d.SendFile(BotMessage.FromFile(ff),, nErr))
|
||||
End Using
|
||||
msgs.Clear()
|
||||
MsgBoxE({$"Your message has been sent to the developer.{aMsg}", MsgTitle})
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBoxE({"Something is wrong. Your message has not been sent to the developer.", MsgTitle}, vbCritical)
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub BTT_EMAIL_Click(sender As Object, e As EventArgs) Handles BTT_EMAIL.Click
|
||||
If ValidateFields() Then
|
||||
Dim msg$ = CreateMessage(False)
|
||||
Dim cmd$ = "START mailto:""andyprogram@proton.me?to=andyprogram@proton.me&subject=Application%%20bug%%20report"""
|
||||
BufferText = msg
|
||||
MsgBoxE({"The message has been copied to your clipboard. Click OK and paste this message into the window that opens.", MsgTitle})
|
||||
Using b As New BatchExecutor
|
||||
b.FileExchanger = MyCache.NewInstance(Of BatchFileExchanger)
|
||||
b.Execute(cmd)
|
||||
End Using
|
||||
End If
|
||||
End Sub
|
||||
Private Sub BTT_GITHUB_Click(sender As Object, e As EventArgs) Handles BTT_GITHUB.Click
|
||||
If ValidateFields() Then
|
||||
Dim msg$ = CreateMessage(True)
|
||||
BufferText = msg
|
||||
MsgBoxE({"The message has been copied to your clipboard. Create a new issue on GitHub and paste this message.", MsgTitle})
|
||||
Try : Process.Start("https://github.com/AAndyProgram/SCrawler/issues/new?assignees=&labels=&projects=&template=custom.md&title=") : Catch : End Try
|
||||
End If
|
||||
End Sub
|
||||
Private Sub BTT_COPY_Click(sender As Object, e As EventArgs) Handles BTT_COPY.Click
|
||||
If ValidateFields() Then
|
||||
Dim msg$ = CreateMessage(MsgBoxE({"Will you post this message on GitHub?", MsgTitle}, vbQuestion + vbYesNo) = vbYes)
|
||||
BufferText = msg
|
||||
MsgBoxE({"The message has been copied to your clipboard.", MsgTitle})
|
||||
End If
|
||||
End Sub
|
||||
Private Sub BTT_CANCEL_Click(sender As Object, e As EventArgs) Handles BTT_CANCEL.Click
|
||||
DialogResult = DialogResult.Cancel
|
||||
Close()
|
||||
End Sub
|
||||
#End Region
|
||||
#Region "Logs"
|
||||
Private Sub TXT_LOG_ActionOnButtonClick(ByVal Sender As Object, ByVal e As ActionButtonEventArgs) Handles TXT_LOG.ActionOnButtonClick
|
||||
If e.DefaultButton = ADB.Open Then
|
||||
Dim files As List(Of SFile) = SFile.SelectFiles("LOGs\",, "Select log files", "Log files|*.txt|All files|*.*", EDP.ReturnValue)
|
||||
If files.ListExists Then
|
||||
Dim t$
|
||||
For Each file As SFile In files
|
||||
t = file.GetText
|
||||
If Not t.IsEmptyString Then _
|
||||
TXT_LOG.Text = $"{TXT_LOG.Text}{If(TXT_LOG.Text.IsEmptyString, String.Empty, vbNewLine.StringDup(2))}{file.Name}{vbNewLine}{t}"
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
Private Sub TXT_FILES_ActionOnButtonClick(ByVal Sender As Object, ByVal e As ActionButtonEventArgs) Handles TXT_FILES.ActionOnButtonClick
|
||||
Try
|
||||
If e.DefaultButton = ADB.Add Then
|
||||
Dim f As List(Of SFile) = SFile.SelectFiles(,, "Select files to be sent", "Images|*.jpg;*.jpeg;*.png;*.webp;*.webm;*.gif|All files|*.*", EDP.ReturnValue)
|
||||
If f.ListExists Then TXT_FILES.Lines = ListAddList(Nothing, TXT_FILES.Lines.Concat(f.Select(Function(ff) ff.ToString)),
|
||||
LAP.NotContainsOnly, EDP.ReturnValue).ToArray
|
||||
End If
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
End Class
|
||||
End Namespace
|
||||
Reference in New Issue
Block a user