Skip to content
Snippets Groups Projects
Commit 9de2003a authored by Armin Felder's avatar Armin Felder
Browse files

improved filter

parent e2423c5f
No related branches found
No related tags found
1 merge request!52Improve user list
...@@ -470,40 +470,44 @@ void RocketChatChannelService::searchRoom( const QString &pTerm, const QString & ...@@ -470,40 +470,44 @@ void RocketChatChannelService::searchRoom( const QString &pTerm, const QString &
QHash<QString, bool> ids; QHash<QString, bool> ids;
QHash<QString, bool> names; QHash<QString, bool> names;
if ( data.contains( "rooms" ) ) { if ( pType != "d" ) {
QJsonArray rooms = data["rooms"].toArray(); if ( data.contains( "rooms" ) ) {
QJsonArray rooms = data["rooms"].toArray();
for ( auto room : rooms ) {
QJsonObject roomObj = room.toObject(); for ( auto room : rooms ) {
QJsonObject roomObj = room.toObject();
if ( roomObj.contains( "_id" ) && roomObj.contains( "name" ) && roomObj.contains( "t" ) ) {
QString name = roomObj["name"].toString(); if ( roomObj.contains( "_id" ) && roomObj.contains( "name" ) && roomObj.contains( "t" ) ) {
QString id = roomObj["_id"].toString(); QString name = roomObj["name"].toString();
QString type = roomObj["t"].toString(); QString id = roomObj["_id"].toString();
QSharedPointer<RocketChatChannel> ptr( new RocketChatChannel( mServer, mMessageService, id, name, type ) ); QString type = roomObj["t"].toString();
channelList.append( ptr ); QSharedPointer<RocketChatChannel> ptr( new RocketChatChannel( mServer, mMessageService, id, name, type ) );
ids[id] = true; channelList.append( ptr );
names[name] = true; ids[id] = true;
names[name] = true;
}
} }
} }
} }
if ( data.contains( "users" ) ) { if ( pType == "d" || pType.isEmpty() ) {
QJsonArray rooms = data["users"].toArray(); if ( data.contains( "users" ) ) {
QJsonArray rooms = data["users"].toArray();
for ( auto room : rooms ) {
QJsonObject roomObj = room.toObject(); for ( auto room : rooms ) {
QJsonObject roomObj = room.toObject();
if ( roomObj.contains( "_id" ) && roomObj.contains( "name" ) && roomObj.contains( "username" ) ) {
QString name = roomObj["name"].toString(); if ( roomObj.contains( "_id" ) && roomObj.contains( "name" ) && roomObj.contains( "username" ) ) {
QString id = roomObj["_id"].toString(); QString name = roomObj["name"].toString();
QString type = "d"; QString id = roomObj["_id"].toString();
QString username = roomObj["username"].toString(); QString type = "d";
QSharedPointer<RocketChatChannel> ptr( new RocketChatChannel( mServer, mMessageService, id, name, type ) ); QString username = roomObj["username"].toString();
ptr->setUsername( username ); QSharedPointer<RocketChatChannel> ptr( new RocketChatChannel( mServer, mMessageService, id, name, type ) );
channelList.append( ptr ); ptr->setUsername( username );
ids[id] = true; channelList.append( ptr );
names[name] = true; ids[id] = true;
names[name] = true;
}
} }
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment