From 24962c4ddcfcca6d4d263c17cea574cfb8dd8c6f Mon Sep 17 00:00:00 2001 From: Ivan Frade Date: Fri, 1 Apr 2011 12:17:22 +0300 Subject: [PATCH] ui: First QML files for the UI --- ui/AlbumList.qml | 52 +++++++++++++++++++++++++++++++++++++++++++++ ui/Albums.qml | 13 ++++++++++++ ui/FancyButton.qml | 41 +++++++++++++++++++++++++++++++++++ ui/images/button-blue.png | Bin 0 -> 1565 bytes ui/images/button-red.png | Bin 0 -> 1586 bytes ui/main.qml | 51 ++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 157 insertions(+) create mode 100644 ui/AlbumList.qml create mode 100644 ui/Albums.qml create mode 100644 ui/FancyButton.qml create mode 100644 ui/images/button-blue.png create mode 100644 ui/images/button-red.png create mode 100644 ui/main.qml diff --git a/ui/AlbumList.qml b/ui/AlbumList.qml new file mode 100644 index 0000000..aae9fa4 --- /dev/null +++ b/ui/AlbumList.qml @@ -0,0 +1,52 @@ +import Qt 4.7 + +ListView { + id: albumListView + anchors.fill: parent + + delegate: Component { + Rectangle { + width: albumListView.width + height: 60 + color: ((index % 2 == 0) ? "#222":"#111") + + Image { + id: cover + source: model.album.album_art || "images/button-blue.png" + width: 50 + height: 50 + anchors.left: parent.left + anchors.top: parent.top + anchors.leftMargin: (parent.height - width)/2 + anchors.topMargin: (parent.height - height)/2 + } + + + Text { + id:title + text:model.album.title + color: "white" + font.bold: true + anchors.top: parent.top + anchors.left: cover.right + anchors.right: parent.right + anchors.bottom: parent.verticalCenter + verticalAlignment: Text.AlignBottom + anchors.leftMargin: 10 + } + + Text { + id:artist + text:model.album.artist + color: "#aaa" + anchors.top: title.bottom + anchors.left: cover.right + anchors.right: parent.right + anchors.bottom: parent.bottom + verticalAlignment: Text.AlignTop + anchors.leftMargin: 10 + } + } + } + +} diff --git a/ui/Albums.qml b/ui/Albums.qml new file mode 100644 index 0000000..708d947 --- /dev/null +++ b/ui/Albums.qml @@ -0,0 +1,13 @@ +import Qt 4.7 + +/* Just a main to show the list of albums */ +Rectangle { + id:screen + width: 800 + height: 480 + color: "black" + + AlbumList { + model: albumModel + } +} diff --git a/ui/FancyButton.qml b/ui/FancyButton.qml new file mode 100644 index 0000000..8ef309e --- /dev/null +++ b/ui/FancyButton.qml @@ -0,0 +1,41 @@ +import Qt 4.7 + +Item { + + id: fancyItem + + property alias source: internalImage.source + property alias caption: captionItem.text + + signal clicked; + + width: 80 + height: 100 + + Image { + id: internalImage + anchors.fill: parent + width: parent.width; height: parent.height - captionItem.height + } + + Text { + id: captionItem + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: internalImage.bottom + + color: "white" + font.pointSize: 24 + } + + MouseArea { + id: mouseArea + anchors.fill: parent + onClicked: { fancyItem.clicked () } + } + + states: State { + name: "pressed"; when: mouseArea.pressed == true + PropertyChanges { target: fancyItem; opacity: .4 } + } + +} diff --git a/ui/images/button-blue.png b/ui/images/button-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..5f92de32d0fbce073b5161bc54b1b31a42f4dfd0 GIT binary patch literal 1565 zcmV+&2IBdNP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2igP= z0~0cN?2R-4001I%MObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakAa8CUVIWOmV~41B zLjV8;Z%IT!RA}DanoDS$RTRg6=iEEVqz_xGwlUfYRVyyUg^!ALq4-#+2%;jW;6g-D z7qu?LrJx%(F4U#2L~tR3SX5A3iuPfmsBLYnNn_JA&&k8QI+@IOkBj?#UuLW*2yJHO z!VNQlZ)X1Y|3Ck8?>SchL z2$&iDzyHSInLjx6-JUmp>Dm7dW~YsS00tnCKP4hy(ti2oEf2i(%4;8Q?Apfo^q)*l z%`tm+iL+-HFDM8z13*<#fkLsshSjSm7Cqyq`}p9!Hy<1y8QzTs(cmnQq+kTpxcQ;S zp6Y)1iDwy~T4Z2wjD^K25OC`94_~PvCR8opoUo>&NU;s}eE!k!fv-Qg8DU5)!azg{ zPd@WP<=*=rr*CkA(b5zl#MSZ66AU1%D42{n2}V#TIAKk(jc@mSI&kpI53dbE#ffP9 zZMWaC`_ZRf+}bxV&gjGpYJv!eD2Cz1AR=Fpi5Vs_6vSd!lRzcF#;&dFCdSTeoSqyy zuFeF(#8wlDab zZr!n~t>Ys4PY&k*{vM1CF~lt!gG6uuhH%NHo9Nnd&0YTb8@Jy%JHNa-3}?dw8YJKEmXK{W}eYMrFA_Zj*XXD0m(xmrxq zL?3d=c{3xR*%Qkvk^YU8HiFCyLr{qaL{a_3lCFp8NF zEZ|fl00k`MVeLf(Q6pw0%OB18X&{RhFqCIYit?ma$V0v&=gE!Kw9YcBCd|Ef79fO$}DSNNZfjf86we= zLsE^*%+Jr)(bc#ylP)TPiK1%xZHA@F5|wfpKRG@^+q%xC*wVy)Ot$dR5X6ki!VL4X zQ}|Q8huL<^6-@vn>uDNTAUjPefj_54nH(KJf9l?kb1t{LMxI&mrPg^Xl?tViAx2O4 z@6}%peDTQm@F^C7K*sp_liFYTnzu?nYxQ%?wi1aQt{=eZX3Pfg)}yL>cu<|M~@_Hndl-&aHZ$KS>5 zpaVq-l~cVx56@0dJh*!8#du$&*wK!N!>1pr&LgVlZBirU+Lm|@)OkdpyfDLwBi;Pk zy@w;;f4z6`%d|1jFVlZlk`wP=u+i|&MUXQfAOZx zmlr!$v1;vlLQ=ip89(duCrQHm>=bh|(@al{ygXeR`OHGn2kDJDQy}mc8&Z4>pi6!} P00000NkvXXu0mjfvD)Jf literal 0 HcmV?d00001 diff --git a/ui/images/button-red.png b/ui/images/button-red.png new file mode 100644 index 0000000000000000000000000000000000000000..3b335891aea798c5fadf4c3d61c74ca7ad79ed8d GIT binary patch literal 1586 zcmV-22F>}2P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2igP= z0~Zv}jm^yf001I%MObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakAa8CUVIWOmV~41B zLjV8;gh@m}RA}DanoDS$RTRg6=iED)Nux&FYHE>Ii}kT^A^1kY7a~{`bfa!uDuPfI z1o!Gf5I4FNL=h3(DToGNRIpmaN40U%)}}Q{lT4aSo9BFU?{RUznM{fzD9t=BT#}hg zlJo!m=YP(*_Z$Hb5e!2NL=iK&?4Fx$eD2;`Z`!+a+okNeLL&r)J2i zXQ-_%Z72vcOLnP41)M9=KePqc*U#vwSzdYP{XHita~}(cAQlNZ7y(3Xcw*0<@1J_; zL9&@CDkqK+mKKQ-T)`2Iwk}nOSsldFf58BuIKX>feLeZX{sT84Oo)Mi;x!hYdGxW` zU* zF6irHx-#7aaJCpbVKwYAOCeX)AcBj5ZCf{U^|qnA{B74%b;zl__FKf`=qHG0+wWqV09N7{G~OF&U<+&2%B^D0z?emx_dXz_l2w zLi4q#v>iyprshM9DevUpLP&|jn;B|xoygWFt2O;}N+3w~q#)&5-uF&~f)naF+Efpv zuTF&c4-o<~#EqPv%f zBxXbe*X?Lj*T8i9Qou{Jo&aNY%bCebn6B20wrGY9$|e6f0MJtEcfD@B&^rO3SC~nf zL3#rWf)^EhhZU3mb@>J(y}?YcxLHFpPP;#vrSpvIjU2P4nLsLOdZhxO2iWn5_Jo^> z2)=pk*)u0ila9Es{D1cyf|p>ZYWKTYu(k6{58z1wKzpH_5kawt`p&1tLf)&1Eq$Xb z&{|u1bv_+#I^54f2!E&gb$y$3*Q|luD>ZjQ^kq@)oMEPwEpyPJtn zt!12ASi=8!{7-gVad}q&!6F3KwOI`1Wc4)1=I7CUzx<4IZY|t(@K($7NnU%28LL^w z#B7D5Gt*z{M+bj<-%2&^fMNgS6Im>h{Pm~)p(B#FX>?Sq31s7LacZ6QJ};0vB;=XQEV5Y%ZJE6JO})|^3T zeh9I|(BauxJ|7+B^YZV*zfMiPY1p?86ccJcj7?5f7S8P1Jg|vU$x|$rZ~{{Bm_?jA zRP>zf##D$j+T*syiiqGe>3Y6au!lS`dj48vPT3ljoX_1NQ>E};Y k=Rc|&M