/* * This file is part of the KDE libraries * Copyright (c) 2001 Michael Goffioul * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License version 2 as published by the Free Software Foundation. * * This library 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. **/ #include "kmwipp.h" #include "kmwizard.h" #include "kmprinter.h" #include #include #include #include #include KMWIpp::KMWIpp(TQWidget *parent, const char *name) : KMWInfoBase(2,parent,name) { m_ID = KMWizard::IPP; m_title = i18n("Remote IPP server"); m_nextpage = KMWizard::IPPSelect; lineEdit( 1 )->setValidator( new TQIntValidator( TQT_TQOBJECT(this) ) ); setInfo(i18n("

Enter the information concerning the remote IPP server " "owning the targeted printer. This wizard will poll the server " "before continuing.

")); setLabel(0,i18n("Host:")); setLabel(1,i18n("Port:")); setText( 1, TQString::fromLatin1( "631" ) ); } bool KMWIpp::isValid(TQString& msg) { // check informations if (text(0).isEmpty()) { msg = i18n("Empty server name."); return false; } bool ok(false); int p = text(1).toInt(&ok); if (!ok) { msg = i18n("Incorrect port number."); return false; } // check server http_t *HTTP = httpConnect(text(0).latin1(),p); if (HTTP) { httpClose(HTTP); return true; } else { msg = i18n("Unable to connect to %1 on port %2 .").arg(text(0)).arg(p); return false; } } void KMWIpp::updatePrinter(KMPrinter *p) { KURL url; url.setProtocol("ipp"); url.setHost(text(0)); url.setPort(text(1).toInt()); if (!p->option("kde-login").isEmpty()) url.setUser(p->option("kde-login")); if (!p->option("kde-password").isEmpty()) url.setPass(p->option("kde-password")); p->setDevice(url.url()); }