Merge lp:~roman2861/zmusic/online-accounts into lp:zmusic
- online-accounts
- Merge into development
Proposed by
Roman Zonov
Status: | Merged |
---|---|
Merge reported by: | Roman Zonov |
Merged at revision: | not available |
Proposed branch: | lp:~roman2861/zmusic/online-accounts |
Merge into: | lp:zmusic |
Diff against target: |
2747 lines (+2559/-0) (has conflicts) 26 files modified
.excludes (+5/-0) About.qml (+24/-0) Collection.qml (+31/-0) Functions.js (+303/-0) MyTracks.qml (+65/-0) Popular.qml (+50/-0) Search.qml (+112/-0) Settings.qml (+15/-0) TracksT.qml (+47/-0) Tutorial.qml (+314/-0) URLQuery.js (+59/-0) components/AwesomeIcon.qml (+102/-0) components/Walkthough.qml (+156/-0) locale/en.po (+141/-0) locale/messages.pot (+139/-0) locale/ru.po (+143/-0) manifest.json (+21/-0) plugin/com.ubuntu.developer.roman2861.zmusic_vk.provider (+27/-0) plugin/qml/Main.qml (+33/-0) zmusic.apparmor (+11/-0) zmusic.application (+11/-0) zmusic.desktop (+10/-0) zmusic.qml (+333/-0) zmusic.qmlproject (+59/-0) zmusic.qmlproject.user (+342/-0) zmusic.service (+6/-0) Conflict adding file .excludes. Moved existing file to .excludes.moved. Conflict adding file About.qml. Moved existing file to About.qml.moved. Conflict adding file Collection.qml. Moved existing file to Collection.qml.moved. Conflict adding file Functions.js. Moved existing file to Functions.js.moved. Conflict adding file MyTracks.qml. Moved existing file to MyTracks.qml.moved. Conflict adding file Popular.qml. Moved existing file to Popular.qml.moved. Conflict adding file Search.qml. Moved existing file to Search.qml.moved. Conflict adding file Settings.qml. Moved existing file to Settings.qml.moved. Conflict adding file TracksT.qml. Moved existing file to TracksT.qml.moved. Conflict adding file Tutorial.qml. Moved existing file to Tutorial.qml.moved. Conflict adding file URLQuery.js. Moved existing file to URLQuery.js.moved. Conflict adding file components. Moved existing file to components.moved. Conflict adding file graphics. Moved existing file to graphics.moved. Conflict adding file locale. Moved existing file to locale.moved. Conflict adding file manifest.json. Moved existing file to manifest.json.moved. Conflict adding file zmusic.apparmor. Moved existing file to zmusic.apparmor.moved. Conflict adding file zmusic.desktop. Moved existing file to zmusic.desktop.moved. Conflict adding file zmusic.qml. Moved existing file to zmusic.qml.moved. Conflict adding file zmusic.qmlproject. Moved existing file to zmusic.qmlproject.moved. Conflict adding file zmusic.qmlproject.user. Moved existing file to zmusic.qmlproject.user.moved. |
To merge this branch: | bzr merge lp:~roman2861/zmusic/online-accounts |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Roman Zonov | Approve | ||
Review via email: mp+243219@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Revision history for this message
Roman Zonov (roman2861) : | # |
review:
Approve
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added file '.excludes' |
2 | --- .excludes 1970-01-01 00:00:00 +0000 |
3 | +++ .excludes 2014-11-29 21:53:09 +0000 |
4 | @@ -0,0 +1,5 @@ |
5 | +Makefile |
6 | +*.tmp |
7 | +.bzr |
8 | +.git |
9 | + |
10 | |
11 | === renamed file '.excludes' => '.excludes.moved' |
12 | === added file 'About.qml' |
13 | --- About.qml 1970-01-01 00:00:00 +0000 |
14 | +++ About.qml 2014-11-29 21:53:09 +0000 |
15 | @@ -0,0 +1,24 @@ |
16 | +import QtQuick 2.0 |
17 | +import Ubuntu.Components 1.1 |
18 | + |
19 | +Page { |
20 | + id: about |
21 | + Column { |
22 | + spacing: units.gu(2) |
23 | + anchors.centerIn: parent |
24 | + UbuntuShape { |
25 | + width: if(mainview.width > mainview.height) { mainview.height/2 } else { mainview.width/2 } |
26 | + height: width |
27 | + anchors.horizontalCenter: parent.horizontalCenter |
28 | + image: Image { |
29 | + anchors.fill: parent |
30 | + source: "graphics/author.jpg" |
31 | + } |
32 | + } |
33 | + Text { |
34 | + anchors.horizontalCenter: parent.horizontalCenter |
35 | + font.pointSize: units.gu(2) |
36 | + text: "Made by Zonov Roman" |
37 | + } |
38 | + } |
39 | +} |
40 | |
41 | === renamed file 'About.qml' => 'About.qml.moved' |
42 | === added file 'Collection.qml' |
43 | --- Collection.qml 1970-01-01 00:00:00 +0000 |
44 | +++ Collection.qml 2014-11-29 21:53:09 +0000 |
45 | @@ -0,0 +1,31 @@ |
46 | +import QtQuick 2.0 |
47 | + |
48 | +import QtMultimedia 5.0 |
49 | +import Ubuntu.DownloadManager 0.1 |
50 | +import "Functions.js" as Js |
51 | +import Ubuntu.Components 1.1 |
52 | +import QtQuick.LocalStorage 2.0 |
53 | +import Qt.labs.folderlistmodel 1.0 |
54 | + |
55 | +import Ubuntu.Components.Popups 0.1 |
56 | +import Ubuntu.Components.ListItems 0.1 |
57 | +import "URLQuery.js" as URLQuery |
58 | + |
59 | +Page { |
60 | + id: spage |
61 | + UbuntuListView { |
62 | + id: downloadedview |
63 | + anchors.fill: parent |
64 | + model: collectionmodel |
65 | + anchors.bottomMargin: units.gu(7) |
66 | + delegate: Subtitled { |
67 | + text: tracktitle |
68 | + subText: artist |
69 | + progression: true |
70 | + removable: true |
71 | + confirmRemoval: true |
72 | + onItemRemoved: Js.deletecollection(id_track); |
73 | + onClicked: { player.source=url; mainview.issearch=0; mainview.ispopular=0; mainview.iscollection=1; mainview.csong=ii-1; pl.start(); /*selected = !selected;*/ Js.getAtristArt(artist); track_title.text=tracktitle; track_artist.text=artist; if(mainview.sendtostatus) { Js.setBroadcast(owner,track_id); } } |
74 | + } |
75 | + } |
76 | +} |
77 | |
78 | === renamed file 'Collection.qml' => 'Collection.qml.moved' |
79 | === added file 'Functions.js' |
80 | --- Functions.js 1970-01-01 00:00:00 +0000 |
81 | +++ Functions.js 2014-11-29 21:53:09 +0000 |
82 | @@ -0,0 +1,303 @@ |
83 | +.import QtQuick.LocalStorage 2.0 as Sql |
84 | + |
85 | +function gettoken(it) { |
86 | + var txt; |
87 | + var db = Sql.LocalStorage.openDatabaseSync("zmusicdb", "1.0", "zMusic DB", 1000000); |
88 | + db.transaction( |
89 | + function(tx) { |
90 | + tx.executeSql('CREATE TABLE IF NOT EXISTS at(actoken TEXT, ownerid TEXT)'); |
91 | + //tx.executeSql('INSERT INTO at VALUES(?, ?)', [ 'hello', 'world' ]); |
92 | + var rs = tx.executeSql('SELECT * FROM at'); |
93 | + var r = "" |
94 | + for(var i = 0; i < rs.rows.length; i++) { |
95 | + if(it===1) { |
96 | + r += rs.rows.item(i).actoken; |
97 | + } |
98 | + else { |
99 | + r += rs.rows.item(i).ownerid; |
100 | + } |
101 | + } |
102 | + if(rs.rows.length===0) { txt=0; } else { txt=r; } |
103 | + } |
104 | + ) |
105 | + //console.log(txt); |
106 | + return txt; |
107 | +} |
108 | +function insertactoken(atval,ownerid) { |
109 | + var db = Sql.LocalStorage.openDatabaseSync("zmusicdb", "1.0", "zMusic DB", 1000000); |
110 | + db.transaction( |
111 | + function(tx) { |
112 | + tx.executeSql('DELETE FROM at WHERE 1'); |
113 | + tx.executeSql('INSERT INTO at VALUES(?,?)', [ atval,ownerid ]); |
114 | + } |
115 | + ) |
116 | +} |
117 | +function getdownloaded() { |
118 | + var txt; |
119 | + var db = Sql.LocalStorage.openDatabaseSync("zmusicdb", "1.0", "zMusic DB", 1000000); |
120 | + db.transaction( |
121 | + function(tx) { |
122 | + tx.executeSql('CREATE TABLE IF NOT EXISTS downloaded(link TEXT, name TEXT, artist TEXT, timestamp INT)'); |
123 | + //tx.executeSql('INSERT INTO at VALUES(?, ?)', [ 'hello', 'world' ]); |
124 | + var rs = tx.executeSql('SELECT * FROM downloaded ORDER BY timestamp DESC'); |
125 | + var r = "" |
126 | + downloadedmodel.clear(); |
127 | + for(var i = 0; i < rs.rows.length; i++) { |
128 | + downloadedmodel.append({url: rs.rows.item(i).link, tracktitle: rs.rows.item(i).name, artist: rs.rows.item(i).artist}); |
129 | + } |
130 | + } |
131 | + ) |
132 | +} |
133 | +function insertdownload(link,name,artist) { |
134 | + var db = Sql.LocalStorage.openDatabaseSync("zmusicdb", "1.0", "zMusic DB", 1000000); |
135 | + db.transaction( |
136 | + function(tx) { |
137 | + tx.executeSql('INSERT INTO downloaded VALUES(?,?,?,?)', [ link,name,artist,Date.now() ]); |
138 | + getdownloaded(); |
139 | + } |
140 | + ) |
141 | +} |
142 | +function deletedownload(link) { |
143 | + var db = Sql.LocalStorage.openDatabaseSync("zmusicdb", "1.0", "zMusic DB", 1000000); |
144 | + db.transaction( |
145 | + function(tx) { |
146 | + tx.executeSql('DELETE FROM downloaded WHERE link=?', [ link ]); |
147 | + getdownloaded(); |
148 | + } |
149 | + ) |
150 | +} |
151 | +function getcollection() { |
152 | + var txt; |
153 | + var db = Sql.LocalStorage.openDatabaseSync("zmusicdb", "1.0", "zMusic DB", 1000000); |
154 | + db.transaction( |
155 | + function(tx) { |
156 | + tx.executeSql('CREATE TABLE IF NOT EXISTS collection(id TEXT, name TEXT, artist TEXT, owner TEXT, timestamp INT)'); |
157 | + //tx.executeSql('INSERT INTO at VALUES(?, ?)', [ 'hello', 'world' ]); |
158 | + var rs = tx.executeSql('SELECT * FROM collection ORDER BY timestamp DESC'); |
159 | + var r = ""; |
160 | + collectionmodel.clear(); |
161 | + for(var i = 0; i < rs.rows.length; i++) { |
162 | + getTrack(rs.rows.item(i).owner,rs.rows.item(i).id,rs.rows.item(i).artist,rs.rows.item(i).name,i); |
163 | + } |
164 | + } |
165 | + ) |
166 | +} |
167 | +function insertcollection(link,name,artist,owner) { |
168 | + var db = Sql.LocalStorage.openDatabaseSync("zmusicdb", "1.0", "zMusic DB", 1000000); |
169 | + db.transaction( |
170 | + function(tx) { |
171 | + tx.executeSql('INSERT INTO collection VALUES(?,?,?,?,?)', [ link,name,artist,owner,Date.now() ]); |
172 | + getcollection(); |
173 | + } |
174 | + ) |
175 | +} |
176 | +function deletecollection(link) { |
177 | + var db = Sql.LocalStorage.openDatabaseSync("zmusicdb", "1.0", "zMusic DB", 1000000); |
178 | + db.transaction( |
179 | + function(tx) { |
180 | + tx.executeSql('DELETE FROM collection WHERE id=?', [ link ]); |
181 | + } |
182 | + ) |
183 | +} |
184 | +function success(token, user_id) { |
185 | + mainview.at = token; |
186 | + mainview.owner_id=user_id; |
187 | + playeropen.start(); |
188 | + act_ind_main.running=true; |
189 | + getcollection(); |
190 | + getTracks(); |
191 | + popularTracks(); |
192 | +} |
193 | +function getAtristArt(query) { |
194 | + var request = new XMLHttpRequest() |
195 | + request.open('POST', 'http://ws.audioscrobbler.com/2.0') |
196 | + request.onreadystatechange = function() { |
197 | + if (request.readyState === XMLHttpRequest.DONE) { |
198 | + if (request.status && request.status === 200) { |
199 | + var result = JSON.parse(request.responseText); |
200 | + var pr = result.results.artistmatches.artist.image[4]; |
201 | + albumbg.source=pr['#text']; |
202 | + console.log(request.responseText); |
203 | + return; |
204 | + } else { |
205 | + console.log("HTTP:", request.status, request.statusText) |
206 | + } |
207 | + } |
208 | + } |
209 | + request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
210 | + request.send('method=artist.search&format=json&api_key=ee799b9ba0839ad080b9a935e1039a07&artist='+query+'&limit=1'); |
211 | +} |
212 | +function popularTracks() { |
213 | + var request = new XMLHttpRequest() |
214 | + console.log(mainview.at) |
215 | + request.open('POST', 'https://api.vk.com/method/audio.getPopular') |
216 | + request.onreadystatechange = function() { |
217 | + if (request.readyState === XMLHttpRequest.DONE) { |
218 | + if (request.status && request.status === 200) { |
219 | + var result = JSON.parse(request.responseText) |
220 | + if(mainview.slt>0) { |
221 | + popularmodel.remove(searchmodel.count-1); |
222 | + } |
223 | + for (var i = 0; i < result.response.length; i++) { |
224 | + popularmodel.append({isnn: 0, owner: result.response[i].owner_id, id_track: result.response[i].id, tracktitle: result.response[i].title, ii: i, artist: result.response[i].artist, url: result.response[i].url}) |
225 | + } |
226 | + act_ind_main.running=false; |
227 | + logined = 1; |
228 | + } else { |
229 | + console.log("HTTP:", request.status, request.statusText) |
230 | + } |
231 | + } |
232 | + } |
233 | + request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
234 | + request.send('only_eng=1&offset='+mainview.slt+'&count=50&v=5.2&access_token='+mainview.at+''); |
235 | +} |
236 | +function searchTracks(search) { |
237 | + var request = new XMLHttpRequest() |
238 | + console.log(mainview.at) |
239 | + request.open('POST', 'https://api.vk.com/method/audio.search') |
240 | + request.onreadystatechange = function() { |
241 | + if (request.readyState === XMLHttpRequest.DONE) { |
242 | + if (request.status && request.status === 200) { |
243 | + var result = JSON.parse(request.responseText) |
244 | + if(mainview.sslt>0) { |
245 | + searchmodel.remove(mainview.sslt); |
246 | + } |
247 | + for (var i = 0; i < result.response.items.length; i++) { |
248 | + searchmodel.append({isnnn: 0, owner: result.response.items[i].owner_id, id_track: result.response.items[i].id, tracktitle: result.response.items[i].title, ii: i, artist: result.response.items[i].artist, url: result.response.items[i].url}); |
249 | + } |
250 | + mainview.sslt=mainview.sslt+50; |
251 | + if(result.response.count > mainview.sslt) { |
252 | + searchmodel.append({isnnn: 1}) |
253 | + } |
254 | + act_ind_main.running=false; |
255 | + logined = 1; |
256 | + } else { |
257 | + console.log("HTTP:", request.status, request.statusText) |
258 | + } |
259 | + } |
260 | + } |
261 | + request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
262 | + request.send('q='+search+'&offset=0&auto_complete=1&count=50&v=5.2&access_token='+mainview.at+''); |
263 | +} |
264 | +function getTrack(owner,id,artist,tracktitle,i) { |
265 | + var request = new XMLHttpRequest() |
266 | + request.open('POST', 'https://api.vk.com/method/audio.getById') |
267 | + request.onreadystatechange = function() { |
268 | + if (request.readyState === XMLHttpRequest.DONE) { |
269 | + if (request.status && request.status === 200) { |
270 | + var result = JSON.parse(request.responseText); |
271 | + console.log(request.responseText); |
272 | + var res = result.response[0].url; |
273 | + collectionmodel.append({ii: i, id_track: id, owner: owner, tracktitle: tracktitle, artist: artist, url: res}); |
274 | + } else { |
275 | + console.log("HTTP:", request.status, request.statusText) |
276 | + } |
277 | + } |
278 | + } |
279 | + request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
280 | + request.send('audios='+owner+'_'+id+'&v=5.2&access_token='+mainview.at+''); |
281 | +} |
282 | +function setBroadcast(owner,id) { |
283 | + console.log(owner+'_'+id); |
284 | + var request = new XMLHttpRequest() |
285 | + request.open('POST', 'https://api.vk.com/method/audio.setBroadcast') |
286 | + request.onreadystatechange = function() { |
287 | + if (request.readyState === XMLHttpRequest.DONE) { |
288 | + if (request.status && request.status === 200) { |
289 | + var result = JSON.parse(request.responseText); |
290 | + console.log(request.responseText); |
291 | + } else { |
292 | + console.log("HTTP:", request.status, request.statusText) |
293 | + } |
294 | + } |
295 | + } |
296 | + request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
297 | + request.send('audio='+owner+'_'+id+'&v=5.2&access_token='+mainview.at+''); |
298 | +} |
299 | +function getTracks() { |
300 | + var request = new XMLHttpRequest() |
301 | + //console.log(mainview.at) |
302 | + request.open('POST', 'https://api.vk.com/method/audio.get') |
303 | + request.onreadystatechange = function() { |
304 | + if (request.readyState === XMLHttpRequest.DONE) { |
305 | + if (request.status && request.status === 200) { |
306 | + var result = JSON.parse(request.responseText); |
307 | + if(mainview.lt>0) { |
308 | + musicmodel.remove(mainview.lt); |
309 | + } |
310 | + for (var i = 0; i < result.response.items.length; i++) { |
311 | + musicmodel.append({isn: 0, id_track: result.response.items[i].id, owner: result.response.items[i].owner_id, tracktitle: result.response.items[i].title, ii: i, artist: result.response.items[i].artist, url: result.response.items[i].url}); |
312 | + } |
313 | + mainview.lt=mainview.lt+50; |
314 | + if(result.response.count > mainview.lt) { |
315 | + musicmodel.append({isn: 1}) |
316 | + } |
317 | + act_ind_main.running=false; |
318 | + logined = 1; |
319 | + } else { |
320 | + console.log("HTTP:", request.status, request.statusText) |
321 | + } |
322 | + } |
323 | + } |
324 | + request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
325 | + request.send('need_user=0&offset='+mainview.lt+'&count=50&v=5.2&access_token='+mainview.at+''); |
326 | +} |
327 | +function deleteTrack(audid) { |
328 | + var request = new XMLHttpRequest() |
329 | + request.open('POST', 'https://api.vk.com/method/audio.delete') |
330 | + request.onreadystatechange = function() { |
331 | + if (request.readyState === XMLHttpRequest.DONE) { |
332 | + if (request.status && request.status === 200) { |
333 | + console.log('audio_id='+audid+'&owner_id='+mainview.owner_id+'&v=5.2&access_token='+mainview.at); |
334 | + var result = JSON.parse(request.responseText) |
335 | + } else { |
336 | + console.log("HTTP:", request.status, request.statusText) |
337 | + } |
338 | + } |
339 | + } |
340 | + request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
341 | + request.send('audio_id='+audid+'&owner_id='+mainview.owner_id+'&v=5.2&access_token='+mainview.at+''); |
342 | +} |
343 | +function addTrack(audid,owner) { |
344 | + var request = new XMLHttpRequest() |
345 | + request.open('POST', 'https://api.vk.com/method/audio.add') |
346 | + request.onreadystatechange = function() { |
347 | + if (request.readyState === XMLHttpRequest.DONE) { |
348 | + if (request.status && request.status === 200) { |
349 | + console.log('audio_id='+audid+'&owner_id='+owner+'&v=5.2&access_token='+mainview.at); |
350 | + var result = JSON.parse(request.responseText); |
351 | + mainview.lt=0; |
352 | + musicmodel.clear(); |
353 | + getTracks(); |
354 | + } else { |
355 | + console.log("HTTP:", request.status, request.statusText); |
356 | + } |
357 | + } |
358 | + } |
359 | + request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
360 | + request.send('audio_id='+audid+'&owner_id='+owner+'&v=5.2&access_token='+mainview.at+''); |
361 | +} |
362 | +function nextSong() { |
363 | + playingstate.visible=false; player.source=musicmodel.get(mainview.csong+1).url; player.play(); /*selected = !selected;*/ getAtristArt(musicmodel.get(mainview.csong+1).artist); track_title.text=musicmodel.get(mainview.csong+1).tracktitle; track_artist.text=musicmodel.get(mainview.csong+1).artist; csong=mainview.csong+1; |
364 | +} |
365 | +function lastSong() { |
366 | + playingstate.visible=false; player.source=musicmodel.get(mainview.csong-1).url; player.play(); /*selected = !selected;*/ getAtristArt(musicmodel.get(mainview.csong-1).artist); track_title.text=musicmodel.get(mainview.csong-1).tracktitle; track_artist.text=musicmodel.get(mainview.csong-1).artist; csong=mainview.csong-1; |
367 | +} |
368 | +function nextSongS() { |
369 | + playingstate.visible=false; player.source=searchmodel.get(mainview.csong+1).url; player.play(); /*selected = !selected;*/ getAtristArt(searchmodel.get(mainview.csong+1).artist); track_title.text=searchmodel.get(mainview.csong+1).tracktitle; track_artist.text=searchmodel.get(mainview.csong+1).artist; csong=mainview.csong+1; |
370 | +} |
371 | +function lastSongS() { |
372 | + playingstate.visible=false; player.source=searchmodel.get(mainview.csong-1).url; player.play(); /*selected = !selected;*/ getAtristArt(searchmodel.get(mainview.csong-1).artist); track_title.text=searchmodel.get(mainview.csong-1).tracktitle; track_artist.text=searchmodel.get(mainview.csong-1).artist; csong=mainview.csong-1; |
373 | +} |
374 | +function nextSongP() { |
375 | + playingstate.visible=false; player.source=popularmodel.get(mainview.csong+1).url; player.play(); /*selected = !selected;*/ getAtristArt(popularmodel.get(mainview.csong+1).artist); track_title.text=popularmodel.get(mainview.csong+1).tracktitle; track_artist.text=popularmodel.get(mainview.csong+1).artist; csong=mainview.csong+1; |
376 | +} |
377 | +function lastSongP() { |
378 | + playingstate.visible=false; player.source=popularmodel.get(mainview.csong-1).url; player.play(); /*selected = !selected;*/ getAtristArt(popularmodel.get(mainview.csong-1).artist); track_title.text=popularmodel.get(mainview.csong-1).tracktitle; track_artist.text=popularmodel.get(mainview.csong-1).artist; csong=mainview.csong-1; |
379 | +} |
380 | +function nextSongC() { |
381 | + playingstate.visible=false; player.source=collectionmodel.get(mainview.csong+1).url; player.play(); /*selected = !selected;*/ getAtristArt(collectionmodel.get(mainview.csong+1).artist); track_title.text=collectionmodel.get(mainview.csong+1).tracktitle; track_artist.text=collectionmodel.get(mainview.csong+1).artist; csong=mainview.csong+1; |
382 | +} |
383 | +function lastSongC() { |
384 | + playingstate.visible=false; player.source=collectionmodel.get(mainview.csong-1).url; player.play(); /*selected = !selected;*/ getAtristArt(collectionmodel.get(mainview.csong-1).artist); track_title.text=collectionmodel.get(mainview.csong-1).tracktitle; track_artist.text=collectionmodel.get(mainview.csong-1).artist; csong=mainview.csong-1; |
385 | +} |
386 | |
387 | === renamed file 'Functions.js' => 'Functions.js.moved' |
388 | === added file 'MyTracks.qml' |
389 | --- MyTracks.qml 1970-01-01 00:00:00 +0000 |
390 | +++ MyTracks.qml 2014-11-29 21:53:09 +0000 |
391 | @@ -0,0 +1,65 @@ |
392 | +import QtQuick 2.0 |
393 | +import QtMultimedia 5.0 |
394 | +import "Functions.js" as Js |
395 | +import Ubuntu.Components 1.1 |
396 | +import QtQuick.LocalStorage 2.0 |
397 | +import Ubuntu.Components.Popups 0.1 |
398 | +import Ubuntu.Components.ListItems 0.1 |
399 | +import "URLQuery.js" as URLQuery |
400 | + |
401 | +Page { |
402 | + id: mtpage |
403 | + |
404 | + UbuntuListView { |
405 | + id: musicview |
406 | + anchors.fill: parent |
407 | + model: musicmodel |
408 | + anchors.bottomMargin: units.gu(7) |
409 | + delegate: Subtitled { |
410 | + text: if(isn==1) { "" } else { tracktitle } |
411 | + subText: if(isn==1) { "" } else { artist } |
412 | + progression: if(isn==0) { true } else { false } |
413 | + removable: true |
414 | + confirmRemoval: true |
415 | + onPressAndHold: { PopupUtils.open(aystd); } |
416 | + onItemRemoved: { Js.deleteTrack(id_track); } |
417 | + onClicked: { player.source=url; csong=ii; mainview.ispopular=0; mainview.issearch=0; mainview.iscollection=0; Js.getAtristArt(artist); track_title.text=tracktitle; track_artist.text=artist; pl.start(); if(mainview.sendtostatus===true) { Js.setBroadcast(owner,id_track); } } |
418 | + Component { |
419 | + id: aystd |
420 | + Dialog { |
421 | + id: aystdue |
422 | + title: i18n.tr("Actions") |
423 | + text: i18n.tr("What do you want to do?") |
424 | + Row { |
425 | + spacing: units.gu(1) |
426 | + |
427 | + Button { |
428 | + text: i18n.tr("To my best") |
429 | + color: "green" |
430 | + onClicked: { Js.insertcollection(id_track,tracktitle,artist,owner); PopupUtils.close(aystdue) } |
431 | + width: (parent.width)/2 |
432 | + } |
433 | + Button { |
434 | + text: i18n.tr("Cancel") |
435 | + onClicked: { PopupUtils.close(aystdue) } |
436 | + width: (parent.width)/2 |
437 | + } |
438 | + } |
439 | + } |
440 | + } |
441 | + Button { |
442 | + id: buttnext |
443 | + visible: if(isn==1) { true } else { false } |
444 | + width: mainview.width/1.5 |
445 | + anchors.centerIn: parent |
446 | + text: "Next" |
447 | + onClicked: { ntact.running=true; Js.getTracks(); this.visible=false; } |
448 | + } |
449 | + ActivityIndicator { |
450 | + id: ntact |
451 | + running: false |
452 | + anchors.centerIn: buttnext |
453 | + } |
454 | + } |
455 | + } |
456 | +} |
457 | |
458 | === renamed file 'MyTracks.qml' => 'MyTracks.qml.moved' |
459 | === added file 'Popular.qml' |
460 | --- Popular.qml 1970-01-01 00:00:00 +0000 |
461 | +++ Popular.qml 2014-11-29 21:53:09 +0000 |
462 | @@ -0,0 +1,50 @@ |
463 | +import QtQuick 2.0 |
464 | + |
465 | +import QtMultimedia 5.0 |
466 | +import "Functions.js" as Js |
467 | +import Ubuntu.Components 1.1 |
468 | +import QtQuick.LocalStorage 2.0 |
469 | +import Ubuntu.Components.Popups 0.1 |
470 | +import Ubuntu.Components.ListItems 0.1 |
471 | +import "URLQuery.js" as URLQuery |
472 | + |
473 | +Page { |
474 | + id: spage |
475 | + |
476 | + UbuntuListView { |
477 | + id: popularview |
478 | + anchors.fill: parent |
479 | + model: popularmodel |
480 | + anchors.bottomMargin: units.gu(7) |
481 | + delegate: Subtitled { |
482 | + text: tracktitle |
483 | + subText: artist |
484 | + progression: true |
485 | + onPressAndHold: { PopupUtils.open(aystd); } |
486 | + onClicked: { player.source=url; mainview.issearch=0; mainview.iscollection=0; mainview.ispopular=1; csong=ii; pl.start(); /*selected = !selected;*/ Js.getAtristArt(artist); track_title.text=tracktitle; track_artist.text=artist; if(mainview.sendtostatus) { Js.setBroadcast(owner,id_track); } } |
487 | + Component { |
488 | + id: aystd |
489 | + Dialog { |
490 | + id: aystdue |
491 | + title: i18n.tr("Actions") |
492 | + text: i18n.tr("What do you want to do?") |
493 | + Row { |
494 | + spacing: units.gu(1) |
495 | + Button { |
496 | + text: i18n.tr("To VK") |
497 | + color: "green" |
498 | + onClicked: { Js.addTrack(id_track,owner); PopupUtils.close(aystdue); } |
499 | + width: (parent.width)/2 |
500 | + } |
501 | + Button { |
502 | + text: i18n.tr("To your best") |
503 | + color: "blue" |
504 | + onClicked: { Js.insertcollection(id_track,tracktitle,artist,owner); PopupUtils.close(aystdue) } |
505 | + width: (parent.width)/2 |
506 | + } |
507 | + } |
508 | + } |
509 | + } |
510 | + } |
511 | + } |
512 | +} |
513 | |
514 | === renamed file 'Popular.qml' => 'Popular.qml.moved' |
515 | === added file 'Search.qml' |
516 | --- Search.qml 1970-01-01 00:00:00 +0000 |
517 | +++ Search.qml 2014-11-29 21:53:09 +0000 |
518 | @@ -0,0 +1,112 @@ |
519 | +import QtQuick 2.0 |
520 | +import Ubuntu.DownloadManager 0.1 |
521 | +import QtMultimedia 5.0 |
522 | +import "Functions.js" as Js |
523 | +import Ubuntu.Components 1.1 |
524 | +import QtQuick.LocalStorage 2.0 |
525 | +import Ubuntu.Components.Popups 0.1 |
526 | +import Ubuntu.Components.ListItems 0.1 |
527 | +import "URLQuery.js" as URLQuery |
528 | + |
529 | +Page { |
530 | + id: spage |
531 | + Rectangle { |
532 | + id: addBar |
533 | + |
534 | + property bool expanded: visible |
535 | + |
536 | + color: Qt.rgba(0.2,0.2,0.2,0.2) |
537 | + |
538 | + property alias text: filterField.text |
539 | + |
540 | + anchors { |
541 | + left: parent.left |
542 | + right: parent.right |
543 | + top: parent.top |
544 | + } |
545 | + |
546 | + height: expanded ? filterField.height + addBarDivider.height + units.gu(2) : 0 |
547 | + clip: true |
548 | + TextField { |
549 | + id: filterField |
550 | + anchors { |
551 | + left: parent.left |
552 | + right: parent.right |
553 | + bottom: addBarDivider.bottom |
554 | + margins: units.gu(1) |
555 | + } |
556 | + onAccepted: { sslt=0; searchmodel.clear(); Js.searchTracks(filterField.text) } |
557 | + placeholderText: i18n.tr("Search...") |
558 | + onFocusChanged: { |
559 | + if(focus==true) { |
560 | + //PopupUtils.open(popoverComponent, filterField) |
561 | + } |
562 | + } |
563 | + } |
564 | + |
565 | + ThinDivider { |
566 | + id: addBarDivider |
567 | + |
568 | + //rotation: 180 |
569 | + |
570 | + anchors { |
571 | + left: parent.left |
572 | + right: parent.right |
573 | + bottom: parent.bottom |
574 | + } |
575 | + } |
576 | + } |
577 | + UbuntuListView { |
578 | + id: searchview |
579 | + model: searchmodel |
580 | + width: mainview.width |
581 | + height: spage.height |
582 | + anchors.top: addBar.bottom |
583 | + anchors.bottom: parent.bottom |
584 | + anchors.bottomMargin: units.gu(7) |
585 | + clip: true |
586 | + delegate: Subtitled { |
587 | + text: if(isnnn==1) { "" } else { tracktitle } |
588 | + subText: if(isnnn==1) { "" } else { artist } |
589 | + progression: if(isnnn==0) { true } else { false } |
590 | + onPressAndHold: PopupUtils.open(aystd); |
591 | + onClicked: { player.source=url; mainview.ispopular=0; mainview.iscollection=0; mainview.issearch=1; csong=ii; pl.start(); Js.getAtristArt(artist); track_title.text=tracktitle; track_artist.text=artist; if(mainview.sendtostatus) { Js.setBroadcast(owner,track_id); } } |
592 | + Component { |
593 | + id: aystd |
594 | + Dialog { |
595 | + id: aystdue |
596 | + title: i18n.tr("Actions") |
597 | + text: i18n.tr("What do you want to do?") |
598 | + Row { |
599 | + spacing: units.gu(1) |
600 | + Button { |
601 | + text: i18n.tr("To VK") |
602 | + color: "green" |
603 | + onClicked: { Js.addTrack(id_track,owner); PopupUtils.close(aystdue); } |
604 | + width: (parent.width)/2 |
605 | + } |
606 | + Button { |
607 | + text: i18n.tr("To your best") |
608 | + color: "blue" |
609 | + onClicked: { Js.insertcollection(id_track,tracktitle,artist,owner); PopupUtils.close(aystdue) } |
610 | + width: (parent.width)/2 |
611 | + } |
612 | + } |
613 | + } |
614 | + } |
615 | + Button { |
616 | + id: nextsbutt |
617 | + visible: if(isnnn==1) { true } else { false } |
618 | + width: mainview.width/1.5 |
619 | + anchors.centerIn: parent |
620 | + text: "Next" |
621 | + onClicked: { ntacts.running=true; Js.searchTracks(filterField.text); this.visible=false; } |
622 | + } |
623 | + ActivityIndicator { |
624 | + id: ntacts |
625 | + running: false |
626 | + anchors.centerIn: nextsbutt |
627 | + } |
628 | + } |
629 | + } |
630 | +} |
631 | |
632 | === renamed file 'Search.qml' => 'Search.qml.moved' |
633 | === added file 'Settings.qml' |
634 | --- Settings.qml 1970-01-01 00:00:00 +0000 |
635 | +++ Settings.qml 2014-11-29 21:53:09 +0000 |
636 | @@ -0,0 +1,15 @@ |
637 | +import QtQuick 2.0 |
638 | +import Ubuntu.Components 1.1 |
639 | +import Ubuntu.Components.ListItems 0.1 |
640 | + |
641 | + |
642 | +Page { |
643 | + id: settings |
644 | + Standard { |
645 | + text: i18n.tr("Show current song in status") |
646 | + control: CheckBox { |
647 | + checked: mainview.sendtostatus |
648 | + onCheckedChanged: { mainview.sendtostatus = checked; } |
649 | + } |
650 | + } |
651 | +} |
652 | |
653 | === renamed file 'Settings.qml' => 'Settings.qml.moved' |
654 | === added file 'TracksT.qml' |
655 | --- TracksT.qml 1970-01-01 00:00:00 +0000 |
656 | +++ TracksT.qml 2014-11-29 21:53:09 +0000 |
657 | @@ -0,0 +1,47 @@ |
658 | +import QtQuick 2.0 |
659 | +import QtMultimedia 5.0 |
660 | +import "Functions.js" as Js |
661 | +import Ubuntu.Components 1.1 |
662 | +import QtQuick.LocalStorage 2.0 |
663 | +import Ubuntu.Components.Popups 0.1 |
664 | +import Ubuntu.Components.ListItems 0.1 |
665 | +import "URLQuery.js" as URLQuery |
666 | + |
667 | +Tabs { |
668 | + id: tabs |
669 | + Tab { |
670 | + id: mytracks |
671 | + title: i18n.tr("My tracks") |
672 | + MyTracks { |
673 | + |
674 | + } |
675 | + } |
676 | + Tab { |
677 | + id: popular |
678 | + title: i18n.tr("Popular") |
679 | + Popular { |
680 | + |
681 | + } |
682 | + } |
683 | + Tab { |
684 | + id: search |
685 | + title: i18n.tr("Search") |
686 | + Search { |
687 | + |
688 | + } |
689 | + } |
690 | + Tab { |
691 | + id: about |
692 | + title: i18n.tr("Your best") |
693 | + Collection { |
694 | + |
695 | + } |
696 | + } |
697 | + Tab { |
698 | + id: settings |
699 | + title: i18n.tr("Settings") |
700 | + Settings { |
701 | + |
702 | + } |
703 | + } |
704 | +} |
705 | |
706 | === renamed file 'TracksT.qml' => 'TracksT.qml.moved' |
707 | === added file 'Tutorial.qml' |
708 | --- Tutorial.qml 1970-01-01 00:00:00 +0000 |
709 | +++ Tutorial.qml 2014-11-29 21:53:09 +0000 |
710 | @@ -0,0 +1,314 @@ |
711 | +import QtQuick 2.0 |
712 | +import "Functions.js" as Js |
713 | +import Ubuntu.Components 1.1 |
714 | +import "URLQuery.js" as URLQuery |
715 | +import Ubuntu.Components.Popups 0.1 |
716 | +import Ubuntu.Web 0.2 |
717 | +import Ubuntu.OnlineAccounts 0.1 |
718 | +import Ubuntu.OnlineAccounts.Client 0.1 |
719 | +import Ubuntu.Components.ListItems 0.1 as ListItem |
720 | +import "components" |
721 | + |
722 | +Walkthough { |
723 | + id: walkthrough |
724 | + appName: "zMusic" |
725 | + |
726 | + // Needs custom property to show up in autopilot tests |
727 | + property bool test: true |
728 | + |
729 | + model: [ |
730 | + Component { |
731 | + Item { |
732 | + Column { |
733 | + id: welcomeColumn |
734 | + anchors { |
735 | + centerIn: parent |
736 | + margins: units.gu(2) |
737 | + } |
738 | + |
739 | + Label { |
740 | + anchors.horizontalCenter: parent.horizontalCenter |
741 | + fontSize: "large" |
742 | + text: i18n.tr("Welcome to") |
743 | + } |
744 | + |
745 | + Label { |
746 | + fontSize: "x-large" |
747 | + font.bold: true |
748 | + anchors.horizontalCenter: parent.horizontalCenter |
749 | + text: i18n.tr("zMusic") |
750 | + } |
751 | + } |
752 | + |
753 | + ActivityIndicator { |
754 | + id: tutact |
755 | + running: true |
756 | + anchors { |
757 | + bottom: parent.bottom |
758 | + horizontalCenter: parent.horizontalCenter |
759 | + } |
760 | + } |
761 | + Label { |
762 | + id: presstostart |
763 | + opacity: 0 |
764 | + anchors { |
765 | + bottom: parent.bottom |
766 | + horizontalCenter: parent.horizontalCenter |
767 | + } |
768 | + text: "Press anywhere to start!" |
769 | + } |
770 | + |
771 | + ParallelAnimation { |
772 | + running: ptsb |
773 | + NumberAnimation { target: tutact; property: "opacity"; to: 0; } |
774 | + NumberAnimation { target: presstostart; property: "opacity"; to: 1; } |
775 | + } |
776 | + |
777 | + Label { |
778 | + id: swleft |
779 | + opacity: 0 |
780 | + anchors { |
781 | + bottom: parent.bottom |
782 | + bottomMargin: units.gu(2) |
783 | + horizontalCenter: parent.horizontalCenter |
784 | + } |
785 | + color: "black" |
786 | + text: i18n.tr("Swipe left to continue") |
787 | + } |
788 | + Image { |
789 | + anchors { |
790 | + centerIn: parent |
791 | + } |
792 | + fillMode: Image.PreserveAspectFit |
793 | + width: mainview.width>mainview.height ? mainview.width/2.5 : mainview.width/1.5 |
794 | + height: width |
795 | + source: Qt.resolvedUrl("graphics/logovk.png") |
796 | + ParallelAnimation { |
797 | + running: iwvl |
798 | + NumberAnimation { targets: [swleft]; property: "opacity"; to: 1; duration: 500 } |
799 | + NumberAnimation { target: tutact; property: "opacity"; to: 0; duration: 500; } |
800 | + } |
801 | + } |
802 | + |
803 | + } |
804 | + }, |
805 | + |
806 | + Component { |
807 | + Item { |
808 | + Label { |
809 | + id: headerLabel |
810 | + anchors.horizontalCenter: parent.horizontalCenter |
811 | + fontSize: "x-large" |
812 | + text: i18n.tr("What is VK?") |
813 | + anchors.top: parent.top |
814 | + anchors.topMargin: units.gu(2) |
815 | + color: "black" |
816 | + } |
817 | + |
818 | + Label { |
819 | + id: contentsLabel |
820 | + anchors { |
821 | + top: headerLabel.bottom |
822 | + margins: units.gu(2) |
823 | + } |
824 | + |
825 | + width: parent.width |
826 | + font.pixelSize: units.dp(17) |
827 | + wrapMode: Text.WrapAtWordBoundaryOrAnywhere |
828 | + horizontalAlignment: Text.AlignHCenter |
829 | + color: "black" |
830 | + text: i18n.tr("VK is the largest European social network with more than a 100 million active users.") |
831 | + } |
832 | + |
833 | + Image { |
834 | + id: dog1 |
835 | + fillMode: Image.PreserveAspectFit |
836 | + width: parent.width |
837 | + source: Qt.resolvedUrl("graphics/dog.png") |
838 | + smooth: true |
839 | + antialiasing: true |
840 | + opacity: 0 |
841 | + anchors { |
842 | + top: contentsLabel.bottom |
843 | + bottom: parent.bottom |
844 | + topMargin: units.gu(2) |
845 | + } |
846 | + } |
847 | + NumberAnimation { target: dog1; property: "opacity"; from: dog1.opacity; to: 1; duration: 1000; running: ci===1; } |
848 | + } |
849 | + }, |
850 | + Component { |
851 | + Item { |
852 | + /*Rectangle { |
853 | + id: loadingw |
854 | + anchors.centerIn: parent |
855 | + width: column.width + units.gu(4) |
856 | + height: column.height + units.gu(4) |
857 | + color: "transparent" |
858 | + |
859 | + Behavior on opacity { |
860 | + UbuntuNumberAnimation { |
861 | + duration: UbuntuAnimation.SlowDuration |
862 | + } |
863 | + } |
864 | + |
865 | + Column { |
866 | + id: column |
867 | + anchors.centerIn: parent |
868 | + spacing: units.gu(1) |
869 | + |
870 | + Label { |
871 | + anchors.horizontalCenter: parent.horizontalCenter |
872 | + fontSize: "large" |
873 | + text: i18n.tr("Loading web page...") |
874 | + color: "black" |
875 | + } |
876 | + |
877 | + ProgressBar { |
878 | + anchors.horizontalCenter: parent.horizontalCenter |
879 | + |
880 | + width: units.gu(30) |
881 | + maximumValue: 100 |
882 | + minimumValue: 0 |
883 | + value: autww.loadProgress |
884 | + } |
885 | + } |
886 | + }*/ |
887 | + |
888 | + Column { |
889 | + id: waitpl |
890 | + anchors.centerIn: parent |
891 | + spacing: units.gu(2) |
892 | + Label { |
893 | + text: "Wait, please" |
894 | + } |
895 | + ActivityIndicator { |
896 | + running: true |
897 | + anchors.horizontalCenter: parent.horizontalCenter |
898 | + } |
899 | + } |
900 | + |
901 | + ListView { |
902 | + id: accountsList |
903 | + spacing: units.gu(1) |
904 | + z: 1000 |
905 | + anchors.fill: parent |
906 | + model: accounts |
907 | + delegate: Rectangle { |
908 | + id: wrapper |
909 | + width: accountsList.width |
910 | + height: units.gu(10) |
911 | + color: "transparent" |
912 | + Component.onCompleted: { |
913 | + console.log(accts.provider.id); |
914 | + var params = {}; |
915 | + |
916 | + } |
917 | + Button { |
918 | + anchors.fill: parent |
919 | + anchors.margins: units.gu(2) |
920 | + |
921 | + text: i18n.tr("Authenticate %1").arg(displayName) |
922 | + |
923 | + onClicked: { |
924 | + var params = {} |
925 | + accts.authenticate(params) |
926 | + } |
927 | + } |
928 | + AccountService { |
929 | + id: accts |
930 | + objectHandle: accountServiceHandle |
931 | + onAuthenticated: { |
932 | + moar.visible=false; |
933 | + Js.success(reply.AccessToken, 2410788); |
934 | + walkthrough.visible=false; |
935 | + } |
936 | + } |
937 | + } |
938 | + } |
939 | + |
940 | + /*WebView { |
941 | + id: autww |
942 | + anchors.fill: parent |
943 | + scale: 1 |
944 | + url: "https://oauth.vk.com/authorize?client_id=3609494&scope=audio,status&redirect_uri=https://oauth.vk.com/blank.html&display=touch&v=5.2&response_type=token"; |
945 | + onLoadingChanged: { |
946 | + console.log(url); |
947 | + wvisop=true; |
948 | + if (loading) { |
949 | + autww.visible=false; |
950 | + loadingw.visible=true; |
951 | + return |
952 | + } else if(lastLoadSucceeded) { |
953 | + var urll = autww.url; |
954 | + urll = urll.toString(); |
955 | + var result = URLQuery.parseParams(urll); |
956 | + loadingw.visible=false; |
957 | + var resat; |
958 | + resat = result.access_token; |
959 | + if (!resat&&!result.error) { |
960 | + act_ind_main.running=false; |
961 | + tutorial.visible=true; |
962 | + autww.visible=true; |
963 | + return; |
964 | + } |
965 | + else if(result.error) { |
966 | + Qt.quit(); |
967 | + } |
968 | + else { |
969 | + if(ci==2) { |
970 | + moar.visible=true; |
971 | + } |
972 | + oa=true; |
973 | + at=result.access_token; |
974 | + owner_id=result.user_id; |
975 | + Js.insertactoken(at,owner_id); |
976 | + } |
977 | + } |
978 | + else { |
979 | + return; |
980 | + } |
981 | + |
982 | + } |
983 | + }*/ |
984 | + Label { |
985 | + id: headerlLabel |
986 | + opacity: oa===true ? 1 : 0 |
987 | + anchors.horizontalCenter: parent.horizontalCenter |
988 | + fontSize: "x-large" |
989 | + text: i18n.tr("Enjoy it!") |
990 | + color: "black" |
991 | + anchors.top: parent.top |
992 | + anchors.topMargin: units.gu(2) |
993 | + } |
994 | + |
995 | + Label { |
996 | + id: contentslLabel |
997 | + anchors { |
998 | + top: headerlLabel.bottom |
999 | + margins: units.gu(2) |
1000 | + } |
1001 | + opacity: oa===true ? 1 : 0 |
1002 | + width: parent.width |
1003 | + font.pixelSize: units.dp(17) |
1004 | + wrapMode: Text.WrapAtWordBoundaryOrAnywhere |
1005 | + horizontalAlignment: Text.AlignHCenter |
1006 | + color: "black" |
1007 | + text: i18n.tr("I hope, that you'll like it! Please, write your reviews about my app! I hope, that with your help we'll make bug-free, useful and beautiful application!") |
1008 | + } |
1009 | + Label { |
1010 | + id: openapp |
1011 | + opacity: oa===true ? 1 : 0 |
1012 | + anchors { |
1013 | + bottom: parent.bottom |
1014 | + bottomMargin: units.gu(2) |
1015 | + horizontalCenter: parent.horizontalCenter |
1016 | + } |
1017 | + color: "black" |
1018 | + text: i18n.tr("Press anywhere to start using zMusic!") |
1019 | + z: 10000000 |
1020 | + } |
1021 | + } |
1022 | + } |
1023 | + ] |
1024 | +} |
1025 | |
1026 | === renamed file 'Tutorial.qml' => 'Tutorial.qml.moved' |
1027 | === added file 'URLQuery.js' |
1028 | --- URLQuery.js 1970-01-01 00:00:00 +0000 |
1029 | +++ URLQuery.js 2014-11-29 21:53:09 +0000 |
1030 | @@ -0,0 +1,59 @@ |
1031 | +/* |
1032 | + * Copyright (C) 2013 Nikita Krupenko |
1033 | + * |
1034 | + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and |
1035 | + * associated documentation files (the "Software"), to deal in the Software without restriction, |
1036 | + * including without limitation the rights to use, copy, modify, merge, publish, distribute, |
1037 | + * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is |
1038 | + * furnished to do so, subject to the following conditions: |
1039 | + * |
1040 | + * The above copyright notice and this permission notice shall be included in all copies or |
1041 | + * substantial portions of the Software. |
1042 | + * |
1043 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT |
1044 | + * NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
1045 | + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, |
1046 | + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
1047 | + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
1048 | + */ |
1049 | + |
1050 | +.pragma library |
1051 | + |
1052 | +function serializeParams(object, prefix) { |
1053 | + if (typeof object !== 'object') { |
1054 | + return '' |
1055 | + } |
1056 | + |
1057 | + if (!prefix) { |
1058 | + prefix = '' |
1059 | + } |
1060 | + |
1061 | + var output = [] |
1062 | + var keysArray = (Array.isArray(object) ? object : Object.keys(object)) |
1063 | + for (var i = 0; i < keysArray.length; i++) { |
1064 | + var key = (Array.isArray(object) ? i : keysArray[i]) |
1065 | + if (typeof object[key] === 'object') { |
1066 | + output.push(serializeParams(object[key], (!prefix ? key : '%1[%2]'.arg(prefix).arg(key)))) |
1067 | + } else { |
1068 | + output.push('%1=%2'.arg(encodeURIComponent(!prefix ? key : '%1[%2]'.arg(prefix).arg(Array.isArray(object) ? '' : key))) |
1069 | + .arg(encodeURIComponent(object[key]))) |
1070 | + } |
1071 | + } |
1072 | + |
1073 | + return output.join('&').replace('%20', '+') |
1074 | +} |
1075 | + |
1076 | +function parseParams(url) { |
1077 | + if (typeof url !== 'string') { |
1078 | + return null |
1079 | + } |
1080 | + |
1081 | + var result = {} |
1082 | + var queries = url.replace(/[?#]/g, '&').replace(/^[^&]*?&/, '').replace(/[+]/g, '%20').split(/[&;]/) |
1083 | + for (var i = 0; i < queries.length; i++) { |
1084 | + var params = queries[i].split('=') |
1085 | + result[decodeURIComponent(params[0])] = decodeURIComponent(params[1]) |
1086 | + } |
1087 | + |
1088 | + return result |
1089 | +} |
1090 | |
1091 | === renamed file 'URLQuery.js' => 'URLQuery.js.moved' |
1092 | === added directory 'components' |
1093 | === renamed directory 'components' => 'components.moved' |
1094 | === added file 'components/AwesomeIcon.qml' |
1095 | --- components/AwesomeIcon.qml 1970-01-01 00:00:00 +0000 |
1096 | +++ components/AwesomeIcon.qml 2014-11-29 21:53:09 +0000 |
1097 | @@ -0,0 +1,102 @@ |
1098 | +/* |
1099 | + * QML Air - A lightweight and mostly flat UI widget collection for QML |
1100 | + * Copyright (C) 2014 Michael Spencer |
1101 | + * |
1102 | + * This program is free software: you can redistribute it and/or modify |
1103 | + * it under the terms of the GNU General Public License as published by |
1104 | + * the Free Software Foundation, either version 3 of the License, or |
1105 | + * (at your option) any later version. |
1106 | + * |
1107 | + * This program is distributed in the hope that it will be useful, |
1108 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
1109 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1110 | + * GNU General Public License for more details. |
1111 | + * |
1112 | + * You should have received a copy of the GNU General Public License |
1113 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. |
1114 | + */ |
1115 | +import QtQuick 2.0 |
1116 | +import Ubuntu.Components 1.1 |
1117 | + |
1118 | +Item { |
1119 | + id: widget |
1120 | + property string name |
1121 | + |
1122 | + property alias color: text.color |
1123 | + property alias size: text.font.pixelSize |
1124 | + |
1125 | + width: Math.max(text.width, text.height) |
1126 | + height: width |
1127 | + |
1128 | + property bool shadow: false |
1129 | + |
1130 | + property var icons: { |
1131 | + "check-circle": "", |
1132 | + "check-square-o": "", |
1133 | + "circle": "", |
1134 | + "exclamation-triangle": "", |
1135 | + "calendar": "", |
1136 | + "github": "", |
1137 | + "file": "", |
1138 | + "clock": "", |
1139 | + "bookmark-o": "", |
1140 | + "user": "", |
1141 | + "comments-o": "", |
1142 | + "check": "", |
1143 | + "ellipse-h": "", |
1144 | + "ellipse-v": "", |
1145 | + "save": "", |
1146 | + "smile-o": "", |
1147 | + "spinner": "", |
1148 | + "square-o": "", |
1149 | + "times": "", |
1150 | + "times-circle": "", |
1151 | + "plus": "", |
1152 | + "bell-o": "", |
1153 | + "bell": "", |
1154 | + "chevron-left": "", |
1155 | + "chevron-right": "", |
1156 | + "cog": "", |
1157 | + "minus": "", |
1158 | + "dashboard": "", |
1159 | + "calendar-empty": "", |
1160 | + "calendar": "", |
1161 | + "bars":"", |
1162 | + "inbox": "", |
1163 | + "list": "", |
1164 | + "long-list": "", |
1165 | + "comment": "", |
1166 | + "download": "", |
1167 | + "tasks": "", |
1168 | + "bug": "", |
1169 | + "code-fork": "", |
1170 | + "clock-o": "", |
1171 | + "pencil-square-o":"", |
1172 | + "check-square-o":"", |
1173 | + "picture-o":"", |
1174 | + "trash": "", |
1175 | + "code": "", |
1176 | + "users": "", |
1177 | + "exchange": "" |
1178 | + } |
1179 | + |
1180 | + property alias weight: text.font.weight |
1181 | + |
1182 | + FontLoader { id: fontAwesome; source: Qt.resolvedUrl("../graphics/FontAwesome.otf") } |
1183 | + |
1184 | + Label { |
1185 | + id: text |
1186 | + anchors.centerIn: parent |
1187 | + |
1188 | + font.family: fontAwesome.name |
1189 | + font.weight: Font.Light |
1190 | + text: widget.icons.hasOwnProperty(widget.name) ? widget.icons[widget.name] : "" |
1191 | + //color: widget.enabled ? styleObject.color : styleObject.color_disabled |
1192 | + style: shadow ? Text.Raised : Text.Normal |
1193 | + styleColor: Qt.rgba(0,0,0,0.9) |
1194 | + |
1195 | + Behavior on color { |
1196 | + ColorAnimation { duration: 200 } |
1197 | + } |
1198 | + } |
1199 | +} |
1200 | |
1201 | === added file 'components/Walkthough.qml' |
1202 | --- components/Walkthough.qml 1970-01-01 00:00:00 +0000 |
1203 | +++ components/Walkthough.qml 2014-11-29 21:53:09 +0000 |
1204 | @@ -0,0 +1,156 @@ |
1205 | +/*************************************************************************** |
1206 | + * Whatsoever ye do in word or deed, do all in the name of the * |
1207 | + * Lord Jesus, giving thanks to God and the Father by him. * |
1208 | + * - Colossians 3:17 * |
1209 | + * * |
1210 | + * Ubuntu UI Extras - A collection of QML widgets not available * |
1211 | + * in the default Ubuntu UI Toolkit * |
1212 | + * Copyright (C) 2013 Michael Spencer <sonrisesoftware@gmail.com> * |
1213 | + * * |
1214 | + * This program is free software: you can redistribute it and/or modify * |
1215 | + * it under the terms of the GNU General Public License as published by * |
1216 | + * the Free Software Foundation, either version 2 of the License, or * |
1217 | + * (at your option) any later version. * |
1218 | + * * |
1219 | + * This program is distributed in the hope that it will be useful, * |
1220 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of * |
1221 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
1222 | + * GNU General Public License for more details. * |
1223 | + * * |
1224 | + * You should have received a copy of the GNU General Public License * |
1225 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. * |
1226 | + ***************************************************************************/ |
1227 | +import QtQuick 2.0 |
1228 | +import "../Functions.js" as Js |
1229 | +import Ubuntu.Components 1.1 |
1230 | +import Ubuntu.Components.Popups 0.1 |
1231 | +import Ubuntu.Components.ListItems 0.1 as ListItem |
1232 | + |
1233 | +Page { |
1234 | + id: root |
1235 | + |
1236 | + property list<Component> model |
1237 | + |
1238 | + property string appName |
1239 | + property color completedPage |
1240 | + property color incompletePage |
1241 | + |
1242 | + property bool exitable: false |
1243 | + |
1244 | + signal finished |
1245 | + |
1246 | + SequentialAnimation { |
1247 | + id: hideAnimation |
1248 | + |
1249 | + UbuntuNumberAnimation { |
1250 | + duration: UbuntuAnimation.SlowDuration * 1/2 |
1251 | + target: root |
1252 | + property: "opacity" |
1253 | + from: 1; to: 0; |
1254 | + } |
1255 | + |
1256 | + ScriptAction { |
1257 | + script: { |
1258 | + pageStack.pop(root) |
1259 | + } |
1260 | + } |
1261 | + } |
1262 | + |
1263 | + Component.onCompleted: mainview.forceActiveFocus() |
1264 | + |
1265 | + Keys.onLeftPressed: { |
1266 | + if (list.currentIndex > 0) |
1267 | + list.currentIndex-- |
1268 | + } |
1269 | + |
1270 | + Keys.onRightPressed: { |
1271 | + if (list.currentIndex < list.count - 1) |
1272 | + list.currentIndex++ |
1273 | + } |
1274 | + |
1275 | + UbuntuListView { |
1276 | + id: listView |
1277 | + anchors { |
1278 | + left: parent.left |
1279 | + right: parent.right |
1280 | + top: parent.top |
1281 | + bottom: divider.top |
1282 | + } |
1283 | + model: root.model |
1284 | + onCurrentIndexChanged: { |
1285 | + ci=currentIndex; |
1286 | + if(accounts.count==0&&ci==2) { |
1287 | + setup.exec(); |
1288 | + } |
1289 | + } |
1290 | + snapMode: ListView.SnapOneItem |
1291 | + orientation: Qt.Horizontal |
1292 | + highlightMoveDuration: UbuntuAnimation.FastDuration |
1293 | + highlightRangeMode: ListView.StrictlyEnforceRange |
1294 | + highlightFollowsCurrentItem: true |
1295 | + |
1296 | + delegate: Item { |
1297 | + width: listView.width |
1298 | + height: listView.height |
1299 | + clip: true |
1300 | + |
1301 | + Loader { |
1302 | + anchors { |
1303 | + fill: parent |
1304 | + } |
1305 | + |
1306 | + sourceComponent: modelData |
1307 | + } |
1308 | + } |
1309 | + } |
1310 | + |
1311 | + ListItem.ThinDivider { |
1312 | + id: divider |
1313 | + anchors.bottom: footer.top |
1314 | + opacity: 0 |
1315 | + visible: iwvl |
1316 | + } |
1317 | + |
1318 | + ParallelAnimation { |
1319 | + running: iwvl |
1320 | + NumberAnimation { targets: [divider,footer]; property: "opacity"; to: 1; duration: 500 } |
1321 | + } |
1322 | + |
1323 | + Row { |
1324 | + id: footer |
1325 | + anchors.bottom: parent.bottom |
1326 | + anchors.horizontalCenter: parent.horizontalCenter |
1327 | + height: units.gu(6) |
1328 | + opacity: 0 |
1329 | + visible: iwvl |
1330 | + spacing: (height - size)/2 |
1331 | + |
1332 | + property real size: units.gu(2) |
1333 | + |
1334 | + Repeater { |
1335 | + model: listView.count |
1336 | + delegate: Rectangle { |
1337 | + anchors.verticalCenter: parent.verticalCenter |
1338 | + width: footer.size |
1339 | + height: width |
1340 | + radius: width/2 |
1341 | + |
1342 | + color: listView.currentIndex >= index ? "#4d7198" : "white" |
1343 | + |
1344 | + Behavior on color { |
1345 | + ColorAnimation { |
1346 | + duration: UbuntuAnimation.FastDuration |
1347 | + } |
1348 | + } |
1349 | + |
1350 | + MouseArea { |
1351 | + anchors.fill: parent |
1352 | + |
1353 | + onClicked: { |
1354 | + listView.currentIndex = index |
1355 | + } |
1356 | + } |
1357 | + } |
1358 | + } |
1359 | + } |
1360 | +} |
1361 | |
1362 | === added directory 'graphics' |
1363 | === renamed directory 'graphics' => 'graphics.moved' |
1364 | === added file 'graphics/FontAwesome.otf' |
1365 | Binary files graphics/FontAwesome.otf 1970-01-01 00:00:00 +0000 and graphics/FontAwesome.otf 2014-11-29 21:53:09 +0000 differ |
1366 | === added file 'graphics/author.jpg' |
1367 | Binary files graphics/author.jpg 1970-01-01 00:00:00 +0000 and graphics/author.jpg 2014-11-29 21:53:09 +0000 differ |
1368 | === added file 'graphics/back.png' |
1369 | Binary files graphics/back.png 1970-01-01 00:00:00 +0000 and graphics/back.png 2014-11-29 21:53:09 +0000 differ |
1370 | === added file 'graphics/dog.png' |
1371 | Binary files graphics/dog.png 1970-01-01 00:00:00 +0000 and graphics/dog.png 2014-11-29 21:53:09 +0000 differ |
1372 | === added file 'graphics/dog2.png' |
1373 | Binary files graphics/dog2.png 1970-01-01 00:00:00 +0000 and graphics/dog2.png 2014-11-29 21:53:09 +0000 differ |
1374 | === added file 'graphics/forward.png' |
1375 | Binary files graphics/forward.png 1970-01-01 00:00:00 +0000 and graphics/forward.png 2014-11-29 21:53:09 +0000 differ |
1376 | === added file 'graphics/logo.jpg' |
1377 | Binary files graphics/logo.jpg 1970-01-01 00:00:00 +0000 and graphics/logo.jpg 2014-11-29 21:53:09 +0000 differ |
1378 | === added file 'graphics/logo.png' |
1379 | Binary files graphics/logo.png 1970-01-01 00:00:00 +0000 and graphics/logo.png 2014-11-29 21:53:09 +0000 differ |
1380 | === added file 'graphics/logo2.png' |
1381 | Binary files graphics/logo2.png 1970-01-01 00:00:00 +0000 and graphics/logo2.png 2014-11-29 21:53:09 +0000 differ |
1382 | === added file 'graphics/logo4.jpg' |
1383 | Binary files graphics/logo4.jpg 1970-01-01 00:00:00 +0000 and graphics/logo4.jpg 2014-11-29 21:53:09 +0000 differ |
1384 | === added file 'graphics/logovk.png' |
1385 | Binary files graphics/logovk.png 1970-01-01 00:00:00 +0000 and graphics/logovk.png 2014-11-29 21:53:09 +0000 differ |
1386 | === added file 'graphics/pause.png' |
1387 | Binary files graphics/pause.png 1970-01-01 00:00:00 +0000 and graphics/pause.png 2014-11-29 21:53:09 +0000 differ |
1388 | === added file 'graphics/play.png' |
1389 | Binary files graphics/play.png 1970-01-01 00:00:00 +0000 and graphics/play.png 2014-11-29 21:53:09 +0000 differ |
1390 | === added file 'graphics/settings.png' |
1391 | Binary files graphics/settings.png 1970-01-01 00:00:00 +0000 and graphics/settings.png 2014-11-29 21:53:09 +0000 differ |
1392 | === added file 'graphics/settings2.png' |
1393 | Binary files graphics/settings2.png 1970-01-01 00:00:00 +0000 and graphics/settings2.png 2014-11-29 21:53:09 +0000 differ |
1394 | === added file 'graphics/settings3.png' |
1395 | Binary files graphics/settings3.png 1970-01-01 00:00:00 +0000 and graphics/settings3.png 2014-11-29 21:53:09 +0000 differ |
1396 | === added directory 'locale' |
1397 | === renamed directory 'locale' => 'locale.moved' |
1398 | === added file 'locale/en.po' |
1399 | --- locale/en.po 1970-01-01 00:00:00 +0000 |
1400 | +++ locale/en.po 2014-11-29 21:53:09 +0000 |
1401 | @@ -0,0 +1,141 @@ |
1402 | +# Russian translations for PACKAGE package |
1403 | +# Английские переводы для пакета PACKAGE. |
1404 | +# Copyright (C) 2014 THE PACKAGE'S COPYRIGHT HOLDER |
1405 | +# This file is distributed under the same license as the PACKAGE package. |
1406 | +# Зонов Роман <roman2861@yandex.ru>, 2014. |
1407 | +# |
1408 | +msgid "" |
1409 | +msgstr "" |
1410 | +"Project-Id-Version: PACKAGE VERSION\n" |
1411 | +"Report-Msgid-Bugs-To: \n" |
1412 | +"POT-Creation-Date: 2014-10-19 19:57+0400\n" |
1413 | +"PO-Revision-Date: 2014-10-19 19:57+0400\n" |
1414 | +"Last-Translator: Зонов Роман <roman2861@yandex.ru>\n" |
1415 | +"Language-Team: Russian\n" |
1416 | +"Language: ru\n" |
1417 | +"MIME-Version: 1.0\n" |
1418 | +"Content-Type: text/plain; charset=UTF-8\n" |
1419 | +"Content-Transfer-Encoding: 8bit\n" |
1420 | +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" |
1421 | +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" |
1422 | + |
1423 | +#: Popular.qml:29 MyTracks.qml:31 Search.qml:78 |
1424 | +msgid "Actions" |
1425 | +msgstr "" |
1426 | + |
1427 | +#: Popular.qml:30 MyTracks.qml:32 Search.qml:79 |
1428 | +msgid "What do you want to do?" |
1429 | +msgstr "" |
1430 | + |
1431 | +#: Popular.qml:34 Search.qml:83 |
1432 | +msgid "To VK" |
1433 | +msgstr "" |
1434 | + |
1435 | +#: Popular.qml:40 Search.qml:89 |
1436 | +msgid "To your best" |
1437 | +msgstr "" |
1438 | + |
1439 | +#: MyTracks.qml:37 |
1440 | +msgid "To my best" |
1441 | +msgstr "" |
1442 | + |
1443 | +#: MyTracks.qml:43 |
1444 | +msgid "Cancel" |
1445 | +msgstr "" |
1446 | + |
1447 | +#: Search.qml:39 |
1448 | +msgid "Search..." |
1449 | +msgstr "" |
1450 | + |
1451 | +#: TracksT.qml:14 |
1452 | +msgid "My tracks" |
1453 | +msgstr "" |
1454 | + |
1455 | +#: TracksT.qml:21 |
1456 | +msgid "Popular" |
1457 | +msgstr "" |
1458 | + |
1459 | +#: TracksT.qml:28 |
1460 | +msgid "Search" |
1461 | +msgstr "" |
1462 | + |
1463 | +#: TracksT.qml:35 |
1464 | +msgid "Your best" |
1465 | +msgstr "" |
1466 | + |
1467 | +#: TracksT.qml:42 |
1468 | +msgid "Settings" |
1469 | +msgstr "" |
1470 | + |
1471 | +#: Settings.qml:9 |
1472 | +msgid "Show current song in status" |
1473 | +msgstr "" |
1474 | + |
1475 | +#: Tutorial.qml:30 |
1476 | +msgid "Welcome to" |
1477 | +msgstr "" |
1478 | + |
1479 | +#: Tutorial.qml:37 |
1480 | +msgid "zMusic" |
1481 | +msgstr "" |
1482 | + |
1483 | +#: Tutorial.qml:58 |
1484 | +msgid "Swipe left to continue" |
1485 | +msgstr "" |
1486 | + |
1487 | +#: Tutorial.qml:84 zmusic.qml:83 |
1488 | +msgid "What is VK?" |
1489 | +msgstr "" |
1490 | + |
1491 | +#: Tutorial.qml:102 |
1492 | +msgid "" |
1493 | +"VK is the largest European social network with more than a 100 million " |
1494 | +"active users." |
1495 | +msgstr "" |
1496 | + |
1497 | +#: Tutorial.qml:145 |
1498 | +msgid "Loading web page..." |
1499 | +msgstr "" |
1500 | + |
1501 | +#: Tutorial.qml:209 |
1502 | +msgid "Enjoy it!" |
1503 | +msgstr "" |
1504 | + |
1505 | +#: Tutorial.qml:227 |
1506 | +msgid "" |
1507 | +"I hope, that you'll like it! Please, write your reviews about my app! I " |
1508 | +"hope, that with your help we'll make bug-free, useful and beautiful " |
1509 | +"application!" |
1510 | +msgstr "" |
1511 | + |
1512 | +#: Tutorial.qml:238 |
1513 | +msgid "Press anywhere to start using zMusic!" |
1514 | +msgstr "" |
1515 | + |
1516 | +#: zmusic.qml:84 |
1517 | +msgid "" |
1518 | +"VK (Originally VKontakte, literally 'in contact') is the second biggest " |
1519 | +"social network service in Europe after Facebook, it is available in several " |
1520 | +"languages but popular particularly among Russian-speaking users around the " |
1521 | +"world, especially in Russia, Ukraine, Azerbaijan, Kazakhstan, Moldova, " |
1522 | +"Belarus, and Israel. Like other social networks, VK allows users to message " |
1523 | +"contacts publicly or privately, create groups, public pages and events, " |
1524 | +"share and tag images, audio and video, and play browser-based games." |
1525 | +msgstr "" |
1526 | + |
1527 | +#: zmusic.qml:88 |
1528 | +msgid "Register" |
1529 | +msgstr "" |
1530 | + |
1531 | +#: zmusic.qml:94 |
1532 | +msgid "Sign in" |
1533 | +msgstr "" |
1534 | + |
1535 | +#: zmusic.qml:123 |
1536 | +#, qt-format |
1537 | +msgid "%1 song(-s) were listened in zMusic today" |
1538 | +msgstr "" |
1539 | + |
1540 | +#: zmusic.qml:124 |
1541 | +msgid "No songs were listened today" |
1542 | +msgstr "" |
1543 | |
1544 | === added file 'locale/messages.pot' |
1545 | --- locale/messages.pot 1970-01-01 00:00:00 +0000 |
1546 | +++ locale/messages.pot 2014-11-29 21:53:09 +0000 |
1547 | @@ -0,0 +1,139 @@ |
1548 | +# SOME DESCRIPTIVE TITLE. |
1549 | +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
1550 | +# This file is distributed under the same license as the PACKAGE package. |
1551 | +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
1552 | +# |
1553 | +#, fuzzy |
1554 | +msgid "" |
1555 | +msgstr "" |
1556 | +"Project-Id-Version: PACKAGE VERSION\n" |
1557 | +"Report-Msgid-Bugs-To: \n" |
1558 | +"POT-Creation-Date: 2014-10-19 19:57+0400\n" |
1559 | +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
1560 | +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
1561 | +"Language-Team: LANGUAGE <LL@li.org>\n" |
1562 | +"Language: \n" |
1563 | +"MIME-Version: 1.0\n" |
1564 | +"Content-Type: text/plain; charset=CHARSET\n" |
1565 | +"Content-Transfer-Encoding: 8bit\n" |
1566 | + |
1567 | +#: Popular.qml:29 MyTracks.qml:31 Search.qml:78 |
1568 | +msgid "Actions" |
1569 | +msgstr "" |
1570 | + |
1571 | +#: Popular.qml:30 MyTracks.qml:32 Search.qml:79 |
1572 | +msgid "What do you want to do?" |
1573 | +msgstr "" |
1574 | + |
1575 | +#: Popular.qml:34 Search.qml:83 |
1576 | +msgid "To VK" |
1577 | +msgstr "" |
1578 | + |
1579 | +#: Popular.qml:40 Search.qml:89 |
1580 | +msgid "To your best" |
1581 | +msgstr "" |
1582 | + |
1583 | +#: MyTracks.qml:37 |
1584 | +msgid "To my best" |
1585 | +msgstr "" |
1586 | + |
1587 | +#: MyTracks.qml:43 |
1588 | +msgid "Cancel" |
1589 | +msgstr "" |
1590 | + |
1591 | +#: Search.qml:39 |
1592 | +msgid "Search..." |
1593 | +msgstr "" |
1594 | + |
1595 | +#: TracksT.qml:14 |
1596 | +msgid "My tracks" |
1597 | +msgstr "" |
1598 | + |
1599 | +#: TracksT.qml:21 |
1600 | +msgid "Popular" |
1601 | +msgstr "" |
1602 | + |
1603 | +#: TracksT.qml:28 |
1604 | +msgid "Search" |
1605 | +msgstr "" |
1606 | + |
1607 | +#: TracksT.qml:35 |
1608 | +msgid "Your best" |
1609 | +msgstr "" |
1610 | + |
1611 | +#: TracksT.qml:42 |
1612 | +msgid "Settings" |
1613 | +msgstr "" |
1614 | + |
1615 | +#: Settings.qml:9 |
1616 | +msgid "Show current song in status" |
1617 | +msgstr "" |
1618 | + |
1619 | +#: Tutorial.qml:30 |
1620 | +msgid "Welcome to" |
1621 | +msgstr "" |
1622 | + |
1623 | +#: Tutorial.qml:37 |
1624 | +msgid "zMusic" |
1625 | +msgstr "" |
1626 | + |
1627 | +#: Tutorial.qml:58 |
1628 | +msgid "Swipe left to continue" |
1629 | +msgstr "" |
1630 | + |
1631 | +#: Tutorial.qml:84 zmusic.qml:83 |
1632 | +msgid "What is VK?" |
1633 | +msgstr "" |
1634 | + |
1635 | +#: Tutorial.qml:102 |
1636 | +msgid "" |
1637 | +"VK is the largest European social network with more than a 100 million " |
1638 | +"active users." |
1639 | +msgstr "" |
1640 | + |
1641 | +#: Tutorial.qml:145 |
1642 | +msgid "Loading web page..." |
1643 | +msgstr "" |
1644 | + |
1645 | +#: Tutorial.qml:209 |
1646 | +msgid "Enjoy it!" |
1647 | +msgstr "" |
1648 | + |
1649 | +#: Tutorial.qml:227 |
1650 | +msgid "" |
1651 | +"I hope, that you'll like it! Please, write your reviews about my app! I " |
1652 | +"hope, that with your help we'll make bug-free, useful and beautiful " |
1653 | +"application!" |
1654 | +msgstr "" |
1655 | + |
1656 | +#: Tutorial.qml:238 |
1657 | +msgid "Press anywhere to start using zMusic!" |
1658 | +msgstr "" |
1659 | + |
1660 | +#: zmusic.qml:84 |
1661 | +msgid "" |
1662 | +"VK (Originally VKontakte, literally 'in contact') is the second biggest " |
1663 | +"social network service in Europe after Facebook, it is available in several " |
1664 | +"languages but popular particularly among Russian-speaking users around the " |
1665 | +"world, especially in Russia, Ukraine, Azerbaijan, Kazakhstan, Moldova, " |
1666 | +"Belarus, and Israel. Like other social networks, VK allows users to message " |
1667 | +"contacts publicly or privately, create groups, public pages and events, " |
1668 | +"share and tag images, audio and video, and play browser-based games." |
1669 | +msgstr "" |
1670 | + |
1671 | +#: zmusic.qml:88 |
1672 | +msgid "Register" |
1673 | +msgstr "" |
1674 | + |
1675 | +#: zmusic.qml:94 |
1676 | +msgid "Sign in" |
1677 | +msgstr "" |
1678 | + |
1679 | +#: zmusic.qml:123 |
1680 | +#, qt-format |
1681 | +msgid "%1 song(-s) were listened in zMusic today" |
1682 | +msgstr "" |
1683 | + |
1684 | +#: zmusic.qml:124 |
1685 | +msgid "No songs were listened today" |
1686 | +msgstr "" |
1687 | |
1688 | === added file 'locale/ru.po' |
1689 | --- locale/ru.po 1970-01-01 00:00:00 +0000 |
1690 | +++ locale/ru.po 2014-11-29 21:53:09 +0000 |
1691 | @@ -0,0 +1,143 @@ |
1692 | +# Russian translation for zmusic |
1693 | +# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 |
1694 | +# This file is distributed under the same license as the zmusic package. |
1695 | +# FIRST AUTHOR <EMAIL@ADDRESS>, 2014. |
1696 | +# |
1697 | +msgid "" |
1698 | +msgstr "" |
1699 | +"Project-Id-Version: zmusic\n" |
1700 | +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
1701 | +"POT-Creation-Date: 2014-10-19 19:57+0400\n" |
1702 | +"PO-Revision-Date: 2014-10-22 19:18+0000\n" |
1703 | +"Last-Translator: Zonov Roman <Unknown>\n" |
1704 | +"Language-Team: Russian <ru@li.org>\n" |
1705 | +"MIME-Version: 1.0\n" |
1706 | +"Content-Type: text/plain; charset=UTF-8\n" |
1707 | +"Content-Transfer-Encoding: 8bit\n" |
1708 | +"X-Launchpad-Export-Date: 2014-10-22 19:28+0000\n" |
1709 | +"X-Generator: Launchpad (build 17203)\n" |
1710 | + |
1711 | +#: Popular.qml:29 MyTracks.qml:31 Search.qml:78 |
1712 | +msgid "Actions" |
1713 | +msgstr "Действия" |
1714 | + |
1715 | +#: Popular.qml:30 MyTracks.qml:32 Search.qml:79 |
1716 | +msgid "What do you want to do?" |
1717 | +msgstr "Что вы хотите сделать?" |
1718 | + |
1719 | +#: Popular.qml:34 Search.qml:83 |
1720 | +msgid "To VK" |
1721 | +msgstr "В VK" |
1722 | + |
1723 | +#: Popular.qml:40 Search.qml:89 |
1724 | +msgid "To your best" |
1725 | +msgstr "В коллекцию" |
1726 | + |
1727 | +#: MyTracks.qml:37 |
1728 | +msgid "To my best" |
1729 | +msgstr "В коллекцию" |
1730 | + |
1731 | +#: MyTracks.qml:43 |
1732 | +msgid "Cancel" |
1733 | +msgstr "Отмена" |
1734 | + |
1735 | +#: Search.qml:39 |
1736 | +msgid "Search..." |
1737 | +msgstr "Поиск..." |
1738 | + |
1739 | +#: TracksT.qml:14 |
1740 | +msgid "My tracks" |
1741 | +msgstr "Мои аудиозаписи" |
1742 | + |
1743 | +#: TracksT.qml:21 |
1744 | +msgid "Popular" |
1745 | +msgstr "Популярные" |
1746 | + |
1747 | +#: TracksT.qml:28 |
1748 | +msgid "Search" |
1749 | +msgstr "Поиск" |
1750 | + |
1751 | +#: TracksT.qml:35 |
1752 | +msgid "Your best" |
1753 | +msgstr "Ваша коллекция" |
1754 | + |
1755 | +#: TracksT.qml:42 |
1756 | +msgid "Settings" |
1757 | +msgstr "Настройки" |
1758 | + |
1759 | +#: Settings.qml:9 |
1760 | +msgid "Show current song in status" |
1761 | +msgstr "Транслировать песни в статус" |
1762 | + |
1763 | +#: Tutorial.qml:30 |
1764 | +msgid "Welcome to" |
1765 | +msgstr "Добро пожаловать в" |
1766 | + |
1767 | +#: Tutorial.qml:37 |
1768 | +msgid "zMusic" |
1769 | +msgstr "zMusic" |
1770 | + |
1771 | +#: Tutorial.qml:58 |
1772 | +msgid "Swipe left to continue" |
1773 | +msgstr "Смахните влево для начала" |
1774 | + |
1775 | +#: Tutorial.qml:84 zmusic.qml:83 |
1776 | +msgid "What is VK?" |
1777 | +msgstr "Что такое VK?" |
1778 | + |
1779 | +#: Tutorial.qml:102 |
1780 | +msgid "" |
1781 | +"VK is the largest European social network with more than a 100 million " |
1782 | +"active users." |
1783 | +msgstr "" |
1784 | +"VK это наикрупнейшная европейская социальная сеть с более, чем 100 миллионов " |
1785 | +"активных пользователейю" |
1786 | + |
1787 | +#: Tutorial.qml:145 |
1788 | +msgid "Loading web page..." |
1789 | +msgstr "Загрузка страницы..." |
1790 | + |
1791 | +#: Tutorial.qml:209 |
1792 | +msgid "Enjoy it!" |
1793 | +msgstr "Наслаждайтесь!" |
1794 | + |
1795 | +#: Tutorial.qml:227 |
1796 | +msgid "" |
1797 | +"I hope, that you'll like it! Please, write your reviews about my app! I " |
1798 | +"hope, that with your help we'll make bug-free, useful and beautiful " |
1799 | +"application!" |
1800 | +msgstr "" |
1801 | +"Я надеюсь, что вам понравится! Пожалуйста, пишите отзывы о приложении. Я " |
1802 | +"надеюсь сделать приложение стабильным, красивым и удобным!" |
1803 | + |
1804 | +#: Tutorial.qml:238 |
1805 | +msgid "Press anywhere to start using zMusic!" |
1806 | +msgstr "Нажмите для того, чтобы начать!" |
1807 | + |
1808 | +#: zmusic.qml:84 |
1809 | +msgid "" |
1810 | +"VK (Originally VKontakte, literally 'in contact') is the second biggest " |
1811 | +"social network service in Europe after Facebook, it is available in several " |
1812 | +"languages but popular particularly among Russian-speaking users around the " |
1813 | +"world, especially in Russia, Ukraine, Azerbaijan, Kazakhstan, Moldova, " |
1814 | +"Belarus, and Israel. Like other social networks, VK allows users to message " |
1815 | +"contacts publicly or privately, create groups, public pages and events, " |
1816 | +"share and tag images, audio and video, and play browser-based games." |
1817 | +msgstr "" |
1818 | + |
1819 | +#: zmusic.qml:88 |
1820 | +msgid "Register" |
1821 | +msgstr "Регистрация" |
1822 | + |
1823 | +#: zmusic.qml:94 |
1824 | +msgid "Sign in" |
1825 | +msgstr "Войти" |
1826 | + |
1827 | +#: zmusic.qml:123 |
1828 | +#, qt-format |
1829 | +msgid "%1 song(-s) were listened in zMusic today" |
1830 | +msgstr "%1 песня(-и) были прослушаны в zMusic сегодня" |
1831 | + |
1832 | +#: zmusic.qml:124 |
1833 | +msgid "No songs were listened today" |
1834 | +msgstr "Вы сегодня не заходили в zMusic" |
1835 | |
1836 | === added file 'manifest.json' |
1837 | --- manifest.json 1970-01-01 00:00:00 +0000 |
1838 | +++ manifest.json 2014-11-29 21:53:09 +0000 |
1839 | @@ -0,0 +1,21 @@ |
1840 | +{ |
1841 | + "name": "com.ubuntu.developer.roman2861.zmusic", |
1842 | + "description": "description of zmusic", |
1843 | + "architecture": "all", |
1844 | + "title": "zMusic", |
1845 | + "hooks": { |
1846 | + "zmusic": { |
1847 | + "account-application": "zmusic.application", |
1848 | + "account-service": "zmusic.service", |
1849 | + "apparmor": "zmusic.apparmor", |
1850 | + "desktop": "zmusic.desktop" |
1851 | + }, |
1852 | + "vk": { |
1853 | + "account-provider": "plugin/com.ubuntu.developer.roman2861.zmusic_vk.provider", |
1854 | + "account-qml-plugin": "plugin/qml" |
1855 | + } |
1856 | + }, |
1857 | + "version": "2.0", |
1858 | + "maintainer": "Zonov Roman <roman2861@yandex.ru>", |
1859 | + "framework": "ubuntu-sdk-14.10" |
1860 | +} |
1861 | |
1862 | === renamed file 'manifest.json' => 'manifest.json.moved' |
1863 | === added directory 'plugin' |
1864 | === added file 'plugin/com.ubuntu.developer.roman2861.zmusic_vk.provider' |
1865 | --- plugin/com.ubuntu.developer.roman2861.zmusic_vk.provider 1970-01-01 00:00:00 +0000 |
1866 | +++ plugin/com.ubuntu.developer.roman2861.zmusic_vk.provider 2014-11-29 21:53:09 +0000 |
1867 | @@ -0,0 +1,27 @@ |
1868 | +<?xml version="1.0" encoding="UTF-8"?> |
1869 | +<provider> |
1870 | + <name>VK</name> |
1871 | + <icon>logo4.jpg</icon> |
1872 | + <domains>.*vk\.com</domains> |
1873 | + <plugin>generic-oauth</plugin> |
1874 | + <single-account>true</single-account> |
1875 | + |
1876 | + <template> |
1877 | + <group name="auth"> |
1878 | + <setting name="method">oauth2</setting> |
1879 | + <setting name="mechanism">user_agent</setting> |
1880 | + <group name="oauth2"> |
1881 | + <group name="user_agent"> |
1882 | + <setting name="Host">oauth.vk.com</setting> |
1883 | + <setting name="AuthPath">/authorize</setting> |
1884 | + <setting name="RedirectUri">https://oauth.vk.com/blank.html</setting> |
1885 | + <setting name="Display">popup</setting> |
1886 | + <setting type="as" name="Scope">['audio']</setting> |
1887 | + <setting name="ClientId">3609494</setting> |
1888 | + <setting name="ResponseType">token</setting> |
1889 | + <setting type="as" name="AllowedSchemes">['https']</setting> |
1890 | + </group> |
1891 | + </group> |
1892 | + </group> |
1893 | + </template> |
1894 | +</provider> |
1895 | |
1896 | === added directory 'plugin/qml' |
1897 | === added file 'plugin/qml/Main.qml' |
1898 | --- plugin/qml/Main.qml 1970-01-01 00:00:00 +0000 |
1899 | +++ plugin/qml/Main.qml 2014-11-29 21:53:09 +0000 |
1900 | @@ -0,0 +1,33 @@ |
1901 | +import Ubuntu.OnlineAccounts.Plugin 1.0 |
1902 | + |
1903 | +OAuthMain { |
1904 | + creationComponent: OAuth { |
1905 | + function completeCreation(reply) { |
1906 | + console.log("Access token: " + reply.AccessToken) |
1907 | + var http = new XMLHttpRequest() |
1908 | + var url = "https://api.vk.com/method/users.get?access_token="+reply.AccessToken; |
1909 | + http.open("POST", url, true); |
1910 | + http.onreadystatechange = function() { |
1911 | + if (http.readyState === 4){ |
1912 | + if (http.status == 200) { |
1913 | + console.log("ok") |
1914 | + console.log("response text: " + http.responseText) |
1915 | + var response = JSON.parse(http.responseText) |
1916 | + account.updateDisplayName(response.response[0].first_name+" "+response.response[0].last_name) |
1917 | + globalAccountService.updateSettings({ |
1918 | + 'id': response.response[0].uid |
1919 | + }) |
1920 | + account.synced.connect(finished) |
1921 | + account.sync() |
1922 | + |
1923 | + } else { |
1924 | + console.log("error: " + http.status) |
1925 | + cancel() |
1926 | + } |
1927 | + } |
1928 | + }; |
1929 | + |
1930 | + http.send(null); |
1931 | + } |
1932 | + } |
1933 | +} |
1934 | |
1935 | === added file 'zmusic.apparmor' |
1936 | --- zmusic.apparmor 1970-01-01 00:00:00 +0000 |
1937 | +++ zmusic.apparmor 2014-11-29 21:53:09 +0000 |
1938 | @@ -0,0 +1,11 @@ |
1939 | +{ |
1940 | + "policy_groups": [ |
1941 | + "networking", |
1942 | + "audio", |
1943 | + "usermetrics", |
1944 | + "video", |
1945 | + "webview", |
1946 | + "accounts" |
1947 | + ], |
1948 | + "policy_version": 1.2 |
1949 | +} |
1950 | |
1951 | === renamed file 'zmusic.apparmor' => 'zmusic.apparmor.moved' |
1952 | === added file 'zmusic.application' |
1953 | --- zmusic.application 1970-01-01 00:00:00 +0000 |
1954 | +++ zmusic.application 2014-11-29 21:53:09 +0000 |
1955 | @@ -0,0 +1,11 @@ |
1956 | +<?xml version="1.0" encoding="UTF-8" ?> |
1957 | +<application> |
1958 | + <description>VK</description> |
1959 | + |
1960 | + <services> |
1961 | + <service id="com.ubuntu.developer.roman2861.zmusic_zmusic"> |
1962 | + <description>Do something with your Account Tester account</description> |
1963 | + </service> |
1964 | + </services> |
1965 | + |
1966 | +</application> |
1967 | |
1968 | === added file 'zmusic.desktop' |
1969 | --- zmusic.desktop 1970-01-01 00:00:00 +0000 |
1970 | +++ zmusic.desktop 2014-11-29 21:53:09 +0000 |
1971 | @@ -0,0 +1,10 @@ |
1972 | +[Desktop Entry] |
1973 | +Name=zMusic |
1974 | +Exec=qmlscene $@ zmusic.qml |
1975 | +Icon=graphics/logo4.jpg |
1976 | +Terminal=false |
1977 | +Type=Application |
1978 | +X-Ubuntu-Touch=true |
1979 | +Name[ru_RU]=zmusic |
1980 | +X-Ubuntu-Default-Department-ID=sound-video |
1981 | +X-Ubuntu-Gettext-Domain=com.ubuntu.developer.roman2861.zmusic |
1982 | |
1983 | === renamed file 'zmusic.desktop' => 'zmusic.desktop.moved' |
1984 | === added file 'zmusic.png' |
1985 | Binary files zmusic.png 1970-01-01 00:00:00 +0000 and zmusic.png 2014-11-29 21:53:09 +0000 differ |
1986 | === added file 'zmusic.qml' |
1987 | --- zmusic.qml 1970-01-01 00:00:00 +0000 |
1988 | +++ zmusic.qml 2014-11-29 21:53:09 +0000 |
1989 | @@ -0,0 +1,333 @@ |
1990 | +import QtQuick 2.0 |
1991 | +import UserMetrics 0.1 |
1992 | +import QtMultimedia 5.0 |
1993 | +import "Functions.js" as Js |
1994 | +import Ubuntu.Components 1.1 |
1995 | +import QtGraphicalEffects 1.0 |
1996 | +import QtQuick.LocalStorage 2.0 |
1997 | +import Ubuntu.Components.Popups 0.1 |
1998 | +import Ubuntu.OnlineAccounts 0.1 |
1999 | +import Ubuntu.OnlineAccounts.Client 0.1 |
2000 | +import Ubuntu.Components.ListItems 0.1 |
2001 | +import "URLQuery.js" as URLQuery |
2002 | +import "components" |
2003 | + |
2004 | +MainView { |
2005 | + // Note! applicationName needs to match the "name" field of the click manifest |
2006 | + applicationName: "com.ubuntu.developer.roman2861.zmusic" |
2007 | + id: mainview |
2008 | + width: units.gu(50) |
2009 | + height: units.gu(75) |
2010 | + backgroundColor: "#e5e5e5" |
2011 | + property int is_at |
2012 | + property bool wvisop: false |
2013 | + property var at |
2014 | + property var tracks |
2015 | + property int lt |
2016 | + property int slt |
2017 | + property int sslt |
2018 | + property int temp |
2019 | + property int csong |
2020 | + property int logined |
2021 | + property int issearch |
2022 | + property int ispopular |
2023 | + property int iscollection |
2024 | + property int mttd |
2025 | + property int mttd2 |
2026 | + property int owner_id |
2027 | + property bool iwvl: false |
2028 | + property bool ptsb: false |
2029 | + property int ci |
2030 | + property bool sendtostatus: true |
2031 | + property bool oa: false |
2032 | + useDeprecatedToolbar: false |
2033 | + anchorToKeyboard: true |
2034 | + AccountServiceModel { |
2035 | + id: accounts |
2036 | + provider: "com.ubuntu.developer.roman2861.zmusic_vk" |
2037 | + applicationId: "com.ubuntu.developer.roman2861.zmusic_zmusic" |
2038 | + Component.onCompleted: { |
2039 | + console.log(accounts.count); |
2040 | + if(accounts.count===0) { |
2041 | + iwvl=true; |
2042 | + } |
2043 | + } |
2044 | + } |
2045 | + ListView { |
2046 | + id: accountsList |
2047 | + spacing: units.gu(1) |
2048 | + z: 0 |
2049 | + anchors.fill: parent |
2050 | + model: accounts |
2051 | + delegate: Rectangle { |
2052 | + id: wrapper |
2053 | + width: accountsList.width |
2054 | + height: units.gu(10) |
2055 | + color: "transparent" |
2056 | + Component.onCompleted: { |
2057 | + console.log(accts.provider.id); |
2058 | + var params = {} |
2059 | + accts.authenticate(params) |
2060 | + } |
2061 | + AccountService { |
2062 | + id: accts |
2063 | + objectHandle: accountServiceHandle |
2064 | + onAuthenticated: { |
2065 | + moar.visible=false; |
2066 | + Js.success(reply.AccessToken, 2410788); |
2067 | + tutorial.visible=false; |
2068 | + } |
2069 | + } |
2070 | + } |
2071 | + } |
2072 | + |
2073 | + ActivityIndicator { |
2074 | + id: act_ind_main |
2075 | + anchors.centerIn: parent |
2076 | + } |
2077 | + Tutorial { |
2078 | + id: tutorial |
2079 | + } |
2080 | + Setup { |
2081 | + id: setup |
2082 | + applicationId: "com.ubuntu.developer.roman2861.zmusic_zmusic" |
2083 | + providerId: "com.ubuntu.developer.roman2861.zmusic_vk" |
2084 | + } |
2085 | + MouseArea { |
2086 | + id: moar |
2087 | + anchors.fill: parent |
2088 | + z: 1000000 |
2089 | + visible: false |
2090 | + onClicked: { |
2091 | + visible=false; |
2092 | + oa=false; |
2093 | + iwvl=false; |
2094 | + Js.success(at, owner_id); |
2095 | + tutorial.visible=false; |
2096 | + } |
2097 | + } |
2098 | + |
2099 | + Component { |
2100 | + id: dialog |
2101 | + Dialog { |
2102 | + id: dialogue |
2103 | + title: i18n.tr("What is VK?") |
2104 | + text: i18n.tr("VK (Originally VKontakte, literally 'in contact') is the second biggest social network service in Europe after Facebook, it is available in several languages but popular particularly among Russian-speaking users around the world, especially in Russia, Ukraine, Azerbaijan, Kazakhstan, Moldova, Belarus, and Israel. Like other social networks, VK allows users to message contacts publicly or privately, create groups, public pages and events, share and tag images, audio and video, and play browser-based games."); |
2105 | + Row { |
2106 | + spacing: units.gu(1) |
2107 | + Button { |
2108 | + text: i18n.tr("Register"); |
2109 | + color: "green" |
2110 | + onClicked: Qt.openUrlExternally("http://vk.com/"); |
2111 | + width: (parent.width)/2 |
2112 | + } |
2113 | + Button { |
2114 | + text: i18n.tr("Sign in") |
2115 | + onClicked: { slogo.start(); PopupUtils.close(dialogue) } |
2116 | + width: (parent.width)/2 |
2117 | + } |
2118 | + } |
2119 | + } |
2120 | + } |
2121 | + Loader { |
2122 | + anchors.fill: parent |
2123 | + source: (logined == 1) ? Qt.resolvedUrl("TracksT.qml") : "" |
2124 | + } |
2125 | + ListModel { |
2126 | + id: musicmodel |
2127 | + } |
2128 | + ListModel { |
2129 | + id: popularmodel |
2130 | + } |
2131 | + ListModel { |
2132 | + id: searchmodel |
2133 | + } |
2134 | + ListModel { |
2135 | + id: downloadedmodel |
2136 | + } |
2137 | + ListModel { |
2138 | + id: collectionmodel |
2139 | + } |
2140 | + Metric { |
2141 | + id: zmetrics |
2142 | + name: "zmetrics" |
2143 | + format: i18n.tr("%1 song(-s) were listened in zMusic today") |
2144 | + emptyFormat: i18n.tr("No songs were listened today") |
2145 | + domain: "com.ubuntu.developer.roman2861.zmusic" |
2146 | + } |
2147 | + Image { |
2148 | + id: albumbg |
2149 | + z: -5 |
2150 | + fillMode: Image.PreserveAspectCrop |
2151 | + clip: true |
2152 | + Component.onCompleted: { |
2153 | + if(mainview.width>mainview.height) { width=mainview.width; if(height<mainview.height) { height=mainview.height; } } else { height=mainview.height; if(width<mainview.width) { width=mainview.width; } } |
2154 | + } |
2155 | + opacity: 0.3 |
2156 | + onSourceChanged: { |
2157 | + console.log(source); |
2158 | + } |
2159 | + } |
2160 | + ActivityIndicator { |
2161 | + id: loadimage |
2162 | + anchors.centerIn:parent |
2163 | + running: albumbg.progress!=1 |
2164 | + opacity: 0 |
2165 | + } |
2166 | + |
2167 | + Audio { |
2168 | + id: player; |
2169 | + onVolumeChanged: { console.log(volume) } |
2170 | + onSourceChanged: { loadimage.opacity=0.3; zmetrics.increment(); } |
2171 | + onStopped: { if(status == Audio.EndOfMedia) { albumbg.source=""; if(ispopular==1) { Js.nextSongP(); } else if(issearch==1) { Js.nextSongS() } else if(iscollection==1) { Js.nextSongC() } else { Js.nextSong(); } } } |
2172 | + onPositionChanged: { playingstate.width=mainview.width*(position/duration); } |
2173 | + onBufferProgressChanged: {loadingstate.width=mainview.width*bufferProgress; if(bufferProgress==1) { hideload.start(); playingstate.visible=true; } else { playingstate.visible=false; } } |
2174 | + onPlaybackStateChanged: { if(player.playbackState==Audio.PlayingState) { play_button.source = Qt.resolvedUrl("graphics/pause.png") } else { play_button.source = Qt.resolvedUrl("graphics/play.png") } } |
2175 | + } |
2176 | + NumberAnimation { id: hideload; target: loadingstate; property: "opacity"; duration: 200; from: 1; to: 0 } |
2177 | + NumberAnimation { id: playeropen; target: playerr; property: "anchors.bottomMargin"; duration: 200; from: units.gu(-7); to: 0; } |
2178 | + ThinDivider { |
2179 | + id: pDivider |
2180 | + |
2181 | + //rotation: 180 |
2182 | + |
2183 | + anchors { |
2184 | + left: parent.left |
2185 | + right: parent.right |
2186 | + bottom: playerr.top |
2187 | + } |
2188 | + } |
2189 | + Rectangle { |
2190 | + z: 99999 |
2191 | + width: mainview.width |
2192 | + height: units.gu(7) |
2193 | + anchors.bottom: playerr.bottom |
2194 | + anchors.bottomMargin: 0 |
2195 | + color: "#d5d5d5" |
2196 | + } |
2197 | + |
2198 | + Rectangle { |
2199 | + z: 100000 |
2200 | + id: playerr |
2201 | + width: mainview.width |
2202 | + height: units.gu(7) |
2203 | + anchors.bottom: parent.bottom |
2204 | + anchors.bottomMargin: -units.gu(7)-pDivider.height |
2205 | + color: Qt.rgba(0.5,0.5,0.5,0.5) |
2206 | + Text { |
2207 | + id: track_title |
2208 | + color: "white" |
2209 | + font.bold: true |
2210 | + font.pointSize: units.gu(1.5) |
2211 | + anchors.top: parent.top |
2212 | + anchors.topMargin: units.gu(1) |
2213 | + anchors.left: parent.left |
2214 | + anchors.leftMargin: units.gu(1) |
2215 | + width: mainview.width-controlsrow.width |
2216 | + wrapMode: Text.WordWrap |
2217 | + elide: Text.ElideRight |
2218 | + maximumLineCount: 1 |
2219 | + } |
2220 | + Text { |
2221 | + id: track_artist |
2222 | + color: "white" |
2223 | + font.pointSize: units.gu(1) |
2224 | + anchors.top: track_title.bottom |
2225 | + anchors.topMargin: units.gu(0.5) |
2226 | + anchors.left: parent.left |
2227 | + anchors.leftMargin: units.gu(1) |
2228 | + width: mainview.width-controlsrow.width |
2229 | + wrapMode: Text.WordWrap |
2230 | + elide: Text.ElideRight |
2231 | + maximumLineCount: 1 |
2232 | + } |
2233 | + Rectangle { |
2234 | + id: playingstate |
2235 | + height: units.gu(0.3) |
2236 | + anchors.bottom: parent.bottom |
2237 | + anchors.bottomMargin: 0 |
2238 | + color: "orange" |
2239 | + } |
2240 | + Rectangle { |
2241 | + id: loadingstate |
2242 | + height: units.gu(0.3) |
2243 | + anchors.bottom: parent.bottom |
2244 | + anchors.bottomMargin: 0 |
2245 | + color: "grey" |
2246 | + } |
2247 | + Row { |
2248 | + id: controlsrow |
2249 | + z: 100000 |
2250 | + anchors.right: parent.right |
2251 | + anchors.rightMargin: 0 |
2252 | + anchors.top: parent.top |
2253 | + anchors.topMargin: 0 |
2254 | + Rectangle { |
2255 | + z: 100000 |
2256 | + width: playerr.height |
2257 | + height: width |
2258 | + color: "transparent" |
2259 | + UbuntuShape { |
2260 | + anchors.centerIn: parent |
2261 | + width: parent.width-units.gu(1) |
2262 | + height: width |
2263 | + image: Image { |
2264 | + source: "graphics/back.png" |
2265 | + anchors.fill: parent |
2266 | + } |
2267 | + } |
2268 | + MouseArea { |
2269 | + anchors.fill: parent |
2270 | + onClicked: { |
2271 | + if(ispopular==1) { Js.lastSongP(); } else if(issearch==1) { Js.lastSongS(); } else if(iscollection==1) { Js.lastSongC(); } else { Js.lastSong(); } |
2272 | + } |
2273 | + } |
2274 | + } |
2275 | + Rectangle { |
2276 | + z: 100000 |
2277 | + width: playerr.height |
2278 | + height: width |
2279 | + color: "transparent" |
2280 | + UbuntuShape { |
2281 | + anchors.centerIn: parent |
2282 | + width: parent.width-units.gu(1) |
2283 | + height: width |
2284 | + image: Image { |
2285 | + id: play_button |
2286 | + Component.onCompleted: { |
2287 | + source=Qt.resolvedUrl("graphics/play.png"); |
2288 | + } |
2289 | + } |
2290 | + } |
2291 | + MouseArea { |
2292 | + anchors.fill: parent |
2293 | + onClicked: { player.playbackState === MediaPlayer.PlayingState ? |
2294 | + player.pause() : player.play() |
2295 | + } |
2296 | + } |
2297 | + } |
2298 | + Rectangle { |
2299 | + z: 100000 |
2300 | + width: playerr.height |
2301 | + height: width |
2302 | + color: "transparent" |
2303 | + UbuntuShape { |
2304 | + anchors.centerIn: parent |
2305 | + width: parent.width-units.gu(1) |
2306 | + height: width |
2307 | + image: Image { |
2308 | + source: "graphics/forward.png" |
2309 | + anchors.fill: parent |
2310 | + } |
2311 | + } |
2312 | + MouseArea { |
2313 | + anchors.fill: parent |
2314 | + onClicked: { |
2315 | + if(ispopular==1) { Js.nextSongP(); } else if(issearch==1) { Js.nextSongS() } else if(iscollection==1) { Js.nextSongC() } else { Js.nextSong(); } |
2316 | + } |
2317 | + } |
2318 | + } |
2319 | + NumberAnimation { id: pl; target: player; property: "volume"; duration: 1000; from: 0; to: 1; onStarted: player.play(); } |
2320 | + } |
2321 | + } |
2322 | +} |
2323 | |
2324 | === renamed file 'zmusic.qml' => 'zmusic.qml.moved' |
2325 | === added file 'zmusic.qmlproject' |
2326 | --- zmusic.qmlproject 1970-01-01 00:00:00 +0000 |
2327 | +++ zmusic.qmlproject 2014-11-29 21:53:09 +0000 |
2328 | @@ -0,0 +1,59 @@ |
2329 | +import QmlProject 1.1 |
2330 | + |
2331 | +Project { |
2332 | + mainFile: "zmusic.qml" |
2333 | + |
2334 | + /* Include .qml, .js, and image files from current directory and subdirectories */ |
2335 | + QmlFiles { |
2336 | + directory: "." |
2337 | + } |
2338 | + JavaScriptFiles { |
2339 | + directory: "." |
2340 | + } |
2341 | + ImageFiles { |
2342 | + directory: "." |
2343 | + } |
2344 | + Files { |
2345 | + filter: "*" |
2346 | + } |
2347 | + Files { |
2348 | + filter: "www/*.html" |
2349 | + } |
2350 | + Files { |
2351 | + filter: "Makefile" |
2352 | + } |
2353 | + Files { |
2354 | + filter: "*.apparmor" |
2355 | + } |
2356 | + Files { |
2357 | + directory: "." |
2358 | + paths: ["manifest.json",".excludes"] |
2359 | + } |
2360 | + Files { |
2361 | + directory: "www" |
2362 | + filter: "*" |
2363 | + } |
2364 | + Files { |
2365 | + directory: "www/img/" |
2366 | + filter: "*" |
2367 | + } |
2368 | + Files { |
2369 | + directory: "www/css/" |
2370 | + filter: "*" |
2371 | + } |
2372 | + Files { |
2373 | + directory: "www/js/" |
2374 | + filter: "*" |
2375 | + } |
2376 | + Files { |
2377 | + directory: "tests/" |
2378 | + filter: "*" |
2379 | + } |
2380 | + Files { |
2381 | + directory: "debian" |
2382 | + filter: "*" |
2383 | + } |
2384 | + /* List of plugin directories passed to QML runtime */ |
2385 | + importPaths: [ "." ,"/usr/bin","/usr/lib/x86_64-linux-gnu/qt5/qml" ] |
2386 | +} |
2387 | + |
2388 | |
2389 | === renamed file 'zmusic.qmlproject' => 'zmusic.qmlproject.moved' |
2390 | === added file 'zmusic.qmlproject.user' |
2391 | --- zmusic.qmlproject.user 1970-01-01 00:00:00 +0000 |
2392 | +++ zmusic.qmlproject.user 2014-11-29 21:53:09 +0000 |
2393 | @@ -0,0 +1,342 @@ |
2394 | +<?xml version="1.0" encoding="UTF-8"?> |
2395 | +<!DOCTYPE QtCreatorProject> |
2396 | +<!-- Written by QtCreator 3.1.1, 2014-11-28T00:45:44. --> |
2397 | +<qtcreator> |
2398 | + <data> |
2399 | + <variable>ProjectExplorer.Project.ActiveTarget</variable> |
2400 | + <value type="int">1</value> |
2401 | + </data> |
2402 | + <data> |
2403 | + <variable>ProjectExplorer.Project.EditorSettings</variable> |
2404 | + <valuemap type="QVariantMap"> |
2405 | + <value type="bool" key="EditorConfiguration.AutoIndent">true</value> |
2406 | + <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value> |
2407 | + <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value> |
2408 | + <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0"> |
2409 | + <value type="QString" key="language">Cpp</value> |
2410 | + <valuemap type="QVariantMap" key="value"> |
2411 | + <value type="QByteArray" key="CurrentPreferences">CppGlobal</value> |
2412 | + </valuemap> |
2413 | + </valuemap> |
2414 | + <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1"> |
2415 | + <value type="QString" key="language">QmlJS</value> |
2416 | + <valuemap type="QVariantMap" key="value"> |
2417 | + <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value> |
2418 | + </valuemap> |
2419 | + </valuemap> |
2420 | + <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value> |
2421 | + <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value> |
2422 | + <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value> |
2423 | + <value type="int" key="EditorConfiguration.IndentSize">4</value> |
2424 | + <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value> |
2425 | + <value type="int" key="EditorConfiguration.MarginColumn">80</value> |
2426 | + <value type="bool" key="EditorConfiguration.MouseHiding">true</value> |
2427 | + <value type="bool" key="EditorConfiguration.MouseNavigation">true</value> |
2428 | + <value type="int" key="EditorConfiguration.PaddingMode">1</value> |
2429 | + <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value> |
2430 | + <value type="bool" key="EditorConfiguration.ShowMargin">false</value> |
2431 | + <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value> |
2432 | + <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value> |
2433 | + <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value> |
2434 | + <value type="int" key="EditorConfiguration.TabSize">8</value> |
2435 | + <value type="bool" key="EditorConfiguration.UseGlobal">true</value> |
2436 | + <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value> |
2437 | + <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value> |
2438 | + <value type="bool" key="EditorConfiguration.cleanIndentation">true</value> |
2439 | + <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value> |
2440 | + <value type="bool" key="EditorConfiguration.inEntireDocument">false</value> |
2441 | + </valuemap> |
2442 | + </data> |
2443 | + <data> |
2444 | + <variable>ProjectExplorer.Project.PluginSettings</variable> |
2445 | + <valuemap type="QVariantMap"/> |
2446 | + </data> |
2447 | + <data> |
2448 | + <variable>ProjectExplorer.Project.Target.0</variable> |
2449 | + <valuemap type="QVariantMap"> |
2450 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value> |
2451 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value> |
2452 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{77514f38-5ba4-4eae-b0c4-4f110379c0d9}</value> |
2453 | + <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> |
2454 | + <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> |
2455 | + <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> |
2456 | + <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> |
2457 | + <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/roman/SDK/build-zmusic-Desktop-default</value> |
2458 | + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> |
2459 | + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> |
2460 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> |
2461 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
2462 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> |
2463 | + </valuemap> |
2464 | + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> |
2465 | + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> |
2466 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> |
2467 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
2468 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> |
2469 | + </valuemap> |
2470 | + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> |
2471 | + <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> |
2472 | + <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> |
2473 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Default</value> |
2474 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
2475 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">UbuntuProjectManager.UbuntuQml.BuildConfiguration</value> |
2476 | + </valuemap> |
2477 | + <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value> |
2478 | + <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> |
2479 | + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> |
2480 | + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> |
2481 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value> |
2482 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
2483 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> |
2484 | + </valuemap> |
2485 | + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value> |
2486 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value> |
2487 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
2488 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value> |
2489 | + </valuemap> |
2490 | + <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> |
2491 | + <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/> |
2492 | + <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> |
2493 | + <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> |
2494 | + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> |
2495 | + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> |
2496 | + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> |
2497 | + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> |
2498 | + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> |
2499 | + <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> |
2500 | + <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> |
2501 | + <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> |
2502 | + <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value> |
2503 | + <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> |
2504 | + <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> |
2505 | + <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value> |
2506 | + <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value> |
2507 | + <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value> |
2508 | + <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> |
2509 | + <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> |
2510 | + <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> |
2511 | + <value type="int">0</value> |
2512 | + <value type="int">1</value> |
2513 | + <value type="int">2</value> |
2514 | + <value type="int">3</value> |
2515 | + <value type="int">4</value> |
2516 | + <value type="int">5</value> |
2517 | + <value type="int">6</value> |
2518 | + <value type="int">7</value> |
2519 | + <value type="int">8</value> |
2520 | + <value type="int">9</value> |
2521 | + <value type="int">10</value> |
2522 | + <value type="int">11</value> |
2523 | + <value type="int">12</value> |
2524 | + <value type="int">13</value> |
2525 | + <value type="int">14</value> |
2526 | + </valuelist> |
2527 | + <value type="int" key="PE.EnvironmentAspect.Base">0</value> |
2528 | + <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/> |
2529 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value> |
2530 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">QML Scene</value> |
2531 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmlProjectManager.QmlRunConfiguration.QmlScene</value> |
2532 | + <value type="QString" key="QmlProjectManager.QmlRunConfiguration.MainScript">CurrentFile</value> |
2533 | + <value type="QString" key="QmlProjectManager.QmlRunConfiguration.QDeclarativeViewerArguments"></value> |
2534 | + <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value> |
2535 | + <value type="bool" key="RunConfiguration.UseCppDebugger">false</value> |
2536 | + <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value> |
2537 | + <value type="bool" key="RunConfiguration.UseMultiProcess">false</value> |
2538 | + <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> |
2539 | + <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> |
2540 | + </valuemap> |
2541 | + <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1"> |
2542 | + <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> |
2543 | + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> |
2544 | + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> |
2545 | + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> |
2546 | + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> |
2547 | + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> |
2548 | + <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> |
2549 | + <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> |
2550 | + <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> |
2551 | + <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value> |
2552 | + <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> |
2553 | + <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> |
2554 | + <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value> |
2555 | + <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value> |
2556 | + <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value> |
2557 | + <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> |
2558 | + <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> |
2559 | + <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> |
2560 | + <value type="int">0</value> |
2561 | + <value type="int">1</value> |
2562 | + <value type="int">2</value> |
2563 | + <value type="int">3</value> |
2564 | + <value type="int">4</value> |
2565 | + <value type="int">5</value> |
2566 | + <value type="int">6</value> |
2567 | + <value type="int">7</value> |
2568 | + <value type="int">8</value> |
2569 | + <value type="int">9</value> |
2570 | + <value type="int">10</value> |
2571 | + <value type="int">11</value> |
2572 | + <value type="int">12</value> |
2573 | + <value type="int">13</value> |
2574 | + <value type="int">14</value> |
2575 | + </valuelist> |
2576 | + <value type="int" key="PE.EnvironmentAspect.Base">-1</value> |
2577 | + <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/> |
2578 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value> |
2579 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">QML Viewer</value> |
2580 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmlProjectManager.QmlRunConfiguration</value> |
2581 | + <value type="QString" key="QmlProjectManager.QmlRunConfiguration.MainScript">CurrentFile</value> |
2582 | + <value type="QString" key="QmlProjectManager.QmlRunConfiguration.QDeclarativeViewerArguments"></value> |
2583 | + <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value> |
2584 | + <value type="bool" key="RunConfiguration.UseCppDebugger">false</value> |
2585 | + <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value> |
2586 | + <value type="bool" key="RunConfiguration.UseMultiProcess">false</value> |
2587 | + <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> |
2588 | + <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> |
2589 | + </valuemap> |
2590 | + <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">2</value> |
2591 | + </valuemap> |
2592 | + </data> |
2593 | + <data> |
2594 | + <variable>ProjectExplorer.Project.Target.1</variable> |
2595 | + <valuemap type="QVariantMap"> |
2596 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">UbuntuSDK for armhf (GCC ubuntu-sdk-14.10-utopic)</value> |
2597 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">UbuntuSDK for armhf (GCC ubuntu-sdk-14.10-utopic)</value> |
2598 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{ad84ad47-38bf-4839-904c-6def13034c97}</value> |
2599 | + <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> |
2600 | + <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> |
2601 | + <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> |
2602 | + <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> |
2603 | + <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/roman/SDK/build-zmusic-UbuntuSDK_for_armhf_GCC_ubuntu_sdk_14_10_utopic-default</value> |
2604 | + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> |
2605 | + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> |
2606 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> |
2607 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
2608 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> |
2609 | + </valuemap> |
2610 | + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> |
2611 | + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> |
2612 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> |
2613 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
2614 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> |
2615 | + </valuemap> |
2616 | + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> |
2617 | + <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> |
2618 | + <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> |
2619 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Default</value> |
2620 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
2621 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">UbuntuProjectManager.UbuntuQml.BuildConfiguration</value> |
2622 | + </valuemap> |
2623 | + <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value> |
2624 | + <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> |
2625 | + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> |
2626 | + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> |
2627 | + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> |
2628 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">UbuntuSDK Click build</value> |
2629 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
2630 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">UbuntuProjectManager.ClickPackageStep</value> |
2631 | + <value type="int" key="Ubuntu.UbuntuPackageStep.PackageMode">1</value> |
2632 | + </valuemap> |
2633 | + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> |
2634 | + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> |
2635 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Upload files to Ubuntu Device</value> |
2636 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
2637 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">UbuntuProjectManager.UploadStep</value> |
2638 | + <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedFiles"> |
2639 | + <value type="QString">/home/roman/SDK/build-zmusic-UbuntuSDK_for_armhf_GCC_ubuntu_sdk_14_10_utopic-default/com.ubuntu.developer.roman2861.zmusic_2.0_all.click</value> |
2640 | + <value type="QString">/usr/share/qtcreator/ubuntu/scripts/qtc_device_applaunch.py</value> |
2641 | + </valuelist> |
2642 | + <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedHosts"> |
2643 | + <value type="QString">127.0.0.1</value> |
2644 | + <value type="QString">127.0.0.1</value> |
2645 | + </valuelist> |
2646 | + <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedRemotePaths"> |
2647 | + <value type="QString">/tmp</value> |
2648 | + <value type="QString">/tmp</value> |
2649 | + </valuelist> |
2650 | + <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedSysroots"> |
2651 | + <value type="QString">/var/lib/schroot/chroots/click-ubuntu-sdk-14.10-armhf</value> |
2652 | + <value type="QString">/var/lib/schroot/chroots/click-ubuntu-sdk-14.10-armhf</value> |
2653 | + </valuelist> |
2654 | + <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedTimes"> |
2655 | + <value type="QDateTime">2014-11-28T00:45:41</value> |
2656 | + <value type="QDateTime">2014-11-28T00:45:41</value> |
2657 | + </valuelist> |
2658 | + </valuemap> |
2659 | + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> |
2660 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value> |
2661 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
2662 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> |
2663 | + </valuemap> |
2664 | + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value> |
2665 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy to Ubuntu Device</value> |
2666 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> |
2667 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">UbuntuProjectManager.DeployConfiguration</value> |
2668 | + </valuemap> |
2669 | + <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> |
2670 | + <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/> |
2671 | + <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> |
2672 | + <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> |
2673 | + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> |
2674 | + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> |
2675 | + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> |
2676 | + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> |
2677 | + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> |
2678 | + <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> |
2679 | + <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> |
2680 | + <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> |
2681 | + <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value> |
2682 | + <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> |
2683 | + <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> |
2684 | + <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value> |
2685 | + <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value> |
2686 | + <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value> |
2687 | + <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> |
2688 | + <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> |
2689 | + <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> |
2690 | + <value type="int">0</value> |
2691 | + <value type="int">1</value> |
2692 | + <value type="int">2</value> |
2693 | + <value type="int">3</value> |
2694 | + <value type="int">4</value> |
2695 | + <value type="int">5</value> |
2696 | + <value type="int">6</value> |
2697 | + <value type="int">7</value> |
2698 | + <value type="int">8</value> |
2699 | + <value type="int">9</value> |
2700 | + <value type="int">10</value> |
2701 | + <value type="int">11</value> |
2702 | + <value type="int">12</value> |
2703 | + <value type="int">13</value> |
2704 | + <value type="int">14</value> |
2705 | + </valuelist> |
2706 | + <value type="int" key="PE.EnvironmentAspect.Base">1</value> |
2707 | + <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/> |
2708 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value> |
2709 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">zmusic</value> |
2710 | + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">UbuntuProjectManager.RemoteRunConfiguration.Appzmusic</value> |
2711 | + <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value> |
2712 | + <value type="bool" key="RunConfiguration.UseCppDebugger">false</value> |
2713 | + <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value> |
2714 | + <value type="bool" key="RunConfiguration.UseMultiProcess">false</value> |
2715 | + <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> |
2716 | + <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> |
2717 | + <value type="bool" key="UbuntuRemoteRunConfiguration.ForceInstall">false</value> |
2718 | + <value type="bool" key="UbuntuRemoteRunConfiguration.Uninstall">true</value> |
2719 | + </valuemap> |
2720 | + <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> |
2721 | + </valuemap> |
2722 | + </data> |
2723 | + <data> |
2724 | + <variable>ProjectExplorer.Project.TargetCount</variable> |
2725 | + <value type="int">2</value> |
2726 | + </data> |
2727 | + <data> |
2728 | + <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable> |
2729 | + <value type="QByteArray">{a8a4b447-bcc1-4af4-a5ef-2b193d1e7e91}</value> |
2730 | + </data> |
2731 | + <data> |
2732 | + <variable>ProjectExplorer.Project.Updater.FileVersion</variable> |
2733 | + <value type="int">15</value> |
2734 | + </data> |
2735 | +</qtcreator> |
2736 | |
2737 | === renamed file 'zmusic.qmlproject.user' => 'zmusic.qmlproject.user.moved' |
2738 | === added file 'zmusic.service' |
2739 | --- zmusic.service 1970-01-01 00:00:00 +0000 |
2740 | +++ zmusic.service 2014-11-29 21:53:09 +0000 |
2741 | @@ -0,0 +1,6 @@ |
2742 | +<?xml version="1.0" encoding="UTF-8"?> |
2743 | +<service> |
2744 | + <type>zm</type> |
2745 | + <name>VK</name> |
2746 | + <provider>com.ubuntu.developer.roman2861.zmusic_vk</provider> |
2747 | +</service> |