00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <qlabel.h>
00025 #include <qlayout.h>
00026 #include <qpushbutton.h>
00027 #include <qspinbox.h>
00028 #include <qtooltip.h>
00029
00030 #include <kaccelmanager.h>
00031 #include <kbuttonbox.h>
00032 #include <klineedit.h>
00033 #include <klocale.h>
00034
00035 #include "addhostdialog.h"
00036
00037 AddHostDialog::AddHostDialog( QWidget* parent, const char* name )
00038 : KDialogBase( Plain, i18n( "Add Host" ), Ok | Cancel, Ok, parent, name, true, true )
00039 {
00040 QWidget *page = plainPage();
00041
00042 QGridLayout *layout = new QGridLayout( page, 3, 5, 0, spacingHint() );
00043
00044 mHostEdit = new KLineEdit( page );
00045 layout->addMultiCellWidget( mHostEdit, 0, 0, 1, 2 );
00046 connect( mHostEdit, SIGNAL( textChanged( const QString& ) ),
00047 SLOT( slotHostEditChanged( const QString& ) ) );
00048
00049 QLabel *label = new QLabel( i18n( "Host:" ), page );
00050 label->setBuddy( mHostEdit );
00051 layout->addWidget( label, 0, 0 );
00052
00053 mPortSpinBox = new QSpinBox( page );
00054 mPortSpinBox->setMaxValue( 65535 );
00055 mPortSpinBox->setValue( 389 );
00056 layout->addWidget( mPortSpinBox, 1, 1 );
00057
00058 label = new QLabel( i18n( "Port:" ), page );
00059 QToolTip::add( label, i18n( "The port number of the directory server if it is using a non-standard port (389 is the standard)" ) );
00060 label->setBuddy( mPortSpinBox );
00061 layout->addWidget( label, 1, 0 );
00062
00063 mBaseEdit = new KLineEdit( page );
00064 layout->addMultiCellWidget( mBaseEdit, 2, 2, 1, 2 );
00065
00066 label = new QLabel( i18n( "Base DN:" ), page );
00067 QToolTip::add( label, i18n( "The base DN used for searching" ) );
00068 label->setBuddy( mBaseEdit );
00069 layout->addWidget( label, 2, 0 );
00070
00071 mBindEdit = new KLineEdit( page );
00072 layout->addMultiCellWidget( mBindEdit, 3, 3, 1, 2 );
00073
00074 label = new QLabel( i18n( "Bind DN:" ), page );
00075 QToolTip::add( label, i18n( "The bind DN used for searching" ) );
00076 label->setBuddy( mBindEdit );
00077 layout->addWidget( label, 3, 0 );
00078
00079 mPwdBindEdit = new KLineEdit( page );
00080 mPwdBindEdit->setEchoMode( QLineEdit::Password );
00081 layout->addMultiCellWidget( mPwdBindEdit, 4, 4, 1, 2 );
00082
00083 label = new QLabel( i18n( "Password:" ), page );
00084 QToolTip::add( label, i18n( "The password used for searching" ) );
00085 label->setBuddy( mPwdBindEdit );
00086 layout->addWidget( label, 4, 0 );
00087
00088 resize( QSize( 380, 150 ).expandedTo( sizeHint() ) );
00089 enableButtonOK( !mHostEdit->text().isEmpty());
00090 mHostEdit->setFocus();
00091
00092 KAcceleratorManager::manage( this );
00093 }
00094
00095 AddHostDialog::~AddHostDialog()
00096 {
00097 }
00098
00099 void AddHostDialog::slotHostEditChanged( const QString &text )
00100 {
00101 enableButtonOK( !text.isEmpty() );
00102 }
00103
00104 void AddHostDialog::setHost( const QString &host )
00105 {
00106 mHostEdit->setText( host );
00107 }
00108
00109 void AddHostDialog::setPort( int port )
00110 {
00111 mPortSpinBox->setValue( port );
00112 }
00113
00114 void AddHostDialog::setBaseDN( const QString &baseDN )
00115 {
00116 mBaseEdit->setText( baseDN );
00117 }
00118
00119 void AddHostDialog::setBindDN( const QString &bindDN )
00120 {
00121 mBindEdit->setText( bindDN );
00122 }
00123
00124 void AddHostDialog::setPwdBindDN( const QString &pwdBindDN )
00125 {
00126 mPwdBindEdit->setText( pwdBindDN );
00127 }
00128
00129 QString AddHostDialog::host() const
00130 {
00131 return mHostEdit->text().stripWhiteSpace();
00132 }
00133
00134 int AddHostDialog::port() const
00135 {
00136 return mPortSpinBox->value();
00137 }
00138
00139 QString AddHostDialog::baseDN() const
00140 {
00141 return mBaseEdit->text().stripWhiteSpace();
00142 }
00143
00144 QString AddHostDialog::bindDN() const
00145 {
00146 return mBindEdit->text().stripWhiteSpace();
00147 }
00148
00149 QString AddHostDialog::pwdBindDN() const
00150 {
00151 return mPwdBindEdit->text().stripWhiteSpace();
00152 }
00153
00154 #include "addhostdialog.moc"