Logo Search packages:      
Sourcecode: nateon version File versions  Download package

void KNateon::slotAddFiendRequire ( AddFriendView pAddFriendView  )  [private, slot]

입력한 ID가 본인의 ID이면,

FL(Friend List) == 1

TID를 저장하기 위해 임시로 사용됨.

수락을 받기 전에 버디에 추가 시킴.

0 그룹에 등록하기.

목록 refresh

TID를 저장하기 위해 임시로 사용됨.

수락을 받기 전에 버디에 추가 시킴.

0 그룹에 등록하기.

목록 refresh

Definition at line 1953 of file knateon.cpp.

References BuddyList::addBuddy(), BuddyList::getBuddyByID(), CurrentAccount::getBuddyList(), AddFriendView::getDomain(), AddFriendView::getID(), AddFriendView::getMessage(), CurrentAccount::getMyCyworldID(), CurrentAccount::getMyNateID(), nmconfig::logintype, NateonDPConnection::putADSB(), BuddyBase::setFL(), NateonDPConnection::setGroup0(), BuddyBase::setHandle(), BuddyBase::setName(), BuddyBase::setNick(), BuddyBase::setUID(), KNateonMainview::slotEmoticonList(), and nmconfig::viewemoticonlist.

{
      QString sID;
      sID = pAddFriendView->getID();
      sID += "@";
      sID += pAddFriendView->getDomain();

      /*! 입력한 ID가 본인의 ID이면, */
      if ( stConfig.logintype == 'C' )
      {
#ifdef NETDEBUG
            kdDebug() << "Cyworld ID : [" << sID << "], CyID : [" <<  m_pCurrentAccount->getMyCyworldID() << "]" << endl;
#endif
            if ( sID == m_pCurrentAccount->getMyCyworldID() )
            {
                  KMessageBox::information (this, UTF8("본인은 친구로 추가 할 수 없습니다."), UTF8("친구 추가 에러") );
                  return;
            }
      }
      else
      {
#ifdef NETDEBUG
            kdDebug() << "Nateon ID : [" << sID << "], NateonID : [" <<  m_pCurrentAccount->getMyNateID() << "]" << endl;
#endif
            if ( sID == m_pCurrentAccount->getMyNateID() )
            {
                  KMessageBox::information (this, UTF8("본인은 친구로 추가 할 수 없습니다."), UTF8("친구 추가 에러") );
                  return;
            }
      }
  
    m_pBuddyList = const_cast<BuddyList*>(m_pCurrentAccount->getBuddyList());
    if ( Buddy *pBuddy = m_pBuddyList->getBuddyByID( sID ) )
      {
            /*! FL(Friend List) == 1 */
            if ( pBuddy->isFL() == true )
            {
                  KMessageBox::information (this, UTF8("이미 등록된 버디 입니다."), UTF8("친구 추가 에러") );
                  return;
            }
            else
            {
                  pBuddy->setFL( true );
                  QString sCommand;
                  sCommand = "REQST %00 ";
                  sCommand += sID;
                  sCommand += " 0 ";
                  
                  QString sMessage;
                  sMessage = pAddFriendView->getMessage();
                  sMessage.replace(" ", "%20");
                  sMessage.replace("\n", "%0D%0A");
                  sMessage.replace("\r", "%0D%0A");
                  
                  sCommand += sMessage + "\r\n";
                  
                  int nTID = m_pDPcon->putADSB(sCommand);
                  
            /// TID를 저장하기 위해 임시로 사용됨.
                  pBuddy->setHandle( "TID:" + QString::number(nTID) );
                  
            /// 수락을 받기 전에 버디에 추가 시킴.
                  m_pBuddyList->addBuddy( pBuddy );
                  
            /*! 0 그룹에 등록하기. */
                  m_pDPcon->setGroup0( pBuddy );
                  
            /*!
             * 목록 refresh
             */
                  m_pMainView->slotEmoticonList( stConfig.viewemoticonlist );
            }
      }
    else
    {
            QString sCommand;
            sCommand = "REQST %00 ";
            sCommand += sID;
            sCommand += " 0 ";
            
            QString sMessage;
            sMessage = pAddFriendView->getMessage();
            sMessage.replace(" ", "%20");
        sMessage.replace("\n", "%0D%0A");
        sMessage.replace("\r", "%0D%0A");
        
            sCommand += sMessage + "\r\n";

            int nTID = m_pDPcon->putADSB(sCommand);

            Buddy *pBuddy = new Buddy();
            pBuddy->setFL( true );
            pBuddy->setUID( sID );
            pBuddy->setName( sID );
            pBuddy->setNick( sID );

            /// TID를 저장하기 위해 임시로 사용됨.
        pBuddy->setHandle( "TID:" + QString::number(nTID) );

            /// 수락을 받기 전에 버디에 추가 시킴.
            m_pBuddyList->addBuddy( pBuddy );

            /*! 0 그룹에 등록하기. */
        m_pDPcon->setGroup0( pBuddy );

            /*!
         * 목록 refresh
         */
            m_pMainView->slotEmoticonList( stConfig.viewemoticonlist );
    }
}


Generated by  Doxygen 1.6.0   Back to index