Changeset 283:783d849b5a52

Show
Ignore:
Timestamp:
06/20/2008 07:35:14 PM (4 years ago)
Author:
Dmitry Nezhevenko <dion@…>
Branch:
default
Message:

AFind: show alist item that matches

Location:
src/plugins/muc
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • src/plugins/muc/alist.cpp

    r242 r283  
    152152        for (Iterator it=begin(); it!=end(); ++it) 
    153153        { 
    154                 QString flags; 
    155154                AListItem* item=(*it); 
    156                  
    157                 flags+=item->isInvert() ? "!" : " "; 
    158                  
    159                 switch (item->matcherType()) 
    160                 { 
    161                 case AListItem::MatcherUnknown: 
    162                         flags+="?"; 
    163                         break; 
    164                 case AListItem::MatcherNick: 
    165                         flags+="N"; 
    166                         break; 
    167                 case AListItem::MatcherJid: 
    168                         flags+="J"; 
    169                         break; 
    170                 case AListItem::MatcherBody: 
    171                         flags+="B"; 
    172                         break; 
    173                 case AListItem::MatcherResource: 
    174                         flags+="R"; 
    175                         break; 
    176                 }; 
    177                  
    178                 switch (item->testType()) 
    179                 { 
    180                         case AListItem::TestUnknown: 
    181                                 flags+="?"; 
    182                                 break; 
    183                         case AListItem::TestExact: 
    184                                 flags+=" "; 
    185                                 break; 
    186                         case AListItem::TestRegExp: 
    187                                 flags+="E"; 
    188                                 break; 
    189                         case AListItem::TestSubstring: 
    190                                 flags+="S"; 
    191                                 break; 
    192                 } 
    193                  
    194  
    195                 QString line=QString("%1) %2 %3").arg(idx++).arg(flags).arg(item->value()); 
    196                 if (item->expire().isValid()) 
    197                 { 
    198                         int delta=QDateTime::currentDateTime().secsTo(item->expire()); 
    199                         if (delta>0) 
    200                                 line+=QString(" [%1]").arg(secsToString(delta)); 
    201                         else 
    202                                 line+=QString(" [EXPIRED]"); 
    203                 } 
    204                 if (!item->reason().isEmpty()) 
    205                         line+=" // "+item->reason(); 
     155                QString line=QString("%1) %2").arg(idx++).arg(item->toString()); 
    206156                res.append(line); 
    207157        } 
  • src/plugins/muc/alistitem.cpp

    r242 r283  
    1919 ***************************************************************************/ 
    2020#include "alistitem.h" 
     21#include "base/common.h" 
    2122 
    2223AListItem::AListItem(int id) 
     
    5455                        && value_==other.value(); 
    5556} 
     57 
     58QString AListItem::toString() const 
     59{ 
     60        QString flags; 
     61        flags+=isInvert() ? "!" : " "; 
     62                         
     63        switch (matcherType()) 
     64        { 
     65        case AListItem::MatcherUnknown: 
     66                flags+="?"; 
     67                break; 
     68        case AListItem::MatcherNick: 
     69                flags+="N"; 
     70                break; 
     71        case AListItem::MatcherJid: 
     72                flags+="J"; 
     73                break; 
     74        case AListItem::MatcherBody: 
     75                flags+="B"; 
     76                break; 
     77        case AListItem::MatcherResource: 
     78                flags+="R"; 
     79                break; 
     80        }; 
     81         
     82        switch (testType()) 
     83        { 
     84                case AListItem::TestUnknown: 
     85                        flags+="?"; 
     86                        break; 
     87                case AListItem::TestExact: 
     88                        flags+=" "; 
     89                        break; 
     90                case AListItem::TestRegExp: 
     91                        flags+="E"; 
     92                        break; 
     93                case AListItem::TestSubstring: 
     94                        flags+="S"; 
     95                        break; 
     96        } 
     97         
     98 
     99        QString line=QString("%1 %2").arg(flags).arg(value()); 
     100        if (expire().isValid()) 
     101        { 
     102                int delta=QDateTime::currentDateTime().secsTo(expire()); 
     103                if (delta>0) 
     104                        line+=QString(" [%1]").arg(secsToString(delta)); 
     105                else 
     106                        line+=QString(" [EXPIRED]"); 
     107        } 
     108        if (!reason().isEmpty()) 
     109                line+=" // "+reason(); 
     110        return line; 
     111} 
  • src/plugins/muc/alistitem.h

    r242 r283  
    6666        bool operator==(const AListItem& other); 
    6767        bool isSameCondition(const AListItem& other); 
     68        QString toString() const; 
    6869private: 
    6970        int id_; 
  • src/plugins/muc/mucplugin.cpp

    r282 r283  
    955955                } 
    956956 
    957                 if (aFind(conf->aban(), n, 0L)) 
    958                         answer+=QString("\"%1\" is in aban list\n").arg(arg2.toLower()); 
    959                 if (aFind(conf->akick(), n, 0L)) 
    960                         answer+=QString("\"%1\" is in akick list\n").arg(arg2.toLower()); 
    961                 if (aFind(conf->avisitor(), n, 0L)) 
    962                         answer+=QString("\"%1\" is in avisitor list\n").arg(arg2.toLower()); 
    963                 if (aFind(conf->amoderator(), n, 0L)) 
    964                         answer+=QString("\"%1\" is in amoderator list\n").arg(arg2.toLower()); 
    965                 if (aFind(conf->acommand(), n, 0L)) 
    966                         answer+=QString("\"%1\" is in acmd list\n").arg(arg2.toLower()); 
     957                AListItem* item=0; 
     958                if (item=aFind(conf->aban(), n, 0L)) 
     959                        answer+=QString("\"%1\" is in aban list: %2\n").arg(arg2.toLower()).arg(item->toString()); 
     960                if (item=aFind(conf->akick(), n, 0L)) 
     961                        answer+=QString("\"%1\" is in akick list: %2\n").arg(arg2.toLower()).arg(item->toString()); 
     962                if (item=aFind(conf->avisitor(), n, 0L)) 
     963                        answer+=QString("\"%1\" is in avisitor list: %2\n").arg(arg2.toLower()).arg(item->toString()); 
     964                if (item=aFind(conf->amoderator(), n, 0L)) 
     965                        answer+=QString("\"%1\" is in amoderator list: %2\n").arg(arg2.toLower()).arg(item->toString()); 
     966                if (item=aFind(conf->acommand(), n, 0L)) 
     967                        answer+=QString("\"%1\" is in acmd list: %2\n").arg(arg2.toLower()).arg(item->toString()); 
    967968                if (answer.endsWith("\n")) 
    968969                        answer.remove(answer.length()-1, 1);