Avoid deprecated QString::toAscii() method

In Qt5 QString::toAscii() was deprecated since it does the same as
QString::toLatin1().  Strictly speaking the method does not convert to
US-ASCII (ANSI X3.4-1986) but Latin-1 (ISO/IEC 8859-1).

This means we can safely replace toAscii() with toLatin1().

For details, see:
https://qt-project.org/doc/qt-5.0/qtcore/qstring.html#toAscii

Based on Ikkei Shimomura's Qt5 porting proof-of-concept.

Signed-off-by: Ikkei Shimomura (tea) <Ikkei.Shimomura@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add Qt5 "widgets" module to qtclient.pro

The Qt5 Widgets have moved to their own "widgets" module.

For details, see:
https://qt-project.org/doc/qt-5.0/qtdoc/portingguide.html

Signed-off-by: Ikkei Shimomura (tea) <Ikkei.Shimomura@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Switch to QStandardPaths from QDesktopServices

In Qt5 standard file system locations are provided by QStandardPaths
instead of QDesktopServices.

Signed-off-by: Ikkei Shimomura (tea) <Ikkei.Shimomura@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Switch to QUrlQuery class from QUrl::addQueryItem()

The QUrl::addQueryItem() method was removed in favor of the QUrlQuery
class in Qt5.  QUrlQuery represents a URL query string and allows access
to the key-value pairs.

In simple cases we can directly call QUrl::setQuery("key=value").  In
more complex cases we need to build up a QUrlQuery object and pass it to
QUrl::setQuery().

Signed-off-by: Ikkei Shimomura (tea) <Ikkei.Shimomura@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Switch to qInstallMessageHandler() from qInstallMsgHandler()

In Qt5 qInstallMsgHandler() was deprecated in favor of
qInstallMessageHandler().

Signed-off-by: Ikkei Shimomura (tea) <Ikkei.Shimomura@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add missing ogg pkgconfig dependency

I'm not sure why libogg was missing but maybe Qt4 pulled it in.  Specify
our dependency on libogg explicitly.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Update README with Qt5 references

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add portmidi dependency to mxe build instructions

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Silence unused parameter warnings where necessary

Use Q_UNUSED() to silence unused parameter warnings.  There are places
where we cannot or do not want to change the function prototype.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Use JSON for jammr REST API

The jammr REST API has been available both in XML and JSON.  Since Qt5
added support for JSON we can switch away from XML.

The XML parser classes in Qt are clumsier than the JSON parser.  The XML
schema was also ugly because it simply wrapped JSON objects.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Follow RFC2617 s/basic/Basic/ scheme name

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>