/*************************************************************************** wpeditaccount.cpp - description ------------------- begin : Fri Apr 26 2002 copyright : (C) 2002 by Gav Wood email : gav@kde.org Based on code from : (C) 2002 by Duncan Mac-Vicar Prett email : duncan@kde.org ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ // Standard Unix Includes #include // QT Includes #include #include // KDE Includes #include #include #include #include #include #include #include #include #include // Kopete Includes #include // Local Includes #include "wpaccount.h" #include "wpeditaccount.h" #include "wpprotocol.h" WPEditAccount::WPEditAccount(TQWidget *parent, Kopete::Account *theAccount) : WPEditAccountBase(parent), KopeteEditAccountWidget(theAccount) { kdDebug(14170) << "WPEditAccount::WPEditAccount(, )"; mProtocol = WPProtocol::protocol(); TQString tmpSmbcPath = TDEStandardDirs::findExe("smbclient"); if(account()) { mHostName->setText(account()->accountId()); // mAutoConnect->setChecked(account()->excludeConnect()); mHostName->setReadOnly(true); TDEGlobal::config()->setGroup("WinPopup"); mHostCheckFreq->setValue(TDEGlobal::config()->readNumEntry("HostCheckFreq", 60)); mSmbcPath->setURL(TDEGlobal::config()->readEntry("SmbcPath", tmpSmbcPath)); } else { // no QT/KDE function? GF TQString theHostName = TQString(); char *tmp = new char[255]; if (tmp != 0) { gethostname(tmp, 255); theHostName = tmp; if (theHostName.contains('.') != 0) theHostName.remove(theHostName.find('.'), theHostName.length()); theHostName = theHostName.upper(); } if (!theHostName.isEmpty()) mHostName->setText(theHostName); else mHostName->setText("LOCALHOST"); mHostCheckFreq->setValue(60); mSmbcPath->setURL(tmpSmbcPath); } show(); } void WPEditAccount::installSamba() { mProtocol->installSamba(); } bool WPEditAccount::validateData() { kdDebug(14170) << "WPEditAccount::validateData()"; if(mHostName->text().isEmpty()) { KMessageBox::sorry(this, i18n("You must enter a valid screen name."), i18n("WinPopup")); return false; } TQFile smbc(mSmbcPath->url()); if (!smbc.exists()) { KMessageBox::sorry(this, i18n("You must enter a valid smbclient path."), i18n("WinPopup")); return false; } return true; } void WPEditAccount::writeConfig() { TDEGlobal::config()->setGroup("WinPopup"); TDEGlobal::config()->writeEntry("SmbcPath", mSmbcPath->url()); TDEGlobal::config()->writeEntry("HostCheckFreq", mHostCheckFreq->text()); } Kopete::Account *WPEditAccount::apply() { kdDebug(14170) << "WPEditAccount::apply()"; if(!account()) setAccount(new WPAccount(mProtocol, mHostName->text())); // account()->setExcludeConnect(mAutoConnect->isChecked()); writeConfig(); mProtocol->settingsChanged(); return account(); } #include "wpeditaccount.moc"