--- kdenetwork-3.5.7/kppp/general.cpp~ 2006-01-19 19:43:10 +0300 +++ kdenetwork-3.5.7/kppp/general.cpp 2007-09-25 16:30:43 +0400 @@ -240,6 +240,8 @@ ModemWidget::ModemWidget(QWidget *parent tl->addWidget(modemdevice, 1, 1); /* connect(modemdevice, SIGNAL(activated(int)), SLOT(setmodemdc(int)));*/ + connect(modemdevice, SIGNAL(activated(const QString &)), + SIGNAL(modemdevicechanged(const QString &))); tmp = i18n("This specifies the serial port your modem is attached \n" "to. On Linux/x86, typically this is either /dev/ttyS0 \n" "(COM1 under DOS) or /dev/ttyS1 (COM2 under DOS).\n" @@ -569,6 +571,10 @@ ModemWidget2::ModemWidget2(QWidget *pare mc = new ModemCommands(this); } +void ModemWidget2::setmodemdevicetmp(const QString &tmpmodem) +{ + modemdevicetmp = tmpmodem; +} void ModemWidget2::modemcmdsbutton() { mc->exec(); @@ -576,14 +582,30 @@ void ModemWidget2::modemcmdsbutton() { void ModemWidget2::query_modem() { + QString modem_old; + if( !modemdevicetmp.isEmpty() ) + { + modem_old = gpppdata.modemDevice(); + gpppdata.setModemDevice(modemdevicetmp); + } ModemTransfer mt(this); mt.exec(); + if( !modem_old.isEmpty() ) + gpppdata.setModemDevice(modem_old); } void ModemWidget2::terminal() { + QString modem_old; + if( !modemdevicetmp.isEmpty() ) + { + modem_old = gpppdata.modemDevice(); + gpppdata.setModemDevice(modemdevicetmp); + } MiniTerm terminal(NULL,NULL); terminal.exec(); + if( !modem_old.isEmpty() ) + gpppdata.setModemDevice(modem_old); } --- kdenetwork-3.5.7/kppp/general.h~ 2005-09-10 12:20:37 +0400 +++ kdenetwork-3.5.7/kppp/general.h 2007-09-25 16:27:39 +0400 @@ -61,6 +61,10 @@ public: ModemWidget(QWidget *parent=0, bool isnewmodem=true, const char *name=0); bool save(); QLineEdit *connectName() { return connectname_l;} + +signals: + void modemdevicechanged(const QString &); + private slots: private: @@ -89,6 +93,8 @@ class ModemWidget2 : public QWidget { public: ModemWidget2(QWidget *parent=0, const char *name=0); bool save(); +public slots: + void setmodemdevicetmp(const QString&); private slots: // void use_cdline_toggled(bool); @@ -97,6 +103,7 @@ private slots: void query_modem(); private: + QString modemdevicetmp; QLabel *labeltmp; QPushButton *modemcmds; QPushButton *modeminfo_button; --- kdenetwork-3.5.7/kppp/modems.cpp~ 2005-09-10 12:20:37 +0400 +++ kdenetwork-3.5.7/kppp/modems.cpp 2007-09-25 16:50:03 +0400 @@ -225,6 +225,7 @@ int ModemsWidget::doTab(){ modem1 = new ModemWidget(tabWindow->addPage( i18n("&Device"), i18n("Serial Device")), isnewmodem ); modem2 = new ModemWidget2(tabWindow->addPage( i18n("&Modem"), i18n("Modem Settings"))); connect ( modem1->connectName(), SIGNAL(textChanged ( const QString & )), this, SLOT(modemNameChanged(const QString & ))); + connect ( modem1, SIGNAL(modemdevicechanged(const QString&)), modem2, SLOT(setmodemdevicetmp(const QString&))); modemNameChanged(modem1->connectName()->text()); int result = 0;