It now uses an oauth like authentication process so the user isn't required to enter the last.fm password in Clementine but rather authenticate through the last.fm website.
Updates #5028
(cherry picked from commit 6c726e3e382bdd28fd00a5e68725980ef0da91e1)
It now uses an oauth like authentication process so the user isn't required to enter the last.fm password in Clementine but rather authenticate through the last.fm website.
Updates #5028
This issue appeared as a side effect since the commit
bcaa9e4a37b732f91a36539e313937537be7aba2, which adds dropdown
animation to the library/internet view.
Reproduce:
Single/double click on a song item in library/internet view
then all double clicks on this item will be ignored, until you
single click on it once again.
The reason of this behavior in that the "setExpanded" method call from the
"ItemClicked" slot makes the invocation of the "mouseDoubleClickEvent"
method in the context where the view is in the "QAbstractTreeView::AnimatingState"
which makes impossible to emit "doubleClicked" signal, because it just
returns immediatelly (see http://code.qt.io/cgit/qt/qt.git/tree/src/gui/itemviews/qtreeview.cpp#n1849).
To get rid of this behavior we emit "doubleClicked" signal ourselves.
The cause of this issue was the missing call of the parent class
method in "InternetView::currentChanged".
Removed "InternetView::CurrentIndexChanged" signal along with
the "InternetView::currentChanged" method since it looks redundant,
the "InternetView::selectionModel" and its "currentChanged" signal
can be used instead, also it isn't used anywhere in the code.
Resolves: #4485
Otherwise the timer doesn't work and the invoke of the closure fails (BlockingSearchProvider::SearchAsync).
This is because Q_ARG doesn't work well with templates and "QMetaMethod::invoke: Unable to handle unregistered datatype 'Arg'" is logged.
See closure.h "void Unpack(QList<QGenericArgument>* list, const Arg& arg)" and "Closure::Call".
This change was made because global search with the network remote didn't work anymore (network remote runs in a separete thread).
(cherry picked from commit bca26078505f8034af6da7ce73f54d0aed235f10)
Otherwise the timer doesn't work and the invoke of the closure fails (BlockingSearchProvider::SearchAsync).
This is because Q_ARG doesn't work well with templates and "QMetaMethod::invoke: Unable to handle unregistered datatype 'Arg'" is logged.
See closure.h "void Unpack(QList<QGenericArgument>* list, const Arg& arg)" and "Closure::Call".
This change was made because global search with the network remote didn't work anymore (network remote runs in a separete thread).