summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings/mainwindowimp.cpp
Unidiff
Diffstat (limited to 'noncore/settings/networksettings/mainwindowimp.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/networksettings/mainwindowimp.cpp91
1 files changed, 80 insertions, 11 deletions
diff --git a/noncore/settings/networksettings/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindowimp.cpp
index 0ddc489..d6b708b 100644
--- a/noncore/settings/networksettings/mainwindowimp.cpp
+++ b/noncore/settings/networksettings/mainwindowimp.cpp
@@ -12,25 +12,41 @@
12#include <qheader.h> 12#include <qheader.h>
13#include <qlabel.h> 13#include <qlabel.h>
14 14
15#include <qmainwindow.h>
16#include <qmessagebox.h> 15#include <qmessagebox.h>
17 16
17#ifdef QTE_VERSION
18#include <qpe/config.h> 18#include <qpe/config.h>
19#include <qpe/qlibrary.h> 19#include <qpe/qlibrary.h>
20#include <qpe/resource.h> 20#include <qpe/resource.h>
21#include <qpe/qpeapplication.h> 21#include <qpe/qpeapplication.h>
22 #define QLibrary
23#else
24 #include <klibloader.h>
25 #define QLibrary KLibrary
26 #include <kconfig.h>
27 #define Config KConfig
28 #include <kapplication.h>
29 #include <kstandarddirs.h>
30 #include <kiconloader.h>
31 #define showMaximized show
32#endif
22 33
34#if QT_VERSION < 300
23#include <qlist.h> 35#include <qlist.h>
36#else
37#include <qptrlist.h>
38#endif
24#include <qdir.h> 39#include <qdir.h>
25#include <qfile.h> 40#include <qfile.h>
26#include <qtextstream.h> 41#include <qtextstream.h>
42#include <qregexp.h>
27 43
28#include <net/if.h> 44#include <net/if.h>
29#include <sys/ioctl.h> 45#include <sys/ioctl.h>
30 46
31#define DEFAULT_SCHEME "/var/lib/pcmcia/scheme" 47#define DEFAULT_SCHEME "/var/lib/pcmcia/scheme"
32 48
33MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name, true), advancedUserMode(false), scheme(DEFAULT_SCHEME){ 49MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name), advancedUserMode(true), scheme(DEFAULT_SCHEME){
34 connect(addConnectionButton, SIGNAL(clicked()), this, SLOT(addClicked())); 50 connect(addConnectionButton, SIGNAL(clicked()), this, SLOT(addClicked()));
35 connect(removeConnectionButton, SIGNAL(clicked()), this, SLOT(removeClicked())); 51 connect(removeConnectionButton, SIGNAL(clicked()), this, SLOT(removeClicked()));
36 connect(informationConnectionButton, SIGNAL(clicked()), this, SLOT(informationClicked())); 52 connect(informationConnectionButton, SIGNAL(clicked()), this, SLOT(informationClicked()));
@@ -42,7 +58,13 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par
42 58
43 connect(newProfile, SIGNAL(textChanged(const QString&)), this, SLOT(newProfileChanged(const QString&))); 59 connect(newProfile, SIGNAL(textChanged(const QString&)), this, SLOT(newProfileChanged(const QString&)));
44 // Load connections. 60 // Load connections.
45 loadModules(QPEApplication::qpeDir() + "/plugins/networksettings"); 61 // /usr/local/kde/lib/libinterfaces.la
62#ifdef QTE_VERSION
63 loadModules(QPEApplication::kdeDir() + "/plugins/networksettings");
64#else
65 loader = KLibLoader::self();
66 loadModules(QString("/usr/")+KStandardDirs::kde_default("lib"));
67#endif
46 getAllInterfaces(); 68 getAllInterfaces();
47 69
48 Interfaces i; 70 Interfaces i;
@@ -108,6 +130,7 @@ MainWindowImp::~MainWindowImp(){
108 delete iIt.key(); 130 delete iIt.key();
109 } 131 }
110 132
133#ifdef QTE_VERSION
111 // Delete Modules and Libraries 134 // Delete Modules and Libraries
112 QMap<Module*, QLibrary*>::Iterator it; 135 QMap<Module*, QLibrary*>::Iterator it;
113 for( it = libraries.begin(); it != libraries.end(); ++it ){ 136 for( it = libraries.begin(); it != libraries.end(); ++it ){
@@ -116,6 +139,9 @@ MainWindowImp::~MainWindowImp(){
116 // What fucking shit this is. 139 // What fucking shit this is.
117 //delete it.data(); 140 //delete it.data();
118 } 141 }
142#else
143 // klibloader automaticly deletes the libraries for us...
144#endif
119} 145}
120 146
121/** 147/**
@@ -190,7 +216,9 @@ void MainWindowImp::getAllInterfaces(){
190 * and attempts to load them 216 * and attempts to load them
191 */ 217 */
192void MainWindowImp::loadModules(const QString &path){ 218void MainWindowImp::loadModules(const QString &path){
193 //qDebug(path.latin1()); 219#ifdef DEBUG
220 qDebug("MainWindowImp::loadModules: %s", path.latin1());
221#endif
194 QDir d(path); 222 QDir d(path);
195 if(!d.exists()) 223 if(!d.exists())
196 return; 224 return;
@@ -201,7 +229,7 @@ void MainWindowImp::loadModules(const QString &path){
201 QFileInfoListIterator it( *list ); 229 QFileInfoListIterator it( *list );
202 QFileInfo *fi; 230 QFileInfo *fi;
203 while ( (fi=it.current()) ) { 231 while ( (fi=it.current()) ) {
204 if(fi->fileName().contains(".so")){ 232 if(fi->fileName().contains(".so") && fi->fileName().contains("networksettings_")){
205 loadPlugin(path + "/" + fi->fileName()); 233 loadPlugin(path + "/" + fi->fileName());
206 } 234 }
207 ++it; 235 ++it;
@@ -215,19 +243,25 @@ void MainWindowImp::loadModules(const QString &path){
215 * @return pointer to the function with name resolveString or NULL 243 * @return pointer to the function with name resolveString or NULL
216 */ 244 */
217Module* MainWindowImp::loadPlugin(const QString &pluginFileName, const QString &resolveString){ 245Module* MainWindowImp::loadPlugin(const QString &pluginFileName, const QString &resolveString){
218 //qDebug(QString("MainWindowImp::loadPlugin: %1").arg(pluginFileName).latin1()); 246#ifdef DEBUG
247 qDebug("MainWindowImp::loadPlugin: %s", pluginFileName.latin1());
248#endif
249#ifdef QTE_VERSION
219 QLibrary *lib = new QLibrary(pluginFileName); 250 QLibrary *lib = new QLibrary(pluginFileName);
220 void *functionPointer = lib->resolve(resolveString); 251 void *functionPointer = lib->resolve(resolveString);
221 if( !functionPointer ){ 252 if( !functionPointer ){
222 qDebug(QString("MainWindowImp: File: %1 is not a plugin, but though was.").arg(pluginFileName).latin1()); 253#ifdef DEBUG
254 qDebug("MainWindowImp::loadPlugin: File: %s is not a plugin, but though was.", pluginFileName.latin1());
255#endif
223 delete lib; 256 delete lib;
224 return NULL; 257 return NULL;
225 } 258 }
226
227 // Try to get an object. 259 // Try to get an object.
228 Module *object = ((Module* (*)()) functionPointer)(); 260 Module *object = ((Module* (*)()) functionPointer)();
229 if(object == NULL){ 261 if(object == NULL){
262#ifdef DEBUG
230 qDebug("MainWindowImp: Couldn't create object, but did load library!"); 263 qDebug("MainWindowImp: Couldn't create object, but did load library!");
264#endif
231 delete lib; 265 delete lib;
232 return NULL; 266 return NULL;
233 } 267 }
@@ -235,6 +269,30 @@ Module* MainWindowImp::loadPlugin(const QString &pluginFileName, const QString &
235 // Store for deletion later 269 // Store for deletion later
236 libraries.insert(object, lib); 270 libraries.insert(object, lib);
237 return object; 271 return object;
272
273#else
274 QLibrary *lib = loader->library(pluginFileName);
275 if( !lib || !lib->hasSymbol(resolveString) ){
276#ifdef DEBUG
277 qDebug(QString("MainWindowImp::loadPlugin: File: %1 is not a plugin, but though was.").arg(pluginFileName).latin1());
278#endif
279 return NULL;
280 }
281 // Try to get an object.
282 Module *object = ((Module* (*)()) lib->symbol(resolveString))();
283 if(object == NULL){
284#ifdef DEBUG
285 qDebug("MainWindowImp: Couldn't create object, but did load library!");
286#endif
287 return NULL;
288 }
289#ifdef DEBUG
290 qDebug("MainWindowImp::loadPlugin:: Found object, storing.");
291#endif
292 // Store for deletion later
293 libraries.insert(object, lib);
294 return object;
295#endif
238} 296}
239 297
240/** 298/**
@@ -324,7 +382,7 @@ void MainWindowImp::configureClicked(){
324 } 382 }
325 } 383 }
326 384
327 InterfaceSetupImpDialog *configure = new InterfaceSetupImpDialog(0, "InterfaceSetupImp", i, true, Qt::WDestructiveClose); 385 InterfaceSetupImpDialog *configure = new InterfaceSetupImpDialog(this, "InterfaceSetupImp", i, true, Qt::WShowModal | Qt::WDestructiveClose | Qt::WType_Dialog);
328 QString currentProfileText = currentProfileLabel->text(); 386 QString currentProfileText = currentProfileLabel->text();
329 if(currentProfileText.upper() == "ALL"); 387 if(currentProfileText.upper() == "ALL");
330 currentProfileText = ""; 388 currentProfileText = "";
@@ -354,11 +412,14 @@ void MainWindowImp::informationClicked(){
354 QWidget *moduleInformation = i->getModuleOwner()->information(i); 412 QWidget *moduleInformation = i->getModuleOwner()->information(i);
355 if(moduleInformation != NULL){ 413 if(moduleInformation != NULL){
356 moduleInformation->showMaximized(); 414 moduleInformation->showMaximized();
415#ifdef DEBUG
416 qDebug("MainWindowImp::informationClicked:: Module owner has created, we showed.");
417#endif
357 return; 418 return;
358 } 419 }
359 } 420 }
360 InterfaceInformationImp information(0, "InterfaceSetupImp", i); 421 InterfaceInformationImp *information = new InterfaceInformationImp(this, "InterfaceSetupImp", i, Qt::WShowModal | Qt::WDestructiveClose | Qt::WType_Dialog);
361 information.showMaximized(); 422 information->showMaximized();
362} 423}
363 424
364/** 425/**
@@ -389,7 +450,11 @@ void MainWindowImp::updateInterface(Interface *i){
389 item = items[i]; 450 item = items[i];
390 451
391 // Update the icons and information 452 // Update the icons and information
453#ifdef QTE_VERSION
392 item->setPixmap(0, (Resource::loadPixmap(i->getStatus() ? "up": "down"))); 454 item->setPixmap(0, (Resource::loadPixmap(i->getStatus() ? "up": "down")));
455#else
456 item->setPixmap(0, (SmallIcon(i->getStatus() ? "up": "down")));
457#endif
393 458
394 QString typeName = "lan"; 459 QString typeName = "lan";
395 if(i->getHardwareName().contains("Local Loopback")) 460 if(i->getHardwareName().contains("Local Loopback"))
@@ -407,7 +472,11 @@ void MainWindowImp::updateInterface(Interface *i){
407 if(i->getModuleOwner() != NULL) 472 if(i->getModuleOwner() != NULL)
408 typeName = i->getModuleOwner()->getPixmapName(i); 473 typeName = i->getModuleOwner()->getPixmapName(i);
409 474
475#ifdef QTE_VERSION
410 item->setPixmap(1, (Resource::loadPixmap(QString("networksettings/") + typeName))); 476 item->setPixmap(1, (Resource::loadPixmap(QString("networksettings/") + typeName)));
477#else
478 item->setPixmap(1, (SmallIcon(typeName)));
479#endif
411 item->setText(2, i->getHardwareName()); 480 item->setText(2, i->getHardwareName());
412 item->setText(3, QString("(%1)").arg(i->getInterfaceName())); 481 item->setText(3, QString("(%1)").arg(i->getInterfaceName()));
413 item->setText(4, (i->getStatus()) ? i->getIp() : QString("")); 482 item->setText(4, (i->getStatus()) ? i->getIp() : QString(""));