Use proper d_ptr for QPlaylistFileParser.

Task-number: QTBUG-42473
Change-Id: Iff8f14ed6ab99c8e7844b9e43009b82b442f5238
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
This commit is contained in:
Yoann Lopes
2015-03-11 16:29:53 +01:00
parent d4208cc5a1
commit 7420fb409a
2 changed files with 15 additions and 21 deletions

View File

@@ -34,7 +34,7 @@
#include "playlistfileparser_p.h" #include "playlistfileparser_p.h"
#include <qfileinfo.h> #include <qfileinfo.h>
#include <QtNetwork/QNetworkReply> #include <QtNetwork/QNetworkReply>
#include "qmediaobject_p.h" #include <private/qobject_p.h>
#include "qmediametadata.h" #include "qmediametadata.h"
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
@@ -238,10 +238,9 @@ Version=2
///////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////
class QPlaylistFileParserPrivate : public QObject class QPlaylistFileParserPrivate : public QObjectPrivate
{ {
Q_OBJECT Q_DECLARE_PUBLIC(QPlaylistFileParser)
Q_DECLARE_NON_CONST_PUBLIC(QPlaylistFileParser)
public: public:
QPlaylistFileParserPrivate() QPlaylistFileParserPrivate()
: m_source(0) : m_source(0)
@@ -268,8 +267,6 @@ public:
ParserBase *m_currentParser; ParserBase *m_currentParser;
QNetworkAccessManager m_mgr; QNetworkAccessManager m_mgr;
QPlaylistFileParser *q_ptr;
private: private:
void processLine(int startIndex, int length); void processLine(int startIndex, int length);
}; };
@@ -290,25 +287,25 @@ void QPlaylistFileParserPrivate::processLine(int startIndex, int length)
switch (m_type) { switch (m_type) {
case QPlaylistFileParser::UNKNOWN: case QPlaylistFileParser::UNKNOWN:
emit q->error(QPlaylistFileParser::FormatError, QString(tr("%1 playlist type is unknown")).arg(m_root.toString())); emit q->error(QPlaylistFileParser::FormatError, QString(QObject::tr("%1 playlist type is unknown")).arg(m_root.toString()));
q->stop(); q->stop();
return; return;
case QPlaylistFileParser::M3U: case QPlaylistFileParser::M3U:
m_currentParser = new M3UParser(this); m_currentParser = new M3UParser(q);
break; break;
case QPlaylistFileParser::M3U8: case QPlaylistFileParser::M3U8:
m_currentParser = new M3UParser(this); m_currentParser = new M3UParser(q);
m_utf8 = true; m_utf8 = true;
break; break;
case QPlaylistFileParser::PLS: case QPlaylistFileParser::PLS:
m_currentParser = new PLSParser(this); m_currentParser = new PLSParser(q);
break; break;
} }
Q_ASSERT(m_currentParser); Q_ASSERT(m_currentParser);
connect(m_currentParser, SIGNAL(newItem(QVariant)), q, SIGNAL(newItem(QVariant))); QObject::connect(m_currentParser, SIGNAL(newItem(QVariant)), q, SIGNAL(newItem(QVariant)));
connect(m_currentParser, SIGNAL(finished()), q, SLOT(_q_handleParserFinished())); QObject::connect(m_currentParser, SIGNAL(finished()), q, SLOT(_q_handleParserFinished()));
connect(m_currentParser, SIGNAL(error(QPlaylistFileParser::ParserError,QString)), QObject::connect(m_currentParser, SIGNAL(error(QPlaylistFileParser::ParserError,QString)),
q, SLOT(_q_handleParserError(QPlaylistFileParser::ParserError,QString))); q, SLOT(_q_handleParserError(QPlaylistFileParser::ParserError,QString)));
} }
QString line; QString line;
@@ -350,7 +347,7 @@ void QPlaylistFileParserPrivate::_q_handleData()
if (m_buffer.length() - processedBytes >= LINE_LIMIT) { if (m_buffer.length() - processedBytes >= LINE_LIMIT) {
qWarning() << "error parsing playlist["<< m_root << "] with line content >= 4096 bytes."; qWarning() << "error parsing playlist["<< m_root << "] with line content >= 4096 bytes.";
emit q->error(QPlaylistFileParser::FormatError, tr("invalid line in playlist file")); emit q->error(QPlaylistFileParser::FormatError, QObject::tr("invalid line in playlist file"));
q->stop(); q->stop();
return; return;
} }
@@ -398,7 +395,7 @@ void QPlaylistFileParserPrivate::_q_handleParserFinished()
Q_Q(QPlaylistFileParser); Q_Q(QPlaylistFileParser);
bool isParserValid = (m_currentParser != 0); bool isParserValid = (m_currentParser != 0);
if (!isParserValid) if (!isParserValid)
emit q->error(QPlaylistFileParser::FormatNotSupportedError, tr("Empty file provided")); emit q->error(QPlaylistFileParser::FormatNotSupportedError, QObject::tr("Empty file provided"));
q->stop(); q->stop();
@@ -408,9 +405,9 @@ void QPlaylistFileParserPrivate::_q_handleParserFinished()
QPlaylistFileParser::QPlaylistFileParser(QObject *parent) QPlaylistFileParser::QPlaylistFileParser(QObject *parent)
:QObject(parent), d_ptr(new QPlaylistFileParserPrivate) : QObject(*new QPlaylistFileParserPrivate, parent)
{ {
d_func()->q_ptr = this;
} }
QPlaylistFileParser::FileType QPlaylistFileParser::findPlaylistType(const QString& uri, const QString& mime, const void *data, quint32 size) QPlaylistFileParser::FileType QPlaylistFileParser::findPlaylistType(const QString& uri, const QString& mime, const void *data, quint32 size)

View File

@@ -84,9 +84,6 @@ Q_SIGNALS:
void finished(); void finished();
void error(QPlaylistFileParser::ParserError err, const QString& errorMsg); void error(QPlaylistFileParser::ParserError err, const QString& errorMsg);
protected:
QPlaylistFileParserPrivate *d_ptr;
private: private:
Q_DISABLE_COPY(QPlaylistFileParser) Q_DISABLE_COPY(QPlaylistFileParser)
Q_DECLARE_PRIVATE(QPlaylistFileParser) Q_DECLARE_PRIVATE(QPlaylistFileParser)