[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