From 9c7500d4aeccb9419d080aef2e409c155189e7e2 Mon Sep 17 00:00:00 2001 From: Keivan Date: Sun, 17 Oct 2010 23:06:16 -0700 Subject: [PATCH] updated notification ui --- .../Fakes/FakeNotificationProvider.cs | 2 +- NzbDrone.Core/Providers/SyncProvider.cs | 14 +-- NzbDrone.Web/Content/Images/spin.gif | Bin 0 -> 16346 bytes NzbDrone.Web/Content/notibar.css | 23 +++++ NzbDrone.Web/Content/style.css | 9 +- .../Controllers/NotificationController.cs | 8 +- NzbDrone.Web/NzbDrone.Web.csproj | 2 + NzbDrone.Web/Scripts/Notification.js | 97 +++++++----------- NzbDrone.Web/Scripts/jquery.jgrowl.js | 6 +- NzbDrone.Web/Views/Shared/Site.Master | 5 +- NzbDrone.Web/log.config | 4 +- 11 files changed, 93 insertions(+), 77 deletions(-) create mode 100644 NzbDrone.Web/Content/Images/spin.gif create mode 100644 NzbDrone.Web/Content/notibar.css diff --git a/NzbDrone.Core/Providers/Fakes/FakeNotificationProvider.cs b/NzbDrone.Core/Providers/Fakes/FakeNotificationProvider.cs index 6df19146e..fe0a4a461 100644 --- a/NzbDrone.Core/Providers/Fakes/FakeNotificationProvider.cs +++ b/NzbDrone.Core/Providers/Fakes/FakeNotificationProvider.cs @@ -37,7 +37,7 @@ namespace NzbDrone.Core.Providers.Fakes fakeNotification.Status = NotificationStatus.InProgress; fakeNotification2.CurrentStatus = DateTime.UtcNow.ToString(); fakeNotification.CurrentStatus = DateTime.Now.ToString(); - return new List { fakeNotification , fakeNotification2 }; + return new List { fakeNotification }; } } diff --git a/NzbDrone.Core/Providers/SyncProvider.cs b/NzbDrone.Core/Providers/SyncProvider.cs index 4d8987054..8621c16fa 100644 --- a/NzbDrone.Core/Providers/SyncProvider.cs +++ b/NzbDrone.Core/Providers/SyncProvider.cs @@ -37,7 +37,7 @@ namespace NzbDrone.Core.Providers _seriesSyncThread = new Thread(SyncUnmappedFolders) { Name = "SyncUnmappedFolders", - Priority = ThreadPriority.BelowNormal + Priority = ThreadPriority.Lowest }; _seriesSyncThread.Start(); @@ -54,10 +54,11 @@ namespace NzbDrone.Core.Providers try { - using (_seriesSyncNotification = new ProgressNotification("Series folder scan")) + using (_seriesSyncNotification = new ProgressNotification("Series Scan")) { _notificationProvider.Register(_seriesSyncNotification); - + _seriesSyncNotification.CurrentStatus = "Analysing Folder"; + Thread.Sleep(20000); var unmappedFolders = _seriesProvider.GetUnmappedFolders(); _seriesSyncNotification.ProgressMax = unmappedFolders.Count; @@ -65,7 +66,7 @@ namespace NzbDrone.Core.Providers { try { - _seriesSyncNotification.CurrentStatus = String.Format("Mapping folder \\{0}", CultureInfo.CurrentCulture.TextInfo.ToTitleCase(new DirectoryInfo(seriesFolder).Name)); + _seriesSyncNotification.CurrentStatus = String.Format("Analysing Folder: {0}", CultureInfo.CurrentCulture.TextInfo.ToTitleCase(new DirectoryInfo(seriesFolder).Name)); Logger.Info("Folder '{0}' isn't mapped in the database. Trying to map it.'", seriesFolder); var mappedSeries = _seriesProvider.MapPathToSeries(seriesFolder); @@ -96,10 +97,11 @@ namespace NzbDrone.Core.Providers _seriesSyncNotification.ProgressValue++; } + _seriesSyncNotification.CurrentStatus = "Series Scan Completed"; + Logger.Info("Series folders scan has successfully completed."); + Thread.Sleep(3000); _seriesSyncNotification.Status = NotificationStatus.Completed; } - - Logger.Info("Series folders scan has successfully completed."); } catch (Exception e) { diff --git a/NzbDrone.Web/Content/Images/spin.gif b/NzbDrone.Web/Content/Images/spin.gif new file mode 100644 index 0000000000000000000000000000000000000000..085eb46c451bea104473a5956bee96d92eaf23e7 GIT binary patch literal 16346 zcmajGX;_nIyES}gAoEOs011R7K$sI`2oNv{VN%e5%pzq}RJ2SYDrzPm%mITUf(ArI zixm`SY{Mj=sGy+OszpVM*0yN1ueO%`-e{lh{qApn`^m5SZ;oTFa}C#dhJ*zRd{RY# z2si=&a41}@R7)k&!Tv!Gi__lLo{^R@`(&0%q3Y^&(NWQpw}6yz1Wee)KF z!BtgMg)a*qyEf+R=-hdtGkZh!tCz3n7WC$(=A^`=2j4vq`U-n5^%ie0{`kj7I0CLN zRZD}VgI5PRcAWO3?HOw`W}nYeO{u!Qy6D*G$-9#tULHN?dI|~)-v0g;N5ECpRE4hy zAG{q|MqFd3M4>l(yCp~!dKo}tG{ie5gSMkS%k2e2-T@e($Do`v7 za(CsyAOHZ^e1M~2z*4{&{09G|2mlZZhC?}_&K9*Jw~(XRz6bUN-$-a%pH_J<|GG(l z1p+5Omk|tPk=VSSE>-WN;j8WZo6LO~tQT27BoX=W?O6h|2-}kFP=Mq`9E9|L#0-M<+He&Lu-AZf6vpg&N7Go)V z`D0G7i^a8gbb0DZs?sRjR3kp})mOw$8;EdS8-9$y`JGPQ}rBasO~NFVB^dJmx&n!Zd={N_$X9= z&Skgt68Nc6J*6Ge?H^s$D(?664xaXVqG#^Cq}V0Vp5-fp+BukjjGs#}Xn{#C!_E{} zGy!p*GDPhoFOjRt5hlqVeM!IYQ%TOw;mjz+jL+Qs)1T4AIEr-MWCsyz{gW9LY z*!US!JLV?7QrR(+B7xaj@#UzUQ!Hg^c=#DS@Q`13aEUYSgA~TU%Sth}5e&dm*1YYy zE{-SEiFoeP7o|?3@512nu4&RbGvajD4=i}R8osSmf8*TxKXG0Hk{KlDBAG$5u{a=;L4GchjY0*{9}=5R1ifY>ixB5XSp)_NkTetcZe|itX&~cRdtelu9kO7wEla6J%gNm=9 zrf#MQuVqxDENe~&rEhtA9pqbS5ci4Vdp5l>$*T3OM!XPeW9#)YyiL+jZexGcpThST z#VKk%aHC9&T6HwcLet;XCFdTE$4mU9UrI(p=mRW=m&YGgHJ0({t9GbQ*dH|$PETLI zS6WUksCzKC{6fmifX3J>(_t-p`N8lHPgD>>QpTfKX^3-!ZXP@4XOuli6MbR-&&Rl0ak=A7;%$`4n`JLaRVoMmQ zEshp?-6;IS$zxK~N8qXqnzIcWxFM`}6&B~;#+@F-xz7v?LhvUf5;%4}KhP+>Jn9SM z+ki@pHkI#@!@b0B@y4UhfgzMa$N+42Vxz3paVd+O;X-e`Gwgiv0hGhL+<02#_%$aX z&egN${D_^8RofBr@<;0C<<;5GT1lChys%Zf$5|tdK|SUOVnxTh;PNz5*ij})(}hg) zZj=Fp)bTL&8s_-8Dz&mDC6MZ8!B-L>V>6kV8;l_Ti?~$QPCXsT_B}Mde3*Thx#89T z<=W2+$#@t-WEa9 zVC(_@7MJ}6aPJkiZGv?zflk7<5|5SWQvhLii@&-jlfE+Gvis^U@!ZP=td(9@>3cW3 zpsr@}0#;f~IGZK2)30)Ujr?SU34qcM3d>c2&5a~$w(s`K2$?nJGRgIRtugDWL&nc- z{In@8jhAH;Kb|4(j&oc=W=W>7M*KCXopZ(%LW)T!GP+~rt zMNqszmHBKILGc15=CfG@#p|=mfL8F}qQq1Z8aj>$K(=xxZ+{r!qDU$1pSNGGxe9@C z4?qreh~93pbSb~TjbI4!k%wJ>y5O4vFUV&yWOj;7zmlDiLY%Sy1iq%eUP3SDS^rF4x<`#i>ZYaU0^A+ty&T{0Hnm~{Ek5b5LvUz8)MzUTi z=~{`dKruspEL}h}t%&MM%ZUmJ)vtWDvrWt~;Bdn0Rf2MzMyW2iK*~*(h)YQJ!CHgi z@XI~OL%h)9C^j!puo} zgOb4GioV)ng&G&*5bC+$fARKzia?-B=~sQ_VKv-Qu+0CFua&tG1X@JCe4 zYWoe=vKi`6V9p?M9TdZ-7x(lx6Dy zx><%X?HT~$-ftr2WDjLWjD39%oSgb4;hNp!NNdM$Nv`&LjakX$PqWt?rib`uZDj?&`mj>KJGl zGy_p6N~p$F0j7DaO1!DplzRRrBe;hIGE zvMu1v6}1uMidDzE!b;yb=m+a}CeN0J_%e@M^Si>7zq4~K6?3nzjFcZ#^kN^8S{0id z)ZQkfB+UW9($h;|=bqBOQlD8Jh=hC4M9F0Lc2?i6l{e(cOg?P_;$o-UV%Sp9RRCXI z{e65_lPz*ww7f9bnUomkvZ)6sE$A={!hOq|UoAC%@N5LPs#tGuPsWtq5l|s*3Q{%*8LOj294h_b7-L)~4Eq$d`ART$*wl2=?f?$~a?Z;3P zNcJiu5~#OX&W?((X>U%Ri@JspPAVj}7jCeQ;p1(U<-7C6!}b7;wDmTt@Z-QS!j{c% zCAjV|3!}2*^W*)i?Pv8z$<|#L5GeN^;CU)LB@Bu3D3YgdTZ%#faBi1gjKgyNcnGl- zO!VXIdzbxNv`=xT60h9JU3N0D@_fz8V6hyS$$7rab>$a$nBCY~Rq*qo5B2)9zoy;{ zxp^pn1us$puCacMov{p@N|h5s0KHgwFp=;@b&&@##;p(#m^1`h(wkHzF^o-KJIehP z9ZHv2tF7)W#dy>iCFjzvs;zXtJUs84ltr{VnES^X?;kW_98`TGO#LBXwY)U4z5RONfzD=^H+>B89 zN^p-mtV6g{pYY}U^g28l8F^vrtjLHVn66r~Ekk-rjQ(2Kk*Wd~(91k(GqMKtvkh3J zGHSnfN9pYyHuT zB&Xz|D`{ym7#d*apm>sBAF;`ZBQuXn6)G!lf~C15x1X0b%lVNu3!7w6b8N9CPy7uKHIe6U3+>0I$@aAKRTj_>}(# z6{fOFTpE=|LaqP4vRPj3)LZwB3N!dujv=Q3GWE-hY>g)jL*|=aSPB*Fc&=Y!K=h}u zX_;`RUtjH;2riP(Ok-AQJT*p`*gQj~vSX`M($qg^s1IBcZm&U^ENB5o=jrD%gtv)D zpvfD38zatrtiRUec@_nTGwrd}plvC9=(bIhro%`O-s0jXv@E0bMP2jOWVcC~2w~M> zkmp~UCneB(XC5m|T)4)WS-FFG$fD?^Ogl^W;`_tU0*FYpCp0DNs1spLeK{-^H*ZH1 z=t$AX!Y-d7moHbmnZ)B~!UmDYwj^Nl**VA2V8Uk}&lubm5(qeMj!U;B>Bqx&9kMzP z7#mH>0*S^wA*=rF2tT2-xH9^9OK0M#>BmQ&)imW2_OI8u z@tca5B5u5r2fOj%#iam6Q6XXA%F4{+iO9-OLTYU>$2*=(vu%(#3HO&-#d}lJ2+ zp6&0`VZnhuOng>Yak)YmP2fwt+F}M)|%`5@xAu;hQ0LCqK|V1)*#|kmRI8gRcZ*pM|t${%6=cg z5{gAtJW`qB{-uy`+6HDC5eIXF5X*sjBWsismH1-RzJFM-(iS^0JY06zU!Zq<-aB0O z)E}i;|NF4L^s)agk3gY|y^0VRlUX~d$PceP-;im1pZwTEgFg5EBW1-bEX)dN=R7!8 z<5QP(92azYm)gym{Ge957nUY^&$2(~u=ERQS1a^Y8O{K|TM#)VpDqM7j+$nw|Lu@oxN-|=L znFBW5j&mbWx3&F5Q~P2rQlW58=_{BQ7L|B)?O*o^)DU>L?r<0Mo8IG4k$c$0GD|Z?6OP1(NYiKLGfnu-4rMs@cin&kFwMNRF0UeWprlZk0z*L7 zOo$Gp%>dT|tveD*5So`W9dR2*M+1?kA!gXcaorK;HkXA$;odXx`Ib3h*5+Ji;{oWQ zWqSt!7m!SN&$qk*h$NQsukPx94i=#C|5QXT1`E*me=4FEg9T{(KNZnnumFR?e+CQC z`#UZc(Tl+X^!}fU=*3_GdjC&F^gk^$m@2>&@=vM&Q^-H50!$(QqzW)7fW;M9bb-MF zOf&xk3oy<66D+{Q^G~nOZz1x2vQsXm5FWx|@Sq&A?UE19mmr30|pt%B%KnvY;QR zH%l-vi>`sf+bU4iah_CwwLyhPbyhUQbJOXF?Rd9~ZgfjmuE3mZhAoOCoKAN#-DHz@ zz}}LB=ullLU=cQ&-mdrN`5g2o?Aqcx>)RxEBijBXnc2lD+t;w*nD5#z z@Uq90JK#Gqv>Zt-q7)$XXt+|9k4S(xV&K=L50fi`qnEr0gMKYV$A5jGQKRtQug>7M zDelxSC`)%ozwOBYbwY!QC9L^vNu*IBbu&kH>FqV8w1ES_c`WGQi5Lv$yNSb429(*M zWVAibWZ-;~K3;^h%_iEoNdEdjN(*Ei+*(EtolF7rL<*Exu0;)FM5sxJy^UN+`%?SK zuT8KcC6~_|?D7|$K6z~ozeT*euDH zHc(UeaEb^j^9`wGf6>*DU43hdWSJSO&+WL?1xU<;0M6Aj6I%jM%rD#Ftk@3a${wtP)QxEs%7nojCCh%ktQKm0AyN)4 ziR0);w!$-K?$W94-K9w1mfx@WVl>QAlzC@le@MD^ZV&pFE%cVfz42U$L|vqnKv~(I zqX6M+n=!g?Y@`B1rivsGu2A2P^Is;3;JIB?2Kij9GHJ3Bc2b^^S$jVW!_Sf^1Bl}> zsoDbtN#nD!KW5Md{J9vD>O*Pc+u{xs{bG=$bYJ+;2gkoc-`#Mam=_3iMVJPfvE`8= z=1$pw3R-WqZ;%o(E`t#H1;&y8PG~^)1PaYBpP>9-geJG3d&uefW~?0eyBl!%5as|vl!iW#_ST{_%PyNO6hZD=sxpKVD$c#sv{8po(Sq9c{W z`SlzVaCWSmO?RCNobHb#J!D_dc2 zimc+zF5#691Bc^_+#O#(4Zgx>I(MnItJms7mTbSCLLT+Ay^Dk9fxs z}Z}{*PGn?zhO^f>ct=WWBh1@@Gh^|xA#rXzUa78 zx6Lcl#$`qAXpBHR^wZL0PN+j;!58r}D`$i2ew7P;ohdKS`*OSwLtlS|OG!qCy!;rb zA3*s4rhO~frqp?YtGz19FLyE4esVC^!QW`J`~$_NrOEtZ6} zIy1#g-%i6YfitN%6o8Fq#!76uiiS|X?kpQJ;^SZUAsj+U;kML|WkE21aZ0O+Ns2** zCR1f1^rG6}m+zIRYU4yN#HPgPt(8onVDu`6o<=q_RgdJTBC%DW>lj{*L-mLqtdK*I zp76vn!scBCu&mNI`r!mC8b*P0dB0vq{IvlJ#aoT#JT!7C5JPE&x<07I25#dZ#ZxdL z!Y;{9m;HM@$87iq&nKVm`D~o}x^Uf7>`!=Rq%PtacWdm1cXFCXp;DC&*}0QQ&R16z znv`v3I9KZmT(#LmR}juZ@5XpbdP@s$M{DdNp83aPt%abe?uv6_9i{tPIrup63CXE& zzXUflQtJlcsTYCl7UPDsamgkFtSK!FS12G4pAUrH0_FDF091qxU zL0(&A&Y@dG2fwv3frkkMUm|P7KD7Qn^l}njM&WM~^`WfmAYOYj$LbYi)t8cRfGJDQ z*ju4a#9W*w0VpJGja7nvg?6FF#^)t(uJz2d%VHYNq6=mNG_*bxX*`V1^hO*m1sin5_~IZ1<7?9Q>& zrPVX384r&#sp4jRd%246hCKJWWN@9g-#HaC@BXNYMSWf=m`@Y?>?LfcPD5J}TaXWj zzS=7L!9xArlZX6wZ)(uZuf~Q}=gGdaY)O5(sV{Q;p7m)H#7)}{wRXI;{E}(qhha3X z&-g!R{6rYJL5=Cyox;X#vVqmtey?8$fmw3VHZb~$AJUSRd?84RB58E#J>f(#Wt6FS?%I2t^vbpqze9 z*7OTm6ksOHuI`>5{w|=8J3euZfKz4lEQuWMYpRz9jO0X%uQ&U;uP`{DHtbtqG6M5Z z;G2a#8L8sUee9NLp@##v6Ha`P_v>-8vJP6t<6-!r+k_00s1#DIH5fH%P8qOiUm8J1 zr7C~6R27Py*#~BalYnJkMi#6hjJ0A24>7ey=;DWrsa%x zCuT$AR0Gpeg2PD~-_7bN8At_<=T(|_bNNa=?&i6^2ww}$BtgC96=EWN1Ib)Jc5~G^ zvus-g_UDh7Nga#X$X7T`(s1-;l%O_{x zRO9&HBL3}6?$9N+-2d+$V<6{mj{z1npF9Tc)*v{ODT^~XjY)Bd-nofL7N~30P?w4X z22R_kwky{KTcY;277|)wZQ42juOo5%^C2n!4zQrV@HkuG+k7$B zgqOaEQWZ_xgjW-hTC;@qDGuy&~_-GS$_GQJ`FBMC`dJ+qTz1Cr=043HDNSV{u z-YVUdmPda{aqjIT7U9egN6FS=b2GK z*3wh3)g$tZf}=}!>UZH(n*&2rkgoANXCBd*CVeCZyyl$(pRUarAWxWsR9{-8m6#0Cpk|upJ|=@M+^}|~3sa2aody9+Ldgz?VYN&I!pZ7k4=)(V%jhM@?@pXEV_nlrsfr%Xd2m~Y!B z=CZ<^BLmSZ7K7{IsDFa%|6j8nmFTn7a)?sp?ptVW%%SSaEnML zeMT}LzKCQ-MYbhZ+o%M$i*)g}r2TCLG~0u5=))%f$76Ajul757e;w!5UF+p`HqP2{ z%imLZ5zMJ7o8AO()?%TKyd2_&B@4&Wcs{qX{Ty00vk|Ram$TLg^CvNL{=IyFY4Z9H zDRv*g+w=R2J0j#TR8hPlOTMmM#i00+VxIu=ej~O!Jof^3;+ongjY2h_Iavd*VN@1~ zL}fuN8#^n{&;(9khp%U8GvE+9xNu!(4b{=_EDME5n9$oFBbB65V+oE#=`I+7($wMp zdXXk|${K^Z|DON&C^+X^4@;eG+rOFN##k2tfJl`BT|;6zz+8w&zdwb3Nkr z0%d`$lo3o-GAXB7{3TP&m7VbS9YI!$SDNLUQUUk1`FT#n3hgvOjjpsLULzNcr(7&G zni{#>l=Fj_Y1hl3#{HtWRG9OsQ9k7weKrDl_R8yR=N@#at}bYOH81ZOjr@$W+Ud0^ z#!M{}{!pIaaATL+gEZ=2diCHbQ>$n6+lM)|qhGw6sb%0&mPmusxbw|Po{d2vIDC1k zQlWm9g2eYwUn|f7mz`tP{sro%sg_n%Hhr4S+3#b_eHjF;SteQ3@Fq#V(}UeOr7j_iW-f9!e9KG$&YF==EO2_BeZ7$05_sIAdN{ zE!F=_oO$}cu%c}t$h16vhI>2G}IK@PJnl(<~= zd*lbB}sCDR!Mv3B`01Y;J~&4gFj8&?3+1XNWXn{;iWK%0Eg z3F%qn$L&wPR2b68P{;m4fZJ>h2ljg`xqCyq>p>Q$!}jhf6>WjX(+ntku=2~M%I2DC z)%rCgN%vcIG#}NRzDArge#>U(P}hZT%>K~t4@79Xf#l7E5blTcff)5)dJCH$sPRMC zMDRg$H^w5jKeMpIES0=w!Up1mJad6(2>tM0a%hQyNirCj4dTa-+S)Lf9o!|G5=YWpZr%k&Tl6t7Y z%ldEv;n-gAjgzrG-i-Qn1HEa73kg>i=L!6$Sw4EmXNNH@Eg-?#-!J+TkZ&reE<5bc zr}2!x3IwrSwT0wrw!<1zd*WrF@$P&&Tf+x}M&iKNPJk-`^3MQ9Od1wNd66nNW#N^a ztUZDgs>29++-Meu6&o4`Gfeb#{glBnuGU}7_>I{ox3SMbQTTgqET9NLG|qvElGYxK zvnnbod#WZe{OS_dr);k3K*szuqFXi#jQN`G3KyVIC9A#;^csOI&SbIsI3;2JYeFe3 z0A8Z?n>CV&nBSo(Lvb327!QX->%N|^B`Kr2Q0kPjr`G21pcE2n;C{ap_F*1A^4qg< zd2zVw#{0R?MPw>$a}q62PY0_H*N-MLRj=ZA)88)_4Sp|T&5u4*=zpt0Z+X!nt2w9E zpYuLlA=aiGPBKwu(~h#!hn^YT*n;hLMT8Ju7O&nCup_NW0ozyNLFE*LRy_QW$_d4P zhTIF;)~r1af4lmL}7hmphsN)l~rYY2aM!swpbOsW~=!~87 z@eX?@!EH6YrrPSih6Gz*@`QU2=1JpKgT8qtP+GHQT!~FKh`5U{o8an=tmz91yGJHQ z+xGCTLn2uJ-f?`j_z?8BN;_ia-`(Qt3w)5$QBtjb8?iXPpu>a2=!3Y?=y+mra zyF3rdD6O&Nf>kpJ?V1v+J$nQuje*1jd-#DpgpD-}s%HZF$R79B53(mOJX>?Zaa6AX(z?H^ElI=CcZ+8~Zbk`lb9JMGZv2~kOk2aIZz3qh;0NmG4 z`z|guKe*O>oFcEbW#hzA1;%Y{GN z-hR6h_U$gwjJc2_ZNpvu$h)7G`Lp?~xNr1F}B$8TP+kw=|&r?w?a1%AWOV ze&lZci`}2jDDOCT_r)7gIG84-m_(N-Qc401=XAqJj4lloKrVOa7_z>*DO)J?wvVJM9bM_IO@Yh7-?xpmc zDQgesAFo0!1Wdi}n!oz?SRw`5gNUi&ZSWtgDHn1BfxCl!hBR1&yn3-yITqluv>X7rk&QZ`vxxuF(Pr=Gr-u%Hl8EZYkbq5*WfE zi<(0I-P~T~5M$BuH?p6EOBUbldGI0kLDN&6+jl03`sW3-!TGW2_h*A|mIZQLqPMAn z{lD0$0iZ7G>OfX``68}^%*?&xJ?rYg4Hbzc9q<8b=9W4yr5XlL5hkEd)VVi-?Nun(8)Rqaf2CkC!&>&__F1vcx#LX z<=Sli+d-&0PQN0;Yz5>e!boz5cis9IzLlMg9c)1_ZI?x5_yp!pJ6&7&nnU%PEn zukaw2W$Q)kA+(n}rQFbvHv(zefT*ej-zpbw$m}SY@7KRjo(o_JC_}3NvWBpn@j}F5 zZ8(g4@kit7YtM(yqJN#$Gp~AHS3z+ZA3Nlso9;UyC84igz#=v0V@#(7zUu}j1N8Hh z{jDkXjfg+bMUcWdKpXY=dnO3z5R8-@@J5__@=fj0oyEL4)#D@U#*3lSy-V)@R*Ne% z9)|Gyx1glv3s=RD_4&{AJ1r(l0&SEl?-4^^x8CrIg)|=|Qgy1Q1{~CVJNI1@lw3=+ z4!`UrIaOQz8ngACgW{VCtn|qDmI-}bwS*7B?!O;b971JFar&OC=;zL!urG=^hN~E> zlo?VaGGhvf9*^P65qA>0TG+^2ReMKbV}&x6Aa72V%AS)(O_`X7f{O)}kMmWPoey(^ zwv{tyRA1J7yc4oCzFG8Cjn+<$Km>2Q>n!e1K1qQgvo$5iVhuCJ)Fu2F1|wW_Bq>K{ z`uyWM^~tomvlIRM`$k^Rm>>*&1G(FJZ$DpKkXSV0QsZnGXvur8HS+gL3LAlW(M)lW zCo%lM6zG;28$G~{zYpVc&|GX(;ubNk>FnsEBBF<0b@T*k{KaZ-a5LY7M?*jnIO=zY zNMX2f34X=oxQgoVzi$g4x}lFbu1f?T@jtz-JgtV!ZHJJkA!e(4PtU!L`9GU>fF-mv z;#k~+_pZ|0ZFm18hRE5b7Bb}VE*NAyL9J#YEH&U_3JKuH`!j3RG!tE*Q_>n%ytVVe zTCZJlfA|-?d@wWCx_isgKy%W6&@RCmb5LO4X3RS85YLaz9k+iOf}@mBACss&x9`kzH18r_lcX$csEmo;;dy64d*KW=M- zmHwGkIvf-WpG9LUBKwz1mL#R#azw#NWLA#<8=|S7G!%tK_r?tyNzSDz<^`%+Fd5*Ev{e% z$YZhM+=B9!;#Rg^!hUGs?b_nb#B)9SJlI0T&J}SQB4` z+Jv!gwm7@DJ!a5^tPvf}4ZlEG4lW$V2M$PTxFO-{Yi5%pNMlOW*z~qpIH55DO*x?B z{$$IDzv8%EB#sL0-epH0R6)(Z6POfUdADZ>1bVK)f>m-4w^Ydd=G~FgtyiI@r6hon zJ=+ghvtGdy@7H&0&C%4!Wlx_zHKo|qBwF1Dls49MU`9qtmpq%0M1@w2w?U-SAuRK2 zUF7p*Z2gADxBjz18w|>FqEFYW8pmhB=bk)Hz0lIq$}x#? ztwJ#keO^Yj`F3K2&b2cT~p>p5f*B(1KW~*TP_JIjgiWOFpoK~4_I8y1QsD+j8vt4CP zKeNvrJS9Y(agDb7b{`#??=p18G1}P6oqFinM(4J4HtiaxAADNmL#MA%(qhaw_i^_5 zY~O@yb}`nNYb4j#wZ_|ZNA&d~^J?<((n0xaY#+`6EBhGr*sWCy`DJaSr0wy(a;|B4 zw*Ix#a2?@WoE+!i{?r!pKr_;4E1_R!u{nE}$ufWi-vC@T&gJ6A7}b!e7@f8bKSi6QNEgRnb_uI6SRU+N+UBq_8N=N01m? zr;V4GzaK6O>=k-qagYn4SD^tnp%19`BQY2>KioSQTXZ8$-xpYjJI0s{=`91iM$fN=NhJS9xX>it8>cn z6rX%X348dIw_7{;75Psgy0&hMR&lW$O6)xT^TKzuaEc*1s34h2cFqrZyM>}0JcF*QVZX9faxA-ajI^XwVSh%$CsYwp-vSvjQ_j_GmOfv)4qb&r(c!1Z0L#{7w%L99Di?R2@AS8<{#Dn; zylm{gV6ctc#%xzH)_&_of3Vw_)o7!F4op`;I!X;4-q=1T4)&WH%OGx#wUFy;!{qf( z;?QBHC9{pMf4WL0ev1J~D-8^eqJG4e^PL#i+3fbZWwLhU0zB5t{h?5qY6{bCjo(kN zkXk!f2Zo1sa+D4_Bb<{1El+Nu35u=r=u*!}(5nUUF?eib89?`w32CkUN^2xFJ~gFs zgXFHz9ydSrRuNOx*HqZmR{DM=LdZ-e#go&ePnVKs+TQa-LDkorvK0h}?cfD)aBSPI z!`nS6NJm6*XxCwR<~gF33L&C*3(RrXTQxbqtfnvxLVr{Z6?9G%F6J! zaKUINobIa1q%%~%BHn$x47D;y?{VEfb=F*K=ENyptKQNXEo!ktbjm0c_xJ8t0;|-c zzl>RIY~J(-hR&wrpnfB>SD_x}XZBI;dOfgcbo6Wq#>6>pG$gucPjx~7 zEvJoSsvWFC5rQ8p8#s6!2My@cxiQC&*#$C;KjHe4W; t7=0rrsj$_F&*Vg-Y57RKIM$%7IhHU3Me?<>aQLlA$ZBFT!4wYo{a<=D1OWg5 literal 0 HcmV?d00001 diff --git a/NzbDrone.Web/Content/notibar.css b/NzbDrone.Web/Content/notibar.css new file mode 100644 index 000000000..c9585758c --- /dev/null +++ b/NzbDrone.Web/Content/notibar.css @@ -0,0 +1,23 @@ +#msgBox +{ + display: none; + height: 40px; + background-color: #272525; + background-image: url(images/spin.gif) no-repeat left middle; + opacity: .9; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=85); + padding: 10px; + position: fixed; + text-align: left; + z-index: 99; + margin: 0px auto; + bottom: 0; + width: 930px; + font-size: 20px; + color: White; +} +#msgCloseButton +{ + float: right; +} diff --git a/NzbDrone.Web/Content/style.css b/NzbDrone.Web/Content/style.css index a56e1a7de..1937b1135 100644 --- a/NzbDrone.Web/Content/style.css +++ b/NzbDrone.Web/Content/style.css @@ -10,7 +10,7 @@ body padding: 0; background: #191919 url(images/img07.jpg) no-repeat right top; font-family: Segoe UI, Tahoma, Geneva, sans-serif; - font-size: 11px; + font-size: 13px; color: #3C3C3C; background-attachment: fixed; } @@ -227,10 +227,8 @@ hr #page { - width: 930px; - margin: 0px auto; - padding: 10px 10px 10px 10px; - background: #E1E1E1; + width: 950px; + margin: 0 auto 60px; overflow: hidden; } @@ -244,7 +242,6 @@ hr height: 135px; margin: 0 auto; background: url(images/img03.jpg) no-repeat left top; - } #logo h1, #logo p diff --git a/NzbDrone.Web/Controllers/NotificationController.cs b/NzbDrone.Web/Controllers/NotificationController.cs index bbb7d1c04..693c2dd6a 100644 --- a/NzbDrone.Web/Controllers/NotificationController.cs +++ b/NzbDrone.Web/Controllers/NotificationController.cs @@ -21,7 +21,13 @@ namespace NzbDrone.Web.Controllers [HttpGet] public JsonResult Index() { - return Json(_notifications.GetProgressNotifications, JsonRequestBehavior.AllowGet); + string message = string.Empty; + if (_notifications.GetProgressNotifications.Count != 0) + { + message = _notifications.GetProgressNotifications[0].CurrentStatus; + } + + return Json(message, JsonRequestBehavior.AllowGet); } } diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj index 40214c618..fd7649a09 100644 --- a/NzbDrone.Web/NzbDrone.Web.csproj +++ b/NzbDrone.Web/NzbDrone.Web.csproj @@ -92,6 +92,7 @@ + @@ -117,6 +118,7 @@ + diff --git a/NzbDrone.Web/Scripts/Notification.js b/NzbDrone.Web/Scripts/Notification.js index 76af8d477..215a2dc9a 100644 --- a/NzbDrone.Web/Scripts/Notification.js +++ b/NzbDrone.Web/Scripts/Notification.js @@ -1,66 +1,47 @@ -(function ($) { +/// - $(document).ready(function () { +$(function () { + var speed = 0; + refreshNotifications(); - var popups = []; - - $.jGrowl.defaults.closer = false; - $.jGrowl.defaults.closeTemplate = ''; - - - if (!$.browser.safari) { - $.jGrowl.defaults.animateOpen = { - width: 'show' - }; - - $.jGrowl.defaults.animateClose = { - width: 'hide' - }; - } + var timer = window.setInterval(function () { + speed = 1800; refreshNotifications(); - var timer = window.setInterval(refreshNotifications, 2000); + }, 2000); - function refreshNotifications() { - $.ajax({ - url: '/Notification', - success: notificationCallback - }); + function refreshNotifications() { + $.ajax({ + url: '/Notification', + success: notificationCallback + }); + } + + function notificationCallback(data) { + + if (data === "") { + CloseMsg(); } - - var failAjaxCounter = 0; - function notificationCallback(data) { - - if (data === "") { - failAjaxCounter = failAjaxCounter + 1; - - if (failAjaxCounter === 3) { - window.clearInterval(timer); - } - } - else { - failAjaxCounter = 0; - for (var i in data) { - - var titleId = data[i].Id + "_title"; - var bodyId = data[i].Id + "_body"; - - //New Notification - if (popups[i] == undefined) { - popups[i] = new Object(); - popups[i].Id = data; - $.jGrowl(MakeDiv(bodyId, data[i].CurrentStatus), { sticky: true, header: MakeDiv(titleId, data[i].Title), id: data[i].Id }); - } - //Update Existing Notification - else { - $('#' + bodyId).html(data[i].CurrentStatus); - } - } - } + else { + DisplayMsg(data); } + } + + //SetupNotifications(); + //DisplayMsg("Scanning Series Folder."); + + function DisplayMsg(sMsg) { + //set the message text + $("#msgText").text(sMsg); + //show the message + $('#msgBox').slideUp(speed, null); + } + + function CloseMsg() { + //hide the message + $('#msgBox').slideUp(speed, null); + //clear msg text + $("#msgtText").val(""); + } +}); - function MakeDiv(id, body) { - return "
" + body + "
"; - } - }); -})(jQuery); diff --git a/NzbDrone.Web/Scripts/jquery.jgrowl.js b/NzbDrone.Web/Scripts/jquery.jgrowl.js index c9a735f20..3013f21d6 100644 --- a/NzbDrone.Web/Scripts/jquery.jgrowl.js +++ b/NzbDrone.Web/Scripts/jquery.jgrowl.js @@ -182,9 +182,11 @@ var self = this; var message = notification.message; var o = notification.options; + var notification = $( - '
' + '
' + o.closeTemplate + '
' + '
' + o.header + '
' + @@ -211,7 +213,7 @@ $('div.jGrowl-notification:first', self.element).before(notification); } - $(this).animate(o.animateOpen, o.speed, o.easing, function () { + $(this).animate(o.animateOpen, 0, o.easing, function () { // Fixes some anti-aliasing issues with IE filters. if ($.browser.msie && (parseInt($(this).css('opacity'), 10) === 1 || parseInt($(this).css('opacity'), 10) === 0)) this.style.removeAttribute('filter'); diff --git a/NzbDrone.Web/Views/Shared/Site.Master b/NzbDrone.Web/Views/Shared/Site.Master index 38b723dd0..efcc0473e 100644 --- a/NzbDrone.Web/Views/Shared/Site.Master +++ b/NzbDrone.Web/Views/Shared/Site.Master @@ -28,11 +28,14 @@ Released : 20100727 Html.Telerik().StyleSheetRegistrar().DefaultGroup(group => group.Add("telerik.common.css") .Add("telerik.sitefinity.css") .Add("style.css") - .Add("jquery.jgrowl.css")).Render(); + .Add("notibar.css")).Render(); %>