Unity 8
WallpaperResolver.qml
1 /*
2  * Copyright (C) 2015 Canonical, Ltd.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; version 3.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 import QtQuick 2.4
18 import Ubuntu.Components 1.3
19 
20 Item {
21  id: root
22 
23  // Provide a list of wallpapers to resolve here, preferred ones first
24  property var candidates: []
25 
26  readonly property url background: {
27  for (var i = 0; i < repeater.count; i++) {
28  if (repeater.itemAt(i).status === Image.Ready)
29  return candidates[i];
30  }
31  if (i > 0) {
32  return candidates[i - 1]; // last item is last resort
33  } else {
34  return "";
35  }
36  }
37 
38  Repeater {
39  id: repeater
40  model: root.candidates
41  delegate: Image {
42  source: modelData
43  height: 0
44  width: 0
45  sourceSize.height: 0
46  sourceSize.width: 0
47  }
48  }
49 }