-rw-r--r-- | noncore/settings/networksettings/ppp/devices.cpp | 7 | ||||
-rw-r--r-- | noncore/settings/networksettings/ppp/general.cpp | 34 | ||||
-rw-r--r-- | noncore/settings/networksettings/ppp/general.h | 17 |
3 files changed, 55 insertions, 3 deletions
diff --git a/noncore/settings/networksettings/ppp/devices.cpp b/noncore/settings/networksettings/ppp/devices.cpp index e2c67d8..c658227 100644 --- a/noncore/settings/networksettings/ppp/devices.cpp +++ b/noncore/settings/networksettings/ppp/devices.cpp | |||
@@ -194,8 +194,13 @@ int DevicesWidget::doTab(){ | |||
194 | tabWindow->addTab( modem1, tr("&Device") ); | 194 | tabWindow->addTab( modem1, tr("&Device") ); |
195 | modem2 = new ModemWidget2( _pppdata, _ifaceppp, tabWindow, "modem2" ); | 195 | modem2 = new ModemWidget2( _pppdata, _ifaceppp, tabWindow, "modem2" ); |
196 | tabWindow->addTab( modem2, tr("&Modem") ); | 196 | tabWindow->addTab( modem2, tr("&Modem") ); |
197 | 197 | ||
198 | connect(modem2, SIGNAL(sig_beforeQueryModem()), | ||
199 | modem1, SLOT(slotBeforeModemQuery())); | ||
200 | connect(modem2, SIGNAL(sig_afterQueryModem()), | ||
201 | modem1, SLOT(slotAfterModemQuery())); | ||
202 | |||
198 | int result = 0; | 203 | int result = 0; |
199 | bool ok = false; | 204 | bool ok = false; |
200 | 205 | ||
201 | while (!ok){ | 206 | while (!ok){ |
@@ -203,9 +208,9 @@ int DevicesWidget::doTab(){ | |||
203 | ok = true; | 208 | ok = true; |
204 | 209 | ||
205 | if(result == QDialog::Accepted) { | 210 | if(result == QDialog::Accepted) { |
206 | if (!modem1->save()){ | 211 | if (!modem1->save()){ |
207 | QMessageBox::critical(this, "error", tr( "You must enter a unique device name")); | 212 | QMessageBox::critical(this, tr("Error"), tr( "You must enter a unique device name")); |
208 | ok = false; | 213 | ok = false; |
209 | }else{ | 214 | }else{ |
210 | modem2->save(); | 215 | modem2->save(); |
211 | } | 216 | } |
diff --git a/noncore/settings/networksettings/ppp/general.cpp b/noncore/settings/networksettings/ppp/general.cpp index 40ba19b..5e2a04f 100644 --- a/noncore/settings/networksettings/ppp/general.cpp +++ b/noncore/settings/networksettings/ppp/general.cpp | |||
@@ -285,9 +285,8 @@ ModemWidget::~ModemWidget() | |||
285 | if ( devs.contains( edited ) == 0 ) | 285 | if ( devs.contains( edited ) == 0 ) |
286 | { | 286 | { |
287 | devs << edited; | 287 | devs << edited; |
288 | } | 288 | } |
289 | _pppdata->setModemDevice( edited ); | ||
290 | } | 289 | } |
291 | 290 | ||
292 | 291 | ||
293 | Config cfg("NetworkSetupPPP"); | 292 | Config cfg("NetworkSetupPPP"); |
@@ -336,9 +335,8 @@ bool ModemWidget::save() | |||
336 | if(modemname->text().isEmpty() || | 335 | if(modemname->text().isEmpty() || |
337 | !_pppdata->isUniqueDevname(modemname->text())) | 336 | !_pppdata->isUniqueDevname(modemname->text())) |
338 | return false; | 337 | return false; |
339 | 338 | ||
340 | odebug << "ModemWidget::save saving modem1 data" << oendl; | ||
341 | _pppdata->setDevname( modemname->text() ); | 339 | _pppdata->setDevname( modemname->text() ); |
342 | _pppdata->setModemDevice( modemdevice->currentText() ); | 340 | _pppdata->setModemDevice( modemdevice->currentText() ); |
343 | _pppdata->setFlowcontrol(flowcontrol->currentText()); | 341 | _pppdata->setFlowcontrol(flowcontrol->currentText()); |
344 | _pppdata->setFlowcontrol(flowcontrol->currentText()); | 342 | _pppdata->setFlowcontrol(flowcontrol->currentText()); |
@@ -348,8 +346,36 @@ bool ModemWidget::save() | |||
348 | return true; | 346 | return true; |
349 | 347 | ||
350 | } | 348 | } |
351 | 349 | ||
350 | void ModemWidget::slotBeforeModemQuery() | ||
351 | { | ||
352 | m_oldModemDev = _pppdata->modemDevice(); | ||
353 | m_oldFlowControl = _pppdata->flowcontrol(); | ||
354 | m_oldSpeed = _pppdata->speed(); | ||
355 | m_oldModemLock = _pppdata->modemLockFile(); | ||
356 | m_oldModemTimeout = _pppdata->modemTimeout(); | ||
357 | |||
358 | |||
359 | _pppdata->setModemDevice( modemdevice->currentText() ); | ||
360 | _pppdata->setFlowcontrol(flowcontrol->currentText()); | ||
361 | _pppdata->setFlowcontrol(flowcontrol->currentText()); | ||
362 | _pppdata->setSpeed(baud_c->currentText()); | ||
363 | _pppdata->setModemLockFile( modemlockfile->isChecked()); | ||
364 | _pppdata->setModemTimeout( modemtimeout->value() ); | ||
365 | } | ||
366 | |||
367 | |||
368 | void ModemWidget::slotAfterModemQuery() | ||
369 | { | ||
370 | _pppdata->setModemDevice( m_oldModemDev ); | ||
371 | _pppdata->setFlowcontrol( m_oldFlowControl ); | ||
372 | _pppdata->setSpeed( m_oldSpeed ); | ||
373 | _pppdata->setModemLockFile( m_oldModemLock ); | ||
374 | _pppdata->setModemTimeout( m_oldModemTimeout ); | ||
375 | } | ||
376 | |||
377 | |||
352 | ModemWidget2::ModemWidget2( PPPData *pd, InterfacePPP *ip, QWidget *parent, | 378 | ModemWidget2::ModemWidget2( PPPData *pd, InterfacePPP *ip, QWidget *parent, |
353 | const char *name) | 379 | const char *name) |
354 | : QWidget(parent, name), _pppdata(pd), _ifaceppp(ip) | 380 | : QWidget(parent, name), _pppdata(pd), _ifaceppp(ip) |
355 | { | 381 | { |
@@ -487,10 +513,14 @@ void ModemWidget2::modemcmdsbutton() | |||
487 | 513 | ||
488 | 514 | ||
489 | void ModemWidget2::query_modem() | 515 | void ModemWidget2::query_modem() |
490 | { | 516 | { |
517 | emit sig_beforeQueryModem(); | ||
518 | |||
491 | ModemTransfer mt(_ifaceppp->modem(), this); | 519 | ModemTransfer mt(_ifaceppp->modem(), this); |
492 | mt.exec(); | 520 | mt.exec(); |
521 | |||
522 | emit sig_afterQueryModem(); | ||
493 | } | 523 | } |
494 | 524 | ||
495 | 525 | ||
496 | // void ModemWidget2::terminal() { | 526 | // void ModemWidget2::terminal() { |
diff --git a/noncore/settings/networksettings/ppp/general.h b/noncore/settings/networksettings/ppp/general.h index f43f241..a4dece4 100644 --- a/noncore/settings/networksettings/ppp/general.h +++ b/noncore/settings/networksettings/ppp/general.h | |||
@@ -45,8 +45,16 @@ public: | |||
45 | ~ModemWidget(); | 45 | ~ModemWidget(); |
46 | 46 | ||
47 | bool save(); | 47 | bool save(); |
48 | 48 | ||
49 | private slots: | ||
50 | /* | ||
51 | * temporarily commit configuration so queryModem | ||
52 | * will use 'current' settings | ||
53 | */ | ||
54 | void slotBeforeModemQuery(); | ||
55 | void slotAfterModemQuery(); | ||
56 | |||
49 | /* private slots: */ | 57 | /* private slots: */ |
50 | /* void setmodemdc(int); */ | 58 | /* void setmodemdc(int); */ |
51 | /* void setmodemdc(const QString &); */ | 59 | /* void setmodemdc(const QString &); */ |
52 | /* void setflowcontrol(int); */ | 60 | /* void setflowcontrol(int); */ |
@@ -70,8 +78,13 @@ private: | |||
70 | 78 | ||
71 | QSpinBox *modemtimeout; | 79 | QSpinBox *modemtimeout; |
72 | QCheckBox *modemlockfile; | 80 | QCheckBox *modemlockfile; |
73 | PPPData *_pppdata; | 81 | PPPData *_pppdata; |
82 | |||
83 | private: | ||
84 | QString m_oldModemDev, m_oldFlowControl, m_oldSpeed; | ||
85 | bool m_oldModemLock; | ||
86 | int m_oldModemTimeout; | ||
74 | }; | 87 | }; |
75 | 88 | ||
76 | 89 | ||
77 | class ModemWidget2 : public QWidget { | 90 | class ModemWidget2 : public QWidget { |
@@ -79,8 +92,12 @@ class ModemWidget2 : public QWidget { | |||
79 | public: | 92 | public: |
80 | ModemWidget2( PPPData*, InterfacePPP*, QWidget *parent=0, const char *name=0 ); | 93 | ModemWidget2( PPPData*, InterfacePPP*, QWidget *parent=0, const char *name=0 ); |
81 | bool save(); | 94 | bool save(); |
82 | 95 | ||
96 | signals: | ||
97 | void sig_beforeQueryModem(); | ||
98 | void sig_afterQueryModem(); | ||
99 | |||
83 | private slots: | 100 | private slots: |
84 | /* void waitfordtchanged(bool); */ | 101 | /* void waitfordtchanged(bool); */ |
85 | /* void busywaitchanged(int); */ | 102 | /* void busywaitchanged(int); */ |
86 | // void use_cdline_toggled(bool); | 103 | // void use_cdline_toggled(bool); |