From d6907ba10d536a80b80743eed06d6ced8c5d6643 Mon Sep 17 00:00:00 2001
From: Armin Felder <armin.felder@osalliance.com>
Date: Thu, 6 Sep 2018 21:06:52 +0200
Subject: [PATCH] case insensitve channel search did not always work ... fixes
 #110

---
 services/rocketchatchannelservice.cpp | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/services/rocketchatchannelservice.cpp b/services/rocketchatchannelservice.cpp
index cf6f385..202a60a 100755
--- a/services/rocketchatchannelservice.cpp
+++ b/services/rocketchatchannelservice.cpp
@@ -531,16 +531,17 @@ void RocketChatChannelService::searchRoom( const QString &pTerm, const QString &
 channelVector RocketChatChannelService::searchRoomLocal( const QString &pTerm, const QHash<QString, bool>  &pFilter, const QString &pType, const QHash<QString, bool> &pNames )
 {
     channelVector list;
+    QString term = pTerm.toLower();
 
     for ( auto channel : mChannels->getElements() ) {
         QString id = channel->getRoomId();
         QString type = channel->getType();
-        QString name = channel->getName();
-        QString username = channel->getUsername();
+        QString name = channel->getName().toLower();
+        QString username = channel->getUsername().toLower();
 
-        if ( !pFilter.contains( id ) && !pNames.contains( name ) && pNames.contains( username ) && ( pType.isEmpty() || pType == type ) ) {
+        if ( !pFilter.contains( id ) && !pNames.contains( name ) && !pNames.contains( username ) && ( pType.isEmpty() || pType == type ) ) {
 
-            if ( name.indexOf( pTerm, Qt::CaseInsensitive ) != -1 || username.indexOf( pTerm, Qt::CaseInsensitive ) != -1 ) {
+            if ( name.indexOf( term, Qt::CaseInsensitive ) != -1 || username.indexOf( term, Qt::CaseInsensitive ) != -1 ) {
                 list.append( channel );
             }
         }
@@ -568,6 +569,8 @@ void RocketChatChannelService::openPrivateChannelWith( QString pUsername )
                 //TODO: fix
                 if ( !mChannels->contains( rid ) ) {
                     DdpCallback success = [ = ]( QJsonObject pResponse, MeteorDDP * pDdp ) {
+                        Q_UNUSED( pDdp )
+
                         if ( pResponse.contains( "result" ) ) {
                             QString name = pResponse["fname"].toString();
                             QString username = pResponse["name"].toString();
-- 
GitLab