on master help sign in
unity8/plugins/Dash/CardCreatorCache.qml
40 lines 1.5 kB history raw
1/*
2 * Copyright (C) 2014 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 */
17pragma Singleton
18import QtQuick 2.4
19import "CardCreator.js" as CardCreator
21QtObject {
22 id: root
24 property var cache: new Object();
26 function getCardComponent(template, components, isCardTool, artShapeStyle, categoryLayout) {
27 if (template === undefined || components === undefined)
28 return undefined;
30 var tString = JSON.stringify(template);
31 var cString = JSON.stringify(components);
32 var allString = tString + cString + isCardTool + artShapeStyle + categoryLayout;
33 var component = cache[allString];
34 if (component === undefined) {
35 component = CardCreator.createCardComponent(root, template, components, isCardTool, artShapeStyle, categoryLayout, allString);
36 cache[allString] = component;
37 }
38 return component;
39 }