### GUI

#### TRootBrowser

- Change the default canvas name from "Canvas 1" to "Canvas_1", solving the following issue: When saving the canvas as C++ script, it uses the canvas name as object name, creating a non-working C++ script.
- Close the browser before terminating the application

#### TGListBox

- Fix a rounding problem in TGListBox when the entries have different height. This solves a problem with TGFontTypeComboBox, the last item (the one that reads "13. times") was barely visible. Only the top 2 or 3 pixels could be seen when the vertical scrollbar is at its lowest possible position.

#### TGClient

- Added a new fStyle data member and the getter/setter methods (GetStyle()/SetStyle()), allowing to select between classic (win95) and modern (e.g. flat popup menu and toolbar buttons) look. This can be enabled/disabled via the new option `GUI.Style` in `$ROOTSYS/etc/system.rootrc`, the default being set as `modern`

#### TGButton

- Properly position (center) the pictures when using different font size (part of the task #18792)
- Create a new (flat) style for some buttons (e.g. the toolbar buttons) and added the SetStyle() method

#### TGComboBox

- Keyboard navigation has been implemented

#### TGToolBar, TRootGuiBuilder, TStyleManager, TRecorder

- Enable the new (flat) button style. This can be enabled/disabled via the `GUI.Style` entry in `$ROOTSYS/etc/system.rootrc` (or in a user defined `$HOME/.rootrc`)

#### TGMenu

- Add a new (modern) way of displaying the popup menus (flat frame with gray border). This can be selected/changed via the "Gui.Style" entry in the system.rootrc file (modern being the default)

#### TGScrollBar

- Create a new (flat) style for scrollbars. This is enabled/disabled via the `GUI.Style` entry in `$ROOTSYS/etc/system.rootrc` (or in a user defined `$HOME/.rootrc`)

#### TGCommandPlugin

- Change the text highlighing color

#### TGListView

- Change the way the current (selected) item is highlighted (full width instead of text only)

#### TGListTree

- Change the way the current (selected) item and the item below the mouse are highlighted (full width instead of text only)
- Slightly improve search on Linux (implemented F3, Ctrl+F and Ctrl+G) and make it working on Windows

#### TGFileBrowser

- Fix a problem when browsing geometries (TGeoManager must not be treated as a regular TDirectory)
- Allow user to specify any custom filter (e.g. *.png) in the filter combo box
- Enable the new (flat) button style. This can be enabled/disabled via the `GUI.Style` entry in `$ROOTSYS/etc/system.rootrc` (or in a user defined `$HOME/.rootrc`)
- Create special icons for symlinks (shortcuts) in the browser (add a small arrow on bottom left corner of the original icon)

#### TGFileDialog

- Implemented the wish #78935: Longer "File of type:" selector is wanted (make more combo box entries visible)
- Enable the new (flat) button style. This can be enabled/disabled via the `GUI.Style` entry in `$ROOTSYS/etc/system.rootrc` (or in a user defined `$HOME/.rootrc`)

#### TGFSContainer

- The shortcuts are now working on Windows

#### TGColorDialog, TGFontDialog, TGTextEditDialogs

- Several improvements in the layout when increasing the font size

#### TGTextEditor

- Added a "Close" menu entry
- Properly ask the user to save the currently opened file (if modified) when trying to open a new file
- Moved the IsSaved() part of the code in the LoadFile() method, to make sure it works also when the text editor is used as a plugin in the browser
- Change the text highlighing color
- Cleanup the text when quitting root (avoid potential crash on Linux)

#### TGFrame

- Allow to override CTRL+S behavior by using the `TGMainFrame::BindKey()` function

#### TVirtualDragManager

- Renamed `TVirtualDragManager::GetDragType()` to `TVirtualDragManager::GetEDragType()`, to avoid potential clash between two classes (TGFrame and TVirtualDragManager) having both GetDragType method with different return types. And they are both inherited by one class (TGuiBldDragManager) which doesn't define GetDragType.

#### TGSlider

- Added mouse wheel handling

#### TGToolTip

- Properly set the text color of the tooltip label, using the value of `Gui.TooltipForegroundColor` in `$ROOTSYS/etc/system.rootrc` (or in a user defined `$HOME/.rootrc`)

### GUIHtml

#### TGHtmlBrowser

- Only add non-empty strings (urls) in the combo box, to avoid empty entries
- Enable the new (flat) button style. This can be enabled/disabled via the `GUI.Style` entry in `$ROOTSYS/etc/system.rootrc` (or in a user defined `$HOME/.rootrc`)