--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qtmobileextensions/examples/sysinfoex/sysinfoexwindow.cpp Fri Apr 16 15:51:22 2010 +0300
@@ -0,0 +1,170 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License as published by
+* the Free Software Foundation, version 2.1 of the License.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public License
+* along with this program. If not,
+* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
+*
+* Description:
+*
+*/
+
+#include "sysinfoexwindow.h"
+#include "xqsysinfo.h"
+#include "xqlistwidget.h"
+#ifndef KFeatureIdMmc //Workaround for RnD SDKs
+ #include <featureinfo.h>
+#endif
+
+#include <QSignalMapper>
+#include <QMenu>
+#include <QMenuBar>
+
+SysInfoExWindow::SysInfoExWindow(QWidget* parent)
+ : QMainWindow(parent)
+{
+ setupUi(this);
+ createMenus();
+
+ // Initializing sysinfo
+ XQSysInfo* sysInfo = new XQSysInfo(this);
+
+ // System Info
+ modelLabel->setText("Model: "+sysInfo->model());
+ manufacturerLabel->setText("Manufacturer: " + sysInfo->manufacturer());
+ versionLabel->setText("Version: "+sysInfo->softwareVersion());
+ languageLabel->setText("Language: "+handleLanguage(sysInfo->currentLanguage()));
+ imeiLabel->setText("Imei: "+sysInfo->imei());
+ imsiLabel->setText("Imsi: "+sysInfo->imsi());
+
+ // System Info 2
+ signalStrengthLabel->setText("Signal strenght: " + QString::number(sysInfo->signalStrength()));
+ batteryLevelLabel->setText("Battery level: " + QString::number(sysInfo->batteryLevel()));
+ diskSpaceLabel->setText("Free space (c:): " + QString::number(sysInfo->diskSpace(XQSysInfo::DriveC)/1048576,'f',1) + "MB");
+
+ if (sysInfo->isDiskSpaceCritical(XQSysInfo::DriveC))
+ {
+ criticalDiskSpaceLabel = new QLabel("Disk space (c:): Critical");
+ }
+ else
+ {
+ criticalDiskSpaceLabel = new QLabel("Disk space (c:): ok");
+ }
+
+ // Feature Discover
+ listWidget->addItem("MMC: "+boolToString(XQSysInfo::isSupported(KFeatureIdMmc)));
+ listWidget->addItem("Camera: "+boolToString(XQSysInfo::isSupported(KFeatureIdCamera)));
+ listWidget->addItem("Cover display: "+boolToString(XQSysInfo::isSupported(KFeatureIdCoverDisplay)));
+ listWidget->addItem("Video recorder: "+boolToString(XQSysInfo::isSupported(KFeatureIdVideoRecorder)));
+ listWidget->addItem("Flight mode: "+boolToString(XQSysInfo::isSupported(KFeatureIdFlightMode)));
+ listWidget->addItem("Offline mode: "+boolToString(XQSysInfo::isSupported(KFeatureIdOfflineMode)));
+ listWidget->addItem("OpenGL: "+boolToString(XQSysInfo::isSupported(KFeatureIdOpenGLES3DApi)));
+ listWidget->addItem("IrDA: "+boolToString(XQSysInfo::isSupported(KFeatureIdIrda)));
+ listWidget->addItem("Bluetooth: "+boolToString(XQSysInfo::isSupported(KFeatureIdBt)));
+ listWidget->addItem("Qwerty: "+boolToString(XQSysInfo::isSupported(KFeatureIdQwertyInput)));
+ listWidget->addItem("USB: "+boolToString(XQSysInfo::isSupported(KFeatureIdUsb)));
+ listWidget->addItem("BT Fax Profile: "+boolToString(XQSysInfo::isSupported(KFeatureIdBtFaxProfile)));
+ listWidget->addItem("BT Imaging Profile: "+boolToString(XQSysInfo::isSupported(KFeatureIdBtImagingProfile)));
+ listWidget->addItem("Instant Messaging: "+boolToString(XQSysInfo::isSupported(KFeatureIdIm)));
+ listWidget->addItem("Precense feature: "+boolToString(XQSysInfo::isSupported(KFeatureIdPresence)));
+ listWidget->addItem("SVGT: "+boolToString(XQSysInfo::isSupported(KFeatureIdSvgt)));
+ listWidget->addItem("Audio effects: "+boolToString(XQSysInfo::isSupported(KFeatureIdAudioEffectsApi)));
+ listWidget->addItem("Equalizer: "+boolToString(XQSysInfo::isSupported(KFeatureIdEqualizer)));
+ listWidget->addItem("GSM cellular stack: "+boolToString(XQSysInfo::isSupported(KFeatureIdProtocolGsm)));
+ listWidget->addItem("WCDMA cellular stack: "+boolToString(XQSysInfo::isSupported(KFeatureIdProtocolWcdma)));
+ listWidget->addItem("CDMA cellular stack: "+boolToString(XQSysInfo::isSupported(KFeatureIdProtocolCdma)));
+ listWidget->addItem("Wlan: "+boolToString(XQSysInfo::isSupported(KFeatureIdProtocolWlan)));
+ listWidget->addItem("Location: "+boolToString(XQSysInfo::isSupported(KFeatureIdLocationFrameworkCore)));
+ listWidget->addItem("Landmarks: "+boolToString(XQSysInfo::isSupported(KFeatureIdLandmarks)));
+
+ stackedWidget->setCurrentIndex(0);
+}
+
+SysInfoExWindow::~SysInfoExWindow()
+{
+}
+
+void SysInfoExWindow::createMenus()
+{
+ m_systemInfoAction = new QAction(tr("System Info"), this);
+ menuBar()->addAction(m_systemInfoAction);
+ connect(m_systemInfoAction, SIGNAL(triggered()), this, SLOT(handleSystemInfoAction()));
+
+ m_systemInfo2Action = new QAction(tr("System Info 2"), this);
+ menuBar()->addAction(m_systemInfo2Action);
+ connect(m_systemInfo2Action, SIGNAL(triggered()), this, SLOT(handleSystemInfo2Action()));
+
+ m_featureDiscoverAction = new QAction(tr("Feature discover"), this);
+ menuBar()->addAction(m_featureDiscoverAction);
+ connect(m_featureDiscoverAction, SIGNAL(triggered()), this, SLOT(handleFeatureDiscoverAction()));
+
+ m_exitAction = new QAction(tr("Exit"), this);
+ menuBar()->addAction(m_exitAction);
+ connect(m_exitAction, SIGNAL(triggered()), this, SLOT(close()));
+}
+
+void SysInfoExWindow::handleSystemInfoAction()
+{
+ stackedWidget->setCurrentIndex(0);
+}
+
+void SysInfoExWindow::handleSystemInfo2Action()
+{
+ stackedWidget->setCurrentIndex(1);
+}
+
+void SysInfoExWindow::handleFeatureDiscoverAction()
+{
+ stackedWidget->setCurrentIndex(2);
+}
+
+QString SysInfoExWindow::boolToString(bool boolean)
+{
+ if (boolean)
+ {
+ return "Supported";
+ }
+ else
+ {
+ return "Not supported";
+ }
+}
+
+QString SysInfoExWindow::handleLanguage(XQSysInfo::Language language)
+{
+ switch (language)
+ {
+ case XQSysInfo::LangEnglish:
+ return "English";
+ case XQSysInfo::LangFinnish:
+ return "Finnish";
+ case XQSysInfo::LangSwedish:
+ return "Swedish";
+ case XQSysInfo::LangNorwegian:
+ return "Norwegian";
+ case XQSysInfo::LangIcelandic:
+ return "Icelandic";
+ case XQSysInfo::LangFrench:
+ return "French";
+ case XQSysInfo::LangGerman:
+ return "German";
+ case XQSysInfo::LangSpanish:
+ return "Spanish";
+ case XQSysInfo::LangItalian:
+ return "Italian";
+ case XQSysInfo::LangPortuguese:
+ return "Portuguese";
+ default:
+ return "Unknown";
+ }
+}