summaryrefslogtreecommitdiff
path: root/noncore/net/networksetup/mainwindowimp.cpp
Unidiff
Diffstat (limited to 'noncore/net/networksetup/mainwindowimp.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/networksetup/mainwindowimp.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/noncore/net/networksetup/mainwindowimp.cpp b/noncore/net/networksetup/mainwindowimp.cpp
index 3715da0..36f12e0 100644
--- a/noncore/net/networksetup/mainwindowimp.cpp
+++ b/noncore/net/networksetup/mainwindowimp.cpp
@@ -1,118 +1,119 @@
1#include "mainwindowimp.h" 1#include "mainwindowimp.h"
2#include "addconnectionimp.h" 2#include "addconnectionimp.h"
3#include "interfaceinformationimp.h" 3#include "interfaceinformationimp.h"
4#include "interfacesetupimp.h" 4#include "interfacesetupimp.h"
5#include "module.h" 5#include "module.h"
6 6
7#include "kprocess.h" 7#include "kprocess.h"
8 8
9#include <qpushbutton.h> 9#include <qpushbutton.h>
10#include <qtabwidget.h> 10#include <qtabwidget.h>
11#include <qlistbox.h> 11#include <qlistbox.h>
12#include <qlineedit.h> 12#include <qlineedit.h>
13#include <qlistview.h> 13#include <qlistview.h>
14#include <qheader.h> 14#include <qheader.h>
15#include <qlabel.h> 15#include <qlabel.h>
16 16
17#include <qmainwindow.h> 17#include <qmainwindow.h>
18#include <qmessagebox.h> 18#include <qmessagebox.h>
19 19
20#include <qpe/config.h> 20#include <qpe/config.h>
21#include <qpe/qlibrary.h> 21#include <qpe/qlibrary.h>
22#include <qpe/resource.h> 22#include <qpe/resource.h>
23#include <qpe/qpeapplication.h>
23 24
24#include <qlist.h> 25#include <qlist.h>
25#include <qdir.h> 26#include <qdir.h>
26#include <qfile.h> 27#include <qfile.h>
27#include <qtextstream.h> 28#include <qtextstream.h>
28 29
29#define TEMP_ALL "/tmp/ifconfig-a" 30#define TEMP_ALL "/tmp/ifconfig-a"
30#define TEMP_UP "/tmp/ifconfig" 31#define TEMP_UP "/tmp/ifconfig"
31 32
32MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name, true), advancedUserMode(false){ 33MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name, true), advancedUserMode(false){
33 connect(addConnectionButton, SIGNAL(clicked()), this, SLOT(addClicked())); 34 connect(addConnectionButton, SIGNAL(clicked()), this, SLOT(addClicked()));
34 connect(removeConnectionButton, SIGNAL(clicked()), this, SLOT(removeClicked())); 35 connect(removeConnectionButton, SIGNAL(clicked()), this, SLOT(removeClicked()));
35 connect(informationConnectionButton, SIGNAL(clicked()), this, SLOT(informationClicked())); 36 connect(informationConnectionButton, SIGNAL(clicked()), this, SLOT(informationClicked()));
36 connect(configureConnectionButton, SIGNAL(clicked()), this, SLOT(configureClicked())); 37 connect(configureConnectionButton, SIGNAL(clicked()), this, SLOT(configureClicked()));
37 38
38 connect(newProfileButton, SIGNAL(clicked()), this, SLOT(addProfile())); 39 connect(newProfileButton, SIGNAL(clicked()), this, SLOT(addProfile()));
39 connect(removeProfileButton, SIGNAL(clicked()), this, SLOT(removeProfile())); 40 connect(removeProfileButton, SIGNAL(clicked()), this, SLOT(removeProfile()));
40 connect(setCurrentProfileButton, SIGNAL(clicked()), this, SLOT(changeProfile())); 41 connect(setCurrentProfileButton, SIGNAL(clicked()), this, SLOT(changeProfile()));
41 42
42 connect(newProfile, SIGNAL(textChanged(const QString&)), this, SLOT(newProfileChanged(const QString&))); 43 connect(newProfile, SIGNAL(textChanged(const QString&)), this, SLOT(newProfileChanged(const QString&)));
43 // Load connections. 44 // Load connections.
44 loadModules(QPEApplication::qpeDir() + "/plugins/networksetup"); 45 loadModules(QPEApplication::qpeDir() + "/plugins/networksetup");
45 getInterfaceList(); 46 getInterfaceList();
46 connectionList->header()->hide(); 47 connectionList->header()->hide();
47 48
48 49
49 Config cfg("NetworkSetup"); 50 Config cfg("NetworkSetup");
50 profiles = QStringList::split(" ", cfg.readEntry("Profiles", "All")); 51 profiles = QStringList::split(" ", cfg.readEntry("Profiles", "All"));
51 for ( QStringList::Iterator it = profiles.begin(); it != profiles.end(); ++it) 52 for ( QStringList::Iterator it = profiles.begin(); it != profiles.end(); ++it)
52 profilesList->insertItem((*it)); 53 profilesList->insertItem((*it));
53 advancedUserMode = cfg.readBoolEntry("AdvancedUserMode", false); 54 advancedUserMode = cfg.readBoolEntry("AdvancedUserMode", false);
54} 55}
55 56
56/** 57/**
57 * Deconstructor. Save profiles. Delete loaded libraries. 58 * Deconstructor. Save profiles. Delete loaded libraries.
58 */ 59 */
59MainWindowImp::~MainWindowImp(){ 60MainWindowImp::~MainWindowImp(){
60 // Save profiles. 61 // Save profiles.
61 if(profiles.count() > 1){ 62 if(profiles.count() > 1){
62 Config cfg("NetworkSetup"); 63 Config cfg("NetworkSetup");
63 cfg.setGroup("General"); 64 cfg.setGroup("General");
64 cfg.writeEntry("Profiles", profiles.join(" ")); 65 cfg.writeEntry("Profiles", profiles.join(" "));
65 } 66 }
66 // Delete Modules and Libraries 67 // Delete Modules and Libraries
67 QMap<Module*, QLibrary*>::Iterator it; 68 QMap<Module*, QLibrary*>::Iterator it;
68 for( it = libraries.begin(); it != libraries.end(); ++it ){ 69 for( it = libraries.begin(); it != libraries.end(); ++it ){
69 delete it.key(); 70 delete it.key();
70 delete it.data(); 71 delete it.data();
71 } 72 }
72} 73}
73 74
74/** 75/**
75 * Load all modules that are found in the path 76 * Load all modules that are found in the path
76 * @param path a directory that is scaned for any plugins that can be loaded 77 * @param path a directory that is scaned for any plugins that can be loaded
77 * and attempts to load them 78 * and attempts to load them
78 */ 79 */
79void MainWindowImp::loadModules(QString path){ 80void MainWindowImp::loadModules(QString path){
80 qDebug(path.latin1()); 81 qDebug(path.latin1());
81 QDir d(path); 82 QDir d(path);
82 if(!d.exists()) 83 if(!d.exists())
83 return; 84 return;
84 85
85 // Don't want sym links 86 // Don't want sym links
86 d.setFilter( QDir::Files | QDir::NoSymLinks ); 87 d.setFilter( QDir::Files | QDir::NoSymLinks );
87 const QFileInfoList *list = d.entryInfoList(); 88 const QFileInfoList *list = d.entryInfoList();
88 QFileInfoListIterator it( *list ); 89 QFileInfoListIterator it( *list );
89 QFileInfo *fi; 90 QFileInfo *fi;
90 while ( (fi=it.current()) ) { 91 while ( (fi=it.current()) ) {
91 if(fi->fileName().contains(".so")){ 92 if(fi->fileName().contains(".so")){
92 loadPlugin(path + "/" + fi->fileName()); 93 loadPlugin(path + "/" + fi->fileName());
93 } 94 }
94 ++it; 95 ++it;
95 } 96 }
96} 97}
97 98
98/** 99/**
99 * Attempt to load a function and resolve a function. 100 * Attempt to load a function and resolve a function.
100 * @param pluginFileName - the name of the file in which to attempt to load 101 * @param pluginFileName - the name of the file in which to attempt to load
101 * @param resolveString - function pointer to resolve 102 * @param resolveString - function pointer to resolve
102 * @return pointer to the function with name resolveString or NULL 103 * @return pointer to the function with name resolveString or NULL
103 */ 104 */
104Module* MainWindowImp::loadPlugin(QString pluginFileName, QString resolveString){ 105Module* MainWindowImp::loadPlugin(QString pluginFileName, QString resolveString){
105 qDebug(QString("MainWindowImp::loadPlugin: %1").arg(pluginFileName).latin1()); 106 qDebug(QString("MainWindowImp::loadPlugin: %1").arg(pluginFileName).latin1());
106 QLibrary *lib = new QLibrary(pluginFileName); 107 QLibrary *lib = new QLibrary(pluginFileName);
107 void *functionPointer = lib->resolve(resolveString); 108 void *functionPointer = lib->resolve(resolveString);
108 if( !functionPointer ){ 109 if( !functionPointer ){
109 qDebug(QString("MainWindowImp: File: %1 is not a plugin, but though was.").arg(pluginFileName).latin1()); 110 qDebug(QString("MainWindowImp: File: %1 is not a plugin, but though was.").arg(pluginFileName).latin1());
110 delete lib; 111 delete lib;
111 return NULL; 112 return NULL;
112 } 113 }
113 114
114 // Try to get an object. 115 // Try to get an object.
115 Module *object = ((Module* (*)()) functionPointer)(); 116 Module *object = ((Module* (*)()) functionPointer)();
116 if(object == NULL){ 117 if(object == NULL){
117 qDebug("MainWindowImp: Couldn't create object, but did load library!"); 118 qDebug("MainWindowImp: Couldn't create object, but did load library!");
118 delete lib; 119 delete lib;