summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/networksettings/interfaces/interfaceinformationimp.cpp27
-rw-r--r--noncore/settings/networksettings/mainwindowimp.cpp272
-rw-r--r--noncore/settings/networksettings/ppp/accounts.cpp80
-rw-r--r--noncore/settings/networksettings/ppp/general.cpp62
-rw-r--r--noncore/settings/networksettings/ppp/modeminfo.cpp65
-rw-r--r--noncore/settings/networksettings/ppp/pppmodule.cpp103
-rw-r--r--noncore/settings/networksettings/wlan/wlanmodule.cpp11
7 files changed, 395 insertions, 225 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){
+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()){
+void InterfaceInformationImp::updateInterface(Interface *)
+{
+ if(interface->getStatus())
+ {
startButton->setEnabled(false);
stopButton->setEnabled(true);
restartButton->setEnabled(true);
}
- else{
+ 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(){
+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();
+ 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){
+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,224 +1,237 @@
+
#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){
+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(newProfile, SIGNAL(textChanged(const QString&)), this, SLOT(newProfileChanged(const QString&)));
//FIXME: disable profiles for the moment:
tabWidget->setTabEnabled( tab, false );
// Load connections.
// /usr/local/kde/lib/libinterfaces.la
#ifdef QWS
loadModules(QPEApplication::qpeDir() + "plugins/networksettings");
#else
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 ) {
+ 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) ) {
+ if (m_handledIfaces.contains( *ni) )
+ {
qDebug("Not up iface handled by module");
continue;
}
bool found = false;
- for( it = interfaceNames.begin(); it != interfaceNames.end(); ++it ){
+ for( it = interfaceNames.begin(); it != interfaceNames.end(); ++it )
+ {
if(it.key() == (*ni))
found = true;
}
- if(!found){
- if(!(*ni).contains("_")){
+ 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
+ if ( file.open(IO_ReadOnly) )
+ { // file opened successfully
QTextStream stream( &file ); // use a text stream
- while ( !stream.eof() ) { // until end of file...
+ while ( !stream.eof() )
+ { // until end of file...
QString line = stream.readLine(); // line of text excluding '\n'
- if(line.contains("SCHEME")){
+ 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(){
+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 ){
+ 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 ){
+ 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...
#endif
}
/**
* Query the kernel for all of the interfaces.
*/
-void MainWindowImp::getAllInterfaces(){
+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()) {
+ 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++) {
+ for (unsigned int i = 0; i < ifc.ifc_len / sizeof(struct ifreq); i++)
+ {
struct ifreq *pifr = &ifrs[i];
ifaces += pifr->ifr_name;
}
- } else {
+ }
+ 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) {
+ 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) {
+ for (QStringList::Iterator it = ifaces.begin(); it != ifaces.end(); ++it)
+ {
int flags = 0;
- if ( m_handledIfaces.contains( (*it) ) ) {
+ 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);
@@ -232,282 +245,318 @@ void MainWindowImp::getAllInterfaces(){
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()){
+ for( it = libraries.begin(); it != libraries.end(); ++it )
+ {
+ if(it.key())
+ {
ilist = it.key()->getInterfaces();
- for( i = ilist.first(); i != 0; i = ilist.next() ){
+ 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());
#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()) ) {
+ 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());
}
++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());
#endif
#ifdef QWS
QLibrary *lib = new QLibrary(pluginFileName);
void *functionPointer = lib->resolve(resolveString);
- if( !functionPointer ){
+ if( !functionPointer )
+ {
#ifdef DEBUG
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){
+ if(object == NULL)
+ {
#ifdef DEBUG
qDebug("MainWindowImp: Couldn't create object, but did load library!");
#endif
delete lib;
return NULL;
}
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) ){
+ 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){
+ if(object == NULL)
+ {
#ifdef DEBUG
qDebug("MainWindowImp: Couldn't create object, but did load library!");
#endif
return NULL;
}
#ifdef DEBUG
qDebug("MainWindowImp::loadPlugin:: Found object, storing.");
#endif
// 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(){
+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()){
+ 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){
+ 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()){
+ 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()){
+ for( it = libraries.begin(); it != libraries.end(); ++it )
+ {
+ if(it.key())
+ {
Interface *i = (it.key())->addNewInterface(item->text(0));
- if(i){
+ 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(){
+void MainWindowImp::removeClicked()
+{
QListViewItem *item = connectionList->currentItem();
- if(!item) {
+ if(!item)
+ {
QMessageBox::information(this, "Sorry","Please select an interface First.", QMessageBox::Ok);
return;
}
Interface *i = interfaceItems[item];
- if(i->getModuleOwner() == NULL){
+ if(i->getModuleOwner() == NULL)
+ {
QMessageBox::information(this, "Can't remove interface.", "Interface is built in.", QMessageBox::Ok);
}
- else{
+ else
+ {
if(!i->getModuleOwner()->remove(i))
QMessageBox::information(this, tr("Error"), tr("Unable to remove."), QMessageBox::Ok);
- else{
+ 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(){
+void MainWindowImp::configureClicked()
+{
QListViewItem *item = connectionList->currentItem();
- if(!item){
+ 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];
- if(i->getModuleOwner()){
+ if(i->getModuleOwner())
+ {
QWidget *moduleConfigure = i->getModuleOwner()->configure(i);
- if(moduleConfigure != NULL){
+ if(moduleConfigure != NULL)
+ {
i->getModuleOwner()->setProfile(currentProfileText);
- moduleConfigure->showMaximized();
+ QPEApplication::showWidget( moduleConfigure );
return;
}
}
InterfaceSetupImpDialog *configure = new InterfaceSetupImpDialog(this, "InterfaceSetupImp", i, true, Qt::WDestructiveClose | Qt::WStyle_ContextHelp );
configure->setProfile(currentProfileText);
- configure->showMaximized();
+ 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(){
+void MainWindowImp::informationClicked()
+{
QListViewItem *item = connectionList->currentItem();
- if(!item){
+ 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()){
+ if(i->getModuleOwner())
+ {
QWidget *moduleInformation = i->getModuleOwner()->information(i);
- if(moduleInformation != NULL){
- moduleInformation->showMaximized();
+ if(moduleInformation != NULL)
+ {
+ QPEApplication::showWidget( moduleInformation );
#ifdef DEBUG
qDebug("MainWindowImp::informationClicked:: Module owner has created, we showed.");
#endif
return;
}
}
InterfaceInformationImp *information = new InterfaceInformationImp(this, "InterfaceSetupImp", i, Qt::WType_Modal | Qt::WDestructiveClose | Qt::WStyle_Dialog | Qt::WStyle_ContextHelp);
- information->showMaximized();
+ 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){
+void MainWindowImp::updateInterface(Interface *i)
+{
+ if(!advancedUserMode)
+ {
if(i->getInterfaceName() == "lo")
return;
}
QListViewItem *item = NULL;
// Find the interface, making it if needed.
- if(items.find(i) == items.end()){
+ 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 ){
+ 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);
}
else
item = items[i];
// Update the icons and information
#ifdef QWS
item->setPixmap(0, (Resource::loadPixmap(i->getStatus() ? "up": "down")));
#else
item->setPixmap(0, (SmallIcon(i->getStatus() ? "up": "down")));
#endif
@@ -524,155 +573,176 @@ void MainWindowImp::updateInterface(Interface *i){
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)));
#else
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(""));
}
-void MainWindowImp::newProfileChanged(const QString& newText){
+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(){
+void MainWindowImp::addProfile()
+{
QString newProfileName = newProfile->text();
- if(profiles.grep(newProfileName).count() > 0){
+ 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){
+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"){
+ 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()){
+ 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){
+ 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 ){
+ for( it = items.begin(); it != items.end(); ++it )
+ {
QString interfaceName = it.key()->getInterfaceName();
qDebug(interfaceName.latin1());
- if(interfaces.setInterface(interfaceName + "_" + profileToRemove)){
+ if(interfaces.setInterface(interfaceName + "_" + profileToRemove))
+ {
interfaces.removeInterface();
- if(interfaces.setMapping(interfaceName)){
+ if(interfaces.setMapping(interfaceName))
+ {
if(profilesList->count() == 1)
interfaces.removeMapping();
- else{
+ else
+ {
interfaces.removeMap("map", interfaceName + "_" + profileToRemove);
}
}
interfaces.write();
break;
}
}
}
}
/**
* A new profile has been selected, change.
* @param newProfile the new profile.
*/
-void MainWindowImp::changeProfile(){
- if(profilesList->currentItem() == -1){
+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()){
+ if(newProfile != currentProfileLabel->text())
+ {
currentProfileLabel->setText(newProfile);
QFile::remove(scheme);
QFile file(scheme);
- if ( file.open(IO_ReadWrite) ) {
+ 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){
+ 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 ){
+ 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&)) );
}
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 ){
+ for( it = libraries.begin(); it != libraries.end(); ++it )
+ {
qDebug("plugin >%s<", it.key()->type().latin1() );
- if(it.key()->type() == dest){
+ if(it.key()->type() == dest)
+ {
it.key()->receive( param, arg );
found = true;
}
}
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
@@ -11,187 +11,207 @@
*
* 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 )
{
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
listListbox->insertStringList(_pppdata->getAccountList());
- for (uint i = 0; i < listListbox->count(); 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);
}
-void AccountWidget::edit() {
+void AccountWidget::edit()
+{
_pppdata->setAccount(listListbox->text(listListbox->currentItem()));
int result = doTab();
- if(result == QDialog::Accepted) {
+ 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;
// }
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() {
+void AccountWidget::copy()
+{
// if(listListbox->count() == MAX_ACCOUNTS) {
// QMessageBox::information(this, "sorry", tr("Maximum number of accounts reached."));
// return;
// }
- if(listListbox->currentItem()<0) {
+ if(listListbox->currentItem()<0)
+ {
QMessageBox::information(this, "sorry", tr("No account selected."));
return;
}
_pppdata->copyaccount(listListbox->currentText());
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()));
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());
// emit resetaccounts();
// _pppdata->save();
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_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") );
// // IP WIDGET
ip_w = new IPWidget( _pppdata, tabWindow, isnewaccount, tr("IP Setup"));
@@ -199,44 +219,50 @@ int AccountWidget::doTab(){
// // GATEWAY WIDGET
gateway_w = new GatewayWidget( _pppdata, tabWindow, isnewaccount, tr("Gateway Setup"));
tabWindow->addTab( gateway_w, tr("Gateway") );
// // 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") );
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) {
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
@@ -11,57 +11,55 @@
*
* 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>
-
-
-#include "general.h"
-#include "interfaceppp.h"
-//#include "miniterm.h"
-#include "modeminfo.h"
-#include "modemcmds.h"
-//#include "devices.h"
-#include "pppdata.h"
-//#include <klocale.h>
-
+/* STD */
+#include <termios.h>
+#include <string.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);
modemname = new QLineEdit(this, "modemName");
modemname->setText( _pppdata->devname() );
@@ -135,75 +133,78 @@ ModemWidget::ModemWidget( PPPData *pd, QWidget *parent, const char *name )
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[] = {
+ static const char *baudrates[] =
+ {
#ifdef B460800
"460800",
#endif
#ifdef B230400
"230400",
#endif
#ifdef B115200
"115200",
#endif
#ifdef B57600
"57600",
#endif
"38400",
"19200",
"9600",
"2400",
- 0};
+ 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++) {
+ 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"
@@ -224,71 +225,76 @@ ModemWidget::ModemWidget( PPPData *pd, QWidget *parent, const char *name )
// 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++) {
+ 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++) {
+ 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++) {
+ 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()));
// }
@@ -457,40 +463,42 @@ ModemWidget2::ModemWidget2( PPPData *pd, InterfacePPP *ip, QWidget *parent,
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() {
+void ModemWidget2::modemcmdsbutton()
+{
ModemCommands mc(_ifaceppp->data(), this, "commands" , true, Qt::WStyle_ContextHelp);
- mc.showMaximized();
- mc.exec();
+
+ QPEApplication::execDialog( &mc );
}
-void ModemWidget2::query_modem() {
+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
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
@@ -11,42 +11,46 @@
*
* 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)
{
setCaption(QObject::tr("ATI Query"));
// KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon());
QVBoxLayout *tl = new QVBoxLayout(this, 10, 10);
progressBar = new QProgressBar(this, "bar");
progressBar->setTotalSteps(8);
statusBar = new QLabel(this,"sBar");
statusBar->setFrameStyle(QFrame::Panel|QFrame::Sunken);
statusBar->setAlignment(AlignCenter);
@@ -80,215 +84,230 @@ ModemTransfer::ModemTransfer(Modem *mo, QWidget *parent, const char *name)
step = 0;
////////////////////////////////////////////////
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()));
timeout_timer->start(15000,TRUE); // 15 secs single shot
QTimer::singleShot(500, this, SLOT(init()));
}
-void ModemTransfer::ati_done() {
+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]);
- mi->showMaximized();
- mi->exec();
+
+ QPEApplication::execDialog( mi );
delete mi;
accept();
}
-void ModemTransfer::time_out_slot() {
+void ModemTransfer::time_out_slot()
+{
timeout_timer->stop();
scripttimer->stop();
QMessageBox::warning(this, tr("Error"), QObject::tr("Modem Query timed out."));
reject();
}
-void ModemTransfer::init() {
+void ModemTransfer::init()
+{
qApp->processEvents();
int lock = _modem->lockdevice();
- if (lock == 1) {
+ if (lock == 1)
+ {
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;
}
- if(_modem->opentty()) {
- if(_modem->hangup()) {
+ 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
// clear modem buffer
_modem->flush();
_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();
}
-void ModemTransfer::do_script() {
+void ModemTransfer::do_script()
+{
QString msg;
QString query;
- switch(step) {
+ 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) {
+void ModemTransfer::readChar(unsigned char c)
+{
if(readbuffer.length() < 255)
readbuffer += c;
}
-void ModemTransfer::readtty() {
+void ModemTransfer::readtty()
+{
if (step == 0)
return;
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();
readbuffer = "";
}
-void ModemTransfer::cancelbutton() {
+void ModemTransfer::cancelbutton()
+{
scripttimer->stop();
_modem->stop();
timeout_timer->stop();
statusBar->setText(QObject::tr("One moment please..."));
qApp->processEvents();
_modem->hangup();
_modem->closetty();
_modem->unlockdevice();
reject();
}
-void ModemTransfer::closeEvent( QCloseEvent *e ) {
+void ModemTransfer::closeEvent( QCloseEvent *e )
+{
cancelbutton();
e->accept();
}
ModemInfo::ModemInfo(QWidget *parent, const char* name)
: QDialog(parent, name, TRUE, WStyle_Customize|WStyle_NormalBorder)
{
QString label_text;
setCaption(QObject::tr("Modem Query Results"));
// KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon());
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++) {
+ 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 );
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);
QHBoxLayout *l2 = new QHBoxLayout;
QPushButton *ok = new QPushButton(QObject::tr("Close"), this);
ok->setDefault(TRUE);
ok->setFocus();
tl->addLayout(l2);
l2->addStretch(1);
connect(ok, SIGNAL(clicked()), SLOT(accept()));
l2->addWidget(ok);
setMinimumSize(sizeHint());
}
-void ModemInfo::setAtiString(int i, QString 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){
+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* ){
+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));
return pppconfig;
}
/**
* Create, and return the Information Module
* @return QWidget* pointer to this modules info.
*/
-QWidget *PPPModule::information(Interface *i){
+QWidget *PPPModule::information(Interface *i)
+{
// We don't have any advanced pppd information widget yet :-D
// TODO ^
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(){
+QList<Interface> PPPModule::getInterfaces()
+{
// List all of the files in the peer directory
qDebug("PPPModule::getInterfaces");
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){
+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 ){
+
+ if( QPEApplication::execDialog( &imp ) == QDialog::Accepted )
+ {
iface = (InterfacePPP*) ifaceppp;
iface->setModuleOwner( this );
list.append( iface );
return iface;
- }else {
+ }
+ 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,33 +1,36 @@
+
#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;
@@ -159,51 +162,51 @@ void WLANModule::receive(const QCString &param, const QByteArray &arg)
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") ){