OpenSkin Designer MOD by @odem2014 popking159 and Lululla is based on OpenSkin Designer, a further development of e2skinner.
It includes a couple of new features i.e.:
- includes
- panels
- colored tree view
- screen search
- fold/unfold xml code
- quick add buttons (add screen, panel, widget, label, pixmap; delete item)
- simple autocomplete in code
- toggle conditional hiding element (show all, none, random, default)
- toggle markers (border indicators of elements)
- position replacement to 'center' disabled
- bugfixes
- etc.
To view 'fMain.cs'[design] you have to delete the following lines 988-997 (they will autogenerated again...)
this.textBoxEditor2.Styles.BraceBad.FontName = "Verdana\0\0\0\0\0\0\0\0\0\0\0\0\0"; this.textBoxEditor2.Styles.BraceLight.FontName = "Verdana\0\0\0\0\0\0\0\0\0\0\0\0\0"; this.textBoxEditor2.Styles.CallTip.FontName = "Segoe UI\0\0\0\0\0\0\0\0\0\0\0\0"; this.textBoxEditor2.Styles.ControlChar.FontName = "Verdana\0\0\0\0\0\0\0\0\0\0\0\0\0"; this.textBoxEditor2.Styles.Default.BackColor = System.Drawing.SystemColors.InactiveBorder; this.textBoxEditor2.Styles.Default.FontName = "Verdana\0\0\0\0\0\0\0\0\0\0\0\0\0"; this.textBoxEditor2.Styles.IndentGuide.FontName = "Verdana\0\0\0\0\0\0\0\0\0\0\0\0\0"; this.textBoxEditor2.Styles.LastPredefined.FontName = "Verdana\0\0\0\0\0\0\0\0\0\0\0\0\0"; this.textBoxEditor2.Styles.LineNumber.FontName = "Verdana\0\0\0\0\0\0\0\0\0\0\0\0\0"; this.textBoxEditor2.Styles.Max.FontName = "Verdana\0\0\0\0\0\0\0\0\0\0\0\0\0";
![]() Preview 1 |
![]() Preview 2 |
![]() Preview 3 |
![]() Preview 4 |
![]() Preview 5 |
New Features
-
Template system:
- Added new "Template" menu to insert custom widgets/pixmaps/labels/sliders from XML files stored in a configurable
templatesfolder. Includes example templates for quick start.
- Added new "Template" menu to insert custom widgets/pixmaps/labels/sliders from XML files stored in a configurable
-
Open Screen:
- Open standalone screen XML files (without
<skin>wrapper), edit them, and save back only the screen node – ideal for offline screen editing and version control. - Fixed zoom functionality when opening standalone screen files; zoom slider and numeric box are now properly enabled.
- Open Screen now respects the screen's actual size attribute instead of defaulting to 1920x1080.
- Open standalone screen XML files (without
-
Import Screen:
- Import an external screen XML file into the currently open skin, merging it as a new screen.
-
Label text wrap:
- Added "Wrap Text" property for eLabel (and widget render="Label") to enable automatic line wrapping (XML attribute
wrap="1").
- Added "Wrap Text" property for eLabel (and widget render="Label") to enable automatic line wrapping (XML attribute
-
Auto-save:
- Added optional auto-save feature (every X minutes) with status bar notification.
-
Network support:
- Added ability to open and save skins directly from network paths (UNC). Network folder can be set in Preferences.
-
Font management:
- Added full font editor (Add, Remove, Change buttons) in Fonts window. Font name, path, scale, size, and replacement are now editable. Changes are saved to
skin.xmlimmediately.
- Added full font editor (Add, Remove, Change buttons) in Fonts window. Font name, path, scale, size, and replacement are now editable. Changes are saved to
-
Skin project paths:
- Added Preferences for Rootfs folder (to resolve system fonts/images) and Enigma2 source folder (for developer reference).
Improvements
-
Converter improvements:
- Enhanced cConverter with safer value parsing (getIntValue, getSourceTable), better null handling, and support for parent source references.
-
Coordinate system:
- Enhanced
parseCoordto support advanced expressions (e-10,bottom-10,center-100,top+20,right-50%, etc.). FixedFormatExceptionwhen using negative values or percentages.
- Enhanced
-
Listbox improvements:
- Added context‑aware preview entries (menu, bouquet, EPG, movie lists) and smarter font detection (priority attributes like serviceNameFont, EventFontVertical, etc.).
-
Label preview:
- Added context‑aware preview text for dynamic sources (clock, events, channels) when no explicit text is set.
-
Code improvements:
- Added
cSkinProject.csto manage skin, rootfs, and Enigma2 source paths. - Enhanced
cDataBase.cswithsetFonts(),syncFonts(),renameFontReferences().
- Added
Stability & Localization
-
Stability fixes:
- Fixed multiple exceptions when opening single‑screen files (missing mandatory tags like
output,colors,fonts,windowstyle). Properly handles null references.
- Fixed multiple exceptions when opening single‑screen files (missing mandatory tags like
-
Localization:
- Added translations for all new strings (Template, Open Screen, Import Screen, Wrap Text, Auto-save, Network paths, Rootfs, Enigma2 source, etc.) into all language files.
-
Code cleanup:
- Removed duplicate gradient properties, unified gradient handling, general refactoring.
New Features
- Auto-save:
- Added optional auto-save feature (every X minutes) with status bar notification.
You can enable automatic saving of your skin at regular intervals.
How to use:
- Go to Settings → Preferences.
- Check "Auto-save every" and set the number of minutes (1–60).
- Click OK.
- When a skin is open and you make changes, the program will automatically save it every X minutes.
- A message like
Auto-saved at 14:35will appear in the status bar.
Note: Auto-save only triggers if there are unsaved changes. It uses the normal save() function, so it works for both local and network skins.
- Network support:
- Added ability to open and save skins directly from network paths (UNC). Network folder can be set in Preferences.
You can now open and save skins directly from a network share (e.g. your Enigma2 box) without copying files to your local PC.
How to set up:*
- Make sure your Enigma2 box has Samba (Windows share) enabled and that the skin folder (e.g.
/usr/share/enigma2/) is shared. - In OpenSkinDesigner, go to Settings → Preferences.
- Under "Default network path (UNC)", enter the path to the parent folder that contains your skin subfolders.
Example:\\192.168.1.78\Root\usr\share\enigma2 - Click Browse... to select the folder visually, then OK.
How to open a network skin:*
- File → Open
The list will now show both your local skins (from./skins/) and any network skins found in the UNC path. - Select a skin from the list and click Open.
- The skin will load exactly like a local one. You can edit, add widgets, change properties, etc.
How to save a network skin:*
- Just press Ctrl+S or use File → Save. The program will overwrite the original
skin.xmlon the network share.
Stability & Improvements
-
Bug fixes:
- Fixed
ArgumentNullExceptioninGetTranslation()when no language file is loaded. - Removed orphaned methods and unused constants.
- Fixed
-
Code cleanup:
- Removed duplicate gradient properties, unified gradient handling, and general refactoring.
-
Important notes:
- The network path must be accessible and writable by Windows.
- You must have proper permissions on the share.
- If you only want to edit a single screen file (without
<skin>wrapper), use File → Open Screen... instead.
New Features
-
Template system:
- Added new "Template" menu to insert custom widgets/pixmaps/labels/sliders from XML files stored in a configurable
templatesfolder. - Includes example templates for quick start (label, pixmap, slider, progress).
- Added new "Template" menu to insert custom widgets/pixmaps/labels/sliders from XML files stored in a configurable
-
Open Screen:
- Open standalone screen XML files (without
<skin>wrapper), edit them, and save back only the screen node – ideal for offline screen editing and version control.
- Open standalone screen XML files (without
-
Import Screen:
- Import an external screen XML file into the currently open skin, merging it as a new screen.
-
Label text wrap:
- Added "Wrap Text" property for
eLabel(and widgets withrender="Label") to enable automatic line wrapping (XML attributewrap="1").
- Added "Wrap Text" property for
Stability & Improvements
-
Stability fixes:
- Resolved multiple exceptions when opening single‑screen files (missing mandatory tags like
output,colors,fonts,windowstyle). - Properly handles null references in
cDataBaseandsAttributeScreenduring wrapper generation.
- Resolved multiple exceptions when opening single‑screen files (missing mandatory tags like
-
Code improvements:
- Enhanced XML wrapper generation for single‑screen editing.
- Unified gradient handling, general refactoring and cleanup.
New Features
-
OpenATV integration:
- Added multi-select support.
- Added grid support.
- Added magnet/snap functionality.
- Added OpenATV element menu integration.
-
New element templates:
- Added new clock variants.
- Added PIG (Picture-in-Graphics) templates.
- Added progress bar templates.
- Added rounded panel templates.
- Added various OpenATV component templates.
- Open a skin (or create a new one with File → New Screen).
- Select a screen in the tree on the left.
- Open Menu → Template.
- Select a template (example:
multi_example). - Widgets will be inserted into the selected screen.
⚠️ Templates can only be inserted inside a screen. Selecting a widget or another element will not work. -
WindowStyle improvements:
- Added WindowStyle preview support.
- Fixed WindowStyle rendering and related issues.
-
Crash handling:
- Added a global crash handler for improved stability and debugging.
-
Language & startup fixes:
- Updated translations and language resources.
- Fixed startup crash issues.
New Features
-
Screen reordering: Added new buttons in the main toolbar to manage screen order inside the skin tree:
- Move Up – Move the selected screen one position up.
- Move Down – Move the selected screen one position down.
- Sort Screens – Automatically sort all screens alphabetically by name (case-insensitive).
-
Code language: Entire project migrated to English (comments, identifiers, UI messages).
-
Rulers & guidelines:
- Added horizontal and vertical rulers with precise skin coordinate tracking.
- Added red guidelines that correctly follow the mouse cursor at any zoom level.
- Fixed coordinate conversion issues affecting guideline positioning.
-
Zoom fixes:
- Resolved guideline and mouse pointer misalignment when zoom level is not 1:1.
-
UI improvements:
- Added ruler toggle button in the designer toolbar.
- Improved ruler tick marks and number visibility.
-
Code cleanup:
- Removed duplicate Paint event subscriptions.
- Optimized mouse coordinate handling.
- General refactoring and cleanup.
New Features
- Screen reordering: New buttons in the main toolbar to manage screen order inside the skin tree:
- Move Up – Move the selected screen one position up.
- Move Down – Move the selected screen one position down.
- Sort Screens – Automatically sort all screens alphabetically by name (case‑insensitive). Code language: Entire project migrated to English (comments, identifiers, UI messages).
New Features
- ClockToText extended with new time formats:
%l– 12‑hour without leading zero (1‑12)%I– 12‑hour with leading zero (01‑12)%e– day of month without leading zero (1‑31)%P– lowercase AM/PM (am/pm)%p– uppercase AM/PM (AM/PM)
- ServiceName new modes:
ChannelNumber– e.g.,101ChannelNumberAndName– e.g.,101 - Rai 1PiconName– sanitized name for picon filesReferenceName– last part of the service reference
- Slider widget (
eSlider) fully implemented:- Horizontal/vertical orientation
- Properties:
Value,Min,Max,Step,Orientation - Supports gradients, pixmap, alpha test, borders
- Listbox enhancements:
selectionZoom– zoom effect on the selected item (insGraphicListbox)scrollbarBackgroundGradientandscrollbarForegroundGradientfor listbox scrollbars
- Gradient support for any widget (via base
sAttribute–BackgroundGradient,ForegroundGradient)
Fixes & Improvements
- Fixed
NullReferenceExceptioninsAttributeWidgetwhen converter node has notypeattribute. - Fixed
ArgumentNullExceptioninClockToText.getTextwhenSourceis null ortime_seckey missing. - Fixed compilation error CS0019 (
bool?operator) insAttributeWidgetconstructor. - Enhanced corner‑radius mask handling in
sGraphicRectangel– raw values like"30;topLeft,topRight"are preserved and rendered correctly. - Improved
cDataBase.getPathto handle empty/null paths gracefully. - Fixed
cDataBase.rescaleLocationsto use the new resolution forposition="center". - Replaced all
Hashtable.Addcalls with indexer to prevent duplicate key exceptions. - Removed duplicate field declarations in
sAttributeListboxand added missing properties. - General code cleanup: removed unused variables, redundant comments, silenced unnecessary message boxes.
- Full compatibility with existing skins (gradients stored in
backgroundColororbackgroundGradient).
Example of a modern skin using new features:
<!-- Clock with 12‑hour format and lowercase am/pm -->
<widget source="global.CurrentTime" render="Label" position="100,100" size="300,50">
<convert type="ClockToText">Format%l:%M %P</convert>
</widget>
<!-- Service name with channel number -->
<widget source="session.CurrentService" render="Label" position="100,160" size="400,50">
<convert type="ServiceName">ChannelNumberAndName</convert>
</widget>
<!-- Slider with gradient -->
<widget render="eSlider" position="100,220" size="400,30" orientation="horizontal" min="0" max="100" value="50" step="5" foregroundGradient="blue,cyan,white,horizontal" />
<!-- Listbox with selection zoom and scrollbar gradient -->
<widget render="Listbox" position="100,280" size="300,200" selectionZoom="20" scrollbarForegroundGradient="#ffaa00,#ff8800,#ff5500,vertical" />This release focuses on stability, robustness and full compatibility with existing skins, fixing several edge‑case crashes and improving error handling.
Fixes and improvements:
- Fixed
NullReferenceExceptioninsAttributeLabelconstructor when window style or color tables are missing. - Added robust fallback colors (
LabelForeground,LabelBackground,Background) when the skin’s<windowstyle>is incomplete or absent. - Secured the
<convert>node parsing with try‑catch and null checks – malformed converter entries no longer crash the designer. - Ensured safe access to
pWindowStyle.pColorsusingContainsKeybefore direct indexing. - Corrected implicit progress widget detection (
IsImplicitProgressWidget) for better compatibility with old skins. - Enhanced corner‑radius mask handling in
sGraphicRectangel– raw values like"30;topLeft,topRight"are preserved and displayed correctly (partial rounding). - Fixed compilation error CS0019 (
bool?operator) insAttributeWidgetconstructor by adding explicitpRender != nullcheck. - Improved
cDataBase.getPathto handle empty or null paths gracefully (avoidsNotSupportedException). - Fixed
cDataBase.rescaleLocationsto use the new resolution forposition="center"– elements stay centred after resolution change. - Replaced all
Hashtable.Addcalls with the indexer to prevent duplicate key exceptions. - Removed duplicate field declarations in
sAttributeListbox(pListboxMarked*,pscrollbarRadius) and added missing properties (sAttributeProgress.Foreground,sAttributeListbox.ItemCornerRadiusSelected). - Added helper methods
SetOrCreateAttributeandRemoveAttributeIfExistsfor safer XML attribute handling. - General code cleanup: removed unused variables, redundant comments and improved naming consistency.
- Full compatibility with skins that store gradients either in
backgroundColororbackgroundGradient.
Example of a working corner‑radius mask in a screen:
<screen name="Test_All_Features" position="0,0" size="1920,1080" backgroundColor="transparent" flags="wfNoBorder">
<!-- 1. Label with VERTICAL gradient and masked cornerRadius (top corners only) -->
<eLabel backgroundColor="red,green,blue,vertical" cornerRadius="30;topLeft,topRight" position="50,50" size="800,150" text="VERTICAL GRADIENT + TOP CORNERS" font="Regular; 28" foregroundColor="white" halign="center" valign="center" zPosition="1" backgroundGradient="red,green,blue,vertical" />
<!-- 2. Label with HORIZONTAL gradient and full cornerRadius (all corners) -->
<eLabel backgroundColor="#ff8800,#ffff00,#00ff00,horizontal" cornerRadius="40" position="50,220" size="800,150" text="HORIZONTAL GRADIENT + FULL CORNERS" font="Regular; 28" foregroundColor="white" halign="center" valign="center" zPosition="1" backgroundGradient="#ff8800,#ffff00,#00ff00,horizontal" />
<!-- 3. Listbox in GRID mode with item gradients, colored scrollbar, selection zoom -->
<!-- Note: items are generated automatically (pPreviewEntries) -->
<widget render="Listbox" position="44,416" size="900,480" font="Regular; 22" itemHeight="160" itemWidth="280" itemSpacing="15,15" listOrientation="grid" selectionZoom="20" selection="2" enableWrapAround="true" scrollbarMode="showAlways" scrollbarWidth="18" scrollbarOffset="6" scrollbarRadius="10" scrollbarForegroundGradient="#ffaa00,#ff8800,#ff5500,vertical" scrollbarSliderForegroundColor="gold" scrollbarSliderBackgroundColor="#333333" scrollbarSliderBorderColor="white" scrollbarSliderBorderWidth="2" itemGradient="#222222,#444444,#222222,vertical" itemGradientSelected="#ffaa00,#ffcc00,#ffaa00,horizontal" itemCornerRadius="15" itemCornerRadiusSelected="25" backgroundColor="#1a1a1a" foregroundColor="#eeeeee" backgroundColorSelected="#000000" foregroundColorSelected="#ffcc00">
<!-- The listbox will automatically display sample entries (List entry 1,2,...) -->
</widget>
<!-- 4. Progress with foreground gradient -->
<widget render="Progress" position="928,904" size="921,50" backgroundColor="grey_tux" foregroundColor="red,orange,green,horizontal" cornerRadius="25" zPosition="1" />
<!-- 5. Progress with pixmap (if image exists, otherwise gradient is used) -->
<widget render="Progress" position="931,965" size="919,50" backgroundColor="#444444" foregroundColor="blue,cyan,white,horizontal" pixmap="progress_bg.png" cornerRadius="15" zPosition="1" />
<!-- 6. Label widget with data source and converter (ClockToText) -->
<widget source="global.CurrentTime" render="Label" position="1154,109" size="500,60" font="Regular; 36" halign="center" valign="center" transparent="1" foregroundColor="white" backgroundColor="transparent">
<convert type="ClockToText">Format:%H:%M:%S</convert>
</widget>
<!-- 7. Static label example for alignment verification -->
<widget render="Label" position="1200,220" size="400,150" text="Static Label with gradients" font="Regular; 28" halign="center" valign="center" transparent="1" backgroundColor="red,blue,black,vertical" foregroundColor="white" cornerRadius="30;bottomLeft,bottomRight" zPosition="1" backgroundGradient="red,blue,black,vertical" />
<!-- 8. Widget using "Label" render and a dummy source (to test preview text) -->
<widget source="session.Event_Now" render="Label" position="1000,400" size="800,80" font="Regular; 24" halign="center" valign="center" transparent="1" foregroundColor="white" backgroundColor="black,black,black,vertical" backgroundGradient="black,black,black,vertical">
<convert type="EventName">Name</convert>
</widget>
</screen>This MOD continues from the stable 4.2.0.0 feature set.
It includes a couple of new features i.e.:
- includes
- panels
- colored tree view
- screen search
- fold/unfold xml code
- quick add buttons (add screen, panel, widget, label, pixmap; delete item)
- simple autocomplete in code
- toggle conditional hiding element (show all, none, random, default)
- toggle markers (border indicators of elements)
- position replacement to 'center' disabled
- bugfixes
- etc.
Added/updated support includes:
- v4.2.1.0 MOD by Lululla
-
- Refactored gradients: unified into single properties (BackgroundColor, ForegroundGradient) for Label, Progress, Listbox
-
- Removed duplicate properties (backgroundGradient1/2/3, orientation) and unused fields
-
- Added Source, Render, and exposed CornerRadius as a property
-
- Fixed 'center' calculation when rescaling resolution
-
- Added Text, Valign, Halign, noWrap properties for Label in sAttributeWidge
-
- Integrated automatic fallback from foregroundColor to foregroundGradient
-
- Unified font setters using helper method
-
- Fixed CS0246 error (RenderConverter) with full type reference
-
- Prepared support for WQHD and UHD resolutions"
created by popking159 **thanks for Lululla Added
- Added support for Enigma2-style backgroundColor gradients on eLabel.
- Added support for 3-part gradient syntax:
- backgroundColor="#00101010,#00303030,vertical"
- backgroundColor="red,green,vertical"
- backgroundColor="#00ff0000,#0000ff00,vertical"
- Added support for preserving extended cornerRadius syntax:
- cornerRadius="30;topLeft,topRight"
- cornerRadius="30;bottomLeft,bottomRight"
- cornerRadius="30;left"
- cornerRadius="30;right"
** This MOD focuses on compatibility with newer Enigma2 skin syntax while keeping the original OpenSkin Designer workflow.
eLabelbackgroundColorgradients using 3-part syntax:startColor,endColor,direction- HEX gradient values such as
backgroundColor="#00101010,#00303030,vertical" - Named-color gradients such as
backgroundColor="red,green,vertical" cornerRadiusmasks such ascornerRadius="30;topLeft,topRight"- Correct saving of raw gradient and corner-radius mask values without reducing them to simple colors/numbers
- Preview rendering that respects partial rounded corners, for example top-left and top-right only
Example:
<eLabel position="100,100" size="300,80" text="Gradient label" backgroundColor="#00101010,#00303030,vertical" cornerRadius="30;topLeft,topRight" />Changed
- Improved color parsing so comma-separated gradient values are no longer treated as invalid single colors.
- Updated eLabel background handling so backgroundColor can be used for both normal colors and gradients.
- Updated cornerRadius handling to save the original raw value instead of reducing it to a plain numeric radius.
- Improved preview rendering so corner-radius edge masks are respected visually.
Fixed
- Fixed saving of backgroundColor="#00101010,#00303030,vertical".
- Fixed saving of backgroundColor="red,green,vertical".
- Fixed saving of backgroundColor="#00ff0000,#0000ff00,vertical".
- Fixed saving of cornerRadius="30;topLeft,topRight".
- Fixed preview issue where cornerRadius="30;topLeft,topRight" was displayed as rounded on all four corners.
created by Humaxx
- Focus remains in the selected property grid value
- Added some new attributes for eLabels like backgroundGradient, cornerRadius
- Added some new attributes for render listBox like itemCornerRadius
created by Humaxx
- Drawing without color, now using fallback color
created by Humaxx
- Fixed unhandeld Exception (ignoring 'templates')
created by Humaxx
- Fixed typos
- Added dutch translation --> thanks to 'lk1zhm'
- Added new 'Converter.xml and 'simpleConverter.xml'
- Fixed some unhandled Exception when no converter was found
created by Humaxx
- Fixed the display of the error message
created by Humaxx
- Added an option to hide attribut-list in code-editor
- Updated language-files
- After opening the skin, the main node is displayed in the code editor
- Bugfix: Notification about unsafed changes, hasn't work in every case
created by Humaxx
- Undo application termination if a '.svg' graphic is used in the 'borderset's
- If '.svg' graphic is used, the application searches for a corresponding '.png' graphic'
created by Humaxx
- Fixed borderset - bug
- application will be terminated if a '.svg' graphic is used in the 'borderset's
created by Humaxx
- Fixed unhandled Exception when borderset path has not been specified
created by Humaxx
- Support for resolution 3200 x 1800
- Fixed unhandled Exception when borderset has no filename
created by Humaxx Support for QHD (WQHD) and 4K UHD (Ultra HD)
created by Humaxx
- Add an option to not replace color beginning with '#'
created by Humaxx
- Bugfix: Selected Treeviewnode was deleted when pressing any key in Designer-Mode
created by Humaxx
- Bugfix: fixed unhandled exception if using delete - key without selected item
- Bugfix: using delete-key no longer deletes a selected item in propertygrid
created by Humaxx
- Added an option for linewrapping in code-editor
- Typos
- Added missing translations
created by Humaxx
- Bugfix: fixed unhandled exception if file (include) was not found
- Bugfix: fixed unhandled exception if * is used for integer value
- Added an example in converterSimple.xml for converter-preview-text
created by Humaxx
- Added 'experimental delete-mode'
- Bugfix: Don't delete root-node
- Bugfix: 'Color-Dialog': changed 'Change'-button to 'Rename'-button
- Bugfix: 'Color-Dialog': changing a color now triggers unsafed-changes-notification
- Closing 'Color-Dialog' instead of hiding
- Changes in 'Color-Dialog' now take immediatly effect without the need to save and reload
- Nomore saveing and reloading needed if a color is defined two times.
created by Humaxx
- Using 'delete'-key to delete select element
created by Humaxx
- Add options to show notifications about unsafed changes
- Added missing translations
- Bugfix: Now also a notification is shown, if colors are changed
- Added 'ExtEvent' to converter.xml
created by Humaxx
- Add albanian language (thanks to 'kqiqi1')
- Fixed polish language
- Added missing translations
- Bugfix: now displaying an error message if a font is not valid
created by Humaxx
- Fixed unhandled exception when using right-click in designer
- Add turkish language (thanks to 'audi06)
- Bugfix: restoring language only searches for first language file in languages-directory
- Translate existing element-items after changing language
created by Humaxx
- Displaying the name of the loaded skin.
created by Humaxx
- Added missing translation
created by Humaxx
- Multilanguage support
- Added missing translation
- Settings are now saved
created by Humaxx
- Upgraded search-function
- Added missing translation
- Fixed text from 'Open-Button' in 'Open-Dialog'
created by Humaxx
- Add search for searching text in code editor
created by Humaxx
- Fixed typos
- Fixed unhandled exception in 'Color Dialog'
- Allow only valid characters in Textboxes in 'Color Dialog'
- Support for language file (CustomLanguage.lng) in 'xml'-diretory
created by Humaxx
- Fixed an unhandled exception if image is corrupt
- Only take 'jpg'; 'jpeg' and 'png' for random picture selection
created by Humaxx
- Added render 'ChamaeleonRunningText'
- If pixmap have a path without specified filename, take random image
- Bugfix: pixmap path
- Added all renders containing 'runningtext'
- Handling all renders containing 'list' as listbox
- Notifying about unsafed changes
created by Humaxx
- Fixed path not found exception
- Updated converter.xml
- Added speedyAXBlueRunningText
- Removed doubled attributs
- Added some entries to attribut-list like 'foregroundColors' 'options' 'pixmaps' and more
- Added a option to enable showing full attribut-list
- Autocomplete attribut list - max preview set to 15 instead of 5
created by Humaxx
- Fixed unhandled exception if no Font is declared or only alias - then using 'lcd.ttf'
- Fixed unhandled exceptions if a color is missing or declared with 'foregroundColors'
- Ask to show messageboxes again or not
- Bugfix: show picon also when a path is set
- Added option to set 'Fallback-Color', which is used for previewing some text
created by Humaxx
- Added more sources rendered as listbox
- Fixed unhandled exception if source = null
created by Humaxx
- Undefined colors are added alternatively ('#' is not replaced by 'un')'
- Added a option how to add undefined colors (with '#' or with 'un')
- Fixed unhandled exception if a borderset-file isn't existing
- Fixed unhandled exception in 'Windowstyle-preview' if no borderstyle is declared in skin.xml
- Bug fix in 'Windowstyle-preview': Now displaying correct borderset and filename
- Fixed a bug that probably exists since 3.1.0.3. Font preview is now again working
- Editor: now showing up to 99999 line numbers instead of max 999
- Editor: background color changed for better contrast
- Text-preview: using lcd.ttf if declared font is not found
- Added VTi-Fonts
- Converter bug fixes: 'TimeshiftService' added to prevent a exception in 'Timeshiftstate'
- Corrected xhdpicon.png for building in visual studio
created by Scrounger
- cConverterSimplePresets added
- Alias font bug fixes -> gobal loading / usage added
- Fonts sorting added
- Label: font bug fix property grid -> change font or fontsize
- ListBox font added to property grid
- Show font style and size for listboxes
- Font bug fix -> catch exception if font is not defined or exist
- ListBox: Show entries added
- Label metrixreloadedvrunningtext added
- ListBox: count of entries to show bug fixed
- sAttributePixmap: element with attribute 'path' -> bug fix if skinPath is part of attribute path
- converterSimple.xml: MetrixReloaded converters added
created by Scrounger
- Converter: support for 'FullDescription' added
- Resize picon on element size change
- Use attribute scale for ePixmap & widget which have 'pixmap' attribute.
- Converter MovieInfo added
- Show images for widgets with any render and 'path' attribute
- Show EventImage if render attribute contains 'eventimage'
- Show XHDPicon if render attribute contains 'xhdpicon'
- Show images with 'pixmaps' attribute




