http://www.symbian-freak.com/forum/viewtopic.php?t=38045\r
\r
You can change the appearance (background color, font color, font size etc.) \r
-and settings from within the widget now. Only if you want to use a custom \r
-background image or fake transparency, you still need to modify the widget,\r
-following these steps:\r
+and settings from within the widget now. Even if you want to use a custom\r
+background image to fake transparency, you don't have to modify the widget\r
+anymore. Follow these steps to give your ComingNext widget a transparent \r
+background:\r
\r
- 1. rename comingNext.wgz to comingNext.zip\r
- 2. replace comingNext.zip/comingNext/background_landscape.png and \r
- background_portrait.png with your desired background.\r
- 3. rename comingNext.zip back to comingNext.wgz\r
- 4. do the same for comingNextB.wgz\r
- 5. in the widget settings enable "use background image"\r
- \r
-I recommend to use a program to make a screenshot of your current \r
-homescreen background, then use a painting program like GIMP to \r
-cut out the pieces you need. Use background_mask_landscape.png and \r
-background_mask_portrait.png for guidance on what parts of the screen are\r
-used by widgets.\r
+ 1. install "ComingNext Skin Fetcher" on your phone\r
+ 2. start it on your phone and click on "Generate". It will ask you for the\r
+ positions of the ComingNext widgets on the homescreen.\r
+ 3. In the ComingNext widget, enable the "use background image" option and set\r
+ "background image location" to "external"\r
\r
\r
known limitations:\r
1.25 () by Michael Prager\r
- fixed reoccurring events not beeing shown\r
- added "check for updates" feature\r
+ - added "ComingNext Skin Fetcher v1.1" tool\r
+ - support for external background images (useful in combination with the\r
+ new skin fetcher tool). With this, you won't need to modify the widget\r
+ anymore to use a custom background image\r
zip -9 -r comingNextB.zip comingNextB\r
ren comingNext.zip comingNext.wgz\r
ren comingNextB.zip comingNextB.wgz\r
-zip -9 comingNext_v%VERSION%.zip comingNext.wgz comingNextB.wgz Readme.txt License.txt background_mask_landscape.png background_mask_portrait.png
\ No newline at end of file
+zip -9 comingNext_v%VERSION%.zip comingNext.wgz comingNextB.wgz Readme.txt License.txt ComingNext_SkinFetcher_v1.1.sisx
\ No newline at end of file
localizedText['settings.info.includeTodos'] = 'ausschalten, um Aufgaben aus der Ereignisliste zu entfernen';\r
localizedText['settings.name.useBackgroundImage'] = 'Benutze Hintergrundbild';\r
localizedText['settings.info.useBackgroundImage'] = 'benutze background_portrait.png und background_landscape.png um Transparenz vorzutäuschen. Um einen einfarbigen Hintergrund zu erzeugen, muss diese Einstellung deaktiviert werden.';\r
+localizedText['settings.name.backgroundImageLocation'] = 'Speicherort des Hinterbrundbildes';\r
+localizedText['settings.info.backgroundImageLocation'] = 'definiert, wo das Hintergrundbild zu finden ist. "intern" benutzt das eingebaute Hintergrundbild, "extern" benutzt das Hintergrundbild unter C:\\Data\\. Falls Sie Hintergrundbilder mit dem "ComingNext Skin Fetcher" Tool generiert haben, sollten Sie diese Einstellung auf "extern" setzen.';\r
+localizedText['settings.validValues.backgroundImageLocation.internal'] = 'intern';\r
+localizedText['settings.validValues.backgroundImageLocation.external'] = 'extern';\r
localizedText['settings.name.showCombinedDateTime'] = 'Zeige Datum/Uhrzeit kombiniert an';\r
localizedText['settings.info.showCombinedDateTime'] = 'zeigt nur die Zeit an für Ereignisse, die heute stattfinden. Andernfalls wird nur das Datum angezeigt';\r
localizedText['settings.name.showLocation'] = 'Zeige Ort';\r
localizedText['settings.default.dateSeparator'] = '.';\r
localizedText['settings.name.dateFormat'] = 'Datumsformat';\r
localizedText['settings.info.dateFormat'] = 'legt fest, wie Daten angezeigt werden. \'auto\' übernimmt die Telefoneinstellung. \'MMDD\' stellt den Monat nach vorne, \'DDMM\' den Tag';\r
+localizedText['settings.validValues.dateFormat.auto'] = 'automatisch erkennen';\r
+localizedText['settings.validValues.dateFormat.DDMM'] = 'Tag.Monat.Jahr';\r
+localizedText['settings.validValues.dateFormat.MMDD'] = 'Monat.Tag.Jahr';\r
localizedText['settings.name.weekDayLength'] = 'Länge des Wochentags';\r
localizedText['settings.info.weekDayLength'] = 'legt fest, wie viele Buschstaben des Wochentags eingezeigt werden sollen. Z.B. wird bei 2 aus "Freitag" to "Fr"';\r
localizedText['settings.name.updateDataInterval'] = 'Updateinterval';\r
localizedText['settings.info.includeTodos'] = 'Décocher pour ne pas afficher ToDos dans la liste d\'événements';\r
localizedText['settings.name.useBackgroundImage'] = 'Utiliser Background Image';\r
localizedText['settings.info.useBackgroundImage'] = 'Utiliser background_portrait.png et background_landscape.png pour simuler la transparence. Décocher pour utiliser une couleur de fond';\r
+localizedText['settings.name.backgroundImageLocation'] = 'Background Image Location';\r
+localizedText['settings.info.backgroundImageLocation'] = 'defines where the image is located that is displayed in the background. "Internal" will use the buildin image, "external" will use the image located in C:\\Data\\. If you\'ve generated images with "ComingNext Skin Fetcher", you should set this to "external".';\r
+localizedText['settings.validValues.backgroundImageLocation.internal'] = 'internal';\r
+localizedText['settings.validValues.backgroundImageLocation.external'] = 'external';\r
localizedText['settings.name.showCombinedDateTime'] = 'Afficher date & heure';\r
localizedText['settings.info.showCombinedDateTime'] = 'Afficher seulement l\'heure pour les événements de la journée, sinon seulement date';\r
localizedText['settings.name.showLocation'] = 'Afficher le lieu';\r
localizedText['settings.default.dateSeparator'] = '/';\r
localizedText['settings.name.dateFormat'] = 'Format des dates';\r
localizedText['settings.info.dateFormat'] = 'Comment les dates doivent être affichées. \'auto\' format de votre téléphone. \'MMDD\' mois en premier, \'DDMM\' jour en premier';\r
+localizedText['settings.validValues.dateFormat.auto'] = 'autodetect';\r
+localizedText['settings.validValues.dateFormat.DDMM'] = 'day/month/year';\r
+localizedText['settings.validValues.dateFormat.MMDD'] = 'month/day/year';\r
localizedText['settings.name.weekDayLength'] = 'Nombre de caractère pour le jour';\r
localizedText['settings.info.weekDayLength'] = 'Définit le nombre de caractères pour afficher le jour de la semaine : 2 coupera "Lundi" à "Lu"';\r
localizedText['settings.name.updateDataInterval'] = 'Interval de mise à jour';\r
monthRange: { Type: 'Int', Default: 2, Value: 2,},\r
includeTodos: { Type: 'Bool', Default: true, Value: true,},\r
useBackgroundImage: { Type: 'Bool', Default: true, Value: true,},\r
+ backgroundImageLocation: { Type: 'Enum', Default: 'internal', Value: 'internal', ValidValues: ['internal', 'external']},\r
showCombinedDateTime: { Type: 'Bool', Default: false, Value: false,},\r
showLocation: { Type: 'Bool', Default: true, Value: true,},\r
showTodayAsText: { Type: 'Bool', Default: true, Value: true,},\r
else if (config[key].Type == 'Enum') {\r
settingsHtml += '<table><tr><td>' + getLocalizedText('settings.name.' + key) + '<br /><select name="settings.' + key + '" size="1">';\r
for(var i = 0; i < config[key].ValidValues.length; i++)\r
- settingsHtml += '<option label="' + config[key].ValidValues[i] + '"' + (config[key].Value == config[key].ValidValues[i] ? ' selected="selected"' : '') + '>' + config[key].ValidValues[i] + '</option>';\r
+ settingsHtml += '<option value="' + config[key].ValidValues[i] + '"' + (config[key].Value == config[key].ValidValues[i] ? ' selected="selected"' : '') + '>' + getLocalizedText('settings.validValues.' + key + '.' + config[key].ValidValues[i]) + '</option>';\r
settingsHtml += '</select></div></td>' + printHintBox(getLocalizedText('settings.info.' + key)) + '<hr />';\r
}\r
}\r
updateData();\r
}\r
\r
+function getBackgroundImage()\r
+{\r
+ var bgImage;\r
+ if (config['backgroundImageLocation'].Value == config['backgroundImageLocation'].ValidValues[0]) // internal\r
+ bgImage = 'background_' + orientation + '.png';\r
+ else\r
+ bgImage = 'C:/Data/background_' + panelNum + '_' + orientation + '.png';\r
+ return bgImage;\r
+}\r
+\r
function updateHomescreen()\r
{\r
if (config['useBackgroundImage'].Value) {\r
if (orientation != 'portrait' && screen.width == 360 && screen.height == 640) {\r
window.widget.prepareForTransition("fade");\r
orientation = 'portrait';\r
- document.getElementById('body').style.backgroundImage = 'url(background_' + orientation + '.png)';\r
+ document.getElementById('body').style.backgroundImage = 'url(' + getBackgroundImage() + ')';\r
document.getElementById('body').style.backgroundColor = 'none';\r
window.widget.performTransition();\r
} else if (orientation != 'landscape' && screen.width == 640 && screen.height == 360) {\r
window.widget.prepareForTransition("fade");\r
orientation = 'landscape';\r
- document.getElementById('body').style.backgroundImage = 'url(background_' + orientation + '.png)';\r
+ document.getElementById('body').style.backgroundImage = 'url(' + getBackgroundImage() + ')';\r
document.getElementById('body').style.backgroundColor = 'none';\r
window.widget.performTransition();\r
}\r
else if (document.getElementById('body').style.backgroundImage == "")\r
{\r
- document.getElementById('body').style.backgroundImage = 'url(background_' + orientation + '.png)';\r
+ document.getElementById('body').style.backgroundImage = 'url(' + getBackgroundImage() + ')';\r
}\r
}\r
}\r
{ \r
if (reqV.readyState == 4) {\r
if (reqV.status == 200) {\r
- // little overhead here, one could use also string for version info\r
var resultXml = reqV.responseText;\r
if (resultXml) {\r
var div = document.getElementById("tmp");\r
localizedText['settings.info.includeTodos'] = 'disable to remove ToDos from event list';\r
localizedText['settings.name.useBackgroundImage'] = 'Use Background Image';\r
localizedText['settings.info.useBackgroundImage'] = 'use background_portrait.png and background_landscape.png to fake transparency. Disable to use a solid background color';\r
+localizedText['settings.name.backgroundImageLocation'] = 'Background Image Location';\r
+localizedText['settings.info.backgroundImageLocation'] = 'defines where the image is located that is displayed in the background. "Internal" will use the buildin image, "external" will use the image located in C:\\Data\\. If you\'ve generated images with "ComingNext Skin Fetcher", you should set this to "external".';\r
+localizedText['settings.validValues.backgroundImageLocation.internal'] = 'internal';\r
+localizedText['settings.validValues.backgroundImageLocation.external'] = 'external';\r
localizedText['settings.name.showCombinedDateTime'] = 'Show Combined Date/Time';\r
localizedText['settings.info.showCombinedDateTime'] = 'only show the time for events happening today, otherwise just show the date';\r
localizedText['settings.name.showLocation'] = 'Show Location';\r
localizedText['settings.default.dateSeparator'] = '.';\r
localizedText['settings.name.dateFormat'] = 'Date Format';\r
localizedText['settings.info.dateFormat'] = 'how dates will be displayed. \'auto\' will autodetect your phone\'s date format setting. \'MMDD\' will write month first, \'DDMM\' will write day first';\r
+localizedText['settings.validValues.dateFormat.auto'] = 'autodetect';\r
+localizedText['settings.validValues.dateFormat.DDMM'] = 'day/month/year';\r
+localizedText['settings.validValues.dateFormat.MMDD'] = 'month/day/year';\r
localizedText['settings.name.weekDayLength'] = 'Weekday Length';\r
localizedText['settings.info.weekDayLength'] = 'defines how many characters of the weekday will be shown. E.g. 2 will cut "Friday" to "Fr"';\r
localizedText['settings.name.updateDataInterval'] = 'Update Data Interval';\r
localizedText['settings.info.includeTodos'] = 'ausschalten, um Aufgaben aus der Ereignisliste zu entfernen';\r
localizedText['settings.name.useBackgroundImage'] = 'Benutze Hintergrundbild';\r
localizedText['settings.info.useBackgroundImage'] = 'benutze background_portrait.png und background_landscape.png um Transparenz vorzutäuschen. Um einen einfarbigen Hintergrund zu erzeugen, muss diese Einstellung deaktiviert werden.';\r
+localizedText['settings.name.backgroundImageLocation'] = 'Speicherort des Hinterbrundbildes';\r
+localizedText['settings.info.backgroundImageLocation'] = 'definiert, wo das Hintergrundbild zu finden ist. "intern" benutzt das eingebaute Hintergrundbild, "extern" benutzt das Hintergrundbild unter C:\\Data\\. Falls Sie Hintergrundbilder mit dem "ComingNext Skin Fetcher" Tool generiert haben, sollten Sie diese Einstellung auf "extern" setzen.';\r
+localizedText['settings.validValues.backgroundImageLocation.internal'] = 'intern';\r
+localizedText['settings.validValues.backgroundImageLocation.external'] = 'extern';\r
localizedText['settings.name.showCombinedDateTime'] = 'Zeige Datum/Uhrzeit kombiniert an';\r
localizedText['settings.info.showCombinedDateTime'] = 'zeigt nur die Zeit an für Ereignisse, die heute stattfinden. Andernfalls wird nur das Datum angezeigt';\r
localizedText['settings.name.showLocation'] = 'Zeige Ort';\r
localizedText['settings.default.dateSeparator'] = '.';\r
localizedText['settings.name.dateFormat'] = 'Datumsformat';\r
localizedText['settings.info.dateFormat'] = 'legt fest, wie Daten angezeigt werden. \'auto\' übernimmt die Telefoneinstellung. \'MMDD\' stellt den Monat nach vorne, \'DDMM\' den Tag';\r
+localizedText['settings.validValues.dateFormat.auto'] = 'automatisch erkennen';\r
+localizedText['settings.validValues.dateFormat.DDMM'] = 'Tag.Monat.Jahr';\r
+localizedText['settings.validValues.dateFormat.MMDD'] = 'Monat.Tag.Jahr';\r
localizedText['settings.name.weekDayLength'] = 'Länge des Wochentags';\r
localizedText['settings.info.weekDayLength'] = 'legt fest, wie viele Buschstaben des Wochentags eingezeigt werden sollen. Z.B. wird bei 2 aus "Freitag" to "Fr"';\r
localizedText['settings.name.updateDataInterval'] = 'Updateinterval';\r
localizedText['settings.info.includeTodos'] = 'Décocher pour ne pas afficher ToDos dans la liste d\'événements';\r
localizedText['settings.name.useBackgroundImage'] = 'Utiliser Background Image';\r
localizedText['settings.info.useBackgroundImage'] = 'Utiliser background_portrait.png et background_landscape.png pour simuler la transparence. Décocher pour utiliser une couleur de fond';\r
+localizedText['settings.name.backgroundImageLocation'] = 'Background Image Location';\r
+localizedText['settings.info.backgroundImageLocation'] = 'defines where the image is located that is displayed in the background. "Internal" will use the buildin image, "external" will use the image located in C:\\Data\\. If you\'ve generated images with "ComingNext Skin Fetcher", you should set this to "external".';\r
+localizedText['settings.validValues.backgroundImageLocation.internal'] = 'internal';\r
+localizedText['settings.validValues.backgroundImageLocation.external'] = 'external';\r
localizedText['settings.name.showCombinedDateTime'] = 'Afficher date & heure';\r
localizedText['settings.info.showCombinedDateTime'] = 'Afficher seulement l\'heure pour les événements de la journée, sinon seulement date';\r
localizedText['settings.name.showLocation'] = 'Afficher le lieu';\r
localizedText['settings.default.dateSeparator'] = '/';\r
localizedText['settings.name.dateFormat'] = 'Format des dates';\r
localizedText['settings.info.dateFormat'] = 'Comment les dates doivent être affichées. \'auto\' format de votre téléphone. \'MMDD\' mois en premier, \'DDMM\' jour en premier';\r
+localizedText['settings.validValues.dateFormat.auto'] = 'autodetect';\r
+localizedText['settings.validValues.dateFormat.DDMM'] = 'day/month/year';\r
+localizedText['settings.validValues.dateFormat.MMDD'] = 'month/day/year';\r
localizedText['settings.name.weekDayLength'] = 'Nombre de caractère pour le jour';\r
localizedText['settings.info.weekDayLength'] = 'Définit le nombre de caractères pour afficher le jour de la semaine : 2 coupera "Lundi" à "Lu"';\r
localizedText['settings.name.updateDataInterval'] = 'Interval de mise à jour';\r
monthRange: { Type: 'Int', Default: 2, Value: 2,},\r
includeTodos: { Type: 'Bool', Default: true, Value: true,},\r
useBackgroundImage: { Type: 'Bool', Default: true, Value: true,},\r
+ backgroundImageLocation: { Type: 'Enum', Default: 'internal', Value: 'internal', ValidValues: ['internal', 'external']},\r
showCombinedDateTime: { Type: 'Bool', Default: false, Value: false,},\r
showLocation: { Type: 'Bool', Default: true, Value: true,},\r
showTodayAsText: { Type: 'Bool', Default: true, Value: true,},\r
else if (config[key].Type == 'Enum') {\r
settingsHtml += '<table><tr><td>' + getLocalizedText('settings.name.' + key) + '<br /><select name="settings.' + key + '" size="1">';\r
for(var i = 0; i < config[key].ValidValues.length; i++)\r
- settingsHtml += '<option label="' + config[key].ValidValues[i] + '"' + (config[key].Value == config[key].ValidValues[i] ? ' selected="selected"' : '') + '>' + config[key].ValidValues[i] + '</option>';\r
+ settingsHtml += '<option value="' + config[key].ValidValues[i] + '"' + (config[key].Value == config[key].ValidValues[i] ? ' selected="selected"' : '') + '>' + getLocalizedText('settings.validValues.' + key + '.' + config[key].ValidValues[i]) + '</option>';\r
settingsHtml += '</select></div></td>' + printHintBox(getLocalizedText('settings.info.' + key)) + '<hr />';\r
}\r
}\r
updateData();\r
}\r
\r
+function getBackgroundImage()\r
+{\r
+ var bgImage;\r
+ if (config['backgroundImageLocation'].Value == config['backgroundImageLocation'].ValidValues[0]) // internal\r
+ bgImage = 'background_' + orientation + '.png';\r
+ else\r
+ bgImage = 'C:/Data/background_' + panelNum + '_' + orientation + '.png';\r
+ return bgImage;\r
+}\r
+\r
function updateHomescreen()\r
{\r
if (config['useBackgroundImage'].Value) {\r
if (orientation != 'portrait' && screen.width == 360 && screen.height == 640) {\r
window.widget.prepareForTransition("fade");\r
orientation = 'portrait';\r
- document.getElementById('body').style.backgroundImage = 'url(background_' + orientation + '.png)';\r
+ document.getElementById('body').style.backgroundImage = 'url(' + getBackgroundImage() + ')';\r
document.getElementById('body').style.backgroundColor = 'none';\r
window.widget.performTransition();\r
} else if (orientation != 'landscape' && screen.width == 640 && screen.height == 360) {\r
window.widget.prepareForTransition("fade");\r
orientation = 'landscape';\r
- document.getElementById('body').style.backgroundImage = 'url(background_' + orientation + '.png)';\r
+ document.getElementById('body').style.backgroundImage = 'url(' + getBackgroundImage() + ')';\r
document.getElementById('body').style.backgroundColor = 'none';\r
window.widget.performTransition();\r
}\r
else if (document.getElementById('body').style.backgroundImage == "")\r
{\r
- document.getElementById('body').style.backgroundImage = 'url(background_' + orientation + '.png)';\r
+ document.getElementById('body').style.backgroundImage = 'url(' + getBackgroundImage() + ')';\r
}\r
}\r
}\r
{ \r
if (reqV.readyState == 4) {\r
if (reqV.status == 200) {\r
- // little overhead here, one could use also string for version info\r
var resultXml = reqV.responseText;\r
if (resultXml) {\r
var div = document.getElementById("tmp");\r
localizedText['settings.info.includeTodos'] = 'disable to remove ToDos from event list';\r
localizedText['settings.name.useBackgroundImage'] = 'Use Background Image';\r
localizedText['settings.info.useBackgroundImage'] = 'use background_portrait.png and background_landscape.png to fake transparency. Disable to use a solid background color';\r
+localizedText['settings.name.backgroundImageLocation'] = 'Background Image Location';\r
+localizedText['settings.info.backgroundImageLocation'] = 'defines where the image is located that is displayed in the background. "Internal" will use the buildin image, "external" will use the image located in C:\\Data\\. If you\'ve generated images with "ComingNext Skin Fetcher", you should set this to "external".';\r
+localizedText['settings.validValues.backgroundImageLocation.internal'] = 'internal';\r
+localizedText['settings.validValues.backgroundImageLocation.external'] = 'external';\r
localizedText['settings.name.showCombinedDateTime'] = 'Show Combined Date/Time';\r
localizedText['settings.info.showCombinedDateTime'] = 'only show the time for events happening today, otherwise just show the date';\r
localizedText['settings.name.showLocation'] = 'Show Location';\r
localizedText['settings.default.dateSeparator'] = '.';\r
localizedText['settings.name.dateFormat'] = 'Date Format';\r
localizedText['settings.info.dateFormat'] = 'how dates will be displayed. \'auto\' will autodetect your phone\'s date format setting. \'MMDD\' will write month first, \'DDMM\' will write day first';\r
+localizedText['settings.validValues.dateFormat.auto'] = 'autodetect';\r
+localizedText['settings.validValues.dateFormat.DDMM'] = 'day/month/year';\r
+localizedText['settings.validValues.dateFormat.MMDD'] = 'month/day/year';\r
localizedText['settings.name.weekDayLength'] = 'Weekday Length';\r
localizedText['settings.info.weekDayLength'] = 'defines how many characters of the weekday will be shown. E.g. 2 will cut "Friday" to "Fr"';\r
localizedText['settings.name.updateDataInterval'] = 'Update Data Interval';\r