×
Namespaces

Variants
Actions
(Difference between revisions)

Working with QSystemStorageInfo - System Information API

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 article explains '''''QSystemStorageInfo API''''' which is a part of the '''''System Information API''''' from '''''Qt Mobility project'''''.
 
This article explains '''''QSystemStorageInfo API''''' which is a part of the '''''System Information API''''' from '''''Qt Mobility project'''''.
  
== What is covered in QSystemStorageInfo API ==
+
 
 +
= What is covered in QSystemStorageInfo API =
 
* 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 41: Line 41:
  
  
== Capabilities required ==
+
= Capabilities required =
 
* None
 
* None
  
  
== UI design (.ui file) ==
+
= UI design (.ui file) =
 
[[File:QSystemStorageInfo_UI.png]]
 
[[File:QSystemStorageInfo_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 57: Line 57:
 
</code>
 
</code>
  
== Implementing QSystemStorageInfo API ==
+
= Implementing QSystemStorageInfo API =
 
* QSystemStorageInfo API is a part of the QtMobility namespace. So declare the QtMobility namespace as shown below:
 
* QSystemStorageInfo API is a part of the QtMobility namespace. So declare the QtMobility namespace as shown below:
 
<code cpp>
 
<code cpp>
Line 63: Line 63:
 
</code>
 
</code>
  
=== Header file===
+
== Header file==
 
<code cpp>
 
<code cpp>
 
#ifndef SYSTEMSTORAGEINFO_H
 
#ifndef SYSTEMSTORAGEINFO_H
Line 95: Line 95:
  
  
=== Source file ===
+
== Source file ==
 
<code cpp>
 
<code cpp>
 
#include "SystemStorageInfo.h"
 
#include "SystemStorageInfo.h"
Line 203: Line 203:
 
</code>
 
</code>
  
== Output ==
+
= Output =
 
[[File:QSystemStorageInfo device.jpg]]
 
[[File:QSystemStorageInfo device.jpg]]
  
  
  
== Useful functions ==
+
= Useful functions =
  
  
  
== Keywords ==
+
= Keywords =
  
  
===Headers===
+
==Headers==
 
* #include <qsysteminfo.h>
 
* #include <qsysteminfo.h>
  
  
===Classes===
+
==Classes==
 
* QSystemStorageInfo
 
* QSystemStorageInfo
  
  
== Example Application ==
+
= Example Application=
 
* A working example application is available to download from here: [[Media:SystemStorageInfo.zip|QSystemStorageInfo.zip]]
 
* A working example application is available to download from here: [[Media:SystemStorageInfo.zip|QSystemStorageInfo.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 238: Line 238:
 
* [[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:16, 31 March 2010

ID Creation date 9-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): QSystemStorageInfo, QString, QStringList, QButton, QLabel, QComboBox,


Tip.pngTip: 


Contents

Overview

This article explains QSystemStorageInfo API which is a part of the System Information API from Qt Mobility project.


What is covered in QSystemStorageInfo API

  • It is a part of the System Information API.
  • This article covers information about
    • Available drives of the device
    • Available disc space of the particular drive
    • Total disc space of the particular drive
    • Type of the particular drive


Capabilities required

  • None


UI design (.ui file)

QSystemStorageInfo 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

Implementing QSystemStorageInfo API

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

Header file

#ifndef SYSTEMSTORAGEINFO_H
#define SYSTEMSTORAGEINFO_H
 
#include <QtGui/QWidget>
#include "ui_SystemStorageInfo.h"
#include <qsysteminfo.h>
 
using namespace QtMobility;
class SystemStorageInfo : public QWidget
{
Q_OBJECT
 
public:
SystemStorageInfo(QWidget *parent = 0);
~SystemStorageInfo();
 
public slots:
void listLogicalDrives();
void listDriveInformation(int aDriveIndex);
void resetAllFields();
 
private:
Ui::SystemStorageInfo ui;
QSystemStorageInfo* storageInfo;
};
 
#endif // SYSTEMSTORAGEINFO_H


Source file

#include "SystemStorageInfo.h"
 
SystemStorageInfo::SystemStorageInfo(QWidget *parent)
: QWidget(parent), storageInfo(NULL)
{
ui.setupUi(this);
 
storageInfo = new QSystemStorageInfo();
 
QObject::connect(ui.driveComboBox,
SIGNAL(currentIndexChanged(int)),
this,
SLOT(listDriveInformation(int)));
QObject::connect(ui.storageInfoButton,
SIGNAL(clicked()),
this,
SLOT(listLogicalDrives()));
QObject::connect(ui.resetButton,
SIGNAL(clicked()),
this,
SLOT(resetAllFields()));
}
 
SystemStorageInfo::~SystemStorageInfo()
{
delete storageInfo;
}
 
void SystemStorageInfo::listLogicalDrives()
{
if(ui.driveComboBox->count() > 1)
{
//this has been called previously and combo box contains data already
ui.driveComboBox->showPopup();
return;
}
QStringList list = storageInfo->logicalDrives();
ui.driveComboBox->addItems(list);
ui.driveComboBox->showPopup();
}
 
void SystemStorageInfo::listDriveInformation(int aDriveIndex)
{
if(aDriveIndex == 0)
{
resetAllFields();
return;
}
// Set available disc space label
QString textValue = ui.driveComboBox->itemText(aDriveIndex);
qlonglong availableSpace = storageInfo->availableDiskSpace(textValue);
QString str = QString::number(availableSpace);
ui.availabelDiscSpaceLabel->setText(str);
 
// Set total disc space label
qlonglong totalSpace = storageInfo->totalDiskSpace(textValue);
str = QString::number(totalSpace);
ui.totalDiscSpaceLabel->setText(str);
 
// Set drive type label
QString labelValue;
QSystemStorageInfo::DriveType drvType = storageInfo->typeForDrive(textValue);
switch(drvType)
{
case QSystemStorageInfo::NoDrive:
{
labelValue = ("No drive");
break;
}
case QSystemStorageInfo::InternalDrive:
{
labelValue = ("Internal Drive");
break;
}
case QSystemStorageInfo::RemovableDrive:
{
labelValue = ("Removable Drive");
break;
}
case QSystemStorageInfo::RemoteDrive:
{
labelValue = ("Remote Drive");
break;
}
case QSystemStorageInfo::CdromDrive:
{
labelValue = ("CD ROM Drive");
break;
}
default:
{
break;
}
}
ui.driveTypeLabel->setText(labelValue);
}
 
void SystemStorageInfo::resetAllFields()
{
ui.driveComboBox->setCurrentIndex(0);
ui.availabelDiscSpaceLabel->clear();
ui.totalDiscSpaceLabel->clear();
ui.driveTypeLabel->clear();
}

Output

QSystemStorageInfo device.jpg


Useful functions

Keywords

Headers

  • #include <qsysteminfo.h>


Classes

  • QSystemStorageInfo


Example Application


Related articles

Reference links

156 page views in the last 30 days.
×