×
Namespaces

Variants
Actions
(Difference between revisions)

Working with QSystemDeviceInfo - System Information API - Part 1

From Nokia Developer Wiki
Jump to: navigation, search
kiran10182 (Talk | contribs)
m (Related articles)
kiran10182 (Talk | contribs)
m
Line 1: Line 1:
[[Category:Qt for Symbian]][[Category:Code Examples]]
+
[[Category:Qt]][[Category:Qt for Symbian]][[Category:Code Examples]]
 
{|style="background:#eceff2" width="660px" border="1" cellpadding="5" cellspacing="0"  
 
{|style="background:#eceff2" width="660px" border="1" cellpadding="5" cellspacing="0"  
 
|-
 
|-
Line 21: Line 21:
 
|}
 
|}
  
 
{{UnderConstruction}}
 
  
 
{{Tip|<b></b>
 
{{Tip|<b></b>
Line 29: Line 27:
 
}}
 
}}
  
== Overview ==  
+
 
 +
= Overview =  
 
This is a part 1 of the '''''QSystemDeviceInfo API''''' which is a part of the '''''System Information API''''' from '''''Qt Mobility project'''''.
 
This is a part 1 of the '''''QSystemDeviceInfo API''''' which is a part of the '''''System Information API''''' from '''''Qt Mobility project'''''.
  
== What is covered in QSystemDeviceInfo API Part 1 ==
+
= What is covered in QSystemDeviceInfo API Part 1 =
 
* It is a part of the System Information API.
 
* It is a part of the System Information API.
 
* This article covers information about
 
* This article covers information about
Line 48: Line 47:
  
  
== Capabilities required ==
+
= Capabilities required =
 
* ReadDeviceData
 
* ReadDeviceData
  
  
== UI design (.ui file) ==
+
= UI design (.ui file) =
 
[[File:QSystemDeviceInfo UI.png]]
 
[[File:QSystemDeviceInfo UI.png]]
  
  
  
== Project configuration file (.Pro file) ==
+
= Project configuration file (.Pro file) =
 
* Add the Qt Mobility project configuration option in the .Pro file as shown below
 
* Add the Qt Mobility project configuration option in the .Pro file as shown below
 
<code cpp>
 
<code cpp>
Line 70: Line 69:
 
</code>
 
</code>
  
== Implementing QSystemDeviceInfo API ==
+
= Implementing QSystemDeviceInfo API =
 
* QSystemDeviceInfo API is a part of the QtMobility namespace. So declare the QtMobility namespace as shown below:
 
* QSystemDeviceInfo API is a part of the QtMobility namespace. So declare the QtMobility namespace as shown below:
 
<code cpp>
 
<code cpp>
Line 76: Line 75:
 
</code>
 
</code>
  
=== Header file===
+
== Header file==
 
<code cpp>
 
<code cpp>
 
#ifndef SYSTEMDEVICEINFO_H
 
#ifndef SYSTEMDEVICEINFO_H
Line 106: Line 105:
  
  
=== Source file ===
+
== Source file ==
 
<code cpp>
 
<code cpp>
 
#include "SystemDeviceInfo.h"
 
#include "SystemDeviceInfo.h"
Line 169: Line 168:
  
  
== Output ==
+
= Output =
 
[[File:QSystemDeviceInfo device.jpg]]
 
[[File:QSystemDeviceInfo device.jpg]]
  
  
  
== Useful functions ==
+
= Useful functions =
 
+
 
+
 
+
== Keywords ==
+
  
  
===Headers===
+
==Headers==
 
* #include <qsysteminfo.h>
 
* #include <qsysteminfo.h>
  
  
===Classes===
+
==Classes==
 
* QSystemDeviceInfo
 
* QSystemDeviceInfo
  
  
== Example Application ==
+
= Example Application =
 
* A working example application is available to download from here: [[Media:SystemDeviceInfo.zip|QSystemDeviceInfo part1.zip]]
 
* A working example application is available to download from here: [[Media:SystemDeviceInfo.zip|QSystemDeviceInfo part1.zip]]
  
  
== Related articles ==  
+
= Related articles ==
 
* [[Getting started with Qt Mobility APIs]]
 
* [[Getting started with Qt Mobility APIs]]
 
* [[Setting up environment for Qt Mobility API]]
 
* [[Setting up environment for Qt Mobility API]]
Line 204: Line 199:
 
* [[Working with QSystemNetworkInfo - System Information API - Part 2]]
 
* [[Working with QSystemNetworkInfo - System Information API - Part 2]]
  
== Reference links==
+
= Reference links=
 
* [http://qt.nokia.com/ Qt - cross-platform application and UI framework]
 
* [http://qt.nokia.com/ Qt - cross-platform application and UI framework]
 
* [http://labs.trolltech.com/page/Projects/QtMobility Qt Mobility API]
 
* [http://labs.trolltech.com/page/Projects/QtMobility Qt Mobility API]
 
* [http://qt.nokia.com/developer/new-qt-apis New Qt APIs Beta - Mobility Project]
 
* [http://qt.nokia.com/developer/new-qt-apis New Qt APIs Beta - Mobility Project]
 
* SDK help
 
* SDK help

Revision as of 21:12, 31 March 2010

ID Creation date 8-March-2010
Platform S60 3rd Edition, FP1, FP2

S60 5th Edition

Tested on devices Nokia 5800 xPressMusic
Category Qt for Symbian Subcategory Qt Mobility API


Keywords (APIs, classes, methods, functions): QSystemDeviceInfo, QString, QStringList, QButton, QLabel


Tip.pngTip: 


Contents

Overview

This is a part 1 of the QSystemDeviceInfo API which is a part of the System Information API from Qt Mobility project.

What is covered in QSystemDeviceInfo API Part 1

  • It is a part of the System Information API.
  • This article covers information about
    • IMEI of the device
    • IMSI information
    • Manufacturer information
    • Model information
    • Product information
    • Battery level
    • Battery status
    • Current profile
    • SIM card status
    • Device status


Capabilities required

  • ReadDeviceData


UI design (.ui file)

QSystemDeviceInfo UI.png


Project configuration file (.Pro file)

  • Add the Qt Mobility project configuration option in the .Pro file as shown below
CONFIG += mobility
MOBILITY += systeminfo


  • Add required capability in .pro file as shown below:
symbian:TARGET.CAPABILITY = ReadDeviceData

Implementing QSystemDeviceInfo API

  • QSystemDeviceInfo API is a part of the QtMobility namespace. So declare the QtMobility namespace as shown below:
using namespace QtMobility;

Header file

#ifndef SYSTEMDEVICEINFO_H
#define SYSTEMDEVICEINFO_H
 
#include <QtGui/QWidget>
#include "ui_SystemDeviceInfo.h"
#include <qsysteminfo.h>
 
using namespace QtMobility;
class SystemDeviceInfo : public QWidget
{
Q_OBJECT
 
public:
SystemDeviceInfo(QWidget *parent = 0);
~SystemDeviceInfo();
 
public slots:
void listDeviceInformation();
void resetAllFields();
private:
Ui::SystemDeviceInfo ui;
QSystemDeviceInfo* deviceInfo;
};
 
#endif // SYSTEMDEVICEINFO_H


Source file

#include "SystemDeviceInfo.h"
 
SystemDeviceInfo::SystemDeviceInfo(QWidget *parent)
: QWidget(parent), deviceInfo(NULL)
{
ui.setupUi(this);
deviceInfo = new QSystemDeviceInfo;
QObject::connect(ui.listDeviceInfoButton,
SIGNAL(clicked()),
this,
SLOT(listDeviceInformation()));
QObject::connect(ui.resetButton,
SIGNAL(clicked()),
this,
SLOT(resetAllFields()));
}
 
SystemDeviceInfo::~SystemDeviceInfo()
{
delete deviceInfo;
}
 
void SystemDeviceInfo::listDeviceInformation()
{
if(deviceInfo)
{
ui.imeiLabel->setText(deviceInfo->imei());
ui.imsiLabel->setText(deviceInfo->imsi());
ui.manufacturerLabel->setText(deviceInfo->manufacturer());
ui.modelLabel->setText(deviceInfo->model());
ui.productLabel->setText(deviceInfo->productName());
ui.batteryLabel->setText(QString::number(deviceInfo->batteryLevel()));
ui.batteryStatusLabel->setText(QString::number(
(QSystemDeviceInfo::BatteryStatus)deviceInfo->batteryStatus()));
ui.profileLabel->setText(QString::number(
(QSystemDeviceInfo::Profile)deviceInfo->currentProfile()));
ui.simLabel->setText(QString::number(
(QSystemDeviceInfo::SimStatus)deviceInfo->simStatus()));
ui.deviceLabel->setText(QString::number((int)deviceInfo->isDeviceLocked()));
}
}
 
void SystemDeviceInfo::resetAllFields()
{
if(deviceInfo)
{
ui.imeiLabel->clear();
ui.imsiLabel->clear();
ui.manufacturerLabel->clear();
ui.modelLabel->clear();
ui.productLabel->clear();
ui.batteryLabel->clear();
ui.batteryStatusLabel->clear();
ui.profileLabel->clear();
ui.simLabel->clear();
ui.deviceLabel->clear();
}
}


Output

QSystemDeviceInfo device.jpg


Useful functions

Headers

  • #include <qsysteminfo.h>


Classes

  • QSystemDeviceInfo


Example Application


Related articles =

Reference links

98 page views in the last 30 days.
×