Home · All Classes · All Functions ·

System Information Example

Files:

The System Information example uses a tabbed dialog, with each tab representing a particular type of data: versions, network and so on.

To access the information, the example creates objects belonging to the System Information classes

QSystemDeviceInfoAccess to device information from the system
QSystemDisplayInfoAccess to display information from the system
QSystemInfoAccess to various general information from the system
QSystemNetworkInfoAccess to network information from the system
QSystemScreenSaverAccess to screen saver and blanking
QSystemStorageInfoAccess to memory and disk information from the system

Here are some examples that show how the example application reads the device information.

The current language

        systemInfo = new QSystemInfo(this);
        curLanguageLineEdit->setText( systemInfo->currentLanguage());

Device information, starting with the battery level

        di = new QSystemDeviceInfo(this);
        ...
        batteryLevelBar->setValue(di->batteryLevel());

The manufacturer id and the product name

        manufacturerLabel->setText(di->manufacturer());
        ...
        productLabel->setText(di->productName());

And there are signals that can be used to update progress bars and other indicators. An example is when the battery level changes, the batteryLevelChanged() signal is emitted

        connect(di,SIGNAL(batteryLevelChanged(int)),
                this,SLOT(updateBatteryStatus(int)));

Other information is stored as bitwise flags. The following code shows the input methods being determined using flags.

        QSystemDeviceInfo::InputMethodFlags methods = di->inputMethodType();
        QStringList inputs;
        if((methods & QSystemDeviceInfo::Keys)){
            inputs << "Keys";
        }
        if((methods & QSystemDeviceInfo::Keypad)) {
            inputs << "Keypad";
        }

Various capabilities of the device can be found by testing for features. In the example a Feature combo box, on the General tab, has a hard coded list of features. When a listed feature is selected the getFeature() function is called with the index which is handled by applying a test to the corresponding feature.

        QSystemInfo::Feature feature;
        switch(index) {
        ...
        case 1:
            feature = QSystemInfo::BluetoothFeature;
        ...
        QSystemInfo si;
        featuresLineEdit->setText((si.hasFeatureSupported(feature) ? "true":"false" ));


Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies) Trademarks
Qt Mobility Project 1.0.2