* rename file avsettings.ui -> avform.ui, introducing seamless switching between UI/Code
* switch to "private multi-inheritance" pattern, which has several advantages
Don't hard-code ":0" as the display and try and use the DISPLAY
environment variable instead.
This fixes screen grabbing under X11 when the user is not on screen 0.
Fix#3500.
Diadlo (12):
refactor(avform): Extracted functions with best mode search and combo box filling
refactor(avform): Replace `bestModeInds` on videoMode index and video height as quality name
refactor(avform): Separeted search of preferred index in function
fix(avform): Took default resolution from middle of list
feat(videomode): Added possible video shift
feat(cameradevice, avform): Added ability of screen selection
feat(avform, screenshotgrabber): Added custom screen region selection
style(corevideosource): Small style fixes
fix(videoframe): Added correct image copy
fix(avform): Added restoring selected region
feat(camerasource): Change default video mode to preferred
fix(directshow): Fixed problem with crosses initialization
fix chat area's inner stylesheet
note: the base font is never a bold font (respects html tags: e.g. <b>bold text</b>)
fix block colors:
* action -> blue
* alert -> red
* quote -> green
BREAKING CHANGE: Current markdown syntax is unintuitive, and thus we have agreed on switching to @SkyzohKey's implementation. Replaces all instances of Markdown with Text Styling. Closes#3404.
Setting "currentFont" fires a "currentFontChanged" signal, causing the wrong font pixel-size. After changing the order, the values still overwrite the font settings - yet with the correct values. Probably all signals should be blocked in c'tor during initialization of the settings widget(s) to avoid overwriting any settings.
Call buttons would be enabled but non-functional if you were looking at a friend who was offline. We now check if the friend is offline and disable the call buttons if so.
Fixes#2480
The GUI was deleting itself on logout, but was doing while deep inside the middle of GUI code, resulting in a series of use-after-free on the return path. We now freeze the GUI and logout asynchronously in a more suitable call stack.