diff --git a/autotests/filemetadatawidgettest.h b/autotests/filemetadatawidgettest.h --- a/autotests/filemetadatawidgettest.h +++ b/autotests/filemetadatawidgettest.h @@ -38,6 +38,7 @@ void shouldSignalOnceFiles(); void shouldShowProperties(); void shouldShowCommonProperties(); + void shouldShowMultiValueProperties(); private: Baloo::FileMetaDataWidget* m_widget; diff --git a/autotests/filemetadatawidgettest.cpp b/autotests/filemetadatawidgettest.cpp --- a/autotests/filemetadatawidgettest.cpp +++ b/autotests/filemetadatawidgettest.cpp @@ -200,3 +200,18 @@ // QCOMPARE( map->value("Album Artist:"), QLatin1String("Bill Laswell")); } +void FileMetadataWidgetTest::shouldShowMultiValueProperties() +{ + QSignalSpy spy(m_widget, &Baloo::FileMetaDataWidget::metaDataRequestFinished); + m_widget->setItems(KFileItemList() + << QUrl::fromLocalFile(QFINDTESTDATA("samplefiles/test_multivalue.ogg")) + ); + QVERIFY(spy.wait()); + QCOMPARE(spy.count(), 1); + auto artistWidget = m_widget->findChild(QStringLiteral("artist")); + QVERIFY2(artistWidget, "artist not found"); + QCOMPARE(artistWidget->text(), "Artist1 and Artist2"); + auto genreWidget = m_widget->findChild(QStringLiteral("genre")); + QVERIFY2(genreWidget, "genre not found"); + QCOMPARE(genreWidget->text(), "Genre1, Genre2, and Genre3"); +} diff --git a/autotests/samplefiles/test_multivalue.ogg b/autotests/samplefiles/test_multivalue.ogg new file mode 100644 index 0000000000000000000000000000000000000000..71eba6cdb60900d86d5ff1f7bd04257bf5b43286 GIT binary patch literal 11421 zc$}p=cUTkIw?mO8LO`U6N^iCV2@n(|l_VsAG$28i5&{V!p@c{iMY;%x2#6E~1Qo@C zB6dXtL`4KCq6lIG)?QIpcYTvY(EYvlz4ynPZ!)>3+|%#9C-cQCJe&?F0zWU4-3M+< zzk9{-G=;?q8=_)E_+lwSA@#hRBh^Jg_I*adOF9$yeWsLhGxv(U(T`u3#c$&uTa@Gy z=Yfo*;0Lk#L!hH6Ofm{fbA!$O2{XJHNRk^&T?!%@ST_eK3@%l~ zpdrzoKbfJhc{3O}I}|1r=Ygfrux=h)Q7m`Wf4~kpAdL1RdwbEr`RFKNbd;DIYYrl@ z6touxOAGY!W)Qq6bhqWpL-=vA!Eszu7pUp-w$q$jo zZ@x@A1;Yf*mx>pKN;q**u{yE<(U24ma4Ir3HdqwSja31WUfxW)8%#RO8%x7^(a0d( zn;RPz6)WV*W|6$mNU1$;q$o~s96w5=BQt`IC8NN6U`1lCFeH-uLKOhWSOyXd6fzJ6 z&hZTNCZHKi&}*dhikCj3qeFagA~qcn!}0JDNik?VEt0c}DhU>$k@4gRLOc=<+J}+}i;|*I#97!y#>U3Z@S~97WDq8J{)~C;@{_@`|9Y0zXMe3<1?k6&w7HC7Woso~0=?#|~$BYm-N=-(^%VAJ=JXt=E^pj6k7mRSZYhcJR z(vh#sP4X{E4Cc$|oLPQ>6qZtE^!==x8U7d7%hd-;j{d| z?G(S(750~ZD-mKOH6BSog|qOea3%p2&%vXq0s=Zbo{6ExlhE<;Y%GuLjYC0$@d=Kh z9=v!C0Zo+<6OnupnhY|BukxhFOX~|tLAi*$7*I!YM7)HYL`{^-#u7n!WKa$ZLxr-) zd@P5+AS8lo^Z)f(305nX3hra!U_#@uU~CCAB$Z4@BnREgJheGivG!~V^=g_E$ z;cO2c8cjiqIanWN96p|iq3}6T1R|Qp^7B9mf{ApN$P+Dy0nZr+N>Vu7OF+TWm~1>9 z8|le}(R_R&Ls`B)(GhG9A0gX;7ac63Ktui5tGM_`r*KC)ju*ux@L4f*0i5m=8O>!0 z*)jYmCwgRb3^yt!I3`i-OozqAavdchvFLag1};GyMo8qu(xC{34=gT>)=d@u6b>xA@Rx@d*c+;;DFfe6Z-yco{DZ zg=F%`R2H4;gT=G_unak#M6hfBmHOaj@@Bf%wt zm>5T5z$kvcFhm5~K|+dvd-)0BOCzG4HvB6-!QiUKfa?T}mDUruEhaj|B~myNXC5Ju z0_AcLk~kcf=ZEJl^&(4HA_q90;OxPVaBymS5**HzHb_V&0}r+%NJ$(oDt4}n3xy?tEFs)TS;xns5zuruQerHh z^RtEV22mb(2H3(xgV=ChoX!lNw4IZ2f~}mv&t{51k~b;Reu^I{>r=F)`~FEYr0f#v({-4Owq1$rA3IxEJR9lqs1nQ!h{>#Sga*(B01$Vo z-nAH$>pM)YH<`>;o5z|101AK_$cN9Z!xuco7g@53tYr7Z)8OG~^?jro`TId+8{q=g*)@olbCMeI&84JpU9p znsbC-Q100Tj__v_X%(KQWb$Sn&pZA!shlqz9lUt9w4%2I9C>yAIaUej`4^uo$e_RO zkgWXR2X<5+CCT?ilY6TC)DmZvxS zumwj>(TH~S#WW3B{7gYxP%1{Dg;cpvy91T68uka};WU+|2K;66-lR`w(XacR$!#4g zsxEjh?{|Rr)3Hnm_im|#bvng=I5XgL$|!h$kp%mda#{bn<*tLjV@<(2mpfwDX(;YS zOj#B~X50i53PkI9$m)%7!qW4O<*hr*ygoR3&3B{fVf!7KeG3Ap&O)jaw;vurcM4$o z2z^V1{wH>gkk%e86xn0o{mjX+IJFm+ga95EQOYURaf+sFT zmV_cJeo=U0>A~IQf9~F6e@MmxK%^|vD|dfFZbL%u!GwaToFd-t(t{1?7l!Yr||%WmFrl>68>-wh0?Z`_vO69533 z*N^Mn>@y+jS`E^cGwI6*Y1lzJ^Z&ZY{f^}MU|`jy3$~Xn?mn`s06EpTtIM{o`Yr`A zQFpi7Hm!0J0^^ijqruRcou$Z(;yGZ@lmRNZl3-o1c9Ym1!gEV(55j&?eJ8@BVc!6i z*tDO$npoe$5Im^_!5g;qY|q1s>KTGVP2eOz75vPt=`CEK;I0P%TQq4JcA3Q?J$93Y zv>S*ClaO4*fl5vf!nUgT2EwLlr>62M?VS-8g#m z@QKE6Csuqr_v%G4p`Ro*Xb?kXl6_AJ=@Oy;eC*u?%)wGDT>?r;36yZ}-Np1tu*?#! zRAmV_AfD@c8k{0zZb*3;7Z9*Z65to+|2eZ?A_*wrKJ?|XK63-E4M`q;CiSiZ>!IEg^l4qHdg5cL{+o;A|lDE-VklyR8kxQ5{B84XFJNow)GuF#7L`p zKYtRU#ZX)zRc<3wUVn;46O@Q)peU{u(H;~3)r#|QCkyFNKJGt^fea?}KQsq{iMZ|om^8B;l zc1US@R?cob+c7K>WaoP8K12qKy$%EfPB6T@Jmf7(z0>R^MSCWbf)0HCA=ZV%SQ zTflX%C|&o;W<;1u4KfEdS?8z*o2V?#g-x2)(O?rM88nAU)8ZnUbVSpruPdSnYKm#J zh$G;-SCp>%g^pJGs^GG<0tz*NplFku@7GWrnfEpMKTPy`h+*-7>Q(5 z#>12Z1boI&;UESqa5p)IHJ#GWkYQRf109*ZAf}Z2&@VuSk@y?>3`#LVf9EX!yOPn* znZXFx)1nvW-h69&xB40Yyj4~OsudUdc(~XZ&s`?73T)iK+#>O2=@9S~t%uNv;NEB$ z4YnoF8cjXp6S_bSSgUF~z#}rhSb9$GkR6t~sDCwR|NSus_~PXPd|5YKZP(=DUSqaY zAr%zbYFJ+utLdt42hT&O)D#zkkqXX(snypFusut}5F(-B)Nn{+Wx6+wc%;La1J=|K zyRm7gd^K3N`hrHpunCdBywgwIbMbQ_O#mBWi{D(_H5AeapL~!GX=~Qw96dWdp8UqH zg)O+{_Qf>AyJ?Uuek*PCw!uC>NPi19nCtTplZ!LnUQrDOfcSJJ0F#!#s?oA)L4k^a z)LS)mz!VY!Cb$w@hoIXaw+ZNvtrbm%(?Y3Ph0fsWi}U1s>h;A%vpBFMs^vHuQHE2K zj{cm**-7IgA6dN6ljTluIMg0lNL(nZbSie_;%+6)d%)z48ejR3X^CN5y98X|3s znEJu{)D0G=%IX(9vGv-0=v%9h-LUWmGd0-31{BdQ3x>X7y5EkjVU}qo&NWl4>G1LF z0FPCOGN1;A0P5}yRRT1%AZt~THtx~QU|Wd_&B8k_Q_fZ`0d!ys084Azr;6^G9oYLF zbK;D~(^kB8g`gm5koL!b2EO%*y7QWMSvC*Gm8)uLsz^$rnoi-qSI%B%j#6| z$iAkE$IIW!1Ffn+tC=DO8}^~QoKbw zD{=_{!I_|5dM0$bb}<*6Za~_ zb?!dbHl2{lA==&*)*_E{*S=wO0xdRjm$V7~Bn^|T?yPj>c_$s%Rdh@@eZ`{W_45wj zdX8AH_>Qi)xaIqs!V4d@-)0!k2Xr3bi0(N-29g(6B`X4~`a2A?)eX;=Yt-dgHCK#u z1-P8niVvfbl?Rju0=8~Kk`SA+BW)gh&dJKL6H-&*%a z8ZTROyhN%3vawsLLI*IPXLkjqn7%uxM}U*Wr7!rTI;Pxfx{PJ_N$9*0ql5T z6d_epEcGPI7y^OxaqMv_S8G2>aBoH_k6xKh;o$X-z(5^^`tDW!uKI@KKxMGbrz@Oi zKa}c{Rd!a84x0xl*v1?E;9xzx#bv`5oFkj|OD?pV?C!Xh^sT)N`1IxPai*JctKu&` z)~0G|uaWjSYASjeN{`m2%r{t2_xYV-8DJ>D*BE{5S-4u{+vn*l`dW@(cKy@1#`DMf zQ&gr50xwjo(O6Zzt#9MLd23qZ?$luSg|vnWvz{wm-s1BEUYYa$oS$ z#gh3JX}55<4GyQPxs^20P>TAdH3vdYW`C=___;J<_`7cZ7eo~QjA-DCN>bp3N0JX1 zJ}uOD#^!Vt+*cTo1@{p=btQGNf)|#h) z$Fs*%X*7iS+4p$Ux|@#sqOT0AL?3G{)ERb9j<^Q+L1dxp1@%B{_Nzf_w-y^Y7@i$D zf4zK6)V{%DGWiQCZSi-NKECW~&ni~Wl$F=5S%f?H3ILehoTFRsq< z+tBWnI#O#JD5<)>ME{6g?`;kDV=7lB>Rm>yd5Kd(g>i+M&_$#3)lH%J^Z{H>P_w(i z!4>so$j!9iQ~y3>`$Qhfum5aJ*xUL~z7 z$kpt-r$CN3m>ApZo>r4V}I(lC;tPpy*}SSsOs0a=Dqiu(>oJ6 z#Sa@!lpI57hgjpAZ?AYFKmg{u$XqM54Q?||R!Bmxb zvlWtsgLLz@2{Y7GNcS|JwO=S&yQrHSMmYH{&b=orLlnm73^<(s{K|HxsCVJ(W2wUj z&R>aI6sQq2vPZ}1($IbAt>LSpvD@2TH}i(PUd0S1U&I}>ytKy?>8N&8GhS((B|My2 z_IoVH)%b;wOidLJzXtB+Z2G|$l??TJFO}y)=${^4yuBz#tqr%_PtqF`Ri$|Tn%L~N z8{d_GmoVPKxk2mSRGG$HYJ0r=9{&EA#s2vCn~TkAorSes!|~tzjQ3`l(Y6zomnzPY zEi;HTl%PIHAM})(+7;kPnJZb}VE=KODY|O;cirfXb!N3$glDVYUL5}`P4hy@r)PR| zD8jZ)r4^)iMYBtk~YUeC+?L7RYW%KGdS9V9r#X~_K8A*rFJsU22)ll9L zJQq0Gb<)FDa`5}1J@Wwm>%Hst1rOZssy<`pH59p+IN-0SN;>KivEjL^x9Ha%g>zT4 zqiHZi_z6bMH$#t~FzNXhh-09=rEGjO) zZe?$KIlqfBJfahlBM9p$e`Rs(&D1xaQ|xT)_R)EYJ#0c{9&gjpvquS8aYn!r;Ae#_ z0e9il)}S5jIYE(q#1{t~R@SCCe=^a?S9dtQxc86CRee|ZuK>WtdFI!W0C1Y0eovk>J7nZ4$(%2?H5LjUc&2^Tt79xWu)9Q!0m6hv(d&4_kA zYdfO;Yng$$gQ)jCF5G>^U18M(#H-XZMkKzZ>}LyAtRTfs2Q(7hc;|Y`wj#+&|FnSOVG0xPEn-0l)rvR!3Ry z$v>?1f8Vem!G;|W9nA|`qh-%Uf3z*;c5XUr7_~=nll#b>N!t37`Qa1dbo-5%>la8T z=JA*Br7u4b7Sev@%r3>Lq`ztFz9siO-4WxKr=Ra@j)Oke{$d*;^dDAAS0qgm-aa?( zKkHzsSxwTOIov>vfH`T>5_9|>`NhUdiY=xPF?-RRpmR}ocyrq}Hw}JL+M|38d5oTx znSbY-%jln<9lw!2JHY?2+@zr2Q-0#Uj@jKO&vjxiA6UKb1NVbXntjQ>w&S^@-%ZYv zFC3^5-#T-6$Uso#YB!TZ1L?7?rlxzRR>eHsENEW+pFT-v_FopQ=)R}?{ZOu9s@|K{2fI-57QD0! zWk$@FQ1~oy#HeRj(kEA zXf zcPY7p8|>ZtUh`8hACBA1>I3tqb;a#aS56Rq@n~}7KGgxOmcnos3tvUx;;QwHD*C(h z49EVNN^ownvWAu$I^}4Uy<_AlS19ZMkbKvF`;5QfL7K;4eY5iBT|uWKmEo`mBiqs& zJ)=z}US2hoU#*E2ObIzwQVIO zE@iKHyfwe_1^SfJ+k#5Z2}-@T_3F_Raccty-2uF%KZCgN;NeY9cs;*shsH4x$&9kU zx4>$wI-LW&hV5()ZA?Xe*r7h&|7oN7t9fl}7kf2VJcZX!CGAbpwliI@5oM5kUNYLF zYB)!#DfB}3lDC=Gsj4cJ-9cM*8pXX2Vqc1*f800$%x}prsIt2nt=%)Z6rwZrsj%!imLWBZtT*V?ETY`%70CUNg|g(P1=O` zwrcgyS~+Ulv@0_kKf1vipDutxAYq+)CwE`0JTsuH$282m<&d;R!9|_1!mh%EcYDS{P0~))QawPng?E~F1CDX zW%DHI&ghL!1FLW^$aC|m%uUq|H$BFbnfQHr8j*wP(4mlmMn^;_Phqx&1M2}bMNP}l z%xd;NdB0qryg{eI2tL$k%GdsjV066j)S2&#ZK_LyowAd;59;P#ebY-bdf)?TxYmDQ z$}?onuJ;c~OcBW>_Pxzw^+wlAA4AehjCKyT4II-kj4oQ>wf8k`?_BY}ez=&{zH&k7 z8Sd}`Xz|eZg*Wt) z1OH4uGH+eZA(z)f*Y9W2{Zv zd%a;6X=Gl|!+R7#N}6J1x$RLNtz8MP1sNU`IHWe*O@LP4KDKIn%{%Iob!mlz|HS(7 zCe_i_UvbJkK9;eAY=)=bww?U-OY|qsRGGxq4tKWX$E+wpAMQf)HZFFux?j2G81UO3 z3@KE{wd6ytjPw1s+v%W=UV?KP}Kud+DC{2P1-eQlgZcqgt;oCn3|+ zR)9@{Lp&fhr#)F6}At9EbwC)?7wdz3% z|2k$g@4wIJ3QA>eT)AubiQc&t*Dm!#fz5RvHrxM0PeuK;xot_a*0XIVg19P8_1`xI zt~852N8(goHd0#lZTsSY+O)2mio(tO!_OD_=Vkj``->7@V#cgI->|lseUkFR(RCvr zd(EIc^Z!BVYX&9oyRGQ!EsaQ#XhW1FIx1wh4bi*-H~GzqV7n74r4(A(0sF3gVpJoVt4vBL?e z0`q8VSNi1B%jwDc)$6$HEh{tX`7oLLy&L7H0z{ortf7;qK0Y`abxxSVw(&=HtGBAx zMRxpS#;#s)?YyV$l3a)6vqZi1JCmC=x%-&9n?noBSR7*9dTTrOcFMWw#Ce_S7YFFr z^3B6Z1h2)Im5wLZxi2X@*7y9ds(Wg{@4-f)cun&i453s57qSW}WXFBM6JfoU`$?OC zMW20qK9uZ*^R0Cj6M zu|pysi#zzIqj037kJjC?RqEwx^clSN>+&x*#~{kkJGr$KT!D+7U$BS$qNlNMm&d)~Z8E@iADlYw z{r0J+?qjII2*>Sy#e(aKy(xbm%2~hfYnpe0WmgSx)=991fD{+vo*SAO@}8AV4;>lH zG|YB3owmtS&2H4pe0VD3-rlx{lg)RV7aj}F7+N?^X}I&cV~5A3*H+)NDfxZt_9x%& zvQAoB__cA@K1tWtC3e%7%pwQwQ;K%1d#*7Iyvh!{7;sD6)QxodSMOO^b8SF=ZF z+NH<+Maz?qc^cQkTkY4LvvIz1YHCZ=4Ua{yZ6D=?qBeG>^Y#U(xo#-_cw*0(^_~Zx zT|SQJXi=}GhK>(Sebze!f?5?V&_8#?b=>AIY*-EM*K zsV1ud1tUR~&2Z`ZV5QFLFyR@MjxU1(e) zbx#>uS1_It6qJhj7?nvOIh?58gLc-=I3&6;q7lIE_?mEO;q8{``)j`V!kSQtX_G70 z=La|%zHKeDQbDibqHh?SJ^9C-)5sEQJN4IDJBVfBA1|(yx0=f?3}_9k9MDq$fGwsF mb3;Sm0X2WMMk~a7PV1iZ)k>+CCaYg6PlPJEtDf1S4*VDGMKN~( literal 0 Hc$@