30 files changed, 1119 insertions, 975 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 @@ -50,8 +50,8 @@ 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); @@ -152,17 +152,17 @@ AccountWidget::AccountWidget( QWidget *parent, const char *name ) // 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(); } @@ -175,9 +175,9 @@ void AccountWidget::slotListBoxSelect(int idx) { 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); } } @@ -214,14 +214,14 @@ 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(); } } @@ -245,15 +245,15 @@ 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(); @@ -263,13 +263,13 @@ void AccountWidget::newaccount() { // } 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(); } @@ -284,11 +284,11 @@ void AccountWidget::copyaccount() { 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(); } @@ -300,11 +300,11 @@ 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()); @@ -322,27 +322,27 @@ int AccountWidget::doTab(){ 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 @@ -42,11 +42,12 @@ 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: @@ -69,6 +70,7 @@ signals: private: QString prettyPrintVolume(unsigned int); + PPPData *_pppdata; QTabWidget *tabWindow; DialWidget *dial_w; // AccountingSelector *acct; 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 @@ -65,7 +65,7 @@ #include "auth.h" #include "connect.h" //#include "docking.h" -//#include "main.h" +#include "interfaceppp.h" #include "modem.h" #include "kpppconfig.h" #include "pppdata.h" @@ -74,15 +74,12 @@ //#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), @@ -96,9 +93,8 @@ ConnectWidget::ConnectWidget(QWidget *parent, const char *name) scanvar(""), scanning(false), pausing(false), -// termwindow(0), -// stats(st), - dialnumber(0) + dialnumber(0), + _ifaceppp(ifp) { modified_hostname = false; @@ -179,7 +175,7 @@ void ConnectWidget::preinit() { void ConnectWidget::init() { - PPPData::data()->setpppdError(0); + _ifaceppp->data()->setpppdError(0); inittimer->stop(); vmain = 0; substate = -1; @@ -194,26 +190,26 @@ void ConnectWidget::init() { // 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 { @@ -223,7 +219,7 @@ void ConnectWidget::init() { // } 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.")); @@ -237,20 +233,20 @@ void ConnectWidget::init() { 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); @@ -260,9 +256,9 @@ 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(); } @@ -284,18 +280,18 @@ void ConnectWidget::timerEvent(QTimerEvent *) { 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++; @@ -306,7 +302,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { * 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; @@ -316,11 +312,11 @@ 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; @@ -336,18 +332,18 @@ void ConnectWidget::timerEvent(QTimerEvent *) { } 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; } @@ -355,12 +351,12 @@ void ConnectWidget::timerEvent(QTimerEvent *) { 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; @@ -372,23 +368,23 @@ void ConnectWidget::timerEvent(QTimerEvent *) { 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; } @@ -398,52 +394,52 @@ void ConnectWidget::timerEvent(QTimerEvent *) { // 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; } } @@ -451,13 +447,13 @@ void ConnectWidget::timerEvent(QTimerEvent *) { // 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; } } @@ -494,10 +490,10 @@ void ConnectWidget::timerEvent(QTimerEvent *) { 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; } @@ -513,8 +509,8 @@ void ConnectWidget::timerEvent(QTimerEvent *) { 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); @@ -578,8 +574,8 @@ void ConnectWidget::timerEvent(QTimerEvent *) { 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; @@ -592,7 +588,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { messg->setText(i18n("Answer")); emit debugMessage(i18n("Answer")); - setExpect(PPPData::data()->modemRingResp()); + setExpect(_ifaceppp->data()->modemRingResp()); vmain = 150; return; } @@ -602,7 +598,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { 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 @@ -638,7 +634,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { 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 @@ -659,7 +655,7 @@ 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++; @@ -785,8 +781,8 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if(vmain == 150) { if(!expecting) { - writeline(PPPData::data()->modemAnswerStr()); - setExpect(PPPData::data()->modemAnswerResp()); + writeline(_ifaceppp->data()->modemAnswerStr()); + setExpect(_ifaceppp->data()->modemAnswerResp()); vmain = 2; scriptindex++; @@ -812,9 +808,9 @@ void ConnectWidget::timerEvent(QTimerEvent *) { 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; @@ -831,12 +827,12 @@ 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()); @@ -849,8 +845,8 @@ void ConnectWidget::timerEvent(QTimerEvent *) { 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. @@ -863,14 +859,14 @@ void ConnectWidget::timerEvent(QTimerEvent *) { 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(); } @@ -890,7 +886,7 @@ void ConnectWidget::set_con_speed_string() { // 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); } @@ -969,7 +965,7 @@ void ConnectWidget::pause() { void ConnectWidget::cancelbutton() { - Modem::modem->stop(); + _ifaceppp->modem()->stop(); killTimer(main_timer_ID); timeout_timer->stop(); if_timer->stop(); @@ -984,23 +980,23 @@ 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()) { @@ -1026,7 +1022,7 @@ void ConnectWidget::script_timed_out() { prompt->setConsumed(); messg->setText(i18n("Script timed out!")); - Modem::modem->hangup(); + _ifaceppp->modem()->hangup(); emit stopAccounting(); // p_kppp->con_win->stopClock(); @@ -1063,10 +1059,10 @@ void ConnectWidget::if_waiting_timed_out() { 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(); @@ -1088,7 +1084,7 @@ void ConnectWidget::if_waiting_slot() { // 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() @@ -1105,27 +1101,27 @@ void ConnectWidget::if_waiting_slot() { 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(); @@ -1141,20 +1137,20 @@ void ConnectWidget::if_waiting_slot() { // 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(); } @@ -1168,17 +1164,17 @@ bool ConnectWidget::execppp() { // 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 { @@ -1186,27 +1182,27 @@ bool ConnectWidget::execppp() { 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 ) @@ -1215,25 +1211,25 @@ bool ConnectWidget::execppp() { } // 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) { @@ -1247,7 +1243,7 @@ bool ConnectWidget::execppp() { qApp->flushX(); - return Modem::modem->execPPPDaemon(command); + return _ifaceppp->modem()->execPPPDaemon(command); } @@ -1262,11 +1258,11 @@ void ConnectWidget::setMsg(const QString &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; @@ -1277,8 +1273,8 @@ void auto_hostname() { 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); @@ -1286,13 +1282,13 @@ void auto_hostname() { 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); } } @@ -1300,7 +1296,7 @@ void auto_hostname() { // 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; @@ -1309,7 +1305,7 @@ void add_domain(const QString &domain) { 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)) { @@ -1323,7 +1319,7 @@ 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()); @@ -1332,7 +1328,7 @@ void add_domain(const QString &domain) { 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"; @@ -1350,12 +1346,12 @@ 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 ) @@ -1366,13 +1362,13 @@ void adddns() } 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; @@ -1387,17 +1383,17 @@ void addpeerdns() { 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) { @@ -1410,7 +1406,7 @@ 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")) { @@ -1429,7 +1425,7 @@ 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 @@ -36,17 +36,17 @@ #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: @@ -136,17 +136,17 @@ private: 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 @@ -31,19 +31,16 @@ #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); @@ -115,122 +112,122 @@ QString ConWindow::prettyPrintVolume(unsigned int n) { 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(); - } +// void ConWindow::accounting(bool on) { +// // cache accounting settings +// accountingEnabled = on; +// // volumeAccountingEnabled = PPPData::data()->VolAcctEnabled(); - } 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(); - } - } +// // delete old layout +// if(tl1 != 0) +// delete tl1; - tl->addSpacing(10); - QVBoxLayout *l2 = new QVBoxLayout(5); - tl->addLayout(l2); - l2->addStretch(1); -// l2->addWidget(statsbutton); - l2->addWidget(cancelbutton); +// // add layout now +// tl1 = new QVBoxLayout(this, 10, 10); +// tl1->addSpacing(5); +// QHBoxLayout *tl = new QHBoxLayout; +// tl1->addLayout(tl); +// tl->addSpacing(20); +// QGridLayout *l1; - l2->addStretch(1); +// int vol_lines = 0; +// // if(_pppdata->VolAcctEnabled()) +// // vol_lines = 1; - tl1->addSpacing(5); +// 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); - setFixedSize(sizeHint()); -/* - do not overwrite position read from config - setGeometry((QApplication::desktop()->width() - width()) / 2, - (QApplication::desktop()->height() - height())/2, - width(), - height()); -*/ -} +// 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(); -void ConWindow::dock() { -// DockWidget::dock_widget->show(); - this->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); + +// 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() { @@ -239,9 +236,9 @@ void ConWindow::startClock() { 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); @@ -265,7 +262,7 @@ 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) @@ -275,7 +272,7 @@ void ConWindow::timeclick() { // if(volumeAccountingEnabled) { // volinfo->setEnabled(TRUE); -// int bytes = PPPData::data()->totalBytes(); +// int bytes = _pppdata->totalBytes(); // volinfo->setText(prettyPrintVolume(bytes)); // } @@ -305,14 +302,14 @@ 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); @@ -328,8 +325,8 @@ void ConWindow::closeEvent( QCloseEvent *e ){ // 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(); } 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 @@ -34,13 +34,13 @@ #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: @@ -49,13 +49,13 @@ protected: 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); @@ -82,9 +82,7 @@ private: QVBoxLayout *tl1; QLabel *vollabel; QLabel *volinfo; -// PPPStats *stats; - bool accountingEnabled; - bool volumeAccountingEnabled; + PPPData *_pppdata; }; 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 @@ -45,8 +45,9 @@ #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; @@ -154,10 +155,10 @@ DialWidget::DialWidget( QWidget *parent, bool isnewaccount, const char *name ) // 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()) { @@ -172,8 +173,8 @@ 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); @@ -187,10 +188,10 @@ 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++) { @@ -199,9 +200,9 @@ bool DialWidget::save() { 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; } } @@ -263,7 +264,7 @@ void DialWidget::downNumber() { void DialWidget::pppdargsbutton() { - PPPdArguments pa(this); + PPPdArguments pa(_pppdata, this); pa.exec(); } @@ -272,8 +273,8 @@ void DialWidget::pppdargsbutton() { ///////////////////////////////////////////////////////////////////////////// // 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()); @@ -360,19 +361,19 @@ i18n("Here you can select commands to run at certain stages of the\n" // 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; } @@ -383,8 +384,8 @@ 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()); @@ -449,7 +450,7 @@ IPWidget::IPWidget( QWidget *parent, bool isnewaccount, const char *name ) 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))); @@ -469,15 +470,15 @@ IPWidget::IPWidget( QWidget *parent, bool isnewaccount, const char *name ) //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); } @@ -510,13 +511,13 @@ 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()); } @@ -537,8 +538,8 @@ 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()); @@ -572,7 +573,7 @@ DNSWidget::DNSWidget( QWidget *parent, bool isnewaccount, const char *name ) 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); @@ -645,7 +646,7 @@ 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" @@ -661,11 +662,11 @@ 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); @@ -695,20 +696,20 @@ void DNSWidget::DNS_Mode_Selected(int mode) { } 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()); } @@ -732,8 +733,8 @@ 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()); @@ -785,15 +786,15 @@ GatewayWidget::GatewayWidget( QWidget *parent, bool isnewaccount, const char *na //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); @@ -803,8 +804,8 @@ 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()); } @@ -823,8 +824,8 @@ 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 ); @@ -867,8 +868,8 @@ ScriptWidget::ScriptWidget( QWidget *parent, bool isnewaccount, const char *name //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(); @@ -914,8 +915,8 @@ void ScriptWidget::save() { 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 @@ -47,11 +47,12 @@ #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: @@ -76,6 +77,7 @@ private: // for the phonenumber selection QPushButton *add, *del, *up, *down; QListBox *numbers; + PPPData *_pppdata; }; @@ -87,7 +89,7 @@ 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(); @@ -104,13 +106,14 @@ private: 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: @@ -134,13 +137,14 @@ private: 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: @@ -166,13 +170,14 @@ private: 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: @@ -190,13 +195,14 @@ private: 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: @@ -225,6 +231,7 @@ private: QListBox *sl, *stl; QScrollBar *slb; + PPPData *_pppdata; }; @@ -245,6 +252,7 @@ private slots: private: QLineEdit *le; + }; 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 @@ -39,7 +39,7 @@ // #include <qgroupbox.h> #include "general.h" -//#include "version.h" +#include "interfaceppp.h" //#include "miniterm.h" #include "modeminfo.h" #include "modemcmds.h" @@ -50,8 +50,8 @@ -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; @@ -172,7 +172,7 @@ ModemWidget::ModemWidget( QWidget *parent, const char *name) 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); } @@ -181,7 +181,7 @@ ModemWidget::ModemWidget( QWidget *parent, const char *name) //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); @@ -201,10 +201,11 @@ ModemWidget::ModemWidget( QWidget *parent, const char *name) 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); @@ -218,23 +219,23 @@ ModemWidget::ModemWidget( QWidget *parent, const char *name) //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); @@ -242,43 +243,44 @@ ModemWidget::ModemWidget( QWidget *parent, const char *name) 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, @@ -293,7 +295,7 @@ 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")); @@ -318,7 +320,8 @@ ModemWidget2::ModemWidget2( QWidget *parent, const char *name) 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); @@ -342,7 +345,7 @@ ModemWidget2::ModemWidget2( QWidget *parent, const char *name) #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); @@ -399,14 +402,14 @@ 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(); } @@ -419,20 +422,20 @@ 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 @@ -34,13 +34,13 @@ 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); @@ -64,13 +64,14 @@ private: 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); @@ -91,6 +92,7 @@ private: 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 @@ -37,6 +37,7 @@ #include <qtabwidget.h> #include <qdialog.h> #include <qwhatsthis.h> +#include <qcheckbox.h> // #include <kaboutdata.h> // #include <kapplication.h> @@ -70,19 +71,27 @@ //#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) @@ -90,108 +99,108 @@ KPPPWidget::KPPPWidget( QWidget *parent, const char *name, bool modal, WFlags fl // 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) + 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); @@ -204,27 +213,27 @@ 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 @@ -235,7 +244,7 @@ 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); @@ -244,23 +253,23 @@ KPPPWidget::KPPPWidget( QWidget *parent, const char *name, bool modal, WFlags fl // 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(); @@ -274,7 +283,7 @@ KPPPWidget::KPPPWidget( QWidget *parent, const char *name, bool modal, WFlags fl // } // 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); @@ -346,7 +355,7 @@ void KPPPWidget::enterPressedInPW() { // triggered by the session manager void KPPPWidget::saveMyself() { - PPPData::data()->save(); + _pppdata->save(); } void KPPPWidget::shutDown() { @@ -355,7 +364,7 @@ void KPPPWidget::shutDown() { } void KPPPWidget::log_window_toggled(bool on) { - PPPData::data()->set_show_log_window(on); + _pppdata->set_show_log_window(on); } @@ -364,7 +373,7 @@ void KPPPWidget::log_window_toggled(bool on) { // void KPPPWidget::resetaccounts() { // connectto_c->clear(); -// int count = PPPData::data()->count(); +// int count = _pppdata->count(); // // enable/disable controls // connectto_c->setEnabled(count > 0); @@ -375,27 +384,27 @@ void KPPPWidget::log_window_toggled(bool on) { // //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 &)), @@ -413,11 +422,13 @@ 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(); } @@ -428,7 +439,7 @@ 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 @@ -440,36 +451,37 @@ 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 { @@ -490,22 +502,22 @@ void KPPPWidget::sigPPPDDied() { 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); } } @@ -526,10 +538,10 @@ 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()); } @@ -539,10 +551,10 @@ 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()); @@ -560,14 +572,14 @@ void KPPPWidget::beginConnect() { 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; @@ -575,27 +587,24 @@ void KPPPWidget::beginConnect() { "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); @@ -605,7 +614,7 @@ 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; @@ -613,7 +622,7 @@ void KPPPWidget::beginConnect() { 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(); @@ -624,16 +633,16 @@ 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 { @@ -642,7 +651,7 @@ void KPPPWidget::disconnect() { // usleep(500000); // } while (i == 0 && errno == 0); -// con->hide(); + con->hide(); } qApp->processEvents(); @@ -651,7 +660,7 @@ void KPPPWidget::disconnect() { 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); @@ -659,9 +668,9 @@ void KPPPWidget::disconnect() { 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(); @@ -681,22 +690,22 @@ 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(); } @@ -710,13 +719,13 @@ void KPPPWidget::quitbutton() { // // 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 @@ -726,9 +735,9 @@ void KPPPWidget::quitbutton() { // 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 @@ -743,9 +752,9 @@ 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) { @@ -766,16 +775,16 @@ 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(""); } @@ -815,7 +824,7 @@ 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")); @@ -867,8 +876,8 @@ void KPPPWidget::showNews() { 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 @@ -34,13 +34,14 @@ #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 &); @@ -70,8 +71,8 @@ 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; @@ -86,7 +87,7 @@ private: void showNews (); QString ruleset_load_errmsg; - + PPPData *_pppdata; QPushButton *setup_b; QFrame *fline; QFrame *fline1; 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 @@ -62,7 +62,7 @@ static sigjmp_buf jmp_buffer; -Modem *Modem::modem = 0; +//Modem *Modem::modem = 0; const char* pppdPath() { @@ -91,9 +91,9 @@ const char* pppdPath() { } -Modem::Modem() +Modem::Modem( PPPData* pd ) { - if (Modem::modem != 0) return; //CORRECT? + _pppdata = pd; modemfd = -1; _pppdExitStatus = -1; pppdPid = -1; @@ -102,12 +102,11 @@ Modem::Modem() modem_is_locked = false; lockfile[0] = '\0'; device = "/dev/modem"; - modem = this; } -Modem::~Modem() { - modem = 0; +Modem::~Modem() +{ } @@ -115,7 +114,7 @@ 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: @@ -165,7 +164,7 @@ bool Modem::opentty() { //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."); @@ -175,7 +174,7 @@ bool Modem::opentty() { //} #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); @@ -223,8 +222,8 @@ bool Modem::opentty() { 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 { @@ -353,7 +352,7 @@ bool Modem::writeLine(const char *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") @@ -393,9 +392,9 @@ 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) { @@ -431,7 +430,7 @@ bool Modem::hangup() { 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()); @@ -454,11 +453,11 @@ 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; } @@ -574,7 +573,7 @@ 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; } @@ -583,7 +582,7 @@ int Modem::lockdevice() { 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-> @@ -614,7 +613,7 @@ if ((fd = openLockfile(QFile::encodeName(lockfile), O_RDONLY)) >= 0) { } } - 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); @@ -988,7 +987,7 @@ 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; @@ -996,7 +995,7 @@ bool Modem::execPPPDaemon(const QString & arguments) void Modem::killPPPDaemon() { - PPPData::data()->setpppdRunning(false); + _pppdata->setpppdRunning(false); killpppd(); } 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 @@ -35,7 +35,7 @@ #include <qsocketnotifier.h> -//#include <config.h> +class PPPData; void alarm_handler(int); const char *pppdPath(); @@ -43,7 +43,7 @@ const char *pppdPath(); class Modem : public QObject { Q_OBJECT public: - Modem(); + Modem(PPPData*); ~Modem(); const QString getDevice() {return device;}; @@ -76,7 +76,7 @@ public: public: enum Auth { PAP = 1, CHAP }; - static Modem *modem; + // static Modem *modem; int lastStatus; signals: @@ -112,6 +112,7 @@ private: 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 @@ -40,8 +40,8 @@ // 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")); @@ -240,73 +240,73 @@ ModemCommands::ModemCommands(QWidget *parent, const char *name) 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 @@ -44,7 +44,7 @@ Q_OBJECT public: - ModemCommands(QWidget *parent=0, const char *name=0); + ModemCommands(PPPData*, QWidget *parent=0, const char *name=0); ~ModemCommands() {} private slots: @@ -52,6 +52,7 @@ private slots: void slotOk(); private: + PPPData *_pppdata; QGroupBox *box; 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 @@ -37,8 +37,9 @@ //#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()); @@ -97,8 +98,8 @@ 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 @@ -126,7 +127,7 @@ void ModemTransfer::init() { qApp->processEvents(); - int lock = Modem::modem->lockdevice(); + int lock = _modem->lockdevice(); if (lock == 1) { statusBar->setText(i18n("Modem device is locked.")); @@ -140,10 +141,10 @@ void ModemTransfer::init() { } - 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(); @@ -152,17 +153,17 @@ void ModemTransfer::init() { 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(); } @@ -175,7 +176,7 @@ void ModemTransfer::do_script() { readtty(); statusBar->setText("ATI..."); progressBar->setProgress( progressBar->progress() + 1); - Modem::modem->writeLine("ATI\n"); + _modem->writeLine("ATI\n"); break; case 1: @@ -190,7 +191,7 @@ void ModemTransfer::do_script() { 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: @@ -223,16 +224,16 @@ 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 @@ -37,13 +37,15 @@ //#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(); @@ -60,6 +62,7 @@ protected: void closeEvent(QCloseEvent *e); private: + Modem *_modem; int step; QString readbuffer; 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 @@ -4,10 +4,10 @@ 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 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 @@ -5,13 +5,13 @@ #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) @@ -24,16 +24,11 @@ PPPConfigWidget::PPPConfigWidget( Interface* iface, QWidget *parent, } 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 ); @@ -41,11 +36,11 @@ PPPConfigWidget::PPPConfigWidget( Interface* iface, QWidget *parent, 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") ) ); @@ -61,17 +56,17 @@ 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 @@ -4,7 +4,8 @@ #include <qdialog.h> class QTabWidget; -class Interface; +//class Interface; +class InterfacePPP; class AccountWidget; class GeneralWidget; class ModemWidget; @@ -14,7 +15,7 @@ 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(); @@ -24,7 +25,7 @@ protected slots: virtual void reject(); private: - Interface *interface; + InterfacePPP *interface; QTabWidget *tabWindow; AccountWidget *accounts; GeneralWidget *general; 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 @@ -34,8 +34,8 @@ //#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()); @@ -121,14 +121,14 @@ 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); } @@ -136,7 +136,7 @@ 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); } @@ -146,7 +146,7 @@ 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 ) 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 @@ -33,11 +33,12 @@ #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: @@ -62,6 +63,7 @@ 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 @@ -38,21 +38,8 @@ // #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), @@ -62,17 +49,6 @@ PPPData::PPPData() 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) @@ -90,26 +66,54 @@ bool PPPData::open() { ::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); } - } @@ -117,42 +121,40 @@ void PPPData::save() { // 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; } @@ -160,38 +162,55 @@ int PPPData::readNumConfig(const QString &group, const QString &key, 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); + QString idx = SEP.arg(group).arg(key); + if (listEntries.find(idx) != listEntries.end()){ + list = listEntries[idx]; return true; - } else + } + 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); +// } } @@ -281,24 +300,24 @@ void PPPData::set_automatic_redial(bool 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() { @@ -790,7 +809,7 @@ 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++; @@ -990,14 +1009,14 @@ void PPPData::setAcctEnabled(bool 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() { @@ -1023,7 +1042,7 @@ 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)); } @@ -1226,12 +1245,16 @@ 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; @@ -1240,13 +1263,14 @@ QMap<QString,QString> PPPData::getConfiguredInterfaces() 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 @@ -155,19 +155,18 @@ 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 &, @@ -207,11 +206,11 @@ 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 &); @@ -311,11 +310,6 @@ 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 &); @@ -374,8 +368,8 @@ 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); @@ -415,41 +409,12 @@ 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 @@ -460,6 +425,11 @@ private: 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,24 +1,25 @@ + #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 ); } } @@ -32,8 +33,7 @@ PPPModule::~PPPModule(){ ifaces.insert( i->getInterfaceName(), i->getHardwareName() ); delete i; } - PPPData::data()->setConfiguredInterfaces( ifaces ); - PPPData::data()->save(); + PPPData::setConfiguredInterfaces( ifaces ); } /** @@ -67,8 +67,8 @@ bool PPPModule::isOwner(Interface *i){ */ 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; } @@ -81,7 +81,8 @@ 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; } @@ -106,12 +107,14 @@ 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 { |