Diffstat (limited to 'noncore/settings/networksettings/mainwindowimp.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/networksettings/mainwindowimp.cpp | 91 |
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 | ||
33 | MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name, true), advancedUserMode(false), scheme(DEFAULT_SCHEME){ | 49 | MainWindowImp::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 | */ |
192 | void MainWindowImp::loadModules(const QString &path){ | 218 | void 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 | */ |
217 | Module* MainWindowImp::loadPlugin(const QString &pluginFileName, const QString &resolveString){ | 245 | Module* 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("")); |