[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.
[GB.FORM]
* NEW: Add 'bluetooth' and 'json' stock icons.
* NEW: MessageView: Remove text from buttons. Use less vertical space.
* BUG: MenuButton: Try to not take the focus on click, like a ToolButton.
[GB.EVAL.HIGHLIGHT]
* BUG: TextHighlighter: Fix Paint() method signature.
* OPT: TextHighlighter: Add the FAST keyword to the Add() method.
* BUG: '<<' operator was defined twice in 'Sh' highlighting.
[GB.DESKTOP]
* NEW: Desktop.RunAsRoot() now takes an optional argument to wait for the program ends, and now uses 'pkexec' by default.
* NEW: Desktop.RunAs() is a method similar as RunAsRoot() that takes the username used for running the program.
[GB.WEB.GUI]
* NEW: Preload framework images and icons.
* NEW: WebButton: Implement the 'Default' and 'Cancel' buttons. They work only in the main form and in modal dialogs.
* NEW: WebTree: Clicking twice toggles the item expanded state.
[GB.WEB.GUI]
* NEW: WebTable: Replace the 'ShowHeader' and 'ShowRowNumber' properties by a 'Header' property.
* NEW: WebTable: Draw the vertical header the same way as the horizontal header, and make it sticky.
* NEW: WebTable: Replace the 'DblClick' event by the 'Activate' event.
* NEW: WebTree: Implement the 'Activate' event.
* BUG: WebTree: The "select all" checkbox now works as expected.
*
[GB.WEB.GUI]
* NEW: WebTree: Initial implementation of a tree control. Not finished yet!
* BUG: WebTable: Fix table layout.
* BUG: Ensure that the pipe for writing the response is in blocking mode.
[GB.DESKTOP]
* NEW: add pkexec as primary gui sudoer to RunAsRoot
* NEW: RunAsRoot has "Wait" argument (default is False)
* NEW: RunAsRoot has Username argument (default is root)
* OPT: Split Command if pkexec is used
[GB.WEB.GUI]
* NEW: WebImage: The Image property can be an absolute URL now.
* NEW: WebAudio: The Audio property can be an absolute URL now.
* NEW: WebAudio: Add a Loop property to make the sound automatically loop.
[GB.DESKTOP]
* BUG: Using Exec With [envs] was not working, used pkexec env method to pass DISPLAY and XAUTHORITY envs instead as it works.
* OPT: Also Split "Command" string for Exec or it fails if command has more than one arg.
Notes.
I found the prior method worked on pluma but not on any gambas applications. (they all reported unable to open display)
Using this "pkexec env" method fixes that and makes it work on gambas applications and supports multiple arguments.
[GB.DESKTOP]
* OPT: move test for pkexec to outside of kde/gnome check as it is independant so will be checked regardless if no other graphical sudo is found.
[GB.GUI.BASE]
* BUG: Fix KDE desktop detection, and do not crash if no desktop is detected.
* NEW: GridView: The 'Change' event now can be stopped to cancel a cursor move.
[GB.ARGS]
* NEW: Args.Abort is a new property that tells if the program aborts or raises an error when an Args method fails. The property is TRUE by default.
[GB.WEB.GUI]
* BUG: Keyboard events work again.
* NEW: WebForm.Shortcuts is a new property that allows to declare a list of shortcuts the browser won't see.
[GB.WEB.GUI]
* NEW: Key.Code returns the name of the pressed key, while Key.Text now returns the text associated with the key if there is.
* NEW: Key.Shortcut returns the shortcut string associated with a keyboard event.
* BUG: Fix Key.Control property.
* NEW: Handle WebMenu.Shortcut property.
* BUG: Use 'keydown' DOM event instead of 'keypress', as 'keypress' is deprecated.
* NEW: Setting WebTextArea.Text now automatically moves the cursor and the scrollbar to the end of the text.
[GB.FORM]
* NEW: ButtonBox: Raise the Validate event.
* BUG: MaskBox: Fix cursor move when inserting a character in a filled mask pattern.
* BUG: MaskBox: Handle space separators correctly when setting the Text property.
[GB.FORM.MDI]
* BUG: Workspace: The Add() method now can safely move a window from a workspace to another workspace.
* BUG: Workspace: Activating an unknown window is nw silently ignored.
[GB.WEB.GUI]
* NEW: Start implementing keyboard event and menu shortcuts management.
* OPT: WebSpinBox: Do not force a refresh when the value has been changed by the browser.
[GB.WEB]
* NEW: Request.Scheme is a new property that replaces Application.Protocol.
* NEW: Request.Scheme now returns '"https"' according to the contents of the 'REQUEST_SCHEME' or 'X_FORWARDED_PROTO' headers passed to the CGI script.
[GB.FORM]
* BUG: MaskBox: Text that do not have the same size as the mask are not valid anymore.
* BUG: MaskBox: The Text property now must match the mask when set. If the set text is smaller than the mask, it is completed with the default characters.
* BUG: MaskBox: Characters moves should be handled better now.
[GB.FORM.EDITOR]
* BUG: TextEditor: Highlighted text drawing routine should not enter an infinite loop anymore when the highlighted color information is incoherent.
[GB.FORM]
* BUG: MaskBox: It should work correctly again.
* NEW: MaskBox: Prompt is a new property that allows to define the character displayed for void entries among a few choices.
[GB.FORM]
* BUG: MenuButton: Fix GTK+3 warnings on hidden shortcut buttons.
* NEW: DirChooser & FileChooser: Do not use a Watcher to initialize the popup menu.
[GB.FORM]
* BUG: ButtonBox: Disabled background is now drawn correctly.
* BUG: MaskBox: Fix behaviour with copy & paste.
* NEW: MaskBox: Allow default popup menu.
* NEW: MaskBox: Validate is a new event that allows to validate any change in control text and eventually cancel the change.
[GB.EVAL.HIGHLIGHT]
* NEW: Add ToConsole which generates ansii color text which can be printed to most consoles
* NEW: Unit test for Ansi color Console text
* NEW: Unit text for HTML color page
* NEW: Unit text for RTF Color text
[GB.FORM]
* NEW: MenuButton: Disable the hidden shortcut button when the control has the focus, so that TAB focus navigation works.
* NEW: MenuButton: Draw the control with both 'Hovered' and 'Focus' style flag when the control has the focus.
[GB.FORM]
* NEW: MenuButton: The background color is now used for coloring the button background.
* BUG: MenuButton: Fix how style flags are used for drawing the control.
[GB.GUI.BASE]
* BUG: SpinBox: Clamp the vertical padding so that the inner textbox works on GTK+ with small fonts.
[GB.FORM]
* BUG: ButtonBox: Clamp the vertical padding so that the inner textbox works on GTK+ with small fonts.
* BUG: ButtonBox: Fix border drawing according to the widget state (focus and hovering).
[GB.FORM.MEDIA]
* BUG: also hide spacer panel when hiding controls.
when hiding the controls the spacer stayed, leaving a bar on the bottom of the window, even in fullscreen.
This gives clean fullscreen