diff --git a/.vs/Crunchyroll Downloader/v17/.suo b/.vs/Crunchyroll Downloader/v17/.suo index 95a00bf..d5748e9 100644 Binary files a/.vs/Crunchyroll Downloader/v17/.suo and b/.vs/Crunchyroll Downloader/v17/.suo differ diff --git a/Crunchyroll Downloader/CRD_List_Item.vb b/Crunchyroll Downloader/CRD_List_Item.vb index 96cd8b8..19742ec 100644 --- a/Crunchyroll Downloader/CRD_List_Item.vb +++ b/Crunchyroll Downloader/CRD_List_Item.vb @@ -1714,7 +1714,7 @@ Public Class CRD_List_Item 'File.WriteAllText(logfile, HybrideLog) WriteText(logfile, HybrideLog) Catch ex As Exception - Error_msg.ShowErrorDia(ex.ToString, "Unable to write Hybrid Mode logfile", False) + Error_msg.ShowErrorDia(ex.ToString, "Unable to write Hybrid Mode logfile", "None") 'MsgBox(ex.ToString) End Try End If @@ -1738,7 +1738,7 @@ Public Class CRD_List_Item Catch ex As Exception 'MsgBox(ex.ToString) - Error_msg.ShowErrorDia(ex.ToString, "Unable to write logfile", False) + Error_msg.ShowErrorDia(ex.ToString, "Unable to write logfile", "None") End Try diff --git a/Crunchyroll Downloader/Crunchyroll Downloader.vbproj b/Crunchyroll Downloader/Crunchyroll Downloader.vbproj index 138e4b6..b8cc0c4 100644 --- a/Crunchyroll Downloader/Crunchyroll Downloader.vbproj +++ b/Crunchyroll Downloader/Crunchyroll Downloader.vbproj @@ -168,6 +168,11 @@ Form + + True + True + Resources.resx + queue.vb @@ -182,11 +187,6 @@ Form - - True - True - Resources.resx - Anime_Add.vb @@ -384,6 +384,9 @@ + + + @@ -400,10 +403,8 @@ - - @@ -418,7 +419,6 @@ - diff --git a/Crunchyroll Downloader/Error_msg.Designer.vb b/Crunchyroll Downloader/Error_msg.Designer.vb index 2a5271b..fd5aee2 100644 --- a/Crunchyroll Downloader/Error_msg.Designer.vb +++ b/Crunchyroll Downloader/Error_msg.Designer.vb @@ -24,10 +24,10 @@ Partial Class Error_msg Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() Me.GroupBox3 = New System.Windows.Forms.GroupBox() + Me.ErrorText = New MetroFramework.Controls.MetroTextBox() Me.btn_cl = New System.Windows.Forms.Button() - Me.btn_ign = New System.Windows.Forms.Button() + Me.btn_option = New System.Windows.Forms.Button() Me.btn_ok = New System.Windows.Forms.Button() - Me.ErrorLabel = New MetroFramework.Controls.MetroLabel() Me.Delay = New System.Windows.Forms.Timer(Me.components) Me.Btn_Close = New System.Windows.Forms.Button() Me.GroupBox1 = New System.Windows.Forms.GroupBox() @@ -39,16 +39,51 @@ Partial Class Error_msg 'GroupBox3 ' Me.GroupBox3.BackColor = System.Drawing.Color.Transparent + Me.GroupBox3.Controls.Add(Me.ErrorText) Me.GroupBox3.Controls.Add(Me.btn_cl) - Me.GroupBox3.Controls.Add(Me.btn_ign) + Me.GroupBox3.Controls.Add(Me.btn_option) Me.GroupBox3.Controls.Add(Me.btn_ok) - Me.GroupBox3.Controls.Add(Me.ErrorLabel) Me.GroupBox3.Location = New System.Drawing.Point(13, 60) Me.GroupBox3.Name = "GroupBox3" Me.GroupBox3.Size = New System.Drawing.Size(613, 203) Me.GroupBox3.TabIndex = 38 Me.GroupBox3.TabStop = False ' + 'ErrorText + ' + ' + ' + ' + Me.ErrorText.CustomButton.Image = Nothing + Me.ErrorText.CustomButton.Location = New System.Drawing.Point(526, 1) + Me.ErrorText.CustomButton.Name = "" + Me.ErrorText.CustomButton.Size = New System.Drawing.Size(73, 73) + Me.ErrorText.CustomButton.Style = MetroFramework.MetroColorStyle.Blue + Me.ErrorText.CustomButton.TabIndex = 1 + Me.ErrorText.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light + Me.ErrorText.CustomButton.UseSelectable = True + Me.ErrorText.CustomButton.Visible = False + Me.ErrorText.Enabled = False + Me.ErrorText.FontSize = MetroFramework.MetroTextBoxSize.Tall + Me.ErrorText.Lines = New String() {"Status: Hier könnte Ihre Werbung stehen"} + Me.ErrorText.Location = New System.Drawing.Point(6, 16) + Me.ErrorText.MaxLength = 32767 + Me.ErrorText.Multiline = True + Me.ErrorText.Name = "ErrorText" + Me.ErrorText.PasswordChar = Global.Microsoft.VisualBasic.ChrW(0) + Me.ErrorText.ReadOnly = True + Me.ErrorText.ScrollBars = System.Windows.Forms.ScrollBars.None + Me.ErrorText.SelectedText = "" + Me.ErrorText.SelectionLength = 0 + Me.ErrorText.SelectionStart = 0 + Me.ErrorText.ShortcutsEnabled = True + Me.ErrorText.Size = New System.Drawing.Size(600, 75) + Me.ErrorText.TabIndex = 79 + Me.ErrorText.Text = "Status: Hier könnte Ihre Werbung stehen" + Me.ErrorText.UseSelectable = True + Me.ErrorText.WaterMarkColor = System.Drawing.Color.FromArgb(CType(CType(109, Byte), Integer), CType(CType(109, Byte), Integer), CType(CType(109, Byte), Integer)) + Me.ErrorText.WaterMarkFont = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel) + ' 'btn_cl ' Me.btn_cl.BackgroundImage = Global.Crunchyroll_Downloader.My.Resources.Resources.ffmpeg_OK_cL @@ -58,27 +93,27 @@ Partial Class Error_msg Me.btn_cl.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btn_cl.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.btn_cl.ForeColor = System.Drawing.SystemColors.Control - Me.btn_cl.Location = New System.Drawing.Point(28, 121) + Me.btn_cl.Location = New System.Drawing.Point(27, 121) Me.btn_cl.Name = "btn_cl" Me.btn_cl.Size = New System.Drawing.Size(150, 40) Me.btn_cl.TabIndex = 77 Me.btn_cl.Text = "Details" Me.btn_cl.UseVisualStyleBackColor = True ' - 'btn_ign + 'btn_option ' - Me.btn_ign.BackgroundImage = Global.Crunchyroll_Downloader.My.Resources.Resources.ffmpeg_OK_cL - Me.btn_ign.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch - Me.btn_ign.FlatAppearance.BorderSize = 0 - Me.btn_ign.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btn_ign.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.btn_ign.ForeColor = System.Drawing.SystemColors.Control - Me.btn_ign.Location = New System.Drawing.Point(235, 121) - Me.btn_ign.Name = "btn_ign" - Me.btn_ign.Size = New System.Drawing.Size(150, 40) - Me.btn_ign.TabIndex = 78 - Me.btn_ign.Text = "Ignore" - Me.btn_ign.UseVisualStyleBackColor = True + Me.btn_option.BackgroundImage = Global.Crunchyroll_Downloader.My.Resources.Resources.ffmpeg_OK_cL + Me.btn_option.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch + Me.btn_option.FlatAppearance.BorderSize = 0 + Me.btn_option.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btn_option.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btn_option.ForeColor = System.Drawing.SystemColors.Control + Me.btn_option.Location = New System.Drawing.Point(228, 121) + Me.btn_option.Name = "btn_option" + Me.btn_option.Size = New System.Drawing.Size(150, 40) + Me.btn_option.TabIndex = 78 + Me.btn_option.Text = "Ignore" + Me.btn_option.UseVisualStyleBackColor = True ' 'btn_ok ' @@ -88,29 +123,13 @@ Partial Class Error_msg Me.btn_ok.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btn_ok.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.btn_ok.ForeColor = System.Drawing.SystemColors.Control - Me.btn_ok.Location = New System.Drawing.Point(424, 121) + Me.btn_ok.Location = New System.Drawing.Point(430, 121) Me.btn_ok.Name = "btn_ok" Me.btn_ok.Size = New System.Drawing.Size(150, 40) Me.btn_ok.TabIndex = 78 Me.btn_ok.Text = "Ok" Me.btn_ok.UseVisualStyleBackColor = True ' - 'ErrorLabel - ' - Me.ErrorLabel.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ - Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.ErrorLabel.BackColor = System.Drawing.Color.Transparent - Me.ErrorLabel.FontSize = MetroFramework.MetroLabelSize.Tall - Me.ErrorLabel.FontWeight = MetroFramework.MetroLabelWeight.Bold - Me.ErrorLabel.ForeColor = System.Drawing.Color.Black - Me.ErrorLabel.Location = New System.Drawing.Point(6, 16) - Me.ErrorLabel.Name = "ErrorLabel" - Me.ErrorLabel.Size = New System.Drawing.Size(601, 53) - Me.ErrorLabel.TabIndex = 34 - Me.ErrorLabel.Text = "Status: idle" - Me.ErrorLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter - ' 'Delay ' Me.Delay.Interval = 2000 @@ -172,12 +191,12 @@ Partial Class Error_msg End Sub Private WithEvents GroupBox3 As GroupBox - Public WithEvents ErrorLabel As MetroFramework.Controls.MetroLabel Friend WithEvents Delay As Timer Friend WithEvents Btn_Close As Button Friend WithEvents btn_cl As Button Friend WithEvents btn_ok As Button Private WithEvents GroupBox1 As GroupBox Friend WithEvents ErrorBox As RichTextBox - Friend WithEvents btn_ign As Button + Friend WithEvents btn_option As Button + Friend WithEvents ErrorText As MetroFramework.Controls.MetroTextBox End Class diff --git a/Crunchyroll Downloader/Error_msg.vb b/Crunchyroll Downloader/Error_msg.vb index c32d35d..9f299ff 100644 --- a/Crunchyroll Downloader/Error_msg.vb +++ b/Crunchyroll Downloader/Error_msg.vb @@ -49,18 +49,25 @@ Public Class Error_msg End Try Me.Location = New Point(CInt(Main.Location.X + Main.Width / 2 - Me.Width / 2), CInt(Main.Location.Y + Main.Height / 2 - Me.Height / 2)) - + ErrorText.TextAlign = HorizontalAlignment.Center End Sub - Public Sub ShowErrorDia(ByVal Details As String, ShortError As String, Optional ByVal IgnoreOption As Boolean = False) + Public Sub ShowErrorDia(ByVal Details As String, ShortError As String, Optional ByVal ThirdOption As String = "None") Me.Show() ErrorBox.Text = Details - ErrorLabel.Text = ShortError - If IgnoreOption = False Then - btn_ign.BackgroundImage = My.Resources.error_dis - btn_ign.Cursor = Cursors.No - btn_ign.Enabled = False + ErrorText.Text = ShortError + + If ThirdOption = "None" Then + btn_option.BackgroundImage = My.Resources.error_dis + btn_option.Cursor = Cursors.No + btn_option.Enabled = False + ElseIf ThirdOption = "Ignore" Then + AddHandler btn_option.Click, AddressOf Ignore + ElseIf ThirdOption = "Help" Then + AddHandler btn_option.Click, AddressOf MoreInfo + btn_option.Text = "More Info" End If + End Sub Private Sub btn_ok_Click(sender As Object, e As EventArgs) Handles btn_ok.Click @@ -83,16 +90,21 @@ Public Class Error_msg Private Sub Btn_cl_MouseLeave(sender As Object, e As EventArgs) Handles btn_cl.MouseLeave btn_cl.BackgroundImage = My.Resources.ffmpeg_OK_cL End Sub - Private Sub Btn_ign_MouseEnter(sender As Object, e As EventArgs) Handles btn_ign.MouseEnter - btn_ign.BackgroundImage = My.Resources.ffmpeg_OK_cL_hover + Private Sub Btn_ign_MouseEnter(sender As Object, e As EventArgs) Handles btn_option.MouseEnter + btn_option.BackgroundImage = My.Resources.ffmpeg_OK_cL_hover End Sub - Private Sub Btn_ign_MouseLeave(sender As Object, e As EventArgs) Handles btn_ign.MouseLeave - btn_ign.BackgroundImage = My.Resources.ffmpeg_OK_cL + Private Sub Btn_ign_MouseLeave(sender As Object, e As EventArgs) Handles btn_option.MouseLeave + btn_option.BackgroundImage = My.Resources.ffmpeg_OK_cL End Sub - Private Sub btn_ign_Click(sender As Object, e As EventArgs) Handles btn_ign.Click + Private Sub Ignore(sender As Object, e As EventArgs) 'Handles btn_ign.Click Main.IgnoreErrorDia = True Me.Close() End Sub + Private Sub MoreInfo(sender As Object, e As EventArgs) 'Handles btn_ign.Click + Process.Start("https://github.com/hama3254/Crunchyroll-Downloader-v3.0/issues/929") + 'Main.IgnoreErrorDia = True + 'Me.Close() + End Sub End Class \ No newline at end of file diff --git a/Crunchyroll Downloader/LoginForm.Designer.vb b/Crunchyroll Downloader/LoginForm.Designer.vb index d31c6c5..fe685e6 100644 --- a/Crunchyroll Downloader/LoginForm.Designer.vb +++ b/Crunchyroll Downloader/LoginForm.Designer.vb @@ -24,21 +24,23 @@ Partial Class LoginForm Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() Me.GroupBox3 = New System.Windows.Forms.GroupBox() - Me.Btn_Save = New System.Windows.Forms.Button() + Me.UserTest = New System.Windows.Forms.Button() + Me.btn_ok = New System.Windows.Forms.Button() + Me.DisplayTB = New MetroFramework.Controls.MetroTextBox() Me.Save = New MetroFramework.Controls.MetroCheckBox() Me.IssueLink = New MetroFramework.Controls.MetroLink() Me.PW = New MetroFramework.Controls.MetroTextBox() Me.Mail = New MetroFramework.Controls.MetroTextBox() Me.Delay = New System.Windows.Forms.Timer(Me.components) - Me.DisplayTB = New MetroFramework.Controls.MetroTextBox() Me.GroupBox3.SuspendLayout() Me.SuspendLayout() ' 'GroupBox3 ' Me.GroupBox3.BackColor = System.Drawing.Color.Transparent + Me.GroupBox3.Controls.Add(Me.UserTest) + Me.GroupBox3.Controls.Add(Me.btn_ok) Me.GroupBox3.Controls.Add(Me.DisplayTB) - Me.GroupBox3.Controls.Add(Me.Btn_Save) Me.GroupBox3.Controls.Add(Me.Save) Me.GroupBox3.Controls.Add(Me.IssueLink) Me.GroupBox3.Controls.Add(Me.PW) @@ -49,21 +51,72 @@ Partial Class LoginForm Me.GroupBox3.TabIndex = 38 Me.GroupBox3.TabStop = False ' - 'Btn_Save + 'UserTest ' - Me.Btn_Save.BackColor = System.Drawing.Color.Transparent - Me.Btn_Save.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom - Me.Btn_Save.Cursor = System.Windows.Forms.Cursors.Hand - Me.Btn_Save.FlatAppearance.BorderSize = 0 - Me.Btn_Save.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Transparent - Me.Btn_Save.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.Btn_Save.Image = Global.Crunchyroll_Downloader.My.Resources.Resources.DialogNotFound_Submit - Me.Btn_Save.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.Btn_Save.Location = New System.Drawing.Point(165, 250) - Me.Btn_Save.Name = "Btn_Save" - Me.Btn_Save.Size = New System.Drawing.Size(150, 40) - Me.Btn_Save.TabIndex = 3 - Me.Btn_Save.UseVisualStyleBackColor = False + Me.UserTest.BackgroundImage = Global.Crunchyroll_Downloader.My.Resources.Resources.ffmpeg_OK_cL + Me.UserTest.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch + Me.UserTest.FlatAppearance.BorderSize = 0 + Me.UserTest.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.UserTest.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.UserTest.ForeColor = System.Drawing.SystemColors.Control + Me.UserTest.Location = New System.Drawing.Point(48, 256) + Me.UserTest.Name = "UserTest" + Me.UserTest.Size = New System.Drawing.Size(150, 40) + Me.UserTest.TabIndex = 79 + Me.UserTest.Text = "Test Login" + Me.UserTest.UseVisualStyleBackColor = True + ' + 'btn_ok + ' + Me.btn_ok.BackgroundImage = Global.Crunchyroll_Downloader.My.Resources.Resources.ffmpeg_OK_cL + Me.btn_ok.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch + Me.btn_ok.FlatAppearance.BorderSize = 0 + Me.btn_ok.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btn_ok.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btn_ok.ForeColor = System.Drawing.SystemColors.Control + Me.btn_ok.Location = New System.Drawing.Point(280, 256) + Me.btn_ok.Name = "btn_ok" + Me.btn_ok.Size = New System.Drawing.Size(150, 40) + Me.btn_ok.TabIndex = 79 + Me.btn_ok.Text = "Ok" + Me.btn_ok.UseVisualStyleBackColor = True + ' + 'DisplayTB + ' + ' + ' + ' + Me.DisplayTB.CustomButton.Image = Nothing + Me.DisplayTB.CustomButton.Location = New System.Drawing.Point(410, 1) + Me.DisplayTB.CustomButton.Name = "" + Me.DisplayTB.CustomButton.Size = New System.Drawing.Size(51, 51) + Me.DisplayTB.CustomButton.Style = MetroFramework.MetroColorStyle.Blue + Me.DisplayTB.CustomButton.TabIndex = 1 + Me.DisplayTB.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light + Me.DisplayTB.CustomButton.UseSelectable = True + Me.DisplayTB.CustomButton.Visible = False + Me.DisplayTB.Enabled = False + Me.DisplayTB.FontSize = MetroFramework.MetroTextBoxSize.Medium + Me.DisplayTB.Lines = New String() {"Due to Crunchyroll changes, we now need to fake a Nintendo Switch app login using" & + " Crunchyroll account credentials"} + Me.DisplayTB.Location = New System.Drawing.Point(10, 19) + Me.DisplayTB.MaxLength = 32767 + Me.DisplayTB.Multiline = True + Me.DisplayTB.Name = "DisplayTB" + Me.DisplayTB.PasswordChar = Global.Microsoft.VisualBasic.ChrW(0) + Me.DisplayTB.ReadOnly = True + Me.DisplayTB.ScrollBars = System.Windows.Forms.ScrollBars.None + Me.DisplayTB.SelectedText = "" + Me.DisplayTB.SelectionLength = 0 + Me.DisplayTB.SelectionStart = 0 + Me.DisplayTB.ShortcutsEnabled = True + Me.DisplayTB.Size = New System.Drawing.Size(462, 53) + Me.DisplayTB.TabIndex = 39 + Me.DisplayTB.Text = "Due to Crunchyroll changes, we now need to fake a Nintendo Switch app login using" & + " Crunchyroll account credentials" + Me.DisplayTB.UseSelectable = True + Me.DisplayTB.WaterMarkColor = System.Drawing.Color.FromArgb(CType(CType(109, Byte), Integer), CType(CType(109, Byte), Integer), CType(CType(109, Byte), Integer)) + Me.DisplayTB.WaterMarkFont = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel) ' 'Save ' @@ -154,43 +207,6 @@ Partial Class LoginForm ' Me.Delay.Interval = 2000 ' - 'DisplayTB - ' - ' - ' - ' - Me.DisplayTB.CustomButton.Image = Nothing - Me.DisplayTB.CustomButton.Location = New System.Drawing.Point(416, 1) - Me.DisplayTB.CustomButton.Name = "" - Me.DisplayTB.CustomButton.Size = New System.Drawing.Size(51, 51) - Me.DisplayTB.CustomButton.Style = MetroFramework.MetroColorStyle.Blue - Me.DisplayTB.CustomButton.TabIndex = 1 - Me.DisplayTB.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light - Me.DisplayTB.CustomButton.UseSelectable = True - Me.DisplayTB.CustomButton.Visible = False - Me.DisplayTB.Enabled = False - Me.DisplayTB.FontSize = MetroFramework.MetroTextBoxSize.Medium - Me.DisplayTB.Lines = New String() {"Due to Crunchyroll changes, we now need to fake a Nintendo Switch app login using" & - " Crunchyroll account credentials"} - Me.DisplayTB.Location = New System.Drawing.Point(10, 19) - Me.DisplayTB.MaxLength = 32767 - Me.DisplayTB.Multiline = True - Me.DisplayTB.Name = "DisplayTB" - Me.DisplayTB.PasswordChar = Global.Microsoft.VisualBasic.ChrW(0) - Me.DisplayTB.ReadOnly = True - Me.DisplayTB.ScrollBars = System.Windows.Forms.ScrollBars.None - Me.DisplayTB.SelectedText = "" - Me.DisplayTB.SelectionLength = 0 - Me.DisplayTB.SelectionStart = 0 - Me.DisplayTB.ShortcutsEnabled = True - Me.DisplayTB.Size = New System.Drawing.Size(462, 53) - Me.DisplayTB.TabIndex = 39 - Me.DisplayTB.Text = "Due to Crunchyroll changes, we now need to fake a Nintendo Switch app login using" & - " Crunchyroll account credentials" - Me.DisplayTB.UseSelectable = True - Me.DisplayTB.WaterMarkColor = System.Drawing.Color.FromArgb(CType(CType(109, Byte), Integer), CType(CType(109, Byte), Integer), CType(CType(109, Byte), Integer)) - Me.DisplayTB.WaterMarkFont = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel) - ' 'LoginForm ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -211,6 +227,7 @@ Partial Class LoginForm Friend WithEvents Mail As MetroFramework.Controls.MetroTextBox Friend WithEvents IssueLink As MetroFramework.Controls.MetroLink Friend WithEvents Save As MetroFramework.Controls.MetroCheckBox - Friend WithEvents Btn_Save As Button Friend WithEvents DisplayTB As MetroFramework.Controls.MetroTextBox + Friend WithEvents UserTest As Button + Friend WithEvents btn_ok As Button End Class diff --git a/Crunchyroll Downloader/LoginForm.vb b/Crunchyroll Downloader/LoginForm.vb index 0fa2641..8035602 100644 --- a/Crunchyroll Downloader/LoginForm.vb +++ b/Crunchyroll Downloader/LoginForm.vb @@ -1,6 +1,7 @@ Option Strict On Imports Crunchyroll_Downloader.CRD_Classes Imports MetroFramework.Components +Imports System.Net.WebUtility Public Class LoginForm @@ -37,26 +38,15 @@ Public Class LoginForm DisplayTB.TextAlign = HorizontalAlignment.Center End Sub - Private Sub Btn_Save_Click(sender As Object, e As EventArgs) Handles Btn_Save.Click - If PW.Text = "Password" Or Mail.Text = "E-Mail" Then - MsgBox("Invalid Input", MsgBoxStyle.Information) - Exit Sub - ElseIf Save.Checked = True Then - My.Settings.Mail = Mail.Text - My.Settings.PW = PW.Text - End If - Main.PW = PW.Text - Main.Mail = Mail.Text - Me.Close() - End Sub - Private Sub Submit_MouseEnter(sender As Object, e As EventArgs) Handles Btn_Save.MouseEnter - Btn_Save.Image = My.Resources.DialogNotFound_Submit_hover - End Sub - Private Sub Submit_MouseLeave(sender As Object, e As EventArgs) Handles Btn_Save.MouseLeave - Btn_Save.Image = My.Resources.DialogNotFound_Submit - End Sub + 'Private Sub Submit_MouseEnter(sender As Object, e As EventArgs) + ' Btn_Save.Image = My.Resources.DialogNotFound_Submit_hover + 'End Sub + + 'Private Sub Submit_MouseLeave(sender As Object, e As EventArgs) + ' Btn_Save.Image = My.Resources.DialogNotFound_Submit + 'End Sub Private Sub MetroLink1_Click(sender As Object, e As EventArgs) Handles IssueLink.Click @@ -75,5 +65,58 @@ Public Class LoginForm End If End Sub + Private Sub btn_ok_Click(sender As Object, e As EventArgs) Handles btn_ok.Click + If PW.Text = "Password" Or Mail.Text = "E-Mail" Then + MsgBox("Invalid Input", MsgBoxStyle.Information) + Exit Sub + ElseIf Save.Checked = True Then + My.Settings.Mail = Mail.Text + My.Settings.PW = PW.Text + End If + Main.PW = PW.Text + Main.Mail = Mail.Text + Me.Close() + End Sub + Private Sub UserTest_Click(sender As Object, e As EventArgs) Handles UserTest.Click + + Dim Loc_CR_Cookies As String = "" ' do we need that? does not seem like it. + + Dim Auth As String = " -H " + Chr(34) + "Authorization: " + Main.CrBetaBasic + Chr(34) + + Dim Post As String = " -d " + Chr(34) + "username=" + UrlEncode(Mail.Text) + "&password=" + UrlEncode(PW.Text) + "&grant_type=password&scope=offline_access" + Chr(34) + " -X POST -H " + Chr(34) + "Content-Type: application/x-www-form-urlencoded; charset=utf-8" + Chr(34) + + Dim v1Token As String = CurlPost("https://beta-api.crunchyroll.com/auth/v1/token", Loc_CR_Cookies, Auth, Post, "add_main_4494") + 'MsgBox(v1Token) + If CBool(InStr(v1Token, "HTTP Status: 401")) = True Then + MsgBox("CR reported :" + vbNewLine + v1Token, MsgBoxStyle.Exclamation, "CR-Error 401") + Exit Sub + End If + + If CBool(InStr(v1Token, "HTTP Status: 400")) = True Then + MsgBox("CR reported :" + vbNewLine + v1Token, MsgBoxStyle.Exclamation, "CR-Error 400") + Exit Sub + End If + + Dim Token() As String = v1Token.Split(New String() {Chr(34) + "access_token" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) + Dim Token2() As String = Token(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) + + Dim CRBetaBearer As String = "Bearer " + CRBetaBearer = CRBetaBearer + Token2(0) + + Dim Auth2 As String = " -H " + Chr(34) + "Authorization: " + CRBetaBearer + Chr(34) + + + Dim AccoutID() As String = v1Token.Split(New String() {Chr(34) + "account_id" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) + Dim AccoutID2() As String = AccoutID(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) + + Dim SubsV3 As String = "https://www.crunchyroll.com/subs/v3/subscriptions/" + AccoutID2(0) + Try + Dim Test As String = CurlAuthNew(SubsV3, Loc_CR_Cookies, Auth2) + Error_msg.ShowErrorDia(Test, "Login Ok - Premium Ok", "None") + Catch ex As Exception + Error_msg.ShowErrorDia(ex.ToString, "Login Ok - Premium check failed", "None") + End Try + + End Sub End Class \ No newline at end of file diff --git a/Crunchyroll Downloader/Main.designer.vb b/Crunchyroll Downloader/Main.designer.vb index c82d8aa..71e6baf 100644 --- a/Crunchyroll Downloader/Main.designer.vb +++ b/Crunchyroll Downloader/Main.designer.vb @@ -53,6 +53,7 @@ Partial Class Main Me.Panel1 = New System.Windows.Forms.Panel() Me.Btn_Queue = New System.Windows.Forms.Button() Me.BGW_Update = New System.ComponentModel.BackgroundWorker() + Me.btn_User = New System.Windows.Forms.Button() CType(Me.PictureBox5, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.ConsoleBar, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.MetroStyleManager1, System.ComponentModel.ISupportInitialize).BeginInit() @@ -233,12 +234,24 @@ Partial Class Main 'BGW_Update ' ' + 'btn_User + ' + Me.btn_User.BackColor = System.Drawing.Color.Transparent + resources.ApplyResources(Me.btn_User, "btn_User") + Me.btn_User.Cursor = System.Windows.Forms.Cursors.Hand + Me.btn_User.FlatAppearance.BorderSize = 0 + Me.btn_User.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Transparent + Me.btn_User.Image = Global.Crunchyroll_Downloader.My.Resources.Resources.main_login + Me.btn_User.Name = "btn_User" + Me.btn_User.UseVisualStyleBackColor = False + ' 'Main ' Me.ApplyImageInvert = True Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None Me.BorderStyle = MetroFramework.Forms.MetroFormBorderStyle.FixedSingle resources.ApplyResources(Me, "$this") + Me.Controls.Add(Me.btn_User) Me.Controls.Add(Me.Btn_Queue) Me.Controls.Add(Me.Panel1) Me.Controls.Add(Me.Btn_Close) @@ -291,4 +304,5 @@ Partial Class Main Friend WithEvents LoginFormToolStripMenuItem As ToolStripMenuItem Friend WithEvents ErrorDiaTestToolStripMenuItem As ToolStripMenuItem Friend WithEvents BGW_Update As System.ComponentModel.BackgroundWorker + Friend WithEvents btn_User As Button End Class diff --git a/Crunchyroll Downloader/Main.resx b/Crunchyroll Downloader/Main.resx index c2156e2..0c14283 100644 --- a/Crunchyroll Downloader/Main.resx +++ b/Crunchyroll Downloader/Main.resx @@ -148,7 +148,7 @@ $this - 9 + 10 383, 18 @@ -187,7 +187,7 @@ $this - 7 + 8 Stretch @@ -214,7 +214,7 @@ $this - 8 + 9 17, 17 @@ -231,6 +231,36 @@ 900, 630 + + Zoom + + + Flat + + + NoControl + + + 575, 18 + + + 80, 35 + + + 71 + + + btn_User + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + Zoom @@ -259,7 +289,7 @@ $this - 1 + 2 True @@ -286,7 +316,7 @@ $this - 2 + 3 None @@ -316,7 +346,7 @@ $this - 3 + 4 None @@ -346,7 +376,7 @@ $this - 4 + 5 Zoom @@ -376,7 +406,7 @@ $this - 5 + 6 Zoom @@ -406,7 +436,7 @@ $this - 6 + 7 Microsoft Sans Serif, 8.25pt diff --git a/Crunchyroll Downloader/Main.vb b/Crunchyroll Downloader/Main.vb index 29a9b7e..d32702d 100644 --- a/Crunchyroll Downloader/Main.vb +++ b/Crunchyroll Downloader/Main.vb @@ -235,12 +235,23 @@ Public Class Main End If End Sub + Private Sub Btn_User_MouseLeave(sender As Object, e As EventArgs) Handles btn_User.MouseLeave, btn_User.LostFocus + btn_User.Image = My.Resources.main_login + End Sub + + Private Sub Btn_User_MouseEnter(sender As Object, e As EventArgs) Handles btn_User.MouseEnter, btn_User.GotFocus + If Manager.Theme = MetroThemeStyle.Dark Then + btn_User.Image = My.Resources.main_login_invert + Else + btn_User.Image = My.Resources.main_login_invert_dark + End If + End Sub + Private Sub Btn_Queue_MouseLeave(sender As Object, e As EventArgs) Handles Btn_Queue.MouseLeave, Btn_Queue.LostFocus Btn_Queue.Image = My.Resources.main_queue End Sub - Private Sub Btn_min_MouseEnter(sender As Object, e As EventArgs) Handles Btn_min.MouseEnter, Btn_min.GotFocus If Manager.Theme = MetroThemeStyle.Dark Then Btn_min.Image = My.Resources.main_mini_dark_hover @@ -301,8 +312,8 @@ Public Class Main TheTextBox.Width = Me.Width - 2 Btn_Close.Location = New Point(Me.Width - 36, 1) Btn_min.Location = New Point(Me.Width - 67, 1) - Btn_Settings.Location = New Point(Me.Width - 200, 17) - 'Btn_Queue.Location = New Point(Me.Width - 265, 17) + Btn_Settings.Location = New Point(Me.Width - 180, 17) + btn_User.Location = New Point(Me.Width - 290, 17) Try Panel1.AutoScrollPosition = New Point(0, 0) @@ -1686,14 +1697,16 @@ Public Class Main #Region "Cancel Token" 'page_guid NewAPIData + Try + Dim ToCancel_0 As String() = NewAPIData.Split(New String() {Chr(34) + "token" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) ' + Dim ToCancel_1 As String() = ToCancel_0(1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) ' + Dim ToCancel As String = ToCancel_1(0) - - Dim ToCancel_0 As String() = NewAPIData.Split(New String() {Chr(34) + "token" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) ' - Dim ToCancel_1 As String() = ToCancel_0(1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) ' - Dim ToCancel As String = ToCancel_1(0) - CurlDeleteNew("https://cr-play-service.prd.crunchyrollsvc.com/v1/token/" + page_guid + "/" + ToCancel, Loc_AuthToken) - Debug.WriteLine("Delete Token: " + ToCancel + " for " + page_guid + " - " + CR_FilenName) - + CurlDeleteNew("https://cr-play-service.prd.crunchyrollsvc.com/v1/token/" + page_guid.Replace("music/", "") + "/" + ToCancel, Loc_AuthToken) + Debug.WriteLine("Delete Token: " + ToCancel + " for " + page_guid.Replace("music/", "") + " - " + CR_FilenName) + Catch ex As Exception + Debug.WriteLine("Error deleting token" + ex.ToString) + End Try #End Region @@ -1982,7 +1995,7 @@ Public Class Main 'MsgBox(ex.ToString) Else - Error_msg.ShowErrorDia(ex.ToString, "Unknown Error - See details", False) + Error_msg.ShowErrorDia(ex.ToString, "Unknown Error - See details", "None") 'MsgBox(ex.ToString, MsgBoxStyle.Information) End If End Try ' @@ -2819,6 +2832,9 @@ Public Class Main End Sub + Private Sub btn_User_Click(sender As Object, e As EventArgs) Handles btn_User.Click + LoginForm.ShowDialog() + End Sub #End Region @@ -2922,14 +2938,20 @@ Public Class Main If CBool(InStr(v1Token, "curl: (60)")) = True Then - SetStatusLabel("Status: Critical error. #3043") - MsgBox("Please try the '--insecure' option found on the 'Main' page of the settings.") + + SetStatusLabel("Status: curl reported error (60).") + Error_msg.ShowErrorDia(v1Token, "Status: 'Curl reports error 60' this usually means your antivirus is interfering with curl.", "Help") + + 'Error_msg.ShowErrorDia(v1Token, "Status: curl reportet errorcode(60) ", "None") + 'MsgBox("Please try the '--insecure' option found on the 'Main' page of the settings.") + Exit Sub 'ElseIf CBool(InStr(v1Token, "curl:")) Then ElseIf CBool(InStr(v1Token, "curl:")) = True Then ' Browser.WebView2.CoreWebView2.Navigate(Url) - SetStatusLabel("Status: Unknown error. #3050") + Error_msg.ShowErrorDia(v1Token, "Status: Curl reported an error, see 'Details' for more Information.", "None") + SetStatusLabel("Status: Unknown error. #2939") Exit Sub End If @@ -3001,7 +3023,7 @@ Public Class Main ObjectJson = CurlAuthNew(ObjectsUrl, Loc_CR_Cookies, Auth2) Catch ex As Exception - Error_msg.ShowErrorDia(ex.ToString, "Status: Error getting ObjectJson", True) + Error_msg.ShowErrorDia(ex.ToString, "Status: Error getting ObjectJson", "None") 'MsgBox(ex.ToString) Exit Sub @@ -3010,7 +3032,7 @@ Public Class Main If CBool(InStr(ObjectJson, "videos/")) = False Then 'MsgBox(ObjectJson) - Error_msg.ShowErrorDia(ObjectJson, "Status: Failed - no video, check CR login", True) + Error_msg.ShowErrorDia(ObjectJson, "Status: Failed - no video, check CR login", "Ignore") SetStatusLabel("Status: Failed - no video, check CR login") Me.Text = "Status: Failed - no video, check CR login" @@ -3036,7 +3058,7 @@ Public Class Main ' Debug.WriteLine(StreamsUrl) Catch ex As Exception - Error_msg.ShowErrorDia(ex.ToString, "Status: Processing Error", True) + Error_msg.ShowErrorDia(ex.ToString, "Status: Processing Error", "None") Exit Sub End Try @@ -3274,7 +3296,7 @@ Public Class Main End Sub Private Sub ErrorDiaTestToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ErrorDiaTestToolStripMenuItem.Click - Error_msg.ShowErrorDia("Error-Error", "CR returnd : HTTP Status - " + "400") + Error_msg.ShowErrorDia("Error-Error", "Status: 'Curl reports error 60' this usually means your antivirus is interfering with curl.", "Help") End Sub Private Sub BGW_Update_DoWork(sender As Object, e As DoWorkEventArgs) Handles BGW_Update.DoWork @@ -3441,6 +3463,7 @@ Public Class Main End Sub + #End Region End Class diff --git a/Crunchyroll Downloader/My Project/AssemblyInfo.vb b/Crunchyroll Downloader/My Project/AssemblyInfo.vb index 55e3826..4fbaa81 100644 --- a/Crunchyroll Downloader/My Project/AssemblyInfo.vb +++ b/Crunchyroll Downloader/My Project/AssemblyInfo.vb @@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/Crunchyroll Downloader/My Project/Resources.Designer.vb b/Crunchyroll Downloader/My Project/Resources.Designer.vb index 81b4101..760be71 100644 --- a/Crunchyroll Downloader/My Project/Resources.Designer.vb +++ b/Crunchyroll Downloader/My Project/Resources.Designer.vb @@ -473,36 +473,6 @@ Namespace My.Resources End Get End Property - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_browser() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_browser", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_browser_invert() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_browser_invert", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - - ''' - ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - ''' - Friend ReadOnly Property main_browser_invert_dark() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("main_browser_invert_dark", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' @@ -583,6 +553,36 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_login() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_login", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_login_invert() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_login_invert", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property main_login_invert_dark() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("main_login_invert_dark", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' diff --git a/Crunchyroll Downloader/My Project/Resources.resx b/Crunchyroll Downloader/My Project/Resources.resx index 637f1fb..d19d1a2 100644 --- a/Crunchyroll Downloader/My Project/Resources.resx +++ b/Crunchyroll Downloader/My Project/Resources.resx @@ -298,9 +298,6 @@ Dialogue: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,some ideas on how tem </body> </html> - - ..\Resources\main-browser.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\main_button_download_hovert.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -405,18 +402,12 @@ Dialogue: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,some ideas on how tem ..\Resources\main-add_invert.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\main-browser_invert.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\main-setting_invert.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\main-add_invert_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\main-browser_invert_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\main-setting_invert_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -493,4 +484,13 @@ title=Ending ..\Resources\error_dis.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\main_login.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\main_login_invert.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\main_login_invert_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/Crunchyroll Downloader/Resources/main_login.png b/Crunchyroll Downloader/Resources/main_login.png new file mode 100644 index 0000000..cb49d44 Binary files /dev/null and b/Crunchyroll Downloader/Resources/main_login.png differ diff --git a/Crunchyroll Downloader/Resources/main_login_invert.png b/Crunchyroll Downloader/Resources/main_login_invert.png new file mode 100644 index 0000000..e50f64c Binary files /dev/null and b/Crunchyroll Downloader/Resources/main_login_invert.png differ diff --git a/Crunchyroll Downloader/Resources/main_login_invert_dark.png b/Crunchyroll Downloader/Resources/main_login_invert_dark.png new file mode 100644 index 0000000..d323acc Binary files /dev/null and b/Crunchyroll Downloader/Resources/main_login_invert_dark.png differ diff --git a/Crunchyroll Downloader/queue.vb b/Crunchyroll Downloader/queue.vb index d0cfc31..96524e0 100644 --- a/Crunchyroll Downloader/queue.vb +++ b/Crunchyroll Downloader/queue.vb @@ -88,11 +88,12 @@ Public Class Queue Main.RunningDownloads = Main.Panel1.Controls.Count End Try - If Main.RunningDownloads < Main.MaxDL Then - If Main.ListBoxList.Count > 0 Then + Try + If Main.RunningDownloads < Main.MaxDL Then + If Main.ListBoxList.Count > 0 Then - Dim UriUsed As String = ListBox1.GetItemText(Main.ListBoxList(0)) + Dim UriUsed As String = ListBox1.GetItemText(Main.ListBoxList(0)) If Main.Grapp_RDY = True Then Main.Grapp_RDY = False @@ -104,7 +105,10 @@ Public Class Queue End If - End If + End If + Catch ex As Exception + Debug.WriteLine(ex.ToString) + End Try End Sub