[Uludag-commits] r11934 - trunk/kaptan/src

svn-uludag at uludag.org.tr svn-uludag at uludag.org.tr
11 Oca 2007 Per 15:41:58 EET


Author: caglar
Date: Thu Jan 11 15:41:58 2007
New Revision: 11934

Modified:
   trunk/kaptan/src/network.cpp
   trunk/kaptan/src/network.h
Log:
fix #4685

Modified: trunk/kaptan/src/network.cpp
=================================================================
--- trunk/kaptan/src/network.cpp	(original)
+++ trunk/kaptan/src/network.cpp	Thu Jan 11 15:41:58 2007
@@ -30,34 +30,38 @@
 {
     embed = new QXEmbed(networkFrame);
     proc = new KProcess(this);
+    running = false;
 }
 
 void Network::embedManager()
 {
-    embed->initialize();
-
-    // FIXME: networkFrame->widht() || networkFrame->height() returns wrong value?
-    embed->resize(606, 390);
-
-    QLabel *busy = new QLabel(i18n("<big>Loading...</big>"), embed);
-    busy->setAlignment(AlignCenter);
-    busy->setTextFormat(RichText);
-    busy->setGeometry(0,0, width(), height());
-    busy->show();
-
-    // embed buttonless network-manager into Kaptan
-    *proc << "kcmshell";
-    *proc << "--embed-proxy";
-    *proc << QString::number(embed->winId());
-    *proc << "network-manager";
+    if ( ! running )
+    {
+        embed->initialize();
 
-    // if process exits kill kcmshell
-    connect(proc, SIGNAL(processExited(KProcess*)), this, SLOT(killProcess()));
+        // FIXME: networkFrame->widht() || networkFrame->height() returns wrong value?
+        embed->resize(606, 390);
 
-    if (!proc->start(KProcess::NotifyOnExit))
-    {
-        delete proc;
-        proc = 0L;
+        QLabel *busy = new QLabel(i18n("<big>Loading...</big>"), embed);
+        busy->setAlignment(AlignCenter);
+        busy->setTextFormat(RichText);
+        busy->setGeometry(0,0, width(), height());
+        busy->show();
+
+        // embed buttonless network-manager into Kaptan
+        *proc << "kcmshell";
+        *proc << "--embed-proxy";
+        *proc << QString::number(embed->winId());
+        *proc << "network-manager";
+
+        // if process exits kill kcmshell
+        connect(proc, SIGNAL(processExited(KProcess*)), this, SLOT(killProcess()));
+        running = true;
+        if (!proc->start(KProcess::NotifyOnExit))
+        {
+            delete proc;
+            proc = 0L;
+        }
     }
 }
 
@@ -71,6 +75,8 @@
     if (embed && embed->embeddedWinId())
         XKillClient(qt_xdisplay(), embed->embeddedWinId());
 
+    running = false;
+
     delete embed;
     embed = 0;
 

Modified: trunk/kaptan/src/network.h
=================================================================
--- trunk/kaptan/src/network.h	(original)
+++ trunk/kaptan/src/network.h	Thu Jan 11 15:41:58 2007
@@ -33,6 +33,7 @@
 private:
     QXEmbed *embed;
     KProcess *proc;
+    bool running;
 };
 
 #endif // NETWORK_H


Uludag-commits mesaj listesiyle ilgili daha fazla bilgi