WId should be unsigned long for Q_WS_X11 (see qwindowdefs.h from Qt4) but
MPV requiers that the type is intptr_t (see options.rst from MPV) yet none
of them works but quintptr does - it's magic.
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
neither the compiler would complain (QVariant can hold custom types via
runtime registration) nor runtime warning about invalid QVariant was issued
for this (because it was casted to something, not sure what but it was the
wrong type)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
this improves on https://github.com/fluxer/kdelibs/commit/8e9028c4 because
it takes the initial state (so to say) into account (m_visible was not set
on initialization)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
it is needed in Okular and in KNotify I think so with the overload method
the possibility for MPV API break to affect those application will be
reduced, KAbstractPlayer is ment to be abstraction after all
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
the change is questionable, the application may have different use case
for it but with this change it displays errors and currently played path
title which is kinda usefull if there is no window manager at all
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
basicly once the hack is used m_parent becomes valid widget, to avoid using
it the second time fullscreen is requested just set it to NULL thus making
it invalid and the hack will be used again
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
without extra path property check it can be emited twice (or even more?)
because MPV will try to use SSL and fallback to non-secure connection when
that is not possible and emit the event after load which, aside from being
innacurate for our use cases, causes unnecessary widgets actions.
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
it has too many side effects that will complicate things more then it is
worth it to save a few MB of RAM per-application until load
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
one bug was that replay was not possible after sucessfull finish, another
one was that controls remained hidden after finish because path is empty
and finally the play/pause button was not update on finish because MPV does
not emit the event on finish (noted in the API docs)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
returing from the constructor prematurely is not a good idea because the
settings pointer may be left uninitialized, also issue a general warning
if mpv_create() failed
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>