knotes Library API Documentation

knotehostdlg.cpp

00001 /*******************************************************************
00002  KNotes -- Notes for the KDE project
00003 
00004  Copyright (c) 2003, Daniel Martin <daniel.martin@pirack.com>
00005                2004, Michael Brade <brade@kde.org>
00006 
00007  This program is free software; you can redistribute it and/or
00008  modify it under the terms of the GNU General Public License
00009  as published by the Free Software Foundation; either version 2
00010  of the License, or (at your option) any later version.
00011 
00012  This program is distributed in the hope that it will be useful,
00013  but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  GNU General Public License for more details.
00016 
00017  You should have received a copy of the GNU General Public License
00018  along with this program; if not, write to the Free Software
00019  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00020 
00021  In addition, as a special exception, the copyright holders give
00022  permission to link the code of this program with any edition of
00023  the Qt library by Trolltech AS, Norway (or with modified versions
00024  of Qt that use the same license as Qt), and distribute linked
00025  combinations including the two.  You must obey the GNU General
00026  Public License in all respects for all of the code used other than
00027  Qt.  If you modify this file, you may extend this exception to
00028  your version of the file, but you are not obligated to do so.  If
00029  you do not wish to do so, delete this exception statement from
00030  your version.
00031 *******************************************************************/
00032 
00033 #include <qstring.h>
00034 #include <qstringlist.h>
00035 #include <qlabel.h>
00036 #include <qvbox.h>
00037 
00038 #include <kdebug.h>
00039 #include <kglobal.h>
00040 #include <klocale.h>
00041 #include <kstandarddirs.h>
00042 #include <ksimpleconfig.h>
00043 #include <kcombobox.h>
00044 
00045 #include "knotehostdlg.h"
00046 #include "knotesglobalconfig.h"
00047 
00048 
00049 KNoteHostDlg::KNoteHostDlg( const QString &caption, QWidget *parent, const char *name )
00050     : KDialogBase( parent, name, true, caption, Ok|Cancel, Ok, true )
00051 {
00052     QVBox *page = makeVBoxMainWidget();
00053     (void)new QLabel( i18n("Hostname or IP address:"), page );
00054 
00055     m_hostCombo = new KHistoryCombo( true, page );
00056     m_hostCombo->setMinimumWidth( fontMetrics().maxWidth() * 15 );
00057     m_hostCombo->setDuplicatesEnabled( false );
00058 
00059     // Read known hosts from configfile
00060     m_hostCombo->setHistoryItems( KNotesGlobalConfig::knownHosts(), true );
00061     //m_hostCombo->completionObject()->setItems( KNotesGlobalConfig::hostCompletions() );
00062     connect( m_hostCombo->lineEdit(), SIGNAL( textChanged ( const QString & ) ),this, SLOT( slotTextChanged( const QString & ) ) );
00063     m_hostCombo->setFocus();
00064     slotTextChanged( m_hostCombo->lineEdit()->text() );
00065 }
00066 
00067 KNoteHostDlg::~KNoteHostDlg()
00068 {
00069     if ( result() == Accepted )
00070         m_hostCombo->addToHistory( m_hostCombo->currentText().stripWhiteSpace() );
00071 
00072     // Write known hosts to configfile
00073     KNotesGlobalConfig::setKnownHosts( m_hostCombo->historyItems() );
00074     //KNotesGlobalConfig::setHostCompletions( m_hostCombo->completionObject()->items() );
00075     KNotesGlobalConfig::writeConfig();
00076 }
00077 
00078 void KNoteHostDlg::slotTextChanged( const QString & _text)
00079 {
00080     enableButtonOK( !_text.isEmpty() );
00081 }
00082 
00083 QString KNoteHostDlg::host() const
00084 {
00085     return m_hostCombo->currentText();
00086 }
00087 
00088 
00089 #include "knotehostdlg.moc"
KDE Logo
This file is part of the documentation for knotes Library Version 3.3.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Oct 17 09:53:54 2007 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003