summaryrefslogtreecommitdiff
authorar <ar>2004-02-21 18:32:37 (UTC)
committer ar <ar>2004-02-21 18:32:37 (UTC)
commit536f271b1e6a1d1886e96a28524a3503c4c38c4e (patch) (side-by-side diff)
tree63b3c0ce472a89a0f9731195fececc701bf4ca67
parentdb2afda83e495bff9fc19fa14a30072f1cd4c67a (diff)
downloadopie-536f271b1e6a1d1886e96a28524a3503c4c38c4e.zip
opie-536f271b1e6a1d1886e96a28524a3503c4c38c4e.tar.gz
opie-536f271b1e6a1d1886e96a28524a3503c4c38c4e.tar.bz2
improve support for BigScreen
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/interfaces/interfaceinformationimp.cpp97
-rw-r--r--noncore/settings/networksettings/mainwindowimp.cpp1040
-rw-r--r--noncore/settings/networksettings/ppp/accounts.cpp206
-rw-r--r--noncore/settings/networksettings/ppp/general.cpp672
-rw-r--r--noncore/settings/networksettings/ppp/modeminfo.cpp383
-rw-r--r--noncore/settings/networksettings/ppp/pppmodule.cpp147
-rw-r--r--noncore/settings/networksettings/wlan/wlanmodule.cpp11
7 files changed, 1363 insertions, 1193 deletions
diff --git a/noncore/settings/networksettings/interfaces/interfaceinformationimp.cpp b/noncore/settings/networksettings/interfaces/interfaceinformationimp.cpp
index 37c3a91..698dfd3 100644
--- a/noncore/settings/networksettings/interfaces/interfaceinformationimp.cpp
+++ b/noncore/settings/networksettings/interfaces/interfaceinformationimp.cpp
@@ -1,93 +1,104 @@
+
#include "interfaceinformationimp.h"
#include "interfaceadvanced.h"
+/* OPIE */
+#include <qpe/config.h>
+#include <qpe/qpeapplication.h>
+
+/* QT */
#include <qcheckbox.h>
#include <qpushbutton.h>
#include <qlabel.h>
#include <qgroupbox.h>
#include <qmessagebox.h>
-#include <qpe/config.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.
*/
-InterfaceInformationImp::InterfaceInformationImp(QWidget *parent, const char *name, Interface *i, WFlags f):InterfaceInformation(parent, name, f), interface(i){
- connect(i, SIGNAL(updateInterface(Interface *)), this, SLOT(updateInterface(Interface *)));
- connect(i, SIGNAL(updateMessage(const QString &)), this, SLOT(showMessage(const QString &)));
- updateInterface(interface);
- connect(startButton, SIGNAL(clicked()), interface, SLOT(start()));
- connect(stopButton, SIGNAL(clicked()), interface, SLOT(stop()));
- connect(restartButton, SIGNAL(clicked()), interface, SLOT(restart()));
- connect(refreshButton, SIGNAL(clicked()), interface, SLOT(refresh()));
- connect(advancedButton, SIGNAL(clicked()), this, SLOT(advanced()));
- Config cfg("networksettings", Config::User);
- cfg.setGroup("interface");
- CheckBoxSilent->setChecked( cfg.readBoolEntry("silent", false) );
+InterfaceInformationImp::InterfaceInformationImp(QWidget *parent, const char *name, Interface *i, WFlags f):InterfaceInformation(parent, name, f), interface(i)
+{
+ connect(i, SIGNAL(updateInterface(Interface *)), this, SLOT(updateInterface(Interface *)));
+ connect(i, SIGNAL(updateMessage(const QString &)), this, SLOT(showMessage(const QString &)));
+ updateInterface(interface);
+ connect(startButton, SIGNAL(clicked()), interface, SLOT(start()));
+ connect(stopButton, SIGNAL(clicked()), interface, SLOT(stop()));
+ connect(restartButton, SIGNAL(clicked()), interface, SLOT(restart()));
+ connect(refreshButton, SIGNAL(clicked()), interface, SLOT(refresh()));
+ connect(advancedButton, SIGNAL(clicked()), this, SLOT(advanced()));
+ Config cfg("networksettings", Config::User);
+ cfg.setGroup("interface");
+ CheckBoxSilent->setChecked( cfg.readBoolEntry("silent", false) );
}
InterfaceInformationImp::~InterfaceInformationImp()
{
Config cfg("networksettings", Config::User);
cfg.setGroup("interface");
cfg.writeEntry("silent", CheckBoxSilent->isChecked() );
}
/**
* Update the interface information and buttons.
* @param Intarface *i the interface to update (should be the one we already
* know about).
*/
-void InterfaceInformationImp::updateInterface(Interface *){
- if(interface->getStatus()){
- startButton->setEnabled(false);
- stopButton->setEnabled(true);
- restartButton->setEnabled(true);
- }
- else{
- startButton->setEnabled(true);
- stopButton->setEnabled(false);
- restartButton->setEnabled(false);
- }
- macAddressLabel->setText(interface->getMacAddress());
- ipAddressLabel->setText(interface->getIp());
- subnetMaskLabel->setText(interface->getSubnetMask());
- broadcastLabel->setText(interface->getBroadcast());
+void InterfaceInformationImp::updateInterface(Interface *)
+{
+ if(interface->getStatus())
+ {
+ startButton->setEnabled(false);
+ stopButton->setEnabled(true);
+ restartButton->setEnabled(true);
+ }
+ else
+ {
+ startButton->setEnabled(true);
+ stopButton->setEnabled(false);
+ restartButton->setEnabled(false);
+ }
+ macAddressLabel->setText(interface->getMacAddress());
+ ipAddressLabel->setText(interface->getIp());
+ subnetMaskLabel->setText(interface->getSubnetMask());
+ broadcastLabel->setText(interface->getBroadcast());
}
/**
* Create the advanced widget. Fill it with the current interface's information.
* Display it.
*/
-void InterfaceInformationImp::advanced(){
- InterfaceAdvanced *a = new InterfaceAdvanced(this, "InterfaceAdvanced", Qt::WType_Modal | Qt::WDestructiveClose | Qt::WStyle_Dialog);
- a->interfaceName->setText(interface->getInterfaceName());
- a->macAddressLabel->setText(interface->getMacAddress());
- a->ipAddressLabel->setText(interface->getIp());
- a->subnetMaskLabel->setText(interface->getSubnetMask());
- a->broadcastLabel->setText(interface->getBroadcast());
- a->dhcpServerLabel->setText(interface->getDhcpServerIp());
- a->leaseObtainedLabel->setText(interface->getLeaseObtained());
- a->leaseExpiresLabel->setText(interface->getLeaseExpires());
- a->dhcpInformation->setEnabled(interface->isDhcp());
- a->showMaximized();
+void InterfaceInformationImp::advanced()
+{
+ InterfaceAdvanced *a = new InterfaceAdvanced(this, "InterfaceAdvanced", Qt::WType_Modal | Qt::WDestructiveClose | Qt::WStyle_Dialog);
+ a->interfaceName->setText(interface->getInterfaceName());
+ a->macAddressLabel->setText(interface->getMacAddress());
+ a->ipAddressLabel->setText(interface->getIp());
+ a->subnetMaskLabel->setText(interface->getSubnetMask());
+ a->broadcastLabel->setText(interface->getBroadcast());
+ a->dhcpServerLabel->setText(interface->getDhcpServerIp());
+ a->leaseObtainedLabel->setText(interface->getLeaseObtained());
+ a->leaseExpiresLabel->setText(interface->getLeaseExpires());
+ a->dhcpInformation->setEnabled(interface->isDhcp());
+ QPEApplication::showWidget( a );
}
/**
* Messages from the interface if start/stop went as planned.
* Purly for user feedback.
* @param message the message to display.
*/
-void InterfaceInformationImp::showMessage(const QString &message){
- if (CheckBoxSilent->isChecked()) return;
- QMessageBox::information(this, "Message", message, QMessageBox::Ok);
+void InterfaceInformationImp::showMessage(const QString &message)
+{
+ if (CheckBoxSilent->isChecked()) return;
+ QMessageBox::information(this, "Message", message, QMessageBox::Ok);
}
// infoimp.cpp
diff --git a/noncore/settings/networksettings/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindowimp.cpp
index d9752ce..b0a1dd9 100644
--- a/noncore/settings/networksettings/mainwindowimp.cpp
+++ b/noncore/settings/networksettings/mainwindowimp.cpp
@@ -1,678 +1,748 @@
+
#include "mainwindowimp.h"
#include "addconnectionimp.h"
#include "interfaceinformationimp.h"
#include "interfacesetupimp.h"
#include "interfaces.h"
#include "module.h"
+/* OPIE */
+#include <qpe/qcopenvelope_qws.h>
+#include <qpe/qpeapplication.h>
+#include <qpe/config.h>
+#include <qpe/qlibrary.h>
+#include <qpe/resource.h>
+
+/* QT */
#include <qpushbutton.h>
#include <qlistbox.h>
#include <qlineedit.h>
#include <qlistview.h>
#include <qheader.h>
#include <qlabel.h>
-#include <qpe/qcopenvelope_qws.h>
#include <qtabwidget.h> // in order to disable the profiles tab
-#include <qpe/qpeapplication.h>
-
#include <qmessagebox.h>
-#ifdef QWS
- #include <qpe/config.h>
- #include <qpe/qlibrary.h>
- #include <qpe/resource.h>
- #include <qpe/qpeapplication.h>
-#else
- #include <klibloader.h>
- #define QLibrary KLibrary
- #include <kconfig.h>
- #define Config KConfig
- #include <kapplication.h>
- #include <kstandarddirs.h>
- #include <kiconloader.h>
- #define showMaximized show
-#endif
#if QT_VERSION < 300
#include <qlist.h>
#else
#include <qptrlist.h>
#endif
#include <qdir.h>
#include <qfile.h>
#include <qtextstream.h>
#include <qregexp.h>
+/* STD */
#include <net/if.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#define DEFAULT_SCHEME "/var/lib/pcmcia/scheme"
#define _PROCNETDEV "/proc/net/dev"
-MainWindowImp::MainWindowImp(QWidget *parent, const char *name, WFlags) : MainWindow(parent, name, Qt::WStyle_ContextHelp), advancedUserMode(true), scheme(DEFAULT_SCHEME){
- connect(addConnectionButton, SIGNAL(clicked()), this, SLOT(addClicked()));
- connect(removeConnectionButton, SIGNAL(clicked()), this, SLOT(removeClicked()));
- connect(informationConnectionButton, SIGNAL(clicked()), this, SLOT(informationClicked()));
- connect(configureConnectionButton, SIGNAL(clicked()), this, SLOT(configureClicked()));
+MainWindowImp::MainWindowImp(QWidget *parent, const char *name, WFlags) : MainWindow(parent, name, Qt::WStyle_ContextHelp), advancedUserMode(true), scheme(DEFAULT_SCHEME)
+{
+ connect(addConnectionButton, SIGNAL(clicked()), this, SLOT(addClicked()));
+ connect(removeConnectionButton, SIGNAL(clicked()), this, SLOT(removeClicked()));
+ connect(informationConnectionButton, SIGNAL(clicked()), this, SLOT(informationClicked()));
+ connect(configureConnectionButton, SIGNAL(clicked()), this, SLOT(configureClicked()));
- connect(newProfileButton, SIGNAL(clicked()), this, SLOT(addProfile()));
- connect(removeProfileButton, SIGNAL(clicked()), this, SLOT(removeProfile()));
- connect(setCurrentProfileButton, SIGNAL(clicked()), this, SLOT(changeProfile()));
+ connect(newProfileButton, SIGNAL(clicked()), this, SLOT(addProfile()));
+ connect(removeProfileButton, SIGNAL(clicked()), this, SLOT(removeProfile()));
+ connect(setCurrentProfileButton, SIGNAL(clicked()), this, SLOT(changeProfile()));
- connect(newProfile, SIGNAL(textChanged(const QString&)), this, SLOT(newProfileChanged(const QString&)));
+ connect(newProfile, SIGNAL(textChanged(const QString&)), this, SLOT(newProfileChanged(const QString&)));
- //FIXME: disable profiles for the moment:
- tabWidget->setTabEnabled( tab, false );
+ //FIXME: disable profiles for the moment:
+ tabWidget->setTabEnabled( tab, false );
- // Load connections.
- // /usr/local/kde/lib/libinterfaces.la
+ // Load connections.
+ // /usr/local/kde/lib/libinterfaces.la
#ifdef QWS
- loadModules(QPEApplication::qpeDir() + "plugins/networksettings");
+ loadModules(QPEApplication::qpeDir() + "plugins/networksettings");
#else
- loader = KLibLoader::self();
- loadModules(QString("/usr/")+KStandardDirs::kde_default("lib"));
+ loader = KLibLoader::self();
+ loadModules(QString("/usr/")+KStandardDirs::kde_default("lib"));
#endif
- getAllInterfaces();
-
- Interfaces i;
- QStringList list = i.getInterfaceList();
- QMap<QString, Interface*>::Iterator it;
- for ( QStringList::Iterator ni = list.begin(); ni != list.end(); ++ni ) {
- /*
- * we skipped it in getAllInterfaces now
- * we need to ignore it as well
- */
- if (m_handledIfaces.contains( *ni) ) {
- qDebug("Not up iface handled by module");
- continue;
- }
- bool found = false;
- for( it = interfaceNames.begin(); it != interfaceNames.end(); ++it ){
- if(it.key() == (*ni))
- found = true;
- }
- if(!found){
- if(!(*ni).contains("_")){
- Interface *i = new Interface(this, *ni, false);
- i->setAttached(false);
- i->setHardwareName(tr("Disconnected"));
- interfaceNames.insert(i->getInterfaceName(), i);
- updateInterface(i);
- connect(i, SIGNAL(updateInterface(Interface *)), this, SLOT(updateInterface(Interface *)));
- }
- }
- }
-
- //getInterfaceList();
- connectionList->header()->hide();
-
- Config cfg("NetworkSetup");
- profiles = QStringList::split(" ", cfg.readEntry("Profiles", "All"));
- for ( QStringList::Iterator it = profiles.begin();
- it != profiles.end(); ++it)
- profilesList->insertItem((*it));
- currentProfileLabel->setText(cfg.readEntry("CurrentProfile", "All"));
- advancedUserMode = cfg.readBoolEntry("AdvancedUserMode", false);
- scheme = cfg.readEntry("SchemeFile", DEFAULT_SCHEME);
-
- QFile file(scheme);
- if ( file.open(IO_ReadOnly) ) { // file opened successfully
- QTextStream stream( &file ); // use a text stream
- while ( !stream.eof() ) { // until end of file...
- QString line = stream.readLine(); // line of text excluding '\n'
- if(line.contains("SCHEME")){
- line = line.mid(7, line.length());
- currentProfileLabel->setText(line);
- break;
- }
- }
- file.close();
- }
- makeChannel();
+ getAllInterfaces();
+
+ Interfaces i;
+ QStringList list = i.getInterfaceList();
+ QMap<QString, Interface*>::Iterator it;
+ for ( QStringList::Iterator ni = list.begin(); ni != list.end(); ++ni )
+ {
+ /*
+ * we skipped it in getAllInterfaces now
+ * we need to ignore it as well
+ */
+ if (m_handledIfaces.contains( *ni) )
+ {
+ qDebug("Not up iface handled by module");
+ continue;
+ }
+ bool found = false;
+ for( it = interfaceNames.begin(); it != interfaceNames.end(); ++it )
+ {
+ if(it.key() == (*ni))
+ found = true;
+ }
+ if(!found)
+ {
+ if(!(*ni).contains("_"))
+ {
+ Interface *i = new Interface(this, *ni, false);
+ i->setAttached(false);
+ i->setHardwareName(tr("Disconnected"));
+ interfaceNames.insert(i->getInterfaceName(), i);
+ updateInterface(i);
+ connect(i, SIGNAL(updateInterface(Interface *)), this, SLOT(updateInterface(Interface *)));
+ }
+ }
+ }
+
+ //getInterfaceList();
+ connectionList->header()->hide();
+
+ Config cfg("NetworkSetup");
+ profiles = QStringList::split(" ", cfg.readEntry("Profiles", "All"));
+ for ( QStringList::Iterator it = profiles.begin();
+ it != profiles.end(); ++it)
+ profilesList->insertItem((*it));
+ currentProfileLabel->setText(cfg.readEntry("CurrentProfile", "All"));
+ advancedUserMode = cfg.readBoolEntry("AdvancedUserMode", false);
+ scheme = cfg.readEntry("SchemeFile", DEFAULT_SCHEME);
+
+ QFile file(scheme);
+ if ( file.open(IO_ReadOnly) )
+ { // file opened successfully
+ QTextStream stream( &file ); // use a text stream
+ while ( !stream.eof() )
+ { // until end of file...
+ QString line = stream.readLine(); // line of text excluding '\n'
+ if(line.contains("SCHEME"))
+ {
+ line = line.mid(7, line.length());
+ currentProfileLabel->setText(line);
+ break;
+ }
+ }
+ file.close();
+ }
+ makeChannel();
}
/**
* Deconstructor. Save profiles. Delete loaded libraries.
*/
-MainWindowImp::~MainWindowImp(){
- // Save profiles.
- Config cfg("NetworkSetup");
- cfg.setGroup("General");
- cfg.writeEntry("Profiles", profiles.join(" "));
-
- // Delete all interfaces that don't have owners.
- QMap<Interface*, QListViewItem*>::Iterator iIt;
- for( iIt = items.begin(); iIt != items.end(); ++iIt ){
- if(iIt.key()->getModuleOwner() == NULL)
- delete iIt.key();
- }
+MainWindowImp::~MainWindowImp()
+{
+ // Save profiles.
+ Config cfg("NetworkSetup");
+ cfg.setGroup("General");
+ cfg.writeEntry("Profiles", profiles.join(" "));
+
+ // Delete all interfaces that don't have owners.
+ QMap<Interface*, QListViewItem*>::Iterator iIt;
+ for( iIt = items.begin(); iIt != items.end(); ++iIt )
+ {
+ if(iIt.key()->getModuleOwner() == NULL)
+ delete iIt.key();
+ }
#ifdef QWS
- // Delete Modules and Libraries
- QMap<Module*, QLibrary*>::Iterator it;
- for( it = libraries.begin(); it != libraries.end(); ++it ){
- delete it.key();
- // I wonder why I can't delete the libraries
- // What fucking shit this is.
- //delete it.data();
- }
+ // Delete Modules and Libraries
+ QMap<Module*, QLibrary*>::Iterator it;
+ for( it = libraries.begin(); it != libraries.end(); ++it )
+ {
+ delete it.key();
+ // I wonder why I can't delete the libraries
+ // What fucking shit this is.
+ //delete it.data();
+ }
#else
- // klibloader automaticly deletes the libraries for us...
+ // klibloader automaticly deletes the libraries for us...
#endif
}
/**
* Query the kernel for all of the interfaces.
*/
-void MainWindowImp::getAllInterfaces(){
- int sockfd = socket(PF_INET, SOCK_DGRAM, 0);
- if(sockfd == -1)
- return;
-
- struct ifreq ifr;
- QStringList ifaces;
- QFile procFile(QString(_PROCNETDEV));
- int result;
- Interface *i;
-
- if (! procFile.exists()) {
- struct ifreq ifrs[100];
- struct ifconf ifc;
- ifc.ifc_len = sizeof(ifrs);
- ifc.ifc_req = ifrs;
- result = ioctl(sockfd, SIOCGIFCONF, &ifc);
-
- for (unsigned int i = 0; i < ifc.ifc_len / sizeof(struct ifreq); i++) {
- struct ifreq *pifr = &ifrs[i];
-
- ifaces += pifr->ifr_name;
- }
- } else {
- procFile.open(IO_ReadOnly);
- QString line;
- QTextStream procTs(&procFile);
- int loc = -1;
-
- procTs.readLine(); // eat a line
- procTs.readLine(); // eat a line
- while((line = procTs.readLine().simplifyWhiteSpace()) != QString::null) {
- if((loc = line.find(":")) != -1) {
- ifaces += line.left(loc);
- }
- }
- }
-
- for (QStringList::Iterator it = ifaces.begin(); it != ifaces.end(); ++it) {
- int flags = 0;
- if ( m_handledIfaces.contains( (*it) ) ) {
- qDebug(" %s is handled by a module", (*it).latin1() );
- continue;
- }
-// int family;
- i = NULL;
-
- strcpy(ifr.ifr_name, (*it).latin1());
-
- struct ifreq ifcopy;
- ifcopy = ifr;
- result = ioctl(sockfd, SIOCGIFFLAGS, &ifcopy);
- flags = ifcopy.ifr_flags;
- i = new Interface(this, ifr.ifr_name, false);
- i->setAttached(true);
- if ((flags & IFF_UP) == IFF_UP)
- i->setStatus(true);
- else
- i->setStatus(false);
-
- if ((flags & IFF_BROADCAST) == IFF_BROADCAST)
- i->setHardwareName("Ethernet");
- else if ((flags & IFF_POINTOPOINT) == IFF_POINTOPOINT)
- i->setHardwareName("Point to Point");
- else if ((flags & IFF_MULTICAST) == IFF_MULTICAST)
- i->setHardwareName("Multicast");
- else if ((flags & IFF_LOOPBACK) == IFF_LOOPBACK)
- i->setHardwareName("Loopback");
+void MainWindowImp::getAllInterfaces()
+{
+ int sockfd = socket(PF_INET, SOCK_DGRAM, 0);
+ if(sockfd == -1)
+ return;
+
+ struct ifreq ifr;
+ QStringList ifaces;
+ QFile procFile(QString(_PROCNETDEV));
+ int result;
+ Interface *i;
+
+ if (! procFile.exists())
+ {
+ struct ifreq ifrs[100];
+ struct ifconf ifc;
+ ifc.ifc_len = sizeof(ifrs);
+ ifc.ifc_req = ifrs;
+ result = ioctl(sockfd, SIOCGIFCONF, &ifc);
+
+ for (unsigned int i = 0; i < ifc.ifc_len / sizeof(struct ifreq); i++)
+ {
+ struct ifreq *pifr = &ifrs[i];
+
+ ifaces += pifr->ifr_name;
+ }
+ }
else
- i->setHardwareName("Unknown");
-
- qWarning("Adding interface %s to interfaceNames\n", ifr.ifr_name);
- interfaceNames.insert(i->getInterfaceName(), i);
- updateInterface(i);
- connect(i, SIGNAL(updateInterface(Interface *)),
- this, SLOT(updateInterface(Interface *)));
- }
- // now lets ask the plugins too ;)
- QMap<Module*, QLibrary*>::Iterator it;
- QList<Interface> ilist;
- for( it = libraries.begin(); it != libraries.end(); ++it ){
- if(it.key()){
- ilist = it.key()->getInterfaces();
- for( i = ilist.first(); i != 0; i = ilist.next() ){
- qWarning("Adding interface %s to interfaceNames\n", i->getInterfaceName().latin1() );
- interfaceNames.insert(i->getInterfaceName(), i);
- updateInterface(i);
- connect(i, SIGNAL(updateInterface(Interface *)),
- this, SLOT(updateInterface(Interface *)));
+ {
+ procFile.open(IO_ReadOnly);
+ QString line;
+ QTextStream procTs(&procFile);
+ int loc = -1;
+
+ procTs.readLine(); // eat a line
+ procTs.readLine(); // eat a line
+ while((line = procTs.readLine().simplifyWhiteSpace()) != QString::null)
+ {
+ if((loc = line.find(":")) != -1)
+ {
+ ifaces += line.left(loc);
+ }
+ }
+ }
+
+ for (QStringList::Iterator it = ifaces.begin(); it != ifaces.end(); ++it)
+ {
+ int flags = 0;
+ if ( m_handledIfaces.contains( (*it) ) )
+ {
+ qDebug(" %s is handled by a module", (*it).latin1() );
+ continue;
+ }
+ // int family;
+ i = NULL;
+
+ strcpy(ifr.ifr_name, (*it).latin1());
+
+ struct ifreq ifcopy;
+ ifcopy = ifr;
+ result = ioctl(sockfd, SIOCGIFFLAGS, &ifcopy);
+ flags = ifcopy.ifr_flags;
+ i = new Interface(this, ifr.ifr_name, false);
+ i->setAttached(true);
+ if ((flags & IFF_UP) == IFF_UP)
+ i->setStatus(true);
+ else
+ i->setStatus(false);
+
+ if ((flags & IFF_BROADCAST) == IFF_BROADCAST)
+ i->setHardwareName("Ethernet");
+ else if ((flags & IFF_POINTOPOINT) == IFF_POINTOPOINT)
+ i->setHardwareName("Point to Point");
+ else if ((flags & IFF_MULTICAST) == IFF_MULTICAST)
+ i->setHardwareName("Multicast");
+ else if ((flags & IFF_LOOPBACK) == IFF_LOOPBACK)
+ i->setHardwareName("Loopback");
+ else
+ i->setHardwareName("Unknown");
+
+ qWarning("Adding interface %s to interfaceNames\n", ifr.ifr_name);
+ interfaceNames.insert(i->getInterfaceName(), i);
+ updateInterface(i);
+ connect(i, SIGNAL(updateInterface(Interface *)),
+ this, SLOT(updateInterface(Interface *)));
+ }
+ // now lets ask the plugins too ;)
+ QMap<Module*, QLibrary*>::Iterator it;
+ QList<Interface> ilist;
+ for( it = libraries.begin(); it != libraries.end(); ++it )
+ {
+ if(it.key())
+ {
+ ilist = it.key()->getInterfaces();
+ for( i = ilist.first(); i != 0; i = ilist.next() )
+ {
+ qWarning("Adding interface %s to interfaceNames\n", i->getInterfaceName().latin1() );
+ interfaceNames.insert(i->getInterfaceName(), i);
+ updateInterface(i);
+ connect(i, SIGNAL(updateInterface(Interface *)),
+ this, SLOT(updateInterface(Interface *)));
+ }
}
}
- }
}
/**
* Load all modules that are found in the path
* @param path a directory that is scaned for any plugins that can be loaded
* and attempts to load them
*/
-void MainWindowImp::loadModules(const QString &path){
+void MainWindowImp::loadModules(const QString &path)
+{
#ifdef DEBUG
- qDebug("MainWindowImp::loadModules: %s", path.latin1());
+ qDebug("MainWindowImp::loadModules: %s", path.latin1());
#endif
- QDir d(path);
- if(!d.exists())
- return;
-
- // Don't want sym links
- d.setFilter( QDir::Files | QDir::NoSymLinks );
- const QFileInfoList *list = d.entryInfoList();
- QFileInfoListIterator it( *list );
- QFileInfo *fi;
- while ( (fi=it.current()) ) {
+ QDir d(path);
+ if(!d.exists())
+ return;
+
+ // Don't want sym links
+ d.setFilter( QDir::Files | QDir::NoSymLinks );
+ const QFileInfoList *list = d.entryInfoList();
+ QFileInfoListIterator it( *list );
+ QFileInfo *fi;
+ while ( (fi=it.current()) )
+ {
#ifdef QWS
- if(fi->fileName().contains(".so")){
+ if(fi->fileName().contains(".so"))
+ {
#else
- if(fi->fileName().contains(".so") && fi->fileName().contains("networksettings_")){
+ if(fi->fileName().contains(".so") && fi->fileName().contains("networksettings_"))
+ {
#endif
- loadPlugin(path + "/" + fi->fileName());
- qDebug("loaded plugin: >%s< ",QString(path + "/" + fi->fileName()).latin1());
+ loadPlugin(path + "/" + fi->fileName());
+ qDebug("loaded plugin: >%s< ",QString(path + "/" + fi->fileName()).latin1());
+ }
+ ++it;
}
- ++it;
- }
}
/**
* Attempt to load a function and resolve a function.
* @param pluginFileName - the name of the file in which to attempt to load
* @param resolveString - function pointer to resolve
* @return pointer to the function with name resolveString or NULL
*/
-Module* MainWindowImp::loadPlugin(const QString &pluginFileName, const QString &resolveString){
+Module* MainWindowImp::loadPlugin(const QString &pluginFileName, const QString &resolveString)
+{
#ifdef DEBUG
- qDebug("MainWindowImp::loadPlugin: %s: resolving %s", pluginFileName.latin1(), resolveString.latin1());
+ qDebug("MainWindowImp::loadPlugin: %s: resolving %s", pluginFileName.latin1(), resolveString.latin1());
#endif
#ifdef QWS
- QLibrary *lib = new QLibrary(pluginFileName);
- void *functionPointer = lib->resolve(resolveString);
- if( !functionPointer ){
+ QLibrary *lib = new QLibrary(pluginFileName);
+ void *functionPointer = lib->resolve(resolveString);
+ if( !functionPointer )
+ {
#ifdef DEBUG
- qDebug("MainWindowImp::loadPlugin: Warning: %s is not a plugin", pluginFileName.latin1());
+ qDebug("MainWindowImp::loadPlugin: Warning: %s is not a plugin", pluginFileName.latin1());
#endif
- delete lib;
- return NULL;
- }
- // Try to get an object.
- Module *object = ((Module* (*)()) functionPointer)();
- if(object == NULL){
+ delete lib;
+ return NULL;
+ }
+ // Try to get an object.
+ Module *object = ((Module* (*)()) functionPointer)();
+ if(object == NULL)
+ {
#ifdef DEBUG
- qDebug("MainWindowImp: Couldn't create object, but did load library!");
+ qDebug("MainWindowImp: Couldn't create object, but did load library!");
#endif
- delete lib;
- return NULL;
- }
+ delete lib;
+ return NULL;
+ }
- m_handledIfaces += object->handledInterfaceNames();
- // Store for deletion later
- libraries.insert(object, lib);
- return object;
+ m_handledIfaces += object->handledInterfaceNames();
+ // Store for deletion later
+ libraries.insert(object, lib);
+ return object;
#else
- QLibrary *lib = loader->library(pluginFileName);
- if( !lib || !lib->hasSymbol(resolveString) ){
- qDebug(QString("MainWindowImp::loadPlugin: File: %1 is not a plugin, but though was.").arg(pluginFileName).latin1());
- return NULL;
- }
- // Try to get an object.
- Module *object = ((Module* (*)()) lib->symbol(resolveString))();
- if(object == NULL){
+ QLibrary *lib = loader->library(pluginFileName);
+ if( !lib || !lib->hasSymbol(resolveString) )
+ {
+ qDebug(QString("MainWindowImp::loadPlugin: File: %1 is not a plugin, but though was.").arg(pluginFileName).latin1());
+ return NULL;
+ }
+ // Try to get an object.
+ Module *object = ((Module* (*)()) lib->symbol(resolveString))();
+ if(object == NULL)
+ {
#ifdef DEBUG
- qDebug("MainWindowImp: Couldn't create object, but did load library!");
+ qDebug("MainWindowImp: Couldn't create object, but did load library!");
#endif
- return NULL;
- }
+ return NULL;
+ }
#ifdef DEBUG
- qDebug("MainWindowImp::loadPlugin:: Found object, storing.");
+ qDebug("MainWindowImp::loadPlugin:: Found object, storing.");
#endif
- // Store for deletion later
- libraries.insert(object, lib);
- return object;
+ // Store for deletion later
+ libraries.insert(object, lib);
+ return object;
#endif
}
/**
* The Add button was clicked. Bring up the add dialog and if OK is hit
* load the plugin and append it to the list
*/
-void MainWindowImp::addClicked(){
- QMap<Module*, QLibrary*>::Iterator it;
- QMap<QString, QString> list;
- QMap<QString, Module*> newInterfaceOwners;
-
- for( it = libraries.begin(); it != libraries.end(); ++it ){
- if(it.key()){
- (it.key())->possibleNewInterfaces(list);
- }
- }
- // See if the list has anything that we can add.
- if(list.count() == 0){
- QMessageBox::information(this, "Sorry", "Nothing to add.", QMessageBox::Ok);
- return;
- }
- AddConnectionImp addNewConnection(this, "AddConnectionImp", true);
- addNewConnection.addConnections(list);
- addNewConnection.showMaximized();
- if(QDialog::Accepted == addNewConnection.exec()){
- QListViewItem *item = addNewConnection.registeredServicesList->currentItem();
- if(!item)
- return;
-
- for( it = libraries.begin(); it != libraries.end(); ++it ){
- if(it.key()){
- Interface *i = (it.key())->addNewInterface(item->text(0));
- if(i){
- qDebug("iface name %s",i->getInterfaceName().latin1());
- interfaceNames.insert(i->getInterfaceName(), i);
- updateInterface(i);
+void MainWindowImp::addClicked()
+{
+ QMap<Module*, QLibrary*>::Iterator it;
+ QMap<QString, QString> list;
+ QMap<QString, Module*> newInterfaceOwners;
+
+ for( it = libraries.begin(); it != libraries.end(); ++it )
+ {
+ if(it.key())
+ {
+ (it.key())->possibleNewInterfaces(list);
+ }
+ }
+ // See if the list has anything that we can add.
+ if(list.count() == 0)
+ {
+ QMessageBox::information(this, "Sorry", "Nothing to add.", QMessageBox::Ok);
+ return;
+ }
+ AddConnectionImp addNewConnection(this, "AddConnectionImp", true);
+ addNewConnection.addConnections(list);
+ if( QDialog::Accepted == QPEApplication::execDialog( &addNewConnection ) )
+ {
+ QListViewItem *item = addNewConnection.registeredServicesList->currentItem();
+ if(!item)
+ return;
+
+ for( it = libraries.begin(); it != libraries.end(); ++it )
+ {
+ if(it.key())
+ {
+ Interface *i = (it.key())->addNewInterface(item->text(0));
+ if(i)
+ {
+ qDebug("iface name %s",i->getInterfaceName().latin1());
+ interfaceNames.insert(i->getInterfaceName(), i);
+ updateInterface(i);
+ }
+ }
}
- }
}
- }
}
/**
* Prompt the user to see if they really want to do this.
* If they do then remove from the list and unload.
*/
-void MainWindowImp::removeClicked(){
- QListViewItem *item = connectionList->currentItem();
- if(!item) {
- QMessageBox::information(this, "Sorry","Please select an interface First.", QMessageBox::Ok);
- return;
- }
-
- Interface *i = interfaceItems[item];
- if(i->getModuleOwner() == NULL){
- QMessageBox::information(this, "Can't remove interface.", "Interface is built in.", QMessageBox::Ok);
- }
- else{
- if(!i->getModuleOwner()->remove(i))
- QMessageBox::information(this, tr("Error"), tr("Unable to remove."), QMessageBox::Ok);
- else{
- delete item;
-// QMessageBox::information(this, "Success", "Interface was removed.", QMessageBox::Ok);
- }
- }
+void MainWindowImp::removeClicked()
+{
+ QListViewItem *item = connectionList->currentItem();
+ if(!item)
+ {
+ QMessageBox::information(this, "Sorry","Please select an interface First.", QMessageBox::Ok);
+ return;
+ }
+
+ Interface *i = interfaceItems[item];
+ if(i->getModuleOwner() == NULL)
+ {
+ QMessageBox::information(this, "Can't remove interface.", "Interface is built in.", QMessageBox::Ok);
+ }
+ else
+ {
+ if(!i->getModuleOwner()->remove(i))
+ QMessageBox::information(this, tr("Error"), tr("Unable to remove."), QMessageBox::Ok);
+ else
+ {
+ delete item;
+ // QMessageBox::information(this, "Success", "Interface was removed.", QMessageBox::Ok);
+ }
+ }
}
/**
* Pull up the configure about the currently selected interface.
* Report an error if no interface is selected.
* If the interface has a module owner then request its configure.
*/
-void MainWindowImp::configureClicked(){
- QListViewItem *item = connectionList->currentItem();
- if(!item){
- QMessageBox::information(this, tr("Sorry"),tr("Please select an interface first."), QMessageBox::Ok);
- return;
- }
-
- QString currentProfileText = currentProfileLabel->text();
- if(currentProfileText.upper() == "ALL");
+void MainWindowImp::configureClicked()
+{
+ QListViewItem *item = connectionList->currentItem();
+ if(!item)
+ {
+ QMessageBox::information(this, tr("Sorry"),tr("Please select an interface first."), QMessageBox::Ok);
+ return;
+ }
+
+ QString currentProfileText = currentProfileLabel->text();
+ if(currentProfileText.upper() == "ALL");
currentProfileText = "";
- Interface *i = interfaceItems[item];
+ Interface *i = interfaceItems[item];
- if(i->getModuleOwner()){
- QWidget *moduleConfigure = i->getModuleOwner()->configure(i);
- if(moduleConfigure != NULL){
- i->getModuleOwner()->setProfile(currentProfileText);
- moduleConfigure->showMaximized();
- return;
+ if(i->getModuleOwner())
+ {
+ QWidget *moduleConfigure = i->getModuleOwner()->configure(i);
+ if(moduleConfigure != NULL)
+ {
+ i->getModuleOwner()->setProfile(currentProfileText);
+ QPEApplication::showWidget( moduleConfigure );
+ return;
+ }
}
- }
- InterfaceSetupImpDialog *configure = new InterfaceSetupImpDialog(this, "InterfaceSetupImp", i, true, Qt::WDestructiveClose | Qt::WStyle_ContextHelp );
- configure->setProfile(currentProfileText);
- configure->showMaximized();
+ InterfaceSetupImpDialog *configure = new InterfaceSetupImpDialog(this, "InterfaceSetupImp", i, true, Qt::WDestructiveClose | Qt::WStyle_ContextHelp );
+ configure->setProfile(currentProfileText);
+ QPEApplication::showDialog( configure );
}
/**
* Pull up the information about the currently selected interface.
* Report an error if no interface is selected.
* If the interface has a module owner then request its configure.
*/
-void MainWindowImp::informationClicked(){
- QListViewItem *item = connectionList->currentItem();
- if(!item){
- QMessageBox::information(this, "Sorry","Please select an interface First.", QMessageBox::Ok);
- return;
- }
-
- Interface *i = interfaceItems[item];
-// if(!i->isAttached()){
-// QMessageBox::information(this, "Sorry","No information about\na disconnected interface.", QMessageBox::Ok);
-// return;
-// }
-
- if(i->getModuleOwner()){
- QWidget *moduleInformation = i->getModuleOwner()->information(i);
- if(moduleInformation != NULL){
- moduleInformation->showMaximized();
+void MainWindowImp::informationClicked()
+{
+ QListViewItem *item = connectionList->currentItem();
+ if(!item)
+ {
+ QMessageBox::information(this, "Sorry","Please select an interface First.", QMessageBox::Ok);
+ return;
+ }
+
+ Interface *i = interfaceItems[item];
+ // if(!i->isAttached()){
+ // QMessageBox::information(this, "Sorry","No information about\na disconnected interface.", QMessageBox::Ok);
+ // return;
+ // }
+
+ if(i->getModuleOwner())
+ {
+ QWidget *moduleInformation = i->getModuleOwner()->information(i);
+ if(moduleInformation != NULL)
+ {
+ QPEApplication::showWidget( moduleInformation );
#ifdef DEBUG
- qDebug("MainWindowImp::informationClicked:: Module owner has created, we showed.");
+ qDebug("MainWindowImp::informationClicked:: Module owner has created, we showed.");
#endif
- return;
+ return;
+ }
}
- }
- InterfaceInformationImp *information = new InterfaceInformationImp(this, "InterfaceSetupImp", i, Qt::WType_Modal | Qt::WDestructiveClose | Qt::WStyle_Dialog | Qt::WStyle_ContextHelp);
- information->showMaximized();
+ InterfaceInformationImp *information = new InterfaceInformationImp(this, "InterfaceSetupImp", i, Qt::WType_Modal | Qt::WDestructiveClose | Qt::WStyle_Dialog | Qt::WStyle_ContextHelp);
+ QPEApplication::showWidget( information );
}
/**
* Update this interface. If no QListViewItem exists create one.
* @param Interface* pointer to the interface that needs to be updated.
*/
-void MainWindowImp::updateInterface(Interface *i){
- if(!advancedUserMode){
- if(i->getInterfaceName() == "lo")
- return;
- }
-
- QListViewItem *item = NULL;
+void MainWindowImp::updateInterface(Interface *i)
+{
+ if(!advancedUserMode)
+ {
+ if(i->getInterfaceName() == "lo")
+ return;
+ }
- // Find the interface, making it if needed.
- if(items.find(i) == items.end()){
- item = new QListViewItem(connectionList, "", "", "");
- // See if you can't find a module owner for this interface
- QMap<Module*, QLibrary*>::Iterator it;
- for( it = libraries.begin(); it != libraries.end(); ++it ){
- if(it.key()->isOwner(i))
- i->setModuleOwner(it.key());
+ QListViewItem *item = NULL;
+
+ // Find the interface, making it if needed.
+ if(items.find(i) == items.end())
+ {
+ item = new QListViewItem(connectionList, "", "", "");
+ // See if you can't find a module owner for this interface
+ QMap<Module*, QLibrary*>::Iterator it;
+ for( it = libraries.begin(); it != libraries.end(); ++it )
+ {
+ if(it.key()->isOwner(i))
+ i->setModuleOwner(it.key());
+ }
+ items.insert(i, item);
+ interfaceItems.insert(item, i);
}
- items.insert(i, item);
- interfaceItems.insert(item, i);
- }
- else
- item = items[i];
+ else
+ item = items[i];
- // Update the icons and information
+ // Update the icons and information
#ifdef QWS
- item->setPixmap(0, (Resource::loadPixmap(i->getStatus() ? "up": "down")));
+ item->setPixmap(0, (Resource::loadPixmap(i->getStatus() ? "up": "down")));
#else
- item->setPixmap(0, (SmallIcon(i->getStatus() ? "up": "down")));
+ item->setPixmap(0, (SmallIcon(i->getStatus() ? "up": "down")));
#endif
- QString typeName = "lan";
- if(i->getInterfaceName() == "lo")
- typeName = "lo";
- if(i->getInterfaceName().contains("irda"))
- typeName = "irda";
- if(i->getInterfaceName().contains("wlan"))
- typeName = "wlan";
- if(i->getInterfaceName().contains("usb"))
- typeName = "usb";
-
- if(!i->isAttached())
- typeName = "connect_no";
- // Actually try to use the Module
- if(i->getModuleOwner() != NULL)
- typeName = i->getModuleOwner()->getPixmapName(i);
+ QString typeName = "lan";
+ if(i->getInterfaceName() == "lo")
+ typeName = "lo";
+ if(i->getInterfaceName().contains("irda"))
+ typeName = "irda";
+ if(i->getInterfaceName().contains("wlan"))
+ typeName = "wlan";
+ if(i->getInterfaceName().contains("usb"))
+ typeName = "usb";
+
+ if(!i->isAttached())
+ typeName = "connect_no";
+ // Actually try to use the Module
+ if(i->getModuleOwner() != NULL)
+ typeName = i->getModuleOwner()->getPixmapName(i);
#ifdef QWS
- item->setPixmap(1, (Resource::loadPixmap(QString("networksettings/") + typeName)));
+ item->setPixmap(1, (Resource::loadPixmap(QString("networksettings/") + typeName)));
#else
- item->setPixmap(1, (SmallIcon(typeName)));
+ item->setPixmap(1, (SmallIcon(typeName)));
#endif
- item->setText(2, i->getHardwareName());
- item->setText(3, QString("(%1)").arg(i->getInterfaceName()));
- item->setText(4, (i->getStatus()) ? i->getIp() : QString(""));
+ item->setText(2, i->getHardwareName());
+ item->setText(3, QString("(%1)").arg(i->getInterfaceName()));
+ item->setText(4, (i->getStatus()) ? i->getIp() : QString(""));
}
-void MainWindowImp::newProfileChanged(const QString& newText){
- if(newText.length() > 0)
- newProfileButton->setEnabled(true);
- else
- newProfileButton->setEnabled(false);
+void MainWindowImp::newProfileChanged(const QString& newText)
+{
+ if(newText.length() > 0)
+ newProfileButton->setEnabled(true);
+ else
+ newProfileButton->setEnabled(false);
}
/**
* Adds a new profile to the list of profiles.
* Don't add profiles that already exists.
* Appends to the list and QStringList
*/
-void MainWindowImp::addProfile(){
- QString newProfileName = newProfile->text();
- if(profiles.grep(newProfileName).count() > 0){
- QMessageBox::information(this, "Can't Add","Profile already exists.", QMessageBox::Ok);
- return;
- }
- profiles.append(newProfileName);
- profilesList->insertItem(newProfileName);
+void MainWindowImp::addProfile()
+{
+ QString newProfileName = newProfile->text();
+ if(profiles.grep(newProfileName).count() > 0)
+ {
+ QMessageBox::information(this, "Can't Add","Profile already exists.", QMessageBox::Ok);
+ return;
+ }
+ profiles.append(newProfileName);
+ profilesList->insertItem(newProfileName);
}
/**
* Removes the currently selected profile in the combo.
* Doesn't delete if there are less then 2 profiles.
*/
-void MainWindowImp::removeProfile(){
- if(profilesList->count() <= 1){
- QMessageBox::information(this, "Can't remove.","At least one profile\nis needed.", QMessageBox::Ok);
- return;
- }
- QString profileToRemove = profilesList->currentText();
- if(profileToRemove == "All"){
- QMessageBox::information(this, "Can't remove.","Can't remove default.", QMessageBox::Ok);
- return;
- }
- // Can't remove the curent profile
- if(profileToRemove == currentProfileLabel->text()){
- QMessageBox::information(this, "Can't remove.",QString("%1 is the current profile.").arg(profileToRemove), QMessageBox::Ok);
- return;
-
- }
-
- if(QMessageBox::information(this, "Question",QString("Remove profile: %1").arg(profileToRemove), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok){
- profiles = QStringList::split(" ", profiles.join(" ").replace(QRegExp(profileToRemove), ""));
- profilesList->clear();
- for ( QStringList::Iterator it = profiles.begin(); it != profiles.end(); ++it)
- profilesList->insertItem((*it));
-
- // Remove any interface settings and mappings.
- Interfaces interfaces;
- // Go through them one by one
- QMap<Interface*, QListViewItem*>::Iterator it;
- for( it = items.begin(); it != items.end(); ++it ){
- QString interfaceName = it.key()->getInterfaceName();
- qDebug(interfaceName.latin1());
- if(interfaces.setInterface(interfaceName + "_" + profileToRemove)){
- interfaces.removeInterface();
- if(interfaces.setMapping(interfaceName)){
- if(profilesList->count() == 1)
- interfaces.removeMapping();
- else{
- interfaces.removeMap("map", interfaceName + "_" + profileToRemove);
- }
+void MainWindowImp::removeProfile()
+{
+ if(profilesList->count() <= 1)
+ {
+ QMessageBox::information(this, "Can't remove.","At least one profile\nis needed.", QMessageBox::Ok);
+ return;
+ }
+ QString profileToRemove = profilesList->currentText();
+ if(profileToRemove == "All")
+ {
+ QMessageBox::information(this, "Can't remove.","Can't remove default.", QMessageBox::Ok);
+ return;
+ }
+ // Can't remove the curent profile
+ if(profileToRemove == currentProfileLabel->text())
+ {
+ QMessageBox::information(this, "Can't remove.",QString("%1 is the current profile.").arg(profileToRemove), QMessageBox::Ok);
+ return;
+
+ }
+
+ if(QMessageBox::information(this, "Question",QString("Remove profile: %1").arg(profileToRemove), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok)
+ {
+ profiles = QStringList::split(" ", profiles.join(" ").replace(QRegExp(profileToRemove), ""));
+ profilesList->clear();
+ for ( QStringList::Iterator it = profiles.begin(); it != profiles.end(); ++it)
+ profilesList->insertItem((*it));
+
+ // Remove any interface settings and mappings.
+ Interfaces interfaces;
+ // Go through them one by one
+ QMap<Interface*, QListViewItem*>::Iterator it;
+ for( it = items.begin(); it != items.end(); ++it )
+ {
+ QString interfaceName = it.key()->getInterfaceName();
+ qDebug(interfaceName.latin1());
+ if(interfaces.setInterface(interfaceName + "_" + profileToRemove))
+ {
+ interfaces.removeInterface();
+ if(interfaces.setMapping(interfaceName))
+ {
+ if(profilesList->count() == 1)
+ interfaces.removeMapping();
+ else
+ {
+ interfaces.removeMap("map", interfaceName + "_" + profileToRemove);
+ }
+ }
+ interfaces.write();
+ break;
+ }
}
- interfaces.write();
- break;
- }
}
- }
}
/**
* A new profile has been selected, change.
* @param newProfile the new profile.
*/
-void MainWindowImp::changeProfile(){
- if(profilesList->currentItem() == -1){
- QMessageBox::information(this, "Can't Change.","Please select a profile.", QMessageBox::Ok);
- return;
- }
- QString newProfile = profilesList->text(profilesList->currentItem());
- if(newProfile != currentProfileLabel->text()){
- currentProfileLabel->setText(newProfile);
- QFile::remove(scheme);
- QFile file(scheme);
- if ( file.open(IO_ReadWrite) ) {
- QTextStream stream( &file );
- stream << QString("SCHEME=%1").arg(newProfile);
- file.close();
- }
- // restart all up devices?
- if(QMessageBox::information(this, "Question","Restart all running interfaces?", QMessageBox::Ok, QMessageBox::No) == QMessageBox::Ok){
- // Go through them one by one
- QMap<Interface*, QListViewItem*>::Iterator it;
- for( it = items.begin(); it != items.end(); ++it ){
- if(it.key()->getStatus() == true)
- it.key()->restart();
- }
- }
- }
- // TODO change the profile in the modules
+void MainWindowImp::changeProfile()
+{
+ if(profilesList->currentItem() == -1)
+ {
+ QMessageBox::information(this, "Can't Change.","Please select a profile.", QMessageBox::Ok);
+ return;
+ }
+ QString newProfile = profilesList->text(profilesList->currentItem());
+ if(newProfile != currentProfileLabel->text())
+ {
+ currentProfileLabel->setText(newProfile);
+ QFile::remove(scheme);
+ QFile file(scheme);
+ if ( file.open(IO_ReadWrite) )
+ {
+ QTextStream stream( &file );
+ stream << QString("SCHEME=%1").arg(newProfile);
+ file.close();
+ }
+ // restart all up devices?
+ if(QMessageBox::information(this, "Question","Restart all running interfaces?", QMessageBox::Ok, QMessageBox::No) == QMessageBox::Ok)
+ {
+ // Go through them one by one
+ QMap<Interface*, QListViewItem*>::Iterator it;
+ for( it = items.begin(); it != items.end(); ++it )
+ {
+ if(it.key()->getStatus() == true)
+ it.key()->restart();
+ }
+ }
+ }
+ // TODO change the profile in the modules
}
void MainWindowImp::makeChannel()
{
- channel = new QCopChannel( "QPE/Application/networksettings", this );
- connect( channel, SIGNAL(received(const QCString&, const QByteArray&)),
- this, SLOT(receive(const QCString&, const QByteArray&)) );
+ channel = new QCopChannel( "QPE/Application/networksettings", this );
+ connect( channel, SIGNAL(received(const QCString&, const QByteArray&)),
+ this, SLOT(receive(const QCString&, const QByteArray&)) );
}
void MainWindowImp::receive(const QCString &msg, const QByteArray &arg)
{
bool found = false;
qDebug("MainWindowImp::receive QCop msg >"+msg+"<");
- if (msg == "raise") {
+ if (msg == "raise")
+ {
raise();
return;
}
QString dest = msg.left(msg.find("("));
QCString param = msg.right(msg.length() - msg.find("(") - 1);
param = param.left( param.length() - 1 );
qDebug("dest >%s< param >"+param+"<",dest.latin1());
- QMap<Module*, QLibrary*>::Iterator it;
- for( it = libraries.begin(); it != libraries.end(); ++it ){
- qDebug("plugin >%s<", it.key()->type().latin1() );
- if(it.key()->type() == dest){
- it.key()->receive( param, arg );
- found = true;
- }
- }
+ QMap<Module*, QLibrary*>::Iterator it;
+ for( it = libraries.begin(); it != libraries.end(); ++it )
+ {
+ qDebug("plugin >%s<", it.key()->type().latin1() );
+ if(it.key()->type() == dest)
+ {
+ it.key()->receive( param, arg );
+ found = true;
+ }
+ }
- if (found) QPEApplication::setKeepRunning();
- else qDebug("Huh what do ya want");
+ if (found) QPEApplication::setKeepRunning();
+ else qDebug("Huh what do ya want");
}
diff --git a/noncore/settings/networksettings/ppp/accounts.cpp b/noncore/settings/networksettings/ppp/accounts.cpp
index 28d8732..b8a1925a 100644
--- a/noncore/settings/networksettings/ppp/accounts.cpp
+++ b/noncore/settings/networksettings/ppp/accounts.cpp
@@ -1,290 +1,316 @@
/*
* kPPP: A pppd front end for the KDE project
*
* $Id$
*
* Copyright (C) 1997 Bernd Johannes Wuebben
* wuebben@math.cornell.edu
*
* based on EzPPP:
* Copyright (C) 1997 Jay Painter
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#include "accounts.h"
+#include "authwidget.h"
+#include "pppdata.h"
+#include "edit.h"
+
+/* OPIE */
+#include <qpe/qpeapplication.h>
+
+/* QT */
#include <qdir.h>
-#include <stdlib.h>
#include <qlayout.h>
#include <qtabwidget.h>
#include <qtabdialog.h>
#include <qwhatsthis.h>
#include <qmessagebox.h>
-
#include <qapplication.h>
#include <qbuttongroup.h>
#include <qmessagebox.h>
#include <qvgroupbox.h>
-#include "accounts.h"
-#include "authwidget.h"
-#include "pppdata.h"
-#include "edit.h"
+/* STD */
+#include <stdlib.h>
void parseargs(char* buf, char** args);
AccountWidget::AccountWidget( PPPData *pd, QWidget *parent, const char *name, WFlags f )
- : ChooserWidget( pd, parent, name, f )
+ : ChooserWidget( pd, parent, name, f )
{
- QWhatsThis::add(edit_b, tr("Allows you to modify the selected account"));
- QWhatsThis::add(new_b, tr("Create a new dialup connection\n"
- "to the Internet"));
- QWhatsThis::add(copy_b,
- tr("Makes a copy of the selected account. All\n"
- "settings of the selected account are copied\n"
- "to a new account, that you can modify to fit your\n"
- "needs"));
- QWhatsThis::add(delete_b,
- tr("<p>Deletes the selected account\n\n"
- "<font color=\"red\"><b>Use with care!</b></font>"));
+ QWhatsThis::add(edit_b, tr("Allows you to modify the selected account"));
+ QWhatsThis::add(new_b, tr("Create a new dialup connection\n"
+ "to the Internet"));
+ QWhatsThis::add(copy_b,
+ tr("Makes a copy of the selected account. All\n"
+ "settings of the selected account are copied\n"
+ "to a new account, that you can modify to fit your\n"
+ "needs"));
+ QWhatsThis::add(delete_b,
+ tr("<p>Deletes the selected account\n\n"
+ "<font color=\"red\"><b>Use with care!</b></font>"));
- copy_b->setEnabled( false ); //FIXME
- // delete_b->setEnabled( false ); //FIXME
+ copy_b->setEnabled( false ); //FIXME
+ // delete_b->setEnabled( false ); //FIXME
- listListbox->insertStringList(_pppdata->getAccountList());
+ listListbox->insertStringList(_pppdata->getAccountList());
- for (uint i = 0; i < listListbox->count(); i++){
- if ( listListbox->text(i) == _pppdata->accname() )
- listListbox->setCurrentItem( i );
- }
+ for (uint i = 0; i < listListbox->count(); i++)
+ {
+ if ( listListbox->text(i) == _pppdata->accname() )
+ listListbox->setCurrentItem( i );
+ }
}
-void AccountWidget::slotListBoxSelect(int idx) {
+void AccountWidget::slotListBoxSelect(int idx)
+{
bool ok = _pppdata->setAccount( listListbox->text(idx) );
ok = (bool)(idx != -1);
delete_b->setEnabled(ok);
edit_b->setEnabled(ok);
-//FIXME copy_b->setEnabled(ok);
+ //FIXME copy_b->setEnabled(ok);
}
-void AccountWidget::edit() {
- _pppdata->setAccount(listListbox->text(listListbox->currentItem()));
+void AccountWidget::edit()
+{
+ _pppdata->setAccount(listListbox->text(listListbox->currentItem()));
- int result = doTab();
+ int result = doTab();
- if(result == QDialog::Accepted) {
- listListbox->changeItem(_pppdata->accname(),listListbox->currentItem());
-// emit resetaccounts();
- _pppdata->save();
- }
+ if(result == QDialog::Accepted)
+ {
+ listListbox->changeItem(_pppdata->accname(),listListbox->currentItem());
+ // emit resetaccounts();
+ _pppdata->save();
+ }
}
-void AccountWidget::create() {
+void AccountWidget::create()
+{
-// if(listListbox->count() == MAX_ACCOUNTS) {
-// QMessageBox::information(this, "sorry",
-// tr("Maximum number of accounts reached."));
-// return;
-// }
+ // if(listListbox->count() == MAX_ACCOUNTS) {
+ // QMessageBox::information(this, "sorry",
+ // tr("Maximum number of accounts reached."));
+ // return;
+ // }
int result;
- if (_pppdata->newaccount() == -1){
+ if (_pppdata->newaccount() == -1)
+ {
qDebug("_pppdata->newaccount() == -1");
return;
}
result = doTab();
- if(result == QDialog::Accepted) {
+ if(result == QDialog::Accepted)
+ {
listListbox->insertItem(_pppdata->accname());
listListbox->setSelected(listListbox->findItem(_pppdata->accname()),true);
_pppdata->save();
- } else
+ }
+ else
_pppdata->deleteAccount();
}
-void AccountWidget::copy() {
-// if(listListbox->count() == MAX_ACCOUNTS) {
-// QMessageBox::information(this, "sorry", tr("Maximum number of accounts reached."));
-// return;
-// }
-
- if(listListbox->currentItem()<0) {
- QMessageBox::information(this, "sorry", tr("No account selected."));
- return;
- }
+void AccountWidget::copy()
+{
+ // if(listListbox->count() == MAX_ACCOUNTS) {
+ // QMessageBox::information(this, "sorry", tr("Maximum number of accounts reached."));
+ // return;
+ // }
+
+ if(listListbox->currentItem()<0)
+ {
+ QMessageBox::information(this, "sorry", tr("No account selected."));
+ return;
+ }
- _pppdata->copyaccount(listListbox->currentText());
+ _pppdata->copyaccount(listListbox->currentText());
- listListbox->insertItem(_pppdata->accname());
-// emit resetaccounts();
- _pppdata->save();
+ listListbox->insertItem(_pppdata->accname());
+ // emit resetaccounts();
+ _pppdata->save();
}
-void AccountWidget::remove() {
+void AccountWidget::remove()
+{
- QString s = tr("Are you sure you want to delete\nthe account \"%1\"?")
- .arg(listListbox->text(listListbox->currentItem()));
+ QString s = tr("Are you sure you want to delete\nthe account \"%1\"?")
+ .arg(listListbox->text(listListbox->currentItem()));
- if(QMessageBox::warning(this,tr("Confirm"),s,
- QMessageBox::Yes,QMessageBox::No
- ) != QMessageBox::Yes)
- return;
+ if(QMessageBox::warning(this,tr("Confirm"),s,
+ QMessageBox::Yes,QMessageBox::No
+ ) != QMessageBox::Yes)
+ return;
- if(_pppdata->deleteAccount(listListbox->text(listListbox->currentItem())))
- listListbox->removeItem(listListbox->currentItem());
+ if(_pppdata->deleteAccount(listListbox->text(listListbox->currentItem())))
+ listListbox->removeItem(listListbox->currentItem());
-// emit resetaccounts();
-// _pppdata->save();
+ // emit resetaccounts();
+ // _pppdata->save();
- slotListBoxSelect(listListbox->currentItem());
+ slotListBoxSelect(listListbox->currentItem());
}
-int AccountWidget::doTab(){
+int AccountWidget::doTab()
+{
QDialog *dlg = new QDialog( 0, "newAccount", true, Qt::WStyle_ContextHelp );
QVBoxLayout *layout = new QVBoxLayout( dlg );
layout->setSpacing( 0 );
layout->setMargin( 1 );
QTabWidget *tabWindow = new QTabWidget( dlg, "tabWindow" );
layout->addWidget( tabWindow );
bool isnewaccount;
- if(_pppdata->accname().isEmpty()) {
+ if(_pppdata->accname().isEmpty())
+ {
dlg->setCaption(tr("New Account"));
isnewaccount = true;
- } else {
+ }
+ else
+ {
QString tit = tr("Edit Account: ");
tit += _pppdata->accname();
dlg->setCaption(tit);
isnewaccount = false;
}
-// // DIAL WIDGET
+ // // DIAL WIDGET
dial_w = new DialWidget( _pppdata, tabWindow, isnewaccount, "Dial Setup");
tabWindow->addTab( dial_w, tr("Dial") );
-// // AUTH WIDGET
- auth_w = new AuthWidget( _pppdata, tabWindow, isnewaccount, tr("Edit Login Script"));
- tabWindow->addTab( auth_w, tr("Authentication") );
+ // // AUTH WIDGET
+ auth_w = new AuthWidget( _pppdata, tabWindow, isnewaccount, tr("Edit Login Script"));
+ tabWindow->addTab( auth_w, tr("Authentication") );
-// // IP WIDGET
+ // // IP WIDGET
ip_w = new IPWidget( _pppdata, tabWindow, isnewaccount, tr("IP Setup"));
tabWindow->addTab( ip_w, tr("IP") );
-// // GATEWAY WIDGET
+ // // GATEWAY WIDGET
gateway_w = new GatewayWidget( _pppdata, tabWindow, isnewaccount, tr("Gateway Setup"));
tabWindow->addTab( gateway_w, tr("Gateway") );
-// // DNS WIDGET
+ // // DNS WIDGET
dns_w = new DNSWidget( _pppdata, tabWindow, isnewaccount, tr("DNS Servers") );
tabWindow->addTab( dns_w, tr("DNS") );
-// // EXECUTE WIDGET
- ExecWidget *exec_w = new ExecWidget( _pppdata, tabWindow, isnewaccount, tr("Execute Programs"));
- tabWindow->addTab( exec_w, tr("Execute") );
+ // // EXECUTE WIDGET
+ ExecWidget *exec_w = new ExecWidget( _pppdata, tabWindow, isnewaccount, tr("Execute Programs"));
+ tabWindow->addTab( exec_w, tr("Execute") );
int result = 0;
bool ok = false;
- while (!ok){
- dlg->showMaximized();
- result = dlg->exec();
+ while (!ok)
+ {
+ result = QPEApplication::execDialog( dlg );
ok = true;
- if(result == QDialog::Accepted) {
- if (!auth_w->check()){
+ if(result == QDialog::Accepted)
+ {
+ if (!auth_w->check())
+ {
ok = false;
- } else if(!dial_w->save()) {
+ }
+ else if(!dial_w->save())
+ {
QMessageBox::critical(this, "error", tr( "You must enter a unique account name"));
ok = false;
- }else{
+ }
+ else
+ {
ip_w->save();
dns_w->save();
gateway_w->save();
auth_w->save();
exec_w->save();
}
}
}
delete dlg;
return result;
}
// QString AccountWidget::prettyPrintVolume(unsigned int n) {
// int idx = 0;
// const QString quant[] = {tr("Byte"), tr("KB"),
// tr("MB"), tr("GB"), QString::null};
// float n1 = n;
// while(n >= 1024 && quant[idx] != QString::null) {
// idx++;
// n /= 1024;
// }
// int i = idx;
// while(i--)
// n1 = n1 / 1024.0;
// QString s = QString::number( n1, 'f', idx==0 ? 0 : 1 );
// s += " " + quant[idx];
// return s;
// }
/////////////////////////////////////////////////////////////////////////////
//
// Queries the user what to reset: costs, volume or both
//
/////////////////////////////////////////////////////////////////////////////
// QueryReset::QueryReset(QWidget *parent) : QDialog(parent, 0, true) {
// // KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon());
// setCaption(tr("Reset Accounting"));
// QVBoxLayout *tl = new QVBoxLayout(this, 10, 10);
// QVGroupBox *f = new QVGroupBox(tr("What to Reset"), this);
// QVBoxLayout *l1 = new QVBoxLayout(this, 10, 10);
// // costs = new QCheckBox(tr("Reset the accumulated phone costs"), f);
// // costs->setChecked(true);
// // l1->addWidget(costs);
// // QWhatsThis::add(costs, tr("Check this to set the phone costs\n"
// // "to zero. Typically you'll want to\n"
// // "do this once a month."));
// // volume = new QCheckBox(tr("Reset volume accounting"), f);
// // volume->setChecked(true);
// // l1->addWidget(volume);
// // QWhatsThis::add(volume, tr("Check this to set the volume accounting\n"
// // "to zero. Typically you'll want to do this\n"
// // "once a month."));
// l1->activate();
diff --git a/noncore/settings/networksettings/ppp/general.cpp b/noncore/settings/networksettings/ppp/general.cpp
index 5540946..ff1b11b 100644
--- a/noncore/settings/networksettings/ppp/general.cpp
+++ b/noncore/settings/networksettings/ppp/general.cpp
@@ -1,518 +1,526 @@
/*
* kPPP: A pppd front end for the KDE project
*
* $Id$
*
* Copyright (C) 1997 Bernd Johannes Wuebben
* wuebben@math.cornell.edu
*
* based on EzPPP:
* Copyright (C) 1997 Jay Painter
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include <termios.h>
-#include <string.h>
+#include "general.h"
+#include "interfaceppp.h"
+#include "modeminfo.h"
+#include "modemcmds.h"
+#include "pppdata.h"
+/* OPIE */
+#include <qpe/config.h>
+#include <qpe/qpeapplication.h>
+
+/* QT */
#include <qcheckbox.h>
#include <qcombobox.h>
#include <qlabel.h>
#include <qlayout.h>
#include <qpushbutton.h>
#include <qslider.h>
#include <qspinbox.h>
#include <qwhatsthis.h>
-#include <qpe/config.h>
-// #include <qgroupbox.h>
+/* STD */
+#include <termios.h>
+#include <string.h>
-#include "general.h"
-#include "interfaceppp.h"
-//#include "miniterm.h"
-#include "modeminfo.h"
-#include "modemcmds.h"
-//#include "devices.h"
-#include "pppdata.h"
-//#include <klocale.h>
+ModemWidget::ModemWidget( PPPData *pd, QWidget *parent, const char *name )
+ : QWidget(parent, name), _pppdata(pd)
+{
+ int k;
+
+ QGridLayout *tl = new QGridLayout(this, 8, 2, 0 );//, KDialog::spacingHint());
+ QLabel *label1;
+ label1 = new QLabel(tr("Modem &name:"), this);
+ tl->addWidget(label1, 0, 0);
-ModemWidget::ModemWidget( PPPData *pd, QWidget *parent, const char *name )
- : QWidget(parent, name), _pppdata(pd)
-{
- int k;
-
- QGridLayout *tl = new QGridLayout(this, 8, 2, 0 );//, KDialog::spacingHint());
-
- QLabel *label1;
-
- label1 = new QLabel(tr("Modem &name:"), this);
- tl->addWidget(label1, 0, 0);
-
- modemname = new QLineEdit(this, "modemName");
- modemname->setText( _pppdata->devname() );
- label1->setBuddy(modemname);
- tl->addWidget(modemname, 0, 1);
-
- label1 = new QLabel(tr("Modem de&vice:"), this);
- tl->addWidget(label1, 1, 0);
-
- modemdevice = new QComboBox(false, this);
- modemdevice->setEditable( true );
- modemdevice->setDuplicatesEnabled ( false );
- modemdevice->setInsertionPolicy( QComboBox::AtTop );
- label1->setBuddy(modemdevice);
-
- Config cfg("NetworkSetupPPP");
- cfg.setGroup("Devices_General");
- QStringList devs = cfg.readListEntry("devices",',');
- if (devs.isEmpty()) devs << "/dev/modem" << "/dev/ircomm0" << "/dev/ttyS0";
- modemdevice->insertStringList( devs );
- tl->addWidget(modemdevice, 1, 1);
-
-// connect(modemdevice, SIGNAL(activated(int)),
-// SLOT(setmodemdc(int)));
-// connect(modemdevice, SIGNAL(textChanged( const QString & ) ),
-// SLOT( setmodemdc( const QString &) ) );
-
- QString tmp = tr("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"
- "\n"
- "If you have an internal ISDN card with AT command\n"
- "emulation (most cards under Linux support this), you\n"
- "should select one of the /dev/ttyIx devices.");
-
- QWhatsThis::add(label1,tmp);
- QWhatsThis::add(modemdevice,tmp);
-
-
- label1 = new QLabel(tr("&Flow control:"), this);
- tl->addWidget(label1, 2, 0);
-
- flowcontrol = new QComboBox(false, this);
- label1->setBuddy(flowcontrol);
- flowcontrol->insertItem(tr("Hardware [CRTSCTS]"));
- flowcontrol->insertItem(tr("Software [XON/XOFF]"));
- flowcontrol->insertItem(tr("None"));
- tl->addWidget(flowcontrol, 2, 1);
-// connect(flowcontrol, SIGNAL(activated(int)),
-// SLOT(setflowcontrol(int)));
-
- tmp = tr("<p>Specifies how the serial port and modem\n"
- "communicate. You should not change this unless\n"
- "you know what you are doing.\n"
- "\n"
- "<b>Default</b>: CRTSCTS");
-
- QWhatsThis::add(label1,tmp);
- QWhatsThis::add(flowcontrol,tmp);
-
- QLabel *labelenter = new QLabel(tr("&Line termination:"), this);
- tl->addWidget(labelenter, 3, 0);
-
- enter = new QComboBox(false, this);
- labelenter->setBuddy(enter);
- enter->insertItem("CR");
- enter->insertItem("LF");
- enter->insertItem("CR/LF");
- tl->addWidget(enter, 3, 1);
-// connect(enter, SIGNAL(activated(int)), SLOT(setenter(int)));
- tmp = tr("<p>Specifies how AT commands are sent to your\n"
- "modem. Most modems will work fine with the\n"
- "default <i>CR/LF</i>. If your modem does not react\n"
- "to the init string, you should try different\n"
- "settings here\n"
- "\n"
- "<b>Default</b>: CR/LF");
-
- QWhatsThis::add(labelenter,tmp);
- QWhatsThis::add(enter, tmp);
-
- QLabel *baud_label = new QLabel(tr("Co&nnection speed:"), this);
- tl->addWidget(baud_label, 4, 0);
- baud_c = new QComboBox(this);
- baud_label->setBuddy(baud_c);
-
- static const char *baudrates[] = {
+ modemname = new QLineEdit(this, "modemName");
+ modemname->setText( _pppdata->devname() );
+ label1->setBuddy(modemname);
+ tl->addWidget(modemname, 0, 1);
+
+ label1 = new QLabel(tr("Modem de&vice:"), this);
+ tl->addWidget(label1, 1, 0);
+
+ modemdevice = new QComboBox(false, this);
+ modemdevice->setEditable( true );
+ modemdevice->setDuplicatesEnabled ( false );
+ modemdevice->setInsertionPolicy( QComboBox::AtTop );
+ label1->setBuddy(modemdevice);
+
+ Config cfg("NetworkSetupPPP");
+ cfg.setGroup("Devices_General");
+ QStringList devs = cfg.readListEntry("devices",',');
+ if (devs.isEmpty()) devs << "/dev/modem" << "/dev/ircomm0" << "/dev/ttyS0";
+ modemdevice->insertStringList( devs );
+ tl->addWidget(modemdevice, 1, 1);
+
+ // connect(modemdevice, SIGNAL(activated(int)),
+ // SLOT(setmodemdc(int)));
+ // connect(modemdevice, SIGNAL(textChanged( const QString & ) ),
+ // SLOT( setmodemdc( const QString &) ) );
+
+ QString tmp = tr("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"
+ "\n"
+ "If you have an internal ISDN card with AT command\n"
+ "emulation (most cards under Linux support this), you\n"
+ "should select one of the /dev/ttyIx devices.");
+
+ QWhatsThis::add(label1,tmp);
+ QWhatsThis::add(modemdevice,tmp);
+
+
+ label1 = new QLabel(tr("&Flow control:"), this);
+ tl->addWidget(label1, 2, 0);
+
+ flowcontrol = new QComboBox(false, this);
+ label1->setBuddy(flowcontrol);
+ flowcontrol->insertItem(tr("Hardware [CRTSCTS]"));
+ flowcontrol->insertItem(tr("Software [XON/XOFF]"));
+ flowcontrol->insertItem(tr("None"));
+ tl->addWidget(flowcontrol, 2, 1);
+ // connect(flowcontrol, SIGNAL(activated(int)),
+ // SLOT(setflowcontrol(int)));
+
+ tmp = tr("<p>Specifies how the serial port and modem\n"
+ "communicate. You should not change this unless\n"
+ "you know what you are doing.\n"
+ "\n"
+ "<b>Default</b>: CRTSCTS");
+
+ QWhatsThis::add(label1,tmp);
+ QWhatsThis::add(flowcontrol,tmp);
+
+ QLabel *labelenter = new QLabel(tr("&Line termination:"), this);
+ tl->addWidget(labelenter, 3, 0);
+
+ enter = new QComboBox(false, this);
+ labelenter->setBuddy(enter);
+ enter->insertItem("CR");
+ enter->insertItem("LF");
+ enter->insertItem("CR/LF");
+ tl->addWidget(enter, 3, 1);
+ // connect(enter, SIGNAL(activated(int)), SLOT(setenter(int)));
+ tmp = tr("<p>Specifies how AT commands are sent to your\n"
+ "modem. Most modems will work fine with the\n"
+ "default <i>CR/LF</i>. If your modem does not react\n"
+ "to the init string, you should try different\n"
+ "settings here\n"
+ "\n"
+ "<b>Default</b>: CR/LF");
+
+ QWhatsThis::add(labelenter,tmp);
+ QWhatsThis::add(enter, tmp);
+
+ QLabel *baud_label = new QLabel(tr("Co&nnection speed:"), this);
+ tl->addWidget(baud_label, 4, 0);
+ baud_c = new QComboBox(this);
+ baud_label->setBuddy(baud_c);
+
+ static const char *baudrates[] =
+ {
#ifdef B460800
- "460800",
+ "460800",
#endif
#ifdef B230400
- "230400",
+ "230400",
#endif
#ifdef B115200
- "115200",
+ "115200",
#endif
#ifdef B57600
- "57600",
+ "57600",
#endif
- "38400",
- "19200",
- "9600",
- "2400",
- 0};
-
- for(k = 0; baudrates[k]; k++)
- baud_c->insertItem(baudrates[k]);
-
- baud_c->setCurrentItem(3);
-// connect(baud_c, SIGNAL(activated(int)),
-// this, SLOT(speed_selection(int)));
- tl->addWidget(baud_c, 4, 1);
-
- tmp = tr("Specifies the speed your modem and the serial\n"
- "port talk to each other. You should begin with\n"
- "the default of 38400 bits/sec. If everything\n"
- "works you can try to increase this value, but to\n"
- "no more than 115200 bits/sec (unless you know\n"
- "that your serial port supports higher speeds).");
-
- QWhatsThis::add(baud_label,tmp);
- QWhatsThis::add(baud_c,tmp);
-
- for(int i=0; i <= enter->count()-1; i++) {
- if(_pppdata->enter() == enter->text(i))
- enter->setCurrentItem(i);
- }
-
- tl->addRowSpacing(5, 10);
-
- //Modem Lock File
- modemlockfile = new QCheckBox(tr("&Use lock file"), this);
-
- modemlockfile->setChecked(_pppdata->modemLockFile());
-// connect(modemlockfile, SIGNAL(toggled(bool)),
-// SLOT(modemlockfilechanged(bool)));
- tl->addMultiCellWidget(modemlockfile, 6, 6, 0, 1);
- // l12->addStretch(1);
- QWhatsThis::add(modemlockfile,
- tr("<p>To prevent other programs from accessing the\n"
- "modem while a connection is established, a\n"
- "file can be created to indicate that the modem\n"
- "is in use. On Linux an example file would be\n"
- "<tt>/var/lock/LCK..ttyS1</tt>\n"
- "Here you can select whether this locking will\n"
- "be done.\n"
- "\n"
- "<b>Default</b>: On"));
-
- // Modem Timeout Line Edit Box
- QHBoxLayout *timeoutLayout = new QHBoxLayout( this );
- QLabel *timeoutlabel = new QLabel( tr("Modem timeout:") ,this, "timeout" );
- modemtimeout = new QSpinBox( 1, 120, 1, this, "modemTimeout" );
-// modemtimeout = new KIntNumInput(_pppdata->modemTimeout(), this);
-// modemtimeout->setLabel(tr("Modem &timeout:"));
-// modemtimeout->setRange(1, 120, 1);
- modemtimeout->setSuffix(tr(" sec"));
- modemtimeout->setValue( _pppdata->modemTimeout() );
-// connect(modemtimeout, SIGNAL(valueChanged(int)),
-// SLOT(modemtimeoutchanged(int)));
- timeoutLayout->addWidget(timeoutlabel);
- timeoutLayout->addWidget(modemtimeout);
- tl->addMultiCellLayout(timeoutLayout, 7, 7, 0, 1);
-
- QWhatsThis::add(modemtimeout,
- tr("This specifies how long <i>kppp</i> waits for a\n"
- "<i>CONNECT</i> response from your modem. The\n"
- "recommended value is 30 seconds."));
-
- //set stuff from gpppdata
- for(int i=0; i <= enter->count()-1; i++) {
- if(_pppdata->enter() == enter->text(i))
- enter->setCurrentItem(i);
- }
-
- for(int i=0; i <= modemdevice->count()-1; i++) {
- if(_pppdata->modemDevice() == modemdevice->text(i))
- modemdevice->setCurrentItem(i);
- }
-
- for(int i=0; i <= flowcontrol->count()-1; i++) {
- if(_pppdata->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->speed())
- baud_c->setCurrentItem(i);
-
- tl->setRowStretch(1, 1);
+ "38400",
+ "19200",
+ "9600",
+ "2400",
+ 0
+ };
+
+ for(k = 0; baudrates[k]; k++)
+ baud_c->insertItem(baudrates[k]);
+
+ baud_c->setCurrentItem(3);
+ // connect(baud_c, SIGNAL(activated(int)),
+ // this, SLOT(speed_selection(int)));
+ tl->addWidget(baud_c, 4, 1);
+
+ tmp = tr("Specifies the speed your modem and the serial\n"
+ "port talk to each other. You should begin with\n"
+ "the default of 38400 bits/sec. If everything\n"
+ "works you can try to increase this value, but to\n"
+ "no more than 115200 bits/sec (unless you know\n"
+ "that your serial port supports higher speeds).");
+
+ QWhatsThis::add(baud_label,tmp);
+ QWhatsThis::add(baud_c,tmp);
+
+ for(int i=0; i <= enter->count()-1; i++)
+ {
+ if(_pppdata->enter() == enter->text(i))
+ enter->setCurrentItem(i);
+ }
+
+ tl->addRowSpacing(5, 10);
+
+ //Modem Lock File
+ modemlockfile = new QCheckBox(tr("&Use lock file"), this);
+
+ modemlockfile->setChecked(_pppdata->modemLockFile());
+ // connect(modemlockfile, SIGNAL(toggled(bool)),
+ // SLOT(modemlockfilechanged(bool)));
+ tl->addMultiCellWidget(modemlockfile, 6, 6, 0, 1);
+ // l12->addStretch(1);
+ QWhatsThis::add(modemlockfile,
+ tr("<p>To prevent other programs from accessing the\n"
+ "modem while a connection is established, a\n"
+ "file can be created to indicate that the modem\n"
+ "is in use. On Linux an example file would be\n"
+ "<tt>/var/lock/LCK..ttyS1</tt>\n"
+ "Here you can select whether this locking will\n"
+ "be done.\n"
+ "\n"
+ "<b>Default</b>: On"));
+
+ // Modem Timeout Line Edit Box
+ QHBoxLayout *timeoutLayout = new QHBoxLayout( this );
+ QLabel *timeoutlabel = new QLabel( tr("Modem timeout:") ,this, "timeout" );
+ modemtimeout = new QSpinBox( 1, 120, 1, this, "modemTimeout" );
+ // modemtimeout = new KIntNumInput(_pppdata->modemTimeout(), this);
+ // modemtimeout->setLabel(tr("Modem &timeout:"));
+ // modemtimeout->setRange(1, 120, 1);
+ modemtimeout->setSuffix(tr(" sec"));
+ modemtimeout->setValue( _pppdata->modemTimeout() );
+ // connect(modemtimeout, SIGNAL(valueChanged(int)),
+ // SLOT(modemtimeoutchanged(int)));
+ timeoutLayout->addWidget(timeoutlabel);
+ timeoutLayout->addWidget(modemtimeout);
+ tl->addMultiCellLayout(timeoutLayout, 7, 7, 0, 1);
+
+ QWhatsThis::add(modemtimeout,
+ tr("This specifies how long <i>kppp</i> waits for a\n"
+ "<i>CONNECT</i> response from your modem. The\n"
+ "recommended value is 30 seconds."));
+
+ //set stuff from gpppdata
+ for(int i=0; i <= enter->count()-1; i++)
+ {
+ if(_pppdata->enter() == enter->text(i))
+ enter->setCurrentItem(i);
+ }
+
+ for(int i=0; i <= modemdevice->count()-1; i++)
+ {
+ if(_pppdata->modemDevice() == modemdevice->text(i))
+ modemdevice->setCurrentItem(i);
+ }
+
+ for(int i=0; i <= flowcontrol->count()-1; i++)
+ {
+ if(_pppdata->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->speed())
+ baud_c->setCurrentItem(i);
+
+ tl->setRowStretch(1, 1);
}
ModemWidget::~ModemWidget()
{
QStringList devs;
for (int i=0;i<modemdevice->count();i++)
{
QString s = modemdevice->text(i);
s.simplifyWhiteSpace();
if (! s.isEmpty() ) devs << s;
}
QString edited = modemdevice->currentText();
- if ( !( edited ).isEmpty() ) {
+ if ( !( edited ).isEmpty() )
+ {
edited.simplifyWhiteSpace();
- if ( devs.contains( edited ) == 0 ) {
+ if ( devs.contains( edited ) == 0 )
+ {
devs << edited;
}
_pppdata->setModemDevice( edited );
}
Config cfg("NetworkSetupPPP");
cfg.setGroup("Devices_General");
cfg.writeEntry("devices",devs,',');
}
// void ModemWidget::speed_selection(int) {
// _pppdata->setSpeed(baud_c->text(baud_c->currentItem()));
// }
// void ModemWidget::setenter(int ) {
// _pppdata->setEnter(enter->text(enter->currentItem()));
// }
// void ModemWidget::setmodemdc(int i) {
// _pppdata->setModemDevice(modemdevice->text(i));
// }
// void ModemWidget::setmodemdc( const QString &string ) {
// _pppdata->setModemDevice( string );
// }
// void ModemWidget::setflowcontrol(int i) {
// _pppdata->setFlowcontrol(flowcontrol->text(i));
// }
// void ModemWidget::modemlockfilechanged(bool set) {
// _pppdata->setModemLockFile(set);
// }
// void ModemWidget::modemtimeoutchanged(int n) {
// _pppdata->setModemTimeout(n);
// }
bool ModemWidget::save()
{
//first check to make sure that the device name is unique!
if(modemname->text().isEmpty() ||
- !_pppdata->isUniqueDevname(modemname->text()))
+ !_pppdata->isUniqueDevname(modemname->text()))
return false;
qDebug("ModemWidget::save saving modem1 data");
_pppdata->setDevname( modemname->text() );
_pppdata->setModemDevice( modemdevice->currentText() );
_pppdata->setFlowcontrol(flowcontrol->currentText());
_pppdata->setFlowcontrol(flowcontrol->currentText());
_pppdata->setSpeed(baud_c->currentText());
_pppdata->setModemLockFile( modemlockfile->isChecked());
_pppdata->setModemTimeout( modemtimeout->value() );
return true;
}
ModemWidget2::ModemWidget2( PPPData *pd, InterfacePPP *ip, QWidget *parent,
const char *name)
- : QWidget(parent, name), _pppdata(pd), _ifaceppp(ip)
+ : QWidget(parent, name), _pppdata(pd), _ifaceppp(ip)
{
QVBoxLayout *l1 = new QVBoxLayout(this, 0 );//, KDialog::spacingHint());
- waitfordt = new QCheckBox(tr("&Wait for dial tone before dialing"), this);
- waitfordt->setChecked(_pppdata->waitForDialTone());
-// connect(waitfordt, SIGNAL(toggled(bool)), SLOT(waitfordtchanged(bool)));
- l1->addWidget(waitfordt);
- QWhatsThis::add(waitfordt,
- tr("<p>Normally the modem waits for a dial tone\n"
- "from your phone line, indicating that it can\n"
- "start to dial a number. If your modem does not\n"
- "recognize this sound, or your local phone system\n"
- "does not emit such a tone, uncheck this option\n"
- "\n"
- "<b>Default:</b>: On"));
-
- 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->busyWait(), this);
-// busywait->setLabel(tr("B&usy wait:"));
-// busywait->setRange(0, 300, 5, true);
- busywait->setSuffix(tr(" sec"));
-// connect(busywait, SIGNAL(valueChanged(int)), SLOT(busywaitchanged(int)));
- waitLayout->addWidget(waitLabel);
- waitLayout->addWidget(busywait);
- l1->addLayout( waitLayout );
-
- QWhatsThis::add(busywait,
- tr("Specifies the number of seconds to wait before\n"
- "redial if all dialed numbers are busy. This is\n"
- "necessary because some modems get stuck if the\n"
- "same number is busy too often.\n"
- "\n"
- "The default is 0 seconds, you should not change\n"
- "this unless you need to."));
-
- l1->addSpacing(10);
-
- QHBoxLayout *hbl = new QHBoxLayout;
- hbl->setSpacing(2);//KDialog::spacingHint());
-
- QLabel *volumeLabel = new QLabel(tr("Modem &volume:"), this);
- hbl->addWidget(volumeLabel);
- volume = new QSlider(0, 2, 1, _pppdata->volume(),
- QSlider::Horizontal, this);
- volumeLabel->setBuddy(volume);
- volume->setTickmarks(QSlider::Below);
- hbl->addWidget(volume);
-
- l1->addLayout(hbl);
-
-// connect(volume, SIGNAL(valueChanged(int)),
-// this, SLOT(volumeChanged(int)));
- QString tmp = tr("Most modems have a speaker which makes\n"
- "a lot of noise when dialing. Here you can\n"
- "either turn this completely off or select a\n"
- "lower volume.\n"
- "\n"
- "If this does not work for your modem,\n"
- "you must modify the modem volume command.");
-
- QWhatsThis::add(volumeLabel,tmp);
- QWhatsThis::add(volume, tmp);
-
- l1->addSpacing(20);
+ waitfordt = new QCheckBox(tr("&Wait for dial tone before dialing"), this);
+ waitfordt->setChecked(_pppdata->waitForDialTone());
+ // connect(waitfordt, SIGNAL(toggled(bool)), SLOT(waitfordtchanged(bool)));
+ l1->addWidget(waitfordt);
+ QWhatsThis::add(waitfordt,
+ tr("<p>Normally the modem waits for a dial tone\n"
+ "from your phone line, indicating that it can\n"
+ "start to dial a number. If your modem does not\n"
+ "recognize this sound, or your local phone system\n"
+ "does not emit such a tone, uncheck this option\n"
+ "\n"
+ "<b>Default:</b>: On"));
+
+ 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->busyWait(), this);
+ // busywait->setLabel(tr("B&usy wait:"));
+ // busywait->setRange(0, 300, 5, true);
+ busywait->setSuffix(tr(" sec"));
+ // connect(busywait, SIGNAL(valueChanged(int)), SLOT(busywaitchanged(int)));
+ waitLayout->addWidget(waitLabel);
+ waitLayout->addWidget(busywait);
+ l1->addLayout( waitLayout );
+
+ QWhatsThis::add(busywait,
+ tr("Specifies the number of seconds to wait before\n"
+ "redial if all dialed numbers are busy. This is\n"
+ "necessary because some modems get stuck if the\n"
+ "same number is busy too often.\n"
+ "\n"
+ "The default is 0 seconds, you should not change\n"
+ "this unless you need to."));
+
+ l1->addSpacing(10);
+
+ QHBoxLayout *hbl = new QHBoxLayout;
+ hbl->setSpacing(2);//KDialog::spacingHint());
+
+ QLabel *volumeLabel = new QLabel(tr("Modem &volume:"), this);
+ hbl->addWidget(volumeLabel);
+ volume = new QSlider(0, 2, 1, _pppdata->volume(),
+ QSlider::Horizontal, this);
+ volumeLabel->setBuddy(volume);
+ volume->setTickmarks(QSlider::Below);
+ hbl->addWidget(volume);
+
+ l1->addLayout(hbl);
+
+ // connect(volume, SIGNAL(valueChanged(int)),
+ // this, SLOT(volumeChanged(int)));
+ QString tmp = tr("Most modems have a speaker which makes\n"
+ "a lot of noise when dialing. Here you can\n"
+ "either turn this completely off or select a\n"
+ "lower volume.\n"
+ "\n"
+ "If this does not work for your modem,\n"
+ "you must modify the modem volume command.");
+
+ QWhatsThis::add(volumeLabel,tmp);
+ QWhatsThis::add(volume, tmp);
+
+ l1->addSpacing(20);
#if 0
- chkbox1 = new QCheckBox(tr("Modem asserts CD line"), this);
- chkbox1->setChecked(_pppdata->UseCDLine());
- connect(chkbox1,SIGNAL(toggled(bool)),
- this,SLOT(use_cdline_toggled(bool)));
- l12->addWidget(chkbox1);
- l12->addStretch(1);
- l1->addStretch(1);
- QWhatsThis::add(chkbox1,
- tr("This controls how <i>kppp</i> detects that the modem\n"
- "is not responding. Unless you are having\n"
- "problems with this, do not modify this setting.\n"
- "\n"
- "<b>Default</b>: Off"));
+ chkbox1 = new QCheckBox(tr("Modem asserts CD line"), this);
+ chkbox1->setChecked(_pppdata->UseCDLine());
+ connect(chkbox1,SIGNAL(toggled(bool)),
+ this,SLOT(use_cdline_toggled(bool)));
+ l12->addWidget(chkbox1);
+ l12->addStretch(1);
+ l1->addStretch(1);
+ QWhatsThis::add(chkbox1,
+ tr("This controls how <i>kppp</i> detects that the modem\n"
+ "is not responding. Unless you are having\n"
+ "problems with this, do not modify this setting.\n"
+ "\n"
+ "<b>Default</b>: Off"));
#endif
- modemcmds = new QPushButton(tr("Mod&em Commands..."), this);
- QWhatsThis::add(modemcmds,
- tr("Allows you to change the AT command for\n"
- "your modem."));
-
- modeminfo_button = new QPushButton(tr("&Query Modem..."), this);
- QWhatsThis::add(modeminfo_button,
- tr("Most modems support the ATI command set to\n"
- "find out vendor and revision of your modem.\n"
- "\n"
- "Press this button to query your modem for\n"
- "this information. It can be useful to help\n"
- "you setup the modem"));
-
-// terminal_button = new QPushButton(tr("&Terminal..."), this);
-// QWhatsThis::add(terminal_button,
-// tr("Opens the built-in terminal program. You\n"
-// "can use this if you want to play around\n"
-// "with your modem's AT command set"));
-
- QHBoxLayout *hbox = new QHBoxLayout();
- l1->addLayout(hbox);
- hbox->addStretch(1);
- QVBoxLayout *vbox = new QVBoxLayout();
- hbox->addLayout(vbox);
-
- vbox->addWidget(modemcmds);
- vbox->addWidget(modeminfo_button);
-// vbox->addWidget(terminal_button);
-
- hbox->addStretch(1);
- l1->addStretch(1);
-
- connect(modemcmds, SIGNAL(clicked()),
- SLOT(modemcmdsbutton()));
- connect(modeminfo_button, SIGNAL(clicked()),
- SLOT(query_modem()));
-// connect(terminal_button, SIGNAL(clicked()),
-// SLOT(terminal()));
+ modemcmds = new QPushButton(tr("Mod&em Commands..."), this);
+ QWhatsThis::add(modemcmds,
+ tr("Allows you to change the AT command for\n"
+ "your modem."));
+
+ modeminfo_button = new QPushButton(tr("&Query Modem..."), this);
+ QWhatsThis::add(modeminfo_button,
+ tr("Most modems support the ATI command set to\n"
+ "find out vendor and revision of your modem.\n"
+ "\n"
+ "Press this button to query your modem for\n"
+ "this information. It can be useful to help\n"
+ "you setup the modem"));
+
+ // terminal_button = new QPushButton(tr("&Terminal..."), this);
+ // QWhatsThis::add(terminal_button,
+ // tr("Opens the built-in terminal program. You\n"
+ // "can use this if you want to play around\n"
+ // "with your modem's AT command set"));
+
+ QHBoxLayout *hbox = new QHBoxLayout();
+ l1->addLayout(hbox);
+ hbox->addStretch(1);
+ QVBoxLayout *vbox = new QVBoxLayout();
+ hbox->addLayout(vbox);
+
+ vbox->addWidget(modemcmds);
+ vbox->addWidget(modeminfo_button);
+ // vbox->addWidget(terminal_button);
+
+ hbox->addStretch(1);
+ l1->addStretch(1);
+
+ connect(modemcmds, SIGNAL(clicked()),
+ SLOT(modemcmdsbutton()));
+ connect(modeminfo_button, SIGNAL(clicked()),
+ SLOT(query_modem()));
+ // connect(terminal_button, SIGNAL(clicked()),
+ // SLOT(terminal()));
}
-void ModemWidget2::modemcmdsbutton() {
- ModemCommands mc(_ifaceppp->data(), this, "commands" , true, Qt::WStyle_ContextHelp);
- mc.showMaximized();
- mc.exec();
+void ModemWidget2::modemcmdsbutton()
+{
+ ModemCommands mc(_ifaceppp->data(), this, "commands" , true, Qt::WStyle_ContextHelp);
+
+ QPEApplication::execDialog( &mc );
}
-void ModemWidget2::query_modem() {
- ModemTransfer mt(_ifaceppp->modem(), this);
- mt.exec();
+void ModemWidget2::query_modem()
+{
+ ModemTransfer mt(_ifaceppp->modem(), this);
+ mt.exec();
}
// void ModemWidget2::terminal() {
// MiniTerm terminal(NULL,NULL);
// terminal.exec();
// }
// #if 0
// void ModemWidget2::use_cdline_toggled(bool on) {
// _pppdata->setUseCDLine(on);
// }
// #endif
// void ModemWidget2::waitfordtchanged(bool b) {
// _pppdata->setWaitForDialTone((int)b);
// }
// void ModemWidget2::busywaitchanged(int n) {
// _pppdata->setbusyWait(n);
// }
// void ModemWidget2::volumeChanged(int v) {
// _pppdata->setVolume(v);
// }
bool ModemWidget2::save()
{
_pppdata->setWaitForDialTone(waitfordt->isChecked());
_pppdata->setbusyWait(busywait->value());
_pppdata->setVolume(volume->value());
return true;
}
diff --git a/noncore/settings/networksettings/ppp/modeminfo.cpp b/noncore/settings/networksettings/ppp/modeminfo.cpp
index dbb26db..df0bf9b 100644
--- a/noncore/settings/networksettings/ppp/modeminfo.cpp
+++ b/noncore/settings/networksettings/ppp/modeminfo.cpp
@@ -1,294 +1,313 @@
/*
* kPPP: A front end for pppd for the KDE project
*
* $Id$
*
* Copyright (C) 1997 Bernd Johannes Wuebben
* wuebben@math.cornell.edu
*
* This file contributed by: Markus Wuebben, mwuebben@fiwi02.wiwi.uni-tuebingen.de
*
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include <unistd.h>
+#include "modeminfo.h"
+#include "modem.h"
+
+/* OPIE */
+#include <qpe/qpeapplication.h>
+
+/* QT */
#include <qregexp.h>
#include <qlayout.h>
-// #include <kwin.h>
-// #include <kmessagebox.h>
-// #include <kapplication.h>
#include <qmessagebox.h>
#include <qapplication.h>
-#include "modeminfo.h"
-#include "modem.h"
+
+/* STD */
+#include <unistd.h>
ModemTransfer::ModemTransfer(Modem *mo, QWidget *parent, const char *name)
- : QDialog(parent, name,TRUE, WStyle_Customize|WStyle_NormalBorder),
- _modem(mo)
+ : QDialog(parent, name,TRUE, WStyle_Customize|WStyle_NormalBorder),
+ _modem(mo)
{
- setCaption(QObject::tr("ATI Query"));
-// KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon());
+ setCaption(QObject::tr("ATI Query"));
+ // KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon());
- QVBoxLayout *tl = new QVBoxLayout(this, 10, 10);
+ QVBoxLayout *tl = new QVBoxLayout(this, 10, 10);
- progressBar = new QProgressBar(this, "bar");
- progressBar->setTotalSteps(8);
+ progressBar = new QProgressBar(this, "bar");
+ progressBar->setTotalSteps(8);
- statusBar = new QLabel(this,"sBar");
- statusBar->setFrameStyle(QFrame::Panel|QFrame::Sunken);
- statusBar->setAlignment(AlignCenter);
+ statusBar = new QLabel(this,"sBar");
+ statusBar->setFrameStyle(QFrame::Panel|QFrame::Sunken);
+ statusBar->setAlignment(AlignCenter);
- // This is a rather complicated case. Since we do not know which
- // message is the widest in the national language, we'd to
- // search all these messages. This is a little overkill, so I take
- // the longest english message, translate it and give it additional
- // 20 percent space. Hope this is enough.
- statusBar->setText(QObject::tr("Unable to create modem lock file."));
- statusBar->setFixedWidth((statusBar->sizeHint().width() * 12) / 10);
- statusBar->setFixedHeight(statusBar->sizeHint().height() + 4);
+ // This is a rather complicated case. Since we do not know which
+ // message is the widest in the national language, we'd to
+ // search all these messages. This is a little overkill, so I take
+ // the longest english message, translate it and give it additional
+ // 20 percent space. Hope this is enough.
+ statusBar->setText(QObject::tr("Unable to create modem lock file."));
+ statusBar->setFixedWidth((statusBar->sizeHint().width() * 12) / 10);
+ statusBar->setFixedHeight(statusBar->sizeHint().height() + 4);
- // set original text
- statusBar->setText(QObject::tr("Looking for modem..."));
- progressBar->setFixedHeight(statusBar->minimumSize().height());
- tl->addWidget(progressBar);
- tl->addWidget(statusBar);
+ // set original text
+ statusBar->setText(QObject::tr("Looking for modem..."));
+ progressBar->setFixedHeight(statusBar->minimumSize().height());
+ tl->addWidget(progressBar);
+ tl->addWidget(statusBar);
- cancel = new QPushButton(QObject::tr("Cancel"), this);
- cancel->setFocus();
- connect(cancel, SIGNAL(clicked()), SLOT(cancelbutton()));
+ cancel = new QPushButton(QObject::tr("Cancel"), this);
+ cancel->setFocus();
+ connect(cancel, SIGNAL(clicked()), SLOT(cancelbutton()));
- QHBoxLayout *l1 = new QHBoxLayout;
- tl->addLayout(l1);
- l1->addStretch(1);
- l1->addWidget(cancel);
+ QHBoxLayout *l1 = new QHBoxLayout;
+ tl->addLayout(l1);
+ l1->addStretch(1);
+ l1->addWidget(cancel);
- setFixedSize(sizeHint());
+ setFixedSize(sizeHint());
- step = 0;
+ step = 0;
- ////////////////////////////////////////////////
+ ////////////////////////////////////////////////
- timeout_timer = new QTimer(this);
- connect(timeout_timer, SIGNAL(timeout()), SLOT(time_out_slot()));
+ timeout_timer = new QTimer(this);
+ connect(timeout_timer, SIGNAL(timeout()), SLOT(time_out_slot()));
- scripttimer = new QTimer(this);
- connect(scripttimer, SIGNAL(timeout()), SLOT(do_script()));
+ scripttimer = new QTimer(this);
+ connect(scripttimer, SIGNAL(timeout()), SLOT(do_script()));
- timeout_timer->start(15000,TRUE); // 15 secs single shot
- QTimer::singleShot(500, this, SLOT(init()));
+ timeout_timer->start(15000,TRUE); // 15 secs single shot
+ QTimer::singleShot(500, this, SLOT(init()));
}
-void ModemTransfer::ati_done() {
- scripttimer->stop();
- timeout_timer->stop();
- _modem->closetty();
- _modem->unlockdevice();
- hide();
+void ModemTransfer::ati_done()
+{
+ scripttimer->stop();
+ timeout_timer->stop();
+ _modem->closetty();
+ _modem->unlockdevice();
+ hide();
+
+ // open the result window
+ ModemInfo *mi = new ModemInfo(this);
+ for(int i = 0; i < NUM_OF_ATI; i++)
+ mi->setAtiString(i, ati_query_strings[i]);
- // open the result window
- ModemInfo *mi = new ModemInfo(this);
- for(int i = 0; i < NUM_OF_ATI; i++)
- mi->setAtiString(i, ati_query_strings[i]);
- mi->showMaximized();
- mi->exec();
- delete mi;
+ QPEApplication::execDialog( mi );
+ delete mi;
- accept();
+ accept();
}
-void ModemTransfer::time_out_slot() {
- timeout_timer->stop();
- scripttimer->stop();
+void ModemTransfer::time_out_slot()
+{
+ timeout_timer->stop();
+ scripttimer->stop();
- QMessageBox::warning(this, tr("Error"), QObject::tr("Modem Query timed out."));
- reject();
+ QMessageBox::warning(this, tr("Error"), QObject::tr("Modem Query timed out."));
+ reject();
}
-void ModemTransfer::init() {
+void ModemTransfer::init()
+{
- qApp->processEvents();
+ qApp->processEvents();
- int lock = _modem->lockdevice();
- if (lock == 1) {
+ int lock = _modem->lockdevice();
+ if (lock == 1)
+ {
- statusBar->setText(QObject::tr("Modem device is locked."));
- return;
- }
+ statusBar->setText(QObject::tr("Modem device is locked."));
+ return;
+ }
- if (lock == -1) {
+ if (lock == -1)
+ {
- statusBar->setText(QObject::tr("Unable to create modem lock file."));
- return;
- }
+ statusBar->setText(QObject::tr("Unable to create modem lock file."));
+ return;
+ }
- if(_modem->opentty()) {
- if(_modem->hangup()) {
- usleep(100000); // wait 0.1 secs
- _modem->writeLine("ATE0Q1V1"); // E0 don't echo the commands I send ...
+ if(_modem->opentty())
+ {
+ if(_modem->hangup())
+ {
+ usleep(100000); // wait 0.1 secs
+ _modem->writeLine("ATE0Q1V1"); // E0 don't echo the commands I send ...
- statusBar->setText(QObject::tr("Modem Ready"));
- qApp->processEvents();
- usleep(100000); // wait 0.1 secs
- qApp->processEvents();
- scripttimer->start(1000); // this one does the ati query
+ statusBar->setText(QObject::tr("Modem Ready"));
+ qApp->processEvents();
+ usleep(100000); // wait 0.1 secs
+ qApp->processEvents();
+ scripttimer->start(1000); // this one does the ati query
- // clear modem buffer
- _modem->flush();
+ // clear modem buffer
+ _modem->flush();
- _modem->notify(this, SLOT(readChar(unsigned char)));
- return;
+ _modem->notify(this, SLOT(readChar(unsigned char)));
+ return;
+ }
}
- }
- // opentty() or hangup() failed
- statusBar->setText(_modem->modemMessage());
- step = 99; // wait until cancel is pressed
- _modem->unlockdevice();
+ // opentty() or hangup() failed
+ statusBar->setText(_modem->modemMessage());
+ step = 99; // wait until cancel is pressed
+ _modem->unlockdevice();
}
-void ModemTransfer::do_script() {
- QString msg;
- QString query;
-
- switch(step) {
- case 0:
- readtty();
- statusBar->setText("ATI...");
- progressBar->setProgress( progressBar->progress() + 1);
- _modem->writeLine("ATI\n");
- break;
-
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- readtty();
- msg.sprintf("ATI %d ...", step);
- query.sprintf("ATI%d\n", step);
- statusBar->setText(msg);
- progressBar->setProgress( progressBar->progress() + 1);
- _modem->writeLine(query.local8Bit());
- break;
-
- default:
- readtty();
- ati_done();
- }
- step++;
+void ModemTransfer::do_script()
+{
+ QString msg;
+ QString query;
+
+ switch(step)
+ {
+ case 0:
+ readtty();
+ statusBar->setText("ATI...");
+ progressBar->setProgress( progressBar->progress() + 1);
+ _modem->writeLine("ATI\n");
+ break;
+
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ readtty();
+ msg.sprintf("ATI %d ...", step);
+ query.sprintf("ATI%d\n", step);
+ statusBar->setText(msg);
+ progressBar->setProgress( progressBar->progress() + 1);
+ _modem->writeLine(query.local8Bit());
+ break;
+
+ default:
+ readtty();
+ ati_done();
+ }
+ step++;
}
-void ModemTransfer::readChar(unsigned char c) {
- if(readbuffer.length() < 255)
- readbuffer += c;
+void ModemTransfer::readChar(unsigned char c)
+{
+ if(readbuffer.length() < 255)
+ readbuffer += c;
}
-void ModemTransfer::readtty() {
+void ModemTransfer::readtty()
+{
- if (step == 0)
- return;
+ if (step == 0)
+ return;
- readbuffer.replace(QRegExp("[\n\r]")," "); // remove stray \n and \r
- readbuffer = readbuffer.stripWhiteSpace(); // strip of leading or trailing white
- // space
+ readbuffer.replace(QRegExp("[\n\r]")," "); // remove stray \n and \r
+ readbuffer = readbuffer.stripWhiteSpace(); // strip of leading or trailing white
+ // space
- if(step <= NUM_OF_ATI)
- ati_query_strings[step-1] = readbuffer.copy();
+ if(step <= NUM_OF_ATI)
+ ati_query_strings[step-1] = readbuffer.copy();
- readbuffer = "";
+ readbuffer = "";
}
-void ModemTransfer::cancelbutton() {
- scripttimer->stop();
- _modem->stop();
- timeout_timer->stop();
+void ModemTransfer::cancelbutton()
+{
+ scripttimer->stop();
+ _modem->stop();
+ timeout_timer->stop();
- statusBar->setText(QObject::tr("One moment please..."));
- qApp->processEvents();
+ statusBar->setText(QObject::tr("One moment please..."));
+ qApp->processEvents();
- _modem->hangup();
+ _modem->hangup();
- _modem->closetty();
- _modem->unlockdevice();
- reject();
+ _modem->closetty();
+ _modem->unlockdevice();
+ reject();
}
-void ModemTransfer::closeEvent( QCloseEvent *e ) {
- cancelbutton();
- e->accept();
+void ModemTransfer::closeEvent( QCloseEvent *e )
+{
+ cancelbutton();
+ e->accept();
}
ModemInfo::ModemInfo(QWidget *parent, const char* name)
- : QDialog(parent, name, TRUE, WStyle_Customize|WStyle_NormalBorder)
+ : QDialog(parent, name, TRUE, WStyle_Customize|WStyle_NormalBorder)
{
- QString label_text;
+ QString label_text;
- setCaption(QObject::tr("Modem Query Results"));
- // KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon());
+ setCaption(QObject::tr("Modem Query Results"));
+ // KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon());
- QVBoxLayout *tl = new QVBoxLayout(this, 10, 10);
+ QVBoxLayout *tl = new QVBoxLayout(this, 10, 10);
- QGridLayout *l1 = new QGridLayout(NUM_OF_ATI, 2, 5);
- tl->addLayout(l1, 1);
- for(int i = 0 ; i < NUM_OF_ATI ; i++) {
+ QGridLayout *l1 = new QGridLayout(NUM_OF_ATI, 2, 5);
+ tl->addLayout(l1, 1);
+ for(int i = 0 ; i < NUM_OF_ATI ; i++)
+ {
- label_text = "";
- if ( i == 0)
- label_text.sprintf("ATI :");
- else
- label_text.sprintf("ATI %d:", i );
+ label_text = "";
+ if ( i == 0)
+ label_text.sprintf("ATI :");
+ else
+ label_text.sprintf("ATI %d:", i );
- ati_label[i] = new QLabel(label_text, this);
- l1->addWidget(ati_label[i], i, 0);
+ ati_label[i] = new QLabel(label_text, this);
+ l1->addWidget(ati_label[i], i, 0);
- ati_label_result[i] = new QLineEdit(this);
- ati_label_result[i]->setMinimumWidth(fontMetrics().width('H') * 24);
- l1->addWidget(ati_label_result[i], i, 1);
- }
- //tl->addSpacing(1);
+ ati_label_result[i] = new QLineEdit(this);
+ ati_label_result[i]->setMinimumWidth(fontMetrics().width('H') * 24);
+ l1->addWidget(ati_label_result[i], i, 1);
+ }
+ //tl->addSpacing(1);
- QHBoxLayout *l2 = new QHBoxLayout;
- QPushButton *ok = new QPushButton(QObject::tr("Close"), this);
- ok->setDefault(TRUE);
- ok->setFocus();
+ QHBoxLayout *l2 = new QHBoxLayout;
+ QPushButton *ok = new QPushButton(QObject::tr("Close"), this);
+ ok->setDefault(TRUE);
+ ok->setFocus();
- tl->addLayout(l2);
- l2->addStretch(1);
+ tl->addLayout(l2);
+ l2->addStretch(1);
- connect(ok, SIGNAL(clicked()), SLOT(accept()));
- l2->addWidget(ok);
+ connect(ok, SIGNAL(clicked()), SLOT(accept()));
+ l2->addWidget(ok);
- setMinimumSize(sizeHint());
+ setMinimumSize(sizeHint());
}
-void ModemInfo::setAtiString(int i, QString s) {
- if(i < NUM_OF_ATI)
- ati_label_result[i]->setText(s);
+void ModemInfo::setAtiString(int i, QString s)
+{
+ if(i < NUM_OF_ATI)
+ ati_label_result[i]->setText(s);
}
//#include "modeminfo.moc"
diff --git a/noncore/settings/networksettings/ppp/pppmodule.cpp b/noncore/settings/networksettings/ppp/pppmodule.cpp
index f7dacf6..a7caffe 100644
--- a/noncore/settings/networksettings/ppp/pppmodule.cpp
+++ b/noncore/settings/networksettings/ppp/pppmodule.cpp
@@ -1,250 +1,283 @@
-#include <errno.h>
-#include <signal.h>
-
-
-#include <qpe/config.h>
#include "modem.h"
#include "pppconfig.h"
#include "pppmodule.h"
#include "pppdata.h"
#include "interfaceinformationppp.h"
#include "interfaceppp.h"
+/* OPIE */
+#include <qpe/config.h>
+#include <qpe/qpeapplication.h>
+
+/* QT */
+
+/* STD */
+#include <errno.h>
+#include <signal.h>
+
// don't polute global namespace
-namespace {
+namespace
+{
/*
* If network settings is qutting and we've ppp
* devices open we need to save the pid_t the PPData
* and the interface number
*/
- struct Connection {
+ struct Connection
+ {
pid_t pid;
QString device;
QString name;
};
- class InterfaceKeeper {
+ class InterfaceKeeper
+ {
public:
InterfaceKeeper();
~InterfaceKeeper();
void addInterface( pid_t, const QString& pppDev, const QString& name );
QMap<QString, Connection> interfaces()const; // will check if still available
private:
bool isAvailable( pid_t )const;
QMap<QString, Connection> m_interfaces;
};
}
/**
* Constructor, find all of the possible interfaces
* We also need to restore the state.. it could be that
* an interface was up while closing the application
* we need to be able to shut it down...
*/
PPPModule::PPPModule() : Module()
{
InterfaceKeeper inFace;
QMap<QString,Connection> running = inFace.interfaces();
QStringList handledInterfaceNames;
QMap<QString,QString> ifaces = PPPData::getConfiguredInterfaces();
QMap<QString,QString>::Iterator it;
InterfacePPP *iface;
qDebug("getting interfaces");
- for( it = ifaces.begin(); it != ifaces.end(); ++it ){
+ for( it = ifaces.begin(); it != ifaces.end(); ++it )
+ {
qDebug("ifaces %s %s", it.key().latin1(), it.data().latin1() );
iface = new InterfacePPP( 0, it.key() );
iface->setHardwareName( it.data() );
list.append( (Interface*)iface );
// check if (*it) is one of the running ifaces
- if ( running.contains( it.data() ) ) {
+ if ( running.contains( it.data() ) )
+ {
qDebug("iface is running %s", it.key().latin1() );
handledInterfaceNames << running[it.data()].device;
iface->setStatus( true );
iface->setPPPDpid( running[it.data()].pid );
iface->modem()->setPPPDevice( running[it.data()].device );
iface->refresh();
}
}
setHandledInterfaceNames( handledInterfaceNames );
}
/**
* Delete any interfaces that we own.
*/
-PPPModule::~PPPModule(){
+PPPModule::~PPPModule()
+{
qDebug("PPPModule::~PPPModule() " );
QMap<QString,QString> ifaces;
InterfaceKeeper keeper;
Interface *i;
- for ( i=list.first(); i != 0; i=list.next() ){
+ for ( i=list.first(); i != 0; i=list.next() )
+ {
/* if online save the state */
- if ( i->getStatus() ) {
+ if ( i->getStatus() )
+ {
qDebug("Iface %s is still up", i->getHardwareName().latin1() );
InterfacePPP* ppp = static_cast<InterfacePPP*>(i);
keeper.addInterface( ppp->pppPID(), ppp->pppDev(), ppp->getHardwareName() );
}
ifaces.insert( i->getInterfaceName(), i->getHardwareName() );
delete i;
}
PPPData::setConfiguredInterfaces( ifaces );
}
/**
* Change the current profile
*/
-void PPPModule::setProfile(const QString &newProfile){
- profile = newProfile;
+void PPPModule::setProfile(const QString &newProfile)
+{
+ profile = newProfile;
}
/**
* get the icon name for this device.
* @param Interface* can be used in determining the icon.
* @return QString the icon name (minus .png, .gif etc)
*/
-QString PPPModule::getPixmapName(Interface* ){
- return "ppp";
+QString PPPModule::getPixmapName(Interface* )
+{
+ return "ppp";
}
/**
* Check to see if the interface i is owned by this module.
* @param Interface* interface to check against
* @return bool true if i is owned by this module, false otherwise.
*/
-bool PPPModule::isOwner(Interface *i){
+bool PPPModule::isOwner(Interface *i)
+{
return list.find( i ) != -1;
}
/**
* Create, and return the WLANConfigure Module
* @return QWidget* pointer to this modules configure.
*/
-QWidget *PPPModule::configure(Interface *i){
+QWidget *PPPModule::configure(Interface *i)
+{
qDebug("return ModemWidget");
PPPConfigWidget *pppconfig = new PPPConfigWidget( (InterfacePPP*)i,
- 0, "PPPConfig", false,
- (Qt::WDestructiveClose | Qt::WStyle_ContextHelp));
+ 0, "PPPConfig", false,
+ (Qt::WDestructiveClose | Qt::WStyle_ContextHelp));
return pppconfig;
}
/**
* Create, and return the Information Module
* @return QWidget* pointer to this modules info.
*/
-QWidget *PPPModule::information(Interface *i){
- // We don't have any advanced pppd information widget yet :-D
- // TODO ^
+QWidget *PPPModule::information(Interface *i)
+{
+ // We don't have any advanced pppd information widget yet :-D
+ // TODO ^
- return new InterfaceInformationPPP( 0, "InterfaceInformationPPP", i );
+ return new InterfaceInformationPPP( 0, "InterfaceInformationPPP", i );
}
/**
* Get all active (up or down) interfaces
* @return QList<Interface> A list of interfaces that exsist that havn't
* been called by isOwner()
*/
-QList<Interface> PPPModule::getInterfaces(){
- // List all of the files in the peer directory
+QList<Interface> PPPModule::getInterfaces()
+{
+ // List all of the files in the peer directory
qDebug("PPPModule::getInterfaces");
- return list;
+ return list;
}
/**
* Attempt to add a new interface as defined by name
* @param name the name of the type of interface that should be created given
* by possibleNewInterfaces();
* @return Interface* NULL if it was unable to be created.
*/
-Interface *PPPModule::addNewInterface(const QString &newInterface){
-
- InterfacePPP *ifaceppp;
- Interface *iface;
- ifaceppp = new InterfacePPP();
- PPPConfigWidget imp(ifaceppp, 0, "PPPConfigImp", true);
- imp.showMaximized();
- if(imp.exec() == QDialog::Accepted ){
- iface = (InterfacePPP*) ifaceppp;
- iface->setModuleOwner( this );
- list.append( iface );
- return iface;
- }else {
- delete ifaceppp;
- iface = NULL;
- }
- return iface;
+Interface *PPPModule::addNewInterface(const QString &newInterface)
+{
+
+ InterfacePPP *ifaceppp;
+ Interface *iface;
+ ifaceppp = new InterfacePPP();
+ PPPConfigWidget imp(ifaceppp, 0, "PPPConfigImp", true);
+
+ if( QPEApplication::execDialog( &imp ) == QDialog::Accepted )
+ {
+ iface = (InterfacePPP*) ifaceppp;
+ iface->setModuleOwner( this );
+ list.append( iface );
+ return iface;
+ }
+ else
+ {
+ delete ifaceppp;
+ iface = NULL;
+ }
+ return iface;
}
/**
* Attempts to remove the interface, doesn't delete i
* @return bool true if successful, false otherwise.
*/
-bool PPPModule::remove(Interface *i){
+bool PPPModule::remove(Interface *i)
+{
return list.remove(i);
}
void PPPModule::possibleNewInterfaces(QMap<QString, QString> &newIfaces)
{
newIfaces.insert(QObject::tr("PPP") ,
QObject::tr("generic ppp device"));
}
-namespace {
- InterfaceKeeper::InterfaceKeeper( ) {
- }
- InterfaceKeeper::~InterfaceKeeper() {
+namespace
+{
+ InterfaceKeeper::InterfaceKeeper( )
+ {}
+ InterfaceKeeper::~InterfaceKeeper()
+ {
Config cfg("ppp_plugin_keeper");
QStringList lst = cfg.groupList();
- for (QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) {
+ for (QStringList::Iterator it = lst.begin(); it != lst.end(); ++it )
+ {
Connection con;
cfg.setGroup( (*it) );
cfg.clearGroup();
}
- for (QMap<QString, Connection>::Iterator it = m_interfaces.begin(); it != m_interfaces.end(); ++it ) {
+ for (QMap<QString, Connection>::Iterator it = m_interfaces.begin(); it != m_interfaces.end(); ++it )
+ {
Connection con = it.data();
cfg.setGroup( con.name );
cfg.writeEntry( "pid", con.pid );
cfg.writeEntry( "device", con.device );
}
}
- void InterfaceKeeper::addInterface(pid_t pid, const QString& dev, const QString& name ) {
+ void InterfaceKeeper::addInterface(pid_t pid, const QString& dev, const QString& name )
+ {
Connection con;
con.pid = pid;
con.device = dev;
con.name = name;
m_interfaces.insert( name, con );
}
- QMap<QString, Connection> InterfaceKeeper::interfaces()const {
+ QMap<QString, Connection> InterfaceKeeper::interfaces()const
+ {
Config cfg("ppp_plugin_keeper");
QMap<QString, Connection> ifaces;
QStringList lst = cfg.groupList();
- for (QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) {
+ for (QStringList::Iterator it = lst.begin(); it != lst.end(); ++it )
+ {
Connection con;
cfg.setGroup( (*it) );
con.name = (*it);
con.pid = cfg.readNumEntry("pid");
con.device = cfg.readEntry("device");
qDebug(" %s %s %d", con.name.latin1(), con.device.latin1(), con.pid );
if ( con.pid != -1 && isAvailable( con.pid ) )
ifaces.insert( con.name, con );
}
return ifaces;
}
- bool InterfaceKeeper::isAvailable( pid_t p)const {
- if (::kill(p, 0 ) == 0 || errno != ESRCH ) {
+ bool InterfaceKeeper::isAvailable( pid_t p)const
+ {
+ if (::kill(p, 0 ) == 0 || errno != ESRCH )
+ {
qDebug("isAvailable %d", p);
return true;
}
qDebug("notAvailable %d", p);
return false;
}
}
diff --git a/noncore/settings/networksettings/wlan/wlanmodule.cpp b/noncore/settings/networksettings/wlan/wlanmodule.cpp
index 07bf73f..74d7f8e 100644
--- a/noncore/settings/networksettings/wlan/wlanmodule.cpp
+++ b/noncore/settings/networksettings/wlan/wlanmodule.cpp
@@ -1,81 +1,84 @@
+
#include "wlanmodule.h"
#include "wlanimp2.h"
#include "infoimp.h"
#include "wextensions.h"
#include "interfaceinformationimp.h"
+/* OPIE */
+#include <qpe/qpeapplication.h>
+
+/* QT */
#include <qcheckbox.h>
#include <qcombobox.h>
#include <qlabel.h>
#include <qlineedit.h>
#include <qprogressbar.h>
#include <qspinbox.h>
#include <qtabwidget.h>
-
-
/**
* Constructor, find all of the possible interfaces
*/
WLANModule::WLANModule()
: Module(),
wlanconfigWiget(0)
{
}
/**
* Delete any interfaces that we own.
*/
WLANModule::~WLANModule(){
Interface *i;
for ( i=list.first(); i != 0; i=list.next() )
delete i;
}
/**
* Change the current profile
*/
void WLANModule::setProfile(const QString &newProfile){
profile = newProfile;
}
/**
* get the icon name for this device.
* @param Interface* can be used in determining the icon.
* @return QString the icon name (minus .png, .gif etc)
*/
QString WLANModule::getPixmapName(Interface* ){
return "wlan";
}
/**
* Check to see if the interface i is owned by this module.
* @param Interface* interface to check against
* @return bool true if i is owned by this module, false otherwise.
*/
bool WLANModule::isOwner(Interface *i){
WExtensions we(i->getInterfaceName());
if(!we.doesHaveWirelessExtensions())
return false;
i->setHardwareName("802.11b");
list.append(i);
return true;
}
/**
* Create, and return the WLANConfigure Module
* @return QWidget* pointer to this modules configure.
*/
QWidget *WLANModule::configure(Interface *i){
WLANImp *wlanconfig = new WLANImp(0, "WlanConfig", i, true, Qt::WDestructiveClose);
wlanconfig->setProfile(profile);
return wlanconfig;
}
/**
* Create, and return the Information Module
* @return QWidget* pointer to this modules info.
*/
@@ -111,142 +114,142 @@ Interface *WLANModule::addNewInterface(const QString &){
/**
* Attempts to remove the interface, doesn't delete i
* @return bool true if successful, false otherwise.
*/
bool WLANModule::remove(Interface*){
// Can't remove a hardware device, you can stop it though.
return false;
}
void WLANModule::receive(const QCString &param, const QByteArray &arg)
{
qDebug("WLANModule::receive "+param);
QStringList params = QStringList::split(",",param);
int count = params.count();
qDebug("WLANModule got %i params", count );
if (count < 2){
qDebug("Erorr less than 2 parameter");
qDebug("RETURNING");
return;
}
QDataStream stream(arg,IO_ReadOnly);
QString interface;
QString action;
int countMsgs = 0;
stream >> interface;
qDebug("got count? >%s<",interface.latin1());
if (interface == "count"){
qDebug("got count");
stream >> action;
qDebug("Got count num >%s<", action.latin1());
countMsgs = action.toInt();
}
QDialog *toShow;
//while (! stream.atEnd() ){
for (int i = 0; i < countMsgs; i++){
qDebug("start stream %d/%d",i,countMsgs);
if (stream.atEnd()){
qDebug("end of stream");
return;
}
stream >> interface;
qDebug("got iface");
stream >> action;
qDebug("WLANModule got interface %s and acion %s", interface.latin1(), action.latin1());
// find interfaces
Interface *ifa=0;
for ( Interface *i=list.first(); i != 0; i=list.next() ){
if (i->getInterfaceName() == interface){
qDebug("WLANModule found interface %s",interface.latin1());
ifa = i;
}
}
if (ifa == 0){
qDebug("WLANModule Did not find %s",interface.latin1());
qDebug("skipping");
count = 0;
}
if (count == 2){
// those should call the interface directly
QWidget *info = getInfo( ifa );
- info->showMaximized();
+ QPEApplication::showWidget( info );
if ( action.contains("start" ) ){
ifa->start();
} else if ( action.contains("restart" ) ){
ifa->restart();
} else if ( action.contains("stop" ) ){
ifa->stop();
}else if ( action.contains("refresh" ) ){
ifa->refresh();
}
}else if (count == 3){
QString value;
if (!wlanconfigWiget){
//FIXME: what if it got closed meanwhile?
wlanconfigWiget = (WLANImp*) configure(ifa);
toShow = (QDialog*) wlanconfigWiget;
}
- wlanconfigWiget->showMaximized();
+ QPEApplication::showWidget( wlanconfigWiget );
stream >> value;
qDebug("WLANModule (build 4) is setting %s of %s to %s", action.latin1(), interface.latin1(), value.latin1() );
if (value.isEmpty()){
qDebug("value is empty!!!\nreturning");
return;
}
if ( action.contains("ESSID") ){
QComboBox *combo = wlanconfigWiget->essid;
bool found = false;
for ( int i = 0; i < combo->count(); i++)
if ( combo->text( i ) == value ){
combo->setCurrentItem( i );
found = true;
}
if (!found) combo->insertItem( value, 0 );
}else if ( action.contains("Mode") ){
QComboBox *combo = wlanconfigWiget->mode;
for ( int i = 0; i < combo->count(); i++)
if ( combo->text( i ) == value ){
combo->setCurrentItem( i );
}
}else if (action.contains("Channel")){
bool ok;
qDebug("converting channel");
int chan = value.toInt( &ok );
if (ok){
qDebug("ok setting channel");
wlanconfigWiget->specifyChan->setChecked( true );
wlanconfigWiget->networkChannel->setValue( chan );
}
}else if (action.contains("MacAddr")){
wlanconfigWiget->specifyAp->setChecked( true );
wlanconfigWiget->macEdit->setText( value );
}else
qDebug("wlan plugin has no clue");
}
qDebug("next stream");
}// while stream
qDebug("end of stream");
if (toShow) toShow->exec();
qDebug("returning");
}
QWidget *WLANModule::getInfo( Interface *i)
{
qDebug("WLANModule::getInfo start");
WlanInfoImp *info = new WlanInfoImp(0, i->getInterfaceName(), Qt::WDestructiveClose);
InterfaceInformationImp *information = new InterfaceInformationImp(info->tabWidget, "InterfaceSetupImp", i);
info->tabWidget->insertTab(information, "TCP/IP", 0);
info->tabWidget->setCurrentPage( 0 );
info->tabWidget->showPage( information );
if (info->tabWidget->currentPage() == information ) qDebug("infotab OK");
else qDebug("infotab NOT OK");
qDebug("current idx %d", info->tabWidget->currentPageIndex());
qDebug("WLANModule::getInfo return");
return info;
}