[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdepim/kmobiletools/kmobiletools
From:       Marco Gulino <marco () kmobiletools ! org>
Date:       2007-06-01 23:47:43
Message-ID: 1180741663.335364.14162.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 670555 by gulino:

Let's the probe start ;)
The wizard now can scan selected devices in a better way.


 M  +1 -1      engines/at_engine/testphonedevice.h  
 M  +91 -1     engines/at_engine/wizard/at_scanprogresspage.cpp  
 M  +18 -3     engines/at_engine/wizard/at_scanprogresspage.h  
 M  +5 -0      engines/libkmobiletoolsengineui/scanprogressPage.cpp  
 M  +1 -0      engines/libkmobiletoolsengineui/scanprogressPage.h  
 M  +3 -1      libkmobiletools/engine.cpp  
 M  +0 -1      mainpart/devicehome.cpp  
 M  +1 -1      mainpart/newdevicewizard/firstpage.cpp  


--- trunk/KDE/kdepim/kmobiletools/kmobiletools/engines/at_engine/testphonedevice.h \
#670554:670555 @@ -36,7 +36,7 @@
     TestPhoneDeviceJob(const QString &devicename, AT_Engine* parent);
 
     ~TestPhoneDeviceJob();
-    JobType type() { return static_cast<JobType>(AT_Engine::TestPhoneDevice); }
+    virtual JobType type() { return \
static_cast<JobType>(AT_Engine::TestPhoneDevice); }  KMobileTools::EngineData *data() \
{ return enginedata; }  bool found() { return b_found; }
     QString path() const { return deviceName; }
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/engines/at_engine/wizard/at_scanprogresspage.cpp \
#670554:670555 @@ -21,9 +21,14 @@
    Boston, MA 02110-1301, USA.
  ***************************************************************************/
 #include "at_scanprogresspage.h"
+#include "at_engine.h"
+#include "testphonedevice.h"
+#include <libkmobiletools/engineslist.h>
+#include <libkmobiletools/enginedata.h>
+#include "atengineconfig.h"
 
 AT_ScanProgressPage::AT_ScanProgressPage(QWidget *parent)
- : ScanProgressPage(parent)
+ : ScanProgressPage(parent), totaljobs(0), donejobs(0)
 {
 }
 
@@ -34,3 +39,88 @@
 
 #include "at_scanprogresspage.moc"
 
+
+
+/*!
+    \fn AT_ScanProgressPage::isComplete()
+ */
+bool AT_ScanProgressPage::isComplete() const {
+    bool complete=(donejobs!=0 && totaljobs==donejobs);
+    kDebug() << "isComplete==" << complete << " (progress=" << donejobs << "/" << \
totaljobs << ")\n"; +    return complete;
+}
+
+
+/*!
+    \fn AT_ScanProgressPage::cleanupPage()
+ */
+void AT_ScanProgressPage::cleanupPage()
+{
+    kDebug() << "AT_ScanProgressPage::cleanupPage()\n";
+    ScanProgressPage::cleanupPage();
+    disconnect(engine, SIGNAL(foundDeviceData(FindDeviceDataJob*)), this, \
SLOT(deviceProbed(FindDeviceDataJob*)) ); +    /// @todo implement me
+    totaljobs=0;
+    l_devices.clear();
+}
+
+
+/*!
+    \fn AT_ScanProgressPage::initializePage()
+ */
+void AT_ScanProgressPage::initializePage() {
+    kDebug() << "AT_ScanProgressPage::initializePage()\n";
+    engine=(AT_Engine*) KMobileTools::EnginesList::instance()->wizardEngine();
+    connect(engine, SIGNAL(foundDeviceData(FindDeviceDataJob*)), this, \
SLOT(deviceProbed(FindDeviceDataJob*)) ); +    cfg=(ATDevicesConfig*) \
DEVCFG(wizard()->objectName() ); +    startScan();
+}
+
+
+/*!
+    \fn AT_ScanProgressPage::deviceProbed(FindDeviceDataJob*)
+ */
+void AT_ScanProgressPage::deviceProbed(FindDeviceDataJob* job)
+{
+    kDebug() << "Job done: " << job->path() << "; found: " << job->found() << endl;
+    if(job->found()) l_devices+=job->data();
+    donejobs++;
+    setProgress( (donejobs*100)/totaljobs);
+    emit completeChanged();
+}
+
+
+/*!
+    \fn AT_ScanProgressPage::startScan()
+ */
+void AT_ScanProgressPage::startScan()
+{
+    donejobs=0;
+    if(!cfg->at_connections() ) return;
+    QStringList devices;
+    TestPhoneDeviceJob *curjob;
+    if(cfg->at_connections() & AT_Engine::ConnectionUSB)
+        for(uchar i=0; i<10; i++) {
+            engine->enqueueJob( new \
FindDeviceDataJob(QString("/dev/ttyACM%1").arg(i), engine) ); +            \
engine->enqueueJob(new FindDeviceDataJob(QString("/dev/ttyUSB%1").arg(i), engine) ); \
+            totaljobs+=2; +        }
+    if(cfg->at_connections() & AT_Engine::ConnectionIrDA)
+        for(uchar i=0; i<10; i++) {
+            engine->enqueueJob(new \
FindDeviceDataJob(QString("/dev/ircomm%1").arg(i), engine) ); +            \
totaljobs++; +        }
+    if(cfg->at_connections() & AT_Engine::ConnectionSerial)
+        for(uchar i=0; i<10; i++) {
+            engine->enqueueJob(new FindDeviceDataJob(QString("/dev/ttyS%1").arg(i), \
engine) ); +            totaljobs++;
+        }
+/*    if(cfg->at_connections() & ConnectionBluetooth)
+        for(QStringList::ConstIterator it=bluetoothDevices.begin(); \
it!=bluetoothDevices.end(); ++it) +            engine->enqueueJob(new \
FindDeviceDataJob(*it, engine) );*/ +    if(cfg->at_connections() & \
AT_Engine::ConnectionUser) +        for(QStringList::ConstIterator \
it=cfg->at_userdevices().begin(); it!=cfg->at_userdevices().end(); ++it) { +          \
engine->enqueueJob(new FindDeviceDataJob(*it, engine) ); +            totaljobs++;
+        }
+}
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/engines/at_engine/wizard/at_scanprogresspage.h \
#670554:670555 @@ -24,10 +24,12 @@
 #define AT_SCANPROGRESSPAGE_H
 
 #include <libkmobiletoolsengineui/scanprogressPage.h>
+#include <QList>
 
-/**
-	@author 
-*/
+class FindDeviceDataJob;
+class AT_Engine;
+class ATDevicesConfig;
+namespace KMobileTools { class EngineData; }
 class AT_ScanProgressPage : public ScanProgressPage
 {
 Q_OBJECT
@@ -35,7 +37,20 @@
     AT_ScanProgressPage(QWidget *parent = 0);
 
     ~AT_ScanProgressPage();
+    bool isComplete() const;
+    void cleanupPage();
+    void initializePage();
+    void startScan();
+    QList<KMobileTools::EngineData*> foundDevices();
 
+public slots:
+    void deviceProbed(FindDeviceDataJob*);
+private:
+    AT_Engine *engine;
+    ATDevicesConfig *cfg;
+    int totaljobs;
+    int donejobs;
+    QList<KMobileTools::EngineData*> l_devices;
 };
 
 #endif
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/engines/libkmobiletoolsengineui/scanprogressPage.cpp \
#670554:670555 @@ -58,4 +58,9 @@
     return progressBar()->value();
 }
 
+void ScanProgressPage::cleanupPage() {
+    kDebug() << "void ScanProgressPage::cleanupPage()\n";
+    setProgress(0);
+}
+
 #include "scanprogressPage.moc"
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/engines/libkmobiletoolsengineui/scanprogressPage.h \
#670554:670555 @@ -38,6 +38,7 @@
     QProgressBar *progressBar();
     void setProgress(int progress);
     int progress();
+    virtual void cleanupPage();
 private:
     ScanProgressPagePrivate *d;
 };
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/engine.cpp \
#670554:670555 @@ -261,7 +261,9 @@
         kDebug() << "Error loading library: " << \
KLibLoader::self()->lastErrorMessage() << endl;  return NULL;
     }
-    return static_cast<KMobileTools::Engine *>(factory->create(parent, \
"KMobileTools::Engine" ) ); +    Engine *ret=static_cast<KMobileTools::Engine \
*>(factory->create(parent, "KMobileTools::Engine" ) ); +    if(parent) \
ret->setObjectName(parent->objectName()); +    return ret;
 }
 
 void Engine::setConnected(bool b) { d->b_connected=b; }
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/mainpart/devicehome.cpp #670554:670555
@@ -316,7 +316,6 @@
         emit deleteThis( objectName() );
         return;
     }
-    engine->setObjectName( objectName() );
     connect(engine, SIGNAL(connected()), this, SLOT(devConnected()) );
     connect(engine, SIGNAL(disconnected()), this, SLOT(devDisconnected() ) );
     connect(engine, SIGNAL(connected() ), this, SLOT(enableWidgets() ) );
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/mainpart/newdevicewizard/firstpage.cpp \
#670554:670555 @@ -70,7 +70,7 @@
 //     setField("engine",d->enginelibname);
     // now let's load the engine library
     kDebug() << "Engine Library field changed: " << field("engine").toString() << \
                endl;
-    KMobileTools::Engine *engine=KMobileTools::Engine::load( engineLibrary() , \
this); +    KMobileTools::Engine *engine=KMobileTools::Engine::load( engineLibrary() \
, wizard() );  if(!engine)
     {
         KMessageBox::error(this, i18n("Could not load the engine %1.\nIf this error \
persists, please restart KMobileTools.",


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic