30 files changed, 1125 insertions, 981 deletions
diff --git a/noncore/settings/networksettings/ppp/accounts.cpp b/noncore/settings/networksettings/ppp/accounts.cpp index 11d4739..3fa2f84 100644 --- a/noncore/settings/networksettings/ppp/accounts.cpp +++ b/noncore/settings/networksettings/ppp/accounts.cpp @@ -49,10 +49,10 @@ #include "edit.h" void parseargs(char* buf, char** args); -AccountWidget::AccountWidget( QWidget *parent, const char *name ) - : QWidget( parent, name ) +AccountWidget::AccountWidget( PPPData *pd, QWidget *parent, const char *name ) + : QWidget( parent, name ), _pppdata(pd) { QVBoxLayout *l1 = new QVBoxLayout(this, 10, 10); accountlist_l = new QListBox(this); @@ -151,19 +151,19 @@ AccountWidget::AccountWidget( QWidget *parent, const char *name ) // l122->addWidget(log); // l122->addStretch(1); //load up account list from gppdata to the list box - if(PPPData::data()->count() > 0) { - for(int i=0; i <= PPPData::data()->count()-1; i++) { - PPPData::data()->setAccountbyIndex(i); - accountlist_l->insertItem(PPPData::data()->accname()); + if(_pppdata->count() > 0) { + for(int i=0; i <= _pppdata->count()-1; i++) { + _pppdata->setAccountbyIndex(i); + accountlist_l->insertItem(_pppdata->accname()); } } // slotListBoxSelect(accountlist_l->currentItem()); - qDebug("setting listview index to %i",PPPData::data()->currentAccountID() ); - accountlist_l->setCurrentItem( PPPData::data()->currentAccountID() ); -// slotListBoxSelect( PPPData::data()->currentAccountID()); + qDebug("setting listview index to %i",_pppdata->currentAccountID() ); + accountlist_l->setCurrentItem( _pppdata->currentAccountID() ); +// slotListBoxSelect( _pppdata->currentAccountID()); l1->activate(); } @@ -174,11 +174,11 @@ void AccountWidget::slotListBoxSelect(int idx) { edit_b->setEnabled((bool)(idx != -1)); copy_b->setEnabled((bool)(idx != -1)); if(idx!=-1) { qDebug("setting account to %i", idx); - QString account = PPPData::data()->accname(); - PPPData::data()->setAccountbyIndex(accountlist_l->currentItem()); - // PPPData::data()->setAccount(account); + QString account = _pppdata->accname(); + _pppdata->setAccountbyIndex(accountlist_l->currentItem()); + // _pppdata->setAccount(account); } } @@ -213,16 +213,16 @@ void AccountWidget::slotListBoxSelect(int idx) { // } void AccountWidget::editaccount() { - PPPData::data()->setAccount(accountlist_l->text(accountlist_l->currentItem())); + _pppdata->setAccount(accountlist_l->text(accountlist_l->currentItem())); int result = doTab(); if(result == QDialog::Accepted) { - accountlist_l->changeItem(PPPData::data()->accname(),accountlist_l->currentItem()); + accountlist_l->changeItem(_pppdata->accname(),accountlist_l->currentItem()); // emit resetaccounts(); - PPPData::data()->save(); + _pppdata->save(); } } @@ -244,17 +244,17 @@ void AccountWidget::newaccount() { // switch(query) { // case QMessageBox::Yes: // { -// if (PPPData::data()->newaccount() == -1) +// if (_pppdata->newaccount() == -1) // return; // // ProviderDB pdb(this); // // result = pdb.exec(); // break; // } // case QMessageBox::No: - if (PPPData::data()->newaccount() == -1){ - qDebug("PPPData::data()->newaccount() == -1"); + if (_pppdata->newaccount() == -1){ + qDebug("_pppdata->newaccount() == -1"); return; } result = doTab(); // break; @@ -262,15 +262,15 @@ void AccountWidget::newaccount() { // return; // } if(result == QDialog::Accepted) { - accountlist_l->insertItem(PPPData::data()->accname()); - accountlist_l->setSelected(accountlist_l->findItem(PPPData::data()->accname()), + accountlist_l->insertItem(_pppdata->accname()); + accountlist_l->setSelected(accountlist_l->findItem(_pppdata->accname()), true); // emit resetaccounts(); - PPPData::data()->save(); + _pppdata->save(); } else - PPPData::data()->deleteAccount(); + _pppdata->deleteAccount(); } void AccountWidget::copyaccount() { @@ -283,13 +283,13 @@ void AccountWidget::copyaccount() { QMessageBox::information(this, "sorry", i18n("No account selected.")); return; } - PPPData::data()->copyaccount(accountlist_l->currentItem()); + _pppdata->copyaccount(accountlist_l->currentItem()); - accountlist_l->insertItem(PPPData::data()->accname()); + accountlist_l->insertItem(_pppdata->accname()); // emit resetaccounts(); - PPPData::data()->save(); + _pppdata->save(); } void AccountWidget::deleteaccount() { @@ -299,13 +299,13 @@ void AccountWidget::deleteaccount() { if(QMessageBox::warning(this, s, i18n("Confirm")) != QMessageBox::Yes) return; - if(PPPData::data()->deleteAccount(accountlist_l->text(accountlist_l->currentItem()))) + if(_pppdata->deleteAccount(accountlist_l->text(accountlist_l->currentItem()))) accountlist_l->removeItem(accountlist_l->currentItem()); emit resetaccounts(); - PPPData::data()->save(); + _pppdata->save(); slotListBoxSelect(accountlist_l->currentItem()); } @@ -321,29 +321,29 @@ int AccountWidget::doTab(){ layout->addWidget( tabWindow ); bool isnewaccount; - if(PPPData::data()->accname().isEmpty()) { + if(_pppdata->accname().isEmpty()) { dlg->setCaption(i18n("New Account")); isnewaccount = true; } else { QString tit = i18n("Edit Account: "); - tit += PPPData::data()->accname(); + tit += _pppdata->accname(); dlg->setCaption(tit); isnewaccount = false; } - dial_w = new DialWidget( tabWindow, isnewaccount, "Dial Setup"); + dial_w = new DialWidget( _pppdata, tabWindow, isnewaccount, "Dial Setup"); tabWindow->addTab( dial_w, i18n("Dial") ); - ip_w = new IPWidget( tabWindow, isnewaccount, i18n("IP Setup")); + ip_w = new IPWidget( _pppdata, tabWindow, isnewaccount, i18n("IP Setup")); tabWindow->addTab( ip_w, i18n("IP") ); - gateway_w = new GatewayWidget( tabWindow, isnewaccount, i18n("Gateway Setup")); + gateway_w = new GatewayWidget( _pppdata, tabWindow, isnewaccount, i18n("Gateway Setup")); tabWindow->addTab( gateway_w, i18n("Gateway") ); - dns_w = new DNSWidget( tabWindow, isnewaccount, i18n("DNS Servers") ); + dns_w = new DNSWidget( _pppdata, tabWindow, isnewaccount, i18n("DNS Servers") ); tabWindow->addTab( dns_w, i18n("DNS") ); - script_w = new ScriptWidget( tabWindow, isnewaccount, i18n("Edit Login Script")); + script_w = new ScriptWidget( _pppdata, tabWindow, isnewaccount, i18n("Edit Login Script")); tabWindow->addTab( script_w, i18n("Login Script") ); - ExecWidget *exec_w = new ExecWidget( tabWindow, isnewaccount, i18n("Execute Programs")); + ExecWidget *exec_w = new ExecWidget( _pppdata, tabWindow, isnewaccount, i18n("Execute Programs")); tabWindow->addTab( exec_w, i18n("Execute") ); // acct = new AccountingSelector( tabWindow, isnewaccount ); // tabWindow->addTab( acct, i18n("Accounting")); diff --git a/noncore/settings/networksettings/ppp/accounts.h b/noncore/settings/networksettings/ppp/accounts.h index 751a414..5e8509d 100644 --- a/noncore/settings/networksettings/ppp/accounts.h +++ b/noncore/settings/networksettings/ppp/accounts.h @@ -41,13 +41,14 @@ class DialWidget; class ScriptWidget; class IPWidget; class DNSWidget; class GatewayWidget; +class PPPData; class AccountWidget : public QWidget { Q_OBJECT public: - AccountWidget( QWidget *parent=0, const char *name=0 ); + AccountWidget( PPPData *pd, QWidget *parent=0, const char *name=0 ); ~AccountWidget() {} private slots: void editaccount(); @@ -68,8 +69,9 @@ signals: private: QString prettyPrintVolume(unsigned int); + PPPData *_pppdata; QTabWidget *tabWindow; DialWidget *dial_w; // AccountingSelector *acct; IPWidget *ip_w; diff --git a/noncore/settings/networksettings/ppp/connect.cpp b/noncore/settings/networksettings/ppp/connect.cpp index a3eda9d..2615b60 100644 --- a/noncore/settings/networksettings/ppp/connect.cpp +++ b/noncore/settings/networksettings/ppp/connect.cpp @@ -64,26 +64,23 @@ #include "auth.h" #include "connect.h" //#include "docking.h" -//#include "main.h" +#include "interfaceppp.h" #include "modem.h" #include "kpppconfig.h" #include "pppdata.h" #include "kpppwidget.h" //#include "requester.h" //#include "utils.h" #define execute_command system -extern KPPPWidget *p_kppp; - QString old_hostname; bool modified_hostname; -ConnectWidget::ConnectWidget(QWidget *parent, const char *name) +ConnectWidget::ConnectWidget(InterfacePPP *ifp, QWidget *parent, const char *name) : QWidget(parent, name), - // initialize some important variables myreadbuffer(""), main_timer_ID(0), vmain(0), substate(-1), @@ -95,11 +92,10 @@ ConnectWidget::ConnectWidget(QWidget *parent, const char *name) readbuffer(""), scanvar(""), scanning(false), pausing(false), -// termwindow(0), -// stats(st), - dialnumber(0) + dialnumber(0), + _ifaceppp(ifp) { modified_hostname = false; QVBoxLayout *tl = new QVBoxLayout(this, 8, 10); @@ -178,9 +174,9 @@ void ConnectWidget::preinit() { } void ConnectWidget::init() { - PPPData::data()->setpppdError(0); + _ifaceppp->data()->setpppdError(0); inittimer->stop(); vmain = 0; substate = -1; expecting = false; @@ -193,28 +189,28 @@ void ConnectWidget::init() { firstrunPW = true; // stats->totalbytes = 0; dialnumber = 0; - p_kppp->con_speed = ""; +// p_kppp->con_speed = ""; -// p_kppp->setQuitOnDisconnect (p_kppp->quitOnDisconnect() || PPPData::data()->quit_on_disconnect()); +// p_kppp->setQuitOnDisconnect (p_kppp->quitOnDisconnect() || _ifaceppp->data()->quit_on_disconnect()); - comlist = &PPPData::data()->scriptType(); - arglist = &PPPData::data()->script(); + comlist = &_ifaceppp->data()->scriptType(); + arglist = &_ifaceppp->data()->script(); - QString tit = i18n("Connecting to: %1").arg(PPPData::data()->accname()); + QString tit = i18n("Connecting to: %1").arg(_ifaceppp->data()->accname()); setCaption(tit); qApp->processEvents(); // run the "before-connect" command - if (!PPPData::data()->command_before_connect().isEmpty()) { + if (!_ifaceppp->data()->command_before_connect().isEmpty()) { messg->setText(i18n("Running pre-startup command...")); emit debugMessage(i18n("Running pre-startup command...")); qApp->processEvents(); QApplication::flushX(); - pid_t id = execute_command(PPPData::data()->command_before_connect()); + pid_t id = execute_command(_ifaceppp->data()->command_before_connect()); // int i, status; // do { // qApp->processEvents(); @@ -222,9 +218,9 @@ void ConnectWidget::init() { // usleep(100000); // } while (i == 0 && errno == 0); } - int lock = Modem::modem->lockdevice(); + int lock = _ifaceppp->modem()->lockdevice(); if (lock == 1) { messg->setText(i18n("Modem device is locked.")); vmain = 20; // wait until cancel is pressed @@ -236,22 +232,22 @@ void ConnectWidget::init() { vmain = 20; // wait until cancel is pressed return; } - if(Modem::modem->opentty()) { - messg->setText(Modem::modem->modemMessage()); + if(_ifaceppp->modem()->opentty()) { + messg->setText(_ifaceppp->modem()->modemMessage()); qApp->processEvents(); - if(Modem::modem->hangup()) { + if(_ifaceppp->modem()->hangup()) { qApp->processEvents(); semaphore = false; - Modem::modem->stop(); - Modem::modem->notify(this, SLOT(readChar(unsigned char))); + _ifaceppp->modem()->stop(); + _ifaceppp->modem()->notify(this, SLOT(readChar(unsigned char))); // if we are stuck anywhere we will time out - timeout_timer->start(PPPData::data()->modemTimeout()*1000); + timeout_timer->start(_ifaceppp->data()->modemTimeout()*1000); // this timer will run the script etc. main_timer_ID = startTimer(10); @@ -259,11 +255,11 @@ void ConnectWidget::init() { } } // initialization failed - messg->setText(Modem::modem->modemMessage()); + messg->setText(_ifaceppp->modem()->modemMessage()); vmain = 20; // wait until cancel is pressed - Modem::modem->unlockdevice(); + _ifaceppp->modem()->unlockdevice(); } void ConnectWidget::timerEvent(QTimerEvent *) { @@ -283,20 +279,20 @@ void ConnectWidget::timerEvent(QTimerEvent *) { emit debugMessage(i18n("Initializing modem...")); substate = 0; } - QString initStr = PPPData::data()->modemInitStr(substate); + QString initStr = _ifaceppp->data()->modemInitStr(substate); if (!initStr.isEmpty()) { // send a carriage return and then wait a bit so that the modem will // let us issue commands. - if(PPPData::data()->modemPreInitDelay() > 0) { - usleep(PPPData::data()->modemPreInitDelay() * 5000); + if(_ifaceppp->data()->modemPreInitDelay() > 0) { + usleep(_ifaceppp->data()->modemPreInitDelay() * 5000); writeline(""); - usleep(PPPData::data()->modemPreInitDelay() * 5000); + usleep(_ifaceppp->data()->modemPreInitDelay() * 5000); } - setExpect(PPPData::data()->modemInitResp()); + setExpect(_ifaceppp->data()->modemInitResp()); writeline(initStr); - usleep(PPPData::data()->modemInitDelay() * 10000); // 0.01 - 3.0 sec + usleep(_ifaceppp->data()->modemInitDelay() * 10000); // 0.01 - 3.0 sec } substate++; @@ -305,9 +301,9 @@ void ConnectWidget::timerEvent(QTimerEvent *) { * seems to be incompatible with some ISDN adapters (e.g. DataBox * Speed Dragon). Even better would be to detect this when doing * a "Modem Query" */ - if (MODEM_TONEDURATION != PPPData::data()->modemToneDuration()) + if (MODEM_TONEDURATION != _ifaceppp->data()->modemToneDuration()) vmain = 5; else vmain = 3; @@ -315,13 +311,13 @@ void ConnectWidget::timerEvent(QTimerEvent *) { } if (vmain == 5) { if(!expecting) { - QString sToneDuration = "ATS11=" + QString::number(PPPData::data()->modemToneDuration()); + QString sToneDuration = "ATS11=" + QString::number(_ifaceppp->data()->modemToneDuration()); QString msg = i18n("Setting ") + sToneDuration; messg->setText(msg); emit debugMessage(msg); - setExpect(PPPData::data()->modemInitResp()); + setExpect(_ifaceppp->data()->modemInitResp()); writeline(sToneDuration); } vmain = 3; return; @@ -335,33 +331,33 @@ void ConnectWidget::timerEvent(QTimerEvent *) { return; } substate = -1; // skip setting the volume if command is empty - if(PPPData::data()->volumeInitString().isEmpty()) { + if(_ifaceppp->data()->volumeInitString().isEmpty()) { vmain = 4; return; } messg->setText(i18n("Setting speaker volume...")); emit debugMessage(i18n("Setting speaker volume...")); - setExpect(PPPData::data()->modemInitResp()); + setExpect(_ifaceppp->data()->modemInitResp()); QString vol("AT"); - vol += PPPData::data()->volumeInitString(); + vol += _ifaceppp->data()->volumeInitString(); writeline(vol); - usleep(PPPData::data()->modemInitDelay() * 10000); // 0.01 - 3.0 sec + usleep(_ifaceppp->data()->modemInitDelay() * 10000); // 0.01 - 3.0 sec vmain = 4; return; } } if(vmain == 4) { if(!expecting) { - if(!PPPData::data()->waitForDialTone()) { + if(!_ifaceppp->data()->waitForDialTone()) { QString msg = i18n("Turning off dial tone waiting..."); messg->setText(msg); emit debugMessage(msg); - setExpect(PPPData::data()->modemInitResp()); - writeline(PPPData::data()->modemNoDialToneDetectionStr()); + setExpect(_ifaceppp->data()->modemInitResp()); + writeline(_ifaceppp->data()->modemNoDialToneDetectionStr()); } vmain = 1; return; } @@ -371,25 +367,25 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if(vmain == 1) { if(!expecting) { timeout_timer->stop(); - timeout_timer->start(PPPData::data()->modemTimeout()*1000); + timeout_timer->start(_ifaceppp->data()->modemTimeout()*1000); - QStringList &plist = PPPData::data()->phonenumbers(); - QString bmarg= PPPData::data()->dialPrefix(); + QStringList &plist = _ifaceppp->data()->phonenumbers(); + QString bmarg= _ifaceppp->data()->dialPrefix(); bmarg += *plist.at(dialnumber); QString bm = i18n("Dialing %1").arg(bmarg); messg->setText(bm); emit debugMessage(bm); - QString pn = PPPData::data()->modemDialStr(); - pn += PPPData::data()->dialPrefix(); + QString pn = _ifaceppp->data()->modemDialStr(); + pn += _ifaceppp->data()->dialPrefix(); pn += *plist.at(dialnumber); if(++dialnumber >= plist.count()) dialnumber = 0; writeline(pn); - setExpect(PPPData::data()->modemConnectResp()); + setExpect(_ifaceppp->data()->modemConnectResp()); vmain = 100; return; } } @@ -397,68 +393,68 @@ void ConnectWidget::timerEvent(QTimerEvent *) { // wait for connect, but redial if BUSY or wait for user cancel // if NO CARRIER or NO DIALTONE if(vmain == 100) { if(!expecting) { - myreadbuffer = PPPData::data()->modemConnectResp(); + myreadbuffer = _ifaceppp->data()->modemConnectResp(); setExpect("\n"); vmain = 101; return; } - if(readbuffer.contains(PPPData::data()->modemBusyResp())) { + if(readbuffer.contains(_ifaceppp->data()->modemBusyResp())) { timeout_timer->stop(); - timeout_timer->start(PPPData::data()->modemTimeout()*1000); + timeout_timer->start(_ifaceppp->data()->modemTimeout()*1000); messg->setText(i18n("Line busy. Hanging up...")); emit debugPutChar('\n'); - Modem::modem->hangup(); + _ifaceppp->modem()->hangup(); - if(PPPData::data()->busyWait() > 0) { - QString bm = i18n("Line busy. Waiting: %1 seconds").arg(PPPData::data()->busyWait()); + if(_ifaceppp->data()->busyWait() > 0) { + QString bm = i18n("Line busy. Waiting: %1 seconds").arg(_ifaceppp->data()->busyWait()); messg->setText(bm); emit debugMessage(bm); pausing = true; - pausetimer->start(PPPData::data()->busyWait()*1000, true); + pausetimer->start(_ifaceppp->data()->busyWait()*1000, true); timeout_timer->stop(); } - Modem::modem->setDataMode(false); + _ifaceppp->modem()->setDataMode(false); vmain = 0; substate = -1; return; } - if(readbuffer.contains(PPPData::data()->modemNoDialtoneResp())) { + if(readbuffer.contains(_ifaceppp->data()->modemNoDialtoneResp())) { timeout_timer->stop(); messg->setText(i18n("No Dialtone")); vmain = 20; - Modem::modem->unlockdevice(); + _ifaceppp->modem()->unlockdevice(); return; } - if(readbuffer.contains(PPPData::data()->modemNoCarrierResp())) { + if(readbuffer.contains(_ifaceppp->data()->modemNoCarrierResp())) { timeout_timer->stop(); messg->setText(i18n("No Carrier")); vmain = 20; - Modem::modem->unlockdevice(); + _ifaceppp->modem()->unlockdevice(); return; } } // wait for newline after CONNECT response (so we get the speed) if(vmain == 101) { if(!expecting) { - Modem::modem->setDataMode(true); // modem will no longer respond to AT commands + _ifaceppp->modem()->setDataMode(true); // modem will no longer respond to AT commands emit startAccounting(); // p_kppp->con_win->startClock(); vmain = 2; - scriptTimeout=PPPData::data()->modemTimeout()*1000; + scriptTimeout=_ifaceppp->data()->modemTimeout()*1000; return; } } @@ -493,12 +489,12 @@ void ConnectWidget::timerEvent(QTimerEvent *) { messg->setText(bm); emit debugMessage(bm); if (scriptArgument.lower() == "password") { - PPPData::data()->setPassword(scanvar); - p_kppp->setPW_Edit(scanvar); - if(PPPData::data()->storePassword()) - PPPData::data()->setStoredPassword(scanvar); + _ifaceppp->data()->setPassword(scanvar); +// p_kppp->setPW_Edit(scanvar); + if(_ifaceppp->data()->storePassword()) + _ifaceppp->data()->setStoredPassword(scanvar); firstrunPW = true; } scriptindex++; @@ -512,10 +508,10 @@ void ConnectWidget::timerEvent(QTimerEvent *) { // replace %USERNAME% and %PASSWORD% QString arg = scriptArgument; QRegExp re1("%USERNAME%"); QRegExp re2("%PASSWORD%"); - arg = arg.replace(re1, PPPData::data()->storedUsername()); - arg = arg.replace(re2, PPPData::data()->storedPassword()); + arg = arg.replace(re1, _ifaceppp->data()->storedUsername()); + arg = arg.replace(re2, _ifaceppp->data()->storedPassword()); if (scriptCommand == "Send") bm = bm.arg(scriptArgument); else { @@ -577,10 +573,10 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if (scriptCommand == "Hangup") { messg->setText(i18n("Hangup")); emit debugMessage(i18n("Hangup")); - writeline(PPPData::data()->modemHangupStr()); - setExpect(PPPData::data()->modemHangupResp()); + writeline(_ifaceppp->data()->modemHangupStr()); + setExpect(_ifaceppp->data()->modemHangupResp()); scriptindex++; return; } @@ -591,9 +587,9 @@ void ConnectWidget::timerEvent(QTimerEvent *) { messg->setText(i18n("Answer")); emit debugMessage(i18n("Answer")); - setExpect(PPPData::data()->modemRingResp()); + setExpect(_ifaceppp->data()->modemRingResp()); vmain = 150; return; } @@ -601,9 +597,9 @@ void ConnectWidget::timerEvent(QTimerEvent *) { QString bm = i18n("ID %1").arg(scriptArgument); messg->setText(bm); emit debugMessage(bm); - QString idstring = PPPData::data()->storedUsername(); + QString idstring = _ifaceppp->data()->storedUsername(); if(!idstring.isEmpty() && firstrunID) { // the user entered an Id on the main kppp dialog writeline(idstring); @@ -637,9 +633,9 @@ void ConnectWidget::timerEvent(QTimerEvent *) { QString bm = i18n("Password %1").arg(scriptArgument); messg->setText(bm); emit debugMessage(bm); - QString pwstring = PPPData::data()->password(); + QString pwstring = _ifaceppp->data()->password(); if(!pwstring.isEmpty() && firstrunPW) { // the user entered a password on the main kppp dialog writeline(pwstring); @@ -658,9 +654,9 @@ void ConnectWidget::timerEvent(QTimerEvent *) { } } else { /* if prompt withdrawn ... then, */ if(!(prompt->isVisible())) { - p_kppp->setPW_Edit(prompt->text()); +// p_kppp->setPW_Edit(prompt->text()); writeline(prompt->text()); prompt->setConsumed(); scriptindex++; return; @@ -784,10 +780,10 @@ void ConnectWidget::timerEvent(QTimerEvent *) { // this is a subroutine for the "Answer" script option if(vmain == 150) { if(!expecting) { - writeline(PPPData::data()->modemAnswerStr()); - setExpect(PPPData::data()->modemAnswerResp()); + writeline(_ifaceppp->data()->modemAnswerStr()); + setExpect(_ifaceppp->data()->modemAnswerResp()); vmain = 2; scriptindex++; return; @@ -811,11 +807,11 @@ void ConnectWidget::timerEvent(QTimerEvent *) { timeout_timer->stop(); if_timeout_timer->stop(); // better be sure. // stop reading of data - Modem::modem->stop(); + _ifaceppp->modem()->stop(); - if(PPPData::data()->authMethod() == AUTH_TERMINAL) { + if(_ifaceppp->data()->authMethod() == AUTH_TERMINAL) { // if (termwindow) { // delete termwindow; // termwindow = 0L; // this->show(); @@ -830,14 +826,14 @@ void ConnectWidget::timerEvent(QTimerEvent *) { // Close the tty. This prevents the QTimer::singleShot() in // Modem::readtty() from re-enabling the socket notifier. // The port is still held open by the helper process. - Modem::modem->closetty(); + _ifaceppp->modem()->closetty(); killTimer( main_timer_ID ); - if_timeout_timer->start(PPPData::data()->pppdTimeout()*1000); - qDebug( "started if timeout timer with %i", PPPData::data()->pppdTimeout()*1000); + if_timeout_timer->start(_ifaceppp->data()->pppdTimeout()*1000); + qDebug( "started if timeout timer with %i", _ifaceppp->data()->pppdTimeout()*1000); // find out PPP interface and notify the stats module // stats->setUnit(pppInterfaceNumber()); @@ -848,10 +844,10 @@ void ConnectWidget::timerEvent(QTimerEvent *) { emit debugMessage(i18n("Starting pppd...")); qDebug("execppp() returned with return-code %i", result ); if(result) { - if(!PPPData::data()->autoDNS()) - adddns(); + if(!_ifaceppp->data()->autoDNS()) + adddns( _ifaceppp ); // O.K we are done here, let's change over to the if_waiting loop // where we wait for the ppp if (interface) to come up. @@ -862,16 +858,16 @@ void ConnectWidget::timerEvent(QTimerEvent *) { // handled by execppp(); if_timeout_timer->stop(); this->hide(); messg->setText(""); - p_kppp->quit_b->setFocus(); - p_kppp->show(); +// p_kppp->quit_b->setFocus(); +// p_kppp->show(); qApp->processEvents(); - Modem::modem->hangup(); + _ifaceppp->modem()->hangup(); emit stopAccounting(); // p_kppp->con_win->stopClock(); - Modem::modem->closetty(); - Modem::modem->unlockdevice(); + _ifaceppp->modem()->closetty(); + _ifaceppp->modem()->unlockdevice(); } return; @@ -889,9 +885,9 @@ void ConnectWidget::set_con_speed_string() { // Here we are trying to determine the speed at which we are connected. // Usually the modem responds after connect with something like // CONNECT 115200, so all we need to do is find the number after CONNECT // or whatever the modemConnectResp() is. - p_kppp->con_speed = Modem::modem->parseModemSpeed(myreadbuffer); +// p_kppp->con_speed = _ifaceppp->modem()->parseModemSpeed(myreadbuffer); } @@ -968,9 +964,9 @@ void ConnectWidget::pause() { } void ConnectWidget::cancelbutton() { - Modem::modem->stop(); + _ifaceppp->modem()->stop(); killTimer(main_timer_ID); timeout_timer->stop(); if_timer->stop(); if_timeout_timer->stop(); @@ -983,25 +979,25 @@ void ConnectWidget::cancelbutton() { messg->setText(i18n("One moment please...")); // just to be sure - Modem::modem->removeSecret(AUTH_PAP); - Modem::modem->removeSecret(AUTH_CHAP); - removedns(); + _ifaceppp->modem()->removeSecret(AUTH_PAP); + _ifaceppp->modem()->removeSecret(AUTH_CHAP); + removedns(_ifaceppp); qApp->processEvents(); - Modem::modem->killPPPDaemon(); - Modem::modem->hangup(); + _ifaceppp->modem()->killPPPDaemon(); + _ifaceppp->modem()->hangup(); this->hide(); messg->setText(""); - p_kppp->quit_b->setFocus(); - p_kppp->show(); +// p_kppp->quit_b->setFocus(); +// p_kppp->show(); emit stopAccounting(); // just to be sure // p_kppp->con_win->stopClock(); - Modem::modem->closetty(); - Modem::modem->unlockdevice(); + _ifaceppp->modem()->closetty(); + _ifaceppp->modem()->unlockdevice(); //abort prompt window... if (prompt->isVisible()) { prompt->hide(); @@ -1025,9 +1021,9 @@ void ConnectWidget::script_timed_out() { prompt->hide(); prompt->setConsumed(); messg->setText(i18n("Script timed out!")); - Modem::modem->hangup(); + _ifaceppp->modem()->hangup(); emit stopAccounting(); // p_kppp->con_win->stopClock(); vmain = 0; // let's try again. @@ -1062,12 +1058,12 @@ void ConnectWidget::if_waiting_timed_out() { if_timer->stop(); if_timeout_timer->stop(); qDebug("if_waiting_timed_out()"); - PPPData::data()->setpppdError(E_IF_TIMEOUT); + _ifaceppp->data()->setpppdError(E_IF_TIMEOUT); // let's kill the stuck pppd - Modem::modem->killPPPDaemon(); + _ifaceppp->modem()->killPPPDaemon(); emit stopAccounting(); // p_kppp->con_win->stopClock(); @@ -1087,9 +1083,9 @@ void ConnectWidget::if_waiting_slot() { messg->setText(i18n("Logging on to network...")); // if(!stats->ifIsUp()) { -// if(PPPData::data()->pppdError() != 0) { +// if(_ifaceppp->data()->pppdError() != 0) { // // we are here if pppd died immediately after starting it. // pppdDied(); // // error message handled in main.cpp: sigPPPDDied() // return; @@ -1104,29 +1100,29 @@ void ConnectWidget::if_waiting_slot() { if_timeout_timer->stop(); if_timer->stop(); usleep(200000); - if(PPPData::data()->autoDNS()) - addpeerdns(); + if(_ifaceppp->data()->autoDNS()) + addpeerdns( _ifaceppp ); // Close the debugging window. If we are connected, we // are not really interested in debug output emit closeDebugWindow(); // p_kppp->statdlg->take_stats(); // start taking ppp statistics - auto_hostname(); + auto_hostname(_ifaceppp); - if(!PPPData::data()->command_on_connect().isEmpty()) { + if(!_ifaceppp->data()->command_on_connect().isEmpty()) { messg->setText(i18n("Running startup command...")); // make sure that we don't get any async errors qApp->flushX(); - execute_command(PPPData::data()->command_on_connect()); + execute_command(_ifaceppp->data()->command_on_connect()); messg->setText(i18n("Done")); } // remove the authentication file - Modem::modem->removeSecret(AUTH_PAP); - Modem::modem->removeSecret(AUTH_CHAP); + _ifaceppp->modem()->removeSecret(AUTH_PAP); + _ifaceppp->modem()->removeSecret(AUTH_CHAP); emit debugMessage(i18n("Done")); set_con_speed_string(); @@ -1140,22 +1136,22 @@ void ConnectWidget::if_waiting_slot() { // p_kppp->con_win->accounting(p_kppp->acct->running()); // else // p_kppp->con_win->accounting(false); - if (PPPData::data()->get_dock_into_panel()) { -// DockWidget::dock_widget->show(); -// DockWidget::dock_widget->take_stats(); -// this->hide(); - } - else { -// p_kppp->con_win->show(); +// if (_ifaceppp->data()->get_dock_into_panel()) { +// // DockWidget::dock_widget->show(); +// // DockWidget::dock_widget->take_stats(); +// // this->hide(); +// } +// else { +// // p_kppp->con_win->show(); - if(PPPData::data()->get_iconify_on_connect()) { - // p_kppp->con_win->showMinimized(); - } - } +// if(_ifaceppp->data()->get_iconify_on_connect()) { +// // p_kppp->con_win->showMinimized(); +// } +// } - Modem::modem->closetty(); + _ifaceppp->modem()->closetty(); } bool ConnectWidget::execppp() { @@ -1167,74 +1163,74 @@ bool ConnectWidget::execppp() { // opening a device given in a command line. To avoid permission conflicts // we'll simply leave this argument away. pppd will then use the default tty // which is the serial port we connected stdin/stdout to in opener.cpp. // command += " "; - // command += PPPData::data()->modemDevice(); + // command += _ifaceppp->data()->modemDevice(); - command += " " + PPPData::data()->speed(); + command += " " + _ifaceppp->data()->speed(); command += " -detach"; - if(PPPData::data()->ipaddr() != "0.0.0.0" || - PPPData::data()->gateway() != "0.0.0.0") { - if(PPPData::data()->ipaddr() != "0.0.0.0") { + if(_ifaceppp->data()->ipaddr() != "0.0.0.0" || + _ifaceppp->data()->gateway() != "0.0.0.0") { + if(_ifaceppp->data()->ipaddr() != "0.0.0.0") { command += " "; - command += PPPData::data()->ipaddr(); + command += _ifaceppp->data()->ipaddr(); command += ":"; } else { command += " "; command += ":"; } - if(PPPData::data()->gateway() != "0.0.0.0") - command += PPPData::data()->gateway(); + if(_ifaceppp->data()->gateway() != "0.0.0.0") + command += _ifaceppp->data()->gateway(); } - if(PPPData::data()->subnetmask() != "0.0.0.0") - command += " netmask " + PPPData::data()->subnetmask(); + if(_ifaceppp->data()->subnetmask() != "0.0.0.0") + command += " netmask " + _ifaceppp->data()->subnetmask(); - if(PPPData::data()->flowcontrol() != "None") { - if(PPPData::data()->flowcontrol() == "CRTSCTS") + if(_ifaceppp->data()->flowcontrol() != "None") { + if(_ifaceppp->data()->flowcontrol() == "CRTSCTS") command += " crtscts"; else command += " xonxoff"; } - if(PPPData::data()->defaultroute()) + if(_ifaceppp->data()->defaultroute()) command += " defaultroute"; - if(PPPData::data()->autoDNS()) + if(_ifaceppp->data()->autoDNS()) command += " usepeerdns"; - QStringList &arglist = PPPData::data()->pppdArgument(); + QStringList &arglist = _ifaceppp->data()->pppdArgument(); for ( QStringList::Iterator it = arglist.begin(); it != arglist.end(); ++it ) { command += " " + *it; } // PAP settings - if(PPPData::data()->authMethod() == AUTH_PAP) { + if(_ifaceppp->data()->authMethod() == AUTH_PAP) { command += " -chap user "; - command = command + "\"" + PPPData::data()->storedUsername() + "\""; + command = command + "\"" + _ifaceppp->data()->storedUsername() + "\""; } // CHAP settings - if(PPPData::data()->authMethod() == AUTH_CHAP) { + if(_ifaceppp->data()->authMethod() == AUTH_CHAP) { command += " -pap user "; - command = command + "\"" + PPPData::data()->storedUsername() + "\""; + command = command + "\"" + _ifaceppp->data()->storedUsername() + "\""; } // PAP/CHAP settings - if(PPPData::data()->authMethod() == AUTH_PAPCHAP) { + if(_ifaceppp->data()->authMethod() == AUTH_PAPCHAP) { command += " user "; - command = command + "\"" + PPPData::data()->storedUsername() + "\""; + command = command + "\"" + _ifaceppp->data()->storedUsername() + "\""; } // check for debug - if(PPPData::data()->getPPPDebug()) + if(_ifaceppp->data()->getPPPDebug()) command += " debug"; if (command.length() > MAX_CMDLEN) { QMessageBox::critical(this, "error", i18n( @@ -1246,9 +1242,9 @@ bool ConnectWidget::execppp() { } qApp->flushX(); - return Modem::modem->execPPPDaemon(command); + return _ifaceppp->modem()->execPPPDaemon(command); } void ConnectWidget::closeEvent( QCloseEvent *e ) { @@ -1261,13 +1257,13 @@ void ConnectWidget::setMsg(const QString &msg) { messg->setText(msg); } void ConnectWidget::writeline(const QString &s) { - Modem::modem->writeLine(s.local8Bit()); + _ifaceppp->modem()->writeLine(s.local8Bit()); } // Set the hostname and domain from DNS Server -void auto_hostname() { +void auto_hostname(InterfacePPP *_ifaceppp) { struct in_addr local_ip; struct hostent *hostname_entry; QString new_hostname; int dot; @@ -1276,41 +1272,41 @@ void auto_hostname() { gethostname(tmp_str, sizeof(tmp_str)); tmp_str[sizeof(tmp_str)-1]=0; // panic old_hostname=tmp_str; // copy to QString - // if (!p_kppp->stats->local_ip_address.isEmpty() && PPPData::data()->autoname()) { - if ( PPPData::data()->autoname()) { + // if (!p_kppp->stats->local_ip_address.isEmpty() && _ifaceppp->data()->autoname()) { + if ( _ifaceppp->data()->autoname()) { // local_ip.s_addr=inet_addr(p_kppp->stats->local_ip_address.ascii()); hostname_entry=gethostbyaddr((const char *)&local_ip,sizeof(in_addr),AF_INET); if (hostname_entry != 0L) { new_hostname=hostname_entry->h_name; dot=new_hostname.find('.'); new_hostname=new_hostname.remove(dot,new_hostname.length()-dot); - Modem::modem->setHostname(new_hostname); + _ifaceppp->modem()->setHostname(new_hostname); modified_hostname = TRUE; new_hostname=hostname_entry->h_name; new_hostname.remove(0,dot+1); - add_domain(new_hostname); + add_domain(new_hostname, _ifaceppp); } } } // Replace the DNS domain entry in the /etc/resolv.conf file and // disable the nameserver entries if option is enabled -void add_domain(const QString &domain) { +void add_domain(const QString &domain, InterfacePPP *_ifaceppp) { int fd; char c; QString resolv[MAX_RESOLVCONF_LINES]; if (domain.isEmpty()) return; - if((fd = Modem::modem->openResolv(O_RDONLY)) >= 0) { + if((fd = _ifaceppp->modem()->openResolv(O_RDONLY)) >= 0) { int i=0; while((read(fd, &c, 1) == 1) && (i < MAX_RESOLVCONF_LINES)) { if(c == '\n') { @@ -1322,18 +1318,18 @@ void add_domain(const QString &domain) { } close(fd); if ((c != '\n') && (i < MAX_RESOLVCONF_LINES)) i++; - if((fd = Modem::modem->openResolv(O_WRONLY|O_TRUNC)) >= 0) { + if((fd = _ifaceppp->modem()->openResolv(O_WRONLY|O_TRUNC)) >= 0) { QCString tmp = "domain " + domain.local8Bit() + " \t\t#kppp temp entry\n"; write(fd, tmp.data(), tmp.length()); for(int j=0; j < i; j++) { if((resolv[j].contains("domain") || ( resolv[j].contains("nameserver") && !resolv[j].contains("#kppp temp entry") - && PPPData::data()->exDNSDisabled())) + && _ifaceppp->data()->exDNSDisabled())) && !resolv[j].contains("#entry disabled by kppp")) { QCString tmp = "# " + resolv[j].local8Bit() + " \t#entry disabled by kppp\n"; write(fd, tmp, tmp.length()); @@ -1349,14 +1345,14 @@ void add_domain(const QString &domain) { } // adds the DNS entries in the /etc/resolv.conf file -void adddns() +void adddns( InterfacePPP *_ifaceppp) { int fd; - if ((fd = Modem::modem->openResolv(O_WRONLY|O_APPEND)) >= 0) { - QStringList &dnslist = PPPData::data()->dns(); + if ((fd = _ifaceppp->modem()->openResolv(O_WRONLY|O_APPEND)) >= 0) { + QStringList &dnslist = _ifaceppp->data()->dns(); for ( QStringList::Iterator it = dnslist.begin(); it != dnslist.end(); ++it ) { @@ -1365,15 +1361,15 @@ void adddns() write(fd, dns.data(), dns.length()); } close(fd); } - add_domain(PPPData::data()->domain()); + add_domain(_ifaceppp->data()->domain(), _ifaceppp); } -void addpeerdns() { +void addpeerdns(InterfacePPP *_ifaceppp) { int fd, fd2; - if((fd = Modem::modem->openResolv(O_WRONLY|O_APPEND)) >= 0) { + if((fd = _ifaceppp->modem()->openResolv(O_WRONLY|O_APPEND)) >= 0) { if((fd2 = open("/etc/ppp/resolv.conf", O_RDONLY)) >= 0) { char c; int i = 0; while(i++ < 100 && read(fd2, &c, 1) == 1) { @@ -1386,19 +1382,19 @@ void addpeerdns() { } else fprintf(stderr, "failed to read from /etc/ppp/resolv.conf\n"); close(fd); } - add_domain(PPPData::data()->domain()); + add_domain(_ifaceppp->data()->domain(), _ifaceppp); } // remove the dns entries from the /etc/resolv.conf file -void removedns() { +void removedns(InterfacePPP *_ifaceppp) { int fd; char c; QString resolv[MAX_RESOLVCONF_LINES]; - if((fd = Modem::modem->openResolv(O_RDONLY)) >= 0) { + if((fd = _ifaceppp->modem()->openResolv(O_RDONLY)) >= 0) { int i=0; while(read(fd, &c, 1) == 1 && i < MAX_RESOLVCONF_LINES) { if(c == '\n') { @@ -1409,9 +1405,9 @@ void removedns() { } } close(fd); - if((fd = Modem::modem->openResolv(O_WRONLY|O_TRUNC)) >= 0) { + if((fd = _ifaceppp->modem()->openResolv(O_WRONLY|O_TRUNC)) >= 0) { for(int j=0; j < i; j++) { if(resolv[j].contains("#kppp temp entry")) continue; if(resolv[j].contains("#entry disabled by kppp")) { QCString tmp = resolv[j].local8Bit(); @@ -1428,9 +1424,9 @@ void removedns() { } if ( modified_hostname ) { - Modem::modem->setHostname(old_hostname); + _ifaceppp->modem()->setHostname(old_hostname); modified_hostname = FALSE; } } diff --git a/noncore/settings/networksettings/ppp/connect.h b/noncore/settings/networksettings/ppp/connect.h index 3127236..e7ae5e0 100644 --- a/noncore/settings/networksettings/ppp/connect.h +++ b/noncore/settings/networksettings/ppp/connect.h @@ -35,19 +35,19 @@ #include <qevent.h> #include "kpppconfig.h" #include "pwentry.h" -//#include "docking.h" -//#include "loginterm.h" + #define MAXLOOPNEST (MAX_SCRIPT_ENTRIES/2) -class PPPStats; +class InterfacePPP; +class PPPData; class ConnectWidget : public QWidget { Q_OBJECT public: - ConnectWidget(QWidget *parent, const char *name); + ConnectWidget(InterfacePPP*, QWidget *parent, const char *name); ~ConnectWidget(); public: void set_con_speed_string(); @@ -135,18 +135,18 @@ private: bool firstrunPW; unsigned int dialnumber; // the current number to dial -// PPPStats *stats; + InterfacePPP *_ifaceppp; }; // non-member function to kill&wait on the pppd child process -extern void killppp(); -void adddns(); -void addpeerdns(); -void removedns(); -void add_domain(const QString & newdomain); -void auto_hostname(); +extern void killppp(PPPData*); +void adddns(InterfacePPP*); +void addpeerdns(InterfacePPP*); +void removedns(InterfacePPP*); +void add_domain(const QString & newdomain, InterfacePPP*); +void auto_hostname(InterfacePPP*); #endif diff --git a/noncore/settings/networksettings/ppp/conwindow.cpp b/noncore/settings/networksettings/ppp/conwindow.cpp index 20d705d..9136ca0 100644 --- a/noncore/settings/networksettings/ppp/conwindow.cpp +++ b/noncore/settings/networksettings/ppp/conwindow.cpp @@ -30,21 +30,18 @@ // #include <klocale.h> #define i18n QObject::tr // #include <kglobal.h> -extern PPPData gpppdata; -ConWindow::ConWindow(QWidget *parent, const char *name, QDialog *mainwidget ) -// PPPStats *st) +ConWindow::ConWindow(PPPData *pd, QWidget *parent, const char *name, + QDialog *mainwidget ) : QWidget(parent, name, 0), minutes(0), seconds(0), hours(0), days(0), tl1(0), -// stats(st), - accountingEnabled(false), - volumeAccountingEnabled(false) + _pppdata(pd) { info1 = new QLabel(i18n("Connected at:"), this); info2 = new QLabel("", this); @@ -114,135 +111,135 @@ QString ConWindow::prettyPrintVolume(unsigned int n) { s += " " + quant[idx]; return s; } -void ConWindow::accounting(bool on) { - // cache accounting settings - accountingEnabled = on; - volumeAccountingEnabled = PPPData::data()->VolAcctEnabled(); - - // delete old layout - if(tl1 != 0) - delete tl1; - - // add layout now - tl1 = new QVBoxLayout(this, 10, 10); - tl1->addSpacing(5); - QHBoxLayout *tl = new QHBoxLayout; - tl1->addLayout(tl); - tl->addSpacing(20); - QGridLayout *l1; - - int vol_lines = 0; - if(PPPData::data()->VolAcctEnabled()) - vol_lines = 1; - - if(accountingEnabled) - l1 = new QGridLayout(4 + vol_lines, 2, 5); - else - l1 = new QGridLayout(2 + vol_lines, 2, 5); - tl->addLayout(l1); - l1->setColStretch(0, 0); - l1->setColStretch(1, 1); - - info2->setAlignment(AlignRight|AlignVCenter); - timelabel2->setAlignment(AlignRight|AlignVCenter); - session_bill->setAlignment(AlignRight|AlignVCenter); - total_bill->setAlignment(AlignRight|AlignVCenter); - volinfo->setAlignment(AlignRight|AlignVCenter); - // make sure that there's enough space for the bills - QString s1 = session_bill->text(); - QString s2 = total_bill->text(); - QString s3 = volinfo->text(); - - session_bill->setText("888888.88 XXX"); - total_bill->setText("888888.88 XXX"); - volinfo->setText("8888.8 MB"); - session_bill->setFixedSize(session_bill->sizeHint()); - total_bill->setFixedSize(total_bill->sizeHint()); - volinfo->setFixedSize(volinfo->sizeHint()); - session_bill->setText(s1); - total_bill->setText(s2); - volinfo->setText(s3); - - l1->addWidget(info1, 0, 0); - l1->addWidget(info2, 0, 1); - l1->addWidget(timelabel1, 1, 0); - l1->addWidget(timelabel2, 1, 1); - if(accountingEnabled) { - session_bill_l->show(); - session_bill->show(); - total_bill_l->show(); - total_bill->show(); - l1->addWidget(session_bill_l, 2, 0); - l1->addWidget(session_bill, 2, 1); - l1->addWidget(total_bill_l, 3, 0); - l1->addWidget(total_bill, 3, 1); - - if(volumeAccountingEnabled) { - vollabel->show(); - volinfo->show(); - l1->addWidget(vollabel, 4, 0); - l1->addWidget(volinfo, 4, 1); - } else { - vollabel->hide(); - volinfo->hide(); - } - - } else { - session_bill_l->hide(); - session_bill->hide(); - total_bill_l->hide(); - total_bill->hide(); - - if(volumeAccountingEnabled) { - vollabel->show(); - volinfo->show(); - l1->addWidget(vollabel, 2, 0); - l1->addWidget(volinfo, 2, 1); - } else { - vollabel->hide(); - volinfo->hide(); - } - } +// void ConWindow::accounting(bool on) { +// // cache accounting settings +// accountingEnabled = on; +// // volumeAccountingEnabled = PPPData::data()->VolAcctEnabled(); - tl->addSpacing(10); - QVBoxLayout *l2 = new QVBoxLayout(5); - tl->addLayout(l2); - l2->addStretch(1); -// l2->addWidget(statsbutton); - l2->addWidget(cancelbutton); +// // delete old layout +// if(tl1 != 0) +// delete tl1; - l2->addStretch(1); +// // add layout now +// tl1 = new QVBoxLayout(this, 10, 10); +// tl1->addSpacing(5); +// QHBoxLayout *tl = new QHBoxLayout; +// tl1->addLayout(tl); +// tl->addSpacing(20); +// QGridLayout *l1; - tl1->addSpacing(5); +// int vol_lines = 0; +// // if(_pppdata->VolAcctEnabled()) +// // vol_lines = 1; - setFixedSize(sizeHint()); -/* - do not overwrite position read from config - setGeometry((QApplication::desktop()->width() - width()) / 2, - (QApplication::desktop()->height() - height())/2, - width(), - height()); -*/ -} +// if(accountingEnabled) +// l1 = new QGridLayout(4 + vol_lines, 2, 5); +// else +// l1 = new QGridLayout(2 + vol_lines, 2, 5); +// tl->addLayout(l1); +// l1->setColStretch(0, 0); +// l1->setColStretch(1, 1); + +// info2->setAlignment(AlignRight|AlignVCenter); +// timelabel2->setAlignment(AlignRight|AlignVCenter); +// session_bill->setAlignment(AlignRight|AlignVCenter); +// total_bill->setAlignment(AlignRight|AlignVCenter); +// volinfo->setAlignment(AlignRight|AlignVCenter); +// // make sure that there's enough space for the bills +// QString s1 = session_bill->text(); +// QString s2 = total_bill->text(); +// QString s3 = volinfo->text(); + +// session_bill->setText("888888.88 XXX"); +// total_bill->setText("888888.88 XXX"); +// volinfo->setText("8888.8 MB"); +// session_bill->setFixedSize(session_bill->sizeHint()); +// total_bill->setFixedSize(total_bill->sizeHint()); +// volinfo->setFixedSize(volinfo->sizeHint()); +// session_bill->setText(s1); +// total_bill->setText(s2); +// volinfo->setText(s3); + +// l1->addWidget(info1, 0, 0); +// l1->addWidget(info2, 0, 1); +// l1->addWidget(timelabel1, 1, 0); +// l1->addWidget(timelabel2, 1, 1); +// if(accountingEnabled) { +// session_bill_l->show(); +// session_bill->show(); +// total_bill_l->show(); +// total_bill->show(); +// l1->addWidget(session_bill_l, 2, 0); +// l1->addWidget(session_bill, 2, 1); +// l1->addWidget(total_bill_l, 3, 0); +// l1->addWidget(total_bill, 3, 1); + +// if(volumeAccountingEnabled) { +// vollabel->show(); +// volinfo->show(); +// l1->addWidget(vollabel, 4, 0); +// l1->addWidget(volinfo, 4, 1); +// } else { +// vollabel->hide(); +// volinfo->hide(); +// } + +// } else { +// session_bill_l->hide(); +// session_bill->hide(); +// total_bill_l->hide(); +// total_bill->hide(); + +// if(volumeAccountingEnabled) { +// vollabel->show(); +// volinfo->show(); +// l1->addWidget(vollabel, 2, 0); +// l1->addWidget(volinfo, 2, 1); +// } else { +// vollabel->hide(); +// volinfo->hide(); +// } +// } +// tl->addSpacing(10); +// QVBoxLayout *l2 = new QVBoxLayout(5); +// tl->addLayout(l2); +// l2->addStretch(1); +// // l2->addWidget(statsbutton); +// l2->addWidget(cancelbutton); -void ConWindow::dock() { -// DockWidget::dock_widget->show(); - this->hide(); -} +// l2->addStretch(1); + +// tl1->addSpacing(5); + +// setFixedSize(sizeHint()); +// /* +// do not overwrite position read from config +// setGeometry((QApplication::desktop()->width() - width()) / 2, +// (QApplication::desktop()->height() - height())/2, +// width(), +// height()); +// */ +// } + + +// void ConWindow::dock() { +// // DockWidget::dock_widget->show(); +// this->hide(); +// } void ConWindow::startClock() { minutes = 0; seconds = 0; hours = 0; QString title ; - title = PPPData::data()->accname(); + title = _pppdata->accname(); - if(PPPData::data()->get_show_clock_on_caption()){ + if(_pppdata->get_show_clock_on_caption()){ title += " 00:00" ; } this->setCaption(title); @@ -264,9 +261,9 @@ void ConWindow::stopClock() { void ConWindow::timeclick() { // QString tooltip = i18n("Connection: %1\n" // "Connected at: %2\n" // "Time connected: %3") -// .arg(PPPData::data()->accname()).arg(info2->text()) +// .arg(_pppdata->accname()).arg(info2->text()) // .arg(time_string2); // if(accountingEnabled) // tooltip += i18n("\nSession Bill: %1\nTotal Bill: %2") @@ -274,9 +271,9 @@ void ConWindow::timeclick() { // // volume accounting // if(volumeAccountingEnabled) { // volinfo->setEnabled(TRUE); -// int bytes = PPPData::data()->totalBytes(); +// int bytes = _pppdata->totalBytes(); // volinfo->setText(prettyPrintVolume(bytes)); // } // seconds++; @@ -304,16 +301,16 @@ void ConWindow::timeclick() { // else // time_string2.sprintf("%02d:%02d:%02d",hours,minutes,seconds); -// caption_string = PPPData::data()->accname(); +// caption_string = _pppdata->accname(); // caption_string += " "; // caption_string += time_string; // timelabel2->setText(time_string2); -// if(PPPData::data()->get_show_clock_on_caption() && (seconds == 1)){ +// if(_pppdata->get_show_clock_on_caption() && (seconds == 1)){ // // we update the Caption only once per minute not every second // // otherwise I get a flickering icon // this->setCaption(caption_string); // } @@ -327,10 +324,10 @@ void ConWindow::closeEvent( QCloseEvent *e ){ // conwindow since this is our last connection kppp. // if we lost it we could only kill the program by hand to get on with life. e->ignore(); - if(PPPData::data()->get_dock_into_panel()) - dock(); +// if(_pppdata->get_dock_into_panel()) +// dock(); } void ConWindow::slotAccounting(QString total, QString session) { diff --git a/noncore/settings/networksettings/ppp/conwindow.h b/noncore/settings/networksettings/ppp/conwindow.h index 20d3579..42c6f35 100644 --- a/noncore/settings/networksettings/ppp/conwindow.h +++ b/noncore/settings/networksettings/ppp/conwindow.h @@ -33,30 +33,30 @@ #include <qframe.h> #include <qevent.h> #include <qlayout.h> -//class PPPStats; +class PPPData; class ConWindow : public QWidget { Q_OBJECT public: - ConWindow(QWidget *parent, const char *name, QDialog* ); + ConWindow(PPPData*, QWidget *parent, const char *name, QDialog* ); ~ConWindow(); protected: void closeEvent( QCloseEvent *e ); bool event( QEvent *e ); private slots: void timeclick(); - void dock(); +// void dock(); public: void setConnectionSpeed(const QString&); void startClock(); void stopClock(); - void accounting(bool); // show/ hide accounting info +// void accounting(bool); // show/ hide accounting info public slots: void slotAccounting(QString, QString); @@ -81,11 +81,9 @@ private: QTimer *clocktimer; QVBoxLayout *tl1; QLabel *vollabel; QLabel *volinfo; -// PPPStats *stats; - bool accountingEnabled; - bool volumeAccountingEnabled; + PPPData *_pppdata; }; #endif diff --git a/noncore/settings/networksettings/ppp/edit.cpp b/noncore/settings/networksettings/ppp/edit.cpp index eee643d..8ae714e 100644 --- a/noncore/settings/networksettings/ppp/edit.cpp +++ b/noncore/settings/networksettings/ppp/edit.cpp @@ -44,10 +44,11 @@ //#include "newwidget.h" #include "iplined.h" #include "auth.h" -DialWidget::DialWidget( QWidget *parent, bool isnewaccount, const char *name ) - : QWidget(parent, name) +DialWidget::DialWidget( PPPData *pd, QWidget *parent, bool isnewaccount + , const char *name ) + : QWidget(parent, name), _pppdata(pd) { const int GRIDROWS = 6; QGridLayout *tl = new QGridLayout(this, GRIDROWS, 2, 0 );//, KDialog::spacingHint()); @@ -153,12 +154,12 @@ DialWidget::DialWidget( QWidget *parent, bool isnewaccount, const char *name ) tl->addMultiCellWidget(pppdargs, 5, 5, 0, 1, AlignCenter); // Set defaults if editing an existing connection if(!isnewaccount) { - connectname_l->setText(PPPData::data()->accname()); + connectname_l->setText(_pppdata->accname()); // insert the phone numbers into the listbox - QString n = PPPData::data()->phonenumber(); + QString n = _pppdata->phonenumber(); QString tmp = ""; uint idx = 0; while(idx != n.length()) { if(n[idx] == ':') { @@ -171,10 +172,10 @@ DialWidget::DialWidget( QWidget *parent, bool isnewaccount, const char *name ) } if(tmp.length() > 0) numbers->insertItem(tmp); - auth->setCurrentItem(PPPData::data()->authMethod()); - store_password->setChecked(PPPData::data()->storePassword()); + auth->setCurrentItem(_pppdata->authMethod()); + store_password->setChecked(_pppdata->storePassword()); } else { // select PAP/CHAP as default auth->setCurrentItem(AUTH_PAPCHAP); } @@ -186,23 +187,23 @@ DialWidget::DialWidget( QWidget *parent, bool isnewaccount, const char *name ) bool DialWidget::save() { //first check to make sure that the account name is unique! if(connectname_l->text().isEmpty() || - !PPPData::data()->isUniqueAccname(connectname_l->text())) { + !_pppdata->isUniqueAccname(connectname_l->text())) { return false; } else { - PPPData::data()->setAccname(connectname_l->text()); + _pppdata->setAccname(connectname_l->text()); QString number = ""; for(uint i = 0; i < numbers->count(); i++) { if(i != 0) number += ":"; number += numbers->text(i); } - PPPData::data()->setPhonenumber(number); - PPPData::data()->setAuthMethod(auth->currentItem()); - PPPData::data()->setStorePassword(store_password->isChecked()); + _pppdata->setPhonenumber(number); + _pppdata->setAuthMethod(auth->currentItem()); + _pppdata->setStorePassword(store_password->isChecked()); return true; } } @@ -221,9 +222,9 @@ void DialWidget::selectionChanged(int) { } void DialWidget::addNumber() { - PhoneNumberDialog dlg(this); + PhoneNumberDialog dlg(this); if(dlg.exec()) { numbers->insertItem(dlg.phoneNumber()); numbersChanged(); } @@ -262,19 +263,19 @@ void DialWidget::downNumber() { } void DialWidget::pppdargsbutton() { - PPPdArguments pa(this); + PPPdArguments pa(_pppdata, this); pa.exec(); } ///////////////////////////////////////////////////////////////////////////// // ExecWidget ///////////////////////////////////////////////////////////////////////////// -ExecWidget::ExecWidget(QWidget *parent, bool isnewaccount, const char *name) : - QWidget(parent, name) +ExecWidget::ExecWidget(PPPData *pd, QWidget *parent, bool isnewaccount, const char *name) : + QWidget(parent, name), _pppdata(pd) { QVBoxLayout *tl = new QVBoxLayout(this, 0 );//, KDialog::spacingHint()); QLabel *l = new QLabel(\ @@ -359,21 +360,21 @@ i18n("Here you can select commands to run at certain stages of the\n" tl->activate(); // Set defaults if editing an existing connection if(!isnewaccount) { - before_connect->setText(PPPData::data()->command_before_connect()); - command->setText(PPPData::data()->command_on_connect()); - discommand->setText(PPPData::data()->command_on_disconnect()); - predisconnect->setText(PPPData::data()->command_before_disconnect()); + before_connect->setText(_pppdata->command_before_connect()); + command->setText(_pppdata->command_on_connect()); + discommand->setText(_pppdata->command_on_disconnect()); + predisconnect->setText(_pppdata->command_before_disconnect()); } } bool ExecWidget::save() { - PPPData::data()->setCommand_before_connect(before_connect->text()); - PPPData::data()->setCommand_on_connect(command->text()); - PPPData::data()->setCommand_before_disconnect(predisconnect->text()); - PPPData::data()->setCommand_on_disconnect(discommand->text()); + _pppdata->setCommand_before_connect(before_connect->text()); + _pppdata->setCommand_on_connect(command->text()); + _pppdata->setCommand_before_disconnect(predisconnect->text()); + _pppdata->setCommand_on_disconnect(discommand->text()); return true; } @@ -382,10 +383,10 @@ bool ExecWidget::save() { // // IPWidget // ///////////////////////////////////////////////////////////////////////////// -IPWidget::IPWidget( QWidget *parent, bool isnewaccount, const char *name ) - : QWidget(parent, name) +IPWidget::IPWidget( PPPData *pd, QWidget *parent, bool isnewaccount, const char *name ) + : QWidget(parent, name), _pppdata(pd) { QVBoxLayout *topLayout = new QVBoxLayout(this); topLayout->setSpacing( 3 );//KDialog::spacingHint()); @@ -448,9 +449,9 @@ IPWidget::IPWidget( QWidget *parent, bool isnewaccount, const char *name ) QWhatsThis::add(sub_label,tmp); QWhatsThis::add(subnetmask_l,tmp); autoname = new QCheckBox(i18n("Auto-configure hostname from this IP"), this); - autoname->setChecked(PPPData::data()->autoname()); + autoname->setChecked(_pppdata->autoname()); connect(autoname,SIGNAL(toggled(bool)), this,SLOT(autoname_t(bool))); QWhatsThis::add(autoname, @@ -468,17 +469,17 @@ IPWidget::IPWidget( QWidget *parent, bool isnewaccount, const char *name ) topLayout->addStretch(); //load info from gpppdata if(!isnewaccount) { - if(PPPData::data()->ipaddr() == "0.0.0.0" && - PPPData::data()->subnetmask() == "0.0.0.0") { + if(_pppdata->ipaddr() == "0.0.0.0" && + _pppdata->subnetmask() == "0.0.0.0") { dynamicadd_rb->setChecked(true); hitIPSelect(0); - autoname->setChecked(PPPData::data()->autoname()); + autoname->setChecked(_pppdata->autoname()); } else { - ipaddress_l->setText(PPPData::data()->ipaddr()); - subnetmask_l->setText(PPPData::data()->subnetmask()); + ipaddress_l->setText(_pppdata->ipaddr()); + subnetmask_l->setText(_pppdata->subnetmask()); staticadd_rb->setChecked(true); autoname->setChecked(false); } } @@ -509,15 +510,15 @@ void IPWidget::autoname_t(bool on) { void IPWidget::save() { if(dynamicadd_rb->isChecked()) { - PPPData::data()->setIpaddr("0.0.0.0"); - PPPData::data()->setSubnetmask("0.0.0.0"); + _pppdata->setIpaddr("0.0.0.0"); + _pppdata->setSubnetmask("0.0.0.0"); } else { - PPPData::data()->setIpaddr(ipaddress_l->text()); - PPPData::data()->setSubnetmask(subnetmask_l->text()); + _pppdata->setIpaddr(ipaddress_l->text()); + _pppdata->setSubnetmask(subnetmask_l->text()); } - PPPData::data()->setAutoname(autoname->isChecked()); + _pppdata->setAutoname(autoname->isChecked()); } void IPWidget::hitIPSelect( int i ) { @@ -536,10 +537,10 @@ void IPWidget::hitIPSelect( int i ) { } -DNSWidget::DNSWidget( QWidget *parent, bool isnewaccount, const char *name ) - : QWidget(parent, name) +DNSWidget::DNSWidget( PPPData *pd, QWidget *parent, bool isnewaccount, const char *name ) + : QWidget(parent, name), _pppdata(pd) { // box = new QGroupBox(this); QGridLayout *tl = new QGridLayout(this, 7, 2, 0 );//, KDialog::spacingHint()); @@ -571,9 +572,9 @@ DNSWidget::DNSWidget( QWidget *parent, bool isnewaccount, const char *name ) autodns = new QRadioButton(i18n("Automatic"), this); bg->insert(autodns, 0); tl->addWidget(autodns, 1, 1); // no automatic DNS detection for pppd < 2.3.7 - if(!PPPData::data()->pppdVersionMin(2, 3, 7)) + if(!_pppdata->pppdVersionMin(2, 3, 7)) autodns->setEnabled(false); mandns = new QRadioButton(i18n("Manual"), this); bg->insert(mandns, 1); @@ -644,9 +645,9 @@ DNSWidget::DNSWidget( QWidget *parent, bool isnewaccount, const char *name ) exdnsdisabled_toggle = new QCheckBox(i18n( \ "Disable existing DNS servers during connection"), this); - exdnsdisabled_toggle->setChecked(PPPData::data()->exDNSDisabled()); + exdnsdisabled_toggle->setChecked(_pppdata->exDNSDisabled()); tl->addMultiCellWidget(exdnsdisabled_toggle, 6, 6, 0, 1, AlignCenter); QWhatsThis::add(exdnsdisabled_toggle, i18n("<p>When this option is selected, all DNS\n" "servers specified in <tt>/etc/resolv.conf</tt> are\n" @@ -660,13 +661,13 @@ DNSWidget::DNSWidget( QWidget *parent, bool isnewaccount, const char *name ) // restore data if editing if(!isnewaccount) { - dnsservers->insertStringList(PPPData::data()->dns()); - dnsdomain->setText(PPPData::data()->domain()); + dnsservers->insertStringList(_pppdata->dns()); + dnsdomain->setText(_pppdata->domain()); } - int mode = PPPData::data()->autoDNS() ? 0 : 1; + int mode = _pppdata->autoDNS() ? 0 : 1; bg->setButton(mode); DNS_Mode_Selected(mode); tl->activate(); @@ -694,22 +695,22 @@ void DNSWidget::DNS_Mode_Selected(int mode) { dnsservers->triggerUpdate(false); } void DNSWidget::save() { - PPPData::data()->setAutoDNS(bg->id(bg->selected()) == 0); + _pppdata->setAutoDNS(bg->id(bg->selected()) == 0); QStringList serverlist; for(uint i=0; i < dnsservers->count(); i++) serverlist.append(dnsservers->text(i)); - PPPData::data()->setDns(serverlist); + _pppdata->setDns(serverlist); // strip leading dot QString s(dnsdomain->text()); if(s.left(1) == ".") - PPPData::data()->setDomain(s.mid(1)); + _pppdata->setDomain(s.mid(1)); else - PPPData::data()->setDomain(dnsdomain->text()); + _pppdata->setDomain(dnsdomain->text()); - PPPData::data()->setExDNSDisabled(exdnsdisabled_toggle->isChecked()); + _pppdata->setExDNSDisabled(exdnsdisabled_toggle->isChecked()); } void DNSWidget::adddns() { @@ -731,10 +732,10 @@ void DNSWidget::removedns() { // // GatewayWidget // -GatewayWidget::GatewayWidget( QWidget *parent, bool isnewaccount, const char *name ) - : QWidget(parent, name) +GatewayWidget::GatewayWidget( PPPData *pd, QWidget *parent, bool isnewaccount, const char *name ) + : QWidget(parent, name), _pppdata(pd) { QVBoxLayout *topLayout = new QVBoxLayout(this); topLayout->setSpacing( 2 );//KDialog::spacingHint()); @@ -784,17 +785,17 @@ GatewayWidget::GatewayWidget( QWidget *parent, bool isnewaccount, const char *na topLayout->addStretch(); //load info from gpppdata if(!isnewaccount) { - if(PPPData::data()->gateway() == "0.0.0.0") { + if(_pppdata->gateway() == "0.0.0.0") { defaultgateway->setChecked(true); hitGatewaySelect(0); } else { - gatewayaddr->setText(PPPData::data()->gateway()); + gatewayaddr->setText(_pppdata->gateway()); staticgateway->setChecked(true); } - defaultroute->setChecked(PPPData::data()->defaultroute()); + defaultroute->setChecked(_pppdata->defaultroute()); } else { defaultgateway->setChecked(true); hitGatewaySelect(0); @@ -802,10 +803,10 @@ GatewayWidget::GatewayWidget( QWidget *parent, bool isnewaccount, const char *na } } void GatewayWidget::save() { - PPPData::data()->setGateway(gatewayaddr->text()); - PPPData::data()->setDefaultroute(defaultroute->isChecked()); + _pppdata->setGateway(gatewayaddr->text()); + _pppdata->setDefaultroute(defaultroute->isChecked()); } void GatewayWidget::hitGatewaySelect( int i ) { @@ -822,10 +823,10 @@ void GatewayWidget::hitGatewaySelect( int i ) { } -ScriptWidget::ScriptWidget( QWidget *parent, bool isnewaccount, const char *name ) - : QWidget(parent, name) +ScriptWidget::ScriptWidget( PPPData *pd, QWidget *parent, bool isnewaccount, const char *name ) + : QWidget(parent, name),_pppdata(pd) { QVBoxLayout *tl = new QVBoxLayout(this, 0 ); se = new ScriptEdit(this); @@ -866,10 +867,10 @@ ScriptWidget::ScriptWidget( QWidget *parent, bool isnewaccount, const char *name l12->addWidget(slb, 0); //load data from gpppdata if(!isnewaccount) { - QStringList &comlist = PPPData::data()->scriptType(); - QStringList &arglist = PPPData::data()->script(); + QStringList &comlist = _pppdata->scriptType(); + QStringList &arglist = _pppdata->script(); QStringList::Iterator itcom = comlist.begin(); QStringList::Iterator itarg = arglist.begin(); for ( ; @@ -913,10 +914,10 @@ void ScriptWidget::save() { for(uint i=0; i < sl->count(); i++) { typelist.append(stl->text(i)); arglist.append(sl->text(i)); } - PPPData::data()->setScriptType(typelist); - PPPData::data()->setScript(arglist); + _pppdata->setScriptType(typelist); + _pppdata->setScript(arglist); } diff --git a/noncore/settings/networksettings/ppp/edit.h b/noncore/settings/networksettings/ppp/edit.h index cd0161f..2cc0fed 100644 --- a/noncore/settings/networksettings/ppp/edit.h +++ b/noncore/settings/networksettings/ppp/edit.h @@ -46,13 +46,14 @@ #include "kpppconfig.h" #include "pppdargs.h" class IPLineEdit; +class PPPData; class DialWidget : public QWidget { Q_OBJECT public: - DialWidget( QWidget *parent=0, bool isnewaccount = true, const char *name=0 ); + DialWidget( PPPData*, QWidget *parent=0, bool isnewaccount = true, const char *name=0 ); ~DialWidget() {} public slots: bool save(); @@ -75,8 +76,9 @@ private: // for the phonenumber selection QPushButton *add, *del, *up, *down; QListBox *numbers; + PPPData *_pppdata; }; ///////////////////////////////////////////////////////////////////////////// @@ -86,9 +88,9 @@ private: ///////////////////////////////////////////////////////////////////////////// class ExecWidget : public QWidget { Q_OBJECT public: - ExecWidget(QWidget *parent=0, bool isnewaccount=true, const char *name=0); + ExecWidget(PPPData*, QWidget *parent=0, bool isnewaccount=true, const char *name=0); public slots: bool save(); @@ -103,15 +105,16 @@ private: QLabel *predisconnect_label; QLineEdit *discommand; QLabel *discommand_label; + PPPData *_pppdata; }; class IPWidget : public QWidget { Q_OBJECT public: - IPWidget( QWidget *parent=0, bool isnewaccount = true, const char *name=0 ); + IPWidget(PPPData*, QWidget *parent=0, bool isnewaccount = true, const char *name=0 ); ~IPWidget() {} public slots: void save(); @@ -133,15 +136,16 @@ private: IPLineEdit *ipaddress_l; IPLineEdit *subnetmask_l; QCheckBox *autoname; + PPPData *_pppdata; }; class DNSWidget : public QWidget { Q_OBJECT public: - DNSWidget( QWidget *parent=0, bool isnewaccount = true, const char *name=0 ); + DNSWidget( PPPData*, QWidget *parent=0, bool isnewaccount = true, const char *name=0 ); ~DNSWidget() {} public slots: void save(); @@ -165,15 +169,16 @@ private: QListBox *dnsservers; QLineEdit *dnsdomain; QLabel *dnsdomain_label; QCheckBox *exdnsdisabled_toggle; + PPPData *_pppdata; }; class GatewayWidget : public QWidget { Q_OBJECT public: - GatewayWidget( QWidget *parent=0, bool isnewaccount = true, const char *name=0 ); + GatewayWidget(PPPData*, QWidget *parent=0, bool isnewaccount = true, const char *name=0 ); ~GatewayWidget() {} public slots: void save(); @@ -189,15 +194,16 @@ private: QRadioButton *defaultgateway; QRadioButton *staticgateway; IPLineEdit *gatewayaddr; QCheckBox *defaultroute; + PPPData *_pppdata; }; class ScriptWidget : public QWidget { Q_OBJECT public: - ScriptWidget( QWidget *parent=0, bool isnewaccount = true, const char *name=0 ); + ScriptWidget(PPPData*, QWidget *parent=0, bool isnewaccount = true, const char *name=0 ); ~ScriptWidget() {} public slots: void save(); @@ -224,8 +230,9 @@ private: QPushButton *insert; QListBox *sl, *stl; QScrollBar *slb; + PPPData *_pppdata; }; ///////////////////////////////////////////////////////////////////////////// @@ -244,8 +251,9 @@ private slots: void textChanged(const QString &); private: QLineEdit *le; + }; #endif diff --git a/noncore/settings/networksettings/ppp/general.cpp b/noncore/settings/networksettings/ppp/general.cpp index 98e035b..f735e49 100644 --- a/noncore/settings/networksettings/ppp/general.cpp +++ b/noncore/settings/networksettings/ppp/general.cpp @@ -38,9 +38,9 @@ // #include <qgroupbox.h> #include "general.h" -//#include "version.h" +#include "interfaceppp.h" //#include "miniterm.h" #include "modeminfo.h" #include "modemcmds.h" #include "devices.h" @@ -49,10 +49,10 @@ #define i18n QObject::tr -ModemWidget::ModemWidget( QWidget *parent, const char *name) - : QWidget(parent, name) +ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name ) + : QWidget(parent, name), _ifaceppp(ifppp) { int k; QGridLayout *tl = new QGridLayout(this, 8, 2, 0 );//, KDialog::spacingHint()); @@ -171,18 +171,18 @@ ModemWidget::ModemWidget( QWidget *parent, const char *name) QWhatsThis::add(baud_label,tmp); QWhatsThis::add(baud_c,tmp); for(int i=0; i <= enter->count()-1; i++) { - if(PPPData::data()->enter() == enter->text(i)) + if(_ifaceppp->data()->enter() == enter->text(i)) enter->setCurrentItem(i); } tl->addRowSpacing(4, 10); //Modem Lock File modemlockfile = new QCheckBox(i18n("&Use lock file"), this); - modemlockfile->setChecked(PPPData::data()->modemLockFile()); + modemlockfile->setChecked(_ifaceppp->data()->modemLockFile()); connect(modemlockfile, SIGNAL(toggled(bool)), SLOT(modemlockfilechanged(bool))); tl->addMultiCellWidget(modemlockfile, 5, 5, 0, 1); // l12->addStretch(1); @@ -200,12 +200,13 @@ ModemWidget::ModemWidget( QWidget *parent, const char *name) // Modem Timeout Line Edit Box QHBoxLayout *timeoutLayout = new QHBoxLayout( this ); QLabel *timeoutlabel = new QLabel( tr("Modem timeout:") ,this, "timeout" ); modemtimeout = new QSpinBox( 1, 120, 1, this, "modemTimeout" ); -// modemtimeout = new KIntNumInput(PPPData::data()->modemTimeout(), this); +// modemtimeout = new KIntNumInput(_pppdata->modemTimeout(), this); // modemtimeout->setLabel(i18n("Modem &timeout:")); // modemtimeout->setRange(1, 120, 1); modemtimeout->setSuffix(i18n(" sec")); + modemtimeout->setValue( _ifaceppp->data()->modemTimeout() ); connect(modemtimeout, SIGNAL(valueChanged(int)), SLOT(modemtimeoutchanged(int))); timeoutLayout->addWidget(timeoutlabel); timeoutLayout->addWidget(modemtimeout); @@ -217,69 +218,70 @@ ModemWidget::ModemWidget( QWidget *parent, const char *name) "recommended value is 30 seconds.")); //set stuff from gpppdata for(int i=0; i <= enter->count()-1; i++) { - if(PPPData::data()->enter() == enter->text(i)) + if(_ifaceppp->data()->enter() == enter->text(i)) enter->setCurrentItem(i); } for(int i=0; i <= modemdevice->count()-1; i++) { - if(PPPData::data()->modemDevice() == modemdevice->text(i)) + if(_ifaceppp->data()->modemDevice() == modemdevice->text(i)) modemdevice->setCurrentItem(i); } for(int i=0; i <= flowcontrol->count()-1; i++) { - if(PPPData::data()->flowcontrol() == flowcontrol->text(i)) + if(_ifaceppp->data()->flowcontrol() == flowcontrol->text(i)) flowcontrol->setCurrentItem(i); } //set the modem speed for(int i=0; i < baud_c->count(); i++) - if(baud_c->text(i) == PPPData::data()->speed()) + if(baud_c->text(i) == _ifaceppp->data()->speed()) baud_c->setCurrentItem(i); tl->setRowStretch(7, 1); } void ModemWidget::speed_selection(int) { - PPPData::data()->setSpeed(baud_c->text(baud_c->currentItem())); + _ifaceppp->data()->setSpeed(baud_c->text(baud_c->currentItem())); } void ModemWidget::setenter(int ) { - PPPData::data()->setEnter(enter->text(enter->currentItem())); + _ifaceppp->data()->setEnter(enter->text(enter->currentItem())); } void ModemWidget::setmodemdc(int i) { - PPPData::data()->setModemDevice(modemdevice->text(i)); + _ifaceppp->data()->setModemDevice(modemdevice->text(i)); } void ModemWidget::setflowcontrol(int i) { - PPPData::data()->setFlowcontrol(flowcontrol->text(i)); + _ifaceppp->data()->setFlowcontrol(flowcontrol->text(i)); } void ModemWidget::modemlockfilechanged(bool set) { - PPPData::data()->setModemLockFile(set); + _ifaceppp->data()->setModemLockFile(set); } void ModemWidget::modemtimeoutchanged(int n) { - PPPData::data()->setModemTimeout(n); + _ifaceppp->data()->setModemTimeout(n); } -ModemWidget2::ModemWidget2( QWidget *parent, const char *name) - : QWidget(parent, name) +ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, + const char *name) + : QWidget(parent, name), _ifaceppp(ifp) { QVBoxLayout *l1 = new QVBoxLayout(this, 0 );//, KDialog::spacingHint()); waitfordt = new QCheckBox(i18n("&Wait for dial tone before dialing"), this); - waitfordt->setChecked(PPPData::data()->waitForDialTone()); + waitfordt->setChecked(_ifaceppp->data()->waitForDialTone()); connect(waitfordt, SIGNAL(toggled(bool)), SLOT(waitfordtchanged(bool))); l1->addWidget(waitfordt); QWhatsThis::add(waitfordt, i18n("<p>Normally the modem waits for a dial tone\n" @@ -292,9 +294,9 @@ ModemWidget2::ModemWidget2( QWidget *parent, const char *name) QHBoxLayout *waitLayout = new QHBoxLayout( this ); QLabel *waitLabel = new QLabel( tr("Busy wait:"), this, "busyWait" ); busywait = new QSpinBox( 0, 300, 5, this, "busyWait" ); -// busywait = new KIntNumInput(PPPData::data()->busyWait(), this); +// busywait = new KIntNumInput(_pppdata->busyWait(), this); // busywait->setLabel(i18n("B&usy wait:")); // busywait->setRange(0, 300, 5, true); busywait->setSuffix(i18n(" sec")); connect(busywait, SIGNAL(valueChanged(int)), SLOT(busywaitchanged(int))); @@ -317,9 +319,10 @@ ModemWidget2::ModemWidget2( QWidget *parent, const char *name) hbl->setSpacing(2);//KDialog::spacingHint()); QLabel *volumeLabel = new QLabel(i18n("Modem &volume:"), this); hbl->addWidget(volumeLabel); - volume = new QSlider(0, 2, 1, PPPData::data()->volume(), QSlider::Horizontal, this); + volume = new QSlider(0, 2, 1, _ifaceppp->data()->volume(), + QSlider::Horizontal, this); volumeLabel->setBuddy(volume); volume->setTickmarks(QSlider::Below); hbl->addWidget(volume); @@ -341,9 +344,9 @@ ModemWidget2::ModemWidget2( QWidget *parent, const char *name) l1->addSpacing(20); #if 0 chkbox1 = new QCheckBox(i18n("Modem asserts CD line"), this); - chkbox1->setChecked(PPPData::data()->UseCDLine()); + chkbox1->setChecked(_ifaceppp->data()->UseCDLine()); connect(chkbox1,SIGNAL(toggled(bool)), this,SLOT(use_cdline_toggled(bool))); l12->addWidget(chkbox1); l12->addStretch(1); @@ -398,16 +401,16 @@ ModemWidget2::ModemWidget2( QWidget *parent, const char *name) } void ModemWidget2::modemcmdsbutton() { - ModemCommands mc(this); + ModemCommands mc(_ifaceppp->data(), this); mc.showMaximized(); mc.exec(); } void ModemWidget2::query_modem() { - ModemTransfer mt(this); + ModemTransfer mt(_ifaceppp->modem(), this); mt.exec(); } @@ -418,21 +421,21 @@ void ModemWidget2::query_modem() { #if 0 void ModemWidget2::use_cdline_toggled(bool on) { - PPPData::data()->setUseCDLine(on); + _ifaceppp->data()->setUseCDLine(on); } #endif void ModemWidget2::waitfordtchanged(bool b) { - PPPData::data()->setWaitForDialTone((int)b); + _ifaceppp->data()->setWaitForDialTone((int)b); } void ModemWidget2::busywaitchanged(int n) { - PPPData::data()->setbusyWait(n); + _ifaceppp->data()->setbusyWait(n); } void ModemWidget2::volumeChanged(int v) { - PPPData::data()->setVolume(v); + _ifaceppp->data()->setVolume(v); } diff --git a/noncore/settings/networksettings/ppp/general.h b/noncore/settings/networksettings/ppp/general.h index 4869f6c..3e59b46 100644 --- a/noncore/settings/networksettings/ppp/general.h +++ b/noncore/settings/networksettings/ppp/general.h @@ -33,15 +33,15 @@ class QSpinBox; class QCombobox; class QLabel; class QCheckBox; class QComboBox; - - +class PPPData; +class InterfacePPP; class ModemWidget : public QWidget { Q_OBJECT public: - ModemWidget( QWidget *parent=0, const char *name=0 ); + ModemWidget( InterfacePPP*, QWidget *parent=0, const char *name=0 ); private slots: void setmodemdc(int); void setflowcontrol(int); @@ -63,15 +63,16 @@ private: QLabel *baud_label; QSpinBox *modemtimeout; QCheckBox *modemlockfile; + InterfacePPP *_ifaceppp; }; class ModemWidget2 : public QWidget { Q_OBJECT public: - ModemWidget2( QWidget *parent=0, const char *name=0 ); + ModemWidget2( InterfacePPP*, QWidget *parent=0, const char *name=0 ); private slots: void waitfordtchanged(bool); void busywaitchanged(int); @@ -90,8 +91,9 @@ private: QCheckBox *waitfordt; QSpinBox *busywait; QCheckBox *chkbox1; QSlider *volume; + InterfacePPP *_ifaceppp; }; #endif diff --git a/noncore/settings/networksettings/ppp/interfaceinformationppp.cpp b/noncore/settings/networksettings/ppp/interfaceinformationppp.cpp new file mode 100644 index 0000000..a58858c --- a/dev/null +++ b/noncore/settings/networksettings/ppp/interfaceinformationppp.cpp @@ -0,0 +1,24 @@ +#include "interfaceinformationppp.h" + + +#include <qpushbutton.h> +#include <qlabel.h> +//#include <qgroupbox.h> +#include <qmessagebox.h> + +#ifdef QWS +#else + #define showMaximized show +#endif + +/** + * Constructor for the InterfaceInformationImp class. This class pretty much + * just display's information about the interface that is passed to it. + */ +InterfaceInformationPPP::InterfaceInformationPPP(QWidget *parent, const char *name, Interface *i, WFlags f) + :InterfaceInformationImp(parent, name, i, f) +{ +} + + + diff --git a/noncore/settings/networksettings/ppp/interfaceinformationppp.h b/noncore/settings/networksettings/ppp/interfaceinformationppp.h new file mode 100644 index 0000000..8c6fc0b --- a/dev/null +++ b/noncore/settings/networksettings/ppp/interfaceinformationppp.h @@ -0,0 +1,25 @@ +#ifndef INTERFACEINFORMATIONPPP_H +#define INTERFACEINFORMATIONPPP_H + +#include "interfaceinformationimp.h" +//#include "interface.h" + +class QWidget; +class Interface; + +class InterfaceInformationPPP : public InterfaceInformationImp { + +Q_OBJECT + +public: + + InterfaceInformationPPP(QWidget *parent=0, const char *name=0, Interface *i=0, WFlags f=0); + ~InterfaceInformationPPP(){}; + + +}; + +#endif + +// addserviceimp.h + diff --git a/noncore/settings/networksettings/ppp/interfaceppp.cpp b/noncore/settings/networksettings/ppp/interfaceppp.cpp new file mode 100644 index 0000000..d9ee3ff --- a/dev/null +++ b/noncore/settings/networksettings/ppp/interfaceppp.cpp @@ -0,0 +1,48 @@ +#include "interfaceppp.h" +#include "modem.h" +#include "pppdata.h" + +InterfacePPP::InterfacePPP(QObject *parent, const char *name, bool status) + : Interface(parent, name, status), + _modem(0), + _pppdata(0) +{ + qDebug("InterfacePPP::InterfacePPP("); +} + +PPPData* InterfacePPP::data() +{ + if (!_pppdata){ + _pppdata = new PPPData(); + _pppdata->setModemDevice( getInterfaceName() ); + _pppdata->setAccount( getHardwareName() ); + } + return _pppdata; +} + +Modem* InterfacePPP::modem() +{ + if (!_modem){ + _modem = new Modem( data() ); + } + return _modem; +} + +bool InterfacePPP::refresh() +{ + qDebug("InterfacePPP::refresh()"); + return false; +} + +void InterfacePPP::start() +{ + qDebug("InterfacePPP::start"); + +} + +void InterfacePPP::stop() +{ + qDebug("InterfacePPP::stop"); + +} + diff --git a/noncore/settings/networksettings/ppp/interfaceppp.h b/noncore/settings/networksettings/ppp/interfaceppp.h new file mode 100644 index 0000000..b7477c9 --- a/dev/null +++ b/noncore/settings/networksettings/ppp/interfaceppp.h @@ -0,0 +1,30 @@ +#ifndef INTERFACEPPP_H +#define INTERFACEPPP_H + +#include "interface.h" + +class PPPData; +class Modem; + +class InterfacePPP : public Interface +{ + Q_OBJECT + +public: + InterfacePPP(QObject *parent=0, const char *name="PPP", bool status=false); + + PPPData* data(); + Modem* modem(); + +public slots: + virtual bool refresh(); + virtual void start(); + virtual void stop(); + + private: + Modem *_modem; + PPPData *_pppdata; +}; + + +#endif diff --git a/noncore/settings/networksettings/ppp/kpppwidget.cpp b/noncore/settings/networksettings/ppp/kpppwidget.cpp index f8a8dc3..289e9f5 100644 --- a/noncore/settings/networksettings/ppp/kpppwidget.cpp +++ b/noncore/settings/networksettings/ppp/kpppwidget.cpp @@ -36,8 +36,9 @@ #include <qregexp.h> #include <qtabwidget.h> #include <qdialog.h> #include <qwhatsthis.h> +#include <qcheckbox.h> // #include <kaboutdata.h> // #include <kapplication.h> #include <qbuttongroup.h> @@ -69,131 +70,139 @@ //#include "requester.h" //#include "pppstats.h" #include "pppdata.h" #include "general.h" +#include "interface.h" #define execute_command system KPPPWidget *p_kppp = 0; -KPPPWidget::KPPPWidget( QWidget *parent, const char *name, bool modal, WFlags fl ) - : QDialog(parent, name, modal, fl) -// , acct(0) -// , m_bCmdlAccount (false) +KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *name, bool modal, WFlags fl ) + : QDialog(parent, name, modal, fl), _pppdata(pd) { // tabWindow = 0; p_kppp = this; // before doing anything else, run a few tests + if (!_pppdata->setModemDevice( i->getInterfaceName() )) + _pppdata->setModemDevice("/dev/modem"); + qDebug("PPPConfigWidget::PPPConfigWidget"); + qDebug(" interface->getHardwareName >%s<", i->getHardwareName().latin1()); + if (!_pppdata->setAccount( i->getHardwareName() )) + _pppdata->setAccount( 0 ); + + qDebug(" _pppdata->accname >%s<",_pppdata->accname().latin1()); + qDebug(" _pppdata->currentAccountID() >%i<",_pppdata->currentAccountID()); int result = runTests(); if(result == TEST_CRITICAL) exit(4); // installEventFilter(this); -// QVBoxLayout *tl = new QVBoxLayout(this, 10, 10); - -// QGridLayout *l1 = new QGridLayout(3, 4); -// tl->addLayout(l1); -// l1->addColSpacing(0, 10); -// l1->addColSpacing(3, 10); -// l1->setColStretch(1, 3); -// l1->setColStretch(2, 4); - -// label1 = new QLabel(i18n("C&onnect to: "), this); -// l1->addWidget(label1, 0, 1); - -// connectto_c = new QComboBox(false, this); -// label1->setBuddy(connectto_c); - -// connect(connectto_c, SIGNAL(activated(int)), -// SLOT(newdefaultaccount(int))); -// l1->addWidget(connectto_c, 0, 2); - -// ID_Label = new QLabel(i18n("&Login ID:"), this); -// l1->addWidget(ID_Label, 1, 1); - -// // the entry line for usernames -// ID_Edit = new QLineEdit(this); -// ID_Label->setBuddy(ID_Edit); -// l1->addWidget(ID_Edit, 1, 2); -// connect(ID_Edit, SIGNAL(returnPressed()), -// this, SLOT(enterPressedInID())); -// QString tmp = i18n("<p>Type in the username that you got from your\n" -// "ISP. This is especially important for PAP\n" -// "and CHAP. You may omit this when you use\n" -// "terminal-based or script-based authentication.\n" -// "\n" -// "<b>Important</b>: case is important here:\n" -// "<i>myusername</i> is not the same as <i>MyUserName</i>!"); - -// QWhatsThis::add(ID_Label,tmp); -// QWhatsThis::add(ID_Edit,tmp); - -// PW_Label = new QLabel(i18n("&Password:"), this); -// l1->addWidget(PW_Label, 2, 1); - -// PW_Edit= new QLineEdit(this); -// PW_Label->setBuddy(PW_Edit); -// PW_Edit->setEchoMode(QLineEdit::Password); -// l1->addWidget(PW_Edit, 2, 2); -// connect(PW_Edit, SIGNAL(returnPressed()), -// this, SLOT(enterPressedInPW())); - -// tmp = i18n("<p>Type in the password that you got from your\n" -// "ISP. This is especially important for PAP\n" -// "and CHAP. You may omit this when you use\n" -// "terminal-based or script-based authentication.\n" -// "\n" -// "<b>Important</b>: case is important here:\n" -// "<i>mypassword</i> is not the same as <i>MyPassword</i>!"); - -// QWhatsThis::add(PW_Label,tmp); -// QWhatsThis::add(PW_Edit,tmp); - -// QHBoxLayout *l3 = new QHBoxLayout; -// tl->addSpacing(5); -// tl->addLayout(l3); -// tl->addSpacing(5); -// l3->addSpacing(10); -// log = new QCheckBox(i18n("Show lo&g window"), this); -// connect(log, SIGNAL(toggled(bool)), -// this, SLOT(log_window_toggled(bool))); -// log->setChecked(PPPData::data()->get_show_log_window()); -// l3->addWidget(log); - -// QWhatsThis::add(log, -// i18n("<p>This controls whether a log window is shown.\n" -// "A log window shows the communication between\n" -// "<i>kppp</i> and your modem. This will help you\n" -// "in tracking down problems.\n" -// "\n" -// "Turn it off if <i>kppp</i> routinely connects without\n" -// "problems")); - -// // fline = new QSeparator( KSeparator::HLine, this); -// // tl->addWidget(fline); - -// QHBoxLayout *l2 = new QHBoxLayout(this); -// tl->addLayout(l2); - -// int minw = 0; -// quit_b = new QPushButton(i18n("&Quit"), this); -// // quit_b-> setGuiItem (KGuiItem(i18n("&Quit"), "exit" ) ); -// connect( quit_b, SIGNAL(clicked()), SLOT(quitbutton())); -// if(quit_b->sizeHint().width() > minw) -// minw = quit_b->sizeHint().width(); - -// setup_b = new QPushButton(i18n("&Setup..."), this); -// // setup_b->setGuiItem (KGuiItem(i18n("&Setup...")) ); -// connect( setup_b, SIGNAL(clicked()), SLOT(expandbutton())); -// if(setup_b->sizeHint().width() > minw) -// minw = setup_b->sizeHint().width(); - - - -// if(PPPData::data()->access() != KConfig::ReadWrite) -// setup_b->setEnabled(false); + QVBoxLayout *tl = new QVBoxLayout(this, 10, 10); + + QGridLayout *l1 = new QGridLayout(3, 4); + tl->addLayout(l1); + l1->addColSpacing(0, 10); + l1->addColSpacing(3, 10); + l1->setColStretch(1, 3); + l1->setColStretch(2, 4); + + label1 = new QLabel(i18n("C&onnect to: "), this); + l1->addWidget(label1, 0, 1); + + connectto_c = new QComboBox(false, this); + label1->setBuddy(connectto_c); + + connect(connectto_c, SIGNAL(activated(int)), + SLOT(newdefaultaccount(int))); + l1->addWidget(connectto_c, 0, 2); + + ID_Label = new QLabel(i18n("&Login ID:"), this); + l1->addWidget(ID_Label, 1, 1); + + // the entry line for usernames + ID_Edit = new QLineEdit(this); + ID_Label->setBuddy(ID_Edit); + l1->addWidget(ID_Edit, 1, 2); + connect(ID_Edit, SIGNAL(returnPressed()), + this, SLOT(enterPressedInID())); + QString tmp = i18n("<p>Type in the username that you got from your\n" + "ISP. This is especially important for PAP\n" + "and CHAP. You may omit this when you use\n" + "terminal-based or script-based authentication.\n" + "\n" + "<b>Important</b>: case is important here:\n" + "<i>myusername</i> is not the same as <i>MyUserName</i>!"); + + QWhatsThis::add(ID_Label,tmp); + QWhatsThis::add(ID_Edit,tmp); + + PW_Label = new QLabel(i18n("&Password:"), this); + l1->addWidget(PW_Label, 2, 1); + + PW_Edit= new QLineEdit(this); + PW_Label->setBuddy(PW_Edit); + PW_Edit->setEchoMode(QLineEdit::Password); + l1->addWidget(PW_Edit, 2, 2); + connect(PW_Edit, SIGNAL(returnPressed()), + this, SLOT(enterPressedInPW())); + + tmp = i18n("<p>Type in the password that you got from your\n" + "ISP. This is especially important for PAP\n" + "and CHAP. You may omit this when you use\n" + "terminal-based or script-based authentication.\n" + "\n" + "<b>Important</b>: case is important here:\n" + "<i>mypassword</i> is not the same as <i>MyPassword</i>!"); + + QWhatsThis::add(PW_Label,tmp); + QWhatsThis::add(PW_Edit,tmp); + + QHBoxLayout *l3 = new QHBoxLayout; + tl->addSpacing(5); + tl->addLayout(l3); + tl->addSpacing(5); + l3->addSpacing(10); + log = new QCheckBox(i18n("Show lo&g window"), this); + connect(log, SIGNAL(toggled(bool)), + this, SLOT(log_window_toggled(bool))); + log->setChecked(_pppdata->get_show_log_window()); + l3->addWidget(log); + + QWhatsThis::add(log, + i18n("<p>This controls whether a log window is shown.\n" + "A log window shows the communication between\n" + "<i>kppp</i> and your modem. This will help you\n" + "in tracking down problems.\n" + "\n" + "Turn it off if <i>kppp</i> routinely connects without\n" + "problems")); + +// fline = new QSeparator( KSeparator::HLine, this); +// tl->addWidget(fline); + + QHBoxLayout *l2 = new QHBoxLayout(this); + tl->addLayout(l2); + + int minw = 0; + quit_b = new QPushButton(i18n("&Quit"), this); + // quit_b-> setGuiItem (KGuiItem(i18n("&Quit"), "exit" ) ); + connect( quit_b, SIGNAL(clicked()), SLOT(quitbutton())); + if(quit_b->sizeHint().width() > minw) + minw = quit_b->sizeHint().width(); + + setup_b = new QPushButton(i18n("&Setup..."), this); +// setup_b->setGuiItem (KGuiItem(i18n("&Setup...")) ); + connect( setup_b, SIGNAL(clicked()), SLOT(expandbutton())); + if(setup_b->sizeHint().width() > minw) + minw = setup_b->sizeHint().width(); + + + +// if(_pppdata->access() != KConfig::ReadWrite) + // setup_b->setEnabled(false); // help_b = new QPushButton(i18n("&Help"), this); // connect( help_b, SIGNAL(clicked()), SLOT(helpbutton())); @@ -203,29 +212,29 @@ KPPPWidget::KPPPWidget( QWidget *parent, const char *name, bool modal, WFlags fl // if(help_b->sizeHint().width() > minw) // minw = help_b->sizeHint().width(); -// connect_b = new QPushButton(i18n("&Connect"), this); -// connect_b->setDefault(true); -// connect_b->setFocus(); -// connect(connect_b, SIGNAL(clicked()), SLOT(beginConnect())); -// if(connect_b->sizeHint().width() > minw) -// minw = connect_b->sizeHint().width(); + connect_b = new QPushButton(i18n("&Connect"), this); + connect_b->setDefault(true); + connect_b->setFocus(); + connect(connect_b, SIGNAL(clicked()), SLOT(beginConnect())); + if(connect_b->sizeHint().width() > minw) + minw = connect_b->sizeHint().width(); -// quit_b->setFixedWidth(minw); -// setup_b->setFixedWidth(minw); -// // help_b->setFixedWidth(help_b->sizeHint().width()); -// connect_b->setFixedWidth(minw); + quit_b->setFixedWidth(minw); + setup_b->setFixedWidth(minw); +// help_b->setFixedWidth(help_b->sizeHint().width()); + connect_b->setFixedWidth(minw); -// l2->addWidget(quit_b); -// l2->addWidget(setup_b); -// // l2->addWidget(help_b); -// l2->addSpacing(20); -// l2->addWidget(connect_b); + l2->addWidget(quit_b); + l2->addWidget(setup_b); +// l2->addWidget(help_b); + l2->addSpacing(20); + l2->addWidget(connect_b); setFixedSize(sizeHint()); - (void)new Modem; + (void)new Modem(_pppdata); // we also connect cmld_start to the beginConnect so that I can run // the dialer through a command line argument connect(this,SIGNAL(cmdl_start()),this,SLOT(beginConnect())); @@ -234,34 +243,34 @@ KPPPWidget::KPPPWidget( QWidget *parent, const char *name, bool modal, WFlags fl // KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon()); // constructor of con_win reads position from config file -// con_win = new ConWindow(0, "conw", this); + con_win = new ConWindow(_pppdata, 0, "conw", this); // KWin::setIcons(con_win->winId(), kapp->icon(), kapp->miniIcon()); // statdlg = new PPPStatsDlg(0, "stats", this, stats); // statdlg->hide(); // load up the accounts combo box // resetaccounts(); -// con = new ConnectWidget(0, "con"); + con = new ConnectWidget(_pppdata, 0, "con"); //KWin::setIcons(con->winId(), kapp->icon(), kapp->miniIcon() ); -// connect(this, SIGNAL(begin_connect()),con, SLOT(preinit())); + connect(this, SIGNAL(begin_connect()),con, SLOT(preinit())); // Is this the best we can do here? it's not right. // QRect desk = QApplication::desktop()->screenGeometry( // QApplication::desktop()->screenNumber(topLevelWidget())); // con->setGeometry(desk.center().x()-175, desk.center().y()-55, 350,110); // connect the ConnectWidgets various signals -// // connect(con, SIGNAL(startAccounting()), -// // this, SLOT(startAccounting())); -// // connect(con, SIGNAL(stopAccounting()), -// // this, SLOT(stopAccounting())); -// connect(qApp, SIGNAL(saveYourself()), -// this, SLOT(saveMyself())); -// connect(qApp, SIGNAL(shutDown()), -// this, SLOT(shutDown())); + connect(con, SIGNAL(startAccounting()), + this, SLOT(startAccounting())); + connect(con, SIGNAL(stopAccounting()), + this, SLOT(stopAccounting())); + connect(qApp, SIGNAL(saveYourself()), + this, SLOT(saveMyself())); + connect(qApp, SIGNAL(shutDown()), + this, SLOT(shutDown())); // KCmdLineArgs *args = KCmdLineArgs::parsedArgs(); @@ -273,9 +282,9 @@ KPPPWidget::KPPPWidget( QWidget *parent, const char *name, bool modal, WFlags fl // kdDebug(5002) << "cmdl_account: " << m_bCmdlAccount << endl; // } // if(m_bCmdlAccount){ -// bool result = PPPData::data()->setAccount(m_strCmdlAccount); +// bool result = _pppdata->setAccount(m_strCmdlAccount); // if (!result){ // QString string; // string = i18n("No such Account:\n%1").arg(m_strCmdlAccount); // KMessageBox::error(this, string); @@ -345,27 +354,27 @@ void KPPPWidget::enterPressedInPW() { } // triggered by the session manager void KPPPWidget::saveMyself() { - PPPData::data()->save(); + _pppdata->save(); } void KPPPWidget::shutDown() { interruptConnection(); saveMyself(); } void KPPPWidget::log_window_toggled(bool on) { - PPPData::data()->set_show_log_window(on); + _pppdata->set_show_log_window(on); } // void KPPPWidget::resetaccounts() { // connectto_c->clear(); -// int count = PPPData::data()->count(); +// int count = _pppdata->count(); // // enable/disable controls // connectto_c->setEnabled(count > 0); // connect_b->setEnabled(count > 0); @@ -374,29 +383,29 @@ void KPPPWidget::log_window_toggled(bool on) { // PW_Edit->setEnabled(count > 0); // //load the accounts // for(int i=0; i < count; i++) { -// PPPData::data()->setAccountbyIndex(i); -// connectto_c->insertItem(PPPData::data()->accname()); +// _pppdata->setAccountbyIndex(i); +// connectto_c->insertItem(_pppdata->accname()); // } // //set the default account -// if(!PPPData::data()->defaultAccount().isEmpty()) { +// if(!_pppdata->defaultAccount().isEmpty()) { // for(int i=0; i < count; i++) -// if(PPPData::data()->defaultAccount() == connectto_c->text(i)) { +// if(_pppdata->defaultAccount() == connectto_c->text(i)) { // connectto_c->setCurrentItem(i); -// PPPData::data()->setAccountbyIndex(i); +// _pppdata->setAccountbyIndex(i); -// ID_Edit->setText(PPPData::data()->storedUsername()); -// PW_Edit->setText(PPPData::data()->storedPassword()); +// ID_Edit->setText(_pppdata->storedUsername()); +// PW_Edit->setText(_pppdata->storedPassword()); // } // } // else // if(count > 0) { -// PPPData::data()->setDefaultAccount(connectto_c->text(0)); -// PPPData::data()->save(); -// ID_Edit->setText(PPPData::data()->storedUsername()); -// PW_Edit->setText(PPPData::data()->storedPassword()); +// _pppdata->setDefaultAccount(connectto_c->text(0)); +// _pppdata->save(); +// ID_Edit->setText(_pppdata->storedUsername()); +// PW_Edit->setText(_pppdata->storedPassword()); // } // connect(ID_Edit, SIGNAL(textChanged(const QString &)), // this, SLOT(usernameChanged(const QString &))); @@ -412,13 +421,15 @@ void KPPPWidget::log_window_toggled(bool on) { void KPPPWidget::interruptConnection() { // interrupt dial up -// if (con->isVisible()) -// emit con->cancelbutton(); +// + + if (con->isVisible()) + emit con->cancelbutton(); // disconnect if online - if (PPPData::data()->pppdRunning()) + if (_pppdata->pppdRunning()) emit disconnect(); } @@ -427,9 +438,9 @@ void KPPPWidget::sigPPPDDied() { // if we are not connected pppdpid is -1 so have have to check for that // in the followin line to make sure that we don't raise a false alarm // such as would be the case when the log file viewer exits. - if(PPPData::data()->pppdRunning() || PPPData::data()->pppdError()) { + if(_pppdata->pppdRunning() || _pppdata->pppdError()) { qDebug( "It was pppd that died" ); // when we killpppd() on Cancel in ConnectWidget // we set pppid to -1 so we won't @@ -439,38 +450,39 @@ void KPPPWidget::sigPPPDDied() { Modem::modem->removeSecret(AUTH_PAP); Modem::modem->removeSecret(AUTH_CHAP); - PPPData::data()->setpppdRunning(false); + _pppdata->setpppdRunning(false); qDebug( "Executing command on disconnect since pppd has died." ); QApplication::flushX(); - execute_command(PPPData::data()->command_on_disconnect()); + execute_command(_pppdata->command_on_disconnect()); // stopAccounting(); -// con_win->stopClock(); + con_win->stopClock(); // DockWidget::dock_widget->stop_stats(); // DockWidget::dock_widget->hide(); - if(!PPPData::data()->pppdError()) - PPPData::data()->setpppdError(E_PPPD_DIED); + if(!_pppdata->pppdError()) + _pppdata->setpppdError(E_PPPD_DIED); removedns(); Modem::modem->unlockdevice(); - // con->pppdDied(); + // + con->pppdDied(); - if(!PPPData::data()->automatic_redial()) { + if(!_pppdata->automatic_redial()) { quit_b->setFocus(); show(); -// con_win->stopClock(); + con_win->stopClock(); // stopAccounting(); -// con_win->hide(); -// con->hide(); + con_win->hide(); + con->hide(); - PPPData::data()->setpppdRunning(false); + _pppdata->setpppdRunning(false); // // not in a signal handler !!! KNotifyClient::beep(); QString msg; - if (PPPData::data()->pppdError() == E_IF_TIMEOUT) + if (_pppdata->pppdError() == E_IF_TIMEOUT) msg = i18n("Timeout expired while waiting for the PPP interface " "to come up!"); else { msg = i18n("<p>The pppd daemon died unexpectedly!</p>"); @@ -489,24 +501,24 @@ void KPPPWidget::sigPPPDDied() { // } else { /* reconnect on disconnect */ if (false){ qDebug( "Trying to reconnect... " ); - if(PPPData::data()->authMethod() == AUTH_PAP || - PPPData::data()->authMethod() == AUTH_CHAP || - PPPData::data()->authMethod() == AUTH_PAPCHAP) - Modem::modem->setSecret(PPPData::data()->authMethod(), - encodeWord(PPPData::data()->storedUsername()), - encodeWord(PPPData::data()->password())); + if(_pppdata->authMethod() == AUTH_PAP || + _pppdata->authMethod() == AUTH_CHAP || + _pppdata->authMethod() == AUTH_PAPCHAP) + Modem::modem->setSecret(_pppdata->authMethod(), + encodeWord(_pppdata->storedUsername()), + encodeWord(_pppdata->password())); -// con_win->hide(); - // con_win->stopClock(); + con_win->hide(); + con_win->stopClock(); // stopAccounting(); - PPPData::data()->setpppdRunning(false); + _pppdata->setpppdRunning(false); // not in a signal handler !!! KNotifyClient::beep(); emit cmdl_start(); } } - PPPData::data()->setpppdError(0); + _pppdata->setpppdError(0); } } // void KPPPWidget::sigChld() { @@ -525,12 +537,12 @@ void KPPPWidget::sigPPPDDied() { // } void KPPPWidget::newdefaultaccount(int i) { - PPPData::data()->setDefaultAccount(connectto_c->text(i)); - PPPData::data()->save(); - ID_Edit->setText(PPPData::data()->storedUsername()); - PW_Edit->setText(PPPData::data()->storedPassword()); + _pppdata->setDefaultAccount(connectto_c->text(i)); + _pppdata->save(); + ID_Edit->setText(_pppdata->storedUsername()); + PW_Edit->setText(_pppdata->storedPassword()); } @@ -538,12 +550,12 @@ void KPPPWidget::newdefaultaccount(int i) { void KPPPWidget::beginConnect() { // make sure to connect to the account that is selected in the combo box // (exeption: an account given by a command line argument) // if(!m_bCmdlAccount) { -// PPPData::data()->setAccount(connectto_c->currentText()); -// PPPData::data()->setPassword(PW_Edit->text()); +// _pppdata->setAccount(connectto_c->currentText()); +// _pppdata->setPassword(PW_Edit->text()); // } else { - PPPData::data()->setPassword(PPPData::data()->storedPassword()); + _pppdata->setPassword(_pppdata->storedPassword()); // } QFileInfo info(pppdPath()); @@ -559,44 +571,41 @@ void KPPPWidget::beginConnect() { QString string; string = i18n("kppp cannot execute:\n %1\n" "Please make sure that you have given kppp " "setuid permission and that " - "pppd is executable.").arg(PPPData::data()->pppdPath()); + "pppd is executable.").arg(_pppdata->pppdPath()); KMessageBox::error(this, string); return; } #endif - QFileInfo info2(PPPData::data()->modemDevice()); + QFileInfo info2(_pppdata->modemDevice()); if(!info2.exists()){ QString string; string = i18n("kppp can not find:\n %1\nPlease make sure you have setup " "your modem device properly " "and/or adjust the location of the modem device on " "the modem tab of " - "the setup dialog.").arg(PPPData::data()->modemDevice()); + "the setup dialog.").arg(_pppdata->modemDevice()); QMessageBox::warning(this, "error", string); return; } // if this is a PAP or CHAP account, ensure that username is // supplied - if(PPPData::data()->authMethod() == AUTH_PAP || - PPPData::data()->authMethod() == AUTH_CHAP || - PPPData::data()->authMethod() == AUTH_PAPCHAP ) { + if(_pppdata->authMethod() == AUTH_PAP || + _pppdata->authMethod() == AUTH_CHAP || + _pppdata->authMethod() == AUTH_PAPCHAP ) { if(ID_Edit->text().isEmpty()) { QMessageBox::warning(this,"error", - i18n( - "You have selected the authentication " - "method PAP or CHAP. This requires that you " - "supply a username and a password!")); - return; + i18n("You have selected the authentication method PAP or CHAP. This requires that you supply a username and a password!")); +// FIXME: return; } else { - if(!Modem::modem->setSecret(PPPData::data()->authMethod(), - encodeWord(PPPData::data()->storedUsername()), - encodeWord(PPPData::data()->password()))) { + if(!Modem::modem->setSecret(_pppdata->authMethod(), + encodeWord(_pppdata->storedUsername()), + encodeWord(_pppdata->password()))) { QString s; s = i18n("Cannot create PAP/CHAP authentication\n" "file \"%1\"").arg(PAP_AUTH_FILE); QMessageBox::warning(this, "error", s); @@ -604,17 +613,17 @@ void KPPPWidget::beginConnect() { } } } - if (PPPData::data()->phonenumber().isEmpty()) { + if (_pppdata->phonenumber().isEmpty()) { QString s = i18n("You must specify a telephone number!"); QMessageBox::warning(this, "error", s); return; } this->hide(); - QString tit = i18n("Connecting to: %1").arg(PPPData::data()->accname()); + QString tit = i18n("Connecting to: %1").arg(_pppdata->accname()); // con->setCaption(tit); // con->show(); @@ -623,46 +632,46 @@ void KPPPWidget::beginConnect() { } void KPPPWidget::disconnect() { - if (!PPPData::data()->command_before_disconnect().isEmpty()) { -// con_win->hide(); -// con->show(); -// con->setCaption(i18n("Disconnecting...")); -// con->setMsg(i18n("Executing command before disconnection.")); + if (!_pppdata->command_before_disconnect().isEmpty()) { + con_win->hide(); + con->show(); + con->setCaption(i18n("Disconnecting...")); + con->setMsg(i18n("Executing command before disconnection.")); qApp->processEvents(); QApplication::flushX(); // pid_t id = - execute_command(PPPData::data()->command_before_disconnect()); + execute_command(_pppdata->command_before_disconnect()); // int i, status; // do { // kapp->processEvents(); // i = waitpid(id, &status, WNOHANG); // usleep(500000); // } while (i == 0 && errno == 0); -// con->hide(); + con->hide(); } qApp->processEvents(); // statdlg->stop_stats(); Modem::modem->killPPPDaemon(); QApplication::flushX(); - execute_command(PPPData::data()->command_on_disconnect()); + execute_command(_pppdata->command_on_disconnect()); Modem::modem->removeSecret(AUTH_PAP); Modem::modem->removeSecret(AUTH_CHAP); removedns(); Modem::modem->unlockdevice(); -// con_win->stopClock(); + con_win->stopClock(); // p_kppp->stopAccounting(); -// con_win->hide(); + con_win->hide(); // DockWidget::dock_widget->stop_stats(); // DockWidget::dock_widget->hide(); @@ -680,24 +689,24 @@ void KPPPWidget::disconnect() { // } void KPPPWidget::quitbutton() { - if(PPPData::data()->pppdRunning()) { + if(_pppdata->pppdRunning()) { int ok = QMessageBox::warning(this, i18n("Exiting kPPP will close your PPP Session."), i18n("Quit kPPP?")); if(ok == QMessageBox::Yes) { Modem::modem->killPPPDaemon(); QApplication::flushX(); - execute_command(PPPData::data()->command_on_disconnect()); + execute_command(_pppdata->command_on_disconnect()); removedns(); Modem::modem->unlockdevice(); } } else { - if (!PPPData::data()->accname().isEmpty() && !PPPData::data()->storePassword()) - PPPData::data()->setStoredPassword(""); + if (!_pppdata->accname().isEmpty() && !_pppdata->storePassword()) + _pppdata->setStoredPassword(""); } - PPPData::data()->save(); + _pppdata->save(); qApp->quit(); } @@ -709,15 +718,15 @@ void KPPPWidget::quitbutton() { // void KPPPWidget::startAccounting() { // // volume accounting // stats->totalbytes = 0; -// kdDebug() << "AcctEnabled: " << PPPData::data()->AcctEnabled() << endl; +// kdDebug() << "AcctEnabled: " << _pppdata->AcctEnabled() << endl; // // load the ruleset -// if(!PPPData::data()->AcctEnabled()) +// if(!_pppdata->AcctEnabled()) // return; -// QString d = AccountingBase::getAccountingFile(PPPData::data()->accountingFile()); +// QString d = AccountingBase::getAccountingFile(_pppdata->accountingFile()); // // if(::access(d.data(), X_OK) != 0) // acct = new Accounting(this, stats); // // else // // acct = new ExecutableAccounting(this); @@ -725,11 +734,11 @@ void KPPPWidget::quitbutton() { // // connect to the accounting object // connect(acct, SIGNAL(changed(QString, QString)), // con_win, SLOT(slotAccounting(QString, QString))); -// // if(!acct->loadRuleSet(PPPData::data()->accountingFile())) { +// // if(!acct->loadRuleSet(_pppdata->accountingFile())) { // // QString s= i18n("Can not load the accounting " -// // "ruleset \"%1\"!").arg(PPPData::data()->accountingFile()); +// // "ruleset \"%1\"!").arg(_pppdata->accountingFile()); // // starting the messagebox with a timer will prevent us // // from blocking the calling function ConnectWidget::timerEvent // ruleset_load_errmsg = s; @@ -742,11 +751,11 @@ void KPPPWidget::quitbutton() { // void KPPPWidget::stopAccounting() { // // store volume accounting // // if(stats->totalbytes != 0) -// // PPPData::data()->setTotalBytes(stats->totalbytes); +// // _pppdata->setTotalBytes(stats->totalbytes); -// if(!PPPData::data()->AcctEnabled()) +// if(!_pppdata->AcctEnabled()) // return; // // if(acct != 0) { // // acct->slotStop(); @@ -765,18 +774,18 @@ void KPPPWidget::quitbutton() { void KPPPWidget::usernameChanged(const QString &) { // store username for later use - PPPData::data()->setStoredUsername(ID_Edit->text()); + _pppdata->setStoredUsername(ID_Edit->text()); } void KPPPWidget::passwordChanged(const QString &) { // store the password if so requested - if(PPPData::data()->storePassword()) - PPPData::data()->setStoredPassword(PW_Edit->text()); + if(_pppdata->storePassword()) + _pppdata->setStoredPassword(PW_Edit->text()); else - PPPData::data()->setStoredPassword(""); + _pppdata->setStoredPassword(""); } void KPPPWidget::setPW_Edit(const QString &pw) { @@ -814,9 +823,9 @@ void KPPPWidget::showNews() { /* * Introduce the QuickHelp feature to new users of this version */ #define QUICKHELP_HINT "Hint_QuickHelp" - if(PPPData::data()->readNumConfig(GENERAL_GRP, QUICKHELP_HINT, 0) == 0) { + if(_pppdata->readNumConfig(GENERAL_GRP, QUICKHELP_HINT, 0) == 0) { QDialog dlg(0, 0, true); dlg.setCaption(i18n("Recent Changes in KPPP")); QVBoxLayout *tl = new QVBoxLayout(&dlg, 10, 10); @@ -866,10 +875,10 @@ void KPPPWidget::showNews() { QWhatsThis::add(l, tmp); dlg.exec(); if(cb->isChecked()) { - PPPData::data()->writeConfig(GENERAL_GRP, QUICKHELP_HINT, 1); - PPPData::data()->save(); + _pppdata->writeConfig(GENERAL_GRP, QUICKHELP_HINT, 1); + _pppdata->save(); } } #endif } diff --git a/noncore/settings/networksettings/ppp/kpppwidget.h b/noncore/settings/networksettings/ppp/kpppwidget.h index d7e74af..b958862 100644 --- a/noncore/settings/networksettings/ppp/kpppwidget.h +++ b/noncore/settings/networksettings/ppp/kpppwidget.h @@ -33,15 +33,16 @@ #include "accounts.h" #include "connect.h" class QPushButton; - +class Interface; +class PPPData; class KPPPWidget : public QDialog { Q_OBJECT public: - KPPPWidget( QWidget *parent=0, const char *name=0, bool modal = false, WFlags fl = 0 ); + KPPPWidget(PPPData*, Interface*, QWidget *parent=0, const char *name=0, bool modal = false, WFlags fl = 0 ); ~KPPPWidget(); void setPW_Edit(const QString &); @@ -69,10 +70,10 @@ signals: public: QCheckBox *log; bool connected; QString con_speed; - // ConnectWidget *con; - // ConWindow *con_win; + ConnectWidget *con; + ConWindow *con_win; // PPPStatsDlg *statdlg; // AccountingBase *acct; QPushButton *quit_b; //PPPStats *stats; @@ -85,9 +86,9 @@ private: QString encodeWord(const QString &s); void showNews (); QString ruleset_load_errmsg; - + PPPData *_pppdata; QPushButton *setup_b; QFrame *fline; QFrame *fline1; QPushButton *connect_b; diff --git a/noncore/settings/networksettings/ppp/modem.cpp b/noncore/settings/networksettings/ppp/modem.cpp index 5139482..002c8e7 100644 --- a/noncore/settings/networksettings/ppp/modem.cpp +++ b/noncore/settings/networksettings/ppp/modem.cpp @@ -61,9 +61,9 @@ static sigjmp_buf jmp_buffer; -Modem *Modem::modem = 0; +//Modem *Modem::modem = 0; const char* pppdPath() { // wasting a few bytes @@ -90,33 +90,32 @@ const char* pppdPath() { return pppdPath; } -Modem::Modem() +Modem::Modem( PPPData* pd ) { - if (Modem::modem != 0) return; //CORRECT? + _pppdata = pd; modemfd = -1; _pppdExitStatus = -1; pppdPid = -1; sn = 0L; data_mode = false; modem_is_locked = false; lockfile[0] = '\0'; device = "/dev/modem"; - modem = this; } -Modem::~Modem() { - modem = 0; +Modem::~Modem() +{ } speed_t Modem::modemspeed() { // convert the string modem speed int the gpppdata object to a t_speed type // to set the modem. The constants here should all be ifdef'd because // other systems may not have them - int i = PPPData::data()->speed().toInt()/100; + int i = _pppdata->speed().toInt()/100; switch(i) { case 24: return B2400; @@ -164,9 +163,9 @@ bool Modem::opentty() { // int flags; //begin if((modemfd = Requester::rq->openModem(gpppdata.modemDevice()))<0) { close(modemfd); - device = PPPData::data()->modemDevice(); + device = _pppdata->modemDevice(); if ((modemfd = open(device, O_RDWR|O_NDELAY|O_NOCTTY)) == -1) { qDebug("error opening modem device !"); errmsg = i18n("Unable to open modem."); return false; @@ -174,9 +173,9 @@ bool Modem::opentty() { //bend if((modemfd = Requester::rq->openModem(gpppdata.modemDevice()))<0) { //} #if 0 - if(PPPData::data()->UseCDLine()) { + if(_pppdata->UseCDLine()) { if(ioctl(modemfd, TIOCMGET, &flags) == -1) { errmsg = i18n("Unable to detect state of CD line."); ::close(modemfd); modemfd = -1; @@ -222,10 +221,10 @@ bool Modem::opentty() { tty.c_lflag &= ~ICANON; // non-canonical mode tty.c_lflag &= ~(ECHO|ECHOE|ECHOK|ECHOKE); - if(PPPData::data()->flowcontrol() != "None") { - if(PPPData::data()->flowcontrol() == "CRTSCTS") { + if(_pppdata->flowcontrol() != "None") { + if(_pppdata->flowcontrol() == "CRTSCTS") { tty.c_cflag |= CRTSCTS; } else { tty.c_iflag |= IXON | IXOFF; @@ -352,9 +351,9 @@ bool Modem::writeLine(const char *buf) { int len = strlen(buf); char *b = new char[len+2]; memcpy(b, buf, len); // different modems seem to need different line terminations - QString term = PPPData::data()->enter(); + QString term = _pppdata->enter(); if(term == "LF") b[len++]='\n'; else if(term == "CR") b[len++]='\r'; @@ -392,11 +391,11 @@ bool Modem::hangup() { if (data_mode) escape_to_command_mode(); // Then hangup command - writeLine(PPPData::data()->modemHangupStr().local8Bit()); + writeLine(_pppdata->modemHangupStr().local8Bit()); - usleep(PPPData::data()->modemInitDelay() * 10000); // 0.01 - 3.0 sec + usleep(_pppdata->modemInitDelay() * 10000); // 0.01 - 3.0 sec #ifndef DEBUG_WO_DIALING if (sigsetjmp(jmp_buffer, 1) == 0) { // set alarm in case tcsendbreak() hangs @@ -430,9 +429,9 @@ bool Modem::hangup() { modemstat |= TIOCM_DTR; ioctl(modemfd, TIOCMSET, &modemstat); #endif - usleep(PPPData::data()->modemInitDelay() * 10000); // 0.01 - 3.0 secs + usleep(_pppdata->modemInitDelay() * 10000); // 0.01 - 3.0 secs cfsetospeed(&temptty, modemspeed()); cfsetispeed(&temptty, modemspeed()); tcsetattr(modemfd, TCSAFLUSH, &temptty); @@ -453,13 +452,13 @@ void Modem::escape_to_command_mode() { // tcflush(modemfd, TCIOFLUSH); // +3 because quiet time must be greater than guard time. - usleep((PPPData::data()->modemEscapeGuardTime()+3)*20000); - QCString tmp = PPPData::data()->modemEscapeStr().local8Bit(); + usleep((_pppdata->modemEscapeGuardTime()+3)*20000); + QCString tmp = _pppdata->modemEscapeStr().local8Bit(); write(modemfd, tmp.data(), tmp.length()); tcflush(modemfd, TCIOFLUSH); - usleep((PPPData::data()->modemEscapeGuardTime()+3)*20000); + usleep((_pppdata->modemEscapeGuardTime()+3)*20000); data_mode = false; } @@ -573,18 +572,18 @@ QString Modem::parseModemSpeed(const QString &s) { int Modem::lockdevice() { int fd; char newlock[80]=""; // safe - if(!PPPData::data()->modemLockFile()) { + if(!_pppdata->modemLockFile()) { qDebug("The user doesn't want a lockfile."); return 0; } if (modem_is_locked) return 1; QString lockfile = LOCK_DIR"/LCK.."; - lockfile += PPPData::data()->modemDevice().mid(5); // append everything after /dev/ + lockfile += _pppdata->modemDevice().mid(5); // append everything after /dev/ if(access(QFile::encodeName(lockfile), F_OK) == 0) { // if ((fd = Requester::rq-> if ((fd = openLockfile(QFile::encodeName(lockfile), O_RDONLY)) >= 0) { @@ -613,9 +612,9 @@ if ((fd = openLockfile(QFile::encodeName(lockfile), O_RDONLY)) >= 0) { qDebug( "lockfile is stale" ); } } - fd = openLockfile(PPPData::data()->modemDevice(),O_WRONLY|O_TRUNC|O_CREAT); + fd = openLockfile(_pppdata->modemDevice(),O_WRONLY|O_TRUNC|O_CREAT); if(fd >= 0) { sprintf(newlock,"%010d\n", getpid()); qDebug("Locking Device: %s", newlock); @@ -987,17 +986,17 @@ void Modem::parseargs(char* buf, char** args) { bool Modem::execPPPDaemon(const QString & arguments) { if(execpppd(arguments)==0) { - PPPData::data()->setpppdRunning(true); + _pppdata->setpppdRunning(true); return true; } else return false; } void Modem::killPPPDaemon() { - PPPData::data()->setpppdRunning(false); + _pppdata->setpppdRunning(false); killpppd(); } int Modem::pppdExitStatus() diff --git a/noncore/settings/networksettings/ppp/modem.h b/noncore/settings/networksettings/ppp/modem.h index b494977..103cbeb 100644 --- a/noncore/settings/networksettings/ppp/modem.h +++ b/noncore/settings/networksettings/ppp/modem.h @@ -34,17 +34,17 @@ #include <unistd.h> #include <qsocketnotifier.h> -//#include <config.h> +class PPPData; void alarm_handler(int); const char *pppdPath(); class Modem : public QObject { Q_OBJECT public: - Modem(); + Modem(PPPData*); ~Modem(); const QString getDevice() {return device;}; void setDevice(const QString dev) {device = dev;}; @@ -75,9 +75,9 @@ public: bool setHostname(const QString & name); public: enum Auth { PAP = 1, CHAP }; - static Modem *modem; + // static Modem *modem; int lastStatus; signals: void charWaiting(unsigned char); @@ -111,8 +111,9 @@ private: QString errmsg; struct termios initial_tty; struct termios tty; bool modem_is_locked; + PPPData *_pppdata; }; #endif diff --git a/noncore/settings/networksettings/ppp/modemcmds.cpp b/noncore/settings/networksettings/ppp/modemcmds.cpp index 65032e8..1d9db6e 100644 --- a/noncore/settings/networksettings/ppp/modemcmds.cpp +++ b/noncore/settings/networksettings/ppp/modemcmds.cpp @@ -39,10 +39,10 @@ // a little trick to make the label look like a disabled lineedit #define FORMATSLIDERLABEL(l) //l->setFixedWidth(l->sizeHint().width()); l->setFixedHeight(QLineEdit(dummyWidget).sizeHint().height()); l->setAlignment(AlignCenter); l->setFrameStyle(QFrame::WinPanel|QFrame::Sunken); l->setLineWidth(2); -ModemCommands::ModemCommands(QWidget *parent, const char *name) - : QDialog(parent, name, true ) //, i18n("Edit Modem Commands") , Ok|Cancel) +ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) + : QDialog(parent, name, true ), _pppdata(pd) { setCaption(i18n("Edit Modem Commands")); const int GRIDROWS = 22; @@ -239,75 +239,75 @@ ModemCommands::ModemCommands(QWidget *parent, const char *name) l1->addRowSpacing(0, 5); l1->addRowSpacing(GRIDROWS, 5); //set stuff from gpppdata - preinitslider->setValue(PPPData::data()->modemPreInitDelay()); - lpreinitslider->setNum(PPPData::data()->modemPreInitDelay()); + preinitslider->setValue(_pppdata->modemPreInitDelay()); + lpreinitslider->setNum(_pppdata->modemPreInitDelay()); for(int i = 0; i < PPPData::NumInitStrings; i++) - initstr[i]->setText(PPPData::data()->modemInitStr(i)); - initslider->setValue(PPPData::data()->modemInitDelay()); - linitslider->setNum(PPPData::data()->modemInitDelay()); - initresp->setText(PPPData::data()->modemInitResp()); + initstr[i]->setText(_pppdata->modemInitStr(i)); + initslider->setValue(_pppdata->modemInitDelay()); + linitslider->setNum(_pppdata->modemInitDelay()); + initresp->setText(_pppdata->modemInitResp()); - durationslider->setValue(PPPData::data()->modemToneDuration()); - ldurationslider->setNum(PPPData::data()->modemToneDuration()); + durationslider->setValue(_pppdata->modemToneDuration()); + ldurationslider->setNum(_pppdata->modemToneDuration()); - nodetectdialtone->setText(PPPData::data()->modemNoDialToneDetectionStr()); - dialstr->setText(PPPData::data()->modemDialStr()); - connectresp->setText(PPPData::data()->modemConnectResp()); - busyresp->setText(PPPData::data()->modemBusyResp()); - nocarrierresp->setText(PPPData::data()->modemNoCarrierResp()); - nodialtoneresp->setText(PPPData::data()->modemNoDialtoneResp()); + nodetectdialtone->setText(_pppdata->modemNoDialToneDetectionStr()); + dialstr->setText(_pppdata->modemDialStr()); + connectresp->setText(_pppdata->modemConnectResp()); + busyresp->setText(_pppdata->modemBusyResp()); + nocarrierresp->setText(_pppdata->modemNoCarrierResp()); + nodialtoneresp->setText(_pppdata->modemNoDialtoneResp()); - escapestr->setText(PPPData::data()->modemEscapeStr()); - escaperesp->setText(PPPData::data()->modemEscapeResp()); + escapestr->setText(_pppdata->modemEscapeStr()); + escaperesp->setText(_pppdata->modemEscapeResp()); - hangupstr->setText(PPPData::data()->modemHangupStr()); - hangupresp->setText(PPPData::data()->modemHangupResp()); + hangupstr->setText(_pppdata->modemHangupStr()); + hangupresp->setText(_pppdata->modemHangupResp()); - answerstr->setText(PPPData::data()->modemAnswerStr()); - ringresp->setText(PPPData::data()->modemRingResp()); - answerresp->setText(PPPData::data()->modemAnswerResp()); + answerstr->setText(_pppdata->modemAnswerStr()); + ringresp->setText(_pppdata->modemRingResp()); + answerresp->setText(_pppdata->modemAnswerResp()); - slider->setValue(PPPData::data()->modemEscapeGuardTime()); - lslider->setNum(PPPData::data()->modemEscapeGuardTime()); + slider->setValue(_pppdata->modemEscapeGuardTime()); + lslider->setNum(_pppdata->modemEscapeGuardTime()); - volume_off->setText(PPPData::data()->volumeOff()); - volume_medium->setText(PPPData::data()->volumeMedium()); - volume_high->setText(PPPData::data()->volumeHigh()); + volume_off->setText(_pppdata->volumeOff()); + volume_medium->setText(_pppdata->volumeMedium()); + volume_high->setText(_pppdata->volumeHigh()); } void ModemCommands::slotOk() { - PPPData::data()->setModemPreInitDelay(lpreinitslider->text().toInt()); + _pppdata->setModemPreInitDelay(lpreinitslider->text().toInt()); for(int i = 0; i < PPPData::NumInitStrings; i++) - PPPData::data()->setModemInitStr(i, initstr[i]->text()); - PPPData::data()->setModemInitResp(initresp->text()); - PPPData::data()->setModemInitDelay(linitslider->text().toInt()); - - PPPData::data()->setModemToneDuration(ldurationslider->text().toInt()); - PPPData::data()->setModemNoDialToneDetectionStr(nodetectdialtone->text()); - PPPData::data()->setModemDialStr(dialstr->text()); - PPPData::data()->setModemConnectResp(connectresp->text()); - PPPData::data()->setModemBusyResp(busyresp->text()); - PPPData::data()->setModemNoCarrierResp(nocarrierresp->text()); - PPPData::data()->setModemNoDialtoneResp(nodialtoneresp->text()); - - PPPData::data()->setModemEscapeStr(escapestr->text()); - PPPData::data()->setModemEscapeResp(escaperesp->text()); - PPPData::data()->setModemEscapeGuardTime(lslider->text().toInt()); - PPPData::data()->setModemHangupStr(hangupstr->text()); - PPPData::data()->setModemHangupResp(hangupresp->text()); - - PPPData::data()->setModemAnswerStr(answerstr->text()); - PPPData::data()->setModemRingResp(ringresp->text()); - PPPData::data()->setModemAnswerResp(answerresp->text()); - - PPPData::data()->setVolumeHigh(volume_high->text()); - PPPData::data()->setVolumeMedium(volume_medium->text()); - PPPData::data()->setVolumeOff(volume_off->text()); - - PPPData::data()->save(); + _pppdata->setModemInitStr(i, initstr[i]->text()); + _pppdata->setModemInitResp(initresp->text()); + _pppdata->setModemInitDelay(linitslider->text().toInt()); + + _pppdata->setModemToneDuration(ldurationslider->text().toInt()); + _pppdata->setModemNoDialToneDetectionStr(nodetectdialtone->text()); + _pppdata->setModemDialStr(dialstr->text()); + _pppdata->setModemConnectResp(connectresp->text()); + _pppdata->setModemBusyResp(busyresp->text()); + _pppdata->setModemNoCarrierResp(nocarrierresp->text()); + _pppdata->setModemNoDialtoneResp(nodialtoneresp->text()); + + _pppdata->setModemEscapeStr(escapestr->text()); + _pppdata->setModemEscapeResp(escaperesp->text()); + _pppdata->setModemEscapeGuardTime(lslider->text().toInt()); + _pppdata->setModemHangupStr(hangupstr->text()); + _pppdata->setModemHangupResp(hangupresp->text()); + + _pppdata->setModemAnswerStr(answerstr->text()); + _pppdata->setModemRingResp(ringresp->text()); + _pppdata->setModemAnswerResp(answerresp->text()); + + _pppdata->setVolumeHigh(volume_high->text()); + _pppdata->setVolumeMedium(volume_medium->text()); + _pppdata->setVolumeOff(volume_off->text()); + + _pppdata->save(); accept(); } diff --git a/noncore/settings/networksettings/ppp/modemcmds.h b/noncore/settings/networksettings/ppp/modemcmds.h index 9d078ec..ef69fec 100644 --- a/noncore/settings/networksettings/ppp/modemcmds.h +++ b/noncore/settings/networksettings/ppp/modemcmds.h @@ -43,16 +43,17 @@ class ModemCommands : public QDialog { Q_OBJECT public: - ModemCommands(QWidget *parent=0, const char *name=0); + ModemCommands(PPPData*, QWidget *parent=0, const char *name=0); ~ModemCommands() {} private slots: void slotCancel(); void slotOk(); private: + PPPData *_pppdata; QGroupBox *box; QLineEdit *initstr[int(PPPData::NumInitStrings)]; diff --git a/noncore/settings/networksettings/ppp/modeminfo.cpp b/noncore/settings/networksettings/ppp/modeminfo.cpp index 4dbbcf5..0bec186 100644 --- a/noncore/settings/networksettings/ppp/modeminfo.cpp +++ b/noncore/settings/networksettings/ppp/modeminfo.cpp @@ -36,10 +36,11 @@ #include "modem.h" //#include <klocale.h> #define i18n QObject::tr -ModemTransfer::ModemTransfer(QWidget *parent, const char *name) - : QDialog(parent, name,TRUE, WStyle_Customize|WStyle_NormalBorder) +ModemTransfer::ModemTransfer(Modem *mo, QWidget *parent, const char *name) + : QDialog(parent, name,TRUE, WStyle_Customize|WStyle_NormalBorder), + _modem(mo) { setCaption(i18n("ATI Query")); // KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon()); @@ -96,10 +97,10 @@ ModemTransfer::ModemTransfer(QWidget *parent, const char *name) void ModemTransfer::ati_done() { scripttimer->stop(); timeout_timer->stop(); - Modem::modem->closetty(); - Modem::modem->unlockdevice(); + _modem->closetty(); + _modem->unlockdevice(); hide(); // open the result window ModemInfo *mi = new ModemInfo(this); @@ -125,9 +126,9 @@ void ModemTransfer::time_out_slot() { void ModemTransfer::init() { qApp->processEvents(); - int lock = Modem::modem->lockdevice(); + int lock = _modem->lockdevice(); if (lock == 1) { statusBar->setText(i18n("Modem device is locked.")); return; @@ -139,31 +140,31 @@ void ModemTransfer::init() { return; } - if(Modem::modem->opentty()) { - if(Modem::modem->hangup()) { + if(_modem->opentty()) { + if(_modem->hangup()) { usleep(100000); // wait 0.1 secs - Modem::modem->writeLine("ATE0Q1V1"); // E0 don't echo the commands I send ... + _modem->writeLine("ATE0Q1V1"); // E0 don't echo the commands I send ... statusBar->setText(i18n("Modem Ready")); qApp->processEvents(); usleep(100000); // wait 0.1 secs qApp->processEvents(); scripttimer->start(1000); // this one does the ati query // clear modem buffer - Modem::modem->flush(); + _modem->flush(); - Modem::modem->notify(this, SLOT(readChar(unsigned char))); + _modem->notify(this, SLOT(readChar(unsigned char))); return; } } // opentty() or hangup() failed - statusBar->setText(Modem::modem->modemMessage()); + statusBar->setText(_modem->modemMessage()); step = 99; // wait until cancel is pressed - Modem::modem->unlockdevice(); + _modem->unlockdevice(); } void ModemTransfer::do_script() { @@ -174,9 +175,9 @@ void ModemTransfer::do_script() { case 0: readtty(); statusBar->setText("ATI..."); progressBar->setProgress( progressBar->progress() + 1); - Modem::modem->writeLine("ATI\n"); + _modem->writeLine("ATI\n"); break; case 1: case 2: @@ -189,9 +190,9 @@ void ModemTransfer::do_script() { msg.sprintf("ATI %d ...", step); query.sprintf("ATI%d\n", step); statusBar->setText(msg); progressBar->setProgress( progressBar->progress() + 1); - Modem::modem->writeLine(query.local8Bit()); + _modem->writeLine(query.local8Bit()); break; default: readtty(); @@ -222,18 +223,18 @@ void ModemTransfer::readtty() { void ModemTransfer::cancelbutton() { scripttimer->stop(); - Modem::modem->stop(); + _modem->stop(); timeout_timer->stop(); statusBar->setText(i18n("One moment please...")); qApp->processEvents(); - Modem::modem->hangup(); + _modem->hangup(); - Modem::modem->closetty(); - Modem::modem->unlockdevice(); + _modem->closetty(); + _modem->unlockdevice(); reject(); } diff --git a/noncore/settings/networksettings/ppp/modeminfo.h b/noncore/settings/networksettings/ppp/modeminfo.h index 7aa2cc0..dfcc841 100644 --- a/noncore/settings/networksettings/ppp/modeminfo.h +++ b/noncore/settings/networksettings/ppp/modeminfo.h @@ -36,15 +36,17 @@ #include <qtimer.h> //#include <kprogress.h> #include <qprogressbar.h> +class Modem; + const int NUM_OF_ATI = 8; class ModemTransfer : public QDialog { Q_OBJECT public: - ModemTransfer(QWidget *parent=0, const char *name=0); + ModemTransfer(Modem*, QWidget *parent=0, const char *name=0); public slots: void init(); void readtty(); @@ -59,8 +61,9 @@ private: protected: void closeEvent(QCloseEvent *e); private: + Modem *_modem; int step; QString readbuffer; QPushButton *cancel; diff --git a/noncore/settings/networksettings/ppp/ppp.pro b/noncore/settings/networksettings/ppp/ppp.pro index ac438dd..483aa58 100644 --- a/noncore/settings/networksettings/ppp/ppp.pro +++ b/noncore/settings/networksettings/ppp/ppp.pro @@ -3,12 +3,12 @@ TEMPLATE = lib #CONFIG += qt warn_on release CONFIG += qt warn_on debug DESTDIR = $(OPIEDIR)/plugins/networksettings -HEADERS = pppmodule.h devices.h modem.h modeminfo.h pppdata.h kpppconfig.h pppdata.h runtests.h general.h modemcmds.h kpppwidget.h conwindow.h accounts.h connect.h edit.h scriptedit.h pppdargs.h iplined.h pwentry.h pppconfig.h -# -SOURCES = pppmodule.cpp modem.cpp modeminfo.cpp pppdata.cpp runtests.cpp general.cpp modemcmds.cpp kpppwidget.cpp conwindow.cpp accounts.cpp connect.cpp edit.cpp scriptedit.cpp pppdargs.cpp iplined.cpp pwentry.cpp pppconfig.cpp -# +HEADERS = pppmodule.h devices.h modem.h modeminfo.h pppdata.h kpppconfig.h pppdata.h runtests.h general.h modemcmds.h conwindow.h accounts.h connect.h edit.h scriptedit.h pppdargs.h iplined.h pwentry.h pppconfig.h interfaceinformationppp.h interfaceppp.h +# kpppwidget.h +SOURCES = pppmodule.cpp modem.cpp modeminfo.cpp pppdata.cpp runtests.cpp general.cpp modemcmds.cpp conwindow.cpp accounts.cpp connect.cpp edit.cpp scriptedit.cpp pppdargs.cpp iplined.cpp pwentry.cpp pppconfig.cpp interfaceinformationppp.cpp interfaceppp.cpp +# kpppwidget.cpp INCLUDEPATH += $(OPIEDIR)/include ../ ../interfaces/ DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe -L../interfaces/ -linterfaces INTERFACES = diff --git a/noncore/settings/networksettings/ppp/pppconfig.cpp b/noncore/settings/networksettings/ppp/pppconfig.cpp index 4c5f7aa..63f9335 100644 --- a/noncore/settings/networksettings/ppp/pppconfig.cpp +++ b/noncore/settings/networksettings/ppp/pppconfig.cpp @@ -4,15 +4,15 @@ #include <qtabwidget.h> #include "accounts.h" #include "general.h" -#include "interface.h" +#include "interfaceppp.h" #include "modem.h" #include "pppconfig.h" #include "pppdata.h" #include "runtests.h" -PPPConfigWidget::PPPConfigWidget( Interface* iface, QWidget *parent, +PPPConfigWidget::PPPConfigWidget( InterfacePPP* iface, QWidget *parent, const char *name, bool modal, WFlags fl ) : QDialog(parent, name, modal, fl) { @@ -23,30 +23,25 @@ PPPConfigWidget::PPPConfigWidget( Interface* iface, QWidget *parent, return; } interface = iface; - if (!PPPData::data()->setModemDevice( interface->getInterfaceName() )) - PPPData::data()->setModemDevice("/dev/modem"); qDebug("PPPConfigWidget::PPPConfigWidget"); qDebug(" interface->getHardwareName >%s<", interface->getHardwareName().latin1()); - if (!PPPData::data()->setAccount( interface->getHardwareName() )) - PPPData::data()->setAccount( 0 ); - qDebug(" PPPData::data()->accname >%s<",PPPData::data()->accname().latin1()); - qDebug(" PPPData::data()->currentAccountID() >%i<",PPPData::data()->currentAccountID()); - (void)new Modem; + qDebug(" _pppdata->accname >%s<",interface->data()->accname().latin1()); + qDebug(" _pppdata->currentAccountID() >%i<",interface->data()->currentAccountID()); QVBoxLayout *layout = new QVBoxLayout( this ); layout->setSpacing( 0 ); layout->setMargin( 1 ); tabWindow = new QTabWidget( this, "tabWidget" ); layout->addWidget( tabWindow ); - accounts = new AccountWidget( tabWindow, "accounts" ); + accounts = new AccountWidget( interface->data(), tabWindow, "accounts" ); tabWindow->addTab( accounts, tr("&Accounts") ); - modem1 = new ModemWidget( tabWindow, "modem1" ); + modem1 = new ModemWidget( interface, tabWindow, "modem1" ); tabWindow->addTab( modem1, tr("&Device") ); - modem2 = new ModemWidget2( tabWindow, "modem2" ); + modem2 = new ModemWidget2( interface, tabWindow, "modem2" ); tabWindow->addTab( modem2, tr("&Modem") ); // graph = new GraphSetup( tabWindow->addPage( tr("&Graph"), tr("Throughput Graph" ) ) ); // general = new GeneralWidget( tabWindow->addPage( tr("M&isc"), tr("Miscellaneous Settings") ) ); @@ -60,18 +55,18 @@ PPPConfigWidget::~PPPConfigWidget() void PPPConfigWidget::accept() { qDebug("PPPConfigWidget::accept"); - qDebug(" PPPData::data()->accname >%s<",PPPData::data()->accname().latin1()); + qDebug(" _pppdata->accname >%s<",interface->data()->accname().latin1()); qDebug(" interface->getHardwareName >%s<", interface->getHardwareName().latin1()); - interface->setInterfaceName( PPPData::data()->modemDevice() ); - interface->setHardwareName( PPPData::data()->accname() ); - PPPData::data()->save(); + interface->setInterfaceName( interface->data()->modemDevice() ); + interface->setHardwareName( interface->data()->accname() ); + interface->data()->save(); QDialog::accept(); } void PPPConfigWidget::reject() { - PPPData::data()->cancel(); + interface->data()->cancel(); QDialog::reject(); } diff --git a/noncore/settings/networksettings/ppp/pppconfig.h b/noncore/settings/networksettings/ppp/pppconfig.h index b324b6d..9bab6fe 100644 --- a/noncore/settings/networksettings/ppp/pppconfig.h +++ b/noncore/settings/networksettings/ppp/pppconfig.h @@ -3,9 +3,10 @@ #include <qdialog.h> class QTabWidget; -class Interface; +//class Interface; +class InterfacePPP; class AccountWidget; class GeneralWidget; class ModemWidget; class ModemWidget2; @@ -13,9 +14,9 @@ class ModemWidget2; class PPPConfigWidget : public QDialog { Q_OBJECT public: - PPPConfigWidget( Interface*, QWidget *parent=0, const char *name=0, + PPPConfigWidget( InterfacePPP*, QWidget *parent=0, const char *name=0, bool modal = false, WFlags fl = 0 ); ~PPPConfigWidget(); @@ -23,9 +24,9 @@ protected slots: virtual void accept(); virtual void reject(); private: - Interface *interface; + InterfacePPP *interface; QTabWidget *tabWindow; AccountWidget *accounts; GeneralWidget *general; ModemWidget *modem1; diff --git a/noncore/settings/networksettings/ppp/pppdargs.cpp b/noncore/settings/networksettings/ppp/pppdargs.cpp index 4039939..d1143cf 100644 --- a/noncore/settings/networksettings/ppp/pppdargs.cpp +++ b/noncore/settings/networksettings/ppp/pppdargs.cpp @@ -33,10 +33,10 @@ #include "pppdata.h" //#include <klocale.h> #define i18n QObject::tr -PPPdArguments::PPPdArguments(QWidget *parent, const char *name) - : QDialog(parent, name, TRUE) +PPPdArguments::PPPdArguments( PPPData *pd, QWidget *parent, const char *name) + : QDialog(parent, name, TRUE), _pppdata(pd) { setCaption(i18n("Customize pppd Arguments")); // KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon()); QVBoxLayout *l = new QVBoxLayout(this, 10, 10); @@ -120,24 +120,24 @@ void PPPdArguments::removebutton() { void PPPdArguments::defaultsbutton() { // all of this is a hack // save current list - QStringList arglist(PPPData::data()->pppdArgument()); + QStringList arglist(_pppdata->pppdArgument()); // get defaults - PPPData::data()->setpppdArgumentDefaults(); + _pppdata->setpppdArgumentDefaults(); init(); // restore old list - PPPData::data()->setpppdArgument(arglist); + _pppdata->setpppdArgument(arglist); } void PPPdArguments::closebutton() { QStringList arglist; for(uint i=0; i < arguments->count(); i++) arglist.append(arguments->text(i)); - PPPData::data()->setpppdArgument(arglist); + _pppdata->setpppdArgument(arglist); done(0); } @@ -145,9 +145,9 @@ void PPPdArguments::closebutton() { void PPPdArguments::init() { while(arguments->count()) arguments->removeItem(0); - QStringList &arglist = PPPData::data()->pppdArgument(); + QStringList &arglist = _pppdata->pppdArgument(); for ( QStringList::Iterator it = arglist.begin(); it != arglist.end(); ++it ) arguments->insertItem(*it); diff --git a/noncore/settings/networksettings/ppp/pppdargs.h b/noncore/settings/networksettings/ppp/pppdargs.h index c1cd28d..75f0c9d 100644 --- a/noncore/settings/networksettings/ppp/pppdargs.h +++ b/noncore/settings/networksettings/ppp/pppdargs.h @@ -32,13 +32,14 @@ #include <qlineedit.h> #include <qpushbutton.h> #include <qlistbox.h> #include <qlabel.h> +class PPPData; class PPPdArguments : public QDialog { Q_OBJECT public: - PPPdArguments(QWidget *parent=0, const char *name=0); + PPPdArguments(PPPData*,QWidget *parent=0, const char *name=0); ~PPPdArguments() {} private slots: void addbutton(); @@ -61,8 +62,9 @@ private: QListBox *arguments; QPushButton *closebtn; + PPPData *_pppdata; }; #endif diff --git a/noncore/settings/networksettings/ppp/pppdata.cpp b/noncore/settings/networksettings/ppp/pppdata.cpp index 3f1675c..59d68c9 100644 --- a/noncore/settings/networksettings/ppp/pppdata.cpp +++ b/noncore/settings/networksettings/ppp/pppdata.cpp @@ -37,23 +37,10 @@ // #include <kmessagebox.h> // #include <kapplication.h> #include <assert.h> -PPPData *PPPData::_data = 0; -Config *PPPData::config = 0; - -PPPData* PPPData::data() -{ - if (!_data){ - qDebug("PPPData::data() creates new Instance"); - _data = new PPPData(); - } - if (!_data->config){ - qDebug("PPPData::data() opens conffile"); - _data->open(); - } - return _data; -} +#define SEPARATOR -sseepp- +#define SEP QString("%1SEPARATOR%1") PPPData::PPPData() : modemDeviceGroup(-1), highcount(-1), // start out with no entries @@ -61,19 +48,8 @@ PPPData::PPPData() suidprocessid(-1), // process ID of setuid child pppdisrunning(false), pppderror(0) { -} - - -// -// open configuration file -// -bool PPPData::open() { - qDebug("opening configfile NetworkSetupPPP"); - if (config) return true; - config = new Config("NetworkSetupPPP"); - highcount = readNumConfig(GENERAL_GRP, NUMACCOUNTS_KEY, 0) - 1; if (highcount > MAX_ACCOUNTS) highcount = MAX_ACCOUNTS; @@ -89,110 +65,153 @@ bool PPPData::open() { setPPPDebug(false); ::pppdVersion(&pppdVer, &pppdMod, &pppdPatch); - return true; } +Config PPPData::config() +{ + return Config("NetworkSetupPPP"); +} // // save configuration // -void PPPData::save() { - - if (config) { +void PPPData::save() +{ + qDebug("PPPData saving data"); writeConfig(GENERAL_GRP, NUMACCOUNTS_KEY, count()); - delete config; - config = 0; - qDebug("worte confi NetworkSetupPPP"); - } - if (_data){ - delete _data; - _data = 0; - } - + QString key; + QStringList keys; + Config cfg = config(); + for( QMap<QString,QString>::Iterator it = stringEntries.begin(); + it != stringEntries.end(); ++it ){ + QString val = it.data(); + key = it.key(); +// qDebug("saving %s -> %s", key.latin1(), val.latin1() ); + keys = QStringList::split( "SEPARATOR", key ); + qDebug("group >%s< key >%s< value >%s<", keys[0].latin1(), keys[1].latin1(), val.latin1() ); + cfg.setGroup(keys[0]); + cfg.writeEntry(keys[1], val); + } + for( QMap<QString,int>::Iterator it = intEntries.begin(); + it != intEntries.end(); ++it ){ + int val = it.data(); + key = it.key(); +// qDebug("saving %s -> %i", key.latin1(), val ); + keys = QStringList::split( "SEPARATOR", key ); + qDebug("group >%s< key >%s< val %i", keys[0].latin1(), keys[1].latin1(), val ); + cfg.setGroup(keys[0]); + cfg.writeEntry(keys[1], val); + } + for( QMap<QString,QStringList>::Iterator it = listEntries.begin(); + it != listEntries.end(); ++it ){ + QStringList val = it.data(); + key = it.key(); + QChar sep = sepEntries[key]; +// qDebug("saving %s -> %s", key.latin1(), val.join(sep).latin1() ); + keys = QStringList::split( "SEPARATOR", key ); + qDebug("group >%s< key >%s<values >%s<", keys[0].latin1(), keys[1].latin1(), val.join(sep).latin1() ); + cfg.setGroup(keys[0]); + cfg.writeEntry(keys[1], val, sep); + } } // // cancel changes // void PPPData::cancel() { - -// if (config) { -// config->rollback(); -// config->reparseConfiguration(); -// } - + stringEntries.clear(); + intEntries.clear(); + listEntries.clear(); } - -// // currently differentiates between READWRITE and NONE only -// int PPPData::access() const { - -// return 1;//config->getConfigState(); -// } - - // functions to read/write date to configuration file QString PPPData::readConfig(const QString &group, const QString &key, const QString &defvalue = "") { // qDebug("PPPData::readConfig key >%s< group >%s<",key.latin1(), group.latin1()); - if (config) { - config->setGroup(group); - return config->readEntry(key, defvalue); - } else - return defvalue; + QString idx = SEP.arg(group).arg(key); + if (stringEntries.find(idx) != stringEntries.end()) + return stringEntries[idx]; + Config cfg = config(); + cfg.setGroup(group); + return cfg.readEntry(key, defvalue); } int PPPData::readNumConfig(const QString &group, const QString &key, - int defvalue) { - if (config) { - config->setGroup(group); - return config->readNumEntry(key, defvalue); - } else - return defvalue; + int defvalue) +{ + QString idx = SEP.arg(group).arg(key); + if (intEntries.find(idx) != intEntries.end()) + return intEntries[idx]; + Config cfg = config(); + cfg.setGroup(group); + return cfg.readNumEntry(key, defvalue); + +// if (config) { +// config->setGroup(group); +// return config->readNumEntry(key, defvalue); +// } else +// return defvalue; } bool PPPData::readListConfig(const QString &group, const QString &key, QStringList &list, char sep) { list.clear(); - if (config) { - config->setGroup(group); - list = config->readListEntry(key, sep); - return true; - } else - return false; + QString idx = SEP.arg(group).arg(key); + if (listEntries.find(idx) != listEntries.end()){ + list = listEntries[idx]; + return true; + } + Config cfg = config(); + cfg.setGroup(group); + list = cfg.readListEntry(key, sep); + if (list.count() > 0) return true; + return false; + +// if (config) { +// config->setGroup(group); +// list = config->readListEntry(key, sep); +// return true; +// } else +// return false; } void PPPData::writeConfig(const QString &group, const QString &key, const QString &value) { - if (config) { - config->setGroup(group); - config->writeEntry(key, value); - } + stringEntries.insert( SEP.arg(group).arg(key), value ); +// if (config) { +// config->setGroup(group); +// config->writeEntry(key, value); +// } } -void PPPData::writeConfig(const QString &group, const QString &key, int value) { - if (config) { - config->setGroup(group); - config->writeEntry(key, value); - } +void PPPData::writeConfig(const QString &group, const QString &key, int value) +{ + intEntries.insert( SEP.arg(group).arg(key), value ); +// if (config) { +// config->setGroup(group); +// config->writeEntry(key, value); +// } } void PPPData::writeListConfig(const QString &group, const QString &key, - QStringList &list, char sep) { - if (config) { - config->setGroup(group); - config->writeEntry(key, list, sep); - } + QStringList &list, char sep) +{ + listEntries.insert( SEP.arg(group).arg(key), list ); + sepEntries.insert( SEP.arg(group).arg(key), sep ); +// if (config) { +// config->setGroup(group); +// config->writeEntry(key, list, sep); +// } } // @@ -280,26 +299,26 @@ void PPPData::set_automatic_redial(bool set) { writeConfig(GENERAL_GRP, AUTOREDIAL_KEY, (int) set); } -bool PPPData::get_iconify_on_connect() { - return (bool) readNumConfig(GENERAL_GRP, ICONIFY_ON_CONNECT_KEY, TRUE); -} +// bool PPPData::get_iconify_on_connect() { +// return (bool) readNumConfig(GENERAL_GRP, ICONIFY_ON_CONNECT_KEY, TRUE); +// } -void PPPData::set_iconify_on_connect(bool set) { - writeConfig(GENERAL_GRP, ICONIFY_ON_CONNECT_KEY, (int) set); -} +// void PPPData::set_iconify_on_connect(bool set) { +// writeConfig(GENERAL_GRP, ICONIFY_ON_CONNECT_KEY, (int) set); +// } -bool PPPData::get_dock_into_panel() { - return (bool) readNumConfig(GENERAL_GRP, DOCKING_KEY, false); -} +// bool PPPData::get_dock_into_panel() { +// return (bool) readNumConfig(GENERAL_GRP, DOCKING_KEY, false); +// } -void PPPData::set_dock_into_panel(bool set) { - writeConfig(GENERAL_GRP, DOCKING_KEY, (int) set); -} +// void PPPData::set_dock_into_panel(bool set) { +// writeConfig(GENERAL_GRP, DOCKING_KEY, (int) set); +// } QString PPPData::pppdVersion() { return QString("%1.%2.%3").arg(pppdVer).arg(pppdMod).arg(pppdPatch); @@ -789,9 +808,9 @@ bool PPPData::deleteAccount(const QString &aname) { int PPPData::newaccount() { qDebug("PPPData::newaccount highcount %i/%i",highcount,MAX_ACCOUNTS); - if(!config) open(); +// if(!config) open(); if (highcount >= MAX_ACCOUNTS) return -1; highcount++; setAccountbyIndex(highcount); @@ -989,16 +1008,16 @@ void PPPData::setAcctEnabled(bool set) { writeConfig(cgroup, ACCTENABLED_KEY, (int) set); } -int PPPData::VolAcctEnabled() { - return readNumConfig(cgroup, VOLACCTENABLED_KEY, 0); -} +// int PPPData::VolAcctEnabled() { +// return readNumConfig(cgroup, VOLACCTENABLED_KEY, 0); +// } -void PPPData::setVolAcctEnabled(int set) { - writeConfig(cgroup, VOLACCTENABLED_KEY, set); -} +// void PPPData::setVolAcctEnabled(int set) { +// writeConfig(cgroup, VOLACCTENABLED_KEY, set); +// } const QString PPPData::gateway() { return readConfig(cgroup, GATEWAY_KEY); @@ -1022,9 +1041,9 @@ void PPPData::setDefaultroute(bool set) { bool PPPData::autoDNS() { bool set = (bool) readNumConfig(cgroup, AUTODNS_KEY, true); - return (set && PPPData::data()->pppdVersionMin(2, 3, 7)); + return (set && pppdVersionMin(2, 3, 7)); } void PPPData::setAutoDNS(bool set) { @@ -1225,28 +1244,33 @@ QString PPPData::modemGroup() QMap<QString,QString> PPPData::getConfiguredInterfaces() { QMap<QString,QString> ifaces; - int count = readNumConfig( ACCLIST_GRP, ACCOUNTS_COUNT, -1 ); - QString accGrp; + Config config = PPPData::config(); + config.setGroup(ACCLIST_GRP); + int count = config.readNumEntry( ACCOUNTS_COUNT, -1 ); + QString accGrp, dev, acc; for (int i = 0; i < count; i++){ accGrp = QString("%1_%1").arg(ACCLIST_GRP).arg(i); - ifaces.insert( readConfig( accGrp, ACOUNTS_DEV, "error" ), - readConfig( accGrp, ACOUNTS_ACC, "error" ) ); + config.setGroup(accGrp); + dev = config.readEntry( ACOUNTS_DEV, "error" ); + acc = config.readEntry( ACOUNTS_ACC, "error" ); + ifaces.insert( dev, acc ); } return ifaces; } void PPPData::setConfiguredInterfaces( QMap<QString,QString> ifaces ) { QMap<QString,QString>::Iterator it; - QString accGrp; int i = 0; + Config cfg = config(); for( it = ifaces.begin(); it != ifaces.end(); ++it, ++i ){ - accGrp = QString("%1_%1").arg(ACCLIST_GRP).arg(i); - writeConfig( accGrp, ACOUNTS_DEV, it.key() ); - writeConfig( accGrp, ACOUNTS_ACC, it.data() ); + cfg.setGroup(QString("%1_%1").arg(ACCLIST_GRP).arg(i)); + cfg.writeEntry( ACOUNTS_DEV, it.key() ); + cfg.writeEntry( ACOUNTS_ACC, it.data() ); } - writeConfig( ACCLIST_GRP, ACCOUNTS_COUNT, i ); + cfg.setGroup( ACCLIST_GRP ); + cfg.writeEntry( ACCOUNTS_COUNT, i ); } diff --git a/noncore/settings/networksettings/ppp/pppdata.h b/noncore/settings/networksettings/ppp/pppdata.h index c1c7e69..af960c6 100644 --- a/noncore/settings/networksettings/ppp/pppdata.h +++ b/noncore/settings/networksettings/ppp/pppdata.h @@ -154,21 +154,20 @@ class Config; class PPPData { public: PPPData(); ~PPPData() {}; - static PPPData* data(); enum { NumInitStrings = 2 }; // general functions - bool open(); void save(); void cancel(); - QMap<QString,QString> getConfiguredInterfaces(); - void setConfiguredInterfaces( QMap<QString,QString> ); + static QMap<QString,QString> getConfiguredInterfaces(); + static void setConfiguredInterfaces( QMap<QString,QString> ); // function to read/write date to configuration file + static Config config(); QString readConfig(const QString &, const QString &, const QString &); int readNumConfig(const QString &, const QString &, int); bool readListConfig(const QString &, const QString &, QStringList &, char sep = ','); @@ -206,13 +205,13 @@ public: void set_automatic_redial(bool set); bool automatic_redial(); - void set_iconify_on_connect(bool set); - bool get_iconify_on_connect(); +// void set_iconify_on_connect(bool set); +// bool get_iconify_on_connect(); - void set_dock_into_panel(bool set); - bool get_dock_into_panel(); +// void set_dock_into_panel(bool set); +// bool get_dock_into_panel(); const QString enter(); void setEnter(const QString &); @@ -310,13 +309,8 @@ public: QString volumeHigh(); void setVolumeHigh(const QString &); -#if 0 - void setUseCDLine(const int n); - int UseCDLine(); -#endif - // functions to set/get account information int count() const; bool setAccount(const QString &); bool setAccountbyIndex(int); @@ -373,10 +367,10 @@ public: bool AcctEnabled(); void setAcctEnabled(bool set); - int VolAcctEnabled(); - void setVolAcctEnabled(int set); +// int VolAcctEnabled(); +// void setVolAcctEnabled(int set); bool autoDNS(); void setAutoDNS(bool set); @@ -414,43 +408,14 @@ public: int pppdError() const; void setpppdError(int err); - // functions to set/query the accounting info -// const QString accountingFile(); -// void setAccountingFile(const QString &); - -// const QString totalCosts(); -// void setTotalCosts(const QString &); - -// int totalBytes(); -// void setTotalBytes(int); - -// // graphing widget -// void setGraphingOptions(bool enabled, -// QColor bg, -// QColor text, -// QColor in, -// QColor out); -// void graphingOptions(bool &enabled, -// QColor &bg, -// QColor &text, -// QColor &in, -// QColor &out); -// bool graphingEnabled(); - -// // window positions -// void winPosConWin(int &, int &); -// void setWinPosConWin(int, int); -// void winPosStatWin(int &, int &); -// void setWinPosStatWin(int, int); - private: - static PPPData *_data; + //static PPPData *_data; int modemDeviceGroup; QString passwd; - static Config* config; // configuration object + // static Config* config; // configuration object int highcount; // index of highest account int caccount; // index of the current account QString cgroup; // name of current config group pid_t suidprocessid; // process ID of setuid child @@ -459,7 +424,12 @@ private: int pppderror; // error encounterd running pppd int pppdVer, pppdMod, pppdPatch; // pppd version QStringList phonelist; + QMap<QString,QString> stringEntries; + QMap<QString,int> intEntries; + QMap<QString,QStringList> listEntries; + QMap<QString,QChar> sepEntries; + }; #endif diff --git a/noncore/settings/networksettings/ppp/pppmodule.cpp b/noncore/settings/networksettings/ppp/pppmodule.cpp index 7cbccc2..95df068 100644 --- a/noncore/settings/networksettings/ppp/pppmodule.cpp +++ b/noncore/settings/networksettings/ppp/pppmodule.cpp @@ -1,25 +1,26 @@ + #include "pppconfig.h" #include "pppmodule.h" #include "pppdata.h" -#include "kpppwidget.h" -#include "interfaceinformationimp.h" -//#include "devices.h" +#include "interfaceinformationppp.h" +#include "interfaceppp.h" + /** * Constructor, find all of the possible interfaces */ PPPModule::PPPModule() : Module() { - QMap<QString,QString> ifaces = PPPData::data()->getConfiguredInterfaces(); + QMap<QString,QString> ifaces = PPPData::getConfiguredInterfaces(); QMap<QString,QString>::Iterator it; - Interface *iface; + InterfacePPP *iface; qDebug("getting interfaces"); for( it = ifaces.begin(); it != ifaces.end(); ++it ){ qDebug("ifaces %s", it.key().latin1()); - iface = new Interface( 0, it.key() ); + iface = new InterfacePPP( 0, it.key() ); iface->setHardwareName( it.data() ); - list.append( iface ); + list.append( (Interface*)iface ); } } /** @@ -31,10 +32,9 @@ PPPModule::~PPPModule(){ for ( i=list.first(); i != 0; i=list.next() ){ ifaces.insert( i->getInterfaceName(), i->getHardwareName() ); delete i; } - PPPData::data()->setConfiguredInterfaces( ifaces ); - PPPData::data()->save(); + PPPData::setConfiguredInterfaces( ifaces ); } /** * Change the current profile @@ -66,10 +66,10 @@ bool PPPModule::isOwner(Interface *i){ * @return QWidget* pointer to this modules configure. */ QWidget *PPPModule::configure(Interface *i){ qDebug("return ModemWidget"); - PPPConfigWidget *pppconfig = new PPPConfigWidget( i, 0, "PPPConfig", - false, + PPPConfigWidget *pppconfig = new PPPConfigWidget( (InterfacePPP*)i, + 0, "PPPConfig", false, Qt::WDestructiveClose ); return pppconfig; } @@ -80,9 +80,10 @@ QWidget *PPPModule::configure(Interface *i){ QWidget *PPPModule::information(Interface *i){ // We don't have any advanced pppd information widget yet :-D // TODO ^ qDebug("return PPPModule::information"); - InterfaceInformationImp *information = new InterfaceInformationImp( 0, "InterfaceSetupImp", i); +// InterfaceInformationImp *information = new InterfaceInformationImp( 0, "InterfaceSetupImp", i); + InterfaceInformationPPP *information = new InterfaceInformationPPP( 0, "InterfaceInformationPPP", i ); return information; } /** @@ -105,14 +106,16 @@ QList<Interface> PPPModule::getInterfaces(){ Interface *PPPModule::addNewInterface(const QString &newInterface){ qDebug("try to add iface %s",newInterface.latin1()); + InterfacePPP *ifaceppp; Interface *iface; - iface = new Interface(); - PPPConfigWidget imp(iface, 0, "PPPConfigImp", true); + ifaceppp = new InterfacePPP(); + PPPConfigWidget imp(ifaceppp, 0, "PPPConfigImp", true); imp.showMaximized(); if(imp.exec() == QDialog::Accepted ){ iface->setModuleOwner( this ); + iface = ifaceppp; list.append( iface ); return iface; }else { delete iface; |