[kmobiletools] KDE/kdepim/kmobiletools/kmobiletools
Marco Gulino
marco at kmobiletools.org
Sun Jun 3 23:03:14 CEST 2007
SVN commit 671125 by gulino:
AT Engine Wizard is now almost done. It just needs some details to be updated, but it can correctly detect and setup a mobile phone.
M +6 -1 engines/at_engine/at_engine.cpp
M +59 -2 engines/at_engine/wizard/at_devicesfoundpage.cpp
M +9 -0 engines/at_engine/wizard/at_devicesfoundpage.h
M +4 -0 engines/libkmobiletoolsengineui/devicesfoundPage.cpp
M +5 -0 engines/libkmobiletoolsengineui/devicesfoundPage.h
M +10 -2 engines/libkmobiletoolsengineui/devicesfoundPage.ui
M +1 -0 libkmobiletools/enginedata.cpp
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/engines/at_engine/at_engine.cpp #671124:671125
@@ -660,9 +660,14 @@
if(conn & ConnectionIrDA) tmpstrlist+=i18nc("IrDA Connection", "Infrared");
if(conn & ConnectionUser) tmpstrlist+=i18nc("User-defined Connection", "User defined");
kDebug() << "conn=" << conn << "; stringlist: " << tmpstrlist << endl;
- QString tempstr=i18ncp("Wizard summary - using <connection types>", "Using connection: %2", "Using connections: %2",
+ QString tempstr=i18ncp("AT Wizard summary - using <connection types>", "Using connection: %2", "Using connections: %2",
tmpstrlist.count(), tmpstrlist.join(", ") );
retstr=retstr.arg(tempstr);
+ tempstr=i18nc("AT Wizard summary - Basic parameters", "Manufacturer: %1<br>Model: %2", cfg->rawdevicevendor(), cfg->rawdevicename() );
+ retstr=retstr.arg(tempstr);
+ tempstr=i18nc("AT Wizard summary - Advanced parameters", "IMEI: %1", cfg->mobileimei() );
+ retstr=retstr.arg(tempstr);
+
return retstr;
}
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/engines/at_engine/wizard/at_devicesfoundpage.cpp #671124:671125
@@ -24,11 +24,20 @@
#include "at_scanprogresspage.h"
#include <QListWidget>
#include <libkmobiletools/enginedata.h>
+#include <libkmobiletools/engineslist.h>
#include <kdebug.h>
+#include <QLabel>
+#include <QStackedWidget>
+#include <klocalizedstring.h>
+#include <QVBoxLayout>
+#include "at_engine.h"
AT_DevicesFoundPage::AT_DevicesFoundPage(QWidget *parent)
: DevicesFoundPage(parent)
{
+ b_details=new QLabel();
+ details()->addWidget(b_details);
+ details()->setCurrentWidget(b_details);
}
@@ -54,6 +63,7 @@
*/
void AT_DevicesFoundPage::initializePage()
{
+ registerField("at_lv_device", phonesListWidget() );
kDebug() << "AT_DevicesFoundPage::initializePage()\n";
AT_ScanProgressPage *scanpage=(AT_ScanProgressPage *) wizard()->page(wizard()->property("scanprogress_id").toInt() );
kDebug() << "DevicesFound count: " << scanpage->foundDevices().count() << endl;
@@ -63,7 +73,54 @@
while(it.hasNext()) {
curitem=it.next();
newlwitem=new QListWidgetItem( curitem->manufacturerString() + " " + curitem->model() , phonesListWidget() );
- newlwitem->setData(Qt::UserRole+1, curitem->property("devicePath").toString() );
- newlwitem->setData(Qt::UserRole+2, curitem->imei() );
+ newlwitem->setData(Qt::UserRole+1, curitem->property("devicePath").toString() ); /// @TODO replace with some model/view stuff
+ newlwitem->setData(Qt::UserRole+2, curitem->imei() ); /// @TODO as above...
}
}
+
+void AT_DevicesFoundPage::slotDetails(QListWidgetItem *item) {
+ kDebug() << k_funcinfo << endl;
+ enginedata=0;
+ if(!item) return;
+ AT_ScanProgressPage *scanpage=(AT_ScanProgressPage *) wizard()->page(wizard()->property("scanprogress_id").toInt() );
+
+ QListIterator<KMobileTools::EngineData*> it(scanpage->foundDevices());
+ KMobileTools::EngineData* curitem; /// @TODO replace with some model/view stuff
+ while(it.hasNext()) {
+ curitem=it.next();
+ if(curitem->imei() == item->data(Qt::UserRole+2).toString() )
+ enginedata=curitem;
+ }
+ showDetails(enginedata);
+}
+
+
+/*!
+ \fn AT_DevicesFoundPage::showDetails(KMobileTools::EngineData* engineData)
+ */
+void AT_DevicesFoundPage::showDetails(KMobileTools::EngineData* engineData)
+{
+ kDebug() << k_funcinfo << endl;
+ kDebug() << "EngineData: " << engineData << endl;
+ if(!engineData) {
+ b_details->setText(QString() );
+ return;
+ }
+ b_details->setText(i18nc("AT Engine wizard - device details html code",
+ "<qt><ul><li>Manufacturer: %1</li>\
+ <li>Model: %2</li>\
+ <li>IMEI: %3</li>\
+ <li>Device: %4</li>",
+ engineData->manufacturerString(), engineData->model(), engineData->imei(), engineData->property("devicePath").toString()
+ ) );
+}
+
+bool AT_DevicesFoundPage::validatePage() {
+ if(!enginedata) return false;
+ ATDevicesConfig *cfg=(ATDevicesConfig*) DEVCFG(wizard()->objectName() );
+ cfg->setMobileimei(enginedata->imei());
+ cfg->setRawdevicevendor(enginedata->manufacturerString());
+ cfg->setRawdevicename(enginedata->model());
+ cfg->writeConfig();
+ /// @TODO set slots
+}
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/engines/at_engine/wizard/at_devicesfoundpage.h #671124:671125
@@ -25,6 +25,8 @@
#include <libkmobiletoolsengineui/devicesfoundPage.h>
+class QLabel;
+namespace KMobileTools { class EngineData; }
/**
@author Marco Gulino <marco at kmobiletools.org>
*/
@@ -37,7 +39,14 @@
~AT_DevicesFoundPage();
void cleanupPage();
void initializePage();
+ void showDetails(KMobileTools::EngineData* engineData);
+ bool validatePage();
+public slots:
+ void slotDetails(QListWidgetItem *);
+private:
+ QLabel *b_details;
+ KMobileTools::EngineData* enginedata;
};
#endif
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/engines/libkmobiletoolsengineui/devicesfoundPage.cpp #671124:671125
@@ -35,6 +35,7 @@
{
d->wizPage=new Ui::devicesfoundPage;
d->wizPage->setupUi(this);
+ connect(phonesListWidget(), SIGNAL(itemClicked(QListWidgetItem *)), this, SLOT(slotDetails(QListWidgetItem *)) );
}
QListWidget *DevicesFoundPage::phonesListWidget()
@@ -42,5 +43,8 @@
return d->wizPage->listWidget;
}
+QStackedWidget *DevicesFoundPage::details() {
+ return d->wizPage->detailsWS;
+}
#include "devicesfoundPage.moc"
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/engines/libkmobiletoolsengineui/devicesfoundPage.h #671124:671125
@@ -28,12 +28,17 @@
class DevicesFoundPagePrivate;
class QListWidget;
+class QStackedWidget;
+class QListWidgetItem;
class ENGINEUI_EXPORT DevicesFoundPage : public QWizardPage
{
Q_OBJECT
public:
DevicesFoundPage( QWidget * parent = 0 );
QListWidget *phonesListWidget();
+ QStackedWidget *details();
+public Q_SLOTS:
+ virtual void slotDetails(QListWidgetItem *)=0;
private:
DevicesFoundPagePrivate *const d;
};
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/engines/libkmobiletoolsengineui/devicesfoundPage.ui #671124:671125
@@ -5,8 +5,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>493</width>
- <height>202</height>
+ <width>364</width>
+ <height>242</height>
</rect>
</property>
<property name="windowTitle" >
@@ -35,6 +35,14 @@
<property name="title" >
<string>Details</string>
</property>
+ <layout class="QVBoxLayout" >
+ <item>
+ <widget class="QStackedWidget" name="detailsWS" >
+ <widget class="QWidget" name="page" />
+ <widget class="QWidget" name="page_2" />
+ </widget>
+ </item>
+ </layout>
</widget>
</item>
</layout>
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/enginedata.cpp #671124:671125
@@ -49,6 +49,7 @@
{
d->engine=parentEngine;
if(d->engine) d->p_smsList=new SMSList(d->engine->objectName() );
+ else d->p_smsList=0;
d->p_addresseeList = new ContactsList();
d->p_calendar=new KCal::Event::List();
}
More information about the kmobiletools
mailing list