not really known
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

70 lines
2.1 KiB

// 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();
}
});
});