[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [Konversation] 754a56d: Display mode of each nick in each channel.
From:       Gary Cramblitt <garycramblitt () comcast ! net>
Date:       2010-07-01 13:27:18
Message-ID: 20100701132718.B735EBB5592 () projects ! kde ! org
[Download RAW message or body]

commit 754a56dd71efd1433b89ced24abc149c1b6d9b68
Author: Gary Cramblitt <garycramblitt@comcast.net>
Date:   Sat Jan 24 17:01:21 2004 +0000

    Display mode of each nick in each channel.
    
    svn path=/trunk/kdeextragear-2/konversation/; revision=282275

diff --git a/konversation/nicksonline.cpp b/konversation/nicksonline.cpp
index 91699e5..596e0a6 100644
--- a/konversation/nicksonline.cpp
+++ b/konversation/nicksonline.cpp
@@ -77,6 +77,7 @@ void NicksOnline::setOnlineList(const QString& serverName,const QStringList& lis
     NickInfo* nickInfo;
     for ( ; (nickInfo=itOnline.current()) ; ++itOnline)
     {
+      QString lcNickName = itOnline.currentKey();
       QString nickname = nickInfo->getNickname();
       QString nickAdditionalInfo = "";
       if (nickInfo->isAway())
@@ -91,8 +92,20 @@ void NicksOnline::setOnlineList(const QString& serverName,const QStringList& lis
       QStringList channelList = server->getNickChannels(nickname);
       for ( unsigned int index=0; index<channelList.count(); index++ )
       {
-        // Known channels where nickname is online.
-        new KListViewItem(nickRoot, channelList[index]);
+        // Known channels where nickname is online and mode in each channel.
+        ChannelNick* channelNick = server->getChannelNick(channelList[index].lower(), lcNickName);
+        unsigned int nickModeWord = channelNick->mode;
+        QString nickMode = "";
+        if (nickModeWord & 1) nickMode = nickMode + " Voice";
+        nickModeWord >>= 1;
+        if (nickModeWord & 1) nickMode = nickMode + " HalfOp";
+        nickModeWord >>= 1;
+        if (nickModeWord & 1) nickMode = nickMode + " Operator";
+        nickModeWord >>= 1;
+        if (nickModeWord & 1) nickMode = nickMode + " Owner";
+        nickModeWord >>= 1;
+        if (nickModeWord & 1) nickMode = nickMode + " Admin";
+        new KListViewItem(nickRoot, channelList[index], nickMode);
       }
       nickRoot->setOpen(true);
     }
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic