akonadi/contact
   23 #include "imitemdialog.h" 
   26 #include "improtocols.h" 
   28 #include <QFormLayout> 
   30 #include <kcombobox.h> 
   31 #include <klineedit.h> 
   32 #include <klocalizedstring.h> 
   35 IMItemDialog::IMItemDialog( QWidget *parent )
 
   38   setButtons( Ok | Cancel );
 
   39   setDefaultButton( Ok );
 
   41   QWidget *widget = 
new QWidget( 
this );
 
   42   setMainWidget( widget );
 
   44   QFormLayout *layout = 
new QFormLayout( widget );
 
   46   mProtocolCombo = 
new KComboBox;
 
   47   mProtocolCombo->addItem( i18nc( 
"@item:inlistbox select from a list of IM protocols",
 
   49   layout->addRow( i18nc( 
"@label:listbox", 
"Protocol:" ), mProtocolCombo );
 
   51   const QStringList protocols = IMProtocols::self()->protocols();
 
   52   foreach ( 
const QString &protocol, protocols ) {
 
   53     mProtocolCombo->addItem( KIcon( IMProtocols::self()->icon( protocol ) ),
 
   54                              IMProtocols::self()->name( protocol ),
 
   58   mNameEdit = 
new KLineEdit;
 
   59   layout->addRow( i18nc( 
"@label:textbox IM address", 
"Address:" ), mNameEdit );
 
   61   connect( mProtocolCombo, SIGNAL(currentIndexChanged(
int)), SLOT(slotUpdateButtons()) );
 
   62   connect( mNameEdit, SIGNAL(textChanged(QString)), SLOT(slotUpdateButtons()) );
 
   67 void IMItemDialog::setAddress( 
const IMAddress &address )
 
   69   mProtocolCombo->setCurrentIndex(
 
   70     IMProtocols::self()->protocols().indexOf( address.protocol() ) + 1 );
 
   72   mNameEdit->setText( address.name() );
 
   76 IMAddress IMItemDialog::address()
 const 
   78   return IMAddress( mProtocolCombo->itemData( mProtocolCombo->currentIndex() ).toString(),
 
   79                     mNameEdit->text(), false );
 
   82 void IMItemDialog::slotUpdateButtons()
 
   84   enableButtonOk( mProtocolCombo->currentIndex()>0 && !mNameEdit->text().isEmpty() );
 
  
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:00:49 by
doxygen 1.8.7 written
by 
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.