Publish Vulpes Preview 15 sources for desktop, Android and Tundra

Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
OverSu 2026-09-30 23:13:03 +02:00
commit b38dea0597
25901 changed files with 9982925 additions and 369 deletions

View file

@ -0,0 +1,100 @@
/**
* Manage wallpaper and replaceable home screens.
*/
define(function(require) {
'use strict';
const VERTICALHOME_MANIFEST =
'app://verticalhome.gaiamobile.org/manifest.webapp';
var SettingsListener = require('shared/settings_listener');
var SettingsPanel = require('modules/settings_panel');
var Wallpaper = require('panels/homescreens/wallpaper');
var HomescreenCols = require('panels/homescreens/homescreen_cols');
var HomescreenName = require('panels/homescreens/homescreen_name');
var elements = {};
var gridSelect = null;
return function ctor_homescreen_panel() {
var wallpaper = Wallpaper();
var homescreenCols = HomescreenCols();
var homescreenName = HomescreenName();
return SettingsPanel({
/**
* @param {HTMLElement} panel The panel HTML element.
*/
onInit: function hp_onInit(panel) {
elements = {
wallpaper: panel.querySelector('.wallpaper'),
wallpaperPreview: panel.querySelector('.wallpaper-preview'),
currentHomescreen: panel.querySelector('.current-homescreen')
};
elements.wallpaper.addEventListener('click',
wallpaper.selectWallpaper.bind(wallpaper));
SettingsListener.observe('homescreen.manifestURL', '', manifestURL => {
homescreenCols.verticalhomeActive =
manifestURL === VERTICALHOME_MANIFEST;
});
gridSelect = panel.querySelector('[name="grid.layout.cols"]');
gridSelect.addEventListener('change', function() {
homescreenCols.setCols(this.value);
});
},
onBeforeShow: function hp_onBeforeShow(panel, options) {
this._setWallpaperPreviewSrc(wallpaper.wallpaperSrc);
this._setHomescreenName(homescreenName.name);
this._updateCols(homescreenCols.cols);
homescreenCols.observe('cols', this._updateCols);
wallpaper.observe('wallpaperSrc', this._setWallpaperPreviewSrc);
homescreenName.observe('name', this._setHomescreenName);
},
onBeforeHide: function hp_onBeforeHide() {
wallpaper.unobserve('wallpaperSrc');
homescreenName.unobserve('name');
homescreenCols.unobserve('cols');
},
/**
* @param {String} src
* @private
*/
_setWallpaperPreviewSrc: function hp_setHomescreenName(src) {
elements.wallpaperPreview.src = src;
},
/**
* @param {Number} number The number of columns in the layout.
* @private
*/
_updateCols: function hdp_updateCols(number) {
if (!number) {
return;
}
var option =
gridSelect.querySelector('[value="' + number + '"]');
if (option) {
option.selected = true;
}
},
/**
* @param {String} name
* @private
*/
_setHomescreenName: function hp_setHomescreenName(name) {
elements.currentHomescreen.textContent = name;
}
});
};
});