From dc49aa290691e5a3bdaab1d9b879b7ec60f2e4ff Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 2 Dec 2012 18:47:28 +0100 Subject: [PATCH 001/332] * Added DbCmd_PlaybackCharts - currently only supports artists, more to come. --- src/libtomahawk/CMakeLists.txt | 1 + .../DatabaseCommand_PlaybackCharts.cpp | 76 +++++++++++++++++++ .../database/DatabaseCommand_PlaybackCharts.h | 54 +++++++++++++ 3 files changed, 131 insertions(+) create mode 100644 src/libtomahawk/database/DatabaseCommand_PlaybackCharts.cpp create mode 100644 src/libtomahawk/database/DatabaseCommand_PlaybackCharts.h diff --git a/src/libtomahawk/CMakeLists.txt b/src/libtomahawk/CMakeLists.txt index abba94f30..35d33e356 100644 --- a/src/libtomahawk/CMakeLists.txt +++ b/src/libtomahawk/CMakeLists.txt @@ -267,6 +267,7 @@ set( libSources database/DatabaseCommand_CollectionAttributes.cpp database/DatabaseCommand_TrackAttributes.cpp database/DatabaseCommand_SetTrackAttributes.cpp + database/DatabaseCommand_PlaybackCharts.cpp database/Database.cpp database/TomahawkSqlQuery.cpp database/IdThreadWorker.cpp diff --git a/src/libtomahawk/database/DatabaseCommand_PlaybackCharts.cpp b/src/libtomahawk/database/DatabaseCommand_PlaybackCharts.cpp new file mode 100644 index 000000000..016c4f497 --- /dev/null +++ b/src/libtomahawk/database/DatabaseCommand_PlaybackCharts.cpp @@ -0,0 +1,76 @@ +/* === This file is part of Tomahawk Player - === + * + * Copyright 2010-2011, Christian Muehlhaeuser + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see . + */ + +#include "DatabaseCommand_PlaybackCharts.h" + +#include + +#include "Artist.h" +#include "DatabaseImpl.h" +#include "Source.h" +#include "utils/TomahawkUtils.h" +#include "utils/Logger.h" + + +DatabaseCommand_PlaybackCharts::DatabaseCommand_PlaybackCharts( const Tomahawk::source_ptr& source, QObject* parent ) + : DatabaseCommand( parent ) + , m_amount( 0 ) +{ + setSource( source ); +} + + +DatabaseCommand_PlaybackCharts::~DatabaseCommand_PlaybackCharts() +{ +} + + +void +DatabaseCommand_PlaybackCharts::exec( DatabaseImpl* dbi ) +{ + TomahawkSqlQuery query = dbi->newquery(); + QString sourceToken; + + if ( source() ) + sourceToken = QString( "AND playback_log.source %1" ).arg( source()->isLocal() ? "IS NULL" : QString( "= %1" ).arg( source()->id() ) ); + + QString sql = QString( + "SELECT artist.id, artist.name, COUNT(*) AS counter " + "FROM playback_log, artist, track " + "WHERE playback_log.track = track.id " + "AND artist.id = track.artist " + "%1 " + "GROUP BY artist.id " + "ORDER BY counter DESC " + "%2" + ).arg( sourceToken ) + .arg( m_amount > 0 ? QString( "LIMIT 0, %1" ).arg( m_amount ) : QString() ); + + query.prepare( sql ); + query.exec(); + + QList al; + while ( query.next() ) + { + Tomahawk::artist_ptr artist = Tomahawk::Artist::get( query.value( 0 ).toUInt(), query.value( 1 ).toString() ); + al << artist; + } + + emit artists( al ); + emit done(); +} diff --git a/src/libtomahawk/database/DatabaseCommand_PlaybackCharts.h b/src/libtomahawk/database/DatabaseCommand_PlaybackCharts.h new file mode 100644 index 000000000..b9084f1ef --- /dev/null +++ b/src/libtomahawk/database/DatabaseCommand_PlaybackCharts.h @@ -0,0 +1,54 @@ +/* === This file is part of Tomahawk Player - === + * + * Copyright 2010-2011, Christian Muehlhaeuser + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see . + */ + +#ifndef DATABASECOMMAND_PLAYBACKCHARTS_H +#define DATABASECOMMAND_PLAYBACKCHARTS_H + +#include +#include + +#include "Artist.h" +#include "Collection.h" +#include "Typedefs.h" +#include "DatabaseCommand.h" + +#include "DllMacro.h" + +class DLLEXPORT DatabaseCommand_PlaybackCharts : public DatabaseCommand +{ +Q_OBJECT +public: + explicit DatabaseCommand_PlaybackCharts( const Tomahawk::source_ptr& source, QObject* parent = 0 ); + virtual ~DatabaseCommand_PlaybackCharts(); + + virtual void exec( DatabaseImpl* ); + + virtual bool doesMutates() const { return false; } + virtual QString commandname() const { return "playbackcharts"; } + + void setLimit( unsigned int amount ) { m_amount = amount; } + +signals: + void artists( const QList& ); + void done(); + +private: + unsigned int m_amount; +}; + +#endif // DATABASECOMMAND_PLAYBACKCHARTS_H From f458b6351960f09e4da5ee081a7b4581eb9b2de3 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sun, 2 Dec 2012 17:05:02 -0500 Subject: [PATCH 002/332] Make track placeholder icon square --- data/images/track-placeholder.png | Bin 69076 -> 4687 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/images/track-placeholder.png b/data/images/track-placeholder.png index 333ea9101e75ba2d9edc10fbf10247b7289b9f1a..24b3ac9b1ef0ccbe9732bf3a117dcc61fc884353 100644 GIT binary patch delta 4651 zcmai#Wl+=&qs9NbbT>*ofUuMZOGpT;fPk<93#&BJAkrzZ#D4*il8_K_MN+y;VhI6J zq`N^n1nI8(e7Q4s?uYk1AJ2#1oH=u5&IpdM9~RF8lEdwlm35HH%3N+9t}pDJYym+1 zN7{QIUEOi!@ct$rOlGg>5DO+zL=<}{!u1a!`t}Rr+rNNzN-d{|d_@&HI*4j~1{RW? zsa_mmbw?oIf<~QI$4WFRKi}r@*pmQ1znztplOIj@s?e5~6rC@feBwSRk&&hdlQ18A6Z4l9jb8&F)&G7dSPn3ZMXDTEn z|6H!x5E1Mu&@__*qV2BlvA8>LWO18(G&V72{m7CUgwDTdIF;u8yUpE1emWx&0gj!7 zZKqPl94p805cihPAmK_+f z{)}ANeISok$$$B)4ljdl^m8i3g1EM9PrsXj$Q#iuZR1al?*xw00m)ya>a!Wp<+X>{ zELsS?pU%wD{KaZ04bdX*R<3M?%t<=Y)kUdW2z;z}YDl;nzZ6GX>g$P*ocO(mX} z5Pn4x87dKM_ix!cvcFgo3&OXdYZk(J;MG9xh@VntG*&I$Vs@ zs><%PH1v<^2bl9o?}pvYG|s0xXO<;0#g;xI7(l#a{1_4xHrGz78B$O#UQET-PB}q# z{3dik(vAHS@mlNIE~*X+mWIZC+ukKQl?@=_2u^RWB2|nar9vxH(h)C)oZg{Rzt^TF z#TBOh;Awa@m#I43gMvjV_nnUbWmHI3HYK`NKwFnID(s1}vm#UWU9=i{JD+1jctpT~ z_=rsFu}~(}fYeL);ax9wSq4+Ah?;c9^gzmh&%n~U^li#FZw9{^f|l}P3m*u3WHrTB zfm|j}4hbwvdyiFxpNVvpP3I#PC;lyIRR zk_&x{#O@4ret1SR3fIt+_Nu+fQ~CfzGX+SX5Sz}g&frDr{o3LY)KVfdWZ+Sqim$q_ zDvW+Ka;yX3PN|Co4VC0k_($x#%{*Q4he(ke^@RB9M6cIgpS|J^qcr&(6aVR=vw`^W z*S`yRclqH`KZM&7w!r)C{e%FTcThx3VDAwQjj?#n=G+!<6QB4&ie>9j;r(>8T zoP_zs`%8vNc{CG)X2@3^am~LPVKHKvw5`mnG^*6Aw6jrrNvefgRn^E!9zYGedAXA! z0CzWTGpe*kb|-w}_4J7Hi1lEve^jquFXyqdva#>7AGzPSBDc&bn8A3+1Z5OwqQ3k5 z=?DFsyHj^7K}HHDZGkz1kmSQ;X!4lgKl+=`KI-YCk9AObb7cW&KjX06#r%Yfr@0>b zwoj6?9Lj#_2|q*Roxc^)@X6vI6k10dvPkkuYD;Dsml(H9;TvKx5tz@IqH`Xq5MpH> z{cO!_6YIy%^o9*2462L{nwia_GnvY2w2KTJQ6_3~pr$|0JN!5&_ET&MDi&4Mr)*kT z8tU@VCGD>>;w^_V9KC~`(+V`4f23g6^5o_X#L2?GRZ_-6w4AYN1S9BbKRaZpoRFDl z`NpzpA)l`I=MRDY{Py**id^^CdoD|6OWJ(Qd`P|{J{nD1O@j}ssotsA4!N$K;zi<( z&L}A#PNoMe%Fyn=#ya-`glmnwOaiK_E0;}b4N*q+#;PWICR7snl;C5r zr6|d%sYy)sk^LVZsrOP)9D`KL1nU&vl++|jWZbCF$gCxx2Q?dOZ{R3xrTsOoR>4ML zF=MsWE8o+1F@NEwx0Bl^w;|6bZnCR~ZId0T;Lgmd{F>EL<=hHhXmNAFcztSzZ;5$P zf8%(5svoZz4VvFVvKNx_+@6 z*brbj&(!Q6z*#zC++{MkKyrz{JU&J2kMC(8+&lyresk(D?cN`_FDhLw9YN2?G{SfY z@=ZLbgPkfxxI~EN$mxpT7q1rc66ujFzVBp{yjOTsR2nYy+Ou7br<^X6j*70TXjXs6 z6v1InXGHs;`mvqX*vBGArZK(}1OqS2_qVbvF|pLqE>YL5ht^|acGh^SLhBcXBE^Bl zYfft3EdEi}KLl4aJEp$B??iP@e&3G7fl)pY@VNBV1~;L4IDov6KM;~RWu%A+bD8|~$~wSXq-n%J6BIRjxI&%f)KyrUYn3@R};utD0v zsb^lMxyyQZu=jQEzlnZIbP4tPH}N`Y7&Loa=U!HnaG2mIVC1Jn?bA+QN1fE1*Iahy zEt{=xVztAz+8kB+R993vql~_fH;Z2tE*6EQRmfdv+|!``+qSj1%{sMRe(|!v%O15c z!7-26wmqzDs~q>wJ~k6J*Eg#IuT3u$bUO{^3Oq_3O7sio&}l+~zTLjyXF{k~K9k-xfv$&F?}i=niu!(j7JQ%~g9E)6 zp7+&H9u%zQ!8=TE|B2lUa&sU3K8=7Nu2S%D)B3HTGpn*^JM}`|1}O8Iddw#4lJSpM z-G8jtYe(`YYsv}^PWGg%>4#U~_&=17a z#pBC&*-l;`T=dA{of2ax#Xw3ZGokQJ7gH|)kYplNlyrTkw$n@^U_LD0`%^V3sk6A* z_UuD51YQ>E%-jyxt9^|eZD;kS|9Y2=H!8lN(fo zMK#9zcSM2rka9|_El|u%ptzqvqo$#|hatu0)a+|;W`-q`SB(SIkO_8)&ks@2Y!^Ib zLeCJLL>8hoMiq-G?>Wg*w;FDf$WUjmYFy zK-1;?mCiiLt}ZLlxY`?#CSGM>S0OpqK<{iaCbtGcY>|RNB|y&sDKbQ=%D1sTGzSXp zh8rgqnLcduN~nKu4*6MxWW0218EGbU-~qUiNWUZs6WC{m?%@kEeVrgc0+GP=|V{+fm=z6vx80LQe|U0`Up3g?0*VZcda z8+OB+ul9QbMlR)i-bNt$+#rqQtOQ1WJ+q3LlLAyi=wrXQpH^mHS{Q#k*uBwW4Ts0= z)X(2d27R{dyol>wVR}oXf_^kz&;7Q9(1ge*s{}&~@5kWgw(W%IIe1<@Y3uU)Tw)FI z-ESIZW9L5uS&%du4bg-!?CYGfv~nxp*ih2zBJ|=;Dfu~LSF+W`?O*1j{6J6DSqaI% z%>*&G20}Tz`ez0Bi&pqOmeZN-a)&&owRVoHm=xnQ42fuC%u4jmf<2!vQYpHeujj%}ps`$jIY;i0hnQqXy1uf1XF`A~HWYxY-B859AA4C&ytvX*DvxX~_g42B|8S^dUBLl}5{o`X(G#WERqQ?5Ike5#JYf75J z`clEM$ZXKD5wf59q@1-l8-!w^wL>z`(^WS)Sp|Ze+H9qXkgfGDa5>WtGBtZ?LEip( zDOac=A2D{3sjW#BHGL?lyjamlx+~tMjOlPpP|9q7ST0lJU*_575^H$od7xhl%5_&y zT^iCpoC*N?pE+N?Yc5jZxROIBH+s5-w24=}Ul+gAm^vL2cs60CGj(T18CRGmAr?bfEt^{@Hy z?X_NZ>gJuk3ayZ@1hSCdgjj#_gPQIus#X=cDNcMz-?@V3)zwxgZQtnafV%7pe<1xb8d2+hC-O)T7H8yI1=M#ocU}rH5pE z^NqVtijGtn{G`K*pmSDBYYbS2hHH4_2|xPuf^6v89#k^t+ckTz(vJXI*AZAH4~kYI z01i2o+;`lVySG93&7Wwtg%k(Zddh$z%YMAmQw#k~Ay-4mDtY{6PYR61wF*k>-(R>Y z_WQ4Y!vYk&0MyeT&&sZRh6m5w6N!^1+(x7KYNcnMhg2JLqw5EapD%@*X&9Fr0{HvH xAvM1C={#kUbA%4PB>BQ*7RxpN_t=c{ZwR&!7D8dhM{j_Cg;YhUls>Wu`5!8r+1LO8 literal 69076 zcmeHQ2S60Z8lJsM?_#5z1yK0Hu^Stx7)?wl z5_^d;8WpTjlZX0@HF+3gH{Sba?-myH;MBt_JEP0~J2N{w|Mz`UZf|aPPFSCw#s-ZH z5JJX5fqwm9KOJv+BKUi_TkHvhjAD{}eZzu$eI;q>V@4z;Cm=L|q5_QyA3|DSucXv5 zJTrt+QZv%~_3R-T7!@rMpF%vOk3`4~q1d=_X}$XgghO#C$lq5o4l-f8GCaP3D13C* zIWSBjsf<_3GLK73&p?O@gWT=o6UN1XJqzsQtc)}qUk56EZTK!(!t`$EL?ie8;4u#imX~Naiy>3t3=nB>=LATPF_>=XNdte?_P< zu_9N^2If|l<6&Q#Gs^m8WnAUCm2qP>AmsT7uvt_YH+%&`g`XhQ;BsYL^REyxorO@r zX_i0MST7?pGSa+UU9+;XT#^#vTri*&q1Fr)ITahM>$%|TRbVIaOBfNGnVccPpvH|! z9+R0a8J89tmmqPjF5-7SkyR~LJ=*k37?F^kkP4TI0F@=BCIa25@ktp;V^SqasfrkW z$J1DKz@|*sU|4Q?g{+3TAhXj}i2vtFB(O9@{K0D>g{t7Kmwp7oEicmkmQ43xLpuGp z${*fBIOL5>N|fMe-+tkexXkqN*oHQN{|J!*GDTLXA+kfwP)p>D+M$l9GxA3MC>VvJ za1@1xqBt}XrJ!__g{GhxXf~RM7NKQmC0d6zp{-~K+Jy?y9&`}>h)$q0=sdcD%Fs=8 z50#_G=mkYlV#=7Zq#9E8lmq2NwWB<#Zj?XOi|R*3Q882^l}cq&Q>c%rdDLQRCAFT~ zN_|W1rVdiasS@f}>Kb*2`kQ*r_ljp+=;f3>t@Dh1rd6Rgvcnf&T zc^i1!c?G!B6LZ#GlL0=5OHd;1~0c z@z3(h`1kqG1R{Z@Kq7D!bQS~(1_uuB9r&p?X zOYeognZAR*mwu>zy#7S}h5DQHi}g?I-_(C$U~b@O(A6N^V3ffOgXIQ042~LHHF#)f zXxP-SlVM-OB*W>3%MHIV{K@c|;WHx(qt-^gMuUwqjTRW?8XYkD)##zIv2hDyZ{uj= z4C4jHTa6DJ|8D%$#L~pYB*-M*WSYq;lLC`clfO*$O&v^qOoy6IGR-#q&h)hDeKUQt z7G}O?v1T8ctuotfcG2vSxuvd&daqkd`qCk+}m@NSUMU~Yq*4bC@s-cZuezv1YHUo_ZwR^?%X)8@!ZC{8eg{I*|fIlXEWJmqs>X1N49phJ#Eu$ zSJ)o5y>Dl2=WRF2ZmHcqyF2!l_TB80?3dc_x4$c?C-IRaOO{KHNXnboGzn~y*<^i_ zQ%znpb!CC1(oBr0!pqXd05zUr1JJhVaxqb8A&8IZaYkt{5-@(&iq{EjE#~hxt zaBLCT;?ov|Ep9tDa13&s(?k&f*+|cq|D^V-YR-;?3X?3PGueE#Yk*!y? zKJCPF@^DIWTH{pGM%boPo76TN+FW!ta`tf^@0{m+&BfZKm&;6-LYKc>o4ZE4e&Kq| z^;KKqI-`4+ec#rUf;a3K< z9FRHSP=sm3;E1gePa^#y7e|&2bR9T#;EAY4QAtrn(cf6x(3B=qW=y#@)o1GZkEoA^ ze{^VCvuU%Y-JITY`j#06Ge*z&WoFx%i)a4xapcFvvutNgpLOGto}c8+HkqA1`{Jja zKVA2k;IpL9PR(gQXT_XXbK~d!Jg@D%?0GNe$IbuwbGOfze=c1xV!^3}9t+nl5-mzy zbm5EcUu;=yzIf8&8%ugGDOf65I(O+m%Z4pGp4}mP-IoSmW`0?=yw~!g70p*HTJdt_ z$d%_;^;orYwaw}|tDmfiUsJl)d+m;Ow(I7td;V3@SC`iJTwk!E#fI#SqK)G>{;?@y z)3ME-o44jP%9)q*Z*FRC*_M7=j%@9?b?Y{pZ42{wd6{{4wh!KZ=4-#Ni*`8gSijSH z=e%#wH<{nu{Wj*?3%f#g9s17myB*&b&c_P4g)Zg+dnoq#)M z?hd+p^IqD$7x!oXY5wQxzgqtF{r|lGcd~q7`OOFE52Sz3f7tM0?mr#=IrJ#((eIB_ z9=~`p_i4kYTb_A7JN7*C`K=dOFU2pH|J&-{;#VQBu1Zs+(kHVXz8F$g40B^78XnTq z4@vRAulD9Hff)U?z$lne8(QLxLMvC}sk=BMsJFlPs?gTNz_Kvo@8t+dP>`Qb_yh`h zPv1Wca*#j}AP5iy2m%BFf&f8)Aiy~Uatlg1=QD9wh5+Wi;yxrC*$DYHVx^ObxQB-kUmA!7fCK6BWjJu@FU>h404_OBd}Sd(1i%7=izX2O7g=Zd zOa#CJgNr5+09RP=5qUNOA=z301wIooC;)~l(L?}TVOoKoL;wna;Yu_S09Tk+;3pA) z0${ijO$5LdrWN=}1fT#Iu0#_7aD{0Fei8vF0ER2kL;zf2T7jQL01ALnK{Q^0!w%Jt z*=cICi2zg!y_8vH1AF}c3j93=`&Y0O3nyuu2DLh@#SZ{l2VMJhCTng%2@vke99EED5dj7x1Tf(tS-98_5O#V^yIadzfaDCSNGT9#Cv3)gk(?wAsuK3qe6+u@?uW%3yt_YyArNfL2 zCgsn8rv%;a~LGnIL^jQr)*sn0Gn|6crHBxUHlek?dxFNRxqCHPS>ui zN_9y9EYg8yI!M2TmYxSKc{3XjE_Cf|e`~U}T>vc7>4yFg9;TKL?5_vXi`b46(%EQK z+FCAviqBO`fc|+v`VGc4HsLsq3*$NC``hfbSpYDb#}hha1rxbHvD0kQ3E|4gK%2iA z#LfRGCLa@z!-poFxh{Qi`5%ar&p+6)nrmxw4}ej{uW$IE#J{PR$;~er1e1{gFbsu) z2#EkNDY_J@lMcrQF!T(Eo5i89_ro($9JGpgS(Q0+BS`M9^1JG!!&m5b@R2eRZXOMS z%^rWy1oENL<43S)CHFKK+CBs*&uA?<*@WY)cs>E&`UN2=6$l?KCC>C;x#sz(*j_V&P*U-JRb~f1pw7UFyYKsxnSc1d>a{)sg1oouJ>z!a{{PNIvm5B z!K87(D}IVvFikHF6K&C?%Td#8(t96#xa%#~0#sK6C&a*B%pvRMOYNXl#{w9`VQj0?<)nm34~< zKv|@8G#?RwjuNY^TSNfLBBi7Ghyb*eSpKrhpT6f>fY)3WCS7rHSlE12BrhvIFQ!@lzuOuq4Hz zj;>i}#S#H12Q6!P5l#7esg(KwUfEscp#-=nSd2))`ZTTS8HfOC7XXk6q~irfQZyY% zpTRz53p`J5VAbczX$|?<4>AW}vsu-qiIjKp`{3tcVupOY1epnJ@|ieo+7ki1nJrnX zmn|}kfZwP4!b69iGsH7LF?#cq*G{v$F8tjYoY6*!*eyF!<*TJrIAq|(c> zxn$Lgs`H5S0F~&=e;AJDLyIp}Y0GD>K~XO??IVIV2%sj+j2LWHu*Z*%ehM@FOk9@A zy8WsZ3#odj{v(YQ0QAE&@v@I$7$|Bt*vYWD!R8K|2Yi>&Uquk&i68!L*-%^_GwD-N z*%ie=_wQYCpdp4P&H*s-_}Os4F**zT&tNi^qX;k6bk(vOJ<-9g^p6Ww-TGN|^i54aD&pYU^drSHCmUwezAX`$e~JgNJ|X~ znhyXd9437`RM_g}SW8zZ2RhIrl@3rYuX4E6WjGR?mhGZty)&rUSs=`$A3H;B%Q)%P!|_?Mm`XU0@AC4(+8f6?xkWsUW{P z1%SKer%@p;DcBEHlaI@!yWQFc06HHK)mIhuV3F@9`yvSb!XSss*2JJL0pPA5@SvaL zrjl0oCUD_4pP5VrZ%Spy0sU~8n_mhu^>^z9n4SX*8SErr{Rf$k?CWTrtu6uJm-jt} zaeoWbVpItYLk2t#HcZ|R)K)yy2RBrd3?k?+C$YA3=yc{<_?(=AQejSh=?N$aZsOnq zmFTKHQkMX5p9t@CtDCN$CL_O8A4qKim!Mft0zIe_rcAmWNKM0KFo7ZYO~*_= zxY08WPJa$%bbx&Lnz&QZ_@I_IPUEf-p!S0vV6UnX!eq$=P%;%5n5iuLOg(57(6dwO zZx|O6;N7y@n6&D9xK;pAJs3nYgq5Z>po$uTrl@B6S5S zS1#{NaGE1*rmPBA%g;*Da8oTq0PX=W`PIAD_r;1S5BBtA4$8yCyh~tr-%y6s0XBCi z2yY&+Ve;8!v-3le_5`&E0K)^fN1HR_rz+sWTR$lVfDBDlZxG;jWt%(0)MPICX*`Rbiy49JL5Q-Z+QhN-^EGq6*d)FMCcr{e=tu zy7e9|8=5|D{aPEYEqK-)p}JoSP#qw3O$aer_--s87H7PwUMXdd;qyC!yNdW`PD_x$ zMfrKMvXw1_~xq=I>W8JVko2m|z7+!M767g+^WtEmWSb$!8icV^h2lWeSm> zR71Wu6-(l3LO_!QP*XigS{)%k1W-r7YD=+10NTP-9o3TvppJmmmSTwjw1ufUswWXZ z9RaH?#S#H%3sZGePa=Ri0#;j!B?8a@rfxU|!6Rrt{91tOt`jj-M}%X?L;xHkyt=zY z0M!xU*f9|R#|W?PE)hU=L^yU#1i&%EtGg=`0Dg=j2^>Q}#yJnxWEH`>9K7Iyh=4m1 zpjTMIa=apXrA@UTSkj5y!Gcqsvbd!Xtjwn9Apm~94ML!{%b}n}!6{fc<1GES7VwtZ zj>)Ipew!a>a0VxiI7+zZ2+_n%f&f8)AV3fx2oMA`0|B$x;SZrE%c{R4fSQh`sr_b5 Y$^OJeeeOo~$4~|N_wn1&BWC9R0ql&a82|tP From 7ca3860ca8362e5909a5b1e445bdd05551180813 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 3 Dec 2012 14:54:12 +0100 Subject: [PATCH 003/332] * Fixed qt picking wrong translations. --- src/TomahawkApp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/TomahawkApp.cpp b/src/TomahawkApp.cpp index ebc285bc0..a6b63b0f8 100644 --- a/src/TomahawkApp.cpp +++ b/src/TomahawkApp.cpp @@ -152,7 +152,7 @@ void TomahawkApp::installTranslator() { #if QT_VERSION >= 0x040800 - QString locale = QLocale::system().uiLanguages().first(); + QString locale = QLocale::system().uiLanguages().first().replace( "-", "_" ); #else QString locale = QLocale::system().name(); #endif From 03bf80352cbe954fd498896a4959a7bd624ef30f Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 3 Dec 2012 15:57:21 +0100 Subject: [PATCH 004/332] * Prevent crash in PlayableProxyModel. --- src/libtomahawk/playlist/PlayableProxyModel.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libtomahawk/playlist/PlayableProxyModel.cpp b/src/libtomahawk/playlist/PlayableProxyModel.cpp index 21f5ffbac..dd4dd7487 100644 --- a/src/libtomahawk/playlist/PlayableProxyModel.cpp +++ b/src/libtomahawk/playlist/PlayableProxyModel.cpp @@ -537,6 +537,8 @@ PlayableProxyModel::data( const QModelIndex& index, int role ) const return QVariant(); if ( !m_headerStyle.contains( m_style ) ) return QVariant(); + if ( index.column() < 0 ) + return QVariant(); PlayableModel::Columns col = m_headerStyle[ m_style ].at( index.column() ); QModelIndex sourceIdx = mapToSource( index ); From 7de07aabbfc58c934dc6cafe6784b160af5238ae Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 3 Dec 2012 16:39:40 +0100 Subject: [PATCH 005/332] * Style fixes for a few DbCmds. --- src/libtomahawk/database/DatabaseCommand_AllArtists.cpp | 7 +++---- src/libtomahawk/database/DatabaseCommand_AllArtists.h | 3 ++- .../database/DatabaseCommand_PlaybackHistory.cpp | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/libtomahawk/database/DatabaseCommand_AllArtists.cpp b/src/libtomahawk/database/DatabaseCommand_AllArtists.cpp index 5a79c8f71..3c0c36c66 100644 --- a/src/libtomahawk/database/DatabaseCommand_AllArtists.cpp +++ b/src/libtomahawk/database/DatabaseCommand_AllArtists.cpp @@ -27,7 +27,7 @@ #include "utils/Logger.h" -DatabaseCommand_AllArtists::DatabaseCommand_AllArtists( const Tomahawk::collection_ptr &collection, QObject *parent ) +DatabaseCommand_AllArtists::DatabaseCommand_AllArtists( const Tomahawk::collection_ptr& collection, QObject* parent ) : DatabaseCommand( parent ) , m_collection( collection ) , m_amount( 0 ) @@ -46,7 +46,6 @@ void DatabaseCommand_AllArtists::exec( DatabaseImpl* dbi ) { TomahawkSqlQuery query = dbi->newquery(); - QList al; QString orderToken, sourceToken, filterToken, tables, joins; switch ( m_sortOrder ) @@ -95,10 +94,10 @@ DatabaseCommand_AllArtists::exec( DatabaseImpl* dbi ) query.prepare( sql ); query.exec(); - while( query.next() ) + QList al; + while ( query.next() ) { Tomahawk::artist_ptr artist = Tomahawk::Artist::get( query.value( 0 ).toUInt(), query.value( 1 ).toString() ); - al << artist; } diff --git a/src/libtomahawk/database/DatabaseCommand_AllArtists.h b/src/libtomahawk/database/DatabaseCommand_AllArtists.h index 9f5ecc1ae..fec4944d8 100644 --- a/src/libtomahawk/database/DatabaseCommand_AllArtists.h +++ b/src/libtomahawk/database/DatabaseCommand_AllArtists.h @@ -33,7 +33,8 @@ class DLLEXPORT DatabaseCommand_AllArtists : public DatabaseCommand { Q_OBJECT public: - enum SortOrder { + enum SortOrder + { None = 0, ModificationTime = 1 }; diff --git a/src/libtomahawk/database/DatabaseCommand_PlaybackHistory.cpp b/src/libtomahawk/database/DatabaseCommand_PlaybackHistory.cpp index 67aea6dc4..83756e9e0 100644 --- a/src/libtomahawk/database/DatabaseCommand_PlaybackHistory.cpp +++ b/src/libtomahawk/database/DatabaseCommand_PlaybackHistory.cpp @@ -30,9 +30,8 @@ void DatabaseCommand_PlaybackHistory::exec( DatabaseImpl* dbi ) { TomahawkSqlQuery query = dbi->newquery(); - QList ql; - QString whereToken; + if ( !source().isNull() ) { whereToken = QString( "WHERE source %1" ).arg( source()->isLocal() ? "IS NULL" : QString( "= %1" ).arg( source()->id() ) ); @@ -49,6 +48,7 @@ DatabaseCommand_PlaybackHistory::exec( DatabaseImpl* dbi ) query.prepare( sql ); query.exec(); + QList ql; while ( query.next() ) { TomahawkSqlQuery query_track = dbi->newquery(); From 3721ef2975691191375cd846dc0d556c12a98683 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 3 Dec 2012 17:15:11 +0100 Subject: [PATCH 006/332] * Mark-up tracks in the sidebar when hovered. --- src/sourcetree/SourceDelegate.cpp | 28 +++++++++++++++++++++++++--- src/sourcetree/SourceDelegate.h | 5 +++-- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/sourcetree/SourceDelegate.cpp b/src/sourcetree/SourceDelegate.cpp index 3d8420a78..f30c09be6 100644 --- a/src/sourcetree/SourceDelegate.cpp +++ b/src/sourcetree/SourceDelegate.cpp @@ -263,6 +263,12 @@ SourceDelegate::paintCollection( QPainter* painter, const QStyleOptionViewItem& m_lockRects.remove( index ); } + if ( m_trackHovered == index ) + { + QFont font = painter->font(); + font.setUnderline( true ); + painter->setFont( font ); + } textRect.adjust( 0, 0, 0, 2 ); text = painter->fontMetrics().elidedText( desc, Qt::ElideRight, textRect.width() - 8 ); QTextOption to( Qt::AlignVCenter ); @@ -626,6 +632,22 @@ SourceDelegate::editorEvent( QEvent* event, QAbstractItemModel* model, const QSt const QRect trackRect = m_trackRects[ index ]; const QMouseEvent* ev = static_cast< QMouseEvent* >( event ); hoveringTrack = trackRect.contains( ev->pos() ); + + if ( hoveringTrack ) + { + if ( m_trackHovered != index ) + { + m_trackHovered = index; + QMetaObject::invokeMethod( m_parent, "update", Qt::QueuedConnection, Q_ARG( QModelIndex, index ) ); + } + } + } + if ( !hoveringTrack ) + { + if ( m_trackHovered.isValid() ) + QMetaObject::invokeMethod( m_parent, "update", Qt::QueuedConnection, Q_ARG( QModelIndex, m_trackHovered ) ); + + m_trackHovered = QPersistentModelIndex(); } bool lockRectContainsClick = false, headphonesRectContainsClick = false; @@ -806,7 +828,7 @@ SourceDelegate::hovered( const QModelIndex& index, const QMimeData* mimeData ) { if ( !index.isValid() ) { - foreach ( AnimationHelper *helper, m_expandedMap ) + foreach ( AnimationHelper* helper, m_expandedMap ) { helper->collapse(); } @@ -815,14 +837,14 @@ SourceDelegate::hovered( const QModelIndex& index, const QMimeData* mimeData ) if ( !m_expandedMap.contains( index ) ) { - foreach ( AnimationHelper *helper, m_expandedMap ) + foreach ( AnimationHelper* helper, m_expandedMap ) { helper->collapse(); } m_newDropHoverIndex = index; m_dropMimeData->clear(); - foreach ( const QString &mimeDataFormat, mimeData->formats() ) + foreach ( const QString& mimeDataFormat, mimeData->formats() ) { m_dropMimeData->setData( mimeDataFormat, mimeData->data( mimeDataFormat ) ); } diff --git a/src/sourcetree/SourceDelegate.h b/src/sourcetree/SourceDelegate.h index 9fe2d4bb4..62881e520 100644 --- a/src/sourcetree/SourceDelegate.h +++ b/src/sourcetree/SourceDelegate.h @@ -37,7 +37,7 @@ public: SourceDelegate( QAbstractItemView* parent = 0 ); ~SourceDelegate(); - void hovered( const QModelIndex &index, const QMimeData *mimeData ); + void hovered( const QModelIndex& index, const QMimeData* mimeData ); void dragLeaveEvent(); SourceTreeItem::DropType hoveredDropType() const; @@ -69,7 +69,7 @@ private: mutable int m_iconHeight; QModelIndex m_dropHoverIndex; QModelIndex m_newDropHoverIndex; - QMimeData *m_dropMimeData; + QMimeData* m_dropMimeData; mutable SourceTreeItem::DropType m_hoveredDropType; // Hack to keep easily track of the current highlighted DropType in paint() QMap< QModelIndex, AnimationHelper* > m_expandedMap; QPixmap m_headphonesOn, m_headphonesOff, m_realtimeLocked, m_realtimeUnlocked, m_nowPlayingSpeaker, m_nowPlayingSpeakerDark, m_collaborativeOn; @@ -78,6 +78,7 @@ private: QMap< int, QString > m_dropTypeTextMap; QMap< int, QPixmap > m_dropTypeImageMap; + mutable QPersistentModelIndex m_trackHovered; mutable QHash< QPersistentModelIndex, QRect > m_trackRects; mutable QHash< QPersistentModelIndex, QRect > m_headphoneRects; mutable QHash< QPersistentModelIndex, QRect > m_lockRects; From 33fe21d517000ffadf75751f17e31bf4100a2d9d Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 3 Dec 2012 17:34:47 +0100 Subject: [PATCH 007/332] * Renamed trackCountChanged() to itemCountChanged() which is technically more correct. --- src/libtomahawk/PlaylistInterface.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libtomahawk/PlaylistInterface.h b/src/libtomahawk/PlaylistInterface.h index 8475b58c5..8c557f8c3 100644 --- a/src/libtomahawk/PlaylistInterface.h +++ b/src/libtomahawk/PlaylistInterface.h @@ -92,7 +92,7 @@ public slots: virtual void setShuffled( bool enabled ) = 0; signals: - void trackCountChanged( unsigned int tracks ); + void itemCountChanged( unsigned int tracks ); void repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode mode ); void shuffleModeChanged( bool enabled ); void latchModeChanged( Tomahawk::PlaylistModes::LatchMode mode ); From 0c7f3309181fcbcf3a8a43f76ed545b7f577c331 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 3 Dec 2012 17:36:07 +0100 Subject: [PATCH 008/332] * Changed various classes to use the new itemCountChanged() signal. --- src/infoplugins/linux/mpris/MprisPlugin.cpp | 4 ++-- src/libtomahawk/playlist/PlayableModel.cpp | 5 ++--- src/libtomahawk/playlist/PlayableModel.h | 1 - src/libtomahawk/playlist/PlayableProxyModel.cpp | 2 ++ src/libtomahawk/playlist/PlayableProxyModel.h | 2 ++ .../playlist/PlayableProxyModelPlaylistInterface.cpp | 2 +- src/libtomahawk/playlist/PlaylistModel.cpp | 4 ++-- src/libtomahawk/playlist/QueueView.cpp | 2 +- src/libtomahawk/playlist/dynamic/DynamicModel.cpp | 2 +- src/libtomahawk/playlist/dynamic/DynamicView.cpp | 2 +- 10 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/infoplugins/linux/mpris/MprisPlugin.cpp b/src/infoplugins/linux/mpris/MprisPlugin.cpp index 98d9e20dd..d86e4a399 100644 --- a/src/infoplugins/linux/mpris/MprisPlugin.cpp +++ b/src/infoplugins/linux/mpris/MprisPlugin.cpp @@ -84,7 +84,7 @@ MprisPlugin::init() Tomahawk::playlistinterface_ptr playlist = AudioEngine::instance()->playlist(); if ( !playlist.isNull() ) { - connect( playlist.data(), SIGNAL( trackCountChanged( unsigned int ) ), + connect( playlist.data(), SIGNAL( itemCountChanged( unsigned int ) ), SLOT( onTrackCountChanged( unsigned int ) ) ); } @@ -551,7 +551,7 @@ MprisPlugin::onPlaylistChanged( Tomahawk::playlistinterface_ptr playlist ) disconnect( this, SLOT( onTrackCountChanged( unsigned int ) ) ); if ( !playlist.isNull() ) - connect( playlist.data(), SIGNAL( trackCountChanged( unsigned int ) ), + connect( playlist.data(), SIGNAL( itemCountChanged( unsigned int ) ), SLOT( onTrackCountChanged( unsigned int ) ) ); // Notify relevant changes diff --git a/src/libtomahawk/playlist/PlayableModel.cpp b/src/libtomahawk/playlist/PlayableModel.cpp index 83b09a71e..c78872f01 100644 --- a/src/libtomahawk/playlist/PlayableModel.cpp +++ b/src/libtomahawk/playlist/PlayableModel.cpp @@ -538,7 +538,6 @@ PlayableModel::insertInternal( const QList< T >& items, int row ) { if ( !items.count() ) { - emit trackCountChanged( rowCount( QModelIndex() ) ); emit itemCountChanged( rowCount( QModelIndex() ) ); finishLoading(); @@ -567,7 +566,7 @@ PlayableModel::insertInternal( const QList< T >& items, int row ) } emit endInsertRows(); - emit trackCountChanged( rowCount( QModelIndex() ) ); + emit itemCountChanged( rowCount( QModelIndex() ) ); finishLoading(); } @@ -603,7 +602,7 @@ PlayableModel::removeIndex( const QModelIndex& index, bool moreToCome ) } if ( !moreToCome ) - emit trackCountChanged( rowCount( QModelIndex() ) ); + emit itemCountChanged( rowCount( QModelIndex() ) ); } diff --git a/src/libtomahawk/playlist/PlayableModel.h b/src/libtomahawk/playlist/PlayableModel.h index c9dcbf555..c0b1810ed 100644 --- a/src/libtomahawk/playlist/PlayableModel.h +++ b/src/libtomahawk/playlist/PlayableModel.h @@ -115,7 +115,6 @@ signals: void repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode mode ); void shuffleModeChanged( bool enabled ); - void trackCountChanged( unsigned int tracks ); void itemCountChanged( unsigned int items ); void loadingStarted(); diff --git a/src/libtomahawk/playlist/PlayableProxyModel.cpp b/src/libtomahawk/playlist/PlayableProxyModel.cpp index dd4dd7487..1778b4c72 100644 --- a/src/libtomahawk/playlist/PlayableProxyModel.cpp +++ b/src/libtomahawk/playlist/PlayableProxyModel.cpp @@ -106,6 +106,7 @@ PlayableProxyModel::setSourcePlayableModel( PlayableModel* sourceModel ) { disconnect( m_model, SIGNAL( loadingStarted() ), this, SIGNAL( loadingStarted() ) ); disconnect( m_model, SIGNAL( loadingFinished() ), this, SIGNAL( loadingFinished() ) ); + disconnect( m_model, SIGNAL( itemCountChanged( unsigned int ) ), this, SIGNAL( itemCountChanged( unsigned int ) ) ); disconnect( m_model, SIGNAL( indexPlayable( QModelIndex ) ), this, SLOT( onIndexPlayable( QModelIndex ) ) ); } @@ -115,6 +116,7 @@ PlayableProxyModel::setSourcePlayableModel( PlayableModel* sourceModel ) { connect( m_model, SIGNAL( loadingStarted() ), SIGNAL( loadingStarted() ) ); connect( m_model, SIGNAL( loadingFinished() ), SIGNAL( loadingFinished() ) ); + connect( m_model, SIGNAL( itemCountChanged( unsigned int ) ), SIGNAL( itemCountChanged( unsigned int ) ) ); connect( m_model, SIGNAL( indexPlayable( QModelIndex ) ), SLOT( onIndexPlayable( QModelIndex ) ) ); } diff --git a/src/libtomahawk/playlist/PlayableProxyModel.h b/src/libtomahawk/playlist/PlayableProxyModel.h index 88d7c033c..3db7f125a 100644 --- a/src/libtomahawk/playlist/PlayableProxyModel.h +++ b/src/libtomahawk/playlist/PlayableProxyModel.h @@ -96,6 +96,8 @@ signals: void indexPlayable( const QModelIndex& index ); void currentIndexChanged(); + void itemCountChanged( unsigned int items ); + protected: virtual bool filterAcceptsRow( int sourceRow, const QModelIndex& sourceParent ) const; virtual bool lessThan( const QModelIndex& left, const QModelIndex& right ) const; diff --git a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp index 0712bb7d3..02e5f6772 100644 --- a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp +++ b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp @@ -41,7 +41,7 @@ PlayableProxyModelPlaylistInterface::PlayableProxyModelPlaylistInterface( Playab connect( proxyModel, SIGNAL( currentIndexChanged() ), SLOT( onModelChanged() ) ); connect( proxyModel, SIGNAL( indexPlayable( QModelIndex ) ), SLOT( onModelChanged() ) ); connect( proxyModel, SIGNAL( filterChanged( QString ) ), SLOT( onModelChanged() ) ); -// connect( proxyModel, SIGNAL( trackCountChanged( unsigned int ) ), SLOT( onModelChanged() ) ); + connect( proxyModel, SIGNAL( itemCountChanged( unsigned int ) ), SLOT( onModelChanged() ) ); } diff --git a/src/libtomahawk/playlist/PlaylistModel.cpp b/src/libtomahawk/playlist/PlaylistModel.cpp index 655eac5b2..f470aa157 100644 --- a/src/libtomahawk/playlist/PlaylistModel.cpp +++ b/src/libtomahawk/playlist/PlaylistModel.cpp @@ -242,7 +242,7 @@ PlaylistModel::insertEntries( const QList< Tomahawk::plentry_ptr >& entries, int { if ( !entries.count() ) { - emit trackCountChanged( rowCount( QModelIndex() ) ); + emit itemCountChanged( rowCount( QModelIndex() ) ); finishLoading(); return; } @@ -293,7 +293,7 @@ PlaylistModel::insertEntries( const QList< Tomahawk::plentry_ptr >& entries, int finishLoading(); emit endInsertRows(); - emit trackCountChanged( rowCount( QModelIndex() ) ); + emit itemCountChanged( rowCount( QModelIndex() ) ); } diff --git a/src/libtomahawk/playlist/QueueView.cpp b/src/libtomahawk/playlist/QueueView.cpp index 5eaca075a..2d25eb3e1 100644 --- a/src/libtomahawk/playlist/QueueView.cpp +++ b/src/libtomahawk/playlist/QueueView.cpp @@ -55,7 +55,7 @@ QueueView::QueueView( AnimatedSplitter* parent ) // ui->queue->setEmptyTip( tr( "The queue is currently empty. Drop something to enqueue it!" ) ); ui->queue->setEmptyTip( QString() ); - connect( queueModel, SIGNAL( trackCountChanged( unsigned int ) ), SLOT( updateLabel() ) ); + connect( queueModel, SIGNAL( itemCountChanged( unsigned int ) ), SLOT( updateLabel() ) ); connect( ui->toggleButton, SIGNAL( clicked() ), SLOT( show() ) ); connect( this, SIGNAL( animationFinished() ), SLOT( onAnimationFinished() ) ); diff --git a/src/libtomahawk/playlist/dynamic/DynamicModel.cpp b/src/libtomahawk/playlist/dynamic/DynamicModel.cpp index ad5ea0652..fb8839935 100644 --- a/src/libtomahawk/playlist/dynamic/DynamicModel.cpp +++ b/src/libtomahawk/playlist/dynamic/DynamicModel.cpp @@ -71,7 +71,7 @@ DynamicModel::loadPlaylist( const Tomahawk::dynplaylist_ptr& playlist, bool load PlaylistModel::loadPlaylist( m_playlist, m_playlist->mode() == Static ); if ( m_playlist->mode() == OnDemand && oldCount != rowCount( QModelIndex() ) ) - emit trackCountChanged( rowCount( QModelIndex() ) ); + emit itemCountChanged( rowCount( QModelIndex() ) ); } diff --git a/src/libtomahawk/playlist/dynamic/DynamicView.cpp b/src/libtomahawk/playlist/dynamic/DynamicView.cpp index beaf51804..3b0de79ba 100644 --- a/src/libtomahawk/playlist/dynamic/DynamicView.cpp +++ b/src/libtomahawk/playlist/dynamic/DynamicView.cpp @@ -76,7 +76,7 @@ DynamicView::setDynamicModel( DynamicModel* model ) m_model = model; PlaylistView::setPlaylistModel( m_model ); - connect( m_model, SIGNAL( trackCountChanged( unsigned int ) ), SLOT( onTrackCountChanged( unsigned int ) ) ); + connect( m_model, SIGNAL( itemCountChanged( unsigned int ) ), SLOT( onTrackCountChanged( unsigned int ) ) ); connect( m_model, SIGNAL( checkForOverflow() ), SLOT( checkForOverflow() ) ); } From 4db3ea8d36d08f22bea9c9297e7663e57ca81274 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 3 Dec 2012 17:37:59 +0100 Subject: [PATCH 009/332] * Update control-states when queue changes. --- src/libtomahawk/audio/AudioEngine.cpp | 23 +++++++++++++++++++++-- src/libtomahawk/audio/AudioEngine.h | 2 +- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/libtomahawk/audio/AudioEngine.cpp b/src/libtomahawk/audio/AudioEngine.cpp index bb11d2770..ba3454fe2 100644 --- a/src/libtomahawk/audio/AudioEngine.cpp +++ b/src/libtomahawk/audio/AudioEngine.cpp @@ -832,6 +832,25 @@ AudioEngine::timerTriggered( qint64 time ) } +void +AudioEngine::setQueue( const playlistinterface_ptr& queue ) +{ + if ( m_queue ) + { + disconnect( m_queue.data(), SIGNAL( previousTrackAvailable() ), this, SIGNAL( controlStateChanged() ) ); + disconnect( m_queue.data(), SIGNAL( nextTrackAvailable() ), this, SIGNAL( controlStateChanged() ) ); + } + + m_queue = queue; + + if ( m_queue ) + { + connect( m_queue.data(), SIGNAL( previousTrackAvailable() ), SIGNAL( controlStateChanged() ) ); + connect( m_queue.data(), SIGNAL( nextTrackAvailable() ), SIGNAL( controlStateChanged() ) ); + } +} + + void AudioEngine::setPlaylist( Tomahawk::playlistinterface_ptr playlist ) { @@ -842,8 +861,8 @@ AudioEngine::setPlaylist( Tomahawk::playlistinterface_ptr playlist ) { if ( m_playlist.data() ) { - disconnect( m_playlist.data(), SIGNAL( previousTrackAvailable( bool ) ) ); - disconnect( m_playlist.data(), SIGNAL( nextTrackAvailable( bool ) ) ); + disconnect( m_playlist.data(), SIGNAL( previousTrackAvailable() ) ); + disconnect( m_playlist.data(), SIGNAL( nextTrackAvailable() ) ); } m_playlist.data()->reset(); diff --git a/src/libtomahawk/audio/AudioEngine.h b/src/libtomahawk/audio/AudioEngine.h index 6e1d7086f..65dea3856 100644 --- a/src/libtomahawk/audio/AudioEngine.h +++ b/src/libtomahawk/audio/AudioEngine.h @@ -94,7 +94,7 @@ public slots: void playItem( const Tomahawk::artist_ptr& artist ); void playItem( const Tomahawk::album_ptr& album ); void setPlaylist( Tomahawk::playlistinterface_ptr playlist ); - void setQueue( Tomahawk::playlistinterface_ptr queue ) { m_queue = queue; } + void setQueue( const Tomahawk::playlistinterface_ptr& queue ); void setStopAfterTrack( const Tomahawk::query_ptr& query ); From c5dd1ebf2fb6ed1113e4f2b35160c5edbc5a4069 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20Lindstr=C3=B6m?= Date: Mon, 3 Dec 2012 20:14:01 +0100 Subject: [PATCH 010/332] Resulthintcheck --- .../generic/charts/ChartsPlugin.cpp | 7 +- src/libtomahawk/CMakeLists.txt | 2 + src/libtomahawk/playlist/PlaylistModel.cpp | 4 +- .../utils/CustomResultHintChecker.cpp | 119 +++++++++++ .../utils/CustomResultHintChecker.h | 53 +++++ src/libtomahawk/utils/ResultHintChecker.cpp | 201 ++++++++++++++++++ src/libtomahawk/utils/ResultHintChecker.h | 66 ++++++ src/libtomahawk/utils/TomahawkUtils.cpp | 6 + src/libtomahawk/utils/TomahawkUtils.h | 1 + .../utils/WebResultHintChecker.cpp | 88 +------- src/libtomahawk/utils/WebResultHintChecker.h | 17 +- 11 files changed, 464 insertions(+), 100 deletions(-) create mode 100644 src/libtomahawk/utils/CustomResultHintChecker.cpp create mode 100644 src/libtomahawk/utils/CustomResultHintChecker.h create mode 100644 src/libtomahawk/utils/ResultHintChecker.cpp create mode 100644 src/libtomahawk/utils/ResultHintChecker.h diff --git a/src/infoplugins/generic/charts/ChartsPlugin.cpp b/src/infoplugins/generic/charts/ChartsPlugin.cpp index 1092abdf4..7f64f1bc6 100644 --- a/src/infoplugins/generic/charts/ChartsPlugin.cpp +++ b/src/infoplugins/generic/charts/ChartsPlugin.cpp @@ -37,8 +37,8 @@ #include "utils/TomahawkCache.h" #include "Source.h" -#define CHART_URL "http://charts.tomahawk-player.org/" -//#define CHART_URL "http://localhost:8080/" +//#define CHART_URL "http://charts.tomahawk-player.org/" +#define CHART_URL "http://localhost:8080/" #include #include @@ -665,8 +665,11 @@ ChartsPlugin::chartReturned() else setChartType( None ); + int count = 0; foreach ( const QVariant& chartR, chartResponse ) { + if( count++ >= 1) + break; QString title, artist, album, streamUrl; QVariantMap chartMap = chartR.toMap(); diff --git a/src/libtomahawk/CMakeLists.txt b/src/libtomahawk/CMakeLists.txt index 35d33e356..4968dcd52 100644 --- a/src/libtomahawk/CMakeLists.txt +++ b/src/libtomahawk/CMakeLists.txt @@ -120,6 +120,8 @@ set( libGuiSources utils/BinaryInstallerHelper.cpp utils/BinaryExtractWorker.cpp utils/SharedTimeLine.cpp + utils/ResultHintChecker.cpp + utils/CustomResultHintChecker.cpp utils/WebResultHintChecker.cpp utils/NetworkReply.cpp diff --git a/src/libtomahawk/playlist/PlaylistModel.cpp b/src/libtomahawk/playlist/PlaylistModel.cpp index f470aa157..e5f99fffa 100644 --- a/src/libtomahawk/playlist/PlaylistModel.cpp +++ b/src/libtomahawk/playlist/PlaylistModel.cpp @@ -35,7 +35,7 @@ #include "PlayableItem.h" #include "utils/TomahawkUtils.h" #include "utils/Logger.h" -#include +#include using namespace Tomahawk; @@ -281,7 +281,7 @@ PlaylistModel::insertEntries( const QList< Tomahawk::plentry_ptr >& entries, int connect( plitem, SIGNAL( dataChanged() ), SLOT( onDataChanged() ) ); - WebResultHintChecker::checkQuery( entry->query() ); + ResultHintChecker::checkQuery( entry->query() ); } if ( !m_waitingForResolved.isEmpty() ) diff --git a/src/libtomahawk/utils/CustomResultHintChecker.cpp b/src/libtomahawk/utils/CustomResultHintChecker.cpp new file mode 100644 index 000000000..bfab472ed --- /dev/null +++ b/src/libtomahawk/utils/CustomResultHintChecker.cpp @@ -0,0 +1,119 @@ +/* === This file is part of Tomahawk Player - === + * + * Copyright 2012, Hugo Lindström + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see . + */ + +#include "CustomResultHintChecker.h" +#include "ResultHintChecker.h" + +#include +#include +#include +#include "Query.h" +#include "utils/NetworkReply.h" +#include "utils/Closure.h" +using namespace Tomahawk; + + +CustomResultHintChecker::CustomResultHintChecker( const query_ptr& q ) + : ResultHintChecker( q ) + , m_query( q ) +{ + if( !isValid() ) + { + qDebug() << Q_FUNC_INFO << "invalid:" << url(); + return; + } + + qDebug() << Q_FUNC_INFO << url(); + + handleResultHint(); +} + +void +CustomResultHintChecker::handleResultHint() +{ + + if ( url().startsWith( "hnhh" ) ) + { + QUrl httpUrl = QUrl::fromUserInput( url() ); + httpUrl.setScheme( "http" ); + + NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->get( QNetworkRequest( httpUrl ) ) ); + + connect( this, SIGNAL( result( result_ptr ) ), this, SLOT( handleHnhhResult( result_ptr ) ) ); + connect( reply, SIGNAL( finished() ), SLOT( hnhhFinished() ) ); + return; + } +} + +void +CustomResultHintChecker::handleHnhhResult( result_ptr result ) +{ + if( !result.isNull() ) + { + + qDebug() << Q_FUNC_INFO << "Setting expiration for hotnewhiphop" << result->toString(); + qDebug() << Q_FUNC_INFO << url() << resultHint(); + + } +} + +void +CustomResultHintChecker::hnhhFinished() +{ + NetworkReply* r = qobject_cast( sender() ); + r->deleteLater(); + + bool foundStreamable = false; + // Intentionally accepts unknown error + if ( r->reply()->error() != ( QNetworkReply::NoError | QNetworkReply::UnknownNetworkError ) ) + { + + QXmlStreamReader xmlStream( r->reply()->readAll() ); + + if ( xmlStream.error() != QXmlStreamReader::NoError ) + { + qDebug() << "XML ERROR!" << xmlStream.errorString(); + } + else + { + while (!xmlStream.atEnd() ) + { + xmlStream.readNext(); + if ( xmlStream.isStartElement() ) + { + if ( xmlStream.name().toString() == "song" ) + { + const QString streamUrl = QString( xmlStream.attributes().value("filename").toLatin1() ); + // Dont save this resulthint, it needs to revalidate + qDebug() << Q_FUNC_INFO << "GOT STREAMABLE " << streamUrl; + setResultHint( streamUrl, false ); + foundStreamable = true; + break; + } + } + } + } + } + + if ( !foundStreamable) + { + removeHint(); + } + + deleteLater(); +} diff --git a/src/libtomahawk/utils/CustomResultHintChecker.h b/src/libtomahawk/utils/CustomResultHintChecker.h new file mode 100644 index 000000000..179560e58 --- /dev/null +++ b/src/libtomahawk/utils/CustomResultHintChecker.h @@ -0,0 +1,53 @@ +/* === This file is part of Tomahawk Player - === + * + * Copyright 2012, Hugo Lindström + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see . + */ +#ifndef Custom_RESULT_HINT_CHECKER_H +#define Custom_RESULT_HINT_CHECKER_H + +#include "Typedefs.h" +#include +#include +#include "ResultHintChecker.h" + +namespace Tomahawk +{ + +/** + * @brief The CustomResultHintChecker class + * This class is to be used with custom protocol to retrieve + * streamable urls for resulthints. + */ +class CustomResultHintChecker : public ResultHintChecker +{ + Q_OBJECT +public: + CustomResultHintChecker( const query_ptr& q ); + virtual ~CustomResultHintChecker(){} +private slots: + /* HotNewHiphop specific */ + void hnhhFinished(); + void handleHnhhResult( result_ptr result ); +private: + void handleResultHint(); + QString m_streamUrl; + query_ptr m_query; +}; + + +} + +#endif diff --git a/src/libtomahawk/utils/ResultHintChecker.cpp b/src/libtomahawk/utils/ResultHintChecker.cpp new file mode 100644 index 000000000..975ad44f0 --- /dev/null +++ b/src/libtomahawk/utils/ResultHintChecker.cpp @@ -0,0 +1,201 @@ +/* === This file is part of Tomahawk Player - === + * + * Copyright 2012, Leo Franchi + * Copyright 2012, Hugo Lindström + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see . + */ + +#include "WebResultHintChecker.h" +#include "CustomResultHintChecker.h" +#include +#include +#include +#include "Query.h" +#include "Result.h" +#include "Source.h" +#include "Pipeline.h" +#include "utils/NetworkReply.h" +#include "utils/Logger.h" + +using namespace Tomahawk; + +ResultHintChecker::ResultHintChecker( const query_ptr& q ) + : QObject( 0 ) + , m_query( q ) + , m_isValid( false ) +{ + Q_ASSERT( !m_query.isNull() ); + m_url = q->resultHint(); + + connect( m_query.data(), SIGNAL( resolvingFinished( bool ) ), this, SLOT( onResolvingFinished( bool ) ) ); + connect( m_query.data(), SIGNAL( resultsRemoved( const Tomahawk::result_ptr& ) ), this, SLOT( onResultsRemoved( const Tomahawk::result_ptr& ) ) ); + connect( m_query.data(), SIGNAL( resultsChanged() ), this, SLOT( onResultsChanged() ) ); + connect( m_query.data(), SIGNAL( updated() ), this, SLOT( onResultsChanged() ) ); + connect( m_query.data(), SIGNAL( resultsAdded( const QList& ) ), this, SLOT( onResultsAdded( const QList& ) ) ); + + check( m_url ); +} + + +ResultHintChecker::~ResultHintChecker() +{ +} + +/** + * @brief ResultHintChecker::checkQuery + * @param query + * Static function to initiate resulthint checkers + */ +void +ResultHintChecker::checkQuery( const query_ptr& query ) +{ + if ( !query->resultHint().isEmpty() && TomahawkUtils::whitelistedHttpResultHint( query->resultHint() ) ) + new WebResultHintChecker( query ); + + else if ( !query->resultHint().isEmpty() && TomahawkUtils::whitelistedCustomProtocolResultHint( query->resultHint() ) ) + new CustomResultHintChecker( query ); +} + + +void +ResultHintChecker::onResultsRemoved(const result_ptr &result) +{ + qDebug() << Q_FUNC_INFO << result->toString(); +} + +void +ResultHintChecker::onResultsChanged() +{ + foreach( const result_ptr& rp, m_query->results() ) + { + qDebug() << Q_FUNC_INFO << rp->toString(); + } +} + + +void +ResultHintChecker::checkQueries( const QList< query_ptr >& queries ) +{ + foreach ( const query_ptr& query, queries ) + checkQuery( query ); +} + +void +ResultHintChecker::onResolvingFinished( bool hasResults ) +{ + foreach ( const result_ptr& result, m_query->results() ) + { + qDebug() << Q_FUNC_INFO << "result url():" << result->url(); + } +} + +void +ResultHintChecker::onResultsAdded( const QList& results ) +{ + foreach( const result_ptr& result, results ) + { + qDebug() << Q_FUNC_INFO << "result url():" << result->url(); + } + +} + +QString +ResultHintChecker::resultHint() const +{ + return m_query->resultHint(); +} + +bool +ResultHintChecker::isValid() +{ + return m_isValid; +} + + +void +ResultHintChecker::check( const QUrl &url ) +{ + + qDebug() << Q_FUNC_INFO << url; + // Nothing to do + if ( url.isEmpty() || + ( !TomahawkUtils::whitelistedHttpResultHint( url.toString() ) && + !TomahawkUtils::whitelistedCustomProtocolResultHint( url.toString() ) + ) ) + { + if ( !url.isEmpty() || m_query->saveHTTPResultHint() ) + removeHint(); + + deleteLater(); + return; + } + + m_isValid = true; + +} + +result_ptr +ResultHintChecker::getResultPtr() +{ + result_ptr foundResult; + foreach ( const result_ptr& result, m_query->results() ) + { + if ( result->url() == m_url ) + { + foundResult = result; + break; + } + } + + return foundResult; +} + +void +ResultHintChecker::setResultHint(const QString &url, const bool saveHint) +{ + + qDebug() << Q_FUNC_INFO << "Setting new resulthint" << url << "save it? " << saveHint; + + result_ptr foundResult = getResultPtr(); + + if ( !foundResult.isNull() ) + { + qDebug() << Q_FUNC_INFO << "Removing old result " << foundResult->toString(); + m_query->removeResult( foundResult ); + } + + m_query->setResultHint( url ); + m_query->setSaveHTTPResultHint( saveHint ); + +} + + +void +ResultHintChecker::removeHint() +{ + tLog() << "Removing invalid resulthint from query:" << m_url; + + result_ptr foundResult = getResultPtr(); + + if ( !foundResult.isNull() ) + m_query->removeResult( foundResult ); + + if ( m_query->resultHint() == m_url ) + { + m_query->setResultHint( QString() ); + } + + m_query->setSaveHTTPResultHint( false ); +} diff --git a/src/libtomahawk/utils/ResultHintChecker.h b/src/libtomahawk/utils/ResultHintChecker.h new file mode 100644 index 000000000..b35c3966f --- /dev/null +++ b/src/libtomahawk/utils/ResultHintChecker.h @@ -0,0 +1,66 @@ +/* === This file is part of Tomahawk Player - === + * + * Copyright 2012, Leo Franchi + * Copyright 2012, Hugo Lindström + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see . + */ +#ifndef RESULT_HINT_CHECKER_H +#define RESULT_HINT_CHECKER_H + +#include "Typedefs.h" +#include + +namespace Tomahawk +{ + +class ResultHintChecker : public QObject +{ + Q_OBJECT +public: + explicit ResultHintChecker( const query_ptr& q ); + virtual ~ResultHintChecker(); + + static void checkQuery( const query_ptr& query ); + static void checkQueries( const QList< query_ptr >& queries ); + + bool isValid(); + + QString url() const { return m_url; } + QString resultHint() const; + + void setUrl( const QString& url ) { m_url = url; } + void setResultHint( const QString &url, const bool saveHint ); + void removeHint(); + +signals: + void result( result_ptr ); + +private slots: + void onResolvingFinished( bool hasResults ); + void onResultsAdded( const QList& results ); + void onResultsRemoved( const Tomahawk::result_ptr& result ); + void onResultsChanged(); + +private: + void check( const QUrl& url ); + result_ptr getResultPtr(); + query_ptr m_query; + QString m_url; + bool m_isValid; +}; + +} + +#endif diff --git a/src/libtomahawk/utils/TomahawkUtils.cpp b/src/libtomahawk/utils/TomahawkUtils.cpp index 77a0ccb82..306fb2bcf 100644 --- a/src/libtomahawk/utils/TomahawkUtils.cpp +++ b/src/libtomahawk/utils/TomahawkUtils.cpp @@ -950,6 +950,12 @@ whitelistedHttpResultHint( const QString& url ) } +bool +whitelistedCustomProtocolResultHint( const QString& url ) +{ + return url.startsWith( "hnhh" ); +} + } // ns #include "TomahawkUtils.moc" diff --git a/src/libtomahawk/utils/TomahawkUtils.h b/src/libtomahawk/utils/TomahawkUtils.h index 65d52d6e9..7488c7929 100644 --- a/src/libtomahawk/utils/TomahawkUtils.h +++ b/src/libtomahawk/utils/TomahawkUtils.h @@ -129,6 +129,7 @@ namespace TomahawkUtils void copyWithAuthentication( const QString& srcFile, const QDir dest, QObject* receiver ); DLLEXPORT bool whitelistedHttpResultHint( const QString& url ); + DLLEXPORT bool whitelistedCustomProtocolResultHint( const QString& url ); /** * This helper is designed to help "update" an existing playlist with a newer revision of itself. diff --git a/src/libtomahawk/utils/WebResultHintChecker.cpp b/src/libtomahawk/utils/WebResultHintChecker.cpp index ddea82547..fb2537799 100644 --- a/src/libtomahawk/utils/WebResultHintChecker.cpp +++ b/src/libtomahawk/utils/WebResultHintChecker.cpp @@ -1,7 +1,7 @@ /* === This file is part of Tomahawk Player - === * * Copyright 2012, Leo Franchi - * + * Copyright 2012, Hugo Lindström * Tomahawk is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or @@ -17,107 +17,29 @@ */ #include "WebResultHintChecker.h" +#include "ResultHintChecker.h" #include #include #include - #include "Query.h" -#include "Result.h" -#include "Source.h" -#include "Pipeline.h" #include "utils/NetworkReply.h" -#include "utils/Logger.h" using namespace Tomahawk; WebResultHintChecker::WebResultHintChecker( const query_ptr& q ) - : QObject( 0 ) - , m_query( q ) + : ResultHintChecker( q ) { - Q_ASSERT( !m_query.isNull() ); - - m_url = q->resultHint(); - - if ( Pipeline::instance()->isResolving( m_query ) ) - connect( m_query.data(), SIGNAL( resolvingFinished( bool ) ), this, SLOT( onResolvingFinished( bool ) ) ); - else - check( QUrl::fromUserInput( m_url ) ); -} - - -WebResultHintChecker::~WebResultHintChecker() -{ -} - - -void -WebResultHintChecker::checkQuery( const query_ptr& query ) -{ - if ( !query->resultHint().isEmpty() && query->resultHint().startsWith( "http" ) ) - new WebResultHintChecker( query ); -} - - -void -WebResultHintChecker::checkQueries( const QList< query_ptr >& queries ) -{ - foreach ( const query_ptr& query, queries ) - checkQuery( query ); -} - - -void -WebResultHintChecker::onResolvingFinished( bool hasResults ) -{ - Q_UNUSED( hasResults ); - - check( QUrl::fromUserInput( m_url ) ); -} - - -void -WebResultHintChecker::check( const QUrl &url ) -{ - // Nothing to do - if ( url.isEmpty() || !url.toString().startsWith( "http" ) ) + if( !isValid() ) { - if ( !url.isEmpty() || m_query->saveHTTPResultHint() ) - removeHint(); - - deleteLater(); return; } - NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->head( QNetworkRequest( url ) ) ); + NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->head( QNetworkRequest( QUrl::fromUserInput( url() ) ) ) ); connect( reply, SIGNAL( finished() ), SLOT( headFinished() ) ); } - -void -WebResultHintChecker::removeHint() -{ - tLog() << "Removing HTTP result from query since HEAD request failed to verify it was a valid url:" << m_url; - - result_ptr foundResult; - foreach ( const result_ptr& result, m_query->results() ) - { - if ( result->url() == m_url ) - { - foundResult = result; - break; - } - } - - if ( !foundResult.isNull() ) - m_query->removeResult( foundResult ); - if ( m_query->resultHint() == m_url ) - m_query->setResultHint( QString() ); - m_query->setSaveHTTPResultHint( false ); -} - - void WebResultHintChecker::headFinished() { diff --git a/src/libtomahawk/utils/WebResultHintChecker.h b/src/libtomahawk/utils/WebResultHintChecker.h index 58dc79c95..469e2fb68 100644 --- a/src/libtomahawk/utils/WebResultHintChecker.h +++ b/src/libtomahawk/utils/WebResultHintChecker.h @@ -1,6 +1,7 @@ /* === This file is part of Tomahawk Player - === * * Copyright 2012, Leo Franchi + * Copyright 2012, Hugo Lindström * * Tomahawk is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,31 +20,21 @@ #define WEB_RESULT_HINT_CHECKER_H #include "Typedefs.h" - #include +#include "ResultHintChecker.h" namespace Tomahawk { -class WebResultHintChecker : public QObject +class WebResultHintChecker : public ResultHintChecker { Q_OBJECT public: WebResultHintChecker( const query_ptr& q ); - virtual ~WebResultHintChecker(); - - static void checkQuery( const query_ptr& query ); - static void checkQueries( const QList< query_ptr >& queries ); - + virtual ~WebResultHintChecker(){} private slots: void headFinished(); - - void check( const QUrl& url ); - - void onResolvingFinished( bool hasResults ); private: - void removeHint(); - query_ptr m_query; QString m_url; }; From e968e84fa314603ebe9819cdec2a12aa1ebe5fbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20Lindstr=C3=B6m?= Date: Mon, 3 Dec 2012 20:19:01 +0100 Subject: [PATCH 011/332] Revert "Resulthintcheck" This reverts commit c5dd1ebf2fb6ed1113e4f2b35160c5edbc5a4069. --- .../generic/charts/ChartsPlugin.cpp | 7 +- src/libtomahawk/CMakeLists.txt | 2 - src/libtomahawk/playlist/PlaylistModel.cpp | 4 +- .../utils/CustomResultHintChecker.cpp | 119 ----------- .../utils/CustomResultHintChecker.h | 53 ----- src/libtomahawk/utils/ResultHintChecker.cpp | 201 ------------------ src/libtomahawk/utils/ResultHintChecker.h | 66 ------ src/libtomahawk/utils/TomahawkUtils.cpp | 6 - src/libtomahawk/utils/TomahawkUtils.h | 1 - .../utils/WebResultHintChecker.cpp | 88 +++++++- src/libtomahawk/utils/WebResultHintChecker.h | 17 +- 11 files changed, 100 insertions(+), 464 deletions(-) delete mode 100644 src/libtomahawk/utils/CustomResultHintChecker.cpp delete mode 100644 src/libtomahawk/utils/CustomResultHintChecker.h delete mode 100644 src/libtomahawk/utils/ResultHintChecker.cpp delete mode 100644 src/libtomahawk/utils/ResultHintChecker.h diff --git a/src/infoplugins/generic/charts/ChartsPlugin.cpp b/src/infoplugins/generic/charts/ChartsPlugin.cpp index 7f64f1bc6..1092abdf4 100644 --- a/src/infoplugins/generic/charts/ChartsPlugin.cpp +++ b/src/infoplugins/generic/charts/ChartsPlugin.cpp @@ -37,8 +37,8 @@ #include "utils/TomahawkCache.h" #include "Source.h" -//#define CHART_URL "http://charts.tomahawk-player.org/" -#define CHART_URL "http://localhost:8080/" +#define CHART_URL "http://charts.tomahawk-player.org/" +//#define CHART_URL "http://localhost:8080/" #include #include @@ -665,11 +665,8 @@ ChartsPlugin::chartReturned() else setChartType( None ); - int count = 0; foreach ( const QVariant& chartR, chartResponse ) { - if( count++ >= 1) - break; QString title, artist, album, streamUrl; QVariantMap chartMap = chartR.toMap(); diff --git a/src/libtomahawk/CMakeLists.txt b/src/libtomahawk/CMakeLists.txt index 4968dcd52..35d33e356 100644 --- a/src/libtomahawk/CMakeLists.txt +++ b/src/libtomahawk/CMakeLists.txt @@ -120,8 +120,6 @@ set( libGuiSources utils/BinaryInstallerHelper.cpp utils/BinaryExtractWorker.cpp utils/SharedTimeLine.cpp - utils/ResultHintChecker.cpp - utils/CustomResultHintChecker.cpp utils/WebResultHintChecker.cpp utils/NetworkReply.cpp diff --git a/src/libtomahawk/playlist/PlaylistModel.cpp b/src/libtomahawk/playlist/PlaylistModel.cpp index e5f99fffa..f470aa157 100644 --- a/src/libtomahawk/playlist/PlaylistModel.cpp +++ b/src/libtomahawk/playlist/PlaylistModel.cpp @@ -35,7 +35,7 @@ #include "PlayableItem.h" #include "utils/TomahawkUtils.h" #include "utils/Logger.h" -#include +#include using namespace Tomahawk; @@ -281,7 +281,7 @@ PlaylistModel::insertEntries( const QList< Tomahawk::plentry_ptr >& entries, int connect( plitem, SIGNAL( dataChanged() ), SLOT( onDataChanged() ) ); - ResultHintChecker::checkQuery( entry->query() ); + WebResultHintChecker::checkQuery( entry->query() ); } if ( !m_waitingForResolved.isEmpty() ) diff --git a/src/libtomahawk/utils/CustomResultHintChecker.cpp b/src/libtomahawk/utils/CustomResultHintChecker.cpp deleted file mode 100644 index bfab472ed..000000000 --- a/src/libtomahawk/utils/CustomResultHintChecker.cpp +++ /dev/null @@ -1,119 +0,0 @@ -/* === This file is part of Tomahawk Player - === - * - * Copyright 2012, Hugo Lindström - * - * Tomahawk is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Tomahawk is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Tomahawk. If not, see . - */ - -#include "CustomResultHintChecker.h" -#include "ResultHintChecker.h" - -#include -#include -#include -#include "Query.h" -#include "utils/NetworkReply.h" -#include "utils/Closure.h" -using namespace Tomahawk; - - -CustomResultHintChecker::CustomResultHintChecker( const query_ptr& q ) - : ResultHintChecker( q ) - , m_query( q ) -{ - if( !isValid() ) - { - qDebug() << Q_FUNC_INFO << "invalid:" << url(); - return; - } - - qDebug() << Q_FUNC_INFO << url(); - - handleResultHint(); -} - -void -CustomResultHintChecker::handleResultHint() -{ - - if ( url().startsWith( "hnhh" ) ) - { - QUrl httpUrl = QUrl::fromUserInput( url() ); - httpUrl.setScheme( "http" ); - - NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->get( QNetworkRequest( httpUrl ) ) ); - - connect( this, SIGNAL( result( result_ptr ) ), this, SLOT( handleHnhhResult( result_ptr ) ) ); - connect( reply, SIGNAL( finished() ), SLOT( hnhhFinished() ) ); - return; - } -} - -void -CustomResultHintChecker::handleHnhhResult( result_ptr result ) -{ - if( !result.isNull() ) - { - - qDebug() << Q_FUNC_INFO << "Setting expiration for hotnewhiphop" << result->toString(); - qDebug() << Q_FUNC_INFO << url() << resultHint(); - - } -} - -void -CustomResultHintChecker::hnhhFinished() -{ - NetworkReply* r = qobject_cast( sender() ); - r->deleteLater(); - - bool foundStreamable = false; - // Intentionally accepts unknown error - if ( r->reply()->error() != ( QNetworkReply::NoError | QNetworkReply::UnknownNetworkError ) ) - { - - QXmlStreamReader xmlStream( r->reply()->readAll() ); - - if ( xmlStream.error() != QXmlStreamReader::NoError ) - { - qDebug() << "XML ERROR!" << xmlStream.errorString(); - } - else - { - while (!xmlStream.atEnd() ) - { - xmlStream.readNext(); - if ( xmlStream.isStartElement() ) - { - if ( xmlStream.name().toString() == "song" ) - { - const QString streamUrl = QString( xmlStream.attributes().value("filename").toLatin1() ); - // Dont save this resulthint, it needs to revalidate - qDebug() << Q_FUNC_INFO << "GOT STREAMABLE " << streamUrl; - setResultHint( streamUrl, false ); - foundStreamable = true; - break; - } - } - } - } - } - - if ( !foundStreamable) - { - removeHint(); - } - - deleteLater(); -} diff --git a/src/libtomahawk/utils/CustomResultHintChecker.h b/src/libtomahawk/utils/CustomResultHintChecker.h deleted file mode 100644 index 179560e58..000000000 --- a/src/libtomahawk/utils/CustomResultHintChecker.h +++ /dev/null @@ -1,53 +0,0 @@ -/* === This file is part of Tomahawk Player - === - * - * Copyright 2012, Hugo Lindström - * - * Tomahawk is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Tomahawk is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Tomahawk. If not, see . - */ -#ifndef Custom_RESULT_HINT_CHECKER_H -#define Custom_RESULT_HINT_CHECKER_H - -#include "Typedefs.h" -#include -#include -#include "ResultHintChecker.h" - -namespace Tomahawk -{ - -/** - * @brief The CustomResultHintChecker class - * This class is to be used with custom protocol to retrieve - * streamable urls for resulthints. - */ -class CustomResultHintChecker : public ResultHintChecker -{ - Q_OBJECT -public: - CustomResultHintChecker( const query_ptr& q ); - virtual ~CustomResultHintChecker(){} -private slots: - /* HotNewHiphop specific */ - void hnhhFinished(); - void handleHnhhResult( result_ptr result ); -private: - void handleResultHint(); - QString m_streamUrl; - query_ptr m_query; -}; - - -} - -#endif diff --git a/src/libtomahawk/utils/ResultHintChecker.cpp b/src/libtomahawk/utils/ResultHintChecker.cpp deleted file mode 100644 index 975ad44f0..000000000 --- a/src/libtomahawk/utils/ResultHintChecker.cpp +++ /dev/null @@ -1,201 +0,0 @@ -/* === This file is part of Tomahawk Player - === - * - * Copyright 2012, Leo Franchi - * Copyright 2012, Hugo Lindström - * - * Tomahawk is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Tomahawk is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Tomahawk. If not, see . - */ - -#include "WebResultHintChecker.h" -#include "CustomResultHintChecker.h" -#include -#include -#include -#include "Query.h" -#include "Result.h" -#include "Source.h" -#include "Pipeline.h" -#include "utils/NetworkReply.h" -#include "utils/Logger.h" - -using namespace Tomahawk; - -ResultHintChecker::ResultHintChecker( const query_ptr& q ) - : QObject( 0 ) - , m_query( q ) - , m_isValid( false ) -{ - Q_ASSERT( !m_query.isNull() ); - m_url = q->resultHint(); - - connect( m_query.data(), SIGNAL( resolvingFinished( bool ) ), this, SLOT( onResolvingFinished( bool ) ) ); - connect( m_query.data(), SIGNAL( resultsRemoved( const Tomahawk::result_ptr& ) ), this, SLOT( onResultsRemoved( const Tomahawk::result_ptr& ) ) ); - connect( m_query.data(), SIGNAL( resultsChanged() ), this, SLOT( onResultsChanged() ) ); - connect( m_query.data(), SIGNAL( updated() ), this, SLOT( onResultsChanged() ) ); - connect( m_query.data(), SIGNAL( resultsAdded( const QList& ) ), this, SLOT( onResultsAdded( const QList& ) ) ); - - check( m_url ); -} - - -ResultHintChecker::~ResultHintChecker() -{ -} - -/** - * @brief ResultHintChecker::checkQuery - * @param query - * Static function to initiate resulthint checkers - */ -void -ResultHintChecker::checkQuery( const query_ptr& query ) -{ - if ( !query->resultHint().isEmpty() && TomahawkUtils::whitelistedHttpResultHint( query->resultHint() ) ) - new WebResultHintChecker( query ); - - else if ( !query->resultHint().isEmpty() && TomahawkUtils::whitelistedCustomProtocolResultHint( query->resultHint() ) ) - new CustomResultHintChecker( query ); -} - - -void -ResultHintChecker::onResultsRemoved(const result_ptr &result) -{ - qDebug() << Q_FUNC_INFO << result->toString(); -} - -void -ResultHintChecker::onResultsChanged() -{ - foreach( const result_ptr& rp, m_query->results() ) - { - qDebug() << Q_FUNC_INFO << rp->toString(); - } -} - - -void -ResultHintChecker::checkQueries( const QList< query_ptr >& queries ) -{ - foreach ( const query_ptr& query, queries ) - checkQuery( query ); -} - -void -ResultHintChecker::onResolvingFinished( bool hasResults ) -{ - foreach ( const result_ptr& result, m_query->results() ) - { - qDebug() << Q_FUNC_INFO << "result url():" << result->url(); - } -} - -void -ResultHintChecker::onResultsAdded( const QList& results ) -{ - foreach( const result_ptr& result, results ) - { - qDebug() << Q_FUNC_INFO << "result url():" << result->url(); - } - -} - -QString -ResultHintChecker::resultHint() const -{ - return m_query->resultHint(); -} - -bool -ResultHintChecker::isValid() -{ - return m_isValid; -} - - -void -ResultHintChecker::check( const QUrl &url ) -{ - - qDebug() << Q_FUNC_INFO << url; - // Nothing to do - if ( url.isEmpty() || - ( !TomahawkUtils::whitelistedHttpResultHint( url.toString() ) && - !TomahawkUtils::whitelistedCustomProtocolResultHint( url.toString() ) - ) ) - { - if ( !url.isEmpty() || m_query->saveHTTPResultHint() ) - removeHint(); - - deleteLater(); - return; - } - - m_isValid = true; - -} - -result_ptr -ResultHintChecker::getResultPtr() -{ - result_ptr foundResult; - foreach ( const result_ptr& result, m_query->results() ) - { - if ( result->url() == m_url ) - { - foundResult = result; - break; - } - } - - return foundResult; -} - -void -ResultHintChecker::setResultHint(const QString &url, const bool saveHint) -{ - - qDebug() << Q_FUNC_INFO << "Setting new resulthint" << url << "save it? " << saveHint; - - result_ptr foundResult = getResultPtr(); - - if ( !foundResult.isNull() ) - { - qDebug() << Q_FUNC_INFO << "Removing old result " << foundResult->toString(); - m_query->removeResult( foundResult ); - } - - m_query->setResultHint( url ); - m_query->setSaveHTTPResultHint( saveHint ); - -} - - -void -ResultHintChecker::removeHint() -{ - tLog() << "Removing invalid resulthint from query:" << m_url; - - result_ptr foundResult = getResultPtr(); - - if ( !foundResult.isNull() ) - m_query->removeResult( foundResult ); - - if ( m_query->resultHint() == m_url ) - { - m_query->setResultHint( QString() ); - } - - m_query->setSaveHTTPResultHint( false ); -} diff --git a/src/libtomahawk/utils/ResultHintChecker.h b/src/libtomahawk/utils/ResultHintChecker.h deleted file mode 100644 index b35c3966f..000000000 --- a/src/libtomahawk/utils/ResultHintChecker.h +++ /dev/null @@ -1,66 +0,0 @@ -/* === This file is part of Tomahawk Player - === - * - * Copyright 2012, Leo Franchi - * Copyright 2012, Hugo Lindström - * - * Tomahawk is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Tomahawk is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Tomahawk. If not, see . - */ -#ifndef RESULT_HINT_CHECKER_H -#define RESULT_HINT_CHECKER_H - -#include "Typedefs.h" -#include - -namespace Tomahawk -{ - -class ResultHintChecker : public QObject -{ - Q_OBJECT -public: - explicit ResultHintChecker( const query_ptr& q ); - virtual ~ResultHintChecker(); - - static void checkQuery( const query_ptr& query ); - static void checkQueries( const QList< query_ptr >& queries ); - - bool isValid(); - - QString url() const { return m_url; } - QString resultHint() const; - - void setUrl( const QString& url ) { m_url = url; } - void setResultHint( const QString &url, const bool saveHint ); - void removeHint(); - -signals: - void result( result_ptr ); - -private slots: - void onResolvingFinished( bool hasResults ); - void onResultsAdded( const QList& results ); - void onResultsRemoved( const Tomahawk::result_ptr& result ); - void onResultsChanged(); - -private: - void check( const QUrl& url ); - result_ptr getResultPtr(); - query_ptr m_query; - QString m_url; - bool m_isValid; -}; - -} - -#endif diff --git a/src/libtomahawk/utils/TomahawkUtils.cpp b/src/libtomahawk/utils/TomahawkUtils.cpp index 306fb2bcf..77a0ccb82 100644 --- a/src/libtomahawk/utils/TomahawkUtils.cpp +++ b/src/libtomahawk/utils/TomahawkUtils.cpp @@ -950,12 +950,6 @@ whitelistedHttpResultHint( const QString& url ) } -bool -whitelistedCustomProtocolResultHint( const QString& url ) -{ - return url.startsWith( "hnhh" ); -} - } // ns #include "TomahawkUtils.moc" diff --git a/src/libtomahawk/utils/TomahawkUtils.h b/src/libtomahawk/utils/TomahawkUtils.h index 7488c7929..65d52d6e9 100644 --- a/src/libtomahawk/utils/TomahawkUtils.h +++ b/src/libtomahawk/utils/TomahawkUtils.h @@ -129,7 +129,6 @@ namespace TomahawkUtils void copyWithAuthentication( const QString& srcFile, const QDir dest, QObject* receiver ); DLLEXPORT bool whitelistedHttpResultHint( const QString& url ); - DLLEXPORT bool whitelistedCustomProtocolResultHint( const QString& url ); /** * This helper is designed to help "update" an existing playlist with a newer revision of itself. diff --git a/src/libtomahawk/utils/WebResultHintChecker.cpp b/src/libtomahawk/utils/WebResultHintChecker.cpp index fb2537799..ddea82547 100644 --- a/src/libtomahawk/utils/WebResultHintChecker.cpp +++ b/src/libtomahawk/utils/WebResultHintChecker.cpp @@ -1,7 +1,7 @@ /* === This file is part of Tomahawk Player - === * * Copyright 2012, Leo Franchi - * Copyright 2012, Hugo Lindström + * * Tomahawk is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or @@ -17,29 +17,107 @@ */ #include "WebResultHintChecker.h" -#include "ResultHintChecker.h" #include #include #include + #include "Query.h" +#include "Result.h" +#include "Source.h" +#include "Pipeline.h" #include "utils/NetworkReply.h" +#include "utils/Logger.h" using namespace Tomahawk; WebResultHintChecker::WebResultHintChecker( const query_ptr& q ) - : ResultHintChecker( q ) + : QObject( 0 ) + , m_query( q ) { - if( !isValid() ) + Q_ASSERT( !m_query.isNull() ); + + m_url = q->resultHint(); + + if ( Pipeline::instance()->isResolving( m_query ) ) + connect( m_query.data(), SIGNAL( resolvingFinished( bool ) ), this, SLOT( onResolvingFinished( bool ) ) ); + else + check( QUrl::fromUserInput( m_url ) ); +} + + +WebResultHintChecker::~WebResultHintChecker() +{ +} + + +void +WebResultHintChecker::checkQuery( const query_ptr& query ) +{ + if ( !query->resultHint().isEmpty() && query->resultHint().startsWith( "http" ) ) + new WebResultHintChecker( query ); +} + + +void +WebResultHintChecker::checkQueries( const QList< query_ptr >& queries ) +{ + foreach ( const query_ptr& query, queries ) + checkQuery( query ); +} + + +void +WebResultHintChecker::onResolvingFinished( bool hasResults ) +{ + Q_UNUSED( hasResults ); + + check( QUrl::fromUserInput( m_url ) ); +} + + +void +WebResultHintChecker::check( const QUrl &url ) +{ + // Nothing to do + if ( url.isEmpty() || !url.toString().startsWith( "http" ) ) { + if ( !url.isEmpty() || m_query->saveHTTPResultHint() ) + removeHint(); + + deleteLater(); return; } - NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->head( QNetworkRequest( QUrl::fromUserInput( url() ) ) ) ); + NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->head( QNetworkRequest( url ) ) ); connect( reply, SIGNAL( finished() ), SLOT( headFinished() ) ); } + +void +WebResultHintChecker::removeHint() +{ + tLog() << "Removing HTTP result from query since HEAD request failed to verify it was a valid url:" << m_url; + + result_ptr foundResult; + foreach ( const result_ptr& result, m_query->results() ) + { + if ( result->url() == m_url ) + { + foundResult = result; + break; + } + } + + if ( !foundResult.isNull() ) + m_query->removeResult( foundResult ); + if ( m_query->resultHint() == m_url ) + m_query->setResultHint( QString() ); + m_query->setSaveHTTPResultHint( false ); +} + + void WebResultHintChecker::headFinished() { diff --git a/src/libtomahawk/utils/WebResultHintChecker.h b/src/libtomahawk/utils/WebResultHintChecker.h index 469e2fb68..58dc79c95 100644 --- a/src/libtomahawk/utils/WebResultHintChecker.h +++ b/src/libtomahawk/utils/WebResultHintChecker.h @@ -1,7 +1,6 @@ /* === This file is part of Tomahawk Player - === * * Copyright 2012, Leo Franchi - * Copyright 2012, Hugo Lindström * * Tomahawk is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,21 +19,31 @@ #define WEB_RESULT_HINT_CHECKER_H #include "Typedefs.h" + #include -#include "ResultHintChecker.h" namespace Tomahawk { -class WebResultHintChecker : public ResultHintChecker +class WebResultHintChecker : public QObject { Q_OBJECT public: WebResultHintChecker( const query_ptr& q ); - virtual ~WebResultHintChecker(){} + virtual ~WebResultHintChecker(); + + static void checkQuery( const query_ptr& query ); + static void checkQueries( const QList< query_ptr >& queries ); + private slots: void headFinished(); + + void check( const QUrl& url ); + + void onResolvingFinished( bool hasResults ); private: + void removeHint(); + query_ptr m_query; QString m_url; }; From 5ec024c55059149466c924e23a42795e8a329a2c Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 3 Dec 2012 22:23:31 +0100 Subject: [PATCH 012/332] * Fixed safety-check in PlaylistInterface. 0 is a valid index. --- src/libtomahawk/PlaylistInterface.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libtomahawk/PlaylistInterface.cpp b/src/libtomahawk/PlaylistInterface.cpp index 925846f42..0e7af24c7 100644 --- a/src/libtomahawk/PlaylistInterface.cpp +++ b/src/libtomahawk/PlaylistInterface.cpp @@ -58,7 +58,7 @@ Tomahawk::result_ptr PlaylistInterface::siblingResult( int itemsAway ) const { qint64 idx = siblingIndex( itemsAway ); - qint64 safetyCheck = 0; + qint64 safetyCheck = -1; // If safetyCheck equals idx, this means the interface keeps returning the same item and we won't discover anything new - abort // This can happen in repeat / random mode e.g. From 1e987af76b53b5f8bdb2c69e7a9e0138206cdcba Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 3 Dec 2012 22:24:08 +0100 Subject: [PATCH 013/332] * Implemented AlbumPlaylistInterface. --- src/libtomahawk/AlbumPlaylistInterface.cpp | 73 ++++++++++++++++++---- src/libtomahawk/AlbumPlaylistInterface.h | 8 +-- 2 files changed, 65 insertions(+), 16 deletions(-) diff --git a/src/libtomahawk/AlbumPlaylistInterface.cpp b/src/libtomahawk/AlbumPlaylistInterface.cpp index c8bdb2732..fb2596ef5 100644 --- a/src/libtomahawk/AlbumPlaylistInterface.cpp +++ b/src/libtomahawk/AlbumPlaylistInterface.cpp @@ -55,22 +55,18 @@ AlbumPlaylistInterface::~AlbumPlaylistInterface() void AlbumPlaylistInterface::setCurrentIndex( qint64 index ) { - Q_UNUSED( index ); - Q_ASSERT( false ); -/* m_currentTrack = index; - m_currentItem = m_queries.at( index )->results().first();*/ + m_currentTrack = index; + m_currentItem = m_queries.at( index )->results().first(); } qint64 AlbumPlaylistInterface::siblingIndex( int itemsAway, qint64 rootIndex ) const { - Q_UNUSED( itemsAway ); - Q_UNUSED( rootIndex ); - Q_ASSERT( false ); - - /* qint64 p = m_currentTrack; + if ( rootIndex >= 0 ) + p = rootIndex; + p += itemsAway; if ( p < 0 ) @@ -79,9 +75,7 @@ AlbumPlaylistInterface::siblingIndex( int itemsAway, qint64 rootIndex ) const if ( p >= m_queries.count() ) return -1; - return p;*/ - - return -1; + return p; } @@ -252,3 +246,58 @@ AlbumPlaylistInterface::onTracksLoaded( const QList< query_ptr >& tracks ) m_finished = true; emit tracksLoaded( m_mode, m_collection ); } + + +qint64 +AlbumPlaylistInterface::indexOfResult( const Tomahawk::result_ptr& result ) const +{ + int i = 0; + foreach ( const Tomahawk::query_ptr& query, m_queries ) + { + if ( query->numResults() && query->results().contains( result ) ) + return i; + + i++; + } + + return -1; +} + + +qint64 +AlbumPlaylistInterface::indexOfQuery( const Tomahawk::query_ptr& query ) const +{ + int i = 0; + foreach ( const Tomahawk::query_ptr& q, m_queries ) + { + if ( q->equals( query ) ) + return i; + + i++; + } + + return -1; +} + + +query_ptr +AlbumPlaylistInterface::queryAt( qint64 index ) const +{ + if ( index >= 0 && index < m_queries.count() ) + { + return m_queries.at( index ); + } + + return Tomahawk::query_ptr(); +} + + +result_ptr +AlbumPlaylistInterface::resultAt( qint64 index ) const +{ + Tomahawk::query_ptr query = queryAt( index ); + if ( query && query->numResults() ) + return query->results().first(); + + return Tomahawk::result_ptr(); +} diff --git a/src/libtomahawk/AlbumPlaylistInterface.h b/src/libtomahawk/AlbumPlaylistInterface.h index cd8107774..83a52ee46 100644 --- a/src/libtomahawk/AlbumPlaylistInterface.h +++ b/src/libtomahawk/AlbumPlaylistInterface.h @@ -47,10 +47,10 @@ public: virtual void setCurrentIndex( qint64 index ); virtual qint64 siblingIndex( int itemsAway, qint64 rootIndex = -1 ) const; - virtual Tomahawk::result_ptr resultAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::result_ptr(); } - virtual Tomahawk::query_ptr queryAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::query_ptr(); } - virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const { Q_UNUSED( result ); Q_ASSERT( false ); return -1; } - virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const { Q_UNUSED( query ); Q_ASSERT( false ); return -1; } + virtual Tomahawk::result_ptr resultAt( qint64 index ) const; + virtual Tomahawk::query_ptr queryAt( qint64 index ) const; + virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const; + virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const; virtual Tomahawk::result_ptr currentItem() const; From c9139f8a7ea2a73bd6b39f3c6b75f47610ead189 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 3 Dec 2012 22:24:23 +0100 Subject: [PATCH 014/332] * Implemented ArtistPlaylistInterface. --- src/libtomahawk/ArtistPlaylistInterface.cpp | 73 +++++++++++++++++---- src/libtomahawk/ArtistPlaylistInterface.h | 8 +-- 2 files changed, 65 insertions(+), 16 deletions(-) diff --git a/src/libtomahawk/ArtistPlaylistInterface.cpp b/src/libtomahawk/ArtistPlaylistInterface.cpp index 031de4368..033093930 100644 --- a/src/libtomahawk/ArtistPlaylistInterface.cpp +++ b/src/libtomahawk/ArtistPlaylistInterface.cpp @@ -54,22 +54,18 @@ ArtistPlaylistInterface::~ArtistPlaylistInterface() void ArtistPlaylistInterface::setCurrentIndex( qint64 index ) { - Q_UNUSED( index ); - Q_ASSERT( false ); - -/* m_currentTrack = index; - m_currentItem = m_queries.at( index )->results().first();*/ + m_currentTrack = index; + m_currentItem = m_queries.at( index )->results().first(); } qint64 ArtistPlaylistInterface::siblingIndex( int itemsAway, qint64 rootIndex ) const { - Q_UNUSED( itemsAway ); - Q_UNUSED( rootIndex ); - Q_ASSERT( false ); + qint64 p = m_currentTrack; + if ( rootIndex >= 0 ) + p = rootIndex; -/* qint64 p = m_currentTrack; p += itemsAway; if ( p < 0 ) @@ -78,9 +74,7 @@ ArtistPlaylistInterface::siblingIndex( int itemsAway, qint64 rootIndex ) const if ( p >= m_queries.count() ) return -1; - return p;*/ - - return -1; + return p; } @@ -232,3 +226,58 @@ ArtistPlaylistInterface::onTracksLoaded( const QList< query_ptr >& tracks ) m_finished = true; emit tracksLoaded( m_mode, m_collection ); } + + +qint64 +ArtistPlaylistInterface::indexOfResult( const Tomahawk::result_ptr& result ) const +{ + int i = 0; + foreach ( const Tomahawk::query_ptr& query, m_queries ) + { + if ( query->numResults() && query->results().contains( result ) ) + return i; + + i++; + } + + return -1; +} + + +qint64 +ArtistPlaylistInterface::indexOfQuery( const Tomahawk::query_ptr& query ) const +{ + int i = 0; + foreach ( const Tomahawk::query_ptr& q, m_queries ) + { + if ( q->equals( query ) ) + return i; + + i++; + } + + return -1; +} + + +query_ptr +ArtistPlaylistInterface::queryAt( qint64 index ) const +{ + if ( index >= 0 && index < m_queries.count() ) + { + return m_queries.at( index ); + } + + return Tomahawk::query_ptr(); +} + + +result_ptr +ArtistPlaylistInterface::resultAt( qint64 index ) const +{ + Tomahawk::query_ptr query = queryAt( index ); + if ( query && query->numResults() ) + return query->results().first(); + + return Tomahawk::result_ptr(); +} diff --git a/src/libtomahawk/ArtistPlaylistInterface.h b/src/libtomahawk/ArtistPlaylistInterface.h index 369ca9f30..dd0508a51 100644 --- a/src/libtomahawk/ArtistPlaylistInterface.h +++ b/src/libtomahawk/ArtistPlaylistInterface.h @@ -45,10 +45,10 @@ public: virtual void setCurrentIndex( qint64 index ); virtual qint64 siblingIndex( int itemsAway, qint64 rootIndex = -1 ) const; - virtual Tomahawk::result_ptr resultAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::result_ptr(); } - virtual Tomahawk::query_ptr queryAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::query_ptr(); } - virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const { Q_UNUSED( result ); Q_ASSERT( false ); return -1; } - virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const { Q_UNUSED( query ); Q_ASSERT( false ); return -1; } + virtual Tomahawk::result_ptr resultAt( qint64 index ) const; + virtual Tomahawk::query_ptr queryAt( qint64 index ) const; + virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const; + virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const; virtual Tomahawk::result_ptr currentItem() const; From 7f126dd22567c9961dfd48832d53b0b0f8dce384 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 3 Dec 2012 22:33:02 +0100 Subject: [PATCH 015/332] * Only manually delete m_page in removeFromList(). --- src/sourcetree/items/TemporaryPageItem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sourcetree/items/TemporaryPageItem.cpp b/src/sourcetree/items/TemporaryPageItem.cpp index 6b1ae836f..86f8ab073 100644 --- a/src/sourcetree/items/TemporaryPageItem.cpp +++ b/src/sourcetree/items/TemporaryPageItem.cpp @@ -84,7 +84,6 @@ TemporaryPageItem::TemporaryPageItem ( SourcesModel* mdl, SourceTreeItem* parent TemporaryPageItem::~TemporaryPageItem() { - delete m_page; } @@ -137,6 +136,7 @@ TemporaryPageItem::removeFromList() emit removed(); + delete m_page; deleteLater(); } From 5e4940cb8d56d8be8d4f90333e4e999ce53fd1ba Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Tue, 4 Dec 2012 01:16:56 +0100 Subject: [PATCH 016/332] Automatic merge of Transifex translations --- lang/tomahawk_ar.ts | 8 ++++---- lang/tomahawk_bg.ts | 8 ++++---- lang/tomahawk_bn_IN.ts | 8 ++++---- lang/tomahawk_ca.ts | 8 ++++---- lang/tomahawk_de.ts | 8 ++++---- lang/tomahawk_el.ts | 8 ++++---- lang/tomahawk_en.ts | 8 ++++---- lang/tomahawk_es.ts | 8 ++++---- lang/tomahawk_fr.ts | 8 ++++---- lang/tomahawk_gl.ts | 8 ++++---- lang/tomahawk_hi_IN.ts | 8 ++++---- lang/tomahawk_it.ts | 8 ++++---- lang/tomahawk_ja.ts | 8 ++++---- lang/tomahawk_lt.ts | 8 ++++---- lang/tomahawk_pl.ts | 8 ++++---- lang/tomahawk_pt_BR.ts | 8 ++++---- lang/tomahawk_ru.ts | 8 ++++---- lang/tomahawk_sv.ts | 8 ++++---- lang/tomahawk_tr.ts | 8 ++++---- lang/tomahawk_zh_CN.ts | 8 ++++---- lang/tomahawk_zh_TW.ts | 8 ++++---- 21 files changed, 84 insertions(+), 84 deletions(-) diff --git a/lang/tomahawk_ar.ts b/lang/tomahawk_ar.ts index 7a3ff8a1a..96facff3b 100644 --- a/lang/tomahawk_ar.ts +++ b/lang/tomahawk_ar.ts @@ -1792,14 +1792,14 @@ connect and stream from you? جميع الأغاني المتاحة - - + + Show أظهر - - + + Hide إخفي diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index 34a77e6c4..643f3f8db 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -1794,14 +1794,14 @@ Tomahaw създаде доклад относно това и изпращай Всички налични изпълнения - - + + Show Покажи - - + + Hide Скрий diff --git a/lang/tomahawk_bn_IN.ts b/lang/tomahawk_bn_IN.ts index 25353b28e..11df7b020 100644 --- a/lang/tomahawk_bn_IN.ts +++ b/lang/tomahawk_bn_IN.ts @@ -1789,14 +1789,14 @@ connect and stream from you? - - + + Show - - + + Hide diff --git a/lang/tomahawk_ca.ts b/lang/tomahawk_ca.ts index 146e74a35..8260828e2 100644 --- a/lang/tomahawk_ca.ts +++ b/lang/tomahawk_ca.ts @@ -1790,14 +1790,14 @@ connect and stream from you? Totes les cançons disponibles - - + + Show Mostra - - + + Hide Amaga diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index 19620d722..c06b7bfff 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -1791,14 +1791,14 @@ erlauben sich mit dir zu verbinden? Alle verfügbaren Stücke - - + + Show Einblenden - - + + Hide Verstecken diff --git a/lang/tomahawk_el.ts b/lang/tomahawk_el.ts index e6efd3af0..5f06e9dcc 100644 --- a/lang/tomahawk_el.ts +++ b/lang/tomahawk_el.ts @@ -1790,14 +1790,14 @@ connect and stream from you? Όλα τα διαθέσιμα τραγούδια - - + + Show Προβολή - - + + Hide Απόκρυψη diff --git a/lang/tomahawk_en.ts b/lang/tomahawk_en.ts index fe5232647..0df552d83 100644 --- a/lang/tomahawk_en.ts +++ b/lang/tomahawk_en.ts @@ -1794,14 +1794,14 @@ connect and stream from you? All available tracks - - + + Show Show - - + + Hide Hide diff --git a/lang/tomahawk_es.ts b/lang/tomahawk_es.ts index 68d1a2577..332225ba2 100644 --- a/lang/tomahawk_es.ts +++ b/lang/tomahawk_es.ts @@ -1789,14 +1789,14 @@ connect and stream from you? Todas las pistas disponibles - - + + Show Mostrar - - + + Hide Ocultar diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index c09dbeb77..10de8ceae 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -1791,14 +1791,14 @@ de se connecter et streamer de vous? Tous les titres disponibles - - + + Show Afficher - - + + Hide Masquer diff --git a/lang/tomahawk_gl.ts b/lang/tomahawk_gl.ts index 61065ce1f..926734cb3 100644 --- a/lang/tomahawk_gl.ts +++ b/lang/tomahawk_gl.ts @@ -1790,14 +1790,14 @@ connect and stream from you? Tódolas pistas dispoñíbeis - - + + Show Mostrar - - + + Hide Agochar diff --git a/lang/tomahawk_hi_IN.ts b/lang/tomahawk_hi_IN.ts index 450186428..18553fdfd 100644 --- a/lang/tomahawk_hi_IN.ts +++ b/lang/tomahawk_hi_IN.ts @@ -1789,14 +1789,14 @@ connect and stream from you? - - + + Show - - + + Hide diff --git a/lang/tomahawk_it.ts b/lang/tomahawk_it.ts index 77765fe66..25bee55be 100644 --- a/lang/tomahawk_it.ts +++ b/lang/tomahawk_it.ts @@ -1789,14 +1789,14 @@ connect and stream from you? Tutte le tracce disponibili - - + + Show Mostra - - + + Hide Nascondi diff --git a/lang/tomahawk_ja.ts b/lang/tomahawk_ja.ts index 09740abac..dbab04c11 100644 --- a/lang/tomahawk_ja.ts +++ b/lang/tomahawk_ja.ts @@ -1794,14 +1794,14 @@ connect and stream from you? 利用可能トラック - - + + Show 表示 - - + + Hide 隠す diff --git a/lang/tomahawk_lt.ts b/lang/tomahawk_lt.ts index 713e67ec4..506b85b30 100644 --- a/lang/tomahawk_lt.ts +++ b/lang/tomahawk_lt.ts @@ -1789,14 +1789,14 @@ connect and stream from you? Visi prieinami takeliai - - + + Show Rodyti - - + + Hide Slėpti diff --git a/lang/tomahawk_pl.ts b/lang/tomahawk_pl.ts index 0f1e4f1eb..f1262764a 100644 --- a/lang/tomahawk_pl.ts +++ b/lang/tomahawk_pl.ts @@ -1789,14 +1789,14 @@ connect and stream from you? Wszystkie dostępne utwory - - + + Show Pokaż - - + + Hide Ukryj diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts index d612397d6..54717df52 100644 --- a/lang/tomahawk_pt_BR.ts +++ b/lang/tomahawk_pt_BR.ts @@ -1791,14 +1791,14 @@ se conecte e faça o stream de você? Todas as faixas disponíveis - - + + Show Mostrar - - + + Hide Ocultar diff --git a/lang/tomahawk_ru.ts b/lang/tomahawk_ru.ts index fdd4f0b40..914437b32 100644 --- a/lang/tomahawk_ru.ts +++ b/lang/tomahawk_ru.ts @@ -1791,14 +1791,14 @@ connect and stream from you? Доступные песни - - + + Show Показать - - + + Hide Спрятать diff --git a/lang/tomahawk_sv.ts b/lang/tomahawk_sv.ts index bd94c6256..6b7d20b97 100644 --- a/lang/tomahawk_sv.ts +++ b/lang/tomahawk_sv.ts @@ -1790,14 +1790,14 @@ connect and stream from you? Alla tillgängliga spår - - + + Show Visa - - + + Hide Göm diff --git a/lang/tomahawk_tr.ts b/lang/tomahawk_tr.ts index ee9e0289b..3c99fae47 100644 --- a/lang/tomahawk_tr.ts +++ b/lang/tomahawk_tr.ts @@ -1789,14 +1789,14 @@ connect and stream from you? - - + + Show - - + + Hide diff --git a/lang/tomahawk_zh_CN.ts b/lang/tomahawk_zh_CN.ts index 9b5defd26..02badcdf1 100644 --- a/lang/tomahawk_zh_CN.ts +++ b/lang/tomahawk_zh_CN.ts @@ -1792,14 +1792,14 @@ connect and stream from you? 所有可用的歌曲 - - + + Show 显示 - - + + Hide 隐藏 diff --git a/lang/tomahawk_zh_TW.ts b/lang/tomahawk_zh_TW.ts index 55a9ace05..ac04beb32 100644 --- a/lang/tomahawk_zh_TW.ts +++ b/lang/tomahawk_zh_TW.ts @@ -1789,14 +1789,14 @@ connect and stream from you? - - + + Show 顯示 - - + + Hide 隱藏 From e4c66de0fd86f70f246b06f2742df99195d1ae73 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 03:12:27 +0100 Subject: [PATCH 017/332] * Moved prev/next check into PlaylistInterface. --- src/libtomahawk/PlaylistInterface.cpp | 59 ++++++++++++++++++++++++++- src/libtomahawk/PlaylistInterface.h | 10 ++++- 2 files changed, 65 insertions(+), 4 deletions(-) diff --git a/src/libtomahawk/PlaylistInterface.cpp b/src/libtomahawk/PlaylistInterface.cpp index 0e7af24c7..d458e34b5 100644 --- a/src/libtomahawk/PlaylistInterface.cpp +++ b/src/libtomahawk/PlaylistInterface.cpp @@ -30,6 +30,9 @@ PlaylistInterface::PlaylistInterface () : QObject() , m_latchMode( PlaylistModes::StayOnSong ) , m_finished( false ) + , m_prevAvail( false ) + , m_nextAvail( false ) + , m_currentIndex( -1 ) { m_id = uuid(); } @@ -55,9 +58,9 @@ PlaylistInterface::nextResult() const Tomahawk::result_ptr -PlaylistInterface::siblingResult( int itemsAway ) const +PlaylistInterface::siblingResult( int itemsAway, qint64 rootIndex ) const { - qint64 idx = siblingIndex( itemsAway ); + qint64 idx = siblingIndex( itemsAway, rootIndex ); qint64 safetyCheck = -1; // If safetyCheck equals idx, this means the interface keeps returning the same item and we won't discover anything new - abort @@ -168,3 +171,55 @@ PlaylistInterface::hasPreviousResult() const { return ( siblingResult( -1 ) ); } + + +void +PlaylistInterface::onItemsChanged() +{ + if ( QThread::currentThread() != thread() ) + { + QMetaObject::invokeMethod( this, "onItemsChanged", Qt::QueuedConnection ); + return; + } + + Tomahawk::result_ptr prevResult = siblingResult( -1, m_currentIndex ); + Tomahawk::result_ptr nextResult = siblingResult( 1, m_currentIndex ); + + if ( prevResult ) + { + bool avail = prevResult->toQuery()->playable(); + if ( avail != m_prevAvail ) + { + m_prevAvail = avail; + emit previousTrackAvailable(); + } + } + else if ( m_prevAvail ) + { + m_prevAvail = false; + emit previousTrackAvailable(); + } + + if ( nextResult ) + { + bool avail = nextResult->toQuery()->playable(); + if ( avail != m_nextAvail ) + { + m_nextAvail = avail; + emit nextTrackAvailable(); + } + } + else if ( m_nextAvail ) + { + m_nextAvail = false; + emit nextTrackAvailable(); + } +} + + +void +PlaylistInterface::setCurrentIndex( qint64 index ) +{ + m_currentIndex = index; + onItemsChanged(); +} diff --git a/src/libtomahawk/PlaylistInterface.h b/src/libtomahawk/PlaylistInterface.h index 8c557f8c3..d4dbcfa9a 100644 --- a/src/libtomahawk/PlaylistInterface.h +++ b/src/libtomahawk/PlaylistInterface.h @@ -46,7 +46,7 @@ public: virtual int trackCount() const = 0; virtual Tomahawk::result_ptr currentItem() const = 0; - virtual void setCurrentIndex( qint64 index ) = 0; + virtual void setCurrentIndex( qint64 index ); virtual bool hasNextResult() const; virtual bool hasPreviousResult() const; @@ -54,7 +54,7 @@ public: virtual Tomahawk::result_ptr previousResult() const; virtual qint64 siblingIndex( int itemsAway, qint64 rootIndex = -1 ) const = 0; - virtual Tomahawk::result_ptr siblingResult( int itemsAway ) const; + virtual Tomahawk::result_ptr siblingResult( int itemsAway, qint64 rootIndex = -1 ) const; virtual Tomahawk::result_ptr resultAt( qint64 index ) const = 0; virtual Tomahawk::query_ptr queryAt( qint64 index ) const = 0; @@ -100,11 +100,17 @@ signals: void previousTrackAvailable(); void nextTrackAvailable(); +protected slots: + virtual void onItemsChanged(); + protected: virtual QList filterTracks( const QList& queries ); PlaylistModes::LatchMode m_latchMode; bool m_finished; + mutable bool m_prevAvail; + mutable bool m_nextAvail; + mutable qint64 m_currentIndex; private: Q_DISABLE_COPY( PlaylistInterface ) From fa0eaee3c8e3fc0215563fa2745952204f2ecb5d Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 03:13:46 +0100 Subject: [PATCH 018/332] * Prev/next check is now provided by PlaylistInterface. --- .../PlayableProxyModelPlaylistInterface.cpp | 56 ++----------------- .../PlayableProxyModelPlaylistInterface.h | 6 -- 2 files changed, 5 insertions(+), 57 deletions(-) diff --git a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp index 02e5f6772..369fd30b8 100644 --- a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp +++ b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp @@ -35,13 +35,10 @@ PlayableProxyModelPlaylistInterface::PlayableProxyModelPlaylistInterface( Playab , m_proxyModel( proxyModel ) , m_repeatMode( PlaylistModes::NoRepeat ) , m_shuffled( false ) - , m_prevAvail( false ) - , m_nextAvail( false ) { - connect( proxyModel, SIGNAL( currentIndexChanged() ), SLOT( onModelChanged() ) ); - connect( proxyModel, SIGNAL( indexPlayable( QModelIndex ) ), SLOT( onModelChanged() ) ); - connect( proxyModel, SIGNAL( filterChanged( QString ) ), SLOT( onModelChanged() ) ); - connect( proxyModel, SIGNAL( itemCountChanged( unsigned int ) ), SLOT( onModelChanged() ) ); + connect( proxyModel, SIGNAL( indexPlayable( QModelIndex ) ), SLOT( onItemsChanged() ) ); + connect( proxyModel, SIGNAL( filterChanged( QString ) ), SLOT( onItemsChanged() ) ); + connect( proxyModel, SIGNAL( itemCountChanged( unsigned int ) ), SLOT( onItemsChanged() ) ); } @@ -66,51 +63,6 @@ PlayableProxyModelPlaylistInterface::filter() const } -void -PlayableProxyModelPlaylistInterface::onModelChanged() -{ - if ( QThread::currentThread() != thread() ) - { - tDebug() << Q_FUNC_INFO << "Reinvoking in correct thread!"; - QMetaObject::invokeMethod( this, "onModelChanged", Qt::QueuedConnection ); - return; - } - - Tomahawk::result_ptr prevResult = siblingResult( -1 ); - Tomahawk::result_ptr nextResult = siblingResult( 1 ); - - if ( prevResult ) - { - bool avail = prevResult->toQuery()->playable(); - if ( avail != m_prevAvail ) - { - m_prevAvail = avail; - emit previousTrackAvailable(); - } - } - else if ( m_prevAvail ) - { - m_prevAvail = false; - emit previousTrackAvailable(); - } - - if ( nextResult ) - { - bool avail = nextResult->toQuery()->playable(); - if ( avail != m_nextAvail ) - { - m_nextAvail = avail; - emit nextTrackAvailable(); - } - } - else if ( m_nextAvail ) - { - m_nextAvail = false; - emit nextTrackAvailable(); - } -} - - QList< Tomahawk::query_ptr > PlayableProxyModelPlaylistInterface::tracks() const { @@ -138,6 +90,8 @@ PlayableProxyModelPlaylistInterface::setCurrentIndex( qint64 index ) if ( m_proxyModel.isNull() ) return; + PlaylistInterface::setCurrentIndex( index ); + PlayableItem* item = static_cast( (void*)index ); if ( index < 0 || !item ) { diff --git a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.h b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.h index e3f51bc83..7b6d50d11 100644 --- a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.h +++ b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.h @@ -65,9 +65,6 @@ signals: void previousTrackAvailable(); void nextTrackAvailable(); -private slots: - virtual void onModelChanged(); - protected: QWeakPointer< PlayableProxyModel > m_proxyModel; @@ -75,9 +72,6 @@ protected: bool m_shuffled; mutable QList< Tomahawk::query_ptr > m_shuffleHistory; mutable QPersistentModelIndex m_shuffleCache; - - mutable bool m_prevAvail; - mutable bool m_nextAvail; }; } //ns From 4467202c3bb66ffd2185ac396ae0acfe2bcf0a1a Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 03:14:44 +0100 Subject: [PATCH 019/332] * Correctly call PlaylistInterface's base-method in TreeProxyModelPlaylistInterface::setCurrentIndex. --- src/libtomahawk/playlist/TreeProxyModelPlaylistInterface.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libtomahawk/playlist/TreeProxyModelPlaylistInterface.cpp b/src/libtomahawk/playlist/TreeProxyModelPlaylistInterface.cpp index 54e2b25c5..079b4821f 100644 --- a/src/libtomahawk/playlist/TreeProxyModelPlaylistInterface.cpp +++ b/src/libtomahawk/playlist/TreeProxyModelPlaylistInterface.cpp @@ -70,6 +70,8 @@ TreeProxyModelPlaylistInterface::trackCount() const void TreeProxyModelPlaylistInterface::setCurrentIndex( qint64 index ) { + PlaylistInterface::setCurrentIndex( index ); + PlayableItem* item = static_cast( (void*)index ); if ( index < 0 || !item ) { From 085907dfe72f78eb6f43582ccf43415043a6bb3d Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 03:15:10 +0100 Subject: [PATCH 020/332] * Check prev/next availability in Album- & ArtistPlaylistInterface. --- src/libtomahawk/AlbumPlaylistInterface.cpp | 19 ++++++++++++++++--- src/libtomahawk/AlbumPlaylistInterface.h | 3 ++- src/libtomahawk/ArtistPlaylistInterface.cpp | 21 +++++++++++++++++---- src/libtomahawk/ArtistPlaylistInterface.h | 3 ++- 4 files changed, 37 insertions(+), 9 deletions(-) diff --git a/src/libtomahawk/AlbumPlaylistInterface.cpp b/src/libtomahawk/AlbumPlaylistInterface.cpp index fb2596ef5..d2290e297 100644 --- a/src/libtomahawk/AlbumPlaylistInterface.cpp +++ b/src/libtomahawk/AlbumPlaylistInterface.cpp @@ -36,7 +36,6 @@ using namespace Tomahawk; AlbumPlaylistInterface::AlbumPlaylistInterface( Tomahawk::Album* album, Tomahawk::ModelMode mode, const Tomahawk::collection_ptr& collection ) : Tomahawk::PlaylistInterface() , m_currentItem( 0 ) - , m_currentTrack( 0 ) , m_infoSystemLoaded( false ) , m_databaseLoaded( false ) , m_mode( mode ) @@ -55,7 +54,8 @@ AlbumPlaylistInterface::~AlbumPlaylistInterface() void AlbumPlaylistInterface::setCurrentIndex( qint64 index ) { - m_currentTrack = index; + PlaylistInterface::setCurrentIndex( index ); + m_currentItem = m_queries.at( index )->results().first(); } @@ -63,7 +63,7 @@ AlbumPlaylistInterface::setCurrentIndex( qint64 index ) qint64 AlbumPlaylistInterface::siblingIndex( int itemsAway, qint64 rootIndex ) const { - qint64 p = m_currentTrack; + qint64 p = m_currentIndex; if ( rootIndex >= 0 ) p = rootIndex; @@ -181,6 +181,7 @@ AlbumPlaylistInterface::infoSystemInfo( Tomahawk::InfoSystem::InfoRequestData re Pipeline::instance()->resolve( ql ); m_queries << ql; + checkQueries(); } break; @@ -243,6 +244,8 @@ AlbumPlaylistInterface::onTracksLoaded( const QList< query_ptr >& tracks ) else m_queries << tracks; + checkQueries(); + m_finished = true; emit tracksLoaded( m_mode, m_collection ); } @@ -301,3 +304,13 @@ AlbumPlaylistInterface::resultAt( qint64 index ) const return Tomahawk::result_ptr(); } + + +void +AlbumPlaylistInterface::checkQueries() +{ + foreach ( const Tomahawk::query_ptr& query, m_queries ) + { + connect( query.data(), SIGNAL( playableStateChanged( bool ) ), SLOT( onItemsChanged() ), Qt::UniqueConnection ); + } +} diff --git a/src/libtomahawk/AlbumPlaylistInterface.h b/src/libtomahawk/AlbumPlaylistInterface.h index 83a52ee46..a63f41f17 100644 --- a/src/libtomahawk/AlbumPlaylistInterface.h +++ b/src/libtomahawk/AlbumPlaylistInterface.h @@ -70,9 +70,10 @@ private slots: void infoSystemFinished( const QString& infoId ); private: + void checkQueries(); + QList< Tomahawk::query_ptr > m_queries; mutable result_ptr m_currentItem; - mutable qint64 m_currentTrack; bool m_infoSystemLoaded; bool m_databaseLoaded; diff --git a/src/libtomahawk/ArtistPlaylistInterface.cpp b/src/libtomahawk/ArtistPlaylistInterface.cpp index 033093930..451764fe5 100644 --- a/src/libtomahawk/ArtistPlaylistInterface.cpp +++ b/src/libtomahawk/ArtistPlaylistInterface.cpp @@ -35,7 +35,6 @@ using namespace Tomahawk; ArtistPlaylistInterface::ArtistPlaylistInterface( Tomahawk::Artist* artist, Tomahawk::ModelMode mode, const Tomahawk::collection_ptr& collection ) : Tomahawk::PlaylistInterface() , m_currentItem( 0 ) - , m_currentTrack( 0 ) , m_infoSystemLoaded( false ) , m_databaseLoaded( false ) , m_mode( mode ) @@ -54,15 +53,16 @@ ArtistPlaylistInterface::~ArtistPlaylistInterface() void ArtistPlaylistInterface::setCurrentIndex( qint64 index ) { - m_currentTrack = index; - m_currentItem = m_queries.at( index )->results().first(); + PlaylistInterface::setCurrentIndex( index ); + + m_currentItem = m_queries.at( index )->results().first(); } qint64 ArtistPlaylistInterface::siblingIndex( int itemsAway, qint64 rootIndex ) const { - qint64 p = m_currentTrack; + qint64 p = m_currentIndex; if ( rootIndex >= 0 ) p = rootIndex; @@ -162,6 +162,7 @@ ArtistPlaylistInterface::infoSystemInfo( Tomahawk::InfoSystem::InfoRequestData r Pipeline::instance()->resolve( ql ); m_queries << ql; + checkQueries(); } break; @@ -223,6 +224,8 @@ ArtistPlaylistInterface::onTracksLoaded( const QList< query_ptr >& tracks ) else m_queries << tracks; + checkQueries(); + m_finished = true; emit tracksLoaded( m_mode, m_collection ); } @@ -281,3 +284,13 @@ ArtistPlaylistInterface::resultAt( qint64 index ) const return Tomahawk::result_ptr(); } + + +void +ArtistPlaylistInterface::checkQueries() +{ + foreach ( const Tomahawk::query_ptr& query, m_queries ) + { + connect( query.data(), SIGNAL( playableStateChanged( bool ) ), SLOT( onItemsChanged() ), Qt::UniqueConnection ); + } +} diff --git a/src/libtomahawk/ArtistPlaylistInterface.h b/src/libtomahawk/ArtistPlaylistInterface.h index dd0508a51..c728f1c2a 100644 --- a/src/libtomahawk/ArtistPlaylistInterface.h +++ b/src/libtomahawk/ArtistPlaylistInterface.h @@ -69,9 +69,10 @@ private slots: private: Q_DISABLE_COPY( ArtistPlaylistInterface ) + void checkQueries(); + QList< Tomahawk::query_ptr > m_queries; mutable result_ptr m_currentItem; - mutable qint64 m_currentTrack; bool m_infoSystemLoaded; bool m_databaseLoaded; From 415b2fcf55f583464c9fad683e450adfe6c35920 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 03:36:23 +0100 Subject: [PATCH 021/332] * Removed untrue comment. --- src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp index 369fd30b8..45d493dd0 100644 --- a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp +++ b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp @@ -222,7 +222,6 @@ PlayableProxyModelPlaylistInterface::siblingIndex( int itemsAway, qint64 rootInd } } - // Try to find the next available PlaylistItem (with results) while ( idx.isValid() ) { PlayableItem* item = proxyModel->itemFromIndex( proxyModel->mapToSource( idx ) ); From 2dabb2645c6ce58b89f52048b438fc67dde7344a Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 03:37:07 +0100 Subject: [PATCH 022/332] * Fixed PlaylistInterface::siblingResult() for edge cases. --- src/libtomahawk/PlaylistInterface.cpp | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/libtomahawk/PlaylistInterface.cpp b/src/libtomahawk/PlaylistInterface.cpp index d458e34b5..e90648d2a 100644 --- a/src/libtomahawk/PlaylistInterface.cpp +++ b/src/libtomahawk/PlaylistInterface.cpp @@ -61,25 +61,21 @@ Tomahawk::result_ptr PlaylistInterface::siblingResult( int itemsAway, qint64 rootIndex ) const { qint64 idx = siblingIndex( itemsAway, rootIndex ); - qint64 safetyCheck = -1; + QList< qint64 > safetyCheck; - // If safetyCheck equals idx, this means the interface keeps returning the same item and we won't discover anything new - abort + // If safetyCheck contains idx, this means the interface keeps returning the same items and we won't discover anything new - abort // This can happen in repeat / random mode e.g. - while ( idx >= 0 && safetyCheck != idx ) + while ( idx >= 0 && !safetyCheck.contains( idx ) ) { - safetyCheck = idx; + safetyCheck << idx; Tomahawk::query_ptr query = queryAt( idx ); - if ( query && query->numResults() ) + + if ( query && query->playable() ) { return query->results().first(); } - if ( itemsAway < 0 ) - itemsAway--; - else - itemsAway++; - - idx = siblingIndex( itemsAway ); + idx = siblingIndex( itemsAway < 0 ? -1 : 1, idx ); } return Tomahawk::result_ptr(); From 880b9f96c72793be7f8a4d3d18dcc44552c907be Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 03:49:48 +0100 Subject: [PATCH 023/332] * Remove tiled background image from header. I'm kinda fed up with it. --- src/libtomahawk/infobar/InfoBar.cpp | 23 ++++--------------- src/libtomahawk/infobar/InfoBar.h | 2 -- src/libtomahawk/playlist/FlexibleHeader.cpp | 2 +- src/libtomahawk/widgets/BasicHeader.cpp | 25 --------------------- src/libtomahawk/widgets/BasicHeader.h | 2 -- 5 files changed, 5 insertions(+), 49 deletions(-) diff --git a/src/libtomahawk/infobar/InfoBar.cpp b/src/libtomahawk/infobar/InfoBar.cpp index 7b4a916cb..6c3fda957 100644 --- a/src/libtomahawk/infobar/InfoBar.cpp +++ b/src/libtomahawk/infobar/InfoBar.cpp @@ -95,10 +95,12 @@ InfoBar::InfoBar( QWidget* parent ) ui->horizontalLayout->addWidget( m_searchWidget ); - setAutoFillBackground( true ); + QPalette pal = palette(); + pal.setColor( QPalette::Window, QColor( "#454e59" ) ); + setPalette( pal ); + setAutoFillBackground( true ); setFixedHeight( 80 ); - m_bgTile = TomahawkUtils::createTiledPixmap( 2000, height(), QImage( RESPATH "images/playlist-header-tiled.png" ) ); connect( ViewManager::instance(), SIGNAL( filterAvailable( bool ) ), SLOT( setFilterAvailable( bool ) ) ); } @@ -282,23 +284,6 @@ InfoBar::onFilterEdited() emit filterTextChanged( m_searchWidget->text() ); } -void -InfoBar::paintEvent( QPaintEvent* e ) -{ - Q_UNUSED( e ); - - if ( m_bgTile.isNull() || width() > m_bgTile.width() ) - m_bgTile = TomahawkUtils::createTiledPixmap( width(), height(), QImage( RESPATH "images/playlist-header-tiled.png" ) ); - - if ( m_bgTile.isNull() ) - return; - - QPainter p( this ); - - // Truncate bg pixmap and paint into bg - p.drawPixmap( rect(), m_bgTile, rect() ); -} - void InfoBar::changeEvent( QEvent* e ) diff --git a/src/libtomahawk/infobar/InfoBar.h b/src/libtomahawk/infobar/InfoBar.h index 80ef6dbfa..12c611145 100644 --- a/src/libtomahawk/infobar/InfoBar.h +++ b/src/libtomahawk/infobar/InfoBar.h @@ -69,7 +69,6 @@ signals: protected: void changeEvent( QEvent* e ); - void paintEvent( QPaintEvent* e ); private slots: void onFilterEdited(); @@ -78,7 +77,6 @@ private slots: private: Ui::InfoBar* ui; - QPixmap m_bgTile; QPalette m_whitePal; QList m_updaters;; diff --git a/src/libtomahawk/playlist/FlexibleHeader.cpp b/src/libtomahawk/playlist/FlexibleHeader.cpp index 36681066e..7c574fa08 100644 --- a/src/libtomahawk/playlist/FlexibleHeader.cpp +++ b/src/libtomahawk/playlist/FlexibleHeader.cpp @@ -62,7 +62,7 @@ FlexibleHeader::FlexibleHeader( FlexibleView* parent ) m_radioDetailed = new QRadioButton( modeWidget ); m_radioCloud = new QRadioButton( modeWidget ); //for the CSS: - m_radioNormal->setObjectName( "radioNormal"); + m_radioNormal->setObjectName( "radioNormal" ); m_radioCloud->setObjectName( "radioCloud" ); m_radioNormal->setFocusPolicy( Qt::NoFocus ); diff --git a/src/libtomahawk/widgets/BasicHeader.cpp b/src/libtomahawk/widgets/BasicHeader.cpp index a6c06bed3..a1255d2f6 100644 --- a/src/libtomahawk/widgets/BasicHeader.cpp +++ b/src/libtomahawk/widgets/BasicHeader.cpp @@ -86,16 +86,11 @@ BasicHeader::BasicHeader( QWidget* parent ) setPalette( pal ); setAutoFillBackground( true ); - - if ( !s_tiledHeader ) - s_tiledHeader = new QPixmap( TomahawkUtils::createTiledPixmap( 2000, height(), QImage( RESPATH "images/playlist-header-tiled.png" ) ) ); } BasicHeader::~BasicHeader() { - delete s_tiledHeader; - s_tiledHeader = 0; } @@ -118,23 +113,3 @@ BasicHeader::setPixmap( const QPixmap& p ) { m_imageLabel->setPixmap( p.scaledToHeight( m_imageLabel->height(), Qt::SmoothTransformation ) ); } - - -void -BasicHeader::paintEvent( QPaintEvent* ) -{ - if ( !s_tiledHeader || s_tiledHeader->isNull() || width() > s_tiledHeader->width() ) - { - delete s_tiledHeader; - s_tiledHeader = new QPixmap( TomahawkUtils::createTiledPixmap( width(), height(), QImage( RESPATH "images/playlist-header-tiled.png" ) ) ); - } - - if ( !s_tiledHeader || s_tiledHeader->isNull() ) - return; - - QPainter p( this ); - - // Truncate bg pixmap and paint into bg - p.drawPixmap( rect(), *s_tiledHeader, rect() ); -} - diff --git a/src/libtomahawk/widgets/BasicHeader.h b/src/libtomahawk/widgets/BasicHeader.h index aaed9bee9..4c0c5f181 100644 --- a/src/libtomahawk/widgets/BasicHeader.h +++ b/src/libtomahawk/widgets/BasicHeader.h @@ -42,8 +42,6 @@ public slots: virtual void setPixmap( const QPixmap& p ); protected: - void paintEvent( QPaintEvent* ); - QLabel* m_imageLabel; ElidedLabel* m_captionLabel; ElidedLabel* m_descriptionLabel; From 71c46e5db9fb6f1efdd40d6969107732bcb6b3e3 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 04:26:52 +0100 Subject: [PATCH 024/332] * Added PlayableCover. A QLabel that you can set artists, albums or queries on and which shows a play button when hovered. --- src/libtomahawk/CMakeLists.txt | 1 + src/libtomahawk/widgets/PlayableCover.cpp | 108 ++++++++++++++++++++++ src/libtomahawk/widgets/PlayableCover.h | 66 +++++++++++++ 3 files changed, 175 insertions(+) create mode 100644 src/libtomahawk/widgets/PlayableCover.cpp create mode 100644 src/libtomahawk/widgets/PlayableCover.h diff --git a/src/libtomahawk/CMakeLists.txt b/src/libtomahawk/CMakeLists.txt index 35d33e356..e2c6898f7 100644 --- a/src/libtomahawk/CMakeLists.txt +++ b/src/libtomahawk/CMakeLists.txt @@ -149,6 +149,7 @@ set( libGuiSources widgets/ComboBox.cpp widgets/ToggleButton.cpp widgets/FadingPixmap.cpp + widgets/PlayableCover.cpp widgets/SocialPlaylistWidget.cpp widgets/SourceTreePopupDialog.cpp widgets/infowidgets/SourceInfoWidget.cpp diff --git a/src/libtomahawk/widgets/PlayableCover.cpp b/src/libtomahawk/widgets/PlayableCover.cpp new file mode 100644 index 000000000..ea042384d --- /dev/null +++ b/src/libtomahawk/widgets/PlayableCover.cpp @@ -0,0 +1,108 @@ +/* === This file is part of Tomahawk Player - === + * + * Copyright 2011 - 2012, Christian Muehlhaeuser + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see . + */ + +#include "PlayableCover.h" + +#include "audio/AudioEngine.h" +#include "widgets/ImageButton.h" +#include "utils/TomahawkUtils.h" +#include "utils/Logger.h" + +#include + + +PlayableCover::PlayableCover( QWidget* parent ) + : QLabel( parent ) +{ + setMouseTracking( true ); + + m_button = new ImageButton( this ); + m_button->setPixmap( RESPATH "images/play-rest.png" ); + m_button->setPixmap( RESPATH "images/play-pressed.png", QIcon::Off, QIcon::Active ); + m_button->setFixedSize( 48, 48 ); + m_button->setContentsMargins( 0, 0, 0, 0 ); + m_button->setFocusPolicy( Qt::NoFocus ); + m_button->installEventFilter( this ); + m_button->hide(); + + connect( m_button, SIGNAL( clicked( bool ) ), SLOT( onClicked() ) ); +} + + +PlayableCover::~PlayableCover() +{ +} + + +void +PlayableCover::enterEvent( QEvent* event ) +{ + QLabel::enterEvent( event ); + + m_button->show(); +} + + +void +PlayableCover::leaveEvent( QEvent* event ) +{ + QLabel::leaveEvent( event ); + + m_button->hide(); +} + + +void +PlayableCover::resizeEvent( QResizeEvent* event ) +{ + QLabel::resizeEvent( event ); + m_button->move( contentsRect().center() - QPoint( 23, 23 ) ); +} + + +void +PlayableCover::onClicked() +{ + if ( m_artist ) + AudioEngine::instance()->playItem( m_artist ); + else if ( m_album ) + AudioEngine::instance()->playItem( m_album ); + else if ( m_query ) + AudioEngine::instance()->playItem( Tomahawk::playlistinterface_ptr(), m_query ); +} + + +void +PlayableCover::setArtist( const Tomahawk::artist_ptr& artist ) +{ + m_artist = artist; +} + + +void +PlayableCover::setAlbum( const Tomahawk::album_ptr& album ) +{ + m_album = album; +} + + +void +PlayableCover::setQuery( const Tomahawk::query_ptr& query ) +{ + m_query = query; +} diff --git a/src/libtomahawk/widgets/PlayableCover.h b/src/libtomahawk/widgets/PlayableCover.h new file mode 100644 index 000000000..5bc505e75 --- /dev/null +++ b/src/libtomahawk/widgets/PlayableCover.h @@ -0,0 +1,66 @@ +/* === This file is part of Tomahawk Player - === + * + * Copyright 2011 - 2012, Christian Muehlhaeuser + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see . + */ + +#ifndef PLAYABLEPIXMAP_H +#define PLAYABLEPIXMAP_H + +#include +#include +#include + +#include "Artist.h" +#include "DllMacro.h" + +class ImageButton; + +/** + * \class PlayableCover + * \brief QLabel which shows a play/pause button on hovering. + */ +class DLLEXPORT PlayableCover : public QLabel +{ +Q_OBJECT + +public: + PlayableCover( QWidget* parent = 0 ); + virtual ~PlayableCover(); + +public slots: + virtual void setArtist( const Tomahawk::artist_ptr& artist ); + virtual void setAlbum( const Tomahawk::album_ptr& album ); + virtual void setQuery( const Tomahawk::query_ptr& query ); + +protected: + virtual void resizeEvent( QResizeEvent* event ); + + void leaveEvent( QEvent* event ); + void enterEvent( QEvent* event ); + +private slots: + void onClicked(); + +private: + QPixmap m_pixmap; + + ImageButton* m_button; + Tomahawk::artist_ptr m_artist; + Tomahawk::album_ptr m_album; + Tomahawk::query_ptr m_query; +}; + +#endif From 1487f7c79de0ee4e42dcff99f0bb473974f2b403 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 04:27:43 +0100 Subject: [PATCH 025/332] * Show play buttons on top of the cover on Artist-, Album- and Track-pages. --- src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp | 1 + src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui | 7 ++++++- src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp | 1 + src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui | 7 ++++++- src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp | 1 + src/libtomahawk/widgets/infowidgets/TrackInfoWidget.ui | 7 ++++++- 6 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp index 6e91164bd..adbedda73 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp @@ -198,6 +198,7 @@ AlbumInfoWidget::load( const album_ptr& album ) ui->artistLabel->setArtist( album->artist() ); ui->albumLabel->setText( album->name() ); ui->label_2->setText( tr( "Other Albums by %1" ).arg( album->artist()->name() ) ); + ui->cover->setAlbum( album ); m_tracksModel->startLoading(); m_tracksModel->addTracks( album, QModelIndex(), true ); diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui index a5826e50d..01e71ae4e 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui @@ -199,7 +199,7 @@ 0 - + 0 @@ -343,6 +343,11 @@ QLabel
widgets/QueryLabel.h
+ + PlayableCover + QLabel +
widgets/PlayableCover.h
+
diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp index e834d88fb..55b36bcd4 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp @@ -241,6 +241,7 @@ ArtistInfoWidget::load( const artist_ptr& artist ) SLOT( onTracksFound( QList, Tomahawk::ModelMode ) ) ); ui->artistLabel->setText( artist->name() ); + ui->cover->setArtist( artist ); m_topHitsModel->startLoading(); diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui index 939afee3e..70d7304c6 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui @@ -276,7 +276,7 @@ 0
- + 0 @@ -375,6 +375,11 @@ QTreeView
playlist/PlaylistView.h
+ + PlayableCover + QLabel +
widgets/PlayableCover.h
+
diff --git a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp index 7dc8db769..8af7a0c7f 100644 --- a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp @@ -202,6 +202,7 @@ TrackInfoWidget::load( const query_ptr& query ) ui->artistLabel->setQuery( query ); ui->albumLabel->setQuery( query ); ui->albumLabel->setVisible( !query->album().isEmpty() ); + ui->cover->setQuery( query ); m_relatedTracksModel->clear(); m_relatedTracksModel->startLoading(); diff --git a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.ui index 82629aaa8..ea9da93d5 100644 --- a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.ui @@ -147,7 +147,7 @@ 12
- + 0 @@ -325,6 +325,11 @@ QLabel
widgets/QueryLabel.h
+ + PlayableCover + QLabel +
widgets/PlayableCover.h
+
From f059644df54651d2c629fa73decdddc828b4ff73 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 04:42:22 +0100 Subject: [PATCH 026/332] * Don't show the jump link in the AudioControls, if we can't actually jump anywhere. --- src/AudioControls.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/AudioControls.cpp b/src/AudioControls.cpp index 58316cc83..a7c9fef97 100644 --- a/src/AudioControls.cpp +++ b/src/AudioControls.cpp @@ -281,6 +281,9 @@ AudioControls::onPlaybackLoading( const Tomahawk::result_ptr& result ) ui->loveButton->setToolTip( tr( "Love" ) ); ui->ownerButton->setToolTip( QString( tr( "Playing from %1" ) ).arg( result->friendlySource() ) ); + // If the ViewManager doesn't know a page for the current interface, we can't offer the jump link + ui->artistTrackLabel->setJumpLinkVisible( ( ViewManager::instance()->pageForInterface( AudioEngine::instance()->currentTrackPlaylist() ) ) ); + onControlStateChanged(); QPixmap sourceIcon = result->sourceIcon( TomahawkUtils::RoundedCorners, ui->ownerButton->size() ); From 595dcac264b46d3f0f373951106bc0bf5e79e619 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 05:44:45 +0100 Subject: [PATCH 027/332] * Safety check in PlayableProxyModelPlaylistInterface. --- .../playlist/PlayableProxyModelPlaylistInterface.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp index 45d493dd0..1fffa4774 100644 --- a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp +++ b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp @@ -196,7 +196,7 @@ PlayableProxyModelPlaylistInterface::siblingIndex( int itemsAway, qint64 rootInd else { PlayableItem* pitem = static_cast( (void*)rootIndex ); - if ( !pitem ) + if ( !pitem || !pitem->index.isValid() ) return -1; idx = proxyModel->mapFromSource( pitem->index ); From 96b4a0a3ff23a6071e4405bd48d352d0430d2afe Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 05:45:55 +0100 Subject: [PATCH 028/332] * Show album name in PlaylistLargeItemDelegate. --- .../playlist/PlaylistLargeItemDelegate.cpp | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp index 90d1200fc..4af2dd0d3 100644 --- a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp @@ -113,10 +113,7 @@ PlaylistLargeItemDelegate::drawRichText( QPainter* painter, const QStyleOptionVi QAbstractTextDocumentLayout::PaintContext context; - if ( option.state & QStyle::State_Selected ) - context.palette.setColor( QPalette::Text, option.palette.color( QPalette::HighlightedText ) ); - else - context.palette.setColor( QPalette::Text, painter->pen().color() ); + context.palette.setColor( QPalette::Text, option.palette.text().color() ); painter->save(); painter->translate( rect.x(), y ); @@ -141,8 +138,9 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& return; const query_ptr q = item->query()->displayQuery(); - QString artist = q->artist(); - QString track = q->track(); + const QString artist = q->artist(); + const QString album = q->album(); + const QString track = q->track(); unsigned int duration = q->duration(); QPixmap avatar; QString lowerText; @@ -190,7 +188,6 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& QRect avatarRect = r.adjusted( option.rect.width() - r.left() - 12 - avatarSize.width(), ( option.rect.height() - avatarSize.height() ) / 2 - 5, 0, 0 ); avatarRect.setSize( avatarSize ); - if ( !m_pixmaps.contains( index ) ) { m_pixmaps.insert( index, QSharedPointer< Tomahawk::PixmapDelegateFader >( new Tomahawk::PixmapDelegateFader( item->query(), pixmapRect.size(), TomahawkUtils::ScaledCover, false ) ) ); @@ -216,7 +213,9 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& QFontMetrics smallBoldFontMetrics( smallBoldFont ); QFont smallFont = opt.font; - smallFont.setPointSize( TomahawkUtils::defaultFontSize() - 2 ); + smallFont.setPointSize( TomahawkUtils::defaultFontSize() - 1 ); + QFont smallestFont = opt.font; + smallestFont.setPointSize( TomahawkUtils::defaultFontSize() - 2 ); r.adjust( pixmapRect.width() + 12, 1, - 16 - avatar.width(), 0 ); QRect leftRect = r.adjusted( 0, 0, -48, 0 ); @@ -226,13 +225,20 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& QString text = painter->fontMetrics().elidedText( track, Qt::ElideRight, leftRect.width() ); painter->drawText( leftRect, text, m_topOption ); - painter->setFont( smallBoldFont ); - text = painter->fontMetrics().elidedText( artist, Qt::ElideRight, leftRect.width() ); - painter->drawText( leftRect.adjusted( 0, boldFontMetrics.height(), 0, 0 ), text, m_topOption ); - painter->setFont( smallFont ); - painter->setPen( Qt::gray ); QTextDocument textDoc; + if ( album.isEmpty() ) + textDoc.setHtml( tr( "by %1" ).arg( artist ) ); + else + textDoc.setHtml( tr( "by %1 on %2" ).arg( artist ).arg( album ) ); + textDoc.setDocumentMargin( 0 ); + textDoc.setDefaultFont( painter->font() ); + textDoc.setDefaultTextOption( m_topOption ); + + drawRichText( painter, opt, leftRect.adjusted( 0, boldFontMetrics.height() + 1, 0, 0 ), Qt::AlignTop, textDoc ); + + painter->setFont( smallestFont ); + painter->setPen( Qt::gray ); textDoc.setHtml( lowerText ); textDoc.setDocumentMargin( 0 ); textDoc.setDefaultFont( painter->font() ); @@ -241,7 +247,7 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& if ( textDoc.idealWidth() > leftRect.width() ) textDoc.setHtml( item->query()->socialActionDescription( "Love", Query::Short ) ); - drawRichText( painter, option, leftRect, Qt::AlignBottom, textDoc ); + drawRichText( painter, opt, leftRect, Qt::AlignBottom, textDoc ); const int sourceIconSize = avatarRect.width() - 6; if ( q->numResults() && !q->results().first()->sourceIcon( TomahawkUtils::RoundedCorners, QSize( sourceIconSize, sourceIconSize ) ).isNull() ) From fd8af9ac552f16c3d7c5866fc473c65af1e19617 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 15:20:33 +0100 Subject: [PATCH 029/332] * Show PlaylistLargeItemDelegate's social-action info bigger and in gray again. --- src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp index 4af2dd0d3..e3e600a91 100644 --- a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp @@ -113,7 +113,7 @@ PlaylistLargeItemDelegate::drawRichText( QPainter* painter, const QStyleOptionVi QAbstractTextDocumentLayout::PaintContext context; - context.palette.setColor( QPalette::Text, option.palette.text().color() ); + context.palette.setColor( QPalette::Text, painter->pen().color() ); painter->save(); painter->translate( rect.x(), y ); @@ -214,8 +214,6 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& QFont smallFont = opt.font; smallFont.setPointSize( TomahawkUtils::defaultFontSize() - 1 ); - QFont smallestFont = opt.font; - smallestFont.setPointSize( TomahawkUtils::defaultFontSize() - 2 ); r.adjust( pixmapRect.width() + 12, 1, - 16 - avatar.width(), 0 ); QRect leftRect = r.adjusted( 0, 0, -48, 0 ); @@ -237,8 +235,9 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& drawRichText( painter, opt, leftRect.adjusted( 0, boldFontMetrics.height() + 1, 0, 0 ), Qt::AlignTop, textDoc ); - painter->setFont( smallestFont ); - painter->setPen( Qt::gray ); + if ( !( option.state & QStyle::State_Selected || item->isPlaying() ) ) + painter->setPen( Qt::gray ); + textDoc.setHtml( lowerText ); textDoc.setDocumentMargin( 0 ); textDoc.setDefaultFont( painter->font() ); From ba0359f35f7bfc12fc000f6fa83fa6a5886661f3 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 15:21:37 +0100 Subject: [PATCH 030/332] * Cleaned up ContextMenu a bit and added album & artist page-links for queries. --- src/libtomahawk/ContextMenu.cpp | 66 +++++++++++++++++++++++++-------- src/libtomahawk/ContextMenu.h | 5 ++- 2 files changed, 54 insertions(+), 17 deletions(-) diff --git a/src/libtomahawk/ContextMenu.cpp b/src/libtomahawk/ContextMenu.cpp index 4fef0daa6..0ed97ebd0 100644 --- a/src/libtomahawk/ContextMenu.cpp +++ b/src/libtomahawk/ContextMenu.cpp @@ -104,14 +104,20 @@ ContextMenu::setQueries( const QList& queries ) onSocialActionsLoaded(); } - if ( m_supportedActions & ActionCopyLink && itemCount() == 1 ) - m_sigmap->setMapping( addAction( tr( "&Copy Track Link" ) ), ActionCopyLink ); + addSeparator(); if ( m_supportedActions & ActionPage && itemCount() == 1 ) - m_sigmap->setMapping( addAction( tr( "&Show Track Page" ) ), ActionPage ); + { + m_sigmap->setMapping( addAction( tr( "&Go to \"%1\"" ).arg( m_queries.first()->track() ) ), ActionTrackPage ); + m_sigmap->setMapping( addAction( tr( "&Go to \"%1\"" ).arg( m_queries.first()->album() ) ), ActionAlbumPage ); + m_sigmap->setMapping( addAction( tr( "&Go to \"%1\"" ).arg( m_queries.first()->artist() ) ), ActionArtistPage ); + } addSeparator(); + if ( m_supportedActions & ActionCopyLink && itemCount() == 1 ) + m_sigmap->setMapping( addAction( tr( "&Copy Track Link" ) ), ActionCopyLink ); + if ( m_supportedActions & ActionEditMetadata && itemCount() == 1 ) m_sigmap->setMapping( addAction( tr( "Properties..." ) ), ActionEditMetadata ); @@ -149,14 +155,16 @@ ContextMenu::setAlbums( const QList& albums ) m_albums.clear(); m_albums << albums; -/* if ( m_supportedActions & ActionPlay && itemCount() == 1 ) - m_sigmap->setMapping( addAction( tr( "Show &Album Page" ) ), ActionPlay );*/ - if ( m_supportedActions & ActionQueue ) m_sigmap->setMapping( addAction( tr( "Add to &Queue" ) ), ActionQueue ); + addSeparator(); + if ( m_supportedActions & ActionPage && itemCount() == 1 ) - m_sigmap->setMapping( addAction( tr( "&Show Album Page" ) ), ActionPage ); + { + m_sigmap->setMapping( addAction( tr( "&Go to \"%1\"" ).arg( m_albums.first()->name() ) ), ActionAlbumPage ); + m_sigmap->setMapping( addAction( tr( "&Go to \"%1\"" ).arg( m_albums.first()->artist()->name() ) ), ActionArtistPage ); + } //m_sigmap->setMapping( addAction( tr( "&Add to Playlist" ) ), ActionAddToPlaylist ); @@ -197,8 +205,10 @@ ContextMenu::setArtists( const QList& artists ) if ( m_supportedActions & ActionQueue ) m_sigmap->setMapping( addAction( tr( "Add to &Queue" ) ), ActionQueue ); + addSeparator(); + if ( m_supportedActions & ActionPage && itemCount() == 1 ) - m_sigmap->setMapping( addAction( tr( "&Show Artist Page" ) ), ActionPage ); + m_sigmap->setMapping( addAction( tr( "&Go to \"%1\"" ).arg( m_artists.first()->name() ) ), ActionArtistPage ); //m_sigmap->setMapping( addAction( tr( "&Add to Playlist" ) ), ActionAddToPlaylist ); @@ -236,8 +246,10 @@ ContextMenu::onTriggered( int action ) copyLink(); break; - case ActionPage: - openPage(); + case ActionTrackPage: + case ActionArtistPage: + case ActionAlbumPage: + openPage( (MenuActions)action ); break; case ActionLove: @@ -304,20 +316,42 @@ ContextMenu::copyLink() void -ContextMenu::openPage() +ContextMenu::openPage( MenuActions action ) { if ( m_queries.count() ) { - ViewManager::instance()->show( m_queries.first() ); + if ( action == ActionTrackPage ) + { + ViewManager::instance()->show( m_queries.first() ); + } + else + { + const Tomahawk::artist_ptr artist = Artist::get( m_queries.first()->artist(), false ); + if ( action == ActionArtistPage ) + { + ViewManager::instance()->show( artist ); + } + else if ( action == ActionAlbumPage ) + { + ViewManager::instance()->show( Album::get( artist, m_queries.first()->album(), false ) ); + } + } + } + else if ( m_albums.count() ) + { + if ( action == ActionArtistPage ) + { + ViewManager::instance()->show( m_albums.first()->artist() ); + } + else + { + ViewManager::instance()->show( m_albums.first() ); + } } else if ( m_artists.count() ) { ViewManager::instance()->show( m_artists.first() ); } - else if ( m_albums.count() ) - { - ViewManager::instance()->show( m_albums.first() ); - } } diff --git a/src/libtomahawk/ContextMenu.h b/src/libtomahawk/ContextMenu.h index 3e59ee908..f12fef5b3 100644 --- a/src/libtomahawk/ContextMenu.h +++ b/src/libtomahawk/ContextMenu.h @@ -43,6 +43,9 @@ public: ActionLove = 16, ActionStopAfter = 32, ActionPage = 64, + ActionTrackPage = 65, + ActionArtistPage = 66, + ActionAlbumPage = 67, ActionEditMetadata = 128 }; @@ -73,7 +76,7 @@ signals: private slots: void onTriggered( int action ); void copyLink(); - void openPage(); + void openPage( MenuActions action ); void addToQueue(); void onSocialActionsLoaded(); From 584050a171ff740dc2271e967cf8ee270da1dd4f Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 15:24:21 +0100 Subject: [PATCH 031/332] * Remove secondary accelerators. --- src/libtomahawk/ContextMenu.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libtomahawk/ContextMenu.cpp b/src/libtomahawk/ContextMenu.cpp index 0ed97ebd0..9260716b7 100644 --- a/src/libtomahawk/ContextMenu.cpp +++ b/src/libtomahawk/ContextMenu.cpp @@ -109,8 +109,8 @@ ContextMenu::setQueries( const QList& queries ) if ( m_supportedActions & ActionPage && itemCount() == 1 ) { m_sigmap->setMapping( addAction( tr( "&Go to \"%1\"" ).arg( m_queries.first()->track() ) ), ActionTrackPage ); - m_sigmap->setMapping( addAction( tr( "&Go to \"%1\"" ).arg( m_queries.first()->album() ) ), ActionAlbumPage ); - m_sigmap->setMapping( addAction( tr( "&Go to \"%1\"" ).arg( m_queries.first()->artist() ) ), ActionArtistPage ); + m_sigmap->setMapping( addAction( tr( "Go to \"%1\"" ).arg( m_queries.first()->album() ) ), ActionAlbumPage ); + m_sigmap->setMapping( addAction( tr( "Go to \"%1\"" ).arg( m_queries.first()->artist() ) ), ActionArtistPage ); } addSeparator(); @@ -163,7 +163,7 @@ ContextMenu::setAlbums( const QList& albums ) if ( m_supportedActions & ActionPage && itemCount() == 1 ) { m_sigmap->setMapping( addAction( tr( "&Go to \"%1\"" ).arg( m_albums.first()->name() ) ), ActionAlbumPage ); - m_sigmap->setMapping( addAction( tr( "&Go to \"%1\"" ).arg( m_albums.first()->artist()->name() ) ), ActionArtistPage ); + m_sigmap->setMapping( addAction( tr( "Go to \"%1\"" ).arg( m_albums.first()->artist()->name() ) ), ActionArtistPage ); } //m_sigmap->setMapping( addAction( tr( "&Add to Playlist" ) ), ActionAddToPlaylist ); From 99f2b6ea97878484bc9e7eb8d1422878b90ac58a Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 09:36:00 -0500 Subject: [PATCH 032/332] SVG for No Source found icon --- data/images/no-source.svg | 50 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 data/images/no-source.svg diff --git a/data/images/no-source.svg b/data/images/no-source.svg new file mode 100644 index 000000000..36f5ebf8d --- /dev/null +++ b/data/images/no-source.svg @@ -0,0 +1,50 @@ + + + +image/svg+xml \ No newline at end of file From bc0ed7f177696f5f9707ec64805952434b6d2471 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 15:39:10 +0100 Subject: [PATCH 033/332] * Never elide time and only show when duration > 0. --- src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp index e3e600a91..03a135eaa 100644 --- a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp @@ -141,7 +141,7 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& const QString artist = q->artist(); const QString album = q->album(); const QString track = q->track(); - unsigned int duration = q->duration(); + int duration = q->duration(); QPixmap avatar; QString lowerText; @@ -262,8 +262,7 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& { painter->setPen( opt.palette.text().color() ); painter->setFont( smallBoldFont ); - text = painter->fontMetrics().elidedText( TomahawkUtils::timeToString( duration ), Qt::ElideRight, rightRect.width() ); - painter->drawText( rightRect, text, m_centerRightOption ); + painter->drawText( rightRect, TomahawkUtils::timeToString( duration ), m_centerRightOption ); } } painter->restore(); From ba396ea73c2e563d1363038c159149d0a53e15a9 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 15:45:46 +0100 Subject: [PATCH 034/332] * ContextMenu: don't offer an album link when there's no album set. --- src/libtomahawk/ContextMenu.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libtomahawk/ContextMenu.cpp b/src/libtomahawk/ContextMenu.cpp index 9260716b7..8c460535d 100644 --- a/src/libtomahawk/ContextMenu.cpp +++ b/src/libtomahawk/ContextMenu.cpp @@ -109,7 +109,8 @@ ContextMenu::setQueries( const QList& queries ) if ( m_supportedActions & ActionPage && itemCount() == 1 ) { m_sigmap->setMapping( addAction( tr( "&Go to \"%1\"" ).arg( m_queries.first()->track() ) ), ActionTrackPage ); - m_sigmap->setMapping( addAction( tr( "Go to \"%1\"" ).arg( m_queries.first()->album() ) ), ActionAlbumPage ); + if ( !m_queries.first()->album().isEmpty() ) + m_sigmap->setMapping( addAction( tr( "Go to \"%1\"" ).arg( m_queries.first()->album() ) ), ActionAlbumPage ); m_sigmap->setMapping( addAction( tr( "Go to \"%1\"" ).arg( m_queries.first()->artist() ) ), ActionArtistPage ); } From 1eb74eb699e9b06006b79d7de4b51ce77c68dbda Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 09:58:58 -0500 Subject: [PATCH 035/332] Squarify no-source SVG and add SVGs for album, artist and track placeholders for grid view --- data/images/album-placeholder-grid.svg | 57 ++++++++++++++++++++++++ data/images/artist-placeholder-grid.svg | 39 +++++++++++++++++ data/images/jump-link.svg | 58 +++++++++++++++++++++++++ data/images/no-source.svg | 21 +++++---- data/images/share.svg | 53 ++++++++++++++++++++++ data/images/track-placeholder-grid.svg | 53 ++++++++++++++++++++++ 6 files changed, 272 insertions(+), 9 deletions(-) create mode 100644 data/images/album-placeholder-grid.svg create mode 100644 data/images/artist-placeholder-grid.svg create mode 100644 data/images/jump-link.svg create mode 100644 data/images/share.svg create mode 100644 data/images/track-placeholder-grid.svg diff --git a/data/images/album-placeholder-grid.svg b/data/images/album-placeholder-grid.svg new file mode 100644 index 000000000..c911a119a --- /dev/null +++ b/data/images/album-placeholder-grid.svg @@ -0,0 +1,57 @@ + + + album-placeholder + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/artist-placeholder-grid.svg b/data/images/artist-placeholder-grid.svg new file mode 100644 index 000000000..b80659ed5 --- /dev/null +++ b/data/images/artist-placeholder-grid.svg @@ -0,0 +1,39 @@ + + + artist-placeholder + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/jump-link.svg b/data/images/jump-link.svg new file mode 100644 index 000000000..7a8b99b1a --- /dev/null +++ b/data/images/jump-link.svg @@ -0,0 +1,58 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/data/images/no-source.svg b/data/images/no-source.svg index 36f5ebf8d..c85098c18 100644 --- a/data/images/no-source.svg +++ b/data/images/no-source.svg @@ -12,8 +12,8 @@ id="svg2" version="1.1" inkscape:version="0.48.2 r9819" - width="78.75" - height="53.75" + width="100" + height="100" xml:space="preserve" sodipodi:docname="no-source.pdf"> \ No newline at end of file + d="M 0,80 0,0 80,0 80,80 0,80 z" + style="fill:#e0dfe0;fill-opacity:1;fill-rule:evenodd;stroke:none" + id="path16" /> \ No newline at end of file diff --git a/data/images/share.svg b/data/images/share.svg new file mode 100644 index 000000000..d7df7c012 --- /dev/null +++ b/data/images/share.svg @@ -0,0 +1,53 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/data/images/track-placeholder-grid.svg b/data/images/track-placeholder-grid.svg new file mode 100644 index 000000000..ecf864a84 --- /dev/null +++ b/data/images/track-placeholder-grid.svg @@ -0,0 +1,53 @@ + + + +image/svg+xml \ No newline at end of file From 076f3370ade00ffa7927360fd1dd0fbb4bf3fb30 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 13:59:54 -0500 Subject: [PATCH 036/332] Most of the icons as SVGs. Probably some mistakes in there, but wanted to get everyone started. See, you ask for 6 months and I finally figured it out. --- data/images/account-settings.svg | 13 +++++ data/images/add-contact.svg | 14 +++++ data/images/advanced-settings.svg | 11 ++++ data/images/album-icon.svg | 10 ++++ data/images/apply-checked.svg | 12 +++++ data/images/arrow-down-double.svg | 11 ++++ data/images/arrow-right-double.svg | 11 ++++ data/images/arrow-up-double.svg | 11 ++++ data/images/back.svg | 9 ++++ data/images/cancel.svg | 12 +++++ data/images/charts.svg | 14 +++++ data/images/close.svg | 12 +++++ data/images/collection.svg | 23 ++++++++ data/images/configure.svg | 9 ++++ data/images/dashboard.svg | 17 ++++++ data/images/delete.svg | 13 +++++ data/images/downloading.svg | 12 +++++ data/images/filter.svg | 13 +++++ data/images/forward.svg | 9 ++++ data/images/green-dot.svg | 14 +++++ data/images/info.svg | 9 ++++ data/images/list-add.svg | 10 ++++ data/images/list-remove.svg | 10 ++++ data/images/loading-animation.svg | 22 ++++++++ data/images/loved.svg | 12 +++++ data/images/music-settings.svg | 13 +++++ data/images/new-additions.svg | 9 ++++ data/images/new-releases.svg | 12 +++++ data/images/next.svg | 57 ++++++++++++++++++++ data/images/no-artist-image-placeholder.svg | 10 ++++ data/images/not-loved.svg | 9 ++++ data/images/now-playing-speaker-dark.svg | 32 +++++++++++ data/images/now-playing-speaker.svg | 14 +++++ data/images/open-padlock.svg | 12 +++++ data/images/open.svg | 12 +++++ data/images/pause-pressed.svg | 46 ++++++++++++++++ data/images/pause-rest.svg | 18 +++++++ data/images/pause.svg | 46 ++++++++++++++++ data/images/play-pressed.svg | 15 ++++++ data/images/play-rest.svg | 15 ++++++ data/images/play.svg | 35 ++++++++++++ data/images/playlist.svg | 20 +++++++ data/images/prev.svg | 57 ++++++++++++++++++++ data/images/process-stop.svg | 9 ++++ data/images/repeat-1-on-pressed.svg | 16 ++++++ data/images/repeat-1-on-rest.svg | 18 +++++++ data/images/repeat-all-on-pressed.svg | 12 +++++ data/images/repeat-off-pressed.svg | 12 +++++ data/images/repeat-off-rest.svg | 12 +++++ data/images/resolvers-settings.svg | 12 +++++ data/images/search-box-dismiss.svg | 10 ++++ data/images/seek-and-volume-knob-pressed.svg | 14 +++++ data/images/seek-and-volume-knob-rest.svg | 14 +++++ data/images/shuffle-off-pressed.svg | 13 +++++ data/images/shuffle-off-rest.svg | 13 +++++ data/images/shuffle-on-pressed.svg | 13 +++++ data/images/shuffle-on-rest.svg | 13 +++++ data/images/sipplugin-add.svg | 10 ++++ data/images/sipplugin-remove.svg | 10 ++++ data/images/station.svg | 16 ++++++ data/images/subscribe-off.svg | 11 ++++ data/images/subscribe-on.svg | 11 ++++ data/images/supercollection.svg | 34 ++++++++++++ data/images/uploading.svg | 12 +++++ data/images/volume-icon-full.svg | 19 +++++++ data/images/volume-icon-muted.svg | 16 ++++++ 66 files changed, 1065 insertions(+) create mode 100644 data/images/account-settings.svg create mode 100644 data/images/add-contact.svg create mode 100644 data/images/advanced-settings.svg create mode 100644 data/images/album-icon.svg create mode 100644 data/images/apply-checked.svg create mode 100644 data/images/arrow-down-double.svg create mode 100644 data/images/arrow-right-double.svg create mode 100644 data/images/arrow-up-double.svg create mode 100644 data/images/back.svg create mode 100644 data/images/cancel.svg create mode 100644 data/images/charts.svg create mode 100644 data/images/close.svg create mode 100644 data/images/collection.svg create mode 100644 data/images/configure.svg create mode 100644 data/images/dashboard.svg create mode 100644 data/images/delete.svg create mode 100644 data/images/downloading.svg create mode 100644 data/images/filter.svg create mode 100644 data/images/forward.svg create mode 100644 data/images/green-dot.svg create mode 100644 data/images/info.svg create mode 100644 data/images/list-add.svg create mode 100644 data/images/list-remove.svg create mode 100644 data/images/loading-animation.svg create mode 100644 data/images/loved.svg create mode 100644 data/images/music-settings.svg create mode 100644 data/images/new-additions.svg create mode 100644 data/images/new-releases.svg create mode 100644 data/images/next.svg create mode 100644 data/images/no-artist-image-placeholder.svg create mode 100644 data/images/not-loved.svg create mode 100644 data/images/now-playing-speaker-dark.svg create mode 100644 data/images/now-playing-speaker.svg create mode 100644 data/images/open-padlock.svg create mode 100644 data/images/open.svg create mode 100644 data/images/pause-pressed.svg create mode 100644 data/images/pause-rest.svg create mode 100644 data/images/pause.svg create mode 100644 data/images/play-pressed.svg create mode 100644 data/images/play-rest.svg create mode 100644 data/images/play.svg create mode 100644 data/images/playlist.svg create mode 100644 data/images/prev.svg create mode 100644 data/images/process-stop.svg create mode 100644 data/images/repeat-1-on-pressed.svg create mode 100644 data/images/repeat-1-on-rest.svg create mode 100644 data/images/repeat-all-on-pressed.svg create mode 100644 data/images/repeat-off-pressed.svg create mode 100644 data/images/repeat-off-rest.svg create mode 100644 data/images/resolvers-settings.svg create mode 100644 data/images/search-box-dismiss.svg create mode 100644 data/images/seek-and-volume-knob-pressed.svg create mode 100644 data/images/seek-and-volume-knob-rest.svg create mode 100644 data/images/shuffle-off-pressed.svg create mode 100644 data/images/shuffle-off-rest.svg create mode 100644 data/images/shuffle-on-pressed.svg create mode 100644 data/images/shuffle-on-rest.svg create mode 100644 data/images/sipplugin-add.svg create mode 100644 data/images/sipplugin-remove.svg create mode 100644 data/images/station.svg create mode 100644 data/images/subscribe-off.svg create mode 100644 data/images/subscribe-on.svg create mode 100644 data/images/supercollection.svg create mode 100644 data/images/uploading.svg create mode 100644 data/images/volume-icon-full.svg create mode 100644 data/images/volume-icon-muted.svg diff --git a/data/images/account-settings.svg b/data/images/account-settings.svg new file mode 100644 index 000000000..8114e55f4 --- /dev/null +++ b/data/images/account-settings.svg @@ -0,0 +1,13 @@ + + + account-settings + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + \ No newline at end of file diff --git a/data/images/add-contact.svg b/data/images/add-contact.svg new file mode 100644 index 000000000..d569d2514 --- /dev/null +++ b/data/images/add-contact.svg @@ -0,0 +1,14 @@ + + + add-contact + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/advanced-settings.svg b/data/images/advanced-settings.svg new file mode 100644 index 000000000..ccef0f4fe --- /dev/null +++ b/data/images/advanced-settings.svg @@ -0,0 +1,11 @@ + + + advanced-settings + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + \ No newline at end of file diff --git a/data/images/album-icon.svg b/data/images/album-icon.svg new file mode 100644 index 000000000..abdfa6d9e --- /dev/null +++ b/data/images/album-icon.svg @@ -0,0 +1,10 @@ + + + album-icon + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + \ No newline at end of file diff --git a/data/images/apply-checked.svg b/data/images/apply-checked.svg new file mode 100644 index 000000000..e7d141f7e --- /dev/null +++ b/data/images/apply-checked.svg @@ -0,0 +1,12 @@ + + + Slice 1 + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/arrow-down-double.svg b/data/images/arrow-down-double.svg new file mode 100644 index 000000000..8653d24fe --- /dev/null +++ b/data/images/arrow-down-double.svg @@ -0,0 +1,11 @@ + + + arrow-up-double + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + \ No newline at end of file diff --git a/data/images/arrow-right-double.svg b/data/images/arrow-right-double.svg new file mode 100644 index 000000000..5163a76fe --- /dev/null +++ b/data/images/arrow-right-double.svg @@ -0,0 +1,11 @@ + + + arrow-right-double + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + \ No newline at end of file diff --git a/data/images/arrow-up-double.svg b/data/images/arrow-up-double.svg new file mode 100644 index 000000000..5cc0c9e07 --- /dev/null +++ b/data/images/arrow-up-double.svg @@ -0,0 +1,11 @@ + + + arrow-up-double + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + \ No newline at end of file diff --git a/data/images/back.svg b/data/images/back.svg new file mode 100644 index 000000000..3d131d713 --- /dev/null +++ b/data/images/back.svg @@ -0,0 +1,9 @@ + + + back + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/cancel.svg b/data/images/cancel.svg new file mode 100644 index 000000000..1c94702f7 --- /dev/null +++ b/data/images/cancel.svg @@ -0,0 +1,12 @@ + + + Slice 1 + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/charts.svg b/data/images/charts.svg new file mode 100644 index 000000000..20c612526 --- /dev/null +++ b/data/images/charts.svg @@ -0,0 +1,14 @@ + + + charts + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/close.svg b/data/images/close.svg new file mode 100644 index 000000000..d77d211f3 --- /dev/null +++ b/data/images/close.svg @@ -0,0 +1,12 @@ + + + close + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/collection.svg b/data/images/collection.svg new file mode 100644 index 000000000..1ab9eb581 --- /dev/null +++ b/data/images/collection.svg @@ -0,0 +1,23 @@ + + + collection + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/configure.svg b/data/images/configure.svg new file mode 100644 index 000000000..e3886b372 --- /dev/null +++ b/data/images/configure.svg @@ -0,0 +1,9 @@ + + + configure + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/dashboard.svg b/data/images/dashboard.svg new file mode 100644 index 000000000..54c2571fa --- /dev/null +++ b/data/images/dashboard.svg @@ -0,0 +1,17 @@ + + + dashboard + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/delete.svg b/data/images/delete.svg new file mode 100644 index 000000000..ec8a35bda --- /dev/null +++ b/data/images/delete.svg @@ -0,0 +1,13 @@ + + + delete + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + \ No newline at end of file diff --git a/data/images/downloading.svg b/data/images/downloading.svg new file mode 100644 index 000000000..cad384b27 --- /dev/null +++ b/data/images/downloading.svg @@ -0,0 +1,12 @@ + + + downloading + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/filter.svg b/data/images/filter.svg new file mode 100644 index 000000000..cf8f64074 --- /dev/null +++ b/data/images/filter.svg @@ -0,0 +1,13 @@ + + + filter + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + \ No newline at end of file diff --git a/data/images/forward.svg b/data/images/forward.svg new file mode 100644 index 000000000..20123c3bc --- /dev/null +++ b/data/images/forward.svg @@ -0,0 +1,9 @@ + + + forward + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/green-dot.svg b/data/images/green-dot.svg new file mode 100644 index 000000000..6b234ccdb --- /dev/null +++ b/data/images/green-dot.svg @@ -0,0 +1,14 @@ + + + green-dot + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/info.svg b/data/images/info.svg new file mode 100644 index 000000000..5230327f1 --- /dev/null +++ b/data/images/info.svg @@ -0,0 +1,9 @@ + + + info + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/list-add.svg b/data/images/list-add.svg new file mode 100644 index 000000000..0ddb0e42b --- /dev/null +++ b/data/images/list-add.svg @@ -0,0 +1,10 @@ + + + Slice 1 + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + \ No newline at end of file diff --git a/data/images/list-remove.svg b/data/images/list-remove.svg new file mode 100644 index 000000000..74ad8f7b8 --- /dev/null +++ b/data/images/list-remove.svg @@ -0,0 +1,10 @@ + + + list-remove + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + \ No newline at end of file diff --git a/data/images/loading-animation.svg b/data/images/loading-animation.svg new file mode 100644 index 000000000..1898dad9f --- /dev/null +++ b/data/images/loading-animation.svg @@ -0,0 +1,22 @@ + + + loading-animation + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/loved.svg b/data/images/loved.svg new file mode 100644 index 000000000..b83cec8dc --- /dev/null +++ b/data/images/loved.svg @@ -0,0 +1,12 @@ + + + loved + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/music-settings.svg b/data/images/music-settings.svg new file mode 100644 index 000000000..27ee94065 --- /dev/null +++ b/data/images/music-settings.svg @@ -0,0 +1,13 @@ + + + music-settings + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + \ No newline at end of file diff --git a/data/images/new-additions.svg b/data/images/new-additions.svg new file mode 100644 index 000000000..14473cdde --- /dev/null +++ b/data/images/new-additions.svg @@ -0,0 +1,9 @@ + + + Slice 1 + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/new-releases.svg b/data/images/new-releases.svg new file mode 100644 index 000000000..9aab37c0e --- /dev/null +++ b/data/images/new-releases.svg @@ -0,0 +1,12 @@ + + + new-releases + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/next.svg b/data/images/next.svg new file mode 100644 index 000000000..1cc396130 --- /dev/null +++ b/data/images/next.svg @@ -0,0 +1,57 @@ + + + next + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/no-artist-image-placeholder.svg b/data/images/no-artist-image-placeholder.svg new file mode 100644 index 000000000..93bc6ff8f --- /dev/null +++ b/data/images/no-artist-image-placeholder.svg @@ -0,0 +1,10 @@ + + + no-artist-image-placeholder + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + \ No newline at end of file diff --git a/data/images/not-loved.svg b/data/images/not-loved.svg new file mode 100644 index 000000000..37e60a2d7 --- /dev/null +++ b/data/images/not-loved.svg @@ -0,0 +1,9 @@ + + + Slice 1 + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/now-playing-speaker-dark.svg b/data/images/now-playing-speaker-dark.svg new file mode 100644 index 000000000..02c0f2631 --- /dev/null +++ b/data/images/now-playing-speaker-dark.svg @@ -0,0 +1,32 @@ + + + now-playing-speaker-dark + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/now-playing-speaker.svg b/data/images/now-playing-speaker.svg new file mode 100644 index 000000000..8ee243440 --- /dev/null +++ b/data/images/now-playing-speaker.svg @@ -0,0 +1,14 @@ + + + now-playing-speaker + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/open-padlock.svg b/data/images/open-padlock.svg new file mode 100644 index 000000000..404f64a46 --- /dev/null +++ b/data/images/open-padlock.svg @@ -0,0 +1,12 @@ + + + open-padlock + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/open.svg b/data/images/open.svg new file mode 100644 index 000000000..60e9993cc --- /dev/null +++ b/data/images/open.svg @@ -0,0 +1,12 @@ + + + Slice 1 + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/pause-pressed.svg b/data/images/pause-pressed.svg new file mode 100644 index 000000000..627d69632 --- /dev/null +++ b/data/images/pause-pressed.svg @@ -0,0 +1,46 @@ + + + pause - pressed + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/pause-rest.svg b/data/images/pause-rest.svg new file mode 100644 index 000000000..f79022c7d --- /dev/null +++ b/data/images/pause-rest.svg @@ -0,0 +1,18 @@ + + + pause-rest + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/pause.svg b/data/images/pause.svg new file mode 100644 index 000000000..3bb26bfde --- /dev/null +++ b/data/images/pause.svg @@ -0,0 +1,46 @@ + + + pause + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/play-pressed.svg b/data/images/play-pressed.svg new file mode 100644 index 000000000..be2f72512 --- /dev/null +++ b/data/images/play-pressed.svg @@ -0,0 +1,15 @@ + + + play-pressed + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/play-rest.svg b/data/images/play-rest.svg new file mode 100644 index 000000000..86766b5ac --- /dev/null +++ b/data/images/play-rest.svg @@ -0,0 +1,15 @@ + + + play-rest + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/play.svg b/data/images/play.svg new file mode 100644 index 000000000..6e6448b02 --- /dev/null +++ b/data/images/play.svg @@ -0,0 +1,35 @@ + + + play + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/playlist.svg b/data/images/playlist.svg new file mode 100644 index 000000000..3e45a3e1f --- /dev/null +++ b/data/images/playlist.svg @@ -0,0 +1,20 @@ + + + playlist + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/prev.svg b/data/images/prev.svg new file mode 100644 index 000000000..5583881ad --- /dev/null +++ b/data/images/prev.svg @@ -0,0 +1,57 @@ + + + prev + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/process-stop.svg b/data/images/process-stop.svg new file mode 100644 index 000000000..dfd0abecd --- /dev/null +++ b/data/images/process-stop.svg @@ -0,0 +1,9 @@ + + + process-stop + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/repeat-1-on-pressed.svg b/data/images/repeat-1-on-pressed.svg new file mode 100644 index 000000000..8be0e9c14 --- /dev/null +++ b/data/images/repeat-1-on-pressed.svg @@ -0,0 +1,16 @@ + + + repeat-1-on-pressed + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + 1 + + + \ No newline at end of file diff --git a/data/images/repeat-1-on-rest.svg b/data/images/repeat-1-on-rest.svg new file mode 100644 index 000000000..0647a26d0 --- /dev/null +++ b/data/images/repeat-1-on-rest.svg @@ -0,0 +1,18 @@ + + + repeat-1-on-rest + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + 1 + + + + \ No newline at end of file diff --git a/data/images/repeat-all-on-pressed.svg b/data/images/repeat-all-on-pressed.svg new file mode 100644 index 000000000..7aa7cf8ef --- /dev/null +++ b/data/images/repeat-all-on-pressed.svg @@ -0,0 +1,12 @@ + + + repeat-all-on-pressed + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/repeat-off-pressed.svg b/data/images/repeat-off-pressed.svg new file mode 100644 index 000000000..2ee1414cb --- /dev/null +++ b/data/images/repeat-off-pressed.svg @@ -0,0 +1,12 @@ + + + repeat-off-pressed + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/repeat-off-rest.svg b/data/images/repeat-off-rest.svg new file mode 100644 index 000000000..4f25d0e99 --- /dev/null +++ b/data/images/repeat-off-rest.svg @@ -0,0 +1,12 @@ + + + repeat-off-rest + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/resolvers-settings.svg b/data/images/resolvers-settings.svg new file mode 100644 index 000000000..b05bd27c9 --- /dev/null +++ b/data/images/resolvers-settings.svg @@ -0,0 +1,12 @@ + + + resolvers-settings + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/search-box-dismiss.svg b/data/images/search-box-dismiss.svg new file mode 100644 index 000000000..2983d3925 --- /dev/null +++ b/data/images/search-box-dismiss.svg @@ -0,0 +1,10 @@ + + + search-box-dismiss + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + \ No newline at end of file diff --git a/data/images/seek-and-volume-knob-pressed.svg b/data/images/seek-and-volume-knob-pressed.svg new file mode 100644 index 000000000..5d8a90876 --- /dev/null +++ b/data/images/seek-and-volume-knob-pressed.svg @@ -0,0 +1,14 @@ + + + seek-and-volume-knob-pressed + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/seek-and-volume-knob-rest.svg b/data/images/seek-and-volume-knob-rest.svg new file mode 100644 index 000000000..1ffb5cc2f --- /dev/null +++ b/data/images/seek-and-volume-knob-rest.svg @@ -0,0 +1,14 @@ + + + seek-and-volume-knob-rest + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/shuffle-off-pressed.svg b/data/images/shuffle-off-pressed.svg new file mode 100644 index 000000000..5ea2288a9 --- /dev/null +++ b/data/images/shuffle-off-pressed.svg @@ -0,0 +1,13 @@ + + + shuffle-off-pressed + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + \ No newline at end of file diff --git a/data/images/shuffle-off-rest.svg b/data/images/shuffle-off-rest.svg new file mode 100644 index 000000000..76713def5 --- /dev/null +++ b/data/images/shuffle-off-rest.svg @@ -0,0 +1,13 @@ + + + shuffle-off-rest + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + \ No newline at end of file diff --git a/data/images/shuffle-on-pressed.svg b/data/images/shuffle-on-pressed.svg new file mode 100644 index 000000000..bbf0b356a --- /dev/null +++ b/data/images/shuffle-on-pressed.svg @@ -0,0 +1,13 @@ + + + shuffle-on-pressed + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + \ No newline at end of file diff --git a/data/images/shuffle-on-rest.svg b/data/images/shuffle-on-rest.svg new file mode 100644 index 000000000..f1bf338d9 --- /dev/null +++ b/data/images/shuffle-on-rest.svg @@ -0,0 +1,13 @@ + + + shuffle-on-rest + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + \ No newline at end of file diff --git a/data/images/sipplugin-add.svg b/data/images/sipplugin-add.svg new file mode 100644 index 000000000..0585f3a7e --- /dev/null +++ b/data/images/sipplugin-add.svg @@ -0,0 +1,10 @@ + + + sipplugin-add + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + \ No newline at end of file diff --git a/data/images/sipplugin-remove.svg b/data/images/sipplugin-remove.svg new file mode 100644 index 000000000..d994888c7 --- /dev/null +++ b/data/images/sipplugin-remove.svg @@ -0,0 +1,10 @@ + + + sipplugin-remove + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + \ No newline at end of file diff --git a/data/images/station.svg b/data/images/station.svg new file mode 100644 index 000000000..64e2ea6ce --- /dev/null +++ b/data/images/station.svg @@ -0,0 +1,16 @@ + + + station + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/subscribe-off.svg b/data/images/subscribe-off.svg new file mode 100644 index 000000000..61a3dffe7 --- /dev/null +++ b/data/images/subscribe-off.svg @@ -0,0 +1,11 @@ + + + subscribe-off + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + \ No newline at end of file diff --git a/data/images/subscribe-on.svg b/data/images/subscribe-on.svg new file mode 100644 index 000000000..677a0c0ce --- /dev/null +++ b/data/images/subscribe-on.svg @@ -0,0 +1,11 @@ + + + subscribe-on + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + \ No newline at end of file diff --git a/data/images/supercollection.svg b/data/images/supercollection.svg new file mode 100644 index 000000000..80dc8d1ee --- /dev/null +++ b/data/images/supercollection.svg @@ -0,0 +1,34 @@ + + + supercollection + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/uploading.svg b/data/images/uploading.svg new file mode 100644 index 000000000..ec238b7bb --- /dev/null +++ b/data/images/uploading.svg @@ -0,0 +1,12 @@ + + + uploading + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/volume-icon-full.svg b/data/images/volume-icon-full.svg new file mode 100644 index 000000000..56b640fb8 --- /dev/null +++ b/data/images/volume-icon-full.svg @@ -0,0 +1,19 @@ + + + volume-icon-full + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/volume-icon-muted.svg b/data/images/volume-icon-muted.svg new file mode 100644 index 000000000..4edc5ff73 --- /dev/null +++ b/data/images/volume-icon-muted.svg @@ -0,0 +1,16 @@ + + + volume-icon-muted + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + \ No newline at end of file From 454e645b9294a779ca00f17c594b112b7ba7059f Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 19:59:59 +0100 Subject: [PATCH 037/332] * Added ImageRegistry. Finally a global image cache (and soon to be SVG renderer). --- src/libtomahawk/CMakeLists.txt | 1 + src/libtomahawk/utils/ImageRegistry.cpp | 110 ++++++++++++++++++++++++ src/libtomahawk/utils/ImageRegistry.h | 41 +++++++++ 3 files changed, 152 insertions(+) create mode 100644 src/libtomahawk/utils/ImageRegistry.cpp create mode 100644 src/libtomahawk/utils/ImageRegistry.h diff --git a/src/libtomahawk/CMakeLists.txt b/src/libtomahawk/CMakeLists.txt index e2c6898f7..46091741f 100644 --- a/src/libtomahawk/CMakeLists.txt +++ b/src/libtomahawk/CMakeLists.txt @@ -99,6 +99,7 @@ set( libGuiSources resolvers/ScriptResolver.cpp resolvers/QtScriptResolver.cpp + utils/ImageRegistry.cpp utils/WidgetDragFilter.cpp utils/XspfGenerator.cpp utils/JspfLoader.cpp diff --git a/src/libtomahawk/utils/ImageRegistry.cpp b/src/libtomahawk/utils/ImageRegistry.cpp new file mode 100644 index 000000000..b8a4c21cb --- /dev/null +++ b/src/libtomahawk/utils/ImageRegistry.cpp @@ -0,0 +1,110 @@ +/* + * Copyright 2012, Christian Muehlhaeuser + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "ImageRegistry.h" + +#include "utils/Logger.h" + +static QHash< QString, QHash< int, QHash< int, QPixmap > > > s_cache; +ImageRegistry* ImageRegistry::s_instance = 0; + + +ImageRegistry* +ImageRegistry::instance() +{ + return s_instance; +} + + +ImageRegistry::ImageRegistry() +{ + s_instance = this; +} + + +QPixmap +ImageRegistry::getFromCache( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode ) +{ + QHash< int, QPixmap > subsubcache; + QHash< int, QHash< int, QPixmap > > subcache; + + if ( s_cache.contains( image ) ) + { + subcache = s_cache.value( image ); + + if ( subcache.contains( mode ) ) + { + subsubcache = subcache.value( mode ); + + if ( subsubcache.contains( size.width() ) ) + { + return subsubcache.value( size.width() ); + } + } + } + + // Image not found in cache. Let's load it. + QPixmap pixmap( image ); + if ( !pixmap.isNull() ) + { + switch ( mode ) + { + case TomahawkUtils::RoundedCorners: + pixmap = TomahawkUtils::createRoundedImage( pixmap, size ); + break; + + default: + break; + } + + if ( !size.isNull() && pixmap.size() != size ) + pixmap = pixmap.scaled( size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation ); + + putInCache( image, size, mode, pixmap ); + } + + return pixmap; +} + + +void +ImageRegistry::putInCache( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode, const QPixmap& pixmap ) +{ + tDebug() << Q_FUNC_INFO << "Adding to image cache:" << image << size << mode; + + QHash< int, QPixmap > subsubcache; + QHash< int, QHash< int, QPixmap > > subcache; + + if ( s_cache.contains( image ) ) + { + subcache = s_cache.value( image ); + + if ( subcache.contains( mode ) ) + { + subsubcache = subcache.value( mode ); + +/* if ( subsubcache.contains( size.width() ) ) + { + Q_ASSERT( false ); + }*/ + } + } + + subsubcache.insert( size.width(), pixmap ); + subcache.insert( mode, subsubcache ); + s_cache.insert( image, subcache ); +} diff --git a/src/libtomahawk/utils/ImageRegistry.h b/src/libtomahawk/utils/ImageRegistry.h new file mode 100644 index 000000000..fca971f3d --- /dev/null +++ b/src/libtomahawk/utils/ImageRegistry.h @@ -0,0 +1,41 @@ +/* + * Copyright 2012, Christian Muehlhaeuser + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef IMAGE_REGISTRY_H +#define IMAGE_REGISTRY_H + +#include + +#include "utils/TomahawkUtilsGui.h" +#include "DllMacro.h" + +class DLLEXPORT ImageRegistry +{ +public: + static ImageRegistry* instance(); + + explicit ImageRegistry(); + + QPixmap getFromCache( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode = TomahawkUtils::Original ); + +private: + void putInCache( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode, const QPixmap& pixmap ); + + static ImageRegistry* s_instance; +}; + +#endif // IMAGE_REGISTRY_H From 62247d464f3ee1c04a49a5684f1cf82dc99b28e3 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 20:01:24 +0100 Subject: [PATCH 038/332] * Make use of ImageRegistry. --- src/libtomahawk/utils/TomahawkUtils.h | 1 + src/libtomahawk/utils/TomahawkUtilsGui.cpp | 52 +++++++--------------- src/libtomahawk/widgets/WelcomeWidget.h | 2 +- src/sourcetree/SourceDelegate.cpp | 8 ++-- src/sourcetree/SourceDelegate.h | 2 +- src/sourcetree/items/SourceItem.cpp | 13 +++--- src/sourcetree/items/SourceItem.h | 2 +- 7 files changed, 31 insertions(+), 49 deletions(-) diff --git a/src/libtomahawk/utils/TomahawkUtils.h b/src/libtomahawk/utils/TomahawkUtils.h index 65d52d6e9..fd4814de4 100644 --- a/src/libtomahawk/utils/TomahawkUtils.h +++ b/src/libtomahawk/utils/TomahawkUtils.h @@ -49,6 +49,7 @@ namespace TomahawkUtils DefaultTrackImage, DefaultSourceAvatar, NowPlayingSpeaker, + NowPlayingSpeakerDark, InfoIcon }; diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.cpp b/src/libtomahawk/utils/TomahawkUtilsGui.cpp index 9c5eaa2d8..166f8ef4d 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.cpp +++ b/src/libtomahawk/utils/TomahawkUtilsGui.cpp @@ -19,12 +19,13 @@ #include "TomahawkUtilsGui.h" +#include "playlist/PlayableItem.h" #include "config.h" #include "Query.h" #include "Result.h" -#include "Logger.h" -#include "playlist/PlayableItem.h" #include "Source.h" +#include "ImageRegistry.h" +#include "Logger.h" #include #include @@ -402,58 +403,46 @@ QPixmap defaultPixmap( ImageType type, ImageMode mode, const QSize& size ) { QPixmap pixmap; - QHash< int, QPixmap > subsubcache; - QHash< int, QHash< int, QPixmap > > subcache; - static QHash< int, QHash< int, QHash< int, QPixmap > > > cache; - - if ( cache.contains( type ) ) - { - subcache = cache.value( type ); - - if ( subcache.contains( mode ) ) - { - subsubcache = subcache.value( mode ); - - if ( subsubcache.contains( size.width() ) ) - return subsubcache.value( size.width() ); - } - } switch ( type ) { case DefaultAlbumCover: if ( mode == CoverInCase ) - pixmap = QPixmap( RESPATH "images/no-album-art-placeholder.png" ); + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/no-album-art-placeholder.png", size ); else if ( mode == Grid ) - pixmap = QPixmap( RESPATH "images/album-placeholder-grid.png" ); + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/album-placeholder-grid.png", size ); else - pixmap = QPixmap( RESPATH "images/no-album-no-case.png" ); + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/no-album-no-case.png", size ); break; case DefaultArtistImage: if ( mode == Grid ) - pixmap = QPixmap( RESPATH "images/artist-placeholder-grid.png" ); + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/artist-placeholder-grid.png", size ); else - pixmap = QPixmap( RESPATH "images/no-artist-image-placeholder.png" ); + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/no-artist-image-placeholder.png", size ); break; case DefaultTrackImage: - pixmap = QPixmap( RESPATH "images/track-placeholder.png" ); + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/track-placeholder.png", size ); break; case DefaultSourceAvatar: if ( mode == RoundedCorners ) - pixmap = TomahawkUtils::createRoundedImage( QPixmap( RESPATH "images/user-avatar.png" ), size ); + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/user-avatar.png", size, TomahawkUtils::RoundedCorners ); else - pixmap = QPixmap( RESPATH "images/user-avatar.png" ); + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/user-avatar.png", size ); break; case NowPlayingSpeaker: - pixmap = QPixmap( RESPATH "images/now-playing-speaker.png" ); + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/now-playing-speaker.png", size ); + break; + + case NowPlayingSpeakerDark: + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/now-playing-speaker-dark.png", size ); break; case InfoIcon: - pixmap = QPixmap( RESPATH "images/info.png" ); + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/info.png", size ); default: break; @@ -465,13 +454,6 @@ defaultPixmap( ImageType type, ImageMode mode, const QSize& size ) return QPixmap(); } - if ( !size.isNull() ) - pixmap = pixmap.scaled( size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation ); - - subsubcache.insert( size.width(), pixmap ); - subcache.insert( mode, subsubcache ); - cache.insert( type, subcache ); - return pixmap; } diff --git a/src/libtomahawk/widgets/WelcomeWidget.h b/src/libtomahawk/widgets/WelcomeWidget.h index 5083a8c95..984884be5 100644 --- a/src/libtomahawk/widgets/WelcomeWidget.h +++ b/src/libtomahawk/widgets/WelcomeWidget.h @@ -54,7 +54,7 @@ public: m_playlistIcon = QPixmap( RESPATH "images/playlist-icon.png" ); m_autoIcon = QPixmap( RESPATH "images/automatic-playlist.png" ); m_stationIcon = QPixmap( RESPATH "images/station.png" ); - m_defaultAvatar = TomahawkUtils::createRoundedImage( QPixmap( RESPATH "images/user-avatar.png" ), QSize( 0, 0 ) ); + m_defaultAvatar = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultSourceAvatar, TomahawkUtils::RoundedCorners ); } protected: diff --git a/src/sourcetree/SourceDelegate.cpp b/src/sourcetree/SourceDelegate.cpp index f30c09be6..c6efebdc6 100644 --- a/src/sourcetree/SourceDelegate.cpp +++ b/src/sourcetree/SourceDelegate.cpp @@ -72,8 +72,6 @@ SourceDelegate::SourceDelegate( QAbstractItemView* parent ) m_headphonesOn.load( RESPATH "images/headphones-sidebar.png" ); m_realtimeLocked.load( RESPATH "images/closed-padlock.png" ); m_realtimeUnlocked.load( RESPATH "images/open-padlock.png" ); - m_nowPlayingSpeaker.load( RESPATH "images/now-playing-speaker.png" ); - m_nowPlayingSpeakerDark.load( RESPATH "images/now-playing-speaker-dark.png" ); m_collaborativeOn.load( RESPATH "images/green-dot.png" ); } @@ -149,8 +147,10 @@ SourceDelegate::paintDecorations( QPainter* painter, const QStyleOptionViewItem& } QRect iconRect = QRect( 4, option.rect.y() + 2, iconW, iconW ); - QPixmap speaker = option.state & QStyle::State_Selected ? m_nowPlayingSpeaker : m_nowPlayingSpeakerDark; - speaker = speaker.scaledToHeight( iconW, Qt::SmoothTransformation ); + QPixmap speaker = option.state & QStyle::State_Selected ? + TomahawkUtils::defaultPixmap( TomahawkUtils::NowPlayingSpeaker, TomahawkUtils::Original, iconRect.size() ) : + TomahawkUtils::defaultPixmap( TomahawkUtils::NowPlayingSpeakerDark, TomahawkUtils::Original, iconRect.size() ); + painter->drawPixmap( iconRect, speaker ); } } diff --git a/src/sourcetree/SourceDelegate.h b/src/sourcetree/SourceDelegate.h index 62881e520..dd7c16609 100644 --- a/src/sourcetree/SourceDelegate.h +++ b/src/sourcetree/SourceDelegate.h @@ -72,7 +72,7 @@ private: QMimeData* m_dropMimeData; mutable SourceTreeItem::DropType m_hoveredDropType; // Hack to keep easily track of the current highlighted DropType in paint() QMap< QModelIndex, AnimationHelper* > m_expandedMap; - QPixmap m_headphonesOn, m_headphonesOff, m_realtimeLocked, m_realtimeUnlocked, m_nowPlayingSpeaker, m_nowPlayingSpeakerDark, m_collaborativeOn; + QPixmap m_headphonesOn, m_headphonesOff, m_realtimeLocked, m_realtimeUnlocked, m_collaborativeOn; qint64 m_lastClicked; QMap< int, SourceTreeItem::DropType > m_dropTypeMap; QMap< int, QString > m_dropTypeTextMap; diff --git a/src/sourcetree/items/SourceItem.cpp b/src/sourcetree/items/SourceItem.cpp index c848793b9..62e6adfc4 100644 --- a/src/sourcetree/items/SourceItem.cpp +++ b/src/sourcetree/items/SourceItem.cpp @@ -25,16 +25,17 @@ #include "Playlist.h" #include "GenericPageItems.h" #include "LovedTracksItem.h" -#include "utils/TomahawkUtilsGui.h" -#include "utils/Logger.h" +#include "Source.h" +#include "SourceList.h" #include "widgets/SocialPlaylistWidget.h" #include "playlist/FlexibleView.h" #include "playlist/PlaylistView.h" #include "playlist/RecentlyAddedModel.h" #include "playlist/RecentlyPlayedModel.h" #include "playlist/PlaylistLargeItemDelegate.h" -#include "Source.h" -#include "SourceList.h" +#include "utils/ImageRegistry.h" +#include "utils/TomahawkUtilsGui.h" +#include "utils/Logger.h" /// SourceItem @@ -104,8 +105,6 @@ SourceItem::SourceItem( SourcesModel* mdl, SourceTreeItem* parent, const Tomahaw /* if ( ViewManager::instance()->pageForCollection( source->collection() ) ) model()->linkSourceItemToPage( this, ViewManager::instance()->pageForCollection( source->collection() ) );*/ - m_defaultAvatar = TomahawkUtils::createRoundedImage( QPixmap( RESPATH "images/user-avatar.png" ), QSize( 0, 0 ) ); - // load auto playlists and stations! connect( source.data(), SIGNAL( stats( QVariantMap ) ), SIGNAL( updated() ) ); @@ -204,7 +203,7 @@ SourceItem::pixmap( const QSize& size ) const else { if ( m_source->avatar().isNull() ) - return m_defaultAvatar; + return TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultSourceAvatar, TomahawkUtils::RoundedCorners ); else return m_source->avatar( TomahawkUtils::RoundedCorners, size ); } diff --git a/src/sourcetree/items/SourceItem.h b/src/sourcetree/items/SourceItem.h index 691ddf656..a61ee7c90 100644 --- a/src/sourcetree/items/SourceItem.h +++ b/src/sourcetree/items/SourceItem.h @@ -92,7 +92,7 @@ private: void playlistDeletedInternal( SourceTreeItem* parent, const T& playlists ); Tomahawk::source_ptr m_source; - QPixmap m_superCol, m_defaultAvatar; + QPixmap m_superCol; CategoryItem* m_playlists; CategoryItem* m_stations; From e7f6ebd28d19f78183065ae9e3ec0dd76126a163 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 20:10:40 +0100 Subject: [PATCH 039/332] * No play.svg needed. --- data/images/play.svg | 35 ----------------------------------- 1 file changed, 35 deletions(-) delete mode 100644 data/images/play.svg diff --git a/data/images/play.svg b/data/images/play.svg deleted file mode 100644 index 6e6448b02..000000000 --- a/data/images/play.svg +++ /dev/null @@ -1,35 +0,0 @@ - - - play - Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From d7b6e6d1a59fa422f3117a216604754d67b49186 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 14:38:17 -0500 Subject: [PATCH 040/332] Fix some upside down SVGs, add some and remove some --- data/images/close.svg | 63 +++++++++++++++++++----- data/images/collection.svg | 83 +++++++++++++++++++++++--------- data/images/delete.svg | 66 ++++++++++++++++++++----- data/images/pause-pressed.svg | 50 +++++-------------- data/images/playlist.svg | 77 +++++++++++++++++++++-------- data/images/resolver-default.svg | 56 +++++++++++++++++++++ data/images/subscribe-off.svg | 59 +++++++++++++++++++---- data/images/subscribe-on.svg | 59 +++++++++++++++++++---- 8 files changed, 390 insertions(+), 123 deletions(-) create mode 100644 data/images/resolver-default.svg diff --git a/data/images/close.svg b/data/images/close.svg index d77d211f3..0558bcdff 100644 --- a/data/images/close.svg +++ b/data/images/close.svg @@ -1,12 +1,53 @@ - - close - Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - - \ No newline at end of file + + +image/svg+xml \ No newline at end of file diff --git a/data/images/collection.svg b/data/images/collection.svg index 1ab9eb581..b2efdfe41 100644 --- a/data/images/collection.svg +++ b/data/images/collection.svg @@ -1,23 +1,62 @@ - - collection - Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + +image/svg+xml \ No newline at end of file diff --git a/data/images/delete.svg b/data/images/delete.svg index ec8a35bda..3c82f6f7d 100644 --- a/data/images/delete.svg +++ b/data/images/delete.svg @@ -1,13 +1,55 @@ - - delete - Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - - - \ No newline at end of file + + +image/svg+xml \ No newline at end of file diff --git a/data/images/pause-pressed.svg b/data/images/pause-pressed.svg index 627d69632..2ddb21698 100644 --- a/data/images/pause-pressed.svg +++ b/data/images/pause-pressed.svg @@ -1,46 +1,18 @@ - - pause - pressed + + pause-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - + + + + + + \ No newline at end of file diff --git a/data/images/playlist.svg b/data/images/playlist.svg index 3e45a3e1f..508536c10 100644 --- a/data/images/playlist.svg +++ b/data/images/playlist.svg @@ -1,20 +1,59 @@ - - playlist - Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - - - - - - - - - - \ No newline at end of file + + +image/svg+xml \ No newline at end of file diff --git a/data/images/resolver-default.svg b/data/images/resolver-default.svg new file mode 100644 index 000000000..038fd13fc --- /dev/null +++ b/data/images/resolver-default.svg @@ -0,0 +1,56 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/data/images/subscribe-off.svg b/data/images/subscribe-off.svg index 61a3dffe7..8b98cacb6 100644 --- a/data/images/subscribe-off.svg +++ b/data/images/subscribe-off.svg @@ -1,11 +1,50 @@ - - subscribe-off - Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - \ No newline at end of file + + +image/svg+xml \ No newline at end of file diff --git a/data/images/subscribe-on.svg b/data/images/subscribe-on.svg index 677a0c0ce..fedf6fd4d 100644 --- a/data/images/subscribe-on.svg +++ b/data/images/subscribe-on.svg @@ -1,11 +1,50 @@ - - subscribe-on - Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - \ No newline at end of file + + +image/svg+xml \ No newline at end of file From fc8780d0202700142211927ca14c4bb65dbb1d18 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 14:55:41 -0500 Subject: [PATCH 041/332] Add previous and next button states as SVGs --- data/images/back-pressed.svg | 15 +++++++++++++++ data/images/back-rest.svg | 15 +++++++++++++++ data/images/skip-pressed.svg | 15 +++++++++++++++ data/images/skip-rest.svg | 15 +++++++++++++++ 4 files changed, 60 insertions(+) create mode 100644 data/images/back-pressed.svg create mode 100644 data/images/back-rest.svg create mode 100644 data/images/skip-pressed.svg create mode 100644 data/images/skip-rest.svg diff --git a/data/images/back-pressed.svg b/data/images/back-pressed.svg new file mode 100644 index 000000000..df395ea37 --- /dev/null +++ b/data/images/back-pressed.svg @@ -0,0 +1,15 @@ + + + back-pressed + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/back-rest.svg b/data/images/back-rest.svg new file mode 100644 index 000000000..e000d8459 --- /dev/null +++ b/data/images/back-rest.svg @@ -0,0 +1,15 @@ + + + back-rest + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/skip-pressed.svg b/data/images/skip-pressed.svg new file mode 100644 index 000000000..e520ccf28 --- /dev/null +++ b/data/images/skip-pressed.svg @@ -0,0 +1,15 @@ + + + skip-pressed + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/skip-rest.svg b/data/images/skip-rest.svg new file mode 100644 index 000000000..2029bdf75 --- /dev/null +++ b/data/images/skip-rest.svg @@ -0,0 +1,15 @@ + + + skip-rest + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + \ No newline at end of file From 68d2bf96372db2cd0908dba84ed5a2a1d8c34ce5 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 15:01:15 -0500 Subject: [PATCH 042/332] Add view-refresh.svg --- data/images/view-refresh.svg | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 data/images/view-refresh.svg diff --git a/data/images/view-refresh.svg b/data/images/view-refresh.svg new file mode 100644 index 000000000..cebe65781 --- /dev/null +++ b/data/images/view-refresh.svg @@ -0,0 +1,9 @@ + + + view-refresh + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file From aee9ef58f40b72d623e8b54f3749de8b2b229276 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Tue, 4 Dec 2012 20:37:35 +0100 Subject: [PATCH 043/332] Attempt to fix popup borders on Windows. --- src/widgets/AccountsPopupWidget.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/widgets/AccountsPopupWidget.cpp b/src/widgets/AccountsPopupWidget.cpp index efb6014c8..a658787cc 100644 --- a/src/widgets/AccountsPopupWidget.cpp +++ b/src/widgets/AccountsPopupWidget.cpp @@ -35,15 +35,15 @@ AccountsPopupWidget::AccountsPopupWidget( QWidget* parent ) , m_widget( 0 ) , m_arrowOffset( 0 ) { -#ifndef Q_OS_WIN setWindowFlags( Qt::FramelessWindowHint ); -#endif setWindowFlags( Qt::Popup ); //Uncomment this if using a debugger: //setWindowFlags( Qt::Window ); setAutoFillBackground( false ); setAttribute( Qt::WA_TranslucentBackground, true ); + setAttribute( Qt::WA_NoSystemBackground, true ); + setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Minimum ); From d9f7903335d76ae95e424dc91d0892d720a3e11d Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 15:07:32 -0500 Subject: [PATCH 044/332] SVG of placeholder avatar. WIP. --- data/images/user-avatar.svg | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 data/images/user-avatar.svg diff --git a/data/images/user-avatar.svg b/data/images/user-avatar.svg new file mode 100644 index 000000000..6b745dd9e --- /dev/null +++ b/data/images/user-avatar.svg @@ -0,0 +1,14 @@ + + + user-avatar + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file From 748f7121ff5e5f68453ea05701c55cb86ffb1aca Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 20:48:53 +0100 Subject: [PATCH 045/332] * Removed next.svg and prev.svg. --- data/images/next.svg | 57 -------------------------------------------- data/images/prev.svg | 57 -------------------------------------------- 2 files changed, 114 deletions(-) delete mode 100644 data/images/next.svg delete mode 100644 data/images/prev.svg diff --git a/data/images/next.svg b/data/images/next.svg deleted file mode 100644 index 1cc396130..000000000 --- a/data/images/next.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - next - Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/data/images/prev.svg b/data/images/prev.svg deleted file mode 100644 index 5583881ad..000000000 --- a/data/images/prev.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - prev - Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 93e3d6644c9d1510adeea31bab27433177699f44 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 21:06:38 +0100 Subject: [PATCH 046/332] * Added audio control svgs. --- resources.qrc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/resources.qrc b/resources.qrc index e87df1901..37192e821 100644 --- a/resources.qrc +++ b/resources.qrc @@ -2,6 +2,8 @@ data/images/back-pressed.png data/images/back-rest.png + data/images/back-pressed.svg + data/images/back-rest.svg data/images/filter.png data/images/loved.png data/images/not-loved.png @@ -15,8 +17,12 @@ data/images/now-playing-speaker-dark.png data/images/pause-pressed.png data/images/pause-rest.png + data/images/pause-pressed.svg + data/images/pause-rest.svg data/images/play-pressed.png + data/images/play-pressed.svg data/images/play-rest.png + data/images/play-rest.svg data/images/sipplugin-add.png data/images/sipplugin-remove.png data/images/playlist-icon.png @@ -37,6 +43,8 @@ data/images/shuffle-on-rest.png data/images/skip-pressed.png data/images/skip-rest.png + data/images/skip-pressed.svg + data/images/skip-rest.svg data/images/user-avatar.png data/images/view-toggle-active-centre.png data/images/view-toggle-active-left.png From d9c8ef9273c439d6c2e2bdad23a3c3a56aa50003 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 21:07:03 +0100 Subject: [PATCH 047/332] * ImageRegistry supports rendering SVGs now. --- src/libtomahawk/utils/ImageRegistry.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/libtomahawk/utils/ImageRegistry.cpp b/src/libtomahawk/utils/ImageRegistry.cpp index b8a4c21cb..288789980 100644 --- a/src/libtomahawk/utils/ImageRegistry.cpp +++ b/src/libtomahawk/utils/ImageRegistry.cpp @@ -17,6 +17,9 @@ #include "ImageRegistry.h" +#include +#include + #include "utils/Logger.h" static QHash< QString, QHash< int, QHash< int, QPixmap > > > s_cache; @@ -58,7 +61,21 @@ ImageRegistry::getFromCache( const QString& image, const QSize& size, TomahawkUt } // Image not found in cache. Let's load it. - QPixmap pixmap( image ); + QPixmap pixmap; + if ( image.toLower().endsWith( ".svg" ) ) + { + QSvgRenderer svgRenderer( image ); + QPixmap p( size.isNull() ? svgRenderer.defaultSize() : size ); + p.fill( Qt::transparent ); + + QPainter pixPainter( &p ); + svgRenderer.render( &pixPainter ); + + pixmap = p; + } + else + pixmap = QPixmap( image ); + if ( !pixmap.isNull() ) { switch ( mode ) From 6236959ad4e6c816c11357b437f6eb5d87dcfe68 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 21:07:22 +0100 Subject: [PATCH 048/332] * Enable SVG support in CMakeLists.txt. --- src/libtomahawk/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libtomahawk/CMakeLists.txt b/src/libtomahawk/CMakeLists.txt index 46091741f..7db019b14 100644 --- a/src/libtomahawk/CMakeLists.txt +++ b/src/libtomahawk/CMakeLists.txt @@ -4,6 +4,7 @@ SET( QT_USE_QTGUI TRUE ) SET( QT_USE_QTSQL TRUE ) SET( QT_USE_QTNETWORK TRUE ) SET( QT_USE_QTXML TRUE ) +SET( QT_USE_QTSVG TRUE ) SET( QT_USE_QTUITOOLS TRUE ) IF( UNIX AND NOT APPLE ) @@ -469,6 +470,7 @@ TARGET_LINK_LIBRARIES( tomahawklib ${QT_QTSCRIPT_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTXML_LIBRARY} + ${QT_QTSVG_LIBRARY} ${QT_QTCORE_LIBRARY} ${OS_SPECIFIC_LINK_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} From 005985a742d7c5dccd6d8f830ca675cd17d86436 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 21:07:51 +0100 Subject: [PATCH 049/332] * Support a few more default images in TomahawkUtils::defaultPixmap(). --- src/libtomahawk/utils/TomahawkUtils.h | 10 +++++++- src/libtomahawk/utils/TomahawkUtilsGui.cpp | 29 ++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/src/libtomahawk/utils/TomahawkUtils.h b/src/libtomahawk/utils/TomahawkUtils.h index fd4814de4..363d5b056 100644 --- a/src/libtomahawk/utils/TomahawkUtils.h +++ b/src/libtomahawk/utils/TomahawkUtils.h @@ -50,7 +50,15 @@ namespace TomahawkUtils DefaultSourceAvatar, NowPlayingSpeaker, NowPlayingSpeakerDark, - InfoIcon + InfoIcon, + PlayButton, + PlayButtonPressed, + PauseButton, + PauseButtonPressed, + PrevButton, + PrevButtonPressed, + NextButton, + NextButtonPressed }; enum ImageMode diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.cpp b/src/libtomahawk/utils/TomahawkUtilsGui.cpp index 166f8ef4d..cd36461eb 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.cpp +++ b/src/libtomahawk/utils/TomahawkUtilsGui.cpp @@ -443,6 +443,35 @@ defaultPixmap( ImageType type, ImageMode mode, const QSize& size ) case InfoIcon: pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/info.png", size ); + break; + + case PlayButton: + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/play-rest.svg", size ); + break; + case PlayButtonPressed: + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/play-pressed.svg", size ); + break; + + case PauseButton: + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/pause-rest.svg", size ); + break; + case PauseButtonPressed: + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/pause-pressed.svg", size ); + break; + + case PrevButton: + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/back-rest.svg", size ); + break; + case PrevButtonPressed: + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/back-pressed.svg", size ); + break; + + case NextButton: + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/skip-rest.svg", size ); + break; + case NextButtonPressed: + pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/skip-pressed.svg", size ); + break; default: break; From 95027ad4672bf51e4ca4f70fc38be6804a2ee3e4 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 21:08:14 +0100 Subject: [PATCH 050/332] * AudioControls now use new default images. --- src/AudioControls.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/AudioControls.cpp b/src/AudioControls.cpp index a7c9fef97..71b510bda 100644 --- a/src/AudioControls.cpp +++ b/src/AudioControls.cpp @@ -72,14 +72,14 @@ AudioControls::AudioControls( QWidget* parent ) m_defaultSourceIcon = QPixmap( RESPATH "images/resolver-default.png" ); - ui->prevButton->setPixmap( RESPATH "images/back-rest.png" ); - ui->prevButton->setPixmap( RESPATH "images/back-pressed.png", QIcon::Off, QIcon::Active ); - ui->playPauseButton->setPixmap( RESPATH "images/play-rest.png" ); - ui->playPauseButton->setPixmap( RESPATH "images/play-pressed.png", QIcon::Off, QIcon::Active ); - ui->pauseButton->setPixmap( RESPATH "images/pause-rest.png" ); - ui->pauseButton->setPixmap( RESPATH "images/pause-pressed.png", QIcon::Off, QIcon::Active ); - ui->nextButton->setPixmap( RESPATH "images/skip-rest.png" ); - ui->nextButton->setPixmap( RESPATH "images/skip-pressed.png", QIcon::Off, QIcon::Active ); + ui->prevButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PrevButton, TomahawkUtils::Original, QSize( 35, 35 ) ) ); + ui->prevButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PrevButtonPressed, TomahawkUtils::Original, QSize( 35, 35 ) ), QIcon::Off, QIcon::Active ); + ui->playPauseButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PlayButton, TomahawkUtils::Original, QSize( 46, 46 ) ) ); + ui->playPauseButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PlayButtonPressed, TomahawkUtils::Original, QSize( 46, 46 ) ), QIcon::Off, QIcon::Active ); + ui->pauseButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PauseButton, TomahawkUtils::Original, QSize( 46, 46 ) ) ); + ui->pauseButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PauseButtonPressed, TomahawkUtils::Original, QSize( 46, 46 ) ), QIcon::Off, QIcon::Active ); + ui->nextButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::NextButton, TomahawkUtils::Original, QSize( 35, 35 ) ) ); + ui->nextButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::NextButtonPressed, TomahawkUtils::Original, QSize( 35, 35 ) ), QIcon::Off, QIcon::Active ); ui->shuffleButton->setPixmap( RESPATH "images/shuffle-off-rest.png" ); ui->shuffleButton->setPixmap( RESPATH "images/shuffle-off-pressed.png", QIcon::Off, QIcon::Active ); ui->repeatButton->setPixmap( RESPATH "images/repeat-off-rest.png" ); From b781ec6a8cf5fa1ec434e9c726ea47e18da5b745 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 21:26:27 +0100 Subject: [PATCH 051/332] * Ship SVG library on Windows. --- CMakeModules/NSIS.template.in | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeModules/NSIS.template.in b/CMakeModules/NSIS.template.in index f3db07863..020063ffa 100644 --- a/CMakeModules/NSIS.template.in +++ b/CMakeModules/NSIS.template.in @@ -309,6 +309,7 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER File "${QT_DLL_PATH}\QtUiTools4.dll" File "${QT_DLL_PATH}\QtWebKit4.dll" File "${QT_DLL_PATH}\QtXml4.dll" + File "${QT_DLL_PATH}\QtSvg4.dll" ;SQLite driver SetOutPath "$INSTDIR\sqldrivers" From 70043c79112d3246f110363ea4af5754fe2f020d Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 21:29:16 +0100 Subject: [PATCH 052/332] * Ship SVG imageformats plugin on OSX and Windows. --- CMakeModules/NSIS.template.in | 1 + admin/mac/macdeploy.py | 1 + 2 files changed, 2 insertions(+) diff --git a/CMakeModules/NSIS.template.in b/CMakeModules/NSIS.template.in index 020063ffa..6c99ad1ea 100644 --- a/CMakeModules/NSIS.template.in +++ b/CMakeModules/NSIS.template.in @@ -320,6 +320,7 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER SetOutPath "$INSTDIR\imageformats" File "${IMAGEFORMATS_DLL_PATH}\qgif4.dll" File "${IMAGEFORMATS_DLL_PATH}\qjpeg4.dll" + File "${IMAGEFORMATS_DLL_PATH}\qsvg4.dll" SetOutPath "$INSTDIR" ;Cygwin/c++ stuff diff --git a/admin/mac/macdeploy.py b/admin/mac/macdeploy.py index 144f46692..888b8b8ca 100755 --- a/admin/mac/macdeploy.py +++ b/admin/mac/macdeploy.py @@ -195,6 +195,7 @@ QT_PLUGINS = [ 'imageformats/libqgif.dylib', 'imageformats/libqico.dylib', 'imageformats/libqjpeg.dylib', + 'imageformats/libqsvg.dylib', 'imageformats/libqmng.dylib', ] From 0c65521d443c8f5fb95d42310b89d19ac98bb70b Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 15:57:44 -0500 Subject: [PATCH 053/332] Sliders and scrollbars. They may be a bit rough. --- data/images/scrollbar-horizontal-handle.svg | 9 +++++++++ data/images/scrollbar-vertical-handle.svg | 9 +++++++++ data/images/seek-slider-bkg.svg | 9 +++++++++ data/images/seek-slider-level.svg | 9 +++++++++ 4 files changed, 36 insertions(+) create mode 100644 data/images/scrollbar-horizontal-handle.svg create mode 100644 data/images/scrollbar-vertical-handle.svg create mode 100644 data/images/seek-slider-bkg.svg create mode 100644 data/images/seek-slider-level.svg diff --git a/data/images/scrollbar-horizontal-handle.svg b/data/images/scrollbar-horizontal-handle.svg new file mode 100644 index 000000000..4da9ffa35 --- /dev/null +++ b/data/images/scrollbar-horizontal-handle.svg @@ -0,0 +1,9 @@ + + + scrollbar-horizontal-handle + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/scrollbar-vertical-handle.svg b/data/images/scrollbar-vertical-handle.svg new file mode 100644 index 000000000..f28055ae6 --- /dev/null +++ b/data/images/scrollbar-vertical-handle.svg @@ -0,0 +1,9 @@ + + + scrollbar-vertical-handle + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/seek-slider-bkg.svg b/data/images/seek-slider-bkg.svg new file mode 100644 index 000000000..4e8e90c9b --- /dev/null +++ b/data/images/seek-slider-bkg.svg @@ -0,0 +1,9 @@ + + + seek-slider-bkg + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/seek-slider-level.svg b/data/images/seek-slider-level.svg new file mode 100644 index 000000000..a5ea0ad15 --- /dev/null +++ b/data/images/seek-slider-level.svg @@ -0,0 +1,9 @@ + + + seek-slider-level + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file From 577e4228e41e6456c87c08264e4339036b8233b2 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 22:26:40 +0100 Subject: [PATCH 054/332] * Use SVG images in GridItemDelegate and PlayableCover. --- src/libtomahawk/playlist/GridItemDelegate.cpp | 8 ++++---- src/libtomahawk/widgets/PlayableCover.cpp | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/libtomahawk/playlist/GridItemDelegate.cpp b/src/libtomahawk/playlist/GridItemDelegate.cpp index 914475b90..992f66c93 100644 --- a/src/libtomahawk/playlist/GridItemDelegate.cpp +++ b/src/libtomahawk/playlist/GridItemDelegate.cpp @@ -320,8 +320,8 @@ GridItemDelegate::editorEvent( QEvent* event, QAbstractItemModel* model, const Q m_playButton.clear(); ImageButton* button = new ImageButton( m_view ); - button->setPixmap( RESPATH "images/play-rest.png" ); - button->setPixmap( RESPATH "images/play-pressed.png", QIcon::Off, QIcon::Active ); + button->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PlayButton, TomahawkUtils::Original, QSize( 48, 48 ) ) ); + button->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PlayButtonPressed, TomahawkUtils::Original, QSize( 48, 48 ) ), QIcon::Off, QIcon::Active ); button->setFixedSize( 48, 48 ); button->move( option.rect.center() - QPoint( 23, 23 ) ); button->setContentsMargins( 0, 0, 0, 0 ); @@ -534,8 +534,8 @@ GridItemDelegate::onPlaybackStarted( const QPersistentModelIndex& index ) m_spinner.clear(); ImageButton* button = new ImageButton( m_view ); - button->setPixmap( RESPATH "images/pause-rest.png" ); - button->setPixmap( RESPATH "images/pause-pressed.png", QIcon::Off, QIcon::Active ); + button->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PauseButton, TomahawkUtils::Original, QSize( 48, 48 ) ) ); + button->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PauseButtonPressed, TomahawkUtils::Original, QSize( 48, 48 ) ), QIcon::Off, QIcon::Active ); button->setFixedSize( 48, 48 ); button->move( pos ); button->setContentsMargins( 0, 0, 0, 0 ); diff --git a/src/libtomahawk/widgets/PlayableCover.cpp b/src/libtomahawk/widgets/PlayableCover.cpp index ea042384d..20cbfd47c 100644 --- a/src/libtomahawk/widgets/PlayableCover.cpp +++ b/src/libtomahawk/widgets/PlayableCover.cpp @@ -20,7 +20,7 @@ #include "audio/AudioEngine.h" #include "widgets/ImageButton.h" -#include "utils/TomahawkUtils.h" +#include "utils/TomahawkUtilsGui.h" #include "utils/Logger.h" #include @@ -32,8 +32,8 @@ PlayableCover::PlayableCover( QWidget* parent ) setMouseTracking( true ); m_button = new ImageButton( this ); - m_button->setPixmap( RESPATH "images/play-rest.png" ); - m_button->setPixmap( RESPATH "images/play-pressed.png", QIcon::Off, QIcon::Active ); + m_button->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PlayButton, TomahawkUtils::Original, QSize( 48, 48 ) ) ); + m_button->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PlayButtonPressed, TomahawkUtils::Original, QSize( 48, 48 ) ), QIcon::Off, QIcon::Active ); m_button->setFixedSize( 48, 48 ); m_button->setContentsMargins( 0, 0, 0, 0 ); m_button->setFocusPolicy( Qt::NoFocus ); From 10e7ea105737bcfaa295c270492e53de4e22b178 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 4 Dec 2012 22:26:55 +0100 Subject: [PATCH 055/332] * Unified play / pause button size. --- src/AudioControls.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/AudioControls.cpp b/src/AudioControls.cpp index 71b510bda..eb7a04f43 100644 --- a/src/AudioControls.cpp +++ b/src/AudioControls.cpp @@ -74,10 +74,10 @@ AudioControls::AudioControls( QWidget* parent ) ui->prevButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PrevButton, TomahawkUtils::Original, QSize( 35, 35 ) ) ); ui->prevButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PrevButtonPressed, TomahawkUtils::Original, QSize( 35, 35 ) ), QIcon::Off, QIcon::Active ); - ui->playPauseButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PlayButton, TomahawkUtils::Original, QSize( 46, 46 ) ) ); - ui->playPauseButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PlayButtonPressed, TomahawkUtils::Original, QSize( 46, 46 ) ), QIcon::Off, QIcon::Active ); - ui->pauseButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PauseButton, TomahawkUtils::Original, QSize( 46, 46 ) ) ); - ui->pauseButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PauseButtonPressed, TomahawkUtils::Original, QSize( 46, 46 ) ), QIcon::Off, QIcon::Active ); + ui->playPauseButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PlayButton, TomahawkUtils::Original, QSize( 48, 48 ) ) ); + ui->playPauseButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PlayButtonPressed, TomahawkUtils::Original, QSize( 48, 48 ) ), QIcon::Off, QIcon::Active ); + ui->pauseButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PauseButton, TomahawkUtils::Original, QSize( 48, 48 ) ) ); + ui->pauseButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PauseButtonPressed, TomahawkUtils::Original, QSize( 48, 48 ) ), QIcon::Off, QIcon::Active ); ui->nextButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::NextButton, TomahawkUtils::Original, QSize( 35, 35 ) ) ); ui->nextButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::NextButtonPressed, TomahawkUtils::Original, QSize( 35, 35 ) ), QIcon::Off, QIcon::Active ); ui->shuffleButton->setPixmap( RESPATH "images/shuffle-off-rest.png" ); From d4a779a1f14e87bda2f70fb20c1b6695048397a3 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 16:41:11 -0500 Subject: [PATCH 056/332] Add more SVGs --- data/images/lastfm-settings.svg | 53 ++++++++++++++++++++++++ data/images/no-album-art-placeholder.svg | 12 ++++++ data/images/no-album-no-case.svg | 11 +++++ data/images/repeat-all-on-rest.svg | 12 ++++++ 4 files changed, 88 insertions(+) create mode 100644 data/images/lastfm-settings.svg create mode 100644 data/images/no-album-art-placeholder.svg create mode 100644 data/images/no-album-no-case.svg create mode 100644 data/images/repeat-all-on-rest.svg diff --git a/data/images/lastfm-settings.svg b/data/images/lastfm-settings.svg new file mode 100644 index 000000000..802f7821c --- /dev/null +++ b/data/images/lastfm-settings.svg @@ -0,0 +1,53 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/data/images/no-album-art-placeholder.svg b/data/images/no-album-art-placeholder.svg new file mode 100644 index 000000000..eac712af8 --- /dev/null +++ b/data/images/no-album-art-placeholder.svg @@ -0,0 +1,12 @@ + + + no-album-art-placeholder + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/no-album-no-case.svg b/data/images/no-album-no-case.svg new file mode 100644 index 000000000..4907d1d10 --- /dev/null +++ b/data/images/no-album-no-case.svg @@ -0,0 +1,11 @@ + + + no-album-no-case + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + \ No newline at end of file diff --git a/data/images/repeat-all-on-rest.svg b/data/images/repeat-all-on-rest.svg new file mode 100644 index 000000000..75d155c14 --- /dev/null +++ b/data/images/repeat-all-on-rest.svg @@ -0,0 +1,12 @@ + + + repeat-all-on-rest + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file From 672085c6ec6b1038453f663cc073cdccd4fb136b Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 16:55:17 -0500 Subject: [PATCH 057/332] Add more and make Shuffle same dimensions as Repeat --- data/images/loved_playlist.svg | 9 +++++++++ data/images/shuffle-off-pressed.svg | 8 ++++---- data/images/shuffle-off-rest.svg | 8 ++++---- data/images/shuffle-on-pressed.svg | 8 ++++---- data/images/shuffle-on-rest.svg | 8 ++++---- 5 files changed, 25 insertions(+), 16 deletions(-) create mode 100644 data/images/loved_playlist.svg diff --git a/data/images/loved_playlist.svg b/data/images/loved_playlist.svg new file mode 100644 index 000000000..b9e84a623 --- /dev/null +++ b/data/images/loved_playlist.svg @@ -0,0 +1,9 @@ + + + loved_playlist + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/shuffle-off-pressed.svg b/data/images/shuffle-off-pressed.svg index 5ea2288a9..ab5d146e1 100644 --- a/data/images/shuffle-off-pressed.svg +++ b/data/images/shuffle-off-pressed.svg @@ -1,13 +1,13 @@ - + shuffle-off-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + \ No newline at end of file diff --git a/data/images/shuffle-off-rest.svg b/data/images/shuffle-off-rest.svg index 76713def5..46fba9c3e 100644 --- a/data/images/shuffle-off-rest.svg +++ b/data/images/shuffle-off-rest.svg @@ -1,13 +1,13 @@ - + shuffle-off-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + \ No newline at end of file diff --git a/data/images/shuffle-on-pressed.svg b/data/images/shuffle-on-pressed.svg index bbf0b356a..ce6e1ef50 100644 --- a/data/images/shuffle-on-pressed.svg +++ b/data/images/shuffle-on-pressed.svg @@ -1,13 +1,13 @@ - + shuffle-on-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + \ No newline at end of file diff --git a/data/images/shuffle-on-rest.svg b/data/images/shuffle-on-rest.svg index f1bf338d9..67b594d9f 100644 --- a/data/images/shuffle-on-rest.svg +++ b/data/images/shuffle-on-rest.svg @@ -1,13 +1,13 @@ - + shuffle-on-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + \ No newline at end of file From 1700c310357f7274baed3422a34a50cb73a64e58 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 17:02:12 -0500 Subject: [PATCH 058/332] Actually make height of Shuffle and Repeat icons the same --- data/images/shuffle-off-pressed.svg | 6 +++--- data/images/shuffle-off-rest.svg | 6 +++--- data/images/shuffle-on-pressed.svg | 6 +++--- data/images/shuffle-on-rest.svg | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/data/images/shuffle-off-pressed.svg b/data/images/shuffle-off-pressed.svg index ab5d146e1..f7271fd3c 100644 --- a/data/images/shuffle-off-pressed.svg +++ b/data/images/shuffle-off-pressed.svg @@ -5,9 +5,9 @@ - - - + + + \ No newline at end of file diff --git a/data/images/shuffle-off-rest.svg b/data/images/shuffle-off-rest.svg index 46fba9c3e..b551ba36d 100644 --- a/data/images/shuffle-off-rest.svg +++ b/data/images/shuffle-off-rest.svg @@ -5,9 +5,9 @@ - - - + + + \ No newline at end of file diff --git a/data/images/shuffle-on-pressed.svg b/data/images/shuffle-on-pressed.svg index ce6e1ef50..12bc05bb0 100644 --- a/data/images/shuffle-on-pressed.svg +++ b/data/images/shuffle-on-pressed.svg @@ -5,9 +5,9 @@ - - - + + + \ No newline at end of file diff --git a/data/images/shuffle-on-rest.svg b/data/images/shuffle-on-rest.svg index 67b594d9f..1b70ec51a 100644 --- a/data/images/shuffle-on-rest.svg +++ b/data/images/shuffle-on-rest.svg @@ -5,9 +5,9 @@ - - - + + + \ No newline at end of file From 2d2ebffa26320b6c8d37b639ed7cb435e0c6d877 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 17:46:39 -0500 Subject: [PATCH 059/332] Recreated all the Toggle buttons and icons as SVGs. May need more work. --- .../images/view-toggle-icon-artist-active.svg | 23 +++++++++++++++++++ .../view-toggle-icon-artist-inactive.svg | 23 +++++++++++++++++++ data/images/view-toggle-icon-grid-active.svg | 12 ++++++++++ .../images/view-toggle-icon-grid-inactive.svg | 12 ++++++++++ data/images/view-toggle-icon-list-active.svg | 21 +++++++++++++++++ .../images/view-toggle-icon-list-inactive.svg | 21 +++++++++++++++++ data/images/view-toggle-inactive-centre.svg | 14 +++++++++++ data/images/view-toggle-inactive-left.svg | 14 +++++++++++ data/images/view-toggle-inactive-right.svg | 14 +++++++++++ data/images/view-toggle-pressed-centre.svg | 14 +++++++++++ data/images/view-toggle-pressed-left.svg | 14 +++++++++++ data/images/view-toggle-pressed-right.svg | 14 +++++++++++ 12 files changed, 196 insertions(+) create mode 100644 data/images/view-toggle-icon-artist-active.svg create mode 100644 data/images/view-toggle-icon-artist-inactive.svg create mode 100644 data/images/view-toggle-icon-grid-active.svg create mode 100644 data/images/view-toggle-icon-grid-inactive.svg create mode 100644 data/images/view-toggle-icon-list-active.svg create mode 100644 data/images/view-toggle-icon-list-inactive.svg create mode 100644 data/images/view-toggle-inactive-centre.svg create mode 100644 data/images/view-toggle-inactive-left.svg create mode 100644 data/images/view-toggle-inactive-right.svg create mode 100644 data/images/view-toggle-pressed-centre.svg create mode 100644 data/images/view-toggle-pressed-left.svg create mode 100644 data/images/view-toggle-pressed-right.svg diff --git a/data/images/view-toggle-icon-artist-active.svg b/data/images/view-toggle-icon-artist-active.svg new file mode 100644 index 000000000..2901f1675 --- /dev/null +++ b/data/images/view-toggle-icon-artist-active.svg @@ -0,0 +1,23 @@ + + + view-toggle-icon-artist-active + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-icon-artist-inactive.svg b/data/images/view-toggle-icon-artist-inactive.svg new file mode 100644 index 000000000..0dd34ffee --- /dev/null +++ b/data/images/view-toggle-icon-artist-inactive.svg @@ -0,0 +1,23 @@ + + + view-toggle-icon-artist-inactive + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-icon-grid-active.svg b/data/images/view-toggle-icon-grid-active.svg new file mode 100644 index 000000000..5398d0d0a --- /dev/null +++ b/data/images/view-toggle-icon-grid-active.svg @@ -0,0 +1,12 @@ + + + view-toggle-icon-grid-active + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-icon-grid-inactive.svg b/data/images/view-toggle-icon-grid-inactive.svg new file mode 100644 index 000000000..5dd3dfff5 --- /dev/null +++ b/data/images/view-toggle-icon-grid-inactive.svg @@ -0,0 +1,12 @@ + + + Slice 1 + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-icon-list-active.svg b/data/images/view-toggle-icon-list-active.svg new file mode 100644 index 000000000..eeb7b1be8 --- /dev/null +++ b/data/images/view-toggle-icon-list-active.svg @@ -0,0 +1,21 @@ + + + view-toggle-icon-list-active + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-icon-list-inactive.svg b/data/images/view-toggle-icon-list-inactive.svg new file mode 100644 index 000000000..a43f1ea36 --- /dev/null +++ b/data/images/view-toggle-icon-list-inactive.svg @@ -0,0 +1,21 @@ + + + view-toggle-icon-list-inactive + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-inactive-centre.svg b/data/images/view-toggle-inactive-centre.svg new file mode 100644 index 000000000..6cce0a3df --- /dev/null +++ b/data/images/view-toggle-inactive-centre.svg @@ -0,0 +1,14 @@ + + + view-toggle-inactive-right + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-inactive-left.svg b/data/images/view-toggle-inactive-left.svg new file mode 100644 index 000000000..b9c816acd --- /dev/null +++ b/data/images/view-toggle-inactive-left.svg @@ -0,0 +1,14 @@ + + + view-toggle-inactive-left + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-inactive-right.svg b/data/images/view-toggle-inactive-right.svg new file mode 100644 index 000000000..9f7fd9395 --- /dev/null +++ b/data/images/view-toggle-inactive-right.svg @@ -0,0 +1,14 @@ + + + view-toggle-inactive-right + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-pressed-centre.svg b/data/images/view-toggle-pressed-centre.svg new file mode 100644 index 000000000..c873f7f8c --- /dev/null +++ b/data/images/view-toggle-pressed-centre.svg @@ -0,0 +1,14 @@ + + + view-toggle-pressed-center + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-pressed-left.svg b/data/images/view-toggle-pressed-left.svg new file mode 100644 index 000000000..e412c3713 --- /dev/null +++ b/data/images/view-toggle-pressed-left.svg @@ -0,0 +1,14 @@ + + + view-toggle-pressed-left + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-pressed-right.svg b/data/images/view-toggle-pressed-right.svg new file mode 100644 index 000000000..6dd1ba919 --- /dev/null +++ b/data/images/view-toggle-pressed-right.svg @@ -0,0 +1,14 @@ + + + view-toggle-pressed-right + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file From 34b524cfc9909a96156a57ee2ccbc5ae29388759 Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Wed, 5 Dec 2012 01:16:37 +0100 Subject: [PATCH 060/332] Automatic merge of Transifex translations --- lang/tomahawk_ar.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_bg.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_bn_IN.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_ca.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_de.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_el.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_en.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_es.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_fr.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_gl.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_hi_IN.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_it.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_ja.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_lt.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_pl.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_pt_BR.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_ru.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_sv.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_tr.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_zh_CN.ts | 99 +++++++++++++++++++++++------------------- lang/tomahawk_zh_TW.ts | 99 +++++++++++++++++++++++------------------- 21 files changed, 1134 insertions(+), 945 deletions(-) diff --git a/lang/tomahawk_ar.ts b/lang/tomahawk_ar.ts index 96facff3b..04d281161 100644 --- a/lang/tomahawk_ar.ts +++ b/lang/tomahawk_ar.ts @@ -1172,20 +1172,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you سمعت %1 - + played %1 by %2 %2 سمع %1 - + added %1 إضافة %1 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1840,58 +1850,58 @@ connect and stream from you? SourceItem - + Collection مجموعة - - + + Latest Additions أحدث الإضافات - + Recently Played تم الاستماع لها مؤخرا - + SuperCollection سوبر كولكشن - + Latest additions to your collection آخر إضافات على مجموعتك - + Latest additions to %1's collection آخر إضافات على مجموعة %1 - + Sorry, we could not find any recent additions! نعتذر، لم نستطيع إيجاد إضافة جديدة! - + Recently Played Tracks الأغاني التي إستمعت إليها مؤخرا - + Your recently played tracks الأغاني التي إستمعت إليها مؤخرا - + %1's recently played tracks الأغاني التي سمعها مؤخرا %1 - + Sorry, we could not find any recent plays! نعتذر، لم نستطيع إيجاد أغاني مسموعة مؤخرا! @@ -2532,8 +2542,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue أضف إلى &قائمة الانتظار @@ -2549,60 +2559,59 @@ You may wish to try re-authenticating. - + &Love &أحب - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link &نسخ رابط الأغنية - + Copy Album &Link نسخ &رابط الالبوم - + Copy Artist &Link نسخ &رابط قائمة الأغاني - + Un-&Love لا &أحب - + &Delete Items &أحذف البنود - - &Show Track Page - &أظهر صفحة الأغاني - - - + Properties... خصائص... - + &Delete Item &أحذف البند - - - &Show Album Page - &أظهر صفحة الألبومات - - - - &Show Artist Page - &أظهر صفحة الفنان - Tomahawk::DropJobNotifier @@ -3711,27 +3720,27 @@ enter the displayed PIN number here: نعتذر، لم نستطيع إيجاد أغاني قريبة من هذه الأغنية! - + You've listened to this track %n time(s). لقد استمعت إلى هذه الأغنية %n مرة.لقد استمعت إلى هذه الأغنية مرة %n.لقد استمعت إلى هذه الأغنية مرتين %n.لقد استمعت إلى هذه الأغنية %n مرات.لقد استمعت إلى هذه الأغنية %n مرات.لقد استمعت إلى هذه الأغنية %n مرات. - + You've never listened to this track before. لم تستمع لهذه الأغنية من قبل. - + You first listened to it on %1. استمعت إليها أولاً في %1. - + You've listened to %1 %n time(s). لقد استمعت إلى %1 %n مرة.لقد استمعت إلى %1 مرة %n.لقد استمعت إلى %1 مرتين %n.لقد استمعت إلى %1 %n مرات.لقد استمعت إلى %1 %n مرات.لقد استمعت إلى %1 %n مرات. - + You've never listened to %1 before. لم تستمع إلى %1 من قبل. diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index 643f3f8db..f24e2a328 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -1174,20 +1174,30 @@ Tomahaw създаде доклад относно това и изпращай PlaylistLargeItemDelegate - + played %1 by you изпълнена %1 от мен - + played %1 by %2 изпълнена %1 от %2 - + added %1 добавен %1 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1842,59 +1852,59 @@ Tomahaw създаде доклад относно това и изпращай SourceItem - + Collection Колекция - - + + Latest Additions Последно добавени - + Recently Played Наскоро изпълнени песни - + SuperCollection Супер колекция /Сборен излед от локалните и наличните в колекциите на приятелите ти/ - + Latest additions to your collection Последно добавени към колекцията - + Latest additions to %1's collection Последно добавени в колекцията на %1 - + Sorry, we could not find any recent additions! Съжалявам, но не откривам нито една ново-добавена позиция! - + Recently Played Tracks Наскоро изпълнени песни - + Your recently played tracks Наскоро изпълнени песни от теб - + %1's recently played tracks Наскоро изпълнените песни от %1 - + Sorry, we could not find any recent plays! Съжалявам, но не откривам нито една наскоро изпълнена песен! @@ -2541,8 +2551,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue Добави към &опашката @@ -2558,60 +2568,59 @@ You may wish to try re-authenticating. - + &Love &Харесай - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link &Копирай адреса на изпълнението - + Copy Album &Link Копирай адресът на албума - + Copy Artist &Link Копирай адресът на изпълнителя - + Un-&Love Не-&харесай - + &Delete Items &Изтрий позициите - - &Show Track Page - &Покажи страницата на песента - - - + Properties... Подробности: - + &Delete Item &Изтрий позицията - - - &Show Album Page - &Покажи страницата на албума - - - - &Show Artist Page - &Покажи страницата на артиста - Tomahawk::DropJobNotifier @@ -3722,27 +3731,27 @@ enter the displayed PIN number here: Съжалявам, но не откривам нито една подобна на тази песен! - + You've listened to this track %n time(s). Ти си слушал тази песен %n път(и)Ти си слушал тази песен %n път(и) - + You've never listened to this track before. Никога не си слушал тази песен преди - + You first listened to it on %1. Първоначално си я слушал на %1 - + You've listened to %1 %n time(s). Слушал си %1 път(и)Слушал си %1 %n път(и) - + You've never listened to %1 before. Никога не си слушал %1 преди diff --git a/lang/tomahawk_bn_IN.ts b/lang/tomahawk_bn_IN.ts index 11df7b020..a9d8714bb 100644 --- a/lang/tomahawk_bn_IN.ts +++ b/lang/tomahawk_bn_IN.ts @@ -1171,20 +1171,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you - + played %1 by %2 - + added %1 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1837,58 +1847,58 @@ connect and stream from you? SourceItem - + Collection - - + + Latest Additions - + Recently Played - + SuperCollection - + Latest additions to your collection - + Latest additions to %1's collection - + Sorry, we could not find any recent additions! - + Recently Played Tracks - + Your recently played tracks - + %1's recently played tracks - + Sorry, we could not find any recent plays! @@ -2526,8 +2536,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue @@ -2543,60 +2553,59 @@ You may wish to try re-authenticating. - + &Love - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items - - &Show Track Page - - - - + Properties... - + &Delete Item - - - &Show Album Page - - - - - &Show Artist Page - - Tomahawk::DropJobNotifier @@ -3700,27 +3709,27 @@ enter the displayed PIN number here: - + You've listened to this track %n time(s). - + You've never listened to this track before. - + You first listened to it on %1. - + You've listened to %1 %n time(s). - + You've never listened to %1 before. diff --git a/lang/tomahawk_ca.ts b/lang/tomahawk_ca.ts index 8260828e2..b4f049c82 100644 --- a/lang/tomahawk_ca.ts +++ b/lang/tomahawk_ca.ts @@ -1171,20 +1171,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you reproduït %1 - + played %1 by %2 reproduït %1 per %2 - + added %1 afegit %1 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1838,58 +1848,58 @@ connect and stream from you? SourceItem - + Collection Col·lecció - - + + Latest Additions Darreres Novetats - + Recently Played Escoltades Recentment - + SuperCollection SuperCol·lecció - + Latest additions to your collection Darreres novetats a la vostra col·lecció - + Latest additions to %1's collection Darreres novetats a la col·lecció de %1 - + Sorry, we could not find any recent additions! - + Recently Played Tracks Cançons Escoltades Recentment - + Your recently played tracks Cançons Escoltades Recentment - + %1's recently played tracks Cançons Escoltades Recentment per %1 - + Sorry, we could not find any recent plays! @@ -2530,8 +2540,8 @@ Torneu a autenticar-vos.
- - + + Add to &Queue &Afegeix a la Cua @@ -2547,60 +2557,59 @@ Torneu a autenticar-vos.
- + &Love &M'encanta - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link &Copia l'Enllaç de la Cançó - + Copy Album &Link - + Copy Artist &Link - + Un-&Love &Treu de les preferides - + &Delete Items &Elimina els Ítems - - &Show Track Page - &Mostra la pàgina de la cançó - - - + Properties... - + &Delete Item &Elimina l'Ítem - - - &Show Album Page - &Mostra la pàgina de l'àlbum - - - - &Show Artist Page - &Mostra la pàgina de l'artista - Tomahawk::DropJobNotifier @@ -3709,27 +3718,27 @@ introduïu el PIN aquí: - + You've listened to this track %n time(s). Heu escoltat aquesta cançó %n cop.Heu escoltat aquesta cançó %n cops. - + You've never listened to this track before. No heu escoltat mai aquesta cançó abans. - + You first listened to it on %1. Vau escoltar aquesta cançó per primer cop el %1. - + You've listened to %1 %n time(s). Heu escoltat %1 %n cop.Heu escoltat %1 %n cops. - + You've never listened to %1 before. No heu escoltat mai %1 abans. diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index c06b7bfff..9fa2f5473 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -1172,20 +1172,30 @@ erlauben sich mit dir zu verbinden? PlaylistLargeItemDelegate - + played %1 by you angehört %1 von dir - + played %1 by %2 hörte %1 von %2 - + added %1 fügte %1 hinzu + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1839,58 +1849,58 @@ erlauben sich mit dir zu verbinden? SourceItem - + Collection Sammlung - - + + Latest Additions Kürzlich hinzugekommen - + Recently Played Kürzlich gehörte Lieder - + SuperCollection Supersammlung - + Latest additions to your collection Neueste Lieder in deiner Sammlung - + Latest additions to %1's collection Neueste Lieder in %1's Sammlung - + Sorry, we could not find any recent additions! Sorry, wir konnten keine Lieder finden die kürzlich hinzugefügt wurden! - + Recently Played Tracks Zuletzt gehörte Lieder - + Your recently played tracks Deine zuletzt gehörten Lieder - + %1's recently played tracks %1's zuletzt gehörte Lieder - + Sorry, we could not find any recent plays! Sorry, wir konnten keine kürzlich gespielten Lieder finden! @@ -2529,8 +2539,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue In &Warteschlange einreihen @@ -2546,60 +2556,59 @@ You may wish to try re-authenticating. - + &Love &Lieblingslied - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link &Kopiere Link zu diesem Stück - + Copy Album &Link Album-&Link kopieren - + Copy Artist &Link Künstler-&Link kopieren - + Un-&Love Kein &Lieblingslied - + &Delete Items Elemente &entfernen - - &Show Track Page - &Gehe zur Song Seite - - - + Properties... - + &Delete Item Element &entfernen - - - &Show Album Page - &Gehe zur Album Seite - - - - &Show Artist Page - &Gehe zur Künstler Seite - Tomahawk::DropJobNotifier @@ -3708,27 +3717,27 @@ Tomahawk auf Twitter's Website authentifiziert hast: Sorry, wir konnten keine ähnlichen Lieder finden! - + You've listened to this track %n time(s). Du hast dieses Lied einmal gehört.Du hast dieses Lied %n mal gehört. - + You've never listened to this track before. Du hast dieses Lied noch nie angehört. - + You first listened to it on %1. Du hast dieses Lied zum ersten mal am %1 gehört. - + You've listened to %1 %n time(s). Du hast %1 einmal angehört.Du hast %1 %n mal angehört. - + You've never listened to %1 before. Du hast %1 vorher noch nie gehört. diff --git a/lang/tomahawk_el.ts b/lang/tomahawk_el.ts index 5f06e9dcc..e1b1edd09 100644 --- a/lang/tomahawk_el.ts +++ b/lang/tomahawk_el.ts @@ -1171,20 +1171,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you παίχθηκε %1 από εσάς - + played %1 by %2 παίχθηκε %1 από τον/την %2 - + added %1 προστέθηκε το %1 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1838,58 +1848,58 @@ connect and stream from you? SourceItem - + Collection Συλλογή - - + + Latest Additions Τελευταίες Προσθήκες - + Recently Played Τελευταίες Αναπαραγωγές - + SuperCollection ΥπερΣυλλογή - + Latest additions to your collection Τελευταίες προσθήκες στην βιβλιοθήκη σας - + Latest additions to %1's collection Τελευταίες προσθήκες στην βιβλιοθήκη του %1 - + Sorry, we could not find any recent additions! - + Recently Played Tracks Τελευταίες Αναπαραγωγές Κομματιών - + Your recently played tracks Οι τελευταίες σας αναπαραγωγές - + %1's recently played tracks - + Sorry, we could not find any recent plays! @@ -2530,8 +2540,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue Προσθήκη στην &Σειρά @@ -2547,60 +2557,59 @@ You may wish to try re-authenticating. - + &Love &Αγάπησε - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link &Αντιγραφή Συνδέσμου Κομματιού - + Copy Album &Link - + Copy Artist &Link - + Un-&Love &Μίσησε - + &Delete Items &Διαγραφή Αντικειμένων - - &Show Track Page - &Εμφάνιση Σελίδας Κομματιού - - - + Properties... Ιδιότητες - + &Delete Item &Διαγραφή Αντικειμένου - - - &Show Album Page - &Εμφάνιση Σελίδας Άλμπουμ - - - - &Show Artist Page - &Εμφάνιση Σελίδας Καλλιτέχνη - Tomahawk::DropJobNotifier @@ -3708,27 +3717,27 @@ enter the displayed PIN number here: - + You've listened to this track %n time(s). Έχετε ακούσει το κομμάτι %n φορά.Έχετε ακούσει το κομμάτι %n φορές. - + You've never listened to this track before. Δεν έχετε ακούσει αυτό το κομμάτι παλιότερα. - + You first listened to it on %1. Το ακούσατε για πρώτη φορά στις %1. - + You've listened to %1 %n time(s). Ακούσατε το %1 %n φορά.Ακούσατε το %1 %n φορές. - + You've never listened to %1 before. Δεν έχετε ακούσει το %1 ποτέ πριν. diff --git a/lang/tomahawk_en.ts b/lang/tomahawk_en.ts index 0df552d83..d4973f0e8 100644 --- a/lang/tomahawk_en.ts +++ b/lang/tomahawk_en.ts @@ -1172,20 +1172,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you played %1 by you - + played %1 by %2 played %1 by %2 - + added %1 added %1 + + + by <b>%1</b> + by <b>%1</b> + + + + by <b>%1</b> on <b>%2</b> + by <b>%1</b> on <b>%2</b> + PlaylistModel @@ -1842,58 +1852,58 @@ connect and stream from you? SourceItem - + Collection Collection - - + + Latest Additions Latest Additions - + Recently Played Recently Played - + SuperCollection SuperCollection - + Latest additions to your collection Latest additions to your collection - + Latest additions to %1's collection Latest additions to %1's collection - + Sorry, we could not find any recent additions! Sorry, we could not find any recent additions! - + Recently Played Tracks Recently Played Tracks - + Your recently played tracks Your recently played tracks - + %1's recently played tracks %1's recently played tracks - + Sorry, we could not find any recent plays! Sorry, we could not find any recent plays! @@ -2534,8 +2544,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue Add to &Queue @@ -2551,60 +2561,59 @@ You may wish to try re-authenticating. - + &Love &Love - + + + + &Go to "%1" + &Go to "%1" + + + + + + Go to "%1" + Go to "%1" + + + &Copy Track Link &Copy Track Link - + Copy Album &Link Copy Album &Link - + Copy Artist &Link Copy Artist &Link - + Un-&Love Un-&Love - + &Delete Items &Delete Items - - &Show Track Page - &Show Track Page - - - + Properties... Properties... - + &Delete Item &Delete Item - - - &Show Album Page - &Show Album Page - - - - &Show Artist Page - &Show Artist Page - Tomahawk::DropJobNotifier @@ -3713,27 +3722,27 @@ enter the displayed PIN number here: Sorry, but we could not find similar tracks for this song! - + You've listened to this track %n time(s). You've listened to this track %n time.You've listened to this track %n times. - + You've never listened to this track before. You've never listened to this track before. - + You first listened to it on %1. You first listened to it on %1. - + You've listened to %1 %n time(s). You've listened to %1 %n time.You've listened to %1 %n times. - + You've never listened to %1 before. You've never listened to %1 before. diff --git a/lang/tomahawk_es.ts b/lang/tomahawk_es.ts index 332225ba2..37f1d2627 100644 --- a/lang/tomahawk_es.ts +++ b/lang/tomahawk_es.ts @@ -1171,20 +1171,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you %1 reproducido por usted - + played %1 by %2 %1 reproducido por %2 - + added %1 añadio %1 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1837,58 +1847,58 @@ connect and stream from you? SourceItem - + Collection Colección - - + + Latest Additions Añadidos recientemente - + Recently Played Reproducido recientemente - + SuperCollection SuperColección - + Latest additions to your collection Últimas novedades en mi colección - + Latest additions to %1's collection Últimas novedadoes en la colección de %1 - + Sorry, we could not find any recent additions! - + Recently Played Tracks Temas Escuchados Recientemente - + Your recently played tracks Mis canciones escuchadas recientemente - + %1's recently played tracks Las canciones escuchadas recientemente por %1 - + Sorry, we could not find any recent plays! @@ -2529,8 +2539,8 @@ Hay que volverse a autenticar. - - + + Add to &Queue Añadir a la &cola @@ -2546,60 +2556,59 @@ Hay que volverse a autenticar. - + &Love &Favorito - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link &Copiar enlace del Tema - + Copy Album &Link - + Copy Artist &Link - + Un-&Love Quitar de &Favoritos - + &Delete Items &Eliminar de la cola - - &Show Track Page - - - - + Properties... - + &Delete Item &Eliminar de la cola - - - &Show Album Page - - - - - &Show Artist Page - - Tomahawk::DropJobNotifier @@ -3708,27 +3717,27 @@ introduzca su número PIN aquí: - + You've listened to this track %n time(s). Ha escuchado esta canción %n vez.Ha escuchado esta canción %n veces. - + You've never listened to this track before. Nunca ha escuchado este tema antes. - + You first listened to it on %1. Escuchó este tema pro primera vez en %1. - + You've listened to %1 %n time(s). Ha escuchado %1 %n vez.Ha escuchado %1 %n veces. - + You've never listened to %1 before. Nunca ha escuchado %1 antes. diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index 10de8ceae..f8ec37092 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -1172,20 +1172,30 @@ de se connecter et streamer de vous? PlaylistLargeItemDelegate - + played %1 by you joué %1 par vous - + played %1 by %2 joué %1 par %2 - + added %1 ajouté par %1 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1839,58 +1849,58 @@ de se connecter et streamer de vous? SourceItem - + Collection Collection - - + + Latest Additions Derniers ajouts - + Recently Played Joués récemment - + SuperCollection SuperCollection - + Latest additions to your collection Derniers ajouts à votre collection - + Latest additions to %1's collection Derniers ajouts à la collection de %1 - + Sorry, we could not find any recent additions! Désolé, on a pas pu trouver des dernier ajouts! - + Recently Played Tracks Derniers titres joués - + Your recently played tracks Les derniers titres que vous avez joués - + %1's recently played tracks Derniers titres joués par %1 - + Sorry, we could not find any recent plays! Désolé, aucune piste récemment jouée n'a pu être trouvée ! @@ -2531,8 +2541,8 @@ Essayez de vous authentifier de nouveau. - - + + Add to &Queue &Ajouter à la file d'attente @@ -2548,60 +2558,59 @@ Essayez de vous authentifier de nouveau. - + &Love &Favori - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link &Copier le lien de la piste - + Copy Album &Link Copier le &lien de l'album - + Copy Artist &Link Copier le &lien de l'artiste - + Un-&Love &Supprimer des Favoris - + &Delete Items &Supprimer les éléments - - &Show Track Page - &Afficher la page de la piste - - - + Properties... Propriétés... - + &Delete Item &Supprimer l'élément - - - &Show Album Page - &Afficher la page de l'album - - - - &Show Artist Page - &Afficher la page artiste - Tomahawk::DropJobNotifier @@ -3710,27 +3719,27 @@ saisissez le numéro PIN ici : Désolé, nous n'avons pu trouver aucune piste similaire pour cette chanson ! - + You've listened to this track %n time(s). Vous avez écouté cette piste %n fois.Vous avez écouté cette piste %n fois. - + You've never listened to this track before. Vous n'avez encore jamais écouté cette piste. - + You first listened to it on %1. Vous l'avez écouté pour la première fois le %1. - + You've listened to %1 %n time(s). Vous avez écouté %1 %n fois.Vous avez écouté %1 %n fois. - + You've never listened to %1 before. Vous n'avez encore jamais écouté %1. diff --git a/lang/tomahawk_gl.ts b/lang/tomahawk_gl.ts index 926734cb3..fc4ee4893 100644 --- a/lang/tomahawk_gl.ts +++ b/lang/tomahawk_gl.ts @@ -1171,20 +1171,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you escoitou %1 por coñecela por ti - + played %1 by %2 escoitou %1 por coñecela por %2 - + added %1 engadiu %1 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1838,58 +1848,58 @@ connect and stream from you? SourceItem - + Collection Colección - - + + Latest Additions Últimos engadidos - + Recently Played Escoitados recentemente - + SuperCollection Supercolección - + Latest additions to your collection Os últimos engadidos á túa coleción - + Latest additions to %1's collection Os últimos engadidos a colección %1 - + Sorry, we could not find any recent additions! Non se atoparon novas pistas engadidas recentemente! - + Recently Played Tracks Pistas recentemente reproducidas - + Your recently played tracks As pistas que soaron recentemente - + %1's recently played tracks As pistas de %1 que soaron recentemente - + Sorry, we could not find any recent plays! Non se escoitaron pistas recentemente! @@ -2532,8 +2542,8 @@ Proba a volver a autenticarte. - - + + Add to &Queue Engadir á &ringleira @@ -2549,60 +2559,59 @@ Proba a volver a autenticarte. - + &Love &Gústame - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link - + Copy Album &Link Copiar a &ligazón do álbum - + Copy Artist &Link Copiar a &ligazón do artista - + Un-&Love Xa non me &gusta - + &Delete Items &Borrar os elementos - - &Show Track Page - &Mostrar a páxina da pista - - - + Properties... Propiedades... - + &Delete Item &Borrar o elemento - - - &Show Album Page - &Mostrar a páxina do álbum - - - - &Show Artist Page - &Mostrar a páxina do artista - Tomahawk::DropJobNotifier @@ -3711,27 +3720,27 @@ enter the displayed PIN number here: Non se atopan pistas parecidas a esta canción! - + You've listened to this track %n time(s). Escoitaches esta pista %n vece(s). - + You've never listened to this track before. Nunca antes escoutaras esta pista. - + You first listened to it on %1. Escoitaches esta pista por primeira vez en %1. - + You've listened to %1 %n time(s). Escoitaches %1 %n veces. - + You've never listened to %1 before. Nunca antes escoitaras a %1. diff --git a/lang/tomahawk_hi_IN.ts b/lang/tomahawk_hi_IN.ts index 18553fdfd..c06b8548d 100644 --- a/lang/tomahawk_hi_IN.ts +++ b/lang/tomahawk_hi_IN.ts @@ -1171,20 +1171,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you - + played %1 by %2 - + added %1 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1837,58 +1847,58 @@ connect and stream from you? SourceItem - + Collection - - + + Latest Additions - + Recently Played - + SuperCollection - + Latest additions to your collection - + Latest additions to %1's collection - + Sorry, we could not find any recent additions! - + Recently Played Tracks - + Your recently played tracks - + %1's recently played tracks - + Sorry, we could not find any recent plays! @@ -2526,8 +2536,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue @@ -2543,60 +2553,59 @@ You may wish to try re-authenticating. - + &Love - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items - - &Show Track Page - - - - + Properties... - + &Delete Item - - - &Show Album Page - - - - - &Show Artist Page - - Tomahawk::DropJobNotifier @@ -3700,27 +3709,27 @@ enter the displayed PIN number here: - + You've listened to this track %n time(s). - + You've never listened to this track before. - + You first listened to it on %1. - + You've listened to %1 %n time(s). - + You've never listened to %1 before. diff --git a/lang/tomahawk_it.ts b/lang/tomahawk_it.ts index 25bee55be..e42e8350f 100644 --- a/lang/tomahawk_it.ts +++ b/lang/tomahawk_it.ts @@ -1171,20 +1171,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you ascoltata %1 da te - + played %1 by %2 ascoltata %1 da %2 - + added %1 %1 aggiunte + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1837,58 +1847,58 @@ connect and stream from you? SourceItem - + Collection Collezione - - + + Latest Additions Ultime aggiunte - + Recently Played Ascoltate di recente - + SuperCollection Supercollezione - + Latest additions to your collection Ultime aggiunte alla tua collezione - + Latest additions to %1's collection Ultime aggiunte alla collezione di %1 - + Sorry, we could not find any recent additions! Spiacente, non abbiamo trovato nessuna aggiunta recente! - + Recently Played Tracks Tracce ascoltate di recente - + Your recently played tracks Tracce da te ascoltate di recente - + %1's recently played tracks Tracce ascoltate di recente da %1 - + Sorry, we could not find any recent plays! Spiacente, non è stato possibile trovare ascolti recenti! @@ -2526,8 +2536,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue Aggiungi alla &coda @@ -2543,60 +2553,59 @@ You may wish to try re-authenticating. - + &Love &Love - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link &Copia link della traccia - + Copy Album &Link - + Copy Artist &Link - + Un-&Love Un-&love - + &Delete Items &Cancella tracce - - &Show Track Page - &Mostra pagina della traccia - - - + Properties... - + &Delete Item &Cancella traccia - - - &Show Album Page - &Mostra pagine dell'album - - - - &Show Artist Page - &Mostra pagina dell'artista - Tomahawk::DropJobNotifier @@ -3700,27 +3709,27 @@ enter the displayed PIN number here: Ci dispiace, ma non abbiamo trovato tracce simili per questa canzone! - + You've listened to this track %n time(s). Hai ascoltato questa traccia una volta.Hai ascoltato questa traccia %n volte. - + You've never listened to this track before. Non hai mai ascoltato questa traccia. - + You first listened to it on %1. L'hai ascoltata la prima volta su %1. - + You've listened to %1 %n time(s). Hai ascoltato %1 una volta.Hai ascoltato %1 %n volte. - + You've never listened to %1 before. Non hai mai ascoltato %1. diff --git a/lang/tomahawk_ja.ts b/lang/tomahawk_ja.ts index dbab04c11..c03fc2363 100644 --- a/lang/tomahawk_ja.ts +++ b/lang/tomahawk_ja.ts @@ -1172,20 +1172,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you %1を再生しました。 - + played %1 by %2 %2が%1を再生しました。 - + added %1 %1を追加しました。 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1842,58 +1852,58 @@ connect and stream from you? SourceItem - + Collection コレクション - - + + Latest Additions 最新追加した項目 - + Recently Played 最近聴いたトラック - + SuperCollection スーパーコレクション - + Latest additions to your collection コレクションの最新追加した項目 - + Latest additions to %1's collection %1のコレクションの最新追加した項目 - + Sorry, we could not find any recent additions! 最近追加した項目が見つかりませんでした。 - + Recently Played Tracks 最近再生したトラック - + Your recently played tracks あなたの最近再生したトラック - + %1's recently played tracks %1の最近再生したトラック - + Sorry, we could not find any recent plays! 最近の再生した項目が見つかりませんでした。 @@ -2534,8 +2544,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue キューに追加 @@ -2551,60 +2561,59 @@ You may wish to try re-authenticating. - + &Love &Love - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link トラックリンクをコピー - + Copy Album &Link アルバムリンクをコピー - + Copy Artist &Link アーティストリンクをコピー - + Un-&Love Loveじゃないトラック - + &Delete Items 項目を削除 - - &Show Track Page - トラックページを表示 - - - + Properties... 情報... - + &Delete Item 項目を削除 - - - &Show Album Page - アルバムページを表示 - - - - &Show Artist Page - アーティストページを表示 - Tomahawk::DropJobNotifier @@ -3714,27 +3723,27 @@ Meta+Ctrl+Z この曲に似ているトラックが見つかりませんでした。 - + You've listened to this track %n time(s). このトラックは%n回聴いています。 - + You've never listened to this track before. このトラックを一度も聴いていません。 - + You first listened to it on %1. 初めてこの曲を聴いたのは、%1です。 - + You've listened to %1 %n time(s). %1を%n回聴いています。 - + You've never listened to %1 before. %1を一度も聴いていません。 diff --git a/lang/tomahawk_lt.ts b/lang/tomahawk_lt.ts index 506b85b30..30971300e 100644 --- a/lang/tomahawk_lt.ts +++ b/lang/tomahawk_lt.ts @@ -1171,20 +1171,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you - + played %1 by %2 - + added %1 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1837,58 +1847,58 @@ connect and stream from you? SourceItem - + Collection Kolekcija - - + + Latest Additions Neseniai pridėta - + Recently Played Neseniai grota - + SuperCollection Super Kolekcija - + Latest additions to your collection Neseniai pridėta prie Jūsų kolekcijos - + Latest additions to %1's collection Neseniai pridėta prie %1 kolekcijos - + Sorry, we could not find any recent additions! Atsiprašome, neradome nieko, kas pridėta neseniai! - + Recently Played Tracks Neseniai groti takeliai - + Your recently played tracks Jūsų neseniai groti takeliai - + %1's recently played tracks %1 neseniai groti takeliai - + Sorry, we could not find any recent plays! Atsiprašome, neradome jokių neseniai grotų takelių! @@ -2526,8 +2536,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue Pridėti į &eilę @@ -2543,60 +2553,59 @@ You may wish to try re-authenticating. - + &Love My&liu - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link &Kopijuoti takelio nuorodą - + Copy Album &Link Kopijuoti albumo &nuorodą - + Copy Artist &Link Kopijuoti atlikėjo &nuorodą - + Un-&Love Nemy&liu - + &Delete Items Iš&trinti elementus - - &Show Track Page - &Rodyti takelio puslapį - - - + Properties... Savybės... - + &Delete Item Iš&trinti elementą - - - &Show Album Page - &Rodyti albumo puslapį - - - - &Show Artist Page - &Rodyti atlikėjo puslapį - Tomahawk::DropJobNotifier @@ -3700,27 +3709,27 @@ enter the displayed PIN number here: Atsiprašome, neradome jokių į šią dainą panašių takelių! - + You've listened to this track %n time(s). Jūs klausėtės šio takelio %n kartą.Jūs klausėtės šio takelio %n kartus.Jūs klausėtės šio takelio %n kartų. - + You've never listened to this track before. Jūs niekad anksčiau nesiklausėte šio takelio. - + You first listened to it on %1. Pirmąkart klausėtės jo %1. - + You've listened to %1 %n time(s). Jūs klausėtės %1 %n kartą.Jūs klausėtės %1 %n kartus.Jūs klausėtės %1 %n kartų. - + You've never listened to %1 before. Jūs niekada anksčiau nesiklausėte %1. diff --git a/lang/tomahawk_pl.ts b/lang/tomahawk_pl.ts index f1262764a..16a17069e 100644 --- a/lang/tomahawk_pl.ts +++ b/lang/tomahawk_pl.ts @@ -1171,20 +1171,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you odtworzone %1 przez ciebie - + played %1 by %2 - + added %1 dodano %1 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1837,58 +1847,58 @@ connect and stream from you? SourceItem - + Collection Kolekcja - - + + Latest Additions Ostatnio Dodane - + Recently Played Ostatnio Odtworzone - + SuperCollection Superkolekcja - + Latest additions to your collection - + Latest additions to %1's collection - + Sorry, we could not find any recent additions! - + Recently Played Tracks - + Your recently played tracks - + %1's recently played tracks - + Sorry, we could not find any recent plays! @@ -2526,8 +2536,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue Dodaj do &kolejki @@ -2543,60 +2553,59 @@ You may wish to try re-authenticating. - + &Love &Uwielbiam - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items &Usuń pozycje - - &Show Track Page - - - - + Properties... - + &Delete Item &Usuń pozycję - - - &Show Album Page - - - - - &Show Artist Page - - Tomahawk::DropJobNotifier @@ -3703,27 +3712,27 @@ wprowadź pokazany numer PIN tutaj: - + You've listened to this track %n time(s). - + You've never listened to this track before. - + You first listened to it on %1. - + You've listened to %1 %n time(s). - + You've never listened to %1 before. diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts index 54717df52..d52b496ea 100644 --- a/lang/tomahawk_pt_BR.ts +++ b/lang/tomahawk_pt_BR.ts @@ -1172,20 +1172,30 @@ se conecte e faça o stream de você? PlaylistLargeItemDelegate - + played %1 by you tocou %1 por você - + played %1 by %2 tocou %1 por %2 - + added %1 adicionou %1 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1839,58 +1849,58 @@ se conecte e faça o stream de você? SourceItem - + Collection Coleção - - + + Latest Additions Últimas Adições - + Recently Played Ouvidas Recentemente - + SuperCollection SuperColeção - + Latest additions to your collection Últimas adições à sua coleção - + Latest additions to %1's collection Últimas adições à coleção de %1 - + Sorry, we could not find any recent additions! Desculpe, não foi possível encontrar adições recentes! - + Recently Played Tracks Faixas Reproduzidas Recentemente - + Your recently played tracks Suas faixas reproduzidas recentemente - + %1's recently played tracks Faixas reproduzidas recentemente por %1 - + Sorry, we could not find any recent plays! Desculpe, não foi possível encontrar playlists recentes! @@ -2531,8 +2541,8 @@ Você pode tentar re-autenticar. - - + + Add to &Queue Adicionar à &lista @@ -2548,60 +2558,59 @@ Você pode tentar re-autenticar. - + &Love &Favorita - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link &Copiar Link da Faixa - + Copy Album &Link Copiar &Link do Álbum - + Copy Artist &Link Copiar &Link do Artista - + Un-&Love &Desfavoritar - + &Delete Items &Deletar itens - - &Show Track Page - &Mostrar Página da Faixa - - - + Properties... Propriedades... - + &Delete Item &Deletar item - - - &Show Album Page - &Mostrar Página do Álbum - - - - &Show Artist Page - &Mostrar Página do Artista - Tomahawk::DropJobNotifier @@ -3710,27 +3719,27 @@ colocar o número PIN mostrado aqui: Desculpe, mas não conseguimos encontrar faixas similares para esta música! - + You've listened to this track %n time(s). Você ouviu esta faixa %n vez.Você ouviu esta faixa %n vezes. - + You've never listened to this track before. Você nunca ouviu esta faixa antes. - + You first listened to it on %1. Você ouviu pela primeira vez em %1. - + You've listened to %1 %n time(s). Você ouviu %1 %n vez.Você ouviu %1 %n vezes. - + You've never listened to %1 before. Você nunca ouviu %1 antes. diff --git a/lang/tomahawk_ru.ts b/lang/tomahawk_ru.ts index 914437b32..090a32762 100644 --- a/lang/tomahawk_ru.ts +++ b/lang/tomahawk_ru.ts @@ -1172,20 +1172,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you Воспроизводилось %1 вами - + played %1 by %2 Воспроизводилось %1 %2 - + added %1 Добавлено %1 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1839,58 +1849,58 @@ connect and stream from you? SourceItem - + Collection Коллекция - - + + Latest Additions Последние добавленные - + Recently Played Последние воспроизводимые - + SuperCollection Общая коллекция - + Latest additions to your collection Последние добавления в коллекцию - + Latest additions to %1's collection Новые поступления в коллекции %1 - + Sorry, we could not find any recent additions! К сожалению, мы не смогли найти никаких последних добавлений! - + Recently Played Tracks Недавно Воспроизводимые - + Your recently played tracks Ваши Недавно Воспроизводимые - + %1's recently played tracks %1 последние проиграные треки - + Sorry, we could not find any recent plays! К сожалению, мы не смогли найти никаких воспроизвидений треков! @@ -2531,8 +2541,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue Добавить В &Очередь @@ -2548,60 +2558,59 @@ You may wish to try re-authenticating. - + &Love &Любимая - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link &Скопировать Ссылку Песни - + Copy Album &Link Копировать &Ссылку Альбома - + Copy Artist &Link Копировать &Ссылку Исполнителя - + Un-&Love &Не Любимая - + &Delete Items &Удалить Песни - - &Show Track Page - &Показать Станицу Песни - - - + Properties... Свойства... - + &Delete Item &Удалить Песню - - - &Show Album Page - &Показать Станицу Альбома - - - - &Show Artist Page - &Показать Станицу Исполнителя - Tomahawk::DropJobNotifier @@ -3707,27 +3716,27 @@ enter the displayed PIN number here: Извините, но мы не смогли найти похожие треки на эту песню! - + You've listened to this track %n time(s). - + You've never listened to this track before. Вы никогда не слушали этот трек раньше. - + You first listened to it on %1. Первое прослушивание этой песни %1. - + You've listened to %1 %n time(s). - + You've never listened to %1 before. Вы никогда не слушали %1 до этого. diff --git a/lang/tomahawk_sv.ts b/lang/tomahawk_sv.ts index 6b7d20b97..5f5333b2a 100644 --- a/lang/tomahawk_sv.ts +++ b/lang/tomahawk_sv.ts @@ -1171,20 +1171,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you %1 spelades av dig - + played %1 by %2 %1 spelades av %2 - + added %1 %1 tillagd + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1838,58 +1848,58 @@ connect and stream from you? SourceItem - + Collection Samling - - + + Latest Additions Senast tillagda - + Recently Played Senast spelade spår - + SuperCollection SuperCollection - + Latest additions to your collection - + Latest additions to %1's collection - + Sorry, we could not find any recent additions! - + Recently Played Tracks - + Your recently played tracks - + %1's recently played tracks - + Sorry, we could not find any recent plays! @@ -2527,8 +2537,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue Lägg till i &kö @@ -2544,60 +2554,59 @@ You may wish to try re-authenticating. - + &Love - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items &Ta bort objekt - - &Show Track Page - - - - + Properties... - + &Delete Item &Ta bort objekt - - - &Show Album Page - - - - - &Show Artist Page - - Tomahawk::DropJobNotifier @@ -3701,27 +3710,27 @@ enter the displayed PIN number here: - + You've listened to this track %n time(s). - + You've never listened to this track before. - + You first listened to it on %1. - + You've listened to %1 %n time(s). - + You've never listened to %1 before. diff --git a/lang/tomahawk_tr.ts b/lang/tomahawk_tr.ts index 3c99fae47..e135dc1d3 100644 --- a/lang/tomahawk_tr.ts +++ b/lang/tomahawk_tr.ts @@ -1171,20 +1171,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you - + played %1 by %2 - + added %1 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1837,58 +1847,58 @@ connect and stream from you? SourceItem - + Collection - - + + Latest Additions - + Recently Played - + SuperCollection - + Latest additions to your collection - + Latest additions to %1's collection - + Sorry, we could not find any recent additions! - + Recently Played Tracks - + Your recently played tracks - + %1's recently played tracks - + Sorry, we could not find any recent plays! @@ -2526,8 +2536,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue @@ -2543,60 +2553,59 @@ You may wish to try re-authenticating. - + &Love - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items - - &Show Track Page - - - - + Properties... - + &Delete Item - - - &Show Album Page - - - - - &Show Artist Page - - Tomahawk::DropJobNotifier @@ -3700,27 +3709,27 @@ enter the displayed PIN number here: - + You've listened to this track %n time(s). - + You've never listened to this track before. - + You first listened to it on %1. - + You've listened to %1 %n time(s). - + You've never listened to %1 before. diff --git a/lang/tomahawk_zh_CN.ts b/lang/tomahawk_zh_CN.ts index 02badcdf1..3032c7336 100644 --- a/lang/tomahawk_zh_CN.ts +++ b/lang/tomahawk_zh_CN.ts @@ -1171,20 +1171,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you %1 - + played %1 by %2 已播放 %2 的 %1 - + added %1 已添加 %1 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1840,58 +1850,58 @@ connect and stream from you? SourceItem - + Collection 收藏 - - + + Latest Additions 最近添加 - + Recently Played 最近播放 - + SuperCollection 超级收藏 - + Latest additions to your collection 最近加入收藏的歌曲 - + Latest additions to %1's collection - + Sorry, we could not find any recent additions! 抱歉,未找到任何最近添加的音乐! - + Recently Played Tracks 最近播放歌曲 - + Your recently played tracks 你最近播放的歌曲 - + %1's recently played tracks %1最近播放的歌曲 - + Sorry, we could not find any recent plays! 抱歉,未找到任何最近播放的音乐! @@ -2532,8 +2542,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue 添加到队列 @@ -2549,60 +2559,59 @@ You may wish to try re-authenticating. - + &Love 喜欢 - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link 复制歌曲链接 - + Copy Album &Link 复制专辑链接 - + Copy Artist &Link 复制艺术家链接 - + Un-&Love 不喜欢 - + &Delete Items 删除该项 - - &Show Track Page - 显示歌曲页面 - - - + Properties... 属性... - + &Delete Item 删除该项 - - - &Show Album Page - 显示专辑页面 - - - - &Show Artist Page - 显示艺术家页面 - Tomahawk::DropJobNotifier @@ -3711,27 +3720,27 @@ enter the displayed PIN number here: 抱歉,无法找到与这首歌类似的歌曲! - + You've listened to this track %n time(s). 你已经收听过此歌曲 %n 遍。 - + You've never listened to this track before. 你之前从未听过此歌曲。 - + You first listened to it on %1. 你第一次听的是 %1. - + You've listened to %1 %n time(s). 你已经听过 %1 有 %n 遍了。 - + You've never listened to %1 before. 你之前从未听过 %1。 diff --git a/lang/tomahawk_zh_TW.ts b/lang/tomahawk_zh_TW.ts index ac04beb32..275278d1e 100644 --- a/lang/tomahawk_zh_TW.ts +++ b/lang/tomahawk_zh_TW.ts @@ -1171,20 +1171,30 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you - + played %1 by %2 - + added %1 + + + by <b>%1</b> + + + + + by <b>%1</b> on <b>%2</b> + + PlaylistModel @@ -1837,58 +1847,58 @@ connect and stream from you? SourceItem - + Collection 收藏 - - + + Latest Additions 最新加入 - + Recently Played 最近播放的 - + SuperCollection 超級收藏 - + Latest additions to your collection - + Latest additions to %1's collection - + Sorry, we could not find any recent additions! - + Recently Played Tracks - + Your recently played tracks - + %1's recently played tracks - + Sorry, we could not find any recent plays! @@ -2526,8 +2536,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue 添加至佇列 @@ -2543,60 +2553,59 @@ You may wish to try re-authenticating. - + &Love - + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items - - &Show Track Page - - - - + Properties... - + &Delete Item - - - &Show Album Page - - - - - &Show Artist Page - - Tomahawk::DropJobNotifier @@ -3700,27 +3709,27 @@ enter the displayed PIN number here: - + You've listened to this track %n time(s). - + You've never listened to this track before. - + You first listened to it on %1. - + You've listened to %1 %n time(s). - + You've never listened to %1 before. From 57e59fcb8155179df5b1f9c6ebe50190719a6520 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Wed, 5 Dec 2012 02:17:14 +0100 Subject: [PATCH 061/332] * Added ImageRegistry::icon() and renamed ::getFromCache to ::pixmap. --- src/libtomahawk/utils/ImageRegistry.cpp | 10 +++++++++- src/libtomahawk/utils/ImageRegistry.h | 3 ++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/utils/ImageRegistry.cpp b/src/libtomahawk/utils/ImageRegistry.cpp index 288789980..8dc09c41e 100644 --- a/src/libtomahawk/utils/ImageRegistry.cpp +++ b/src/libtomahawk/utils/ImageRegistry.cpp @@ -19,6 +19,7 @@ #include #include +#include #include "utils/Logger.h" @@ -39,8 +40,15 @@ ImageRegistry::ImageRegistry() } +QIcon +ImageRegistry::icon( const QString& image, TomahawkUtils::ImageMode mode ) +{ + return pixmap( image, TomahawkUtils::defaultIconSize(), mode ); +} + + QPixmap -ImageRegistry::getFromCache( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode ) +ImageRegistry::pixmap( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode ) { QHash< int, QPixmap > subsubcache; QHash< int, QHash< int, QPixmap > > subcache; diff --git a/src/libtomahawk/utils/ImageRegistry.h b/src/libtomahawk/utils/ImageRegistry.h index fca971f3d..ae12efdad 100644 --- a/src/libtomahawk/utils/ImageRegistry.h +++ b/src/libtomahawk/utils/ImageRegistry.h @@ -30,7 +30,8 @@ public: explicit ImageRegistry(); - QPixmap getFromCache( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode = TomahawkUtils::Original ); + QIcon icon( const QString& image, TomahawkUtils::ImageMode mode = TomahawkUtils::Original ); + QPixmap pixmap( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode = TomahawkUtils::Original ); private: void putInCache( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode, const QPixmap& pixmap ); From 19d9cf454e6c93a93bb273263fd4fcd18dc27edd Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Wed, 5 Dec 2012 02:17:39 +0100 Subject: [PATCH 062/332] * Added TomahawkUtilsGui::defaultIconSize(). --- src/libtomahawk/utils/TomahawkUtilsGui.cpp | 110 +++++++++++++++++---- src/libtomahawk/utils/TomahawkUtilsGui.h | 3 +- 2 files changed, 93 insertions(+), 20 deletions(-) diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.cpp b/src/libtomahawk/utils/TomahawkUtilsGui.cpp index cd36461eb..0fb58dded 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.cpp +++ b/src/libtomahawk/utils/TomahawkUtilsGui.cpp @@ -386,6 +386,14 @@ setDefaultFontSize( int points ) } +QSize +defaultIconSize() +{ + const int w = defaultFontHeight() * 1.6; + return QSize( w, w ); +} + + QColor alphaBlend( const QColor& colorFrom, const QColor& colorTo, float opacity ) { @@ -408,69 +416,133 @@ defaultPixmap( ImageType type, ImageMode mode, const QSize& size ) { case DefaultAlbumCover: if ( mode == CoverInCase ) - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/no-album-art-placeholder.png", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/no-album-art-placeholder.svg", size ); else if ( mode == Grid ) - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/album-placeholder-grid.png", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/album-placeholder-grid.svg", size ); else - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/no-album-no-case.png", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/no-album-no-case.svg", size ); break; case DefaultArtistImage: if ( mode == Grid ) - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/artist-placeholder-grid.png", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/artist-placeholder-grid.svg", size ); else - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/no-artist-image-placeholder.png", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/no-artist-image-placeholder.svg", size ); break; case DefaultTrackImage: - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/track-placeholder.png", size ); + if ( mode == Grid ) + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/track-placeholder-grid.svg", size ); + else + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/track-placeholder.png", size ); break; case DefaultSourceAvatar: if ( mode == RoundedCorners ) - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/user-avatar.png", size, TomahawkUtils::RoundedCorners ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/user-avatar.svg", size, TomahawkUtils::RoundedCorners ); else - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/user-avatar.png", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/user-avatar.svg", size ); + break; + + case DefaultResolver: + if ( mode == RoundedCorners ) + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/resolver-default.svg", size, TomahawkUtils::RoundedCorners ); + else + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/resolver-default.svg", size ); break; case NowPlayingSpeaker: - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/now-playing-speaker.png", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/now-playing-speaker.svg", size ); break; case NowPlayingSpeakerDark: - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/now-playing-speaker-dark.png", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/now-playing-speaker-dark.svg", size ); break; case InfoIcon: - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/info.png", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/info.svg", size ); break; case PlayButton: - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/play-rest.svg", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/play-rest.svg", size ); break; case PlayButtonPressed: - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/play-pressed.svg", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/play-pressed.svg", size ); break; case PauseButton: - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/pause-rest.svg", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/pause-rest.svg", size ); break; case PauseButtonPressed: - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/pause-pressed.svg", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/pause-pressed.svg", size ); break; case PrevButton: - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/back-rest.svg", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/back-rest.svg", size ); break; case PrevButtonPressed: - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/back-pressed.svg", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/back-pressed.svg", size ); break; case NextButton: - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/skip-rest.svg", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/skip-rest.svg", size ); break; case NextButtonPressed: - pixmap = ImageRegistry::instance()->getFromCache( RESPATH "images/skip-pressed.svg", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/skip-pressed.svg", size ); + break; + + case ShuffleOff: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/shuffle-off-rest.svg", size ); + break; + case ShuffleOffPressed: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/shuffle-off-pressed.svg", size ); + break; + case ShuffleOn: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/shuffle-on-rest.svg", size ); + break; + case ShuffleOnPressed: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/shuffle-on-pressed.svg", size ); + break; + + case RepeatOne: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/repeat-1-on-rest.svg", size ); + break; + case RepeatOnePressed: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/repeat-1-on-pressed.svg", size ); + break; + case RepeatAll: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/repeat-all-on-rest.svg", size ); + break; + case RepeatAllPressed: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/repeat-all-on-pressed.svg", size ); + break; + case RepeatOff: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/repeat-off-rest.svg", size ); + break; + case RepeatOffPressed: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/repeat-off-pressed.svg", size ); + break; + + case VolumeMuted: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/volume-icon-muted.svg", size ); + break; + case VolumeFull: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/volume-icon-full.svg", size ); + break; + + case Share: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/share.svg", size ); + break; + + case NotLoved: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/not-loved.svg", size ); + break; + case Loved: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/loved.svg", size ); + break; + + case Configure: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/configure.svg", size ); break; default: diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.h b/src/libtomahawk/utils/TomahawkUtilsGui.h index a9673c46e..2f55679db 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.h +++ b/src/libtomahawk/utils/TomahawkUtilsGui.h @@ -58,9 +58,10 @@ namespace TomahawkUtils DLLEXPORT void unmarginLayout( QLayout* layout ); + DLLEXPORT void setDefaultFontSize( int points ); DLLEXPORT int defaultFontSize(); DLLEXPORT int defaultFontHeight(); - DLLEXPORT void setDefaultFontSize( int points ); + DLLEXPORT QSize defaultIconSize(); DLLEXPORT QPixmap defaultPixmap( ImageType type, ImageMode mode = TomahawkUtils::Original, const QSize& size = QSize( 0, 0 ) ); From 79c6eaba8012d5e419bd552c00cd60f500859010 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Wed, 5 Dec 2012 02:18:55 +0100 Subject: [PATCH 063/332] * Started using SVGs for a bunch of images instead of good ol' PNG. --- resources.qrc | 61 ++++++------ src/AudioControls.cpp | 65 +++++++------ src/AudioControls.h | 2 - src/TomahawkTrayIcon.cpp | 4 +- src/TomahawkWindow.cpp | 93 ++++++++++--------- src/libtomahawk/ActionCollection.cpp | 14 +-- src/libtomahawk/ContextMenu.cpp | 11 ++- src/libtomahawk/accounts/AccountDelegate.cpp | 4 +- .../AccountFactoryWrapperDelegate.cpp | 8 +- .../resolvers/QtScriptResolver.cpp | 5 +- src/libtomahawk/resolvers/ScriptResolver.cpp | 4 +- src/libtomahawk/utils/TomahawkUtils.h | 19 +++- 12 files changed, 151 insertions(+), 139 deletions(-) diff --git a/resources.qrc b/resources.qrc index 37192e821..92840282e 100644 --- a/resources.qrc +++ b/resources.qrc @@ -1,51 +1,44 @@ - data/images/back-pressed.png - data/images/back-rest.png data/images/back-pressed.svg data/images/back-rest.svg - data/images/filter.png - data/images/loved.png - data/images/not-loved.png - data/images/no-album-art-placeholder.png - data/images/no-artist-image-placeholder.png - data/images/artist-placeholder-grid.png - data/images/album-placeholder-grid.png + data/images/filter.svg + data/images/loved.svg + data/images/not-loved.svg + data/images/no-album-art-placeholder.svg + data/images/no-artist-image-placeholder.svg + data/images/artist-placeholder-grid.svg + data/images/album-placeholder-grid.svg data/images/track-placeholder.png + data/images/track-placeholder-grid.svg data/images/now-playing-panel.png data/images/now-playing-speaker.png data/images/now-playing-speaker-dark.png - data/images/pause-pressed.png - data/images/pause-rest.png data/images/pause-pressed.svg data/images/pause-rest.svg - data/images/play-pressed.png data/images/play-pressed.svg - data/images/play-rest.png data/images/play-rest.svg data/images/sipplugin-add.png data/images/sipplugin-remove.png data/images/playlist-icon.png - data/images/repeat-1-on-pressed.png - data/images/repeat-1-on-rest.png - data/images/repeat-all-on-pressed.png - data/images/repeat-all-on-rest.png - data/images/repeat-off-pressed.png - data/images/repeat-off-rest.png + data/images/repeat-1-on-pressed.svg + data/images/repeat-1-on-rest.svg + data/images/repeat-all-on-pressed.svg + data/images/repeat-all-on-rest.svg + data/images/repeat-off-pressed.svg + data/images/repeat-off-rest.svg data/images/search-box-dismiss-x.png data/images/seek-and-volume-knob-pressed.png data/images/seek-and-volume-knob-rest.png data/images/seek-slider-bkg.png data/images/seek-slider-level.png - data/images/shuffle-off-pressed.png - data/images/shuffle-off-rest.png - data/images/shuffle-on-pressed.png - data/images/shuffle-on-rest.png - data/images/skip-pressed.png - data/images/skip-rest.png + data/images/shuffle-off-pressed.svg + data/images/shuffle-off-rest.svg + data/images/shuffle-on-pressed.svg + data/images/shuffle-on-rest.svg data/images/skip-pressed.svg data/images/skip-rest.svg - data/images/user-avatar.png + data/images/user-avatar.svg data/images/view-toggle-active-centre.png data/images/view-toggle-active-left.png data/images/view-toggle-active-right.png @@ -67,19 +60,19 @@ data/images/list-remove.png data/images/arrow-up-double.png data/images/arrow-down-double.png - data/images/volume-icon-full.png data/images/arrow-right-double.png data/images/view-refresh.png - data/images/volume-icon-muted.png + data/images/volume-icon-muted.svg + data/images/volume-icon-full.svg data/images/volume-slider-bkg.png data/images/volume-slider-level.png data/images/echonest_logo.png data/images/loading-animation.gif data/images/info.png - data/images/back.png - data/images/forward.png + data/images/back.svg + data/images/forward.svg data/images/music-icon.png - data/images/configure.png + data/images/configure.svg data/images/private-listening.png data/images/add.png data/images/recently-played.png @@ -142,13 +135,13 @@ data/images/closed-padlock.png data/images/open-padlock.png data/images/headphones-bigger.png - data/images/no-album-no-case.png + data/images/no-album-no-case.svg data/images/rdio.png data/images/grooveshark.png data/images/lastfm-icon.png data/images/spotifycore-logo.png data/images/playlist-header-tiled.png - data/images/share.png + data/images/share.svg data/images/process-stop.png data/icons/tomahawk-icon-128x128-grayscale.png data/images/collection.png @@ -164,7 +157,7 @@ data/images/green-dot.png data/images/exfm.png data/images/soundcloud.png - data/images/resolver-default.png + data/images/resolver-default.svg data/images/spotify-sourceicon.png data/images/account-offline.png data/images/account-online.png diff --git a/src/AudioControls.cpp b/src/AudioControls.cpp index eb7a04f43..4b6120fd6 100644 --- a/src/AudioControls.cpp +++ b/src/AudioControls.cpp @@ -20,12 +20,6 @@ #include "AudioControls.h" #include "ui_AudioControls.h" -#include "audio/AudioEngine.h" -#include "playlist/PlaylistView.h" -#include "database/Database.h" -#include "widgets/ImageButton.h" -#include "utils/TomahawkUtilsGui.h" -#include "utils/Logger.h" #include "Album.h" #include "DropJob.h" #include "SocialWidget.h" @@ -33,6 +27,13 @@ #include "ViewManager.h" #include "Source.h" +#include "audio/AudioEngine.h" +#include "playlist/PlaylistView.h" +#include "database/Database.h" +#include "widgets/ImageButton.h" +#include "utils/TomahawkUtilsGui.h" +#include "utils/Logger.h" + #include #include #include @@ -70,8 +71,7 @@ AudioControls::AudioControls( QWidget* parent ) font.setPointSize( TomahawkUtils::defaultFontSize() - 2 ); - m_defaultSourceIcon = QPixmap( RESPATH "images/resolver-default.png" ); - + ui->ownerButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultResolver, TomahawkUtils::Original, QSize( 34, 34 ) ) ); ui->prevButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PrevButton, TomahawkUtils::Original, QSize( 35, 35 ) ) ); ui->prevButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PrevButtonPressed, TomahawkUtils::Original, QSize( 35, 35 ) ), QIcon::Off, QIcon::Active ); ui->playPauseButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PlayButton, TomahawkUtils::Original, QSize( 48, 48 ) ) ); @@ -80,16 +80,15 @@ AudioControls::AudioControls( QWidget* parent ) ui->pauseButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PauseButtonPressed, TomahawkUtils::Original, QSize( 48, 48 ) ), QIcon::Off, QIcon::Active ); ui->nextButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::NextButton, TomahawkUtils::Original, QSize( 35, 35 ) ) ); ui->nextButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::NextButtonPressed, TomahawkUtils::Original, QSize( 35, 35 ) ), QIcon::Off, QIcon::Active ); - ui->shuffleButton->setPixmap( RESPATH "images/shuffle-off-rest.png" ); - ui->shuffleButton->setPixmap( RESPATH "images/shuffle-off-pressed.png", QIcon::Off, QIcon::Active ); - ui->repeatButton->setPixmap( RESPATH "images/repeat-off-rest.png" ); - ui->repeatButton->setPixmap( RESPATH "images/repeat-off-pressed.png", QIcon::Off, QIcon::Active ); - ui->volumeLowButton->setPixmap( RESPATH "images/volume-icon-muted.png" ); - ui->volumeHighButton->setPixmap( RESPATH "images/volume-icon-full.png" ); - ui->socialButton->setPixmap( RESPATH "images/share.png" ); - ui->loveButton->setPixmap( RESPATH "images/not-loved.png" ); + ui->shuffleButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::ShuffleOff, TomahawkUtils::Original, QSize( 34, 21 ) ) ); + ui->shuffleButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::ShuffleOffPressed, TomahawkUtils::Original, QSize( 34, 21 ) ), QIcon::Off, QIcon::Active ); + ui->repeatButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::RepeatOff, TomahawkUtils::Original, QSize( 34, 21 ) ) ); + ui->repeatButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::RepeatOffPressed, TomahawkUtils::Original, QSize( 34, 21 ) ), QIcon::Off, QIcon::Active ); + ui->volumeLowButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::VolumeMuted, TomahawkUtils::Original, QSize( 18, 18 ) ) ); + ui->volumeHighButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::VolumeFull, TomahawkUtils::Original, QSize( 22, 18 ) ) ); + ui->socialButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::Share, TomahawkUtils::Original, QSize( 20, 20 ) ) ); + ui->loveButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::NotLoved, TomahawkUtils::Original, QSize( 20, 20 ) ) ); ui->loveButton->setCheckable( true ); - ui->ownerButton->setPixmap( m_defaultSourceIcon ); ui->socialButton->setFixedSize( QSize( 20, 20 ) ); ui->loveButton->setFixedSize( QSize( 20, 20 ) ); @@ -294,7 +293,7 @@ AudioControls::onPlaybackLoading( const Tomahawk::result_ptr& result ) else { ui->ownerButton->clear(); - ui->ownerButton->setPixmap( m_defaultSourceIcon ); + ui->ownerButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultResolver, TomahawkUtils::Original, QSize( 34, 34 ) ) ); } if ( QUrl( result->linkUrl() ).isValid() || !result->collection().isNull() ) @@ -348,12 +347,12 @@ AudioControls::setSocialActions() { if ( m_currentTrack->toQuery()->loved() ) { - ui->loveButton->setPixmap( RESPATH "images/loved.png" ); + ui->loveButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::Loved, TomahawkUtils::Original, QSize( 20, 20 ) ) ); ui->loveButton->setChecked( true ); } else { - ui->loveButton->setPixmap( RESPATH "images/not-loved.png" ); + ui->loveButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::NotLoved, TomahawkUtils::Original, QSize( 20, 20 ) ) ); ui->loveButton->setChecked( false ); } } @@ -400,7 +399,7 @@ AudioControls::onPlaybackStopped() m_sliderTimeLine.stop(); m_sliderTimeLine.setCurrentTime( 0 ); m_phononTickCheckTimer.stop(); - ui->ownerButton->setPixmap( m_defaultSourceIcon ); + ui->ownerButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultResolver, TomahawkUtils::Original, QSize( 34, 34 ) ) ); ui->stackedLayout->setCurrentWidget( ui->playPauseButton ); ui->loveButton->setEnabled( false ); @@ -522,24 +521,24 @@ AudioControls::onRepeatModeChanged( PlaylistModes::RepeatMode mode ) case PlaylistModes::NoRepeat: { // switch to RepeatOne - ui->repeatButton->setPixmap( RESPATH "images/repeat-off-rest.png" ); - ui->repeatButton->setPixmap( RESPATH "images/repeat-off-pressed.png", QIcon::Off, QIcon::Active ); + ui->repeatButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::RepeatOff, TomahawkUtils::Original, QSize( 34, 21 ) ) ); + ui->repeatButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::RepeatOffPressed, TomahawkUtils::Original, QSize( 34, 21 ) ), QIcon::Off, QIcon::Active ); } break; case PlaylistModes::RepeatOne: { // switch to RepeatAll - ui->repeatButton->setPixmap( RESPATH "images/repeat-1-on-rest.png" ); - ui->repeatButton->setPixmap( RESPATH "images/repeat-1-on-pressed.png", QIcon::Off, QIcon::Active ); + ui->repeatButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::RepeatOne, TomahawkUtils::Original, QSize( 34, 21 ) ) ); + ui->repeatButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::RepeatOnePressed, TomahawkUtils::Original, QSize( 34, 21 ) ), QIcon::Off, QIcon::Active ); } break; case PlaylistModes::RepeatAll: { // switch to NoRepeat - ui->repeatButton->setPixmap( RESPATH "images/repeat-all-on-rest.png" ); - ui->repeatButton->setPixmap( RESPATH "images/repeat-all-on-pressed.png", QIcon::Off, QIcon::Active ); + ui->repeatButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::RepeatAll, TomahawkUtils::Original, QSize( 34, 21 ) ) ); + ui->repeatButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::RepeatAllPressed, TomahawkUtils::Original, QSize( 34, 21 ) ), QIcon::Off, QIcon::Active ); } break; @@ -590,15 +589,15 @@ AudioControls::onShuffleModeChanged( bool enabled ) if ( m_shuffled ) { - ui->shuffleButton->setPixmap( RESPATH "images/shuffle-on-rest.png" ); - ui->shuffleButton->setPixmap( RESPATH "images/shuffle-on-pressed.png", QIcon::Off, QIcon::Active ); + ui->shuffleButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::ShuffleOn, TomahawkUtils::Original, QSize( 34, 21 ) ) ); + ui->shuffleButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::ShuffleOnPressed, TomahawkUtils::Original, QSize( 34, 21 ) ), QIcon::Off, QIcon::Active ); ui->repeatButton->setEnabled( false ); } else { - ui->shuffleButton->setPixmap( RESPATH "images/shuffle-off-rest.png" ); - ui->shuffleButton->setPixmap( RESPATH "images/shuffle-off-pressed.png", QIcon::Off, QIcon::Active ); + ui->shuffleButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::ShuffleOff, TomahawkUtils::Original, QSize( 34, 21 ) ) ); + ui->shuffleButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::ShuffleOffPressed, TomahawkUtils::Original, QSize( 34, 21 ) ), QIcon::Off, QIcon::Active ); ui->repeatButton->setEnabled( true ); } @@ -701,13 +700,13 @@ AudioControls::onLoveButtonClicked( bool checked ) { if ( checked ) { - ui->loveButton->setPixmap( RESPATH "images/loved.png" ); + ui->loveButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::Loved, TomahawkUtils::Original, QSize( 20, 20 ) ) ); m_currentTrack->toQuery()->setLoved( true ); } else { - ui->loveButton->setPixmap( RESPATH "images/not-loved.png" ); + ui->loveButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::NotLoved, TomahawkUtils::Original, QSize( 20, 20 ) ) ); m_currentTrack->toQuery()->setLoved( false ); } diff --git a/src/AudioControls.h b/src/AudioControls.h index 0e1b2d05b..00cc1e9da 100644 --- a/src/AudioControls.h +++ b/src/AudioControls.h @@ -101,8 +101,6 @@ private: Tomahawk::PlaylistModes::RepeatMode m_repeatMode; bool m_shuffled; - QPixmap m_defaultSourceIcon; - QTimer m_phononTickCheckTimer; QTimeLine m_sliderTimeLine; bool m_seeked; diff --git a/src/TomahawkTrayIcon.cpp b/src/TomahawkTrayIcon.cpp index 36a416187..592c2c64e 100644 --- a/src/TomahawkTrayIcon.cpp +++ b/src/TomahawkTrayIcon.cpp @@ -315,7 +315,7 @@ void TomahawkTrayIcon::onSocialActionsLoaded() { m_loveTrackAction->setText( tr( "&Love" ) ); - m_loveTrackAction->setIcon( QIcon( RESPATH "images/loved.png" ) ); + m_loveTrackAction->setIcon( QIcon( RESPATH "images/loved.svg" ) ); if ( !m_currentTrack ) return; @@ -323,7 +323,7 @@ TomahawkTrayIcon::onSocialActionsLoaded() if ( m_currentTrack->toQuery()->loved() ) { m_loveTrackAction->setText( tr( "Un-&Love" ) ); - m_loveTrackAction->setIcon( QIcon( RESPATH "images/not-loved.png" ) ); + m_loveTrackAction->setIcon( QIcon( RESPATH "images/not-loved.svg" ) ); } } diff --git a/src/TomahawkWindow.cpp b/src/TomahawkWindow.cpp index d40d51b3b..b4e143523 100644 --- a/src/TomahawkWindow.cpp +++ b/src/TomahawkWindow.cpp @@ -22,47 +22,6 @@ #include "TomahawkWindow.h" #include "ui_TomahawkWindow.h" -#include "accounts/AccountManager.h" -#include "sourcetree/SourceTreeView.h" -#include "network/Servent.h" -#include "utils/TomahawkUtilsGui.h" -#include "utils/ProxyStyle.h" -#include "utils/WidgetDragFilter.h" -#include "widgets/AccountsToolButton.h" -#include "widgets/AnimatedSplitter.h" -#include "widgets/NewPlaylistWidget.h" -#include "widgets/SearchWidget.h" -#include "widgets/PlaylistTypeSelectorDialog.h" -#include "thirdparty/Qocoa/qsearchfield.h" -#include "playlist/dynamic/GeneratorInterface.h" -#include "playlist/PlaylistModel.h" -#include "playlist/PlaylistView.h" -#include "playlist/QueueView.h" -#include "jobview/JobStatusView.h" -#include "jobview/JobStatusModel.h" -#include "jobview/ErrorStatusMessage.h" -#include "jobview/JobStatusModel.h" -#include "sip/SipPlugin.h" - -#include "Playlist.h" -#include "Query.h" -#include "Artist.h" -#include "ViewManager.h" -#include "ActionCollection.h" -#include "AudioControls.h" -#include "SettingsDialog.h" -#include "DiagnosticsDialog.h" -#include "TomahawkSettings.h" -#include "SourceList.h" -#include "TomahawkTrayIcon.h" -#include "libtomahawk/filemetadata/ScanManager.h" -#include "TomahawkApp.h" -#include "LoadXSPFDialog.h" -#include "widgets/ContainedMenuButton.h" -#include "utils/Logger.h" - -#include "config.h" - #include #include #include @@ -79,6 +38,48 @@ #include #include +#include "accounts/AccountManager.h" +#include "sourcetree/SourceTreeView.h" +#include "network/Servent.h" +#include "utils/TomahawkUtilsGui.h" +#include "utils/ProxyStyle.h" +#include "utils/WidgetDragFilter.h" +#include "widgets/AccountsToolButton.h" +#include "widgets/AnimatedSplitter.h" +#include "widgets/NewPlaylistWidget.h" +#include "widgets/SearchWidget.h" +#include "widgets/PlaylistTypeSelectorDialog.h" +#include "widgets/ContainedMenuButton.h" +#include "thirdparty/Qocoa/qsearchfield.h" +#include "playlist/dynamic/GeneratorInterface.h" +#include "playlist/PlaylistModel.h" +#include "playlist/PlaylistView.h" +#include "playlist/QueueView.h" +#include "jobview/JobStatusView.h" +#include "jobview/JobStatusModel.h" +#include "jobview/ErrorStatusMessage.h" +#include "jobview/JobStatusModel.h" +#include "sip/SipPlugin.h" +#include "filemetadata/ScanManager.h" + +#include "Playlist.h" +#include "Query.h" +#include "Artist.h" +#include "ViewManager.h" +#include "ActionCollection.h" +#include "AudioControls.h" +#include "SettingsDialog.h" +#include "DiagnosticsDialog.h" +#include "TomahawkSettings.h" +#include "SourceList.h" +#include "TomahawkTrayIcon.h" +#include "TomahawkApp.h" +#include "LoadXSPFDialog.h" +#include "utils/ImageRegistry.h" +#include "utils/Logger.h" + +#include "config.h" + #if defined( Q_WS_WIN ) #if defined ( WITH_QtSparkle ) #include @@ -262,9 +263,9 @@ TomahawkWindow::setupToolBar() m_toolbar->installEventFilter( new WidgetDragFilter( m_toolbar ) ); #endif - m_backAction = m_toolbar->addAction( QIcon( RESPATH "images/back.png" ), tr( "Back" ), ViewManager::instance(), SLOT( historyBack() ) ); + m_backAction = m_toolbar->addAction( ImageRegistry::instance()->icon( RESPATH "images/back.svg" ), tr( "Back" ), ViewManager::instance(), SLOT( historyBack() ) ); m_backAction->setToolTip( tr( "Go back one page" ) ); - m_forwardAction = m_toolbar->addAction( QIcon( RESPATH "images/forward.png" ), tr( "Forward" ), ViewManager::instance(), SLOT( historyForward() ) ); + m_forwardAction = m_toolbar->addAction( ImageRegistry::instance()->icon( RESPATH "images/forward.svg" ), tr( "Forward" ), ViewManager::instance(), SLOT( historyForward() ) ); m_forwardAction->setToolTip( tr( "Go forward one page" ) ); m_toolbarLeftBalancer = new QWidget( this ); @@ -300,7 +301,7 @@ TomahawkWindow::setupToolBar() #ifndef Q_OS_MAC ContainedMenuButton* compactMenuButton = new ContainedMenuButton( m_toolbar ); - compactMenuButton->setIcon( QIcon( RESPATH "images/configure.png" ) ); + compactMenuButton->setIcon( ImageRegistry::instance()->icon( RESPATH "images/configure.svg" ) ); compactMenuButton->setText( tr( "&Main Menu" ) ); compactMenuButton->setMenu( m_compactMainMenu ); compactMenuButton->setToolButtonStyle( Qt::ToolButtonIconOnly ); @@ -1121,7 +1122,7 @@ TomahawkWindow::audioStarted() { m_audioRetryCounter = 0; - ActionCollection::instance()->getAction( "playPause" )->setIcon( QIcon( RESPATH "images/pause-rest.png" ) ); + ActionCollection::instance()->getAction( "playPause" )->setIcon( ImageRegistry::instance()->icon( RESPATH "images/pause-rest.svg" ) ); ActionCollection::instance()->getAction( "playPause" )->setText( tr( "Pause" ) ); ActionCollection::instance()->getAction( "stop" )->setEnabled( true ); @@ -1143,7 +1144,7 @@ TomahawkWindow::audioFinished() void TomahawkWindow::audioPaused() { - ActionCollection::instance()->getAction( "playPause" )->setIcon( QIcon( RESPATH "images/play-rest.png" ) ); + ActionCollection::instance()->getAction( "playPause" )->setIcon( ImageRegistry::instance()->icon( RESPATH "images/play-rest.svg" ) ); ActionCollection::instance()->getAction( "playPause" )->setText( tr( "&Play" ) ); } diff --git a/src/libtomahawk/ActionCollection.cpp b/src/libtomahawk/ActionCollection.cpp index 7dd304a41..449ac9154 100644 --- a/src/libtomahawk/ActionCollection.cpp +++ b/src/libtomahawk/ActionCollection.cpp @@ -20,11 +20,13 @@ */ #include "ActionCollection.h" + #include "TomahawkSettings.h" +#include "Source.h" #include "audio/AudioEngine.h" +#include "utils/ImageRegistry.h" #include "utils/TomahawkUtils.h" #include "utils/Logger.h" -#include "Source.h" #include @@ -76,14 +78,14 @@ ActionCollection::initActions() m_actionCollection[ "renamePlaylist" ] = new QAction( tr( "&Rename Playlist" ), this ); m_actionCollection[ "copyPlaylist" ] = new QAction( tr( "&Copy Playlist Link" ), this ); m_actionCollection[ "playPause" ] = new QAction( tr( "&Play" ), this ); - m_actionCollection[ "playPause" ]->setIcon( QIcon( RESPATH "images/play-rest.png" ) ); + m_actionCollection[ "playPause" ]->setIcon( ImageRegistry::instance()->icon( RESPATH "images/play-rest.svg" ) ); m_actionCollection[ "playPause" ]->setShortcut( Qt::Key_Space ); m_actionCollection[ "playPause" ]->setShortcutContext( Qt::ApplicationShortcut ); m_actionCollection[ "stop" ] = new QAction( tr( "&Stop" ), this ); m_actionCollection[ "previousTrack" ] = new QAction( tr( "&Previous Track" ), this ); - m_actionCollection[ "previousTrack" ]->setIcon( QIcon( RESPATH "images/back-rest.png" ) ); + m_actionCollection[ "previousTrack" ]->setIcon( ImageRegistry::instance()->icon( RESPATH "images/back-rest.svg" ) ); m_actionCollection[ "nextTrack" ] = new QAction( tr( "&Next Track" ), this ); - m_actionCollection[ "nextTrack" ]->setIcon( QIcon( RESPATH "images/skip-rest.png" ) ); + m_actionCollection[ "nextTrack" ]->setIcon( ImageRegistry::instance()->icon( RESPATH "images/skip-rest.svg" ) ); m_actionCollection[ "quit" ] = new QAction( tr( "&Quit" ), this ); m_actionCollection[ "quit" ]->setShortcut( QKeySequence::Quit ); m_actionCollection[ "quit" ]->setShortcutContext( Qt::ApplicationShortcut ); @@ -103,7 +105,7 @@ ActionCollection::initActions() m_actionCollection[ "showOfflineSources" ] = new QAction( tr( "Show Offline Sources" ), this ); m_actionCollection[ "showOfflineSources" ]->setCheckable( true ); m_actionCollection[ "preferences" ] = new QAction( tr( "&Configure Tomahawk..." ), this ); - m_actionCollection[ "preferences" ]->setIcon( QIcon( RESPATH "images/configure.png" ) ); + m_actionCollection[ "preferences" ]->setIcon( ImageRegistry::instance()->icon( RESPATH "images/configure.svg" ) ); m_actionCollection[ "preferences" ]->setMenuRole( QAction::PreferencesRole ); #ifdef Q_OS_MAC m_actionCollection[ "minimize" ] = new QAction( tr( "Minimize" ), this ); @@ -118,7 +120,7 @@ ActionCollection::initActions() m_actionCollection[ "diagnostics" ] = new QAction( tr( "Diagnostics..." ), this ); m_actionCollection[ "diagnostics" ]->setMenuRole( QAction::ApplicationSpecificRole ); m_actionCollection[ "aboutTomahawk" ] = new QAction( tr( "About &Tomahawk..." ), this ); - m_actionCollection[ "aboutTomahawk" ]->setIcon( QIcon( RESPATH "images/info.png" ) ); + m_actionCollection[ "aboutTomahawk" ]->setIcon( ImageRegistry::instance()->icon( RESPATH "images/info.svg" ) ); m_actionCollection[ "aboutTomahawk" ]->setMenuRole( QAction::AboutRole ); m_actionCollection[ "legalInfo" ] = new QAction( tr( "&Legal Information..." ), this ); m_actionCollection[ "legalInfo" ]->setMenuRole( QAction::ApplicationSpecificRole ); diff --git a/src/libtomahawk/ContextMenu.cpp b/src/libtomahawk/ContextMenu.cpp index 8c460535d..eefad6b0f 100644 --- a/src/libtomahawk/ContextMenu.cpp +++ b/src/libtomahawk/ContextMenu.cpp @@ -18,8 +18,10 @@ #include "ContextMenu.h" -#include "GlobalActionManager.h" +#include "audio/AudioEngine.h" #include "playlist/PlaylistView.h" +#include "filemetadata/MetadataEditor.h" +#include "GlobalActionManager.h" #include "ViewManager.h" #include "Query.h" #include "Result.h" @@ -28,9 +30,8 @@ #include "Artist.h" #include "Album.h" +#include "utils/ImageRegistry.h" #include "utils/Logger.h" -#include "audio/AudioEngine.h" -#include "filemetadata/MetadataEditor.h" using namespace Tomahawk; @@ -365,12 +366,12 @@ ContextMenu::onSocialActionsLoaded() if ( m_loveAction && m_queries.first()->loved() ) { m_loveAction->setText( tr( "Un-&Love" ) ); - m_loveAction->setIcon( QIcon( RESPATH "images/not-loved.png" ) ); + m_loveAction->setIcon( ImageRegistry::instance()->icon( RESPATH "images/not-loved.svg" ) ); } else if ( m_loveAction ) { m_loveAction->setText( tr( "&Love" ) ); - m_loveAction->setIcon( QIcon( RESPATH "images/loved.png" ) ); + m_loveAction->setIcon( ImageRegistry::instance()->icon( RESPATH "images/loved.svg" ) ); } } diff --git a/src/libtomahawk/accounts/AccountDelegate.cpp b/src/libtomahawk/accounts/AccountDelegate.cpp index 8996b9aa9..7689a51a5 100644 --- a/src/libtomahawk/accounts/AccountDelegate.cpp +++ b/src/libtomahawk/accounts/AccountDelegate.cpp @@ -26,7 +26,7 @@ #include "accounts/Account.h" #include "accounts/AccountManager.h" -#include "utils/TomahawkUtils.h" +#include "utils/ImageRegistry.h" #include "utils/TomahawkUtilsGui.h" #include "utils/Logger.h" #include "utils/AnimatedSpinner.h" @@ -637,7 +637,7 @@ AccountDelegate::drawConfigWrench ( QPainter* painter, QStyleOptionViewItemV4& o // draw it the same size as the check belox topt.font = opt.font; - topt.icon = QIcon( RESPATH "images/configure.png" ); + topt.icon = ImageRegistry::instance()->icon( RESPATH "images/configure.svg" ); topt.iconSize = QSize( 14, 14 ); topt.subControls = QStyle::SC_ToolButton; topt.activeSubControls = QStyle::SC_None; diff --git a/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.cpp b/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.cpp index 2b61599c5..e03443f0d 100644 --- a/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.cpp +++ b/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.cpp @@ -17,10 +17,12 @@ */ #include "AccountFactoryWrapperDelegate.h" -#include "accounts/Account.h" + #include "AccountFactoryWrapper.h" -#include "utils/TomahawkUtils.h" #include "Source.h" +#include "accounts/Account.h" +#include "utils/ImageRegistry.h" +#include "utils/TomahawkUtils.h" #include #include @@ -43,7 +45,7 @@ AccountFactoryWrapperDelegate::AccountFactoryWrapperDelegate( QObject* parent ) m_onlineIcon = m_onlineIcon.scaled( ICON_SIZE, ICON_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); m_offlineIcon = m_offlineIcon.scaled( ICON_SIZE, ICON_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); - m_configIcon.addFile( RESPATH "images/configure.png", QSize( CONFIG_WRENCH_SIZE - 8, CONFIG_WRENCH_SIZE - 8 ) ); + m_configIcon = ImageRegistry::instance()->pixmap( RESPATH "images/configure.svg", QSize( CONFIG_WRENCH_SIZE - 8, CONFIG_WRENCH_SIZE - 8 ) ); } void diff --git a/src/libtomahawk/resolvers/QtScriptResolver.cpp b/src/libtomahawk/resolvers/QtScriptResolver.cpp index 978f2a0e4..5923a08fe 100644 --- a/src/libtomahawk/resolvers/QtScriptResolver.cpp +++ b/src/libtomahawk/resolvers/QtScriptResolver.cpp @@ -35,7 +35,7 @@ #include "network/Servent.h" -#include "utils/TomahawkUtils.h" +#include "utils/TomahawkUtilsGui.h" #include "utils/Logger.h" // FIXME: bloody hack, remove this for 0.3 @@ -231,8 +231,7 @@ QtScriptResolver::QtScriptResolver( const QString& scriptPath ) m_name = QFileInfo( filePath() ).baseName(); // set the icon, if we launch properly we'll get the icon the resolver reports - m_icon.load( RESPATH "images/resolver-default.png" ); - + m_icon = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultResolver, TomahawkUtils::Original, QSize( 128, 128 ) ); if ( !QFile::exists( filePath() ) ) { diff --git a/src/libtomahawk/resolvers/ScriptResolver.cpp b/src/libtomahawk/resolvers/ScriptResolver.cpp index 98a2a183b..b2cf5ec71 100644 --- a/src/libtomahawk/resolvers/ScriptResolver.cpp +++ b/src/libtomahawk/resolvers/ScriptResolver.cpp @@ -28,7 +28,7 @@ #include "Pipeline.h" #include "SourceList.h" -#include "utils/TomahawkUtils.h" +#include "utils/TomahawkUtilsGui.h" #include "utils/Logger.h" #ifdef Q_OS_WIN @@ -59,7 +59,7 @@ ScriptResolver::ScriptResolver( const QString& exe ) m_name = QFileInfo( filePath() ).baseName(); // set the icon, if we launch properly we'll get the icon the resolver reports - m_icon.load( RESPATH "images/resolver-default.png" ); + m_icon = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultResolver, TomahawkUtils::Original, QSize( 128, 128 ) ); } diff --git a/src/libtomahawk/utils/TomahawkUtils.h b/src/libtomahawk/utils/TomahawkUtils.h index 363d5b056..675a9551c 100644 --- a/src/libtomahawk/utils/TomahawkUtils.h +++ b/src/libtomahawk/utils/TomahawkUtils.h @@ -48,6 +48,7 @@ namespace TomahawkUtils DefaultArtistImage, DefaultTrackImage, DefaultSourceAvatar, + DefaultResolver, NowPlayingSpeaker, NowPlayingSpeakerDark, InfoIcon, @@ -58,7 +59,23 @@ namespace TomahawkUtils PrevButton, PrevButtonPressed, NextButton, - NextButtonPressed + NextButtonPressed, + ShuffleOff, + ShuffleOffPressed, + ShuffleOn, + ShuffleOnPressed, + RepeatOne, + RepeatOnePressed, + RepeatAll, + RepeatAllPressed, + RepeatOff, + RepeatOffPressed, + VolumeMuted, + VolumeFull, + Share, + NotLoved, + Loved, + Configure }; enum ImageMode From e26b42e083a629547e82e3847fc081e17e7e9a51 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Wed, 5 Dec 2012 02:24:15 +0100 Subject: [PATCH 064/332] * Forgot to add now playing speaker to resources.qrc. --- resources.qrc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources.qrc b/resources.qrc index 92840282e..e4cc30799 100644 --- a/resources.qrc +++ b/resources.qrc @@ -12,8 +12,8 @@ data/images/track-placeholder.png data/images/track-placeholder-grid.svg data/images/now-playing-panel.png - data/images/now-playing-speaker.png - data/images/now-playing-speaker-dark.png + data/images/now-playing-speaker.svg + data/images/now-playing-speaker-dark.svg data/images/pause-pressed.svg data/images/pause-rest.svg data/images/play-pressed.svg From c71ed2f4e98b7c91b173489a6c9802df17f861fc Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 20:47:33 -0500 Subject: [PATCH 065/332] Make volume icons match other controls --- data/images/volume-icon-full.svg | 12 +++++------- data/images/volume-icon-muted.svg | 4 ++-- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/data/images/volume-icon-full.svg b/data/images/volume-icon-full.svg index 56b640fb8..8cd0007d4 100644 --- a/data/images/volume-icon-full.svg +++ b/data/images/volume-icon-full.svg @@ -3,17 +3,15 @@ volume-icon-full Created with Sketch (http://www.bohemiancoding.com/sketch) - + - - - - - - + + + + \ No newline at end of file diff --git a/data/images/volume-icon-muted.svg b/data/images/volume-icon-muted.svg index 4edc5ff73..d82f9cf95 100644 --- a/data/images/volume-icon-muted.svg +++ b/data/images/volume-icon-muted.svg @@ -3,14 +3,14 @@ volume-icon-muted Created with Sketch (http://www.bohemiancoding.com/sketch) - + - + \ No newline at end of file From 4b6b9d96597df71a23d730b302e4891dc3bd5d69 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 21:01:31 -0500 Subject: [PATCH 066/332] Add the 1 to the Repeat 1 icons --- data/images/repeat-1-on-pressed.svg | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/data/images/repeat-1-on-pressed.svg b/data/images/repeat-1-on-pressed.svg index 8be0e9c14..b6c0fb414 100644 --- a/data/images/repeat-1-on-pressed.svg +++ b/data/images/repeat-1-on-pressed.svg @@ -4,13 +4,15 @@ Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + + + + + + 1 + - - - 1 - \ No newline at end of file From 720c967ecab1ac45c43a5205e437a2ca453e152d Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 21:13:45 -0500 Subject: [PATCH 067/332] Headphones & generic Track SVG --- data/images/headphones.svg | 9 ++++ data/images/track-icon.svg | 9 ++++ data/images/track-placeholder-grid.svg | 60 ++++---------------------- 3 files changed, 26 insertions(+), 52 deletions(-) create mode 100644 data/images/headphones.svg create mode 100644 data/images/track-icon.svg diff --git a/data/images/headphones.svg b/data/images/headphones.svg new file mode 100644 index 000000000..bc1250315 --- /dev/null +++ b/data/images/headphones.svg @@ -0,0 +1,9 @@ + + + headphones + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/track-icon.svg b/data/images/track-icon.svg new file mode 100644 index 000000000..ca92a70bb --- /dev/null +++ b/data/images/track-icon.svg @@ -0,0 +1,9 @@ + + + track-placeholder-grid + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/track-placeholder-grid.svg b/data/images/track-placeholder-grid.svg index ecf864a84..214466a1c 100644 --- a/data/images/track-placeholder-grid.svg +++ b/data/images/track-placeholder-grid.svg @@ -1,53 +1,9 @@ - - -image/svg+xml \ No newline at end of file + + track-placeholder-grid + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file From 9328a50c015accbe4f8d2d1f8b33be109c267178 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 21:23:36 -0500 Subject: [PATCH 068/332] Tweak Album Placeholder --- data/images/album-placeholder-grid.svg | 61 ++++---------------------- 1 file changed, 8 insertions(+), 53 deletions(-) diff --git a/data/images/album-placeholder-grid.svg b/data/images/album-placeholder-grid.svg index c911a119a..f067113b8 100644 --- a/data/images/album-placeholder-grid.svg +++ b/data/images/album-placeholder-grid.svg @@ -1,57 +1,12 @@ - - album-placeholder + + album-placeholder-grid Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + \ No newline at end of file From 4b60ce6138f281c7e71a81abe6223083c1dcb492 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 21:38:55 -0500 Subject: [PATCH 069/332] Make Love icons and Share icon same size --- data/images/loved.svg | 6 ++-- data/images/not-loved.svg | 6 ++-- data/images/share.svg | 63 +++++++-------------------------------- 3 files changed, 17 insertions(+), 58 deletions(-) diff --git a/data/images/loved.svg b/data/images/loved.svg index b83cec8dc..447715b40 100644 --- a/data/images/loved.svg +++ b/data/images/loved.svg @@ -1,12 +1,12 @@ - + loved Created with Sketch (http://www.bohemiancoding.com/sketch) - - + + \ No newline at end of file diff --git a/data/images/not-loved.svg b/data/images/not-loved.svg index 37e60a2d7..8af8b7b1e 100644 --- a/data/images/not-loved.svg +++ b/data/images/not-loved.svg @@ -1,9 +1,9 @@ - - Slice 1 + + not-loved Created with Sketch (http://www.bohemiancoding.com/sketch) - + \ No newline at end of file diff --git a/data/images/share.svg b/data/images/share.svg index d7df7c012..1a517ef6d 100644 --- a/data/images/share.svg +++ b/data/images/share.svg @@ -1,53 +1,12 @@ - - -image/svg+xml \ No newline at end of file + + share + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file From 37a642e0a7ec2790d36094113560594bd8a78dd7 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 21:43:53 -0500 Subject: [PATCH 070/332] Refix Share.svg --- data/images/share.svg | 63 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 52 insertions(+), 11 deletions(-) diff --git a/data/images/share.svg b/data/images/share.svg index 1a517ef6d..d7df7c012 100644 --- a/data/images/share.svg +++ b/data/images/share.svg @@ -1,12 +1,53 @@ - - share - Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - - \ No newline at end of file + + +image/svg+xml \ No newline at end of file From e9388209d1d4d52f2869d1b18fec55b8d174c356 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 4 Dec 2012 22:36:55 -0500 Subject: [PATCH 071/332] Rough version of Private Listening (had to create from scratch) --- data/images/private-listening.svg | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 data/images/private-listening.svg diff --git a/data/images/private-listening.svg b/data/images/private-listening.svg new file mode 100644 index 000000000..e5af70329 --- /dev/null +++ b/data/images/private-listening.svg @@ -0,0 +1,12 @@ + + + private-listening + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file From 12b0efdf8f25e348605f2b526f96f0404443932f Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Wed, 5 Dec 2012 05:43:17 +0100 Subject: [PATCH 072/332] * Replaced a ton more PNGs with SVGs. --- .../{apply-checked.svg => apply-check.svg} | 0 .../{playlist.svg => playlist-icon.svg} | 0 ...x-dismiss.svg => search-box-dismiss-x.svg} | 0 data/stylesheets/topbar-radiobuttons.css | 30 ++--- resources.qrc | 105 ++++++++---------- src/SettingsDialog.cpp | 17 +-- src/SocialWidget.cpp | 5 +- src/libtomahawk/accounts/AccountDelegate.cpp | 3 - src/libtomahawk/accounts/AccountDelegate.h | 3 +- .../AccountFactoryWrapperDelegate.cpp | 10 +- .../accounts/AccountFactoryWrapperDelegate.h | 1 - .../jobview/ErrorStatusMessage.cpp | 10 +- src/libtomahawk/jobview/IndexingJobItem.cpp | 9 +- src/libtomahawk/jobview/LatchedStatusItem.cpp | 12 +- src/libtomahawk/jobview/LatchedStatusItem.h | 3 +- .../jobview/TransferStatusItem.cpp | 28 +++-- src/libtomahawk/jobview/TransferStatusItem.h | 7 +- src/libtomahawk/playlist/PlaylistView.cpp | 10 +- src/libtomahawk/playlist/PlaylistView.h | 2 +- .../dynamic/echonest/EchonestSteerer.cpp | 5 +- .../dynamic/widgets/CollapsibleControls.cpp | 3 +- .../dynamic/widgets/DynamicControlList.cpp | 4 +- .../dynamic/widgets/DynamicControlWrapper.cpp | 6 +- .../dynamic/widgets/DynamicWidget.cpp | 3 +- src/libtomahawk/utils/TomahawkUtils.h | 29 ++++- src/libtomahawk/utils/TomahawkUtilsGui.cpp | 103 ++++++++++++++++- src/libtomahawk/widgets/NewReleasesWidget.cpp | 2 +- src/libtomahawk/widgets/QueryLabel.cpp | 5 +- src/libtomahawk/widgets/QueryLabel.h | 1 - .../widgets/SourceTreePopupDialog.cpp | 11 +- src/libtomahawk/widgets/WelcomeWidget.cpp | 20 ++-- src/libtomahawk/widgets/WelcomeWidget.h | 5 +- src/libtomahawk/widgets/WhatsHotWidget.cpp | 2 +- .../widgets/infowidgets/SourceInfoWidget.cpp | 10 +- .../widgets/infowidgets/SourceInfoWidget.h | 3 +- src/sourcetree/SourceDelegate.cpp | 37 +++--- src/sourcetree/SourceDelegate.h | 1 - src/sourcetree/SourcesModel.cpp | 22 ++-- src/sourcetree/items/LovedTracksItem.cpp | 6 +- src/sourcetree/items/PlaylistItems.cpp | 26 ++--- src/sourcetree/items/PlaylistItems.h | 3 +- src/sourcetree/items/SourceItem.cpp | 9 +- src/sourcetree/items/SourceItem.h | 1 - src/sourcetree/items/TemporaryPageItem.cpp | 9 +- src/widgets/AccountWidget.cpp | 2 +- src/widgets/AccountsToolButton.cpp | 11 +- 46 files changed, 344 insertions(+), 250 deletions(-) rename data/images/{apply-checked.svg => apply-check.svg} (100%) rename data/images/{playlist.svg => playlist-icon.svg} (100%) rename data/images/{search-box-dismiss.svg => search-box-dismiss-x.svg} (100%) diff --git a/data/images/apply-checked.svg b/data/images/apply-check.svg similarity index 100% rename from data/images/apply-checked.svg rename to data/images/apply-check.svg diff --git a/data/images/playlist.svg b/data/images/playlist-icon.svg similarity index 100% rename from data/images/playlist.svg rename to data/images/playlist-icon.svg diff --git a/data/images/search-box-dismiss.svg b/data/images/search-box-dismiss-x.svg similarity index 100% rename from data/images/search-box-dismiss.svg rename to data/images/search-box-dismiss-x.svg diff --git a/data/stylesheets/topbar-radiobuttons.css b/data/stylesheets/topbar-radiobuttons.css index 402d3c1cb..37f1e228b 100644 --- a/data/stylesheets/topbar-radiobuttons.css +++ b/data/stylesheets/topbar-radiobuttons.css @@ -18,38 +18,38 @@ QRadioButton::indicator { } QRadioButton::indicator::unchecked { - background-image: url(:/data/images/view-toggle-inactive-centre.png); - image: url(:/data/images/view-toggle-icon-list-inactive.png); + background-image: url(:/data/images/view-toggle-inactive-centre.svg); + image: url(:/data/images/view-toggle-icon-list-inactive.svg); } QRadioButton::indicator::checked { background-image: url(:/data/images/view-toggle-active-centre.png); - image: url(:/data/images/view-toggle-icon-list-active.png); + image: url(:/data/images/view-toggle-icon-list-active.svg); } QRadioButton::indicator::pressed { - background-image: url(:/data/images/view-toggle-pressed-centre.png); - image: url(:/data/images/view-toggle-icon-list-active.png); + background-image: url(:/data/images/view-toggle-pressed-centre.svg); + image: url(:/data/images/view-toggle-icon-list-active.svg); } QRadioButton#radioNormal::indicator::unchecked { - background-image: url(:/data/images/view-toggle-inactive-left.png); - image: url(:/data/images/view-toggle-icon-artist-inactive.png); + background-image: url(:/data/images/view-toggle-inactive-left.svg); + image: url(:/data/images/view-toggle-icon-artist-inactive.svg); } QRadioButton#radioNormal::indicator::checked { background-image: url(:/data/images/view-toggle-active-left.png); - image: url(:/data/images/view-toggle-icon-artist-active.png); + image: url(:/data/images/view-toggle-icon-artist-active.svg); } QRadioButton#radioNormal::indicator::pressed { - background-image: url(:/data/images/view-toggle-pressed-left.png); - image: url(:/data/images/view-toggle-icon-artist-active.png); + background-image: url(:/data/images/view-toggle-pressed-left.svg); + image: url(:/data/images/view-toggle-icon-artist-active.svg); } QRadioButton#radioCloud::indicator::unchecked { - background-image: url(:/data/images/view-toggle-inactive-right.png); - image: url(:/data/images/view-toggle-icon-grid-inactive.png); + background-image: url(:/data/images/view-toggle-inactive-right.svg); + image: url(:/data/images/view-toggle-icon-grid-inactive.svg); } QRadioButton#radioCloud::indicator::checked { background-image: url(:/data/images/view-toggle-active-right.png); - image: url(:/data/images/view-toggle-icon-grid-active.png); + image: url(:/data/images/view-toggle-icon-grid-active.svg); } QRadioButton#radioCloud::indicator::pressed { - background-image: url(:/data/images/view-toggle-pressed-right.png); - image: url(:/data/images/view-toggle-icon-grid-active.png); + background-image: url(:/data/images/view-toggle-pressed-right.svg); + image: url(:/data/images/view-toggle-icon-grid-active.svg); } diff --git a/resources.qrc b/resources.qrc index e4cc30799..5d5f66e70 100644 --- a/resources.qrc +++ b/resources.qrc @@ -18,16 +18,13 @@ data/images/pause-rest.svg data/images/play-pressed.svg data/images/play-rest.svg - data/images/sipplugin-add.png - data/images/sipplugin-remove.png - data/images/playlist-icon.png + data/images/playlist-icon.svg data/images/repeat-1-on-pressed.svg data/images/repeat-1-on-rest.svg data/images/repeat-all-on-pressed.svg data/images/repeat-all-on-rest.svg data/images/repeat-off-pressed.svg data/images/repeat-off-rest.svg - data/images/search-box-dismiss-x.png data/images/seek-and-volume-knob-pressed.png data/images/seek-and-volume-knob-rest.png data/images/seek-slider-bkg.png @@ -42,33 +39,32 @@ data/images/view-toggle-active-centre.png data/images/view-toggle-active-left.png data/images/view-toggle-active-right.png - data/images/view-toggle-icon-artist-active.png - data/images/view-toggle-icon-artist-inactive.png + data/images/view-toggle-icon-artist-active.svg + data/images/view-toggle-icon-artist-inactive.svg data/images/view-toggle-icon-cloud-active.png data/images/view-toggle-icon-cloud-inactive.png - data/images/view-toggle-icon-grid-active.png - data/images/view-toggle-icon-grid-inactive.png - data/images/view-toggle-icon-list-active.png - data/images/view-toggle-icon-list-inactive.png - data/images/view-toggle-inactive-centre.png - data/images/view-toggle-inactive-left.png - data/images/view-toggle-inactive-right.png - data/images/view-toggle-pressed-centre.png - data/images/view-toggle-pressed-left.png - data/images/view-toggle-pressed-right.png - data/images/list-add.png - data/images/list-remove.png - data/images/arrow-up-double.png - data/images/arrow-down-double.png - data/images/arrow-right-double.png - data/images/view-refresh.png + data/images/view-toggle-icon-grid-active.svg + data/images/view-toggle-icon-grid-inactive.svg + data/images/view-toggle-icon-list-active.svg + data/images/view-toggle-icon-list-inactive.svg + data/images/view-toggle-inactive-centre.svg + data/images/view-toggle-inactive-left.svg + data/images/view-toggle-inactive-right.svg + data/images/view-toggle-pressed-centre.svg + data/images/view-toggle-pressed-left.svg + data/images/view-toggle-pressed-right.svg + data/images/list-add.svg + data/images/list-remove.svg + data/images/arrow-up-double.svg + data/images/arrow-down-double.svg + data/images/arrow-right-double.svg + data/images/view-refresh.svg data/images/volume-icon-muted.svg data/images/volume-icon-full.svg data/images/volume-slider-bkg.png data/images/volume-slider-level.png data/images/echonest_logo.png - data/images/loading-animation.gif - data/images/info.png + data/images/info.svg data/images/back.svg data/images/forward.svg data/images/music-icon.png @@ -76,31 +72,27 @@ data/images/private-listening.png data/images/add.png data/images/recently-played.png - data/images/supercollection.png + data/images/supercollection.svg data/images/sipplugin-online.png data/images/sipplugin-offline.png - data/images/advanced-settings.png - data/images/account-settings.png - data/images/music-settings.png - data/images/resolvers-settings.png - data/images/lastfm-settings.png + data/images/advanced-settings.svg + data/images/account-settings.svg + data/images/music-settings.svg data/images/automatic-playlist.png - data/images/station.png - data/images/new-additions.png - data/images/charts.png - data/images/new-releases.png - data/images/loved_playlist.png - data/images/dashboard.png + data/images/station.svg + data/images/new-additions.svg + data/images/charts.svg + data/images/new-releases.svg + data/images/loved_playlist.svg + data/images/dashboard.svg data/images/artist-icon.png - data/images/album-icon.png + data/images/album-icon.svg + data/images/track-icon.svg data/images/search-icon.png data/images/star-hover.png data/images/starred.png data/images/star-unstarred.png - data/images/track-icon-22x22.png - data/images/track-icon-32x32.png - data/images/track-icon-16x16.png - data/images/apply-check.png + data/images/apply-check.svg data/stylesheets/topbar-radiobuttons.css data/icons/tomahawk-icon-16x16.png data/icons/tomahawk-icon-32x32.png @@ -119,7 +111,6 @@ data/sql/dbmigrate-27_to_28.sql data/sql/dbmigrate-28_to_29.sql data/js/tomahawk.js - data/images/avatar_frame.png data/images/drop-all-songs.png data/images/drop-local-songs.png data/images/drop-top-songs.png @@ -127,42 +118,38 @@ data/images/drop-album.png data/images/spotify-logo.png data/images/itunes.png - data/images/uploading.png - data/images/downloading.png - data/images/headphones.png + data/images/uploading.svg + data/images/downloading.svg data/images/headphones-off.png - data/images/headphones-sidebar.png data/images/closed-padlock.png - data/images/open-padlock.png - data/images/headphones-bigger.png + data/images/open-padlock.svg + data/images/headphones.svg data/images/no-album-no-case.svg data/images/rdio.png data/images/grooveshark.png data/images/lastfm-icon.png data/images/spotifycore-logo.png - data/images/playlist-header-tiled.png data/images/share.svg - data/images/process-stop.png + data/images/process-stop.svg data/icons/tomahawk-icon-128x128-grayscale.png - data/images/collection.png + data/images/collection.svg data/misc/tomahawk_pubkey.pem - data/images/track-icon-sidebar.png - data/images/jump-link.png + data/images/jump-link.svg data/images/scrollbar-vertical-handle.png data/images/scrollbar-horizontal-handle.png - data/images/subscribe-on.png - data/images/subscribe-off.png - data/images/add-contact.png + data/images/subscribe-on.svg + data/images/subscribe-off.svg + data/images/add-contact.svg data/images/account-none.png - data/images/green-dot.png + data/images/green-dot.svg data/images/exfm.png data/images/soundcloud.png data/images/resolver-default.svg data/images/spotify-sourceicon.png data/images/account-offline.png data/images/account-online.png - data/images/cancel.png - data/images/delete.png + data/images/cancel.svg + data/images/delete.svg data/images/ok.png diff --git a/src/SettingsDialog.cpp b/src/SettingsDialog.cpp index 31ae6ccec..932fd61ec 100644 --- a/src/SettingsDialog.cpp +++ b/src/SettingsDialog.cpp @@ -223,15 +223,18 @@ SettingsDialog::SettingsDialog(QObject *parent ) // ui->checkBoxEnableAdium->hide(); // #endif - m_dialog->addTab( m_accountsWidget, QPixmap( RESPATH "images/account-settings.png" ), tr( "Services" ), tr( "Configure the accounts and services used by Tomahawk " - "to search and retrieve music, find your friends and " - "update your status." ) ); + m_dialog->addTab( m_accountsWidget, TomahawkUtils::defaultPixmap( TomahawkUtils::AccountSettings ), + tr( "Services" ), tr( "Configure the accounts and services used by Tomahawk " + "to search and retrieve music, find your friends and " + "update your status." ) ); - m_dialog->addTab( m_collectionWidget, QPixmap( RESPATH "images/music-settings.png" ), tr( "Collection" ), tr( "Manage how Tomahawk finds music on your computer." )); + m_dialog->addTab( m_collectionWidget, TomahawkUtils::defaultPixmap( TomahawkUtils::MusicSettings ), + tr( "Collection" ), tr( "Manage how Tomahawk finds music on your computer." ) ); - m_dialog->addTab( m_advancedWidget, QPixmap( RESPATH "images/advanced-settings.png" ), tr( "Advanced" ), tr( "Configure Tomahawk's advanced settings, including " - "network connectivity settings, browser interaction " - "and more." ) ); + m_dialog->addTab( m_advancedWidget, TomahawkUtils::defaultPixmap( TomahawkUtils::AdvancedSettings ), + tr( "Advanced" ), tr( "Configure Tomahawk's advanced settings, including " + "network connectivity settings, browser interaction " + "and more." ) ); m_dialog->setCurrentIndex( 0 ); diff --git a/src/SocialWidget.cpp b/src/SocialWidget.cpp index 2d341acd9..2d3fe45b6 100644 --- a/src/SocialWidget.cpp +++ b/src/SocialWidget.cpp @@ -23,6 +23,7 @@ #include "GlobalActionManager.h" #include "Source.h" +#include "utils/ImageRegistry.h" #include "utils/TomahawkUtilsGui.h" #include "utils/Logger.h" @@ -66,8 +67,8 @@ SocialWidget::SocialWidget( QWidget* parent ) ui->charsLeftLabel->setForegroundRole( QPalette::Text ); ui->charsLeftLabel->setStyleSheet( "text: black" ); ui->buttonBox->button( QDialogButtonBox::Ok )->setText( tr( "Tweet" ) ); - ui->buttonBox->button( QDialogButtonBox::Ok )->setIcon( QIcon( RESPATH "images/ok.png" ) ); - ui->buttonBox->button( QDialogButtonBox::Cancel )->setIcon( QIcon( RESPATH "images/cancel.png" ) ); + ui->buttonBox->button( QDialogButtonBox::Ok )->setIcon( ImageRegistry::instance()->icon( RESPATH "images/ok.png" ) ); + ui->buttonBox->button( QDialogButtonBox::Cancel )->setIcon( ImageRegistry::instance()->icon( RESPATH "images/cancel.svg" ) ); ui->textEdit->setStyleSheet( "border: 1px solid " + TomahawkUtils::Colors::BORDER_LINE.name() ); diff --git a/src/libtomahawk/accounts/AccountDelegate.cpp b/src/libtomahawk/accounts/AccountDelegate.cpp index 7689a51a5..700d4852d 100644 --- a/src/libtomahawk/accounts/AccountDelegate.cpp +++ b/src/libtomahawk/accounts/AccountDelegate.cpp @@ -66,14 +66,12 @@ AccountDelegate::AccountDelegate( QObject* parent ) m_onHoverStar.load( RESPATH "images/star-hover.png" ); m_onlineIcon.load( RESPATH "images/sipplugin-online.png" ); m_offlineIcon.load( RESPATH "images/sipplugin-offline.png" ); - m_removeIcon.load( RESPATH "images/list-remove.png" ); m_ratingStarPositive = m_ratingStarPositive.scaled( STAR_SIZE, STAR_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); m_ratingStarNegative = m_ratingStarNegative.scaled( STAR_SIZE, STAR_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); m_onlineIcon = m_onlineIcon.scaled( STATUS_ICON_SIZE, STATUS_ICON_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); m_offlineIcon = m_offlineIcon.scaled( STATUS_ICON_SIZE, STATUS_ICON_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); m_onHoverStar = m_onHoverStar.scaled( STAR_SIZE, STAR_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); - m_removeIcon = m_removeIcon.scaled( REMOVE_ICON_SIZE, REMOVE_ICON_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); m_defaultCover = m_defaultCover.scaled( ICONSIZE, ICONSIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); @@ -267,7 +265,6 @@ AccountDelegate::paint ( QPainter* painter, const QStyleOptionViewItem& option, rightEdge = drawStatus( painter, QPointF( rightEdge, center - painter->fontMetrics().height()/2 ), accts.first(), true ); } - } else if ( canDelete ) { diff --git a/src/libtomahawk/accounts/AccountDelegate.h b/src/libtomahawk/accounts/AccountDelegate.h index 1b70a7df6..1a8ce467a 100644 --- a/src/libtomahawk/accounts/AccountDelegate.h +++ b/src/libtomahawk/accounts/AccountDelegate.h @@ -46,7 +46,6 @@ public slots: void doneInstalling ( const QPersistentModelIndex& idx ); void errorInstalling ( const QPersistentModelIndex& idx ); - void doUpdateIndex( const QPersistentModelIndex& idx ); protected: @@ -71,7 +70,7 @@ private: QRect checkRectForIndex( const QStyleOptionViewItem &option, const QModelIndex &idx ) const; - QPixmap m_offlineIcon, m_onlineIcon, m_defaultCover, m_onHoverStar, m_ratingStarPositive, m_ratingStarNegative, m_removeIcon; + QPixmap m_offlineIcon, m_onlineIcon, m_defaultCover, m_onHoverStar, m_ratingStarPositive, m_ratingStarNegative; int m_hoveringOver; QPersistentModelIndex m_hoveringItem, m_configPressed; mutable QHash< QPersistentModelIndex, QRect > m_cachedButtonRects; diff --git a/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.cpp b/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.cpp index e03443f0d..d402deb9c 100644 --- a/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.cpp +++ b/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.cpp @@ -37,15 +37,11 @@ using namespace Tomahawk::Accounts; AccountFactoryWrapperDelegate::AccountFactoryWrapperDelegate( QObject* parent ) : QStyledItemDelegate( parent ) { - m_removePixmap.load( RESPATH "images/list-remove.png" ); m_onlineIcon.load( RESPATH "images/sipplugin-online.png" ); m_offlineIcon.load( RESPATH "images/sipplugin-offline.png" ); - m_removePixmap = m_removePixmap.scaled( ICON_SIZE, ICON_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); m_onlineIcon = m_onlineIcon.scaled( ICON_SIZE, ICON_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); m_offlineIcon = m_offlineIcon.scaled( ICON_SIZE, ICON_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); - - m_configIcon = ImageRegistry::instance()->pixmap( RESPATH "images/configure.svg", QSize( CONFIG_WRENCH_SIZE - 8, CONFIG_WRENCH_SIZE - 8 ) ); } void @@ -77,8 +73,8 @@ AccountFactoryWrapperDelegate::paint(QPainter* painter, const QStyleOptionViewIt painter->drawText( opt.rect.adjusted( checkRect.right() + PADDING, PADDING, -PADDING, -PADDING ), Qt::AlignLeft | Qt::AlignVCenter, acc->accountFriendlyName() ); // remove, config, status on right - const QRect pmRect( opt.rect.right() - PADDING - m_removePixmap.width(), topIcon, ICON_SIZE, ICON_SIZE ); - painter->drawPixmap( pmRect, m_removePixmap ); + const QRect pmRect( opt.rect.right() - PADDING - ICON_SIZE, topIcon, ICON_SIZE, ICON_SIZE ); + painter->drawPixmap( pmRect, TomahawkUtils::defaultPixmap( TomahawkUtils::ListRemove, TomahawkUtils::Original, pmRect.size() ) ); m_cachedButtonRects[ index ] = pmRect; const QRect confRect( pmRect.left() - PADDING - CONFIG_WRENCH_SIZE, center - CONFIG_WRENCH_SIZE/2, CONFIG_WRENCH_SIZE, CONFIG_WRENCH_SIZE ); @@ -87,7 +83,7 @@ AccountFactoryWrapperDelegate::paint(QPainter* painter, const QStyleOptionViewIt topt.rect = confRect; topt.pos = confRect.topLeft(); topt.font = opt.font; - topt.icon = m_configIcon; + topt.icon = ImageRegistry::instance()->pixmap( RESPATH "images/configure.svg", QSize( CONFIG_WRENCH_SIZE - 8, CONFIG_WRENCH_SIZE - 8 ) ); topt.iconSize = QSize( CONFIG_WRENCH_SIZE - 8, CONFIG_WRENCH_SIZE - 8 ); topt.subControls = QStyle::SC_ToolButton; topt.activeSubControls = QStyle::SC_None; diff --git a/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.h b/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.h index 808f87985..22deae41d 100644 --- a/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.h +++ b/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.h @@ -50,7 +50,6 @@ signals: private: QPixmap m_removePixmap, m_offlineIcon, m_onlineIcon; - QIcon m_configIcon; QModelIndex m_configPressed; mutable QHash< QPersistentModelIndex, QRect > m_cachedCheckRects; diff --git a/src/libtomahawk/jobview/ErrorStatusMessage.cpp b/src/libtomahawk/jobview/ErrorStatusMessage.cpp index 9398395c4..24565a6d8 100644 --- a/src/libtomahawk/jobview/ErrorStatusMessage.cpp +++ b/src/libtomahawk/jobview/ErrorStatusMessage.cpp @@ -18,11 +18,10 @@ #include "ErrorStatusMessage.h" -#include "utils/TomahawkUtils.h" +#include "utils/TomahawkUtilsGui.h" #include -QPixmap* ErrorStatusMessage::s_pixmap = 0; ErrorStatusMessage::ErrorStatusMessage( const QString& message, int timeoutSecs ) : JobStatusItem() @@ -33,10 +32,6 @@ ErrorStatusMessage::ErrorStatusMessage( const QString& message, int timeoutSecs m_timer->setSingleShot( true ); connect( m_timer, SIGNAL( timeout() ), this, SIGNAL( finished() ) ); - - if ( !s_pixmap ) - s_pixmap = new QPixmap( RESPATH "images/process-stop.png" ); - m_timer->start(); } @@ -44,8 +39,7 @@ ErrorStatusMessage::ErrorStatusMessage( const QString& message, int timeoutSecs QPixmap ErrorStatusMessage::icon() const { - Q_ASSERT( s_pixmap ); - return *s_pixmap; + return TomahawkUtils::defaultPixmap( TomahawkUtils::ProcessStop, TomahawkUtils::Original, QSize( 64, 64 ) ); } diff --git a/src/libtomahawk/jobview/IndexingJobItem.cpp b/src/libtomahawk/jobview/IndexingJobItem.cpp index 418d0c9a7..72e2223ea 100644 --- a/src/libtomahawk/jobview/IndexingJobItem.cpp +++ b/src/libtomahawk/jobview/IndexingJobItem.cpp @@ -18,12 +18,10 @@ #include "IndexingJobItem.h" -#include "utils/TomahawkUtils.h" +#include "utils/TomahawkUtilsGui.h" #include -static QPixmap* s_indexIcon = 0; - QString IndexingJobItem::mainText() const @@ -34,10 +32,7 @@ IndexingJobItem::mainText() const QPixmap IndexingJobItem::icon() const { - if ( s_indexIcon == 0 ) - s_indexIcon = new QPixmap( RESPATH "images/view-refresh.png" ); - - return *s_indexIcon; + return TomahawkUtils::defaultPixmap( TomahawkUtils::ViewRefresh, TomahawkUtils::Original, QSize( 128, 128 ) ); } diff --git a/src/libtomahawk/jobview/LatchedStatusItem.cpp b/src/libtomahawk/jobview/LatchedStatusItem.cpp index b2e42605c..c87e58632 100644 --- a/src/libtomahawk/jobview/LatchedStatusItem.cpp +++ b/src/libtomahawk/jobview/LatchedStatusItem.cpp @@ -22,7 +22,8 @@ #include "SourceList.h" #include "JobStatusView.h" #include "JobStatusModel.h" -#include "utils/TomahawkUtils.h" +#include "utils/TomahawkUtilsGui.h" + LatchedStatusItem::LatchedStatusItem( const Tomahawk::source_ptr& from, const Tomahawk::source_ptr& to, LatchedStatusManager* parent ) : JobStatusItem() @@ -65,8 +66,6 @@ LatchedStatusManager::LatchedStatusManager( QObject* parent ) { connect( SourceList::instance(), SIGNAL( sourceLatchedOn( Tomahawk::source_ptr, Tomahawk::source_ptr ) ), this, SLOT( latchedOn( Tomahawk::source_ptr, Tomahawk::source_ptr ) ) ); connect( SourceList::instance(), SIGNAL( sourceLatchedOff( Tomahawk::source_ptr, Tomahawk::source_ptr ) ), this, SLOT( latchedOff( Tomahawk::source_ptr, Tomahawk::source_ptr ) ) ); - - m_pixmap.load( RESPATH "images/headphones-bigger.png" ); } void @@ -113,3 +112,10 @@ LatchedStatusManager::latchedOff( const Tomahawk::source_ptr& from, const Tomaha item.data()->stop(); } } + + +QPixmap +LatchedStatusManager::pixmap() const +{ + return TomahawkUtils::defaultPixmap( TomahawkUtils::HeadphonesOn, TomahawkUtils::Original, QSize( 128, 128 ) ); +} diff --git a/src/libtomahawk/jobview/LatchedStatusItem.h b/src/libtomahawk/jobview/LatchedStatusItem.h index 3c83a5af5..5d6560007 100644 --- a/src/libtomahawk/jobview/LatchedStatusItem.h +++ b/src/libtomahawk/jobview/LatchedStatusItem.h @@ -53,7 +53,7 @@ public: explicit LatchedStatusManager( QObject* parent = 0 ); virtual ~LatchedStatusManager() {} - QPixmap pixmap() const { return m_pixmap; } + QPixmap pixmap() const; private slots: void latchedOn( const Tomahawk::source_ptr&, const Tomahawk::source_ptr& ); @@ -61,7 +61,6 @@ private slots: void sourceOffline(); private: - QPixmap m_pixmap; QHash< QString, QWeakPointer< LatchedStatusItem > > m_jobs; }; diff --git a/src/libtomahawk/jobview/TransferStatusItem.cpp b/src/libtomahawk/jobview/TransferStatusItem.cpp index a1811f5a2..168cb26c9 100644 --- a/src/libtomahawk/jobview/TransferStatusItem.cpp +++ b/src/libtomahawk/jobview/TransferStatusItem.cpp @@ -20,12 +20,13 @@ #include "JobStatusView.h" #include "JobStatusModel.h" -#include "network/StreamConnection.h" -#include "network/Servent.h" -#include "utils/TomahawkUtils.h" #include "Result.h" #include "Source.h" #include "Artist.h" +#include "network/StreamConnection.h" +#include "network/Servent.h" +#include "utils/TomahawkUtilsGui.h" + TransferStatusItem::TransferStatusItem( TransferStatusManager* p, StreamConnection* sc ) : m_parent( p ) @@ -85,8 +86,8 @@ TransferStatusItem::icon() const if ( m_stream.data()->type() == StreamConnection::SENDING ) return m_parent->rxPixmap(); - else - return m_parent->txPixmap(); + else + return m_parent->txPixmap(); } @@ -100,9 +101,6 @@ TransferStatusItem::onTransferUpdate() TransferStatusManager::TransferStatusManager( QObject* parent ) : QObject( parent ) { - m_rxPixmap.load( RESPATH "images/uploading.png" ); - m_txPixmap.load( RESPATH "images/downloading.png" ); - connect( Servent::instance(), SIGNAL( streamStarted( StreamConnection* ) ), SLOT( streamRegistered( StreamConnection* ) ) ); } @@ -111,3 +109,17 @@ TransferStatusManager::streamRegistered( StreamConnection* sc ) { JobStatusView::instance()->model()->addJob( new TransferStatusItem( this, sc ) ); } + + +QPixmap +TransferStatusManager::rxPixmap() const +{ + return TomahawkUtils::defaultPixmap( TomahawkUtils::Downloading, TomahawkUtils::Original, QSize( 128, 128 ) ); +} + + +QPixmap +TransferStatusManager::txPixmap() const +{ + return TomahawkUtils::defaultPixmap( TomahawkUtils::Uploading, TomahawkUtils::Original, QSize( 128, 128 ) ); +} diff --git a/src/libtomahawk/jobview/TransferStatusItem.h b/src/libtomahawk/jobview/TransferStatusItem.h index 1670343c2..4b916a72b 100644 --- a/src/libtomahawk/jobview/TransferStatusItem.h +++ b/src/libtomahawk/jobview/TransferStatusItem.h @@ -32,14 +32,11 @@ public: explicit TransferStatusManager( QObject* parent = 0 ); virtual ~TransferStatusManager() {} - QPixmap rxPixmap() const { return m_rxPixmap; } - QPixmap txPixmap() const { return m_txPixmap; } + QPixmap rxPixmap() const; + QPixmap txPixmap() const; private slots: void streamRegistered( StreamConnection* sc ); - -private: - QPixmap m_rxPixmap, m_txPixmap; }; class TransferStatusItem : public JobStatusItem diff --git a/src/libtomahawk/playlist/PlaylistView.cpp b/src/libtomahawk/playlist/PlaylistView.cpp index d8a2879a3..a22f8301b 100644 --- a/src/libtomahawk/playlist/PlaylistView.cpp +++ b/src/libtomahawk/playlist/PlaylistView.cpp @@ -22,9 +22,10 @@ #include #include "ViewManager.h" -#include "utils/Logger.h" #include "PlaylistUpdaterInterface.h" #include "Source.h" +#include "utils/TomahawkUtilsGui.h" +#include "utils/Logger.h" using namespace Tomahawk; @@ -160,3 +161,10 @@ PlaylistView::onMenuTriggered( int action ) break; } } + + +QPixmap +PlaylistView::pixmap() const +{ + return TomahawkUtils::defaultPixmap( TomahawkUtils::Playlist ); +} diff --git a/src/libtomahawk/playlist/PlaylistView.h b/src/libtomahawk/playlist/PlaylistView.h index a4c64efd8..8bfe68f44 100644 --- a/src/libtomahawk/playlist/PlaylistView.h +++ b/src/libtomahawk/playlist/PlaylistView.h @@ -40,7 +40,7 @@ public: virtual QList updaters() const; - virtual QPixmap pixmap() const { return QPixmap( RESPATH "images/playlist-icon.png" ); } + virtual QPixmap pixmap() const; virtual bool isTemporaryPage() const; signals: diff --git a/src/libtomahawk/playlist/dynamic/echonest/EchonestSteerer.cpp b/src/libtomahawk/playlist/dynamic/echonest/EchonestSteerer.cpp index 179cf6b73..d7e2040de 100644 --- a/src/libtomahawk/playlist/dynamic/echonest/EchonestSteerer.cpp +++ b/src/libtomahawk/playlist/dynamic/echonest/EchonestSteerer.cpp @@ -20,6 +20,7 @@ #include "Source.h" #include "playlist/dynamic/widgets/DynamicWidget.h" +#include "utils/ImageRegistry.h" #include "utils/TomahawkUtils.h" #include "utils/Logger.h" @@ -108,13 +109,13 @@ EchonestSteerer::EchonestSteerer( QWidget* parent ) connect( m_description, SIGNAL( textChanged( QString ) ), this, SLOT( changed() ) ); m_apply = initButton( this ); - m_apply->setIcon( QIcon( RESPATH "images/apply-check.png" ) ); + m_apply->setIcon( ImageRegistry::instance()->icon( RESPATH "images/apply-check.svg" ) ); m_apply->setToolTip( tr( "Apply steering command" ) ); m_layout->addWidget( m_apply ); connect( m_apply, SIGNAL( clicked( bool ) ), this, SLOT( applySteering() ) ); m_reset = initButton( this ); - m_reset->setIcon( QIcon( RESPATH "images/view-refresh.png" ) ); + m_reset->setIcon( ImageRegistry::instance()->icon( RESPATH "images/view-refresh.svg" ) ); m_reset->setToolTip( tr( "Reset all steering commands" ) ); m_layout->addWidget( m_reset ); diff --git a/src/libtomahawk/playlist/dynamic/widgets/CollapsibleControls.cpp b/src/libtomahawk/playlist/dynamic/widgets/CollapsibleControls.cpp index e87cb525b..cc655c0b0 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/CollapsibleControls.cpp +++ b/src/libtomahawk/playlist/dynamic/widgets/CollapsibleControls.cpp @@ -23,6 +23,7 @@ #include "DynamicControlWrapper.h" #include "playlist/dynamic/GeneratorInterface.h" #include "playlist/dynamic/DynamicControl.h" +#include "utils/ImageRegistry.h" #include "utils/TomahawkUtils.h" #include "widgets/ElidedLabel.h" #include "Source.h" @@ -100,7 +101,7 @@ CollapsibleControls::init() m_summary->setFont( f ); m_summaryLayout->addWidget( m_summary, 1 ); m_summaryExpand = DynamicControlWrapper::initButton( this ); - m_summaryExpand->setIcon( QIcon( RESPATH "images/arrow-down-double.png" ) ); + m_summaryExpand->setIcon( ImageRegistry::instance()->icon( RESPATH "images/arrow-down-double.svg" ) ); m_expandL = new QStackedLayout; m_expandL->setContentsMargins( 0, 0, 0, 0 ); m_expandL->setMargin( 0 ); diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicControlList.cpp b/src/libtomahawk/playlist/dynamic/widgets/DynamicControlList.cpp index fbb7f6b50..fccd93ca9 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicControlList.cpp +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicControlList.cpp @@ -20,6 +20,7 @@ #include "DynamicControlWrapper.h" #include "playlist/dynamic/GeneratorInterface.h" +#include "utils/ImageRegistry.h" #include "utils/TomahawkUtils.h" #include "utils/Logger.h" #include "Source.h" @@ -57,7 +58,6 @@ DynamicControlList::DynamicControlList( const geninterface_ptr& generator, const DynamicControlList::~DynamicControlList() { - } @@ -86,7 +86,7 @@ DynamicControlList::init() m_collapseLayout->addWidget( m_collapse ); m_addControl = new QToolButton( this ); m_addControl->setAttribute( Qt::WA_LayoutUsesWidgetRect ); - m_addControl->setIcon( QIcon( RESPATH "images/list-add.png" ) ); + m_addControl->setIcon( ImageRegistry::instance()->icon( RESPATH "images/list-add.svg" ) ); m_addControl->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed ); m_addControl->setIconSize( QSize( 16, 16 ) ); m_addControl->setToolButtonStyle( Qt::ToolButtonIconOnly ); diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicControlWrapper.cpp b/src/libtomahawk/playlist/dynamic/widgets/DynamicControlWrapper.cpp index 25a677520..6a412dd0a 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicControlWrapper.cpp +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicControlWrapper.cpp @@ -19,7 +19,7 @@ #include "DynamicControlWrapper.h" #include "playlist/dynamic/DynamicControl.h" -#include "utils/TomahawkUtils.h" +#include "utils/TomahawkUtilsGui.h" #include "utils/Logger.h" #include @@ -42,15 +42,13 @@ DynamicControlWrapper::DynamicControlWrapper( const Tomahawk::dyncontrol_ptr& co , m_typeSelector( 0 ) , m_layout( QWeakPointer< QGridLayout >( layout ) ) { - qDebug() << "CREATING DYNAMIC CONTROL WRAPPER WITH ROW:" << row << layout; - m_typeSelector = new QComboBox( m_parent ); m_matchSelector = QWeakPointer( control->matchSelector() ); m_entryWidget = QWeakPointer( control->inputField() ); m_minusButton = initButton( m_parent ); - m_minusButton->setIcon( QIcon( RESPATH "images/list-remove.png" ) ); + m_minusButton->setIcon( TomahawkUtils::defaultPixmap( TomahawkUtils::ListRemove ) ); connect( m_minusButton, SIGNAL( clicked( bool ) ), this, SIGNAL( removeControl() ) ); m_plusL = new QStackedLayout(); diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp index f6dfdf20b..3661776bb 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp @@ -35,6 +35,7 @@ #include "playlist/dynamic/DynamicView.h" #include "DynamicSetupWidget.h" #include "utils/AnimatedSpinner.h" +#include "utils/TomahawkUtilsGui.h" #include "utils/Logger.h" #include @@ -517,7 +518,7 @@ QPixmap DynamicWidget::pixmap() const { if ( m_playlist->mode() == OnDemand ) - return QPixmap( RESPATH "images/station.png" ); + return TomahawkUtils::defaultPixmap( TomahawkUtils::Station ); else if ( m_playlist->mode() == Static ) return QPixmap( RESPATH "images/automatic-playlist.png" ); else diff --git a/src/libtomahawk/utils/TomahawkUtils.h b/src/libtomahawk/utils/TomahawkUtils.h index 675a9551c..d891c1541 100644 --- a/src/libtomahawk/utils/TomahawkUtils.h +++ b/src/libtomahawk/utils/TomahawkUtils.h @@ -48,6 +48,7 @@ namespace TomahawkUtils DefaultArtistImage, DefaultTrackImage, DefaultSourceAvatar, + DefaultCollection, DefaultResolver, NowPlayingSpeaker, NowPlayingSpeakerDark, @@ -75,7 +76,33 @@ namespace TomahawkUtils Share, NotLoved, Loved, - Configure + Configure, + GreenDot, + AddContact, + SubscribeOn, + SubscribeOff, + JumpLink, + ProcessStop, + HeadphonesOn, + HeadphonesOff, + PadlockClosed, + PadlockOpen, + Downloading, + Uploading, + ViewRefresh, + SuperCollection, + LovedPlaylist, + NewReleases, + NewAdditions, + Charts, + Station, + Playlist, + ListRemove, + ListAdd, + AdvancedSettings, + AccountSettings, + MusicSettings, + Invalid }; enum ImageMode diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.cpp b/src/libtomahawk/utils/TomahawkUtilsGui.cpp index 0fb58dded..3f83b6a74 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.cpp +++ b/src/libtomahawk/utils/TomahawkUtilsGui.cpp @@ -101,13 +101,13 @@ createDragPixmap( MediaType type, int itemCount ) switch ( type ) { case MediaTypeArtist: - pixmap = QPixmap( ":/data/images/artist-icon.png" ).scaledToWidth( size, Qt::SmoothTransformation ); + pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::Original, QSize( size, size ) ); break; case MediaTypeAlbum: - pixmap = QPixmap( ":/data/images/album-icon.png" ).scaledToWidth( size, Qt::SmoothTransformation ); + pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, TomahawkUtils::Original, QSize( size, size ) ); break; case MediaTypeTrack: - pixmap = QPixmap( QString( ":/data/images/track-icon-%2x%2.png" ).arg( size ) ); + pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, TomahawkUtils::Original, QSize( size, size ) ); break; } @@ -420,21 +420,21 @@ defaultPixmap( ImageType type, ImageMode mode, const QSize& size ) else if ( mode == Grid ) pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/album-placeholder-grid.svg", size ); else - pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/no-album-no-case.svg", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/album-icon.svg", size ); break; case DefaultArtistImage: if ( mode == Grid ) pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/artist-placeholder-grid.svg", size ); else - pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/no-artist-image-placeholder.svg", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/artist-icon.png", size ); break; case DefaultTrackImage: if ( mode == Grid ) pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/track-placeholder-grid.svg", size ); else - pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/track-placeholder.png", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/track-icon.svg", size ); break; case DefaultSourceAvatar: @@ -451,6 +451,10 @@ defaultPixmap( ImageType type, ImageMode mode, const QSize& size ) pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/resolver-default.svg", size ); break; + case DefaultCollection: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/collection.svg", size ); + break; + case NowPlayingSpeaker: pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/now-playing-speaker.svg", size ); break; @@ -545,6 +549,93 @@ defaultPixmap( ImageType type, ImageMode mode, const QSize& size ) pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/configure.svg", size ); break; + case GreenDot: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/green-dot.svg", size ); + break; + + case AddContact: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/add-contact.svg", size ); + break; + + case SubscribeOn: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/subscribe-on.svg", size ); + break; + case SubscribeOff: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/subscribe-off.svg", size ); + break; + + case JumpLink: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/jump-link.svg", size ); + break; + + case ProcessStop: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/process-stop.svg", size ); + break; + + case HeadphonesOn: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/headphones.svg", size ); + break; + case HeadphonesOff: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/headphones-off.png", size ); + break; + + case PadlockClosed: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/closed-padlock.png", size ); + break; + case PadlockOpen: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/open-padlock.svg", size ); + break; + + case Downloading: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/downloading.svg", size ); + break; + case Uploading: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/uploading.svg", size ); + break; + + case ViewRefresh: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/view-refresh.svg", size ); + break; + + case SuperCollection: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/supercollection.svg", size ); + break; + case LovedPlaylist: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/loved_playlist.svg", size ); + break; + case NewReleases: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/new-releases.svg", size ); + break; + case NewAdditions: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/new-additions.svg", size ); + break; + case Charts: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/charts.svg", size ); + break; + case Station: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/station.svg", size ); + break; + case Playlist: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/playlist-icon.svg", size ); + break; + + case ListAdd: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/list-add.svg", size ); + break; + case ListRemove: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/list-remove.svg", size ); + break; + + case AdvancedSettings: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/advanced-settings.svg", size ); + break; + case AccountSettings: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/account-settings.svg", size ); + break; + case MusicSettings: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/music-settings.svg", size ); + break; + default: break; } diff --git a/src/libtomahawk/widgets/NewReleasesWidget.cpp b/src/libtomahawk/widgets/NewReleasesWidget.cpp index dcc701128..3b08afb30 100644 --- a/src/libtomahawk/widgets/NewReleasesWidget.cpp +++ b/src/libtomahawk/widgets/NewReleasesWidget.cpp @@ -69,7 +69,7 @@ NewReleasesWidget::NewReleasesWidget( QWidget* parent ) m_sortedProxy->setDynamicSortFilter( true ); m_sortedProxy->setFilterCaseSensitivity( Qt::CaseInsensitive ); - ui->breadCrumbLeft->setRootIcon( QPixmap( RESPATH "images/new-releases.png" ) ); + ui->breadCrumbLeft->setRootIcon( TomahawkUtils::defaultPixmap( TomahawkUtils::NewReleases, TomahawkUtils::Original ) ); connect( ui->breadCrumbLeft, SIGNAL( activateIndex( QModelIndex ) ), SLOT( leftCrumbIndexChanged(QModelIndex) ) ); diff --git a/src/libtomahawk/widgets/QueryLabel.cpp b/src/libtomahawk/widgets/QueryLabel.cpp index d41e422b0..a4fb1e564 100644 --- a/src/libtomahawk/widgets/QueryLabel.cpp +++ b/src/libtomahawk/widgets/QueryLabel.cpp @@ -93,7 +93,6 @@ QueryLabel::init() m_mode = Qt::ElideMiddle; m_jumpLinkVisible = false; - m_jumpPixmap = QPixmap( RESPATH "images/jump-link.png" ).scaled( QSize( fontMetrics().height(), fontMetrics().height() ), Qt::KeepAspectRatio, Qt::SmoothTransformation ); } @@ -475,7 +474,7 @@ QueryLabel::paintEvent( QPaintEvent* event ) { r.adjust( 6, 0, 0, 0 ); r.setWidth( r.height() ); - p.drawPixmap( r, m_jumpPixmap.scaled( r.size(), Qt::KeepAspectRatio, Qt::SmoothTransformation ) ); + p.drawPixmap( r, TomahawkUtils::defaultPixmap( TomahawkUtils::JumpLink, TomahawkUtils::Original, r.size() ) ); } } @@ -635,7 +634,7 @@ QueryLabel::mouseMoveEvent( QMouseEvent* event ) hoverArea.setLeft( albumX + spacing ); hoverArea.setRight( trackX + contentsMargins().left() - 1 ); } - else if ( m_jumpLinkVisible && x < trackX + 6 + m_jumpPixmap.width() && x > trackX + 6 ) + else if ( m_jumpLinkVisible && x < trackX + 6 + fm.height() && x > trackX + 6 ) { m_hoverType = Complete; } diff --git a/src/libtomahawk/widgets/QueryLabel.h b/src/libtomahawk/widgets/QueryLabel.h index 229f59a55..53c3521c4 100644 --- a/src/libtomahawk/widgets/QueryLabel.h +++ b/src/libtomahawk/widgets/QueryLabel.h @@ -145,7 +145,6 @@ private: QMargins m_textMargins; bool m_jumpLinkVisible; - QPixmap m_jumpPixmap; }; #endif // QUERYLABEL_H diff --git a/src/libtomahawk/widgets/SourceTreePopupDialog.cpp b/src/libtomahawk/widgets/SourceTreePopupDialog.cpp index 3a9cb9fe2..068ec4c4e 100644 --- a/src/libtomahawk/widgets/SourceTreePopupDialog.cpp +++ b/src/libtomahawk/widgets/SourceTreePopupDialog.cpp @@ -19,8 +19,6 @@ #include "SourceTreePopupDialog.h" -#include "utils/TomahawkUtilsGui.h" - #include #include #include @@ -33,9 +31,12 @@ #include #ifdef QT_MAC_USE_COCOA -#include "SourceTreePopupDialog_mac.h" + #include "SourceTreePopupDialog_mac.h" #endif +#include "utils/TomahawkUtilsGui.h" +#include "utils/ImageRegistry.h" + using namespace Tomahawk; SourceTreePopupDialog::SourceTreePopupDialog() @@ -69,8 +70,8 @@ SourceTreePopupDialog::SourceTreePopupDialog() m_label = new QLabel( this ); m_buttons = new QDialogButtonBox( QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this ); - m_buttons->button( QDialogButtonBox::Ok )->setIcon( QIcon( RESPATH "images/delete.png" ) ); - m_buttons->button( QDialogButtonBox::Cancel )->setIcon( QIcon( RESPATH "images/cancel.png" ) ); + m_buttons->button( QDialogButtonBox::Ok )->setIcon( ImageRegistry::instance()->icon( RESPATH "images/delete.svg" ) ); + m_buttons->button( QDialogButtonBox::Cancel )->setIcon( ImageRegistry::instance()->icon( RESPATH "images/cancel.svg" ) ); connect( m_buttons, SIGNAL( accepted() ), this, SLOT( onAccepted() ) ); connect( m_buttons, SIGNAL( rejected() ), this, SLOT( onRejected() ) ); diff --git a/src/libtomahawk/widgets/WelcomeWidget.cpp b/src/libtomahawk/widgets/WelcomeWidget.cpp index fdb621783..7db998de1 100644 --- a/src/libtomahawk/widgets/WelcomeWidget.cpp +++ b/src/libtomahawk/widgets/WelcomeWidget.cpp @@ -304,16 +304,16 @@ PlaylistDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, figFont.setPointSize( TomahawkUtils::defaultFontSize() - 1 ); QPixmap icon; - RecentlyPlayedPlaylistsModel::PlaylistTypes type = (RecentlyPlayedPlaylistsModel::PlaylistTypes)index.data( RecentlyPlayedPlaylistsModel::PlaylistTypeRole ).toInt(); - if( type == RecentlyPlayedPlaylistsModel::StaticPlaylist ) - icon = m_playlistIcon; - else if( type == RecentlyPlayedPlaylistsModel::AutoPlaylist ) - icon = m_autoIcon; - else if( type == RecentlyPlayedPlaylistsModel::Station ) - icon = m_stationIcon; - QRect pixmapRect = option.rect.adjusted( 10, 14, -option.rect.width() + option.rect.height() - 18, -14 ); - icon = icon.scaled( pixmapRect.size(), Qt::KeepAspectRatio, Qt::SmoothTransformation ); + RecentlyPlayedPlaylistsModel::PlaylistTypes type = (RecentlyPlayedPlaylistsModel::PlaylistTypes)index.data( RecentlyPlayedPlaylistsModel::PlaylistTypeRole ).toInt(); + + if ( type == RecentlyPlayedPlaylistsModel::StaticPlaylist ) + icon = TomahawkUtils::defaultPixmap( TomahawkUtils::Playlist, TomahawkUtils::Original, pixmapRect.size() ); + else if ( type == RecentlyPlayedPlaylistsModel::AutoPlaylist ) + icon = m_autoIcon; + else if ( type == RecentlyPlayedPlaylistsModel::Station ) + icon = TomahawkUtils::defaultPixmap( TomahawkUtils::Station, TomahawkUtils::Original, pixmapRect.size() ); + painter->drawPixmap( pixmapRect, icon ); if ( type != RecentlyPlayedPlaylistsModel::Station ) @@ -341,7 +341,7 @@ PlaylistDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, QRect r( option.rect.width() - option.fontMetrics.height() * 2.5 - 10, option.rect.top() + option.rect.height() / 3 - option.fontMetrics.height(), option.fontMetrics.height() * 2.5, option.fontMetrics.height() * 2.5 ); QPixmap avatar = index.data( RecentlyPlayedPlaylistsModel::PlaylistRole ).value< Tomahawk::playlist_ptr >()->author()->avatar( TomahawkUtils::RoundedCorners, r.size() ); if ( avatar.isNull() ) - avatar = m_defaultAvatar; + avatar = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultSourceAvatar, TomahawkUtils::RoundedCorners, r.size() ); painter->drawPixmap( r, avatar ); painter->setFont( font ); diff --git a/src/libtomahawk/widgets/WelcomeWidget.h b/src/libtomahawk/widgets/WelcomeWidget.h index 984884be5..0ce9d8386 100644 --- a/src/libtomahawk/widgets/WelcomeWidget.h +++ b/src/libtomahawk/widgets/WelcomeWidget.h @@ -51,10 +51,7 @@ Q_OBJECT public: PlaylistDelegate() { - m_playlistIcon = QPixmap( RESPATH "images/playlist-icon.png" ); m_autoIcon = QPixmap( RESPATH "images/automatic-playlist.png" ); - m_stationIcon = QPixmap( RESPATH "images/station.png" ); - m_defaultAvatar = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultSourceAvatar, TomahawkUtils::RoundedCorners ); } protected: @@ -62,7 +59,7 @@ protected: QSize sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const; private: - QPixmap m_playlistIcon, m_autoIcon, m_stationIcon, m_defaultAvatar; + QPixmap m_autoIcon; }; diff --git a/src/libtomahawk/widgets/WhatsHotWidget.cpp b/src/libtomahawk/widgets/WhatsHotWidget.cpp index 72597715b..fd04356ce 100644 --- a/src/libtomahawk/widgets/WhatsHotWidget.cpp +++ b/src/libtomahawk/widgets/WhatsHotWidget.cpp @@ -75,7 +75,7 @@ WhatsHotWidget::WhatsHotWidget( QWidget* parent ) m_sortedProxy->setDynamicSortFilter( true ); m_sortedProxy->setFilterCaseSensitivity( Qt::CaseInsensitive ); - ui->breadCrumbLeft->setRootIcon( QPixmap( RESPATH "images/charts.png" ) ); + ui->breadCrumbLeft->setRootIcon( TomahawkUtils::defaultPixmap( TomahawkUtils::Charts, TomahawkUtils::Original ) ); connect( ui->breadCrumbLeft, SIGNAL( activateIndex( QModelIndex ) ), SLOT( leftCrumbIndexChanged( QModelIndex ) ) ); diff --git a/src/libtomahawk/widgets/infowidgets/SourceInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/SourceInfoWidget.cpp index 421d122f8..d2879a249 100644 --- a/src/libtomahawk/widgets/infowidgets/SourceInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/SourceInfoWidget.cpp @@ -76,8 +76,6 @@ SourceInfoWidget::SourceInfoWidget( const Tomahawk::source_ptr& source, QWidget* { m_description = tr( "Recent activity from %1" ).arg( source->friendlyName() ); } - - m_pixmap.load( RESPATH "images/new-additions.png" ); } @@ -115,3 +113,11 @@ SourceInfoWidget::changeEvent( QEvent* e ) break; } } + + +QPixmap +SourceInfoWidget::pixmap() const +{ + return TomahawkUtils::defaultPixmap( TomahawkUtils::NewAdditions, TomahawkUtils::Original ); + +} diff --git a/src/libtomahawk/widgets/infowidgets/SourceInfoWidget.h b/src/libtomahawk/widgets/infowidgets/SourceInfoWidget.h index db17ac46d..7ccbe7394 100644 --- a/src/libtomahawk/widgets/infowidgets/SourceInfoWidget.h +++ b/src/libtomahawk/widgets/infowidgets/SourceInfoWidget.h @@ -50,7 +50,7 @@ public: virtual QString title() const { return m_title; } virtual QString description() const { return m_description; } - virtual QPixmap pixmap() const { return m_pixmap; } + virtual QPixmap pixmap() const; virtual bool jumpToCurrentTrack() { return false; } @@ -73,7 +73,6 @@ private: QString m_title; QString m_description; - QPixmap m_pixmap; }; #endif // SOURCEINFOWIDGET_H diff --git a/src/sourcetree/SourceDelegate.cpp b/src/sourcetree/SourceDelegate.cpp index c6efebdc6..0919432bd 100644 --- a/src/sourcetree/SourceDelegate.cpp +++ b/src/sourcetree/SourceDelegate.cpp @@ -67,12 +67,6 @@ SourceDelegate::SourceDelegate( QAbstractItemView* parent ) m_dropTypeImageMap.insert( 4, QPixmap( RESPATH "images/drop-top-songs.png" ).scaledToWidth( 32, Qt::SmoothTransformation ) ); m_dropMimeData = new QMimeData(); - - m_headphonesOff.load( RESPATH "images/headphones-off.png" ); - m_headphonesOn.load( RESPATH "images/headphones-sidebar.png" ); - m_realtimeLocked.load( RESPATH "images/closed-padlock.png" ); - m_realtimeUnlocked.load( RESPATH "images/open-padlock.png" ); - m_collaborativeOn.load( RESPATH "images/green-dot.png" ); } @@ -220,29 +214,29 @@ SourceDelegate::paintCollection( QPainter* painter, const QStyleOptionViewItem& if ( isPlaying || ( !colItem->source().isNull() && colItem->source()->isLocal() ) ) { // Show a listen icon - QPixmap listenAlongPixmap; - QPixmap realtimeListeningAlongPixmap; + TomahawkUtils::ImageType listenAlongPixmap = TomahawkUtils::Invalid; + TomahawkUtils::ImageType realtimeListeningAlongPixmap = TomahawkUtils::Invalid; if ( index.data( SourcesModel::LatchedOnRole ).toBool() ) { // Currently listening along - listenAlongPixmap = m_headphonesOn; + listenAlongPixmap = TomahawkUtils::HeadphonesOn; if ( !colItem->source()->isLocal() ) { realtimeListeningAlongPixmap = colItem->source()->playlistInterface()->latchMode() == Tomahawk::PlaylistModes::RealTime ? - m_realtimeLocked : m_realtimeUnlocked; + TomahawkUtils::PadlockClosed : TomahawkUtils::PadlockOpen; } } else if ( !colItem->source()->isLocal() ) { - listenAlongPixmap = m_headphonesOff; + listenAlongPixmap = TomahawkUtils::HeadphonesOff; } - if ( !listenAlongPixmap.isNull() ) + if ( listenAlongPixmap != TomahawkUtils::Invalid ) { QRect pmRect = textRect; pmRect.setRight( pmRect.left() + pmRect.height() ); - painter->drawPixmap( pmRect, listenAlongPixmap.scaledToHeight( pmRect.height(), Qt::SmoothTransformation ) ); + painter->drawPixmap( pmRect, TomahawkUtils::defaultPixmap( listenAlongPixmap, TomahawkUtils::Original, pmRect.size() ) ); textRect.adjust( pmRect.width() + 3, 0, 0, 0 ); m_headphoneRects[ index ] = pmRect; @@ -250,11 +244,11 @@ SourceDelegate::paintCollection( QPainter* painter, const QStyleOptionViewItem& else m_headphoneRects.remove( index ); - if ( !realtimeListeningAlongPixmap.isNull() ) + if ( realtimeListeningAlongPixmap != TomahawkUtils::Invalid ) { QRect pmRect = textRect; pmRect.setRight( pmRect.left() + pmRect.height() ); - painter->drawPixmap( pmRect, realtimeListeningAlongPixmap.scaledToHeight( pmRect.height(), Qt::SmoothTransformation ) ); + painter->drawPixmap( pmRect, TomahawkUtils::defaultPixmap( realtimeListeningAlongPixmap, TomahawkUtils::Original, pmRect.size() ) ); textRect.adjust( pmRect.width() + 3, 0, 0, 0 ); m_lockRects[ index ] = pmRect; @@ -568,11 +562,8 @@ SourceDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, co QStyledItemDelegate::paint( painter, o, index ); // draw close icon - QPixmap p( RESPATH "images/list-remove.png" ); - p = p.scaledToHeight( m_iconHeight, Qt::SmoothTransformation ); - QRect r( o3.rect.right() - padding - m_iconHeight, padding + o3.rect.y(), m_iconHeight, m_iconHeight ); - painter->drawPixmap( r, p ); + painter->drawPixmap( r, TomahawkUtils::defaultPixmap( TomahawkUtils::ListRemove, TomahawkUtils::Original, r.size() ) ); } else QStyledItemDelegate::paint( painter, o, index ); @@ -585,20 +576,20 @@ SourceDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, co if ( plItem->canSubscribe() && !plItem->subscribedIcon().isNull() ) { const int padding = 2; - const int imgWidth = o.rect.height() - 2*padding; + const int imgWidth = o.rect.height() - 2 * padding; const QPixmap icon = plItem->subscribedIcon().scaled( imgWidth, imgWidth, Qt::KeepAspectRatio, Qt::SmoothTransformation ); - const QRect subRect( o.rect.right() - padding - imgWidth, o.rect.top() + padding, imgWidth, imgWidth ); painter->drawPixmap( subRect, icon ); } if ( plItem->collaborative() ) { - const int imgWidth = m_collaborativeOn.size().width(); + const int padding = 2; + const int imgWidth = o.rect.height() - 2 * padding; const QRect subRect( o.rect.left(), o.rect.top(), imgWidth, imgWidth ); - painter->drawPixmap( subRect, m_collaborativeOn ); + painter->drawPixmap( subRect, TomahawkUtils::defaultPixmap( TomahawkUtils::GreenDot, TomahawkUtils::Original, subRect.size() ) ); } } else diff --git a/src/sourcetree/SourceDelegate.h b/src/sourcetree/SourceDelegate.h index dd7c16609..59c0c3540 100644 --- a/src/sourcetree/SourceDelegate.h +++ b/src/sourcetree/SourceDelegate.h @@ -72,7 +72,6 @@ private: QMimeData* m_dropMimeData; mutable SourceTreeItem::DropType m_hoveredDropType; // Hack to keep easily track of the current highlighted DropType in paint() QMap< QModelIndex, AnimationHelper* > m_expandedMap; - QPixmap m_headphonesOn, m_headphonesOff, m_realtimeLocked, m_realtimeUnlocked, m_collaborativeOn; qint64 m_lastClicked; QMap< int, SourceTreeItem::DropType > m_dropTypeMap; QMap< int, QString > m_dropTypeTextMap; diff --git a/src/sourcetree/SourcesModel.cpp b/src/sourcetree/SourcesModel.cpp index 95b200294..290c3125e 100644 --- a/src/sourcetree/SourcesModel.cpp +++ b/src/sourcetree/SourcesModel.cpp @@ -20,6 +20,11 @@ #include "sourcetree/SourcesModel.h" +#include +#include + +#include + #include "sourcetree/items/SourceTreeItem.h" #include "sourcetree/items/SourceItem.h" #include "sourcetree/items/GroupItem.h" @@ -31,19 +36,14 @@ #include "Collection.h" #include "Source.h" #include "ViewManager.h" - -#include "utils/Logger.h" #include "GlobalActionManager.h" #include "DropJob.h" #include "items/PlaylistItems.h" #include "playlist/TreeView.h" #include "playlist/PlaylistView.h" #include "playlist/dynamic/widgets/DynamicWidget.h" - -#include -#include - -#include +#include "utils/ImageRegistry.h" +#include "utils/Logger.h" using namespace Tomahawk; @@ -282,13 +282,13 @@ SourcesModel::appendGroups() // new SourceTreeItem( this, m_rootItem, SourcesModel::Divider, 2 ); m_myMusicGroup = new GroupItem( this, m_rootItem, tr( "My Music" ), 3 ); - GenericPageItem* dashboard = new GenericPageItem( this, browse, tr( "Dashboard" ), QIcon( RESPATH "images/dashboard.png" ), + GenericPageItem* dashboard = new GenericPageItem( this, browse, tr( "Dashboard" ), ImageRegistry::instance()->icon( RESPATH "images/dashboard.svg" ), boost::bind( &ViewManager::showWelcomePage, ViewManager::instance() ), boost::bind( &ViewManager::welcomeWidget, ViewManager::instance() ) ); dashboard->setSortValue( 0 ); // super collection - GenericPageItem* sc = new GenericPageItem( this, browse, tr( "SuperCollection" ), QIcon( RESPATH "images/supercollection.png" ), + GenericPageItem* sc = new GenericPageItem( this, browse, tr( "SuperCollection" ), ImageRegistry::instance()->icon( RESPATH "images/supercollection.svg" ), boost::bind( &ViewManager::showSuperCollection, ViewManager::instance() ), boost::bind( &ViewManager::superCollectionView, ViewManager::instance() ) ); sc->setSortValue( 1 ); @@ -302,12 +302,12 @@ SourcesModel::appendGroups() boost::bind( &ViewManager::recentPlaysWidget, ViewManager::instance() ) ); recent->setSortValue( 3 ); - GenericPageItem* hot = new GenericPageItem( this, browse, tr( "Charts" ), QIcon( RESPATH "images/charts.png" ), + GenericPageItem* hot = new GenericPageItem( this, browse, tr( "Charts" ), ImageRegistry::instance()->icon( RESPATH "images/charts.svg" ), boost::bind( &ViewManager::showWhatsHotPage, ViewManager::instance() ), boost::bind( &ViewManager::whatsHotWidget, ViewManager::instance() ) ); hot->setSortValue( 4 ); - GenericPageItem* newReleases = new GenericPageItem( this, browse, tr( "New Releases" ), QIcon( RESPATH "images/new-releases.png" ), + GenericPageItem* newReleases = new GenericPageItem( this, browse, tr( "New Releases" ), ImageRegistry::instance()->icon( RESPATH "images/new-releases.svg" ), boost::bind( &ViewManager::showNewReleasesPage, ViewManager::instance() ), boost::bind( &ViewManager::newReleasesWidget, ViewManager::instance() ) ); newReleases->setSortValue( 5 ); diff --git a/src/sourcetree/items/LovedTracksItem.cpp b/src/sourcetree/items/LovedTracksItem.cpp index 00fba60be..6d40ffbad 100644 --- a/src/sourcetree/items/LovedTracksItem.cpp +++ b/src/sourcetree/items/LovedTracksItem.cpp @@ -29,6 +29,8 @@ #include "playlist/LovedTracksModel.h" #include "playlist/PlaylistLargeItemDelegate.h" +#include "utils/ImageRegistry.h" + using namespace Tomahawk; @@ -60,7 +62,7 @@ LovedTracksItem::text() const QIcon LovedTracksItem::icon() const { - return QIcon( RESPATH "images/loved_playlist.png" ); + return ImageRegistry::instance()->icon( RESPATH "images/loved_playlist.svg" ); } @@ -71,7 +73,7 @@ LovedTracksItem::activate() { SourceItem* par = dynamic_cast< SourceItem* >( parent() ); FlexibleView* pv = new FlexibleView( ViewManager::instance()->widget() ); - pv->setPixmap( QPixmap( RESPATH "images/loved_playlist.png" ) ); + pv->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::LovedPlaylist, TomahawkUtils::Original, QSize( 128, 128 ) ) ); LovedTracksModel* raModel = new LovedTracksModel( pv ); raModel->setTitle( text() ); diff --git a/src/sourcetree/items/PlaylistItems.cpp b/src/sourcetree/items/PlaylistItems.cpp index 16dd8bd47..6aaa2e8bf 100644 --- a/src/sourcetree/items/PlaylistItems.cpp +++ b/src/sourcetree/items/PlaylistItems.cpp @@ -21,15 +21,15 @@ #include "Query.h" #include "ViewManager.h" -#include "playlist/dynamic/GeneratorInterface.h" -#include "playlist/PlaylistView.h" #include "CategoryItems.h" #include "SourceItem.h" -#include "utils/TomahawkUtils.h" -#include "utils/Logger.h" #include "DropJob.h" #include "Source.h" #include "audio/AudioEngine.h" +#include "playlist/dynamic/GeneratorInterface.h" +#include "playlist/PlaylistView.h" +#include "utils/TomahawkUtilsGui.h" +#include "utils/Logger.h" #include #include @@ -49,9 +49,7 @@ PlaylistItem::PlaylistItem( SourcesModel* mdl, SourceTreeItem* parent, const pla connect( pl.data(), SIGNAL( changed() ), SLOT( onUpdated() ), Qt::QueuedConnection ); - m_icon = QIcon( RESPATH "images/playlist-icon.png" ); - - if( ViewManager::instance()->pageForPlaylist( pl ) ) + if ( ViewManager::instance()->pageForPlaylist( pl ) ) model()->linkSourceItemToPage( this, ViewManager::instance()->pageForPlaylist( pl ) ); if ( !m_playlist->updaters().isEmpty() ) @@ -337,9 +335,9 @@ PlaylistItem::createOverlay() } if ( m_canSubscribe && m_showSubscribed && m_subscribedOnIcon.isNull() ) - m_subscribedOnIcon = QPixmap( RESPATH "images/subscribe-on.png" ); + m_subscribedOnIcon = TomahawkUtils::defaultPixmap( TomahawkUtils::SubscribeOn, TomahawkUtils::Original, QSize( 20, 20 ) ); else if ( m_canSubscribe && !m_showSubscribed && m_subscribedOffIcon.isNull() ) - m_subscribedOffIcon = QPixmap( RESPATH "images/subscribe-off.png" ); + m_subscribedOffIcon = TomahawkUtils::defaultPixmap( TomahawkUtils::SubscribeOff, TomahawkUtils::Original, QSize( 20, 20 ) ); QList< QPixmap > icons; foreach ( PlaylistUpdaterInterface* updater, m_playlist->updaters() ) @@ -359,8 +357,7 @@ PlaylistItem::createOverlay() if ( icons.size() > 2 ) icons = icons.mid( 0, 2 ); - - QPixmap base = m_icon.pixmap( 48, 48 ); + QPixmap base = TomahawkUtils::defaultPixmap( TomahawkUtils::Playlist, TomahawkUtils::Original, QSize( 48, 48 ) ); QPainter p( &base ); const int w = base.width() / 2; QRect overlayRect( base.rect().right() - w, base.rect().height() - w, w, w ); @@ -388,7 +385,7 @@ PlaylistItem::icon() const if ( !m_overlaidIcon.isNull() ) return m_overlaidIcon; else - return m_icon; + return TomahawkUtils::defaultPixmap( TomahawkUtils::Playlist, TomahawkUtils::Original, QSize( 48, 48 ) ); } @@ -451,10 +448,9 @@ DynamicPlaylistItem::DynamicPlaylistItem( SourcesModel* mdl, SourceTreeItem* par connect( pl.data(), SIGNAL( dynamicRevisionLoaded( Tomahawk::DynamicPlaylistRevision ) ), SLOT( onDynamicPlaylistLoaded( Tomahawk::DynamicPlaylistRevision ) ), Qt::QueuedConnection ); - m_stationIcon = QIcon( RESPATH "images/station.png" ); m_automaticPlaylistIcon = QIcon( RESPATH "images/automatic-playlist.png" ); - if( ViewManager::instance()->pageForDynPlaylist( pl ) ) + if ( ViewManager::instance()->pageForDynPlaylist( pl ) ) model()->linkSourceItemToPage( this, ViewManager::instance()->pageForDynPlaylist( pl ) ); } @@ -580,7 +576,7 @@ DynamicPlaylistItem::icon() const { if ( m_dynplaylist->mode() == OnDemand ) { - return m_stationIcon; + return TomahawkUtils::defaultPixmap( TomahawkUtils::Station, TomahawkUtils::Original ); } else { diff --git a/src/sourcetree/items/PlaylistItems.h b/src/sourcetree/items/PlaylistItems.h index 1b7e1e3e7..70fd11a54 100644 --- a/src/sourcetree/items/PlaylistItems.h +++ b/src/sourcetree/items/PlaylistItems.h @@ -67,7 +67,7 @@ private: bool m_loaded, m_canSubscribe, m_showSubscribed; Tomahawk::playlist_ptr m_playlist; - QIcon m_icon, m_overlaidIcon; + QIcon m_overlaidIcon; QPixmap m_subscribedOnIcon, m_subscribedOffIcon; QList m_overlaidUpdaters; }; @@ -100,7 +100,6 @@ private: Tomahawk::dynplaylist_ptr m_dynplaylist; - QIcon m_stationIcon; QIcon m_automaticPlaylistIcon; }; diff --git a/src/sourcetree/items/SourceItem.cpp b/src/sourcetree/items/SourceItem.cpp index 62e6adfc4..37be6915c 100644 --- a/src/sourcetree/items/SourceItem.cpp +++ b/src/sourcetree/items/SourceItem.cpp @@ -58,11 +58,10 @@ SourceItem::SourceItem( SourcesModel* mdl, SourceTreeItem* parent, const Tomahaw { if ( m_source.isNull() ) { - m_superCol = TomahawkUtils::createRoundedImage( QPixmap( RESPATH "images/supercollection.png" ), QSize( 0, 0 ) ); return; } - m_collectionItem = new GenericPageItem( model(), this, tr( "Collection" ), QIcon( RESPATH "images/collection.png" ), //FIXME different icon + m_collectionItem = new GenericPageItem( model(), this, tr( "Collection" ), ImageRegistry::instance()->icon( RESPATH "images/collection.svg" ), //FIXME different icon boost::bind( &SourceItem::collectionClicked, this ), boost::bind( &SourceItem::getCollectionPage, this ) ); @@ -70,7 +69,7 @@ SourceItem::SourceItem( SourcesModel* mdl, SourceTreeItem* parent, const Tomahaw boost::bind( &SourceItem::sourceInfoClicked, this ), boost::bind( &SourceItem::getSourceInfoPage, this ) );*/ - m_latestAdditionsItem = new GenericPageItem( model(), this, tr( "Latest Additions" ), QIcon( RESPATH "images/new-additions.png" ), + m_latestAdditionsItem = new GenericPageItem( model(), this, tr( "Latest Additions" ), ImageRegistry::instance()->icon( RESPATH "images/new-additions.svg" ), boost::bind( &SourceItem::latestAdditionsClicked, this ), boost::bind( &SourceItem::getLatestAdditionsPage, this ) ); @@ -198,7 +197,7 @@ SourceItem::pixmap( const QSize& size ) const { if ( m_source.isNull() ) { - return m_superCol; + return TomahawkUtils::defaultPixmap( TomahawkUtils::SuperCollection, TomahawkUtils::Original, size ); } else { @@ -517,7 +516,7 @@ SourceItem::latestAdditionsClicked() if ( !m_latestAdditionsPage ) { FlexibleView* pv = new FlexibleView( ViewManager::instance()->widget() ); - pv->setPixmap( QPixmap( RESPATH "images/new-additions.png" ) ); + pv->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::NewAdditions, TomahawkUtils::Original ) ); RecentlyAddedModel* raModel = new RecentlyAddedModel( pv ); raModel->setTitle( tr( "Latest Additions" ) ); diff --git a/src/sourcetree/items/SourceItem.h b/src/sourcetree/items/SourceItem.h index a61ee7c90..2e9238623 100644 --- a/src/sourcetree/items/SourceItem.h +++ b/src/sourcetree/items/SourceItem.h @@ -92,7 +92,6 @@ private: void playlistDeletedInternal( SourceTreeItem* parent, const T& playlists ); Tomahawk::source_ptr m_source; - QPixmap m_superCol; CategoryItem* m_playlists; CategoryItem* m_stations; diff --git a/src/sourcetree/items/TemporaryPageItem.cpp b/src/sourcetree/items/TemporaryPageItem.cpp index 86f8ab073..a094bbb19 100644 --- a/src/sourcetree/items/TemporaryPageItem.cpp +++ b/src/sourcetree/items/TemporaryPageItem.cpp @@ -24,6 +24,7 @@ #include "widgets/infowidgets/ArtistInfoWidget.h" #include "widgets/infowidgets/TrackInfoWidget.h" #include "widgets/SearchWidget.h" +#include "utils/ImageRegistry.h" #include "utils/Closure.h" #include @@ -41,7 +42,7 @@ using namespace Tomahawk; TemporaryPageItem::TemporaryPageItem ( SourcesModel* mdl, SourceTreeItem* parent, ViewPage* page, int sortValue ) : SourceTreeItem( mdl, parent, SourcesModel::TemporaryPage ) , m_page( page ) - , m_icon( QIcon( RESPATH "images/playlist-icon.png" ) ) + , m_icon( ImageRegistry::instance()->icon( RESPATH "images/playlist-icon.svg" ) ) , m_sortValue( sortValue ) { QAction* action = 0; @@ -51,21 +52,21 @@ TemporaryPageItem::TemporaryPageItem ( SourcesModel* mdl, SourceTreeItem* parent action = new QAction( tr( "Copy Artist Link" ), this ); action->setProperty( "linkType", (int)ArtistLink ); - m_icon = QIcon( RESPATH "images/artist-icon.png" ); + m_icon = ImageRegistry::instance()->icon( RESPATH "images/artist-icon.svg" ); } else if ( dynamic_cast< AlbumInfoWidget* >( page ) ) { action = new QAction( tr( "Copy Album Link" ), this ); action->setProperty( "linkType", (int)AlbumLink ); - m_icon = QIcon( RESPATH "images/album-icon.png" ); + m_icon = ImageRegistry::instance()->icon( RESPATH "images/album-icon.svg" ); } else if ( dynamic_cast< TrackInfoWidget* >( page ) ) { action = new QAction( tr( "Copy Track Link" ), this ); action->setProperty( "linkType", (int)TrackLink ); - m_icon = QIcon( RESPATH "images/track-icon-sidebar.png" ); + m_icon = ImageRegistry::instance()->icon( RESPATH "images/track-icon.svg" ); } else if ( dynamic_cast< SearchWidget* >( page ) ) { diff --git a/src/widgets/AccountWidget.cpp b/src/widgets/AccountWidget.cpp index bab5b98bc..fa4aa2c12 100644 --- a/src/widgets/AccountWidget.cpp +++ b/src/widgets/AccountWidget.cpp @@ -110,7 +110,7 @@ AccountWidget::AccountWidget( QWidget* parent ) m_addAccountIcon = new QLabel( m_inviteContainer ); m_addAccountIcon->setContentsMargins( 1, 0, 0, 0 ); - m_addAccountIcon->setPixmap( QIcon( RESPATH "images/add-contact.png" ).pixmap( 16 ) ); + m_addAccountIcon->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::AddContact, TomahawkUtils::Original, QSize( 16, 16 ) ) ); m_addAccountIcon->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Expanding ); m_addAccountIcon->setAlignment( Qt::AlignCenter ); containerLayout->addWidget( m_addAccountIcon ); diff --git a/src/widgets/AccountsToolButton.cpp b/src/widgets/AccountsToolButton.cpp index bdee7058a..dbb9d4ffe 100644 --- a/src/widgets/AccountsToolButton.cpp +++ b/src/widgets/AccountsToolButton.cpp @@ -84,10 +84,9 @@ AccountsToolButton::AccountsToolButton( QWidget* parent ) wMainLayout->addSpacing( 6 ); QPushButton *settingsButton = new QPushButton( w ); - settingsButton->setIcon( QIcon( RESPATH "images/account-settings.png" ) ); + settingsButton->setIcon( TomahawkUtils::defaultPixmap( TomahawkUtils::AccountSettings ) ); settingsButton->setText( tr( "Configure Accounts" ) ); - connect( settingsButton, SIGNAL( clicked() ), - window(), SLOT( showSettingsDialog() ) ); + connect( settingsButton, SIGNAL( clicked() ), window(), SLOT( showSettingsDialog() ) ); QHBoxLayout *bottomLayout = new QHBoxLayout( w ); TomahawkUtils::unmarginLayout( bottomLayout ); @@ -95,12 +94,8 @@ AccountsToolButton::AccountsToolButton( QWidget* parent ) bottomLayout->addWidget( settingsButton ); wMainLayout->addLayout( bottomLayout ); - //ToolButton stuff - m_defaultPixmap = QPixmap( RESPATH "images/account-none.png" ) - .scaled( iconSize(), - Qt::KeepAspectRatio, - Qt::SmoothTransformation ); + m_defaultPixmap = QPixmap( RESPATH "images/account-none.png" ).scaled( iconSize(), Qt::KeepAspectRatio, Qt::SmoothTransformation ); connect( m_proxy, SIGNAL( dataChanged( QModelIndex, QModelIndex ) ), this, SLOT( updateIcons() ) ); From 2b18cca7c595494c13271cec159743b121f2df39 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Wed, 5 Dec 2012 15:35:36 +0100 Subject: [PATCH 073/332] Finally, really fix the black borders on popup Windows issue. For now only on AccountsPopupWidget. Thanks Patrick von Reth for the solution. --- src/widgets/AccountsPopupWidget.cpp | 59 +++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 7 deletions(-) diff --git a/src/widgets/AccountsPopupWidget.cpp b/src/widgets/AccountsPopupWidget.cpp index a658787cc..6c2c95a06 100644 --- a/src/widgets/AccountsPopupWidget.cpp +++ b/src/widgets/AccountsPopupWidget.cpp @@ -29,14 +29,22 @@ #include #include #include +#ifdef Q_WS_X11 + #include + #include +#endif +#ifdef Q_OS_WIN + #include +#endif + AccountsPopupWidget::AccountsPopupWidget( QWidget* parent ) : QWidget( parent ) , m_widget( 0 ) , m_arrowOffset( 0 ) { - setWindowFlags( Qt::FramelessWindowHint ); - setWindowFlags( Qt::Popup ); + setWindowFlags( Qt::Popup | Qt::FramelessWindowHint ); + //Uncomment this if using a debugger: //setWindowFlags( Qt::Window ); @@ -44,7 +52,6 @@ AccountsPopupWidget::AccountsPopupWidget( QWidget* parent ) setAttribute( Qt::WA_TranslucentBackground, true ); setAttribute( Qt::WA_NoSystemBackground, true ); - setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Minimum ); m_layout = new QVBoxLayout( this ); @@ -59,6 +66,7 @@ AccountsPopupWidget::AccountsPopupWidget( QWidget* parent ) #endif } + void AccountsPopupWidget::setWidget( QWidget* widget ) { @@ -67,6 +75,7 @@ AccountsPopupWidget::setWidget( QWidget* widget ) m_widget->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Minimum ); } + void AccountsPopupWidget::anchorAt( const QPoint &p ) { @@ -77,6 +86,7 @@ AccountsPopupWidget::anchorAt( const QPoint &p ) repaint(); } + void AccountsPopupWidget::setArrowOffset( int arrowOffset ) { @@ -89,7 +99,9 @@ AccountsPopupWidget::setArrowOffset( int arrowOffset ) } } -void AccountsPopupWidget::paintEvent( QPaintEvent* ) + +void +AccountsPopupWidget::paintEvent( QPaintEvent* ) { // Constants for painting const int cornerRadius = TomahawkUtils::POPUP_ROUNDING_RADIUS; //the rounding radius of the widget @@ -109,10 +121,30 @@ void AccountsPopupWidget::paintEvent( QPaintEvent* ) outline.lineTo( rect().right() - m_arrowOffset, 2 ); outline.lineTo( rect().right() - m_arrowOffset - arrowHeight, brect.top() ); - QPainter p( this ); + bool compositingWorks = true; +#if defined(Q_WS_WIN) //HACK: Windows refuses to perform compositing so we must fake it + compositingWorks = false; +#elif defined(Q_WS_X11) + if ( !QX11Info::isCompositingManagerRunning() ) + compositingWorks = false; +#endif - p.setRenderHint( QPainter::Antialiasing ); - p.setBackgroundMode( Qt::TransparentMode ); + QPainter p; + QImage result; + if ( compositingWorks ) + { + p.begin( this ); + p.setRenderHint( QPainter::Antialiasing ); + p.setBackgroundMode( Qt::TransparentMode ); + } + else + { + result = QImage( rect().size(), QImage::Format_ARGB32_Premultiplied ); + p.begin( &result ); + p.setCompositionMode( QPainter::CompositionMode_Source ); + p.fillRect(result.rect(), Qt::transparent); + p.setCompositionMode( QPainter::CompositionMode_SourceOver ); + } QPen pen( TomahawkUtils::Colors::BORDER_LINE ); pen.setWidth( 2 ); @@ -121,6 +153,16 @@ void AccountsPopupWidget::paintEvent( QPaintEvent* ) p.setOpacity( TomahawkUtils::POPUP_OPACITY ); p.fillPath( outline, TomahawkUtils::Colors::POPUP_BACKGROUND ); + p.end(); + + if ( !compositingWorks ) + { + QPainter finalPainter( this ); + finalPainter.setRenderHint( QPainter::Antialiasing ); + finalPainter.setBackgroundMode( Qt::TransparentMode ); + finalPainter.drawImage( 0, 0, result ); + setMask( QPixmap::fromImage( result ).mask() ); + } #ifdef QT_MAC_USE_COCOA // Work around bug in Qt/Mac Cocoa where opening subsequent popups @@ -130,14 +172,17 @@ void AccountsPopupWidget::paintEvent( QPaintEvent* ) #endif } + void AccountsPopupWidget::focusOutEvent( QFocusEvent* ) { hide(); } + void AccountsPopupWidget::hideEvent( QHideEvent* ) { emit hidden(); } + From e7b0ba71e7a562aca4cdf70a55e9e022c889bbf6 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Wed, 5 Dec 2012 17:31:40 +0100 Subject: [PATCH 074/332] Apply popup fix on SourceTreePopupDialog as well. --- src/libtomahawk/utils/TomahawkUtilsGui.cpp | 62 +++++++++++++++++++ src/libtomahawk/utils/TomahawkUtilsGui.h | 2 + .../widgets/SourceTreePopupDialog.cpp | 32 ++++------ src/widgets/AccountsPopupWidget.cpp | 62 ++----------------- 4 files changed, 80 insertions(+), 78 deletions(-) diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.cpp b/src/libtomahawk/utils/TomahawkUtilsGui.cpp index 3f83b6a74..1fd4dbc2d 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.cpp +++ b/src/libtomahawk/utils/TomahawkUtilsGui.cpp @@ -2,6 +2,7 @@ * * Copyright 2010-2011, Christian Muehlhaeuser * Copyright 2010-2011, Leo Franchi + * Copyright 2012, Teo Mrnjavac * * Tomahawk is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -39,10 +40,12 @@ #ifdef Q_WS_X11 #include + #include #include #endif #ifdef Q_WS_WIN + #include #include #include #include @@ -851,4 +854,63 @@ addDropShadow( const QPixmap& source, const QSize& targetSize ) } +void +drawCompositedPopup( QWidget* widget, + const QPainterPath& outline, + const QColor& lineColor, + const QBrush& backgroundBrush, + qreal opacity ) +{ + bool compositingWorks = true; +#if defined(Q_WS_WIN) //HACK: Windows refuses to perform compositing so we must fake it + compositingWorks = false; +#elif defined(Q_WS_X11) + if ( !QX11Info::isCompositingManagerRunning() ) + compositingWorks = false; +#endif + + QPainter p; + QImage result; + if ( compositingWorks ) + { + p.begin( widget ); + p.setRenderHint( QPainter::Antialiasing ); + p.setBackgroundMode( Qt::TransparentMode ); + } + else + { + result = QImage( widget->rect().size(), QImage::Format_ARGB32_Premultiplied ); + p.begin( &result ); + p.setCompositionMode( QPainter::CompositionMode_Source ); + p.fillRect( result.rect(), Qt::transparent ); + p.setCompositionMode( QPainter::CompositionMode_SourceOver ); + } + + QPen pen( lineColor ); + pen.setWidth( 2 ); + p.setPen( pen ); + p.drawPath( outline ); + + p.setOpacity( opacity ); + p.fillPath( outline, backgroundBrush ); + p.end(); + + if ( !compositingWorks ) + { + QPainter finalPainter( widget ); + finalPainter.setRenderHint( QPainter::Antialiasing ); + finalPainter.setBackgroundMode( Qt::TransparentMode ); + finalPainter.drawImage( 0, 0, result ); + widget->setMask( QPixmap::fromImage( result ).mask() ); + } + +#ifdef QT_MAC_USE_COCOA + // Work around bug in Qt/Mac Cocoa where opening subsequent popups + // would incorrectly calculate the background due to it not being + // invalidated. + SourceTreePopupHelper::clearBackground( this ); +#endif +} + + } // ns diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.h b/src/libtomahawk/utils/TomahawkUtilsGui.h index 2f55679db..544652c98 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.h +++ b/src/libtomahawk/utils/TomahawkUtilsGui.h @@ -75,6 +75,8 @@ namespace TomahawkUtils DLLEXPORT QPixmap addDropShadow( const QPixmap& sourceImage, const QSize& targetSize ); + DLLEXPORT void drawCompositedPopup( QWidget* widget, const QPainterPath& outline, const QColor& lineColor, const QBrush& backgroundBrush, qreal opacity ); + namespace Colors { static const QColor BORDER_LINE = QColor( "#8c8c8c" ); diff --git a/src/libtomahawk/widgets/SourceTreePopupDialog.cpp b/src/libtomahawk/widgets/SourceTreePopupDialog.cpp index 068ec4c4e..c8a91a69b 100644 --- a/src/libtomahawk/widgets/SourceTreePopupDialog.cpp +++ b/src/libtomahawk/widgets/SourceTreePopupDialog.cpp @@ -206,28 +206,18 @@ SourceTreePopupDialog::paintEvent( QPaintEvent* event ) outline.lineTo( leftEdgeOffset, brect.top() + brect.height() / 2 + leftTriangleWidth / 2 ); outline.lineTo( brect.left(), brect.top() + brect.height() / 2 ); - QPainter p( this ); - - p.setRenderHint( QPainter::Antialiasing ); - - QPen pen( TomahawkUtils::Colors::BORDER_LINE ); - pen.setWidth( 2 ); - p.setPen( pen ); - p.drawPath( outline ); - -#ifdef Q_OS_MAC - p.setOpacity( 0.93 ); - p.fillPath( outline, QColor( "#D6E3F1" ) ); +#ifndef Q_OS_MAC + TomahawkUtils::drawCompositedPopup( this, + outline, + TomahawkUtils::Colors::BORDER_LINE, + TomahawkUtils::Colors::POPUP_BACKGROUND, + TomahawkUtils::POPUP_OPACITY ); #else - p.setOpacity( TomahawkUtils::POPUP_OPACITY ); - p.fillPath( outline, TomahawkUtils::Colors::POPUP_BACKGROUND ); -#endif - -#ifdef QT_MAC_USE_COCOA - // Work around bug in Qt/Mac Cocoa where opening subsequent popups - // would incorrectly calculate the background due to it not being - // invalidated. - SourceTreePopupHelper::clearBackground( this ); + TomahawkUtils::drawCompositedPopup( this, + outline, + TomahawkUtils::Colors::BORDER_LINE, + QColor( "#D6E3F1" ), + 0.93 ); #endif } diff --git a/src/widgets/AccountsPopupWidget.cpp b/src/widgets/AccountsPopupWidget.cpp index 6c2c95a06..34d57cae8 100644 --- a/src/widgets/AccountsPopupWidget.cpp +++ b/src/widgets/AccountsPopupWidget.cpp @@ -29,14 +29,6 @@ #include #include #include -#ifdef Q_WS_X11 - #include - #include -#endif -#ifdef Q_OS_WIN - #include -#endif - AccountsPopupWidget::AccountsPopupWidget( QWidget* parent ) : QWidget( parent ) @@ -121,55 +113,11 @@ AccountsPopupWidget::paintEvent( QPaintEvent* ) outline.lineTo( rect().right() - m_arrowOffset, 2 ); outline.lineTo( rect().right() - m_arrowOffset - arrowHeight, brect.top() ); - bool compositingWorks = true; -#if defined(Q_WS_WIN) //HACK: Windows refuses to perform compositing so we must fake it - compositingWorks = false; -#elif defined(Q_WS_X11) - if ( !QX11Info::isCompositingManagerRunning() ) - compositingWorks = false; -#endif - - QPainter p; - QImage result; - if ( compositingWorks ) - { - p.begin( this ); - p.setRenderHint( QPainter::Antialiasing ); - p.setBackgroundMode( Qt::TransparentMode ); - } - else - { - result = QImage( rect().size(), QImage::Format_ARGB32_Premultiplied ); - p.begin( &result ); - p.setCompositionMode( QPainter::CompositionMode_Source ); - p.fillRect(result.rect(), Qt::transparent); - p.setCompositionMode( QPainter::CompositionMode_SourceOver ); - } - - QPen pen( TomahawkUtils::Colors::BORDER_LINE ); - pen.setWidth( 2 ); - p.setPen( pen ); - p.drawPath( outline ); - - p.setOpacity( TomahawkUtils::POPUP_OPACITY ); - p.fillPath( outline, TomahawkUtils::Colors::POPUP_BACKGROUND ); - p.end(); - - if ( !compositingWorks ) - { - QPainter finalPainter( this ); - finalPainter.setRenderHint( QPainter::Antialiasing ); - finalPainter.setBackgroundMode( Qt::TransparentMode ); - finalPainter.drawImage( 0, 0, result ); - setMask( QPixmap::fromImage( result ).mask() ); - } - -#ifdef QT_MAC_USE_COCOA - // Work around bug in Qt/Mac Cocoa where opening subsequent popups - // would incorrectly calculate the background due to it not being - // invalidated. - SourceTreePopupHelper::clearBackground( this ); -#endif + TomahawkUtils::drawCompositedPopup( this, + outline, + TomahawkUtils::Colors::BORDER_LINE, + TomahawkUtils::Colors::POPUP_BACKGROUND, + TomahawkUtils::POPUP_OPACITY ); } From 0cced2538baba1feef4b439e9c06c070395372f9 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Wed, 5 Dec 2012 13:00:31 -0500 Subject: [PATCH 075/332] Added headphones-off.svg and played around with gradients and colors. Easy to change (back). --- data/images/back-pressed.svg | 12 +++-- data/images/back-rest.svg | 12 +++-- data/images/charts.svg | 18 ++++---- data/images/collection.svg | 76 ++++++------------------------- data/images/dashboard.svg | 19 ++++---- data/images/headphones-off.svg | 12 +++++ data/images/headphones.svg | 11 ++++- data/images/loved.svg | 11 ++++- data/images/loved_playlist.svg | 13 ++++-- data/images/new-releases.svg | 11 ++++- data/images/open-padlock.svg | 6 +-- data/images/pause-pressed.svg | 14 +++--- data/images/pause-rest.svg | 14 +++--- data/images/play-pressed.svg | 8 ++-- data/images/play-rest.svg | 8 ++-- data/images/playlist-icon.svg | 73 ++++++----------------------- data/images/skip-pressed.svg | 12 +++-- data/images/skip-rest.svg | 10 ++-- data/images/station.svg | 19 +++++--- data/images/supercollection.svg | 34 ++++---------- data/images/volume-icon-full.svg | 17 ++++--- data/images/volume-icon-muted.svg | 14 +++--- 22 files changed, 191 insertions(+), 233 deletions(-) create mode 100644 data/images/headphones-off.svg diff --git a/data/images/back-pressed.svg b/data/images/back-pressed.svg index df395ea37..a22ec1e9f 100644 --- a/data/images/back-pressed.svg +++ b/data/images/back-pressed.svg @@ -3,13 +3,15 @@ back-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + + - - + + + \ No newline at end of file diff --git a/data/images/back-rest.svg b/data/images/back-rest.svg index e000d8459..4379d2183 100644 --- a/data/images/back-rest.svg +++ b/data/images/back-rest.svg @@ -3,13 +3,15 @@ back-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + + - - + + + \ No newline at end of file diff --git a/data/images/charts.svg b/data/images/charts.svg index 20c612526..efb0bb784 100644 --- a/data/images/charts.svg +++ b/data/images/charts.svg @@ -1,14 +1,16 @@ - + charts Created with Sketch (http://www.bohemiancoding.com/sketch) - + + + + + + + - - - - - - + + \ No newline at end of file diff --git a/data/images/collection.svg b/data/images/collection.svg index b2efdfe41..b24e994b7 100644 --- a/data/images/collection.svg +++ b/data/images/collection.svg @@ -1,62 +1,16 @@ - - -image/svg+xml \ No newline at end of file + + collection + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/dashboard.svg b/data/images/dashboard.svg index 54c2571fa..716bd73f8 100644 --- a/data/images/dashboard.svg +++ b/data/images/dashboard.svg @@ -2,16 +2,19 @@ dashboard Created with Sketch (http://www.bohemiancoding.com/sketch) - + + + + + + + + - - - - - - - + + + \ No newline at end of file diff --git a/data/images/headphones-off.svg b/data/images/headphones-off.svg new file mode 100644 index 000000000..6ceb7a258 --- /dev/null +++ b/data/images/headphones-off.svg @@ -0,0 +1,12 @@ + + + headphones-off + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/headphones.svg b/data/images/headphones.svg index bc1250315..f55fd06fa 100644 --- a/data/images/headphones.svg +++ b/data/images/headphones.svg @@ -2,8 +2,15 @@ headphones Created with Sketch (http://www.bohemiancoding.com/sketch) - + + + + + + + - + + \ No newline at end of file diff --git a/data/images/loved.svg b/data/images/loved.svg index 447715b40..e772f281d 100644 --- a/data/images/loved.svg +++ b/data/images/loved.svg @@ -2,10 +2,17 @@ loved Created with Sketch (http://www.bohemiancoding.com/sketch) - + + + + + + + - + + diff --git a/data/images/loved_playlist.svg b/data/images/loved_playlist.svg index b9e84a623..1489078da 100644 --- a/data/images/loved_playlist.svg +++ b/data/images/loved_playlist.svg @@ -1,9 +1,16 @@ - + loved_playlist Created with Sketch (http://www.bohemiancoding.com/sketch) - + + + + + + + - + + \ No newline at end of file diff --git a/data/images/new-releases.svg b/data/images/new-releases.svg index 9aab37c0e..4818b7064 100644 --- a/data/images/new-releases.svg +++ b/data/images/new-releases.svg @@ -2,11 +2,18 @@ new-releases Created with Sketch (http://www.bohemiancoding.com/sketch) - + + + + + + + - + + \ No newline at end of file diff --git a/data/images/open-padlock.svg b/data/images/open-padlock.svg index 404f64a46..23b5f62d3 100644 --- a/data/images/open-padlock.svg +++ b/data/images/open-padlock.svg @@ -4,9 +4,7 @@ Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + \ No newline at end of file diff --git a/data/images/pause-pressed.svg b/data/images/pause-pressed.svg index 2ddb21698..6f31c1686 100644 --- a/data/images/pause-pressed.svg +++ b/data/images/pause-pressed.svg @@ -3,16 +3,18 @@ pause-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + + - + + - - + + \ No newline at end of file diff --git a/data/images/pause-rest.svg b/data/images/pause-rest.svg index f79022c7d..9c442b2bc 100644 --- a/data/images/pause-rest.svg +++ b/data/images/pause-rest.svg @@ -3,16 +3,18 @@ pause-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + + - + + - - + + \ No newline at end of file diff --git a/data/images/play-pressed.svg b/data/images/play-pressed.svg index be2f72512..d703b1f77 100644 --- a/data/images/play-pressed.svg +++ b/data/images/play-pressed.svg @@ -3,13 +3,13 @@ play-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + - + \ No newline at end of file diff --git a/data/images/play-rest.svg b/data/images/play-rest.svg index 86766b5ac..947b015c5 100644 --- a/data/images/play-rest.svg +++ b/data/images/play-rest.svg @@ -3,13 +3,13 @@ play-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + - + \ No newline at end of file diff --git a/data/images/playlist-icon.svg b/data/images/playlist-icon.svg index 508536c10..5d9d3b91e 100644 --- a/data/images/playlist-icon.svg +++ b/data/images/playlist-icon.svg @@ -1,59 +1,16 @@ - - -image/svg+xml \ No newline at end of file + + playlist-icon + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/skip-pressed.svg b/data/images/skip-pressed.svg index e520ccf28..67dff37af 100644 --- a/data/images/skip-pressed.svg +++ b/data/images/skip-pressed.svg @@ -3,13 +3,15 @@ skip-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + + - - + + + \ No newline at end of file diff --git a/data/images/skip-rest.svg b/data/images/skip-rest.svg index 2029bdf75..dc6f1edfe 100644 --- a/data/images/skip-rest.svg +++ b/data/images/skip-rest.svg @@ -3,13 +3,15 @@ skip-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + + - + + \ No newline at end of file diff --git a/data/images/station.svg b/data/images/station.svg index 64e2ea6ce..2cb0a3528 100644 --- a/data/images/station.svg +++ b/data/images/station.svg @@ -2,15 +2,22 @@ station Created with Sketch (http://www.bohemiancoding.com/sketch) - + + + + + + + - - - + + + + - - + + \ No newline at end of file diff --git a/data/images/supercollection.svg b/data/images/supercollection.svg index 80dc8d1ee..4bbd3fbbc 100644 --- a/data/images/supercollection.svg +++ b/data/images/supercollection.svg @@ -2,33 +2,17 @@ supercollection Created with Sketch (http://www.bohemiancoding.com/sketch) - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + \ No newline at end of file diff --git a/data/images/volume-icon-full.svg b/data/images/volume-icon-full.svg index 8cd0007d4..ef9875972 100644 --- a/data/images/volume-icon-full.svg +++ b/data/images/volume-icon-full.svg @@ -1,17 +1,16 @@ - + volume-icon-full Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + + - - - - + + \ No newline at end of file diff --git a/data/images/volume-icon-muted.svg b/data/images/volume-icon-muted.svg index d82f9cf95..26f088bb2 100644 --- a/data/images/volume-icon-muted.svg +++ b/data/images/volume-icon-muted.svg @@ -1,16 +1,18 @@ - + volume-icon-muted Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + + - + + \ No newline at end of file From d42e2b33c5cfca0962e9801d2f5a1efc8913ca11 Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Wed, 5 Dec 2012 14:01:38 -0500 Subject: [PATCH 076/332] Fix OSX build --- src/libtomahawk/utils/TomahawkUtilsGui.cpp | 7 ++++++- src/widgets/AccountsPopupWidget.cpp | 4 ---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.cpp b/src/libtomahawk/utils/TomahawkUtilsGui.cpp index 1fd4dbc2d..de5632629 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.cpp +++ b/src/libtomahawk/utils/TomahawkUtilsGui.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -51,6 +52,10 @@ #include #endif +#ifdef QT_MAC_USE_COCOA + #include "widgets/SourceTreePopupDialog_mac.h" +#endif + // Defined in qpixmapfilter.cpp, private but exported extern void qt_blurImage( QPainter *p, QImage &blurImage, qreal radius, bool quality, bool alphaOnly, int transposed = 0 ); @@ -908,7 +913,7 @@ drawCompositedPopup( QWidget* widget, // Work around bug in Qt/Mac Cocoa where opening subsequent popups // would incorrectly calculate the background due to it not being // invalidated. - SourceTreePopupHelper::clearBackground( this ); + SourceTreePopupHelper::clearBackground( widget ); #endif } diff --git a/src/widgets/AccountsPopupWidget.cpp b/src/widgets/AccountsPopupWidget.cpp index 34d57cae8..e2fdf5fba 100644 --- a/src/widgets/AccountsPopupWidget.cpp +++ b/src/widgets/AccountsPopupWidget.cpp @@ -21,10 +21,6 @@ #include "utils/TomahawkUtilsGui.h" -#ifdef QT_MAC_USE_COCOA -#include "widgets/SourceTreePopupDialog_mac.h" -#endif - #include #include #include From cca723624c9c90fdef754819598d959d519cab29 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Wed, 5 Dec 2012 14:23:25 -0500 Subject: [PATCH 077/332] Forgot Recently-Played.svg. Also shrunk the heart down a bit. --- data/images/loved_playlist.svg | 4 ++-- data/images/recently-played.svg | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 data/images/recently-played.svg diff --git a/data/images/loved_playlist.svg b/data/images/loved_playlist.svg index 1489078da..62fa0b464 100644 --- a/data/images/loved_playlist.svg +++ b/data/images/loved_playlist.svg @@ -1,5 +1,5 @@ - + loved_playlist Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -7,7 +7,7 @@ - + diff --git a/data/images/recently-played.svg b/data/images/recently-played.svg new file mode 100644 index 000000000..5626728e8 --- /dev/null +++ b/data/images/recently-played.svg @@ -0,0 +1,18 @@ + + + Slice 1 + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + \ No newline at end of file From 909d9ef14acd9a0dfa7681345e347839edf97eaa Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Wed, 5 Dec 2012 14:32:59 -0500 Subject: [PATCH 078/332] Tone down the orange radios --- data/images/station.svg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/images/station.svg b/data/images/station.svg index 2cb0a3528..8a02ea1c2 100644 --- a/data/images/station.svg +++ b/data/images/station.svg @@ -3,8 +3,8 @@ station Created with Sketch (http://www.bohemiancoding.com/sketch) - - + + From e9b52035615f874817a1b7ba0c618168d023e096 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Wed, 5 Dec 2012 15:17:43 -0500 Subject: [PATCH 079/332] Play button... way cool, or incredibly cheesy? --- data/images/back-pressed.svg | 4 ++-- data/images/back-rest.svg | 4 ++-- data/images/pause-pressed.svg | 12 +++++++----- data/images/pause-rest.svg | 12 +++++++----- data/images/play-pressed.svg | 15 +++++++++++---- data/images/play-rest.svg | 15 +++++++++++---- data/images/skip-pressed.svg | 2 +- data/images/skip-rest.svg | 2 +- 8 files changed, 42 insertions(+), 24 deletions(-) diff --git a/data/images/back-pressed.svg b/data/images/back-pressed.svg index a22ec1e9f..bf50660cd 100644 --- a/data/images/back-pressed.svg +++ b/data/images/back-pressed.svg @@ -3,7 +3,7 @@ back-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - + @@ -12,6 +12,6 @@ - + \ No newline at end of file diff --git a/data/images/back-rest.svg b/data/images/back-rest.svg index 4379d2183..4f3075f2b 100644 --- a/data/images/back-rest.svg +++ b/data/images/back-rest.svg @@ -3,7 +3,7 @@ back-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - + @@ -12,6 +12,6 @@ - + \ No newline at end of file diff --git a/data/images/pause-pressed.svg b/data/images/pause-pressed.svg index 6f31c1686..52f532718 100644 --- a/data/images/pause-pressed.svg +++ b/data/images/pause-pressed.svg @@ -3,18 +3,20 @@ pause-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - + + + + + + - - - - + \ No newline at end of file diff --git a/data/images/pause-rest.svg b/data/images/pause-rest.svg index 9c442b2bc..ddc031fc2 100644 --- a/data/images/pause-rest.svg +++ b/data/images/pause-rest.svg @@ -3,18 +3,20 @@ pause-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - + + + + + + - - - - + \ No newline at end of file diff --git a/data/images/play-pressed.svg b/data/images/play-pressed.svg index d703b1f77..5da657d2f 100644 --- a/data/images/play-pressed.svg +++ b/data/images/play-pressed.svg @@ -3,13 +3,20 @@ play-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - - + + + + + + + - - + + + + \ No newline at end of file diff --git a/data/images/play-rest.svg b/data/images/play-rest.svg index 947b015c5..fbcd017bd 100644 --- a/data/images/play-rest.svg +++ b/data/images/play-rest.svg @@ -3,13 +3,20 @@ play-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - - + + + + + + + - - + + + + \ No newline at end of file diff --git a/data/images/skip-pressed.svg b/data/images/skip-pressed.svg index 67dff37af..654055dd7 100644 --- a/data/images/skip-pressed.svg +++ b/data/images/skip-pressed.svg @@ -12,6 +12,6 @@ - + \ No newline at end of file diff --git a/data/images/skip-rest.svg b/data/images/skip-rest.svg index dc6f1edfe..28499ab41 100644 --- a/data/images/skip-rest.svg +++ b/data/images/skip-rest.svg @@ -12,6 +12,6 @@ - + \ No newline at end of file From 1fea1bd2a19a6b8cee480be85a7f475c385864e6 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Wed, 5 Dec 2012 21:26:45 +0100 Subject: [PATCH 080/332] Remove double include. --- src/libtomahawk/utils/TomahawkUtilsGui.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.cpp b/src/libtomahawk/utils/TomahawkUtilsGui.cpp index de5632629..29481af9e 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.cpp +++ b/src/libtomahawk/utils/TomahawkUtilsGui.cpp @@ -41,12 +41,10 @@ #ifdef Q_WS_X11 #include - #include #include #endif #ifdef Q_WS_WIN - #include #include #include #include From 1824096401428217b9a3a60ca08edd4f70de333e Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Wed, 5 Dec 2012 15:47:22 -0500 Subject: [PATCH 081/332] Experiement not well recived. Reatret. Retreat. Retreat. --- data/images/pause-pressed.svg | 10 ++++------ data/images/pause-rest.svg | 10 ++++------ data/images/play-pressed.svg | 7 +------ data/images/play-rest.svg | 7 +------ 4 files changed, 10 insertions(+), 24 deletions(-) diff --git a/data/images/pause-pressed.svg b/data/images/pause-pressed.svg index 52f532718..f2a70e199 100644 --- a/data/images/pause-pressed.svg +++ b/data/images/pause-pressed.svg @@ -8,15 +8,13 @@ - - - - - - + + + + \ No newline at end of file diff --git a/data/images/pause-rest.svg b/data/images/pause-rest.svg index ddc031fc2..a8a4a7d36 100644 --- a/data/images/pause-rest.svg +++ b/data/images/pause-rest.svg @@ -8,15 +8,13 @@ - - - - - - + + + + \ No newline at end of file diff --git a/data/images/play-pressed.svg b/data/images/play-pressed.svg index 5da657d2f..4a09da9fd 100644 --- a/data/images/play-pressed.svg +++ b/data/images/play-pressed.svg @@ -8,15 +8,10 @@ - - - - - - + \ No newline at end of file diff --git a/data/images/play-rest.svg b/data/images/play-rest.svg index fbcd017bd..23adadbd7 100644 --- a/data/images/play-rest.svg +++ b/data/images/play-rest.svg @@ -8,15 +8,10 @@ - - - - - - + \ No newline at end of file From 18280cca543b291359d8fd2abc156040b8c50003 Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Thu, 6 Dec 2012 01:17:15 +0100 Subject: [PATCH 082/332] Automatic merge of Transifex translations --- lang/tomahawk_ar.ts | 348 ++-- lang/tomahawk_bg.ts | 387 ++-- lang/tomahawk_bn_IN.ts | 348 ++-- lang/tomahawk_ca.ts | 348 ++-- lang/tomahawk_de.ts | 348 ++-- lang/tomahawk_el.ts | 348 ++-- lang/tomahawk_en.ts | 348 ++-- lang/tomahawk_es.ts | 348 ++-- lang/tomahawk_fr.ts | 348 ++-- lang/tomahawk_gl.ts | 348 ++-- lang/tomahawk_hi_IN.ts | 348 ++-- lang/tomahawk_hu.ts | 4313 ++++++++++++++++++++++++++++++++++++++++ lang/tomahawk_it.ts | 348 ++-- lang/tomahawk_ja.ts | 348 ++-- lang/tomahawk_lt.ts | 348 ++-- lang/tomahawk_pl.ts | 348 ++-- lang/tomahawk_pt_BR.ts | 348 ++-- lang/tomahawk_ru.ts | 348 ++-- lang/tomahawk_sv.ts | 348 ++-- lang/tomahawk_tr.ts | 348 ++-- lang/tomahawk_zh_CN.ts | 348 ++-- lang/tomahawk_zh_TW.ts | 348 ++-- 22 files changed, 7989 insertions(+), 3671 deletions(-) create mode 100644 lang/tomahawk_hu.ts diff --git a/lang/tomahawk_ar.ts b/lang/tomahawk_ar.ts index 04d281161..465358b17 100644 --- a/lang/tomahawk_ar.ts +++ b/lang/tomahawk_ar.ts @@ -48,17 +48,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online متصل - + Connecting... جاري الاتصال... - + Offline غير متصل @@ -101,154 +101,154 @@ connect and stream from you? ActionCollection - + &Listen Along &استمع مع - + Stop &Listening Along توقيف &الاستماع مع - + &Follow in real-time &تابع بنفس الوقت - - + + &Listen Privately &إستمع بخصوصية - - + + &Listen Publicly &إستمع علنا - + &Load Playlist &تحميل قائمة الأغاني - + &Rename Playlist &إعادة تسمية قائمة الأغاني - + &Copy Playlist Link &نسخ رابط قائمة الأغاني - + &Play &إستمع - + &Stop &أوقف الإستماع - + &Previous Track &الأغنية السابقة - + &Next Track &الأغنية التالية - + &Quit &أخرج - + Load &XSPF... تحميل XSPF&... - + U&pdate Collection &تحديث المجموعة - + Fully &Rescan Collection إعادة &مسح المجموعة كاملة - + Show Offline Sources أظهر المصادر الغير متصلة - + &Configure Tomahawk... &تكوين توماهوك... - + Minimize خفض - + Zoom زوم - + Hide Menu Bar إخفي شريط القائمة - + Diagnostics... تشخيص... - + About &Tomahawk... عن &توماهوك... - + &Legal Information... معلومات &قانونية... - + Check For Updates... تحقق من التحديثات... - + &Controls &ضوابط - + &Settings إ&عدادات - + &Help &مساعدة - + &Window &نافذة - + Main Menu القائمة الرئيسية @@ -422,13 +422,13 @@ connect and stream from you? - + Shuffle خلط - + Repeat إعادة @@ -443,27 +443,27 @@ connect and stream from you? مرتفع - + Time Elapsed الوقت المنقضي - + Time Remaining الوقت المتبقي - + Playing from %1 يتم الاستماع من %1 - + Share شارك - + Love أحب @@ -652,97 +652,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -779,7 +779,7 @@ connect and stream from you? IndexingJobItem - + Indexing database فهرسة قاعدة البيانات @@ -846,7 +846,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! %1 يستمع معك! @@ -908,32 +908,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks أفضل الأغاني المحبوبة - + Sorry, we could not find any loved tracks! نعتذر، لم نستطيع إيجاد اي من الأغاني المحبوبة! - + The most loved tracks from all your friends أفضل الأغاني المحبوبة من جميع أصدقائك - + All of your loved tracks جميع أغانيك المحبوبة - + All of %1's loved tracks جميع أغاني "%1" المحبوبة - + Loved Tracks الأغاني المحبوبة @@ -1262,12 +1262,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. هذه المجموعة فارغة حاليا. - + This playlist is currently empty. Add some tracks to it and enjoy the music! هذه القائمة فارغة حاليا. أضف لها بعض الأغاني واستمتع للموسيقى! @@ -1493,12 +1493,12 @@ connect and stream from you? SettingsDialog - + Collection مجموعة - + Advanced متقدمة @@ -1508,12 +1508,12 @@ connect and stream from you? الكل - + Some changed settings will not take effect until Tomahawk is restarted بعض الإعدادات التي تم تغييرها لن تصبح نافذة المفعول حتى يتم إعادة تشغيل توماهوك - + Services خدمات @@ -1523,37 +1523,37 @@ connect and stream from you? تثبيت من الملف - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. تكوين الحسابات والخدمات التي يستخدمها توماهوك للبحث واسترجاع الموسيقى، والعثور على أصدقائك وتحديث حالتك. - + Manage how Tomahawk finds music on your computer. تنظيم كيف يجد توماهوك الموسيقى على نظامك. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. تكوين إعدادات توماهوك المتطورة، بما في ذلك إعدادات شبكة الاتصال، وتفاعل المتصفح وما إلى ذلك. - + Install resolver from file تثبيت محلل من ملف - + Delete all Access Control entries? حذف كافة بيانات التحكم بالوصول؟ - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. هل فعلا تريد حذف جميع بيانات التحكم بالوصول؟ سوف يطلب منك اتخاذ القرار مجددا لكل ند على اتصال به. - + Information معلومات @@ -1749,22 +1749,22 @@ connect and stream from you? TextLabel - + Tweet تويت (Tweet) - + Listening to "%1" by %2. %3 إنني أستمع إلى "%1" من قبل %2. %3 - + Listening to "%1" by %2 on "%3". %4 إنني أستمع إلى "%1" من قبل %2 على "%3". %4 - + %1 characters left تبقى %1 حروف @@ -1797,19 +1797,19 @@ connect and stream from you? توب ١٠ - + All available tracks جميع الأغاني المتاحة - - + + Show أظهر - - + + Hide إخفي @@ -1850,58 +1850,58 @@ connect and stream from you? SourceItem - + Collection مجموعة - - + + Latest Additions أحدث الإضافات - + Recently Played تم الاستماع لها مؤخرا - + SuperCollection سوبر كولكشن - + Latest additions to your collection آخر إضافات على مجموعتك - + Latest additions to %1's collection آخر إضافات على مجموعة %1 - + Sorry, we could not find any recent additions! نعتذر، لم نستطيع إيجاد إضافة جديدة! - + Recently Played Tracks الأغاني التي إستمعت إليها مؤخرا - + Your recently played tracks الأغاني التي إستمعت إليها مؤخرا - + %1's recently played tracks الأغاني التي سمعها مؤخرا %1 - + Sorry, we could not find any recent plays! نعتذر، لم نستطيع إيجاد أغاني مسموعة مؤخرا! @@ -2117,17 +2117,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link نسخ رابط الفنان - + Copy Album Link نسخ رابط الالبوم - + Copy Track Link نسخ رابط الأغنية @@ -2135,32 +2135,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account أضف حساب - + Remove إزالة - + %1 downloads تحميل %1 - + Online متصل - + Connecting... جاري الاتصال... - + Offline غير متصل @@ -2536,79 +2536,79 @@ You may wish to try re-authenticating. Tomahawk::ContextMenu - + &Play &إستمع - - - + + + Add to &Queue أضف إلى &قائمة الانتظار - + Continue Playback after this &Track أكمل الاستماع بعد هذه &الأغنية - + Stop Playback after this &Track أوقف الاستماع بعد هذه &الأغنية - - + + &Love &أحب - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link &نسخ رابط الأغنية - + Copy Album &Link نسخ &رابط الالبوم - + Copy Artist &Link نسخ &رابط قائمة الأغاني - + Un-&Love لا &أحب - + &Delete Items &أحذف البنود - + Properties... خصائص... - + &Delete Item &أحذف البند @@ -2706,7 +2706,7 @@ Please change the filters or try again. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3493,178 +3493,178 @@ enter the displayed PIN number here: التالي - + Back إلى الوراء - + Go back one page العودة صفحة واحدة إلى الوراء - + Forward تقدم - + Go forward one page تقدم صفحة واحدة - + Global Search... بحث شامل... - - + + Hide Menu Bar إخفي شريط القائمة - - + + Show Menu Bar أظهر شريط القائمة - + &Main Menu ال&قائمة الرئيسية - - - + + + Connect To Peer ربط بالند - + Enter peer address: أدخل عنوان الند: - + Enter peer port: أدخل بوابة الند: - + Enter peer key: أدخل مفتاح الند: - + XSPF Error خطأ XSPF - + This is not a valid XSPF playlist. قائمة الأغاني XSPF هذه ليست صالحة. - + Failed to save tracks فشل في حفظ الأغاني - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. بعض الأغاني في قائمة الأغاني لا تحتوي على إسم الفنان أو إسم الأغنية. هذه الأغاني سوف تتجاهل. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. عذرا، هناك مشكلة في الوصول إلى جهاز الصوت أو الأغنية المطلوب، سوف يتم تخطي الأغنية الحالية. تأكد أن لديك خلفية فونون المناسبة والإضافات المطلوبة مثبتة. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. عذرا، هناك مشكلة في الوصول إلى جهاز الصوت أو الأغنية المطلوب، سوف يتم تخطي الأغنية الحالية. - + Station إذاعة - + Create New Station إنشاء قائمة أغاني جديدة - + Name: الاسم: - + Playlist قائمة الأغاني - + Automatic Playlist قائمة أغاني أوتوماتيكية - + Pause تعليق - + &Play &إستمع - + Authentication Error خطأ في المصادقة - + Error connecting to SIP: Authentication failed! خطأ في الاتصال بسيب (SIP): فشلت المصادقة! - + %1 by %2 track, artist name %1 من قبل %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 حقوق الطبع والنشر ٢٠١٠ - ٢٠١٢ - + Thanks to: شكر لكل من: - + About Tomahawk عن توماهوك @@ -3756,13 +3756,13 @@ enter the displayed PIN number here: TransferStatusItem - + from streaming artist - track from friend من - + to streaming artist - track to friend إلى @@ -3956,7 +3956,7 @@ You can re-send a sync message at any time simply by sending another tweet using لا قوائم أغاني جديدة أنشئت مؤخرا على شبكتك. - + Welcome to Tomahawk مرحبا بكم في توماهوك diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index f24e2a328..c6cbd10f6 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online На линия - + Connecting... Свързване... - + Offline Извън линия @@ -100,154 +100,154 @@ connect and stream from you? ActionCollection - + &Listen Along &Слушай заедно с - + Stop &Listening Along Спри &да слушаш заедно с - + &Follow in real-time &Следвай в реално време - - + + &Listen Privately &Слушай самостоятелно - - + + &Listen Publicly &Слушай публично - + &Load Playlist &Зареди списък - + &Rename Playlist &Преименувай списък - + &Copy Playlist Link &Копирай връзка към списък - + &Play &Изпълни - + &Stop &Спри - + &Previous Track &Предходна песен - + &Next Track &Следваща песен - + &Quit &Изключи приложението - + Load &XSPF... Зареди &XSPF... - + U&pdate Collection О&бнови колекцията - + Fully &Rescan Collection Пълно &сканиране на колекцията - + Show Offline Sources Покажи източници, които не са на линия - + &Configure Tomahawk... &Настройки... - + Minimize Минимизирай - + Zoom Увеличи - + Hide Menu Bar Скрий лентата на менюто - + Diagnostics... Диагностика... - + About &Tomahawk... За &Tomahawk... - + &Legal Information... &Правна информация - + Check For Updates... Провери за обновления - + &Controls &Контроли - + &Settings &Настройки - + &Help &Помощ - + &Window &Прозорец - + Main Menu Главно меню @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Разбъркано - + Repeat Повтори @@ -442,27 +442,27 @@ connect and stream from you? 100% - + Time Elapsed Изминало време - + Time Remaining Оставащо време - + Playing from %1 Изпълнявам от %1 - + Share Сподели - + Love Харесай @@ -583,7 +583,8 @@ Tomahaw създаде доклад относно това и изпращай You can disable sending crash reports in the configuration dialog. - Можете да спрете изпращането на информация относно проблеми в панелът с настройки. + Можете да спрете изпращането на информация, +относно проблеми в панелът с настройки. @@ -654,97 +655,97 @@ Tomahaw създаде доклад относно това и изпращай EchonestSteerer - + Steer this station: Настрой, тази станция: - + Much less Много по-малко - + Less По-малко - + A bit less Малко по-малко - + Keep at current Задръж - + A bit more Малко повече - + More Повече - + Much more Много повече - + Tempo Темпо - + Loudness Сила - + Danceability Танцувалност - + Energy Енергичност - + Song Hotttnesss Популярност на песента - + Artist Hotttnesss Популярност на изпълнителя - + Artist Familiarity Сходност на изпълнителите - + By Description По описание - + Enter a description Въведи описание - + Apply steering command Приложи настройката - + Reset all steering commands Нулирай всички настройки @@ -781,7 +782,7 @@ Tomahaw създаде доклад относно това и изпращай IndexingJobItem - + Indexing database Индексиране на БД @@ -848,7 +849,7 @@ Tomahaw създаде доклад относно това и изпращай LatchedStatusItem - + %1 is listening along with you! %1 слуша заедно с теб! @@ -910,32 +911,32 @@ Tomahaw създаде доклад относно това и изпращай LovedTracksItem - + Top Loved Tracks Най-Най-харесвани - + Sorry, we could not find any loved tracks! Съжалявам, не откривам песни, които са маркирани като любими. - + The most loved tracks from all your friends Най-харесваните изпълнения от всичките ти приятели - + All of your loved tracks Всички песни, които харесваш - + All of %1's loved tracks Всички песни, които %1 харесва - + Loved Tracks Любими изпълнения @@ -1191,12 +1192,12 @@ Tomahaw създаде доклад относно това и изпращай by <b>%1</b> - + от <b>%1</b> by <b>%1</b> on <b>%2</b> - + от <b>%1</b> на <b>%2</b> @@ -1233,12 +1234,15 @@ Tomahaw създаде доклад относно това и изпращай Just a regular old playlist... Give it a name, drag in some tracks, and go! - Обикновен списък. Име, няколко песни и си ти на ход! ;-) + Обикновен списък. +Име, няколко песни и си ти на ход! Don't know exactly what you want? Give Tomahawk a few pointers and let it build a playlist for you! - Не знаеш точно какво искаш? Дай на Tomahawk няколко начални идеи и му позволи да създаде списък с песни за теб! + Не знаеш точно какво искаш? +Дай на Tomahawk няколко начални идеи +и му позволи да създаде списък с песни. @@ -1264,14 +1268,15 @@ Tomahaw създаде доклад относно това и изпращай PlaylistView - + This playlist is currently empty. Този списък е празен в момента. - + This playlist is currently empty. Add some tracks to it and enjoy the music! - Този списък в момента е празен. Добави няколко изпълнения и се наслади на музиката! + Този списък в момента е празен. +Добави няколко изпълнения и се наслади на музиката! @@ -1493,12 +1498,12 @@ Tomahaw създаде доклад относно това и изпращай SettingsDialog - + Collection Колекция - + Advanced Разширени @@ -1508,12 +1513,12 @@ Tomahaw създаде доклад относно това и изпращай Всички - + Some changed settings will not take effect until Tomahawk is restarted Някои промени няма да имат ефект, докато програмата не бъде рестартирана. - + Services Услуги @@ -1523,38 +1528,38 @@ Tomahaw създаде доклад относно това и изпращай Инсталирай от файл - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. Настройки на регистрации и услуги, ползвани от Tomahawk да търси музика, да сте свързва с твоите приятели и да обновява статусът ти. - + Manage how Tomahawk finds music on your computer. Указва начинът по който Tomahawk открива музиката на твоя компютър - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. Разширени настройки на Tomahawk, включващи настройки на мрежова свързаност, взаимодействие с браузъри и други подобни. - + Install resolver from file Инсталирай услиги за търсене от файл - + Delete all Access Control entries? Изтриване на всички данни за достъп? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. Наистина ли желаеш да изтриеш всички данни за достъп? Ще бъдеш питан отново за даване на достъп за всяка връзка. - + Information Информация @@ -1648,7 +1653,7 @@ Tomahaw създаде доклад относно това и изпращай Show notification when a new song starts to play - + Покажи уведомление, когато почне да се изпълнява нова песен @@ -1684,7 +1689,7 @@ Tomahaw създаде доклад относно това и изпращай Watch for changes - блюдавай за промени + Наблюдавай за промени @@ -1751,22 +1756,22 @@ Tomahaw създаде доклад относно това и изпращай Етикет - + Tweet Чурулик - + Listening to "%1" by %2. %3 - В момента се изпълнява "%1" от %2, %3 + ♥ "%1" от %2, %3 - + Listening to "%1" by %2 on "%3". %4 - В момента се изпълнява "%1" от %2, от %3, %4 + "%1" от %2, от %3, %4 - + %1 characters left Остават още %1 символа @@ -1799,19 +1804,19 @@ Tomahaw създаде доклад относно това и изпращай Първите 10 - + All available tracks Всички налични изпълнения - - + + Show Покажи - - + + Hide Скрий @@ -1852,59 +1857,59 @@ Tomahaw създаде доклад относно това и изпращай SourceItem - + Collection Колекция - - + + Latest Additions Последно добавени - + Recently Played Наскоро изпълнени песни - + SuperCollection Супер колекция /Сборен излед от локалните и наличните в колекциите на приятелите ти/ - + Latest additions to your collection Последно добавени към колекцията - + Latest additions to %1's collection Последно добавени в колекцията на %1 - + Sorry, we could not find any recent additions! Съжалявам, но не откривам нито една ново-добавена позиция! - + Recently Played Tracks Наскоро изпълнени песни - + Your recently played tracks Наскоро изпълнени песни от теб - + %1's recently played tracks Наскоро изпълнените песни от %1 - + Sorry, we could not find any recent plays! Съжалявам, но не откривам нито една наскоро изпълнена песен! @@ -2121,17 +2126,17 @@ Tomahaw създаде доклад относно това и изпращай TemporaryPageItem - + Copy Artist Link Копирай адресът на Изпълнителят - + Copy Album Link Копирай адресът на Албума - + Copy Track Link Копирай адресът на изпълнението @@ -2139,32 +2144,32 @@ Tomahaw създаде доклад относно това и изпращай Tomahawk::Accounts::AccountDelegate - + Add Account Добави регистрация - + Remove Премахни - + %1 downloads %1 сваляния - + Online На линия - + Connecting... Свързване... - + Offline Извън линия @@ -2545,79 +2550,79 @@ You may wish to try re-authenticating. Tomahawk::ContextMenu - + &Play &Изпълни - - - + + + Add to &Queue Добави към &опашката - + Continue Playback after this &Track Продължи изпълнението след тази песен - + Stop Playback after this &Track Спри изпълнението след тази песен - - + + &Love &Харесай - - - - &Go to "%1" - - - - - + - Go to "%1" - + + &Go to "%1" + &Иди на "%1" - + + + + Go to "%1" + Иди на "%1" + + + &Copy Track Link &Копирай адреса на изпълнението - + Copy Album &Link Копирай адресът на албума - + Copy Artist &Link Копирай адресът на изпълнителя - + Un-&Love Не-&харесай - + &Delete Items &Изтрий позициите - + Properties... Подробности: - + &Delete Item &Изтрий позицията @@ -2714,7 +2719,7 @@ Please change the filters or try again. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3501,181 +3506,181 @@ enter the displayed PIN number here: Следваща - + Back Назад - + Go back one page Една страница назад - + Forward Напред - + Go forward one page Една страница напред - + Global Search... Глобално търсене... - - + + Hide Menu Bar Скрий лентата с менюто - - + + Show Menu Bar Покажи лентата с менюто - + &Main Menu &Основно меню - - - + + + Connect To Peer Свържи се с друг потребител - + Enter peer address: Въведи адресът на отдалеченият потребител: - + Enter peer port: Въведи порт: - + Enter peer key: Въведи ключът за удостоверяване: - + XSPF Error XSPF Грешка - + This is not a valid XSPF playlist. Това не е валиден XSPF списък - + Failed to save tracks Не мога да запазя списъкът с песни - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Някои от песните в този списък нямат артист и заглавие. Те ще бъдат игнорирани. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Съжалявам. Има проблем с достъпа до твоето аудио-устройство или до избраната песен - тя ще бъде прескочена. Моля, увери се, че са инсталирани подходящ Phonon и приставки. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Съжалявам. Има проблем с достъпа до твоето аудио устройство или избраната песен. Тя ще бъде пропусната. - + Station Станция - + Create New Station Създай нова станция - + Name: Име: - + Playlist Списък - + Automatic Playlist Автоматично-генериран списък - + Pause Пауза - + &Play &Възпроизвеждане - + Authentication Error Грешка при удостоверяване - + Error connecting to SIP: Authentication failed! Грешка при свързване: Неуспешно удостоверяване! - + %1 by %2 track, artist name %1 от %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Всички права - запазени. 2010 - 2012 - + Thanks to: Благодарности на: - + About Tomahawk Относно Tomahawk @@ -3767,13 +3772,13 @@ enter the displayed PIN number here: TransferStatusItem - + from streaming artist - track from friend от - + to streaming artist - track to friend до @@ -3902,7 +3907,7 @@ You can re-send a sync message at any time simply by sending another tweet using This playlist is empty! - + Списъкът е празен! @@ -3969,7 +3974,7 @@ You can re-send a sync message at any time simply by sending another tweet using Не откривам наскоро създадени списъци в твоята мрежа - + Welcome to Tomahawk Здравей! diff --git a/lang/tomahawk_bn_IN.ts b/lang/tomahawk_bn_IN.ts index a9d8714bb..c615c9b07 100644 --- a/lang/tomahawk_bn_IN.ts +++ b/lang/tomahawk_bn_IN.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online - + Connecting... - + Offline @@ -100,154 +100,154 @@ connect and stream from you? ActionCollection - + &Listen Along - + Stop &Listening Along - + &Follow in real-time - - + + &Listen Privately - - + + &Listen Publicly - + &Load Playlist - + &Rename Playlist - + &Copy Playlist Link - + &Play - + &Stop - + &Previous Track - + &Next Track - + &Quit - + Load &XSPF... - + U&pdate Collection - + Fully &Rescan Collection - + Show Offline Sources - + &Configure Tomahawk... - + Minimize - + Zoom - + Hide Menu Bar - + Diagnostics... - + About &Tomahawk... - + &Legal Information... - + Check For Updates... - + &Controls - + &Settings - + &Help - + &Window - + Main Menu @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle - + Repeat @@ -442,27 +442,27 @@ connect and stream from you? - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -651,97 +651,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -778,7 +778,7 @@ connect and stream from you? IndexingJobItem - + Indexing database @@ -845,7 +845,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! @@ -907,32 +907,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks - + Sorry, we could not find any loved tracks! - + The most loved tracks from all your friends - + All of your loved tracks - + All of %1's loved tracks - + Loved Tracks @@ -1261,12 +1261,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1490,12 +1490,12 @@ connect and stream from you? SettingsDialog - + Collection - + Advanced @@ -1505,12 +1505,12 @@ connect and stream from you? - + Some changed settings will not take effect until Tomahawk is restarted - + Services @@ -1520,37 +1520,37 @@ connect and stream from you? - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Manage how Tomahawk finds music on your computer. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - + Install resolver from file - + Delete all Access Control entries? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. - + Information @@ -1746,22 +1746,22 @@ connect and stream from you? - + Tweet - + Listening to "%1" by %2. %3 - + Listening to "%1" by %2 on "%3". %4 - + %1 characters left @@ -1794,19 +1794,19 @@ connect and stream from you? - + All available tracks - - + + Show - - + + Hide @@ -1847,58 +1847,58 @@ connect and stream from you? SourceItem - + Collection - - + + Latest Additions - + Recently Played - + SuperCollection - + Latest additions to your collection - + Latest additions to %1's collection - + Sorry, we could not find any recent additions! - + Recently Played Tracks - + Your recently played tracks - + %1's recently played tracks - + Sorry, we could not find any recent plays! @@ -2114,17 +2114,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link - + Copy Album Link - + Copy Track Link @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account - + Remove - + %1 downloads - + Online - + Connecting... - + Offline @@ -2530,79 +2530,79 @@ You may wish to try re-authenticating. Tomahawk::ContextMenu - + &Play - - - + + + Add to &Queue - + Continue Playback after this &Track - + Stop Playback after this &Track - - + + &Love - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items - + Properties... - + &Delete Item @@ -2698,7 +2698,7 @@ Please change the filters or try again. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3482,178 +3482,178 @@ enter the displayed PIN number here: - + Back - + Go back one page - + Forward - + Go forward one page - + Global Search... - - + + Hide Menu Bar - - + + Show Menu Bar - + &Main Menu - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error - + This is not a valid XSPF playlist. - + Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: - + Playlist - + Automatic Playlist - + Pause - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk @@ -3745,13 +3745,13 @@ enter the displayed PIN number here: TransferStatusItem - + from streaming artist - track from friend - + to streaming artist - track to friend @@ -3940,7 +3940,7 @@ You can re-send a sync message at any time simply by sending another tweet using - + Welcome to Tomahawk diff --git a/lang/tomahawk_ca.ts b/lang/tomahawk_ca.ts index b4f049c82..54336e0a7 100644 --- a/lang/tomahawk_ca.ts +++ b/lang/tomahawk_ca.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online En línia - + Connecting... Connectant-se... - + Offline Fora de línia @@ -100,154 +100,154 @@ connect and stream from you? ActionCollection - + &Listen Along &Escolta a la vegada - + Stop &Listening Along Deixa d'&escoltar a la vegada - + &Follow in real-time &Segueix en temps real - - + + &Listen Privately &Escolta privada - - + + &Listen Publicly &Escolta Pública - + &Load Playlist &Carrega la llista de reproducció - + &Rename Playlist &Reanomena la llista de reproducció - + &Copy Playlist Link &Copia l'enllaç a la llista de reproducció - + &Play &Reprodueix - + &Stop &Atura - + &Previous Track Cançó &Anterior - + &Next Track Cançó &Següent - + &Quit &Surt - + Load &XSPF... - + U&pdate Collection - + Fully &Rescan Collection - + Show Offline Sources - + &Configure Tomahawk... - + Minimize - + Zoom - + Hide Menu Bar - + Diagnostics... - + About &Tomahawk... - + &Legal Information... - + Check For Updates... - + &Controls - + &Settings - + &Help - + &Window - + Main Menu @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Mescla - + Repeat Repeteix @@ -442,27 +442,27 @@ connect and stream from you? Alt - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -651,97 +651,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -778,7 +778,7 @@ connect and stream from you? IndexingJobItem - + Indexing database S'està indexant la base de dades @@ -845,7 +845,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! @@ -907,32 +907,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks - + Sorry, we could not find any loved tracks! - + The most loved tracks from all your friends - + All of your loved tracks - + All of %1's loved tracks - + Loved Tracks Cançons preferides @@ -1261,12 +1261,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. La llista es troba buida - + This playlist is currently empty. Add some tracks to it and enjoy the music! Aquesta llista es troba buida. Afegiu-hi algunes cançons i gaudiu de la música! @@ -1491,12 +1491,12 @@ connect and stream from you? SettingsDialog - + Collection Col·lecció - + Advanced Avançat @@ -1506,12 +1506,12 @@ connect and stream from you? Tot - + Some changed settings will not take effect until Tomahawk is restarted Alguns paràmetres no tindran efecte fins que no reinicieu Tomahawk - + Services Serveis @@ -1521,37 +1521,37 @@ connect and stream from you? - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Manage how Tomahawk finds music on your computer. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - + Install resolver from file Instal·la un Resolver des d'un fitxer - + Delete all Access Control entries? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. - + Information Informació @@ -1747,22 +1747,22 @@ connect and stream from you? TextLabel - + Tweet - + Listening to "%1" by %2. %3 Escoltant "%1" de %2. %3 - + Listening to "%1" by %2 on "%3". %4 Escoltant "%1" de %2 de "%3". %4 - + %1 characters left %1 caràcters restants @@ -1795,19 +1795,19 @@ connect and stream from you? Top 10 - + All available tracks Totes les cançons disponibles - - + + Show Mostra - - + + Hide Amaga @@ -1848,58 +1848,58 @@ connect and stream from you? SourceItem - + Collection Col·lecció - - + + Latest Additions Darreres Novetats - + Recently Played Escoltades Recentment - + SuperCollection SuperCol·lecció - + Latest additions to your collection Darreres novetats a la vostra col·lecció - + Latest additions to %1's collection Darreres novetats a la col·lecció de %1 - + Sorry, we could not find any recent additions! - + Recently Played Tracks Cançons Escoltades Recentment - + Your recently played tracks Cançons Escoltades Recentment - + %1's recently played tracks Cançons Escoltades Recentment per %1 - + Sorry, we could not find any recent plays! @@ -2115,17 +2115,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link Copia l'enllaç de l'artista - + Copy Album Link Copia l'enllaç de l'àlbum - + Copy Track Link Copia l'enllaç de la cançó @@ -2133,32 +2133,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Afegeix un compte - + Remove Esborra - + %1 downloads %1 descàrregues - + Online En Línia - + Connecting... Connectant-se... - + Offline Fora de Línia @@ -2534,79 +2534,79 @@ Torneu a autenticar-vos. Tomahawk::ContextMenu - + &Play &Reprodueix - - - + + + Add to &Queue &Afegeix a la Cua - + Continue Playback after this &Track - + Stop Playback after this &Track - - + + &Love &M'encanta - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link &Copia l'Enllaç de la Cançó - + Copy Album &Link - + Copy Artist &Link - + Un-&Love &Treu de les preferides - + &Delete Items &Elimina els Ítems - + Properties... - + &Delete Item &Elimina l'Ítem @@ -2704,7 +2704,7 @@ Canvieu els filtres o intenteu-ho de nou. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3491,178 +3491,178 @@ introduïu el PIN aquí: Següent - + Back Enrere - + Go back one page Retrocedeix una pàgina - + Forward Endavant - + Go forward one page Avança una pàgina - + Global Search... Cerca Global... - - + + Hide Menu Bar - - + + Show Menu Bar - + &Main Menu - - - + + + Connect To Peer Connexió Remota - + Enter peer address: Introduïu l'adreça remota: - + Enter peer port: Introduïu el port remot: - + Enter peer key: Introduïu la clau remota: - + XSPF Error Error XSPF - + This is not a valid XSPF playlist. No és una llista XSPF vàlida. - + Failed to save tracks Error en desar les cançons - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Algunes cançons de la llista no contenen ni artista ni titol i s'han ignorat. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Hi ha un problema per accedir al dispositiu de so o a la cançó. La cançó actual s'ha saltat. Assegureu-vos que teniu un back.end de Phonon adequant i els plugins necessaris instal·lats. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Hi ha un problema per accedir al dispositiu de so o a la cançó, la cançó actual s'ha saltat. - + Station Emissora - + Create New Station Crea una Nova Emissora - + Name: Nom: - + Playlist Llista - + Automatic Playlist Llista Automàtica - + Pause Pausa - + &Play - + Authentication Error Error d'autentificació - + Error connecting to SIP: Authentication failed! S'ha produït un error connectant-se a SIP: Ha fallat autentificant! - + %1 by %2 track, artist name %1 de %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Gràcies a: - + About Tomahawk Quant a Tomahawk @@ -3754,13 +3754,13 @@ introduïu el PIN aquí: TransferStatusItem - + from streaming artist - track from friend - + to streaming artist - track to friend @@ -3954,7 +3954,7 @@ Podeu reenviar un missatge de sincronisme en qualsevol moment simplement enviant No hi ha cançons escoltades recentment a la xarxa. - + Welcome to Tomahawk Us donem la benvinguda a Tomahawk diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index 9fa2f5473..890ad2b9e 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -48,17 +48,17 @@ erlauben sich mit dir zu verbinden? AccountFactoryWrapperDelegate - + Online Verbunden - + Connecting... Verbinde... - + Offline Nicht Verbunden @@ -101,154 +101,154 @@ erlauben sich mit dir zu verbinden? ActionCollection - + &Listen Along &Mithören - + Stop &Listening Along Mithören b&eenden - + &Follow in real-time In Echtzeit &folgen - - + + &Listen Privately &Privat Modus aktivieren - - + + &Listen Publicly &Privat Modus verlassen - + &Load Playlist &Lade Playlist - + &Rename Playlist Playlist &umbenennen - + &Copy Playlist Link &Kopiere Link zu dieser Playlist - + &Play &Abspielen - + &Stop &Stop - + &Previous Track &Vorheriges Lied - + &Next Track &Nächstes Lied - + &Quit &Verlassen - + Load &XSPF... - + U&pdate Collection - + Fully &Rescan Collection - + Show Offline Sources - + &Configure Tomahawk... - + Minimize - + Zoom - + Hide Menu Bar - + Diagnostics... - + About &Tomahawk... - + &Legal Information... - + Check For Updates... - + &Controls - + &Settings - + &Help - + &Window - + Main Menu @@ -422,13 +422,13 @@ erlauben sich mit dir zu verbinden? - + Shuffle Zufall - + Repeat Wiederholen @@ -443,27 +443,27 @@ erlauben sich mit dir zu verbinden? Hoch - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -652,97 +652,97 @@ erlauben sich mit dir zu verbinden? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -779,7 +779,7 @@ erlauben sich mit dir zu verbinden? IndexingJobItem - + Indexing database Datenbank indexieren @@ -846,7 +846,7 @@ erlauben sich mit dir zu verbinden? LatchedStatusItem - + %1 is listening along with you! %1 hört mit dir mit! @@ -908,32 +908,32 @@ erlauben sich mit dir zu verbinden? LovedTracksItem - + Top Loved Tracks - + Sorry, we could not find any loved tracks! Sorry, wir konnten keine Lieblingslieder finden! - + The most loved tracks from all your friends - + All of your loved tracks - + All of %1's loved tracks - + Loved Tracks Lieblingslieder @@ -1262,12 +1262,12 @@ erlauben sich mit dir zu verbinden? PlaylistView - + This playlist is currently empty. Diese Playlist ist momentan leer. - + This playlist is currently empty. Add some tracks to it and enjoy the music! Diese Playlist ist derzeit leer. Füge einige Stücke hinzu und genieße die Musik! @@ -1492,12 +1492,12 @@ erlauben sich mit dir zu verbinden? SettingsDialog - + Collection Sammlung - + Advanced Erweitert @@ -1507,12 +1507,12 @@ erlauben sich mit dir zu verbinden? Alle - + Some changed settings will not take effect until Tomahawk is restarted Einige geänderte Einstellungen haben keinen Effekt bis zum nächsten Neustart - + Services Dienste @@ -1522,37 +1522,37 @@ erlauben sich mit dir zu verbinden? - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Manage how Tomahawk finds music on your computer. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - + Install resolver from file Installiere Resolver Datei - + Delete all Access Control entries? Alle erteilten Zugriffsrechte löschen? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. Willst du wirklich alle Zugriffseinstellungen zurücksetzen? Du wirst für alle Verbindungen erneut nach Zugriffseinstellungen gefragt werden. - + Information Information @@ -1748,22 +1748,22 @@ erlauben sich mit dir zu verbinden? TextLabel - + Tweet Tweet - + Listening to "%1" by %2. %3 Hört "%1" von %2, %3 - + Listening to "%1" by %2 on "%3". %4 Hört "%1" von %2 auf "%3", %4 - + %1 characters left %1 Zeichen übrig @@ -1796,19 +1796,19 @@ erlauben sich mit dir zu verbinden? Top 10 - + All available tracks Alle verfügbaren Stücke - - + + Show Einblenden - - + + Hide Verstecken @@ -1849,58 +1849,58 @@ erlauben sich mit dir zu verbinden? SourceItem - + Collection Sammlung - - + + Latest Additions Kürzlich hinzugekommen - + Recently Played Kürzlich gehörte Lieder - + SuperCollection Supersammlung - + Latest additions to your collection Neueste Lieder in deiner Sammlung - + Latest additions to %1's collection Neueste Lieder in %1's Sammlung - + Sorry, we could not find any recent additions! Sorry, wir konnten keine Lieder finden die kürzlich hinzugefügt wurden! - + Recently Played Tracks Zuletzt gehörte Lieder - + Your recently played tracks Deine zuletzt gehörten Lieder - + %1's recently played tracks %1's zuletzt gehörte Lieder - + Sorry, we could not find any recent plays! Sorry, wir konnten keine kürzlich gespielten Lieder finden! @@ -2116,17 +2116,17 @@ erlauben sich mit dir zu verbinden? TemporaryPageItem - + Copy Artist Link Kopiere Link für diesen Künstler - + Copy Album Link Kopiere Link für dieses Album - + Copy Track Link Kopiere Link für diesen Lied @@ -2134,32 +2134,32 @@ erlauben sich mit dir zu verbinden? Tomahawk::Accounts::AccountDelegate - + Add Account Konto hinzufügen - + Remove Entfernen - + %1 downloads %1 Downloads - + Online Verbunden - + Connecting... Verbinde... - + Offline Nicht Verbunden @@ -2533,79 +2533,79 @@ You may wish to try re-authenticating. Tomahawk::ContextMenu - + &Play &Abspielen - - - + + + Add to &Queue In &Warteschlange einreihen - + Continue Playback after this &Track Nach diesem Lied &weiterspielen - + Stop Playback after this &Track Wiedergabe nach diesem Lied &stoppen - - + + &Love &Lieblingslied - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link &Kopiere Link zu diesem Stück - + Copy Album &Link Album-&Link kopieren - + Copy Artist &Link Künstler-&Link kopieren - + Un-&Love Kein &Lieblingslied - + &Delete Items Elemente &entfernen - + Properties... - + &Delete Item Element &entfernen @@ -2703,7 +2703,7 @@ Bitte ändere den Filter oder versuche es erneut. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3490,178 +3490,178 @@ Tomahawk auf Twitter's Website authentifiziert hast: Weiter - + Back Zurück - + Go back one page Gehe eine Seite zurück - + Forward Vorwärts - + Go forward one page Gehe eine Seite vorwärts - + Global Search... Globale Suche... - - + + Hide Menu Bar - - + + Show Menu Bar - + &Main Menu - - - + + + Connect To Peer Mit anderem Tomahawk verbinden - + Enter peer address: Gib die Adresse der Gegenstelle ein: - + Enter peer port: Gib den Port der Gegenstelle ein: - + Enter peer key: Gib den Schlüssel der Gegenstelle ein: - + XSPF Error XSPF-Fehler - + This is not a valid XSPF playlist. Dies ist keine gültige XSPF-Playlist. - + Failed to save tracks Konnte Stücke nicht abspeichern - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Einige Stücke in der Playlist enthalten weder Künstler noch Titel. Diese werden ignoriert. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Es tut uns leid, Tomahawk kann auf dein Audio-Gerät oder das gewünschte Stück nicht zugreifen und überspringt es deshalb. Vergewisser dich, dass ein geignetes Phonon-Backend mitsamt benötigten Plugins installiert ist. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Es tut uns leid, Tomahawk kann auf dein Audio-Gerät oder das gewünschte Stück nicht zugreifen und überspringt es deshalb. - + Station Station - + Create New Station Neue Station erstellen - + Name: Name: - + Playlist Playlist - + Automatic Playlist Automatische Playlist - + Pause Pause - + &Play - + Authentication Error Authentifizierungsfehler - + Error connecting to SIP: Authentication failed! Verbindungsfehler mit SIP: Authentifizierung fehlgeschlagen! - + %1 by %2 track, artist name %1 von %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copright 2010 - 2012 - + Thanks to: Danke an: - + About Tomahawk Über Tomahawk @@ -3753,13 +3753,13 @@ Tomahawk auf Twitter's Website authentifiziert hast: TransferStatusItem - + from streaming artist - track from friend - + to streaming artist - track to friend @@ -3948,7 +3948,7 @@ You can re-send a sync message at any time simply by sending another tweet using Es gibt keine kürzlich erstellten Playlisten in deinem Netzwerk. - + Welcome to Tomahawk Willkommen bei Tomahawk diff --git a/lang/tomahawk_el.ts b/lang/tomahawk_el.ts index e1b1edd09..3df49c696 100644 --- a/lang/tomahawk_el.ts +++ b/lang/tomahawk_el.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Σε σύνδεση - + Connecting... Σύνδεση... - + Offline Εκτός σύνδεσης @@ -100,154 +100,154 @@ connect and stream from you? ActionCollection - + &Listen Along &Συνακρόαση - + Stop &Listening Along Διακοπή &Συνακρόασης - + &Follow in real-time &Ακολούθηση σε πραγματικό χρόνο - - + + &Listen Privately &Ιδιωτική Ακρόαση - - + + &Listen Publicly &Δημόσια Ακρόαση - + &Load Playlist &Φόρτωση Λίστας Αναπαραγωγής - + &Rename Playlist &Μετονομασία Λίστας Αναπαραγωγής - + &Copy Playlist Link &Αντιγραφή Συνδέσμου Λίστας Αναπαραγωγής - + &Play &Αναπαραγωγή - + &Stop &Διακοπή - + &Previous Track &Προηγούμενο Κομμάτι - + &Next Track &Επόμενο Κομμάτι - + &Quit &Έξοδος - + Load &XSPF... Φόρτωση &XSPF - + U&pdate Collection Ε&νημέρωση Συλλογής - + Fully &Rescan Collection Πλήρης &Επανασάρωση Συλλογής - + Show Offline Sources Εμφάνιση Εκτός Σύνδεσης Πηγών - + &Configure Tomahawk... &Ρύθμιση Tomahawk - + Minimize Ελαχιστοποίηση - + Zoom Μεγέθυνση - + Hide Menu Bar Απόκρυψη Γραμμής Μενού - + Diagnostics... Διαγνωστικά - + About &Tomahawk... Σχετικά με το &Tomahawk... - + &Legal Information... &Νομικές Πληροφορίες - + Check For Updates... Έλεγχος Για Ενημερώσεις - + &Controls &Χειριστήρια - + &Settings &Ρυθμίσεις - + &Help &Βοήθεια - + &Window - + Main Menu @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Τυχαία σειρά - + Repeat Επανάληψη @@ -442,27 +442,27 @@ connect and stream from you? Υψηλή - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -651,97 +651,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -778,7 +778,7 @@ connect and stream from you? IndexingJobItem - + Indexing database Ευρετηριοποίηση βάσης δεδομένων @@ -845,7 +845,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! Ο/Η %1 ακούει μαζί σας! @@ -907,32 +907,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks Κορυφαία Αγαπημένα Κομμάτια - + Sorry, we could not find any loved tracks! - + The most loved tracks from all your friends Τα πιο αγαπημένα κομμάτια από όλους τους φίλους σας - + All of your loved tracks Όλα τα αγαπημένα κομμάτια σας - + All of %1's loved tracks Όλα τα αγαπημένα κομμάτια του/της %1 - + Loved Tracks Αγαπημένα Κομμάτια @@ -1261,12 +1261,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! Αυτή η λίστα αναπαραγωγής είναι άδεια προς το παρόν. Προσθέστε μερικά κομμάτια σε αυτήν και απολαύστε την μουσική! @@ -1491,12 +1491,12 @@ connect and stream from you? SettingsDialog - + Collection Συλλογή - + Advanced Προχωρημένα @@ -1506,12 +1506,12 @@ connect and stream from you? Όλα - + Some changed settings will not take effect until Tomahawk is restarted Μερικές αλλαγμένες ρυθμίσεις δεν θα εφαρμοστούν μέχρι το Tomahawk να επανεκκινηθεί. - + Services Υπηρεσίες @@ -1521,37 +1521,37 @@ connect and stream from you? Εγκατάσταση από αρχείο - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Manage how Tomahawk finds music on your computer. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - + Install resolver from file Εγκατάσταση επιλυτή από αρχείο - + Delete all Access Control entries? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. - + Information Πληροφορίες @@ -1747,22 +1747,22 @@ connect and stream from you? - + Tweet - + Listening to "%1" by %2. %3 - + Listening to "%1" by %2 on "%3". %4 - + %1 characters left @@ -1795,19 +1795,19 @@ connect and stream from you? Κορυφαία 10 - + All available tracks Όλα τα διαθέσιμα τραγούδια - - + + Show Προβολή - - + + Hide Απόκρυψη @@ -1848,58 +1848,58 @@ connect and stream from you? SourceItem - + Collection Συλλογή - - + + Latest Additions Τελευταίες Προσθήκες - + Recently Played Τελευταίες Αναπαραγωγές - + SuperCollection ΥπερΣυλλογή - + Latest additions to your collection Τελευταίες προσθήκες στην βιβλιοθήκη σας - + Latest additions to %1's collection Τελευταίες προσθήκες στην βιβλιοθήκη του %1 - + Sorry, we could not find any recent additions! - + Recently Played Tracks Τελευταίες Αναπαραγωγές Κομματιών - + Your recently played tracks Οι τελευταίες σας αναπαραγωγές - + %1's recently played tracks - + Sorry, we could not find any recent plays! @@ -2115,17 +2115,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link Αντιγραφή Συνδέσμου Καλλιτέχνη - + Copy Album Link Αντιγραφή Συνδέσμου Άλμπουμ - + Copy Track Link Αντιγραφή Συνδέσμου Κομματιού @@ -2133,32 +2133,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Προσθήκη Λογαριασμού - + Remove - + %1 downloads %1 λήψεις - + Online Συνεδεμένος - + Connecting... Σύνδεση... - + Offline Εκτός Σύνδεσης @@ -2534,79 +2534,79 @@ You may wish to try re-authenticating. Tomahawk::ContextMenu - + &Play &Αναπαραγωγή - - - + + + Add to &Queue Προσθήκη στην &Σειρά - + Continue Playback after this &Track - + Stop Playback after this &Track - - + + &Love &Αγάπησε - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link &Αντιγραφή Συνδέσμου Κομματιού - + Copy Album &Link - + Copy Artist &Link - + Un-&Love &Μίσησε - + &Delete Items &Διαγραφή Αντικειμένων - + Properties... Ιδιότητες - + &Delete Item &Διαγραφή Αντικειμένου @@ -2704,7 +2704,7 @@ Please change the filters or try again. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3490,178 +3490,178 @@ enter the displayed PIN number here: Επόμενο - + Back Πίσω - + Go back one page Πήγαινε πίσω μία σελίδα - + Forward Μπροστά - + Go forward one page Πήγαινε μπροστά μία σελίδα - + Global Search... Αναζήτηση Παντού... - - + + Hide Menu Bar Απόκρυψη Γραμμής Μενού - - + + Show Menu Bar - + &Main Menu - - - + + + Connect To Peer Σύνδεση Σε Ομότιμο Κόμβο - + Enter peer address: Εισαγωγή διεύθυνσης ομότιμου κόμβου: - + Enter peer port: Εισαγωγή θύρας ομότιμου κόμβου: - + Enter peer key: Εισαγωγή κλειδιού ομότιμου κόμβου: - + XSPF Error Σφάλμα XSPF - + This is not a valid XSPF playlist. Αυτή δεν είναι μια έγκυρη λίστα αναπαραγωγής XSPF. - + Failed to save tracks Αποτυχία αποθήκευσης κομματιών. - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Μερικά κομμάτια στην λίστα αναπαραγωγής δεν περιέχουν έναν καλλιτέχνη ή έναν τίτλο. Θα αγνοηθούν. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Συγγνώμη, υπάρχει ένα πρόβλημα πρόσβασης στην συσκευή ήχου ή στο επιθυμητό κομμάτι, το τρέχον κομμάτι θα παραλειφθεί. Σιγουρευτείτε ότι έχετε εγκαταστήσει ένα κατάλληλο Phonon backend και τα απαιτούμενα πρόσθετα. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Συγγνώμη, υπάρχει ένα πρόβλημα πρόσβασης στην συσκευή ήχου ή στο επιθυμητό κομμάτι, το τρέχον κομμάτι θα παραλειφθεί. - + Station Σταθμός - + Create New Station Δημιουργία Νέου Σταθμού - + Name: Όνομα: - + Playlist Λίστας Αναπαραγωγής - + Automatic Playlist Αυτόματη Λίστα Αναπαραγωγής - + Pause Παύση - + &Play - + Authentication Error Σφάλμα Πιστοποίησης - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name %1 από %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: Χάρη στους: - + About Tomahawk Σχετικά με το Tomahawk @@ -3753,13 +3753,13 @@ enter the displayed PIN number here: TransferStatusItem - + from streaming artist - track from friend από - + to streaming artist - track to friend προς @@ -3948,7 +3948,7 @@ You can re-send a sync message at any time simply by sending another tweet using - + Welcome to Tomahawk diff --git a/lang/tomahawk_en.ts b/lang/tomahawk_en.ts index d4973f0e8..42931746e 100644 --- a/lang/tomahawk_en.ts +++ b/lang/tomahawk_en.ts @@ -48,17 +48,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Online - + Connecting... Connecting... - + Offline Offline @@ -101,154 +101,154 @@ connect and stream from you? ActionCollection - + &Listen Along &Listen Along - + Stop &Listening Along Stop &Listening Along - + &Follow in real-time &Follow in real-time - - + + &Listen Privately &Listen Privately - - + + &Listen Publicly &Listen Publicly - + &Load Playlist &Load Playlist - + &Rename Playlist &Rename Playlist - + &Copy Playlist Link &Copy Playlist Link - + &Play &Play - + &Stop &Stop - + &Previous Track &Previous Track - + &Next Track &Next Track - + &Quit &Quit - + Load &XSPF... Load &XSPF... - + U&pdate Collection U&pdate Collection - + Fully &Rescan Collection Fully &Rescan Collection - + Show Offline Sources Show Offline Sources - + &Configure Tomahawk... &Configure Tomahawk... - + Minimize Minimize - + Zoom Zoom - + Hide Menu Bar Hide Menu Bar - + Diagnostics... Diagnostics... - + About &Tomahawk... About &Tomahawk... - + &Legal Information... &Legal Information... - + Check For Updates... Check For Updates... - + &Controls &Controls - + &Settings &Settings - + &Help &Help - + &Window &Window - + Main Menu Main Menu @@ -422,13 +422,13 @@ connect and stream from you? - + Shuffle Shuffle - + Repeat Repeat @@ -443,27 +443,27 @@ connect and stream from you? High - + Time Elapsed Time Elapsed - + Time Remaining Time Remaining - + Playing from %1 Playing from %1 - + Share Share - + Love Love @@ -652,97 +652,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: Steer this station: - + Much less Much less - + Less Less - + A bit less A bit less - + Keep at current Keep at current - + A bit more A bit more - + More More - + Much more Much more - + Tempo Tempo - + Loudness Loudness - + Danceability Danceability - + Energy Energy - + Song Hotttnesss Song Hotttnesss - + Artist Hotttnesss Artist Hotttnesss - + Artist Familiarity Artist Familiarity - + By Description By Description - + Enter a description Enter a description - + Apply steering command Apply steering command - + Reset all steering commands Reset all steering commands @@ -779,7 +779,7 @@ connect and stream from you? IndexingJobItem - + Indexing database Indexing database @@ -846,7 +846,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! %1 is listening along with you! @@ -908,32 +908,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks Top Loved Tracks - + Sorry, we could not find any loved tracks! Sorry, we could not find any loved tracks! - + The most loved tracks from all your friends The most loved tracks from all your friends - + All of your loved tracks All of your loved tracks - + All of %1's loved tracks All of %1's loved tracks - + Loved Tracks Loved Tracks @@ -1262,12 +1262,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1492,12 +1492,12 @@ connect and stream from you? SettingsDialog - + Collection Collection - + Advanced Advanced @@ -1507,12 +1507,12 @@ connect and stream from you? All - + Some changed settings will not take effect until Tomahawk is restarted Some changed settings will not take effect until Tomahawk is restarted - + Services Services @@ -1522,37 +1522,37 @@ connect and stream from you? Install from file - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Manage how Tomahawk finds music on your computer. Manage how Tomahawk finds music on your computer. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - + Install resolver from file Install resolver from file - + Delete all Access Control entries? Delete all Access Control entries? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. - + Information Information @@ -1751,22 +1751,22 @@ connect and stream from you? TextLabel - + Tweet Tweet - + Listening to "%1" by %2. %3 Listening to "%1" by %2. %3 - + Listening to "%1" by %2 on "%3". %4 Listening to "%1" by %2 on "%3". %4 - + %1 characters left %1 characters left @@ -1799,19 +1799,19 @@ connect and stream from you? Top 10 - + All available tracks All available tracks - - + + Show Show - - + + Hide Hide @@ -1852,58 +1852,58 @@ connect and stream from you? SourceItem - + Collection Collection - - + + Latest Additions Latest Additions - + Recently Played Recently Played - + SuperCollection SuperCollection - + Latest additions to your collection Latest additions to your collection - + Latest additions to %1's collection Latest additions to %1's collection - + Sorry, we could not find any recent additions! Sorry, we could not find any recent additions! - + Recently Played Tracks Recently Played Tracks - + Your recently played tracks Your recently played tracks - + %1's recently played tracks %1's recently played tracks - + Sorry, we could not find any recent plays! Sorry, we could not find any recent plays! @@ -2119,17 +2119,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link Copy Artist Link - + Copy Album Link Copy Album Link - + Copy Track Link Copy Track Link @@ -2137,32 +2137,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Add Account - + Remove Remove - + %1 downloads %1 downloads - + Online Online - + Connecting... Connecting... - + Offline Offline @@ -2538,79 +2538,79 @@ You may wish to try re-authenticating. Tomahawk::ContextMenu - + &Play &Play - - - + + + Add to &Queue Add to &Queue - + Continue Playback after this &Track Continue Playback after this &Track - + Stop Playback after this &Track Stop Playback after this &Track - - + + &Love &Love - - - + + + &Go to "%1" &Go to "%1" - - + + Go to "%1" Go to "%1" - + &Copy Track Link &Copy Track Link - + Copy Album &Link Copy Album &Link - + Copy Artist &Link Copy Artist &Link - + Un-&Love Un-&Love - + &Delete Items &Delete Items - + Properties... Properties... - + &Delete Item &Delete Item @@ -2708,7 +2708,7 @@ Please change the filters or try again. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3495,178 +3495,178 @@ enter the displayed PIN number here: Next - + Back Back - + Go back one page Go back one page - + Forward Forward - + Go forward one page Go forward one page - + Global Search... Global Search... - - + + Hide Menu Bar Hide Menu Bar - - + + Show Menu Bar Show Menu Bar - + &Main Menu &Main Menu - - - + + + Connect To Peer Connect To Peer - + Enter peer address: Enter peer address: - + Enter peer port: Enter peer port: - + Enter peer key: Enter peer key: - + XSPF Error XSPF Error - + This is not a valid XSPF playlist. This is not a valid XSPF playlist. - + Failed to save tracks Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station Station - + Create New Station Create New Station - + Name: Name: - + Playlist Playlist - + Automatic Playlist Automatic Playlist - + Pause Pause - + &Play &Play - + Authentication Error Authentication Error - + Error connecting to SIP: Authentication failed! Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name %1 by %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Thanks to: - + About Tomahawk About Tomahawk @@ -3758,13 +3758,13 @@ enter the displayed PIN number here: TransferStatusItem - + from streaming artist - track from friend from - + to streaming artist - track to friend to @@ -3958,7 +3958,7 @@ You can re-send a sync message at any time simply by sending another tweet using No recently created playlists in your network. - + Welcome to Tomahawk Welcome to Tomahawk diff --git a/lang/tomahawk_es.ts b/lang/tomahawk_es.ts index 37f1d2627..52d6c07d2 100644 --- a/lang/tomahawk_es.ts +++ b/lang/tomahawk_es.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Conectado - + Connecting... Conectando... - + Offline Desconectado @@ -100,154 +100,154 @@ connect and stream from you? ActionCollection - + &Listen Along &Escuchar juntos - + Stop &Listening Along Detener la &reproducción conjunta - + &Follow in real-time &Seguir en tiempo real - - + + &Listen Privately &Escuchar en privado - - + + &Listen Publicly &Escuchar públicamente - + &Load Playlist &Cargar lista de reproducción - + &Rename Playlist &Renombrar lista de reproducción - + &Copy Playlist Link &Copiar enlace de lista de reproducción - + &Play &Reproducir - + &Stop &Detener - + &Previous Track &Pista anterior - + &Next Track &Pista siguiente - + &Quit &Salir - + Load &XSPF... - + U&pdate Collection - + Fully &Rescan Collection - + Show Offline Sources - + &Configure Tomahawk... - + Minimize - + Zoom - + Hide Menu Bar - + Diagnostics... - + About &Tomahawk... - + &Legal Information... - + Check For Updates... - + &Controls - + &Settings - + &Help - + &Window - + Main Menu @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Aleatorio - + Repeat Repetir @@ -442,27 +442,27 @@ connect and stream from you? Subir volumen - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -651,97 +651,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -778,7 +778,7 @@ connect and stream from you? IndexingJobItem - + Indexing database Indexando la base de datos @@ -845,7 +845,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! @@ -907,32 +907,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks - + Sorry, we could not find any loved tracks! - + The most loved tracks from all your friends - + All of your loved tracks - + All of %1's loved tracks - + Loved Tracks @@ -1261,12 +1261,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! Esta lista de reproducción está vacía. ¡Añada algunas pistas y disfrute de la música! @@ -1490,12 +1490,12 @@ connect and stream from you? SettingsDialog - + Collection Colección - + Advanced Avanzado @@ -1505,12 +1505,12 @@ connect and stream from you? Todo - + Some changed settings will not take effect until Tomahawk is restarted Algunos cambios no tomarán efecto hasta reiniciar Tomahawk - + Services Servicios @@ -1520,37 +1520,37 @@ connect and stream from you? - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Manage how Tomahawk finds music on your computer. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - + Install resolver from file Instalar un Resolver desde un fichero - + Delete all Access Control entries? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. - + Information Información @@ -1746,22 +1746,22 @@ connect and stream from you? TextLabel - + Tweet - + Listening to "%1" by %2. %3 - + Listening to "%1" by %2 on "%3". %4 - + %1 characters left %1 caracteres restantes @@ -1794,19 +1794,19 @@ connect and stream from you? Top 10 - + All available tracks Todas las pistas disponibles - - + + Show Mostrar - - + + Hide Ocultar @@ -1847,58 +1847,58 @@ connect and stream from you? SourceItem - + Collection Colección - - + + Latest Additions Añadidos recientemente - + Recently Played Reproducido recientemente - + SuperCollection SuperColección - + Latest additions to your collection Últimas novedades en mi colección - + Latest additions to %1's collection Últimas novedadoes en la colección de %1 - + Sorry, we could not find any recent additions! - + Recently Played Tracks Temas Escuchados Recientemente - + Your recently played tracks Mis canciones escuchadas recientemente - + %1's recently played tracks Las canciones escuchadas recientemente por %1 - + Sorry, we could not find any recent plays! @@ -2114,17 +2114,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link - + Copy Album Link - + Copy Track Link @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Añadir Cuenta - + Remove - + %1 downloads %1 descargas - + Online Conectado - + Connecting... Conectando... - + Offline Desconectado @@ -2533,79 +2533,79 @@ Hay que volverse a autenticar. Tomahawk::ContextMenu - + &Play &Reproducir - - - + + + Add to &Queue Añadir a la &cola - + Continue Playback after this &Track - + Stop Playback after this &Track - - + + &Love &Favorito - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link &Copiar enlace del Tema - + Copy Album &Link - + Copy Artist &Link - + Un-&Love Quitar de &Favoritos - + &Delete Items &Eliminar de la cola - + Properties... - + &Delete Item &Eliminar de la cola @@ -2703,7 +2703,7 @@ Por favor, cambie los filtros o inténtelo de nuevo. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3490,178 +3490,178 @@ introduzca su número PIN aquí: Siguiente - + Back - + Go back one page - + Forward - + Go forward one page - + Global Search... Búsqueda global... - - + + Hide Menu Bar - - + + Show Menu Bar - + &Main Menu - - - + + + Connect To Peer Conectar a un par - + Enter peer address: Introducir dirección del par: - + Enter peer port: Introducir puerto del par: - + Enter peer key: Introducir contraseña del par: - + XSPF Error Error XSPF - + This is not a valid XSPF playlist. Esta no es una lista de reproducción XSPF válida. - + Failed to save tracks Fallo al guardar pistas - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Algunas pistas en la lista de reproducción no contienen artista ni título. Serán ignoradas. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Se ha producido un error al acceder al dispostivo de audio o al tema deseado y se va saltar. Asegúrese de que ha instalado un backend de Phonon adecuado y los plugins necesarios. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Se ha producido un error al acceder al dispostivo de audio o al tema deseado y se va saltar. - + Station - + Create New Station Crear nueva estación - + Name: Nombre: - + Playlist - + Automatic Playlist - + Pause Pausar - + &Play - + Authentication Error Error de autenticación - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name %1 por %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk Acerca de Tomahawk @@ -3753,13 +3753,13 @@ introduzca su número PIN aquí: TransferStatusItem - + from streaming artist - track from friend - + to streaming artist - track to friend @@ -3953,7 +3953,7 @@ Puede reenviar el mensaje de sincronización en cualquier momento simplemente en No hay listas de reproducción recientemente creadas en su red. - + Welcome to Tomahawk Bienvenido a Tomahawk diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index f8ec37092..21ed64dc9 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -48,17 +48,17 @@ de se connecter et streamer de vous? AccountFactoryWrapperDelegate - + Online En Ligne - + Connecting... Connexion en cours... - + Offline Hors ligne @@ -101,154 +101,154 @@ de se connecter et streamer de vous? ActionCollection - + &Listen Along &Ecouter avec - + Stop &Listening Along Arrêter d'&écouter avec - + &Follow in real-time &Suivre en temps réel - - + + &Listen Privately &Ecouter en privé - - + + &Listen Publicly &Ecouter publiquement - + &Load Playlist &Charger une liste de lecture - + &Rename Playlist &Renommer la liste de lecture - + &Copy Playlist Link &Copier le lien de la piste de lecture - + &Play &Lire - + &Stop &Stop - + &Previous Track Piste &Précédente - + &Next Track Piste &Suivante - + &Quit &Quitter - + Load &XSPF... Charger &XSPF... - + U&pdate Collection Mettre à Jo&ur la Collection - + Fully &Rescan Collection &Rescanner la collection entièrement - + Show Offline Sources Afficher les sources hors ligne - + &Configure Tomahawk... &Configurer Tomahawk... - + Minimize Réduire - + Zoom Zoom - + Hide Menu Bar Masquer la barre de menu - + Diagnostics... Diagnostics... - + About &Tomahawk... A propos de &Tomahawk... - + &Legal Information... &Informations Légales... - + Check For Updates... Rechercher une mis à jour... - + &Controls &Contrôles - + &Settings &Paramètres - + &Help &Aide - + &Window &Fenêtre - + Main Menu Menu Principal @@ -422,13 +422,13 @@ de se connecter et streamer de vous? - + Shuffle Lecture Aléatoire - + Repeat Répéter @@ -443,27 +443,27 @@ de se connecter et streamer de vous? Haut - + Time Elapsed Durée Ecoulé - + Time Remaining Durée Restante - + Playing from %1 - + Share Partager - + Love Favori @@ -652,97 +652,97 @@ de se connecter et streamer de vous? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -779,7 +779,7 @@ de se connecter et streamer de vous? IndexingJobItem - + Indexing database Indexation de la base de données @@ -846,7 +846,7 @@ de se connecter et streamer de vous? LatchedStatusItem - + %1 is listening along with you! %1 écoute avec vous! @@ -908,32 +908,32 @@ de se connecter et streamer de vous? LovedTracksItem - + Top Loved Tracks Top pistes favoris - + Sorry, we could not find any loved tracks! Désolé, nous n'avons pu trouver aucune piste favorite ! - + The most loved tracks from all your friends Les titres favoris de vos amis - + All of your loved tracks Tous vos titres favoris - + All of %1's loved tracks Tous les titres favoris de %1 - + Loved Tracks Titres favoris @@ -1262,12 +1262,12 @@ de se connecter et streamer de vous? PlaylistView - + This playlist is currently empty. La collection est vide actuellement. - + This playlist is currently empty. Add some tracks to it and enjoy the music! La liste de lecture est vide. Ajoutez des pistes et profitez de la musique ! @@ -1492,12 +1492,12 @@ de se connecter et streamer de vous? SettingsDialog - + Collection Collection - + Advanced Avancés @@ -1507,12 +1507,12 @@ de se connecter et streamer de vous? Tous - + Some changed settings will not take effect until Tomahawk is restarted Certaines modifications ne prendront effet qu'au prochain démarrage de Tomahawk - + Services Services @@ -1522,37 +1522,37 @@ de se connecter et streamer de vous? Installer depuis un fichier - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. Configurer les comptes et les services que Tomahawk utilisera pour chercher et diffuser de la musique, retrouver vos amis ou mettre à jour votre statut. - + Manage how Tomahawk finds music on your computer. Gérer la manière dont Tomahawk trouve de la musique sur votre ordinateur. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. Configurer les paramètres avancés de Tomahawk dont les paramètres de connectivité réseau, les interactions avec le navigateur et autres. - + Install resolver from file Installer un script de résolution depuis un fichier - + Delete all Access Control entries? Supprimer toutes les entrées de Contrôle d'accès? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. Voulez-vous vraiment supprimer toutes les entrées de contrôle d'accès ? On vous demandera de nouveau votre autorisation pour toutes les nouvelles connexions. - + Information Information @@ -1748,22 +1748,22 @@ de se connecter et streamer de vous? TextLabel - + Tweet Tweet - + Listening to "%1" by %2. %3 J'écoute "%1" par %2. %3 - + Listening to "%1" by %2 on "%3". %4 J'écoute "%1" par %2 sur "%3". %4 - + %1 characters left %1 caractères restants @@ -1796,19 +1796,19 @@ de se connecter et streamer de vous? Top 10 - + All available tracks Tous les titres disponibles - - + + Show Afficher - - + + Hide Masquer @@ -1849,58 +1849,58 @@ de se connecter et streamer de vous? SourceItem - + Collection Collection - - + + Latest Additions Derniers ajouts - + Recently Played Joués récemment - + SuperCollection SuperCollection - + Latest additions to your collection Derniers ajouts à votre collection - + Latest additions to %1's collection Derniers ajouts à la collection de %1 - + Sorry, we could not find any recent additions! Désolé, on a pas pu trouver des dernier ajouts! - + Recently Played Tracks Derniers titres joués - + Your recently played tracks Les derniers titres que vous avez joués - + %1's recently played tracks Derniers titres joués par %1 - + Sorry, we could not find any recent plays! Désolé, aucune piste récemment jouée n'a pu être trouvée ! @@ -2116,17 +2116,17 @@ de se connecter et streamer de vous? TemporaryPageItem - + Copy Artist Link Copier le lien de l'artiste - + Copy Album Link Copier le lien de l'album - + Copy Track Link Copier le lien de la piste @@ -2134,32 +2134,32 @@ de se connecter et streamer de vous? Tomahawk::Accounts::AccountDelegate - + Add Account Ajouter un compte - + Remove Supprimer - + %1 downloads %1 téléchargements - + Online En Ligne - + Connecting... Connexion en cours... - + Offline Hors ligne @@ -2535,79 +2535,79 @@ Essayez de vous authentifier de nouveau. Tomahawk::ContextMenu - + &Play &Lecture - - - + + + Add to &Queue &Ajouter à la file d'attente - + Continue Playback after this &Track Continuer la lecture après cette &piste - + Stop Playback after this &Track Stopper la lecture après cette &piste - - + + &Love &Favori - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link &Copier le lien de la piste - + Copy Album &Link Copier le &lien de l'album - + Copy Artist &Link Copier le &lien de l'artiste - + Un-&Love &Supprimer des Favoris - + &Delete Items &Supprimer les éléments - + Properties... Propriétés... - + &Delete Item &Supprimer l'élément @@ -2705,7 +2705,7 @@ Veuillez changer les filtres et essayez de nouveau. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3492,178 +3492,178 @@ saisissez le numéro PIN ici : Suivant - + Back Retour - + Go back one page Reculer d'une page - + Forward Avancer - + Go forward one page Avancer d'une page - + Global Search... Recherche Globale... - - + + Hide Menu Bar Masquer la barre de menu - - + + Show Menu Bar Afficher la barre de menu - + &Main Menu &Menu Principal - - - + + + Connect To Peer Connexion à un pair - + Enter peer address: Adresse du pair : - + Enter peer port: Port du pair : - + Enter peer key: Clé du pair : - + XSPF Error Erreur XSPF - + This is not a valid XSPF playlist. Ceci n'est pas une liste de lecture XSPF valide. - + Failed to save tracks Échec de la sauvegarde des pistes - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Certaines pistes dans la liste de lecture ne contiennent pas d'artiste ou de titre. Elles seront ignorées. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Désolé, il y a un problème d'accès à votre matériel audio ou la piste en cours va être sautée. Vérifiez que vous avez un backend Phonon et les plugins requis installés. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Désolé, il y a un problème d'accès à votre matériel audio ou la piste en cours va être sauter. - + Station Station - + Create New Station Créer une nouvelle station - + Name: Nom : - + Playlist Liste de lecture - + Automatic Playlist Liste de lecture automatique - + Pause Pause - + &Play &Lire - + Authentication Error Erreur d'authentification - + Error connecting to SIP: Authentication failed! Erreur de connexion SIP : échec de l'authentification ! - + %1 by %2 track, artist name %1 par %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Droit d'auteur 2010 - 2012 - + Thanks to: Merci a: - + About Tomahawk A propos de Tomahawk @@ -3755,13 +3755,13 @@ saisissez le numéro PIN ici : TransferStatusItem - + from streaming artist - track from friend à partir de - + to streaming artist - track to friend à @@ -3955,7 +3955,7 @@ Vous pouvez envoyer un message de synchronisation quand vous le souhaitez en env Pas de liste de lecture créée récemment sur votre réseau. - + Welcome to Tomahawk Bienvenue dans Tomahawk diff --git a/lang/tomahawk_gl.ts b/lang/tomahawk_gl.ts index fc4ee4893..f8f0e21f9 100644 --- a/lang/tomahawk_gl.ts +++ b/lang/tomahawk_gl.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Conectado - + Connecting... Conectando... - + Offline Desconectado @@ -100,154 +100,154 @@ connect and stream from you? ActionCollection - + &Listen Along &Escoitar todo xunto - + Stop &Listening Along Parar de &escoitar todo xunto - + &Follow in real-time &Seguir en tempo rela - - + + &Listen Privately &Escoitar en privado - - + + &Listen Publicly &Escoutar en público - + &Load Playlist &Cargar a lista de reprodución - + &Rename Playlist &Renomear a lista de reprodución - + &Copy Playlist Link &Copiar a ligazón da lista de reprodución - + &Play &Reproducir - + &Stop &Deter - + &Previous Track &Pista anterior - + &Next Track P&ista seguinte - + &Quit &Saír - + Load &XSPF... Cargar &XSPF... - + U&pdate Collection &Actualizar a colección - + Fully &Rescan Collection &Rescanear a colección completa - + Show Offline Sources Mostrar as fontes fóra de liña - + &Configure Tomahawk... &Configurar Tomahawk... - + Minimize Minimizar - + Zoom Ampliación - + Hide Menu Bar Agochar a barra de menú - + Diagnostics... Diagnóstico... - + About &Tomahawk... Acerca de &Tomahawk... - + &Legal Information... &Información legal... - + Check For Updates... Buscar actualizacións... - + &Controls &Controis - + &Settings &Configuración - + &Help &Axuda - + &Window &Xanela - + Main Menu Menú principal @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Ao chou - + Repeat Repetir @@ -442,27 +442,27 @@ connect and stream from you? Alta - + Time Elapsed Tempo transcorrido - + Time Remaining Tempo que falta - + Playing from %1 Reproducindo de %1 - + Share Compartir - + Love gusta @@ -651,97 +651,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: Dirixir esta emisora: - + Much less Moito menos - + Less Menos - + A bit less Un pouco menos - + Keep at current Manter no actual - + A bit more Un chisco máis - + More Máis - + Much more Moito máis - + Tempo Tempo - + Loudness Sonoridade - + Danceability Como de bailable - + Energy Enerxía - + Song Hotttnesss Agrado da canción - + Artist Hotttnesss Agrado do artista - + Artist Familiarity Familiraridade do artista - + By Description Por descripción - + Enter a description Introducir unha descripción - + Apply steering command Aplicar o comando de direción - + Reset all steering commands Reiniciar tódolos comandos de dirección @@ -778,7 +778,7 @@ connect and stream from you? IndexingJobItem - + Indexing database Base de datos de indexado @@ -845,7 +845,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! %1 está escoitando o mesmo a canda ti! @@ -907,32 +907,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks As pistas que máis me gustan - + Sorry, we could not find any loved tracks! Non se atopan pistas que che gustaran! - + The most loved tracks from all your friends As pistas que máis lle gustaron aos teus amigos - + All of your loved tracks Todas as pistas que che gustarn - + All of %1's loved tracks Todas as pistas de %1 que che gustaron - + Loved Tracks Pistas favoritas @@ -1261,12 +1261,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. Esta lista de reprodución está agora mesmo baleira. - + This playlist is currently empty. Add some tracks to it and enjoy the music! Esta lista de reprodución está agora mesmo baleira. Engádelle unhas pistas para desfrutar da música! @@ -1491,12 +1491,12 @@ connect and stream from you? SettingsDialog - + Collection Colección - + Advanced Avanzado @@ -1506,12 +1506,12 @@ connect and stream from you? Todo - + Some changed settings will not take effect until Tomahawk is restarted Algunhas das configuracións que se cambiaron non van a ter efecto ata que se reinicie Tomahawk - + Services Servizos @@ -1521,37 +1521,37 @@ connect and stream from you? Instalar dende ficheiro - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. Configurar as contas e servizos que emprega Tomahawk para buscar e obter música, atopar ás túas amizades e actualizar o teu estado. - + Manage how Tomahawk finds music on your computer. Xestionar como Tomahawk busca música no teu computador. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. Configurar as propiedades avanzadas de Tomahawks, incluíndo a conectividade a rede, a interacción co navegador e outras. - + Install resolver from file Instalar un resolvedor dende un ficheiro - + Delete all Access Control entries? Queres borrar tódalas entradas de control de acceso? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. Seguro que queres borrar tódalas entradas de control de acceso? Preguntaráseche de novo para que o confirmes cada vez que te conectes a un parceiro. - + Information Información @@ -1747,22 +1747,22 @@ connect and stream from you? Etiqueta de texto - + Tweet Chio - + Listening to "%1" by %2. %3 Escoitando a «%1» por %2. %3 - + Listening to "%1" by %2 on "%3". %4 Escoitando a «%1» por %2 en «%3». %4 - + %1 characters left quedan %1 caracteres @@ -1795,19 +1795,19 @@ connect and stream from you? Os 10 primeiros - + All available tracks Tódolas pistas dispoñíbeis - - + + Show Mostrar - - + + Hide Agochar @@ -1848,58 +1848,58 @@ connect and stream from you? SourceItem - + Collection Colección - - + + Latest Additions Últimos engadidos - + Recently Played Escoitados recentemente - + SuperCollection Supercolección - + Latest additions to your collection Os últimos engadidos á túa coleción - + Latest additions to %1's collection Os últimos engadidos a colección %1 - + Sorry, we could not find any recent additions! Non se atoparon novas pistas engadidas recentemente! - + Recently Played Tracks Pistas recentemente reproducidas - + Your recently played tracks As pistas que soaron recentemente - + %1's recently played tracks As pistas de %1 que soaron recentemente - + Sorry, we could not find any recent plays! Non se escoitaron pistas recentemente! @@ -2117,17 +2117,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link Copiar a ligazón do artista - + Copy Album Link Copiar a ligazón do álbum - + Copy Track Link Copiar a ligazón da pista @@ -2135,32 +2135,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Engadir unha conta - + Remove Eliminar - + %1 downloads %1 descargas - + Online Conectado - + Connecting... Conectando... - + Offline Desconectado @@ -2536,79 +2536,79 @@ Proba a volver a autenticarte. Tomahawk::ContextMenu - + &Play &Reproducir - - - + + + Add to &Queue Engadir á &ringleira - + Continue Playback after this &Track Continuar á reprodución despois desta &pista - + Stop Playback after this &Track Deter a reprodución despois desta &pista - - + + &Love &Gústame - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link - + Copy Album &Link Copiar a &ligazón do álbum - + Copy Artist &Link Copiar a &ligazón do artista - + Un-&Love Xa non me &gusta - + &Delete Items &Borrar os elementos - + Properties... Propiedades... - + &Delete Item &Borrar o elemento @@ -2706,7 +2706,7 @@ Cambia os filtros e proba de novo. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3492,179 +3492,179 @@ enter the displayed PIN number here: Seguinte - + Back Atrás - + Go back one page Ir unha páxina atrás - + Forward Adiante - + Go forward one page Ir unha páxian adiante - + Global Search... Busca global... - - + + Hide Menu Bar Agochar a barra de menú - - + + Show Menu Bar Mostrar a barra de menú - + &Main Menu Menú &principal - - - + + + Connect To Peer Conectar cun parceiro - + Enter peer address: Introducir a dirección do parceiro: - + Enter peer port: Introducir o porto do parceiro: - + Enter peer key: Introducir a clave do parceiro: - + XSPF Error Erro XSPF - + This is not a valid XSPF playlist. Esta non é unha lista de XSPF válida. - + Failed to save tracks Fallou o gardado de pistas - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Algunhas pistas na lista de reprodución non indican nin artista nin o título. Ignoraranse. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Hai un problema accedendo ao teu dispositivo de son ou a pista que quere así que se omitirá. Asegúrate de ter o motor Phonon e os engadidos necesarios instalados. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Hai un problema accedendo ao teu dispositivo de son ou a pista que quere así que se omitirá. - + Station - + Create New Station Crear unha nova emisión - + Name: Nome: - + Playlist Lista de reprodución - + Automatic Playlist Lista de reprodución automática - + Pause Pausa - + &Play &Reproducir - + Authentication Error Erro de autenticación - + Error connecting to SIP: Authentication failed! Erro conectándose a SIP: Fallou a autentificación! - + %1 by %2 track, artist name %1 por %2 - + %1 - %2 current track, some window title %1.- %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Agradecementos: - + About Tomahawk Acerca de Tomahawk @@ -3756,13 +3756,13 @@ enter the displayed PIN number here: TransferStatusItem - + from streaming artist - track from friend de - + to streaming artist - track to friend até @@ -3951,7 +3951,7 @@ You can re-send a sync message at any time simply by sending another tweet using - + Welcome to Tomahawk diff --git a/lang/tomahawk_hi_IN.ts b/lang/tomahawk_hi_IN.ts index c06b8548d..42ac054a2 100644 --- a/lang/tomahawk_hi_IN.ts +++ b/lang/tomahawk_hi_IN.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online - + Connecting... - + Offline @@ -100,154 +100,154 @@ connect and stream from you? ActionCollection - + &Listen Along - + Stop &Listening Along - + &Follow in real-time - - + + &Listen Privately - - + + &Listen Publicly - + &Load Playlist - + &Rename Playlist - + &Copy Playlist Link - + &Play - + &Stop - + &Previous Track - + &Next Track - + &Quit - + Load &XSPF... - + U&pdate Collection - + Fully &Rescan Collection - + Show Offline Sources - + &Configure Tomahawk... - + Minimize - + Zoom - + Hide Menu Bar - + Diagnostics... - + About &Tomahawk... - + &Legal Information... - + Check For Updates... - + &Controls - + &Settings - + &Help - + &Window - + Main Menu @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle - + Repeat @@ -442,27 +442,27 @@ connect and stream from you? - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -651,97 +651,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -778,7 +778,7 @@ connect and stream from you? IndexingJobItem - + Indexing database @@ -845,7 +845,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! @@ -907,32 +907,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks - + Sorry, we could not find any loved tracks! - + The most loved tracks from all your friends - + All of your loved tracks - + All of %1's loved tracks - + Loved Tracks @@ -1261,12 +1261,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1490,12 +1490,12 @@ connect and stream from you? SettingsDialog - + Collection - + Advanced @@ -1505,12 +1505,12 @@ connect and stream from you? - + Some changed settings will not take effect until Tomahawk is restarted - + Services @@ -1520,37 +1520,37 @@ connect and stream from you? - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Manage how Tomahawk finds music on your computer. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - + Install resolver from file - + Delete all Access Control entries? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. - + Information @@ -1746,22 +1746,22 @@ connect and stream from you? - + Tweet - + Listening to "%1" by %2. %3 - + Listening to "%1" by %2 on "%3". %4 - + %1 characters left @@ -1794,19 +1794,19 @@ connect and stream from you? - + All available tracks - - + + Show - - + + Hide @@ -1847,58 +1847,58 @@ connect and stream from you? SourceItem - + Collection - - + + Latest Additions - + Recently Played - + SuperCollection - + Latest additions to your collection - + Latest additions to %1's collection - + Sorry, we could not find any recent additions! - + Recently Played Tracks - + Your recently played tracks - + %1's recently played tracks - + Sorry, we could not find any recent plays! @@ -2114,17 +2114,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link - + Copy Album Link - + Copy Track Link @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account - + Remove - + %1 downloads - + Online - + Connecting... - + Offline @@ -2530,79 +2530,79 @@ You may wish to try re-authenticating. Tomahawk::ContextMenu - + &Play - - - + + + Add to &Queue - + Continue Playback after this &Track - + Stop Playback after this &Track - - + + &Love - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items - + Properties... - + &Delete Item @@ -2698,7 +2698,7 @@ Please change the filters or try again. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3482,178 +3482,178 @@ enter the displayed PIN number here: - + Back - + Go back one page - + Forward - + Go forward one page - + Global Search... - - + + Hide Menu Bar - - + + Show Menu Bar - + &Main Menu - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error - + This is not a valid XSPF playlist. - + Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: - + Playlist - + Automatic Playlist - + Pause - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk @@ -3745,13 +3745,13 @@ enter the displayed PIN number here: TransferStatusItem - + from streaming artist - track from friend - + to streaming artist - track to friend @@ -3940,7 +3940,7 @@ You can re-send a sync message at any time simply by sending another tweet using - + Welcome to Tomahawk diff --git a/lang/tomahawk_hu.ts b/lang/tomahawk_hu.ts new file mode 100644 index 000000000..c5a95b979 --- /dev/null +++ b/lang/tomahawk_hu.ts @@ -0,0 +1,4313 @@ + + + ACLJobDelegate + + + Allow %1 to +connect and stream from you? + + + + + Allow Streaming + + + + + Deny Access + + + + + ACLJobItem + + + Tomahawk needs you to decide whether %1 is allowed to connect. + + + + + AccountFactoryWrapper + + + Dialog + + + + + Description goes here + + + + + Add Account + Fiók létrehozása + + + + AccountFactoryWrapperDelegate + + + Online + Elérhető + + + + Connecting... + Csatlakozás... + + + + Offline + Nem elérhető + + + + AccountListWidget + + + Connections + Kapcsolatok + + + + + Connect &All + + + + + Disconnect &All + + + + + AccountWidget + + + Invite + + + + + AccountsToolButton + + + Configure Accounts + + + + + ActionCollection + + + &Listen Along + + + + + Stop &Listening Along + + + + + &Follow in real-time + + + + + + &Listen Privately + + + + + + &Listen Publicly + + + + + &Load Playlist + &Lejátszólista betöltése + + + + &Rename Playlist + Lejátszólista átnevezése + + + + &Copy Playlist Link + + + + + &Play + Lejátszás + + + + &Stop + Megállítás + + + + &Previous Track + Előző zeneszám + + + + &Next Track + Következő zeneszám + + + + &Quit + Kilépés + + + + Load &XSPF... + &XSPF betöltése... + + + + U&pdate Collection + Kolelkció frissítése + + + + Fully &Rescan Collection + + + + + Show Offline Sources + Nem elérhető források mutatása + + + + &Configure Tomahawk... + Tomahawk kofigurálása + + + + Minimize + Minimalizálás + + + + Zoom + Zoom + + + + Hide Menu Bar + Menü bar elrejtése + + + + Diagnostics... + Diagnosztizálás... + + + + About &Tomahawk... + &Tomahawkról + + + + &Legal Information... + Jogi információk + + + + Check For Updates... + Frissítések ellenőrzése + + + + &Controls + + + + + &Settings + + + + + &Help + + + + + &Window + + + + + Main Menu + + + + + AlbumInfoWidget + + + Form + + + + + Tracklist + Zeneszám lista + + + + Other Albums + Egyéb albumok + + + + Cover + Borító + + + + Album + Album + + + + Artist + Előadó + + + + Sorry, we could not find any other albums for this artist! + + + + + Sorry, we could not find any tracks for this album! + + + + + Other Albums by %1 + + + + + AlbumModel + + + + All albums from %1 + + + + + All albums + Összes album + + + + ArtistInfoWidget + + + Form + + + + + Top Hits + Top Hits + + + + Related Artists + Kapcsolódó előadók + + + + Artist + + + + + Albums + Albumok + + + + Cover + Borító + + + + Sorry, we could not find any albums for this artist! + + + + + Sorry, we could not find any related artists! + + + + + Sorry, we could not find any top hits for this artist! + + + + + AudioControls + + + Prev + Előző + + + + Play + Lejátszás + + + + Pause + Szünet + + + + Next + Következő + + + + Artist + Előadó + + + + Album + Album + + + + social + + + + + love + + + + + resolver + + + + + Time + Idő + + + + Time Left + Hátralévő idő + + + + + Shuffle + + + + + + Repeat + Ismétlés + + + + Low + Alacsony + + + + High + Magas + + + + Time Elapsed + + + + + Time Remaining + + + + + Playing from %1 + + + + + Share + + + + + Love + + + + + AudioEngine + + + Sorry, Tomahawk couldn't find the track '%1' by %2 + + + + + Sorry, Tomahawk couldn't find the artist '%1' + + + + + Sorry, Tomahawk couldn't find the album '%1' by %2 + + + + + CategoryAddItem + + + Create new Playlist + Új lejátszólista létrehozása + + + + Create new Station + Új rádióállomás létrehozása + + + + + New Station + Új rádióállomás + + + + + %1 Station + + + + + CategoryItem + + + Playlists + Lejátszólisták + + + + Stations + Rádióállomások + + + + ClearButton + + + Clear + Törlés + + + + ContextWidget + + + InfoBar + InfoBar + + + + + Show Footnotes + Lábléc mutatása + + + + Hide Footnotes + Lábléc elrejtése + + + + CrashReporter + + + Tomahawk Crash Reporter + Tomahawk Crash Reporter + + + + <html><head/><body><p><span style=" font-weight:600;">Sorry!</span> Tomahawk crashed. Please tell us about it! Tomahawk has created an error report for you that can help improve the stability in the future. You can now send this report directly to the Tomahawk developers.</p></body></html> + + + + + Send this report + + + + + Don't send + + + + + Abort + + + + + You can disable sending crash reports in the configuration dialog. + + + + + Uploaded %L1 of %L2 KB. + + + + + + Close + Bezárás + + + + Sent! <b>Many thanks</b>. + + + + + Failed to send crash info. + + + + + DatabaseCommand_AllAlbums + + + Unknown + Ismeretlen + + + + DelegateConfigWrapper + + + About + Névjegy + + + + Delete Account + Fiók törlése + + + + About this Account + A fiókról + + + + DiagnosticsDialog + + + Tomahawk Diagnostics + Tomahawk diagnosztizálás + + + + &Copy to Clipboard + Másolás a vágólapra + + + + Open &Log-file + + + + + EchonestSteerer + + + Steer this station: + + + + + Much less + Sokkal kevesebb + + + + Less + Kevés + + + + A bit less + Egy kicsit kevés + + + + Keep at current + + + + + A bit more + Egy kicsit több + + + + More + Több + + + + Much more + Sokkal több + + + + Tempo + Ütem + + + + Loudness + Hangosság + + + + Danceability + Táncolhatóság + + + + Energy + Energia + + + + Song Hotttnesss + + + + + Artist Hotttnesss + + + + + Artist Familiarity + + + + + By Description + + + + + Enter a description + + + + + Apply steering command + + + + + Reset all steering commands + + + + + FlexibleHeader + + + Filter... + Szűrő... + + + + FlexibleView + + + This playlist is currently empty. + + + + + This playlist is currently empty. Add some tracks to it and enjoy the music! + + + + + GlobalSearchWidget + + + Form + + + + + IndexingJobItem + + + Indexing database + Adatbázis indexelése + + + + InfoBar + + + InfoBar + InfoBar + + + + Filter... + + + + + LastFmConfig + + + Form + + + + + Scrobble tracks to Last.fm + + + + + Username: + Felhasználónév: + + + + Password: + Jelszó: + + + + Test Login + Teszt belépés + + + + Import Playback History + + + + + Synchronize Loved Tracks + + + + + LastfmContext + + + Last.fm + Last.fm + + + + LatchedStatusItem + + + %1 is listening along with you! + + + + + LoadXSPF + + + Load XSPF + XSPF betöltése + + + + Playlist URL + Lejátszólista URL + + + + Enter URL... + URL beírása... + + + + ... + ... + + + + Automatically update + Automatikus frissítés + + + + LoadXSPFDialog + + + Load XSPF File + XSPF fájl betöltése + + + + XSPF Files (*.xspf) + XSPF fájlok (*.xspf) + + + + LocalCollection + + + Bookmarks + Könyvjelzők + + + + Saved tracks + Mentett zeneszámok + + + + LovedTracksItem + + + Top Loved Tracks + + + + + Sorry, we could not find any loved tracks! + + + + + The most loved tracks from all your friends + + + + + All of your loved tracks + + + + + All of %1's loved tracks + + + + + Loved Tracks + + + + + MetadataEditor + + + Form + + + + + Tags + + + + + Title: + + + + + Title... + + + + + Artist: + + + + + Artist... + + + + + Album: + Album: + + + + Album... + + + + + Track Number: + Zeneszám száma: + + + + Duration: + + + + + 00.00 + 00.00 + + + + Year: + Év: + + + + Bitrate: + Bitráta: + + + + File + Fájl + + + + File Name: + Fájlnév: + + + + File Name... + Fájlnév... + + + + File Size... + Fájlméret... + + + + File size... + Fájlméret... + + + + File Size: + Fájlméret: + + + + Back + Vissza + + + + Forward + Előre + + + + Properties + Tulajdonságok + + + + NewPlaylistWidget + + + Enter a title for the new playlist: + + + + + Tomahawk offers a variety of ways to help you create playlists and find music you enjoy! + + + + + Just enter a genre or tag name and Tomahawk will suggest a few songs to get you started with your new playlist: + + + + + &Create Playlist + Lejátszólista létrehozása + + + + Create a new playlist + Új lejátszólista létrehozása + + + + NewReleasesWidget + + + New Releases + Új kiadások + + + + PlayableModel + + + Artist + + + + + Title + + + + + Composer + + + + + Album + + + + + Track + + + + + Duration + + + + + Bitrate + + + + + Age + + + + + Year + + + + + Size + + + + + Origin + + + + + Score + + + + + + Name + Név + + + + PlaylistItemDelegate + + + played %1 by you + + + + + played %1 by %2 + + + + + PlaylistLargeItemDelegate + + + played %1 by you + + + + + played %1 by %2 + + + + + added %1 + + + + + by <b>%1</b> + by <b>%1</b> + + + + by <b>%1</b> on <b>%2</b> + by <b>%1</b> on <b>%2</b> + + + + PlaylistModel + + + A playlist you created %1. + + + + + + A playlist by %1, created %2. + + + + + All tracks by %1 on album %2 + + + + + All tracks by %1 + + + + + PlaylistTypeSelectorDlg + + + New Playlist + Új lejátszólista + + + + Just a regular old playlist... Give it a name, drag in some tracks, and go! + + + + + Don't know exactly what you want? Give Tomahawk a few pointers and let it build a playlist for you! + + + + + Name: + Név: + + + + New Playlist... + Új lejátszólista... + + + + Create Manual Playlist + + + + + Create Automatic Playlist + + + + + PlaylistView + + + This playlist is currently empty. + Ez a lejátszólista jelenleg üres. + + + + This playlist is currently empty. Add some tracks to it and enjoy the music! + + + + + ProxyDialog + + + Proxy Settings + Proxy beállítások + + + + Hostname of proxy server + Proxy szerver hosztneve + + + + Host + Hosztnév + + + + Port + Port + + + + Proxy login + Proxy bejelentkezés + + + + User + Felhasználó + + + + Password + Jelszó + + + + Proxy password + Proxy jelszó + + + + No Proxy Hosts: +(Overrides system proxy) + + + + + localhost *.example.com (space separated) + localhost *.example.com (szóközzel elválasztva) + + + + Use proxy for DNS lookups? + + + + + QObject + + + %n year(s) ago + %n évvel ezelőtt%n évvel ezelőtt + + + + %n year(s) + %n év%n év + + + + %n month(s) ago + %n hónappal ezelőtt%n hónappal ezelőtt + + + + %n month(s) + %n hónap%n hónap + + + + %n week(s) ago + %n héttel ezelőtt%n héttel ezelőtt + + + + %n week(s) + %n hét%n hét + + + + %n day(s) ago + %n nappal ezelőtt%n nappal ezelőtt + + + + %n day(s) + %n nap%n nap + + + + %n hour(s) ago + %n órával ezelőtt%n órával ezelőtt + + + + %n hour(s) + %n óra%n óra + + + + %1 minutes ago + %1 perccel ezelőtt + + + + %1 minutes + %1 perc + + + + just now + éppen most + + + + Friend Finders + Barát kereső + + + + Music Finders + Zene kereső + + + + Status Updaters + Állapot frissítő + + + + QuaZipFilePrivate + + + ZIP/UNZIP API error %1 + + + + + QueueView + + + InfoBar + + + + + + Open Queue + + + + + Open Queue - %n item(s) + + + + + Close Queue + + + + + RelatedArtistsContext + + + Related Artists + + + + + ResolverConfigDelegate + + + Not found: %1 + + + + + Failed to load: %1 + + + + + SearchLineEdit + + + Search + + + + + SearchWidget + + + Search: %1 + + + + + Results for '%1' + + + + + SettingsDialog + + + Collection + + + + + Advanced + + + + + All + Mind + + + + Some changed settings will not take effect until Tomahawk is restarted + + + + + Services + Szolgáltatások + + + + Install from file + + + + + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. + + + + + Manage how Tomahawk finds music on your computer. + + + + + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. + + + + + Install resolver from file + + + + + Delete all Access Control entries? + + + + + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. + + + + + Information + Információ + + + + Settings_Accounts + + + Form + + + + + Filter by capability: + + + + + Settings_Advanced + + + Form + + + + + Remote Peer Connection Method + + + + + None (outgoing connections only) + + + + + Use UPnP to establish port forward (recommended) + + + + + Use static external IP address/host name and port + + + + + Set this to your external IP address or host name. Make sure to forward the port to this host! + + + + + Static Host Name: + Statikus hosztnév: + + + + Static Port: + Statikus port: + + + + SOCKS Proxy + SOCKS Proxy + + + + Use SOCKS Proxy + SOCKS proxy használata + + + + Proxy Settings... + Proxy beállítások... + + + + Other Settings + Egyéb beállítások + + + + Allow web browsers to interact with Tomahawk (recommended) + + + + + Send reports after Tomahawk crashed + + + + + Show notification when a new song starts to play + Értesítések mutatása ha egy új zene elindul + + + + Clear All Access Control Entries + + + + + Settings_Collection + + + Form + + + + + Path to scan for music files: + + + + + The Echo Nest supports keeping track of your catalog metadata + and using it to craft personalized radios. Enabling this option + will allow you (and all your friends) to create automatic playlists + and stations based on your personal taste profile. + + + + + Upload collection list to The Echo Nest to enable user radio + + + + + Watch for changes + Változások figyelése + + + + Time between scans, in seconds: + Szkennelések közötti idő, másodpercben: + + + + SlideSwitchButton + + + On + + + + + Off + + + + + SocialPlaylistWidget + + + Popular New Albums From Your Friends + + + + + Most Played Playlists + + + + + Most Played Tracks You Don't Have + + + + + SocialWidget + + + Form + + + + + Facebook + + + + + Twitter + + + + + Cover + + + + + TextLabel + + + + + Tweet + Tweet + + + + Listening to "%1" by %2. %3 + + + + + Listening to "%1" by %2 on "%3". %4 + + + + + %1 characters left + + + + + SourceDelegate + + + Track + Zeneszám + + + + Album + Album + + + + Artist + Előadó + + + + Local + Helyi + + + + Top 10 + Top 10 + + + + All available tracks + Összes elérhető zeneszám + + + + + Show + Mutatás + + + + + Hide + Elrejtés + + + + SourceInfoWidget + + + Recent Albums + + + + + Latest Additions + Legutóbb hozzáadott + + + + Recently Played Tracks + Mostanában játszott zeneszámok + + + + New Additions + + + + + My recent activity + + + + + Recent activity from %1 + + + + + SourceItem + + + Collection + Kollekció + + + + + Latest Additions + + + + + Recently Played + Mostanában játszott + + + + SuperCollection + Szuper kollekció + + + + Latest additions to your collection + + + + + Latest additions to %1's collection + + + + + Sorry, we could not find any recent additions! + + + + + Recently Played Tracks + Monstanában játszott zeneszámok + + + + Your recently played tracks + + + + + %1's recently played tracks + + + + + Sorry, we could not find any recent plays! + + + + + SourceTreeView + + + &Copy Link + + + + + &Delete %1 + + + + + Add to my Playlists + + + + + Add to my Automatic Playlists + + + + + Add to my Stations + + + + + &Export Playlist + + + + + playlist + lejátszólista + + + + automatic playlist + automatikus lejátszólista + + + + station + rádióállomás + + + + Would you like to delete the %1 <b>"%2"</b>? + e.g. Would you like to delete the playlist named Foobar? + + + + + Delete + Törlés + + + + Save XSPF + XSPF mentése + + + + Playlists (*.xspf) + Lejátszólisták (*.xspf) + + + + SourcesModel + + + Group + Csoport + + + + Collection + Kollekció + + + + Playlist + Lejátszólista + + + + Automatic Playlist + Automatikus lejátszólista + + + + Station + Rádióállomás + + + + Browse + Böngészés + + + + Search History + Keresési előzmények + + + + My Music + Zenéim + + + + SuperCollection + Szuper kollekció + + + + Dashboard + + + + + Recently Played + Monstanában játszott + + + + Charts + + + + + New Releases + Új kiadások + + + + Friends + Barátok + + + + SpotifyConfig + + + Form + + + + + Configure your Spotify account + Spotify fiók konfigurálása + + + + Username or Facebook Email + Felhasználói név vagy Facebook email + + + + Log In + Belépés + + + + Right click on any Tomahawk playlist to sync it to Spotify. + + + + + Select All + Mind kijelőlése + + + + High Quality Streams + Magas minőségű streamek + + + + Spotify playlists to keep in sync: + + + + + Delete Tomahawk playlist when removing synchronization + + + + + Username: + Felhasználó: + + + + Password: + Jelszó: + + + + SpotifyPlaylistUpdater + + + Delete associated Spotify playlist? + + + + + TemporaryPageItem + + + Copy Artist Link + Előadó linkjének másolása + + + + Copy Album Link + Album linkjének másolása + + + + Copy Track Link + Zeneszám linkjének másolása + + + + Tomahawk::Accounts::AccountDelegate + + + Add Account + Fiók hozzáadása + + + + Remove + Eltávolítás + + + + %1 downloads + + + + + Online + Elérhető + + + + Connecting... + Csatlakozás... + + + + Offline + Nem elérhető + + + + Tomahawk::Accounts::AccountModel + + + Manual Install Required + + + + + Unfortunately, automatic installation of this resolver is not available or disabled for your platform.<br /><br />Please use "Install from file" above, by fetching it from your distribution or compiling it yourself. Further instructions can be found here:<br /><br />http://www.tomahawk-player.org/resolvers/%1 + + + + + Tomahawk::Accounts::GoogleWrapper + + + Configure this Google Account + + + + + Google Address: + + + + + Enter your Google login to connect with your friends using Tomahawk! + + + + + username@gmail.com + username@gmail.com + + + + Tomahawk::Accounts::GoogleWrapperFactory + + + Connect to Google Talk to find your friends + + + + + Tomahawk::Accounts::GoogleWrapperSip + + + Enter Google Address + + + + + Add Friend + Barát hozzáadása + + + + Enter Google Address: + Google cím beírása: + + + + Tomahawk::Accounts::LastFmAccountFactory + + + Scrobble your tracks to last.fm, and find freely downloadable tracks to play + + + + + Tomahawk::Accounts::LastFmConfig + + + Testing... + + + + + Test Login + Teszt belépés + + + + Importing %1 + e.g. Importing 2012/01/01 + + + + + Importing History... + + + + + History Incomplete. Resume + + + + + Playback History Imported + + + + + + Failed + Sikertelen + + + + Success + Sikeres + + + + Could not contact server + + + + + Synchronizing... + Szinkronizálás... + + + + Synchronization Finished + Szinkronizálás befejezve + + + + Tomahawk::Accounts::SpotifyAccount + + + Sync with Spotify + Szinkronizálás a Spotify-val + + + + Re-enable syncing with Spotify + + + + + Create local copy + Helyi másolat létrehozása + + + + Subscribe to playlist changes + + + + + Re-enable playlist subscription + + + + + Stop subscribing to changes + + + + + Enable Spotify collaborations + + + + + Disable Spotify collaborations + + + + + Stop syncing with Spotify + + + + + Tomahawk::Accounts::SpotifyAccountConfig + + + Logging in... + Belépés... + + + + Failed: %1 + + + + + Logged in as %1 + Bejelentkezve mint %1 + + + + Log Out + Kijelentkezés + + + + + Log In + Belépés + + + + Tomahawk::Accounts::SpotifyAccountFactory + + + Play music from and sync your playlists with Spotify Premium + + + + + Tomahawk::Accounts::TwitterAccountFactory + + + Connect to your Twitter followers. + + + + + Tomahawk::Accounts::TwitterConfigWidget + + + + + Tweet! + Tweet! + + + + + Status: No saved credentials + Állapot: Nincs elmentett belépési adat + + + + + + Authenticate + Azonosítás + + + + + Status: Credentials saved for %1 + + + + + + De-authenticate + + + + + + + + + + + Tweetin' Error + + + + + The credentials could not be verified. +You may wish to try re-authenticating. + + + + + Status: Error validating credentials + + + + + Global Tweet + + + + + Direct Message + Direkt üzenet + + + + Send Message! + + + + + @Mention + + + + + Send Mention! + + + + + You must enter a user name for this type of tweet. + + + + + Your saved credentials could not be loaded. +You may wish to try re-authenticating. + + + + + Your saved credentials could not be verified. +You may wish to try re-authenticating. + + + + + + There was an error posting your status -- sorry! + + + + + + Tweeted! + + + + + Your tweet has been posted! + + + + + There was an error posting your direct message -- sorry! + + + + + Your message has been posted! + + + + + Tomahawk::Accounts::XmppAccountFactory + + + Log on to your Jabber/XMPP account to connect to your friends + + + + + Tomahawk::Accounts::ZeroconfFactory + + + Automatically connect to Tomahawks on the local network + + + + + Tomahawk::ContextMenu + + + &Play + + + + + + + Add to &Queue + + + + + Continue Playback after this &Track + + + + + Stop Playback after this &Track + + + + + + &Love + + + + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + + &Copy Track Link + + + + + Copy Album &Link + + + + + Copy Artist &Link + + + + + Un-&Love + + + + + &Delete Items + + + + + Properties... + Tulajdonságok... + + + + &Delete Item + + + + + Tomahawk::DropJobNotifier + + + playlist + lejátszólista + + + + artist + előadó + + + + track + zeneszám + + + + album + album + + + + Fetching %1 from database + + + + + Parsing %1 %2 + + + + + Tomahawk::DynamicControlList + + + Click to collapse + + + + + Tomahawk::DynamicModel + + + + Could not find a playable track. + +Please change the filters or try again. + + + + + Failed to generate preview with the desired filters + + + + + Tomahawk::DynamicSetupWidget + + + Type: + + + + + Generate + + + + + Tomahawk::DynamicView + + + Add some filters above to seed this station! + + + + + Press Generate to get started! + + + + + Add some filters above, and press Generate to get started! + + + + + Tomahawk::DynamicWidget + + + Station ran out of tracks! + +Try tweaking the filters for a new set of songs to play. + + + + + Tomahawk::EchonestControl + + + + + + + + is + + + + + from user + + + + + + No users with Echo Nest Catalogs enabled. Try enabling option in Collection settings + + + + + similar to + + + + + + + + + + + Less + + + + + + + + + + + More + + + + + 0 BPM + 0 BPM + + + + 500 BPM + 500 BPM + + + + 0 secs + 0 másodperc + + + + 3600 secs + 3600 másodperc + + + + -100 dB + -100 dB + + + + 100 dB + 100 dB + + + + Major + + + + + Minor + + + + + C + C + + + + C Sharp + C Sharp + + + + D + D + + + + E Flat + E Flat + + + + E + E + + + + F + F + + + + F Sharp + F Sharp + + + + G + G + + + + A Flat + A Flat + + + + A + A + + + + B Flat + B Flat + + + + B + B + + + + Ascending + Növekvő + + + + Descending + Csökkenő + + + + Tempo + Ütem + + + + Duration + Időtartam + + + + Loudness + Hangosság + + + + Artist Familiarity + + + + + Artist Hotttnesss + + + + + Song Hotttnesss + + + + + Latitude + Szélesség + + + + Longitude + Hosszúság + + + + Mode + Mód + + + + Key + Kulcs + + + + Energy + Energia + + + + Danceability + + + + + only by ~%1 + + + + + similar to ~%1 + + + + + with genre ~%1 + + + + + + from no one + + + + + My Collection + Saját kollekció + + + + from %1 radio + + + + + with %1 %2 + + + + + about %1 BPM + + + + + about %n minute(s) long + + + + + about %1 dB + + + + + at around %1%2 %3 + + + + + in %1 + + + + + in a %1 key + + + + + sorted in %1 %2 order + + + + + with a %1 mood + + + + + in a %1 style + + + + + Tomahawk::GroovesharkParser + + + Error fetching Grooveshark information from the network! + + + + + Tomahawk::InfoSystem::ChartsPlugin + + + Top Overall + + + + + Artists + + + + + Albums + + + + + Tracks + + + + + Tomahawk::InfoSystem::FdoNotifyPlugin + + + Tomahawk is playing "%1" by %2%3. + + + + + on "%1" + + + + + Tomahawk::InfoSystem::LastFmInfoPlugin + + + Top Tracks + Top zeneszámok + + + + Loved Tracks + Kedvelt zeneszámok + + + + Hyped Tracks + + + + + Top Artists + Top előadók + + + + Hyped Artists + + + + + Tomahawk::InfoSystem::NewReleasesPlugin + + + Albums + Albumok + + + + Tomahawk::InfoSystem::TwitterInfoPlugin + + + Listening to "%1" by %2 and loving it! %3 + + + + + Tomahawk::ItunesParser + + + Error fetching iTunes information from the network! + + + + + Tomahawk::JSPFLoader + + + New Playlist + + + + + Failed to save tracks + + + + + Some tracks in the playlist do not contain an artist and a title. They will be ignored. + + + + + XSPF Error + + + + + This is not a valid XSPF playlist. + + + + + Tomahawk::LatchManager + + + &Catch Up + + + + + + &Listen Along + + + + + Tomahawk::Playlist + + + Would you like to delete the playlist <b>"%2"</b>? + e.g. Would you like to delete the playlist named Foobar? + + + + + Delete + Törlés + + + + Tomahawk::Query + + + and + + + + + You + + + + + you + + + + + and + + + + + %n other(s) + + + + + %1 people + + + + + loved this track + + + + + Tomahawk::RdioParser + + + Error fetching Rdio information from the network! + + + + + Tomahawk::ShortenedLinkParser + + + Network error parsing shortened link! + + + + + Tomahawk::Source + + + + Scanning (%L1 tracks) + + + + + Scanning + Szkennelés + + + + Checking + Ellenőrzés + + + + Syncing + Szinkronizálás + + + + Importing + Importálás + + + + Saving (%1%) + Mentés (%1%) + + + + Online + Elérhető + + + + Offline + Nem elérhető + + + + Tomahawk::SpotifyParser + + + Error fetching Spotify information from the network! + + + + + Tomahawk::XspfUpdater + + + Automatically update from XSPF + + + + + TomahawkApp + + + My Collection + Saját kollekció + + + + TomahawkOAuthTwitter + + + Twitter PIN + Twitter PIN + + + + After authenticating on Twitter's web site, +enter the displayed PIN number here: + + + + + TomahawkTrayIcon + + + &Stop Playback after current Track + + + + + + Hide Tomahawk Window + Tomahawk ablak elrejtése + + + + Show Tomahawk Window + Tomahawk ablak megjelenítése + + + + Currently not playing. + + + + + Play + Lejátszás + + + + Pause + Megállítás + + + + &Love + + + + + Un-&Love + + + + + &Continue Playback after current Track + + + + + TomahawkWindow + + + Tomahawk + Tomahawk + + + + &Quit + Kiléps + + + + Ctrl+Q + Ctrl+Q + + + + Go &Online + + + + + Add &Friend... + Barát hozzáadása + + + + U&pdate Collection + Kollekció frissítése + + + + Update Collection + Kollekció frissítése + + + + &Configure Tomahawk... + Tomahawk beállítása + + + + Load &XSPF... + &XSPF betöltése... + + + + Create &New Playlist... + Új lejátszólista létrehozása + + + + About &Tomahawk... + &Tomahawkról + + + + Create New &Automatic Playlist + + + + + Create New &Station + + + + + Show Offline Sources + Nem elérhető források mutatása + + + + Hide Offline Sources + Nem elérhető források elrejtése + + + + Minimize + Minimalizálás + + + + Ctrl+M + Ctrl+M + + + + Zoom + Zoom + + + + Meta+Ctrl+Z + Meta+Ctrl+Z + + + + &Legal Info... + + + + + Diagnostics... + Diagnosztizálás... + + + + Fully &Rescan Collection + + + + + Fully Rescan Collection + + + + + Play + Lejátszás + + + + Space + Szóköz + + + + Previous + Előző + + + + Next + Következő + + + + Back + + + + + Go back one page + + + + + Forward + + + + + Go forward one page + + + + + Global Search... + Globális keresés... + + + + + Hide Menu Bar + + + + + + Show Menu Bar + + + + + &Main Menu + + + + + + + Connect To Peer + + + + + Enter peer address: + + + + + Enter peer port: + + + + + Enter peer key: + + + + + XSPF Error + XSPF hiba + + + + This is not a valid XSPF playlist. + Nem érvényes XSPF lejátszólista. + + + + Failed to save tracks + + + + + Some tracks in the playlist do not contain an artist and a title. They will be ignored. + + + + + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. + + + + + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. + + + + + Station + Rádióállomás + + + + Create New Station + + + + + Name: + + + + + Playlist + Lejátszólista + + + + Automatic Playlist + Automatikus lejátszólista + + + + Pause + + + + + &Play + + + + + Authentication Error + + + + + Error connecting to SIP: Authentication failed! + + + + + %1 by %2 + track, artist name + + + + + %1 - %2 + current track, some window title + + + + + <h2><b>Tomahawk %1<br/>(%2)</h2> + <h2><b>Tomahawk %1<br/>(%2)</h2> + + + + <h2><b>Tomahawk %1</h2> + <h2><b>Tomahawk %1</h2> + + + + Copyright 2010 - 2012 + + + + + Thanks to: + + + + + About Tomahawk + Tomahawkról + + + + TopTracksContext + + + Top Hits + + + + + TrackInfoWidget + + + Form + + + + + Cover + Borító + + + + Track + Zeneszám + + + + Artist + Előadó + + + + Album + Album + + + + Statistics + Statisztika + + + + Similar Tracks + Hasonló zeneszámok + + + + Sorry, but we could not find similar tracks for this song! + + + + + You've listened to this track %n time(s). + + + + + You've never listened to this track before. + + + + + You first listened to it on %1. + + + + + You've listened to %1 %n time(s). + + + + + You've never listened to %1 before. + + + + + TrackView + + + Sorry, your filter '%1' did not match any results. + + + + + TransferStatusItem + + + from + streaming artist - track from friend + + + + + to + streaming artist - track to friend + + + + + TreeItemDelegate + + + Unknown + + + + + TreeModel + + + All Artists + + + + + + My Collection + + + + + + Collection of %1 + + + + + TreeView + + + Sorry, your filter '%1' did not match any results. + + + + + TwitterConfigWidget + + + Configure this Twitter account + + + + + The Twitter plugin allows you to discover and play music from your Twitter friends running Tomahawk and post messages to your account. + + + + + Status: No saved credentials + + + + + Authenticate with Twitter + + + + + Twitter Connections + + + + + +If you only want to post tweets, you're done. + +If you want to connect Tomahawk to your friends using Twitter, select the type of tweet and press the button below to send a sync message. You must both be following each other as Direct Messages are used. Then be (very) patient -- it can take several minutes! + +You can re-send a sync message at any time simply by sending another tweet using the button. + + + + + Select the kind of tweet you would like, then press the button to post it: + + + + + Global Tweet + + + + + @Mention + + + + + Direct Message + + + + + e.g. @tomahawk + + + + + Send Message + + + + + TwitterSipPlugin + + + Enter Twitter username + + + + + ViewManager + + + This playlist is empty! + Ez a lejátszólista üres! + + + + After you have scanned your music collection you will find your tracks right here. + + + + + This collection is empty. + Ez a kollekció üres. + + + + SuperCollection + + + + + Combined libraries of all your online friends + + + + + Recently Played Tracks + Mostanában játszott zeneszámok + + + + Recently played tracks from all your friends + + + + + Sorry, we could not find any recent plays! + + + + + WelcomeWidget + + + Recent Additions + + + + + Newest Stations & Playlists + + + + + Recently Played Tracks + + + + + Recently played tracks + Mostanában játszott zeneszámok + + + + No recently created playlists in your network. + + + + + Welcome to Tomahawk + + + + + WhatsHotWidget + + + Charts + + + + + WikipediaContext + + + Wikipedia + + + + + XMPPBot + + + +Terms for %1: + + + + + + No terms found, sorry. + + + + + +Hotttness for %1: %2 + + + + + + +Familiarity for %1: %2 + + + + + + +Lyrics for "%1" by %2: + +%3 + + + + + + XSPFLoader + + + Failed to parse contents of XSPF playlist + + + + + Some playlist entries were found without artist and track name, they will be omitted + + + + + Failed to fetch the desired playlist from the network, or the desired file does not exist + + + + + New Playlist + Új lejátszólista + + + + XmlConsole + + + Xml stream console + Xml stream konzol + + + + + Filter + Szűrő + + + + Save log + Log mentése + + + + Disabled + + + + + By JID + + + + + By namespace uri + + + + + By all attributes + + + + + Visible stanzas + + + + + Information query + + + + + Message + Üzenet + + + + Presence + + + + + Custom + + + + + Close + Bezárás + + + + Save XMPP log to file + + + + + OpenDocument Format (*.odf);;HTML file (*.html);;Plain text (*.txt) + + + + + XmppConfigWidget + + + Xmpp Configuration + Xmpp beállítás + + + + Configure this Xmpp account + + + + + Enter your Xmpp login to connect with your friends using Tomahawk! + + + + + Login Information + Belépési információ + + + + Xmpp ID: + Xmpp ID: + + + + e.g. user@example.com + pl. user@example.com + + + + Password: + Jelszó: + + + + An account with this name already exists! + + + + + Advanced Xmpp Settings + Haladó Xmpp beállítások + + + + Server: + Szerver: + + + + Port: + Port: + + + + Lots of servers don't support this (e.g. GTalk, jabber.org) + + + + + Publish currently playing track + + + + + Enforce secure connection + + + + + XmppSipPlugin + + + User Interaction + Felhasználói interakció + + + + Host is unknown + Ismeretlen hoszt + + + + Item not found + + + + + Authorization Error + Azonosítási hiba + + + + Remote Stream Error + Távoli stream hiba + + + + Remote Connection failed + Távoli kapcsolódási hiba + + + + Internal Server Error + Belső szerver hiba + + + + System shutdown + Rendszer leállítás + + + + Conflict + + + + + Unknown + Ismeretlen + + + + Do you want to add <b>%1</b> to your friend list? + + + + + No Compression Support + + + + + Enter Jabber ID + + + + + No Encryption Support + + + + + No Authorization Support + + + + + No Supported Feature + + + + + Add Friend + + + + + Enter Xmpp ID: + + + + + Add Friend... + + + + + XML Console... + + + + + I'm sorry -- I'm just an automatic presence used by Tomahawk Player (http://gettomahawk.com). If you are getting this message, the person you are trying to reach is probably not signed on, so please try again later! + + + + + Authorize User + + + + + ZeroconfConfig + + + Form + + + + + Local Network configuration + + + + + This plugin will automatically find other users running Tomahawk on your local network + + + + + Connect automatically when Tomahawk starts + + + + \ No newline at end of file diff --git a/lang/tomahawk_it.ts b/lang/tomahawk_it.ts index e42e8350f..3dd5f2810 100644 --- a/lang/tomahawk_it.ts +++ b/lang/tomahawk_it.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Online - + Connecting... In connessione... - + Offline Offline @@ -100,154 +100,154 @@ connect and stream from you? ActionCollection - + &Listen Along &Ascolta assieme - + Stop &Listening Along &Stop&Ascolta assieme - + &Follow in real-time &Segui in diretta - - + + &Listen Privately &Ascolta in privato - - + + &Listen Publicly &Ascolta pubblicamente - + &Load Playlist &Carica playlist - + &Rename Playlist &Rinomina playlist - + &Copy Playlist Link &Copia link playlist - + &Play &Play - + &Stop &Stop - + &Previous Track &Indietro - + &Next Track &Avanti - + &Quit &Chiudi - + Load &XSPF... - + U&pdate Collection - + Fully &Rescan Collection - + Show Offline Sources - + &Configure Tomahawk... - + Minimize - + Zoom - + Hide Menu Bar - + Diagnostics... - + About &Tomahawk... - + &Legal Information... - + Check For Updates... - + &Controls - + &Settings - + &Help - + &Window - + Main Menu @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Riproduzione casuale - + Repeat Ripeti @@ -442,27 +442,27 @@ connect and stream from you? Alto - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -651,97 +651,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -778,7 +778,7 @@ connect and stream from you? IndexingJobItem - + Indexing database Aggiornando collezione @@ -845,7 +845,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! @@ -907,32 +907,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks - + Sorry, we could not find any loved tracks! - + The most loved tracks from all your friends - + All of your loved tracks - + All of %1's loved tracks - + Loved Tracks @@ -1261,12 +1261,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. Questa playlist è vuota. - + This playlist is currently empty. Add some tracks to it and enjoy the music! Questa playlist è vuota. Aggiungi qualche canzone! @@ -1490,12 +1490,12 @@ connect and stream from you? SettingsDialog - + Collection Collezione - + Advanced Avanzate @@ -1505,12 +1505,12 @@ connect and stream from you? Tutte - + Some changed settings will not take effect until Tomahawk is restarted Alcune modifiche non avranno effetto fino al riavvio di Tomahawk - + Services Servizi @@ -1520,37 +1520,37 @@ connect and stream from you? - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Manage how Tomahawk finds music on your computer. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - + Install resolver from file Installa i resolver da file - + Delete all Access Control entries? Cancellare tutte le voci di controllo di accesso? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. - + Information Informazione @@ -1746,22 +1746,22 @@ connect and stream from you? TextLabel - + Tweet Tweetta - + Listening to "%1" by %2. %3 Ascoltando "%1" by %2. %3 - + Listening to "%1" by %2 on "%3". %4 Ascoltando "%1" di %2. %3".%4 - + %1 characters left %1 caratteri rimanenti @@ -1794,19 +1794,19 @@ connect and stream from you? Top 10 - + All available tracks Tutte le tracce disponibili - - + + Show Mostra - - + + Hide Nascondi @@ -1847,58 +1847,58 @@ connect and stream from you? SourceItem - + Collection Collezione - - + + Latest Additions Ultime aggiunte - + Recently Played Ascoltate di recente - + SuperCollection Supercollezione - + Latest additions to your collection Ultime aggiunte alla tua collezione - + Latest additions to %1's collection Ultime aggiunte alla collezione di %1 - + Sorry, we could not find any recent additions! Spiacente, non abbiamo trovato nessuna aggiunta recente! - + Recently Played Tracks Tracce ascoltate di recente - + Your recently played tracks Tracce da te ascoltate di recente - + %1's recently played tracks Tracce ascoltate di recente da %1 - + Sorry, we could not find any recent plays! Spiacente, non è stato possibile trovare ascolti recenti! @@ -2114,17 +2114,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link Copia link artista - + Copy Album Link Copia link album - + Copy Track Link Copia link traccia @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Aggiungi account - + Remove Rimuovi - + %1 downloads %1 download - + Online In linea - + Connecting... In collegamento... - + Offline Sconnesso @@ -2530,79 +2530,79 @@ You may wish to try re-authenticating. Tomahawk::ContextMenu - + &Play &Play - - - + + + Add to &Queue Aggiungi alla &coda - + Continue Playback after this &Track - + Stop Playback after this &Track - - + + &Love &Love - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link &Copia link della traccia - + Copy Album &Link - + Copy Artist &Link - + Un-&Love Un-&love - + &Delete Items &Cancella tracce - + Properties... - + &Delete Item &Cancella traccia @@ -2698,7 +2698,7 @@ Please change the filters or try again. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3482,178 +3482,178 @@ enter the displayed PIN number here: Prossima - + Back Indietro - + Go back one page Vai indietro di una pagina - + Forward Avanti - + Go forward one page Vai avanti di una pagina - + Global Search... Ricerca globale... - - + + Hide Menu Bar - - + + Show Menu Bar - + &Main Menu - - - + + + Connect To Peer Connettiti al peer - + Enter peer address: Inserisci indirizzo peer: - + Enter peer port: Inserisci porta peer: - + Enter peer key: Inserisce chiave peer: - + XSPF Error Errore XSPF - + This is not a valid XSPF playlist. Questa non è una valida playlist XSPF. - + Failed to save tracks Errore nel salvare le tracce - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Alcune tracce nella playlist non contengono l'artista e il titolo. Verrano ignorate. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Spiacente, c'è un problema nell'accedere al tuo dispositivo audio o alla traccia desiderata, questa traccia verrà saltata. Assicurati di avere le giuste librerie Phonon e i plugin necessari installati. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Spiacente, c'è un problema nell'accedere al tuo dispositivo audio o alla traccia desiderata, questa traccia verrà saltata. - + Station Stazione - + Create New Station Crea una nuova stazione - + Name: Nome: - + Playlist Playlist - + Automatic Playlist Playlist automatica - + Pause Pausa - + &Play - + Authentication Error Errore nell'autenticazione - + Error connecting to SIP: Authentication failed! Errore di connessione al SIP: autenticazione fallita! - + %1 by %2 track, artist name %1 di %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Grazie a: - + About Tomahawk Info su Tomahawk @@ -3745,13 +3745,13 @@ enter the displayed PIN number here: TransferStatusItem - + from streaming artist - track from friend - + to streaming artist - track to friend @@ -3940,7 +3940,7 @@ You can re-send a sync message at any time simply by sending another tweet using Nessuna playlist creata di recente nel tuo network. - + Welcome to Tomahawk Benvenuto in Tomahawk diff --git a/lang/tomahawk_ja.ts b/lang/tomahawk_ja.ts index c03fc2363..2a65257e7 100644 --- a/lang/tomahawk_ja.ts +++ b/lang/tomahawk_ja.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online オンライン - + Connecting... 接続中... - + Offline オフライン @@ -100,154 +100,154 @@ connect and stream from you? ActionCollection - + &Listen Along 共有聴取 - + Stop &Listening Along 共有聴取を中止 - + &Follow in real-time 実時間にフォロー - - + + &Listen Privately 非公開で聴く - - + + &Listen Publicly 公開で聴く - + &Load Playlist プレイリストを読み込み - + &Rename Playlist プレイリスト名を変更 - + &Copy Playlist Link プレイリストリンクをコピー - + &Play 再生 - + &Stop 停止 - + &Previous Track 前のトラック - + &Next Track 次のトラック - + &Quit 終了 - + Load &XSPF... XSPFを読み込み... - + U&pdate Collection コレクションを更新 - + Fully &Rescan Collection すべてのコレクションを再スキャンする - + Show Offline Sources オフラインのソースを表示 - + &Configure Tomahawk... Tomahawkを設定... - + Minimize 最小化 - + Zoom ズーム - + Hide Menu Bar メニューバーを隠す - + Diagnostics... 診断... - + About &Tomahawk... Tomahawk について... - + &Legal Information... 法定情報... - + Check For Updates... 更新を確認... - + &Controls 制御 - + &Settings 設定 - + &Help ヘルプ - + &Window ウインドウ - + Main Menu メインメニュー @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle シャッフル - + Repeat リピート @@ -442,27 +442,27 @@ connect and stream from you? - + Time Elapsed 再生時間 - + Time Remaining 残り時間 - + Playing from %1 %1から再生中 - + Share シェアー - + Love Love @@ -652,97 +652,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -779,7 +779,7 @@ connect and stream from you? IndexingJobItem - + Indexing database データベースのインデックスを作成中 @@ -846,7 +846,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! %1さんが一緒に聴いています。 @@ -908,32 +908,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks 最もLove トラック - + Sorry, we could not find any loved tracks! Love トラックが見つかりませんでした。 - + The most loved tracks from all your friends 友達の最もLove トラック - + All of your loved tracks 自分のLove トラック - + All of %1's loved tracks %1さんのLove トラック - + Loved Tracks Love トラック @@ -1262,12 +1262,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. このプレイリストには何も入っていません。 - + This playlist is currently empty. Add some tracks to it and enjoy the music! プレイリストには何も入っていません。トラックを追加して、音楽を楽しみましょう! @@ -1492,12 +1492,12 @@ connect and stream from you? SettingsDialog - + Collection コレクション - + Advanced 詳細 @@ -1507,12 +1507,12 @@ connect and stream from you? すべて - + Some changed settings will not take effect until Tomahawk is restarted Tomahawkを再起動すると設定変更が反映されます - + Services サービス @@ -1522,37 +1522,37 @@ connect and stream from you? ファイルからインストールする - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. 友達を探すこと、又はステータスの更新や音楽の検索と取得の為に利用するアカウントとサービスを設定。 - + Manage how Tomahawk finds music on your computer. 音楽ファイルの検索方法を設定 - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. ネットワーク接続設定、又はブラウザー設定等の詳細設定を調整する。 - + Install resolver from file ファイルからリゾルバをインストールする - + Delete all Access Control entries? 全てのアクセス制御のエントリーを削除しますか? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. 本当に全てのアクセス制御のエントリーを削除しますか?ピア接続に対して、改めて同意を求めます。 - + Information 情報 @@ -1751,22 +1751,22 @@ connect and stream from you? TextLabel - + Tweet ツイート - + Listening to "%1" by %2. %3 %2の"%1"を聴いています。%3 - + Listening to "%1" by %2 on "%3". %4 %2の"%3"の"%1"を聴いています。%4 - + %1 characters left 残り%1文字 @@ -1799,19 +1799,19 @@ connect and stream from you? トップ10 - + All available tracks 利用可能トラック - - + + Show 表示 - - + + Hide 隠す @@ -1852,58 +1852,58 @@ connect and stream from you? SourceItem - + Collection コレクション - - + + Latest Additions 最新追加した項目 - + Recently Played 最近聴いたトラック - + SuperCollection スーパーコレクション - + Latest additions to your collection コレクションの最新追加した項目 - + Latest additions to %1's collection %1のコレクションの最新追加した項目 - + Sorry, we could not find any recent additions! 最近追加した項目が見つかりませんでした。 - + Recently Played Tracks 最近再生したトラック - + Your recently played tracks あなたの最近再生したトラック - + %1's recently played tracks %1の最近再生したトラック - + Sorry, we could not find any recent plays! 最近の再生した項目が見つかりませんでした。 @@ -2119,17 +2119,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link アーティストリンクをコピー - + Copy Album Link アルバムリンクをコピー - + Copy Track Link トラックリンクをコピー @@ -2137,32 +2137,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account アカウントを追加 - + Remove 削除 - + %1 downloads %1ダウンロード - + Online オンライン - + Connecting... 接続中... - + Offline ・オフライン @@ -2538,79 +2538,79 @@ You may wish to try re-authenticating. Tomahawk::ContextMenu - + &Play 再生 - - - + + + Add to &Queue キューに追加 - + Continue Playback after this &Track このトラックの再生後、再生を続く - + Stop Playback after this &Track このトラックの再生後、再生を停止する - - + + &Love &Love - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link トラックリンクをコピー - + Copy Album &Link アルバムリンクをコピー - + Copy Artist &Link アーティストリンクをコピー - + Un-&Love Loveじゃないトラック - + &Delete Items 項目を削除 - + Properties... 情報... - + &Delete Item 項目を削除 @@ -2708,7 +2708,7 @@ Please change the filters or try again. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3496,178 +3496,178 @@ Meta+Ctrl+Z 次へ - + Back プレイリスト - + Go back one page 前のページ - + Forward 次へ - + Go forward one page 次のページ - + Global Search... グローバルサーチ... - - + + Hide Menu Bar メニューバーを隠す - - + + Show Menu Bar メニューバーを表示 - + &Main Menu メインメニュー - - - + + + Connect To Peer ピアに接続する - + Enter peer address: ピアのアドレスを入力: - + Enter peer port: ピアのポートを入力: - + Enter peer key: ピアのキーを入力: - + XSPF Error XSPFエラー - + This is not a valid XSPF playlist. このプレイリストは有利なXSPFプレイリストではありません。 - + Failed to save tracks トラックの保存に失敗しました。 - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. プレイリストにアーティストもタイトルの無いトラックが見つかりました。この項目は無視されます。 - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. オーディオデバイス、又は要求トラックをアクセスすることができませんでしたので、このトラックは無視されます。適しているPhononのバックエンドを確認の上、必須プラグインのインストールを確認して下さい。 - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. オーディオデバイス、又は要求トラックをアクセスすることができませんでしたので、このトラックは無視されます。 - + Station ステーション - + Create New Station 新規ステーションを作成 - + Name: 名前: - + Playlist プレイリスト - + Automatic Playlist 自動プレイリスト - + Pause 一時停止 - + &Play 再生 - + Authentication Error 認証エラー - + Error connecting to SIP: Authentication failed! SIPへの接続エラー: 認証が失敗しました! - + %1 by %2 track, artist name %1 by %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Thanks to: - + About Tomahawk Tomahawkについて @@ -3759,13 +3759,13 @@ Meta+Ctrl+Z TransferStatusItem - + from streaming artist - track from friend から - + to streaming artist - track to friend @@ -3959,7 +3959,7 @@ Twitterを使っている友達にTomahawkを接続したいなら、ツイー ネットワークに最近作成したプレイリストはありません。 - + Welcome to Tomahawk Tomahawkへようこそ diff --git a/lang/tomahawk_lt.ts b/lang/tomahawk_lt.ts index 30971300e..352dd9ee3 100644 --- a/lang/tomahawk_lt.ts +++ b/lang/tomahawk_lt.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Prisijungęs - + Connecting... Jungiamasi... - + Offline Atsijungęs @@ -100,154 +100,154 @@ connect and stream from you? ActionCollection - + &Listen Along K&lausytis kartu - + Stop &Listening Along Stabdyti k&lausymąsi kartu - + &Follow in real-time Se&kti realiu laiku - - + + &Listen Privately K&lausytis privačiai - - + + &Listen Publicly K&lausytis viešai - + &Load Playlist Įke&lti grojaraštį - + &Rename Playlist Per&vadinti grojaraštį - + &Copy Playlist Link &Kopijuoti grojaraščio nuorodą - + &Play &Groti - + &Stop &Sustabdyti - + &Previous Track Ankstesnis takelis - + &Next Track Kitas takelis - + &Quit &Baigti darbą - + Load &XSPF... - + U&pdate Collection - + Fully &Rescan Collection - + Show Offline Sources - + &Configure Tomahawk... - + Minimize - + Zoom - + Hide Menu Bar - + Diagnostics... - + About &Tomahawk... - + &Legal Information... - + Check For Updates... - + &Controls - + &Settings - + &Help - + &Window - + Main Menu @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Maišyti - + Repeat Kartoti @@ -442,27 +442,27 @@ connect and stream from you? - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -651,97 +651,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -778,7 +778,7 @@ connect and stream from you? IndexingJobItem - + Indexing database @@ -845,7 +845,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! %1 klausosi kartu su Jumis! @@ -907,32 +907,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks Populiariausios mylimos dainos - + Sorry, we could not find any loved tracks! Deja, neradome jokių mylimų dainų! - + The most loved tracks from all your friends Visų Jūsų draugų labiausiai mylimos dainos - + All of your loved tracks Visos Jūsų mylimos dainos - + All of %1's loved tracks Visos %1 mylimos dainos - + Loved Tracks Mylimos dainos @@ -1261,12 +1261,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. Šis grojaraštis kol kas tuščias. - + This playlist is currently empty. Add some tracks to it and enjoy the music! Šis grojaraštis kol kas tuščias. Pridėkite takelių ir mėgaukitės muzika! @@ -1490,12 +1490,12 @@ connect and stream from you? SettingsDialog - + Collection Kolekcija - + Advanced Išplėstinės @@ -1505,12 +1505,12 @@ connect and stream from you? Visi - + Some changed settings will not take effect until Tomahawk is restarted - + Services Paslaugos @@ -1520,37 +1520,37 @@ connect and stream from you? - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Manage how Tomahawk finds music on your computer. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - + Install resolver from file - + Delete all Access Control entries? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. - + Information Informacija @@ -1746,22 +1746,22 @@ connect and stream from you? Teksto etiketė - + Tweet - + Listening to "%1" by %2. %3 Klausosi "%1", atliekamą %2. %3 - + Listening to "%1" by %2 on "%3". %4 Klausosi "%1", atliekamą %2 iš albumo "%3". %4 - + %1 characters left Liko simbolių: %1 @@ -1794,19 +1794,19 @@ connect and stream from you? Top 10 - + All available tracks Visi prieinami takeliai - - + + Show Rodyti - - + + Hide Slėpti @@ -1847,58 +1847,58 @@ connect and stream from you? SourceItem - + Collection Kolekcija - - + + Latest Additions Neseniai pridėta - + Recently Played Neseniai grota - + SuperCollection Super Kolekcija - + Latest additions to your collection Neseniai pridėta prie Jūsų kolekcijos - + Latest additions to %1's collection Neseniai pridėta prie %1 kolekcijos - + Sorry, we could not find any recent additions! Atsiprašome, neradome nieko, kas pridėta neseniai! - + Recently Played Tracks Neseniai groti takeliai - + Your recently played tracks Jūsų neseniai groti takeliai - + %1's recently played tracks %1 neseniai groti takeliai - + Sorry, we could not find any recent plays! Atsiprašome, neradome jokių neseniai grotų takelių! @@ -2114,17 +2114,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link Kopijuoti atlikėjo nuorodą - + Copy Album Link Kopijuoti albumo nuorodą - + Copy Track Link Kopijuoti takelio nuorodą @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Pridėti paskyrą - + Remove Pašalinti - + %1 downloads %1 atsisiuntimų - + Online Prisijungęs - + Connecting... Jungiamasi... - + Offline Atsijungęs @@ -2530,79 +2530,79 @@ You may wish to try re-authenticating. Tomahawk::ContextMenu - + &Play &Groti - - - + + + Add to &Queue Pridėti į &eilę - + Continue Playback after this &Track Tęsti grojimą po šio &takelio - + Stop Playback after this &Track Sustabdyti grojimą po šio &takelio - - + + &Love My&liu - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link &Kopijuoti takelio nuorodą - + Copy Album &Link Kopijuoti albumo &nuorodą - + Copy Artist &Link Kopijuoti atlikėjo &nuorodą - + Un-&Love Nemy&liu - + &Delete Items Iš&trinti elementus - + Properties... Savybės... - + &Delete Item Iš&trinti elementą @@ -2698,7 +2698,7 @@ Please change the filters or try again. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3482,178 +3482,178 @@ enter the displayed PIN number here: Kitas - + Back Atgal - + Go back one page Grįžti vienu puslapiu atgal - + Forward Pirmyn - + Go forward one page Eiti vienu puslapiu pirmyn - + Global Search... Globali paieška... - - + + Hide Menu Bar - - + + Show Menu Bar - + &Main Menu - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error XSPF klaida - + This is not a valid XSPF playlist. - + Failed to save tracks Nepavyko išsaugoti takelių - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station Stotis - + Create New Station Sukurti naują stotį - + Name: Pavadinimas: - + Playlist Grojaraštis - + Automatic Playlist Automatinis grojaraštis - + Pause Pristabdyti - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Autorinės teisės 2010 - 2012 - + Thanks to: Dėkojame: - + About Tomahawk Apie Tomahawk @@ -3745,13 +3745,13 @@ enter the displayed PIN number here: TransferStatusItem - + from streaming artist - track from friend - + to streaming artist - track to friend @@ -3940,7 +3940,7 @@ You can re-send a sync message at any time simply by sending another tweet using Jūsų tinkle nėra neseniai sukurtų grojaraščių. - + Welcome to Tomahawk diff --git a/lang/tomahawk_pl.ts b/lang/tomahawk_pl.ts index 16a17069e..61ffc2c0f 100644 --- a/lang/tomahawk_pl.ts +++ b/lang/tomahawk_pl.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Online - + Connecting... Łączenie... - + Offline Offline @@ -100,154 +100,154 @@ connect and stream from you? ActionCollection - + &Listen Along &Słuchaj razem - + Stop &Listening Along Przestań &Słuchać razem - + &Follow in real-time &Podążaj na bieżąco - - + + &Listen Privately &Słuchaj Prywatnie - - + + &Listen Publicly &Słuchaj Publicznie - + &Load Playlist &Załaduj listę - + &Rename Playlist &Zmień nazwę listy - + &Copy Playlist Link &Skopiuj link listy - + &Play &Odtwarzaj - + &Stop &Zatrzymaj - + &Previous Track &Poprzednia piosenka - + &Next Track &Następna piosenka - + &Quit &Wyjdź - + Load &XSPF... - + U&pdate Collection - + Fully &Rescan Collection - + Show Offline Sources - + &Configure Tomahawk... - + Minimize - + Zoom - + Hide Menu Bar - + Diagnostics... - + About &Tomahawk... - + &Legal Information... - + Check For Updates... - + &Controls - + &Settings - + &Help - + &Window - + Main Menu @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Losowo - + Repeat Powtarzaj @@ -442,27 +442,27 @@ connect and stream from you? Wysoko - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -651,97 +651,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -778,7 +778,7 @@ connect and stream from you? IndexingJobItem - + Indexing database Indeksowanie bazy danych @@ -845,7 +845,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! @@ -907,32 +907,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks - + Sorry, we could not find any loved tracks! - + The most loved tracks from all your friends - + All of your loved tracks - + All of %1's loved tracks - + Loved Tracks @@ -1261,12 +1261,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! Ta lista jest aktualnie pusta. Dodaj do niej trochę piosenek i ciesz się muzyką! @@ -1490,12 +1490,12 @@ connect and stream from you? SettingsDialog - + Collection Kolekcje - + Advanced Zaawansowane @@ -1505,12 +1505,12 @@ connect and stream from you? Wszystkie - + Some changed settings will not take effect until Tomahawk is restarted - + Services Usługi @@ -1520,37 +1520,37 @@ connect and stream from you? - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Manage how Tomahawk finds music on your computer. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - + Install resolver from file - + Delete all Access Control entries? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. - + Information Informacja @@ -1746,22 +1746,22 @@ connect and stream from you? - + Tweet - + Listening to "%1" by %2. %3 - + Listening to "%1" by %2 on "%3". %4 - + %1 characters left pozostało znaków: %1 @@ -1794,19 +1794,19 @@ connect and stream from you? Top 10 - + All available tracks Wszystkie dostępne utwory - - + + Show Pokaż - - + + Hide Ukryj @@ -1847,58 +1847,58 @@ connect and stream from you? SourceItem - + Collection Kolekcja - - + + Latest Additions Ostatnio Dodane - + Recently Played Ostatnio Odtworzone - + SuperCollection Superkolekcja - + Latest additions to your collection - + Latest additions to %1's collection - + Sorry, we could not find any recent additions! - + Recently Played Tracks - + Your recently played tracks - + %1's recently played tracks - + Sorry, we could not find any recent plays! @@ -2114,17 +2114,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link - + Copy Album Link - + Copy Track Link @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Dodaj Konto - + Remove - + %1 downloads pobrań: %1 - + Online Online - + Connecting... Łączenie... - + Offline Offline @@ -2530,79 +2530,79 @@ You may wish to try re-authenticating. Tomahawk::ContextMenu - + &Play &Odtwarzaj - - - + + + Add to &Queue Dodaj do &kolejki - + Continue Playback after this &Track - + Stop Playback after this &Track - - + + &Love &Uwielbiam - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items &Usuń pozycje - + Properties... - + &Delete Item &Usuń pozycję @@ -2700,7 +2700,7 @@ Proszę zmienić filtry lub spróbować ponownie. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3485,178 +3485,178 @@ wprowadź pokazany numer PIN tutaj: Następny - + Back - + Go back one page - + Forward - + Go forward one page - + Global Search... Globalne Wyszukiwanie... - - + + Hide Menu Bar - - + + Show Menu Bar - + &Main Menu - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error Błąd XSPF - + This is not a valid XSPF playlist. To nie jest poprawna lista XSPF. - + Failed to save tracks Nie udało się zapisać utworów - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Niektóre utwory na liście nie zawierają artysty i tytułu. Zostaną one zignorowane. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station Utwórz Nową Stację - + Name: Nazwa: - + Playlist - + Automatic Playlist - + Pause Pauza - + &Play - + Authentication Error Błąd uwierzytelniania - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name %1 wykonawcy %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk @@ -3748,13 +3748,13 @@ wprowadź pokazany numer PIN tutaj: TransferStatusItem - + from streaming artist - track from friend - + to streaming artist - track to friend @@ -3948,7 +3948,7 @@ Zawsze możesz ponownie wysłać wiadomość synchronizacyjną - po prostu wyśl Brak ostatnio utworzonych list w twojej sieci. - + Welcome to Tomahawk Witaj w Tomahawk diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts index d52b496ea..a622a4a0f 100644 --- a/lang/tomahawk_pt_BR.ts +++ b/lang/tomahawk_pt_BR.ts @@ -48,17 +48,17 @@ se conecte e faça o stream de você? AccountFactoryWrapperDelegate - + Online Online - + Connecting... Conectando... - + Offline Offline @@ -101,154 +101,154 @@ se conecte e faça o stream de você? ActionCollection - + &Listen Along &Ouça Junto - + Stop &Listening Along Parar de &Ouvir Junto - + &Follow in real-time &Seguir em tempo real - - + + &Listen Privately &Ouvir Privadamente - - + + &Listen Publicly &Ouvir Publicamente - + &Load Playlist &Carregar Playlist - + &Rename Playlist &Renomear Playlist - + &Copy Playlist Link &Copiar link da Playlist - + &Play &Play - + &Stop &Stop - + &Previous Track &Faixa Anterior - + &Next Track &Próxima Faixa - + &Quit &Sair - + Load &XSPF... Carregar &XSPF... - + U&pdate Collection At&ualizar coleção - + Fully &Rescan Collection Varredura completa de coleção - + Show Offline Sources Mostrar fontes offline - + &Configure Tomahawk... &Configurar o Tomahawk... - + Minimize Minimizar - + Zoom Zoom - + Hide Menu Bar Esconder barra de menu - + Diagnostics... Diagnósticos... - + About &Tomahawk... Sobre &Tomahawk... - + &Legal Information... Informação &legal... - + Check For Updates... Verificar atualizações... - + &Controls &Controles - + &Settings C&onfigurações - + &Help &Ajuda - + &Window &Janela - + Main Menu Menu principal @@ -422,13 +422,13 @@ se conecte e faça o stream de você? - + Shuffle Shuffle - + Repeat Repetir @@ -443,27 +443,27 @@ se conecte e faça o stream de você? Aumentar - + Time Elapsed Tempo decorrido - + Time Remaining Tempo restante - + Playing from %1 Reproduzindo de %1 - + Share Compartilhar - + Love Gostar @@ -652,97 +652,97 @@ se conecte e faça o stream de você? EchonestSteerer - + Steer this station: - + Much less Muito menos - + Less Menos - + A bit less Um pouco menos - + Keep at current Manter o atual - + A bit more Um pouco mais - + More Mais - + Much more Muito mais - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description Por descrição - + Enter a description Digite uma descrição - + Apply steering command - + Reset all steering commands @@ -779,7 +779,7 @@ se conecte e faça o stream de você? IndexingJobItem - + Indexing database Indexando banco de dados @@ -846,7 +846,7 @@ se conecte e faça o stream de você? LatchedStatusItem - + %1 is listening along with you! %1 está ouvindo junto com você! @@ -908,32 +908,32 @@ se conecte e faça o stream de você? LovedTracksItem - + Top Loved Tracks Faixas mais favoritas - + Sorry, we could not find any loved tracks! Desculpe, não encontramos nenhuma faixa favorita! - + The most loved tracks from all your friends As faixas mais favoritas de todos os seus amigos - + All of your loved tracks Todas as suas faixas favoritas - + All of %1's loved tracks Todas as faixas favoritas do %1 - + Loved Tracks Faixas favoritas @@ -1262,12 +1262,12 @@ se conecte e faça o stream de você? PlaylistView - + This playlist is currently empty. Esta playlist esta atualmente vazia. - + This playlist is currently empty. Add some tracks to it and enjoy the music! Esta playlist está vazia. Adicione algumas faixas a ela e aprecie a música! @@ -1492,12 +1492,12 @@ se conecte e faça o stream de você? SettingsDialog - + Collection Coleção - + Advanced Avançado @@ -1507,12 +1507,12 @@ se conecte e faça o stream de você? Todos - + Some changed settings will not take effect until Tomahawk is restarted Algumas configurações não terão efeito até que o Tomahawk seja reiniciado - + Services Serviços @@ -1522,37 +1522,37 @@ se conecte e faça o stream de você? Instalar do arquivo - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. Configure as contas e serviços usados pelo Tomahawk para pesquisar e obter músicas, encontrar seus amigos e atualizar seu status. - + Manage how Tomahawk finds music on your computer. Gerenciar como o Tomahawk encontra música no seu computador - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. Configure as configurações avançadas do Tomahawk, incluindo as configurações de conectividade de rede, interação com o navegador e mais. - + Install resolver from file Instalar resolvedor via arquivo - + Delete all Access Control entries? Excluir todas as entradas de controle de acesso? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. Você realmente quer apagar todas as entradas de controle de acesso? Você será solicitado a tomar uma decisão para cada ponto a que você se conectar. - + Information Informação @@ -1748,22 +1748,22 @@ se conecte e faça o stream de você? TextLabel - + Tweet Tweet - + Listening to "%1" by %2. %3 Ouvindo "%1" de %2. %3 - + Listening to "%1" by %2 on "%3". %4 Ouvindo "%1" de %2 em "%3". %4 - + %1 characters left %1 caracteres restantes @@ -1796,19 +1796,19 @@ se conecte e faça o stream de você? 10 Mais - + All available tracks Todas as faixas disponíveis - - + + Show Mostrar - - + + Hide Ocultar @@ -1849,58 +1849,58 @@ se conecte e faça o stream de você? SourceItem - + Collection Coleção - - + + Latest Additions Últimas Adições - + Recently Played Ouvidas Recentemente - + SuperCollection SuperColeção - + Latest additions to your collection Últimas adições à sua coleção - + Latest additions to %1's collection Últimas adições à coleção de %1 - + Sorry, we could not find any recent additions! Desculpe, não foi possível encontrar adições recentes! - + Recently Played Tracks Faixas Reproduzidas Recentemente - + Your recently played tracks Suas faixas reproduzidas recentemente - + %1's recently played tracks Faixas reproduzidas recentemente por %1 - + Sorry, we could not find any recent plays! Desculpe, não foi possível encontrar playlists recentes! @@ -2116,17 +2116,17 @@ se conecte e faça o stream de você? TemporaryPageItem - + Copy Artist Link Copiar Link do Artista - + Copy Album Link Copiar Link do Álbum - + Copy Track Link Copiar Link da Faixa @@ -2134,32 +2134,32 @@ se conecte e faça o stream de você? Tomahawk::Accounts::AccountDelegate - + Add Account Adicionar Conta - + Remove Remover - + %1 downloads %1 downloads - + Online Online - + Connecting... Conectando... - + Offline Offline @@ -2535,79 +2535,79 @@ Você pode tentar re-autenticar. Tomahawk::ContextMenu - + &Play &Play - - - + + + Add to &Queue Adicionar à &lista - + Continue Playback after this &Track Continuar a reprodução após esta &Faixa - + Stop Playback after this &Track Parar a reprodução após esta &Faixa - - + + &Love &Favorita - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link &Copiar Link da Faixa - + Copy Album &Link Copiar &Link do Álbum - + Copy Artist &Link Copiar &Link do Artista - + Un-&Love &Desfavoritar - + &Delete Items &Deletar itens - + Properties... Propriedades... - + &Delete Item &Deletar item @@ -2705,7 +2705,7 @@ Por favor, mude os filtros ou tente novamente. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3492,178 +3492,178 @@ colocar o número PIN mostrado aqui: Próximo - + Back Voltar - + Go back one page Voltar uma página - + Forward Avançar - + Go forward one page Avançar uma página - + Global Search... Busca global... - - + + Hide Menu Bar Esconder barra de menu - - + + Show Menu Bar Mostrar barra de menu - + &Main Menu &Menu principal - - - + + + Connect To Peer Conectar-se ao par - + Enter peer address: Coloque o endereço do par: - + Enter peer port: Coloque a porta do par: - + Enter peer key: Coloque a chave do par: - + XSPF Error Erro de XSPF - + This is not a valid XSPF playlist. Esta não é uma lista de reprodução XSPF válida. - + Failed to save tracks Falha ao salvar faixas - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Algumas faixas da lista de reprodução não contem artista e título. Estas serão ignoradas. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Desculpe, há um problema ao acessar sua placa de áudio ou a faixa desejada, a faixa atual será ignorada. Certifique-se de ter um backend do Phonon adequado e os plugins necessários instalados. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Desculpe, há um problema ao acessar sua placa de áudio ou a faixa desejada, a faixa atual será ignorada. - + Station Estação - + Create New Station Criar uma nova estação - + Name: Nome: - + Playlist Playlist - + Automatic Playlist Playlist Automática - + Pause PIN do Twitter - + &Play Re&produzir - + Authentication Error Erro de autenticação - + Error connecting to SIP: Authentication failed! Erro ao conectar ao SIP: Falha de autenticação! - + %1 by %2 track, artist name %1 de %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Agradecimentos: - + About Tomahawk Sobre o Tomahawk @@ -3755,13 +3755,13 @@ colocar o número PIN mostrado aqui: TransferStatusItem - + from streaming artist - track from friend de - + to streaming artist - track to friend para @@ -3955,7 +3955,7 @@ Você pode enviar uma outra mensagem de sincronia a qualquer momento simplesment Nenhuma lista de reprodução criada recentemente na sua rede. - + Welcome to Tomahawk Bem-vindo ao Tomahawk diff --git a/lang/tomahawk_ru.ts b/lang/tomahawk_ru.ts index 090a32762..3f68712ff 100644 --- a/lang/tomahawk_ru.ts +++ b/lang/tomahawk_ru.ts @@ -48,17 +48,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online В сети - + Connecting... Соединяюсь... - + Offline Не в сети @@ -101,154 +101,154 @@ connect and stream from you? ActionCollection - + &Listen Along &Слушать Его - + Stop &Listening Along &Прекратить его слушать - + &Follow in real-time &Следить в реальном времени - - + + &Listen Privately &Слушать Cамому - - + + &Listen Publicly &Слушать со всеми - + &Load Playlist &Загрузить Плейлист - + &Rename Playlist &Переименовать Плейлист - + &Copy Playlist Link &Скопировать Cсылку Плейлиста - + &Play &Играть - + &Stop &Стоп - + &Previous Track &Предыдущий - + &Next Track &Следующий - + &Quit &Выйти - + Load &XSPF... - + U&pdate Collection - + Fully &Rescan Collection - + Show Offline Sources - + &Configure Tomahawk... - + Minimize - + Zoom - + Hide Menu Bar - + Diagnostics... Диагностика - + About &Tomahawk... О &Tomahawk... - + &Legal Information... &Юридическая информация - + Check For Updates... Проверить обновление... - + &Controls &Управление - + &Settings &Настройки - + &Help &Помощь - + &Window &Окно - + Main Menu Главное меню @@ -422,13 +422,13 @@ connect and stream from you? - + Shuffle Случаная - + Repeat Повторять @@ -443,27 +443,27 @@ connect and stream from you? Громче - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -652,97 +652,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -779,7 +779,7 @@ connect and stream from you? IndexingJobItem - + Indexing database Индексирую базу данных @@ -846,7 +846,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! @@ -908,32 +908,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks Топ Любимых Песен - + Sorry, we could not find any loved tracks! К сожалению, мы не смогли найти никаких любимых песен! - + The most loved tracks from all your friends Любимые песни ваших друзей - + All of your loved tracks Все ваши любимые песни - + All of %1's loved tracks Все из %1 любимые песни - + Loved Tracks Любимые Песни @@ -1262,12 +1262,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. Текущий плейлист пуст. - + This playlist is currently empty. Add some tracks to it and enjoy the music! Этот плейлист пустой. Добавьте какие-нибудь треки и наслаждайтесь музыкой! @@ -1492,12 +1492,12 @@ connect and stream from you? SettingsDialog - + Collection Коллекция - + Advanced Дополнительны @@ -1507,12 +1507,12 @@ connect and stream from you? Все - + Some changed settings will not take effect until Tomahawk is restarted Некоторые измененные настройки не вступят в силу до перезапуска Tomahawk - + Services Сервисы @@ -1522,37 +1522,37 @@ connect and stream from you? - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Manage how Tomahawk finds music on your computer. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - + Install resolver from file Установить resolver из файла - + Delete all Access Control entries? Удаление всех записей контроля доступа? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. - + Information Инофрмация @@ -1748,22 +1748,22 @@ connect and stream from you? TextLabel - + Tweet Твит - + Listening to "%1" by %2. %3 Прослушивание "%1" %2. %3 - + Listening to "%1" by %2 on "%3". %4 Прослушивание "%1" by %2 on "%3". %4 - + %1 characters left %1 символов осталось @@ -1796,19 +1796,19 @@ connect and stream from you? Топ 10 - + All available tracks Доступные песни - - + + Show Показать - - + + Hide Спрятать @@ -1849,58 +1849,58 @@ connect and stream from you? SourceItem - + Collection Коллекция - - + + Latest Additions Последние добавленные - + Recently Played Последние воспроизводимые - + SuperCollection Общая коллекция - + Latest additions to your collection Последние добавления в коллекцию - + Latest additions to %1's collection Новые поступления в коллекции %1 - + Sorry, we could not find any recent additions! К сожалению, мы не смогли найти никаких последних добавлений! - + Recently Played Tracks Недавно Воспроизводимые - + Your recently played tracks Ваши Недавно Воспроизводимые - + %1's recently played tracks %1 последние проиграные треки - + Sorry, we could not find any recent plays! К сожалению, мы не смогли найти никаких воспроизвидений треков! @@ -2116,17 +2116,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link Скопировать Ссылку на Исполнителя - + Copy Album Link Скопировать Ссылку на Альбом - + Copy Track Link Скопировать Ссылку на Песню @@ -2134,32 +2134,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Добавить аккаунт - + Remove Удалить - + %1 downloads %1 загружено - + Online В сети - + Connecting... Соединяюсь... - + Offline Не в сети @@ -2535,79 +2535,79 @@ You may wish to try re-authenticating. Tomahawk::ContextMenu - + &Play &Играть - - - + + + Add to &Queue Добавить В &Очередь - + Continue Playback after this &Track Продолжить воспроизведение после этого &Песни - + Stop Playback after this &Track Остановить воспроизведение после этого &Песни - - + + &Love &Любимая - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link &Скопировать Ссылку Песни - + Copy Album &Link Копировать &Ссылку Альбома - + Copy Artist &Link Копировать &Ссылку Исполнителя - + Un-&Love &Не Любимая - + &Delete Items &Удалить Песни - + Properties... Свойства... - + &Delete Item &Удалить Песню @@ -2705,7 +2705,7 @@ Please change the filters or try again. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3489,178 +3489,178 @@ enter the displayed PIN number here: Следующая - + Back Назад - + Go back one page Перейти на предыдущую страницу - + Forward Вперед - + Go forward one page Перейдите на следующую страницу - + Global Search... Глобальный поиск - - + + Hide Menu Bar - - + + Show Menu Bar - + &Main Menu &Главное меню - - - + + + Connect To Peer Связаться с Peer - + Enter peer address: Введите адрес узла: - + Enter peer port: Введите адрес порта: - + Enter peer key: Введите адрес ключа: - + XSPF Error Ошибка XSPF - + This is not a valid XSPF playlist. Это не является допустимым XSPF плейлистом. - + Failed to save tracks Не удалось сохранить песни - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Некоторые треки в плейлисте не содержат исполнителя и название. Они будут проигнорированы. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station Станция - + Create New Station Создать новую станцию - + Name: Имя: - + Playlist Плейлист - + Automatic Playlist Автоматический Плейлист - + Pause Пауза - + &Play &Играть - + Authentication Error Ошибка авторизации - + Error connecting to SIP: Authentication failed! Ошибка соединения с SIP: Ошибка авторизации! - + %1 by %2 track, artist name %1 %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Авторское право 2010 - 2012 - + Thanks to: Благодарность - + About Tomahawk О Tomahawk @@ -3752,13 +3752,13 @@ enter the displayed PIN number here: TransferStatusItem - + from streaming artist - track from friend из - + to streaming artist - track to friend к @@ -3951,7 +3951,7 @@ You can re-send a sync message at any time simply by sending another tweet using Нет списков, созданных в последнее время в вашей сети. - + Welcome to Tomahawk Добро пожаловать в Tomahawk diff --git a/lang/tomahawk_sv.ts b/lang/tomahawk_sv.ts index 5f5333b2a..d00b7e91f 100644 --- a/lang/tomahawk_sv.ts +++ b/lang/tomahawk_sv.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Online - + Connecting... Ansluter... - + Offline Offline @@ -100,154 +100,154 @@ connect and stream from you? ActionCollection - + &Listen Along &Lyssna med - + Stop &Listening Along Sluta &Lyssna med - + &Follow in real-time &Lyssna med i realtid - - + + &Listen Privately &Lyssna privat - - + + &Listen Publicly &Lyssna publikt - + &Load Playlist &Läs in spellista - + &Rename Playlist &Byt namn på spellista - + &Copy Playlist Link &Kopiera länk till spellista - + &Play Spela &upp - + &Stop &Stoppa - + &Previous Track &Föregående spår - + &Next Track &Nästa spår - + &Quit A&vsluta - + Load &XSPF... - + U&pdate Collection - + Fully &Rescan Collection - + Show Offline Sources - + &Configure Tomahawk... - + Minimize - + Zoom - + Hide Menu Bar - + Diagnostics... - + About &Tomahawk... - + &Legal Information... - + Check For Updates... - + &Controls - + &Settings - + &Help - + &Window - + Main Menu @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Blanda - + Repeat Upprepa @@ -442,27 +442,27 @@ connect and stream from you? Hög - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -651,97 +651,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -778,7 +778,7 @@ connect and stream from you? IndexingJobItem - + Indexing database Indexerar databasen @@ -845,7 +845,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! @@ -907,32 +907,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks - + Sorry, we could not find any loved tracks! - + The most loved tracks from all your friends - + All of your loved tracks - + All of %1's loved tracks - + Loved Tracks @@ -1261,12 +1261,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! Denna spellista är för närvarande tom. Lägg till några spår och njut av musiken! @@ -1491,12 +1491,12 @@ connect and stream from you? SettingsDialog - + Collection Samling - + Advanced Avancerat @@ -1506,12 +1506,12 @@ connect and stream from you? Alla - + Some changed settings will not take effect until Tomahawk is restarted - + Services Tjänster @@ -1521,37 +1521,37 @@ connect and stream from you? - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Manage how Tomahawk finds music on your computer. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - + Install resolver from file Installera resolver från fil - + Delete all Access Control entries? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. - + Information Information @@ -1747,22 +1747,22 @@ connect and stream from you? - + Tweet - + Listening to "%1" by %2. %3 - + Listening to "%1" by %2 on "%3". %4 - + %1 characters left @@ -1795,19 +1795,19 @@ connect and stream from you? Topp 10 - + All available tracks Alla tillgängliga spår - - + + Show Visa - - + + Hide Göm @@ -1848,58 +1848,58 @@ connect and stream from you? SourceItem - + Collection Samling - - + + Latest Additions Senast tillagda - + Recently Played Senast spelade spår - + SuperCollection SuperCollection - + Latest additions to your collection - + Latest additions to %1's collection - + Sorry, we could not find any recent additions! - + Recently Played Tracks - + Your recently played tracks - + %1's recently played tracks - + Sorry, we could not find any recent plays! @@ -2115,17 +2115,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link - + Copy Album Link - + Copy Track Link @@ -2133,32 +2133,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Lägg till konto - + Remove - + %1 downloads - + Online - + Connecting... Ansluter… - + Offline @@ -2531,79 +2531,79 @@ You may wish to try re-authenticating. Tomahawk::ContextMenu - + &Play Spela &upp - - - + + + Add to &Queue Lägg till i &kö - + Continue Playback after this &Track - + Stop Playback after this &Track - - + + &Love - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items &Ta bort objekt - + Properties... - + &Delete Item &Ta bort objekt @@ -2699,7 +2699,7 @@ Please change the filters or try again. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3483,178 +3483,178 @@ enter the displayed PIN number here: Nästa - + Back - + Go back one page - + Forward - + Go forward one page - + Global Search... Global sökning... - - + + Hide Menu Bar - - + + Show Menu Bar - + &Main Menu - - - + + + Connect To Peer Anslut till klient - + Enter peer address: Ange klientadress: - + Enter peer port: Ange klientport: - + Enter peer key: Ange klientnyckel: - + XSPF Error XSPF-fel - + This is not a valid XSPF playlist. Detta är inte en giltig XSPF-spellista. - + Failed to save tracks Misslyckades med att spara spår - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Några spår i spellistan innehåller inte någon artist och titel. De kommer att ignoreras. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station Skapa ny station - + Name: Namn: - + Playlist - + Automatic Playlist - + Pause Paus - + &Play - + Authentication Error Autentiseringsfel - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name %1 av %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk @@ -3746,13 +3746,13 @@ enter the displayed PIN number here: TransferStatusItem - + from streaming artist - track from friend - + to streaming artist - track to friend @@ -3941,7 +3941,7 @@ You can re-send a sync message at any time simply by sending another tweet using Inga skapade spellistor i ditt nätverk på sistone. - + Welcome to Tomahawk Välkommen till Tomahawk diff --git a/lang/tomahawk_tr.ts b/lang/tomahawk_tr.ts index e135dc1d3..d220f3a64 100644 --- a/lang/tomahawk_tr.ts +++ b/lang/tomahawk_tr.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Çevrimiçi - + Connecting... Bağlanıyor... - + Offline Çevrimdışı @@ -100,154 +100,154 @@ connect and stream from you? ActionCollection - + &Listen Along &Birlikte Dinle - + Stop &Listening Along &Birlikte Dinlemeyi Durdur - + &Follow in real-time &Gerçek zamanlı takip et - - + + &Listen Privately &Gizli Dinle - - + + &Listen Publicly &Yayınlayarak Dinle - + &Load Playlist &Şarkı Listesini Yükle - + &Rename Playlist &Şarkı Listesini Yeniden Adlandır - + &Copy Playlist Link &Şarkı Listesinin Bağlantısını Kopyala - + &Play &Yürüt - + &Stop &Durdur - + &Previous Track &Önceki Parça - + &Next Track &Sonraki Parça - + &Quit &Çıkış - + Load &XSPF... - + U&pdate Collection - + Fully &Rescan Collection - + Show Offline Sources - + &Configure Tomahawk... - + Minimize - + Zoom - + Hide Menu Bar - + Diagnostics... - + About &Tomahawk... - + &Legal Information... - + Check For Updates... - + &Controls - + &Settings - + &Help - + &Window - + Main Menu @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Karışık - + Repeat Yenile @@ -442,27 +442,27 @@ connect and stream from you? Yüksek - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -651,97 +651,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -778,7 +778,7 @@ connect and stream from you? IndexingJobItem - + Indexing database Veritabanı dizini oluşturuluyor @@ -845,7 +845,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! @@ -907,32 +907,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks - + Sorry, we could not find any loved tracks! - + The most loved tracks from all your friends - + All of your loved tracks - + All of %1's loved tracks - + Loved Tracks @@ -1261,12 +1261,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1490,12 +1490,12 @@ connect and stream from you? SettingsDialog - + Collection - + Advanced @@ -1505,12 +1505,12 @@ connect and stream from you? - + Some changed settings will not take effect until Tomahawk is restarted - + Services @@ -1520,37 +1520,37 @@ connect and stream from you? - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Manage how Tomahawk finds music on your computer. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - + Install resolver from file - + Delete all Access Control entries? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. - + Information @@ -1746,22 +1746,22 @@ connect and stream from you? - + Tweet - + Listening to "%1" by %2. %3 - + Listening to "%1" by %2 on "%3". %4 - + %1 characters left @@ -1794,19 +1794,19 @@ connect and stream from you? - + All available tracks - - + + Show - - + + Hide @@ -1847,58 +1847,58 @@ connect and stream from you? SourceItem - + Collection - - + + Latest Additions - + Recently Played - + SuperCollection - + Latest additions to your collection - + Latest additions to %1's collection - + Sorry, we could not find any recent additions! - + Recently Played Tracks - + Your recently played tracks - + %1's recently played tracks - + Sorry, we could not find any recent plays! @@ -2114,17 +2114,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link - + Copy Album Link - + Copy Track Link @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account - + Remove - + %1 downloads - + Online - + Connecting... - + Offline @@ -2530,79 +2530,79 @@ You may wish to try re-authenticating. Tomahawk::ContextMenu - + &Play - - - + + + Add to &Queue - + Continue Playback after this &Track - + Stop Playback after this &Track - - + + &Love - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items - + Properties... - + &Delete Item @@ -2698,7 +2698,7 @@ Please change the filters or try again. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3482,178 +3482,178 @@ enter the displayed PIN number here: - + Back - + Go back one page - + Forward - + Go forward one page - + Global Search... - - + + Hide Menu Bar - - + + Show Menu Bar - + &Main Menu - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error - + This is not a valid XSPF playlist. - + Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: - + Playlist - + Automatic Playlist - + Pause - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk @@ -3745,13 +3745,13 @@ enter the displayed PIN number here: TransferStatusItem - + from streaming artist - track from friend - + to streaming artist - track to friend @@ -3940,7 +3940,7 @@ You can re-send a sync message at any time simply by sending another tweet using - + Welcome to Tomahawk diff --git a/lang/tomahawk_zh_CN.ts b/lang/tomahawk_zh_CN.ts index 3032c7336..453d72d83 100644 --- a/lang/tomahawk_zh_CN.ts +++ b/lang/tomahawk_zh_CN.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online 在线 - + Connecting... 连接中... - + Offline 离线 @@ -100,154 +100,154 @@ connect and stream from you? ActionCollection - + &Listen Along 一块儿收听 - + Stop &Listening Along 停止一块儿收听 - + &Follow in real-time 实时跟随收听 - - + + &Listen Privately 私下收听 - - + + &Listen Publicly 公开收听 - + &Load Playlist 载入播放列表 - + &Rename Playlist 重命名播放列表 - + &Copy Playlist Link 复制播放列表链接 - + &Play 播放 - + &Stop 停止 - + &Previous Track 上一首 - + &Next Track 下一首 - + &Quit 退出 - + Load &XSPF... 载入 XSPF... - + U&pdate Collection 更新收藏 - + Fully &Rescan Collection 完整重新扫描收藏 - + Show Offline Sources 显示离线资源 - + &Configure Tomahawk... 配置 Tomahawk... - + Minimize 最小化 - + Zoom 放大 - + Hide Menu Bar 隐藏菜单栏 - + Diagnostics... 诊断... - + About &Tomahawk... 关于 Tomahawk... - + &Legal Information... 法律信息... - + Check For Updates... 检查更新... - + &Controls 控制 - + &Settings 设置 - + &Help 帮助 - + &Window 窗口 - + Main Menu 主菜单 @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle 无序播放 - + Repeat 重复播放 @@ -442,27 +442,27 @@ connect and stream from you? - + Time Elapsed 已播放时间 - + Time Remaining 剩余时间 - + Playing from %1 歌曲来自 %1 - + Share 分享 - + Love 喜欢 @@ -651,97 +651,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -778,7 +778,7 @@ connect and stream from you? IndexingJobItem - + Indexing database 正在索引数据库 @@ -845,7 +845,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! %1 在与您一起听! @@ -907,32 +907,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks 最多喜爱的歌曲 - + Sorry, we could not find any loved tracks! 抱歉!未找到任何喜爱歌曲。 - + The most loved tracks from all your friends 从所有朋友中获取的最多喜爱歌曲 - + All of your loved tracks 我所有的喜爱歌曲 - + All of %1's loved tracks %1 所有被喜欢的歌曲 - + Loved Tracks 喜爱歌曲 @@ -1261,12 +1261,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. 当前播放列表为空。 - + This playlist is currently empty. Add some tracks to it and enjoy the music! 该播放列表现在为空。请为她添加一些歌曲享受吧! @@ -1491,12 +1491,12 @@ connect and stream from you? SettingsDialog - + Collection 收藏 - + Advanced 高级 @@ -1506,12 +1506,12 @@ connect and stream from you? 所有 - + Some changed settings will not take effect until Tomahawk is restarted 一些设置改动将在 Tomahawk 下次启动时生效。 - + Services 服务 @@ -1521,37 +1521,37 @@ connect and stream from you? 从文件安装 - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. 配置 Tomahawk 使用的账户和服务以获取音乐,寻找朋友,更新状态 - + Manage how Tomahawk finds music on your computer. 设置以便让 Tomahawk 发现你计算机上的音乐。 - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. 配置 Tomahawk 的高级设置,包括网络链接设置,浏览交互设置等等。 - + Install resolver from file 从文件安装解析器 - + Delete all Access Control entries? 删除所有的访问控制项? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. 你真的想删除所有的访问控制项吗?将在对每个连接的客户端操作后再次询问。 - + Information 信息 @@ -1749,22 +1749,22 @@ connect and stream from you? 文本标签 - + Tweet Tweet - + Listening to "%1" by %2. %3 正在听 %2. %3 的 "%1"。 - + Listening to "%1" by %2 on "%3". %4 正在听 "%1",来自 %2 的专辑 "%3"。 %4 - + %1 characters left 剩余 %1 字 @@ -1797,19 +1797,19 @@ connect and stream from you? Top 10 - + All available tracks 所有可用的歌曲 - - + + Show 显示 - - + + Hide 隐藏 @@ -1850,58 +1850,58 @@ connect and stream from you? SourceItem - + Collection 收藏 - - + + Latest Additions 最近添加 - + Recently Played 最近播放 - + SuperCollection 超级收藏 - + Latest additions to your collection 最近加入收藏的歌曲 - + Latest additions to %1's collection - + Sorry, we could not find any recent additions! 抱歉,未找到任何最近添加的音乐! - + Recently Played Tracks 最近播放歌曲 - + Your recently played tracks 你最近播放的歌曲 - + %1's recently played tracks %1最近播放的歌曲 - + Sorry, we could not find any recent plays! 抱歉,未找到任何最近播放的音乐! @@ -2117,17 +2117,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link 复制艺术家链接 - + Copy Album Link 复制专辑链接 - + Copy Track Link 复制歌曲链接 @@ -2135,32 +2135,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account 添加账户 - + Remove 移除 - + %1 downloads %1 个下载 - + Online 在线 - + Connecting... 连接中... - + Offline 离线 @@ -2536,79 +2536,79 @@ You may wish to try re-authenticating. Tomahawk::ContextMenu - + &Play 播放 - - - + + + Add to &Queue 添加到队列 - + Continue Playback after this &Track 此歌曲后继续播放 - + Stop Playback after this &Track 此歌曲后停止播放 - - + + &Love 喜欢 - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link 复制歌曲链接 - + Copy Album &Link 复制专辑链接 - + Copy Artist &Link 复制艺术家链接 - + Un-&Love 不喜欢 - + &Delete Items 删除该项 - + Properties... 属性... - + &Delete Item 删除该项 @@ -2706,7 +2706,7 @@ Please change the filters or try again. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3493,178 +3493,178 @@ enter the displayed PIN number here: 下一首 - + Back 后退 - + Go back one page 转向上一页 - + Forward 下一个 - + Go forward one page 转向下一页 - + Global Search... 全局搜索 ... - - + + Hide Menu Bar 隐藏菜单栏 - - + + Show Menu Bar 显示菜单栏 - + &Main Menu 主菜单 - - - + + + Connect To Peer 连接到客户端 - + Enter peer address: 输入客户端地址: - + Enter peer port: 输入客户端端口: - + Enter peer key: 输入客户端密钥: - + XSPF Error XSPF 错误 - + This is not a valid XSPF playlist. 这不是一个合法的 XSPF 播放列表。 - + Failed to save tracks 保存歌曲失败。 - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. 播放列表中的一些歌曲缺失艺术家和标题,它们将被忽略。 - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. 抱歉,访问音频设备或者指定的歌曲时出错。当前歌曲将被跳过。请确认你正在使用合适的 Phonon 后端并安装了必要的插件。 - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. 抱歉,在访问音频设备或者指定的歌曲时出错。当前歌曲将被跳过。 - + Station 电台 - + Create New Station 创建新电台 - + Name: 名字: - + Playlist 播放列表 - + Automatic Playlist 自动播放列表 - + Pause 暂停 - + &Play 播放 - + Authentication Error 认证错误 - + Error connecting to SIP: Authentication failed! 连接到SIP 时错误:认证失败! - + %1 by %2 track, artist name %2 的 %1 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 版权所有 2010 - 2012 - + Thanks to: 感谢: - + About Tomahawk 关于 Tomahawk @@ -3756,13 +3756,13 @@ enter the displayed PIN number here: TransferStatusItem - + from streaming artist - track from friend - + to streaming artist - track to friend @@ -3956,7 +3956,7 @@ You can re-send a sync message at any time simply by sending another tweet using 在你的网络中最近未创建播放列表 - + Welcome to Tomahawk 欢迎使用 Tomahawk diff --git a/lang/tomahawk_zh_TW.ts b/lang/tomahawk_zh_TW.ts index 275278d1e..fda00cd22 100644 --- a/lang/tomahawk_zh_TW.ts +++ b/lang/tomahawk_zh_TW.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online 線上 - + Connecting... 連接中... - + Offline 離線 @@ -100,154 +100,154 @@ connect and stream from you? ActionCollection - + &Listen Along - + Stop &Listening Along - + &Follow in real-time 即時跟隨 - - + + &Listen Privately 私下聆聽 - - + + &Listen Publicly 公開聆聽 - + &Load Playlist 載入播放清單 - + &Rename Playlist 重新命名播放清單 - + &Copy Playlist Link 複製播放清單連結 - + &Play 播放 - + &Stop 停止 - + &Previous Track 上一首曲目 - + &Next Track 下一個曲目 - + &Quit 結束 - + Load &XSPF... - + U&pdate Collection - + Fully &Rescan Collection - + Show Offline Sources - + &Configure Tomahawk... - + Minimize - + Zoom - + Hide Menu Bar - + Diagnostics... - + About &Tomahawk... - + &Legal Information... - + Check For Updates... - + &Controls - + &Settings - + &Help - + &Window - + Main Menu @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle 隨機 - + Repeat 重複 @@ -442,27 +442,27 @@ connect and stream from you? - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -651,97 +651,97 @@ connect and stream from you? EchonestSteerer - + Steer this station: - + Much less - + Less - + A bit less - + Keep at current - + A bit more - + More - + Much more - + Tempo - + Loudness - + Danceability - + Energy - + Song Hotttnesss - + Artist Hotttnesss - + Artist Familiarity - + By Description - + Enter a description - + Apply steering command - + Reset all steering commands @@ -778,7 +778,7 @@ connect and stream from you? IndexingJobItem - + Indexing database 索引資料庫 @@ -845,7 +845,7 @@ connect and stream from you? LatchedStatusItem - + %1 is listening along with you! @@ -907,32 +907,32 @@ connect and stream from you? LovedTracksItem - + Top Loved Tracks - + Sorry, we could not find any loved tracks! - + The most loved tracks from all your friends - + All of your loved tracks - + All of %1's loved tracks - + Loved Tracks @@ -1261,12 +1261,12 @@ connect and stream from you? PlaylistView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! 目前這個播放清單是空的。請加入一些曲目,然後盡情享受音樂! @@ -1490,12 +1490,12 @@ connect and stream from you? SettingsDialog - + Collection 收藏 - + Advanced 進階 @@ -1505,12 +1505,12 @@ connect and stream from you? 所有 - + Some changed settings will not take effect until Tomahawk is restarted - + Services 服務 @@ -1520,37 +1520,37 @@ connect and stream from you? - + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Manage how Tomahawk finds music on your computer. - + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - + Install resolver from file 從檔案安裝解析器 - + Delete all Access Control entries? - + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. - + Information 資訊 @@ -1746,22 +1746,22 @@ connect and stream from you? 文字標籤 - + Tweet - + Listening to "%1" by %2. %3 - + Listening to "%1" by %2 on "%3". %4 - + %1 characters left @@ -1794,19 +1794,19 @@ connect and stream from you? 前10名 - + All available tracks - - + + Show 顯示 - - + + Hide 隱藏 @@ -1847,58 +1847,58 @@ connect and stream from you? SourceItem - + Collection 收藏 - - + + Latest Additions 最新加入 - + Recently Played 最近播放的 - + SuperCollection 超級收藏 - + Latest additions to your collection - + Latest additions to %1's collection - + Sorry, we could not find any recent additions! - + Recently Played Tracks - + Your recently played tracks - + %1's recently played tracks - + Sorry, we could not find any recent plays! @@ -2114,17 +2114,17 @@ connect and stream from you? TemporaryPageItem - + Copy Artist Link - + Copy Album Link - + Copy Track Link @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account 新增帳戶 - + Remove - + %1 downloads - + Online 線上 - + Connecting... 連接中... - + Offline 離線 @@ -2530,79 +2530,79 @@ You may wish to try re-authenticating. Tomahawk::ContextMenu - + &Play 播放 - - - + + + Add to &Queue 添加至佇列 - + Continue Playback after this &Track - + Stop Playback after this &Track - - + + &Love - - - + + + &Go to "%1" - - + + Go to "%1" - + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items - + Properties... - + &Delete Item @@ -2698,7 +2698,7 @@ Please change the filters or try again. Tomahawk::DynamicWidget - + Station ran out of tracks! Try tweaking the filters for a new set of songs to play. @@ -3482,178 +3482,178 @@ enter the displayed PIN number here: 下一首 - + Back - + Go back one page - + Forward - + Go forward one page - + Global Search... 全域搜尋... - - + + Hide Menu Bar - - + + Show Menu Bar - + &Main Menu - - - + + + Connect To Peer 連接點對點 - + Enter peer address: 輸入對等地址: - + Enter peer port: 輸入對等連接埠: - + Enter peer key: 輸入對等密鑰: - + XSPF Error XSPF 錯誤 - + This is not a valid XSPF playlist. - + Failed to save tracks 無法儲存曲目 - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: 名稱: - + Playlist - + Automatic Playlist - + Pause 暫停 - + &Play - + Authentication Error 驗證錯誤 - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk @@ -3745,13 +3745,13 @@ enter the displayed PIN number here: TransferStatusItem - + from streaming artist - track from friend - + to streaming artist - track to friend @@ -3940,7 +3940,7 @@ You can re-send a sync message at any time simply by sending another tweet using 沒有最近建立的播放清單在您的網路。 - + Welcome to Tomahawk 歡迎到 Tomahawk From 60672d4c99138eb5b20cd4c498ed7491385c27a1 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Thu, 6 Dec 2012 09:09:49 -0500 Subject: [PATCH 083/332] More subtle Tomahawk-icon sytle play controls. Also first pass at fixiing toggle buttons --- data/images/back-pressed.svg | 14 +++++------ data/images/back-rest.svg | 14 +++++------ data/images/pause-pressed.svg | 25 ++++++++++++------- data/images/pause-rest.svg | 25 ++++++++++++------- data/images/play-pressed.svg | 14 +++++------ data/images/play-rest.svg | 14 +++++------ data/images/skip-pressed.svg | 14 +++++------ data/images/skip-rest.svg | 14 +++++------ .../images/view-toggle-icon-artist-active.svg | 24 +++++++++--------- .../view-toggle-icon-artist-inactive.svg | 24 +++++++++--------- data/images/view-toggle-icon-grid-active.svg | 12 ++++----- .../images/view-toggle-icon-grid-inactive.svg | 14 +++++------ data/images/view-toggle-icon-list-active.svg | 20 +++++++-------- .../images/view-toggle-icon-list-inactive.svg | 20 +++++++-------- data/images/view-toggle-inactive-left.svg | 6 ++--- data/images/view-toggle-inactive-right.svg | 6 ++--- data/images/view-toggle-pressed-left.svg | 6 ++--- data/images/view-toggle-pressed-right.svg | 6 ++--- 18 files changed, 143 insertions(+), 129 deletions(-) diff --git a/data/images/back-pressed.svg b/data/images/back-pressed.svg index bf50660cd..5ed9fdb96 100644 --- a/data/images/back-pressed.svg +++ b/data/images/back-pressed.svg @@ -1,17 +1,17 @@ - + back-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - + - + - - - - + + + + \ No newline at end of file diff --git a/data/images/back-rest.svg b/data/images/back-rest.svg index 4f3075f2b..0b19e2b1d 100644 --- a/data/images/back-rest.svg +++ b/data/images/back-rest.svg @@ -1,17 +1,17 @@ - + back-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - + - + - - - - + + + + \ No newline at end of file diff --git a/data/images/pause-pressed.svg b/data/images/pause-pressed.svg index f2a70e199..fca4e8970 100644 --- a/data/images/pause-pressed.svg +++ b/data/images/pause-pressed.svg @@ -1,20 +1,27 @@ - + pause-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - + - + + + - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/pause-rest.svg b/data/images/pause-rest.svg index a8a4a7d36..e57457bd2 100644 --- a/data/images/pause-rest.svg +++ b/data/images/pause-rest.svg @@ -1,20 +1,27 @@ - + pause-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - + - + + + - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/play-pressed.svg b/data/images/play-pressed.svg index 4a09da9fd..b4d719910 100644 --- a/data/images/play-pressed.svg +++ b/data/images/play-pressed.svg @@ -1,17 +1,17 @@ - + play-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - + - + - - - - + + + + \ No newline at end of file diff --git a/data/images/play-rest.svg b/data/images/play-rest.svg index 23adadbd7..9502d3172 100644 --- a/data/images/play-rest.svg +++ b/data/images/play-rest.svg @@ -1,17 +1,17 @@ - + play-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - + - + - - - - + + + + \ No newline at end of file diff --git a/data/images/skip-pressed.svg b/data/images/skip-pressed.svg index 654055dd7..5f99aa83b 100644 --- a/data/images/skip-pressed.svg +++ b/data/images/skip-pressed.svg @@ -1,17 +1,17 @@ - + skip-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - + - + - - - - + + + + \ No newline at end of file diff --git a/data/images/skip-rest.svg b/data/images/skip-rest.svg index 28499ab41..063aac30e 100644 --- a/data/images/skip-rest.svg +++ b/data/images/skip-rest.svg @@ -1,17 +1,17 @@ - + skip-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - + - + - - - - + + + + \ No newline at end of file diff --git a/data/images/view-toggle-icon-artist-active.svg b/data/images/view-toggle-icon-artist-active.svg index 2901f1675..202397535 100644 --- a/data/images/view-toggle-icon-artist-active.svg +++ b/data/images/view-toggle-icon-artist-active.svg @@ -1,23 +1,23 @@ - + view-toggle-icon-artist-active Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + - - - + + + - + - + - + - + \ No newline at end of file diff --git a/data/images/view-toggle-icon-artist-inactive.svg b/data/images/view-toggle-icon-artist-inactive.svg index 0dd34ffee..0012fd4d8 100644 --- a/data/images/view-toggle-icon-artist-inactive.svg +++ b/data/images/view-toggle-icon-artist-inactive.svg @@ -1,23 +1,23 @@ - + view-toggle-icon-artist-inactive Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + - - - + + + - + - + - + - + \ No newline at end of file diff --git a/data/images/view-toggle-icon-grid-active.svg b/data/images/view-toggle-icon-grid-active.svg index 5398d0d0a..a3fd0bea3 100644 --- a/data/images/view-toggle-icon-grid-active.svg +++ b/data/images/view-toggle-icon-grid-active.svg @@ -1,12 +1,12 @@ - + view-toggle-icon-grid-active Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-icon-grid-inactive.svg b/data/images/view-toggle-icon-grid-inactive.svg index 5dd3dfff5..ab7392624 100644 --- a/data/images/view-toggle-icon-grid-inactive.svg +++ b/data/images/view-toggle-icon-grid-inactive.svg @@ -1,12 +1,12 @@ - - Slice 1 + + view-toggle-icon-grid-inactive Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-icon-list-active.svg b/data/images/view-toggle-icon-list-active.svg index eeb7b1be8..c7f1483d3 100644 --- a/data/images/view-toggle-icon-list-active.svg +++ b/data/images/view-toggle-icon-list-active.svg @@ -1,21 +1,21 @@ - + view-toggle-icon-list-active Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + - + - + - + - + - + \ No newline at end of file diff --git a/data/images/view-toggle-icon-list-inactive.svg b/data/images/view-toggle-icon-list-inactive.svg index a43f1ea36..0f88ad444 100644 --- a/data/images/view-toggle-icon-list-inactive.svg +++ b/data/images/view-toggle-icon-list-inactive.svg @@ -1,21 +1,21 @@ - + view-toggle-icon-list-inactive Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + - + - + - + - + - + \ No newline at end of file diff --git a/data/images/view-toggle-inactive-left.svg b/data/images/view-toggle-inactive-left.svg index b9c816acd..c98f1aa42 100644 --- a/data/images/view-toggle-inactive-left.svg +++ b/data/images/view-toggle-inactive-left.svg @@ -4,11 +4,11 @@ Created with Sketch (http://www.bohemiancoding.com/sketch) - + - - + + \ No newline at end of file diff --git a/data/images/view-toggle-inactive-right.svg b/data/images/view-toggle-inactive-right.svg index 9f7fd9395..2000ece02 100644 --- a/data/images/view-toggle-inactive-right.svg +++ b/data/images/view-toggle-inactive-right.svg @@ -4,11 +4,11 @@ Created with Sketch (http://www.bohemiancoding.com/sketch) - + - - + + \ No newline at end of file diff --git a/data/images/view-toggle-pressed-left.svg b/data/images/view-toggle-pressed-left.svg index e412c3713..3561d5400 100644 --- a/data/images/view-toggle-pressed-left.svg +++ b/data/images/view-toggle-pressed-left.svg @@ -4,11 +4,11 @@ Created with Sketch (http://www.bohemiancoding.com/sketch) - + - - + + \ No newline at end of file diff --git a/data/images/view-toggle-pressed-right.svg b/data/images/view-toggle-pressed-right.svg index 6dd1ba919..43b4ca8bb 100644 --- a/data/images/view-toggle-pressed-right.svg +++ b/data/images/view-toggle-pressed-right.svg @@ -4,11 +4,11 @@ Created with Sketch (http://www.bohemiancoding.com/sketch) - + - - + + \ No newline at end of file From c267de4922eb4af7069d3eb1cd1f3c478920151c Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Thu, 6 Dec 2012 12:00:53 -0500 Subject: [PATCH 084/332] Add artist-icon.svg and give all sidebar icons a slight gradient --- data/images/album-icon.svg | 20 ++++-- data/images/album-placeholder-grid.svg | 15 +++-- data/images/artist-icon.svg | 15 +++++ data/images/charts.svg | 12 ++-- data/images/collection.svg | 14 ++-- data/images/dashboard.svg | 17 ++--- data/images/jump-link.svg | 65 +++--------------- data/images/loved.svg | 16 ++--- data/images/loved_playlist.svg | 14 ++-- data/images/new-releases.svg | 16 +++-- data/images/not-loved.svg | 6 +- data/images/playlist-icon.svg | 15 ++--- data/images/recently-played.svg | 13 ++-- data/images/share.svg | 60 +++-------------- data/images/station.svg | 18 ++--- data/images/supercollection.svg | 12 ++-- data/images/track-icon.svg | 57 +++++++++++++--- data/images/track-placeholder-grid.svg | 92 +++++++++++++++++++++++--- data/images/user-avatar.svg | 17 +++-- 19 files changed, 279 insertions(+), 215 deletions(-) create mode 100644 data/images/artist-icon.svg diff --git a/data/images/album-icon.svg b/data/images/album-icon.svg index abdfa6d9e..1fe79b739 100644 --- a/data/images/album-icon.svg +++ b/data/images/album-icon.svg @@ -1,10 +1,20 @@ - + album-icon Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/album-placeholder-grid.svg b/data/images/album-placeholder-grid.svg index f067113b8..53bcf47b8 100644 --- a/data/images/album-placeholder-grid.svg +++ b/data/images/album-placeholder-grid.svg @@ -2,11 +2,16 @@ album-placeholder-grid Created with Sketch (http://www.bohemiancoding.com/sketch) - - + + + + + + + - - - + + + \ No newline at end of file diff --git a/data/images/artist-icon.svg b/data/images/artist-icon.svg new file mode 100644 index 000000000..c7b726627 --- /dev/null +++ b/data/images/artist-icon.svg @@ -0,0 +1,15 @@ + + + artist-icon + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/charts.svg b/data/images/charts.svg index efb0bb784..3c2f1584f 100644 --- a/data/images/charts.svg +++ b/data/images/charts.svg @@ -3,14 +3,14 @@ charts Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + - - - + + + \ No newline at end of file diff --git a/data/images/collection.svg b/data/images/collection.svg index b24e994b7..682b61e4b 100644 --- a/data/images/collection.svg +++ b/data/images/collection.svg @@ -3,14 +3,14 @@ collection Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + - + - - - + + + \ No newline at end of file diff --git a/data/images/dashboard.svg b/data/images/dashboard.svg index 716bd73f8..d5cfb731d 100644 --- a/data/images/dashboard.svg +++ b/data/images/dashboard.svg @@ -3,18 +3,19 @@ dashboard Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + + - + - - - + + + \ No newline at end of file diff --git a/data/images/jump-link.svg b/data/images/jump-link.svg index 7a8b99b1a..16fbe1acf 100644 --- a/data/images/jump-link.svg +++ b/data/images/jump-link.svg @@ -1,58 +1,9 @@ - - -image/svg+xml \ No newline at end of file + + jump-link + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/loved.svg b/data/images/loved.svg index e772f281d..0f2fc65e6 100644 --- a/data/images/loved.svg +++ b/data/images/loved.svg @@ -3,17 +3,17 @@ loved Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + - + - - - + + + \ No newline at end of file diff --git a/data/images/loved_playlist.svg b/data/images/loved_playlist.svg index 62fa0b464..0293c7c2a 100644 --- a/data/images/loved_playlist.svg +++ b/data/images/loved_playlist.svg @@ -3,14 +3,14 @@ loved_playlist Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + - - - + + + \ No newline at end of file diff --git a/data/images/new-releases.svg b/data/images/new-releases.svg index 4818b7064..a562dce7d 100644 --- a/data/images/new-releases.svg +++ b/data/images/new-releases.svg @@ -3,17 +3,21 @@ new-releases Created with Sketch (http://www.bohemiancoding.com/sketch) - + + + + + - + - + - - - + + + \ No newline at end of file diff --git a/data/images/not-loved.svg b/data/images/not-loved.svg index 8af8b7b1e..dee499939 100644 --- a/data/images/not-loved.svg +++ b/data/images/not-loved.svg @@ -1,9 +1,9 @@ - + not-loved Created with Sketch (http://www.bohemiancoding.com/sketch) - - + + \ No newline at end of file diff --git a/data/images/playlist-icon.svg b/data/images/playlist-icon.svg index 5d9d3b91e..4b5dcff31 100644 --- a/data/images/playlist-icon.svg +++ b/data/images/playlist-icon.svg @@ -1,16 +1,15 @@ - + playlist-icon Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + + - - - - + + \ No newline at end of file diff --git a/data/images/recently-played.svg b/data/images/recently-played.svg index 5626728e8..5a781ca34 100644 --- a/data/images/recently-played.svg +++ b/data/images/recently-played.svg @@ -3,16 +3,17 @@ Slice 1 Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + + - + - - + + \ No newline at end of file diff --git a/data/images/share.svg b/data/images/share.svg index d7df7c012..aff85008d 100644 --- a/data/images/share.svg +++ b/data/images/share.svg @@ -1,53 +1,9 @@ - - -image/svg+xml \ No newline at end of file + + share + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/station.svg b/data/images/station.svg index 8a02ea1c2..533c057f2 100644 --- a/data/images/station.svg +++ b/data/images/station.svg @@ -3,20 +3,20 @@ station Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + - - + + - - + + - + diff --git a/data/images/supercollection.svg b/data/images/supercollection.svg index 4bbd3fbbc..e22cac7a5 100644 --- a/data/images/supercollection.svg +++ b/data/images/supercollection.svg @@ -3,16 +3,16 @@ supercollection Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + - + - - + + \ No newline at end of file diff --git a/data/images/track-icon.svg b/data/images/track-icon.svg index ca92a70bb..cebc3054d 100644 --- a/data/images/track-icon.svg +++ b/data/images/track-icon.svg @@ -1,9 +1,50 @@ - - track-placeholder-grid - Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - \ No newline at end of file + + +image/svg+xml \ No newline at end of file diff --git a/data/images/track-placeholder-grid.svg b/data/images/track-placeholder-grid.svg index 214466a1c..789c2edb9 100644 --- a/data/images/track-placeholder-grid.svg +++ b/data/images/track-placeholder-grid.svg @@ -1,9 +1,85 @@ - - track-placeholder-grid - Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - \ No newline at end of file + + +image/svg+xml \ No newline at end of file diff --git a/data/images/user-avatar.svg b/data/images/user-avatar.svg index 6b745dd9e..c6bff4ef9 100644 --- a/data/images/user-avatar.svg +++ b/data/images/user-avatar.svg @@ -2,13 +2,18 @@ user-avatar Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + + + + + + - - - + + + \ No newline at end of file From 97c9963c09a9592e4ca45f54096e7aba590ba6e5 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Thu, 6 Dec 2012 12:21:34 -0500 Subject: [PATCH 085/332] White radio and more sidebar icon gradients --- data/images/green-dot.svg | 16 +++++---- data/images/station.svg | 19 +++++++--- data/images/subscribe-off.svg | 63 ++++++++------------------------ data/images/subscribe-on.svg | 68 ++++++++++------------------------- 4 files changed, 57 insertions(+), 109 deletions(-) diff --git a/data/images/green-dot.svg b/data/images/green-dot.svg index 6b234ccdb..d6373d9ee 100644 --- a/data/images/green-dot.svg +++ b/data/images/green-dot.svg @@ -1,14 +1,18 @@ - + green-dot Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + - - + + + + + + \ No newline at end of file diff --git a/data/images/station.svg b/data/images/station.svg index 533c057f2..bf9a01d25 100644 --- a/data/images/station.svg +++ b/data/images/station.svg @@ -4,20 +4,29 @@ Created with Sketch (http://www.bohemiancoding.com/sketch) - - + + + + + + + + + + + - + - + - + \ No newline at end of file diff --git a/data/images/subscribe-off.svg b/data/images/subscribe-off.svg index 8b98cacb6..141e5f2c8 100644 --- a/data/images/subscribe-off.svg +++ b/data/images/subscribe-off.svg @@ -1,50 +1,15 @@ - - -image/svg+xml \ No newline at end of file + + subscribe-off + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/subscribe-on.svg b/data/images/subscribe-on.svg index fedf6fd4d..6aab575d7 100644 --- a/data/images/subscribe-on.svg +++ b/data/images/subscribe-on.svg @@ -1,50 +1,20 @@ - - -image/svg+xml \ No newline at end of file + + subscribe-on + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + \ No newline at end of file From ef8c9dd59f373739fd8872d1cc92cec344717aa4 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Thu, 6 Dec 2012 13:38:58 -0500 Subject: [PATCH 086/332] Another batch of SVGs --- data/images/add.svg | 10 ++++++++++ data/images/automatic-playlist.svg | 16 ++++++++++++++++ data/images/drop-album.svg | 14 ++++++++++++++ data/images/drop-all-songs.svg | 14 ++++++++++++++ data/images/drop-local-songs.svg | 18 ++++++++++++++++++ data/images/drop-song.svg | 14 ++++++++++++++ data/images/drop-top-songs.svg | 14 ++++++++++++++ data/images/view-toggle-icon-cloud-active.svg | 14 ++++++++++++++ .../images/view-toggle-icon-cloud-inactive.svg | 14 ++++++++++++++ 9 files changed, 128 insertions(+) create mode 100644 data/images/add.svg create mode 100644 data/images/automatic-playlist.svg create mode 100644 data/images/drop-album.svg create mode 100644 data/images/drop-all-songs.svg create mode 100644 data/images/drop-local-songs.svg create mode 100644 data/images/drop-song.svg create mode 100644 data/images/drop-top-songs.svg create mode 100644 data/images/view-toggle-icon-cloud-active.svg create mode 100644 data/images/view-toggle-icon-cloud-inactive.svg diff --git a/data/images/add.svg b/data/images/add.svg new file mode 100644 index 000000000..7ab0712d3 --- /dev/null +++ b/data/images/add.svg @@ -0,0 +1,10 @@ + + + add + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + \ No newline at end of file diff --git a/data/images/automatic-playlist.svg b/data/images/automatic-playlist.svg new file mode 100644 index 000000000..13db148fb --- /dev/null +++ b/data/images/automatic-playlist.svg @@ -0,0 +1,16 @@ + + + automatic-playlist + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/drop-album.svg b/data/images/drop-album.svg new file mode 100644 index 000000000..bfbedd051 --- /dev/null +++ b/data/images/drop-album.svg @@ -0,0 +1,14 @@ + + + drop-album + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/drop-all-songs.svg b/data/images/drop-all-songs.svg new file mode 100644 index 000000000..915f248df --- /dev/null +++ b/data/images/drop-all-songs.svg @@ -0,0 +1,14 @@ + + + drop-all-songs + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/drop-local-songs.svg b/data/images/drop-local-songs.svg new file mode 100644 index 000000000..0c6a1e7ff --- /dev/null +++ b/data/images/drop-local-songs.svg @@ -0,0 +1,18 @@ + + + drop-local-songs + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/drop-song.svg b/data/images/drop-song.svg new file mode 100644 index 000000000..a27cf9cc5 --- /dev/null +++ b/data/images/drop-song.svg @@ -0,0 +1,14 @@ + + + drop-local-songs + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/drop-top-songs.svg b/data/images/drop-top-songs.svg new file mode 100644 index 000000000..cac4a44d5 --- /dev/null +++ b/data/images/drop-top-songs.svg @@ -0,0 +1,14 @@ + + + drop-top-songs + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-icon-cloud-active.svg b/data/images/view-toggle-icon-cloud-active.svg new file mode 100644 index 000000000..e30ecbf82 --- /dev/null +++ b/data/images/view-toggle-icon-cloud-active.svg @@ -0,0 +1,14 @@ + + + view-toggle-icon-cloud-active + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-icon-cloud-inactive.svg b/data/images/view-toggle-icon-cloud-inactive.svg new file mode 100644 index 000000000..9196a8cde --- /dev/null +++ b/data/images/view-toggle-icon-cloud-inactive.svg @@ -0,0 +1,14 @@ + + + view-toggle-icon-cloud-inactive + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file From 9c4a19a08209ea7d75676575f2261b6e10a2b41e Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Thu, 6 Dec 2012 13:54:03 -0500 Subject: [PATCH 087/332] Some source logos as SVGs --- data/images/lastfm-icon.svg | 143 +++++++++ data/images/soundcloud.svg | 480 +++++++++++++++++++++++++++++ data/images/spotify-sourceicon.svg | 92 ++++++ 3 files changed, 715 insertions(+) create mode 100644 data/images/lastfm-icon.svg create mode 100644 data/images/soundcloud.svg create mode 100644 data/images/spotify-sourceicon.svg diff --git a/data/images/lastfm-icon.svg b/data/images/lastfm-icon.svg new file mode 100644 index 000000000..ae21acb6e --- /dev/null +++ b/data/images/lastfm-icon.svg @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/images/soundcloud.svg b/data/images/soundcloud.svg new file mode 100644 index 000000000..509972f24 --- /dev/null +++ b/data/images/soundcloud.svg @@ -0,0 +1,480 @@ + + + + + + + + + + +]> + + + + + + image/svg+xml + + + Adobe Illustrator CS3 + 2010-05-19T09:37:41+10:00 + 2010-05-19T09:37:41+10:00 + 2010-05-19T09:37:41+10:00 + + + + 256 + 148 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAlAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYqsmnggjMk0ixRjq7kKPvORnMRFk0ExiSaCC1jWbbTNKk1Fh60SBeAQj4ix AWh6U365j6rVxw4jk5htw4Dknw8nnWo/mJr90WEDJZxHoIwC1Pdmr+FM5LP27nn9NQHl+t3mPs3H Hn6kiuNX1O5Nbi7ml/15Gb9ZzWZNTkn9UpH4uXHDCPIAIXllDZSrDe3UBrBM8R8UYr+o5ZDJKP0k hjKAPMWnNj558x2ZAF0bhB+xOPUr/sj8f45sMPbGox/xcQ89/wBv2uNk0GKXSvcy3R/zJ025Kxaj GbOQ7eqPjjJ9/wBpf8983ul7fxz2yDhPf0dbm7MnHePq+9l8UsUsayxOJI3FUdSCCPEEZvoyEhYN h1hBBorskh2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KpLd+cdBtNTGnTz lZ6hXbiSisegZvpzX5e1MEMnhk7/AGOXDRZJQ4wNmMfmrNIH06LkfTIlYr25fCK5pvaORuA6b/oc /sgfUfcl1pNI/wCWt8HYssd4qoD2WsbUH0sTmNikT2fK+k/+Jb5itXH+r+tiPLNFTsncsaV3LGld yxpXcsaV3LGlTfQPNOp6LMDA/qWxNZbVz8DeNP5T7jM/RdoZNOfTvHu6ONqNJDKN+fe9Y0PXbDWb MXNo3TaWJvto3gw/Uc7bSayGeHFH5dzzmfTyxSqSY5lNDsVdirsVdirsVdirsVdirsVdirsVdirs VdirsVUba+srrn9VuI5/TPGT0nV+J8G4k0OVwywnfCQa7izljlHmCEnu/Omj2uupo0nqfWGZUaQA emrvTipNa9/DMLJ2pihm8I3xfZu5MNDOWPxByTPU9X03S4BPfzrBEx4qTUknwAAJOZWfU48QuZoN GLDPIaiLV7a5t7q3S4t5BLDKOUci7gjLMeSM4iUTYLCcDE0eapk2Lw/zU3/Oyal/zESf8SOefdof 38/6xet0g/dR9wZN+aswa704D7Jidgf9Yj+mbb2hlcoe4uB2RH0y96X6e5/5V3qg7C8jIHz9PMXD /iM/64/Q3ZB/hUf6p/SxXlmndjTuWK07litO5YrTuWK07litO5YrSP0TXL3R79Lu1bcbSRn7Lp3V sydJqp4J8Uf7WnPp45Y8Je06RqtpqunxXtqaxyDdT1Vh1U+4zvdNqI5oCceReVzYZY5GJRmXtTsV dirsVdirsVdirsVdirsVdirsVdiqTebPMB0LSfrqxCZ2kWJEJ4irAmp+hcwe0NZ+Xx8dXvTlaPTe NPhunQax+kfKb6msfpGW1lf061oyqwO/zGMdR4mmOSquJWWHgzcH9IML/KWT/cjfpXrCp4+NGpX8 c0Xs8fXIeTte2B6Y+9KvME6j8wJJKGiXcNR/q8Af1ZiayX+Gk/0x+hyNNH/Bq/olP/zdkITS07MZ z93p/wBc2PtEdoD+t+hw+xh9Xw/Si9CvJYPywlmRjG8UVwI3XqCZGoa/Nsu0mQx7PJG1CX3lr1EA dWAe8fck35U3c51u6tzIfSe3aRkJ2LrIgDfOjHMHsCZ8WQvbhv42HK7XgPDB63+tjHmRv+di1T/m Ln/5Otmq1v8Afz/ry+9z9KP3Uf6o+5k/5otS50v/AJhj+sZte3vqh/VcDsnlL3oDTZAfy91de63U J+8oP4Zj4T/gWQf0h+htyj/CYf1Sxblmop2NO5Y0tO5Y0tO5Y0tO5Y0tO5Y0tO5Y0tO5Y0tMt/Lr zG2n6sLGZqWd8Qm52WXojfT9k/2ZuextZ4WTgP0z+/p+p1vaWm44cQ+qP3PXM7N5p2KuxV2KuxV2 KuxV2KuxV2KuxV2KpXqHmXSNP1O1026lKXV3T0lCkj4m4ryParCmYuXW48cxCR9UnIx6Wc4GYGwY 7+bLAeXrZa/EbtCB7CKT+ua3t/8AuR/W/QXO7HH70/1f0hf5cmp+WEjg8jHa3lR8mlIGHRy/wA/1 Z/pRqY/4X/nR/Qx38pXH6du07m1JHyEif1zW9gf3sv6v6Q5vbA/dj+t+gpP5kmUed7qTqqXYr/sW AP6sw9Yf8Kkf6TlaWP8Ag4H9Fkv5wSD1NKTuBOfv9MfwzZ+0J3gP636HA7FG0vh+lfpElfypvAdu AlUfS4P8clpz/rfL4/ejMP8ADB8En/Ks18zN/wAw0n/ElzC7C/v/APNP6HJ7X/ufix/zFIH8wamw 6NdzkfIyNmv1m+aZ/pS+9ztMP3Uf6o+5kP5lOWu9KYmpaxjJPuSc2PbW8of1A4PZY9M/6yF0w/8A Ogaz/wAxNv8ArGVYP8Tyf1otmX/GYe4sY5ZqnYO5Yq7liruWKu5Yq7liruWKu5Yq4OQQQaEbgjFa e8+V9W/Sug2d6xrK6cZv+MifC/3kVzv9Dn8XDGXXr73jtXh8PIYppmW47sVdirsVdirsVdirsVdi rsVdiryz8wZ2Xz5px6+klvQfKZm/jnLdqy/wuHlw/e9F2dH/AAaXx+5NvzekA0exTu1wSPkEP9cy +3z+7iP6X6HG7GHrl7lvlycD8rL0gbrDdoa/5XL/AJqyOjl/gEvdJOpj/hkffFIfylkA8yzKf27R wP8AkZGf4Zg9gms5/qn7w5nbA/dD+t+gpH5nmVfNmov1CXchNP8AJffMHWn/AAiR/pH73L0kf3Mf 6rK/zhcfW9MWu4jlJHsSv9M2vtB9UPcXXdij0y+C3SpOX5T6iKU4Ssvz/eRn+ODAf9b5e/8ASFzD /DY+79aV/lcx/wAVoPGGWv3DMXsT/GPgXI7WH7n4hj+uN/ub1D/mJm/5OHNfqf72X9Y/e52nH7uP uH3Mh/MadXutIC9DpsLg+zFv6Zse15XKH/Cw4PZkajP+uULpLf8AOj69/wAZrT/iZyrB/iuT3xbM w/wiHukxrlmtc+ncsVp3LFadyxWncsVp3LFadyxWncsVp3LFaep/lDfGTTb6zJr6EqyKPASrTb6Y 86nsDJcJR7jfz/sed7Zx1OMu8fd/az/N+6Z2KuxV2KuxV2KuxVL9b17TdFtUur9ykMkqwqVBb4mq e3YAEnMfUamGGPFPldN+DTzymo86tEahew2FjcXs9fRto2lcLuaKK0HvlmXIIRMjyAa8eMzkIjmU L5e1uDW9Jh1GFGiWXkDG1CVZSVIqOvTK9LqBmxiY2ts1OA4pmB6K9rq+mXV5c2VvcJLdWhAuIlO6 k/r8DTpk4Z4SkYg3KPNjPDOMRIjY8nkn5lzqvnR23/dJDy+gBtvvzlO15f4T7qek7Lj/AIP77ZF+ cclLHTUp9qWRq/6qgfxzYdvn0xHmXC7EHql7gh/Lk5H5VaoaA8TOg+TBf+asr0kv8Bn8Wepj/hkf gk35UyU81haV528i/L7J/hmJ2Iaz/AuV2uP3PxCQ+Z2/52XVv+Yy4/5OtmBrP76f9aX3uZpR+6h/ VH3Mt/N6QPf6Y42D27MAfdq5te3jcoHydb2MPTL3qelTH/lUur8dil0qE/N4K/g2DAf8An/W/TFl mj/hsP6v/FJd+WDkecLYA7NHKD8vTJ/hmP2N/jA9x+5u7VH7g/Bj+ryF9VvXPVp5Sfpc5gZ98kj5 lzcIqEfcE/8AzBP+k6L/ANsm2/W+Z3an1Y/+Fx/S4fZo2n/wyX6FDSJK+S/MKU+zLZGv+s7D+GQw H/Bsg84/eWeYf4Rj90mOcs11OdTuWNLTuWNLTuWNLTuWNLTuWNLTuWNLTuWNLTuWNLSP0vX9W0pZ xp9wbc3AVZWUDkQtSKEg069syMOpyYr4DVtOXTQyVxC6UbnU9QumLXN1LOT1Mjs/X5k5XPLOX1En 4so4ox5ABZBfXduQ1vPJCw6GN2U/gRgjOUeRITLHGXMWyTRvzL8y6eyrNN9fgHWO43antJ9qvzrm y0/a+bHzPEPP9bg5+y8U+Q4T5fqeo+WvN+keYISbVzHcoKy2slA6+4/mX3GdLo9djzj08+557VaK eE78u9O8zXEdirFb3zHeRfmFY6KsgFlNas0kdBvKQ7g169IxTNZk1Uhq44/4TH7d/wBTsYaaJ0ss n8Ql9m360m/OWbjpmnQ/zzO//AJT/jfMTt4+iI83K7Ej65HyT3zZecvIN1dV/vrWM1r/AL94j/jb M3W5L0pPfEfa4mjh/hIHdL7kB+Uc/qeVnT/fV1In3qjf8bZR2JK8Hukf0N3bMaze+I/Sx78t7z1P PWqmvw3CXDCnj66sPwrmB2TO9TPzv73N7UhWmj5V9yR/mXIW86agK1CiFR/yJQ/rOYfaxvUS+H3B zOyx/g8fj95ZF+b1wXsdCNeQlWZ+Xj8MX/NWZ/bkrjj87/Q4PY0alP4fpQ3l2cr+VWub1InZQK9A ywj+OV6U/wCA5Pf/AMSz1Mf8Mh7v1pX+VshXzhbr/PHKp/4An+GY3YxrUD3FyO1h+4PvCQa8f9zm o/8AMVN/ycOYOp/vZf1j97m6f+7j/VH3Mq/NWQPf6U42D2KMB82Y5s+2TcoH+g67sgVGX9ZZpc4H 5U6zHTc3sdT7Ewn/AI0wYZf4DMf0h/vU5o/4ZA/0f+KQX5ZyMPOlgB0cTA/L0XP8Mp7IP+ER+P3F t7VH+Dy+H3hIdUP+5O7/AOM0n/EzmDm+s+8ubi+ge4Jz51kdpdGLEknSbM1PuhOZnaBsw/4XFxNC Np/8Mkt0Zh/g7zGK787Hb/no+DB/i+X/ADPvKc4/f4/877gx7lmA5zuWKu5Yq7liruWKu5Yq7lir uWKu5Yq7liruWKu5Yq7liqvZX93Y3Ud3aStDcQtyjkXqDk8eSUJCUTRDDJjE4mMhYL3byd5ng8w6 StyKJdRUS7hH7L06j/JbqP7M7XQ6wZ8d/wAQ5vH63SHDOunRD6D5on1DzRrekyBBFYMv1bjs1B8M nLx+KmQ02rM804HlHl+lnqNIIYYTHOXP9DCtc1Hh+b1u1fhintoK+0iKD/ycOanUZK1w8jEfj5u2 0+K9CfdI/j5K/wCdU9bjSYK/ZSZyP9YoP+Ncn28d4D3/AKGHYUdpn3fpR/mK95/lFatXeWC0iJ33 KMv/AFTy7VTvQj3RH4+TTpoVrj75Kf5O3QTR9VU9IZVlP0oe/wDsMj2HKsc/Ip7bheSPmGLflhck edbQMamdZlJ9/TZ/+Nc13ZMv8IHnf3Ox7Wj/AIOfKvvQf5gSB/OOqEbUlC/8Cij+GVdpb55e9t7O FYI+5PfzOnaTTPLLEijWheg6VZIq/qzM7WNwxf1f1OH2VGp5f6361DQZwv5YeYQN2E8VR7O0S5DT GtHk94/Qz1Ef8Mx+4/pQP5YyEedtPA6OJgfl6Dn+GU9k/wCMR+P3Fu7VH+Dy+H3hINVYnVLwk1Jn kqf9mcws31y95c3CPQPcGTfmXNzvtHIrxbSrdwD25M+bDtU3KH/Cx+l1/ZcajP8Arn9C3TJkH5Z6 xGT8RvYafTwP/GpxxH/A5j+kE5Y/4XA/0Shvy4kKeddMI3q0i/8ABQuP45V2Wa1Efj9xbO0xenl8 PvDH7pv9Km/12/WcwpjcubDkE683zpJJpHGvwaVZoa+ITMvWmzD/AIXFxNFGhP8Arya0c/8AOreY P+jP/k8cGD+5yf5v3pzf32P/ADvuSHlmHTmO5Y0ruWNK7ljSu5Y0ruWNK7ljSu5Y0ruWNK7ljSu5 Y0ruWNK7ljSu5Y0rK/y01xtN80QRM1Le/wD9GlXtyb+7Pz50H0nNl2Vn8PMB0lt+p1vamn8TCT1j v+tMvy91UP8AmNeyV21E3VB4kv63/GmZXZuW9VI/zuL9bR2lhrSx/o8P6mPeZ9RI88X94DvBfMQR /wAUvxHf/IzB1eT/AAiUu6X3OdpMX+Dxj3x+9P8A85bgP5is4lNVS0VtjUVeR/4AZmdtyvKB/R/S XC7Dj+6J/pfoDerXvL8odISvxNdmJhWmyNMR8+gw5p/4DAf0v1rhx/4dP+r+pZ+WV4INL8z/AOTZ et0r/dJJ/wA1YOyp8MMv9W/lae1cdzxf1q+dJB5En9HzhpT+M4T/AJGAp/xtmF2eazw97m9oRvBP 3KfnWQv5t1Yk1IupF/4Fqfwwa43nn/WKdBH9xD+qE38+TF9I8rdgNNjAHuAqk/TTMntA3DF/Ucbs 6NTy/wBdZotxT8uvMcVOs9pv85Af+NMjgl/guQecfvTnj/hWM+UvuQ35cOR510wg0POQfQYnByHZ n+MR/HRs7UH+Dy/HUJBeuWvJ2Y1ZpHJPuWOYU95FzYD0j3Mi8/T+rcaK1KL+iLTj40IZt/8Agszu 0TZh/wALi4HZ0aE/+GSa051P5fautfiF7bEj2INP1Y4v8Vn/AFgnKP8ACof1ZKP5fSBPOWlk71lK /wDBIw/jkezTWePvZdpR/cS9yQzyK80jr0ZiRXwJrmFLcubGNBNvM5/eab/2zrX/AIhmTq+cf6kX G0g2l/Xku0iQjy5ryfslbUn5icD+OHD/AHWT/N+9GYfvcf8AnfcklcxHLp1cVp1cVp1cVp1cVp1c Vp1cVp1cVp1cVp1cVp1cVp1cVp1cVp1cVpUt7h4LiKeM0eJ1dD7qajJRJBBHREoAgg9WU/ltYSDz 9bwkmtmZzIRt9hGT9ZzZ9mYz+ZA/m267tTIPyxP86kj8zQSR+Z9UgG7fXJlXpvWQ0+/MTVQrLIf0 j97l6WV4Yn+iPuZH+b1ubfzJbJUsPqMQDGu/FnXv/q5m9sQrKP6o/S4PYsuLEf6x/Qt1K1dPyn0m euz6hI1PYiVf1x45Yf4HE/0v1pxTvWzH9Afo/Wt/L22ebTfNDqTVdMlQAGlSwYj/AIhg7Ohccv8A UKe0p1PF/XCSeTY2l82aQg7XcL/Qjhj+rMTRRvND+sHL1xrBP+qXecozF5s1dd97uZt/8ty38cdb Gs0/6xXQm8EP6oTbz1bNDpPlaQ1/eaam9a+D/wDMzMnXwqGI/wBBxez5XPKP6f4+5rRIWb8uvMct RxWe0277SAf8b4MEf8FyHzj96c8v8Kxjyl9yG/LhDJ520tR2d260+zE7fwyHZovPH8dGztQ1p5fj qkN8rJe3CN9pZXB+YYjMPIKkfe5mPeI9zIvP8LQXGiITX/cPZ0PyDL/xrmd2hGjD/hcXB7OlYn/w ySzT4OX5f6tNvtfW1PDZXH/G+DHH/BpH+kE5Jf4VAf0ZKf5eqZPOelLWlJS3/AozfwyPZwvPH3su 0jWnn7kgmX05njBqEYrX5GmYchRc2O4tOfNMbxvpfIEc9NtXWp6gp1zJ1ca4f6kXF0hsS/ryb0dS fLXmCSuyrarT/Wnr/wAa4cI/dZP8370Zz++xj+t9yRVzEcx1cVdXFXVxV1cVdXFXVxV1cVdXFXVx V1cVdXFXVxV1cVVrSB7m7htk+3PIsa08XIUfryUIcRA72M5cMST0eseR9K9H8x/M03H4YC4Xbp9Z l9Raf7Fc6PQ4q1OQ936TbzXaGa9JiHf+gUxbzHp/L82fqtPhnvbVj/qyCNmPbxOYGpx/4ZXfIfod jpcn+BcXdGX6Uy/O+HjqmmT/AM8Dp/wDg/8AG+X9tx9cT5NHYEvRIeaL1+y9P8m9O/4r9Cf/AJGs T/zMyzUQrRR+B+f9rVpp3r5fEfL+xS/KCzE2i+YSRX10SHffpHJ2/wBnkeyIXDJ57fey7bnWTH5b /aGLflnD63nfTFpUK0jnvThE7D8RmB2ZG88fx0dl2rKtPL4feFv5kx+j531RKUq6P/wcSN/HB2lG s8vx0Xss3p4/jqyT82bX0NH8sbUMdu8LV6/CkVB+vM3taFQx+79TgdjTvJl99/ep+Wbbl+UvmBzt znJFfCMRN+vBpof4HP3/AKmWrl/h2MeX32lf5SxiTzratt+6imcfTGV/42zH7JF5x8XI7ZNac+8f ex7zEnpeYNTipT07udaDtxkYZh6gVkkP6R+9ztKbxRP9Efcy7837YwajpFRQiwSKp2P7tm2I/wBl mx7XhUo/1XWdiyuM/wCup6TBX8odbmrSl9Ht7AwDb/g8GKP+BzP9L9TLNL/DoD+if98gPysTn550 87UQTMQf+MDj9ZyrssXqI/H7i3drmtNL4feGP6uvp6tex048J5V4jtRyKZhZhUyPMubhNwifIMg/ MKEQz6EASQdGs9z/AJIZf4ZmdoRow/4XFwuzJWMn/DJKWiJ/zovmWXbeWxUeO0jk/rwYB/g+Q+cf vZZz/hOMeUvuDGeWYDsKdyxWncsVp3LFadyxWncsVp3LFadyxWncsVp3LFadyxWncsVp3LFadyxW mZ/lToL6n5nju2X/AEXTf38jdvU6RL8+XxfRmz7K0/HlvpHf9Tqu2NQMeEx6y2/W90WKJXeRUVXk oZHAALUFBU96DOrADxxJOzzfVtO5fnRpjU+GS3Fyx/4xxyqPxjGabLj/AMNj7r+932HL/rfL319o /WofnpDW00if+SSZP+DVD/xpkO247RPvZ+z59Ux7v0p55usSn5VSWtKG3s7UU8PRMZ7/AOrmVq4f 4JXdEfZTh6LJet4u+UvttB/knDx8sXUp6yXjgfJY4/4k5X2NGsRP9L9Abu3pfvgP6P6Sw/8AKe04 +fHSm9pFP13IoRH2/wBbNd2VD/CPcC7Ptif+DX3kfrUPzXtifPcyr9q4SA9O5QJ9P2cj2pD/AAg+ dM+x5f4MPK2W/nfAq6LpjqABHO0YHcBo67f8Bmf21H0R97rewJfvJDy/Ss8pWw/5U9qZ2HqQ3ste v2FI/wCNMdJD/A5e6SdbL/D4++LH/wAlIy/mu4fekdnIa9qmSMUzD7Gj+9P9X9Tm9vGsI/rfoKQe bravnjU7fjT1b59h1PqPX8eWYmrh+/kP6Tm6KX+DxPdH7mYfnnHS80iWn2o5lr2+FkP/ABtmx7bH qife6v2fPpmPMfpa0aCv5LaoacucrSUP+RJHv9HCuOGP+BS9/wCkLnl/rhH3foKT/k9Hz85xtSvp 28rV8Ngv/G2Y3ZA/ffAuX22a0/xDG/NCiPzNq8YNQl7cLX5SsMw9SKyy/rH73P0hvDA/0R9zLfzd gMNxodSKiwSMqOg4H+3M/taNGH9V1nYsrE/66B0iOn5Ya9LQfFeWy17/AAsp/wCNsqxD/BZn+kG7 Mf8ADMY/olhtc1ztadXFadXFadXFadXFadXFadXFadXFadXFadXFadXFadXFadXFaRujaRqGsahF YWERluJTsP2VXuzHso7nLMOGWSXDHm0580cUTKRoB9DeUvLFp5c0aOwhPOU/Hcz0oZJSNz8h0A8M 7DSaYYYcI+Lw+t1cs+QyPLp7k6zJcRSaztWuku2hQ3SIY0nKjmEYglQ3WhIyPALut2XHLh4b2Y3+ YXlK68zaVbWlrKkMsNykrNJWnp8WR6UHUcqjMPX6U5oAA8i5/ZmtGnmZEXcU18y6ZJqHlzUNPt1H qz27xwKdhz4/APbemX6jHx45RHUONpcohljM8gUt/LjQ73RvKttaXyeldMzyyR1BK822Bp340yns /DLHiAlzcjtTURy5jKO4SHyJ5S1bSvO2u311b+naP6iWs1RxdZpRKOI9lUV8DtmLotLPHnnIjbp8 Tbm9o62GTT44xPq2v4CkF+YHlnV7/wDMDR7m1s5p7N1gWedFJRPTmYvzYbLRCDvlWu0056iJAJG3 3tvZurxw0sxIgS32+Cdfm9pN9qPlaMWUD3EtvdJM0cSl34cHQkAb7cxXMntXFKeL0i6Lidi5owze o0DGvuRXlLRb2H8uYdLniaG7ltbhTE44srTtIyhgeh+Mdcs0uGQ0wgedH7ba9bnidWZg3ESH2Uxj 8nPLms6fqWo3WoWU1ovpLDGZkaMsS3I8Q1Kj4euYPZOnnCUjIEOx7c1WOcIiEhLe9ks8x+Udcn/M 71IrCV7K4uoZ/rCqxi9McDIS/QUNa/7WU6jSTOpsA0SC5Gl1uMaOjIcQiRXXrTIPzm0LVdStNMuL C1lujavKsqQqXYCUJQ8VBNP3eZfa+CUxExF1bg9haiGOUhIgXXPyv9aL0by1qa/lTJpEkLJqM1vO wt2orc3dnRTXoSKdcsw6aX5Xgr1EFqz6qH53jB9II3+9jv5O+W9atNfu76+spbWCO3aFWmRoyZWd DRQwFaKrVzD7J0045DKQIFOf23qscsQjGQJu9u6ki83+TPMs/nW+jttPlkjvblpYJ0RjEVlblyZw OIpX4q5i6vR5DmNRPqPwczRa7CNPEmQ9I379vJl/5xeWdWv4tMudMtJLpLUSQyxQqZJFDcSh4rVi PhPyzYdraacxExF06vsTVwgZCZq990FpnkzXl/KrULJrVk1G6uBdx2rCkpjQxjiVO4b4GIXK8ejy flZRr1E3XybsuuxfnYyv0gVfTq85Pl3zCDQ6XdgjqPQl/wCac0/5fJ/Nl8i738zi/nR+Ya/w95h/ 6td3/wAiJf8AmnH8vk/mn5J/M4v50fmHf4e8w/8AVru/+REv/NOP5fJ/NPyX8zi/nR+Yd/h7zD/1 a7v/AJES/wDNOP5fJ/NPyX8zi/nR+Yd/h7zD/wBWu7/5ES/804/l8n80/JfzOL+dH5h3+HvMP/Vr u/8AkRL/AM04/l8n80/JfzOL+dH5h3+HvMP/AFa7v/kRL/zTj+XyfzT8l/M4v50fmHf4e8w/9Wu7 /wCREv8AzTj+XyfzT8l/M4v50fmHf4e8w/8AVru/+REv/NOP5fJ/NPyX8zi/nR+Yd/h7zD/1a7v/ AJES/wDNOP5fJ/NPyX8zi/nR+Yd/h7zD/wBWu7/5ES/804/l8n80/JfzOL+dH5hVt/Knmi4fhDpN 4x7n0JABXxJAAwx0uU8oy+TGWswx5zj8wyvQvyb8x3jq+pumm2/VlJEspHsqniPpb6Mz8PZGSX1e kfa6zUduYofR6j8g9Z8ueVdG8vWn1fToeLNT1rh/ilkI/mbb7htm+0+lhhFRDzWq1mTPK5n4dAm+ ZDiuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV 2KuxV2KuxVzMFBZjQDck9AMVeJ6r+ZfnTzDrEll5WR4rdeXpRwRq8zou3qOzBuP0Up75z2TX5ss6 xcvteuw9lafBjEs258+XuWWPnv8AM3QtUt7TVrea79dgsdncRcXkqafupEWpb/gvlghrNTjkBIE3 0P6GWTs7R5oGUCI11B5e8f2PXtW1y10nRJdWv1aGKCMSSRGhcM1AI9iVLFjx60ze5MwhDik8th05 y5BCO5J/BeNv59/MnzNezDRFligTf0LSMEIp+zzlIrU08RXsM0B1mozE8HLyerHZ2k08R4lX3n9S O8ufmr5l0nWF03zWrPAWCTPLGIp4a9GooXkvc1FadDlmDtHJCfDl5faGnVdj4cmPjwc/I2C9A/Mb WtR0jylc6hpk3o3SPEI5QqPs8gB2cMu4Phm012WUMRlE77Ok7LwQy5xCYsb/AHIf8rdf1bXPLT3u qT/WLkXMkYk4InwqqkCiKo7+GQ7OzSyY7kbNs+19NDDm4YChSU/m95s8weX/ANE/oi6+rfWfrHr/ ALuOTl6fpcf7xXpTmemU9p6nJi4eA1d/ocnsTRYs/H4guq6nz7k+uNZ1JPy4GsLNTUTpaXXr8V/v mgDluNOH2j0pTMmWWX5fjv1cN/Y4ccEDq/Dr0cdV5Wwf8uvzU1W71oab5huVmjvKJa3BSOPhL2U+ mqCj9N+9M12h7RlKfDkPPk7ftTseEcfHiFcPMbnb49zLPzX8w6xoPl23vNKuPq1xJeJC78EeqGKR iKSKw6qMze0s88eMGJo3+t1vY2mx5spjMWOG/tHcjPI2s6lqnke11O+m9a+kS4LzcVWpjlkVfhUK uwUdss0eWU8IlI77/eWrtDBDHqTCIqO33B5Rpv5g/mpqkrQ6ddS3cqLzdIbW3cha0qQIvE5pMet1 MzUTfwH6npcvZmixi5gRHnI/rR9n+bHnnRb9YPMNsZ16yQzw/VpuJPVCqoPvU5bHtLNjlWQX8KLR PsbTZY3iNe42HsulapZ6rp1vqFk/qW1ygeNu/gQfAg7EeOb/AB5BOIkOReVzYZY5mEuYeU+cPzW1 u61htI8qAgK5iFxHGJZZpAaH01IYcfDap65pNV2jOU+DF/a9Joex8ccfiZ/fXID3pQ3nb80fLVxF Jq/rNDIaiK8iHB/EBwAQfk2Ufm9TiPruvNyh2fo9QCMdX/RL0XzH5uu2/LebzHpXOyuWSFovVQFk LTpG44upVhQmhpv1zbZ9Sfy5yR2O33uh0uij+bGKfqG/3E9Gvyo8w6xr3l24vNVuPrNxHePCj8ES iCKNgKRqo6scHZueeTGTI2b/AFJ7Z02PDlEYChw39p72ZO6RozuwVEBZmOwAG5JzYE06oC9g8W13 80/Net6s2n+VUeK35FYfRjEk8qj9s8g3Ed9gKdznPZu0cuSXDi5fa9Zp+x8GGHFm5+ZoBCwfmF+Y vlnUIo9eSWaBtzb3cYUutdzHKADX6SPbIR1uowy9fLzbZdmaXURJxUD3j9IewRa3b6h5bbV9PesU ts80DECqsFOxG4qrChGb4ZRLHxx7nljpzDL4c+kqYV+Ufm/zF5gudTTV7v6ytukRhHpxR8SxYH+7 VK9O+a7szVZMplxm6rudt21osWAR4BV31P6WRfmRrOpaN5Tub/TZvQu43iCScVegaQKdnDL0PhmX r8sseIyiaLg9l4IZc4jMXHf7kP8Albr+ra55ae91Sf6xci5kjEnBE+FVUgURVHfwyHZ2aWTHcjZt n2vpoYc3DAUKeZW/5hfmff6hNaabdyXMqFyIora3dgitStBHXbNRHW6mUqib+A/U9DLszRwiJTFD +sf1oyL80vzC0O8SPXrYyo25huYBbOyjrwZFQfTQ5Mdo58Z9Y+YpqPZGlzRvEa9xt7BoOuWOuaTb 6nZMTBOK8W+0rA0ZWHiDm+w5o5IiQ5F5bU6eWGZhLmEwy1odirUiLJGyN9lwVPyO2Ai0g0bfPk+j eefIOtS3djFIYRyRbxI/VhlhJqA+x49BsaEds5k4s2mncfn0e3jn02txiMjv3XRBZFof54iW5hXz Bp0RVGqt5bA8oyRx5em5Y9Dvxb6MysXa1kccfiHB1Hs/QPhSPuPX4px+duoCTyfYNbSB7a8uY3Dq dnT0ndfoOxy/tad4hXIlxewMdZ5XzjE/eE4/KKyt7byLYyxAepdtLNO4/ab1GQfcqAZf2bADCK6u L21kMtTIHpQ+xiX592UCvpF6qgTuJoZG7sq8GWv+qWb78wu2YD0nru7P2cyGpx6bFMPNVxJP+Sln LJUu0FmGJ6niyCv00yzUG9ID5RaNHER7QIHfL9KP/JA/86a//MZL/wAQTLeyf7r4tHb/APjH+aP0 pF+f5p+gf+jv/mTmN2z/AAfH9Dm+zf8AlP8AN/3zKbr/AMk+v/bEj/6hlzMl/iv+Z+h1sP8AH/8A kqf908UsfLV3eeWbzXLSrHTp1S5jHURMtRIKfyt19t+2aCGnMsZmP4S9dk1cYZhjl/ENvf3Mm8ze dR5i/Laziunrqtjfwx3Vesi+hNwl/wBlSje/zGZeo1Xi6cA/UJD7ju6/SaDwNWSPolA15bx2ei/l j/5LOx/4x3X/ACflzaaD/Fx8fvLoe1v8cl/m/cGCfkOa+Y9Q/wCYP/mama7sf+8Pudz7Rf3Uf636 CzX85tOtLjyXPdyqv1iykie3c05fvJFjZQfAhqke3tmw7UgDhJPMOp7CyyjqBEcpA38rSX8ttRuo /wAqdbmViHsfrv1c/wAvG3WUf8OxOY+gmRppHu4vuty+1cQOtgP53Df+mpLPyFsbaXUtVvXAM9tF FHDXqBMXLkf8iwMp7HgDKR6hyPaPIRCEehJ+z+17FcWlrchFuIUmEbCSMSKHCuvRhUGhFeub2UQe YeVjOUeRpi35tf8AkvtV/wCjf/qJjzD7S/uJfD7w7LsX/GofH/clJ/yKNfKN3/20JP8AkzDlHZH9 0f636A5XtD/fj+oPvLJPzDuZLfyTrEkdeRt2TbrSQhG/Bsy9bKsMvc4HZkRLUQB72EfkJZwfVtWv ioNxzjhDdwgBYgfM0r8s13Y8BUj1dv7R5DcI9NyyD85rK3n8kT3EgHq2ksUkLHrVnEZA/wBi+ZXa kAcJPdTg9hZCNQAOUgf1pX+VFzLN+W2pI5qtvLdRxjwUwrJ/xJzlPZ0r08vK/ucntmAGrie8R++k p/II1vNZ/wCMcH/EnyjsbnL4OT7R/TD4/oZf+cP/ACgd7/xkg/5Ormd2n/cn4fe6vsT/ABmPx+5B /kgf+dNf/mMl/wCIJkOyf7r4tvb/APjH+aP0sK/J0/8AO/XX/MPcf8nEzX9l/wB+fcXb9uf4sPeP uL0f81dPtbvyRqDzKOdqFngc9VdWA2/1lJX6c2vaMBLCb6Oh7HyyjqI112LH/wAh7iR9B1GAmscd 0GQeBeMA/wDERmN2OfQR5ub7RRHixP8AR/S9OzbvPOxVSvJ2t7SadYnnaJGcQRAF3KivFQSNz2yM jQvmyhHikBdW8o0n891W8uU1vTnjgMh9D6tQyRr04SK5TkR3NR8s0+Ptbc8Y28nps3s76Qcct+t9 fcxP8yfNnl7zLe2j6Lp7wzJyE9yyKkkxcjivFC3KlOp33zC12ohlI4B+12XZWiy6eJ8SVjoO56J5 h8m6lfflVY6ZwZ9U0+GG4SD9ovGhDx/MI7Ae4zZ5tLKWmEf4ogOi02uhDWyn/BIkftYf+XX5q2vl 3TG0jVreaW3idmtpYApdOZqyMrsm3Kp698wtF2gMUeGQNO17U7Hlnn4kCLPO0t83+Zb78wfMtlZ6 XausKVis4X3erkGSSTjULsor4AZVqc51OQCI9zfotJHQ4ZSmd+Z/QA9d8zeUzc/l/L5eshzkt7WJ LWtAWe24sv0vwp9ObrPp7wcA6D7nmNJrOHVDLLrI38f1PLvy2/MiDypFdaVq1vM1q0pkUxgepFLQ I6sjFdvhHfY5qNDrRhBjIbPRdq9lHUkTgRdfMILzv5rufPvmCxs9LtXEUZMNlC9PUZ5SC7tSoXZR 32ArXIavUHUTAiPc3dn6MaLFKUzvzPweweaLFNP/AC4v7BDyS000wK3iI4uAP4Zu88OHAY90f0PL aTJx6uMv507+ZYj+Q8ccuh6xFKoeOSZVdGFQVMZBBB7HMLsgXCQ83ae0RIyQI7v0sA/MXyfL5Y11 4YwTpt1WWxc1+zXeMnxQmnyoe+a3W6Xwp1/CeTuuy9cNRjs/WOf6/i9f/LD/AMljY/8AGO6/5Py5 u9B/i4+P3l5ftf8AxyXvj9weS/lr5y07ytql3eX0U0yT2/pRrAFJ5c1bfkybfDml0OpjhkSb5PTd q6GepgIxIFG90y87/mLf+czb6LpVlJHbPKGWKvOaaQVCghdgBXpv45bq9bLPUIjb72js/suOkvJO W9fAPVfJ3k9dJ8lrod5vLdRyfXuJqOU4oyg/5K0X6M3Gm03Bi4D15/F5rXa7xdR4keQqvg8d8va1 qf5debbmC+tzJHQw3cINOcdapLGT949jTNJhyy0uUgj3vVanTw12AGJ8x+osr8x/nqrxQp5dtXSX mGmlvFWnEfsKiM32u5r8vHMzP2t/qY+brdL7O0T4p2/op/58v7+//KS6vb+0+o3c8ds8tqTyKVuY 6dQCKjeh6dMydXOUtMTIUTX3hwezscYa4RieKI4t/wDNLB/y4/M3SfK2hz6feWs88sty9wHh4cQr RxpT4mXeqZr9Dro4YGJB5u47U7JnqMglEgARrf3ln2lecdI/MDTtW0W1t5rZmtWBkn4UBkqqkcS3 2W3zY49THUxlAAjZ0ubQz0U4ZJEH1dHmvknzbeeQtcvrDVbSRoJCqXkK0EiPHXi6cqBgQ3juKGua rS6g6aZjIbdXoNfoo63HGUDv07t0Z+Y/5nweZrOHSdJt5o7UyB5nmCiSRl2RFVS+1TXrU7ZZrteM o4YjZp7L7IOnkZzIuunR6b5A8ryaT5Lh0y8BW4uleS7QdVacfZ+arQH3zbaPT8GIRPM8/i892lqx l1BnHkOXweReV9dvPy9833dvqNu0kQrb3ca0DFQQySx1oD4jfcHNJp8p02UiQ8i9Rq9PHXYAYHfm P1FM/wAyPzRs/MmnR6TpNvKlu0iyTyzBVZiv2UVVL7VNa5drteMseGI2cfsrsiWCZnMi62p6b+Wm hXOi+T7K1ukMd1JynnjOxUymoU+4WlffNrocJx4gDzee7V1Ay55Sj9PL5PF/I3mqw8s+a7rUb6OW WExzRBIQpbkzgj7TIKfDmi0mojiyGR83re0NHLUYRCJANg7px55/NO5802i6JpNlJDb3Dr6gY85p iDVIwqVoOVD1Ncv1evOYcERsftcTs/scaeXiTkCR8h5vS/yx8qz+XfLEcN2ON9dubi6TrwLABUr/ AJKqK+9c2ug05xY6PM7vP9rawZ81x+mOw/Wy3M11jsVdirBPOX/KpPrrf4i+q/Xv92+l6vrV/wCL Pq3x1/1s12p/LX66v7fsd1ofz3D+64uH4V8OJS8of8qe/SKfoD6t+kK/uPW9b1eX/FX1rev+rg03 5Xi9FcXx/Sy135/g/e8XD5VXx4f0vQM2To3nvm//AJU5+kpP0/8AV/0hX9/6Pr+py/4t+q/tf62+ a3U/leL11xfH9DvNF+f4P3V8PnX2cX6E48j/APKvPSk/wp9X5U/fcOXr8e3L1v3vH57ZdpfA/wAn X6ft3cXtD81Y8e/0fZsyrMx1rAvOf/Kovr7f4j+r/X/92+l63q1/4s+rfF/wWa7U/luL95V/H9Du tB+e4f3V8Pwr4cX6Eb5G/wCVa85P8KfV/rHH95/efWOFd/7/APe8a/Rk9J4H+Tq/t+3dq7Q/N/5e 6+FfZsyPW/0Z+iLz9K0/RvpP9b5cqelT4q8fi6eGZWXh4TxfT1cDT8fiDg+u9vek/kj/AAT9Vuf8 KcPq/NfrPp+rTnTavq79PDKdL4VHw+TldofmOIePz6cv0KvnT/B36Ni/xV6X1L1R6Pq86+pxP2fT +LpXDqvC4f3nJjoPzHGfAvir7PiifLn+HP8ADsP6E4/oTjL6PHnx4829T7fxfb5ZLDwcA4Poa9V4 vinxP7zb9jAv+QCf8u//AE95r/8AA/L7Xdf65+f+xZh5S/wDRv8ADP1L1KfvPq/H1uP+VX95T55m 6fwf8nw/pdXrfzX+W4vjy/UyTMp17GfO3+A/q0f+K/q3Gh9D1a+tT9r0/T/e08eOYmq8Gv3lfj7X YaD8zf7ji/R8b2Y95W/5Ur+k4/0N9X+vVHo/WPrFeXbh9a25eFN8xsH5Ti9FX53+lz9Z/KHAfEvh 8uH/AHrMvNH6A/QVz/iDj+iPg+s8+fH+8XhXh8X2+PTM7UcHAeP6XU6PxfFHhfX0+Xn5MA/5AJ/y 7/8AT3mu/wAD8vtd3/rn5/7Fkvkj/lXX1q5/wp6f1j0x9Z9P1q8K7V9Xbr4ZlaXwLPh8/i6/tD83 wjx7rpy/Q354/wCVb/B/ir6t61P3def1jj7ej+94/hjqvA/ylfp+zdez/wA3/kOKvs+3ZL/Jv/Ko f0gv+Hfq/wCkP91er63q1p/ur618Vafy5Xpvy3F6K4vj+lv1357g/e3w+VV8eH9LPs2LpGK+ef8A lXvpRf4s+r8qfuefL1+Pfh6X73jXw2zD1fgf5Sv0/Zu7Ls/81Z8C/wBH27JN5R/5U1+kk/QX1b9I V/c+v6/Pl29L61+1/q75Rp/yvF6Kv4/pcvW/n+D97fD5V9vD+l6HmzdE8ul/5UP6r+p9X9Tkef8A vV9qu+ag/k76fa9HH+Uq2v8A2LJ/KP8Ayrj1f+da+pfWuO/pU+scab/b/eU8cy9N4F/u+G/tddrf zdfvuKvs/UyrMx1rsVf/2Q== + + + + + + uuid:971E3EA93164DF118E6D90B556E55533 + uuid:981E3EA93164DF118E6D90B556E55533 + + uuid:5D6A817A07F311DDB65DBE16EC1FED5E + uuid:5D6A817907F311DDB65DBE16EC1FED5E + + + + + 35.277778 + 21.166667 + Millimeters + + 1 + False + False + + + + Default Swatch Group + 0 + + + + Blanc + RGB + PROCESS + 255 + 255 + 255 + + + Noir + RGB + PROCESS + 0 + 0 + 0 + + + Fusain + RGB + PROCESS + 63 + 63 + 63 + + + Graphite + RGB + PROCESS + 102 + 102 + 102 + + + Cendre + RGB + PROCESS + 140 + 140 + 140 + + + Fumée + RGB + PROCESS + 179 + 179 + 179 + + + Latte + RGB + PROCESS + 228 + 189 + 149 + + + Capuccino + RGB + PROCESS + 213 + 150 + 88 + + + Mochaccino + RGB + PROCESS + 138 + 91 + 41 + + + Moka + RGB + PROCESS + 90 + 61 + 27 + + + Rouge Mars + RGB + PROCESS + 143 + 0 + 0 + + + Rubis + RGB + PROCESS + 191 + 0 + 0 + + + Rouge + RGB + PROCESS + 255 + 0 + 0 + + + Citrouille + RGB + PROCESS + 255 + 65 + 0 + + + Jus + RGB + PROCESS + 255 + 127 + 0 + + + Soleil + RGB + PROCESS + 255 + 191 + 0 + + + Jaune pur + RGB + PROCESS + 255 + 255 + 0 + + + Olivine + RGB + PROCESS + 191 + 225 + 14 + + + Vert choux + RGB + PROCESS + 127 + 195 + 27 + + + Jade + RGB + PROCESS + 95 + 146 + 21 + + + Menthe à l’eau + RGB + PROCESS + 48 + 124 + 31 + + + Emeraude + RGB + PROCESS + 0 + 76 + 31 + + + Bleu-vert + RGB + PROCESS + 1 + 83 + 82 + + + Bleu des mers du Sud + RGB + PROCESS + 4 + 115 + 144 + + + Cyan pur + RGB + PROCESS + 0 + 160 + 198 + + + Bleu hawaiien + RGB + PROCESS + 6 + 120 + 179 + + + Bleu crépuscule + RGB + PROCESS + 10 + 80 + 161 + + + Bleu nuit étoilée + RGB + PROCESS + 15 + 41 + 143 + + + Bleu fonds marins + RGB + PROCESS + 19 + 0 + 124 + + + Lavande fraîche + RGB + PROCESS + 72 + 48 + 147 + + + Violet + RGB + PROCESS + 75 + 0 + 125 + + + Améthyste + RGB + PROCESS + 129 + 1 + 125 + + + Framboise + RGB + PROCESS + 184 + 2 + 126 + + + Magenta pur + RGB + PROCESS + 240 + 3 + 127 + + + Rouge global + PROCESS + 100.000000 + RGB + 255 + 0 + 0 + + + Jus global + PROCESS + 100.000000 + RGB + 255 + 126 + 0 + + + Jaune pur global + PROCESS + 100.000000 + RGB + 255 + 255 + 0 + + + Vert global + PROCESS + 100.000000 + RGB + 51 + 160 + 43 + + + Cyan pur global + PROCESS + 100.000000 + RGB + 0 + 160 + 198 + + + Bleu fonds marins global + PROCESS + 100.000000 + RGB + 19 + 0 + 123 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/images/spotify-sourceicon.svg b/data/images/spotify-sourceicon.svg new file mode 100644 index 000000000..b20952cc8 --- /dev/null +++ b/data/images/spotify-sourceicon.svg @@ -0,0 +1,92 @@ + + + +image/svg+xml \ No newline at end of file From afa34f69cd597fcd9d54dadd44bf92b7b49b9148 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Thu, 6 Dec 2012 20:35:49 -0500 Subject: [PATCH 088/332] Add missing SVGs --- data/images/album-icon.svg | 4 ++-- data/images/automatic-playlist.svg | 2 +- data/images/charts.svg | 8 ++++---- data/images/closed-padlock.svg | 12 ++++++++++++ data/images/collection.svg | 6 +++--- data/images/dashboard.svg | 8 ++++---- data/images/drop-all-album.svg | 23 +++++++++++++++++++++++ data/images/info.svg | 4 ++-- data/images/jump-link.svg | 2 +- data/images/loved.svg | 18 +++++++++--------- data/images/loved_playlist.svg | 8 +++++--- data/images/new-releases.svg | 21 +++++++++------------ data/images/not-loved.svg | 4 ++-- data/images/playlist-icon.svg | 11 +++++------ data/images/recently-played.svg | 8 ++++---- data/images/repeat-1-on-pressed.svg | 14 +++++++------- data/images/repeat-1-on-rest.svg | 18 ++++++++---------- data/images/repeat-all-on-pressed.svg | 8 ++++---- data/images/repeat-all-on-rest.svg | 8 ++++---- data/images/repeat-off-pressed.svg | 8 ++++---- data/images/repeat-off-rest.svg | 8 ++++---- data/images/share.svg | 4 ++-- data/images/shuffle-off-pressed.svg | 8 ++++---- data/images/shuffle-off-rest.svg | 8 ++++---- data/images/shuffle-on-pressed.svg | 8 ++++---- data/images/shuffle-on-rest.svg | 8 ++++---- data/images/station.svg | 12 ++++++------ data/images/supercollection.svg | 6 +++--- data/images/view-toggle-active-centre.svg | 14 ++++++++++++++ data/images/view-toggle-active-left.svg | 14 ++++++++++++++ data/images/view-toggle-active-right.svg | 14 ++++++++++++++ data/images/view-toggle-pressed-left.svg | 10 +++++----- data/images/view-toggle-pressed-right.svg | 10 +++++----- 33 files changed, 196 insertions(+), 123 deletions(-) create mode 100644 data/images/closed-padlock.svg create mode 100644 data/images/drop-all-album.svg create mode 100644 data/images/view-toggle-active-centre.svg create mode 100644 data/images/view-toggle-active-left.svg create mode 100644 data/images/view-toggle-active-right.svg diff --git a/data/images/album-icon.svg b/data/images/album-icon.svg index 1fe79b739..e85d6b304 100644 --- a/data/images/album-icon.svg +++ b/data/images/album-icon.svg @@ -5,8 +5,8 @@ - - + + diff --git a/data/images/automatic-playlist.svg b/data/images/automatic-playlist.svg index 13db148fb..48913f5f7 100644 --- a/data/images/automatic-playlist.svg +++ b/data/images/automatic-playlist.svg @@ -10,7 +10,7 @@ - + \ No newline at end of file diff --git a/data/images/charts.svg b/data/images/charts.svg index 3c2f1584f..d53fb1841 100644 --- a/data/images/charts.svg +++ b/data/images/charts.svg @@ -1,16 +1,16 @@ - + charts Created with Sketch (http://www.bohemiancoding.com/sketch) - + - + - + \ No newline at end of file diff --git a/data/images/closed-padlock.svg b/data/images/closed-padlock.svg new file mode 100644 index 000000000..8bbfc41a1 --- /dev/null +++ b/data/images/closed-padlock.svg @@ -0,0 +1,12 @@ + + + closed-padlock + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/collection.svg b/data/images/collection.svg index 682b61e4b..74d36f586 100644 --- a/data/images/collection.svg +++ b/data/images/collection.svg @@ -1,5 +1,5 @@ - + collection Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -7,10 +7,10 @@ - + - + \ No newline at end of file diff --git a/data/images/dashboard.svg b/data/images/dashboard.svg index d5cfb731d..42dba0edb 100644 --- a/data/images/dashboard.svg +++ b/data/images/dashboard.svg @@ -1,5 +1,5 @@ - + dashboard Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -9,13 +9,13 @@ - + - + - + \ No newline at end of file diff --git a/data/images/drop-all-album.svg b/data/images/drop-all-album.svg new file mode 100644 index 000000000..c8caf31c9 --- /dev/null +++ b/data/images/drop-all-album.svg @@ -0,0 +1,23 @@ + + + drop-all-album + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/info.svg b/data/images/info.svg index 5230327f1..b369d3c0a 100644 --- a/data/images/info.svg +++ b/data/images/info.svg @@ -3,7 +3,7 @@ info Created with Sketch (http://www.bohemiancoding.com/sketch) - - + + \ No newline at end of file diff --git a/data/images/jump-link.svg b/data/images/jump-link.svg index 16fbe1acf..5911c4969 100644 --- a/data/images/jump-link.svg +++ b/data/images/jump-link.svg @@ -4,6 +4,6 @@ Created with Sketch (http://www.bohemiancoding.com/sketch) - + \ No newline at end of file diff --git a/data/images/loved.svg b/data/images/loved.svg index 0f2fc65e6..9eefb7108 100644 --- a/data/images/loved.svg +++ b/data/images/loved.svg @@ -1,19 +1,19 @@ - + loved Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - + + + + + - - - + + + \ No newline at end of file diff --git a/data/images/loved_playlist.svg b/data/images/loved_playlist.svg index 0293c7c2a..96eda1e34 100644 --- a/data/images/loved_playlist.svg +++ b/data/images/loved_playlist.svg @@ -7,10 +7,12 @@ - + - - + + + + \ No newline at end of file diff --git a/data/images/new-releases.svg b/data/images/new-releases.svg index a562dce7d..4f868209f 100644 --- a/data/images/new-releases.svg +++ b/data/images/new-releases.svg @@ -1,23 +1,20 @@ - + new-releases Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - + + + + - + - - - + + + \ No newline at end of file diff --git a/data/images/not-loved.svg b/data/images/not-loved.svg index dee499939..00a863f19 100644 --- a/data/images/not-loved.svg +++ b/data/images/not-loved.svg @@ -1,9 +1,9 @@ - + not-loved Created with Sketch (http://www.bohemiancoding.com/sketch) - + \ No newline at end of file diff --git a/data/images/playlist-icon.svg b/data/images/playlist-icon.svg index 4b5dcff31..7ecc0bed0 100644 --- a/data/images/playlist-icon.svg +++ b/data/images/playlist-icon.svg @@ -1,15 +1,14 @@ - + playlist-icon Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + - + \ No newline at end of file diff --git a/data/images/recently-played.svg b/data/images/recently-played.svg index 5a781ca34..2f8cb53a5 100644 --- a/data/images/recently-played.svg +++ b/data/images/recently-played.svg @@ -1,6 +1,6 @@ - - Slice 1 + + recently-played Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -8,11 +8,11 @@ - + - + diff --git a/data/images/repeat-1-on-pressed.svg b/data/images/repeat-1-on-pressed.svg index b6c0fb414..e9dfd3425 100644 --- a/data/images/repeat-1-on-pressed.svg +++ b/data/images/repeat-1-on-pressed.svg @@ -3,15 +3,15 @@ repeat-1-on-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - + - - - + + + - - - 1 + + + 1 diff --git a/data/images/repeat-1-on-rest.svg b/data/images/repeat-1-on-rest.svg index 0647a26d0..57ca557eb 100644 --- a/data/images/repeat-1-on-rest.svg +++ b/data/images/repeat-1-on-rest.svg @@ -3,16 +3,14 @@ repeat-1-on-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - - - 1 - + + + + + + + 1 + \ No newline at end of file diff --git a/data/images/repeat-all-on-pressed.svg b/data/images/repeat-all-on-pressed.svg index 7aa7cf8ef..3fd03f962 100644 --- a/data/images/repeat-all-on-pressed.svg +++ b/data/images/repeat-all-on-pressed.svg @@ -3,10 +3,10 @@ repeat-all-on-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + \ No newline at end of file diff --git a/data/images/repeat-all-on-rest.svg b/data/images/repeat-all-on-rest.svg index 75d155c14..b78c8f7f7 100644 --- a/data/images/repeat-all-on-rest.svg +++ b/data/images/repeat-all-on-rest.svg @@ -3,10 +3,10 @@ repeat-all-on-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + \ No newline at end of file diff --git a/data/images/repeat-off-pressed.svg b/data/images/repeat-off-pressed.svg index 2ee1414cb..405bb2877 100644 --- a/data/images/repeat-off-pressed.svg +++ b/data/images/repeat-off-pressed.svg @@ -3,10 +3,10 @@ repeat-off-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + \ No newline at end of file diff --git a/data/images/repeat-off-rest.svg b/data/images/repeat-off-rest.svg index 4f25d0e99..4063dce83 100644 --- a/data/images/repeat-off-rest.svg +++ b/data/images/repeat-off-rest.svg @@ -3,10 +3,10 @@ repeat-off-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + \ No newline at end of file diff --git a/data/images/share.svg b/data/images/share.svg index aff85008d..b6aa87471 100644 --- a/data/images/share.svg +++ b/data/images/share.svg @@ -1,9 +1,9 @@ - + share Created with Sketch (http://www.bohemiancoding.com/sketch) - + \ No newline at end of file diff --git a/data/images/shuffle-off-pressed.svg b/data/images/shuffle-off-pressed.svg index f7271fd3c..07f4af6a4 100644 --- a/data/images/shuffle-off-pressed.svg +++ b/data/images/shuffle-off-pressed.svg @@ -3,11 +3,11 @@ shuffle-off-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - + - - - + + + \ No newline at end of file diff --git a/data/images/shuffle-off-rest.svg b/data/images/shuffle-off-rest.svg index b551ba36d..d6c566a3c 100644 --- a/data/images/shuffle-off-rest.svg +++ b/data/images/shuffle-off-rest.svg @@ -3,11 +3,11 @@ shuffle-off-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - + - - - + + + \ No newline at end of file diff --git a/data/images/shuffle-on-pressed.svg b/data/images/shuffle-on-pressed.svg index 12bc05bb0..57fb4e1dd 100644 --- a/data/images/shuffle-on-pressed.svg +++ b/data/images/shuffle-on-pressed.svg @@ -3,11 +3,11 @@ shuffle-on-pressed Created with Sketch (http://www.bohemiancoding.com/sketch) - + - - - + + + \ No newline at end of file diff --git a/data/images/shuffle-on-rest.svg b/data/images/shuffle-on-rest.svg index 1b70ec51a..0e7ec5cf8 100644 --- a/data/images/shuffle-on-rest.svg +++ b/data/images/shuffle-on-rest.svg @@ -3,11 +3,11 @@ shuffle-on-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - + - - - + + + \ No newline at end of file diff --git a/data/images/station.svg b/data/images/station.svg index bf9a01d25..64966d825 100644 --- a/data/images/station.svg +++ b/data/images/station.svg @@ -1,5 +1,5 @@ - + station Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -7,7 +7,7 @@ - + @@ -19,14 +19,14 @@ - + - + - + - + \ No newline at end of file diff --git a/data/images/supercollection.svg b/data/images/supercollection.svg index e22cac7a5..d9d42ae2d 100644 --- a/data/images/supercollection.svg +++ b/data/images/supercollection.svg @@ -1,5 +1,5 @@ - + supercollection Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -7,11 +7,11 @@ - + - + diff --git a/data/images/view-toggle-active-centre.svg b/data/images/view-toggle-active-centre.svg new file mode 100644 index 000000000..e2b7c72cb --- /dev/null +++ b/data/images/view-toggle-active-centre.svg @@ -0,0 +1,14 @@ + + + view-toggle-active-centre + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-active-left.svg b/data/images/view-toggle-active-left.svg new file mode 100644 index 000000000..3ffc30e13 --- /dev/null +++ b/data/images/view-toggle-active-left.svg @@ -0,0 +1,14 @@ + + + view-toggle-active-left + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-active-right.svg b/data/images/view-toggle-active-right.svg new file mode 100644 index 000000000..7f45e334d --- /dev/null +++ b/data/images/view-toggle-active-right.svg @@ -0,0 +1,14 @@ + + + view-toggle-active-right + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/data/images/view-toggle-pressed-left.svg b/data/images/view-toggle-pressed-left.svg index 3561d5400..7ea9c32f7 100644 --- a/data/images/view-toggle-pressed-left.svg +++ b/data/images/view-toggle-pressed-left.svg @@ -3,12 +3,12 @@ view-toggle-pressed-left Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + - + \ No newline at end of file diff --git a/data/images/view-toggle-pressed-right.svg b/data/images/view-toggle-pressed-right.svg index 43b4ca8bb..c58c0ad03 100644 --- a/data/images/view-toggle-pressed-right.svg +++ b/data/images/view-toggle-pressed-right.svg @@ -3,12 +3,12 @@ view-toggle-pressed-right Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + - + \ No newline at end of file From b0c382e0b67f3d4e8f32f9da2c86ce0903f21964 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Thu, 6 Dec 2012 20:47:13 -0500 Subject: [PATCH 089/332] Add resolver rating stars as SVGs --- data/images/star-hover.svg | 17 +++++++++++++++++ data/images/star-unstarred.svg | 9 +++++++++ data/images/starred.svg | 17 +++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 data/images/star-hover.svg create mode 100644 data/images/star-unstarred.svg create mode 100644 data/images/starred.svg diff --git a/data/images/star-hover.svg b/data/images/star-hover.svg new file mode 100644 index 000000000..d856c6bba --- /dev/null +++ b/data/images/star-hover.svg @@ -0,0 +1,17 @@ + + + star-hover + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/star-unstarred.svg b/data/images/star-unstarred.svg new file mode 100644 index 000000000..6e3f28748 --- /dev/null +++ b/data/images/star-unstarred.svg @@ -0,0 +1,9 @@ + + + star-unstarred + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/starred.svg b/data/images/starred.svg new file mode 100644 index 000000000..def031c89 --- /dev/null +++ b/data/images/starred.svg @@ -0,0 +1,17 @@ + + + starred + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + \ No newline at end of file From 21fe9344afc39f0d0b1682806c655a9c492ced13 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Thu, 6 Dec 2012 20:52:12 -0500 Subject: [PATCH 090/332] Add missing search icon SVG --- data/images/search-icon.svg | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 data/images/search-icon.svg diff --git a/data/images/search-icon.svg b/data/images/search-icon.svg new file mode 100644 index 000000000..46e82487d --- /dev/null +++ b/data/images/search-icon.svg @@ -0,0 +1,14 @@ + + + search-icon + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file From e8bbc29999a2c1cdc6f79cd6f7de71260eb57c0f Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Thu, 6 Dec 2012 21:09:37 -0500 Subject: [PATCH 091/332] Add Account-none.svg --- data/images/account-none.svg | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 data/images/account-none.svg diff --git a/data/images/account-none.svg b/data/images/account-none.svg new file mode 100644 index 000000000..50ed8b5dc --- /dev/null +++ b/data/images/account-none.svg @@ -0,0 +1,16 @@ + + + account-none + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + \ No newline at end of file From c2d23965a0b5397da574c32e441dde880c276924 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Thu, 6 Dec 2012 21:13:39 -0500 Subject: [PATCH 092/332] And more account state icons --- data/images/account-offline.svg | 16 ++++++++++++++++ data/images/account-online.svg | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 data/images/account-offline.svg create mode 100644 data/images/account-online.svg diff --git a/data/images/account-offline.svg b/data/images/account-offline.svg new file mode 100644 index 000000000..2e936d3d6 --- /dev/null +++ b/data/images/account-offline.svg @@ -0,0 +1,16 @@ + + + account-offline + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/account-online.svg b/data/images/account-online.svg new file mode 100644 index 000000000..20b93ce09 --- /dev/null +++ b/data/images/account-online.svg @@ -0,0 +1,16 @@ + + + account-online + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + \ No newline at end of file From d515881f04d1fe46fed28c1c3974fcf8525bdf0b Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Thu, 6 Dec 2012 21:35:43 -0500 Subject: [PATCH 093/332] Add SIP icon placeholders --- data/images/new-releases.svg | 7 +++---- data/images/sipplugin-offline.svg | 11 +++++++++++ data/images/sipplugin-online.svg | 13 +++++++++++++ 3 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 data/images/sipplugin-offline.svg create mode 100644 data/images/sipplugin-online.svg diff --git a/data/images/new-releases.svg b/data/images/new-releases.svg index 4f868209f..f119e4fa9 100644 --- a/data/images/new-releases.svg +++ b/data/images/new-releases.svg @@ -3,10 +3,9 @@ new-releases Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + diff --git a/data/images/sipplugin-offline.svg b/data/images/sipplugin-offline.svg new file mode 100644 index 000000000..33efcbc6b --- /dev/null +++ b/data/images/sipplugin-offline.svg @@ -0,0 +1,11 @@ + + + sipplugin-offline + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + \ No newline at end of file diff --git a/data/images/sipplugin-online.svg b/data/images/sipplugin-online.svg new file mode 100644 index 000000000..babc57140 --- /dev/null +++ b/data/images/sipplugin-online.svg @@ -0,0 +1,13 @@ + + + sipplugin-online + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + \ No newline at end of file From 59e8cdc451219919ffce33c77470bbcde2a1fc6a Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Thu, 6 Dec 2012 21:38:57 -0500 Subject: [PATCH 094/332] OK svg --- data/images/ok.svg | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 data/images/ok.svg diff --git a/data/images/ok.svg b/data/images/ok.svg new file mode 100644 index 000000000..069c046e8 --- /dev/null +++ b/data/images/ok.svg @@ -0,0 +1,14 @@ + + + ok + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file From c12f7ba5adb5e751b3ed0cfcde8d9bf96b6028fd Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 7 Dec 2012 03:49:25 +0100 Subject: [PATCH 095/332] * Replace a ton more old PNGs with new SVG icon-set. --- data/stylesheets/topbar-radiobuttons.css | 6 +- resources.qrc | 60 ++++++++--------- src/SocialWidget.cpp | 2 +- src/libtomahawk/ActionCollection.cpp | 6 +- src/libtomahawk/ViewManager.cpp | 2 +- src/libtomahawk/accounts/AccountDelegate.cpp | 45 +++++-------- src/libtomahawk/accounts/AccountDelegate.h | 2 +- .../AccountFactoryWrapperDelegate.cpp | 16 ++--- .../accounts/AccountFactoryWrapperDelegate.h | 1 - .../accounts/lastfm/LastFmAccount.cpp | 10 ++- .../accounts/lastfm/LastFmAccount.h | 17 +++-- .../accounts/lastfm/LastFmConfig.ui | 2 +- .../accounts/spotify/SpotifyAccount.cpp | 4 +- .../jobview/PipelineStatusItem.cpp | 10 +-- src/libtomahawk/jobview/PipelineStatusItem.h | 2 - src/libtomahawk/playlist/TrackView.cpp | 2 +- src/libtomahawk/playlist/TreeModel.cpp | 4 +- .../dynamic/widgets/DynamicWidget.cpp | 2 +- src/libtomahawk/utils/ShortenedLinkParser.cpp | 9 +-- src/libtomahawk/utils/ShortenedLinkParser.h | 1 - src/libtomahawk/utils/SoundcloudParser.cpp | 9 +-- src/libtomahawk/utils/SoundcloudParser.h | 1 - src/libtomahawk/utils/TomahawkUtils.h | 18 ++++++ src/libtomahawk/utils/TomahawkUtilsGui.cpp | 64 ++++++++++++++++++- src/libtomahawk/widgets/SearchWidget.cpp | 7 ++ src/libtomahawk/widgets/SearchWidget.h | 2 +- src/libtomahawk/widgets/WelcomeWidget.cpp | 2 +- src/libtomahawk/widgets/WelcomeWidget.h | 4 -- src/sourcetree/SourceDelegate.cpp | 29 +++++++-- src/sourcetree/SourceDelegate.h | 1 - src/sourcetree/SourcesModel.cpp | 2 +- src/sourcetree/items/CategoryItems.cpp | 17 +++-- src/sourcetree/items/CategoryItems.h | 2 - src/sourcetree/items/PlaylistItems.cpp | 6 +- src/sourcetree/items/PlaylistItems.h | 2 - src/sourcetree/items/SourceItem.cpp | 4 +- src/sourcetree/items/TemporaryPageItem.cpp | 2 +- src/widgets/AccountListWidget.cpp | 9 ++- src/widgets/AccountsToolButton.cpp | 6 +- src/widgets/AccountsToolButton.h | 1 - 40 files changed, 216 insertions(+), 175 deletions(-) diff --git a/data/stylesheets/topbar-radiobuttons.css b/data/stylesheets/topbar-radiobuttons.css index 37f1e228b..81f6aa7a0 100644 --- a/data/stylesheets/topbar-radiobuttons.css +++ b/data/stylesheets/topbar-radiobuttons.css @@ -22,7 +22,7 @@ QRadioButton::indicator::unchecked { image: url(:/data/images/view-toggle-icon-list-inactive.svg); } QRadioButton::indicator::checked { - background-image: url(:/data/images/view-toggle-active-centre.png); + background-image: url(:/data/images/view-toggle-active-centre.svg); image: url(:/data/images/view-toggle-icon-list-active.svg); } QRadioButton::indicator::pressed { @@ -34,7 +34,7 @@ QRadioButton#radioNormal::indicator::unchecked { image: url(:/data/images/view-toggle-icon-artist-inactive.svg); } QRadioButton#radioNormal::indicator::checked { - background-image: url(:/data/images/view-toggle-active-left.png); + background-image: url(:/data/images/view-toggle-active-left.svg); image: url(:/data/images/view-toggle-icon-artist-active.svg); } QRadioButton#radioNormal::indicator::pressed { @@ -46,7 +46,7 @@ QRadioButton#radioCloud::indicator::unchecked { image: url(:/data/images/view-toggle-icon-grid-inactive.svg); } QRadioButton#radioCloud::indicator::checked { - background-image: url(:/data/images/view-toggle-active-right.png); + background-image: url(:/data/images/view-toggle-active-right.svg); image: url(:/data/images/view-toggle-icon-grid-active.svg); } QRadioButton#radioCloud::indicator::pressed { diff --git a/resources.qrc b/resources.qrc index 5d5f66e70..814aa94f6 100644 --- a/resources.qrc +++ b/resources.qrc @@ -9,7 +9,6 @@ data/images/no-artist-image-placeholder.svg data/images/artist-placeholder-grid.svg data/images/album-placeholder-grid.svg - data/images/track-placeholder.png data/images/track-placeholder-grid.svg data/images/now-playing-panel.png data/images/now-playing-speaker.svg @@ -36,13 +35,11 @@ data/images/skip-pressed.svg data/images/skip-rest.svg data/images/user-avatar.svg - data/images/view-toggle-active-centre.png - data/images/view-toggle-active-left.png - data/images/view-toggle-active-right.png + data/images/view-toggle-active-centre.svg + data/images/view-toggle-active-left.svg + data/images/view-toggle-active-right.svg data/images/view-toggle-icon-artist-active.svg data/images/view-toggle-icon-artist-inactive.svg - data/images/view-toggle-icon-cloud-active.png - data/images/view-toggle-icon-cloud-inactive.png data/images/view-toggle-icon-grid-active.svg data/images/view-toggle-icon-grid-inactive.svg data/images/view-toggle-icon-list-active.svg @@ -67,31 +64,30 @@ data/images/info.svg data/images/back.svg data/images/forward.svg - data/images/music-icon.png data/images/configure.svg - data/images/private-listening.png - data/images/add.png - data/images/recently-played.png + data/images/private-listening.svg + data/images/add.svg + data/images/recently-played.svg data/images/supercollection.svg - data/images/sipplugin-online.png - data/images/sipplugin-offline.png + data/images/sipplugin-online.svg + data/images/sipplugin-offline.svg data/images/advanced-settings.svg data/images/account-settings.svg data/images/music-settings.svg - data/images/automatic-playlist.png + data/images/automatic-playlist.svg data/images/station.svg data/images/new-additions.svg data/images/charts.svg data/images/new-releases.svg data/images/loved_playlist.svg data/images/dashboard.svg - data/images/artist-icon.png + data/images/artist-icon.svg data/images/album-icon.svg data/images/track-icon.svg - data/images/search-icon.png - data/images/star-hover.png - data/images/starred.png - data/images/star-unstarred.png + data/images/search-icon.svg + data/images/star-hover.svg + data/images/starred.svg + data/images/star-unstarred.svg data/images/apply-check.svg data/stylesheets/topbar-radiobuttons.css data/icons/tomahawk-icon-16x16.png @@ -111,23 +107,23 @@ data/sql/dbmigrate-27_to_28.sql data/sql/dbmigrate-28_to_29.sql data/js/tomahawk.js - data/images/drop-all-songs.png - data/images/drop-local-songs.png - data/images/drop-top-songs.png - data/images/drop-song.png - data/images/drop-album.png + data/images/drop-all-songs.svg + data/images/drop-local-songs.svg + data/images/drop-top-songs.svg + data/images/drop-song.svg + data/images/drop-album.svg data/images/spotify-logo.png data/images/itunes.png data/images/uploading.svg data/images/downloading.svg - data/images/headphones-off.png - data/images/closed-padlock.png + data/images/headphones-off.svg + data/images/closed-padlock.svg data/images/open-padlock.svg data/images/headphones.svg data/images/no-album-no-case.svg data/images/rdio.png data/images/grooveshark.png - data/images/lastfm-icon.png + data/images/lastfm-icon.svg data/images/spotifycore-logo.png data/images/share.svg data/images/process-stop.svg @@ -140,16 +136,16 @@ data/images/subscribe-on.svg data/images/subscribe-off.svg data/images/add-contact.svg - data/images/account-none.png + data/images/account-none.svg data/images/green-dot.svg data/images/exfm.png - data/images/soundcloud.png + data/images/soundcloud.svg data/images/resolver-default.svg - data/images/spotify-sourceicon.png - data/images/account-offline.png - data/images/account-online.png + data/images/spotify-sourceicon.svg + data/images/account-offline.svg + data/images/account-online.svg data/images/cancel.svg data/images/delete.svg - data/images/ok.png + data/images/ok.svg diff --git a/src/SocialWidget.cpp b/src/SocialWidget.cpp index 2d3fe45b6..a1fe34e59 100644 --- a/src/SocialWidget.cpp +++ b/src/SocialWidget.cpp @@ -67,7 +67,7 @@ SocialWidget::SocialWidget( QWidget* parent ) ui->charsLeftLabel->setForegroundRole( QPalette::Text ); ui->charsLeftLabel->setStyleSheet( "text: black" ); ui->buttonBox->button( QDialogButtonBox::Ok )->setText( tr( "Tweet" ) ); - ui->buttonBox->button( QDialogButtonBox::Ok )->setIcon( ImageRegistry::instance()->icon( RESPATH "images/ok.png" ) ); + ui->buttonBox->button( QDialogButtonBox::Ok )->setIcon( ImageRegistry::instance()->icon( RESPATH "images/ok.svg" ) ); ui->buttonBox->button( QDialogButtonBox::Cancel )->setIcon( ImageRegistry::instance()->icon( RESPATH "images/cancel.svg" ) ); ui->textEdit->setStyleSheet( "border: 1px solid " + TomahawkUtils::Colors::BORDER_LINE.name() ); diff --git a/src/libtomahawk/ActionCollection.cpp b/src/libtomahawk/ActionCollection.cpp index 449ac9154..f777be9f9 100644 --- a/src/libtomahawk/ActionCollection.cpp +++ b/src/libtomahawk/ActionCollection.cpp @@ -57,10 +57,10 @@ void ActionCollection::initActions() { QAction *latchOn = new QAction( tr( "&Listen Along" ), this ); - latchOn->setIcon( QIcon( RESPATH "images/headphones-sidebar.png" ) ); + latchOn->setIcon( ImageRegistry::instance()->icon( RESPATH "images/headphones.svg" ) ); m_actionCollection[ "latchOn" ] = latchOn; QAction *latchOff = new QAction( tr( "Stop &Listening Along" ), this ); - latchOff->setIcon( QIcon( RESPATH "images/headphones-off.png" ) ); + latchOff->setIcon( ImageRegistry::instance()->icon( RESPATH "images/headphones-off.svg" ) ); m_actionCollection[ "latchOff" ] = latchOff; QAction *realtimeFollowingAlong = new QAction( tr( "&Follow in real-time" ), this ); @@ -69,7 +69,7 @@ ActionCollection::initActions() bool isPublic = TomahawkSettings::instance()->privateListeningMode() == TomahawkSettings::PublicListening; QAction *privacyToggle = new QAction( ( isPublic ? tr( "&Listen Privately" ) : tr( "&Listen Publicly" ) ), this ); - privacyToggle->setIcon( QIcon( RESPATH "images/private-listening.png" ) ); + privacyToggle->setIcon( ImageRegistry::instance()->icon( RESPATH "images/private-listening.svg" ) ); privacyToggle->setIconVisibleInMenu( isPublic ); m_actionCollection[ "togglePrivacy" ] = privacyToggle; connect( m_actionCollection[ "togglePrivacy" ], SIGNAL( triggered() ), SLOT( togglePrivateListeningMode() ), Qt::UniqueConnection ); diff --git a/src/libtomahawk/ViewManager.cpp b/src/libtomahawk/ViewManager.cpp index c11074012..76ddc7d2f 100644 --- a/src/libtomahawk/ViewManager.cpp +++ b/src/libtomahawk/ViewManager.cpp @@ -393,7 +393,7 @@ ViewManager::showRecentPlaysPage() if ( !m_recentPlaysWidget ) { FlexibleView* pv = new FlexibleView( m_widget ); - pv->setPixmap( QPixmap( RESPATH "images/recently-played.png" ) ); + pv->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::RecentlyPlayed ) ); RecentlyPlayedModel* raModel = new RecentlyPlayedModel( pv ); raModel->setTitle( tr( "Recently Played Tracks" ) ); diff --git a/src/libtomahawk/accounts/AccountDelegate.cpp b/src/libtomahawk/accounts/AccountDelegate.cpp index 700d4852d..b8816c989 100644 --- a/src/libtomahawk/accounts/AccountDelegate.cpp +++ b/src/libtomahawk/accounts/AccountDelegate.cpp @@ -60,21 +60,6 @@ AccountDelegate::AccountDelegate( QObject* parent ) , m_accountRowHeight( -1 ) , m_model( 0 ) { - m_defaultCover.load( RESPATH "images/sipplugin-online.png" ); - m_ratingStarPositive.load( RESPATH "images/starred.png" ); - m_ratingStarNegative.load( RESPATH "images/star-unstarred.png" ); - m_onHoverStar.load( RESPATH "images/star-hover.png" ); - m_onlineIcon.load( RESPATH "images/sipplugin-online.png" ); - m_offlineIcon.load( RESPATH "images/sipplugin-offline.png" ); - - m_ratingStarPositive = m_ratingStarPositive.scaled( STAR_SIZE, STAR_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); - m_ratingStarNegative = m_ratingStarNegative.scaled( STAR_SIZE, STAR_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); - m_onlineIcon = m_onlineIcon.scaled( STATUS_ICON_SIZE, STATUS_ICON_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); - m_offlineIcon = m_offlineIcon.scaled( STATUS_ICON_SIZE, STATUS_ICON_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); - m_onHoverStar = m_onHoverStar.scaled( STAR_SIZE, STAR_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); - - m_defaultCover = m_defaultCover.scaled( ICONSIZE, ICONSIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); - } @@ -186,7 +171,7 @@ AccountDelegate::paint ( QPainter* painter, const QStyleOptionViewItem& option, QPixmap p = index.data( Qt::DecorationRole ).value< QPixmap >(); QRect pixmapRect( leftEdge + PADDING, center - ICONSIZE/2, ICONSIZE, ICONSIZE ); if ( p.isNull() ) // default image... TODO - p = m_defaultCover; + p = TomahawkUtils::defaultPixmap( TomahawkUtils::SipPluginOnline, TomahawkUtils::Original, pixmapRect.size() ); else p = p.scaled( pixmapRect.size(), Qt::KeepAspectRatio, Qt::SmoothTransformation ); @@ -350,7 +335,7 @@ AccountDelegate::paint ( QPainter* painter, const QStyleOptionViewItem& option, int starsTop = runningBottom + PADDING; for ( int i = 1; i < 6; i++ ) { - QRect r( runningEdge, starsTop, m_ratingStarPositive.width(), m_ratingStarPositive.height() ); + QRect r( runningEdge, starsTop, STAR_SIZE, STAR_SIZE ); // QRect r( runningEdge, opt.rect.top() + PADDING, m_ratingStarPositive.width(), m_ratingStarPositive.height() ); if ( i == 1 ) m_cachedStarRects[ index ] = r; @@ -361,23 +346,23 @@ AccountDelegate::paint ( QPainter* painter, const QStyleOptionViewItem& option, m_hoveringItem == index ) { if ( i <= m_hoveringOver ) // positive star - painter->drawPixmap( r, m_onHoverStar ); + painter->drawPixmap( r, TomahawkUtils::defaultPixmap( TomahawkUtils::StarHovered, TomahawkUtils::Original, r.size() ) ); else - painter->drawPixmap( r, m_ratingStarNegative ); + painter->drawPixmap( r, TomahawkUtils::defaultPixmap( TomahawkUtils::Unstarred, TomahawkUtils::Original, r.size() ) ); } else { if ( i <= rating ) // positive or rated star { if ( userHasRated ) - painter->drawPixmap( r, m_onHoverStar ); + painter->drawPixmap( r, TomahawkUtils::defaultPixmap( TomahawkUtils::StarHovered, TomahawkUtils::Original, r.size() ) ); else - painter->drawPixmap( r, m_ratingStarPositive ); + painter->drawPixmap( r, TomahawkUtils::defaultPixmap( TomahawkUtils::Starred, TomahawkUtils::Original, r.size() ) ); } else - painter->drawPixmap( r, m_ratingStarNegative ); + painter->drawPixmap( r, TomahawkUtils::defaultPixmap( TomahawkUtils::Unstarred, TomahawkUtils::Original, r.size() ) ); } - runningEdge += m_ratingStarPositive.width() + PADDING_BETWEEN_STARS; + runningEdge += STAR_SIZE + PADDING_BETWEEN_STARS; } // downloaded num times @@ -508,7 +493,7 @@ AccountDelegate::editorEvent( QEvent* event, QAbstractItemModel* model, const QS if ( m_cachedStarRects.contains( index ) ) { QRect fullStars = m_cachedStarRects[ index ]; - const int starsWidth = 5 * ( m_ratingStarPositive.width() + PADDING_BETWEEN_STARS ); + const int starsWidth = 5 * ( STAR_SIZE + PADDING_BETWEEN_STARS ); fullStars.setWidth( starsWidth ); QMouseEvent* me = static_cast< QMouseEvent* >( event ); @@ -560,26 +545,26 @@ AccountDelegate::drawStatus( QPainter* painter, const QPointF& rightTopEdge, Acc QPixmap p; QString statusText; + const int yPos = rightTopEdge.y(); + const QRect connectIconRect( rightTopEdge.x() - STATUS_ICON_SIZE, yPos, STATUS_ICON_SIZE, STATUS_ICON_SIZE ); const Account::ConnectionState state = acct->connectionState(); + if ( state == Account::Connected ) { - p = m_onlineIcon; + p = TomahawkUtils::defaultPixmap( TomahawkUtils::SipPluginOnline, TomahawkUtils::Original, connectIconRect.size() ); statusText = tr( "Online" ); } else if ( state == Account::Connecting ) { - p = m_offlineIcon; + p = TomahawkUtils::defaultPixmap( TomahawkUtils::SipPluginOffline, TomahawkUtils::Original, connectIconRect.size() ); statusText = tr( "Connecting..." ); } else { - p = m_offlineIcon; + p = TomahawkUtils::defaultPixmap( TomahawkUtils::SipPluginOffline, TomahawkUtils::Original, connectIconRect.size() ); statusText = tr( "Offline" ); } - const int yPos = rightTopEdge.y(); - const QRect connectIconRect( rightTopEdge.x() - STATUS_ICON_SIZE, yPos, STATUS_ICON_SIZE, STATUS_ICON_SIZE ); - if ( state == Account::Connecting ) { if ( !m_connectingSpinners.contains( acct ) ) diff --git a/src/libtomahawk/accounts/AccountDelegate.h b/src/libtomahawk/accounts/AccountDelegate.h index 1a8ce467a..ab5cc86ef 100644 --- a/src/libtomahawk/accounts/AccountDelegate.h +++ b/src/libtomahawk/accounts/AccountDelegate.h @@ -70,7 +70,6 @@ private: QRect checkRectForIndex( const QStyleOptionViewItem &option, const QModelIndex &idx ) const; - QPixmap m_offlineIcon, m_onlineIcon, m_defaultCover, m_onHoverStar, m_ratingStarPositive, m_ratingStarNegative; int m_hoveringOver; QPersistentModelIndex m_hoveringItem, m_configPressed; mutable QHash< QPersistentModelIndex, QRect > m_cachedButtonRects; @@ -85,6 +84,7 @@ private: }; } + } #endif // ACCOUNTDELEGATE_H diff --git a/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.cpp b/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.cpp index d402deb9c..e70b53af0 100644 --- a/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.cpp +++ b/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.cpp @@ -34,16 +34,13 @@ using namespace Tomahawk::Accounts; #define CONFIG_WRENCH_SIZE 20 #define PADDING 4 + AccountFactoryWrapperDelegate::AccountFactoryWrapperDelegate( QObject* parent ) : QStyledItemDelegate( parent ) { - m_onlineIcon.load( RESPATH "images/sipplugin-online.png" ); - m_offlineIcon.load( RESPATH "images/sipplugin-offline.png" ); - - m_onlineIcon = m_onlineIcon.scaled( ICON_SIZE, ICON_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); - m_offlineIcon = m_offlineIcon.scaled( ICON_SIZE, ICON_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation ); } + void AccountFactoryWrapperDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const { @@ -98,23 +95,24 @@ AccountFactoryWrapperDelegate::paint(QPainter* painter, const QStyleOptionViewIt QPixmap p; QString statusText; Account::ConnectionState state = acc->connectionState(); + const QRect connectIconRect( confRect.left() - PADDING - ICON_SIZE, topIcon, ICON_SIZE, ICON_SIZE ); + if ( state == Account::Connected ) { - p = m_onlineIcon; + p = TomahawkUtils::defaultPixmap( TomahawkUtils::SipPluginOnline, TomahawkUtils::Original, connectIconRect.size() ); statusText = tr( "Online" ); } else if ( state == Account::Connecting ) { - p = m_offlineIcon; + p = TomahawkUtils::defaultPixmap( TomahawkUtils::SipPluginOffline, TomahawkUtils::Original, connectIconRect.size() ); statusText = tr( "Connecting..." ); } else { - p = m_offlineIcon; + p = TomahawkUtils::defaultPixmap( TomahawkUtils::SipPluginOffline, TomahawkUtils::Original, connectIconRect.size() ); statusText = tr( "Offline" ); } - const QRect connectIconRect( confRect.left() - PADDING - ICON_SIZE, topIcon, ICON_SIZE, ICON_SIZE ); painter->drawPixmap( connectIconRect, p ); int width = painter->fontMetrics().width( statusText ); diff --git a/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.h b/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.h index 22deae41d..f8327e9a4 100644 --- a/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.h +++ b/src/libtomahawk/accounts/AccountFactoryWrapperDelegate.h @@ -49,7 +49,6 @@ signals: void checkOrUncheck( const QModelIndex& row, Tomahawk::Accounts::Account* account, Qt::CheckState newState ); private: - QPixmap m_removePixmap, m_offlineIcon, m_onlineIcon; QModelIndex m_configPressed; mutable QHash< QPersistentModelIndex, QRect > m_cachedCheckRects; diff --git a/src/libtomahawk/accounts/lastfm/LastFmAccount.cpp b/src/libtomahawk/accounts/lastfm/LastFmAccount.cpp index 44433a6a2..5712d692c 100644 --- a/src/libtomahawk/accounts/lastfm/LastFmAccount.cpp +++ b/src/libtomahawk/accounts/lastfm/LastFmAccount.cpp @@ -21,7 +21,7 @@ #include "infosystem/InfoSystem.h" #include "LastFmInfoPlugin.h" -#include "utils/TomahawkUtils.h" +#include "utils/TomahawkUtilsGui.h" #include "resolvers/QtScriptResolver.h" #include "AtticaManager.h" #include "Pipeline.h" @@ -34,7 +34,6 @@ using namespace Accounts; LastFmAccountFactory::LastFmAccountFactory() { - m_icon.load( RESPATH "images/lastfm-icon.png" ); } @@ -48,7 +47,7 @@ LastFmAccountFactory::createAccount( const QString& accountId ) QPixmap LastFmAccountFactory::icon() const { - return m_icon; + return TomahawkUtils::defaultPixmap( TomahawkUtils::LastfmIcon ); } @@ -56,7 +55,6 @@ LastFmAccount::LastFmAccount( const QString& accountId ) : CustomAtticaAccount( accountId ) { setAccountFriendlyName( "Last.Fm" ); - m_icon.load( RESPATH "images/lastfm-icon.png" ); AtticaManager::instance()->registerCustomAccount( "lastfm", this ); @@ -152,14 +150,14 @@ LastFmAccount::configurationWidget() Account::ConnectionState LastFmAccount::connectionState() const { - return (!m_resolver.isNull() && m_resolver.data()->running()) ? Account::Connected : Account::Disconnected; + return ( !m_resolver.isNull() && m_resolver.data()->running() ) ? Account::Connected : Account::Disconnected; } QPixmap LastFmAccount::icon() const { - return m_icon; + return TomahawkUtils::defaultPixmap( TomahawkUtils::LastfmIcon ); } diff --git a/src/libtomahawk/accounts/lastfm/LastFmAccount.h b/src/libtomahawk/accounts/lastfm/LastFmAccount.h index ef4bbea3b..2be052cb0 100644 --- a/src/libtomahawk/accounts/lastfm/LastFmAccount.h +++ b/src/libtomahawk/accounts/lastfm/LastFmAccount.h @@ -28,14 +28,17 @@ #include #include -namespace Tomahawk { -class ExternalResolverGui; +namespace Tomahawk +{ + class ExternalResolverGui; -namespace InfoSystem { +namespace InfoSystem +{ class LastFmInfoPlugin; } -namespace Accounts { +namespace Accounts +{ class LastFmConfig; @@ -53,9 +56,6 @@ public: virtual bool allowUserCreation() const { return false; } virtual QPixmap icon() const; virtual bool isUnique() const { return true; } - -private: - QPixmap m_icon; }; /** @@ -107,11 +107,10 @@ private: QWeakPointer m_resolver; QWeakPointer m_infoPlugin; QWeakPointer m_configWidget; - QPixmap m_icon; }; - } + } #endif // LASTFMACCOUNT_H diff --git a/src/libtomahawk/accounts/lastfm/LastFmConfig.ui b/src/libtomahawk/accounts/lastfm/LastFmConfig.ui index 59d11d76c..19629957b 100644 --- a/src/libtomahawk/accounts/lastfm/LastFmConfig.ui +++ b/src/libtomahawk/accounts/lastfm/LastFmConfig.ui @@ -20,7 +20,7 @@ - :/data/images/lastfm-icon.png + :/data/images/lastfm-icon.svg Qt::AlignCenter diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp b/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp index 751ef52e3..f7b11d8c5 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp +++ b/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp @@ -24,7 +24,7 @@ #include "SpotifyAccountConfig.h" #include "SpotifyPlaylistUpdater.h" #include "resolvers/ScriptResolver.h" -#include "utils/TomahawkUtils.h" +#include "utils/TomahawkUtilsGui.h" #include "ActionCollection.h" #include "Pipeline.h" #include "accounts/AccountManager.h" @@ -218,7 +218,7 @@ SpotifyAccount::hookupResolver() // 0.4.x->0.5.x upgrade. So we do it manually for a while killExistingResolvers(); m_spotifyResolver = QWeakPointer< ScriptResolver >( qobject_cast< ScriptResolver* >( Pipeline::instance()->addScriptResolver( path ) ) ); - m_spotifyResolver.data()->setIcon( QPixmap( RESPATH "images/spotify-sourceicon.png" ) ); + m_spotifyResolver.data()->setIcon( TomahawkUtils::defaultPixmap( TomahawkUtils::SpotifyIcon ) ); connect( m_spotifyResolver.data(), SIGNAL( changed() ), this, SLOT( resolverChanged() ) ); connect( m_spotifyResolver.data(), SIGNAL( customMessage( QString,QVariantMap ) ), this, SLOT( resolverMessage( QString, QVariantMap ) ) ); diff --git a/src/libtomahawk/jobview/PipelineStatusItem.cpp b/src/libtomahawk/jobview/PipelineStatusItem.cpp index 18f8a7f16..d343e88b4 100644 --- a/src/libtomahawk/jobview/PipelineStatusItem.cpp +++ b/src/libtomahawk/jobview/PipelineStatusItem.cpp @@ -20,13 +20,12 @@ #include "PipelineStatusItem.h" -#include "utils/TomahawkUtils.h" +#include "utils/TomahawkUtilsGui.h" #include "Pipeline.h" #include "JobStatusModel.h" #include "JobStatusView.h" #include "Source.h" -QPixmap* PipelineStatusItem::s_pixmap = 0; PipelineStatusItem::PipelineStatusItem( const Tomahawk::query_ptr& q ) : JobStatusItem() @@ -69,12 +68,7 @@ PipelineStatusItem::idle() QPixmap PipelineStatusItem::icon() const { - if ( !s_pixmap ) - { - s_pixmap = new QPixmap( RESPATH"images/search-icon.png" ); - } - - return *s_pixmap; + return TomahawkUtils::defaultPixmap( TomahawkUtils::Search ); } diff --git a/src/libtomahawk/jobview/PipelineStatusItem.h b/src/libtomahawk/jobview/PipelineStatusItem.h index cd16c0708..5a37a5d77 100644 --- a/src/libtomahawk/jobview/PipelineStatusItem.h +++ b/src/libtomahawk/jobview/PipelineStatusItem.h @@ -45,8 +45,6 @@ private slots: private: QString m_latestQuery; - - static QPixmap* s_pixmap; }; class PipelineStatusManager : public QObject diff --git a/src/libtomahawk/playlist/TrackView.cpp b/src/libtomahawk/playlist/TrackView.cpp index fcd77f183..4edd4a890 100644 --- a/src/libtomahawk/playlist/TrackView.cpp +++ b/src/libtomahawk/playlist/TrackView.cpp @@ -774,7 +774,7 @@ TrackView::description() const QPixmap TrackView::pixmap() const { - return QPixmap( RESPATH "images/music-icon.png" ); + return TomahawkUtils::defaultPixmap( TomahawkUtils::SuperCollection ); } diff --git a/src/libtomahawk/playlist/TreeModel.cpp b/src/libtomahawk/playlist/TreeModel.cpp index 05689836e..688255e51 100644 --- a/src/libtomahawk/playlist/TreeModel.cpp +++ b/src/libtomahawk/playlist/TreeModel.cpp @@ -31,7 +31,7 @@ #include "database/Database.h" #include "AlbumPlaylistInterface.h" #include "PlayableItem.h" -#include "utils/TomahawkUtils.h" +#include "utils/TomahawkUtilsGui.h" #include "utils/Logger.h" using namespace Tomahawk; @@ -41,7 +41,7 @@ TreeModel::TreeModel( QObject* parent ) : PlayableModel( parent ) , m_mode( DatabaseMode ) { - setIcon( QPixmap( RESPATH "images/music-icon.png" ) ); + setIcon( TomahawkUtils::defaultPixmap( TomahawkUtils::SuperCollection ) ); connect( AudioEngine::instance(), SIGNAL( started( Tomahawk::result_ptr ) ), SLOT( onPlaybackStarted( Tomahawk::result_ptr ) ), Qt::DirectConnection ); connect( AudioEngine::instance(), SIGNAL( stopped() ), SLOT( onPlaybackStopped() ), Qt::DirectConnection ); diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp index 3661776bb..acde8b7e0 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp @@ -520,7 +520,7 @@ DynamicWidget::pixmap() const if ( m_playlist->mode() == OnDemand ) return TomahawkUtils::defaultPixmap( TomahawkUtils::Station ); else if ( m_playlist->mode() == Static ) - return QPixmap( RESPATH "images/automatic-playlist.png" ); + return TomahawkUtils::defaultPixmap( TomahawkUtils::AutomaticPlaylist ); else return QPixmap(); } diff --git a/src/libtomahawk/utils/ShortenedLinkParser.cpp b/src/libtomahawk/utils/ShortenedLinkParser.cpp index 5f6c7f786..47b851511 100644 --- a/src/libtomahawk/utils/ShortenedLinkParser.cpp +++ b/src/libtomahawk/utils/ShortenedLinkParser.cpp @@ -30,13 +30,11 @@ #include "jobview/JobStatusModel.h" #include "jobview/JobStatusView.h" #include "utils/NetworkReply.h" -#include "utils/TomahawkUtils.h" +#include "utils/TomahawkUtilsGui.h" #include "utils/Logger.h" using namespace Tomahawk; -QPixmap* ShortenedLinkParser::s_pixmap = 0; - ShortenedLinkParser::ShortenedLinkParser ( const QStringList& urls, QObject* parent ) : QObject( parent ) @@ -125,10 +123,7 @@ ShortenedLinkParser::checkFinished() QPixmap ShortenedLinkParser::pixmap() { - if ( !s_pixmap ) - s_pixmap = new QPixmap( RESPATH "images/add.png" ); - - return *s_pixmap; + return TomahawkUtils::defaultPixmap( TomahawkUtils::Add ); } #endif diff --git a/src/libtomahawk/utils/ShortenedLinkParser.h b/src/libtomahawk/utils/ShortenedLinkParser.h index 571993574..f35671b34 100644 --- a/src/libtomahawk/utils/ShortenedLinkParser.h +++ b/src/libtomahawk/utils/ShortenedLinkParser.h @@ -66,7 +66,6 @@ private: #ifndef ENABLE_HEADLESS static QPixmap pixmap(); - static QPixmap* s_pixmap; #endif QStringList m_links; diff --git a/src/libtomahawk/utils/SoundcloudParser.cpp b/src/libtomahawk/utils/SoundcloudParser.cpp index 4f61ba6fc..35fc6fc22 100644 --- a/src/libtomahawk/utils/SoundcloudParser.cpp +++ b/src/libtomahawk/utils/SoundcloudParser.cpp @@ -30,13 +30,11 @@ #include "jobview/JobStatusModel.h" #include "jobview/ErrorStatusMessage.h" #include "utils/NetworkReply.h" -#include "utils/TomahawkUtils.h" +#include "utils/TomahawkUtilsGui.h" #include "utils/Logger.h" using namespace Tomahawk; -QPixmap* SoundcloudParser::s_pixmap = 0; - SoundcloudParser::SoundcloudParser( const QStringList& Urls, bool createNewPlaylist, QObject* parent ) : QObject ( parent ) @@ -236,8 +234,5 @@ SoundcloudParser::soundcloudBrowseFinished() QPixmap SoundcloudParser::pixmap() const { - if ( !s_pixmap ) - s_pixmap = new QPixmap( RESPATH "images/soundcloud.png" ); - - return *s_pixmap; + return TomahawkUtils::defaultPixmap( TomahawkUtils::SoundcloudIcon ); } diff --git a/src/libtomahawk/utils/SoundcloudParser.h b/src/libtomahawk/utils/SoundcloudParser.h index 64b8c4b7c..bb35b6029 100644 --- a/src/libtomahawk/utils/SoundcloudParser.h +++ b/src/libtomahawk/utils/SoundcloudParser.h @@ -83,7 +83,6 @@ private: Tomahawk::playlist_ptr m_playlist; DropJobNotifier* m_browseJob; DropJob::DropType m_type; - static QPixmap* s_pixmap; }; } diff --git a/src/libtomahawk/utils/TomahawkUtils.h b/src/libtomahawk/utils/TomahawkUtils.h index d891c1541..b78f22ecb 100644 --- a/src/libtomahawk/utils/TomahawkUtils.h +++ b/src/libtomahawk/utils/TomahawkUtils.h @@ -94,14 +94,32 @@ namespace TomahawkUtils LovedPlaylist, NewReleases, NewAdditions, + RecentlyPlayed, + AutomaticPlaylist, Charts, Station, Playlist, + Search, ListRemove, ListAdd, AdvancedSettings, AccountSettings, MusicSettings, + Add, + DropSong, + DropAlbum, + DropAllSongs, + DropLocalSongs, + DropTopSongs, + LastfmIcon, + SpotifyIcon, + SoundcloudIcon, + AccountNone, + Starred, + Unstarred, + StarHovered, + SipPluginOnline, + SipPluginOffline, Invalid }; diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.cpp b/src/libtomahawk/utils/TomahawkUtilsGui.cpp index 29481af9e..074ec5565 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.cpp +++ b/src/libtomahawk/utils/TomahawkUtilsGui.cpp @@ -433,7 +433,7 @@ defaultPixmap( ImageType type, ImageMode mode, const QSize& size ) if ( mode == Grid ) pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/artist-placeholder-grid.svg", size ); else - pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/artist-icon.png", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/artist-icon.svg", size ); break; case DefaultTrackImage: @@ -582,11 +582,11 @@ defaultPixmap( ImageType type, ImageMode mode, const QSize& size ) pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/headphones.svg", size ); break; case HeadphonesOff: - pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/headphones-off.png", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/headphones-off.svg", size ); break; case PadlockClosed: - pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/closed-padlock.png", size ); + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/closed-padlock.svg", size ); break; case PadlockOpen: pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/open-padlock.svg", size ); @@ -615,16 +615,28 @@ defaultPixmap( ImageType type, ImageMode mode, const QSize& size ) case NewAdditions: pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/new-additions.svg", size ); break; + case RecentlyPlayed: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/recently-played.svg", size ); + break; case Charts: pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/charts.svg", size ); break; + case AutomaticPlaylist: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/automatic-playlist.svg", size ); + break; case Station: pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/station.svg", size ); break; case Playlist: pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/playlist-icon.svg", size ); break; + case Search: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/search-icon.svg", size ); + break; + case Add: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/add.svg", size ); + break; case ListAdd: pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/list-add.svg", size ); break; @@ -642,6 +654,52 @@ defaultPixmap( ImageType type, ImageMode mode, const QSize& size ) pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/music-settings.svg", size ); break; + case DropSong: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/drop-song.svg", size ); + break; + case DropAlbum: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/drop-album.svg", size ); + break; + case DropAllSongs: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/drop-all-songs.svg", size ); + break; + case DropLocalSongs: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/drop-local-songs.svg", size ); + break; + case DropTopSongs: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/drop-top-songs.svg", size ); + break; + + case Starred: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/starred.svg", size ); + break; + case Unstarred: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/star-unstarred.svg", size ); + break; + case StarHovered: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/star-hover.svg", size ); + break; + + case SipPluginOnline: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/sipplugin-online.svg", size ); + break; + case SipPluginOffline: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/sipplugin-offline.svg", size ); + break; + + case AccountNone: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/account-none.svg", size ); + break; + case LastfmIcon: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/lastfm-icon.svg", size ); + break; + case SpotifyIcon: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/spotify-sourceicon.svg", size ); + break; + case SoundcloudIcon: + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/soundcloud.svg", size ); + break; + default: break; } diff --git a/src/libtomahawk/widgets/SearchWidget.cpp b/src/libtomahawk/widgets/SearchWidget.cpp index 51557c7d6..4a3e1e541 100644 --- a/src/libtomahawk/widgets/SearchWidget.cpp +++ b/src/libtomahawk/widgets/SearchWidget.cpp @@ -213,3 +213,10 @@ SearchWidget::sortAlbums() m_albumsModel->clear(); m_albumsModel->appendAlbums( sortedAlbums ); } + + +QPixmap +SearchWidget::pixmap() const +{ + return TomahawkUtils::defaultPixmap( TomahawkUtils::Search ); +} diff --git a/src/libtomahawk/widgets/SearchWidget.h b/src/libtomahawk/widgets/SearchWidget.h index e00fdf904..8955f8904 100644 --- a/src/libtomahawk/widgets/SearchWidget.h +++ b/src/libtomahawk/widgets/SearchWidget.h @@ -52,7 +52,7 @@ public: virtual QString title() const { return QString( tr( "Search: %1" ) ).arg( m_search ); } virtual QString description() const { return tr( "Results for '%1'" ).arg( m_search ); } - virtual QPixmap pixmap() const { return QPixmap( RESPATH "images/search-icon.png" ); } + virtual QPixmap pixmap() const; virtual bool isTemporaryPage() const { return true; } diff --git a/src/libtomahawk/widgets/WelcomeWidget.cpp b/src/libtomahawk/widgets/WelcomeWidget.cpp index 7db998de1..1bddda4ad 100644 --- a/src/libtomahawk/widgets/WelcomeWidget.cpp +++ b/src/libtomahawk/widgets/WelcomeWidget.cpp @@ -310,7 +310,7 @@ PlaylistDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, if ( type == RecentlyPlayedPlaylistsModel::StaticPlaylist ) icon = TomahawkUtils::defaultPixmap( TomahawkUtils::Playlist, TomahawkUtils::Original, pixmapRect.size() ); else if ( type == RecentlyPlayedPlaylistsModel::AutoPlaylist ) - icon = m_autoIcon; + icon = TomahawkUtils::defaultPixmap( TomahawkUtils::AutomaticPlaylist, TomahawkUtils::Original, pixmapRect.size() ); else if ( type == RecentlyPlayedPlaylistsModel::Station ) icon = TomahawkUtils::defaultPixmap( TomahawkUtils::Station, TomahawkUtils::Original, pixmapRect.size() ); diff --git a/src/libtomahawk/widgets/WelcomeWidget.h b/src/libtomahawk/widgets/WelcomeWidget.h index 0ce9d8386..7e1e19b71 100644 --- a/src/libtomahawk/widgets/WelcomeWidget.h +++ b/src/libtomahawk/widgets/WelcomeWidget.h @@ -51,15 +51,11 @@ Q_OBJECT public: PlaylistDelegate() { - m_autoIcon = QPixmap( RESPATH "images/automatic-playlist.png" ); } protected: void paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const; QSize sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const; - -private: - QPixmap m_autoIcon; }; diff --git a/src/sourcetree/SourceDelegate.cpp b/src/sourcetree/SourceDelegate.cpp index 0919432bd..58d2f23f4 100644 --- a/src/sourcetree/SourceDelegate.cpp +++ b/src/sourcetree/SourceDelegate.cpp @@ -60,12 +60,6 @@ SourceDelegate::SourceDelegate( QAbstractItemView* parent ) m_dropTypeTextMap.insert( 3, tr( "Local" ) ); m_dropTypeTextMap.insert( 4, tr( "Top 10" ) ); - m_dropTypeImageMap.insert( 0, QPixmap( RESPATH "images/drop-song.png" ).scaledToWidth( 32, Qt::SmoothTransformation ) ); - m_dropTypeImageMap.insert( 1, QPixmap( RESPATH "images/drop-album.png" ).scaledToWidth( 32, Qt::SmoothTransformation ) ); - m_dropTypeImageMap.insert( 2, QPixmap( RESPATH "images/drop-all-songs.png" ).scaledToHeight( 32, Qt::SmoothTransformation ) ); - m_dropTypeImageMap.insert( 3, QPixmap( RESPATH "images/drop-local-songs.png" ).scaledToWidth( 32, Qt::SmoothTransformation ) ); - m_dropTypeImageMap.insert( 4, QPixmap( RESPATH "images/drop-top-songs.png" ).scaledToWidth( 32, Qt::SmoothTransformation ) ); - m_dropMimeData = new QMimeData(); } @@ -516,7 +510,28 @@ SourceDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, co if ( itemsRect.bottom() - textRect.height() - 2 > itemsRect.top() ) { imageRect = itemsRect.adjusted( iconSpacing, verticalOffset, -iconSpacing, -textRect.height() - 2 ); - painter->drawPixmap( imageRect.x(), imageRect.y(), m_dropTypeImageMap.value( i ).copy( 0, 32 - imageRect.height(), 32, imageRect.height() ) ); + + QPixmap pixmap; + switch ( i ) + { + case 0: + pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DropSong, TomahawkUtils::Original, imageRect.size() ); + break; + case 1: + pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DropAlbum, TomahawkUtils::Original, imageRect.size() ); + break; + case 2: + pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DropAllSongs, TomahawkUtils::Original, imageRect.size() ); + break; + case 3: + pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DropLocalSongs, TomahawkUtils::Original, imageRect.size() ); + break; + case 4: + pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DropTopSongs, TomahawkUtils::Original, imageRect.size() ); + break; + } + + painter->drawPixmap( imageRect, pixmap ); } count++; diff --git a/src/sourcetree/SourceDelegate.h b/src/sourcetree/SourceDelegate.h index 59c0c3540..ae10dca7e 100644 --- a/src/sourcetree/SourceDelegate.h +++ b/src/sourcetree/SourceDelegate.h @@ -75,7 +75,6 @@ private: qint64 m_lastClicked; QMap< int, SourceTreeItem::DropType > m_dropTypeMap; QMap< int, QString > m_dropTypeTextMap; - QMap< int, QPixmap > m_dropTypeImageMap; mutable QPersistentModelIndex m_trackHovered; mutable QHash< QPersistentModelIndex, QRect > m_trackRects; diff --git a/src/sourcetree/SourcesModel.cpp b/src/sourcetree/SourcesModel.cpp index 290c3125e..ecb6b4711 100644 --- a/src/sourcetree/SourcesModel.cpp +++ b/src/sourcetree/SourcesModel.cpp @@ -297,7 +297,7 @@ SourcesModel::appendGroups() LovedTracksItem* loved = new LovedTracksItem( this, browse ); loved->setSortValue( 2 ); - GenericPageItem* recent = new GenericPageItem( this, browse, tr( "Recently Played" ), QIcon( RESPATH "images/recently-played.png" ), + GenericPageItem* recent = new GenericPageItem( this, browse, tr( "Recently Played" ), ImageRegistry::instance()->icon( RESPATH "images/recently-played.svg" ), boost::bind( &ViewManager::showRecentPlaysPage, ViewManager::instance() ), boost::bind( &ViewManager::recentPlaysWidget, ViewManager::instance() ) ); recent->setSortValue( 3 ); diff --git a/src/sourcetree/items/CategoryItems.cpp b/src/sourcetree/items/CategoryItems.cpp index 6fb2f94d3..0a945c435 100644 --- a/src/sourcetree/items/CategoryItems.cpp +++ b/src/sourcetree/items/CategoryItems.cpp @@ -19,22 +19,22 @@ #include "CategoryItems.h" +#include +#include + +#include "DropJob.h" #include "TomahawkApp.h" #include "ViewManager.h" #include "ViewPage.h" #include "SourceList.h" #include "SourceTreeView.h" -#include "utils/TomahawkUtils.h" -#include "widgets/NewPlaylistWidget.h" #include "TomahawkWindow.h" +#include "utils/TomahawkUtils.h" #include "playlist/dynamic/GeneratorInterface.h" +#include "widgets/NewPlaylistWidget.h" +#include "utils/ImageRegistry.h" #include "utils/Logger.h" -#include "DropJob.h" - -#include - -#include using namespace Tomahawk; @@ -45,7 +45,6 @@ CategoryAddItem::CategoryAddItem( SourcesModel* model, SourceTreeItem* parent, S : SourceTreeItem( model, parent, SourcesModel::CategoryAdd ) , m_categoryType( type ) { - m_icon = QIcon( RESPATH "images/add.png" ); } @@ -107,7 +106,7 @@ CategoryAddItem::flags() const QIcon CategoryAddItem::icon() const { - return m_icon; + return ImageRegistry::instance()->icon( RESPATH "images/add.svg" ); } diff --git a/src/sourcetree/items/CategoryItems.h b/src/sourcetree/items/CategoryItems.h index d32b56695..1f63ed63c 100644 --- a/src/sourcetree/items/CategoryItems.h +++ b/src/sourcetree/items/CategoryItems.h @@ -46,8 +46,6 @@ private slots: private: SourcesModel::CategoryType m_categoryType; - QIcon m_icon; - }; class CategoryItem : public SourceTreeItem diff --git a/src/sourcetree/items/PlaylistItems.cpp b/src/sourcetree/items/PlaylistItems.cpp index 6aaa2e8bf..84bca6d7d 100644 --- a/src/sourcetree/items/PlaylistItems.cpp +++ b/src/sourcetree/items/PlaylistItems.cpp @@ -448,8 +448,6 @@ DynamicPlaylistItem::DynamicPlaylistItem( SourcesModel* mdl, SourceTreeItem* par connect( pl.data(), SIGNAL( dynamicRevisionLoaded( Tomahawk::DynamicPlaylistRevision ) ), SLOT( onDynamicPlaylistLoaded( Tomahawk::DynamicPlaylistRevision ) ), Qt::QueuedConnection ); - m_automaticPlaylistIcon = QIcon( RESPATH "images/automatic-playlist.png" ); - if ( ViewManager::instance()->pageForDynPlaylist( pl ) ) model()->linkSourceItemToPage( this, ViewManager::instance()->pageForDynPlaylist( pl ) ); } @@ -576,11 +574,11 @@ DynamicPlaylistItem::icon() const { if ( m_dynplaylist->mode() == OnDemand ) { - return TomahawkUtils::defaultPixmap( TomahawkUtils::Station, TomahawkUtils::Original ); + return TomahawkUtils::defaultPixmap( TomahawkUtils::Station ); } else { - return m_automaticPlaylistIcon; + return TomahawkUtils::defaultPixmap( TomahawkUtils::AutomaticPlaylist ); } } diff --git a/src/sourcetree/items/PlaylistItems.h b/src/sourcetree/items/PlaylistItems.h index 70fd11a54..02d501cd4 100644 --- a/src/sourcetree/items/PlaylistItems.h +++ b/src/sourcetree/items/PlaylistItems.h @@ -99,8 +99,6 @@ private: void checkReparentHackNeeded( const Tomahawk::DynamicPlaylistRevision& rev ); Tomahawk::dynplaylist_ptr m_dynplaylist; - - QIcon m_automaticPlaylistIcon; }; diff --git a/src/sourcetree/items/SourceItem.cpp b/src/sourcetree/items/SourceItem.cpp index 37be6915c..50f4234d0 100644 --- a/src/sourcetree/items/SourceItem.cpp +++ b/src/sourcetree/items/SourceItem.cpp @@ -73,7 +73,7 @@ SourceItem::SourceItem( SourcesModel* mdl, SourceTreeItem* parent, const Tomahaw boost::bind( &SourceItem::latestAdditionsClicked, this ), boost::bind( &SourceItem::getLatestAdditionsPage, this ) ); - m_recentPlaysItem = new GenericPageItem( model(), this, tr( "Recently Played" ), QIcon( RESPATH "images/recently-played.png" ), + m_recentPlaysItem = new GenericPageItem( model(), this, tr( "Recently Played" ), ImageRegistry::instance()->icon( RESPATH "images/recently-played.svg" ), boost::bind( &SourceItem::recentPlaysClicked, this ), boost::bind( &SourceItem::getRecentPlaysPage, this ) ); @@ -559,7 +559,7 @@ SourceItem::recentPlaysClicked() if ( !m_recentPlaysPage ) { FlexibleView* pv = new FlexibleView( ViewManager::instance()->widget() ); - pv->setPixmap( QPixmap( RESPATH "images/recently-played.png" ) ); + pv->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::RecentlyPlayed ) ); RecentlyPlayedModel* raModel = new RecentlyPlayedModel( pv ); raModel->setTitle( tr( "Recently Played Tracks" ) ); diff --git a/src/sourcetree/items/TemporaryPageItem.cpp b/src/sourcetree/items/TemporaryPageItem.cpp index a094bbb19..0bd153d71 100644 --- a/src/sourcetree/items/TemporaryPageItem.cpp +++ b/src/sourcetree/items/TemporaryPageItem.cpp @@ -70,7 +70,7 @@ TemporaryPageItem::TemporaryPageItem ( SourcesModel* mdl, SourceTreeItem* parent } else if ( dynamic_cast< SearchWidget* >( page ) ) { - m_icon = QIcon( RESPATH "images/search-icon.png" ); + m_icon = ImageRegistry::instance()->icon( RESPATH "images/search-icon.svg" ); } if ( action ) diff --git a/src/widgets/AccountListWidget.cpp b/src/widgets/AccountListWidget.cpp index 811a8ad02..f6df9b4b5 100644 --- a/src/widgets/AccountListWidget.cpp +++ b/src/widgets/AccountListWidget.cpp @@ -21,11 +21,13 @@ #include "accounts/AccountModel.h" #include "accounts/AccountManager.h" #include "AccountWidget.h" +#include "utils/ImageRegistry.h" #include "utils/TomahawkUtilsGui.h" +#include "utils/Logger.h" -#include #include + AccountListWidget::AccountListWidget( AccountModelFactoryProxy* model, QWidget* parent ) : QWidget( parent ) , m_model( model ) @@ -227,6 +229,7 @@ AccountListWidget::updateToggleOnlineStateButton() m_toggleOnlineButton->setText( m_toggleOnlineButtonState ? tr( "Disconnect &All" ) : tr( "Connect &All" ) ); - m_toggleOnlineButton->setIcon( m_toggleOnlineButtonState ? QIcon( RESPATH "images/account-online.png" ) - : QIcon( RESPATH "images/account-offline.png" ) ); + m_toggleOnlineButton->setIcon( m_toggleOnlineButtonState ? + ImageRegistry::instance()->icon( RESPATH "images/account-online.svg" ) : + ImageRegistry::instance()->icon( RESPATH "images/account-offline.svg" ) ); } diff --git a/src/widgets/AccountsToolButton.cpp b/src/widgets/AccountsToolButton.cpp index dbb9d4ffe..fce366cc5 100644 --- a/src/widgets/AccountsToolButton.cpp +++ b/src/widgets/AccountsToolButton.cpp @@ -94,9 +94,6 @@ AccountsToolButton::AccountsToolButton( QWidget* parent ) bottomLayout->addWidget( settingsButton ); wMainLayout->addLayout( bottomLayout ); - //ToolButton stuff - m_defaultPixmap = QPixmap( RESPATH "images/account-none.png" ).scaled( iconSize(), Qt::KeepAspectRatio, Qt::SmoothTransformation ); - connect( m_proxy, SIGNAL( dataChanged( QModelIndex, QModelIndex ) ), this, SLOT( updateIcons() ) ); connect( m_proxy, SIGNAL( rowsInserted ( QModelIndex, int, int ) ), @@ -137,7 +134,8 @@ AccountsToolButton::paintEvent( QPaintEvent* event ) QRect pixmapRect( QPoint( width() / 2 - iconSize().width() / 2, height() / 2 - iconSize().height() / 2 ), iconSize() ); - painter.drawPixmap( pixmapRect, m_defaultPixmap ); + + painter.drawPixmap( pixmapRect, TomahawkUtils::defaultPixmap( TomahawkUtils::AccountNone, TomahawkUtils::Original, iconSize() ) ); } else { diff --git a/src/widgets/AccountsToolButton.h b/src/widgets/AccountsToolButton.h index 223dd354e..2d1e4c2da 100644 --- a/src/widgets/AccountsToolButton.h +++ b/src/widgets/AccountsToolButton.h @@ -51,7 +51,6 @@ private: Tomahawk::Accounts::AccountModel *m_model; AccountModelFactoryProxy *m_proxy; - QPixmap m_defaultPixmap; QList< QPixmap > m_factoryPixmaps; }; From 262f2aae8851dca04b759720f4c6b0ae3f08b870 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 7 Dec 2012 05:51:43 +0100 Subject: [PATCH 096/332] * Manually converted seek-and-volume-knob-rest.png for now. Will have to write our own paintEvents to do proper SVG rendering. --- data/images/seek-and-volume-knob-rest.png | Bin 519 -> 642 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/images/seek-and-volume-knob-rest.png b/data/images/seek-and-volume-knob-rest.png index 2152a6bc95aa5e2ab212a65952623600cb40b8d7..cdd014fc7fdf93baca6c3e1df6165f6d5332e5ed 100644 GIT binary patch delta 617 zcmV-v0+#)U1cC*SB!32COGiWi{{a60|De66lK=n!32;bRa{vGh*8l(w*8xH(n|J^K z00(qQO+^RX32K@glh?jFH*Bnu^OaDjzWlOLc! zbZ!6%92-Gl`v>R}DOHLnN)aV|02T0_O@|_qBBG)X^a=bxQhy-X;CJ`dw<)kK%T4T) zRyytN%+Aaa07OxQYPAXgXtrAE8KqVLl(g1M0Km*Q0M13^vRp1d06-Xq*xA_uje=XJ zr=`G{_dyW6)W(2_001HaP7*lhu3VD5eN`@hA1r>H0MKkU_k-ElkH(mw-x6T>{&*Kb z!fc(juPc?x0e=PqQ52PCv~DV;p7w_^0>%gl0FZd!X68z@TKz^*7^VgI3Zhj^b3`r( zSl2!8i{ATHFESNg5v?humb3sHv9;r#|GOUm&CShi=pOU3wRV{J71 z(=m{UfSI3b5dG~FOl3ht2tvTF3=O7};WHRXW zdS`lme*Sm6-M(PvHJR`$i3nQjAK7g7Ms00v-RE+-PsW(GwHD4f=@-UIoO5EWg)yd` z%jG_AZ*SiZH6I=x?%&?tez?24d*Zzx4^>2jlv2oMvvILld{e8{4gf%%oSXmv8jZ%6 z#l^+Vd}2O-l}e=$$1!!gU39x$#BofiR0<0V3qK2m!o~m`hT-FeW&6 z2lQD6M6gq>R`(N$M8@y;3$$pOrq*mWFZ22Q38ptdaWfzmi^aoqI-L!N!*RFk_IkZ` zyr;^EJRuF`^VHmFd(jLyxrv%=}9nRj{E|<#((P(tnvMgp6KA&#| z?(wx+?Gd_X=YIxku~;kvUp+;h&f;|nuE_uw3$Xn`gmNcrWa^D6flL_Nh z>oqjSOBK11c3#C=~iYu9qoQZsLBw-)3$!8t1K6>wz*r-b`2GI@kh> zg+gIZ6vd1a6Y^P6l*>w`a)#+UxCKvcy%4b*NwBNb*{6_OK(iaFGpie^12@1b@Y`z? jur9c_JM;g>mjD9*q-N^LynCS?00000NkvXXu0mjfjO*g- From 8fd9958a4ff6ebec2bce7b197b61429712230685 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 7 Dec 2012 05:52:04 +0100 Subject: [PATCH 097/332] * Need to use PNGs for mode switches - for now. --- data/stylesheets/topbar-radiobuttons.css | 18 +++++++++--------- resources.qrc | 18 +++++++++--------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/data/stylesheets/topbar-radiobuttons.css b/data/stylesheets/topbar-radiobuttons.css index 81f6aa7a0..fbdd619a8 100644 --- a/data/stylesheets/topbar-radiobuttons.css +++ b/data/stylesheets/topbar-radiobuttons.css @@ -18,38 +18,38 @@ QRadioButton::indicator { } QRadioButton::indicator::unchecked { - background-image: url(:/data/images/view-toggle-inactive-centre.svg); + background-image: url(:/data/images/view-toggle-inactive-centre.png); image: url(:/data/images/view-toggle-icon-list-inactive.svg); } QRadioButton::indicator::checked { - background-image: url(:/data/images/view-toggle-active-centre.svg); + background-image: url(:/data/images/view-toggle-active-centre.png); image: url(:/data/images/view-toggle-icon-list-active.svg); } QRadioButton::indicator::pressed { - background-image: url(:/data/images/view-toggle-pressed-centre.svg); + background-image: url(:/data/images/view-toggle-pressed-centre.png); image: url(:/data/images/view-toggle-icon-list-active.svg); } QRadioButton#radioNormal::indicator::unchecked { - background-image: url(:/data/images/view-toggle-inactive-left.svg); + background-image: url(:/data/images/view-toggle-inactive-left.png); image: url(:/data/images/view-toggle-icon-artist-inactive.svg); } QRadioButton#radioNormal::indicator::checked { - background-image: url(:/data/images/view-toggle-active-left.svg); + background-image: url(:/data/images/view-toggle-active-left.png); image: url(:/data/images/view-toggle-icon-artist-active.svg); } QRadioButton#radioNormal::indicator::pressed { - background-image: url(:/data/images/view-toggle-pressed-left.svg); + background-image: url(:/data/images/view-toggle-pressed-left.png); image: url(:/data/images/view-toggle-icon-artist-active.svg); } QRadioButton#radioCloud::indicator::unchecked { - background-image: url(:/data/images/view-toggle-inactive-right.svg); + background-image: url(:/data/images/view-toggle-inactive-right.png); image: url(:/data/images/view-toggle-icon-grid-inactive.svg); } QRadioButton#radioCloud::indicator::checked { - background-image: url(:/data/images/view-toggle-active-right.svg); + background-image: url(:/data/images/view-toggle-active-right.png); image: url(:/data/images/view-toggle-icon-grid-active.svg); } QRadioButton#radioCloud::indicator::pressed { - background-image: url(:/data/images/view-toggle-pressed-right.svg); + background-image: url(:/data/images/view-toggle-pressed-right.png); image: url(:/data/images/view-toggle-icon-grid-active.svg); } diff --git a/resources.qrc b/resources.qrc index 814aa94f6..844c0b1f9 100644 --- a/resources.qrc +++ b/resources.qrc @@ -35,21 +35,21 @@ data/images/skip-pressed.svg data/images/skip-rest.svg data/images/user-avatar.svg - data/images/view-toggle-active-centre.svg - data/images/view-toggle-active-left.svg - data/images/view-toggle-active-right.svg + data/images/view-toggle-active-centre.png + data/images/view-toggle-active-left.png + data/images/view-toggle-active-right.png data/images/view-toggle-icon-artist-active.svg data/images/view-toggle-icon-artist-inactive.svg data/images/view-toggle-icon-grid-active.svg data/images/view-toggle-icon-grid-inactive.svg data/images/view-toggle-icon-list-active.svg data/images/view-toggle-icon-list-inactive.svg - data/images/view-toggle-inactive-centre.svg - data/images/view-toggle-inactive-left.svg - data/images/view-toggle-inactive-right.svg - data/images/view-toggle-pressed-centre.svg - data/images/view-toggle-pressed-left.svg - data/images/view-toggle-pressed-right.svg + data/images/view-toggle-inactive-centre.png + data/images/view-toggle-inactive-left.png + data/images/view-toggle-inactive-right.png + data/images/view-toggle-pressed-centre.png + data/images/view-toggle-pressed-left.png + data/images/view-toggle-pressed-right.png data/images/list-add.svg data/images/list-remove.svg data/images/arrow-up-double.svg From 82efe3bf49396fcbe360622177c0b3275f8089cb Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 7 Dec 2012 05:53:43 +0100 Subject: [PATCH 098/332] * Fixed now playing indicator painting in delegates. --- .../playlist/PlaylistItemDelegate.cpp | 18 ++++++++++-------- .../playlist/PlaylistLargeItemDelegate.cpp | 12 ++++++------ src/libtomahawk/playlist/TreeItemDelegate.cpp | 7 ++++--- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/src/libtomahawk/playlist/PlaylistItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistItemDelegate.cpp index a8ec08575..84a5bbccf 100644 --- a/src/libtomahawk/playlist/PlaylistItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistItemDelegate.cpp @@ -168,11 +168,11 @@ PlaylistItemDelegate::paintShort( QPainter* painter, const QStyleOptionViewItem& // Paint Now Playing Speaker Icon if ( item->isPlaying() ) { - QPixmap nowPlayingIcon = TomahawkUtils::defaultPixmap( TomahawkUtils::NowPlayingSpeaker ); - QRect npr = r.adjusted( 3, r.height() / 2 - nowPlayingIcon.height() / 2, 18 - r.width(), -r.height() / 2 + nowPlayingIcon.height() / 2 ); - nowPlayingIcon = TomahawkUtils::defaultPixmap( TomahawkUtils::NowPlayingSpeaker, TomahawkUtils::Original, npr.size() ); - painter->drawPixmap( npr, nowPlayingIcon ); - r.adjust( 22, 0, 0, 0 ); + const int pixMargin = 2; + const int pixHeight = r.height() - pixMargin * 2; + QRect npr = r.adjusted( pixMargin, pixMargin + 1, pixHeight - r.width() + pixMargin, -pixMargin + 1 ); + painter->drawPixmap( npr, TomahawkUtils::defaultPixmap( TomahawkUtils::NowPlayingSpeaker, TomahawkUtils::Original, npr.size() ) ); + r.adjust( pixHeight + 8, 0, 0, 0 ); } painter->setPen( opt.palette.text().color() ); @@ -273,9 +273,11 @@ PlaylistItemDelegate::paintDetailed( QPainter* painter, const QStyleOptionViewIt // Paint Now Playing Speaker Icon if ( m_view->header()->visualIndex( index.column() ) == 0 ) { - r.adjust( 0, 0, 0, -3 ); - painter->drawPixmap( r.adjusted( 3, 1, 18 - r.width(), 1 ), TomahawkUtils::defaultPixmap( TomahawkUtils::NowPlayingSpeaker ) ); - r.adjust( 25, 0, 0, 3 ); + const int pixMargin = 1; + const int pixHeight = r.height() - pixMargin * 2; + QRect npr = r.adjusted( pixMargin, pixMargin, pixHeight - r.width() + pixMargin, -pixMargin ); + painter->drawPixmap( npr, TomahawkUtils::defaultPixmap( TomahawkUtils::NowPlayingSpeaker, TomahawkUtils::Original, npr.size() ) ); + r.adjust( pixHeight + 6, 0, 0, 0 ); } painter->setPen( opt.palette.text().color() ); diff --git a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp index 03a135eaa..cae2f5ea7 100644 --- a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp @@ -170,16 +170,16 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& painter->save(); { - QRect r = opt.rect.adjusted( 3, 6, 0, -6 ); + QRect r = opt.rect.adjusted( 4, 6, 0, -6 ); // Paint Now Playing Speaker Icon if ( item->isPlaying() ) { - QPixmap nowPlayingIcon = TomahawkUtils::defaultPixmap( TomahawkUtils::NowPlayingSpeaker ); - QRect npr = r.adjusted( 3, r.height() / 2 - nowPlayingIcon.height() / 2, 18 - r.width(), -r.height() / 2 + nowPlayingIcon.height() / 2 ); - nowPlayingIcon = TomahawkUtils::defaultPixmap( TomahawkUtils::NowPlayingSpeaker, TomahawkUtils::Original, npr.size() ); - painter->drawPixmap( npr, nowPlayingIcon ); - r.adjust( 22, 0, 0, 0 ); + const int pixMargin = 4; + const int pixHeight = r.height() - pixMargin * 2; + QRect npr = r.adjusted( pixMargin, pixMargin + 1, pixHeight - r.width() + pixMargin, -pixMargin + 1 ); + painter->drawPixmap( npr, TomahawkUtils::defaultPixmap( TomahawkUtils::NowPlayingSpeaker, TomahawkUtils::Original, npr.size() ) ); + r.adjust( pixHeight + 8, 0, 0, 0 ); } painter->setPen( opt.palette.text().color() ); diff --git a/src/libtomahawk/playlist/TreeItemDelegate.cpp b/src/libtomahawk/playlist/TreeItemDelegate.cpp index 548734d04..17e9f8aa7 100644 --- a/src/libtomahawk/playlist/TreeItemDelegate.cpp +++ b/src/libtomahawk/playlist/TreeItemDelegate.cpp @@ -115,10 +115,11 @@ TreeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, // Paint Now Playing Speaker Icon if ( item->isPlaying() && m_view->header()->visualIndex( index.column() ) == 0 ) { - r.adjust( 0, 0, 0, -3 ); - QRect npr = r.adjusted( 3, 1, 18 - r.width(), 1 ); + const int pixMargin = 1; + const int pixHeight = r.height() - pixMargin * 2; + QRect npr = r.adjusted( pixMargin, pixMargin, pixHeight - r.width() + pixMargin, -pixMargin ); painter->drawPixmap( npr, TomahawkUtils::defaultPixmap( TomahawkUtils::NowPlayingSpeaker, TomahawkUtils::Original, npr.size() ) ); - r.adjust( 25, 0, 0, 3 ); + r.adjust( pixHeight + 6, 0, 0, 0 ); } painter->setPen( o.palette.text().color() ); From 1d32eeffded0116eaab843e27910c55737218c18 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 7 Dec 2012 05:54:11 +0100 Subject: [PATCH 099/332] * Paint linear gradient as header background. --- src/libtomahawk/infobar/InfoBar.cpp | 26 ++++++++++++++++++++----- src/libtomahawk/infobar/InfoBar.h | 3 ++- src/libtomahawk/widgets/BasicHeader.cpp | 22 +++++++++++++++++---- src/libtomahawk/widgets/BasicHeader.h | 2 ++ 4 files changed, 43 insertions(+), 10 deletions(-) diff --git a/src/libtomahawk/infobar/InfoBar.cpp b/src/libtomahawk/infobar/InfoBar.cpp index 6c3fda957..cf1fc62fd 100644 --- a/src/libtomahawk/infobar/InfoBar.cpp +++ b/src/libtomahawk/infobar/InfoBar.cpp @@ -96,10 +96,8 @@ InfoBar::InfoBar( QWidget* parent ) ui->horizontalLayout->addWidget( m_searchWidget ); QPalette pal = palette(); - pal.setColor( QPalette::Window, QColor( "#454e59" ) ); setPalette( pal ); - setAutoFillBackground( true ); setFixedHeight( 80 ); connect( ViewManager::instance(), SIGNAL( filterAvailable( bool ) ), SLOT( setFilterAvailable( bool ) ) ); @@ -286,10 +284,28 @@ InfoBar::onFilterEdited() void -InfoBar::changeEvent( QEvent* e ) +InfoBar::paintEvent( QPaintEvent* event ) { - QWidget::changeEvent( e ); - switch ( e->type() ) + QWidget::paintEvent( event ); + + QPainter painter( this ); + painter.setRenderHint( QPainter::Antialiasing ); + + QLinearGradient gradient( QPoint( 0, 0 ), QPoint( 0, 1 ) ); + gradient.setCoordinateMode( QGradient::ObjectBoundingMode ); + gradient.setColorAt( 0.0, QColor( "#615858" ) ); + gradient.setColorAt( 1.0, QColor( "#231F1F" ) ); + + painter.setBrush( gradient ); + painter.fillRect( event->rect(), gradient ); +} + + +void +InfoBar::changeEvent( QEvent* event ) +{ + QWidget::changeEvent( event ); + switch ( event->type() ) { case QEvent::LanguageChange: // ui->retranslateUi( this ); diff --git a/src/libtomahawk/infobar/InfoBar.h b/src/libtomahawk/infobar/InfoBar.h index 12c611145..7b4b512d9 100644 --- a/src/libtomahawk/infobar/InfoBar.h +++ b/src/libtomahawk/infobar/InfoBar.h @@ -68,7 +68,8 @@ signals: void filterTextChanged( const QString& filter ); protected: - void changeEvent( QEvent* e ); + void changeEvent( QEvent* event ); + void paintEvent( QPaintEvent* event ); private slots: void onFilterEdited(); diff --git a/src/libtomahawk/widgets/BasicHeader.cpp b/src/libtomahawk/widgets/BasicHeader.cpp index a1255d2f6..30c0125a5 100644 --- a/src/libtomahawk/widgets/BasicHeader.cpp +++ b/src/libtomahawk/widgets/BasicHeader.cpp @@ -81,11 +81,7 @@ BasicHeader::BasicHeader( QWidget* parent ) setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ); setFixedHeight( 80 ); - pal = palette(); - pal.setColor( QPalette::Window, QColor( "#454e59" ) ); - setPalette( pal ); - setAutoFillBackground( true ); } @@ -113,3 +109,21 @@ BasicHeader::setPixmap( const QPixmap& p ) { m_imageLabel->setPixmap( p.scaledToHeight( m_imageLabel->height(), Qt::SmoothTransformation ) ); } + + +void +BasicHeader::paintEvent( QPaintEvent* event ) +{ + QWidget::paintEvent( event ); + + QPainter painter( this ); + painter.setRenderHint( QPainter::Antialiasing ); + + QLinearGradient gradient( QPoint( 0, 0 ), QPoint( 0, 1 ) ); + gradient.setCoordinateMode( QGradient::ObjectBoundingMode ); + gradient.setColorAt( 0.0, QColor( "#615858" ) ); + gradient.setColorAt( 1.0, QColor( "#231F1F" ) ); + + painter.setBrush( gradient ); + painter.fillRect( event->rect(), gradient ); +} diff --git a/src/libtomahawk/widgets/BasicHeader.h b/src/libtomahawk/widgets/BasicHeader.h index 4c0c5f181..4b8d59349 100644 --- a/src/libtomahawk/widgets/BasicHeader.h +++ b/src/libtomahawk/widgets/BasicHeader.h @@ -42,6 +42,8 @@ public slots: virtual void setPixmap( const QPixmap& p ); protected: + virtual void paintEvent( QPaintEvent* event ); + QLabel* m_imageLabel; ElidedLabel* m_captionLabel; ElidedLabel* m_descriptionLabel; From 035b815cfbb7836a28a677dc4c5ab71dd095e39a Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Fri, 7 Dec 2012 11:11:15 -0500 Subject: [PATCH 100/332] Color tweaks all around. Now playing window to match controls. Thoughts? --- data/images/account-online.svg | 4 ++-- data/images/automatic-playlist.svg | 8 ++++---- data/images/charts.svg | 2 +- data/images/collection.svg | 8 ++++---- data/images/green-dot.svg | 10 +++++----- data/images/headphones-off.svg | 4 ++-- data/images/headphones.svg | 12 ++++++------ data/images/new-additions.svg | 17 ++++++++++++----- data/images/new-releases.svg | 12 ++++++------ data/images/now-playing-panel.png | Bin 1804 -> 10026 bytes data/images/playlist-icon.svg | 2 +- data/images/recently-played.svg | 14 +++++++------- data/images/search-icon.svg | 9 ++------- data/images/sipplugin-offline.svg | 4 ++-- data/images/sipplugin-online.svg | 8 ++++---- data/images/star-hover.svg | 5 +---- data/images/star-unstarred.svg | 11 ++++++++--- data/images/starred.svg | 5 +---- 18 files changed, 68 insertions(+), 67 deletions(-) diff --git a/data/images/account-online.svg b/data/images/account-online.svg index 20b93ce09..2931fc233 100644 --- a/data/images/account-online.svg +++ b/data/images/account-online.svg @@ -4,8 +4,8 @@ Created with Sketch (http://www.bohemiancoding.com/sketch) - - + + diff --git a/data/images/automatic-playlist.svg b/data/images/automatic-playlist.svg index 48913f5f7..83a2c11f3 100644 --- a/data/images/automatic-playlist.svg +++ b/data/images/automatic-playlist.svg @@ -3,14 +3,14 @@ automatic-playlist Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + - + \ No newline at end of file diff --git a/data/images/charts.svg b/data/images/charts.svg index d53fb1841..ef88fe974 100644 --- a/data/images/charts.svg +++ b/data/images/charts.svg @@ -10,7 +10,7 @@ - + \ No newline at end of file diff --git a/data/images/collection.svg b/data/images/collection.svg index 74d36f586..a76764680 100644 --- a/data/images/collection.svg +++ b/data/images/collection.svg @@ -1,16 +1,16 @@ - + collection Created with Sketch (http://www.bohemiancoding.com/sketch) - + - + - + \ No newline at end of file diff --git a/data/images/green-dot.svg b/data/images/green-dot.svg index d6373d9ee..d23e8ad05 100644 --- a/data/images/green-dot.svg +++ b/data/images/green-dot.svg @@ -1,17 +1,17 @@ - + green-dot Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + - + diff --git a/data/images/headphones-off.svg b/data/images/headphones-off.svg index 6ceb7a258..a1a30cb49 100644 --- a/data/images/headphones-off.svg +++ b/data/images/headphones-off.svg @@ -5,8 +5,8 @@ - - + + \ No newline at end of file diff --git a/data/images/headphones.svg b/data/images/headphones.svg index f55fd06fa..c8db543da 100644 --- a/data/images/headphones.svg +++ b/data/images/headphones.svg @@ -3,14 +3,14 @@ headphones Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + - - - + + + \ No newline at end of file diff --git a/data/images/new-additions.svg b/data/images/new-additions.svg index 14473cdde..acb39f13e 100644 --- a/data/images/new-additions.svg +++ b/data/images/new-additions.svg @@ -1,9 +1,16 @@ - - Slice 1 + + new-additions Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + + + + + + + + \ No newline at end of file diff --git a/data/images/new-releases.svg b/data/images/new-releases.svg index f119e4fa9..3ffcd03b1 100644 --- a/data/images/new-releases.svg +++ b/data/images/new-releases.svg @@ -1,18 +1,18 @@ - + new-releases Created with Sketch (http://www.bohemiancoding.com/sketch) - - + + - + - - + + diff --git a/data/images/now-playing-panel.png b/data/images/now-playing-panel.png index 780895cec0eaffe4361cd28c0305ed92ba2b10f4..d138e89dbe35ad95808b51c4cfe2116ac6bc56a4 100644 GIT binary patch literal 10026 zcmY+qcQhRDA3d(u1VQu?L`#SoM6c1p3Lyz$i3p=w(G`wdj3y zcG;b;yg%RH`Tc(X%$akZIrGfSb6@w~*L@~JPgnge850=}4$fUo4OM*{99;PAxe5u< z?GYUiBa4GW@X%I8MNd;j<$<27(??r-D;ylDd!dHQPKZ~u@)1t@`E&{o-l&I1_P`7c zOq!UP%6o}46ABKr=n8gbA3a=`mW(K2CPwVkmxBC)C5diu73c6NHDo#N6214EyXdUd zGzfoGs;S|({hN}5=YY`gZ;R)9UW4E7&e229mY;3OY?&cc<-oRe>5PV7lglbH;SZA% zis%xvbRx%VCbjV=%XV}H>~{qelnU!Il32e>b7se{4gv`a)wgnoaVi^z4ZKY57w zu`pEqIp^L>?dOu3@vx?@$)^uO8eP@ST5iV`_Z!%*Sgdqu1(c?N(_M@b7^e;6 zaX~+H6pgG05eF&MmbVrYj*Lr7iv6HF(SB{`SW%)hUy=UyB{@bkO~wq`&+pKZ)Sbva zMA7V-%Q!@*)%$0M2U7mg*ZSW4EMZF){d{cp;`qKh5rfaHLaVgUCJ_t5bW;C)eO{;f zwyG+ZE}h`}sS+)je7!8u#NTbtC1klp`@e+#8nO`K1dUVMFZw)#uJwKSR!!d~_~T`P zOdrg-W1#Adg25c_4g33=ePL#6n*2)1*^GS>?Jnsq3PLhh2kHBdCIa}*Pg_AAujr(8 z^-gXS1Ngqa9Gyclp+}(Du=Gmp$7fuiF%fZ-1DXfKG&UZR(5u^73`vd$GCX96#C_d$D96+m12KjOB{>A#q^WQGM~OM$`n2fcogs$!xz9CAcT1l z>HfBv6Z6nCsXguq;jKs9}H|kvlwY=Gi8_kl-EFa&~Kf7Bk`v7rdpP{lC}xV zmQb|bcC=4=F>(jP+Q#5cR`W@x&QI`|fI*y+n<$fLruS9Pmoj&{w}|Y7LVbz;-q|y* zBF}fKT4`RlT(9Ad%#KnX)B2AtV}uN!QdbsaMW9LuVZP64g=N>B>UmT5e$HFnlcR=^1TB)Va!DNRnU%-tF)6beMiT(!o{I|`+2 z(Qic&v&+2+boZ>EJ@f>Q4#U~8e`Y$c=izr8g0>pk&&y3RqM{&8ewT-^)?@TuRLkX| z19G9cZua|kf!e)q2bqd)PI!IS-i}@RX%n3CO7yD%RLv%`9x$V*o{f$7xQ2Rb$<$-q zUXg9Blaxy>Gdis)NGtS7-}?25%38tK)?5*N+T)CR7#e&Ez5wra+<+VBp+kUO1LF!u zbE_1+x4dtyl#Gl?+a>mTh!Q@EJv~`pZ|Fcz-7eVJ;KbtL$Th6(0tNR+Pf&vW4(f(v zybc9)K_DT7iy(trNsDRRRq;1lN}AhUNJZ?_0kZR=cVmj^GVLN2h81JFK20cDJMZ*j z_@x>^jhqA@mz+bAfItdN_Hdw=i%XTPf&w@z;Ox)IqSvx1aEWko8f`!@cZKx@LOxF_I9CI@q|rX}=LcS)wGTczvGQZj1F8 z_QXE-r$eKy(<09>d;g#D6dgA73m3ze7^k&P?_p&HY|RU`|Nk9suh{&)TDpqLfH*u% zIVLf1Z&|Ehm-lb<*=oCNub%rk18xL%%P7t6IWIK_$arR+#pn2)crTGed$(v`X7Yh} z&cC?Ef%xJYrO(jr?2>+kb1C(Xd=}-o9j~-=?%5<2<#Fo_=F4re>$|*bK~t*$f%$K3723njgn&)yi-Nl&!zz?tV)Yp<*@cKo!u}ElFRVRkNP>n~ z?ucy6l7!={1uV18SBS@?{J2;#Bu=cHj4`$#ekO36K} zp76yOFbE%#n%fdF+Z+Ng_BRR__0Qx?Gnbm{rbG@MGUqGUNfp^6pMlF~jz4x<*vLvT zo^UtGSX9&UIWe=R+M`MGrk%QM0}*WDqD7RiqAx#34t@|Yu->d5Q|S^8G{iVgk{tmF_iZ2LUR-qvl>#NE#pv z)$#=SE-mGzUQOs8BbdUXpJsyZanRrMrBtU=Ju=oIr`drKbEt+eg>jCcPZ25WpaGz(KpjqP zbU?hObid)S_{Fj1$#GTa0Ccp#Zy@8h-dPJwZ?#z<^ZC2rv)llhKpWtpAX+DQw}U7* zG#vs}Wze7Nm`jyl_z4$C=kxPGiB~2)Hb;Rz?zgY6Lb~me z{zH4u*4@ckfblYIb+Zik7Phavwj(l>h_M?1u&Gi7`yKzVwuJ!pWEzgUOPmdy$Zcnu z2ozJau|3Jd6jZwqDIABlUdpZ(vD*d&@{L1ohI~DBn55>RoZq)I3{t+ed8k)W$FaH@ zevy+>Ux1B+DElp@OtW1+Whx>=d!Kh~cKmM+-m3}cK~Ve3Wwsa4;eV6rW@7eps{Wf0 zm0*eqb|-Bsc`=mA14kX%%n(28gA=&FP1{NyOo3X>1kHDTGop=3N5~!axddjF97VCW2=lR9cL)oG;6=yyW zHetTteV}5%=A5x^kUvlu-EyG!88M#jUBbHaDHq))mXwOU`eyc5=Xkrp;{)}xGognI zuMJcS{m;R-HE(VI32V*E`w!|vfZQb(%nWkqKXb~n6V}6}xj9SYwS6!{5*v={FZ!vx z9du8FpTF}_7wkAc4rF8X8H(;v;({GVeBu07DZ0| zMdN-BXoIV~jyRNT`sqeZ+Z4b+1GgQ4%qiHB%XA74`?b}HYY>#zy;;_y=3B3&vO%qK zE!)v(bslowk_-jO+LXV(w)w&!FxNgV;j{~gXgfUfX)+2=zo!}c;ZDe7?3+q~GsXTj zgES8YKe87npL>RE35eqNLzzp_tY&qNE${1`iyc4Sc~mY~SFxmhSU2jCp${a&(MeLa z$ku36dsvuHyGKU6%!bU)E@Y(RXUl#^d51Bu0mxfm!Nlcg0X7g`3c4hcZFTpdB&X}f zLgU@ezcSJjjc)6?Fs~Ttu={wY)c0~)=vOOvH^ktre55WZvwSXzd?PK|E(aR-wX$+P z74(Vd;i1^lsyc^*(S_rtTMnR5p<%lNX zY{6WZe9i{n)uGQ0FQVaOX1WhnvHs1{ygt+ z0MVp8ilb*kFi)g_J3(~#wu7fR*kM}|d6E0eu=_QzwN}7Uf)cv6wq5s~awV6yEr)z3 zw*2#5<0|C@B9siwBqxmUh>d^@)Lwr zG)F1y3r<;@|5sBF+}g3soaB|BU$2n_Tjp~?G&mlq$AW*F9IwaZccNdMLtDtUCfbx=iO+eQ9|m!Do$;rVy}SB>w-RqN zA*20`OG&EBQ6T-1J~qO9YDS?%ddO>Kv!0+JH{e=>8R1MTaE)Gcnvlax0ngq{{ztZb zrilRgjEtgs^BDavz)pspU7gCCOlk@Qz&TRE!~$u&>cc(`mBz-(g7N9T{NBMs)bV;8bB=7XQ_Sf?t^79uS7D14A!7 z9C(efpj#QQQiDfF@$`#l?Lyr zhN42yJ_fuBe^TnwF1OI#jJaIdE&1*1l)DK**JRvh=j=mp{h7Ar<-#e5<8Rr`@Lq^S z^*=H(J7ow%83PV!volEmGp4EU!=`3fzX%Y>2Sy6)$vug22nc)Z5jQ5P??*)Kr&ed`y$mM94C3h9qOQmiNlf!C0Z0Q3DiYn)>qiF-8uQ zNlPwH8=;!`s8i;StgG?tqcqLUToB_=1npC!$vlP-|FpX_}v$`YzBG4g-||~lr)8!?G^H6o+Q*sR&)*cw%P{FZ9j%p z^wIu}gPj8rCO|q1M$R5%tXBNYKMRz=gBZ((4KEt~Nbo_nUhz~+q;B*QTg_j09KdsBOj?u{9bs-C< zIbI!JLWqTBlUhX;0yI>pC*?RI?I32+P39{O4dKxH@L|>X`qWZmnLmGFO)IT^<$2$v zx}JeWbE$NYU1^V4#>lC{0(oN+Ge}N8bMl!^L3)Elq(!~IPToL&C3-q#Si29WV8oby zaefzgKJ8czShOVp*ZJ3wIlCLR`+R-%%6x4(Iqd9C4JI7ht_==-?wh$5n8lt-iGBP5 zcCS!0S8fVvfM9uw^^}xggaUXix;YOM^8}G??A8T899Tg1uHd1MrQ=#C$fJ=FQ&OPySgX+MaXlvoxVFJOdHdzH+T1xU%^} zHDl$KbfZ_F)F2=}NWT8+FHWI8k8B@~TM^@p#6&FAv)IEC?r~PrX)Cr-x5na56@4*A z)Uc%i`AN>S8`BRi3iz)%ww{BO11FGddjKw^-KmWN>W=i;w{I;DD}szC^ojD9AfmBQ za3X*5GGs)M-kiXdueO@=z{?hgwX1f^;~i7=!E9pY1NCC1yp>ja{~{w9b-uY~JxRUq zIzg7N=R2DQ6gf%OS5qbU_~olJk>r}`s?F>7kyJJ99gxk#I&qG3}*!0CF z;*7fMWJA}93FIP4o>WBAu zre~1#ilkI4uFxsX#Wp|xv-8~z{3~8|CafTW&<$u2H1=2yS3V;n7|D0 z$x9*jT%Igtk=iEP(8YR}qb6E(Xwax?4}L&!ld+PlXi{W-@@#)~$ywNRt7Q7kKEYc) zrB-J>xRhEAZZ3)ZQS{|k^Beg%@1?4*Mw~)Q)wTis*7}8Upvu)=_dv~UDwOCKtT^xf^v;V2E_i03EuEpS z8+For$7l82-=I;`5LN%_1MgAqd)Ze@zBwg+_MRTC+Ox!3 zD*$O2h&@l;>EwrPa+RFo7<~^m!8en~JYMq$D%1GOfhl#8emEu8XOHMn`LerBrSk0( z`L7ul*-n)T4E!dqg76X_t>%#l9+)T16e9;O^q|)-2yaE6rs5CV<+D;d%a<7VW!*np z*0%YUeG~ICsg2tw`rPO?bM83)SQ$!+CFSkPuahUKULwK4fiL(tHlQni;=FIs5f-N8 zX5e~JWXs|FD~j2QjO2J>!u*3g`*@-25H(%ub}<%>D_f7Gs^4KfpJ3q%O4Dkrbjd z1b%t{&(Ws}Gjr0|aqBj-Q z$=^RDPsgV#CS)bDdqTy!L|kbw{=C9j`kQjWzL{{3+>l<)#a-_pTRj4X!d=Lcxp(I$ ztQ@uIMZh)dUAuSW6SY;9jrbekwP`C1X}h9M(pucF|JyFeHkyQw0ee2y-^a=1)`}j< zA_)v%X$z>tDNesx5afQH=Vg1K%kqqUk#oiLaiZeeA~j_%m#mGJ{kD@ff7r4^@Q<={ z%WY_CararOY|Kyo!9qj8Ek&LY4CTOgw-0os>a!D4*nHR^*`ejhM7?PlL+fSo55vFY z$DvbbC+tEX{A|{jA80@Vbpz|xj|3_&eACAm9#gD1%(09)UGd;T(kCTnId>UTdOPos(IEEpV{^G5ti+-mG;@>4PWREo zybjxR%m;+CuJ~rF1JHo7U){=%DghF~m*r1|dM5>Ef`XVYT<9#CoTmvX;R;GXB@? z*Ys`z%53v zqtyW34r)qs719*6Q;(4Kk5!G-r`E7Q!*%h&>!;|PNOjO8Y?95K$pgic>$GeZUIx5| zDuh%BFSwhlrpKm3qVaKCHp6P?yyhS=YUL0X@{cdE$fi@kKb3>sfQj{GIR-`+K`mWW;^f z9#`RRthI9cm6-peq7HAs9G~x6!%w}zEhqhgj)O+cGAxLvl{x0teFFcYx_ubrB#?!D}->+A#1>!{;3 zcv6h3M|zIt9cWSOO733_4jFzT^~zoI^^9=pT8;NJB-|v$PsL@qG%<0s&q$}o)s^D9 z8ow5(eth_*uJ+G;>wv$hhICA!t&bhhKUnn-F21DmB^r)79X`s*FJ_$rWJAkQeGdk) zmLp;m1m#eR5gOQeHn!>pTmz*a28j8#-74ojTtB1oMtXXBDB*B8WM}opziQ6@i|pM8 zZZ5)P_^Bn8&b&+gI?jVHOvNfwNea6pS)#t(tLJ>QgClLT8SXqew<@L_*6Bd&*t%!1 z_V9$D+>E(8$6huY;5&TE@dw4)>7KVOEQ?sS+3+ zpTJW|_jvw*Yx>>qW^%@Vq4V8d&LL7u+l!0SBcOX=Bd-rizrq8F-__rbHP1ooIon87ezREYmK{u8 z{ckTbOUuo_M3*A}*T?SqTSc^Wo@pN~7m0dyAgv`}rO={`=gGG`-+cBxeR`2| z(6alfb^MH$Mk}Y9l>5H3W7B|kvUoUu_Nvb-t#&ioc=53X`RwpQZy&y=&ne(G8S&m` z5vqRA%j%v@GM+arJ-1b>6%h^L4PR2l-*GqxtEASL{kL<@9{v(5w8)=zLU;+t@;1(z z33$9{k&?N#K_yTIqLF0{%UE)v&c>Q67%~8PR&LU;)arJ9!M@byX6@qYT1^#1*9!*sT(VDjaeul;Fq;+TRRvflF{ygGx=He4nAd5Cqd3NoB| z&su#~;;;;#tizZ7-S9esWLKTClK8=YOV0JUCiKD}J(w{qhD^X7Qh936A);M4*D9QV>38|JuaV*9Wxp6?xa^Nr=j z#Ur!(_jhWut(NpWsXforoI3!3OO#SlDJ@@YZtC^*jlr#3t1lk>xpu__^m;y?^Cps? zeEG$v^LzHR^?%Gv7=>Xi_DwiFKaHo9L=*t<|E9G{x~O6$V-wJRf8ck!z2NE7=kl9x zFFiC-{oVw0J$cjo{QPGhoLD@xw0P8SwVH!Qb0(_S>v1jcRTfVG0GydTO*{ut?Dcv* zzq_>^Y;JDVuHXD4y7tTO_tw_dE(P{Y-EOyi^vEG^SATo9H#gVn?`Srnra6MZ*HUs4 z0RXN|ph84ZEVs70!OKQB@Pk0T^Y&Ze%9USt+t-tLK6~~|w|CDCY&hGyX8Wzy&OyB% zs#+MB`IUMC033^_`5N>iuhE!^!?338@B00Lw7nd~(`qzAJ8j0T*_~0VwIgntKM-c@ z41Ax1i^aWg15q43J&|0lmFb%S0B~B?MAOHzc&g#pX}>Eobt>Ws z0C1e`p`PeuA)Y#^Wpc068@`8l0sx#JJ#80lA9b#tf|7v006h?EQz*> zdVe~eN+&O+D~hD>(kr(B065%E(?i=uTSryCU?`bRWjcMzVPydTaCz{|dYIhSoQ|hf zI!UZlCb7!AQL()c0KjdwhqjBhk4YydEf~`2ilL;iLK9B_fb)~5 z%pTt?n>^LHd#BwbDjVI$K`vdROvm>kLwg( z>1A7;uC`6ytJCe{nLGgiPSe9p5Ylx+<9K?7H;k|85>5aBh95^J^l-48oIFQyO@DS# z7=9o&002&po}-T>6Zr*0UVb!}B7VOOj0ATRU zcd>kv1R>Vf|9aBxw)(Bs&L|9PthNOJIIZ6wc$=Gl2hX2xhNhGCsd%P0M0M^bvnK$6 z(X-IUvdJ^wP1*?npq<4&PRG-J>3`w@0D#-^%yqGJ!BFm}7AzP706)>HSb9PXGYQCeQNi`F~0d005kh zXGIrTZ3_TE_2~JE)wX(iqXYl|oNuT2*Nx%F|H{4q0B|~$$+M)3 zLB6ll699mUdX{}8SvHcg+7)fm4oLib{HxoRxo-305H|Y>3C*qin8z2 z697Ot$3?7q&Xe^*004-pHh*S3P7MG6uZIOg002}@p08RkH2I02v=ac}d_6_!LfVP# z`E=n6006h!sSC?#%O_8ENdN#qRJJi6&rYY~cei_DPHUmei%}fQpjP9g0RWt4duY3; zOdoswzHGPK-YA~Oj~}nyy?amX+qYZBab#Z5vH2-|-)H^=0658nP=DHS({@p*Sgx+# z(I-!ytdHV(_Uu`)yu3U(cyPfF!!S0{^c#(&xx)870tx_dESxF{XSciU_j-Nr(WA%y z<;y<~u3o*Gye{oGt@YuH7cYK({`}XEPn>vPA3Js=>U8!f(@-TPClLVP7W-6+nLNFX zjVIpi+pEE~Yrn~J=XSo@d;0Y0@65~hqqGFC{w( f0RZrN{t;jR4)V^*^A$~W00000NkvXXu0mjfQoU&= diff --git a/data/images/playlist-icon.svg b/data/images/playlist-icon.svg index 7ecc0bed0..b05f8158d 100644 --- a/data/images/playlist-icon.svg +++ b/data/images/playlist-icon.svg @@ -9,6 +9,6 @@ - + \ No newline at end of file diff --git a/data/images/recently-played.svg b/data/images/recently-played.svg index 2f8cb53a5..36c1c261a 100644 --- a/data/images/recently-played.svg +++ b/data/images/recently-played.svg @@ -1,19 +1,19 @@ - + recently-played Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + - + - + + \ No newline at end of file diff --git a/data/images/search-icon.svg b/data/images/search-icon.svg index 46e82487d..7c0cd6d88 100644 --- a/data/images/search-icon.svg +++ b/data/images/search-icon.svg @@ -2,13 +2,8 @@ search-icon Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - + - + \ No newline at end of file diff --git a/data/images/sipplugin-offline.svg b/data/images/sipplugin-offline.svg index 33efcbc6b..9ad742cf6 100644 --- a/data/images/sipplugin-offline.svg +++ b/data/images/sipplugin-offline.svg @@ -1,11 +1,11 @@ - + sipplugin-offline Created with Sketch (http://www.bohemiancoding.com/sketch) - + \ No newline at end of file diff --git a/data/images/sipplugin-online.svg b/data/images/sipplugin-online.svg index babc57140..2b0f62ef7 100644 --- a/data/images/sipplugin-online.svg +++ b/data/images/sipplugin-online.svg @@ -1,13 +1,13 @@ - + sipplugin-online Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + \ No newline at end of file diff --git a/data/images/star-hover.svg b/data/images/star-hover.svg index d856c6bba..2ca6c7b62 100644 --- a/data/images/star-hover.svg +++ b/data/images/star-hover.svg @@ -9,9 +9,6 @@ - - - - + \ No newline at end of file diff --git a/data/images/star-unstarred.svg b/data/images/star-unstarred.svg index 6e3f28748..5d0e64d83 100644 --- a/data/images/star-unstarred.svg +++ b/data/images/star-unstarred.svg @@ -1,9 +1,14 @@ - + star-unstarred Created with Sketch (http://www.bohemiancoding.com/sketch) - + + + + + + - + \ No newline at end of file diff --git a/data/images/starred.svg b/data/images/starred.svg index def031c89..d7cce2eac 100644 --- a/data/images/starred.svg +++ b/data/images/starred.svg @@ -9,9 +9,6 @@ - - - - + \ No newline at end of file From 452c5b7ccedd686fd5d5d559c778fe9f1bf11231 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 7 Dec 2012 18:07:26 +0100 Subject: [PATCH 101/332] * QueryLabel now draws a fancier text in the AudioControls. --- src/libtomahawk/widgets/QueryLabel.cpp | 44 ++++++++++++++++++++++---- src/libtomahawk/widgets/QueryLabel.h | 2 ++ 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/src/libtomahawk/widgets/QueryLabel.cpp b/src/libtomahawk/widgets/QueryLabel.cpp index a4fb1e564..800566a67 100644 --- a/src/libtomahawk/widgets/QueryLabel.cpp +++ b/src/libtomahawk/widgets/QueryLabel.cpp @@ -365,6 +365,36 @@ QueryLabel::minimumSizeHint() const } +void +QueryLabel::drawFancyText( QPainter* painter, const QRect& rect, const QString& text ) +{ + if ( m_align & Qt::AlignLeft ) + { + painter->save(); + + QFont fnt = painter->font(); + fnt.setStyleStrategy( QFont::ForceOutline ); + QFontMetrics fm( fnt ); + + QPainterPath textPath; + textPath.addText( rect.topLeft() + QPoint( 0, fm.ascent() ), fnt, text ); + + QLinearGradient gradient( 0, 0, 0, 1 ); + gradient.setCoordinateMode( QGradient::ObjectBoundingMode ); + gradient.setColorAt( 0, painter->pen().color() ); + gradient.setColorAt( 1, painter->pen().color().lighter() ); + painter->setPen( QPen( gradient, 0, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin ) ); + + painter->setBrush( gradient ); + painter->drawPath( textPath ); + + painter->restore(); + } + else + painter->drawText( rect, m_align, text ); +} + + void QueryLabel::paintEvent( QPaintEvent* event ) { @@ -377,6 +407,7 @@ QueryLabel::paintEvent( QPaintEvent* event ) p.save(); p.setRenderHint( QPainter::Antialiasing ); + p.setRenderHint( QPainter::TextAntialiasing ); if ( m_hoverArea.width() ) { @@ -402,7 +433,8 @@ QueryLabel::paintEvent( QPaintEvent* event ) p.setBrush( palette().window() ); p.setPen( palette().color( foregroundRole() ) ); } - p.drawText( r, m_align, elidedText ); + + drawFancyText( &p, r, elidedText ); } else { @@ -426,7 +458,7 @@ QueryLabel::paintEvent( QPaintEvent* event ) p.setBrush( palette().highlight() ); } - p.drawText( r, m_align, artist()->name() ); + drawFancyText( &p, r, artist()->name() ); r.adjust( artistX, 0, 0, 0 ); } if ( m_type & Album ) @@ -437,7 +469,7 @@ QueryLabel::paintEvent( QPaintEvent* event ) if ( m_type & Artist ) { - p.drawText( r, m_align, DASH ); + drawFancyText( &p, r, DASH ); r.adjust( dashX, 0, 0, 0 ); } if ( m_hoverType == Album ) @@ -446,7 +478,7 @@ QueryLabel::paintEvent( QPaintEvent* event ) p.setBrush( palette().highlight() ); } - p.drawText( r, m_align, album()->name() ); + drawFancyText( &p, r, album()->name() ); r.adjust( albumX, 0, 0, 0 ); } if ( m_type & Track ) @@ -457,7 +489,7 @@ QueryLabel::paintEvent( QPaintEvent* event ) if ( m_type & Artist || m_type & Album ) { - p.drawText( r, m_align, DASH ); + drawFancyText( &p, r, DASH ); r.adjust( dashX, 0, 0, 0 ); } if ( m_hoverType == Track ) @@ -466,7 +498,7 @@ QueryLabel::paintEvent( QPaintEvent* event ) p.setBrush( palette().highlight() ); } - p.drawText( r, m_align, track() ); + drawFancyText( &p, r, track() ); r.adjust( trackX, 0, 0, 0 ); } diff --git a/src/libtomahawk/widgets/QueryLabel.h b/src/libtomahawk/widgets/QueryLabel.h index 53c3521c4..dcf3366c4 100644 --- a/src/libtomahawk/widgets/QueryLabel.h +++ b/src/libtomahawk/widgets/QueryLabel.h @@ -104,6 +104,8 @@ signals: void queryChanged( const Tomahawk::query_ptr& query ); protected: + void drawFancyText( QPainter* painter, const QRect& rect, const QString& text ); + virtual void contextMenuEvent( QContextMenuEvent* event ); virtual void mousePressEvent( QMouseEvent* event ); From 2fd4f47a4a9560bf4e12163e1a63b8a8c0f9e36c Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 7 Dec 2012 18:09:04 +0100 Subject: [PATCH 102/332] * Set font weight on AudioControls. --- src/AudioControls.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/AudioControls.cpp b/src/AudioControls.cpp index 4b6120fd6..03970d46e 100644 --- a/src/AudioControls.cpp +++ b/src/AudioControls.cpp @@ -38,6 +38,7 @@ #include #include #include +#include const static int ALLOWED_MAX_DIVERSION = 300; @@ -57,6 +58,7 @@ AudioControls::AudioControls( QWidget* parent ) QFont font( ui->artistTrackLabel->font() ); font.setPointSize( TomahawkUtils::defaultFontSize() ); + font.setWeight( QFont::Normal ); ui->artistTrackLabel->setFont( font ); ui->artistTrackLabel->setElideMode( Qt::ElideMiddle ); From 70621353ca838cf0cb8e1a46ac829cc0d4679679 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Fri, 7 Dec 2012 12:29:46 -0500 Subject: [PATCH 103/332] Change shuffle and repeat active states and more --- data/images/charts.svg | 10 +++------- data/images/headphones.svg | 6 +++--- data/images/loved.svg | 16 ++++++++-------- data/images/loved_playlist.svg | 10 +++++----- data/images/new-additions.svg | 10 +++------- data/images/new-releases.svg | 13 ++++++------- data/images/now-playing-speaker-dark.svg | 12 ++++++------ data/images/now-playing-speaker.svg | 17 +++++++++++------ data/images/recently-played.svg | 6 +++--- data/images/repeat-1-on-pressed.svg | 12 +++++------- data/images/repeat-1-on-rest.svg | 19 +++++++++++-------- data/images/repeat-all-on-pressed.svg | 4 ++-- data/images/repeat-all-on-rest.svg | 11 ++++++++--- data/images/shuffle-on-pressed.svg | 6 +++--- data/images/shuffle-on-rest.svg | 17 +++++++++++++---- data/images/subscribe-on.svg | 6 +++--- data/images/supercollection.svg | 12 ++++++------ 17 files changed, 99 insertions(+), 88 deletions(-) diff --git a/data/images/charts.svg b/data/images/charts.svg index ef88fe974..24e209fa0 100644 --- a/data/images/charts.svg +++ b/data/images/charts.svg @@ -3,14 +3,10 @@ charts Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - + - - + + \ No newline at end of file diff --git a/data/images/headphones.svg b/data/images/headphones.svg index c8db543da..c4a7f8a31 100644 --- a/data/images/headphones.svg +++ b/data/images/headphones.svg @@ -3,9 +3,9 @@ headphones Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + diff --git a/data/images/loved.svg b/data/images/loved.svg index 9eefb7108..16f7b72bc 100644 --- a/data/images/loved.svg +++ b/data/images/loved.svg @@ -1,19 +1,19 @@ - + loved Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + - + - - - + + + \ No newline at end of file diff --git a/data/images/loved_playlist.svg b/data/images/loved_playlist.svg index 96eda1e34..78e92b687 100644 --- a/data/images/loved_playlist.svg +++ b/data/images/loved_playlist.svg @@ -3,15 +3,15 @@ loved_playlist Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + - + diff --git a/data/images/new-additions.svg b/data/images/new-additions.svg index acb39f13e..f1f072395 100644 --- a/data/images/new-additions.svg +++ b/data/images/new-additions.svg @@ -3,14 +3,10 @@ new-additions Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - + - - + + \ No newline at end of file diff --git a/data/images/new-releases.svg b/data/images/new-releases.svg index 3ffcd03b1..7a2dc4084 100644 --- a/data/images/new-releases.svg +++ b/data/images/new-releases.svg @@ -3,16 +3,15 @@ new-releases Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + - + - - - + + diff --git a/data/images/now-playing-speaker-dark.svg b/data/images/now-playing-speaker-dark.svg index 02c0f2631..dc3b856d0 100644 --- a/data/images/now-playing-speaker-dark.svg +++ b/data/images/now-playing-speaker-dark.svg @@ -4,24 +4,24 @@ Created with Sketch (http://www.bohemiancoding.com/sketch) - + - + - - + + - + - + diff --git a/data/images/now-playing-speaker.svg b/data/images/now-playing-speaker.svg index 8ee243440..1f8066f46 100644 --- a/data/images/now-playing-speaker.svg +++ b/data/images/now-playing-speaker.svg @@ -2,13 +2,18 @@ now-playing-speaker Created with Sketch (http://www.bohemiancoding.com/sketch) - - + + + + + + + - - - - + + + + \ No newline at end of file diff --git a/data/images/recently-played.svg b/data/images/recently-played.svg index 36c1c261a..4551691b4 100644 --- a/data/images/recently-played.svg +++ b/data/images/recently-played.svg @@ -3,9 +3,9 @@ recently-played Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + diff --git a/data/images/repeat-1-on-pressed.svg b/data/images/repeat-1-on-pressed.svg index e9dfd3425..0130540a7 100644 --- a/data/images/repeat-1-on-pressed.svg +++ b/data/images/repeat-1-on-pressed.svg @@ -5,14 +5,12 @@ - - - + + + - - - 1 - + + \ No newline at end of file diff --git a/data/images/repeat-1-on-rest.svg b/data/images/repeat-1-on-rest.svg index 57ca557eb..d81de3070 100644 --- a/data/images/repeat-1-on-rest.svg +++ b/data/images/repeat-1-on-rest.svg @@ -2,15 +2,18 @@ repeat-1-on-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - + + + + + + - - - + + + - - - 1 - + + \ No newline at end of file diff --git a/data/images/repeat-all-on-pressed.svg b/data/images/repeat-all-on-pressed.svg index 3fd03f962..9931d38b4 100644 --- a/data/images/repeat-all-on-pressed.svg +++ b/data/images/repeat-all-on-pressed.svg @@ -5,8 +5,8 @@ - - + + \ No newline at end of file diff --git a/data/images/repeat-all-on-rest.svg b/data/images/repeat-all-on-rest.svg index b78c8f7f7..52f202a2f 100644 --- a/data/images/repeat-all-on-rest.svg +++ b/data/images/repeat-all-on-rest.svg @@ -2,11 +2,16 @@ repeat-all-on-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - + + + + + + - - + + \ No newline at end of file diff --git a/data/images/shuffle-on-pressed.svg b/data/images/shuffle-on-pressed.svg index 57fb4e1dd..2cc3e9808 100644 --- a/data/images/shuffle-on-pressed.svg +++ b/data/images/shuffle-on-pressed.svg @@ -5,9 +5,9 @@ - - - + + + \ No newline at end of file diff --git a/data/images/shuffle-on-rest.svg b/data/images/shuffle-on-rest.svg index 0e7ec5cf8..5727c39f3 100644 --- a/data/images/shuffle-on-rest.svg +++ b/data/images/shuffle-on-rest.svg @@ -2,12 +2,21 @@ shuffle-on-rest Created with Sketch (http://www.bohemiancoding.com/sketch) - + + + + + + + + + + - - - + + + \ No newline at end of file diff --git a/data/images/subscribe-on.svg b/data/images/subscribe-on.svg index 6aab575d7..95932bcdb 100644 --- a/data/images/subscribe-on.svg +++ b/data/images/subscribe-on.svg @@ -3,9 +3,9 @@ subscribe-on Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + diff --git a/data/images/supercollection.svg b/data/images/supercollection.svg index d9d42ae2d..f95015db6 100644 --- a/data/images/supercollection.svg +++ b/data/images/supercollection.svg @@ -1,17 +1,17 @@ - + supercollection Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + - + - + From 585fa8060f5f60470a01f078641d46e6c69910af Mon Sep 17 00:00:00 2001 From: Roy Sindre Norangshol Date: Fri, 7 Dec 2012 19:15:44 +0100 Subject: [PATCH 104/332] Fixes cmake file for finding CLucene libraries on systems supporting multiarch Debian and Ubuntu switching to support multiarch, libraries gets installed under /usr/lib/{multiarch-triplet}. ie: /usr/lib/x86_64-linux-gnu . See http://public.kitware.com/Bug/view.php?id=12037 for a like-wise bug with good details. --- CMakeModules/FindCLucene.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeModules/FindCLucene.cmake b/CMakeModules/FindCLucene.cmake index 8b9311f13..873693d8c 100644 --- a/CMakeModules/FindCLucene.cmake +++ b/CMakeModules/FindCLucene.cmake @@ -41,6 +41,7 @@ SET(TRIAL_LIBRARY_PATHS /sw/lib${LIB_SUFFIX} /usr/pkg/lib${LIB_SUFFIX} /usr/lib64 + /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} ) SET(TRIAL_INCLUDE_PATHS $ENV{CLUCENE_HOME}/include From f45f49dc4d49c2714f9985eceb64ed0d604ca67d Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Fri, 7 Dec 2012 13:28:50 -0500 Subject: [PATCH 105/332] Clean up icons in Prefs and Account Dialog --- data/images/account-offline.svg | 2 +- data/images/account-online.svg | 11 +++-------- data/images/account-settings.svg | 15 ++++++++------- data/images/add-contact.svg | 22 ++++++++++++++-------- data/images/advanced-settings.svg | 13 +++++++++---- data/images/back.svg | 13 ++++++++++--- data/images/configure.svg | 13 +++++++++---- data/images/forward.svg | 13 ++++++++++--- data/images/music-settings.svg | 10 ++++------ data/images/now-playing-speaker.svg | 15 +++++---------- 10 files changed, 73 insertions(+), 54 deletions(-) diff --git a/data/images/account-offline.svg b/data/images/account-offline.svg index 2e936d3d6..5dc8f1be7 100644 --- a/data/images/account-offline.svg +++ b/data/images/account-offline.svg @@ -10,7 +10,7 @@ - + \ No newline at end of file diff --git a/data/images/account-online.svg b/data/images/account-online.svg index 2931fc233..ca2362557 100644 --- a/data/images/account-online.svg +++ b/data/images/account-online.svg @@ -2,15 +2,10 @@ account-online Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - + - - + + \ No newline at end of file diff --git a/data/images/account-settings.svg b/data/images/account-settings.svg index 8114e55f4..daa394fc3 100644 --- a/data/images/account-settings.svg +++ b/data/images/account-settings.svg @@ -2,12 +2,13 @@ account-settings Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - + + + + + + + + \ No newline at end of file diff --git a/data/images/add-contact.svg b/data/images/add-contact.svg index d569d2514..11e81697e 100644 --- a/data/images/add-contact.svg +++ b/data/images/add-contact.svg @@ -1,14 +1,20 @@ - + add-contact Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/advanced-settings.svg b/data/images/advanced-settings.svg index ccef0f4fe..a7e1c2bb0 100644 --- a/data/images/advanced-settings.svg +++ b/data/images/advanced-settings.svg @@ -2,10 +2,15 @@ advanced-settings Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + + + + + + \ No newline at end of file diff --git a/data/images/back.svg b/data/images/back.svg index 3d131d713..75b0295cb 100644 --- a/data/images/back.svg +++ b/data/images/back.svg @@ -2,8 +2,15 @@ back Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + + + + + + + + \ No newline at end of file diff --git a/data/images/configure.svg b/data/images/configure.svg index e3886b372..f666ea3c1 100644 --- a/data/images/configure.svg +++ b/data/images/configure.svg @@ -1,9 +1,14 @@ - + configure Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + + + + + + \ No newline at end of file diff --git a/data/images/forward.svg b/data/images/forward.svg index 20123c3bc..731b50419 100644 --- a/data/images/forward.svg +++ b/data/images/forward.svg @@ -2,8 +2,15 @@ forward Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + + + + + + + + \ No newline at end of file diff --git a/data/images/music-settings.svg b/data/images/music-settings.svg index 27ee94065..0369a373e 100644 --- a/data/images/music-settings.svg +++ b/data/images/music-settings.svg @@ -3,11 +3,9 @@ music-settings Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - + + + + \ No newline at end of file diff --git a/data/images/now-playing-speaker.svg b/data/images/now-playing-speaker.svg index 1f8066f46..2656036e5 100644 --- a/data/images/now-playing-speaker.svg +++ b/data/images/now-playing-speaker.svg @@ -2,18 +2,13 @@ now-playing-speaker Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - + - - - - + + + + \ No newline at end of file From 785e355dd5f6def3ac9d431080a9814d2006a227 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Fri, 7 Dec 2012 15:37:20 -0500 Subject: [PATCH 106/332] Fix the collaborative playlist dot and the artist-icon --- data/images/artist-icon.svg | 13 +++++-------- data/images/green-dot.svg | 10 +++++----- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/data/images/artist-icon.svg b/data/images/artist-icon.svg index c7b726627..5226f31d9 100644 --- a/data/images/artist-icon.svg +++ b/data/images/artist-icon.svg @@ -2,14 +2,11 @@ artist-icon Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - + - - + + + + \ No newline at end of file diff --git a/data/images/green-dot.svg b/data/images/green-dot.svg index d23e8ad05..c3057e5c2 100644 --- a/data/images/green-dot.svg +++ b/data/images/green-dot.svg @@ -1,17 +1,17 @@ - + green-dot Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + - + From 09d646a3ff5c7c439ac71744d58ed66d4e5cf394 Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Sat, 8 Dec 2012 01:17:22 +0100 Subject: [PATCH 107/332] Automatic merge of Transifex translations --- lang/tomahawk_ar.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_bg.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_bn_IN.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_ca.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_de.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_el.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_en.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_es.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_fr.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_gl.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_hi_IN.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_hu.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_it.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_ja.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_lt.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_pl.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_pt_BR.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_ru.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_sv.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_tr.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_zh_CN.ts | 74 +++++++++++++++++++++--------------------- lang/tomahawk_zh_TW.ts | 74 +++++++++++++++++++++--------------------- 22 files changed, 814 insertions(+), 814 deletions(-) diff --git a/lang/tomahawk_ar.ts b/lang/tomahawk_ar.ts index 465358b17..30f49a967 100644 --- a/lang/tomahawk_ar.ts +++ b/lang/tomahawk_ar.ts @@ -48,17 +48,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online متصل - + Connecting... جاري الاتصال... - + Offline غير متصل @@ -66,18 +66,18 @@ connect and stream from you? AccountListWidget - + Connections - - + + Connect &All - + Disconnect &All @@ -422,13 +422,13 @@ connect and stream from you? - + Shuffle خلط - + Repeat إعادة @@ -443,27 +443,27 @@ connect and stream from you? مرتفع - + Time Elapsed الوقت المنقضي - + Time Remaining الوقت المتبقي - + Playing from %1 يتم الاستماع من %1 - + Share شارك - + Love أحب @@ -489,24 +489,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist إنشاء قائمة أغاني جديدة - + Create new Station إنشاء إذاعة جديدة - - + + New Station إنشاء إذاعة جديدة - - + + %1 Station إذاعة %1 @@ -514,12 +514,12 @@ connect and stream from you? CategoryItem - + Playlists قائمات الأغاني - + Stations الإذاعات @@ -1797,19 +1797,19 @@ connect and stream from you? توب ١٠ - + All available tracks جميع الأغاني المتاحة - - + + Show أظهر - - + + Hide إخفي @@ -2135,32 +2135,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account أضف حساب - + Remove إزالة - + %1 downloads تحميل %1 - + Online متصل - + Connecting... جاري الاتصال... - + Offline غير متصل @@ -2230,7 +2230,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play إبعث أغانيك الخاصة إلى last .fm و جد أغاني جديدة مجانا للاستماع إليها @@ -3218,7 +3218,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! خطأ شبكة في تحليل تقصير الرابط! @@ -3771,7 +3771,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown مجهول @@ -3956,7 +3956,7 @@ You can re-send a sync message at any time simply by sending another tweet using لا قوائم أغاني جديدة أنشئت مؤخرا على شبكتك. - + Welcome to Tomahawk مرحبا بكم في توماهوك diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index c6cbd10f6..d8dec80cc 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online На линия - + Connecting... Свързване... - + Offline Извън линия @@ -65,18 +65,18 @@ connect and stream from you? AccountListWidget - + Connections Връзки - - + + Connect &All Свържи &Всички - + Disconnect &All Прекъсни &Всички @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Разбъркано - + Repeat Повтори @@ -442,27 +442,27 @@ connect and stream from you? 100% - + Time Elapsed Изминало време - + Time Remaining Оставащо време - + Playing from %1 Изпълнявам от %1 - + Share Сподели - + Love Харесай @@ -488,24 +488,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist Създай нов списък - + Create new Station Създай нова станция - - + + New Station Нова станция - - + + %1 Station %1 Станция @@ -513,12 +513,12 @@ connect and stream from you? CategoryItem - + Playlists Списъци - + Stations Станции @@ -1804,19 +1804,19 @@ Tomahaw създаде доклад относно това и изпращай Първите 10 - + All available tracks Всички налични изпълнения - - + + Show Покажи - - + + Hide Скрий @@ -2144,32 +2144,32 @@ Tomahaw създаде доклад относно това и изпращай Tomahawk::Accounts::AccountDelegate - + Add Account Добави регистрация - + Remove Премахни - + %1 downloads %1 сваляния - + Online На линия - + Connecting... Свързване... - + Offline Извън линия @@ -2242,7 +2242,7 @@ Tomahaw създаде доклад относно това и изпращай Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play Качи информация за изпълнените песни в Last.fm и открий свободно разпространявани. @@ -3231,7 +3231,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! Мрежова грешка при извличане на съкратеният адрес. @@ -3787,7 +3787,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown Неизвестно @@ -3974,7 +3974,7 @@ You can re-send a sync message at any time simply by sending another tweet using Не откривам наскоро създадени списъци в твоята мрежа - + Welcome to Tomahawk Здравей! diff --git a/lang/tomahawk_bn_IN.ts b/lang/tomahawk_bn_IN.ts index c615c9b07..9c1fc4838 100644 --- a/lang/tomahawk_bn_IN.ts +++ b/lang/tomahawk_bn_IN.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online - + Connecting... - + Offline @@ -65,18 +65,18 @@ connect and stream from you? AccountListWidget - + Connections - - + + Connect &All - + Disconnect &All @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle - + Repeat @@ -442,27 +442,27 @@ connect and stream from you? - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -488,24 +488,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist - + Create new Station - - + + New Station - - + + %1 Station @@ -513,12 +513,12 @@ connect and stream from you? CategoryItem - + Playlists - + Stations @@ -1794,19 +1794,19 @@ connect and stream from you? - + All available tracks - - + + Show - - + + Hide @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account - + Remove - + %1 downloads - + Online - + Connecting... - + Offline @@ -2227,7 +2227,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play @@ -3208,7 +3208,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! @@ -3760,7 +3760,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown @@ -3940,7 +3940,7 @@ You can re-send a sync message at any time simply by sending another tweet using - + Welcome to Tomahawk diff --git a/lang/tomahawk_ca.ts b/lang/tomahawk_ca.ts index 54336e0a7..ecc1ccf2d 100644 --- a/lang/tomahawk_ca.ts +++ b/lang/tomahawk_ca.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online En línia - + Connecting... Connectant-se... - + Offline Fora de línia @@ -65,18 +65,18 @@ connect and stream from you? AccountListWidget - + Connections - - + + Connect &All - + Disconnect &All @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Mescla - + Repeat Repeteix @@ -442,27 +442,27 @@ connect and stream from you? Alt - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -488,24 +488,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist Crea una nova Llista - + Create new Station Crea una nova Emissora - - + + New Station Nova Emissora - - + + %1 Station Emissora %1 @@ -513,12 +513,12 @@ connect and stream from you? CategoryItem - + Playlists Llistes de reproducció - + Stations Emissores @@ -1795,19 +1795,19 @@ connect and stream from you? Top 10 - + All available tracks Totes les cançons disponibles - - + + Show Mostra - - + + Hide Amaga @@ -2133,32 +2133,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Afegeix un compte - + Remove Esborra - + %1 downloads %1 descàrregues - + Online En Línia - + Connecting... Connectant-se... - + Offline Fora de Línia @@ -2228,7 +2228,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play Fes scrobbling de les cançons a last.fm, i cerca cançons descarregables gratuïtament per escoltar-les @@ -3216,7 +3216,7 @@ Intenteu ajustar els filtres per reproduir noves cançons. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! Error de la xarxa en analitzar l'enllaç escurçat! @@ -3769,7 +3769,7 @@ introduïu el PIN aquí: TreeItemDelegate - + Unknown Desconegut @@ -3954,7 +3954,7 @@ Podeu reenviar un missatge de sincronisme en qualsevol moment simplement enviant No hi ha cançons escoltades recentment a la xarxa. - + Welcome to Tomahawk Us donem la benvinguda a Tomahawk diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index 890ad2b9e..ef2fc811a 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -48,17 +48,17 @@ erlauben sich mit dir zu verbinden? AccountFactoryWrapperDelegate - + Online Verbunden - + Connecting... Verbinde... - + Offline Nicht Verbunden @@ -66,18 +66,18 @@ erlauben sich mit dir zu verbinden? AccountListWidget - + Connections - - + + Connect &All - + Disconnect &All @@ -422,13 +422,13 @@ erlauben sich mit dir zu verbinden? - + Shuffle Zufall - + Repeat Wiederholen @@ -443,27 +443,27 @@ erlauben sich mit dir zu verbinden? Hoch - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -489,24 +489,24 @@ erlauben sich mit dir zu verbinden? CategoryAddItem - + Create new Playlist Neue Playlist erstellen - + Create new Station Neue Station erstellen - - + + New Station Neue Station - - + + %1 Station %1 Station @@ -514,12 +514,12 @@ erlauben sich mit dir zu verbinden? CategoryItem - + Playlists Playlisten - + Stations Stationen @@ -1796,19 +1796,19 @@ erlauben sich mit dir zu verbinden? Top 10 - + All available tracks Alle verfügbaren Stücke - - + + Show Einblenden - - + + Hide Verstecken @@ -2134,32 +2134,32 @@ erlauben sich mit dir zu verbinden? Tomahawk::Accounts::AccountDelegate - + Add Account Konto hinzufügen - + Remove Entfernen - + %1 downloads %1 Downloads - + Online Verbunden - + Connecting... Verbinde... - + Offline Nicht Verbunden @@ -2229,7 +2229,7 @@ erlauben sich mit dir zu verbinden? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play Gehörte Stücke zu last.fm scrobbeln und frei-verfügbare Stücke anhören @@ -3215,7 +3215,7 @@ Versuch die Filter anzupassen für neue Lieder. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! Konnte den Kurzlink nicht auflösen! @@ -3768,7 +3768,7 @@ Tomahawk auf Twitter's Website authentifiziert hast: TreeItemDelegate - + Unknown Unbekannt @@ -3948,7 +3948,7 @@ You can re-send a sync message at any time simply by sending another tweet using Es gibt keine kürzlich erstellten Playlisten in deinem Netzwerk. - + Welcome to Tomahawk Willkommen bei Tomahawk diff --git a/lang/tomahawk_el.ts b/lang/tomahawk_el.ts index 3df49c696..9088a0098 100644 --- a/lang/tomahawk_el.ts +++ b/lang/tomahawk_el.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Σε σύνδεση - + Connecting... Σύνδεση... - + Offline Εκτός σύνδεσης @@ -65,18 +65,18 @@ connect and stream from you? AccountListWidget - + Connections Συνδέσεις - - + + Connect &All - + Disconnect &All @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Τυχαία σειρά - + Repeat Επανάληψη @@ -442,27 +442,27 @@ connect and stream from you? Υψηλή - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -488,24 +488,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist Δημιουργία νέας Λίστας Αναπαραγωγής - + Create new Station Δημιουργία νέου Σταθμού - - + + New Station Νέος Σταθμός - - + + %1 Station %1 Σταθμού @@ -513,12 +513,12 @@ connect and stream from you? CategoryItem - + Playlists Λιστες Αναπαραγωγης - + Stations Σταθμοι @@ -1795,19 +1795,19 @@ connect and stream from you? Κορυφαία 10 - + All available tracks Όλα τα διαθέσιμα τραγούδια - - + + Show Προβολή - - + + Hide Απόκρυψη @@ -2133,32 +2133,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Προσθήκη Λογαριασμού - + Remove - + %1 downloads %1 λήψεις - + Online Συνεδεμένος - + Connecting... Σύνδεση... - + Offline Εκτός Σύνδεσης @@ -2228,7 +2228,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play Κάντε Scrobble τα κομμάτια σας στο last.fm, και κατεβάστε ελέυθερα κομμάτια για αναπαραγωγή @@ -3216,7 +3216,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! @@ -3768,7 +3768,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown Άγνωστο @@ -3948,7 +3948,7 @@ You can re-send a sync message at any time simply by sending another tweet using - + Welcome to Tomahawk diff --git a/lang/tomahawk_en.ts b/lang/tomahawk_en.ts index 42931746e..8b83876bb 100644 --- a/lang/tomahawk_en.ts +++ b/lang/tomahawk_en.ts @@ -48,17 +48,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Online - + Connecting... Connecting... - + Offline Offline @@ -66,18 +66,18 @@ connect and stream from you? AccountListWidget - + Connections Connections - - + + Connect &All Connect &All - + Disconnect &All Disconnect &All @@ -422,13 +422,13 @@ connect and stream from you? - + Shuffle Shuffle - + Repeat Repeat @@ -443,27 +443,27 @@ connect and stream from you? High - + Time Elapsed Time Elapsed - + Time Remaining Time Remaining - + Playing from %1 Playing from %1 - + Share Share - + Love Love @@ -489,24 +489,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist Create new Playlist - + Create new Station Create new Station - - + + New Station New Station - - + + %1 Station %1 Station @@ -514,12 +514,12 @@ connect and stream from you? CategoryItem - + Playlists Playlists - + Stations Stations @@ -1799,19 +1799,19 @@ connect and stream from you? Top 10 - + All available tracks All available tracks - - + + Show Show - - + + Hide Hide @@ -2137,32 +2137,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Add Account - + Remove Remove - + %1 downloads %1 downloads - + Online Online - + Connecting... Connecting... - + Offline Offline @@ -2232,7 +2232,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play Scrobble your tracks to last.fm, and find freely downloadable tracks to play @@ -3220,7 +3220,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! Network error parsing shortened link! @@ -3773,7 +3773,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown Unknown @@ -3958,7 +3958,7 @@ You can re-send a sync message at any time simply by sending another tweet using No recently created playlists in your network. - + Welcome to Tomahawk Welcome to Tomahawk diff --git a/lang/tomahawk_es.ts b/lang/tomahawk_es.ts index 52d6c07d2..1d8823e7e 100644 --- a/lang/tomahawk_es.ts +++ b/lang/tomahawk_es.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Conectado - + Connecting... Conectando... - + Offline Desconectado @@ -65,18 +65,18 @@ connect and stream from you? AccountListWidget - + Connections - - + + Connect &All - + Disconnect &All @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Aleatorio - + Repeat Repetir @@ -442,27 +442,27 @@ connect and stream from you? Subir volumen - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -488,24 +488,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist - + Create new Station - - + + New Station Nueva estación - - + + %1 Station %1 estación @@ -513,12 +513,12 @@ connect and stream from you? CategoryItem - + Playlists Listas de reproducción - + Stations Estaciones @@ -1794,19 +1794,19 @@ connect and stream from you? Top 10 - + All available tracks Todas las pistas disponibles - - + + Show Mostrar - - + + Hide Ocultar @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Añadir Cuenta - + Remove - + %1 downloads %1 descargas - + Online Conectado - + Connecting... Conectando... - + Offline Desconectado @@ -2227,7 +2227,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play Hacer Scrobble de mis temas a last.fm y encontrar canciones gratuitas para reproducirlas @@ -3215,7 +3215,7 @@ Intente ajustar los filtros para reproducir nuevas canciones. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! Error en la red al analizar el enlace acortado! @@ -3768,7 +3768,7 @@ introduzca su número PIN aquí: TreeItemDelegate - + Unknown Desconocido @@ -3953,7 +3953,7 @@ Puede reenviar el mensaje de sincronización en cualquier momento simplemente en No hay listas de reproducción recientemente creadas en su red. - + Welcome to Tomahawk Bienvenido a Tomahawk diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index 21ed64dc9..b0d284fd7 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -48,17 +48,17 @@ de se connecter et streamer de vous? AccountFactoryWrapperDelegate - + Online En Ligne - + Connecting... Connexion en cours... - + Offline Hors ligne @@ -66,18 +66,18 @@ de se connecter et streamer de vous? AccountListWidget - + Connections - - + + Connect &All - + Disconnect &All @@ -422,13 +422,13 @@ de se connecter et streamer de vous? - + Shuffle Lecture Aléatoire - + Repeat Répéter @@ -443,27 +443,27 @@ de se connecter et streamer de vous? Haut - + Time Elapsed Durée Ecoulé - + Time Remaining Durée Restante - + Playing from %1 - + Share Partager - + Love Favori @@ -489,24 +489,24 @@ de se connecter et streamer de vous? CategoryAddItem - + Create new Playlist Créer une nouvelle liste de lecture - + Create new Station Créer une nouvelle station - - + + New Station Nouvelle Station - - + + %1 Station Station %1 @@ -514,12 +514,12 @@ de se connecter et streamer de vous? CategoryItem - + Playlists Listes de lecture - + Stations Stations @@ -1796,19 +1796,19 @@ de se connecter et streamer de vous? Top 10 - + All available tracks Tous les titres disponibles - - + + Show Afficher - - + + Hide Masquer @@ -2134,32 +2134,32 @@ de se connecter et streamer de vous? Tomahawk::Accounts::AccountDelegate - + Add Account Ajouter un compte - + Remove Supprimer - + %1 downloads %1 téléchargements - + Online En Ligne - + Connecting... Connexion en cours... - + Offline Hors ligne @@ -2229,7 +2229,7 @@ de se connecter et streamer de vous? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play Scrobbler vos écoutes sur Last.fm et trouver des morceaux téléchargeables gratuitement @@ -3217,7 +3217,7 @@ Essayez de changer les filtres pour avoir de nouveaux morceaux à jouer. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! Erreur réseau lors du décodage de l'URL courte! @@ -3770,7 +3770,7 @@ saisissez le numéro PIN ici : TreeItemDelegate - + Unknown Inconnu @@ -3955,7 +3955,7 @@ Vous pouvez envoyer un message de synchronisation quand vous le souhaitez en env Pas de liste de lecture créée récemment sur votre réseau. - + Welcome to Tomahawk Bienvenue dans Tomahawk diff --git a/lang/tomahawk_gl.ts b/lang/tomahawk_gl.ts index f8f0e21f9..d83744941 100644 --- a/lang/tomahawk_gl.ts +++ b/lang/tomahawk_gl.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Conectado - + Connecting... Conectando... - + Offline Desconectado @@ -65,18 +65,18 @@ connect and stream from you? AccountListWidget - + Connections Conexións - - + + Connect &All Conectar &todo - + Disconnect &All Desconectar de &todos @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Ao chou - + Repeat Repetir @@ -442,27 +442,27 @@ connect and stream from you? Alta - + Time Elapsed Tempo transcorrido - + Time Remaining Tempo que falta - + Playing from %1 Reproducindo de %1 - + Share Compartir - + Love gusta @@ -488,24 +488,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist Crear unha lista de temas nova - + Create new Station Crear unha nova emisora - - + + New Station Nova emisora - - + + %1 Station Emisora %1 @@ -513,12 +513,12 @@ connect and stream from you? CategoryItem - + Playlists Listas de reprodución - + Stations Emisoras @@ -1795,19 +1795,19 @@ connect and stream from you? Os 10 primeiros - + All available tracks Tódolas pistas dispoñíbeis - - + + Show Mostrar - - + + Hide Agochar @@ -2135,32 +2135,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Engadir unha conta - + Remove Eliminar - + %1 downloads %1 descargas - + Online Conectado - + Connecting... Conectando... - + Offline Desconectado @@ -2230,7 +2230,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play @@ -3218,7 +3218,7 @@ Proba a trocar os filtros para ter outra lista música para escoitar. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! Erro de rede no acurtamento de ligazóns! @@ -3771,7 +3771,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown Descoñecido @@ -3951,7 +3951,7 @@ You can re-send a sync message at any time simply by sending another tweet using - + Welcome to Tomahawk diff --git a/lang/tomahawk_hi_IN.ts b/lang/tomahawk_hi_IN.ts index 42ac054a2..cc12d9118 100644 --- a/lang/tomahawk_hi_IN.ts +++ b/lang/tomahawk_hi_IN.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online - + Connecting... - + Offline @@ -65,18 +65,18 @@ connect and stream from you? AccountListWidget - + Connections - - + + Connect &All - + Disconnect &All @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle - + Repeat @@ -442,27 +442,27 @@ connect and stream from you? - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -488,24 +488,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist - + Create new Station - - + + New Station - - + + %1 Station @@ -513,12 +513,12 @@ connect and stream from you? CategoryItem - + Playlists - + Stations @@ -1794,19 +1794,19 @@ connect and stream from you? - + All available tracks - - + + Show - - + + Hide @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account - + Remove - + %1 downloads - + Online - + Connecting... - + Offline @@ -2227,7 +2227,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play @@ -3208,7 +3208,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! @@ -3760,7 +3760,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown @@ -3940,7 +3940,7 @@ You can re-send a sync message at any time simply by sending another tweet using - + Welcome to Tomahawk diff --git a/lang/tomahawk_hu.ts b/lang/tomahawk_hu.ts index c5a95b979..6b800dcf5 100644 --- a/lang/tomahawk_hu.ts +++ b/lang/tomahawk_hu.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Elérhető - + Connecting... Csatlakozás... - + Offline Nem elérhető @@ -65,18 +65,18 @@ connect and stream from you? AccountListWidget - + Connections Kapcsolatok - - + + Connect &All - + Disconnect &All @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle - + Repeat Ismétlés @@ -442,27 +442,27 @@ connect and stream from you? Magas - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -488,24 +488,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist Új lejátszólista létrehozása - + Create new Station Új rádióállomás létrehozása - - + + New Station Új rádióállomás - - + + %1 Station @@ -513,12 +513,12 @@ connect and stream from you? CategoryItem - + Playlists Lejátszólisták - + Stations Rádióállomások @@ -1794,19 +1794,19 @@ connect and stream from you? Top 10 - + All available tracks Összes elérhető zeneszám - - + + Show Mutatás - - + + Hide Elrejtés @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Fiók hozzáadása - + Remove Eltávolítás - + %1 downloads - + Online Elérhető - + Connecting... Csatlakozás... - + Offline Nem elérhető @@ -2227,7 +2227,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play @@ -3208,7 +3208,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! @@ -3760,7 +3760,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown @@ -3940,7 +3940,7 @@ You can re-send a sync message at any time simply by sending another tweet using - + Welcome to Tomahawk diff --git a/lang/tomahawk_it.ts b/lang/tomahawk_it.ts index 3dd5f2810..48e03d7a1 100644 --- a/lang/tomahawk_it.ts +++ b/lang/tomahawk_it.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Online - + Connecting... In connessione... - + Offline Offline @@ -65,18 +65,18 @@ connect and stream from you? AccountListWidget - + Connections - - + + Connect &All - + Disconnect &All @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Riproduzione casuale - + Repeat Ripeti @@ -442,27 +442,27 @@ connect and stream from you? Alto - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -488,24 +488,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist Crea una playlist nuova - + Create new Station Crea una nuova stazione - - + + New Station Nuova stazione - - + + %1 Station %1 stazione @@ -513,12 +513,12 @@ connect and stream from you? CategoryItem - + Playlists Playlist - + Stations Stazioni @@ -1794,19 +1794,19 @@ connect and stream from you? Top 10 - + All available tracks Tutte le tracce disponibili - - + + Show Mostra - - + + Hide Nascondi @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Aggiungi account - + Remove Rimuovi - + %1 downloads %1 download - + Online In linea - + Connecting... In collegamento... - + Offline Sconnesso @@ -2227,7 +2227,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play Scrobbla le tue canzoni su last.fm, e trova musica gratuita da scaricare @@ -3208,7 +3208,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! Errore di rete nell'analizzare il link accorciato! @@ -3760,7 +3760,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown Sconosciuto @@ -3940,7 +3940,7 @@ You can re-send a sync message at any time simply by sending another tweet using Nessuna playlist creata di recente nel tuo network. - + Welcome to Tomahawk Benvenuto in Tomahawk diff --git a/lang/tomahawk_ja.ts b/lang/tomahawk_ja.ts index 2a65257e7..63e0e85cd 100644 --- a/lang/tomahawk_ja.ts +++ b/lang/tomahawk_ja.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online オンライン - + Connecting... 接続中... - + Offline オフライン @@ -65,18 +65,18 @@ connect and stream from you? AccountListWidget - + Connections コネクション - - + + Connect &All 全部を接続する - + Disconnect &All 全ての接続を切る @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle シャッフル - + Repeat リピート @@ -442,27 +442,27 @@ connect and stream from you? - + Time Elapsed 再生時間 - + Time Remaining 残り時間 - + Playing from %1 %1から再生中 - + Share シェアー - + Love Love @@ -488,24 +488,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist 新規プレイリストを作成 - + Create new Station 新規ステーションを作成 - - + + New Station 新規ステーション - - + + %1 Station %1 ステーション @@ -513,12 +513,12 @@ connect and stream from you? CategoryItem - + Playlists プレイリスト - + Stations ステーション @@ -1799,19 +1799,19 @@ connect and stream from you? トップ10 - + All available tracks 利用可能トラック - - + + Show 表示 - - + + Hide 隠す @@ -2137,32 +2137,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account アカウントを追加 - + Remove 削除 - + %1 downloads %1ダウンロード - + Online オンライン - + Connecting... 接続中... - + Offline ・オフライン @@ -2232,7 +2232,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play Last.fmにトラックをscrobbleして、無料ダウンロードのトラックを探して再生する @@ -3220,7 +3220,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! 短縮リンクの解析中にネットワークエラーが発生しました! @@ -3774,7 +3774,7 @@ Meta+Ctrl+Z TreeItemDelegate - + Unknown 不明 @@ -3959,7 +3959,7 @@ Twitterを使っている友達にTomahawkを接続したいなら、ツイー ネットワークに最近作成したプレイリストはありません。 - + Welcome to Tomahawk Tomahawkへようこそ diff --git a/lang/tomahawk_lt.ts b/lang/tomahawk_lt.ts index 352dd9ee3..4b600d299 100644 --- a/lang/tomahawk_lt.ts +++ b/lang/tomahawk_lt.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Prisijungęs - + Connecting... Jungiamasi... - + Offline Atsijungęs @@ -65,18 +65,18 @@ connect and stream from you? AccountListWidget - + Connections - - + + Connect &All - + Disconnect &All @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Maišyti - + Repeat Kartoti @@ -442,27 +442,27 @@ connect and stream from you? - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -488,24 +488,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist Sukurti naują grojaraštį - + Create new Station Sukurti naują stotį - - + + New Station Nauja stotis - - + + %1 Station @@ -513,12 +513,12 @@ connect and stream from you? CategoryItem - + Playlists Grojaraščiai - + Stations Stotys @@ -1794,19 +1794,19 @@ connect and stream from you? Top 10 - + All available tracks Visi prieinami takeliai - - + + Show Rodyti - - + + Hide Slėpti @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Pridėti paskyrą - + Remove Pašalinti - + %1 downloads %1 atsisiuntimų - + Online Prisijungęs - + Connecting... Jungiamasi... - + Offline Atsijungęs @@ -2227,7 +2227,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play @@ -3208,7 +3208,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! @@ -3760,7 +3760,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown @@ -3940,7 +3940,7 @@ You can re-send a sync message at any time simply by sending another tweet using Jūsų tinkle nėra neseniai sukurtų grojaraščių. - + Welcome to Tomahawk diff --git a/lang/tomahawk_pl.ts b/lang/tomahawk_pl.ts index 61ffc2c0f..45d190f2c 100644 --- a/lang/tomahawk_pl.ts +++ b/lang/tomahawk_pl.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Online - + Connecting... Łączenie... - + Offline Offline @@ -65,18 +65,18 @@ connect and stream from you? AccountListWidget - + Connections - - + + Connect &All - + Disconnect &All @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Losowo - + Repeat Powtarzaj @@ -442,27 +442,27 @@ connect and stream from you? Wysoko - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -488,24 +488,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist - + Create new Station - - + + New Station Nowa stacja - - + + %1 Station Stacja %1 @@ -513,12 +513,12 @@ connect and stream from you? CategoryItem - + Playlists Listy - + Stations Stacje @@ -1794,19 +1794,19 @@ connect and stream from you? Top 10 - + All available tracks Wszystkie dostępne utwory - - + + Show Pokaż - - + + Hide Ukryj @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Dodaj Konto - + Remove - + %1 downloads pobrań: %1 - + Online Online - + Connecting... Łączenie... - + Offline Offline @@ -2227,7 +2227,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play @@ -3210,7 +3210,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! @@ -3763,7 +3763,7 @@ wprowadź pokazany numer PIN tutaj: TreeItemDelegate - + Unknown Nieznany @@ -3948,7 +3948,7 @@ Zawsze możesz ponownie wysłać wiadomość synchronizacyjną - po prostu wyśl Brak ostatnio utworzonych list w twojej sieci. - + Welcome to Tomahawk Witaj w Tomahawk diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts index a622a4a0f..772d9f360 100644 --- a/lang/tomahawk_pt_BR.ts +++ b/lang/tomahawk_pt_BR.ts @@ -48,17 +48,17 @@ se conecte e faça o stream de você? AccountFactoryWrapperDelegate - + Online Online - + Connecting... Conectando... - + Offline Offline @@ -66,18 +66,18 @@ se conecte e faça o stream de você? AccountListWidget - + Connections Conexões - - + + Connect &All Conect&ar todos - + Disconnect &All Desconect&ar todos @@ -422,13 +422,13 @@ se conecte e faça o stream de você? - + Shuffle Shuffle - + Repeat Repetir @@ -443,27 +443,27 @@ se conecte e faça o stream de você? Aumentar - + Time Elapsed Tempo decorrido - + Time Remaining Tempo restante - + Playing from %1 Reproduzindo de %1 - + Share Compartilhar - + Love Gostar @@ -489,24 +489,24 @@ se conecte e faça o stream de você? CategoryAddItem - + Create new Playlist Criar nova Playlist - + Create new Station Criar nova Estação - - + + New Station Nova estação - - + + %1 Station %1 Estação @@ -514,12 +514,12 @@ se conecte e faça o stream de você? CategoryItem - + Playlists Playlists - + Stations Estações @@ -1796,19 +1796,19 @@ se conecte e faça o stream de você? 10 Mais - + All available tracks Todas as faixas disponíveis - - + + Show Mostrar - - + + Hide Ocultar @@ -2134,32 +2134,32 @@ se conecte e faça o stream de você? Tomahawk::Accounts::AccountDelegate - + Add Account Adicionar Conta - + Remove Remover - + %1 downloads %1 downloads - + Online Online - + Connecting... Conectando... - + Offline Offline @@ -2229,7 +2229,7 @@ se conecte e faça o stream de você? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play Faça o scrobble para o last.fm e encontre faixas gratuitas para reproduzir @@ -3217,7 +3217,7 @@ Tente ajustar os filtros para ouvir um novo conjunto de músicas. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! Erro de rede ao analisar o encurtador de link! @@ -3770,7 +3770,7 @@ colocar o número PIN mostrado aqui: TreeItemDelegate - + Unknown Desconhecido @@ -3955,7 +3955,7 @@ Você pode enviar uma outra mensagem de sincronia a qualquer momento simplesment Nenhuma lista de reprodução criada recentemente na sua rede. - + Welcome to Tomahawk Bem-vindo ao Tomahawk diff --git a/lang/tomahawk_ru.ts b/lang/tomahawk_ru.ts index 3f68712ff..34d6e717e 100644 --- a/lang/tomahawk_ru.ts +++ b/lang/tomahawk_ru.ts @@ -48,17 +48,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online В сети - + Connecting... Соединяюсь... - + Offline Не в сети @@ -66,18 +66,18 @@ connect and stream from you? AccountListWidget - + Connections - - + + Connect &All - + Disconnect &All @@ -422,13 +422,13 @@ connect and stream from you? - + Shuffle Случаная - + Repeat Повторять @@ -443,27 +443,27 @@ connect and stream from you? Громче - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -489,24 +489,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist Создать новый Плейлист - + Create new Station Создать Новую Станцию - - + + New Station Новая станция - - + + %1 Station %1 Станция @@ -514,12 +514,12 @@ connect and stream from you? CategoryItem - + Playlists Плейлисты - + Stations Станции @@ -1796,19 +1796,19 @@ connect and stream from you? Топ 10 - + All available tracks Доступные песни - - + + Show Показать - - + + Hide Спрятать @@ -2134,32 +2134,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Добавить аккаунт - + Remove Удалить - + %1 downloads %1 загружено - + Online В сети - + Connecting... Соединяюсь... - + Offline Не в сети @@ -2229,7 +2229,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play @@ -3215,7 +3215,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! @@ -3767,7 +3767,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown Неизвестный @@ -3951,7 +3951,7 @@ You can re-send a sync message at any time simply by sending another tweet using Нет списков, созданных в последнее время в вашей сети. - + Welcome to Tomahawk Добро пожаловать в Tomahawk diff --git a/lang/tomahawk_sv.ts b/lang/tomahawk_sv.ts index d00b7e91f..bc1f48b51 100644 --- a/lang/tomahawk_sv.ts +++ b/lang/tomahawk_sv.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Online - + Connecting... Ansluter... - + Offline Offline @@ -65,18 +65,18 @@ connect and stream from you? AccountListWidget - + Connections - - + + Connect &All - + Disconnect &All @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Blanda - + Repeat Upprepa @@ -442,27 +442,27 @@ connect and stream from you? Hög - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -488,24 +488,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist - + Create new Station - - + + New Station Ny station - - + + %1 Station %1 station @@ -513,12 +513,12 @@ connect and stream from you? CategoryItem - + Playlists Spellistor - + Stations Stationer @@ -1795,19 +1795,19 @@ connect and stream from you? Topp 10 - + All available tracks Alla tillgängliga spår - - + + Show Visa - - + + Hide Göm @@ -2133,32 +2133,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account Lägg till konto - + Remove - + %1 downloads - + Online - + Connecting... Ansluter… - + Offline @@ -2228,7 +2228,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play @@ -3209,7 +3209,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! @@ -3761,7 +3761,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown Okänt @@ -3941,7 +3941,7 @@ You can re-send a sync message at any time simply by sending another tweet using Inga skapade spellistor i ditt nätverk på sistone. - + Welcome to Tomahawk Välkommen till Tomahawk diff --git a/lang/tomahawk_tr.ts b/lang/tomahawk_tr.ts index d220f3a64..cc9d4e254 100644 --- a/lang/tomahawk_tr.ts +++ b/lang/tomahawk_tr.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online Çevrimiçi - + Connecting... Bağlanıyor... - + Offline Çevrimdışı @@ -65,18 +65,18 @@ connect and stream from you? AccountListWidget - + Connections - - + + Connect &All - + Disconnect &All @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle Karışık - + Repeat Yenile @@ -442,27 +442,27 @@ connect and stream from you? Yüksek - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -488,24 +488,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist - + Create new Station - - + + New Station Yeni İstasyon - - + + %1 Station %1 İstasyon @@ -513,12 +513,12 @@ connect and stream from you? CategoryItem - + Playlists Şarkı Listeleri - + Stations İstasyonlar @@ -1794,19 +1794,19 @@ connect and stream from you? - + All available tracks - - + + Show - - + + Hide @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account - + Remove - + %1 downloads - + Online - + Connecting... - + Offline @@ -2227,7 +2227,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play @@ -3208,7 +3208,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! @@ -3760,7 +3760,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown @@ -3940,7 +3940,7 @@ You can re-send a sync message at any time simply by sending another tweet using - + Welcome to Tomahawk diff --git a/lang/tomahawk_zh_CN.ts b/lang/tomahawk_zh_CN.ts index 453d72d83..f89381a9b 100644 --- a/lang/tomahawk_zh_CN.ts +++ b/lang/tomahawk_zh_CN.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online 在线 - + Connecting... 连接中... - + Offline 离线 @@ -65,18 +65,18 @@ connect and stream from you? AccountListWidget - + Connections - - + + Connect &All - + Disconnect &All @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle 无序播放 - + Repeat 重复播放 @@ -442,27 +442,27 @@ connect and stream from you? - + Time Elapsed 已播放时间 - + Time Remaining 剩余时间 - + Playing from %1 歌曲来自 %1 - + Share 分享 - + Love 喜欢 @@ -488,24 +488,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist 创建新的播放列表 - + Create new Station 创建新的电台 - - + + New Station 新电台 - - + + %1 Station %1 电台 @@ -513,12 +513,12 @@ connect and stream from you? CategoryItem - + Playlists 播放列表 - + Stations 电台 @@ -1797,19 +1797,19 @@ connect and stream from you? Top 10 - + All available tracks 所有可用的歌曲 - - + + Show 显示 - - + + Hide 隐藏 @@ -2135,32 +2135,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account 添加账户 - + Remove 移除 - + %1 downloads %1 个下载 - + Online 在线 - + Connecting... 连接中... - + Offline 离线 @@ -2230,7 +2230,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play 将歌曲同步至 last.fm, 并播放可以免费下载的音乐。 @@ -3218,7 +3218,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! 解析短链接时出错! @@ -3771,7 +3771,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown 未知 @@ -3956,7 +3956,7 @@ You can re-send a sync message at any time simply by sending another tweet using 在你的网络中最近未创建播放列表 - + Welcome to Tomahawk 欢迎使用 Tomahawk diff --git a/lang/tomahawk_zh_TW.ts b/lang/tomahawk_zh_TW.ts index fda00cd22..ed8f5ad3b 100644 --- a/lang/tomahawk_zh_TW.ts +++ b/lang/tomahawk_zh_TW.ts @@ -47,17 +47,17 @@ connect and stream from you? AccountFactoryWrapperDelegate - + Online 線上 - + Connecting... 連接中... - + Offline 離線 @@ -65,18 +65,18 @@ connect and stream from you? AccountListWidget - + Connections - - + + Connect &All - + Disconnect &All @@ -421,13 +421,13 @@ connect and stream from you? - + Shuffle 隨機 - + Repeat 重複 @@ -442,27 +442,27 @@ connect and stream from you? - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -488,24 +488,24 @@ connect and stream from you? CategoryAddItem - + Create new Playlist - + Create new Station - - + + New Station - - + + %1 Station @@ -513,12 +513,12 @@ connect and stream from you? CategoryItem - + Playlists 播放清單 - + Stations @@ -1794,19 +1794,19 @@ connect and stream from you? 前10名 - + All available tracks - - + + Show 顯示 - - + + Hide 隱藏 @@ -2132,32 +2132,32 @@ connect and stream from you? Tomahawk::Accounts::AccountDelegate - + Add Account 新增帳戶 - + Remove - + %1 downloads - + Online 線上 - + Connecting... 連接中... - + Offline 離線 @@ -2227,7 +2227,7 @@ connect and stream from you? Tomahawk::Accounts::LastFmAccountFactory - + Scrobble your tracks to last.fm, and find freely downloadable tracks to play @@ -3208,7 +3208,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::ShortenedLinkParser - + Network error parsing shortened link! @@ -3760,7 +3760,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown @@ -3940,7 +3940,7 @@ You can re-send a sync message at any time simply by sending another tweet using 沒有最近建立的播放清單在您的網路。 - + Welcome to Tomahawk 歡迎到 Tomahawk From 511cea9e7e0f255d250dae45abe6938386943b6a Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 8 Dec 2012 21:07:37 +0100 Subject: [PATCH 108/332] * Use bold fonts in AudioControls. --- src/AudioControls.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/AudioControls.cpp b/src/AudioControls.cpp index 03970d46e..6c57aa4ec 100644 --- a/src/AudioControls.cpp +++ b/src/AudioControls.cpp @@ -57,8 +57,8 @@ AudioControls::AudioControls( QWidget* parent ) setAcceptDrops( true ); QFont font( ui->artistTrackLabel->font() ); - font.setPointSize( TomahawkUtils::defaultFontSize() ); - font.setWeight( QFont::Normal ); + font.setPointSize( TomahawkUtils::defaultFontSize() + 1 ); + font.setWeight( QFont::Bold ); ui->artistTrackLabel->setFont( font ); ui->artistTrackLabel->setElideMode( Qt::ElideMiddle ); @@ -68,11 +68,10 @@ AudioControls::AudioControls( QWidget* parent ) ui->albumLabel->setFont( font ); ui->albumLabel->setType( QueryLabel::Album ); + font.setPointSize( TomahawkUtils::defaultFontSize() ); ui->timeLabel->setFont( font ); ui->timeLeftLabel->setFont( font ); - font.setPointSize( TomahawkUtils::defaultFontSize() - 2 ); - ui->ownerButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultResolver, TomahawkUtils::Original, QSize( 34, 34 ) ) ); ui->prevButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PrevButton, TomahawkUtils::Original, QSize( 35, 35 ) ) ); ui->prevButton->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PrevButtonPressed, TomahawkUtils::Original, QSize( 35, 35 ) ), QIcon::Off, QIcon::Active ); From c6c5007ab4e60ec9642236415a8ace8d71a0178a Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 8 Dec 2012 21:08:13 +0100 Subject: [PATCH 109/332] * Fixed margin and add drop-shadow effect to BasicHeader's caption. --- src/libtomahawk/widgets/BasicHeader.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/libtomahawk/widgets/BasicHeader.cpp b/src/libtomahawk/widgets/BasicHeader.cpp index 30c0125a5..2f429fba3 100644 --- a/src/libtomahawk/widgets/BasicHeader.cpp +++ b/src/libtomahawk/widgets/BasicHeader.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include "utils/TomahawkUtilsGui.h" #include "ElidedLabel.h" @@ -74,7 +75,15 @@ BasicHeader::BasicHeader( QWidget* parent ) m_descriptionLabel->setAlignment( Qt::AlignTop | Qt::AlignLeft ); m_captionLabel->setMargin( 2 ); - m_descriptionLabel->setMargin( 1 ); + m_descriptionLabel->setMargin( 2 ); + + QGraphicsDropShadowEffect* effect = new QGraphicsDropShadowEffect(); + effect->setBlurRadius( 4 ); + effect->setXOffset( 0 ); + effect->setYOffset( 0 ); + effect->setColor( Qt::white ); + m_captionLabel->setGraphicsEffect( effect ); +// m_descriptionLabel->setGraphicsEffect( effect ); TomahawkUtils::unmarginLayout( layout() ); layout()->setContentsMargins( 8, 4, 8, 4 ); From 8d6b4d1cd3611e811f12a530e4f0164b22fbeb44 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 8 Dec 2012 21:08:21 +0100 Subject: [PATCH 110/332] Revert "* QueryLabel now draws a fancier text in the AudioControls." This reverts commit 452c5b7ccedd686fd5d5d559c778fe9f1bf11231. --- src/libtomahawk/widgets/QueryLabel.cpp | 44 ++++---------------------- src/libtomahawk/widgets/QueryLabel.h | 2 -- 2 files changed, 6 insertions(+), 40 deletions(-) diff --git a/src/libtomahawk/widgets/QueryLabel.cpp b/src/libtomahawk/widgets/QueryLabel.cpp index 800566a67..a4fb1e564 100644 --- a/src/libtomahawk/widgets/QueryLabel.cpp +++ b/src/libtomahawk/widgets/QueryLabel.cpp @@ -365,36 +365,6 @@ QueryLabel::minimumSizeHint() const } -void -QueryLabel::drawFancyText( QPainter* painter, const QRect& rect, const QString& text ) -{ - if ( m_align & Qt::AlignLeft ) - { - painter->save(); - - QFont fnt = painter->font(); - fnt.setStyleStrategy( QFont::ForceOutline ); - QFontMetrics fm( fnt ); - - QPainterPath textPath; - textPath.addText( rect.topLeft() + QPoint( 0, fm.ascent() ), fnt, text ); - - QLinearGradient gradient( 0, 0, 0, 1 ); - gradient.setCoordinateMode( QGradient::ObjectBoundingMode ); - gradient.setColorAt( 0, painter->pen().color() ); - gradient.setColorAt( 1, painter->pen().color().lighter() ); - painter->setPen( QPen( gradient, 0, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin ) ); - - painter->setBrush( gradient ); - painter->drawPath( textPath ); - - painter->restore(); - } - else - painter->drawText( rect, m_align, text ); -} - - void QueryLabel::paintEvent( QPaintEvent* event ) { @@ -407,7 +377,6 @@ QueryLabel::paintEvent( QPaintEvent* event ) p.save(); p.setRenderHint( QPainter::Antialiasing ); - p.setRenderHint( QPainter::TextAntialiasing ); if ( m_hoverArea.width() ) { @@ -433,8 +402,7 @@ QueryLabel::paintEvent( QPaintEvent* event ) p.setBrush( palette().window() ); p.setPen( palette().color( foregroundRole() ) ); } - - drawFancyText( &p, r, elidedText ); + p.drawText( r, m_align, elidedText ); } else { @@ -458,7 +426,7 @@ QueryLabel::paintEvent( QPaintEvent* event ) p.setBrush( palette().highlight() ); } - drawFancyText( &p, r, artist()->name() ); + p.drawText( r, m_align, artist()->name() ); r.adjust( artistX, 0, 0, 0 ); } if ( m_type & Album ) @@ -469,7 +437,7 @@ QueryLabel::paintEvent( QPaintEvent* event ) if ( m_type & Artist ) { - drawFancyText( &p, r, DASH ); + p.drawText( r, m_align, DASH ); r.adjust( dashX, 0, 0, 0 ); } if ( m_hoverType == Album ) @@ -478,7 +446,7 @@ QueryLabel::paintEvent( QPaintEvent* event ) p.setBrush( palette().highlight() ); } - drawFancyText( &p, r, album()->name() ); + p.drawText( r, m_align, album()->name() ); r.adjust( albumX, 0, 0, 0 ); } if ( m_type & Track ) @@ -489,7 +457,7 @@ QueryLabel::paintEvent( QPaintEvent* event ) if ( m_type & Artist || m_type & Album ) { - drawFancyText( &p, r, DASH ); + p.drawText( r, m_align, DASH ); r.adjust( dashX, 0, 0, 0 ); } if ( m_hoverType == Track ) @@ -498,7 +466,7 @@ QueryLabel::paintEvent( QPaintEvent* event ) p.setBrush( palette().highlight() ); } - drawFancyText( &p, r, track() ); + p.drawText( r, m_align, track() ); r.adjust( trackX, 0, 0, 0 ); } diff --git a/src/libtomahawk/widgets/QueryLabel.h b/src/libtomahawk/widgets/QueryLabel.h index dcf3366c4..53c3521c4 100644 --- a/src/libtomahawk/widgets/QueryLabel.h +++ b/src/libtomahawk/widgets/QueryLabel.h @@ -104,8 +104,6 @@ signals: void queryChanged( const Tomahawk::query_ptr& query ); protected: - void drawFancyText( QPainter* painter, const QRect& rect, const QString& text ); - virtual void contextMenuEvent( QContextMenuEvent* event ); virtual void mousePressEvent( QMouseEvent* event ); From 6854bffb8fb3f56b0f0c7489bcb21258487b69bc Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 8 Dec 2012 21:13:29 +0100 Subject: [PATCH 111/332] * Disable drop-shadow effect. --- src/libtomahawk/widgets/BasicHeader.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/widgets/BasicHeader.cpp b/src/libtomahawk/widgets/BasicHeader.cpp index 2f429fba3..ed797efdd 100644 --- a/src/libtomahawk/widgets/BasicHeader.cpp +++ b/src/libtomahawk/widgets/BasicHeader.cpp @@ -77,12 +77,12 @@ BasicHeader::BasicHeader( QWidget* parent ) m_captionLabel->setMargin( 2 ); m_descriptionLabel->setMargin( 2 ); - QGraphicsDropShadowEffect* effect = new QGraphicsDropShadowEffect(); +/* QGraphicsDropShadowEffect* effect = new QGraphicsDropShadowEffect(); effect->setBlurRadius( 4 ); effect->setXOffset( 0 ); effect->setYOffset( 0 ); effect->setColor( Qt::white ); - m_captionLabel->setGraphicsEffect( effect ); + m_captionLabel->setGraphicsEffect( effect );*/ // m_descriptionLabel->setGraphicsEffect( effect ); TomahawkUtils::unmarginLayout( layout() ); From 16b576612545ab6fc1d57ce140cc638ca7c231f7 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 8 Dec 2012 21:19:11 +0100 Subject: [PATCH 112/332] * Normal font weight for time & time remaining. --- src/AudioControls.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/AudioControls.cpp b/src/AudioControls.cpp index 6c57aa4ec..5e70e1808 100644 --- a/src/AudioControls.cpp +++ b/src/AudioControls.cpp @@ -69,6 +69,7 @@ AudioControls::AudioControls( QWidget* parent ) ui->albumLabel->setType( QueryLabel::Album ); font.setPointSize( TomahawkUtils::defaultFontSize() ); + font.setWeight( QFont::Normal ); ui->timeLabel->setFont( font ); ui->timeLeftLabel->setFont( font ); From 19d91d7cba15ca1ce99cdb56c02ab13b852d57d9 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 8 Dec 2012 21:20:38 +0100 Subject: [PATCH 113/332] * Italic font for album name. --- src/AudioControls.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/AudioControls.cpp b/src/AudioControls.cpp index 5e70e1808..625975855 100644 --- a/src/AudioControls.cpp +++ b/src/AudioControls.cpp @@ -65,9 +65,11 @@ AudioControls::AudioControls( QWidget* parent ) ui->artistTrackLabel->setType( QueryLabel::ArtistAndTrack ); ui->artistTrackLabel->setJumpLinkVisible( true ); + font.setItalic( true ); ui->albumLabel->setFont( font ); ui->albumLabel->setType( QueryLabel::Album ); + font.setItalic( false ); font.setPointSize( TomahawkUtils::defaultFontSize() ); font.setWeight( QFont::Normal ); ui->timeLabel->setFont( font ); From f1ae9ce2224ca29a634492b80290792cef8be988 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 8 Dec 2012 21:39:43 +0100 Subject: [PATCH 114/332] * Fixed ArtistAndAlbum hover states. --- src/libtomahawk/widgets/QueryLabel.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libtomahawk/widgets/QueryLabel.cpp b/src/libtomahawk/widgets/QueryLabel.cpp index a4fb1e564..9e9db4063 100644 --- a/src/libtomahawk/widgets/QueryLabel.cpp +++ b/src/libtomahawk/widgets/QueryLabel.cpp @@ -372,8 +372,8 @@ QueryLabel::paintEvent( QPaintEvent* event ) QPainter p( this ); QRect r = contentsRect(); QString s = text(); - const QString elidedText = fontMetrics().elidedText( s, m_mode, r.width() ); const QFontMetrics& fm = fontMetrics(); + const QString elidedText = fm.elidedText( s, m_mode, r.width() ); p.save(); p.setRenderHint( QPainter::Antialiasing ); @@ -624,8 +624,8 @@ QueryLabel::mouseMoveEvent( QMouseEvent* event ) { m_hoverType = Album; int spacing = ( m_type & Artist ) ? dashX : 0; - hoverArea.setLeft( artistX + spacing ); - hoverArea.setRight( albumX + spacing + contentsMargins().left() - 1 ); + hoverArea.setLeft( artistX + spacing - contentsMargins().left() ); + hoverArea.setRight( albumX + contentsMargins().left() - 1 ); } else if ( m_type & Track && x < trackX && x > albumX ) { From 0102ab7e0a7114d7b74901d842fa50fa491620bb Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 8 Dec 2012 21:40:02 +0100 Subject: [PATCH 115/332] * Display Artist left of Album in AudioControls. --- src/AudioControls.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/AudioControls.cpp b/src/AudioControls.cpp index 625975855..1c01cc28c 100644 --- a/src/AudioControls.cpp +++ b/src/AudioControls.cpp @@ -62,12 +62,12 @@ AudioControls::AudioControls( QWidget* parent ) ui->artistTrackLabel->setFont( font ); ui->artistTrackLabel->setElideMode( Qt::ElideMiddle ); - ui->artistTrackLabel->setType( QueryLabel::ArtistAndTrack ); + ui->artistTrackLabel->setType( QueryLabel::Track ); ui->artistTrackLabel->setJumpLinkVisible( true ); font.setItalic( true ); ui->albumLabel->setFont( font ); - ui->albumLabel->setType( QueryLabel::Album ); + ui->albumLabel->setType( QueryLabel::ArtistAndAlbum ); font.setItalic( false ); font.setPointSize( TomahawkUtils::defaultFontSize() ); @@ -125,7 +125,7 @@ AudioControls::AudioControls( QWidget* parent ) connect( ui->repeatButton, SIGNAL( clicked() ), SLOT( onRepeatClicked() ) ); connect( ui->shuffleButton, SIGNAL( clicked() ), SLOT( onShuffleClicked() ) ); - connect( ui->artistTrackLabel, SIGNAL( clickedArtist() ), SLOT( onArtistClicked() ) ); + connect( ui->albumLabel, SIGNAL( clickedArtist() ), SLOT( onArtistClicked() ) ); connect( ui->artistTrackLabel, SIGNAL( clickedTrack() ), SLOT( onTrackClicked() ) ); connect( ui->albumLabel, SIGNAL( clickedAlbum() ), SLOT( onAlbumClicked() ) ); connect( ui->socialButton, SIGNAL( clicked() ), SLOT( onSocialButtonClicked() ) ); From f54c4adae22d6d4ce1ba4cafa55337b45594e9d7 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 8 Dec 2012 21:44:21 +0100 Subject: [PATCH 116/332] * Ditch italic and make artist/album font smaller instead. --- src/AudioControls.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/AudioControls.cpp b/src/AudioControls.cpp index 1c01cc28c..a7e0f9660 100644 --- a/src/AudioControls.cpp +++ b/src/AudioControls.cpp @@ -65,12 +65,10 @@ AudioControls::AudioControls( QWidget* parent ) ui->artistTrackLabel->setType( QueryLabel::Track ); ui->artistTrackLabel->setJumpLinkVisible( true ); - font.setItalic( true ); + font.setPointSize( TomahawkUtils::defaultFontSize() ); ui->albumLabel->setFont( font ); ui->albumLabel->setType( QueryLabel::ArtistAndAlbum ); - font.setItalic( false ); - font.setPointSize( TomahawkUtils::defaultFontSize() ); font.setWeight( QFont::Normal ); ui->timeLabel->setFont( font ); ui->timeLeftLabel->setFont( font ); From bee3f18fbe0b42de9d908eb5ff1639ceb3860800 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sat, 8 Dec 2012 16:12:04 -0500 Subject: [PATCH 117/332] More subtle Jump Link icon --- data/images/jump-link.svg | 4 +- data/images/loved_playlist.svg | 4 +- data/images/new-additions.svg | 83 +++++++++++++++++++++++++++++----- 3 files changed, 76 insertions(+), 15 deletions(-) diff --git a/data/images/jump-link.svg b/data/images/jump-link.svg index 5911c4969..2f05bfbf4 100644 --- a/data/images/jump-link.svg +++ b/data/images/jump-link.svg @@ -1,9 +1,9 @@ - + jump-link Created with Sketch (http://www.bohemiancoding.com/sketch) - + \ No newline at end of file diff --git a/data/images/loved_playlist.svg b/data/images/loved_playlist.svg index 78e92b687..fe78d9d5c 100644 --- a/data/images/loved_playlist.svg +++ b/data/images/loved_playlist.svg @@ -1,5 +1,5 @@ - + loved_playlist Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -7,7 +7,7 @@ - + diff --git a/data/images/new-additions.svg b/data/images/new-additions.svg index f1f072395..e7ff0b1ee 100644 --- a/data/images/new-additions.svg +++ b/data/images/new-additions.svg @@ -1,12 +1,73 @@ - - new-additions - Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - - \ No newline at end of file + + + + + image/svg+xml + + new-additions + + + + + new-additions + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + From 52a30ea0bdefdfac7ed1fa6bac0f92e474d16db4 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 8 Dec 2012 22:14:36 +0100 Subject: [PATCH 118/332] * Experiment with now playing item's colors. --- src/libtomahawk/playlist/PlaylistItemDelegate.cpp | 4 +--- src/libtomahawk/playlist/TreeItemDelegate.cpp | 2 +- src/libtomahawk/utils/TomahawkUtilsGui.cpp | 6 +++--- src/libtomahawk/utils/TomahawkUtilsGui.h | 1 + 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/libtomahawk/playlist/PlaylistItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistItemDelegate.cpp index 84a5bbccf..a1b875d4c 100644 --- a/src/libtomahawk/playlist/PlaylistItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistItemDelegate.cpp @@ -206,9 +206,7 @@ PlaylistItemDelegate::paintShort( QPainter* painter, const QStyleOptionViewItem& painter->drawText( r.adjusted( 0, 1, 0, 0 ), text, m_topOption ); painter->setFont( opt.font ); - if ( option.state & QStyle::State_Selected ) - painter->setPen( option.palette.color( QPalette::HighlightedText ) ); - else + if ( !( option.state & QStyle::State_Selected || item->isPlaying() ) ) painter->setPen( Qt::gray ); text = painter->fontMetrics().elidedText( lowerText, Qt::ElideRight, r.width() ); diff --git a/src/libtomahawk/playlist/TreeItemDelegate.cpp b/src/libtomahawk/playlist/TreeItemDelegate.cpp index 17e9f8aa7..5122564a0 100644 --- a/src/libtomahawk/playlist/TreeItemDelegate.cpp +++ b/src/libtomahawk/playlist/TreeItemDelegate.cpp @@ -84,7 +84,7 @@ TreeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, if ( item->isPlaying() ) { - o.palette.setColor( QPalette::Highlight, o.palette.color( QPalette::Mid ) ); + o.palette.setColor( QPalette::Highlight, TomahawkUtils::Colors::NOW_PLAYING_ITEM ); if ( o.state & QStyle::State_Selected ) o.palette.setColor( QPalette::Text, textColor ); o.state |= QStyle::State_Selected; diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.cpp b/src/libtomahawk/utils/TomahawkUtilsGui.cpp index 074ec5565..1ec7c9f63 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.cpp +++ b/src/libtomahawk/utils/TomahawkUtilsGui.cpp @@ -721,10 +721,10 @@ prepareStyleOption( QStyleOptionViewItemV4* option, const QModelIndex& index, Pl if ( item->isPlaying() ) { - option->palette.setColor( QPalette::Highlight, option->palette.color( QPalette::Mid ) ); + option->palette.setColor( QPalette::Highlight, TomahawkUtils::Colors::NOW_PLAYING_ITEM.lighter() ); + option->backgroundBrush = TomahawkUtils::Colors::NOW_PLAYING_ITEM; - option->backgroundBrush = option->palette.color( QPalette::Mid ); - option->palette.setColor( QPalette::Text, option->palette.color( QPalette::Text ) ); + option->palette.setColor( QPalette::Text, Qt::white ); } diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.h b/src/libtomahawk/utils/TomahawkUtilsGui.h index 544652c98..037f4bbed 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.h +++ b/src/libtomahawk/utils/TomahawkUtilsGui.h @@ -82,6 +82,7 @@ namespace TomahawkUtils static const QColor BORDER_LINE = QColor( "#8c8c8c" ); static const QColor POPUP_BACKGROUND = QColor( "#ffffff" ); static const QColor GROUP_HEADER = QColor( "#637180" ); + static const QColor NOW_PLAYING_ITEM = QColor( "#962c26" ); } static const int POPUP_ROUNDING_RADIUS = 6; From 1842c2b77b09fda9a9292a2879bf4148776e9eae Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 8 Dec 2012 22:20:45 +0100 Subject: [PATCH 119/332] * Make sure we always set our custom foreground color on now-playing items. --- src/libtomahawk/playlist/TreeItemDelegate.cpp | 4 ++-- src/libtomahawk/utils/TomahawkUtilsGui.cpp | 8 +++----- src/libtomahawk/utils/TomahawkUtilsGui.h | 1 + 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/libtomahawk/playlist/TreeItemDelegate.cpp b/src/libtomahawk/playlist/TreeItemDelegate.cpp index 5122564a0..ea991cad3 100644 --- a/src/libtomahawk/playlist/TreeItemDelegate.cpp +++ b/src/libtomahawk/playlist/TreeItemDelegate.cpp @@ -84,9 +84,9 @@ TreeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, if ( item->isPlaying() ) { + textColor = TomahawkUtils::Colors::NOW_PLAYING_ITEM_TEXT; o.palette.setColor( QPalette::Highlight, TomahawkUtils::Colors::NOW_PLAYING_ITEM ); - if ( o.state & QStyle::State_Selected ) - o.palette.setColor( QPalette::Text, textColor ); + o.palette.setColor( QPalette::Text, TomahawkUtils::Colors::NOW_PLAYING_ITEM_TEXT ); o.state |= QStyle::State_Selected; } diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.cpp b/src/libtomahawk/utils/TomahawkUtilsGui.cpp index 1ec7c9f63..6376171bc 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.cpp +++ b/src/libtomahawk/utils/TomahawkUtilsGui.cpp @@ -721,14 +721,12 @@ prepareStyleOption( QStyleOptionViewItemV4* option, const QModelIndex& index, Pl if ( item->isPlaying() ) { - option->palette.setColor( QPalette::Highlight, TomahawkUtils::Colors::NOW_PLAYING_ITEM.lighter() ); option->backgroundBrush = TomahawkUtils::Colors::NOW_PLAYING_ITEM; - - option->palette.setColor( QPalette::Text, Qt::white ); + option->palette.setColor( QPalette::Highlight, TomahawkUtils::Colors::NOW_PLAYING_ITEM.lighter() ); + option->palette.setColor( QPalette::Text, TomahawkUtils::Colors::NOW_PLAYING_ITEM_TEXT ); } - - if ( option->state & QStyle::State_Selected && !item->isPlaying() ) + else if ( option->state & QStyle::State_Selected ) { option->palette.setColor( QPalette::Text, option->palette.color( QPalette::HighlightedText ) ); } diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.h b/src/libtomahawk/utils/TomahawkUtilsGui.h index 037f4bbed..4b2e97e7b 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.h +++ b/src/libtomahawk/utils/TomahawkUtilsGui.h @@ -83,6 +83,7 @@ namespace TomahawkUtils static const QColor POPUP_BACKGROUND = QColor( "#ffffff" ); static const QColor GROUP_HEADER = QColor( "#637180" ); static const QColor NOW_PLAYING_ITEM = QColor( "#962c26" ); + static const QColor NOW_PLAYING_ITEM_TEXT = QColor( "#ffffff" ); } static const int POPUP_ROUNDING_RADIUS = 6; From 11f65fac47d6b24846fc778eeefaba0376b4fdfd Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sat, 8 Dec 2012 16:36:33 -0500 Subject: [PATCH 120/332] Increase size of jump link a bit --- data/images/jump-link.svg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/images/jump-link.svg b/data/images/jump-link.svg index 2f05bfbf4..910b43068 100644 --- a/data/images/jump-link.svg +++ b/data/images/jump-link.svg @@ -1,9 +1,9 @@ - + jump-link Created with Sketch (http://www.bohemiancoding.com/sketch) - + \ No newline at end of file From 25c7b3927a9af369b529001ed4f40077ba9bba33 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sat, 8 Dec 2012 16:39:22 -0500 Subject: [PATCH 121/332] ... and again --- data/images/jump-link.svg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/images/jump-link.svg b/data/images/jump-link.svg index 910b43068..16d9c96f0 100644 --- a/data/images/jump-link.svg +++ b/data/images/jump-link.svg @@ -1,9 +1,9 @@ - + jump-link Created with Sketch (http://www.bohemiancoding.com/sketch) - + \ No newline at end of file From 4b6e4d836dbb35324fa42ab29c4cb338bc0fae56 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 8 Dec 2012 22:47:42 +0100 Subject: [PATCH 122/332] * Use BasicHeader's colors for the HeaderWidget. --- src/libtomahawk/utils/StyleHelper.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/utils/StyleHelper.cpp b/src/libtomahawk/utils/StyleHelper.cpp index 85cd3041d..37f90347d 100644 --- a/src/libtomahawk/utils/StyleHelper.cpp +++ b/src/libtomahawk/utils/StyleHelper.cpp @@ -26,14 +26,14 @@ QColor StyleHelper::headerUpperColor() { - return QColor( "#464e57" ); + return QColor( "#615858" ); } QColor StyleHelper::headerLowerColor() { - return QColor( "#3f4650" ); + return QColor( "#231F1F" ); } From 4fdacf80a5b47b1ba80e007c130b3d003036b796 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 8 Dec 2012 22:57:12 +0100 Subject: [PATCH 123/332] * Use background gradients for HeaderWidgets. --- src/libtomahawk/utils/StyleHelper.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/libtomahawk/utils/StyleHelper.cpp b/src/libtomahawk/utils/StyleHelper.cpp index 37f90347d..03f08c272 100644 --- a/src/libtomahawk/utils/StyleHelper.cpp +++ b/src/libtomahawk/utils/StyleHelper.cpp @@ -49,12 +49,19 @@ StyleHelper::horizontalHeader( QPainter* painter, const QRect& r ) { painter->save(); - QRect upperHalf( 0, 0, r.width(), r.height() / 2 ); +/* QRect upperHalf( 0, 0, r.width(), r.height() / 2 ); QRect lowerHalf( 0, upperHalf.height(), r.width(), r.height() ); painter->fillRect( upperHalf, StyleHelper::headerUpperColor() ); - painter->fillRect( lowerHalf, StyleHelper::headerLowerColor() ); + painter->fillRect( lowerHalf, StyleHelper::headerLowerColor() );*/ + QLinearGradient gradient( QPoint( 0, 0 ), QPoint( 0, 1 ) ); + gradient.setCoordinateMode( QGradient::ObjectBoundingMode ); + gradient.setColorAt( 0.0, StyleHelper::headerLowerColor() ); + gradient.setColorAt( 1.0, StyleHelper::headerUpperColor() ); - { + painter->setBrush( gradient ); + painter->fillRect( r, gradient ); + +/* { QColor lineColor( 100, 100, 100 ); QLine line( 0, 0, r.width(), 0 ); painter->setPen( lineColor ); @@ -65,7 +72,7 @@ StyleHelper::horizontalHeader( QPainter* painter, const QRect& r ) QLine line( 0, r.height() - 1, r.width(), r.height() - 1 ); painter->setPen( lineColor ); painter->drawLine( line ); - } + }*/ painter->restore(); } From 4ca4439255bad8fb7a6d8cfe6f5c56ed19f92bc6 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 02:16:25 +0100 Subject: [PATCH 124/332] * Support tomahawk://view/track in GlobalActionManager. --- src/libtomahawk/GlobalActionManager.cpp | 32 ++++++++++++++++++++----- 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/src/libtomahawk/GlobalActionManager.cpp b/src/libtomahawk/GlobalActionManager.cpp index 760112ea0..e012f3069 100644 --- a/src/libtomahawk/GlobalActionManager.cpp +++ b/src/libtomahawk/GlobalActionManager.cpp @@ -808,19 +808,21 @@ bool GlobalActionManager::handleViewCommand( const QUrl& url ) { QStringList parts = url.path().split( "/" ).mid( 1 ); // get the rest of the command - if ( parts.isEmpty() ) { + if ( parts.isEmpty() ) + { tLog() << "No specific view command:" << url.toString(); return false; } if ( parts[ 0 ] == "artist" ) { - const QString artist = url.queryItemValue( "name" ); + const QString artist = QUrl::fromPercentEncoding( url.encodedQueryItemValue( "name" ) ).replace( "+", " " ); if ( artist.isEmpty() ) { - tLog() << "Not artist supplied for view/artist command."; + tLog() << "No artist supplied for view/artist command."; return false; } + artist_ptr artistPtr = Artist::get( artist ); if ( !artistPtr.isNull() ) ViewManager::instance()->show( artistPtr ); @@ -829,19 +831,37 @@ GlobalActionManager::handleViewCommand( const QUrl& url ) } else if ( parts[ 0 ] == "album" ) { - const QString artist = url.queryItemValue( "artist" ); - const QString album = url.queryItemValue( "name" ); + const QString artist = QUrl::fromPercentEncoding( url.encodedQueryItemValue( "artist" ) ).replace( "+", " " ); + const QString album = QUrl::fromPercentEncoding( url.encodedQueryItemValue( "name" ) ).replace( "+", " " ); if ( artist.isEmpty() || album.isEmpty() ) { - tLog() << "Not artist or album supplied for view/artist command:" << url; + tLog() << "No artist or album supplied for view/album command:" << url; return false; } + album_ptr albumPtr = Album::get( Artist::get( artist, false ), album, false ); if ( !albumPtr.isNull() ) ViewManager::instance()->show( albumPtr ); return true; } + else if ( parts[ 0 ] == "track" ) + { + const QString artist = QUrl::fromPercentEncoding( url.encodedQueryItemValue( "artist" ) ).replace( "+", " " ); + const QString album = QUrl::fromPercentEncoding( url.encodedQueryItemValue( "album" ) ).replace( "+", " " ); + const QString track = QUrl::fromPercentEncoding( url.encodedQueryItemValue( "name" ) ).replace( "+", " " ); + if ( artist.isEmpty() || track.isEmpty() ) + { + tLog() << "No artist or track supplied for view/track command:" << url; + return false; + } + + query_ptr queryPtr = Query::get( artist, track, album ); + if ( !queryPtr.isNull() ) + ViewManager::instance()->show( queryPtr ); + + return true; + } return false; } From ab52e93992654b3f84a7e75edc370b3d10f9ce09 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 02:17:00 +0100 Subject: [PATCH 125/332] * Style fix for StyleHelper. Lol. --- src/libtomahawk/utils/StyleHelper.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/utils/StyleHelper.cpp b/src/libtomahawk/utils/StyleHelper.cpp index 03f08c272..c4f35c7ef 100644 --- a/src/libtomahawk/utils/StyleHelper.cpp +++ b/src/libtomahawk/utils/StyleHelper.cpp @@ -86,7 +86,7 @@ StyleHelper::headerTextColor() /* - * This implementation is from QWindowsStyle (Qt 7.2) + * This implementation is from QWindowsStyle (Qt 4.2) * * It is licensed under the GPL 3: * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). @@ -103,7 +103,7 @@ void StyleHelper::drawArrow( QStyle::PrimitiveElement element, QPainter* p, cons QString pixmapName; pixmapName.sprintf( "arrow-%s-%d-%d-%d-%lld", "$qt_ia", uint(opt->state), element, size, opt->palette.cacheKey() ); - if ( !QPixmapCache::find( pixmapName, pixmap) ) + if ( !QPixmapCache::find( pixmapName, pixmap ) ) { int border = size / 5; int sqsize = 2 * ( size / 2 ); From c390aac860799c61b9cbb8754b3f1f65e5916509 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 02:53:38 +0100 Subject: [PATCH 126/332] * Fixed GlobalActionManager's encoding/decoding issues. --- src/libtomahawk/GlobalActionManager.cpp | 68 ++++++++++++++----------- 1 file changed, 38 insertions(+), 30 deletions(-) diff --git a/src/libtomahawk/GlobalActionManager.cpp b/src/libtomahawk/GlobalActionManager.cpp index e012f3069..c1c2c32fd 100644 --- a/src/libtomahawk/GlobalActionManager.cpp +++ b/src/libtomahawk/GlobalActionManager.cpp @@ -102,8 +102,7 @@ GlobalActionManager::copyOpenLink( const artist_ptr& artist ) const const QUrl link( QString( "%1/artist/%2" ).arg( hostname() ).arg( artist->name() ) ); QClipboard* cb = QApplication::clipboard(); - QByteArray data = percentEncode( link ); - cb->setText( data ); + cb->setText( link.toString() ); return link; } @@ -115,9 +114,7 @@ GlobalActionManager::copyOpenLink( const album_ptr& album ) const const QUrl link = QUrl::fromUserInput( QString( "%1/album/%2/%3" ).arg( hostname() ).arg( album->artist().isNull() ? QString() : album->artist()->name() ).arg( album->name() ) ); QClipboard* cb = QApplication::clipboard(); - QByteArray data = percentEncode( link ); - - cb->setText( data ); + cb->setText( link.toString() ); return link; } @@ -129,11 +126,11 @@ GlobalActionManager::openLink( const QString& title, const QString& artist, cons QUrl link( QString( "%1/open/track/" ).arg( hostname() ) ); if ( !artist.isEmpty() ) - link.addQueryItem( "artist", artist ); + link.addQueryItem( "artist", percentEncode( artist ) ); if ( !title.isEmpty() ) - link.addQueryItem( "title", title ); + link.addQueryItem( "title", percentEncode( title ) ); if ( !album.isEmpty() ) - link.addQueryItem( "album", album ); + link.addQueryItem( "album", percentEncode( album ) ); return link; } @@ -221,22 +218,23 @@ GlobalActionManager::copyPlaylistToClipboard( const dynplaylist_ptr& playlist ) return QString(); } - link.addEncodedQueryItem( "type", "echonest" ); - link.addQueryItem( "title", playlist->title() ); + link.addQueryItem( "type", "echonest" ); + link.addQueryItem( "title", percentEncode( playlist->title() ) ); QList< dyncontrol_ptr > controls = playlist->generator()->controls(); foreach ( const dyncontrol_ptr& c, controls ) { + tDebug() << Q_FUNC_INFO << percentEncode( c->input() ); if ( c->selectedType() == "Artist" ) { if ( c->match().toInt() == Echonest::DynamicPlaylist::ArtistType ) - link.addQueryItem( "artist_limitto", c->input() ); + link.addQueryItem( "artist_limitto", percentEncode( c->input() ) ); else - link.addQueryItem( "artist", c->input() ); + link.addQueryItem( "artist", percentEncode( c->input() ) ); } else if ( c->selectedType() == "Artist Description" ) { - link.addQueryItem( "description", c->input() ); + link.addQueryItem( "description", percentEncode( c->input() ) ); } else { @@ -249,14 +247,14 @@ GlobalActionManager::copyPlaylistToClipboard( const dynplaylist_ptr& playlist ) || p == Echonest::DynamicPlaylist::ArtistMaxLongitude ) name += "_max"; - link.addQueryItem( name, c->input() ); + link.addQueryItem( percentEncode( name ), percentEncode( c->input() ) ); } } QClipboard* cb = QApplication::clipboard(); - QByteArray data = percentEncode( link ); - cb->setText( data ); + cb->setText( link.toString() ); + tDebug() << Q_FUNC_INFO << link << link.toString(); return link.toString(); } @@ -319,7 +317,7 @@ GlobalActionManager::parseTomahawkLink( const QString& urlIn ) { if ( u.hasQueryItem( "xspf" ) ) { - QUrl xspf = QUrl::fromUserInput( u.queryItemValue( "xspf" ) ); + QUrl xspf = QUrl::fromPercentEncoding( u.encodedQueryItemValue( "xspf" ) ).replace( "+", " " ); XSPFLoader* l = new XSPFLoader( true, this ); tDebug() << "Loading spiff:" << xspf.toString(); l->load( xspf ); @@ -329,7 +327,7 @@ GlobalActionManager::parseTomahawkLink( const QString& urlIn ) } else if ( u.hasQueryItem( "jspf" ) ) { - QUrl jspf = QUrl::fromUserInput( u.queryItemValue( "jspf" ) ); + QUrl jspf = QUrl::fromPercentEncoding( u.encodedQueryItemValue( "jspf" ) ).replace( "+", " " ); JSPFLoader* l = new JSPFLoader( true, this ); tDebug() << "Loading jspiff:" << jspf.toString(); @@ -417,12 +415,16 @@ GlobalActionManager::handlePlaylistCommand( const QUrl& url ) } if ( url.hasQueryItem( "xspf" ) ) { - createPlaylistFromUrl( "xspf", url.queryItemValue( "xspf" ), url.hasQueryItem( "title" ) ? url.queryItemValue( "title" ) : QString() ); + createPlaylistFromUrl( "xspf", + QUrl::fromPercentEncoding( url.encodedQueryItemValue( "xspf" ) ).replace( "+", " " ), + url.hasQueryItem( "title" ) ? QUrl::fromPercentEncoding( url.encodedQueryItemValue( "title" ) ).replace( "+", " " ) : QString() ); return true; } else if ( url.hasQueryItem( "jspf" ) ) { - createPlaylistFromUrl( "jspf", url.queryItemValue( "jspf" ), url.hasQueryItem( "title" ) ? url.queryItemValue( "title" ) : QString() ); + createPlaylistFromUrl( "jspf", + QUrl::fromPercentEncoding( url.encodedQueryItemValue( "jspf" ) ).replace( "+", " " ), + url.hasQueryItem( "title" ) ? QUrl::fromPercentEncoding( url.encodedQueryItemValue( "title" ) ).replace( "+", " " ) : QString() ); return true; } } @@ -433,7 +435,7 @@ GlobalActionManager::handlePlaylistCommand( const QUrl& url ) tLog() << "New playlist command needs a title..."; return false; } - playlist_ptr pl = Playlist::create( SourceList::instance()->getLocal(), uuid(), url.queryItemValue( "title" ), QString(), QString(), false ); + playlist_ptr pl = Playlist::create( SourceList::instance()->getLocal(), uuid(), QUrl::fromPercentEncoding( url.encodedQueryItemValue( "title" ) ).replace( "+", " " ), QString(), QString(), false ); ViewManager::instance()->show( pl ); } else if ( parts[ 0 ] == "add" ) @@ -462,12 +464,16 @@ GlobalActionManager::handleImportCommand( const QUrl& url ) { if ( url.hasQueryItem( "xspf" ) ) { - createPlaylistFromUrl( "xspf", url.queryItemValue( "xspf" ), url.hasQueryItem( "title" ) ? url.queryItemValue( "title" ) : QString() ); + createPlaylistFromUrl( "xspf", + QUrl::fromPercentEncoding( url.encodedQueryItemValue( "xspf" ) ).replace( "+", " " ), + url.hasQueryItem( "title" ) ? QUrl::fromPercentEncoding( url.encodedQueryItemValue( "title" ) ).replace( "+", " " ) : QString() ); return true; } else if ( url.hasQueryItem( "jspf" ) ) { - createPlaylistFromUrl( "jspf", url.queryItemValue( "jspf" ), url.hasQueryItem( "title" ) ? url.queryItemValue( "title" ) : QString() ); + createPlaylistFromUrl( "jspf", + QUrl::fromPercentEncoding( url.encodedQueryItemValue( "jspf" ) ).replace( "+", " " ), + url.hasQueryItem( "title" ) ? QUrl::fromPercentEncoding( url.encodedQueryItemValue( "title" ) ).replace( "+", " " ) : QString() ); return true; } } @@ -477,7 +483,7 @@ GlobalActionManager::handleImportCommand( const QUrl& url ) void -GlobalActionManager::createPlaylistFromUrl( const QString& type, const QString &url, const QString& title ) +GlobalActionManager::createPlaylistFromUrl( const QString& type, const QString& url, const QString& title ) { if ( type == "xspf" ) { @@ -783,16 +789,16 @@ GlobalActionManager::handleSearchCommand( const QUrl& url ) // open the super collection and set this as the search filter QString queryStr; if ( url.hasQueryItem( "query" ) ) - queryStr = url.queryItemValue( "query" ); + queryStr = QUrl::fromPercentEncoding( url.encodedQueryItemValue( "query" ) ).replace( "+", " " ); else { QStringList query; if ( url.hasQueryItem( "artist" ) ) - query << url.queryItemValue( "artist" ); + query << QUrl::fromPercentEncoding( url.encodedQueryItemValue( "artist" ) ).replace( "+", " " ); if ( url.hasQueryItem( "album" ) ) - query << url.queryItemValue( "album" ); + query << QUrl::fromPercentEncoding( url.encodedQueryItemValue( "album" ) ).replace( "+", " " ); if ( url.hasQueryItem( "title" ) ) - query << url.queryItemValue( "title" ); + query << QUrl::fromPercentEncoding( url.encodedQueryItemValue( "title" ) ).replace( "+", " " ); queryStr = query.join( " " ); } @@ -891,8 +897,8 @@ GlobalActionManager::loadDynamicPlaylist( const QUrl& url, bool station ) tLog() << "Station create command needs title and type..." << url.toString(); return Tomahawk::dynplaylist_ptr(); } - QString title = url.queryItemValue( "title" ); - QString type = url.queryItemValue( "type" ); + QString title = QUrl::fromPercentEncoding( url.encodedQueryItemValue( "title" ) ).replace( "+", " " ); + QString type = QUrl::fromPercentEncoding( url.encodedQueryItemValue( "type" ) ).replace( "+", " " ); GeneratorMode m = Static; if ( station ) m = OnDemand; @@ -903,6 +909,8 @@ GlobalActionManager::loadDynamicPlaylist( const QUrl& url, bool station ) QPair< QString, QString > param; foreach ( param, url.queryItems() ) { + param.second = param.second.replace( "+", " " ); + if ( param.first == "artist" ) { dyncontrol_ptr c = pl->generator()->createControl( "Artist" ); From a4e9c7451de0719fdfdf8fc6fb57acc6f00183f1 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 03:00:28 +0100 Subject: [PATCH 127/332] * Remove debug. --- src/libtomahawk/GlobalActionManager.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libtomahawk/GlobalActionManager.cpp b/src/libtomahawk/GlobalActionManager.cpp index c1c2c32fd..3af422aa9 100644 --- a/src/libtomahawk/GlobalActionManager.cpp +++ b/src/libtomahawk/GlobalActionManager.cpp @@ -224,7 +224,6 @@ GlobalActionManager::copyPlaylistToClipboard( const dynplaylist_ptr& playlist ) QList< dyncontrol_ptr > controls = playlist->generator()->controls(); foreach ( const dyncontrol_ptr& c, controls ) { - tDebug() << Q_FUNC_INFO << percentEncode( c->input() ); if ( c->selectedType() == "Artist" ) { if ( c->match().toInt() == Echonest::DynamicPlaylist::ArtistType ) From f359e60b2a44c1328817ed81c41fde252d738365 Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Sat, 8 Dec 2012 23:05:06 -0500 Subject: [PATCH 128/332] Revert "* Fixed GlobalActionManager's encoding/decoding issues." This reverts commit c390aac860799c61b9cbb8754b3f1f65e5916509. --- src/libtomahawk/GlobalActionManager.cpp | 67 +++++++++++-------------- 1 file changed, 30 insertions(+), 37 deletions(-) diff --git a/src/libtomahawk/GlobalActionManager.cpp b/src/libtomahawk/GlobalActionManager.cpp index 3af422aa9..e012f3069 100644 --- a/src/libtomahawk/GlobalActionManager.cpp +++ b/src/libtomahawk/GlobalActionManager.cpp @@ -102,7 +102,8 @@ GlobalActionManager::copyOpenLink( const artist_ptr& artist ) const const QUrl link( QString( "%1/artist/%2" ).arg( hostname() ).arg( artist->name() ) ); QClipboard* cb = QApplication::clipboard(); - cb->setText( link.toString() ); + QByteArray data = percentEncode( link ); + cb->setText( data ); return link; } @@ -114,7 +115,9 @@ GlobalActionManager::copyOpenLink( const album_ptr& album ) const const QUrl link = QUrl::fromUserInput( QString( "%1/album/%2/%3" ).arg( hostname() ).arg( album->artist().isNull() ? QString() : album->artist()->name() ).arg( album->name() ) ); QClipboard* cb = QApplication::clipboard(); - cb->setText( link.toString() ); + QByteArray data = percentEncode( link ); + + cb->setText( data ); return link; } @@ -126,11 +129,11 @@ GlobalActionManager::openLink( const QString& title, const QString& artist, cons QUrl link( QString( "%1/open/track/" ).arg( hostname() ) ); if ( !artist.isEmpty() ) - link.addQueryItem( "artist", percentEncode( artist ) ); + link.addQueryItem( "artist", artist ); if ( !title.isEmpty() ) - link.addQueryItem( "title", percentEncode( title ) ); + link.addQueryItem( "title", title ); if ( !album.isEmpty() ) - link.addQueryItem( "album", percentEncode( album ) ); + link.addQueryItem( "album", album ); return link; } @@ -218,8 +221,8 @@ GlobalActionManager::copyPlaylistToClipboard( const dynplaylist_ptr& playlist ) return QString(); } - link.addQueryItem( "type", "echonest" ); - link.addQueryItem( "title", percentEncode( playlist->title() ) ); + link.addEncodedQueryItem( "type", "echonest" ); + link.addQueryItem( "title", playlist->title() ); QList< dyncontrol_ptr > controls = playlist->generator()->controls(); foreach ( const dyncontrol_ptr& c, controls ) @@ -227,13 +230,13 @@ GlobalActionManager::copyPlaylistToClipboard( const dynplaylist_ptr& playlist ) if ( c->selectedType() == "Artist" ) { if ( c->match().toInt() == Echonest::DynamicPlaylist::ArtistType ) - link.addQueryItem( "artist_limitto", percentEncode( c->input() ) ); + link.addQueryItem( "artist_limitto", c->input() ); else - link.addQueryItem( "artist", percentEncode( c->input() ) ); + link.addQueryItem( "artist", c->input() ); } else if ( c->selectedType() == "Artist Description" ) { - link.addQueryItem( "description", percentEncode( c->input() ) ); + link.addQueryItem( "description", c->input() ); } else { @@ -246,14 +249,14 @@ GlobalActionManager::copyPlaylistToClipboard( const dynplaylist_ptr& playlist ) || p == Echonest::DynamicPlaylist::ArtistMaxLongitude ) name += "_max"; - link.addQueryItem( percentEncode( name ), percentEncode( c->input() ) ); + link.addQueryItem( name, c->input() ); } } QClipboard* cb = QApplication::clipboard(); - cb->setText( link.toString() ); + QByteArray data = percentEncode( link ); + cb->setText( data ); - tDebug() << Q_FUNC_INFO << link << link.toString(); return link.toString(); } @@ -316,7 +319,7 @@ GlobalActionManager::parseTomahawkLink( const QString& urlIn ) { if ( u.hasQueryItem( "xspf" ) ) { - QUrl xspf = QUrl::fromPercentEncoding( u.encodedQueryItemValue( "xspf" ) ).replace( "+", " " ); + QUrl xspf = QUrl::fromUserInput( u.queryItemValue( "xspf" ) ); XSPFLoader* l = new XSPFLoader( true, this ); tDebug() << "Loading spiff:" << xspf.toString(); l->load( xspf ); @@ -326,7 +329,7 @@ GlobalActionManager::parseTomahawkLink( const QString& urlIn ) } else if ( u.hasQueryItem( "jspf" ) ) { - QUrl jspf = QUrl::fromPercentEncoding( u.encodedQueryItemValue( "jspf" ) ).replace( "+", " " ); + QUrl jspf = QUrl::fromUserInput( u.queryItemValue( "jspf" ) ); JSPFLoader* l = new JSPFLoader( true, this ); tDebug() << "Loading jspiff:" << jspf.toString(); @@ -414,16 +417,12 @@ GlobalActionManager::handlePlaylistCommand( const QUrl& url ) } if ( url.hasQueryItem( "xspf" ) ) { - createPlaylistFromUrl( "xspf", - QUrl::fromPercentEncoding( url.encodedQueryItemValue( "xspf" ) ).replace( "+", " " ), - url.hasQueryItem( "title" ) ? QUrl::fromPercentEncoding( url.encodedQueryItemValue( "title" ) ).replace( "+", " " ) : QString() ); + createPlaylistFromUrl( "xspf", url.queryItemValue( "xspf" ), url.hasQueryItem( "title" ) ? url.queryItemValue( "title" ) : QString() ); return true; } else if ( url.hasQueryItem( "jspf" ) ) { - createPlaylistFromUrl( "jspf", - QUrl::fromPercentEncoding( url.encodedQueryItemValue( "jspf" ) ).replace( "+", " " ), - url.hasQueryItem( "title" ) ? QUrl::fromPercentEncoding( url.encodedQueryItemValue( "title" ) ).replace( "+", " " ) : QString() ); + createPlaylistFromUrl( "jspf", url.queryItemValue( "jspf" ), url.hasQueryItem( "title" ) ? url.queryItemValue( "title" ) : QString() ); return true; } } @@ -434,7 +433,7 @@ GlobalActionManager::handlePlaylistCommand( const QUrl& url ) tLog() << "New playlist command needs a title..."; return false; } - playlist_ptr pl = Playlist::create( SourceList::instance()->getLocal(), uuid(), QUrl::fromPercentEncoding( url.encodedQueryItemValue( "title" ) ).replace( "+", " " ), QString(), QString(), false ); + playlist_ptr pl = Playlist::create( SourceList::instance()->getLocal(), uuid(), url.queryItemValue( "title" ), QString(), QString(), false ); ViewManager::instance()->show( pl ); } else if ( parts[ 0 ] == "add" ) @@ -463,16 +462,12 @@ GlobalActionManager::handleImportCommand( const QUrl& url ) { if ( url.hasQueryItem( "xspf" ) ) { - createPlaylistFromUrl( "xspf", - QUrl::fromPercentEncoding( url.encodedQueryItemValue( "xspf" ) ).replace( "+", " " ), - url.hasQueryItem( "title" ) ? QUrl::fromPercentEncoding( url.encodedQueryItemValue( "title" ) ).replace( "+", " " ) : QString() ); + createPlaylistFromUrl( "xspf", url.queryItemValue( "xspf" ), url.hasQueryItem( "title" ) ? url.queryItemValue( "title" ) : QString() ); return true; } else if ( url.hasQueryItem( "jspf" ) ) { - createPlaylistFromUrl( "jspf", - QUrl::fromPercentEncoding( url.encodedQueryItemValue( "jspf" ) ).replace( "+", " " ), - url.hasQueryItem( "title" ) ? QUrl::fromPercentEncoding( url.encodedQueryItemValue( "title" ) ).replace( "+", " " ) : QString() ); + createPlaylistFromUrl( "jspf", url.queryItemValue( "jspf" ), url.hasQueryItem( "title" ) ? url.queryItemValue( "title" ) : QString() ); return true; } } @@ -482,7 +477,7 @@ GlobalActionManager::handleImportCommand( const QUrl& url ) void -GlobalActionManager::createPlaylistFromUrl( const QString& type, const QString& url, const QString& title ) +GlobalActionManager::createPlaylistFromUrl( const QString& type, const QString &url, const QString& title ) { if ( type == "xspf" ) { @@ -788,16 +783,16 @@ GlobalActionManager::handleSearchCommand( const QUrl& url ) // open the super collection and set this as the search filter QString queryStr; if ( url.hasQueryItem( "query" ) ) - queryStr = QUrl::fromPercentEncoding( url.encodedQueryItemValue( "query" ) ).replace( "+", " " ); + queryStr = url.queryItemValue( "query" ); else { QStringList query; if ( url.hasQueryItem( "artist" ) ) - query << QUrl::fromPercentEncoding( url.encodedQueryItemValue( "artist" ) ).replace( "+", " " ); + query << url.queryItemValue( "artist" ); if ( url.hasQueryItem( "album" ) ) - query << QUrl::fromPercentEncoding( url.encodedQueryItemValue( "album" ) ).replace( "+", " " ); + query << url.queryItemValue( "album" ); if ( url.hasQueryItem( "title" ) ) - query << QUrl::fromPercentEncoding( url.encodedQueryItemValue( "title" ) ).replace( "+", " " ); + query << url.queryItemValue( "title" ); queryStr = query.join( " " ); } @@ -896,8 +891,8 @@ GlobalActionManager::loadDynamicPlaylist( const QUrl& url, bool station ) tLog() << "Station create command needs title and type..." << url.toString(); return Tomahawk::dynplaylist_ptr(); } - QString title = QUrl::fromPercentEncoding( url.encodedQueryItemValue( "title" ) ).replace( "+", " " ); - QString type = QUrl::fromPercentEncoding( url.encodedQueryItemValue( "type" ) ).replace( "+", " " ); + QString title = url.queryItemValue( "title" ); + QString type = url.queryItemValue( "type" ); GeneratorMode m = Static; if ( station ) m = OnDemand; @@ -908,8 +903,6 @@ GlobalActionManager::loadDynamicPlaylist( const QUrl& url, bool station ) QPair< QString, QString > param; foreach ( param, url.queryItems() ) { - param.second = param.second.replace( "+", " " ); - if ( param.first == "artist" ) { dyncontrol_ptr c = pl->generator()->createControl( "Artist" ); From de48618b152f366324fff339b279423e99be752f Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Sat, 8 Dec 2012 23:21:29 -0500 Subject: [PATCH 129/332] Do not double-escape &, and manually decode '+' to " " as QUrl won't --- src/libtomahawk/GlobalActionManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libtomahawk/GlobalActionManager.cpp b/src/libtomahawk/GlobalActionManager.cpp index e012f3069..e33f92526 100644 --- a/src/libtomahawk/GlobalActionManager.cpp +++ b/src/libtomahawk/GlobalActionManager.cpp @@ -309,6 +309,7 @@ GlobalActionManager::parseTomahawkLink( const QString& urlIn ) { QString cmd = url.mid( 11 ); cmd.replace( "%2B", "%20" ); + cmd.replace( "+", "%20" ); // QUrl doesn't parse '+' into " " tLog() << "Parsing tomahawk link command" << cmd; QString cmdType = cmd.split( "/" ).first(); @@ -1440,7 +1441,6 @@ GlobalActionManager::percentEncode( const QUrl& url ) const data.replace( "'", "%27" ); // QUrl doesn't encode ', which it doesn't have to. Some apps don't like ' though, and want %27. Both are valid. data.replace( "%20", "+" ); - data.replace( "&", "%26" ); return data; } From feef983ef1b8f447dc30ac29b95c42f5291bbbc8 Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Sat, 8 Dec 2012 23:34:24 -0500 Subject: [PATCH 130/332] Don't crash when calling existing tomahawk instance w/ some tomahawk:// commands --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 6ad246604..96f046216 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -160,7 +160,7 @@ main( int argc, char *argv[] ) if ( guard.isPrimaryInstance() ) a.init(); - if ( argc > 1 ) + if ( !guard.isPrimaryInstance() && argc > 1 ) { QString arg = a.arguments()[ 1 ]; a.loadUrl( arg ); From d72aa3366c269ad7e0b78b5353a11d610806dd7f Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Sat, 8 Dec 2012 23:35:28 -0500 Subject: [PATCH 131/332] Fix conditional --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 96f046216..ae75e10d5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -160,7 +160,7 @@ main( int argc, char *argv[] ) if ( guard.isPrimaryInstance() ) a.init(); - if ( !guard.isPrimaryInstance() && argc > 1 ) + if ( guard.isPrimaryInstance() && argc > 1 ) { QString arg = a.arguments()[ 1 ]; a.loadUrl( arg ); From 3752d3a721de86a352b3e869536f0ba95e8800c6 Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Sat, 8 Dec 2012 23:44:58 -0500 Subject: [PATCH 132/332] Remove no longer needed hack, we're way past 0.1 now :) --- .../DatabaseCommand_SetDynamicPlaylistRevision.cpp | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/src/libtomahawk/database/DatabaseCommand_SetDynamicPlaylistRevision.cpp b/src/libtomahawk/database/DatabaseCommand_SetDynamicPlaylistRevision.cpp index 1c39dff3f..603b3d29a 100644 --- a/src/libtomahawk/database/DatabaseCommand_SetDynamicPlaylistRevision.cpp +++ b/src/libtomahawk/database/DatabaseCommand_SetDynamicPlaylistRevision.cpp @@ -117,19 +117,7 @@ DatabaseCommand_SetDynamicPlaylistRevision::postCommitHook() return; } - // workaround a bug in pre-0.1.0 tomahawks. they created dynamic playlists in OnDemand mode *always*, and then set the mode to the real one. - // now that we separate them, if we get them as one and then get a changed mode, the playlist ends up in the wrong bucket in Collection. - // so here we fix it if we have to. - // HACK - tDebug() << "Does this need the 0.3->0.1 playlist category hack fix?" << ( rawPl->mode() == Static && source()->collection()->autoPlaylist( playlistguid() ).isNull() ) - << ( rawPl->mode() == OnDemand && source()->collection()->station( playlistguid() ).isNull() ) - << rawPl->mode() << source()->collection()->autoPlaylist( playlistguid() ).isNull() << source()->collection()->station( playlistguid() ).isNull(); - if( rawPl->mode() == Static && source()->collection()->autoPlaylist( playlistguid() ).isNull() ) // should be here - source()->collection()->moveStationToAuto( playlistguid() ); - else if ( rawPl->mode() == OnDemand && source()->collection()->station( playlistguid() ).isNull() ) // should be here - source()->collection()->moveAutoToStation( playlistguid() ); - - if ( !m_controlsV.isEmpty() && m_controls.isEmpty() ) + if ( !m_controlsV.isEmpty() && m_controls.isEmpty() ) { QList controlMap; foreach( const QVariant& v, m_controlsV ) From f20b3360e18f9a605d5f07f2245f49af3528320b Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Sat, 8 Dec 2012 23:45:07 -0500 Subject: [PATCH 133/332] On second thought, remove this whole conditional KDSingleAppGuard has changed, we now get an instanceStarted() signal that we handle in TomahawkApp, which contains the arguments passed to the second instance. There's never any work we need to do in the secondary process. --- src/main.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index ae75e10d5..1824223f7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -160,12 +160,6 @@ main( int argc, char *argv[] ) if ( guard.isPrimaryInstance() ) a.init(); - if ( guard.isPrimaryInstance() && argc > 1 ) - { - QString arg = a.arguments()[ 1 ]; - a.loadUrl( arg ); - } - int returnCode = 0; if ( guard.isPrimaryInstance() ) returnCode = a.exec(); From 9266fdb9a4c515eb7734a00ed5b0397ae5f1ce92 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 06:37:46 +0100 Subject: [PATCH 134/332] * Support getting biographies from Last.fm. --- .../accounts/lastfm/LastFmInfoPlugin.cpp | 152 ++++++++++++------ .../accounts/lastfm/LastFmInfoPlugin.h | 7 +- 2 files changed, 104 insertions(+), 55 deletions(-) diff --git a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp index 9dc4571dc..e0ff6df73 100644 --- a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp +++ b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp @@ -47,7 +47,7 @@ LastFmInfoPlugin::LastFmInfoPlugin( LastFmAccount* account ) , m_account( account ) , m_scrobbler( 0 ) { - m_supportedGetTypes << InfoAlbumCoverArt << InfoArtistImages << InfoArtistSimilars << InfoArtistSongs << InfoChart << InfoChartCapabilities << InfoTrackSimilars; + m_supportedGetTypes << InfoAlbumCoverArt << InfoArtistImages << InfoArtistSimilars << InfoArtistSongs << InfoArtistBiography << InfoChart << InfoChartCapabilities << InfoTrackSimilars; m_supportedPushTypes << InfoSubmitScrobble << InfoSubmitNowPlaying << InfoLove << InfoUnLove; } @@ -107,10 +107,6 @@ LastFmInfoPlugin::getInfo( Tomahawk::InfoSystem::InfoRequestData requestData ) { switch ( requestData.type ) { - case InfoArtistImages: - fetchArtistImages( requestData ); - break; - case InfoAlbumCoverArt: fetchCoverArt( requestData ); break; @@ -123,6 +119,11 @@ LastFmInfoPlugin::getInfo( Tomahawk::InfoSystem::InfoRequestData requestData ) fetchTopTracks( requestData ); break; + case InfoArtistImages: + case InfoArtistBiography: + fetchArtistInfo( requestData ); + break; + case InfoChart: fetchChart( requestData ); break; @@ -325,6 +326,28 @@ LastFmInfoPlugin::fetchTopTracks( Tomahawk::InfoSystem::InfoRequestData requestD } +void +LastFmInfoPlugin::fetchArtistInfo( Tomahawk::InfoSystem::InfoRequestData requestData ) +{ + if ( !requestData.input.canConvert< Tomahawk::InfoSystem::InfoStringHash >() ) + { + dataError( requestData ); + return; + } + InfoStringHash hash = requestData.input.value< Tomahawk::InfoSystem::InfoStringHash >(); + if ( !hash.contains( "artist" ) ) + { + dataError( requestData ); + return; + } + + Tomahawk::InfoSystem::InfoStringHash criteria; + criteria["artist"] = hash["artist"]; + + emit getCachedInfo( criteria, 2419200000, requestData ); +} + + void LastFmInfoPlugin::fetchChart( Tomahawk::InfoSystem::InfoRequestData requestData ) { @@ -385,28 +408,6 @@ LastFmInfoPlugin::fetchCoverArt( Tomahawk::InfoSystem::InfoRequestData requestDa } -void -LastFmInfoPlugin::fetchArtistImages( Tomahawk::InfoSystem::InfoRequestData requestData ) -{ - if ( !requestData.input.canConvert< Tomahawk::InfoSystem::InfoStringHash >() ) - { - dataError( requestData ); - return; - } - InfoStringHash hash = requestData.input.value< Tomahawk::InfoSystem::InfoStringHash >(); - if ( !hash.contains( "artist" ) ) - { - dataError( requestData ); - return; - } - - Tomahawk::InfoSystem::InfoStringHash criteria; - criteria["artist"] = hash["artist"]; - - emit getCachedInfo( criteria, 2419200000, requestData ); -} - - void LastFmInfoPlugin::notInCacheSlot( QHash criteria, Tomahawk::InfoSystem::InfoRequestData requestData ) { @@ -515,6 +516,17 @@ LastFmInfoPlugin::notInCacheSlot( QHash criteria, Tomahawk::In return; } + case InfoArtistBiography: + case InfoArtistImages: + { + lastfm::Artist a( criteria["artist"] ); + QNetworkReply* reply = a.getInfo(); + reply->setProperty( "requestData", QVariant::fromValue< Tomahawk::InfoSystem::InfoRequestData >( requestData ) ); + + connect( reply, SIGNAL( finished() ), SLOT( artistInfoReturned() ) ); + return; + } + case InfoAlbumCoverArt: { QString artistName = criteria["artist"]; @@ -536,25 +548,6 @@ LastFmInfoPlugin::notInCacheSlot( QHash criteria, Tomahawk::In return; } - case InfoArtistImages: - { - QString artistName = criteria["artist"]; - - QUrl imgurl( "http://ws.audioscrobbler.com/2.0/" ); - imgurl.addQueryItem( "method", "artist.imageredirect" ); - imgurl.addEncodedQueryItem( "artist", QUrl::toPercentEncoding( artistName, "", "+" ) ); - imgurl.addQueryItem( "autocorrect", QString::number( 1 ) ); - imgurl.addQueryItem( "size", "largesquare" ); - imgurl.addQueryItem( "api_key", "7a90f6672a04b809ee309af169f34b8b" ); - - QNetworkRequest req( imgurl ); - QNetworkReply* reply = TomahawkUtils::nam()->get( req ); - reply->setProperty( "requestData", QVariant::fromValue< Tomahawk::InfoSystem::InfoRequestData >( requestData ) ); - - connect( reply, SIGNAL( finished() ), SLOT( artistImagesReturned() ) ); - return; - } - default: { tLog() << "Couldn't figure out what to do with this type of request after cache miss"; @@ -726,6 +719,66 @@ LastFmInfoPlugin::topTracksReturned() } +void +LastFmInfoPlugin::artistInfoReturned() +{ + QNetworkReply* reply = qobject_cast( sender() ); + Tomahawk::InfoSystem::InfoRequestData requestData = reply->property( "requestData" ).value< Tomahawk::InfoSystem::InfoRequestData >(); + + if ( requestData.type == Tomahawk::InfoSystem::InfoArtistBiography ) + { + QVariantMap returnedData; + lastfm::XmlQuery lfm; + if ( lfm.parse( reply ) ) + { + QRegExp tagRegExp( "" ); + QRegExp artistRegExp( "" ); + QRegExp albumRegExp( "" ); + QRegExp trackRegExp( "" ); + + tagRegExp.setMinimal( true ); + artistRegExp.setMinimal( true ); + albumRegExp.setMinimal( true ); + trackRegExp.setMinimal( true ); + + QString biography = lfm["artist"]["bio"]["content"].text().trimmed().replace( "User-contributed text is available under the Creative Commons By-SA License and may also be available under the GNU FDL.", "" ); + biography = biography.replace( tagRegExp, "" ) + .replace( artistRegExp, "" ) + .replace( albumRegExp, "" ) + .replace( trackRegExp, "" ) + .replace( "&album=_", "" ); + + QVariantHash siteData; + siteData[ "site" ] = "last.fm"; + siteData[ "text" ] = biography.replace( "\r", "\n" ).replace( "\n\n", "\n" ); + siteData[ "summary" ] = lfm["artist"]["bio"]["summary"].text().trimmed().replace( "\r", "\n" ).replace( "\n\n", "\n" ); + returnedData[ "last.fm" ] = siteData; + + Tomahawk::InfoSystem::InfoStringHash origData = requestData.input.value< Tomahawk::InfoSystem::InfoStringHash>(); + Tomahawk::InfoSystem::InfoStringHash criteria; + criteria["artist"] = origData["artist"]; + emit updateCache( criteria, 0, requestData.type, returnedData ); + } + emit info( requestData, returnedData ); + } + else if ( requestData.type == Tomahawk::InfoSystem::InfoArtistImages ) + { + lastfm::Artist artist = lastfm::Artist::getInfo( reply ); + + QUrl imgurl = artist.imageUrl( lastfm::AbstractType::MegaImage ); + if ( !imgurl.isValid() ) + imgurl = artist.imageUrl( lastfm::AbstractType::ExtraLargeImage ); + if ( !imgurl.isValid() ) + imgurl = artist.imageUrl( lastfm::AbstractType::LargeImage ); + + QNetworkRequest req( imgurl ); + QNetworkReply* newReply = TomahawkUtils::nam()->get( req ); + newReply->setProperty( "requestData", reply->property( "requestData" ) ); + connect( newReply, SIGNAL( finished() ), SLOT( coverArtReturned() ) ); + } +} + + void LastFmInfoPlugin::coverArtReturned() { @@ -762,12 +815,6 @@ LastFmInfoPlugin::coverArtReturned() } else { - if ( !TomahawkUtils::nam() ) - { - tLog() << Q_FUNC_INFO << "Uh oh, nam is null"; - emit info( reply->property( "requestData" ).value< Tomahawk::InfoSystem::InfoRequestData >(), QVariant() ); - return; - } // Follow HTTP redirect QNetworkRequest req( redir ); QNetworkReply* newReply = TomahawkUtils::nam()->get( req ); @@ -798,6 +845,7 @@ LastFmInfoPlugin::artistImagesReturned() if ( reply->url().toString().startsWith( url.toString() ) ) ba = QByteArray(); } + QVariantMap returnedData; returnedData["imgbytes"] = ba; returnedData["url"] = reply->url().toString(); diff --git a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.h b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.h index f8bbacd17..bf95ed6a0 100644 --- a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.h +++ b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.h @@ -59,6 +59,7 @@ public slots: void artistImagesReturned(); void similarArtistsReturned(); void topTracksReturned(); + void artistInfoReturned(); void chartReturned(); void similarTracksReturned(); @@ -71,22 +72,22 @@ protected slots: private: void fetchCoverArt( Tomahawk::InfoSystem::InfoRequestData requestData ); - void fetchArtistImages( Tomahawk::InfoSystem::InfoRequestData requestData ); void fetchSimilarArtists( Tomahawk::InfoSystem::InfoRequestData requestData ); void fetchTopTracks( Tomahawk::InfoSystem::InfoRequestData requestData ); + void fetchArtistInfo( Tomahawk::InfoSystem::InfoRequestData requestData ); void fetchChart( Tomahawk::InfoSystem::InfoRequestData requestData ); void fetchChartCapabilities( Tomahawk::InfoSystem::InfoRequestData requestData ); void fetchSimilarTracks( Tomahawk::InfoSystem::InfoRequestData requestData ); void createScrobbler(); - void nowPlaying( const QVariant &input ); + void nowPlaying( const QVariant& input ); void scrobble(); void sendLoveSong( const InfoType type, QVariant input ); void dataError( Tomahawk::InfoSystem::InfoRequestData requestData ); QWeakPointer< Accounts::LastFmAccount > m_account; - QList parseTrackList( QNetworkReply * reply ); + QList parseTrackList( QNetworkReply* reply ); lastfm::MutableTrack m_track; lastfm::Audioscrobbler* m_scrobbler; From a01233124bf074d6bd307178a69fc27e447e1caf Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 06:38:15 +0100 Subject: [PATCH 135/332] * Echonest supporting new API call for biographies. --- .../generic/echonest/EchonestPlugin.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/infoplugins/generic/echonest/EchonestPlugin.cpp b/src/infoplugins/generic/echonest/EchonestPlugin.cpp index b0e1ec65c..da2c96439 100644 --- a/src/infoplugins/generic/echonest/EchonestPlugin.cpp +++ b/src/infoplugins/generic/echonest/EchonestPlugin.cpp @@ -38,7 +38,7 @@ EchonestPlugin::EchonestPlugin() : InfoPlugin() { qDebug() << Q_FUNC_INFO; - m_supportedGetTypes << Tomahawk::InfoSystem::InfoArtistBiography << Tomahawk::InfoSystem::InfoArtistFamiliarity << Tomahawk::InfoSystem::InfoArtistHotttness << Tomahawk::InfoSystem::InfoArtistTerms << Tomahawk::InfoSystem::InfoMiscTopTerms; + m_supportedGetTypes << Tomahawk::InfoSystem::InfoArtistFamiliarity << Tomahawk::InfoSystem::InfoArtistHotttness << Tomahawk::InfoSystem::InfoArtistTerms << Tomahawk::InfoSystem::InfoMiscTopTerms; } @@ -102,10 +102,17 @@ EchonestPlugin::getSongProfile( const Tomahawk::InfoSystem::InfoRequestData &req void EchonestPlugin::getArtistBiography( const Tomahawk::InfoSystem::InfoRequestData &requestData ) { - if( !isValidArtistData( requestData ) ) + if ( !requestData.input.canConvert< Tomahawk::InfoSystem::InfoStringHash >() ) + { return; + } + InfoStringHash hash = requestData.input.value< Tomahawk::InfoSystem::InfoStringHash >(); + if ( !hash.contains( "artist" ) ) + { + return; + } - Echonest::Artist artist( requestData.input.toString() ); + Echonest::Artist artist( hash["artist"] ); QNetworkReply *reply = artist.fetchBiographies(); reply->setProperty( "artist", QVariant::fromValue< Echonest::Artist >( artist ) ); reply->setProperty( "requestData", QVariant::fromValue< Tomahawk::InfoSystem::InfoRequestData >( requestData ) ); @@ -180,7 +187,6 @@ EchonestPlugin::getArtistBiographySlot() siteData[ "text" ] = biography.text(); siteData[ "attribution" ] = biography.license().attribution; siteData[ "licensetype" ] = biography.license().type; - siteData[ "attribution" ] = biography.license().url.toString(); biographyMap[ biography.site() ] = siteData; } Tomahawk::InfoSystem::InfoRequestData requestData = reply->property( "requestData" ).value< Tomahawk::InfoSystem::InfoRequestData >(); @@ -307,4 +313,4 @@ EchonestPlugin::artistFromReply( QNetworkReply* reply ) } //ns Tomahawk -Q_EXPORT_PLUGIN2( Tomahawk::InfoSystem::InfoPlugin, Tomahawk::InfoSystem::EchonestPlugin ) \ No newline at end of file +Q_EXPORT_PLUGIN2( Tomahawk::InfoSystem::InfoPlugin, Tomahawk::InfoSystem::EchonestPlugin ) From 455e525b1133d1ef4a0d7fdd279f7e8140e2be79 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 06:38:57 +0100 Subject: [PATCH 136/332] * Added squareCenterPixmap( QPixmap ) to TomahawkUtils. --- src/libtomahawk/utils/TomahawkUtilsGui.cpp | 22 ++++++++++++++++++++++ src/libtomahawk/utils/TomahawkUtilsGui.h | 6 ++---- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.cpp b/src/libtomahawk/utils/TomahawkUtilsGui.cpp index 6376171bc..9137949d9 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.cpp +++ b/src/libtomahawk/utils/TomahawkUtilsGui.cpp @@ -913,6 +913,28 @@ addDropShadow( const QPixmap& source, const QSize& targetSize ) } +QPixmap +squareCenterPixmap( const QPixmap& sourceImage ) +{ + if ( sourceImage.width() != sourceImage.height() ) + { + const int sqwidth = qMin( sourceImage.width(), sourceImage.height() ); + const int delta = abs( sourceImage.width() - sourceImage.height() ); + + if ( sourceImage.width() > sourceImage.height() ) + { + return sourceImage.copy( delta / 2, 0, sqwidth, sqwidth ); + } + else + { + return sourceImage.copy( 0, delta / 2, sqwidth, sqwidth ); + } + } + + return sourceImage; +} + + void drawCompositedPopup( QWidget* widget, const QPainterPath& outline, diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.h b/src/libtomahawk/utils/TomahawkUtilsGui.h index 4b2e97e7b..206a016cd 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.h +++ b/src/libtomahawk/utils/TomahawkUtilsGui.h @@ -63,17 +63,15 @@ namespace TomahawkUtils DLLEXPORT int defaultFontHeight(); DLLEXPORT QSize defaultIconSize(); - DLLEXPORT QPixmap defaultPixmap( ImageType type, ImageMode mode = TomahawkUtils::Original, const QSize& size = QSize( 0, 0 ) ); - DLLEXPORT void prepareStyleOption( QStyleOptionViewItemV4* option, const QModelIndex& index, PlayableItem* item ); DLLEXPORT void drawRoundedButton( QPainter* painter, const QRect& btnRect, const QColor& color, const QColor &gradient1bottom = QColor(), const QColor& gradient2top = QColor(), const QColor& gradient2bottom = QColor() ); - DLLEXPORT void styleScrollBar( QScrollBar* scrollBar ); + DLLEXPORT QPixmap defaultPixmap( ImageType type, ImageMode mode = TomahawkUtils::Original, const QSize& size = QSize( 0, 0 ) ); DLLEXPORT QPixmap createTiledPixmap( int width, int height, const QImage& src ); - DLLEXPORT QPixmap addDropShadow( const QPixmap& sourceImage, const QSize& targetSize ); + DLLEXPORT QPixmap squareCenterPixmap( const QPixmap& sourceImage ); DLLEXPORT void drawCompositedPopup( QWidget* widget, const QPainterPath& outline, const QColor& lineColor, const QBrush& backgroundBrush, qreal opacity ); From 14676071b904dd2255fc5c063b1294aee7880859 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 06:39:24 +0100 Subject: [PATCH 137/332] * Use new biography API call in Artist class. --- src/libtomahawk/Artist.cpp | 17 ++++++++++------- src/libtomahawk/Artist.h | 4 ++-- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/libtomahawk/Artist.cpp b/src/libtomahawk/Artist.cpp index 1754ae970..18306f054 100644 --- a/src/libtomahawk/Artist.cpp +++ b/src/libtomahawk/Artist.cpp @@ -28,6 +28,7 @@ #include "database/IdThreadWorker.h" #include "Source.h" +#include "utils/TomahawkUtilsGui.h" #include "utils/Logger.h" #include @@ -300,13 +301,14 @@ Artist::biography() const { if ( !m_biographyLoaded ) { + Tomahawk::InfoSystem::InfoStringHash trackInfo; + trackInfo["artist"] = name(); + Tomahawk::InfoSystem::InfoRequestData requestData; requestData.caller = infoid(); - requestData.customData = QVariantMap(); - - requestData.input = name(); requestData.type = Tomahawk::InfoSystem::InfoArtistBiography; - requestData.requestId = TomahawkUtils::infosystemRequestId(); + requestData.input = QVariant::fromValue< Tomahawk::InfoSystem::InfoStringHash >( trackInfo ); + requestData.customData = QVariantMap(); connect( Tomahawk::InfoSystem::InfoSystem::instance(), SIGNAL( info( Tomahawk::InfoSystem::InfoRequestData, QVariant ) ), @@ -454,7 +456,6 @@ Artist::infoSystemInfo( Tomahawk::InfoSystem::InfoRequestData requestData, QVari case InfoSystem::InfoArtistBiography: { QVariantMap bmap = output.toMap(); - foreach ( const QString& source, bmap.keys() ) { if ( source == "last.fm" ) @@ -530,9 +531,11 @@ Artist::cover( const QSize& size, bool forceLoad ) const if ( !m_cover && !m_coverBuffer.isEmpty() ) { - m_cover = new QPixmap(); - m_cover->loadFromData( m_coverBuffer ); + QPixmap cover; + cover.loadFromData( m_coverBuffer ); m_coverBuffer.clear(); + + m_cover = new QPixmap( TomahawkUtils::squareCenterPixmap( cover ) ); } if ( m_cover && !m_cover->isNull() && !size.isEmpty() ) diff --git a/src/libtomahawk/Artist.h b/src/libtomahawk/Artist.h index af0dba4c0..4830345ab 100644 --- a/src/libtomahawk/Artist.h +++ b/src/libtomahawk/Artist.h @@ -65,7 +65,7 @@ public: QList< Tomahawk::PlaybackLog > playbackHistory( const Tomahawk::source_ptr& source = Tomahawk::source_ptr() ) const; void setPlaybackHistory( const QList< Tomahawk::PlaybackLog >& playbackData ); unsigned int playbackCount( const Tomahawk::source_ptr& source = Tomahawk::source_ptr() ); - + QString biography() const; #ifndef ENABLE_HEADLESS @@ -133,7 +133,7 @@ private: #endif QHash< Tomahawk::ModelMode, QHash< Tomahawk::collection_ptr, Tomahawk::playlistinterface_ptr > > m_playlistInterface; - + QWeakPointer< Tomahawk::Artist > m_ownRef; static QHash< QString, artist_ptr > s_artistsByName; From 473ec61eda5f81cd2289a2bc16a45e7ca0ba6084 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 06:44:02 +0100 Subject: [PATCH 138/332] * WIP: New artist page. --- .../widgets/infowidgets/ArtistInfoWidget.cpp | 28 ++++- .../widgets/infowidgets/ArtistInfoWidget.h | 2 + .../widgets/infowidgets/ArtistInfoWidget.ui | 114 ++++++++++++++++-- 3 files changed, 132 insertions(+), 12 deletions(-) diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp index 55b36bcd4..5f511a23d 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp @@ -30,11 +30,10 @@ #include "playlist/TreeModel.h" #include "playlist/PlaylistModel.h" #include "playlist/TreeProxyModel.h" -#include "Source.h" - #include "database/DatabaseCommand_AllTracks.h" #include "database/DatabaseCommand_AllAlbums.h" - +#include "Source.h" +#include "GlobalActionManager.h" #include "Pipeline.h" #include "utils/StyleHelper.h" #include "utils/TomahawkUtilsGui.h" @@ -64,6 +63,10 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* TomahawkUtils::unmarginLayout( ui->layoutWidget2->layout() ); TomahawkUtils::unmarginLayout( ui->albumHeader->layout() );*/ + ui->artistLabel_2->setVisible( false ); + ui->biography_2->setVisible( false ); + ui->cover_2->setVisible( false ); + m_albumsModel = new PlayableModel( ui->albums ); ui->albums->setPlayableModel( m_albumsModel ); ui->albums->setEmptyTip( tr( "Sorry, we could not find any albums for this artist!" ) ); @@ -98,11 +101,15 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::ScaledCover, QSize( 48, 48 ) ); ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::ScaledCover, QSize( ui->cover->sizeHint() ) ) ); + QFont f = font(); + f.setPointSize( f.pointSize() + 1 ); + ui->biography->setOpenLinks( false ); + ui->biography->setOpenExternalLinks( true ); ui->biography->setFrameShape( QFrame::NoFrame ); ui->biography->setAttribute( Qt::WA_MacShowFocusRect, 0 ); + ui->biography->setFont( f ); TomahawkUtils::styleScrollBar( ui->biography->verticalScrollBar() ); - QFont f = font(); f.setBold( true ); f.setPointSize( TomahawkUtils::defaultFontSize() + 5 ); ui->artistLabel->setFont( f ); @@ -134,6 +141,7 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* TomahawkUtils::styleScrollBar( ui->relatedArtists->horizontalScrollBar() ); ui->biography->setStyleSheet( "QTextBrowser#biography { background-color: transparent; }" ); + ui->biography->document()->setDefaultStyleSheet( "a { text-decoration: none; font-weight: bold; color: #ffffff; }" ); ui->albums->setStyleSheet( "QListView { background-color: transparent; }" ); ui->albumFrame->setStyleSheet( "QFrame#albumFrame { background-color: transparent; }" @@ -153,6 +161,8 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* "border-image: url(" RESPATH "images/scrollbar-vertical-handle.png) 3 3 3 3 stretch stretch;" "border-top: 3px transparent; border-bottom: 3px transparent; border-right: 3px transparent; border-left: 3px transparent; }" ); + connect( ui->biography, SIGNAL( anchorClicked( QUrl ) ), SLOT( onBiographyLinkClicked( QUrl ) ) ); + load( artist ); } @@ -293,7 +303,7 @@ ArtistInfoWidget::onBiographyLoaded() m_longDescription = m_artist->biography(); emit longDescriptionChanged( m_longDescription ); - ui->biography->setHtml( m_artist->biography() ); + ui->biography->setHtml( m_artist->biography().replace( '\n', "
" ) ); } @@ -310,6 +320,14 @@ ArtistInfoWidget::onArtistImageUpdated() } +void +ArtistInfoWidget::onBiographyLinkClicked( const QUrl& url ) +{ + tDebug() << Q_FUNC_INFO << url; + GlobalActionManager::instance()->parseTomahawkLink( url.toString() ); +} + + void ArtistInfoWidget::changeEvent( QEvent* e ) { diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.h b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.h index a3b91f2a8..0e2b46ae1 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.h +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.h @@ -98,6 +98,8 @@ private slots: void onTracksFound( const QList& queries, Tomahawk::ModelMode mode ); void onSimilarArtistsLoaded(); + void onBiographyLinkClicked( const QUrl& url ); + private: Ui::ArtistInfoWidget *ui; diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui index 70d7304c6..22118b5e9 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui @@ -7,7 +7,7 @@ 0 0 965 - 912 + 1179 @@ -30,6 +30,106 @@ + + + + 16 + + + 0 + + + + + 0 + + + + + + 0 + 0 + + + + + 220 + 220 + + + + Cover + + + Qt::AlignCenter + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 4 + + + + + + + + Artist + + + Qt::AlignCenter + + + + + + + + + + 0 + 0 + + + + + 0 + 240 + + + + Qt::ScrollBarAlwaysOff + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 16 + + + + @@ -264,7 +364,7 @@ - 16 + 0 0 @@ -276,7 +376,7 @@ 0 - + 0 @@ -307,14 +407,14 @@ - 20 + 1 8 - + Artist @@ -333,14 +433,14 @@ - 20 + 1 12 - + 0 From 1f570298dff8b6a126d53df27e024a87791c4ae2 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 06:51:53 +0100 Subject: [PATCH 139/332] * Compile fix for older liblastfms. --- src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp index e0ff6df73..8dea48136 100644 --- a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp +++ b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp @@ -729,7 +729,7 @@ LastFmInfoPlugin::artistInfoReturned() { QVariantMap returnedData; lastfm::XmlQuery lfm; - if ( lfm.parse( reply ) ) + if ( lfm.parse( reply->readAll() ) ) { QRegExp tagRegExp( "" ); QRegExp artistRegExp( "" ); From a21c73712a1cc71bf06942b8cc439646174d3485 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 07:15:14 +0100 Subject: [PATCH 140/332] * Fetch album covers via Last.fm's Album.getInfo API call. Use ExtraLarge instead of Mega per default. --- .../accounts/lastfm/LastFmInfoPlugin.cpp | 51 ++++++++++++------- .../accounts/lastfm/LastFmInfoPlugin.h | 3 +- 2 files changed, 35 insertions(+), 19 deletions(-) diff --git a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp index 8dea48136..14d0a3e12 100644 --- a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp +++ b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp @@ -108,7 +108,7 @@ LastFmInfoPlugin::getInfo( Tomahawk::InfoSystem::InfoRequestData requestData ) switch ( requestData.type ) { case InfoAlbumCoverArt: - fetchCoverArt( requestData ); + fetchAlbumInfo( requestData ); break; case InfoArtistSimilars: @@ -386,7 +386,7 @@ LastFmInfoPlugin::fetchChartCapabilities( Tomahawk::InfoSystem::InfoRequestData void -LastFmInfoPlugin::fetchCoverArt( Tomahawk::InfoSystem::InfoRequestData requestData ) +LastFmInfoPlugin::fetchAlbumInfo( Tomahawk::InfoSystem::InfoRequestData requestData ) { if ( !requestData.input.canConvert< Tomahawk::InfoSystem::InfoStringHash >() ) { @@ -529,22 +529,11 @@ LastFmInfoPlugin::notInCacheSlot( QHash criteria, Tomahawk::In case InfoAlbumCoverArt: { - QString artistName = criteria["artist"]; - QString albumName = criteria["album"]; - - QUrl imgurl( "http://ws.audioscrobbler.com/2.0/" ); - imgurl.addQueryItem( "method", "album.imageredirect" ); - imgurl.addEncodedQueryItem( "artist", QUrl::toPercentEncoding( artistName, "", "+" ) ); - imgurl.addEncodedQueryItem( "album", QUrl::toPercentEncoding( albumName, "", "+" ) ); - imgurl.addQueryItem( "autocorrect", QString::number( 1 ) ); - imgurl.addQueryItem( "size", "large" ); - imgurl.addQueryItem( "api_key", "7a90f6672a04b809ee309af169f34b8b" ); - - QNetworkRequest req( imgurl ); - QNetworkReply* reply = TomahawkUtils::nam()->get( req ); + lastfm::Album a( criteria["artist"], criteria["album"] ); + QNetworkReply* reply = a.getInfo(); reply->setProperty( "requestData", QVariant::fromValue< Tomahawk::InfoSystem::InfoRequestData >( requestData ) ); - connect( reply, SIGNAL( finished() ), SLOT( coverArtReturned() ) ); + connect( reply, SIGNAL( finished() ), SLOT( albumInfoReturned() ) ); return; } @@ -765,9 +754,9 @@ LastFmInfoPlugin::artistInfoReturned() { lastfm::Artist artist = lastfm::Artist::getInfo( reply ); - QUrl imgurl = artist.imageUrl( lastfm::AbstractType::MegaImage ); + QUrl imgurl = artist.imageUrl( lastfm::AbstractType::ExtraLargeImage ); if ( !imgurl.isValid() ) - imgurl = artist.imageUrl( lastfm::AbstractType::ExtraLargeImage ); + imgurl = artist.imageUrl( lastfm::AbstractType::MegaImage ); if ( !imgurl.isValid() ) imgurl = artist.imageUrl( lastfm::AbstractType::LargeImage ); @@ -779,6 +768,32 @@ LastFmInfoPlugin::artistInfoReturned() } +void +LastFmInfoPlugin::albumInfoReturned() +{ + QNetworkReply* reply = qobject_cast( sender() ); + Tomahawk::InfoSystem::InfoRequestData requestData = reply->property( "requestData" ).value< Tomahawk::InfoSystem::InfoRequestData >(); + + if ( requestData.type == Tomahawk::InfoSystem::InfoAlbumCoverArt ) + { + lastfm::XmlQuery lfm; + if ( lfm.parse( reply->readAll() ) ) + { + QUrl imgurl = QUrl( lfm["album"]["image size=extralarge"].text() ); + if ( !imgurl.isValid() ) + imgurl = QUrl( lfm["album"]["image size=mega"].text() ); + if ( !imgurl.isValid() ) + imgurl = QUrl( lfm["album"]["image size=large"].text() ); + + QNetworkRequest req( imgurl ); + QNetworkReply* newReply = TomahawkUtils::nam()->get( req ); + newReply->setProperty( "requestData", reply->property( "requestData" ) ); + connect( newReply, SIGNAL( finished() ), SLOT( coverArtReturned() ) ); + } + } +} + + void LastFmInfoPlugin::coverArtReturned() { diff --git a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.h b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.h index bf95ed6a0..a6bce22c2 100644 --- a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.h +++ b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.h @@ -60,6 +60,7 @@ public slots: void similarArtistsReturned(); void topTracksReturned(); void artistInfoReturned(); + void albumInfoReturned(); void chartReturned(); void similarTracksReturned(); @@ -71,10 +72,10 @@ protected slots: virtual void pushInfo( Tomahawk::InfoSystem::InfoPushData pushData ); private: - void fetchCoverArt( Tomahawk::InfoSystem::InfoRequestData requestData ); void fetchSimilarArtists( Tomahawk::InfoSystem::InfoRequestData requestData ); void fetchTopTracks( Tomahawk::InfoSystem::InfoRequestData requestData ); void fetchArtistInfo( Tomahawk::InfoSystem::InfoRequestData requestData ); + void fetchAlbumInfo( Tomahawk::InfoSystem::InfoRequestData requestData ); void fetchChart( Tomahawk::InfoSystem::InfoRequestData requestData ); void fetchChartCapabilities( Tomahawk::InfoSystem::InfoRequestData requestData ); void fetchSimilarTracks( Tomahawk::InfoSystem::InfoRequestData requestData ); From 51c184d62f9264856a4d121f9ef7337f506814e9 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 07:22:24 +0100 Subject: [PATCH 141/332] * Fixed PlaylistInterface ignoring offline results. --- src/libtomahawk/PlaylistInterface.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/PlaylistInterface.cpp b/src/libtomahawk/PlaylistInterface.cpp index e90648d2a..be4226561 100644 --- a/src/libtomahawk/PlaylistInterface.cpp +++ b/src/libtomahawk/PlaylistInterface.cpp @@ -158,14 +158,16 @@ PlaylistInterface::filterTracks( const QList& queries ) bool PlaylistInterface::hasNextResult() const { - return ( siblingResult( 1 ) ); + Tomahawk::result_ptr r = siblingResult( 1 ); + return ( r && r->isOnline() ); } bool PlaylistInterface::hasPreviousResult() const { - return ( siblingResult( -1 ) ); + Tomahawk::result_ptr r = siblingResult( -1 ); + return ( r && r->isOnline() ); } From 73ef7e2a4b8407bc7cee38c312c89f120a679dfd Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 07:54:31 +0100 Subject: [PATCH 142/332] * Generate square album covers, too. --- src/libtomahawk/Album.cpp | 8 ++++++-- src/libtomahawk/Album.h | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/libtomahawk/Album.cpp b/src/libtomahawk/Album.cpp index eba5eb3d7..5806e3ffd 100644 --- a/src/libtomahawk/Album.cpp +++ b/src/libtomahawk/Album.cpp @@ -27,6 +27,7 @@ #include "Query.h" #include "Source.h" +#include "utils/TomahawkUtilsGui.h" #include "utils/Logger.h" #include @@ -229,8 +230,11 @@ Album::cover( const QSize& size, bool forceLoad ) const if ( !m_cover && !m_coverBuffer.isEmpty() ) { - m_cover = new QPixmap(); - m_cover->loadFromData( m_coverBuffer ); + QPixmap cover; + cover.loadFromData( m_coverBuffer ); + m_coverBuffer.clear(); + + m_cover = new QPixmap( TomahawkUtils::squareCenterPixmap( cover ) ); } if ( m_cover && !m_cover->isNull() && !size.isEmpty() ) diff --git a/src/libtomahawk/Album.h b/src/libtomahawk/Album.h index c9112568a..2eb2abb49 100644 --- a/src/libtomahawk/Album.h +++ b/src/libtomahawk/Album.h @@ -93,12 +93,12 @@ private: QString m_sortname; artist_ptr m_artist; - QByteArray m_coverBuffer; bool m_coverLoaded; mutable bool m_coverLoading; mutable QString m_uuid; + mutable QByteArray m_coverBuffer; #ifndef ENABLE_HEADLESS mutable QPixmap* m_cover; mutable QHash< int, QPixmap > m_coverCache; From 926c8ad16b585ac19dd386e80fe9d859a414bcf6 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 09:08:33 +0100 Subject: [PATCH 143/332] * Call parent's base-method after changing the current index. --- .../playlist/PlayableProxyModelPlaylistInterface.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp index 1fffa4774..827e02bc7 100644 --- a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp +++ b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp @@ -90,8 +90,6 @@ PlayableProxyModelPlaylistInterface::setCurrentIndex( qint64 index ) if ( m_proxyModel.isNull() ) return; - PlaylistInterface::setCurrentIndex( index ); - PlayableItem* item = static_cast( (void*)index ); if ( index < 0 || !item ) { @@ -116,6 +114,8 @@ PlayableProxyModelPlaylistInterface::setCurrentIndex( qint64 index ) m_shuffleHistory << queryAt( index ); m_shuffleCache = QPersistentModelIndex(); } + + PlaylistInterface::setCurrentIndex( index ); } From 53764350949a39947d824a38cafe5e45c5597f89 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 09:08:59 +0100 Subject: [PATCH 144/332] * Emit a signal when PlaylistInterface's currentIndex has changed. --- src/libtomahawk/PlaylistInterface.cpp | 2 ++ src/libtomahawk/PlaylistInterface.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/libtomahawk/PlaylistInterface.cpp b/src/libtomahawk/PlaylistInterface.cpp index be4226561..7b9c024ca 100644 --- a/src/libtomahawk/PlaylistInterface.cpp +++ b/src/libtomahawk/PlaylistInterface.cpp @@ -219,5 +219,7 @@ void PlaylistInterface::setCurrentIndex( qint64 index ) { m_currentIndex = index; + + emit currentIndexChanged(); onItemsChanged(); } diff --git a/src/libtomahawk/PlaylistInterface.h b/src/libtomahawk/PlaylistInterface.h index d4dbcfa9a..9ec7009f9 100644 --- a/src/libtomahawk/PlaylistInterface.h +++ b/src/libtomahawk/PlaylistInterface.h @@ -100,6 +100,8 @@ signals: void previousTrackAvailable(); void nextTrackAvailable(); + void currentIndexChanged(); + protected slots: virtual void onItemsChanged(); From 9e31e03498108ae030a06958026fc33143cc7cf7 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 09:09:42 +0100 Subject: [PATCH 145/332] * GridView now allows (like Track- & TreeView) to have its PlaylistInterface overwritten. --- src/libtomahawk/playlist/GridView.cpp | 19 +++++++++++++++++-- src/libtomahawk/playlist/GridView.h | 4 ++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/libtomahawk/playlist/GridView.cpp b/src/libtomahawk/playlist/GridView.cpp index b884eecfb..9c71f48ee 100644 --- a/src/libtomahawk/playlist/GridView.cpp +++ b/src/libtomahawk/playlist/GridView.cpp @@ -110,8 +110,6 @@ GridView::GridView( QWidget* parent ) setAutoResize( false ); setProxyModel( new PlayableProxyModel( this ) ); - m_playlistInterface = playlistinterface_ptr( new GridPlaylistInterface( m_proxyModel, this ) ); - connect( this, SIGNAL( doubleClicked( QModelIndex ) ), SLOT( onItemActivated( QModelIndex ) ) ); connect( this, SIGNAL( customContextMenuRequested( QPoint ) ), SLOT( onCustomContextMenu( QPoint ) ) ); @@ -136,6 +134,9 @@ GridView::setProxyModel( PlayableProxyModel* model ) m_proxyModel = model; connect( m_proxyModel, SIGNAL( filterChanged( QString ) ), SLOT( onFilterChanged( QString ) ) ); + if ( m_delegate ) + delete m_delegate; + m_delegate = new GridItemDelegate( this, m_proxyModel ); connect( m_delegate, SIGNAL( updateIndex( QModelIndex ) ), this, SLOT( update( QModelIndex ) ) ); connect( m_delegate, SIGNAL( startedPlaying( QPersistentModelIndex ) ), this, SLOT( onDelegatePlaying( QPersistentModelIndex ) ) ); @@ -432,4 +433,18 @@ GridView::currentTrackRect() const } +playlistinterface_ptr +GridView::playlistInterface() const +{ + return proxyModel()->playlistInterface(); +} + + +void +GridView::setPlaylistInterface( const Tomahawk::playlistinterface_ptr& playlistInterface ) +{ + proxyModel()->setPlaylistInterface( playlistInterface ); +} + + #include "GridView.moc" diff --git a/src/libtomahawk/playlist/GridView.h b/src/libtomahawk/playlist/GridView.h index a5b006d2b..2db377ae2 100644 --- a/src/libtomahawk/playlist/GridView.h +++ b/src/libtomahawk/playlist/GridView.h @@ -65,7 +65,8 @@ public: void setEmptyTip( const QString& tip ); virtual QWidget* widget() { return this; } - virtual Tomahawk::playlistinterface_ptr playlistInterface() const { return m_playlistInterface; } + virtual Tomahawk::playlistinterface_ptr playlistInterface() const; + void setPlaylistInterface( const Tomahawk::playlistinterface_ptr& playlistInterface ); virtual QString title() const { return m_model->title(); } virtual QString description() const { return m_model->description(); } @@ -110,7 +111,6 @@ private: GridItemDelegate* m_delegate; AnimatedSpinner* m_loadingSpinner; OverlayWidget* m_overlay; - Tomahawk::playlistinterface_ptr m_playlistInterface; QModelIndex m_contextMenuIndex; QPersistentModelIndex m_playing; From 5e5a95716cc3e08efcb2ff6486c5d86a33979d3c Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 09:10:09 +0100 Subject: [PATCH 146/332] * FlexibleView now overwrites GridView's PlaylistInterface. --- src/libtomahawk/playlist/FlexibleView.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libtomahawk/playlist/FlexibleView.cpp b/src/libtomahawk/playlist/FlexibleView.cpp index 02aa00dd9..038e6caf1 100644 --- a/src/libtomahawk/playlist/FlexibleView.cpp +++ b/src/libtomahawk/playlist/FlexibleView.cpp @@ -47,6 +47,7 @@ FlexibleView::FlexibleView( QWidget* parent ) // m_trackView->setPlaylistInterface( m_playlistInterface ); m_detailedView->setPlaylistInterface( m_trackView->proxyModel()->playlistInterface() ); + m_gridView->setPlaylistInterface( m_trackView->proxyModel()->playlistInterface() ); m_detailedView->setColumnHidden( PlayableModel::Age, true ); // Hide age column per default m_detailedView->setColumnHidden( PlayableModel::Filesize, true ); // Hide filesize column per default @@ -131,6 +132,8 @@ FlexibleView::setGridView( GridView* view ) delete m_gridView; } + view->setPlaylistInterface( m_trackView->proxyModel()->playlistInterface() ); + m_gridView = view; m_stack->addWidget( view ); } From 1fd82211811b56d68baa8e025527bc522b496d39 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 09:11:13 +0100 Subject: [PATCH 147/332] * Update GridItemDelegate's buttons when current index has changed. --- src/libtomahawk/playlist/GridItemDelegate.cpp | 123 ++++++------------ src/libtomahawk/playlist/GridItemDelegate.h | 5 +- 2 files changed, 43 insertions(+), 85 deletions(-) diff --git a/src/libtomahawk/playlist/GridItemDelegate.cpp b/src/libtomahawk/playlist/GridItemDelegate.cpp index 992f66c93..0a5d174d3 100644 --- a/src/libtomahawk/playlist/GridItemDelegate.cpp +++ b/src/libtomahawk/playlist/GridItemDelegate.cpp @@ -58,6 +58,8 @@ GridItemDelegate::GridItemDelegate( QAbstractItemView* parent, PlayableProxyMode connect( proxy, SIGNAL( rowsAboutToBeInserted( QModelIndex, int, int ) ), SLOT( modelChanged() ) ); connect( proxy, SIGNAL( rowsAboutToBeRemoved( QModelIndex, int, int ) ), SLOT( modelChanged() ) ); + connect( proxy->playlistInterface().data(), SIGNAL( currentIndexChanged() ), SLOT( onCurrentIndexChanged() ), Qt::UniqueConnection ); + connect( m_view, SIGNAL( scrolledContents( int, int ) ), SLOT( onViewChanged() ) ); connect( m_view, SIGNAL( resized() ), SLOT( onViewChanged() ) ); } @@ -239,9 +241,7 @@ void GridItemDelegate::onPlayClicked( const QPersistentModelIndex& index ) { QPoint pos = m_playButton[ index ]->pos(); - foreach ( ImageButton* button, m_playButton ) - button->deleteLater(); - m_playButton.clear(); + clearButtons(); AnimatedSpinner* spinner = new AnimatedSpinner( m_view ); spinner->setAutoCenter( false ); @@ -255,23 +255,8 @@ GridItemDelegate::onPlayClicked( const QPersistentModelIndex& index ) PlayableItem* item = m_model->sourceModel()->itemFromIndex( m_model->mapToSource( index ) ); if ( item ) { - NewClosure( AudioEngine::instance(), SIGNAL( loading( Tomahawk::result_ptr ) ), - const_cast(this), SLOT( onPlaybackStarted( QPersistentModelIndex ) ), QPersistentModelIndex( index ) ); - - m_closures.remove( index ); - - m_closures.insertMulti( index, NewClosure( AudioEngine::instance(), SIGNAL( started( Tomahawk::result_ptr ) ), - const_cast(this), SLOT( onPlaylistChanged( QPersistentModelIndex ) ), QPersistentModelIndex( index ) ) ); - m_closures.insertMulti( index, NewClosure( AudioEngine::instance(), SIGNAL( stopped() ), - const_cast(this), SLOT( onPlaylistChanged( QPersistentModelIndex ) ), QPersistentModelIndex( index ) ) ); - - foreach ( _detail::Closure* closure, m_closures.values( index ) ) - closure->setAutoDelete( false ); - - connect( AudioEngine::instance(), SIGNAL( stopped() ), SLOT( onPlaybackFinished() ) ); - if ( !item->query().isNull() ) - AudioEngine::instance()->playItem( Tomahawk::playlistinterface_ptr(), item->query() ); + AudioEngine::instance()->playItem( m_model->playlistInterface(), item->query() ); else if ( !item->album().isNull() ) AudioEngine::instance()->playItem( item->album() ); else if ( !item->artist().isNull() ) @@ -418,18 +403,12 @@ GridItemDelegate::modelChanged() m_hoveringOver = QPersistentModelIndex(); m_hoverIndex = QPersistentModelIndex(); - foreach ( ImageButton* button, m_playButton ) - button->deleteLater(); - m_playButton.clear(); - foreach ( ImageButton* button, m_pauseButton ) - button->deleteLater(); - m_pauseButton.clear(); - foreach ( QWidget* widget, m_spinner ) - widget->deleteLater(); - m_spinner.clear(); + clearButtons(); if ( GridView* view = qobject_cast< GridView* >( m_view ) ) m_model = view->proxyModel(); + + connect( m_model->playlistInterface().data(), SIGNAL( currentIndexChanged() ), SLOT( onCurrentIndexChanged() ), Qt::UniqueConnection ); } @@ -466,78 +445,58 @@ GridItemDelegate::onViewChanged() void GridItemDelegate::onPlaybackFinished() { - foreach ( ImageButton* button, m_pauseButton ) - button->deleteLater(); - m_pauseButton.clear(); + clearButtons(); emit stoppedPlaying( QModelIndex() ); } void -GridItemDelegate::onPlaylistChanged( const QPersistentModelIndex& index ) +GridItemDelegate::onPlaybackStarted( const QPersistentModelIndex& index ) { - PlayableItem* item = m_model->sourceModel()->itemFromIndex( m_model->mapToSource( index ) ); - if ( item ) - { - bool finished = false; + clearButtons(); + createPauseButton( index ); - if ( !item->query().isNull() ) - { - if ( !item->query()->numResults() || AudioEngine::instance()->currentTrack() != item->query()->results().first() ) - finished = true; - } - else if ( !item->album().isNull() ) - { - if ( AudioEngine::instance()->currentTrackPlaylist() != item->album()->playlistInterface( Tomahawk::Mixed ) ) - finished = true; - } - else if ( !item->artist().isNull() ) - { - if ( AudioEngine::instance()->currentTrackPlaylist() != item->artist()->playlistInterface( Tomahawk::Mixed ) ) - finished = true; - } - - if ( finished ) - { - foreach ( _detail::Closure* closure, m_closures.values( index ) ) - closure->deleteLater(); - - if ( m_pauseButton.contains( index ) ) - { - m_pauseButton[ index ]->deleteLater(); - m_pauseButton.remove( index ); - } - if ( m_spinner.contains( index ) ) - { - m_spinner[ index ]->deleteLater(); - m_spinner.remove( index ); - } - - emit stoppedPlaying( index ); - } - } + emit startedPlaying( index ); } void -GridItemDelegate::onPlaybackStarted( const QPersistentModelIndex& index ) +GridItemDelegate::clearButtons() { - if ( !m_spinner.contains( index ) ) - return; - - QPoint pos = m_spinner[ index ]->pos(); - foreach ( QWidget* widget, m_spinner.values() ) - { - delete widget; - } + foreach ( ImageButton* button, m_playButton ) + button->deleteLater(); + m_playButton.clear(); + foreach ( ImageButton* button, m_pauseButton ) + button->deleteLater(); + m_pauseButton.clear(); + foreach ( QWidget* widget, m_spinner ) + widget->deleteLater(); m_spinner.clear(); +} + +void +GridItemDelegate::onCurrentIndexChanged() +{ + tDebug() << Q_FUNC_INFO << m_model-> currentIndex(); + if ( m_model->currentIndex().isValid() ) + { + onPlaybackStarted( m_model->currentIndex() ); + } + else + onPlaybackFinished(); +} + + +void +GridItemDelegate::createPauseButton( const QPersistentModelIndex& index ) +{ ImageButton* button = new ImageButton( m_view ); button->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PauseButton, TomahawkUtils::Original, QSize( 48, 48 ) ) ); button->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::PauseButtonPressed, TomahawkUtils::Original, QSize( 48, 48 ) ), QIcon::Off, QIcon::Active ); button->setFixedSize( 48, 48 ); - button->move( pos ); + button->move( m_view->visualRect( index ).center() - QPoint( 23, 23 ) ); button->setContentsMargins( 0, 0, 0, 0 ); button->setFocusPolicy( Qt::NoFocus ); button->installEventFilter( this ); @@ -546,8 +505,6 @@ GridItemDelegate::onPlaybackStarted( const QPersistentModelIndex& index ) connect( button, SIGNAL( clicked( bool ) ), AudioEngine::instance(), SLOT( playPause() ) ); m_pauseButton[ index ] = button; - - emit startedPlaying( index ); } diff --git a/src/libtomahawk/playlist/GridItemDelegate.h b/src/libtomahawk/playlist/GridItemDelegate.h index a14414715..36dca3945 100644 --- a/src/libtomahawk/playlist/GridItemDelegate.h +++ b/src/libtomahawk/playlist/GridItemDelegate.h @@ -64,19 +64,21 @@ signals: private slots: void modelChanged(); void doUpdateIndex( const QPersistentModelIndex& idx ); + void onCurrentIndexChanged(); void onViewChanged(); void onPlaybackStarted( const QPersistentModelIndex& index ); void onPlaybackFinished(); void onPlayClicked( const QPersistentModelIndex& index ); - void onPlaylistChanged( const QPersistentModelIndex& index ); void fadingFrameChanged( const QPersistentModelIndex& ); void fadingFrameFinished( const QPersistentModelIndex& ); private: QTimeLine* createTimeline( QTimeLine::Direction direction ); + void createPauseButton( const QPersistentModelIndex& index ); + void clearButtons(); QAbstractItemView* m_view; PlayableProxyModel* m_model; @@ -94,7 +96,6 @@ private: mutable QHash< QPersistentModelIndex, ImageButton* > m_playButton; mutable QHash< QPersistentModelIndex, ImageButton* > m_pauseButton; mutable QHash< QPersistentModelIndex, QTimeLine* > m_hoverFaders; - mutable QHash< QPersistentModelIndex, _detail::Closure* > m_closures; }; #endif // GRIDITEMDELEGATE_H From f95f40f73bbc16d81fa6674f7c948c318e260209 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 09:36:04 +0100 Subject: [PATCH 148/332] * Prepared QueryLabel for queries without an album name. --- src/libtomahawk/widgets/QueryLabel.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/libtomahawk/widgets/QueryLabel.cpp b/src/libtomahawk/widgets/QueryLabel.cpp index 9e9db4063..35b11628c 100644 --- a/src/libtomahawk/widgets/QueryLabel.cpp +++ b/src/libtomahawk/widgets/QueryLabel.cpp @@ -110,7 +110,7 @@ QueryLabel::text() const { text += m_result->artist()->name(); } - if ( m_type & Album ) + if ( m_type & Album && !m_result->album()->name().isEmpty() ) { smartAppend( text, m_result->album()->name() ); } @@ -125,7 +125,7 @@ QueryLabel::text() const { text += m_query->artist(); } - if ( m_type & Album ) + if ( m_type & Album && !m_query->album().isEmpty() ) { smartAppend( text, m_query->album() ); } @@ -429,7 +429,7 @@ QueryLabel::paintEvent( QPaintEvent* event ) p.drawText( r, m_align, artist()->name() ); r.adjust( artistX, 0, 0, 0 ); } - if ( m_type & Album ) + if ( m_type & Album && !album()->name().isEmpty() ) { p.setBrush( palette().window() ); if ( !m_useCustomPen ) @@ -455,7 +455,7 @@ QueryLabel::paintEvent( QPaintEvent* event ) if ( !m_useCustomPen ) p.setPen( palette().color( foregroundRole() ) ); - if ( m_type & Artist || m_type & Album ) + if ( m_type & Artist || ( m_type & Album && !album()->name().isEmpty() ) ) { p.drawText( r, m_align, DASH ); r.adjust( dashX, 0, 0, 0 ); @@ -597,7 +597,7 @@ QueryLabel::mouseMoveEvent( QMouseEvent* event ) { trackX += contentsMargins().left(); } - if ( m_type & Album ) + if ( m_type & Album && !album()->name().isEmpty() ) { trackX += albumX + dashX; albumX += contentsMargins().left(); @@ -620,7 +620,7 @@ QueryLabel::mouseMoveEvent( QMouseEvent* event ) hoverArea.setLeft( 0 ); hoverArea.setRight( artistX + contentsMargins().left() - 1 ); } - else if ( m_type & Album && x < albumX && x > artistX ) + else if ( m_type & Album && !album()->name().isEmpty() && x < albumX && x > artistX ) { m_hoverType = Album; int spacing = ( m_type & Artist ) ? dashX : 0; @@ -630,7 +630,7 @@ QueryLabel::mouseMoveEvent( QMouseEvent* event ) else if ( m_type & Track && x < trackX && x > albumX ) { m_hoverType = Track; - int spacing = ( m_type & Album ) ? dashX : 0; + int spacing = ( m_type & Album && !album()->name().isEmpty() ) ? dashX : 0; hoverArea.setLeft( albumX + spacing ); hoverArea.setRight( trackX + contentsMargins().left() - 1 ); } From b827b9fb91572feb921f2c2c478b0ac9cfdf1fa8 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 11:06:29 +0100 Subject: [PATCH 149/332] * Removed obsolete pseudo-PlaylistInterfaces. --- src/libtomahawk/widgets/WhatsHotWidget_p.h | 109 ----------------- .../widgets/infowidgets/AlbumInfoWidget_p.h | 82 ------------- .../widgets/infowidgets/ArtistInfoWidget_p.h | 113 ------------------ 3 files changed, 304 deletions(-) delete mode 100644 src/libtomahawk/widgets/WhatsHotWidget_p.h delete mode 100644 src/libtomahawk/widgets/infowidgets/AlbumInfoWidget_p.h delete mode 100644 src/libtomahawk/widgets/infowidgets/ArtistInfoWidget_p.h diff --git a/src/libtomahawk/widgets/WhatsHotWidget_p.h b/src/libtomahawk/widgets/WhatsHotWidget_p.h deleted file mode 100644 index 4ad300bc2..000000000 --- a/src/libtomahawk/widgets/WhatsHotWidget_p.h +++ /dev/null @@ -1,109 +0,0 @@ -/* === This file is part of Tomahawk Player - === - * - * Copyright 2011, Leo Franchi - * Copyright 2011-2012, Jeff Mitchell - * - * Tomahawk is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Tomahawk is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Tomahawk. If not, see . - */ - -#ifndef WHATSHOTWIDGET_P_H -#define WHATSHOTWIDGET_P_H - -#include "WhatsHotWidget.h" -#include "PlaylistInterface.h" -#include "ui_WhatsHotWidget.h" -#include "playlist/TreeProxyModel.h" -#include "playlist/PlaylistView.h" -#include "Result.h" - -#include - -namespace Tomahawk -{ - -class ChartsPlaylistInterface : public Tomahawk::PlaylistInterface -{ - Q_OBJECT -public: - explicit ChartsPlaylistInterface( WhatsHotWidget* w ) - : PlaylistInterface() - , m_w( w ) - { - connect( m_w->ui->tracksViewLeft->proxyModel()->playlistInterface().data(), SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ), - SLOT( anyRepeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ) ); - connect( m_w->ui->artistsViewLeft->proxyModel()->playlistInterface().data(), SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ), - SLOT( anyRepeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ) ); - - connect( m_w->ui->tracksViewLeft->proxyModel()->playlistInterface().data(), SIGNAL( shuffleModeChanged( bool ) ), - SLOT( anyShuffleChanged( bool ) ) ); - connect( m_w->ui->artistsViewLeft->proxyModel()->playlistInterface().data(), SIGNAL( shuffleModeChanged( bool ) ), - SLOT( anyShuffleChanged( bool ) ) ); - } - virtual ~ChartsPlaylistInterface() {} - - // Any one is fine, we keep them all synched - virtual PlaylistModes::RepeatMode repeatMode() const { return m_w->ui->tracksViewLeft->proxyModel()->playlistInterface()->repeatMode(); } - virtual bool shuffled() const { return m_w->ui->tracksViewLeft->proxyModel()->playlistInterface()->shuffled(); } - - // Do nothing - virtual void setCurrentIndex( qint64 index ) { Q_UNUSED( index ); } - virtual Tomahawk::result_ptr resultAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::result_ptr(); } - virtual Tomahawk::query_ptr queryAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::query_ptr(); } - virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const { Q_UNUSED( result ); Q_ASSERT( false ); return -1; } - virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const { Q_UNUSED( query ); Q_ASSERT( false ); return -1; } - virtual Tomahawk::result_ptr currentItem() const { return Tomahawk::result_ptr(); } - virtual qint64 siblingIndex( int, qint64 rootIndex = -1 ) const { Q_UNUSED( rootIndex ); return -1; } - virtual int trackCount() const { return 0; } - virtual QList< Tomahawk::query_ptr > tracks() const { return QList< Tomahawk::query_ptr >(); } - - virtual bool hasChildInterface( Tomahawk::playlistinterface_ptr other ) - { - return m_w->ui->tracksViewLeft->playlistInterface() == other || - m_w->ui->artistsViewLeft->playlistInterface() == other || - m_w->ui->albumsView->playlistInterface()->hasChildInterface( other ); - - } - -public slots: - virtual void setRepeatMode( PlaylistModes::RepeatMode mode ) - { - m_w->ui->tracksViewLeft->proxyModel()->playlistInterface()->setRepeatMode( mode ); - m_w->ui->artistsViewLeft->proxyModel()->playlistInterface()->setRepeatMode( mode ); - } - - virtual void setShuffled( bool enabled ) - { - m_w->ui->tracksViewLeft->proxyModel()->playlistInterface()->setShuffled( enabled ); - m_w->ui->artistsViewLeft->proxyModel()->playlistInterface()->setShuffled( enabled ); - } - -private slots: - void anyRepeatModeChanged( Tomahawk::PlaylistModes::RepeatMode mode ) - { - emit repeatModeChanged( mode ); - } - - void anyShuffleChanged( bool enabled ) - { - emit shuffleModeChanged( enabled ); - } - -private: - WhatsHotWidget* m_w; - -}; - -} //ns - -#endif diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget_p.h b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget_p.h deleted file mode 100644 index 43f1351de..000000000 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget_p.h +++ /dev/null @@ -1,82 +0,0 @@ -/* === This file is part of Tomahawk Player - === - * - * Copyright 2012, Leo Franchi - * - * Tomahawk is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Tomahawk is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Tomahawk. If not, see . - */ - -#ifndef ALBUMINFOWIDGET_P_H -#define ALBUMINFOWIDGET_P_H - -#include "AlbumInfoWidget.h" -#include "ui_AlbumInfoWidget.h" -#include "PlaylistInterface.h" -#include "playlist/TreeProxyModel.h" -#include "Result.h" -#include "Typedefs.h" - -#include - -class MetaAlbumInfoInterface : public Tomahawk::PlaylistInterface -{ - Q_OBJECT -public: - explicit MetaAlbumInfoInterface( AlbumInfoWidget* w ) - : PlaylistInterface() - , m_w( w ) - { - connect( m_w->ui->tracks->proxyModel()->playlistInterface().data(), SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ), - SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ) ); - - connect( m_w->ui->tracks->proxyModel()->playlistInterface().data(), SIGNAL( shuffleModeChanged( bool ) ), - SIGNAL( shuffleModeChanged( bool ) ) ); - } - virtual ~MetaAlbumInfoInterface() {} - - virtual Tomahawk::PlaylistModes::RepeatMode repeatMode() const { return m_w->ui->tracks->proxyModel()->playlistInterface()->repeatMode(); } - virtual bool shuffled() const { return m_w->ui->tracks->proxyModel()->playlistInterface()->shuffled(); } - - virtual void setCurrentIndex( qint64 index ) { Q_UNUSED( index ); } - virtual Tomahawk::result_ptr resultAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::result_ptr(); } - virtual Tomahawk::query_ptr queryAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::query_ptr(); } - virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const { Q_UNUSED( result ); Q_ASSERT( false ); return -1; } - virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const { Q_UNUSED( query ); Q_ASSERT( false ); return -1; } - virtual Tomahawk::result_ptr currentItem() const { return m_w->ui->tracks->proxyModel()->playlistInterface()->currentItem(); } - virtual qint64 siblingIndex( int itemsAway, qint64 rootIndex = -1 ) const { return m_w->ui->tracks->proxyModel()->playlistInterface()->siblingIndex( itemsAway, rootIndex ); } - virtual int trackCount() const { return m_w->ui->tracks->proxyModel()->playlistInterface()->trackCount(); } - virtual QList< Tomahawk::query_ptr > tracks() const { return m_w->ui->tracks->proxyModel()->playlistInterface()->tracks(); } - - virtual bool hasChildInterface( Tomahawk::playlistinterface_ptr other ) - { - return m_w->ui->tracks->proxyModel()->playlistInterface() == other || - m_w->ui->tracks->proxyModel()->playlistInterface()->hasChildInterface( other ) || - m_w->ui->albums->playlistInterface()->hasChildInterface( other ); - } - - virtual void setRepeatMode( Tomahawk::PlaylistModes::RepeatMode mode ) - { - m_w->ui->tracks->proxyModel()->playlistInterface()->setRepeatMode( mode ); - } - - virtual void setShuffled( bool enabled ) - { - m_w->ui->tracks->proxyModel()->playlistInterface()->setShuffled( enabled ); - } - -private: - AlbumInfoWidget* m_w; - -}; - -#endif diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget_p.h b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget_p.h deleted file mode 100644 index 36752c9c5..000000000 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget_p.h +++ /dev/null @@ -1,113 +0,0 @@ -/* === This file is part of Tomahawk Player - === - * - * Copyright 2011, Leo Franchi - * Copyright 2011-2012, Jeff Mitchell - * - * Tomahawk is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Tomahawk is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Tomahawk. If not, see . - */ - -#ifndef ARTISTINFOWIDGET_P_H -#define ARTISTINFOWIDGET_P_H - -#include "ArtistInfoWidget.h" -#include "ui_ArtistInfoWidget.h" -#include "PlaylistInterface.h" -#include "playlist/TreeProxyModel.h" -#include "Result.h" -#include "Typedefs.h" - -#include - -class MetaArtistInfoInterface : public Tomahawk::PlaylistInterface -{ - Q_OBJECT -public: - explicit MetaArtistInfoInterface( ArtistInfoWidget* w ) - : PlaylistInterface() - , m_w( w ) - { - connect( m_w->ui->albums->proxyModel()->playlistInterface().data(), SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ), - SLOT( anyRepeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ) ); - connect( m_w->ui->relatedArtists->proxyModel()->playlistInterface().data(), SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ), - SLOT( anyRepeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ) ); - connect( m_w->ui->topHits->proxyModel()->playlistInterface().data(), SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ), - SLOT( anyRepeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ) ); - - connect( m_w->ui->albums->proxyModel()->playlistInterface().data(), SIGNAL( shuffleModeChanged( bool ) ), - SLOT( anyShuffleChanged( bool ) ) ); - connect( m_w->ui->relatedArtists->proxyModel()->playlistInterface().data(), SIGNAL( shuffleModeChanged( bool ) ), - SLOT( anyShuffleChanged( bool ) ) ); - connect( m_w->ui->topHits->proxyModel()->playlistInterface().data(), SIGNAL( shuffleModeChanged( bool ) ), - SLOT( anyShuffleChanged( bool ) ) ); - } - virtual ~MetaArtistInfoInterface() {} - - // Any one is fine, we keep them all synched - virtual Tomahawk::PlaylistModes::RepeatMode repeatMode() const { return m_w->ui->albums->proxyModel()->playlistInterface()->repeatMode(); } - - virtual bool shuffled() const { return m_w->ui->albums->proxyModel()->playlistInterface()->shuffled(); } - - // Do nothing - virtual void setCurrentIndex( qint64 index ) { Q_UNUSED( index ); } - virtual Tomahawk::result_ptr resultAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::result_ptr(); } - virtual Tomahawk::query_ptr queryAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::query_ptr(); } - virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const { Q_UNUSED( result ); Q_ASSERT( false ); return -1; } - virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const { Q_UNUSED( query ); Q_ASSERT( false ); return -1; } - virtual Tomahawk::result_ptr currentItem() const { return Tomahawk::result_ptr(); } - virtual qint64 siblingIndex( int itemsAway, qint64 rootIndex = -1 ) const { Q_UNUSED( itemsAway ); Q_UNUSED( rootIndex ); return -1; } - virtual int trackCount() const { return 0; } - virtual QList< Tomahawk::query_ptr > tracks() const { return QList< Tomahawk::query_ptr >(); } - virtual int unfilteredTrackCount() const { return 0; } - - virtual bool hasChildInterface( Tomahawk::playlistinterface_ptr other ) - { - return ( m_w->ui->albums->playlistInterface() == other ) || - ( m_w->ui->relatedArtists->playlistInterface() == other ) || - ( m_w->ui->topHits->playlistInterface() == other ) || - ( m_w->ui->albums->playlistInterface()->hasChildInterface( other ) ) || - ( m_w->ui->relatedArtists->playlistInterface()->hasChildInterface( other ) ); - } - -public slots: - virtual void setRepeatMode( Tomahawk::PlaylistModes::RepeatMode mode ) - { - m_w->ui->albums->proxyModel()->playlistInterface()->setRepeatMode( mode ); - m_w->ui->relatedArtists->proxyModel()->playlistInterface()->setRepeatMode( mode ); - m_w->ui->topHits->proxyModel()->playlistInterface()->setRepeatMode( mode ); - } - - virtual void setShuffled( bool enabled ) - { - m_w->ui->albums->proxyModel()->playlistInterface()->setShuffled( enabled ); - m_w->ui->relatedArtists->proxyModel()->playlistInterface()->setShuffled( enabled ); - m_w->ui->topHits->proxyModel()->playlistInterface()->setShuffled( enabled ); - } - -private slots: - void anyRepeatModeChanged( Tomahawk::PlaylistModes::RepeatMode mode ) - { - emit repeatModeChanged( mode ); - } - - void anyShuffleChanged( bool enabled ) - { - emit shuffleModeChanged( enabled ); - } - -private: - ArtistInfoWidget* m_w; - -}; - -#endif From 0d0b6fb2445df90e68f3176434222f0907f4ae57 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 11:07:11 +0100 Subject: [PATCH 150/332] * Added MetaPlaylistInterface, an interface that manages child interfaces. --- src/libtomahawk/CMakeLists.txt | 1 + src/libtomahawk/MetaPlaylistInterface.cpp | 181 ++++++++++++++++++++++ src/libtomahawk/MetaPlaylistInterface.h | 66 ++++++++ 3 files changed, 248 insertions(+) create mode 100644 src/libtomahawk/MetaPlaylistInterface.cpp create mode 100644 src/libtomahawk/MetaPlaylistInterface.h diff --git a/src/libtomahawk/CMakeLists.txt b/src/libtomahawk/CMakeLists.txt index 7db019b14..cfd5b83d4 100644 --- a/src/libtomahawk/CMakeLists.txt +++ b/src/libtomahawk/CMakeLists.txt @@ -184,6 +184,7 @@ set( libSources FuncTimeout.cpp Playlist.cpp PlaylistPlaylistInterface.cpp + MetaPlaylistInterface.cpp Resolver.cpp ExternalResolver.cpp Query.cpp diff --git a/src/libtomahawk/MetaPlaylistInterface.cpp b/src/libtomahawk/MetaPlaylistInterface.cpp new file mode 100644 index 000000000..98dc5626e --- /dev/null +++ b/src/libtomahawk/MetaPlaylistInterface.cpp @@ -0,0 +1,181 @@ +/* === This file is part of Tomahawk Player - === + * + * Copyright 2012, Christian Muehlhaeuser + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see . + */ + +#include "MetaPlaylistInterface.h" +#include "Result.h" +#include "Pipeline.h" +#include "Source.h" +#include "utils/Logger.h" + +using namespace Tomahawk; + + +MetaPlaylistInterface::MetaPlaylistInterface() + : Tomahawk::PlaylistInterface() +{ +} + + +MetaPlaylistInterface::~MetaPlaylistInterface() +{ +} + + +void +MetaPlaylistInterface::addChildInterface( const Tomahawk::playlistinterface_ptr& interface ) +{ + m_childInterfaces << interface; + + if ( m_childInterfaces.count() == 1 ) + { + connect( interface.data(), SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ), + SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ) ); + + connect( interface.data(), SIGNAL( shuffleModeChanged( bool ) ), + SIGNAL( shuffleModeChanged( bool ) ) ); + } +} + + +QList< Tomahawk::query_ptr > +MetaPlaylistInterface::tracks() const +{ + if ( m_childInterfaces.count() ) + return m_childInterfaces.first()->tracks(); + else + return QList< Tomahawk::query_ptr >(); +} + + +int +MetaPlaylistInterface::trackCount() const +{ + if ( m_childInterfaces.count() ) + return m_childInterfaces.first()->trackCount(); + else + return 0; +} + + +result_ptr +MetaPlaylistInterface::currentItem() const +{ + if ( m_childInterfaces.count() ) + return m_childInterfaces.first()->currentItem(); + else + return Tomahawk::result_ptr(); +} + + +qint64 +MetaPlaylistInterface::siblingIndex( int itemsAway, qint64 rootIndex ) const +{ + if ( m_childInterfaces.count() ) + return m_childInterfaces.first()->siblingIndex( itemsAway, rootIndex ); + else + return -1; +} + + +Tomahawk::query_ptr +MetaPlaylistInterface::queryAt( qint64 index ) const +{ + if ( m_childInterfaces.count() ) + return m_childInterfaces.first()->queryAt( index ); + else + return Tomahawk::query_ptr(); +} + + +Tomahawk::result_ptr +MetaPlaylistInterface::resultAt( qint64 index ) const +{ + if ( m_childInterfaces.count() ) + return m_childInterfaces.first()->resultAt( index ); + else + return Tomahawk::result_ptr(); +} + + +qint64 +MetaPlaylistInterface::indexOfResult( const Tomahawk::result_ptr& result ) const +{ + if ( m_childInterfaces.count() ) + return m_childInterfaces.first()->indexOfResult( result ); + else + return -1; +} + + +qint64 +MetaPlaylistInterface::indexOfQuery( const Tomahawk::query_ptr& query ) const +{ + if ( m_childInterfaces.count() ) + return m_childInterfaces.first()->indexOfQuery( query ); + else + return -1; +} + + +PlaylistModes::RepeatMode +MetaPlaylistInterface::repeatMode() const +{ + if ( m_childInterfaces.count() ) + return m_childInterfaces.first()->repeatMode(); + else + return PlaylistModes::NoRepeat; +} + + +bool +MetaPlaylistInterface::shuffled() const +{ + if ( m_childInterfaces.count() ) + return m_childInterfaces.first()->shuffled(); + else + return false; +} + + +bool +MetaPlaylistInterface::hasChildInterface( const Tomahawk::playlistinterface_ptr& interface ) +{ + foreach ( const Tomahawk::playlistinterface_ptr& iface, m_childInterfaces ) + { + if ( iface == interface || iface->hasChildInterface( interface ) ) + return true; + } + + return false; +} + + +void +MetaPlaylistInterface::setRepeatMode( PlaylistModes::RepeatMode mode ) +{ + if ( m_childInterfaces.count() ) + return m_childInterfaces.first()->setRepeatMode( mode ); +} + + +void +MetaPlaylistInterface::setShuffled( bool enabled ) +{ + if ( m_childInterfaces.count() ) + return m_childInterfaces.first()->setShuffled( enabled ); +} diff --git a/src/libtomahawk/MetaPlaylistInterface.h b/src/libtomahawk/MetaPlaylistInterface.h new file mode 100644 index 000000000..cf7bb9030 --- /dev/null +++ b/src/libtomahawk/MetaPlaylistInterface.h @@ -0,0 +1,66 @@ +/* === This file is part of Tomahawk Player - === + * + * Copyright 2012, Christian Muehlhaeuser + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see . + */ + +#ifndef METAPLAYLISTINTERFACE_H +#define METAPLAYLISTINTERFACE_H + +#include + +#include "PlaylistInterface.h" +#include "playlist/PlayableItem.h" +#include "Typedefs.h" +#include "DllMacro.h" + +namespace Tomahawk +{ + +class DLLEXPORT MetaPlaylistInterface : public PlaylistInterface +{ +Q_OBJECT + +public: + explicit MetaPlaylistInterface(); + virtual ~MetaPlaylistInterface(); + + void addChildInterface( const Tomahawk::playlistinterface_ptr& interface ); + + virtual QList< Tomahawk::query_ptr > tracks() const; + virtual int trackCount() const; + virtual Tomahawk::result_ptr currentItem() const; + virtual qint64 siblingIndex( int itemsAway, qint64 rootIndex = -1 ) const; + virtual Tomahawk::result_ptr resultAt( qint64 index ) const; + virtual Tomahawk::query_ptr queryAt( qint64 index ) const; + virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const; + virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const; + + virtual PlaylistModes::RepeatMode repeatMode() const; + virtual bool shuffled() const; + + virtual bool hasChildInterface( const Tomahawk::playlistinterface_ptr& interface ); + +public slots: + virtual void setRepeatMode( PlaylistModes::RepeatMode mode ); + virtual void setShuffled( bool enabled ); + +private: + QList< Tomahawk::playlistinterface_ptr > m_childInterfaces; +}; + +} + +#endif // METAPLAYLISTINTERFACE_H From a6accd5cf878086c642af20c57174f1d277590c7 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 11:08:05 +0100 Subject: [PATCH 151/332] * Added missing includes. --- src/libtomahawk/EchonestCatalogSynchronizer.cpp | 7 ++++--- .../database/DatabaseCommand_SetTrackAttributes.cpp | 1 + src/libtomahawk/filemetadata/MetadataEditor.cpp | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/libtomahawk/EchonestCatalogSynchronizer.cpp b/src/libtomahawk/EchonestCatalogSynchronizer.cpp index cc7fcf1a3..45f4c7657 100644 --- a/src/libtomahawk/EchonestCatalogSynchronizer.cpp +++ b/src/libtomahawk/EchonestCatalogSynchronizer.cpp @@ -18,6 +18,9 @@ #include "EchonestCatalogSynchronizer.h" +#include +#include + #include "Collection.h" #include "database/Database.h" #include "database/DatabaseImpl.h" @@ -27,9 +30,7 @@ #include "TomahawkSettings.h" #include "SourceList.h" #include "Query.h" - -#include -#include +#include "utils/Logger.h" using namespace Tomahawk; diff --git a/src/libtomahawk/database/DatabaseCommand_SetTrackAttributes.cpp b/src/libtomahawk/database/DatabaseCommand_SetTrackAttributes.cpp index d952c0372..916adc168 100644 --- a/src/libtomahawk/database/DatabaseCommand_SetTrackAttributes.cpp +++ b/src/libtomahawk/database/DatabaseCommand_SetTrackAttributes.cpp @@ -20,6 +20,7 @@ #include "TomahawkSqlQuery.h" #include "DatabaseImpl.h" #include "Source.h" +#include "utils/Logger.h" using namespace Tomahawk; diff --git a/src/libtomahawk/filemetadata/MetadataEditor.cpp b/src/libtomahawk/filemetadata/MetadataEditor.cpp index b5be4a8bc..da463e4e4 100644 --- a/src/libtomahawk/filemetadata/MetadataEditor.cpp +++ b/src/libtomahawk/filemetadata/MetadataEditor.cpp @@ -38,6 +38,7 @@ #include "filemetadata/taghandlers/tag.h" #include "utils/TomahawkUtils.h" #include "utils/Closure.h" +#include "utils/Logger.h" MetadataEditor::MetadataEditor( const Tomahawk::query_ptr& query, const Tomahawk::playlistinterface_ptr& interface, QWidget* parent ) From 5c33a5e902fce497e8a6c9dc13dcfe8128154363 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 11:08:55 +0100 Subject: [PATCH 152/332] * Style fixes in PlaylistInterface. --- src/libtomahawk/PlaylistInterface.cpp | 5 +++-- src/libtomahawk/PlaylistInterface.h | 5 ++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/libtomahawk/PlaylistInterface.cpp b/src/libtomahawk/PlaylistInterface.cpp index 7b9c024ca..15a1798e9 100644 --- a/src/libtomahawk/PlaylistInterface.cpp +++ b/src/libtomahawk/PlaylistInterface.cpp @@ -1,5 +1,6 @@ /* === This file is part of Tomahawk Player - === * + * Copyright 2010-2012, Christian Muehlhaeuser * Copyright 2011, Leo Franchi * Copyright 2010-2012, Jeff Mitchell * @@ -18,15 +19,15 @@ */ #include "PlaylistInterface.h" -#include "utils/Logger.h" #include "Result.h" #include "Pipeline.h" #include "Source.h" +#include "utils/Logger.h" using namespace Tomahawk; -PlaylistInterface::PlaylistInterface () +PlaylistInterface::PlaylistInterface() : QObject() , m_latchMode( PlaylistModes::StayOnSong ) , m_finished( false ) diff --git a/src/libtomahawk/PlaylistInterface.h b/src/libtomahawk/PlaylistInterface.h index 9ec7009f9..fd52aa56f 100644 --- a/src/libtomahawk/PlaylistInterface.h +++ b/src/libtomahawk/PlaylistInterface.h @@ -1,6 +1,6 @@ /* === This file is part of Tomahawk Player - === * - * Copyright 2010-2011, Christian Muehlhaeuser + * Copyright 2010-2012, Christian Muehlhaeuser * Copyright 2010-2012, Jeff Mitchell * * Tomahawk is free software: you can redistribute it and/or modify @@ -25,7 +25,6 @@ #include "playlist/PlayableItem.h" #include "Typedefs.h" #include "DllMacro.h" -#include "utils/Logger.h" namespace Tomahawk { @@ -85,7 +84,7 @@ public: //TODO: Get rid of the next two functions once all playlsitinterfaces are factored out // Some playlist interfaces can wrap other interfaces. When checking for top-level // equality (say, to compare the currently playing interface) this might be needed - virtual bool hasChildInterface( Tomahawk::playlistinterface_ptr ) { return false; } + virtual bool hasChildInterface( const Tomahawk::playlistinterface_ptr& ) { return false; } public slots: virtual void setRepeatMode( PlaylistModes::RepeatMode mode ) = 0; From 1fb507e92d273452ec7b73d402ac205cc8b0d90a Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 11:09:14 +0100 Subject: [PATCH 153/332] * Style fix in LastFmInfoPlugin. --- src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp index 14d0a3e12..86fb827a0 100644 --- a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp +++ b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp @@ -732,10 +732,10 @@ LastFmInfoPlugin::artistInfoReturned() QString biography = lfm["artist"]["bio"]["content"].text().trimmed().replace( "User-contributed text is available under the Creative Commons By-SA License and may also be available under the GNU FDL.", "" ); biography = biography.replace( tagRegExp, "" ) - .replace( artistRegExp, "" ) - .replace( albumRegExp, "" ) - .replace( trackRegExp, "" ) - .replace( "&album=_", "" ); + .replace( artistRegExp, "" ) + .replace( albumRegExp, "" ) + .replace( trackRegExp, "" ) + .replace( "&album=_", "" ); QVariantHash siteData; siteData[ "site" ] = "last.fm"; From 68c2ea239f25fe7e7a32e9f327a61aff72b6f1ac Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 9 Dec 2012 11:09:40 +0100 Subject: [PATCH 154/332] * Use MetaPlaylistInterface in various ViewPages. --- src/libtomahawk/playlist/GridView.cpp | 32 +--------- src/libtomahawk/widgets/NewReleasesWidget.cpp | 1 - src/libtomahawk/widgets/WelcomeWidget.cpp | 58 ++----------------- src/libtomahawk/widgets/WhatsHotWidget.cpp | 11 ++-- .../widgets/infowidgets/AlbumInfoWidget.cpp | 8 ++- .../widgets/infowidgets/ArtistInfoWidget.cpp | 10 +++- 6 files changed, 25 insertions(+), 95 deletions(-) diff --git a/src/libtomahawk/playlist/GridView.cpp b/src/libtomahawk/playlist/GridView.cpp index 9c71f48ee..e8dcb5395 100644 --- a/src/libtomahawk/playlist/GridView.cpp +++ b/src/libtomahawk/playlist/GridView.cpp @@ -38,6 +38,7 @@ #include "SingleTrackPlaylistInterface.h" #include "ContextMenu.h" #include "ViewManager.h" +#include "MetaPlaylistInterface.h" #include "utils/Logger.h" #include "utils/AnimatedSpinner.h" #include "utils/TomahawkUtilsGui.h" @@ -47,37 +48,6 @@ using namespace Tomahawk; -class GridPlaylistInterface : public PlayableProxyModelPlaylistInterface -{ - Q_OBJECT -public: - explicit GridPlaylistInterface( PlayableProxyModel* proxy, GridView* view ) : PlayableProxyModelPlaylistInterface( proxy ), m_view( view ) {} - - virtual bool hasChildInterface( playlistinterface_ptr playlistInterface ) - { - if ( m_view.isNull() || !m_view.data()->m_playing.isValid() ) - { - return false; - } - - PlayableItem* item = m_view.data()->model()->itemFromIndex( m_view.data()->proxyModel()->mapToSource( m_view.data()->m_playing ) ); - if ( item ) - { - if ( !item->album().isNull() ) - return item->album()->playlistInterface( Tomahawk::Mixed ) == playlistInterface; - else if ( !item->artist().isNull() ) - return item->artist()->playlistInterface( Tomahawk::Mixed ) == playlistInterface; - else if ( !item->query().isNull() && !playlistInterface.dynamicCast< SingleTrackPlaylistInterface >().isNull() ) - return item->query() == playlistInterface.dynamicCast< SingleTrackPlaylistInterface >()->track(); - } - - return false; - } -private: - QWeakPointer m_view; -}; - - GridView::GridView( QWidget* parent ) : QListView( parent ) , m_model( 0 ) diff --git a/src/libtomahawk/widgets/NewReleasesWidget.cpp b/src/libtomahawk/widgets/NewReleasesWidget.cpp index 3b08afb30..5fd039eae 100644 --- a/src/libtomahawk/widgets/NewReleasesWidget.cpp +++ b/src/libtomahawk/widgets/NewReleasesWidget.cpp @@ -20,7 +20,6 @@ */ #include "NewReleasesWidget.h" -#include "WhatsHotWidget_p.h" #include "ui_NewReleasesWidget.h" #include "ViewManager.h" diff --git a/src/libtomahawk/widgets/WelcomeWidget.cpp b/src/libtomahawk/widgets/WelcomeWidget.cpp index 1bddda4ad..160352811 100644 --- a/src/libtomahawk/widgets/WelcomeWidget.cpp +++ b/src/libtomahawk/widgets/WelcomeWidget.cpp @@ -25,6 +25,7 @@ #include "SourceList.h" #include "TomahawkSettings.h" #include "RecentPlaylistsModel.h" +#include "MetaPlaylistInterface.h" #include "audio/AudioEngine.h" #include "playlist/AlbumModel.h" @@ -44,58 +45,6 @@ using namespace Tomahawk; -class WelcomeWidgetInterface : public Tomahawk::PlaylistInterface -{ - Q_OBJECT -public: - explicit WelcomeWidgetInterface( WelcomeWidget* w ) - : PlaylistInterface() - , m_w( w ) - { - connect( m_w->ui->tracksView->proxyModel()->playlistInterface().data(), SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ), - SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ) ); - - connect( m_w->ui->tracksView->proxyModel()->playlistInterface().data(), SIGNAL( shuffleModeChanged( bool ) ), - SIGNAL( shuffleModeChanged( bool ) ) ); - } - virtual ~WelcomeWidgetInterface() {} - - virtual void setCurrentIndex( qint64 index ) { m_w->ui->tracksView->proxyModel()->playlistInterface()->setCurrentIndex( index ); } - virtual Tomahawk::PlaylistModes::RepeatMode repeatMode() const { return m_w->ui->tracksView->proxyModel()->playlistInterface()->repeatMode(); } - virtual bool shuffled() const { return m_w->ui->tracksView->proxyModel()->playlistInterface()->shuffled(); } - - virtual Tomahawk::result_ptr resultAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::result_ptr(); } - virtual Tomahawk::query_ptr queryAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::query_ptr(); } - virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const { Q_UNUSED( result ); Q_ASSERT( false ); return -1; } - virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const { Q_UNUSED( query ); Q_ASSERT( false ); return -1; } - virtual Tomahawk::result_ptr currentItem() const { return m_w->ui->tracksView->proxyModel()->playlistInterface()->currentItem(); } - virtual qint64 siblingIndex( int itemsAway, qint64 rootIndex = -1 ) const { return m_w->ui->tracksView->proxyModel()->playlistInterface()->siblingIndex( itemsAway, rootIndex ); } - virtual int trackCount() const { return m_w->ui->tracksView->proxyModel()->playlistInterface()->trackCount(); } - virtual QList< Tomahawk::query_ptr > tracks() const { return m_w->ui->tracksView->proxyModel()->playlistInterface()->tracks(); } - - virtual bool hasChildInterface( Tomahawk::playlistinterface_ptr other ) - { - return m_w->ui->tracksView->proxyModel()->playlistInterface() == other || - m_w->ui->tracksView->proxyModel()->playlistInterface()->hasChildInterface( other ) || - m_w->ui->additionsView->playlistInterface()->hasChildInterface( other ); - } - - virtual void setRepeatMode( Tomahawk::PlaylistModes::RepeatMode mode ) - { - m_w->ui->tracksView->proxyModel()->playlistInterface()->setRepeatMode( mode ); - } - - virtual void setShuffled( bool enabled ) - { - m_w->ui->tracksView->proxyModel()->playlistInterface()->setShuffled( enabled ); - } - -private: - WelcomeWidget* m_w; - -}; - - WelcomeWidget::WelcomeWidget( QWidget* parent ) : QWidget( parent ) , ui( new Ui::WelcomeWidget ) @@ -139,7 +88,10 @@ WelcomeWidget::WelcomeWidget( QWidget* parent ) ui->additionsView->setPlayableModel( m_recentAlbumsModel ); ui->additionsView->proxyModel()->sort( -1 ); - m_playlistInterface = playlistinterface_ptr( new WelcomeWidgetInterface( this ) ); + MetaPlaylistInterface* mpl = new MetaPlaylistInterface(); + mpl->addChildInterface( ui->tracksView->playlistInterface() ); + mpl->addChildInterface( ui->additionsView->playlistInterface() ); + m_playlistInterface = playlistinterface_ptr( mpl ); connect( SourceList::instance(), SIGNAL( ready() ), SLOT( onSourcesReady() ) ); connect( SourceList::instance(), SIGNAL( sourceAdded( Tomahawk::source_ptr ) ), SLOT( onSourceAdded( Tomahawk::source_ptr ) ) ); diff --git a/src/libtomahawk/widgets/WhatsHotWidget.cpp b/src/libtomahawk/widgets/WhatsHotWidget.cpp index fd04356ce..9e4347c85 100644 --- a/src/libtomahawk/widgets/WhatsHotWidget.cpp +++ b/src/libtomahawk/widgets/WhatsHotWidget.cpp @@ -20,15 +20,14 @@ */ #include "WhatsHotWidget.h" -#include "WhatsHotWidget_p.h" #include "ui_WhatsHotWidget.h" - #include "ViewManager.h" #include "SourceList.h" #include "TomahawkSettings.h" #include "RecentPlaylistsModel.h" #include "ChartDataLoader.h" +#include "MetaPlaylistInterface.h" #include "audio/AudioEngine.h" #include "playlist/dynamic/GeneratorInterface.h" @@ -91,12 +90,9 @@ WhatsHotWidget::WhatsHotWidget( QWidget* parent ) artistsProxy->setDynamicSortFilter( true ); ui->artistsViewLeft->setProxyModel( artistsProxy ); - ui->artistsViewLeft->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); ui->artistsViewLeft->header()->setVisible( true ); - m_playlistInterface = Tomahawk::playlistinterface_ptr( new ChartsPlaylistInterface( this ) ); - m_workerThread = new QThread( this ); m_workerThread->start(); @@ -115,6 +111,11 @@ WhatsHotWidget::WhatsHotWidget( QWidget* parent ) m_loadingSpinner = new AnimatedSpinner( ui->tracksViewLeft ); m_loadingSpinner->fadeIn(); + MetaPlaylistInterface* mpl = new MetaPlaylistInterface(); + mpl->addChildInterface( ui->tracksViewLeft->playlistInterface() ); + mpl->addChildInterface( ui->artistsViewLeft->playlistInterface() ); + mpl->addChildInterface( ui->albumsView->playlistInterface() ); + m_playlistInterface = playlistinterface_ptr( mpl ); } diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp index adbedda73..aaa889a2a 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp @@ -20,7 +20,6 @@ #include "AlbumInfoWidget.h" #include "ui_AlbumInfoWidget.h" -#include "AlbumInfoWidget_p.h" #include "audio/AudioEngine.h" #include "ViewManager.h" @@ -29,6 +28,7 @@ #include "playlist/PlayableModel.h" #include "playlist/GridItemDelegate.h" #include "Source.h" +#include "MetaPlaylistInterface.h" #include "database/DatabaseCommand_AllTracks.h" #include "database/DatabaseCommand_AllAlbums.h" @@ -134,7 +134,11 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par "border-image: url(" RESPATH "images/scrollbar-vertical-handle.png) 3 3 3 3 stretch stretch;" "border-top: 3px transparent; border-bottom: 3px transparent; border-right: 3px transparent; border-left: 3px transparent; }" ); - m_playlistInterface = playlistinterface_ptr( new MetaAlbumInfoInterface( this ) ); + MetaPlaylistInterface* mpl = new MetaPlaylistInterface(); + mpl->addChildInterface( ui->tracks->playlistInterface() ); + mpl->addChildInterface( ui->albums->playlistInterface() ); + m_playlistInterface = playlistinterface_ptr( mpl ); + load( album ); connect( ui->artistLabel, SIGNAL( clickedArtist() ), SLOT( onArtistClicked() ) ); diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp index 5f511a23d..f2796109b 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp @@ -18,7 +18,6 @@ */ #include "ArtistInfoWidget.h" -#include "ArtistInfoWidget_p.h" #include "ui_ArtistInfoWidget.h" #include @@ -35,6 +34,7 @@ #include "Source.h" #include "GlobalActionManager.h" #include "Pipeline.h" +#include "MetaPlaylistInterface.h" #include "utils/StyleHelper.h" #include "utils/TomahawkUtilsGui.h" #include "utils/Logger.h" @@ -56,8 +56,6 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* widget->setPalette( pal ); widget->setAutoFillBackground( true ); - m_plInterface = Tomahawk::playlistinterface_ptr( new MetaArtistInfoInterface( this ) ); - /* TomahawkUtils::unmarginLayout( ui->layoutWidget->layout() ); TomahawkUtils::unmarginLayout( ui->layoutWidget1->layout() ); TomahawkUtils::unmarginLayout( ui->layoutWidget2->layout() ); @@ -163,6 +161,12 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* connect( ui->biography, SIGNAL( anchorClicked( QUrl ) ), SLOT( onBiographyLinkClicked( QUrl ) ) ); + MetaPlaylistInterface* mpl = new MetaPlaylistInterface(); + mpl->addChildInterface( ui->relatedArtists->playlistInterface() ); + mpl->addChildInterface( ui->topHits->playlistInterface() ); + mpl->addChildInterface( ui->albums->playlistInterface() ); + m_plInterface = playlistinterface_ptr( mpl ); + load( artist ); } From 2e6a6b77ef701c39728919bdaca1a07c0977c9bd Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Sun, 9 Dec 2012 14:55:38 +0100 Subject: [PATCH 155/332] Show JavaScript-error-popups for Tomahawk debug builds instead of Qt debug builds --- src/libtomahawk/resolvers/QtScriptResolver.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libtomahawk/resolvers/QtScriptResolver.cpp b/src/libtomahawk/resolvers/QtScriptResolver.cpp index 5923a08fe..2c727d5af 100644 --- a/src/libtomahawk/resolvers/QtScriptResolver.cpp +++ b/src/libtomahawk/resolvers/QtScriptResolver.cpp @@ -38,6 +38,8 @@ #include "utils/TomahawkUtilsGui.h" #include "utils/Logger.h" +#include "config.h" + // FIXME: bloody hack, remove this for 0.3 // this one adds new functionality to old resolvers #define RESOLVER_LEGACY_CODE "var resolver = Tomahawk.resolver.instance ? Tomahawk.resolver.instance : TomahawkResolver;" @@ -212,7 +214,7 @@ void ScriptEngine::javaScriptConsoleMessage( const QString& message, int lineNumber, const QString& sourceID ) { tLog() << "JAVASCRIPT:" << m_scriptPath << message << lineNumber << sourceID; -#ifndef QT_NO_DEBUG +#ifndef DEBUG_BUILD QMessageBox::critical( 0, "Script Resolver Error", QString( "%1 %2 %3 %4" ).arg( m_scriptPath ).arg( message ).arg( lineNumber ).arg( sourceID ) ); #endif } From 3dca82652ed748c5e752e3cfd13c07d57cfb5b8d Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sun, 9 Dec 2012 09:02:50 -0500 Subject: [PATCH 156/332] Improve share icon --- data/images/share.svg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/images/share.svg b/data/images/share.svg index b6aa87471..d955ca1a8 100644 --- a/data/images/share.svg +++ b/data/images/share.svg @@ -1,9 +1,9 @@ - + share Created with Sketch (http://www.bohemiancoding.com/sketch) - + \ No newline at end of file From 8f2a1e8977c6f1c9bb2a2470fba59b1556d4c0f0 Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Mon, 10 Dec 2012 01:17:29 +0100 Subject: [PATCH 157/332] Automatic merge of Transifex translations --- lang/tomahawk_ar.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_bg.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_ca.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_de.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_el.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_es.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_fr.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_gl.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_hu.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_it.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_ja.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_pt_BR.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_tr.ts | 40 +++++++++++++++++++++------------------- 13 files changed, 273 insertions(+), 247 deletions(-) diff --git a/lang/tomahawk_ar.ts b/lang/tomahawk_ar.ts index 30f49a967..82fd2bc5b 100644 --- a/lang/tomahawk_ar.ts +++ b/lang/tomahawk_ar.ts @@ -296,7 +296,7 @@ connect and stream from you? نعتذر، لم نستطيع إيجاد أغاني أخرى لهذا الألبوم! - + Other Albums by %1 ألبومات أخرى ل%1 @@ -323,42 +323,44 @@ connect and stream from you? استمارة - + Top Hits الأكثر شهرة - + Related Artists الفنانين ذات الذوق القريب - + + Artist فنان - + Albums ألبومات - + + Cover غلاف - + Sorry, we could not find any albums for this artist! نعتذر, لم نستطيع إيجاد ألبومات أخرى لهذا الفنان! - + Sorry, we could not find any related artists! نعتذر، لم نستطيع إيجاد فنانين! - + Sorry, we could not find any top hits for this artist! نعتذر، لم نستطيع إيجاد أغاني مشهورة جدا لهذا الفنان! @@ -758,12 +760,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1046,7 +1048,7 @@ connect and stream from you? تقدم - + Properties @@ -3064,27 +3066,27 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks أفضل الأغاني - + Loved Tracks الأغاني المحبوبة - + Hyped Tracks فقت الأغاني - + Top Artists أفضل الفنانين - + Hyped Artists فقت الفنانين @@ -3946,12 +3948,12 @@ You can re-send a sync message at any time simply by sending another tweet using الأغاني التي إستمعت إليها مؤخرا - + Recently played tracks الأغاني التي إستمعت إليها مؤخرا - + No recently created playlists in your network. لا قوائم أغاني جديدة أنشئت مؤخرا على شبكتك. diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index d8dec80cc..4a0c6d0df 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -295,7 +295,7 @@ connect and stream from you? Съжалявам, но не откривам нито една песен за този артист! - + Other Albums by %1 Други албуми от %1 @@ -322,42 +322,44 @@ connect and stream from you? - + Top Hits Най-известни изпълнения - + Related Artists Изпълнители с подобно звучене - + + Artist Изпълнител - + Albums Албуми - + + Cover Обложка - + Sorry, we could not find any albums for this artist! Съжалявам, но не откривам нито един албум за този артист! - + Sorry, we could not find any related artists! Съжалявам, но не откривам нито един подобен на този артист! - + Sorry, we could not find any top hits for this artist! Съжалявам, но не откривам нито една хитова песен на този артист! @@ -761,12 +763,12 @@ Tomahaw създаде доклад относно това и изпращай FlexibleView - + This playlist is currently empty. Този списък е празен, в момента. - + This playlist is currently empty. Add some tracks to it and enjoy the music! Този списък е празен в моментът. Добави няколко песни и се наслади на музиката. @@ -1049,7 +1051,7 @@ Tomahaw създаде доклад относно това и изпращай Напред - + Properties Настройки @@ -3077,27 +3079,27 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks Най-слушани песни - + Loved Tracks Харесани песни - + Hyped Tracks Песни, изпъкващи сред останалите - + Top Artists Най-слушани артисти - + Hyped Artists Изпълнители, изпъкващи сред останалите @@ -3964,12 +3966,12 @@ You can re-send a sync message at any time simply by sending another tweet using Наскоро изпълнени - + Recently played tracks Наскоро изпълнени - + No recently created playlists in your network. Не откривам наскоро създадени списъци в твоята мрежа diff --git a/lang/tomahawk_ca.ts b/lang/tomahawk_ca.ts index ecc1ccf2d..f40ba431f 100644 --- a/lang/tomahawk_ca.ts +++ b/lang/tomahawk_ca.ts @@ -295,7 +295,7 @@ connect and stream from you? - + Other Albums by %1 Altres Àlbums de %1 @@ -322,42 +322,44 @@ connect and stream from you? Formulari - + Top Hits Grans Èxits - + Related Artists Artistes Relacionats - + + Artist Artista - + Albums Àlbums - + + Cover Caràtula - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! @@ -757,12 +759,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1045,7 +1047,7 @@ connect and stream from you? - + Properties @@ -3062,27 +3064,27 @@ Intenteu ajustar els filtres per reproduir noves cançons.
Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks Top Cançons Musicals - + Loved Tracks Cançons Preferides - + Hyped Tracks Cançons en alça - + Top Artists Top Artistes - + Hyped Artists Artistes en alça @@ -3944,12 +3946,12 @@ Podeu reenviar un missatge de sincronisme en qualsevol moment simplement enviant Cançons Escoltades Recentment - + Recently played tracks - + No recently created playlists in your network. No hi ha cançons escoltades recentment a la xarxa. diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index ef2fc811a..055bf9f77 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -296,7 +296,7 @@ erlauben sich mit dir zu verbinden?
Sorry, wir konnten keine anderen Lieder für dieses Album finden! - + Other Albums by %1 Andere Alben von %1 @@ -323,42 +323,44 @@ erlauben sich mit dir zu verbinden? Form - + Top Hits Top Hits - + Related Artists Ähnliche Künstler - + + Artist Künstler - + Albums Alben - + + Cover Cover - + Sorry, we could not find any albums for this artist! Sorry, wir konnten keine Alben für diesen Künstler finden! - + Sorry, we could not find any related artists! Sorry, wir konnten keine ähnlichen Künstler finden! - + Sorry, we could not find any top hits for this artist! Sorry, wir konnten keine Lieder für diesen Künstler finden! @@ -758,12 +760,12 @@ erlauben sich mit dir zu verbinden? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1046,7 +1048,7 @@ erlauben sich mit dir zu verbinden? Vorwärts - + Properties @@ -3061,27 +3063,27 @@ Versuch die Filter anzupassen für neue Lieder. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks Meistgeh - + Loved Tracks Lieblingslieder - + Hyped Tracks Gehypte Lieder - + Top Artists Lieblingskünstler - + Hyped Artists Gehypte Künstler @@ -3938,12 +3940,12 @@ You can re-send a sync message at any time simply by sending another tweet using Kürzlich gehörte Lieder - + Recently played tracks - + No recently created playlists in your network. Es gibt keine kürzlich erstellten Playlisten in deinem Netzwerk. diff --git a/lang/tomahawk_el.ts b/lang/tomahawk_el.ts index 9088a0098..6bf4f46e0 100644 --- a/lang/tomahawk_el.ts +++ b/lang/tomahawk_el.ts @@ -295,7 +295,7 @@ connect and stream from you? - + Other Albums by %1 Άλλα Άλμπουμ από %1 @@ -322,42 +322,44 @@ connect and stream from you? Φόρμα - + Top Hits - + Related Artists Παρόμοιοι Καλλιτέχνες - + + Artist Καλλιτέχνης - + Albums Άλμπουμ - + + Cover - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! @@ -757,12 +759,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1045,7 +1047,7 @@ connect and stream from you? Μπροστά - + Properties @@ -3062,27 +3064,27 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks Κορυφαία Κομμάτια - + Loved Tracks Αγαπημένα Κομμάτια - + Hyped Tracks - + Top Artists Κορυφαίοι Καλλιτέχνες - + Hyped Artists @@ -3938,12 +3940,12 @@ You can re-send a sync message at any time simply by sending another tweet using Τελευταίες Αναπαραγωγές Κομματιών - + Recently played tracks Τελευταίες αναπαραγωγές κομματιών - + No recently created playlists in your network. diff --git a/lang/tomahawk_es.ts b/lang/tomahawk_es.ts index 1d8823e7e..aca921672 100644 --- a/lang/tomahawk_es.ts +++ b/lang/tomahawk_es.ts @@ -295,7 +295,7 @@ connect and stream from you? - + Other Albums by %1 Otros álbumes por %1 @@ -322,42 +322,44 @@ connect and stream from you? Formulario - + Top Hits Grandes éxitos - + Related Artists Artistas relacionados - + + Artist - + Albums Álbumes - + + Cover - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! @@ -757,12 +759,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1045,7 +1047,7 @@ connect and stream from you? - + Properties @@ -3061,27 +3063,27 @@ Intente ajustar los filtros para reproducir nuevas canciones. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks Temas más escuchados - + Loved Tracks Temas Favoritos - + Hyped Tracks Temas a la alza - + Top Artists Artistas más escuchados - + Hyped Artists Artistas a la alza @@ -3943,12 +3945,12 @@ Puede reenviar el mensaje de sincronización en cualquier momento simplemente en Pistas reproducidas recientemente - + Recently played tracks - + No recently created playlists in your network. No hay listas de reproducción recientemente creadas en su red. diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index b0d284fd7..d5ab540a4 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -296,7 +296,7 @@ de se connecter et streamer de vous? Désolé, nous n'avons pu trouver aucune piste pour cet album ! - + Other Albums by %1 Autres albums de %1 @@ -323,42 +323,44 @@ de se connecter et streamer de vous? Form - + Top Hits Top Hits - + Related Artists Artistes similaires - + + Artist Artiste - + Albums Albums - + + Cover Pochette - + Sorry, we could not find any albums for this artist! Désolé, on a pas pu trouver aucun album pour cet artiste! - + Sorry, we could not find any related artists! Désolé, on a rien trouvé par rapport a cet artite! - + Sorry, we could not find any top hits for this artist! Désolé, on a pas pu trouver aucun top hit pour cet artiste! @@ -758,12 +760,12 @@ de se connecter et streamer de vous? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1046,7 +1048,7 @@ de se connecter et streamer de vous? Avancer - + Properties @@ -3063,27 +3065,27 @@ Essayez de changer les filtres pour avoir de nouveaux morceaux à jouer. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks Top des titres - + Loved Tracks Titres favoris - + Hyped Tracks Titres Hype - + Top Artists Top Artistes - + Hyped Artists Artistes Hype @@ -3945,12 +3947,12 @@ Vous pouvez envoyer un message de synchronisation quand vous le souhaitez en env Joués récemment - + Recently played tracks Dernières titres joués - + No recently created playlists in your network. Pas de liste de lecture créée récemment sur votre réseau. diff --git a/lang/tomahawk_gl.ts b/lang/tomahawk_gl.ts index d83744941..def578c85 100644 --- a/lang/tomahawk_gl.ts +++ b/lang/tomahawk_gl.ts @@ -295,7 +295,7 @@ connect and stream from you? Non se puido atopar ningunha outra pista para este álbum! - + Other Albums by %1 Outros álbums de %1 @@ -322,42 +322,44 @@ connect and stream from you? Formulario - + Top Hits Maiores éxitos - + Related Artists Artistas relacionados - + + Artist Artista - + Albums Álbums - + + Cover Portada - + Sorry, we could not find any albums for this artist! Non se atopou ningún álbum para este artista! - + Sorry, we could not find any related artists! Non se atopou ningún artista relacionado! - + Sorry, we could not find any top hits for this artist! Non se atopou ningún éxito deste artista! @@ -757,12 +759,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. Esta lista de reprodución está baleira. - + This playlist is currently empty. Add some tracks to it and enjoy the music! Esta lista de reprodución está baleira. Engádelle algunhas pistas para desfrutar da música! @@ -1045,7 +1047,7 @@ connect and stream from you? Adiante - + Properties Propiedades @@ -3064,27 +3066,27 @@ Proba a trocar os filtros para ter outra lista música para escoitar. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks As mellores pistas - + Loved Tracks Pistas favoritas - + Hyped Tracks Pistas en auxe - + Top Artists Os mellores artistas - + Hyped Artists Artistas en auxe @@ -3941,12 +3943,12 @@ You can re-send a sync message at any time simply by sending another tweet using Pistas recentemente reproducidas - + Recently played tracks Pistas recentemente reproducidas - + No recently created playlists in your network. diff --git a/lang/tomahawk_hu.ts b/lang/tomahawk_hu.ts index 6b800dcf5..c788142fd 100644 --- a/lang/tomahawk_hu.ts +++ b/lang/tomahawk_hu.ts @@ -295,7 +295,7 @@ connect and stream from you? - + Other Albums by %1 @@ -322,42 +322,44 @@ connect and stream from you? - + Top Hits Top Hits - + Related Artists Kapcsolódó előadók - + + Artist - + Albums Albumok - + + Cover Borító - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! @@ -757,12 +759,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1045,7 +1047,7 @@ connect and stream from you? Előre - + Properties Tulajdonságok @@ -3054,27 +3056,27 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks Top zeneszámok - + Loved Tracks Kedvelt zeneszámok - + Hyped Tracks - + Top Artists Top előadók - + Hyped Artists @@ -3930,12 +3932,12 @@ You can re-send a sync message at any time simply by sending another tweet using - + Recently played tracks Mostanában játszott zeneszámok - + No recently created playlists in your network. diff --git a/lang/tomahawk_it.ts b/lang/tomahawk_it.ts index 48e03d7a1..21a36d636 100644 --- a/lang/tomahawk_it.ts +++ b/lang/tomahawk_it.ts @@ -295,7 +295,7 @@ connect and stream from you? Ci dispiace, ma non abbiamo trovato nessuna traccia di questo album! - + Other Albums by %1 Altri album di %1 @@ -322,42 +322,44 @@ connect and stream from you? Corpo - + Top Hits Top Hits - + Related Artists Artisti simili - + + Artist - + Albums Album - + + Cover Copertina - + Sorry, we could not find any albums for this artist! Ci dispiace, ma non abbiamo trovato nessun album di questo artista! - + Sorry, we could not find any related artists! Siamo spiacenti, non è stato possibile trovare artisti simili! - + Sorry, we could not find any top hits for this artist! Ci dispiace, ma non abbiamo trovato alcun risultato top per l'artista! @@ -757,12 +759,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1045,7 +1047,7 @@ connect and stream from you? - + Properties @@ -3054,27 +3056,27 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks Top Tracks - + Loved Tracks Tracce amate - + Hyped Tracks - + Top Artists - + Hyped Artists @@ -3930,12 +3932,12 @@ You can re-send a sync message at any time simply by sending another tweet using Tracce recentemente ascoltate - + Recently played tracks - + No recently created playlists in your network. Nessuna playlist creata di recente nel tuo network. diff --git a/lang/tomahawk_ja.ts b/lang/tomahawk_ja.ts index 63e0e85cd..a72c89d2b 100644 --- a/lang/tomahawk_ja.ts +++ b/lang/tomahawk_ja.ts @@ -295,7 +295,7 @@ connect and stream from you? このアルバムの曲は見つかりませんでした。 - + Other Albums by %1 %1の他のアルバム @@ -322,42 +322,44 @@ connect and stream from you? フォーム - + Top Hits 大ヒット曲 - + Related Artists 似たアーティスト - + + Artist アーティスト - + Albums アルバム - + + Cover カバー - + Sorry, we could not find any albums for this artist! このアーティストのアルバムは見つかりませんでした。 - + Sorry, we could not find any related artists! 関連アーティストは見つかりませんでした。 - + Sorry, we could not find any top hits for this artist! このアーティストの大ヒット曲は見つかりませんでした。 @@ -758,12 +760,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1046,7 +1048,7 @@ connect and stream from you? 次へ - + Properties @@ -3066,27 +3068,27 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks トップトラック - + Loved Tracks Love トラック - + Hyped Tracks ハイプトラック - + Top Artists トップアーティスト - + Hyped Artists ハイプアーティスト @@ -3949,12 +3951,12 @@ Twitterを使っている友達にTomahawkを接続したいなら、ツイー 最近再生したトラック - + Recently played tracks 最近再生したトラック - + No recently created playlists in your network. ネットワークに最近作成したプレイリストはありません。 diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts index 772d9f360..6882833b2 100644 --- a/lang/tomahawk_pt_BR.ts +++ b/lang/tomahawk_pt_BR.ts @@ -296,7 +296,7 @@ se conecte e faça o stream de você? Desculpe, mas não conseguimos encontrar outras faixas para este álbum! - + Other Albums by %1 Outros álbuns de %1 @@ -323,42 +323,44 @@ se conecte e faça o stream de você? Formulário - + Top Hits Mais Tocadas - + Related Artists Artistas Relacionados - + + Artist Artista - + Albums Álbuns - + + Cover Capa - + Sorry, we could not find any albums for this artist! Desculpe, mas não conseguimos encontrar outros álbuns para este artista! - + Sorry, we could not find any related artists! Desculpe, mas não conseguimos encontrar outros artistas relacionados a este! - + Sorry, we could not find any top hits for this artist! Desculpe, mas não conseguimos encontrar outras faixas mais tocadas deste artista! @@ -758,12 +760,12 @@ se conecte e faça o stream de você? FlexibleView - + This playlist is currently empty. Esta lista de reprodução está vazia no momento. - + This playlist is currently empty. Add some tracks to it and enjoy the music! Esta lista de reprodução está vazia no momento. Adicione algumas faixas a ela e aproveite a música! @@ -1046,7 +1048,7 @@ se conecte e faça o stream de você? Avançar - + Properties Propriedades @@ -3063,27 +3065,27 @@ Tente ajustar os filtros para ouvir um novo conjunto de músicas. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks Faixas Mais Tocadas - + Loved Tracks Faixas favoritas - + Hyped Tracks Faixas Mais Populares - + Top Artists Artistas Mais Tocados - + Hyped Artists Artistas Mais Populares @@ -3945,12 +3947,12 @@ Você pode enviar uma outra mensagem de sincronia a qualquer momento simplesment Faixas reproduzidas recentemente - + Recently played tracks Faixas reproduzidas recentemente - + No recently created playlists in your network. Nenhuma lista de reprodução criada recentemente na sua rede. diff --git a/lang/tomahawk_tr.ts b/lang/tomahawk_tr.ts index cc9d4e254..55edc1125 100644 --- a/lang/tomahawk_tr.ts +++ b/lang/tomahawk_tr.ts @@ -295,7 +295,7 @@ connect and stream from you? - + Other Albums by %1 Diğer %1 Albümleri @@ -322,42 +322,44 @@ connect and stream from you? Form - + Top Hits En Çok Dinlenenler - + Related Artists Benzer Sanatçılar - + + Artist - + Albums Albümler - + + Cover - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! @@ -757,12 +759,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1045,7 +1047,7 @@ connect and stream from you? - + Properties @@ -3054,27 +3056,27 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks - + Loved Tracks - + Hyped Tracks - + Top Artists - + Hyped Artists @@ -3930,12 +3932,12 @@ You can re-send a sync message at any time simply by sending another tweet using - + Recently played tracks - + No recently created playlists in your network. From 7a0bc079785ab63e0b744299f52ae1a1cafd489a Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Mon, 10 Dec 2012 16:50:16 +0100 Subject: [PATCH 158/332] Add AccountsToolButton border on Mac. --- src/widgets/AccountsToolButton.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/widgets/AccountsToolButton.cpp b/src/widgets/AccountsToolButton.cpp index fce366cc5..6856bb7af 100644 --- a/src/widgets/AccountsToolButton.cpp +++ b/src/widgets/AccountsToolButton.cpp @@ -102,6 +102,19 @@ AccountsToolButton::AccountsToolButton( QWidget* parent ) this, SLOT( updateIcons() ) ); connect( m_proxy, SIGNAL( modelReset() ), this, SLOT( updateIcons() ) ); + +#ifdef Q_WS_MAC + setStyleSheet( "AccountsToolButton {" + " border: 1px solid #7d7d7d;" + " border-radius: 4px;" + " background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," + " stop: 0 #f5f5f5, stop: 1 #bababa);" + "}" + "AccountsToolButton:pressed {" + " background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," + " stop: 0 #b6b6b6, stop: 1 #dddddd);" + "}" ); +#endif } void From 206840fd2cd29c466d1ca220ab32e104c6ff13b1 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Mon, 10 Dec 2012 10:52:24 -0500 Subject: [PATCH 159/332] Updated some icons & played with Album page --- data/images/album-icon.svg | 8 +- data/images/album-placeholder-grid.svg | 18 +++-- data/images/cancel.svg | 18 +++-- data/images/delete.png | Bin 1171 -> 16759 bytes data/images/delete.svg | 72 +++++------------- data/images/process-stop.svg | 16 +++- .../widgets/infowidgets/ArtistInfoWidget.cpp | 6 +- .../widgets/infowidgets/ArtistInfoWidget.ui | 51 +++++-------- 8 files changed, 77 insertions(+), 112 deletions(-) diff --git a/data/images/album-icon.svg b/data/images/album-icon.svg index e85d6b304..11688c082 100644 --- a/data/images/album-icon.svg +++ b/data/images/album-icon.svg @@ -1,5 +1,5 @@ - + album-icon Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -8,13 +8,13 @@ - + - + - + \ No newline at end of file diff --git a/data/images/album-placeholder-grid.svg b/data/images/album-placeholder-grid.svg index 53bcf47b8..0e6e9cac1 100644 --- a/data/images/album-placeholder-grid.svg +++ b/data/images/album-placeholder-grid.svg @@ -3,15 +3,19 @@ album-placeholder-grid Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + + + - - - + + + + + \ No newline at end of file diff --git a/data/images/cancel.svg b/data/images/cancel.svg index 1c94702f7..4354ac718 100644 --- a/data/images/cancel.svg +++ b/data/images/cancel.svg @@ -1,12 +1,14 @@ - - Slice 1 + + cancel Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - + + + + + + + + \ No newline at end of file diff --git a/data/images/delete.png b/data/images/delete.png index 6fad9b5bd70b74a906cfc1a3b11d115efc1ec343..fef83f40821b2d41990de3da56ba60d2d3dcfae2 100644 GIT binary patch literal 16759 zcmV*qKt;caP)8L6r5m;iSVl56LAb-e!V~9nFz?h7rkfiyz_r4!pzqQtH?{)TbzMkhf z?|aU@@3Y_goVCu{Yp<`p*53R1yjw>{N7bfnBCv@-a|E`V$s6h>0-FdR0-FNa?6HeC{dSHAL`r3G;C0-FM!$TkZao zl)@YL_I7u6cI8gCjjf&SY8!8ma7+r1U;OZ2(~P+bxlY1qyJLR?2U( zM^%Xq=s7q%s16Sft4sTrs!NwH9aV>0|9gM`;GaG4zyp7X+O%dfrbwQt|q z+4{F<&YYEhd)40VUM0t>N_G!@Sn{DpEU9%Elil;XOi(6&+NBGAEfmt4vWe*+Xl|tG7gRgz{@z;IqV;_4WNIdoEsV|V%efM3zzPG#k)^k@~Rh^Rp z!LES^b_yPS2+JJ-bkdMX#JLcc{bjcG@%Q%2j=)_@Wfw=dQXlL=aiBr={{Fre%7qIT zs%M{hwz_cX;zyrz^>u&eH-6(c4$85o_5M`9ignlB-}RGnppxP^C&h72k5$|9d;^Ju z2OAR}&mR=`F5-jxDUfgkdDxXwgIz2V5Q#??_YF2b75;nEBkapy(>p#ie698yPwVC~e0 zVl*Z#OyzZ3fonlHj5u}JP}*st;4@x`z;1Hp%%1L~)%MPR61p32e5dt#DhuS*uYUCl zh;sHi0q6AX8X1IhyzLd7u_{{-RzS%ko~5#oj^2#5z*2whH; zhwhqwA0j}T>Jm(Opqn_La%8BtZVOc6Wo#D7nZ4cH?!No(H~5fK4Nm2Akh53q{eTq5 zmb}rSXYiN-NG>j(#F=>D!*L`v-wkw!5F&b*-{2t*h_)aPi!|iZ4sN~0YdeCFT~1ZOQWr*8)-*q6SQxA|lT*cRp7 zGjKu%ZYO2bEo~4+Y(MfUjJ(mav-MI*{4-nPuX3W$q}BMHfI`75dD}ZX-*E4}_wJnb zmwZoUfk>i!1B!#ICm~l+uCn@`fn*$B;d$obh1=i#u6KW2GwU+Dyy;DEdcif%Ise(+ zy}heYB=k@H_MHPR;qzukTe6GD8>G8ZAz%IKS8o#XpIv6|j%uzgJ)?@8x3HUUzWJOy zAw7%LQxnC{>#&-I0>}s6alUl%(j%8^alo(lzW2Rfly}TOB|D(`g<~WACJg@DHnfG8 zzP|zEPjfqU1rjHlD=BHM1tRY_U+!)H(!sWTFfkQ=^p(CPnpOxFkOQ39PIWt-1)?9Y z@;Chah>?;btf+W?0=j$x)(-8LajNVe?#tmxe8KJ^e$h9=(tmUKRGz?VvwS)WM3TNt zh+0&5qkQr-Sf7`Zc$q?+st#>KfbWC+uP*?DvIYJTumFN<4Q>&FAi)XTovgzA^ZmpmvJ21v>dBV zEIc_72ul)65yh{d=yW}qVxiFg%>k>bPUQ}wE2N$>@>v`;z}o9tien|9yuH}Oa_VTOvOxSroQ27bD=0d#hv+_XMdV7?-eIAj|L`1-t!;VX>y)=+ zFOXNg>Q#T`>Z{LuqpZ)*oif(4D$0j0wvKMQ?Y14fV~kd=rdT;a12hKPRkpWwcHi)Z z*ZpnzYU-}6u$NW2$R`F4cXrMmTy@pi^Y9C<5yGVO_)II=M?g*wQbRnU&)cLq{{cUFUXgP1NiKrG6dEbG+*d`}(K#a2tSc*OiY;i_vVr%kLB)&Zd1dzW} zlI^MS3m1|FG$adbVe;s%1}V}<8=;supf$=?<=~J9Y0eTruRLboQ2)hO*aBbiFu$R{ z*&gbLNf-ye(bR9cq!hc59}w+0{l~%t6YzPm1DO{rR@l|$b8=rkI=t|j-~HW>KBz{F zd>N%c@bjG4TzAdK7f}hSgyLU#9GuSbhkg&UNe#`zoUy+9#(iRoV?UFEx|m>ulv^e!l+r^usqnn=db=Uli829}(14p=7dk1;J3tn*5 zZ7+H8qvx+ae=Q1RPj(MGRw3y139yMFZGG#JcuZ_6rh4}4b#KYsW0Q%@gUyztaZY?^=7}iyvHr zIy=T7!LZ6$qS>lyIB4rP76O9>iKMM2J=z#?lV-j^hdtm+^pAL3ze`!ow1!di^)&jA z#Q_gI&&5OXZ)bb=>_2P>(^{mpk67}i!nfl)%y^~5o(N`pYyxeS2X*WfuU}sG3f@0H z`(hY<(N(~Uku>!%(Qvo%AB#+m&+_p`6x$o*q1pH7Uae>C9YlV=_OIhB zn(-yvwiV41#u6vu?WS7*?5GxT8xdthJj;u_K*WuMFV_M_Jda-vi#9}@QX(zl>|cb@ z=ZG6;lo9bPC;A+5-Jda-vi#9}@QX(zl>|cb@=ZG68WS~g&53fpYZ#{2O#(I>s zcMwr8{~?PRpI;%$MtPBELcnkoLBAbM(1A&WESpU0LlDqsg+-cC$ZHIgmHGSR+v>)Z zXwe?i!mGSNrM3d189$F%Sr_$#C*rt|ZBgIG|7GVNMPgBtGTGU>5aT-rzIK7gyET7q z>B0ogTWY_7@(~(8c}&)FSB^D9D3`F5Z>u7G8ls83^rt?C zdI&fEcg?@d(LwdadIZ%c+8?>azH0viH=r)$H zNgw+FBTn9UtT3EMEz@IsriWwdkbOh>>!ab5H5(s&j=1sB2ZK%iEJzPAYU00A{D*IN zZ{%qE@cuFe>)x+jAot&Y|A*xV0X~a&T@i4+>xy~txk(U)#z_Khe1x(-%0dbnV8o42 zCAhq{gvxqX3CyB>IT@Smt<&fSp;-Xi*%swnOz25_=zvRi?JRHu3aE7ME=L3A3u=)xk!FlO(zgW+hj74;Rx_}q`38z_GO!Zmyf!=i~RNesAJ>5#fEXH$By$OA@@aq^G;}q zAoHOFn-?t(DU$tzOY(jDgLgdmkq4iIgfZLNZxqs)?|#GU{)7Bh`rG6^5q-JWp7`Rm zYWInZ0kRKJTg)#IKqn2T;2fjfE<23}F|bAEgTrDu&GAjEGOvppzmG(hCX%VO0@Y(vImwppsM7>cK$1g(DH`Ly`bhSoFP5v{F zGL#?m!~bb=;llrX^e-O$KCz|U@KVtd_oM9~)Oq*a-}S~b=g$3<{5bSWk^t*FHkiWt~9i^akUT=3hZa~ZDdZ@h!p$iASUWGJO@Fd$ktKm4Z( za1#f#R+o1r`)|JClf(A1zU6z}e}0-;KZ?J<|L6M$2k*G={rA0-(K-$|dV#=5N#d>7 zzy7Z8mj7Si4f1`2Z;{mhdilA}tC0bs5T7*%7jBQ_UHHE$?9z>37YHhMf`{hCjxX-eh^&3yVQWqc^ zWdWjHss1CLc=+z{mk0ZZfaHnCL3@v?3&Qc}(ZSK5$p6fH-(UXaWABkq?_RRV9N+a= z3S=2`?|Jk0d|5tAb3HyTfZZl16{H|SOcUG_&nc5>=&v^x6CheCZIQCB{CWXr+lJZO z&%dsHS%XEYjL5q3SM%SB1OM~xVf7bZe&qZ|Kl;&U%)aTbYrj#rt_zp;_hpkoao~$R zzGV2)Vbg`6d&4`}I;X~mb%yV5gQIE1$6&7bHp)a~e(WMHUj+&dh^7WWiQSf0e7g-} z`Jd_#r#$EdPW{Alf413V*DX}_;&4)bh5C=30}uJ~6F!-n+%4lh#r+j~qBSoZl~TO}>N36RoX12@X~e>>x}$BolE$Ef%?9BGoH^ z$()~~=>IK)g79D5L~-cv(`u1Gz9ckgL4nbX!RYopr`ewRb0F|^wLWiqUoMcxJ%D)B0lwVG z=@5X&8ZwbZ?|EYoi5!o7S+n)iR{BFb2qChD`wjWEKQPc&K=zS_dr-k{y%`T8z!n-g z9jXAikPOa&+~tx zKYP_4TJM?sIfx}(o1K=k|i4XGpuW)G^RTEghtcsw)5I&pAC)zi4)c>qOX^w|8QxU z;B`iJyw1rBL_gO!*dNdQw6Y_rOcKP`@c1j4YsI|C;Npa&x~)8DS80zqmTahZYxUZT z1{~iP2=Wou1zxuP_qjb`|KtUN{N|B_6U=z<2`?a8k+10qdR{T>PueMm&{kOE0S(70 z(0IHu+;$xuqj@O0oAXiV(x*9U_L-i5YoAa_f*jI-x_%zV%JHYhe|ZJda-gc_^$cVN z|NTKs4ol#ipk+ZIfk0y;PS`u1V+kQB;ARV-_@cAO=z`yj5gr;)@at%i52!HysrWwgus>CVZ_lVKP6nmi`v3ahqJ)06tUT5cjGdN^!HOUyZXK{Vk_^-gHm( zrti5&e|a5bd`k604}7TlAHVji)icjL(|d$8cbE77&hNZKeEtX3bDr}Yvql2+hoAhz z>X(1{m#VKk_82};>Q=f-dN;2B5Xt#X@zO$fWitVje^~L=uetM)^XIR6-WmD9YyA~? zi58OHnrA#CsC3f6K^zbb<4D6jaqllG24C*_cR%^>tDA1R3Cs)aBftNV>SuoDr;{~{ z^2;IJ`aB~vGk)ytKVH4++g?=)(EC68v(Huk^q>EP{{C#%iLM_1`ufHHx4!lJs<-^z zw>0Yg+Sk5Tz3s>TN%h3zPiTLsZBc(IX1M9vY!g2nq(SQ0a>stlu zj@Bv?mmDME^I%G3rE!uKmp(%9Nl3x1Fybmh>4st2?4iq5;1^V7Snu`MUk^fOyFs3` zGvUA(?OPmZ_GbM$BC(n6Rdv0{>}xlOZRF4Xt>^y@*Z1qa_S$RZxyf~E9(^6#fBK_x z;iVRn$8Kgj$n;OrF%=RUTZLkRA(hdUpM*NWI?yNV+<72|I9DcPa7F;|I26#knu15a z#Dzg@0msCePO}@|iZq%r5eGyguY7%y(psVFm0@H0Z{ON%Rhc?ahPBv5a|6Dr|8zgj zA8^Jg88QQ89tGloK~}L&eaQ`jTGg%ueY>? z5X6X64#)Pvsr=^(&ks@pqAl11n#V@_{U-Vx@#KFPlV~D<^A1^aY10>o1QkKlheS(b z?2#g_P$I?^m@80DS5BZ!AtqRx-KGSG0G+TbV8A^17~$l+5|%s0VhX`78X*`QSwgq* zW1N|Zp`c|Eg?!i5>i+<5U6X(uE44!?^qX*1{}<$mPoPomU^7pEary$$sjyT>gf!JX zQkn>$DbZ$#G{goWwG^=d!~=W!Gzj={bO0yd@Yco4K7&YPemunF*Zb8zFb!<5IXk{&RjJRGi`(bxlK@MS&n~?GHgflst4gIfBPY3PIG5Z3sW0jubww zYD$pI($&f{%vLU^DZ{V}S3Fc|U7n4vnHTKKzK{qziTCTKy`%X*PNwU&3~US zpF8Rs9-02wjm0sGSFvmsI1_|%c0iMdM$n<)2(0~Mh>Zp|Wi<}J1BJ3(o^we@cSC`B zktNtLf`tSaak3^F3B9neSDg}?JGh$vy-G7f^f}_0qlP8_`utD*T&$LykDAuwy_wGr zqCsOq&}mC^rn^EVIlXvNjyV)DDTj#zS|dV8dOHLsC!W>;qM?s8C4iQdk+d?*vS_bB zMg4wd|GQ0s3+9IF@r8uGj^#i6Q<(zQSE}na??ihiFA$rEp+0kJ9AYr5LPTh|5o`^+ z$*jxA4Cs^$Rag_k`6GmGomj4}nn+oG!;5Z~;7P!8W|-|5v#S3~>RX7fjZfyU>Oalk zc;3$tPF^6036hMD7$c^dr$do`tPMQxuu+f!T$45ma@^$Q@<|ijz*{3_1ypL?tUf|h zZam5X4W_jwZ|Du;;u0`~IPIpd*}QK5RlpG4PynAwe@u)ca7+djP-swlnA$5=$%c&5HiUmzg@<%EQ; zgm#6{3MlV5m@!LkOEG-!02!+=NgR&w2No1!7%~N))n~@gxCD`8!jlpx-~-fBOk{1M zvA@s%WCsT<2}kpv@hbFp`Bt!=*zNQMBFV$=1K^9Uz|#?`2!pNOOnU3A1r^DUWaI=8 z2Sh`iC{6DMUTPW!j&U~HK}dU+lajbc@jprHK*UbQk+6fiy^DSm(tki{=}0X1>H8q< z(kAJdzCgrn6hwS}p_2l-JP=C2)I7N9J|LPva?kPF75Eo^gk)&$y9~8Oa1O&)Q%Qp^ z#T}~d;$rp5(M4x*t6Y>H``ngDBHrhJGMociAatuQ)bBbY4MSJ;pYy2;p~#N&-(u2a z37h!n>$3jq&LIM0 zd{j^AZ>E*mP3FV$ztn`i{{yo^+L?_K?y6H6+OsW9+e?+=L7Mcc^RXqP=7LPkGR(wx;=SvSM1= zOnf}@m7-NYd>Gp3>q!0&RjYBP zorD7h5B2}J;y=K|rCDZCAV?WLY98o&3_<}!Lu5(wTl6sC3lk)XrK^=EnBu}uDCnS; z_y@>KypT-e-27CbgS5(U`Z|*TW>CL!n5!nEI1oD)$yomTgh2;T>QkNl=A9_V^xp^R ziV8CyP$MbKgfeM5)FH(Xjuu4-M3UfvMre1nD~khAaT!7gyAxg;)p6r0)o0*HRKnx* zA3oD>Li$bEV7B_FW_J4zzR24kYBr>K>>wU62943tT#y^)iOv-h15AQzbI9XO)2k%L zxZ0I=HQFO0-3rfLIc5bl5zn3khAz~7rHpm`XSljlq7O?C{_szm!}0t#j}TY=R;Ya3 zNMk(IKsW0oz~lwObodlC!un$-16X$BEP81YJIG0F1`Q>co zQAlmtnK(#Y4MGgFR?t5GmsSG5v15$xzgwd5!#iQ~ZIc&BngC3KPXxnNei~MbiAgC; z<&L4_!-S@fGPpqS^R;{G7z7~`tw+1@ zAXPO>U$VyW(g%2F9+EQ%nHZh?NxJ%v0L#NB#bCsBQW$85oOVJDGS0FHww`IRDj9A> zy)_zmRtY=@sS-;)2!ahdwZTU7M~$KSI%3ZA z`6by>6jTb#zLmVjWxjG;>AzKP)5wyBkv2L*(e3ZctnEKUs|H$X{$($%e-78l3j{&H zs;jH5;&Q_$ab<+Ss2Ogd%;}IKZaLt$wwjxK6(w}iO3`iirm3yBhwgT0u7MT8Nb4Ee z*uAd*jY1cR>4>VkpR53F^RYOzPNA=a^xuPO+-2)RroEd*foRg`WMGBowrjb> zm?BJyOOkkeYipeLOJDh+1tJMALBa}x{}zBd31XnJbBKF{l{DO=RE!3y zwOl^K_&Kf%rqvDe31gvjg%)iaGMv8ByY>AaqBZmAT+nBbiLdE@ii10*F_pNkC^j2> z4A=|`M7**JvE;*Ta#RXN?<{ob4DXS&WQ{wH@pFZuoD6|cW>V6PaBu@xsXwiPSQ({R zf(84QT_r{LnEuDeHn@{WJ{@`wysfS3KTZkSARKs_|29q2(Wftv+5{kQAb0>1ZcG|a zaD*{BNyi<(WR582gwj$mCYeLS9I7{hb2u0kPXqc42ct?+Mu;_;dE9aM50CK2<8EU@ ziwSC-7?s>{zd1o>YmfhFaQ10V*yIJG;YE-&&=M^KS+fW;;5Z-}S72X(m^z6alPYX! z$}o&fIvyf}e9#88^r{U~K~2%if<2`u=dvN_TvB(kbu9l&16%G9G7a0pt9~Q-Pk%fz zoO{Nr#jHullNX42%_+ehaBp4+x@v=j2K7Cb4MyBT+ zy5dQ}@O=)%++VxbkS6&-NN=pgGLC~h;G9d+9a?ujQb3E+Tt~!v)vBrnI|FH1|7mWY zZqA1-NHD}ln1gHk4>4%aLmz;rsQb{{D{|f{3RxYjfcm?+P-`3w8g=wkN?;sj= zTRjjs+;YLfR9F!xQ^JjA69r!D1tJ(GiANLSoH*yr@`W&@rSWE6+#~81yZ&sENKe+) z(4lI_^nZv>7YoY2 z+(#!=R7*xK*rz&!2S9^8H5>-^G~GQ!#%TWc=wmm`RxdC&Adc<7%foa+wtNU#rxvQ_ z)+R5I+O~?odC)XaS`dh!PLsv1hI=^Ky)a$~O2b8(@(E6UqxN5uPK?E1lV?XlFH)!G zUWjexN6(-JUAoK$gOe>Hfn-9M1>DRNTo9!>fqZ?+MThxT7uV(w=TKDz_5J)gc6}yI z)jxTG=#j)H1j&c__vv)pXb2ErLggD*SYc~N8rv}J6SjP5m@AvC6*t1z=5Ot%n1L70s$QSC*) z%hYP86K0NHoxMl1%7F;VTi5?yePqyu3W{l{LthZq^`BBx>=3UUCR#BIIC+6+6nrjl z*6#hZEGExGhqwXc?wHV6sYq+;*Fj5MOqS_M!)S~UiVeeTtJ#}vPvg4~9}Br? z>T6BjlKz{Rm9Jy@k7Z3;`f#1x32Djbtn9}!1E+r<1hK)S%L9#2Z&K=Wi2)T$4H)rH zFA9NM!5EA<`jl6PnI1@5x^XCA#0LuEkb&&N1~1S6<)H!`3a&mm1P(63h=Yc|p-s7) z=7S;tBR)`Y9HJt;*rBRE?*j#%0NXrv5X`2|s6-0K7fy}_AWp5|8fCo*pQV98%o*rd zpS)l0GKMaf?MEaPKj4yOK(gz^xK;HJ(5c?2vvqIQ@_&%t%tXHlEy5%C&-g6jBVqOf9@8HPMUw6%K?U+ zAj|XxBF?ft7`T+d5<#UQlG>Qr2DPT-fUY%#e&siaTaL|gL0z_qF4qshS56@Xa&1#G zdx&#^Ec?wq`p{}dD5zaKI7+?i`rodt z>_MhlaqF>;6+yEduIhj37ZyIysHU`L%KPaHq{Dkn2uzi)ESMM4bQmIvK1Pv;ax#JApP!n*Ci+Z+3q^gql`yX<-N z%%ngNV0mbq0WE^~okXl)_Irs|3*l`+8KW6z5E3Lq<9t4n{W4zu zI3FgN8ZhsWIfc(wcI7c|X4YrH1Bv*oO!7Gv?$R#ec6Tm9IGFgL6Yo^MI2V2*QBG zu}2vsrV=40ZV@LG4ws{u%JU-{Xv}RB zkC`tr+B!O~$wnraL#}{rt7oh_g>+r=^S9*iLy*yAb2U3t*;=!$K){FG6lg!D+>T* z%2a;k!pgW@qkNN*M-wB=lAR)%pkqBF)J))cK&K(4{i;8VrCo%5{&y;iozNi5Ew9g-6}A2c=@VY-))o{iVH2 z>Q;Rd_>XzOAO2}5J#)wQKgrW5`t!#nV|3i?lNSga#VLHN?F)7cM*#$>g-`c?a+ zHX@Hsw6pQcRR-&0hul#vp^fqE(Hr6!T5a*36+J{-_M_&57i*J*e*bAl)98L0{U)># zQ6}*WoBhuV7-Vq%wIKV=I8lyy9I+&x3_4*`6xau-ILBc=@|-jcb(&3#EsMlE*n`+^ zuC`w40E~DWe>Z(R|NHesUESPWz0v20+nA_>c$c&(`ew0%So+8oD~Zo-SA&5LBtB!S zx2yzk5I2a`Dn2O(M{JZ0XpQ3|R}!PA>_oK6SM9?u zS#NNnYdF|O^uHFUF1_BTervokbBsl%4#Vg_AxGg}X+BS+&jHTjh=qw`kRn8YG;l4E zVjssW@N+f+ISD~mi`c>BKK*_DLljX)6EFJ!Bc6ESHyR*#?5_U`MlusNjEXuVPS!|^ zcw0Yt*gpq2`3|B%z{(*H-Dc%UI-oV;HcOc2@(9%(RLUWQ9N-jP0 zKOP5urXZoxn50SIGRWBe57Uj9;=v;!k3^&U&uIaaN1pd#cAf;+^abLR!AXh9l@pm+ z%5$nm764s-tHmO?!j|a8K1yw2O=OOtZG>7ZNF*ANMl>T?PIG@rC4Y{?`u>+Xy6&kz zL0=fw_FrO#MmdlVlIeN0%cK+Uo5c|e3C1KNv`Bd7YXU~xdeg*dfIa9Qd~l=*P^>;F zCSl2|iLiW)xQi+6fqtF*mGwuTBW?;yeV~%2xacKhER?Y7CHfq3mq*>|Gv=hnf6jHD zeF%Eqs@5ILxaoHgaVrHfB=-<+7mffjo-~e+i9wu@JbjQ8556Wm(IkfzXD%a&fHRpQ z4q-hl$!+1IujvTXNIo>3<4ruVU4vUQ-1q^mQ!%HGY_5)uhhOZ2zdL$qOV+_JB#_ zQG!qtCL}x)nULEz`3ItYsDuu3Uf-Kh9X%+%@ZCG63oWRsnCZ zkNm6J3%O`*@>i9+Fm6eImi3?f>dP_-uwdx%6DHq5?2SK}at{<>+Yw@nEnRaAJJrAz zS=GjHEa8^kr55V}Wu0OCu(}pZtiW34{O_!PdzL3CBbuY>FEv z5-{RTyvxuiuY_u&=o;FRO#=teSHOt34Nvk%^1qZfn*X#?7{I@wb5q%arNDO=# z2PTHntY<22xYL!6L2D?@w9O?Eq5?o_Veluug#(Lg7SI?2oXPKX5ZMMC-3 z^nYk6!$#UkX!^wf=^M*`%BDWvcgEy|J7-ZKLw#ld2{A6>L*=Z@hvYybEO6RFXx&58 z65QR5atXm5@$S(h^wMuaGaw13ErixRp8rYF2_lmh2x5(Z^3mlxS7WZwB`>Cei>&rR zI9Gl2`D))bzLdxNIN_uLE-MdmRQJG~DfRa0>+?U_J_M(|r5zmGXAk)Z+vI_64|2{2 zPF^6jP%xSOh{9wCL~9GM^~%)?0C2oEFq=hTuYJxl)HY2(VWu~|@<;ODlGXeMKD71P zCxSZV(b1s_Pk?V;1;WX2$o~t2zfOwy;g=HI;&>$Q$ZApvL?aG}#>pX6;(!ayf*9be zKguDDItGaCWudQQ`5&Lo^ePty`g&si53j``=8wWN`Kwr6Ua$}VBi=RUIQmc!EDFLV zJuDQ!h?95O`HwzFobrwv($}&5M;sUn!sGU3Rr#~nL6}fXs#TrQ9Yc~c?ii%4DpMzu zOXvV0T|O|$2Z#}tTx7%eeaGzde^@$lK8EUzd_(+a9KehD(ce!-jF*UW)Onovv`?56QqPc8(~n)r{KM%@{j|EvS-Oo#kG*pJ(o73EKU z#KLNV05(0~6N4LZ@v)wPCPA1liyEXAb5ht29!kr z8u6ImaYZE#Nd5@>w*(948W4{;w#i?` zLQs(OmiYBoHPBa|AO;aI;^54@7}NBKJis4%=plg47I|n3Wn&;|5odo1$rELQ*3`%o z<=1^)-v5XG^s`N>YP3fld8B&s$tP;r}>ZvZZwV2Rez=(GW=;(|xC^JINSBHob@0z?o z)MMnFCM_(dUS>U#Af_Hl0aE>Yo9!MaQPH<;Az%`pB6xXP&pS zvr}zvch@Uy<%-&5FZfU?bTD|avFRXA*fAGNvt6%)D|E2oG zCqAK*HdJ0|6ZS96z3pR;1j6mN-(LOjKmOtBw%cAJ&%bu6&wcK5)w_QEUDf;FZ^co{ z8_WL}-+Ej1BR}#Z)yrP?vg(>^uBpE8@E58N+;?B~EC2mhw0M{k%f_>`x6gm_Lm!G3 zvH$FY4_zbo-P;@oo&cP@KyH2Ui=;r#N`Y+m7Ko)<&M+pppQKVUbAlJ+S56sa0an%C z-kwep3j%VOB#W|OjU0L8k8f}h2Snr8K6&WJ;?TCTXWe!C$MAo5cdy#_7X*gdOMAxh zKNiSCpZ(KW704`J#bUtwp(UQJ%Xuf@j)3v)#nCUFuku705icdwt$}j+#~jvM5b%$j zf=6RrAZY!?0cOfENKu5!5pP_67uet5Pu;YQuuopy8sQegD*h(}W{AwAKoD4e)MJDx z2pN}f(6B<=xV9anc}2t+$mMwK5_+pPP^MGBB@go3ljQo2&?T?F11;J^8%*2c_4N4P zJpYRkIcdt|1;Pc-b2OwQk_QQC5P?BrGs*1UlK05}I|8HOYK^i9l^gO>za5WQFz7Md zI7ajToqo=S)E89yC#3qMRSV+ZMOdk^gm5S3PhqzjdZ^=cS6=7 z&n)k-8bc{Az%w))e9B;!5j8gHlaFr*4rmYJfF_p^jKl#Im-!*oT*Z(uXU1c9CIJ$2_N1~WNg$+UY`5jMqzi3eyn#(@(T z2A8lw0`nd);?7FlfDvzyG>jB=0EcOWf~yXPL-d)i7-tU%ywdz17TA;Hn#B%+BZ(bP z?D)cD$=SqALqagakZ_Lst31*x`Dgo3QwSH2NQ?SRx9dYfqd8Rhq6^UIb^XQ|>@%)( zE%m#WRIAWU9vehiIsd2te%!^!{cFrwQ&(o5}0g& z5l;*y5}6`ye34=}(-n7^VDK4KTrPy(31dwduG~5RBc3@rvFLNe(;%uc^NdVdVu}bm zn+GiRj^{rlNoX#LHBU#2rpBk=L8`+q93CCsx}~o~Axkg~%ogIDntDGLZsZ#ma3o27 zqL0uz1LfhJW~JE=CKzx2upngtT3gg_iD>qbk5H|HJ!y3PNZ7dJaTn4tDnYO;!EhQ> z@4u4#M_lFaivsDaM{!y(`3@rg>CO8rBuolIq=w;uhFii}5$TE}(KE=f5;ljGvH|6I zq`$>v&~TBZG|Ukm;3JIISdVln2Oye^PS9|X9mcb`G#S)TKccCWXq$==s?p4QvxRY> z--Ps=&?J=CsAC@fx`hN27q{}LP_Lf_2esE`J_Zzq6d+9obz9lTK zkdlzXz$75<>=H{$qMWu&ZcE&htA4w{Ud~1_e1X5Oe_=qO0FKZJ=~@uyzS6&fJq>05 z<>o*BM=&^XC_mUBU;X`mk3aszOTO}zuY9?P(xkW3?;uA<7Y+_C{?Osk!L#~XQJNG; zmBq$H0K_9Ej24Yt2vZd)!DLY?V8j9wm3+Nx@<4^TSA8i$Ac!p4Ge1sThAM56a zDQygr#Kx&s;4SS+^8fHqetJlJ1w1%BI69~fe{^oefoYh02VpMUc;k(4lwTG3m7U$~ z_G`8!0003pNkl7SP)|Fzb) zZo6OxGBYG$W^;fZU=y$oSOT;=+XQeHI0_s9K9clrINOTKR=`f3X7(v?33vy17+4;G zictnRlo)}D(2rS>6vEUD4JM4 zA2cR@(6QEzxVCtna4}V)%z!Ti&I9v&`#8`k=^xDJY9X*;mnKglUcU4f@9VtyUi?BJ5Lo$I7}y&j&2YPDJ?a5r#EtyY_= z*XsiSrI}%79l#FP@SLP=v75rXna!?X^%67d%6MX{2V(=+X=XQE`2=S67Vxa|-wPZL z-_pTn0p9_40P7_kX#!pYhJ3kE(!s=tZs3q_^-1at3QT&C9FJ0A4GBHNH5L1NYoM;$TGrbl88Dz+Kja2P43` z5?JPo6EhT;oDwB)V^#2o0@mUn0N_G}Di@S!G-+&AzyW>=O{~0z`tqmu|CAJU zxEK86@AE4ZnJ!=in3MUt4LF$=p(eD@pBGCnFnDfO0dHj5cpQWy6_i-*&vS*D?E+r% zjaibWGP%1L_#p%Sf@i^(nM}9~7)?8Ow z - - -image/svg+xml \ No newline at end of file + + delete + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/process-stop.svg b/data/images/process-stop.svg index dfd0abecd..20f4e2ec1 100644 --- a/data/images/process-stop.svg +++ b/data/images/process-stop.svg @@ -2,8 +2,18 @@ process-stop Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp index f2796109b..b420992a9 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp @@ -51,7 +51,7 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* ui->setupUi( widget ); QPalette pal = palette(); - pal.setColor( QPalette::Window, QColor( "#454e59" ) ); + pal.setColor( QPalette::Window, QColor( "#231F1F" ) ); widget->setPalette( pal ); widget->setAutoFillBackground( true ); @@ -109,12 +109,12 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* TomahawkUtils::styleScrollBar( ui->biography->verticalScrollBar() ); f.setBold( true ); - f.setPointSize( TomahawkUtils::defaultFontSize() + 5 ); + f.setPointSize( TomahawkUtils::defaultFontSize() + 8 ); ui->artistLabel->setFont( f ); QPalette p = ui->biography->palette(); p.setColor( QPalette::Foreground, Qt::white ); - p.setColor( QPalette::Text, Qt::white ); + p.setColor( QPalette::Text, Qt::gray ); ui->artistLabel->setPalette( p ); ui->biography->setPalette( p ); diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui index 22118b5e9..e39bf628d 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui @@ -7,7 +7,7 @@ 0 0 965 - 1179 + 1242 @@ -35,30 +35,12 @@ 16 - - 0 - - - 0 - - - - - 0 - 0 - - - - - 220 - 220 - - + - Cover + Artist Qt::AlignCenter @@ -82,9 +64,21 @@ - + + + + 0 + 0 + + + + + 220 + 220 + + - Artist + Cover Qt::AlignCenter @@ -363,16 +357,7 @@ - - 0 - - - 0 - - - 0 - - + 0 From fc8384536138b3baf23737fbe7fe7eb4bc0c008e Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Mon, 10 Dec 2012 17:12:04 +0100 Subject: [PATCH 160/332] Make AccountsToolButton icons smaller on Mac. --- src/widgets/AccountsToolButton.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/widgets/AccountsToolButton.cpp b/src/widgets/AccountsToolButton.cpp index 6856bb7af..328cb3d70 100644 --- a/src/widgets/AccountsToolButton.cpp +++ b/src/widgets/AccountsToolButton.cpp @@ -104,6 +104,7 @@ AccountsToolButton::AccountsToolButton( QWidget* parent ) this, SLOT( updateIcons() ) ); #ifdef Q_WS_MAC + setIconSize( QSize( iconSize().width()-4, iconSize().height()-4 ) ); setStyleSheet( "AccountsToolButton {" " border: 1px solid #7d7d7d;" " border-radius: 4px;" From a40b386cd7404fc5e39d2739339732d8138b6417 Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Tue, 11 Dec 2012 01:16:43 +0100 Subject: [PATCH 161/332] Automatic merge of Transifex translations --- lang/tomahawk_ar.ts | 14 +++++++------- lang/tomahawk_bg.ts | 14 +++++++------- lang/tomahawk_bn_IN.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_ca.ts | 14 +++++++------- lang/tomahawk_de.ts | 14 +++++++------- lang/tomahawk_el.ts | 14 +++++++------- lang/tomahawk_en.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_es.ts | 14 +++++++------- lang/tomahawk_fr.ts | 14 +++++++------- lang/tomahawk_gl.ts | 14 +++++++------- lang/tomahawk_hi_IN.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_hu.ts | 14 +++++++------- lang/tomahawk_it.ts | 14 +++++++------- lang/tomahawk_ja.ts | 14 +++++++------- lang/tomahawk_lt.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_pl.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_pt_BR.ts | 14 +++++++------- lang/tomahawk_ru.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_sv.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_tr.ts | 14 +++++++------- lang/tomahawk_zh_CN.ts | 40 +++++++++++++++++++++------------------- lang/tomahawk_zh_TW.ts | 40 +++++++++++++++++++++------------------- 22 files changed, 280 insertions(+), 262 deletions(-) diff --git a/lang/tomahawk_ar.ts b/lang/tomahawk_ar.ts index 82fd2bc5b..fb3f189b0 100644 --- a/lang/tomahawk_ar.ts +++ b/lang/tomahawk_ar.ts @@ -323,29 +323,29 @@ connect and stream from you? استمارة - + Top Hits الأكثر شهرة - + Related Artists الفنانين ذات الذوق القريب - - + + Artist فنان - + Albums ألبومات - - + + Cover غلاف diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index 4a0c6d0df..87d1e38c7 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -322,29 +322,29 @@ connect and stream from you? - + Top Hits Най-известни изпълнения - + Related Artists Изпълнители с подобно звучене - - + + Artist Изпълнител - + Albums Албуми - - + + Cover Обложка diff --git a/lang/tomahawk_bn_IN.ts b/lang/tomahawk_bn_IN.ts index 9c1fc4838..620101107 100644 --- a/lang/tomahawk_bn_IN.ts +++ b/lang/tomahawk_bn_IN.ts @@ -295,7 +295,7 @@ connect and stream from you? - + Other Albums by %1 @@ -322,42 +322,44 @@ connect and stream from you? - + Top Hits - + Related Artists - + + Artist - + Albums - + + Cover - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! @@ -757,12 +759,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1045,7 +1047,7 @@ connect and stream from you? - + Properties @@ -3054,27 +3056,27 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks - + Loved Tracks - + Hyped Tracks - + Top Artists - + Hyped Artists @@ -3930,12 +3932,12 @@ You can re-send a sync message at any time simply by sending another tweet using - + Recently played tracks - + No recently created playlists in your network. diff --git a/lang/tomahawk_ca.ts b/lang/tomahawk_ca.ts index f40ba431f..14098692e 100644 --- a/lang/tomahawk_ca.ts +++ b/lang/tomahawk_ca.ts @@ -322,29 +322,29 @@ connect and stream from you? Formulari - + Top Hits Grans Èxits - + Related Artists Artistes Relacionats - - + + Artist Artista - + Albums Àlbums - - + + Cover Caràtula diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index 055bf9f77..c00599269 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -323,29 +323,29 @@ erlauben sich mit dir zu verbinden? Form - + Top Hits Top Hits - + Related Artists Ähnliche Künstler - - + + Artist Künstler - + Albums Alben - - + + Cover Cover diff --git a/lang/tomahawk_el.ts b/lang/tomahawk_el.ts index 6bf4f46e0..0af818bd7 100644 --- a/lang/tomahawk_el.ts +++ b/lang/tomahawk_el.ts @@ -322,29 +322,29 @@ connect and stream from you? Φόρμα - + Top Hits - + Related Artists Παρόμοιοι Καλλιτέχνες - - + + Artist Καλλιτέχνης - + Albums Άλμπουμ - - + + Cover diff --git a/lang/tomahawk_en.ts b/lang/tomahawk_en.ts index 8b83876bb..ffece4be3 100644 --- a/lang/tomahawk_en.ts +++ b/lang/tomahawk_en.ts @@ -296,7 +296,7 @@ connect and stream from you? Sorry, we could not find any tracks for this album! - + Other Albums by %1 Other Albums by %1 @@ -323,42 +323,44 @@ connect and stream from you? Form - + Top Hits Top Hits - + Related Artists Related Artists - + + Artist Artist - + Albums Albums - + + Cover Cover - + Sorry, we could not find any albums for this artist! Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! Sorry, we could not find any top hits for this artist! @@ -758,12 +760,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1046,7 +1048,7 @@ connect and stream from you? Forward - + Properties Properties @@ -3066,27 +3068,27 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks Top Tracks - + Loved Tracks Loved Tracks - + Hyped Tracks Hyped Tracks - + Top Artists Top Artists - + Hyped Artists Hyped Artists @@ -3948,12 +3950,12 @@ You can re-send a sync message at any time simply by sending another tweet using Recently Played Tracks - + Recently played tracks Recently played tracks - + No recently created playlists in your network. No recently created playlists in your network. diff --git a/lang/tomahawk_es.ts b/lang/tomahawk_es.ts index aca921672..6e2ca4865 100644 --- a/lang/tomahawk_es.ts +++ b/lang/tomahawk_es.ts @@ -322,29 +322,29 @@ connect and stream from you? Formulario - + Top Hits Grandes éxitos - + Related Artists Artistas relacionados - - + + Artist - + Albums Álbumes - - + + Cover diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index d5ab540a4..afaaba107 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -323,29 +323,29 @@ de se connecter et streamer de vous? Form - + Top Hits Top Hits - + Related Artists Artistes similaires - - + + Artist Artiste - + Albums Albums - - + + Cover Pochette diff --git a/lang/tomahawk_gl.ts b/lang/tomahawk_gl.ts index def578c85..cddc96ff5 100644 --- a/lang/tomahawk_gl.ts +++ b/lang/tomahawk_gl.ts @@ -322,29 +322,29 @@ connect and stream from you? Formulario - + Top Hits Maiores éxitos - + Related Artists Artistas relacionados - - + + Artist Artista - + Albums Álbums - - + + Cover Portada diff --git a/lang/tomahawk_hi_IN.ts b/lang/tomahawk_hi_IN.ts index cc12d9118..f67511d0b 100644 --- a/lang/tomahawk_hi_IN.ts +++ b/lang/tomahawk_hi_IN.ts @@ -295,7 +295,7 @@ connect and stream from you? - + Other Albums by %1 @@ -322,42 +322,44 @@ connect and stream from you? - + Top Hits - + Related Artists - + + Artist - + Albums - + + Cover - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! @@ -757,12 +759,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1045,7 +1047,7 @@ connect and stream from you? - + Properties @@ -3054,27 +3056,27 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks - + Loved Tracks - + Hyped Tracks - + Top Artists - + Hyped Artists @@ -3930,12 +3932,12 @@ You can re-send a sync message at any time simply by sending another tweet using - + Recently played tracks - + No recently created playlists in your network. diff --git a/lang/tomahawk_hu.ts b/lang/tomahawk_hu.ts index c788142fd..348d84ec5 100644 --- a/lang/tomahawk_hu.ts +++ b/lang/tomahawk_hu.ts @@ -322,29 +322,29 @@ connect and stream from you? - + Top Hits Top Hits - + Related Artists Kapcsolódó előadók - - + + Artist - + Albums Albumok - - + + Cover Borító diff --git a/lang/tomahawk_it.ts b/lang/tomahawk_it.ts index 21a36d636..5ef0fe8ba 100644 --- a/lang/tomahawk_it.ts +++ b/lang/tomahawk_it.ts @@ -322,29 +322,29 @@ connect and stream from you? Corpo - + Top Hits Top Hits - + Related Artists Artisti simili - - + + Artist - + Albums Album - - + + Cover Copertina diff --git a/lang/tomahawk_ja.ts b/lang/tomahawk_ja.ts index a72c89d2b..9a82b4b93 100644 --- a/lang/tomahawk_ja.ts +++ b/lang/tomahawk_ja.ts @@ -322,29 +322,29 @@ connect and stream from you? フォーム - + Top Hits 大ヒット曲 - + Related Artists 似たアーティスト - - + + Artist アーティスト - + Albums アルバム - - + + Cover カバー diff --git a/lang/tomahawk_lt.ts b/lang/tomahawk_lt.ts index 4b600d299..51c8caeff 100644 --- a/lang/tomahawk_lt.ts +++ b/lang/tomahawk_lt.ts @@ -295,7 +295,7 @@ connect and stream from you? Atsiprašome, neradome jokių takelių iš šio albumo! - + Other Albums by %1 Kiti %1 albumai @@ -322,42 +322,44 @@ connect and stream from you? Forma - + Top Hits - + Related Artists Susiję atlikėjai - + + Artist Atlikėjas - + Albums Albumai - + + Cover Viršelis - + Sorry, we could not find any albums for this artist! Atsiprašome, neradome jokių šio atlikėjo albumų! - + Sorry, we could not find any related artists! Atsiprašome, neradome jokių susijusių atlikėjų! - + Sorry, we could not find any top hits for this artist! @@ -757,12 +759,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1045,7 +1047,7 @@ connect and stream from you? Pirmyn - + Properties @@ -3054,27 +3056,27 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks Populiariausi takeliai - + Loved Tracks Mylimi takeliai - + Hyped Tracks - + Top Artists Populiariausi atlikėjai - + Hyped Artists @@ -3930,12 +3932,12 @@ You can re-send a sync message at any time simply by sending another tweet using Neseniai groti takeliai - + Recently played tracks - + No recently created playlists in your network. Jūsų tinkle nėra neseniai sukurtų grojaraščių. diff --git a/lang/tomahawk_pl.ts b/lang/tomahawk_pl.ts index 45d190f2c..21504df03 100644 --- a/lang/tomahawk_pl.ts +++ b/lang/tomahawk_pl.ts @@ -295,7 +295,7 @@ connect and stream from you? - + Other Albums by %1 Inne albumy %1 @@ -322,42 +322,44 @@ connect and stream from you? Formularz - + Top Hits Hity na Topie - + Related Artists Powiązani artyści - + + Artist - + Albums Albumy - + + Cover - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! @@ -757,12 +759,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1045,7 +1047,7 @@ connect and stream from you? - + Properties @@ -3056,27 +3058,27 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks - + Loved Tracks - + Hyped Tracks - + Top Artists - + Hyped Artists @@ -3938,12 +3940,12 @@ Zawsze możesz ponownie wysłać wiadomość synchronizacyjną - po prostu wyśl Ostatnio Odtworzone Utwory - + Recently played tracks - + No recently created playlists in your network. Brak ostatnio utworzonych list w twojej sieci. diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts index 6882833b2..891f106c5 100644 --- a/lang/tomahawk_pt_BR.ts +++ b/lang/tomahawk_pt_BR.ts @@ -323,29 +323,29 @@ se conecte e faça o stream de você? Formulário - + Top Hits Mais Tocadas - + Related Artists Artistas Relacionados - - + + Artist Artista - + Albums Álbuns - - + + Cover Capa diff --git a/lang/tomahawk_ru.ts b/lang/tomahawk_ru.ts index 34d6e717e..74a4d18ce 100644 --- a/lang/tomahawk_ru.ts +++ b/lang/tomahawk_ru.ts @@ -296,7 +296,7 @@ connect and stream from you? К сожалению, мы не смогли найти никаких треков для этого альбома! - + Other Albums by %1 Другие альбомы %1 @@ -323,42 +323,44 @@ connect and stream from you? Форма - + Top Hits Хиты - + Related Artists Похожие исполнители - + + Artist Исполнитель - + Albums Альбомы - + + Cover Обложка - + Sorry, we could not find any albums for this artist! К сожалению, мы не смогли найти никаких альбомов этого исполнителя! - + Sorry, we could not find any related artists! К сожалению, мы не смогли найти никаких исполнители! - + Sorry, we could not find any top hits for this artist! К сожалению, мы не смогли найти никаких хитов этого исполнителя! @@ -758,12 +760,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1046,7 +1048,7 @@ connect and stream from you? Вперед - + Properties @@ -3061,27 +3063,27 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks ТОП Песен - + Loved Tracks Любимые Песни - + Hyped Tracks - + Top Artists ТОП Исполнителей - + Hyped Artists Форма @@ -3941,12 +3943,12 @@ You can re-send a sync message at any time simply by sending another tweet using Последние Воспроизводимые Песни - + Recently played tracks - + No recently created playlists in your network. Нет списков, созданных в последнее время в вашей сети. diff --git a/lang/tomahawk_sv.ts b/lang/tomahawk_sv.ts index bc1f48b51..24ecc76b8 100644 --- a/lang/tomahawk_sv.ts +++ b/lang/tomahawk_sv.ts @@ -295,7 +295,7 @@ connect and stream from you? - + Other Albums by %1 Andra album av %1 @@ -322,42 +322,44 @@ connect and stream from you? Formulär - + Top Hits Största hits - + Related Artists Relaterade artister - + + Artist - + Albums Album - + + Cover - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! @@ -757,12 +759,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1045,7 +1047,7 @@ connect and stream from you? - + Properties @@ -3055,27 +3057,27 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks - + Loved Tracks - + Hyped Tracks - + Top Artists - + Hyped Artists @@ -3931,12 +3933,12 @@ You can re-send a sync message at any time simply by sending another tweet using Senaste spelade spår - + Recently played tracks - + No recently created playlists in your network. Inga skapade spellistor i ditt nätverk på sistone. diff --git a/lang/tomahawk_tr.ts b/lang/tomahawk_tr.ts index 55edc1125..69967b60d 100644 --- a/lang/tomahawk_tr.ts +++ b/lang/tomahawk_tr.ts @@ -322,29 +322,29 @@ connect and stream from you? Form - + Top Hits En Çok Dinlenenler - + Related Artists Benzer Sanatçılar - - + + Artist - + Albums Albümler - - + + Cover diff --git a/lang/tomahawk_zh_CN.ts b/lang/tomahawk_zh_CN.ts index f89381a9b..37df7773f 100644 --- a/lang/tomahawk_zh_CN.ts +++ b/lang/tomahawk_zh_CN.ts @@ -295,7 +295,7 @@ connect and stream from you? 抱歉,没有找到这张专辑的其他歌曲! - + Other Albums by %1 %1 的其他专辑 @@ -322,42 +322,44 @@ connect and stream from you? 来自 - + Top Hits 最热歌曲 - + Related Artists 相关艺人 - + + Artist 艺术家 - + Albums 专辑 - + + Cover 封面 - + Sorry, we could not find any albums for this artist! 抱歉,未找到该艺术家的其他专辑! - + Sorry, we could not find any related artists! 抱歉,没有找到相关的艺术家! - + Sorry, we could not find any top hits for this artist! 抱歉,没有找到该艺术家的任何人气歌曲! @@ -757,12 +759,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1045,7 +1047,7 @@ connect and stream from you? 下一个 - + Properties @@ -3064,27 +3066,27 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks 最热歌曲 - + Loved Tracks 喜爱歌曲 - + Hyped Tracks 活跃歌曲 - + Top Artists Top 艺术家 - + Hyped Artists 活跃艺术家 @@ -3946,12 +3948,12 @@ You can re-send a sync message at any time simply by sending another tweet using 最近播放歌曲 - + Recently played tracks 最近播放的歌曲 - + No recently created playlists in your network. 在你的网络中最近未创建播放列表 diff --git a/lang/tomahawk_zh_TW.ts b/lang/tomahawk_zh_TW.ts index ed8f5ad3b..f148cc37f 100644 --- a/lang/tomahawk_zh_TW.ts +++ b/lang/tomahawk_zh_TW.ts @@ -295,7 +295,7 @@ connect and stream from you? - + Other Albums by %1 列出所有其他專輯,依 %1 @@ -322,42 +322,44 @@ connect and stream from you? 形式 - + Top Hits 流行精選 - + Related Artists 相關演出者 - + + Artist - + Albums 專輯 - + + Cover - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! @@ -757,12 +759,12 @@ connect and stream from you? FlexibleView - + This playlist is currently empty. - + This playlist is currently empty. Add some tracks to it and enjoy the music! @@ -1045,7 +1047,7 @@ connect and stream from you? - + Properties @@ -3054,27 +3056,27 @@ Try tweaking the filters for a new set of songs to play. Tomahawk::InfoSystem::LastFmInfoPlugin - + Top Tracks - + Loved Tracks - + Hyped Tracks - + Top Artists - + Hyped Artists @@ -3930,12 +3932,12 @@ You can re-send a sync message at any time simply by sending another tweet using 最近播放的曲目 - + Recently played tracks - + No recently created playlists in your network. 沒有最近建立的播放清單在您的網路。 From ddafbdafee942e7e92f2b84decb1dbd4c64c007b Mon Sep 17 00:00:00 2001 From: Patrick von Reth Date: Wed, 12 Dec 2012 12:10:32 +0100 Subject: [PATCH 162/332] fixed invalid icons for windows thumbbottons crashing explorer.exe --- src/TomahawkWindow.cpp | 87 ++++++++++++++++++++---------------------- src/TomahawkWindow.h | 1 + 2 files changed, 43 insertions(+), 45 deletions(-) diff --git a/src/TomahawkWindow.cpp b/src/TomahawkWindow.cpp index b4e143523..d74bceed6 100644 --- a/src/TomahawkWindow.cpp +++ b/src/TomahawkWindow.cpp @@ -116,6 +116,18 @@ TomahawkWindow::TomahawkWindow( QWidget* parent ) connect( APP, SIGNAL( tomahawkLoaded() ), vm, SLOT( setTomahawkLoaded() ) ); // Pass loaded signal into libtomahawk so components in there can connect to ViewManager #ifdef Q_OS_WIN + QList list; + list<setupUi( this ); @@ -446,30 +458,22 @@ TomahawkWindow::setupWindowsButtons() const GUID IID_ITaskbarList3 = { 0xea1afb91,0x9e28,0x4b86, { 0x90,0xe9,0x9e,0x9f,0x8a,0x5e,0xef,0xaf } }; HRESULT hr = S_OK; - QPixmap play( RESPATH "images/play-rest.png" ); - QPixmap back( RESPATH "images/back-rest.png" ); - QPixmap love( RESPATH "images/not-loved.png" ); - - QTransform transform; - transform.rotate( 180 ); - QPixmap next( back.transformed( transform ) ); - THUMBBUTTONMASK dwMask = THUMBBUTTONMASK( THB_ICON | THB_TOOLTIP | THB_FLAGS ); m_thumbButtons[TP_PREVIOUS].dwMask = dwMask; m_thumbButtons[TP_PREVIOUS].iId = TP_PREVIOUS; - m_thumbButtons[TP_PREVIOUS].hIcon = back.toWinHICON(); + m_thumbButtons[TP_PREVIOUS].hIcon = m_thumbIcons[TomahawkUtils::PrevButton]; m_thumbButtons[TP_PREVIOUS].dwFlags = THBF_ENABLED; m_thumbButtons[TP_PREVIOUS].szTip[ tr( "Back" ).toWCharArray( m_thumbButtons[TP_PREVIOUS].szTip ) ] = 0; m_thumbButtons[TP_PLAY_PAUSE].dwMask = dwMask; m_thumbButtons[TP_PLAY_PAUSE].iId = TP_PLAY_PAUSE; - m_thumbButtons[TP_PLAY_PAUSE].hIcon = play.toWinHICON(); + m_thumbButtons[TP_PLAY_PAUSE].hIcon = m_thumbIcons[TomahawkUtils::PlayButton]; m_thumbButtons[TP_PLAY_PAUSE].dwFlags = THBF_ENABLED; m_thumbButtons[TP_PLAY_PAUSE].szTip[ tr( "Play" ).toWCharArray( m_thumbButtons[TP_PLAY_PAUSE].szTip ) ] = 0; m_thumbButtons[TP_NEXT].dwMask = dwMask; m_thumbButtons[TP_NEXT].iId = TP_NEXT; - m_thumbButtons[TP_NEXT].hIcon = next.toWinHICON(); + m_thumbButtons[TP_NEXT].hIcon = m_thumbIcons[TomahawkUtils::NextButton]; m_thumbButtons[TP_NEXT].dwFlags = THBF_ENABLED; m_thumbButtons[TP_NEXT].szTip[ tr( "Next" ).toWCharArray( m_thumbButtons[TP_NEXT].szTip ) ] = 0; @@ -481,7 +485,7 @@ TomahawkWindow::setupWindowsButtons() m_thumbButtons[TP_LOVE].dwMask = dwMask; m_thumbButtons[TP_LOVE].iId = TP_LOVE; - m_thumbButtons[TP_LOVE].hIcon = love.toWinHICON(); + m_thumbButtons[TP_LOVE].hIcon = m_thumbIcons[TomahawkUtils::NotLoved]; m_thumbButtons[TP_LOVE].dwFlags = THBF_DISABLED; m_thumbButtons[TP_LOVE].szTip[ tr( "Love" ).toWCharArray( m_thumbButtons[TP_LOVE].szTip ) ] = 0; @@ -723,46 +727,41 @@ TomahawkWindow::audioStateChanged( AudioState newState, AudioState oldState ) #ifdef HAVE_THUMBBUTTON if ( m_taskbarList == 0 ) return; - switch ( newState ) { - case AudioEngine::Playing: - { - QPixmap pause( RESPATH "images/pause-rest.png" ); - m_thumbButtons[TP_PLAY_PAUSE].hIcon = pause.toWinHICON(); - m_thumbButtons[TP_PLAY_PAUSE].szTip[ tr( "Pause" ).toWCharArray( m_thumbButtons[TP_PLAY_PAUSE].szTip ) ] = 0; - updateWindowsLoveButton(); + case AudioEngine::Playing: + { + m_thumbButtons[TP_PLAY_PAUSE].hIcon = m_thumbIcons[TomahawkUtils::PauseButton]; + m_thumbButtons[TP_PLAY_PAUSE].szTip[ tr( "Pause" ).toWCharArray( m_thumbButtons[TP_PLAY_PAUSE].szTip ) ] = 0; + updateWindowsLoveButton(); - } + } break; - case AudioEngine::Paused: - { - QPixmap play( RESPATH "images/play-rest.png" ); - m_thumbButtons[TP_PLAY_PAUSE].hIcon = play.toWinHICON(); - m_thumbButtons[TP_PLAY_PAUSE].szTip[ tr( "Play" ).toWCharArray( m_thumbButtons[TP_PLAY_PAUSE].szTip ) ] = 0; - } + case AudioEngine::Paused: + { + m_thumbButtons[TP_PLAY_PAUSE].hIcon = m_thumbIcons[TomahawkUtils::PlayButton]; + m_thumbButtons[TP_PLAY_PAUSE].szTip[ tr( "Play" ).toWCharArray( m_thumbButtons[TP_PLAY_PAUSE].szTip ) ] = 0; + } break; - case AudioEngine::Stopped: + case AudioEngine::Stopped: + { + if ( !AudioEngine::instance()->currentTrack().isNull() ) { - if ( !AudioEngine::instance()->currentTrack().isNull() ) - { - disconnect( AudioEngine::instance()->currentTrack()->toQuery().data(), SIGNAL( socialActionsLoaded() ), this, SLOT( updateWindowsLoveButton() ) ); - } - - QPixmap play( RESPATH "images/play-rest.png" ); - m_thumbButtons[TP_PLAY_PAUSE].hIcon = play.toWinHICON(); - m_thumbButtons[TP_PLAY_PAUSE].szTip[ tr( "Play" ).toWCharArray( m_thumbButtons[TP_PLAY_PAUSE].szTip ) ] = 0; - - QPixmap not_loved( RESPATH "images/not-loved.png" ); - m_thumbButtons[TP_LOVE].hIcon = not_loved.toWinHICON(); - m_thumbButtons[TP_LOVE].dwFlags = THBF_DISABLED; + disconnect( AudioEngine::instance()->currentTrack()->toQuery().data(), SIGNAL( socialActionsLoaded() ), this, SLOT( updateWindowsLoveButton() ) ); } + + m_thumbButtons[TP_PLAY_PAUSE].hIcon = m_thumbIcons[TomahawkUtils::PlayButton]; + m_thumbButtons[TP_PLAY_PAUSE].szTip[ tr( "Play" ).toWCharArray( m_thumbButtons[TP_PLAY_PAUSE].szTip ) ] = 0; + + m_thumbButtons[TP_LOVE].hIcon = m_thumbIcons[TomahawkUtils::NotLoved]; + m_thumbButtons[TP_LOVE].dwFlags = THBF_DISABLED; + } break; - default: - return; + default: + return; } m_taskbarList->ThumbBarUpdateButtons( winId(), ARRAYSIZE( m_thumbButtons ), m_thumbButtons ); @@ -776,14 +775,12 @@ TomahawkWindow::updateWindowsLoveButton() #ifdef HAVE_THUMBBUTTON if ( !AudioEngine::instance()->currentTrack().isNull() && AudioEngine::instance()->currentTrack()->toQuery()->loved() ) { - QPixmap loved( RESPATH "images/loved.png" ); - m_thumbButtons[TP_LOVE].hIcon = loved.toWinHICON(); + m_thumbButtons[TP_LOVE].hIcon = m_thumbIcons[TomahawkUtils::Loved]; m_thumbButtons[TP_LOVE].szTip[ tr( "Unlove" ).toWCharArray( m_thumbButtons[TP_LOVE].szTip ) ] = 0; } else { - QPixmap not_loved( RESPATH "images/not-loved.png" ); - m_thumbButtons[TP_LOVE].hIcon = not_loved.toWinHICON(); + m_thumbButtons[TP_LOVE].hIcon = m_thumbIcons[TomahawkUtils::NotLoved]; m_thumbButtons[TP_LOVE].szTip[ tr( "Love" ).toWCharArray( m_thumbButtons[TP_LOVE].szTip ) ] = 0; } diff --git a/src/TomahawkWindow.h b/src/TomahawkWindow.h index 9a836a5a0..1b9f722cf 100644 --- a/src/TomahawkWindow.h +++ b/src/TomahawkWindow.h @@ -167,6 +167,7 @@ private: #ifdef Q_OS_WIN bool setupWindowsButtons(); const unsigned int m_buttonCreatedID; + QMap m_thumbIcons; #ifdef HAVE_THUMBBUTTON ITaskbarList3* m_taskbarList; THUMBBUTTON m_thumbButtons[5]; From 946ac0f597fd8524e0f2894d63ec53f7e0294474 Mon Sep 17 00:00:00 2001 From: Patrick von Reth Date: Wed, 12 Dec 2012 12:27:04 +0100 Subject: [PATCH 163/332] make sure all values are availible to avaid the next bug --- src/TomahawkWindow.cpp | 44 +++++++++++++++++++++--------------------- src/TomahawkWindow.h | 2 +- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/TomahawkWindow.cpp b/src/TomahawkWindow.cpp index d74bceed6..72f2475bf 100644 --- a/src/TomahawkWindow.cpp +++ b/src/TomahawkWindow.cpp @@ -116,18 +116,6 @@ TomahawkWindow::TomahawkWindow( QWidget* parent ) connect( APP, SIGNAL( tomahawkLoaded() ), vm, SLOT( setTomahawkLoaded() ) ); // Pass loaded signal into libtomahawk so components in there can connect to ViewManager #ifdef Q_OS_WIN - QList list; - list<setupUi( this ); @@ -461,19 +449,19 @@ TomahawkWindow::setupWindowsButtons() THUMBBUTTONMASK dwMask = THUMBBUTTONMASK( THB_ICON | THB_TOOLTIP | THB_FLAGS ); m_thumbButtons[TP_PREVIOUS].dwMask = dwMask; m_thumbButtons[TP_PREVIOUS].iId = TP_PREVIOUS; - m_thumbButtons[TP_PREVIOUS].hIcon = m_thumbIcons[TomahawkUtils::PrevButton]; + m_thumbButtons[TP_PREVIOUS].hIcon = thumbIcon(TomahawkUtils::PrevButton); m_thumbButtons[TP_PREVIOUS].dwFlags = THBF_ENABLED; m_thumbButtons[TP_PREVIOUS].szTip[ tr( "Back" ).toWCharArray( m_thumbButtons[TP_PREVIOUS].szTip ) ] = 0; m_thumbButtons[TP_PLAY_PAUSE].dwMask = dwMask; m_thumbButtons[TP_PLAY_PAUSE].iId = TP_PLAY_PAUSE; - m_thumbButtons[TP_PLAY_PAUSE].hIcon = m_thumbIcons[TomahawkUtils::PlayButton]; + m_thumbButtons[TP_PLAY_PAUSE].hIcon = thumbIcon(TomahawkUtils::PlayButton); m_thumbButtons[TP_PLAY_PAUSE].dwFlags = THBF_ENABLED; m_thumbButtons[TP_PLAY_PAUSE].szTip[ tr( "Play" ).toWCharArray( m_thumbButtons[TP_PLAY_PAUSE].szTip ) ] = 0; m_thumbButtons[TP_NEXT].dwMask = dwMask; m_thumbButtons[TP_NEXT].iId = TP_NEXT; - m_thumbButtons[TP_NEXT].hIcon = m_thumbIcons[TomahawkUtils::NextButton]; + m_thumbButtons[TP_NEXT].hIcon = thumbIcon(TomahawkUtils::NextButton); m_thumbButtons[TP_NEXT].dwFlags = THBF_ENABLED; m_thumbButtons[TP_NEXT].szTip[ tr( "Next" ).toWCharArray( m_thumbButtons[TP_NEXT].szTip ) ] = 0; @@ -485,7 +473,7 @@ TomahawkWindow::setupWindowsButtons() m_thumbButtons[TP_LOVE].dwMask = dwMask; m_thumbButtons[TP_LOVE].iId = TP_LOVE; - m_thumbButtons[TP_LOVE].hIcon = m_thumbIcons[TomahawkUtils::NotLoved]; + m_thumbButtons[TP_LOVE].hIcon = thumbIcon(TomahawkUtils::NotLoved); m_thumbButtons[TP_LOVE].dwFlags = THBF_DISABLED; m_thumbButtons[TP_LOVE].szTip[ tr( "Love" ).toWCharArray( m_thumbButtons[TP_LOVE].szTip ) ] = 0; @@ -508,6 +496,18 @@ TomahawkWindow::setupWindowsButtons() return false; #endif } + +HICON +TomahawkWindow::thumbIcon(TomahawkUtils::ImageType type) +{ + static QMap thumbIcons; + if(!thumbIcons.contains( type ) ) + { + QPixmap pix ( TomahawkUtils::defaultPixmap(type , TomahawkUtils::Original, QSize( 20, 20 ) ) ); + thumbIcons[type] = pix.toWinHICON(); + } + return thumbIcons[type]; +} #endif @@ -731,7 +731,7 @@ TomahawkWindow::audioStateChanged( AudioState newState, AudioState oldState ) { case AudioEngine::Playing: { - m_thumbButtons[TP_PLAY_PAUSE].hIcon = m_thumbIcons[TomahawkUtils::PauseButton]; + m_thumbButtons[TP_PLAY_PAUSE].hIcon = thumbIcon(TomahawkUtils::PauseButton); m_thumbButtons[TP_PLAY_PAUSE].szTip[ tr( "Pause" ).toWCharArray( m_thumbButtons[TP_PLAY_PAUSE].szTip ) ] = 0; updateWindowsLoveButton(); @@ -740,7 +740,7 @@ TomahawkWindow::audioStateChanged( AudioState newState, AudioState oldState ) case AudioEngine::Paused: { - m_thumbButtons[TP_PLAY_PAUSE].hIcon = m_thumbIcons[TomahawkUtils::PlayButton]; + m_thumbButtons[TP_PLAY_PAUSE].hIcon = thumbIcon(TomahawkUtils::PlayButton); m_thumbButtons[TP_PLAY_PAUSE].szTip[ tr( "Play" ).toWCharArray( m_thumbButtons[TP_PLAY_PAUSE].szTip ) ] = 0; } break; @@ -752,10 +752,10 @@ TomahawkWindow::audioStateChanged( AudioState newState, AudioState oldState ) disconnect( AudioEngine::instance()->currentTrack()->toQuery().data(), SIGNAL( socialActionsLoaded() ), this, SLOT( updateWindowsLoveButton() ) ); } - m_thumbButtons[TP_PLAY_PAUSE].hIcon = m_thumbIcons[TomahawkUtils::PlayButton]; + m_thumbButtons[TP_PLAY_PAUSE].hIcon = thumbIcon(TomahawkUtils::PlayButton); m_thumbButtons[TP_PLAY_PAUSE].szTip[ tr( "Play" ).toWCharArray( m_thumbButtons[TP_PLAY_PAUSE].szTip ) ] = 0; - m_thumbButtons[TP_LOVE].hIcon = m_thumbIcons[TomahawkUtils::NotLoved]; + m_thumbButtons[TP_LOVE].hIcon = thumbIcon(TomahawkUtils::NotLoved); m_thumbButtons[TP_LOVE].dwFlags = THBF_DISABLED; } break; @@ -775,12 +775,12 @@ TomahawkWindow::updateWindowsLoveButton() #ifdef HAVE_THUMBBUTTON if ( !AudioEngine::instance()->currentTrack().isNull() && AudioEngine::instance()->currentTrack()->toQuery()->loved() ) { - m_thumbButtons[TP_LOVE].hIcon = m_thumbIcons[TomahawkUtils::Loved]; + m_thumbButtons[TP_LOVE].hIcon = thumbIcon(TomahawkUtils::Loved); m_thumbButtons[TP_LOVE].szTip[ tr( "Unlove" ).toWCharArray( m_thumbButtons[TP_LOVE].szTip ) ] = 0; } else { - m_thumbButtons[TP_LOVE].hIcon = m_thumbIcons[TomahawkUtils::NotLoved]; + m_thumbButtons[TP_LOVE].hIcon = thumbIcon(TomahawkUtils::NotLoved); m_thumbButtons[TP_LOVE].szTip[ tr( "Love" ).toWCharArray( m_thumbButtons[TP_LOVE].szTip ) ] = 0; } diff --git a/src/TomahawkWindow.h b/src/TomahawkWindow.h index 1b9f722cf..b76e35713 100644 --- a/src/TomahawkWindow.h +++ b/src/TomahawkWindow.h @@ -167,7 +167,7 @@ private: #ifdef Q_OS_WIN bool setupWindowsButtons(); const unsigned int m_buttonCreatedID; - QMap m_thumbIcons; + HICON thumbIcon(TomahawkUtils::ImageType type); #ifdef HAVE_THUMBBUTTON ITaskbarList3* m_taskbarList; THUMBBUTTON m_thumbButtons[5]; From e475883c174fbe96c4682ffa0fc9ee4e084b7127 Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Thu, 13 Dec 2012 01:17:09 +0100 Subject: [PATCH 164/332] Automatic merge of Transifex translations --- lang/tomahawk_ar.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_bg.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_bn_IN.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_ca.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_de.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_el.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_en.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_es.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_fr.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_gl.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_hi_IN.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_hu.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_it.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_ja.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_lt.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_pl.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_pt_BR.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_ru.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_sv.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_tr.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_zh_CN.ts | 60 +++++++++++++++++++++--------------------- lang/tomahawk_zh_TW.ts | 60 +++++++++++++++++++++--------------------- 22 files changed, 660 insertions(+), 660 deletions(-) diff --git a/lang/tomahawk_ar.ts b/lang/tomahawk_ar.ts index fb3f189b0..d74e57b7c 100644 --- a/lang/tomahawk_ar.ts +++ b/lang/tomahawk_ar.ts @@ -3521,13 +3521,13 @@ enter the displayed PIN number here: - + Hide Menu Bar إخفي شريط القائمة - + Show Menu Bar أظهر شريط القائمة @@ -3537,136 +3537,136 @@ enter the displayed PIN number here: ال&قائمة الرئيسية - - - + + + Connect To Peer ربط بالند - + Enter peer address: أدخل عنوان الند: - + Enter peer port: أدخل بوابة الند: - + Enter peer key: أدخل مفتاح الند: - + XSPF Error خطأ XSPF - + This is not a valid XSPF playlist. قائمة الأغاني XSPF هذه ليست صالحة. - + Failed to save tracks فشل في حفظ الأغاني - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. بعض الأغاني في قائمة الأغاني لا تحتوي على إسم الفنان أو إسم الأغنية. هذه الأغاني سوف تتجاهل. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. عذرا، هناك مشكلة في الوصول إلى جهاز الصوت أو الأغنية المطلوب، سوف يتم تخطي الأغنية الحالية. تأكد أن لديك خلفية فونون المناسبة والإضافات المطلوبة مثبتة. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. عذرا، هناك مشكلة في الوصول إلى جهاز الصوت أو الأغنية المطلوب، سوف يتم تخطي الأغنية الحالية. - + Station إذاعة - + Create New Station إنشاء قائمة أغاني جديدة - + Name: الاسم: - + Playlist قائمة الأغاني - + Automatic Playlist قائمة أغاني أوتوماتيكية - + Pause تعليق - + &Play &إستمع - + Authentication Error خطأ في المصادقة - + Error connecting to SIP: Authentication failed! خطأ في الاتصال بسيب (SIP): فشلت المصادقة! - + %1 by %2 track, artist name %1 من قبل %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 حقوق الطبع والنشر ٢٠١٠ - ٢٠١٢ - + Thanks to: شكر لكل من: - + About Tomahawk عن توماهوك diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index 87d1e38c7..01bf9723a 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -3534,13 +3534,13 @@ enter the displayed PIN number here: - + Hide Menu Bar Скрий лентата с менюто - + Show Menu Bar Покажи лентата с менюто @@ -3550,139 +3550,139 @@ enter the displayed PIN number here: &Основно меню - - - + + + Connect To Peer Свържи се с друг потребител - + Enter peer address: Въведи адресът на отдалеченият потребител: - + Enter peer port: Въведи порт: - + Enter peer key: Въведи ключът за удостоверяване: - + XSPF Error XSPF Грешка - + This is not a valid XSPF playlist. Това не е валиден XSPF списък - + Failed to save tracks Не мога да запазя списъкът с песни - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Някои от песните в този списък нямат артист и заглавие. Те ще бъдат игнорирани. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Съжалявам. Има проблем с достъпа до твоето аудио-устройство или до избраната песен - тя ще бъде прескочена. Моля, увери се, че са инсталирани подходящ Phonon и приставки. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Съжалявам. Има проблем с достъпа до твоето аудио устройство или избраната песен. Тя ще бъде пропусната. - + Station Станция - + Create New Station Създай нова станция - + Name: Име: - + Playlist Списък - + Automatic Playlist Автоматично-генериран списък - + Pause Пауза - + &Play &Възпроизвеждане - + Authentication Error Грешка при удостоверяване - + Error connecting to SIP: Authentication failed! Грешка при свързване: Неуспешно удостоверяване! - + %1 by %2 track, artist name %1 от %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Всички права - запазени. 2010 - 2012 - + Thanks to: Благодарности на: - + About Tomahawk Относно Tomahawk diff --git a/lang/tomahawk_bn_IN.ts b/lang/tomahawk_bn_IN.ts index 620101107..8a75f915a 100644 --- a/lang/tomahawk_bn_IN.ts +++ b/lang/tomahawk_bn_IN.ts @@ -3510,13 +3510,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3526,136 +3526,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error - + This is not a valid XSPF playlist. - + Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: - + Playlist - + Automatic Playlist - + Pause - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk diff --git a/lang/tomahawk_ca.ts b/lang/tomahawk_ca.ts index 14098692e..4ae6b88da 100644 --- a/lang/tomahawk_ca.ts +++ b/lang/tomahawk_ca.ts @@ -3519,13 +3519,13 @@ introduïu el PIN aquí: - + Hide Menu Bar - + Show Menu Bar @@ -3535,136 +3535,136 @@ introduïu el PIN aquí: - - - + + + Connect To Peer Connexió Remota - + Enter peer address: Introduïu l'adreça remota: - + Enter peer port: Introduïu el port remot: - + Enter peer key: Introduïu la clau remota: - + XSPF Error Error XSPF - + This is not a valid XSPF playlist. No és una llista XSPF vàlida. - + Failed to save tracks Error en desar les cançons - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Algunes cançons de la llista no contenen ni artista ni titol i s'han ignorat. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Hi ha un problema per accedir al dispositiu de so o a la cançó. La cançó actual s'ha saltat. Assegureu-vos que teniu un back.end de Phonon adequant i els plugins necessaris instal·lats. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Hi ha un problema per accedir al dispositiu de so o a la cançó, la cançó actual s'ha saltat. - + Station Emissora - + Create New Station Crea una Nova Emissora - + Name: Nom: - + Playlist Llista - + Automatic Playlist Llista Automàtica - + Pause Pausa - + &Play - + Authentication Error Error d'autentificació - + Error connecting to SIP: Authentication failed! S'ha produït un error connectant-se a SIP: Ha fallat autentificant! - + %1 by %2 track, artist name %1 de %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Gràcies a: - + About Tomahawk Quant a Tomahawk diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index c00599269..1885c083c 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -3518,13 +3518,13 @@ Tomahawk auf Twitter's Website authentifiziert hast: - + Hide Menu Bar - + Show Menu Bar @@ -3534,136 +3534,136 @@ Tomahawk auf Twitter's Website authentifiziert hast: - - - + + + Connect To Peer Mit anderem Tomahawk verbinden - + Enter peer address: Gib die Adresse der Gegenstelle ein: - + Enter peer port: Gib den Port der Gegenstelle ein: - + Enter peer key: Gib den Schlüssel der Gegenstelle ein: - + XSPF Error XSPF-Fehler - + This is not a valid XSPF playlist. Dies ist keine gültige XSPF-Playlist. - + Failed to save tracks Konnte Stücke nicht abspeichern - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Einige Stücke in der Playlist enthalten weder Künstler noch Titel. Diese werden ignoriert. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Es tut uns leid, Tomahawk kann auf dein Audio-Gerät oder das gewünschte Stück nicht zugreifen und überspringt es deshalb. Vergewisser dich, dass ein geignetes Phonon-Backend mitsamt benötigten Plugins installiert ist. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Es tut uns leid, Tomahawk kann auf dein Audio-Gerät oder das gewünschte Stück nicht zugreifen und überspringt es deshalb. - + Station Station - + Create New Station Neue Station erstellen - + Name: Name: - + Playlist Playlist - + Automatic Playlist Automatische Playlist - + Pause Pause - + &Play - + Authentication Error Authentifizierungsfehler - + Error connecting to SIP: Authentication failed! Verbindungsfehler mit SIP: Authentifizierung fehlgeschlagen! - + %1 by %2 track, artist name %1 von %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copright 2010 - 2012 - + Thanks to: Danke an: - + About Tomahawk Über Tomahawk diff --git a/lang/tomahawk_el.ts b/lang/tomahawk_el.ts index 0af818bd7..063fa1dd2 100644 --- a/lang/tomahawk_el.ts +++ b/lang/tomahawk_el.ts @@ -3518,13 +3518,13 @@ enter the displayed PIN number here: - + Hide Menu Bar Απόκρυψη Γραμμής Μενού - + Show Menu Bar @@ -3534,136 +3534,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer Σύνδεση Σε Ομότιμο Κόμβο - + Enter peer address: Εισαγωγή διεύθυνσης ομότιμου κόμβου: - + Enter peer port: Εισαγωγή θύρας ομότιμου κόμβου: - + Enter peer key: Εισαγωγή κλειδιού ομότιμου κόμβου: - + XSPF Error Σφάλμα XSPF - + This is not a valid XSPF playlist. Αυτή δεν είναι μια έγκυρη λίστα αναπαραγωγής XSPF. - + Failed to save tracks Αποτυχία αποθήκευσης κομματιών. - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Μερικά κομμάτια στην λίστα αναπαραγωγής δεν περιέχουν έναν καλλιτέχνη ή έναν τίτλο. Θα αγνοηθούν. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Συγγνώμη, υπάρχει ένα πρόβλημα πρόσβασης στην συσκευή ήχου ή στο επιθυμητό κομμάτι, το τρέχον κομμάτι θα παραλειφθεί. Σιγουρευτείτε ότι έχετε εγκαταστήσει ένα κατάλληλο Phonon backend και τα απαιτούμενα πρόσθετα. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Συγγνώμη, υπάρχει ένα πρόβλημα πρόσβασης στην συσκευή ήχου ή στο επιθυμητό κομμάτι, το τρέχον κομμάτι θα παραλειφθεί. - + Station Σταθμός - + Create New Station Δημιουργία Νέου Σταθμού - + Name: Όνομα: - + Playlist Λίστας Αναπαραγωγής - + Automatic Playlist Αυτόματη Λίστα Αναπαραγωγής - + Pause Παύση - + &Play - + Authentication Error Σφάλμα Πιστοποίησης - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name %1 από %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: Χάρη στους: - + About Tomahawk Σχετικά με το Tomahawk diff --git a/lang/tomahawk_en.ts b/lang/tomahawk_en.ts index ffece4be3..1875adf7b 100644 --- a/lang/tomahawk_en.ts +++ b/lang/tomahawk_en.ts @@ -3523,13 +3523,13 @@ enter the displayed PIN number here: - + Hide Menu Bar Hide Menu Bar - + Show Menu Bar Show Menu Bar @@ -3539,136 +3539,136 @@ enter the displayed PIN number here: &Main Menu - - - + + + Connect To Peer Connect To Peer - + Enter peer address: Enter peer address: - + Enter peer port: Enter peer port: - + Enter peer key: Enter peer key: - + XSPF Error XSPF Error - + This is not a valid XSPF playlist. This is not a valid XSPF playlist. - + Failed to save tracks Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station Station - + Create New Station Create New Station - + Name: Name: - + Playlist Playlist - + Automatic Playlist Automatic Playlist - + Pause Pause - + &Play &Play - + Authentication Error Authentication Error - + Error connecting to SIP: Authentication failed! Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name %1 by %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Thanks to: - + About Tomahawk About Tomahawk diff --git a/lang/tomahawk_es.ts b/lang/tomahawk_es.ts index 6e2ca4865..336d13d03 100644 --- a/lang/tomahawk_es.ts +++ b/lang/tomahawk_es.ts @@ -3518,13 +3518,13 @@ introduzca su número PIN aquí: - + Hide Menu Bar - + Show Menu Bar @@ -3534,136 +3534,136 @@ introduzca su número PIN aquí: - - - + + + Connect To Peer Conectar a un par - + Enter peer address: Introducir dirección del par: - + Enter peer port: Introducir puerto del par: - + Enter peer key: Introducir contraseña del par: - + XSPF Error Error XSPF - + This is not a valid XSPF playlist. Esta no es una lista de reproducción XSPF válida. - + Failed to save tracks Fallo al guardar pistas - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Algunas pistas en la lista de reproducción no contienen artista ni título. Serán ignoradas. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Se ha producido un error al acceder al dispostivo de audio o al tema deseado y se va saltar. Asegúrese de que ha instalado un backend de Phonon adecuado y los plugins necesarios. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Se ha producido un error al acceder al dispostivo de audio o al tema deseado y se va saltar. - + Station - + Create New Station Crear nueva estación - + Name: Nombre: - + Playlist - + Automatic Playlist - + Pause Pausar - + &Play - + Authentication Error Error de autenticación - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name %1 por %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk Acerca de Tomahawk diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index afaaba107..329966ec0 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -3520,13 +3520,13 @@ saisissez le numéro PIN ici : - + Hide Menu Bar Masquer la barre de menu - + Show Menu Bar Afficher la barre de menu @@ -3536,136 +3536,136 @@ saisissez le numéro PIN ici : &Menu Principal - - - + + + Connect To Peer Connexion à un pair - + Enter peer address: Adresse du pair : - + Enter peer port: Port du pair : - + Enter peer key: Clé du pair : - + XSPF Error Erreur XSPF - + This is not a valid XSPF playlist. Ceci n'est pas une liste de lecture XSPF valide. - + Failed to save tracks Échec de la sauvegarde des pistes - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Certaines pistes dans la liste de lecture ne contiennent pas d'artiste ou de titre. Elles seront ignorées. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Désolé, il y a un problème d'accès à votre matériel audio ou la piste en cours va être sautée. Vérifiez que vous avez un backend Phonon et les plugins requis installés. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Désolé, il y a un problème d'accès à votre matériel audio ou la piste en cours va être sauter. - + Station Station - + Create New Station Créer une nouvelle station - + Name: Nom : - + Playlist Liste de lecture - + Automatic Playlist Liste de lecture automatique - + Pause Pause - + &Play &Lire - + Authentication Error Erreur d'authentification - + Error connecting to SIP: Authentication failed! Erreur de connexion SIP : échec de l'authentification ! - + %1 by %2 track, artist name %1 par %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Droit d'auteur 2010 - 2012 - + Thanks to: Merci a: - + About Tomahawk A propos de Tomahawk diff --git a/lang/tomahawk_gl.ts b/lang/tomahawk_gl.ts index cddc96ff5..8e0f1d6fa 100644 --- a/lang/tomahawk_gl.ts +++ b/lang/tomahawk_gl.ts @@ -3520,13 +3520,13 @@ enter the displayed PIN number here: - + Hide Menu Bar Agochar a barra de menú - + Show Menu Bar Mostrar a barra de menú @@ -3536,137 +3536,137 @@ enter the displayed PIN number here: Menú &principal - - - + + + Connect To Peer Conectar cun parceiro - + Enter peer address: Introducir a dirección do parceiro: - + Enter peer port: Introducir o porto do parceiro: - + Enter peer key: Introducir a clave do parceiro: - + XSPF Error Erro XSPF - + This is not a valid XSPF playlist. Esta non é unha lista de XSPF válida. - + Failed to save tracks Fallou o gardado de pistas - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Algunhas pistas na lista de reprodución non indican nin artista nin o título. Ignoraranse. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Hai un problema accedendo ao teu dispositivo de son ou a pista que quere así que se omitirá. Asegúrate de ter o motor Phonon e os engadidos necesarios instalados. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Hai un problema accedendo ao teu dispositivo de son ou a pista que quere así que se omitirá. - + Station - + Create New Station Crear unha nova emisión - + Name: Nome: - + Playlist Lista de reprodución - + Automatic Playlist Lista de reprodución automática - + Pause Pausa - + &Play &Reproducir - + Authentication Error Erro de autenticación - + Error connecting to SIP: Authentication failed! Erro conectándose a SIP: Fallou a autentificación! - + %1 by %2 track, artist name %1 por %2 - + %1 - %2 current track, some window title %1.- %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Agradecementos: - + About Tomahawk Acerca de Tomahawk diff --git a/lang/tomahawk_hi_IN.ts b/lang/tomahawk_hi_IN.ts index f67511d0b..04dbaa9ec 100644 --- a/lang/tomahawk_hi_IN.ts +++ b/lang/tomahawk_hi_IN.ts @@ -3510,13 +3510,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3526,136 +3526,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error - + This is not a valid XSPF playlist. - + Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: - + Playlist - + Automatic Playlist - + Pause - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk diff --git a/lang/tomahawk_hu.ts b/lang/tomahawk_hu.ts index 348d84ec5..8f2091f58 100644 --- a/lang/tomahawk_hu.ts +++ b/lang/tomahawk_hu.ts @@ -3510,13 +3510,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3526,136 +3526,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error XSPF hiba - + This is not a valid XSPF playlist. Nem érvényes XSPF lejátszólista. - + Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station Rádióállomás - + Create New Station - + Name: - + Playlist Lejátszólista - + Automatic Playlist Automatikus lejátszólista - + Pause - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk Tomahawkról diff --git a/lang/tomahawk_it.ts b/lang/tomahawk_it.ts index 5ef0fe8ba..5083ea4d8 100644 --- a/lang/tomahawk_it.ts +++ b/lang/tomahawk_it.ts @@ -3510,13 +3510,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3526,136 +3526,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer Connettiti al peer - + Enter peer address: Inserisci indirizzo peer: - + Enter peer port: Inserisci porta peer: - + Enter peer key: Inserisce chiave peer: - + XSPF Error Errore XSPF - + This is not a valid XSPF playlist. Questa non è una valida playlist XSPF. - + Failed to save tracks Errore nel salvare le tracce - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Alcune tracce nella playlist non contengono l'artista e il titolo. Verrano ignorate. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Spiacente, c'è un problema nell'accedere al tuo dispositivo audio o alla traccia desiderata, questa traccia verrà saltata. Assicurati di avere le giuste librerie Phonon e i plugin necessari installati. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Spiacente, c'è un problema nell'accedere al tuo dispositivo audio o alla traccia desiderata, questa traccia verrà saltata. - + Station Stazione - + Create New Station Crea una nuova stazione - + Name: Nome: - + Playlist Playlist - + Automatic Playlist Playlist automatica - + Pause Pausa - + &Play - + Authentication Error Errore nell'autenticazione - + Error connecting to SIP: Authentication failed! Errore di connessione al SIP: autenticazione fallita! - + %1 by %2 track, artist name %1 di %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Grazie a: - + About Tomahawk Info su Tomahawk diff --git a/lang/tomahawk_ja.ts b/lang/tomahawk_ja.ts index 9a82b4b93..263e57848 100644 --- a/lang/tomahawk_ja.ts +++ b/lang/tomahawk_ja.ts @@ -3524,13 +3524,13 @@ Meta+Ctrl+Z - + Hide Menu Bar メニューバーを隠す - + Show Menu Bar メニューバーを表示 @@ -3540,136 +3540,136 @@ Meta+Ctrl+Z メインメニュー - - - + + + Connect To Peer ピアに接続する - + Enter peer address: ピアのアドレスを入力: - + Enter peer port: ピアのポートを入力: - + Enter peer key: ピアのキーを入力: - + XSPF Error XSPFエラー - + This is not a valid XSPF playlist. このプレイリストは有利なXSPFプレイリストではありません。 - + Failed to save tracks トラックの保存に失敗しました。 - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. プレイリストにアーティストもタイトルの無いトラックが見つかりました。この項目は無視されます。 - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. オーディオデバイス、又は要求トラックをアクセスすることができませんでしたので、このトラックは無視されます。適しているPhononのバックエンドを確認の上、必須プラグインのインストールを確認して下さい。 - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. オーディオデバイス、又は要求トラックをアクセスすることができませんでしたので、このトラックは無視されます。 - + Station ステーション - + Create New Station 新規ステーションを作成 - + Name: 名前: - + Playlist プレイリスト - + Automatic Playlist 自動プレイリスト - + Pause 一時停止 - + &Play 再生 - + Authentication Error 認証エラー - + Error connecting to SIP: Authentication failed! SIPへの接続エラー: 認証が失敗しました! - + %1 by %2 track, artist name %1 by %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Thanks to: - + About Tomahawk Tomahawkについて diff --git a/lang/tomahawk_lt.ts b/lang/tomahawk_lt.ts index 51c8caeff..f9d0c92f2 100644 --- a/lang/tomahawk_lt.ts +++ b/lang/tomahawk_lt.ts @@ -3510,13 +3510,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3526,136 +3526,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error XSPF klaida - + This is not a valid XSPF playlist. - + Failed to save tracks Nepavyko išsaugoti takelių - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station Stotis - + Create New Station Sukurti naują stotį - + Name: Pavadinimas: - + Playlist Grojaraštis - + Automatic Playlist Automatinis grojaraštis - + Pause Pristabdyti - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Autorinės teisės 2010 - 2012 - + Thanks to: Dėkojame: - + About Tomahawk Apie Tomahawk diff --git a/lang/tomahawk_pl.ts b/lang/tomahawk_pl.ts index 21504df03..d1188ff02 100644 --- a/lang/tomahawk_pl.ts +++ b/lang/tomahawk_pl.ts @@ -3513,13 +3513,13 @@ wprowadź pokazany numer PIN tutaj: - + Hide Menu Bar - + Show Menu Bar @@ -3529,136 +3529,136 @@ wprowadź pokazany numer PIN tutaj: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error Błąd XSPF - + This is not a valid XSPF playlist. To nie jest poprawna lista XSPF. - + Failed to save tracks Nie udało się zapisać utworów - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Niektóre utwory na liście nie zawierają artysty i tytułu. Zostaną one zignorowane. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station Utwórz Nową Stację - + Name: Nazwa: - + Playlist - + Automatic Playlist - + Pause Pauza - + &Play - + Authentication Error Błąd uwierzytelniania - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name %1 wykonawcy %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts index 891f106c5..658db041f 100644 --- a/lang/tomahawk_pt_BR.ts +++ b/lang/tomahawk_pt_BR.ts @@ -3520,13 +3520,13 @@ colocar o número PIN mostrado aqui: - + Hide Menu Bar Esconder barra de menu - + Show Menu Bar Mostrar barra de menu @@ -3536,136 +3536,136 @@ colocar o número PIN mostrado aqui: &Menu principal - - - + + + Connect To Peer Conectar-se ao par - + Enter peer address: Coloque o endereço do par: - + Enter peer port: Coloque a porta do par: - + Enter peer key: Coloque a chave do par: - + XSPF Error Erro de XSPF - + This is not a valid XSPF playlist. Esta não é uma lista de reprodução XSPF válida. - + Failed to save tracks Falha ao salvar faixas - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Algumas faixas da lista de reprodução não contem artista e título. Estas serão ignoradas. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Desculpe, há um problema ao acessar sua placa de áudio ou a faixa desejada, a faixa atual será ignorada. Certifique-se de ter um backend do Phonon adequado e os plugins necessários instalados. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Desculpe, há um problema ao acessar sua placa de áudio ou a faixa desejada, a faixa atual será ignorada. - + Station Estação - + Create New Station Criar uma nova estação - + Name: Nome: - + Playlist Playlist - + Automatic Playlist Playlist Automática - + Pause PIN do Twitter - + &Play Re&produzir - + Authentication Error Erro de autenticação - + Error connecting to SIP: Authentication failed! Erro ao conectar ao SIP: Falha de autenticação! - + %1 by %2 track, artist name %1 de %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Agradecimentos: - + About Tomahawk Sobre o Tomahawk diff --git a/lang/tomahawk_ru.ts b/lang/tomahawk_ru.ts index 74a4d18ce..1effffddb 100644 --- a/lang/tomahawk_ru.ts +++ b/lang/tomahawk_ru.ts @@ -3517,13 +3517,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3533,136 +3533,136 @@ enter the displayed PIN number here: &Главное меню - - - + + + Connect To Peer Связаться с Peer - + Enter peer address: Введите адрес узла: - + Enter peer port: Введите адрес порта: - + Enter peer key: Введите адрес ключа: - + XSPF Error Ошибка XSPF - + This is not a valid XSPF playlist. Это не является допустимым XSPF плейлистом. - + Failed to save tracks Не удалось сохранить песни - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Некоторые треки в плейлисте не содержат исполнителя и название. Они будут проигнорированы. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station Станция - + Create New Station Создать новую станцию - + Name: Имя: - + Playlist Плейлист - + Automatic Playlist Автоматический Плейлист - + Pause Пауза - + &Play &Играть - + Authentication Error Ошибка авторизации - + Error connecting to SIP: Authentication failed! Ошибка соединения с SIP: Ошибка авторизации! - + %1 by %2 track, artist name %1 %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Авторское право 2010 - 2012 - + Thanks to: Благодарность - + About Tomahawk О Tomahawk diff --git a/lang/tomahawk_sv.ts b/lang/tomahawk_sv.ts index 24ecc76b8..cef4ba3f1 100644 --- a/lang/tomahawk_sv.ts +++ b/lang/tomahawk_sv.ts @@ -3511,13 +3511,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3527,136 +3527,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer Anslut till klient - + Enter peer address: Ange klientadress: - + Enter peer port: Ange klientport: - + Enter peer key: Ange klientnyckel: - + XSPF Error XSPF-fel - + This is not a valid XSPF playlist. Detta är inte en giltig XSPF-spellista. - + Failed to save tracks Misslyckades med att spara spår - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Några spår i spellistan innehåller inte någon artist och titel. De kommer att ignoreras. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station Skapa ny station - + Name: Namn: - + Playlist - + Automatic Playlist - + Pause Paus - + &Play - + Authentication Error Autentiseringsfel - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name %1 av %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk diff --git a/lang/tomahawk_tr.ts b/lang/tomahawk_tr.ts index 69967b60d..b4c971b46 100644 --- a/lang/tomahawk_tr.ts +++ b/lang/tomahawk_tr.ts @@ -3510,13 +3510,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3526,136 +3526,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error - + This is not a valid XSPF playlist. - + Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: - + Playlist - + Automatic Playlist - + Pause - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk diff --git a/lang/tomahawk_zh_CN.ts b/lang/tomahawk_zh_CN.ts index 37df7773f..d9acdb1d8 100644 --- a/lang/tomahawk_zh_CN.ts +++ b/lang/tomahawk_zh_CN.ts @@ -3521,13 +3521,13 @@ enter the displayed PIN number here: - + Hide Menu Bar 隐藏菜单栏 - + Show Menu Bar 显示菜单栏 @@ -3537,136 +3537,136 @@ enter the displayed PIN number here: 主菜单 - - - + + + Connect To Peer 连接到客户端 - + Enter peer address: 输入客户端地址: - + Enter peer port: 输入客户端端口: - + Enter peer key: 输入客户端密钥: - + XSPF Error XSPF 错误 - + This is not a valid XSPF playlist. 这不是一个合法的 XSPF 播放列表。 - + Failed to save tracks 保存歌曲失败。 - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. 播放列表中的一些歌曲缺失艺术家和标题,它们将被忽略。 - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. 抱歉,访问音频设备或者指定的歌曲时出错。当前歌曲将被跳过。请确认你正在使用合适的 Phonon 后端并安装了必要的插件。 - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. 抱歉,在访问音频设备或者指定的歌曲时出错。当前歌曲将被跳过。 - + Station 电台 - + Create New Station 创建新电台 - + Name: 名字: - + Playlist 播放列表 - + Automatic Playlist 自动播放列表 - + Pause 暂停 - + &Play 播放 - + Authentication Error 认证错误 - + Error connecting to SIP: Authentication failed! 连接到SIP 时错误:认证失败! - + %1 by %2 track, artist name %2 的 %1 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 版权所有 2010 - 2012 - + Thanks to: 感谢: - + About Tomahawk 关于 Tomahawk diff --git a/lang/tomahawk_zh_TW.ts b/lang/tomahawk_zh_TW.ts index f148cc37f..2de6d6636 100644 --- a/lang/tomahawk_zh_TW.ts +++ b/lang/tomahawk_zh_TW.ts @@ -3510,13 +3510,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3526,136 +3526,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer 連接點對點 - + Enter peer address: 輸入對等地址: - + Enter peer port: 輸入對等連接埠: - + Enter peer key: 輸入對等密鑰: - + XSPF Error XSPF 錯誤 - + This is not a valid XSPF playlist. - + Failed to save tracks 無法儲存曲目 - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: 名稱: - + Playlist - + Automatic Playlist - + Pause 暫停 - + &Play - + Authentication Error 驗證錯誤 - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk From c9651edcab502a9f24fdc1ba25242c4934275779 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Thu, 13 Dec 2012 15:03:12 -0500 Subject: [PATCH 165/332] Add Spotify icon (for sourcelist) as SVG --- data/images/spotify-logo.svg | 44 ++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 data/images/spotify-logo.svg diff --git a/data/images/spotify-logo.svg b/data/images/spotify-logo.svg new file mode 100644 index 000000000..de71bdbc2 --- /dev/null +++ b/data/images/spotify-logo.svg @@ -0,0 +1,44 @@ + + + spotify-logo + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From b02d33340b42f7850018ad709e3ff1a5453a2ce0 Mon Sep 17 00:00:00 2001 From: Kilian Lackhove Date: Fri, 14 Dec 2012 10:36:31 +0100 Subject: [PATCH 166/332] MusicBrainzPlugin: avoid duplicate tracks --- src/infoplugins/generic/musicbrainz/MusicBrainzPlugin.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/infoplugins/generic/musicbrainz/MusicBrainzPlugin.cpp b/src/infoplugins/generic/musicbrainz/MusicBrainzPlugin.cpp index 7bda1d747..5a6967cc1 100644 --- a/src/infoplugins/generic/musicbrainz/MusicBrainzPlugin.cpp +++ b/src/infoplugins/generic/musicbrainz/MusicBrainzPlugin.cpp @@ -273,7 +273,11 @@ MusicBrainzPlugin::gotRecordingsSlot() for ( int i = 0; i < tracksNL.count(); i++ ) { QString track = tracksNL.at(i).firstChildElement( "recording" ).firstChildElement( "title" ).text(); - tracksSL << track; + if ( !tracksSL.contains( track ) ) + { + tracksSL << track; + tDebug(LOGVERBOSE) << Q_FUNC_INFO << track; + } } Tomahawk::InfoSystem::InfoRequestData requestData = reply->property( "requestData" ).value< Tomahawk::InfoSystem::InfoRequestData >(); From e7b84283f7d96c6d16f2d02ea6ad1674ff075be5 Mon Sep 17 00:00:00 2001 From: Kilian Lackhove Date: Fri, 14 Dec 2012 10:12:00 +0100 Subject: [PATCH 167/332] MusicBrainzPlugin: use normalized artist names. This fixes releases retrieval for artists names containing weird characters, such as the ellipsis in "... And you will know us by the trail of dead" --- src/infoplugins/generic/musicbrainz/MusicBrainzPlugin.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/infoplugins/generic/musicbrainz/MusicBrainzPlugin.cpp b/src/infoplugins/generic/musicbrainz/MusicBrainzPlugin.cpp index 5a6967cc1..a7fc23bb8 100644 --- a/src/infoplugins/generic/musicbrainz/MusicBrainzPlugin.cpp +++ b/src/infoplugins/generic/musicbrainz/MusicBrainzPlugin.cpp @@ -176,7 +176,7 @@ MusicBrainzPlugin::gotReleaseGroupsSlot() QString groupTitle = releaseGroupsNL.at(i).firstChildElement("title").text(); QString a = releaseGroupsNL.at(i).firstChildElement( "artist-credit" ).firstChildElement( "name-credit" ).firstChildElement( "artist" ).firstChildElement( "name" ).text(); QString id = releaseGroupsNL.at(i).firstChildElement( "artist-credit" ).firstChildElement( "name-credit" ).firstChildElement( "artist" ).attribute( "id" ); - if ( !albums.contains( groupTitle ) && hash["artist"] == a && id == popularId ) + if ( !albums.contains( groupTitle ) && id == popularId && a.normalized( QString::NormalizationForm_KC ) == hash["artist"].normalized( QString::NormalizationForm_KC ) ) { albums << groupTitle; tDebug() << Q_FUNC_INFO << groupTitle; From ff20ed42184930239a50a70387be2f8db79aa120 Mon Sep 17 00:00:00 2001 From: Lasse Liehu Date: Sat, 15 Dec 2012 17:58:02 +0200 Subject: [PATCH 168/332] Add Finnish translation Also add GenericName[fi] to .desktop file --- admin/unix/tomahawk.desktop | 1 + lang/tomahawk_fi.ts | 4404 +++++++++++++++++++++++++++++++++++ lang/tomahawk_i18n.qrc | 1 + src/CMakeLists.txt | 2 +- 4 files changed, 4407 insertions(+), 1 deletion(-) create mode 100644 lang/tomahawk_fi.ts diff --git a/admin/unix/tomahawk.desktop b/admin/unix/tomahawk.desktop index 34fc92376..9540e023d 100644 --- a/admin/unix/tomahawk.desktop +++ b/admin/unix/tomahawk.desktop @@ -3,6 +3,7 @@ Type=Application Version=1.0 Name=Tomahawk GenericName=Music Player +GenericName[fi]=Musiikkisoitin TryExec=tomahawk Exec=tomahawk %u Comment=Tomahawk - Social Music Player diff --git a/lang/tomahawk_fi.ts b/lang/tomahawk_fi.ts new file mode 100644 index 000000000..20296f789 --- /dev/null +++ b/lang/tomahawk_fi.ts @@ -0,0 +1,4404 @@ + + + + + ACLJobDelegate + + + Allow %1 to +connect and stream from you? + Sallitaanko käyttäjän %1 +yhdistää ja toistaa sinulta virtaa? + + + + Allow Streaming + Salli virran toisto + + + + Deny Access + Kiellä pääsy + + + + ACLJobItem + + + Tomahawk needs you to decide whether %1 is allowed to connect. + Tomahawk tarvitsee sinua päättämään, sallitaanko käyttäjän %1 yhdistää. + + + + AccountFactoryWrapper + + + Dialog + Ikkuna + + + + Description goes here + Kuvaus tulee tähän + + + + Add Account + Lisää tili + + + + AccountFactoryWrapperDelegate + + + Online + Verkossa + + + + Connecting... + Yhdistetään... + + + + Offline + Ei verkossa + + + + AccountListWidget + + + Connections + Yhteydet + + + + + Connect &All + Yhdistä &kaikki + + + + Disconnect &All + Katkaise &kaikki + + + + AccountWidget + + + Invite + Kutsu + + + + AccountsToolButton + + + Configure Accounts + Tilien asetukset + + + + ActionCollection + + + &Listen Along + Kuuntele &mukana + + + + Stop &Listening Along + Lopeta &mukana kuunteleminen + + + + &Follow in real-time + &Seuraa reaaliajassa + + + + + &Listen Privately + &Kuuntele yksityisesti + + + + + &Listen Publicly + &Kuuntele julkisesti + + + + &Load Playlist + &Lataa soittolista + + + + &Rename Playlist + &Muuta soittolistan nimeä + + + + &Copy Playlist Link + &Kopioi soittolistan linkki + + + + &Play + &Soita + + + + &Stop + &Pysäytä + + + + &Previous Track + &Edellinen kappale + + + + &Next Track + S&euraava kappale + + + + &Quit + &Lopeta + + + + Load &XSPF... + Lataa &XSPF... + + + + U&pdate Collection + &Päivitä kokoelma + + + + Fully &Rescan Collection + &Muodosta kokoelma alusta alkaen + + + + Show Offline Sources + Näytä verkottomat lähteet + + + + &Configure Tomahawk... + Tomahawkin &asetukset... + + + + Minimize + Pienennä + + + + Zoom + Zoomaa + + + + Hide Menu Bar + Piilota valikkorivi + + + + Diagnostics... + Diagnostiikka... + + + + About &Tomahawk... + Tietoa &Tomahawkista... + + + + &Legal Information... + Lakitiet&oa... + + + + Check For Updates... + Tarkista päivitykset... + + + + &Controls + &Ohjaus + + + + &Settings + &Asetukset + + + + &Help + O&hje + + + + &Window + &Ikkuna + + + + Main Menu + Päävalikko + + + + AlbumInfoWidget + + + Form + Lomake + + + + Tracklist + Kappalelista + + + + Other Albums + Muita albumeita + + + + Cover + Kansikuva + + + + Album + Albumi + + + + Artist + Artisti + + + + Sorry, we could not find any other albums for this artist! + Valitettavasti emme löytänet mitään muita albumeita tältä artistilta! + + + + Sorry, we could not find any tracks for this album! + Valitettavasti emme löytäneet mitään tämän albumin kappaleita! + + + + Other Albums by %1 + Muita artistin %1 levyjä + + + + AlbumModel + + + + All albums from %1 + Kaikki artistin %1 albumit + + + + All albums + Kaikki albumit + + + + ArtistInfoWidget + + + Form + Lomake + + + + + Artist + Artisti + + + + + Cover + Kansikuva + + + + Top Hits + Parhaat hitit + + + + Albums + Albumit + + + + Related Artists + Samankaltaisia artisteja + + + + Sorry, we could not find any albums for this artist! + Valitettavasti emme löytänet yhtään tämän artistin albumia! + + + + Sorry, we could not find any related artists! + Valitettavasti emme löytäneet yhtään samankaltaista artistia! + + + + Sorry, we could not find any top hits for this artist! + Valitettavasti emme löytäneet yhtään tämän artistin parhaista hiteistä! + + + + AudioControls + + + Prev + Edellinen + + + + Play + Soita + + + + Pause + Tauko + + + + Next + Seuraava + + + + Artist + Artisti + + + + Album + Albumi + + + + social + sosiaalisuus + + + + love + tykkää + + + + resolver + selvitin + + + + Time + Aika + + + + Time Left + Aikaa jäljellä + + + + + Shuffle + Sekoita + + + + + Repeat + Toista + + + + Low + Pieni + + + + High + Suuri + + + + Time Elapsed + Kulunut aika + + + + Time Remaining + Jäljellä oleva aika + + + + Share + Jaa + + + + Love + Tykkää + + + + Playing from %1 + Soitetaan lähteestä %1 + + + + AudioEngine + + + Sorry, Tomahawk couldn't find the track '%1' by %2 + Valitettavasti Tomahawk ei löytänyt artistin %2 kappaletta ”%1” + + + + Sorry, Tomahawk couldn't find the artist '%1' + Valitettavasti Tomahawk ei löytänyt artistia ”%1” + + + + Sorry, Tomahawk couldn't find the album '%1' by %2 + Valitettavasti Tomahawk ei löytänyt artistin %2 albumia ”%1” + + + + CategoryAddItem + + + Create new Playlist + Luo uusi soittolista + + + + Create new Station + Luo uusi asema + + + + + New Station + Uusi asema + + + + + %1 Station + %1 – asema + + + + CategoryItem + + + Playlists + Soittolistat + + + + Stations + Asemat + + + + ClearButton + + + Clear + Tyhjennä + + + + ContextWidget + + + InfoBar + Tietopalkki + + + + + Show Footnotes + Näytä alaviitteet + + + + Hide Footnotes + Piilota alaviitteet + + + + CrashReporter + + + Tomahawk Crash Reporter + Tomahawkin kaatumisen ilmoitus + + + + <html><head/><body><p><span style=" font-weight:600;">Sorry!</span> Tomahawk crashed. Please tell us about it! Tomahawk has created an error report for you that can help improve the stability in the future. You can now send this report directly to the Tomahawk developers.</p></body></html> + <html><head/><body><p><span style=" font-weight:600;">Pahoittelut!</span> Tomahawk kaatui. Kerro siitä meille! Tomahawk on luonut puolestasi virheilmoituksen, joka auttaa vakauden parantamisessa jatkossa. Voit nyt lähettää tämän ilmoituksen suoraan Tomahawkin kehittäjille.</p></body></html> + + + + Send this report + Lähetä tämä ilmoitus + + + + Don't send + Älä lähetä + + + + Abort + Keskeytä + + + + You can disable sending crash reports in the configuration dialog. + Voit poistaa kaatumisilmoitusten lähettämisen käytöstä asetusikkunasta. + + + + Uploaded %L1 of %L2 KB. + Lähetetty %L1/%L2 kB. + + + + + Close + Sulje + + + + Sent! <b>Many thanks</b>. + Lähetetty! <b>Paljon kiitoksia</b>. + + + + Failed to send crash info. + Kaatumistietojen lähettäminen epäonnistui. + + + + DatabaseCommand_AllAlbums + + + Unknown + Tuntematon + + + + DelegateConfigWrapper + + + About + Tietoa + + + + Delete Account + Poista tili + + + + About this Account + Tietoa tästä tilistä + + + + DiagnosticsDialog + + + Tomahawk Diagnostics + Tomahawk-diagnostiikka + + + + &Copy to Clipboard + &Kopioi leikepöydälle + + + + Open &Log-file + &Avaa lokitiedosto + + + + EchonestSteerer + + + Steer this station: + Ohjaa tätä asemaa: + + + + Much less + Paljon vähemmän + + + + Less + Vähemän + + + + A bit less + Hieman vähemmän + + + + Keep at current + Pidä nykyisellä + + + + A bit more + Hieman enemmän + + + + More + Enemmän + + + + Much more + Paljon enemmän + + + + Tempo + Tempo + + + + Loudness + Äänekkyys + + + + Danceability + Tanssittavuus + + + + Energy + Energia + + + + Song Hotttnesss + Kappaleen suosittuus + + + + Artist Hotttnesss + Artistin suosittuus + + + + Artist Familiarity + Artistin tuttuus + + + + By Description + Kuvauksen perusteella + + + + Enter a description + Anna kuvaus + + + + Apply steering command + Käytä ohjauskomentoa + + + + Reset all steering commands + Nollaa kaikki ohjauskomennot + + + + FlexibleHeader + + + Filter... + Suodata... + + + + FlexibleView + + + This playlist is currently empty. + Tämä soittolista on parhaillaan tyhjä. + + + + This playlist is currently empty. Add some tracks to it and enjoy the music! + Tämä soittolista on parhaillaan tyhjä. Lisää kappaleita ja nauti musiikista! + + + + GlobalSearchWidget + + + Form + Lomake + + + + IndexingJobItem + + + Indexing database + Indeksoidaan tietokantaa + + + + InfoBar + + + InfoBar + Tietopalkki + + + + Filter... + Suodata... + + + + LastFmConfig + + + Form + Lomake + + + + Scrobble tracks to Last.fm + Skrobblaa kappaleet Last.fm:ään + + + + Username: + Käyttäjätunnus: + + + + Password: + Salasana: + + + + Test Login + Kokeile kirjautumista + + + + Import Playback History + Tuo soittohistoria + + + + Synchronize Loved Tracks + Synkronoi tykätyt kappaleet + + + + LastfmContext + + + Last.fm + Last.fm + + + + LatchedStatusItem + + + %1 is listening along with you! + %1 kuuntelee kanssasi! + + + + LoadXSPF + + + Load XSPF + Lataa XSPF + + + + Playlist URL + Soittolistan osoite + + + + Enter URL... + Anna osoite... + + + + ... + ... + + + + Automatically update + Päivitä automaattisesti + + + + LoadXSPFDialog + + + Load XSPF File + Lataa XSPF-tiedosto + + + + XSPF Files (*.xspf) + XSPF-tiedostot (*.xspf) + + + + LocalCollection + + + Bookmarks + Kirjanmerkit + + + + Saved tracks + Tallennetut kappaleet + + + + LovedTracksItem + + + Top Loved Tracks + Tykätyimmät kappaleet + + + + Loved Tracks + Tykätyt kappaleet + + + + Sorry, we could not find any loved tracks! + Valitettavasti emme löytäneet yhtään tykättyä kappaletta! + + + + The most loved tracks from all your friends + Kaikkien kaveriesi tykätyimmät kappaleet + + + + All of your loved tracks + Kaikki tykkäämäsi kappaleet + + + + All of %1's loved tracks + Kaikki käyttäjän %1 tykkäämät kappaleet + + + + MetadataEditor + + + Form + Lomake + + + + Tags + Tagit + + + + Title: + Nimi: + + + + Title... + Nimi... + + + + Artist: + Artisti: + + + + Artist... + Artisti... + + + + Album: + Albumi: + + + + Album... + Albumi... + + + + Track Number: + Kappaleen numero: + + + + Duration: + Kesto: + + + + 00.00 + 00,00 + + + + Year: + Vuosi: + + + + Bitrate: + Bittinopeus: + + + + File + Tiedosto + + + + File Name: + Tiedostonimi: + + + + File Name... + Tiedostonimi... + + + + File Size... + Tiedostokoko... + + + + File size... + Tiedostokoko... + + + + File Size: + Tiedostokoko: + + + + Back + Edellinen + + + + Forward + Seuraava + + + + Properties + Ominaisuudet + + + + NewPlaylistWidget + + + Enter a title for the new playlist: + Anna uuden soittolistan nimi: + + + + Tomahawk offers a variety of ways to help you create playlists and find music you enjoy! + Tomahawk tarjoaa monia apuja soittolistojen luontiin sekä pitämäsi musiikin etsimiseen! + + + + Just enter a genre or tag name and Tomahawk will suggest a few songs to get you started with your new playlist: + Anna vain lajityypin tai tagin nimi, ja Tomahawk ehdottaa muutamia kappaleita, jotta pääset alkuun uuden soittolistasi parissa: + + + + &Create Playlist + &Luo soittolista + + + + Create a new playlist + Luo uusi soittolista + + + + NewReleasesWidget + + + New Releases + Uudet julkaisut + + + + PlayableModel + + + Artist + Artisti + + + + Title + Nimi + + + + Composer + Säveltäjä + + + + Album + Albumi + + + + Track + Kappale + + + + Duration + Kesto + + + + Bitrate + Bittinopeus + + + + Age + Ikä + + + + Year + Vuosi + + + + Size + Koko + + + + Origin + Alkuperä + + + + Score + Pisteet + + + + + Name + Nimi + + + + PlaylistItemDelegate + + + played %1 by you + kuuntelit %1 + + + + played %1 by %2 + %2 kuunteli %1 + + + + PlaylistLargeItemDelegate + + + played %1 by you + kuuntelit %1 + + + + played %1 by %2 + %2 kuunteli %1 + + + + added %1 + lisätty %1 + + + + by <b>%1</b> + artistilta <b>%1</b> + + + + by <b>%1</b> on <b>%2</b> + artistilta <b>%1</b> albumilla <b>%2</b> + + + + PlaylistModel + + + A playlist you created %1. + Soittolista, jonka loit %1. + + + + + A playlist by %1, created %2. + Soittolista, jonka %1 loi %2. + + + + All tracks by %1 on album %2 + Kaikki artistin %1 kappaleet albumilla %2 + + + + All tracks by %1 + Kaikki artistin %1 kappaleet + + + + PlaylistTypeSelectorDlg + + + New Playlist + Uusi soittolista + + + + Just a regular old playlist... Give it a name, drag in some tracks, and go! + Ihan tavanomainen soittolista... Anna sille nimi, vedä siihen joitain kappaleita ja anna mennä! + + + + Don't know exactly what you want? Give Tomahawk a few pointers and let it build a playlist for you! + Etkö oikein tiedä, mitä haluat? Anna Tomahawkille muutamia vihjeitä ja anna sen muodostaa soittolista puolestasi! + + + + Name: + Nimi: + + + + New Playlist... + Uusi soittolista... + + + + Create Manual Playlist + Luo manuaalinen soittolista + + + + Create Automatic Playlist + Luo automaattinen soittolista + + + + PlaylistView + + + This playlist is currently empty. + Tämä soittolista on parhaillaan tyhjä. + + + + This playlist is currently empty. Add some tracks to it and enjoy the music! + Tämä soittolista on parhaillaan tyhjä. Lisää kappaleita ja nauti musiikista! + + + + ProxyDialog + + + Proxy Settings + Välityspalvelinasetukset + + + + Hostname of proxy server + Välityspalvelimen konenimi + + + + Host + Kone + + + + Port + Portti + + + + Proxy login + Välityspalvelimen tunnus + + + + User + Käyttäjä + + + + Password + Salasana + + + + Proxy password + Välityspalvelimen salasana + + + + No Proxy Hosts: +(Overrides system proxy) + Välityspalvelittomat osoitteet: +(ohittaa järjestelmän välityspalvelimen) + + + + localhost *.example.com (space separated) + localhost *.esimerkki.fi (välilyönnein eroteltuna) + + + + Use proxy for DNS lookups? + Käytetäänkö välityspalvelinta DNS-hauissa? + + + + QObject + + + Friend Finders + Kaverietsimet + + + + Music Finders + Musiikkietsimet + + + + Status Updaters + Tilanpäivittimet + + + + %n year(s) ago + + %n vuosi sitten + %n vuotta sitten + + + + + %n year(s) + + %n vuosi + %n vuotta + + + + + %n month(s) ago + + %n kuukausi sitten + %n kuukautta sitten + + + + + %n month(s) + + %n kuukausi + %n kuukautta + + + + + %n week(s) ago + + %n viikko sitten + %n viikkoa sitten + + + + + %n week(s) + + %n viikko + %n viikkoa + + + + + %n day(s) ago + + %n päivä sitten + %n päivää sitten + + + + + %n day(s) + + %n päivä + %n päivää + + + + + %n hour(s) ago + + %n tunti sitten + %n tuntia sitten + + + + + %n hour(s) + + %n tunti + %n tuntia + + + + + %1 minutes ago + %1 minuuttia sitten + + + + %1 minutes + %1 minuuttia + + + + just now + juuri nyt + + + + QuaZipFilePrivate + + + ZIP/UNZIP API error %1 + ZIP/UNZIP-rajapintavirhe %1 + + + + QueueView + + + InfoBar + Tietopalkki + + + + + Open Queue + Avaa jono + + + + Open Queue - %n item(s) + + Avaa jono – %n kohde + Avaa jono – %n kohdetta + + + + + Close Queue + Sulje jono + + + + RelatedArtistsContext + + + Related Artists + Samankaltaisia artisteja + + + + ResolverConfigDelegate + + + Not found: %1 + Ei löydy: %1 + + + + Failed to load: %1 + Lataaminen epäonnistui: %1 + + + + SearchLineEdit + + + Search + Hae + + + + SearchWidget + + + Search: %1 + Haku: %1 + + + + Results for '%1' + Tulokset haulle ”%1” + + + + SettingsDialog + + + Install from file + Asenna tiedostosta + + + + All + Kaikki + + + + Services + Palvelut + + + + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. + Aseta tilit ja palvelut, joita Tomahawk käyttää musiikin etsimiseen ja noutamiseen, kaveriesi etsimiseen sekä tilasi päivittämiseen. + + + + Collection + Kokoelma + + + + Manage how Tomahawk finds music on your computer. + Hallitse Tomahawkin tapaa etsiä musiikkia tietokoneeltasi. + + + + Advanced + Lisäasetukset + + + + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. + Aseta Tomahawkin lisäasetuksia, joihin kuuluu verkkoyhteysasetukset, selainyhteys ja muuta. + + + + Information + Tiedoksi + + + + Some changed settings will not take effect until Tomahawk is restarted + Jotkin asetusmuutokset tulevat voimaan vasta, kun Tomahawk käynnistetään uudelleen. + + + + Install resolver from file + Asenna selvitin tiedostosta + + + + Delete all Access Control entries? + Poistetaanko kaikki pääsynvalvontatietueet? + + + + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. + Haluatko varmasti poistaa kaikki pääsynvalvontatietueet? Sinulta tullaan kysymään päätös uudelleen jokaisen sellaisen vertaisen kohdalla, johon yhdistät. + + + + Settings_Accounts + + + Form + Lomake + + + + Filter by capability: + Suodata kyvyn perusteella: + + + + Settings_Advanced + + + Form + Lomake + + + + Remote Peer Connection Method + Etävertaisten yhteystapa + + + + None (outgoing connections only) + Ei yhteyttä (vain lähtevät yhteydet) + + + + Use UPnP to establish port forward (recommended) + Käytä UPnP:tä porttien uudelleenohjaukseen (suositellaan) + + + + Use static external IP address/host name and port + Käytä kiinteää julkista IP-osoitetta/konenimeä ja porttia + + + + Set this to your external IP address or host name. Make sure to forward the port to this host! + Aseta julkinen IP-osoitteesi tai konenimesi tähän. Varmista, että ohjaat portin tähän koneeseen! + + + + Static Host Name: + Kiinteä konenimi: + + + + Static Port: + Kiinteä portti: + + + + SOCKS Proxy + SOCKS-välityspalvelin + + + + Use SOCKS Proxy + Käytä SOCKS-välityspalvelinta + + + + Proxy Settings... + Välityspalvelinasetukset... + + + + Other Settings + Muut asetukset + + + + Allow web browsers to interact with Tomahawk (recommended) + Salli webselainten olla yhteydessä Tomahawkiin (suositellaan) + + + + Send reports after Tomahawk crashed + Lähetä ilmoituksia Tomahawkin kaatumisen jälkeen + + + + Show notification when a new song starts to play + Näytä ilmoitus, kun uusi kappale alkaa + + + + Clear All Access Control Entries + Tyhjennä kaikki pääsynvalvontatietueet + + + + Settings_Collection + + + Form + Lomake + + + + Path to scan for music files: + Polku, josta musiikkitiedostoja etsitään: + + + + The Echo Nest supports keeping track of your catalog metadata + and using it to craft personalized radios. Enabling this option + will allow you (and all your friends) to create automatic playlists + and stations based on your personal taste profile. + The Echo Nest voi pitää kirjaa metadatahakemistostasi ja +käyttää sitä personoitujen radioiden tekemiseen. +Tämän valinnan käyttöönottaminen mahdollistaa sinun +(ja kaikkien kaveriesi) luoda automaattisia soittolistoja ja +asemia sinun henkilökohtaisen musiikkimakuprofiilisi perusteella. + + + + Upload collection list to The Echo Nest to enable user radio + Lähetä kokoelmalista The Echo Nestille +käyttäjäradion käyttöönottamiseksi + + + + Watch for changes + Tarkkaile muutoksia + + + + Time between scans, in seconds: + Etsimisten aikaväli (sekunteina): + + + + SlideSwitchButton + + + On + Päällä + + + + Off + Pois + + + + SocialPlaylistWidget + + + Popular New Albums From Your Friends + Kaveriesi suosiossa olevat uudet albumit + + + + Most Played Playlists + Kuunnelluimmat soittolistat + + + + Most Played Tracks You Don't Have + Kuunnelluimmat kappaleet, joita sinulla ei ole + + + + SocialWidget + + + Form + Lomake + + + + Facebook + Facebook + + + + Twitter + Twitter + + + + Cover + Kansikuva + + + + TextLabel + TextLabel + + + + Tweet + Twiittaa + + + + Listening to "%1" by %2. %3 + Kuuntelen ”%1” artistilta %2. %3 + + + + Listening to "%1" by %2 on "%3". %4 + Kuuntelen ”%1” artistilta %2, albumilta ”%3”. %4 + + + + %1 characters left + %1 merkkiä jäljellä + + + + SourceDelegate + + + Track + Kappale + + + + Album + Albumi + + + + Artist + Artisti + + + + Local + Paikallinen + + + + Top 10 + Kymmenen kärki + + + + All available tracks + Kaikki saatavilla olevat kappaleet + + + + + Show + Näytä + + + + + Hide + Piilota + + + + SourceInfoWidget + + + Recent Albums + Viimeaikaiset albumit + + + + Latest Additions + Viimeisimmät lisäykset + + + + Recently Played Tracks + Viime aikoina kuunnellut kappaleet + + + + New Additions + Uudet lisäykset + + + + My recent activity + Viimeaikainen toimintani + + + + Recent activity from %1 + Käyttäjän %1 viimeaikainen toiminta + + + + SourceItem + + + Collection + Kokoelma + + + + + Latest Additions + Viimeisimmät lisäykset + + + + Recently Played + Viime aikoina kuunnellut + + + + SuperCollection + Superkokoelma + + + + Latest additions to your collection + Viimeisimmät lisäykset kokoelmaasi + + + + Latest additions to %1's collection + Viimeisimmät lisäykset käyttäjän %1 kokoelmaan + + + + Sorry, we could not find any recent additions! + Valitettavasti emme löytäneet yhtään viimeaikaisia lisäyksiä! + + + + Recently Played Tracks + Viime aikoina kuunnellut kappaleet + + + + Your recently played tracks + Viime aikoina kuuntelemasi kappaleet + + + + %1's recently played tracks + Käyttäjän %1 viime aikoina kuuntelemat kappaleet + + + + Sorry, we could not find any recent plays! + Valitettavasti emme löytäneet yhtään viimeaikaisia soittoja! + + + + SourceTreeView + + + &Copy Link + &Kopioi linkki + + + + &Export Playlist + &Vie soittolista + + + + &Delete %1 + &Poista %1 + + + + Add to my Playlists + Lisää omiin soittolistoihin + + + + Add to my Automatic Playlists + Lisää omiin automaattisiin soittolistoihin + + + + Add to my Stations + Lisää omiin asemiin + + + + playlist + Ks. alempi viesti + soittolistan + + + + automatic playlist + Ks. alempi viesti + automaattisen soittolistan + + + + station + Ks. alempi viesti + aseman + + + + Would you like to delete the %1 <b>"%2"</b>? + e.g. Would you like to delete the playlist named Foobar? + Haluatko poistaa %1 <b>”%2”</b>? + + + + Delete + Poista + + + + Save XSPF + Tallenna XSPF + + + + Playlists (*.xspf) + Soittolistat (*.xspf) + + + + SourcesModel + + + Group + Ryhmä + + + + Collection + Kokoelma + + + + Playlist + Suomennoshetkellä käytettiin vain asiayhteydessä, jossa suomeksi vaaditaan pieni alkukirjain. + soittolista + + + + Automatic Playlist + Suomennoshetkellä käytettiin vain asiayhteydessä, jossa suomeksi vaaditaan pieni alkukirjain. + automaattinen soittolista + + + + Station + Suomennoshetkellä käytettiin vain asiayhteydessä, jossa suomeksi vaaditaan pieni alkukirjain. + asema + + + + Browse + Selaa + + + + Search History + Hakuhistoria + + + + My Music + Oma musiikki + + + + Dashboard + Kojelauta + + + + SuperCollection + Superkokoelma + + + + Recently Played + Viime aikoina kuunnellut + + + + Charts + Listat + + + + New Releases + Uudet julkaisut + + + + Friends + Kaverit + + + + SpotifyConfig + + + Form + Lomake + + + + Configure your Spotify account + Spotify-tilisi asetukset + + + + Username: + Käyttäjätunnus: + + + + Username or Facebook Email + Käyttäjätunnus tai Facebookin sähköposti + + + + Password: + Salasana: + + + + Log In + Kirjaudu + + + + Right click on any Tomahawk playlist to sync it to Spotify. + Synkronoi Tomahawk-soittolista Spotifyn kanssa +napsauttamalla hiiren oikealla. + + + + Spotify playlists to keep in sync: + Synkronoitavat Spotify-soittolistat: + + + + Select All + Valitse kaikki + + + + High Quality Streams + Laadukkaat virrat + + + + Delete Tomahawk playlist when removing synchronization + Poista Tomahawkin soittolista, kun synkronointi lopetetaan + + + + SpotifyPlaylistUpdater + + + Delete associated Spotify playlist? + Poistetaanko liitetty Spotify-soittolista? + + + + TemporaryPageItem + + + Copy Artist Link + Kopioi artistin linkki + + + + Copy Album Link + Kopioi albumin linkki + + + + Copy Track Link + Kopioi kappaleen linkki + + + + Tomahawk::Accounts::AccountDelegate + + + Add Account + Lisää tili + + + + Remove + Poista + + + + %1 downloads + %1 latausta + + + + Online + Verkossa + + + + Connecting... + Yhdistetään... + + + + Offline + Ei verkossa + + + + Tomahawk::Accounts::AccountModel + + + Manual Install Required + Manuaalinen asennus tarvitaan + + + + Unfortunately, automatic installation of this resolver is not available or disabled for your platform.<br /><br />Please use "Install from file" above, by fetching it from your distribution or compiling it yourself. Further instructions can be found here:<br /><br />http://www.tomahawk-player.org/resolvers/%1 + Valitettavasti tämän selvittimen automaattinen asennus ei ole saatavilla tai on poissa käytöstä alustallasi.<br /><br />Hae selvitin jakelusi kautta tai kääntämällä se itse, ja käytä sitten Asenna tiedostosta -painiketta. Lisäohjeita on osoitteessa:<br /><br />http://www.tomahawk-player.org/resolvers/%1 + + + + Tomahawk::Accounts::GoogleWrapper + + + Configure this Google Account + Tämän Google-tilin asetukset + + + + Google Address: + Google-osoite: + + + + Enter your Google login to connect with your friends using Tomahawk! + Ole yhteydessä Tomahawkia käyttäviin kavereihisi antamalla Google-tunnuksesi! + + + + username@gmail.com + käyttäjätunnus@gmail.com + + + + Tomahawk::Accounts::GoogleWrapperFactory + + + Connect to Google Talk to find your friends + Löydä kaverisi yhdistämällä Google Talkiin + + + + Tomahawk::Accounts::GoogleWrapperSip + + + Enter Google Address + Anna Google-osoite + + + + Add Friend + Lisää kaveri + + + + Enter Google Address: + Anna Google-osoite: + + + + Tomahawk::Accounts::LastFmAccountFactory + + + Scrobble your tracks to last.fm, and find freely downloadable tracks to play + Skrobblaa kappaleet Last.fm:ään, ja löydä kuunneltavaksi ilmaisesti ladattavia kappaleita + + + + Tomahawk::Accounts::LastFmConfig + + + Testing... + Kokeillaan... + + + + Test Login + Kokeile kirjautumista + + + + Importing %1 + e.g. Importing 2012/01/01 + Tuodaan %1 + + + + Importing History... + Tuodaan historiaa... + + + + History Incomplete. Resume + Historia epätäydellinen. Jatketaan tuontia + + + + Playback History Imported + Soittohistoria tuotu + + + + + Failed + Epäonnistui + + + + Success + Onnistui + + + + Could not contact server + Palvelimeen ei saatu yhteyttä + + + + Synchronizing... + Synkronoidaan... + + + + Synchronization Finished + Synkronointi valmis + + + + Tomahawk::Accounts::SpotifyAccount + + + Sync with Spotify + Synkronoi Spotifyn kanssa + + + + Re-enable syncing with Spotify + Ota Spotifyn kanssa synkronointi käyttöön + + + + Create local copy + Luo paikallinen kopio + + + + Stop syncing with Spotify + Lopeta Spotifyn kanssa synkronointi + + + + Subscribe to playlist changes + Tilaa soittolistojen muutokset + + + + Re-enable playlist subscription + Tilaa soittolistojen muutokset uudelleen + + + + Stop subscribing to changes + Lopeta muutosten tilaus + + + + Enable Spotify collaborations + Käytä Spotify-yhteistöitä + + + + Disable Spotify collaborations + Poista Spotify-yhteistyöt käytöstä + + + + Tomahawk::Accounts::SpotifyAccountConfig + + + Logging in... + Kirjaudutaan... + + + + Failed: %1 + Epäonnistui: %1 + + + + Logged in as %1 + Kirjauduttu käyttäjänä %1 + + + + Log Out + Kirjaudu ulos + + + + + Log In + Kirjaudu + + + + Tomahawk::Accounts::SpotifyAccountFactory + + + Play music from and sync your playlists with Spotify Premium + Toista musiikkia Spotify Premiumin kautta ja synkronoi soittolistasi sen kanssa + + + + Tomahawk::Accounts::TwitterAccountFactory + + + Connect to your Twitter followers. + Ole yhteydessä Twitter-seuraajiisi. + + + + Tomahawk::Accounts::TwitterConfigWidget + + + + + Tweet! + Twiittaa! + + + + + Status: No saved credentials + Tila: Ei tallennettuja tunnistetietoja + + + + + + Authenticate + Tunnistaudu + + + + + Status: Credentials saved for %1 + Tila: Tunnistetiedot tallennettu käyttäjälle %1 + + + + + De-authenticate + Poista tunnistautuminen + + + + + + + + + + Tweetin' Error + Twiittausvirhe + + + + The credentials could not be verified. +You may wish to try re-authenticating. + Tunnistetietojen varmennus epäonnistui. +Voit haluta yrittää tunnistautumista uudelleen. + + + + Status: Error validating credentials + Tila: Virhe tunnistetietojen kelpuuttamisessa + + + + Global Tweet + Yleistwiitti + + + + Direct Message + Yksityisviesti + + + + Send Message! + Lähetä viesti! + + + + @Mention + @Maininta + + + + Send Mention! + Lähetä maininta! + + + + You must enter a user name for this type of tweet. + Tällaiselle twiitille pitää antaa käyttäjätunnus. + + + + Your saved credentials could not be loaded. +You may wish to try re-authenticating. + Tallennettuja tunnistetietojasi ei voitu ladata. +Voit haluta yrittää tunnistautumista uudelleen. + + + + Your saved credentials could not be verified. +You may wish to try re-authenticating. + Tallennettuja tunnistetietojasi ei voitu varmentaa. +Voit haluta yrittää tunnistautumista uudelleen. + + + + + There was an error posting your status -- sorry! + Tilasi lähettämisessä tapahtui virhe – anteeksi! + + + + + Tweeted! + Twiitattu! + + + + Your tweet has been posted! + Twiittisi on lähetetty! + + + + There was an error posting your direct message -- sorry! + Yksityisviestisi lähettämisessa tapahtui virhe – anteeksi! + + + + Your message has been posted! + Viestisi on lähetetty! + + + + Tomahawk::Accounts::XmppAccountFactory + + + Log on to your Jabber/XMPP account to connect to your friends + Ole yhteydessä kavereihisi kirjautumalla Jabber/XMPP-tilillesi + + + + Tomahawk::Accounts::ZeroconfFactory + + + Automatically connect to Tomahawks on the local network + Yhdistä paikallisverkon Tomahawkeihin automaattisesti + + + + Tomahawk::ContextMenu + + + &Play + &Soita + + + + + + Add to &Queue + &Lisää jonoon + + + + Continue Playback after this &Track + Jatka s&oittoa tämän kappaleen jälkeen + + + + Stop Playback after this &Track + Pysäytä s&oitto tämän &kappaleen jälkeen + + + + + &Love + &Tykkää + + + + + + &Go to "%1" + Sii&rry sivulle ”%1” + + + + + + Go to "%1" + Siirry sivulle ”%1” + + + + &Copy Track Link + &Kopioi kappaleen linkki + + + + Properties... + Ominaisuudet... + + + + &Delete Items + &Poista kohteet + + + + &Delete Item + &Poista kohde + + + + Copy Album &Link + &Kopioi albumin linkki + + + + Copy Artist &Link + &Kopioi artistin linkki + + + + Un-&Love + Lakkaa &tykkäämästä + + + + Tomahawk::DropJobNotifier + + + playlist + Ks. alemmat viestit + soittolistaa + + + + artist + Ks. alemmat viestit + artistia + + + + track + Ks. alemmat viestit + kappaletta + + + + album + Ks. alemmat viestit + albumia + + + + Fetching %1 from database + Noudetaan %1 tietokannasta + + + + Parsing %1 %2 + Jäsennetään %1 -%2 + + + + Tomahawk::DynamicControlList + + + Click to collapse + Tiivistä napsauttamalla + + + + Tomahawk::DynamicModel + + + + Could not find a playable track. + +Please change the filters or try again. + Soittokelpoista kappaletta ei löydy. + +Muuta suodattimia tai yritä uudelleen. + + + + Failed to generate preview with the desired filters + Esikatselun luonti halutuilla suodattimilla epäonnistui + + + + Tomahawk::DynamicSetupWidget + + + Type: + Tyyppi: + + + + Generate + Muodosta + + + + Tomahawk::DynamicView + + + Add some filters above to seed this station! + Alusta tämä asema lisäämällä hieman suodattimia! + + + + Press Generate to get started! + Aloita painamalla Muodosta! + + + + Add some filters above, and press Generate to get started! + Lisää yllä hieman suodattimia, ja sitten aloita painamalla Muodosta! + + + + Tomahawk::DynamicWidget + + + Station ran out of tracks! + +Try tweaking the filters for a new set of songs to play. + Asemalta loppui kappaleet! + +Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi. + + + + Tomahawk::EchonestControl + + + + + + + + is + on + + + + from user + käyttäjältä + + + + + No users with Echo Nest Catalogs enabled. Try enabling option in Collection settings + Ei käyttäjiä, joilla on Echo Nestin hakemisto käytössä. Kokeile ottaa valinta käyttöön kokoelma-asetuksista + + + + similar to + samankaltainen kuin + + + + + + + + + + Less + Vähemmän + + + + + + + + + + More + Enemmän + + + + 0 BPM + 0 BPM + + + + 500 BPM + 500 BPM + + + + 0 secs + 0 sekuntia + + + + 3600 secs + 3600 sekuntia + + + + -100 dB + −100 dB + + + + 100 dB + 100 dB + + + + Major + Duuri + + + + Minor + Molli + + + + C + C + + + + C Sharp + Ylennetty C + + + + D + D + + + + E Flat + Alennettu E + + + + E + E + + + + F + F + + + + F Sharp + Ylennetty F + + + + G + G + + + + A Flat + Alennettu A + + + + A + A + + + + B Flat + Alennettu H + + + + B + H + + + + Ascending + Nouseva + + + + Descending + Laskeva + + + + Tempo + Tempo + + + + Duration + Kesto + + + + Loudness + Äänekkyys + + + + Artist Familiarity + Artistin tuttuus + + + + Artist Hotttnesss + Artistin suosittuus + + + + Song Hotttnesss + Kappaleen suosittuus + + + + Latitude + Leveysaste + + + + Longitude + Pituusaste + + + + Mode + Moodi + + + + Key + Sävellaji + + + + Energy + Energia + + + + Danceability + Tanssittavuus + + + + only by ~%1 + vain likimäärin artistilta %1 + + + + similar to ~%1 + likimäärin artistin %1 samankaltaisia artisteja + + + + with genre ~%1 + likimäärin lajityypillä %1 + + + + + from no one + ei keneltäkään + + + + My Collection + Oma kokoelma + + + + from %1 radio + käyttäjän %1 radiosta + + + + with %1 %2 + Tätä viestiä ei ollut kirjoitushetkellä mitään järkeä kääntää johtuen %1:n ja %2:n arvoista. + + + + + about %1 BPM + noin %1 BPM + + + + about %n minute(s) long + + noin %n minuutti pitkä + noin %n minuuttia pitkä + + + + + about %1 dB + noin %1 dB + + + + at around %1%2 %3 + Tätä viestiä ei ollut kirjoitushetkellä mitään järkeä kääntää johtuen %1:n ja %3:n arvoista. + + + + + in %1 + sävellajissa %1 + + + + in a %1 key + Toimii kunhan %1 on joko ”duuri” tai ”molli” + %1ssa + + + + sorted in %1 %2 order + lajiteltu %1, lajitteluperusteena %2 + + + + with a %1 mood + %1 mielialalla + + + + in a %1 style + %1 tyylillä + + + + Tomahawk::GroovesharkParser + + + Error fetching Grooveshark information from the network! + Grooveshark-tietojen hakeminen verkosta epäonnistui! + + + + Tomahawk::InfoSystem::ChartsPlugin + + + Top Overall + Kokonaisuudessaan parhaat + + + + Artists + Artistit + + + + Albums + Albumit + + + + Tracks + Kappaleet + + + + Tomahawk::InfoSystem::FdoNotifyPlugin + + + Tomahawk is playing "%1" by %2%3. + Tomahawk soittaa artistin %2 kappaletta ”%1”%3. + + + + on "%1" + albumilta ”%1” + + + + Tomahawk::InfoSystem::LastFmInfoPlugin + + + Top Tracks + Parhaat kappaleet + + + + Loved Tracks + Tykätyt kappaleet + + + + Hyped Tracks + Hypetetyt kappaleet + + + + Top Artists + Parhaat artistit + + + + Hyped Artists + Hypetetyt artistit + + + + Tomahawk::InfoSystem::NewReleasesPlugin + + + Albums + Albumit + + + + Tomahawk::InfoSystem::TwitterInfoPlugin + + + Listening to "%1" by %2 and loving it! %3 + Kuuntelee kappaletta ”%1” artistilta %2 ja pitää siitä! %3 + + + + Tomahawk::ItunesParser + + + Error fetching iTunes information from the network! + iTunes-tietojen hakeminen verkosta epäonnistui! + + + + Tomahawk::JSPFLoader + + + New Playlist + Uusi soittolista + + + + Failed to save tracks + Kappaleiden tallentaminen epäonnistui + + + + Some tracks in the playlist do not contain an artist and a title. They will be ignored. + Joillakin soittolistan kappaleilla ei ole artistia ja nimeä. Ne jätetään huomiotta. + + + + XSPF Error + XSPF-virhe + + + + This is not a valid XSPF playlist. + Tämä ei ole kelvollinen XSPF-soittolista. + + + + Tomahawk::LatchManager + + + &Catch Up + &Ota kiinni + + + + + &Listen Along + Kuuntele &mukana + + + + Tomahawk::Playlist + + + Would you like to delete the playlist <b>"%2"</b>? + e.g. Would you like to delete the playlist named Foobar? + Haluatko poistaa soittolistan <b>”%2”</b>? + + + + Delete + Poista + + + + Tomahawk::Query + + + and + ja + + + + You + Sinä + + + + you + sinä + + + + and + ja + + + + %n other(s) + + %n muu + %n muuta + + + + + %1 people + %1 henkilöä + + + + loved this track + Tätä on mahdoton suomentaa oikein. Tilanteesta riippuen täytyisi olla tykkäsi, tykkäsivät tai tykkäsit. + tykkäsi tästä kappaleesta + + + + Tomahawk::RdioParser + + + Error fetching Rdio information from the network! + Rdio-tietojen hakeminen verkosta epäonnistui! + + + + Tomahawk::ShortenedLinkParser + + + Network error parsing shortened link! + Verkkovirhe jäsennettäessä lyhennettyä linkkiä! + + + + Tomahawk::Source + + + + Scanning (%L1 tracks) + Etsitään (%L1 kappaletta) + + + + Scanning + Etsitään + + + + Checking + Tarkistetaan + + + + Syncing + Synkronoidaan + + + + Importing + Tuodaan + + + + Saving (%1%) + Tallennetaan (%1 %) + + + + Online + Verkossa + + + + Offline + Ei verkossa + + + + Tomahawk::SpotifyParser + + + Error fetching Spotify information from the network! + Spotify-tietojen hakeminen verkosta epäonnistui! + + + + Tomahawk::XspfUpdater + + + Automatically update from XSPF + Päivitä automaattisesti XSPF:stä + + + + TomahawkApp + + + My Collection + Oma kokoelma + + + + TomahawkOAuthTwitter + + + Twitter PIN + Twitterin PIN + + + + After authenticating on Twitter's web site, +enter the displayed PIN number here: + Tunnistauduttuasi Twitterin verkkosivulla, +anna siellä näytetty PIN-koodi tähän: + + + + TomahawkTrayIcon + + + + Hide Tomahawk Window + Piilota Tomahawk-ikkuna + + + + Show Tomahawk Window + Näytä Tomahawk-ikkuna + + + + &Continue Playback after current Track + Jatka s&oittoa nykyisen kappaleen jälkeen + + + + &Stop Playback after current Track + Pysäytä s&oitto nykyisen kappaleen jälkeen + + + + Currently not playing. + Mikään ei soi. + + + + Play + Soita + + + + Pause + Tauko + + + + &Love + &Tykkää + + + + Un-&Love + Lakkaa &tykkäämästä + + + + TomahawkWindow + + + Tomahawk + Tomahawk + + + + &Quit + &Lopeta + + + + Ctrl+Q + Ctrl+Q + + + + Go &Online + Mene &verkkoon + + + + Add &Friend... + Lisää &kaveri... + + + + U&pdate Collection + P&äivitä kokoelma + + + + Update Collection + Päivitä kokoelma + + + + &Configure Tomahawk... + Tomahawkin &asetukset... + + + + Load &XSPF... + Lataa &XSPF... + + + + Create &New Playlist... + Luo &uusi soittolista... + + + + About &Tomahawk... + &Tietoa Tomahawkista... + + + + Create New &Automatic Playlist + Luo uusi &automaattinen soittolista + + + + Create New &Station + Luo uusi a&sema + + + + Show Offline Sources + Näytä verkottomat lähteet + + + + Hide Offline Sources + Piilota verkottomat lähteet + + + + Minimize + Pienennä + + + + Ctrl+M + Ctrl+M + + + + Zoom + Zoomaa + + + + Meta+Ctrl+Z + Meta+Ctrl+Z + + + + &Legal Info... + Lakitiet&oa... + + + + Diagnostics... + Diagnostiikka... + + + + Fully &Rescan Collection + &Muodosta kokoelma alusta alkaen + + + + Fully Rescan Collection + Muodosta kokoelma alusta alkaen + + + + Play + Soita + + + + Space + Space + + + + Previous + Edellinen + + + + Next + Seuraava + + + + + Hide Menu Bar + Piilota valikkorivi + + + + + Show Menu Bar + Näytä valikkorivi + + + + Back + Takaisin + + + + Go back one page + Mene yksi sivu takaisin + + + + Forward + Eteenpäin + + + + Go forward one page + Mene yksi sivu eteenpäin + + + + Global Search... + Yleishaku... + + + + &Main Menu + &Päävalikko + + + + + + Connect To Peer + Yhdistä vertaiseen + + + + Enter peer address: + Anna vertaisen osoite: + + + + Enter peer port: + Anna vertaisen portti: + + + + Enter peer key: + Anna vertaisen avain: + + + + XSPF Error + XSPF-virhe + + + + This is not a valid XSPF playlist. + Tämä ei ole kelvollinen XSPF-soittolista. + + + + Failed to save tracks + Kappaleiden tallentaminen epäonnistui + + + + Some tracks in the playlist do not contain an artist and a title. They will be ignored. + Joillakin soittolistan kappaleilla ei ole artistia ja nimeä. Ne jätetään huomiotta. + + + + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. + Valitettavasti äänilaitteen tai halutun kappaleen kanssa on ongelmia ja nykyinen kappale ohitetaan. Varmista, että sopiva Phononin taustaosa ja vaaditut liitännäiset on asennettu. + + + + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. + Valitettavasti äänilaitteen tai halutun kappaleen kanssa on ongelmia ja nykyinen kappale ohitetaan. + + + + Station + Asema + + + + Create New Station + Luo uusi asema + + + + Name: + Nimi: + + + + Playlist + Soittolista + + + + Automatic Playlist + Automaattinen soittolista + + + + Pause + Tauko + + + + &Play + &Soita + + + + Authentication Error + Tunnistautumisvirhe + + + + Error connecting to SIP: Authentication failed! + Virhe yhdistettäessä SIPiin: tunnistautuminen epäonnistui! + + + + %1 by %2 + track, artist name + %1 artistilta %2 + + + + %1 - %2 + current track, some window title + %1 – %2 + + + + <h2><b>Tomahawk %1<br/>(%2)</h2> + <h2><b>Tomahawk %1<br/>(%2)</h2> + + + + <h2><b>Tomahawk %1</h2> + <h2><b>Tomahawk %1</h2> + + + + Copyright 2010 - 2012 + Copyright 2010–2012 + + + + Thanks to: + Kiitokset: + + + + About Tomahawk + Tietoa Tomahawkista + + + + TopTracksContext + + + Top Hits + Parhaat hitit + + + + TrackInfoWidget + + + Form + Lomake + + + + Similar Tracks + Samankaltaisia kappaleita + + + + Cover + Kansikuva + + + + Track + Kappale + + + + Artist + Artisti + + + + Album + Albumi + + + + Statistics + Tilastot + + + + Sorry, but we could not find similar tracks for this song! + Valitettavasti emme löytäneet tälle kappaleelle samankaltaisia kappaleita! + + + + You've listened to this track %n time(s). + + Olet kuunnellut tätä kappaletta %n kerran. + Olet kuunnellut tätä kappaletta %n kertaa. + + + + + You've never listened to this track before. + Et ole kuunnellut tätä kappaletta aiemmin. + + + + You first listened to it on %1. + Kuuntelit sitä ensi kerran %1. + + + + You've listened to %1 %n time(s). + + Olet kuunnellut artistia %1 %n kerran. + Olet kuunnellut artistia %1 %n kertaa. + + + + + You've never listened to %1 before. + Et ole kuunnellut artistia %1 aiemmin. + + + + TrackView + + + Sorry, your filter '%1' did not match any results. + Valitettavasti suodattimesi ”%1” ei tuottanut yhtään tuloksia. + + + + TransferStatusItem + + + from + streaming artist - track from friend + kaverilta + + + + to + streaming artist - track to friend + kaverille + + + + TreeItemDelegate + + + Unknown + Tuntematon + + + + TreeModel + + + All Artists + Kaikki artistit + + + + + My Collection + Oma kokoelma + + + + + Collection of %1 + Käyttäjän %1 kokoelma + + + + TreeView + + + Sorry, your filter '%1' did not match any results. + Valitettavasti suodattimesi ”%1” ei tuottanut yhtään tuloksia. + + + + TwitterConfigWidget + + + Configure this Twitter account + Tämän Twitter-tilin asetukset + + + + The Twitter plugin allows you to discover and play music from your Twitter friends running Tomahawk and post messages to your account. + Twitter-liitännäisen avulla voit löytää ja soittaa Tomahawkia käyttävien Twitter-kaveriesi musiikkia sekä lähettää viestejä tilillesi. + + + + Status: No saved credentials + Tila: Ei tallennettuja tunnistetietoja + + + + Authenticate with Twitter + Tunnistaudu Twitteriin + + + + Twitter Connections + Twitter-yhteydet + + + + +If you only want to post tweets, you're done. + +If you want to connect Tomahawk to your friends using Twitter, select the type of tweet and press the button below to send a sync message. You must both be following each other as Direct Messages are used. Then be (very) patient -- it can take several minutes! + +You can re-send a sync message at any time simply by sending another tweet using the button. + +Jos haluat vain lähettää twiittejä, olet valmis. + +Jos haluat yhdistää Tomahawkin Twitteriä käyttäviin kavereihisi, valitse twiitin tyyppi ja lähetä synkronointiviesti painamalla Lähetä. Teidän molempien pitää seurata toisianne, koska tässä käytetään yksityisviestejä. Sitten ole kärsivällinen – yhdistämisessä saattaa kestää useita minuutteja! + +Voit lähettää synkronointiviestin uudelleen millä hetkellä hyvänsä lähettämällä toisen twiitin painamalla Lähetä. + + + + Select the kind of tweet you would like, then press the button to post it: + Valitse haluamasi twiitin tyyppi, ja lähetä se sitten painamalla Lähetä: + + + + Global Tweet + Yleistwiitti + + + + @Mention + @Maininta + + + + Direct Message + Yksityisviesti + + + + e.g. @tomahawk + esim. @tomahawk + + + + Send Message + Lähetä viesti + + + + TwitterSipPlugin + + + Enter Twitter username + Anna Twitterin käyttäjätunnus + + + + ViewManager + + + This playlist is empty! + Tämä soittolista on tyhjä! + + + + After you have scanned your music collection you will find your tracks right here. + Löydät kappaleesi tästä, kunhan musiikkikokoelmasi haku on valmistunut. + + + + This collection is empty. + Tämä kokoelma on tyhjä. + + + + SuperCollection + Superkokoelma + + + + Combined libraries of all your online friends + Kaikkien verkkokaveriesi yhdistetyt kirjastot + + + + Recently Played Tracks + Viime aikoina kuunnellut kappaleet + + + + Recently played tracks from all your friends + Kaikkien kaveriesi viime aikoina kuuntelemat kappaleet + + + + Sorry, we could not find any recent plays! + Valitettavasti emme löytäneet yhtään viimeaikaisia soittoja! + + + + WelcomeWidget + + + Recent Additions + Viimeisimmät lisäykset + + + + Newest Stations & Playlists + Uusimmat asemat ja soittolistat + + + + Recently Played Tracks + Viime aikoina kuunnellut kappaleet + + + + Recently played tracks + Viime aikoina kuunnellut kappaleet + + + + No recently created playlists in your network. + Verkossasi ei ole viime aikoina luotuja soittolistoja. + + + + Welcome to Tomahawk + Tervetuloa Tomahawkiin + + + + WhatsHotWidget + + + Charts + Listat + + + + WikipediaContext + + + Wikipedia + Wikipedia + + + + XMPPBot + + + +Terms for %1: + + +Artistin %1 nimet: + + + + No terms found, sorry. + Nimiä ei löydy. + + + + +Hotttness for %1: %2 + + +Artistin %1 suosittuus: %2 + + + + +Familiarity for %1: %2 + + +Artistin %1 tuttuus: %2 + + + + +Lyrics for "%1" by %2: + +%3 + + +Sanat artistin %2 kappaleelle ”%1”: + +%3 + + + + + XSPFLoader + + + Failed to parse contents of XSPF playlist + XSPF-soittolistan sisällön jäsentäminen epäonnistui + + + + Some playlist entries were found without artist and track name, they will be omitted + Joillakin soittolistan kappaleilla ei ole artistia ja nimeä. Ne jätetään huomiotta + + + + Failed to fetch the desired playlist from the network, or the desired file does not exist + Halutun soittolistan hakeminen verkosta epäonnistui tai haluttua tiedostoa ei ole olemassa + + + + New Playlist + Uusi soittolista + + + + XmlConsole + + + Xml stream console + XML-virtakonsoli + + + + + Filter + Suodata + + + + Save log + Tallenna loki + + + + Disabled + Poissa käytöstä + + + + By JID + JID:n perusteella + + + + By namespace uri + Nimiavaruuden URI:n perusteella + + + + By all attributes + Kaikkien attribuuttien perusteella + + + + Visible stanzas + Näkyvät säkeistöt + + + + Information query + Informaatiokysely + + + + Message + Viesti + + + + Presence + Läsnäolo + + + + Custom + Mukautettu + + + + Close + Sulje + + + + Save XMPP log to file + Tallenna XMPP-loki tiedostoon + + + + OpenDocument Format (*.odf);;HTML file (*.html);;Plain text (*.txt) + OpenDocument Format (*.odf);;HTML-tiedosto (*.html);;Muotoilematon teksti (*.txt) + + + + XmppConfigWidget + + + Xmpp Configuration + XMPP-asetukset + + + + Configure this Xmpp account + Tämän XMPP-tilin asetukset + + + + Enter your Xmpp login to connect with your friends using Tomahawk! + Ole yhteydessä Tomahawkia käyttäviin kavereihisi antamalla XMPP-kirjautumistietosi! + + + + Login Information + Kirjautumistiedot + + + + Xmpp ID: + XMPP-tunnus: + + + + e.g. user@example.com + esim: käyttäjä@esimerkki.fi + + + + Password: + Salasana: + + + + An account with this name already exists! + Tämänniminen tili on jo olemassa! + + + + Advanced Xmpp Settings + XMPP-lisäasetukset + + + + Server: + Palvelin: + + + + Port: + Portti: + + + + Lots of servers don't support this (e.g. GTalk, jabber.org) + Useat palvelimet eivät tue tätä (esim. GTalk ja jabber.org) + + + + Publish currently playing track + Julkaise parhaillaan soiva kappale + + + + Enforce secure connection + Pakota salattu yhteys + + + + XmppSipPlugin + + + Enter Jabber ID + Anna Jabber-tunnus + + + + User Interaction + Käyttäjän toiminta + + + + Host is unknown + Kone on tuntematon + + + + Item not found + Kohdetta ei löydy + + + + Authorization Error + Valtuutusvirhe + + + + Remote Stream Error + Etävirran virhe + + + + Remote Connection failed + Etäyhteys epäonnistui + + + + Internal Server Error + Sisäinen palvelinvirhe + + + + System shutdown + Järjestelmän sammutus + + + + Conflict + Ristiriita + + + + No Compression Support + Ei pakkaustukea + + + + No Encryption Support + Ei salaustukea + + + + No Authorization Support + Ei valtuutustukea + + + + No Supported Feature + Ei-tuettu ominaisuus + + + + Unknown + Tuntematon + + + + Add Friend + Lisää kaveri + + + + Enter Xmpp ID: + Anna XMPP-tunnus: + + + + Add Friend... + Lisää kaveri... + + + + XML Console... + XML-konsoli... + + + + I'm sorry -- I'm just an automatic presence used by Tomahawk Player (http://gettomahawk.com). If you are getting this message, the person you are trying to reach is probably not signed on, so please try again later! + Pahoittelen – olen pelkkä Tomahawk-soittimen (http://gettomahawk.com) automaattinen läsnäoloviesti. Jos näet tämän viestin, tavoittelemasi henkilö ei todennäköisesti ole kirjautuneena, joten yritä myöhemmin uudelleen! + + + + Authorize User + Salli käyttäjä + + + + Do you want to add <b>%1</b> to your friend list? + Haluatko lisätä käyttäjän <b>%1</b> kaverilistallesi? + + + + ZeroconfConfig + + + Form + Lomake + + + + Local Network configuration + Paikallisverkon asetukset + + + + This plugin will automatically find other users running Tomahawk on your local network + Tämä liitännäinen löytää automaattisesti muut paikallisverkossa olevat Tomahawk-käyttäjät + + + + Connect automatically when Tomahawk starts + Yhdistä automaattisesti Tomahawkin käynnistymisen yhteydessä + + + diff --git a/lang/tomahawk_i18n.qrc b/lang/tomahawk_i18n.qrc index f01815d68..27170c385 100644 --- a/lang/tomahawk_i18n.qrc +++ b/lang/tomahawk_i18n.qrc @@ -3,6 +3,7 @@ tomahawk_en.qm tomahawk_bg.qm tomahawk_de.qm +tomahawk_fi.qm tomahawk_fr.qm tomahawk_pl.qm tomahawk_pt_BR.qm diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9e01841a3..d8f9e03b1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -155,7 +155,7 @@ INCLUDE(GNUInstallDirs) # translations include( ${CMAKE_SOURCE_DIR}/lang/translations.cmake ) -add_tomahawk_translations(ar bg ca de en es fr ja pl pt_BR ru sv tr zh_CN zh_TW) +add_tomahawk_translations(ar bg ca de en es fi fr ja pl pt_BR ru sv tr zh_CN zh_TW) SET( final_src ${final_src} ${tomahawkMoc} ${tomahawkSources} ${trans_outfile}) From b62f73bab8aa749feb616b724a17bbd0ca5b942e Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sat, 15 Dec 2012 16:43:39 -0500 Subject: [PATCH 169/332] New toggle buttons. Not sure the colors work with the header, but give it a shot. --- data/images/view-toggle-active-centre.svg | 4 +- data/images/view-toggle-active-left.svg | 2 +- data/images/view-toggle-active-right.svg | 2 +- data/images/view-toggle-inactive-centre.svg | 10 +- data/images/view-toggle-inactive-left.svg | 2 +- data/images/view-toggle-pressed-centre.svg | 16 +- data/images/view-toggle-pressed-left.svg | 14 +- data/images/view-toggle-pressed-right.svg | 14 +- src/AudioControls.ui | 1217 +++++++++---------- 9 files changed, 643 insertions(+), 638 deletions(-) diff --git a/data/images/view-toggle-active-centre.svg b/data/images/view-toggle-active-centre.svg index e2b7c72cb..d9deb1d2d 100644 --- a/data/images/view-toggle-active-centre.svg +++ b/data/images/view-toggle-active-centre.svg @@ -1,5 +1,5 @@ - + view-toggle-active-centre Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -9,6 +9,6 @@ - + \ No newline at end of file diff --git a/data/images/view-toggle-active-left.svg b/data/images/view-toggle-active-left.svg index 3ffc30e13..961a47599 100644 --- a/data/images/view-toggle-active-left.svg +++ b/data/images/view-toggle-active-left.svg @@ -1,5 +1,5 @@ - + view-toggle-active-left Created with Sketch (http://www.bohemiancoding.com/sketch) diff --git a/data/images/view-toggle-active-right.svg b/data/images/view-toggle-active-right.svg index 7f45e334d..2c395348e 100644 --- a/data/images/view-toggle-active-right.svg +++ b/data/images/view-toggle-active-right.svg @@ -1,5 +1,5 @@ - + view-toggle-active-right Created with Sketch (http://www.bohemiancoding.com/sketch) diff --git a/data/images/view-toggle-inactive-centre.svg b/data/images/view-toggle-inactive-centre.svg index 6cce0a3df..801f87e6c 100644 --- a/data/images/view-toggle-inactive-centre.svg +++ b/data/images/view-toggle-inactive-centre.svg @@ -1,14 +1,14 @@ - - view-toggle-inactive-right + + view-toggle-inactive-centre Created with Sketch (http://www.bohemiancoding.com/sketch) - + - - + + \ No newline at end of file diff --git a/data/images/view-toggle-inactive-left.svg b/data/images/view-toggle-inactive-left.svg index c98f1aa42..f53a88919 100644 --- a/data/images/view-toggle-inactive-left.svg +++ b/data/images/view-toggle-inactive-left.svg @@ -1,5 +1,5 @@ - + view-toggle-inactive-left Created with Sketch (http://www.bohemiancoding.com/sketch) diff --git a/data/images/view-toggle-pressed-centre.svg b/data/images/view-toggle-pressed-centre.svg index c873f7f8c..81c4b05cf 100644 --- a/data/images/view-toggle-pressed-centre.svg +++ b/data/images/view-toggle-pressed-centre.svg @@ -1,14 +1,16 @@ - - view-toggle-pressed-center + + view-toggle-pressed-centre Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + + - - + + + \ No newline at end of file diff --git a/data/images/view-toggle-pressed-left.svg b/data/images/view-toggle-pressed-left.svg index 7ea9c32f7..796a5ce30 100644 --- a/data/images/view-toggle-pressed-left.svg +++ b/data/images/view-toggle-pressed-left.svg @@ -1,14 +1,16 @@ - + view-toggle-pressed-left Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + + - + + \ No newline at end of file diff --git a/data/images/view-toggle-pressed-right.svg b/data/images/view-toggle-pressed-right.svg index c58c0ad03..c2a0b5965 100644 --- a/data/images/view-toggle-pressed-right.svg +++ b/data/images/view-toggle-pressed-right.svg @@ -1,14 +1,16 @@ - + view-toggle-pressed-right Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + + - + + \ No newline at end of file diff --git a/src/AudioControls.ui b/src/AudioControls.ui index 9d4ae1b31..3db6af485 100644 --- a/src/AudioControls.ui +++ b/src/AudioControls.ui @@ -1,610 +1,609 @@ - - AudioControls - - - - 0 - 0 - 929 - 80 - - - - - 0 - 0 - - - - - 0 - 80 - - - - - 16777215 - 80 - - - - - 0 - - - 0 - - - - - - 0 - 0 - - - - - 254 - 0 - - - - - 254 - 16777215 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Prev - - - - - - - 0 - - - - - Play - - - - - - - Pause - - - - - - - - - Next - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - 16777215 - 74 - - - - - 10 - - - 0 - - - 12 - - - 0 - - - - - - 0 - 0 - - - - - 60 - 60 - - - - - 60 - 60 - - - - Qt::AlignCenter - - - - - - - 4 - - - 6 - - - 2 - - - 0 - - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 3 - - - - - - 0 - 0 - - - - - 0 - 16 - - - - Artist - - - - - - - - 0 - 0 - - - - - 0 - 16 - - - - Album - - - - - - - - - Qt::Horizontal - - - - 4 - 8 - - - - - - - - - - - - Qt::Horizontal - - - - 20 - 1 - - - - - - - - - 0 - 0 - - - - PointingHandCursor - - - social - - - - - - - - 0 - 0 - - - - PointingHandCursor - - - love - - - - - - - - - Qt::Vertical - - - - 20 - 1 - - - - - - - - - - - 0 - 0 - - - - PointingHandCursor - - - resolver - - - - - - - - - Qt::Vertical - - - - 20 - 4 - - - - - - - - 4 - - - 0 - - - 0 - - - 0 - - - - - Time - - - Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 20 - - - - - 16777215 - 20 - - - - Qt::Horizontal - - - - - - - Time Left - - - Qt::AlignRight|Qt::AlignVCenter - - - - - - - - - - - - - - - 0 - 0 - - - - - 200 - 0 - - - - - 200 - 66 - - - - - 2 - - - 0 - - - 2 - - - 0 - - - 0 - - - - - - 2 - - - 2 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 0 - 0 - - - - Shuffle - - - - - - - - 0 - 0 - - - - Repeat - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - 2 - - - 2 - - - - - - 0 - 0 - - - - Low - - - - - - - - 0 - 20 - - - - - 16777215 - 20 - - - - Qt::Horizontal - - - - - - - - 0 - 0 - - - - High - - - - - - - - - - - - - - SeekSlider - QSlider -
widgets/SeekSlider.h
-
- - ImageButton - QPushButton -
widgets/ImageButton.h
-
- - QueryLabel - QLabel -
widgets/QueryLabel.h
-
- - FadingPixmap - QLabel -
widgets/FadingPixmap.h
-
-
- - -
+AudioControls + + + +0 +0 +929 +80 + + + + +0 +0 + + + + +0 +80 + + + + +16777215 +80 + + + + +0 + + +0 + + + + + +0 +0 + + + + +254 +0 + + + + +254 +16777215 + + + + + + +Qt::Horizontal + + + +40 +20 + + + + + + + +Prev + + + + + + +0 + + + + +Play + + + + + + +Pause + + + + + + + + +Next + + + + + + +Qt::Horizontal + + + +40 +20 + + + + + + + + + + + +16777215 +74 + + + + +10 + + +0 + + +12 + + +0 + + + + + +0 +0 + + + + +60 +60 + + + + +60 +60 + + + +Qt::AlignCenter + + + + + + +4 + + +6 + + +2 + + +0 + + + + +0 + + +0 + + +0 + + +0 + + + + +0 + + +0 + + +0 + + +0 + + +3 + + + + + +0 +0 + + + + +0 +16 + + + +Artist + + + + + + + +0 +0 + + + + +0 +16 + + + +Album + + + + + + + + +Qt::Horizontal + + + +4 +8 + + + + + + + + + + + +Qt::Horizontal + + + +20 +1 + + + + + + + + +0 +0 + + + +PointingHandCursor + + +social + + + + + + + +0 +0 + + + +PointingHandCursor + + +love + + + + + + + + +Qt::Vertical + + + +20 +1 + + + + + + + + + + +0 +0 + + + +PointingHandCursor + + +resolver + + + + + + + + +Qt::Vertical + + + +20 +4 + + + + + + + +4 + + +0 + + +0 + + +0 + + + + +Time + + +Qt::AlignLeft|Qt::AlignVCenter + + + + + + + +0 +20 + + + + +16777215 +20 + + + +Qt::Horizontal + + + + + + +Time Left + + +Qt::AlignRight|Qt::AlignVCenter + + + + + + + + + + + + + + +0 +0 + + + + +200 +0 + + + + +200 +66 + + + + +2 + + +0 + + +2 + + +0 + + +0 + + + + + +2 + + +2 + + + + +Qt::Horizontal + + + +40 +20 + + + + + + + + +0 +0 + + + +Shuffle + + + + + + + +0 +0 + + + +Repeat + + + + + + +Qt::Horizontal + + + +40 +20 + + + + + + + + + + + +2 + + +2 + + + + + +0 +0 + + + +Low + + + + + + + +0 +20 + + + + +16777215 +20 + + + +Qt::Horizontal + + + + + + + +0 +0 + + + +High + + + + + + + + + + + + + +SeekSlider +QSlider +
widgets/SeekSlider.h
+
+ +ImageButton +QPushButton +
widgets/ImageButton.h
+
+ +QueryLabel +QLabel +
widgets/QueryLabel.h
+
+ +FadingPixmap +QLabel +
widgets/FadingPixmap.h
+
+
+ + + \ No newline at end of file From 93a158eebbe47771eca0b15ca92ff3fb9f0a53c8 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sat, 15 Dec 2012 16:54:18 -0500 Subject: [PATCH 170/332] Fix borders & shadows on toggle buttons --- data/images/view-toggle-pressed-centre.svg | 6 +++--- data/images/view-toggle-pressed-left.svg | 4 ++-- data/images/view-toggle-pressed-right.svg | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/data/images/view-toggle-pressed-centre.svg b/data/images/view-toggle-pressed-centre.svg index 81c4b05cf..f5fb7355f 100644 --- a/data/images/view-toggle-pressed-centre.svg +++ b/data/images/view-toggle-pressed-centre.svg @@ -1,5 +1,5 @@ - + view-toggle-pressed-centre Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -7,10 +7,10 @@ - + - + \ No newline at end of file diff --git a/data/images/view-toggle-pressed-left.svg b/data/images/view-toggle-pressed-left.svg index 796a5ce30..55734f01f 100644 --- a/data/images/view-toggle-pressed-left.svg +++ b/data/images/view-toggle-pressed-left.svg @@ -1,5 +1,5 @@ - + view-toggle-pressed-left Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -7,7 +7,7 @@ - + diff --git a/data/images/view-toggle-pressed-right.svg b/data/images/view-toggle-pressed-right.svg index c2a0b5965..69dc4cecd 100644 --- a/data/images/view-toggle-pressed-right.svg +++ b/data/images/view-toggle-pressed-right.svg @@ -1,5 +1,5 @@ - + view-toggle-pressed-right Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -7,7 +7,7 @@ - + From e53eec04706330e43d2bfb46c59162965f1488dc Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Sun, 16 Dec 2012 01:16:59 +0100 Subject: [PATCH 171/332] Automatic merge of Transifex translations --- lang/tomahawk_ar.ts | 30 +++++++++++++++--------------- lang/tomahawk_bg.ts | 30 +++++++++++++++--------------- lang/tomahawk_bn_IN.ts | 30 +++++++++++++++--------------- lang/tomahawk_ca.ts | 30 +++++++++++++++--------------- lang/tomahawk_de.ts | 30 +++++++++++++++--------------- lang/tomahawk_el.ts | 30 +++++++++++++++--------------- lang/tomahawk_en.ts | 30 +++++++++++++++--------------- lang/tomahawk_es.ts | 30 +++++++++++++++--------------- lang/tomahawk_fr.ts | 30 +++++++++++++++--------------- lang/tomahawk_gl.ts | 30 +++++++++++++++--------------- lang/tomahawk_hi_IN.ts | 30 +++++++++++++++--------------- lang/tomahawk_hu.ts | 30 +++++++++++++++--------------- lang/tomahawk_it.ts | 30 +++++++++++++++--------------- lang/tomahawk_ja.ts | 30 +++++++++++++++--------------- lang/tomahawk_lt.ts | 30 +++++++++++++++--------------- lang/tomahawk_pl.ts | 30 +++++++++++++++--------------- lang/tomahawk_pt_BR.ts | 30 +++++++++++++++--------------- lang/tomahawk_ru.ts | 30 +++++++++++++++--------------- lang/tomahawk_sv.ts | 30 +++++++++++++++--------------- lang/tomahawk_tr.ts | 30 +++++++++++++++--------------- lang/tomahawk_zh_CN.ts | 30 +++++++++++++++--------------- lang/tomahawk_zh_TW.ts | 30 +++++++++++++++--------------- 22 files changed, 330 insertions(+), 330 deletions(-) diff --git a/lang/tomahawk_ar.ts b/lang/tomahawk_ar.ts index d74e57b7c..05326a34b 100644 --- a/lang/tomahawk_ar.ts +++ b/lang/tomahawk_ar.ts @@ -368,79 +368,79 @@ connect and stream from you? AudioControls - + Prev سابق - + Play إستمع - + Pause تعليق - + Next التالي - + Artist فنان - + Album البوم - + social اجتماعي - + love أحب - + resolver المحلل - + Time الوقت - + Time Left الوقت المتبقي - + Shuffle خلط - + Repeat إعادة - + Low منخفض - + High مرتفع diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index 01bf9723a..45ca137ab 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -367,79 +367,79 @@ connect and stream from you? AudioControls - + Prev Предходна - + Play Изпълни - + Pause Пауза - + Next Следваща - + Artist Артист - + Album Албум - + social социален - + love Харесай - + resolver Модул за извличане - + Time Времетраене - + Time Left Оставащо време - + Shuffle Разбъркано - + Repeat Повтори - + Low 0 - + High 100% diff --git a/lang/tomahawk_bn_IN.ts b/lang/tomahawk_bn_IN.ts index 8a75f915a..c345712ea 100644 --- a/lang/tomahawk_bn_IN.ts +++ b/lang/tomahawk_bn_IN.ts @@ -367,79 +367,79 @@ connect and stream from you? AudioControls - + Prev - + Play - + Pause - + Next - + Artist - + Album - + social - + love - + resolver - + Time - + Time Left - + Shuffle - + Repeat - + Low - + High diff --git a/lang/tomahawk_ca.ts b/lang/tomahawk_ca.ts index 4ae6b88da..fdf41bc03 100644 --- a/lang/tomahawk_ca.ts +++ b/lang/tomahawk_ca.ts @@ -367,79 +367,79 @@ connect and stream from you? AudioControls - + Prev Anterior - + Play Reprodueix - + Pause Pausa - + Next Següent - + Artist Artista - + Album Àlbum - + social social - + love M'encanta - + resolver - + Time Temps - + Time Left Temps Restant - + Shuffle Mescla - + Repeat Repeteix - + Low Baix - + High Alt diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index 1885c083c..91d10ad96 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -368,79 +368,79 @@ erlauben sich mit dir zu verbinden?
AudioControls - + Prev Zurück - + Play Abspielen - + Pause Pause - + Next Weiter - + Artist Künstler - + Album Album - + social Sozial - + love Lieben - + resolver - + Time Zeit - + Time Left Zeit verbleibend - + Shuffle Zufall - + Repeat Wiederholen - + Low Niedrig - + High Hoch diff --git a/lang/tomahawk_el.ts b/lang/tomahawk_el.ts index 063fa1dd2..786b39230 100644 --- a/lang/tomahawk_el.ts +++ b/lang/tomahawk_el.ts @@ -367,79 +367,79 @@ connect and stream from you? AudioControls - + Prev Προηγ - + Play Αναπαραγωγή - + Pause Παύση - + Next Επόμενο - + Artist Καλλιτέχνης - + Album Άλμπουμ - + social - + love αγάπησε - + resolver - + Time Χρόνος - + Time Left Απομένει - + Shuffle Τυχαία σειρά - + Repeat Επανάληψη - + Low Χαμηλή - + High Υψηλή diff --git a/lang/tomahawk_en.ts b/lang/tomahawk_en.ts index 1875adf7b..4e041ee15 100644 --- a/lang/tomahawk_en.ts +++ b/lang/tomahawk_en.ts @@ -368,79 +368,79 @@ connect and stream from you?
AudioControls - + Prev Prev - + Play Play - + Pause Pause - + Next Next - + Artist Artist - + Album Album - + social social - + love love - + resolver resolver - + Time Time - + Time Left Time Left - + Shuffle Shuffle - + Repeat Repeat - + Low Low - + High High diff --git a/lang/tomahawk_es.ts b/lang/tomahawk_es.ts index 336d13d03..4fb298602 100644 --- a/lang/tomahawk_es.ts +++ b/lang/tomahawk_es.ts @@ -367,79 +367,79 @@ connect and stream from you? AudioControls - + Prev Anterior - + Play Reproducir - + Pause Pausar - + Next Siguiente - + Artist Artista - + Album Álbum - + social social - + love favorita - + resolver - + Time Duración - + Time Left Tiempo restante - + Shuffle Aleatorio - + Repeat Repetir - + Low Bajar volumen - + High Subir volumen diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index 329966ec0..d14ee2709 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -368,79 +368,79 @@ de se connecter et streamer de vous?
AudioControls - + Prev Précédent - + Play Lecture - + Pause Pause - + Next Suivant - + Artist Artiste - + Album Album - + social social - + love favori - + resolver - + Time Durée - + Time Left Durée restante - + Shuffle Lecture Aléatoire - + Repeat Répéter - + Low Bas - + High Haut diff --git a/lang/tomahawk_gl.ts b/lang/tomahawk_gl.ts index 8e0f1d6fa..10dcca4e7 100644 --- a/lang/tomahawk_gl.ts +++ b/lang/tomahawk_gl.ts @@ -367,79 +367,79 @@ connect and stream from you? AudioControls - + Prev Anterior - + Play Reproducir - + Pause Pausa - + Next Seguinte - + Artist Artista - + Album Álbum - + social social - + love gusta - + resolver resolvedor - + Time Tempo - + Time Left Tempo que queda - + Shuffle Ao chou - + Repeat Repetir - + Low Baixa - + High Alta diff --git a/lang/tomahawk_hi_IN.ts b/lang/tomahawk_hi_IN.ts index 04dbaa9ec..82466542d 100644 --- a/lang/tomahawk_hi_IN.ts +++ b/lang/tomahawk_hi_IN.ts @@ -367,79 +367,79 @@ connect and stream from you? AudioControls - + Prev - + Play - + Pause - + Next - + Artist - + Album - + social - + love - + resolver - + Time - + Time Left - + Shuffle - + Repeat - + Low - + High diff --git a/lang/tomahawk_hu.ts b/lang/tomahawk_hu.ts index 8f2091f58..9bb5ae2c1 100644 --- a/lang/tomahawk_hu.ts +++ b/lang/tomahawk_hu.ts @@ -367,79 +367,79 @@ connect and stream from you? AudioControls - + Prev Előző - + Play Lejátszás - + Pause Szünet - + Next Következő - + Artist Előadó - + Album Album - + social - + love - + resolver - + Time Idő - + Time Left Hátralévő idő - + Shuffle - + Repeat Ismétlés - + Low Alacsony - + High Magas diff --git a/lang/tomahawk_it.ts b/lang/tomahawk_it.ts index 5083ea4d8..2b7c848bd 100644 --- a/lang/tomahawk_it.ts +++ b/lang/tomahawk_it.ts @@ -367,79 +367,79 @@ connect and stream from you? AudioControls - + Prev Indietro - + Play Play - + Pause Pausa - + Next Avanti - + Artist Artista - + Album Album - + social sociale - + love love - + resolver - + Time Durata - + Time Left Tempo rimasto - + Shuffle Riproduzione casuale - + Repeat Ripeti - + Low Basso - + High Alto diff --git a/lang/tomahawk_ja.ts b/lang/tomahawk_ja.ts index 263e57848..6e39df6ec 100644 --- a/lang/tomahawk_ja.ts +++ b/lang/tomahawk_ja.ts @@ -367,79 +367,79 @@ connect and stream from you? AudioControls - + Prev 前へ - + Play 再生 - + Pause 一時停止 - + Next 次へ - + Artist アーティスト - + Album アルバム - + social ソーシャル - + love Love - + resolver リゾルバー - + Time 時間 - + Time Left 残り時間 - + Shuffle シャッフル - + Repeat リピート - + Low - + High diff --git a/lang/tomahawk_lt.ts b/lang/tomahawk_lt.ts index f9d0c92f2..84c431b46 100644 --- a/lang/tomahawk_lt.ts +++ b/lang/tomahawk_lt.ts @@ -367,79 +367,79 @@ connect and stream from you? AudioControls - + Prev Ankstesnis - + Play Groti - + Pause Pristabdyti - + Next Kitas - + Artist Atlikėjas - + Album Albumas - + social - + love - + resolver - + Time - + Time Left - + Shuffle Maišyti - + Repeat Kartoti - + Low - + High diff --git a/lang/tomahawk_pl.ts b/lang/tomahawk_pl.ts index d1188ff02..b69b6441c 100644 --- a/lang/tomahawk_pl.ts +++ b/lang/tomahawk_pl.ts @@ -367,79 +367,79 @@ connect and stream from you? AudioControls - + Prev Poprzedni - + Play Odtwarzaj - + Pause Pauza - + Next Następny - + Artist Artysta - + Album Album - + social - + love ulubione - + resolver - + Time Czas - + Time Left Pozostały czas - + Shuffle Losowo - + Repeat Powtarzaj - + Low Nisko - + High Wysoko diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts index 658db041f..ca12f8362 100644 --- a/lang/tomahawk_pt_BR.ts +++ b/lang/tomahawk_pt_BR.ts @@ -368,79 +368,79 @@ se conecte e faça o stream de você?
AudioControls - + Prev Anterior - + Play Play - + Pause Pausar - + Next Próxima - + Artist Artista - + Album Álbum - + social social - + love Favorita - + resolver resolvedor - + Time Tempo - + Time Left Tempo restante - + Shuffle Shuffle - + Repeat Repetir - + Low Diminuir - + High Aumentar diff --git a/lang/tomahawk_ru.ts b/lang/tomahawk_ru.ts index 1effffddb..5bc09256e 100644 --- a/lang/tomahawk_ru.ts +++ b/lang/tomahawk_ru.ts @@ -368,79 +368,79 @@ connect and stream from you? AudioControls - + Prev Предыдущая - + Play Играть - + Pause Пауза - + Next Следующая - + Artist Исполнитель - + Album Альбом - + social социальный - + love Любимая - + resolver - + Time Прошло - + Time Left Осталось - + Shuffle Случаная - + Repeat Повторять - + Low Тише - + High Громче diff --git a/lang/tomahawk_sv.ts b/lang/tomahawk_sv.ts index cef4ba3f1..f1e868c55 100644 --- a/lang/tomahawk_sv.ts +++ b/lang/tomahawk_sv.ts @@ -367,79 +367,79 @@ connect and stream from you? AudioControls - + Prev Föreg - + Play Spela upp - + Pause Paus - + Next Nästa - + Artist Artist - + Album Album - + social - + love älska - + resolver - + Time Tid - + Time Left Tid kvar - + Shuffle Blanda - + Repeat Upprepa - + Low Låg - + High Hög diff --git a/lang/tomahawk_tr.ts b/lang/tomahawk_tr.ts index b4c971b46..4f645b7dd 100644 --- a/lang/tomahawk_tr.ts +++ b/lang/tomahawk_tr.ts @@ -367,79 +367,79 @@ connect and stream from you? AudioControls - + Prev Geri - + Play Yürüt - + Pause Duraklat - + Next Sonraki - + Artist Sanatçı - + Album Albüm - + social - + love beğen - + resolver - + Time Süre - + Time Left Kalan Süre - + Shuffle Karışık - + Repeat Yenile - + Low Düşük - + High Yüksek diff --git a/lang/tomahawk_zh_CN.ts b/lang/tomahawk_zh_CN.ts index d9acdb1d8..1249908ab 100644 --- a/lang/tomahawk_zh_CN.ts +++ b/lang/tomahawk_zh_CN.ts @@ -367,79 +367,79 @@ connect and stream from you? AudioControls - + Prev 上一首 - + Play 播放 - + Pause 暂停 - + Next 下一首 - + Artist 艺人 - + Album 专辑 - + social - + love 喜欢 - + resolver 解析器 - + Time 时间 - + Time Left 剩余时间 - + Shuffle 无序播放 - + Repeat 重复播放 - + Low - + High diff --git a/lang/tomahawk_zh_TW.ts b/lang/tomahawk_zh_TW.ts index 2de6d6636..6529540a4 100644 --- a/lang/tomahawk_zh_TW.ts +++ b/lang/tomahawk_zh_TW.ts @@ -367,79 +367,79 @@ connect and stream from you? AudioControls - + Prev 上一首 - + Play 播放 - + Pause 暫停 - + Next 下一首 - + Artist 演出者 - + Album 專輯 - + social - + love 喜愛 - + resolver - + Time 時間 - + Time Left 剩餘時間 - + Shuffle 隨機 - + Repeat 重複 - + Low - + High From 385f04f2e9964f85fc0ac353192fbdf8e3ad35d8 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sat, 15 Dec 2012 19:55:11 -0500 Subject: [PATCH 172/332] More icon tweaks for consistency --- data/images/add-contact.svg | 4 +- data/images/artist-placeholder-grid.svg | 45 +++----------- data/images/downloading.svg | 8 +-- data/images/lastfm-settings.svg | 68 +++++---------------- data/images/list-add.svg | 10 +-- data/images/list-remove.svg | 8 +-- data/images/loading-animation.svg | 28 ++++----- data/images/no-artist-image-placeholder.svg | 8 +-- data/images/no-source.svg | 63 ++++--------------- data/images/now-playing-speaker-dark.svg | 10 +-- data/images/now-playing-speaker.svg | 10 +-- data/images/open-padlock.svg | 13 ++-- data/images/resolver-default.svg | 67 ++++---------------- data/images/resolvers-settings.svg | 17 ++++-- data/images/search-box-dismiss-x.svg | 10 +-- data/images/sipplugin-add.svg | 15 +++-- data/images/sipplugin-remove.svg | 15 +++-- data/images/uploading.svg | 8 +-- data/images/view-refresh.svg | 6 +- 19 files changed, 143 insertions(+), 270 deletions(-) diff --git a/data/images/add-contact.svg b/data/images/add-contact.svg index 11e81697e..647d8d98e 100644 --- a/data/images/add-contact.svg +++ b/data/images/add-contact.svg @@ -1,5 +1,5 @@ - + add-contact Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -14,7 +14,7 @@ - + \ No newline at end of file diff --git a/data/images/artist-placeholder-grid.svg b/data/images/artist-placeholder-grid.svg index b80659ed5..5f3f487b2 100644 --- a/data/images/artist-placeholder-grid.svg +++ b/data/images/artist-placeholder-grid.svg @@ -1,39 +1,14 @@ - - artist-placeholder + + artist-placeholder-grid Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + \ No newline at end of file diff --git a/data/images/downloading.svg b/data/images/downloading.svg index cad384b27..fcc720d23 100644 --- a/data/images/downloading.svg +++ b/data/images/downloading.svg @@ -1,12 +1,12 @@ - + downloading Created with Sketch (http://www.bohemiancoding.com/sketch) - + - - + + \ No newline at end of file diff --git a/data/images/lastfm-settings.svg b/data/images/lastfm-settings.svg index 802f7821c..9d104e92d 100644 --- a/data/images/lastfm-settings.svg +++ b/data/images/lastfm-settings.svg @@ -1,53 +1,17 @@ - - -image/svg+xml \ No newline at end of file + + lastfm-settings + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/list-add.svg b/data/images/list-add.svg index 0ddb0e42b..aab5ab7a6 100644 --- a/data/images/list-add.svg +++ b/data/images/list-add.svg @@ -1,10 +1,10 @@ - - Slice 1 + + list-add Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + \ No newline at end of file diff --git a/data/images/list-remove.svg b/data/images/list-remove.svg index 74ad8f7b8..eab0c9cf0 100644 --- a/data/images/list-remove.svg +++ b/data/images/list-remove.svg @@ -1,10 +1,10 @@ - + list-remove Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + \ No newline at end of file diff --git a/data/images/loading-animation.svg b/data/images/loading-animation.svg index 1898dad9f..cf92723bd 100644 --- a/data/images/loading-animation.svg +++ b/data/images/loading-animation.svg @@ -1,22 +1,22 @@ - + loading-animation Created with Sketch (http://www.bohemiancoding.com/sketch) - + - - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/data/images/no-artist-image-placeholder.svg b/data/images/no-artist-image-placeholder.svg index 93bc6ff8f..89500fc4b 100644 --- a/data/images/no-artist-image-placeholder.svg +++ b/data/images/no-artist-image-placeholder.svg @@ -1,10 +1,10 @@ - + no-artist-image-placeholder Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + \ No newline at end of file diff --git a/data/images/no-source.svg b/data/images/no-source.svg index c85098c18..4a9a01477 100644 --- a/data/images/no-source.svg +++ b/data/images/no-source.svg @@ -1,53 +1,12 @@ - - -image/svg+xml \ No newline at end of file + + no-source + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + \ No newline at end of file diff --git a/data/images/now-playing-speaker-dark.svg b/data/images/now-playing-speaker-dark.svg index dc3b856d0..fe88c01fa 100644 --- a/data/images/now-playing-speaker-dark.svg +++ b/data/images/now-playing-speaker-dark.svg @@ -1,5 +1,5 @@ - + now-playing-speaker-dark Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -23,10 +23,10 @@ - - - - + + + + \ No newline at end of file diff --git a/data/images/now-playing-speaker.svg b/data/images/now-playing-speaker.svg index 2656036e5..0333b4a4a 100644 --- a/data/images/now-playing-speaker.svg +++ b/data/images/now-playing-speaker.svg @@ -1,14 +1,14 @@ - + now-playing-speaker Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + \ No newline at end of file diff --git a/data/images/open-padlock.svg b/data/images/open-padlock.svg index 23b5f62d3..e4eb9fffe 100644 --- a/data/images/open-padlock.svg +++ b/data/images/open-padlock.svg @@ -1,10 +1,13 @@ - + open-padlock Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + + + + \ No newline at end of file diff --git a/data/images/resolver-default.svg b/data/images/resolver-default.svg index 038fd13fc..dcb35395d 100644 --- a/data/images/resolver-default.svg +++ b/data/images/resolver-default.svg @@ -1,56 +1,13 @@ - - -image/svg+xml \ No newline at end of file + + resolver-default + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + \ No newline at end of file diff --git a/data/images/resolvers-settings.svg b/data/images/resolvers-settings.svg index b05bd27c9..eb91df48e 100644 --- a/data/images/resolvers-settings.svg +++ b/data/images/resolvers-settings.svg @@ -1,12 +1,17 @@ - + resolvers-settings Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/data/images/search-box-dismiss-x.svg b/data/images/search-box-dismiss-x.svg index 2983d3925..c8a44b77c 100644 --- a/data/images/search-box-dismiss-x.svg +++ b/data/images/search-box-dismiss-x.svg @@ -1,10 +1,10 @@ - - search-box-dismiss + + search-box-dismiss-x Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + \ No newline at end of file diff --git a/data/images/sipplugin-add.svg b/data/images/sipplugin-add.svg index 0585f3a7e..94bac4886 100644 --- a/data/images/sipplugin-add.svg +++ b/data/images/sipplugin-add.svg @@ -1,10 +1,15 @@ - + sipplugin-add Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + + + + + + \ No newline at end of file diff --git a/data/images/sipplugin-remove.svg b/data/images/sipplugin-remove.svg index d994888c7..78560ceaf 100644 --- a/data/images/sipplugin-remove.svg +++ b/data/images/sipplugin-remove.svg @@ -1,10 +1,15 @@ - + sipplugin-remove Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - + + + + + + + + + \ No newline at end of file diff --git a/data/images/uploading.svg b/data/images/uploading.svg index ec238b7bb..7dabd4444 100644 --- a/data/images/uploading.svg +++ b/data/images/uploading.svg @@ -1,12 +1,12 @@ - + uploading Created with Sketch (http://www.bohemiancoding.com/sketch) - + - - + + \ No newline at end of file diff --git a/data/images/view-refresh.svg b/data/images/view-refresh.svg index cebe65781..ba91dfc51 100644 --- a/data/images/view-refresh.svg +++ b/data/images/view-refresh.svg @@ -1,9 +1,9 @@ - + view-refresh Created with Sketch (http://www.bohemiancoding.com/sketch) - - + + \ No newline at end of file From 5e43a6c58d170581c69dc284550ea7231f2ab8e7 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sat, 15 Dec 2012 20:06:13 -0500 Subject: [PATCH 173/332] Make love, not-loved and share same sizes --- data/images/add-contact.svg | 4 ++-- data/images/loved.svg | 16 ++++++++-------- data/images/not-loved.svg | 4 ++-- data/images/share.svg | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/data/images/add-contact.svg b/data/images/add-contact.svg index 647d8d98e..e94934974 100644 --- a/data/images/add-contact.svg +++ b/data/images/add-contact.svg @@ -1,5 +1,5 @@ - + add-contact Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -14,7 +14,7 @@ - + \ No newline at end of file diff --git a/data/images/loved.svg b/data/images/loved.svg index 16f7b72bc..33f97b93c 100644 --- a/data/images/loved.svg +++ b/data/images/loved.svg @@ -1,19 +1,19 @@ - + loved Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + - + - - - + + + \ No newline at end of file diff --git a/data/images/not-loved.svg b/data/images/not-loved.svg index 00a863f19..626edc6c4 100644 --- a/data/images/not-loved.svg +++ b/data/images/not-loved.svg @@ -1,9 +1,9 @@ - + not-loved Created with Sketch (http://www.bohemiancoding.com/sketch) - + \ No newline at end of file diff --git a/data/images/share.svg b/data/images/share.svg index d955ca1a8..6ce50e559 100644 --- a/data/images/share.svg +++ b/data/images/share.svg @@ -1,9 +1,9 @@ - + share Created with Sketch (http://www.bohemiancoding.com/sketch) - + \ No newline at end of file From 368d6f05d5713b7e159d718c0d1cf8b0bf854549 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sat, 15 Dec 2012 20:19:25 -0500 Subject: [PATCH 174/332] Endless fucking with Share icon to make propotions look ok next to Love --- data/images/share.svg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/images/share.svg b/data/images/share.svg index 6ce50e559..f4a7f3a40 100644 --- a/data/images/share.svg +++ b/data/images/share.svg @@ -1,9 +1,9 @@ - + share Created with Sketch (http://www.bohemiancoding.com/sketch) - + \ No newline at end of file From c3caf6a6ecf0fbe2a0ad70db681898419dee622f Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sat, 15 Dec 2012 20:51:23 -0500 Subject: [PATCH 175/332] Arist and Charts icon tweaks --- data/images/artist-icon.svg | 5 ++--- data/images/charts.svg | 12 ++++++++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/data/images/artist-icon.svg b/data/images/artist-icon.svg index 5226f31d9..1f08de838 100644 --- a/data/images/artist-icon.svg +++ b/data/images/artist-icon.svg @@ -1,12 +1,11 @@ - + artist-icon Created with Sketch (http://www.bohemiancoding.com/sketch) - - + \ No newline at end of file diff --git a/data/images/charts.svg b/data/images/charts.svg index 24e209fa0..515e7d2b8 100644 --- a/data/images/charts.svg +++ b/data/images/charts.svg @@ -1,12 +1,16 @@ - + charts Created with Sketch (http://www.bohemiancoding.com/sketch) - + + + + + - - + + \ No newline at end of file From eda6ab9df5892430baa44d118dd26cca78af4fc2 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sun, 16 Dec 2012 08:00:56 -0500 Subject: [PATCH 176/332] Bring nicer widget header gradient to Master --- src/libtomahawk/utils/StyleHelper.cpp | 78 +++++++++++++-------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/src/libtomahawk/utils/StyleHelper.cpp b/src/libtomahawk/utils/StyleHelper.cpp index c4f35c7ef..cb5ba6fe3 100644 --- a/src/libtomahawk/utils/StyleHelper.cpp +++ b/src/libtomahawk/utils/StyleHelper.cpp @@ -26,14 +26,14 @@ QColor StyleHelper::headerUpperColor() { - return QColor( "#615858" ); + return QColor( "#25292c" ); } QColor StyleHelper::headerLowerColor() { - return QColor( "#231F1F" ); + return QColor( "#707070" ); } @@ -48,32 +48,32 @@ void StyleHelper::horizontalHeader( QPainter* painter, const QRect& r ) { painter->save(); - -/* QRect upperHalf( 0, 0, r.width(), r.height() / 2 ); - QRect lowerHalf( 0, upperHalf.height(), r.width(), r.height() ); - painter->fillRect( upperHalf, StyleHelper::headerUpperColor() ); - painter->fillRect( lowerHalf, StyleHelper::headerLowerColor() );*/ + + /* QRect upperHalf( 0, 0, r.width(), r.height() / 2 ); + QRect lowerHalf( 0, upperHalf.height(), r.width(), r.height() ); + painter->fillRect( upperHalf, StyleHelper::headerUpperColor() ); + painter->fillRect( lowerHalf, StyleHelper::headerLowerColor() );*/ QLinearGradient gradient( QPoint( 0, 0 ), QPoint( 0, 1 ) ); gradient.setCoordinateMode( QGradient::ObjectBoundingMode ); gradient.setColorAt( 0.0, StyleHelper::headerLowerColor() ); gradient.setColorAt( 1.0, StyleHelper::headerUpperColor() ); - + painter->setBrush( gradient ); painter->fillRect( r, gradient ); - -/* { - QColor lineColor( 100, 100, 100 ); - QLine line( 0, 0, r.width(), 0 ); - painter->setPen( lineColor ); - painter->drawLine( line ); - } - { - QColor lineColor( 30, 30, 30 ); - QLine line( 0, r.height() - 1, r.width(), r.height() - 1 ); - painter->setPen( lineColor ); - painter->drawLine( line ); - }*/ - + + /* { + QColor lineColor( 100, 100, 100 ); + QLine line( 0, 0, r.width(), 0 ); + painter->setPen( lineColor ); + painter->drawLine( line ); + } + { + QColor lineColor( 30, 30, 30 ); + QLine line( 0, r.height() - 1, r.width(), r.height() - 1 ); + painter->setPen( lineColor ); + painter->drawLine( line ); + }*/ + painter->restore(); } @@ -81,7 +81,7 @@ StyleHelper::horizontalHeader( QPainter* painter, const QRect& r ) QColor StyleHelper::headerTextColor() { - return Qt::white; + return QColor( "#eaeaea" ); } @@ -96,62 +96,62 @@ void StyleHelper::drawArrow( QStyle::PrimitiveElement element, QPainter* p, cons { if ( opt->rect.width() <= 1 || opt->rect.height() <= 1 ) return; - + QRect r = opt->rect; int size = qMin( r.height(), r.width() ); QPixmap pixmap; QString pixmapName; - + pixmapName.sprintf( "arrow-%s-%d-%d-%d-%lld", "$qt_ia", uint(opt->state), element, size, opt->palette.cacheKey() ); if ( !QPixmapCache::find( pixmapName, pixmap ) ) { int border = size / 5; int sqsize = 2 * ( size / 2 ); - + QImage image( sqsize, sqsize, QImage::Format_ARGB32 ); image.fill( 0 ); QPainter imagePainter( &image ); imagePainter.setRenderHint( QPainter::Antialiasing, true ); QPolygon a; - + switch ( element ) { case QStyle::PE_IndicatorArrowUp: a.setPoints( 3, border, sqsize / 2, sqsize / 2, border, sqsize - border, sqsize / 2 ); break; - + case QStyle::PE_IndicatorArrowDown: a.setPoints( 3, border, sqsize / 2, sqsize / 2, sqsize - border, sqsize - border, sqsize / 2 ); break; - + case QStyle::PE_IndicatorArrowRight: a.setPoints( 3, sqsize - border, sqsize / 2, sqsize / 2, border, sqsize / 2, sqsize - border ); break; - + case QStyle::PE_IndicatorArrowLeft: a.setPoints( 3, border, sqsize / 2, sqsize / 2, border, sqsize / 2, sqsize - border ); break; - + default: break; } - + int bsx = 0; int bsy = 0; - + if ( opt->state & QStyle::State_Sunken ) { bsx = qApp->style()->pixelMetric( QStyle::PM_ButtonShiftHorizontal ); bsy = qApp->style()->pixelMetric( QStyle::PM_ButtonShiftVertical ); } - + QRect bounds = a.boundingRect(); int sx = sqsize / 2 - bounds.center().x() - 1; int sy = sqsize / 2 - bounds.center().y() - 1; imagePainter.translate( sx + bsx, sy + bsy ); imagePainter.setPen( opt->palette.buttonText().color() ); imagePainter.setBrush( opt->palette.buttonText() ); - + if ( !( opt->state & QStyle::State_Enabled ) ) { QColor foreGround( 150, 150, 150, 150 ); @@ -170,15 +170,15 @@ void StyleHelper::drawArrow( QStyle::PrimitiveElement element, QPainter* p, cons imagePainter.setPen( foreGround ); imagePainter.setBrush( foreGround ); } - + imagePainter.drawPolygon( a ); imagePainter.end(); - + pixmap = QPixmap::fromImage( image ); QPixmapCache::insert( pixmapName, pixmap ); } - + int xOffset = r.x() + ( r.width() - size ) / 2; int yOffset = r.y() + ( r.height() - size ) / 2; p->drawPixmap( xOffset, yOffset, pixmap ); -} +} \ No newline at end of file From ffa8e342a476d211f72f8bc438e9d6ca926337a5 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sun, 16 Dec 2012 08:04:28 -0500 Subject: [PATCH 177/332] Bring better Search box text to Master --- src/TomahawkWindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/TomahawkWindow.cpp b/src/TomahawkWindow.cpp index 72f2475bf..11c5a2172 100644 --- a/src/TomahawkWindow.cpp +++ b/src/TomahawkWindow.cpp @@ -278,7 +278,7 @@ TomahawkWindow::setupToolBar() m_toolbar->addWidget( toolbarLeftSpacer )->setProperty( "kind", QString( "spacer" ) ); m_searchWidget = new QSearchField( this ); - m_searchWidget->setPlaceholderText( tr( "Global Search..." ) ); + m_searchWidget->setPlaceholderText( tr( "Search for any artist, album or song..." ) ); m_searchWidget->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Preferred ); m_searchWidget->setFixedWidth( 340 ); connect( m_searchWidget, SIGNAL( returnPressed() ), this, SLOT( onFilterEdited() ) ); From 616652da12e1185fd31f335e8361e39f82bc1027 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sun, 16 Dec 2012 08:42:19 -0500 Subject: [PATCH 178/332] Footnotes background color to match --- src/libtomahawk/context/ContextWidget.cpp | 2 +- src/libtomahawk/widgets/WelcomeWidget.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/context/ContextWidget.cpp b/src/libtomahawk/context/ContextWidget.cpp index 5672bc52b..71883ae2b 100644 --- a/src/libtomahawk/context/ContextWidget.cpp +++ b/src/libtomahawk/context/ContextWidget.cpp @@ -93,7 +93,7 @@ ContextWidget::ContextWidget( QWidget* parent ) ensurePolished(); QPalette pal = palette(); - pal.setBrush( QPalette::Window, QColor( "#454e59" ) ); + pal.setBrush( QPalette::Window, QColor( "#323435" ) ); setPalette( pal ); connect( ui->toggleButton, SIGNAL( clicked() ), SLOT( toggleSize() ) ); diff --git a/src/libtomahawk/widgets/WelcomeWidget.cpp b/src/libtomahawk/widgets/WelcomeWidget.cpp index 160352811..f33d0d36c 100644 --- a/src/libtomahawk/widgets/WelcomeWidget.cpp +++ b/src/libtomahawk/widgets/WelcomeWidget.cpp @@ -282,7 +282,7 @@ PlaylistDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, rect.setTop( pixmapRect.bottom() - painter->fontMetrics().height() - 1 ); rect.setBottom( pixmapRect.bottom() + 1 ); - QColor figColor( "#464b55" ); + QColor figColor( "#454e59" ); painter->setPen( figColor ); painter->setBrush( figColor ); From 77a5c5f84ea06f7f8e102e23a65584456012c3cb Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sun, 16 Dec 2012 08:50:54 -0500 Subject: [PATCH 179/332] Standardize page background colors --- src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp | 2 +- src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp | 2 +- src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp index aaa889a2a..898191269 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp @@ -50,7 +50,7 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par ui->setupUi( widget ); QPalette pal = palette(); - pal.setColor( QPalette::Window, QColor( "#454e59" ) ); + pal.setColor( QPalette::Window, QColor( "#323435" ) ); widget->setPalette( pal ); widget->setAutoFillBackground( true ); diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp index b420992a9..b632790d7 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp @@ -51,7 +51,7 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* ui->setupUi( widget ); QPalette pal = palette(); - pal.setColor( QPalette::Window, QColor( "#231F1F" ) ); + pal.setColor( QPalette::Window, QColor( "#323435" ) ); widget->setPalette( pal ); widget->setAutoFillBackground( true ); diff --git a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp index 8af7a0c7f..5f150e9ce 100644 --- a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp @@ -44,7 +44,7 @@ TrackInfoWidget::TrackInfoWidget( const Tomahawk::query_ptr& query, QWidget* par ui->setupUi( widget ); QPalette pal = palette(); - pal.setColor( QPalette::Window, QColor( "#454e59" ) ); + pal.setColor( QPalette::Window, QColor( "#323435" ) ); widget->setPalette( pal ); widget->setAutoFillBackground( true ); From 47a3b9dad45fe0b0c798922c1e00896f726935a6 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sun, 16 Dec 2012 09:02:56 -0500 Subject: [PATCH 180/332] Make Love action iconcolor match the Loved Tracks icon in sidebar --- data/images/loved.svg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/data/images/loved.svg b/data/images/loved.svg index 33f97b93c..eb0c396cb 100644 --- a/data/images/loved.svg +++ b/data/images/loved.svg @@ -3,16 +3,16 @@ loved Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + + + - + - - + + From ca9dde082eba9101bc11163da6986197fe917bb9 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sun, 16 Dec 2012 11:41:31 -0500 Subject: [PATCH 181/332] Tweaked artist icon --- data/images/artist-icon.svg | 2 +- data/images/shuffle-on-rest.svg | 12 ++---------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/data/images/artist-icon.svg b/data/images/artist-icon.svg index 1f08de838..613bb3af1 100644 --- a/data/images/artist-icon.svg +++ b/data/images/artist-icon.svg @@ -5,7 +5,7 @@ - + \ No newline at end of file diff --git a/data/images/shuffle-on-rest.svg b/data/images/shuffle-on-rest.svg index 5727c39f3..162e4bde6 100644 --- a/data/images/shuffle-on-rest.svg +++ b/data/images/shuffle-on-rest.svg @@ -1,5 +1,5 @@ - + shuffle-on-rest Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -7,16 +7,8 @@ - - - - - - - - - + \ No newline at end of file From 72bd92366829d6a1c93003bd6ebb2cba0659803e Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sun, 16 Dec 2012 12:19:15 -0500 Subject: [PATCH 182/332] Fix listen privately icon --- data/images/private-listening.svg | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/data/images/private-listening.svg b/data/images/private-listening.svg index e5af70329..4ca75c7df 100644 --- a/data/images/private-listening.svg +++ b/data/images/private-listening.svg @@ -1,12 +1,14 @@ - - private-listening + + listen-privately Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - + + + + + + + + \ No newline at end of file From ff737fc175153fe3d387d11c87be4bb73af9ce2a Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Mon, 17 Dec 2012 01:17:14 +0100 Subject: [PATCH 183/332] Automatic merge of Transifex translations --- lang/tomahawk_ar.ts | 10 +- lang/tomahawk_bg.ts | 10 +- lang/tomahawk_bn_IN.ts | 10 +- lang/tomahawk_ca.ts | 10 +- lang/tomahawk_de.ts | 228 ++++++------- lang/tomahawk_el.ts | 10 +- lang/tomahawk_en.ts | 10 +- lang/tomahawk_es.ts | 711 +++++++++++++++++++++-------------------- lang/tomahawk_fr.ts | 10 +- lang/tomahawk_gl.ts | 10 +- lang/tomahawk_hi_IN.ts | 10 +- lang/tomahawk_hu.ts | 10 +- lang/tomahawk_it.ts | 10 +- lang/tomahawk_ja.ts | 10 +- lang/tomahawk_lt.ts | 10 +- lang/tomahawk_pl.ts | 10 +- lang/tomahawk_pt_BR.ts | 10 +- lang/tomahawk_ru.ts | 10 +- lang/tomahawk_sv.ts | 10 +- lang/tomahawk_tr.ts | 10 +- lang/tomahawk_zh_CN.ts | 10 +- lang/tomahawk_zh_TW.ts | 10 +- 22 files changed, 572 insertions(+), 567 deletions(-) diff --git a/lang/tomahawk_ar.ts b/lang/tomahawk_ar.ts index 05326a34b..c809d1d1e 100644 --- a/lang/tomahawk_ar.ts +++ b/lang/tomahawk_ar.ts @@ -3514,11 +3514,6 @@ enter the displayed PIN number here: Go forward one page تقدم صفحة واحدة - - - Global Search... - بحث شامل... - @@ -3531,6 +3526,11 @@ enter the displayed PIN number here: Show Menu Bar أظهر شريط القائمة + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index 45ca137ab..3f2e53b49 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -3527,11 +3527,6 @@ enter the displayed PIN number here: Go forward one page Една страница напред - - - Global Search... - Глобално търсене... - @@ -3544,6 +3539,11 @@ enter the displayed PIN number here: Show Menu Bar Покажи лентата с менюто + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_bn_IN.ts b/lang/tomahawk_bn_IN.ts index c345712ea..8a8704170 100644 --- a/lang/tomahawk_bn_IN.ts +++ b/lang/tomahawk_bn_IN.ts @@ -3503,11 +3503,6 @@ enter the displayed PIN number here: Go forward one page - - - Global Search... - - @@ -3520,6 +3515,11 @@ enter the displayed PIN number here: Show Menu Bar + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_ca.ts b/lang/tomahawk_ca.ts index fdf41bc03..12b502405 100644 --- a/lang/tomahawk_ca.ts +++ b/lang/tomahawk_ca.ts @@ -3512,11 +3512,6 @@ introduïu el PIN aquí:
Go forward one page Avança una pàgina - - - Global Search... - Cerca Global... - @@ -3529,6 +3524,11 @@ introduïu el PIN aquí:
Show Menu Bar + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index 91d10ad96..c1d539a17 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -87,7 +87,7 @@ erlauben sich mit dir zu verbinden? Invite - + Einladen
@@ -95,7 +95,7 @@ erlauben sich mit dir zu verbinden?
Configure Accounts - + Konten konfigurieren
@@ -170,82 +170,82 @@ erlauben sich mit dir zu verbinden? Load &XSPF... - + &XSPF laden... U&pdate Collection - + Samml&ung aktualisieren Fully &Rescan Collection - + Sammlung komplett scannen Show Offline Sources - + Offline Sourcen anzeigen &Configure Tomahawk... - + &Konfiguriere Tomahawk... Minimize - + Minimieren Zoom - + Zoom Hide Menu Bar - + Menüleiste ausblenden Diagnostics... - + Diagnose... About &Tomahawk... - + &Über Tomahawk... &Legal Information... - + &Rechtliche Informationen... Check For Updates... - + Nach Updates suchen... &Controls - + S&teuerung &Settings - + &Einstellungen &Help - + &Hilfe &Window - + &Fenster @@ -268,7 +268,7 @@ erlauben sich mit dir zu verbinden? Other Albums - + Andere Alben @@ -278,12 +278,12 @@ erlauben sich mit dir zu verbinden? Album - + Album Artist - + Künstler @@ -447,12 +447,12 @@ erlauben sich mit dir zu verbinden? Time Elapsed - + Abgelaufene Zeit Time Remaining - + Verbleibende Zeit @@ -462,12 +462,12 @@ erlauben sich mit dir zu verbinden? Share - + Teilen Love - + Lieben @@ -643,12 +643,12 @@ erlauben sich mit dir zu verbinden? &Copy to Clipboard - + In die Zwischenablage &kopieren Open &Log-file - + &Log-Datei öffnen @@ -656,97 +656,97 @@ erlauben sich mit dir zu verbinden? Steer this station: - + Steuere diese Station: Much less - + Viel weniger Less - + Weniger A bit less - + Etwas weniger Keep at current - + So belassen A bit more - + Etwas mehr More - + Mehr Much more - + Viel mehr Tempo - + Tempo Loudness - + Lautstärke Danceability - + Tanzbarkeit Energy - + Energie Song Hotttnesss - + Popularität des Liedes Artist Hotttnesss - + Popularität des Künstlers Artist Familiarity - + Ähnlichkeit Künstler By Description - + Von der Beschreibung Enter a description - + Gib eine Beschreibung ein Apply steering command - + Steuerkommando anwenden Reset all steering commands - + Setze alle Steuerkommandos zurück @@ -754,7 +754,7 @@ erlauben sich mit dir zu verbinden? Filter... - + Filtern... @@ -762,12 +762,12 @@ erlauben sich mit dir zu verbinden? This playlist is currently empty. - + Diese Playlist ist momentan leer. This playlist is currently empty. Add some tracks to it and enjoy the music! - + Diese Playlist ist derzeit leer. Füge einige Stücke hinzu und genieße die Musik! @@ -834,7 +834,7 @@ erlauben sich mit dir zu verbinden? Synchronize Loved Tracks - + Lieblingslieder synchronisieren @@ -912,7 +912,7 @@ erlauben sich mit dir zu verbinden? Top Loved Tracks - + Meist-geliebte Songs @@ -922,17 +922,17 @@ erlauben sich mit dir zu verbinden? The most loved tracks from all your friends - + Die meist-geliebten Songs all deiner Freunde All of your loved tracks - + Deine Lieblingslieder All of %1's loved tracks - + %1's Lieblingslieder @@ -985,7 +985,7 @@ erlauben sich mit dir zu verbinden? Track Number: - + Lied Nummer: @@ -1050,7 +1050,7 @@ erlauben sich mit dir zu verbinden? Properties - + Eigenschaften @@ -1191,12 +1191,12 @@ erlauben sich mit dir zu verbinden? by <b>%1</b> - + von <b>%1</b> by <b>%1</b> on <b>%2</b> - + von <b>%1</b> auf <b>%2</b> @@ -1204,13 +1204,13 @@ erlauben sich mit dir zu verbinden? A playlist you created %1. - + Eine Playlist die du %1 erstellt hast. A playlist by %1, created %2. - + Eine Playlist von %1, erstellt %2. @@ -1521,22 +1521,22 @@ erlauben sich mit dir zu verbinden? Install from file - + Von Datei installieren Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Konfiguriere Konten und Dienste die Tomahawk verwendet um Musik zu finden, sich mit Freunden zu verbinden oder deinen Status zu aktualisieren. Manage how Tomahawk finds music on your computer. - + Steuere wie Tomahawk Musik auf deinem System findet. Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - + Konfiguriere Tomahawk's erweiterte Einstellungen, wie Netzwerk Optionen, Browser Interaktion und mehr. @@ -1569,7 +1569,7 @@ erlauben sich mit dir zu verbinden? Filter by capability: - + Nach Fähigkeit filtern: @@ -1582,77 +1582,77 @@ erlauben sich mit dir zu verbinden? Remote Peer Connection Method - + Verbindung zu anderen Tomahawks None (outgoing connections only) - + Keine (nur ausgehende Verbindungen möglich) Use UPnP to establish port forward (recommended) - + UPnP für Port-Weiterleitung verwenden (empfohlen) Use static external IP address/host name and port - + Statische externe IP Adresse / Hostnamen und Port verwenden Set this to your external IP address or host name. Make sure to forward the port to this host! - + Stelle hier deine externe IP Adresse oder Hostnamen ein. Du musst den Port selbst an diesen Rechner weiterleiten! Static Host Name: - + Statischer Rechnername: Static Port: - + Statischer Port: SOCKS Proxy - + SOCKS Proxy Use SOCKS Proxy - + SOCKS Proxy verwenden Proxy Settings... - + Proxy-Einstellungen… Other Settings - + Andere Einstellungen Allow web browsers to interact with Tomahawk (recommended) - + Erlaube Web Browser mit Tomahawk zu interagieren (empfohlen) Send reports after Tomahawk crashed - + Übermittlung von Fehlerberichten nach Tomahawk Absturz Show notification when a new song starts to play - + Ankündigung einblenden wenn ein neues Lied startet Clear All Access Control Entries - + Alle erteilten Zugriffsrechte löschen @@ -1665,7 +1665,7 @@ erlauben sich mit dir zu verbinden? Path to scan for music files: - + Pfad zu den Musikdateien: @@ -1678,17 +1678,17 @@ erlauben sich mit dir zu verbinden? Upload collection list to The Echo Nest to enable user radio - + Liste der aktuellen Sammlung an Echo Nest übermitteln, um User Radio zu aktivieren Watch for changes - + Automatisch aktualisieren Time between scans, in seconds: - + Zeitinterval (in Sekunden) zwischen zwei Scans: @@ -1696,12 +1696,12 @@ erlauben sich mit dir zu verbinden? On - + Ein Off - + Aus @@ -1963,7 +1963,7 @@ erlauben sich mit dir zu verbinden? Delete - + Löschen @@ -2189,7 +2189,7 @@ erlauben sich mit dir zu verbinden? Google Address: - + Google Adresse: @@ -2215,7 +2215,7 @@ erlauben sich mit dir zu verbinden? Enter Google Address - + Google Adresse eingeben @@ -2288,12 +2288,12 @@ erlauben sich mit dir zu verbinden? Synchronizing... - + Synchronisieren... Synchronization Finished - + Synchronisierung abgeschlossen @@ -2311,7 +2311,7 @@ erlauben sich mit dir zu verbinden? Create local copy - + Lokale Kopie erstellen @@ -2359,12 +2359,12 @@ erlauben sich mit dir zu verbinden? Logged in as %1 - + Angemeldet als %1 Log Out - + Abmelden @@ -2567,14 +2567,14 @@ You may wish to try re-authenticating. &Go to "%1" - + &Gehe zu "%1" Go to "%1" - + Gehe zu "%1" @@ -2604,7 +2604,7 @@ You may wish to try re-authenticating. Properties... - + Eigenschaften... @@ -3160,12 +3160,12 @@ Versuch die Filter anzupassen für neue Lieder. Would you like to delete the playlist <b>"%2"</b>? e.g. Would you like to delete the playlist named Foobar? - + Willst du die Playlist <b>"%2"</b> löschen? Delete - + Löschen @@ -3511,22 +3511,22 @@ Tomahawk auf Twitter's Website authentifiziert hast: Go forward one page Gehe eine Seite vorwärts - - - Global Search... - Globale Suche... - Hide Menu Bar - + Menüleiste ausblenden Show Menu Bar - + Menüleiste einblenden + + + + Search for any artist, album or song... + Suche nach Künstler, Album oder Lied... @@ -3618,7 +3618,7 @@ Tomahawk auf Twitter's Website authentifiziert hast: &Play - + Abs&pielen @@ -3758,13 +3758,13 @@ Tomahawk auf Twitter's Website authentifiziert hast: from streaming artist - track from friend - + von to streaming artist - track to friend - + zu @@ -3876,7 +3876,7 @@ You can re-send a sync message at any time simply by sending another tweet using Enter Twitter username - + Twitter Username eingeben @@ -3884,7 +3884,7 @@ You can re-send a sync message at any time simply by sending another tweet using This playlist is empty! - + Diese Playlist ist leer! @@ -3919,7 +3919,7 @@ You can re-send a sync message at any time simply by sending another tweet using Sorry, we could not find any recent plays! - + Es konnten keine zuletzt gehörten Songs gefunden werden! @@ -3942,7 +3942,7 @@ You can re-send a sync message at any time simply by sending another tweet using Recently played tracks - + Zuletzt gehörte Lieder @@ -4254,7 +4254,7 @@ Lyrics for "%1" by %2: Enter Jabber ID - + Jabber ID eingeben diff --git a/lang/tomahawk_el.ts b/lang/tomahawk_el.ts index 786b39230..8db28799c 100644 --- a/lang/tomahawk_el.ts +++ b/lang/tomahawk_el.ts @@ -3511,11 +3511,6 @@ enter the displayed PIN number here: Go forward one page Πήγαινε μπροστά μία σελίδα - - - Global Search... - Αναζήτηση Παντού... - @@ -3528,6 +3523,11 @@ enter the displayed PIN number here: Show Menu Bar + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_en.ts b/lang/tomahawk_en.ts index 4e041ee15..82d4503ac 100644 --- a/lang/tomahawk_en.ts +++ b/lang/tomahawk_en.ts @@ -3516,11 +3516,6 @@ enter the displayed PIN number here: Go forward one page Go forward one page - - - Global Search... - Global Search... - @@ -3533,6 +3528,11 @@ enter the displayed PIN number here: Show Menu Bar Show Menu Bar + + + Search for any artist, album or song... + Search for any artist, album or song... + &Main Menu diff --git a/lang/tomahawk_es.ts b/lang/tomahawk_es.ts index 4fb298602..cb52c954f 100644 --- a/lang/tomahawk_es.ts +++ b/lang/tomahawk_es.ts @@ -5,17 +5,18 @@ Allow %1 to connect and stream from you? - + ¿Permite a %1 +conectarse a usted y transmitir música? Allow Streaming - + Autorizar streaming Deny Access - + Denegar acceso @@ -23,7 +24,7 @@ connect and stream from you? Tomahawk needs you to decide whether %1 is allowed to connect. - + Tomahawk necesita que decida si %1 está autorizado a conectarse @@ -41,7 +42,7 @@ connect and stream from you? Add Account - Añadir Cuenta + Añadir cuenta @@ -67,18 +68,18 @@ connect and stream from you? Connections - + Conexiones Connect &All - + Conect&artodo Disconnect &All - + Desconect&ar todo @@ -86,7 +87,7 @@ connect and stream from you? Invite - + Invitar @@ -94,7 +95,7 @@ connect and stream from you? Configure Accounts - + Configurar cuentas @@ -118,7 +119,7 @@ connect and stream from you? &Listen Privately - &Escuchar en privado + &Modo privado @@ -129,7 +130,7 @@ connect and stream from you? &Load Playlist - &Cargar lista de reproducción + Cargar &lista de reproducción @@ -144,7 +145,7 @@ connect and stream from you? &Play - &Reproducir + Re&producir @@ -159,7 +160,7 @@ connect and stream from you? &Next Track - &Pista siguiente + Pista siguie&nte @@ -169,87 +170,87 @@ connect and stream from you? Load &XSPF... - + Cargar &XSPF U&pdate Collection - + Act&ualizar colección Fully &Rescan Collection - + &Re-escanear colección Show Offline Sources - + Mostrar fuentes sin conexión &Configure Tomahawk... - + &Configurar Tomahawk Minimize - + Minimizar Zoom - + Zoom Hide Menu Bar - + Esconder barra de menú Diagnostics... - + Diagnósticos... About &Tomahawk... - + Acerca de &Tomahawk &Legal Information... - + Información &legal Check For Updates... - + Buscar actualizaciones... &Controls - + &Controles &Settings - + &Configuración &Help - + &Ayuda &Window - + &Ventana Main Menu - + Menú principal @@ -257,47 +258,47 @@ connect and stream from you? Form - Formulario + Form Tracklist - + Pistas Other Albums - + Otros álbumes Cover - + Portada Album - + Álbum Artist - + Artista Sorry, we could not find any other albums for this artist! - + No se encontraron otros álbumes de este artista Sorry, we could not find any tracks for this album! - + No se encontraron pistas de este álbum Other Albums by %1 - Otros álbumes por %1 + Otros álbumes de %1 @@ -319,7 +320,7 @@ connect and stream from you? Form - Formulario + Form @@ -335,7 +336,7 @@ connect and stream from you? Artist - + Artista @@ -346,22 +347,22 @@ connect and stream from you? Cover - + Portada Sorry, we could not find any albums for this artist! - + No se encontraron álbumes de este artista Sorry, we could not find any related artists! - + No se encontraron artistas relacionados Sorry, we could not find any top hits for this artist! - + No se encontraron éxitos de este artista @@ -404,12 +405,12 @@ connect and stream from you? love - favorita + favorito resolver - + servicio @@ -446,27 +447,27 @@ connect and stream from you? Time Elapsed - + Tiempo transcurrido Time Remaining - + Tiempo restante Playing from %1 - + Reproduciendo de %1 Share - + Compartir Love - + Favorito @@ -474,17 +475,17 @@ connect and stream from you? Sorry, Tomahawk couldn't find the track '%1' by %2 - + Tomahawk no pudo encontrar la pista '%1' de %2 Sorry, Tomahawk couldn't find the artist '%1' - + Tomahawk no pudo encontrar el artista '%1' Sorry, Tomahawk couldn't find the album '%1' by %2 - + Tomahawk no pudo encontrar el álbum '%1' de %2 @@ -492,12 +493,12 @@ connect and stream from you? Create new Playlist - + Crear nueva lista de reproducción Create new Station - + Crear nueva emisora @@ -562,17 +563,17 @@ connect and stream from you? <html><head/><body><p><span style=" font-weight:600;">Sorry!</span> Tomahawk crashed. Please tell us about it! Tomahawk has created an error report for you that can help improve the stability in the future. You can now send this report directly to the Tomahawk developers.</p></body></html> - + <html><head/><body><p><span style=" font-weight:600;">¡Lo siento!</span>Tomahawk ha fallado. ¡Por favor infórmenos! Tomahawk ha creado un informe de error que puede mejorar la estabilidad del programa en el futuro. Usted puede mandar este informe directamente a los desarrolladores de Tomahawk.</p></body></html> Send this report - + Enviar informe de fallo Don't send - + No enviar @@ -598,12 +599,12 @@ connect and stream from you? Sent! <b>Many thanks</b>. - ¡Enviado!<b>Muchas gracias</b>. + ¡Enviado! <b>Muchas gracias</b>. Failed to send crash info. - Error al enviar la información del fallo. + Error al enviar el informe del fallo. @@ -629,7 +630,7 @@ connect and stream from you? About this Account - Acerca de esta Cuenta + Acerca de esta cuenta @@ -642,12 +643,12 @@ connect and stream from you? &Copy to Clipboard - + &Copiar al portapapeles Open &Log-file - + Abrir archivo de &log @@ -655,97 +656,97 @@ connect and stream from you? Steer this station: - + Controlar esta emisora: Much less - + Mucho menos Less - + Menos A bit less - + Un poco menos Keep at current - + Mantener en el actual A bit more - + Un poco más More - + Más Much more - + Mucho más Tempo - + Tempo Loudness - + Intensidad Danceability - + Bailable Energy - + Energía Song Hotttnesss - + Popularidad de la pista Artist Hotttnesss - + Popularidad del artista Artist Familiarity - + Familiaridad del artista By Description - + Por descripción Enter a description - + Introducir una descripción Apply steering command - + Aplicar comando Reset all steering commands - + Resetear todos los comandos @@ -753,7 +754,7 @@ connect and stream from you? Filter... - + Filtro... @@ -761,12 +762,12 @@ connect and stream from you? This playlist is currently empty. - + Lista de reproducción vacía This playlist is currently empty. Add some tracks to it and enjoy the music! - + Lista de reproducción vacía. ¡Añada pistas y disfrute de la música! @@ -774,7 +775,7 @@ connect and stream from you? Form - Formulario + Form @@ -803,7 +804,7 @@ connect and stream from you? Form - Formulario + Form @@ -828,12 +829,12 @@ connect and stream from you? Import Playback History - + Importar historial de reproducción Synchronize Loved Tracks - + Sincronizar pistas favoritas @@ -849,7 +850,7 @@ connect and stream from you? %1 is listening along with you! - + ¡%1 está escuchando junto a usted! @@ -911,32 +912,32 @@ connect and stream from you? Top Loved Tracks - + Pistas favoritas Sorry, we could not find any loved tracks! - + No se encontraron pistas favoritas The most loved tracks from all your friends - + Pistas favoritas de tus amigos All of your loved tracks - + Pistas favoritas All of %1's loved tracks - + Pistas favoritas de %1 Loved Tracks - + Pistas favoritas @@ -944,112 +945,112 @@ connect and stream from you? Form - + Form Tags - + Tags Title: - + Título: Title... - + Título Artist: - + Artista: Artist... - + Artista Album: - + Álbum: Album... - + Álbum Track Number: - + Número de pista: Duration: - + Duración: 00.00 - + 00.00 Year: - + Año: Bitrate: - + Bitrate: File - + Archivo File Name: - + Nombre: File Name... - + Nombre de archivo... File Size... - + Tamaño de archivo... File size... - + Tamaño de archivo... File Size: - + Tamaño de archivo: Back - + Atrás Forward - + Adelante Properties - + Propiedades @@ -1093,68 +1094,68 @@ connect and stream from you? Artist - + Artista Title - + Título Composer - + Compositor Album - + Álbum Track - + Pista Duration - + Duración Bitrate - + Bitrate Age - + Antigüedad Year - + Año Size - + Tamaño Origin - + Origen Score - + Puntuación Name - + Título @@ -1185,17 +1186,17 @@ connect and stream from you? added %1 - añadio %1 + añadió %1 by <b>%1</b> - + de <b>%1</b> by <b>%1</b> on <b>%2</b> - + de <b>%1</b> en <b>%2</b> @@ -1203,13 +1204,13 @@ connect and stream from you? A playlist you created %1. - + Lista de reproducción creada %1. A playlist by %1, created %2. - + Lista de reproducción de %1, creada %2. @@ -1232,7 +1233,7 @@ connect and stream from you? Just a regular old playlist... Give it a name, drag in some tracks, and go! - Sólo una lista de reproducción normal... ¡Póngale un nombre, añada algunas pistas, y comience! + Una lista de reproducción normal... ¡Póngale un nombre, añada algunas pistas, y comience! @@ -1265,7 +1266,7 @@ connect and stream from you? This playlist is currently empty. - + Lista de reproducción vacía @@ -1319,7 +1320,8 @@ connect and stream from you? No Proxy Hosts: (Overrides system proxy) - Sin proxy (Sobreescribe el proxy del sistema) + Sin proxy: +(Sobreescribe el proxy del sistema) @@ -1434,17 +1436,17 @@ connect and stream from you? Open Queue - + Abrir cola Open Queue - %n item(s) - + Abrir cola - %n pistaAbrir cola - %n pistas Close Queue - + Cerrar cola @@ -1509,7 +1511,7 @@ connect and stream from you? Some changed settings will not take effect until Tomahawk is restarted - Algunos cambios no tomarán efecto hasta reiniciar Tomahawk + Algunos cambios no surtirán efecto hasta reiniciar Tomahawk @@ -1519,37 +1521,37 @@ connect and stream from you? Install from file - + Instalar desde archivo Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Configurar las cuentas y los servicios usados por Tomahawk para buscar y recolectar música, encontrar a sus amigos y actualizar su estado. Manage how Tomahawk finds music on your computer. - + Configurar cómo Tomahawk encuentra música en su ordenador Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - + Configurar las preferencias avanzadas de Tomahawk, incluyendo la conectividad de red, del navegador y más. Install resolver from file - Instalar un Resolver desde un fichero + Instalar un servicio desde un fichero Delete all Access Control entries? - + ¿Eliminar todas las fuentes del Control de acceso? Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. - + ¿De verdad quiere borrar todo el Control de acceso de las fuentes? Será preguntado por cada fuente a la que se conecte. @@ -1562,12 +1564,12 @@ connect and stream from you? Form - + Form Filter by capability: - + Filtrar por capacidad: @@ -1575,82 +1577,82 @@ connect and stream from you? Form - + Form Remote Peer Connection Method - + Método de conexión al peer remoto None (outgoing connections only) - + Ninguna (sólo conexiones salientes) Use UPnP to establish port forward (recommended) - + Utilizar UPnP para establecer el enrutamiento de puertos (recomendado) Use static external IP address/host name and port - + Utilizar una IP estática externa, dirección/nombre del host y puerto Set this to your external IP address or host name. Make sure to forward the port to this host! - + Fijar esta como su dirección IP externa o nombre del host. Asegúrese de enrutar el puerto hacia este host Static Host Name: - + Nombre del host estático Static Port: - + Puerto estático SOCKS Proxy - + Proxy SOCKS Use SOCKS Proxy - + Utilizar proxy SOCKS Proxy Settings... - + Configuración del proxy Other Settings - + Otras preferencias Allow web browsers to interact with Tomahawk (recommended) - + Autorizar a los navegadores web interactuar con Tomahawk (recomendado) Send reports after Tomahawk crashed - + Mandar informes después de un fallo de Tomahawk Show notification when a new song starts to play - + Mostrar una notificación al comenzar la reproducción de una nueva canción Clear All Access Control Entries - + Limpiar todas las fuentes del Control de acceso @@ -1658,12 +1660,12 @@ connect and stream from you? Form - + Form Path to scan for music files: - + Ruta para escanear archivos de música: @@ -1671,22 +1673,25 @@ connect and stream from you? and using it to craft personalized radios. Enabling this option will allow you (and all your friends) to create automatic playlists and stations based on your personal taste profile. - + The Echo Nest analiza los metadatos de su colección +y los emplea para crear radios personalizadas. Activando esta opción +usted y sus amigos podrán crear listas de reproducción automáticas +y estaciones basadas en sus gustos personales. Upload collection list to The Echo Nest to enable user radio - + Enviar la lista de colección a Echo Nest para activar la radio de usuario Watch for changes - + Vigilar cambios en las carpetas Time between scans, in seconds: - + Tiempo entre escaneo, en segundos: @@ -1694,12 +1699,12 @@ connect and stream from you? On - + On Off - + Off @@ -1707,17 +1712,17 @@ connect and stream from you? Popular New Albums From Your Friends - Nuevos álbumes favoritos de tus amigos + Nuevos álbumes populares de tus amigos Most Played Playlists - Listas de reproducción más reproducidas + Listas de reproducción más escuchadas Most Played Tracks You Don't Have - Pistas más reproducidas no disponibles + Pistas más reproducidas que no tiene @@ -1750,17 +1755,17 @@ connect and stream from you? Tweet - + Tweet Listening to "%1" by %2. %3 - + Escuchando "%1" de %2.%3 Listening to "%1" by %2 on "%3". %4 - + Escuchando "%1" de %2 en "%3". %4 @@ -1773,7 +1778,7 @@ connect and stream from you? Track - Tema + Pista @@ -1867,7 +1872,7 @@ connect and stream from you? SuperCollection - SuperColección + Supercolección @@ -1882,7 +1887,7 @@ connect and stream from you? Sorry, we could not find any recent additions! - + No se encontraron pistas nuevas recientes @@ -1902,7 +1907,7 @@ connect and stream from you? Sorry, we could not find any recent plays! - + No hay reproducciones recientes @@ -1920,17 +1925,17 @@ connect and stream from you? Add to my Playlists - + Añadir a mis listas de reproducción Add to my Automatic Playlists - + Añadir a mis listas de reproducción automáticas Add to my Stations - + Añadir a mis emisoras @@ -1940,28 +1945,28 @@ connect and stream from you? playlist - + lista de reproducción automatic playlist - + lista de reproducción automática station - + emisora Would you like to delete the %1 <b>"%2"</b>? e.g. Would you like to delete the playlist named Foobar? - + ¿Borrar lista de reproducción %1 <b>"%2"</b>? Delete - + Eliminar @@ -2004,22 +2009,22 @@ connect and stream from you? Browse - Buscar + Navegar Search History - Historial de Búsqueda + Historial de búsqueda My Music - Mi Musica + Mi música SuperCollection - SuperColección + Supercolección @@ -2052,37 +2057,37 @@ connect and stream from you? Form - Formulario + Form Configure your Spotify account - Configura tu cuenta de Spotify + Configure su cuenta de Spotify Username or Facebook Email - Usurio o dirección de correo de Facebook + Usuario o dirección de correo de Facebook Log In - Inciar Sesión + Iniciar sesión Right click on any Tomahawk playlist to sync it to Spotify. - Click derecho en cualquier lista de Tomahawk para sincronizar con Spotify. + Click derecho en cualquier lista de Tomahawk para sincronizarla con Spotify. Select All - + Seleccionar todo High Quality Streams - Streams de Alta Calidad + Streams de alta calidad @@ -2092,7 +2097,7 @@ connect and stream from you? Delete Tomahawk playlist when removing synchronization - Borra las listas de Tomahawk cuando se quiten de la sincronización + Borrar la lista de reproducción de Tomahawk cuando se elimine la sincronización @@ -2110,7 +2115,7 @@ connect and stream from you? Delete associated Spotify playlist? - + ¿Eliminar lista de reproducción de Spotify? @@ -2118,17 +2123,17 @@ connect and stream from you? Copy Artist Link - + Copiar enlace del artista Copy Album Link - + Copiar enlace del álbum Copy Track Link - + Copiar enlace de la pista @@ -2141,7 +2146,7 @@ connect and stream from you? Remove - + Eliminar @@ -2161,7 +2166,7 @@ connect and stream from you? Offline - Desconectado + Fuera de línea @@ -2169,12 +2174,12 @@ connect and stream from you? Manual Install Required - + Instalación manual necesaria Unfortunately, automatic installation of this resolver is not available or disabled for your platform.<br /><br />Please use "Install from file" above, by fetching it from your distribution or compiling it yourself. Further instructions can be found here:<br /><br />http://www.tomahawk-player.org/resolvers/%1 - + Desafortunadamente, la instalación automática de este servicio no está disponible o está desactivada para su plataforma.<br /><br />Por favor use "Instalar desde archivo", obteniéndolo desde su distribución o compilándolo. Más instrucciones aquí:<br /><br />http://www.tomahawk-player.org/resolvers/%1 @@ -2182,17 +2187,17 @@ connect and stream from you? Configure this Google Account - Configura esta Cuenta Google + Configura esta cuenta de Google Google Address: - + Dirección de correo de Google Enter your Google login to connect with your friends using Tomahawk! - Introducir los datos de la cuenta Google para contectar con los amigos que usen Tomahawk! + Introducir los datos de su cuenta Google para conectar con sus amigos que usen Tomahawk @@ -2205,7 +2210,7 @@ connect and stream from you? Connect to Google Talk to find your friends - Conectarse a Google Talk y encontrar mis amigos + Conectarse a Google Talk y encontrar a mis amigos @@ -2213,12 +2218,12 @@ connect and stream from you? Enter Google Address - + Introducir dirección de Google Add Friend - Añadir Amigo + Añadir amigo @@ -2231,7 +2236,7 @@ connect and stream from you? Scrobble your tracks to last.fm, and find freely downloadable tracks to play - Hacer Scrobble de mis temas a last.fm y encontrar canciones gratuitas para reproducirlas + Hacer scrobble de mis temas a last.fm y encontrar canciones gratuitas para reproducirlas @@ -2239,33 +2244,33 @@ connect and stream from you? Testing... - + Probando conexión... Test Login - Comprobar Inicio de Sesión + Comprobar el inicio de sesión Importing %1 e.g. Importing 2012/01/01 - + Importando %1 Importing History... - + Importando historial... History Incomplete. Resume - + Historial incompleto. Reanudar Playback History Imported - + Historial de reproducciones importado @@ -2286,12 +2291,12 @@ connect and stream from you? Synchronizing... - + Sincronizando... Synchronization Finished - + Sincronización finalizada @@ -2304,42 +2309,42 @@ connect and stream from you? Re-enable syncing with Spotify - + Volver a activar la sincronización con Spotify Create local copy - + Crear copia local Subscribe to playlist changes - + Suscribirse a la lista de reproducción Re-enable playlist subscription - + Activar suscripción a la lista de reproducción Stop subscribing to changes - + Dejar de suscribirse Enable Spotify collaborations - + Activar colaboraciones de Spotify Disable Spotify collaborations - + Desactivar colaboraciones de Spotify Stop syncing with Spotify - Dejar de sincronizar con Spotify + Detener la sincronización con Spotify @@ -2347,7 +2352,7 @@ connect and stream from you? Logging in... - Inciando sesión... + Iniciando sesión... @@ -2357,18 +2362,18 @@ connect and stream from you? Logged in as %1 - + Sesión iniciada como %1 Log Out - + Salir Log In - Iniciar Sesión + Iniciar sesión @@ -2376,7 +2381,7 @@ connect and stream from you? Play music from and sync your playlists with Spotify Premium - Reproduce música de Spotofy Premium y sincroniza las listas de reprodución + Reproduzca música de Spotify Premium y sincronice sus listas de reprodución @@ -2384,7 +2389,7 @@ connect and stream from you? Connect to your Twitter followers. - Conectar con los seguidores de Twitter. + Conectar con sus seguidores de Twitter. @@ -2394,7 +2399,7 @@ connect and stream from you? Tweet! - Twittear! + Twittear @@ -2413,7 +2418,7 @@ connect and stream from you? Status: Credentials saved for %1 - Estado: Credenciales de %1 guardadas + Estado: credenciales de %1 guardadas @@ -2430,34 +2435,34 @@ connect and stream from you? Tweetin' Error - Error al Twittear + Error al twittear The credentials could not be verified. You may wish to try re-authenticating. Las credencials no se han podido verificar. -Hay que volver a intentar la autenticación. +Deberá volver a intentar la autenticación. Status: Error validating credentials - Estado: Error al validar las credenciales + Estado: error al validar las credenciales Global Tweet - Tweet Global + Tweet global Direct Message - Mensaje Directo + Mensaje directo Send Message! - Enviar Mensaje! + Enviar mensaje! @@ -2467,7 +2472,7 @@ Hay que volver a intentar la autenticación. Send Mention! - Enviar Mención! + Enviar mención! @@ -2479,41 +2484,41 @@ Hay que volver a intentar la autenticación. Your saved credentials could not be loaded. You may wish to try re-authenticating. Las credenciales guardadas no se han podido cargar. -Hay que volverse a autenticar. +Deberá volverse a autenticar. Your saved credentials could not be verified. You may wish to try re-authenticating. Las credenciales guardadas no se han podido verificar. -Hay que volverse a autenticar. +Deberá volverse a autenticar. There was an error posting your status -- sorry! - Error publicando el estado! + Error publicando su estado Tweeted! - Twitteado! + Twitteado Your tweet has been posted! - El tweet se ha publicado! + Su tweet se ha publicado There was an error posting your direct message -- sorry! - Error publicando el mensahe directo! + Error publicando el mensaje directo Your message has been posted! - El mensaje se ha publicado! + El mensaje se ha publicado @@ -2521,7 +2526,7 @@ Hay que volverse a autenticar. Log on to your Jabber/XMPP account to connect to your friends - Inciar sesón en Jabber/XMPP para conectar con mis amigos + Inicie sesón en Jabber/XMPP para conectar con sus amigos @@ -2549,12 +2554,12 @@ Hay que volverse a autenticar. Continue Playback after this &Track - + Continuar la reproducción tras esta pis&ta Stop Playback after this &Track - + Detener la reproducción tras esta pis&ta @@ -2567,49 +2572,49 @@ Hay que volverse a autenticar. &Go to "%1" - + &Ir a "%1" Go to "%1" - + &Ir a "%1" &Copy Track Link - &Copiar enlace del Tema + &Copiar enlace del tema Copy Album &Link - + Copiar en&lace del álbum Copy Artist &Link - + Copiar en&lace del artista Un-&Love - Quitar de &Favoritos + Quitar de &favoritos &Delete Items - &Eliminar de la cola + Eliminar &de la cola Properties... - + Propiedades... &Delete Item - &Eliminar de la cola + Eliminar &de la cola @@ -2617,22 +2622,22 @@ Hay que volverse a autenticar. playlist - + lista de reproducción artist - + artista track - + pista album - + álbum @@ -2668,7 +2673,7 @@ Por favor, cambie los filtros o inténtelo de nuevo. Failed to generate preview with the desired filters - Fallo al generar vista previa con los filtros deseados + Fallo al generar una vista previa con los filtros deseados @@ -2689,7 +2694,7 @@ Por favor, cambie los filtros o inténtelo de nuevo. Add some filters above to seed this station! - ¡Añada algunos filtros para la estación! + ¡Añada algunos filtros para esta estación! @@ -2709,7 +2714,7 @@ Por favor, cambie los filtros o inténtelo de nuevo. Station ran out of tracks! Try tweaking the filters for a new set of songs to play. - La Emisora se ha quedado sin temas! + La emisora se ha quedado sin pistas Intente ajustar los filtros para reproducir nuevas canciones. @@ -2887,7 +2892,7 @@ Intente ajustar los filtros para reproducir nuevas canciones. Loudness - Volumen + Intensidad @@ -2932,7 +2937,7 @@ Intente ajustar los filtros para reproducir nuevas canciones. Danceability - Bailabilidad + Bailable @@ -3021,7 +3026,7 @@ Intente ajustar los filtros para reproducir nuevas canciones. Error fetching Grooveshark information from the network! - Error al buscar la información de Grooveshar en la red! + Error al buscar la información de Grooveshark en la red @@ -3065,17 +3070,17 @@ Intente ajustar los filtros para reproducir nuevas canciones. Top Tracks - Temas más escuchados + Pistas más reproducidas Loved Tracks - Temas Favoritos + Pistas favoritas Hyped Tracks - Temas a la alza + Pistas en alza @@ -3085,7 +3090,7 @@ Intente ajustar los filtros para reproducir nuevas canciones. Hyped Artists - Artistas a la alza + Artistas en alza @@ -3109,7 +3114,7 @@ Intente ajustar los filtros para reproducir nuevas canciones. Error fetching iTunes information from the network! - Error al buscar la información de iTunes en la red! + Error al buscar la información de iTunes en la red @@ -3160,12 +3165,12 @@ Intente ajustar los filtros para reproducir nuevas canciones. Would you like to delete the playlist <b>"%2"</b>? e.g. Would you like to delete the playlist named Foobar? - + ¿Eliminar la lista de reproducción <b>"%2"</b>? Delete - + Eliminar @@ -3203,7 +3208,7 @@ Intente ajustar los filtros para reproducir nuevas canciones. loved this track - han añadido este tema a Favoritos + han añadido esta pista a Favoritos @@ -3211,7 +3216,7 @@ Intente ajustar los filtros para reproducir nuevas canciones. Error fetching Rdio information from the network! - Error al buscar la información de Rdio en la red! + Error al buscar la información de Rdio en la red @@ -3243,12 +3248,12 @@ Intente ajustar los filtros para reproducir nuevas canciones. Syncing - + Sincronizando Importing - + Importando @@ -3258,12 +3263,12 @@ Intente ajustar los filtros para reproducir nuevas canciones. Online - + En línea Offline - + Desconectado @@ -3271,7 +3276,7 @@ Intente ajustar los filtros para reproducir nuevas canciones. Error fetching Spotify information from the network! - Error al buscar la información de Spotify en la red! + Error al buscar la información de Spotify en la red @@ -3310,7 +3315,7 @@ introduzca su número PIN aquí: &Stop Playback after current Track - &Para la Reproducción después de este Tema + Detener la reproducción despué&s de la pista actual @@ -3341,17 +3346,17 @@ introduzca su número PIN aquí: &Love - + &Favorito Un-&Love - + Quitar de &favoritos &Continue Playback after current Track - &Continuar la Reproducción después de este Tema + &Continuar la reproducción después de la pista actual @@ -3454,7 +3459,7 @@ introduzca su número PIN aquí: &Legal Info... - + Información &legal... @@ -3494,44 +3499,44 @@ introduzca su número PIN aquí: Back - + Atrás Go back one page - + Ir atrás una página Forward - + Adelante Go forward one page - - - - - Global Search... - Búsqueda global... + Ir adelante una página Hide Menu Bar - + Esconder barra de menú Show Menu Bar - + Mostrar barra de menú + + + + Search for any artist, album or song... + Buscar un artista, álbum o pista... &Main Menu - + &Menú principal @@ -3578,17 +3583,17 @@ introduzca su número PIN aquí: Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - Se ha producido un error al acceder al dispostivo de audio o al tema deseado y se va saltar. Asegúrese de que ha instalado un backend de Phonon adecuado y los plugins necesarios. + Se ha producido un error al acceder al dispostivo de audio o a la pista deseada. Asegúrese de que ha instalado un backend de Phonon adecuado y los plugins necesarios. Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - Se ha producido un error al acceder al dispostivo de audio o al tema deseado y se va saltar. + Se ha producido un error al acceder al dispostivo de audio o a la pista deseado y se va saltar. Station - + Radio @@ -3603,12 +3608,12 @@ introduzca su número PIN aquí: Playlist - + Lista de reproducción Automatic Playlist - + Lista de reproducción automática @@ -3618,7 +3623,7 @@ introduzca su número PIN aquí: &Play - + &Reproducir @@ -3628,7 +3633,7 @@ introduzca su número PIN aquí: Error connecting to SIP: Authentication failed! - + Error conectando al SIP: ¡Autenticación fallida! @@ -3655,12 +3660,12 @@ introduzca su número PIN aquí: Copyright 2010 - 2012 - + Copyright 2010-2012 Thanks to: - + Gracias a: @@ -3681,7 +3686,7 @@ introduzca su número PIN aquí: Form - Formulario + Form @@ -3691,7 +3696,7 @@ introduzca su número PIN aquí: Track - Tema + Pista @@ -3711,27 +3716,27 @@ introduzca su número PIN aquí: Similar Tracks - Temas Similares + Pistas similares Sorry, but we could not find similar tracks for this song! - + No se han encontrado pistas similares You've listened to this track %n time(s). - Ha escuchado esta canción %n vez.Ha escuchado esta canción %n veces. + Ha escuchado esta pista %n vez.Ha escuchado esta pista %n veces. You've never listened to this track before. - Nunca ha escuchado este tema antes. + Nunca ha escuchado esta pista antes. You first listened to it on %1. - Escuchó este tema pro primera vez en %1. + Escuchó esta pista por primera vez en %1. @@ -3758,13 +3763,13 @@ introduzca su número PIN aquí: from streaming artist - track from friend - + de to streaming artist - track to friend - + para @@ -3800,7 +3805,7 @@ introduzca su número PIN aquí: Sorry, your filter '%1' did not match any results. - + Tu filtro '%1' no produjo ningún resultado @@ -3881,7 +3886,7 @@ Puede reenviar el mensaje de sincronización en cualquier momento simplemente en Enter Twitter username - + Introducir nombre de usuario de Twitter @@ -3889,17 +3894,17 @@ Puede reenviar el mensaje de sincronización en cualquier momento simplemente en This playlist is empty! - + Lista de reproducción vacía After you have scanned your music collection you will find your tracks right here. - + Después de escanear su colección de música encontrará sus pistas aquí This collection is empty. - + Colección vacía @@ -3924,7 +3929,7 @@ Puede reenviar el mensaje de sincronización en cualquier momento simplemente en Sorry, we could not find any recent plays! - + No hay reproducciones recientes @@ -3947,7 +3952,7 @@ Puede reenviar el mensaje de sincronización en cualquier momento simplemente en Recently played tracks - + Pistas reproducidas recientemente @@ -4033,7 +4038,7 @@ Letras de "%1" por %2: Some playlist entries were found without artist and track name, they will be omitted - Algunas entradas de la lista no tenía información de artista o de títul y serán omitidas + Algunas entradas de la lista de reproducción no tenían información de artista o de título y serán omitidas @@ -4140,12 +4145,12 @@ Letras de "%1" por %2: Enter your Xmpp login to connect with your friends using Tomahawk! - Introduzca sus datos de inicio de sesión de XMPP para conectarse son sus amigos que usen Tomahawk! + Introduzca sus datos de inicio de sesión de XMPP para conectarse con sus amigos que usen Tomahawk Login Information - Información de Inicio de Sesión + Información de inicio de sesión @@ -4155,7 +4160,7 @@ Letras de "%1" por %2: e.g. user@example.com - e.g. usuario@ejemplo.com + p.ej. usuario@ejemplo.com @@ -4165,7 +4170,7 @@ Letras de "%1" por %2: An account with this name already exists! - Ya existe una cuenta con el mismo nombre! + Ya existe una cuenta con el mismo nombre @@ -4185,7 +4190,7 @@ Letras de "%1" por %2: Lots of servers don't support this (e.g. GTalk, jabber.org) - Muchos servidores no soporta esta opción (e.g. GTalk, jabber.org) + Muchos servidores no soportan esta opción (p.ej. GTalk, jabber.org) @@ -4253,7 +4258,7 @@ Letras de "%1" por %2: Do you want to add <b>%1</b> to your friend list? - + ¿Le gustaría añadir <b>%1</b> a su lista de amigos? @@ -4263,7 +4268,7 @@ Letras de "%1" por %2: Enter Jabber ID - + Introducir ID de Jabber @@ -4283,7 +4288,7 @@ Letras de "%1" por %2: Add Friend - Añadir Amigo + Añadir amigo @@ -4293,7 +4298,7 @@ Letras de "%1" por %2: Add Friend... - Añadir Amigo... + Añadir amigo... @@ -4303,12 +4308,12 @@ Letras de "%1" por %2: I'm sorry -- I'm just an automatic presence used by Tomahawk Player (http://gettomahawk.com). If you are getting this message, the person you are trying to reach is probably not signed on, so please try again later! - Lo siento -- soy una presencia automática usada por el Reproductor Tomahawk (http://gettomahawk.com). Si recibe este mensaje, la persona con quién intenta contactar no esté contectada probablemente. Inténtelo más tarde! + Lo siento -- soy un robot del reproductor Tomahawk (http://gettomahawk.com). Si recibe este mensaje, la persona con quién intenta contactar probablemente no esté conectada. ¡Inténtelo más tarde! Authorize User - Autorizar Usuario + Autorizar usuario @@ -4316,7 +4321,7 @@ Letras de "%1" por %2: Form - Formulario + Form diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index d14ee2709..9b297ad75 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -3513,11 +3513,6 @@ saisissez le numéro PIN ici : Go forward one page Avancer d'une page - - - Global Search... - Recherche Globale... - @@ -3530,6 +3525,11 @@ saisissez le numéro PIN ici : Show Menu Bar Afficher la barre de menu + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_gl.ts b/lang/tomahawk_gl.ts index 10dcca4e7..81ae56f8f 100644 --- a/lang/tomahawk_gl.ts +++ b/lang/tomahawk_gl.ts @@ -3513,11 +3513,6 @@ enter the displayed PIN number here: Go forward one page Ir unha páxian adiante - - - Global Search... - Busca global... - @@ -3530,6 +3525,11 @@ enter the displayed PIN number here: Show Menu Bar Mostrar a barra de menú + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_hi_IN.ts b/lang/tomahawk_hi_IN.ts index 82466542d..f73e7ef74 100644 --- a/lang/tomahawk_hi_IN.ts +++ b/lang/tomahawk_hi_IN.ts @@ -3503,11 +3503,6 @@ enter the displayed PIN number here: Go forward one page - - - Global Search... - - @@ -3520,6 +3515,11 @@ enter the displayed PIN number here: Show Menu Bar + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_hu.ts b/lang/tomahawk_hu.ts index 9bb5ae2c1..aa79b7ece 100644 --- a/lang/tomahawk_hu.ts +++ b/lang/tomahawk_hu.ts @@ -3503,11 +3503,6 @@ enter the displayed PIN number here: Go forward one page - - - Global Search... - Globális keresés... - @@ -3520,6 +3515,11 @@ enter the displayed PIN number here: Show Menu Bar + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_it.ts b/lang/tomahawk_it.ts index 2b7c848bd..b87b1dc1e 100644 --- a/lang/tomahawk_it.ts +++ b/lang/tomahawk_it.ts @@ -3503,11 +3503,6 @@ enter the displayed PIN number here: Go forward one page Vai avanti di una pagina - - - Global Search... - Ricerca globale... - @@ -3520,6 +3515,11 @@ enter the displayed PIN number here: Show Menu Bar + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_ja.ts b/lang/tomahawk_ja.ts index 6e39df6ec..ef9d6c264 100644 --- a/lang/tomahawk_ja.ts +++ b/lang/tomahawk_ja.ts @@ -3517,11 +3517,6 @@ Meta+Ctrl+Z Go forward one page 次のページ - - - Global Search... - グローバルサーチ... - @@ -3534,6 +3529,11 @@ Meta+Ctrl+Z Show Menu Bar メニューバーを表示 + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_lt.ts b/lang/tomahawk_lt.ts index 84c431b46..3fdfd77fb 100644 --- a/lang/tomahawk_lt.ts +++ b/lang/tomahawk_lt.ts @@ -3503,11 +3503,6 @@ enter the displayed PIN number here: Go forward one page Eiti vienu puslapiu pirmyn - - - Global Search... - Globali paieška... - @@ -3520,6 +3515,11 @@ enter the displayed PIN number here: Show Menu Bar + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_pl.ts b/lang/tomahawk_pl.ts index b69b6441c..0621a3d95 100644 --- a/lang/tomahawk_pl.ts +++ b/lang/tomahawk_pl.ts @@ -3506,11 +3506,6 @@ wprowadź pokazany numer PIN tutaj: Go forward one page - - - Global Search... - Globalne Wyszukiwanie... - @@ -3523,6 +3518,11 @@ wprowadź pokazany numer PIN tutaj: Show Menu Bar + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts index ca12f8362..97a9f1bdb 100644 --- a/lang/tomahawk_pt_BR.ts +++ b/lang/tomahawk_pt_BR.ts @@ -3513,11 +3513,6 @@ colocar o número PIN mostrado aqui: Go forward one page Avançar uma página - - - Global Search... - Busca global... - @@ -3530,6 +3525,11 @@ colocar o número PIN mostrado aqui: Show Menu Bar Mostrar barra de menu + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_ru.ts b/lang/tomahawk_ru.ts index 5bc09256e..133b6fabf 100644 --- a/lang/tomahawk_ru.ts +++ b/lang/tomahawk_ru.ts @@ -3510,11 +3510,6 @@ enter the displayed PIN number here: Go forward one page Перейдите на следующую страницу - - - Global Search... - Глобальный поиск - @@ -3527,6 +3522,11 @@ enter the displayed PIN number here: Show Menu Bar + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_sv.ts b/lang/tomahawk_sv.ts index f1e868c55..485d2c7c4 100644 --- a/lang/tomahawk_sv.ts +++ b/lang/tomahawk_sv.ts @@ -3504,11 +3504,6 @@ enter the displayed PIN number here: Go forward one page - - - Global Search... - Global sökning... - @@ -3521,6 +3516,11 @@ enter the displayed PIN number here: Show Menu Bar + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_tr.ts b/lang/tomahawk_tr.ts index 4f645b7dd..2b5b678c4 100644 --- a/lang/tomahawk_tr.ts +++ b/lang/tomahawk_tr.ts @@ -3503,11 +3503,6 @@ enter the displayed PIN number here: Go forward one page - - - Global Search... - - @@ -3520,6 +3515,11 @@ enter the displayed PIN number here: Show Menu Bar + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_zh_CN.ts b/lang/tomahawk_zh_CN.ts index 1249908ab..8872e013f 100644 --- a/lang/tomahawk_zh_CN.ts +++ b/lang/tomahawk_zh_CN.ts @@ -3514,11 +3514,6 @@ enter the displayed PIN number here: Go forward one page 转向下一页 - - - Global Search... - 全局搜索 ... - @@ -3531,6 +3526,11 @@ enter the displayed PIN number here: Show Menu Bar 显示菜单栏 + + + Search for any artist, album or song... + + &Main Menu diff --git a/lang/tomahawk_zh_TW.ts b/lang/tomahawk_zh_TW.ts index 6529540a4..bc274d457 100644 --- a/lang/tomahawk_zh_TW.ts +++ b/lang/tomahawk_zh_TW.ts @@ -3503,11 +3503,6 @@ enter the displayed PIN number here: Go forward one page - - - Global Search... - 全域搜尋... - @@ -3520,6 +3515,11 @@ enter the displayed PIN number here: Show Menu Bar + + + Search for any artist, album or song... + + &Main Menu From dad3c7d7191c88c7b88680e32a60f275547458bc Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Mon, 17 Dec 2012 10:11:14 -0500 Subject: [PATCH 184/332] Standardize colors used in header gradients, although stylehelper and basicheader paint gradients differently so they looks slightly different. --- src/libtomahawk/context/ContextWidget.cpp | 2 +- src/libtomahawk/infobar/InfoBar.cpp | 4 ++-- src/libtomahawk/playlist/GridView.cpp | 2 +- src/libtomahawk/widgets/BasicHeader.cpp | 4 ++-- src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp | 2 +- src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp | 2 +- src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/libtomahawk/context/ContextWidget.cpp b/src/libtomahawk/context/ContextWidget.cpp index 71883ae2b..3a9e78874 100644 --- a/src/libtomahawk/context/ContextWidget.cpp +++ b/src/libtomahawk/context/ContextWidget.cpp @@ -93,7 +93,7 @@ ContextWidget::ContextWidget( QWidget* parent ) ensurePolished(); QPalette pal = palette(); - pal.setBrush( QPalette::Window, QColor( "#323435" ) ); + pal.setBrush( QPalette::Window, QColor( "#393840" ) ); setPalette( pal ); connect( ui->toggleButton, SIGNAL( clicked() ), SLOT( toggleSize() ) ); diff --git a/src/libtomahawk/infobar/InfoBar.cpp b/src/libtomahawk/infobar/InfoBar.cpp index cf1fc62fd..c0a2b0bd3 100644 --- a/src/libtomahawk/infobar/InfoBar.cpp +++ b/src/libtomahawk/infobar/InfoBar.cpp @@ -293,8 +293,8 @@ InfoBar::paintEvent( QPaintEvent* event ) QLinearGradient gradient( QPoint( 0, 0 ), QPoint( 0, 1 ) ); gradient.setCoordinateMode( QGradient::ObjectBoundingMode ); - gradient.setColorAt( 0.0, QColor( "#615858" ) ); - gradient.setColorAt( 1.0, QColor( "#231F1F" ) ); + gradient.setColorAt( 0.0, QColor( "#707070" ) ); + gradient.setColorAt( 1.0, QColor( "#25292c" ) ); painter.setBrush( gradient ); painter.fillRect( event->rect(), gradient ); diff --git a/src/libtomahawk/playlist/GridView.cpp b/src/libtomahawk/playlist/GridView.cpp index e8dcb5395..3b4a44013 100644 --- a/src/libtomahawk/playlist/GridView.cpp +++ b/src/libtomahawk/playlist/GridView.cpp @@ -74,7 +74,7 @@ GridView::GridView( QWidget* parent ) setVerticalScrollMode( QAbstractItemView::ScrollPerPixel ); setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOn ); - setStyleSheet( "QListView { background-color: #323435; }" ); + setStyleSheet( "QListView { background-color: #393840; }" ); setAutoFitItems( true ); setAutoResize( false ); diff --git a/src/libtomahawk/widgets/BasicHeader.cpp b/src/libtomahawk/widgets/BasicHeader.cpp index ed797efdd..cedd19fad 100644 --- a/src/libtomahawk/widgets/BasicHeader.cpp +++ b/src/libtomahawk/widgets/BasicHeader.cpp @@ -130,8 +130,8 @@ BasicHeader::paintEvent( QPaintEvent* event ) QLinearGradient gradient( QPoint( 0, 0 ), QPoint( 0, 1 ) ); gradient.setCoordinateMode( QGradient::ObjectBoundingMode ); - gradient.setColorAt( 0.0, QColor( "#615858" ) ); - gradient.setColorAt( 1.0, QColor( "#231F1F" ) ); + gradient.setColorAt( 0.0, QColor( "#707070" ) ); + gradient.setColorAt( 1.0, QColor( "#25292c" ) ); painter.setBrush( gradient ); painter.fillRect( event->rect(), gradient ); diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp index 898191269..4ec6566cc 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp @@ -50,7 +50,7 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par ui->setupUi( widget ); QPalette pal = palette(); - pal.setColor( QPalette::Window, QColor( "#323435" ) ); + pal.setColor( QPalette::Window, QColor( "#393840" ) ); widget->setPalette( pal ); widget->setAutoFillBackground( true ); diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp index b632790d7..ad4bc2c53 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp @@ -51,7 +51,7 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* ui->setupUi( widget ); QPalette pal = palette(); - pal.setColor( QPalette::Window, QColor( "#323435" ) ); + pal.setColor( QPalette::Window, QColor( "#393840" ) ); widget->setPalette( pal ); widget->setAutoFillBackground( true ); diff --git a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp index 5f150e9ce..2aac1ed0c 100644 --- a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp @@ -44,7 +44,7 @@ TrackInfoWidget::TrackInfoWidget( const Tomahawk::query_ptr& query, QWidget* par ui->setupUi( widget ); QPalette pal = palette(); - pal.setColor( QPalette::Window, QColor( "#323435" ) ); + pal.setColor( QPalette::Window, QColor( "#393840" ) ); widget->setPalette( pal ); widget->setAutoFillBackground( true ); From b57718c8c34be09cdf985660027680e81a3ebd5d Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 15 Dec 2012 10:39:41 +0100 Subject: [PATCH 185/332] * Added breakpad to README. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e1e111fce..3dfcfac50 100644 --- a/README.md +++ b/README.md @@ -55,5 +55,6 @@ The following dependencies are optional, but recommended: Third party libraries that we ship with our source: * MiniUPnP 1.6 - http://miniupnp.free.fr/ +* Breakpad - http://code.google.com/p/google-breakpad/ Enjoy! From a8ae8fb70aab96605ad9a8548c0b882e2935666d Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 18 Dec 2012 06:01:42 +0100 Subject: [PATCH 186/332] * Disable auto-closing of pages. --- src/sourcetree/items/HistoryItem.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/sourcetree/items/HistoryItem.cpp b/src/sourcetree/items/HistoryItem.cpp index 93be20dc1..0a61d90c5 100644 --- a/src/sourcetree/items/HistoryItem.cpp +++ b/src/sourcetree/items/HistoryItem.cpp @@ -28,6 +28,8 @@ using namespace Tomahawk; +const unsigned int MAX_HISTORY_ITEMS = 0; // 0 disables this feature + HistoryItem::HistoryItem( SourcesModel* model, SourceTreeItem* parent, const QString& text, int peerSortValue ) : GroupItem( model, parent, text, peerSortValue ) @@ -60,8 +62,8 @@ HistoryItem::tempPageActivated( Tomahawk::ViewPage* v ) } } - // Only keep 5 temporary pages at once - while ( m_tempItems.size() > 4 ) + // Only keep a certain amount of temporary pages at once + while ( MAX_HISTORY_ITEMS > 0 && m_tempItems.size() > MAX_HISTORY_ITEMS ) { TemporaryPageItem* item = m_tempItems.takeFirst(); QTimer::singleShot( 0, item, SLOT( removeFromList() ) ); From bb2502817a9be79e36f3b189f87e0de55e43b523 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 18 Dec 2012 06:34:31 +0100 Subject: [PATCH 187/332] * Fixed Artist-page margins. --- .../widgets/infowidgets/ArtistInfoWidget.ui | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui index e39bf628d..334674d50 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui @@ -7,7 +7,7 @@ 0 0 965 - 1242 + 1179 @@ -35,8 +35,14 @@ 16 + + 0 + + + 0 + @@ -357,7 +363,16 @@ - + + 0 + + + 0 + + + 0 + + 0 From 3674016c8107b4ddde67f67d8481ecab4fabe738 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 18 Dec 2012 09:35:28 +0100 Subject: [PATCH 188/332] * Slight improvements for artist page. --- .../widgets/infowidgets/ArtistInfoWidget.cpp | 6 ---- .../widgets/infowidgets/ArtistInfoWidget.ui | 30 ++----------------- 2 files changed, 2 insertions(+), 34 deletions(-) diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp index ad4bc2c53..5b96f06ce 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp @@ -108,15 +108,10 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* ui->biography->setFont( f ); TomahawkUtils::styleScrollBar( ui->biography->verticalScrollBar() ); - f.setBold( true ); - f.setPointSize( TomahawkUtils::defaultFontSize() + 8 ); - ui->artistLabel->setFont( f ); - QPalette p = ui->biography->palette(); p.setColor( QPalette::Foreground, Qt::white ); p.setColor( QPalette::Text, Qt::gray ); - ui->artistLabel->setPalette( p ); ui->biography->setPalette( p ); ui->label->setPalette( p ); ui->label_2->setPalette( p ); @@ -254,7 +249,6 @@ ArtistInfoWidget::load( const artist_ptr& artist ) connect( m_artist.data(), SIGNAL( tracksAdded( QList, Tomahawk::ModelMode, Tomahawk::collection_ptr ) ), SLOT( onTracksFound( QList, Tomahawk::ModelMode ) ) ); - ui->artistLabel->setText( artist->name() ); ui->cover->setArtist( artist ); m_topHitsModel->startLoading(); diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui index 334674d50..d6e9063fc 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui @@ -43,32 +43,6 @@ 0 - - - - Artist - - - Qt::AlignCenter - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 4 - - - - @@ -79,8 +53,8 @@ - 220 - 220 + 260 + 260 From 9a1558f1e93bf29fd52bae1dbd876d862edcd70d Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 18 Dec 2012 09:35:50 +0100 Subject: [PATCH 189/332] * Show text on PlayableCover. --- src/libtomahawk/widgets/PlayableCover.cpp | 126 ++++++++++++++++++++++ src/libtomahawk/widgets/PlayableCover.h | 1 + 2 files changed, 127 insertions(+) diff --git a/src/libtomahawk/widgets/PlayableCover.cpp b/src/libtomahawk/widgets/PlayableCover.cpp index 20cbfd47c..79378d417 100644 --- a/src/libtomahawk/widgets/PlayableCover.cpp +++ b/src/libtomahawk/widgets/PlayableCover.cpp @@ -18,6 +18,7 @@ #include "PlayableCover.h" +#include "Album.h" #include "audio/AudioEngine.h" #include "widgets/ImageButton.h" #include "utils/TomahawkUtilsGui.h" @@ -75,6 +76,131 @@ PlayableCover::resizeEvent( QResizeEvent* event ) } +void +PlayableCover::paintEvent( QPaintEvent* event ) +{ + QLabel::paintEvent( event ); + + QRect r = contentsRect().adjusted( margin(), margin(), -margin(), -margin() ); + QPixmap buffer( r.size() ); + buffer.fill( Qt::transparent ); + + QPainter painter( &buffer ); + + QTextOption to; + to.setWrapMode( QTextOption::NoWrap ); + + QColor c1; + c1.setRgb( 0, 0, 0 ); + c1.setAlphaF( 0.00 ); + QColor c2; + c2.setRgb( 0, 0, 0 ); + c2.setAlphaF( 0.88 ); + + QString text; + QFont font = QLabel::font(); + font.setPointSize( TomahawkUtils::defaultFontSize() ); + QFont boldFont = font; + boldFont.setBold( true ); + boldFont.setPointSize( TomahawkUtils::defaultFontSize() + 5 ); + + QString top, bottom; + if ( m_artist ) + { + top = m_artist->name(); + } + else if ( m_album ) + { + top = m_album->name(); + bottom = m_album->artist()->name(); + } + else if ( m_query ) + { + top = m_query->track(); + bottom = m_query->artist(); + } + + int bottomHeight = QFontMetrics( font ).boundingRect( bottom ).height(); + int topHeight = QFontMetrics( boldFont ).boundingRect( top ).height(); + int frameHeight = bottomHeight + topHeight + 4; + + QRect gradientRect = r.adjusted( 0, r.height() - frameHeight * 3, 0, 0 ); + QLinearGradient gradient( QPointF( 0, 0 ), QPointF( 0, 1 ) ); + gradient.setCoordinateMode( QGradient::ObjectBoundingMode ); + gradient.setColorAt( 0.0, c1 ); + gradient.setColorAt( 0.6, c2 ); + gradient.setColorAt( 1.0, c2 ); + + painter.save(); + painter.setPen( Qt::transparent ); + painter.setBrush( gradient ); + painter.drawRect( gradientRect ); + painter.restore(); + + painter.setPen( Qt::white ); + + QRect textRect = r.adjusted( 8, r.height() - frameHeight - 16, -8, -16 ); + bool oneLiner = false; + if ( bottom.isEmpty() ) + oneLiner = true; + + painter.setFont( boldFont ); + if ( oneLiner ) + { + painter.save(); + QFont f = painter.font(); + + while ( f.pointSizeF() > 9 && painter.fontMetrics().width( top ) > textRect.width() ) + { + f.setPointSizeF( f.pointSizeF() - 0.2 ); + painter.setFont( f ); + } + + to.setAlignment( Qt::AlignHCenter | Qt::AlignVCenter ); + text = painter.fontMetrics().elidedText( top, Qt::ElideRight, textRect.width() - 3 ); + painter.drawText( textRect, text, to ); + + painter.restore(); + } + else + { + to.setAlignment( Qt::AlignHCenter | Qt::AlignTop ); + text = painter.fontMetrics().elidedText( top, Qt::ElideRight, textRect.width() - 3 ); + painter.drawText( textRect, text, to ); + + painter.setFont( font ); + // If the user is hovering over an artist rect, draw a background so she knows it's clickable + QRect r = textRect; + r.setTop( r.bottom() - painter.fontMetrics().height() ); + r.adjust( 4, 0, -4, -1 ); +/* if ( m_hoveringOver == index ) + { + TomahawkUtils::drawQueryBackground( painter, opt.palette, r, 1.1 ); + painter.setPen( opt.palette.color( QPalette::HighlightedText ) ); + }*/ + + to.setAlignment( Qt::AlignHCenter | Qt::AlignBottom ); + text = painter.fontMetrics().elidedText( bottom, Qt::ElideRight, textRect.width() - 16 ); + painter.drawText( textRect.adjusted( 5, -1, -5, -1 ), text, to ); + } + + { + QPainter painter( this ); + painter.setRenderHint( QPainter::Antialiasing ); + + QBrush brush( buffer ); + QPen pen; + pen.setColor( Qt::transparent ); + pen.setJoinStyle( Qt::RoundJoin ); + + float frameWidthPct = 0.20; + painter.setBrush( brush ); + painter.setPen( pen ); + painter.drawRoundedRect( r, frameWidthPct * 100.0, frameWidthPct * 100.0, Qt::RelativeSize ); + } +} + + void PlayableCover::onClicked() { diff --git a/src/libtomahawk/widgets/PlayableCover.h b/src/libtomahawk/widgets/PlayableCover.h index 5bc505e75..82e82f0c7 100644 --- a/src/libtomahawk/widgets/PlayableCover.h +++ b/src/libtomahawk/widgets/PlayableCover.h @@ -47,6 +47,7 @@ public slots: protected: virtual void resizeEvent( QResizeEvent* event ); + virtual void paintEvent( QPaintEvent* event ); void leaveEvent( QEvent* event ); void enterEvent( QEvent* event ); From 5a52586945da7855de90fbe8dba4ec36f8a2db8d Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 18 Dec 2012 09:36:12 +0100 Subject: [PATCH 190/332] * Make sure we paint white text on covers. --- src/libtomahawk/playlist/GridItemDelegate.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/playlist/GridItemDelegate.cpp b/src/libtomahawk/playlist/GridItemDelegate.cpp index 0a5d174d3..6f45e5ac4 100644 --- a/src/libtomahawk/playlist/GridItemDelegate.cpp +++ b/src/libtomahawk/playlist/GridItemDelegate.cpp @@ -194,9 +194,9 @@ GridItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, painter->drawRect( gradientRect ); painter->restore(); - painter->setPen( opt.palette.color( QPalette::HighlightedText ) ); + painter->setPen( Qt::white ); - QRect textRect = option.rect.adjusted( 6, option.rect.height() - frameHeight, -4, -6 ); + QRect textRect = option.rect.adjusted( 6, option.rect.height() - frameHeight, -6, -6 ); bool oneLiner = false; if ( bottom.isEmpty() ) oneLiner = true; From 7d61881c1069f83ec1ca4edb9d4da3d7b5b92eb2 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 18 Dec 2012 14:00:02 +0100 Subject: [PATCH 191/332] * Set maximum amount of temp pages to 15. --- src/sourcetree/items/HistoryItem.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sourcetree/items/HistoryItem.cpp b/src/sourcetree/items/HistoryItem.cpp index 0a61d90c5..144676d0c 100644 --- a/src/sourcetree/items/HistoryItem.cpp +++ b/src/sourcetree/items/HistoryItem.cpp @@ -28,7 +28,7 @@ using namespace Tomahawk; -const unsigned int MAX_HISTORY_ITEMS = 0; // 0 disables this feature +const unsigned int MAX_HISTORY_ITEMS = 15; // 0 disables this feature HistoryItem::HistoryItem( SourcesModel* model, SourceTreeItem* parent, const QString& text, int peerSortValue ) @@ -63,7 +63,7 @@ HistoryItem::tempPageActivated( Tomahawk::ViewPage* v ) } // Only keep a certain amount of temporary pages at once - while ( MAX_HISTORY_ITEMS > 0 && m_tempItems.size() > MAX_HISTORY_ITEMS ) + while ( MAX_HISTORY_ITEMS > 0 && m_tempItems.size() > MAX_HISTORY_ITEMS - 1 ) { TemporaryPageItem* item = m_tempItems.takeFirst(); QTimer::singleShot( 0, item, SLOT( removeFromList() ) ); From f014b5a3f26e8fbfbfe4d6561ad635cc930fd45d Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 18 Dec 2012 14:00:35 +0100 Subject: [PATCH 192/332] * Removed obsolete right frame on artist page. --- .../widgets/infowidgets/ArtistInfoWidget.cpp | 4 - .../widgets/infowidgets/ArtistInfoWidget.ui | 649 ++++++++---------- 2 files changed, 270 insertions(+), 383 deletions(-) diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp index 5b96f06ce..2c8cce8d2 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp @@ -61,10 +61,6 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* TomahawkUtils::unmarginLayout( ui->layoutWidget2->layout() ); TomahawkUtils::unmarginLayout( ui->albumHeader->layout() );*/ - ui->artistLabel_2->setVisible( false ); - ui->biography_2->setVisible( false ); - ui->cover_2->setVisible( false ); - m_albumsModel = new PlayableModel( ui->albums ); ui->albums->setPlayableModel( m_albumsModel ); ui->albums->setEmptyTip( tr( "Sorry, we could not find any albums for this artist!" ) ); diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui index d6e9063fc..8807df2ae 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui @@ -14,409 +14,55 @@ Form + + 12 + - - - 12 - - - 12 - - - 16 - - - 12 + + + 0 - + + + 16 + + + 0 + - - - 16 - + 0 - - - 0 - - - - - - 0 - 0 - - - - - 260 - 260 - - - - Cover - - - Qt::AlignCenter - - - - - - - + - + 0 0 - 0 - 240 + 260 + 260 - - Qt::ScrollBarAlwaysOff + + Cover + + + Qt::AlignCenter - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 16 - - - - - - - - - 0 - 0 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 4 - - - 8 - - - 4 - - - 8 - - - 8 - - - - - - 18 - 75 - true - - - - Top Hits - - - 0 - - - - - - - - 0 - 300 - - - - true - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 16 - - - - - - - - - 0 - 0 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 4 - - - 8 - - - 4 - - - 8 - - - 4 - - - - - - Arial - 18 - 75 - true - - - - Albums - - - 0 - - - - - - - - 0 - 0 - - - - - 0 - 190 - - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 16 - - - - - - - - - 0 - 0 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 4 - - - 8 - - - 4 - - - 8 - - - 4 - - - - - - Arial - 18 - 75 - true - - - - Related Artists - - - 0 - - - - - - - - 0 - 0 - - - - - 0 - 190 - - - - - - - - - - - - - 0 - - - 0 - - - 0 - - - 0 - - - + - - 0 - 0 - - - - - 220 - 220 - - - - Cover - - - Qt::AlignCenter - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 1 - 8 - - - - - - - - Artist - - - Qt::AlignCenter - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 1 - 12 - - - - - - - - + 0 0 @@ -434,6 +80,251 @@ + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 16 + + + + + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 4 + + + 8 + + + 4 + + + 8 + + + 8 + + + + + + 18 + 75 + true + + + + Top Hits + + + 0 + + + + + + + + 0 + 300 + + + + true + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 16 + + + + + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 4 + + + 8 + + + 4 + + + 8 + + + 4 + + + + + + Arial + 18 + 75 + true + + + + Albums + + + 0 + + + + + + + + 0 + 0 + + + + + 0 + 190 + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 16 + + + + + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 4 + + + 8 + + + 4 + + + 8 + + + 4 + + + + + + Arial + 18 + 75 + true + + + + Related Artists + + + 0 + + + + + + + + 0 + 0 + + + + + 0 + 190 + + + + + + + From 74b9f2594e2cd8b7fdc5705bf978155234483ff4 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 18 Dec 2012 14:03:56 +0100 Subject: [PATCH 193/332] * Added PlayableCover::setShowText( bool ) which allows to enable / disable the text overlay. --- src/libtomahawk/widgets/PlayableCover.cpp | 3 +++ src/libtomahawk/widgets/PlayableCover.h | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/src/libtomahawk/widgets/PlayableCover.cpp b/src/libtomahawk/widgets/PlayableCover.cpp index 79378d417..ddb293c3a 100644 --- a/src/libtomahawk/widgets/PlayableCover.cpp +++ b/src/libtomahawk/widgets/PlayableCover.cpp @@ -29,6 +29,7 @@ PlayableCover::PlayableCover( QWidget* parent ) : QLabel( parent ) + , m_showText( false ) { setMouseTracking( true ); @@ -80,6 +81,8 @@ void PlayableCover::paintEvent( QPaintEvent* event ) { QLabel::paintEvent( event ); + if ( !m_showText ) + return; QRect r = contentsRect().adjusted( margin(), margin(), -margin(), -margin() ); QPixmap buffer( r.size() ); diff --git a/src/libtomahawk/widgets/PlayableCover.h b/src/libtomahawk/widgets/PlayableCover.h index 82e82f0c7..24914d326 100644 --- a/src/libtomahawk/widgets/PlayableCover.h +++ b/src/libtomahawk/widgets/PlayableCover.h @@ -40,6 +40,9 @@ public: PlayableCover( QWidget* parent = 0 ); virtual ~PlayableCover(); + bool showText() const { return m_showText; } + void setShowText( bool b ) { m_showText = b; } + public slots: virtual void setArtist( const Tomahawk::artist_ptr& artist ); virtual void setAlbum( const Tomahawk::album_ptr& album ); @@ -62,6 +65,8 @@ private: Tomahawk::artist_ptr m_artist; Tomahawk::album_ptr m_album; Tomahawk::query_ptr m_query; + + bool m_showText; }; #endif From 788b7efedc26dbb4fe5e3dbfffc9c591ebe1d85c Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 18 Dec 2012 14:04:11 +0100 Subject: [PATCH 194/332] * Show PlayableCover's texts on artist page. --- src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp index 2c8cce8d2..c62a712c6 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp @@ -94,6 +94,7 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::ScaledCover, QSize( 48, 48 ) ); ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::ScaledCover, QSize( ui->cover->sizeHint() ) ) ); + ui->cover->setShowText( true ); QFont f = font(); f.setPointSize( f.pointSize() + 1 ); From 7656f25b897e9c0830f5bc21bc0fb7c8819c764b Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 18 Dec 2012 11:35:12 -0500 Subject: [PATCH 195/332] Update Tweet icon --- data/images/tweet.svg | 14 ++++++++++++++ src/SocialWidget.cpp | 2 +- src/libtomahawk/playlist/GridView.cpp | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 data/images/tweet.svg diff --git a/data/images/tweet.svg b/data/images/tweet.svg new file mode 100644 index 000000000..726c9302e --- /dev/null +++ b/data/images/tweet.svg @@ -0,0 +1,14 @@ + + + tweet + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + \ No newline at end of file diff --git a/src/SocialWidget.cpp b/src/SocialWidget.cpp index a1fe34e59..caed845ad 100644 --- a/src/SocialWidget.cpp +++ b/src/SocialWidget.cpp @@ -67,7 +67,7 @@ SocialWidget::SocialWidget( QWidget* parent ) ui->charsLeftLabel->setForegroundRole( QPalette::Text ); ui->charsLeftLabel->setStyleSheet( "text: black" ); ui->buttonBox->button( QDialogButtonBox::Ok )->setText( tr( "Tweet" ) ); - ui->buttonBox->button( QDialogButtonBox::Ok )->setIcon( ImageRegistry::instance()->icon( RESPATH "images/ok.svg" ) ); + ui->buttonBox->button( QDialogButtonBox::Ok )->setIcon( ImageRegistry::instance()->icon( RESPATH "images/tweet.svg" ) ); ui->buttonBox->button( QDialogButtonBox::Cancel )->setIcon( ImageRegistry::instance()->icon( RESPATH "images/cancel.svg" ) ); ui->textEdit->setStyleSheet( "border: 1px solid " + TomahawkUtils::Colors::BORDER_LINE.name() ); diff --git a/src/libtomahawk/playlist/GridView.cpp b/src/libtomahawk/playlist/GridView.cpp index 3b4a44013..c74165b4c 100644 --- a/src/libtomahawk/playlist/GridView.cpp +++ b/src/libtomahawk/playlist/GridView.cpp @@ -74,7 +74,7 @@ GridView::GridView( QWidget* parent ) setVerticalScrollMode( QAbstractItemView::ScrollPerPixel ); setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOn ); - setStyleSheet( "QListView { background-color: #393840; }" ); + setStyleSheet( "QListView { background-color: #272b2e; }" ); setAutoFitItems( true ); setAutoResize( false ); From b2d632692608e2074c7546f7927968f63c589978 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Tue, 18 Dec 2012 11:44:29 -0500 Subject: [PATCH 196/332] Tweak socialwidget icons a bit --- data/images/cancel.svg | 4 ++-- data/images/tweet.svg | 4 ++-- resources.qrc | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/data/images/cancel.svg b/data/images/cancel.svg index 4354ac718..7d3169286 100644 --- a/data/images/cancel.svg +++ b/data/images/cancel.svg @@ -1,5 +1,5 @@ - + cancel Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -9,6 +9,6 @@ - + \ No newline at end of file diff --git a/data/images/tweet.svg b/data/images/tweet.svg index 726c9302e..ec623b032 100644 --- a/data/images/tweet.svg +++ b/data/images/tweet.svg @@ -1,5 +1,5 @@ - + tweet Created with Sketch (http://www.bohemiancoding.com/sketch) @@ -9,6 +9,6 @@ - + \ No newline at end of file diff --git a/resources.qrc b/resources.qrc index 844c0b1f9..7d74c717e 100644 --- a/resources.qrc +++ b/resources.qrc @@ -147,5 +147,6 @@ data/images/cancel.svg data/images/delete.svg data/images/ok.svg + data/images/tweet.svg From b4e31ece839f86780f41d1e01415cdbfae6f6139 Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Wed, 19 Dec 2012 01:17:25 +0100 Subject: [PATCH 197/332] Automatic merge of Transifex translations --- lang/tomahawk_ar.ts | 21 +-- lang/tomahawk_bg.ts | 21 +-- lang/tomahawk_bn_IN.ts | 21 +-- lang/tomahawk_ca.ts | 21 +-- lang/tomahawk_de.ts | 75 +++++----- lang/tomahawk_el.ts | 21 +-- lang/tomahawk_en.ts | 21 +-- lang/tomahawk_es.ts | 99 ++++++------- lang/tomahawk_fr.ts | 21 +-- lang/tomahawk_gl.ts | 21 +-- lang/tomahawk_hi_IN.ts | 21 +-- lang/tomahawk_hu.ts | 21 +-- lang/tomahawk_it.ts | 21 +-- lang/tomahawk_ja.ts | 21 +-- lang/tomahawk_lt.ts | 21 +-- lang/tomahawk_pl.ts | 322 ++++++++++++++++++++--------------------- lang/tomahawk_pt_BR.ts | 21 +-- lang/tomahawk_ru.ts | 21 +-- lang/tomahawk_sv.ts | 21 +-- lang/tomahawk_tr.ts | 21 +-- lang/tomahawk_zh_CN.ts | 21 +-- lang/tomahawk_zh_TW.ts | 21 +-- 22 files changed, 376 insertions(+), 519 deletions(-) diff --git a/lang/tomahawk_ar.ts b/lang/tomahawk_ar.ts index c809d1d1e..78f4440c3 100644 --- a/lang/tomahawk_ar.ts +++ b/lang/tomahawk_ar.ts @@ -323,44 +323,37 @@ connect and stream from you? استمارة - + Top Hits الأكثر شهرة - + Related Artists الفنانين ذات الذوق القريب - - - Artist - فنان - - - + Albums ألبومات - - + Cover غلاف - + Sorry, we could not find any albums for this artist! نعتذر, لم نستطيع إيجاد ألبومات أخرى لهذا الفنان! - + Sorry, we could not find any related artists! نعتذر، لم نستطيع إيجاد فنانين! - + Sorry, we could not find any top hits for this artist! نعتذر، لم نستطيع إيجاد أغاني مشهورة جدا لهذا الفنان! diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index 3f2e53b49..1db54aff1 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -322,44 +322,37 @@ connect and stream from you? - + Top Hits Най-известни изпълнения - + Related Artists Изпълнители с подобно звучене - - - Artist - Изпълнител - - - + Albums Албуми - - + Cover Обложка - + Sorry, we could not find any albums for this artist! Съжалявам, но не откривам нито един албум за този артист! - + Sorry, we could not find any related artists! Съжалявам, но не откривам нито един подобен на този артист! - + Sorry, we could not find any top hits for this artist! Съжалявам, но не откривам нито една хитова песен на този артист! diff --git a/lang/tomahawk_bn_IN.ts b/lang/tomahawk_bn_IN.ts index 8a8704170..0a85f1d0f 100644 --- a/lang/tomahawk_bn_IN.ts +++ b/lang/tomahawk_bn_IN.ts @@ -322,44 +322,37 @@ connect and stream from you? - + Top Hits - + Related Artists - - - Artist - - - - + Albums - - + Cover - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! diff --git a/lang/tomahawk_ca.ts b/lang/tomahawk_ca.ts index 12b502405..9d3eb1370 100644 --- a/lang/tomahawk_ca.ts +++ b/lang/tomahawk_ca.ts @@ -322,44 +322,37 @@ connect and stream from you? Formulari - + Top Hits Grans Èxits - + Related Artists Artistes Relacionats - - - Artist - Artista - - - + Albums Àlbums - - + Cover Caràtula - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index c1d539a17..5b0a9880f 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -68,18 +68,18 @@ erlauben sich mit dir zu verbinden? Connections - + Verbindungen Connect &All - + &Alle verbinden Disconnect &All - + &Alle trennen @@ -250,7 +250,7 @@ erlauben sich mit dir zu verbinden? Main Menu - + Hauptmenü @@ -263,7 +263,7 @@ erlauben sich mit dir zu verbinden? Tracklist - + Tracklist @@ -273,7 +273,7 @@ erlauben sich mit dir zu verbinden? Cover - + Cover @@ -323,44 +323,37 @@ erlauben sich mit dir zu verbinden? Form - + Top Hits Top Hits - + Related Artists Ähnliche Künstler - - - Artist - Künstler - - - + Albums Alben - - + Cover Cover - + Sorry, we could not find any albums for this artist! Sorry, wir konnten keine Alben für diesen Künstler finden! - + Sorry, we could not find any related artists! Sorry, wir konnten keine ähnlichen Künstler finden! - + Sorry, we could not find any top hits for this artist! Sorry, wir konnten keine Lieder für diesen Künstler finden! @@ -410,7 +403,7 @@ erlauben sich mit dir zu verbinden? resolver - + Resolver @@ -457,7 +450,7 @@ erlauben sich mit dir zu verbinden? Playing from %1 - + Wiedergabe von %1 @@ -563,7 +556,7 @@ erlauben sich mit dir zu verbinden? <html><head/><body><p><span style=" font-weight:600;">Sorry!</span> Tomahawk crashed. Please tell us about it! Tomahawk has created an error report for you that can help improve the stability in the future. You can now send this report directly to the Tomahawk developers.</p></body></html> - + <html><head/><body><p><span style=" font-weight:600;">Sorry!</span> Tomahawk ist abgestürzt. Bitte informiere uns darüber! Tomahawk hat einen Fehlerbericht für dich erstellt, der uns dabei helfen kann die Stabilität zukünftiger Versionen zu verbessern. Du kannst diesen Bericht nun direkt an die Tomahawk Entwickler abschicken.</p></body></html> @@ -1564,7 +1557,7 @@ erlauben sich mit dir zu verbinden? Form - + Form @@ -1577,7 +1570,7 @@ erlauben sich mit dir zu verbinden? Form - + Form @@ -1660,7 +1653,7 @@ erlauben sich mit dir zu verbinden? Form - + Form @@ -1673,7 +1666,7 @@ erlauben sich mit dir zu verbinden? and using it to craft personalized radios. Enabling this option will allow you (and all your friends) to create automatic playlists and stations based on your personal taste profile. - + The Echo Nest kann die Metadaten deiner Sammlung analysieren um dir personalisierte Radio Stationen anzubieten. Wenn diese Option aktiviert ist, kannst du (und all deine Freunde) Automatische Playlisten und Stationen erstellen die auf deinen persönlichen Musikgeschmack zugeschnitten wurden. @@ -2079,7 +2072,7 @@ erlauben sich mit dir zu verbinden? Select All - + Alles markieren @@ -2112,7 +2105,7 @@ erlauben sich mit dir zu verbinden? Delete associated Spotify playlist? - + Möchtest du die zugehörige Spotify Playlist löschen? @@ -2316,27 +2309,27 @@ erlauben sich mit dir zu verbinden? Subscribe to playlist changes - + Playlist Änderungen abonnieren Re-enable playlist subscription - + Playlist Abonnement re-aktivieren Stop subscribing to changes - + Abonnement stoppen Enable Spotify collaborations - + Spotify Kollaboration aktivieren Disable Spotify collaborations - + Spotify Kollaboration deaktivieren @@ -3531,7 +3524,7 @@ Tomahawk auf Twitter's Website authentifiziert hast: &Main Menu - + Haupt&menü @@ -3838,7 +3831,11 @@ If you only want to post tweets, you're done. If you want to connect Tomahawk to your friends using Twitter, select the type of tweet and press the button below to send a sync message. You must both be following each other as Direct Messages are used. Then be (very) patient -- it can take several minutes! You can re-send a sync message at any time simply by sending another tweet using the button. - + Wenn du lediglich Tweets abschicken willst, bist du nun fertig. + +Wenn du Tomahawk mit deinen Freunden über Twitter verbinden willst, wähle nun einen Tweet-Typ aus und clicke den untenstehenden Button um eine Sync-Nachricht abzuschicken. Ihr müsst euch gegenseitig auf Twitter folgen, da Tomahawk über 'Direct Messages' kommuniziert. Bitte seid geduldig -- die initiale Verbindung kann ein paar Minuten dauern! + +Du kannst jederzeit eine neue Sync-Nachricht abschicken. @@ -3992,14 +3989,14 @@ Begriffe für %1: Hotttness for %1: %2 - + Hotttness für %1: %2 Familiarity for %1: %2 - + Bekanntheitsgrad für %1: %2 @@ -4294,7 +4291,7 @@ Lyrics for "%1" by %2: I'm sorry -- I'm just an automatic presence used by Tomahawk Player (http://gettomahawk.com). If you are getting this message, the person you are trying to reach is probably not signed on, so please try again later! - + I'm sorry -- I'm just an automatic presence used by Tomahawk Player (http://gettomahawk.com). If you are getting this message, the person you are trying to reach is probably not signed on, so please try again later! diff --git a/lang/tomahawk_el.ts b/lang/tomahawk_el.ts index 8db28799c..5f4e2d732 100644 --- a/lang/tomahawk_el.ts +++ b/lang/tomahawk_el.ts @@ -322,44 +322,37 @@ connect and stream from you? Φόρμα - + Top Hits - + Related Artists Παρόμοιοι Καλλιτέχνες - - - Artist - Καλλιτέχνης - - - + Albums Άλμπουμ - - + Cover - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! diff --git a/lang/tomahawk_en.ts b/lang/tomahawk_en.ts index 82d4503ac..75c58cd01 100644 --- a/lang/tomahawk_en.ts +++ b/lang/tomahawk_en.ts @@ -323,44 +323,37 @@ connect and stream from you? Form - + Top Hits Top Hits - + Related Artists Related Artists - - - Artist - Artist - - - + Albums Albums - - + Cover Cover - + Sorry, we could not find any albums for this artist! Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! Sorry, we could not find any top hits for this artist! diff --git a/lang/tomahawk_es.ts b/lang/tomahawk_es.ts index cb52c954f..dca9ae87c 100644 --- a/lang/tomahawk_es.ts +++ b/lang/tomahawk_es.ts @@ -323,44 +323,37 @@ conectarse a usted y transmitir música? Form - + Top Hits Grandes éxitos - + Related Artists Artistas relacionados - - - Artist - Artista - - - + Albums Álbumes - - + Cover Portada - + Sorry, we could not find any albums for this artist! No se encontraron álbumes de este artista - + Sorry, we could not find any related artists! No se encontraron artistas relacionados - + Sorry, we could not find any top hits for this artist! No se encontraron éxitos de este artista @@ -493,12 +486,12 @@ conectarse a usted y transmitir música? Create new Playlist - Crear nueva lista de reproducción + Nueva lista de reproducción Create new Station - Crear nueva emisora + Nueva estación @@ -523,7 +516,7 @@ conectarse a usted y transmitir música? Stations - Estaciones + Radio @@ -578,7 +571,7 @@ conectarse a usted y transmitir música? Abort - Abortar + Cancelar @@ -656,7 +649,7 @@ conectarse a usted y transmitir música? Steer this station: - Controlar esta emisora: + Controlar esta estación: @@ -809,7 +802,7 @@ conectarse a usted y transmitir música? Scrobble tracks to Last.fm - Hacer scrobble a las pistas en Last.fm + Hacer scrobble en Last.fm @@ -927,7 +920,7 @@ conectarse a usted y transmitir música? All of your loved tracks - Pistas favoritas + Mis pistas favoritas @@ -1078,7 +1071,7 @@ conectarse a usted y transmitir música? Create a new playlist - Crear una nueva lista de reproducción + Nueva lista de reproducción @@ -1228,7 +1221,7 @@ conectarse a usted y transmitir música? New Playlist - Nueva lista de reproducción + Crear nueva lista de reproducción @@ -1253,12 +1246,12 @@ conectarse a usted y transmitir música? Create Manual Playlist - Crear lista de reproducción manual + Lista de reproducción manual Create Automatic Playlist - Crear lista de reproducción automática + Lista de reproducción automática @@ -1681,7 +1674,7 @@ y estaciones basadas en sus gustos personales. Upload collection list to The Echo Nest to enable user radio - Enviar la lista de colección a Echo Nest para activar la radio de usuario + Enviar información de la colección a The Echo Nest para activar la radio @@ -1877,12 +1870,12 @@ y estaciones basadas en sus gustos personales. Latest additions to your collection - Últimas novedades en mi colección + Pistas añadidas recientemente Latest additions to %1's collection - Últimas novedadoes en la colección de %1 + Pistas añadidas recientemente en la colección de %1 @@ -1892,17 +1885,17 @@ y estaciones basadas en sus gustos personales. Recently Played Tracks - Temas Escuchados Recientemente + Pistas reproducidas recientemente Your recently played tracks - Mis canciones escuchadas recientemente + Mis pistas escuchadas recientemente %1's recently played tracks - Las canciones escuchadas recientemente por %1 + Canciones escuchadas recientemente por %1 @@ -1935,7 +1928,7 @@ y estaciones basadas en sus gustos personales. Add to my Stations - Añadir a mis emisoras + Añadir a mis estaciones @@ -1955,7 +1948,7 @@ y estaciones basadas en sus gustos personales. station - emisora + estación @@ -2077,7 +2070,7 @@ y estaciones basadas en sus gustos personales. Right click on any Tomahawk playlist to sync it to Spotify. - Click derecho en cualquier lista de Tomahawk para sincronizarla con Spotify. + Haga click derecho en cualquier lista de Tomahawk para sincronizarla con Spotify. @@ -2092,7 +2085,7 @@ y estaciones basadas en sus gustos personales. Spotify playlists to keep in sync: - Listas de Spotify a mantener sincronizadas: + Listas de Spotify sincronizadas: @@ -2236,7 +2229,7 @@ y estaciones basadas en sus gustos personales. Scrobble your tracks to last.fm, and find freely downloadable tracks to play - Hacer scrobble de mis temas a last.fm y encontrar canciones gratuitas para reproducirlas + Hacer scrobble en Last.fm y encontrar canciones gratuitas @@ -2534,7 +2527,7 @@ Deberá volverse a autenticar. Automatically connect to Tomahawks on the local network - Conectarse automáticament a los Tomahawks de la red local + Conectarse automáticamente a los Tomahawks de la red local @@ -2714,7 +2707,7 @@ Por favor, cambie los filtros o inténtelo de nuevo. Station ran out of tracks! Try tweaking the filters for a new set of songs to play. - La emisora se ha quedado sin pistas + La estación se ha quedado sin pistas Intente ajustar los filtros para reproducir nuevas canciones. @@ -3224,7 +3217,7 @@ Intente ajustar los filtros para reproducir nuevas canciones. Network error parsing shortened link! - Error en la red al analizar el enlace acortado! + Error en la red al analizar el enlace acortado @@ -3593,7 +3586,7 @@ introduzca su número PIN aquí: Station - Radio + Nueva estación @@ -3741,7 +3734,7 @@ introduzca su número PIN aquí: You've listened to %1 %n time(s). - Ha escuchado %1 %n vez.Ha escuchado %1 %n veces. + Ha escuchado %1 una vez.Ha escuchado %1 %n veces. @@ -3909,17 +3902,17 @@ Puede reenviar el mensaje de sincronización en cualquier momento simplemente en SuperCollection - SuperColección + Supercolección Combined libraries of all your online friends - Bibliotecas combinadas de todos tus amigos conectados + Bibliotecas combinadas de todos tus amigos Recently Played Tracks - Temas Escuchados Recientemente + Pistas reproducidas recientemente @@ -4033,7 +4026,7 @@ Letras de "%1" por %2: Failed to parse contents of XSPF playlist - Error al analizar los contenidos de la lista XSPF + Error al analizar el contenido de la lista XSPF @@ -4043,7 +4036,7 @@ Letras de "%1" por %2: Failed to fetch the desired playlist from the network, or the desired file does not exist - Error al buscar la lista deseada en la red, o el fichero no existe + Error al buscar la lista deseada en la red (o el fichero no existe) @@ -4195,7 +4188,7 @@ Letras de "%1" por %2: Publish currently playing track - Publicar el tema reproducido al momento + Publicar la pista en reproducción @@ -4208,7 +4201,7 @@ Letras de "%1" por %2: User Interaction - Interacción de usuario + Interacción del usuario @@ -4223,22 +4216,22 @@ Letras de "%1" por %2: Authorization Error - Error de Autorización + Error de autorización Remote Stream Error - Error de Stream Remoto + Error de stream remoto Remote Connection failed - Fallo en la Conexión Remota + Fallo en la conexión remota Internal Server Error - Error de Servidor Interno + Error interno del servidor @@ -4263,7 +4256,7 @@ Letras de "%1" por %2: No Compression Support - Compresión no sportada + Compresión no soportada diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index 9b297ad75..a6cd85507 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -323,44 +323,37 @@ de se connecter et streamer de vous? Form - + Top Hits Top Hits - + Related Artists Artistes similaires - - - Artist - Artiste - - - + Albums Albums - - + Cover Pochette - + Sorry, we could not find any albums for this artist! Désolé, on a pas pu trouver aucun album pour cet artiste! - + Sorry, we could not find any related artists! Désolé, on a rien trouvé par rapport a cet artite! - + Sorry, we could not find any top hits for this artist! Désolé, on a pas pu trouver aucun top hit pour cet artiste! diff --git a/lang/tomahawk_gl.ts b/lang/tomahawk_gl.ts index 81ae56f8f..0c716c903 100644 --- a/lang/tomahawk_gl.ts +++ b/lang/tomahawk_gl.ts @@ -322,44 +322,37 @@ connect and stream from you? Formulario - + Top Hits Maiores éxitos - + Related Artists Artistas relacionados - - - Artist - Artista - - - + Albums Álbums - - + Cover Portada - + Sorry, we could not find any albums for this artist! Non se atopou ningún álbum para este artista! - + Sorry, we could not find any related artists! Non se atopou ningún artista relacionado! - + Sorry, we could not find any top hits for this artist! Non se atopou ningún éxito deste artista! diff --git a/lang/tomahawk_hi_IN.ts b/lang/tomahawk_hi_IN.ts index f73e7ef74..e062f1b44 100644 --- a/lang/tomahawk_hi_IN.ts +++ b/lang/tomahawk_hi_IN.ts @@ -322,44 +322,37 @@ connect and stream from you? - + Top Hits - + Related Artists - - - Artist - - - - + Albums - - + Cover - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! diff --git a/lang/tomahawk_hu.ts b/lang/tomahawk_hu.ts index aa79b7ece..9956d143f 100644 --- a/lang/tomahawk_hu.ts +++ b/lang/tomahawk_hu.ts @@ -322,44 +322,37 @@ connect and stream from you? - + Top Hits Top Hits - + Related Artists Kapcsolódó előadók - - - Artist - - - - + Albums Albumok - - + Cover Borító - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! diff --git a/lang/tomahawk_it.ts b/lang/tomahawk_it.ts index b87b1dc1e..45d3784c5 100644 --- a/lang/tomahawk_it.ts +++ b/lang/tomahawk_it.ts @@ -322,44 +322,37 @@ connect and stream from you? Corpo - + Top Hits Top Hits - + Related Artists Artisti simili - - - Artist - - - - + Albums Album - - + Cover Copertina - + Sorry, we could not find any albums for this artist! Ci dispiace, ma non abbiamo trovato nessun album di questo artista! - + Sorry, we could not find any related artists! Siamo spiacenti, non è stato possibile trovare artisti simili! - + Sorry, we could not find any top hits for this artist! Ci dispiace, ma non abbiamo trovato alcun risultato top per l'artista! diff --git a/lang/tomahawk_ja.ts b/lang/tomahawk_ja.ts index ef9d6c264..bd53daa2e 100644 --- a/lang/tomahawk_ja.ts +++ b/lang/tomahawk_ja.ts @@ -322,44 +322,37 @@ connect and stream from you? フォーム - + Top Hits 大ヒット曲 - + Related Artists 似たアーティスト - - - Artist - アーティスト - - - + Albums アルバム - - + Cover カバー - + Sorry, we could not find any albums for this artist! このアーティストのアルバムは見つかりませんでした。 - + Sorry, we could not find any related artists! 関連アーティストは見つかりませんでした。 - + Sorry, we could not find any top hits for this artist! このアーティストの大ヒット曲は見つかりませんでした。 diff --git a/lang/tomahawk_lt.ts b/lang/tomahawk_lt.ts index 3fdfd77fb..3a390e47d 100644 --- a/lang/tomahawk_lt.ts +++ b/lang/tomahawk_lt.ts @@ -322,44 +322,37 @@ connect and stream from you? Forma - + Top Hits - + Related Artists Susiję atlikėjai - - - Artist - Atlikėjas - - - + Albums Albumai - - + Cover Viršelis - + Sorry, we could not find any albums for this artist! Atsiprašome, neradome jokių šio atlikėjo albumų! - + Sorry, we could not find any related artists! Atsiprašome, neradome jokių susijusių atlikėjų! - + Sorry, we could not find any top hits for this artist! diff --git a/lang/tomahawk_pl.ts b/lang/tomahawk_pl.ts index 0621a3d95..28236fa10 100644 --- a/lang/tomahawk_pl.ts +++ b/lang/tomahawk_pl.ts @@ -5,17 +5,18 @@ Allow %1 to connect and stream from you? - + Pozwolić %1 +połączyć się i strumieniować od ciebie? Allow Streaming - + Zezwól na strumieniowanie Deny Access - + Zablokuj dostęp @@ -23,7 +24,7 @@ connect and stream from you? Tomahawk needs you to decide whether %1 is allowed to connect. - + Musisz zdecydować, czy Tomahawk ma pozwolić %1 na połączenie. @@ -322,44 +323,37 @@ connect and stream from you? Formularz - + Top Hits Hity na Topie - + Related Artists Powiązani artyści - - - Artist - - - - + Albums Albumy - - + Cover - + Okładka - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! @@ -474,17 +468,17 @@ connect and stream from you? Sorry, Tomahawk couldn't find the track '%1' by %2 - + Przepraszamy, Tomahawk nie mógł znaleźć utworu '%1' wykonawcy %2 Sorry, Tomahawk couldn't find the artist '%1' - + Przepraszamy, Tomahawk nie mógł znaleźć wykonawcy '%1' Sorry, Tomahawk couldn't find the album '%1' by %2 - + Przepraszamy, Tomahawk nie mógł znaleźć albumu '%1' wykonawcy %2 @@ -567,12 +561,12 @@ connect and stream from you? Send this report - + Wyślij ten raport Don't send - + Nie wysyłaj @@ -629,7 +623,7 @@ connect and stream from you? About this Account - + O tym koncie @@ -828,7 +822,7 @@ connect and stream from you? Import Playback History - + Zaimportuj historię odtwarzania @@ -954,17 +948,17 @@ connect and stream from you? Title: - + Tytuł: Title... - + Tytuł... Artist: - + Wykonawca: @@ -1093,62 +1087,62 @@ connect and stream from you? Artist - + Wykonawca Title - + Tytuł Composer - + Kompozytor Album - + Album Track - + Utwór Duration - + Czas trwania Bitrate - + Bitrate Age - + Wiek Year - + Rok Size - + Rozmiar Origin - + Źródło Score - + Ocena @@ -1180,7 +1174,7 @@ connect and stream from you? played %1 by %2 - + odtworzone %1 przez %2 @@ -1319,7 +1313,8 @@ connect and stream from you? No Proxy Hosts: (Overrides system proxy) - + Hosty bez proxy: +(zastępuje proxy systemowe) @@ -1402,17 +1397,17 @@ connect and stream from you? Friend Finders - + Wyszukiwacze Znajomych Music Finders - + Wyszukiwacze Muzyki Status Updaters - + Aktualizatory Statusu @@ -1509,7 +1504,7 @@ connect and stream from you? Some changed settings will not take effect until Tomahawk is restarted - + Niektóre zmiany zaczną działać po restarcie Tomahawka @@ -1539,7 +1534,7 @@ connect and stream from you? Install resolver from file - + Zainstaluj usługę z pliku @@ -1760,7 +1755,7 @@ connect and stream from you? Listening to "%1" by %2 on "%3". %4 - + Słucham "%1" wykonawcy %2 z "%3". %4 @@ -1872,12 +1867,12 @@ connect and stream from you? Latest additions to your collection - + Ostatnio dodane do twojej kolekcji Latest additions to %1's collection - + Ostatnio dodane do kolekcji %1 @@ -1887,17 +1882,17 @@ connect and stream from you? Recently Played Tracks - + Ostatnio odtwarzane utwory Your recently played tracks - + Twoje ostatnio odtwarzane utwory %1's recently played tracks - + Utwory ostatnio odtwarzane przez %1 @@ -2024,7 +2019,7 @@ connect and stream from you? Dashboard - + Tablica kontrolna @@ -2057,22 +2052,22 @@ connect and stream from you? Configure your Spotify account - + Skonfiguruj swoje konto Spotify Username or Facebook Email - + Nazwa użytkownika lub email z Facebooka Log In - + Zaloguj sie Right click on any Tomahawk playlist to sync it to Spotify. - + Kliknij prawym przyciskiem na dowolną listę Tomahawka aby zsynchronizować ją ze Spotify. @@ -2082,17 +2077,17 @@ connect and stream from you? High Quality Streams - + Strumieniowanie w wysokiej jakości Spotify playlists to keep in sync: - + Listy Spotify do synchronizacji: Delete Tomahawk playlist when removing synchronization - + Usuń listy Tomahawka podczas usuwania synchronizacji @@ -2118,17 +2113,17 @@ connect and stream from you? Copy Artist Link - + Kopiuj link do wykonawcy Copy Album Link - + Kopiuj link do albumu Copy Track Link - + Kopiuj link do utworu @@ -2169,7 +2164,7 @@ connect and stream from you? Manual Install Required - + Ręczna instalacja wymagana @@ -2192,7 +2187,7 @@ connect and stream from you? Enter your Google login to connect with your friends using Tomahawk! - + Podaj swoje dane dostępu do konta Google aby połączyć się z innymi znajomymi używającymi Tomahawka! @@ -2231,7 +2226,7 @@ connect and stream from you? Scrobble your tracks to last.fm, and find freely downloadable tracks to play - + Scrobbluj swoje utwory do last.fm i znajduj darmowe utwory do odtwarzania @@ -2239,12 +2234,12 @@ connect and stream from you? Testing... - + Testuję... Test Login - + Testuj logowanie @@ -2255,7 +2250,7 @@ connect and stream from you? Importing History... - + Importuję historię... @@ -2271,17 +2266,17 @@ connect and stream from you? Failed - + Niepowodzenie Success - + Sukces Could not contact server - + Nie udało się połączyć z serwerem @@ -2299,7 +2294,7 @@ connect and stream from you? Sync with Spotify - + Synchronizuj ze Spotify @@ -2339,7 +2334,7 @@ connect and stream from you? Stop syncing with Spotify - + Przestań synchronizować ze Spotify @@ -2347,12 +2342,12 @@ connect and stream from you? Logging in... - + Loguję się... Failed: %1 - + Nie udało się: %1 @@ -2368,7 +2363,7 @@ connect and stream from you? Log In - + Zaloguj się @@ -2376,7 +2371,7 @@ connect and stream from you? Play music from and sync your playlists with Spotify Premium - + Odtwarzaj muzykę i synchronizuj listy odtwarzania ze Spotify Premium @@ -2400,26 +2395,26 @@ connect and stream from you? Status: No saved credentials - + Status: Brak zapisanych danych Authenticate - + Uwierzytelnij Status: Credentials saved for %1 - + Status: Dane zapisane dla %1 De-authenticate - + Cofnij uwierzytelnienie @@ -2430,82 +2425,85 @@ connect and stream from you? Tweetin' Error - + Błąd tweetowania The credentials could not be verified. You may wish to try re-authenticating. - + Dane nie mogły zostać zweryfikowane. +Możesz chcieć ponowić uwierzytelnienie. Status: Error validating credentials - + Status: Błąd podczas sprawdzania danych Global Tweet - + Globalny Tweet Direct Message - + Prywatna Wiadomość (DM) Send Message! - + Wyślij wiadomość! @Mention - + @Wzmianka Send Mention! - + Wyślij wzmiankę! You must enter a user name for this type of tweet. - + Musisz podać nazwę użytkownika do tego typu tweetu. Your saved credentials could not be loaded. You may wish to try re-authenticating. - + Twoje zapisane dane nie mogły zostać wczytane. +Możesz spróbować ponowić uwierzytelnienie. Your saved credentials could not be verified. You may wish to try re-authenticating. - + Twoje zapisane dane nie mogły zostać zweryfikowane. +Możesz spróbować ponowić uwierzytelnienie. There was an error posting your status -- sorry! - + Wystąpił błąd podczas wysyłania twojego statusu -- przepraszamy! Tweeted! - + Tweetnięto! Your tweet has been posted! - + Twój tweet został wysłany! There was an error posting your direct message -- sorry! - + Wystąpił błąd podczas wysyłanie twojej wiadomości -- przepraszamy! @@ -2518,7 +2516,7 @@ You may wish to try re-authenticating. Log on to your Jabber/XMPP account to connect to your friends - + Zaloguj się na twoje konto Jabber/XMPP aby połączyć się ze swoimi znajomymi @@ -2526,7 +2524,7 @@ You may wish to try re-authenticating. Automatically connect to Tomahawks on the local network - + Automatycznie łącz się z Tomahawkami w sieci lokalnej @@ -2546,12 +2544,12 @@ You may wish to try re-authenticating. Continue Playback after this &Track - + Kontynuuj odtwarzanie po &tym utworze Stop Playback after this &Track - + Zatrzymaj odtwarzanie po &tym utworze @@ -2581,17 +2579,17 @@ You may wish to try re-authenticating. Copy Album &Link - + Kopiuj &link do albumu Copy Artist &Link - + Kopiuj &link do wykonawcy Un-&Love - + Przestań &lubić @@ -2706,7 +2704,9 @@ Proszę zmienić filtry lub spróbować ponownie. Station ran out of tracks! Try tweaking the filters for a new set of songs to play. - + Stacji skończyły się utwory! + +Spróbuj poprawić filtry aby uzyskać nowy zestaw piosenek do odtworzenia. @@ -2792,12 +2792,12 @@ Try tweaking the filters for a new set of songs to play. Major - + Dur Minor - + Moll @@ -2807,7 +2807,7 @@ Try tweaking the filters for a new set of songs to play. C Sharp - + C# @@ -2832,7 +2832,7 @@ Try tweaking the filters for a new set of songs to play. F Sharp - + F# @@ -2892,12 +2892,12 @@ Try tweaking the filters for a new set of songs to play. Artist Hotttnesss - + Zainteresowanie wykonawcą Song Hotttnesss - + Zainteresowanie piosenką @@ -3016,7 +3016,7 @@ Try tweaking the filters for a new set of songs to play. Error fetching Grooveshark information from the network! - + Błąd podczas pobierania informacji z Grooveshark! @@ -3047,7 +3047,7 @@ Try tweaking the filters for a new set of songs to play. Tomahawk is playing "%1" by %2%3. - + Tomahawk odtwarza "%1" wykonawcy %2%3. @@ -3060,12 +3060,12 @@ Try tweaking the filters for a new set of songs to play. Top Tracks - + Najpopularniejsze utwory Loved Tracks - + Lubiane utwory @@ -3075,7 +3075,7 @@ Try tweaking the filters for a new set of songs to play. Top Artists - + Najpopularniejsi wykonawcy @@ -3104,7 +3104,7 @@ Try tweaking the filters for a new set of songs to play. Error fetching iTunes information from the network! - + Błąd podczas pobierania informacji z iTunes! @@ -3193,12 +3193,12 @@ Try tweaking the filters for a new set of songs to play. %1 people - + %1 ludzi loved this track - + lubi ten utwór @@ -3206,7 +3206,7 @@ Try tweaking the filters for a new set of songs to play. Error fetching Rdio information from the network! - + Błąd podczas pobierania informacji z Rdio! @@ -3214,7 +3214,7 @@ Try tweaking the filters for a new set of songs to play. Network error parsing shortened link! - + Błąd sieciowy podczas rozpoznawania krótkiego linku! @@ -3266,7 +3266,7 @@ Try tweaking the filters for a new set of songs to play. Error fetching Spotify information from the network! - + Błąd podczas pobierania informacji ze Spotify! @@ -3274,7 +3274,7 @@ Try tweaking the filters for a new set of songs to play. Automatically update from XSPF - + Automatycznie aktualizuj z XSPF @@ -3449,7 +3449,7 @@ wprowadź pokazany numer PIN tutaj: &Legal Info... - + Informacje prawne (&L) @@ -3489,22 +3489,22 @@ wprowadź pokazany numer PIN tutaj: Back - + Wstecz Go back one page - + Cofnij o jedną stronę Forward - + Naprzód Go forward one page - + Przejdź naprzód o jedną stronę @@ -3578,7 +3578,7 @@ wprowadź pokazany numer PIN tutaj: Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Przepraszamy, wystąpił problem z połączeniem z twoim urządzeniem audio lub z żądanym utworem, zostanie on pominięty. @@ -3623,7 +3623,7 @@ wprowadź pokazany numer PIN tutaj: Error connecting to SIP: Authentication failed! - + Błąd łączenia z SIP: Uwierzytelnienie nieudane! @@ -3660,7 +3660,7 @@ wprowadź pokazany numer PIN tutaj: About Tomahawk - + O Tomahawku @@ -3681,32 +3681,32 @@ wprowadź pokazany numer PIN tutaj: Cover - + Okładka Track - + Utwór Artist - + Wykonawca Album - + Album Statistics - + Statystyki Similar Tracks - + Podobne utwory @@ -3716,27 +3716,27 @@ wprowadź pokazany numer PIN tutaj: You've listened to this track %n time(s). - + Słuchałeś tego utworu %n raz.Słuchałeś tego utworu %n razy.Słuchałeś tego utworu %n razy. You've never listened to this track before. - + Nie słuchałeś wcześniej tego utworu. You first listened to it on %1. - + Pierwszy raz słuchałeś tego utworu %1. You've listened to %1 %n time(s). - + Słuchałeś %1 %n raz.Słuchałeś %1 %n razy.Słuchałeś %1 %n razy. You've never listened to %1 before. - + Nie słuchałeś wcześniej %1. @@ -3909,12 +3909,12 @@ Zawsze możesz ponownie wysłać wiadomość synchronizacyjną - po prostu wyśl Recently Played Tracks - + Ostatnio odtwarzane utwory Recently played tracks from all your friends - + Utwory ostatnio odtwarzane przez twoich znajomych @@ -4020,17 +4020,17 @@ Tekst dla "%1" wykonawcy %2: Failed to parse contents of XSPF playlist - + Nie udało się rozpoznać zawartości playlisty XSPF Some playlist entries were found without artist and track name, they will be omitted - + Niektóre utwory na liście nie mają podanego wykonawcy lub tytułu, więc zostaną pominięte. Failed to fetch the desired playlist from the network, or the desired file does not exist - + Nie udało się pobrać żądanej listy odtwarzania z sieci lub żądany plik nie istnieje @@ -4122,27 +4122,27 @@ Tekst dla "%1" wykonawcy %2: Xmpp Configuration - + Konfiguracja XMPP Configure this Xmpp account - + Skonfiguruj to konto XMPP Enter your Xmpp login to connect with your friends using Tomahawk! - + Podaj dane logowania XMPP aby połączyć się ze znajomymi używającymi Tomahawka! Login Information - + Dane logowania Xmpp ID: - + ID: @@ -4157,12 +4157,12 @@ Tekst dla "%1" wykonawcy %2: An account with this name already exists! - + Konto o takiej nazwie już istnieje! Advanced Xmpp Settings - + Zaawansowane ustawienia XMPP @@ -4177,12 +4177,12 @@ Tekst dla "%1" wykonawcy %2: Lots of servers don't support this (e.g. GTalk, jabber.org) - + Wiele serwerów tego nie obsługuje (np. GTalk, jabber.org) Publish currently playing track - + Publikuj aktualnie odtwarzany utwór @@ -4210,7 +4210,7 @@ Tekst dla "%1" wykonawcy %2: Authorization Error - + Błąd uwierzytelnienia @@ -4280,7 +4280,7 @@ Tekst dla "%1" wykonawcy %2: Enter Xmpp ID: - + Podaj ID XMPP: @@ -4295,7 +4295,7 @@ Tekst dla "%1" wykonawcy %2: I'm sorry -- I'm just an automatic presence used by Tomahawk Player (http://gettomahawk.com). If you are getting this message, the person you are trying to reach is probably not signed on, so please try again later! - + Przepraszam -- Jestem automatyczną sekretarką Tomahawk Player (http://gettomahawk.com). Jeżeli czytasz tą wiadomość, osoba z którą próbujesz się skontaktować prawdopodobnie nie jest zalogowana, proszę spróbuj ponownie później! diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts index 97a9f1bdb..964ceeb41 100644 --- a/lang/tomahawk_pt_BR.ts +++ b/lang/tomahawk_pt_BR.ts @@ -323,44 +323,37 @@ se conecte e faça o stream de você? Formulário - + Top Hits Mais Tocadas - + Related Artists Artistas Relacionados - - - Artist - Artista - - - + Albums Álbuns - - + Cover Capa - + Sorry, we could not find any albums for this artist! Desculpe, mas não conseguimos encontrar outros álbuns para este artista! - + Sorry, we could not find any related artists! Desculpe, mas não conseguimos encontrar outros artistas relacionados a este! - + Sorry, we could not find any top hits for this artist! Desculpe, mas não conseguimos encontrar outras faixas mais tocadas deste artista! diff --git a/lang/tomahawk_ru.ts b/lang/tomahawk_ru.ts index 133b6fabf..e4e3a3fff 100644 --- a/lang/tomahawk_ru.ts +++ b/lang/tomahawk_ru.ts @@ -323,44 +323,37 @@ connect and stream from you? Форма - + Top Hits Хиты - + Related Artists Похожие исполнители - - - Artist - Исполнитель - - - + Albums Альбомы - - + Cover Обложка - + Sorry, we could not find any albums for this artist! К сожалению, мы не смогли найти никаких альбомов этого исполнителя! - + Sorry, we could not find any related artists! К сожалению, мы не смогли найти никаких исполнители! - + Sorry, we could not find any top hits for this artist! К сожалению, мы не смогли найти никаких хитов этого исполнителя! diff --git a/lang/tomahawk_sv.ts b/lang/tomahawk_sv.ts index 485d2c7c4..24ba5af14 100644 --- a/lang/tomahawk_sv.ts +++ b/lang/tomahawk_sv.ts @@ -322,44 +322,37 @@ connect and stream from you? Formulär - + Top Hits Största hits - + Related Artists Relaterade artister - - - Artist - - - - + Albums Album - - + Cover - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! diff --git a/lang/tomahawk_tr.ts b/lang/tomahawk_tr.ts index 2b5b678c4..099796b40 100644 --- a/lang/tomahawk_tr.ts +++ b/lang/tomahawk_tr.ts @@ -322,44 +322,37 @@ connect and stream from you? Form - + Top Hits En Çok Dinlenenler - + Related Artists Benzer Sanatçılar - - - Artist - - - - + Albums Albümler - - + Cover - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! diff --git a/lang/tomahawk_zh_CN.ts b/lang/tomahawk_zh_CN.ts index 8872e013f..20a54a0e3 100644 --- a/lang/tomahawk_zh_CN.ts +++ b/lang/tomahawk_zh_CN.ts @@ -322,44 +322,37 @@ connect and stream from you? 来自 - + Top Hits 最热歌曲 - + Related Artists 相关艺人 - - - Artist - 艺术家 - - - + Albums 专辑 - - + Cover 封面 - + Sorry, we could not find any albums for this artist! 抱歉,未找到该艺术家的其他专辑! - + Sorry, we could not find any related artists! 抱歉,没有找到相关的艺术家! - + Sorry, we could not find any top hits for this artist! 抱歉,没有找到该艺术家的任何人气歌曲! diff --git a/lang/tomahawk_zh_TW.ts b/lang/tomahawk_zh_TW.ts index bc274d457..9cad7f3e1 100644 --- a/lang/tomahawk_zh_TW.ts +++ b/lang/tomahawk_zh_TW.ts @@ -322,44 +322,37 @@ connect and stream from you? 形式 - + Top Hits 流行精選 - + Related Artists 相關演出者 - - - Artist - - - - + Albums 專輯 - - + Cover - + Sorry, we could not find any albums for this artist! - + Sorry, we could not find any related artists! - + Sorry, we could not find any top hits for this artist! From d8ea510a7cc1cb3b82d5db6bdf6891fd872739c0 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 08:17:27 +0100 Subject: [PATCH 198/332] * Removed obsolete / incorrect ScaledCover enum from ImageMode. --- src/AudioControls.cpp | 2 +- src/libtomahawk/playlist/PlaylistChartItemDelegate.cpp | 2 +- src/libtomahawk/playlist/PlaylistItemDelegate.cpp | 2 +- src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp | 2 +- src/libtomahawk/playlist/TreeItemDelegate.cpp | 4 ++-- src/libtomahawk/utils/TomahawkUtils.h | 1 - src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp | 4 ++-- 7 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/AudioControls.cpp b/src/AudioControls.cpp index a7e0f9660..dd8d82e42 100644 --- a/src/AudioControls.cpp +++ b/src/AudioControls.cpp @@ -329,7 +329,7 @@ AudioControls::setCover() ui->coverImage->setPixmap( TomahawkUtils::createRoundedImage( cover, QSize( 0, 0 ) ), false ); } else - ui->coverImage->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, TomahawkUtils::ScaledCover, ui->coverImage->size() ), true ); + ui->coverImage->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, TomahawkUtils::Original, ui->coverImage->size() ), true ); } diff --git a/src/libtomahawk/playlist/PlaylistChartItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistChartItemDelegate.cpp index ae50f3988..49c9cc7b9 100644 --- a/src/libtomahawk/playlist/PlaylistChartItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistChartItemDelegate.cpp @@ -207,7 +207,7 @@ PlaylistChartItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& if ( !m_pixmaps.contains( index ) ) { - m_pixmaps.insert( index, QSharedPointer< Tomahawk::PixmapDelegateFader >( new Tomahawk::PixmapDelegateFader( item->query(), pixmapRect.size(), TomahawkUtils::ScaledCover, false ) ) ); + m_pixmaps.insert( index, QSharedPointer< Tomahawk::PixmapDelegateFader >( new Tomahawk::PixmapDelegateFader( item->query(), pixmapRect.size(), TomahawkUtils::Original, false ) ) ); _detail::Closure* closure = NewClosure( m_pixmaps[ index ], SIGNAL( repaintRequest() ), const_cast(this), SLOT( doUpdateIndex( const QPersistentModelIndex& ) ), QPersistentModelIndex( index ) ); closure->setAutoDelete( false ); } diff --git a/src/libtomahawk/playlist/PlaylistItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistItemDelegate.cpp index a1b875d4c..c2f9328ce 100644 --- a/src/libtomahawk/playlist/PlaylistItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistItemDelegate.cpp @@ -190,7 +190,7 @@ PlaylistItemDelegate::paintShort( QPainter* painter, const QStyleOptionViewItem& if ( pixmap.isNull() ) { if ( !useAvatars ) - pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, TomahawkUtils::ScaledCover, ir.size() ); + pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, TomahawkUtils::Original, ir.size() ); else pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultSourceAvatar, TomahawkUtils::RoundedCorners, ir.size() ); } diff --git a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp index cae2f5ea7..5efef5f3e 100644 --- a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp @@ -190,7 +190,7 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& if ( !m_pixmaps.contains( index ) ) { - m_pixmaps.insert( index, QSharedPointer< Tomahawk::PixmapDelegateFader >( new Tomahawk::PixmapDelegateFader( item->query(), pixmapRect.size(), TomahawkUtils::ScaledCover, false ) ) ); + m_pixmaps.insert( index, QSharedPointer< Tomahawk::PixmapDelegateFader >( new Tomahawk::PixmapDelegateFader( item->query(), pixmapRect.size(), TomahawkUtils::RoundedCorners, false ) ) ); _detail::Closure* closure = NewClosure( m_pixmaps[ index ], SIGNAL( repaintRequest() ), const_cast(this), SLOT( doUpdateIndex( const QPersistentModelIndex& ) ), QPersistentModelIndex( index ) ); closure->setAutoDelete( false ); } diff --git a/src/libtomahawk/playlist/TreeItemDelegate.cpp b/src/libtomahawk/playlist/TreeItemDelegate.cpp index ea991cad3..207feca47 100644 --- a/src/libtomahawk/playlist/TreeItemDelegate.cpp +++ b/src/libtomahawk/playlist/TreeItemDelegate.cpp @@ -161,13 +161,13 @@ TreeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, { if ( !item->album().isNull() ) { - m_pixmaps.insert( index, QSharedPointer< Tomahawk::PixmapDelegateFader >( new Tomahawk::PixmapDelegateFader( item->album(), r.size(), TomahawkUtils::ScaledCover, false ) ) ); + m_pixmaps.insert( index, QSharedPointer< Tomahawk::PixmapDelegateFader >( new Tomahawk::PixmapDelegateFader( item->album(), r.size(), TomahawkUtils::Original, false ) ) ); _detail::Closure* closure = NewClosure( m_pixmaps[ index ], SIGNAL( repaintRequest() ), const_cast(this), SLOT( doUpdateIndex( const QPersistentModelIndex& ) ), QPersistentModelIndex( index ) ); closure->setAutoDelete( false ); } else if ( !item->artist().isNull() ) { - m_pixmaps.insert( index, QSharedPointer< Tomahawk::PixmapDelegateFader >( new Tomahawk::PixmapDelegateFader( item->artist(), r.size(), TomahawkUtils::ScaledCover, false ) ) ); + m_pixmaps.insert( index, QSharedPointer< Tomahawk::PixmapDelegateFader >( new Tomahawk::PixmapDelegateFader( item->artist(), r.size(), TomahawkUtils::Original, false ) ) ); _detail::Closure* closure = NewClosure( m_pixmaps[ index ], SIGNAL( repaintRequest() ), const_cast(this), SLOT( doUpdateIndex( const QPersistentModelIndex& ) ), QPersistentModelIndex( index ) ); closure->setAutoDelete( false ); } diff --git a/src/libtomahawk/utils/TomahawkUtils.h b/src/libtomahawk/utils/TomahawkUtils.h index b78f22ecb..8a40e3cac 100644 --- a/src/libtomahawk/utils/TomahawkUtils.h +++ b/src/libtomahawk/utils/TomahawkUtils.h @@ -127,7 +127,6 @@ namespace TomahawkUtils { Original, CoverInCase, - ScaledCover, Grid, DropShadow, RoundedCorners diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp index 4ec6566cc..4633ee4d1 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp @@ -76,8 +76,8 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par ui->tracks->setFrameShape( QFrame::StyledPanel ); ui->tracks->setAttribute( Qt::WA_MacShowFocusRect, 0 ); - m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::ScaledCover, QSize( 48, 48 ) ); - ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, TomahawkUtils::ScaledCover, QSize( ui->cover->sizeHint() ) ) ); + m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::Original, QSize( 48, 48 ) ); + ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, TomahawkUtils::Original, QSize( ui->cover->sizeHint() ) ) ); ui->biography->setFrameShape( QFrame::NoFrame ); ui->biography->setAttribute( Qt::WA_MacShowFocusRect, 0 ); From 15f65920bfaf6f8209a27dd56676ca544edd4fcd Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 08:17:58 +0100 Subject: [PATCH 199/332] * PixmapDelegateFader used wrong default image for tracks. --- src/libtomahawk/utils/PixmapDelegateFader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libtomahawk/utils/PixmapDelegateFader.cpp b/src/libtomahawk/utils/PixmapDelegateFader.cpp index 4f1563eb2..be1c1979b 100644 --- a/src/libtomahawk/utils/PixmapDelegateFader.cpp +++ b/src/libtomahawk/utils/PixmapDelegateFader.cpp @@ -139,7 +139,7 @@ PixmapDelegateFader::setSize( const QSize& size ) else if ( !m_artist.isNull() ) m_current = m_currentReference = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, m_mode, m_size ); else if ( !m_track.isNull() ) - m_current = m_currentReference = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, m_mode, m_size ); + m_current = m_currentReference = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, m_mode, m_size ); } else { From 4fdf2f1c43e2194e0c89bfc363ab3c34754c1cf6 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 08:18:13 +0100 Subject: [PATCH 200/332] * Support rounded default track images. --- src/libtomahawk/utils/TomahawkUtilsGui.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.cpp b/src/libtomahawk/utils/TomahawkUtilsGui.cpp index 9137949d9..0c0917936 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.cpp +++ b/src/libtomahawk/utils/TomahawkUtilsGui.cpp @@ -439,6 +439,8 @@ defaultPixmap( ImageType type, ImageMode mode, const QSize& size ) case DefaultTrackImage: if ( mode == Grid ) pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/track-placeholder-grid.svg", size ); + else if ( mode == RoundedCorners ) + pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/track-icon.svg", size, TomahawkUtils::RoundedCorners ); else pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/track-icon.svg", size ); break; From b8257393fd281209a13e126a368e1faad62c5d34 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 08:19:10 +0100 Subject: [PATCH 201/332] * PlayableCover now uses round images as default. --- src/libtomahawk/widgets/PlayableCover.cpp | 64 +++++++++++++---------- src/libtomahawk/widgets/PlayableCover.h | 4 ++ 2 files changed, 39 insertions(+), 29 deletions(-) diff --git a/src/libtomahawk/widgets/PlayableCover.cpp b/src/libtomahawk/widgets/PlayableCover.cpp index ddb293c3a..74eca96f3 100644 --- a/src/libtomahawk/widgets/PlayableCover.cpp +++ b/src/libtomahawk/widgets/PlayableCover.cpp @@ -77,19 +77,28 @@ PlayableCover::resizeEvent( QResizeEvent* event ) } +void +PlayableCover::setPixmap( const QPixmap& pixmap ) +{ + m_pixmap = TomahawkUtils::createRoundedImage( pixmap, size() ); +} + + void PlayableCover::paintEvent( QPaintEvent* event ) { - QLabel::paintEvent( event ); + QPainter painter( this ); + painter.setRenderHint( QPainter::Antialiasing ); + painter.drawPixmap( 0, 0, pixmap() ); + if ( !m_showText ) return; QRect r = contentsRect().adjusted( margin(), margin(), -margin(), -margin() ); QPixmap buffer( r.size() ); buffer.fill( Qt::transparent ); - - QPainter painter( &buffer ); - + QPainter bufpainter( &buffer ); + QTextOption to; to.setWrapMode( QTextOption::NoWrap ); @@ -134,63 +143,60 @@ PlayableCover::paintEvent( QPaintEvent* event ) gradient.setColorAt( 0.6, c2 ); gradient.setColorAt( 1.0, c2 ); - painter.save(); - painter.setPen( Qt::transparent ); - painter.setBrush( gradient ); - painter.drawRect( gradientRect ); - painter.restore(); + bufpainter.save(); + bufpainter.setPen( Qt::transparent ); + bufpainter.setBrush( gradient ); + bufpainter.drawRect( gradientRect ); + bufpainter.restore(); - painter.setPen( Qt::white ); + bufpainter.setPen( Qt::white ); QRect textRect = r.adjusted( 8, r.height() - frameHeight - 16, -8, -16 ); bool oneLiner = false; if ( bottom.isEmpty() ) oneLiner = true; - painter.setFont( boldFont ); + bufpainter.setFont( boldFont ); if ( oneLiner ) { - painter.save(); - QFont f = painter.font(); + bufpainter.save(); + QFont f = bufpainter.font(); - while ( f.pointSizeF() > 9 && painter.fontMetrics().width( top ) > textRect.width() ) + while ( f.pointSizeF() > 9 && bufpainter.fontMetrics().width( top ) > textRect.width() ) { f.setPointSizeF( f.pointSizeF() - 0.2 ); - painter.setFont( f ); + bufpainter.setFont( f ); } to.setAlignment( Qt::AlignHCenter | Qt::AlignVCenter ); - text = painter.fontMetrics().elidedText( top, Qt::ElideRight, textRect.width() - 3 ); - painter.drawText( textRect, text, to ); + text = bufpainter.fontMetrics().elidedText( top, Qt::ElideRight, textRect.width() - 3 ); + bufpainter.drawText( textRect, text, to ); - painter.restore(); + bufpainter.restore(); } else { to.setAlignment( Qt::AlignHCenter | Qt::AlignTop ); - text = painter.fontMetrics().elidedText( top, Qt::ElideRight, textRect.width() - 3 ); - painter.drawText( textRect, text, to ); + text = bufpainter.fontMetrics().elidedText( top, Qt::ElideRight, textRect.width() - 3 ); + bufpainter.drawText( textRect, text, to ); - painter.setFont( font ); + bufpainter.setFont( font ); // If the user is hovering over an artist rect, draw a background so she knows it's clickable QRect r = textRect; - r.setTop( r.bottom() - painter.fontMetrics().height() ); + r.setTop( r.bottom() - bufpainter.fontMetrics().height() ); r.adjust( 4, 0, -4, -1 ); /* if ( m_hoveringOver == index ) { - TomahawkUtils::drawQueryBackground( painter, opt.palette, r, 1.1 ); - painter.setPen( opt.palette.color( QPalette::HighlightedText ) ); + TomahawkUtils::drawQueryBackground( bufpainter, opt.palette, r, 1.1 ); + bufpainter.setPen( opt.palette.color( QPalette::HighlightedText ) ); }*/ to.setAlignment( Qt::AlignHCenter | Qt::AlignBottom ); - text = painter.fontMetrics().elidedText( bottom, Qt::ElideRight, textRect.width() - 16 ); - painter.drawText( textRect.adjusted( 5, -1, -5, -1 ), text, to ); + text = bufpainter.fontMetrics().elidedText( bottom, Qt::ElideRight, textRect.width() - 16 ); + bufpainter.drawText( textRect.adjusted( 5, -1, -5, -1 ), text, to ); } { - QPainter painter( this ); - painter.setRenderHint( QPainter::Antialiasing ); - QBrush brush( buffer ); QPen pen; pen.setColor( Qt::transparent ); diff --git a/src/libtomahawk/widgets/PlayableCover.h b/src/libtomahawk/widgets/PlayableCover.h index 24914d326..9179a0f0e 100644 --- a/src/libtomahawk/widgets/PlayableCover.h +++ b/src/libtomahawk/widgets/PlayableCover.h @@ -43,11 +43,15 @@ public: bool showText() const { return m_showText; } void setShowText( bool b ) { m_showText = b; } + QPixmap pixmap() const { return m_pixmap; } + public slots: virtual void setArtist( const Tomahawk::artist_ptr& artist ); virtual void setAlbum( const Tomahawk::album_ptr& album ); virtual void setQuery( const Tomahawk::query_ptr& query ); + void setPixmap( const QPixmap& pixmap ); + protected: virtual void resizeEvent( QResizeEvent* event ); virtual void paintEvent( QPaintEvent* event ); From 60879b5d533b3a088a7451529aa9e1a3b0847b88 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 08:20:38 +0100 Subject: [PATCH 202/332] * Cleaned up Artist page. --- .../widgets/infowidgets/ArtistInfoWidget.cpp | 6 +-- .../widgets/infowidgets/ArtistInfoWidget.ui | 51 ++----------------- 2 files changed, 6 insertions(+), 51 deletions(-) diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp index c62a712c6..db66e646e 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp @@ -92,8 +92,8 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* ui->topHits->setFrameShape( QFrame::StyledPanel ); ui->topHits->setAttribute( Qt::WA_MacShowFocusRect, 0 ); - m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::ScaledCover, QSize( 48, 48 ) ); - ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::ScaledCover, QSize( ui->cover->sizeHint() ) ) ); + m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::Original, QSize( 48, 48 ) ); + ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::Grid ) ); ui->cover->setShowText( true ); QFont f = font(); @@ -311,7 +311,7 @@ ArtistInfoWidget::onArtistImageUpdated() m_pixmap = m_artist->cover( QSize( 0, 0 ) ); emit pixmapChanged( m_pixmap ); - ui->cover->setPixmap( TomahawkUtils::createRoundedImage( m_artist->cover( ui->cover->sizeHint() ), QSize( 0, 0 ) ) ); + ui->cover->setPixmap( m_artist->cover( QSize( 0, 0 ) ) ); } diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui index 8807df2ae..ff848d775 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui @@ -19,6 +19,9 @@ + + 16 + 0 @@ -80,22 +83,6 @@ - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 16 - - - - @@ -159,22 +146,6 @@ - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 16 - - - - @@ -242,22 +213,6 @@ - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 16 - - - - From 0d4162c9ee191efc6b8f59820f50aefe0cec03be Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 08:21:10 +0100 Subject: [PATCH 203/332] * New Track page layout. --- .../widgets/infowidgets/TrackInfoWidget.cpp | 43 +- .../widgets/infowidgets/TrackInfoWidget.ui | 422 ++++++------------ 2 files changed, 147 insertions(+), 318 deletions(-) diff --git a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp index 2aac1ed0c..7a9f1c673 100644 --- a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp @@ -48,57 +48,43 @@ TrackInfoWidget::TrackInfoWidget( const Tomahawk::query_ptr& query, QWidget* par widget->setPalette( pal ); widget->setAutoFillBackground( true ); - ui->rightBar->setPalette( pal ); - ui->rightBar->setAutoFillBackground( true ); ui->statsLabel->setStyleSheet( "QLabel { background-image:url(); border: 2px solid #dddddd; background-color: #faf9f9; border-radius: 4px; padding: 12px; }" ); ui->lyricsView->setStyleSheet( "QTextBrowser#lyricsView { background-color: transparent; }" ); ui->lyricsView->setFrameShape( QFrame::NoFrame ); ui->lyricsView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); + ui->lyricsView->setVisible( false ); // FIXME eventually ui->similarTracksView->setAutoResize( true ); ui->similarTracksView->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); // TomahawkUtils::styleScrollBar( ui->similarTracksView->verticalScrollBar() ); TomahawkUtils::styleScrollBar( ui->lyricsView->verticalScrollBar() ); - QFont f = font(); - f.setBold( true ); - f.setPointSize( TomahawkUtils::defaultFontSize() + 7 ); - ui->trackLabel->setFont( f ); -// ui->similarTracksLabel->setFont( f ); - - f.setPointSize( TomahawkUtils::defaultFontSize() + 4 ); - ui->artistLabel->setFont( f ); - ui->albumLabel->setFont( f ); - - f.setPointSize( TomahawkUtils::defaultFontSize() + 2 ); - ui->statsLabel->setFont( f ); - // ui->similarTracksView->setStyleSheet( "QListView { background-color: transparent; } QListView::item { background-color: transparent; }" ); - QPalette p = ui->trackLabel->palette(); + QFont f = ui->statsLabel->font(); + f.setPointSize( TomahawkUtils::defaultFontSize() + 2 ); + f.setBold( true ); + ui->statsLabel->setFont( f ); + + QPalette p = ui->lyricsView->palette(); p.setColor( QPalette::Foreground, Qt::white ); p.setColor( QPalette::Text, Qt::white ); - ui->trackLabel->setPalette( p ); - ui->artistLabel->setPalette( p ); - ui->albumLabel->setPalette( p ); ui->lyricsView->setPalette( p ); ui->label->setPalette( p ); // ui->similarTracksLabel->setPalette( p ); - ui->artistLabel->setType( QueryLabel::Artist ); - ui->albumLabel->setType( QueryLabel::Album ); - m_relatedTracksModel = new PlayableModel( ui->similarTracksView ); ui->similarTracksView->setPlayableModel( m_relatedTracksModel ); ui->similarTracksView->proxyModel()->sort( -1 ); ui->similarTracksView->setEmptyTip( tr( "Sorry, but we could not find similar tracks for this song!" ) ); - m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, TomahawkUtils::ScaledCover, QSize( 48, 48 ) ); - ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, TomahawkUtils::ScaledCover, QSize( ui->cover->sizeHint() ) ) ); - + m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, TomahawkUtils::Original, QSize( 48, 48 ) ); + ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, TomahawkUtils::Grid ) ); + ui->cover->setShowText( true ); + m_scrollArea = new QScrollArea(); m_scrollArea->setWidgetResizable( true ); m_scrollArea->setWidget( widget ); @@ -120,9 +106,6 @@ TrackInfoWidget::TrackInfoWidget( const Tomahawk::query_ptr& query, QWidget* par "border-top: 3px transparent; border-bottom: 3px transparent; border-right: 3px transparent; border-left: 3px transparent; }" ); load( query ); - - connect( ui->artistLabel, SIGNAL( clickedArtist() ), SLOT( onArtistClicked() ) ); - connect( ui->albumLabel, SIGNAL( clickedAlbum() ), SLOT( onAlbumClicked() ) ); } @@ -198,10 +181,6 @@ TrackInfoWidget::load( const query_ptr& query ) // m_query->lyrics(); onCoverUpdated(); - ui->trackLabel->setText( query->track() ); - ui->artistLabel->setQuery( query ); - ui->albumLabel->setQuery( query ); - ui->albumLabel->setVisible( !query->album().isEmpty() ); ui->cover->setQuery( query ); m_relatedTracksModel->clear(); diff --git a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.ui index ea9da93d5..926ffe2f6 100644 --- a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.ui @@ -13,305 +13,160 @@ Form - + + + 16 + - 0 + 12 - - - 12 + + + 16 - - 0 - - - 0 - - + 0 - - - 0 + + + + 0 + 0 + - - 12 + + + 260 + 260 + - - 0 + + Cover - - 12 + + Qt::AlignCenter - - - - - 0 - 0 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 4 - - - 8 - - - 4 - - - 8 - - - 8 - - - - - - Arial - 18 - 75 - true - - - - Similar Tracks - - - 0 - - - - - - - - 0 - 0 - - - - - - - - + - - - 4 + + + Qt::Horizontal - - 0 + + + 40 + 20 + - - - - - 0 - 0 - - - - - 300 - 500 - - - - - 0 - - - 16 - - - 12 - - - 16 - - - 12 - - - - - - 0 - 0 - - - - - 220 - 220 - - - - Cover - - - Qt::AlignCenter - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 8 - - - - - - - - 4 - - - 0 - - - - - Track - - - Qt::AlignCenter - - - - - - - 4 - - - 0 - - - - - Artist - - - Qt::AlignCenter - - - - - - - - - 4 - - - 0 - - - - - Album - - - Qt::AlignCenter - - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 16 - - - - - - - - Statistics - - - Qt::AlignCenter - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 12 - - - - - - - - - 0 - 0 - - - - - 300 - 0 - - - - false - - - - - - - + + + + + + + 0 + 0 + + + + + 16777215 + 260 + + + + Statistics + + + Qt::AlignCenter + + + + + + + 0 + 0 + + + + + 300 + 0 + + + + false + + + + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 4 + + + 8 + + + 4 + + + 8 + + + 8 + + + + + + Arial + 18 + 75 + true + + + + Similar Tracks + + + 0 + + + + + + + + 0 + 0 + + + + + + + @@ -320,11 +175,6 @@ QListView
playlist/GridView.h
- - QueryLabel - QLabel -
widgets/QueryLabel.h
-
PlayableCover QLabel From 1408f763a090243e0b995357f2a5cc34dd18576d Mon Sep 17 00:00:00 2001 From: Patrick von Reth Date: Thu, 20 Dec 2012 11:12:50 +0100 Subject: [PATCH 204/332] dont ifdef slots, it looks like moc get confused here --- src/TomahawkWindow.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/TomahawkWindow.h b/src/TomahawkWindow.h index b76e35713..3807869ca 100644 --- a/src/TomahawkWindow.h +++ b/src/TomahawkWindow.h @@ -148,10 +148,9 @@ private slots: void toggleMenuBar(); void balanceToolbar(); -#ifdef Q_OS_WIN + void audioStateChanged( AudioState newState, AudioState oldState ); void updateWindowsLoveButton(); -#endif private: void loadSettings(); From 08f63b1534e03b5da012ca2b2a7287bd395e937a Mon Sep 17 00:00:00 2001 From: Patrick von Reth Date: Thu, 20 Dec 2012 11:16:31 +0100 Subject: [PATCH 205/332] fixed ifdef --- src/TomahawkWindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/TomahawkWindow.cpp b/src/TomahawkWindow.cpp index 11c5a2172..a36ed0b66 100644 --- a/src/TomahawkWindow.cpp +++ b/src/TomahawkWindow.cpp @@ -721,6 +721,8 @@ TomahawkWindow::winEvent( MSG* msg, long* result ) } +#endif // Q_OS_WIN + void TomahawkWindow::audioStateChanged( AudioState newState, AudioState oldState ) { @@ -789,8 +791,6 @@ TomahawkWindow::updateWindowsLoveButton() #endif // HAVE_THUMBBUTTON } -#endif - void TomahawkWindow::onHistoryBackAvailable( bool avail ) From 9670112dd938f6e88de9ea26256965c36becd725 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 11:25:45 +0100 Subject: [PATCH 206/332] * Added new AlbumItemDelegate. --- src/libtomahawk/CMakeLists.txt | 1 + .../playlist/AlbumItemDelegate.cpp | 170 ++++++++++++++++++ src/libtomahawk/playlist/AlbumItemDelegate.h | 62 +++++++ 3 files changed, 233 insertions(+) create mode 100644 src/libtomahawk/playlist/AlbumItemDelegate.cpp create mode 100644 src/libtomahawk/playlist/AlbumItemDelegate.h diff --git a/src/libtomahawk/CMakeLists.txt b/src/libtomahawk/CMakeLists.txt index cfd5b83d4..6c0109518 100644 --- a/src/libtomahawk/CMakeLists.txt +++ b/src/libtomahawk/CMakeLists.txt @@ -77,6 +77,7 @@ set( libGuiSources playlist/LovedTracksModel.cpp playlist/RecentlyAddedModel.cpp playlist/RecentlyPlayedModel.cpp + playlist/AlbumItemDelegate.cpp playlist/PlaylistLargeItemDelegate.cpp playlist/PlaylistChartItemDelegate.cpp playlist/PlayableItem.cpp diff --git a/src/libtomahawk/playlist/AlbumItemDelegate.cpp b/src/libtomahawk/playlist/AlbumItemDelegate.cpp new file mode 100644 index 000000000..bdb38681a --- /dev/null +++ b/src/libtomahawk/playlist/AlbumItemDelegate.cpp @@ -0,0 +1,170 @@ +/* === This file is part of Tomahawk Player - === + * + * Copyright 2010-2011, Christian Muehlhaeuser + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see . + */ + +#include "AlbumItemDelegate.h" + +#include +#include +#include + +#include "Query.h" +#include "Result.h" +#include "Artist.h" +#include "Source.h" +#include "SourceList.h" + +#include "PlaylistView.h" +#include "PlayableModel.h" +#include "PlayableItem.h" +#include "PlayableProxyModel.h" +#include "TrackView.h" +#include "ViewHeader.h" + +#include "utils/TomahawkUtilsGui.h" +#include "utils/Logger.h" +#include +#include + +using namespace Tomahawk; + + +AlbumItemDelegate::AlbumItemDelegate( TrackView* parent, PlayableProxyModel* proxy ) + : PlaylistItemDelegate( parent, proxy ) + , m_view( parent ) + , m_model( proxy ) +{ + m_centerOption = QTextOption( Qt::AlignVCenter ); + m_centerOption.setWrapMode( QTextOption::NoWrap ); + + m_centerRightOption = QTextOption( Qt::AlignVCenter | Qt::AlignRight ); + m_centerRightOption.setWrapMode( QTextOption::NoWrap ); + + connect( proxy, SIGNAL( modelReset() ), this, SLOT( modelChanged() ) ); + connect( parent, SIGNAL( modelChanged() ), this, SLOT( modelChanged() ) ); +} + + +QSize +AlbumItemDelegate::sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const +{ + QSize size = QStyledItemDelegate::sizeHint( option, index ); + + if ( index.isValid() ) + { + int rowHeight = option.fontMetrics.height() + 8; + size.setHeight( rowHeight * 1.5 ); + } + + return size; +} + + +void +AlbumItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const +{ + PlayableItem* item = m_model->itemFromIndex( m_model->mapToSource( index ) ); + Q_ASSERT( item ); + + QStyleOptionViewItemV4 opt = option; + prepareStyleOption( &opt, index, item ); + opt.text.clear(); + + qApp->style()->drawControl( QStyle::CE_ItemViewItem, &opt, painter ); + + if ( m_view->header()->visualIndex( index.column() ) > 0 ) + return; + + const query_ptr q = item->query()->displayQuery(); + const QString artist = q->artist(); + const QString album = q->album(); + const QString track = q->track(); + int duration = q->duration(); + QString lowerText; + + painter->save(); + { + QRect r = opt.rect.adjusted( 4, 6, -12, -6 ); + + // Paint Now Playing Speaker Icon + if ( item->isPlaying() ) + { + const int pixHeight = r.height(); + QRect npr = r.adjusted( 0, 0, pixHeight - r.width(), 0 ); + painter->drawPixmap( npr, TomahawkUtils::defaultPixmap( TomahawkUtils::NowPlayingSpeaker, TomahawkUtils::Original, npr.size() ) ); + r.adjust( pixHeight, 0, 0, 0 ); + } + + QFont boldFont = opt.font; + boldFont.setPointSize( TomahawkUtils::defaultFontSize() + 2 ); + boldFont.setWeight( 99 ); + QFontMetrics boldFontMetrics( boldFont ); + + QFont smallBoldFont = opt.font; + smallBoldFont.setPointSize( TomahawkUtils::defaultFontSize() - 1 ); + smallBoldFont.setBold( true ); + smallBoldFont.setWeight( 60 ); + QFontMetrics smallBoldFontMetrics( smallBoldFont ); + + painter->setFont( boldFont ); + painter->setPen( option.palette.text().color().lighter() ); + + QRect figureRect = r.adjusted( 4, 0, 0, 0 ); + figureRect.setWidth( QFontMetrics( painter->font() ).width( "888" ) ); + painter->drawText( figureRect, QString::number( index.row() + 1 ), QTextOption( Qt::AlignCenter ) ); + + r.adjust( figureRect.width() + 12, 0, 0, 0 ); + QRect leftRect = r.adjusted( 0, 0, -48, 0 ); + QRect rightRect = r.adjusted( r.width() - smallBoldFontMetrics.width( TomahawkUtils::timeToString( duration ) ), 0, 0, 0 ); + + QString text = painter->fontMetrics().elidedText( track, Qt::ElideRight, leftRect.width() ); + painter->setPen( opt.palette.text().color() ); + painter->drawText( leftRect, text, m_centerOption ); + + const int sourceIconSize = r.height(); + if ( q->numResults() && !q->results().first()->sourceIcon( TomahawkUtils::RoundedCorners, QSize( sourceIconSize, sourceIconSize ) ).isNull() ) + { + const QPixmap sourceIcon = q->results().first()->sourceIcon( TomahawkUtils::RoundedCorners, QSize( sourceIconSize, sourceIconSize ) ); + painter->setOpacity( 0.8 ); + painter->drawPixmap( QRect( rightRect.right() - sourceIconSize, r.center().y() - sourceIconSize / 2, sourceIcon.width(), sourceIcon.height() ), sourceIcon ); + painter->setOpacity( 1.0 ); + rightRect.moveLeft( rightRect.left() - sourceIcon.width() - 8 ); + } + + if ( duration > 0 ) + { + painter->setPen( opt.palette.text().color() ); + painter->setFont( smallBoldFont ); + painter->drawText( rightRect, TomahawkUtils::timeToString( duration ), m_centerRightOption ); + } + } + painter->restore(); +} + + +void +AlbumItemDelegate::doUpdateIndex( const QPersistentModelIndex& idx ) +{ + if ( idx.isValid() ) + emit updateIndex( idx ); +} + + +void +AlbumItemDelegate::modelChanged() +{ +} diff --git a/src/libtomahawk/playlist/AlbumItemDelegate.h b/src/libtomahawk/playlist/AlbumItemDelegate.h new file mode 100644 index 000000000..040a20099 --- /dev/null +++ b/src/libtomahawk/playlist/AlbumItemDelegate.h @@ -0,0 +1,62 @@ +/* === This file is part of Tomahawk Player - === + * + * Copyright 2010-2011, Christian Muehlhaeuser + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see . + */ + +#ifndef ALBUMITEMDELEGATE_H +#define ALBUMITEMDELEGATE_H + +#include +#include +#include + +#include "PlaylistItemDelegate.h" +#include "DllMacro.h" +#include "Typedefs.h" + +namespace Tomahawk { +class PixmapDelegateFader; +} + +class PlayableItem; +class PlayableProxyModel; +class TrackView; + +class DLLEXPORT AlbumItemDelegate : public PlaylistItemDelegate +{ +Q_OBJECT + +public: + AlbumItemDelegate( TrackView* parent = 0, PlayableProxyModel* proxy = 0 ); + + virtual QSize sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const; + +protected: + void paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const; + +private slots: + void doUpdateIndex( const QPersistentModelIndex& idx ); + void modelChanged(); + +private: + QTextOption m_centerOption; + QTextOption m_centerRightOption; + + TrackView* m_view; + PlayableProxyModel* m_model; +}; + +#endif // ALBUMITEMDELEGATE_H From b62f54ade0692c3a28dc92a685af039284808435 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 11:26:13 +0100 Subject: [PATCH 207/332] * Fixed how GridView hooks up its layout-related signals. --- src/libtomahawk/playlist/GridView.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/libtomahawk/playlist/GridView.cpp b/src/libtomahawk/playlist/GridView.cpp index c74165b4c..7bbaf8350 100644 --- a/src/libtomahawk/playlist/GridView.cpp +++ b/src/libtomahawk/playlist/GridView.cpp @@ -19,7 +19,6 @@ #include "GridView.h" -#include #include #include #include @@ -99,10 +98,14 @@ GridView::setProxyModel( PlayableProxyModel* model ) if ( m_proxyModel ) { disconnect( m_proxyModel, SIGNAL( filterChanged( QString ) ), this, SLOT( onFilterChanged( QString ) ) ); + disconnect( m_proxyModel, SIGNAL( rowsInserted( QModelIndex, int, int ) ), this, SLOT( verifySize() ) ); + disconnect( m_proxyModel, SIGNAL( rowsRemoved( QModelIndex, int, int ) ), this, SLOT( verifySize() ) ); } m_proxyModel = model; connect( m_proxyModel, SIGNAL( filterChanged( QString ) ), SLOT( onFilterChanged( QString ) ) ); + connect( m_proxyModel, SIGNAL( rowsInserted( QModelIndex, int, int ) ), SLOT( verifySize() ) ); + connect( m_proxyModel, SIGNAL( rowsRemoved( QModelIndex, int, int ) ), SLOT( verifySize() ) ); if ( m_delegate ) delete m_delegate; @@ -131,8 +134,6 @@ GridView::setPlayableModel( PlayableModel* model ) { if ( m_model ) { - disconnect( model, SIGNAL( rowsInserted( QModelIndex, int, int ) ), this, SLOT( verifySize() ) ); - disconnect( model, SIGNAL( rowsRemoved( QModelIndex, int, int ) ), this, SLOT( verifySize() ) ); } m_inited = false; @@ -144,9 +145,6 @@ GridView::setPlayableModel( PlayableModel* model ) m_proxyModel->sort( 0 ); } - connect( model, SIGNAL( rowsInserted( QModelIndex, int, int ) ), SLOT( verifySize() ) ); - connect( model, SIGNAL( rowsRemoved( QModelIndex, int, int ) ), SLOT( verifySize() ) ); - emit modelChanged(); } From 11a7510daf0b9e7ae5da92e2940bf5696dd423f3 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 11:26:34 +0100 Subject: [PATCH 208/332] * Make our delegate's sizeHint() a public method. --- src/libtomahawk/playlist/PlaylistItemDelegate.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/libtomahawk/playlist/PlaylistItemDelegate.h b/src/libtomahawk/playlist/PlaylistItemDelegate.h index 244a726d2..53aac9ed7 100644 --- a/src/libtomahawk/playlist/PlaylistItemDelegate.h +++ b/src/libtomahawk/playlist/PlaylistItemDelegate.h @@ -38,14 +38,18 @@ public: void updateRowSize( const QModelIndex& index ); + virtual QSize sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const; + +signals: + void updateIndex( const QModelIndex& idx ); + protected: + void prepareStyleOption( QStyleOptionViewItemV4* option, const QModelIndex& index, PlayableItem* item ) const; + void paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const; - QSize sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const; QWidget* createEditor( QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index ) const; private: - void prepareStyleOption( QStyleOptionViewItemV4* option, const QModelIndex& index, PlayableItem* item ) const; - void paintDetailed( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const; void paintShort( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index, bool useAvatars = false ) const; From 0dca8c2abd52150f44d200893e502cc58c6cf63a Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 11:27:10 +0100 Subject: [PATCH 209/332] * PlaylistLargeItemDelegate now properly inherits from standard PlaylistItemDelegate. --- .../playlist/PlaylistLargeItemDelegate.cpp | 26 +++---------------- .../playlist/PlaylistLargeItemDelegate.h | 14 ++++------ 2 files changed, 8 insertions(+), 32 deletions(-) diff --git a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp index 5efef5f3e..1c1a92f05 100644 --- a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp @@ -44,7 +44,7 @@ using namespace Tomahawk; PlaylistLargeItemDelegate::PlaylistLargeItemDelegate( DisplayMode mode, TrackView* parent, PlayableProxyModel* proxy ) - : QStyledItemDelegate( (QObject*)parent ) + : PlaylistItemDelegate( parent, proxy ) , m_view( parent ) , m_model( proxy ) , m_mode( mode ) @@ -58,9 +58,8 @@ PlaylistLargeItemDelegate::PlaylistLargeItemDelegate( DisplayMode mode, TrackVie m_bottomOption = QTextOption( Qt::AlignBottom ); m_bottomOption.setWrapMode( QTextOption::NoWrap ); - connect( proxy, SIGNAL( modelReset() ), this, SLOT( modelChanged() ) ); - if ( PlaylistView* plView = qobject_cast< PlaylistView* >( parent ) ) - connect( plView, SIGNAL( modelChanged() ), this, SLOT( modelChanged() ) ); + connect( proxy, SIGNAL( modelReset() ), SLOT( modelChanged() ) ); + connect( parent, SIGNAL( modelChanged() ), SLOT( modelChanged() ) ); } @@ -79,25 +78,6 @@ PlaylistLargeItemDelegate::sizeHint( const QStyleOptionViewItem& option, const Q } -QWidget* -PlaylistLargeItemDelegate::createEditor( QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index ) const -{ - Q_UNUSED( parent ); - Q_UNUSED( option ); - Q_UNUSED( index ); - return 0; -} - - -void -PlaylistLargeItemDelegate::prepareStyleOption( QStyleOptionViewItemV4* option, const QModelIndex& index, PlayableItem* item ) const -{ - initStyleOption( option, index ); - - TomahawkUtils::prepareStyleOption( option, index, item ); -} - - void PlaylistLargeItemDelegate::drawRichText( QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, int flags, QTextDocument& text ) const { diff --git a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.h b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.h index 9fed77936..eb6cf7e54 100644 --- a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.h +++ b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.h @@ -23,6 +23,7 @@ #include #include +#include "PlaylistItemDelegate.h" #include "DllMacro.h" #include "Typedefs.h" @@ -30,12 +31,11 @@ namespace Tomahawk { class PixmapDelegateFader; } -class TrackModel; class PlayableItem; class PlayableProxyModel; class TrackView; -class DLLEXPORT PlaylistLargeItemDelegate : public QStyledItemDelegate +class DLLEXPORT PlaylistLargeItemDelegate : public PlaylistItemDelegate { Q_OBJECT @@ -45,20 +45,16 @@ public: PlaylistLargeItemDelegate( DisplayMode mode, TrackView* parent = 0, PlayableProxyModel* proxy = 0 ); + virtual QSize sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const; + protected: void paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const; - QSize sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const; - QWidget* createEditor( QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index ) const; - -signals: - void updateIndex( const QModelIndex& idx ); private slots: - void modelChanged(); void doUpdateIndex( const QPersistentModelIndex& idx ); + void modelChanged(); private: - void prepareStyleOption( QStyleOptionViewItemV4* option, const QModelIndex& index, PlayableItem* item ) const; void drawRichText( QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, int flags, QTextDocument& text ) const; QTextOption m_topOption; From 1c6cbed1f5e91d19a7fc0eb26202307b411f26fc Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 11:27:31 +0100 Subject: [PATCH 210/332] * Add an auto-resize mode for TrackView. --- src/libtomahawk/playlist/TrackView.cpp | 54 ++++++++++++++++++++++++-- src/libtomahawk/playlist/TrackView.h | 7 ++++ 2 files changed, 57 insertions(+), 4 deletions(-) diff --git a/src/libtomahawk/playlist/TrackView.cpp b/src/libtomahawk/playlist/TrackView.cpp index 4edd4a890..09a0e9040 100644 --- a/src/libtomahawk/playlist/TrackView.cpp +++ b/src/libtomahawk/playlist/TrackView.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include "ViewHeader.h" #include "ViewManager.h" @@ -75,6 +76,7 @@ TrackView::TrackView( QWidget* parent ) setVerticalScrollMode( QAbstractItemView::ScrollPerPixel ); setRootIsDecorated( false ); setUniformRowHeights( true ); + setAutoResize( false ); setHeader( m_header ); setSortingEnabled( true ); @@ -144,8 +146,21 @@ TrackView::setGuid( const QString& newguid ) void TrackView::setProxyModel( PlayableProxyModel* model ) { + if ( m_proxyModel ) + { + disconnect( m_proxyModel, SIGNAL( filterChanged( QString ) ), this, SLOT( onFilterChanged( QString ) ) ); + disconnect( m_proxyModel, SIGNAL( rowsInserted( QModelIndex, int, int ) ), this, SLOT( onViewChanged() ) ); + disconnect( m_proxyModel, SIGNAL( rowsInserted( QModelIndex, int, int ) ), this, SLOT( verifySize() ) ); + disconnect( m_proxyModel, SIGNAL( rowsRemoved( QModelIndex, int, int ) ), this, SLOT( verifySize() ) ); + } + m_proxyModel = model; + connect( m_proxyModel, SIGNAL( filterChanged( QString ) ), SLOT( onFilterChanged( QString ) ) ); + connect( m_proxyModel, SIGNAL( rowsInserted( QModelIndex, int, int ) ), SLOT( onViewChanged() ) ); + connect( m_proxyModel, SIGNAL( rowsInserted( QModelIndex, int, int ) ), SLOT( verifySize() ) ); + connect( m_proxyModel, SIGNAL( rowsRemoved( QModelIndex, int, int ) ), SLOT( verifySize() ) ); + m_delegate = new PlaylistItemDelegate( this, m_proxyModel ); setItemDelegate( m_delegate ); @@ -162,19 +177,27 @@ TrackView::setModel( QAbstractItemModel* model ) } +void +TrackView::setPlaylistItemDelegate( PlaylistItemDelegate* delegate ) +{ + m_delegate = delegate; + setItemDelegate( delegate ); + connect( delegate, SIGNAL( updateIndex( QModelIndex ) ), SLOT( update( QModelIndex ) ) ); + + verifySize(); +} + + void TrackView::setPlayableModel( PlayableModel* model ) { - m_model = model; + m_model = model; if ( m_proxyModel ) { m_proxyModel->setSourcePlayableModel( m_model ); } - connect( m_proxyModel, SIGNAL( filterChanged( QString ) ), SLOT( onFilterChanged( QString ) ) ); - connect( m_proxyModel, SIGNAL( rowsInserted( QModelIndex, int, int ) ), SLOT( onViewChanged() ) ); - setAcceptDrops( true ); m_header->setDefaultColumnWeights( m_proxyModel->columnWeights() ); setGuid( m_proxyModel->guid() ); @@ -403,6 +426,8 @@ TrackView::resizeEvent( QResizeEvent* event ) { m_header->resizeSection( 0, event->size().width() ); } + + } @@ -807,3 +832,24 @@ TrackView::deleteSelectedItems() tDebug() << Q_FUNC_INFO << "Error: Model is read-only!"; } } + + +void +TrackView::verifySize() +{ + if ( !autoResize() || !m_proxyModel ) + return; + + if ( m_proxyModel->rowCount() > 0 ) + setFixedHeight( m_proxyModel->rowCount() * m_delegate->sizeHint( QStyleOptionViewItem(), m_proxyModel->index( 0, 0 ) ).height() + frameWidth() * 2 ); +} + + +void +TrackView::setAutoResize( bool b ) +{ + m_autoResize = b; + + if ( m_autoResize ) + setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); +} diff --git a/src/libtomahawk/playlist/TrackView.h b/src/libtomahawk/playlist/TrackView.h index b840c3576..7dc488e7a 100644 --- a/src/libtomahawk/playlist/TrackView.h +++ b/src/libtomahawk/playlist/TrackView.h @@ -48,6 +48,7 @@ public: virtual QString guid() const; virtual void setGuid( const QString& newguid ); + virtual void setPlaylistItemDelegate( PlaylistItemDelegate* delegate ); virtual void setPlayableModel( PlayableModel* model ); virtual void setModel( QAbstractItemModel* model ); void setProxyModel( PlayableProxyModel* model ); @@ -81,6 +82,9 @@ public: bool updatesContextView() const { return m_updateContextView; } void setUpdatesContextView( bool b ) { m_updateContextView = b; } + bool autoResize() const { return m_autoResize; } + void setAutoResize( bool b ); + // Starts playing from the beginning if resolved, or waits until a track is playable void startPlayingFromStart(); @@ -126,6 +130,8 @@ private slots: void autoPlayResolveFinished( const Tomahawk::query_ptr& query, int row ); + void verifySize(); + private: void startAutoPlay( const QModelIndex& index ); bool tryToPlayItem( const QModelIndex& index ); @@ -145,6 +151,7 @@ private: QRect m_dropRect; bool m_updateContextView; + bool m_autoResize; QModelIndex m_hoveredIndex; QModelIndex m_contextMenuIndex; From 0befad91e758afb90773189945a0e16ec106b091 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 11:28:14 +0100 Subject: [PATCH 211/332] * Got rid of a few obsolete layouts in ArtistInfoWidget. --- .../widgets/infowidgets/ArtistInfoWidget.ui | 468 +++++++++--------- 1 file changed, 230 insertions(+), 238 deletions(-) diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui index ff848d775..b4bed1aea 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui @@ -13,12 +13,15 @@ Form - + + + 16 + 12 - + 16 @@ -26,262 +29,251 @@ 0 - - - 16 + + + + 0 + 0 + - - 0 - - - - - 0 - - - - - - 0 - 0 - - - - - 260 - 260 - - - - Cover - - - Qt::AlignCenter - - - - - - - - - - 0 - 0 - - - - - 0 - 240 - - - - Qt::ScrollBarAlwaysOff - - - - - - - - 0 - 0 + 260 + 260 - - QFrame::StyledPanel + + Cover - - QFrame::Raised + + Qt::AlignCenter - - - 4 - - - 8 - - - 4 - - - 8 - - - 8 - - - - - - 18 - 75 - true - - - - Top Hits - - - 0 - - - - - - - - 0 - 300 - - - - true - - - - - + + + + 0 + 0 + + 0 - 0 + 240 - - QFrame::StyledPanel + + Qt::ScrollBarAlwaysOff - - QFrame::Raised - - - - 4 - - - 8 - - - 4 - - - 8 - - - 4 - - - - - - Arial - 18 - 75 - true - - - - Albums - - - 0 - - - - - - - - 0 - 0 - - - - - 0 - 190 - - - - - - - - - - - - 0 - 0 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 4 - - - 8 - - - 4 - - - 8 - - - 4 - - - - - - Arial - 18 - 75 - true - - - - Related Artists - - - 0 - - - - - - - - 0 - 0 - - - - - 0 - 190 - - - - - + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 4 + + + 8 + + + 4 + + + 8 + + + 8 + + + + + + 18 + 75 + true + + + + Top Hits + + + 0 + + + + + + + + 0 + 0 + + + + + 0 + 300 + + + + true + + + + + + + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 4 + + + 8 + + + 4 + + + 8 + + + 4 + + + + + + Arial + 18 + 75 + true + + + + Albums + + + 0 + + + + + + + + 0 + 0 + + + + + 0 + 190 + + + + + + + + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 4 + + + 8 + + + 4 + + + 8 + + + 4 + + + + + + Arial + 18 + 75 + true + + + + Related Artists + + + 0 + + + + + + + + 0 + 0 + + + + + 0 + 190 + + + + + + + From aabd84a9abd7ebb56cfde5526edffae34e78f02b Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 11:28:35 +0100 Subject: [PATCH 212/332] * Updated album page to new style. --- .../widgets/infowidgets/AlbumInfoWidget.cpp | 32 +- .../widgets/infowidgets/AlbumInfoWidget.ui | 487 +++++++----------- 2 files changed, 192 insertions(+), 327 deletions(-) diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp index 4633ee4d1..f1e5d6b52 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp @@ -26,6 +26,7 @@ #include "database/Database.h" #include "playlist/TreeModel.h" #include "playlist/PlayableModel.h" +#include "playlist/AlbumItemDelegate.h" #include "playlist/GridItemDelegate.h" #include "Source.h" #include "MetaPlaylistInterface.h" @@ -61,10 +62,14 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par m_tracksModel = new TreeModel( ui->tracks ); m_tracksModel->setMode( Mixed ); - ui->tracks->setTreeModel( m_tracksModel ); ui->tracks->setRootIsDecorated( false ); ui->tracks->setEmptyTip( tr( "Sorry, we could not find any tracks for this album!" ) ); - ui->tracks->proxyModel()->setStyle( PlayableProxyModel::Collection ); + ui->tracks->proxyModel()->setStyle( PlayableProxyModel::Large ); + ui->tracks->setAutoResize( true ); + ui->tracks->setPlayableModel( m_tracksModel ); + + AlbumItemDelegate* del = new AlbumItemDelegate( ui->tracks, ui->tracks->proxyModel() ); + ui->tracks->setPlaylistItemDelegate( del ); ui->albums->setAutoFitItems( false ); ui->albums->setWrapping( false ); @@ -77,33 +82,21 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par ui->tracks->setAttribute( Qt::WA_MacShowFocusRect, 0 ); m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::Original, QSize( 48, 48 ) ); - ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, TomahawkUtils::Original, QSize( ui->cover->sizeHint() ) ) ); + ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, TomahawkUtils::Grid ) ); + ui->cover->setShowText( true ); ui->biography->setFrameShape( QFrame::NoFrame ); ui->biography->setAttribute( Qt::WA_MacShowFocusRect, 0 ); TomahawkUtils::styleScrollBar( ui->biography->verticalScrollBar() ); - QFont f = font(); - f.setBold( true ); - f.setPointSize( TomahawkUtils::defaultFontSize() + 7 ); - ui->albumLabel->setFont( f ); -// ui->similarTracksLabel->setFont( f ); - - f.setPointSize( TomahawkUtils::defaultFontSize() + 4 ); - ui->artistLabel->setFont( f ); - QPalette p = ui->biography->palette(); p.setColor( QPalette::Foreground, Qt::white ); p.setColor( QPalette::Text, Qt::white ); - ui->albumLabel->setPalette( p ); - ui->artistLabel->setPalette( p ); ui->biography->setPalette( p ); ui->label->setPalette( p ); ui->label_2->setPalette( p ); - ui->artistLabel->setType( QueryLabel::Artist ); - QScrollArea* area = new QScrollArea(); area->setWidgetResizable( true ); area->setWidget( widget ); @@ -128,7 +121,6 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par "border-image: url(" RESPATH "images/scrollbar-vertical-handle.png) 3 3 3 3 stretch stretch;" "border-top: 3px transparent; border-bottom: 3px transparent; border-right: 3px transparent; border-left: 3px transparent; }" ); -// ui->topHits->setStyleSheet( "QTreeView#topHits { background-color: transparent; }" ); ui->trackFrame->setStyleSheet( "QFrame#trackFrame { background-color: transparent; }" "QFrame#trackFrame { " "border-image: url(" RESPATH "images/scrollbar-vertical-handle.png) 3 3 3 3 stretch stretch;" @@ -140,8 +132,6 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par m_playlistInterface = playlistinterface_ptr( mpl ); load( album ); - - connect( ui->artistLabel, SIGNAL( clickedArtist() ), SLOT( onArtistClicked() ) ); } @@ -197,10 +187,8 @@ AlbumInfoWidget::load( const album_ptr& album ) m_album = album; m_title = album->name(); - connect( m_album.data(), SIGNAL( updated() ), SLOT( onArtistImageUpdated() ) ); + connect( m_album.data(), SIGNAL( updated() ), SLOT( onAlbumImageUpdated() ) ); - ui->artistLabel->setArtist( album->artist() ); - ui->albumLabel->setText( album->name() ); ui->label_2->setText( tr( "Other Albums by %1" ).arg( album->artist()->name() ) ); ui->cover->setAlbum( album ); diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui index 01e71ae4e..d565c3776 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui @@ -13,318 +13,200 @@ Form - + + + 16 + + + 12 + - - - 12 - - - 12 - - + + 16 - - 12 + + 0 - - - 0 + + + + 0 + 0 + - - - - - 0 - 0 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 4 - - - 8 - - - 4 - - - 8 - - - 8 - - - - - - 18 - 75 - true - - - - Tracklist - - - 0 - - - - - - - - 0 - 300 - - - - true - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 16 - - - - - - - - - 0 - 0 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 4 - - - 8 - - - 4 - - - 8 - - - 4 - - - - - - Arial - 18 - 75 - true - - - - Other Albums - - - 0 - - - - - - - - 0 - 0 - - - - - 0 - 190 - - - - - - - - + + + 260 + 260 + + + + Cover + + + Qt::AlignCenter + + - - - -1 + + + + 0 + 0 + - - 16 + + + 0 + 240 + - - 0 + + Qt::ScrollBarAlwaysOff - - 0 - - - 0 - - - - - - 0 - 0 - - - - - 220 - 220 - - - - Cover - - - Qt::AlignCenter - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 13 - - - - - - - - 4 - - - 0 - - - - - 4 - - - 0 - - - - - Album - - - Qt::AlignCenter - - - - - - - - - 4 - - - 0 - - - - - Artist - - - Qt::AlignCenter - - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 13 - - - - - - - - - 0 - 0 - - - - - 0 - 240 - - - - Qt::ScrollBarAlwaysOff - - - - + + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 4 + + + 8 + + + 4 + + + 8 + + + 8 + + + + + + 18 + 75 + true + + + + Tracklist + + + 0 + + + + + + + + 0 + 0 + + + + + 0 + 300 + + + + true + + + + + + + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 4 + + + 8 + + + 4 + + + 8 + + + 4 + + + + + + Arial + 18 + 75 + true + + + + Other Albums + + + 0 + + + + + + + + 0 + 0 + + + + + 0 + 190 + + + + + + + @@ -334,14 +216,9 @@
playlist/GridView.h
- TreeView + TrackView QTreeView -
playlist/TreeView.h
-
- - QueryLabel - QLabel -
widgets/QueryLabel.h
+
playlist/TrackView.h
PlayableCover From ef9e5ed6cd55d40a2174fb5b1c5306426c12cde3 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 11:29:01 +0100 Subject: [PATCH 213/332] * Make AudioEngine's error logging more verbose. --- src/libtomahawk/audio/AudioEngine.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libtomahawk/audio/AudioEngine.cpp b/src/libtomahawk/audio/AudioEngine.cpp index ba3454fe2..978e3e286 100644 --- a/src/libtomahawk/audio/AudioEngine.cpp +++ b/src/libtomahawk/audio/AudioEngine.cpp @@ -167,7 +167,7 @@ AudioEngine::pause() void AudioEngine::stop( AudioErrorCode errorCode ) { - tDebug( LOGEXTRA ) << Q_FUNC_INFO << errorCode; + tDebug() << Q_FUNC_INFO << errorCode; if ( isStopped() ) return; @@ -471,6 +471,8 @@ AudioEngine::loadTrack( const Tomahawk::result_ptr& result ) furl = QUrl( m_currentTrack->url().left( m_currentTrack->url().indexOf( '?' ) ) ); furl.setEncodedQuery( QString( m_currentTrack->url().mid( m_currentTrack->url().indexOf( '?' ) + 1 ) ).toLocal8Bit() ); } + + tLog( LOGVERBOSE ) << "Passing to Phonon:" << furl; m_mediaObject->setCurrentSource( furl ); } else From 2cf31f8374498e9cbe3f77a21d27545069f53355 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 11:31:34 +0100 Subject: [PATCH 214/332] * Avoid compiler warnings. --- src/TomahawkWindow.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/TomahawkWindow.cpp b/src/TomahawkWindow.cpp index a36ed0b66..c8c83ecb0 100644 --- a/src/TomahawkWindow.cpp +++ b/src/TomahawkWindow.cpp @@ -767,6 +767,9 @@ TomahawkWindow::audioStateChanged( AudioState newState, AudioState oldState ) } m_taskbarList->ThumbBarUpdateButtons( winId(), ARRAYSIZE( m_thumbButtons ), m_thumbButtons ); +#else + Q_UNUSED( newState ); + Q_UNUSED( oldState ); #endif // HAVE_THUMBBUTTON } From a115d657443c13d7d8e18cd80b7672c179ea648b Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 12:40:35 +0100 Subject: [PATCH 215/332] * Added phonon to our deps. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3dfcfac50..043410d76 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ Required dependencies: * CMake 2.8.6 - http://www.cmake.org/ * Qt 4.7.0 - http://qt.nokia.com/ +* Phonon 4.6.0 - http://phonon.kde.org/ * QJson 0.7.1 - http://qjson.sourceforge.net/ * SQLite 3.6.22 - http://www.sqlite.org/ * TagLib 1.6.2 - http://developer.kde.org/~wheeler/taglib.html From 58fe0c64825998171a9667752d048e9be2c240a9 Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Thu, 20 Dec 2012 13:01:38 +0100 Subject: [PATCH 216/332] Automatic merge of Transifex translations --- lang/tomahawk_ar.ts | 139 ++- lang/tomahawk_bg.ts | 139 ++- lang/tomahawk_bn_IN.ts | 139 ++- lang/tomahawk_ca.ts | 139 ++- lang/tomahawk_de.ts | 139 ++- lang/tomahawk_el.ts | 139 ++- lang/tomahawk_en.ts | 139 ++- lang/tomahawk_es.ts | 139 ++- lang/tomahawk_fi.ts | 2109 +++++++++++++++++++--------------------- lang/tomahawk_fr.ts | 139 ++- lang/tomahawk_gl.ts | 139 ++- lang/tomahawk_hi_IN.ts | 139 ++- lang/tomahawk_hu.ts | 139 ++- lang/tomahawk_it.ts | 139 ++- lang/tomahawk_ja.ts | 139 ++- lang/tomahawk_lt.ts | 139 ++- lang/tomahawk_pl.ts | 139 ++- lang/tomahawk_pt_BR.ts | 139 ++- lang/tomahawk_ru.ts | 139 ++- lang/tomahawk_sv.ts | 139 ++- lang/tomahawk_tr.ts | 139 ++- lang/tomahawk_zh_CN.ts | 139 ++- lang/tomahawk_zh_TW.ts | 139 ++- 23 files changed, 2248 insertions(+), 2919 deletions(-) diff --git a/lang/tomahawk_ar.ts b/lang/tomahawk_ar.ts index 78f4440c3..625194b05 100644 --- a/lang/tomahawk_ar.ts +++ b/lang/tomahawk_ar.ts @@ -261,32 +261,22 @@ connect and stream from you? استمارة
- + Tracklist - + Other Albums - + Cover - - Album - - - - - Artist - - - - + Sorry, we could not find any other albums for this artist! نعتذر, لم نستطيع إيجاد ألبومات أخرى لهذا الفنان! @@ -296,7 +286,7 @@ connect and stream from you? نعتذر، لم نستطيع إيجاد أغاني أخرى لهذا الألبوم!
- + Other Albums by %1 ألبومات أخرى ل%1 @@ -323,22 +313,22 @@ connect and stream from you? استمارة - + Top Hits الأكثر شهرة - + Related Artists الفنانين ذات الذوق القريب - + Albums ألبومات - + Cover غلاف @@ -466,17 +456,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 نعتذر، لم نستطيع إيجاد الأغنية '%1' ل%2 - + Sorry, Tomahawk couldn't find the artist '%1' نعتذر، لم نستطيع إيجاد الفنان '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 نعتذر، لم نستطيع إيجاد الألبوم '%1' ل%2 @@ -1167,27 +1157,27 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you سمعت %1 - + played %1 by %2 %2 سمع %1 - + added %1 إضافة %1 - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3509,13 +3499,13 @@ enter the displayed PIN number here: - + Hide Menu Bar إخفي شريط القائمة - + Show Menu Bar أظهر شريط القائمة @@ -3530,136 +3520,136 @@ enter the displayed PIN number here: ال&قائمة الرئيسية - - - + + + Connect To Peer ربط بالند - + Enter peer address: أدخل عنوان الند: - + Enter peer port: أدخل بوابة الند: - + Enter peer key: أدخل مفتاح الند: - + XSPF Error خطأ XSPF - + This is not a valid XSPF playlist. قائمة الأغاني XSPF هذه ليست صالحة. - + Failed to save tracks فشل في حفظ الأغاني - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. بعض الأغاني في قائمة الأغاني لا تحتوي على إسم الفنان أو إسم الأغنية. هذه الأغاني سوف تتجاهل. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. عذرا، هناك مشكلة في الوصول إلى جهاز الصوت أو الأغنية المطلوب، سوف يتم تخطي الأغنية الحالية. تأكد أن لديك خلفية فونون المناسبة والإضافات المطلوبة مثبتة. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. عذرا، هناك مشكلة في الوصول إلى جهاز الصوت أو الأغنية المطلوب، سوف يتم تخطي الأغنية الحالية. - + Station إذاعة - + Create New Station إنشاء قائمة أغاني جديدة - + Name: الاسم: - + Playlist قائمة الأغاني - + Automatic Playlist قائمة أغاني أوتوماتيكية - + Pause تعليق - + &Play &إستمع - + Authentication Error خطأ في المصادقة - + Error connecting to SIP: Authentication failed! خطأ في الاتصال بسيب (SIP): فشلت المصادقة! - + %1 by %2 track, artist name %1 من قبل %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 حقوق الطبع والنشر ٢٠١٠ - ٢٠١٢ - + Thanks to: شكر لكل من: - + About Tomahawk عن توماهوك @@ -3680,62 +3670,47 @@ enter the displayed PIN number here: استمارة - + Cover غلاف - - Track - اغنية - - - - Artist - فنان - - - - Album - البوم - - - + Statistics إحصائيات - + Similar Tracks أغاني قريبة - + Sorry, but we could not find similar tracks for this song! نعتذر، لم نستطيع إيجاد أغاني قريبة من هذه الأغنية! - + You've listened to this track %n time(s). لقد استمعت إلى هذه الأغنية %n مرة.لقد استمعت إلى هذه الأغنية مرة %n.لقد استمعت إلى هذه الأغنية مرتين %n.لقد استمعت إلى هذه الأغنية %n مرات.لقد استمعت إلى هذه الأغنية %n مرات.لقد استمعت إلى هذه الأغنية %n مرات. - + You've never listened to this track before. لم تستمع لهذه الأغنية من قبل. - + You first listened to it on %1. استمعت إليها أولاً في %1. - + You've listened to %1 %n time(s). لقد استمعت إلى %1 %n مرة.لقد استمعت إلى %1 مرة %n.لقد استمعت إلى %1 مرتين %n.لقد استمعت إلى %1 %n مرات.لقد استمعت إلى %1 %n مرات.لقد استمعت إلى %1 %n مرات. - + You've never listened to %1 before. لم تستمع إلى %1 من قبل. @@ -3743,7 +3718,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. عذراً، ترشيحك "%1" لم يطابق أي نتائج. diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index 1db54aff1..a414a21c2 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -260,32 +260,22 @@ connect and stream from you? - + Tracklist Списък на песни за изпълняване - + Other Albums Други албуми - + Cover Обложка - - Album - Албум - - - - Artist - Изпълнител - - - + Sorry, we could not find any other albums for this artist! Съжалявам, но не откривам нито един албум от този артист! @@ -295,7 +285,7 @@ connect and stream from you? Съжалявам, но не откривам нито една песен за този артист! - + Other Albums by %1 Други албуми от %1 @@ -322,22 +312,22 @@ connect and stream from you? - + Top Hits Най-известни изпълнения - + Related Artists Изпълнители с подобно звучене - + Albums Албуми - + Cover Обложка @@ -465,17 +455,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 Съжалявам. Не успявам да открия изпълнение '%1' от '%2' - + Sorry, Tomahawk couldn't find the artist '%1' Съжалявам, но не откривам '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 Съжалявам, но не откривам албум с име '%1' от '%2' @@ -1170,27 +1160,27 @@ Tomahaw създаде доклад относно това и изпращай PlaylistLargeItemDelegate - + played %1 by you изпълнена %1 от мен - + played %1 by %2 изпълнена %1 от %2 - + added %1 добавен %1 - + by <b>%1</b> от <b>%1</b> - + by <b>%1</b> on <b>%2</b> от <b>%1</b> на <b>%2</b> @@ -3522,13 +3512,13 @@ enter the displayed PIN number here: - + Hide Menu Bar Скрий лентата с менюто - + Show Menu Bar Покажи лентата с менюто @@ -3543,139 +3533,139 @@ enter the displayed PIN number here: &Основно меню - - - + + + Connect To Peer Свържи се с друг потребител - + Enter peer address: Въведи адресът на отдалеченият потребител: - + Enter peer port: Въведи порт: - + Enter peer key: Въведи ключът за удостоверяване: - + XSPF Error XSPF Грешка - + This is not a valid XSPF playlist. Това не е валиден XSPF списък - + Failed to save tracks Не мога да запазя списъкът с песни - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Някои от песните в този списък нямат артист и заглавие. Те ще бъдат игнорирани. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Съжалявам. Има проблем с достъпа до твоето аудио-устройство или до избраната песен - тя ще бъде прескочена. Моля, увери се, че са инсталирани подходящ Phonon и приставки. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Съжалявам. Има проблем с достъпа до твоето аудио устройство или избраната песен. Тя ще бъде пропусната. - + Station Станция - + Create New Station Създай нова станция - + Name: Име: - + Playlist Списък - + Automatic Playlist Автоматично-генериран списък - + Pause Пауза - + &Play &Възпроизвеждане - + Authentication Error Грешка при удостоверяване - + Error connecting to SIP: Authentication failed! Грешка при свързване: Неуспешно удостоверяване! - + %1 by %2 track, artist name %1 от %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Всички права - запазени. 2010 - 2012 - + Thanks to: Благодарности на: - + About Tomahawk Относно Tomahawk @@ -3696,62 +3686,47 @@ enter the displayed PIN number here: - + Cover Обложка - - Track - Песен - - - - Artist - Изпълнител - - - - Album - Албум - - - + Statistics Статистика - + Similar Tracks Подобни песни - + Sorry, but we could not find similar tracks for this song! Съжалявам, но не откривам нито една подобна на тази песен! - + You've listened to this track %n time(s). Ти си слушал тази песен %n път(и)Ти си слушал тази песен %n път(и) - + You've never listened to this track before. Никога не си слушал тази песен преди - + You first listened to it on %1. Първоначално си я слушал на %1 - + You've listened to %1 %n time(s). Слушал си %1 път(и)Слушал си %1 %n път(и) - + You've never listened to %1 before. Никога не си слушал %1 преди @@ -3759,7 +3734,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. Съжалявам, твоят филтър %1 не върна никакъв резултат. diff --git a/lang/tomahawk_bn_IN.ts b/lang/tomahawk_bn_IN.ts index 0a85f1d0f..189cb3071 100644 --- a/lang/tomahawk_bn_IN.ts +++ b/lang/tomahawk_bn_IN.ts @@ -260,32 +260,22 @@ connect and stream from you? - + Tracklist - + Other Albums - + Cover - - Album - - - - - Artist - - - - + Sorry, we could not find any other albums for this artist! @@ -295,7 +285,7 @@ connect and stream from you? - + Other Albums by %1 @@ -322,22 +312,22 @@ connect and stream from you? - + Top Hits - + Related Artists - + Albums - + Cover @@ -465,17 +455,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 - + Sorry, Tomahawk couldn't find the artist '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 @@ -1166,27 +1156,27 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you - + played %1 by %2 - + added %1 - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3498,13 +3488,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3519,136 +3509,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error - + This is not a valid XSPF playlist. - + Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: - + Playlist - + Automatic Playlist - + Pause - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk @@ -3669,62 +3659,47 @@ enter the displayed PIN number here: - + Cover - - Track - - - - - Artist - - - - - Album - - - - + Statistics - + Similar Tracks - + Sorry, but we could not find similar tracks for this song! - + You've listened to this track %n time(s). - + You've never listened to this track before. - + You first listened to it on %1. - + You've listened to %1 %n time(s). - + You've never listened to %1 before. @@ -3732,7 +3707,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. diff --git a/lang/tomahawk_ca.ts b/lang/tomahawk_ca.ts index 9d3eb1370..d9c93caa1 100644 --- a/lang/tomahawk_ca.ts +++ b/lang/tomahawk_ca.ts @@ -260,32 +260,22 @@ connect and stream from you? Formulari - + Tracklist - + Other Albums - + Cover - - Album - - - - - Artist - - - - + Sorry, we could not find any other albums for this artist! @@ -295,7 +285,7 @@ connect and stream from you? - + Other Albums by %1 Altres Àlbums de %1 @@ -322,22 +312,22 @@ connect and stream from you? Formulari - + Top Hits Grans Èxits - + Related Artists Artistes Relacionats - + Albums Àlbums - + Cover Caràtula @@ -465,17 +455,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 - + Sorry, Tomahawk couldn't find the artist '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 @@ -1166,27 +1156,27 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you reproduït %1 - + played %1 by %2 reproduït %1 per %2 - + added %1 afegit %1 - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3507,13 +3497,13 @@ introduïu el PIN aquí: - + Hide Menu Bar - + Show Menu Bar @@ -3528,136 +3518,136 @@ introduïu el PIN aquí: - - - + + + Connect To Peer Connexió Remota - + Enter peer address: Introduïu l'adreça remota: - + Enter peer port: Introduïu el port remot: - + Enter peer key: Introduïu la clau remota: - + XSPF Error Error XSPF - + This is not a valid XSPF playlist. No és una llista XSPF vàlida. - + Failed to save tracks Error en desar les cançons - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Algunes cançons de la llista no contenen ni artista ni titol i s'han ignorat. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Hi ha un problema per accedir al dispositiu de so o a la cançó. La cançó actual s'ha saltat. Assegureu-vos que teniu un back.end de Phonon adequant i els plugins necessaris instal·lats. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Hi ha un problema per accedir al dispositiu de so o a la cançó, la cançó actual s'ha saltat. - + Station Emissora - + Create New Station Crea una Nova Emissora - + Name: Nom: - + Playlist Llista - + Automatic Playlist Llista Automàtica - + Pause Pausa - + &Play - + Authentication Error Error d'autentificació - + Error connecting to SIP: Authentication failed! S'ha produït un error connectant-se a SIP: Ha fallat autentificant! - + %1 by %2 track, artist name %1 de %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Gràcies a: - + About Tomahawk Quant a Tomahawk @@ -3678,62 +3668,47 @@ introduïu el PIN aquí: Formulari - + Cover Cover - - Track - Cançó - - - - Artist - Artista - - - - Album - Àlbum - - - + Statistics Estadístiques - + Similar Tracks Cançons Semblants - + Sorry, but we could not find similar tracks for this song! - + You've listened to this track %n time(s). Heu escoltat aquesta cançó %n cop.Heu escoltat aquesta cançó %n cops. - + You've never listened to this track before. No heu escoltat mai aquesta cançó abans. - + You first listened to it on %1. Vau escoltar aquesta cançó per primer cop el %1. - + You've listened to %1 %n time(s). Heu escoltat %1 %n cop.Heu escoltat %1 %n cops. - + You've never listened to %1 before. No heu escoltat mai %1 abans. @@ -3741,7 +3716,7 @@ introduïu el PIN aquí: TrackView - + Sorry, your filter '%1' did not match any results. El filtre '%1' no ha obtingut cap resultat. diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index 5b0a9880f..6dff3ce7f 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -261,32 +261,22 @@ erlauben sich mit dir zu verbinden? Form - + Tracklist Tracklist - + Other Albums Andere Alben - + Cover Cover - - Album - Album - - - - Artist - Künstler - - - + Sorry, we could not find any other albums for this artist! Sorry, wir konnten keine anderen Alben für diesen Künstler finden! @@ -296,7 +286,7 @@ erlauben sich mit dir zu verbinden? Sorry, wir konnten keine anderen Lieder für dieses Album finden! - + Other Albums by %1 Andere Alben von %1 @@ -323,22 +313,22 @@ erlauben sich mit dir zu verbinden? Form - + Top Hits Top Hits - + Related Artists Ähnliche Künstler - + Albums Alben - + Cover Cover @@ -466,17 +456,17 @@ erlauben sich mit dir zu verbinden? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 Sorry, Tomahawk konnte '%1' von %2 nicht finden - + Sorry, Tomahawk couldn't find the artist '%1' Sorry, Tomahawk konnte den Künstler '%1' nicht finden - + Sorry, Tomahawk couldn't find the album '%1' by %2 Sorry, Tomahawk konnte das Album '%1' von %2 nicht finden @@ -1167,27 +1157,27 @@ erlauben sich mit dir zu verbinden? PlaylistLargeItemDelegate - + played %1 by you angehört %1 von dir - + played %1 by %2 hörte %1 von %2 - + added %1 fügte %1 hinzu - + by <b>%1</b> von <b>%1</b> - + by <b>%1</b> on <b>%2</b> von <b>%1</b> auf <b>%2</b> @@ -3506,13 +3496,13 @@ Tomahawk auf Twitter's Website authentifiziert hast: - + Hide Menu Bar Menüleiste ausblenden - + Show Menu Bar Menüleiste einblenden @@ -3527,136 +3517,136 @@ Tomahawk auf Twitter's Website authentifiziert hast: Haupt&menü - - - + + + Connect To Peer Mit anderem Tomahawk verbinden - + Enter peer address: Gib die Adresse der Gegenstelle ein: - + Enter peer port: Gib den Port der Gegenstelle ein: - + Enter peer key: Gib den Schlüssel der Gegenstelle ein: - + XSPF Error XSPF-Fehler - + This is not a valid XSPF playlist. Dies ist keine gültige XSPF-Playlist. - + Failed to save tracks Konnte Stücke nicht abspeichern - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Einige Stücke in der Playlist enthalten weder Künstler noch Titel. Diese werden ignoriert. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Es tut uns leid, Tomahawk kann auf dein Audio-Gerät oder das gewünschte Stück nicht zugreifen und überspringt es deshalb. Vergewisser dich, dass ein geignetes Phonon-Backend mitsamt benötigten Plugins installiert ist. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Es tut uns leid, Tomahawk kann auf dein Audio-Gerät oder das gewünschte Stück nicht zugreifen und überspringt es deshalb. - + Station Station - + Create New Station Neue Station erstellen - + Name: Name: - + Playlist Playlist - + Automatic Playlist Automatische Playlist - + Pause Pause - + &Play Abs&pielen - + Authentication Error Authentifizierungsfehler - + Error connecting to SIP: Authentication failed! Verbindungsfehler mit SIP: Authentifizierung fehlgeschlagen! - + %1 by %2 track, artist name %1 von %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copright 2010 - 2012 - + Thanks to: Danke an: - + About Tomahawk Über Tomahawk @@ -3677,62 +3667,47 @@ Tomahawk auf Twitter's Website authentifiziert hast: Formular - + Cover Cover - - Track - Lied - - - - Artist - Künstler - - - - Album - Album - - - + Statistics Statistiken - + Similar Tracks Ähnliche Lieder - + Sorry, but we could not find similar tracks for this song! Sorry, wir konnten keine ähnlichen Lieder finden! - + You've listened to this track %n time(s). Du hast dieses Lied einmal gehört.Du hast dieses Lied %n mal gehört. - + You've never listened to this track before. Du hast dieses Lied noch nie angehört. - + You first listened to it on %1. Du hast dieses Lied zum ersten mal am %1 gehört. - + You've listened to %1 %n time(s). Du hast %1 einmal angehört.Du hast %1 %n mal angehört. - + You've never listened to %1 before. Du hast %1 vorher noch nie gehört. @@ -3740,7 +3715,7 @@ Tomahawk auf Twitter's Website authentifiziert hast: TrackView - + Sorry, your filter '%1' did not match any results. Entschuldige, dein Filter '%1' erzeugte keine Ergebnisse. diff --git a/lang/tomahawk_el.ts b/lang/tomahawk_el.ts index 5f4e2d732..ee7c4fe99 100644 --- a/lang/tomahawk_el.ts +++ b/lang/tomahawk_el.ts @@ -260,32 +260,22 @@ connect and stream from you? Φόρμα - + Tracklist - + Other Albums - + Cover - - Album - - - - - Artist - - - - + Sorry, we could not find any other albums for this artist! @@ -295,7 +285,7 @@ connect and stream from you? - + Other Albums by %1 Άλλα Άλμπουμ από %1 @@ -322,22 +312,22 @@ connect and stream from you? Φόρμα - + Top Hits - + Related Artists Παρόμοιοι Καλλιτέχνες - + Albums Άλμπουμ - + Cover @@ -465,17 +455,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 - + Sorry, Tomahawk couldn't find the artist '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 @@ -1166,27 +1156,27 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you παίχθηκε %1 από εσάς - + played %1 by %2 παίχθηκε %1 από τον/την %2 - + added %1 προστέθηκε το %1 - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3506,13 +3496,13 @@ enter the displayed PIN number here: - + Hide Menu Bar Απόκρυψη Γραμμής Μενού - + Show Menu Bar @@ -3527,136 +3517,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer Σύνδεση Σε Ομότιμο Κόμβο - + Enter peer address: Εισαγωγή διεύθυνσης ομότιμου κόμβου: - + Enter peer port: Εισαγωγή θύρας ομότιμου κόμβου: - + Enter peer key: Εισαγωγή κλειδιού ομότιμου κόμβου: - + XSPF Error Σφάλμα XSPF - + This is not a valid XSPF playlist. Αυτή δεν είναι μια έγκυρη λίστα αναπαραγωγής XSPF. - + Failed to save tracks Αποτυχία αποθήκευσης κομματιών. - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Μερικά κομμάτια στην λίστα αναπαραγωγής δεν περιέχουν έναν καλλιτέχνη ή έναν τίτλο. Θα αγνοηθούν. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Συγγνώμη, υπάρχει ένα πρόβλημα πρόσβασης στην συσκευή ήχου ή στο επιθυμητό κομμάτι, το τρέχον κομμάτι θα παραλειφθεί. Σιγουρευτείτε ότι έχετε εγκαταστήσει ένα κατάλληλο Phonon backend και τα απαιτούμενα πρόσθετα. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Συγγνώμη, υπάρχει ένα πρόβλημα πρόσβασης στην συσκευή ήχου ή στο επιθυμητό κομμάτι, το τρέχον κομμάτι θα παραλειφθεί. - + Station Σταθμός - + Create New Station Δημιουργία Νέου Σταθμού - + Name: Όνομα: - + Playlist Λίστας Αναπαραγωγής - + Automatic Playlist Αυτόματη Λίστα Αναπαραγωγής - + Pause Παύση - + &Play - + Authentication Error Σφάλμα Πιστοποίησης - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name %1 από %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: Χάρη στους: - + About Tomahawk Σχετικά με το Tomahawk @@ -3677,62 +3667,47 @@ enter the displayed PIN number here: Φόρμα - + Cover Εκτέλεση - - Track - Κομμάτι - - - - Artist - Καλλιτέχνης - - - - Album - Άλμπουμ - - - + Statistics Στατιστικά - + Similar Tracks Παρόμοια Κομμάτια - + Sorry, but we could not find similar tracks for this song! - + You've listened to this track %n time(s). Έχετε ακούσει το κομμάτι %n φορά.Έχετε ακούσει το κομμάτι %n φορές. - + You've never listened to this track before. Δεν έχετε ακούσει αυτό το κομμάτι παλιότερα. - + You first listened to it on %1. Το ακούσατε για πρώτη φορά στις %1. - + You've listened to %1 %n time(s). Ακούσατε το %1 %n φορά.Ακούσατε το %1 %n φορές. - + You've never listened to %1 before. Δεν έχετε ακούσει το %1 ποτέ πριν. @@ -3740,7 +3715,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. Συγγνώμη, το φίλτρο «%1» δεν αντιστοίχισε αποτελέσματα. diff --git a/lang/tomahawk_en.ts b/lang/tomahawk_en.ts index 75c58cd01..6a12f133f 100644 --- a/lang/tomahawk_en.ts +++ b/lang/tomahawk_en.ts @@ -261,32 +261,22 @@ connect and stream from you? Form - + Tracklist Tracklist - + Other Albums Other Albums - + Cover Cover - - Album - Album - - - - Artist - Artist - - - + Sorry, we could not find any other albums for this artist! Sorry, we could not find any other albums for this artist! @@ -296,7 +286,7 @@ connect and stream from you? Sorry, we could not find any tracks for this album! - + Other Albums by %1 Other Albums by %1 @@ -323,22 +313,22 @@ connect and stream from you? Form - + Top Hits Top Hits - + Related Artists Related Artists - + Albums Albums - + Cover Cover @@ -466,17 +456,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 Sorry, Tomahawk couldn't find the track '%1' by %2 - + Sorry, Tomahawk couldn't find the artist '%1' Sorry, Tomahawk couldn't find the artist '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 Sorry, Tomahawk couldn't find the album '%1' by %2 @@ -1167,27 +1157,27 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you played %1 by you - + played %1 by %2 played %1 by %2 - + added %1 added %1 - + by <b>%1</b> by <b>%1</b> - + by <b>%1</b> on <b>%2</b> by <b>%1</b> on <b>%2</b> @@ -3511,13 +3501,13 @@ enter the displayed PIN number here: - + Hide Menu Bar Hide Menu Bar - + Show Menu Bar Show Menu Bar @@ -3532,136 +3522,136 @@ enter the displayed PIN number here: &Main Menu - - - + + + Connect To Peer Connect To Peer - + Enter peer address: Enter peer address: - + Enter peer port: Enter peer port: - + Enter peer key: Enter peer key: - + XSPF Error XSPF Error - + This is not a valid XSPF playlist. This is not a valid XSPF playlist. - + Failed to save tracks Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station Station - + Create New Station Create New Station - + Name: Name: - + Playlist Playlist - + Automatic Playlist Automatic Playlist - + Pause Pause - + &Play &Play - + Authentication Error Authentication Error - + Error connecting to SIP: Authentication failed! Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name %1 by %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Thanks to: - + About Tomahawk About Tomahawk @@ -3682,62 +3672,47 @@ enter the displayed PIN number here: Form - + Cover Cover - - Track - Track - - - - Artist - Artist - - - - Album - Album - - - + Statistics Statistics - + Similar Tracks Similar Tracks - + Sorry, but we could not find similar tracks for this song! Sorry, but we could not find similar tracks for this song! - + You've listened to this track %n time(s). You've listened to this track %n time.You've listened to this track %n times. - + You've never listened to this track before. You've never listened to this track before. - + You first listened to it on %1. You first listened to it on %1. - + You've listened to %1 %n time(s). You've listened to %1 %n time.You've listened to %1 %n times. - + You've never listened to %1 before. You've never listened to %1 before. @@ -3745,7 +3720,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. Sorry, your filter '%1' did not match any results. diff --git a/lang/tomahawk_es.ts b/lang/tomahawk_es.ts index dca9ae87c..ca4b76c69 100644 --- a/lang/tomahawk_es.ts +++ b/lang/tomahawk_es.ts @@ -261,32 +261,22 @@ conectarse a usted y transmitir música? Form - + Tracklist Pistas - + Other Albums Otros álbumes - + Cover Portada - - Album - Álbum - - - - Artist - Artista - - - + Sorry, we could not find any other albums for this artist! No se encontraron otros álbumes de este artista @@ -296,7 +286,7 @@ conectarse a usted y transmitir música? No se encontraron pistas de este álbum - + Other Albums by %1 Otros álbumes de %1 @@ -323,22 +313,22 @@ conectarse a usted y transmitir música? Form - + Top Hits Grandes éxitos - + Related Artists Artistas relacionados - + Albums Álbumes - + Cover Portada @@ -466,17 +456,17 @@ conectarse a usted y transmitir música? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 Tomahawk no pudo encontrar la pista '%1' de %2 - + Sorry, Tomahawk couldn't find the artist '%1' Tomahawk no pudo encontrar el artista '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 Tomahawk no pudo encontrar el álbum '%1' de %2 @@ -1167,27 +1157,27 @@ conectarse a usted y transmitir música? PlaylistLargeItemDelegate - + played %1 by you %1 reproducido por usted - + played %1 by %2 %1 reproducido por %2 - + added %1 añadió %1 - + by <b>%1</b> de <b>%1</b> - + by <b>%1</b> on <b>%2</b> de <b>%1</b> en <b>%2</b> @@ -3511,13 +3501,13 @@ introduzca su número PIN aquí: - + Hide Menu Bar Esconder barra de menú - + Show Menu Bar Mostrar barra de menú @@ -3532,136 +3522,136 @@ introduzca su número PIN aquí: &Menú principal - - - + + + Connect To Peer Conectar a un par - + Enter peer address: Introducir dirección del par: - + Enter peer port: Introducir puerto del par: - + Enter peer key: Introducir contraseña del par: - + XSPF Error Error XSPF - + This is not a valid XSPF playlist. Esta no es una lista de reproducción XSPF válida. - + Failed to save tracks Fallo al guardar pistas - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Algunas pistas en la lista de reproducción no contienen artista ni título. Serán ignoradas. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Se ha producido un error al acceder al dispostivo de audio o a la pista deseada. Asegúrese de que ha instalado un backend de Phonon adecuado y los plugins necesarios. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Se ha producido un error al acceder al dispostivo de audio o a la pista deseado y se va saltar. - + Station Nueva estación - + Create New Station Crear nueva estación - + Name: Nombre: - + Playlist Lista de reproducción - + Automatic Playlist Lista de reproducción automática - + Pause Pausar - + &Play &Reproducir - + Authentication Error Error de autenticación - + Error connecting to SIP: Authentication failed! Error conectando al SIP: ¡Autenticación fallida! - + %1 by %2 track, artist name %1 por %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010-2012 - + Thanks to: Gracias a: - + About Tomahawk Acerca de Tomahawk @@ -3682,62 +3672,47 @@ introduzca su número PIN aquí: Form - + Cover Portada - - Track - Pista - - - - Artist - Artista - - - - Album - Álbum - - - + Statistics Estadísticas - + Similar Tracks Pistas similares - + Sorry, but we could not find similar tracks for this song! No se han encontrado pistas similares - + You've listened to this track %n time(s). Ha escuchado esta pista %n vez.Ha escuchado esta pista %n veces. - + You've never listened to this track before. Nunca ha escuchado esta pista antes. - + You first listened to it on %1. Escuchó esta pista por primera vez en %1. - + You've listened to %1 %n time(s). Ha escuchado %1 una vez.Ha escuchado %1 %n veces. - + You've never listened to %1 before. Nunca ha escuchado %1 antes. @@ -3745,7 +3720,7 @@ introduzca su número PIN aquí: TrackView - + Sorry, your filter '%1' did not match any results. Lo siento, tu filtro '%1' no ha encontrado resultados. diff --git a/lang/tomahawk_fi.ts b/lang/tomahawk_fi.ts index 20296f789..ff47ccdc1 100644 --- a/lang/tomahawk_fi.ts +++ b/lang/tomahawk_fi.ts @@ -1,24 +1,21 @@ - - - + ACLJobDelegate Allow %1 to connect and stream from you? - Sallitaanko käyttäjän %1 -yhdistää ja toistaa sinulta virtaa? + Allow Streaming - Salli virran toisto + Deny Access - Kiellä pääsy + @@ -26,7 +23,7 @@ yhdistää ja toistaa sinulta virtaa? Tomahawk needs you to decide whether %1 is allowed to connect. - Tomahawk tarvitsee sinua päättämään, sallitaanko käyttäjän %1 yhdistää. + @@ -34,17 +31,17 @@ yhdistää ja toistaa sinulta virtaa? Dialog - Ikkuna + Description goes here - Kuvaus tulee tähän + Add Account - Lisää tili + @@ -52,17 +49,17 @@ yhdistää ja toistaa sinulta virtaa? Online - Verkossa + Connecting... - Yhdistetään... + Offline - Ei verkossa + @@ -70,18 +67,18 @@ yhdistää ja toistaa sinulta virtaa? Connections - Yhteydet + Connect &All - Yhdistä &kaikki + Disconnect &All - Katkaise &kaikki + @@ -89,7 +86,7 @@ yhdistää ja toistaa sinulta virtaa? Invite - Kutsu + @@ -97,7 +94,7 @@ yhdistää ja toistaa sinulta virtaa? Configure Accounts - Tilien asetukset + @@ -105,154 +102,154 @@ yhdistää ja toistaa sinulta virtaa? &Listen Along - Kuuntele &mukana + Stop &Listening Along - Lopeta &mukana kuunteleminen + &Follow in real-time - &Seuraa reaaliajassa + &Listen Privately - &Kuuntele yksityisesti + &Listen Publicly - &Kuuntele julkisesti + &Load Playlist - &Lataa soittolista + &Rename Playlist - &Muuta soittolistan nimeä + &Copy Playlist Link - &Kopioi soittolistan linkki + &Play - &Soita + &Stop - &Pysäytä + &Previous Track - &Edellinen kappale + &Next Track - S&euraava kappale + &Quit - &Lopeta + Load &XSPF... - Lataa &XSPF... + U&pdate Collection - &Päivitä kokoelma + Fully &Rescan Collection - &Muodosta kokoelma alusta alkaen + Show Offline Sources - Näytä verkottomat lähteet + &Configure Tomahawk... - Tomahawkin &asetukset... + Minimize - Pienennä + Zoom - Zoomaa + Hide Menu Bar - Piilota valikkorivi + Diagnostics... - Diagnostiikka... + About &Tomahawk... - Tietoa &Tomahawkista... + &Legal Information... - Lakitiet&oa... + Check For Updates... - Tarkista päivitykset... + &Controls - &Ohjaus + &Settings - &Asetukset + &Help - O&hje + &Window - &Ikkuna + Main Menu - Päävalikko + @@ -260,47 +257,37 @@ yhdistää ja toistaa sinulta virtaa? Form - Lomake + - + Tracklist - Kappalelista + - + Other Albums - Muita albumeita + - + Cover - Kansikuva + - - Album - Albumi - - - - Artist - Artisti - - - + Sorry, we could not find any other albums for this artist! - Valitettavasti emme löytänet mitään muita albumeita tältä artistilta! + Sorry, we could not find any tracks for this album! - Valitettavasti emme löytäneet mitään tämän albumin kappaleita! + - + Other Albums by %1 - Muita artistin %1 levyjä + @@ -309,12 +296,12 @@ yhdistää ja toistaa sinulta virtaa? All albums from %1 - Kaikki artistin %1 albumit + All albums - Kaikki albumit + @@ -322,172 +309,165 @@ yhdistää ja toistaa sinulta virtaa? Form - Lomake + - - - Artist - Artisti - - - - - Cover - Kansikuva - - - + Top Hits - Parhaat hitit + - - Albums - Albumit - - - + Related Artists - Samankaltaisia artisteja + - + + Albums + + + + + Cover + + + + Sorry, we could not find any albums for this artist! - Valitettavasti emme löytänet yhtään tämän artistin albumia! + - + Sorry, we could not find any related artists! - Valitettavasti emme löytäneet yhtään samankaltaista artistia! + - + Sorry, we could not find any top hits for this artist! - Valitettavasti emme löytäneet yhtään tämän artistin parhaista hiteistä! + AudioControls - + Prev - Edellinen + - + Play - Soita + - + Pause - Tauko + - + Next - Seuraava + - + Artist - Artisti + - + Album - Albumi + - + social - sosiaalisuus + - + love - tykkää + - + resolver - selvitin + - + Time - Aika + - + Time Left - Aikaa jäljellä + - + Shuffle - Sekoita + - + Repeat - Toista + - + Low - Pieni + - + High - Suuri + Time Elapsed - Kulunut aika + Time Remaining - Jäljellä oleva aika - - - - Share - Jaa - - - - Love - Tykkää + Playing from %1 - Soitetaan lähteestä %1 + + + + + Share + + + + + Love + AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 - Valitettavasti Tomahawk ei löytänyt artistin %2 kappaletta ”%1” + - + Sorry, Tomahawk couldn't find the artist '%1' - Valitettavasti Tomahawk ei löytänyt artistia ”%1” + - + Sorry, Tomahawk couldn't find the album '%1' by %2 - Valitettavasti Tomahawk ei löytänyt artistin %2 albumia ”%1” + @@ -495,24 +475,24 @@ yhdistää ja toistaa sinulta virtaa? Create new Playlist - Luo uusi soittolista + Create new Station - Luo uusi asema + New Station - Uusi asema + %1 Station - %1 – asema + @@ -520,12 +500,12 @@ yhdistää ja toistaa sinulta virtaa? Playlists - Soittolistat + Stations - Asemat + @@ -533,7 +513,7 @@ yhdistää ja toistaa sinulta virtaa? Clear - Tyhjennä + @@ -541,18 +521,18 @@ yhdistää ja toistaa sinulta virtaa? InfoBar - Tietopalkki + Show Footnotes - Näytä alaviitteet + Hide Footnotes - Piilota alaviitteet + @@ -560,53 +540,53 @@ yhdistää ja toistaa sinulta virtaa? Tomahawk Crash Reporter - Tomahawkin kaatumisen ilmoitus + <html><head/><body><p><span style=" font-weight:600;">Sorry!</span> Tomahawk crashed. Please tell us about it! Tomahawk has created an error report for you that can help improve the stability in the future. You can now send this report directly to the Tomahawk developers.</p></body></html> - <html><head/><body><p><span style=" font-weight:600;">Pahoittelut!</span> Tomahawk kaatui. Kerro siitä meille! Tomahawk on luonut puolestasi virheilmoituksen, joka auttaa vakauden parantamisessa jatkossa. Voit nyt lähettää tämän ilmoituksen suoraan Tomahawkin kehittäjille.</p></body></html> + Send this report - Lähetä tämä ilmoitus + Don't send - Älä lähetä + Abort - Keskeytä + You can disable sending crash reports in the configuration dialog. - Voit poistaa kaatumisilmoitusten lähettämisen käytöstä asetusikkunasta. + Uploaded %L1 of %L2 KB. - Lähetetty %L1/%L2 kB. + Close - Sulje + Sent! <b>Many thanks</b>. - Lähetetty! <b>Paljon kiitoksia</b>. + Failed to send crash info. - Kaatumistietojen lähettäminen epäonnistui. + @@ -614,7 +594,7 @@ yhdistää ja toistaa sinulta virtaa? Unknown - Tuntematon + @@ -622,17 +602,17 @@ yhdistää ja toistaa sinulta virtaa? About - Tietoa + Delete Account - Poista tili + About this Account - Tietoa tästä tilistä + @@ -640,17 +620,17 @@ yhdistää ja toistaa sinulta virtaa? Tomahawk Diagnostics - Tomahawk-diagnostiikka + &Copy to Clipboard - &Kopioi leikepöydälle + Open &Log-file - &Avaa lokitiedosto + @@ -658,97 +638,97 @@ yhdistää ja toistaa sinulta virtaa? Steer this station: - Ohjaa tätä asemaa: + Much less - Paljon vähemmän + Less - Vähemän + A bit less - Hieman vähemmän + Keep at current - Pidä nykyisellä + A bit more - Hieman enemmän + More - Enemmän + Much more - Paljon enemmän + Tempo - Tempo + Loudness - Äänekkyys + Danceability - Tanssittavuus + Energy - Energia + Song Hotttnesss - Kappaleen suosittuus + Artist Hotttnesss - Artistin suosittuus + Artist Familiarity - Artistin tuttuus + By Description - Kuvauksen perusteella + Enter a description - Anna kuvaus + Apply steering command - Käytä ohjauskomentoa + Reset all steering commands - Nollaa kaikki ohjauskomennot + @@ -756,7 +736,7 @@ yhdistää ja toistaa sinulta virtaa? Filter... - Suodata... + @@ -764,12 +744,12 @@ yhdistää ja toistaa sinulta virtaa? This playlist is currently empty. - Tämä soittolista on parhaillaan tyhjä. + This playlist is currently empty. Add some tracks to it and enjoy the music! - Tämä soittolista on parhaillaan tyhjä. Lisää kappaleita ja nauti musiikista! + @@ -777,7 +757,7 @@ yhdistää ja toistaa sinulta virtaa? Form - Lomake + @@ -785,7 +765,7 @@ yhdistää ja toistaa sinulta virtaa? Indexing database - Indeksoidaan tietokantaa + @@ -793,12 +773,12 @@ yhdistää ja toistaa sinulta virtaa? InfoBar - Tietopalkki + Filter... - Suodata... + @@ -806,37 +786,37 @@ yhdistää ja toistaa sinulta virtaa? Form - Lomake + Scrobble tracks to Last.fm - Skrobblaa kappaleet Last.fm:ään + Username: - Käyttäjätunnus: + Password: - Salasana: + Test Login - Kokeile kirjautumista + Import Playback History - Tuo soittohistoria + Synchronize Loved Tracks - Synkronoi tykätyt kappaleet + @@ -844,7 +824,7 @@ yhdistää ja toistaa sinulta virtaa? Last.fm - Last.fm + @@ -852,7 +832,7 @@ yhdistää ja toistaa sinulta virtaa? %1 is listening along with you! - %1 kuuntelee kanssasi! + @@ -860,27 +840,27 @@ yhdistää ja toistaa sinulta virtaa? Load XSPF - Lataa XSPF + Playlist URL - Soittolistan osoite + Enter URL... - Anna osoite... + ... - ... + Automatically update - Päivitä automaattisesti + @@ -888,12 +868,12 @@ yhdistää ja toistaa sinulta virtaa? Load XSPF File - Lataa XSPF-tiedosto + XSPF Files (*.xspf) - XSPF-tiedostot (*.xspf) + @@ -901,12 +881,12 @@ yhdistää ja toistaa sinulta virtaa? Bookmarks - Kirjanmerkit + Saved tracks - Tallennetut kappaleet + @@ -914,32 +894,32 @@ yhdistää ja toistaa sinulta virtaa? Top Loved Tracks - Tykätyimmät kappaleet - - - - Loved Tracks - Tykätyt kappaleet + Sorry, we could not find any loved tracks! - Valitettavasti emme löytäneet yhtään tykättyä kappaletta! + The most loved tracks from all your friends - Kaikkien kaveriesi tykätyimmät kappaleet + All of your loved tracks - Kaikki tykkäämäsi kappaleet + All of %1's loved tracks - Kaikki käyttäjän %1 tykkäämät kappaleet + + + + + Loved Tracks + @@ -947,112 +927,112 @@ yhdistää ja toistaa sinulta virtaa? Form - Lomake + Tags - Tagit + Title: - Nimi: + Title... - Nimi... + Artist: - Artisti: + Artist... - Artisti... + Album: - Albumi: + Album... - Albumi... + Track Number: - Kappaleen numero: + Duration: - Kesto: + 00.00 - 00,00 + Year: - Vuosi: + Bitrate: - Bittinopeus: + File - Tiedosto + File Name: - Tiedostonimi: + File Name... - Tiedostonimi... + File Size... - Tiedostokoko... + File size... - Tiedostokoko... + File Size: - Tiedostokoko: + Back - Edellinen + Forward - Seuraava + Properties - Ominaisuudet + @@ -1060,27 +1040,27 @@ yhdistää ja toistaa sinulta virtaa? Enter a title for the new playlist: - Anna uuden soittolistan nimi: + Tomahawk offers a variety of ways to help you create playlists and find music you enjoy! - Tomahawk tarjoaa monia apuja soittolistojen luontiin sekä pitämäsi musiikin etsimiseen! + Just enter a genre or tag name and Tomahawk will suggest a few songs to get you started with your new playlist: - Anna vain lajityypin tai tagin nimi, ja Tomahawk ehdottaa muutamia kappaleita, jotta pääset alkuun uuden soittolistasi parissa: + &Create Playlist - &Luo soittolista + Create a new playlist - Luo uusi soittolista + @@ -1088,7 +1068,7 @@ yhdistää ja toistaa sinulta virtaa? New Releases - Uudet julkaisut + @@ -1096,68 +1076,68 @@ yhdistää ja toistaa sinulta virtaa? Artist - Artisti + Title - Nimi + Composer - Säveltäjä + Album - Albumi + Track - Kappale + Duration - Kesto + Bitrate - Bittinopeus + Age - Ikä + Year - Vuosi + Size - Koko + Origin - Alkuperä + Score - Pisteet + Name - Nimi + @@ -1165,40 +1145,40 @@ yhdistää ja toistaa sinulta virtaa? played %1 by you - kuuntelit %1 + played %1 by %2 - %2 kuunteli %1 + PlaylistLargeItemDelegate - + played %1 by you - kuuntelit %1 + - + played %1 by %2 - %2 kuunteli %1 + - + added %1 - lisätty %1 + - + by <b>%1</b> - artistilta <b>%1</b> + - + by <b>%1</b> on <b>%2</b> - artistilta <b>%1</b> albumilla <b>%2</b> + @@ -1206,23 +1186,23 @@ yhdistää ja toistaa sinulta virtaa? A playlist you created %1. - Soittolista, jonka loit %1. + A playlist by %1, created %2. - Soittolista, jonka %1 loi %2. + All tracks by %1 on album %2 - Kaikki artistin %1 kappaleet albumilla %2 + All tracks by %1 - Kaikki artistin %1 kappaleet + @@ -1230,37 +1210,37 @@ yhdistää ja toistaa sinulta virtaa? New Playlist - Uusi soittolista + Just a regular old playlist... Give it a name, drag in some tracks, and go! - Ihan tavanomainen soittolista... Anna sille nimi, vedä siihen joitain kappaleita ja anna mennä! + Don't know exactly what you want? Give Tomahawk a few pointers and let it build a playlist for you! - Etkö oikein tiedä, mitä haluat? Anna Tomahawkille muutamia vihjeitä ja anna sen muodostaa soittolista puolestasi! + Name: - Nimi: + New Playlist... - Uusi soittolista... + Create Manual Playlist - Luo manuaalinen soittolista + Create Automatic Playlist - Luo automaattinen soittolista + @@ -1268,12 +1248,12 @@ yhdistää ja toistaa sinulta virtaa? This playlist is currently empty. - Tämä soittolista on parhaillaan tyhjä. + This playlist is currently empty. Add some tracks to it and enjoy the music! - Tämä soittolista on parhaillaan tyhjä. Lisää kappaleita ja nauti musiikista! + @@ -1281,172 +1261,141 @@ yhdistää ja toistaa sinulta virtaa? Proxy Settings - Välityspalvelinasetukset + Hostname of proxy server - Välityspalvelimen konenimi + Host - Kone + Port - Portti + Proxy login - Välityspalvelimen tunnus + User - Käyttäjä + Password - Salasana + Proxy password - Välityspalvelimen salasana + No Proxy Hosts: (Overrides system proxy) - Välityspalvelittomat osoitteet: -(ohittaa järjestelmän välityspalvelimen) + localhost *.example.com (space separated) - localhost *.esimerkki.fi (välilyönnein eroteltuna) + Use proxy for DNS lookups? - Käytetäänkö välityspalvelinta DNS-hauissa? + QObject - - - Friend Finders - Kaverietsimet - - - - Music Finders - Musiikkietsimet - - - - Status Updaters - Tilanpäivittimet - %n year(s) ago - - %n vuosi sitten - %n vuotta sitten - + %n year(s) - - %n vuosi - %n vuotta - + %n month(s) ago - - %n kuukausi sitten - %n kuukautta sitten - + %n month(s) - - %n kuukausi - %n kuukautta - + %n week(s) ago - - %n viikko sitten - %n viikkoa sitten - + %n week(s) - - %n viikko - %n viikkoa - + %n day(s) ago - - %n päivä sitten - %n päivää sitten - + %n day(s) - - %n päivä - %n päivää - + %n hour(s) ago - - %n tunti sitten - %n tuntia sitten - + %n hour(s) - - %n tunti - %n tuntia - + %1 minutes ago - %1 minuuttia sitten + %1 minutes - %1 minuuttia + just now - juuri nyt + + + + + Friend Finders + + + + + Music Finders + + + + + Status Updaters + @@ -1454,7 +1403,7 @@ yhdistää ja toistaa sinulta virtaa? ZIP/UNZIP API error %1 - ZIP/UNZIP-rajapintavirhe %1 + @@ -1462,26 +1411,23 @@ yhdistää ja toistaa sinulta virtaa? InfoBar - Tietopalkki + Open Queue - Avaa jono + Open Queue - %n item(s) - - Avaa jono – %n kohde - Avaa jono – %n kohdetta - + Close Queue - Sulje jono + @@ -1489,7 +1435,7 @@ yhdistää ja toistaa sinulta virtaa? Related Artists - Samankaltaisia artisteja + @@ -1497,12 +1443,12 @@ yhdistää ja toistaa sinulta virtaa? Not found: %1 - Ei löydy: %1 + Failed to load: %1 - Lataaminen epäonnistui: %1 + @@ -1510,7 +1456,7 @@ yhdistää ja toistaa sinulta virtaa? Search - Hae + @@ -1518,80 +1464,80 @@ yhdistää ja toistaa sinulta virtaa? Search: %1 - Haku: %1 + Results for '%1' - Tulokset haulle ”%1” + SettingsDialog - - - Install from file - Asenna tiedostosta - - - - All - Kaikki - - - - Services - Palvelut - - - - Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - Aseta tilit ja palvelut, joita Tomahawk käyttää musiikin etsimiseen ja noutamiseen, kaveriesi etsimiseen sekä tilasi päivittämiseen. - Collection - Kokoelma - - - - Manage how Tomahawk finds music on your computer. - Hallitse Tomahawkin tapaa etsiä musiikkia tietokoneeltasi. + Advanced - Lisäasetukset + - - Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - Aseta Tomahawkin lisäasetuksia, joihin kuuluu verkkoyhteysasetukset, selainyhteys ja muuta. - - - - Information - Tiedoksi + + All + Some changed settings will not take effect until Tomahawk is restarted - Jotkin asetusmuutokset tulevat voimaan vasta, kun Tomahawk käynnistetään uudelleen. + + + + + Services + + + + + Install from file + + + + + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. + + + + + Manage how Tomahawk finds music on your computer. + + + + + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. + Install resolver from file - Asenna selvitin tiedostosta + Delete all Access Control entries? - Poistetaanko kaikki pääsynvalvontatietueet? + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. - Haluatko varmasti poistaa kaikki pääsynvalvontatietueet? Sinulta tullaan kysymään päätös uudelleen jokaisen sellaisen vertaisen kohdalla, johon yhdistät. + + + + + Information + @@ -1599,12 +1545,12 @@ yhdistää ja toistaa sinulta virtaa? Form - Lomake + Filter by capability: - Suodata kyvyn perusteella: + @@ -1612,82 +1558,82 @@ yhdistää ja toistaa sinulta virtaa? Form - Lomake + Remote Peer Connection Method - Etävertaisten yhteystapa + None (outgoing connections only) - Ei yhteyttä (vain lähtevät yhteydet) + Use UPnP to establish port forward (recommended) - Käytä UPnP:tä porttien uudelleenohjaukseen (suositellaan) + Use static external IP address/host name and port - Käytä kiinteää julkista IP-osoitetta/konenimeä ja porttia + Set this to your external IP address or host name. Make sure to forward the port to this host! - Aseta julkinen IP-osoitteesi tai konenimesi tähän. Varmista, että ohjaat portin tähän koneeseen! + Static Host Name: - Kiinteä konenimi: + Static Port: - Kiinteä portti: + SOCKS Proxy - SOCKS-välityspalvelin + Use SOCKS Proxy - Käytä SOCKS-välityspalvelinta + Proxy Settings... - Välityspalvelinasetukset... + Other Settings - Muut asetukset + Allow web browsers to interact with Tomahawk (recommended) - Salli webselainten olla yhteydessä Tomahawkiin (suositellaan) + Send reports after Tomahawk crashed - Lähetä ilmoituksia Tomahawkin kaatumisen jälkeen + Show notification when a new song starts to play - Näytä ilmoitus, kun uusi kappale alkaa + Clear All Access Control Entries - Tyhjennä kaikki pääsynvalvontatietueet + @@ -1695,12 +1641,12 @@ yhdistää ja toistaa sinulta virtaa? Form - Lomake + Path to scan for music files: - Polku, josta musiikkitiedostoja etsitään: + @@ -1708,27 +1654,22 @@ yhdistää ja toistaa sinulta virtaa? and using it to craft personalized radios. Enabling this option will allow you (and all your friends) to create automatic playlists and stations based on your personal taste profile. - The Echo Nest voi pitää kirjaa metadatahakemistostasi ja -käyttää sitä personoitujen radioiden tekemiseen. -Tämän valinnan käyttöönottaminen mahdollistaa sinun -(ja kaikkien kaveriesi) luoda automaattisia soittolistoja ja -asemia sinun henkilökohtaisen musiikkimakuprofiilisi perusteella. + Upload collection list to The Echo Nest to enable user radio - Lähetä kokoelmalista The Echo Nestille -käyttäjäradion käyttöönottamiseksi + Watch for changes - Tarkkaile muutoksia + Time between scans, in seconds: - Etsimisten aikaväli (sekunteina): + @@ -1736,12 +1677,12 @@ käyttäjäradion käyttöönottamiseksi On - Päällä + Off - Pois + @@ -1749,17 +1690,17 @@ käyttäjäradion käyttöönottamiseksi Popular New Albums From Your Friends - Kaveriesi suosiossa olevat uudet albumit + Most Played Playlists - Kuunnelluimmat soittolistat + Most Played Tracks You Don't Have - Kuunnelluimmat kappaleet, joita sinulla ei ole + @@ -1767,47 +1708,47 @@ käyttäjäradion käyttöönottamiseksi Form - Lomake + Facebook - Facebook + Twitter - Twitter + Cover - Kansikuva + TextLabel - TextLabel + Tweet - Twiittaa + Listening to "%1" by %2. %3 - Kuuntelen ”%1” artistilta %2. %3 + Listening to "%1" by %2 on "%3". %4 - Kuuntelen ”%1” artistilta %2, albumilta ”%3”. %4 + %1 characters left - %1 merkkiä jäljellä + @@ -1815,44 +1756,44 @@ käyttäjäradion käyttöönottamiseksi Track - Kappale + Album - Albumi + Artist - Artisti + Local - Paikallinen + Top 10 - Kymmenen kärki + All available tracks - Kaikki saatavilla olevat kappaleet + Show - Näytä + Hide - Piilota + @@ -1860,32 +1801,32 @@ käyttäjäradion käyttöönottamiseksi Recent Albums - Viimeaikaiset albumit + Latest Additions - Viimeisimmät lisäykset + Recently Played Tracks - Viime aikoina kuunnellut kappaleet + New Additions - Uudet lisäykset + My recent activity - Viimeaikainen toimintani + Recent activity from %1 - Käyttäjän %1 viimeaikainen toiminta + @@ -1893,58 +1834,58 @@ käyttäjäradion käyttöönottamiseksi Collection - Kokoelma + Latest Additions - Viimeisimmät lisäykset + Recently Played - Viime aikoina kuunnellut + SuperCollection - Superkokoelma + Latest additions to your collection - Viimeisimmät lisäykset kokoelmaasi + Latest additions to %1's collection - Viimeisimmät lisäykset käyttäjän %1 kokoelmaan + Sorry, we could not find any recent additions! - Valitettavasti emme löytäneet yhtään viimeaikaisia lisäyksiä! + Recently Played Tracks - Viime aikoina kuunnellut kappaleet + Your recently played tracks - Viime aikoina kuuntelemasi kappaleet + %1's recently played tracks - Käyttäjän %1 viime aikoina kuuntelemat kappaleet + Sorry, we could not find any recent plays! - Valitettavasti emme löytäneet yhtään viimeaikaisia soittoja! + @@ -1952,71 +1893,68 @@ käyttäjäradion käyttöönottamiseksi &Copy Link - &Kopioi linkki - - - - &Export Playlist - &Vie soittolista + &Delete %1 - &Poista %1 + Add to my Playlists - Lisää omiin soittolistoihin + Add to my Automatic Playlists - Lisää omiin automaattisiin soittolistoihin + Add to my Stations - Lisää omiin asemiin + + + + + &Export Playlist + playlist - Ks. alempi viesti - soittolistan + automatic playlist - Ks. alempi viesti - automaattisen soittolistan + station - Ks. alempi viesti - aseman + Would you like to delete the %1 <b>"%2"</b>? e.g. Would you like to delete the playlist named Foobar? - Haluatko poistaa %1 <b>”%2”</b>? + Delete - Poista + Save XSPF - Tallenna XSPF + Playlists (*.xspf) - Soittolistat (*.xspf) + @@ -2024,75 +1962,72 @@ käyttäjäradion käyttöönottamiseksi Group - Ryhmä + Collection - Kokoelma + Playlist - Suomennoshetkellä käytettiin vain asiayhteydessä, jossa suomeksi vaaditaan pieni alkukirjain. - soittolista + Automatic Playlist - Suomennoshetkellä käytettiin vain asiayhteydessä, jossa suomeksi vaaditaan pieni alkukirjain. - automaattinen soittolista + Station - Suomennoshetkellä käytettiin vain asiayhteydessä, jossa suomeksi vaaditaan pieni alkukirjain. - asema + Browse - Selaa + Search History - Hakuhistoria + My Music - Oma musiikki - - - - Dashboard - Kojelauta + SuperCollection - Superkokoelma + + + + + Dashboard + Recently Played - Viime aikoina kuunnellut + Charts - Listat + New Releases - Uudet julkaisut + Friends - Kaverit + @@ -2100,58 +2035,57 @@ käyttäjäradion käyttöönottamiseksi Form - Lomake + Configure your Spotify account - Spotify-tilisi asetukset - - - - Username: - Käyttäjätunnus: + Username or Facebook Email - Käyttäjätunnus tai Facebookin sähköposti - - - - Password: - Salasana: + Log In - Kirjaudu + Right click on any Tomahawk playlist to sync it to Spotify. - Synkronoi Tomahawk-soittolista Spotifyn kanssa -napsauttamalla hiiren oikealla. - - - - Spotify playlists to keep in sync: - Synkronoitavat Spotify-soittolistat: + Select All - Valitse kaikki + High Quality Streams - Laadukkaat virrat + + + + + Spotify playlists to keep in sync: + Delete Tomahawk playlist when removing synchronization - Poista Tomahawkin soittolista, kun synkronointi lopetetaan + + + + + Username: + + + + + Password: + @@ -2159,7 +2093,7 @@ napsauttamalla hiiren oikealla. Delete associated Spotify playlist? - Poistetaanko liitetty Spotify-soittolista? + @@ -2167,17 +2101,17 @@ napsauttamalla hiiren oikealla. Copy Artist Link - Kopioi artistin linkki + Copy Album Link - Kopioi albumin linkki + Copy Track Link - Kopioi kappaleen linkki + @@ -2185,32 +2119,32 @@ napsauttamalla hiiren oikealla. Add Account - Lisää tili + Remove - Poista + %1 downloads - %1 latausta + Online - Verkossa + Connecting... - Yhdistetään... + Offline - Ei verkossa + @@ -2218,12 +2152,12 @@ napsauttamalla hiiren oikealla. Manual Install Required - Manuaalinen asennus tarvitaan + Unfortunately, automatic installation of this resolver is not available or disabled for your platform.<br /><br />Please use "Install from file" above, by fetching it from your distribution or compiling it yourself. Further instructions can be found here:<br /><br />http://www.tomahawk-player.org/resolvers/%1 - Valitettavasti tämän selvittimen automaattinen asennus ei ole saatavilla tai on poissa käytöstä alustallasi.<br /><br />Hae selvitin jakelusi kautta tai kääntämällä se itse, ja käytä sitten Asenna tiedostosta -painiketta. Lisäohjeita on osoitteessa:<br /><br />http://www.tomahawk-player.org/resolvers/%1 + @@ -2231,22 +2165,22 @@ napsauttamalla hiiren oikealla. Configure this Google Account - Tämän Google-tilin asetukset + Google Address: - Google-osoite: + Enter your Google login to connect with your friends using Tomahawk! - Ole yhteydessä Tomahawkia käyttäviin kavereihisi antamalla Google-tunnuksesi! + username@gmail.com - käyttäjätunnus@gmail.com + @@ -2254,7 +2188,7 @@ napsauttamalla hiiren oikealla. Connect to Google Talk to find your friends - Löydä kaverisi yhdistämällä Google Talkiin + @@ -2262,17 +2196,17 @@ napsauttamalla hiiren oikealla. Enter Google Address - Anna Google-osoite + Add Friend - Lisää kaveri + Enter Google Address: - Anna Google-osoite: + @@ -2280,7 +2214,7 @@ napsauttamalla hiiren oikealla. Scrobble your tracks to last.fm, and find freely downloadable tracks to play - Skrobblaa kappaleet Last.fm:ään, ja löydä kuunneltavaksi ilmaisesti ladattavia kappaleita + @@ -2288,59 +2222,59 @@ napsauttamalla hiiren oikealla. Testing... - Kokeillaan... + Test Login - Kokeile kirjautumista + Importing %1 e.g. Importing 2012/01/01 - Tuodaan %1 + Importing History... - Tuodaan historiaa... + History Incomplete. Resume - Historia epätäydellinen. Jatketaan tuontia + Playback History Imported - Soittohistoria tuotu + Failed - Epäonnistui + Success - Onnistui + Could not contact server - Palvelimeen ei saatu yhteyttä + Synchronizing... - Synkronoidaan... + Synchronization Finished - Synkronointi valmis + @@ -2348,47 +2282,47 @@ napsauttamalla hiiren oikealla. Sync with Spotify - Synkronoi Spotifyn kanssa + Re-enable syncing with Spotify - Ota Spotifyn kanssa synkronointi käyttöön + Create local copy - Luo paikallinen kopio - - - - Stop syncing with Spotify - Lopeta Spotifyn kanssa synkronointi + Subscribe to playlist changes - Tilaa soittolistojen muutokset + Re-enable playlist subscription - Tilaa soittolistojen muutokset uudelleen + Stop subscribing to changes - Lopeta muutosten tilaus + Enable Spotify collaborations - Käytä Spotify-yhteistöitä + Disable Spotify collaborations - Poista Spotify-yhteistyöt käytöstä + + + + + Stop syncing with Spotify + @@ -2396,28 +2330,28 @@ napsauttamalla hiiren oikealla. Logging in... - Kirjaudutaan... + Failed: %1 - Epäonnistui: %1 + Logged in as %1 - Kirjauduttu käyttäjänä %1 + Log Out - Kirjaudu ulos + Log In - Kirjaudu + @@ -2425,7 +2359,7 @@ napsauttamalla hiiren oikealla. Play music from and sync your playlists with Spotify Premium - Toista musiikkia Spotify Premiumin kautta ja synkronoi soittolistasi sen kanssa + @@ -2433,7 +2367,7 @@ napsauttamalla hiiren oikealla. Connect to your Twitter followers. - Ole yhteydessä Twitter-seuraajiisi. + @@ -2443,32 +2377,32 @@ napsauttamalla hiiren oikealla. Tweet! - Twiittaa! + Status: No saved credentials - Tila: Ei tallennettuja tunnistetietoja + Authenticate - Tunnistaudu + Status: Credentials saved for %1 - Tila: Tunnistetiedot tallennettu käyttäjälle %1 + De-authenticate - Poista tunnistautuminen + @@ -2479,90 +2413,87 @@ napsauttamalla hiiren oikealla. Tweetin' Error - Twiittausvirhe + The credentials could not be verified. You may wish to try re-authenticating. - Tunnistetietojen varmennus epäonnistui. -Voit haluta yrittää tunnistautumista uudelleen. + Status: Error validating credentials - Tila: Virhe tunnistetietojen kelpuuttamisessa + Global Tweet - Yleistwiitti + Direct Message - Yksityisviesti + Send Message! - Lähetä viesti! + @Mention - @Maininta + Send Mention! - Lähetä maininta! + You must enter a user name for this type of tweet. - Tällaiselle twiitille pitää antaa käyttäjätunnus. + Your saved credentials could not be loaded. You may wish to try re-authenticating. - Tallennettuja tunnistetietojasi ei voitu ladata. -Voit haluta yrittää tunnistautumista uudelleen. + Your saved credentials could not be verified. You may wish to try re-authenticating. - Tallennettuja tunnistetietojasi ei voitu varmentaa. -Voit haluta yrittää tunnistautumista uudelleen. + There was an error posting your status -- sorry! - Tilasi lähettämisessä tapahtui virhe – anteeksi! + Tweeted! - Twiitattu! + Your tweet has been posted! - Twiittisi on lähetetty! + There was an error posting your direct message -- sorry! - Yksityisviestisi lähettämisessa tapahtui virhe – anteeksi! + Your message has been posted! - Viestisi on lähetetty! + @@ -2570,7 +2501,7 @@ Voit haluta yrittää tunnistautumista uudelleen. Log on to your Jabber/XMPP account to connect to your friends - Ole yhteydessä kavereihisi kirjautumalla Jabber/XMPP-tilillesi + @@ -2578,7 +2509,7 @@ Voit haluta yrittää tunnistautumista uudelleen. Automatically connect to Tomahawks on the local network - Yhdistä paikallisverkon Tomahawkeihin automaattisesti + @@ -2586,79 +2517,79 @@ Voit haluta yrittää tunnistautumista uudelleen. &Play - &Soita + Add to &Queue - &Lisää jonoon + Continue Playback after this &Track - Jatka s&oittoa tämän kappaleen jälkeen + Stop Playback after this &Track - Pysäytä s&oitto tämän &kappaleen jälkeen + &Love - &Tykkää + &Go to "%1" - Sii&rry sivulle ”%1” + Go to "%1" - Siirry sivulle ”%1” + &Copy Track Link - &Kopioi kappaleen linkki - - - - Properties... - Ominaisuudet... - - - - &Delete Items - &Poista kohteet - - - - &Delete Item - &Poista kohde + Copy Album &Link - &Kopioi albumin linkki + Copy Artist &Link - &Kopioi artistin linkki + Un-&Love - Lakkaa &tykkäämästä + + + + + &Delete Items + + + + + Properties... + + + + + &Delete Item + @@ -2666,36 +2597,32 @@ Voit haluta yrittää tunnistautumista uudelleen. playlist - Ks. alemmat viestit - soittolistaa + artist - Ks. alemmat viestit - artistia + track - Ks. alemmat viestit - kappaletta + album - Ks. alemmat viestit - albumia + Fetching %1 from database - Noudetaan %1 tietokannasta + Parsing %1 %2 - Jäsennetään %1 -%2 + @@ -2703,7 +2630,7 @@ Voit haluta yrittää tunnistautumista uudelleen. Click to collapse - Tiivistä napsauttamalla + @@ -2714,14 +2641,12 @@ Voit haluta yrittää tunnistautumista uudelleen. Could not find a playable track. Please change the filters or try again. - Soittokelpoista kappaletta ei löydy. - -Muuta suodattimia tai yritä uudelleen. + Failed to generate preview with the desired filters - Esikatselun luonti halutuilla suodattimilla epäonnistui + @@ -2729,12 +2654,12 @@ Muuta suodattimia tai yritä uudelleen. Type: - Tyyppi: + Generate - Muodosta + @@ -2742,17 +2667,17 @@ Muuta suodattimia tai yritä uudelleen. Add some filters above to seed this station! - Alusta tämä asema lisäämällä hieman suodattimia! + Press Generate to get started! - Aloita painamalla Muodosta! + Add some filters above, and press Generate to get started! - Lisää yllä hieman suodattimia, ja sitten aloita painamalla Muodosta! + @@ -2762,9 +2687,7 @@ Muuta suodattimia tai yritä uudelleen. Station ran out of tracks! Try tweaking the filters for a new set of songs to play. - Asemalta loppui kappaleet! - -Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi. + @@ -2777,23 +2700,23 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< is - on + from user - käyttäjältä + No users with Echo Nest Catalogs enabled. Try enabling option in Collection settings - Ei käyttäjiä, joilla on Echo Nestin hakemisto käytössä. Kokeile ottaa valinta käyttöön kokoelma-asetuksista + similar to - samankaltainen kuin + @@ -2804,7 +2727,7 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< Less - Vähemmän + @@ -2815,264 +2738,258 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< More - Enemmän + 0 BPM - 0 BPM + 500 BPM - 500 BPM + 0 secs - 0 sekuntia + 3600 secs - 3600 sekuntia + -100 dB - −100 dB + 100 dB - 100 dB + Major - Duuri + Minor - Molli + C - C + C Sharp - Ylennetty C + D - D + E Flat - Alennettu E + E - E + F - F + F Sharp - Ylennetty F + G - G + A Flat - Alennettu A + A - A + B Flat - Alennettu H + B - H + Ascending - Nouseva + Descending - Laskeva + Tempo - Tempo + Duration - Kesto + Loudness - Äänekkyys + Artist Familiarity - Artistin tuttuus + Artist Hotttnesss - Artistin suosittuus + Song Hotttnesss - Kappaleen suosittuus + Latitude - Leveysaste + Longitude - Pituusaste + Mode - Moodi + Key - Sävellaji + Energy - Energia + Danceability - Tanssittavuus + only by ~%1 - vain likimäärin artistilta %1 + similar to ~%1 - likimäärin artistin %1 samankaltaisia artisteja + with genre ~%1 - likimäärin lajityypillä %1 + from no one - ei keneltäkään + My Collection - Oma kokoelma + from %1 radio - käyttäjän %1 radiosta + with %1 %2 - Tätä viestiä ei ollut kirjoitushetkellä mitään järkeä kääntää johtuen %1:n ja %2:n arvoista. - + about %1 BPM - noin %1 BPM + about %n minute(s) long - - noin %n minuutti pitkä - noin %n minuuttia pitkä - + about %1 dB - noin %1 dB + at around %1%2 %3 - Tätä viestiä ei ollut kirjoitushetkellä mitään järkeä kääntää johtuen %1:n ja %3:n arvoista. - + in %1 - sävellajissa %1 + in a %1 key - Toimii kunhan %1 on joko ”duuri” tai ”molli” - %1ssa + sorted in %1 %2 order - lajiteltu %1, lajitteluperusteena %2 + with a %1 mood - %1 mielialalla + in a %1 style - %1 tyylillä + @@ -3080,7 +2997,7 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< Error fetching Grooveshark information from the network! - Grooveshark-tietojen hakeminen verkosta epäonnistui! + @@ -3088,22 +3005,22 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< Top Overall - Kokonaisuudessaan parhaat + Artists - Artistit + Albums - Albumit + Tracks - Kappaleet + @@ -3111,12 +3028,12 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< Tomahawk is playing "%1" by %2%3. - Tomahawk soittaa artistin %2 kappaletta ”%1”%3. + on "%1" - albumilta ”%1” + @@ -3124,27 +3041,27 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< Top Tracks - Parhaat kappaleet + Loved Tracks - Tykätyt kappaleet + Hyped Tracks - Hypetetyt kappaleet + Top Artists - Parhaat artistit + Hyped Artists - Hypetetyt artistit + @@ -3152,7 +3069,7 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< Albums - Albumit + @@ -3160,7 +3077,7 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< Listening to "%1" by %2 and loving it! %3 - Kuuntelee kappaletta ”%1” artistilta %2 ja pitää siitä! %3 + @@ -3168,7 +3085,7 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< Error fetching iTunes information from the network! - iTunes-tietojen hakeminen verkosta epäonnistui! + @@ -3176,27 +3093,27 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< New Playlist - Uusi soittolista + Failed to save tracks - Kappaleiden tallentaminen epäonnistui + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - Joillakin soittolistan kappaleilla ei ole artistia ja nimeä. Ne jätetään huomiotta. + XSPF Error - XSPF-virhe + This is not a valid XSPF playlist. - Tämä ei ole kelvollinen XSPF-soittolista. + @@ -3204,13 +3121,13 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< &Catch Up - &Ota kiinni + &Listen Along - Kuuntele &mukana + @@ -3219,12 +3136,12 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< Would you like to delete the playlist <b>"%2"</b>? e.g. Would you like to delete the playlist named Foobar? - Haluatko poistaa soittolistan <b>”%2”</b>? + Delete - Poista + @@ -3232,41 +3149,37 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< and - ja + You - Sinä + you - sinä + and - ja + %n other(s) - - %n muu - %n muuta - + %1 people - %1 henkilöä + loved this track - Tätä on mahdoton suomentaa oikein. Tilanteesta riippuen täytyisi olla tykkäsi, tykkäsivät tai tykkäsit. - tykkäsi tästä kappaleesta + @@ -3274,7 +3187,7 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< Error fetching Rdio information from the network! - Rdio-tietojen hakeminen verkosta epäonnistui! + @@ -3282,7 +3195,7 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< Network error parsing shortened link! - Verkkovirhe jäsennettäessä lyhennettyä linkkiä! + @@ -3291,42 +3204,42 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< Scanning (%L1 tracks) - Etsitään (%L1 kappaletta) + Scanning - Etsitään + Checking - Tarkistetaan + Syncing - Synkronoidaan + Importing - Tuodaan + Saving (%1%) - Tallennetaan (%1 %) + Online - Verkossa + Offline - Ei verkossa + @@ -3334,7 +3247,7 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< Error fetching Spotify information from the network! - Spotify-tietojen hakeminen verkosta epäonnistui! + @@ -3342,7 +3255,7 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< Automatically update from XSPF - Päivitä automaattisesti XSPF:stä + @@ -3350,7 +3263,7 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< My Collection - Oma kokoelma + @@ -3358,63 +3271,62 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< Twitter PIN - Twitterin PIN + - After authenticating on Twitter's web site, + After authenticating on Twitter's web site, enter the displayed PIN number here: - Tunnistauduttuasi Twitterin verkkosivulla, -anna siellä näytetty PIN-koodi tähän: + TomahawkTrayIcon + + + &Stop Playback after current Track + + Hide Tomahawk Window - Piilota Tomahawk-ikkuna + Show Tomahawk Window - Näytä Tomahawk-ikkuna - - - - &Continue Playback after current Track - Jatka s&oittoa nykyisen kappaleen jälkeen - - - - &Stop Playback after current Track - Pysäytä s&oitto nykyisen kappaleen jälkeen + Currently not playing. - Mikään ei soi. + Play - Soita + Pause - Tauko + &Love - &Tykkää + Un-&Love - Lakkaa &tykkäämästä + + + + + &Continue Playback after current Track + @@ -3422,313 +3334,313 @@ anna siellä näytetty PIN-koodi tähän: Tomahawk - Tomahawk + &Quit - &Lopeta + Ctrl+Q - Ctrl+Q + Go &Online - Mene &verkkoon + Add &Friend... - Lisää &kaveri... + U&pdate Collection - P&äivitä kokoelma + Update Collection - Päivitä kokoelma + &Configure Tomahawk... - Tomahawkin &asetukset... + Load &XSPF... - Lataa &XSPF... + Create &New Playlist... - Luo &uusi soittolista... + About &Tomahawk... - &Tietoa Tomahawkista... + Create New &Automatic Playlist - Luo uusi &automaattinen soittolista + Create New &Station - Luo uusi a&sema + Show Offline Sources - Näytä verkottomat lähteet + Hide Offline Sources - Piilota verkottomat lähteet + Minimize - Pienennä + Ctrl+M - Ctrl+M + Zoom - Zoomaa + Meta+Ctrl+Z - Meta+Ctrl+Z + &Legal Info... - Lakitiet&oa... + Diagnostics... - Diagnostiikka... + Fully &Rescan Collection - &Muodosta kokoelma alusta alkaen + Fully Rescan Collection - Muodosta kokoelma alusta alkaen + Play - Soita + Space - Space + Previous - Edellinen + Next - Seuraava - - - - - Hide Menu Bar - Piilota valikkorivi - - - - - Show Menu Bar - Näytä valikkorivi + Back - Takaisin + Go back one page - Mene yksi sivu takaisin + Forward - Eteenpäin + Go forward one page - Mene yksi sivu eteenpäin + + + + + + Hide Menu Bar + + + + + + Show Menu Bar + - Global Search... - Yleishaku... + Search for any artist, album or song... + &Main Menu - &Päävalikko + - - - + + + Connect To Peer - Yhdistä vertaiseen + - + Enter peer address: - Anna vertaisen osoite: + - + Enter peer port: - Anna vertaisen portti: + - + Enter peer key: - Anna vertaisen avain: + - + XSPF Error - XSPF-virhe + - + This is not a valid XSPF playlist. - Tämä ei ole kelvollinen XSPF-soittolista. + - + Failed to save tracks - Kappaleiden tallentaminen epäonnistui + - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - Joillakin soittolistan kappaleilla ei ole artistia ja nimeä. Ne jätetään huomiotta. + - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - Valitettavasti äänilaitteen tai halutun kappaleen kanssa on ongelmia ja nykyinen kappale ohitetaan. Varmista, että sopiva Phononin taustaosa ja vaaditut liitännäiset on asennettu. + - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - Valitettavasti äänilaitteen tai halutun kappaleen kanssa on ongelmia ja nykyinen kappale ohitetaan. + - + Station - Asema + - + Create New Station - Luo uusi asema + - + Name: - Nimi: + - + Playlist - Soittolista + - + Automatic Playlist - Automaattinen soittolista + - + Pause - Tauko + - + &Play - &Soita + - + Authentication Error - Tunnistautumisvirhe + - + Error connecting to SIP: Authentication failed! - Virhe yhdistettäessä SIPiin: tunnistautuminen epäonnistui! + - + %1 by %2 track, artist name - %1 artistilta %2 + - + %1 - %2 current track, some window title - %1 – %2 + - + <h2><b>Tomahawk %1<br/>(%2)</h2> - <h2><b>Tomahawk %1<br/>(%2)</h2> + - + <h2><b>Tomahawk %1</h2> - <h2><b>Tomahawk %1</h2> + - + Copyright 2010 - 2012 - Copyright 2010–2012 + - + Thanks to: - Kiitokset: + - + About Tomahawk - Tietoa Tomahawkista + @@ -3736,7 +3648,7 @@ anna siellä näytetty PIN-koodi tähän: Top Hits - Parhaat hitit + @@ -3744,81 +3656,60 @@ anna siellä näytetty PIN-koodi tähän: Form - Lomake + - - Similar Tracks - Samankaltaisia kappaleita - - - + Cover - Kansikuva + - - Track - Kappale - - - - Artist - Artisti - - - - Album - Albumi - - - + Statistics - Tilastot + - + + Similar Tracks + + + + Sorry, but we could not find similar tracks for this song! - Valitettavasti emme löytäneet tälle kappaleelle samankaltaisia kappaleita! + - + You've listened to this track %n time(s). - - Olet kuunnellut tätä kappaletta %n kerran. - Olet kuunnellut tätä kappaletta %n kertaa. - + - + You've never listened to this track before. - Et ole kuunnellut tätä kappaletta aiemmin. + - + You first listened to it on %1. - Kuuntelit sitä ensi kerran %1. + - + You've listened to %1 %n time(s). - - Olet kuunnellut artistia %1 %n kerran. - Olet kuunnellut artistia %1 %n kertaa. - + - + You've never listened to %1 before. - Et ole kuunnellut artistia %1 aiemmin. + TrackView - + Sorry, your filter '%1' did not match any results. - Valitettavasti suodattimesi ”%1” ei tuottanut yhtään tuloksia. + @@ -3827,13 +3718,13 @@ anna siellä näytetty PIN-koodi tähän: from streaming artist - track from friend - kaverilta + to streaming artist - track to friend - kaverille + @@ -3841,7 +3732,7 @@ anna siellä näytetty PIN-koodi tähän: Unknown - Tuntematon + @@ -3849,19 +3740,19 @@ anna siellä näytetty PIN-koodi tähän: All Artists - Kaikki artistit + My Collection - Oma kokoelma + Collection of %1 - Käyttäjän %1 kokoelma + @@ -3869,7 +3760,7 @@ anna siellä näytetty PIN-koodi tähän: Sorry, your filter '%1' did not match any results. - Valitettavasti suodattimesi ”%1” ei tuottanut yhtään tuloksia. + @@ -3877,72 +3768,67 @@ anna siellä näytetty PIN-koodi tähän: Configure this Twitter account - Tämän Twitter-tilin asetukset + The Twitter plugin allows you to discover and play music from your Twitter friends running Tomahawk and post messages to your account. - Twitter-liitännäisen avulla voit löytää ja soittaa Tomahawkia käyttävien Twitter-kaveriesi musiikkia sekä lähettää viestejä tilillesi. + Status: No saved credentials - Tila: Ei tallennettuja tunnistetietoja + Authenticate with Twitter - Tunnistaudu Twitteriin + Twitter Connections - Twitter-yhteydet + -If you only want to post tweets, you're done. +If you only want to post tweets, you're done. If you want to connect Tomahawk to your friends using Twitter, select the type of tweet and press the button below to send a sync message. You must both be following each other as Direct Messages are used. Then be (very) patient -- it can take several minutes! You can re-send a sync message at any time simply by sending another tweet using the button. - -Jos haluat vain lähettää twiittejä, olet valmis. - -Jos haluat yhdistää Tomahawkin Twitteriä käyttäviin kavereihisi, valitse twiitin tyyppi ja lähetä synkronointiviesti painamalla Lähetä. Teidän molempien pitää seurata toisianne, koska tässä käytetään yksityisviestejä. Sitten ole kärsivällinen – yhdistämisessä saattaa kestää useita minuutteja! - -Voit lähettää synkronointiviestin uudelleen millä hetkellä hyvänsä lähettämällä toisen twiitin painamalla Lähetä. + Select the kind of tweet you would like, then press the button to post it: - Valitse haluamasi twiitin tyyppi, ja lähetä se sitten painamalla Lähetä: + Global Tweet - Yleistwiitti + @Mention - @Maininta + Direct Message - Yksityisviesti + e.g. @tomahawk - esim. @tomahawk + Send Message - Lähetä viesti + @@ -3950,7 +3836,7 @@ Voit lähettää synkronointiviestin uudelleen millä hetkellä hyvänsä lähet Enter Twitter username - Anna Twitterin käyttäjätunnus + @@ -3958,42 +3844,42 @@ Voit lähettää synkronointiviestin uudelleen millä hetkellä hyvänsä lähet This playlist is empty! - Tämä soittolista on tyhjä! + After you have scanned your music collection you will find your tracks right here. - Löydät kappaleesi tästä, kunhan musiikkikokoelmasi haku on valmistunut. + This collection is empty. - Tämä kokoelma on tyhjä. + SuperCollection - Superkokoelma + Combined libraries of all your online friends - Kaikkien verkkokaveriesi yhdistetyt kirjastot + Recently Played Tracks - Viime aikoina kuunnellut kappaleet + Recently played tracks from all your friends - Kaikkien kaveriesi viime aikoina kuuntelemat kappaleet + Sorry, we could not find any recent plays! - Valitettavasti emme löytäneet yhtään viimeaikaisia soittoja! + @@ -4001,32 +3887,32 @@ Voit lähettää synkronointiviestin uudelleen millä hetkellä hyvänsä lähet Recent Additions - Viimeisimmät lisäykset + Newest Stations & Playlists - Uusimmat asemat ja soittolistat + Recently Played Tracks - Viime aikoina kuunnellut kappaleet + Recently played tracks - Viime aikoina kuunnellut kappaleet + No recently created playlists in your network. - Verkossasi ei ole viime aikoina luotuja soittolistoja. + Welcome to Tomahawk - Tervetuloa Tomahawkiin + @@ -4034,7 +3920,7 @@ Voit lähettää synkronointiviestin uudelleen millä hetkellä hyvänsä lähet Charts - Listat + @@ -4042,7 +3928,7 @@ Voit lähettää synkronointiviestin uudelleen millä hetkellä hyvänsä lähet Wikipedia - Wikipedia + @@ -4052,29 +3938,26 @@ Voit lähettää synkronointiviestin uudelleen millä hetkellä hyvänsä lähet Terms for %1: - -Artistin %1 nimet: + No terms found, sorry. - Nimiä ei löydy. + Hotttness for %1: %2 - -Artistin %1 suosittuus: %2 + Familiarity for %1: %2 - -Artistin %1 tuttuus: %2 + @@ -4083,11 +3966,7 @@ Lyrics for "%1" by %2: %3 - -Sanat artistin %2 kappaleelle ”%1”: - -%3 - + @@ -4095,22 +3974,22 @@ Sanat artistin %2 kappaleelle ”%1”: Failed to parse contents of XSPF playlist - XSPF-soittolistan sisällön jäsentäminen epäonnistui + Some playlist entries were found without artist and track name, they will be omitted - Joillakin soittolistan kappaleilla ei ole artistia ja nimeä. Ne jätetään huomiotta + Failed to fetch the desired playlist from the network, or the desired file does not exist - Halutun soittolistan hakeminen verkosta epäonnistui tai haluttua tiedostoa ei ole olemassa + New Playlist - Uusi soittolista + @@ -4118,78 +3997,78 @@ Sanat artistin %2 kappaleelle ”%1”: Xml stream console - XML-virtakonsoli + Filter - Suodata + Save log - Tallenna loki + Disabled - Poissa käytöstä + By JID - JID:n perusteella + By namespace uri - Nimiavaruuden URI:n perusteella + By all attributes - Kaikkien attribuuttien perusteella + Visible stanzas - Näkyvät säkeistöt + Information query - Informaatiokysely + Message - Viesti + Presence - Läsnäolo + Custom - Mukautettu + Close - Sulje + Save XMPP log to file - Tallenna XMPP-loki tiedostoon + OpenDocument Format (*.odf);;HTML file (*.html);;Plain text (*.txt) - OpenDocument Format (*.odf);;HTML-tiedosto (*.html);;Muotoilematon teksti (*.txt) + @@ -4197,185 +4076,185 @@ Sanat artistin %2 kappaleelle ”%1”: Xmpp Configuration - XMPP-asetukset + Configure this Xmpp account - Tämän XMPP-tilin asetukset + Enter your Xmpp login to connect with your friends using Tomahawk! - Ole yhteydessä Tomahawkia käyttäviin kavereihisi antamalla XMPP-kirjautumistietosi! + Login Information - Kirjautumistiedot + Xmpp ID: - XMPP-tunnus: + e.g. user@example.com - esim: käyttäjä@esimerkki.fi + Password: - Salasana: + An account with this name already exists! - Tämänniminen tili on jo olemassa! + Advanced Xmpp Settings - XMPP-lisäasetukset + Server: - Palvelin: + Port: - Portti: + Lots of servers don't support this (e.g. GTalk, jabber.org) - Useat palvelimet eivät tue tätä (esim. GTalk ja jabber.org) + Publish currently playing track - Julkaise parhaillaan soiva kappale + Enforce secure connection - Pakota salattu yhteys + XmppSipPlugin - - - Enter Jabber ID - Anna Jabber-tunnus - User Interaction - Käyttäjän toiminta + Host is unknown - Kone on tuntematon + Item not found - Kohdetta ei löydy + Authorization Error - Valtuutusvirhe + Remote Stream Error - Etävirran virhe + Remote Connection failed - Etäyhteys epäonnistui + Internal Server Error - Sisäinen palvelinvirhe + System shutdown - Järjestelmän sammutus + Conflict - Ristiriita - - - - No Compression Support - Ei pakkaustukea - - - - No Encryption Support - Ei salaustukea - - - - No Authorization Support - Ei valtuutustukea - - - - No Supported Feature - Ei-tuettu ominaisuus + Unknown - Tuntematon - - - - Add Friend - Lisää kaveri - - - - Enter Xmpp ID: - Anna XMPP-tunnus: - - - - Add Friend... - Lisää kaveri... - - - - XML Console... - XML-konsoli... - - - - I'm sorry -- I'm just an automatic presence used by Tomahawk Player (http://gettomahawk.com). If you are getting this message, the person you are trying to reach is probably not signed on, so please try again later! - Pahoittelen – olen pelkkä Tomahawk-soittimen (http://gettomahawk.com) automaattinen läsnäoloviesti. Jos näet tämän viestin, tavoittelemasi henkilö ei todennäköisesti ole kirjautuneena, joten yritä myöhemmin uudelleen! - - - - Authorize User - Salli käyttäjä + Do you want to add <b>%1</b> to your friend list? - Haluatko lisätä käyttäjän <b>%1</b> kaverilistallesi? + + + + + No Compression Support + + + + + Enter Jabber ID + + + + + No Encryption Support + + + + + No Authorization Support + + + + + No Supported Feature + + + + + Add Friend + + + + + Enter Xmpp ID: + + + + + Add Friend... + + + + + XML Console... + + + + + I'm sorry -- I'm just an automatic presence used by Tomahawk Player (http://gettomahawk.com). If you are getting this message, the person you are trying to reach is probably not signed on, so please try again later! + + + + + Authorize User + @@ -4383,22 +4262,22 @@ Sanat artistin %2 kappaleelle ”%1”: Form - Lomake + Local Network configuration - Paikallisverkon asetukset + This plugin will automatically find other users running Tomahawk on your local network - Tämä liitännäinen löytää automaattisesti muut paikallisverkossa olevat Tomahawk-käyttäjät + Connect automatically when Tomahawk starts - Yhdistä automaattisesti Tomahawkin käynnistymisen yhteydessä + - + \ No newline at end of file diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index a6cd85507..c8d87eab7 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -261,32 +261,22 @@ de se connecter et streamer de vous? Form - + Tracklist - + Other Albums - + Cover - - Album - - - - - Artist - - - - + Sorry, we could not find any other albums for this artist! Désolé, aucun autre album n'a pu être trouvé pour cet artiste ! @@ -296,7 +286,7 @@ de se connecter et streamer de vous? Désolé, nous n'avons pu trouver aucune piste pour cet album ! - + Other Albums by %1 Autres albums de %1 @@ -323,22 +313,22 @@ de se connecter et streamer de vous? Form - + Top Hits Top Hits - + Related Artists Artistes similaires - + Albums Albums - + Cover Pochette @@ -466,17 +456,17 @@ de se connecter et streamer de vous? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 Désolé, on a pas pu trouver la piste '%1' pour %2 - + Sorry, Tomahawk couldn't find the artist '%1' Désolé, on a pas pu trouver l'artiste '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 Désolé, on a pas pu trouver l'album '%1' pour %2 @@ -1167,27 +1157,27 @@ de se connecter et streamer de vous? PlaylistLargeItemDelegate - + played %1 by you joué %1 par vous - + played %1 by %2 joué %1 par %2 - + added %1 ajouté par %1 - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3508,13 +3498,13 @@ saisissez le numéro PIN ici : - + Hide Menu Bar Masquer la barre de menu - + Show Menu Bar Afficher la barre de menu @@ -3529,136 +3519,136 @@ saisissez le numéro PIN ici : &Menu Principal - - - + + + Connect To Peer Connexion à un pair - + Enter peer address: Adresse du pair : - + Enter peer port: Port du pair : - + Enter peer key: Clé du pair : - + XSPF Error Erreur XSPF - + This is not a valid XSPF playlist. Ceci n'est pas une liste de lecture XSPF valide. - + Failed to save tracks Échec de la sauvegarde des pistes - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Certaines pistes dans la liste de lecture ne contiennent pas d'artiste ou de titre. Elles seront ignorées. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Désolé, il y a un problème d'accès à votre matériel audio ou la piste en cours va être sautée. Vérifiez que vous avez un backend Phonon et les plugins requis installés. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Désolé, il y a un problème d'accès à votre matériel audio ou la piste en cours va être sauter. - + Station Station - + Create New Station Créer une nouvelle station - + Name: Nom : - + Playlist Liste de lecture - + Automatic Playlist Liste de lecture automatique - + Pause Pause - + &Play &Lire - + Authentication Error Erreur d'authentification - + Error connecting to SIP: Authentication failed! Erreur de connexion SIP : échec de l'authentification ! - + %1 by %2 track, artist name %1 par %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Droit d'auteur 2010 - 2012 - + Thanks to: Merci a: - + About Tomahawk A propos de Tomahawk @@ -3679,62 +3669,47 @@ saisissez le numéro PIN ici : Form - + Cover Pochette - - Track - Piste - - - - Artist - Artiste - - - - Album - Album - - - + Statistics Statistiques - + Similar Tracks Piste similaire - + Sorry, but we could not find similar tracks for this song! Désolé, nous n'avons pu trouver aucune piste similaire pour cette chanson ! - + You've listened to this track %n time(s). Vous avez écouté cette piste %n fois.Vous avez écouté cette piste %n fois. - + You've never listened to this track before. Vous n'avez encore jamais écouté cette piste. - + You first listened to it on %1. Vous l'avez écouté pour la première fois le %1. - + You've listened to %1 %n time(s). Vous avez écouté %1 %n fois.Vous avez écouté %1 %n fois. - + You've never listened to %1 before. Vous n'avez encore jamais écouté %1. @@ -3742,7 +3717,7 @@ saisissez le numéro PIN ici : TrackView - + Sorry, your filter '%1' did not match any results. Désolé, votre filtre '%1' ne correspond à aucun résultat. diff --git a/lang/tomahawk_gl.ts b/lang/tomahawk_gl.ts index 0c716c903..e7d9d4e9c 100644 --- a/lang/tomahawk_gl.ts +++ b/lang/tomahawk_gl.ts @@ -260,32 +260,22 @@ connect and stream from you? Formulario - + Tracklist Lista de reprodución - + Other Albums Outros álbums - + Cover Portada - - Album - Álbum - - - - Artist - Artista - - - + Sorry, we could not find any other albums for this artist! Non se atopou ningún outro álbum para este artista! @@ -295,7 +285,7 @@ connect and stream from you? Non se puido atopar ningunha outra pista para este álbum! - + Other Albums by %1 Outros álbums de %1 @@ -322,22 +312,22 @@ connect and stream from you? Formulario - + Top Hits Maiores éxitos - + Related Artists Artistas relacionados - + Albums Álbums - + Cover Portada @@ -465,17 +455,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 Tomahawk non atopa a pista «%1» de %2 - + Sorry, Tomahawk couldn't find the artist '%1' Tomahawl non atopa o artista «%1» - + Sorry, Tomahawk couldn't find the album '%1' by %2 Tomahawk non atopa o álbum «%1» de %2 @@ -1166,27 +1156,27 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you escoitou %1 por coñecela por ti - + played %1 by %2 escoitou %1 por coñecela por %2 - + added %1 engadiu %1 - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3508,13 +3498,13 @@ enter the displayed PIN number here: - + Hide Menu Bar Agochar a barra de menú - + Show Menu Bar Mostrar a barra de menú @@ -3529,137 +3519,137 @@ enter the displayed PIN number here: Menú &principal - - - + + + Connect To Peer Conectar cun parceiro - + Enter peer address: Introducir a dirección do parceiro: - + Enter peer port: Introducir o porto do parceiro: - + Enter peer key: Introducir a clave do parceiro: - + XSPF Error Erro XSPF - + This is not a valid XSPF playlist. Esta non é unha lista de XSPF válida. - + Failed to save tracks Fallou o gardado de pistas - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Algunhas pistas na lista de reprodución non indican nin artista nin o título. Ignoraranse. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Hai un problema accedendo ao teu dispositivo de son ou a pista que quere así que se omitirá. Asegúrate de ter o motor Phonon e os engadidos necesarios instalados. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Hai un problema accedendo ao teu dispositivo de son ou a pista que quere así que se omitirá. - + Station - + Create New Station Crear unha nova emisión - + Name: Nome: - + Playlist Lista de reprodución - + Automatic Playlist Lista de reprodución automática - + Pause Pausa - + &Play &Reproducir - + Authentication Error Erro de autenticación - + Error connecting to SIP: Authentication failed! Erro conectándose a SIP: Fallou a autentificación! - + %1 by %2 track, artist name %1 por %2 - + %1 - %2 current track, some window title %1.- %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Agradecementos: - + About Tomahawk Acerca de Tomahawk @@ -3680,62 +3670,47 @@ enter the displayed PIN number here: Formulario - + Cover Portada - - Track - Pista - - - - Artist - Artista - - - - Album - Álbum - - - + Statistics Estatísticas - + Similar Tracks Pistas parecidas - + Sorry, but we could not find similar tracks for this song! Non se atopan pistas parecidas a esta canción! - + You've listened to this track %n time(s). Escoitaches esta pista %n vece(s). - + You've never listened to this track before. Nunca antes escoutaras esta pista. - + You first listened to it on %1. Escoitaches esta pista por primeira vez en %1. - + You've listened to %1 %n time(s). Escoitaches %1 %n veces. - + You've never listened to %1 before. Nunca antes escoitaras a %1. @@ -3743,7 +3718,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. O filtro «%1» non dá ningún resultado. diff --git a/lang/tomahawk_hi_IN.ts b/lang/tomahawk_hi_IN.ts index e062f1b44..50383ac83 100644 --- a/lang/tomahawk_hi_IN.ts +++ b/lang/tomahawk_hi_IN.ts @@ -260,32 +260,22 @@ connect and stream from you? - + Tracklist - + Other Albums - + Cover - - Album - - - - - Artist - - - - + Sorry, we could not find any other albums for this artist! @@ -295,7 +285,7 @@ connect and stream from you? - + Other Albums by %1 @@ -322,22 +312,22 @@ connect and stream from you? - + Top Hits - + Related Artists - + Albums - + Cover @@ -465,17 +455,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 - + Sorry, Tomahawk couldn't find the artist '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 @@ -1166,27 +1156,27 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you - + played %1 by %2 - + added %1 - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3498,13 +3488,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3519,136 +3509,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error - + This is not a valid XSPF playlist. - + Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: - + Playlist - + Automatic Playlist - + Pause - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk @@ -3669,62 +3659,47 @@ enter the displayed PIN number here: - + Cover - - Track - - - - - Artist - - - - - Album - - - - + Statistics - + Similar Tracks - + Sorry, but we could not find similar tracks for this song! - + You've listened to this track %n time(s). - + You've never listened to this track before. - + You first listened to it on %1. - + You've listened to %1 %n time(s). - + You've never listened to %1 before. @@ -3732,7 +3707,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. diff --git a/lang/tomahawk_hu.ts b/lang/tomahawk_hu.ts index 9956d143f..4ad7b7bba 100644 --- a/lang/tomahawk_hu.ts +++ b/lang/tomahawk_hu.ts @@ -260,32 +260,22 @@ connect and stream from you? - + Tracklist Zeneszám lista - + Other Albums Egyéb albumok - + Cover Borító - - Album - Album - - - - Artist - Előadó - - - + Sorry, we could not find any other albums for this artist! @@ -295,7 +285,7 @@ connect and stream from you? - + Other Albums by %1 @@ -322,22 +312,22 @@ connect and stream from you? - + Top Hits Top Hits - + Related Artists Kapcsolódó előadók - + Albums Albumok - + Cover Borító @@ -465,17 +455,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 - + Sorry, Tomahawk couldn't find the artist '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 @@ -1166,27 +1156,27 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you - + played %1 by %2 - + added %1 - + by <b>%1</b> by <b>%1</b> - + by <b>%1</b> on <b>%2</b> by <b>%1</b> on <b>%2</b> @@ -3498,13 +3488,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3519,136 +3509,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error XSPF hiba - + This is not a valid XSPF playlist. Nem érvényes XSPF lejátszólista. - + Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station Rádióállomás - + Create New Station - + Name: - + Playlist Lejátszólista - + Automatic Playlist Automatikus lejátszólista - + Pause - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk Tomahawkról @@ -3669,62 +3659,47 @@ enter the displayed PIN number here: - + Cover Borító - - Track - Zeneszám - - - - Artist - Előadó - - - - Album - Album - - - + Statistics Statisztika - + Similar Tracks Hasonló zeneszámok - + Sorry, but we could not find similar tracks for this song! - + You've listened to this track %n time(s). - + You've never listened to this track before. - + You first listened to it on %1. - + You've listened to %1 %n time(s). - + You've never listened to %1 before. @@ -3732,7 +3707,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. diff --git a/lang/tomahawk_it.ts b/lang/tomahawk_it.ts index 45d3784c5..104e48b36 100644 --- a/lang/tomahawk_it.ts +++ b/lang/tomahawk_it.ts @@ -260,32 +260,22 @@ connect and stream from you? Corpo - + Tracklist - + Other Albums - + Cover - - Album - - - - - Artist - - - - + Sorry, we could not find any other albums for this artist! Siamo spiacenti, non è stato possibile trovare altri album di questo artista! @@ -295,7 +285,7 @@ connect and stream from you? Ci dispiace, ma non abbiamo trovato nessuna traccia di questo album! - + Other Albums by %1 Altri album di %1 @@ -322,22 +312,22 @@ connect and stream from you? Corpo - + Top Hits Top Hits - + Related Artists Artisti simili - + Albums Album - + Cover Copertina @@ -465,17 +455,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 - + Sorry, Tomahawk couldn't find the artist '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 @@ -1166,27 +1156,27 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you ascoltata %1 da te - + played %1 by %2 ascoltata %1 da %2 - + added %1 %1 aggiunte - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3498,13 +3488,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3519,136 +3509,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer Connettiti al peer - + Enter peer address: Inserisci indirizzo peer: - + Enter peer port: Inserisci porta peer: - + Enter peer key: Inserisce chiave peer: - + XSPF Error Errore XSPF - + This is not a valid XSPF playlist. Questa non è una valida playlist XSPF. - + Failed to save tracks Errore nel salvare le tracce - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Alcune tracce nella playlist non contengono l'artista e il titolo. Verrano ignorate. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Spiacente, c'è un problema nell'accedere al tuo dispositivo audio o alla traccia desiderata, questa traccia verrà saltata. Assicurati di avere le giuste librerie Phonon e i plugin necessari installati. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Spiacente, c'è un problema nell'accedere al tuo dispositivo audio o alla traccia desiderata, questa traccia verrà saltata. - + Station Stazione - + Create New Station Crea una nuova stazione - + Name: Nome: - + Playlist Playlist - + Automatic Playlist Playlist automatica - + Pause Pausa - + &Play - + Authentication Error Errore nell'autenticazione - + Error connecting to SIP: Authentication failed! Errore di connessione al SIP: autenticazione fallita! - + %1 by %2 track, artist name %1 di %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Grazie a: - + About Tomahawk Info su Tomahawk @@ -3669,62 +3659,47 @@ enter the displayed PIN number here: Scheda - + Cover Copertina - - Track - Traccia - - - - Artist - Artista - - - - Album - Album - - - + Statistics Statistiche - + Similar Tracks Tracce simili - + Sorry, but we could not find similar tracks for this song! Ci dispiace, ma non abbiamo trovato tracce simili per questa canzone! - + You've listened to this track %n time(s). Hai ascoltato questa traccia una volta.Hai ascoltato questa traccia %n volte. - + You've never listened to this track before. Non hai mai ascoltato questa traccia. - + You first listened to it on %1. L'hai ascoltata la prima volta su %1. - + You've listened to %1 %n time(s). Hai ascoltato %1 una volta.Hai ascoltato %1 %n volte. - + You've never listened to %1 before. Non hai mai ascoltato %1. @@ -3732,7 +3707,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. Spiacente, il tuo filtro %1 non ha trovato nessun risultato. diff --git a/lang/tomahawk_ja.ts b/lang/tomahawk_ja.ts index bd53daa2e..fb2c6959d 100644 --- a/lang/tomahawk_ja.ts +++ b/lang/tomahawk_ja.ts @@ -260,32 +260,22 @@ connect and stream from you? フォーム - + Tracklist - + Other Albums - + Cover - - Album - - - - - Artist - - - - + Sorry, we could not find any other albums for this artist! このアーティストのアルバムは他に見つかりませんでした。 @@ -295,7 +285,7 @@ connect and stream from you? このアルバムの曲は見つかりませんでした。 - + Other Albums by %1 %1の他のアルバム @@ -322,22 +312,22 @@ connect and stream from you? フォーム - + Top Hits 大ヒット曲 - + Related Artists 似たアーティスト - + Albums アルバム - + Cover カバー @@ -465,17 +455,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 Tomahawkは%2の%1を見つかりませんでした。 - + Sorry, Tomahawk couldn't find the artist '%1' Tomahawkは'%1'と言うアーティストを見つかりませんでした。 - + Sorry, Tomahawk couldn't find the album '%1' by %2 Tomahawkは%2の%1を見つかりませんでした。 @@ -1167,27 +1157,27 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you %1を再生しました。 - + played %1 by %2 %2が%1を再生しました。 - + added %1 %1を追加しました。 - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3512,13 +3502,13 @@ Meta+Ctrl+Z - + Hide Menu Bar メニューバーを隠す - + Show Menu Bar メニューバーを表示 @@ -3533,136 +3523,136 @@ Meta+Ctrl+Z メインメニュー - - - + + + Connect To Peer ピアに接続する - + Enter peer address: ピアのアドレスを入力: - + Enter peer port: ピアのポートを入力: - + Enter peer key: ピアのキーを入力: - + XSPF Error XSPFエラー - + This is not a valid XSPF playlist. このプレイリストは有利なXSPFプレイリストではありません。 - + Failed to save tracks トラックの保存に失敗しました。 - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. プレイリストにアーティストもタイトルの無いトラックが見つかりました。この項目は無視されます。 - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. オーディオデバイス、又は要求トラックをアクセスすることができませんでしたので、このトラックは無視されます。適しているPhononのバックエンドを確認の上、必須プラグインのインストールを確認して下さい。 - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. オーディオデバイス、又は要求トラックをアクセスすることができませんでしたので、このトラックは無視されます。 - + Station ステーション - + Create New Station 新規ステーションを作成 - + Name: 名前: - + Playlist プレイリスト - + Automatic Playlist 自動プレイリスト - + Pause 一時停止 - + &Play 再生 - + Authentication Error 認証エラー - + Error connecting to SIP: Authentication failed! SIPへの接続エラー: 認証が失敗しました! - + %1 by %2 track, artist name %1 by %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Thanks to: - + About Tomahawk Tomahawkについて @@ -3683,62 +3673,47 @@ Meta+Ctrl+Z フォーム - + Cover カバー - - Track - トラック - - - - Artist - アーティスト - - - - Album - アルバム - - - + Statistics 統計 - + Similar Tracks 似ているトラック - + Sorry, but we could not find similar tracks for this song! この曲に似ているトラックが見つかりませんでした。 - + You've listened to this track %n time(s). このトラックは%n回聴いています。 - + You've never listened to this track before. このトラックを一度も聴いていません。 - + You first listened to it on %1. 初めてこの曲を聴いたのは、%1です。 - + You've listened to %1 %n time(s). %1を%n回聴いています。 - + You've never listened to %1 before. %1を一度も聴いていません。 @@ -3746,7 +3721,7 @@ Meta+Ctrl+Z TrackView - + Sorry, your filter '%1' did not match any results. %1に一致する結果は見つかりませんでした。 diff --git a/lang/tomahawk_lt.ts b/lang/tomahawk_lt.ts index 3a390e47d..03a09a947 100644 --- a/lang/tomahawk_lt.ts +++ b/lang/tomahawk_lt.ts @@ -260,32 +260,22 @@ connect and stream from you? Forma - + Tracklist - + Other Albums - + Cover - - Album - - - - - Artist - - - - + Sorry, we could not find any other albums for this artist! Atsiprašome, neradome jokių kitų šio atlikėjo albumų! @@ -295,7 +285,7 @@ connect and stream from you? Atsiprašome, neradome jokių takelių iš šio albumo! - + Other Albums by %1 Kiti %1 albumai @@ -322,22 +312,22 @@ connect and stream from you? Forma - + Top Hits - + Related Artists Susiję atlikėjai - + Albums Albumai - + Cover Viršelis @@ -465,17 +455,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 Atsiprašome, Tomahawk nepavyko rasti takelio '%1', atliekamo %2 - + Sorry, Tomahawk couldn't find the artist '%1' Atsiprašome, Tomahawk nepavyko rasti atlikėjo '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 Atsiprašome, Tomahawk nepavyko rasti %2 atliekamo albumo '%1' @@ -1166,27 +1156,27 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you - + played %1 by %2 - + added %1 - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3498,13 +3488,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3519,136 +3509,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error XSPF klaida - + This is not a valid XSPF playlist. - + Failed to save tracks Nepavyko išsaugoti takelių - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station Stotis - + Create New Station Sukurti naują stotį - + Name: Pavadinimas: - + Playlist Grojaraštis - + Automatic Playlist Automatinis grojaraštis - + Pause Pristabdyti - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Autorinės teisės 2010 - 2012 - + Thanks to: Dėkojame: - + About Tomahawk Apie Tomahawk @@ -3669,62 +3659,47 @@ enter the displayed PIN number here: Forma - + Cover Viršelis - - Track - Takelis - - - - Artist - Atlikėjas - - - - Album - Albumas - - - + Statistics Statistika - + Similar Tracks Panašūs takeliai - + Sorry, but we could not find similar tracks for this song! Atsiprašome, neradome jokių į šią dainą panašių takelių! - + You've listened to this track %n time(s). Jūs klausėtės šio takelio %n kartą.Jūs klausėtės šio takelio %n kartus.Jūs klausėtės šio takelio %n kartų. - + You've never listened to this track before. Jūs niekad anksčiau nesiklausėte šio takelio. - + You first listened to it on %1. Pirmąkart klausėtės jo %1. - + You've listened to %1 %n time(s). Jūs klausėtės %1 %n kartą.Jūs klausėtės %1 %n kartus.Jūs klausėtės %1 %n kartų. - + You've never listened to %1 before. Jūs niekada anksčiau nesiklausėte %1. @@ -3732,7 +3707,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. diff --git a/lang/tomahawk_pl.ts b/lang/tomahawk_pl.ts index 28236fa10..30ee537db 100644 --- a/lang/tomahawk_pl.ts +++ b/lang/tomahawk_pl.ts @@ -261,32 +261,22 @@ połączyć się i strumieniować od ciebie? Formularz - + Tracklist - + Other Albums - + Cover - - Album - - - - - Artist - - - - + Sorry, we could not find any other albums for this artist! @@ -296,7 +286,7 @@ połączyć się i strumieniować od ciebie? - + Other Albums by %1 Inne albumy %1 @@ -323,22 +313,22 @@ połączyć się i strumieniować od ciebie? Formularz - + Top Hits Hity na Topie - + Related Artists Powiązani artyści - + Albums Albumy - + Cover Okładka @@ -466,17 +456,17 @@ połączyć się i strumieniować od ciebie? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 Przepraszamy, Tomahawk nie mógł znaleźć utworu '%1' wykonawcy %2 - + Sorry, Tomahawk couldn't find the artist '%1' Przepraszamy, Tomahawk nie mógł znaleźć wykonawcy '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 Przepraszamy, Tomahawk nie mógł znaleźć albumu '%1' wykonawcy %2 @@ -1167,27 +1157,27 @@ połączyć się i strumieniować od ciebie? PlaylistLargeItemDelegate - + played %1 by you odtworzone %1 przez ciebie - + played %1 by %2 odtworzone %1 przez %2 - + added %1 dodano %1 - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3508,13 +3498,13 @@ wprowadź pokazany numer PIN tutaj: - + Hide Menu Bar - + Show Menu Bar @@ -3529,136 +3519,136 @@ wprowadź pokazany numer PIN tutaj: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error Błąd XSPF - + This is not a valid XSPF playlist. To nie jest poprawna lista XSPF. - + Failed to save tracks Nie udało się zapisać utworów - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Niektóre utwory na liście nie zawierają artysty i tytułu. Zostaną one zignorowane. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Przepraszamy, wystąpił problem z połączeniem z twoim urządzeniem audio lub z żądanym utworem, zostanie on pominięty. - + Station - + Create New Station Utwórz Nową Stację - + Name: Nazwa: - + Playlist - + Automatic Playlist - + Pause Pauza - + &Play - + Authentication Error Błąd uwierzytelniania - + Error connecting to SIP: Authentication failed! Błąd łączenia z SIP: Uwierzytelnienie nieudane! - + %1 by %2 track, artist name %1 wykonawcy %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk O Tomahawku @@ -3679,62 +3669,47 @@ wprowadź pokazany numer PIN tutaj: - + Cover Okładka - - Track - Utwór - - - - Artist - Wykonawca - - - - Album - Album - - - + Statistics Statystyki - + Similar Tracks Podobne utwory - + Sorry, but we could not find similar tracks for this song! - + You've listened to this track %n time(s). Słuchałeś tego utworu %n raz.Słuchałeś tego utworu %n razy.Słuchałeś tego utworu %n razy. - + You've never listened to this track before. Nie słuchałeś wcześniej tego utworu. - + You first listened to it on %1. Pierwszy raz słuchałeś tego utworu %1. - + You've listened to %1 %n time(s). Słuchałeś %1 %n raz.Słuchałeś %1 %n razy.Słuchałeś %1 %n razy. - + You've never listened to %1 before. Nie słuchałeś wcześniej %1. @@ -3742,7 +3717,7 @@ wprowadź pokazany numer PIN tutaj: TrackView - + Sorry, your filter '%1' did not match any results. Przepraszamy, twój filtr '%1' nie dopasował żadnych wyników. diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts index 964ceeb41..69d05808f 100644 --- a/lang/tomahawk_pt_BR.ts +++ b/lang/tomahawk_pt_BR.ts @@ -261,32 +261,22 @@ se conecte e faça o stream de você? Formulário - + Tracklist Lista de faixas - + Other Albums Outros álbuns - + Cover Capa - - Album - Álbum - - - - Artist - Artista - - - + Sorry, we could not find any other albums for this artist! Desculpe, mas não conseguimos encontrar outro álbum para este artista! @@ -296,7 +286,7 @@ se conecte e faça o stream de você? Desculpe, mas não conseguimos encontrar outras faixas para este álbum! - + Other Albums by %1 Outros álbuns de %1 @@ -323,22 +313,22 @@ se conecte e faça o stream de você? Formulário - + Top Hits Mais Tocadas - + Related Artists Artistas Relacionados - + Albums Álbuns - + Cover Capa @@ -466,17 +456,17 @@ se conecte e faça o stream de você? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 Desculpe, o Tomahawk não encontrou a faixa '%1' de %2 - + Sorry, Tomahawk couldn't find the artist '%1' Desculpe, o Tomahawk não encontrou o artista '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 Desculpe, o Tomahawk não encontrou o álbum '%1' de %2 @@ -1167,27 +1157,27 @@ se conecte e faça o stream de você? PlaylistLargeItemDelegate - + played %1 by you tocou %1 por você - + played %1 by %2 tocou %1 por %2 - + added %1 adicionou %1 - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3508,13 +3498,13 @@ colocar o número PIN mostrado aqui: - + Hide Menu Bar Esconder barra de menu - + Show Menu Bar Mostrar barra de menu @@ -3529,136 +3519,136 @@ colocar o número PIN mostrado aqui: &Menu principal - - - + + + Connect To Peer Conectar-se ao par - + Enter peer address: Coloque o endereço do par: - + Enter peer port: Coloque a porta do par: - + Enter peer key: Coloque a chave do par: - + XSPF Error Erro de XSPF - + This is not a valid XSPF playlist. Esta não é uma lista de reprodução XSPF válida. - + Failed to save tracks Falha ao salvar faixas - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Algumas faixas da lista de reprodução não contem artista e título. Estas serão ignoradas. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Desculpe, há um problema ao acessar sua placa de áudio ou a faixa desejada, a faixa atual será ignorada. Certifique-se de ter um backend do Phonon adequado e os plugins necessários instalados. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Desculpe, há um problema ao acessar sua placa de áudio ou a faixa desejada, a faixa atual será ignorada. - + Station Estação - + Create New Station Criar uma nova estação - + Name: Nome: - + Playlist Playlist - + Automatic Playlist Playlist Automática - + Pause PIN do Twitter - + &Play Re&produzir - + Authentication Error Erro de autenticação - + Error connecting to SIP: Authentication failed! Erro ao conectar ao SIP: Falha de autenticação! - + %1 by %2 track, artist name %1 de %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Agradecimentos: - + About Tomahawk Sobre o Tomahawk @@ -3679,62 +3669,47 @@ colocar o número PIN mostrado aqui: Formulário - + Cover Capa - - Track - Faixa - - - - Artist - Artista - - - - Album - Álbum - - - + Statistics Estatísticas - + Similar Tracks Faixas Similares - + Sorry, but we could not find similar tracks for this song! Desculpe, mas não conseguimos encontrar faixas similares para esta música! - + You've listened to this track %n time(s). Você ouviu esta faixa %n vez.Você ouviu esta faixa %n vezes. - + You've never listened to this track before. Você nunca ouviu esta faixa antes. - + You first listened to it on %1. Você ouviu pela primeira vez em %1. - + You've listened to %1 %n time(s). Você ouviu %1 %n vez.Você ouviu %1 %n vezes. - + You've never listened to %1 before. Você nunca ouviu %1 antes. @@ -3742,7 +3717,7 @@ colocar o número PIN mostrado aqui: TrackView - + Sorry, your filter '%1' did not match any results. Desculpe, o seu filtro '%1' não encontreou nenhum resultado. diff --git a/lang/tomahawk_ru.ts b/lang/tomahawk_ru.ts index e4e3a3fff..c52e97872 100644 --- a/lang/tomahawk_ru.ts +++ b/lang/tomahawk_ru.ts @@ -261,32 +261,22 @@ connect and stream from you? Форма - + Tracklist - + Other Albums - + Cover - - Album - - - - - Artist - - - - + Sorry, we could not find any other albums for this artist! К сожалению, мы не смогли найти другие альбомы этого исполнителя! @@ -296,7 +286,7 @@ connect and stream from you? К сожалению, мы не смогли найти никаких треков для этого альбома! - + Other Albums by %1 Другие альбомы %1 @@ -323,22 +313,22 @@ connect and stream from you? Форма - + Top Hits Хиты - + Related Artists Похожие исполнители - + Albums Альбомы - + Cover Обложка @@ -466,17 +456,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 К сожалению, Tomahawk не мог найти песню '%1' %2 - + Sorry, Tomahawk couldn't find the artist '%1' К сожалению, Tomahawk не мог найти исполнителя '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 К сожалению, Tomahawk не мог найти альбом '%1' %2 @@ -1167,27 +1157,27 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you Воспроизводилось %1 вами - + played %1 by %2 Воспроизводилось %1 %2 - + added %1 Добавлено %1 - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3505,13 +3495,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3526,136 +3516,136 @@ enter the displayed PIN number here: &Главное меню - - - + + + Connect To Peer Связаться с Peer - + Enter peer address: Введите адрес узла: - + Enter peer port: Введите адрес порта: - + Enter peer key: Введите адрес ключа: - + XSPF Error Ошибка XSPF - + This is not a valid XSPF playlist. Это не является допустимым XSPF плейлистом. - + Failed to save tracks Не удалось сохранить песни - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Некоторые треки в плейлисте не содержат исполнителя и название. Они будут проигнорированы. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station Станция - + Create New Station Создать новую станцию - + Name: Имя: - + Playlist Плейлист - + Automatic Playlist Автоматический Плейлист - + Pause Пауза - + &Play &Играть - + Authentication Error Ошибка авторизации - + Error connecting to SIP: Authentication failed! Ошибка соединения с SIP: Ошибка авторизации! - + %1 by %2 track, artist name %1 %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Авторское право 2010 - 2012 - + Thanks to: Благодарность - + About Tomahawk О Tomahawk @@ -3676,62 +3666,47 @@ enter the displayed PIN number here: Форма - + Cover Обложка - - Track - Песня - - - - Artist - Исполнитель - - - - Album - Альбом - - - + Statistics Статистика - + Similar Tracks Похожие Песни - + Sorry, but we could not find similar tracks for this song! Извините, но мы не смогли найти похожие треки на эту песню! - + You've listened to this track %n time(s). - + You've never listened to this track before. Вы никогда не слушали этот трек раньше. - + You first listened to it on %1. Первое прослушивание этой песни %1. - + You've listened to %1 %n time(s). - + You've never listened to %1 before. Вы никогда не слушали %1 до этого. @@ -3739,7 +3714,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. Ваш поиск '%1' недал результатов. diff --git a/lang/tomahawk_sv.ts b/lang/tomahawk_sv.ts index 24ba5af14..842fa3097 100644 --- a/lang/tomahawk_sv.ts +++ b/lang/tomahawk_sv.ts @@ -260,32 +260,22 @@ connect and stream from you? Formulär - + Tracklist - + Other Albums - + Cover - - Album - - - - - Artist - - - - + Sorry, we could not find any other albums for this artist! @@ -295,7 +285,7 @@ connect and stream from you? - + Other Albums by %1 Andra album av %1 @@ -322,22 +312,22 @@ connect and stream from you? Formulär - + Top Hits Största hits - + Related Artists Relaterade artister - + Albums Album - + Cover @@ -465,17 +455,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 - + Sorry, Tomahawk couldn't find the artist '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 @@ -1166,27 +1156,27 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you %1 spelades av dig - + played %1 by %2 %1 spelades av %2 - + added %1 %1 tillagd - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3499,13 +3489,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3520,136 +3510,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer Anslut till klient - + Enter peer address: Ange klientadress: - + Enter peer port: Ange klientport: - + Enter peer key: Ange klientnyckel: - + XSPF Error XSPF-fel - + This is not a valid XSPF playlist. Detta är inte en giltig XSPF-spellista. - + Failed to save tracks Misslyckades med att spara spår - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Några spår i spellistan innehåller inte någon artist och titel. De kommer att ignoreras. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station Skapa ny station - + Name: Namn: - + Playlist - + Automatic Playlist - + Pause Paus - + &Play - + Authentication Error Autentiseringsfel - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name %1 av %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk @@ -3670,62 +3660,47 @@ enter the displayed PIN number here: - + Cover - - Track - - - - - Artist - - - - - Album - - - - + Statistics - + Similar Tracks - + Sorry, but we could not find similar tracks for this song! - + You've listened to this track %n time(s). - + You've never listened to this track before. - + You first listened to it on %1. - + You've listened to %1 %n time(s). - + You've never listened to %1 before. @@ -3733,7 +3708,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. Entschuldige, dein Filter '%1' erzeugte keine Ergebnisse. diff --git a/lang/tomahawk_tr.ts b/lang/tomahawk_tr.ts index 099796b40..5e162423f 100644 --- a/lang/tomahawk_tr.ts +++ b/lang/tomahawk_tr.ts @@ -260,32 +260,22 @@ connect and stream from you? Form - + Tracklist - + Other Albums - + Cover - - Album - - - - - Artist - - - - + Sorry, we could not find any other albums for this artist! @@ -295,7 +285,7 @@ connect and stream from you? - + Other Albums by %1 Diğer %1 Albümleri @@ -322,22 +312,22 @@ connect and stream from you? Form - + Top Hits En Çok Dinlenenler - + Related Artists Benzer Sanatçılar - + Albums Albümler - + Cover @@ -465,17 +455,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 - + Sorry, Tomahawk couldn't find the artist '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 @@ -1166,27 +1156,27 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you - + played %1 by %2 - + added %1 - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3498,13 +3488,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3519,136 +3509,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error - + This is not a valid XSPF playlist. - + Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: - + Playlist - + Automatic Playlist - + Pause - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk @@ -3669,62 +3659,47 @@ enter the displayed PIN number here: - + Cover - - Track - - - - - Artist - - - - - Album - - - - + Statistics - + Similar Tracks - + Sorry, but we could not find similar tracks for this song! - + You've listened to this track %n time(s). - + You've never listened to this track before. - + You first listened to it on %1. - + You've listened to %1 %n time(s). - + You've never listened to %1 before. @@ -3732,7 +3707,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. diff --git a/lang/tomahawk_zh_CN.ts b/lang/tomahawk_zh_CN.ts index 20a54a0e3..481522d46 100644 --- a/lang/tomahawk_zh_CN.ts +++ b/lang/tomahawk_zh_CN.ts @@ -260,32 +260,22 @@ connect and stream from you? 来自 - + Tracklist - + Other Albums - + Cover - - Album - - - - - Artist - - - - + Sorry, we could not find any other albums for this artist! 抱歉,找到此艺术家的其他专辑! @@ -295,7 +285,7 @@ connect and stream from you? 抱歉,没有找到这张专辑的其他歌曲! - + Other Albums by %1 %1 的其他专辑 @@ -322,22 +312,22 @@ connect and stream from you? 来自 - + Top Hits 最热歌曲 - + Related Artists 相关艺人 - + Albums 专辑 - + Cover 封面 @@ -465,17 +455,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 抱歉,Tomahawk 未找到 %2 的歌曲 '%1' - + Sorry, Tomahawk couldn't find the artist '%1' 抱歉,Tomahawk 无法找到艺术家 '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 抱歉,Tomahawk 无法找到 %2 的专辑 '%1' @@ -1166,27 +1156,27 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you %1 - + played %1 by %2 已播放 %2 的 %1 - + added %1 已添加 %1 - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3509,13 +3499,13 @@ enter the displayed PIN number here: - + Hide Menu Bar 隐藏菜单栏 - + Show Menu Bar 显示菜单栏 @@ -3530,136 +3520,136 @@ enter the displayed PIN number here: 主菜单 - - - + + + Connect To Peer 连接到客户端 - + Enter peer address: 输入客户端地址: - + Enter peer port: 输入客户端端口: - + Enter peer key: 输入客户端密钥: - + XSPF Error XSPF 错误 - + This is not a valid XSPF playlist. 这不是一个合法的 XSPF 播放列表。 - + Failed to save tracks 保存歌曲失败。 - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. 播放列表中的一些歌曲缺失艺术家和标题,它们将被忽略。 - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. 抱歉,访问音频设备或者指定的歌曲时出错。当前歌曲将被跳过。请确认你正在使用合适的 Phonon 后端并安装了必要的插件。 - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. 抱歉,在访问音频设备或者指定的歌曲时出错。当前歌曲将被跳过。 - + Station 电台 - + Create New Station 创建新电台 - + Name: 名字: - + Playlist 播放列表 - + Automatic Playlist 自动播放列表 - + Pause 暂停 - + &Play 播放 - + Authentication Error 认证错误 - + Error connecting to SIP: Authentication failed! 连接到SIP 时错误:认证失败! - + %1 by %2 track, artist name %2 的 %1 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 版权所有 2010 - 2012 - + Thanks to: 感谢: - + About Tomahawk 关于 Tomahawk @@ -3680,62 +3670,47 @@ enter the displayed PIN number here: 表单 - + Cover 封面 - - Track - 歌曲 - - - - Artist - 艺术家 - - - - Album - 专辑: - - - + Statistics 统计信息 - + Similar Tracks 相似歌曲 - + Sorry, but we could not find similar tracks for this song! 抱歉,无法找到与这首歌类似的歌曲! - + You've listened to this track %n time(s). 你已经收听过此歌曲 %n 遍。 - + You've never listened to this track before. 你之前从未听过此歌曲。 - + You first listened to it on %1. 你第一次听的是 %1. - + You've listened to %1 %n time(s). 你已经听过 %1 有 %n 遍了。 - + You've never listened to %1 before. 你之前从未听过 %1。 @@ -3743,7 +3718,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. 抱歉,未找到任何匹配 '%1' 的结果。 diff --git a/lang/tomahawk_zh_TW.ts b/lang/tomahawk_zh_TW.ts index 9cad7f3e1..ccb41bef3 100644 --- a/lang/tomahawk_zh_TW.ts +++ b/lang/tomahawk_zh_TW.ts @@ -260,32 +260,22 @@ connect and stream from you? 形式 - + Tracklist - + Other Albums - + Cover - - Album - - - - - Artist - - - - + Sorry, we could not find any other albums for this artist! @@ -295,7 +285,7 @@ connect and stream from you? - + Other Albums by %1 列出所有其他專輯,依 %1 @@ -322,22 +312,22 @@ connect and stream from you? 形式 - + Top Hits 流行精選 - + Related Artists 相關演出者 - + Albums 專輯 - + Cover @@ -465,17 +455,17 @@ connect and stream from you? AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 - + Sorry, Tomahawk couldn't find the artist '%1' - + Sorry, Tomahawk couldn't find the album '%1' by %2 @@ -1166,27 +1156,27 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you - + played %1 by %2 - + added %1 - + by <b>%1</b> - + by <b>%1</b> on <b>%2</b> @@ -3498,13 +3488,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3519,136 +3509,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer 連接點對點 - + Enter peer address: 輸入對等地址: - + Enter peer port: 輸入對等連接埠: - + Enter peer key: 輸入對等密鑰: - + XSPF Error XSPF 錯誤 - + This is not a valid XSPF playlist. - + Failed to save tracks 無法儲存曲目 - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: 名稱: - + Playlist - + Automatic Playlist - + Pause 暫停 - + &Play - + Authentication Error 驗證錯誤 - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk @@ -3669,62 +3659,47 @@ enter the displayed PIN number here: - + Cover - - Track - - - - - Artist - - - - - Album - - - - + Statistics - + Similar Tracks - + Sorry, but we could not find similar tracks for this song! - + You've listened to this track %n time(s). - + You've never listened to this track before. - + You first listened to it on %1. - + You've listened to %1 %n time(s). - + You've never listened to %1 before. @@ -3732,7 +3707,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. From 491a006e3fa5dc67ad6e6964f656fac5ff727cf7 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 13:04:50 +0100 Subject: [PATCH 217/332] * Updated finnish translation. --- lang/tomahawk_fi.ts | 2277 +++++++++++++++++++++++-------------------- 1 file changed, 1199 insertions(+), 1078 deletions(-) diff --git a/lang/tomahawk_fi.ts b/lang/tomahawk_fi.ts index ff47ccdc1..20296f789 100644 --- a/lang/tomahawk_fi.ts +++ b/lang/tomahawk_fi.ts @@ -1,21 +1,24 @@ - + + + ACLJobDelegate Allow %1 to connect and stream from you? - + Sallitaanko käyttäjän %1 +yhdistää ja toistaa sinulta virtaa? Allow Streaming - + Salli virran toisto Deny Access - + Kiellä pääsy @@ -23,7 +26,7 @@ connect and stream from you? Tomahawk needs you to decide whether %1 is allowed to connect. - + Tomahawk tarvitsee sinua päättämään, sallitaanko käyttäjän %1 yhdistää. @@ -31,17 +34,17 @@ connect and stream from you? Dialog - + Ikkuna Description goes here - + Kuvaus tulee tähän Add Account - + Lisää tili @@ -49,17 +52,17 @@ connect and stream from you? Online - + Verkossa Connecting... - + Yhdistetään... Offline - + Ei verkossa @@ -67,18 +70,18 @@ connect and stream from you? Connections - + Yhteydet Connect &All - + Yhdistä &kaikki Disconnect &All - + Katkaise &kaikki @@ -86,7 +89,7 @@ connect and stream from you? Invite - + Kutsu @@ -94,7 +97,7 @@ connect and stream from you? Configure Accounts - + Tilien asetukset @@ -102,154 +105,154 @@ connect and stream from you? &Listen Along - + Kuuntele &mukana Stop &Listening Along - + Lopeta &mukana kuunteleminen &Follow in real-time - + &Seuraa reaaliajassa &Listen Privately - + &Kuuntele yksityisesti &Listen Publicly - + &Kuuntele julkisesti &Load Playlist - + &Lataa soittolista &Rename Playlist - + &Muuta soittolistan nimeä &Copy Playlist Link - + &Kopioi soittolistan linkki &Play - + &Soita &Stop - + &Pysäytä &Previous Track - + &Edellinen kappale &Next Track - + S&euraava kappale &Quit - + &Lopeta Load &XSPF... - + Lataa &XSPF... U&pdate Collection - + &Päivitä kokoelma Fully &Rescan Collection - + &Muodosta kokoelma alusta alkaen Show Offline Sources - + Näytä verkottomat lähteet &Configure Tomahawk... - + Tomahawkin &asetukset... Minimize - + Pienennä Zoom - + Zoomaa Hide Menu Bar - + Piilota valikkorivi Diagnostics... - + Diagnostiikka... About &Tomahawk... - + Tietoa &Tomahawkista... &Legal Information... - + Lakitiet&oa... Check For Updates... - + Tarkista päivitykset... &Controls - + &Ohjaus &Settings - + &Asetukset &Help - + O&hje &Window - + &Ikkuna Main Menu - + Päävalikko @@ -257,37 +260,47 @@ connect and stream from you? Form - + Lomake - + Tracklist - + Kappalelista - + Other Albums - + Muita albumeita - + Cover - + Kansikuva - + + Album + Albumi + + + + Artist + Artisti + + + Sorry, we could not find any other albums for this artist! - + Valitettavasti emme löytänet mitään muita albumeita tältä artistilta! Sorry, we could not find any tracks for this album! - + Valitettavasti emme löytäneet mitään tämän albumin kappaleita! - + Other Albums by %1 - + Muita artistin %1 levyjä @@ -296,12 +309,12 @@ connect and stream from you? All albums from %1 - + Kaikki artistin %1 albumit All albums - + Kaikki albumit @@ -309,165 +322,172 @@ connect and stream from you? Form - + Lomake - - Top Hits - + + + Artist + Artisti - - Related Artists - - - - - Albums - - - - + + Cover - + Kansikuva - + + Top Hits + Parhaat hitit + + + + Albums + Albumit + + + + Related Artists + Samankaltaisia artisteja + + + Sorry, we could not find any albums for this artist! - + Valitettavasti emme löytänet yhtään tämän artistin albumia! - + Sorry, we could not find any related artists! - + Valitettavasti emme löytäneet yhtään samankaltaista artistia! - + Sorry, we could not find any top hits for this artist! - + Valitettavasti emme löytäneet yhtään tämän artistin parhaista hiteistä! AudioControls - + Prev - + Edellinen - + Play - + Soita - + Pause - + Tauko - + Next - + Seuraava - + Artist - + Artisti - + Album - + Albumi - + social - + sosiaalisuus - + love - + tykkää - + resolver - + selvitin - + Time - + Aika - + Time Left - + Aikaa jäljellä - + Shuffle - + Sekoita - + Repeat - + Toista - + Low - + Pieni - + High - + Suuri Time Elapsed - + Kulunut aika Time Remaining - - - - - Playing from %1 - + Jäljellä oleva aika Share - + Jaa Love - + Tykkää + + + + Playing from %1 + Soitetaan lähteestä %1 AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 - + Valitettavasti Tomahawk ei löytänyt artistin %2 kappaletta ”%1” - + Sorry, Tomahawk couldn't find the artist '%1' - + Valitettavasti Tomahawk ei löytänyt artistia ”%1” - + Sorry, Tomahawk couldn't find the album '%1' by %2 - + Valitettavasti Tomahawk ei löytänyt artistin %2 albumia ”%1” @@ -475,24 +495,24 @@ connect and stream from you? Create new Playlist - + Luo uusi soittolista Create new Station - + Luo uusi asema New Station - + Uusi asema %1 Station - + %1 – asema @@ -500,12 +520,12 @@ connect and stream from you? Playlists - + Soittolistat Stations - + Asemat @@ -513,7 +533,7 @@ connect and stream from you? Clear - + Tyhjennä @@ -521,18 +541,18 @@ connect and stream from you? InfoBar - + Tietopalkki Show Footnotes - + Näytä alaviitteet Hide Footnotes - + Piilota alaviitteet @@ -540,53 +560,53 @@ connect and stream from you? Tomahawk Crash Reporter - + Tomahawkin kaatumisen ilmoitus <html><head/><body><p><span style=" font-weight:600;">Sorry!</span> Tomahawk crashed. Please tell us about it! Tomahawk has created an error report for you that can help improve the stability in the future. You can now send this report directly to the Tomahawk developers.</p></body></html> - + <html><head/><body><p><span style=" font-weight:600;">Pahoittelut!</span> Tomahawk kaatui. Kerro siitä meille! Tomahawk on luonut puolestasi virheilmoituksen, joka auttaa vakauden parantamisessa jatkossa. Voit nyt lähettää tämän ilmoituksen suoraan Tomahawkin kehittäjille.</p></body></html> Send this report - + Lähetä tämä ilmoitus Don't send - + Älä lähetä Abort - + Keskeytä You can disable sending crash reports in the configuration dialog. - + Voit poistaa kaatumisilmoitusten lähettämisen käytöstä asetusikkunasta. Uploaded %L1 of %L2 KB. - + Lähetetty %L1/%L2 kB. Close - + Sulje Sent! <b>Many thanks</b>. - + Lähetetty! <b>Paljon kiitoksia</b>. Failed to send crash info. - + Kaatumistietojen lähettäminen epäonnistui. @@ -594,7 +614,7 @@ connect and stream from you? Unknown - + Tuntematon @@ -602,17 +622,17 @@ connect and stream from you? About - + Tietoa Delete Account - + Poista tili About this Account - + Tietoa tästä tilistä @@ -620,17 +640,17 @@ connect and stream from you? Tomahawk Diagnostics - + Tomahawk-diagnostiikka &Copy to Clipboard - + &Kopioi leikepöydälle Open &Log-file - + &Avaa lokitiedosto @@ -638,97 +658,97 @@ connect and stream from you? Steer this station: - + Ohjaa tätä asemaa: Much less - + Paljon vähemmän Less - + Vähemän A bit less - + Hieman vähemmän Keep at current - + Pidä nykyisellä A bit more - + Hieman enemmän More - + Enemmän Much more - + Paljon enemmän Tempo - + Tempo Loudness - + Äänekkyys Danceability - + Tanssittavuus Energy - + Energia Song Hotttnesss - + Kappaleen suosittuus Artist Hotttnesss - + Artistin suosittuus Artist Familiarity - + Artistin tuttuus By Description - + Kuvauksen perusteella Enter a description - + Anna kuvaus Apply steering command - + Käytä ohjauskomentoa Reset all steering commands - + Nollaa kaikki ohjauskomennot @@ -736,7 +756,7 @@ connect and stream from you? Filter... - + Suodata... @@ -744,12 +764,12 @@ connect and stream from you? This playlist is currently empty. - + Tämä soittolista on parhaillaan tyhjä. This playlist is currently empty. Add some tracks to it and enjoy the music! - + Tämä soittolista on parhaillaan tyhjä. Lisää kappaleita ja nauti musiikista! @@ -757,7 +777,7 @@ connect and stream from you? Form - + Lomake @@ -765,7 +785,7 @@ connect and stream from you? Indexing database - + Indeksoidaan tietokantaa @@ -773,12 +793,12 @@ connect and stream from you? InfoBar - + Tietopalkki Filter... - + Suodata... @@ -786,37 +806,37 @@ connect and stream from you? Form - + Lomake Scrobble tracks to Last.fm - + Skrobblaa kappaleet Last.fm:ään Username: - + Käyttäjätunnus: Password: - + Salasana: Test Login - + Kokeile kirjautumista Import Playback History - + Tuo soittohistoria Synchronize Loved Tracks - + Synkronoi tykätyt kappaleet @@ -824,7 +844,7 @@ connect and stream from you? Last.fm - + Last.fm @@ -832,7 +852,7 @@ connect and stream from you? %1 is listening along with you! - + %1 kuuntelee kanssasi! @@ -840,27 +860,27 @@ connect and stream from you? Load XSPF - + Lataa XSPF Playlist URL - + Soittolistan osoite Enter URL... - + Anna osoite... ... - + ... Automatically update - + Päivitä automaattisesti @@ -868,12 +888,12 @@ connect and stream from you? Load XSPF File - + Lataa XSPF-tiedosto XSPF Files (*.xspf) - + XSPF-tiedostot (*.xspf) @@ -881,12 +901,12 @@ connect and stream from you? Bookmarks - + Kirjanmerkit Saved tracks - + Tallennetut kappaleet @@ -894,32 +914,32 @@ connect and stream from you? Top Loved Tracks - - - - - Sorry, we could not find any loved tracks! - - - - - The most loved tracks from all your friends - - - - - All of your loved tracks - - - - - All of %1's loved tracks - + Tykätyimmät kappaleet Loved Tracks - + Tykätyt kappaleet + + + + Sorry, we could not find any loved tracks! + Valitettavasti emme löytäneet yhtään tykättyä kappaletta! + + + + The most loved tracks from all your friends + Kaikkien kaveriesi tykätyimmät kappaleet + + + + All of your loved tracks + Kaikki tykkäämäsi kappaleet + + + + All of %1's loved tracks + Kaikki käyttäjän %1 tykkäämät kappaleet @@ -927,112 +947,112 @@ connect and stream from you? Form - + Lomake Tags - + Tagit Title: - + Nimi: Title... - + Nimi... Artist: - + Artisti: Artist... - + Artisti... Album: - + Albumi: Album... - + Albumi... Track Number: - + Kappaleen numero: Duration: - + Kesto: 00.00 - + 00,00 Year: - + Vuosi: Bitrate: - + Bittinopeus: File - + Tiedosto File Name: - + Tiedostonimi: File Name... - + Tiedostonimi... File Size... - + Tiedostokoko... File size... - + Tiedostokoko... File Size: - + Tiedostokoko: Back - + Edellinen Forward - + Seuraava Properties - + Ominaisuudet @@ -1040,27 +1060,27 @@ connect and stream from you? Enter a title for the new playlist: - + Anna uuden soittolistan nimi: Tomahawk offers a variety of ways to help you create playlists and find music you enjoy! - + Tomahawk tarjoaa monia apuja soittolistojen luontiin sekä pitämäsi musiikin etsimiseen! Just enter a genre or tag name and Tomahawk will suggest a few songs to get you started with your new playlist: - + Anna vain lajityypin tai tagin nimi, ja Tomahawk ehdottaa muutamia kappaleita, jotta pääset alkuun uuden soittolistasi parissa: &Create Playlist - + &Luo soittolista Create a new playlist - + Luo uusi soittolista @@ -1068,7 +1088,7 @@ connect and stream from you? New Releases - + Uudet julkaisut @@ -1076,68 +1096,68 @@ connect and stream from you? Artist - + Artisti Title - + Nimi Composer - + Säveltäjä Album - + Albumi Track - + Kappale Duration - + Kesto Bitrate - + Bittinopeus Age - + Ikä Year - + Vuosi Size - + Koko Origin - + Alkuperä Score - + Pisteet Name - + Nimi @@ -1145,40 +1165,40 @@ connect and stream from you? played %1 by you - + kuuntelit %1 played %1 by %2 - + %2 kuunteli %1 PlaylistLargeItemDelegate - + played %1 by you - + kuuntelit %1 - + played %1 by %2 - + %2 kuunteli %1 - + added %1 - + lisätty %1 - + by <b>%1</b> - + artistilta <b>%1</b> - + by <b>%1</b> on <b>%2</b> - + artistilta <b>%1</b> albumilla <b>%2</b> @@ -1186,23 +1206,23 @@ connect and stream from you? A playlist you created %1. - + Soittolista, jonka loit %1. A playlist by %1, created %2. - + Soittolista, jonka %1 loi %2. All tracks by %1 on album %2 - + Kaikki artistin %1 kappaleet albumilla %2 All tracks by %1 - + Kaikki artistin %1 kappaleet @@ -1210,37 +1230,37 @@ connect and stream from you? New Playlist - + Uusi soittolista Just a regular old playlist... Give it a name, drag in some tracks, and go! - + Ihan tavanomainen soittolista... Anna sille nimi, vedä siihen joitain kappaleita ja anna mennä! Don't know exactly what you want? Give Tomahawk a few pointers and let it build a playlist for you! - + Etkö oikein tiedä, mitä haluat? Anna Tomahawkille muutamia vihjeitä ja anna sen muodostaa soittolista puolestasi! Name: - + Nimi: New Playlist... - + Uusi soittolista... Create Manual Playlist - + Luo manuaalinen soittolista Create Automatic Playlist - + Luo automaattinen soittolista @@ -1248,12 +1268,12 @@ connect and stream from you? This playlist is currently empty. - + Tämä soittolista on parhaillaan tyhjä. This playlist is currently empty. Add some tracks to it and enjoy the music! - + Tämä soittolista on parhaillaan tyhjä. Lisää kappaleita ja nauti musiikista! @@ -1261,141 +1281,172 @@ connect and stream from you? Proxy Settings - + Välityspalvelinasetukset Hostname of proxy server - + Välityspalvelimen konenimi Host - + Kone Port - + Portti Proxy login - + Välityspalvelimen tunnus User - + Käyttäjä Password - + Salasana Proxy password - + Välityspalvelimen salasana No Proxy Hosts: (Overrides system proxy) - + Välityspalvelittomat osoitteet: +(ohittaa järjestelmän välityspalvelimen) localhost *.example.com (space separated) - + localhost *.esimerkki.fi (välilyönnein eroteltuna) Use proxy for DNS lookups? - + Käytetäänkö välityspalvelinta DNS-hauissa? QObject - - - %n year(s) ago - - - - - %n year(s) - - - - - %n month(s) ago - - - - - %n month(s) - - - - - %n week(s) ago - - - - - %n week(s) - - - - - %n day(s) ago - - - - - %n day(s) - - - - - %n hour(s) ago - - - - - %n hour(s) - - - - - %1 minutes ago - - - - - %1 minutes - - - - - just now - - Friend Finders - + Kaverietsimet Music Finders - + Musiikkietsimet Status Updaters - + Tilanpäivittimet + + + + %n year(s) ago + + %n vuosi sitten + %n vuotta sitten + + + + + %n year(s) + + %n vuosi + %n vuotta + + + + + %n month(s) ago + + %n kuukausi sitten + %n kuukautta sitten + + + + + %n month(s) + + %n kuukausi + %n kuukautta + + + + + %n week(s) ago + + %n viikko sitten + %n viikkoa sitten + + + + + %n week(s) + + %n viikko + %n viikkoa + + + + + %n day(s) ago + + %n päivä sitten + %n päivää sitten + + + + + %n day(s) + + %n päivä + %n päivää + + + + + %n hour(s) ago + + %n tunti sitten + %n tuntia sitten + + + + + %n hour(s) + + %n tunti + %n tuntia + + + + + %1 minutes ago + %1 minuuttia sitten + + + + %1 minutes + %1 minuuttia + + + + just now + juuri nyt @@ -1403,7 +1454,7 @@ connect and stream from you? ZIP/UNZIP API error %1 - + ZIP/UNZIP-rajapintavirhe %1 @@ -1411,23 +1462,26 @@ connect and stream from you? InfoBar - + Tietopalkki Open Queue - + Avaa jono Open Queue - %n item(s) - + + Avaa jono – %n kohde + Avaa jono – %n kohdetta + Close Queue - + Sulje jono @@ -1435,7 +1489,7 @@ connect and stream from you? Related Artists - + Samankaltaisia artisteja @@ -1443,12 +1497,12 @@ connect and stream from you? Not found: %1 - + Ei löydy: %1 Failed to load: %1 - + Lataaminen epäonnistui: %1 @@ -1456,7 +1510,7 @@ connect and stream from you? Search - + Hae @@ -1464,80 +1518,80 @@ connect and stream from you? Search: %1 - + Haku: %1 Results for '%1' - + Tulokset haulle ”%1” SettingsDialog - - Collection - - - - - Advanced - + + Install from file + Asenna tiedostosta All - - - - - Some changed settings will not take effect until Tomahawk is restarted - + Kaikki Services - - - - - Install from file - + Palvelut Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. - + Aseta tilit ja palvelut, joita Tomahawk käyttää musiikin etsimiseen ja noutamiseen, kaveriesi etsimiseen sekä tilasi päivittämiseen. + + + + Collection + Kokoelma Manage how Tomahawk finds music on your computer. - + Hallitse Tomahawkin tapaa etsiä musiikkia tietokoneeltasi. + + + + Advanced + Lisäasetukset Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. - - - - - Install resolver from file - - - - - Delete all Access Control entries? - - - - - Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. - + Aseta Tomahawkin lisäasetuksia, joihin kuuluu verkkoyhteysasetukset, selainyhteys ja muuta. Information - + Tiedoksi + + + + Some changed settings will not take effect until Tomahawk is restarted + Jotkin asetusmuutokset tulevat voimaan vasta, kun Tomahawk käynnistetään uudelleen. + + + + Install resolver from file + Asenna selvitin tiedostosta + + + + Delete all Access Control entries? + Poistetaanko kaikki pääsynvalvontatietueet? + + + + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. + Haluatko varmasti poistaa kaikki pääsynvalvontatietueet? Sinulta tullaan kysymään päätös uudelleen jokaisen sellaisen vertaisen kohdalla, johon yhdistät. @@ -1545,12 +1599,12 @@ connect and stream from you? Form - + Lomake Filter by capability: - + Suodata kyvyn perusteella: @@ -1558,82 +1612,82 @@ connect and stream from you? Form - + Lomake Remote Peer Connection Method - + Etävertaisten yhteystapa None (outgoing connections only) - + Ei yhteyttä (vain lähtevät yhteydet) Use UPnP to establish port forward (recommended) - + Käytä UPnP:tä porttien uudelleenohjaukseen (suositellaan) Use static external IP address/host name and port - + Käytä kiinteää julkista IP-osoitetta/konenimeä ja porttia Set this to your external IP address or host name. Make sure to forward the port to this host! - + Aseta julkinen IP-osoitteesi tai konenimesi tähän. Varmista, että ohjaat portin tähän koneeseen! Static Host Name: - + Kiinteä konenimi: Static Port: - + Kiinteä portti: SOCKS Proxy - + SOCKS-välityspalvelin Use SOCKS Proxy - + Käytä SOCKS-välityspalvelinta Proxy Settings... - + Välityspalvelinasetukset... Other Settings - + Muut asetukset Allow web browsers to interact with Tomahawk (recommended) - + Salli webselainten olla yhteydessä Tomahawkiin (suositellaan) Send reports after Tomahawk crashed - + Lähetä ilmoituksia Tomahawkin kaatumisen jälkeen Show notification when a new song starts to play - + Näytä ilmoitus, kun uusi kappale alkaa Clear All Access Control Entries - + Tyhjennä kaikki pääsynvalvontatietueet @@ -1641,12 +1695,12 @@ connect and stream from you? Form - + Lomake Path to scan for music files: - + Polku, josta musiikkitiedostoja etsitään: @@ -1654,22 +1708,27 @@ connect and stream from you? and using it to craft personalized radios. Enabling this option will allow you (and all your friends) to create automatic playlists and stations based on your personal taste profile. - + The Echo Nest voi pitää kirjaa metadatahakemistostasi ja +käyttää sitä personoitujen radioiden tekemiseen. +Tämän valinnan käyttöönottaminen mahdollistaa sinun +(ja kaikkien kaveriesi) luoda automaattisia soittolistoja ja +asemia sinun henkilökohtaisen musiikkimakuprofiilisi perusteella. Upload collection list to The Echo Nest to enable user radio - + Lähetä kokoelmalista The Echo Nestille +käyttäjäradion käyttöönottamiseksi Watch for changes - + Tarkkaile muutoksia Time between scans, in seconds: - + Etsimisten aikaväli (sekunteina): @@ -1677,12 +1736,12 @@ connect and stream from you? On - + Päällä Off - + Pois @@ -1690,17 +1749,17 @@ connect and stream from you? Popular New Albums From Your Friends - + Kaveriesi suosiossa olevat uudet albumit Most Played Playlists - + Kuunnelluimmat soittolistat Most Played Tracks You Don't Have - + Kuunnelluimmat kappaleet, joita sinulla ei ole @@ -1708,47 +1767,47 @@ connect and stream from you? Form - + Lomake Facebook - + Facebook Twitter - + Twitter Cover - + Kansikuva TextLabel - + TextLabel Tweet - + Twiittaa Listening to "%1" by %2. %3 - + Kuuntelen ”%1” artistilta %2. %3 Listening to "%1" by %2 on "%3". %4 - + Kuuntelen ”%1” artistilta %2, albumilta ”%3”. %4 %1 characters left - + %1 merkkiä jäljellä @@ -1756,44 +1815,44 @@ connect and stream from you? Track - + Kappale Album - + Albumi Artist - + Artisti Local - + Paikallinen Top 10 - + Kymmenen kärki All available tracks - + Kaikki saatavilla olevat kappaleet Show - + Näytä Hide - + Piilota @@ -1801,32 +1860,32 @@ connect and stream from you? Recent Albums - + Viimeaikaiset albumit Latest Additions - + Viimeisimmät lisäykset Recently Played Tracks - + Viime aikoina kuunnellut kappaleet New Additions - + Uudet lisäykset My recent activity - + Viimeaikainen toimintani Recent activity from %1 - + Käyttäjän %1 viimeaikainen toiminta @@ -1834,58 +1893,58 @@ connect and stream from you? Collection - + Kokoelma Latest Additions - + Viimeisimmät lisäykset Recently Played - + Viime aikoina kuunnellut SuperCollection - + Superkokoelma Latest additions to your collection - + Viimeisimmät lisäykset kokoelmaasi Latest additions to %1's collection - + Viimeisimmät lisäykset käyttäjän %1 kokoelmaan Sorry, we could not find any recent additions! - + Valitettavasti emme löytäneet yhtään viimeaikaisia lisäyksiä! Recently Played Tracks - + Viime aikoina kuunnellut kappaleet Your recently played tracks - + Viime aikoina kuuntelemasi kappaleet %1's recently played tracks - + Käyttäjän %1 viime aikoina kuuntelemat kappaleet Sorry, we could not find any recent plays! - + Valitettavasti emme löytäneet yhtään viimeaikaisia soittoja! @@ -1893,68 +1952,71 @@ connect and stream from you? &Copy Link - - - - - &Delete %1 - - - - - Add to my Playlists - - - - - Add to my Automatic Playlists - - - - - Add to my Stations - + &Kopioi linkki &Export Playlist - + &Vie soittolista + + + + &Delete %1 + &Poista %1 + + + + Add to my Playlists + Lisää omiin soittolistoihin + + + + Add to my Automatic Playlists + Lisää omiin automaattisiin soittolistoihin + + + + Add to my Stations + Lisää omiin asemiin playlist - + Ks. alempi viesti + soittolistan automatic playlist - + Ks. alempi viesti + automaattisen soittolistan station - + Ks. alempi viesti + aseman Would you like to delete the %1 <b>"%2"</b>? e.g. Would you like to delete the playlist named Foobar? - + Haluatko poistaa %1 <b>”%2”</b>? Delete - + Poista Save XSPF - + Tallenna XSPF Playlists (*.xspf) - + Soittolistat (*.xspf) @@ -1962,72 +2024,75 @@ connect and stream from you? Group - + Ryhmä Collection - + Kokoelma Playlist - + Suomennoshetkellä käytettiin vain asiayhteydessä, jossa suomeksi vaaditaan pieni alkukirjain. + soittolista Automatic Playlist - + Suomennoshetkellä käytettiin vain asiayhteydessä, jossa suomeksi vaaditaan pieni alkukirjain. + automaattinen soittolista Station - + Suomennoshetkellä käytettiin vain asiayhteydessä, jossa suomeksi vaaditaan pieni alkukirjain. + asema Browse - + Selaa Search History - + Hakuhistoria My Music - - - - - SuperCollection - + Oma musiikki Dashboard - + Kojelauta + + + + SuperCollection + Superkokoelma Recently Played - + Viime aikoina kuunnellut Charts - + Listat New Releases - + Uudet julkaisut Friends - + Kaverit @@ -2035,57 +2100,58 @@ connect and stream from you? Form - + Lomake Configure your Spotify account - - - - - Username or Facebook Email - - - - - Log In - - - - - Right click on any Tomahawk playlist to sync it to Spotify. - - - - - Select All - - - - - High Quality Streams - - - - - Spotify playlists to keep in sync: - - - - - Delete Tomahawk playlist when removing synchronization - + Spotify-tilisi asetukset Username: - + Käyttäjätunnus: + + + + Username or Facebook Email + Käyttäjätunnus tai Facebookin sähköposti Password: - + Salasana: + + + + Log In + Kirjaudu + + + + Right click on any Tomahawk playlist to sync it to Spotify. + Synkronoi Tomahawk-soittolista Spotifyn kanssa +napsauttamalla hiiren oikealla. + + + + Spotify playlists to keep in sync: + Synkronoitavat Spotify-soittolistat: + + + + Select All + Valitse kaikki + + + + High Quality Streams + Laadukkaat virrat + + + + Delete Tomahawk playlist when removing synchronization + Poista Tomahawkin soittolista, kun synkronointi lopetetaan @@ -2093,7 +2159,7 @@ connect and stream from you? Delete associated Spotify playlist? - + Poistetaanko liitetty Spotify-soittolista? @@ -2101,17 +2167,17 @@ connect and stream from you? Copy Artist Link - + Kopioi artistin linkki Copy Album Link - + Kopioi albumin linkki Copy Track Link - + Kopioi kappaleen linkki @@ -2119,32 +2185,32 @@ connect and stream from you? Add Account - + Lisää tili Remove - + Poista %1 downloads - + %1 latausta Online - + Verkossa Connecting... - + Yhdistetään... Offline - + Ei verkossa @@ -2152,12 +2218,12 @@ connect and stream from you? Manual Install Required - + Manuaalinen asennus tarvitaan Unfortunately, automatic installation of this resolver is not available or disabled for your platform.<br /><br />Please use "Install from file" above, by fetching it from your distribution or compiling it yourself. Further instructions can be found here:<br /><br />http://www.tomahawk-player.org/resolvers/%1 - + Valitettavasti tämän selvittimen automaattinen asennus ei ole saatavilla tai on poissa käytöstä alustallasi.<br /><br />Hae selvitin jakelusi kautta tai kääntämällä se itse, ja käytä sitten Asenna tiedostosta -painiketta. Lisäohjeita on osoitteessa:<br /><br />http://www.tomahawk-player.org/resolvers/%1 @@ -2165,22 +2231,22 @@ connect and stream from you? Configure this Google Account - + Tämän Google-tilin asetukset Google Address: - + Google-osoite: Enter your Google login to connect with your friends using Tomahawk! - + Ole yhteydessä Tomahawkia käyttäviin kavereihisi antamalla Google-tunnuksesi! username@gmail.com - + käyttäjätunnus@gmail.com @@ -2188,7 +2254,7 @@ connect and stream from you? Connect to Google Talk to find your friends - + Löydä kaverisi yhdistämällä Google Talkiin @@ -2196,17 +2262,17 @@ connect and stream from you? Enter Google Address - + Anna Google-osoite Add Friend - + Lisää kaveri Enter Google Address: - + Anna Google-osoite: @@ -2214,7 +2280,7 @@ connect and stream from you? Scrobble your tracks to last.fm, and find freely downloadable tracks to play - + Skrobblaa kappaleet Last.fm:ään, ja löydä kuunneltavaksi ilmaisesti ladattavia kappaleita @@ -2222,59 +2288,59 @@ connect and stream from you? Testing... - + Kokeillaan... Test Login - + Kokeile kirjautumista Importing %1 e.g. Importing 2012/01/01 - + Tuodaan %1 Importing History... - + Tuodaan historiaa... History Incomplete. Resume - + Historia epätäydellinen. Jatketaan tuontia Playback History Imported - + Soittohistoria tuotu Failed - + Epäonnistui Success - + Onnistui Could not contact server - + Palvelimeen ei saatu yhteyttä Synchronizing... - + Synkronoidaan... Synchronization Finished - + Synkronointi valmis @@ -2282,47 +2348,47 @@ connect and stream from you? Sync with Spotify - + Synkronoi Spotifyn kanssa Re-enable syncing with Spotify - + Ota Spotifyn kanssa synkronointi käyttöön Create local copy - - - - - Subscribe to playlist changes - - - - - Re-enable playlist subscription - - - - - Stop subscribing to changes - - - - - Enable Spotify collaborations - - - - - Disable Spotify collaborations - + Luo paikallinen kopio Stop syncing with Spotify - + Lopeta Spotifyn kanssa synkronointi + + + + Subscribe to playlist changes + Tilaa soittolistojen muutokset + + + + Re-enable playlist subscription + Tilaa soittolistojen muutokset uudelleen + + + + Stop subscribing to changes + Lopeta muutosten tilaus + + + + Enable Spotify collaborations + Käytä Spotify-yhteistöitä + + + + Disable Spotify collaborations + Poista Spotify-yhteistyöt käytöstä @@ -2330,28 +2396,28 @@ connect and stream from you? Logging in... - + Kirjaudutaan... Failed: %1 - + Epäonnistui: %1 Logged in as %1 - + Kirjauduttu käyttäjänä %1 Log Out - + Kirjaudu ulos Log In - + Kirjaudu @@ -2359,7 +2425,7 @@ connect and stream from you? Play music from and sync your playlists with Spotify Premium - + Toista musiikkia Spotify Premiumin kautta ja synkronoi soittolistasi sen kanssa @@ -2367,7 +2433,7 @@ connect and stream from you? Connect to your Twitter followers. - + Ole yhteydessä Twitter-seuraajiisi. @@ -2377,32 +2443,32 @@ connect and stream from you? Tweet! - + Twiittaa! Status: No saved credentials - + Tila: Ei tallennettuja tunnistetietoja Authenticate - + Tunnistaudu Status: Credentials saved for %1 - + Tila: Tunnistetiedot tallennettu käyttäjälle %1 De-authenticate - + Poista tunnistautuminen @@ -2413,87 +2479,90 @@ connect and stream from you? Tweetin' Error - + Twiittausvirhe The credentials could not be verified. You may wish to try re-authenticating. - + Tunnistetietojen varmennus epäonnistui. +Voit haluta yrittää tunnistautumista uudelleen. Status: Error validating credentials - + Tila: Virhe tunnistetietojen kelpuuttamisessa Global Tweet - + Yleistwiitti Direct Message - + Yksityisviesti Send Message! - + Lähetä viesti! @Mention - + @Maininta Send Mention! - + Lähetä maininta! You must enter a user name for this type of tweet. - + Tällaiselle twiitille pitää antaa käyttäjätunnus. Your saved credentials could not be loaded. You may wish to try re-authenticating. - + Tallennettuja tunnistetietojasi ei voitu ladata. +Voit haluta yrittää tunnistautumista uudelleen. Your saved credentials could not be verified. You may wish to try re-authenticating. - + Tallennettuja tunnistetietojasi ei voitu varmentaa. +Voit haluta yrittää tunnistautumista uudelleen. There was an error posting your status -- sorry! - + Tilasi lähettämisessä tapahtui virhe – anteeksi! Tweeted! - + Twiitattu! Your tweet has been posted! - + Twiittisi on lähetetty! There was an error posting your direct message -- sorry! - + Yksityisviestisi lähettämisessa tapahtui virhe – anteeksi! Your message has been posted! - + Viestisi on lähetetty! @@ -2501,7 +2570,7 @@ You may wish to try re-authenticating. Log on to your Jabber/XMPP account to connect to your friends - + Ole yhteydessä kavereihisi kirjautumalla Jabber/XMPP-tilillesi @@ -2509,7 +2578,7 @@ You may wish to try re-authenticating. Automatically connect to Tomahawks on the local network - + Yhdistä paikallisverkon Tomahawkeihin automaattisesti @@ -2517,79 +2586,79 @@ You may wish to try re-authenticating. &Play - + &Soita Add to &Queue - + &Lisää jonoon Continue Playback after this &Track - + Jatka s&oittoa tämän kappaleen jälkeen Stop Playback after this &Track - + Pysäytä s&oitto tämän &kappaleen jälkeen &Love - + &Tykkää &Go to "%1" - + Sii&rry sivulle ”%1” Go to "%1" - + Siirry sivulle ”%1” &Copy Track Link - - - - - Copy Album &Link - - - - - Copy Artist &Link - - - - - Un-&Love - - - - - &Delete Items - + &Kopioi kappaleen linkki Properties... - + Ominaisuudet... + + + + &Delete Items + &Poista kohteet &Delete Item - + &Poista kohde + + + + Copy Album &Link + &Kopioi albumin linkki + + + + Copy Artist &Link + &Kopioi artistin linkki + + + + Un-&Love + Lakkaa &tykkäämästä @@ -2597,32 +2666,36 @@ You may wish to try re-authenticating. playlist - + Ks. alemmat viestit + soittolistaa artist - + Ks. alemmat viestit + artistia track - + Ks. alemmat viestit + kappaletta album - + Ks. alemmat viestit + albumia Fetching %1 from database - + Noudetaan %1 tietokannasta Parsing %1 %2 - + Jäsennetään %1 -%2 @@ -2630,7 +2703,7 @@ You may wish to try re-authenticating. Click to collapse - + Tiivistä napsauttamalla @@ -2641,12 +2714,14 @@ You may wish to try re-authenticating. Could not find a playable track. Please change the filters or try again. - + Soittokelpoista kappaletta ei löydy. + +Muuta suodattimia tai yritä uudelleen. Failed to generate preview with the desired filters - + Esikatselun luonti halutuilla suodattimilla epäonnistui @@ -2654,12 +2729,12 @@ Please change the filters or try again. Type: - + Tyyppi: Generate - + Muodosta @@ -2667,17 +2742,17 @@ Please change the filters or try again. Add some filters above to seed this station! - + Alusta tämä asema lisäämällä hieman suodattimia! Press Generate to get started! - + Aloita painamalla Muodosta! Add some filters above, and press Generate to get started! - + Lisää yllä hieman suodattimia, ja sitten aloita painamalla Muodosta! @@ -2687,7 +2762,9 @@ Please change the filters or try again. Station ran out of tracks! Try tweaking the filters for a new set of songs to play. - + Asemalta loppui kappaleet! + +Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi. @@ -2700,23 +2777,23 @@ Try tweaking the filters for a new set of songs to play. is - + on from user - + käyttäjältä No users with Echo Nest Catalogs enabled. Try enabling option in Collection settings - + Ei käyttäjiä, joilla on Echo Nestin hakemisto käytössä. Kokeile ottaa valinta käyttöön kokoelma-asetuksista similar to - + samankaltainen kuin @@ -2727,7 +2804,7 @@ Try tweaking the filters for a new set of songs to play. Less - + Vähemmän @@ -2738,258 +2815,264 @@ Try tweaking the filters for a new set of songs to play. More - + Enemmän 0 BPM - + 0 BPM 500 BPM - + 500 BPM 0 secs - + 0 sekuntia 3600 secs - + 3600 sekuntia -100 dB - + −100 dB 100 dB - + 100 dB Major - + Duuri Minor - + Molli C - + C C Sharp - + Ylennetty C D - + D E Flat - + Alennettu E E - + E F - + F F Sharp - + Ylennetty F G - + G A Flat - + Alennettu A A - + A B Flat - + Alennettu H B - + H Ascending - + Nouseva Descending - + Laskeva Tempo - + Tempo Duration - + Kesto Loudness - + Äänekkyys Artist Familiarity - + Artistin tuttuus Artist Hotttnesss - + Artistin suosittuus Song Hotttnesss - + Kappaleen suosittuus Latitude - + Leveysaste Longitude - + Pituusaste Mode - + Moodi Key - + Sävellaji Energy - + Energia Danceability - + Tanssittavuus only by ~%1 - + vain likimäärin artistilta %1 similar to ~%1 - + likimäärin artistin %1 samankaltaisia artisteja with genre ~%1 - + likimäärin lajityypillä %1 from no one - + ei keneltäkään My Collection - + Oma kokoelma from %1 radio - + käyttäjän %1 radiosta with %1 %2 - + Tätä viestiä ei ollut kirjoitushetkellä mitään järkeä kääntää johtuen %1:n ja %2:n arvoista. + about %1 BPM - + noin %1 BPM about %n minute(s) long - + + noin %n minuutti pitkä + noin %n minuuttia pitkä + about %1 dB - + noin %1 dB at around %1%2 %3 - + Tätä viestiä ei ollut kirjoitushetkellä mitään järkeä kääntää johtuen %1:n ja %3:n arvoista. + in %1 - + sävellajissa %1 in a %1 key - + Toimii kunhan %1 on joko ”duuri” tai ”molli” + %1ssa sorted in %1 %2 order - + lajiteltu %1, lajitteluperusteena %2 with a %1 mood - + %1 mielialalla in a %1 style - + %1 tyylillä @@ -2997,7 +3080,7 @@ Try tweaking the filters for a new set of songs to play. Error fetching Grooveshark information from the network! - + Grooveshark-tietojen hakeminen verkosta epäonnistui! @@ -3005,22 +3088,22 @@ Try tweaking the filters for a new set of songs to play. Top Overall - + Kokonaisuudessaan parhaat Artists - + Artistit Albums - + Albumit Tracks - + Kappaleet @@ -3028,12 +3111,12 @@ Try tweaking the filters for a new set of songs to play. Tomahawk is playing "%1" by %2%3. - + Tomahawk soittaa artistin %2 kappaletta ”%1”%3. on "%1" - + albumilta ”%1” @@ -3041,27 +3124,27 @@ Try tweaking the filters for a new set of songs to play. Top Tracks - + Parhaat kappaleet Loved Tracks - + Tykätyt kappaleet Hyped Tracks - + Hypetetyt kappaleet Top Artists - + Parhaat artistit Hyped Artists - + Hypetetyt artistit @@ -3069,7 +3152,7 @@ Try tweaking the filters for a new set of songs to play. Albums - + Albumit @@ -3077,7 +3160,7 @@ Try tweaking the filters for a new set of songs to play. Listening to "%1" by %2 and loving it! %3 - + Kuuntelee kappaletta ”%1” artistilta %2 ja pitää siitä! %3 @@ -3085,7 +3168,7 @@ Try tweaking the filters for a new set of songs to play. Error fetching iTunes information from the network! - + iTunes-tietojen hakeminen verkosta epäonnistui! @@ -3093,27 +3176,27 @@ Try tweaking the filters for a new set of songs to play. New Playlist - + Uusi soittolista Failed to save tracks - + Kappaleiden tallentaminen epäonnistui Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Joillakin soittolistan kappaleilla ei ole artistia ja nimeä. Ne jätetään huomiotta. XSPF Error - + XSPF-virhe This is not a valid XSPF playlist. - + Tämä ei ole kelvollinen XSPF-soittolista. @@ -3121,13 +3204,13 @@ Try tweaking the filters for a new set of songs to play. &Catch Up - + &Ota kiinni &Listen Along - + Kuuntele &mukana @@ -3136,12 +3219,12 @@ Try tweaking the filters for a new set of songs to play. Would you like to delete the playlist <b>"%2"</b>? e.g. Would you like to delete the playlist named Foobar? - + Haluatko poistaa soittolistan <b>”%2”</b>? Delete - + Poista @@ -3149,37 +3232,41 @@ Try tweaking the filters for a new set of songs to play. and - + ja You - + Sinä you - + sinä and - + ja %n other(s) - + + %n muu + %n muuta + %1 people - + %1 henkilöä loved this track - + Tätä on mahdoton suomentaa oikein. Tilanteesta riippuen täytyisi olla tykkäsi, tykkäsivät tai tykkäsit. + tykkäsi tästä kappaleesta @@ -3187,7 +3274,7 @@ Try tweaking the filters for a new set of songs to play. Error fetching Rdio information from the network! - + Rdio-tietojen hakeminen verkosta epäonnistui! @@ -3195,7 +3282,7 @@ Try tweaking the filters for a new set of songs to play. Network error parsing shortened link! - + Verkkovirhe jäsennettäessä lyhennettyä linkkiä! @@ -3204,42 +3291,42 @@ Try tweaking the filters for a new set of songs to play. Scanning (%L1 tracks) - + Etsitään (%L1 kappaletta) Scanning - + Etsitään Checking - + Tarkistetaan Syncing - + Synkronoidaan Importing - + Tuodaan Saving (%1%) - + Tallennetaan (%1 %) Online - + Verkossa Offline - + Ei verkossa @@ -3247,7 +3334,7 @@ Try tweaking the filters for a new set of songs to play. Error fetching Spotify information from the network! - + Spotify-tietojen hakeminen verkosta epäonnistui! @@ -3255,7 +3342,7 @@ Try tweaking the filters for a new set of songs to play. Automatically update from XSPF - + Päivitä automaattisesti XSPF:stä @@ -3263,7 +3350,7 @@ Try tweaking the filters for a new set of songs to play. My Collection - + Oma kokoelma @@ -3271,62 +3358,63 @@ Try tweaking the filters for a new set of songs to play. Twitter PIN - + Twitterin PIN - After authenticating on Twitter's web site, + After authenticating on Twitter's web site, enter the displayed PIN number here: - + Tunnistauduttuasi Twitterin verkkosivulla, +anna siellä näytetty PIN-koodi tähän: TomahawkTrayIcon - - - &Stop Playback after current Track - - Hide Tomahawk Window - + Piilota Tomahawk-ikkuna Show Tomahawk Window - - - - - Currently not playing. - - - - - Play - - - - - Pause - - - - - &Love - - - - - Un-&Love - + Näytä Tomahawk-ikkuna &Continue Playback after current Track - + Jatka s&oittoa nykyisen kappaleen jälkeen + + + + &Stop Playback after current Track + Pysäytä s&oitto nykyisen kappaleen jälkeen + + + + Currently not playing. + Mikään ei soi. + + + + Play + Soita + + + + Pause + Tauko + + + + &Love + &Tykkää + + + + Un-&Love + Lakkaa &tykkäämästä @@ -3334,313 +3422,313 @@ enter the displayed PIN number here: Tomahawk - + Tomahawk &Quit - + &Lopeta Ctrl+Q - + Ctrl+Q Go &Online - + Mene &verkkoon Add &Friend... - + Lisää &kaveri... U&pdate Collection - + P&äivitä kokoelma Update Collection - + Päivitä kokoelma &Configure Tomahawk... - + Tomahawkin &asetukset... Load &XSPF... - + Lataa &XSPF... Create &New Playlist... - + Luo &uusi soittolista... About &Tomahawk... - + &Tietoa Tomahawkista... Create New &Automatic Playlist - + Luo uusi &automaattinen soittolista Create New &Station - + Luo uusi a&sema Show Offline Sources - + Näytä verkottomat lähteet Hide Offline Sources - + Piilota verkottomat lähteet Minimize - + Pienennä Ctrl+M - + Ctrl+M Zoom - + Zoomaa Meta+Ctrl+Z - + Meta+Ctrl+Z &Legal Info... - + Lakitiet&oa... Diagnostics... - + Diagnostiikka... Fully &Rescan Collection - + &Muodosta kokoelma alusta alkaen Fully Rescan Collection - + Muodosta kokoelma alusta alkaen Play - + Soita Space - + Space Previous - + Edellinen Next - + Seuraava + + + + + Hide Menu Bar + Piilota valikkorivi + + + + + Show Menu Bar + Näytä valikkorivi Back - + Takaisin Go back one page - + Mene yksi sivu takaisin Forward - + Eteenpäin Go forward one page - - - - - - Hide Menu Bar - - - - - - Show Menu Bar - + Mene yksi sivu eteenpäin - Search for any artist, album or song... - + Global Search... + Yleishaku... &Main Menu - + &Päävalikko - - - + + + Connect To Peer - + Yhdistä vertaiseen - + Enter peer address: - + Anna vertaisen osoite: - + Enter peer port: - + Anna vertaisen portti: - + Enter peer key: - + Anna vertaisen avain: - + XSPF Error - + XSPF-virhe - + This is not a valid XSPF playlist. - + Tämä ei ole kelvollinen XSPF-soittolista. - + Failed to save tracks - + Kappaleiden tallentaminen epäonnistui - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Joillakin soittolistan kappaleilla ei ole artistia ja nimeä. Ne jätetään huomiotta. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Valitettavasti äänilaitteen tai halutun kappaleen kanssa on ongelmia ja nykyinen kappale ohitetaan. Varmista, että sopiva Phononin taustaosa ja vaaditut liitännäiset on asennettu. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Valitettavasti äänilaitteen tai halutun kappaleen kanssa on ongelmia ja nykyinen kappale ohitetaan. - + Station - + Asema - + Create New Station - + Luo uusi asema - + Name: - + Nimi: - + Playlist - + Soittolista - + Automatic Playlist - + Automaattinen soittolista - + Pause - + Tauko - + &Play - + &Soita - + Authentication Error - + Tunnistautumisvirhe - + Error connecting to SIP: Authentication failed! - + Virhe yhdistettäessä SIPiin: tunnistautuminen epäonnistui! - + %1 by %2 track, artist name - + %1 artistilta %2 - + %1 - %2 current track, some window title - + %1 – %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Copyright 2010–2012 - + Thanks to: - + Kiitokset: - + About Tomahawk - + Tietoa Tomahawkista @@ -3648,7 +3736,7 @@ enter the displayed PIN number here: Top Hits - + Parhaat hitit @@ -3656,60 +3744,81 @@ enter the displayed PIN number here: Form - + Lomake - - Cover - - - - - Statistics - - - - + Similar Tracks - + Samankaltaisia kappaleita - + + Cover + Kansikuva + + + + Track + Kappale + + + + Artist + Artisti + + + + Album + Albumi + + + + Statistics + Tilastot + + + Sorry, but we could not find similar tracks for this song! - + Valitettavasti emme löytäneet tälle kappaleelle samankaltaisia kappaleita! - + You've listened to this track %n time(s). - + + Olet kuunnellut tätä kappaletta %n kerran. + Olet kuunnellut tätä kappaletta %n kertaa. + - + You've never listened to this track before. - + Et ole kuunnellut tätä kappaletta aiemmin. - + You first listened to it on %1. - + Kuuntelit sitä ensi kerran %1. - + You've listened to %1 %n time(s). - + + Olet kuunnellut artistia %1 %n kerran. + Olet kuunnellut artistia %1 %n kertaa. + - + You've never listened to %1 before. - + Et ole kuunnellut artistia %1 aiemmin. TrackView - + Sorry, your filter '%1' did not match any results. - + Valitettavasti suodattimesi ”%1” ei tuottanut yhtään tuloksia. @@ -3718,13 +3827,13 @@ enter the displayed PIN number here: from streaming artist - track from friend - + kaverilta to streaming artist - track to friend - + kaverille @@ -3732,7 +3841,7 @@ enter the displayed PIN number here: Unknown - + Tuntematon @@ -3740,19 +3849,19 @@ enter the displayed PIN number here: All Artists - + Kaikki artistit My Collection - + Oma kokoelma Collection of %1 - + Käyttäjän %1 kokoelma @@ -3760,7 +3869,7 @@ enter the displayed PIN number here: Sorry, your filter '%1' did not match any results. - + Valitettavasti suodattimesi ”%1” ei tuottanut yhtään tuloksia. @@ -3768,67 +3877,72 @@ enter the displayed PIN number here: Configure this Twitter account - + Tämän Twitter-tilin asetukset The Twitter plugin allows you to discover and play music from your Twitter friends running Tomahawk and post messages to your account. - + Twitter-liitännäisen avulla voit löytää ja soittaa Tomahawkia käyttävien Twitter-kaveriesi musiikkia sekä lähettää viestejä tilillesi. Status: No saved credentials - + Tila: Ei tallennettuja tunnistetietoja Authenticate with Twitter - + Tunnistaudu Twitteriin Twitter Connections - + Twitter-yhteydet -If you only want to post tweets, you're done. +If you only want to post tweets, you're done. If you want to connect Tomahawk to your friends using Twitter, select the type of tweet and press the button below to send a sync message. You must both be following each other as Direct Messages are used. Then be (very) patient -- it can take several minutes! You can re-send a sync message at any time simply by sending another tweet using the button. - + +Jos haluat vain lähettää twiittejä, olet valmis. + +Jos haluat yhdistää Tomahawkin Twitteriä käyttäviin kavereihisi, valitse twiitin tyyppi ja lähetä synkronointiviesti painamalla Lähetä. Teidän molempien pitää seurata toisianne, koska tässä käytetään yksityisviestejä. Sitten ole kärsivällinen – yhdistämisessä saattaa kestää useita minuutteja! + +Voit lähettää synkronointiviestin uudelleen millä hetkellä hyvänsä lähettämällä toisen twiitin painamalla Lähetä. Select the kind of tweet you would like, then press the button to post it: - + Valitse haluamasi twiitin tyyppi, ja lähetä se sitten painamalla Lähetä: Global Tweet - + Yleistwiitti @Mention - + @Maininta Direct Message - + Yksityisviesti e.g. @tomahawk - + esim. @tomahawk Send Message - + Lähetä viesti @@ -3836,7 +3950,7 @@ You can re-send a sync message at any time simply by sending another tweet using Enter Twitter username - + Anna Twitterin käyttäjätunnus @@ -3844,42 +3958,42 @@ You can re-send a sync message at any time simply by sending another tweet using This playlist is empty! - + Tämä soittolista on tyhjä! After you have scanned your music collection you will find your tracks right here. - + Löydät kappaleesi tästä, kunhan musiikkikokoelmasi haku on valmistunut. This collection is empty. - + Tämä kokoelma on tyhjä. SuperCollection - + Superkokoelma Combined libraries of all your online friends - + Kaikkien verkkokaveriesi yhdistetyt kirjastot Recently Played Tracks - + Viime aikoina kuunnellut kappaleet Recently played tracks from all your friends - + Kaikkien kaveriesi viime aikoina kuuntelemat kappaleet Sorry, we could not find any recent plays! - + Valitettavasti emme löytäneet yhtään viimeaikaisia soittoja! @@ -3887,32 +4001,32 @@ You can re-send a sync message at any time simply by sending another tweet using Recent Additions - + Viimeisimmät lisäykset Newest Stations & Playlists - + Uusimmat asemat ja soittolistat Recently Played Tracks - + Viime aikoina kuunnellut kappaleet Recently played tracks - + Viime aikoina kuunnellut kappaleet No recently created playlists in your network. - + Verkossasi ei ole viime aikoina luotuja soittolistoja. Welcome to Tomahawk - + Tervetuloa Tomahawkiin @@ -3920,7 +4034,7 @@ You can re-send a sync message at any time simply by sending another tweet using Charts - + Listat @@ -3928,7 +4042,7 @@ You can re-send a sync message at any time simply by sending another tweet using Wikipedia - + Wikipedia @@ -3938,26 +4052,29 @@ You can re-send a sync message at any time simply by sending another tweet using Terms for %1: - + +Artistin %1 nimet: No terms found, sorry. - + Nimiä ei löydy. Hotttness for %1: %2 - + +Artistin %1 suosittuus: %2 Familiarity for %1: %2 - + +Artistin %1 tuttuus: %2 @@ -3966,7 +4083,11 @@ Lyrics for "%1" by %2: %3 - + +Sanat artistin %2 kappaleelle ”%1”: + +%3 + @@ -3974,22 +4095,22 @@ Lyrics for "%1" by %2: Failed to parse contents of XSPF playlist - + XSPF-soittolistan sisällön jäsentäminen epäonnistui Some playlist entries were found without artist and track name, they will be omitted - + Joillakin soittolistan kappaleilla ei ole artistia ja nimeä. Ne jätetään huomiotta Failed to fetch the desired playlist from the network, or the desired file does not exist - + Halutun soittolistan hakeminen verkosta epäonnistui tai haluttua tiedostoa ei ole olemassa New Playlist - + Uusi soittolista @@ -3997,78 +4118,78 @@ Lyrics for "%1" by %2: Xml stream console - + XML-virtakonsoli Filter - + Suodata Save log - + Tallenna loki Disabled - + Poissa käytöstä By JID - + JID:n perusteella By namespace uri - + Nimiavaruuden URI:n perusteella By all attributes - + Kaikkien attribuuttien perusteella Visible stanzas - + Näkyvät säkeistöt Information query - + Informaatiokysely Message - + Viesti Presence - + Läsnäolo Custom - + Mukautettu Close - + Sulje Save XMPP log to file - + Tallenna XMPP-loki tiedostoon OpenDocument Format (*.odf);;HTML file (*.html);;Plain text (*.txt) - + OpenDocument Format (*.odf);;HTML-tiedosto (*.html);;Muotoilematon teksti (*.txt) @@ -4076,185 +4197,185 @@ Lyrics for "%1" by %2: Xmpp Configuration - + XMPP-asetukset Configure this Xmpp account - + Tämän XMPP-tilin asetukset Enter your Xmpp login to connect with your friends using Tomahawk! - + Ole yhteydessä Tomahawkia käyttäviin kavereihisi antamalla XMPP-kirjautumistietosi! Login Information - + Kirjautumistiedot Xmpp ID: - + XMPP-tunnus: e.g. user@example.com - + esim: käyttäjä@esimerkki.fi Password: - + Salasana: An account with this name already exists! - + Tämänniminen tili on jo olemassa! Advanced Xmpp Settings - + XMPP-lisäasetukset Server: - + Palvelin: Port: - + Portti: Lots of servers don't support this (e.g. GTalk, jabber.org) - + Useat palvelimet eivät tue tätä (esim. GTalk ja jabber.org) Publish currently playing track - + Julkaise parhaillaan soiva kappale Enforce secure connection - + Pakota salattu yhteys XmppSipPlugin + + + Enter Jabber ID + Anna Jabber-tunnus + User Interaction - + Käyttäjän toiminta Host is unknown - + Kone on tuntematon Item not found - + Kohdetta ei löydy Authorization Error - + Valtuutusvirhe Remote Stream Error - + Etävirran virhe Remote Connection failed - + Etäyhteys epäonnistui Internal Server Error - + Sisäinen palvelinvirhe System shutdown - + Järjestelmän sammutus Conflict - - - - - Unknown - - - - - Do you want to add <b>%1</b> to your friend list? - + Ristiriita No Compression Support - - - - - Enter Jabber ID - + Ei pakkaustukea No Encryption Support - + Ei salaustukea No Authorization Support - + Ei valtuutustukea No Supported Feature - + Ei-tuettu ominaisuus + + + + Unknown + Tuntematon Add Friend - + Lisää kaveri Enter Xmpp ID: - + Anna XMPP-tunnus: Add Friend... - + Lisää kaveri... XML Console... - + XML-konsoli... I'm sorry -- I'm just an automatic presence used by Tomahawk Player (http://gettomahawk.com). If you are getting this message, the person you are trying to reach is probably not signed on, so please try again later! - + Pahoittelen – olen pelkkä Tomahawk-soittimen (http://gettomahawk.com) automaattinen läsnäoloviesti. Jos näet tämän viestin, tavoittelemasi henkilö ei todennäköisesti ole kirjautuneena, joten yritä myöhemmin uudelleen! Authorize User - + Salli käyttäjä + + + + Do you want to add <b>%1</b> to your friend list? + Haluatko lisätä käyttäjän <b>%1</b> kaverilistallesi? @@ -4262,22 +4383,22 @@ Lyrics for "%1" by %2: Form - + Lomake Local Network configuration - + Paikallisverkon asetukset This plugin will automatically find other users running Tomahawk on your local network - + Tämä liitännäinen löytää automaattisesti muut paikallisverkossa olevat Tomahawk-käyttäjät Connect automatically when Tomahawk starts - + Yhdistä automaattisesti Tomahawkin käynnistymisen yhteydessä - \ No newline at end of file + From a851ca700ea2b291cbdee342aeb2e9b3b92eb38d Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 13:08:23 +0100 Subject: [PATCH 218/332] * Changed attica's info text. --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 90e9a0831..9f0283ebf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -121,14 +121,14 @@ macro_log_feature(TAGLIB_FOUND "TagLib" "Audio Meta-Data Library" "http://develo include( CheckTagLibFileName ) check_taglib_filename( COMPLEX_TAGLIB_FILENAME ) -macro_optional_find_package( Boost ) +macro_optional_find_package(Boost) macro_log_feature(Boost_FOUND "Boost" "Provides free peer-reviewed portable C++ source libraries" "http://www.boost.org" TRUE "" "") #FIXME: give useful explaination macro_optional_find_package(QCA2) macro_log_feature(QCA2_FOUND "QCA2" "Provides encryption and signing functions required for Grooveshark resolver" "http://delta.affinix.com/qca/" TRUE "" "") macro_optional_find_package(LibAttica 0.4.0) -macro_log_feature(LIBATTICA_FOUND "libattica" "Provides support for automatic fetching and managing of resolvers from the tomahawk website" "https://projects.kde.org/projects/kdesupport/attica" TRUE "" "") +macro_log_feature(LIBATTICA_FOUND "libattica" "Provides support for installation of resolvers from the Tomahawk website" "https://projects.kde.org/projects/kdesupport/attica" TRUE "" "") macro_optional_find_package(QuaZip) macro_log_feature(QuaZip_FOUND "QuaZip" "Provides support for extracting downloaded resolvers automatically." "http://quazip.sourceforge.net/" TRUE "" "") From 117243a70d21e110aac3c40bd514b29116fd463a Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 13:22:05 +0100 Subject: [PATCH 219/332] * Fixed untranslatable strings. --- .../playlist/dynamic/echonest/EchonestControl.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp b/src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp index d9983b846..db6921394 100644 --- a/src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp +++ b/src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp @@ -758,10 +758,9 @@ Tomahawk::EchonestControl::calculateSummary() { QString subSum; if ( b->currentText() == tr( "My Collection" ) ) - subSum = "my"; + summary = tr( "from my radio" ); else - subSum = b->currentText(); - summary = tr( "from %1 radio" ).arg( subSum ); + summary = tr( "from %1 radio" ).arg( b->currentText() ); } } else @@ -775,15 +774,15 @@ Tomahawk::EchonestControl::calculateSummary() qreal sliderVal = m_data.second.toReal(); // divide into avpproximate chunks if( 0.0 <= sliderVal && sliderVal < 0.2 ) - modifier = "very low"; + modifier = tr( "very low" ); else if( 0.2 <= sliderVal && sliderVal < 0.4 ) - modifier = "low"; + modifier = tr( "low" ); else if( 0.4 <= sliderVal && sliderVal < 0.6 ) - modifier = "moderate"; + modifier = tr( "moderate" ); else if( 0.6 <= sliderVal && sliderVal < 0.8 ) - modifier = "high"; + modifier = tr( "high" ); else if( 0.8 <= sliderVal && sliderVal <= 1 ) - modifier = "very high"; + modifier = tr( "very high" ); summary = tr( "with %1 %2" ).arg( modifier ).arg( selectedType().toLower() ); } else if( selectedType() == "Tempo" ) { summary = tr( "about %1 BPM" ).arg( m_data.second.toString() ); From b29cd7d0e6245e308d63db2fa0d7d5b9dd3563eb Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 13:41:57 +0100 Subject: [PATCH 220/332] * Make EchonestControl more translatable. --- .../dynamic/echonest/EchonestControl.cpp | 71 +++++++++++++------ 1 file changed, 50 insertions(+), 21 deletions(-) diff --git a/src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp b/src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp index db6921394..2320c4dfe 100644 --- a/src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp +++ b/src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp @@ -740,15 +740,20 @@ Tomahawk::EchonestControl::calculateSummary() { // turns the current control into an english phrase suitable for embedding into a sentence summary QString summary; - if( selectedType() == "Artist" ) { + if ( selectedType() == "Artist" ) + { // magic char is used by EchonestGenerator to split the prefix from the artist name - if( static_cast< Echonest::DynamicPlaylist::ArtistTypeEnum >( m_matchData.toInt() ) == Echonest::DynamicPlaylist::ArtistType ) + if ( static_cast< Echonest::DynamicPlaylist::ArtistTypeEnum >( m_matchData.toInt() ) == Echonest::DynamicPlaylist::ArtistType ) summary = tr( "only by ~%1" ).arg( m_data.second.toString() ); - else if( static_cast< Echonest::DynamicPlaylist::ArtistTypeEnum >( m_matchData.toInt() ) == Echonest::DynamicPlaylist::ArtistRadioType ) + else if ( static_cast< Echonest::DynamicPlaylist::ArtistTypeEnum >( m_matchData.toInt() ) == Echonest::DynamicPlaylist::ArtistRadioType ) summary = tr( "similar to ~%1" ).arg( m_data.second.toString() ); - } else if( selectedType() == "Artist Description" ) { + } + else if( selectedType() == "Artist Description" ) + { summary = tr( "with genre ~%1" ).arg( m_data.second.toString() ); - } else if( selectedType() == "User Radio" ) { + } + else if( selectedType() == "User Radio" ) + { QComboBox* b = qobject_cast< QComboBox* >( m_input.data() ); if ( b ) { @@ -765,11 +770,16 @@ Tomahawk::EchonestControl::calculateSummary() } else summary = tr( "from no one" ); - } else if( selectedType() == "Artist Description" || selectedType() == "Song" ) { - summary = QString( "similar to ~%1" ).arg( m_data.second.toString() ); - } else if( selectedType() == "Variety" || selectedType() == "Danceability" || selectedType() == "Artist Hotttnesss" || - selectedType() == "Energy" || selectedType() == "Artist Familiarity" || selectedType() == "Song Hotttnesss" || - selectedType() == "Adventurousness" ) { + } + else if ( selectedType() == "Artist Description" || selectedType() == "Song" ) + { + summary = tr( "similar to ~%1" ).arg( m_data.second.toString() ); + } + else if ( selectedType() == QT_TR_NOOP( "Variety" ) || selectedType() == QT_TR_NOOP( "Danceability" ) || + selectedType() == QT_TR_NOOP( "Artist Hotttnesss" ) || selectedType() == QT_TR_NOOP( "Energy" ) || + selectedType() == QT_TR_NOOP( "Artist Familiarity" ) || selectedType() == QT_TR_NOOP( "Song Hotttnesss" ) || + selectedType() == QT_TR_NOOP( "Adventurousness" ) ) + { QString modifier; qreal sliderVal = m_data.second.toReal(); // divide into avpproximate chunks @@ -783,26 +793,40 @@ Tomahawk::EchonestControl::calculateSummary() modifier = tr( "high" ); else if( 0.8 <= sliderVal && sliderVal <= 1 ) modifier = tr( "very high" ); - summary = tr( "with %1 %2" ).arg( modifier ).arg( selectedType().toLower() ); - } else if( selectedType() == "Tempo" ) { + summary = tr( "with %1 %2" ).arg( modifier ).arg( tr( selectedType().toStdString().c_str() ) ); + } + else if ( selectedType() == "Tempo" ) + { summary = tr( "about %1 BPM" ).arg( m_data.second.toString() ); - } else if( selectedType() == "Duration" ) { + } + else if ( selectedType() == "Duration" ) + { summary = tr( "about %n minute(s) long", "", m_data.second.toInt() / 60 ); - } else if( selectedType() == "Loudness" ) { + } + else if ( selectedType() == "Loudness" ) + { summary = tr( "about %1 dB" ).arg( m_data.second.toString() ); - } else if( selectedType() == "Latitude" || selectedType() == "Longitude" ) { - summary = tr( "at around %1%2 %3" ).arg( m_data.second.toString() ).arg( QString( QChar( 0x00B0 ) ) ).arg( selectedType().toLower() ); - } else if( selectedType() == "Key" ) { + } + else if ( selectedType() == "Latitude" || selectedType() == "Longitude" ) + { + summary = tr( "at around %1%2 %3" ).arg( m_data.second.toString() ).arg( QString( QChar( 0x00B0 ) ) ).arg( tr( selectedType().toStdString().c_str() ) ); + } + else if ( selectedType() == "Key" ) + { Q_ASSERT( !m_input.isNull() ); Q_ASSERT( qobject_cast< QComboBox* >( m_input.data() ) ); QString keyName = qobject_cast< QComboBox* >( m_input.data() )->currentText().toLower(); summary = tr( "in %1" ).arg( keyName ); - } else if( selectedType() == "Mode" ) { + } + else if ( selectedType() == "Mode" ) + { Q_ASSERT( !m_input.isNull() ); Q_ASSERT( qobject_cast< QComboBox* >( m_input.data() ) ); QString modeName = qobject_cast< QComboBox* >( m_input.data() )->currentText().toLower(); summary = tr( "in a %1 key" ).arg( modeName ); - } else if( selectedType() == "Sorting" ) { + } + else if ( selectedType() == "Sorting" ) + { Q_ASSERT( !m_input.isNull() ); Q_ASSERT( qobject_cast< QComboBox* >( m_input.data() ) ); QString sortType = qobject_cast< QComboBox* >( m_input.data() )->currentText().toLower(); @@ -812,17 +836,22 @@ Tomahawk::EchonestControl::calculateSummary() QString ascdesc = qobject_cast< QComboBox* >( m_match.data() )->currentText().toLower(); summary = tr( "sorted in %1 %2 order" ).arg( ascdesc ).arg( sortType ); - } else if( selectedType() == "Mood" ) { + } + else if ( selectedType() == "Mood" ) + { Q_ASSERT( !m_input.isNull() ); Q_ASSERT( qobject_cast< QComboBox* >( m_input.data() ) ); QString text = qobject_cast< QComboBox* >( m_input.data() )->currentText().toLower(); summary = tr( "with a %1 mood" ).arg( text ); - } else if( selectedType() == "Style" ) { + } + else if ( selectedType() == "Style" ) + { Q_ASSERT( !m_input.isNull() ); Q_ASSERT( qobject_cast< QComboBox* >( m_input.data() ) ); QString text = qobject_cast< QComboBox* >( m_input.data() )->currentText().toLower(); summary = tr( "in a %1 style" ).arg( text ); } + m_summary = summary; } From 64900668af49de922cc46dbad82028fe97a61871 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 13:58:54 +0100 Subject: [PATCH 221/332] * Added german translation in tomahawk.desktop. --- admin/unix/tomahawk.desktop | 1 + 1 file changed, 1 insertion(+) diff --git a/admin/unix/tomahawk.desktop b/admin/unix/tomahawk.desktop index 9540e023d..4ddf42dd3 100644 --- a/admin/unix/tomahawk.desktop +++ b/admin/unix/tomahawk.desktop @@ -3,6 +3,7 @@ Type=Application Version=1.0 Name=Tomahawk GenericName=Music Player +GenericName[de]=Musik Player GenericName[fi]=Musiikkisoitin TryExec=tomahawk Exec=tomahawk %u From 303369738c1a69463b629196f3bde65a2307c7ff Mon Sep 17 00:00:00 2001 From: Lasse Liehu Date: Thu, 20 Dec 2012 15:07:10 +0200 Subject: [PATCH 222/332] Add Finnish comment in .desktop file Somehow didn't see it --- admin/unix/tomahawk.desktop | 1 + 1 file changed, 1 insertion(+) diff --git a/admin/unix/tomahawk.desktop b/admin/unix/tomahawk.desktop index 4ddf42dd3..edc6e96d6 100644 --- a/admin/unix/tomahawk.desktop +++ b/admin/unix/tomahawk.desktop @@ -8,6 +8,7 @@ GenericName[fi]=Musiikkisoitin TryExec=tomahawk Exec=tomahawk %u Comment=Tomahawk - Social Music Player +Comment[fı]=Tomahawk – sosiaalinen musiikkisoitin Icon=tomahawk Terminal=false Categories=Qt;AudioVideo;Audio;Player; From 4eb48e1a7495345dcaaaa574bd4ec45ec56a637d Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 14:10:31 +0100 Subject: [PATCH 223/332] * Request default SVG with a size on artist, album & track page. --- src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp | 2 +- src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp | 2 +- src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp index f1e5d6b52..1220c85dd 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp @@ -82,7 +82,7 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par ui->tracks->setAttribute( Qt::WA_MacShowFocusRect, 0 ); m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::Original, QSize( 48, 48 ) ); - ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, TomahawkUtils::Grid ) ); + ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, TomahawkUtils::Grid, ui->cover->size() ) ); ui->cover->setShowText( true ); ui->biography->setFrameShape( QFrame::NoFrame ); diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp index db66e646e..6deaae2d5 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp @@ -93,7 +93,7 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* ui->topHits->setAttribute( Qt::WA_MacShowFocusRect, 0 ); m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::Original, QSize( 48, 48 ) ); - ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::Grid ) ); + ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::Grid, ui->cover->size() ) ); ui->cover->setShowText( true ); QFont f = font(); diff --git a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp index 7a9f1c673..5d9087916 100644 --- a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp @@ -82,7 +82,7 @@ TrackInfoWidget::TrackInfoWidget( const Tomahawk::query_ptr& query, QWidget* par ui->similarTracksView->setEmptyTip( tr( "Sorry, but we could not find similar tracks for this song!" ) ); m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, TomahawkUtils::Original, QSize( 48, 48 ) ); - ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, TomahawkUtils::Grid ) ); + ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, TomahawkUtils::Grid, ui->cover->size() ) ); ui->cover->setShowText( true ); m_scrollArea = new QScrollArea(); From 83af65c5da8e7fd88491ed7f6f3d0f25aeacc0b4 Mon Sep 17 00:00:00 2001 From: Lasse Liehu Date: Thu, 20 Dec 2012 15:22:46 +0200 Subject: [PATCH 224/332] Fix embarrassing typo in previous commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fı -> fi --- admin/unix/tomahawk.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/unix/tomahawk.desktop b/admin/unix/tomahawk.desktop index edc6e96d6..7c93ee89b 100644 --- a/admin/unix/tomahawk.desktop +++ b/admin/unix/tomahawk.desktop @@ -8,7 +8,7 @@ GenericName[fi]=Musiikkisoitin TryExec=tomahawk Exec=tomahawk %u Comment=Tomahawk - Social Music Player -Comment[fı]=Tomahawk – sosiaalinen musiikkisoitin +Comment[fi]=Tomahawk – sosiaalinen musiikkisoitin Icon=tomahawk Terminal=false Categories=Qt;AudioVideo;Audio;Player; From aae4f98ff2796f2ecc4023cfe685e5a0abc3e713 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 15:10:55 +0100 Subject: [PATCH 225/332] * Added comments to some translations. --- src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp index 1c1a92f05..a5dfe933d 100644 --- a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp @@ -133,16 +133,16 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& QString playtime = TomahawkUtils::ageToString( QDateTime::fromTime_t( item->query()->playedBy().second ), true ); if ( source == SourceList::instance()->getLocal() ) - lowerText = QString( tr( "played %1 by you" ) ).arg( playtime ); + lowerText = QString( tr( "played %1 by you", "e.g. played 3 hours ago by you" ) ).arg( playtime ); else - lowerText = QString( tr( "played %1 by %2" ) ).arg( playtime ).arg( source->friendlyName() ); + lowerText = QString( tr( "played %1 by %2", "e.g. played 3 hours ago by SomeSource" ) ).arg( playtime ).arg( source->friendlyName() ); } if ( m_mode == LatestAdditions && item->query()->numResults() ) { QString playtime = TomahawkUtils::ageToString( QDateTime::fromTime_t( item->query()->results().first()->modificationTime() ), true ); - lowerText = QString( tr( "added %1" ) ).arg( playtime ); + lowerText = QString( tr( "added %1", "e.g. added 3 hours ago" ) ).arg( playtime ); } if ( m_mode == LovedTracks ) @@ -206,9 +206,9 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& painter->setFont( smallFont ); QTextDocument textDoc; if ( album.isEmpty() ) - textDoc.setHtml( tr( "by %1" ).arg( artist ) ); + textDoc.setHtml( tr( "by %1", "e.g. by SomeArtist" ).arg( artist ) ); else - textDoc.setHtml( tr( "by %1 on %2" ).arg( artist ).arg( album ) ); + textDoc.setHtml( tr( "by %1 on %2", "e.g. by SomeArtist on SomeAlbum" ).arg( artist ).arg( album ) ); textDoc.setDocumentMargin( 0 ); textDoc.setDefaultFont( painter->font() ); textDoc.setDefaultTextOption( m_topOption ); From 031931c0e8d3451f2467c28e99507dc5fd396406 Mon Sep 17 00:00:00 2001 From: Lasse Liehu Date: Sat, 15 Dec 2012 19:02:18 +0200 Subject: [PATCH 226/332] Disable translation of some strings in .ui files They are either * placeholder text or * other text that is never shown to the user --- src/AudioControls.ui | 30 +++++++++---------- src/SearchBox.ui | 2 +- src/Settings_Accounts.ui | 2 +- src/Settings_Advanced.ui | 2 +- src/Settings_Collection.ui | 2 +- src/SocialWidget.ui | 6 ++-- src/accounts/zeroconf/ConfigWidget.ui | 2 +- .../accounts/lastfm/LastFmConfig.ui | 2 +- .../accounts/spotify/SpotifyAccountConfig.ui | 2 +- src/libtomahawk/context/ContextWidget.ui | 2 +- .../filemetadata/MetadataEditor.ui | 2 +- src/libtomahawk/infobar/InfoBar.ui | 2 +- src/libtomahawk/playlist/QueueView.ui | 2 +- .../widgets/infowidgets/AlbumInfoWidget.ui | 4 +-- .../widgets/infowidgets/ArtistInfoWidget.ui | 4 +-- .../widgets/infowidgets/TrackInfoWidget.ui | 6 ++-- 16 files changed, 36 insertions(+), 36 deletions(-) diff --git a/src/AudioControls.ui b/src/AudioControls.ui index 3db6af485..a531df131 100644 --- a/src/AudioControls.ui +++ b/src/AudioControls.ui @@ -71,7 +71,7 @@ -Prev +Prev @@ -83,14 +83,14 @@ -Play +Play -Pause +Pause @@ -99,7 +99,7 @@ -Next +Next @@ -225,7 +225,7 @@ -Artist +Artist @@ -244,7 +244,7 @@ -Album +Album @@ -292,7 +292,7 @@ PointingHandCursor -social +social @@ -308,7 +308,7 @@ PointingHandCursor -love +love @@ -341,7 +341,7 @@ PointingHandCursor -resolver +resolver @@ -377,7 +377,7 @@ -Time +Time Qt::AlignLeft|Qt::AlignVCenter @@ -406,7 +406,7 @@ -Time Left +Time Left Qt::AlignRight|Qt::AlignVCenter @@ -487,7 +487,7 @@ -Shuffle +Shuffle @@ -500,7 +500,7 @@ -Repeat +Repeat @@ -538,7 +538,7 @@ -Low +Low @@ -570,7 +570,7 @@ -High +High diff --git a/src/SearchBox.ui b/src/SearchBox.ui index 95e9a248d..c77443773 100644 --- a/src/SearchBox.ui +++ b/src/SearchBox.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Settings_Accounts.ui b/src/Settings_Accounts.ui index de51ed1f0..a0154bcba 100644 --- a/src/Settings_Accounts.ui +++ b/src/Settings_Accounts.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Settings_Advanced.ui b/src/Settings_Advanced.ui index e7e9a5dd7..08636c286 100644 --- a/src/Settings_Advanced.ui +++ b/src/Settings_Advanced.ui @@ -17,7 +17,7 @@ - Form + Form diff --git a/src/Settings_Collection.ui b/src/Settings_Collection.ui index 6579d2d51..590d46fea 100644 --- a/src/Settings_Collection.ui +++ b/src/Settings_Collection.ui @@ -17,7 +17,7 @@ - Form + Form diff --git a/src/SocialWidget.ui b/src/SocialWidget.ui index 636dfaa24..155fa7112 100644 --- a/src/SocialWidget.ui +++ b/src/SocialWidget.ui @@ -11,7 +11,7 @@ - Form + Form @@ -66,7 +66,7 @@ - Cover + Cover @@ -123,7 +123,7 @@ - TextLabel + TextLabel diff --git a/src/accounts/zeroconf/ConfigWidget.ui b/src/accounts/zeroconf/ConfigWidget.ui index 58633a017..84390fa37 100644 --- a/src/accounts/zeroconf/ConfigWidget.ui +++ b/src/accounts/zeroconf/ConfigWidget.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/libtomahawk/accounts/lastfm/LastFmConfig.ui b/src/libtomahawk/accounts/lastfm/LastFmConfig.ui index 19629957b..969b2aa16 100644 --- a/src/libtomahawk/accounts/lastfm/LastFmConfig.ui +++ b/src/libtomahawk/accounts/lastfm/LastFmConfig.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.ui b/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.ui index d465487a1..129d8a129 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.ui +++ b/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.ui @@ -17,7 +17,7 @@ - Form + Form diff --git a/src/libtomahawk/context/ContextWidget.ui b/src/libtomahawk/context/ContextWidget.ui index 5282df4ad..f47b6a15f 100644 --- a/src/libtomahawk/context/ContextWidget.ui +++ b/src/libtomahawk/context/ContextWidget.ui @@ -23,7 +23,7 @@ - InfoBar + InfoBar diff --git a/src/libtomahawk/filemetadata/MetadataEditor.ui b/src/libtomahawk/filemetadata/MetadataEditor.ui index 0729627d6..5ea2401d4 100644 --- a/src/libtomahawk/filemetadata/MetadataEditor.ui +++ b/src/libtomahawk/filemetadata/MetadataEditor.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/libtomahawk/infobar/InfoBar.ui b/src/libtomahawk/infobar/InfoBar.ui index afb8d6cc9..a24e59030 100644 --- a/src/libtomahawk/infobar/InfoBar.ui +++ b/src/libtomahawk/infobar/InfoBar.ui @@ -23,7 +23,7 @@ - InfoBar + InfoBar diff --git a/src/libtomahawk/playlist/QueueView.ui b/src/libtomahawk/playlist/QueueView.ui index fba21c5b1..faae65081 100644 --- a/src/libtomahawk/playlist/QueueView.ui +++ b/src/libtomahawk/playlist/QueueView.ui @@ -23,7 +23,7 @@ - InfoBar + InfoBar diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui index d565c3776..a4d3b1b66 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui @@ -11,7 +11,7 @@ - Form + Form @@ -43,7 +43,7 @@ - Cover + Cover Qt::AlignCenter diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui index b4bed1aea..3ad93f889 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui @@ -11,7 +11,7 @@ - Form + Form @@ -43,7 +43,7 @@ - Cover + Cover Qt::AlignCenter diff --git a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.ui index 926ffe2f6..9a36699d3 100644 --- a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.ui @@ -11,7 +11,7 @@ - Form + Form @@ -43,7 +43,7 @@ - Cover + Cover Qt::AlignCenter @@ -78,7 +78,7 @@ - Statistics + Statistics Qt::AlignCenter From 66c05cf9b336e17d06ba0c526551b543eca0c627 Mon Sep 17 00:00:00 2001 From: Lasse Liehu Date: Thu, 20 Dec 2012 13:57:20 +0200 Subject: [PATCH 227/332] A few string changes Make a few better translatable and one more understandable --- src/accounts/zeroconf/ZeroconfAccount.cpp | 4 ++-- src/accounts/zeroconf/ZeroconfAccount.h | 2 +- src/libtomahawk/Query.cpp | 2 +- src/libtomahawk/TomahawkSettings.cpp | 2 +- src/libtomahawk/accounts/lastfm/LastFmConfig.cpp | 1 + src/libtomahawk/utils/GuiHelpers.cpp | 8 ++++---- 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/accounts/zeroconf/ZeroconfAccount.cpp b/src/accounts/zeroconf/ZeroconfAccount.cpp index b337b48e1..e2cf9a674 100644 --- a/src/accounts/zeroconf/ZeroconfAccount.cpp +++ b/src/accounts/zeroconf/ZeroconfAccount.cpp @@ -64,8 +64,8 @@ ZeroconfFactory::icon() const ZeroconfAccount::ZeroconfAccount( const QString& accountId ) : Account( accountId ) { - setAccountServiceName( "Local Network" ); - setAccountFriendlyName( "Local Network" ); + setAccountServiceName( tr( "Local Network" ) ); + setAccountFriendlyName( tr( "Local Network" ) ); setTypes( SipType ); } diff --git a/src/accounts/zeroconf/ZeroconfAccount.h b/src/accounts/zeroconf/ZeroconfAccount.h index 136c971c0..fc7a939ae 100644 --- a/src/accounts/zeroconf/ZeroconfAccount.h +++ b/src/accounts/zeroconf/ZeroconfAccount.h @@ -39,7 +39,7 @@ public: virtual ~ZeroconfFactory(); virtual QString factoryId() const { return "zeroconfaccount"; } - virtual QString prettyName() const { return "Local Network"; } + virtual QString prettyName() const { return tr( "Local Network" ); } QString description() const { return tr( "Automatically connect to Tomahawks on the local network" ); } virtual bool isUnique() const { return true; } AccountTypes types() const { return AccountTypes( SipType ); }; diff --git a/src/libtomahawk/Query.cpp b/src/libtomahawk/Query.cpp index 378bb8d0c..47e5852fc 100644 --- a/src/libtomahawk/Query.cpp +++ b/src/libtomahawk/Query.cpp @@ -773,7 +773,7 @@ Query::socialActionDescription( const QString& action, DescriptionMode mode ) co desc += " " + tr( "and" ) + " " + tr( "%n other(s)", "", loveCounter - 3 ) + ""; if ( mode == Short ) - desc = "" + tr( "%1 people" ).arg( loveCounter ) + ""; + desc = "" + tr( "%n people", "", loveCounter ) + ""; desc += " " + tr( "loved this track" ); //FIXME: more action descs required } diff --git a/src/libtomahawk/TomahawkSettings.cpp b/src/libtomahawk/TomahawkSettings.cpp index 0aa059583..ad3f9e855 100644 --- a/src/libtomahawk/TomahawkSettings.cpp +++ b/src/libtomahawk/TomahawkSettings.cpp @@ -372,7 +372,7 @@ TomahawkSettings::doUpgrade( int oldVersion, int newVersion ) } else if ( pluginName == "sipzeroconf" ) { - setValue( QString( "accounts/%1/accountfriendlyname" ).arg( accountKey ), "Local Network" ); + setValue( QString( "accounts/%1/accountfriendlyname" ).arg( accountKey ), tr( "Local Network" ) ); } beginGroup( "accounts/" + accountKey ); diff --git a/src/libtomahawk/accounts/lastfm/LastFmConfig.cpp b/src/libtomahawk/accounts/lastfm/LastFmConfig.cpp index 9d985f156..1351df07e 100644 --- a/src/libtomahawk/accounts/lastfm/LastFmConfig.cpp +++ b/src/libtomahawk/accounts/lastfm/LastFmConfig.cpp @@ -191,6 +191,7 @@ LastFmConfig::onHistoryLoaded() { if ( m_page != total ) { + //: Text on a button that resumes import m_ui->importHistory->setText( tr( "History Incomplete. Resume" ) ); m_ui->importHistory->setEnabled( true ); } diff --git a/src/libtomahawk/utils/GuiHelpers.cpp b/src/libtomahawk/utils/GuiHelpers.cpp index a682f8b9c..2342c5344 100644 --- a/src/libtomahawk/utils/GuiHelpers.cpp +++ b/src/libtomahawk/utils/GuiHelpers.cpp @@ -99,7 +99,7 @@ createAccountFromFactory( Tomahawk::Accounts::AccountFactory* factory, QWidget* { #ifdef Q_WS_MAC // on osx a sheet needs to be non-modal - DelegateConfigWrapper* dialog = new DelegateConfigWrapper( account->configurationWidget(), account->aboutWidget(), QString("%1 Config" ).arg( account->accountFriendlyName() ), parent, Qt::Sheet ); + DelegateConfigWrapper* dialog = new DelegateConfigWrapper( account->configurationWidget(), account->aboutWidget(), QObject::tr( "%1 Config" ).arg( account->accountFriendlyName() ), parent, Qt::Sheet ); dialog->setProperty( "accountplugin", QVariant::fromValue< QObject* >( account ) ); UtilsObject* obj = new UtilsObject( dialog ); @@ -110,7 +110,7 @@ createAccountFromFactory( Tomahawk::Accounts::AccountFactory* factory, QWidget* dialog->show(); #else - DelegateConfigWrapper dialog( account->configurationWidget(), account->aboutWidget(), QString("%1 Config" ).arg( account->accountFriendlyName() ), parent ); + DelegateConfigWrapper dialog( account->configurationWidget(), account->aboutWidget(), QObject::tr( "%1 Config" ).arg( account->accountFriendlyName() ), parent ); QWeakPointer< DelegateConfigWrapper > watcher( &dialog ); if( account->configurationWidget()->metaObject()->indexOfSignal( "dataError(bool)" ) > -1 ) @@ -139,7 +139,7 @@ openAccountConfig( Tomahawk::Accounts::Account* account, QWidget* parent, bool s if( account->configurationWidget() ) { #ifndef Q_OS_MAC - DelegateConfigWrapper dialog( account->configurationWidget(), account->aboutWidget(), QString("%1 Configuration" ).arg( account->accountFriendlyName() ), parent ); + DelegateConfigWrapper dialog( account->configurationWidget(), account->aboutWidget(), QObject::tr("%1 Configuration" ).arg( account->accountFriendlyName() ), parent ); dialog.setShowDelete( showDelete ); QWeakPointer< DelegateConfigWrapper > watcher( &dialog ); int ret = dialog.exec(); @@ -154,7 +154,7 @@ openAccountConfig( Tomahawk::Accounts::Account* account, QWidget* parent, bool s } #else // on osx a sheet needs to be non-modal - DelegateConfigWrapper* dialog = new DelegateConfigWrapper( account->configurationWidget(), account->aboutWidget(), QString("%1 Configuration" ).arg( account->accountFriendlyName() ), parent, Qt::Sheet ); + DelegateConfigWrapper* dialog = new DelegateConfigWrapper( account->configurationWidget(), account->aboutWidget(), QObject::tr("%1 Configuration" ).arg( account->accountFriendlyName() ), parent, Qt::Sheet ); dialog->setShowDelete( showDelete ); dialog->setProperty( "accountplugin", QVariant::fromValue< QObject* >( account ) ); UtilsObject* obj = new UtilsObject( dialog ); From 5370675bf790a8bfc893b992b998235f08c1b56b Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Thu, 20 Dec 2012 10:35:15 -0500 Subject: [PATCH 228/332] Fix track-placeholder-grid.svg, change widget border to own image and colors. --- data/images/track-placeholder-grid.svg | 92 ++---------------- data/images/widget-border.png | Bin 0 -> 1689 bytes resources.qrc | 1 + src/libtomahawk/context/ContextWidget.cpp | 2 +- .../widgets/infowidgets/AlbumInfoWidget.cpp | 6 +- .../widgets/infowidgets/ArtistInfoWidget.cpp | 8 +- .../widgets/infowidgets/TrackInfoWidget.cpp | 4 +- 7 files changed, 19 insertions(+), 94 deletions(-) create mode 100644 data/images/widget-border.png diff --git a/data/images/track-placeholder-grid.svg b/data/images/track-placeholder-grid.svg index 789c2edb9..d938fe3ac 100644 --- a/data/images/track-placeholder-grid.svg +++ b/data/images/track-placeholder-grid.svg @@ -1,85 +1,9 @@ - - -image/svg+xml \ No newline at end of file + + track-placeholder-grid + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + \ No newline at end of file diff --git a/data/images/widget-border.png b/data/images/widget-border.png new file mode 100644 index 0000000000000000000000000000000000000000..e2c8c7df2654dd575192b4b6146b500daada136c GIT binary patch literal 1689 zcmeH|>pK$)0LHhO7}h+YhH4fEWi{Pgifv~R!iG-a!N%-e*Pr|I8)?*LE&V~hOjJ}gF*!uucC+2F(cPwgvmI;4nqf9 z*0YZ`r$hICyMJn6#t++MKf-UFuPw*9GFP+2W=$fIHjmEC>l5Q3wM%{+gX8TOz3RE#&1` z;ei&vFO=})tlk5fT1QM{WHo9vqLhl!*BcKXrxa1*5ZrOi53%|v^U<43NB+jhnCiQJ zISL6rF}B>Ln9@*14(+{Y6!$vc6{kXC1Y}(pP+q*3ae?a&9t_n!<6TVP?XD)Nod}Wr zCE`AmlkN9-aP8Z=a7M}plu%uw$uP4;lhOlK(G(t0>v(mLehA70q*)B!i})Hq_a#~M zU@Pj{--lGR?-@1fDjVyGEgN!1QPo2+%3~Z6GvVy?;8K_RApLoFcxavaq~IL(Ni^8G zxFu2A8&iQB_>z1yF8kpYZC}QXDZx*$s;nma7oIG{u@v+<>Q-i_q$aV(bfKr4ul3!>nzE_hD_L+liyrS5jDXHs&t5r z9uUvyJMm`{;`WO$B<7DC%h%>3^)HLXH1TMvBKCh-GpoJhMbVNvpL%uOrG>Z>`sbwbuvMtnq;}OyevCdFH!u`QkRZYmEcnr z?!e3h4oOtOonVP1X43z5X{m=LJMo zChE+ub4dR-!2V7Z{x~V)zYHSBLq0cK+YZb=ue>e61eqV1 zl1@1_Ha4%@Bsf#ubv>-1xzWfKiC?u_a*1e4HIH15&iYR6qN!>n?wjbm$kjZz>+*ks zIXk~oOMQpqt5-v@=&z;Z73wolOVq1)_pf0VjPBtDQr-NW+WMv00g-oBY%$j$I;gaJB-I@xeb!^0SPafq* z5+2JH@`(FC01u;VOE~ujz@+BWlEd%C7*f%_p(77sM+P1cCmf)Z{@Ow}|AGtRbQ;$< zb;?9Lwj4rT)XSHNc(>{J_CdvE YVK3*vLgG#F+T{RzJP96;@ljX)1s+fxp#T5? literal 0 HcmV?d00001 diff --git a/resources.qrc b/resources.qrc index 7d74c717e..c9cc76bcf 100644 --- a/resources.qrc +++ b/resources.qrc @@ -148,5 +148,6 @@ data/images/delete.svg data/images/ok.svg data/images/tweet.svg + data/images/widget-border.png diff --git a/src/libtomahawk/context/ContextWidget.cpp b/src/libtomahawk/context/ContextWidget.cpp index 3a9e78874..edd344a0d 100644 --- a/src/libtomahawk/context/ContextWidget.cpp +++ b/src/libtomahawk/context/ContextWidget.cpp @@ -93,7 +93,7 @@ ContextWidget::ContextWidget( QWidget* parent ) ensurePolished(); QPalette pal = palette(); - pal.setBrush( QPalette::Window, QColor( "#393840" ) ); + pal.setBrush( QPalette::Window, QColor( "##272b2e" ) ); setPalette( pal ); connect( ui->toggleButton, SIGNAL( clicked() ), SLOT( toggleSize() ) ); diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp index 1220c85dd..e8e862b9c 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp @@ -51,7 +51,7 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par ui->setupUi( widget ); QPalette pal = palette(); - pal.setColor( QPalette::Window, QColor( "#393840" ) ); + pal.setColor( QPalette::Window, QColor( "#272b2e" ) ); widget->setPalette( pal ); widget->setAutoFillBackground( true ); @@ -118,12 +118,12 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par ui->albums->setStyleSheet( "QListView { background-color: transparent; }" ); ui->albumFrame->setStyleSheet( "QFrame#albumFrame { background-color: transparent; }" "QFrame#albumFrame { " - "border-image: url(" RESPATH "images/scrollbar-vertical-handle.png) 3 3 3 3 stretch stretch;" + "border-image: url(" RESPATH "images/widget-border.png) 3 3 3 3 stretch stretch;" "border-top: 3px transparent; border-bottom: 3px transparent; border-right: 3px transparent; border-left: 3px transparent; }" ); ui->trackFrame->setStyleSheet( "QFrame#trackFrame { background-color: transparent; }" "QFrame#trackFrame { " - "border-image: url(" RESPATH "images/scrollbar-vertical-handle.png) 3 3 3 3 stretch stretch;" + "border-image: url(" RESPATH "images/widget-border.png) 3 3 3 3 stretch stretch;" "border-top: 3px transparent; border-bottom: 3px transparent; border-right: 3px transparent; border-left: 3px transparent; }" ); MetaPlaylistInterface* mpl = new MetaPlaylistInterface(); diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp index 6deaae2d5..babcc4fcd 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp @@ -51,7 +51,7 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* ui->setupUi( widget ); QPalette pal = palette(); - pal.setColor( QPalette::Window, QColor( "#393840" ) ); + pal.setColor( QPalette::Window, QColor( "##272b2e" ) ); widget->setPalette( pal ); widget->setAutoFillBackground( true ); @@ -136,19 +136,19 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* ui->albums->setStyleSheet( "QListView { background-color: transparent; }" ); ui->albumFrame->setStyleSheet( "QFrame#albumFrame { background-color: transparent; }" "QFrame#albumFrame { " - "border-image: url(" RESPATH "images/scrollbar-vertical-handle.png) 3 3 3 3 stretch stretch;" + "border-image: url(" RESPATH "images/widget-border.png) 3 3 3 3 stretch stretch;" "border-top: 3px transparent; border-bottom: 3px transparent; border-right: 3px transparent; border-left: 3px transparent; }" ); ui->relatedArtists->setStyleSheet( "QListView { background-color: transparent; }" ); ui->artistFrame->setStyleSheet( "QFrame#artistFrame { background-color: transparent; }" "QFrame#artistFrame { " - "border-image: url(" RESPATH "images/scrollbar-vertical-handle.png) 3 3 3 3 stretch stretch;" + "border-image: url(" RESPATH "images/widget-border.png) 3 3 3 3 stretch stretch;" "border-top: 3px transparent; border-bottom: 3px transparent; border-right: 3px transparent; border-left: 3px transparent; }" ); // ui->topHits->setStyleSheet( "QTreeView#topHits { background-color: transparent; }" ); ui->trackFrame->setStyleSheet( "QFrame#trackFrame { background-color: transparent; }" "QFrame#trackFrame { " - "border-image: url(" RESPATH "images/scrollbar-vertical-handle.png) 3 3 3 3 stretch stretch;" + "border-image: url(" RESPATH "images/widget-border.png) 3 3 3 3 stretch stretch;" "border-top: 3px transparent; border-bottom: 3px transparent; border-right: 3px transparent; border-left: 3px transparent; }" ); connect( ui->biography, SIGNAL( anchorClicked( QUrl ) ), SLOT( onBiographyLinkClicked( QUrl ) ) ); diff --git a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp index 5d9087916..19aefc348 100644 --- a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp @@ -44,7 +44,7 @@ TrackInfoWidget::TrackInfoWidget( const Tomahawk::query_ptr& query, QWidget* par ui->setupUi( widget ); QPalette pal = palette(); - pal.setColor( QPalette::Window, QColor( "#393840" ) ); + pal.setColor( QPalette::Window, QColor( "##272b2e" ) ); widget->setPalette( pal ); widget->setAutoFillBackground( true ); @@ -102,7 +102,7 @@ TrackInfoWidget::TrackInfoWidget( const Tomahawk::query_ptr& query, QWidget* par ui->similarTracksView->setStyleSheet( "QListView { background-color: transparent; }" ); ui->frame->setStyleSheet( "QFrame#frame { background-color: transparent; }" "QFrame#frame { " - "border-image: url(" RESPATH "images/scrollbar-vertical-handle.png) 3 3 3 3 stretch stretch;" + "border-image: url(" RESPATH "images/widget-border.png) 3 3 3 3 stretch stretch;" "border-top: 3px transparent; border-bottom: 3px transparent; border-right: 3px transparent; border-left: 3px transparent; }" ); load( query ); From 1a6c89a3cf5ea854b1da59afbb6cf9de683aae1c Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 16:31:49 +0100 Subject: [PATCH 229/332] * Remove two FuncTimeout includes. --- src/libtomahawk/Collection.h | 1 - src/libtomahawk/sip/SipHandler.cpp | 2 -- 2 files changed, 3 deletions(-) diff --git a/src/libtomahawk/Collection.h b/src/libtomahawk/Collection.h index 3ae994017..f5121f70e 100644 --- a/src/libtomahawk/Collection.h +++ b/src/libtomahawk/Collection.h @@ -32,7 +32,6 @@ #include #include "Typedefs.h" -#include "FuncTimeout.h" #include "Playlist.h" #include "playlist/dynamic/DynamicPlaylist.h" diff --git a/src/libtomahawk/sip/SipHandler.cpp b/src/libtomahawk/sip/SipHandler.cpp index 07457e26b..8e545a04d 100644 --- a/src/libtomahawk/sip/SipHandler.cpp +++ b/src/libtomahawk/sip/SipHandler.cpp @@ -29,8 +29,6 @@ #include #endif -#include "FuncTimeout.h" - #include "database/Database.h" #include "database/DatabaseImpl.h" #include "network/ControlConnection.h" From 3efaba4d714e32dc95985f5b0cdb3a64367440c7 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 16:36:37 +0100 Subject: [PATCH 230/332] * Fixed boost bind includes. --- src/TomahawkApp.cpp | 2 ++ src/libtomahawk/accounts/lastfm/LastFmConfig.cpp | 2 ++ src/libtomahawk/network/Servent.cpp | 3 ++- src/libtomahawk/resolvers/QtScriptResolver.cpp | 4 ++-- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/TomahawkApp.cpp b/src/TomahawkApp.cpp index a6b63b0f8..bcf50b32a 100644 --- a/src/TomahawkApp.cpp +++ b/src/TomahawkApp.cpp @@ -20,6 +20,8 @@ #include "TomahawkApp.h" +#include + #include "TomahawkVersion.h" #include "AclRegistryImpl.h" #include "Album.h" diff --git a/src/libtomahawk/accounts/lastfm/LastFmConfig.cpp b/src/libtomahawk/accounts/lastfm/LastFmConfig.cpp index 1351df07e..ff137a9c5 100644 --- a/src/libtomahawk/accounts/lastfm/LastFmConfig.cpp +++ b/src/libtomahawk/accounts/lastfm/LastFmConfig.cpp @@ -19,6 +19,8 @@ #include "LastFmConfig.h" #include "ui_LastFmConfig.h" +#include + #include "LastFmAccount.h" #include "database/Database.h" #include "database/DatabaseCommand_LogPlayback.h" diff --git a/src/libtomahawk/network/Servent.cpp b/src/libtomahawk/network/Servent.cpp index b25c842e7..148f0c173 100644 --- a/src/libtomahawk/network/Servent.cpp +++ b/src/libtomahawk/network/Servent.cpp @@ -28,6 +28,8 @@ #include #include +#include + #include "Result.h" #include "Source.h" #include "BufferIoDevice.h" @@ -88,7 +90,6 @@ Servent::Servent( QObject* parent ) Servent::~Servent() { - if ( m_portfwd ) { m_portfwd.data()->quit(); diff --git a/src/libtomahawk/resolvers/QtScriptResolver.cpp b/src/libtomahawk/resolvers/QtScriptResolver.cpp index 2c727d5af..74486144f 100644 --- a/src/libtomahawk/resolvers/QtScriptResolver.cpp +++ b/src/libtomahawk/resolvers/QtScriptResolver.cpp @@ -20,13 +20,13 @@ #include "QtScriptResolver.h" #include - #include #include - #include #include +#include + #include "Artist.h" #include "Album.h" #include "config.h" From 42364921a3839251926b3998ae2f23ae71346f01 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 16:36:45 +0100 Subject: [PATCH 231/332] * Fixed compiler warning. --- src/sourcetree/items/HistoryItem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sourcetree/items/HistoryItem.cpp b/src/sourcetree/items/HistoryItem.cpp index 144676d0c..f45143b53 100644 --- a/src/sourcetree/items/HistoryItem.cpp +++ b/src/sourcetree/items/HistoryItem.cpp @@ -63,7 +63,7 @@ HistoryItem::tempPageActivated( Tomahawk::ViewPage* v ) } // Only keep a certain amount of temporary pages at once - while ( MAX_HISTORY_ITEMS > 0 && m_tempItems.size() > MAX_HISTORY_ITEMS - 1 ) + while ( MAX_HISTORY_ITEMS > 0 && m_tempItems.size() > (int)MAX_HISTORY_ITEMS - 1 ) { TemporaryPageItem* item = m_tempItems.takeFirst(); QTimer::singleShot( 0, item, SLOT( removeFromList() ) ); From d31ce9c94ce0b7bd3b13c7a47713647d57b369d1 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 20 Dec 2012 16:40:12 +0100 Subject: [PATCH 232/332] * Fixed color definitions. --- src/libtomahawk/context/ContextWidget.cpp | 2 +- src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/context/ContextWidget.cpp b/src/libtomahawk/context/ContextWidget.cpp index edd344a0d..e9a742325 100644 --- a/src/libtomahawk/context/ContextWidget.cpp +++ b/src/libtomahawk/context/ContextWidget.cpp @@ -93,7 +93,7 @@ ContextWidget::ContextWidget( QWidget* parent ) ensurePolished(); QPalette pal = palette(); - pal.setBrush( QPalette::Window, QColor( "##272b2e" ) ); + pal.setBrush( QPalette::Window, QColor( "#272b2e" ) ); setPalette( pal ); connect( ui->toggleButton, SIGNAL( clicked() ), SLOT( toggleSize() ) ); diff --git a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp index 19aefc348..cb484e0e9 100644 --- a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp @@ -44,7 +44,7 @@ TrackInfoWidget::TrackInfoWidget( const Tomahawk::query_ptr& query, QWidget* par ui->setupUi( widget ); QPalette pal = palette(); - pal.setColor( QPalette::Window, QColor( "##272b2e" ) ); + pal.setColor( QPalette::Window, QColor( "#272b2e" ) ); widget->setPalette( pal ); widget->setAutoFillBackground( true ); From 2b4b21e7dbe6eef9b5826ec49659c2759e8a5f92 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Thu, 20 Dec 2012 11:02:30 -0500 Subject: [PATCH 233/332] Make widget-border transparent white and give it a transparent white inner border shadow --- data/images/widget-border.png | Bin 1689 -> 1092 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/images/widget-border.png b/data/images/widget-border.png index e2c8c7df2654dd575192b4b6146b500daada136c..227e0f70a1baaff725aca070491a766a1d257107 100644 GIT binary patch literal 1092 zcmeAS@N?(olHy`uVBq!ia0vp^4}jQ#gAGVB8&>l(FtBiYx;TbZFutAMop;57$8~oA zSC(qP&+dQ!mn$j;$S2;pHa)@DXm&~URw4CC*XM0KK2NUb<~IZ1%ip`ZyLYGUpJi(@ zd)Cq7io#!OUdQ!zMGJi0YrHjW-?<(0R=-}+z4u;h_12r)pSyoGl{bDJ7yJF$oTB{m zds0eIRqK3RwOMQPto5~SKezs}k?t{?cm4X_U46Ii#eF*w^Xra({P*hD{A+(~x>;IN zllg6JWXJn`H-k4pGSe$A;-hP(+M^DN>=fl~LJx%-^KRA{!)C$jJVdUsw zU=rbC;`qU-;9y^@=H$R4upmId;ebB_Ne}IO}w-i=XVB!eS;81v=-oWtp z%uEhOL5Bt>M+QcFMwS=p=Uhgu#v9<82b`tnKHJYKtoWf`aKbgc+vjDwKZKu^n^l`* zW_tTm&RY4ecBT6-?pgb@c>n!t^PgY&`q6Lh=i*ntb6<*YUAWQztX^<~dG5#GrJpzc z{H3$E!29>{dHuTr`vd>Yko#)4_^Y9@yX^^m;TxY0>6QPSZMp3JiZtE*(@sb0T>bLR zx%_&fV2f1#>{g}svu#aJFW=Wux;I4pxA)fS^J~6FpMJXMOLW#}pRdm^Exz}9?dyA| zH!WYj`~0mvYj}$q5 z*QFQl|FvfJ`}2=aoX>u?v*Yv0Szk))x2$`<$?i{7-W2({XDzc!@7795zUwmW~c?(9>m>Lus@zEYka?`3*D`uumLdFzYAemsB9 Zudh}rJ}GFqGq7}E@O1TaS?83{1OQWUpK$)0LHhO7}h+YhH4fEWi{Pgifv~R!iG-a!N%-e*Pr|I8)?*LE&V~hOjJ}gF*!uucC+2F(cPwgvmI;4nqf9 z*0YZ`r$hICyMJn6#t++MKf-UFuPw*9GFP+2W=$fIHjmEC>l5Q3wM%{+gX8TOz3RE#&1` z;ei&vFO=})tlk5fT1QM{WHo9vqLhl!*BcKXrxa1*5ZrOi53%|v^U<43NB+jhnCiQJ zISL6rF}B>Ln9@*14(+{Y6!$vc6{kXC1Y}(pP+q*3ae?a&9t_n!<6TVP?XD)Nod}Wr zCE`AmlkN9-aP8Z=a7M}plu%uw$uP4;lhOlK(G(t0>v(mLehA70q*)B!i})Hq_a#~M zU@Pj{--lGR?-@1fDjVyGEgN!1QPo2+%3~Z6GvVy?;8K_RApLoFcxavaq~IL(Ni^8G zxFu2A8&iQB_>z1yF8kpYZC}QXDZx*$s;nma7oIG{u@v+<>Q-i_q$aV(bfKr4ul3!>nzE_hD_L+liyrS5jDXHs&t5r z9uUvyJMm`{;`WO$B<7DC%h%>3^)HLXH1TMvBKCh-GpoJhMbVNvpL%uOrG>Z>`sbwbuvMtnq;}OyevCdFH!u`QkRZYmEcnr z?!e3h4oOtOonVP1X43z5X{m=LJMo zChE+ub4dR-!2V7Z{x~V)zYHSBLq0cK+YZb=ue>e61eqV1 zl1@1_Ha4%@Bsf#ubv>-1xzWfKiC?u_a*1e4HIH15&iYR6qN!>n?wjbm$kjZz>+*ks zIXk~oOMQpqt5-v@=&z;Z73wolOVq1)_pf0VjPBtDQr-NW+WMv00g-oBY%$j$I;gaJB-I@xeb!^0SPafq* z5+2JH@`(FC01u;VOE~ujz@+BWlEd%C7*f%_p(77sM+P1cCmf)Z{@Ow}|AGtRbQ;$< zb;?9Lwj4rT)XSHNc(>{J_CdvE YVK3*vLgG#F+T{RzJP96;@ljX)1s+fxp#T5? From 81bd375c0ca5a24db816796d5b5e5ea45a54476a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20Lindstr=C3=B6m?= Date: Thu, 20 Dec 2012 23:36:27 +0100 Subject: [PATCH 234/332] Fix SoundcloudParser --- src/libtomahawk/utils/SoundcloudParser.cpp | 63 +++++++++------------- src/libtomahawk/utils/SoundcloudParser.h | 2 +- 2 files changed, 27 insertions(+), 38 deletions(-) diff --git a/src/libtomahawk/utils/SoundcloudParser.cpp b/src/libtomahawk/utils/SoundcloudParser.cpp index 35fc6fc22..5e10379f7 100644 --- a/src/libtomahawk/utils/SoundcloudParser.cpp +++ b/src/libtomahawk/utils/SoundcloudParser.cpp @@ -71,10 +71,11 @@ void SoundcloudParser::lookupUrl( const QString& link ) { tDebug() << "Looking up URL..." << link; + QUrl scLink( QString( "http://api.soundcloud.com/resolve.json?client_id=TiNg2DRYhBnp01DA3zNag&url=" ) + link ); NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->get( QNetworkRequest( scLink ) ) ); - connect( reply, SIGNAL( finished() ), SLOT( soundcloudBrowseFinished() ) ); + connect( reply, SIGNAL( finished() ), SLOT( soundcloudLookupFinished() ) ); m_browseJob = new DropJobNotifier( pixmap(), "Soundcloud", DropJob::All, reply ); JobStatusView::instance()->model()->addJob( m_browseJob ); @@ -123,13 +124,25 @@ SoundcloudParser::soundcloudLookupFinished() QJson::Parser p; bool ok; QVariantMap res = p.parse( r->reply(), &ok ).toMap(); - if ( !ok ) { tLog() << "Failed to parse json from Soundcloud browse item:" << p.errorString() << "On line" << p.errorLine(); return; } + if( res.value( "kind" ).toString() == "playlist" ) + m_type = DropJob::Playlist; + if( res.value( "kind" ).toString() == "track" ) + m_type = DropJob::Track; + if( res.value( "kind" ).toString() == "user" ) + { + QUrl url = QUrl( QString( res.value( "uri" ).toString() + "/tracks.json?client_id=TiNg2DRYhBnp01DA3zNag" ) ); + qDebug() << Q_FUNC_INFO << url; + NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->get( QNetworkRequest( QUrl( url ) ) ) ); + connect( reply, SIGNAL( finished() ), SLOT( soundcloudArtistLookupFinished() ) ); + return; + } + if ( m_type == DropJob::Track ) { parseTrack( res ); @@ -160,10 +173,6 @@ SoundcloudParser::soundcloudLookupFinished() return; } } - else if ( m_type == DropJob::Artist ) - { - // cant parse soundcloud json here atm. - } } if ( m_single && !m_tracks.isEmpty() ) @@ -185,7 +194,7 @@ SoundcloudParser::playlistCreated() void -SoundcloudParser::soundcloudBrowseFinished() +SoundcloudParser::soundcloudArtistLookupFinished() { NetworkReply* r = qobject_cast< NetworkReply* >( sender() ); Q_ASSERT( r ); @@ -194,39 +203,19 @@ SoundcloudParser::soundcloudBrowseFinished() if ( r->reply()->error() == QNetworkReply::NoError ) { - if ( r->reply()->rawHeaderList().contains( "Location" ) ) - { - QString url = r->reply()->rawHeader( "Location" ); - if ( url.contains( "tracks" ) ) - { - m_type = DropJob::Track; - } - else if ( url.contains( "users" ) ) - { - // For now, dont handle user tracklists - m_type = DropJob::All; //DropJob::Artist; - url = url.replace( ".json", "/tracks.json" ); -} - else if ( url.contains( "playlists" ) ) - { - m_type = DropJob::Playlist; - } + QJson::Parser p; + bool ok; + QVariantList res = p.parse( r->reply(), &ok ).toList(); + foreach( const QVariant& track, res ) + parseTrack( track.toMap() ); - if ( m_type != DropJob::All ) - { - NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->get( QNetworkRequest( QUrl( url ) ) ) ); - connect( reply, SIGNAL( finished() ), SLOT( soundcloudLookupFinished() ) ); - } - } - } + if ( m_single && !m_tracks.isEmpty() ) + emit track( m_tracks.first() ); + else if ( !m_single && !m_tracks.isEmpty() ) + emit tracks( m_tracks ); - if ( m_type == DropJob::All ) - { // No good - m_queries.remove( r ); + deleteLater(); - if ( m_browseJob ) - m_browseJob->setFinished(); - return; } } diff --git a/src/libtomahawk/utils/SoundcloudParser.h b/src/libtomahawk/utils/SoundcloudParser.h index bb35b6029..37018b121 100644 --- a/src/libtomahawk/utils/SoundcloudParser.h +++ b/src/libtomahawk/utils/SoundcloudParser.h @@ -63,7 +63,7 @@ signals: void playlist( const Tomahawk::query_ptr& playlist ); private slots: - void soundcloudBrowseFinished(); + void soundcloudArtistLookupFinished(); void soundcloudLookupFinished(); void playlistCreated(); From 4cf4b995afcd507b4fcc6699bbc4751adf9c7aa6 Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Fri, 21 Dec 2012 01:17:23 +0100 Subject: [PATCH 235/332] Automatic merge of Transifex translations --- lang/tomahawk_ar.ts | 331 ++++++---------- lang/tomahawk_bg.ts | 342 ++++++----------- lang/tomahawk_bn_IN.ts | 329 ++++++---------- lang/tomahawk_ca.ts | 331 ++++++---------- lang/tomahawk_de.ts | 329 ++++++---------- lang/tomahawk_el.ts | 335 ++++++---------- lang/tomahawk_en.ts | 325 ++++++---------- lang/tomahawk_es.ts | 335 ++++++---------- lang/tomahawk_fi.ts | 842 ++++++++++++++++------------------------- lang/tomahawk_fr.ts | 391 ++++++++----------- lang/tomahawk_gl.ts | 331 ++++++---------- lang/tomahawk_hi_IN.ts | 329 ++++++---------- lang/tomahawk_hu.ts | 333 ++++++---------- lang/tomahawk_it.ts | 331 ++++++---------- lang/tomahawk_ja.ts | 393 ++++++++----------- lang/tomahawk_lt.ts | 331 ++++++---------- lang/tomahawk_pl.ts | 331 ++++++---------- lang/tomahawk_pt_BR.ts | 349 +++++++---------- lang/tomahawk_ru.ts | 331 ++++++---------- lang/tomahawk_sv.ts | 511 +++++++++++-------------- lang/tomahawk_tr.ts | 329 ++++++---------- lang/tomahawk_zh_CN.ts | 379 +++++++------------ lang/tomahawk_zh_TW.ts | 329 ++++++---------- 23 files changed, 3182 insertions(+), 5315 deletions(-) diff --git a/lang/tomahawk_ar.ts b/lang/tomahawk_ar.ts index 625194b05..ef58431a6 100644 --- a/lang/tomahawk_ar.ts +++ b/lang/tomahawk_ar.ts @@ -255,11 +255,6 @@ connect and stream from you? AlbumInfoWidget - - - Form - استمارة - Tracklist @@ -270,11 +265,6 @@ connect and stream from you? Other Albums - - - Cover - - Sorry, we could not find any other albums for this artist! @@ -307,11 +297,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - استمارة - Top Hits @@ -327,11 +312,6 @@ connect and stream from you? Albums ألبومات - - - Cover - غلاف - Sorry, we could not find any albums for this artist! @@ -351,82 +331,15 @@ connect and stream from you? AudioControls - - Prev - سابق - - - - Play - إستمع - - - - Pause - تعليق - - - - Next - التالي - - - - Artist - فنان - - - - Album - البوم - - - - social - اجتماعي - - - - love - أحب - - - - resolver - المحلل - - - - Time - الوقت - - - - Time Left - الوقت المتبقي - - - Shuffle خلط - Repeat إعادة - - - Low - منخفض - - - - High - مرتفع - Time Elapsed @@ -519,11 +432,6 @@ connect and stream from you? ContextWidget - - - InfoBar - InfoBar - @@ -753,14 +661,6 @@ connect and stream from you? - - GlobalSearchWidget - - - Form - استمارة - - IndexingJobItem @@ -771,11 +671,6 @@ connect and stream from you? InfoBar - - - InfoBar - InfoBar - Filter... @@ -784,11 +679,6 @@ connect and stream from you? LastFmConfig - - - Form - استمارة - Scrobble tracks to Last.fm @@ -925,11 +815,6 @@ connect and stream from you? MetadataEditor - - - Form - استمارة - Tags @@ -1159,26 +1044,31 @@ connect and stream from you? played %1 by you - سمعت %1 + e.g. played 3 hours ago by you + played %1 by %2 - %2 سمع %1 + e.g. played 3 hours ago by SomeSource + added %1 - إضافة %1 + e.g. added 3 hours ago + by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum @@ -1400,6 +1290,18 @@ connect and stream from you? Status Updaters أنظمة تحديث حالتك + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1411,11 +1313,6 @@ connect and stream from you? QueueView - - - InfoBar - InfoBar - @@ -1545,11 +1442,6 @@ connect and stream from you? Settings_Accounts - - - Form - استمارة - Filter by capability: @@ -1558,11 +1450,6 @@ connect and stream from you? Settings_Advanced - - - Form - استمارة - Remote Peer Connection Method @@ -1641,11 +1528,6 @@ connect and stream from you? Settings_Collection - - - Form - استمارة - Path to scan for music files: @@ -1708,11 +1590,6 @@ connect and stream from you? SocialWidget - - - Form - استمارة - Facebook @@ -1723,16 +1600,6 @@ connect and stream from you? Twitter تويتر (Twitter) - - - Cover - غلاف - - - - TextLabel - TextLabel - Tweet @@ -2035,11 +1902,6 @@ connect and stream from you? SpotifyConfig - - - Form - استمارة - Configure your Spotify account @@ -2223,59 +2085,60 @@ connect and stream from you? Tomahawk::Accounts::LastFmConfig - + Testing... اختبار... - + Test Login اختبار الدخول - + Importing %1 e.g. Importing 2012/01/01 استيراد %1 - + Importing History... نقل التاريخ... - + History Incomplete. Resume + Text on a button that resumes import تاريخ ناقص. استأنف - + Playback History Imported تم استيراد تاريخ إعادة الإستماع - - + + Failed فشلت - + Success نجاح - + Could not contact server لم أستطيع الإتصال بالخادم - + Synchronizing... مزامنة... - + Synchronization Finished المزامنة إنتهت @@ -2510,8 +2373,22 @@ You may wish to try re-authenticating. أدخل إلى حسابك على Jabber/XMPP للربط بأصدقائك + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2877,16 +2754,19 @@ Try tweaking the filters for a new set of songs to play. + Artist Familiarity ألفة الفنان + Artist Hotttnesss شعبية الفنان + Song Hotttnesss شعبية الأغنية @@ -2912,92 +2792,135 @@ Try tweaking the filters for a new set of songs to play. + Energy حيوية + Danceability القابلية للرقص - + only by ~%1 فقط من جانب ~%1 - + + similar to ~%1 مشابهة ل%1 - + with genre ~%1 مع النوع ~%1 - - + + from no one من لا أحد - + My Collection مجموعتي الخاصة - + + from my radio + + + + from %1 radio من إذاعة %1 + + + Variety + + + + + Adventurousness + + + very low + + + + + low + + + + + moderate + + + + + high + + + + + very high + + + + with %1 %2 مع %1 %2 - + about %1 BPM حوالي %1 نبضة في الدقيقة - + about %n minute(s) long بطول حوالي %n دقائقبطول حوالي دقيقة %nبطول حوالي دقيقتين %nبطول حوالي %n دقائقبطول حوالي %n دقائقبطول حوالي %n دقائق - + about %1 dB حوالي %1 د.ب. - + at around %1%2 %3 في حوالي %1%2 %3 - + in %1 في %1 - + in a %1 key في المفتاح %1 - + sorted in %1 %2 order تم فرزها بالترتيب %1 %2 - + with a %1 mood في مزاج %1 - + in a %1 style في أسلوب %1 @@ -3181,10 +3104,10 @@ Try tweaking the filters for a new set of songs to play. %n other(s) %n أخرين%n أخر%n أخرين%n أخرين%n أخرين%n أخرين - + - %1 people - %1 أشخاص + %n people + @@ -3271,7 +3194,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection مجموعتي الخاصة @@ -3291,6 +3214,14 @@ enter the displayed PIN number here: أدخل رقم البين (PIN) الموجود أمامك على الشاشة هنا: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3664,21 +3595,6 @@ enter the displayed PIN number here: TrackInfoWidget - - - Form - استمارة - - - - Cover - غلاف - - - - Statistics - إحصائيات - Similar Tracks @@ -4283,11 +4199,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - استمارة - Local Network configuration diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index a414a21c2..18c9d9a4c 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -254,11 +254,6 @@ connect and stream from you? AlbumInfoWidget - - - Form - - Tracklist @@ -269,11 +264,6 @@ connect and stream from you? Other Albums Други албуми - - - Cover - Обложка - Sorry, we could not find any other albums for this artist! @@ -306,11 +296,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - - Top Hits @@ -326,11 +311,6 @@ connect and stream from you? Albums Албуми - - - Cover - Обложка - Sorry, we could not find any albums for this artist! @@ -350,82 +330,15 @@ connect and stream from you? AudioControls - - Prev - Предходна - - - - Play - Изпълни - - - - Pause - Пауза - - - - Next - Следваща - - - - Artist - Артист - - - - Album - Албум - - - - social - социален - - - - love - Харесай - - - - resolver - Модул за извличане - - - - Time - Времетраене - - - - Time Left - Оставащо време - - - Shuffle Разбъркано - Repeat Повтори - - - Low - 0 - - - - High - 100% - Time Elapsed @@ -518,11 +431,6 @@ connect and stream from you? ContextWidget - - - InfoBar - Информационно поле - @@ -756,14 +664,6 @@ Tomahaw създаде доклад относно това и изпращай Този списък е празен в моментът. Добави няколко песни и се наслади на музиката. - - GlobalSearchWidget - - - Form - - - IndexingJobItem @@ -774,11 +674,6 @@ Tomahaw създаде доклад относно това и изпращай InfoBar - - - InfoBar - Информационно поле - Filter... @@ -787,11 +682,6 @@ Tomahaw създаде доклад относно това и изпращай LastFmConfig - - - Form - - Scrobble tracks to Last.fm @@ -928,11 +818,6 @@ Tomahaw създаде доклад относно това и изпращай MetadataEditor - - - Form - - Tags @@ -1162,27 +1047,32 @@ Tomahaw създаде доклад относно това и изпращай played %1 by you - изпълнена %1 от мен + e.g. played 3 hours ago by you + played %1 by %2 - изпълнена %1 от %2 + e.g. played 3 hours ago by SomeSource + added %1 - добавен %1 + e.g. added 3 hours ago + by <b>%1</b> - от <b>%1</b> + e.g. by SomeArtist + by <b>%1</b> on <b>%2</b> - от <b>%1</b> на <b>%2</b> + e.g. by SomeArtist on SomeAlbum + @@ -1405,6 +1295,18 @@ Tomahaw създаде доклад относно това и изпращай Status Updaters Обновяване на статуси + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1416,11 +1318,6 @@ Tomahaw създаде доклад относно това и изпращай QueueView - - - InfoBar - Информационно поле - @@ -1551,11 +1448,6 @@ Tomahaw създаде доклад относно това и изпращай Settings_Accounts - - - Form - - Filter by capability: @@ -1564,11 +1456,6 @@ Tomahaw създаде доклад относно това и изпращай Settings_Advanced - - - Form - - Remote Peer Connection Method @@ -1648,11 +1535,6 @@ Tomahaw създаде доклад относно това и изпращай Settings_Collection - - - Form - - Path to scan for music files: @@ -1715,11 +1597,6 @@ Tomahaw създаде доклад относно това и изпращай SocialWidget - - - Form - Бланка - Facebook @@ -1730,16 +1607,6 @@ Tomahaw създаде доклад относно това и изпращай Twitter Twitter - - - Cover - Обложка - - - - TextLabel - Етикет - Tweet @@ -1748,7 +1615,7 @@ Tomahaw създаде доклад относно това и изпращай Listening to "%1" by %2. %3 - ♥ "%1" от %2, %3 + "%1" от %2, %3 @@ -2013,8 +1880,7 @@ Tomahaw създаде доклад относно това и изпращай SuperCollection - Супер колекция -/Сборен излед от локалните и наличните в колекциите на приятелите ти/ + Обща колекция @@ -2044,11 +1910,6 @@ Tomahaw създаде доклад относно това и изпращай SpotifyConfig - - - Form - - Configure your Spotify account @@ -2235,59 +2096,60 @@ Tomahaw създаде доклад относно това и изпращай Tomahawk::Accounts::LastFmConfig - + Testing... Тествам... - + Test Login Тествай връзката - + Importing %1 e.g. Importing 2012/01/01 Импортирам %1 - + Importing History... Импортирам... - + History Incomplete. Resume + Text on a button that resumes import Непълна информация. Продължи. - + Playback History Imported Историята на просвирените песни е импортирана - - + + Failed Неуспех - + Success Ура! - + Could not contact server Не мога да се свържа със сървъра - + Synchronizing... Синхронизирам... - + Synchronization Finished Синхронизирането приключи @@ -2523,8 +2385,22 @@ You may wish to try re-authenticating. Свържи се с твоята Jabber/XMPP регистрация, за да откриеш твоите приятели + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2890,16 +2766,19 @@ Try tweaking the filters for a new set of songs to play. + Artist Familiarity Подобие на изпълнителите + Artist Hotttnesss Популярност на изпълнителите + Song Hotttnesss Популярност на песните @@ -2925,92 +2804,135 @@ Try tweaking the filters for a new set of songs to play. + Energy Енергичност + Danceability Танцувалност - + only by ~%1 само на -%1 - + + similar to ~%1 подобни на - %1 - + with genre ~%1 със стил - %1 - - + + from no one от никой - + My Collection Моята колекция - + + from my radio + + + + from %1 radio от %1 станция + + + Variety + + + + + Adventurousness + + + very low + + + + + low + + + + + moderate + + + + + high + + + + + very high + + + + with %1 %2 с %1 %2 - + about %1 BPM около %1 BPM - + about %n minute(s) long около %n минутаоколо %n минути - + about %1 dB около %1 dB - + at around %1%2 %3 около %1 %2 %3 - + in %1 в %1 - + in a %1 key в %1 Октава - + sorted in %1 %2 order сортирано в %1 %2 ред - + with a %1 mood с %1 настроение - + in a %1 style в %1 стил @@ -3100,7 +3022,7 @@ Try tweaking the filters for a new set of songs to play. Listening to "%1" by %2 and loving it! %3 - #fb ♥ "%1" от %2 %3 + "%1" от %2 %3 @@ -3194,10 +3116,10 @@ Try tweaking the filters for a new set of songs to play. %n other(s) %n друг%n други - + - %1 people - %1 хора + %n people + @@ -3284,7 +3206,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection Моята колекция @@ -3304,6 +3226,14 @@ enter the displayed PIN number here: въведи генерираният код тук: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3680,21 +3610,6 @@ enter the displayed PIN number here: TrackInfoWidget - - - Form - - - - - Cover - Обложка - - - - Statistics - Статистика - Similar Tracks @@ -4297,11 +4212,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - - Local Network configuration diff --git a/lang/tomahawk_bn_IN.ts b/lang/tomahawk_bn_IN.ts index 189cb3071..20421958d 100644 --- a/lang/tomahawk_bn_IN.ts +++ b/lang/tomahawk_bn_IN.ts @@ -254,11 +254,6 @@ connect and stream from you? AlbumInfoWidget - - - Form - - Tracklist @@ -269,11 +264,6 @@ connect and stream from you? Other Albums - - - Cover - - Sorry, we could not find any other albums for this artist! @@ -306,11 +296,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - - Top Hits @@ -326,11 +311,6 @@ connect and stream from you? Albums - - - Cover - - Sorry, we could not find any albums for this artist! @@ -350,82 +330,15 @@ connect and stream from you? AudioControls - - Prev - - - - - Play - - - - - Pause - - - - - Next - - - - - Artist - - - - - Album - - - - - social - - - - - love - - - - - resolver - - - - - Time - - - - - Time Left - - - - Shuffle - Repeat - - - Low - - - - - High - - Time Elapsed @@ -518,11 +431,6 @@ connect and stream from you? ContextWidget - - - InfoBar - - @@ -752,14 +660,6 @@ connect and stream from you? - - GlobalSearchWidget - - - Form - - - IndexingJobItem @@ -770,11 +670,6 @@ connect and stream from you? InfoBar - - - InfoBar - - Filter... @@ -783,11 +678,6 @@ connect and stream from you? LastFmConfig - - - Form - - Scrobble tracks to Last.fm @@ -924,11 +814,6 @@ connect and stream from you? MetadataEditor - - - Form - - Tags @@ -1158,26 +1043,31 @@ connect and stream from you? played %1 by you + e.g. played 3 hours ago by you played %1 by %2 + e.g. played 3 hours ago by SomeSource added %1 + e.g. added 3 hours ago by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum @@ -1397,6 +1287,18 @@ connect and stream from you? Status Updaters + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1408,11 +1310,6 @@ connect and stream from you? QueueView - - - InfoBar - - @@ -1542,11 +1439,6 @@ connect and stream from you? Settings_Accounts - - - Form - - Filter by capability: @@ -1555,11 +1447,6 @@ connect and stream from you? Settings_Advanced - - - Form - - Remote Peer Connection Method @@ -1638,11 +1525,6 @@ connect and stream from you? Settings_Collection - - - Form - - Path to scan for music files: @@ -1705,11 +1587,6 @@ connect and stream from you? SocialWidget - - - Form - - Facebook @@ -1720,16 +1597,6 @@ connect and stream from you? Twitter - - - Cover - - - - - TextLabel - - Tweet @@ -2032,11 +1899,6 @@ connect and stream from you? SpotifyConfig - - - Form - - Configure your Spotify account @@ -2220,59 +2082,60 @@ connect and stream from you? Tomahawk::Accounts::LastFmConfig - + Testing... - + Test Login - + Importing %1 e.g. Importing 2012/01/01 - + Importing History... - + History Incomplete. Resume + Text on a button that resumes import - + Playback History Imported - - + + Failed - + Success - + Could not contact server - + Synchronizing... - + Synchronization Finished @@ -2504,8 +2367,22 @@ You may wish to try re-authenticating. + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2867,16 +2744,19 @@ Try tweaking the filters for a new set of songs to play. + Artist Familiarity + Artist Hotttnesss + Song Hotttnesss @@ -2902,92 +2782,135 @@ Try tweaking the filters for a new set of songs to play. + Energy + Danceability - + only by ~%1 - + + similar to ~%1 - + with genre ~%1 - - + + from no one - + My Collection - + + from my radio + + + + from %1 radio + + + Variety + + + + + Adventurousness + + - with %1 %2 + very low - about %1 BPM + low - + - about %n minute(s) long - + moderate + - about %1 dB + high - at around %1%2 %3 + very high + + + + + with %1 %2 + about %1 BPM + + + + + about %n minute(s) long + + + + + about %1 dB + + + + + at around %1%2 %3 + + + + in %1 - + in a %1 key - + sorted in %1 %2 order - + with a %1 mood - + in a %1 style @@ -3171,10 +3094,10 @@ Try tweaking the filters for a new set of songs to play. %n other(s) - + - %1 people - + %n people + @@ -3261,7 +3184,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection @@ -3280,6 +3203,14 @@ enter the displayed PIN number here: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3653,21 +3584,6 @@ enter the displayed PIN number here: TrackInfoWidget - - - Form - - - - - Cover - - - - - Statistics - - Similar Tracks @@ -4259,11 +4175,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - - Local Network configuration diff --git a/lang/tomahawk_ca.ts b/lang/tomahawk_ca.ts index d9c93caa1..7086cb098 100644 --- a/lang/tomahawk_ca.ts +++ b/lang/tomahawk_ca.ts @@ -254,11 +254,6 @@ connect and stream from you? AlbumInfoWidget - - - Form - Formulari - Tracklist @@ -269,11 +264,6 @@ connect and stream from you? Other Albums - - - Cover - - Sorry, we could not find any other albums for this artist! @@ -306,11 +296,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - Formulari - Top Hits @@ -326,11 +311,6 @@ connect and stream from you? Albums Àlbums - - - Cover - Caràtula - Sorry, we could not find any albums for this artist! @@ -350,82 +330,15 @@ connect and stream from you? AudioControls - - Prev - Anterior - - - - Play - Reprodueix - - - - Pause - Pausa - - - - Next - Següent - - - - Artist - Artista - - - - Album - Àlbum - - - - social - social - - - - love - M'encanta - - - - resolver - - - - - Time - Temps - - - - Time Left - Temps Restant - - - Shuffle Mescla - Repeat Repeteix - - - Low - Baix - - - - High - Alt - Time Elapsed @@ -518,11 +431,6 @@ connect and stream from you? ContextWidget - - - InfoBar - Barra d'Informació - @@ -752,14 +660,6 @@ connect and stream from you? - - GlobalSearchWidget - - - Form - Formulari - - IndexingJobItem @@ -770,11 +670,6 @@ connect and stream from you? InfoBar - - - InfoBar - Barra d'Informació - Filter... @@ -783,11 +678,6 @@ connect and stream from you? LastFmConfig - - - Form - Formulari - Scrobble tracks to Last.fm @@ -924,11 +814,6 @@ connect and stream from you? MetadataEditor - - - Form - - Tags @@ -1158,26 +1043,31 @@ connect and stream from you? played %1 by you - reproduït %1 + e.g. played 3 hours ago by you + played %1 by %2 - reproduït %1 per %2 + e.g. played 3 hours ago by SomeSource + added %1 - afegit %1 + e.g. added 3 hours ago + by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum @@ -1398,6 +1288,18 @@ connect and stream from you? Status Updaters Actualitzadors d'Estat + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1409,11 +1311,6 @@ connect and stream from you? QueueView - - - InfoBar - Barra d'Informació - @@ -1543,11 +1440,6 @@ connect and stream from you? Settings_Accounts - - - Form - - Filter by capability: @@ -1556,11 +1448,6 @@ connect and stream from you? Settings_Advanced - - - Form - - Remote Peer Connection Method @@ -1639,11 +1526,6 @@ connect and stream from you? Settings_Collection - - - Form - - Path to scan for music files: @@ -1706,11 +1588,6 @@ connect and stream from you? SocialWidget - - - Form - Formulari - Facebook @@ -1721,16 +1598,6 @@ connect and stream from you? Twitter Twitter - - - Cover - Cover - - - - TextLabel - TextLabel - Tweet @@ -2033,11 +1900,6 @@ connect and stream from you? SpotifyConfig - - - Form - Formulari - Configure your Spotify account @@ -2221,59 +2083,60 @@ connect and stream from you? Tomahawk::Accounts::LastFmConfig - + Testing... S'està comprovant... - + Test Login Comprova l'inici de sessió - + Importing %1 e.g. Importing 2012/01/01 S'està important %1 - + Importing History... S'està important l'historial... - + History Incomplete. Resume + Text on a button that resumes import Historial incomplet... Reprèn - + Playback History Imported S'ha importat l'historial de reproducció - - + + Failed Error - + Success Èxit - + Could not contact server No s'ha pogut contactar amb el servidor - + Synchronizing... - + Synchronization Finished @@ -2508,8 +2371,22 @@ Torneu a autenticar-vos. Inicieu sessió al vostre compte Jabber/XMPP per conectar-vos amb els amics + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2875,16 +2752,19 @@ Intenteu ajustar els filtres per reproduir noves cançons. + Artist Familiarity Semblança amb l'artista + Artist Hotttnesss Rellevància d'Artista + Song Hotttnesss Rellevància de Cançó @@ -2910,92 +2790,135 @@ Intenteu ajustar els filtres per reproduir noves cançons. + Energy Energia + Danceability Ballabilitat - + only by ~%1 només per ~%1 - + + similar to ~%1 semblant a ~%1 - + with genre ~%1 amb el gènere ~%1 - - + + from no one de ningú - + My Collection La Meva Col·lecció - + + from my radio + + + + from %1 radio de la ràdio %1 + + + Variety + + + + + Adventurousness + + + very low + + + + + low + + + + + moderate + + + + + high + + + + + very high + + + + with %1 %2 amb %1 %2 - + about %1 BPM sobre %1 BPM - + about %n minute(s) long sobre %n minut de duradasobre %n minuts de durada - + about %1 dB sobre %1 dB - + at around %1%2 %3 sobre %1%2 %3 - + in %1 en %1 - + in a %1 key en clau de %1 - + sorted in %1 %2 order ordenades en %1 %2 - + with a %1 mood amb l'humor %1 - + in a %1 style amb l'estil %1 @@ -3179,10 +3102,10 @@ Intenteu ajustar els filtres per reproduir noves cançons. %n other(s) %n més%n més - + - %1 people - %1 persones + %n people + @@ -3269,7 +3192,7 @@ Intenteu ajustar els filtres per reproduir noves cançons. TomahawkApp - + My Collection La meva Col·lecció @@ -3289,6 +3212,14 @@ enter the displayed PIN number here: introduïu el PIN aquí: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3662,21 +3593,6 @@ introduïu el PIN aquí: TrackInfoWidget - - - Form - Formulari - - - - Cover - Cover - - - - Statistics - Estadístiques - Similar Tracks @@ -4279,11 +4195,6 @@ Lletres de la cancó "%1" de %2: ZeroconfConfig - - - Form - Formulari - Local Network configuration diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index 6dff3ce7f..b128acde3 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -255,11 +255,6 @@ erlauben sich mit dir zu verbinden? AlbumInfoWidget - - - Form - Form - Tracklist @@ -270,11 +265,6 @@ erlauben sich mit dir zu verbinden? Other Albums Andere Alben - - - Cover - Cover - Sorry, we could not find any other albums for this artist! @@ -307,11 +297,6 @@ erlauben sich mit dir zu verbinden? ArtistInfoWidget - - - Form - Form - Top Hits @@ -327,11 +312,6 @@ erlauben sich mit dir zu verbinden? Albums Alben - - - Cover - Cover - Sorry, we could not find any albums for this artist! @@ -351,82 +331,15 @@ erlauben sich mit dir zu verbinden? AudioControls - - Prev - Zurück - - - - Play - Abspielen - - - - Pause - Pause - - - - Next - Weiter - - - - Artist - Künstler - - - - Album - Album - - - - social - Sozial - - - - love - Lieben - - - - resolver - Resolver - - - - Time - Zeit - - - - Time Left - Zeit verbleibend - - - Shuffle Zufall - Repeat Wiederholen - - - Low - Niedrig - - - - High - Hoch - Time Elapsed @@ -519,11 +432,6 @@ erlauben sich mit dir zu verbinden? ContextWidget - - - InfoBar - Infoleiste - @@ -753,14 +661,6 @@ erlauben sich mit dir zu verbinden? Diese Playlist ist derzeit leer. Füge einige Stücke hinzu und genieße die Musik! - - GlobalSearchWidget - - - Form - Form - - IndexingJobItem @@ -771,11 +671,6 @@ erlauben sich mit dir zu verbinden? InfoBar - - - InfoBar - Infoleiste - Filter... @@ -784,11 +679,6 @@ erlauben sich mit dir zu verbinden? LastFmConfig - - - Form - Formular - Scrobble tracks to Last.fm @@ -925,11 +815,6 @@ erlauben sich mit dir zu verbinden? MetadataEditor - - - Form - Form - Tags @@ -1159,26 +1044,31 @@ erlauben sich mit dir zu verbinden? played %1 by you + e.g. played 3 hours ago by you angehört %1 von dir played %1 by %2 - hörte %1 von %2 + e.g. played 3 hours ago by SomeSource + angehört %1 von %2 added %1 - fügte %1 hinzu + e.g. added 3 hours ago + hinzugefügt %1 by <b>%1</b> + e.g. by SomeArtist von <b>%1</b> by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum von <b>%1</b> auf <b>%2</b> @@ -1399,6 +1289,18 @@ erlauben sich mit dir zu verbinden? Status Updaters Status-Updater + + + + %1 Config + %1 Konfiguration + + + + + %1 Configuration + %1 Konfiguration + QuaZipFilePrivate @@ -1410,11 +1312,6 @@ erlauben sich mit dir zu verbinden? QueueView - - - InfoBar - Infoleiste - @@ -1544,11 +1441,6 @@ erlauben sich mit dir zu verbinden? Settings_Accounts - - - Form - Form - Filter by capability: @@ -1557,11 +1449,6 @@ erlauben sich mit dir zu verbinden? Settings_Advanced - - - Form - Form - Remote Peer Connection Method @@ -1640,11 +1527,6 @@ erlauben sich mit dir zu verbinden? Settings_Collection - - - Form - Form - Path to scan for music files: @@ -1707,11 +1589,6 @@ erlauben sich mit dir zu verbinden? SocialWidget - - - Form - Formular - Facebook @@ -1722,16 +1599,6 @@ erlauben sich mit dir zu verbinden? Twitter Twitter - - - Cover - Cover - - - - TextLabel - TextLabel - Tweet @@ -2034,11 +1901,6 @@ erlauben sich mit dir zu verbinden? SpotifyConfig - - - Form - Formular - Configure your Spotify account @@ -2222,59 +2084,60 @@ erlauben sich mit dir zu verbinden? Tomahawk::Accounts::LastFmConfig - + Testing... Teste... - + Test Login Login testen - + Importing %1 e.g. Importing 2012/01/01 Importiere %1 - + Importing History... Importiere Historie... - + History Incomplete. Resume + Text on a button that resumes import Historie unvollständig. Fortfahren - + Playback History Imported Lieder-Historie importiert - - + + Failed Fehlgeschlagen - + Success Erfolgreich - + Could not contact server Konnte den Server nicht erreichen! - + Synchronizing... Synchronisieren... - + Synchronization Finished Synchronisierung abgeschlossen @@ -2507,8 +2370,22 @@ You may wish to try re-authenticating. Benutze dein Jabber/XMPP-Konto, um dich mit Freunden zu verbinden + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + Lokales Netzwerk + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + Lokales Netzwerk + Automatically connect to Tomahawks on the local network @@ -2874,16 +2751,19 @@ Versuch die Filter anzupassen für neue Lieder. + Artist Familiarity Ähnlichkeit + Artist Hotttnesss Popularität des Künstlers + Song Hotttnesss Popularität des Liedes @@ -2909,92 +2789,135 @@ Versuch die Filter anzupassen für neue Lieder. + Energy Energie + Danceability Tanzbarkeit - + only by ~%1 nur von %1 - + + similar to ~%1 ähnlich zu %1 - + with genre ~%1 aus dem Genre %1 - - + + from no one von niemandem - + My Collection Meine Sammlung - + + from my radio + von meinem Radio + + + from %1 radio aus dem %1 Radio + + + Variety + Vielfalt + + + + Adventurousness + Abenteuerlichkeit + + very low + sehr niedrig + + + + low + niedrig + + + + moderate + mäßig + + + + high + hoch + + + + very high + sehr hoch + + + with %1 %2 mit %1 %2 - + about %1 BPM ungefähr %1 BPM - + about %n minute(s) long ungefähr eine Minute langungefähr %n Minuten lang - + about %1 dB ungefähr %1 dB - + at around %1%2 %3 bei ungefähr %1%2 %3 - + in %1 in %1 - + in a %1 key in der Tonart %1 - + sorted in %1 %2 order sortiert nach %1 %2 - + with a %1 mood mit einer %1 Stimmung - + in a %1 style im %1 Stil @@ -3178,10 +3101,10 @@ Versuch die Filter anzupassen für neue Lieder. %n other(s) %n anderer%n andere - + - %1 people - %1 Leute + %n people + eine Person%n Personen @@ -3268,7 +3191,7 @@ Versuch die Filter anzupassen für neue Lieder. TomahawkApp - + My Collection Meine Sammlung @@ -3288,6 +3211,14 @@ enter the displayed PIN number here: Tomahawk auf Twitter's Website authentifiziert hast: + + TomahawkSettings + + + Local Network + Lokales Netzwerk + + TomahawkTrayIcon @@ -3661,21 +3592,6 @@ Tomahawk auf Twitter's Website authentifiziert hast: TrackInfoWidget - - - Form - Formular - - - - Cover - Cover - - - - Statistics - Statistiken - Similar Tracks @@ -4276,11 +4192,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - Form - Local Network configuration diff --git a/lang/tomahawk_el.ts b/lang/tomahawk_el.ts index ee7c4fe99..d05815e35 100644 --- a/lang/tomahawk_el.ts +++ b/lang/tomahawk_el.ts @@ -254,11 +254,6 @@ connect and stream from you? AlbumInfoWidget - - - Form - Φόρμα - Tracklist @@ -269,11 +264,6 @@ connect and stream from you? Other Albums - - - Cover - - Sorry, we could not find any other albums for this artist! @@ -306,11 +296,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - Φόρμα - Top Hits @@ -326,11 +311,6 @@ connect and stream from you? Albums Άλμπουμ - - - Cover - - Sorry, we could not find any albums for this artist! @@ -350,82 +330,15 @@ connect and stream from you? AudioControls - - Prev - Προηγ - - - - Play - Αναπαραγωγή - - - - Pause - Παύση - - - - Next - Επόμενο - - - - Artist - Καλλιτέχνης - - - - Album - Άλμπουμ - - - - social - - - - - love - αγάπησε - - - - resolver - - - - - Time - Χρόνος - - - - Time Left - Απομένει - - - Shuffle Τυχαία σειρά - Repeat Επανάληψη - - - Low - Χαμηλή - - - - High - Υψηλή - Time Elapsed @@ -518,11 +431,6 @@ connect and stream from you? ContextWidget - - - InfoBar - - @@ -752,14 +660,6 @@ connect and stream from you? - - GlobalSearchWidget - - - Form - Φόρμα - - IndexingJobItem @@ -770,11 +670,6 @@ connect and stream from you? InfoBar - - - InfoBar - InfoBar - Filter... @@ -783,11 +678,6 @@ connect and stream from you? LastFmConfig - - - Form - Φόρμα - Scrobble tracks to Last.fm @@ -924,11 +814,6 @@ connect and stream from you? MetadataEditor - - - Form - - Tags @@ -1158,26 +1043,31 @@ connect and stream from you? played %1 by you - παίχθηκε %1 από εσάς + e.g. played 3 hours ago by you + played %1 by %2 - παίχθηκε %1 από τον/την %2 + e.g. played 3 hours ago by SomeSource + added %1 - προστέθηκε το %1 + e.g. added 3 hours ago + by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum @@ -1398,6 +1288,18 @@ connect and stream from you? Status Updaters Ανανεωτές Κατάστασης + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1409,11 +1311,6 @@ connect and stream from you? QueueView - - - InfoBar - Γραμμή Πληροφοριών - @@ -1543,11 +1440,6 @@ connect and stream from you? Settings_Accounts - - - Form - - Filter by capability: @@ -1556,11 +1448,6 @@ connect and stream from you? Settings_Advanced - - - Form - - Remote Peer Connection Method @@ -1639,11 +1526,6 @@ connect and stream from you? Settings_Collection - - - Form - - Path to scan for music files: @@ -1706,11 +1588,6 @@ connect and stream from you? SocialWidget - - - Form - - Facebook @@ -1721,16 +1598,6 @@ connect and stream from you? Twitter Twitter - - - Cover - Εξώφυλλο - - - - TextLabel - - Tweet @@ -2033,11 +1900,6 @@ connect and stream from you? SpotifyConfig - - - Form - Μορφή - Configure your Spotify account @@ -2221,59 +2083,60 @@ connect and stream from you? Tomahawk::Accounts::LastFmConfig - + Testing... - + Test Login - + Importing %1 e.g. Importing 2012/01/01 - + Importing History... - + History Incomplete. Resume + Text on a button that resumes import - + Playback History Imported - - + + Failed Αποτυχία - + Success Επιτυχία - + Could not contact server Δεν ήταν δυνατή η επικοινωνία με τον εξυπηρετητή - + Synchronizing... Συγχρονισμός... - + Synchronization Finished Συγχρονισμός Τελείωσε @@ -2508,8 +2371,22 @@ You may wish to try re-authenticating. Συνδεθείτε στον λογαριασμό Jabber/XMPP σας για να συνδεθείτε με τους φίλους σας + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2875,16 +2752,19 @@ Try tweaking the filters for a new set of songs to play. + Artist Familiarity + Artist Hotttnesss + Song Hotttnesss @@ -2910,92 +2790,135 @@ Try tweaking the filters for a new set of songs to play. + Energy Ενέργεια + Danceability - + only by ~%1 - + + similar to ~%1 - + with genre ~%1 - - + + from no one - + My Collection Η Συλλογή Μου - + + from my radio + + + + from %1 radio + + + Variety + + + + + Adventurousness + + - with %1 %2 + very low - about %1 BPM + low - + - about %n minute(s) long - + moderate + - about %1 dB + high - at around %1%2 %3 + very high + + + + + with %1 %2 + about %1 BPM + + + + + about %n minute(s) long + + + + + about %1 dB + + + + + at around %1%2 %3 + + + + in %1 - + in a %1 key - + sorted in %1 %2 order - + with a %1 mood - + in a %1 style @@ -3179,10 +3102,10 @@ Try tweaking the filters for a new set of songs to play. %n other(s) - + - %1 people - %1 άτομα + %n people + @@ -3269,7 +3192,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection Η Συλλογή μου @@ -3288,6 +3211,14 @@ enter the displayed PIN number here: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3661,21 +3592,6 @@ enter the displayed PIN number here: TrackInfoWidget - - - Form - Φόρμα - - - - Cover - Εκτέλεση - - - - Statistics - Στατιστικά - Similar Tracks @@ -4267,11 +4183,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - - Local Network configuration diff --git a/lang/tomahawk_en.ts b/lang/tomahawk_en.ts index 6a12f133f..9356aaecc 100644 --- a/lang/tomahawk_en.ts +++ b/lang/tomahawk_en.ts @@ -255,11 +255,6 @@ connect and stream from you? AlbumInfoWidget - - - Form - Form - Tracklist @@ -270,11 +265,6 @@ connect and stream from you? Other Albums Other Albums - - - Cover - Cover - Sorry, we could not find any other albums for this artist! @@ -307,11 +297,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - Form - Top Hits @@ -327,11 +312,6 @@ connect and stream from you? Albums Albums - - - Cover - Cover - Sorry, we could not find any albums for this artist! @@ -351,82 +331,15 @@ connect and stream from you? AudioControls - - Prev - Prev - - - - Play - Play - - - - Pause - Pause - - - - Next - Next - - - - Artist - Artist - - - - Album - Album - - - - social - social - - - - love - love - - - - resolver - resolver - - - - Time - Time - - - - Time Left - Time Left - - - Shuffle Shuffle - Repeat Repeat - - - Low - Low - - - - High - High - Time Elapsed @@ -519,11 +432,6 @@ connect and stream from you? ContextWidget - - - InfoBar - InfoBar - @@ -753,14 +661,6 @@ connect and stream from you? This playlist is currently empty. Add some tracks to it and enjoy the music! - - GlobalSearchWidget - - - Form - Form - - IndexingJobItem @@ -771,11 +671,6 @@ connect and stream from you? InfoBar - - - InfoBar - InfoBar - Filter... @@ -784,11 +679,6 @@ connect and stream from you? LastFmConfig - - - Form - Form - Scrobble tracks to Last.fm @@ -925,11 +815,6 @@ connect and stream from you? MetadataEditor - - - Form - Form - Tags @@ -1159,26 +1044,31 @@ connect and stream from you? played %1 by you + e.g. played 3 hours ago by you played %1 by you played %1 by %2 + e.g. played 3 hours ago by SomeSource played %1 by %2 added %1 + e.g. added 3 hours ago added %1 by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum by <b>%1</b> on <b>%2</b> @@ -1399,6 +1289,18 @@ connect and stream from you? Status Updaters Status Updaters + + + + %1 Config + %1 Config + + + + + %1 Configuration + %1 Configuration + QuaZipFilePrivate @@ -1410,11 +1312,6 @@ connect and stream from you? QueueView - - - InfoBar - InfoBar - @@ -1544,11 +1441,6 @@ connect and stream from you? Settings_Accounts - - - Form - Form - Filter by capability: @@ -1557,11 +1449,6 @@ connect and stream from you? Settings_Advanced - - - Form - Form - Remote Peer Connection Method @@ -1640,11 +1527,6 @@ connect and stream from you? Settings_Collection - - - Form - Form - Path to scan for music files: @@ -1710,11 +1592,6 @@ connect and stream from you? SocialWidget - - - Form - Form - Facebook @@ -1725,16 +1602,6 @@ connect and stream from you? Twitter Twitter - - - Cover - Cover - - - - TextLabel - TextLabel - Tweet @@ -2037,11 +1904,6 @@ connect and stream from you? SpotifyConfig - - - Form - Form - Configure your Spotify account @@ -2225,59 +2087,60 @@ connect and stream from you? Tomahawk::Accounts::LastFmConfig - + Testing... Testing... - + Test Login Test Login - + Importing %1 e.g. Importing 2012/01/01 Importing %1 - + Importing History... Importing History... - + History Incomplete. Resume + Text on a button that resumes import History Incomplete. Resume - + Playback History Imported Playback History Imported - - + + Failed Failed - + Success Success - + Could not contact server Could not contact server - + Synchronizing... Synchronizing... - + Synchronization Finished Synchronization Finished @@ -2512,8 +2375,22 @@ You may wish to try re-authenticating. Log on to your Jabber/XMPP account to connect to your friends + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + Local Network + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + Local Network + Automatically connect to Tomahawks on the local network @@ -2879,16 +2756,19 @@ Try tweaking the filters for a new set of songs to play. + Artist Familiarity Artist Familiarity + Artist Hotttnesss Artist Hotttnesss + Song Hotttnesss Song Hotttnesss @@ -2914,92 +2794,135 @@ Try tweaking the filters for a new set of songs to play. + Energy Energy + Danceability Danceability - + only by ~%1 only by ~%1 - + + similar to ~%1 similar to ~%1 - + with genre ~%1 with genre ~%1 - - + + from no one from no one - + My Collection My Collection - + + from my radio + from my radio + + + from %1 radio from %1 radio + + + Variety + Variety + + + + Adventurousness + Adventurousness + + very low + very low + + + + low + low + + + + moderate + moderate + + + + high + high + + + + very high + very high + + + with %1 %2 with %1 %2 - + about %1 BPM about %1 BPM - + about %n minute(s) long about %n minute longabout %n minutes long - + about %1 dB about %1 dB - + at around %1%2 %3 at around %1%2 %3 - + in %1 in %1 - + in a %1 key in a %1 key - + sorted in %1 %2 order sorted in %1 %2 order - + with a %1 mood with a %1 mood - + in a %1 style in a %1 style @@ -3183,10 +3106,10 @@ Try tweaking the filters for a new set of songs to play. %n other(s) %n other%n others - + - %1 people - %1 people + %n people + %n people%n people @@ -3273,7 +3196,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection My Collection @@ -3293,6 +3216,14 @@ enter the displayed PIN number here: enter the displayed PIN number here: + + TomahawkSettings + + + Local Network + Local Network + + TomahawkTrayIcon @@ -3666,21 +3597,6 @@ enter the displayed PIN number here: TrackInfoWidget - - - Form - Form - - - - Cover - Cover - - - - Statistics - Statistics - Similar Tracks @@ -4287,11 +4203,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - Form - Local Network configuration diff --git a/lang/tomahawk_es.ts b/lang/tomahawk_es.ts index ca4b76c69..8a5fc8d8b 100644 --- a/lang/tomahawk_es.ts +++ b/lang/tomahawk_es.ts @@ -255,11 +255,6 @@ conectarse a usted y transmitir música? AlbumInfoWidget - - - Form - Form - Tracklist @@ -270,11 +265,6 @@ conectarse a usted y transmitir música? Other Albums Otros álbumes - - - Cover - Portada - Sorry, we could not find any other albums for this artist! @@ -307,11 +297,6 @@ conectarse a usted y transmitir música? ArtistInfoWidget - - - Form - Form - Top Hits @@ -327,11 +312,6 @@ conectarse a usted y transmitir música? Albums Álbumes - - - Cover - Portada - Sorry, we could not find any albums for this artist! @@ -351,82 +331,15 @@ conectarse a usted y transmitir música? AudioControls - - Prev - Anterior - - - - Play - Reproducir - - - - Pause - Pausar - - - - Next - Siguiente - - - - Artist - Artista - - - - Album - Álbum - - - - social - social - - - - love - favorito - - - - resolver - servicio - - - - Time - Duración - - - - Time Left - Tiempo restante - - - Shuffle Aleatorio - Repeat Repetir - - - Low - Bajar volumen - - - - High - Subir volumen - Time Elapsed @@ -519,11 +432,6 @@ conectarse a usted y transmitir música? ContextWidget - - - InfoBar - InfoBar - @@ -753,14 +661,6 @@ conectarse a usted y transmitir música? Lista de reproducción vacía. ¡Añada pistas y disfrute de la música! - - GlobalSearchWidget - - - Form - Form - - IndexingJobItem @@ -771,11 +671,6 @@ conectarse a usted y transmitir música? InfoBar - - - InfoBar - Barra de información - Filter... @@ -784,11 +679,6 @@ conectarse a usted y transmitir música? LastFmConfig - - - Form - Form - Scrobble tracks to Last.fm @@ -925,11 +815,6 @@ conectarse a usted y transmitir música? MetadataEditor - - - Form - Form - Tags @@ -1159,27 +1044,32 @@ conectarse a usted y transmitir música? played %1 by you - %1 reproducido por usted + e.g. played 3 hours ago by you + played %1 by %2 - %1 reproducido por %2 + e.g. played 3 hours ago by SomeSource + added %1 - añadió %1 + e.g. added 3 hours ago + by <b>%1</b> - de <b>%1</b> + e.g. by SomeArtist + by <b>%1</b> on <b>%2</b> - de <b>%1</b> en <b>%2</b> + e.g. by SomeArtist on SomeAlbum + @@ -1399,6 +1289,18 @@ conectarse a usted y transmitir música? Status Updaters Actualizadores de estado + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1410,11 +1312,6 @@ conectarse a usted y transmitir música? QueueView - - - InfoBar - InfoBar - @@ -1544,11 +1441,6 @@ conectarse a usted y transmitir música? Settings_Accounts - - - Form - Form - Filter by capability: @@ -1557,11 +1449,6 @@ conectarse a usted y transmitir música? Settings_Advanced - - - Form - Form - Remote Peer Connection Method @@ -1640,11 +1527,6 @@ conectarse a usted y transmitir música? Settings_Collection - - - Form - Form - Path to scan for music files: @@ -1710,11 +1592,6 @@ y estaciones basadas en sus gustos personales. SocialWidget - - - Form - Formulario - Facebook @@ -1725,16 +1602,6 @@ y estaciones basadas en sus gustos personales. Twitter Twitter - - - Cover - Portada - - - - TextLabel - TextLabel - Tweet @@ -2037,11 +1904,6 @@ y estaciones basadas en sus gustos personales. SpotifyConfig - - - Form - Form - Configure your Spotify account @@ -2225,59 +2087,60 @@ y estaciones basadas en sus gustos personales. Tomahawk::Accounts::LastFmConfig - + Testing... Probando conexión... - + Test Login Comprobar el inicio de sesión - + Importing %1 e.g. Importing 2012/01/01 Importando %1 - + Importing History... Importando historial... - + History Incomplete. Resume + Text on a button that resumes import Historial incompleto. Reanudar - + Playback History Imported Historial de reproducciones importado - - + + Failed Fallo - + Success Éxito - + Could not contact server No se pudo contactar el servidor - + Synchronizing... Sincronizando... - + Synchronization Finished Sincronización finalizada @@ -2512,8 +2375,22 @@ Deberá volverse a autenticar. Inicie sesón en Jabber/XMPP para conectar con sus amigos + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2879,16 +2756,19 @@ Intente ajustar los filtros para reproducir nuevas canciones. + Artist Familiarity Familiaridad del artista + Artist Hotttnesss Popularidad del artista + Song Hotttnesss Popularidad de la pista @@ -2914,92 +2794,135 @@ Intente ajustar los filtros para reproducir nuevas canciones. + Energy Energía + Danceability Bailable - + only by ~%1 sólo por ~%1 - + + similar to ~%1 similar a ~%1 - + with genre ~%1 con el género ~%1 - - + + from no one de ninguno - + My Collection Mi colección - + + from my radio + + + + from %1 radio de %1 radio + + + Variety + + + + + Adventurousness + + + very low + + + + + low + + + + + moderate + + + + + high + + + + + very high + + + + with %1 %2 con %1 %2 - + about %1 BPM sobre %1 BPM - + about %n minute(s) long sobre %n minuto de duraciónsobre %n minutos de duración - + about %1 dB sobre %1 dB - + at around %1%2 %3 sobre %1%2 %3 - + in %1 en %1 - + in a %1 key en la tonalidad %1 - + sorted in %1 %2 order ordenado en %1 %2 - + with a %1 mood con un carácter %1 - + in a %1 style con un estilo %1 @@ -3183,10 +3106,10 @@ Intente ajustar los filtros para reproducir nuevas canciones. %n other(s) %n más%n más - + - %1 people - %1 personas + %n people + @@ -3273,7 +3196,7 @@ Intente ajustar los filtros para reproducir nuevas canciones. TomahawkApp - + My Collection Mi colección @@ -3293,6 +3216,14 @@ enter the displayed PIN number here: introduzca su número PIN aquí: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3666,21 +3597,6 @@ introduzca su número PIN aquí: TrackInfoWidget - - - Form - Form - - - - Cover - Portada - - - - Statistics - Estadísticas - Similar Tracks @@ -4286,11 +4202,6 @@ Letras de "%1" por %2: ZeroconfConfig - - - Form - Form - Local Network configuration diff --git a/lang/tomahawk_fi.ts b/lang/tomahawk_fi.ts index 20296f789..7a0e69a42 100644 --- a/lang/tomahawk_fi.ts +++ b/lang/tomahawk_fi.ts @@ -1,6 +1,4 @@ - - - + ACLJobDelegate @@ -258,37 +256,17 @@ yhdistää ja toistaa sinulta virtaa? AlbumInfoWidget - - Form - Lomake - - - + Tracklist Kappalelista - + Other Albums Muita albumeita - - Cover - Kansikuva - - - - Album - Albumi - - - - Artist - Artisti - - - + Sorry, we could not find any other albums for this artist! Valitettavasti emme löytänet mitään muita albumeita tältä artistilta! @@ -298,7 +276,7 @@ yhdistää ja toistaa sinulta virtaa? Valitettavasti emme löytäneet mitään tämän albumin kappaleita! - + Other Albums by %1 Muita artistin %1 levyjä @@ -320,49 +298,32 @@ yhdistää ja toistaa sinulta virtaa? ArtistInfoWidget - - Form - Lomake - - - - - Artist - Artisti - - - - - Cover - Kansikuva - - - + Top Hits Parhaat hitit - - Albums - Albumit - - - + Related Artists Samankaltaisia artisteja - + + Albums + Albumit + + + Sorry, we could not find any albums for this artist! Valitettavasti emme löytänet yhtään tämän artistin albumia! - + Sorry, we could not find any related artists! Valitettavasti emme löytäneet yhtään samankaltaista artistia! - + Sorry, we could not find any top hits for this artist! Valitettavasti emme löytäneet yhtään tämän artistin parhaista hiteistä! @@ -370,82 +331,15 @@ yhdistää ja toistaa sinulta virtaa? AudioControls - - Prev - Edellinen - - - - Play - Soita - - - - Pause - Tauko - - - - Next - Seuraava - - - - Artist - Artisti - - - - Album - Albumi - - - - social - sosiaalisuus - - - - love - tykkää - - - - resolver - selvitin - - - - Time - Aika - - - - Time Left - Aikaa jäljellä - - - Shuffle Sekoita - Repeat Toista - - - Low - Pieni - - - - High - Suuri - Time Elapsed @@ -456,6 +350,11 @@ yhdistää ja toistaa sinulta virtaa? Time Remaining Jäljellä oleva aika + + + Playing from %1 + Soitetaan lähteestä %1 + Share @@ -466,26 +365,21 @@ yhdistää ja toistaa sinulta virtaa? Love Tykkää - - - Playing from %1 - Soitetaan lähteestä %1 - AudioEngine - + Sorry, Tomahawk couldn't find the track '%1' by %2 Valitettavasti Tomahawk ei löytänyt artistin %2 kappaletta ”%1” - + Sorry, Tomahawk couldn't find the artist '%1' Valitettavasti Tomahawk ei löytänyt artistia ”%1” - + Sorry, Tomahawk couldn't find the album '%1' by %2 Valitettavasti Tomahawk ei löytänyt artistin %2 albumia ”%1” @@ -538,11 +432,6 @@ yhdistää ja toistaa sinulta virtaa? ContextWidget - - - InfoBar - Tietopalkki - @@ -772,14 +661,6 @@ yhdistää ja toistaa sinulta virtaa? Tämä soittolista on parhaillaan tyhjä. Lisää kappaleita ja nauti musiikista! - - GlobalSearchWidget - - - Form - Lomake - - IndexingJobItem @@ -790,11 +671,6 @@ yhdistää ja toistaa sinulta virtaa? InfoBar - - - InfoBar - Tietopalkki - Filter... @@ -803,11 +679,6 @@ yhdistää ja toistaa sinulta virtaa? LastFmConfig - - - Form - Lomake - Scrobble tracks to Last.fm @@ -916,11 +787,6 @@ yhdistää ja toistaa sinulta virtaa? Top Loved Tracks Tykätyimmät kappaleet - - - Loved Tracks - Tykätyt kappaleet - Sorry, we could not find any loved tracks! @@ -941,14 +807,14 @@ yhdistää ja toistaa sinulta virtaa? All of %1's loved tracks Kaikki käyttäjän %1 tykkäämät kappaleet + + + Loved Tracks + Tykätyt kappaleet + MetadataEditor - - - Form - Lomake - Tags @@ -1176,28 +1042,33 @@ yhdistää ja toistaa sinulta virtaa? PlaylistLargeItemDelegate - + played %1 by you + e.g. played 3 hours ago by you kuuntelit %1 - + played %1 by %2 + e.g. played 3 hours ago by SomeSource %2 kuunteli %1 - + added %1 + e.g. added 3 hours ago lisätty %1 - + by <b>%1</b> + e.g. by SomeArtist artistilta <b>%1</b> - + by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum artistilta <b>%1</b> albumilla <b>%2</b> @@ -1338,100 +1209,55 @@ yhdistää ja toistaa sinulta virtaa? QObject - - - Friend Finders - Kaverietsimet - - - - Music Finders - Musiikkietsimet - - - - Status Updaters - Tilanpäivittimet - %n year(s) ago - - %n vuosi sitten - %n vuotta sitten - + %n vuosi sitten%n vuotta sitten %n year(s) - - %n vuosi - %n vuotta - + %n vuosi%n vuotta %n month(s) ago - - %n kuukausi sitten - %n kuukautta sitten - + %n kuukausi sitten%n kuukautta sitten %n month(s) - - %n kuukausi - %n kuukautta - + %n kuukausi%n kuukautta %n week(s) ago - - %n viikko sitten - %n viikkoa sitten - + %n viikko sitten%n viikkoa sitten %n week(s) - - %n viikko - %n viikkoa - + %n viikko%n viikkoa %n day(s) ago - - %n päivä sitten - %n päivää sitten - + %n päivä sitten%n päivää sitten %n day(s) - - %n päivä - %n päivää - + %n päivä%n päivää %n hour(s) ago - - %n tunti sitten - %n tuntia sitten - + %n tunti sitten%n tuntia sitten %n hour(s) - - %n tunti - %n tuntia - + %n tunti%n tuntia @@ -1448,6 +1274,33 @@ yhdistää ja toistaa sinulta virtaa? just now juuri nyt + + + Friend Finders + Kaverietsimet + + + + Music Finders + Musiikkietsimet + + + + Status Updaters + Tilanpäivittimet + + + + + %1 Config + %1-asetukset + + + + + %1 Configuration + %1-asetukset + QuaZipFilePrivate @@ -1459,11 +1312,6 @@ yhdistää ja toistaa sinulta virtaa? QueueView - - - InfoBar - Tietopalkki - @@ -1473,10 +1321,7 @@ yhdistää ja toistaa sinulta virtaa? Open Queue - %n item(s) - - Avaa jono – %n kohde - Avaa jono – %n kohdetta - + Avaa jono – %n kohdeAvaa jono – %n kohdetta @@ -1529,55 +1374,50 @@ yhdistää ja toistaa sinulta virtaa? SettingsDialog - - Install from file - Asenna tiedostosta + + Collection + Kokoelma + + + + Advanced + Lisäasetukset All Kaikki + + + Some changed settings will not take effect until Tomahawk is restarted + Jotkin asetusmuutokset tulevat voimaan vasta, kun Tomahawk käynnistetään uudelleen. + Services Palvelut + + + Install from file + Asenna tiedostosta + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. Aseta tilit ja palvelut, joita Tomahawk käyttää musiikin etsimiseen ja noutamiseen, kaveriesi etsimiseen sekä tilasi päivittämiseen. - - - Collection - Kokoelma - Manage how Tomahawk finds music on your computer. Hallitse Tomahawkin tapaa etsiä musiikkia tietokoneeltasi. - - - Advanced - Lisäasetukset - Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. Aseta Tomahawkin lisäasetuksia, joihin kuuluu verkkoyhteysasetukset, selainyhteys ja muuta. - - - Information - Tiedoksi - - - - Some changed settings will not take effect until Tomahawk is restarted - Jotkin asetusmuutokset tulevat voimaan vasta, kun Tomahawk käynnistetään uudelleen. - Install resolver from file @@ -1593,14 +1433,14 @@ yhdistää ja toistaa sinulta virtaa? Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. Haluatko varmasti poistaa kaikki pääsynvalvontatietueet? Sinulta tullaan kysymään päätös uudelleen jokaisen sellaisen vertaisen kohdalla, johon yhdistät. + + + Information + Tiedoksi + Settings_Accounts - - - Form - Lomake - Filter by capability: @@ -1609,11 +1449,6 @@ yhdistää ja toistaa sinulta virtaa? Settings_Advanced - - - Form - Lomake - Remote Peer Connection Method @@ -1692,11 +1527,6 @@ yhdistää ja toistaa sinulta virtaa? Settings_Collection - - - Form - Lomake - Path to scan for music files: @@ -1764,11 +1594,6 @@ käyttäjäradion käyttöönottamiseksi SocialWidget - - - Form - Lomake - Facebook @@ -1779,16 +1604,6 @@ käyttäjäradion käyttöönottamiseksi Twitter Twitter - - - Cover - Kansikuva - - - - TextLabel - TextLabel - Tweet @@ -1954,11 +1769,6 @@ käyttäjäradion käyttöönottamiseksi &Copy Link &Kopioi linkki - - - &Export Playlist - &Vie soittolista - &Delete %1 @@ -1979,22 +1789,24 @@ käyttäjäradion käyttöönottamiseksi Add to my Stations Lisää omiin asemiin + + + &Export Playlist + &Vie soittolista + playlist - Ks. alempi viesti soittolistan automatic playlist - Ks. alempi viesti automaattisen soittolistan station - Ks. alempi viesti aseman @@ -2034,19 +1846,16 @@ käyttäjäradion käyttöönottamiseksi Playlist - Suomennoshetkellä käytettiin vain asiayhteydessä, jossa suomeksi vaaditaan pieni alkukirjain. soittolista Automatic Playlist - Suomennoshetkellä käytettiin vain asiayhteydessä, jossa suomeksi vaaditaan pieni alkukirjain. automaattinen soittolista Station - Suomennoshetkellä käytettiin vain asiayhteydessä, jossa suomeksi vaaditaan pieni alkukirjain. asema @@ -2064,16 +1873,16 @@ käyttäjäradion käyttöönottamiseksi My Music Oma musiikki - - - Dashboard - Kojelauta - SuperCollection Superkokoelma + + + Dashboard + Kojelauta + Recently Played @@ -2097,31 +1906,16 @@ käyttäjäradion käyttöönottamiseksi SpotifyConfig - - - Form - Lomake - Configure your Spotify account Spotify-tilisi asetukset - - - Username: - Käyttäjätunnus: - Username or Facebook Email Käyttäjätunnus tai Facebookin sähköposti - - - Password: - Salasana: - Log In @@ -2133,11 +1927,6 @@ käyttäjäradion käyttöönottamiseksi Synkronoi Tomahawk-soittolista Spotifyn kanssa napsauttamalla hiiren oikealla. - - - Spotify playlists to keep in sync: - Synkronoitavat Spotify-soittolistat: - Select All @@ -2148,11 +1937,26 @@ napsauttamalla hiiren oikealla. High Quality Streams Laadukkaat virrat + + + Spotify playlists to keep in sync: + Synkronoitavat Spotify-soittolistat: + Delete Tomahawk playlist when removing synchronization Poista Tomahawkin soittolista, kun synkronointi lopetetaan + + + Username: + Käyttäjätunnus: + + + + Password: + Salasana: + SpotifyPlaylistUpdater @@ -2286,59 +2090,60 @@ napsauttamalla hiiren oikealla. Tomahawk::Accounts::LastFmConfig - + Testing... Kokeillaan... - + Test Login Kokeile kirjautumista - + Importing %1 e.g. Importing 2012/01/01 Tuodaan %1 - + Importing History... Tuodaan historiaa... - + History Incomplete. Resume - Historia epätäydellinen. Jatketaan tuontia + Text on a button that resumes import + Historia epätäydellinen. Jatka tuontia - + Playback History Imported Soittohistoria tuotu - - + + Failed Epäonnistui - + Success Onnistui - + Could not contact server Palvelimeen ei saatu yhteyttä - + Synchronizing... Synkronoidaan... - + Synchronization Finished Synkronointi valmis @@ -2360,11 +2165,6 @@ napsauttamalla hiiren oikealla. Create local copy Luo paikallinen kopio - - - Stop syncing with Spotify - Lopeta Spotifyn kanssa synkronointi - Subscribe to playlist changes @@ -2390,6 +2190,11 @@ napsauttamalla hiiren oikealla. Disable Spotify collaborations Poista Spotify-yhteistyöt käytöstä + + + Stop syncing with Spotify + Lopeta Spotifyn kanssa synkronointi + Tomahawk::Accounts::SpotifyAccountConfig @@ -2573,8 +2378,22 @@ Voit haluta yrittää tunnistautumista uudelleen. Ole yhteydessä kavereihisi kirjautumalla Jabber/XMPP-tilillesi + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + Paikallisverkko + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + Paikallisverkko + Automatically connect to Tomahawks on the local network @@ -2630,21 +2449,6 @@ Voit haluta yrittää tunnistautumista uudelleen. &Copy Track Link &Kopioi kappaleen linkki - - - Properties... - Ominaisuudet... - - - - &Delete Items - &Poista kohteet - - - - &Delete Item - &Poista kohde - Copy Album &Link @@ -2660,31 +2464,42 @@ Voit haluta yrittää tunnistautumista uudelleen. Un-&Love Lakkaa &tykkäämästä + + + &Delete Items + &Poista kohteet + + + + Properties... + Ominaisuudet... + + + + &Delete Item + &Poista kohde + Tomahawk::DropJobNotifier playlist - Ks. alemmat viestit soittolistaa artist - Ks. alemmat viestit artistia track - Ks. alemmat viestit kappaletta album - Ks. alemmat viestit albumia @@ -2944,16 +2759,19 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< + Artist Familiarity Artistin tuttuus + Artist Hotttnesss Artistin suosittuus + Song Hotttnesss Kappaleen suosittuus @@ -2979,98 +2797,135 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< + Energy Energia + Danceability Tanssittavuus - + only by ~%1 vain likimäärin artistilta %1 - + + similar to ~%1 likimäärin artistin %1 samankaltaisia artisteja - + with genre ~%1 likimäärin lajityypillä %1 - - + + from no one ei keneltäkään - + My Collection Oma kokoelma - + + from my radio + omasta radiosta + + + from %1 radio käyttäjän %1 radiosta + + + Variety + Vaihtelevuus + + + + Adventurousness + Seikkailunhaluisuus + - with %1 %2 - Tätä viestiä ei ollut kirjoitushetkellä mitään järkeä kääntää johtuen %1:n ja %2:n arvoista. - + very low + erittäin pieni + low + pieni + + + + moderate + kohtalainen + + + + high + suuri + + + + very high + erittäin suuri + + + + with %1 %2 + , jonka %2 on %1 + + + about %1 BPM noin %1 BPM - + about %n minute(s) long - - noin %n minuutti pitkä - noin %n minuuttia pitkä - + noin %n minuutti pitkänoin %n minuuttia pitkä - + about %1 dB noin %1 dB - + at around %1%2 %3 - Tätä viestiä ei ollut kirjoitushetkellä mitään järkeä kääntää johtuen %1:n ja %3:n arvoista. - + noin %1%2 %3elta - + in %1 sävellajissa %1 - + in a %1 key - Toimii kunhan %1 on joko ”duuri” tai ”molli” %1ssa - + sorted in %1 %2 order lajiteltu %1, lajitteluperusteena %2 - + with a %1 mood %1 mielialalla - + in a %1 style %1 tyylillä @@ -3252,20 +3107,16 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< %n other(s) - - %n muu - %n muuta - + %n muu%n muuta - + - %1 people - %1 henkilöä + %n people + % ihminen%n ihmistä loved this track - Tätä on mahdoton suomentaa oikein. Tilanteesta riippuen täytyisi olla tykkäsi, tykkäsivät tai tykkäsit. tykkäsi tästä kappaleesta @@ -3348,7 +3199,7 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< TomahawkApp - + My Collection Oma kokoelma @@ -3362,14 +3213,27 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< - After authenticating on Twitter's web site, + After authenticating on Twitter's web site, enter the displayed PIN number here: Tunnistauduttuasi Twitterin verkkosivulla, anna siellä näytetty PIN-koodi tähän: + + TomahawkSettings + + + Local Network + Paikallisverkko + + TomahawkTrayIcon + + + &Stop Playback after current Track + Pysäytä s&oitto nykyisen kappaleen jälkeen + @@ -3381,16 +3245,6 @@ anna siellä näytetty PIN-koodi tähän: Show Tomahawk Window Näytä Tomahawk-ikkuna - - - &Continue Playback after current Track - Jatka s&oittoa nykyisen kappaleen jälkeen - - - - &Stop Playback after current Track - Pysäytä s&oitto nykyisen kappaleen jälkeen - Currently not playing. @@ -3416,6 +3270,11 @@ anna siellä näytetty PIN-koodi tähän: Un-&Love Lakkaa &tykkäämästä + + + &Continue Playback after current Track + Jatka s&oittoa nykyisen kappaleen jälkeen + TomahawkWindow @@ -3554,18 +3413,6 @@ anna siellä näytetty PIN-koodi tähän: Next Seuraava - - - - Hide Menu Bar - Piilota valikkorivi - - - - - Show Menu Bar - Näytä valikkorivi - Back @@ -3586,10 +3433,22 @@ anna siellä näytetty PIN-koodi tähän: Go forward one page Mene yksi sivu eteenpäin + + + + Hide Menu Bar + Piilota valikkorivi + + + + + Show Menu Bar + Näytä valikkorivi + - Global Search... - Yleishaku... + Search for any artist, album or song... + Etsi mitä tahansa artistia, albumia tai kappaletta... @@ -3597,136 +3456,136 @@ anna siellä näytetty PIN-koodi tähän: &Päävalikko - - - + + + Connect To Peer Yhdistä vertaiseen - + Enter peer address: Anna vertaisen osoite: - + Enter peer port: Anna vertaisen portti: - + Enter peer key: Anna vertaisen avain: - + XSPF Error XSPF-virhe - + This is not a valid XSPF playlist. Tämä ei ole kelvollinen XSPF-soittolista. - + Failed to save tracks Kappaleiden tallentaminen epäonnistui - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Joillakin soittolistan kappaleilla ei ole artistia ja nimeä. Ne jätetään huomiotta. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Valitettavasti äänilaitteen tai halutun kappaleen kanssa on ongelmia ja nykyinen kappale ohitetaan. Varmista, että sopiva Phononin taustaosa ja vaaditut liitännäiset on asennettu. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Valitettavasti äänilaitteen tai halutun kappaleen kanssa on ongelmia ja nykyinen kappale ohitetaan. - + Station Asema - + Create New Station Luo uusi asema - + Name: Nimi: - + Playlist Soittolista - + Automatic Playlist Automaattinen soittolista - + Pause Tauko - + &Play &Soita - + Authentication Error Tunnistautumisvirhe - + Error connecting to SIP: Authentication failed! Virhe yhdistettäessä SIPiin: tunnistautuminen epäonnistui! - + %1 by %2 track, artist name %1 artistilta %2 - + %1 - %2 current track, some window title %1 – %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010–2012 - + Thanks to: Kiitokset: - + About Tomahawk Tietoa Tomahawkista @@ -3742,73 +3601,37 @@ anna siellä näytetty PIN-koodi tähän: TrackInfoWidget - - Form - Lomake - - - + Similar Tracks Samankaltaisia kappaleita - - Cover - Kansikuva - - - - Track - Kappale - - - - Artist - Artisti - - - - Album - Albumi - - - - Statistics - Tilastot - - - + Sorry, but we could not find similar tracks for this song! Valitettavasti emme löytäneet tälle kappaleelle samankaltaisia kappaleita! - + You've listened to this track %n time(s). - - Olet kuunnellut tätä kappaletta %n kerran. - Olet kuunnellut tätä kappaletta %n kertaa. - + Olet kuunnellut tätä kappaletta %n kerran.Olet kuunnellut tätä kappaletta %n kertaa. - + You've never listened to this track before. Et ole kuunnellut tätä kappaletta aiemmin. - + You first listened to it on %1. Kuuntelit sitä ensi kerran %1. - + You've listened to %1 %n time(s). - - Olet kuunnellut artistia %1 %n kerran. - Olet kuunnellut artistia %1 %n kertaa. - + Olet kuunnellut artistia %1 %n kerran.Olet kuunnellut artistia %1 %n kertaa. - + You've never listened to %1 before. Et ole kuunnellut artistia %1 aiemmin. @@ -3816,7 +3639,7 @@ anna siellä näytetty PIN-koodi tähän: TrackView - + Sorry, your filter '%1' did not match any results. Valitettavasti suodattimesi ”%1” ei tuottanut yhtään tuloksia. @@ -3902,7 +3725,7 @@ anna siellä näytetty PIN-koodi tähän: -If you only want to post tweets, you're done. +If you only want to post tweets, you're done. If you want to connect Tomahawk to your friends using Twitter, select the type of tweet and press the button below to send a sync message. You must both be following each other as Direct Messages are used. Then be (very) patient -- it can take several minutes! @@ -4267,11 +4090,6 @@ Sanat artistin %2 kappaleelle ”%1”: XmppSipPlugin - - - Enter Jabber ID - Anna Jabber-tunnus - User Interaction @@ -4317,11 +4135,26 @@ Sanat artistin %2 kappaleelle ”%1”: Conflict Ristiriita + + + Unknown + Tuntematon + + + + Do you want to add <b>%1</b> to your friend list? + Haluatko lisätä käyttäjän <b>%1</b> kaverilistallesi? + No Compression Support Ei pakkaustukea + + + Enter Jabber ID + Anna Jabber-tunnus + No Encryption Support @@ -4337,11 +4170,6 @@ Sanat artistin %2 kappaleelle ”%1”: No Supported Feature Ei-tuettu ominaisuus - - - Unknown - Tuntematon - Add Friend @@ -4372,19 +4200,9 @@ Sanat artistin %2 kappaleelle ”%1”: Authorize User Salli käyttäjä - - - Do you want to add <b>%1</b> to your friend list? - Haluatko lisätä käyttäjän <b>%1</b> kaverilistallesi? - ZeroconfConfig - - - Form - Lomake - Local Network configuration @@ -4401,4 +4219,4 @@ Sanat artistin %2 kappaleelle ”%1”: Yhdistä automaattisesti Tomahawkin käynnistymisen yhteydessä - + \ No newline at end of file diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index c8d87eab7..10f08c89c 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -68,18 +68,18 @@ de se connecter et streamer de vous? Connections - + Connexions Connect &All - + Connecter tout Disconnect &All - + Déconnecter tout @@ -255,25 +255,15 @@ de se connecter et streamer de vous? AlbumInfoWidget - - - Form - Form - Tracklist - + Liste des pistes Other Albums - - - - - Cover - + Autres Albums @@ -307,11 +297,6 @@ de se connecter et streamer de vous? ArtistInfoWidget - - - Form - Form - Top Hits @@ -327,11 +312,6 @@ de se connecter et streamer de vous? Albums Albums - - - Cover - Pochette - Sorry, we could not find any albums for this artist! @@ -351,82 +331,15 @@ de se connecter et streamer de vous? AudioControls - - Prev - Précédent - - - - Play - Lecture - - - - Pause - Pause - - - - Next - Suivant - - - - Artist - Artiste - - - - Album - Album - - - - social - social - - - - love - favori - - - - resolver - - - - - Time - Durée - - - - Time Left - Durée restante - - - Shuffle Lecture Aléatoire - Repeat Répéter - - - Low - Bas - - - - High - Haut - Time Elapsed @@ -519,11 +432,6 @@ de se connecter et streamer de vous? ContextWidget - - - InfoBar - Barre d'information - @@ -644,82 +552,82 @@ de se connecter et streamer de vous? Much less - + Beaucoup moins Less - + Moins A bit less - + Un peu moins Keep at current - + Ne rien changer A bit more - + Un peu plus More - + Plus Much more - + Beaucoup plus Tempo - + Tempo Loudness - + Intensité Danceability - + Dansabilité Energy - + Energie Song Hotttnesss - + Hotttnesss du morceau Artist Hotttnesss - + Hotttnesss de l'artiste Artist Familiarity - + Familiarité de l'artiste By Description - + Par Description Enter a description - + Saisir une description @@ -745,20 +653,12 @@ de se connecter et streamer de vous? This playlist is currently empty. - + Cette liste de lecture est vide. This playlist is currently empty. Add some tracks to it and enjoy the music! - - - - - GlobalSearchWidget - - - Form - Form + Cette liste de lecture est vide. Ajoutez des morceaux et profitez de la musique ! @@ -771,11 +671,6 @@ de se connecter et streamer de vous? InfoBar - - - InfoBar - Barre d'information - Filter... @@ -784,11 +679,6 @@ de se connecter et streamer de vous? LastFmConfig - - - Form - Form - Scrobble tracks to Last.fm @@ -925,11 +815,6 @@ de se connecter et streamer de vous? MetadataEditor - - - Form - Forme - Tags @@ -968,7 +853,7 @@ de se connecter et streamer de vous? Track Number: - + Numéro de piste : @@ -1033,7 +918,7 @@ de se connecter et streamer de vous? Properties - + Propriétés @@ -1159,26 +1044,31 @@ de se connecter et streamer de vous? played %1 by you - joué %1 par vous + e.g. played 3 hours ago by you + played %1 by %2 - joué %1 par %2 + e.g. played 3 hours ago by SomeSource + added %1 - ajouté par %1 + e.g. added 3 hours ago + by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum @@ -1187,13 +1077,13 @@ de se connecter et streamer de vous? A playlist you created %1. - + Une liste de lecture crée %1 A playlist by %1, created %2. - + Une liste de lecture par %1, crée %2 @@ -1399,6 +1289,18 @@ de se connecter et streamer de vous? Status Updaters Mettre à jour votre statut + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1410,11 +1312,6 @@ de se connecter et streamer de vous? QueueView - - - InfoBar - Barre d'information - @@ -1544,11 +1441,6 @@ de se connecter et streamer de vous? Settings_Accounts - - - Form - - Filter by capability: @@ -1557,11 +1449,6 @@ de se connecter et streamer de vous? Settings_Advanced - - - Form - - Remote Peer Connection Method @@ -1640,11 +1527,6 @@ de se connecter et streamer de vous? Settings_Collection - - - Form - - Path to scan for music files: @@ -1707,11 +1589,6 @@ de se connecter et streamer de vous? SocialWidget - - - Form - Form - Facebook @@ -1722,16 +1599,6 @@ de se connecter et streamer de vous? Twitter Twitter - - - Cover - Pochette - - - - TextLabel - TextLabel - Tweet @@ -2034,11 +1901,6 @@ de se connecter et streamer de vous? SpotifyConfig - - - Form - Form - Configure your Spotify account @@ -2062,7 +1924,7 @@ de se connecter et streamer de vous? Select All - + Tout sélectionner @@ -2222,59 +2084,60 @@ de se connecter et streamer de vous? Tomahawk::Accounts::LastFmConfig - + Testing... Test... - + Test Login Test de connexion - + Importing %1 e.g. Importing 2012/01/01 Importation %1 - + Importing History... Import de l'historique... - + History Incomplete. Resume + Text on a button that resumes import Historique incomplet. Reprendre - + Playback History Imported Historique de lecture importé - - + + Failed Échec - + Success Succès - + Could not contact server Impossible de contacter le serveur - + Synchronizing... Synchronization en cours... - + Synchronization Finished Synchronization Terminée @@ -2509,8 +2372,22 @@ Essayez de vous authentifier de nouveau. Connectez vous à votre compte Jabber/XMPP pour retrouver vos amis + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2876,16 +2753,19 @@ Essayez de changer les filtres pour avoir de nouveaux morceaux à jouer. + Artist Familiarity Familiarité de l'artiste + Artist Hotttnesss Hotttnesss de l'artiste + Song Hotttnesss Hotttness du morceau @@ -2911,92 +2791,135 @@ Essayez de changer les filtres pour avoir de nouveaux morceaux à jouer. + Energy Energie + Danceability Dansabilité - + only by ~%1 uniquement par ~%1 - + + similar to ~%1 similaire à ~%1 - + with genre ~%1 avec le genre ~%1 - - + + from no one de personne - + My Collection Ma Collection - + + from my radio + de ma radio + + + from %1 radio de la radio %1 + + + Variety + + + + + Adventurousness + + + very low + très bas + + + + low + bas + + + + moderate + moyen + + + + high + haut + + + + very high + très haut + + + with %1 %2 avec %1 %2 - + about %1 BPM environ %1 BPM - + about %n minute(s) long environ %n minuteenviron %n minutes - + about %1 dB environ %1 dB - + at around %1%2 %3 à environ %1%2 %3 - + in %1 dans %1 - + in a %1 key en tonalité %1 - + sorted in %1 %2 order trié par ordre %1 %2 - + with a %1 mood avec une ambiance %1 - + in a %1 style ayant un style %1 @@ -3180,10 +3103,10 @@ Essayez de changer les filtres pour avoir de nouveaux morceaux à jouer.%n other(s) %n autre%n autres - + - %1 people - %1 personnes + %n people + @@ -3270,7 +3193,7 @@ Essayez de changer les filtres pour avoir de nouveaux morceaux à jouer. TomahawkApp - + My Collection Ma Collection @@ -3290,6 +3213,14 @@ enter the displayed PIN number here: saisissez le numéro PIN ici : + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3511,7 +3442,7 @@ saisissez le numéro PIN ici : Search for any artist, album or song... - + Chercher un artiste, un album, ou un morceau @@ -3663,21 +3594,6 @@ saisissez le numéro PIN ici : TrackInfoWidget - - - Form - Form - - - - Cover - Pochette - - - - Statistics - Statistiques - Similar Tracks @@ -3859,7 +3775,7 @@ Vous pouvez envoyer un message de synchronisation quand vous le souhaitez en env This playlist is empty! - + Cette liste de lecture est vide! @@ -4284,11 +4200,6 @@ Paroles de "%1" par %2 : ZeroconfConfig - - - Form - Form - Local Network configuration diff --git a/lang/tomahawk_gl.ts b/lang/tomahawk_gl.ts index e7d9d4e9c..1ed7ed6cf 100644 --- a/lang/tomahawk_gl.ts +++ b/lang/tomahawk_gl.ts @@ -254,11 +254,6 @@ connect and stream from you? AlbumInfoWidget - - - Form - Formulario - Tracklist @@ -269,11 +264,6 @@ connect and stream from you? Other Albums Outros álbums - - - Cover - Portada - Sorry, we could not find any other albums for this artist! @@ -306,11 +296,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - Formulario - Top Hits @@ -326,11 +311,6 @@ connect and stream from you? Albums Álbums - - - Cover - Portada - Sorry, we could not find any albums for this artist! @@ -350,82 +330,15 @@ connect and stream from you? AudioControls - - Prev - Anterior - - - - Play - Reproducir - - - - Pause - Pausa - - - - Next - Seguinte - - - - Artist - Artista - - - - Album - Álbum - - - - social - social - - - - love - gusta - - - - resolver - resolvedor - - - - Time - Tempo - - - - Time Left - Tempo que queda - - - Shuffle Ao chou - Repeat Repetir - - - Low - Baixa - - - - High - Alta - Time Elapsed @@ -518,11 +431,6 @@ connect and stream from you? ContextWidget - - - InfoBar - Barra de info - @@ -752,14 +660,6 @@ connect and stream from you? Esta lista de reprodución está baleira. Engádelle algunhas pistas para desfrutar da música! - - GlobalSearchWidget - - - Form - Formulario - - IndexingJobItem @@ -770,11 +670,6 @@ connect and stream from you? InfoBar - - - InfoBar - Barra de info - Filter... @@ -783,11 +678,6 @@ connect and stream from you? LastFmConfig - - - Form - Formulario - Scrobble tracks to Last.fm @@ -924,11 +814,6 @@ connect and stream from you? MetadataEditor - - - Form - Formulario - Tags @@ -1158,26 +1043,31 @@ connect and stream from you? played %1 by you - escoitou %1 por coñecela por ti + e.g. played 3 hours ago by you + played %1 by %2 - escoitou %1 por coñecela por %2 + e.g. played 3 hours ago by SomeSource + added %1 - engadiu %1 + e.g. added 3 hours ago + by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum @@ -1398,6 +1288,18 @@ connect and stream from you? Status Updaters Actualizador de estado + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1409,11 +1311,6 @@ connect and stream from you? QueueView - - - InfoBar - Barra de info - @@ -1543,11 +1440,6 @@ connect and stream from you? Settings_Accounts - - - Form - Formulario - Filter by capability: @@ -1556,11 +1448,6 @@ connect and stream from you? Settings_Advanced - - - Form - Formulario - Remote Peer Connection Method @@ -1639,11 +1526,6 @@ connect and stream from you? Settings_Collection - - - Form - Formulario - Path to scan for music files: @@ -1706,11 +1588,6 @@ connect and stream from you? SocialWidget - - - Form - Formulario - Facebook @@ -1721,16 +1598,6 @@ connect and stream from you? Twitter Twitter - - - Cover - Portada - - - - TextLabel - Etiqueta de texto - Tweet @@ -2035,11 +1902,6 @@ connect and stream from you? SpotifyConfig - - - Form - Formulario - Configure your Spotify account @@ -2223,59 +2085,60 @@ connect and stream from you? Tomahawk::Accounts::LastFmConfig - + Testing... Probando... - + Test Login Comprobar o acceso - + Importing %1 e.g. Importing 2012/01/01 A importar %1 - + Importing History... Importando o historial... - + History Incomplete. Resume + Text on a button that resumes import Historial incompleto. Reanudando - + Playback History Imported Importouse o historial de reproducións - - + + Failed Fallou - + Success Éxito - + Could not contact server Non se pode contactar co servidor - + Synchronizing... Sincronizando... - + Synchronization Finished Rematou a sincronización @@ -2510,8 +2373,22 @@ Proba a volver a autenticarte. Accede á túa conta Jabber/XMPP para conectarte cas túas amizades + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2877,16 +2754,19 @@ Proba a trocar os filtros para ter outra lista música para escoitar. + Artist Familiarity Familiaridade do artista + Artist Hotttnesss Agrado do artista + Song Hotttnesss Agrado da canción @@ -2912,92 +2792,135 @@ Proba a trocar os filtros para ter outra lista música para escoitar. + Energy Enerxía + Danceability Como de bailable - + only by ~%1 só por ~%1 - + + similar to ~%1 similar a ~%1 - + with genre ~%1 có xénero ~%1 - - + + from no one de niguén - + My Collection A miña colección - + + from my radio + + + + from %1 radio de %1 radio + + + Variety + + + + + Adventurousness + + + very low + + + + + low + + + + + moderate + + + + + high + + + + + very high + + + + with %1 %2 con %1 %2 - + about %1 BPM sobre %1 BPM - + about %n minute(s) long cerca de %n minuto(s) de longa - + about %1 dB sobre %1 dB - + at around %1%2 %3 aproximadamente %1 %2 %3 - + in %1 en %1 - + in a %1 key nunha tecla %1 - + sorted in %1 %2 order ordenada na %1 %2 orde - + with a %1 mood cun %1 de humor - + in a %1 style nun estilo %1 @@ -3181,10 +3104,10 @@ Proba a trocar os filtros para ter outra lista música para escoitar. %n other(s) - + - %1 people - %1 persoas + %n people + @@ -3271,7 +3194,7 @@ Proba a trocar os filtros para ter outra lista música para escoitar. TomahawkApp - + My Collection A miña colección @@ -3290,6 +3213,14 @@ enter the displayed PIN number here: Despois de autentificarse na páxina web de Twitter, introduce o número PIN que se mostrase aquí: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3664,21 +3595,6 @@ enter the displayed PIN number here: TrackInfoWidget - - - Form - Formulario - - - - Cover - Portada - - - - Statistics - Estatísticas - Similar Tracks @@ -4270,11 +4186,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - Formulario - Local Network configuration diff --git a/lang/tomahawk_hi_IN.ts b/lang/tomahawk_hi_IN.ts index 50383ac83..df837801a 100644 --- a/lang/tomahawk_hi_IN.ts +++ b/lang/tomahawk_hi_IN.ts @@ -254,11 +254,6 @@ connect and stream from you? AlbumInfoWidget - - - Form - - Tracklist @@ -269,11 +264,6 @@ connect and stream from you? Other Albums - - - Cover - - Sorry, we could not find any other albums for this artist! @@ -306,11 +296,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - - Top Hits @@ -326,11 +311,6 @@ connect and stream from you? Albums - - - Cover - - Sorry, we could not find any albums for this artist! @@ -350,82 +330,15 @@ connect and stream from you? AudioControls - - Prev - - - - - Play - - - - - Pause - - - - - Next - - - - - Artist - - - - - Album - - - - - social - - - - - love - - - - - resolver - - - - - Time - - - - - Time Left - - - - Shuffle - Repeat - - - Low - - - - - High - - Time Elapsed @@ -518,11 +431,6 @@ connect and stream from you? ContextWidget - - - InfoBar - - @@ -752,14 +660,6 @@ connect and stream from you? - - GlobalSearchWidget - - - Form - - - IndexingJobItem @@ -770,11 +670,6 @@ connect and stream from you? InfoBar - - - InfoBar - - Filter... @@ -783,11 +678,6 @@ connect and stream from you? LastFmConfig - - - Form - - Scrobble tracks to Last.fm @@ -924,11 +814,6 @@ connect and stream from you? MetadataEditor - - - Form - - Tags @@ -1158,26 +1043,31 @@ connect and stream from you? played %1 by you + e.g. played 3 hours ago by you played %1 by %2 + e.g. played 3 hours ago by SomeSource added %1 + e.g. added 3 hours ago by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum @@ -1397,6 +1287,18 @@ connect and stream from you? Status Updaters + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1408,11 +1310,6 @@ connect and stream from you? QueueView - - - InfoBar - - @@ -1542,11 +1439,6 @@ connect and stream from you? Settings_Accounts - - - Form - - Filter by capability: @@ -1555,11 +1447,6 @@ connect and stream from you? Settings_Advanced - - - Form - - Remote Peer Connection Method @@ -1638,11 +1525,6 @@ connect and stream from you? Settings_Collection - - - Form - - Path to scan for music files: @@ -1705,11 +1587,6 @@ connect and stream from you? SocialWidget - - - Form - - Facebook @@ -1720,16 +1597,6 @@ connect and stream from you? Twitter - - - Cover - - - - - TextLabel - - Tweet @@ -2032,11 +1899,6 @@ connect and stream from you? SpotifyConfig - - - Form - - Configure your Spotify account @@ -2220,59 +2082,60 @@ connect and stream from you? Tomahawk::Accounts::LastFmConfig - + Testing... - + Test Login - + Importing %1 e.g. Importing 2012/01/01 - + Importing History... - + History Incomplete. Resume + Text on a button that resumes import - + Playback History Imported - - + + Failed - + Success - + Could not contact server - + Synchronizing... - + Synchronization Finished @@ -2504,8 +2367,22 @@ You may wish to try re-authenticating. + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2867,16 +2744,19 @@ Try tweaking the filters for a new set of songs to play. + Artist Familiarity + Artist Hotttnesss + Song Hotttnesss @@ -2902,92 +2782,135 @@ Try tweaking the filters for a new set of songs to play. + Energy + Danceability - + only by ~%1 - + + similar to ~%1 - + with genre ~%1 - - + + from no one - + My Collection - + + from my radio + + + + from %1 radio + + + Variety + + + + + Adventurousness + + - with %1 %2 + very low - about %1 BPM + low - + - about %n minute(s) long - + moderate + - about %1 dB + high - at around %1%2 %3 + very high + + + + + with %1 %2 + about %1 BPM + + + + + about %n minute(s) long + + + + + about %1 dB + + + + + at around %1%2 %3 + + + + in %1 - + in a %1 key - + sorted in %1 %2 order - + with a %1 mood - + in a %1 style @@ -3171,10 +3094,10 @@ Try tweaking the filters for a new set of songs to play. %n other(s) - + - %1 people - + %n people + @@ -3261,7 +3184,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection @@ -3280,6 +3203,14 @@ enter the displayed PIN number here: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3653,21 +3584,6 @@ enter the displayed PIN number here: TrackInfoWidget - - - Form - - - - - Cover - - - - - Statistics - - Similar Tracks @@ -4259,11 +4175,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - - Local Network configuration diff --git a/lang/tomahawk_hu.ts b/lang/tomahawk_hu.ts index 4ad7b7bba..69b4b8602 100644 --- a/lang/tomahawk_hu.ts +++ b/lang/tomahawk_hu.ts @@ -254,11 +254,6 @@ connect and stream from you? AlbumInfoWidget - - - Form - - Tracklist @@ -269,11 +264,6 @@ connect and stream from you? Other Albums Egyéb albumok - - - Cover - Borító - Sorry, we could not find any other albums for this artist! @@ -306,11 +296,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - - Top Hits @@ -326,11 +311,6 @@ connect and stream from you? Albums Albumok - - - Cover - Borító - Sorry, we could not find any albums for this artist! @@ -350,82 +330,15 @@ connect and stream from you? AudioControls - - Prev - Előző - - - - Play - Lejátszás - - - - Pause - Szünet - - - - Next - Következő - - - - Artist - Előadó - - - - Album - Album - - - - social - - - - - love - - - - - resolver - - - - - Time - Idő - - - - Time Left - Hátralévő idő - - - Shuffle - Repeat Ismétlés - - - Low - Alacsony - - - - High - Magas - Time Elapsed @@ -518,11 +431,6 @@ connect and stream from you? ContextWidget - - - InfoBar - InfoBar - @@ -752,14 +660,6 @@ connect and stream from you? - - GlobalSearchWidget - - - Form - - - IndexingJobItem @@ -770,11 +670,6 @@ connect and stream from you? InfoBar - - - InfoBar - InfoBar - Filter... @@ -783,11 +678,6 @@ connect and stream from you? LastFmConfig - - - Form - - Scrobble tracks to Last.fm @@ -924,11 +814,6 @@ connect and stream from you? MetadataEditor - - - Form - - Tags @@ -1158,27 +1043,32 @@ connect and stream from you? played %1 by you + e.g. played 3 hours ago by you played %1 by %2 + e.g. played 3 hours ago by SomeSource added %1 + e.g. added 3 hours ago by <b>%1</b> - by <b>%1</b> + e.g. by SomeArtist + by <b>%1</b> on <b>%2</b> - by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum + @@ -1397,6 +1287,18 @@ connect and stream from you? Status Updaters Állapot frissítő + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1408,11 +1310,6 @@ connect and stream from you? QueueView - - - InfoBar - - @@ -1542,11 +1439,6 @@ connect and stream from you? Settings_Accounts - - - Form - - Filter by capability: @@ -1555,11 +1447,6 @@ connect and stream from you? Settings_Advanced - - - Form - - Remote Peer Connection Method @@ -1638,11 +1525,6 @@ connect and stream from you? Settings_Collection - - - Form - - Path to scan for music files: @@ -1705,11 +1587,6 @@ connect and stream from you? SocialWidget - - - Form - - Facebook @@ -1720,16 +1597,6 @@ connect and stream from you? Twitter - - - Cover - - - - - TextLabel - - Tweet @@ -2032,11 +1899,6 @@ connect and stream from you? SpotifyConfig - - - Form - - Configure your Spotify account @@ -2220,59 +2082,60 @@ connect and stream from you? Tomahawk::Accounts::LastFmConfig - + Testing... - + Test Login Teszt belépés - + Importing %1 e.g. Importing 2012/01/01 - + Importing History... - + History Incomplete. Resume + Text on a button that resumes import - + Playback History Imported - - + + Failed Sikertelen - + Success Sikeres - + Could not contact server - + Synchronizing... Szinkronizálás... - + Synchronization Finished Szinkronizálás befejezve @@ -2504,8 +2367,22 @@ You may wish to try re-authenticating. + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2867,16 +2744,19 @@ Try tweaking the filters for a new set of songs to play. + Artist Familiarity + Artist Hotttnesss + Song Hotttnesss @@ -2902,92 +2782,135 @@ Try tweaking the filters for a new set of songs to play. + Energy Energia + Danceability - + only by ~%1 - + + similar to ~%1 - + with genre ~%1 - - + + from no one - + My Collection Saját kollekció - + + from my radio + + + + from %1 radio + + + Variety + + + + + Adventurousness + + - with %1 %2 + very low - about %1 BPM + low - + - about %n minute(s) long - + moderate + - about %1 dB + high - at around %1%2 %3 + very high + + + + + with %1 %2 + about %1 BPM + + + + + about %n minute(s) long + + + + + about %1 dB + + + + + at around %1%2 %3 + + + + in %1 - + in a %1 key - + sorted in %1 %2 order - + with a %1 mood - + in a %1 style @@ -3171,10 +3094,10 @@ Try tweaking the filters for a new set of songs to play. %n other(s) - + - %1 people - + %n people + @@ -3261,7 +3184,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection Saját kollekció @@ -3280,6 +3203,14 @@ enter the displayed PIN number here: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3653,21 +3584,6 @@ enter the displayed PIN number here: TrackInfoWidget - - - Form - - - - - Cover - Borító - - - - Statistics - Statisztika - Similar Tracks @@ -4259,11 +4175,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - - Local Network configuration diff --git a/lang/tomahawk_it.ts b/lang/tomahawk_it.ts index 104e48b36..51c1fcca9 100644 --- a/lang/tomahawk_it.ts +++ b/lang/tomahawk_it.ts @@ -254,11 +254,6 @@ connect and stream from you? AlbumInfoWidget - - - Form - Corpo - Tracklist @@ -269,11 +264,6 @@ connect and stream from you? Other Albums - - - Cover - - Sorry, we could not find any other albums for this artist! @@ -306,11 +296,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - Corpo - Top Hits @@ -326,11 +311,6 @@ connect and stream from you? Albums Album - - - Cover - Copertina - Sorry, we could not find any albums for this artist! @@ -350,82 +330,15 @@ connect and stream from you? AudioControls - - Prev - Indietro - - - - Play - Play - - - - Pause - Pausa - - - - Next - Avanti - - - - Artist - Artista - - - - Album - Album - - - - social - sociale - - - - love - love - - - - resolver - - - - - Time - Durata - - - - Time Left - Tempo rimasto - - - Shuffle Riproduzione casuale - Repeat Ripeti - - - Low - Basso - - - - High - Alto - Time Elapsed @@ -518,11 +431,6 @@ connect and stream from you? ContextWidget - - - InfoBar - Barra info - @@ -752,14 +660,6 @@ connect and stream from you? - - GlobalSearchWidget - - - Form - Corpo - - IndexingJobItem @@ -770,11 +670,6 @@ connect and stream from you? InfoBar - - - InfoBar - Barra dell'informazioni - Filter... @@ -783,11 +678,6 @@ connect and stream from you? LastFmConfig - - - Form - Corpo - Scrobble tracks to Last.fm @@ -924,11 +814,6 @@ connect and stream from you? MetadataEditor - - - Form - - Tags @@ -1158,26 +1043,31 @@ connect and stream from you? played %1 by you - ascoltata %1 da te + e.g. played 3 hours ago by you + played %1 by %2 - ascoltata %1 da %2 + e.g. played 3 hours ago by SomeSource + added %1 - %1 aggiunte + e.g. added 3 hours ago + by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum @@ -1397,6 +1287,18 @@ connect and stream from you? Status Updaters Status updaters + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1408,11 +1310,6 @@ connect and stream from you? QueueView - - - InfoBar - Barra info - @@ -1542,11 +1439,6 @@ connect and stream from you? Settings_Accounts - - - Form - - Filter by capability: @@ -1555,11 +1447,6 @@ connect and stream from you? Settings_Advanced - - - Form - - Remote Peer Connection Method @@ -1638,11 +1525,6 @@ connect and stream from you? Settings_Collection - - - Form - - Path to scan for music files: @@ -1705,11 +1587,6 @@ connect and stream from you? SocialWidget - - - Form - Scheda - Facebook @@ -1720,16 +1597,6 @@ connect and stream from you? Twitter Twitter - - - Cover - Copertina - - - - TextLabel - TextLabel - Tweet @@ -2032,11 +1899,6 @@ connect and stream from you? SpotifyConfig - - - Form - Corpo - Configure your Spotify account @@ -2220,59 +2082,60 @@ connect and stream from you? Tomahawk::Accounts::LastFmConfig - + Testing... Sto provando... - + Test Login Prova di login - + Importing %1 e.g. Importing 2012/01/01 Sto importando %1 - + Importing History... Importando la cronologia... - + History Incomplete. Resume + Text on a button that resumes import Cronologia incompleta. Riprendere - + Playback History Imported Cronologia di riproduzione importata - - + + Failed Fallimento - + Success Successo - + Could not contact server Impossibile contattare server - + Synchronizing... - + Synchronization Finished @@ -2504,8 +2367,22 @@ You may wish to try re-authenticating. Fai login to il tuo account Jabber/XMPP per connetterti ai tuoi amici + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2867,16 +2744,19 @@ Try tweaking the filters for a new set of songs to play. + Artist Familiarity Familiarità con l'artista + Artist Hotttnesss Artisti popolari + Song Hotttnesss Canzoni popolari @@ -2902,92 +2782,135 @@ Try tweaking the filters for a new set of songs to play. + Energy Energia + Danceability Ballabilità - + only by ~%1 solo ~%1 - + + similar to ~%1 simili a ~%1 - + with genre ~%1 con il genere ~%1 - - + + from no one da nessuno - + My Collection La mia collezione - + + from my radio + + + + from %1 radio dalla radio %1 + + + Variety + + + + + Adventurousness + + + very low + + + + + low + + + + + moderate + + + + + high + + + + + very high + + + + with %1 %2 con %1 %2 - + about %1 BPM circa %1 BPM - + about %n minute(s) long lunga circa un minutolunga circa %n minuti - + about %1 dB circa %1 db - + at around %1%2 %3 attorno a %1%2 %3 - + in %1 in %1 - + in a %1 key in %1 chiavi - + sorted in %1 %2 order ordinata in modo %1 %2 - + with a %1 mood con un umore %1 - + in a %1 style in uno stile %1 @@ -3171,10 +3094,10 @@ Try tweaking the filters for a new set of songs to play. %n other(s) un altro%n altri - + - %1 people - %1 persona + %n people + @@ -3261,7 +3184,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection La mia collezione @@ -3280,6 +3203,14 @@ enter the displayed PIN number here: Dopo esserti autenticato sulla pagina di Twitter,⏎ inserisci il PIN visualizzato qui: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3653,21 +3584,6 @@ enter the displayed PIN number here: TrackInfoWidget - - - Form - Scheda - - - - Cover - Copertina - - - - Statistics - Statistiche - Similar Tracks @@ -4259,11 +4175,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - Scheda - Local Network configuration diff --git a/lang/tomahawk_ja.ts b/lang/tomahawk_ja.ts index fb2c6959d..2ef3f6617 100644 --- a/lang/tomahawk_ja.ts +++ b/lang/tomahawk_ja.ts @@ -254,25 +254,15 @@ connect and stream from you? AlbumInfoWidget - - - Form - フォーム - Tracklist - + トラックリスト Other Albums - - - - - Cover - + 他のアルバム @@ -306,11 +296,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - フォーム - Top Hits @@ -326,11 +311,6 @@ connect and stream from you? Albums アルバム - - - Cover - カバー - Sorry, we could not find any albums for this artist! @@ -350,82 +330,15 @@ connect and stream from you? AudioControls - - Prev - 前へ - - - - Play - 再生 - - - - Pause - 一時停止 - - - - Next - 次へ - - - - Artist - アーティスト - - - - Album - アルバム - - - - social - ソーシャル - - - - love - Love - - - - resolver - リゾルバー - - - - Time - 時間 - - - - Time Left - 残り時間 - - - Shuffle シャッフル - Repeat リピート - - - Low - - - - - High - - Time Elapsed @@ -518,11 +431,6 @@ connect and stream from you? ContextWidget - - - InfoBar - インフォメーションバー - @@ -639,97 +547,97 @@ connect and stream from you? Steer this station: - + ステションを運転する: Much less - + 極小 Less - + A bit less - + やや小 Keep at current - + そのまま A bit more - + やや大 More - + Much more - + 極大 Tempo - + テンポ Loudness - + 音量 Danceability - + 踊れる Energy - + エネルギー Song Hotttnesss - + 曲のHotttnesss Artist Hotttnesss - + アーティストのHotttnesss Artist Familiarity - + アーティストの人気度 By Description - + 内容準に分類する Enter a description - + 内容を入力して下さい Apply steering command - + 運転のコマンドを適用 Reset all steering commands - + 運転のコマンドをリセット @@ -745,20 +653,12 @@ connect and stream from you? This playlist is currently empty. - + このプレイリストには何も入っていません。 This playlist is currently empty. Add some tracks to it and enjoy the music! - - - - - GlobalSearchWidget - - - Form - フォーム + プレイリストには何も入っていません。トラックを追加して、音楽を楽しみましょう! @@ -771,11 +671,6 @@ connect and stream from you? InfoBar - - - InfoBar - インフォメーションバー - Filter... @@ -784,11 +679,6 @@ connect and stream from you? LastFmConfig - - - Form - フォーム - Scrobble tracks to Last.fm @@ -925,11 +815,6 @@ connect and stream from you? MetadataEditor - - - Form - フォーム - Tags @@ -1033,7 +918,7 @@ connect and stream from you? Properties - + 情報 @@ -1159,26 +1044,31 @@ connect and stream from you? played %1 by you - %1を再生しました。 + e.g. played 3 hours ago by you + played %1 by %2 - %2が%1を再生しました。 + e.g. played 3 hours ago by SomeSource + added %1 - %1を追加しました。 + e.g. added 3 hours ago + by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum @@ -1187,13 +1077,13 @@ connect and stream from you? A playlist you created %1. - + %1に作ったプレイリスト。 A playlist by %1, created %2. - + %2に、%1に作られたプレイリスト。 @@ -1399,6 +1289,18 @@ connect and stream from you? Status Updaters ステータスを更新 + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1410,11 +1312,6 @@ connect and stream from you? QueueView - - - InfoBar - インフォメーションバー - @@ -1544,11 +1441,6 @@ connect and stream from you? Settings_Accounts - - - Form - フォーム - Filter by capability: @@ -1557,11 +1449,6 @@ connect and stream from you? Settings_Advanced - - - Form - フォーム - Remote Peer Connection Method @@ -1630,7 +1517,7 @@ connect and stream from you? Show notification when a new song starts to play - + 曲が再生したら、通知を表示する @@ -1640,11 +1527,6 @@ connect and stream from you? Settings_Collection - - - Form - フォーム - Path to scan for music files: @@ -1710,11 +1592,6 @@ connect and stream from you? SocialWidget - - - Form - フォーム - Facebook @@ -1725,16 +1602,6 @@ connect and stream from you? Twitter Twitter - - - Cover - カバー - - - - TextLabel - TextLabel - Tweet @@ -2037,11 +1904,6 @@ connect and stream from you? SpotifyConfig - - - Form - フォーム - Configure your Spotify account @@ -2225,59 +2087,60 @@ connect and stream from you? Tomahawk::Accounts::LastFmConfig - + Testing... 試験用接続... - + Test Login ログインを試用 - + Importing %1 e.g. Importing 2012/01/01 %1をインポート - + Importing History... 履歴をインポート中... - + History Incomplete. Resume + Text on a button that resumes import 不完全履歴。回復 - + Playback History Imported 再生履歴インポート完了 - - + + Failed 失敗しました - + Success 完成 - + Could not contact server サーバーに接続できませんでした - + Synchronizing... 同期中... - + Synchronization Finished 同期完了 @@ -2512,8 +2375,22 @@ You may wish to try re-authenticating. Jabber/XMPPのアカウントにログインすると、友達と共有できます + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2555,14 +2432,14 @@ You may wish to try re-authenticating. &Go to "%1" - + %1に移動 Go to "%1" - + %1に移動 @@ -2879,16 +2756,19 @@ Try tweaking the filters for a new set of songs to play. + Artist Familiarity アーティストの人気度 + Artist Hotttnesss アーティストのHotttnesss + Song Hotttnesss 曲のHotttnesss @@ -2914,92 +2794,135 @@ Try tweaking the filters for a new set of songs to play. + Energy エネルギー + Danceability 踊れる - + only by ~%1 ~%1のみ - + + similar to ~%1 ~%1に似てる - + with genre ~%1 ジャンルは~%1 - - + + from no one ソース不明 - + My Collection マイコレクション - + + from my radio + マイラジオから + + + from %1 radio %1ラジオから + + + Variety + 多様 + + + + Adventurousness + 大胆さ + + very low + 極小 + + + + low + + + + + moderate + + + + + high + + + + + very high + 極大 + + + with %1 %2 %1は%2で - + about %1 BPM BPMは約%1 - + about %n minute(s) long 約%n分 - + about %1 dB 約%1dB - + at around %1%2 %3 %1%2 %3の近くに - + in %1 %1に - + in a %1 key %1調に - + sorted in %1 %2 order %1 %2順にソートされて - + with a %1 mood %1のムードで - + in a %1 style %1のスタイルで @@ -3183,10 +3106,10 @@ Try tweaking the filters for a new set of songs to play. %n other(s) 他に%n人 - + - %1 people - %1人 + %n people + @@ -3273,7 +3196,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection マイコレクション @@ -3293,6 +3216,14 @@ enter the displayed PIN number here: このPIN番号を入力して下さい: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3515,7 +3446,7 @@ Meta+Ctrl+Z Search for any artist, album or song... - + アーティスト、又はアルバムや曲で検索して下さい @@ -3667,21 +3598,6 @@ Meta+Ctrl+Z TrackInfoWidget - - - Form - フォーム - - - - Cover - カバー - - - - Statistics - 統計 - Similar Tracks @@ -3863,7 +3779,7 @@ Twitterを使っている友達にTomahawkを接続したいなら、ツイー This playlist is empty! - + このプレイリストには何も入っていません。 @@ -4288,11 +4204,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - フォーム - Local Network configuration diff --git a/lang/tomahawk_lt.ts b/lang/tomahawk_lt.ts index 03a09a947..5fd4941fe 100644 --- a/lang/tomahawk_lt.ts +++ b/lang/tomahawk_lt.ts @@ -254,11 +254,6 @@ connect and stream from you? AlbumInfoWidget - - - Form - Forma - Tracklist @@ -269,11 +264,6 @@ connect and stream from you? Other Albums - - - Cover - - Sorry, we could not find any other albums for this artist! @@ -306,11 +296,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - Forma - Top Hits @@ -326,11 +311,6 @@ connect and stream from you? Albums Albumai - - - Cover - Viršelis - Sorry, we could not find any albums for this artist! @@ -350,82 +330,15 @@ connect and stream from you? AudioControls - - Prev - Ankstesnis - - - - Play - Groti - - - - Pause - Pristabdyti - - - - Next - Kitas - - - - Artist - Atlikėjas - - - - Album - Albumas - - - - social - - - - - love - - - - - resolver - - - - - Time - - - - - Time Left - - - - Shuffle Maišyti - Repeat Kartoti - - - Low - - - - - High - - Time Elapsed @@ -518,11 +431,6 @@ connect and stream from you? ContextWidget - - - InfoBar - - @@ -752,14 +660,6 @@ connect and stream from you? - - GlobalSearchWidget - - - Form - Forma - - IndexingJobItem @@ -770,11 +670,6 @@ connect and stream from you? InfoBar - - - InfoBar - - Filter... @@ -783,11 +678,6 @@ connect and stream from you? LastFmConfig - - - Form - Forma - Scrobble tracks to Last.fm @@ -924,11 +814,6 @@ connect and stream from you? MetadataEditor - - - Form - Forma - Tags @@ -1158,26 +1043,31 @@ connect and stream from you? played %1 by you + e.g. played 3 hours ago by you played %1 by %2 + e.g. played 3 hours ago by SomeSource added %1 + e.g. added 3 hours ago by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum @@ -1397,6 +1287,18 @@ connect and stream from you? Status Updaters + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1408,11 +1310,6 @@ connect and stream from you? QueueView - - - InfoBar - - @@ -1542,11 +1439,6 @@ connect and stream from you? Settings_Accounts - - - Form - - Filter by capability: @@ -1555,11 +1447,6 @@ connect and stream from you? Settings_Advanced - - - Form - - Remote Peer Connection Method @@ -1638,11 +1525,6 @@ connect and stream from you? Settings_Collection - - - Form - - Path to scan for music files: @@ -1705,11 +1587,6 @@ connect and stream from you? SocialWidget - - - Form - Forma - Facebook @@ -1720,16 +1597,6 @@ connect and stream from you? Twitter Twitter - - - Cover - Viršelis - - - - TextLabel - Teksto etiketė - Tweet @@ -2032,11 +1899,6 @@ connect and stream from you? SpotifyConfig - - - Form - Forma - Configure your Spotify account @@ -2220,59 +2082,60 @@ connect and stream from you? Tomahawk::Accounts::LastFmConfig - + Testing... Bandoma... - + Test Login Išbandyti prisijungimą - + Importing %1 e.g. Importing 2012/01/01 Įkeliama %1 - + Importing History... Įkeliama istorija... - + History Incomplete. Resume + Text on a button that resumes import Istorija nepilna. Tęskite - + Playback History Imported Klausymosi istorija įkelta - - + + Failed Nepavyko - + Success - + Could not contact server - + Synchronizing... - + Synchronization Finished @@ -2504,8 +2367,22 @@ You may wish to try re-authenticating. + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2867,16 +2744,19 @@ Try tweaking the filters for a new set of songs to play. + Artist Familiarity + Artist Hotttnesss + Song Hotttnesss @@ -2902,92 +2782,135 @@ Try tweaking the filters for a new set of songs to play. + Energy Energija + Danceability - + only by ~%1 - + + similar to ~%1 - + with genre ~%1 - - + + from no one - + My Collection Mano kolekcija - + + from my radio + + + + from %1 radio + + + Variety + + + + + Adventurousness + + - with %1 %2 + very low - about %1 BPM + low - + - about %n minute(s) long - apytikriai %n minutės ilgioapytikriai %n minučių ilgioapytikriai %n minučių ilgio + moderate + - about %1 dB - apie %1 dB + high + - at around %1%2 %3 + very high + + + + + with %1 %2 + about %1 BPM + + + + + about %n minute(s) long + apytikriai %n minutės ilgioapytikriai %n minučių ilgioapytikriai %n minučių ilgio + + + + about %1 dB + apie %1 dB + + + + at around %1%2 %3 + + + + in %1 - + in a %1 key - + sorted in %1 %2 order - + with a %1 mood - + in a %1 style @@ -3171,10 +3094,10 @@ Try tweaking the filters for a new set of songs to play. %n other(s) - + - %1 people - + %n people + @@ -3261,7 +3184,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection Mano kolekcija @@ -3280,6 +3203,14 @@ enter the displayed PIN number here: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3653,21 +3584,6 @@ enter the displayed PIN number here: TrackInfoWidget - - - Form - Forma - - - - Cover - Viršelis - - - - Statistics - Statistika - Similar Tracks @@ -4259,11 +4175,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - Forma - Local Network configuration diff --git a/lang/tomahawk_pl.ts b/lang/tomahawk_pl.ts index 30ee537db..d0f165c9e 100644 --- a/lang/tomahawk_pl.ts +++ b/lang/tomahawk_pl.ts @@ -255,11 +255,6 @@ połączyć się i strumieniować od ciebie? AlbumInfoWidget - - - Form - Formularz - Tracklist @@ -270,11 +265,6 @@ połączyć się i strumieniować od ciebie? Other Albums - - - Cover - - Sorry, we could not find any other albums for this artist! @@ -307,11 +297,6 @@ połączyć się i strumieniować od ciebie? ArtistInfoWidget - - - Form - Formularz - Top Hits @@ -327,11 +312,6 @@ połączyć się i strumieniować od ciebie? Albums Albumy - - - Cover - Okładka - Sorry, we could not find any albums for this artist! @@ -351,82 +331,15 @@ połączyć się i strumieniować od ciebie? AudioControls - - Prev - Poprzedni - - - - Play - Odtwarzaj - - - - Pause - Pauza - - - - Next - Następny - - - - Artist - Artysta - - - - Album - Album - - - - social - - - - - love - ulubione - - - - resolver - - - - - Time - Czas - - - - Time Left - Pozostały czas - - - Shuffle Losowo - Repeat Powtarzaj - - - Low - Nisko - - - - High - Wysoko - Time Elapsed @@ -519,11 +432,6 @@ połączyć się i strumieniować od ciebie? ContextWidget - - - InfoBar - Informacje - @@ -753,14 +661,6 @@ połączyć się i strumieniować od ciebie? - - GlobalSearchWidget - - - Form - Formularz - - IndexingJobItem @@ -771,11 +671,6 @@ połączyć się i strumieniować od ciebie? InfoBar - - - InfoBar - Informacje - Filter... @@ -784,11 +679,6 @@ połączyć się i strumieniować od ciebie? LastFmConfig - - - Form - - Scrobble tracks to Last.fm @@ -925,11 +815,6 @@ połączyć się i strumieniować od ciebie? MetadataEditor - - - Form - - Tags @@ -1159,26 +1044,31 @@ połączyć się i strumieniować od ciebie? played %1 by you - odtworzone %1 przez ciebie + e.g. played 3 hours ago by you + played %1 by %2 - odtworzone %1 przez %2 + e.g. played 3 hours ago by SomeSource + added %1 - dodano %1 + e.g. added 3 hours ago + by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum @@ -1399,6 +1289,18 @@ połączyć się i strumieniować od ciebie? Status Updaters Aktualizatory Statusu + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1410,11 +1312,6 @@ połączyć się i strumieniować od ciebie? QueueView - - - InfoBar - Informacje - @@ -1544,11 +1441,6 @@ połączyć się i strumieniować od ciebie? Settings_Accounts - - - Form - - Filter by capability: @@ -1557,11 +1449,6 @@ połączyć się i strumieniować od ciebie? Settings_Advanced - - - Form - - Remote Peer Connection Method @@ -1640,11 +1527,6 @@ połączyć się i strumieniować od ciebie? Settings_Collection - - - Form - - Path to scan for music files: @@ -1707,11 +1589,6 @@ połączyć się i strumieniować od ciebie? SocialWidget - - - Form - - Facebook @@ -1722,16 +1599,6 @@ połączyć się i strumieniować od ciebie? Twitter Twitter - - - Cover - Okładka - - - - TextLabel - - Tweet @@ -2034,11 +1901,6 @@ połączyć się i strumieniować od ciebie? SpotifyConfig - - - Form - - Configure your Spotify account @@ -2222,59 +2084,60 @@ połączyć się i strumieniować od ciebie? Tomahawk::Accounts::LastFmConfig - + Testing... Testuję... - + Test Login Testuj logowanie - + Importing %1 e.g. Importing 2012/01/01 - + Importing History... Importuję historię... - + History Incomplete. Resume + Text on a button that resumes import - + Playback History Imported - - + + Failed Niepowodzenie - + Success Sukces - + Could not contact server Nie udało się połączyć z serwerem - + Synchronizing... - + Synchronization Finished @@ -2509,8 +2372,22 @@ Możesz spróbować ponowić uwierzytelnienie. Zaloguj się na twoje konto Jabber/XMPP aby połączyć się ze swoimi znajomymi + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2876,16 +2753,19 @@ Spróbuj poprawić filtry aby uzyskać nowy zestaw piosenek do odtworzenia. + Artist Familiarity Znajomość Artysty + Artist Hotttnesss Zainteresowanie wykonawcą + Song Hotttnesss Zainteresowanie piosenką @@ -2911,92 +2791,135 @@ Spróbuj poprawić filtry aby uzyskać nowy zestaw piosenek do odtworzenia. + Energy Energiczność + Danceability Taneczność - + only by ~%1 tylko wykonawcy ~%1 - + + similar to ~%1 podobne do ~%1 - + with genre ~%1 w gatunku ~%1 - - + + from no one od nikogo - + My Collection Moja Kolekcja - + + from my radio + + + + from %1 radio z radia %1 + + + Variety + + + + + Adventurousness + + + very low + + + + + low + + + + + moderate + + + + + high + + + + + very high + + + + with %1 %2 z %1 %2 - + about %1 BPM około %1 BPM - + about %n minute(s) long trwające około %n minutytrwające około %n minuttrwające około %n minut - + about %1 dB około %1 dB - + at around %1%2 %3 - + in %1 w %1 - + in a %1 key w kluczu %1 - + sorted in %1 %2 order posortowane w porządku %1 %2 - + with a %1 mood z nastrojem: %1 - + in a %1 style w stylu %1 @@ -3180,10 +3103,10 @@ Spróbuj poprawić filtry aby uzyskać nowy zestaw piosenek do odtworzenia.%n other(s) %n inny%n inne%n innych - + - %1 people - %1 ludzi + %n people + @@ -3270,7 +3193,7 @@ Spróbuj poprawić filtry aby uzyskać nowy zestaw piosenek do odtworzenia. TomahawkApp - + My Collection Moja Kolekcja @@ -3290,6 +3213,14 @@ enter the displayed PIN number here: wprowadź pokazany numer PIN tutaj: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3663,21 +3594,6 @@ wprowadź pokazany numer PIN tutaj: TrackInfoWidget - - - Form - - - - - Cover - Okładka - - - - Statistics - Statystyki - Similar Tracks @@ -4280,11 +4196,6 @@ Tekst dla "%1" wykonawcy %2: ZeroconfConfig - - - Form - Formularz - Local Network configuration diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts index 69d05808f..d82d833c7 100644 --- a/lang/tomahawk_pt_BR.ts +++ b/lang/tomahawk_pt_BR.ts @@ -255,11 +255,6 @@ se conecte e faça o stream de você? AlbumInfoWidget - - - Form - Formulário - Tracklist @@ -270,11 +265,6 @@ se conecte e faça o stream de você? Other Albums Outros álbuns - - - Cover - Capa - Sorry, we could not find any other albums for this artist! @@ -307,11 +297,6 @@ se conecte e faça o stream de você? ArtistInfoWidget - - - Form - Formulário - Top Hits @@ -327,11 +312,6 @@ se conecte e faça o stream de você? Albums Álbuns - - - Cover - Capa - Sorry, we could not find any albums for this artist! @@ -351,82 +331,15 @@ se conecte e faça o stream de você? AudioControls - - Prev - Anterior - - - - Play - Play - - - - Pause - Pausar - - - - Next - Próxima - - - - Artist - Artista - - - - Album - Álbum - - - - social - social - - - - love - Favorita - - - - resolver - resolvedor - - - - Time - Tempo - - - - Time Left - Tempo restante - - - Shuffle Shuffle - Repeat Repetir - - - Low - Diminuir - - - - High - Aumentar - Time Elapsed @@ -519,11 +432,6 @@ se conecte e faça o stream de você? ContextWidget - - - InfoBar - Barra de informações - @@ -694,7 +602,7 @@ se conecte e faça o stream de você? Energy - + Energia @@ -709,7 +617,7 @@ se conecte e faça o stream de você? Artist Familiarity - + Familiaridade do artista @@ -753,14 +661,6 @@ se conecte e faça o stream de você? Esta lista de reprodução está vazia no momento. Adicione algumas faixas a ela e aproveite a música! - - GlobalSearchWidget - - - Form - Formulário - - IndexingJobItem @@ -771,11 +671,6 @@ se conecte e faça o stream de você? InfoBar - - - InfoBar - Barra de informações - Filter... @@ -784,11 +679,6 @@ se conecte e faça o stream de você? LastFmConfig - - - Form - Formulário - Scrobble tracks to Last.fm @@ -925,11 +815,6 @@ se conecte e faça o stream de você? MetadataEditor - - - Form - Formulário - Tags @@ -1159,27 +1044,32 @@ se conecte e faça o stream de você? played %1 by you - tocou %1 por você + e.g. played 3 hours ago by you + played %1 by %2 - tocou %1 por %2 + e.g. played 3 hours ago by SomeSource + added %1 - adicionou %1 + e.g. added 3 hours ago + by <b>%1</b> - + e.g. by SomeArtist + por <b>%1</b> by <b>%1</b> on <b>%2</b> - + e.g. by SomeArtist on SomeAlbum + por <b>%1</b> em <b>%2</b> @@ -1399,6 +1289,18 @@ se conecte e faça o stream de você? Status Updaters Atualizadores de Status + + + + %1 Config + Config de %1 + + + + + %1 Configuration + Configuração de %1 + QuaZipFilePrivate @@ -1410,11 +1312,6 @@ se conecte e faça o stream de você? QueueView - - - InfoBar - Barra de informações - @@ -1544,11 +1441,6 @@ se conecte e faça o stream de você? Settings_Accounts - - - Form - Forma - Filter by capability: @@ -1557,11 +1449,6 @@ se conecte e faça o stream de você? Settings_Advanced - - - Form - Forma - Remote Peer Connection Method @@ -1630,7 +1517,7 @@ se conecte e faça o stream de você? Show notification when a new song starts to play - + Mostrar notificação quando uma nova música começar a tocar @@ -1640,11 +1527,6 @@ se conecte e faça o stream de você? Settings_Collection - - - Form - Forma - Path to scan for music files: @@ -1707,11 +1589,6 @@ se conecte e faça o stream de você? SocialWidget - - - Form - Formulário - Facebook @@ -1722,16 +1599,6 @@ se conecte e faça o stream de você? Twitter Twitter - - - Cover - Capa - - - - TextLabel - TextLabel - Tweet @@ -2034,11 +1901,6 @@ se conecte e faça o stream de você? SpotifyConfig - - - Form - Formulário - Configure your Spotify account @@ -2222,59 +2084,60 @@ se conecte e faça o stream de você? Tomahawk::Accounts::LastFmConfig - + Testing... Testando... - + Test Login Testar Login - + Importing %1 e.g. Importing 2012/01/01 Importando %1 - + Importing History... Importando Histórico... - + History Incomplete. Resume + Text on a button that resumes import Histórico Incompleto. Retomar - + Playback History Imported Reproduzir Histórico Importado - - + + Failed Falhou - + Success Sucesso - + Could not contact server Não foi possível contatar o servidor - + Synchronizing... Sincronizando... - + Synchronization Finished Sincronização concluída @@ -2509,8 +2372,22 @@ Você pode tentar re-autenticar. Entre em sua conta do Jabber/XMPP para se conectar com seus amigos + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + Rede local + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + Rede local + Automatically connect to Tomahawks on the local network @@ -2552,14 +2429,14 @@ Você pode tentar re-autenticar. &Go to "%1" - + &Ir para "%1" Go to "%1" - + Ir para "%1" @@ -2876,16 +2753,19 @@ Tente ajustar os filtros para ouvir um novo conjunto de músicas. + Artist Familiarity Familiaridade do Artista + Artist Hotttnesss Hotttnesss do Artista + Song Hotttnesss Hotttnesss da Música @@ -2911,92 +2791,135 @@ Tente ajustar os filtros para ouvir um novo conjunto de músicas. + Energy Energia + Danceability Dançabilidade - + only by ~%1 somente por ~%1 - + + similar to ~%1 similar a ~%1 - + with genre ~%1 do gênero ~%1 - - + + from no one de ninguém - + My Collection Minha Coleção - + + from my radio + da minha rádio + + + from %1 radio da rádio %1 + + + Variety + Variedade + + + + Adventurousness + + + very low + muito baixo + + + + low + baixo + + + + moderate + moderado + + + + high + alto + + + + very high + muito alto + + + with %1 %2 com %1 %2 - + about %1 BPM aproximadamente %1 BPM - + about %n minute(s) long aproximadamente %n minuto de duraçãoaproximadamente %n minutos de duração - + about %1 dB aproximadamente %1 dB - + at around %1%2 %3 em torno de %1%2 %3 - + in %1 em %1 - + in a %1 key em um tom %1 - + sorted in %1 %2 order distrubuido em %1 %2 ordem - + with a %1 mood com um %1 humor - + in a %1 style em um %1 de estilo @@ -3180,10 +3103,10 @@ Tente ajustar os filtros para ouvir um novo conjunto de músicas. %n other(s) %n outro%n outros - + - %1 people - %1 pessoas + %n people + @@ -3270,7 +3193,7 @@ Tente ajustar os filtros para ouvir um novo conjunto de músicas. TomahawkApp - + My Collection Minha Coleção @@ -3290,6 +3213,14 @@ enter the displayed PIN number here: colocar o número PIN mostrado aqui: + + TomahawkSettings + + + Local Network + Rede local + + TomahawkTrayIcon @@ -3511,7 +3442,7 @@ colocar o número PIN mostrado aqui: Search for any artist, album or song... - + Pesquisar por qualquer artista, álbum ou música... @@ -3663,21 +3594,6 @@ colocar o número PIN mostrado aqui: TrackInfoWidget - - - Form - Formulário - - - - Cover - Capa - - - - Statistics - Estatísticas - Similar Tracks @@ -3859,7 +3775,7 @@ Você pode enviar uma outra mensagem de sincronia a qualquer momento simplesment This playlist is empty! - + Essa lista de reprodução está vazia! @@ -4281,11 +4197,6 @@ Letras de "%1" por %2: ZeroconfConfig - - - Form - Formulário - Local Network configuration diff --git a/lang/tomahawk_ru.ts b/lang/tomahawk_ru.ts index c52e97872..c889c9da2 100644 --- a/lang/tomahawk_ru.ts +++ b/lang/tomahawk_ru.ts @@ -255,11 +255,6 @@ connect and stream from you? AlbumInfoWidget - - - Form - Форма - Tracklist @@ -270,11 +265,6 @@ connect and stream from you? Other Albums - - - Cover - - Sorry, we could not find any other albums for this artist! @@ -307,11 +297,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - Форма - Top Hits @@ -327,11 +312,6 @@ connect and stream from you? Albums Альбомы - - - Cover - Обложка - Sorry, we could not find any albums for this artist! @@ -351,82 +331,15 @@ connect and stream from you? AudioControls - - Prev - Предыдущая - - - - Play - Играть - - - - Pause - Пауза - - - - Next - Следующая - - - - Artist - Исполнитель - - - - Album - Альбом - - - - social - социальный - - - - love - Любимая - - - - resolver - - - - - Time - Прошло - - - - Time Left - Осталось - - - Shuffle Случаная - Repeat Повторять - - - Low - Тише - - - - High - Громче - Time Elapsed @@ -519,11 +432,6 @@ connect and stream from you? ContextWidget - - - InfoBar - Панель информации - @@ -753,14 +661,6 @@ connect and stream from you? - - GlobalSearchWidget - - - Form - Форма - - IndexingJobItem @@ -771,11 +671,6 @@ connect and stream from you? InfoBar - - - InfoBar - Информация - Filter... @@ -784,11 +679,6 @@ connect and stream from you? LastFmConfig - - - Form - Форма - Scrobble tracks to Last.fm @@ -925,11 +815,6 @@ connect and stream from you? MetadataEditor - - - Form - Форма - Tags @@ -1159,26 +1044,31 @@ connect and stream from you? played %1 by you - Воспроизводилось %1 вами + e.g. played 3 hours ago by you + played %1 by %2 - Воспроизводилось %1 %2 + e.g. played 3 hours ago by SomeSource + added %1 - Добавлено %1 + e.g. added 3 hours ago + by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum @@ -1399,6 +1289,18 @@ connect and stream from you? Status Updaters Статус обновления + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1410,11 +1312,6 @@ connect and stream from you? QueueView - - - InfoBar - Информационный Бар - @@ -1544,11 +1441,6 @@ connect and stream from you? Settings_Accounts - - - Form - - Filter by capability: @@ -1557,11 +1449,6 @@ connect and stream from you? Settings_Advanced - - - Form - - Remote Peer Connection Method @@ -1640,11 +1527,6 @@ connect and stream from you? Settings_Collection - - - Form - - Path to scan for music files: @@ -1707,11 +1589,6 @@ connect and stream from you? SocialWidget - - - Form - Форма - Facebook @@ -1722,16 +1599,6 @@ connect and stream from you? Twitter Twitter - - - Cover - Обложка - - - - TextLabel - TextLabel - Tweet @@ -2034,11 +1901,6 @@ connect and stream from you? SpotifyConfig - - - Form - Форма - Configure your Spotify account @@ -2222,59 +2084,60 @@ connect and stream from you? Tomahawk::Accounts::LastFmConfig - + Testing... Тестирую... - + Test Login Проверить Вход - + Importing %1 e.g. Importing 2012/01/01 Импортирование %1 - + Importing History... Импортирование истории... - + History Incomplete. Resume + Text on a button that resumes import - + Playback History Imported История воспроизведений импортирована. - - + + Failed Неудача - + Success Успех - + Could not contact server Не удается связаться с сервером - + Synchronizing... Синхронизация... - + Synchronization Finished Синхронизация Закончена. @@ -2509,8 +2372,22 @@ You may wish to try re-authenticating. Войдите в ваш Jabber/XMPP аккаунт чтобы соединится с вашими друзьями. + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2874,16 +2751,19 @@ Try tweaking the filters for a new set of songs to play. + Artist Familiarity Artist Familiarity + Artist Hotttnesss Artist Hotttnesss + Song Hotttnesss Song Hotttnesss @@ -2909,92 +2789,135 @@ Try tweaking the filters for a new set of songs to play. + Energy Энергия + Danceability Danceability - + only by ~%1 только ~ %1 - + + similar to ~%1 похожие на ~%1 - + with genre ~%1 с жанром ~%1 - - + + from no one ни от кого не - + My Collection Моя коллекция - + + from my radio + + + + from %1 radio от %1 радио + + + Variety + + + + + Adventurousness + + + very low + + + + + low + + + + + moderate + + + + + high + + + + + very high + + + + with %1 %2 с %1 %2 - + about %1 BPM около %1 BPM - + about %n minute(s) long - + about %1 dB около %1 dB - + at around %1%2 %3 около %1%2 %3 - + in %1 в %1 - + in a %1 key в %1 ключ - + sorted in %1 %2 order отсортированы в %1 %2 порядке - + with a %1 mood настроение %1 - + in a %1 style в стиле %1 @@ -3178,10 +3101,10 @@ Try tweaking the filters for a new set of songs to play. %n other(s) - + - %1 people - %1 человек + %n people + @@ -3268,7 +3191,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection Моя коллекция @@ -3287,6 +3210,14 @@ enter the displayed PIN number here: После авторизации в твиттере введите номер PIN сюда: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3660,21 +3591,6 @@ enter the displayed PIN number here: TrackInfoWidget - - - Form - Форма - - - - Cover - Обложка - - - - Statistics - Статистика - Similar Tracks @@ -4276,11 +4192,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - Форма - Local Network configuration diff --git a/lang/tomahawk_sv.ts b/lang/tomahawk_sv.ts index 842fa3097..5e3e529c9 100644 --- a/lang/tomahawk_sv.ts +++ b/lang/tomahawk_sv.ts @@ -254,11 +254,6 @@ connect and stream from you? AlbumInfoWidget - - - Form - Formulär - Tracklist @@ -269,11 +264,6 @@ connect and stream from you? Other Albums - - - Cover - - Sorry, we could not find any other albums for this artist! @@ -306,11 +296,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - Formulär - Top Hits @@ -326,11 +311,6 @@ connect and stream from you? Albums Album - - - Cover - - Sorry, we could not find any albums for this artist! @@ -350,82 +330,15 @@ connect and stream from you? AudioControls - - Prev - Föreg - - - - Play - Spela upp - - - - Pause - Paus - - - - Next - Nästa - - - - Artist - Artist - - - - Album - Album - - - - social - - - - - love - älska - - - - resolver - - - - - Time - Tid - - - - Time Left - Tid kvar - - - Shuffle Blanda - Repeat Upprepa - - - Low - Låg - - - - High - Hög - Time Elapsed @@ -518,11 +431,6 @@ connect and stream from you? ContextWidget - - - InfoBar - Inforad - @@ -752,14 +660,6 @@ connect and stream from you? - - GlobalSearchWidget - - - Form - Formulär - - IndexingJobItem @@ -770,11 +670,6 @@ connect and stream from you? InfoBar - - - InfoBar - Inforad - Filter... @@ -783,11 +678,6 @@ connect and stream from you? LastFmConfig - - - Form - Formulär - Scrobble tracks to Last.fm @@ -924,11 +814,6 @@ connect and stream from you? MetadataEditor - - - Form - - Tags @@ -1158,26 +1043,31 @@ connect and stream from you? played %1 by you - %1 spelades av dig + e.g. played 3 hours ago by you + played %1 by %2 - %1 spelades av %2 + e.g. played 3 hours ago by SomeSource + added %1 - %1 tillagd + e.g. added 3 hours ago + by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum @@ -1398,6 +1288,18 @@ connect and stream from you? Status Updaters Status uppdaterare + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1409,11 +1311,6 @@ connect and stream from you? QueueView - - - InfoBar - Inforad - @@ -1543,11 +1440,6 @@ connect and stream from you? Settings_Accounts - - - Form - - Filter by capability: @@ -1556,11 +1448,6 @@ connect and stream from you? Settings_Advanced - - - Form - - Remote Peer Connection Method @@ -1639,11 +1526,6 @@ connect and stream from you? Settings_Collection - - - Form - - Path to scan for music files: @@ -1706,11 +1588,6 @@ connect and stream from you? SocialWidget - - - Form - - Facebook @@ -1721,16 +1598,6 @@ connect and stream from you? Twitter - - - Cover - - - - - TextLabel - - Tweet @@ -2008,12 +1875,12 @@ connect and stream from you? Dashboard - + Dashboard Recently Played - + Nyligen Spelade @@ -2033,11 +1900,6 @@ connect and stream from you? SpotifyConfig - - - Form - - Configure your Spotify account @@ -2130,12 +1992,12 @@ connect and stream from you? %1 downloads - + %1 nedladdningar Online - + Uppkopplad @@ -2145,7 +2007,7 @@ connect and stream from you? Offline - + Nedkopplad @@ -2176,7 +2038,7 @@ connect and stream from you? Enter your Google login to connect with your friends using Tomahawk! - + Logga in med ditt Google-konto för att hålla kontakten med vänner som använder Tomahawk @@ -2189,7 +2051,7 @@ connect and stream from you? Connect to Google Talk to find your friends - + Koppla upp mot Google Talk och bjud in dina vänner @@ -2215,65 +2077,66 @@ connect and stream from you? Scrobble your tracks to last.fm, and find freely downloadable tracks to play - + Skrobbla dina låtar till Last.fm och hitta gratis nedladdningsbara låtar att spela Tomahawk::Accounts::LastFmConfig - + Testing... - + Test Login - + Importing %1 e.g. Importing 2012/01/01 - + Importing History... - + History Incomplete. Resume + Text on a button that resumes import - + Playback History Imported - - + + Failed Misslyckades - + Success - + Färdig - + Could not contact server - + Det gick inte kontakta servern - + Synchronizing... - + Synchronization Finished @@ -2360,7 +2223,7 @@ connect and stream from you? Play music from and sync your playlists with Spotify Premium - + Spela musik från, och synca dina spellistor med Spotify Premium @@ -2368,7 +2231,7 @@ connect and stream from you? Connect to your Twitter followers. - + Koppla upp mot dina Twitter-följare @@ -2391,7 +2254,7 @@ connect and stream from you? Authenticate - + Verifiera @@ -2414,7 +2277,7 @@ connect and stream from you? Tweetin' Error - + Twitter-fel @@ -2430,22 +2293,22 @@ You may wish to try re-authenticating. Global Tweet - + Global tweet Direct Message - + direktmeddelande Send Message! - + Skicka Meddelande! @Mention - + @Nämn @@ -2455,7 +2318,7 @@ You may wish to try re-authenticating. You must enter a user name for this type of tweet. - + Du måste ange ett användarnamn för den här typen av tweet. @@ -2473,28 +2336,28 @@ You may wish to try re-authenticating. There was an error posting your status -- sorry! - + Det uppstod ett fel när din status skulle skickas. Vi ber om ursäkt för detta! Tweeted! - + Twittrat! Your tweet has been posted! - + Din tweet har skickats! There was an error posting your direct message -- sorry! - + Det uppstod ett fel när ditt meddelande skulle skickas. Vi ber om ursäkt för detta! Your message has been posted! - + Ditt meddelande har skickats! @@ -2502,15 +2365,29 @@ You may wish to try re-authenticating. Log on to your Jabber/XMPP account to connect to your friends + Logga in på ditt Jabber/XMPP-konto för att kontakta dina vänner + + + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network - + Koppla automatiskt upp Tomahawk mot det lokala nätverket @@ -2541,7 +2418,7 @@ You may wish to try re-authenticating. &Love - + &Kärlek @@ -2560,7 +2437,7 @@ You may wish to try re-authenticating. &Copy Track Link - + &Kopiera Låtlänk @@ -2642,12 +2519,14 @@ You may wish to try re-authenticating. Could not find a playable track. Please change the filters or try again. - + Det gick inte hitta någon spelbar låt + +Var god och ändra filtrerna eller försök igen Failed to generate preview with the desired filters - + Det gick inte att generera en förhandsvisning med det valda filtret @@ -2668,17 +2547,17 @@ Please change the filters or try again. Add some filters above to seed this station! - + Lägg till filter ovan för att dela ut denna stationen! Press Generate to get started! - + Klicka på Generera för att börja! Add some filters above, and press Generate to get started! - + Lägg till några filter ovan och tryck på Generera för att börja! @@ -2688,7 +2567,9 @@ Please change the filters or try again. Station ran out of tracks! Try tweaking the filters for a new set of songs to play. - + Stationens spellista tog sluta + +Försök att ändra i filtrerna för att få en ny låtlista @@ -2868,16 +2749,19 @@ Try tweaking the filters for a new set of songs to play. + Artist Familiarity + Artist Hotttnesss + Song Hotttnesss @@ -2899,96 +2783,139 @@ Try tweaking the filters for a new set of songs to play. Key - + Nyckel + Energy Energi + Danceability - + Dansbarhet - + only by ~%1 - + Bara med ~%1 - + + similar to ~%1 - + liknar ~%1 - + with genre ~%1 - + med genre ~%1 - - + + from no one - + från ingen - + My Collection + Min Samling + + + + from my radio - + from %1 radio + från %1 radio + + + + Variety + + + + + Adventurousness - with %1 %2 + very low - about %1 BPM + low - + - about %n minute(s) long - + moderate + - about %1 dB + high - at around %1%2 %3 + very high + + + with %1 %2 + med %1 %2 + + about %1 BPM + ca %1 BPM + + + + about %n minute(s) long + ca %n minut långca %n minuter lång + + + + about %1 dB + ca %1 dB + + + + at around %1%2 %3 + runt %1%2 %3 + + + in %1 - + i %1 - + in a %1 key - + i en %1-nyckel - + sorted in %1 %2 order - + sorterad i %1 %2 ordning - + with a %1 mood - + med en %1 sinnesstämning - + in a %1 style @@ -2998,7 +2925,7 @@ Try tweaking the filters for a new set of songs to play. Error fetching Grooveshark information from the network! - + Det gick inte ta emot information från Grooveshark! @@ -3006,7 +2933,7 @@ Try tweaking the filters for a new set of songs to play. Top Overall - + Generell topplista @@ -3086,7 +3013,7 @@ Try tweaking the filters for a new set of songs to play. Error fetching iTunes information from the network! - + Det gick inte ta emot information från iTunes via nätverket! @@ -3122,13 +3049,13 @@ Try tweaking the filters for a new set of songs to play. &Catch Up - + &Häng med &Listen Along - + &Spela med @@ -3150,37 +3077,37 @@ Try tweaking the filters for a new set of songs to play. and - + och You - + Du you - + du and - + och %n other(s) - + %n annan%n andra - + - %1 people - + %n people + loved this track - + älskade denna låten @@ -3188,7 +3115,7 @@ Try tweaking the filters for a new set of songs to play. Error fetching Rdio information from the network! - + Det gick inte hämta information från Rdio @@ -3210,7 +3137,7 @@ Try tweaking the filters for a new set of songs to play. Scanning - + Skannar @@ -3248,7 +3175,7 @@ Try tweaking the filters for a new set of songs to play. Error fetching Spotify information from the network! - + Det gick inte hämta information från Spotify @@ -3262,9 +3189,9 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection - + Min Samling @@ -3272,12 +3199,21 @@ Try tweaking the filters for a new set of songs to play. Twitter PIN - + Twitter PIN After authenticating on Twitter's web site, enter the displayed PIN number here: + Efter du loggat in på Twitter, +anger du PIN-koden här: + + + + TomahawkSettings + + + Local Network @@ -3559,7 +3495,7 @@ enter the displayed PIN number here: Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Tyvärr blev det problem att hitta din ljudenhet eller den valda låten! Nuvarande låt kommer att hoppas över @@ -3649,26 +3585,11 @@ enter the displayed PIN number here: Top Hits - + Topplista TrackInfoWidget - - - Form - - - - - Cover - - - - - Statistics - - Similar Tracks @@ -3967,7 +3888,10 @@ Lyrics for "%1" by %2: %3 - + Låttext för "%1" av %2 + +%3 + @@ -3975,17 +3899,17 @@ Lyrics for "%1" by %2: Failed to parse contents of XSPF playlist - + Det gick inte analysera innehållet av XSPF-spellistan Some playlist entries were found without artist and track name, they will be omitted - + Några spellistsinlägg hittades utan artistnamn eller låttitel. Dessa kommer hoppas över. Failed to fetch the desired playlist from the network, or the desired file does not exist - + Antingen gick det inte hitta den valda spellistan på nätverket, eller så fanns den inte @@ -3998,13 +3922,13 @@ Lyrics for "%1" by %2: Xml stream console - + XML-strömkonsol Filter - + Filter @@ -4039,7 +3963,7 @@ Lyrics for "%1" by %2: Information query - + Informationsförfrågan @@ -4049,7 +3973,7 @@ Lyrics for "%1" by %2: Presence - + Närvaro @@ -4077,72 +4001,72 @@ Lyrics for "%1" by %2: Xmpp Configuration - + XMPP Konfiguration Configure this Xmpp account - + Konfigurera detta XMPP-kontot Enter your Xmpp login to connect with your friends using Tomahawk! - + Ange dina XMPP-uppgifter för att kontakta dina vänner med Tomahawk Login Information - + Inloggningsinformation Xmpp ID: - + XMPP ID: e.g. user@example.com - + t ex användare@exempel.com Password: - + Lösenord: An account with this name already exists! - + Ett konto med det namnet finns redan! Advanced Xmpp Settings - + Avancerade XMPP-inställningar Server: - + Server: Port: - + Port: Lots of servers don't support this (e.g. GTalk, jabber.org) - + Många servrar stödjer inte detta (t ex GTalk eller Jabber.org) Publish currently playing track - + Publicera låt Enforce secure connection - + Tvinga säker anslutning @@ -4150,7 +4074,7 @@ Lyrics for "%1" by %2: User Interaction - + Användarinteraktion @@ -4260,11 +4184,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - Formulär - Local Network configuration diff --git a/lang/tomahawk_tr.ts b/lang/tomahawk_tr.ts index 5e162423f..38a8e091a 100644 --- a/lang/tomahawk_tr.ts +++ b/lang/tomahawk_tr.ts @@ -254,11 +254,6 @@ connect and stream from you? AlbumInfoWidget - - - Form - Form - Tracklist @@ -269,11 +264,6 @@ connect and stream from you? Other Albums - - - Cover - - Sorry, we could not find any other albums for this artist! @@ -306,11 +296,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - Form - Top Hits @@ -326,11 +311,6 @@ connect and stream from you? Albums Albümler - - - Cover - - Sorry, we could not find any albums for this artist! @@ -350,82 +330,15 @@ connect and stream from you? AudioControls - - Prev - Geri - - - - Play - Yürüt - - - - Pause - Duraklat - - - - Next - Sonraki - - - - Artist - Sanatçı - - - - Album - Albüm - - - - social - - - - - love - beğen - - - - resolver - - - - - Time - Süre - - - - Time Left - Kalan Süre - - - Shuffle Karışık - Repeat Yenile - - - Low - Düşük - - - - High - Yüksek - Time Elapsed @@ -518,11 +431,6 @@ connect and stream from you? ContextWidget - - - InfoBar - BilgiÇubuğu - @@ -752,14 +660,6 @@ connect and stream from you? - - GlobalSearchWidget - - - Form - Form - - IndexingJobItem @@ -770,11 +670,6 @@ connect and stream from you? InfoBar - - - InfoBar - BilgiÇubuğu - Filter... @@ -783,11 +678,6 @@ connect and stream from you? LastFmConfig - - - Form - Form - Scrobble tracks to Last.fm @@ -924,11 +814,6 @@ connect and stream from you? MetadataEditor - - - Form - - Tags @@ -1158,26 +1043,31 @@ connect and stream from you? played %1 by you + e.g. played 3 hours ago by you played %1 by %2 + e.g. played 3 hours ago by SomeSource added %1 + e.g. added 3 hours ago by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum @@ -1397,6 +1287,18 @@ connect and stream from you? Status Updaters + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1408,11 +1310,6 @@ connect and stream from you? QueueView - - - InfoBar - - @@ -1542,11 +1439,6 @@ connect and stream from you? Settings_Accounts - - - Form - - Filter by capability: @@ -1555,11 +1447,6 @@ connect and stream from you? Settings_Advanced - - - Form - - Remote Peer Connection Method @@ -1638,11 +1525,6 @@ connect and stream from you? Settings_Collection - - - Form - - Path to scan for music files: @@ -1705,11 +1587,6 @@ connect and stream from you? SocialWidget - - - Form - - Facebook @@ -1720,16 +1597,6 @@ connect and stream from you? Twitter - - - Cover - - - - - TextLabel - - Tweet @@ -2032,11 +1899,6 @@ connect and stream from you? SpotifyConfig - - - Form - - Configure your Spotify account @@ -2220,59 +2082,60 @@ connect and stream from you? Tomahawk::Accounts::LastFmConfig - + Testing... - + Test Login - + Importing %1 e.g. Importing 2012/01/01 - + Importing History... - + History Incomplete. Resume + Text on a button that resumes import - + Playback History Imported - - + + Failed - + Success - + Could not contact server - + Synchronizing... - + Synchronization Finished @@ -2504,8 +2367,22 @@ You may wish to try re-authenticating. + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2867,16 +2744,19 @@ Try tweaking the filters for a new set of songs to play. + Artist Familiarity + Artist Hotttnesss + Song Hotttnesss @@ -2902,92 +2782,135 @@ Try tweaking the filters for a new set of songs to play. + Energy + Danceability - + only by ~%1 - + + similar to ~%1 - + with genre ~%1 - - + + from no one - + My Collection - + + from my radio + + + + from %1 radio + + + Variety + + + + + Adventurousness + + - with %1 %2 + very low - about %1 BPM + low - + - about %n minute(s) long - + moderate + - about %1 dB + high - at around %1%2 %3 + very high + + + + + with %1 %2 + about %1 BPM + + + + + about %n minute(s) long + + + + + about %1 dB + + + + + at around %1%2 %3 + + + + in %1 - + in a %1 key - + sorted in %1 %2 order - + with a %1 mood - + in a %1 style @@ -3171,10 +3094,10 @@ Try tweaking the filters for a new set of songs to play. %n other(s) - + - %1 people - + %n people + @@ -3261,7 +3184,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection @@ -3280,6 +3203,14 @@ enter the displayed PIN number here: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3653,21 +3584,6 @@ enter the displayed PIN number here: TrackInfoWidget - - - Form - - - - - Cover - - - - - Statistics - - Similar Tracks @@ -4259,11 +4175,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - - Local Network configuration diff --git a/lang/tomahawk_zh_CN.ts b/lang/tomahawk_zh_CN.ts index 481522d46..cc4dcfa70 100644 --- a/lang/tomahawk_zh_CN.ts +++ b/lang/tomahawk_zh_CN.ts @@ -67,18 +67,18 @@ connect and stream from you? Connections - + 连接 Connect &All - + 连接所有 Disconnect &All - + 断开所有 @@ -254,11 +254,6 @@ connect and stream from you? AlbumInfoWidget - - - Form - 来自 - Tracklist @@ -267,12 +262,7 @@ connect and stream from you? Other Albums - - - - - Cover - + 其他专辑 @@ -306,11 +296,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - 来自 - Top Hits @@ -326,11 +311,6 @@ connect and stream from you? Albums 专辑 - - - Cover - 封面 - Sorry, we could not find any albums for this artist! @@ -350,82 +330,15 @@ connect and stream from you? AudioControls - - Prev - 上一首 - - - - Play - 播放 - - - - Pause - 暂停 - - - - Next - 下一首 - - - - Artist - 艺人 - - - - Album - 专辑 - - - - social - - - - - love - 喜欢 - - - - resolver - 解析器 - - - - Time - 时间 - - - - Time Left - 剩余时间 - - - Shuffle 无序播放 - Repeat 重复播放 - - - Low - - - - - High - - Time Elapsed @@ -518,11 +431,6 @@ connect and stream from you? ContextWidget - - - InfoBar - 信息栏 - @@ -643,37 +551,37 @@ connect and stream from you? Much less - + 更加更加少 Less - + 更少 A bit less - + 少一点 Keep at current - + 保持现状 A bit more - + 多一点 More - + 更多 Much more - + 更加更加多 @@ -683,27 +591,27 @@ connect and stream from you? Loudness - + 音量 Danceability - + 舞动指数 Energy - + 能量指数 Song Hotttnesss - + 单曲热度 Artist Hotttnesss - + 艺人热度 @@ -752,14 +660,6 @@ connect and stream from you? - - GlobalSearchWidget - - - Form - 表单 - - IndexingJobItem @@ -770,11 +670,6 @@ connect and stream from you? InfoBar - - - InfoBar - 信息栏 - Filter... @@ -783,11 +678,6 @@ connect and stream from you? LastFmConfig - - - Form - 表单 - Scrobble tracks to Last.fm @@ -924,11 +814,6 @@ connect and stream from you? MetadataEditor - - - Form - 表单 - Tags @@ -1032,7 +917,7 @@ connect and stream from you? Properties - + 属性 @@ -1158,26 +1043,31 @@ connect and stream from you? played %1 by you - %1 + e.g. played 3 hours ago by you + played %1 by %2 - 已播放 %2 的 %1 + e.g. played 3 hours ago by SomeSource + added %1 - 已添加 %1 + e.g. added 3 hours ago + by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum @@ -1186,13 +1076,13 @@ connect and stream from you? A playlist you created %1. - + 你于 %1 创建了此播放列表 A playlist by %1, created %2. - + %2 于 %1 创建了此播放列表 @@ -1398,6 +1288,18 @@ connect and stream from you? Status Updaters 更新状态 + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1409,11 +1311,6 @@ connect and stream from you? QueueView - - - InfoBar - 信息栏 - @@ -1543,11 +1440,6 @@ connect and stream from you? Settings_Accounts - - - Form - 表单 - Filter by capability: @@ -1556,11 +1448,6 @@ connect and stream from you? Settings_Advanced - - - Form - 表单 - Remote Peer Connection Method @@ -1639,11 +1526,6 @@ connect and stream from you? Settings_Collection - - - Form - 表单 - Path to scan for music files: @@ -1708,11 +1590,6 @@ connect and stream from you? SocialWidget - - - Form - 表单 - Facebook @@ -1723,16 +1600,6 @@ connect and stream from you? Twitter Twitter - - - Cover - 封面 - - - - TextLabel - 文本标签 - Tweet @@ -2035,11 +1902,6 @@ connect and stream from you? SpotifyConfig - - - Form - 表单 - Configure your Spotify account @@ -2063,7 +1925,7 @@ connect and stream from you? Select All - + 全选 @@ -2223,59 +2085,60 @@ connect and stream from you? Tomahawk::Accounts::LastFmConfig - + Testing... 测试... - + Test Login 测试登录 - + Importing %1 e.g. Importing 2012/01/01 正在导入 %1 - + Importing History... 导入历史... - + History Incomplete. Resume + Text on a button that resumes import - + Playback History Imported 播放历史已导入 - - + + Failed 失败 - + Success 成功 - + Could not contact server 无法连接到服务器 - + Synchronizing... 同步中... - + Synchronization Finished 同步成功 @@ -2510,8 +2373,22 @@ You may wish to try re-authenticating. 登录 Jabber/XMPP 账户以i连接你的朋友。 + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2877,16 +2754,19 @@ Try tweaking the filters for a new set of songs to play. + Artist Familiarity 艺术家相似度 + Artist Hotttnesss 艺术家热度 + Song Hotttnesss 歌曲热度 @@ -2912,92 +2792,135 @@ Try tweaking the filters for a new set of songs to play. + Energy 能量 + Danceability 舞动指数 - + only by ~%1 限定艺术家为 ~%1 - + + similar to ~%1 类似于 ~%1 - + with genre ~%1 with genre ~%1 - - + + from no one - + My Collection 我的收藏 - + + from my radio + + + + from %1 radio + 从 %1 电台 + + + + Variety + + + + + Adventurousness - with %1 %2 + very low - about %1 BPM - 大约 %1 BPM + low + - + - about %n minute(s) long - 大约 %n 分钟长 + moderate + - about %1 dB - 大约 %1 dB + high + - at around %1%2 %3 + very high + + + + + with %1 %2 + about %1 BPM + 大约 %1 BPM + + + + about %n minute(s) long + 大约 %n 分钟长 + + + + about %1 dB + 大约 %1 dB + + + + at around %1%2 %3 + + + + in %1 - + in a %1 key - + sorted in %1 %2 order - + with a %1 mood 以 %1 的情绪 - + in a %1 style @@ -3181,10 +3104,10 @@ Try tweaking the filters for a new set of songs to play. %n other(s) %n 其他的 - + - %1 people - %1 人 + %n people + @@ -3271,7 +3194,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection 我的收藏 @@ -3291,6 +3214,14 @@ enter the displayed PIN number here: 在这里输入获得的 PIN: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3664,21 +3595,6 @@ enter the displayed PIN number here: TrackInfoWidget - - - Form - 表单 - - - - Cover - 封面 - - - - Statistics - 统计信息 - Similar Tracks @@ -4277,11 +4193,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - 表单 - Local Network configuration diff --git a/lang/tomahawk_zh_TW.ts b/lang/tomahawk_zh_TW.ts index ccb41bef3..67a934f21 100644 --- a/lang/tomahawk_zh_TW.ts +++ b/lang/tomahawk_zh_TW.ts @@ -254,11 +254,6 @@ connect and stream from you? AlbumInfoWidget - - - Form - 形式 - Tracklist @@ -269,11 +264,6 @@ connect and stream from you? Other Albums - - - Cover - - Sorry, we could not find any other albums for this artist! @@ -306,11 +296,6 @@ connect and stream from you? ArtistInfoWidget - - - Form - 形式 - Top Hits @@ -326,11 +311,6 @@ connect and stream from you? Albums 專輯 - - - Cover - - Sorry, we could not find any albums for this artist! @@ -350,82 +330,15 @@ connect and stream from you? AudioControls - - Prev - 上一首 - - - - Play - 播放 - - - - Pause - 暫停 - - - - Next - 下一首 - - - - Artist - 演出者 - - - - Album - 專輯 - - - - social - - - - - love - 喜愛 - - - - resolver - - - - - Time - 時間 - - - - Time Left - 剩餘時間 - - - Shuffle 隨機 - Repeat 重複 - - - Low - - - - - High - - Time Elapsed @@ -518,11 +431,6 @@ connect and stream from you? ContextWidget - - - InfoBar - 信息欄 - @@ -752,14 +660,6 @@ connect and stream from you? - - GlobalSearchWidget - - - Form - - - IndexingJobItem @@ -770,11 +670,6 @@ connect and stream from you? InfoBar - - - InfoBar - 信息欄 - Filter... @@ -783,11 +678,6 @@ connect and stream from you? LastFmConfig - - - Form - - Scrobble tracks to Last.fm @@ -924,11 +814,6 @@ connect and stream from you? MetadataEditor - - - Form - - Tags @@ -1158,26 +1043,31 @@ connect and stream from you? played %1 by you + e.g. played 3 hours ago by you played %1 by %2 + e.g. played 3 hours ago by SomeSource added %1 + e.g. added 3 hours ago by <b>%1</b> + e.g. by SomeArtist by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum @@ -1397,6 +1287,18 @@ connect and stream from you? Status Updaters + + + + %1 Config + + + + + + %1 Configuration + + QuaZipFilePrivate @@ -1408,11 +1310,6 @@ connect and stream from you? QueueView - - - InfoBar - - @@ -1542,11 +1439,6 @@ connect and stream from you? Settings_Accounts - - - Form - - Filter by capability: @@ -1555,11 +1447,6 @@ connect and stream from you? Settings_Advanced - - - Form - - Remote Peer Connection Method @@ -1638,11 +1525,6 @@ connect and stream from you? Settings_Collection - - - Form - - Path to scan for music files: @@ -1705,11 +1587,6 @@ connect and stream from you? SocialWidget - - - Form - - Facebook @@ -1720,16 +1597,6 @@ connect and stream from you? Twitter Twitter - - - Cover - 封面 - - - - TextLabel - 文字標籤 - Tweet @@ -2032,11 +1899,6 @@ connect and stream from you? SpotifyConfig - - - Form - - Configure your Spotify account @@ -2220,59 +2082,60 @@ connect and stream from you? Tomahawk::Accounts::LastFmConfig - + Testing... - + Test Login - + Importing %1 e.g. Importing 2012/01/01 - + Importing History... - + History Incomplete. Resume + Text on a button that resumes import - + Playback History Imported - - + + Failed 失敗 - + Success 成功 - + Could not contact server 無法聯繫服務器 - + Synchronizing... - + Synchronization Finished @@ -2504,8 +2367,22 @@ You may wish to try re-authenticating. 登錄到你的 Jabber/ XMPP 帳號以與您的朋友連線 + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + Automatically connect to Tomahawks on the local network @@ -2867,16 +2744,19 @@ Try tweaking the filters for a new set of songs to play. + Artist Familiarity 藝術家熟悉程度 + Artist Hotttnesss + Song Hotttnesss @@ -2902,92 +2782,135 @@ Try tweaking the filters for a new set of songs to play. + Energy 能量 + Danceability - + only by ~%1 - + + similar to ~%1 - + with genre ~%1 - - + + from no one - + My Collection 我的收藏 - + + from my radio + + + + from %1 radio + + + Variety + + + + + Adventurousness + + - with %1 %2 + very low - about %1 BPM + low - + - about %n minute(s) long - + moderate + - about %1 dB + high - at around %1%2 %3 + very high + + + + + with %1 %2 + about %1 BPM + + + + + about %n minute(s) long + + + + + about %1 dB + + + + + at around %1%2 %3 + + + + in %1 - + in a %1 key - + sorted in %1 %2 order - + with a %1 mood - + in a %1 style @@ -3171,10 +3094,10 @@ Try tweaking the filters for a new set of songs to play. %n other(s) - + - %1 people - + %n people + @@ -3261,7 +3184,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection 我的收藏 @@ -3280,6 +3203,14 @@ enter the displayed PIN number here: + + TomahawkSettings + + + Local Network + + + TomahawkTrayIcon @@ -3653,21 +3584,6 @@ enter the displayed PIN number here: TrackInfoWidget - - - Form - - - - - Cover - - - - - Statistics - - Similar Tracks @@ -4259,11 +4175,6 @@ Lyrics for "%1" by %2: ZeroconfConfig - - - Form - - Local Network configuration From 47956a1bdef2818879569e968cc6d9eb73e563ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20Lindstr=C3=B6m?= Date: Fri, 21 Dec 2012 01:32:51 +0100 Subject: [PATCH 236/332] Support SC user favorites --- src/libtomahawk/utils/SoundcloudParser.cpp | 54 ++++++++++++++++++++-- src/libtomahawk/utils/SoundcloudParser.h | 2 + 2 files changed, 52 insertions(+), 4 deletions(-) diff --git a/src/libtomahawk/utils/SoundcloudParser.cpp b/src/libtomahawk/utils/SoundcloudParser.cpp index 5e10379f7..0b331f3a4 100644 --- a/src/libtomahawk/utils/SoundcloudParser.cpp +++ b/src/libtomahawk/utils/SoundcloudParser.cpp @@ -43,6 +43,7 @@ SoundcloudParser::SoundcloudParser( const QStringList& Urls, bool createNewPlayl , m_createNewPlaylist( createNewPlaylist ) , m_browseJob( 0 ) , m_type( DropJob::All ) + , m_getLikes( false ) { foreach ( const QString& url, Urls ) @@ -57,6 +58,7 @@ SoundcloudParser::SoundcloudParser( const QString& Url, bool createNewPlaylist, , m_createNewPlaylist( createNewPlaylist ) , m_browseJob( 0 ) , m_type( DropJob::All ) + , m_getLikes( false ) { lookupUrl( Url ); } @@ -71,8 +73,14 @@ void SoundcloudParser::lookupUrl( const QString& link ) { tDebug() << "Looking up URL..." << link; - - QUrl scLink( QString( "http://api.soundcloud.com/resolve.json?client_id=TiNg2DRYhBnp01DA3zNag&url=" ) + link ); + QString url = link; + if ( link.contains( "/likes" ) ) + { + qDebug() << Q_FUNC_INFO << "Requesting likes"; + url.replace( "/likes", "" ); + m_getLikes = true; + } + QUrl scLink( QString( "http://api.soundcloud.com/resolve.json?client_id=TiNg2DRYhBnp01DA3zNag&url=" ) + url ); NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->get( QNetworkRequest( scLink ) ) ); connect( reply, SIGNAL( finished() ), SLOT( soundcloudLookupFinished() ) ); @@ -90,6 +98,7 @@ SoundcloudParser::parseTrack( const QVariantMap& res ) QString title, artist; title = res.value( "title", QString() ).toString(); artist = res.value( "user" ).toMap().value( "username", QString() ).toString(); + bool streamable = res.value( "streamable" ).toBool(); if ( title.isEmpty() && artist.isEmpty() ) // don't have enough... { @@ -97,6 +106,14 @@ SoundcloudParser::parseTrack( const QVariantMap& res ) return; } + if ( !streamable ) + { + JobStatusView::instance()->model()->addJob( + new ErrorStatusMessage( tr( "Track '%1' by %2 is not streamable." ).arg( title ).arg( artist ), 5 ) ); + tLog() << "Track is not streamble, aborting." << res.value( "uri" ).toString(); + return; + } + Tomahawk::query_ptr q = Tomahawk::Query::get( artist, title, QString(), uuid(), m_trackMode ); if ( !q.isNull() ) @@ -136,9 +153,21 @@ SoundcloudParser::soundcloudLookupFinished() m_type = DropJob::Track; if( res.value( "kind" ).toString() == "user" ) { - QUrl url = QUrl( QString( res.value( "uri" ).toString() + "/tracks.json?client_id=TiNg2DRYhBnp01DA3zNag" ) ); - qDebug() << Q_FUNC_INFO << url; + QUrl url; + if ( m_getLikes ) + { + url = QUrl( QString( res.value( "uri" ).toString() + "/favorites.json?client_id=TiNg2DRYhBnp01DA3zNag" ) ); + } + else + { + url = QUrl( QString( res.value( "uri" ).toString() + "/tracks.json?client_id=TiNg2DRYhBnp01DA3zNag" ) ); + } + NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->get( QNetworkRequest( QUrl( url ) ) ) ); + + if ( m_createNewPlaylist ) + m_userData = res; + connect( reply, SIGNAL( finished() ), SLOT( soundcloudArtistLookupFinished() ) ); return; } @@ -206,9 +235,26 @@ SoundcloudParser::soundcloudArtistLookupFinished() QJson::Parser p; bool ok; QVariantList res = p.parse( r->reply(), &ok ).toList(); + foreach( const QVariant& track, res ) parseTrack( track.toMap() ); + if ( m_createNewPlaylist ) + { + const QString user = m_userData.value( "full_name" ).toString(); + const QString title = user + "'s " + ( m_getLikes ? "Favorites" : "Tracks" ); + m_playlist = Playlist::create( SourceList::instance()->getLocal(), + uuid(), + title, + "", + user, + false, + m_tracks ); + + connect( m_playlist.data(), SIGNAL( revisionLoaded( Tomahawk::PlaylistRevision ) ), this, SLOT( playlistCreated() ) ); + return; + + } if ( m_single && !m_tracks.isEmpty() ) emit track( m_tracks.first() ); else if ( !m_single && !m_tracks.isEmpty() ) diff --git a/src/libtomahawk/utils/SoundcloudParser.h b/src/libtomahawk/utils/SoundcloudParser.h index 37018b121..e003d086e 100644 --- a/src/libtomahawk/utils/SoundcloudParser.h +++ b/src/libtomahawk/utils/SoundcloudParser.h @@ -79,6 +79,8 @@ private: int m_subscribers; QList< query_ptr > m_tracks; + QVariantMap m_userData; + bool m_getLikes; QSet< NetworkReply* > m_queries; Tomahawk::playlist_ptr m_playlist; DropJobNotifier* m_browseJob; From b81e4410eaf429d1b33ee0c6ccdf7c9ab5fe5fc7 Mon Sep 17 00:00:00 2001 From: Lasse Liehu Date: Fri, 21 Dec 2012 03:47:50 +0200 Subject: [PATCH 237/332] Fix showing of translations in crash reporter --- CMakeLists.txt | 2 ++ src/CMakeLists.txt | 2 +- src/TomahawkApp.cpp | 42 +---------------------- src/TomahawkApp.h | 1 - src/breakpad/CrashReporter/CMakeLists.txt | 6 +++- src/breakpad/CrashReporter/main.cpp | 9 ++--- src/libtomahawk/utils/TomahawkUtils.cpp | 39 +++++++++++++++++++++ src/libtomahawk/utils/TomahawkUtils.h | 2 ++ 8 files changed, 53 insertions(+), 50 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9f0283ebf..a254e8fd2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,8 @@ SET( TOMAHAWK_VERSION_PATCH 99 ) #SET( TOMAHAWK_VERSION_RC 0 ) +SET( TOMAHAWK_TRANSLATION_LANGUAGES ar bg ca de en es fi fr ja pl pt_BR ru sv tr zh_CN zh_TW ) + # enforce proper symbol exporting on all platforms add_definitions( "-fvisibility=hidden" ) # enforce using constBegin, constEnd for const-iterators diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d8f9e03b1..2889ce63c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -155,7 +155,7 @@ INCLUDE(GNUInstallDirs) # translations include( ${CMAKE_SOURCE_DIR}/lang/translations.cmake ) -add_tomahawk_translations(ar bg ca de en es fi fr ja pl pt_BR ru sv tr zh_CN zh_TW) +add_tomahawk_translations( ${TOMAHAWK_TRANSLATION_LANGUAGES} ) SET( final_src ${final_src} ${tomahawkMoc} ${tomahawkSources} ${trans_outfile}) diff --git a/src/TomahawkApp.cpp b/src/TomahawkApp.cpp index bcf50b32a..28c148602 100644 --- a/src/TomahawkApp.cpp +++ b/src/TomahawkApp.cpp @@ -146,47 +146,7 @@ TomahawkApp::TomahawkApp( int& argc, char *argv[] ) setApplicationVersion( QLatin1String( TOMAHAWK_VERSION ) ); registerMetaTypes(); - installTranslator(); -} - - -void -TomahawkApp::installTranslator() -{ -#if QT_VERSION >= 0x040800 - QString locale = QLocale::system().uiLanguages().first().replace( "-", "_" ); -#else - QString locale = QLocale::system().name(); -#endif - if ( locale == "C" ) - locale = "en"; - - // Tomahawk translations - QTranslator* translator = new QTranslator( this ); - if ( translator->load( QString( ":/lang/tomahawk_" ) + locale ) ) - { - tDebug( LOGVERBOSE ) << "Translation: Tomahawk: Using system locale:" << locale; - } - else - { - tDebug( LOGVERBOSE ) << "Translation: Tomahawk: Using default locale, system locale one not found:" << locale; - translator->load( QString( ":/lang/tomahawk_en" ) ); - } - - TOMAHAWK_APPLICATION::installTranslator( translator ); - - // Qt translations - translator = new QTranslator( this ); - if ( translator->load( QString( ":/lang/qt_" ) + locale ) ) - { - tDebug( LOGVERBOSE ) << "Translation: Qt: Using system locale:" << locale; - } - else - { - tDebug( LOGVERBOSE ) << "Translation: Qt: Using default locale, system locale one not found:" << locale; - } - - TOMAHAWK_APPLICATION::installTranslator( translator ); + TomahawkUtils::installTranslator(this); } diff --git a/src/TomahawkApp.h b/src/TomahawkApp.h index d4e09ac61..5eb342d29 100644 --- a/src/TomahawkApp.h +++ b/src/TomahawkApp.h @@ -115,7 +115,6 @@ private slots: void accountManagerReady(); private: - void installTranslator(); void registerMetaTypes(); void printHelp(); diff --git a/src/breakpad/CrashReporter/CMakeLists.txt b/src/breakpad/CrashReporter/CMakeLists.txt index 291557c29..439f19b9f 100644 --- a/src/breakpad/CrashReporter/CMakeLists.txt +++ b/src/breakpad/CrashReporter/CMakeLists.txt @@ -16,7 +16,11 @@ INCLUDE( ${QT_USE_FILE} ) INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} ../../libtomahawk ) ADD_DEFINITIONS( ${QT_DEFINITIONS} ) -ADD_EXECUTABLE( tomahawk_crash_reporter WIN32 ${crashreporter_SOURCES} ${crashreporter_HEADERS_MOC} ${crashreporter_UI_HEADERS} ${crashreporter_RC_RCC} ) +# translations +include( ${CMAKE_SOURCE_DIR}/lang/translations.cmake ) +add_tomahawk_translations( ${TOMAHAWK_TRANSLATION_LANGUAGES} ) + +ADD_EXECUTABLE( tomahawk_crash_reporter WIN32 ${crashreporter_SOURCES} ${crashreporter_HEADERS_MOC} ${crashreporter_UI_HEADERS} ${crashreporter_RC_RCC} ${trans_outfile} ) TARGET_LINK_LIBRARIES( tomahawk_crash_reporter ${QT_LIBRARIES} tomahawklib ) set_target_properties( tomahawk_crash_reporter PROPERTIES AUTOMOC ON) install(TARGETS tomahawk_crash_reporter RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}) diff --git a/src/breakpad/CrashReporter/main.cpp b/src/breakpad/CrashReporter/main.cpp index 9a3db4701..6b58515e3 100644 --- a/src/breakpad/CrashReporter/main.cpp +++ b/src/breakpad/CrashReporter/main.cpp @@ -18,6 +18,8 @@ #include "CrashReporter.h" +#include "utils/TomahawkUtils.h" + #include #include @@ -36,12 +38,7 @@ int main( int argc, char* argv[] ) QApplication app( argc, argv ); - QString langCode; - QTranslator translatorApp; - QTranslator translatorQt; - -/* app.installTranslator( &translatorApp ); - app.installTranslator( &translatorQt );*/ + TomahawkUtils::installTranslator(&app); if ( app.arguments().size() != 4 ) { diff --git a/src/libtomahawk/utils/TomahawkUtils.cpp b/src/libtomahawk/utils/TomahawkUtils.cpp index 77a0ccb82..5864ebe72 100644 --- a/src/libtomahawk/utils/TomahawkUtils.cpp +++ b/src/libtomahawk/utils/TomahawkUtils.cpp @@ -46,6 +46,7 @@ #include #include #include +#include #ifdef Q_OS_WIN #include @@ -773,6 +774,44 @@ crash() *a = 1; } +void +installTranslator(QObject* parent) +{ +#if QT_VERSION >= 0x040800 + QString locale = QLocale::system().uiLanguages().first().replace( "-", "_" ); +#else + QString locale = QLocale::system().name(); +#endif + if ( locale == "C" ) + locale = "en"; + + // Tomahawk translations + QTranslator* translator = new QTranslator( parent ); + if ( translator->load( QString( ":/lang/tomahawk_" ) + locale ) ) + { + tDebug( LOGVERBOSE ) << "Translation: Tomahawk: Using system locale:" << locale; + } + else + { + tDebug( LOGVERBOSE ) << "Translation: Tomahawk: Using default locale, system locale one not found:" << locale; + translator->load( QString( ":/lang/tomahawk_en" ) ); + } + + QCoreApplication::installTranslator( translator ); + + // Qt translations + translator = new QTranslator( parent ); + if ( translator->load( QString( ":/lang/qt_" ) + locale ) ) + { + tDebug( LOGVERBOSE ) << "Translation: Qt: Using system locale:" << locale; + } + else + { + tDebug( LOGVERBOSE ) << "Translation: Qt: Using default locale, system locale one not found:" << locale; + } + + QCoreApplication::installTranslator( translator ); +} bool verifyFile( const QString& filePath, const QString& signature ) diff --git a/src/libtomahawk/utils/TomahawkUtils.h b/src/libtomahawk/utils/TomahawkUtils.h index 8a40e3cac..8da42e4b5 100644 --- a/src/libtomahawk/utils/TomahawkUtils.h +++ b/src/libtomahawk/utils/TomahawkUtils.h @@ -212,6 +212,8 @@ namespace TomahawkUtils DLLEXPORT QList< Tomahawk::query_ptr > mergePlaylistChanges( const QList< Tomahawk::query_ptr >& orig, const QList< Tomahawk::query_ptr >& newTracks, bool& changed ); DLLEXPORT void crash(); + + DLLEXPORT void installTranslator(QObject *parent); } #endif // TOMAHAWKUTILS_H From 027123ae5d8db58a622ec0e9d5ee953c915ce23c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20Lindstr=C3=B6m?= Date: Fri, 21 Dec 2012 07:52:07 +0100 Subject: [PATCH 238/332] Fix for dropping iTunes exported m3u's --- src/libtomahawk/utils/M3uLoader.cpp | 85 ++++++++++++++++++----------- src/libtomahawk/utils/M3uLoader.h | 2 + 2 files changed, 55 insertions(+), 32 deletions(-) diff --git a/src/libtomahawk/utils/M3uLoader.cpp b/src/libtomahawk/utils/M3uLoader.cpp index f028ec4d0..7176c9f9a 100644 --- a/src/libtomahawk/utils/M3uLoader.cpp +++ b/src/libtomahawk/utils/M3uLoader.cpp @@ -97,12 +97,31 @@ M3uLoader::getTags( const QFileInfo& info ) { q->setResultHint( "file://" + info.absoluteFilePath() ); q->setSaveHTTPResultHint( true ); - qDebug() << "ADding resulthint" << q->resultHint(); + qDebug() << "Adding resulthint" << q->resultHint(); m_tracks << q; } } } +void +M3uLoader::parseLine( const QString& line, const QFile& file ) +{ + QFileInfo tmpFile( QUrl::fromUserInput( QString( line.simplified() ) ).toLocalFile() ); + + if( tmpFile.exists() ) + { + getTags( tmpFile ); + } + else + { + QUrl fileUrl = QUrl::fromUserInput( QString( QFileInfo(file).canonicalPath() + "/" + line.simplified() ) ); + QFileInfo tmpFile( fileUrl.toLocalFile() ); + if ( tmpFile.exists() ) + { + getTags( tmpFile ); + } + } +} void M3uLoader::parseM3u( const QString& fileLink ) @@ -110,7 +129,7 @@ M3uLoader::parseM3u( const QString& fileLink ) QFileInfo fileInfo( fileLink ); QFile file( QUrl::fromUserInput( fileLink ).toLocalFile() ); - if ( !file.open( QIODevice::ReadOnly | QIODevice::Text ) ) + if ( !file.open( QIODevice::ReadOnly ) ) { tDebug() << "Error opening m3u:" << file.errorString(); return; @@ -118,54 +137,56 @@ M3uLoader::parseM3u( const QString& fileLink ) m_title = fileInfo.baseName(); - while ( !file.atEnd() ) + QTextStream stream( &file ); + QString singleLine; + + while ( !stream.atEnd() ) { - QByteArray line = file.readLine(); - /// If anyone wants to take on the regex for parsing EXT, go ahead - /// But the notion that users does not tag by a common rule. that seems hard - /// So ignore that for now - if ( line.contains( "EXT" ) ) - continue; + QString line = stream.readLine().trimmed(); - QFileInfo tmpFile( QUrl::fromUserInput( QString( line.simplified() ) ).toLocalFile() ); + /// Fallback solution for, (drums) itunes! + singleLine.append(line); - if( tmpFile.exists() ) - { - getTags( tmpFile ); - } - else - { - QUrl fileUrl = QUrl::fromUserInput( QString( QFileInfo(file).canonicalPath() + "/" + line.simplified() ) ); - QFileInfo tmpFile( fileUrl.toLocalFile() ); - if ( tmpFile.exists() ) - { - getTags( tmpFile ); - } - } + /// If anyone wants to take on the regex for parsing EXT, go ahead + /// But the notion that users does not tag by a common rule. that seems hard + /// So ignore that for now + if ( line.contains( "EXT" ) ) + continue; + + parseLine( line, file ); } if ( m_tracks.isEmpty() ) { - tDebug() << Q_FUNC_INFO << "Could not parse M3U!"; - return; + if ( !singleLine.isEmpty() ) + { + QStringList m3uList = singleLine.split("\r"); + foreach( const QString& line, m3uList ) + parseLine( line, file ); + } + + if ( m_tracks.isEmpty() ) + { + tDebug() << "Could not parse M3U!"; + return; + } } if ( m_createNewPlaylist ) { m_playlist = Playlist::create( SourceList::instance()->getLocal(), - uuid(), - m_title, - m_info, - m_creator, - false, - m_tracks ); + uuid(), + m_title, + m_info, + m_creator, + false, + m_tracks ); connect( m_playlist.data(), SIGNAL( revisionLoaded( Tomahawk::PlaylistRevision ) ), this, SLOT( playlistCreated() ) ); } else emit tracks( m_tracks ); - m_tracks.clear(); } diff --git a/src/libtomahawk/utils/M3uLoader.h b/src/libtomahawk/utils/M3uLoader.h index 81c3790ac..fa541e1b0 100644 --- a/src/libtomahawk/utils/M3uLoader.h +++ b/src/libtomahawk/utils/M3uLoader.h @@ -28,6 +28,7 @@ #include "Playlist.h" #include #include +#include #include class TrackModel; @@ -56,6 +57,7 @@ signals: private: void parseM3u( const QString& track ); void getTags( const QFileInfo& info ); + void parseLine(const QString& line , const QFile &file); QList< query_ptr > m_tracks; QString m_title, m_info, m_creator; bool m_single; From ec85e91825b2acf4c891bde916678fd781b3d23d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20Lindstr=C3=B6m?= Date: Fri, 21 Dec 2012 11:22:13 +0100 Subject: [PATCH 239/332] Spotify: Sync Starred tracks to Loved tracks --- .../accounts/spotify/SpotifyAccount.cpp | 32 ++++++++++++++++++- .../accounts/spotify/SpotifyAccount.h | 10 +++--- .../accounts/spotify/SpotifyAccountConfig.cpp | 13 ++++++++ .../accounts/spotify/SpotifyAccountConfig.h | 1 + .../accounts/spotify/SpotifyAccountConfig.ui | 13 ++++++++ 5 files changed, 63 insertions(+), 6 deletions(-) diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp b/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp index f7b11d8c5..4c955efb7 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp +++ b/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp @@ -902,6 +902,19 @@ SpotifyAccount::resolverMessage( const QString &msgType, const QVariantMap &msg updater->spotifyTracksMoved( tracksList, newStartPos, newRev, oldRev ); } + else if ( msgType == "starredChanged" ) + { + if( loveSync() ) + { + const QVariantList tracksList = msg.value( "tracks" ).toList(); + const bool love = msg.value( "starred" ).toBool(); + QList qs = SpotifyPlaylistUpdater::variantToQueries( tracksList ); + foreach( const query_ptr& query, qs ) + { + query->setLoved( love ); + } + } + } else if ( msgType == "playlistMetadataChanged" ) { const QString plid = msg.value( "id" ).toString(); @@ -1114,6 +1127,7 @@ SpotifyAccount::saveConfig() QVariantHash config = configuration(); config[ "deleteOnUnsync" ] = m_configWidget.data()->deleteOnUnsync(); + config[ "loveSync" ] = m_configWidget.data()->loveSync(); setConfiguration( config ); m_configWidget.data()->saveSettings(); @@ -1123,7 +1137,15 @@ SpotifyAccount::saveConfig() if ( pl->changed ) { pl->changed = false; - if ( pl->sync ) + if( !pl->sync && pl->loveSync ) + { + QVariantMap msg; + msg[ "_msgtype" ] = "setSync"; + msg[ "playlistid" ] = pl->plid; + msg[ "sync" ] = pl->loveSync; + sendMessage( msg ); + } + else if ( pl->sync ) { // Fetch full playlist contents, then begin the sync startPlaylistSync( pl ); @@ -1355,6 +1377,14 @@ SpotifyAccount::deleteOnUnsync() const return configuration().value( "deleteOnUnsync", false ).toBool(); } + +bool +SpotifyAccount::loveSync() const +{ + return configuration().value( "loveSync", false ).toBool(); +} + + void SpotifyAccount::stopPlaylistSync( SpotifyPlaylistInfo* playlist, bool forceDontDelete ) { diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccount.h b/src/libtomahawk/accounts/spotify/SpotifyAccount.h index afc4ee3cc..e3bf35965 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccount.h +++ b/src/libtomahawk/accounts/spotify/SpotifyAccount.h @@ -51,13 +51,13 @@ class SpotifyAccountConfig; // metadata for a playlist struct SpotifyPlaylistInfo { QString name, plid, revid; - bool sync, subscribed, changed, isOwner; + bool sync, subscribed, changed, isOwner, loveSync; - SpotifyPlaylistInfo( const QString& nname, const QString& pid, const QString& rrevid, bool ssync, bool ssubscribed, bool isowner = false ) - : name( nname ), plid( pid ), revid( rrevid ), sync( ssync ), subscribed( ssubscribed ), changed( false ), isOwner( isowner ) {} + SpotifyPlaylistInfo( const QString& nname, const QString& pid, const QString& rrevid, bool ssync, bool ssubscribed, bool isowner = false, bool lovesync = false ) + : name( nname ), plid( pid ), revid( rrevid ), sync( ssync ), subscribed( ssubscribed ), changed( false ), isOwner( isowner ), loveSync( lovesync ) {} - SpotifyPlaylistInfo() : sync( false ), changed( false ) {} + SpotifyPlaylistInfo() : sync( false ), changed( false ), loveSync( false ) {} }; @@ -109,7 +109,7 @@ public: void unregisterUpdater( const QString& plid ); bool deleteOnUnsync() const; - + bool loveSync() const; void setManualResolverPath( const QString& resolverPath ); bool loggedIn() const; diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.cpp b/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.cpp index 09ce54add..5ff1ea278 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.cpp +++ b/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.cpp @@ -77,6 +77,7 @@ SpotifyAccountConfig::loadFromConfig() m_ui->passwordEdit->setText( m_account->credentials().value( "password" ).toString() ); m_ui->streamingCheckbox->setChecked( m_account->credentials().value( "highQuality" ).toBool() ); m_ui->deleteOnUnsync->setChecked( m_account->deleteOnUnsync() ); + m_ui->loveSync->setChecked( m_account->loveSync() ); if ( m_account->loggedIn() ) { @@ -103,6 +104,11 @@ SpotifyAccountConfig::saveSettings() pl->changed = true; pl->sync = toSync; } + if ( pl->name == "Starred Tracks" && pl->loveSync != loveSync() ) + { + pl->loveSync = loveSync(); + pl->changed = true; + } } } @@ -133,6 +139,13 @@ SpotifyAccountConfig::deleteOnUnsync() const } +bool +SpotifyAccountConfig::loveSync() const +{ + return m_ui->loveSync->isChecked(); +} + + void SpotifyAccountConfig::setPlaylists( const QList& playlists ) { diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.h b/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.h index 1080d2a70..c3eeb2267 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.h +++ b/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.h @@ -50,6 +50,7 @@ public: QString password() const; bool highQuality() const; bool deleteOnUnsync() const; + bool loveSync() const; void setPlaylists( const QList< SpotifyPlaylistInfo* >& playlists ); diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.ui b/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.ui index 129d8a129..8eb3e55f5 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.ui +++ b/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.ui @@ -145,6 +145,19 @@ + + + + Qt::LeftToRight + + + Sync Starred tracks to Loved tracks + + + false + + + From e3f5d1ade6d3fb5bc6530bac7169de4bd1126162 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20Lindstr=C3=B6m?= Date: Fri, 21 Dec 2012 11:24:54 +0100 Subject: [PATCH 240/332] style fix --- src/libtomahawk/accounts/spotify/SpotifyAccount.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp b/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp index 4c955efb7..9818e398d 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp +++ b/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp @@ -904,12 +904,12 @@ SpotifyAccount::resolverMessage( const QString &msgType, const QVariantMap &msg } else if ( msgType == "starredChanged" ) { - if( loveSync() ) + if ( loveSync() ) { const QVariantList tracksList = msg.value( "tracks" ).toList(); const bool love = msg.value( "starred" ).toBool(); QList qs = SpotifyPlaylistUpdater::variantToQueries( tracksList ); - foreach( const query_ptr& query, qs ) + foreach ( const query_ptr& query, qs ) { query->setLoved( love ); } @@ -1137,7 +1137,7 @@ SpotifyAccount::saveConfig() if ( pl->changed ) { pl->changed = false; - if( !pl->sync && pl->loveSync ) + if ( !pl->sync && pl->loveSync ) { QVariantMap msg; msg[ "_msgtype" ] = "setSync"; From c8808012f1d3512d990ae857415e8e9cff66c50b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20Lindstr=C3=B6m?= Date: Fri, 21 Dec 2012 16:34:00 +0100 Subject: [PATCH 241/332] On Un/Love, star in spotify --- .../accounts/spotify/SpotifyAccount.cpp | 12 ++++ .../accounts/spotify/SpotifyAccount.h | 3 +- .../accounts/spotify/SpotifyInfoPlugin.cpp | 65 +++++++++++++++++-- .../accounts/spotify/SpotifyInfoPlugin.h | 4 +- 4 files changed, 73 insertions(+), 11 deletions(-) diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp b/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp index 9818e398d..5cf9ee94e 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp +++ b/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp @@ -414,6 +414,18 @@ SpotifyAccount::setManualResolverPath( const QString &resolverPath ) } } +void +SpotifyAccount::starTrack(const QString &artist, const QString &title, const bool starred) +{ + qDebug() << Q_FUNC_INFO << artist << title << starred; + QVariantMap msg; + msg[ "_msgtype" ] = "setStarred"; + msg[ "starred" ] = starred; + msg[ "artist" ] = artist; + msg[ "title" ] = title; + sendMessage( msg ); +} + bool SpotifyAccount::loggedIn() const diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccount.h b/src/libtomahawk/accounts/spotify/SpotifyAccount.h index e3bf35965..4e252f3c7 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccount.h +++ b/src/libtomahawk/accounts/spotify/SpotifyAccount.h @@ -110,6 +110,7 @@ public: bool deleteOnUnsync() const; bool loveSync() const; + void starTrack(const QString& artist, const QString&title, const bool starred); void setManualResolverPath( const QString& resolverPath ); bool loggedIn() const; @@ -139,13 +140,11 @@ private slots: void playlistCopyCreated( const QString& msgType, const QVariantMap& msg, const QVariant& extraData ); void delayedInit(); void hookupAfterDeletion( bool autoEnable ); - private: void init(); bool checkForResolver(); void hookupResolver(); void killExistingResolvers(); - void loadPlaylists(); void clearUser( bool permanentlyDelete = false ); diff --git a/src/libtomahawk/accounts/spotify/SpotifyInfoPlugin.cpp b/src/libtomahawk/accounts/spotify/SpotifyInfoPlugin.cpp index 87697c02f..60872a9cc 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyInfoPlugin.cpp +++ b/src/libtomahawk/accounts/spotify/SpotifyInfoPlugin.cpp @@ -20,6 +20,7 @@ #include "SpotifyAccount.h" #include "utils/Closure.h" +#include "utils/Logger.h" using namespace Tomahawk; using namespace Tomahawk::InfoSystem; @@ -30,7 +31,10 @@ SpotifyInfoPlugin::SpotifyInfoPlugin( Accounts::SpotifyAccount* account ) , m_account( QWeakPointer< Accounts::SpotifyAccount >( account ) ) { if ( !m_account.isNull() ) + { m_supportedGetTypes << InfoAlbumSongs; + m_supportedPushTypes << InfoLove << InfoUnLove; + } } @@ -39,6 +43,53 @@ SpotifyInfoPlugin::~SpotifyInfoPlugin() } +void +SpotifyInfoPlugin::pushInfo( Tomahawk::InfoSystem::InfoPushData pushData ) +{ + if ( m_account.isNull() || !m_account.data()->loggedIn() ) + return; + + switch ( pushData.type ) + { + case InfoLove: + case InfoUnLove: + sendLoveSong(pushData.type, pushData.infoPair.second); + break; + + default: + return; + } +} + +void +SpotifyInfoPlugin::sendLoveSong( const InfoType type, QVariant input ) +{ + + if ( m_account.isNull() || !m_account.data()->loggedIn() ) + return; + + if( !m_account.data()->loveSync() ) + return; + + if ( !input.toMap().contains( "trackinfo" ) || !input.toMap()[ "trackinfo" ].canConvert< Tomahawk::InfoSystem::InfoStringHash >() ) + { + tLog( LOGVERBOSE ) << "SpotifyInfoPlugin::sendLoveSong cannot convert input!"; + return; + } + + InfoStringHash hash = input.toMap()[ "trackinfo" ].value< Tomahawk::InfoSystem::InfoStringHash >(); + if ( !hash.contains( "title" ) || !hash.contains( "artist" ) || !hash.contains( "album" ) ) + return; + + if ( type == Tomahawk::InfoSystem::InfoLove ) + { + m_account.data()->starTrack( hash["artist"], hash["title"], true ); + } + else if ( type == Tomahawk::InfoSystem::InfoUnLove ) + { + m_account.data()->starTrack( hash["artist"], hash["title"], false ); + } +} void SpotifyInfoPlugin::getInfo( InfoRequestData requestData ) @@ -97,7 +148,7 @@ SpotifyInfoPlugin::notInCacheSlot( InfoStringHash criteria, InfoRequestData requ else { // Running resolver, so do the lookup through that - qDebug() << Q_FUNC_INFO << "Doing album lookup through spotify:" << album << artist; + tLog( LOGVERBOSE ) << Q_FUNC_INFO << "Doing album lookup through spotify:" << album << artist; QVariantMap message; message[ "_msgtype" ] = "albumListing"; message[ "artist" ] = artist; @@ -138,7 +189,7 @@ SpotifyInfoPlugin::albumListingResult( const QString& msgType, const QVariantMap trackNameList << trackData[ "track" ].toString(); } - qDebug() << Q_FUNC_INFO << "Successfully got album listing from spotify resolver"; + tLog( LOGVERBOSE ) << Q_FUNC_INFO << "Successfully got album listing from spotify resolver"; trackListResult( trackNameList, requestData ); } @@ -171,12 +222,12 @@ SpotifyInfoPlugin::albumIdLookupFinished( QNetworkReply* reply, const InfoReques const QString id = album.value( "href" ).toString(); if ( id.isEmpty() || !id.contains( "spotify:album" ) ) { - qDebug() << "Empty or malformed spotify album ID from json:" << id << response; + tLog( LOGVERBOSE ) << "Empty or malformed spotify album ID from json:" << id << response; dataError( requestData ); return; } - qDebug() << "Doing spotify album lookup via webservice with ID:" << id; + tLog( LOGVERBOSE ) << "Doing spotify album lookup via webservice with ID:" << id; QUrl lookupUrl( QString( "http://spotikea.tomahawk-player.org/browse/%1" ).arg( id ) ); @@ -186,7 +237,7 @@ SpotifyInfoPlugin::albumIdLookupFinished( QNetworkReply* reply, const InfoReques } else { - qDebug() << "Network Error retrieving ID from spotify metadata service:" << reply->error() << reply->errorString() << reply->url(); + tLog( LOGVERBOSE ) << "Network Error retrieving ID from spotify metadata service:" << reply->error() << reply->errorString() << reply->url(); } } @@ -226,7 +277,7 @@ SpotifyInfoPlugin::albumContentsLookupFinished( QNetworkReply* reply, const Info trackNameList << trackMap.value( "title" ).toString(); } - qDebug() << Q_FUNC_INFO << "Successfully got album listing from spotikea service!"; + tLog( LOGVERBOSE ) << Q_FUNC_INFO << "Successfully got album listing from spotikea service!"; if ( trackNameList.isEmpty() ) dataError( requestData ); @@ -235,7 +286,7 @@ SpotifyInfoPlugin::albumContentsLookupFinished( QNetworkReply* reply, const Info } else { - qDebug() << "Network Error retrieving ID from spotify metadata service:" << reply->error() << reply->errorString() << reply->url(); + tLog( LOGVERBOSE ) << "Network Error retrieving ID from spotify metadata service:" << reply->error() << reply->errorString() << reply->url(); } } diff --git a/src/libtomahawk/accounts/spotify/SpotifyInfoPlugin.h b/src/libtomahawk/accounts/spotify/SpotifyInfoPlugin.h index 97c0b96ad..26757cac2 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyInfoPlugin.h +++ b/src/libtomahawk/accounts/spotify/SpotifyInfoPlugin.h @@ -52,7 +52,7 @@ protected slots: virtual void init() {} virtual void getInfo( Tomahawk::InfoSystem::InfoRequestData requestData ); virtual void notInCacheSlot( Tomahawk::InfoSystem::InfoStringHash criteria, Tomahawk::InfoSystem::InfoRequestData requestData ); - virtual void pushInfo( Tomahawk::InfoSystem::InfoPushData ) {} + virtual void pushInfo( Tomahawk::InfoSystem::InfoPushData ); private slots: void albumIdLookupFinished( QNetworkReply* reply, const Tomahawk::InfoSystem::InfoRequestData& requestData ); @@ -61,7 +61,7 @@ private slots: private: void dataError( InfoRequestData ); void trackListResult( const QStringList& trackNameList, const Tomahawk::InfoSystem::InfoRequestData& requestData ); - + void sendLoveSong( const InfoType type, QVariant input ); QWeakPointer< Tomahawk::Accounts::SpotifyAccount > m_account; }; From af8627b2100f097faa249569d4a2d2f33446a5d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20Lindstr=C3=B6m?= Date: Fri, 21 Dec 2012 21:08:32 +0100 Subject: [PATCH 242/332] Prevent Assert --- src/libtomahawk/accounts/spotify/SpotifyAccount.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp b/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp index 5cf9ee94e..b648fd4dc 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp +++ b/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp @@ -863,6 +863,12 @@ SpotifyAccount::resolverMessage( const QString &msgType, const QVariantMap &msg return; SpotifyPlaylistUpdater* updater = m_updaters[ plid ]; + + // We have previously sycned starred container, but not anymore. + // If we added loveSync, its synced in the background + if( !updater->sync() && m_configWidget.data()->loveSync() ) + return; + Q_ASSERT( updater->sync() ); const QString startPos = msg.value( "startPosition" ).toString(); @@ -1149,6 +1155,7 @@ SpotifyAccount::saveConfig() if ( pl->changed ) { pl->changed = false; + if ( !pl->sync && pl->loveSync ) { QVariantMap msg; @@ -1156,8 +1163,10 @@ SpotifyAccount::saveConfig() msg[ "playlistid" ] = pl->plid; msg[ "sync" ] = pl->loveSync; sendMessage( msg ); + } - else if ( pl->sync ) + + if ( pl->sync ) { // Fetch full playlist contents, then begin the sync startPlaylistSync( pl ); From fdd4bc8f3f662aafbbec3355e16b9a81df700151 Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Sat, 22 Dec 2012 01:17:15 +0100 Subject: [PATCH 243/332] Automatic merge of Transifex translations --- lang/tomahawk_ar.ts | 45 +++++++++++++------- lang/tomahawk_bg.ts | 89 +++++++++++++++++++++----------------- lang/tomahawk_bn_IN.ts | 45 +++++++++++++------- lang/tomahawk_ca.ts | 45 +++++++++++++------- lang/tomahawk_de.ts | 45 +++++++++++++------- lang/tomahawk_el.ts | 45 +++++++++++++------- lang/tomahawk_en.ts | 45 +++++++++++++------- lang/tomahawk_es.ts | 45 +++++++++++++------- lang/tomahawk_fi.ts | 47 ++++++++++++-------- lang/tomahawk_fr.ts | 45 +++++++++++++------- lang/tomahawk_gl.ts | 45 +++++++++++++------- lang/tomahawk_hi_IN.ts | 45 +++++++++++++------- lang/tomahawk_hu.ts | 45 +++++++++++++------- lang/tomahawk_it.ts | 45 +++++++++++++------- lang/tomahawk_ja.ts | 67 +++++++++++++++++------------ lang/tomahawk_lt.ts | 45 +++++++++++++------- lang/tomahawk_pl.ts | 97 ++++++++++++++++++++++++------------------ lang/tomahawk_pt_BR.ts | 45 +++++++++++++------- lang/tomahawk_ru.ts | 45 +++++++++++++------- lang/tomahawk_sv.ts | 45 +++++++++++++------- lang/tomahawk_tr.ts | 45 +++++++++++++------- lang/tomahawk_zh_CN.ts | 45 +++++++++++++------- lang/tomahawk_zh_TW.ts | 45 +++++++++++++------- 23 files changed, 727 insertions(+), 428 deletions(-) diff --git a/lang/tomahawk_ar.ts b/lang/tomahawk_ar.ts index ef58431a6..007675a6a 100644 --- a/lang/tomahawk_ar.ts +++ b/lang/tomahawk_ar.ts @@ -1929,6 +1929,11 @@ connect and stream from you? + Sync Starred tracks to Loved tracks + + + + High Quality Streams جودة عالية في الأغاني المحملة @@ -1938,7 +1943,7 @@ connect and stream from you? قوائم أغاني سبوتيفي (Spotify) التي يجب إبقائها بتزامن: - + Delete Tomahawk playlist when removing synchronization حذف قوائم أغاني توماهوك عند إزالة التزام @@ -2146,47 +2151,47 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify مزامنة مع سبوتيفي (Spotify) - + Re-enable syncing with Spotify إعادة تمكين المزامنة مع سبوتيفي (Spotify) - + Create local copy إنشاء نسخة محلية - + Subscribe to playlist changes الاشتراك في تغييرات قائمة الأغاني - + Re-enable playlist subscription إعادة تمكين الإشتراك في تغييرات قائمة الأغاني - + Stop subscribing to changes توقيف الإشتراك في التغييرات - + Enable Spotify collaborations تمكين التعاون الخاص بسبوتيفي (Collaborations Spotify) - + Disable Spotify collaborations تعطيل التعاون الخاص بسبوتيفي (Collaborations Spotify) - + Stop syncing with Spotify أوقف المزامنة مع سبوتيفي (Spotify) @@ -2194,28 +2199,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... جاري تسجيل الدخول... - + Failed: %1 فشل: %1 - + Logged in as %1 مسجل تحت اسم %1 - + Log Out تسجيل الخروج - - + + Log In تسجيل الدخول @@ -3131,6 +3136,14 @@ Try tweaking the filters for a new set of songs to play. خطأ شبكة في تحليل تقصير الرابط! + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index 18c9d9a4c..2afd7c3c2 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -1048,31 +1048,31 @@ Tomahaw създаде доклад относно това и изпращай played %1 by you e.g. played 3 hours ago by you - + Изпълнена %1 от теб played %1 by %2 e.g. played 3 hours ago by SomeSource - + Изпълнена %1 от %2 added %1 e.g. added 3 hours ago - + Добавена %1 by <b>%1</b> e.g. by SomeArtist - + от <b>%1</b> by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum - + от <b>%1</b> на <b>%2</b> @@ -1299,13 +1299,13 @@ Tomahaw създаде доклад относно това и изпращай %1 Config - + %1 Настрой %1 Configuration - + %1 Настройки @@ -1727,7 +1727,7 @@ Tomahaw създаде доклад относно това и изпращай SuperCollection - Супер колекция + Обща колекция /Сборен излед от локалните и наличните в колекциите на приятелите ти/ @@ -1937,6 +1937,11 @@ Tomahaw създаде доклад относно това и изпращай + Sync Starred tracks to Loved tracks + Синхронизирай Песни означени със Звезда, като Харесани песни + + + High Quality Streams Високо качество @@ -1946,7 +1951,7 @@ Tomahaw създаде доклад относно това и изпращай Spotify списъци, които да бъдат поддържани обновени: - + Delete Tomahawk playlist when removing synchronization Изтрий запазените списъци, когато бъде премахната синхронизацията @@ -2157,47 +2162,47 @@ Tomahaw създаде доклад относно това и изпращай Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify Синхронизирай със Spotify - + Re-enable syncing with Spotify Включи отново синхронизирането със Spotify - + Create local copy Създай локално копие - + Subscribe to playlist changes Получавай актуализации за промяната на списъкът - + Re-enable playlist subscription Поднови получаването на промените на списъкът - + Stop subscribing to changes Спри да получаването на на промени в списъкът - + Enable Spotify collaborations Активирай връзката с Spotify - + Disable Spotify collaborations Деактивирай връзката с Spotify - + Stop syncing with Spotify Спри синхронизацията със Spotify @@ -2205,28 +2210,28 @@ Tomahaw създаде доклад относно това и изпращай Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Влизам... - + Failed: %1 Неуспех: %1 - + Logged in as %1 Регистриран като %1 - + Log Out Изход - - + + Log In Влез @@ -2391,7 +2396,7 @@ You may wish to try re-authenticating. Local Network - + Локална мрежа @@ -2399,7 +2404,7 @@ You may wish to try re-authenticating. Local Network - + Локална мрежа @@ -2844,7 +2849,7 @@ Try tweaking the filters for a new set of songs to play. from my radio - + От Моето радио @@ -2854,37 +2859,37 @@ Try tweaking the filters for a new set of songs to play. Variety - + Разнообразие Adventurousness - + Откривателност very low - + Много малко low - + Малко moderate - + Средно high - + Голямо very high - + Много голямо @@ -3119,7 +3124,7 @@ Try tweaking the filters for a new set of songs to play. %n people - + %n човек%n човека @@ -3143,6 +3148,14 @@ Try tweaking the filters for a new set of songs to play. Мрежова грешка при извличане на съкратеният адрес. + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + Песен '%1' от %2 не може да бъде възпроизведена от отдалечен източник + + Tomahawk::Source @@ -3231,7 +3244,7 @@ enter the displayed PIN number here: Local Network - + Локална мрежа @@ -3455,7 +3468,7 @@ enter the displayed PIN number here: Search for any artist, album or song... - + Търси за всеки Артист, Албум или Песен... @@ -3807,7 +3820,7 @@ You can re-send a sync message at any time simply by sending another tweet using SuperCollection - Супер колекция + Обща колекция /Сборен излед от локалните и наличните в колекциите на приятелите ти/ diff --git a/lang/tomahawk_bn_IN.ts b/lang/tomahawk_bn_IN.ts index 20421958d..f7bb61a9d 100644 --- a/lang/tomahawk_bn_IN.ts +++ b/lang/tomahawk_bn_IN.ts @@ -1926,6 +1926,11 @@ connect and stream from you? + Sync Starred tracks to Loved tracks + + + + High Quality Streams @@ -1935,7 +1940,7 @@ connect and stream from you? - + Delete Tomahawk playlist when removing synchronization @@ -2143,47 +2148,47 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify - + Re-enable syncing with Spotify - + Create local copy - + Subscribe to playlist changes - + Re-enable playlist subscription - + Stop subscribing to changes - + Enable Spotify collaborations - + Disable Spotify collaborations - + Stop syncing with Spotify @@ -2191,28 +2196,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... - + Failed: %1 - + Logged in as %1 - + Log Out - - + + Log In @@ -3121,6 +3126,14 @@ Try tweaking the filters for a new set of songs to play. + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_ca.ts b/lang/tomahawk_ca.ts index 7086cb098..81deee281 100644 --- a/lang/tomahawk_ca.ts +++ b/lang/tomahawk_ca.ts @@ -1927,6 +1927,11 @@ connect and stream from you? + Sync Starred tracks to Loved tracks + + + + High Quality Streams Fluxos d'Alta Qualitat @@ -1936,7 +1941,7 @@ connect and stream from you? Llistes de reproducció de Spotify per mantenir sincronitzades: - + Delete Tomahawk playlist when removing synchronization Esborra les llistes de Tomahawk quan es tregui la sincronització @@ -2144,47 +2149,47 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify Sincronitza amb Spotify - + Re-enable syncing with Spotify - + Create local copy - + Subscribe to playlist changes - + Re-enable playlist subscription - + Stop subscribing to changes - + Enable Spotify collaborations - + Disable Spotify collaborations - + Stop syncing with Spotify Atura la sincronització amb Spotify @@ -2192,28 +2197,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Iniciant sessió... - + Failed: %1 Error: %1 - + Logged in as %1 - + Log Out - - + + Log In Incia Sessió @@ -3129,6 +3134,14 @@ Intenteu ajustar els filtres per reproduir noves cançons. Error de la xarxa en analitzar l'enllaç escurçat! + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index b128acde3..435fbbcaa 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -1928,6 +1928,11 @@ erlauben sich mit dir zu verbinden? + Sync Starred tracks to Loved tracks + + + + High Quality Streams Hohe Stream Qualität @@ -1937,7 +1942,7 @@ erlauben sich mit dir zu verbinden? Spotify Listen die du synchronisieren willst: - + Delete Tomahawk playlist when removing synchronization Playlist in Tomahawk löschen wenn Synchronisierung entfernt wird @@ -2145,47 +2150,47 @@ erlauben sich mit dir zu verbinden? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify Mit Spotify synchronisieren - + Re-enable syncing with Spotify Synchronisierung mit Spotify re-aktivieren - + Create local copy Lokale Kopie erstellen - + Subscribe to playlist changes Playlist Änderungen abonnieren - + Re-enable playlist subscription Playlist Abonnement re-aktivieren - + Stop subscribing to changes Abonnement stoppen - + Enable Spotify collaborations Spotify Kollaboration aktivieren - + Disable Spotify collaborations Spotify Kollaboration deaktivieren - + Stop syncing with Spotify Synchronisation beenden @@ -2193,28 +2198,28 @@ erlauben sich mit dir zu verbinden? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Anmelden... - + Failed: %1 Fehler: %1 - + Logged in as %1 Angemeldet als %1 - + Log Out Abmelden - - + + Log In Anmelden @@ -3128,6 +3133,14 @@ Versuch die Filter anzupassen für neue Lieder. Konnte den Kurzlink nicht auflösen! + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_el.ts b/lang/tomahawk_el.ts index d05815e35..422532901 100644 --- a/lang/tomahawk_el.ts +++ b/lang/tomahawk_el.ts @@ -1927,6 +1927,11 @@ connect and stream from you? + Sync Starred tracks to Loved tracks + + + + High Quality Streams @@ -1936,7 +1941,7 @@ connect and stream from you? - + Delete Tomahawk playlist when removing synchronization @@ -2144,47 +2149,47 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify Συγχρονισμός με Spotify - + Re-enable syncing with Spotify - + Create local copy Δημιουργία τοπικού αντιγράφου - + Subscribe to playlist changes Εγγραφή σε μεταβολές λίστας αναπαραγωγής - + Re-enable playlist subscription Επανενεργοποίηση εγγραφής στην λίστα αναπαραγωγής - + Stop subscribing to changes Διακοπή εγγραφής σε μεταβολές - + Enable Spotify collaborations - + Disable Spotify collaborations - + Stop syncing with Spotify Διακοπή συγχρονισμού με Spotify @@ -2192,28 +2197,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Σύνδεση... - + Failed: %1 Αποτυχία: %1 - + Logged in as %1 Σύνδεση ως %1 - + Log Out Αποσύνδεση - - + + Log In Σύνδεση @@ -3129,6 +3134,14 @@ Try tweaking the filters for a new set of songs to play. + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_en.ts b/lang/tomahawk_en.ts index 9356aaecc..4dbe40d7c 100644 --- a/lang/tomahawk_en.ts +++ b/lang/tomahawk_en.ts @@ -1931,6 +1931,11 @@ connect and stream from you? + Sync Starred tracks to Loved tracks + Sync Starred tracks to Loved tracks + + + High Quality Streams High Quality Streams @@ -1940,7 +1945,7 @@ connect and stream from you? Spotify playlists to keep in sync: - + Delete Tomahawk playlist when removing synchronization Delete Tomahawk playlist when removing synchronization @@ -2148,47 +2153,47 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify Sync with Spotify - + Re-enable syncing with Spotify Re-enable syncing with Spotify - + Create local copy Create local copy - + Subscribe to playlist changes Subscribe to playlist changes - + Re-enable playlist subscription Re-enable playlist subscription - + Stop subscribing to changes Stop subscribing to changes - + Enable Spotify collaborations Enable Spotify collaborations - + Disable Spotify collaborations Disable Spotify collaborations - + Stop syncing with Spotify Stop syncing with Spotify @@ -2196,28 +2201,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Logging in... - + Failed: %1 Failed: %1 - + Logged in as %1 Logged in as %1 - + Log Out Log Out - - + + Log In Log In @@ -3133,6 +3138,14 @@ Try tweaking the filters for a new set of songs to play. Network error parsing shortened link! + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + Track '%1' by %2 is not streamable. + + Tomahawk::Source diff --git a/lang/tomahawk_es.ts b/lang/tomahawk_es.ts index 8a5fc8d8b..dbf4288fc 100644 --- a/lang/tomahawk_es.ts +++ b/lang/tomahawk_es.ts @@ -1931,6 +1931,11 @@ y estaciones basadas en sus gustos personales. + Sync Starred tracks to Loved tracks + + + + High Quality Streams Streams de alta calidad @@ -1940,7 +1945,7 @@ y estaciones basadas en sus gustos personales. Listas de Spotify sincronizadas: - + Delete Tomahawk playlist when removing synchronization Borrar la lista de reproducción de Tomahawk cuando se elimine la sincronización @@ -2148,47 +2153,47 @@ y estaciones basadas en sus gustos personales. Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify Sincronizar con Spotify - + Re-enable syncing with Spotify Volver a activar la sincronización con Spotify - + Create local copy Crear copia local - + Subscribe to playlist changes Suscribirse a la lista de reproducción - + Re-enable playlist subscription Activar suscripción a la lista de reproducción - + Stop subscribing to changes Dejar de suscribirse - + Enable Spotify collaborations Activar colaboraciones de Spotify - + Disable Spotify collaborations Desactivar colaboraciones de Spotify - + Stop syncing with Spotify Detener la sincronización con Spotify @@ -2196,28 +2201,28 @@ y estaciones basadas en sus gustos personales. Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Iniciando sesión... - + Failed: %1 Fallo: %1 - + Logged in as %1 Sesión iniciada como %1 - + Log Out Salir - - + + Log In Iniciar sesión @@ -3133,6 +3138,14 @@ Intente ajustar los filtros para reproducir nuevas canciones. Error en la red al analizar el enlace acortado + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_fi.ts b/lang/tomahawk_fi.ts index 7a0e69a42..6df145c1f 100644 --- a/lang/tomahawk_fi.ts +++ b/lang/tomahawk_fi.ts @@ -1934,6 +1934,11 @@ napsauttamalla hiiren oikealla. + Sync Starred tracks to Loved tracks + Synkronoi tähdellä merkityt kappaleet tykättyihin kappaleisiin + + + High Quality Streams Laadukkaat virrat @@ -1943,7 +1948,7 @@ napsauttamalla hiiren oikealla. Synkronoitavat Spotify-soittolistat: - + Delete Tomahawk playlist when removing synchronization Poista Tomahawkin soittolista, kun synkronointi lopetetaan @@ -2151,47 +2156,47 @@ napsauttamalla hiiren oikealla. Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify Synkronoi Spotifyn kanssa - + Re-enable syncing with Spotify Ota Spotifyn kanssa synkronointi käyttöön - + Create local copy Luo paikallinen kopio - + Subscribe to playlist changes Tilaa soittolistojen muutokset - + Re-enable playlist subscription Tilaa soittolistojen muutokset uudelleen - + Stop subscribing to changes Lopeta muutosten tilaus - + Enable Spotify collaborations Käytä Spotify-yhteistöitä - + Disable Spotify collaborations Poista Spotify-yhteistyöt käytöstä - + Stop syncing with Spotify Lopeta Spotifyn kanssa synkronointi @@ -2199,28 +2204,28 @@ napsauttamalla hiiren oikealla. Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Kirjaudutaan... - + Failed: %1 Epäonnistui: %1 - + Logged in as %1 Kirjauduttu käyttäjänä %1 - + Log Out Kirjaudu ulos - - + + Log In Kirjaudu @@ -2567,7 +2572,7 @@ Muuta suodattimia tai yritä uudelleen. Add some filters above, and press Generate to get started! - Lisää yllä hieman suodattimia, ja sitten aloita painamalla Muodosta! + Lisää yllä hieman suodattimia, ja aloita sitten painamalla Muodosta! @@ -3136,6 +3141,14 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< Verkkovirhe jäsennettäessä lyhennettyä linkkiä! + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + Kappale ”%1” artistilta %2 ei voida toistaa virtana. + + Tomahawk::Source diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index 10f08c89c..d019035d5 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -1928,6 +1928,11 @@ de se connecter et streamer de vous? + Sync Starred tracks to Loved tracks + + + + High Quality Streams Streaming haute qualité @@ -1937,7 +1942,7 @@ de se connecter et streamer de vous? Liste de lecture Spotify à synchroniser : - + Delete Tomahawk playlist when removing synchronization Supprimer la liste de lecture de Tomahawk à la suppression de la synchronisation @@ -2145,47 +2150,47 @@ de se connecter et streamer de vous? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify Synchroniser avec Spotify - + Re-enable syncing with Spotify Réactiver la synchronisation avec Spotify - + Create local copy Créer une copie localement - + Subscribe to playlist changes S'abonner aux modifications de la liste de lecture - + Re-enable playlist subscription Réactiver l'abonnement à la liste de lecture - + Stop subscribing to changes Stopper l'abonnement aux modifications - + Enable Spotify collaborations Activer les collaborations Spotify - + Disable Spotify collaborations Désactiver les collaborations Spotify - + Stop syncing with Spotify Stopper la synchronisation avec Spotify @@ -2193,28 +2198,28 @@ de se connecter et streamer de vous? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Connexion... - + Failed: %1 Echec : %1 - + Logged in as %1 Connecté sous %1 - + Log Out Déconnectez-vous - - + + Log In Connexion @@ -3130,6 +3135,14 @@ Essayez de changer les filtres pour avoir de nouveaux morceaux à jouer.Erreur réseau lors du décodage de l'URL courte! + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_gl.ts b/lang/tomahawk_gl.ts index 1ed7ed6cf..464fd2a05 100644 --- a/lang/tomahawk_gl.ts +++ b/lang/tomahawk_gl.ts @@ -1929,6 +1929,11 @@ connect and stream from you? + Sync Starred tracks to Loved tracks + + + + High Quality Streams Transmisión de alta calidade @@ -1938,7 +1943,7 @@ connect and stream from you? Listas de reprodución de Spotify para manter en sincronización: - + Delete Tomahawk playlist when removing synchronization Eliminar a lista de reprodución cando se elimine a sincronización @@ -2146,47 +2151,47 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify Sincronización con Spotify - + Re-enable syncing with Spotify Reactivar a sincronización con Spotify - + Create local copy Crear unha copia local - + Subscribe to playlist changes Subscribirse a cambios la lista de reprodución - + Re-enable playlist subscription Reactivar subscrición á lista de reprodución - + Stop subscribing to changes Parar de subscribirse a cambios - + Enable Spotify collaborations Activar as colaboracións con Spotify - + Disable Spotify collaborations Descativar as colaboracións con Spotify - + Stop syncing with Spotify Deter a sincronización con Spotify @@ -2194,28 +2199,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Rexistrándose... - + Failed: %1 Fallou: %1 - + Logged in as %1 Accedeuse como %1 - + Log Out Saír - - + + Log In Iniciar sesión @@ -3131,6 +3136,14 @@ Proba a trocar os filtros para ter outra lista música para escoitar. Erro de rede no acurtamento de ligazóns! + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_hi_IN.ts b/lang/tomahawk_hi_IN.ts index df837801a..25291cefb 100644 --- a/lang/tomahawk_hi_IN.ts +++ b/lang/tomahawk_hi_IN.ts @@ -1926,6 +1926,11 @@ connect and stream from you? + Sync Starred tracks to Loved tracks + + + + High Quality Streams @@ -1935,7 +1940,7 @@ connect and stream from you? - + Delete Tomahawk playlist when removing synchronization @@ -2143,47 +2148,47 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify - + Re-enable syncing with Spotify - + Create local copy - + Subscribe to playlist changes - + Re-enable playlist subscription - + Stop subscribing to changes - + Enable Spotify collaborations - + Disable Spotify collaborations - + Stop syncing with Spotify @@ -2191,28 +2196,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... - + Failed: %1 - + Logged in as %1 - + Log Out - - + + Log In @@ -3121,6 +3126,14 @@ Try tweaking the filters for a new set of songs to play. + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_hu.ts b/lang/tomahawk_hu.ts index 69b4b8602..ebdbc56f2 100644 --- a/lang/tomahawk_hu.ts +++ b/lang/tomahawk_hu.ts @@ -1926,6 +1926,11 @@ connect and stream from you? + Sync Starred tracks to Loved tracks + + + + High Quality Streams Magas minőségű streamek @@ -1935,7 +1940,7 @@ connect and stream from you? - + Delete Tomahawk playlist when removing synchronization @@ -2143,47 +2148,47 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify Szinkronizálás a Spotify-val - + Re-enable syncing with Spotify - + Create local copy Helyi másolat létrehozása - + Subscribe to playlist changes - + Re-enable playlist subscription - + Stop subscribing to changes - + Enable Spotify collaborations - + Disable Spotify collaborations - + Stop syncing with Spotify @@ -2191,28 +2196,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Belépés... - + Failed: %1 - + Logged in as %1 Bejelentkezve mint %1 - + Log Out Kijelentkezés - - + + Log In Belépés @@ -3121,6 +3126,14 @@ Try tweaking the filters for a new set of songs to play. + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_it.ts b/lang/tomahawk_it.ts index 51c1fcca9..950c9e784 100644 --- a/lang/tomahawk_it.ts +++ b/lang/tomahawk_it.ts @@ -1926,6 +1926,11 @@ connect and stream from you? + Sync Starred tracks to Loved tracks + + + + High Quality Streams Stream di alta qualità @@ -1935,7 +1940,7 @@ connect and stream from you? Playlist di Spotify da tenere sincronizzate: - + Delete Tomahawk playlist when removing synchronization Cancella la playlist su Tomahawk quando viene rimossa la sincronizzazione @@ -2143,47 +2148,47 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify Sincronizzati con Spotify - + Re-enable syncing with Spotify Riabilita sincronizzazione con Spotify - + Create local copy - + Subscribe to playlist changes - + Re-enable playlist subscription - + Stop subscribing to changes - + Enable Spotify collaborations - + Disable Spotify collaborations - + Stop syncing with Spotify Ferma la sincronizzazione con Spotify @@ -2191,28 +2196,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Accedendo... - + Failed: %1 Fallito: %1 - + Logged in as %1 - + Log Out - - + + Log In Login @@ -3121,6 +3126,14 @@ Try tweaking the filters for a new set of songs to play. Errore di rete nell'analizzare il link accorciato! + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_ja.ts b/lang/tomahawk_ja.ts index 2ef3f6617..659404f25 100644 --- a/lang/tomahawk_ja.ts +++ b/lang/tomahawk_ja.ts @@ -1045,31 +1045,31 @@ connect and stream from you? played %1 by you e.g. played 3 hours ago by you - + %1を再生しました。 played %1 by %2 e.g. played 3 hours ago by SomeSource - + %2が%1を再生しました。 added %1 e.g. added 3 hours ago - + %1を追加しました by <b>%1</b> e.g. by SomeArtist - + <b>%1</b> by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum - + <b>%1</b>の<b>%2</b> @@ -1293,13 +1293,13 @@ connect and stream from you? %1 Config - + %1設定 %1 Configuration - + %1設定 @@ -1931,6 +1931,11 @@ connect and stream from you? + Sync Starred tracks to Loved tracks + + + + High Quality Streams 高音質ストリーム @@ -1940,7 +1945,7 @@ connect and stream from you? 同期するSpotifyのプレイリスト: - + Delete Tomahawk playlist when removing synchronization 同期を無効すれば、Tomahawkのプレイリストを削除 @@ -2148,47 +2153,47 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify Spotifyと同期する - + Re-enable syncing with Spotify Spotifyとの同期を再び有効にする - + Create local copy ローカルのコピーを作成 - + Subscribe to playlist changes プレイリストの変更フィードに登録する - + Re-enable playlist subscription 再びプレイリストのフィードに登録する - + Stop subscribing to changes 変更フィードの登録を解除 - + Enable Spotify collaborations Spotifyのコラボレーションを有効にする - + Disable Spotify collaborations Spotifyのコラボレーションを無効にする - + Stop syncing with Spotify Spotifyとの同期を解除 @@ -2196,28 +2201,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... ログイン中... - + Failed: %1 失敗しました: %1 - + Logged in as %1 %1としてログイン済み - + Log Out ログアウト - - + + Log In ログイン @@ -2381,7 +2386,7 @@ You may wish to try re-authenticating. Local Network - + ローカルネットワーク @@ -2389,7 +2394,7 @@ You may wish to try re-authenticating. Local Network - + ローカルネットワーク @@ -3109,7 +3114,7 @@ Try tweaking the filters for a new set of songs to play. %n people - + %n人 @@ -3133,6 +3138,14 @@ Try tweaking the filters for a new set of songs to play. 短縮リンクの解析中にネットワークエラーが発生しました! + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + '%1'の'%2'が配信できません。 + + Tomahawk::Source @@ -3221,7 +3234,7 @@ enter the displayed PIN number here: Local Network - + ローカルネットワーク diff --git a/lang/tomahawk_lt.ts b/lang/tomahawk_lt.ts index 5fd4941fe..80b2f24a3 100644 --- a/lang/tomahawk_lt.ts +++ b/lang/tomahawk_lt.ts @@ -1926,6 +1926,11 @@ connect and stream from you? + Sync Starred tracks to Loved tracks + + + + High Quality Streams Aukštos kokybės srautai @@ -1935,7 +1940,7 @@ connect and stream from you? Sinchronizuojami Spotify grojaraščiai: - + Delete Tomahawk playlist when removing synchronization Ištrinti Tomahawk grojaraštį kai panaikinamas sinchronizavimas @@ -2143,47 +2148,47 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify Sinchronizuoti su Spotify - + Re-enable syncing with Spotify Iš naujo įjungti sinchronizavimą su Spotify - + Create local copy Sukurti vietinę kopiją - + Subscribe to playlist changes Sekti grojaraščio pokyčius - + Re-enable playlist subscription Sekti grojarašio atnaujinimus iš naujo - + Stop subscribing to changes Nebesekti grojaraščio pokyčių - + Enable Spotify collaborations - + Disable Spotify collaborations - + Stop syncing with Spotify Stabdyti sinchronizavimą su Spotify @@ -2191,28 +2196,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Prisijungiama... - + Failed: %1 Nepavyko: %1 - + Logged in as %1 Prisijungta kaip %1 - + Log Out Atsijungti - - + + Log In Prisijungti @@ -3121,6 +3126,14 @@ Try tweaking the filters for a new set of songs to play. + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_pl.ts b/lang/tomahawk_pl.ts index d0f165c9e..3e2e5c67e 100644 --- a/lang/tomahawk_pl.ts +++ b/lang/tomahawk_pl.ts @@ -363,7 +363,7 @@ połączyć się i strumieniować od ciebie? Love - + Lubię @@ -454,7 +454,7 @@ połączyć się i strumieniować od ciebie? <html><head/><body><p><span style=" font-weight:600;">Sorry!</span> Tomahawk crashed. Please tell us about it! Tomahawk has created an error report for you that can help improve the stability in the future. You can now send this report directly to the Tomahawk developers.</p></body></html> - + <html><head/><body><p><span style="font-weigth:600;">Przepraszamy!</span>Tomahawk przestał odpowiadać. Poinformuj nas o tym! Tomahawk utworzył raport o błędzie, który może poprawić stabilność w przyszłości. Możesz teraz wysłać ten raport bezpośrednio do programistów Tomahawka.</p></body></html> @@ -707,7 +707,7 @@ połączyć się i strumieniować od ciebie? Synchronize Loved Tracks - + Synchronizuj lubiane utwory @@ -785,32 +785,32 @@ połączyć się i strumieniować od ciebie? Top Loved Tracks - + Najczęściej lubiane utwory Sorry, we could not find any loved tracks! - + Przepraszamy, nie mogliśmy znaleźć żadnych lubianych utworów! The most loved tracks from all your friends - + Najczęściej lubiane utwory wszystkich twoich znajomych All of your loved tracks - + Wszystkie twoje lubiane utwory All of %1's loved tracks - + Wszystkie utwory lubiane przez %1 Loved Tracks - + Lubiane @@ -1772,17 +1772,17 @@ połączyć się i strumieniować od ciebie? Add to my Playlists - + Dodaj do moich List odtwarzania Add to my Automatic Playlists - + Dodaj do moich Automatycznych list odtwarzania Add to my Stations - + Dodaj do moich Stacji @@ -1792,17 +1792,17 @@ połączyć się i strumieniować od ciebie? playlist - + lista odtwarzania automatic playlist - + automatyczna lista odtwarzania station - + stacja @@ -1928,6 +1928,11 @@ połączyć się i strumieniować od ciebie? + Sync Starred tracks to Loved tracks + + + + High Quality Streams Strumieniowanie w wysokiej jakości @@ -1937,7 +1942,7 @@ połączyć się i strumieniować od ciebie? Listy Spotify do synchronizacji: - + Delete Tomahawk playlist when removing synchronization Usuń listy Tomahawka podczas usuwania synchronizacji @@ -2021,7 +2026,7 @@ połączyć się i strumieniować od ciebie? Unfortunately, automatic installation of this resolver is not available or disabled for your platform.<br /><br />Please use "Install from file" above, by fetching it from your distribution or compiling it yourself. Further instructions can be found here:<br /><br />http://www.tomahawk-player.org/resolvers/%1 - + Niestety, automatyczna instalacja tej usługi jest niedostępna lub wyłączona na twojej platformie.<br /><br />Użyj instalacji z pliku, ściągając usługę lub kompilując ją samodzielnie. Więcej informacji można znaleźć na:<br /><br />http://www.tomahawk-player.org/resolvers/%1 @@ -2145,47 +2150,47 @@ połączyć się i strumieniować od ciebie? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify Synchronizuj ze Spotify - + Re-enable syncing with Spotify - + Włącz ponownie synchronizację ze Spotify - + Create local copy - + Subscribe to playlist changes - + Re-enable playlist subscription - + Stop subscribing to changes - + Enable Spotify collaborations - + Disable Spotify collaborations - + Stop syncing with Spotify Przestań synchronizować ze Spotify @@ -2193,28 +2198,28 @@ połączyć się i strumieniować od ciebie? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Loguję się... - + Failed: %1 Nie udało się: %1 - + Logged in as %1 - + Log Out - - + + Log In Zaloguj się @@ -2422,7 +2427,7 @@ Możesz spróbować ponowić uwierzytelnienie. &Love - &Uwielbiam + &Lubię @@ -2479,22 +2484,22 @@ Możesz spróbować ponowić uwierzytelnienie. playlist - + lista odtwarzania artist - + wykonawca track - + utwór album - + album @@ -3130,6 +3135,14 @@ Spróbuj poprawić filtry aby uzyskać nowy zestaw piosenek do odtworzenia.Błąd sieciowy podczas rozpoznawania krótkiego linku! + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source @@ -3257,12 +3270,12 @@ wprowadź pokazany numer PIN tutaj: &Love - + &Lubię Un-&Love - + Przestań &lubić @@ -3571,12 +3584,12 @@ wprowadź pokazany numer PIN tutaj: Copyright 2010 - 2012 - + Copyright 2010 - 2012 Thanks to: - + Podziękowania dla: diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts index d82d833c7..d35e76073 100644 --- a/lang/tomahawk_pt_BR.ts +++ b/lang/tomahawk_pt_BR.ts @@ -1928,6 +1928,11 @@ se conecte e faça o stream de você? + Sync Starred tracks to Loved tracks + + + + High Quality Streams Streams de Alta Qualidade @@ -1937,7 +1942,7 @@ se conecte e faça o stream de você? Playlists do Spotify para sincronizar: - + Delete Tomahawk playlist when removing synchronization Deletar a playlist do Tomahawk quando remover a sincronização @@ -2145,47 +2150,47 @@ se conecte e faça o stream de você? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify Sincronizar com o Spotify - + Re-enable syncing with Spotify Reativar sincronização com Spotify - + Create local copy Criar cópia local - + Subscribe to playlist changes Assinar para alterações na lista de reprodução - + Re-enable playlist subscription Re-habilitar assinatura da lista de reprodução - + Stop subscribing to changes Parar a assinatura de alterações - + Enable Spotify collaborations Habilitar colaborações Spotify - + Disable Spotify collaborations Desabilitar colaborações Spotify - + Stop syncing with Spotify Parar a sincronização com o Spotify @@ -2193,28 +2198,28 @@ se conecte e faça o stream de você? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Logando... - + Failed: %1 Falha: %1 - + Logged in as %1 Conectado como %1 - + Log Out Sair - - + + Log In Log In @@ -3130,6 +3135,14 @@ Tente ajustar os filtros para ouvir um novo conjunto de músicas. Erro de rede ao analisar o encurtador de link! + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_ru.ts b/lang/tomahawk_ru.ts index c889c9da2..21845add0 100644 --- a/lang/tomahawk_ru.ts +++ b/lang/tomahawk_ru.ts @@ -1928,6 +1928,11 @@ connect and stream from you? + Sync Starred tracks to Loved tracks + + + + High Quality Streams Поток высокого качества @@ -1937,7 +1942,7 @@ connect and stream from you? Синхронизировать плейлисты Spotify: - + Delete Tomahawk playlist when removing synchronization Удалить плейлист Tomahawk, при удалении синхронизации. @@ -2145,47 +2150,47 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify Синхронизировать с Spotify - + Re-enable syncing with Spotify Повторно включить синхронизацию с Spotify - + Create local copy Создать локальную копию - + Subscribe to playlist changes - + Re-enable playlist subscription - + Stop subscribing to changes - + Enable Spotify collaborations - + Disable Spotify collaborations - + Stop syncing with Spotify Прекратить синхронизацию с Spotify @@ -2193,28 +2198,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Вхожу... - + Failed: %1 Ошибка: %1 - + Logged in as %1 Вошли как %1 - + Log Out Выйти - - + + Log In Войти @@ -3128,6 +3133,14 @@ Try tweaking the filters for a new set of songs to play. + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_sv.ts b/lang/tomahawk_sv.ts index 5e3e529c9..c6acfb0c3 100644 --- a/lang/tomahawk_sv.ts +++ b/lang/tomahawk_sv.ts @@ -1927,6 +1927,11 @@ connect and stream from you? + Sync Starred tracks to Loved tracks + + + + High Quality Streams @@ -1936,7 +1941,7 @@ connect and stream from you? - + Delete Tomahawk playlist when removing synchronization @@ -2144,47 +2149,47 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify - + Re-enable syncing with Spotify - + Create local copy - + Subscribe to playlist changes - + Re-enable playlist subscription - + Stop subscribing to changes - + Enable Spotify collaborations - + Disable Spotify collaborations - + Stop syncing with Spotify @@ -2192,28 +2197,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... - + Failed: %1 - + Logged in as %1 - + Log Out - - + + Log In @@ -3126,6 +3131,14 @@ Försök att ändra i filtrerna för att få en ny låtlista + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_tr.ts b/lang/tomahawk_tr.ts index 38a8e091a..f5e1a23fd 100644 --- a/lang/tomahawk_tr.ts +++ b/lang/tomahawk_tr.ts @@ -1926,6 +1926,11 @@ connect and stream from you? + Sync Starred tracks to Loved tracks + + + + High Quality Streams @@ -1935,7 +1940,7 @@ connect and stream from you? - + Delete Tomahawk playlist when removing synchronization @@ -2143,47 +2148,47 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify - + Re-enable syncing with Spotify - + Create local copy - + Subscribe to playlist changes - + Re-enable playlist subscription - + Stop subscribing to changes - + Enable Spotify collaborations - + Disable Spotify collaborations - + Stop syncing with Spotify @@ -2191,28 +2196,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... - + Failed: %1 - + Logged in as %1 - + Log Out - - + + Log In @@ -3121,6 +3126,14 @@ Try tweaking the filters for a new set of songs to play. + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_zh_CN.ts b/lang/tomahawk_zh_CN.ts index cc4dcfa70..dc6ff0a1f 100644 --- a/lang/tomahawk_zh_CN.ts +++ b/lang/tomahawk_zh_CN.ts @@ -1929,6 +1929,11 @@ connect and stream from you? + Sync Starred tracks to Loved tracks + + + + High Quality Streams 高质量音频流 @@ -1938,7 +1943,7 @@ connect and stream from you? 保持同步的 Spotify 播放列表: - + Delete Tomahawk playlist when removing synchronization 移除同步时删除 Tomahawk 播放列表: @@ -2146,47 +2151,47 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify 与 Spotify 同步 - + Re-enable syncing with Spotify 重新启用 Spotify 同步 - + Create local copy 创建本地拷贝 - + Subscribe to playlist changes 订阅播放列表改动 - + Re-enable playlist subscription 重新启用播放列表订阅 - + Stop subscribing to changes 停止订阅改动 - + Enable Spotify collaborations 启用 Spotify 碰撞 - + Disable Spotify collaborations 禁用 Spotify 碰撞 - + Stop syncing with Spotify 停止与 Spotify 同步 @@ -2194,28 +2199,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... 登录中... - + Failed: %1 失败:%1 - + Logged in as %1 作为 %1 登录 - + Log Out 登出 - - + + Log In 登录 @@ -3131,6 +3136,14 @@ Try tweaking the filters for a new set of songs to play. 解析短链接时出错! + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source diff --git a/lang/tomahawk_zh_TW.ts b/lang/tomahawk_zh_TW.ts index 67a934f21..a60281ce2 100644 --- a/lang/tomahawk_zh_TW.ts +++ b/lang/tomahawk_zh_TW.ts @@ -1926,6 +1926,11 @@ connect and stream from you? + Sync Starred tracks to Loved tracks + + + + High Quality Streams 高品質的串流 @@ -1935,7 +1940,7 @@ connect and stream from you? - + Delete Tomahawk playlist when removing synchronization 刪除同步時,刪除 Tomahawk 播放清單 @@ -2143,47 +2148,47 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccount - + Sync with Spotify - + Re-enable syncing with Spotify - + Create local copy - + Subscribe to playlist changes - + Re-enable playlist subscription - + Stop subscribing to changes - + Enable Spotify collaborations - + Disable Spotify collaborations - + Stop syncing with Spotify @@ -2191,28 +2196,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... 登錄中... - + Failed: %1 失敗:%1 - + Logged in as %1 - + Log Out - - + + Log In 登錄 @@ -3121,6 +3126,14 @@ Try tweaking the filters for a new set of songs to play. + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + Tomahawk::Source From fdb94bec520155a26860ad605e86927bb5a6e682 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 22 Dec 2012 14:21:02 +0100 Subject: [PATCH 244/332] * Various style fixes. --- src/libtomahawk/accounts/lastfm/LastFmConfig.cpp | 2 -- src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp | 2 +- src/libtomahawk/playlist/TrackView.cpp | 2 +- src/libtomahawk/utils/StyleHelper.cpp | 2 +- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/libtomahawk/accounts/lastfm/LastFmConfig.cpp b/src/libtomahawk/accounts/lastfm/LastFmConfig.cpp index ff137a9c5..1f3c00887 100644 --- a/src/libtomahawk/accounts/lastfm/LastFmConfig.cpp +++ b/src/libtomahawk/accounts/lastfm/LastFmConfig.cpp @@ -268,7 +268,6 @@ LastFmConfig::syncLovedTracks( uint page ) connect( cmd, SIGNAL( done( DatabaseCommand_LoadSocialActions::TrackActions ) ), this, SLOT( localLovedLoaded( DatabaseCommand_LoadSocialActions::TrackActions ) ) ); Database::instance()->enqueue( QSharedPointer< DatabaseCommand >( cmd ) ); - } @@ -305,7 +304,6 @@ LastFmConfig::onLovedFinished( QNetworkReply* reply ) m_lastfmLoved.insert( query ); } - if ( thisPage == m_totalLovedPages ) { m_doneFetchingLoved = true; diff --git a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp index 86fb827a0..0431b0319 100644 --- a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp +++ b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp @@ -623,7 +623,7 @@ LastFmInfoPlugin::similarTracksReturned() returnedData["artists"] = sortedArtists; returnedData["score"] = sortedScores; - qDebug() << "Returning data, tracks:" << sortedTracks << "artists:" << sortedArtists << "scors:" << sortedScores; + tDebug( LOGVERBOSE ) << "Returning data, tracks:" << sortedTracks << "artists:" << sortedArtists << "scores:" << sortedScores; Tomahawk::InfoSystem::InfoRequestData requestData = reply->property( "requestData" ).value< Tomahawk::InfoSystem::InfoRequestData >(); diff --git a/src/libtomahawk/playlist/TrackView.cpp b/src/libtomahawk/playlist/TrackView.cpp index 09a0e9040..2a82c8d85 100644 --- a/src/libtomahawk/playlist/TrackView.cpp +++ b/src/libtomahawk/playlist/TrackView.cpp @@ -191,7 +191,7 @@ TrackView::setPlaylistItemDelegate( PlaylistItemDelegate* delegate ) void TrackView::setPlayableModel( PlayableModel* model ) { - m_model = model; + m_model = model; if ( m_proxyModel ) { diff --git a/src/libtomahawk/utils/StyleHelper.cpp b/src/libtomahawk/utils/StyleHelper.cpp index cb5ba6fe3..cde83bb2f 100644 --- a/src/libtomahawk/utils/StyleHelper.cpp +++ b/src/libtomahawk/utils/StyleHelper.cpp @@ -181,4 +181,4 @@ void StyleHelper::drawArrow( QStyle::PrimitiveElement element, QPainter* p, cons int xOffset = r.x() + ( r.width() - size ) / 2; int yOffset = r.y() + ( r.height() - size ) / 2; p->drawPixmap( xOffset, yOffset, pixmap ); -} \ No newline at end of file +} From 982791f574e4cf5057442dad0d26a90bb6c8a7d9 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 22 Dec 2012 14:21:31 +0100 Subject: [PATCH 245/332] * maxVisibleItems of 0 isn't valid. --- src/libtomahawk/playlist/PlayableProxyModel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libtomahawk/playlist/PlayableProxyModel.cpp b/src/libtomahawk/playlist/PlayableProxyModel.cpp index 1778b4c72..5752886ab 100644 --- a/src/libtomahawk/playlist/PlayableProxyModel.cpp +++ b/src/libtomahawk/playlist/PlayableProxyModel.cpp @@ -131,7 +131,7 @@ PlayableProxyModel::filterAcceptsRow( int sourceRow, const QModelIndex& sourcePa if ( !pi ) return false; - if ( m_maxVisibleItems >= 0 && sourceRow > m_maxVisibleItems - 1 ) + if ( m_maxVisibleItems > 0 && sourceRow > m_maxVisibleItems - 1 ) return false; if ( m_hideDupeItems ) From 63fc41d23d0a136c9c0421f7fa31bcd6834fca97 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 22 Dec 2012 14:23:27 +0100 Subject: [PATCH 246/332] * Fixed GridView's auto-size mode not working correctly. --- src/libtomahawk/playlist/GridView.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/libtomahawk/playlist/GridView.cpp b/src/libtomahawk/playlist/GridView.cpp index 7bbaf8350..d23a137a6 100644 --- a/src/libtomahawk/playlist/GridView.cpp +++ b/src/libtomahawk/playlist/GridView.cpp @@ -81,8 +81,6 @@ GridView::GridView( QWidget* parent ) connect( this, SIGNAL( doubleClicked( QModelIndex ) ), SLOT( onItemActivated( QModelIndex ) ) ); connect( this, SIGNAL( customContextMenuRequested( QPoint ) ), SLOT( onCustomContextMenu( QPoint ) ) ); - - connect( proxyModel(), SIGNAL( modelReset() ), SLOT( layoutItems() ) ); } @@ -100,13 +98,15 @@ GridView::setProxyModel( PlayableProxyModel* model ) disconnect( m_proxyModel, SIGNAL( filterChanged( QString ) ), this, SLOT( onFilterChanged( QString ) ) ); disconnect( m_proxyModel, SIGNAL( rowsInserted( QModelIndex, int, int ) ), this, SLOT( verifySize() ) ); disconnect( m_proxyModel, SIGNAL( rowsRemoved( QModelIndex, int, int ) ), this, SLOT( verifySize() ) ); + disconnect( proxyModel(), SIGNAL( modelReset() ), this, SLOT( layoutItems() ) ); } m_proxyModel = model; connect( m_proxyModel, SIGNAL( filterChanged( QString ) ), SLOT( onFilterChanged( QString ) ) ); connect( m_proxyModel, SIGNAL( rowsInserted( QModelIndex, int, int ) ), SLOT( verifySize() ) ); connect( m_proxyModel, SIGNAL( rowsRemoved( QModelIndex, int, int ) ), SLOT( verifySize() ) ); - + connect( proxyModel(), SIGNAL( modelReset() ), SLOT( layoutItems() ) ); + if ( m_delegate ) delete m_delegate; @@ -133,8 +133,7 @@ void GridView::setPlayableModel( PlayableModel* model ) { if ( m_model ) - { - } + delete m_model; m_inited = false; m_model = model; @@ -142,7 +141,7 @@ GridView::setPlayableModel( PlayableModel* model ) if ( m_proxyModel ) { m_proxyModel->setSourcePlayableModel( m_model ); - m_proxyModel->sort( 0 ); + m_proxyModel->sort( -1 ); } emit modelChanged(); @@ -237,10 +236,10 @@ GridView::verifySize() const int rows = floor( (double)m_model->rowCount( QModelIndex() ) / (double)itemsPerRow ); const int newHeight = rows * m_delegate->itemSize().height(); + m_proxyModel->setMaxVisibleItems( m_model->rowCount( QModelIndex() ) - overlapRows ); + if ( newHeight > 0 ) setFixedHeight( newHeight ); - - m_proxyModel->setMaxVisibleItems( m_model->rowCount( QModelIndex() ) - overlapRows ); } From c51ca312db4c993a5aecbe50dec85fdd61ac38f7 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 22 Dec 2012 14:37:47 +0100 Subject: [PATCH 247/332] * Properly implemented SingleTrackPlaylistInterface. --- src/libtomahawk/CMakeLists.txt | 2 +- .../playlist/SingleTrackPlaylistInterface.cpp | 95 +++++++++++++++++++ .../playlist/SingleTrackPlaylistInterface.h | 18 ++-- 3 files changed, 103 insertions(+), 12 deletions(-) create mode 100644 src/libtomahawk/playlist/SingleTrackPlaylistInterface.cpp diff --git a/src/libtomahawk/CMakeLists.txt b/src/libtomahawk/CMakeLists.txt index 6c0109518..4322ea769 100644 --- a/src/libtomahawk/CMakeLists.txt +++ b/src/libtomahawk/CMakeLists.txt @@ -81,7 +81,7 @@ set( libGuiSources playlist/PlaylistLargeItemDelegate.cpp playlist/PlaylistChartItemDelegate.cpp playlist/PlayableItem.cpp - playlist/SingleTrackPlaylistInterface.h + playlist/SingleTrackPlaylistInterface.cpp playlist/dynamic/DynamicPlaylist.cpp playlist/dynamic/DynamicView.cpp diff --git a/src/libtomahawk/playlist/SingleTrackPlaylistInterface.cpp b/src/libtomahawk/playlist/SingleTrackPlaylistInterface.cpp new file mode 100644 index 000000000..54e9bf821 --- /dev/null +++ b/src/libtomahawk/playlist/SingleTrackPlaylistInterface.cpp @@ -0,0 +1,95 @@ +/* === This file is part of Tomahawk Player - === + * + * Copyright 2012 Leo Franchi + * Copyright 2012, Christian Muehlhaeuser + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see . + */ + + +#include "SingleTrackPlaylistInterface.h" + +namespace Tomahawk +{ + +SingleTrackPlaylistInterface::SingleTrackPlaylistInterface( const Tomahawk::query_ptr& query ) + : PlaylistInterface() + , m_track( query ) +{ +} + + +Tomahawk::result_ptr +SingleTrackPlaylistInterface::currentItem() const +{ + if ( m_track && m_track->numResults() ) + return m_track->results().first(); + + return result_ptr(); +} + + +Tomahawk::result_ptr +SingleTrackPlaylistInterface::resultAt( qint64 index ) const +{ + if ( index == 0 && m_track && m_track->numResults() ) + return m_track->results().first(); + + return result_ptr(); +} + + +Tomahawk::query_ptr +SingleTrackPlaylistInterface::queryAt( qint64 index ) const +{ + if ( index == 0 ) + return m_track; + + return query_ptr(); +} + + +qint64 +SingleTrackPlaylistInterface::indexOfResult( const Tomahawk::result_ptr& result ) const +{ + if ( m_track && m_track->results().contains( result ) ) + return 0; + + return -1; +} + + +qint64 +SingleTrackPlaylistInterface::indexOfQuery( const Tomahawk::query_ptr& query ) const +{ + if ( m_track == query ) + return 0; + + return -1; +} + + +QList< Tomahawk::query_ptr > +SingleTrackPlaylistInterface::tracks() const +{ + QList< query_ptr > ql; + + if ( m_track ) + ql << m_track; + + return ql; +} + +} + diff --git a/src/libtomahawk/playlist/SingleTrackPlaylistInterface.h b/src/libtomahawk/playlist/SingleTrackPlaylistInterface.h index f692e7457..494714b43 100644 --- a/src/libtomahawk/playlist/SingleTrackPlaylistInterface.h +++ b/src/libtomahawk/playlist/SingleTrackPlaylistInterface.h @@ -32,22 +32,18 @@ class DLLEXPORT SingleTrackPlaylistInterface : public PlaylistInterface { Q_OBJECT public: - explicit SingleTrackPlaylistInterface( const query_ptr& query ) - : PlaylistInterface() - , m_track( query ) - { - } + explicit SingleTrackPlaylistInterface( const query_ptr& query ); query_ptr track() const { return m_track; } void setQuery( const query_ptr& track ) { m_track = track; } virtual void setCurrentIndex( qint64 index ) { Q_UNUSED( index ); } - virtual result_ptr currentItem() const { return result_ptr(); } + virtual result_ptr currentItem() const; - virtual Tomahawk::result_ptr resultAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::result_ptr(); } - virtual Tomahawk::query_ptr queryAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::query_ptr(); } - virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const { Q_UNUSED( result ); Q_ASSERT( false ); return -1; } - virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const { Q_UNUSED( query ); Q_ASSERT( false ); return -1; } + virtual Tomahawk::result_ptr resultAt( qint64 index ) const; + virtual Tomahawk::query_ptr queryAt( qint64 index ) const; + virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const; + virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const; virtual PlaylistModes::RepeatMode repeatMode() const { return PlaylistModes::NoRepeat; } virtual void setRepeatMode( PlaylistModes::RepeatMode ) {} @@ -57,7 +53,7 @@ public: virtual qint64 siblingIndex( int, qint64 rootIndex = -1 ) const { Q_UNUSED( rootIndex ); return -1; } virtual int trackCount() const { return 1; } - virtual QList< query_ptr > tracks() const { return QList< query_ptr >(); } + virtual QList< query_ptr > tracks() const; private: query_ptr m_track; From db0743b7830e936076d2c41345ee0f2edd121704 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20Lindstr=C3=B6m?= Date: Sat, 22 Dec 2012 16:25:34 +0100 Subject: [PATCH 248/332] Sync Loved -> Starred OR Sync Starred Container --- .../accounts/spotify/SpotifyAccount.cpp | 94 +++++++++++++------ .../accounts/spotify/SpotifyAccount.h | 11 ++- .../accounts/spotify/SpotifyAccountConfig.cpp | 18 +++- .../accounts/spotify/SpotifyAccountConfig.h | 1 + 4 files changed, 90 insertions(+), 34 deletions(-) diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp b/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp index b648fd4dc..bf300eb99 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp +++ b/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp @@ -838,6 +838,7 @@ SpotifyAccount::resolverMessage( const QString &msgType, const QVariantMap &msg const bool isOwner = plMap.value( "owner" ).toBool(); const bool sync = plMap.value( "sync" ).toBool(); const bool subscribed = plMap.value( "subscribed" ).toBool(); + const bool starContainer = plMap.value( "starContainer" ).toBool(); if ( name.isNull() || plid.isNull() || revid.isNull() ) { @@ -845,7 +846,7 @@ SpotifyAccount::resolverMessage( const QString &msgType, const QVariantMap &msg continue; } - registerPlaylistInfo( new SpotifyPlaylistInfo( name, plid, revid, sync, subscribed, isOwner ) ); + registerPlaylistInfo( new SpotifyPlaylistInfo( name, plid, revid, sync, subscribed, isOwner, starContainer ) ); } if ( !m_configWidget.isNull() ) @@ -862,8 +863,14 @@ SpotifyAccount::resolverMessage( const QString &msgType, const QVariantMap &msg if ( !m_updaters.contains( plid ) ) return; - SpotifyPlaylistUpdater* updater = m_updaters[ plid ]; + SpotifyPlaylistInfo* info = m_allSpotifyPlaylists[ plid ]; + if( (info && info->starContainer ) && loveSync() ) + { + qDebug() << Q_FUNC_INFO << "SKIPPING" << msgType; + return; + } + SpotifyPlaylistUpdater* updater = m_updaters[ plid ]; // We have previously sycned starred container, but not anymore. // If we added loveSync, its synced in the background if( !updater->sync() && m_configWidget.data()->loveSync() ) @@ -887,6 +894,12 @@ SpotifyAccount::resolverMessage( const QString &msgType, const QVariantMap &msg if ( !m_updaters.contains( plid ) ) return; + SpotifyPlaylistInfo* info = m_allSpotifyPlaylists[ plid ]; + if( (info && info->starContainer ) && loveSync() ) + { + qDebug() << Q_FUNC_INFO << "SKIPPING" << msgType; + return; + } SpotifyPlaylistUpdater* updater = m_updaters[ plid ]; // If we're not syncing with this, the resolver is quite misinformed. @@ -898,7 +911,6 @@ SpotifyAccount::resolverMessage( const QString &msgType, const QVariantMap &msg const QString newRev = msg.value( "revid" ).toString(); const QString oldRev = msg.value( "oldRev" ).toString(); - updater->spotifyTracksRemoved( tracksList, newRev, oldRev ); } else if ( msgType == "tracksMoved" ) @@ -910,6 +922,12 @@ SpotifyAccount::resolverMessage( const QString &msgType, const QVariantMap &msg if ( !m_updaters.contains( plid ) ) return; + SpotifyPlaylistInfo* info = m_allSpotifyPlaylists[ plid ]; + if( (info && info->starContainer ) && loveSync() ) + { + qDebug() << Q_FUNC_INFO << "SKIPPING" << msgType; + return; + } SpotifyPlaylistUpdater* updater = m_updaters[ plid ]; Q_ASSERT( updater->sync() ); @@ -926,6 +944,7 @@ SpotifyAccount::resolverMessage( const QString &msgType, const QVariantMap &msg { const QVariantList tracksList = msg.value( "tracks" ).toList(); const bool love = msg.value( "starred" ).toBool(); + QList qs = SpotifyPlaylistUpdater::variantToQueries( tracksList ); foreach ( const query_ptr& query, qs ) { @@ -943,6 +962,12 @@ SpotifyAccount::resolverMessage( const QString &msgType, const QVariantMap &msg if ( !m_updaters.contains( plid ) ) return; + SpotifyPlaylistInfo* info = m_allSpotifyPlaylists[ plid ]; + if( (info && info->starContainer ) && loveSync() ) + { + qDebug() << Q_FUNC_INFO << "SKIPPING" << msgType; + return; + } SpotifyPlaylistUpdater* updater = m_updaters[ plid ]; Q_ASSERT( updater->sync() ); @@ -952,7 +977,6 @@ SpotifyAccount::resolverMessage( const QString &msgType, const QVariantMap &msg const bool collaborative = msg.value( "collaborative" ).toBool(); const int subscribers = msg.value( "subscribers" ).toInt(); - SpotifyPlaylistInfo* info = m_allSpotifyPlaylists[ plid ]; if( info && info->name != title ) { qDebug() << "Playlist renamed fetched in tomahawk"; @@ -1156,17 +1180,7 @@ SpotifyAccount::saveConfig() { pl->changed = false; - if ( !pl->sync && pl->loveSync ) - { - QVariantMap msg; - msg[ "_msgtype" ] = "setSync"; - msg[ "playlistid" ] = pl->plid; - msg[ "sync" ] = pl->loveSync; - sendMessage( msg ); - - } - - if ( pl->sync ) + if ( pl->sync || ( pl->starContainer && loveSync() ) ) { // Fetch full playlist contents, then begin the sync startPlaylistSync( pl ); @@ -1216,11 +1230,22 @@ SpotifyAccount::startPlaylistSync( SpotifyPlaylistInfo* playlist ) return; QVariantMap msg; - msg[ "_msgtype" ] = "getPlaylist"; msg[ "playlistid" ] = playlist->plid; - msg[ "sync" ] = playlist->sync; + msg[ "sync" ] = true; + + if( playlist->loveSync ) + { + msg[ "_msgtype" ] = "setSync"; + sendMessage( msg ); + if( playlist->sync && m_updaters.contains( playlist->plid ) ) + stopPlaylistSync(playlist, true); + } + else if( playlist->sync ) + { + msg[ "_msgtype" ] = "getPlaylist"; + sendMessage( msg, this, "startPlaylistSyncWithPlaylist" ); + } - sendMessage( msg, this, "startPlaylistSyncWithPlaylist" ); } @@ -1240,7 +1265,6 @@ SpotifyAccount::startPlaylistSyncWithPlaylist( const QString& msgType, const QVa // create a list of query/plentries directly QList< query_ptr > queries = SpotifyPlaylistUpdater::variantToQueries( tracks ); - /** * Begin syncing a playlist. Two options: * 1) This is a playlist that has never been synced to tomahawk. Create a new one @@ -1253,12 +1277,22 @@ SpotifyAccount::startPlaylistSyncWithPlaylist( const QString& msgType, const QVa { //Q_ASSERT( m_updaters[ id ]->sync() == false ); /// Should have been unchecked/off before, but might not be if the user // changed spotify resolver meanwhile, so allow it for now - m_updaters[ id ]->setSync( true ); -// m_updaters[ id ]-> - // TODO + SpotifyPlaylistInfo* info = m_allSpotifyPlaylists[ id ]; + if ( loveSync() && ( info && info->starContainer ) ) + { + qDebug() << "Stopping playlist sync in favour for Love Sync"; + stopPlaylistSync( info, true ); + } + else + { + m_updaters[ id ]->setSync( true ); +// m_updaters[ id ]-> + // TODO + } } else { + playlist_ptr plPtr = Tomahawk::Playlist::create( SourceList::instance()->getLocal(), uuid(), name, @@ -1412,15 +1446,21 @@ SpotifyAccount::stopPlaylistSync( SpotifyPlaylistInfo* playlist, bool forceDontD if ( !playlist ) return; - QVariantMap msg; - msg[ "_msgtype" ] = "removeFromSyncList"; - msg[ "playlistid" ] = playlist->plid; + if ( loveSync() && playlist->starContainer ) + { + qDebug() << "LoveSync in action, wont remove playlist " << playlist->name; + } + else if( !loveSync() ) + { + QVariantMap msg; + msg[ "_msgtype" ] = "removeFromSyncList"; + msg[ "playlistid" ] = playlist->plid; - m_spotifyResolver.data()->sendMessage( msg ); + m_spotifyResolver.data()->sendMessage( msg ); + } if ( m_updaters.contains( playlist->plid ) ) { - SpotifyPlaylistUpdater* updater = m_updaters[ playlist->plid ]; updater->setSync( false ); diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccount.h b/src/libtomahawk/accounts/spotify/SpotifyAccount.h index 4e252f3c7..59527afe2 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccount.h +++ b/src/libtomahawk/accounts/spotify/SpotifyAccount.h @@ -51,13 +51,14 @@ class SpotifyAccountConfig; // metadata for a playlist struct SpotifyPlaylistInfo { QString name, plid, revid; - bool sync, subscribed, changed, isOwner, loveSync; + bool sync, subscribed, changed, isOwner, starContainer; + bool loveSync; + SpotifyPlaylistInfo( const QString& nname, const QString& pid, const QString& rrevid, bool ssync, bool ssubscribed, bool isowner = false, bool star = false ) + : name( nname ), plid( pid ), revid( rrevid ), sync( ssync ), subscribed( ssubscribed ) + , changed( false ), isOwner( isowner ), starContainer( star ), loveSync( false ) {} - SpotifyPlaylistInfo( const QString& nname, const QString& pid, const QString& rrevid, bool ssync, bool ssubscribed, bool isowner = false, bool lovesync = false ) - : name( nname ), plid( pid ), revid( rrevid ), sync( ssync ), subscribed( ssubscribed ), changed( false ), isOwner( isowner ), loveSync( lovesync ) {} - - SpotifyPlaylistInfo() : sync( false ), changed( false ), loveSync( false ) {} + SpotifyPlaylistInfo() : sync( false ), changed( false ), starContainer( false ), loveSync( false ) {} }; diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.cpp b/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.cpp index 5ff1ea278..1fe35b289 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.cpp +++ b/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.cpp @@ -49,7 +49,7 @@ SpotifyAccountConfig::SpotifyAccountConfig( SpotifyAccount *account ) m_ui->loginButton->setDefault( true ); connect( m_ui->loginButton, SIGNAL( clicked( bool ) ), this, SLOT( doLogin() ) ); - + connect( m_ui->loveSync, SIGNAL( toggled(bool) ), this, SLOT( showStarredPlaylist(bool) ) ); connect( m_ui->usernameEdit, SIGNAL( textEdited( QString ) ), this, SLOT( resetLoginButton() ) ); connect( m_ui->passwordEdit, SIGNAL( textEdited( QString ) ), this, SLOT( resetLoginButton() ) ); connect( m_ui->selectAllCheckbox, SIGNAL( stateChanged( int ) ), this, SLOT( selectAllPlaylists() ) ); @@ -104,7 +104,8 @@ SpotifyAccountConfig::saveSettings() pl->changed = true; pl->sync = toSync; } - if ( pl->name == "Starred Tracks" && pl->loveSync != loveSync() ) + + if ( ( pl->starContainer && loveSync() ) && ( pl->loveSync != loveSync() ) ) { pl->loveSync = loveSync(); pl->changed = true; @@ -162,6 +163,9 @@ SpotifyAccountConfig::setPlaylists( const QList& playlist { QListWidgetItem* item = new QListWidgetItem( pl->name, m_ui->playlistList ); item->setData( Qt::UserRole, QVariant::fromValue< SpotifyPlaylistInfo* >( pl ) ); + item->setData( Qt::UserRole+2, pl->starContainer ); + if( loveSync() && pl->starContainer ) + item->setHidden(true); item->setFlags( Qt::ItemIsUserCheckable | Qt::ItemIsSelectable | Qt::ItemIsEnabled ); item->setCheckState( pl->sync ? Qt::Checked : Qt::Unchecked ); } @@ -216,6 +220,16 @@ SpotifyAccountConfig::loginResponse( bool success, const QString& msg, const QSt } +void +SpotifyAccountConfig::showStarredPlaylist( bool hide ) +{ + for ( int i = 0; i < m_ui->playlistList->count(); i++ ) + { + QListWidgetItem* item = m_ui->playlistList->item( i ); + if ( item->data( Qt::UserRole+2 ).toBool() ) + item->setHidden( hide ); + } +} void SpotifyAccountConfig::selectAllPlaylists() { diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.h b/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.h index c3eeb2267..8afedd69f 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.h +++ b/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.h @@ -72,6 +72,7 @@ private slots: void doLogin(); void resetLoginButton(); void selectAllPlaylists(); + void showStarredPlaylist(bool); private: void showLoggedIn(); From 11eea9135448d91b007f5763e97398f3b7a43fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20Lindstr=C3=B6m?= Date: Sat, 22 Dec 2012 17:19:47 +0100 Subject: [PATCH 249/332] Extra check for starred container --- src/libtomahawk/accounts/spotify/SpotifyAccount.cpp | 4 ++-- src/libtomahawk/accounts/spotify/SpotifyAccountConfig.cpp | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp b/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp index bf300eb99..99701a764 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp +++ b/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp @@ -838,7 +838,7 @@ SpotifyAccount::resolverMessage( const QString &msgType, const QVariantMap &msg const bool isOwner = plMap.value( "owner" ).toBool(); const bool sync = plMap.value( "sync" ).toBool(); const bool subscribed = plMap.value( "subscribed" ).toBool(); - const bool starContainer = plMap.value( "starContainer" ).toBool(); + const bool starContainer = ( plMap.value( "starContainer" ).toBool() || name == "Starred Tracks"); if ( name.isNull() || plid.isNull() || revid.isNull() ) { @@ -1175,7 +1175,7 @@ SpotifyAccount::saveConfig() m_configWidget.data()->saveSettings(); foreach ( SpotifyPlaylistInfo* pl, m_allSpotifyPlaylists.values() ) { -// qDebug() << "Checking changed state:" << pl->changed << pl->name << pl->sync; +// qDebug() << "Checking changed state:" << pl->changed << "name:" << pl->name << "sync" << pl->sync << "starred:" << pl->starContainer; if ( pl->changed ) { pl->changed = false; diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.cpp b/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.cpp index 1fe35b289..c7622b3e8 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.cpp +++ b/src/libtomahawk/accounts/spotify/SpotifyAccountConfig.cpp @@ -101,12 +101,14 @@ SpotifyAccountConfig::saveSettings() const bool toSync = ( item->checkState() == Qt::Checked ); if ( pl->sync != toSync ) { + qDebug() << Q_FUNC_INFO << "Setting sync"; pl->changed = true; pl->sync = toSync; } if ( ( pl->starContainer && loveSync() ) && ( pl->loveSync != loveSync() ) ) { + qDebug() << Q_FUNC_INFO << "Setting lovesync"; pl->loveSync = loveSync(); pl->changed = true; } @@ -161,10 +163,11 @@ SpotifyAccountConfig::setPlaylists( const QList& playlist foreach ( SpotifyPlaylistInfo* pl, myList ) { + bool starContainer = ( pl->starContainer || pl->name == "Starred Tracks" ); QListWidgetItem* item = new QListWidgetItem( pl->name, m_ui->playlistList ); item->setData( Qt::UserRole, QVariant::fromValue< SpotifyPlaylistInfo* >( pl ) ); - item->setData( Qt::UserRole+2, pl->starContainer ); - if( loveSync() && pl->starContainer ) + item->setData( Qt::UserRole+2, starContainer ); + if( loveSync() && starContainer ) item->setHidden(true); item->setFlags( Qt::ItemIsUserCheckable | Qt::ItemIsSelectable | Qt::ItemIsEnabled ); item->setCheckState( pl->sync ? Qt::Checked : Qt::Unchecked ); From f26618d6c278a3ce314700f87b85dd418be63ea5 Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Sat, 22 Dec 2012 18:18:06 +0100 Subject: [PATCH 250/332] Do not reinvent the wheel --- .../resolvers/QtScriptResolver.cpp | 26 ++----------------- src/libtomahawk/resolvers/QtScriptResolver.h | 1 - 2 files changed, 2 insertions(+), 25 deletions(-) diff --git a/src/libtomahawk/resolvers/QtScriptResolver.cpp b/src/libtomahawk/resolvers/QtScriptResolver.cpp index 74486144f..935bf430c 100644 --- a/src/libtomahawk/resolvers/QtScriptResolver.cpp +++ b/src/libtomahawk/resolvers/QtScriptResolver.cpp @@ -529,28 +529,6 @@ QtScriptResolver::saveConfig() } -QWidget* -QtScriptResolver::findWidget(QWidget* widget, const QString& objectName) -{ - if( !widget || !widget->isWidgetType() ) - return 0; - - if( widget->objectName() == objectName ) - return widget; - - - foreach( QObject* child, widget->children() ) - { - QWidget* found = findWidget(qobject_cast< QWidget* >( child ), objectName); - - if( found ) - return found; - } - - return 0; -} - - QVariant QtScriptResolver::widgetData(QWidget* widget, const QString& property) { @@ -589,7 +567,7 @@ QtScriptResolver::loadDataFromWidgets() QVariantMap data = dataWidget.toMap(); QString widgetName = data["widget"].toString(); - QWidget* widget= findWidget( m_configWidget.data(), widgetName ); + QWidget* widget= m_configWidget->findChild< QWidget* >( widgetName ); QVariant value = widgetData( widget, data["property"].toString() ); @@ -606,7 +584,7 @@ QtScriptResolver::fillDataInWidgets( const QVariantMap& data ) foreach(const QVariant& dataWidget, m_dataWidgets) { QString widgetName = dataWidget.toMap()["widget"].toString(); - QWidget* widget= findWidget( m_configWidget.data(), widgetName ); + QWidget* widget= m_configWidget->find< QWidget* >( widgetName ); if( !widget ) { tLog() << Q_FUNC_INFO << "Widget specified in resolver was not found:" << widgetName; diff --git a/src/libtomahawk/resolvers/QtScriptResolver.h b/src/libtomahawk/resolvers/QtScriptResolver.h index 392f29ecc..f2624f200 100644 --- a/src/libtomahawk/resolvers/QtScriptResolver.h +++ b/src/libtomahawk/resolvers/QtScriptResolver.h @@ -154,7 +154,6 @@ private: void init(); void loadUi(); - QWidget* findWidget( QWidget* widget, const QString& objectName ); void setWidgetData( const QVariant& value, QWidget* widget, const QString& property ); QVariant widgetData( QWidget* widget, const QString& property ); QVariantMap loadDataFromWidgets(); From a9ca8faf8a3e036b100d3e995593e00eeda9ca74 Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Sat, 22 Dec 2012 19:00:12 +0100 Subject: [PATCH 251/332] Fix latest commit. --- src/libtomahawk/resolvers/QtScriptResolver.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/resolvers/QtScriptResolver.cpp b/src/libtomahawk/resolvers/QtScriptResolver.cpp index 935bf430c..cd9e427ab 100644 --- a/src/libtomahawk/resolvers/QtScriptResolver.cpp +++ b/src/libtomahawk/resolvers/QtScriptResolver.cpp @@ -567,7 +567,7 @@ QtScriptResolver::loadDataFromWidgets() QVariantMap data = dataWidget.toMap(); QString widgetName = data["widget"].toString(); - QWidget* widget= m_configWidget->findChild< QWidget* >( widgetName ); + QWidget* widget= m_configWidget.data()->findChild( widgetName ); QVariant value = widgetData( widget, data["property"].toString() ); @@ -584,7 +584,7 @@ QtScriptResolver::fillDataInWidgets( const QVariantMap& data ) foreach(const QVariant& dataWidget, m_dataWidgets) { QString widgetName = dataWidget.toMap()["widget"].toString(); - QWidget* widget= m_configWidget->find< QWidget* >( widgetName ); + QWidget* widget= m_configWidget.data()->findChild( widgetName ); if( !widget ) { tLog() << Q_FUNC_INFO << "Widget specified in resolver was not found:" << widgetName; From 3e9305c2da568cd65aff1e06874d39e476ff70c2 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Sat, 22 Dec 2012 19:56:51 +0100 Subject: [PATCH 252/332] Remove unwanted outlines from header children. This fixes TWK-1160. --- src/libtomahawk/widgets/BasicHeader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libtomahawk/widgets/BasicHeader.cpp b/src/libtomahawk/widgets/BasicHeader.cpp index cedd19fad..664aa13e8 100644 --- a/src/libtomahawk/widgets/BasicHeader.cpp +++ b/src/libtomahawk/widgets/BasicHeader.cpp @@ -134,5 +134,5 @@ BasicHeader::paintEvent( QPaintEvent* event ) gradient.setColorAt( 1.0, QColor( "#25292c" ) ); painter.setBrush( gradient ); - painter.fillRect( event->rect(), gradient ); + painter.fillRect( rect(), gradient ); } From 8de0a6fe88b60376dd8cc632e8dc67bbe43c83ab Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 22 Dec 2012 14:39:34 +0100 Subject: [PATCH 253/332] * Removed obsolete include. --- src/libtomahawk/playlist/GridView.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libtomahawk/playlist/GridView.cpp b/src/libtomahawk/playlist/GridView.cpp index d23a137a6..eaf7e1cca 100644 --- a/src/libtomahawk/playlist/GridView.cpp +++ b/src/libtomahawk/playlist/GridView.cpp @@ -34,7 +34,6 @@ #include "AlbumModel.h" #include "PlayableModel.h" #include "PlayableProxyModelPlaylistInterface.h" -#include "SingleTrackPlaylistInterface.h" #include "ContextMenu.h" #include "ViewManager.h" #include "MetaPlaylistInterface.h" From 22d4e53b1c2b9730bd4f965ac968f2f25b81c120 Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sat, 22 Dec 2012 14:45:12 -0500 Subject: [PATCH 254/332] Changelogify --- ChangeLog | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 9ebe4cfec..645d60c70 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,27 @@ Version 0.6.0: + * Ability to sync Spotify Starred Tracks with Tomahawk Loved Tracks + * Support dropping of new Soundcloud user, track, set and Likes URLs + * Remove YouTube resolver from plug-in directory on request of YouTube + * Fixed iTunes m3u playlist support + * New icons - now all vector instead of PNGs + * Lots of design cleanup + * User much higher resolution artist and album images + * Link metadata in artist bios to appropriate Tomahawk views + * Only display Jump Link if there is somewhere for it to jump too + * New AudioControl logic - only enable Prev/Skip buttons if available + * Add HotNewHipHop as available chart + * Add iTunes as available source for New Releases + * Added more options and icons to right-click/context menu + * Make friends' Now Playing song (in sidebar) clickable + * New account status button and dialog + * Improve MusicBrainz plugin to use normalized artist names and avoid duplicate tracks * Access Control queries now stay on the bottom of the job view, removing the tendency to jump away from the mouse. + * Allow disabling of Song Change Notifications (Linux) * Improved random mode, preventing songs from being played in too rapid succession. * You can now choose between Various view modes for your playlists. - * Nicer layout for the Album page. + * Nicer layout for the Album, Artist & Track pages. * Follow HTTP redirects when fetching Playlists from the Internet. * Main menu can now be hidden and instead be shown as a toolbar button. * Connectivity controls in the toolbar. From 452e083f52c181f1e09145d629805804a770790f Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sat, 22 Dec 2012 14:52:22 -0500 Subject: [PATCH 255/332] Update changelog to remove duplicate entry --- ChangeLog | 1 - 1 file changed, 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 645d60c70..e0b624313 100644 --- a/ChangeLog +++ b/ChangeLog @@ -13,7 +13,6 @@ Version 0.6.0: * Add iTunes as available source for New Releases * Added more options and icons to right-click/context menu * Make friends' Now Playing song (in sidebar) clickable - * New account status button and dialog * Improve MusicBrainz plugin to use normalized artist names and avoid duplicate tracks * Access Control queries now stay on the bottom of the job view, removing the tendency to jump away from the mouse. From f38deb29c4c724828e200186a2942ed5e8c52236 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Sat, 22 Dec 2012 21:46:58 +0100 Subject: [PATCH 256/332] Fix vertical centering in oval. This fixes TWK-1149. --- src/libtomahawk/utils/TomahawkUtilsGui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.cpp b/src/libtomahawk/utils/TomahawkUtilsGui.cpp index 0c0917936..7bc172d6f 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.cpp +++ b/src/libtomahawk/utils/TomahawkUtilsGui.cpp @@ -193,7 +193,7 @@ drawBackgroundAndNumbers( QPainter* painter, const QString& text, const QRect& f painter->setPen( origpen ); painter->setPen( Qt::white ); - painter->drawText( figRect.adjusted( -5, 0, 6, 0 ), text, QTextOption( Qt::AlignCenter ) ); + painter->drawText( figRect.adjusted( -5, 2, 6, 0 ), text, QTextOption( Qt::AlignCenter ) ); painter->restore(); } From b0a22afe8f0d2b9163daf7e8194151989a6c9f40 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Sat, 22 Dec 2012 22:13:31 +0100 Subject: [PATCH 257/332] Add icons for "Go to" entries in context menu. This fixes TWK-1135. --- src/libtomahawk/ContextMenu.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/libtomahawk/ContextMenu.cpp b/src/libtomahawk/ContextMenu.cpp index eefad6b0f..2cf7bef16 100644 --- a/src/libtomahawk/ContextMenu.cpp +++ b/src/libtomahawk/ContextMenu.cpp @@ -109,10 +109,13 @@ ContextMenu::setQueries( const QList& queries ) if ( m_supportedActions & ActionPage && itemCount() == 1 ) { - m_sigmap->setMapping( addAction( tr( "&Go to \"%1\"" ).arg( m_queries.first()->track() ) ), ActionTrackPage ); + m_sigmap->setMapping( addAction( ImageRegistry::instance()->icon( RESPATH "images/track-icon.svg" ), + tr( "&Go to \"%1\"" ).arg( m_queries.first()->track() ) ), ActionTrackPage ); if ( !m_queries.first()->album().isEmpty() ) - m_sigmap->setMapping( addAction( tr( "Go to \"%1\"" ).arg( m_queries.first()->album() ) ), ActionAlbumPage ); - m_sigmap->setMapping( addAction( tr( "Go to \"%1\"" ).arg( m_queries.first()->artist() ) ), ActionArtistPage ); + m_sigmap->setMapping( addAction( ImageRegistry::instance()->icon( RESPATH "images/album-icon.svg" ), + tr( "Go to \"%1\"" ).arg( m_queries.first()->album() ) ), ActionAlbumPage ); + m_sigmap->setMapping( addAction( ImageRegistry::instance()->icon( RESPATH "images/artist-icon.svg" ), + tr( "Go to \"%1\"" ).arg( m_queries.first()->artist() ) ), ActionArtistPage ); } addSeparator(); @@ -164,8 +167,10 @@ ContextMenu::setAlbums( const QList& albums ) if ( m_supportedActions & ActionPage && itemCount() == 1 ) { - m_sigmap->setMapping( addAction( tr( "&Go to \"%1\"" ).arg( m_albums.first()->name() ) ), ActionAlbumPage ); - m_sigmap->setMapping( addAction( tr( "Go to \"%1\"" ).arg( m_albums.first()->artist()->name() ) ), ActionArtistPage ); + m_sigmap->setMapping( addAction( ImageRegistry::instance()->icon( RESPATH "images/album-icon.svg" ), + tr( "&Go to \"%1\"" ).arg( m_albums.first()->name() ) ), ActionAlbumPage ); + m_sigmap->setMapping( addAction( ImageRegistry::instance()->icon( RESPATH "images/artist-icon.svg" ), + tr( "Go to \"%1\"" ).arg( m_albums.first()->artist()->name() ) ), ActionArtistPage ); } //m_sigmap->setMapping( addAction( tr( "&Add to Playlist" ) ), ActionAddToPlaylist ); @@ -210,7 +215,8 @@ ContextMenu::setArtists( const QList& artists ) addSeparator(); if ( m_supportedActions & ActionPage && itemCount() == 1 ) - m_sigmap->setMapping( addAction( tr( "&Go to \"%1\"" ).arg( m_artists.first()->name() ) ), ActionArtistPage ); + m_sigmap->setMapping( addAction( ImageRegistry::instance()->icon( RESPATH "images/artist-icon.svg" ), + tr( "&Go to \"%1\"" ).arg( m_artists.first()->name() ) ), ActionArtistPage ); //m_sigmap->setMapping( addAction( tr( "&Add to Playlist" ) ), ActionAddToPlaylist ); From b43d3ea989d8fa3eadad6faf87149314612c5bc5 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Sat, 22 Dec 2012 22:44:15 +0100 Subject: [PATCH 258/332] Removed avatar of last peer who played a track from Recently Played. This fixes TWK-1132. --- src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp index a5dfe933d..627e53e27 100644 --- a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp @@ -122,14 +122,12 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& const QString album = q->album(); const QString track = q->track(); int duration = q->duration(); - QPixmap avatar; QString lowerText; QSize avatarSize( 32, 32 ); source_ptr source = item->query()->playedBy().first; if ( m_mode == RecentlyPlayed && !source.isNull() ) { - avatar = source->avatar( TomahawkUtils::RoundedCorners, avatarSize ); QString playtime = TomahawkUtils::ageToString( QDateTime::fromTime_t( item->query()->playedBy().second ), true ); if ( source == SourceList::instance()->getLocal() ) @@ -178,9 +176,6 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& const QPixmap pixmap = m_pixmaps[ index ]->currentPixmap(); painter->drawPixmap( pixmapRect, pixmap ); - if ( !avatar.isNull() ) - painter->drawPixmap( avatarRect, avatar ); - QFont boldFont = opt.font; boldFont.setPointSize( TomahawkUtils::defaultFontSize() + 2 ); boldFont.setWeight( 99 ); @@ -195,7 +190,7 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& QFont smallFont = opt.font; smallFont.setPointSize( TomahawkUtils::defaultFontSize() - 1 ); - r.adjust( pixmapRect.width() + 12, 1, - 16 - avatar.width(), 0 ); + r.adjust( pixmapRect.width() + 12, 1, - 16, 0 ); QRect leftRect = r.adjusted( 0, 0, -48, 0 ); QRect rightRect = r.adjusted( r.width() - smallBoldFontMetrics.width( TomahawkUtils::timeToString( duration ) ), 0, 0, 0 ); From 7885c2fadb4ef7d5b14eae6024e7fe72b998e145 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Sat, 22 Dec 2012 23:28:09 +0100 Subject: [PATCH 259/332] Tweak color of source description text in the sources tree. This handles some stuff from TWK-1141. --- src/sourcetree/SourceDelegate.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/sourcetree/SourceDelegate.cpp b/src/sourcetree/SourceDelegate.cpp index 58d2f23f4..cf994fb94 100644 --- a/src/sourcetree/SourceDelegate.cpp +++ b/src/sourcetree/SourceDelegate.cpp @@ -191,6 +191,7 @@ SourceDelegate::paintCollection( QPainter* painter, const QStyleOptionViewItem& bool isPlaying = !( colItem->source()->currentTrack().isNull() ); QString desc = colItem->source()->textStatus(); + QColor descColor = QColor( "#8d8d8d" ); if ( colItem->source().isNull() ) desc = tr( "All available tracks" ); @@ -249,6 +250,9 @@ SourceDelegate::paintCollection( QPainter* painter, const QStyleOptionViewItem& } else m_lockRects.remove( index ); + + if ( isPlaying ) + descColor = Qt::black; } if ( m_trackHovered == index ) @@ -261,6 +265,7 @@ SourceDelegate::paintCollection( QPainter* painter, const QStyleOptionViewItem& text = painter->fontMetrics().elidedText( desc, Qt::ElideRight, textRect.width() - 8 ); QTextOption to( Qt::AlignVCenter ); to.setWrapMode( QTextOption::NoWrap ); + painter->setPen( descColor ); painter->drawText( textRect, text, to ); if ( colItem->source() && colItem->source()->currentTrack() ) From 12bea3708b65d762c4d0b29b7dc4edb767f11442 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 03:26:23 +0100 Subject: [PATCH 260/332] * TreeView now tries to fallback to playing a query when there's no online result. --- src/libtomahawk/playlist/TreeView.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/libtomahawk/playlist/TreeView.cpp b/src/libtomahawk/playlist/TreeView.cpp index e8bf2b78a..a9ef89a71 100644 --- a/src/libtomahawk/playlist/TreeView.cpp +++ b/src/libtomahawk/playlist/TreeView.cpp @@ -243,6 +243,10 @@ TreeView::onItemActivated( const QModelIndex& index ) { AudioEngine::instance()->playItem( m_proxyModel->playlistInterface(), item->result() ); } + else if ( !item->query().isNull() ) + { + AudioEngine::instance()->playItem( m_proxyModel->playlistInterface(), item->query() ); + } } } From 394bda7aca4af4dd28f69815d73db45f7d3d4a31 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 05:55:34 +0100 Subject: [PATCH 261/332] * Style fixes. --- src/TomahawkApp.cpp | 2 +- src/breakpad/CrashReporter/main.cpp | 9 ++++----- src/libtomahawk/utils/TomahawkUtils.cpp | 11 +++++++---- src/libtomahawk/utils/TomahawkUtils.h | 4 ++-- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/TomahawkApp.cpp b/src/TomahawkApp.cpp index 28c148602..dc770846c 100644 --- a/src/TomahawkApp.cpp +++ b/src/TomahawkApp.cpp @@ -146,7 +146,7 @@ TomahawkApp::TomahawkApp( int& argc, char *argv[] ) setApplicationVersion( QLatin1String( TOMAHAWK_VERSION ) ); registerMetaTypes(); - TomahawkUtils::installTranslator(this); + TomahawkUtils::installTranslator( this ); } diff --git a/src/breakpad/CrashReporter/main.cpp b/src/breakpad/CrashReporter/main.cpp index 6b58515e3..7ae70acbe 100644 --- a/src/breakpad/CrashReporter/main.cpp +++ b/src/breakpad/CrashReporter/main.cpp @@ -18,11 +18,11 @@ #include "CrashReporter.h" +#include +#include + #include "utils/TomahawkUtils.h" -#include - -#include const char* k_usage = "Usage:\n" @@ -37,8 +37,7 @@ int main( int argc, char* argv[] ) QCoreApplication::setOrganizationDomain( "tomahawk-player.org" ); QApplication app( argc, argv ); - - TomahawkUtils::installTranslator(&app); + TomahawkUtils::installTranslator( &app ); if ( app.arguments().size() != 4 ) { diff --git a/src/libtomahawk/utils/TomahawkUtils.cpp b/src/libtomahawk/utils/TomahawkUtils.cpp index 5864ebe72..baaa6874d 100644 --- a/src/libtomahawk/utils/TomahawkUtils.cpp +++ b/src/libtomahawk/utils/TomahawkUtils.cpp @@ -18,12 +18,12 @@ * along with Tomahawk. If not, see . */ +#include "utils/TomahawkUtils.h" + #include "TomahawkVersion.h" #include "config.h" #include "TomahawkSettings.h" -#include "utils/TomahawkUtils.h" -#include "utils/Logger.h" #include "Source.h" #include "BinaryExtractWorker.h" #include "SharedTimeLine.h" @@ -35,7 +35,6 @@ #include #include - #include #include #include @@ -62,6 +61,8 @@ #include #endif +#include "Logger.h" + namespace TomahawkUtils { static quint64 s_infosystemRequestId = 0; @@ -774,8 +775,9 @@ crash() *a = 1; } + void -installTranslator(QObject* parent) +installTranslator( QObject* parent ) { #if QT_VERSION >= 0x040800 QString locale = QLocale::system().uiLanguages().first().replace( "-", "_" ); @@ -813,6 +815,7 @@ installTranslator(QObject* parent) QCoreApplication::installTranslator( translator ); } + bool verifyFile( const QString& filePath, const QString& signature ) { diff --git a/src/libtomahawk/utils/TomahawkUtils.h b/src/libtomahawk/utils/TomahawkUtils.h index 8da42e4b5..c5b340184 100644 --- a/src/libtomahawk/utils/TomahawkUtils.h +++ b/src/libtomahawk/utils/TomahawkUtils.h @@ -169,6 +169,8 @@ namespace TomahawkUtils DLLEXPORT QDir appDataDir(); DLLEXPORT QDir appLogDir(); + DLLEXPORT void installTranslator( QObject* parent ); + DLLEXPORT QString timeToString( int seconds ); DLLEXPORT QString ageToString( const QDateTime& time, bool appendAgoString = false ); DLLEXPORT QString filesizeToString( unsigned int size ); @@ -212,8 +214,6 @@ namespace TomahawkUtils DLLEXPORT QList< Tomahawk::query_ptr > mergePlaylistChanges( const QList< Tomahawk::query_ptr >& orig, const QList< Tomahawk::query_ptr >& newTracks, bool& changed ); DLLEXPORT void crash(); - - DLLEXPORT void installTranslator(QObject *parent); } #endif // TOMAHAWKUTILS_H From 61330e54b43426c9a65e85e01c959f81a9d49e4e Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 06:10:00 +0100 Subject: [PATCH 262/332] * Cleaned up ChangeLog. --- ChangeLog | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/ChangeLog b/ChangeLog index e0b624313..81045a56b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,30 +1,30 @@ Version 0.6.0: - * Ability to sync Spotify Starred Tracks with Tomahawk Loved Tracks - * Support dropping of new Soundcloud user, track, set and Likes URLs - * Remove YouTube resolver from plug-in directory on request of YouTube - * Fixed iTunes m3u playlist support - * New icons - now all vector instead of PNGs - * Lots of design cleanup - * User much higher resolution artist and album images - * Link metadata in artist bios to appropriate Tomahawk views - * Only display Jump Link if there is somewhere for it to jump too - * New AudioControl logic - only enable Prev/Skip buttons if available - * Add HotNewHipHop as available chart - * Add iTunes as available source for New Releases - * Added more options and icons to right-click/context menu - * Make friends' Now Playing song (in sidebar) clickable - * Improve MusicBrainz plugin to use normalized artist names and avoid duplicate tracks - * Access Control queries now stay on the bottom of the job view, - removing the tendency to jump away from the mouse. - * Allow disabling of Song Change Notifications (Linux) + * Improved icon theme with vector graphics. + * Higher resolution artist and album images. + * You can now click artists, albums and tracks mentioned in artists' + biographies. + * New AudioControl logic - only enable Prev/Skip buttons if available. + * Added more options to right-click/context menus. + * Make friends' currently playing song (in sidebar) clickable. + * Improve MusicBrainz plugin to use normalized artist names and avoid + duplicate tracks. + * Access Control queries now stay on the bottom of the job view, removing + the tendency to jump away from the mouse. * Improved random mode, preventing songs from being played in too rapid succession. - * You can now choose between Various view modes for your playlists. - * Nicer layout for the Album, Artist & Track pages. - * Follow HTTP redirects when fetching Playlists from the Internet. + * You can now choose between various view modes for your playlists. + * Nicer layout for the Artist, Album & Track pages. + * Follow HTTP redirects when fetching Playlists. * Main menu can now be hidden and instead be shown as a toolbar button. * Connectivity controls in the toolbar. * Cleaned up settings dialog. + * Ability to sync Spotify Starred Tracks with Tomahawk's Loved Tracks. + * Remove YouTube resolver from plug-in directory on request of YouTube. + * Fixed iTunes m3u playlist support. + * Support dropping of new Soundcloud user, track, set & likes URLs. + * Add HotNewHipHop as available chart. + * Add iTunes as available source for New Releases. + * (Linux) Allow disabling of playback notifications. Version 0.5.5: * Changed the Spotify config dialog to indicate when the user From 50daf3acbfafb8a0b34f89d0ac480c5667415b28 Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Sun, 23 Dec 2012 06:47:35 +0100 Subject: [PATCH 263/332] Automatic merge of Transifex translations --- lang/tomahawk_ar.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_bg.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_bn_IN.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_ca.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_de.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_el.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_en.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_es.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_fi.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_fr.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_gl.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_hi_IN.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_hu.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_it.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_ja.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_lt.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_pl.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_pt_BR.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_ru.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_sv.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_tr.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_zh_CN.ts | 98 +++++++++++++++++++++--------------------- lang/tomahawk_zh_TW.ts | 98 +++++++++++++++++++++--------------------- 23 files changed, 1127 insertions(+), 1127 deletions(-) diff --git a/lang/tomahawk_ar.ts b/lang/tomahawk_ar.ts index 007675a6a..e4747977a 100644 --- a/lang/tomahawk_ar.ts +++ b/lang/tomahawk_ar.ts @@ -1042,31 +1042,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1211,67 +1211,67 @@ connect and stream from you? QObject - + %n year(s) ago منذ %n سنةمنذ سنة %nمنذ سنتين %nمنذ %n سنواتمنذ %n سنواتمنذ %n سنوات - + %n year(s) منذ %n سنةمنذ سنة %nمنذ سنتين %nمنذ %n سنواتمنذ %n سنواتمنذ %n سنوات - + %n month(s) ago منذ %n شهرمنذ شهر %nمنذ شهرين %nمنذ %n أشهرمنذ %n أشهرمنذ %n أشهر - + %n month(s) منذ %n شهرمنذ شهر %nمنذ شهرين %nمنذ %n أشهرمنذ %n أشهرمنذ %n أشهر - + %n week(s) ago منذ %n أسبوعمنذ أسبوع %nمنذ أسبوعين %nمنذ %n أسابيعمنذ %n أسابيعمنذ %n أسابيع - + %n week(s) منذ %n أسبوعمنذ أسبوع %nمنذ أسبوعين %nمنذ %n أسابيعمنذ %n أسابيعمنذ %n أسابيع - + %n day(s) ago منذ %n يوممنذ يوم %nمنذ يومين %nمنذ %n أياممنذ %n أياممنذ %n أيام - + %n day(s) منذ %n يوممنذ يوم %nمنذ يومين %nمنذ %n أياممنذ %n أياممنذ %n أيام - + %n hour(s) ago منذ %n ساعةمنذ ساعة %nمنذ ساعتين %nمنذ %n ساعاتمنذ %n ساعاتمنذ %n ساعات - + %n hour(s) منذ %n ساعةمنذ ساعة %nمنذ ساعتين %nمنذ %n ساعاتمنذ %n ساعاتمنذ %n ساعات - + %1 minutes ago منذ %1 دقائق - + %1 minutes %1 دقائق - + just now الآن @@ -1649,19 +1649,19 @@ connect and stream from you? توب ١٠ - + All available tracks جميع الأغاني المتاحة - - + + Show أظهر - - + + Hide إخفي @@ -2143,7 +2143,7 @@ connect and stream from you? مزامنة... - + Synchronization Finished المزامنة إنتهت @@ -2199,28 +2199,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... جاري تسجيل الدخول... - + Failed: %1 فشل: %1 - + Logged in as %1 مسجل تحت اسم %1 - + Log Out تسجيل الخروج - - + + Log In تسجيل الدخول @@ -2228,7 +2228,7 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium إسمع موسيقى و زامن قوائم أغانيك مع سبوتيفي بريميوم (Spotify Premium) @@ -2409,8 +2409,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue أضف إلى &قائمة الانتظار @@ -2426,56 +2426,56 @@ You may wish to try re-authenticating. - + &Love &أحب - - - + + + &Go to "%1" - - - + + + Go to "%1" - + &Copy Track Link &نسخ رابط الأغنية - + Copy Album &Link نسخ &رابط الالبوم - + Copy Artist &Link نسخ &رابط قائمة الأغاني - + Un-&Love لا &أحب - + &Delete Items &أحذف البنود - + Properties... خصائص... - + &Delete Item &أحذف البند @@ -3207,7 +3207,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection مجموعتي الخاصة @@ -3698,7 +3698,7 @@ enter the displayed PIN number here: TreeView - + Sorry, your filter '%1' did not match any results. نتأسف، نظام الترشيح لم يجد شيئا تحت عنوان '%1'. diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index 2afd7c3c2..f9ee7d9a2 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -1045,31 +1045,31 @@ Tomahaw създаде доклад относно това и изпращай PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you Изпълнена %1 от теб - + played %1 by %2 e.g. played 3 hours ago by SomeSource Изпълнена %1 от %2 - + added %1 e.g. added 3 hours ago Добавена %1 - + by <b>%1</b> e.g. by SomeArtist от <b>%1</b> - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum от <b>%1</b> на <b>%2</b> @@ -1216,67 +1216,67 @@ Tomahaw създаде доклад относно това и изпращай QObject - + %n year(s) ago преди %n годинапреди %n години - + %n year(s) %n година%n години - + %n month(s) ago преди %n месецпреди %n месеца - + %n month(s) %n месец%n месеца - + %n week(s) ago преди %n седмицапреди %n седмици - + %n week(s) %n седмица%n седмици - + %n day(s) ago преди %n денпреди %n дена - + %n day(s) %n ден%n дена - + %n hour(s) ago преди %n часпреди %n часа - + %n hour(s) %n час %n часа - + %1 minutes ago преди %1 минути - + %1 minutes %1 минути - + just now току-що @@ -1656,19 +1656,19 @@ Tomahaw създаде доклад относно това и изпращай Първите 10 - + All available tracks Всички налични изпълнения - - + + Show Покажи - - + + Hide Скрий @@ -2154,7 +2154,7 @@ Tomahaw създаде доклад относно това и изпращай Синхронизирам... - + Synchronization Finished Синхронизирането приключи @@ -2210,28 +2210,28 @@ Tomahaw създаде доклад относно това и изпращай Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Влизам... - + Failed: %1 Неуспех: %1 - + Logged in as %1 Регистриран като %1 - + Log Out Изход - - + + Log In Влез @@ -2239,7 +2239,7 @@ Tomahaw създаде доклад относно това и изпращай Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium Слушай музика и синхронизирай твоите списъци със Spotify Premium @@ -2422,8 +2422,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue Добави към &опашката @@ -2439,56 +2439,56 @@ You may wish to try re-authenticating. - + &Love &Харесай - - - + + + &Go to "%1" &Иди на "%1" - - - + + + Go to "%1" Иди на "%1" - + &Copy Track Link &Копирай адреса на изпълнението - + Copy Album &Link Копирай адресът на албума - + Copy Artist &Link Копирай адресът на изпълнителя - + Un-&Love Не-&харесай - + &Delete Items &Изтрий позициите - + Properties... Подробности: - + &Delete Item &Изтрий позицията @@ -3219,7 +3219,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection Моята колекция @@ -3713,7 +3713,7 @@ enter the displayed PIN number here: TreeView - + Sorry, your filter '%1' did not match any results. Съжалявам, но филтърът '%1' не върна никакви резултати. diff --git a/lang/tomahawk_bn_IN.ts b/lang/tomahawk_bn_IN.ts index f7bb61a9d..a911729d8 100644 --- a/lang/tomahawk_bn_IN.ts +++ b/lang/tomahawk_bn_IN.ts @@ -1041,31 +1041,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1208,67 +1208,67 @@ connect and stream from you? QObject - + %n year(s) ago - + %n year(s) - + %n month(s) ago - + %n month(s) - + %n week(s) ago - + %n week(s) - + %n day(s) ago - + %n day(s) - + %n hour(s) ago - + %n hour(s) - + %1 minutes ago - + %1 minutes - + just now @@ -1646,19 +1646,19 @@ connect and stream from you? - + All available tracks - - + + Show - - + + Hide @@ -2140,7 +2140,7 @@ connect and stream from you? - + Synchronization Finished @@ -2196,28 +2196,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... - + Failed: %1 - + Logged in as %1 - + Log Out - - + + Log In @@ -2225,7 +2225,7 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium @@ -2403,8 +2403,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue @@ -2420,56 +2420,56 @@ You may wish to try re-authenticating. - + &Love - - - + + + &Go to "%1" - - - + + + Go to "%1" - + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items - + Properties... - + &Delete Item @@ -3197,7 +3197,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection @@ -3687,7 +3687,7 @@ enter the displayed PIN number here: TreeView - + Sorry, your filter '%1' did not match any results. diff --git a/lang/tomahawk_ca.ts b/lang/tomahawk_ca.ts index 81deee281..280d219da 100644 --- a/lang/tomahawk_ca.ts +++ b/lang/tomahawk_ca.ts @@ -1041,31 +1041,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1209,67 +1209,67 @@ connect and stream from you? QObject - + %n year(s) ago fa %n anyfa %n anys - + %n year(s) %n any%n anys - + %n month(s) ago fa %n mesfa %n mesos - + %n month(s) %n mes%n mesos - + %n week(s) ago fa %n setmanafa %n setmanes - + %n week(s) %n setmana%n setmanes - + %n day(s) ago fa %n diafa %n dies - + %n day(s) %n dia%n dies - + %n hour(s) ago fa %n horafa %n hores - + %n hour(s) %n hora%n hores - + %1 minutes ago fa %1 minut - + %1 minutes %1 minuts - + just now ara mateix @@ -1647,19 +1647,19 @@ connect and stream from you? Top 10 - + All available tracks Totes les cançons disponibles - - + + Show Mostra - - + + Hide Amaga @@ -2141,7 +2141,7 @@ connect and stream from you? - + Synchronization Finished @@ -2197,28 +2197,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Iniciant sessió... - + Failed: %1 Error: %1 - + Logged in as %1 - + Log Out - - + + Log In Incia Sessió @@ -2226,7 +2226,7 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium Reprodueix música i sincronitza les llistes de reproducció amb Spotify Premium @@ -2407,8 +2407,8 @@ Torneu a autenticar-vos. - - + + Add to &Queue &Afegeix a la Cua @@ -2424,56 +2424,56 @@ Torneu a autenticar-vos. - + &Love &M'encanta - - - + + + &Go to "%1" - - - + + + Go to "%1" - + &Copy Track Link &Copia l'Enllaç de la Cançó - + Copy Album &Link - + Copy Artist &Link - + Un-&Love &Treu de les preferides - + &Delete Items &Elimina els Ítems - + Properties... - + &Delete Item &Elimina l'Ítem @@ -3205,7 +3205,7 @@ Intenteu ajustar els filtres per reproduir noves cançons. TomahawkApp - + My Collection La meva Col·lecció @@ -3696,7 +3696,7 @@ introduïu el PIN aquí: TreeView - + Sorry, your filter '%1' did not match any results. diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index 435fbbcaa..acced110d 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -1042,31 +1042,31 @@ erlauben sich mit dir zu verbinden? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you angehört %1 von dir - + played %1 by %2 e.g. played 3 hours ago by SomeSource angehört %1 von %2 - + added %1 e.g. added 3 hours ago hinzugefügt %1 - + by <b>%1</b> e.g. by SomeArtist von <b>%1</b> - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum von <b>%1</b> auf <b>%2</b> @@ -1210,67 +1210,67 @@ erlauben sich mit dir zu verbinden? QObject - + %n year(s) ago vor %n Jahrvor %n Jahren - + %n year(s) %n Jahr%n Jahre - + %n month(s) ago vor %n Monatvor %n Monaten - + %n month(s) %n Monat%n Monate - + %n week(s) ago vor %n Wochevor %n Wochen - + %n week(s) %n Woche%n Wochen - + %n day(s) ago vor %n Tagvor %n Tagen - + %n day(s) %n Tag%n Tage - + %n hour(s) ago vor %n Stundevor %n Stunden - + %n hour(s) %n Stunde%n Stunden - + %1 minutes ago vor %1 Minuten - + %1 minutes %1 Minuten - + just now gerade eben @@ -1648,19 +1648,19 @@ erlauben sich mit dir zu verbinden? Top 10 - + All available tracks Alle verfügbaren Stücke - - + + Show Einblenden - - + + Hide Verstecken @@ -2142,7 +2142,7 @@ erlauben sich mit dir zu verbinden? Synchronisieren... - + Synchronization Finished Synchronisierung abgeschlossen @@ -2198,28 +2198,28 @@ erlauben sich mit dir zu verbinden? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Anmelden... - + Failed: %1 Fehler: %1 - + Logged in as %1 Angemeldet als %1 - + Log Out Abmelden - - + + Log In Anmelden @@ -2227,7 +2227,7 @@ erlauben sich mit dir zu verbinden? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium Musik abspielen und Playlisten synchronisieren mit Spotify Premium @@ -2406,8 +2406,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue In &Warteschlange einreihen @@ -2423,56 +2423,56 @@ You may wish to try re-authenticating. - + &Love &Lieblingslied - - - + + + &Go to "%1" &Gehe zu "%1" - - - + + + Go to "%1" Gehe zu "%1" - + &Copy Track Link &Kopiere Link zu diesem Stück - + Copy Album &Link Album-&Link kopieren - + Copy Artist &Link Künstler-&Link kopieren - + Un-&Love Kein &Lieblingslied - + &Delete Items Elemente &entfernen - + Properties... Eigenschaften... - + &Delete Item Element &entfernen @@ -3204,7 +3204,7 @@ Versuch die Filter anzupassen für neue Lieder. TomahawkApp - + My Collection Meine Sammlung @@ -3695,7 +3695,7 @@ Tomahawk auf Twitter's Website authentifiziert hast: TreeView - + Sorry, your filter '%1' did not match any results. Sorry, dein Filter '%1' konnte keine Ergebnisse finden. diff --git a/lang/tomahawk_el.ts b/lang/tomahawk_el.ts index 422532901..05f4c7e0b 100644 --- a/lang/tomahawk_el.ts +++ b/lang/tomahawk_el.ts @@ -1041,31 +1041,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1209,67 +1209,67 @@ connect and stream from you? QObject - + %n year(s) ago %n χρόνο πριν%n χρόνια πριν - + %n year(s) %n χρόνο%n χρόνια - + %n month(s) ago %n μήνα πριν%n μήνες πριν - + %n month(s) %n μήνα%n μήνες - + %n week(s) ago %n εβδομάδα πριν%n εβδομάδες πριν - + %n week(s) %n εβδομάδα%n εβδομάδες - + %n day(s) ago %n μέρα πριν%n μέρες πριν - + %n day(s) %n μέρα %n μέρες - + %n hour(s) ago %n ώρα πριν%n ώρες πριν - + %n hour(s) %n ώρα%n ώρες - + %1 minutes ago %1 λεπτά πριν - + %1 minutes %1 λεπτά - + just now μόλις τώρα @@ -1647,19 +1647,19 @@ connect and stream from you? Κορυφαία 10 - + All available tracks Όλα τα διαθέσιμα τραγούδια - - + + Show Προβολή - - + + Hide Απόκρυψη @@ -2141,7 +2141,7 @@ connect and stream from you? Συγχρονισμός... - + Synchronization Finished Συγχρονισμός Τελείωσε @@ -2197,28 +2197,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Σύνδεση... - + Failed: %1 Αποτυχία: %1 - + Logged in as %1 Σύνδεση ως %1 - + Log Out Αποσύνδεση - - + + Log In Σύνδεση @@ -2226,7 +2226,7 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium Αναπαράξτε μουσική από και συγχρονίστε τις λίστες αναπαραγωγής σας με το Spotify Premium @@ -2407,8 +2407,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue Προσθήκη στην &Σειρά @@ -2424,56 +2424,56 @@ You may wish to try re-authenticating. - + &Love &Αγάπησε - - - + + + &Go to "%1" - - - + + + Go to "%1" - + &Copy Track Link &Αντιγραφή Συνδέσμου Κομματιού - + Copy Album &Link - + Copy Artist &Link - + Un-&Love &Μίσησε - + &Delete Items &Διαγραφή Αντικειμένων - + Properties... Ιδιότητες - + &Delete Item &Διαγραφή Αντικειμένου @@ -3205,7 +3205,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection Η Συλλογή μου @@ -3695,7 +3695,7 @@ enter the displayed PIN number here: TreeView - + Sorry, your filter '%1' did not match any results. diff --git a/lang/tomahawk_en.ts b/lang/tomahawk_en.ts index 4dbe40d7c..d72575043 100644 --- a/lang/tomahawk_en.ts +++ b/lang/tomahawk_en.ts @@ -1042,31 +1042,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you played %1 by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource played %1 by %2 - + added %1 e.g. added 3 hours ago added %1 - + by <b>%1</b> e.g. by SomeArtist by <b>%1</b> - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum by <b>%1</b> on <b>%2</b> @@ -1210,67 +1210,67 @@ connect and stream from you? QObject - + %n year(s) ago %n year ago%n years ago - + %n year(s) %n year%n years - + %n month(s) ago %n month ago%n months ago - + %n month(s) %n month%n months - + %n week(s) ago %n week ago%n weeks ago - + %n week(s) %n week%n weeks - + %n day(s) ago %n day ago%n days ago - + %n day(s) %n day%n days - + %n hour(s) ago %n hour ago%n hours ago - + %n hour(s) %n hour%n hours - + %1 minutes ago %1 minutes ago - + %1 minutes %1 minutes - + just now just now @@ -1651,19 +1651,19 @@ connect and stream from you? Top 10 - + All available tracks All available tracks - - + + Show Show - - + + Hide Hide @@ -2145,7 +2145,7 @@ connect and stream from you? Synchronizing... - + Synchronization Finished Synchronization Finished @@ -2201,28 +2201,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Logging in... - + Failed: %1 Failed: %1 - + Logged in as %1 Logged in as %1 - + Log Out Log Out - - + + Log In Log In @@ -2230,7 +2230,7 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium Play music from and sync your playlists with Spotify Premium @@ -2411,8 +2411,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue Add to &Queue @@ -2428,56 +2428,56 @@ You may wish to try re-authenticating. - + &Love &Love - - - + + + &Go to "%1" &Go to "%1" - - - + + + Go to "%1" Go to "%1" - + &Copy Track Link &Copy Track Link - + Copy Album &Link Copy Album &Link - + Copy Artist &Link Copy Artist &Link - + Un-&Love Un-&Love - + &Delete Items &Delete Items - + Properties... Properties... - + &Delete Item &Delete Item @@ -3209,7 +3209,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection My Collection @@ -3700,7 +3700,7 @@ enter the displayed PIN number here: TreeView - + Sorry, your filter '%1' did not match any results. Sorry, your filter '%1' did not match any results. diff --git a/lang/tomahawk_es.ts b/lang/tomahawk_es.ts index dbf4288fc..277fe0106 100644 --- a/lang/tomahawk_es.ts +++ b/lang/tomahawk_es.ts @@ -1042,31 +1042,31 @@ conectarse a usted y transmitir música? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1210,67 +1210,67 @@ conectarse a usted y transmitir música? QObject - + %n year(s) ago hace %n añohace%n años - + %n year(s) %n año%n años - + %n month(s) ago hace %n meshace %n meses - + %n month(s) %n mes%n meses - + %n week(s) ago hace %n semanahace %n semanas - + %n week(s) %n semana%n semanas - + %n day(s) ago hace %n díahace %n días - + %n day(s) %n día%n días - + %n hour(s) ago hace %n horahace %n horas - + %n hour(s) %n hora%n horas - + %1 minutes ago hace %1 minutos - + %1 minutes %1 minutos - + just now justo ahora @@ -1651,19 +1651,19 @@ y estaciones basadas en sus gustos personales. Top 10 - + All available tracks Todas las pistas disponibles - - + + Show Mostrar - - + + Hide Ocultar @@ -2145,7 +2145,7 @@ y estaciones basadas en sus gustos personales. Sincronizando... - + Synchronization Finished Sincronización finalizada @@ -2201,28 +2201,28 @@ y estaciones basadas en sus gustos personales. Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Iniciando sesión... - + Failed: %1 Fallo: %1 - + Logged in as %1 Sesión iniciada como %1 - + Log Out Salir - - + + Log In Iniciar sesión @@ -2230,7 +2230,7 @@ y estaciones basadas en sus gustos personales. Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium Reproduzca música de Spotify Premium y sincronice sus listas de reprodución @@ -2411,8 +2411,8 @@ Deberá volverse a autenticar. - - + + Add to &Queue Añadir a la &cola @@ -2428,56 +2428,56 @@ Deberá volverse a autenticar. - + &Love &Favorito - - - + + + &Go to "%1" &Ir a "%1" - - - + + + Go to "%1" &Ir a "%1" - + &Copy Track Link &Copiar enlace del tema - + Copy Album &Link Copiar en&lace del álbum - + Copy Artist &Link Copiar en&lace del artista - + Un-&Love Quitar de &favoritos - + &Delete Items Eliminar &de la cola - + Properties... Propiedades... - + &Delete Item Eliminar &de la cola @@ -3209,7 +3209,7 @@ Intente ajustar los filtros para reproducir nuevas canciones. TomahawkApp - + My Collection Mi colección @@ -3700,7 +3700,7 @@ introduzca su número PIN aquí: TreeView - + Sorry, your filter '%1' did not match any results. Tu filtro '%1' no produjo ningún resultado diff --git a/lang/tomahawk_fi.ts b/lang/tomahawk_fi.ts index 6df145c1f..882e7947d 100644 --- a/lang/tomahawk_fi.ts +++ b/lang/tomahawk_fi.ts @@ -1042,31 +1042,31 @@ yhdistää ja toistaa sinulta virtaa? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you kuuntelit %1 - + played %1 by %2 e.g. played 3 hours ago by SomeSource %2 kuunteli %1 - + added %1 e.g. added 3 hours ago lisätty %1 - + by <b>%1</b> e.g. by SomeArtist artistilta <b>%1</b> - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum artistilta <b>%1</b> albumilla <b>%2</b> @@ -1210,67 +1210,67 @@ yhdistää ja toistaa sinulta virtaa? QObject - + %n year(s) ago %n vuosi sitten%n vuotta sitten - + %n year(s) %n vuosi%n vuotta - + %n month(s) ago %n kuukausi sitten%n kuukautta sitten - + %n month(s) %n kuukausi%n kuukautta - + %n week(s) ago %n viikko sitten%n viikkoa sitten - + %n week(s) %n viikko%n viikkoa - + %n day(s) ago %n päivä sitten%n päivää sitten - + %n day(s) %n päivä%n päivää - + %n hour(s) ago %n tunti sitten%n tuntia sitten - + %n hour(s) %n tunti%n tuntia - + %1 minutes ago %1 minuuttia sitten - + %1 minutes %1 minuuttia - + just now juuri nyt @@ -1653,19 +1653,19 @@ käyttäjäradion käyttöönottamiseksi Kymmenen kärki - + All available tracks Kaikki saatavilla olevat kappaleet - - + + Show Näytä - - + + Hide Piilota @@ -2148,7 +2148,7 @@ napsauttamalla hiiren oikealla. Synkronoidaan... - + Synchronization Finished Synkronointi valmis @@ -2204,28 +2204,28 @@ napsauttamalla hiiren oikealla. Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Kirjaudutaan... - + Failed: %1 Epäonnistui: %1 - + Logged in as %1 Kirjauduttu käyttäjänä %1 - + Log Out Kirjaudu ulos - - + + Log In Kirjaudu @@ -2233,7 +2233,7 @@ napsauttamalla hiiren oikealla. Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium Toista musiikkia Spotify Premiumin kautta ja synkronoi soittolistasi sen kanssa @@ -2414,8 +2414,8 @@ Voit haluta yrittää tunnistautumista uudelleen. - - + + Add to &Queue &Lisää jonoon @@ -2431,56 +2431,56 @@ Voit haluta yrittää tunnistautumista uudelleen. - + &Love &Tykkää - - - + + + &Go to "%1" Sii&rry sivulle ”%1” - - - + + + Go to "%1" Siirry sivulle ”%1” - + &Copy Track Link &Kopioi kappaleen linkki - + Copy Album &Link &Kopioi albumin linkki - + Copy Artist &Link &Kopioi artistin linkki - + Un-&Love Lakkaa &tykkäämästä - + &Delete Items &Poista kohteet - + Properties... Ominaisuudet... - + &Delete Item &Poista kohde @@ -3212,7 +3212,7 @@ Koeta säätää suodattimia saadaksesi uuden joukon kappaleita kuunneltavaksi.< TomahawkApp - + My Collection Oma kokoelma @@ -3703,7 +3703,7 @@ anna siellä näytetty PIN-koodi tähän: TreeView - + Sorry, your filter '%1' did not match any results. Valitettavasti suodattimesi ”%1” ei tuottanut yhtään tuloksia. diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index d019035d5..005b7427a 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -1042,31 +1042,31 @@ de se connecter et streamer de vous? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1210,67 +1210,67 @@ de se connecter et streamer de vous? QObject - + %n year(s) ago il y a %n anil y a %n ans - + %n year(s) %n an%n ans - + %n month(s) ago il y a %n moisil y a %n mois - + %n month(s) %n mois%n mois - + %n week(s) ago il y a %n semaineil y a %n semaines - + %n week(s) %n semaine%n semaines - + %n day(s) ago il y a %n jouril y a %n jours - + %n day(s) %n jour%n jours - + %n hour(s) ago il y a %n heureil y a %n heures - + %n hour(s) %n heure%n heures - + %1 minutes ago il y a %1 minutes - + %1 minutes %1 minutes - + just now à l'instant @@ -1648,19 +1648,19 @@ de se connecter et streamer de vous? Top 10 - + All available tracks Tous les titres disponibles - - + + Show Afficher - - + + Hide Masquer @@ -2142,7 +2142,7 @@ de se connecter et streamer de vous? Synchronization en cours... - + Synchronization Finished Synchronization Terminée @@ -2198,28 +2198,28 @@ de se connecter et streamer de vous? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Connexion... - + Failed: %1 Echec : %1 - + Logged in as %1 Connecté sous %1 - + Log Out Déconnectez-vous - - + + Log In Connexion @@ -2227,7 +2227,7 @@ de se connecter et streamer de vous? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium Jouer la musique et synchroniser vos listes avec Spotify Premium @@ -2408,8 +2408,8 @@ Essayez de vous authentifier de nouveau. - - + + Add to &Queue &Ajouter à la file d'attente @@ -2425,56 +2425,56 @@ Essayez de vous authentifier de nouveau. - + &Love &Favori - - - + + + &Go to "%1" - - - + + + Go to "%1" - + &Copy Track Link &Copier le lien de la piste - + Copy Album &Link Copier le &lien de l'album - + Copy Artist &Link Copier le &lien de l'artiste - + Un-&Love &Supprimer des Favoris - + &Delete Items &Supprimer les éléments - + Properties... Propriétés... - + &Delete Item &Supprimer l'élément @@ -3206,7 +3206,7 @@ Essayez de changer les filtres pour avoir de nouveaux morceaux à jouer. TomahawkApp - + My Collection Ma Collection @@ -3697,7 +3697,7 @@ saisissez le numéro PIN ici : TreeView - + Sorry, your filter '%1' did not match any results. Désolé, votre filtre '%1' ne correspond à aucun résultat. diff --git a/lang/tomahawk_gl.ts b/lang/tomahawk_gl.ts index 464fd2a05..7234cb226 100644 --- a/lang/tomahawk_gl.ts +++ b/lang/tomahawk_gl.ts @@ -1041,31 +1041,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1209,67 +1209,67 @@ connect and stream from you? QObject - + %n year(s) ago %n ano(s) atrás - + %n year(s) %n ano(s) - + %n month(s) ago %n mes(es) atrás - + %n month(s) %n mes(es) - + %n week(s) ago %n semana(s) atrás - + %n week(s) %n semana(s) - + %n day(s) ago %n día(s) atrás - + %n day(s) %n día(s) - + %n hour(s) ago %n hora(s) atrás - + %n hour(s) %n hora(s) - + %1 minutes ago Hai %1 minutos - + %1 minutes %1 minutos - + just now só agora @@ -1647,19 +1647,19 @@ connect and stream from you? Os 10 primeiros - + All available tracks Tódolas pistas dispoñíbeis - - + + Show Mostrar - - + + Hide Agochar @@ -2143,7 +2143,7 @@ connect and stream from you? Sincronizando... - + Synchronization Finished Rematou a sincronización @@ -2199,28 +2199,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Rexistrándose... - + Failed: %1 Fallou: %1 - + Logged in as %1 Accedeuse como %1 - + Log Out Saír - - + + Log In Iniciar sesión @@ -2228,7 +2228,7 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium Escoitar música de aí e sincronizar coas túas listas de reprodución empregando Spotify Premium @@ -2409,8 +2409,8 @@ Proba a volver a autenticarte. - - + + Add to &Queue Engadir á &ringleira @@ -2426,56 +2426,56 @@ Proba a volver a autenticarte. - + &Love &Gústame - - - + + + &Go to "%1" - - - + + + Go to "%1" - + &Copy Track Link - + Copy Album &Link Copiar a &ligazón do álbum - + Copy Artist &Link Copiar a &ligazón do artista - + Un-&Love Xa non me &gusta - + &Delete Items &Borrar os elementos - + Properties... Propiedades... - + &Delete Item &Borrar o elemento @@ -3207,7 +3207,7 @@ Proba a trocar os filtros para ter outra lista música para escoitar. TomahawkApp - + My Collection A miña colección @@ -3698,7 +3698,7 @@ enter the displayed PIN number here: TreeView - + Sorry, your filter '%1' did not match any results. O filtro «%1» non atopou ningún resultado que coincida. diff --git a/lang/tomahawk_hi_IN.ts b/lang/tomahawk_hi_IN.ts index 25291cefb..acb5f7203 100644 --- a/lang/tomahawk_hi_IN.ts +++ b/lang/tomahawk_hi_IN.ts @@ -1041,31 +1041,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1208,67 +1208,67 @@ connect and stream from you? QObject - + %n year(s) ago - + %n year(s) - + %n month(s) ago - + %n month(s) - + %n week(s) ago - + %n week(s) - + %n day(s) ago - + %n day(s) - + %n hour(s) ago - + %n hour(s) - + %1 minutes ago - + %1 minutes - + just now @@ -1646,19 +1646,19 @@ connect and stream from you? - + All available tracks - - + + Show - - + + Hide @@ -2140,7 +2140,7 @@ connect and stream from you? - + Synchronization Finished @@ -2196,28 +2196,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... - + Failed: %1 - + Logged in as %1 - + Log Out - - + + Log In @@ -2225,7 +2225,7 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium @@ -2403,8 +2403,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue @@ -2420,56 +2420,56 @@ You may wish to try re-authenticating. - + &Love - - - + + + &Go to "%1" - - - + + + Go to "%1" - + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items - + Properties... - + &Delete Item @@ -3197,7 +3197,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection @@ -3687,7 +3687,7 @@ enter the displayed PIN number here: TreeView - + Sorry, your filter '%1' did not match any results. diff --git a/lang/tomahawk_hu.ts b/lang/tomahawk_hu.ts index ebdbc56f2..59803e255 100644 --- a/lang/tomahawk_hu.ts +++ b/lang/tomahawk_hu.ts @@ -1041,31 +1041,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1208,67 +1208,67 @@ connect and stream from you? QObject - + %n year(s) ago %n évvel ezelőtt%n évvel ezelőtt - + %n year(s) %n év%n év - + %n month(s) ago %n hónappal ezelőtt%n hónappal ezelőtt - + %n month(s) %n hónap%n hónap - + %n week(s) ago %n héttel ezelőtt%n héttel ezelőtt - + %n week(s) %n hét%n hét - + %n day(s) ago %n nappal ezelőtt%n nappal ezelőtt - + %n day(s) %n nap%n nap - + %n hour(s) ago %n órával ezelőtt%n órával ezelőtt - + %n hour(s) %n óra%n óra - + %1 minutes ago %1 perccel ezelőtt - + %1 minutes %1 perc - + just now éppen most @@ -1646,19 +1646,19 @@ connect and stream from you? Top 10 - + All available tracks Összes elérhető zeneszám - - + + Show Mutatás - - + + Hide Elrejtés @@ -2140,7 +2140,7 @@ connect and stream from you? Szinkronizálás... - + Synchronization Finished Szinkronizálás befejezve @@ -2196,28 +2196,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Belépés... - + Failed: %1 - + Logged in as %1 Bejelentkezve mint %1 - + Log Out Kijelentkezés - - + + Log In Belépés @@ -2225,7 +2225,7 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium @@ -2403,8 +2403,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue @@ -2420,56 +2420,56 @@ You may wish to try re-authenticating. - + &Love - - - + + + &Go to "%1" - - - + + + Go to "%1" - + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items - + Properties... Tulajdonságok... - + &Delete Item @@ -3197,7 +3197,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection Saját kollekció @@ -3687,7 +3687,7 @@ enter the displayed PIN number here: TreeView - + Sorry, your filter '%1' did not match any results. diff --git a/lang/tomahawk_it.ts b/lang/tomahawk_it.ts index 950c9e784..9abcfed19 100644 --- a/lang/tomahawk_it.ts +++ b/lang/tomahawk_it.ts @@ -1041,31 +1041,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1208,67 +1208,67 @@ connect and stream from you? QObject - + %n year(s) ago un anno fa %n anni fa - + %n year(s) un anno fa%n anni fa - + %n month(s) ago un mese fa%n mesi fa - + %n month(s) un mese%n mesi - + %n week(s) ago una settimana fa%n settimane fa - + %n week(s) una settimana%n settimane - + %n day(s) ago un giorno fa%n giorni fa - + %n day(s) un giorno%n giorni - + %n hour(s) ago un'ora fa%n ore fa - + %n hour(s) un'ora%n ore - + %1 minutes ago %1 minuti fa - + %1 minutes %1 minuti - + just now proprio ora @@ -1646,19 +1646,19 @@ connect and stream from you? Top 10 - + All available tracks Tutte le tracce disponibili - - + + Show Mostra - - + + Hide Nascondi @@ -2140,7 +2140,7 @@ connect and stream from you? - + Synchronization Finished @@ -2196,28 +2196,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Accedendo... - + Failed: %1 Fallito: %1 - + Logged in as %1 - + Log Out - - + + Log In Login @@ -2225,7 +2225,7 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium Ascolta e sincronizza la musica con Spotify Premium @@ -2403,8 +2403,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue Aggiungi alla &coda @@ -2420,56 +2420,56 @@ You may wish to try re-authenticating. - + &Love &Love - - - + + + &Go to "%1" - - - + + + Go to "%1" - + &Copy Track Link &Copia link della traccia - + Copy Album &Link - + Copy Artist &Link - + Un-&Love Un-&love - + &Delete Items &Cancella tracce - + Properties... - + &Delete Item &Cancella traccia @@ -3197,7 +3197,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection La mia collezione @@ -3687,7 +3687,7 @@ enter the displayed PIN number here: TreeView - + Sorry, your filter '%1' did not match any results. Spiacente, il filtro '%1' non ha dato alcun risultato. diff --git a/lang/tomahawk_ja.ts b/lang/tomahawk_ja.ts index 659404f25..b6ebcb559 100644 --- a/lang/tomahawk_ja.ts +++ b/lang/tomahawk_ja.ts @@ -1042,31 +1042,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you %1を再生しました。 - + played %1 by %2 e.g. played 3 hours ago by SomeSource %2が%1を再生しました。 - + added %1 e.g. added 3 hours ago %1を追加しました - + by <b>%1</b> e.g. by SomeArtist <b>%1</b> - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum <b>%1</b>の<b>%2</b> @@ -1210,67 +1210,67 @@ connect and stream from you? QObject - + %n year(s) ago %n年前 - + %n year(s) %n年 - + %n month(s) ago %nヶ月前 - + %n month(s) %nヶ月 - + %n week(s) ago %n週間前 - + %n week(s) %n週間 - + %n day(s) ago %n日前 - + %n day(s) %n日 - + %n hour(s) ago %n時間前 - + %n hour(s) %n時間 - + %1 minutes ago %1分前 - + %1 minutes %1分 - + just now たった今 @@ -1651,19 +1651,19 @@ connect and stream from you? トップ10 - + All available tracks 利用可能トラック - - + + Show 表示 - - + + Hide 隠す @@ -2145,7 +2145,7 @@ connect and stream from you? 同期中... - + Synchronization Finished 同期完了 @@ -2201,28 +2201,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... ログイン中... - + Failed: %1 失敗しました: %1 - + Logged in as %1 %1としてログイン済み - + Log Out ログアウト - - + + Log In ログイン @@ -2230,7 +2230,7 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium Spotify Premiumのアカウントを使って、音楽の再生とプレイリストの同期ができます @@ -2411,8 +2411,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue キューに追加 @@ -2428,56 +2428,56 @@ You may wish to try re-authenticating. - + &Love &Love - - - + + + &Go to "%1" %1に移動 - - - + + + Go to "%1" %1に移動 - + &Copy Track Link トラックリンクをコピー - + Copy Album &Link アルバムリンクをコピー - + Copy Artist &Link アーティストリンクをコピー - + Un-&Love Loveじゃないトラック - + &Delete Items 項目を削除 - + Properties... 情報... - + &Delete Item 項目を削除 @@ -3209,7 +3209,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection マイコレクション @@ -3701,7 +3701,7 @@ Meta+Ctrl+Z TreeView - + Sorry, your filter '%1' did not match any results. %1に一致する結果は見つかりませんでした。 diff --git a/lang/tomahawk_lt.ts b/lang/tomahawk_lt.ts index 80b2f24a3..84ebf4133 100644 --- a/lang/tomahawk_lt.ts +++ b/lang/tomahawk_lt.ts @@ -1041,31 +1041,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1208,67 +1208,67 @@ connect and stream from you? QObject - + %n year(s) ago prieš %n metusprieš %n metusprieš %n metų - + %n year(s) %n metai%n metai%n metų - + %n month(s) ago prieš %n mėnesįprieš %n mėnesiusprieš %n mėnesių - + %n month(s) %n mėnuo%n mėnesiai%n mėnesių - + %n week(s) ago prieš %n savaitęprieš %n savaitesprieš %n savaičių - + %n week(s) %n savaitė%n savaitės%n savaičių - + %n day(s) ago prieš %n dienąprieš %n dienasprieš %n dienų - + %n day(s) %n diena%n dienos%n dienų - + %n hour(s) ago prieš %n valandąprieš %n valandasprieš %n valandų - + %n hour(s) %n valanda%n valandos%n valandų - + %1 minutes ago - + %1 minutes - + just now ką tik @@ -1646,19 +1646,19 @@ connect and stream from you? Top 10 - + All available tracks Visi prieinami takeliai - - + + Show Rodyti - - + + Hide Slėpti @@ -2140,7 +2140,7 @@ connect and stream from you? - + Synchronization Finished @@ -2196,28 +2196,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Prisijungiama... - + Failed: %1 Nepavyko: %1 - + Logged in as %1 Prisijungta kaip %1 - + Log Out Atsijungti - - + + Log In Prisijungti @@ -2225,7 +2225,7 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium @@ -2403,8 +2403,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue Pridėti į &eilę @@ -2420,56 +2420,56 @@ You may wish to try re-authenticating. - + &Love My&liu - - - + + + &Go to "%1" - - - + + + Go to "%1" - + &Copy Track Link &Kopijuoti takelio nuorodą - + Copy Album &Link Kopijuoti albumo &nuorodą - + Copy Artist &Link Kopijuoti atlikėjo &nuorodą - + Un-&Love Nemy&liu - + &Delete Items Iš&trinti elementus - + Properties... Savybės... - + &Delete Item Iš&trinti elementą @@ -3197,7 +3197,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection Mano kolekcija @@ -3687,7 +3687,7 @@ enter the displayed PIN number here: TreeView - + Sorry, your filter '%1' did not match any results. Atsiprašome, Jūsų užklausa '%1' neatitiko jokių rezultatų. diff --git a/lang/tomahawk_pl.ts b/lang/tomahawk_pl.ts index 3e2e5c67e..d2de16bb8 100644 --- a/lang/tomahawk_pl.ts +++ b/lang/tomahawk_pl.ts @@ -1042,31 +1042,31 @@ połączyć się i strumieniować od ciebie? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1210,67 +1210,67 @@ połączyć się i strumieniować od ciebie? QObject - + %n year(s) ago %n rok temu%n lata temu%n lat temu - + %n year(s) %n rok%n lata%n lat - + %n month(s) ago %n miesiąc temu%n miesiące temu%n miesięcy temu - + %n month(s) %n miesiąc%n miesiące%n miesięcy - + %n week(s) ago %n tydzień temu%n tygodnie temu%n tygodni temu - + %n week(s) %n tydzień%n tygodnie%n tygodni - + %n day(s) ago %n dzień temu%n dni temu%n dni temu - + %n day(s) %n dzień%n dni%n dni - + %n hour(s) ago %n godzinę temu%n godziny temu%n godzin temu - + %n hour(s) %n godzinę%n godziny%n godzin - + %1 minutes ago %1 minut temu - + %1 minutes %1 minut - + just now przed chwilą @@ -1648,19 +1648,19 @@ połączyć się i strumieniować od ciebie? Top 10 - + All available tracks Wszystkie dostępne utwory - - + + Show Pokaż - - + + Hide Ukryj @@ -2142,7 +2142,7 @@ połączyć się i strumieniować od ciebie? - + Synchronization Finished @@ -2198,28 +2198,28 @@ połączyć się i strumieniować od ciebie? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Loguję się... - + Failed: %1 Nie udało się: %1 - + Logged in as %1 - + Log Out - - + + Log In Zaloguj się @@ -2227,7 +2227,7 @@ połączyć się i strumieniować od ciebie? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium Odtwarzaj muzykę i synchronizuj listy odtwarzania ze Spotify Premium @@ -2408,8 +2408,8 @@ Możesz spróbować ponowić uwierzytelnienie. - - + + Add to &Queue Dodaj do &kolejki @@ -2425,56 +2425,56 @@ Możesz spróbować ponowić uwierzytelnienie. - + &Love &Lubię - - - + + + &Go to "%1" - - - + + + Go to "%1" - + &Copy Track Link - + Copy Album &Link Kopiuj &link do albumu - + Copy Artist &Link Kopiuj &link do wykonawcy - + Un-&Love Przestań &lubić - + &Delete Items &Usuń pozycje - + Properties... - + &Delete Item &Usuń pozycję @@ -3206,7 +3206,7 @@ Spróbuj poprawić filtry aby uzyskać nowy zestaw piosenek do odtworzenia. TomahawkApp - + My Collection Moja Kolekcja @@ -3697,7 +3697,7 @@ wprowadź pokazany numer PIN tutaj: TreeView - + Sorry, your filter '%1' did not match any results. diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts index d35e76073..d56cb8de0 100644 --- a/lang/tomahawk_pt_BR.ts +++ b/lang/tomahawk_pt_BR.ts @@ -1042,31 +1042,31 @@ se conecte e faça o stream de você? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist por <b>%1</b> - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum por <b>%1</b> em <b>%2</b> @@ -1210,67 +1210,67 @@ se conecte e faça o stream de você? QObject - + %n year(s) ago %n ano atrás%n anos atrás - + %n year(s) %n ano%n anos - + %n month(s) ago %n mês atrás%n meses atrás - + %n month(s) %n mês%n meses - + %n week(s) ago %n semana atrás%n semanas atrás - + %n week(s) %n semana%n semanas - + %n day(s) ago %n dia atrás%n dias atrás - + %n day(s) %n dia%n dias - + %n hour(s) ago %n hora atrás%n horas atrás - + %n hour(s) %n hora%n horas - + %1 minutes ago %1 minutos atrás - + %1 minutes %1 minutos - + just now agora @@ -1648,19 +1648,19 @@ se conecte e faça o stream de você? 10 Mais - + All available tracks Todas as faixas disponíveis - - + + Show Mostrar - - + + Hide Ocultar @@ -2142,7 +2142,7 @@ se conecte e faça o stream de você? Sincronizando... - + Synchronization Finished Sincronização concluída @@ -2198,28 +2198,28 @@ se conecte e faça o stream de você? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Logando... - + Failed: %1 Falha: %1 - + Logged in as %1 Conectado como %1 - + Log Out Sair - - + + Log In Log In @@ -2227,7 +2227,7 @@ se conecte e faça o stream de você? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium Reproduzir e sincronizar suas playlists com o Spotify Premium @@ -2408,8 +2408,8 @@ Você pode tentar re-autenticar. - - + + Add to &Queue Adicionar à &lista @@ -2425,56 +2425,56 @@ Você pode tentar re-autenticar. - + &Love &Favorita - - - + + + &Go to "%1" &Ir para "%1" - - - + + + Go to "%1" Ir para "%1" - + &Copy Track Link &Copiar Link da Faixa - + Copy Album &Link Copiar &Link do Álbum - + Copy Artist &Link Copiar &Link do Artista - + Un-&Love &Desfavoritar - + &Delete Items &Deletar itens - + Properties... Propriedades... - + &Delete Item &Deletar item @@ -3206,7 +3206,7 @@ Tente ajustar os filtros para ouvir um novo conjunto de músicas. TomahawkApp - + My Collection Minha Coleção @@ -3697,7 +3697,7 @@ colocar o número PIN mostrado aqui: TreeView - + Sorry, your filter '%1' did not match any results. Desculpe, seu filtro '%1' não encontrou nenhum resultado. diff --git a/lang/tomahawk_ru.ts b/lang/tomahawk_ru.ts index 21845add0..cf3e18571 100644 --- a/lang/tomahawk_ru.ts +++ b/lang/tomahawk_ru.ts @@ -1042,31 +1042,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1210,67 +1210,67 @@ connect and stream from you? QObject - + %n year(s) ago %n год назад%n года назад%n лет назад - + %n year(s) %n год%n года%n лет - + %n month(s) ago %n месяц назад%n месяца назад%n месяцей назад - + %n month(s) %n месяц%n месяца%n месяцей - + %n week(s) ago %n неделю назад%n недели назад%n недель назад - + %n week(s) %n неделю%n недели%n недель - + %n day(s) ago %n день назад%n дня назад%n дней назад - + %n day(s) %n день%n дня%n дней - + %n hour(s) ago %n час назад%n часа назад%n часов назад - + %n hour(s) %n час%n часа%n часов - + %1 minutes ago %1 минут(ы) назад - + %1 minutes %1 минут(ы) - + just now только что @@ -1648,19 +1648,19 @@ connect and stream from you? Топ 10 - + All available tracks Доступные песни - - + + Show Показать - - + + Hide Спрятать @@ -2142,7 +2142,7 @@ connect and stream from you? Синхронизация... - + Synchronization Finished Синхронизация Закончена. @@ -2198,28 +2198,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... Вхожу... - + Failed: %1 Ошибка: %1 - + Logged in as %1 Вошли как %1 - + Log Out Выйти - - + + Log In Войти @@ -2227,7 +2227,7 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium Слушать музыку и синхронизировать плейлисты с Spotify Премиум @@ -2408,8 +2408,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue Добавить В &Очередь @@ -2425,56 +2425,56 @@ You may wish to try re-authenticating. - + &Love &Любимая - - - + + + &Go to "%1" - - - + + + Go to "%1" - + &Copy Track Link &Скопировать Ссылку Песни - + Copy Album &Link Копировать &Ссылку Альбома - + Copy Artist &Link Копировать &Ссылку Исполнителя - + Un-&Love &Не Любимая - + &Delete Items &Удалить Песни - + Properties... Свойства... - + &Delete Item &Удалить Песню @@ -3204,7 +3204,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection Моя коллекция @@ -3694,7 +3694,7 @@ enter the displayed PIN number here: TreeView - + Sorry, your filter '%1' did not match any results. К сожалению, '%1' фильтр не найдено ни одного результата. diff --git a/lang/tomahawk_sv.ts b/lang/tomahawk_sv.ts index c6acfb0c3..90d9d004f 100644 --- a/lang/tomahawk_sv.ts +++ b/lang/tomahawk_sv.ts @@ -1041,31 +1041,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1209,67 +1209,67 @@ connect and stream from you? QObject - + %n year(s) ago %n år sedan%n år sedan - + %n year(s) %n år sedan%n år sedan - + %n month(s) ago %n månad sedan%n månader sedan - + %n month(s) %n månad%n månader - + %n week(s) ago %n vecka sedan%n veckor sedan - + %n week(s) %n vecka%n veckor - + %n day(s) ago %n dag sedan%n dagar sedan - + %n day(s) %n dag%n dagar - + %n hour(s) ago %n timme sedan%n timmar sedan - + %n hour(s) %n timme%n timmar - + %1 minutes ago %1 minuter sedan - + %1 minutes %1 minuter - + just now precis nyss @@ -1647,19 +1647,19 @@ connect and stream from you? Topp 10 - + All available tracks Alla tillgängliga spår - - + + Show Visa - - + + Hide Göm @@ -2141,7 +2141,7 @@ connect and stream from you? - + Synchronization Finished @@ -2197,28 +2197,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... - + Failed: %1 - + Logged in as %1 - + Log Out - - + + Log In @@ -2226,7 +2226,7 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium Spela musik från, och synca dina spellistor med Spotify Premium @@ -2404,8 +2404,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue Lägg till i &kö @@ -2421,56 +2421,56 @@ You may wish to try re-authenticating. - + &Love &Kärlek - - - + + + &Go to "%1" - - - + + + Go to "%1" - + &Copy Track Link &Kopiera Låtlänk - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items &Ta bort objekt - + Properties... - + &Delete Item &Ta bort objekt @@ -3202,7 +3202,7 @@ Försök att ändra i filtrerna för att få en ny låtlista TomahawkApp - + My Collection Min Samling @@ -3693,7 +3693,7 @@ anger du PIN-koden här: TreeView - + Sorry, your filter '%1' did not match any results. diff --git a/lang/tomahawk_tr.ts b/lang/tomahawk_tr.ts index f5e1a23fd..c58ec1699 100644 --- a/lang/tomahawk_tr.ts +++ b/lang/tomahawk_tr.ts @@ -1041,31 +1041,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1208,67 +1208,67 @@ connect and stream from you? QObject - + %n year(s) ago - + %n year(s) - + %n month(s) ago - + %n month(s) - + %n week(s) ago - + %n week(s) - + %n day(s) ago - + %n day(s) - + %n hour(s) ago - + %n hour(s) - + %1 minutes ago - + %1 minutes - + just now @@ -1646,19 +1646,19 @@ connect and stream from you? - + All available tracks - - + + Show - - + + Hide @@ -2140,7 +2140,7 @@ connect and stream from you? - + Synchronization Finished @@ -2196,28 +2196,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... - + Failed: %1 - + Logged in as %1 - + Log Out - - + + Log In @@ -2225,7 +2225,7 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium @@ -2403,8 +2403,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue @@ -2420,56 +2420,56 @@ You may wish to try re-authenticating. - + &Love - - - + + + &Go to "%1" - - - + + + Go to "%1" - + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items - + Properties... - + &Delete Item @@ -3197,7 +3197,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection @@ -3687,7 +3687,7 @@ enter the displayed PIN number here: TreeView - + Sorry, your filter '%1' did not match any results. diff --git a/lang/tomahawk_zh_CN.ts b/lang/tomahawk_zh_CN.ts index dc6ff0a1f..f8c25d33b 100644 --- a/lang/tomahawk_zh_CN.ts +++ b/lang/tomahawk_zh_CN.ts @@ -1041,31 +1041,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1209,67 +1209,67 @@ connect and stream from you? QObject - + %n year(s) ago %n 年前 - + %n year(s) %n 年 - + %n month(s) ago %n 月前 - + %n month(s) %n 月 - + %n week(s) ago %n 周前 - + %n week(s) %n 周 - + %n day(s) ago %n 天前 - + %n day(s) %n 天 - + %n hour(s) ago %n 小时前 - + %n hour(s) %n 小时 - + %1 minutes ago %1 分钟前 - + %1 minutes %1 分钟 - + just now 刚刚 @@ -1649,19 +1649,19 @@ connect and stream from you? Top 10 - + All available tracks 所有可用的歌曲 - - + + Show 显示 - - + + Hide 隐藏 @@ -2143,7 +2143,7 @@ connect and stream from you? 同步中... - + Synchronization Finished 同步成功 @@ -2199,28 +2199,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... 登录中... - + Failed: %1 失败:%1 - + Logged in as %1 作为 %1 登录 - + Log Out 登出 - - + + Log In 登录 @@ -2228,7 +2228,7 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium 使用 Spotify Premium 播放并同步播放列表。 @@ -2409,8 +2409,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue 添加到队列 @@ -2426,56 +2426,56 @@ You may wish to try re-authenticating. - + &Love 喜欢 - - - + + + &Go to "%1" - - - + + + Go to "%1" - + &Copy Track Link 复制歌曲链接 - + Copy Album &Link 复制专辑链接 - + Copy Artist &Link 复制艺术家链接 - + Un-&Love 不喜欢 - + &Delete Items 删除该项 - + Properties... 属性... - + &Delete Item 删除该项 @@ -3207,7 +3207,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection 我的收藏 @@ -3698,7 +3698,7 @@ enter the displayed PIN number here: TreeView - + Sorry, your filter '%1' did not match any results. 对不起,根据条件 '%1' 没有找到任何结果。 diff --git a/lang/tomahawk_zh_TW.ts b/lang/tomahawk_zh_TW.ts index a60281ce2..22bd0e6c9 100644 --- a/lang/tomahawk_zh_TW.ts +++ b/lang/tomahawk_zh_TW.ts @@ -1041,31 +1041,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1208,67 +1208,67 @@ connect and stream from you? QObject - + %n year(s) ago - + %n year(s) - + %n month(s) ago - + %n month(s) - + %n week(s) ago - + %n week(s) - + %n day(s) ago - + %n day(s) - + %n hour(s) ago - + %n hour(s) - + %1 minutes ago %1 分鐘前 - + %1 minutes %1 分鐘 - + just now 剛才 @@ -1646,19 +1646,19 @@ connect and stream from you? 前10名 - + All available tracks - - + + Show 顯示 - - + + Hide 隱藏 @@ -2140,7 +2140,7 @@ connect and stream from you? - + Synchronization Finished @@ -2196,28 +2196,28 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountConfig - + Logging in... 登錄中... - + Failed: %1 失敗:%1 - + Logged in as %1 - + Log Out - - + + Log In 登錄 @@ -2225,7 +2225,7 @@ connect and stream from you? Tomahawk::Accounts::SpotifyAccountFactory - + Play music from and sync your playlists with Spotify Premium @@ -2403,8 +2403,8 @@ You may wish to try re-authenticating. - - + + Add to &Queue 添加至佇列 @@ -2420,56 +2420,56 @@ You may wish to try re-authenticating. - + &Love - - - + + + &Go to "%1" - - - + + + Go to "%1" - + &Copy Track Link - + Copy Album &Link - + Copy Artist &Link - + Un-&Love - + &Delete Items - + Properties... - + &Delete Item @@ -3197,7 +3197,7 @@ Try tweaking the filters for a new set of songs to play. TomahawkApp - + My Collection 我的收藏 @@ -3687,7 +3687,7 @@ enter the displayed PIN number here: TreeView - + Sorry, your filter '%1' did not match any results. From e2812be73a418f6b3e1955ef2a459851651ece94 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 08:09:00 +0100 Subject: [PATCH 264/332] * previous- & nextTrackAvailable signal now emit a boolean parameter indicating whether there's another track available. --- src/libtomahawk/PlaylistInterface.cpp | 20 ++++---------------- src/libtomahawk/PlaylistInterface.h | 4 ++-- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/src/libtomahawk/PlaylistInterface.cpp b/src/libtomahawk/PlaylistInterface.cpp index 15a1798e9..1dd1e73ef 100644 --- a/src/libtomahawk/PlaylistInterface.cpp +++ b/src/libtomahawk/PlaylistInterface.cpp @@ -184,35 +184,23 @@ PlaylistInterface::onItemsChanged() Tomahawk::result_ptr prevResult = siblingResult( -1, m_currentIndex ); Tomahawk::result_ptr nextResult = siblingResult( 1, m_currentIndex ); - if ( prevResult ) { - bool avail = prevResult->toQuery()->playable(); + bool avail = prevResult && prevResult->toQuery()->playable(); if ( avail != m_prevAvail ) { m_prevAvail = avail; - emit previousTrackAvailable(); + emit previousTrackAvailable( avail ); } } - else if ( m_prevAvail ) - { - m_prevAvail = false; - emit previousTrackAvailable(); - } - if ( nextResult ) { - bool avail = nextResult->toQuery()->playable(); + bool avail = nextResult && nextResult->toQuery()->playable(); if ( avail != m_nextAvail ) { m_nextAvail = avail; - emit nextTrackAvailable(); + emit nextTrackAvailable( avail ); } } - else if ( m_nextAvail ) - { - m_nextAvail = false; - emit nextTrackAvailable(); - } } diff --git a/src/libtomahawk/PlaylistInterface.h b/src/libtomahawk/PlaylistInterface.h index fd52aa56f..4cccd3224 100644 --- a/src/libtomahawk/PlaylistInterface.h +++ b/src/libtomahawk/PlaylistInterface.h @@ -96,8 +96,8 @@ signals: void shuffleModeChanged( bool enabled ); void latchModeChanged( Tomahawk::PlaylistModes::LatchMode mode ); - void previousTrackAvailable(); - void nextTrackAvailable(); + void previousTrackAvailable( bool available ); + void nextTrackAvailable( bool available ); void currentIndexChanged(); From c61a2faa79bd4004e38674e28e37cae35264d9b9 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 08:10:43 +0100 Subject: [PATCH 265/332] * Adapted SourcePlaylistInterface & AudioEngine to PlaylistInterface's new signals. --- src/libtomahawk/SourcePlaylistInterface.cpp | 3 ++- src/libtomahawk/audio/AudioEngine.cpp | 18 +++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/libtomahawk/SourcePlaylistInterface.cpp b/src/libtomahawk/SourcePlaylistInterface.cpp index 5e10f3b25..444ab1d22 100644 --- a/src/libtomahawk/SourcePlaylistInterface.cpp +++ b/src/libtomahawk/SourcePlaylistInterface.cpp @@ -180,8 +180,9 @@ SourcePlaylistInterface::resolvingFinished( bool hasResults ) if ( hasResults ) { m_gotNextItem = true; - emit nextTrackAvailable(); } + + emit nextTrackAvailable( hasResults ); } diff --git a/src/libtomahawk/audio/AudioEngine.cpp b/src/libtomahawk/audio/AudioEngine.cpp index 978e3e286..35af08c17 100644 --- a/src/libtomahawk/audio/AudioEngine.cpp +++ b/src/libtomahawk/audio/AudioEngine.cpp @@ -839,16 +839,16 @@ AudioEngine::setQueue( const playlistinterface_ptr& queue ) { if ( m_queue ) { - disconnect( m_queue.data(), SIGNAL( previousTrackAvailable() ), this, SIGNAL( controlStateChanged() ) ); - disconnect( m_queue.data(), SIGNAL( nextTrackAvailable() ), this, SIGNAL( controlStateChanged() ) ); + disconnect( m_queue.data(), SIGNAL( previousTrackAvailable( bool ) ), this, SIGNAL( controlStateChanged() ) ); + disconnect( m_queue.data(), SIGNAL( nextTrackAvailable( bool ) ), this, SIGNAL( controlStateChanged() ) ); } m_queue = queue; if ( m_queue ) { - connect( m_queue.data(), SIGNAL( previousTrackAvailable() ), SIGNAL( controlStateChanged() ) ); - connect( m_queue.data(), SIGNAL( nextTrackAvailable() ), SIGNAL( controlStateChanged() ) ); + connect( m_queue.data(), SIGNAL( previousTrackAvailable( bool ) ), SIGNAL( controlStateChanged() ) ); + connect( m_queue.data(), SIGNAL( nextTrackAvailable( bool ) ), SIGNAL( controlStateChanged() ) ); } } @@ -863,8 +863,8 @@ AudioEngine::setPlaylist( Tomahawk::playlistinterface_ptr playlist ) { if ( m_playlist.data() ) { - disconnect( m_playlist.data(), SIGNAL( previousTrackAvailable() ) ); - disconnect( m_playlist.data(), SIGNAL( nextTrackAvailable() ) ); + disconnect( m_playlist.data(), SIGNAL( previousTrackAvailable( bool ) ) ); + disconnect( m_playlist.data(), SIGNAL( nextTrackAvailable( bool ) ) ); } m_playlist.data()->reset(); @@ -882,10 +882,10 @@ AudioEngine::setPlaylist( Tomahawk::playlistinterface_ptr playlist ) if ( !m_playlist.isNull() ) { - connect( m_playlist.data(), SIGNAL( nextTrackAvailable() ), SLOT( onPlaylistNextTrackAvailable() ) ); + connect( m_playlist.data(), SIGNAL( nextTrackAvailable( bool ) ), SLOT( onPlaylistNextTrackAvailable() ) ); - connect( m_playlist.data(), SIGNAL( previousTrackAvailable() ), SIGNAL( controlStateChanged() ) ); - connect( m_playlist.data(), SIGNAL( nextTrackAvailable() ), SIGNAL( controlStateChanged() ) ); + connect( m_playlist.data(), SIGNAL( previousTrackAvailable( bool ) ), SIGNAL( controlStateChanged() ) ); + connect( m_playlist.data(), SIGNAL( nextTrackAvailable( bool ) ), SIGNAL( controlStateChanged() ) ); } emit playlistChanged( playlist ); From 3823774dca1c3ce1c3a36ad2456c8d14f58c789f Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 08:12:06 +0100 Subject: [PATCH 266/332] * Change PlayableProxyModelPlaylistInterface's currentIndex when the underlying model's has changed. --- .../PlayableProxyModelPlaylistInterface.cpp | 31 +++++++++++++------ .../PlayableProxyModelPlaylistInterface.h | 5 ++- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp index 827e02bc7..218e07089 100644 --- a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp +++ b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp @@ -39,6 +39,7 @@ PlayableProxyModelPlaylistInterface::PlayableProxyModelPlaylistInterface( Playab connect( proxyModel, SIGNAL( indexPlayable( QModelIndex ) ), SLOT( onItemsChanged() ) ); connect( proxyModel, SIGNAL( filterChanged( QString ) ), SLOT( onItemsChanged() ) ); connect( proxyModel, SIGNAL( itemCountChanged( unsigned int ) ), SLOT( onItemsChanged() ) ); + connect( proxyModel, SIGNAL( currentIndexChanged() ), SLOT( onCurrentIndexChanged() ) ); } @@ -83,6 +84,16 @@ PlayableProxyModelPlaylistInterface::tracks() const } +void +PlayableProxyModelPlaylistInterface::onCurrentIndexChanged() +{ + if ( m_proxyModel.data()->currentIndex().isValid() ) + setCurrentIndex( (qint64) m_proxyModel.data()->mapToSource( m_proxyModel.data()->currentIndex() ).internalPointer() ); + else + setCurrentIndex( -1 ); +} + + void PlayableProxyModelPlaylistInterface::setCurrentIndex( qint64 index ) { @@ -90,12 +101,14 @@ PlayableProxyModelPlaylistInterface::setCurrentIndex( qint64 index ) if ( m_proxyModel.isNull() ) return; - PlayableItem* item = static_cast( (void*)index ); - if ( index < 0 || !item ) - { - m_proxyModel.data()->setCurrentIndex( QModelIndex() ); - } - else + if ( m_currentIndex == index ) + return; + m_currentIndex = index; // we need to manually set m_currentIndex (protected member from PlaylistInterface) here + // because calling m_proxyModel.data()->setCurrentIndex( ... ) will end up emitting a + // signal which leads right back here and would cause an infinite loop. + + PlayableItem* item = reinterpret_cast( (void*)index ); + if ( index >= 0 && item ) { if ( m_shuffled && m_shuffleHistory.count() > 1 ) { @@ -195,7 +208,7 @@ PlayableProxyModelPlaylistInterface::siblingIndex( int itemsAway, qint64 rootInd } else { - PlayableItem* pitem = static_cast( (void*)rootIndex ); + PlayableItem* pitem = reinterpret_cast( (void*)rootIndex ); if ( !pitem || !pitem->index.isValid() ) return -1; @@ -259,7 +272,7 @@ PlayableProxyModelPlaylistInterface::queryAt( qint64 index ) const if ( m_proxyModel.isNull() ) return query_ptr(); - PlayableItem* item = static_cast( (void*)index ); + PlayableItem* item = reinterpret_cast( (void*)index ); if ( item && item->query() ) return item->query(); @@ -273,7 +286,7 @@ PlayableProxyModelPlaylistInterface::resultAt( qint64 index ) const if ( m_proxyModel.isNull() ) return result_ptr(); - PlayableItem* item = static_cast( (void*)index ); + PlayableItem* item = reinterpret_cast( (void*)index ); if ( item && item->result() ) return item->result(); diff --git a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.h b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.h index 7b6d50d11..f134d2293 100644 --- a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.h +++ b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.h @@ -61,9 +61,8 @@ public slots: virtual void setRepeatMode( Tomahawk::PlaylistModes::RepeatMode mode ) { m_repeatMode = mode; emit repeatModeChanged( mode ); } virtual void setShuffled( bool enabled ) { m_shuffled = enabled; emit shuffleModeChanged( enabled ); } -signals: - void previousTrackAvailable(); - void nextTrackAvailable(); +private slots: + void onCurrentIndexChanged(); protected: QWeakPointer< PlayableProxyModel > m_proxyModel; From 96b9f38b2e0bc24ee52af1e51a235345d7eeda13 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 08:12:49 +0100 Subject: [PATCH 267/332] * Reset PlayableModel's currentIndex when it gets removed from the model. --- src/libtomahawk/playlist/PlayableModel.cpp | 7 ++++++- src/libtomahawk/playlist/PlayableModel.h | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/playlist/PlayableModel.cpp b/src/libtomahawk/playlist/PlayableModel.cpp index c78872f01..76f4d2016 100644 --- a/src/libtomahawk/playlist/PlayableModel.cpp +++ b/src/libtomahawk/playlist/PlayableModel.cpp @@ -312,7 +312,7 @@ PlayableModel::headerData( int section, Qt::Orientation orientation, int role ) void -PlayableModel::setCurrentItem( const QModelIndex& index ) +PlayableModel::setCurrentIndex( const QModelIndex& index ) { PlayableItem* oldEntry = itemFromIndex( m_currentIndex ); if ( oldEntry ) @@ -332,6 +332,8 @@ PlayableModel::setCurrentItem( const QModelIndex& index ) m_currentIndex = QModelIndex(); m_currentUuid = QString(); } + + emit currentIndexChanged(); } @@ -596,6 +598,9 @@ PlayableModel::removeIndex( const QModelIndex& index, bool moreToCome ) PlayableItem* item = itemFromIndex( index ); if ( item ) { + if ( index == m_currentIndex ) + setCurrentIndex( QModelIndex() ); + emit beginRemoveRows( index.parent(), index.row(), index.row() ); delete item; emit endRemoveRows(); diff --git a/src/libtomahawk/playlist/PlayableModel.h b/src/libtomahawk/playlist/PlayableModel.h index c0b1810ed..56b5836b3 100644 --- a/src/libtomahawk/playlist/PlayableModel.h +++ b/src/libtomahawk/playlist/PlayableModel.h @@ -123,8 +123,10 @@ signals: void indexPlayable( const QModelIndex& index ); void changed(); + void currentIndexChanged(); + public slots: - virtual void setCurrentItem( const QModelIndex& index ); + virtual void setCurrentIndex( const QModelIndex& index ); virtual void clear(); From 93951bfdd417fa6458f5fcf0e13e2cd326e081aa Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 08:13:23 +0100 Subject: [PATCH 268/332] * Use PlayableModel's new currentIndex methods. --- src/libtomahawk/playlist/PlayableProxyModel.cpp | 5 +++-- src/libtomahawk/playlist/PlaylistModel.cpp | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/libtomahawk/playlist/PlayableProxyModel.cpp b/src/libtomahawk/playlist/PlayableProxyModel.cpp index 5752886ab..842b9c800 100644 --- a/src/libtomahawk/playlist/PlayableProxyModel.cpp +++ b/src/libtomahawk/playlist/PlayableProxyModel.cpp @@ -108,6 +108,7 @@ PlayableProxyModel::setSourcePlayableModel( PlayableModel* sourceModel ) disconnect( m_model, SIGNAL( loadingFinished() ), this, SIGNAL( loadingFinished() ) ); disconnect( m_model, SIGNAL( itemCountChanged( unsigned int ) ), this, SIGNAL( itemCountChanged( unsigned int ) ) ); disconnect( m_model, SIGNAL( indexPlayable( QModelIndex ) ), this, SLOT( onIndexPlayable( QModelIndex ) ) ); + disconnect( m_model, SIGNAL( currentIndexChanged() ), this, SIGNAL( currentIndexChanged() ) ); } m_model = sourceModel; @@ -118,6 +119,7 @@ PlayableProxyModel::setSourcePlayableModel( PlayableModel* sourceModel ) connect( m_model, SIGNAL( loadingFinished() ), SIGNAL( loadingFinished() ) ); connect( m_model, SIGNAL( itemCountChanged( unsigned int ) ), SIGNAL( itemCountChanged( unsigned int ) ) ); connect( m_model, SIGNAL( indexPlayable( QModelIndex ) ), SLOT( onIndexPlayable( QModelIndex ) ) ); + connect( m_model, SIGNAL( currentIndexChanged() ), SIGNAL( currentIndexChanged() ) ); } QSortFilterProxyModel::setSourceModel( m_model ); @@ -632,8 +634,7 @@ void PlayableProxyModel::setCurrentIndex( const QModelIndex& index ) { tDebug() << Q_FUNC_INFO; - m_model->setCurrentItem( mapToSource( index ) ); - emit currentIndexChanged(); + m_model->setCurrentIndex( mapToSource( index ) ); } diff --git a/src/libtomahawk/playlist/PlaylistModel.cpp b/src/libtomahawk/playlist/PlaylistModel.cpp index f470aa157..393e5fd14 100644 --- a/src/libtomahawk/playlist/PlaylistModel.cpp +++ b/src/libtomahawk/playlist/PlaylistModel.cpp @@ -270,7 +270,7 @@ PlaylistModel::insertEntries( const QList< Tomahawk::plentry_ptr >& entries, int i++; if ( entry->query()->id() == currentItemUuid() ) - setCurrentItem( plitem->index ); + setCurrentIndex( plitem->index ); if ( !entry->query()->resolvingFinished() && !entry->query()->playable() ) { From 02668de6f8731c53b2c04cd5b01e5e30c086e1a1 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 09:06:38 +0100 Subject: [PATCH 269/332] * Fixed ImageRegistry's size key. --- src/libtomahawk/utils/ImageRegistry.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/libtomahawk/utils/ImageRegistry.cpp b/src/libtomahawk/utils/ImageRegistry.cpp index 8dc09c41e..7adf189af 100644 --- a/src/libtomahawk/utils/ImageRegistry.cpp +++ b/src/libtomahawk/utils/ImageRegistry.cpp @@ -23,7 +23,7 @@ #include "utils/Logger.h" -static QHash< QString, QHash< int, QHash< int, QPixmap > > > s_cache; +static QHash< QString, QHash< int, QHash< qint64, QPixmap > > > s_cache; ImageRegistry* ImageRegistry::s_instance = 0; @@ -50,8 +50,8 @@ ImageRegistry::icon( const QString& image, TomahawkUtils::ImageMode mode ) QPixmap ImageRegistry::pixmap( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode ) { - QHash< int, QPixmap > subsubcache; - QHash< int, QHash< int, QPixmap > > subcache; + QHash< qint64, QPixmap > subsubcache; + QHash< int, QHash< qint64, QPixmap > > subcache; if ( s_cache.contains( image ) ) { @@ -61,9 +61,9 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, TomahawkUtils::I { subsubcache = subcache.value( mode ); - if ( subsubcache.contains( size.width() ) ) + if ( subsubcache.contains( size.width() * size.height() ) ) { - return subsubcache.value( size.width() ); + return subsubcache.value( size.width() * size.height() ); } } } @@ -111,8 +111,8 @@ ImageRegistry::putInCache( const QString& image, const QSize& size, TomahawkUtil { tDebug() << Q_FUNC_INFO << "Adding to image cache:" << image << size << mode; - QHash< int, QPixmap > subsubcache; - QHash< int, QHash< int, QPixmap > > subcache; + QHash< qint64, QPixmap > subsubcache; + QHash< int, QHash< qint64, QPixmap > > subcache; if ( s_cache.contains( image ) ) { @@ -122,14 +122,14 @@ ImageRegistry::putInCache( const QString& image, const QSize& size, TomahawkUtil { subsubcache = subcache.value( mode ); -/* if ( subsubcache.contains( size.width() ) ) +/* if ( subsubcache.contains( size.width() * size.height() ) ) { Q_ASSERT( false ); }*/ } } - subsubcache.insert( size.width(), pixmap ); + subsubcache.insert( size.width() * size.height(), pixmap ); subcache.insert( mode, subsubcache ); s_cache.insert( image, subcache ); } From fe3a775bb7bb884b202f9967fbba20b0db8de8db Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 09:06:47 +0100 Subject: [PATCH 270/332] * Silly style fixes. --- src/sourcetree/SourceDelegate.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/sourcetree/SourceDelegate.cpp b/src/sourcetree/SourceDelegate.cpp index cf994fb94..0f5286b74 100644 --- a/src/sourcetree/SourceDelegate.cpp +++ b/src/sourcetree/SourceDelegate.cpp @@ -21,13 +21,16 @@ #include "SourceDelegate.h" +#include +#include +#include + #include "items/SourceTreeItem.h" #include "items/SourceItem.h" #include "items/PlaylistItems.h" #include "items/CategoryItems.h" #include "items/TemporaryPageItem.h" -#include "utils/TomahawkUtilsGui.h" #include "audio/AudioEngine.h" #include "AnimationHelper.h" #include "Source.h" @@ -35,10 +38,8 @@ #include "ActionCollection.h" #include "ViewManager.h" #include "ContextMenu.h" - -#include -#include -#include +#include "utils/TomahawkUtilsGui.h" +#include "utils/Logger.h" #define TREEVIEW_INDENT_ADD 12 From e0d5a4ddb122a159c341254a91f719d8f676f4af Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 10:05:42 +0100 Subject: [PATCH 271/332] * Make ImageRegistry::putInCache() less verbose. --- src/libtomahawk/utils/ImageRegistry.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libtomahawk/utils/ImageRegistry.cpp b/src/libtomahawk/utils/ImageRegistry.cpp index 7adf189af..4fa350e72 100644 --- a/src/libtomahawk/utils/ImageRegistry.cpp +++ b/src/libtomahawk/utils/ImageRegistry.cpp @@ -109,7 +109,7 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, TomahawkUtils::I void ImageRegistry::putInCache( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode, const QPixmap& pixmap ) { - tDebug() << Q_FUNC_INFO << "Adding to image cache:" << image << size << mode; + tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "Adding to image cache:" << image << size << mode; QHash< qint64, QPixmap > subsubcache; QHash< int, QHash< qint64, QPixmap > > subcache; From 85b3a83144f3e127709b77ec7f328048b22305b1 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 10:06:58 +0100 Subject: [PATCH 272/332] * PlayableModel now emits signals for its queries so we don't have to store them everywhere. --- src/libtomahawk/playlist/PlayableModel.cpp | 23 +++++++++++++++++++ src/libtomahawk/playlist/PlayableModel.h | 7 ++++-- .../playlist/PlayableProxyModel.cpp | 9 ++++++++ src/libtomahawk/playlist/PlayableProxyModel.h | 2 ++ src/libtomahawk/playlist/TrackView.cpp | 2 -- 5 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/libtomahawk/playlist/PlayableModel.cpp b/src/libtomahawk/playlist/PlayableModel.cpp index 76f4d2016..c76be9731 100644 --- a/src/libtomahawk/playlist/PlayableModel.cpp +++ b/src/libtomahawk/playlist/PlayableModel.cpp @@ -62,6 +62,7 @@ PlayableModel::createIndex( int row, int column, PlayableItem* item ) const if ( item->query() ) { connect( item->query().data(), SIGNAL( playableStateChanged( bool ) ), SLOT( onQueryBecamePlayable( bool ) ), Qt::UniqueConnection ); + connect( item->query().data(), SIGNAL( resolvingFinished( bool ) ), SLOT( onQueryResolved( bool ) ), Qt::UniqueConnection ); } return QAbstractItemModel::createIndex( row, column, item ); @@ -884,6 +885,28 @@ PlayableModel::onQueryBecamePlayable( bool playable ) } +void +PlayableModel::onQueryResolved( bool hasResults ) +{ + Q_UNUSED( hasResults ); + + Tomahawk::Query* q = qobject_cast< Query* >( sender() ); + if ( !q ) + { + // Track has been removed from the playlist by now + return; + } + + Tomahawk::query_ptr query = q->weakRef().toStrongRef(); + PlayableItem* item = itemFromQuery( query ); + + if ( item ) + { + emit indexResolved( item->index ); + } +} + + PlayableItem* PlayableModel::itemFromQuery( const Tomahawk::query_ptr& query ) const { diff --git a/src/libtomahawk/playlist/PlayableModel.h b/src/libtomahawk/playlist/PlayableModel.h index 56b5836b3..8b0b69647 100644 --- a/src/libtomahawk/playlist/PlayableModel.h +++ b/src/libtomahawk/playlist/PlayableModel.h @@ -120,9 +120,10 @@ signals: void loadingStarted(); void loadingFinished(); + void indexResolved( const QModelIndex& index ); void indexPlayable( const QModelIndex& index ); - void changed(); + void changed(); void currentIndexChanged(); public slots: @@ -158,8 +159,10 @@ protected: private slots: void onDataChanged(); - void onQueryBecamePlayable( bool playable ); + void onQueryBecamePlayable( bool playable ); + void onQueryResolved( bool hasResults ); + void onPlaybackStarted( const Tomahawk::result_ptr& result ); void onPlaybackStopped(); diff --git a/src/libtomahawk/playlist/PlayableProxyModel.cpp b/src/libtomahawk/playlist/PlayableProxyModel.cpp index 842b9c800..2fe157d36 100644 --- a/src/libtomahawk/playlist/PlayableProxyModel.cpp +++ b/src/libtomahawk/playlist/PlayableProxyModel.cpp @@ -108,6 +108,7 @@ PlayableProxyModel::setSourcePlayableModel( PlayableModel* sourceModel ) disconnect( m_model, SIGNAL( loadingFinished() ), this, SIGNAL( loadingFinished() ) ); disconnect( m_model, SIGNAL( itemCountChanged( unsigned int ) ), this, SIGNAL( itemCountChanged( unsigned int ) ) ); disconnect( m_model, SIGNAL( indexPlayable( QModelIndex ) ), this, SLOT( onIndexPlayable( QModelIndex ) ) ); + disconnect( m_model, SIGNAL( indexResolved( QModelIndex ) ), this, SLOT( onIndexResolved( QModelIndex ) ) ); disconnect( m_model, SIGNAL( currentIndexChanged() ), this, SIGNAL( currentIndexChanged() ) ); } @@ -119,6 +120,7 @@ PlayableProxyModel::setSourcePlayableModel( PlayableModel* sourceModel ) connect( m_model, SIGNAL( loadingFinished() ), SIGNAL( loadingFinished() ) ); connect( m_model, SIGNAL( itemCountChanged( unsigned int ) ), SIGNAL( itemCountChanged( unsigned int ) ) ); connect( m_model, SIGNAL( indexPlayable( QModelIndex ) ), SLOT( onIndexPlayable( QModelIndex ) ) ); + connect( m_model, SIGNAL( indexResolved( QModelIndex ) ), SLOT( onIndexResolved( QModelIndex ) ) ); connect( m_model, SIGNAL( currentIndexChanged() ), SIGNAL( currentIndexChanged() ) ); } @@ -643,3 +645,10 @@ PlayableProxyModel::onIndexPlayable( const QModelIndex& index ) { emit indexPlayable( mapFromSource( index ) ); } + + +void +PlayableProxyModel::onIndexResolved( const QModelIndex& index ) +{ + emit indexResolved( mapFromSource( index ) ); +} diff --git a/src/libtomahawk/playlist/PlayableProxyModel.h b/src/libtomahawk/playlist/PlayableProxyModel.h index 3db7f125a..cec45783e 100644 --- a/src/libtomahawk/playlist/PlayableProxyModel.h +++ b/src/libtomahawk/playlist/PlayableProxyModel.h @@ -94,6 +94,7 @@ signals: void loadingFinished(); void indexPlayable( const QModelIndex& index ); + void indexResolved( const QModelIndex& index ); void currentIndexChanged(); void itemCountChanged( unsigned int items ); @@ -106,6 +107,7 @@ protected: private slots: void onIndexPlayable( const QModelIndex& index ); + void onIndexResolved( const QModelIndex& index ); private: virtual bool lessThan( int column, const Tomahawk::query_ptr& left, const Tomahawk::query_ptr& right ) const; diff --git a/src/libtomahawk/playlist/TrackView.cpp b/src/libtomahawk/playlist/TrackView.cpp index 2a82c8d85..d4c68c50f 100644 --- a/src/libtomahawk/playlist/TrackView.cpp +++ b/src/libtomahawk/playlist/TrackView.cpp @@ -426,8 +426,6 @@ TrackView::resizeEvent( QResizeEvent* event ) { m_header->resizeSection( 0, event->size().width() ); } - - } From 3a10c530264f6a87941d71a04e0ea5c638877db5 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 10:07:32 +0100 Subject: [PATCH 273/332] * PlaylistModel's setAcceptPlayableQueriesOnly( bool ) toggles whether dropping unplayable queries is allowed. --- src/libtomahawk/playlist/PlaylistModel.cpp | 4 ++++ src/libtomahawk/playlist/PlaylistModel.h | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/libtomahawk/playlist/PlaylistModel.cpp b/src/libtomahawk/playlist/PlaylistModel.cpp index 393e5fd14..cccf817e5 100644 --- a/src/libtomahawk/playlist/PlaylistModel.cpp +++ b/src/libtomahawk/playlist/PlaylistModel.cpp @@ -45,6 +45,7 @@ PlaylistModel::PlaylistModel( QObject* parent ) , m_isTemporary( false ) , m_changesOngoing( false ) , m_isLoading( false ) + , m_acceptPlayableQueriesOnly( false ) , m_savedInsertPos( -1 ) { m_dropStorage.parent = QPersistentModelIndex(); @@ -218,6 +219,9 @@ PlaylistModel::insertQueries( const QList< Tomahawk::query_ptr >& queries, int r QList< Tomahawk::plentry_ptr > entries; foreach ( const query_ptr& query, queries ) { + if ( m_acceptPlayableQueriesOnly && query && query->resolvingFinished() && !query->playable() ) + continue; + plentry_ptr entry = plentry_ptr( new PlaylistEntry() ); entry->setDuration( query->displayQuery()->duration() ); diff --git a/src/libtomahawk/playlist/PlaylistModel.h b/src/libtomahawk/playlist/PlaylistModel.h index 3bc92478a..69ca826dc 100644 --- a/src/libtomahawk/playlist/PlaylistModel.h +++ b/src/libtomahawk/playlist/PlaylistModel.h @@ -57,6 +57,9 @@ public: virtual void loadPlaylist( const Tomahawk::playlist_ptr& playlist, bool loadEntries = true ); bool isTemporary() const; + bool acceptPlayableQueriesOnly() const { return m_acceptPlayableQueriesOnly; } + void setAcceptPlayableQueriesOnly( bool b ) { m_acceptPlayableQueriesOnly = b; } + public slots: virtual void clear(); @@ -95,6 +98,7 @@ private: bool m_isTemporary; bool m_changesOngoing; bool m_isLoading; + bool m_acceptPlayableQueriesOnly; QList< Tomahawk::Query* > m_waitingForResolved; QStringList m_waitForRevision; From 301b8b88505f9e41dd350e9ef78121612c2aac02 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 10:08:00 +0100 Subject: [PATCH 274/332] * Queue's PlaylistView doesn't accept unplayable queries. --- src/libtomahawk/playlist/QueueView.cpp | 1 + src/libtomahawk/playlist/QueueView.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libtomahawk/playlist/QueueView.cpp b/src/libtomahawk/playlist/QueueView.cpp index 2d25eb3e1..45b1c13ba 100644 --- a/src/libtomahawk/playlist/QueueView.cpp +++ b/src/libtomahawk/playlist/QueueView.cpp @@ -47,6 +47,7 @@ QueueView::QueueView( AnimatedSplitter* parent ) ui->queue->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Ignored ); PlaylistModel* queueModel = new PlaylistModel( this ); + queueModel->setAcceptPlayableQueriesOnly( true ); ui->queue->proxyModel()->setStyle( PlayableProxyModel::Short ); queueModel->finishLoading(); ui->queue->setPlaylistModel( queueModel ); diff --git a/src/libtomahawk/playlist/QueueView.h b/src/libtomahawk/playlist/QueueView.h index ce8ef7eae..10f8ec8e0 100644 --- a/src/libtomahawk/playlist/QueueView.h +++ b/src/libtomahawk/playlist/QueueView.h @@ -56,7 +56,7 @@ public slots: protected: void changeEvent( QEvent* e ); - + private slots: void updateLabel(); void onAnimationFinished(); From af79919485229fbdcf0086d77a11c0b2ffc7bb18 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 10:08:41 +0100 Subject: [PATCH 275/332] * QueueProxyModel removes unplayable tracks once finished resolving. --- src/libtomahawk/playlist/QueueProxyModel.cpp | 17 +++++++++++++++++ src/libtomahawk/playlist/QueueProxyModel.h | 1 + 2 files changed, 18 insertions(+) diff --git a/src/libtomahawk/playlist/QueueProxyModel.cpp b/src/libtomahawk/playlist/QueueProxyModel.cpp index c2023642a..522723758 100644 --- a/src/libtomahawk/playlist/QueueProxyModel.cpp +++ b/src/libtomahawk/playlist/QueueProxyModel.cpp @@ -32,6 +32,8 @@ using namespace Tomahawk; QueueProxyModel::QueueProxyModel( TrackView* parent ) : PlayableProxyModel( parent ) { + connect( this, SIGNAL( indexPlayable( QModelIndex ) ), SLOT( onIndexChanged( QModelIndex ) ) ); + connect( this, SIGNAL( indexResolved( QModelIndex ) ), SLOT( onIndexChanged( QModelIndex ) ) ); connect( parent, SIGNAL( itemActivated( QModelIndex ) ), SLOT( onIndexActivated( QModelIndex ) ) ); connect( AudioEngine::instance(), SIGNAL( loading( Tomahawk::result_ptr ) ), SLOT( onPlaybackStarted( Tomahawk::result_ptr ) ) ); } @@ -42,6 +44,21 @@ QueueProxyModel::~QueueProxyModel() } +void +QueueProxyModel::onIndexChanged( const QModelIndex& index ) +{ + PlayableItem* item = itemFromIndex( mapToSource( index ) ); + if ( item && item->query() ) + { + tDebug() << item->query()->toString() << item->query()->resolvingFinished() << item->query()->playable(); + } + if ( !item || !item->query() || ( item->query()->resolvingFinished() && !item->query()->playable() ) ) + { + removeIndex( index ); + } +} + + void QueueProxyModel::onPlaybackStarted( const Tomahawk::result_ptr& result ) { diff --git a/src/libtomahawk/playlist/QueueProxyModel.h b/src/libtomahawk/playlist/QueueProxyModel.h index f2755a03a..ad8d20641 100644 --- a/src/libtomahawk/playlist/QueueProxyModel.h +++ b/src/libtomahawk/playlist/QueueProxyModel.h @@ -36,6 +36,7 @@ public: virtual ~QueueProxyModel(); private slots: + void onIndexChanged( const QModelIndex& index ); void onIndexActivated( const QModelIndex& index ); void onPlaybackStarted( const Tomahawk::result_ptr& result ); }; From b90805234de9251377ede93045e13eab99d57184 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 11:58:00 +0100 Subject: [PATCH 276/332] * Don't try to load covers for name-less albums. --- src/libtomahawk/Album.cpp | 7 ++++++- src/libtomahawk/Album.h | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/Album.cpp b/src/libtomahawk/Album.cpp index 5806e3ffd..961131bb8 100644 --- a/src/libtomahawk/Album.cpp +++ b/src/libtomahawk/Album.cpp @@ -200,6 +200,12 @@ Album::id() const QPixmap Album::cover( const QSize& size, bool forceLoad ) const { + if ( name().isEmpty() ) + { + m_coverLoaded = true; + return QPixmap(); + } + if ( !m_coverLoaded && !m_coverLoading ) { if ( !forceLoad ) @@ -299,7 +305,6 @@ Album::infoSystemFinished( const QString& target ) this, SLOT( infoSystemFinished( QString ) ) ); m_coverLoading = false; - emit updated(); } diff --git a/src/libtomahawk/Album.h b/src/libtomahawk/Album.h index 2eb2abb49..e8ff20cd3 100644 --- a/src/libtomahawk/Album.h +++ b/src/libtomahawk/Album.h @@ -94,7 +94,7 @@ private: artist_ptr m_artist; - bool m_coverLoaded; + mutable bool m_coverLoaded; mutable bool m_coverLoading; mutable QString m_uuid; From 46874ca20d67940fc49a46ebc4cde023ed87e473 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 11:59:19 +0100 Subject: [PATCH 277/332] * LastFmInfoPlugin logs which covers it fails to load. --- src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp index 0431b0319..a69bcab13 100644 --- a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp +++ b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp @@ -801,13 +801,17 @@ LastFmInfoPlugin::coverArtReturned() QUrl redir = reply->attribute( QNetworkRequest::RedirectionTargetAttribute ).toUrl(); if ( redir.isEmpty() ) { + Tomahawk::InfoSystem::InfoRequestData requestData = reply->property( "requestData" ).value< Tomahawk::InfoSystem::InfoRequestData >(); + Tomahawk::InfoSystem::InfoStringHash origData = requestData.input.value< Tomahawk::InfoSystem::InfoStringHash>(); + QByteArray ba = reply->readAll(); if ( ba.isNull() || !ba.length() ) { - tLog() << Q_FUNC_INFO << "Uh oh, null byte array"; - emit info( reply->property( "requestData" ).value< Tomahawk::InfoSystem::InfoRequestData >(), QVariant() ); + tLog() << Q_FUNC_INFO << "Null byte array for cover of" << origData["artist"] << origData["album"]; + emit info( requestData, QVariant() ); return; } + foreach ( const QUrl& url, m_badUrls ) { if ( reply->url().toString().startsWith( url.toString() ) ) @@ -818,11 +822,8 @@ LastFmInfoPlugin::coverArtReturned() returnedData["imgbytes"] = ba; returnedData["url"] = reply->url().toString(); - Tomahawk::InfoSystem::InfoRequestData requestData = reply->property( "requestData" ).value< Tomahawk::InfoSystem::InfoRequestData >(); - emit info( requestData, returnedData ); - Tomahawk::InfoSystem::InfoStringHash origData = requestData.input.value< Tomahawk::InfoSystem::InfoStringHash>(); Tomahawk::InfoSystem::InfoStringHash criteria; criteria["artist"] = origData["artist"]; criteria["album"] = origData["album"]; From a60d4dc3642fa75339d2687a4631b9377a4b189b Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 11:59:59 +0100 Subject: [PATCH 278/332] * Use displayQuery()'s for cover fetching. --- src/libtomahawk/playlist/PlayableProxyModel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libtomahawk/playlist/PlayableProxyModel.cpp b/src/libtomahawk/playlist/PlayableProxyModel.cpp index 2fe157d36..e86665a63 100644 --- a/src/libtomahawk/playlist/PlayableProxyModel.cpp +++ b/src/libtomahawk/playlist/PlayableProxyModel.cpp @@ -611,7 +611,7 @@ PlayableProxyModel::updateDetailedInfo( const QModelIndex& index ) if ( style() == PlayableProxyModel::Short || style() == PlayableProxyModel::Large ) { - item->query()->cover( QSize( 0, 0 ) ); + item->query()->displayQuery()->cover( QSize( 0, 0 ) ); } if ( style() == PlayableProxyModel::Large ) From 8fc92ef345a2b0c1db7f56e65b1ff22556d22eeb Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 12:02:56 +0100 Subject: [PATCH 279/332] * PixmapDelegateFader must not create rounded images before cache verification, since it creates a new QPixmap. --- src/libtomahawk/utils/PixmapDelegateFader.cpp | 23 +++++++++---------- src/libtomahawk/utils/PixmapDelegateFader.h | 2 +- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/libtomahawk/utils/PixmapDelegateFader.cpp b/src/libtomahawk/utils/PixmapDelegateFader.cpp index be1c1979b..0461ceae6 100644 --- a/src/libtomahawk/utils/PixmapDelegateFader.cpp +++ b/src/libtomahawk/utils/PixmapDelegateFader.cpp @@ -19,14 +19,16 @@ */ #include "PixmapDelegateFader.h" -#include "TomahawkUtilsGui.h" -#include "Source.h" #include #include #include #include +#include "Source.h" +#include "TomahawkUtilsGui.h" +#include "Logger.h" + using namespace Tomahawk; QWeakPointer< TomahawkUtils::SharedTimeLine > PixmapDelegateFader::s_stlInstance = QWeakPointer< TomahawkUtils::SharedTimeLine >(); @@ -161,7 +163,7 @@ PixmapDelegateFader::albumChanged() if ( m_album.isNull() ) return; - QMetaObject::invokeMethod( this, "setPixmap", Qt::QueuedConnection, Q_ARG( QPixmap, TomahawkUtils::createRoundedImage( m_album->cover( m_size ), QSize( 0, 0 ), m_mode == TomahawkUtils::Grid ? 0.00 : 0.20 ) ) ); + QMetaObject::invokeMethod( this, "setPixmap", Qt::QueuedConnection, Q_ARG( QPixmap, m_album->cover( m_size ) ) ); } @@ -171,7 +173,7 @@ PixmapDelegateFader::artistChanged() if ( m_artist.isNull() ) return; - QMetaObject::invokeMethod( this, "setPixmap", Qt::QueuedConnection, Q_ARG( QPixmap, TomahawkUtils::createRoundedImage( m_artist->cover( m_size ), QSize( 0, 0 ), m_mode == TomahawkUtils::Grid ? 0.00 : 0.20 ) ) ); + QMetaObject::invokeMethod( this, "setPixmap", Qt::QueuedConnection, Q_ARG( QPixmap, m_artist->cover( m_size ) ) ); } @@ -181,8 +183,9 @@ PixmapDelegateFader::trackChanged() if ( m_track.isNull() ) return; - connect( m_track->displayQuery().data(), SIGNAL( coverChanged() ), SLOT( trackChanged() ) ); - QMetaObject::invokeMethod( this, "setPixmap", Qt::QueuedConnection, Q_ARG( QPixmap, TomahawkUtils::createRoundedImage( m_track->displayQuery()->cover( m_size ), QSize( 0, 0 ), m_mode == TomahawkUtils::Grid ? 0.00 : 0.20 ) ) ); + connect( m_track->displayQuery().data(), SIGNAL( updated() ), SLOT( trackChanged() ), Qt::UniqueConnection ); + connect( m_track->displayQuery().data(), SIGNAL( coverChanged() ), SLOT( trackChanged() ), Qt::UniqueConnection ); + QMetaObject::invokeMethod( this, "setPixmap", Qt::QueuedConnection, Q_ARG( QPixmap, m_track->displayQuery()->cover( m_size ) ) ); } @@ -193,14 +196,10 @@ PixmapDelegateFader::setPixmap( const QPixmap& pixmap ) return; m_defaultImage = false; - QCryptographicHash hash( QCryptographicHash::Md5 ); - const QImage img = pixmap.toImage(); - hash.addData( (const char*)img.constBits(), img.byteCount() ); - const QString newImageMd5 = hash.result(); + const qint64 newImageMd5 = pixmap.cacheKey(); if ( m_oldImageMd5 == newImageMd5 ) return; - m_oldImageMd5 = newImageMd5; if ( m_connectedToStl ) @@ -210,7 +209,7 @@ PixmapDelegateFader::setPixmap( const QPixmap& pixmap ) } m_oldReference = m_currentReference; - m_currentReference = pixmap; + m_currentReference = TomahawkUtils::createRoundedImage( pixmap, QSize( 0, 0 ), m_mode == TomahawkUtils::Grid ? 0.00 : 0.20 ); stlInstance().data()->setUpdateInterval( 20 ); m_startFrame = stlInstance().data()->currentFrame(); diff --git a/src/libtomahawk/utils/PixmapDelegateFader.h b/src/libtomahawk/utils/PixmapDelegateFader.h index f79c58774..04df7db1b 100644 --- a/src/libtomahawk/utils/PixmapDelegateFader.h +++ b/src/libtomahawk/utils/PixmapDelegateFader.h @@ -81,7 +81,7 @@ private: int m_startFrame; bool m_connectedToStl; float m_fadePct; - QString m_oldImageMd5; + qint64 m_oldImageMd5; bool m_defaultImage; QQueue m_pixmapQueue; From 9d6dde2c74b9862c4313825b601bac5b6b36ff4a Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 12:03:08 +0100 Subject: [PATCH 280/332] * Remove compiler warning. --- src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp index 627e53e27..ed3858dbb 100644 --- a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp @@ -81,6 +81,8 @@ PlaylistLargeItemDelegate::sizeHint( const QStyleOptionViewItem& option, const Q void PlaylistLargeItemDelegate::drawRichText( QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, int flags, QTextDocument& text ) const { + Q_UNUSED( option ); + text.setPageSize( QSize( rect.width(), QWIDGETSIZE_MAX ) ); QAbstractTextDocumentLayout* layout = text.documentLayout(); From 5c9b1cbfe83451e161c44c2efeef69862052ae9d Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 12:30:34 +0100 Subject: [PATCH 281/332] * Make sure we load artist image when loading an unknown album's cover failed. --- src/libtomahawk/utils/PixmapDelegateFader.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libtomahawk/utils/PixmapDelegateFader.cpp b/src/libtomahawk/utils/PixmapDelegateFader.cpp index 0461ceae6..9b0bd418d 100644 --- a/src/libtomahawk/utils/PixmapDelegateFader.cpp +++ b/src/libtomahawk/utils/PixmapDelegateFader.cpp @@ -87,6 +87,7 @@ PixmapDelegateFader::PixmapDelegateFader( const query_ptr& track, const QSize& s { connect( m_track.data(), SIGNAL( updated() ), SLOT( trackChanged() ) ); connect( m_track.data(), SIGNAL( resultsChanged() ), SLOT( trackChanged() ) ); + connect( m_track->displayQuery().data(), SIGNAL( updated() ), SLOT( trackChanged() ) ); connect( m_track->displayQuery().data(), SIGNAL( coverChanged() ), SLOT( trackChanged() ) ); m_currentReference = TomahawkUtils::createRoundedImage( m_track->displayQuery()->cover( size, forceLoad ), QSize( 0, 0 ), m_mode == TomahawkUtils::Grid ? 0.00 : 0.20 ); From 82a2f2a99cf5bb47c54fbca52c3baaf57c0a675d Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Sun, 23 Dec 2012 09:59:28 -0500 Subject: [PATCH 282/332] More changelogging --- ChangeLog | 1 + 1 file changed, 1 insertion(+) diff --git a/ChangeLog b/ChangeLog index e0b624313..6a95ee462 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,6 @@ Version 0.6.0: * Ability to sync Spotify Starred Tracks with Tomahawk Loved Tracks + * Increased maximum number of temporary pages open to 20 * Support dropping of new Soundcloud user, track, set and Likes URLs * Remove YouTube resolver from plug-in directory on request of YouTube * Fixed iTunes m3u playlist support From 408b104b8d6da16bc8fb08aca457e50aef0f136d Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 17:23:45 +0100 Subject: [PATCH 283/332] * Don't even try to paint invalid GridItems. --- src/libtomahawk/playlist/GridItemDelegate.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/libtomahawk/playlist/GridItemDelegate.cpp b/src/libtomahawk/playlist/GridItemDelegate.cpp index 6f45e5ac4..9271dac32 100644 --- a/src/libtomahawk/playlist/GridItemDelegate.cpp +++ b/src/libtomahawk/playlist/GridItemDelegate.cpp @@ -82,16 +82,13 @@ void GridItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const { PlayableItem* item = m_model->sourceModel()->itemFromIndex( m_model->mapToSource( index ) ); - if ( !item ) + if ( !item || !index.isValid() ) return; QStyleOptionViewItemV4 opt = option; initStyleOption( &opt, QModelIndex() ); qApp->style()->drawControl( QStyle::CE_ItemViewItem, &opt, painter ); - painter->save(); - painter->setRenderHint( QPainter::Antialiasing ); - QRect r = option.rect; QString top, bottom; if ( !item->album().isNull() ) @@ -105,11 +102,18 @@ GridItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, { top = item->artist()->name(); } - else + else if ( !item->query().isNull() ) { top = item->query()->track(); bottom = item->query()->artist(); } + else + { + return; + } + + painter->save(); + painter->setRenderHint( QPainter::Antialiasing ); if ( !m_covers.contains( index ) ) { From 4629372c97a77ddf8cb76b59fb7a235628ce9754 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 17:24:18 +0100 Subject: [PATCH 284/332] * GridView shouldn't delete the old model when setting a new one. --- src/libtomahawk/playlist/GridView.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/libtomahawk/playlist/GridView.cpp b/src/libtomahawk/playlist/GridView.cpp index eaf7e1cca..eff32c234 100644 --- a/src/libtomahawk/playlist/GridView.cpp +++ b/src/libtomahawk/playlist/GridView.cpp @@ -131,9 +131,6 @@ GridView::setModel( QAbstractItemModel* model ) void GridView::setPlayableModel( PlayableModel* model ) { - if ( m_model ) - delete m_model; - m_inited = false; m_model = model; From 203f38cf2d29944b0cc638446bacf889a23d2dcf Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 17:24:39 +0100 Subject: [PATCH 285/332] * Style fixes in WhatsHotWidget. --- src/libtomahawk/widgets/WhatsHotWidget.cpp | 6 ++---- src/libtomahawk/widgets/WhatsHotWidget.h | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/libtomahawk/widgets/WhatsHotWidget.cpp b/src/libtomahawk/widgets/WhatsHotWidget.cpp index 9e4347c85..31704a062 100644 --- a/src/libtomahawk/widgets/WhatsHotWidget.cpp +++ b/src/libtomahawk/widgets/WhatsHotWidget.cpp @@ -123,7 +123,7 @@ WhatsHotWidget::~WhatsHotWidget() { qDebug() << "Deleting whatshot"; // Write the settings - qDebug() << "Writing chartIds to settings: " << m_currentVIds; + qDebug() << "Writing chartIds to settings:" << m_currentVIds; TomahawkSettings::instance()->setLastChartIds( m_currentVIds ); qDeleteAll( m_workers ); m_workers.clear(); @@ -175,7 +175,6 @@ WhatsHotWidget::jumpToCurrentTrack() void WhatsHotWidget::fetchData() { - Tomahawk::InfoSystem::InfoStringHash criteria; Tomahawk::InfoSystem::InfoRequestData requestData; @@ -384,7 +383,6 @@ WhatsHotWidget::infoSystemFinished( QString target ) void WhatsHotWidget::leftCrumbIndexChanged( QModelIndex index ) { - tDebug( LOGVERBOSE ) << "WhatsHot: left crumb changed" << index.data(); QStandardItem* item = m_crumbModelLeft->itemFromIndex( m_sortedProxy->mapToSource( index ) ); if ( !item ) @@ -530,13 +528,13 @@ WhatsHotWidget::parseNode( QStandardItem* parentItem, const QString &label, cons return sourceItem; } + void WhatsHotWidget::setLeftViewAlbums( PlayableModel* model ) { ui->albumsView->setPlayableModel( model ); ui->albumsView->proxyModel()->sort( -1 ); // disable sorting, must be called after artistsViewLeft->setTreeModel ui->stackLeft->setCurrentIndex( 2 ); - } diff --git a/src/libtomahawk/widgets/WhatsHotWidget.h b/src/libtomahawk/widgets/WhatsHotWidget.h index 96ea99848..d42b34f10 100644 --- a/src/libtomahawk/widgets/WhatsHotWidget.h +++ b/src/libtomahawk/widgets/WhatsHotWidget.h @@ -97,8 +97,8 @@ private: void setLeftViewAlbums( PlayableModel* albumModel ); void setLeftViewTracks( PlaylistModel* trackModel ); - QStandardItem* parseNode( QStandardItem* parentItem, const QString &label, const QVariant &data ); + Ui::WhatsHotWidget *ui; Tomahawk::playlistinterface_ptr m_playlistInterface; From 3d210c05e58d74608ef664479ac32b903a2b06d7 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 18:52:11 +0100 Subject: [PATCH 286/332] * Fixed default row-height for PlaylistItemDelegate. --- src/libtomahawk/playlist/PlaylistItemDelegate.cpp | 8 +++----- src/libtomahawk/playlist/PlaylistItemDelegate.h | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/libtomahawk/playlist/PlaylistItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistItemDelegate.cpp index c2f9328ce..4da4f82d2 100644 --- a/src/libtomahawk/playlist/PlaylistItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistItemDelegate.cpp @@ -65,17 +65,15 @@ PlaylistItemDelegate::sizeHint( const QStyleOptionViewItem& option, const QModel { QSize size = QStyledItemDelegate::sizeHint( option, index ); - if ( index.isValid() ) { - int style = index.data( PlayableProxyModel::StyleRole ).toInt(); - if ( style == PlayableProxyModel::Short || style == PlayableProxyModel::ShortWithAvatars ) + if ( m_model->style() == PlayableProxyModel::Short || m_model->style() == PlayableProxyModel::ShortWithAvatars ) { int rowHeight = option.fontMetrics.height() + 8; size.setHeight( rowHeight * 2 ); } - else if ( style == PlayableProxyModel::Detailed ) + else if ( m_model->style() == PlayableProxyModel::Detailed ) { - int rowHeight = option.fontMetrics.height() * 1.4; + int rowHeight = option.fontMetrics.height() * 1.6; size.setHeight( rowHeight ); } } diff --git a/src/libtomahawk/playlist/PlaylistItemDelegate.h b/src/libtomahawk/playlist/PlaylistItemDelegate.h index 53aac9ed7..1e81765f9 100644 --- a/src/libtomahawk/playlist/PlaylistItemDelegate.h +++ b/src/libtomahawk/playlist/PlaylistItemDelegate.h @@ -34,7 +34,7 @@ class DLLEXPORT PlaylistItemDelegate : public QStyledItemDelegate Q_OBJECT public: - PlaylistItemDelegate( TrackView* parent = 0, PlayableProxyModel* proxy = 0 ); + PlaylistItemDelegate( TrackView* parent, PlayableProxyModel* proxy ); void updateRowSize( const QModelIndex& index ); From bc3824dfad5f4aa3f7b8bf68b168fa673f68fcad Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 18:52:56 +0100 Subject: [PATCH 287/332] * Fixed default row-height for TreeItemDelegate. --- src/libtomahawk/playlist/TreeItemDelegate.cpp | 29 +++++++++++++++++++ src/libtomahawk/playlist/TreeItemDelegate.h | 4 ++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/libtomahawk/playlist/TreeItemDelegate.cpp b/src/libtomahawk/playlist/TreeItemDelegate.cpp index 207feca47..de7776f76 100644 --- a/src/libtomahawk/playlist/TreeItemDelegate.cpp +++ b/src/libtomahawk/playlist/TreeItemDelegate.cpp @@ -45,6 +45,35 @@ TreeItemDelegate::TreeItemDelegate( TreeView* parent, TreeProxyModel* proxy ) } +QSize +TreeItemDelegate::sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const +{ + QSize size = QStyledItemDelegate::sizeHint( option, index ); + + if ( index.isValid() ) + { + PlayableItem* item = m_model->sourceModel()->itemFromIndex( m_model->mapToSource( index ) ); + if ( item ) + { + if ( item->album() ) + { + size.setHeight( option.fontMetrics.height() * 3 ); + return size; + } + else if ( item->query() || item->result() ) + { + size.setHeight( option.fontMetrics.height() * 1.6 ); + return size; + } + } + } + + // artist per default + size.setHeight( option.fontMetrics.height() * 4 ); + return size; +} + + void TreeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const { diff --git a/src/libtomahawk/playlist/TreeItemDelegate.h b/src/libtomahawk/playlist/TreeItemDelegate.h index 84dc69f45..7f80e50e7 100644 --- a/src/libtomahawk/playlist/TreeItemDelegate.h +++ b/src/libtomahawk/playlist/TreeItemDelegate.h @@ -36,7 +36,9 @@ class DLLEXPORT TreeItemDelegate : public QStyledItemDelegate Q_OBJECT public: - TreeItemDelegate( TreeView* parent = 0, TreeProxyModel* proxy = 0 ); + TreeItemDelegate( TreeView* parent, TreeProxyModel* proxy ); + + virtual QSize sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const; protected: void paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const; From c84a77c107eb449ccea8ea36a76edeb6f47b5347 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 18:53:10 +0100 Subject: [PATCH 288/332] * No more sizeHint-roles in PlayableModel. --- src/libtomahawk/playlist/PlayableModel.cpp | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/libtomahawk/playlist/PlayableModel.cpp b/src/libtomahawk/playlist/PlayableModel.cpp index c76be9731..a5ab9943d 100644 --- a/src/libtomahawk/playlist/PlayableModel.cpp +++ b/src/libtomahawk/playlist/PlayableModel.cpp @@ -144,9 +144,6 @@ PlayableModel::parent( const QModelIndex& child ) const QVariant PlayableModel::artistData( const artist_ptr& artist, int role ) const { - if ( role == Qt::SizeHintRole ) - return QSize( 0, 44 ); - if ( role != Qt::DisplayRole ) // && role != Qt::ToolTipRole ) return QVariant(); @@ -157,9 +154,6 @@ PlayableModel::artistData( const artist_ptr& artist, int role ) const QVariant PlayableModel::albumData( const album_ptr& album, int role ) const { - if ( role == Qt::SizeHintRole ) - return QSize( 0, 32 ); - if ( role != Qt::DisplayRole ) // && role != Qt::ToolTipRole ) return QVariant(); @@ -170,9 +164,6 @@ PlayableModel::albumData( const album_ptr& album, int role ) const QVariant PlayableModel::queryData( const query_ptr& query, int column, int role ) const { - if ( role == Qt::SizeHintRole ) - return QSize( 0, 18 ); - if ( role != Qt::DisplayRole ) // && role != Qt::ToolTipRole ) return QVariant(); From e5d5ebf0ece9e7b4e9e6095b958d2c51a4c842a6 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 20:26:46 +0100 Subject: [PATCH 289/332] * Properly calculate JobStatusItem's row height, taking current font settings into account. --- src/libtomahawk/jobview/JobStatusDelegate.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/libtomahawk/jobview/JobStatusDelegate.cpp b/src/libtomahawk/jobview/JobStatusDelegate.cpp index 90a02b55c..b2adf7502 100644 --- a/src/libtomahawk/jobview/JobStatusDelegate.cpp +++ b/src/libtomahawk/jobview/JobStatusDelegate.cpp @@ -19,13 +19,14 @@ #include "JobStatusDelegate.h" #include "JobStatusModel.h" +#include "utils/TomahawkUtilsGui.h" #include "utils/Logger.h" #include #include #include -#define ROW_HEIGHT 20 +#define ROW_HEIGHT ( TomahawkUtils::defaultFontHeight() + 6 ) #define ICON_PADDING 2 #define PADDING 2 @@ -80,7 +81,7 @@ JobStatusDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, rightEdge = rRect.left(); } - const int mainW = rightEdge - 4 * PADDING - iconRect.right(); + const int mainW = rightEdge - 6 * PADDING - iconRect.right(); QString mainText = index.data( Qt::DisplayRole ).toString(); QTextOption to( Qt::AlignLeft | Qt::AlignVCenter ); if ( !allowMultiLine ) @@ -98,9 +99,9 @@ JobStatusDelegate::sizeHint( const QStyleOptionViewItem& option, const QModelInd const bool allowMultiLine = index.data( JobStatusModel::AllowMultiLineRole ).toBool(); if ( !allowMultiLine ) - return QSize( QStyledItemDelegate::sizeHint ( option, index ).width(), ROW_HEIGHT ); + return QSize( QStyledItemDelegate::sizeHint( option, index ).width(), ROW_HEIGHT ); else if ( m_cachedMultiLineHeights.contains( index ) ) - return QSize( QStyledItemDelegate::sizeHint ( option, index ).width(), m_cachedMultiLineHeights[ index ] ); + return QSize( QStyledItemDelegate::sizeHint( option, index ).width(), m_cachedMultiLineHeights[ index ] ); // Don't elide, but stretch across as many rows as required QStyleOptionViewItemV4 opt = option; From c0e4b76c8c1b2b28bd35bb2747bf27217f976966 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 20:27:14 +0100 Subject: [PATCH 290/332] * Make JobStatusItem's default weight 1, so that invalid items with a weight of 0 can be differentiated. --- src/libtomahawk/jobview/JobStatusItem.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libtomahawk/jobview/JobStatusItem.h b/src/libtomahawk/jobview/JobStatusItem.h index dc85d8ae4..bd3041415 100644 --- a/src/libtomahawk/jobview/JobStatusItem.h +++ b/src/libtomahawk/jobview/JobStatusItem.h @@ -44,7 +44,7 @@ public: virtual ~JobStatusItem(); virtual QString type() const = 0; - virtual int weight() const { return 0; } + virtual int weight() const { return 1; } /// Please cache this. virtual QPixmap icon() const = 0; From 491060d5bcd823d2b7c5cfa12d63bdea40c23fbe Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 20:28:07 +0100 Subject: [PATCH 291/332] * Properly calculate ACLJobDelegate's sizeHint, taking current font settings into account. --- src/libtomahawk/jobview/AclJobItem.cpp | 27 ++++++++++------------ src/libtomahawk/jobview/JobStatusModel.cpp | 1 - 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/libtomahawk/jobview/AclJobItem.cpp b/src/libtomahawk/jobview/AclJobItem.cpp index e7ff72a60..6326251a4 100644 --- a/src/libtomahawk/jobview/AclJobItem.cpp +++ b/src/libtomahawk/jobview/AclJobItem.cpp @@ -19,20 +19,17 @@ #include "AclJobItem.h" -#include "JobStatusModel.h" -#include "utils/TomahawkUtils.h" -#include "utils/TomahawkUtilsGui.h" -#include "infosystem/InfoSystem.h" -#include "utils/Logger.h" - #include #include #include #include #include +#include "JobStatusModel.h" +#include "infosystem/InfoSystem.h" +#include "utils/TomahawkUtilsGui.h" +#include "utils/Logger.h" -#define ROW_HEIGHT 20 #define ICON_PADDING 1 #define PADDING 2 @@ -65,7 +62,6 @@ ACLJobDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, co QApplication::style()->drawPrimitive( QStyle::PE_PanelItemViewItem, &opt, painter, opt.widget ); painter->setRenderHint( QPainter::Antialiasing ); - painter->fillRect( opt.rect, Qt::lightGray ); QString mainText = QString( tr( "Allow %1 to\nconnect and stream from you?" ) ).arg( item->username() ); @@ -85,11 +81,11 @@ ACLJobDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, co int minPixels = 20; QString allowBtnText = tr( "Allow Streaming" ); - int allowBtnWidth = fm.width( allowBtnText ) + 2*PADDING; - allowBtnRect = QRect( opt.rect.left() + thirds - allowBtnWidth/2, opt.rect.bottom() - fm.height() - 4*PADDING, allowBtnWidth + 2*PADDING, fm.height() + 2*PADDING ); + int allowBtnWidth = fm.width( allowBtnText ) + 2 * PADDING; + allowBtnRect = QRect( opt.rect.left() + thirds - allowBtnWidth / 2, opt.rect.bottom() - fm.height() - 4 * PADDING, allowBtnWidth + 2 * PADDING, fm.height() + 2 * PADDING ); QString denyBtnText = tr( "Deny Access" ); - int denyBtnWidth = fm.width( denyBtnText ) + 2*PADDING; - denyBtnRect = QRect( opt.rect.right() - thirds - denyBtnWidth/2, opt.rect.bottom() - fm.height() - 4*PADDING, denyBtnWidth + 2*PADDING, fm.height() + 2*PADDING ); + int denyBtnWidth = fm.width( denyBtnText ) + 2 * PADDING; + denyBtnRect = QRect( opt.rect.right() - thirds - denyBtnWidth / 2, opt.rect.bottom() - fm.height() - 4 * PADDING, denyBtnWidth + 2 * PADDING, fm.height() + 2 * PADDING ); if ( allowBtnRect.right() >= denyBtnRect.left() ) { @@ -105,10 +101,11 @@ ACLJobDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, co m_savedDenyRect = denyBtnRect; } + QSize ACLJobDelegate::sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const { - QSize size( QStyledItemDelegate::sizeHint ( option, index ).width(), ROW_HEIGHT * 3 ); + QSize size( QStyledItemDelegate::sizeHint( option, index ).width(), ( TomahawkUtils::defaultFontHeight() + 6 ) * 3.5 ); return size; } @@ -117,9 +114,9 @@ void ACLJobDelegate::drawRoundedButton( QPainter* painter, const QRect& btnRect, bool red ) const { if ( !red ) - TomahawkUtils::drawRoundedButton( painter, btnRect, QColor(54, 127, 211), QColor(43, 104, 182), QColor(34, 85, 159), QColor(35, 79, 147) ); + TomahawkUtils::drawRoundedButton( painter, btnRect, QColor( 54, 127, 211 ), QColor( 43, 104, 182 ), QColor( 34, 85, 159 ), QColor( 35, 79, 147 ) ); else - TomahawkUtils::drawRoundedButton( painter, btnRect, QColor(206, 63, 63), QColor(170, 52, 52), QColor(150, 50, 50), QColor(130, 40, 40) ); + TomahawkUtils::drawRoundedButton( painter, btnRect, QColor( 206, 63, 63 ), QColor( 170, 52, 52 ), QColor( 150, 50, 50 ), QColor( 130, 40, 40 ) ); } diff --git a/src/libtomahawk/jobview/JobStatusModel.cpp b/src/libtomahawk/jobview/JobStatusModel.cpp index 8a364e926..73793aab7 100644 --- a/src/libtomahawk/jobview/JobStatusModel.cpp +++ b/src/libtomahawk/jobview/JobStatusModel.cpp @@ -88,7 +88,6 @@ JobStatusSortModel::lessThan( const QModelIndex& left, const QModelIndex& right if ( leftSort == rightSort ) return left.data( JobStatusModel::AgeRole ).toUInt() > right.data( JobStatusModel::AgeRole ).toUInt(); - return leftSort < rightSort; } From 130a8e7917012e9a87a753adcb3513e780e2fe96 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 20:50:13 +0100 Subject: [PATCH 292/332] * Use a textual score representation instead of the bar. --- src/libtomahawk/playlist/PlayableModel.cpp | 19 +++++++++++++++++-- .../playlist/PlaylistItemDelegate.cpp | 12 ++++++------ 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/src/libtomahawk/playlist/PlayableModel.cpp b/src/libtomahawk/playlist/PlayableModel.cpp index a5ab9943d..b77530bea 100644 --- a/src/libtomahawk/playlist/PlayableModel.cpp +++ b/src/libtomahawk/playlist/PlayableModel.cpp @@ -47,7 +47,7 @@ PlayableModel::PlayableModel( QObject* parent, bool loading ) connect( AudioEngine::instance(), SIGNAL( stopped() ), SLOT( onPlaybackStopped() ), Qt::DirectConnection ); m_header << tr( "Artist" ) << tr( "Title" ) << tr( "Composer" ) << tr( "Album" ) << tr( "Track" ) << tr( "Duration" ) - << tr( "Bitrate" ) << tr( "Age" ) << tr( "Year" ) << tr( "Size" ) << tr( "Origin" ) << tr( "Score" ) << tr( "Name" ); + << tr( "Bitrate" ) << tr( "Age" ) << tr( "Year" ) << tr( "Size" ) << tr( "Origin" ) << tr( "Accuracy" ) << tr( "Name" ); } @@ -235,8 +235,22 @@ PlayableModel::queryData( const query_ptr& query, int column, int role ) const break; case Score: - return query->results().first()->score(); + { + float score = query->results().first()->score(); + if ( score == 1.0 ) + return tr( "Perfect match" ); + if ( score > 0.9 ) + return tr( "Very good match" ); + if ( score > 0.7 ) + return tr( "Good match" ); + if ( score > 0.5 ) + return tr( "Vague match" ); + if ( score > 0.3 ) + return tr( "Bad match" ); + + return tr( "Not available" ); break; + } default: break; @@ -679,6 +693,7 @@ PlayableModel::columnAlignment( int column ) const case Bitrate: case Duration: case Filesize: + case Score: case Year: return Qt::AlignHCenter; break; diff --git a/src/libtomahawk/playlist/PlaylistItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistItemDelegate.cpp index 4da4f82d2..5cf892400 100644 --- a/src/libtomahawk/playlist/PlaylistItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistItemDelegate.cpp @@ -240,11 +240,11 @@ PlaylistItemDelegate::paintDetailed( QPainter* painter, const QStyleOptionViewIt painter->save(); - if ( index.column() == PlayableModel::Score ) +/* if ( index.column() == PlayableModel::Score ) { QColor barColor( 167, 183, 211 ); // This matches the sidebar (sourcetreeview.cpp:672) - if ( opt.state & QStyle::State_Selected ) - painter->setPen( opt.palette.brightText().color() ); + if ( opt.state & QStyle::State_Selected && !item->isPlaying() ) + painter->setPen( Qt::white ); else painter->setPen( barColor ); @@ -255,14 +255,14 @@ PlaylistItemDelegate::paintDetailed( QPainter* painter, const QStyleOptionViewIt int fillerWidth = (int)( index.data().toFloat() * (float)fillR.width() ); fillR.adjust( 0, 0, -( fillR.width() - fillerWidth ), 0 ); - if ( opt.state & QStyle::State_Selected ) - painter->setBrush( opt.palette.brightText().color() ); + if ( opt.state & QStyle::State_Selected && !item->isPlaying() ) + painter->setBrush( TomahawkUtils::Colors::NOW_PLAYING_ITEM.lighter() ); else painter->setBrush( barColor ); painter->drawRect( fillR ); } - else if ( item->isPlaying() ) + else */ if ( item->isPlaying() ) { QRect r = opt.rect.adjusted( 3, 0, 0, 0 ); From c2388829bc00cc6a0e50332273f78315bd4606cd Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 21:08:30 +0100 Subject: [PATCH 293/332] * Forgot very bad match. --- src/libtomahawk/playlist/PlayableModel.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libtomahawk/playlist/PlayableModel.cpp b/src/libtomahawk/playlist/PlayableModel.cpp index b77530bea..65e82ce24 100644 --- a/src/libtomahawk/playlist/PlayableModel.cpp +++ b/src/libtomahawk/playlist/PlayableModel.cpp @@ -247,6 +247,8 @@ PlayableModel::queryData( const query_ptr& query, int column, int role ) const return tr( "Vague match" ); if ( score > 0.3 ) return tr( "Bad match" ); + if ( score > 0.0 ) + return tr( "Very bad match" ); return tr( "Not available" ); break; From f923716628148a6e69f55e45fcb2003bd16fbdd1 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 21:10:47 +0100 Subject: [PATCH 294/332] * Huh, our up- & download images have been reversed. --- src/libtomahawk/jobview/TransferStatusItem.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/jobview/TransferStatusItem.cpp b/src/libtomahawk/jobview/TransferStatusItem.cpp index 168cb26c9..ea6fa319d 100644 --- a/src/libtomahawk/jobview/TransferStatusItem.cpp +++ b/src/libtomahawk/jobview/TransferStatusItem.cpp @@ -85,9 +85,9 @@ TransferStatusItem::icon() const return QPixmap(); if ( m_stream.data()->type() == StreamConnection::SENDING ) - return m_parent->rxPixmap(); - else return m_parent->txPixmap(); + else + return m_parent->rxPixmap(); } From 99ba2ccc00450ed6d63736d111d50aae79fdbbec Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 23 Dec 2012 21:15:42 +0100 Subject: [PATCH 295/332] * Disable cli help for --http & --filescan (for now). --- src/TomahawkApp.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/TomahawkApp.cpp b/src/TomahawkApp.cpp index dc770846c..7ab3ef212 100644 --- a/src/TomahawkApp.cpp +++ b/src/TomahawkApp.cpp @@ -388,8 +388,8 @@ TomahawkApp::printHelp() echo( "Usage: " + arguments().at( 0 ) + " [options] [url]" ); echo( "Options are:" ); echo( " --help Show this help" ); - echo( " --http Initialize HTTP server" ); - echo( " --filescan Scan files on startup" ); +// echo( " --http Initialize HTTP server" ); +// echo( " --filescan Scan files on startup" ); // echo( " --headless Run without a GUI" ); echo( " --hide Hide main window on startup" ); echo( " --testdb Use a test database instead of real collection" ); From 2bb2728a1070296a0ad1e7fae6f298d584e81ea0 Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Mon, 24 Dec 2012 01:16:41 +0100 Subject: [PATCH 296/332] Automatic merge of Transifex translations --- lang/tomahawk_ar.ts | 103 ++++++++++++++++++++++++++------------- lang/tomahawk_bg.ts | 103 ++++++++++++++++++++++++++------------- lang/tomahawk_bn_IN.ts | 101 +++++++++++++++++++++++++------------- lang/tomahawk_ca.ts | 103 ++++++++++++++++++++++++++------------- lang/tomahawk_de.ts | 107 +++++++++++++++++++++++++++-------------- lang/tomahawk_el.ts | 101 +++++++++++++++++++++++++------------- lang/tomahawk_en.ts | 103 ++++++++++++++++++++++++++------------- lang/tomahawk_es.ts | 103 ++++++++++++++++++++++++++------------- lang/tomahawk_fi.ts | 103 ++++++++++++++++++++++++++------------- lang/tomahawk_fr.ts | 103 ++++++++++++++++++++++++++------------- lang/tomahawk_gl.ts | 103 ++++++++++++++++++++++++++------------- lang/tomahawk_hi_IN.ts | 101 +++++++++++++++++++++++++------------- lang/tomahawk_hu.ts | 101 +++++++++++++++++++++++++------------- lang/tomahawk_it.ts | 103 ++++++++++++++++++++++++++------------- lang/tomahawk_ja.ts | 103 ++++++++++++++++++++++++++------------- lang/tomahawk_lt.ts | 107 +++++++++++++++++++++++++++-------------- lang/tomahawk_pl.ts | 103 ++++++++++++++++++++++++++------------- lang/tomahawk_pt_BR.ts | 103 ++++++++++++++++++++++++++------------- lang/tomahawk_ru.ts | 103 ++++++++++++++++++++++++++------------- lang/tomahawk_sv.ts | 101 +++++++++++++++++++++++++------------- lang/tomahawk_tr.ts | 101 +++++++++++++++++++++++++------------- lang/tomahawk_zh_CN.ts | 103 ++++++++++++++++++++++++++------------- lang/tomahawk_zh_TW.ts | 101 +++++++++++++++++++++++++------------- 23 files changed, 1584 insertions(+), 779 deletions(-) diff --git a/lang/tomahawk_ar.ts b/lang/tomahawk_ar.ts index e4747977a..906fc6483 100644 --- a/lang/tomahawk_ar.ts +++ b/lang/tomahawk_ar.ts @@ -2,19 +2,19 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? هل تريد السماح ل%1 بالربط و التحميل منك؟ - + Allow Streaming السماح بالتحميل - + Deny Access رفض الوصول @@ -22,7 +22,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. توماهوك يريد منك ان تقرر ان كنت تريد السماح ل%1 بالربط بك. @@ -1016,12 +1016,47 @@ connect and stream from you? - Score - علامة + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available + - + Name إسم @@ -1029,12 +1064,12 @@ connect and stream from you? PlaylistItemDelegate - + played %1 by you سمعت %1 - + played %1 by %2 %2 سمع %1 @@ -1042,31 +1077,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1075,23 +1110,23 @@ connect and stream from you? PlaylistModel - + A playlist you created %1. - - + + A playlist by %1, created %2. - + All tracks by %1 on album %2 جميع أغاني %1 في البوم %2 - + All tracks by %1 جميع أغاني %1 @@ -1315,17 +1350,17 @@ connect and stream from you? QueueView - + Open Queue إفتح قائمة الإنتظار - + Open Queue - %n item(s) إفتح قائمة الإنتظار - %n بندإفتح قائمة الإنتظار - بند %nإفتح قائمة الإنتظار - بندين %nإفتح قائمة الإنتظار - %n بنودإفتح قائمة الإنتظار - %n بنودإفتح قائمة الإنتظار - %n بنود - + Close Queue أغلق قائمة الإنتظار @@ -1624,44 +1659,44 @@ connect and stream from you? SourceDelegate - + Track اغنية - + Album البوم - + Artist فنان - + Local محلية - + Top 10 توب ١٠ - + All available tracks جميع الأغاني المتاحة - - + + Show أظهر - - + + Hide إخفي @@ -3647,7 +3682,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. عذراً، ترشيحك "%1" لم يطابق أي نتائج. @@ -3670,7 +3705,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown مجهول diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index f9ee7d9a2..1ccdce387 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -2,18 +2,18 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? Може ли %1 да се свърже и да слуша музика от теб? - + Allow Streaming Позволи разпространение - + Deny Access Откажи достъп @@ -21,7 +21,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. Трябва да решиш, дали %1 може да се свърже с теб @@ -1019,12 +1019,47 @@ Tomahaw създаде доклад относно това и изпращай - Score - Резултат + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available + - + Name Име @@ -1032,12 +1067,12 @@ Tomahaw създаде доклад относно това и изпращай PlaylistItemDelegate - + played %1 by you изпълнена %1 от мен - + played %1 by %2 изпълнена %1 от %2 @@ -1045,31 +1080,31 @@ Tomahaw създаде доклад относно това и изпращай PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you Изпълнена %1 от теб - + played %1 by %2 e.g. played 3 hours ago by SomeSource Изпълнена %1 от %2 - + added %1 e.g. added 3 hours ago Добавена %1 - + by <b>%1</b> e.g. by SomeArtist от <b>%1</b> - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum от <b>%1</b> на <b>%2</b> @@ -1078,23 +1113,23 @@ Tomahaw създаде доклад относно това и изпращай PlaylistModel - + A playlist you created %1. Списък, създаден от %1 - - + + A playlist by %1, created %2. Списък с изпълнения на %1, създаден от %2 - + All tracks by %1 on album %2 Всички песни от %1, от албум %2 - + All tracks by %1 Всички песни от %1 @@ -1320,17 +1355,17 @@ Tomahaw създаде доклад относно това и изпращай QueueView - + Open Queue Отвори опашката - + Open Queue - %n item(s) Отвори опашка - %n елементОтвори опашка - %n елемента - + Close Queue Затвори опашката @@ -1631,44 +1666,44 @@ Tomahaw създаде доклад относно това и изпращай SourceDelegate - + Track Песен - + Album Албум - + Artist Артист - + Local Локално - + Top 10 Първите 10 - + All available tracks Всички налични изпълнения - - + + Show Покажи - - + + Hide Скрий @@ -3662,7 +3697,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. Съжалявам, твоят филтър %1 не върна никакъв резултат. @@ -3685,7 +3720,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown Неизвестно diff --git a/lang/tomahawk_bn_IN.ts b/lang/tomahawk_bn_IN.ts index a911729d8..f26befa9c 100644 --- a/lang/tomahawk_bn_IN.ts +++ b/lang/tomahawk_bn_IN.ts @@ -2,18 +2,18 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? - + Allow Streaming - + Deny Access @@ -21,7 +21,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. @@ -1015,12 +1015,47 @@ connect and stream from you? - Score + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available - + Name @@ -1028,12 +1063,12 @@ connect and stream from you? PlaylistItemDelegate - + played %1 by you - + played %1 by %2 @@ -1041,31 +1076,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1074,23 +1109,23 @@ connect and stream from you? PlaylistModel - + A playlist you created %1. - - + + A playlist by %1, created %2. - + All tracks by %1 on album %2 - + All tracks by %1 @@ -1312,17 +1347,17 @@ connect and stream from you? QueueView - + Open Queue - + Open Queue - %n item(s) - + Close Queue @@ -1621,44 +1656,44 @@ connect and stream from you? SourceDelegate - + Track - + Album - + Artist - + Local - + Top 10 - + All available tracks - - + + Show - - + + Hide @@ -3636,7 +3671,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. @@ -3659,7 +3694,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown diff --git a/lang/tomahawk_ca.ts b/lang/tomahawk_ca.ts index 280d219da..67bf3e5ac 100644 --- a/lang/tomahawk_ca.ts +++ b/lang/tomahawk_ca.ts @@ -2,18 +2,18 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? - + Allow Streaming - + Deny Access @@ -21,7 +21,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. @@ -1015,12 +1015,47 @@ connect and stream from you? - Score - Puntuació + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available + - + Name Nom @@ -1028,12 +1063,12 @@ connect and stream from you? PlaylistItemDelegate - + played %1 by you reproduït %1 - + played %1 by %2 reproduït %1 per %2 @@ -1041,31 +1076,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1074,23 +1109,23 @@ connect and stream from you? PlaylistModel - + A playlist you created %1. - - + + A playlist by %1, created %2. - + All tracks by %1 on album %2 Totes les cançons de %1 a l'àlbum %2 - + All tracks by %1 Totes les cançons de %1 @@ -1313,17 +1348,17 @@ connect and stream from you? QueueView - + Open Queue Obre la cua - + Open Queue - %n item(s) Obre la cua - %n elementObre la cua - %n elements - + Close Queue Tanca la cua @@ -1622,44 +1657,44 @@ connect and stream from you? SourceDelegate - + Track Cançó - + Album Àlbum - + Artist Artista - + Local Local - + Top 10 Top 10 - + All available tracks Totes les cançons disponibles - - + + Show Mostra - - + + Hide Amaga @@ -3645,7 +3680,7 @@ introduïu el PIN aquí: TrackView - + Sorry, your filter '%1' did not match any results. El filtre '%1' no ha obtingut cap resultat. @@ -3668,7 +3703,7 @@ introduïu el PIN aquí: TreeItemDelegate - + Unknown Desconegut diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index acced110d..b3e496a66 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -2,19 +2,19 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? Willst du %1 erlauben sich mit dir zu verbinden? - + Allow Streaming Zugriff erlauben - + Deny Access Zugriff verweigern @@ -22,7 +22,7 @@ erlauben sich mit dir zu verbinden? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. Tomahawk will wissen, ob du dich mit %1 verbinden möchtest. @@ -1016,12 +1016,47 @@ erlauben sich mit dir zu verbinden? - Score - Wertung + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available + - + Name Name @@ -1029,12 +1064,12 @@ erlauben sich mit dir zu verbinden? PlaylistItemDelegate - + played %1 by you angehört %1 von dir - + played %1 by %2 angehört %1 von %2 @@ -1042,31 +1077,31 @@ erlauben sich mit dir zu verbinden? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you angehört %1 von dir - + played %1 by %2 e.g. played 3 hours ago by SomeSource angehört %1 von %2 - + added %1 e.g. added 3 hours ago hinzugefügt %1 - + by <b>%1</b> e.g. by SomeArtist von <b>%1</b> - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum von <b>%1</b> auf <b>%2</b> @@ -1075,23 +1110,23 @@ erlauben sich mit dir zu verbinden? PlaylistModel - + A playlist you created %1. Eine Playlist die du %1 erstellt hast. - - + + A playlist by %1, created %2. Eine Playlist von %1, erstellt %2. - + All tracks by %1 on album %2 Alle Lieder von %1 auf dem Album %2 - + All tracks by %1 Alle Lieder von %1 @@ -1314,17 +1349,17 @@ erlauben sich mit dir zu verbinden? QueueView - + Open Queue Warteschlange öffnen - + Open Queue - %n item(s) Warteschlange öffnen - Ein LiedWarteschlange öffnen - %n Lieder - + Close Queue Warteschlange schliessen @@ -1623,44 +1658,44 @@ erlauben sich mit dir zu verbinden? SourceDelegate - + Track Lied - + Album Album - + Artist Künstler - + Local Lokal - + Top 10 Top 10 - + All available tracks Alle verfügbaren Stücke - - + + Show Einblenden - - + + Hide Verstecken @@ -1929,7 +1964,7 @@ erlauben sich mit dir zu verbinden? Sync Starred tracks to Loved tracks - + Starred Tracks mit Lieblingsliedern synchronisieren @@ -3138,7 +3173,7 @@ Versuch die Filter anzupassen für neue Lieder. Track '%1' by %2 is not streamable. - + Lied '%1' von %2 ist nicht abspielbar. @@ -3644,7 +3679,7 @@ Tomahawk auf Twitter's Website authentifiziert hast: TrackView - + Sorry, your filter '%1' did not match any results. Entschuldige, dein Filter '%1' erzeugte keine Ergebnisse. @@ -3667,7 +3702,7 @@ Tomahawk auf Twitter's Website authentifiziert hast: TreeItemDelegate - + Unknown Unbekannt diff --git a/lang/tomahawk_el.ts b/lang/tomahawk_el.ts index 05f4c7e0b..10e5fae82 100644 --- a/lang/tomahawk_el.ts +++ b/lang/tomahawk_el.ts @@ -2,18 +2,18 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? - + Allow Streaming - + Deny Access @@ -21,7 +21,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. @@ -1015,12 +1015,47 @@ connect and stream from you? - Score + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available - + Name Όνομα @@ -1028,12 +1063,12 @@ connect and stream from you? PlaylistItemDelegate - + played %1 by you παίχθηκε %1 από εσάς - + played %1 by %2 παίχθηκε %1 από τον/την %2 @@ -1041,31 +1076,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1074,23 +1109,23 @@ connect and stream from you? PlaylistModel - + A playlist you created %1. - - + + A playlist by %1, created %2. - + All tracks by %1 on album %2 Όλα τα κομμάτια από τον/την %1 στο άλμπουμ %2 - + All tracks by %1 Όλα τα κομμάτια από τον/την %1 @@ -1313,17 +1348,17 @@ connect and stream from you? QueueView - + Open Queue Άνοιγμα Σειράς - + Open Queue - %n item(s) Άνοιγμα Σειράς - %n αντικείμενοΆνοιγμα Σειράς - %n αντικείμενα - + Close Queue Κλείσιμο Σειράς @@ -1622,44 +1657,44 @@ connect and stream from you? SourceDelegate - + Track Κομμάτι - + Album Άλμπουμ - + Artist Καλλιτέχνης - + Local Τοπικό - + Top 10 Κορυφαία 10 - + All available tracks Όλα τα διαθέσιμα τραγούδια - - + + Show Προβολή - - + + Hide Απόκρυψη @@ -3644,7 +3679,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. Συγγνώμη, το φίλτρο «%1» δεν αντιστοίχισε αποτελέσματα. @@ -3667,7 +3702,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown Άγνωστο diff --git a/lang/tomahawk_en.ts b/lang/tomahawk_en.ts index d72575043..040e90821 100644 --- a/lang/tomahawk_en.ts +++ b/lang/tomahawk_en.ts @@ -2,19 +2,19 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? Allow %1 to connect and stream from you? - + Allow Streaming Allow Streaming - + Deny Access Deny Access @@ -22,7 +22,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. Tomahawk needs you to decide whether %1 is allowed to connect. @@ -1016,12 +1016,47 @@ connect and stream from you? - Score - Score + Accuracy + Accuracy + + + + Perfect match + Perfect match + + + + Very good match + Very good match + + + + Good match + Good match + + + + Vague match + Vague match + + + + Bad match + Bad match + + + + Very bad match + Very bad match + + + + Not available + Not available - + Name Name @@ -1029,12 +1064,12 @@ connect and stream from you? PlaylistItemDelegate - + played %1 by you played %1 by you - + played %1 by %2 played %1 by %2 @@ -1042,31 +1077,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you played %1 by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource played %1 by %2 - + added %1 e.g. added 3 hours ago added %1 - + by <b>%1</b> e.g. by SomeArtist by <b>%1</b> - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum by <b>%1</b> on <b>%2</b> @@ -1075,23 +1110,23 @@ connect and stream from you? PlaylistModel - + A playlist you created %1. A playlist you created %1. - - + + A playlist by %1, created %2. A playlist by %1, created %2. - + All tracks by %1 on album %2 All tracks by %1 on album %2 - + All tracks by %1 All tracks by %1 @@ -1314,17 +1349,17 @@ connect and stream from you? QueueView - + Open Queue Open Queue - + Open Queue - %n item(s) Open Queue - %n itemOpen Queue - %n items - + Close Queue Close Queue @@ -1626,44 +1661,44 @@ connect and stream from you? SourceDelegate - + Track Track - + Album Album - + Artist Artist - + Local Local - + Top 10 Top 10 - + All available tracks All available tracks - - + + Show Show - - + + Hide Hide @@ -3649,7 +3684,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. Sorry, your filter '%1' did not match any results. @@ -3672,7 +3707,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown Unknown diff --git a/lang/tomahawk_es.ts b/lang/tomahawk_es.ts index 277fe0106..90c1d0bce 100644 --- a/lang/tomahawk_es.ts +++ b/lang/tomahawk_es.ts @@ -2,19 +2,19 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? ¿Permite a %1 conectarse a usted y transmitir música? - + Allow Streaming Autorizar streaming - + Deny Access Denegar acceso @@ -22,7 +22,7 @@ conectarse a usted y transmitir música? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. Tomahawk necesita que decida si %1 está autorizado a conectarse @@ -1016,12 +1016,47 @@ conectarse a usted y transmitir música? - Score - Puntuación + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available + - + Name Título @@ -1029,12 +1064,12 @@ conectarse a usted y transmitir música? PlaylistItemDelegate - + played %1 by you %1 reproducido por usted - + played %1 by %2 %1 reproducido por %2 @@ -1042,31 +1077,31 @@ conectarse a usted y transmitir música? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1075,23 +1110,23 @@ conectarse a usted y transmitir música? PlaylistModel - + A playlist you created %1. Lista de reproducción creada %1. - - + + A playlist by %1, created %2. Lista de reproducción de %1, creada %2. - + All tracks by %1 on album %2 Todas las pistas de %1 en el álbum %2 - + All tracks by %1 Todas las pistas de %1 @@ -1314,17 +1349,17 @@ conectarse a usted y transmitir música? QueueView - + Open Queue Abrir cola - + Open Queue - %n item(s) Abrir cola - %n pistaAbrir cola - %n pistas - + Close Queue Cerrar cola @@ -1626,44 +1661,44 @@ y estaciones basadas en sus gustos personales. SourceDelegate - + Track Pista - + Album Álbum - + Artist Artista - + Local Local - + Top 10 Top 10 - + All available tracks Todas las pistas disponibles - - + + Show Mostrar - - + + Hide Ocultar @@ -3649,7 +3684,7 @@ introduzca su número PIN aquí: TrackView - + Sorry, your filter '%1' did not match any results. Lo siento, tu filtro '%1' no ha encontrado resultados. @@ -3672,7 +3707,7 @@ introduzca su número PIN aquí: TreeItemDelegate - + Unknown Desconocido diff --git a/lang/tomahawk_fi.ts b/lang/tomahawk_fi.ts index 882e7947d..b5333be3f 100644 --- a/lang/tomahawk_fi.ts +++ b/lang/tomahawk_fi.ts @@ -2,19 +2,19 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? Sallitaanko käyttäjän %1 yhdistää ja toistaa sinulta virtaa? - + Allow Streaming Salli virran toisto - + Deny Access Kiellä pääsy @@ -22,7 +22,7 @@ yhdistää ja toistaa sinulta virtaa? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. Tomahawk tarvitsee sinua päättämään, sallitaanko käyttäjän %1 yhdistää. @@ -1016,12 +1016,47 @@ yhdistää ja toistaa sinulta virtaa? - Score - Pisteet + Accuracy + Tarkkuus + + + + Perfect match + Täysosuma + + + + Very good match + Erittäin hyvä osuma + + + + Good match + Hyvä osuma + + + + Vague match + Epämääräinen osuma + + + + Bad match + Kehno osuma + + + + Very bad match + Erittäin kehno osuma + + + + Not available + Ei saatavilla - + Name Nimi @@ -1029,12 +1064,12 @@ yhdistää ja toistaa sinulta virtaa? PlaylistItemDelegate - + played %1 by you kuuntelit %1 - + played %1 by %2 %2 kuunteli %1 @@ -1042,31 +1077,31 @@ yhdistää ja toistaa sinulta virtaa? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you kuuntelit %1 - + played %1 by %2 e.g. played 3 hours ago by SomeSource %2 kuunteli %1 - + added %1 e.g. added 3 hours ago lisätty %1 - + by <b>%1</b> e.g. by SomeArtist artistilta <b>%1</b> - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum artistilta <b>%1</b> albumilla <b>%2</b> @@ -1075,23 +1110,23 @@ yhdistää ja toistaa sinulta virtaa? PlaylistModel - + A playlist you created %1. Soittolista, jonka loit %1. - - + + A playlist by %1, created %2. Soittolista, jonka %1 loi %2. - + All tracks by %1 on album %2 Kaikki artistin %1 kappaleet albumilla %2 - + All tracks by %1 Kaikki artistin %1 kappaleet @@ -1314,17 +1349,17 @@ yhdistää ja toistaa sinulta virtaa? QueueView - + Open Queue Avaa jono - + Open Queue - %n item(s) Avaa jono – %n kohdeAvaa jono – %n kohdetta - + Close Queue Sulje jono @@ -1628,44 +1663,44 @@ käyttäjäradion käyttöönottamiseksi SourceDelegate - + Track Kappale - + Album Albumi - + Artist Artisti - + Local Paikallinen - + Top 10 Kymmenen kärki - + All available tracks Kaikki saatavilla olevat kappaleet - - + + Show Näytä - - + + Hide Piilota @@ -3652,7 +3687,7 @@ anna siellä näytetty PIN-koodi tähän: TrackView - + Sorry, your filter '%1' did not match any results. Valitettavasti suodattimesi ”%1” ei tuottanut yhtään tuloksia. @@ -3675,7 +3710,7 @@ anna siellä näytetty PIN-koodi tähän: TreeItemDelegate - + Unknown Tuntematon diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index 005b7427a..c60aef685 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -2,19 +2,19 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? Permettre a %1 de se connecter et streamer de vous? - + Allow Streaming Permettre Streaming - + Deny Access Refuser l'accès @@ -22,7 +22,7 @@ de se connecter et streamer de vous? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. Tomahawk a besoin de vous pour décider si %1 est autorisé à se connecter. @@ -1016,12 +1016,47 @@ de se connecter et streamer de vous? - Score - Score + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available + - + Name Nom @@ -1029,12 +1064,12 @@ de se connecter et streamer de vous? PlaylistItemDelegate - + played %1 by you joué %1 par vous - + played %1 by %2 joué %1 par %2 @@ -1042,31 +1077,31 @@ de se connecter et streamer de vous? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1075,23 +1110,23 @@ de se connecter et streamer de vous? PlaylistModel - + A playlist you created %1. Une liste de lecture crée %1 - - + + A playlist by %1, created %2. Une liste de lecture par %1, crée %2 - + All tracks by %1 on album %2 Tous les titres de %1 sur l'album %2 - + All tracks by %1 Tous les titres de %1 @@ -1314,17 +1349,17 @@ de se connecter et streamer de vous? QueueView - + Open Queue Ouvrir la file d'attente - + Open Queue - %n item(s) Ouvrir la file d'attente - %n élémentOuvrir la file d'attente - %n éléments - + Close Queue Fermer la file d'attente @@ -1623,44 +1658,44 @@ de se connecter et streamer de vous? SourceDelegate - + Track Piste - + Album Album - + Artist Artiste - + Local Local - + Top 10 Top 10 - + All available tracks Tous les titres disponibles - - + + Show Afficher - - + + Hide Masquer @@ -3646,7 +3681,7 @@ saisissez le numéro PIN ici : TrackView - + Sorry, your filter '%1' did not match any results. Désolé, votre filtre '%1' ne correspond à aucun résultat. @@ -3669,7 +3704,7 @@ saisissez le numéro PIN ici : TreeItemDelegate - + Unknown Inconnu diff --git a/lang/tomahawk_gl.ts b/lang/tomahawk_gl.ts index 7234cb226..c18c01d6d 100644 --- a/lang/tomahawk_gl.ts +++ b/lang/tomahawk_gl.ts @@ -2,18 +2,18 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? Quere permitirlle a %1 que se conecte en stream contigo? - + Allow Streaming Permitir o streaming - + Deny Access Negar o acceso @@ -21,7 +21,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. Tomahawk precisa que decidas se %1 pode conectarse. @@ -1015,12 +1015,47 @@ connect and stream from you? - Score - Puntuación + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available + - + Name Nome @@ -1028,12 +1063,12 @@ connect and stream from you? PlaylistItemDelegate - + played %1 by you escoitou %1 por coñecela por ti - + played %1 by %2 escoitou %1 por coñecela por %2 @@ -1041,31 +1076,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1074,23 +1109,23 @@ connect and stream from you? PlaylistModel - + A playlist you created %1. Unha lista de reprodución que ti creaches %1. - - + + A playlist by %1, created %2. Unha lista reprodución de %1, creada por %2. - + All tracks by %1 on album %2 Tódalas pistas de %1 no álbum %2 - + All tracks by %1 Tódalas pistas de %1 @@ -1313,17 +1348,17 @@ connect and stream from you? QueueView - + Open Queue Abrir a ringleira - + Open Queue - %n item(s) Abrir a ringleira - %n elemento(s) - + Close Queue Pechar a ringleira @@ -1622,44 +1657,44 @@ connect and stream from you? SourceDelegate - + Track Pista - + Album Álbum - + Artist Artista - + Local Local - + Top 10 Os 10 primeiros - + All available tracks Tódolas pistas dispoñíbeis - - + + Show Mostrar - - + + Hide Agochar @@ -3647,7 +3682,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. O filtro «%1» non dá ningún resultado. @@ -3670,7 +3705,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown Descoñecido diff --git a/lang/tomahawk_hi_IN.ts b/lang/tomahawk_hi_IN.ts index acb5f7203..796b8ccb2 100644 --- a/lang/tomahawk_hi_IN.ts +++ b/lang/tomahawk_hi_IN.ts @@ -2,18 +2,18 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? - + Allow Streaming - + Deny Access @@ -21,7 +21,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. @@ -1015,12 +1015,47 @@ connect and stream from you? - Score + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available - + Name @@ -1028,12 +1063,12 @@ connect and stream from you? PlaylistItemDelegate - + played %1 by you - + played %1 by %2 @@ -1041,31 +1076,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1074,23 +1109,23 @@ connect and stream from you? PlaylistModel - + A playlist you created %1. - - + + A playlist by %1, created %2. - + All tracks by %1 on album %2 - + All tracks by %1 @@ -1312,17 +1347,17 @@ connect and stream from you? QueueView - + Open Queue - + Open Queue - %n item(s) - + Close Queue @@ -1621,44 +1656,44 @@ connect and stream from you? SourceDelegate - + Track - + Album - + Artist - + Local - + Top 10 - + All available tracks - - + + Show - - + + Hide @@ -3636,7 +3671,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. @@ -3659,7 +3694,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown diff --git a/lang/tomahawk_hu.ts b/lang/tomahawk_hu.ts index 59803e255..e2893ef0e 100644 --- a/lang/tomahawk_hu.ts +++ b/lang/tomahawk_hu.ts @@ -2,18 +2,18 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? - + Allow Streaming - + Deny Access @@ -21,7 +21,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. @@ -1015,12 +1015,47 @@ connect and stream from you? - Score + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available - + Name Név @@ -1028,12 +1063,12 @@ connect and stream from you? PlaylistItemDelegate - + played %1 by you - + played %1 by %2 @@ -1041,31 +1076,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1074,23 +1109,23 @@ connect and stream from you? PlaylistModel - + A playlist you created %1. - - + + A playlist by %1, created %2. - + All tracks by %1 on album %2 - + All tracks by %1 @@ -1312,17 +1347,17 @@ connect and stream from you? QueueView - + Open Queue - + Open Queue - %n item(s) - + Close Queue @@ -1621,44 +1656,44 @@ connect and stream from you? SourceDelegate - + Track Zeneszám - + Album Album - + Artist Előadó - + Local Helyi - + Top 10 Top 10 - + All available tracks Összes elérhető zeneszám - - + + Show Mutatás - - + + Hide Elrejtés @@ -3636,7 +3671,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. @@ -3659,7 +3694,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown diff --git a/lang/tomahawk_it.ts b/lang/tomahawk_it.ts index 9abcfed19..0bd41b80d 100644 --- a/lang/tomahawk_it.ts +++ b/lang/tomahawk_it.ts @@ -2,18 +2,18 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? - + Allow Streaming - + Deny Access @@ -21,7 +21,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. @@ -1015,12 +1015,47 @@ connect and stream from you? - Score - Punteggio + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available + - + Name Nome @@ -1028,12 +1063,12 @@ connect and stream from you? PlaylistItemDelegate - + played %1 by you ascoltata %1 da te - + played %1 by %2 ascoltata %1 da %2 @@ -1041,31 +1076,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1074,23 +1109,23 @@ connect and stream from you? PlaylistModel - + A playlist you created %1. - - + + A playlist by %1, created %2. - + All tracks by %1 on album %2 Tutte le tracce di %1 sull'album %2 - + All tracks by %1 Tutte le tracce di %1 @@ -1312,17 +1347,17 @@ connect and stream from you? QueueView - + Open Queue Espandi coda - + Open Queue - %n item(s) Espandi coda - un elementoEspandi coda - %n elementi - + Close Queue Collassa coda @@ -1621,44 +1656,44 @@ connect and stream from you? SourceDelegate - + Track Traccia - + Album Album - + Artist Artista - + Local Locale - + Top 10 Top 10 - + All available tracks Tutte le tracce disponibili - - + + Show Mostra - - + + Hide Nascondi @@ -3636,7 +3671,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. Spiacente, il tuo filtro %1 non ha trovato nessun risultato. @@ -3659,7 +3694,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown Sconosciuto diff --git a/lang/tomahawk_ja.ts b/lang/tomahawk_ja.ts index b6ebcb559..2875317fc 100644 --- a/lang/tomahawk_ja.ts +++ b/lang/tomahawk_ja.ts @@ -2,18 +2,18 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? %1からの接続、又はストリーミングを許可しますか? - + Allow Streaming ストリーミングを許可 - + Deny Access アクセスを拒否 @@ -21,7 +21,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. %1からの接続を許可することが必要です。 @@ -1016,12 +1016,47 @@ connect and stream from you? - Score - スコア + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available + - + Name 名前 @@ -1029,12 +1064,12 @@ connect and stream from you? PlaylistItemDelegate - + played %1 by you %1を再生しました。 - + played %1 by %2 %2が%1を再生しました。 @@ -1042,31 +1077,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you %1を再生しました。 - + played %1 by %2 e.g. played 3 hours ago by SomeSource %2が%1を再生しました。 - + added %1 e.g. added 3 hours ago %1を追加しました - + by <b>%1</b> e.g. by SomeArtist <b>%1</b> - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum <b>%1</b>の<b>%2</b> @@ -1075,23 +1110,23 @@ connect and stream from you? PlaylistModel - + A playlist you created %1. %1に作ったプレイリスト。 - - + + A playlist by %1, created %2. %2に、%1に作られたプレイリスト。 - + All tracks by %1 on album %2 %1のアルバム%2のトラック - + All tracks by %1 %1のトラック @@ -1314,17 +1349,17 @@ connect and stream from you? QueueView - + Open Queue キューを表示 - + Open Queue - %n item(s) キューを表示 - %n項目 - + Close Queue キューを隠す @@ -1626,44 +1661,44 @@ connect and stream from you? SourceDelegate - + Track トラック - + Album アルバム - + Artist アーティスト - + Local ローカル - + Top 10 トップ10 - + All available tracks 利用可能トラック - - + + Show 表示 - - + + Hide 隠す @@ -3650,7 +3685,7 @@ Meta+Ctrl+Z TrackView - + Sorry, your filter '%1' did not match any results. %1に一致する結果は見つかりませんでした。 @@ -3673,7 +3708,7 @@ Meta+Ctrl+Z TreeItemDelegate - + Unknown 不明 diff --git a/lang/tomahawk_lt.ts b/lang/tomahawk_lt.ts index 84ebf4133..79e4be9f1 100644 --- a/lang/tomahawk_lt.ts +++ b/lang/tomahawk_lt.ts @@ -2,18 +2,18 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? - + Allow Streaming Leisti transliavimą - + Deny Access Drausti priėjimą @@ -21,7 +21,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. @@ -1015,12 +1015,47 @@ connect and stream from you? - Score - Įvertis + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available + - + Name Vardas @@ -1028,12 +1063,12 @@ connect and stream from you? PlaylistItemDelegate - + played %1 by you - + played %1 by %2 @@ -1041,31 +1076,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1074,23 +1109,23 @@ connect and stream from you? PlaylistModel - + A playlist you created %1. - - + + A playlist by %1, created %2. - + All tracks by %1 on album %2 Visi %1 takeliai iš albumo %2 - + All tracks by %1 Visi %1 takeliai @@ -1285,7 +1320,7 @@ connect and stream from you? Status Updaters - + Būsenos atnaujintojai @@ -1312,17 +1347,17 @@ connect and stream from you? QueueView - + Open Queue Atverti eilę - + Open Queue - %n item(s) Atverti eilę - %n elementasAtverti eilę - %n elementaiAtverti eilę - %n elementų - + Close Queue Užverti eilę @@ -1621,44 +1656,44 @@ connect and stream from you? SourceDelegate - + Track Takelis - + Album Albumas - + Artist Atlikėjas - + Local - + Top 10 Top 10 - + All available tracks Visi prieinami takeliai - - + + Show Rodyti - - + + Hide Slėpti @@ -2047,7 +2082,7 @@ connect and stream from you? username@gmail.com - + vartotojas@gmail.com @@ -3636,7 +3671,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. @@ -3659,7 +3694,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown diff --git a/lang/tomahawk_pl.ts b/lang/tomahawk_pl.ts index d2de16bb8..85f80b250 100644 --- a/lang/tomahawk_pl.ts +++ b/lang/tomahawk_pl.ts @@ -2,19 +2,19 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? Pozwolić %1 połączyć się i strumieniować od ciebie? - + Allow Streaming Zezwól na strumieniowanie - + Deny Access Zablokuj dostęp @@ -22,7 +22,7 @@ połączyć się i strumieniować od ciebie? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. Musisz zdecydować, czy Tomahawk ma pozwolić %1 na połączenie. @@ -1016,12 +1016,47 @@ połączyć się i strumieniować od ciebie? - Score - Ocena + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available + - + Name @@ -1029,12 +1064,12 @@ połączyć się i strumieniować od ciebie? PlaylistItemDelegate - + played %1 by you odtworzone %1 przez ciebie - + played %1 by %2 odtworzone %1 przez %2 @@ -1042,31 +1077,31 @@ połączyć się i strumieniować od ciebie? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1075,23 +1110,23 @@ połączyć się i strumieniować od ciebie? PlaylistModel - + A playlist you created %1. - - + + A playlist by %1, created %2. - + All tracks by %1 on album %2 Wszystkie piosenki %1 z albumu %2 - + All tracks by %1 Wszystkie piosenki %1 @@ -1314,17 +1349,17 @@ połączyć się i strumieniować od ciebie? QueueView - + Open Queue - + Open Queue - %n item(s) - + Close Queue @@ -1623,44 +1658,44 @@ połączyć się i strumieniować od ciebie? SourceDelegate - + Track Utwór - + Album Album - + Artist Artysta - + Local Lokalny - + Top 10 Top 10 - + All available tracks Wszystkie dostępne utwory - - + + Show Pokaż - - + + Hide Ukryj @@ -3646,7 +3681,7 @@ wprowadź pokazany numer PIN tutaj: TrackView - + Sorry, your filter '%1' did not match any results. Przepraszamy, twój filtr '%1' nie dopasował żadnych wyników. @@ -3669,7 +3704,7 @@ wprowadź pokazany numer PIN tutaj: TreeItemDelegate - + Unknown Nieznany diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts index d56cb8de0..74aa397b1 100644 --- a/lang/tomahawk_pt_BR.ts +++ b/lang/tomahawk_pt_BR.ts @@ -2,19 +2,19 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? Permitir que %1 ⏎ se conecte e faça o stream de você? - + Allow Streaming Permitir Streaming - + Deny Access Negar Acesso @@ -22,7 +22,7 @@ se conecte e faça o stream de você? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. Tomahawk precisa que você decida se %1 tem permissão para conectar. @@ -1016,12 +1016,47 @@ se conecte e faça o stream de você? - Score - Pontuação + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available + - + Name Nome @@ -1029,12 +1064,12 @@ se conecte e faça o stream de você? PlaylistItemDelegate - + played %1 by you tocou %1 por você - + played %1 by %2 tocou %1 por %2 @@ -1042,31 +1077,31 @@ se conecte e faça o stream de você? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist por <b>%1</b> - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum por <b>%1</b> em <b>%2</b> @@ -1075,23 +1110,23 @@ se conecte e faça o stream de você? PlaylistModel - + A playlist you created %1. Uma lista de reprodução que você criou %1. - - + + A playlist by %1, created %2. Uma lista de reprodução de %1, criada %2. {1,?} - + All tracks by %1 on album %2 Todas as faixas de %1 no álbum %2 - + All tracks by %1 Todas as faixas de %1 @@ -1314,17 +1349,17 @@ se conecte e faça o stream de você? QueueView - + Open Queue Abrir Lista - + Open Queue - %n item(s) Abrir Fila - %n itemAbrir Fila - %n itens - + Close Queue Fechar Lista @@ -1623,44 +1658,44 @@ se conecte e faça o stream de você? SourceDelegate - + Track Faixa - + Album Álbum - + Artist Artista - + Local Local - + Top 10 10 Mais - + All available tracks Todas as faixas disponíveis - - + + Show Mostrar - - + + Hide Ocultar @@ -3646,7 +3681,7 @@ colocar o número PIN mostrado aqui: TrackView - + Sorry, your filter '%1' did not match any results. Desculpe, o seu filtro '%1' não encontreou nenhum resultado. @@ -3669,7 +3704,7 @@ colocar o número PIN mostrado aqui: TreeItemDelegate - + Unknown Desconhecido diff --git a/lang/tomahawk_ru.ts b/lang/tomahawk_ru.ts index cf3e18571..f5eb235a1 100644 --- a/lang/tomahawk_ru.ts +++ b/lang/tomahawk_ru.ts @@ -2,19 +2,19 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? Разрешить %1 ⏎ подключиться и слушать ваш поток? - + Allow Streaming Разрешить Поток - + Deny Access Запретить доступ @@ -22,7 +22,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. @@ -1016,12 +1016,47 @@ connect and stream from you? - Score - Количество воспроизведений + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available + - + Name Имя @@ -1029,12 +1064,12 @@ connect and stream from you? PlaylistItemDelegate - + played %1 by you Проиграно %1 мной - + played %1 by %2 Песня %1 проиграна %2 @@ -1042,31 +1077,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1075,23 +1110,23 @@ connect and stream from you? PlaylistModel - + A playlist you created %1. - - + + A playlist by %1, created %2. - + All tracks by %1 on album %2 Все песни %1 альбома %2 - + All tracks by %1 Все песни %1 @@ -1314,17 +1349,17 @@ connect and stream from you? QueueView - + Open Queue Показать Очередь - + Open Queue - %n item(s) - + Close Queue Спрятать Очередь @@ -1623,44 +1658,44 @@ connect and stream from you? SourceDelegate - + Track Трек - + Album Альбом - + Artist Исполнитель - + Local Локальная - + Top 10 Топ 10 - + All available tracks Доступные песни - - + + Show Показать - - + + Hide Спрятать @@ -3643,7 +3678,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. Ваш поиск '%1' недал результатов. @@ -3666,7 +3701,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown Неизвестный diff --git a/lang/tomahawk_sv.ts b/lang/tomahawk_sv.ts index 90d9d004f..ccdf4c5c4 100644 --- a/lang/tomahawk_sv.ts +++ b/lang/tomahawk_sv.ts @@ -2,18 +2,18 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? - + Allow Streaming - + Deny Access @@ -21,7 +21,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. @@ -1015,12 +1015,47 @@ connect and stream from you? - Score + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available - + Name @@ -1028,12 +1063,12 @@ connect and stream from you? PlaylistItemDelegate - + played %1 by you %1 spelades av dig - + played %1 by %2 %1 spelades av %2 @@ -1041,31 +1076,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1074,23 +1109,23 @@ connect and stream from you? PlaylistModel - + A playlist you created %1. - - + + A playlist by %1, created %2. - + All tracks by %1 on album %2 Alla spår av %1 från albumet %2 - + All tracks by %1 Alla spår av %1 @@ -1313,17 +1348,17 @@ connect and stream from you? QueueView - + Open Queue - + Open Queue - %n item(s) - + Close Queue @@ -1622,44 +1657,44 @@ connect and stream from you? SourceDelegate - + Track Spår - + Album Album - + Artist Artist - + Local Lokalt - + Top 10 Topp 10 - + All available tracks Alla tillgängliga spår - - + + Show Visa - - + + Hide Göm @@ -3642,7 +3677,7 @@ anger du PIN-koden här: TrackView - + Sorry, your filter '%1' did not match any results. Entschuldige, dein Filter '%1' erzeugte keine Ergebnisse. @@ -3665,7 +3700,7 @@ anger du PIN-koden här: TreeItemDelegate - + Unknown Okänt diff --git a/lang/tomahawk_tr.ts b/lang/tomahawk_tr.ts index c58ec1699..0326fe20f 100644 --- a/lang/tomahawk_tr.ts +++ b/lang/tomahawk_tr.ts @@ -2,18 +2,18 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? - + Allow Streaming - + Deny Access @@ -21,7 +21,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. @@ -1015,12 +1015,47 @@ connect and stream from you? - Score + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available - + Name @@ -1028,12 +1063,12 @@ connect and stream from you? PlaylistItemDelegate - + played %1 by you - + played %1 by %2 @@ -1041,31 +1076,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1074,23 +1109,23 @@ connect and stream from you? PlaylistModel - + A playlist you created %1. - - + + A playlist by %1, created %2. - + All tracks by %1 on album %2 - + All tracks by %1 @@ -1312,17 +1347,17 @@ connect and stream from you? QueueView - + Open Queue - + Open Queue - %n item(s) - + Close Queue @@ -1621,44 +1656,44 @@ connect and stream from you? SourceDelegate - + Track - + Album - + Artist - + Local - + Top 10 - + All available tracks - - + + Show - - + + Hide @@ -3636,7 +3671,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. @@ -3659,7 +3694,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown diff --git a/lang/tomahawk_zh_CN.ts b/lang/tomahawk_zh_CN.ts index f8c25d33b..10dc4c1cf 100644 --- a/lang/tomahawk_zh_CN.ts +++ b/lang/tomahawk_zh_CN.ts @@ -2,18 +2,18 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? 允许 %1 连接并为您播放吗? - + Allow Streaming 允许播放 - + Deny Access 拒绝访问 @@ -21,7 +21,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. Tomahawk 需要你决定是否允许 %1 连接。 @@ -1015,12 +1015,47 @@ connect and stream from you? - Score - 评分 + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available + - + Name 名字 @@ -1028,12 +1063,12 @@ connect and stream from you? PlaylistItemDelegate - + played %1 by you %1 - + played %1 by %2 已播放 %2 的 %1 @@ -1041,31 +1076,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1074,23 +1109,23 @@ connect and stream from you? PlaylistModel - + A playlist you created %1. 你于 %1 创建了此播放列表 - - + + A playlist by %1, created %2. %2 于 %1 创建了此播放列表 - + All tracks by %1 on album %2 %1 的专辑 %2 上的所有歌曲 - + All tracks by %1 %1 的所有歌曲 @@ -1313,17 +1348,17 @@ connect and stream from you? QueueView - + Open Queue 打开队列 - + Open Queue - %n item(s) 打开队列 - %n 项 - + Close Queue 隐藏队列 @@ -1624,44 +1659,44 @@ connect and stream from you? SourceDelegate - + Track 歌曲 - + Album 专辑 - + Artist 艺术家 - + Local 本地 - + Top 10 Top 10 - + All available tracks 所有可用的歌曲 - - + + Show 显示 - - + + Hide 隐藏 @@ -3647,7 +3682,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. 抱歉,未找到任何匹配 '%1' 的结果。 @@ -3670,7 +3705,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown 未知 diff --git a/lang/tomahawk_zh_TW.ts b/lang/tomahawk_zh_TW.ts index 22bd0e6c9..b2facadb1 100644 --- a/lang/tomahawk_zh_TW.ts +++ b/lang/tomahawk_zh_TW.ts @@ -2,18 +2,18 @@ ACLJobDelegate - + Allow %1 to connect and stream from you? - + Allow Streaming - + Deny Access @@ -21,7 +21,7 @@ connect and stream from you? ACLJobItem - + Tomahawk needs you to decide whether %1 is allowed to connect. @@ -1015,12 +1015,47 @@ connect and stream from you? - Score + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available - + Name @@ -1028,12 +1063,12 @@ connect and stream from you? PlaylistItemDelegate - + played %1 by you - + played %1 by %2 @@ -1041,31 +1076,31 @@ connect and stream from you? PlaylistLargeItemDelegate - + played %1 by you e.g. played 3 hours ago by you - + played %1 by %2 e.g. played 3 hours ago by SomeSource - + added %1 e.g. added 3 hours ago - + by <b>%1</b> e.g. by SomeArtist - + by <b>%1</b> on <b>%2</b> e.g. by SomeArtist on SomeAlbum @@ -1074,23 +1109,23 @@ connect and stream from you? PlaylistModel - + A playlist you created %1. - - + + A playlist by %1, created %2. - + All tracks by %1 on album %2 - + All tracks by %1 @@ -1312,17 +1347,17 @@ connect and stream from you? QueueView - + Open Queue - + Open Queue - %n item(s) - + Close Queue @@ -1621,44 +1656,44 @@ connect and stream from you? SourceDelegate - + Track 曲目 - + Album 專輯 - + Artist 演出者 - + Local 本地 - + Top 10 前10名 - + All available tracks - - + + Show 顯示 - - + + Hide 隱藏 @@ -3636,7 +3671,7 @@ enter the displayed PIN number here: TrackView - + Sorry, your filter '%1' did not match any results. @@ -3659,7 +3694,7 @@ enter the displayed PIN number here: TreeItemDelegate - + Unknown From fa1fa93b09c3136a011ce3750b3b91d8b7cd5716 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 24 Dec 2012 12:38:53 +0100 Subject: [PATCH 297/332] * Patch from Felix Paul Kuehne: Clean up mac includes to speed up compiling. --- src/libtomahawk/thirdparty/Qocoa/qbutton_mac.mm | 4 +--- src/libtomahawk/thirdparty/Qocoa/qocoa_mac.h | 2 +- .../thirdparty/Qocoa/qsearchfield_mac.mm | 4 +--- .../thirdparty/Qocoa/qtoolbartabdialog_mac.mm | 3 +-- src/libtomahawk/utils/TomahawkUtils_Mac.mm | 3 +-- .../widgets/SourceTreePopupDialog_mac.mm | 4 +--- src/mac/MacDelegate.h | 2 +- src/mac/TomahawkApp_Mac.mm | 13 +------------ 8 files changed, 8 insertions(+), 27 deletions(-) diff --git a/src/libtomahawk/thirdparty/Qocoa/qbutton_mac.mm b/src/libtomahawk/thirdparty/Qocoa/qbutton_mac.mm index 9dfdf9672..e2b0aa360 100644 --- a/src/libtomahawk/thirdparty/Qocoa/qbutton_mac.mm +++ b/src/libtomahawk/thirdparty/Qocoa/qbutton_mac.mm @@ -24,9 +24,7 @@ THE SOFTWARE. #include "qocoa_mac.h" -#import "Foundation/NSAutoreleasePool.h" -#import "AppKit/NSButton.h" -#import "AppKit/NSFont.h" +#import class QButtonPrivate : public QObject { diff --git a/src/libtomahawk/thirdparty/Qocoa/qocoa_mac.h b/src/libtomahawk/thirdparty/Qocoa/qocoa_mac.h index 053f57a06..50c75c395 100644 --- a/src/libtomahawk/thirdparty/Qocoa/qocoa_mac.h +++ b/src/libtomahawk/thirdparty/Qocoa/qocoa_mac.h @@ -23,7 +23,7 @@ THE SOFTWARE. #ifndef QCOCOA_MAC_H #define QCOCOA_MAC_H -#include +#import #include #include #include diff --git a/src/libtomahawk/thirdparty/Qocoa/qsearchfield_mac.mm b/src/libtomahawk/thirdparty/Qocoa/qsearchfield_mac.mm index 40b109849..54fafd83c 100644 --- a/src/libtomahawk/thirdparty/Qocoa/qsearchfield_mac.mm +++ b/src/libtomahawk/thirdparty/Qocoa/qsearchfield_mac.mm @@ -26,9 +26,7 @@ THE SOFTWARE. #include "qocoa_mac.h" -#import "Foundation/NSAutoreleasePool.h" -#import "Foundation/NSNotification.h" -#import "AppKit/NSSearchField.h" +#import #include #include diff --git a/src/libtomahawk/thirdparty/Qocoa/qtoolbartabdialog_mac.mm b/src/libtomahawk/thirdparty/Qocoa/qtoolbartabdialog_mac.mm index 7c5fbced2..316e87f9d 100644 --- a/src/libtomahawk/thirdparty/Qocoa/qtoolbartabdialog_mac.mm +++ b/src/libtomahawk/thirdparty/Qocoa/qtoolbartabdialog_mac.mm @@ -24,8 +24,7 @@ #include "qocoa_mac.h" -#import -#import +#import #include #include diff --git a/src/libtomahawk/utils/TomahawkUtils_Mac.mm b/src/libtomahawk/utils/TomahawkUtils_Mac.mm index 28b03e0e3..04007b63c 100644 --- a/src/libtomahawk/utils/TomahawkUtils_Mac.mm +++ b/src/libtomahawk/utils/TomahawkUtils_Mac.mm @@ -18,8 +18,7 @@ #include "mac/FileHelpers.h" -#import -#import +#import #include "TomahawkUtils.h" #include "TomahawkUtils_Mac.h" diff --git a/src/libtomahawk/widgets/SourceTreePopupDialog_mac.mm b/src/libtomahawk/widgets/SourceTreePopupDialog_mac.mm index 8ae495eaf..4babab457 100644 --- a/src/libtomahawk/widgets/SourceTreePopupDialog_mac.mm +++ b/src/libtomahawk/widgets/SourceTreePopupDialog_mac.mm @@ -20,9 +20,7 @@ #include -#import -#import -#import +#import void SourceTreePopupHelper::clearBackground( QWidget* widget ) diff --git a/src/mac/MacDelegate.h b/src/mac/MacDelegate.h index bf0ad9a6d..c9c0e0e3a 100644 --- a/src/mac/MacDelegate.h +++ b/src/mac/MacDelegate.h @@ -3,7 +3,7 @@ // This file inspired by clementine's MacDelegate.h -#import +#import #include "SPMediaKeyTap.h" diff --git a/src/mac/TomahawkApp_Mac.mm b/src/mac/TomahawkApp_Mac.mm index c9ab976a6..ef4e81e07 100644 --- a/src/mac/TomahawkApp_Mac.mm +++ b/src/mac/TomahawkApp_Mac.mm @@ -24,18 +24,7 @@ #include "TomahawkWindow.h" #include "audio/AudioEngine.h" -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import +#import #ifdef HAVE_SPARKLE #import From cf36ca82ac0e71894a2d743660f42c38a1683faa Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 24 Dec 2012 12:39:56 +0100 Subject: [PATCH 298/332] * Patch from Felix Paul Kuehne: Support previous & next keyboard shortcuts used by third-party keyboard vendors. --- src/mac/MacShortcutHandler.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mac/MacShortcutHandler.cpp b/src/mac/MacShortcutHandler.cpp index 41daf80e3..df470ba94 100644 --- a/src/mac/MacShortcutHandler.cpp +++ b/src/mac/MacShortcutHandler.cpp @@ -39,10 +39,12 @@ MacShortcutHandler::macMediaKeyPressed( int key ) emit playPause(); break; case NX_KEYTYPE_FAST: + case NX_KEYTYPE_NEXT: qDebug() << "emitting next pressed"; emit next(); break; case NX_KEYTYPE_REWIND: + case NX_KEYTYPE_PREVIOUS: qDebug() << "emitting prev pressed"; emit previous(); break; From 3e577cc8eec2194f7676e102086c75383230dc06 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Mon, 24 Dec 2012 21:28:06 +0100 Subject: [PATCH 299/332] Fix the header gradient rect issue for headers other than BasicHeader. --- src/libtomahawk/infobar/InfoBar.cpp | 2 +- src/libtomahawk/widgets/HeaderWidget.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/infobar/InfoBar.cpp b/src/libtomahawk/infobar/InfoBar.cpp index c0a2b0bd3..646a6e735 100644 --- a/src/libtomahawk/infobar/InfoBar.cpp +++ b/src/libtomahawk/infobar/InfoBar.cpp @@ -297,7 +297,7 @@ InfoBar::paintEvent( QPaintEvent* event ) gradient.setColorAt( 1.0, QColor( "#25292c" ) ); painter.setBrush( gradient ); - painter.fillRect( event->rect(), gradient ); + painter.fillRect( rect(), gradient ); } diff --git a/src/libtomahawk/widgets/HeaderWidget.cpp b/src/libtomahawk/widgets/HeaderWidget.cpp index c35b86013..b40fdb68c 100644 --- a/src/libtomahawk/widgets/HeaderWidget.cpp +++ b/src/libtomahawk/widgets/HeaderWidget.cpp @@ -40,7 +40,7 @@ void HeaderWidget::paintEvent( QPaintEvent* e ) { QStylePainter p( this ); - QRect r = e->rect(); + QRect r = rect(); StyleHelper::horizontalHeader( &p, r ); } From a5868d834d011a86a461cbc1a0c9dbb04ce7ee37 Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Tue, 25 Dec 2012 01:16:57 +0100 Subject: [PATCH 300/332] Automatic merge of Transifex translations --- lang/tomahawk_bg.ts | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index 1ccdce387..fe4777ae3 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -453,9 +453,11 @@ connect and stream from you? <html><head/><body><p><span style=" font-weight:600;">Sorry!</span> Tomahawk crashed. Please tell us about it! Tomahawk has created an error report for you that can help improve the stability in the future. You can now send this report directly to the Tomahawk developers.</p></body></html> - <html><head/><body><p><span style=" font-weight:600;">Извинявай!</span> Tomahawk заби. + <html><head/><body><p><span style=" font-weight:600;"> +Извинявай!</span> +Tomahawk заби. Моля уведоми ни за този слуай! -Tomahaw създаде доклад относно това и изпращайки го, ще помогнеш за по-добрата работа на приложението за в бъдеще. +Tomahawk създаде доклад относно това и изпращайки го, ще помогнеш за по-добрата работа на приложението за в бъдеще. Изпрати директно до разработчиците на Tomahawk</p></body></html> @@ -1020,42 +1022,42 @@ Tomahaw създаде доклад относно това и изпращай Accuracy - + Съвпадение Perfect match - + Абсолютно Very good match - + Много добро Good match - + Добро Vague match - + Горе-долу Bad match - + Лошо Very bad match - + Много лошо Not available - + Няма съвпадение @@ -4250,7 +4252,10 @@ Lyrics for "%1" by %2: I'm sorry -- I'm just an automatic presence used by Tomahawk Player (http://gettomahawk.com). If you are getting this message, the person you are trying to reach is probably not signed on, so please try again later! - Извинявай.. Аз съм режимът за автоматични отговори изпълзван от Tomahawk. ( http://gettomahawk.com ) Щом получаваш това съобщение, този с който се опитваш да се свържеш вероятно не е на линия. Моля, опитай отново по-късно. + Извинявай.. + Аз съм режимът за автоматични отговори изпълзван от Tomahawk. +(http://gettomahawk.com) +Щом получаваш това съобщение, този с когото се опитваш да се свържеш вероятно не е на линия, така че опитай отново по-късно. From 39928f0fb67833cab7e68d124392ec4b474bac09 Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Fri, 28 Dec 2012 01:17:04 +0100 Subject: [PATCH 301/332] Automatic merge of Transifex translations --- lang/tomahawk_de.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index b3e496a66..83f99d5aa 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -1017,42 +1017,42 @@ erlauben sich mit dir zu verbinden? Accuracy - + Treffsicherheit Perfect match - + Perfekt Very good match - + Sehr gut Good match - + Gut Vague match - + Vage Bad match - + Schlecht Very bad match - + Sehr schlecht Not available - + Nicht verfügbar From c4c0916827088faec775677aa7764f1612288ea7 Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Mon, 31 Dec 2012 01:17:03 +0100 Subject: [PATCH 302/332] Automatic merge of Transifex translations --- lang/tomahawk_ru.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lang/tomahawk_ru.ts b/lang/tomahawk_ru.ts index f5eb235a1..df130f4c1 100644 --- a/lang/tomahawk_ru.ts +++ b/lang/tomahawk_ru.ts @@ -87,7 +87,8 @@ connect and stream from you? Invite - + Пригласить + @@ -95,7 +96,7 @@ connect and stream from you? Configure Accounts - + Настройки аккаунта @@ -200,7 +201,7 @@ connect and stream from you? Zoom - + Увеличить @@ -363,7 +364,7 @@ connect and stream from you? Love - + Любимый @@ -2074,7 +2075,7 @@ connect and stream from you? Google Address: - + Адрес Google: From 2b653da3be9c1160fe7d9e29b5c198e4380e3a03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Gabriel=20Lima?= Date: Sun, 30 Dec 2012 21:25:33 -0300 Subject: [PATCH 303/332] * Checking the reply status during the last.fm authentication process The last.fm API returns "ok" on the status attribute of the reply if the authentication succeeded and "failed" otherwise [1]. So this patch verifies if the status returned is "ok" to proceed with the authentication. This patch also improves the message displayed in the log when an authentication error occurs. Now the error message returned by the server is printed out even when the QNetworkReply::error() != NoError (the message retuned by the server is a lot more informative). [1] - http://www.lastfm.it/api/show/auth.getMobileSession --- .../accounts/lastfm/LastFmInfoPlugin.cpp | 37 +++++++++---------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp index a69bcab13..9edbda48e 100644 --- a/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp +++ b/src/libtomahawk/accounts/lastfm/LastFmInfoPlugin.cpp @@ -941,30 +941,29 @@ LastFmInfoPlugin::onAuthenticated() return; } - if ( authJob->error() == QNetworkReply::NoError ) + lastfm::XmlQuery lfm; + lfm.parse( authJob->readAll() ); + if ( authJob->error() == QNetworkReply::NoError && lfm.attribute("status") == "ok" ) { - lastfm::XmlQuery lfm; - lfm.parse( authJob->readAll() ); + lastfm::ws::SessionKey = lfm[ "session" ][ "key" ].text(); + m_account.data()->setSessionKey( lastfm::ws::SessionKey.toLatin1() ); - if ( lfm.children( "error" ).size() > 0 ) - { - tLog() << "Error from authenticating with Last.fm service:" << lfm.text(); - m_account.data()->setSessionKey( QByteArray() ); - } - else - { - lastfm::ws::SessionKey = lfm[ "session" ][ "key" ].text(); - - m_account.data()->setSessionKey( lastfm::ws::SessionKey.toLatin1() ); - -// qDebug() << "Got session key from last.fm"; - if ( m_account.data()->scrobble() ) - m_scrobbler = new lastfm::Audioscrobbler( "thk" ); - } + if ( m_account.data()->scrobble() ) + m_scrobbler = new lastfm::Audioscrobbler( "thk" ); } else { - tLog() << "Got error in Last.fm authentication job:" << authJob->errorString(); + m_account.data()->setSessionKey( QByteArray() ); + + QString error = "Got error in Last.fm authentication job"; + if ( lfm.children( "error" ).size() > 0 ) + error += ": " + lfm.text(); + else if ( authJob->error() != QNetworkReply::NoError ) + error += ": " + authJob->errorString(); + else + error += "."; + + tLog() << error.simplified(); } authJob->deleteLater(); From 0668d82c3f543d81e4471ad674f4e1bc182f2e2a Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Tue, 1 Jan 2013 01:17:07 +0100 Subject: [PATCH 304/332] Automatic merge of Transifex translations --- lang/tomahawk_fr.ts | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index c60aef685..3d6585879 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -547,7 +547,7 @@ de se connecter et streamer de vous? Steer this station: - + Modifier cette station : @@ -632,12 +632,12 @@ de se connecter et streamer de vous? Apply steering command - + Appliquer la modification Reset all steering commands - + Annuler toutes les modifications @@ -1017,42 +1017,42 @@ de se connecter et streamer de vous? Accuracy - + Précision Perfect match - + Correspondance parfaite Very good match - + Très bonne correspondance Good match - + Bonne correspondance Vague match - + Vague correspondance Bad match - + Mauvaise correspondance Very bad match - + Très mauvaise correspondance Not available - + Indisponible @@ -1328,13 +1328,13 @@ de se connecter et streamer de vous? %1 Config - + %1 Configuration %1 Configuration - + %1 Configuration @@ -2418,7 +2418,7 @@ Essayez de vous authentifier de nouveau. Local Network - + Réseau local @@ -2426,7 +2426,7 @@ Essayez de vous authentifier de nouveau. Local Network - + Réseau local @@ -3146,7 +3146,7 @@ Essayez de changer les filtres pour avoir de nouveaux morceaux à jouer. %n people - + %n personne%n personnes @@ -3175,7 +3175,7 @@ Essayez de changer les filtres pour avoir de nouveaux morceaux à jouer. Track '%1' by %2 is not streamable. - + La piste '%1' par %2 n'est pas écoutable. @@ -3266,7 +3266,7 @@ saisissez le numéro PIN ici : Local Network - + Réseau local @@ -3547,7 +3547,7 @@ saisissez le numéro PIN ici : Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - Désolé, il y a un problème d'accès à votre matériel audio ou la piste en cours va être sauter. + Désolé, il y a un problème d'accès à votre matériel audio ou la piste en cours , celle-ci va être sautée. From ae4663f4c48e937721d02d50fb005249fb9c4972 Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Wed, 2 Jan 2013 11:11:59 +0100 Subject: [PATCH 305/332] Automatic merge of Transifex translations --- lang/tomahawk_cs.ts | 4242 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 4242 insertions(+) create mode 100644 lang/tomahawk_cs.ts diff --git a/lang/tomahawk_cs.ts b/lang/tomahawk_cs.ts new file mode 100644 index 000000000..764d0d437 --- /dev/null +++ b/lang/tomahawk_cs.ts @@ -0,0 +1,4242 @@ + + + ACLJobDelegate + + + Allow %1 to +connect and stream from you? + + + + + Allow Streaming + + + + + Deny Access + + + + + ACLJobItem + + + Tomahawk needs you to decide whether %1 is allowed to connect. + + + + + AccountFactoryWrapper + + + Dialog + + + + + Description goes here + + + + + Add Account + + + + + AccountFactoryWrapperDelegate + + + Online + + + + + Connecting... + + + + + Offline + + + + + AccountListWidget + + + Connections + + + + + + Connect &All + + + + + Disconnect &All + + + + + AccountWidget + + + Invite + + + + + AccountsToolButton + + + Configure Accounts + + + + + ActionCollection + + + &Listen Along + + + + + Stop &Listening Along + + + + + &Follow in real-time + + + + + + &Listen Privately + + + + + + &Listen Publicly + + + + + &Load Playlist + + + + + &Rename Playlist + + + + + &Copy Playlist Link + + + + + &Play + + + + + &Stop + + + + + &Previous Track + + + + + &Next Track + + + + + &Quit + + + + + Load &XSPF... + + + + + U&pdate Collection + + + + + Fully &Rescan Collection + + + + + Show Offline Sources + + + + + &Configure Tomahawk... + + + + + Minimize + + + + + Zoom + + + + + Hide Menu Bar + + + + + Diagnostics... + + + + + About &Tomahawk... + + + + + &Legal Information... + + + + + Check For Updates... + + + + + &Controls + + + + + &Settings + + + + + &Help + + + + + &Window + + + + + Main Menu + + + + + AlbumInfoWidget + + + Tracklist + + + + + Other Albums + + + + + Sorry, we could not find any other albums for this artist! + + + + + Sorry, we could not find any tracks for this album! + + + + + Other Albums by %1 + + + + + AlbumModel + + + + All albums from %1 + + + + + All albums + + + + + ArtistInfoWidget + + + Top Hits + + + + + Related Artists + + + + + Albums + + + + + Sorry, we could not find any albums for this artist! + + + + + Sorry, we could not find any related artists! + + + + + Sorry, we could not find any top hits for this artist! + + + + + AudioControls + + + Shuffle + + + + + Repeat + + + + + Time Elapsed + + + + + Time Remaining + + + + + Playing from %1 + + + + + Share + + + + + Love + + + + + AudioEngine + + + Sorry, Tomahawk couldn't find the track '%1' by %2 + + + + + Sorry, Tomahawk couldn't find the artist '%1' + + + + + Sorry, Tomahawk couldn't find the album '%1' by %2 + + + + + CategoryAddItem + + + Create new Playlist + + + + + Create new Station + + + + + + New Station + + + + + + %1 Station + + + + + CategoryItem + + + Playlists + + + + + Stations + + + + + ClearButton + + + Clear + + + + + ContextWidget + + + + Show Footnotes + + + + + Hide Footnotes + + + + + CrashReporter + + + Tomahawk Crash Reporter + + + + + <html><head/><body><p><span style=" font-weight:600;">Sorry!</span> Tomahawk crashed. Please tell us about it! Tomahawk has created an error report for you that can help improve the stability in the future. You can now send this report directly to the Tomahawk developers.</p></body></html> + + + + + Send this report + + + + + Don't send + + + + + Abort + + + + + You can disable sending crash reports in the configuration dialog. + + + + + Uploaded %L1 of %L2 KB. + + + + + + Close + + + + + Sent! <b>Many thanks</b>. + + + + + Failed to send crash info. + + + + + DatabaseCommand_AllAlbums + + + Unknown + + + + + DelegateConfigWrapper + + + About + + + + + Delete Account + + + + + About this Account + + + + + DiagnosticsDialog + + + Tomahawk Diagnostics + + + + + &Copy to Clipboard + + + + + Open &Log-file + + + + + EchonestSteerer + + + Steer this station: + + + + + Much less + + + + + Less + + + + + A bit less + + + + + Keep at current + + + + + A bit more + + + + + More + + + + + Much more + + + + + Tempo + + + + + Loudness + + + + + Danceability + + + + + Energy + + + + + Song Hotttnesss + + + + + Artist Hotttnesss + + + + + Artist Familiarity + + + + + By Description + + + + + Enter a description + + + + + Apply steering command + + + + + Reset all steering commands + + + + + FlexibleHeader + + + Filter... + + + + + FlexibleView + + + This playlist is currently empty. + + + + + This playlist is currently empty. Add some tracks to it and enjoy the music! + + + + + IndexingJobItem + + + Indexing database + + + + + InfoBar + + + Filter... + + + + + LastFmConfig + + + Scrobble tracks to Last.fm + + + + + Username: + + + + + Password: + + + + + Test Login + + + + + Import Playback History + + + + + Synchronize Loved Tracks + + + + + LastfmContext + + + Last.fm + + + + + LatchedStatusItem + + + %1 is listening along with you! + + + + + LoadXSPF + + + Load XSPF + + + + + Playlist URL + + + + + Enter URL... + + + + + ... + + + + + Automatically update + + + + + LoadXSPFDialog + + + Load XSPF File + + + + + XSPF Files (*.xspf) + + + + + LocalCollection + + + Bookmarks + + + + + Saved tracks + + + + + LovedTracksItem + + + Top Loved Tracks + + + + + Sorry, we could not find any loved tracks! + + + + + The most loved tracks from all your friends + + + + + All of your loved tracks + + + + + All of %1's loved tracks + + + + + Loved Tracks + + + + + MetadataEditor + + + Tags + + + + + Title: + + + + + Title... + + + + + Artist: + + + + + Artist... + + + + + Album: + + + + + Album... + + + + + Track Number: + + + + + Duration: + + + + + 00.00 + + + + + Year: + + + + + Bitrate: + + + + + File + + + + + File Name: + + + + + File Name... + + + + + File Size... + + + + + File size... + + + + + File Size: + + + + + Back + + + + + Forward + + + + + Properties + + + + + NewPlaylistWidget + + + Enter a title for the new playlist: + + + + + Tomahawk offers a variety of ways to help you create playlists and find music you enjoy! + + + + + Just enter a genre or tag name and Tomahawk will suggest a few songs to get you started with your new playlist: + + + + + &Create Playlist + + + + + Create a new playlist + + + + + NewReleasesWidget + + + New Releases + + + + + PlayableModel + + + Artist + + + + + Title + + + + + Composer + + + + + Album + + + + + Track + + + + + Duration + + + + + Bitrate + + + + + Age + + + + + Year + + + + + Size + + + + + Origin + + + + + Accuracy + + + + + Perfect match + + + + + Very good match + + + + + Good match + + + + + Vague match + + + + + Bad match + + + + + Very bad match + + + + + Not available + + + + + + Name + + + + + PlaylistItemDelegate + + + played %1 by you + + + + + played %1 by %2 + + + + + PlaylistLargeItemDelegate + + + played %1 by you + e.g. played 3 hours ago by you + + + + + played %1 by %2 + e.g. played 3 hours ago by SomeSource + + + + + added %1 + e.g. added 3 hours ago + + + + + by <b>%1</b> + e.g. by SomeArtist + + + + + by <b>%1</b> on <b>%2</b> + e.g. by SomeArtist on SomeAlbum + + + + + PlaylistModel + + + A playlist you created %1. + + + + + + A playlist by %1, created %2. + + + + + All tracks by %1 on album %2 + + + + + All tracks by %1 + + + + + PlaylistTypeSelectorDlg + + + New Playlist + + + + + Just a regular old playlist... Give it a name, drag in some tracks, and go! + + + + + Don't know exactly what you want? Give Tomahawk a few pointers and let it build a playlist for you! + + + + + Name: + + + + + New Playlist... + + + + + Create Manual Playlist + + + + + Create Automatic Playlist + + + + + PlaylistView + + + This playlist is currently empty. + + + + + This playlist is currently empty. Add some tracks to it and enjoy the music! + + + + + ProxyDialog + + + Proxy Settings + + + + + Hostname of proxy server + + + + + Host + + + + + Port + + + + + Proxy login + + + + + User + + + + + Password + + + + + Proxy password + + + + + No Proxy Hosts: +(Overrides system proxy) + + + + + localhost *.example.com (space separated) + + + + + Use proxy for DNS lookups? + + + + + QObject + + + %n year(s) ago + + + + + %n year(s) + + + + + %n month(s) ago + + + + + %n month(s) + + + + + %n week(s) ago + + + + + %n week(s) + + + + + %n day(s) ago + + + + + %n day(s) + + + + + %n hour(s) ago + + + + + %n hour(s) + + + + + %1 minutes ago + + + + + %1 minutes + + + + + just now + + + + + Friend Finders + + + + + Music Finders + + + + + Status Updaters + + + + + + %1 Config + + + + + + %1 Configuration + + + + + QuaZipFilePrivate + + + ZIP/UNZIP API error %1 + + + + + QueueView + + + + Open Queue + + + + + Open Queue - %n item(s) + + + + + Close Queue + + + + + RelatedArtistsContext + + + Related Artists + + + + + ResolverConfigDelegate + + + Not found: %1 + + + + + Failed to load: %1 + + + + + SearchLineEdit + + + Search + + + + + SearchWidget + + + Search: %1 + + + + + Results for '%1' + + + + + SettingsDialog + + + Collection + + + + + Advanced + + + + + All + + + + + Some changed settings will not take effect until Tomahawk is restarted + + + + + Services + + + + + Install from file + + + + + Configure the accounts and services used by Tomahawk to search and retrieve music, find your friends and update your status. + + + + + Manage how Tomahawk finds music on your computer. + + + + + Configure Tomahawk's advanced settings, including network connectivity settings, browser interaction and more. + + + + + Install resolver from file + + + + + Delete all Access Control entries? + + + + + Do you really want to delete all Access Control entries? You will be asked for a decision again for each peer that you connect to. + + + + + Information + + + + + Settings_Accounts + + + Filter by capability: + + + + + Settings_Advanced + + + Remote Peer Connection Method + + + + + None (outgoing connections only) + + + + + Use UPnP to establish port forward (recommended) + + + + + Use static external IP address/host name and port + + + + + Set this to your external IP address or host name. Make sure to forward the port to this host! + + + + + Static Host Name: + + + + + Static Port: + + + + + SOCKS Proxy + + + + + Use SOCKS Proxy + + + + + Proxy Settings... + + + + + Other Settings + + + + + Allow web browsers to interact with Tomahawk (recommended) + + + + + Send reports after Tomahawk crashed + + + + + Show notification when a new song starts to play + + + + + Clear All Access Control Entries + + + + + Settings_Collection + + + Path to scan for music files: + + + + + The Echo Nest supports keeping track of your catalog metadata + and using it to craft personalized radios. Enabling this option + will allow you (and all your friends) to create automatic playlists + and stations based on your personal taste profile. + + + + + Upload collection list to The Echo Nest to enable user radio + + + + + Watch for changes + + + + + Time between scans, in seconds: + + + + + SlideSwitchButton + + + On + + + + + Off + + + + + SocialPlaylistWidget + + + Popular New Albums From Your Friends + + + + + Most Played Playlists + + + + + Most Played Tracks You Don't Have + + + + + SocialWidget + + + Facebook + + + + + Twitter + + + + + Tweet + + + + + Listening to "%1" by %2. %3 + + + + + Listening to "%1" by %2 on "%3". %4 + + + + + %1 characters left + + + + + SourceDelegate + + + Track + + + + + Album + + + + + Artist + + + + + Local + + + + + Top 10 + + + + + All available tracks + + + + + + Show + + + + + + Hide + + + + + SourceInfoWidget + + + Recent Albums + + + + + Latest Additions + + + + + Recently Played Tracks + + + + + New Additions + + + + + My recent activity + + + + + Recent activity from %1 + + + + + SourceItem + + + Collection + + + + + + Latest Additions + + + + + Recently Played + + + + + SuperCollection + + + + + Latest additions to your collection + + + + + Latest additions to %1's collection + + + + + Sorry, we could not find any recent additions! + + + + + Recently Played Tracks + + + + + Your recently played tracks + + + + + %1's recently played tracks + + + + + Sorry, we could not find any recent plays! + + + + + SourceTreeView + + + &Copy Link + + + + + &Delete %1 + + + + + Add to my Playlists + + + + + Add to my Automatic Playlists + + + + + Add to my Stations + + + + + &Export Playlist + + + + + playlist + + + + + automatic playlist + + + + + station + + + + + Would you like to delete the %1 <b>"%2"</b>? + e.g. Would you like to delete the playlist named Foobar? + + + + + Delete + + + + + Save XSPF + + + + + Playlists (*.xspf) + + + + + SourcesModel + + + Group + + + + + Collection + + + + + Playlist + + + + + Automatic Playlist + + + + + Station + + + + + Browse + + + + + Search History + + + + + My Music + + + + + SuperCollection + + + + + Dashboard + + + + + Recently Played + + + + + Charts + + + + + New Releases + + + + + Friends + + + + + SpotifyConfig + + + Configure your Spotify account + + + + + Username or Facebook Email + + + + + Log In + + + + + Right click on any Tomahawk playlist to sync it to Spotify. + + + + + Select All + + + + + Sync Starred tracks to Loved tracks + + + + + High Quality Streams + + + + + Spotify playlists to keep in sync: + + + + + Delete Tomahawk playlist when removing synchronization + + + + + Username: + + + + + Password: + + + + + SpotifyPlaylistUpdater + + + Delete associated Spotify playlist? + + + + + TemporaryPageItem + + + Copy Artist Link + + + + + Copy Album Link + + + + + Copy Track Link + + + + + Tomahawk::Accounts::AccountDelegate + + + Add Account + + + + + Remove + + + + + %1 downloads + + + + + Online + + + + + Connecting... + + + + + Offline + + + + + Tomahawk::Accounts::AccountModel + + + Manual Install Required + + + + + Unfortunately, automatic installation of this resolver is not available or disabled for your platform.<br /><br />Please use "Install from file" above, by fetching it from your distribution or compiling it yourself. Further instructions can be found here:<br /><br />http://www.tomahawk-player.org/resolvers/%1 + + + + + Tomahawk::Accounts::GoogleWrapper + + + Configure this Google Account + + + + + Google Address: + + + + + Enter your Google login to connect with your friends using Tomahawk! + + + + + username@gmail.com + + + + + Tomahawk::Accounts::GoogleWrapperFactory + + + Connect to Google Talk to find your friends + + + + + Tomahawk::Accounts::GoogleWrapperSip + + + Enter Google Address + + + + + Add Friend + + + + + Enter Google Address: + + + + + Tomahawk::Accounts::LastFmAccountFactory + + + Scrobble your tracks to last.fm, and find freely downloadable tracks to play + + + + + Tomahawk::Accounts::LastFmConfig + + + Testing... + + + + + Test Login + + + + + Importing %1 + e.g. Importing 2012/01/01 + + + + + Importing History... + + + + + History Incomplete. Resume + Text on a button that resumes import + + + + + Playback History Imported + + + + + + Failed + + + + + Success + + + + + Could not contact server + + + + + Synchronizing... + + + + + Synchronization Finished + + + + + Tomahawk::Accounts::SpotifyAccount + + + Sync with Spotify + + + + + Re-enable syncing with Spotify + + + + + Create local copy + + + + + Subscribe to playlist changes + + + + + Re-enable playlist subscription + + + + + Stop subscribing to changes + + + + + Enable Spotify collaborations + + + + + Disable Spotify collaborations + + + + + Stop syncing with Spotify + + + + + Tomahawk::Accounts::SpotifyAccountConfig + + + Logging in... + + + + + Failed: %1 + + + + + Logged in as %1 + + + + + Log Out + + + + + + Log In + + + + + Tomahawk::Accounts::SpotifyAccountFactory + + + Play music from and sync your playlists with Spotify Premium + + + + + Tomahawk::Accounts::TwitterAccountFactory + + + Connect to your Twitter followers. + + + + + Tomahawk::Accounts::TwitterConfigWidget + + + + + Tweet! + + + + + + Status: No saved credentials + + + + + + + Authenticate + + + + + + Status: Credentials saved for %1 + + + + + + De-authenticate + + + + + + + + + + + Tweetin' Error + + + + + The credentials could not be verified. +You may wish to try re-authenticating. + + + + + Status: Error validating credentials + + + + + Global Tweet + + + + + Direct Message + + + + + Send Message! + + + + + @Mention + + + + + Send Mention! + + + + + You must enter a user name for this type of tweet. + + + + + Your saved credentials could not be loaded. +You may wish to try re-authenticating. + + + + + Your saved credentials could not be verified. +You may wish to try re-authenticating. + + + + + + There was an error posting your status -- sorry! + + + + + + Tweeted! + + + + + Your tweet has been posted! + + + + + There was an error posting your direct message -- sorry! + + + + + Your message has been posted! + + + + + Tomahawk::Accounts::XmppAccountFactory + + + Log on to your Jabber/XMPP account to connect to your friends + + + + + Tomahawk::Accounts::ZeroconfAccount + + + + Local Network + + + + + Tomahawk::Accounts::ZeroconfFactory + + + Local Network + + + + + Automatically connect to Tomahawks on the local network + + + + + Tomahawk::ContextMenu + + + &Play + + + + + + + Add to &Queue + + + + + Continue Playback after this &Track + + + + + Stop Playback after this &Track + + + + + + &Love + + + + + + + &Go to "%1" + + + + + + + Go to "%1" + + + + + &Copy Track Link + + + + + Copy Album &Link + + + + + Copy Artist &Link + + + + + Un-&Love + + + + + &Delete Items + + + + + Properties... + + + + + &Delete Item + + + + + Tomahawk::DropJobNotifier + + + playlist + + + + + artist + + + + + track + + + + + album + + + + + Fetching %1 from database + + + + + Parsing %1 %2 + + + + + Tomahawk::DynamicControlList + + + Click to collapse + + + + + Tomahawk::DynamicModel + + + + Could not find a playable track. + +Please change the filters or try again. + + + + + Failed to generate preview with the desired filters + + + + + Tomahawk::DynamicSetupWidget + + + Type: + + + + + Generate + + + + + Tomahawk::DynamicView + + + Add some filters above to seed this station! + + + + + Press Generate to get started! + + + + + Add some filters above, and press Generate to get started! + + + + + Tomahawk::DynamicWidget + + + Station ran out of tracks! + +Try tweaking the filters for a new set of songs to play. + + + + + Tomahawk::EchonestControl + + + + + + + + is + + + + + from user + + + + + + No users with Echo Nest Catalogs enabled. Try enabling option in Collection settings + + + + + similar to + + + + + + + + + + + Less + + + + + + + + + + + More + + + + + 0 BPM + + + + + 500 BPM + + + + + 0 secs + + + + + 3600 secs + + + + + -100 dB + + + + + 100 dB + + + + + Major + + + + + Minor + + + + + C + + + + + C Sharp + + + + + D + + + + + E Flat + + + + + E + + + + + F + + + + + F Sharp + + + + + G + + + + + A Flat + + + + + A + + + + + B Flat + + + + + B + + + + + Ascending + + + + + Descending + + + + + Tempo + + + + + Duration + + + + + Loudness + + + + + + Artist Familiarity + + + + + + Artist Hotttnesss + + + + + + Song Hotttnesss + + + + + Latitude + + + + + Longitude + + + + + Mode + + + + + Key + + + + + + Energy + + + + + + Danceability + + + + + only by ~%1 + + + + + + similar to ~%1 + + + + + with genre ~%1 + + + + + + from no one + + + + + My Collection + + + + + from my radio + + + + + from %1 radio + + + + + Variety + + + + + Adventurousness + + + + + very low + + + + + low + + + + + moderate + + + + + high + + + + + very high + + + + + with %1 %2 + + + + + about %1 BPM + + + + + about %n minute(s) long + + + + + about %1 dB + + + + + at around %1%2 %3 + + + + + in %1 + + + + + in a %1 key + + + + + sorted in %1 %2 order + + + + + with a %1 mood + + + + + in a %1 style + + + + + Tomahawk::GroovesharkParser + + + Error fetching Grooveshark information from the network! + + + + + Tomahawk::InfoSystem::ChartsPlugin + + + Top Overall + + + + + Artists + + + + + Albums + + + + + Tracks + + + + + Tomahawk::InfoSystem::FdoNotifyPlugin + + + Tomahawk is playing "%1" by %2%3. + + + + + on "%1" + + + + + Tomahawk::InfoSystem::LastFmInfoPlugin + + + Top Tracks + + + + + Loved Tracks + + + + + Hyped Tracks + + + + + Top Artists + + + + + Hyped Artists + + + + + Tomahawk::InfoSystem::NewReleasesPlugin + + + Albums + + + + + Tomahawk::InfoSystem::TwitterInfoPlugin + + + Listening to "%1" by %2 and loving it! %3 + + + + + Tomahawk::ItunesParser + + + Error fetching iTunes information from the network! + + + + + Tomahawk::JSPFLoader + + + New Playlist + + + + + Failed to save tracks + + + + + Some tracks in the playlist do not contain an artist and a title. They will be ignored. + + + + + XSPF Error + + + + + This is not a valid XSPF playlist. + + + + + Tomahawk::LatchManager + + + &Catch Up + + + + + + &Listen Along + + + + + Tomahawk::Playlist + + + Would you like to delete the playlist <b>"%2"</b>? + e.g. Would you like to delete the playlist named Foobar? + + + + + Delete + + + + + Tomahawk::Query + + + and + + + + + You + + + + + you + + + + + and + + + + + %n other(s) + + + + + %n people + + + + + loved this track + + + + + Tomahawk::RdioParser + + + Error fetching Rdio information from the network! + + + + + Tomahawk::ShortenedLinkParser + + + Network error parsing shortened link! + + + + + Tomahawk::SoundcloudParser + + + Track '%1' by %2 is not streamable. + + + + + Tomahawk::Source + + + + Scanning (%L1 tracks) + + + + + Scanning + + + + + Checking + + + + + Syncing + + + + + Importing + + + + + Saving (%1%) + + + + + Online + + + + + Offline + + + + + Tomahawk::SpotifyParser + + + Error fetching Spotify information from the network! + + + + + Tomahawk::XspfUpdater + + + Automatically update from XSPF + + + + + TomahawkApp + + + My Collection + + + + + TomahawkOAuthTwitter + + + Twitter PIN + + + + + After authenticating on Twitter's web site, +enter the displayed PIN number here: + + + + + TomahawkSettings + + + Local Network + + + + + TomahawkTrayIcon + + + &Stop Playback after current Track + + + + + + Hide Tomahawk Window + + + + + Show Tomahawk Window + + + + + Currently not playing. + + + + + Play + + + + + Pause + + + + + &Love + + + + + Un-&Love + + + + + &Continue Playback after current Track + + + + + TomahawkWindow + + + Tomahawk + + + + + &Quit + + + + + Ctrl+Q + + + + + Go &Online + + + + + Add &Friend... + + + + + U&pdate Collection + + + + + Update Collection + + + + + &Configure Tomahawk... + + + + + Load &XSPF... + + + + + Create &New Playlist... + + + + + About &Tomahawk... + + + + + Create New &Automatic Playlist + + + + + Create New &Station + + + + + Show Offline Sources + + + + + Hide Offline Sources + + + + + Minimize + + + + + Ctrl+M + + + + + Zoom + + + + + Meta+Ctrl+Z + + + + + &Legal Info... + + + + + Diagnostics... + + + + + Fully &Rescan Collection + + + + + Fully Rescan Collection + + + + + Play + + + + + Space + + + + + Previous + + + + + Next + + + + + Back + + + + + Go back one page + + + + + Forward + + + + + Go forward one page + + + + + + Hide Menu Bar + + + + + + Show Menu Bar + + + + + Search for any artist, album or song... + + + + + &Main Menu + + + + + + + Connect To Peer + + + + + Enter peer address: + + + + + Enter peer port: + + + + + Enter peer key: + + + + + XSPF Error + + + + + This is not a valid XSPF playlist. + + + + + Failed to save tracks + + + + + Some tracks in the playlist do not contain an artist and a title. They will be ignored. + + + + + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. + + + + + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. + + + + + Station + + + + + Create New Station + + + + + Name: + + + + + Playlist + + + + + Automatic Playlist + + + + + Pause + + + + + &Play + + + + + Authentication Error + + + + + Error connecting to SIP: Authentication failed! + + + + + %1 by %2 + track, artist name + + + + + %1 - %2 + current track, some window title + + + + + <h2><b>Tomahawk %1<br/>(%2)</h2> + + + + + <h2><b>Tomahawk %1</h2> + + + + + Copyright 2010 - 2012 + + + + + Thanks to: + + + + + About Tomahawk + + + + + TopTracksContext + + + Top Hits + + + + + TrackInfoWidget + + + Similar Tracks + + + + + Sorry, but we could not find similar tracks for this song! + + + + + You've listened to this track %n time(s). + + + + + You've never listened to this track before. + + + + + You first listened to it on %1. + + + + + You've listened to %1 %n time(s). + + + + + You've never listened to %1 before. + + + + + TrackView + + + Sorry, your filter '%1' did not match any results. + + + + + TransferStatusItem + + + from + streaming artist - track from friend + + + + + to + streaming artist - track to friend + + + + + TreeItemDelegate + + + Unknown + + + + + TreeModel + + + All Artists + + + + + + My Collection + + + + + + Collection of %1 + + + + + TreeView + + + Sorry, your filter '%1' did not match any results. + + + + + TwitterConfigWidget + + + Configure this Twitter account + + + + + The Twitter plugin allows you to discover and play music from your Twitter friends running Tomahawk and post messages to your account. + + + + + Status: No saved credentials + + + + + Authenticate with Twitter + + + + + Twitter Connections + + + + + +If you only want to post tweets, you're done. + +If you want to connect Tomahawk to your friends using Twitter, select the type of tweet and press the button below to send a sync message. You must both be following each other as Direct Messages are used. Then be (very) patient -- it can take several minutes! + +You can re-send a sync message at any time simply by sending another tweet using the button. + + + + + Select the kind of tweet you would like, then press the button to post it: + + + + + Global Tweet + + + + + @Mention + + + + + Direct Message + + + + + e.g. @tomahawk + + + + + Send Message + + + + + TwitterSipPlugin + + + Enter Twitter username + + + + + ViewManager + + + This playlist is empty! + + + + + After you have scanned your music collection you will find your tracks right here. + + + + + This collection is empty. + + + + + SuperCollection + + + + + Combined libraries of all your online friends + + + + + Recently Played Tracks + + + + + Recently played tracks from all your friends + + + + + Sorry, we could not find any recent plays! + + + + + WelcomeWidget + + + Recent Additions + + + + + Newest Stations & Playlists + + + + + Recently Played Tracks + + + + + Recently played tracks + + + + + No recently created playlists in your network. + + + + + Welcome to Tomahawk + + + + + WhatsHotWidget + + + Charts + + + + + WikipediaContext + + + Wikipedia + + + + + XMPPBot + + + +Terms for %1: + + + + + + No terms found, sorry. + + + + + +Hotttness for %1: %2 + + + + + + +Familiarity for %1: %2 + + + + + + +Lyrics for "%1" by %2: + +%3 + + + + + + XSPFLoader + + + Failed to parse contents of XSPF playlist + + + + + Some playlist entries were found without artist and track name, they will be omitted + + + + + Failed to fetch the desired playlist from the network, or the desired file does not exist + + + + + New Playlist + + + + + XmlConsole + + + Xml stream console + + + + + + Filter + + + + + Save log + + + + + Disabled + + + + + By JID + + + + + By namespace uri + + + + + By all attributes + + + + + Visible stanzas + + + + + Information query + + + + + Message + + + + + Presence + + + + + Custom + + + + + Close + + + + + Save XMPP log to file + + + + + OpenDocument Format (*.odf);;HTML file (*.html);;Plain text (*.txt) + + + + + XmppConfigWidget + + + Xmpp Configuration + + + + + Configure this Xmpp account + + + + + Enter your Xmpp login to connect with your friends using Tomahawk! + + + + + Login Information + + + + + Xmpp ID: + + + + + e.g. user@example.com + + + + + Password: + + + + + An account with this name already exists! + + + + + Advanced Xmpp Settings + + + + + Server: + + + + + Port: + + + + + Lots of servers don't support this (e.g. GTalk, jabber.org) + + + + + Publish currently playing track + + + + + Enforce secure connection + + + + + XmppSipPlugin + + + User Interaction + + + + + Host is unknown + + + + + Item not found + + + + + Authorization Error + + + + + Remote Stream Error + + + + + Remote Connection failed + + + + + Internal Server Error + + + + + System shutdown + + + + + Conflict + + + + + Unknown + + + + + Do you want to add <b>%1</b> to your friend list? + + + + + No Compression Support + + + + + Enter Jabber ID + + + + + No Encryption Support + + + + + No Authorization Support + + + + + No Supported Feature + + + + + Add Friend + + + + + Enter Xmpp ID: + + + + + Add Friend... + + + + + XML Console... + + + + + I'm sorry -- I'm just an automatic presence used by Tomahawk Player (http://gettomahawk.com). If you are getting this message, the person you are trying to reach is probably not signed on, so please try again later! + + + + + Authorize User + + + + + ZeroconfConfig + + + Local Network configuration + + + + + This plugin will automatically find other users running Tomahawk on your local network + + + + + Connect automatically when Tomahawk starts + + + + \ No newline at end of file From aa168ef57218b197b81ed365214cc6b7e8bcb09c Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 1 Jan 2013 15:22:03 +0100 Subject: [PATCH 306/332] * Fixed debug output in Api_v1. --- src/web/Api_v1.cpp | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/web/Api_v1.cpp b/src/web/Api_v1.cpp index 819d8c6a2..632f3e2f3 100644 --- a/src/web/Api_v1.cpp +++ b/src/web/Api_v1.cpp @@ -43,11 +43,11 @@ Api_v1::Api_v1(QxtAbstractWebSessionManager* sm, QObject* parent) void Api_v1::auth_1( QxtWebRequestEvent* event, QString arg ) { - qDebug() << "AUTH_1 HTTP" << event->url.toString() << arg; + tDebug( LOGVERBOSE ) << "AUTH_1 HTTP" << event->url.toString() << arg; if ( !event->url.hasQueryItem( "website" ) || !event->url.hasQueryItem( "name" ) ) { - qDebug() << "Malformed HTTP resolve request"; + tDebug( LOGVERBOSE ) << "Malformed HTTP resolve request"; send404( event ); return; } @@ -80,10 +80,10 @@ Api_v1::auth_1( QxtWebRequestEvent* event, QString arg ) void Api_v1::auth_2( QxtWebRequestEvent* event, QString arg ) { - qDebug() << "AUTH_2 HTTP" << event->url.toString() << arg; + tDebug( LOGVERBOSE ) << "AUTH_2 HTTP" << event->url.toString() << arg; if ( event->content.isNull() ) { - qDebug() << "Null content"; + tDebug( LOGVERBOSE ) << "Null content"; send404( event ); return; } @@ -99,13 +99,13 @@ Api_v1::auth_2( QxtWebRequestEvent* event, QString arg ) if ( keyval.size() == 2 ) queryItems.insert( keyval.first(), keyval.last() ); else - qDebug() << "Failed parsing url parameters:" << part; + tDebug( LOGVERBOSE ) << "Failed parsing url parameters:" << part; } - qDebug() << "has query items:" << pieces; + tDebug( LOGVERBOSE ) << "has query items:" << pieces; if ( !params.contains( "website" ) || !params.contains( "name" ) || !params.contains( "formtoken" ) ) { - qDebug() << "Malformed HTTP resolve request"; + tDebug( LOGVERBOSE ) << "Malformed HTTP resolve request"; send404( event ); return; } @@ -113,7 +113,7 @@ Api_v1::auth_2( QxtWebRequestEvent* event, QString arg ) QString website = queryItems[ "website" ]; QString name = queryItems[ "name" ]; QByteArray authtoken = uuid().toLatin1(); - qDebug() << "HEADERS:" << event->headers; + tDebug( LOGVERBOSE ) << "HEADERS:" << event->headers; if ( !queryItems.contains( "receiverurl" ) || queryItems.value( "receiverurl" ).isEmpty() ) { //no receiver url, so do it ourselves @@ -139,7 +139,7 @@ Api_v1::auth_2( QxtWebRequestEvent* event, QString arg ) // do what the client wants QUrl receiverurl = QUrl( queryItems.value( "receiverurl" ), QUrl::TolerantMode ); receiverurl.addEncodedQueryItem( "authtoken", "#" + authtoken ); - qDebug() << "Got receiver url:" << receiverurl.toString(); + tDebug( LOGVERBOSE ) << "Got receiver url:" << receiverurl.toString(); QxtWebRedirectEvent* e = new QxtWebRedirectEvent( event->sessionID, event->requestID, receiverurl.toString() ); postEvent( e ); @@ -155,7 +155,7 @@ Api_v1::auth_2( QxtWebRequestEvent* event, QString arg ) void Api_v1::api( QxtWebRequestEvent* event ) { - qDebug() << "HTTP" << event->url.toString(); + tDebug( LOGVERBOSE ) << "HTTP" << event->url.toString(); const QUrl& url = event->url; if ( url.hasQueryItem( "method" ) ) @@ -178,7 +178,7 @@ Api_v1::sid( QxtWebRequestEvent* event, QString unused ) Q_UNUSED( unused ); RID rid = event->url.path().mid( 5 ); - qDebug() << "Request for sid" << rid; + tDebug( LOGVERBOSE ) << "Request for sid" << rid; result_ptr rp = Pipeline::instance()->result( rid ); if ( rp.isNull() ) @@ -204,7 +204,7 @@ Api_v1::sid( QxtWebRequestEvent* event, QString unused ) void Api_v1::send404( QxtWebRequestEvent* event ) { - qDebug() << "404" << event->url.toString(); + tDebug() << "404" << event->url.toString(); QxtWebPageEvent* wpe = new QxtWebPageEvent( event->sessionID, event->requestID, "

Not Found

" ); wpe->status = 404; wpe->statusMessage = "no event found"; @@ -215,11 +215,11 @@ Api_v1::send404( QxtWebRequestEvent* event ) void Api_v1::stat( QxtWebRequestEvent* event ) { - qDebug() << "Got Stat request:" << event->url.toString(); + tDebug( LOGVERBOSE ) << "Got Stat request:" << event->url.toString(); m_storedEvent = event; if ( !event->content.isNull() ) - qDebug() << "BODY:" << event->content->readAll(); + tDebug( LOGVERBOSE ) << "BODY:" << event->content->readAll(); if ( event->url.hasQueryItem( "auth" ) ) { @@ -262,7 +262,7 @@ Api_v1::resolve( QxtWebRequestEvent* event ) if ( !event->url.hasQueryItem( "artist" ) || !event->url.hasQueryItem( "track" ) ) { - qDebug() << "Malformed HTTP resolve request"; + tDebug( LOGVERBOSE ) << "Malformed HTTP resolve request"; return send404( event ); } @@ -273,7 +273,7 @@ Api_v1::resolve( QxtWebRequestEvent* event ) if ( artist.trimmed().isEmpty() || track.trimmed().isEmpty() ) { - qDebug() << "Malformed HTTP resolve request"; + tDebug( LOGVERBOSE ) << "Malformed HTTP resolve request"; return send404( event ); } @@ -300,7 +300,7 @@ Api_v1::resolve( QxtWebRequestEvent* event ) void Api_v1::staticdata( QxtWebRequestEvent* event, const QString& str ) { - qDebug() << "STATIC request:" << event << str; + tDebug( LOGVERBOSE ) << "STATIC request:" << event << str; if ( str.contains( "tomahawk_auth_logo.png" ) ) { QFile f( RESPATH "www/tomahawk_banner_small.png" ); @@ -318,7 +318,7 @@ Api_v1::get_results( QxtWebRequestEvent* event ) { if ( !event->url.hasQueryItem( "qid" ) ) { - tDebug() << "Malformed HTTP get_results request"; + tDebug( LOGVERBOSE ) << "Malformed HTTP get_results request"; send404( event ); return; } @@ -372,7 +372,7 @@ Api_v1::sendJSON( const QVariantMap& m, QxtWebRequestEvent* event ) e->contentType = ctype; e->headers.insert( "Content-Length", QString::number( body.length() ) ); postEvent( e ); - qDebug() << "JSON response" << event->url.toString() << body; + tDebug( LOGVERBOSE ) << "JSON response" << event->url.toString() << body; } From 2e4cb838ee875cf637226f2747928f4e832cd1c7 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Wed, 2 Jan 2013 11:09:21 +0100 Subject: [PATCH 307/332] * Added new translation languages to CMakeLists.txt. --- CMakeLists.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a254e8fd2..f7221bc5e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,10 +14,9 @@ SET( TOMAHAWK_DESCRIPTION_SUMMARY "The social media player" ) SET( TOMAHAWK_VERSION_MAJOR 0 ) SET( TOMAHAWK_VERSION_MINOR 5 ) SET( TOMAHAWK_VERSION_PATCH 99 ) - #SET( TOMAHAWK_VERSION_RC 0 ) -SET( TOMAHAWK_TRANSLATION_LANGUAGES ar bg ca de en es fi fr ja pl pt_BR ru sv tr zh_CN zh_TW ) +SET( TOMAHAWK_TRANSLATION_LANGUAGES ar bg bn_IN ca cs de en el es fi fr hi_IN hu gl it ja lt pl pt_BR ru sv tr zh_CN zh_TW ) # enforce proper symbol exporting on all platforms add_definitions( "-fvisibility=hidden" ) From 4d4b0a29e46b2b90fecb8209aca0170cf3c4431c Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Wed, 2 Jan 2013 11:10:17 +0100 Subject: [PATCH 308/332] * Cleaned up translations.cmake. --- lang/translations.cmake | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/lang/translations.cmake b/lang/translations.cmake index 6b4f89557..7ce1ba422 100644 --- a/lang/translations.cmake +++ b/lang/translations.cmake @@ -1,33 +1,33 @@ macro(add_tomahawk_translations language) - list(APPEND TOMAHAWK_LANGUAGES ${ARGV}) + list( APPEND TOMAHAWK_LANGUAGES ${ARGV} ) - set(tomahawk_i18n_qrc_content "\n") + set( tomahawk_i18n_qrc_content "\n" ) # tomahawk and qt language files - set(tomahawk_i18n_qrc_content "${tomahawk_i18n_qrc_content}\n") - foreach(lang ${TOMAHAWK_LANGUAGES}) - set(tomahawk_i18n_qrc_content "${tomahawk_i18n_qrc_content}tomahawk_${lang}.qm\n") - if(NOT lang STREQUAL "en" AND EXISTS ${QT_TRANSLATIONS_DIR}/qt_${lang}.qm) - file(COPY ${QT_TRANSLATIONS_DIR}/qt_${lang}.qm DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - set(tomahawk_i18n_qrc_content "${tomahawk_i18n_qrc_content}qt_${lang}.qm\n") + set( tomahawk_i18n_qrc_content "${tomahawk_i18n_qrc_content}\n" ) + foreach( lang ${TOMAHAWK_LANGUAGES} ) + set( tomahawk_i18n_qrc_content "${tomahawk_i18n_qrc_content}tomahawk_${lang}.qm\n" ) + if( NOT lang STREQUAL "en" AND EXISTS ${QT_TRANSLATIONS_DIR}/qt_${lang}.qm ) + file( COPY ${QT_TRANSLATIONS_DIR}/qt_${lang}.qm DESTINATION ${CMAKE_CURRENT_BINARY_DIR} ) + set( tomahawk_i18n_qrc_content "${tomahawk_i18n_qrc_content}qt_${lang}.qm\n" ) endif() # build explicitly enabled languages - list(APPEND TS_FILES "${CMAKE_SOURCE_DIR}/lang/tomahawk_${lang}.ts") + list( APPEND TS_FILES "${CMAKE_SOURCE_DIR}/lang/tomahawk_${lang}.ts" ) endforeach() - set(tomahawk_i18n_qrc_content "${tomahawk_i18n_qrc_content}\n") - set(tomahawk_i18n_qrc_content "${tomahawk_i18n_qrc_content}\n") + set( tomahawk_i18n_qrc_content "${tomahawk_i18n_qrc_content}\n" ) + set( tomahawk_i18n_qrc_content "${tomahawk_i18n_qrc_content}\n" ) - file(WRITE ${CMAKE_BINARY_DIR}/lang/tomahawk_i18n.qrc "${tomahawk_i18n_qrc_content}" ) + file( WRITE ${CMAKE_BINARY_DIR}/lang/tomahawk_i18n.qrc "${tomahawk_i18n_qrc_content}" ) - QT4_ADD_TRANSLATION(QM_FILES ${TS_FILES}) + QT4_ADD_TRANSLATION( QM_FILES ${TS_FILES} ) ## HACK HACK HACK - around rcc limitations to allow out of source-tree building SET( trans_file tomahawk_i18n ) - SET( trans_srcfile ${CMAKE_BINARY_DIR}/lang/${trans_file}.qrc) - SET( trans_infile ${CMAKE_CURRENT_BINARY_DIR}/${trans_file}.qrc) - SET( trans_outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${trans_file}.cxx) + SET( trans_srcfile ${CMAKE_BINARY_DIR}/lang/${trans_file}.qrc ) + SET( trans_infile ${CMAKE_CURRENT_BINARY_DIR}/${trans_file}.qrc ) + SET( trans_outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${trans_file}.cxx ) # Copy the QRC file to the output directory ADD_CUSTOM_COMMAND( From 31d47c0454411d4596e77039a3777219dedce8cf Mon Sep 17 00:00:00 2001 From: Kilian Lackhove Date: Wed, 2 Jan 2013 14:00:10 +0100 Subject: [PATCH 309/332] show icon in accountswidget for external resolvers, too --- src/libtomahawk/accounts/AccountDelegate.cpp | 2 +- src/libtomahawk/accounts/ResolverAccount.cpp | 5 +++++ src/libtomahawk/accounts/ResolverAccount.h | 3 ++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/accounts/AccountDelegate.cpp b/src/libtomahawk/accounts/AccountDelegate.cpp index b8816c989..ac64bd964 100644 --- a/src/libtomahawk/accounts/AccountDelegate.cpp +++ b/src/libtomahawk/accounts/AccountDelegate.cpp @@ -171,7 +171,7 @@ AccountDelegate::paint ( QPainter* painter, const QStyleOptionViewItem& option, QPixmap p = index.data( Qt::DecorationRole ).value< QPixmap >(); QRect pixmapRect( leftEdge + PADDING, center - ICONSIZE/2, ICONSIZE, ICONSIZE ); if ( p.isNull() ) // default image... TODO - p = TomahawkUtils::defaultPixmap( TomahawkUtils::SipPluginOnline, TomahawkUtils::Original, pixmapRect.size() ); + p = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultResolver, TomahawkUtils::Original, pixmapRect.size() ); else p = p.scaled( pixmapRect.size(), Qt::KeepAspectRatio, Qt::SmoothTransformation ); diff --git a/src/libtomahawk/accounts/ResolverAccount.cpp b/src/libtomahawk/accounts/ResolverAccount.cpp index d759335ca..26b38eea3 100644 --- a/src/libtomahawk/accounts/ResolverAccount.cpp +++ b/src/libtomahawk/accounts/ResolverAccount.cpp @@ -232,6 +232,11 @@ ResolverAccount::resolverChanged() emit connectionStateChanged( connectionState() ); } +QPixmap +ResolverAccount::icon() const +{ + return m_resolver.data()->icon(); +} /// AtticaResolverAccount diff --git a/src/libtomahawk/accounts/ResolverAccount.h b/src/libtomahawk/accounts/ResolverAccount.h index e5b182497..e977931f5 100644 --- a/src/libtomahawk/accounts/ResolverAccount.h +++ b/src/libtomahawk/accounts/ResolverAccount.h @@ -77,8 +77,9 @@ public: QString path() const; + virtual QPixmap icon() const; + // Not relevant - virtual QPixmap icon() const { return QPixmap(); } virtual SipPlugin* sipPlugin() { return 0; } virtual Tomahawk::InfoSystem::InfoPluginPtr infoPlugin() { return Tomahawk::InfoSystem::InfoPluginPtr(); } virtual QWidget* aclWidget() { return 0; } From 0b29b6a444b301d9768df498dacd494f5d3cfc80 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Wed, 2 Jan 2013 14:13:20 +0100 Subject: [PATCH 310/332] * We now use 4.8.4 on OSX. --- admin/mac/macdeploy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/mac/macdeploy.py b/admin/mac/macdeploy.py index 888b8b8ca..7f425f1ca 100755 --- a/admin/mac/macdeploy.py +++ b/admin/mac/macdeploy.py @@ -217,7 +217,7 @@ TOMAHAWK_PLUGINS = [ ] QT_PLUGINS_SEARCH_PATH=[ - '/usr/local/Cellar/qt/4.8.2/plugins', + '/usr/local/Cellar/qt/4.8.4/plugins', ] From 5de9f2f7bda83e64b2199c1a1f78567a8e2670cc Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 3 Jan 2013 05:54:47 +0100 Subject: [PATCH 311/332] * Make artist name in PlayableCover clickable. --- src/libtomahawk/widgets/PlayableCover.cpp | 74 +++++++++++++++++++++-- src/libtomahawk/widgets/PlayableCover.h | 6 ++ 2 files changed, 74 insertions(+), 6 deletions(-) diff --git a/src/libtomahawk/widgets/PlayableCover.cpp b/src/libtomahawk/widgets/PlayableCover.cpp index 74eca96f3..bcd095df1 100644 --- a/src/libtomahawk/widgets/PlayableCover.cpp +++ b/src/libtomahawk/widgets/PlayableCover.cpp @@ -18,7 +18,9 @@ #include "PlayableCover.h" +#include "Artist.h" #include "Album.h" +#include "ViewManager.h" #include "audio/AudioEngine.h" #include "widgets/ImageButton.h" #include "utils/TomahawkUtilsGui.h" @@ -77,6 +79,56 @@ PlayableCover::resizeEvent( QResizeEvent* event ) } +void +PlayableCover::mouseMoveEvent( QMouseEvent* event ) +{ + QLabel::mouseMoveEvent( event ); + + foreach ( const QRect& rect, m_itemRects ) + { + if ( rect.contains( event->pos() ) ) + { + if ( m_hoveredRect != rect ) + { + setCursor( Qt::PointingHandCursor ); + m_hoveredRect = rect; + repaint(); + } + return; + } + } + + if ( !m_hoveredRect.isNull() ) + { + setCursor( Qt::ArrowCursor ); + m_hoveredRect = QRect(); + repaint(); + } +} + + +void +PlayableCover::mouseReleaseEvent( QMouseEvent* event ) +{ + QLabel::mouseReleaseEvent( event ); + + foreach ( const QRect& rect, m_itemRects ) + { + if ( rect.contains( event->pos() ) ) + { + if ( m_artist ) + ViewManager::instance()->show( m_artist ); + else if ( m_album ) + ViewManager::instance()->show( m_album->artist() ); + else if ( m_query ) + ViewManager::instance()->show( Tomahawk::Artist::get( m_query->artist() ) ); + + return; + } + } +} + + void PlayableCover::setPixmap( const QPixmap& pixmap ) { @@ -87,6 +139,8 @@ PlayableCover::setPixmap( const QPixmap& pixmap ) void PlayableCover::paintEvent( QPaintEvent* event ) { + Q_UNUSED( event ); + QPainter painter( this ); painter.setRenderHint( QPainter::Antialiasing ); painter.drawPixmap( 0, 0, pixmap() ); @@ -98,6 +152,7 @@ PlayableCover::paintEvent( QPaintEvent* event ) QPixmap buffer( r.size() ); buffer.fill( Qt::transparent ); QPainter bufpainter( &buffer ); + bufpainter.setRenderHint( QPainter::Antialiasing ); QTextOption to; to.setWrapMode( QTextOption::NoWrap ); @@ -181,18 +236,25 @@ PlayableCover::paintEvent( QPaintEvent* event ) bufpainter.drawText( textRect, text, to ); bufpainter.setFont( font ); - // If the user is hovering over an artist rect, draw a background so she knows it's clickable + QRect r = textRect; r.setTop( r.bottom() - bufpainter.fontMetrics().height() ); r.adjust( 4, 0, -4, -1 ); -/* if ( m_hoveringOver == index ) + + text = bufpainter.fontMetrics().elidedText( bottom, Qt::ElideRight, textRect.width() - 16 ); + int textWidth = bufpainter.fontMetrics().width( text ); + r.adjust( ( r.width() - textWidth ) / 2 - 6, 0, - ( ( r.width() - textWidth ) / 2 - 6 ), 0 ); + + m_itemRects.clear(); + m_itemRects << r; + + if ( m_hoveredRect == r ) { - TomahawkUtils::drawQueryBackground( bufpainter, opt.palette, r, 1.1 ); - bufpainter.setPen( opt.palette.color( QPalette::HighlightedText ) ); - }*/ + TomahawkUtils::drawQueryBackground( &bufpainter, palette(), r, 1.1 ); + bufpainter.setPen( Qt::white ); + } to.setAlignment( Qt::AlignHCenter | Qt::AlignBottom ); - text = bufpainter.fontMetrics().elidedText( bottom, Qt::ElideRight, textRect.width() - 16 ); bufpainter.drawText( textRect.adjusted( 5, -1, -5, -1 ), text, to ); } diff --git a/src/libtomahawk/widgets/PlayableCover.h b/src/libtomahawk/widgets/PlayableCover.h index 9179a0f0e..f96f1cba2 100644 --- a/src/libtomahawk/widgets/PlayableCover.h +++ b/src/libtomahawk/widgets/PlayableCover.h @@ -56,6 +56,9 @@ protected: virtual void resizeEvent( QResizeEvent* event ); virtual void paintEvent( QPaintEvent* event ); + virtual void mouseMoveEvent( QMouseEvent* event ); + virtual void mouseReleaseEvent( QMouseEvent* event ); + void leaveEvent( QEvent* event ); void enterEvent( QEvent* event ); @@ -70,6 +73,9 @@ private: Tomahawk::album_ptr m_album; Tomahawk::query_ptr m_query; + QList< QRect > m_itemRects; + QRect m_hoveredRect; + bool m_showText; }; From 2202fa95e7eae2969b0cee89aace6bcccb6bf81b Mon Sep 17 00:00:00 2001 From: Jason Herskowitz Date: Thu, 3 Jan 2013 08:57:40 -0500 Subject: [PATCH 312/332] Fix arist icon so star is smaller and better centered in cirlce --- data/images/artist-icon.svg | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/data/images/artist-icon.svg b/data/images/artist-icon.svg index 613bb3af1..22a5b740e 100644 --- a/data/images/artist-icon.svg +++ b/data/images/artist-icon.svg @@ -4,8 +4,6 @@ Created with Sketch (http://www.bohemiancoding.com/sketch) - - - + \ No newline at end of file From f7f054ed1a13701da3b3eb9b941793e0f4e08dac Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 3 Jan 2013 19:59:28 +0100 Subject: [PATCH 313/332] * Added shuffle & repeat mode slots & signals to AudioEngine. --- src/libtomahawk/audio/AudioEngine.cpp | 28 +++++++++++++++++++++++++++ src/libtomahawk/audio/AudioEngine.h | 5 +++++ 2 files changed, 33 insertions(+) diff --git a/src/libtomahawk/audio/AudioEngine.cpp b/src/libtomahawk/audio/AudioEngine.cpp index 35af08c17..a196f326c 100644 --- a/src/libtomahawk/audio/AudioEngine.cpp +++ b/src/libtomahawk/audio/AudioEngine.cpp @@ -865,6 +865,8 @@ AudioEngine::setPlaylist( Tomahawk::playlistinterface_ptr playlist ) { disconnect( m_playlist.data(), SIGNAL( previousTrackAvailable( bool ) ) ); disconnect( m_playlist.data(), SIGNAL( nextTrackAvailable( bool ) ) ); + disconnect( m_playlist.data(), SIGNAL( shuffleModeChanged( bool ) ) ); + disconnect( m_playlist.data(), SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ) ); } m_playlist.data()->reset(); @@ -886,12 +888,38 @@ AudioEngine::setPlaylist( Tomahawk::playlistinterface_ptr playlist ) connect( m_playlist.data(), SIGNAL( previousTrackAvailable( bool ) ), SIGNAL( controlStateChanged() ) ); connect( m_playlist.data(), SIGNAL( nextTrackAvailable( bool ) ), SIGNAL( controlStateChanged() ) ); + + connect( m_playlist.data(), SIGNAL( shuffleModeChanged( bool ) ), SIGNAL( shuffleModeChanged( bool ) ) ); + connect( m_playlist.data(), SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode mode ) ), SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode mode ) ) ); + + emit shuffleModeChanged( m_playlist.data()->shuffled() ); + emit repeatModeChanged( m_playlist.data()->repeatMode() ); } emit playlistChanged( playlist ); } +void +AudioEngine::setRepeatMode( Tomahawk::PlaylistModes::RepeatMode mode ) +{ + if ( !m_playlist.isNull() ) + { + m_playlist.data()->setRepeatMode( mode ); + } +} + + +void +AudioEngine::setShuffled( bool enabled ) +{ + if ( !m_playlist.isNull() ) + { + m_playlist.data()->setShuffled( enabled ); + } +} + + void AudioEngine::setStopAfterTrack( const query_ptr& query ) { diff --git a/src/libtomahawk/audio/AudioEngine.h b/src/libtomahawk/audio/AudioEngine.h index 65dea3856..c169fcff3 100644 --- a/src/libtomahawk/audio/AudioEngine.h +++ b/src/libtomahawk/audio/AudioEngine.h @@ -98,6 +98,9 @@ public slots: void setStopAfterTrack( const Tomahawk::query_ptr& query ); + void setRepeatMode( Tomahawk::PlaylistModes::RepeatMode mode ); + void setShuffled( bool enabled ); + signals: void loading( const Tomahawk::result_ptr& track ); void started( const Tomahawk::result_ptr& track ); @@ -110,6 +113,8 @@ signals: void seeked( qint64 ms ); + void shuffleModeChanged( bool enabled ); + void repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode mode ); void controlStateChanged(); void stateChanged( AudioState newState, AudioState oldState ); void volumeChanged( int volume /* in percent */ ); From 7fa21a38e5221a368aba0185c79bce15be38d51a Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 3 Jan 2013 19:59:52 +0100 Subject: [PATCH 314/332] * Remove shuffle & repeat mode slots & signals from ViewManager. --- src/libtomahawk/ViewManager.cpp | 43 --------------------------------- src/libtomahawk/ViewManager.h | 7 ------ 2 files changed, 50 deletions(-) diff --git a/src/libtomahawk/ViewManager.cpp b/src/libtomahawk/ViewManager.cpp index 76ddc7d2f..387f9eb53 100644 --- a/src/libtomahawk/ViewManager.cpp +++ b/src/libtomahawk/ViewManager.cpp @@ -524,8 +524,6 @@ ViewManager::setPage( ViewPage* page, bool trackHistory ) if ( page == m_currentPage ) return; - unlinkPlaylist(); - if ( m_stack->indexOf( page->widget() ) < 0 ) { m_stack->addWidget( page->widget() ); @@ -589,35 +587,12 @@ ViewManager::isNewPlaylistPageVisible() const } -void -ViewManager::unlinkPlaylist() -{ - if ( currentPlaylistInterface() ) - { - disconnect( currentPlaylistInterface().data(), SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ), - this, SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ) ); - - disconnect( currentPlaylistInterface().data(), SIGNAL( shuffleModeChanged( bool ) ), - this, SIGNAL( shuffleModeChanged( bool ) ) ); - } -} - - void ViewManager::updateView() { if ( currentPlaylistInterface() ) { - connect( currentPlaylistInterface().data(), SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ), - SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ) ); - - connect( currentPlaylistInterface().data(), SIGNAL( shuffleModeChanged( bool ) ), - SIGNAL( shuffleModeChanged( bool ) ) ); - m_infobar->setFilter( currentPage()->filter() ); - - emit repeatModeChanged( currentPlaylistInterface()->repeatMode() ); - emit shuffleModeChanged( currentPlaylistInterface()->shuffled() ); } /* if ( currentPage()->queueVisible() ) @@ -686,24 +661,6 @@ ViewManager::onWidgetDestroyed( QWidget* widget ) } -void -ViewManager::setRepeatMode( Tomahawk::PlaylistModes::RepeatMode mode ) -{ - if ( currentPlaylistInterface() ) - currentPlaylistInterface()->setRepeatMode( mode ); -} - - -void -ViewManager::setShuffled( bool enabled ) -{ - if ( currentPlaylistInterface() ) - { - currentPlaylistInterface()->setShuffled( enabled ); - } -} - - void ViewManager::createPlaylist( const Tomahawk::source_ptr& src, const QVariant& contents ) { diff --git a/src/libtomahawk/ViewManager.h b/src/libtomahawk/ViewManager.h index 5b7d86e25..d42c25b34 100644 --- a/src/libtomahawk/ViewManager.h +++ b/src/libtomahawk/ViewManager.h @@ -108,9 +108,6 @@ public: bool isTomahawkLoaded() const { return m_loaded; } signals: - void repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode mode ); - void shuffleModeChanged( bool enabled ); - void filterAvailable( bool b ); void playClicked(); @@ -154,9 +151,6 @@ public slots: void showQueue() { emit showQueueRequested(); } void hideQueue() { emit hideQueueRequested(); } - void setRepeatMode( Tomahawk::PlaylistModes::RepeatMode mode ); - void setShuffled( bool enabled ); - void playlistInterfaceChanged( Tomahawk::playlistinterface_ptr ); // called by the playlist creation dbcmds @@ -174,7 +168,6 @@ private slots: private: void setPage( Tomahawk::ViewPage* page, bool trackHistory = true ); void updateView(); - void unlinkPlaylist(); Tomahawk::playlist_ptr playlistForInterface( Tomahawk::playlistinterface_ptr plInterface ) const; Tomahawk::dynplaylist_ptr dynamicPlaylistForInterface( Tomahawk::playlistinterface_ptr plInterface ) const; From 719b9738d8292479c3af296b50a42e82d96ba538 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 3 Jan 2013 20:00:13 +0100 Subject: [PATCH 315/332] * Make AudioContols directly connect to AudioEngine's repeat & shuffle signals. --- src/AudioControls.cpp | 10 ++++++---- src/TomahawkWindow.cpp | 7 +------ 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/AudioControls.cpp b/src/AudioControls.cpp index dd8d82e42..c92219994 100644 --- a/src/AudioControls.cpp +++ b/src/AudioControls.cpp @@ -140,6 +140,8 @@ AudioControls::AudioControls( QWidget* parent ) connect( AudioEngine::instance(), SIGNAL( timerMilliSeconds( qint64 ) ), SLOT( onPlaybackTimer( qint64 ) ) ); connect( AudioEngine::instance(), SIGNAL( volumeChanged( int ) ), SLOT( onVolumeChanged( int ) ) ); connect( AudioEngine::instance(), SIGNAL( controlStateChanged() ), SLOT( onControlStateChanged() ) ); + connect( AudioEngine::instance(), SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ), SLOT( onRepeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ) ); + connect( AudioEngine::instance(), SIGNAL( shuffleModeChanged( bool ) ), SLOT( onShuffleModeChanged( bool ) ) ); ui->buttonAreaLayout->setSpacing( 0 ); ui->stackedLayout->setSpacing( 0 ); @@ -560,21 +562,21 @@ AudioControls::onRepeatClicked() case PlaylistModes::NoRepeat: { // switch to RepeatOne - ViewManager::instance()->setRepeatMode( PlaylistModes::RepeatOne ); + AudioEngine::instance()->setRepeatMode( PlaylistModes::RepeatOne ); } break; case PlaylistModes::RepeatOne: { // switch to RepeatAll - ViewManager::instance()->setRepeatMode( PlaylistModes::RepeatAll ); + AudioEngine::instance()->setRepeatMode( PlaylistModes::RepeatAll ); } break; case PlaylistModes::RepeatAll: { // switch to NoRepeat - ViewManager::instance()->setRepeatMode( PlaylistModes::NoRepeat ); + AudioEngine::instance()->setRepeatMode( PlaylistModes::NoRepeat ); } break; @@ -611,7 +613,7 @@ AudioControls::onShuffleModeChanged( bool enabled ) void AudioControls::onShuffleClicked() { - ViewManager::instance()->setShuffled( m_shuffled ^ true ); + AudioEngine::instance()->setShuffled( m_shuffled ^ true ); } diff --git a/src/TomahawkWindow.cpp b/src/TomahawkWindow.cpp index c8c83ecb0..bf083b10e 100644 --- a/src/TomahawkWindow.cpp +++ b/src/TomahawkWindow.cpp @@ -497,6 +497,7 @@ TomahawkWindow::setupWindowsButtons() #endif } + HICON TomahawkWindow::thumbIcon(TomahawkUtils::ImageType type) { @@ -514,12 +515,6 @@ TomahawkWindow::thumbIcon(TomahawkUtils::ImageType type) void TomahawkWindow::setupSignals() { - // - connect( ViewManager::instance(), SIGNAL( repeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ), - m_audioControls, SLOT( onRepeatModeChanged( Tomahawk::PlaylistModes::RepeatMode ) ) ); - connect( ViewManager::instance(), SIGNAL( shuffleModeChanged( bool ) ), - m_audioControls, SLOT( onShuffleModeChanged( bool ) ) ); - // connect( AudioEngine::instance(), SIGNAL( error( AudioEngine::AudioErrorCode ) ), SLOT( onAudioEngineError( AudioEngine::AudioErrorCode ) ) ); connect( AudioEngine::instance(), SIGNAL( loading( const Tomahawk::result_ptr& ) ), SLOT( onPlaybackLoading( const Tomahawk::result_ptr& ) ) ); From 80bb0de53a06b10787379c53bb0da8521efa7724 Mon Sep 17 00:00:00 2001 From: Kilian Lackhove Date: Fri, 4 Jan 2013 00:13:10 +0100 Subject: [PATCH 316/332] receive icon directly from resolvers Dont let external resolvers send a (probably faulty) path to an image file, but receive the image itself directly. This is consistent with the way the config _msgtype works, so comression is supported, too. --- src/libtomahawk/resolvers/QtScriptResolver.cpp | 12 +++++++++--- src/libtomahawk/resolvers/ScriptResolver.cpp | 12 +++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/libtomahawk/resolvers/QtScriptResolver.cpp b/src/libtomahawk/resolvers/QtScriptResolver.cpp index cd9e427ab..b722c1eb5 100644 --- a/src/libtomahawk/resolvers/QtScriptResolver.cpp +++ b/src/libtomahawk/resolvers/QtScriptResolver.cpp @@ -326,15 +326,21 @@ QtScriptResolver::init() m_name = m.value( "name" ).toString(); m_weight = m.value( "weight", 0 ).toUInt(); m_timeout = m.value( "timeout", 25 ).toUInt() * 1000; - QString iconPath = QFileInfo( filePath() ).path() + "/" + m.value( "icon" ).toString(); - int success = m_icon.load( iconPath ); + bool compressed = m.value( "compressed", "false" ).toString() == "true"; + + QByteArray icoData = m.value( "icon" ).toByteArray(); + if( compressed ) + icoData = qUncompress( QByteArray::fromBase64( icoData ) ); + else + icoData = QByteArray::fromBase64( icoData ); + bool success = m_icon.loadFromData( icoData ); // load config widget and apply settings loadUi(); QVariantMap config = resolverUserConfig(); fillDataInWidgets( config ); - qDebug() << "JS" << filePath() << "READY," << "name" << m_name << "weight" << m_weight << "timeout" << m_timeout << "icon" << iconPath << "icon found" << success; + qDebug() << "JS" << filePath() << "READY," << "name" << m_name << "weight" << m_weight << "timeout" << m_timeout << "icon found" << success; m_ready = true; } diff --git a/src/libtomahawk/resolvers/ScriptResolver.cpp b/src/libtomahawk/resolvers/ScriptResolver.cpp index b2cf5ec71..e977bce4a 100644 --- a/src/libtomahawk/resolvers/ScriptResolver.cpp +++ b/src/libtomahawk/resolvers/ScriptResolver.cpp @@ -376,10 +376,16 @@ ScriptResolver::doSetup( const QVariantMap& m ) m_name = m.value( "name" ).toString(); m_weight = m.value( "weight", 0 ).toUInt(); m_timeout = m.value( "timeout", 5 ).toUInt() * 1000; - QString iconPath = QFileInfo( filePath() ).path() + "/" + m.value( "icon" ).toString(); - int success = m_icon.load( iconPath ); + bool compressed = m.value( "compressed", "false" ).toString() == "true"; - qDebug() << "SCRIPT" << filePath() << "READY," << "name" << m_name << "weight" << m_weight << "timeout" << m_timeout << "icon" << iconPath << "icon found" << success; + QByteArray icoData = m.value( "icon" ).toByteArray(); + if( compressed ) + icoData = qUncompress( QByteArray::fromBase64( icoData ) ); + else + icoData = QByteArray::fromBase64( icoData ); + bool success = m_icon.loadFromData( icoData ); + + qDebug() << "SCRIPT" << filePath() << "READY," << "name" << m_name << "weight" << m_weight << "timeout" << m_timeout << "icon found" << success; m_ready = true; m_configSent = false; From 9eb2afbc874c0db4b073612395733037a37724db Mon Sep 17 00:00:00 2001 From: Tomahawk CI Date: Fri, 4 Jan 2013 01:16:37 +0100 Subject: [PATCH 317/332] Automatic merge of Transifex translations --- lang/tomahawk_ar.ts | 74 ++++++------- lang/tomahawk_bg.ts | 74 ++++++------- lang/tomahawk_bn_IN.ts | 74 ++++++------- lang/tomahawk_ca.ts | 74 ++++++------- lang/tomahawk_cs.ts | 74 ++++++------- lang/tomahawk_de.ts | 74 ++++++------- lang/tomahawk_el.ts | 74 ++++++------- lang/tomahawk_en.ts | 74 ++++++------- lang/tomahawk_es.ts | 74 ++++++------- lang/tomahawk_fi.ts | 74 ++++++------- lang/tomahawk_fr.ts | 74 ++++++------- lang/tomahawk_gl.ts | 74 ++++++------- lang/tomahawk_hi_IN.ts | 74 ++++++------- lang/tomahawk_hu.ts | 74 ++++++------- lang/tomahawk_it.ts | 74 ++++++------- lang/tomahawk_ja.ts | 74 ++++++------- lang/tomahawk_lt.ts | 74 ++++++------- lang/tomahawk_pl.ts | 74 ++++++------- lang/tomahawk_pt_BR.ts | 74 ++++++------- lang/tomahawk_ru.ts | 243 +++++++++++++++++++++-------------------- lang/tomahawk_sv.ts | 74 ++++++------- lang/tomahawk_tr.ts | 74 ++++++------- lang/tomahawk_zh_CN.ts | 74 ++++++------- lang/tomahawk_zh_TW.ts | 74 ++++++------- 24 files changed, 974 insertions(+), 971 deletions(-) diff --git a/lang/tomahawk_ar.ts b/lang/tomahawk_ar.ts index 906fc6483..c63dc9b29 100644 --- a/lang/tomahawk_ar.ts +++ b/lang/tomahawk_ar.ts @@ -331,37 +331,37 @@ connect and stream from you? AudioControls - + Shuffle خلط - + Repeat إعادة - + Time Elapsed الوقت المنقضي - + Time Remaining الوقت المتبقي - + Playing from %1 يتم الاستماع من %1 - + Share شارك - + Love أحب @@ -3478,13 +3478,13 @@ enter the displayed PIN number here:
- + Hide Menu Bar إخفي شريط القائمة - + Show Menu Bar أظهر شريط القائمة @@ -3499,136 +3499,136 @@ enter the displayed PIN number here: ال&قائمة الرئيسية - - - + + + Connect To Peer ربط بالند - + Enter peer address: أدخل عنوان الند: - + Enter peer port: أدخل بوابة الند: - + Enter peer key: أدخل مفتاح الند: - + XSPF Error خطأ XSPF - + This is not a valid XSPF playlist. قائمة الأغاني XSPF هذه ليست صالحة. - + Failed to save tracks فشل في حفظ الأغاني - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. بعض الأغاني في قائمة الأغاني لا تحتوي على إسم الفنان أو إسم الأغنية. هذه الأغاني سوف تتجاهل. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. عذرا، هناك مشكلة في الوصول إلى جهاز الصوت أو الأغنية المطلوب، سوف يتم تخطي الأغنية الحالية. تأكد أن لديك خلفية فونون المناسبة والإضافات المطلوبة مثبتة. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. عذرا، هناك مشكلة في الوصول إلى جهاز الصوت أو الأغنية المطلوب، سوف يتم تخطي الأغنية الحالية. - + Station إذاعة - + Create New Station إنشاء قائمة أغاني جديدة - + Name: الاسم: - + Playlist قائمة الأغاني - + Automatic Playlist قائمة أغاني أوتوماتيكية - + Pause تعليق - + &Play &إستمع - + Authentication Error خطأ في المصادقة - + Error connecting to SIP: Authentication failed! خطأ في الاتصال بسيب (SIP): فشلت المصادقة! - + %1 by %2 track, artist name %1 من قبل %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 حقوق الطبع والنشر ٢٠١٠ - ٢٠١٢ - + Thanks to: شكر لكل من: - + About Tomahawk عن توماهوك diff --git a/lang/tomahawk_bg.ts b/lang/tomahawk_bg.ts index fe4777ae3..5d9127012 100644 --- a/lang/tomahawk_bg.ts +++ b/lang/tomahawk_bg.ts @@ -330,37 +330,37 @@ connect and stream from you? AudioControls - + Shuffle Разбъркано - + Repeat Повтори - + Time Elapsed Изминало време - + Time Remaining Оставащо време - + Playing from %1 Изпълнявам от %1 - + Share Сподели - + Love Харесай @@ -3492,13 +3492,13 @@ enter the displayed PIN number here: - + Hide Menu Bar Скрий лентата с менюто - + Show Menu Bar Покажи лентата с менюто @@ -3513,139 +3513,139 @@ enter the displayed PIN number here: &Основно меню - - - + + + Connect To Peer Свържи се с друг потребител - + Enter peer address: Въведи адресът на отдалеченият потребител: - + Enter peer port: Въведи порт: - + Enter peer key: Въведи ключът за удостоверяване: - + XSPF Error XSPF Грешка - + This is not a valid XSPF playlist. Това не е валиден XSPF списък - + Failed to save tracks Не мога да запазя списъкът с песни - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Някои от песните в този списък нямат артист и заглавие. Те ще бъдат игнорирани. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Съжалявам. Има проблем с достъпа до твоето аудио-устройство или до избраната песен - тя ще бъде прескочена. Моля, увери се, че са инсталирани подходящ Phonon и приставки. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Съжалявам. Има проблем с достъпа до твоето аудио устройство или избраната песен. Тя ще бъде пропусната. - + Station Станция - + Create New Station Създай нова станция - + Name: Име: - + Playlist Списък - + Automatic Playlist Автоматично-генериран списък - + Pause Пауза - + &Play &Възпроизвеждане - + Authentication Error Грешка при удостоверяване - + Error connecting to SIP: Authentication failed! Грешка при свързване: Неуспешно удостоверяване! - + %1 by %2 track, artist name %1 от %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Всички права - запазени. 2010 - 2012 - + Thanks to: Благодарности на: - + About Tomahawk Относно Tomahawk diff --git a/lang/tomahawk_bn_IN.ts b/lang/tomahawk_bn_IN.ts index f26befa9c..ef3a9f9f7 100644 --- a/lang/tomahawk_bn_IN.ts +++ b/lang/tomahawk_bn_IN.ts @@ -330,37 +330,37 @@ connect and stream from you? AudioControls - + Shuffle - + Repeat - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -3467,13 +3467,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3488,136 +3488,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error - + This is not a valid XSPF playlist. - + Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: - + Playlist - + Automatic Playlist - + Pause - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk diff --git a/lang/tomahawk_ca.ts b/lang/tomahawk_ca.ts index 67bf3e5ac..763563dc1 100644 --- a/lang/tomahawk_ca.ts +++ b/lang/tomahawk_ca.ts @@ -330,37 +330,37 @@ connect and stream from you? AudioControls - + Shuffle Mescla - + Repeat Repeteix - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -3476,13 +3476,13 @@ introduïu el PIN aquí: - + Hide Menu Bar - + Show Menu Bar @@ -3497,136 +3497,136 @@ introduïu el PIN aquí: - - - + + + Connect To Peer Connexió Remota - + Enter peer address: Introduïu l'adreça remota: - + Enter peer port: Introduïu el port remot: - + Enter peer key: Introduïu la clau remota: - + XSPF Error Error XSPF - + This is not a valid XSPF playlist. No és una llista XSPF vàlida. - + Failed to save tracks Error en desar les cançons - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Algunes cançons de la llista no contenen ni artista ni titol i s'han ignorat. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Hi ha un problema per accedir al dispositiu de so o a la cançó. La cançó actual s'ha saltat. Assegureu-vos que teniu un back.end de Phonon adequant i els plugins necessaris instal·lats. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Hi ha un problema per accedir al dispositiu de so o a la cançó, la cançó actual s'ha saltat. - + Station Emissora - + Create New Station Crea una Nova Emissora - + Name: Nom: - + Playlist Llista - + Automatic Playlist Llista Automàtica - + Pause Pausa - + &Play - + Authentication Error Error d'autentificació - + Error connecting to SIP: Authentication failed! S'ha produït un error connectant-se a SIP: Ha fallat autentificant! - + %1 by %2 track, artist name %1 de %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Gràcies a: - + About Tomahawk Quant a Tomahawk diff --git a/lang/tomahawk_cs.ts b/lang/tomahawk_cs.ts index 764d0d437..ca69d18b7 100644 --- a/lang/tomahawk_cs.ts +++ b/lang/tomahawk_cs.ts @@ -330,37 +330,37 @@ connect and stream from you? AudioControls - + Shuffle - + Repeat - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -3467,13 +3467,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3488,136 +3488,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error - + This is not a valid XSPF playlist. - + Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: - + Playlist - + Automatic Playlist - + Pause - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk diff --git a/lang/tomahawk_de.ts b/lang/tomahawk_de.ts index 83f99d5aa..d7e0bb655 100644 --- a/lang/tomahawk_de.ts +++ b/lang/tomahawk_de.ts @@ -331,37 +331,37 @@ erlauben sich mit dir zu verbinden? AudioControls - + Shuffle Zufall - + Repeat Wiederholen - + Time Elapsed Abgelaufene Zeit - + Time Remaining Verbleibende Zeit - + Playing from %1 Wiedergabe von %1 - + Share Teilen - + Love Lieben @@ -3475,13 +3475,13 @@ Tomahawk auf Twitter's Website authentifiziert hast: - + Hide Menu Bar Menüleiste ausblenden - + Show Menu Bar Menüleiste einblenden @@ -3496,136 +3496,136 @@ Tomahawk auf Twitter's Website authentifiziert hast: Haupt&menü - - - + + + Connect To Peer Mit anderem Tomahawk verbinden - + Enter peer address: Gib die Adresse der Gegenstelle ein: - + Enter peer port: Gib den Port der Gegenstelle ein: - + Enter peer key: Gib den Schlüssel der Gegenstelle ein: - + XSPF Error XSPF-Fehler - + This is not a valid XSPF playlist. Dies ist keine gültige XSPF-Playlist. - + Failed to save tracks Konnte Stücke nicht abspeichern - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Einige Stücke in der Playlist enthalten weder Künstler noch Titel. Diese werden ignoriert. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Es tut uns leid, Tomahawk kann auf dein Audio-Gerät oder das gewünschte Stück nicht zugreifen und überspringt es deshalb. Vergewisser dich, dass ein geignetes Phonon-Backend mitsamt benötigten Plugins installiert ist. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Es tut uns leid, Tomahawk kann auf dein Audio-Gerät oder das gewünschte Stück nicht zugreifen und überspringt es deshalb. - + Station Station - + Create New Station Neue Station erstellen - + Name: Name: - + Playlist Playlist - + Automatic Playlist Automatische Playlist - + Pause Pause - + &Play Abs&pielen - + Authentication Error Authentifizierungsfehler - + Error connecting to SIP: Authentication failed! Verbindungsfehler mit SIP: Authentifizierung fehlgeschlagen! - + %1 by %2 track, artist name %1 von %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copright 2010 - 2012 - + Thanks to: Danke an: - + About Tomahawk Über Tomahawk diff --git a/lang/tomahawk_el.ts b/lang/tomahawk_el.ts index 10e5fae82..b690fcd64 100644 --- a/lang/tomahawk_el.ts +++ b/lang/tomahawk_el.ts @@ -330,37 +330,37 @@ connect and stream from you? AudioControls - + Shuffle Τυχαία σειρά - + Repeat Επανάληψη - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -3475,13 +3475,13 @@ enter the displayed PIN number here: - + Hide Menu Bar Απόκρυψη Γραμμής Μενού - + Show Menu Bar @@ -3496,136 +3496,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer Σύνδεση Σε Ομότιμο Κόμβο - + Enter peer address: Εισαγωγή διεύθυνσης ομότιμου κόμβου: - + Enter peer port: Εισαγωγή θύρας ομότιμου κόμβου: - + Enter peer key: Εισαγωγή κλειδιού ομότιμου κόμβου: - + XSPF Error Σφάλμα XSPF - + This is not a valid XSPF playlist. Αυτή δεν είναι μια έγκυρη λίστα αναπαραγωγής XSPF. - + Failed to save tracks Αποτυχία αποθήκευσης κομματιών. - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Μερικά κομμάτια στην λίστα αναπαραγωγής δεν περιέχουν έναν καλλιτέχνη ή έναν τίτλο. Θα αγνοηθούν. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Συγγνώμη, υπάρχει ένα πρόβλημα πρόσβασης στην συσκευή ήχου ή στο επιθυμητό κομμάτι, το τρέχον κομμάτι θα παραλειφθεί. Σιγουρευτείτε ότι έχετε εγκαταστήσει ένα κατάλληλο Phonon backend και τα απαιτούμενα πρόσθετα. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Συγγνώμη, υπάρχει ένα πρόβλημα πρόσβασης στην συσκευή ήχου ή στο επιθυμητό κομμάτι, το τρέχον κομμάτι θα παραλειφθεί. - + Station Σταθμός - + Create New Station Δημιουργία Νέου Σταθμού - + Name: Όνομα: - + Playlist Λίστας Αναπαραγωγής - + Automatic Playlist Αυτόματη Λίστα Αναπαραγωγής - + Pause Παύση - + &Play - + Authentication Error Σφάλμα Πιστοποίησης - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name %1 από %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: Χάρη στους: - + About Tomahawk Σχετικά με το Tomahawk diff --git a/lang/tomahawk_en.ts b/lang/tomahawk_en.ts index 040e90821..19301ea9f 100644 --- a/lang/tomahawk_en.ts +++ b/lang/tomahawk_en.ts @@ -331,37 +331,37 @@ connect and stream from you? AudioControls - + Shuffle Shuffle - + Repeat Repeat - + Time Elapsed Time Elapsed - + Time Remaining Time Remaining - + Playing from %1 Playing from %1 - + Share Share - + Love Love @@ -3480,13 +3480,13 @@ enter the displayed PIN number here: - + Hide Menu Bar Hide Menu Bar - + Show Menu Bar Show Menu Bar @@ -3501,136 +3501,136 @@ enter the displayed PIN number here: &Main Menu - - - + + + Connect To Peer Connect To Peer - + Enter peer address: Enter peer address: - + Enter peer port: Enter peer port: - + Enter peer key: Enter peer key: - + XSPF Error XSPF Error - + This is not a valid XSPF playlist. This is not a valid XSPF playlist. - + Failed to save tracks Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station Station - + Create New Station Create New Station - + Name: Name: - + Playlist Playlist - + Automatic Playlist Automatic Playlist - + Pause Pause - + &Play &Play - + Authentication Error Authentication Error - + Error connecting to SIP: Authentication failed! Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name %1 by %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Thanks to: - + About Tomahawk About Tomahawk diff --git a/lang/tomahawk_es.ts b/lang/tomahawk_es.ts index 90c1d0bce..40eb9e4ae 100644 --- a/lang/tomahawk_es.ts +++ b/lang/tomahawk_es.ts @@ -331,37 +331,37 @@ conectarse a usted y transmitir música? AudioControls - + Shuffle Aleatorio - + Repeat Repetir - + Time Elapsed Tiempo transcurrido - + Time Remaining Tiempo restante - + Playing from %1 Reproduciendo de %1 - + Share Compartir - + Love Favorito @@ -3480,13 +3480,13 @@ introduzca su número PIN aquí: - + Hide Menu Bar Esconder barra de menú - + Show Menu Bar Mostrar barra de menú @@ -3501,136 +3501,136 @@ introduzca su número PIN aquí: &Menú principal - - - + + + Connect To Peer Conectar a un par - + Enter peer address: Introducir dirección del par: - + Enter peer port: Introducir puerto del par: - + Enter peer key: Introducir contraseña del par: - + XSPF Error Error XSPF - + This is not a valid XSPF playlist. Esta no es una lista de reproducción XSPF válida. - + Failed to save tracks Fallo al guardar pistas - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Algunas pistas en la lista de reproducción no contienen artista ni título. Serán ignoradas. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Se ha producido un error al acceder al dispostivo de audio o a la pista deseada. Asegúrese de que ha instalado un backend de Phonon adecuado y los plugins necesarios. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Se ha producido un error al acceder al dispostivo de audio o a la pista deseado y se va saltar. - + Station Nueva estación - + Create New Station Crear nueva estación - + Name: Nombre: - + Playlist Lista de reproducción - + Automatic Playlist Lista de reproducción automática - + Pause Pausar - + &Play &Reproducir - + Authentication Error Error de autenticación - + Error connecting to SIP: Authentication failed! Error conectando al SIP: ¡Autenticación fallida! - + %1 by %2 track, artist name %1 por %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010-2012 - + Thanks to: Gracias a: - + About Tomahawk Acerca de Tomahawk diff --git a/lang/tomahawk_fi.ts b/lang/tomahawk_fi.ts index b5333be3f..b963927a5 100644 --- a/lang/tomahawk_fi.ts +++ b/lang/tomahawk_fi.ts @@ -331,37 +331,37 @@ yhdistää ja toistaa sinulta virtaa? AudioControls - + Shuffle Sekoita - + Repeat Toista - + Time Elapsed Kulunut aika - + Time Remaining Jäljellä oleva aika - + Playing from %1 Soitetaan lähteestä %1 - + Share Jaa - + Love Tykkää @@ -3483,13 +3483,13 @@ anna siellä näytetty PIN-koodi tähän: - + Hide Menu Bar Piilota valikkorivi - + Show Menu Bar Näytä valikkorivi @@ -3504,136 +3504,136 @@ anna siellä näytetty PIN-koodi tähän: &Päävalikko - - - + + + Connect To Peer Yhdistä vertaiseen - + Enter peer address: Anna vertaisen osoite: - + Enter peer port: Anna vertaisen portti: - + Enter peer key: Anna vertaisen avain: - + XSPF Error XSPF-virhe - + This is not a valid XSPF playlist. Tämä ei ole kelvollinen XSPF-soittolista. - + Failed to save tracks Kappaleiden tallentaminen epäonnistui - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Joillakin soittolistan kappaleilla ei ole artistia ja nimeä. Ne jätetään huomiotta. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Valitettavasti äänilaitteen tai halutun kappaleen kanssa on ongelmia ja nykyinen kappale ohitetaan. Varmista, että sopiva Phononin taustaosa ja vaaditut liitännäiset on asennettu. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Valitettavasti äänilaitteen tai halutun kappaleen kanssa on ongelmia ja nykyinen kappale ohitetaan. - + Station Asema - + Create New Station Luo uusi asema - + Name: Nimi: - + Playlist Soittolista - + Automatic Playlist Automaattinen soittolista - + Pause Tauko - + &Play &Soita - + Authentication Error Tunnistautumisvirhe - + Error connecting to SIP: Authentication failed! Virhe yhdistettäessä SIPiin: tunnistautuminen epäonnistui! - + %1 by %2 track, artist name %1 artistilta %2 - + %1 - %2 current track, some window title %1 – %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010–2012 - + Thanks to: Kiitokset: - + About Tomahawk Tietoa Tomahawkista diff --git a/lang/tomahawk_fr.ts b/lang/tomahawk_fr.ts index 3d6585879..bc9575638 100644 --- a/lang/tomahawk_fr.ts +++ b/lang/tomahawk_fr.ts @@ -331,37 +331,37 @@ de se connecter et streamer de vous? AudioControls - + Shuffle Lecture Aléatoire - + Repeat Répéter - + Time Elapsed Durée Ecoulé - + Time Remaining Durée Restante - + Playing from %1 - + Share Partager - + Love Favori @@ -3477,13 +3477,13 @@ saisissez le numéro PIN ici : - + Hide Menu Bar Masquer la barre de menu - + Show Menu Bar Afficher la barre de menu @@ -3498,136 +3498,136 @@ saisissez le numéro PIN ici : &Menu Principal - - - + + + Connect To Peer Connexion à un pair - + Enter peer address: Adresse du pair : - + Enter peer port: Port du pair : - + Enter peer key: Clé du pair : - + XSPF Error Erreur XSPF - + This is not a valid XSPF playlist. Ceci n'est pas une liste de lecture XSPF valide. - + Failed to save tracks Échec de la sauvegarde des pistes - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Certaines pistes dans la liste de lecture ne contiennent pas d'artiste ou de titre. Elles seront ignorées. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Désolé, il y a un problème d'accès à votre matériel audio ou la piste en cours va être sautée. Vérifiez que vous avez un backend Phonon et les plugins requis installés. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Désolé, il y a un problème d'accès à votre matériel audio ou la piste en cours , celle-ci va être sautée. - + Station Station - + Create New Station Créer une nouvelle station - + Name: Nom : - + Playlist Liste de lecture - + Automatic Playlist Liste de lecture automatique - + Pause Pause - + &Play &Lire - + Authentication Error Erreur d'authentification - + Error connecting to SIP: Authentication failed! Erreur de connexion SIP : échec de l'authentification ! - + %1 by %2 track, artist name %1 par %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Droit d'auteur 2010 - 2012 - + Thanks to: Merci a: - + About Tomahawk A propos de Tomahawk diff --git a/lang/tomahawk_gl.ts b/lang/tomahawk_gl.ts index c18c01d6d..d37c1bf8c 100644 --- a/lang/tomahawk_gl.ts +++ b/lang/tomahawk_gl.ts @@ -330,37 +330,37 @@ connect and stream from you? AudioControls - + Shuffle Ao chou - + Repeat Repetir - + Time Elapsed Tempo transcorrido - + Time Remaining Tempo que falta - + Playing from %1 Reproducindo de %1 - + Share Compartir - + Love gusta @@ -3477,13 +3477,13 @@ enter the displayed PIN number here: - + Hide Menu Bar Agochar a barra de menú - + Show Menu Bar Mostrar a barra de menú @@ -3498,137 +3498,137 @@ enter the displayed PIN number here: Menú &principal - - - + + + Connect To Peer Conectar cun parceiro - + Enter peer address: Introducir a dirección do parceiro: - + Enter peer port: Introducir o porto do parceiro: - + Enter peer key: Introducir a clave do parceiro: - + XSPF Error Erro XSPF - + This is not a valid XSPF playlist. Esta non é unha lista de XSPF válida. - + Failed to save tracks Fallou o gardado de pistas - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Algunhas pistas na lista de reprodución non indican nin artista nin o título. Ignoraranse. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Hai un problema accedendo ao teu dispositivo de son ou a pista que quere así que se omitirá. Asegúrate de ter o motor Phonon e os engadidos necesarios instalados. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Hai un problema accedendo ao teu dispositivo de son ou a pista que quere así que se omitirá. - + Station - + Create New Station Crear unha nova emisión - + Name: Nome: - + Playlist Lista de reprodución - + Automatic Playlist Lista de reprodución automática - + Pause Pausa - + &Play &Reproducir - + Authentication Error Erro de autenticación - + Error connecting to SIP: Authentication failed! Erro conectándose a SIP: Fallou a autentificación! - + %1 by %2 track, artist name %1 por %2 - + %1 - %2 current track, some window title %1.- %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Agradecementos: - + About Tomahawk Acerca de Tomahawk diff --git a/lang/tomahawk_hi_IN.ts b/lang/tomahawk_hi_IN.ts index 796b8ccb2..ed9aada7c 100644 --- a/lang/tomahawk_hi_IN.ts +++ b/lang/tomahawk_hi_IN.ts @@ -330,37 +330,37 @@ connect and stream from you? AudioControls - + Shuffle - + Repeat - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -3467,13 +3467,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3488,136 +3488,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error - + This is not a valid XSPF playlist. - + Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: - + Playlist - + Automatic Playlist - + Pause - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk diff --git a/lang/tomahawk_hu.ts b/lang/tomahawk_hu.ts index e2893ef0e..7d5f8199e 100644 --- a/lang/tomahawk_hu.ts +++ b/lang/tomahawk_hu.ts @@ -330,37 +330,37 @@ connect and stream from you? AudioControls - + Shuffle - + Repeat Ismétlés - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -3467,13 +3467,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3488,136 +3488,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error XSPF hiba - + This is not a valid XSPF playlist. Nem érvényes XSPF lejátszólista. - + Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station Rádióállomás - + Create New Station - + Name: - + Playlist Lejátszólista - + Automatic Playlist Automatikus lejátszólista - + Pause - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk Tomahawkról diff --git a/lang/tomahawk_it.ts b/lang/tomahawk_it.ts index 0bd41b80d..2c318a487 100644 --- a/lang/tomahawk_it.ts +++ b/lang/tomahawk_it.ts @@ -330,37 +330,37 @@ connect and stream from you? AudioControls - + Shuffle Riproduzione casuale - + Repeat Ripeti - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -3467,13 +3467,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3488,136 +3488,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer Connettiti al peer - + Enter peer address: Inserisci indirizzo peer: - + Enter peer port: Inserisci porta peer: - + Enter peer key: Inserisce chiave peer: - + XSPF Error Errore XSPF - + This is not a valid XSPF playlist. Questa non è una valida playlist XSPF. - + Failed to save tracks Errore nel salvare le tracce - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Alcune tracce nella playlist non contengono l'artista e il titolo. Verrano ignorate. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Spiacente, c'è un problema nell'accedere al tuo dispositivo audio o alla traccia desiderata, questa traccia verrà saltata. Assicurati di avere le giuste librerie Phonon e i plugin necessari installati. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Spiacente, c'è un problema nell'accedere al tuo dispositivo audio o alla traccia desiderata, questa traccia verrà saltata. - + Station Stazione - + Create New Station Crea una nuova stazione - + Name: Nome: - + Playlist Playlist - + Automatic Playlist Playlist automatica - + Pause Pausa - + &Play - + Authentication Error Errore nell'autenticazione - + Error connecting to SIP: Authentication failed! Errore di connessione al SIP: autenticazione fallita! - + %1 by %2 track, artist name %1 di %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Grazie a: - + About Tomahawk Info su Tomahawk diff --git a/lang/tomahawk_ja.ts b/lang/tomahawk_ja.ts index 2875317fc..f7bb65c9e 100644 --- a/lang/tomahawk_ja.ts +++ b/lang/tomahawk_ja.ts @@ -330,37 +330,37 @@ connect and stream from you? AudioControls - + Shuffle シャッフル - + Repeat リピート - + Time Elapsed 再生時間 - + Time Remaining 残り時間 - + Playing from %1 %1から再生中 - + Share シェアー - + Love Love @@ -3481,13 +3481,13 @@ Meta+Ctrl+Z - + Hide Menu Bar メニューバーを隠す - + Show Menu Bar メニューバーを表示 @@ -3502,136 +3502,136 @@ Meta+Ctrl+Z メインメニュー - - - + + + Connect To Peer ピアに接続する - + Enter peer address: ピアのアドレスを入力: - + Enter peer port: ピアのポートを入力: - + Enter peer key: ピアのキーを入力: - + XSPF Error XSPFエラー - + This is not a valid XSPF playlist. このプレイリストは有利なXSPFプレイリストではありません。 - + Failed to save tracks トラックの保存に失敗しました。 - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. プレイリストにアーティストもタイトルの無いトラックが見つかりました。この項目は無視されます。 - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. オーディオデバイス、又は要求トラックをアクセスすることができませんでしたので、このトラックは無視されます。適しているPhononのバックエンドを確認の上、必須プラグインのインストールを確認して下さい。 - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. オーディオデバイス、又は要求トラックをアクセスすることができませんでしたので、このトラックは無視されます。 - + Station ステーション - + Create New Station 新規ステーションを作成 - + Name: 名前: - + Playlist プレイリスト - + Automatic Playlist 自動プレイリスト - + Pause 一時停止 - + &Play 再生 - + Authentication Error 認証エラー - + Error connecting to SIP: Authentication failed! SIPへの接続エラー: 認証が失敗しました! - + %1 by %2 track, artist name %1 by %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Thanks to: - + About Tomahawk Tomahawkについて diff --git a/lang/tomahawk_lt.ts b/lang/tomahawk_lt.ts index 79e4be9f1..cd4eb895c 100644 --- a/lang/tomahawk_lt.ts +++ b/lang/tomahawk_lt.ts @@ -330,37 +330,37 @@ connect and stream from you? AudioControls - + Shuffle Maišyti - + Repeat Kartoti - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -3467,13 +3467,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3488,136 +3488,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error XSPF klaida - + This is not a valid XSPF playlist. - + Failed to save tracks Nepavyko išsaugoti takelių - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station Stotis - + Create New Station Sukurti naują stotį - + Name: Pavadinimas: - + Playlist Grojaraštis - + Automatic Playlist Automatinis grojaraštis - + Pause Pristabdyti - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Autorinės teisės 2010 - 2012 - + Thanks to: Dėkojame: - + About Tomahawk Apie Tomahawk diff --git a/lang/tomahawk_pl.ts b/lang/tomahawk_pl.ts index 85f80b250..c7a0ad6ea 100644 --- a/lang/tomahawk_pl.ts +++ b/lang/tomahawk_pl.ts @@ -331,37 +331,37 @@ połączyć się i strumieniować od ciebie? AudioControls - + Shuffle Losowo - + Repeat Powtarzaj - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love Lubię @@ -3477,13 +3477,13 @@ wprowadź pokazany numer PIN tutaj: - + Hide Menu Bar - + Show Menu Bar @@ -3498,136 +3498,136 @@ wprowadź pokazany numer PIN tutaj: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error Błąd XSPF - + This is not a valid XSPF playlist. To nie jest poprawna lista XSPF. - + Failed to save tracks Nie udało się zapisać utworów - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Niektóre utwory na liście nie zawierają artysty i tytułu. Zostaną one zignorowane. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Przepraszamy, wystąpił problem z połączeniem z twoim urządzeniem audio lub z żądanym utworem, zostanie on pominięty. - + Station - + Create New Station Utwórz Nową Stację - + Name: Nazwa: - + Playlist - + Automatic Playlist - + Pause Pauza - + &Play - + Authentication Error Błąd uwierzytelniania - + Error connecting to SIP: Authentication failed! Błąd łączenia z SIP: Uwierzytelnienie nieudane! - + %1 by %2 track, artist name %1 wykonawcy %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Podziękowania dla: - + About Tomahawk O Tomahawku diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts index 74aa397b1..6dd7488c0 100644 --- a/lang/tomahawk_pt_BR.ts +++ b/lang/tomahawk_pt_BR.ts @@ -331,37 +331,37 @@ se conecte e faça o stream de você? AudioControls - + Shuffle Shuffle - + Repeat Repetir - + Time Elapsed Tempo decorrido - + Time Remaining Tempo restante - + Playing from %1 Reproduzindo de %1 - + Share Compartilhar - + Love Gostar @@ -3477,13 +3477,13 @@ colocar o número PIN mostrado aqui: - + Hide Menu Bar Esconder barra de menu - + Show Menu Bar Mostrar barra de menu @@ -3498,136 +3498,136 @@ colocar o número PIN mostrado aqui: &Menu principal - - - + + + Connect To Peer Conectar-se ao par - + Enter peer address: Coloque o endereço do par: - + Enter peer port: Coloque a porta do par: - + Enter peer key: Coloque a chave do par: - + XSPF Error Erro de XSPF - + This is not a valid XSPF playlist. Esta não é uma lista de reprodução XSPF válida. - + Failed to save tracks Falha ao salvar faixas - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Algumas faixas da lista de reprodução não contem artista e título. Estas serão ignoradas. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. Desculpe, há um problema ao acessar sua placa de áudio ou a faixa desejada, a faixa atual será ignorada. Certifique-se de ter um backend do Phonon adequado e os plugins necessários instalados. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Desculpe, há um problema ao acessar sua placa de áudio ou a faixa desejada, a faixa atual será ignorada. - + Station Estação - + Create New Station Criar uma nova estação - + Name: Nome: - + Playlist Playlist - + Automatic Playlist Playlist Automática - + Pause PIN do Twitter - + &Play Re&produzir - + Authentication Error Erro de autenticação - + Error connecting to SIP: Authentication failed! Erro ao conectar ao SIP: Falha de autenticação! - + %1 by %2 track, artist name %1 de %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Copyright 2010 - 2012 - + Thanks to: Agradecimentos: - + About Tomahawk Sobre o Tomahawk diff --git a/lang/tomahawk_ru.ts b/lang/tomahawk_ru.ts index df130f4c1..a412db065 100644 --- a/lang/tomahawk_ru.ts +++ b/lang/tomahawk_ru.ts @@ -68,18 +68,18 @@ connect and stream from you? Connections - + Соединения Connect &All - + Соединиться со Всеми Disconnect &All - + Отключиться от Всех @@ -171,27 +171,30 @@ connect and stream from you? Load &XSPF... - + Загрузить &XSPF... U&pdate Collection - + Обновить коллекцию + Fully &Rescan Collection - + Полное сканирование коллекции + Show Offline Sources - + Показать содержимое не в сети + &Configure Tomahawk... - + &Настроить Tomahawk... @@ -259,12 +262,12 @@ connect and stream from you? Tracklist - + Треклист Other Albums - + Другие Альбомы @@ -332,37 +335,37 @@ connect and stream from you? AudioControls - + Shuffle Случаная - + Repeat Повторять - + Time Elapsed - + Прошедшее время - + Time Remaining - + Оставшееся время + + + + Playing from %1 + Воспроизводит из %1 - Playing from %1 - - - - Share - + Поделиться - + Love Любимый @@ -553,17 +556,17 @@ connect and stream from you? Much less - + Намного менее Less - + Менее A bit less - + Немного менее @@ -573,17 +576,17 @@ connect and stream from you? A bit more - + Немного более More - + Более Much more - + Намного более @@ -623,12 +626,12 @@ connect and stream from you? By Description - + По описанию Enter a description - + Введите описание @@ -654,12 +657,12 @@ connect and stream from you? This playlist is currently empty. - + Этот плейлист пуст. This playlist is currently empty. Add some tracks to it and enjoy the music! - + Этот плейлист пуст. Добавьте какие-нибудь песни и наслаждайтесь музыкой! @@ -854,7 +857,7 @@ connect and stream from you? Track Number: - + Номер Песни: @@ -919,7 +922,7 @@ connect and stream from you? Properties - + Свойства @@ -1023,17 +1026,17 @@ connect and stream from you? Perfect match - + Превосходное совпадение Very good match - + Очень хорошое совпадение Good match - + Хорошое совпадение @@ -1043,17 +1046,17 @@ connect and stream from you? Bad match - + Плохое совпадение Very bad match - + Очень плохое совпадение Not available - + Недоступно @@ -1081,19 +1084,19 @@ connect and stream from you? played %1 by you e.g. played 3 hours ago by you - + Воспроизводилась %1 вами played %1 by %2 e.g. played 3 hours ago by SomeSource - + Воспроизводилась %1 %2 added %1 e.g. added 3 hours ago - + Добавлен %1 @@ -1113,13 +1116,13 @@ connect and stream from you? A playlist you created %1. - + Плейлист, который вы создали %1. A playlist by %1, created %2. - + Плейлист %1, создан %2. @@ -1437,7 +1440,7 @@ connect and stream from you? Install from file - + Установить из файла @@ -1480,7 +1483,7 @@ connect and stream from you? Filter by capability: - + Фильтр по возможности: @@ -1488,22 +1491,22 @@ connect and stream from you? Remote Peer Connection Method - + Метод подключения к удаленным пирам None (outgoing connections only) - + Нет (только исходящие соединения) Use UPnP to establish port forward (recommended) - + Использование UPnP для проброса портов (рекомендуется) Use static external IP address/host name and port - + Использовать статический внешний ip адрес/имя хоста и порт @@ -1513,52 +1516,52 @@ connect and stream from you? Static Host Name: - + Статические имя хоста: Static Port: - + Статический порт: SOCKS Proxy - + SOCKS Прокси Use SOCKS Proxy - + Использовать SOCKS Прокси Proxy Settings... - + Настройки Прокси... Other Settings - + Другие Настройки Allow web browsers to interact with Tomahawk (recommended) - + Разрешить взаимодействие браузеров с Tomahawk (Рекомендуется) Send reports after Tomahawk crashed - + Отправлять отчеты при подениях Tomahawk Show notification when a new song starts to play - + Показать уведомление, когда новая песня начинает играть Clear All Access Control Entries - + Очистить все элементы управления доступом @@ -1566,7 +1569,7 @@ connect and stream from you? Path to scan for music files: - + Путь для поиска музыкальных файлов: @@ -1584,12 +1587,12 @@ connect and stream from you? Watch for changes - + Следите за изменениями Time between scans, in seconds: - + Время между проверками в секундах: @@ -1597,12 +1600,12 @@ connect and stream from you? On - + Включить Off - + Выключить @@ -1960,12 +1963,12 @@ connect and stream from you? Select All - + Выбрать все Sync Starred tracks to Loved tracks - + Синхронизировать Отмеченные песни с Любимыми @@ -2101,7 +2104,7 @@ connect and stream from you? Enter Google Address - + Ввести адрес Google @@ -2119,7 +2122,7 @@ connect and stream from you? Scrobble your tracks to last.fm, and find freely downloadable tracks to play - + Скроблинг ваших песен на last.fm и найти свободные песни для скачивания для воспроизведения @@ -2149,7 +2152,7 @@ connect and stream from you? History Incomplete. Resume Text on a button that resumes import - + История не завершена. Продолжить @@ -2208,7 +2211,7 @@ connect and stream from you? Re-enable playlist subscription - + Повторно включить подписку плейлиста @@ -2218,12 +2221,12 @@ connect and stream from you? Enable Spotify collaborations - + Включить сотрудничество с Spotify Disable Spotify collaborations - + Выключить сотрудничество с Spotify @@ -2419,7 +2422,7 @@ You may wish to try re-authenticating. Local Network - + Домашняя сеть @@ -2427,7 +2430,7 @@ You may wish to try re-authenticating. Local Network - + Домашняя сеть @@ -2870,7 +2873,7 @@ Try tweaking the filters for a new set of songs to play. from my radio - + от моего радио @@ -2890,27 +2893,27 @@ Try tweaking the filters for a new set of songs to play. very low - + Очень низкое low - + Низкое moderate - + Умереный high - + Высокое very high - + Очень высокое @@ -2968,7 +2971,7 @@ Try tweaking the filters for a new set of songs to play. Error fetching Grooveshark information from the network! - + Ошибка выборки информации из сети Grooveshark! @@ -3264,7 +3267,7 @@ enter the displayed PIN number here: Local Network - + Домашняя сеть @@ -3475,20 +3478,20 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar Search for any artist, album or song... - + Поиск любого исполнителя, альбома или песни ... @@ -3496,136 +3499,136 @@ enter the displayed PIN number here: &Главное меню - - - + + + Connect To Peer Связаться с Peer - + Enter peer address: Введите адрес узла: - + Enter peer port: Введите адрес порта: - + Enter peer key: Введите адрес ключа: - + XSPF Error Ошибка XSPF - + This is not a valid XSPF playlist. Это не является допустимым XSPF плейлистом. - + Failed to save tracks Не удалось сохранить песни - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Некоторые треки в плейлисте не содержат исполнителя и название. Они будут проигнорированы. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station Станция - + Create New Station Создать новую станцию - + Name: Имя: - + Playlist Плейлист - + Automatic Playlist Автоматический Плейлист - + Pause Пауза - + &Play &Играть - + Authentication Error Ошибка авторизации - + Error connecting to SIP: Authentication failed! Ошибка соединения с SIP: Ошибка авторизации! - + %1 by %2 track, artist name %1 %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 Авторское право 2010 - 2012 - + Thanks to: Благодарность - + About Tomahawk О Tomahawk @@ -3812,7 +3815,7 @@ You can re-send a sync message at any time simply by sending another tweet using Enter Twitter username - + Ввести имя пользователя Twitter @@ -3820,7 +3823,7 @@ You can re-send a sync message at any time simply by sending another tweet using This playlist is empty! - + Плейлист пуст. @@ -3878,7 +3881,7 @@ You can re-send a sync message at any time simply by sending another tweet using Recently played tracks - + Недавно воспроизводимые песни @@ -4191,7 +4194,7 @@ Lyrics for "%1" by %2: Enter Jabber ID - + Ввести Jabber ID diff --git a/lang/tomahawk_sv.ts b/lang/tomahawk_sv.ts index ccdf4c5c4..33d7e2aad 100644 --- a/lang/tomahawk_sv.ts +++ b/lang/tomahawk_sv.ts @@ -330,37 +330,37 @@ connect and stream from you? AudioControls - + Shuffle Blanda - + Repeat Upprepa - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -3473,13 +3473,13 @@ anger du PIN-koden här: - + Hide Menu Bar - + Show Menu Bar @@ -3494,136 +3494,136 @@ anger du PIN-koden här: - - - + + + Connect To Peer Anslut till klient - + Enter peer address: Ange klientadress: - + Enter peer port: Ange klientport: - + Enter peer key: Ange klientnyckel: - + XSPF Error XSPF-fel - + This is not a valid XSPF playlist. Detta är inte en giltig XSPF-spellista. - + Failed to save tracks Misslyckades med att spara spår - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. Några spår i spellistan innehåller inte någon artist och titel. De kommer att ignoreras. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Tyvärr blev det problem att hitta din ljudenhet eller den valda låten! Nuvarande låt kommer att hoppas över - + Station - + Create New Station Skapa ny station - + Name: Namn: - + Playlist - + Automatic Playlist - + Pause Paus - + &Play - + Authentication Error Autentiseringsfel - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name %1 av %2 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk diff --git a/lang/tomahawk_tr.ts b/lang/tomahawk_tr.ts index 0326fe20f..4d5ca151a 100644 --- a/lang/tomahawk_tr.ts +++ b/lang/tomahawk_tr.ts @@ -330,37 +330,37 @@ connect and stream from you? AudioControls - + Shuffle Karışık - + Repeat Yenile - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -3467,13 +3467,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3488,136 +3488,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer - + Enter peer address: - + Enter peer port: - + Enter peer key: - + XSPF Error - + This is not a valid XSPF playlist. - + Failed to save tracks - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: - + Playlist - + Automatic Playlist - + Pause - + &Play - + Authentication Error - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk diff --git a/lang/tomahawk_zh_CN.ts b/lang/tomahawk_zh_CN.ts index 10dc4c1cf..c0e735825 100644 --- a/lang/tomahawk_zh_CN.ts +++ b/lang/tomahawk_zh_CN.ts @@ -330,37 +330,37 @@ connect and stream from you? AudioControls - + Shuffle 无序播放 - + Repeat 重复播放 - + Time Elapsed 已播放时间 - + Time Remaining 剩余时间 - + Playing from %1 歌曲来自 %1 - + Share 分享 - + Love 喜欢 @@ -3478,13 +3478,13 @@ enter the displayed PIN number here: - + Hide Menu Bar 隐藏菜单栏 - + Show Menu Bar 显示菜单栏 @@ -3499,136 +3499,136 @@ enter the displayed PIN number here: 主菜单 - - - + + + Connect To Peer 连接到客户端 - + Enter peer address: 输入客户端地址: - + Enter peer port: 输入客户端端口: - + Enter peer key: 输入客户端密钥: - + XSPF Error XSPF 错误 - + This is not a valid XSPF playlist. 这不是一个合法的 XSPF 播放列表。 - + Failed to save tracks 保存歌曲失败。 - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. 播放列表中的一些歌曲缺失艺术家和标题,它们将被忽略。 - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. 抱歉,访问音频设备或者指定的歌曲时出错。当前歌曲将被跳过。请确认你正在使用合适的 Phonon 后端并安装了必要的插件。 - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. 抱歉,在访问音频设备或者指定的歌曲时出错。当前歌曲将被跳过。 - + Station 电台 - + Create New Station 创建新电台 - + Name: 名字: - + Playlist 播放列表 - + Automatic Playlist 自动播放列表 - + Pause 暂停 - + &Play 播放 - + Authentication Error 认证错误 - + Error connecting to SIP: Authentication failed! 连接到SIP 时错误:认证失败! - + %1 by %2 track, artist name %2 的 %1 - + %1 - %2 current track, some window title %1 - %2 - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 版权所有 2010 - 2012 - + Thanks to: 感谢: - + About Tomahawk 关于 Tomahawk diff --git a/lang/tomahawk_zh_TW.ts b/lang/tomahawk_zh_TW.ts index b2facadb1..71b122b7e 100644 --- a/lang/tomahawk_zh_TW.ts +++ b/lang/tomahawk_zh_TW.ts @@ -330,37 +330,37 @@ connect and stream from you? AudioControls - + Shuffle 隨機 - + Repeat 重複 - + Time Elapsed - + Time Remaining - + Playing from %1 - + Share - + Love @@ -3467,13 +3467,13 @@ enter the displayed PIN number here: - + Hide Menu Bar - + Show Menu Bar @@ -3488,136 +3488,136 @@ enter the displayed PIN number here: - - - + + + Connect To Peer 連接點對點 - + Enter peer address: 輸入對等地址: - + Enter peer port: 輸入對等連接埠: - + Enter peer key: 輸入對等密鑰: - + XSPF Error XSPF 錯誤 - + This is not a valid XSPF playlist. - + Failed to save tracks 無法儲存曲目 - + Some tracks in the playlist do not contain an artist and a title. They will be ignored. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed. - + Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. - + Station - + Create New Station - + Name: 名稱: - + Playlist - + Automatic Playlist - + Pause 暫停 - + &Play - + Authentication Error 驗證錯誤 - + Error connecting to SIP: Authentication failed! - + %1 by %2 track, artist name - + %1 - %2 current track, some window title - + <h2><b>Tomahawk %1<br/>(%2)</h2> <h2><b>Tomahawk %1<br/>(%2)</h2> - + <h2><b>Tomahawk %1</h2> <h2><b>Tomahawk %1</h2> - + Copyright 2010 - 2012 - + Thanks to: - + About Tomahawk From 4657efe2f3633c61591b8ac297fe36f9e45395e0 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 4 Jan 2013 08:06:50 +0100 Subject: [PATCH 318/332] * Fixed info button being placed too far right. --- src/libtomahawk/playlist/TreeItemDelegate.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libtomahawk/playlist/TreeItemDelegate.cpp b/src/libtomahawk/playlist/TreeItemDelegate.cpp index de7776f76..38db070b9 100644 --- a/src/libtomahawk/playlist/TreeItemDelegate.cpp +++ b/src/libtomahawk/playlist/TreeItemDelegate.cpp @@ -131,7 +131,7 @@ TreeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, if ( m_view->hoveredIndex() == index && !index.data().toString().isEmpty() && index.column() == 0 ) { - o.rect.setWidth( o.rect.width() - 16 ); + o.rect.setWidth( o.rect.width() - o.rect.height() ); QRect arrowRect( o.rect.x() + o.rect.width(), o.rect.y() + 1, o.rect.height() - 2, o.rect.height() - 2 ); QPixmap infoIcon = TomahawkUtils::defaultPixmap( TomahawkUtils::InfoIcon, TomahawkUtils::Original, arrowRect.size() ); From cbf6aa1a29523fa84754aa16656334e8319034ce Mon Sep 17 00:00:00 2001 From: Kilian Lackhove Date: Fri, 4 Jan 2013 10:26:46 +0100 Subject: [PATCH 319/332] fix subscribe and green dot svgs --- data/images/green-dot.svg | 107 +++++++++++++++++++++++++----- data/images/subscribe-off.svg | 84 ++++++++++++++++++++---- data/images/subscribe-on.svg | 120 +++++++++++++++++++++++++++++----- 3 files changed, 265 insertions(+), 46 deletions(-) diff --git a/data/images/green-dot.svg b/data/images/green-dot.svg index c3057e5c2..f8c4686e2 100644 --- a/data/images/green-dot.svg +++ b/data/images/green-dot.svg @@ -1,18 +1,93 @@ - - green-dot - Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + green-dot + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + - \ No newline at end of file + + diff --git a/data/images/subscribe-off.svg b/data/images/subscribe-off.svg index 141e5f2c8..b663e4920 100644 --- a/data/images/subscribe-off.svg +++ b/data/images/subscribe-off.svg @@ -1,15 +1,75 @@ - - subscribe-off - Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - - + + + + + image/svg+xml + + + + + + subscribe-off + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + - \ No newline at end of file + + diff --git a/data/images/subscribe-on.svg b/data/images/subscribe-on.svg index 95932bcdb..1a4d17a8d 100644 --- a/data/images/subscribe-on.svg +++ b/data/images/subscribe-on.svg @@ -1,20 +1,104 @@ - - subscribe-on - Created with Sketch (http://www.bohemiancoding.com/sketch) - - - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + subscribe-on + Created with Sketch (http://www.bohemiancoding.com/sketch) + + + + + + + + + + + + + - \ No newline at end of file + + From f7c616470126a3e5e26339e21c8ae28922c5b4cc Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 4 Jan 2013 10:59:02 +0100 Subject: [PATCH 320/332] * This doesn't make sense to me, but it fixes the play button being off-center. --- src/libtomahawk/widgets/PlayableCover.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libtomahawk/widgets/PlayableCover.cpp b/src/libtomahawk/widgets/PlayableCover.cpp index bcd095df1..3b135edc1 100644 --- a/src/libtomahawk/widgets/PlayableCover.cpp +++ b/src/libtomahawk/widgets/PlayableCover.cpp @@ -75,7 +75,7 @@ void PlayableCover::resizeEvent( QResizeEvent* event ) { QLabel::resizeEvent( event ); - m_button->move( contentsRect().center() - QPoint( 23, 23 ) ); + m_button->move( contentsRect().center() - QPoint( 22, 23 ) ); } From 8448e46c7eb9f89f9eb1e21068e5d1c90244eff2 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 4 Jan 2013 10:59:23 +0100 Subject: [PATCH 321/332] * Use correct default viewpage image for AlbumInfoWidget. --- src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp index e8e862b9c..f18fb710b 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp @@ -81,7 +81,7 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par ui->tracks->setFrameShape( QFrame::StyledPanel ); ui->tracks->setAttribute( Qt::WA_MacShowFocusRect, 0 ); - m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::Original, QSize( 48, 48 ) ); + m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, TomahawkUtils::Original, QSize( 48, 48 ) ); ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, TomahawkUtils::Grid, ui->cover->size() ) ); ui->cover->setShowText( true ); From 879648627a361767a91f3cd58d90d8772be36b98 Mon Sep 17 00:00:00 2001 From: Kilian Lackhove Date: Fri, 4 Jan 2013 11:11:50 +0100 Subject: [PATCH 322/332] update artist and album search wigets immediately on arbum/track found --- src/libtomahawk/widgets/SearchWidget.cpp | 74 +++++++++++++----------- src/libtomahawk/widgets/SearchWidget.h | 8 +-- 2 files changed, 45 insertions(+), 37 deletions(-) diff --git a/src/libtomahawk/widgets/SearchWidget.cpp b/src/libtomahawk/widgets/SearchWidget.cpp index 4a3e1e541..38cbe2122 100644 --- a/src/libtomahawk/widgets/SearchWidget.cpp +++ b/src/libtomahawk/widgets/SearchWidget.cpp @@ -116,6 +116,8 @@ SearchWidget::jumpToCurrentTrack() void SearchWidget::onResultsFound( const QList& results ) { + QList artists; + QList albums; foreach( const Tomahawk::result_ptr& result, results ) { if ( !result->collection().isNull() && !result->isOnline() ) @@ -129,32 +131,58 @@ SearchWidget::onResultsFound( const QList& results ) m_resultsModel->appendQuery( q ); - m_artists << result->artist(); - m_albums << result->album(); + artists << result->artist(); + albums << result->album(); } + + onArtistsFound( artists ); + onAlbumsFound( albums ); } void SearchWidget::onAlbumsFound( const QList& albums ) { - m_albums << albums; + foreach ( const Tomahawk::album_ptr& album, albums) + { + int distance = TomahawkUtils::levenshtein( m_search, album->name() ); + int maxlen = qMax( m_search.length(), album->name().length() ); + float score = (float)( maxlen - distance ) / maxlen; + + if ( score <= 0.1 ) + continue; + + m_albums.insert( score, album ); + tDebug() << Q_FUNC_INFO << "found album:" << album->name() << "score:" << score; + } + + updateAlbums(); } void SearchWidget::onArtistsFound( const QList& artists ) { - m_artists << artists; + foreach ( const Tomahawk::artist_ptr& artist, artists ) + { + int distance = TomahawkUtils::levenshtein( m_search, artist->name() ); + int maxlen = qMax( m_search.length(), artist->name().length() ); + float score = (float)( maxlen - distance ) / maxlen; + + if ( score <= 0.1 ) + continue; + + m_artists.insert( score, artist ); + tDebug() << Q_FUNC_INFO << "found artist:" << artist->name() << "score:" << score; + } + + updateArtists(); } void SearchWidget::onQueryFinished() { - sortAlbums(); - sortArtists(); - m_artistsModel->finishLoading(); m_albumsModel->finishLoading(); m_resultsModel->finishLoading(); @@ -162,25 +190,15 @@ SearchWidget::onQueryFinished() void -SearchWidget::sortArtists() +SearchWidget::updateArtists() { - QMap< float, Tomahawk::artist_ptr > ars; QList< Tomahawk::artist_ptr > sortedArtists; - foreach ( const Tomahawk::artist_ptr& artist, m_artists ) - { - int distance = TomahawkUtils::levenshtein( m_search, artist->name() ); - int maxlen = qMax( m_search.length(), artist->name().length() ); - float score = (float)( maxlen - distance ) / maxlen; - - ars.insert( score, artist ); - } - - QList< float > floats = ars.keys(); + QList< float > floats = m_artists.keys(); qSort( floats.begin(), floats.end() ); for ( int i = floats.count() - 1; i >= 0; i-- ) { - sortedArtists << ars.value( floats.at( i ) ); + sortedArtists << m_artists.value( floats.at( i ) ); } m_artistsModel->clear(); @@ -189,25 +207,15 @@ SearchWidget::sortArtists() void -SearchWidget::sortAlbums() +SearchWidget::updateAlbums() { - QMap< float, Tomahawk::album_ptr > ars; QList< Tomahawk::album_ptr > sortedAlbums; - foreach ( const Tomahawk::album_ptr& album, m_albums ) - { - int distance = TomahawkUtils::levenshtein( m_search, album->name() ); - int maxlen = qMax( m_search.length(), album->name().length() ); - float score = (float)( maxlen - distance ) / maxlen; - - ars.insert( score, album ); - } - - QList< float > floats = ars.keys(); + QList< float > floats = m_albums.keys(); qSort( floats.begin(), floats.end() ); for ( int i = floats.count() - 1; i >= 0; i-- ) { - sortedAlbums << ars.value( floats.at( i ) ); + sortedAlbums << m_albums.value( floats.at( i ) ); } m_albumsModel->clear(); diff --git a/src/libtomahawk/widgets/SearchWidget.h b/src/libtomahawk/widgets/SearchWidget.h index 8955f8904..c4da8481e 100644 --- a/src/libtomahawk/widgets/SearchWidget.h +++ b/src/libtomahawk/widgets/SearchWidget.h @@ -72,8 +72,8 @@ private slots: void onQueryFinished(); private: - void sortArtists(); - void sortAlbums(); + void updateArtists(); + void updateAlbums(); Ui::SearchWidget *ui; @@ -84,8 +84,8 @@ private: PlaylistModel* m_resultsModel; QList< Tomahawk::query_ptr > m_queries; - QList< Tomahawk::artist_ptr > m_artists; - QList< Tomahawk::album_ptr > m_albums; + QMap< float, Tomahawk::artist_ptr > m_artists; + QMap< float, Tomahawk::album_ptr > m_albums; }; #endif // NEWPLAYLISTWIDGET_H From 9b9c826f621e89a79b514d862e00746687a92925 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 4 Jan 2013 11:11:51 +0100 Subject: [PATCH 323/332] * Fixed repainting issues with PlayableCover. --- src/libtomahawk/widgets/PlayableCover.cpp | 11 +++++++++++ src/libtomahawk/widgets/PlayableCover.h | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/libtomahawk/widgets/PlayableCover.cpp b/src/libtomahawk/widgets/PlayableCover.cpp index 3b135edc1..2c5652f26 100644 --- a/src/libtomahawk/widgets/PlayableCover.cpp +++ b/src/libtomahawk/widgets/PlayableCover.cpp @@ -133,6 +133,7 @@ void PlayableCover::setPixmap( const QPixmap& pixmap ) { m_pixmap = TomahawkUtils::createRoundedImage( pixmap, size() ); + repaint(); } @@ -288,6 +289,7 @@ void PlayableCover::setArtist( const Tomahawk::artist_ptr& artist ) { m_artist = artist; + repaint(); } @@ -295,6 +297,7 @@ void PlayableCover::setAlbum( const Tomahawk::album_ptr& album ) { m_album = album; + repaint(); } @@ -302,4 +305,12 @@ void PlayableCover::setQuery( const Tomahawk::query_ptr& query ) { m_query = query; + repaint(); +} + + +void PlayableCover::setShowText( bool b ) +{ + m_showText = b; + repaint(); } diff --git a/src/libtomahawk/widgets/PlayableCover.h b/src/libtomahawk/widgets/PlayableCover.h index f96f1cba2..0a07af9e7 100644 --- a/src/libtomahawk/widgets/PlayableCover.h +++ b/src/libtomahawk/widgets/PlayableCover.h @@ -41,7 +41,7 @@ public: virtual ~PlayableCover(); bool showText() const { return m_showText; } - void setShowText( bool b ) { m_showText = b; } + void setShowText( bool b ); QPixmap pixmap() const { return m_pixmap; } From dec530cc24a8398efc71f3f8168d98ca9cd3f00c Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 4 Jan 2013 11:17:59 +0100 Subject: [PATCH 324/332] * Fixed default row sizehints in Album- & PlaylistLargeItemDelegate. --- src/libtomahawk/playlist/AlbumItemDelegate.cpp | 7 ++----- src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp | 7 ++----- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/libtomahawk/playlist/AlbumItemDelegate.cpp b/src/libtomahawk/playlist/AlbumItemDelegate.cpp index bdb38681a..2ba6700e2 100644 --- a/src/libtomahawk/playlist/AlbumItemDelegate.cpp +++ b/src/libtomahawk/playlist/AlbumItemDelegate.cpp @@ -64,11 +64,8 @@ AlbumItemDelegate::sizeHint( const QStyleOptionViewItem& option, const QModelInd { QSize size = QStyledItemDelegate::sizeHint( option, index ); - if ( index.isValid() ) - { - int rowHeight = option.fontMetrics.height() + 8; - size.setHeight( rowHeight * 1.5 ); - } + int rowHeight = option.fontMetrics.height() + 8; + size.setHeight( rowHeight * 1.5 ); return size; } diff --git a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp index ed3858dbb..30d248fcf 100644 --- a/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistLargeItemDelegate.cpp @@ -68,11 +68,8 @@ PlaylistLargeItemDelegate::sizeHint( const QStyleOptionViewItem& option, const Q { QSize size = QStyledItemDelegate::sizeHint( option, index ); - if ( index.isValid() ) - { - int rowHeight = option.fontMetrics.height() + 8; - size.setHeight( rowHeight * 3 ); - } + int rowHeight = option.fontMetrics.height() + 8; + size.setHeight( rowHeight * 3 ); return size; } From 1f966e1566a0d3cb74a4dc7988ca745c2f2321ed Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 4 Jan 2013 11:28:29 +0100 Subject: [PATCH 325/332] * Put About Tomahawk at the bottom of the Help menu. --- src/libtomahawk/ActionCollection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/ActionCollection.cpp b/src/libtomahawk/ActionCollection.cpp index f777be9f9..ea5f23e2b 100644 --- a/src/libtomahawk/ActionCollection.cpp +++ b/src/libtomahawk/ActionCollection.cpp @@ -158,12 +158,12 @@ ActionCollection::createMenuBar( QWidget *parent ) QMenu *helpMenu = new QMenu( tr( "&Help" ), menuBar ); helpMenu->addAction( m_actionCollection[ "diagnostics" ] ); - helpMenu->addAction( m_actionCollection[ "aboutTomahawk" ] ); helpMenu->addAction( m_actionCollection[ "legalInfo" ] ); + helpMenu->addAction( m_actionCollection[ "aboutTomahawk" ] ); // Setup update check #ifndef Q_OS_MAC - helpMenu->insertSeparator( m_actionCollection[ "aboutTomahawk" ] ); + helpMenu->insertSeparator( m_actionCollection[ "legalInfo" ] ); #endif #if defined( Q_OS_MAC ) && defined( HAVE_SPARKLE ) From ef108b6a6f1c917a6215a6d68f87e33e3ddd6079 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 4 Jan 2013 11:47:09 +0100 Subject: [PATCH 326/332] * Added openLogfile action to ActionCollection. --- src/libtomahawk/ActionCollection.cpp | 54 ++++++++++++++++------------ 1 file changed, 31 insertions(+), 23 deletions(-) diff --git a/src/libtomahawk/ActionCollection.cpp b/src/libtomahawk/ActionCollection.cpp index ea5f23e2b..6ce9b0f36 100644 --- a/src/libtomahawk/ActionCollection.cpp +++ b/src/libtomahawk/ActionCollection.cpp @@ -99,44 +99,47 @@ ActionCollection::initActions() connect( m_actionCollection[ "nextTrack" ], SIGNAL( triggered() ), ae, SLOT( next() ), Qt::UniqueConnection ); // main menu actions - m_actionCollection[ "loadXSPF" ] = new QAction( tr( "Load &XSPF..." ), this ); - m_actionCollection[ "updateCollection" ] = new QAction( tr( "U&pdate Collection" ), this ); - m_actionCollection[ "rescanCollection" ] = new QAction( tr( "Fully &Rescan Collection" ), this ); + m_actionCollection[ "loadXSPF" ] = new QAction( tr( "Load &XSPF..." ), this ); + m_actionCollection[ "updateCollection" ] = new QAction( tr( "U&pdate Collection" ), this ); + m_actionCollection[ "rescanCollection" ] = new QAction( tr( "Fully &Rescan Collection" ), this ); m_actionCollection[ "showOfflineSources" ] = new QAction( tr( "Show Offline Sources" ), this ); m_actionCollection[ "showOfflineSources" ]->setCheckable( true ); - m_actionCollection[ "preferences" ] = new QAction( tr( "&Configure Tomahawk..." ), this ); + m_actionCollection[ "preferences" ] = new QAction( tr( "&Configure Tomahawk..." ), this ); m_actionCollection[ "preferences" ]->setIcon( ImageRegistry::instance()->icon( RESPATH "images/configure.svg" ) ); m_actionCollection[ "preferences" ]->setMenuRole( QAction::PreferencesRole ); #ifdef Q_OS_MAC - m_actionCollection[ "minimize" ] = new QAction( tr( "Minimize" ), this ); + m_actionCollection[ "minimize" ] = new QAction( tr( "Minimize" ), this ); m_actionCollection[ "minimize" ]->setShortcut( QKeySequence( "Ctrl+M" ) ); - m_actionCollection[ "zoom" ] = new QAction( tr( "Zoom" ), this ); + m_actionCollection[ "zoom" ] = new QAction( tr( "Zoom" ), this ); m_actionCollection[ "zoom" ]->setShortcut( QKeySequence( "Meta+Ctrl+Z" ) ); #else - m_actionCollection[ "toggleMenuBar" ] = new QAction( tr( "Hide Menu Bar" ), this ); + m_actionCollection[ "toggleMenuBar" ] = new QAction( tr( "Hide Menu Bar" ), this ); m_actionCollection[ "toggleMenuBar" ]->setShortcut( QKeySequence( "Ctrl+M" ) ); m_actionCollection[ "toggleMenuBar" ]->setShortcutContext( Qt::ApplicationShortcut ); #endif - m_actionCollection[ "diagnostics" ] = new QAction( tr( "Diagnostics..." ), this ); + m_actionCollection[ "diagnostics" ] = new QAction( tr( "Diagnostics..." ), this ); m_actionCollection[ "diagnostics" ]->setMenuRole( QAction::ApplicationSpecificRole ); - m_actionCollection[ "aboutTomahawk" ] = new QAction( tr( "About &Tomahawk..." ), this ); + m_actionCollection[ "aboutTomahawk" ] = new QAction( tr( "About &Tomahawk..." ), this ); m_actionCollection[ "aboutTomahawk" ]->setIcon( ImageRegistry::instance()->icon( RESPATH "images/info.svg" ) ); m_actionCollection[ "aboutTomahawk" ]->setMenuRole( QAction::AboutRole ); - m_actionCollection[ "legalInfo" ] = new QAction( tr( "&Legal Information..." ), this ); + m_actionCollection[ "legalInfo" ] = new QAction( tr( "&Legal Information..." ), this ); m_actionCollection[ "legalInfo" ]->setMenuRole( QAction::ApplicationSpecificRole ); -#if defined( Q_OS_MAC ) && defined( HAVE_SPARKLE ) || defined( Q_WS_WIN ) - m_actionCollection[ "checkForUpdates" ] = new QAction( tr( "Check For Updates..." ), this ); + m_actionCollection[ "openLogfile" ] = new QAction( tr( "&View Logfile" ), this ); + m_actionCollection[ "openLogfile" ]->setMenuRole( QAction::ApplicationSpecificRole ); + #if defined( Q_OS_MAC ) && defined( HAVE_SPARKLE ) || defined( Q_WS_WIN ) + m_actionCollection[ "checkForUpdates" ] = new QAction( tr( "Check For Updates..." ), this ); m_actionCollection[ "checkForUpdates" ]->setMenuRole( QAction::ApplicationSpecificRole ); #endif - m_actionCollection[ "crashNow" ] = new QAction( "Crash now...", this ); + m_actionCollection[ "crashNow" ] = new QAction( "Crash now...", this ); } -QMenuBar * + +QMenuBar* ActionCollection::createMenuBar( QWidget *parent ) { - QMenuBar *menuBar = new QMenuBar( parent ); + QMenuBar* menuBar = new QMenuBar( parent ); - QMenu *controlsMenu = new QMenu( tr( "&Controls" ), menuBar ); + QMenu* controlsMenu = new QMenu( tr( "&Controls" ), menuBar ); controlsMenu->addAction( m_actionCollection[ "playPause" ] ); controlsMenu->addAction( m_actionCollection[ "previousTrack" ] ); controlsMenu->addAction( m_actionCollection[ "nextTrack" ] ); @@ -150,14 +153,15 @@ ActionCollection::createMenuBar( QWidget *parent ) controlsMenu->addSeparator(); controlsMenu->addAction( m_actionCollection[ "quit" ] ); - QMenu *settingsMenu = new QMenu( tr( "&Settings" ), menuBar ); + QMenu* settingsMenu = new QMenu( tr( "&Settings" ), menuBar ); #ifndef Q_OS_MAC settingsMenu->addAction( m_actionCollection[ "toggleMenuBar" ] ); #endif settingsMenu->addAction( m_actionCollection[ "preferences" ] ); - QMenu *helpMenu = new QMenu( tr( "&Help" ), menuBar ); + QMenu* helpMenu = new QMenu( tr( "&Help" ), menuBar ); helpMenu->addAction( m_actionCollection[ "diagnostics" ] ); + helpMenu->addAction( m_actionCollection[ "openLogfile" ] ); helpMenu->addAction( m_actionCollection[ "legalInfo" ] ); helpMenu->addAction( m_actionCollection[ "aboutTomahawk" ] ); @@ -180,21 +184,24 @@ ActionCollection::createMenuBar( QWidget *parent ) menuBar->addMenu( controlsMenu ); menuBar->addMenu( settingsMenu ); + #if defined( Q_OS_MAC ) - QMenu *windowMenu = new QMenu( tr( "&Window" ), menuBar ); + QMenu* windowMenu = new QMenu( tr( "&Window" ), menuBar ); windowMenu->addAction( m_actionCollection[ "minimize" ] ); windowMenu->addAction( m_actionCollection[ "zoom" ] ); menuBar->addMenu( windowMenu ); #endif + menuBar->addMenu( helpMenu ); return menuBar; } -QMenu * + +QMenu* ActionCollection::createCompactMenu( QWidget *parent ) { - QMenu *compactMenu = new QMenu( tr( "Main Menu" ), parent ); + QMenu* compactMenu = new QMenu( tr( "Main Menu" ), parent ); compactMenu->addAction( m_actionCollection[ "playPause" ] ); compactMenu->addAction( m_actionCollection[ "previousTrack" ] ); @@ -218,12 +225,13 @@ ActionCollection::createCompactMenu( QWidget *parent ) compactMenu->addSeparator(); compactMenu->addAction( m_actionCollection[ "diagnostics" ] ); - compactMenu->addAction( m_actionCollection[ "aboutTomahawk" ] ); + compactMenu->addAction( m_actionCollection[ "openLogfile" ] ); compactMenu->addAction( m_actionCollection[ "legalInfo" ] ); + compactMenu->addAction( m_actionCollection[ "aboutTomahawk" ] ); // Setup update check #ifndef Q_OS_MAC - compactMenu->insertSeparator( m_actionCollection[ "aboutTomahawk" ] ); + compactMenu->insertSeparator( m_actionCollection[ "legalInfo" ] ); #endif #if defined( Q_OS_MAC ) && defined( HAVE_SPARKLE ) From 4505260061f0d86da4d8676ee19cd5108890e823 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 4 Jan 2013 11:47:48 +0100 Subject: [PATCH 327/332] * Hook up openLogfile action to TomahawkWindow's slot. --- src/TomahawkWindow.cpp | 12 ++++++++++++ src/TomahawkWindow.h | 1 + 2 files changed, 13 insertions(+) diff --git a/src/TomahawkWindow.cpp b/src/TomahawkWindow.cpp index bf083b10e..bfd10c218 100644 --- a/src/TomahawkWindow.cpp +++ b/src/TomahawkWindow.cpp @@ -530,6 +530,7 @@ TomahawkWindow::setupSignals() connect( ac->getAction( "preferences" ), SIGNAL( triggered() ), SLOT( showSettingsDialog() ) ); connect( ac->getAction( "diagnostics" ), SIGNAL( triggered() ), SLOT( showDiagnosticsDialog() ) ); connect( ac->getAction( "legalInfo" ), SIGNAL( triggered() ), SLOT( legalInfo() ) ); + connect( ac->getAction( "openLogfile" ), SIGNAL( triggered() ), SLOT( openLogfile() ) ); connect( ac->getAction( "updateCollection" ), SIGNAL( triggered() ), SLOT( updateCollectionManually() ) ); connect( ac->getAction( "rescanCollection" ), SIGNAL( triggered() ), SLOT( rescanCollectionManually() ) ); connect( ac->getAction( "loadXSPF" ), SIGNAL( triggered() ), SLOT( loadSpiff() )); @@ -829,6 +830,17 @@ TomahawkWindow::legalInfo() } +void +TomahawkWindow::openLogfile() +{ +#ifdef WIN32 + ShellExecuteW( 0, 0, (LPCWSTR)Logger::logfilePath().utf16(), 0, 0, SW_SHOWNORMAL ); +#else + QDesktopServices::openUrl( QUrl::fromLocalFile( Logger::logFile() ) ); +#endif +} + + void TomahawkWindow::updateCollectionManually() { diff --git a/src/TomahawkWindow.h b/src/TomahawkWindow.h index 3807869ca..b666d0219 100644 --- a/src/TomahawkWindow.h +++ b/src/TomahawkWindow.h @@ -100,6 +100,7 @@ public slots: void showSettingsDialog(); void showDiagnosticsDialog(); void legalInfo(); + void openLogfile(); void updateCollectionManually(); void rescanCollectionManually(); void showOfflineSources(); From d6115d1b6dc41cfe4e385de6fffe2b4dbc29cd6d Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 4 Jan 2013 12:12:21 +0100 Subject: [PATCH 328/332] * Fixed Windows compile. --- src/TomahawkWindow.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/TomahawkWindow.cpp b/src/TomahawkWindow.cpp index bfd10c218..d2c58fa8f 100644 --- a/src/TomahawkWindow.cpp +++ b/src/TomahawkWindow.cpp @@ -84,6 +84,10 @@ #if defined ( WITH_QtSparkle ) #include #endif + + #include + #include + #ifndef THBN_CLICKED #define THBN_CLICKED 0x1800 #endif @@ -834,7 +838,7 @@ void TomahawkWindow::openLogfile() { #ifdef WIN32 - ShellExecuteW( 0, 0, (LPCWSTR)Logger::logfilePath().utf16(), 0, 0, SW_SHOWNORMAL ); + ShellExecuteW( 0, 0, (LPCWSTR)Logger::logFile().utf16(), 0, 0, SW_SHOWNORMAL ); #else QDesktopServices::openUrl( QUrl::fromLocalFile( Logger::logFile() ) ); #endif From ce562aeddf81d5c88ed7daaa0f1588cb9e28c653 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Fri, 4 Jan 2013 12:13:51 +0100 Subject: [PATCH 329/332] Remove obsolete actions from ui file. --- src/TomahawkWindow.ui | 136 ------------------------------------------ 1 file changed, 136 deletions(-) diff --git a/src/TomahawkWindow.ui b/src/TomahawkWindow.ui index 665100efb..3e81ad965 100644 --- a/src/TomahawkWindow.ui +++ b/src/TomahawkWindow.ui @@ -62,142 +62,6 @@ - - - &Quit - - - Ctrl+Q - - - QAction::QuitRole - - - - - Go &Online - - - - - Add &Friend... - - - - - U&pdate Collection - - - Update Collection - - - - - &Configure Tomahawk... - - - QAction::PreferencesRole - - - - - Load &XSPF... - - - - - Create &New Playlist... - - - - - About &Tomahawk... - - - QAction::AboutRole - - - - - Create New &Automatic Playlist - - - - - Create New &Station - - - - - true - - - Show Offline Sources - - - - - Hide Offline Sources - - - - - Minimize - - - Ctrl+M - - - - - Zoom - - - Meta+Ctrl+Z - - - - - &Legal Info... - - - QAction::ApplicationSpecificRole - - - - - Diagnostics... - - - QAction::ApplicationSpecificRole - - - - - Fully &Rescan Collection - - - Fully Rescan Collection - - - - - Play - - - Space - - - - - Previous - - - - - Next - - From 5e4b0b96be85a607f7584ef8ce09dfc85ca541ca Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 4 Jan 2013 12:39:00 +0100 Subject: [PATCH 330/332] * Style clean up for TomahawkWindow. --- src/TomahawkWindow.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/TomahawkWindow.cpp b/src/TomahawkWindow.cpp index d2c58fa8f..73e4c717b 100644 --- a/src/TomahawkWindow.cpp +++ b/src/TomahawkWindow.cpp @@ -140,8 +140,7 @@ TomahawkWindow::TomahawkWindow( QWidget* parent ) if ( qApp->arguments().contains( "--debug" ) ) { - connect( ActionCollection::instance()->getAction( "crashNow" ), SIGNAL( triggered() ), - this, SLOT( crashNow() ) ); + connect( ActionCollection::instance()->getAction( "crashNow" ), SIGNAL( triggered() ), SLOT( crashNow() ) ); } // set initial state @@ -233,7 +232,7 @@ TomahawkWindow::applyPlatformTweaks() // nothing and in QtCurve does evil things), and avoid forwarding it // to QtCurve. bool isQtCurve = false; - if( QString( qApp->style()->metaObject()->className() ).toLower().contains( "qtcurve" ) ) + if ( QString( qApp->style()->metaObject()->className() ).toLower().contains( "qtcurve" ) ) isQtCurve = true; qApp->setStyle( new ProxyStyle( isQtCurve ) ); @@ -506,7 +505,7 @@ HICON TomahawkWindow::thumbIcon(TomahawkUtils::ImageType type) { static QMap thumbIcons; - if(!thumbIcons.contains( type ) ) + if (!thumbIcons.contains( type ) ) { QPixmap pix ( TomahawkUtils::defaultPixmap(type , TomahawkUtils::Original, QSize( 20, 20 ) ) ); thumbIcons[type] = pix.toWinHICON(); @@ -568,6 +567,7 @@ TomahawkWindow::setupMenuBar() #endif } + void TomahawkWindow::changeEvent( QEvent* e ) { @@ -895,10 +895,10 @@ TomahawkWindow::addPeerManually() void TomahawkWindow::showOfflineSources() { - m_sourcetree->showOfflineSources( ActionCollection::instance() - ->getAction( "showOfflineSources" )->isChecked() ); - TomahawkSettings::instance()->setShowOfflineSources( ActionCollection::instance() - ->getAction( "showOfflineSources" )->isChecked() ); + m_sourcetree->showOfflineSources( + ActionCollection::instance()->getAction( "showOfflineSources" )->isChecked() ); + TomahawkSettings::instance()->setShowOfflineSources( + ActionCollection::instance()->getAction( "showOfflineSources" )->isChecked() ); } @@ -1326,7 +1326,7 @@ void TomahawkWindow::toggleMenuBar() //SLOT { #ifndef Q_OS_MAC - if( menuBar()->isVisible() ) + if ( menuBar()->isVisible() ) { menuBar()->setVisible( false ); ActionCollection::instance()->getAction( "toggleMenuBar" )->setText( tr( "Show Menu Bar" ) ); From c6d8da2e988da75bd0777b7164078cf1bedf6887 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 4 Jan 2013 12:48:19 +0100 Subject: [PATCH 331/332] * AudioEngine shouldn't emit started() until we're really in playing state. --- src/libtomahawk/audio/AudioEngine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libtomahawk/audio/AudioEngine.cpp b/src/libtomahawk/audio/AudioEngine.cpp index a196f326c..c39ad6311 100644 --- a/src/libtomahawk/audio/AudioEngine.cpp +++ b/src/libtomahawk/audio/AudioEngine.cpp @@ -496,7 +496,6 @@ AudioEngine::loadTrack( const Tomahawk::result_ptr& result ) } m_input = io; queueState( Playing ); - emit started( m_currentTrack ); if ( TomahawkSettings::instance()->privateListeningMode() != TomahawkSettings::FullyPrivate ) { @@ -750,6 +749,7 @@ AudioEngine::onStateChanged( Phonon::State newState, Phonon::State oldState ) } if ( newState == Phonon::PlayingState ) { + emit started( m_currentTrack ); setState( Playing ); } From 68e3bcb54bb6a94939b34e5ddf28351da17f45bd Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 4 Jan 2013 12:49:06 +0100 Subject: [PATCH 332/332] * More silly style fixes. --- src/TomahawkWindow.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/TomahawkWindow.cpp b/src/TomahawkWindow.cpp index 73e4c717b..095499b37 100644 --- a/src/TomahawkWindow.cpp +++ b/src/TomahawkWindow.cpp @@ -522,8 +522,8 @@ TomahawkWindow::setupSignals() connect( AudioEngine::instance(), SIGNAL( error( AudioEngine::AudioErrorCode ) ), SLOT( onAudioEngineError( AudioEngine::AudioErrorCode ) ) ); connect( AudioEngine::instance(), SIGNAL( loading( const Tomahawk::result_ptr& ) ), SLOT( onPlaybackLoading( const Tomahawk::result_ptr& ) ) ); connect( AudioEngine::instance(), SIGNAL( started( Tomahawk::result_ptr ) ), SLOT( audioStarted() ) ); - connect( AudioEngine::instance(), SIGNAL( finished(Tomahawk::result_ptr) ), SLOT( audioFinished() ) ); - connect( AudioEngine::instance(), SIGNAL( resumed()), SLOT( audioStarted() ) ); + connect( AudioEngine::instance(), SIGNAL( finished( Tomahawk::result_ptr ) ), SLOT( audioFinished() ) ); + connect( AudioEngine::instance(), SIGNAL( resumed() ), SLOT( audioStarted() ) ); connect( AudioEngine::instance(), SIGNAL( paused() ), SLOT( audioPaused() ) ); connect( AudioEngine::instance(), SIGNAL( stopped() ), SLOT( audioStopped() ) ); @@ -536,7 +536,7 @@ TomahawkWindow::setupSignals() connect( ac->getAction( "openLogfile" ), SIGNAL( triggered() ), SLOT( openLogfile() ) ); connect( ac->getAction( "updateCollection" ), SIGNAL( triggered() ), SLOT( updateCollectionManually() ) ); connect( ac->getAction( "rescanCollection" ), SIGNAL( triggered() ), SLOT( rescanCollectionManually() ) ); - connect( ac->getAction( "loadXSPF" ), SIGNAL( triggered() ), SLOT( loadSpiff() )); + connect( ac->getAction( "loadXSPF" ), SIGNAL( triggered() ), SLOT( loadSpiff() ) ); connect( ac->getAction( "aboutTomahawk" ), SIGNAL( triggered() ), SLOT( showAboutTomahawk() ) ); connect( ac->getAction( "quit" ), SIGNAL( triggered() ), qApp, SLOT( quit() ) ); connect( ac->getAction( "showOfflineSources" ), SIGNAL( triggered() ), SLOT( showOfflineSources() ) ); @@ -634,7 +634,7 @@ TomahawkWindow::keyPressEvent( QKeyEvent* e ) #if ! defined ( Q_OS_MAC ) #define KEY_PRESSED Q_FUNC_INFO << "Multimedia Key Pressed:" - switch( e->key() ) + switch ( e->key() ) { case Qt::Key_MediaPlay: tLog() << KEY_PRESSED << "Play"; @@ -681,12 +681,12 @@ TomahawkWindow::winEvent( MSG* msg, long* result ) { #define TB_PRESSED Q_FUNC_INFO << "Taskbar Button Pressed:" - switch( msg->message ) + switch ( msg->message ) { case WM_COMMAND: if ( HIWORD( msg->wParam ) == THBN_CLICKED ) { - switch( TB_STATES(LOWORD( msg->wParam )) ) + switch ( TB_STATES( LOWORD( msg->wParam ) ) ) { case TP_PREVIOUS: tLog() << TB_PRESSED << "Previous";