1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-14 10:05:32 +02:00

Add Qt5 variant for qobject2qvariant

This commit is contained in:
Uwe L. Korn
2014-04-15 19:08:01 +01:00
parent f75d91f6ad
commit a8991f62b8
10 changed files with 28 additions and 11 deletions

View File

@@ -59,7 +59,7 @@ QVariant
DatabaseCommand_CreateDynamicPlaylist::playlistV() const DatabaseCommand_CreateDynamicPlaylist::playlistV() const
{ {
if( m_v.isNull() ) if( m_v.isNull() )
return QJson::QObjectHelper::qobject2qvariant( (QObject*)m_playlist.data() ); return TomahawkUtils::qobject2qvariant( (QObject*)m_playlist.data() );
else else
return m_v; return m_v;
} }

View File

@@ -61,7 +61,7 @@ QVariant
DatabaseCommand_CreatePlaylist::playlistV() const DatabaseCommand_CreatePlaylist::playlistV() const
{ {
if( m_v.isNull() ) if( m_v.isNull() )
return QJson::QObjectHelper::qobject2qvariant( (QObject*)m_playlist.data() ); return TomahawkUtils::qobject2qvariant( (QObject*)m_playlist.data() );
else else
return m_v; return m_v;
} }

View File

@@ -21,7 +21,6 @@
#include "Typedefs.h" #include "Typedefs.h"
#include "DatabaseCommandLoggable.h" #include "DatabaseCommandLoggable.h"
#include "qjson/qobjecthelper.h"
#include "DllMacro.h" #include "DllMacro.h"

View File

@@ -80,7 +80,7 @@ DatabaseCommand_SetDynamicPlaylistRevision::controlsV()
{ {
foreach ( const dyncontrol_ptr& control, m_controls ) foreach ( const dyncontrol_ptr& control, m_controls )
{ {
m_controlsV << QJson::QObjectHelper::qobject2qvariant( control.data() ); m_controlsV << TomahawkUtils::qobject2qvariant( control.data() );
} }
} }

View File

@@ -301,7 +301,7 @@ DatabaseCommand_SetPlaylistRevision::addedentriesV() const
if ( !pe->isValid() ) if ( !pe->isValid() )
continue; continue;
QVariant v = QJson::QObjectHelper::qobject2qvariant( pe.data() ); QVariant v = TomahawkUtils::qobject2qvariant( pe.data() );
vlist << v; vlist << v;
} }
return vlist; return vlist;

View File

@@ -21,7 +21,6 @@
#include "DatabaseCommandLoggable.h" #include "DatabaseCommandLoggable.h"
#include "Playlist.h" #include "Playlist.h"
#include "qjson/qobjecthelper.h"
#include "DllMacro.h" #include "DllMacro.h"

View File

@@ -279,7 +279,7 @@ DatabaseWorker::logOp( DatabaseCommandLoggable* command )
oplogquery.prepare( "INSERT INTO oplog(source, guid, command, singleton, compressed, json) " oplogquery.prepare( "INSERT INTO oplog(source, guid, command, singleton, compressed, json) "
"VALUES(?, ?, ?, ?, ?, ?)" ); "VALUES(?, ?, ?, ?, ?, ?)" );
QVariantMap variant = QJson::QObjectHelper::qobject2qvariant( command ); QVariantMap variant = TomahawkUtils::qobject2qvariant( command );
QByteArray ba = TomahawkUtils::toJson( variant ); QByteArray ba = TomahawkUtils::toJson( variant );
// qDebug() << "OP JSON:" << ba.isNull() << ba << "from:" << variant; // debug // qDebug() << "OP JSON:" << ba.isNull() << ba << "from:" << variant; // debug

View File

@@ -25,8 +25,6 @@
#include <QList> #include <QList>
#include <QPointer> #include <QPointer>
#include <qjson/qobjecthelper.h>
#include "DatabaseCommand.h" #include "DatabaseCommand.h"
namespace Tomahawk namespace Tomahawk

View File

@@ -848,6 +848,27 @@ compareVersionStrings( const QString& first, const QString& second )
} }
QVariantMap
qobject2qvariant( const QObject* object )
{
#if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 )
const QMetaObject* metaObject = object->metaObject();
QVariantMap map;
for ( int i = 0; i < metaObject->propertyCount(); ++i )
{
QMetaProperty metaproperty = metaObject->property( i );
if ( metaproperty.isReadable() )
{
map[ QLatin1String( metaproperty.name() ) ] = object->property( metaproperty.name() );
}
}
return map;
#else
return QJson::QObjectHelper::qobject2qvariant( object );
#endif
}
void void
qvariant2qobject( const QVariantMap& variant, QObject* object ) qvariant2qobject( const QVariantMap& variant, QObject* object )
{ {
@@ -869,9 +890,8 @@ qvariant2qobject( const QVariantMap& variant, QObject* object )
} }
} }
#else #else
QJson::QObjectHelper::qvariant2qobject( variant, objects ); QJson::QObjectHelper::qvariant2qobject( variant, object );
#endif #endif
} }

View File

@@ -208,6 +208,7 @@ namespace TomahawkUtils
*/ */
/* QJson */ /* QJson */
DLLEXPORT QVariantMap qobject2qvariant( const QObject* object );
DLLEXPORT void qvariant2qobject( const QVariantMap& variant, QObject* object ); DLLEXPORT void qvariant2qobject( const QVariantMap& variant, QObject* object );
DLLEXPORT QVariant parseJson( const QByteArray& jsonData, bool* ok = 0 ); DLLEXPORT QVariant parseJson( const QByteArray& jsonData, bool* ok = 0 );
DLLEXPORT QByteArray toJson( const QVariant &variant, bool* ok = 0 ); DLLEXPORT QByteArray toJson( const QVariant &variant, bool* ok = 0 );