From 773ac2467930b2137faad4a16a000905055d15c5 Mon Sep 17 00:00:00 2001 From: hama3254 <52826614+hama3254@users.noreply.github.com> Date: Mon, 17 Jun 2024 15:15:27 +0200 Subject: [PATCH] fix musik/convert; added user button fix musik api stream deletion #987 added button for users #988 added test for account details and premium (probably #982) --- .vs/Crunchyroll Downloader/v17/.suo | Bin 240128 -> 232448 bytes Crunchyroll Downloader/CRD_List_Item.vb | 4 +- .../Crunchyroll Downloader.vbproj | 16 +-- Crunchyroll Downloader/Error_msg.Designer.vb | 93 ++++++++----- Crunchyroll Downloader/Error_msg.vb | 36 +++-- Crunchyroll Downloader/LoginForm.Designer.vb | 127 ++++++++++-------- Crunchyroll Downloader/LoginForm.vb | 79 ++++++++--- Crunchyroll Downloader/Main.designer.vb | 14 ++ Crunchyroll Downloader/Main.resx | 48 +++++-- Crunchyroll Downloader/Main.vb | 59 +++++--- .../My Project/AssemblyInfo.vb | 4 +- .../My Project/Resources.Designer.vb | 60 ++++----- .../My Project/Resources.resx | 18 +-- .../Resources/main_login.png | Bin 0 -> 10513 bytes .../Resources/main_login_invert.png | Bin 0 -> 5989 bytes .../Resources/main_login_invert_dark.png | Bin 0 -> 5909 bytes Crunchyroll Downloader/queue.vb | 12 +- 17 files changed, 366 insertions(+), 204 deletions(-) create mode 100644 Crunchyroll Downloader/Resources/main_login.png create mode 100644 Crunchyroll Downloader/Resources/main_login_invert.png create mode 100644 Crunchyroll Downloader/Resources/main_login_invert_dark.png diff --git a/.vs/Crunchyroll Downloader/v17/.suo b/.vs/Crunchyroll Downloader/v17/.suo index 95a00bffd291e33204361a2966b8a58af9855228..d5748e9b13d89c7e88929d677e01924a514ff13d 100644 GIT binary patch delta 10584 zcmeI230zc1p2y$6UUP_mAc#m1TWpmeU~|Y}AhsNacm*9KMhyWGuOOGgco1nbW{n!J zu1GmvgN$k8kqCC=xt<+$lFV!-QF9sBIA~1N=sG5&CK@CAtEN%biJ9zYlgWPev(=yP zt9o_6s(=0KYV-Tv=2hOyle^X`isA-tH#axKQdBSj%mU^7bV0X<(&x#-hEfFY&boOY z`7$Ycm;D57K(P5kKAX*Eg^XWkb6w*}QP%nL+3IYsQaIhGBL++^C!JsZb8w*mhw+Dd zC2$AvU^!?9o&t1U(d`TFFAD zFXBa3GYR%%zzAHx2oMC$gY{q>_!P7UC%|Pe8pto~341&k03HMrK|U}5Pp}FUfOOCo z$TZ%v!DKI*;4uX}4Tgaafs7!{YPbdPYvbpEUhYiat;p}J`xxGL`+E5n{tx@Qx@}*# zl+oOri)>^Q$l6FFdtdf;YtKu+wmmQ3TYFx*+xEPCmpw0SDIxdte6>;mPd$hMLqIU- z1s(y@Kopn(q+rNQeoDb;Zmw=_{t=RKM=)ds+6sm%DkTL&`rj)U(odRJ!6-t!zY~mV zc>a)N$ZiNkocjre94d0KwG|90?lPTJ3qhb&LS<#7kzuW7MUkhslp0c7%J5W0QyL54 zdJh91-9DJ-c_hR3(w6efz|AkHawQwpLx*GVK!h zxBBtp(P97e0_&`-uA>gm9f1b6$q+`28-lW2dZJ!-+pM4kWC@$WZYs9Qux(@u)t^%9 zDp_4GX8HUOKjarpOZc_Vt7##xI9KiZ9lBzpFTdF>%oZAciY)bkz6;WMIinU4h0F$Cc{r@JMjxp^Hwo#HpT2EHr6LNFY$0-UiTU_S*)z;8hz=nv#%vKHh4 zSp_fHGRID^>%c+hJ6~R}=k?ykq<@9SZmoka&2lo`mOgSXiLY+6^P zSGO0RY*GU)GfkS^pP8txD!{VdK)>ZjJNWU$^*%He&G`VIuwFm34o&uZuo1ijtY8y( z8Eghyz*evgyaHYY+d(~O06TyUyaxD@y5OFB;gAj3)+D2$+rDSZ-ds_7gqxECMc#XC zkS+JcIu}b_oMXt@66@X~{^7drpr>un+Sx=`In7TKx&U^In`fGZxid41)D+dgYo~hK zVrt(Z%R{|vy)@&j@<+;L6h7~Esgr0vPY;NrZ&H9TZD5_nfXysLEYD*BcbdM+ zwtm}e^=DEf>>;v!-Vnq@xvEC^Kj^x0{?M434S%_?%VphLJfstfwMnFQCuM&4Ua3zb=Z$$!6H>c1?&(gLhlobvH&xx z9`+C{HrHKMl;g1HxshVU2wvKolp+Jf3yQPSLs4etkm8Tow+8mROc7t+X7fx>KS4?b z2CpBac^d*d{f(3dutv_*F=a0bd7(Q~K7jv?NT!TzhsA0FQ~JYhl}};n%j}jsw9i{7 zehHP0w)wxRvRlONZH&?#Z&3)(eaYWYiFJJC&Oh{cwee-uL=jyw^VVpQr-$rLOWVDFPwpYzz|zvFf|BBiQzjut#WlIOqNwO$>BQua zze)A~d$rK;CJnozWb2Nz`_3F#h**5m+Bqh9xw&%8K;nu!^WkQnbhhKpP_te2@uVFg zGl*TlnCrI45|gQejQ*DdF;{6BuZUgzLyGgHdx9V+i>hdHgYUA;+n&m49pjfJcz4Tu&cVZ+p36|9$KW0WyOb=8x$^D8%Jct@rcUi2TKv z!b`U^w|0FgL2ir<3XgsF&z7&gAs_9AKQ$8#wcYr}jX13~c*gXLh>ocmlwUNx@KtVl zr%d#n%RH${%v;KOd&S2@L`U~)3Ehs+Ty9!px7?aZQMOsP7LW)%%rfO1?9Fp7hl`_v z`3d_g82M|ihViD$dTzYhsqU}DFQvGzbf=-7vb9^y$~+pXlP@dlX?}!sV0v@((J|Qa z{XN+4JN@K)s}XrbnT{2&^bz$${{36ST32P)k?w2o4Y<)Jk4&|tjN9;Q28wFC{T*YN z|0$Yx3x9yyeRS?N_+#q5yO?%OfvCiwy~+n*(a^res=A6lsT9wB%8k6q)&IU8Tj&L? zLPv|KhEb-jp>3XG2BRbH_3(PFt+&Uws8uqGL-DtX!g;7)ps+KFb9n?+4;MFFsBeqf zjBrJZ%J0=9uC%rJSn{!Ixt*8kU4T9L(cOlo&o{r*Aw6~C*IRu~CJwB(!|hpC_1KQ; zz%1!rwc4`cPiH^Hlu^?@#RfOIm8=f|Pxq7XKk|?cdT;&n>i` zc(rWUt83u)-uK7Ve*FW;)e@HOE)O+O-@8rNvUy!ZHNoT`@y+0*vOAUXx>|oiJ`vgF8BgxUt1VN-L7j z{q|XI_V1G7 zC+KXDbt!pT6N!mqlPFzFUr&2gk(Ey!h5jXS*Mc_EQWCQpC|KwkDcO1$`EH>xBvx;s zUcw%Xjq?1h6ec(Sa$NYgc^orRxE9`@wy3h)2pleTho)w4P())r*|DKaCjC8?aTj0J z(?)H=Yc!68WipKx#s#QE-gv5QCq_1)e!9J=pS1|pwI3k!CbOMbjYg}q;|D2>M36>v z#oRaOpqCHM5ary|4mx$46m#}Sp~&}TL2^q!TB5E_UTVF)QW13kmFCMDbpKAO}_nWm}9otnqJ^t*7 z{a3>;LUoe?*BH{1t*9EI{Xx1B9ijt`Eva3OI7zc?PX6D&AkeQgs zv!Wc+B4%)u$ZIo0#r`ywYONuiICF@Z#Jn;*90ws;&2XJcXX8b~SWMT=3t0zIWyNRS z+Jb<-IV@J3IZs`MBVO(xoS$@`%FNbB7}aDU!iK3#FAluG`U?9K%tah6ViCeF1M(lo ze&9Mb{s-<#k#jE+a%#NT@OVo)z0H0KTWEV#m@xNIz4eFZ1U{|pY#;x~I3=cJ`o%*uhe8M(+b@k&}m<#r}Qo z=&_}a!}}D4#K2MPA-4iWp2R8QP&P|(8~v`FsTJWiiX{otE*91$9Vdq4aV0QGsZwU* zb}0_`GrvL(OuW964QSj*FH=oE<1VE{`L$B4H6NlMKe!xY z%`ujCkX^+#URGP-^8%A<&eGn_$WM{8;aJDzmJD(j@nt4O5;+E9_Gc7{qOHSWjbzc;+TXC&3Oe5%hqpQ>2jA@)<&x$z2Z^cD8=G|oE`{V2N< z?ZK1?k?+MKRBxw4oANn*#Kcnxteg1V1?n!$Ud&5)T_l?@d$T^GPkXjfl=fuvL{l#o zBA)VM8-)2HnPjL*gq)+^+PMzwV-ii_EJ4PO7t{Qp)ASdqR_HskJdt&teEEo3eZ}(g zv|aqQCtD%%eBqA-MmK=@pwdYN6M?<{nEDULQvl&O%N0%e9UwrA05z0MJ7fCdq1 zCUj_bQF4(+IMT%aT^d~Gl_T|ZhMy&mU3Po84drIVGu{_P*4hpDd1oFzuVBRwSa#5G0 zhKcj-S)lbK3dg1a1!XfcKQ`b&alw;4K1z;ud5;>0=NufR$6yM|Jfm^9n(A=J z!WE5QIxbWr5le;*gv*HEK#-;+;W^0hOH*P+w^8iL6nsfqc|~!-R+a#EjGoJQCCU#mC3TCJc;z zrYbQhDX}mvu`qIcVp4u&oG~^oa(sMzVPtH-*a?XR(Gw>W#1yvVIrb;b6OuzxdZd|R za(s}gQ_|%}y+LA386>QB26GdW%GhtEYp`!tOJv7W-bROM<{b>PsLxo|MeDGd^(U=w zB|AdeyH#u(iR7(p!rjKv&^U)kN$4%|cFZmZzswnW>vm!%PX z!zplpM{8wgri&GCQoLgqk+zG)dW^esigi~4aRCu5hKHyDVs-~M$iq1sD9*HULWpmZ zPBU56P@voE3!D6rO|HI>}EX$$z&g~McSf+tdelZype>_myK&Y%*ey*AE+`x z)+@}l@w{BX{10_n7ZMFV*eaZQ&WCR)2+;apXK$#&o=FEqNVOWKeQ}EgsN%Gdx`-~m zY}5BDKxj36W1w2@BGR8xPsu|_H+cxDD8JT9+|-q-Fm=Wd{K+(AiyHmeRATZEYQmTg zSjYQlaECtq(TY*9YY=1zRH(M7y*iu3u>`D3E}K}#UqDli{(l8|UjpLTWKC3=c6ue-eXnwk7e_mwm9iSxvyNF?+ty#rCh__t zmgtz%?p52pe~jA3eZu`TF_fuXZU2%gT@@quu(_h?IaSAB_}WLaB&)?F4%*p#v40;6 z)3)tr*}lTi%!+tOV~DosVYLz)r5IYp*KZ5g4t~WRb`#@+)Ko3iq}oXs29y1+26k%< zR?F%8)hqVP->|s51!tzp-tXwHCThv;)VHw3wL@a=)GMr1J?n&C zc6a7F>r55(Ti^HS!*?;FQ{ zpDX>E7-lzBM$7!}URZZ>-g$O*-gypo-gz!{-g$oOyz@Ncyz{iiGWt=c`#)J}{|SoN BN*w?I delta 10978 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 E7l)VD$p8QV 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 0000000000000000000000000000000000000000..cb49d44faeed0330582e769b79f55025ffe4229d GIT binary patch literal 10513 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 literal 0 HcmV?d00001 diff --git a/Crunchyroll Downloader/Resources/main_login_invert.png b/Crunchyroll Downloader/Resources/main_login_invert.png new file mode 100644 index 0000000000000000000000000000000000000000..e50f64c47194e176a943e0774b363e680762fe87 GIT binary patch literal 5989 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..d323acce9c441b02cfa34afcab7d41371eb665d6 GIT binary patch literal 5909 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 literal 0 HcmV?d00001 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