[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