Fixed: [Confluence] slide the Kai dialog over when the busy dialog pops up at the same time to prevent overlap and busy obscuring information
CGUIMediaWindow: added convenience Refresh() method in place of Update(m_vecItems->GetPath())
CGUIMediaWindow: keep details/members of m_vecItems when just refreshing the current item list in Update()
smartplaylists: add a "library.smartplaylist" property to a xsp-based item list (fixes #13412)

CFileItem::IsSmartPlaylist() only works based on the path and extension of a
CFileItem object. When retrieving a list of file items through
CSmartPlaylistDirectory we replace the original path (to the *.xsp) of the
list with the library/database-specific path of that list to be able to
use advanced filtering et. al. on these lists as well. Therefore we loose
the possibility to determine whether the list originates from a smartplaylist
or not. This results in the selection of a wrong CGUIViewState which does not
provide the "Sort by Playlist" option and therefore any custom sorting
specified in the smartplaylist is ignored/lost. Therefore we add a property
"library.smartplaylist" to the CFileItemList object (similar to
"library.filter" for filter-based custom library nodes) and also check for
that in CFileItem::IsSmartPlaylist().
smartplaylist editor: only allow deletion of non-empty rules and always show at least one rule (fixes #13420)
jsonrpc: don't return empty artwork paths in "art"
videodb: allow optional retrieval of movie sets containing a single item (fixes #12558)
close CGUIDialogFooInfo dialogs on ACTION_SHOW_INFO (fixes #13139)
Merge pull request #1636 from Montellese/info_action_close

close CGUIDialogFooInfo dialogs on ACTION_SHOW_INFO (fixes #13139)
[fix] - don't show zeroconf/upnp locations if they are not supported (adding missing HAS_ guards)
egl: force each implementation to include egl

Final part in the egl refactor.

This allows for each implementation to pick its native types based on defines.
For example, a Wayland implementation would include <wayland-egl.h> and
<EGL/egl.h> which would change the native types, but without affecting the
other back-ends.

Now,we can realistically build a binary that will support X, Wayland,
KMS, and fbdev, chosen at runtime based on the environment we start under. We
just need to write those back-ends ;)
egl: guard against null-pointer deref
Merge pull request #1634 from theuni/egl-rewrite-headers

Final part of the egl refactor, back-ends control egl includes
[GUISettings] Move settings update to correct place
Merge pull request #1637 from Karlson2k/GUISettings-fix-02

[GUISettings] Move settings update to correct place
Update system/Lircmap.xml

Added KEY_PVR as recordedtv for devinput remotes
[lang] fixed: merge duplicated strings #19103, #19167
Merge pull request #1635 from Montellese/medialibrary_refresh

media library: fix refreshing of item lists
Merge pull request #1638 from alanwww1/master

[lang] fixed: merge duplicated strings #19103, #19167
media library: only do a list refresh when the items have been loaded before

Without this additional logic/check the call to Refresh from
CGUIMediaWindow::OnInitWindow() causes to only perform a refresh (i.e. only
using the list of items from the latest GetDirectory() call and ignoring any
member variables) because the path has already been set in m_vecItems.
Therefore we only add the retrieved lsit of items to m_vecItems and ignore
member variables like m_content, m_mapProperties etc. That resulted in bad
behaviour (e.g. watched state didn't work anymore) for logic relying on
m_vecItems->GetContent().