[GB.WEB.GUI]
* BUG: Better management of keypress events.
* NEW: WebListBox: Arrow keys change the current selected element in single selection mode.
* BUG: WebListBox: Don't raise the Select event twice when setting the Index property.
[GB.WEB.GUI]
* NEW: If a modal window is opened, controls outside of the modal window cannot be focused anymore.
* NEW: The current focus is now kept when the page is refreshed.
* NEW: Application.ActiveControl is a new property that returns the current control having the focus.
* NEW: WebListBox now keeps its scroll status.
* NEW: WebListBox has now ScrollX and ScrollY properties.
* NEW: WebScrollView: EnsureVisible method should work as expected now.
[GB.UTIL]
* NEW: CsvFile: Columns is a synonymous of Fields property.
* NEW: CsvFile: Add properties for CsvFile configuration.
* NEW: CsvFile: KeepNames is a new property that keep the column names unchanged.
* NEW: CsvFile: Add help comments.
[GB.WEB.GUI]
* BUG: Pressing a default or cancel button now correctly sets the focus on
it to ensure that editable controls have sent their contents to the server.
[GB.FORM]
* NEW: SwitchButton: Animated property is now deprecated.
* NEW: IconPanel, TabPanel, ToolPanel, Wizard: Add a FindPanel() method
that returns a tab index from its title.
[GB.GUI.BASE]
* NEW: GridView: Take the Enabled property into account for rendering.
* NEW: TreeView: Take the Enabled property into account for rendering.
[GB.UTIL]
* NEW: Language is a new class that allows to deal with the translation of
the current project.
* NEW: Import all needed translations from the IDE.
[GB.UTIL]
* OPT: Process: Automatically disable internal observers there is no prompt
to watch anymore.
* NEW: Process: The Expect() method now takes a third optional argument
that tells if a detected prompt must be kept, or must be disabled
automatically. Prompts are automatically disabled by default
[GB.WEB.GUI]
* NEW: I prefer WebTree and WebTable use a distinct class for their 'Data' event.
* BUG: If a WebControl raises a DOM 'click' event, then it automatically stops the propagation of the DOM 'mousedown' event.
[GB.WEB.GUI]
* NEW: WebTree and WebTable now use a common WebCellData class for their 'Data' event.
* NEW: WebCellData.Control allows to define a control that will be embedded in the cell.
* NEW: WebTable now raises a 'Click' event if a control that is embedded in a cell raises a 'Click' event. It takes the row and the column as argument.
* NEW: WebTree now raises a similar 'Click' event, but it takes the key and the column as argument.
[GB.WEB.GUI]
* NEW: Use blue inset box shadow for drawing focus.
* NEW: WebButton: Use <button> instead of <div>, to get focus and native keyboard management.
* BUG: WebButton: Stretch the image size to the button height.
* BUG: WebTextArea: Fix style sheet.
* NEW: WebListBox is focusable now.
[GB.WEB.GUI]
* BUG: WebButton: Image now always fill the button height.
* BUG: WebContainer: Do not change the 'display' CSS property of children controls when arrangement is 'Row' or 'Column'.
* BUG: If the 'huge' version of a stock icon does not exist, use the 'small' version instead.
[GB.FORM]
* NEW: Use the new 'Control.RightToLeft' property instead of the global 'System.RightToLeft' one.
* NEW: Add 'text-list' and 'text-list-order' stock icons.
[GB.FORM]
* NEW: ButtonBox: Make the filter timer be ignored at program end.
* NEW: SidePanel: AutoHide is a new property that let the side panel automatically hide on mouse leave and show on mouse enter.
* NEW: FontChooser: Double-click now opens a font tree item only if the 'Activate' event is not handled.
[GB.GUI.BASE]
* NEW: Message: 'DefaultButton' is a new property that makes the first message dialog button the default one. It is TRUE by default to restore the last year behaviour.
[GB.FORM]
* NEW: DirBox: Add a 'Title' property.
* NEW: FileBox: Make 'Filter' property use the same syntax as 'Dialog.Filter' property.
* NEW: FileBox: If the 'Filter' property is set, automatically select the first filter.
* NEW: Update FileBox icon.
[GB.FORM]
* NEW: Add FileBox control, supports open/save mode, filters, custom picture and placeholder.
* NEW: Add Path property to DirBox and FileBox as a synonym for Value and show it in the IDE.
[GB.GUI.BASE]
* NEW: GridView: Use standard arrows to paint sort indicator. Do not use widget style anymore.
* NEW: TreeView: Tree arrows are a bit darker now.
* BUG: Paint.Arrow now takes the line width into account, so that stroking the arrow does not overflow the rectangle bounds.
[GB.GUI.BASE]
* NEW: Label: Try to take italic fonts into account in text alignement.
* BUG: Label: Workaround a Qt bug where using Paint.TextExtents() on a bitmap font makes it unable to be drawn correctly.
[GB.FORM]
* BUG: MenuButton: Fix a possible "Invalid object" error when a MenuButton is destroyed during its Click event.
* NEW: More icons for Gambas icon theme.
[GB.GUI.BASE]
* NEW: The hidden API that estimate the character width of a specific font now returns by default an estimated value for non-fixed fonts.
[GB.EVAL.HIGHLIGHT]
* BUG: TextHighlighter: Paint() correctly takes into account the new highlighter theme design.
* NEW: TextHighlighter: Paint() method takes an optional argument that defines the position of the first character of the highlighted text to paint.
[GB.GUI.BASE]
* NEW: IconView: Add 'Next' and 'Previous' properties to the IconView item class.
* NEW: IconView: The 'Add()' method now inserts the new item at the beginning when the 'After' is explicitly specified as 'NULL'.
[GAMBAS-WIKI]
* NEW: The translation is now complete.
[GAMBAS-SELFTEST]
* NEW: The translation is now complete.
[DEVELOPMENT ENVIRONMENT]
* NEW: The IDE translation is now complete.
[GBS3]
* NEW: The translation is now complete.
[GB.ARGS]
* NEW: The translation is now complete.
[GB.EVAL.HIGHLIGHT]
* NEW: The translation is now complete.
[GB.FORM.TERMINAL]
* NEW: The complete translation.
[GB.FORM]
* NEW: The translation is now complete.
[GB.GUI.BASE]
* NEW: The translation is now complete.
[GB.WEB.FORM]
* NEW: The translations is now complete.
[GB.WEB.GUI]
* NEW: The translations is now complete.
[GB.DBUS.TRAYICON]
* BUG: Detect if we are on a Gnome desktop. In that case the _AboutToShow()
signal always returns FALSE, otherwise submenus are not displayed. But the
Gnome system tray seems to still be buggy, never reacting to any change in
menu properties.
* BUG: Be more robust when a tray icons has no popup menus.
* BUG: Do no crash when freeing remaining tray icons at program clean-up.
[GB.DESKTOP]
* BUG: Desktop.OpenTerminal() now correctly interprets again 'Desktop.Type',
which does not include the entire contents of $XDG_CURRENT_DESKTOP, but
only the first one of that colon-separated desktop names list.
[GB.FORM.EDITOR]
* NEW: TextEditor: In "gambas" mode, `ALT+'` and `ALT+"` now respectively add single quotes and double quotes around the current selection.
[GB.EVAL.HIGHLIGHT]
* NEW: TextHighlighterTheme: Load() now convert old theme to new theme by initializing unset styles with old styles.
* NEW: Enhance 'Diff' highlighter.
[GB.FORM.EDITOR]
* NEW: TextEditor: Theme is a new property that allows to define the TextHighlighterTheme associated with the editor.
* NEW: TextEditor: The Styles property is now deprecated. It returns now the array of TextHighlighterStyle associated with editor theme.
* NEW: TextEditor: The editor lines have now a little padding on the top and on the bottom, whose size is proportional to the font height.
* BUG: TextEditor: The line wrap markers now are correctly colorized when selected.
* NEW: TextEditor: Colorized text can be striked out.
[GB.EVAL.HIGHLIGHT]
* NEW: Highlight: Styles is a new property that returns the string key available for all TextHighlighterStyle objects. The integer id of a style is its position in that array.
* NEW: Highlight: GetStyleName() is a new method that returns the translated name of a specific style.
* NEW: TextHighlighter: List is a new static property that returns a list of all implemented highlighter names.
* NEW: TextHighlighter: Name is a new property that returns the name of an highlighter.
* NEW: TextHighlighter: FullName is a new property that returns the human name of an highlighter.
* NEW: TextHighlighter: Styles is a new property that returns the styles actually used by an highlighter.
* NEW: TextHighlighter: ToAnsi(), ToHTML(), ToRichText() and Paint() method now take a TextHighlighterTheme or an array of TextHighlighterStyle as last argument.
* NEW: TextHighlighterStyle: Add Key, Name, Color, Bold, Underline, Dotted, Strikeout properties.
* NEW: TextHighlighterStyle: The Background property tells if the style is a background style according to its key.
* NEW: TextHighlighterStyle: The InvertedColor property returns the style color inverted for dark themes.
* NEW: TextHighlighterStyle: The ToString() method serializes the style to a string.
* NEW: TextHighlighterStyle: The FromString() method creates a style from a string returned by ToString().
* NEW: TextHighlighterTheme: A new class that represents a highlighting theme
* NEW: All highlighter classes were ported to the new design.
[GB.MAP]
* BUG: The MapBound.Contain function really return if a bound can be contained.
* NEW: Add a new function to the shape layer that return an array of _ShapeItems contained in a mapbound.
[GB.FORM.STOCK]
* BUG: Set "FollowsColorScheme" flag back into Gambas icon theme generation description file.
* NEW: Add 'pointer' and 'theme' icons. Redraw some icons. 360 different icons is a nice count.
[GB.FORM.TERMINAL]
* NEW: TerminalView: CursorStyle is a new property that allows to define how the cursor is drawn.
* NEW: TerminalView: CursorBlock, CursorUnderline and CursorText are three new constants that represents how the cursor is drawn.
[GB.GUI.BASE]
* NEW: ScrollArea: The EnsureVisible() method now takes an extra optional argument, that tells which scroll direction is allowed.
* NEW: GridView: GridView.Rows[].EnsureVisible() is a new method that ensures that a specific row is visible by scrolling vertically only.
* NEW: GridView: GridView.Columns[].EnsureVisible() is a new method that ensures that a specific column is visible by scrolling horizontally only.
* NEW: TreeView: Automatic scrolling on item change is now vertical only.
[GB.FORM]
* NEW: Format file sizes with no more than three digits.
* BUG: Stock: Don't duplicate 'Gambas' and 'Gambas-Mono' icon themes in Stock.Themes property.
* OPT: FileView: Use the directory cache instead of Stat() when drawing the items.
[GB.FORM.STOCK]
* NEW: Add an hidden API to install the stock icons as system icon theme in '~/.local/share/icons'.
* NEW: Add icon for special home folders.
* NEW: Redraw the 'watch' icon.
[GB.DBUS.TRAYICON]
* BUG: TrayIcon: Do not raise the 'LayoutUpdated' DBus signal anymore. Instead, just return TRUE in the 'AboutToShow' event handler.
That should fix the menu refresh problems inside the system tray.
[GB.FORM.DIALOG]
* NEW: Dialog.FilterIndex is a new property that returns or defines the current filter of the file dialog.
[GB.GTK]
* NEW: Dialog.FilterIndex is a new property that returns or defines the current filter of the file dialog.
[GB.GTK3]
* NEW: Dialog.FilterIndex is a new property that returns or defines the current filter of the file dialog.
[GB.QT4]
* NEW: Dialog.FilterIndex is a new property that returns or defines the current filter of the file dialog.
[GB.QT5]
* NEW: Dialog.FilterIndex is a new property that returns or defines the current filter of the file dialog.