-var monthRange = 2; // number of months to include in the event list\r
-var includeTodos = true; // disable to remove ToDos from event list\r
-var useBackgroundImage = true; // use background_portrait.png and background_landscape.png to fake transparency. Set to "false" to use a solid background color\r
-var showCombinedDateTime = false;// only show the time for events happening today, otherwise just show the date\r
-var showLocation = true; // show the location for meeting events\r
-var showTodayAsText = true; // if enabled, the current date will be shown as "Today" instead of "31.12"\r
-var todayText = 'Today'; // text to display for "Today"\r
-var tomorrowText = 'Tomorrow'; // text to display for "Tomorrow"\r
-var showNowAsText = true; // if enabled, the appointment time will be shown as "Now" instead of "12:00"\r
-var nowText = 'Now'; // text to display for "Now"\r
-var dateSeparator = '.'; // separator for dates. e.g. "31.12" or "31/12"\r
-var dateFormat = 'auto' // 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
-var weekDayLength = 2; // defines how many characters of the weekday will be shown. E.g. 2 will cut "Friday" to "Fr"\r
-var updateDataInterval = 5; // how many minutes to wait before updating the displayed data. The higher the number, the less battery is used\r
-var calendarApp = 0x10005901; // UID of the calendar app to run when clicking the widget. 0x10005901 = buildin calendar, 0x20004ec1 = Epocware Handy Calendar\r
-var eventsPerWidget = 4; // number of events to show per widget. Default is 4\r
-var showNothingText = true; // if set to "true", show a text if no events are in the list\r
-var nothingText = 'No further events within ' + monthRange + ' months'; // text to show when no events are in the list\r
-var enableDaylightSaving = true;// enable this if you are in a timezone that has daylight saving time (+1h)\r
-\r
-var cssStyle_background = "color:#ffffff; background-color:#000000"; // Defines the background of the widget. If you want to use a background image, set useBackgroundImage = true below. For the default themes, black, gray, and light blue, codes are #292029, #e7dfe7, #009aef\r
-var cssStyle_backgroundFullscreen = "color:#ffffff; background-color:#000000"; // Same as background but for the fullscreen version of the widget\r
-var cssStyle_weekDay = ""; // Defines the appearance of all week day texts\r
-var cssStyle_date = ""; // Defines the appearance of all date texts\r
-var cssStyle_today = "color:#ff0000"; // Defines the appearance of "Today" text\r
-var cssStyle_tomorrow = "color:#0000ff"; // Defines the appearance of "Tomorrow" text\r
-var cssStyle_time = ""; // Defines the appearance of all time texts\r
-var cssStyle_now = "color:#ff00ff"; // Defines the appearance of "Now" text\r
-var cssStyle_description = ""; // Defines the appearance of all event descriptions\r
-var cssStyle_icon = "width:15px; height:15px"; // Defines size and appearance of icons\r
+// valid types for the config object are 'Int', 'Bool', 'String', 'Enum', 'UID'\r
+var config = {\r
+monthRange: {\r
+ Type: 'Int',\r
+ Default: 2,\r
+ Value: 2,\r
+ Name: 'Month Range',\r
+ Info: 'number of months to include in the event list',},\r
+includeTodos: {\r
+ Type: 'Bool',\r
+ Default: true,\r
+ Value: true,\r
+ Name: 'Include ToDos',\r
+ Info: 'disable to remove ToDos from event list',},\r
+useBackgroundImage: {\r
+ Type: 'Bool',\r
+ Default: true,\r
+ Value: true,\r
+ Name: 'Use Background Image',\r
+ Info: 'use background_portrait.png and background_landscape.png to fake transparency. Disable to use a solid background color',},\r
+showCombinedDateTime: {\r
+ Type: 'Bool',\r
+ Default: false,\r
+ Value: false,\r
+ Name: 'Show Combined Date/Time',\r
+ Info: 'only show the time for events happening today, otherwise just show the date',},\r
+showLocation: {\r
+ Type: 'Bool',\r
+ Default: true,\r
+ Value: true,\r
+ Name: 'Show Location',\r
+ Info: 'show the location for meeting events',},\r
+showTodayAsText: {\r
+ Type: 'Bool',\r
+ Default: true,\r
+ Value: true,\r
+ Name: 'Show Today as Text',\r
+ Info: 'if enabled, the current date will be shown as "Today" instead of "31.12"',},\r
+todayText: {\r
+ Type: 'String',\r
+ Default: 'Today',\r
+ Value: 'Today',\r
+ Name: '"Today" Text',\r
+ Info: 'text to display for "Today"',},\r
+tomorrowText: {\r
+ Type: 'String',\r
+ Default: 'Tomorrow',\r
+ Value: 'Tomorrow',\r
+ Name: '"Tomorrow" Text',\r
+ Info: 'text to display for "Tomorrow"',},\r
+showNowAsText: {\r
+ Type: 'Bool',\r
+ Default: true,\r
+ Value: true,\r
+ Name: 'Show Now as Text',\r
+ Info: 'if enabled, the appointment time will be shown as "Now" instead of "12:00"',},\r
+nowText: {\r
+ Type: 'String',\r
+ Default: 'Now',\r
+ Value: 'Now',\r
+ Name: '"Now" Text',\r
+ Info: 'text to display for "Now"',},\r
+dateSeparator: {\r
+ Type: 'String',\r
+ Default: '.',\r
+ Value: '.',\r
+ Name: 'Date Separator',\r
+ Info: 'separator for dates. e.g. "31.12" or "31/12"',},\r
+dateFormat: {\r
+ Type: 'Enum',\r
+ Default: 'auto',\r
+ Value: 'auto',\r
+ ValidValues: ['auto', 'DDMM', 'MMDD'],\r
+ Name: 'Date Format',\r
+ Info: '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
+weekDayLength: {\r
+ Type: 'Int',\r
+ Default: 2,\r
+ Value: 2,\r
+ Name: 'Weekday Length',\r
+ Info: 'defines how many characters of the weekday will be shown. E.g. 2 will cut "Friday" to "Fr"',},\r
+updateDataInterval: {\r
+ Type: 'Int',\r
+ Default: 5,\r
+ Value: 5,\r
+ Name: 'Update Data Interval',\r
+ Info: 'how many minutes to wait before updating the displayed data. The higher the number, the less battery is used',},\r
+calendarApp: {\r
+ Type: 'UID',\r
+ Default: 0x10005901,\r
+ Value: 0x10005901,\r
+ Name: 'Calendar Application To Run',\r
+ Info: 'UID of the calendar app to run when clicking the widget. 0x10005901 = buildin calendar, 0x20004ec1 = Epocware Handy Calendar',},\r
+eventsPerWidget: {\r
+ Type: 'Int',\r
+ Default: 4,\r
+ Value: 4,\r
+ Name: 'Events Per Widget',\r
+ Info: 'number of events to show per widget. Default is 4',},\r
+showNothingText: {\r
+ Type: 'Bool',\r
+ Default: true,\r
+ Value: true,\r
+ Name: 'Show "Nothing" Text',\r
+ Info: 'if enabled, show a text if no events are in the list',},\r
+nothingText: {\r
+ Type: 'String',\r
+ Default: 'No further events within 2 months',\r
+ Value: 'No further events within 2 months',\r
+ Name: '"No further events..." Text',\r
+ Info: 'text to show when no events are in the list',},\r
+enableDaylightSaving: {\r
+ Type: 'Bool',\r
+ Default: true,\r
+ Value: true,\r
+ Name: 'Enable Daylight Saving (+1h)',\r
+ Info: 'enable this if you are in a timezone that has daylight saving time (+1h)',},\r
+cssStyle_background: {\r
+ Type: 'String',\r
+ Default: 'color:#ffffff; background-color:#000000',\r
+ Value: 'color:#ffffff; background-color:#000000',\r
+ Name: '.background',\r
+ Info: 'Defines the background of the widget. If you want to use a background image, set useBackgroundImage = true below. For the default themes, black, gray, and light blue, codes are #292029, #e7dfe7, #009aef',},\r
+cssStyle_backgroundFullscreen: {\r
+ Type: 'String',\r
+ Default: 'color:#ffffff; background-color:#000000',\r
+ Value: 'color:#ffffff; background-color:#000000',\r
+ Name: '.backgroundFullscreen',\r
+ Info: 'Same as background but for the fullscreen version of the widget',},\r
+cssStyle_weekDay: {\r
+ Type: 'String',\r
+ Default: '',\r
+ Value: '',\r
+ Name: '.weekDay',\r
+ Info: 'Defines the appearance of all week day texts',},\r
+cssStyle_date: {\r
+ Type: 'String',\r
+ Default: '',\r
+ Value: '',\r
+ Name: '.date',\r
+ Info: 'Defines the appearance of all date texts',},\r
+cssStyle_today: {\r
+ Type: 'String',\r
+ Default: 'color:#ff0000',\r
+ Value: 'color:#ff0000',\r
+ Name: '.today',\r
+ Info: 'Defines the appearance of "Today" text',},\r
+cssStyle_tomorrow: {\r
+ Type: 'String',\r
+ Default: 'color:#0000ff',\r
+ Value: 'color:#0000ff',\r
+ Name: '.tomorrow',\r
+ Info: 'Defines the appearance of "Tomorrow" text',},\r
+cssStyle_time: {\r
+ Type: 'String',\r
+ Default: '',\r
+ Value: '',\r
+ Name: '.time',\r
+ Info: 'Defines the appearance of all time texts',},\r
+cssStyle_now: {\r
+ Type: 'String',\r
+ Default: 'color:#ff00ff',\r
+ Value: 'color:#ff00ff',\r
+ Name: '.now',\r
+ Info: 'Defines the appearance of "Now" text',},\r
+cssStyle_description: {\r
+ Type: 'String',\r
+ Default: '',\r
+ Value: '',\r
+ Name: '.description',\r
+ Info: 'Defines the appearance of all event descriptions',},\r
+cssStyle_icon: {\r
+ Type: 'String',\r
+ Default: 'width:15px; height:15px',\r
+ Value: 'width:15px; height:15px',\r
+ Name: '.icon',\r
+ Info: 'Defines size and appearance of icons',},\r
+}\r