summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/ppp/devices.cpp7
-rw-r--r--noncore/settings/networksettings/ppp/general.cpp34
-rw-r--r--noncore/settings/networksettings/ppp/general.h17
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
@@ -192,22 +192,27 @@ int DevicesWidget::doTab(){
192 192
193 modem1 = new ModemWidget( _pppdata, tabWindow, "modem1" ); 193 modem1 = new ModemWidget( _pppdata, tabWindow, "modem1" );
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){
202 result = QPEApplication::execDialog( dlg ); 207 result = QPEApplication::execDialog( dlg );
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 }
212 } 217 }
213 } 218 }
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
@@ -283,13 +283,12 @@ ModemWidget::~ModemWidget()
283 { 283 {
284 edited.simplifyWhiteSpace(); 284 edited.simplifyWhiteSpace();
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");
294 cfg.setGroup("Devices_General"); 293 cfg.setGroup("Devices_General");
295 cfg.writeEntry("devices",devs,','); 294 cfg.writeEntry("devices",devs,',');
@@ -334,24 +333,51 @@ bool ModemWidget::save()
334{ 333{
335 //first check to make sure that the device name is unique! 334 //first check to make sure that the device name is unique!
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());
345 _pppdata->setSpeed(baud_c->currentText()); 343 _pppdata->setSpeed(baud_c->currentText());
346 _pppdata->setModemLockFile( modemlockfile->isChecked()); 344 _pppdata->setModemLockFile( modemlockfile->isChecked());
347 _pppdata->setModemTimeout( modemtimeout->value() ); 345 _pppdata->setModemTimeout( modemtimeout->value() );
348 return true; 346 return true;
349 347
350} 348}
351 349
350void 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
368void 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
352ModemWidget2::ModemWidget2( PPPData *pd, InterfacePPP *ip, QWidget *parent, 378ModemWidget2::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{
356 QVBoxLayout *l1 = new QVBoxLayout(this, 0 );//, KDialog::spacingHint()); 382 QVBoxLayout *l1 = new QVBoxLayout(this, 0 );//, KDialog::spacingHint());
357 383
@@ -485,14 +511,18 @@ void ModemWidget2::modemcmdsbutton()
485 QPEApplication::execDialog( &mc ); 511 QPEApplication::execDialog( &mc );
486} 512}
487 513
488 514
489void ModemWidget2::query_modem() 515void 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() {
497// MiniTerm terminal(NULL,NULL); 527// MiniTerm terminal(NULL,NULL);
498// terminal.exec(); 528// terminal.exec();
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
@@ -43,12 +43,20 @@ class ModemWidget : public QWidget {
43public: 43public:
44 ModemWidget(PPPData*, QWidget *parent=0, const char *name=0 ); 44 ModemWidget(PPPData*, QWidget *parent=0, const char *name=0 );
45 ~ModemWidget(); 45 ~ModemWidget();
46 46
47 bool save(); 47 bool save();
48 48
49private 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); */
53 /* void modemtimeoutchanged(int); */ 61 /* void modemtimeoutchanged(int); */
54 /* void modemlockfilechanged(bool); */ 62 /* void modemlockfilechanged(bool); */
@@ -68,21 +76,30 @@ private:
68 QComboBox *baud_c; 76 QComboBox *baud_c;
69 QLabel *baud_label; 77 QLabel *baud_label;
70 78
71 QSpinBox *modemtimeout; 79 QSpinBox *modemtimeout;
72 QCheckBox *modemlockfile; 80 QCheckBox *modemlockfile;
73 PPPData *_pppdata; 81 PPPData *_pppdata;
82
83private:
84 QString m_oldModemDev, m_oldFlowControl, m_oldSpeed;
85 bool m_oldModemLock;
86 int m_oldModemTimeout;
74}; 87};
75 88
76 89
77class ModemWidget2 : public QWidget { 90class ModemWidget2 : public QWidget {
78 Q_OBJECT 91 Q_OBJECT
79public: 92public:
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
96signals:
97 void sig_beforeQueryModem();
98 void sig_afterQueryModem();
99
83private slots: 100private 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);
87 void modemcmdsbutton(); 104 void modemcmdsbutton();
88 // void terminal(); 105 // void terminal();