QML split: Touch, Desktop, Common
This commit is contained in:
parent
d267582aa0
commit
2f291673ab
44 changed files with 167 additions and 54 deletions
59
common/GPodderCore.qml
Normal file
59
common/GPodderCore.qml
Normal file
|
@ -0,0 +1,59 @@
|
|||
|
||||
/**
|
||||
*
|
||||
* gPodder QML UI Reference Implementation
|
||||
* Copyright (c) 2013, 2014, Thomas Perl <m@thp.io>
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
import QtQuick 2.0
|
||||
import io.thp.pyotherside 1.0
|
||||
|
||||
|
||||
Python {
|
||||
id: py
|
||||
|
||||
property bool ready: false
|
||||
signal downloading(int episode_id)
|
||||
signal downloadProgress(int episode_id, real progress)
|
||||
signal downloaded(int episode_id)
|
||||
|
||||
Component.onCompleted: {
|
||||
setHandler('hello', function (version, copyright) {
|
||||
console.log('gPodder version ' + version + ' starting up');
|
||||
console.log('Copyright: ' + copyright);
|
||||
});
|
||||
|
||||
setHandler('downloading', py.downloading);
|
||||
setHandler('download-progress', py.downloadProgress);
|
||||
setHandler('downloaded', py.downloaded);
|
||||
|
||||
var path = Qt.resolvedUrl('../..').substr('file://'.length);
|
||||
addImportPath(path);
|
||||
|
||||
// Load the Python side of things
|
||||
importModule('main', function() {
|
||||
py.ready = true;
|
||||
});
|
||||
}
|
||||
|
||||
onReceived: {
|
||||
console.log('unhandled message: ' + data);
|
||||
}
|
||||
|
||||
onError: {
|
||||
console.log('Python failure: ' + traceback);
|
||||
}
|
||||
}
|
33
common/util.js
Normal file
33
common/util.js
Normal file
|
@ -0,0 +1,33 @@
|
|||
|
||||
/**
|
||||
*
|
||||
* gPodder QML UI Reference Implementation
|
||||
* Copyright (c) 2013, Thomas Perl <m@thp.io>
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
function updateModelFrom(model, data) {
|
||||
for (var i=0; i<data.length; i++) {
|
||||
if (model.count < i) {
|
||||
model.append(data[i]);
|
||||
} else {
|
||||
model.set(i, data[i]);
|
||||
}
|
||||
}
|
||||
|
||||
while (model.count > data.length) {
|
||||
model.remove(model.count-1);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue