|
|
|
|
|
// Desktop handling
|
|
define(["webL10n", "sugar-web/graphics/icon", "sugar-web/graphics/xocolor", "sugar-web/graphics/radiobuttonsgroup", "sugar-web/datastore", "sugar-web/presence", "settings", "server", "humane", "util", "tutorial", "stats", "autosync"], function (_l10n, _iconLib, _xoPalette, _radioButtonsGroup, _datastore, _presence, _preferences, _myserver, _humane, _util, _tutorial, _stats, _autosync) {
|
|
// Load required library
|
|
l10n = _l10n;
|
|
l10n.start();
|
|
iconLib = _iconLib;
|
|
xoPalette = _xoPalette;
|
|
radioButtonsGroup = _radioButtonsGroup;
|
|
datastore = _datastore;
|
|
presence = _presence;
|
|
preferences = _preferences;
|
|
myserver = _myserver;
|
|
humane = _humane;
|
|
tutorial = _tutorial;
|
|
stats = _stats;
|
|
autosync = _autosync;
|
|
util = _util;
|
|
var toload = 2;
|
|
var preferenceset = false;
|
|
|
|
// Main program
|
|
var main = function() {
|
|
if (!preferenceset) {
|
|
app = new Sugar.FirstScreen();
|
|
} else {
|
|
app = new Sugar.Desktop();
|
|
}
|
|
document.onmousemove = function(e) { mouse.position = {x: e.pageX, y: e.pageY}; } // Save mouse position
|
|
util.handleVolumeButtons();
|
|
app.renderInto(document.getElementById("canvas"));
|
|
}
|
|
|
|
// Wait for preferences
|
|
var loadpreference = function() {
|
|
enyo.platform.electron = /Electron/.test(navigator.userAgent);
|
|
if (util.getClientType() == constant.appType && !enyo.platform.android && !enyo.platform.androidChrome && !enyo.platform.ios) {
|
|
var getUrlParameter = function(name) {
|
|
var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
|
|
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
|
|
};
|
|
if (getUrlParameter('rst') == 1) {
|
|
// Electron app parameter to start from a fresh install
|
|
util.cleanDatastore(true);
|
|
}
|
|
}
|
|
preferences.load(function(load) {
|
|
preferenceset = load;
|
|
main();
|
|
});
|
|
}
|
|
|
|
// Wait for localized strings are here
|
|
window.addEventListener('localized', function() {
|
|
if (app) {
|
|
app.getToolbar().localize();
|
|
app.render();
|
|
} else if (--toload == 0) {
|
|
loadpreference();
|
|
}
|
|
}, false);
|
|
|
|
// Wait for DOM is ready.
|
|
requirejs(['domReady!'], function (doc) {
|
|
if (--toload == 0) {
|
|
loadpreference();
|
|
}
|
|
});
|
|
});
|