You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdenetwork/kopete/protocols/gadu/gaduaddcontactpage.cpp

134 lines
3.8 KiB

//
// Copyright (C) 2003 Grzegorz Jaskiewicz <gj at pointblue.com.pl>
// Copyright (C) 2002-2003 Zack Rusin <zack@kde.org>
//
// gaduaddconectpage.cpp
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
// 02110-1301, USA.
#include "kopetemetacontact.h"
#include "gaduadd.h"
#include "gaduprotocol.h"
#include "gaduaccount.h"
#include "gaduaddcontactpage.h"
#include "gaducontact.h"
#include "gaducontactlist.h"
#include <tdelocale.h>
#include <kdebug.h>
#include <kopetecontactlist.h>
#include <kopetegroup.h>
#include <tqwidget.h>
#include <tqlabel.h>
#include <tqlayout.h>
#include <tqlineedit.h>
#include <tqlistview.h>
#include <tqptrlist.h>
#include <tqcombobox.h>
#include <krestrictedline.h>
GaduAddContactPage::GaduAddContactPage( GaduAccount* owner, TQWidget* parent, const char* name )
: AddContactPage( parent, name )
{
account_ = owner;
( new TQVBoxLayout( this ) )->setAutoAdd( true );
addUI_ = new GaduAddUI( this );
connect( addUI_->addEdit_, TQT_SIGNAL( textChanged( const TQString & ) ), TQT_SLOT( slotUinChanged( const TQString & ) ) );
addUI_->addEdit_->setValidChars( "1234567890" );
addUI_->addEdit_->setText( "" );
addUI_->groups->setDisabled( TRUE );
kdDebug(14100) << "filling gropus" << endl;
fillGroups();
}
GaduAddContactPage::~GaduAddContactPage()
{
delete addUI_;
}
void
GaduAddContactPage::fillGroups()
{
/*
Kopete::Group *g;
TQPtrList<Kopete::Group> gl = Kopete::ContactList::self()->groups();
for( g = gl.first(); g; g = gl.next() ) {
TQCheckListItem* item = new TQCheckListItem( addUI_->groups, g->displayName(), TQCheckListItem::CheckBox );
kdDebug(14100) << g->displayName() << " " << g->groupId() << endl;
}
*/
}
void
GaduAddContactPage::showEvent( TQShowEvent* e )
{
slotUinChanged( TQString() );
AddContactPage::showEvent( e );
}
void
GaduAddContactPage::slotUinChanged( const TQString & )
{
emit dataValid( this, validateData() );
}
bool
GaduAddContactPage::validateData()
{
bool ok;
long u;
u = addUI_->addEdit_->text().toULong( &ok );
if ( u == 0 ) {
return false;
}
return ok;
}
bool
GaduAddContactPage::apply( Kopete::Account* a , Kopete::MetaContact* mc )
{
if ( validateData() ) {
TQString userid = addUI_->addEdit_->text().stripWhiteSpace();
TQString name = addUI_->nickEdit_->text().stripWhiteSpace();
if ( a != account_ ) {
kdDebug(14100) << "Problem because accounts differ: " << a->accountId()
<< " , " << account_->accountId() << endl;
}
if ( !a->addContact( userid, mc, Kopete::Account::ChangeKABC ) ) {
return false;
}
GaduContact *contact = static_cast<GaduContact*>( a->contacts()[ userid ] );
contact->setProperty( GaduProtocol::protocol()->propEmail, addUI_->emailEdit_->text().stripWhiteSpace() );
contact->setProperty( GaduProtocol::protocol()->propFirstName, addUI_->fornameEdit_->text().stripWhiteSpace() );
contact->setProperty( GaduProtocol::protocol()->propLastName, addUI_->snameEdit_->text().stripWhiteSpace() );
contact->setProperty( GaduProtocol::protocol()->propPhoneNr, addUI_->telephoneEdit_ ->text().stripWhiteSpace() );
/*
contact->setProperty( "ignored", i18n( "ignored" ), "false" );
contact->setProperty( "nickName", i18n( "nick name" ), name );
*/
}
return true;
}
#include "gaduaddcontactpage.moc"