Binary file controlpanelplugins/themeplugin/image/themePreview.nvg has changed
--- a/controlpanelplugins/themeplugin/rom/themeplugin.iby Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef __THEMEPLUGIN_IBY__
-#define __THEMEPLUGIN_IBY__
-
-#include <bldvariant.hrh>
-#include <data_caging_paths_for_iby.hrh>
-
-file=ABI_DIR\BUILD_DIR\cpthemeplugin.dll SHARED_LIB_DIR\cpthemeplugin.dll
-
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpthemeplugin.qtplugin resource\qt\plugins\controlpanel\cpthemeplugin.qtplugin
-
-#endif
--- a/controlpanelplugins/themeplugin/rom/themeplugin_rom.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-symbian {
- BLD_INF_RULES.prj_exports += \
- "$${LITERAL_HASH}include<platform_paths.hrh>" \
- "rom/themeplugin.iby CORE_APP_LAYER_IBY_EXPORT_PATH(themeplugin.iby)"
-}
\ No newline at end of file
--- a/controlpanelplugins/themeplugin/src/cpthemechanger.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include <QString>
-
-#include "cpthemechanger.h"
-#include "cpthemeutil.h"
-#include "cpthemeinfo.h"
-
-#include <hbinstance.h>
-#include <restricted/hbthemeservices_r.h>
-
-/*!
- \class CpThemeChanger
-
- \brief CpThemeChanger provides an interface for changing the current
- theme.
- This API is only for use with the control panel and its theme
- changing plugin.
-*/
-
-/*!
- Constructor.
-*/
-CpThemeChanger::CpThemeChanger(QObject* p) :
- QObject(p),
- mCurrentTheme(0)
-{
- if(hbInstance->theme()) {
- connect(hbInstance->theme(),SIGNAL(changeFinished()), this, SLOT(changeFinished()));
- }
-
- setCurrentTheme();
-}
-
-/*!
- Returns a ThemeInfo object containing the current theme name and
- corresponding icons.
-
- If no repersentative icons exist, the HbIcon returned will be
- uninitialized.
-*/
-const CpThemeInfo* CpThemeChanger::currentTheme() const
-{
- return mCurrentTheme;
-}
-
-/*!
- * Private helper function that gets the current theme from hbinstance and s
- * ets class' current theme.
- */
-void CpThemeChanger::setCurrentTheme()
-{
- QString themeName = "";
- if (HbInstance::instance()) {
- HbTheme *hbTheme = HbInstance::instance()->theme();
- if(hbTheme) {
- themeName = hbTheme->name();
- }
-
- }
-
- if(mCurrentTheme && mCurrentTheme->name() == themeName) {
- return;
- } else {
- //buildThemeInfo creates new theme info.
- CpThemeInfo* tmpTheme = CpThemeUtil::buildThemeInfo(HbThemeServices::themePath(), themeName);
-
- //delete old value. set the new value.
- if(tmpTheme) {
- if(mCurrentTheme){
- delete mCurrentTheme;
- }
- mCurrentTheme = tmpTheme;
- }
- }
-}
-
-
-/*!
- Change a theme. Returns true on success, false otherwise.
- */
-bool CpThemeChanger::changeTheme(const CpThemeInfo& newTheme)
-{
- bool result = false;
- // Skip doing this if the request is for the current theme
- if (newTheme.name().isEmpty() || (mCurrentTheme && newTheme.name() == mCurrentTheme->name())) {
- return result;
- }
-
- QString themePath = newTheme.itemData();
-
- if(!themePath.isEmpty()) {
- HbThemeServices::setTheme(themePath);
- result = true;
- }
- return result;
-}
-
-/*!
- Destructor
- */
-CpThemeChanger::~CpThemeChanger()
-{
- delete mCurrentTheme;
- mCurrentTheme = 0;
-}
-
-/*!
- * Slot to handle notification from theme server that theme change
- * is done. Notify the owner.
- */
-void CpThemeChanger::changeFinished()
-{
- setCurrentTheme();
- emit themeChangeFinished();
-}
-
-// End of file
-
--- a/controlpanelplugins/themeplugin/src/cpthemechanger.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPTHEMECHANGER_H
-#define CPTHEMECHANGER_H
-
-#include <QStringList>
-
-#include <hbicon.h>
-#include <hbglobal.h>
-
-class CpThemeChangerPrivate;
-class CpThemeInfo;
-
-QT_BEGIN_NAMESPACE
-class QAbstractItemModel;
-QT_END_NAMESPACE
-
-class CpThemeChanger : public QObject
-{
- Q_OBJECT
-
-public:
- explicit CpThemeChanger(QObject* parent=0);
- ~CpThemeChanger();
-
- const CpThemeInfo* currentTheme() const;
- bool changeTheme(const CpThemeInfo& newtheme);
-
-signals:
- void themeChangeFinished();
-
-private slots:
- void changeFinished();
-
-private:
- void setCurrentTheme();
-
- CpThemeInfo* mCurrentTheme;
-};
-
-
-#endif /* CPTHEMECHANGER_H */
--- a/controlpanelplugins/themeplugin/src/cpthemecontrol.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,317 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-/*!
- \class CpThemeControl
- \brief CpThemeControl creates and controls views for Theme Changer plugin and handles
- user interaction to preview and change the themes.
-
- This class also connects to the theme server using the HbThemeChanger and sets the theme
- based on user interaction with the views.
-
- */
-
-#include <QString>
-#include <QModelIndex>
-#include <QTranslator>
-#include <QSortFilterProxyModel>
-#include <QThread>
-#include <QTimer>
-#include <QDesktopServices>
-#include <QUrl>
-
-#include <hbmainwindow.h>
-#include <hbinstance.h>
-#include "cpthemechanger.h"
-
-#include "cpthemecontrol.h"
-#include "cpthemelistview.h"
-#include "cpthemeinfo.h"
-#include "cpthemelistmodel.h"
-
-#include <hbdialog.h>
-#include <hblabel.h>
-
-//time out time before showing a processing dialog.
-static const int KThemeChangeTimeOutMilliSeconds = 2000;
-
-/*!
- Helper function to fetch the main window.
-*/
-static HbMainWindow *mainWindow()
-{
- QList< HbMainWindow* > mainWindows = hbInstance->allMainWindows();
- if (!mainWindows.isEmpty()) {
- return mainWindows.front();
- }
- return 0;
-}
-
-/*!
- constructor.
-*/
-CpThemeControl::CpThemeControl(): mThemeListView(0),
- mThemeChanger(0),
- mListModel(0),
- mThemeChangeFinished(false),
- mWaitDialog(0)
-{
- mThemeChanger = new CpThemeChanger();
-
- QTranslator *translator = new QTranslator(this);
- QString lang = QLocale::system().name();
- QString path = "Z:/resource/qt/translations/";
- translator->load("control_panel_" + lang, path);
- qApp->installTranslator(translator);
-
- connect(mThemeChanger,SIGNAL(themeChangeFinished()), this, SLOT(themeChangeFinished()));
-
-}
-
-
-/*!
- destorys the list view and theme changer objects.
-*/
-CpThemeControl::~CpThemeControl()
-{
- delete mThemeListView;
- mThemeListView = 0;
-
- delete mThemeChanger;
- mThemeChanger = 0;
-
- delete mWaitDialog;
- mWaitDialog = 0;
-}
-
-/*!
- Creates the theme list view. Gets the themes, creates a model and sets the list model.
-*/
-void CpThemeControl::createThemeList()
-{
-
- mThemeListView = new CpThemeListView();
-
- if(!mListModel) {
- mListModel = new CpThemeListModel(this);
- }
-
- // Set the model for theme list.
- mThemeListView->setModel(mListModel);
-
- setActiveThemeIndex();
-
- //connect to signal for selecting a list item.
- connect(mThemeListView,SIGNAL(newThemeSelected(QModelIndex)),
- this,SLOT(newThemeSelected(QModelIndex)));
-
- connect(mThemeListView, SIGNAL(oviClicked()), this, SLOT(getOviTheme()));
-
- //handle signal for list view closing. (e.g Back softkey pressed)
- connect(mThemeListView,SIGNAL(aboutToClose()),
- this,SLOT(themeListClosed()));
-}
-
-/*!
- returns the instance of themelist view. Used by control panel to set
- the view.
-*/
-CpBaseSettingView* CpThemeControl::themeListView()
-{
- //If the view was removed before by control panel app, create it again.
- if(!mThemeListView) {
- createThemeList();
- }
-
- return mThemeListView;
-}
-
-/*!
- returns the name of the current theme.
-*/
-QString CpThemeControl::currentThemeName() const
-{
- QString name = "";
- if(mThemeChanger->currentTheme()) {
- name = mThemeChanger->currentTheme()->name();
- }
- return name;
-}
-
-/*!
- returns the repersenatative icon of the current theme.
-*/
-HbIcon CpThemeControl::currentThemeIcon() const
-{
- HbIcon icon;
- if(mThemeChanger->currentTheme()) {
- icon = mThemeChanger->currentTheme()->icon();
- }
- return icon;
-}
-
-/*!
- Slot called when a list item of the theme list is selected.
-*/
-void CpThemeControl::newThemeSelected(const QModelIndex& index)
-{
- if(!index.isValid()) {
- return;
- }
-
- CpThemeInfo themeInfo;
- QVariant data;
-
- //reset the current index to active theme, so that the selection remains on current
- //theme even though another list item is selected.
- setActiveThemeIndex();
-
- //get the theme name.
- data = index.data(Qt::DisplayRole);
- if(data.isValid()) {
- themeInfo.setName(data.toString());
- }
-
- //get theme path
- data = index.data(CpThemeListModel::ItemDataRole);
- if(data.isValid()) {
- themeInfo.setItemData(data.toString());
- }
-
- applyTheme(themeInfo);
-
-}
-
-void CpThemeControl::getOviTheme()
-{
- QString url = QString("http://lr.ovi.mobi/store/themes");
- // Launch the URL in the browser and
- // continue to Preview if not successful
- QDesktopServices::openUrl(QUrl(url, QUrl::TolerantMode));
-
-}
-
-/*!
- Slot called when a Select key is pressed in theme preview view.
-*/
-void CpThemeControl::applyTheme(const CpThemeInfo& theme)
-{
- QThread::currentThread()->setPriority(QThread::HighPriority);
-
- if(mThemeChanger->changeTheme(theme)) {
-
- //Start a timer. If theme change takes more than 1 seconds,
- //we will show a dialog (mWaitDialog) until theme change
- //is done (themeChangeFinished is called).
- QTimer::singleShot(KThemeChangeTimeOutMilliSeconds, this, SLOT(themeWaitTimeout()));
-
- mThemeChangeFinished = false;
- } else {
- //theme change failed, go back to control panel.
- setActiveThemeIndex();
- }
-
-}
-
-/*!
- Slot for when the theme list view is closed. Ownership of the theme list was given to
- control panel, so the class won't delete it.
-
-*/
-void CpThemeControl::themeListClosed()
-{
- mThemeListView = 0;
-}
-
-/*!
- asks the theme list view to close.
-*/
-void CpThemeControl::triggerThemeListClose()
-{
- mThemeListView->closeView();
-}
-
-void CpThemeControl::themeChangeTimeout()
-{
- //Theme change is finished and idle timer has timed out,
- //so revert back the application priority to normal
- //and go back to control panel view.
- if(mWaitDialog && mWaitDialog->isVisible()) {
- mWaitDialog->hide();
- }
- setActiveThemeIndex();
- QThread::currentThread()->setPriority(QThread::NormalPriority);
-}
-
-void CpThemeControl::themeWaitTimeout()
-{
- //If after this timeOut, theme change is still in progress,
- //show a processing dialog.
- if(!mThemeChangeFinished){
- if(!mWaitDialog) {
- mWaitDialog = new HbDialog();
- mWaitDialog->setDismissPolicy(HbPopup::NoDismiss);
- mWaitDialog->setModal(false);
- mWaitDialog->setTimeout(HbPopup::NoTimeout);
- // Create and set HbLabel as content widget.
- QString processingText = hbTrId("txt_common_info_processing") + QString("...");
- HbLabel *label = new HbLabel(processingText);
- label->setAlignment(Qt::AlignCenter);
- mWaitDialog->setContentWidget(label);
- }
- // as we do not need any signals, calling show() instead of open()
- mWaitDialog->show();
- }
-}
-
-void CpThemeControl::themeChangeFinished()
-{
- //Theme change is done. Start an idle timer to let the UI
- //finish remaining tasks.
- QTimer::singleShot(0, this, SLOT(themeChangeTimeout()));
- mThemeChangeFinished = true;
-
- if(mThemeChanger->currentTheme()) {
- emit themeUpdated(mThemeChanger->currentTheme()->name(), mThemeChanger->currentTheme()->icon());
- }
-
-}
-
-/*!
- * Private function that sets the current index of theme list view to indicate
- * the active theme.
- */
-void CpThemeControl::setActiveThemeIndex()
-{
- //Get the index of current theme.
- CpThemeListModel* themeListModel = dynamic_cast<CpThemeListModel*>(mListModel);
- const CpThemeInfo* currentTheme = mThemeChanger->currentTheme();
- if(themeListModel && currentTheme) {
- QModelIndex sourceIndex = mListModel->index(themeListModel->indexOf(*currentTheme),0);
- //set current index.
- mThemeListView->themeList()->setCurrentIndex(sourceIndex, QItemSelectionModel::SelectCurrent);
- }
- else {
- mThemeListView->themeList()->setCurrentIndex(QModelIndex(), QItemSelectionModel::Clear);
- }
-}
-
-
-
-
-
-
--- a/controlpanelplugins/themeplugin/src/cpthemecontrol.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPTHEMECONTROL_H
-#define CPTHEMECONTROL_H
-
-#include <QObject>
-#include <QList>
-
-#include "cpthemechanger.h"
-#include <hbicon.h>
-
-QT_BEGIN_NAMESPACE
-class QModelIndex;
-class QString;
-class QSortFilterProxyModel;
-QT_END_NAMESPACE
-
-class HbDialog;
-class CpThemeListView;
-class CpBaseSettingView;
-class CpThemeListModel;
-
-
-class CpThemeControl : public QObject
-{
- Q_OBJECT
-
-public:
- CpThemeControl();
- ~CpThemeControl();
- CpBaseSettingView* themeListView();
- QString currentThemeName() const;
- HbIcon currentThemeIcon() const;
-
-signals:
- void themeUpdated(const QString& themeName, const HbIcon& icon);
-
-private slots:
- void newThemeSelected(const QModelIndex& index);
- void applyTheme(const CpThemeInfo& theme);
- void themeListClosed();
- void themeChangeTimeout();
- void themeWaitTimeout();
- void themeChangeFinished();
- void getOviTheme();
-
-private:
- void createThemeList();
- void triggerThemeListClose();
- void setActiveThemeIndex();
-
-private:
- CpThemeListView* mThemeListView;
- CpThemeChanger* mThemeChanger;
- QAbstractItemModel* mListModel;
- bool mThemeChangeFinished;
- HbDialog* mWaitDialog;
-};
-
-#endif //CPTHEMECONTROL_H
--- a/controlpanelplugins/themeplugin/src/cpthemeinfo.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-/*!
- * A simple class to represent theme information. This information includes:
- * 1. Theme Name
- * 2. Theme Preview Thumbnail
- * 3. Theme Preview landscape and portrait icon
- * 4. Theme list type: either an item representing a theme, or a link (e.g OviStore).
- * 5. Item type data. Represents additional information (e.g for link type, the URL).
- */
-#include <hbicon.h>
-
-#include "cpthemeinfo.h"
-
- CpThemeInfo::CpThemeInfo()
-{
-}
-
-
- CpThemeInfo::~CpThemeInfo()
-{
-}
-
-QString CpThemeInfo::name() const
-{
- return mName;
-}
-
-void CpThemeInfo::setName(const QString& newName)
-{
- mName = newName;
-}
-
-CpThemeInfo::ThemeListItemType CpThemeInfo::itemType() const
-{
- return mItemType;
-}
-
-void CpThemeInfo::setItemType(CpThemeInfo::ThemeListItemType type)
-{
- mItemType = type;
-}
-
-
-QString CpThemeInfo::itemData() const
-{
- return mItemData;
-}
-
-void CpThemeInfo::setItemData(const QString& data)
-{
- mItemData = data;
-}
-
-
-HbIcon CpThemeInfo::icon() const
-{
- return mIcon;
-}
-
-void CpThemeInfo::setIcon(const HbIcon& newIcon)
-{
- mIcon = newIcon;
-}
-
-
-HbIcon CpThemeInfo::portraitPreviewIcon() const
-{
- return mPortraitPreviewIcon;
-}
-
-void CpThemeInfo::setPortraitPreviewIcon(const HbIcon& newIcon)
-{
- mPortraitPreviewIcon = newIcon;
-}
-
-
-HbIcon CpThemeInfo::landscapePreviewIcon() const
-{
- return mLandscapePreviewIcon;
-}
-
-void CpThemeInfo::setLandscapePreviewIcon(const HbIcon& newIcon)
-{
- mLandscapePreviewIcon = newIcon;
-}
-
--- a/controlpanelplugins/themeplugin/src/cpthemeinfo.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPTHEMEINFO_H_
-#define CPTHEMEINFO_H_
-
-
-#include <QString>
-
-#include <hbicon.h>
-
-class CpThemeInfo {
-
-public:
-
-
- enum ThemeListItemType {
- ThemeListItemType_default = 0,
- ThemeListItemType_URL,
- ThemeListItemType_APP
- };
-
- CpThemeInfo();
- ~CpThemeInfo();
-
- QString name() const;
- void setName(const QString& newName);
-
- ThemeListItemType itemType() const;
- void setItemType(ThemeListItemType type);
-
- QString itemData() const;
- void setItemData(const QString& data);
-
- HbIcon icon() const;
- void setIcon(const HbIcon& newIcon);
-
- HbIcon portraitPreviewIcon() const;
- void setPortraitPreviewIcon(const HbIcon& newIcon);
-
- HbIcon landscapePreviewIcon() const;
- void setLandscapePreviewIcon(const HbIcon& newIcon);
-
- bool operator < (const CpThemeInfo &other) const {
- return mName.toCaseFolded().localeAwareCompare(other.mName.toCaseFolded()) < 0;
- }
- bool operator == (const CpThemeInfo &other) const {
- return mName.localeAwareCompare(other.mName) == 0;
- }
-
-private:
- CpThemeInfo::ThemeListItemType mItemType;
- QString mItemData;
- QString mName;
- HbIcon mIcon;
- HbIcon mPortraitPreviewIcon;
- HbIcon mLandscapePreviewIcon;
-
-};
-Q_DECLARE_METATYPE(CpThemeInfo::ThemeListItemType)
-
-
-#endif /* CPTHEMEINFO_H_ */
--- a/controlpanelplugins/themeplugin/src/cpthemelistmodel.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include <QDir>
-#include <QStringList>
-#include <QFileSystemWatcher>
-#include <QPair>
-
-#include <HbIcon>
-
-#include "cpthemelistmodel.h"
-#include "cpthemeinfo.h"
-#include "cpthemeutil.h"
-
-/*
- CpThemeChangerModel provides an interface to the data contained in the
- theme list using QAbstractListModel.
-*/
-
-/*
- Constructor
-*/
-CpThemeListModel::CpThemeListModel(QObject* parent)
- : QAbstractListModel(parent)
- , mTopThemeList()
- , mThemeList()
- , mBottomThemeList()
- , mFileWatcher(new QFileSystemWatcher(this))
-{
- //Build theme list
- mThemeList = CpThemeUtil::buildThemeList();
-
- //Look into theme paths and add a file watcher for it
- //to get notified when themes are added.
- QStringList themePaths = CpThemeUtil::themeDirectories(mThemeList);
- if(!themePaths.empty()) {
- mFileWatcher->addPaths(themePaths);
- }
-
- connect(mFileWatcher, SIGNAL(directoryChanged(QString)),
- this, SLOT(themeListChanged()));
-
-}
-
-/*
- Destructor
-*/
-CpThemeListModel::~CpThemeListModel()
-{
- delete mFileWatcher;
- mFileWatcher = 0;
-
-}
-
-/*
- Reimplemented from QAbstractListModel.
-*/
-int CpThemeListModel::rowCount(const QModelIndex&) const
-{
- return mTopThemeList.size() +
- mThemeList.size() +
- mBottomThemeList.size();
-}
-
-/*
- Reimplemented from QAbstractListModel.
-*/
-QVariant CpThemeListModel::data(const QModelIndex& index, int role) const
-{
- QVariant retVal = QVariant();
-
- if (index.isValid()) {
- // figure out which list we're in and do the appropriate mapping
- int row = index.row();
- const QList<CpThemeInfo> *list = 0;
- if (row < mTopThemeList.size()) {
- list = &mTopThemeList;
- } else {
- row -= mTopThemeList.size();
- if ( row < mThemeList.size() ) {
- list = &mThemeList;
- } else {
- row -= mThemeList.size();
- if ( row < mBottomThemeList.size() ) {
- list = &mBottomThemeList;
- }
- }
- }
-
- if (list) {
- switch (role) {
- case Qt::DisplayRole:
- retVal = list->at(row).name();
- break;
-
- case Qt::SizeHintRole:
- retVal = list->at(row).icon().size();
- break;
-
- case ItemDataRole:
- retVal = list->at(row).itemData();
- break;
-
- case ItemTypeRole:
- retVal = QVariant::fromValue<CpThemeInfo::ThemeListItemType>(list->at(row).itemType());
- break;
-
- default:
- // do nothing
- qt_noop();
- }
- }
- }
-
- return retVal;
-}
-
-/*
- Responds appropriately when the underlying data in the theme changer is modified.
-
- Unfortunately the directory watcher from QFileWatcher only says when something changed
- not what changed. Therefore the model is considered reset rather than having rows
- with dataChanged.
-*/
-void CpThemeListModel::themeListChanged()
-{
- beginResetModel();
- if(!mThemeList.empty()) {
- mThemeList.clear();
- }
- mThemeList = CpThemeUtil::buildThemeList();
-
- endResetModel();
-}
-/*!
- * Returns index of theme infor within the theme list.
- */
-int CpThemeListModel::indexOf(const CpThemeInfo& theme) const
-{
- return mThemeList.indexOf(theme);
-}
--- a/controlpanelplugins/themeplugin/src/cpthemelistmodel.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CP_THEME_LIST_MODEL_P_H
-#define CP_THEME_LIST_MODEL_P_H
-
-#include <QAbstractListModel>
-#include <QModelIndex>
-#include <QObject>
-#include "cpthemeutil.h"
-
-class QFileSystemWatcher;
-
-class CpThemeListModel : public QAbstractListModel
-{
- Q_OBJECT
-
-public:
-
- enum ThemeListUserRole {
- ItemTypeRole = Qt::UserRole,
- ItemDataRole
- };
-
- explicit CpThemeListModel(QObject *parent = 0);
- virtual ~CpThemeListModel();
-
- virtual int rowCount(const QModelIndex& parent = QModelIndex()) const;
- virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const;
- int indexOf(const CpThemeInfo& theme) const;
-
-public slots:
- void themeListChanged();
-
-private:
- QList<CpThemeInfo> mTopThemeList;
- QList<CpThemeInfo> mThemeList;
- QList<CpThemeInfo> mBottomThemeList;
- QFileSystemWatcher *mFileWatcher;
-};
-
-#endif //CP_THEME_LIST_MODEL_P_H
--- a/controlpanelplugins/themeplugin/src/cpthemelistview.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-
-#include <QGraphicsLinearLayout>
-#include <QModelIndex>
-
-#include <hbview.h>
-#include <hblistview.h>
-#include <hblistviewitem.h>
-#include <hbtoolbar.h>
-#include <hbaction.h>
-#include <hbgroupbox.h>
-
-
-#include "cpthemelistview.h"
-
-/*!
- \class CpThemeListView
- \brief CpThemeListView displays a heading (e.g Theme) and a list of themes with
- corresponding icons.
-
- Note: This class is a subclass of CpBaseSettingView for compatibility with Control Panel
- framework.
- */
-
-/*!
- constructor. Creates the heading label and the list and adds it to layout.
-*/
-CpThemeListView::CpThemeListView(QGraphicsItem *parent) : CpBaseSettingView(0, parent),
- mThemeList(new HbListView(this))
-{
-
- //Create a layout with a heading at top and the list below it.
- HbWidget* contentWidget = new HbWidget(this);
- QGraphicsLinearLayout* layout = new QGraphicsLinearLayout(Qt::Vertical);
- layout->setContentsMargins(0,0,0,0);
-
- //setup the heading.
- HbGroupBox *simpleLabel = new HbGroupBox();
- simpleLabel->setHeading(hbTrId("txt_cp_title_select_theme"));
-
- layout->addItem(simpleLabel);
-
- connect(mThemeList, SIGNAL(activated(QModelIndex)),
- this, SIGNAL(newThemeSelected(QModelIndex)));
-
- //set list item icons to be large.
- HbListViewItem* listViewItem = mThemeList->listItemPrototype();
- listViewItem->setGraphicsSize(HbListViewItem::LargeIcon);
- //set singleSelection to enable showing an indicator (e.g check mark) next to active theme.
- mThemeList->setSelectionMode(HbAbstractItemView::SingleSelection);
-
- //add the list to layout.
- layout->addItem(mThemeList);
-
- //Create the toolbar for Ovi Store.
- HbToolBar* toolBar = new HbToolBar(this);
-
- HbAction* oviAction = new HbAction(HbIcon("qtg_large_ovistore"), hbTrId("txt_cp_list_get_more_tones"));
- QObject::connect( oviAction, SIGNAL(triggered()),
- this, SIGNAL(oviClicked()));
-
- //Add Action to the toolbar and show toolbar
- toolBar->addAction(oviAction);
-
- setToolBar(toolBar);
-
- contentWidget->setLayout(layout);
-
- setWidget(contentWidget);
-
-}
-
-/*!
- destructor.
-*/
-CpThemeListView::~CpThemeListView()
-{
-}
-
-/*!
- returns the listview instance (list of themes).
-*/
-HbListView* CpThemeListView::themeList() const
-{
- return mThemeList;
-}
-
-/*!
- Sets the model of its listView.
-*/
-void CpThemeListView::setModel(QAbstractItemModel* model)
-{
- mThemeList->setModel(model);
-}
-
-/*!
- sets the widget. Reimplementation from HbView.
-*/
-void CpThemeListView::setWidget(QGraphicsWidget *widget)
-{
- HbView::setWidget(widget);
-}
-
-/*!
- emits aboutToClose() signal.
-*/
-void CpThemeListView::closeView()
-{
- emit aboutToClose();
-}
-
-
--- a/controlpanelplugins/themeplugin/src/cpthemelistview.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPTHEMELISTVIEW_H
-#define CPTHEMELISTVIEW_H
-
-#include <QAbstractItemModel>
-
-#include <hbview.h>
-#include <hblistview.h>
-
-#include <cpbasesettingview.h>
-
-
-class CpThemeSelectionList;
-
-class CpThemeListView : public CpBaseSettingView
-{
- Q_OBJECT
-
-public:
- explicit CpThemeListView(QGraphicsItem *parent = 0);
- ~CpThemeListView();
- void setWidget(QGraphicsWidget *widget);
- HbListView* themeList() const;
- void setModel(QAbstractItemModel* model);
- void closeView();
-
-signals:
- void newThemeSelected(const QModelIndex& index);
- void oviClicked();
-
-private:
- HbListView* mThemeList;
-
-};
-
-#endif //CPTHEMELISTVIEW_H
-
--- a/controlpanelplugins/themeplugin/src/cpthemeplugin.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include "cpthemeplugin.h"
-#include "cpthemepluginentryitemdata.h"
-
-/*!
- \class CpThemePlugin
- \brief CpThemePlugin is a control panel plugin that allows a user to view available themes and
- change the current theme of the phone.
-
-*/
-
-/*!
- constructor.
-*/
-CpThemePlugin::CpThemePlugin()
-{
-}
-
-/*!
- destructor.
-*/
-CpThemePlugin::~CpThemePlugin()
-{
-}
-
-/*!
- create the control panel entry item data for Theme settins.
-*/
-
-QList<CpSettingFormItemData*> CpThemePlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
-{
-
- //create a cpthemepluginentryitemdata with default values and return it.
- CpSettingFormEntryItemData *entryItem = new CpThemePluginEntryItemData(
- itemDataHelper,
- hbTrId("txt_cp_dblist_theme"),
- QString(),
- HbIcon());
- return QList<CpSettingFormItemData*>() << entryItem;
-}
-
-Q_EXPORT_PLUGIN2(cpthemeplugin, CpThemePlugin);
-
--- a/controlpanelplugins/themeplugin/src/cpthemeplugin.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPTHEMEPLUGIN_H
-#define CPTHEMEPLUGIN_H
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-
-class CpThemePlugin : public QObject, public CpPluginInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpThemePlugin();
- virtual ~CpThemePlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-#endif //CPTHEMEPLUGIN_H
--- a/controlpanelplugins/themeplugin/src/cpthemepluginentryitemdata.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include <hbdataform.h>
-#include <hbiconitem.h>
-
-#include <cpbasesettingview.h>
-#include "cpthemecontrol.h"
-#include "cpthemepluginentryitemdata.h"
-#include <cpitemdatahelper.h>
-
-/*!
- \class CpThemePluginEntryItemData
- \brief CpThemePluginEntryItemData is the entry item view for Theme Changer plugin. It displays a title "Theme",
- the name of current theme and the preview icon of the current theme.
-
-*/
-
-/*!
- constructor.
-*/
-CpThemePluginEntryItemData::CpThemePluginEntryItemData(CpItemDataHelper &itemDataHelper,
- const QString &text,
- const QString &description,
- const HbIcon &icon,
- const HbDataFormModelItem *parent) :
- CpSettingFormEntryItemData(itemDataHelper,
- text,
- description,
- icon,
- parent)
-{
- //Create a CpThemeControl. the themeControl takes care of displaying the themes
- //and letting user select a theme and apply a theme change.
- mThemeControl = new CpThemeControl();
-
- setEntryItemIcon(mThemeControl->currentThemeIcon());
- setDescription(mThemeControl->currentThemeName());
-
- //connect to signal to update the current theme name and icon whenever the theme changes.
- QObject::connect(mThemeControl, SIGNAL(themeUpdated(const QString&, const HbIcon&)), this,
- SLOT(themeUpdated(const QString&, const HbIcon&)));
-}
-
-/*!
- destructor.
-*/
-CpThemePluginEntryItemData::~CpThemePluginEntryItemData()
-{
- delete mThemeControl;
- mThemeControl = 0;
-}
-
-/*!
- Slot used for updating entry item's description and icon with current theme name and its
- preview icon.
- */
-void CpThemePluginEntryItemData::themeUpdated(const QString& themeName, const HbIcon& icon)
-{
- setEntryItemIcon(icon);
- setDescription(themeName);
-}
-
-/*!
- Return the theme changer UI view. Returns 0 if it can't create
- the view.
-*/
-CpBaseSettingView *CpThemePluginEntryItemData::createSettingView() const
-{
- if(mThemeControl) {
- CpBaseSettingView *view = mThemeControl->themeListView();
- return view;
- }
-
- return 0;
-}
--- a/controlpanelplugins/themeplugin/src/cpthemepluginentryitemdata.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPTHEMEPLUGINENTRYITEMDATA_H
-#define CPTHEMEPLUGINENTRYITEMDATA_H
-
-#include <QObject>
-#include <cpsettingformentryitemdata.h>
-
-class CpThemeControl;
-
-class CpThemePluginEntryItemData : public CpSettingFormEntryItemData
-{
- Q_OBJECT
-
-public:
- explicit CpThemePluginEntryItemData(CpItemDataHelper &itemDataHelper,
- const QString &text = QString(),
- const QString &description = QString(),
- const HbIcon &icon = HbIcon(),
- const HbDataFormModelItem *parent = 0);
- virtual ~CpThemePluginEntryItemData();
-
-private slots:
- void themeUpdated(const QString& themeName, const HbIcon& icon);
-private:
- CpThemeControl* mThemeControl;
- virtual CpBaseSettingView *createSettingView() const;
-
-};
-
-#endif //CPTHEMEPLUGINENTRYITEMDATA_H
--- a/controlpanelplugins/themeplugin/src/cpthemepreview.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include <QObject>
-#include <QString>
-#include <QGraphicsPixmapItem>
-#include <QGraphicsLinearLayout>
-
-#include <hbaction.h>
-#include <hbtoolbar.h>
-#include <hbicon.h>
-#include <hbaction.h>
-#include <hblabel.h>
-#include <hbiconitem.h>
-#include <hbmainwindow.h>
-#include <HbParameterLengthLimiter>
-#include <HbDataForm>
-
-#include "cpthemepreview.h"
-#include "cpthemeinfo.h"
-
-/*!
- \class CpThemePreview
- \brief CpThemePreview shows a preview of a selected theme with a heading displaying the name of the theme as well as
- a toolbar with Select and Cancel buttons. This view is used for the user to either select the theme and apply
- the theme change or press Cancel and go back to theme list view.
-*/
-
-
-/*!
- constructor.
-*/
-CpThemePreview::CpThemePreview(const CpThemeInfo& theme, QGraphicsItem *parent) :
- HbView(parent),
- mTheme(theme),
- mSoftKeyBackAction(0),
- mPreviewIcon(0)
-{
- QGraphicsLinearLayout* containerLayout = new QGraphicsLinearLayout(Qt::Vertical);
- QGraphicsLinearLayout* bottomLayout = new QGraphicsLinearLayout(Qt::Vertical);
-
- //Preview icon margins.
- qreal leftMargin = 0.0;
- qreal rightMargin = 0.0;
- qreal topMargin = 0.0;
- qreal bottomMargin = 0.0;
-
- style()->parameter(QString("hb-param-margin-gene-left"), leftMargin);
- style()->parameter("hb-param-margin-gene-right", rightMargin);
- style()->parameter("hb-param-margin-gene-top", topMargin);
- style()->parameter("hb-param-margin-gene-bottom", bottomMargin);
-
- containerLayout->setContentsMargins(0,0,0,0);
- bottomLayout->setContentsMargins(leftMargin, topMargin, rightMargin, bottomMargin);
-
- //Using an empty dataform as heading because the heading should
- //look like an HbDataForm headiing.
- HbDataForm* heading = new HbDataForm(this);
- QString themeHeading = HbParameterLengthLimiter("txt_cp_title_preview_1").arg(mTheme.name());
- heading->setHeading(themeHeading);
-
- containerLayout->addItem(heading);
- //Fixed vertical policy so that the heading doesn't expand.
- heading->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed,QSizePolicy::DefaultType);
-
- if(mainWindow()->orientation() == Qt::Horizontal) {
- mPreviewIcon = new HbIconItem(mTheme.landscapePreviewIcon(), this);
- }
- else {
- mPreviewIcon = new HbIconItem(mTheme.portraitPreviewIcon(), this);
- //set to ignore aspect ratio so the layout would rezise the icon correctly.
-
- }
- mPreviewIcon->setAspectRatioMode(Qt::IgnoreAspectRatio);
-
- // set an object name for preview icon to make it testable for automation testing
- mPreviewIcon->setObjectName(QString("themePreviewIcon"));
-
-
- bottomLayout->addItem(mPreviewIcon);
- containerLayout->addItem(bottomLayout);
-
- setLayout(containerLayout);
-
- //Create the toolbar and "Select" and "Cancel" actions.
- HbToolBar* mToolBar = new HbToolBar(this);
-
- HbAction* selectAction = new HbAction(hbTrId("txt_common_button_select"));
-
- //Add Action to the toolbar and show toolbar
- mToolBar->addAction( selectAction );
-
- HbAction* cancelAction = new HbAction(hbTrId("txt_common_button_cancel"));
- mToolBar->addAction( cancelAction );
-
- QObject::connect( selectAction, SIGNAL(triggered()),
- this, SLOT(themeSelected()));
-
- QObject::connect( cancelAction, SIGNAL(triggered()),
- this, SIGNAL(aboutToClose()));
- QObject::connect( mainWindow(), SIGNAL(orientationChanged(Qt::Orientation)),
- this, SLOT(previewOrientationChanged(Qt::Orientation)));
-
-
- setToolBar(mToolBar);
- //Setup the Back button action and set softkey. Back button
- //takes the user to the theme list view.
- mSoftKeyBackAction = new HbAction(Hb::BackNaviAction, this);
- QObject::connect(mSoftKeyBackAction, SIGNAL(triggered()),
- this, SIGNAL(aboutToClose()) );
-
- setNavigationAction(mSoftKeyBackAction);
-
-}
-
-/*!
- destructor.
-*/
-CpThemePreview::~CpThemePreview()
-{
-}
-
-/*!
- sets the theme to \a theme.
-*/
-void CpThemePreview::setThemeInfo(const CpThemeInfo& theme)
-{
- mTheme = theme;
-}
-
-/*!
- returns the themeName.
-*/
-const QString CpThemePreview::themeName() const
-{
- return mTheme.name();
-}
-
-/*!
- returns the repersentative themeIcon of the current theme.
-*/
-const HbIcon CpThemePreview::themeIcon() const
-{
- return mTheme.icon();
-}
-
-/*!
- Slot to handle when the user selects a theme.
-*/
-void CpThemePreview::themeSelected()
-{
- emit applyTheme(mTheme);
-}
-
-/*!
- * Slot to handle landscape/portrait orientation change to use the
- * right graphics.
- */
-void CpThemePreview::previewOrientationChanged(Qt::Orientation orientation)
-{
-
- QGraphicsLinearLayout* containerLayout = dynamic_cast<QGraphicsLinearLayout*>(layout());
- QGraphicsLinearLayout* previewLayout = 0;
- if(containerLayout) {
- //get the layout that preview icon belongs to.
- previewLayout = dynamic_cast<QGraphicsLinearLayout*>(containerLayout->itemAt(1));
- }
-
- if(previewLayout && mPreviewIcon && mPreviewIcon == dynamic_cast<HbIconItem*>(previewLayout->itemAt(0)) ) {
- //Remove preview icon.
- previewLayout->removeAt(0);
-
- if(orientation == Qt::Horizontal) {
- mPreviewIcon->setIcon(mTheme.landscapePreviewIcon());
-
- }
- else {
- mPreviewIcon->setIcon(mTheme.portraitPreviewIcon());
- }
-
- previewLayout->addItem(mPreviewIcon);
- }
-
-}
-
-
-
--- a/controlpanelplugins/themeplugin/src/cpthemepreview.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPTHEMEPREVIEW_H
-#define CPTHEMEPREVIEW_H
-
-#include <hbview.h>
-#include <QObject>
-#include <hbicon.h>
-#include "cpthemechanger.h"
-#include "cpthemeinfo.h"
-
-
-QT_BEGIN_NAMESPACE
-class QString;
-QT_END_NAMESPACE
-
-class HbAction;
-class HbMainWindow;
-class HbIconItem;
-
-class CpThemePreview : public HbView
-{
- Q_OBJECT
-
-public:
- explicit CpThemePreview(const CpThemeInfo &theme, QGraphicsItem *parent = 0);
- ~CpThemePreview();
- void setThemeInfo(const CpThemeInfo& theme);
- const QString themeName() const;
- const HbIcon themeIcon() const;
-
-signals:
- void applyTheme(const CpThemeInfo&);
- void aboutToClose();
-
-private slots:
- void themeSelected();
- void previewOrientationChanged(Qt::Orientation orientation);
-
-private:
- CpThemeInfo mTheme;
- HbAction* mSoftKeyBackAction;
- HbIconItem* mPreviewIcon;
-
-};
-
-#endif //CPTHEMEPREVIEW_H
--- a/controlpanelplugins/themeplugin/src/cpthemeutil.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,217 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cpthemeinfo.h"
-#include "cpthemeutil.h"
-
-#include <QStringList>
-#include <QSettings>
-#include <QFileInfoList>
-#include <QDir>
-#include <QList>
-
-#include <hbicon.h>
-#include <hbinstance.h>
-#include <restricted/hbthemeservices_r.h>
-
-/*!
- * This class provides utility function to get Theme information.
- */
-
-#if defined(Q_OS_SYMBIAN)
-#include <e32std.h>
-#include <centralrepository.h>
- static const TUid KServerUid3={0x20022E82};
- static const TUint32 KDefaultThemeNameKey = 0x2;
-
-#endif
-
-
- //Location of theme preview and background icons.
- static const QString KPreviewThumbnailNVG = "/scalable/qtg_graf_theme_preview_thumbnail.nvg";
- static const QString KPreviewThumbnailSVG = "/scalable/qtg_graf_theme_preview_thumbnail.svg";
-
- static const QString KBackgroundPrtNVG = "/scalable/qtg_graf_screen_bg_prt.nvg";
- static const QString KBackgroundLscNVG = "/scalable/qtg_graf_screen_bg_lsc.nvg";
- static const QString KBackgroundPrtSVG = "/scalable/qtg_graf_screen_bg_prt.svg";
- static const QString KBackgroundLscSVG = "/scalable/qtg_graf_screen_bg_lsc.svg";
-
-
-
-
-
-/*
- * Builds a CpThemeInfo object given theme path and theme name. It creates the name and
- * preview icons for the object. Creates a new CpThemeInfo objects. Caller takes ownership.
- * Returns NULL if can't build the object.
- */
-CpThemeInfo* CpThemeUtil::buildThemeInfo(const QString& themePath, const QString& themeName)
-{
- CpThemeInfo *themeInfo = new CpThemeInfo();
- QString iconPath;
-
- QString name = themeName;
- QString hidden = "";
-
- //first look into the index.theme file to get theme information.
-
- if(QFileInfo(themePath + "/index.theme").exists()) {
- QSettings iniSetting(themePath + "/index.theme", QSettings::IniFormat);
- iniSetting.beginGroup("Icon Theme");
- name = iniSetting.value("Name").toString();
- hidden = iniSetting.value("Hidden").toString();
- iconPath = iniSetting.value("PreviewThumbnailPath").toString();
- iniSetting.endGroup();
-
- }
-
- if(name.isEmpty() || (hidden == "true") ||( hidden == "")) {
- return NULL;
- }
-
- themeInfo->setName(name);
- themeInfo->setItemType(CpThemeInfo::ThemeListItemType_default);
- themeInfo->setItemData(themePath);
-
- //Get the icons. Logic is as follow:
- /* 1. If the icon path is in index.theme and the icon exist, use it.
- * 2. Otherwise look for the icon in the theme folder.
- * 2. If preview icon doesn't exist, use background icon.
- * 3. If no icon exist (background or preview),use default theme icon.
- */
- if(iconPath.isEmpty() || !QFileInfo(themePath + iconPath).exists()){
- //Set thumbnail
- HbIcon themeIcon = getPreviewIcon(themePath);
- if(themeIcon.isNull()){
- QString defaultThemePath = defaultTheme();
- if(!defaultThemePath.isEmpty()) {
- themeIcon = getPreviewIcon(defaultThemePath);
- }
- }
- themeInfo->setIcon(themeIcon);
- } else {
- themeInfo->setIcon(HbIcon(themePath + iconPath));
- }
-
- return themeInfo;
-
-}
-
-/*!
- * given a path to the theme, returns the preview icon or just a Null icon
- * if it doesn't exist.
- */
-HbIcon CpThemeUtil::getPreviewIcon(const QString& themePath)
-{
- HbIcon themeIcon;
- if(QFileInfo(themePath + KPreviewThumbnailNVG).exists()){
- themeIcon = HbIcon(themePath + KPreviewThumbnailNVG);
- }else if(QFileInfo(themePath + KPreviewThumbnailSVG).exists()){
- themeIcon = HbIcon(themePath + KPreviewThumbnailSVG);
- }else if(QFileInfo(themePath + KBackgroundPrtNVG).exists()){
- themeIcon = HbIcon(themePath + KBackgroundPrtNVG);
- }else if(QFileInfo(themePath + KBackgroundPrtSVG).exists()){
- themeIcon = HbIcon(themePath + KBackgroundPrtSVG);
- }
- return themeIcon;
-
-}
-
-/*! Creates a list of CpThemeInfo objects representing theme information.
- *
- */
-QList<CpThemeInfo> CpThemeUtil::buildThemeList()
-{
- QList<CpThemeInfo> themeList;
-
- QList<QPair<QString, QString> > mThemesPathList = availableThemes();
- QPair<QString, QString>pair;
- foreach (pair, mThemesPathList) {
- QDir themeDir;
- QString name = pair.first;
- QString path = pair.second;
- themeDir.setPath( path ) ;
- CpThemeInfo* themeInfo;
- if(themeDir.exists("index.theme") &&
- (themeDir.exists("scalable") || themeDir.exists("pixmap") )) {
- themeInfo = buildThemeInfo(path, name);
- if(themeInfo && !themeInfo->name().isEmpty()) {
- themeList.append(*themeInfo);
- }
- }
- }
- qSort( themeList );
- return themeList;
-}
-
-/*!
- * Returns the default theme path.
- */
-QString CpThemeUtil::defaultTheme()
-{
- //static because default theme doesn't change.
- static QString defaultThemePath("");
-
- if(defaultThemePath.isEmpty()) {
-
-
-#ifdef Q_OS_SYMBIAN
- CRepository *repository = 0;
- TRAP_IGNORE(repository = CRepository::NewL(KServerUid3));
- if (repository) {
- TBuf<256> value;
- if (KErrNone == repository->Get((TUint32)KDefaultThemeNameKey, value)) {
- QString qvalue((QChar*)value.Ptr(), value.Length());
- defaultThemePath = qvalue.trimmed();
- }
- value.Zero();
- delete repository;
- }
-
-#endif
-
- }
- return defaultThemePath;
-}
-
-
-const QStringList CpThemeUtil::themeDirectories(const QList<CpThemeInfo>& themeInfoList)
-{
- QStringList themeDirs;
-
- foreach(const CpThemeInfo& themeInfo, themeInfoList) {
- QDir themePath(themeInfo.itemData());
- QString topDir;
- if(themePath.cdUp()) {
- topDir = themePath.path();
- if(!themeDirs.contains(topDir)) {
- themeDirs.append(topDir);
- }
- }
- }
- return themeDirs;
-}
-
-const QList< QPair< QString, QString > > CpThemeUtil::availableThemes( )
-{
-
- QList<QPair<QString, QString> > result = HbThemeServices::availableThemes();
- return result;
-
-}
-
-
--- a/controlpanelplugins/themeplugin/src/cpthemeutil.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPTHEMEUTIL_H_
-#define CPTHEMEUTIL_H_
-
-#include <QList>
-#include <QPair>
-
-class QStringList;
-class CpThemeInfo;
-class HbIcon;
-
-class CpThemeUtil {
-
-public:
- static QList<CpThemeInfo> buildThemeList();
- static CpThemeInfo* buildThemeInfo(const QString& themePath, const QString& themeName = QString());
- static QString defaultTheme();
- static const QList< QPair< QString, QString > > availableThemes();
- static const QStringList themeDirectories(const QList<CpThemeInfo> &themeInfoList);
-
-private:
- static HbIcon getPreviewIcon(const QString& themePath);
-
-
-};
-
-#endif /* CPTHEMEUTIL_H_ */
-
-
--- a/controlpanelplugins/themeplugin/themeplugin.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-# Contributors:
-# Description: cpthemeplugin source files
-# Input
-HEADERS += src/cpthemecontrol.h \
- src/cpthemeplugin.h \
- src/cpthemelistview.h \
- src/cpthemelistmodel.h \
- src/cpthemechanger.h \
- src/cpthemepluginentryitemdata.h \
- src/cpthemeutil.h \
- src/cpthemeinfo.h
-SOURCES += src/cpthemecontrol.cpp \
- src/cpthemeplugin.cpp \
- src/cpthemelistview.cpp \
- src/cpthemelistmodel.cpp \
- src/cpthemepluginentryitemdata.cpp \
- src/cpthemechanger.cpp \
- src/cpthemeutil.cpp \
- src/cpthemeinfo.cpp
--- a/controlpanelplugins/themeplugin/themeplugin.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-TARGET = cpthemeplugin
-
-CONFIG += hb plugin
-
-LIBS += -lcpframework
-TRANSLATIONS = control_panel.ts
-
-CONFIG += debug_and_release
-RESOURCES += themeplugin.qrc
-
-#comment this out if theme plugin should have
-#a preview view.
-#DEFINES += CP_THEME_PREVIEW_DEFINED
-
-include (themeplugin.pri)
-include (rom/themeplugin_rom.pri)
-
-MOC_DIR = moc
-OBJECT_DIR = obj
-RCC_DIR = rcc
-
-# On win32 and mac, debug and release libraries are named differently.
-# We must follow the debug and release settings Qt was compiled with:
-# build debug iff Qt built debug, build release iff Qt built release.
-
-win32|mac {
- !contains(QT_CONFIG,debug)|!contains(QT_CONFIG,release) {
- CONFIG -= debug_and_release debug release
- contains(QT_CONFIG,debug): CONFIG+=debug
- contains(QT_CONFIG,release):CONFIG+=release
- }
-}
-
-CONFIG(debug, debug|release) {
- SUBDIRPART = debug
-} else {
- SUBDIRPART = release
-}
-
-win32 {
- DESTDIR = C:/ControlPanel/$$SUBDIRPART/bin
- OBJECTS_DIR = $$PWD/$$SUBDIRPART/tmp/$$TARGET
- # add platfrom API for windows
- INCLUDEPATH += $$PWD/../../../controlpanel_plat/inc
-}
-
-# Add the output dirs to the link path too
-LIBS += -L$$DESTDIR
-
-
-
-#For some reason the default include path doesn't include MOC_DIR on symbian
-symbian {
- INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
- INCLUDEPATH += $$MOC_DIR
- LIBS += -lcentralrepository
- TARGET.CAPABILITY = ALL -TCB
- TARGET.EPOCALLOWDLLDATA = 1
- TARGET.UID3 = 0X2002C2F3
-}
-
-
-symbian: plugin { # copy qtstub and manifest
-
- PLUGIN_STUB_PATH = /resource/qt/plugins/controlpanel
-
- deploy.path = C:
- pluginstub.sources = $${TARGET}.dll
- pluginstub.path = $$PLUGIN_STUB_PATH
- DEPLOYMENT += pluginstub
-
- qtplugins.path = $$PLUGIN_STUB_PATH
- qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin
-
- for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
-}
-
-#symbian: INCLUDEPATH += /sf/mw/hb/include/hbservices \
-# /sf/mw/hb/include/hbservices/private \
-# /sf/mw/hb/include/hbcore \
-# /sf/mw/hb/include/hbcore/private
-#
-
-# End of file --Don't remove this.
--- a/controlpanelplugins/themeplugin/themeplugin.qrc Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<RCC>
- <qresource prefix="/" >
- <file>image/themePreview.nvg</file>
- </qresource>
-</RCC>
--- a/controlpanelplugins/themeplugin/tsrc/tsrc.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = subdirs
-SUBDIRS += unit/unittest_cpthemecontrol
-SUBDIRS += unit/unittest_cpthemelistview
-SUBDIRS += unit/unittest_cpthemeplugin
-SUBDIRS += unit/unittest_cpthemepluginentryitemdata
-SUBDIRS += unit/unittest_cpthemelistmodel
-SUBDIRS += unit/unittest_cpthemeutil
-
-CONFIG += ordered
-test.depends = first
-test.CONFIG += recursive
-autotest.depends = first
-autotest.CONFIG += recursive
-QMAKE_EXTRA_TARGETS += test autotest
--- a/controlpanelplugins/themeplugin/tsrc/unit/common.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors: XENT-MV
-#
-# Description: Stuff for all unit tests
-#
-
-QT += testlib
-CONFIG += qtestlib hb
-
-
-win32 {
- INCLUDEPATH += .
- INCLUDEPATH += ../../../src/inc
- INCLUDEPATH += ../../../src/cpframework/src
- INCLUDEPATH += ../../../controlpanel_plat/inc
-}
-
-unix {
- test.commands = ./$(TARGET)
- autotest.commands = ./$(TARGET) -xml -o ../$(QMAKE_TARGET).xml
-} else:win32 {
- test.CONFIG += recursive
- autotest.CONFIG += recursive
- build_pass {
- test.commands =/epoc32/RELEASE/WINSCW/udeb/$(QMAKE_TARGET).exe
- autotest.commands =/epoc32/RELEASE/WINSCW/udeb/$(QMAKE_TARGET).exe -xml -o c:/$(QMAKE_TARGET).xml
- }
-}
-
-QMAKE_EXTRA_TARGETS += test autotest
-
-symbian {
- INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
- INCLUDEPATH += $$MOC_DIR
- LIBS += -lcentralrepository
- TARGET.CAPABILITY = ALL -TCB
- TARGET.EPOCALLOWDLLDATA = 1
-}
-
-
\ No newline at end of file
--- a/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemecontrol/unittest_cpthemecontrol.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors: XENT-MV
-*
-* Description: unit tests for the CpThemeControl class from themeplugin
-*
-*/
-
-#include <QtTest/QtTest>
-#include <QSignalSpy>
-
-#include <hbinstance.h>
-#include <hbtheme.h>
-
-#include "cpthemechanger.h"
-#include "cpthemecontrol.h"
-#include "cpthemeinfo.h"
-#include "cpthemeutil.h"
-
-class TestCpThemeControl : public QObject
-{
- Q_OBJECT
-
-private slots:
-
- void testConstructor();
- void testThemeListView();
- void testCurrentThemeName();
- void testCurrentThemeIcon();
-
-private:
- CpThemeChanger* mThemeChanger;
-};
-
-
-
-// verify that the constructor works and that the
-// defaults are sane.
-void TestCpThemeControl::testConstructor()
-{
- CpThemeControl * control = new CpThemeControl();
-
- QVERIFY(control !=0 );
- QVERIFY(!control->currentThemeName().isEmpty());
- QVERIFY(!control->currentThemeIcon().iconName().isEmpty());
-
- delete control;
-}
-
-// verify that the themeListView doesn't return NULL (or crash)
-void TestCpThemeControl::testThemeListView()
-{
- CpThemeControl control;
-
- QVERIFY(control.themeListView() != 0);
-}
-
-// test that we get back a non-empty QString
-void TestCpThemeControl::testCurrentThemeName()
-{
- CpThemeControl control;
-
- QVERIFY( (control.currentThemeName() == hbInstance->theme()->name())
- || (control.currentThemeName() == QString("hbdefault")));
-}
-
-// test that we get a non-empty string for current theme icon
-void TestCpThemeControl::testCurrentThemeIcon()
-{
- CpThemeControl control;
-
- QVERIFY(!control.currentThemeIcon().isNull() && !control.currentThemeIcon().iconName().isEmpty());
-}
-
-
-
-
-
-QTEST_MAIN(TestCpThemeControl)
-#include "unittest_cpthemecontrol.moc"
--- a/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemecontrol/unittest_cpthemecontrol.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0".
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors: XENT-MV
-#
-# Description: unit tests for the cpthemecontrol class in the themeplugin.
-#
-#
-
-include(../common.pri)
-
-
-TEMPLATE = app
-TARGET = unittest_cpthemecontrol
-DEPENDPATH += .
-win32::DEPENDPATH += c:/ControlPanel/debug/bin
-
-INCLUDEPATH += .
-INCLUDEPATH += src/
-INCLUDEPATH += ../../../src
-
-LIBS += -lcpframework
-win32::LIBS += -LC:/ControlPanel/debug/bin
-
-symbian::TARGET.UID3=0x2002DD2A
-
-
-# Input
-
-HEADERS += ../../../src/cpthemecontrol.h
-HEADERS += ../../../src/cpthemechanger.h
-HEADERS += ../../../src/cpthemelistview.h
-HEADERS += ../../../src/cpthemeutil.h
-HEADERS += ../../../src/cpthemeinfo.h
-HEADERS += ../../../src/cpthemelistmodel.h
-SOURCES += unittest_cpthemecontrol.cpp
-SOURCES += ../../../src/cpthemecontrol.cpp
-SOURCES += ../../../src/cpthemechanger.cpp
-SOURCES += ../../../src/cpthemeinfo.cpp
-SOURCES += ../../../src/cpthemeutil.cpp
-SOURCES += ../../../src/cpthemelistmodel.cpp
-SOURCES += ../../../src/cpthemelistview.cpp
--- a/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemelistmodel/unittest_cpthemelistmodel.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors: XENT-MV
-*
-* Description: unit tests for the CpThemeListModel class from themeplugin
-*
-*/
-
-#include <QtTest/QtTest>
-
-#include "cpthemelistmodel.h"
-
-class TestCpThemeListModel : public QObject
-{
- Q_OBJECT
-
-private slots:
-
- void testConstructor();
- void testRowCount();
- void testData();
- void testIndexOf();
-};
-
-
-void TestCpThemeListModel::testConstructor()
-{
-
- CpThemeListModel *obj = new CpThemeListModel();
-
-
- QVERIFY (obj != 0 );
- QVERIFY (obj->rowCount() > 0);
-
- delete obj;
-
-}
-
-void TestCpThemeListModel::testRowCount()
-{
- CpThemeListModel *themeModel = new CpThemeListModel();
- QList<QPair<QString, QString> > allThemes = CpThemeUtil::availableThemes();
- QVERIFY(themeModel->rowCount() >= allThemes.size());
-}
-
-void TestCpThemeListModel::testData()
-{
- CpThemeListModel *themeModel = new CpThemeListModel();
- QList<QPair<QString, QString> > allThemes = CpThemeUtil::availableThemes();
-
- QModelIndex index = themeModel->index(0,0, QModelIndex());
-
- //Check theme name (first) and theme path (second). Skipping icons for now.
- QCOMPARE(themeModel->data(index, Qt::DisplayRole).toString(), allThemes.at(0).first);
- QCOMPARE(themeModel->data(index, CpThemeListModel::ItemDataRole).toString(), allThemes.at(0).second);
-
-
-}
-
-void TestCpThemeListModel::testIndexOf()
-{
- CpThemeListModel *themeModel = new CpThemeListModel();
- QList<QPair<QString, QString> > allThemes = CpThemeUtil::availableThemes();
-
- CpThemeInfo *themeInfo = CpThemeUtil::buildThemeInfo(allThemes.at(1).second, allThemes.at(1).first);
-
- int index = themeModel->indexOf(*themeInfo);
-
- QVERIFY(index == 1);
-
-}
-QTEST_MAIN(TestCpThemeListModel)
-#include "unittest_cpthemelistmodel.moc"
-
--- a/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemelistmodel/unittest_cpthemelistmodel.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0".
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-# Contributors: XENT-MV
-# Description: unit tests for the cpthemelistmodel class in the themeplugin.
-include(../common.pri)
-TEMPLATE = app
-TARGET = unittest_cpthemelistmodel
-DEPENDPATH += .
-win32::DEPENDPATH += c:/ControlPanel/debug/bin
-INCLUDEPATH += .
-INCLUDEPATH += src/
-INCLUDEPATH += ../../../src
-LIBS += -lcpframework
-win32::LIBS += -LC:/ControlPanel/debug/bin
-symbian::TARGET.UID3 = 0x20031DAD
-
-# Input
-HEADERS += ../../../src/cpthemelistmodel.h
-HEADERS += ../../../src/cpthemeinfo.h
-HEADERS += ../../../src/cpthemeutil.h
-SOURCES += unittest_cpthemelistmodel.cpp
-SOURCES += ../../../src/cpthemelistmodel.cpp
-SOURCES += ../../../src/cpthemeinfo.cpp
-SOURCES += ../../../src/cpthemeutil.cpp
--- a/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemelistview/unittest_cpthemelistview.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors: XENT-MV
-*
-* Description: unit tests for the CpThemeControl class from themeplugin
-*
-*/
-
-#include <QtTest/QtTest>
-#include <QGraphicsWidget>
-#include <QStandardItemModel>
-
-#include "cpthemelistview.h"
-
-class TestCpThemeListView : public QObject
-{
- Q_OBJECT
-
-private slots:
- void testConstructor();
- void testSetWidget();
- void testThemeList();
- void testSetModel();
- void testCloseView();
-};
-
-void TestCpThemeListView::testConstructor()
-{
- CpThemeListView* obj = new CpThemeListView();
- QVERIFY( obj != 0 );
- delete obj;
-}
-
-void TestCpThemeListView::testSetWidget()
-{
- CpThemeListView *listView = new CpThemeListView();
- QGraphicsWidget *testWidget = new QGraphicsWidget();
-
- listView->setWidget(testWidget);
-
- QVERIFY( listView->widget() == testWidget);
-
- delete testWidget;
- delete listView;
-}
-
-void TestCpThemeListView::testThemeList()
-{
- CpThemeListView *listView = new CpThemeListView();
-
- QVERIFY( listView->themeList() != 0 );
-
- delete listView;
-}
-
-void TestCpThemeListView::testSetModel()
-{
- CpThemeListView *listView = new CpThemeListView();
- QStandardItemModel *model = new QStandardItemModel(this);
-
- listView->setModel(model);
- QVERIFY(listView->themeList()->model() == model);
-
- // model shouldn't be deleted because it is a QObject with a parent.
-
- delete listView;
-}
-
-// null test
-void TestCpThemeListView::testCloseView()
-{
- CpThemeListView *listView = new CpThemeListView();
-
- listView->closeView();
-
- delete listView;
-}
-
-
-
-QTEST_MAIN(TestCpThemeListView)
-#include "unittest_cpthemelistview.moc"
--- a/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemelistview/unittest_cpthemelistview.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0".
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors: XENT-MV
-#
-# Description: unit tests for the cpthemelistview class in the themeplugin.
-#
-#
-
-include(../common.pri)
-
-TEMPLATE = app
-TARGET = unittest_cpthemelistview
-DEPENDPATH += .
-win32::DEPENDPATH += c:/ControlPanel/debug/bin
-
-INCLUDEPATH += .
-INCLUDEPATH += src/
-INCLUDEPATH += ../../../src
-
-LIBS += -lcpframework
-win32::LIBS += -LC:/ControlPanel/debug/bin
-
-symbian::TARGET.UID3=0x2002DD2C
-
-
-# Input
-
-HEADERS += ../../../src/cpthemelistview.h
-SOURCES += unittest_cpthemelistview.cpp
-SOURCES += ../../../src/cpthemelistview.cpp
--- a/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemeplugin/unittest_cpthemeplugin.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors: XENT-MV
-*
-* Description: unit tests for the CpThemeControl class from themeplugin
-*
-*/
-
-#include <QtTest/QtTest>
-
-#include "cpthemeplugin.h"
-#include <cppluginplatinterface.h>
-#include <cpitemdatahelper.h>
-
-class TestCpThemePlugin : public QObject
-{
- Q_OBJECT
-
-private slots:
- void testConstructor();
- void testCreateSettingFormItemData();
-};
-
-void TestCpThemePlugin::testConstructor()
-{
- CpThemePlugin *obj = new CpThemePlugin();
-
- delete obj;
-}
-
-void TestCpThemePlugin::testCreateSettingFormItemData()
-{
- CpThemePlugin *obj = new CpThemePlugin();
- CpItemDataHelper helper;
-
- QVERIFY(obj->createSettingFormItemData(helper).at(0) != 0);
-
- delete obj;
-}
-
-
-QTEST_MAIN(TestCpThemePlugin)
-#include "unittest_cpthemeplugin.moc"
--- a/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemeplugin/unittest_cpthemeplugin.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0".
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors: XENT-MV
-#
-# Description: unit tests for the cpthemeplugin class in the themeplugin.
-#
-#
-
-include(../common.pri)
-
-TEMPLATE = app
-TARGET = unittest_cpthemeplugin
-DEPENDPATH += .
-win32::DEPENDPATH += c:/ControlPanel/debug/bin
-
-INCLUDEPATH += .
-INCLUDEPATH += src/
-INCLUDEPATH += ../../../src
-
-LIBS += -lcpframework
-win32::LIBS += -LC:/ControlPanel/debug/bin
-
-symbian::TARGET.UID3=0x2002DD2D
-
-
-# Input
-
-HEADERS += ../../../src/cpthemecontrol.h
-HEADERS += ../../../src/cpthemechanger.h
-HEADERS += ../../../src/cpthemelistview.h
-HEADERS += ../../../src/cpthemeplugin.h
-HEADERS += ../../../src/cpthemepluginentryitemdata.h
-HEADERS += ../../../src/cpthemeinfo.h
-HEADERS += ../../../src/cpthemeutil.h
-HEADERS += ../../../src/cpthemelistmodel.h
-SOURCES += unittest_cpthemeplugin.cpp
-SOURCES += ../../../src/cpthemecontrol.cpp
-SOURCES += ../../../src/cpthemechanger.cpp
-SOURCES += ../../../src/cpthemelistview.cpp
-SOURCES += ../../../src/cpthemeplugin.cpp
-SOURCES += ../../../src/cpthemepluginentryitemdata.cpp
-SOURCES += ../../../src/cpthemeinfo.cpp
-SOURCES += ../../../src/cpthemeutil.cpp
-SOURCES += ../../../src/cpthemelistmodel.cpp
-
-
--- a/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemepluginentryitemdata/unittest_cpthemepluginentryitemdata.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors: XENT-MV
-*
-* Description: unit tests for the CpThemePluginEntryItemData class from themeplugin
-*
-*/
-
-#include <QtTest/QtTest>
-#include <QObject>
-
-#include <cpitemdatahelper.h>
-
-#include "cpthemepluginentryitemdata.h"
-
-class TestCpThemePluginEntryItemData : public QObject
-{
- Q_OBJECT
-
-private slots:
- void testConstructor();
-};
-
-void TestCpThemePluginEntryItemData::testConstructor()
-{
- CpItemDataHelper helper;
-
- CpThemePluginEntryItemData *obj = new CpThemePluginEntryItemData(helper);
-
- QVERIFY(obj != NULL);
-
- delete obj;
-}
-
-
-QTEST_MAIN(TestCpThemePluginEntryItemData)
-#include "unittest_cpthemepluginentryitemdata.moc"
-
--- a/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemepluginentryitemdata/unittest_cpthemepluginentryitemdata.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0".
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors: XENT-MV
-#
-# Description: unit tests for the cpthemepluginentryitemdata class in the themeplugin.
-#
-#
-
-include(../common.pri)
-
-TEMPLATE = app
-TARGET = unittest_cpthemepluginentryitemdata
-DEPENDPATH += .
-win32::DEPENDPATH += c:/ControlPanel/debug/bin
-
-INCLUDEPATH += .
-INCLUDEPATH += src/
-INCLUDEPATH += ../../../src
-
-LIBS += -lcpframework
-win32::LIBS += -LC:/ControlPanel/debug/bin
-
-symbian::TARGET.UID3=0x2002DD2E
-
-
-# Input
-
-HEADERS += ../../../src/cpthemeinfo.h
-HEADERS += ../../../src/cpthemeutil.h
-HEADERS += ../../../src/cpthemelistmodel.h
-HEADERS += ../../../src/cpthemecontrol.h
-HEADERS += ../../../src/cpthemelistview.h
-HEADERS += ../../../src/cpthemechanger.h
-HEADERS += ../../../src/cpthemepluginentryitemdata.h
-SOURCES += unittest_cpthemepluginentryitemdata.cpp
-SOURCES += ../../../src/cpthemepluginentryitemdata.cpp
-SOURCES += ../../../src/cpthemelistview.cpp
-SOURCES += ../../../src/cpthemecontrol.cpp
-SOURCES += ../../../src/cpthemechanger.cpp
-SOURCES += ../../../src/cpthemeinfo.cpp
-SOURCES += ../../../src/cpthemeutil.cpp
-SOURCES += ../../../src/cpthemelistmodel.cpp
-
--- a/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemepreview/unittest_cpthemepreview.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors: XENT-MV
-*
-* Description: unit tests for the CpThemePreview class from themeplugin
-*
-*/
-
-#include <QtTest/QtTest>
-
-#include "cpthemepreview.h"
-#include "cpthemechanger.h"
-#include "cpthemeutil.h"
-
-class TestCpThemePreview : public QObject
-{
- Q_OBJECT
-
-private slots:
-
- void testAll();
-
-};
-
-void TestCpThemePreview::testAll()
-{
- QList<QPair<QString, QString> > themes = CpThemeUtil::availableThemes();
-
- QPair<QString, QString> pair;
-
- pair = themes.at(0);
-
- QString name = pair.first;
- QString themePath = pair.second;
- CpThemeInfo* themeInfo = CpThemeUtil::buildThemeInfo(themePath, name);
-
- CpThemePreview *obj = new CpThemePreview(*themeInfo);
-
-
- QVERIFY (obj != 0 );
- QCOMPARE(obj->themeName(), name);
- QCOMPARE(obj->themeIcon(), themeInfo->icon());
-
- delete themeInfo;
-
- pair = themes.at(1);
- name = pair.first;
- themePath = pair.second;
- themeInfo = CpThemeUtil::buildThemeInfo(themePath, name);
-
- obj->setThemeInfo(*themeInfo);
-
- QCOMPARE(obj->themeName(), name);
- QCOMPARE(obj->themeIcon(), themeInfo->icon());
-
-
- delete obj;
-
-}
-
-QTEST_MAIN(TestCpThemePreview)
-#include "unittest_cpthemepreview.moc"
-
--- a/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemepreview/unittest_cpthemepreview.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0".
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors: XENT-MV
-#
-# Description: unit tests for the cpthemepreview class in the themeplugin.
-#
-#
-
-include(../common.pri)
-
-TEMPLATE = app
-TARGET = unittest_cpthemepreview
-DEPENDPATH += .
-win32::DEPENDPATH += c:/ControlPanel/debug/bin
-
-INCLUDEPATH += .
-INCLUDEPATH += src/
-INCLUDEPATH += ../../../src
-
-LIBS += -lcpframework
-win32::LIBS += -LC:/ControlPanel/debug/bin
-
-symbian::TARGET.UID3=0x2002DDEF
-
-
-# Input
-
-HEADERS += ../../../src/cpthemepreview.h
-HEADERS += ../../../src/cpthemeinfo.h
-HEADERS += ../../../src/cpthemeutil.h
-HEADERS += ../../../src/cpthemechanger.h
-SOURCES += unittest_cpthemepreview.cpp
-SOURCES += ../../../src/cpthemepreview.cpp
-SOURCES += ../../../src/cpthemeinfo.cpp
-SOURCES += ../../../src/cpthemeutil.cpp
-SOURCES += ../../../src/cpthemechanger.cpp
--- a/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemeutil/unittest_cpthemeutil.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors: XENT-MV
-*
-* Description: unit tests for the CpThemePreview class from themeplugin
-*
-*/
-
-#include <QtTest/QtTest>
-
-#include <restricted/hbthemeservices_r.h>
-#include <QList>
-#include <QStringList>
-#include <QPair>
-#include "cpthemeutil.h"
-#include "cpthemeinfo.h"
-
-class TestCpThemeUtil : public QObject
-{
- Q_OBJECT
-
-private slots:
-
- void testMultiple();
- void testAvailableThemes();
- void testThemeDirectories();
-
-};
-
-void TestCpThemeUtil::testMultiple()
-{
- QList<QPair<QString, QString> > themes = HbThemeServices::availableThemes();
-
- QPair<QString, QString> pair;
-
- pair = themes.at(0);
-
- QString name = pair.first;
- QString themePath = pair.second;
-
- QList<CpThemeInfo> themeList = CpThemeUtil::buildThemeList();
-
- QCOMPARE(name, themeList.at(0).name());
- QCOMPARE(themePath, themeList.at(0).itemData());
-
- CpThemeInfo *themeInfo = CpThemeUtil::buildThemeInfo(themePath, name);
- QCOMPARE(name, themeInfo->name());
- QCOMPARE(themePath, themeInfo->itemData());
-
-
- //null test, making sure no crash happens.
- QString defaultThemePath = CpThemeUtil::defaultTheme();
-
- delete themeInfo;
- themeInfo = 0;
-
-}
-void TestCpThemeUtil::testAvailableThemes()
-{
- QList<QPair<QString, QString> > themes = HbThemeServices::availableThemes();
- QList<QPair<QString, QString> > utilThemes = CpThemeUtil::availableThemes();
-
- for(int i = 0; i < themes.size(); i++) {
- QPair<QString, QString>pair1;
- QPair<QString, QString>pair2;
-
- pair1 = themes.at(i);
- pair2 = utilThemes.at(i);
- QCOMPARE(pair1.first, pair2.first);
- QCOMPARE(pair1.second, pair2.second);
- }
-}
-
-void TestCpThemeUtil::testThemeDirectories()
-{
- QList<CpThemeInfo> themeList = CpThemeUtil::buildThemeList();
- QStringList themeDirs = CpThemeUtil::themeDirectories(themeList);
- QVERIFY(themeList.size() > 0 && themeDirs.size() > 0);
-}
-
-QTEST_MAIN(TestCpThemeUtil)
-#include "unittest_cpthemeutil.moc"
-
--- a/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemeutil/unittest_cpthemeutil.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0".
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors: XENT-MV
-#
-# Description: unit tests for the cpthemeutil class in the themeplugin.
-#
-#
-
-include(../common.pri)
-
-TEMPLATE = app
-TARGET = unittest_cpthemeutil
-DEPENDPATH += .
-win32::DEPENDPATH += c:/ControlPanel/debug/bin
-
-INCLUDEPATH += .
-INCLUDEPATH += src/
-INCLUDEPATH += ../../../src
-
-LIBS += -lcpframework
-win32::LIBS += -LC:/ControlPanel/debug/bin
-
-symbian::TARGET.UID3=0x20031DAE
-
-
-# Input
-
-HEADERS += ../../../src/cpthemeutil.h
-HEADERS += ../../../src/cpthemeinfo.h
-SOURCES += unittest_cpthemeutil.cpp
-SOURCES += ../../../src/cpthemeutil.cpp
-SOURCES += ../../../src/cpthemeinfo.cpp
--- a/controlpanelui/controlpanelui.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = subdirs
-SUBDIRS = src
-CONFIG += ordered
-
-include(rom/cpui_rom.pri)
\ No newline at end of file
--- a/controlpanelui/cpcfg_win.pl Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: Copy all cpcfg files to destination directory when building control panel in window envionment
-# usage: go to control panel source directory,
-# run cpcfg_win.pl if you want to build control panel in debug mode or cpcfg_win -R in release mode.
-
-use File::Path qw (mkpath);
-
-#default debug dir
-$config_dir = "C:\\ControlPanel\\debug\\bin\\config";
-if ($ARGV[0] =~ m/^-R$/i) { #release dir
- $config_dir = "C:\\ControlPanel\\release\\bin\\config";
-}
-
-sub go_through_dir {
- my @arr, $j = 0;
- for ($i=0;$i<=$#_;$i++) {
- if (-d $_[$i]) {
- if (opendir($handle, $_[$i])) {
- while ($entry = readdir($handle)) {
- if (!($entry =~ m/^\.$/) and !($entry =~ m/^(\.\.)$/)) {
- if (-d $_[$i]."\\$entry") { # is a directory, push to @arr
- $arr[$j++] = $_[$i]."\\$entry";
- }
- else { # is a file
- if ($entry =~ m/\.cpcfg$/i) { # is a .cpcfg file, copy it
- $cmd = "copy ";
- $cmd .= $_[$i]."\\$entry ";
- $cmd .= $config_dir."\\$entry";
- print ("$cmd\n");
- system($cmd);
- }
- }
- }
- }
- closedir($handle);
- }
- }
- }
- if ($j>0) {
- go_through_dir (@arr);
- }
-}
-
-# create target directory if it doesn't exist
-print ("Creating direcotry... $config_dir \n");
-mkpath $config_dir;
-
-# go through source directories recrusively
-go_through_dir ".\\src\\cpapplication",".\\src\\cpplugins";
\ No newline at end of file
--- a/controlpanelui/examples/example_common.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: controlpanel project - common qmake settings
-#
-
-CONFIG += debug_and_release
-
-# On win32 and mac, debug and release libraries are named differently.
-# We must follow the debug and release settings Qt was compiled with:
-# build debug iff Qt built debug, build release iff Qt built release.
-
-win32|mac {
- !contains(QT_CONFIG,debug)|!contains(QT_CONFIG,release) {
- CONFIG -= debug_and_release debug release
- contains(QT_CONFIG,debug): CONFIG+=debug
- contains(QT_CONFIG,release):CONFIG+=release
- }
-}
-
-CONFIG(debug, debug|release) {
- SUBDIRPART = debug
-} else {
- SUBDIRPART = release
-}
-
-win32 {
- DESTDIR = C:/ControlPanel/$$SUBDIRPART/bin
- OBJECTS_DIR = $$PWD/../$$SUBDIRPART/tmp/$$TARGET
-}
-
-# Add the output dirs to the link path too
-LIBS += -L$$DESTDIR
-
-MOC_DIR = moc
-OBJECT_DIR = obj
-RCC_DIR = rcc
-
-#For some reason the default include path doesn't include MOC_DIR on symbian
-symbian {
- INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
- INCLUDEPATH += $$MOC_DIR
- TARGET.CAPABILITY = ALL -TCB
- TARGET.EPOCALLOWDLLDATA = 1
-}
-
-win32 {
- # add platfrom API for windows
- INCLUDEPATH += $$PWD/../controlpanel_plat/inc
-}
-
-CONFIG += hb plugin
-LIBS += -lcpframework
-
-symbian: plugin { # copy qtstub and manifest
-
- PLUGIN_STUB_PATH = /resource/qt/plugins/controlpanel
-
- deploy.path = C:
- pluginstub.sources = $${TARGET}.dll
- pluginstub.path = $$PLUGIN_STUB_PATH
- DEPLOYMENT += pluginstub
-
- qtplugins.path = $$PLUGIN_STUB_PATH
- qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin
-
- for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
-}
-
-
-
--- a/controlpanelui/examples/examples.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = subdirs
-SUBDIRS = groupplugin/groupplugin.pro \
- viewplugin/viewplugin.pro \
- pluginlauncherclient/pluginlauncherclient.pro
-CONFIG += ordered
-
-include (rom/rom.pri)
\ No newline at end of file
--- a/controlpanelui/examples/groupplugin/groupplugin.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: controlpanel project - common qmake settings
-#
-
-HEADERS += src/cpsamplegroup.h \
- src/cpgroupplugin.h
-SOURCES += src/cpsamplegroup.cpp \
- src/cpgroupplugin.cpp
\ No newline at end of file
--- a/controlpanelui/examples/groupplugin/groupplugin.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-TARGET = cpgroupplugin
-
-include (../example_common.pri)
-include (groupplugin.pri)
-
-# Input
-symbian: {
- TARGET.UID3 = 0x20025FE3
-}
-
-
--- a/controlpanelui/examples/groupplugin/src/cpgroupplugin.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include "cpgroupplugin.h"
-#include "cpsamplegroup.h"
-
-CpGroupPlugin::CpGroupPlugin()
-{
-}
-
-CpGroupPlugin::~CpGroupPlugin()
-{
-}
-
-QList<CpSettingFormItemData*> CpGroupPlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
-{
- return QList<CpSettingFormItemData*>() << new CpSampleGroup(itemDataHelper);
-}
-
-Q_EXPORT_PLUGIN2(CpGroupPlugin, CpGroupPlugin);
--- a/controlpanelui/examples/groupplugin/src/cpgroupplugin.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPGROUPPLUGIN_H
-#define CPGROUPPLUGIN_H
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-
-class CpGroupPlugin : public QObject, public CpPluginInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpGroupPlugin();
- virtual ~CpGroupPlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-#endif // CPGROUPPLUGIN_H
--- a/controlpanelui/examples/groupplugin/src/cpsamplegroup.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include "cpsamplegroup.h"
-#include <cpsettingformitemdata.h>
-#include <cpitemdatahelper.h>
-#include <hbmessagebox.h>
-
-CpSampleGroup::CpSampleGroup(CpItemDataHelper &itemDataHelper) :
- CpSettingFormItemData(HbDataFormModelItem::GroupItem,QString("Sample Group")),
- mSliderItem(0),
- mCheckBoxItem(0)
-{
- mSliderItem = new CpSettingFormItemData(HbDataFormModelItem::SliderItem,
- QString("Sample Slider"));
- itemDataHelper.addConnection(mSliderItem,SIGNAL(valueChanged(int)),this,SLOT(sliderValueChanged(int)));
- this->appendChild(mSliderItem);
-
- mCheckBoxItem = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem,
- QString("Sample Check Box"));
- itemDataHelper.addConnection(mCheckBoxItem,SIGNAL(stateChanged (int)),this,SLOT(checkBoxStateChanged(int)));
- this->appendChild(mCheckBoxItem);
-
-}
-CpSampleGroup::~CpSampleGroup()
-{
- //TODO: release resource when necessary
-}
-void CpSampleGroup::sliderValueChanged(int value)
-{
- //TODO: store your changes
- // HbMessageBox::message(QString("slider value changed to:%1").arg(value));
-}
-void CpSampleGroup::checkBoxStateChanged(int state)
-{
- //TODO: store your changes
- QString str = (state ? "checked" : "un-checked");
- // HbMessageBox::message(str);
-}
--- a/controlpanelui/examples/groupplugin/src/cpsamplegroup.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPSAMPLEGROUP_H
-#define CPSAMPLEGROUP_H
-
-#include <cpsettingformitemdata.h>
-
-class CpSettingFormItemData;
-class CpItemDataHelper;
-
-class CpSampleGroup : public CpSettingFormItemData
-{
- Q_OBJECT
-public:
- explicit CpSampleGroup(CpItemDataHelper &itemDataHelper);
- ~CpSampleGroup();
-
-private slots:
- //need handling your member's value change
- void sliderValueChanged(int value);
- void checkBoxStateChanged(int state);
-
-private:
- CpSettingFormItemData *mSliderItem;
- CpSettingFormItemData *mCheckBoxItem;
-};
-
-#endif // CPSAMPLEGROUP_H
--- a/controlpanelui/examples/pluginlauncherclient/pluginlauncherclient.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: cpframework source files
-#
-
-HEADERS += src/*.h
-SOURCES += src/*.cpp
\ No newline at end of file
--- a/controlpanelui/examples/pluginlauncherclient/pluginlauncherclient.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: cpframework source files
-#
-
-TEMPLATE = app
-TARGET = CpPluginLauncherClient
-DEPENDPATH += .
-INCLUDEPATH += .
-
-include (pluginlauncherclient.pri)
-
-CONFIG += hb
-
-MOC_DIR = moc
-OBJECT_DIR = obj
-RCC_DIR = rcc
-
-symbian {
- INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
- INCLUDEPATH += $$MW_LAYER_PLATFORM_EXPORT_PATH(cplogger)
- TARGET.CAPABILITY = ALL -TCB
- TARGET.EPOCALLOWDLLDATA = 1
-}
-
-LIBS += -lxqservice -lcpframework
-symbian::TARGET::UID3 = 0X2002873A
--- a/controlpanelui/examples/pluginlauncherclient/src/main.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include <hbapplication.h>
-#include <QDir>
-#include <hbmainwindow.h>
-#include <hbstyleloader.h>
-#include "mainview.h"
-
-int main(int argc, char **argv)
-{
- HbApplication app(argc, argv);
-
- HbStyleLoader::registerFilePath(":/widgetml/cpdataformlistentryviewitem.css");
- HbStyleLoader::registerFilePath(":/widgetml/cpdataformlistentryviewitem_color.css");
- HbStyleLoader::registerFilePath(":/widgetml/cpdataformlistentryviewitem.widgetml");
-
- HbMainWindow mainWindow;
- MainView *mainView = new MainView();
- mainWindow.addView(mainView);
- mainWindow.show();
-
- return app.exec();
-}
-
-//End of File
-
--- a/controlpanelui/examples/pluginlauncherclient/src/mainview.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#include "mainview.h"
-#include <hbmenu.h>
-#include <hbaction.h>
-#include <qcoreapplication.h>
-#include <cppluginlauncher.h>
-#include <QStringList>
-#include <cpbasesettingview.h>
-#include <hbmessagebox.h>
-#include <xqaiwrequest.h>
-#include <XQServiceRequest.h>
-#include <QTimer>
-
-MainView::MainView(QGraphicsItem *parent/* = 0*/)
-: HbView(parent),mRequest(0)
-{
- init();
-}
-
-MainView::~MainView()
-{
- delete mRequest;
-}
-
-void MainView::init()
-{
- setTitle(tr("CpPlugin Launcher"));
-
- HbMenu *menu = new HbMenu();
- setMenu(menu);
-
- HbAction *action = menu->addAction(tr("Launch View(in process)"));
- connect(action, SIGNAL(triggered()), this, SLOT(launchInProcessProfileView()));
-
- action = menu->addAction(tr("Launch View(QtHighway)"));
- connect(action, SIGNAL(triggered()), this, SLOT(launchQtHighwayProfileView()));
-}
-
-void MainView::launchInProcessProfileView()
-{
- CpBaseSettingView *settingView = CpPluginLauncher::launchSettingView("cppersonalizationplugin.dll","profile_view");
- if (settingView) {
- connect(settingView,SIGNAL(returnValueDelivered(QVariant)),this,SLOT(handleReturnValue(QVariant)));
- }
-}
-
-void MainView::launchQtHighwayProfileView()
-{
- if (mRequest) {
- delete mRequest;
- mRequest = 0;
- }
-
- mRequest = mAppMgr.create("com.nokia.symbian.ICpPluginLauncher", "launchSettingView(QString,QVariant)", true);
-
- if (!mRequest)
- {
- return;
- }
- else
- {
- connect(mRequest, SIGNAL(requestOk(QVariant)), SLOT(handleReturnValue(QVariant)));
- connect(mRequest, SIGNAL(requestError(int,QString)), SLOT(handleError(int,QString)));
- }
-
-
- // Set arguments for request
- QList<QVariant> args;
- args << QVariant( "cppersonalizationplugin.dll" );
- args << QVariant ( "profile_view" );
- mRequest->setArguments(args);
-
- mRequest->setSynchronous(false);
-
- QTimer::singleShot(20* 1000, this, SLOT(closeSettingView()));
-
- // Make the request
- if (!mRequest->send())
- {
- //report error
- }
-
-}
-
-void MainView::handleReturnValue(const QVariant &returnValue)
-{
- HbMessageBox::information( QString("Return value:") + returnValue.toString());
-}
-
-void MainView::handleError(int errorCode,const QString &errorMessage)
-{
- HbMessageBox::information( QString("handle error:") + errorMessage);
-}
-
-void MainView::closeSettingView()
-{
- if (mRequest) {
- delete mRequest;
- mRequest = 0;
- }
-}
-
-//End of File
--- a/controlpanelui/examples/pluginlauncherclient/src/mainview.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef MAINVIEW_H
-#define MAINVIEW_H
-
-#include <hbview.h>
-#include <xqappmgr.h>
-
-class MainView : public HbView
-{
- Q_OBJECT
-public:
- explicit MainView(QGraphicsItem *parent = 0);
- virtual ~MainView();
-private:
- void init();
-private slots:
- void launchInProcessProfileView();
-
- void launchQtHighwayProfileView();
-
- void handleReturnValue(const QVariant &returnValue);
- void handleError(int errorCode,const QString &errorMessage);
-
- void closeSettingView();
-
-private:
- Q_DISABLE_COPY(MainView)
-private:
- XQApplicationManager mAppMgr;
- XQAiwRequest *mRequest;
-};
-
-#endif
--- a/controlpanelui/examples/rom/controlpanel_examples.iby Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-file=ABI_DIR\BUILD_DIR\CpPluginLauncherClient.exe SHARED_LIB_DIR\CpPluginLauncherClient.exe
-CP_UPGRADABLE_APP_REG_RSC(CpPluginLauncherClient)
-S60_APP_RESOURCE(CpPluginLauncherClient)
-
-file=ABI_DIR\BUILD_DIR\cpgroupplugin.dll SHARED_LIB_DIR\cpgroupplugin.dll
-file=ABI_DIR\BUILD_DIR\cpviewplugin.dll SHARED_LIB_DIR\cpviewplugin.dll
-
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpgroupplugin.qtplugin resource\qt\plugins\controlpanel\cpgroupplugin.qtplugin
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpviewplugin.qtplugin resource\qt\plugins\controlpanel\cpviewplugin.qtplugin
--- a/controlpanelui/examples/rom/rom.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-symbian: {
- BLD_INF_RULES.prj_exports += \
- "$${LITERAL_HASH}include<platform_paths.hrh>" \
- "rom/controlpanel_examples.iby CORE_MW_LAYER_IBY_EXPORT_PATH(controlpanel_examples.iby)"
-}
\ No newline at end of file
--- a/controlpanelui/examples/themeplugin/src/cpthemeplugin.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include "cpthemeplugin.h"
-#include "cpthemepluginentryitemdata.h"
-
-CpThemePlugin::CpThemePlugin()
-{
-}
-
-CpThemePlugin::~CpThemePlugin()
-{
-}
-
-QList<CpSettingFormItemData*> CpThemePlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
-{
- CpSettingFormEntryItemData *entryItem = new CpThemePluginEntryItemData(
- itemDataHelper,tr("Theme"),tr("Name of the Theme"),HbIcon(":/image/qgn_menu_note.svg"));
- return QList<CpSettingFormItemData*>() << entryItem;
-}
-
-Q_EXPORT_PLUGIN2(cpthemeplugin, CpThemePlugin);
--- a/controlpanelui/examples/themeplugin/src/cpthemeplugin.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPTHEMEPLUGIN_H
-#define CPTHEMEPLUGIN_H
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-
-class CpThemePlugin : public QObject, public CpPluginInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpThemePlugin();
- virtual ~CpThemePlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-#endif //CPTHEMEPLUGIN_H
--- a/controlpanelui/examples/themeplugin/src/cpthemepluginentryitemdata.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cpthemepluginentryitemdata.h"
-#include <cpitemdatahelper.h>
-#include <hbfiledialog.h>
-#include <hbaction.h>
-#include <QFileInfo>
-
-CpThemePluginEntryItemData::CpThemePluginEntryItemData(CpItemDataHelper &itemDataHelper,
- const QString &text /*= QString()*/,
- const QString &description /*= QString()*/,
- const HbIcon &icon /*= HbIcon()*/,
- const HbDataFormModelItem *parent /*= 0*/)
- : CpSettingFormEntryItemData(itemDataHelper,
- text,
- description,
- icon,
- parent)
-{
-}
-
-CpThemePluginEntryItemData::~CpThemePluginEntryItemData()
-{
-}
-
-void CpThemePluginEntryItemData::onLaunchView()
-{
- HbFileDialog *dlg = new HbFileDialog();
- dlg->setDirectory(QString("C:/ControlPanel/resource"));
- dlg->setTitle("Select file:");
- dlg->setPrimaryActionText(QString("Done"));
- dlg->setSecondaryActionText(QString("Close"));
- QString filePath = dlg->getFileName();
- if (!filePath.isEmpty()) {
- setDescription(QFileInfo(filePath).baseName());
- setEntryItemIcon(HbIcon(filePath));
- }
- delete dlg;
-}
-
-CpBaseSettingView *CpThemePluginEntryItemData::createSettingView() const
-{
- return 0;
-}
--- a/controlpanelui/examples/themeplugin/src/cpthemepluginentryitemdata.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPTHEMEPLUGINENTRYITEMDATA_H
-#define CPTHEMEPLUGINENTRYITEMDATA_H
-
-#include <cpsettingformentryitemdata.h>
-
-class CpThemePluginEntryItemData : public CpSettingFormEntryItemData
-{
- Q_OBJECT
-public:
- explicit CpThemePluginEntryItemData(CpItemDataHelper &itemDataHelper,
- const QString &text = QString(),
- const QString &description = QString(),
- const HbIcon &icon = HbIcon(),
- const HbDataFormModelItem *parent = 0);
- virtual ~CpThemePluginEntryItemData();
-private slots:
- void onLaunchView();
-private:
- virtual CpBaseSettingView *createSettingView() const;
-};
-
-#endif //CPTHEMEPLUGINENTRYITEMDATA_H
--- a/controlpanelui/examples/themeplugin/themeplugin.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: cpthemeplugin source files
-#
-
-# Input
-HEADERS += src/*.h
-SOURCES += src/*.cpp
\ No newline at end of file
--- a/controlpanelui/examples/themeplugin/themeplugin.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-TARGET = cpthemeplugin
-
-CONFIG += hb plugin
-
-LIBS += -lcpframework
-
-include ( ../example_common.pri )
-include ( themeplugin.pri )
-
-symbian {
- TARGET.UID3 = 0X20025FDB
-}
--- a/controlpanelui/examples/viewplugin/src/cpsampleview.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include "cpsampleview.h"
-#include <hbdataform.h>
-#include <qstringlist>
-#include <QDebug>
-#include <hbdataformmodel.h>
-#include <cpsettingformitemdata.h>
-#include <hbmessagebox.h>
-
-CpSampleView::CpSampleView(QGraphicsItem *parent) :
- CpBaseSettingView(0,parent),
- mGroupItem(0),
- mSliderItem(0),
- mCheckBoxItem(0)
-
-{
- HbDataForm *form = qobject_cast<HbDataForm*>(widget());
- if (form) {
- HbDataFormModel *model = new HbDataFormModel;
-
- form->setHeading(tr("View from sample plugin"));
- mGroupItem = new HbDataFormModelItem(HbDataFormModelItem::GroupItem, QString("Group"));
-
- model->appendDataFormItem(mGroupItem);
-
- mSliderItem = new CpSettingFormItemData(HbDataFormModelItem::SliderItem,
- QString("Sample Slider"));
- form->addConnection(mSliderItem,SIGNAL(valueChanged(int)),this,SLOT(sliderValueChanged(int)));
- mGroupItem->appendChild(mSliderItem);
-
- mCheckBoxItem = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem,
- QString("Sample Check Box"));
- form->addConnection(mCheckBoxItem,SIGNAL(stateChanged (int)),this,SLOT(checkBoxStateChanged(int)));
- mGroupItem->appendChild(mCheckBoxItem);
-
- form->setModel(model);
- }
-
-
-}
-CpSampleView::~CpSampleView()
-{
-}
-
-void CpSampleView::sliderValueChanged(int value)
-{
- //TODO: store your changes
- // HbMessageBox::message(QString("slider value changed to:%1").arg(value));
-}
-void CpSampleView::checkBoxStateChanged(int state)
-{
- //TODO: store your changes
- QString str = (state ? "checked" : "un-checked");
- // HbMessageBox::message(str);
-}
-
--- a/controlpanelui/examples/viewplugin/src/cpsampleview.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPSAMPLEVIEW_H
-#define CPSAMPLEVIEW_H
-
-#include <cpbasesettingview.h>
-
-class HbDataFormModelItem;
-class CpSettingFormItemData;
-
-class CpSampleView : public CpBaseSettingView
-{
- Q_OBJECT
-public:
- explicit CpSampleView(QGraphicsItem *parent = 0);
- virtual ~CpSampleView();
-private slots:
- //need handling your member's value change
- void sliderValueChanged(int value);
- void checkBoxStateChanged(int state);
-private:
- HbDataFormModelItem *mGroupItem;
- CpSettingFormItemData *mSliderItem;
- CpSettingFormItemData *mCheckBoxItem;
-};
-#endif// CPSAMPLEVIEW_H
--- a/controlpanelui/examples/viewplugin/src/cpviewplugin.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include "cpviewplugin.h"
-#include "cpsampleview.h"
-#include <cpsettingformentryitemdataimpl.h>
-
-CpViewPlugin::CpViewPlugin()
-{
-}
-
-CpViewPlugin::~CpViewPlugin()
-{
-}
-QList<CpSettingFormItemData*> CpViewPlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
-{
- return QList<CpSettingFormItemData*>()
- << new CpSettingFormEntryItemDataImpl<CpSampleView>(
- itemDataHelper,
- tr("Entry item from sample view plugin"),
- tr("view plugin descriptions"));
-}
-
-Q_EXPORT_PLUGIN2(cpviewplugin, CpViewPlugin);
--- a/controlpanelui/examples/viewplugin/src/cpviewplugin.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPVIEWPLUGIN_H
-#define CPVIEWPLUGIN_H
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-
-class CpViewPlugin : public QObject, public CpPluginInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpViewPlugin();
- virtual ~CpViewPlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-#endif //CPVIEWPLUGIN_H
--- a/controlpanelui/examples/viewplugin/viewplugin.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-# Input
-HEADERS += src/cpviewplugin.h \
- src/cpsampleview.h
-
-SOURCES += src/cpviewplugin.cpp \
- src/cpsampleview.cpp
-
--- a/controlpanelui/examples/viewplugin/viewplugin.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-TARGET = cpviewplugin
-
-include (../example_common.pri)
-include (viewplugin.pri)
-
-symbian: {
- TARGET.UID3 = 0x20025FE2
-}
-
-
--- a/controlpanelui/rom/controlpanelui.iby Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef __CONTROLPANELUI_IBY__
-#define __CONTROLPANELUI_IBY__
-
-#include <bldvariant.hrh>
-#include <data_caging_paths_for_iby.hrh>
-
-#define CP_UPGRADABLE_APP_REG_RSC(NAME) data=DATAZ_\PRIVATE\10003A3F\IMPORT\APPS\ ## NAME ## _reg.rsc Private\10003a3f\import\apps\ ## NAME ## _reg.rsc
-
-file=ABI_DIR\BUILD_DIR\controlpanel.exe SHARED_LIB_DIR\controlpanel.exe
-data = ZRESOURCE\apps\controlpanel.mif APP_RESOURCE_DIR\controlpanel.mif
-CP_UPGRADABLE_APP_REG_RSC(controlpanel)
-
-
-file=ABI_DIR\BUILD_DIR\cpserviceprovider.exe SHARED_LIB_DIR\cpserviceprovider.exe
-CP_UPGRADABLE_APP_REG_RSC(cpserviceprovider)
-
-file=ABI_DIR\BUILD_DIR\cpcategorymodel.dll SHARED_LIB_DIR\cpcategorymodel.dll
-file=ABI_DIR\BUILD_DIR\cpprofilewrapper.dll SHARED_LIB_DIR\cpprofilewrapper.dll
-file=ABI_DIR\BUILD_DIR\cpringtoneview.dll SHARED_LIB_DIR\cpringtoneview.dll
-
-
-file=ABI_DIR\BUILD_DIR\cppersonalizationplugin.dll SHARED_LIB_DIR\cppersonalizationplugin.dll
-file=ABI_DIR\BUILD_DIR\cpcommunicationplugin.dll SHARED_LIB_DIR\cpcommunicationplugin.dll
-file=ABI_DIR\BUILD_DIR\cpdeviceplugin.dll SHARED_LIB_DIR\cpdeviceplugin.dll
-file=ABI_DIR\BUILD_DIR\cpprivacyplugin.dll SHARED_LIB_DIR\cpprivacyplugin.dll
-file=ABI_DIR\BUILD_DIR\cplookfeelplugin.dll SHARED_LIB_DIR\cplookfeelplugin.dll
-file=ABI_DIR\BUILD_DIR\cpkeytouchfdbkplugin.dll SHARED_LIB_DIR\cpkeytouchfdbkplugin.dll
-file=ABI_DIR\BUILD_DIR\cpprofileactivator.dll SHARED_LIB_DIR\cpprofileactivator.dll
-file=ABI_DIR\BUILD_DIR\cpvolumeplugin.dll SHARED_LIB_DIR\cpvolumeplugin.dll
-file=ABI_DIR\BUILD_DIR\cpringtoneplugin.dll SHARED_LIB_DIR\cpringtoneplugin.dll
-
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\config\mainview.cpcfg resource\qt\plugins\controlpanel\config\mainview.cpcfg
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\config\cppersonalizationplugin.cpcfg resource\qt\plugins\controlpanel\config\cppersonalizationplugin.cpcfg
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\config\cpcommunicationplugin.cpcfg resource\qt\plugins\controlpanel\config\cpcommunicationplugin.cpcfg
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\config\cpdeviceplugin.cpcfg resource\qt\plugins\controlpanel\config\cpdeviceplugin.cpcfg
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\config\cpprivacyplugin.cpcfg resource\qt\plugins\controlpanel\config\cpprivacyplugin.cpcfg
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\config\cplookfeelplugin.cpcfg resource\qt\plugins\controlpanel\config\cplookfeelplugin.cpcfg
-
-
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cppersonalizationplugin.qtplugin resource\qt\plugins\controlpanel\cppersonalizationplugin.qtplugin
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpcommunicationplugin.qtplugin resource\qt\plugins\controlpanel\cpcommunicationplugin.qtplugin
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpdeviceplugin.qtplugin resource\qt\plugins\controlpanel\cpdeviceplugin.qtplugin
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpprivacyplugin.qtplugin resource\qt\plugins\controlpanel\cpprivacyplugin.qtplugin
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cplookfeelplugin.qtplugin resource\qt\plugins\controlpanel\cplookfeelplugin.qtplugin
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpkeytouchfdbkplugin.qtplugin resource\qt\plugins\controlpanel\cpkeytouchfdbkplugin.qtplugin
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpprofileactivator.qtplugin resource\qt\plugins\controlpanel\cpprofileactivator.qtplugin
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpvolumeplugin.qtplugin resource\qt\plugins\controlpanel\cpvolumeplugin.qtplugin
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\cpringtoneplugin.qtplugin resource\qt\plugins\controlpanel\cpringtoneplugin.qtplugin
-
-
-#endif
--- a/controlpanelui/rom/controlpanelui_resources.iby Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef CONTROLPANELUI_RESOURCES
-#define CONTROLPANELUI_RESOURCES
-
-
-#include <data_caging_paths_for_iby.hrh>
-
-data=DATAZ_\QT_TRANSLATIONS_DIR\control_panel.qm QT_TRANSLATIONS_DIR\control_panel.qm
-data=DATAZ_\APP_RESOURCE_DIR\ControlPanel.RSC APP_RESOURCE_DIR\ControlPanel.rsc
-
-data=DATAZ_\APP_RESOURCE_DIR\cpserviceprovider.RSC APP_RESOURCE_DIR\cpserviceprovider.rsc
-
-#endif // CONTROLPANELUI_RESOURCES
\ No newline at end of file
--- a/controlpanelui/rom/cpui_rom.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-symbian {
- BLD_INF_RULES.prj_exports += \
- "$${LITERAL_HASH}include<platform_paths.hrh>" \
- "rom/controlpanelui.iby CORE_APP_LAYER_IBY_EXPORT_PATH(controlpanelui.iby)"
-
-
- BLD_INF_RULES.prj_exports += \
- "$${LITERAL_HASH}include<platform_paths.hrh>" \
- "rom/controlpanelui_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(controlpanelui_resources.iby)"
-}
\ No newline at end of file
--- a/controlpanelui/src/common.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: controlpanel project - common qmake settings
-#
-
-CONFIG += debug_and_release
-
-# On win32 and mac, debug and release libraries are named differently.
-# We must follow the debug and release settings Qt was compiled with:
-# build debug iff Qt built debug, build release iff Qt built release.
-
-win32|mac {
- !contains(QT_CONFIG,debug)|!contains(QT_CONFIG,release) {
- CONFIG -= debug_and_release debug release
- contains(QT_CONFIG,debug): CONFIG+=debug
- contains(QT_CONFIG,release):CONFIG+=release
- }
-}
-
-CONFIG(debug, debug|release) {
- SUBDIRPART = debug
-} else {
- SUBDIRPART = release
-}
-
-win32 {
- DESTDIR = C:/ControlPanel/$$SUBDIRPART/bin
- OBJECTS_DIR = $$PWD/../$$SUBDIRPART/tmp/$$TARGET
-}
-
-# Add the output dirs to the link path too
-LIBS += -L$$DESTDIR
-
-MOC_DIR = moc
-OBJECT_DIR = obj
-RCC_DIR = rcc
-
-#For some reason the default include path doesn't include MOC_DIR on symbian
-symbian {
- INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
- INCLUDEPATH += $$MW_LAYER_PLATFORM_EXPORT_PATH(cplogger)
- INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
- INCLUDEPATH += $$MOC_DIR
- TARGET.CAPABILITY = ALL -TCB
- TARGET.EPOCALLOWDLLDATA = 1
-}
-
-INCLUDEPATH += $$PWD/inc
-win32 {
- # add platfrom API for windows
- INCLUDEPATH += $$PWD/../../controlpanel/controlpanel_plat/inc
-}
-
-
-
--- a/controlpanelui/src/cpapplication/cpapplication.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: cpapplication source files
-#
-
-HEADERS += src/cpmainview.h \
- src/cpmainwindow.h \
- src/cpmainmodel.h
-
-SOURCES += src/main.cpp \
- src/cpmainview.cpp \
- src/cpmainwindow.cpp \
- src/cpmainmodel.cpp
\ No newline at end of file
--- a/controlpanelui/src/cpapplication/cpapplication.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = app
-TARGET = ControlPanel
-
-ICON = resources/qtg_large_settings.svg
-
-include ( ../common.pri )
-include ( cpapplication.pri )
-
-CONFIG += hb
-
-RESOURCES += cpapplication.qrc
-
-LIBS += -lcplogger -lcpframework -lcpcategorymodel
-
-TRANSLATIONS = control_panel.ts
-
-symbian: {
- SKINICON = qtg_large_settings
- TARGET.UID3 = 0x20025FD9
- TARGET.EPOCHEAPSIZE = 0x020000 0x1000000
-
- deploy.path = C:
- headers.sources += data/mainview.cpcfg
- headers.path = /resource/qt/plugins/controlpanel/config
- DEPLOYMENT += exportheaders
-
- for(header, headers.sources):BLD_INF_RULES.prj_exports += "./$$header $$deploy.path$$headers.path/$$basename(header)"
-}
\ No newline at end of file
--- a/controlpanelui/src/cpapplication/cpapplication.qrc Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<RCC>
- <qresource prefix="/logconf" >
- <file alias="controlpanellog.conf">data/controlpanellog.conf</file>
- </qresource>
-</RCC>
\ No newline at end of file
--- a/controlpanelui/src/cpapplication/data/controlpanellog.conf Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-[CpFramework]
-logdatetime = 1
-logloggername = 1
-datetimeformat = hh:mm:ss:zzz
-output = debugoutput fileoutput
-fileoutput/logfile = C:/data/logs/cpframework.log
-fileoutput/truncate = 1
-
-[CpPerformance]
-logdatetime = 1
-datetimeformat = hh:mm:ss:zzz
-output = fileoutput
-fileoutput/logfile = C:/data/logs/cpperformance.log
-fileoutput/truncate = 1
\ No newline at end of file
--- a/controlpanelui/src/cpapplication/data/mainview.cpcfg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-
-<childplugins>
- <plugin displayname = "Volume " id = "0X20028737" dll = "cpvolumeplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Personalization" id = "0X20025FE5" dll = "cppersonalizationplugin.dll">
- <desc></desc>
- </plugin>
-
- <plugin displayname = "Communication" id = "0X20025FDF" dll = "cpcommunicationplugin.dll">
- <desc></desc>
- </plugin>
-
-
- <plugin displayname = "Privacy" id = "0x20025FE1" dll = "cpprivacyplugin.dll">
- <desc></desc>
- </plugin>
-
- <plugin displayname = "Device" id = "0X20025FE7" dll = "cpdeviceplugin.dll">
- <desc></desc>
- </plugin>
-
-
-
-
-</childplugins>
\ No newline at end of file
--- a/controlpanelui/src/cpapplication/resources/qtg_large_settings.svg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="60" viewBox="0 0 60 60" width="60">
-<g>
-<rect fill="none" height="60" width="60"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="30" x2="30" y1="4.5" y2="55.3778">
-<stop offset="0" style="stop-color:#E8E8E8"/>
-<stop offset="0.3576" style="stop-color:#B2BDC2"/>
-<stop offset="0.7455" style="stop-color:#595C5E"/>
-<stop offset="1" style="stop-color:#A1ABB0"/>
-</linearGradient>
-<path d="M6.412,55.5c-1.055,0-1.912-0.857-1.912-1.911V6.411C4.5,5.357,5.357,4.5,6.412,4.5h47.176 c1.055,0,1.913,0.857,1.913,1.911v47.178c0,1.054-0.858,1.911-1.913,1.911H6.412z" fill="url(#SVGID_1_)"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="30.001" x2="30.001" y1="5.7139" y2="54.1698">
-<stop offset="0" style="stop-color:#FFFFFF"/>
-<stop offset="0.1455" style="stop-color:#D7DDDE"/>
-<stop offset="0.3212" style="stop-color:#FFFFFF"/>
-<stop offset="0.7333" style="stop-color:#8E9699"/>
-<stop offset="1" style="stop-color:#D5E2E6"/>
-</linearGradient>
-<path d="M6.412,54.286c-0.385,0-0.697-0.313-0.697-0.697V6.411c0-0.384,0.313-0.697,0.697-0.697h47.176 c0.387,0,0.699,0.313,0.699,0.697v47.178c0,0.385-0.313,0.697-0.699,0.697H6.412z" fill="url(#SVGID_2_)"/>
-<path d="M53.588,5.106H6.412c-0.719,0-1.305,0.586-1.305,1.305v47.178 c0,0.719,0.586,1.305,1.305,1.305h47.176c0.72,0,1.307-0.586,1.307-1.305V6.411C54.895,5.692,54.308,5.106,53.588,5.106z M53.68,53.589c0,0.05-0.041,0.09-0.092,0.09H6.412c-0.049,0-0.09-0.04-0.09-0.09V6.411c0-0.049,0.041-0.09,0.09-0.09h47.176 c0.051,0,0.092,0.041,0.092,0.09V53.589z" fill="#FFFFFF" fill-opacity="0.5"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="13.6074" x2="13.6074" y1="11.021" y2="48.3899">
-<stop offset="0" style="stop-color:#FFFFFF"/>
-<stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<path d="M13,48.519c-1.339,0-2.428-1.09-2.428-2.429V13.304c0-1.34,1.089-2.43,2.428-2.43 h1.215c1.339,0,2.429,1.09,2.429,2.43V46.09c0,1.339-1.09,2.429-2.429,2.429H13z" fill="url(#SVGID_3_)" fill-opacity="0.3"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="15.9473" x2="11.1119" y1="29.6973" y2="29.6973">
-<stop offset="0" style="stop-color:#595C5E"/>
-<stop offset="0.3" style="stop-color:#ABB2B5"/>
-<stop offset="0.7" style="stop-color:#ABB2B5"/>
-<stop offset="1" style="stop-color:#595C5E"/>
-</linearGradient>
-<path d="M16.036,46.09c0,1.006-0.815,1.822-1.821,1.822H13c-1.006,0-1.821-0.816-1.821-1.822V13.304 c0-1.008,0.815-1.821,1.821-1.821h1.215c1.006,0,1.821,0.813,1.821,1.821V46.09z" fill="url(#SVGID_4_)"/>
-<path d="M14.215,11.482H13c-1.006,0-1.821,0.813-1.821,1.821V46.09c0,1.006,0.815,1.822,1.821,1.822h1.215 c1.006,0,1.821-0.816,1.821-1.822V13.304C16.036,12.296,15.221,11.482,14.215,11.482z M15.429,46.09 c0,0.669-0.544,1.214-1.214,1.214H13c-0.67,0-1.214-0.545-1.214-1.214V13.304c0-0.67,0.544-1.215,1.214-1.215h1.215 c0.67,0,1.214,0.545,1.214,1.215V46.09z" fill-opacity="0.1"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="11.7861" x2="15.4287" y1="36.0713" y2="36.0713">
-<stop offset="0" style="stop-color:#5AA913"/>
-<stop offset="0.497" style="stop-color:#A2ED21"/>
-<stop offset="1" style="stop-color:#58A813"/>
-</linearGradient>
-<path d="M13,47.304c-0.67,0-1.214-0.545-1.214-1.214V26.054c0-0.668,0.544-1.215,1.214-1.215h1.215 c0.67,0,1.214,0.547,1.214,1.215V46.09c0,0.669-0.544,1.214-1.214,1.214H13z" fill="url(#SVGID_5_)"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_6_" x1="13.6074" x2="13.6074" y1="19.6782" y2="28.6905">
-<stop offset="0" style="stop-color:#666666"/>
-<stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<path d="M10.572,28.483c-1.34,0-2.43-1.09-2.43-2.43v-4.25c0-1.34,1.09-2.428,2.43-2.428 h6.071c1.339,0,2.429,1.088,2.429,2.428v4.25c0,1.34-1.09,2.43-2.429,2.43H10.572z" fill="url(#SVGID_6_)" fill-opacity="0.2"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_7_" x1="13.6074" x2="13.6074" y1="19.4058" y2="27.2627">
-<stop offset="0" style="stop-color:#A6A8AB"/>
-<stop offset="1" style="stop-color:#231F20"/>
-</linearGradient>
-<path d="M10.572,27.268c-1.006,0-1.822-0.816-1.822-1.82v-4.252 c0-1.004,0.816-1.819,1.822-1.819h6.071c1.004,0,1.821,0.815,1.821,1.819v4.252c0,1.004-0.817,1.82-1.821,1.82H10.572z" fill="url(#SVGID_7_)" fill-opacity="0.6"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_8_" x1="13.6074" x2="13.6074" y1="20.2031" y2="26.8131">
-<stop offset="0" style="stop-color:#FFFFFF"/>
-<stop offset="0.1212" style="stop-color:#FFFFFF"/>
-<stop offset="0.4182" style="stop-color:#B0B6B8"/>
-<stop offset="0.4182" style="stop-color:#9FA6A8"/>
-<stop offset="0.6606" style="stop-color:#7D8588"/>
-<stop offset="0.9697" style="stop-color:#ADB3B5"/>
-<stop offset="0.9697" style="stop-color:#595C5E"/>
-<stop offset="1" style="stop-color:#ADB3B5"/>
-<stop offset="1" style="stop-color:#595C5E"/>
-</linearGradient>
-<path d="M17.857,25.447c0,0.671-0.543,1.214-1.214,1.214h-6.071c-0.672,0-1.215-0.543-1.215-1.214v-4.252 c0-0.669,0.543-1.214,1.215-1.214h6.071c0.671,0,1.214,0.545,1.214,1.214V25.447z" fill="url(#SVGID_8_)"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_9_" x1="13.6074" x2="13.6074" y1="20.7715" y2="26.1783">
-<stop offset="0" style="stop-color:#E5E9EB"/>
-<stop offset="0.1212" style="stop-color:#E5E9EB"/>
-<stop offset="0.4182" style="stop-color:#B0B6B8"/>
-<stop offset="0.4182" style="stop-color:#9FA6A8"/>
-<stop offset="0.6606" style="stop-color:#7D8588"/>
-<stop offset="1" style="stop-color:#ADB3B5"/>
-</linearGradient>
-<path d="M10.572,26.054c-0.336,0-0.607-0.272-0.607-0.606v-4.252c0-0.335,0.271-0.605,0.607-0.605h6.071 c0.335,0,0.606,0.271,0.606,0.605v4.252c0,0.334-0.271,0.606-0.606,0.606H10.572z" fill="url(#SVGID_9_)"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_10_" x1="25.75" x2="25.75" y1="11.021" y2="48.3899">
-<stop offset="0" style="stop-color:#FFFFFF"/>
-<stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<path d="M25.143,48.519c-1.339,0-2.428-1.09-2.428-2.429V13.304 c0-1.34,1.089-2.43,2.428-2.43h1.215c1.339,0,2.429,1.09,2.429,2.43V46.09c0,1.339-1.09,2.429-2.429,2.429H25.143z" fill="url(#SVGID_10_)" fill-opacity="0.3"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_11_" x1="28.0898" x2="23.2554" y1="29.6973" y2="29.6973">
-<stop offset="0" style="stop-color:#595C5E"/>
-<stop offset="0.3" style="stop-color:#ABB2B5"/>
-<stop offset="0.7" style="stop-color:#ABB2B5"/>
-<stop offset="1" style="stop-color:#595C5E"/>
-</linearGradient>
-<path d="M28.179,46.09c0,1.006-0.815,1.822-1.821,1.822h-1.215c-1.005,0-1.82-0.816-1.82-1.822V13.304 c0-1.008,0.815-1.821,1.82-1.821h1.215c1.006,0,1.821,0.813,1.821,1.821V46.09z" fill="url(#SVGID_11_)"/>
-<path d="M26.357,11.482h-1.215c-1.005,0-1.82,0.813-1.82,1.821V46.09c0,1.006,0.815,1.822,1.82,1.822h1.215 c1.006,0,1.821-0.816,1.821-1.822V13.304C28.179,12.296,27.363,11.482,26.357,11.482z M27.571,46.09 c0,0.669-0.544,1.214-1.214,1.214h-1.215c-0.67,0-1.214-0.545-1.214-1.214V13.304c0-0.67,0.544-1.215,1.214-1.215h1.215 c0.67,0,1.214,0.545,1.214,1.215V46.09z" fill-opacity="0.1"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_12_" x1="23.9287" x2="27.5713" y1="37.5898" y2="37.5898">
-<stop offset="0" style="stop-color:#5AA913"/>
-<stop offset="0.497" style="stop-color:#A2ED21"/>
-<stop offset="1" style="stop-color:#58A813"/>
-</linearGradient>
-<path d="M25.143,47.304c-0.67,0-1.214-0.545-1.214-1.214v-17c0-0.67,0.544-1.214,1.214-1.214h1.215 c0.67,0,1.214,0.544,1.214,1.214v17c0,0.669-0.544,1.214-1.214,1.214H25.143z" fill="url(#SVGID_12_)"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_13_" x1="25.75" x2="25.75" y1="26.9634" y2="35.9757">
-<stop offset="0" style="stop-color:#666666"/>
-<stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<path d="M22.715,35.769c-1.339,0-2.429-1.09-2.429-2.43V29.09 c0-1.34,1.09-2.429,2.429-2.429h6.071c1.339,0,2.429,1.089,2.429,2.429v4.249c0,1.34-1.09,2.43-2.429,2.43H22.715z" fill="url(#SVGID_13_)" fill-opacity="0.2"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_14_" x1="25.75" x2="25.75" y1="26.6909" y2="34.5488">
-<stop offset="0" style="stop-color:#A6A8AB"/>
-<stop offset="1" style="stop-color:#231F20"/>
-</linearGradient>
-<path d="M22.715,34.554c-1.005,0-1.822-0.816-1.822-1.821v-4.249 c0-1.006,0.817-1.822,1.822-1.822h6.071c1.005,0,1.821,0.816,1.821,1.822v4.249c0,1.005-0.816,1.821-1.821,1.821H22.715z" fill="url(#SVGID_14_)" fill-opacity="0.6"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_15_" x1="25.75" x2="25.75" y1="27.4893" y2="34.0982">
-<stop offset="0" style="stop-color:#FFFFFF"/>
-<stop offset="0.1212" style="stop-color:#FFFFFF"/>
-<stop offset="0.4182" style="stop-color:#B0B6B8"/>
-<stop offset="0.4182" style="stop-color:#9FA6A8"/>
-<stop offset="0.6606" style="stop-color:#7D8588"/>
-<stop offset="0.9697" style="stop-color:#ADB3B5"/>
-<stop offset="0.9697" style="stop-color:#595C5E"/>
-<stop offset="1" style="stop-color:#ADB3B5"/>
-<stop offset="1" style="stop-color:#595C5E"/>
-</linearGradient>
-<path d="M30,32.732c0,0.671-0.543,1.214-1.214,1.214h-6.071c-0.671,0-1.215-0.543-1.215-1.214v-4.249 c0-0.672,0.544-1.216,1.215-1.216h6.071c0.671,0,1.214,0.544,1.214,1.216V32.732z" fill="url(#SVGID_15_)"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_16_" x1="25.75" x2="25.75" y1="28.0571" y2="33.463">
-<stop offset="0" style="stop-color:#E5E9EB"/>
-<stop offset="0.1212" style="stop-color:#E5E9EB"/>
-<stop offset="0.4182" style="stop-color:#B0B6B8"/>
-<stop offset="0.4182" style="stop-color:#9FA6A8"/>
-<stop offset="0.6606" style="stop-color:#7D8588"/>
-<stop offset="1" style="stop-color:#ADB3B5"/>
-</linearGradient>
-<path d="M22.715,33.339c-0.335,0-0.607-0.271-0.607-0.606v-4.249c0-0.336,0.272-0.607,0.607-0.607h6.071 c0.335,0,0.607,0.271,0.607,0.607v4.249c0,0.335-0.272,0.606-0.607,0.606H22.715z" fill="url(#SVGID_16_)"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_17_" x1="42.1426" x2="42.1426" y1="14.0352" y2="45.034">
-<stop offset="0" style="stop-color:#999999"/>
-<stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<path d="M36.982,45.179c-1.034,0-1.877-0.842-1.877-1.876V16.091 c0-1.035,0.843-1.876,1.877-1.876h10.322c1.035,0,1.876,0.841,1.876,1.876v27.212c0,1.034-0.841,1.876-1.876,1.876H36.982z" fill="url(#SVGID_17_)" fill-opacity="0.1"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_18_" x1="42.1426" x2="42.1426" y1="14.5083" y2="44.5696">
-<stop offset="0" style="stop-color:#999999"/>
-<stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<path d="M36.982,44.71c-0.775,0-1.407-0.632-1.407-1.407V16.091 c0-0.775,0.632-1.408,1.407-1.408h10.322c0.775,0,1.406,0.633,1.406,1.408v27.212c0,0.775-0.631,1.407-1.406,1.407H36.982z" fill="url(#SVGID_18_)" fill-opacity="0.3"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_19_" x1="42.1436" x2="42.1436" y1="44.3218" y2="15.0707">
-<stop offset="0" style="stop-color:#5F6366"/>
-<stop offset="1" style="stop-color:#3E4142"/>
-</linearGradient>
-<path d="M48.242,43.303c0,0.519-0.419,0.938-0.938,0.938H36.982c-0.518,0-0.938-0.42-0.938-0.938V16.091 c0-0.518,0.42-0.938,0.938-0.938h10.322c0.519,0,0.938,0.42,0.938,0.938V43.303z" fill="url(#SVGID_19_)"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_20_" x1="42.1436" x2="42.1436" y1="16.8999" y2="43.2099">
-<stop offset="0" style="stop-color:#9CA4A6"/>
-<stop offset="0.1" style="stop-color:#F0F2F3"/>
-<stop offset="0.5" style="stop-color:#BBBEBF"/>
-<stop offset="0.9" style="stop-color:#F3F5F5"/>
-<stop offset="0.95" style="stop-color:#8E9699"/>
-<stop offset="1" style="stop-color:#686E70"/>
-</linearGradient>
-<path d="M36.982,43.771c-0.258,0-0.469-0.21-0.469-0.468V17.03c0-0.26,0.211-0.471,0.469-0.471h10.322 c0.259,0,0.469,0.211,0.469,0.471v26.272c0,0.258-0.21,0.468-0.469,0.468H36.982z" fill="url(#SVGID_20_)"/>
-<path d="M47.305,18.437H36.982c-0.258,0-0.469,0.211-0.469,0.469v0.471c0-0.26,0.211-0.471,0.469-0.471h10.322 c0.259,0,0.469,0.211,0.469,0.471v-0.471C47.773,18.647,47.563,18.437,47.305,18.437z" fill="#FFFFFF"/>
-<path d="M47.305,43.303H36.982c-0.258,0-0.469-0.21-0.469-0.47v0.47c0,0.258,0.211,0.468,0.469,0.468h10.322 c0.259,0,0.469-0.21,0.469-0.468v-0.47C47.773,43.093,47.563,43.303,47.305,43.303z" fill-opacity="0.3"/>
-<path d="M36.982,41.427c-0.259,0-0.469-0.212-0.469-0.47V19.376c0-0.26,0.21-0.471,0.469-0.471 h10.322c0.259,0,0.469,0.211,0.469,0.471v21.581c0,0.258-0.21,0.47-0.469,0.47H36.982z" fill="#FFFFFF" fill-opacity="0.3"/>
-<path d="M36.514,30.165v10.792c0,0.258,0.21,0.47,0.469,0.47h10.322 c0.259,0,0.469-0.212,0.469-0.47V30.165H36.514z" fill="#FFFFFF" fill-opacity="0.4"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_21_" x1="42.1436" x2="42.1436" y1="22.582" y2="19.8827">
-<stop offset="0" style="stop-color:#FFFFFF"/>
-<stop offset="1" style="stop-color:#808080"/>
-</linearGradient>
-<path d="M38.859,22.66c-0.26,0-0.469-0.212-0.469-0.471v-1.876 c0-0.26,0.209-0.47,0.469-0.47h6.568c0.26,0,0.469,0.21,0.469,0.47v1.876c0,0.259-0.209,0.471-0.469,0.471H38.859z" fill="url(#SVGID_21_)" fill-opacity="0.4"/>
-<rect fill="#FF1D25" height="1.876" width="6.568" x="38.859" y="20.313"/>
-<polygon fill-opacity="0.3" points="44.959,20.313 39.328,20.313 38.859,20.313 38.859,20.782 38.859,22.189 39.328,22.189 39.328,20.782 44.959,20.782 44.959,22.189 45.428,22.189 45.428,20.782 45.428,20.313 "/>
-<rect fill="none" height="60" width="60"/>
-</g>
-</svg>
--- a/controlpanelui/src/cpapplication/src/cpmainmodel.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "cpmainmodel.h"
-#include <cpitemdatahelper.h>
-
-CpMainModel::CpMainModel() :
- CpCategorySettingFormModel(QString("mainview.cpcfg"))
-
-{
-}
-
-CpMainModel::~CpMainModel()
-{
-}
-
-//End of file
--- a/controlpanelui/src/cpapplication/src/cpmainmodel.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef CP_MAIN_MODEL_H
-#define CP_MAIN_MODEL_H
-
-#include <cpcategorysettingformmodel.h>
-
-class CpMainModel : public CpCategorySettingFormModel
-{
- Q_OBJECT
-public:
- CpMainModel();
- virtual ~CpMainModel();
-};
-
-#endif
--- a/controlpanelui/src/cpapplication/src/cpmainview.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "cpmainview.h"
-#include "cpmainmodel.h"
-#include <QList>
-#include <hbmainwindow.h>
-#include <hbdataform.h>
-#include <cpitemdatahelper.h>
-#include <cplogger.h>
-#include <hbactivitymanager.h>
-#include <hbapplication.h>
-#include <hbinstance.h>
-#include <QPixMap>
-#include <QMetaType>
-#include "cpcategorysettingformitemdata.h"
-
-//CpMainView implementation
-CpMainView::CpMainView(HbMainWindow *mainWindow/*= 0*/)
-: CpBaseSettingView(0,0),
- mMainModel(0),
- mItemDataHelper(0),
- mMainWindow(mainWindow),
- mActivityManager(0)
-{
- //delay loading
- //connect(mMainWindow,SIGNAL(viewReady()),this,SLOT(initializeMainModel()));
- // AUTO SAVE ACTIVITY OF CONTROLPANEL
- HbApplication *app= qobject_cast<HbApplication *>(qApp);
- mActivityManager = app->activityManager();
- initializeMainModel();
- connect(this, SIGNAL(aboutToClose()),this, SLOT(saveActivity()));
-}
-
-CpMainView::~CpMainView()
-{
- delete mMainModel;
- delete mItemDataHelper;
-}
-
-bool CpMainView::event(QEvent *e)
-{
- if (e->type() == QEvent::Show || e->type() == QEvent::ShowToParent) {
- CPPERF_LOG("CpMainView shown.");
- }
- return CpBaseSettingView::event(e);
-}
-
-void CpMainView::initializeMainModel()
-{
- if (HbDataForm *form = qobject_cast<HbDataForm *>(widget())) {
- if (!mMainModel) {
- mItemDataHelper = new CpItemDataHelper(form);
- mMainModel = new CpMainModel;
- mMainModel->initialize(*mItemDataHelper);
- form->setModel(mMainModel);
- connect(form, SIGNAL(activated(QModelIndex)), this, SLOT(onDataFormItemActivated(QModelIndex)));
-
- connect(mMainWindow, SIGNAL(aboutToChangeView(HbView *, HbView *)), this, SLOT(onAboutToChangeView(HbView *, HbView *)));
- }
- }
- loadActivity();
-}
-
-void CpMainView::loadActivity()
-{
- if (mMainModel == 0) {
- return;
- }
- QVariant data = mActivityManager->activityData(QString("ControlPanelView"));
- if (data.canConvert<QList<QVariant> >())
- {
- QList<QVariant> isExpanded = qvariant_cast<QList<QVariant> >(data);
- HbDataFormModelItem *root = mMainModel->invisibleRootItem();
- int groupCount = 0;
-
- if (root) {
- groupCount = root->childCount();
- }
-
- if (groupCount == isExpanded.count()) {
- for (int i = 0; i < groupCount; i++) {
- HbDataFormModelItem *groupItem = root->childAt(i);
- QModelIndex index = mMainModel->indexFromItem(groupItem);
- HbDataForm *form = qobject_cast<HbDataForm *>(widget());
- if (form) {
- if (isExpanded.at(i).toBool()) {
- onDataFormItemActivated(index);
- }
- form->setExpanded(index,isExpanded.at(i).toBool());
- }
- }
- }
-
- mActivityManager->removeActivity("ControlPanelView");
- }
-}
-
-void CpMainView::saveActivity()
-{
- HbDataFormModelItem *root = mMainModel->invisibleRootItem();
- int groupCount = 0;
- QList<QVariant> isExpanded;
- if (root) {
- groupCount = root->childCount();
- }
- for (int i = 0; i < groupCount; i++) {
- HbDataFormModelItem *groupItem = root->childAt(i);
- QModelIndex index = mMainModel->indexFromItem(groupItem);
- HbDataForm *form = qobject_cast<HbDataForm *>(widget());
- isExpanded << form->isExpanded(index);
- }
-
- HbMainWindow *mainWindow = hbInstance->allMainWindows().first();
- HbView *view = mainWindow->currentView();
- if(this == view)
- {
- mScreenshot = QPixmap::grabWidget(mainWindow, mainWindow->rect());
- }
-
- QVariantHash metadata;
- metadata.insert("screenshot", mScreenshot);
- QVariant data(isExpanded);
-
- mActivityManager->addActivity("ControlPanelView", data, metadata);
-}
-
-void CpMainView::onDataFormItemActivated(const QModelIndex &index)
-{
- CPFW_LOG("CpMainView::onDataFormItemActivated");
- CpSettingFormItemData *itemData = static_cast<CpSettingFormItemData *>(mMainModel->itemFromIndex(index));
-
- if (CpCategorySettingFormItemData *categoryItemData = qobject_cast<CpCategorySettingFormItemData*>(itemData)) {
- categoryItemData->initialize(*mItemDataHelper);
- }
-}
-void CpMainView::onAboutToChangeView(HbView * oldView, HbView *newView)
-{
- Q_UNUSED(newView);
- if (this == oldView) {
- mScreenshot = QPixmap::grabWidget(mMainWindow, mMainWindow->rect());
- }
- }
-
-// End of File
--- a/controlpanelui/src/cpapplication/src/cpmainview.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef CPMAINVIEW_H
-#define CPMAINVIEW_H
-
-#include <cpbasesettingview.h>
-
-class CpMainModel;
-class HbAbstractViewItem;
-class HbDataFormModelItem;
-class CpItemDataHelper;
-class HbMainWindow;
-class HbActivityManager;
-
-class CpMainView : public CpBaseSettingView
-{
- Q_OBJECT
-public:
- explicit CpMainView(HbMainWindow *mainWindow = 0);
- virtual ~CpMainView();
- bool event(QEvent *e);
-public slots:
- void loadActivity();
- void saveActivity();
-private slots:
- void initializeMainModel();
- void onAboutToChangeView(HbView * oldView, HbView *newView);
- void onDataFormItemActivated(const QModelIndex &index);
-private:
- Q_DISABLE_COPY(CpMainView)
-private:
- CpMainModel *mMainModel;
- CpItemDataHelper *mItemDataHelper;
- HbMainWindow *mMainWindow;
- // not own
- HbActivityManager *mActivityManager;
-
- QPixmap mScreenshot;
-};
-
-#endif
-//End of file
-
--- a/controlpanelui/src/cpapplication/src/cpmainwindow.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "cpmainwindow.h"
-#include "cpmainview.h"
-#include <cpplugininterface.h>
-#include <cpcategorysettingformitemdata.h>
-#include <hbapplication.h>
-#include <cpevent.h>
-
-//CpMainWindow implementation
-CpMainWindow::CpMainWindow(QWidget *parent /*= 0*/, Hb::WindowFlags windowFlags /*= Hb::WindowFlagNone*/)
-: HbMainWindow(parent,windowFlags)
-{
-}
-
-CpMainWindow::~CpMainWindow()
-{
- CpMainView *mainView = qobject_cast<CpMainView *>(views().first());
- if(mainView)
- {
- mainView->saveActivity();
- }
-}
-
-bool CpMainWindow::event(QEvent *e)
-{
- if (e->type() == (QEvent::Type)(CpCreatePluginItemDataEvent::CreatePluginItemData)) {
- CpCreatePluginItemDataEvent *event = static_cast<CpCreatePluginItemDataEvent*>(e);
- ::createCpPluginItemData(event);
- e->accept();
- }
- return HbMainWindow::event(e);
-}
-
-//End of File
-
-
--- a/controlpanelui/src/cpapplication/src/cpmainwindow.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef CPMAINWINDOW_H
-#define CPMAINWINDOW_H
-
-#include <hbmainwindow.h>
-
-class CpMainWindow : public HbMainWindow
-{
- Q_OBJECT
-public:
- explicit CpMainWindow(QWidget *parent = 0, Hb::WindowFlags windowFlags = Hb::WindowFlagNone);
- ~CpMainWindow();
-public:
- virtual bool event(QEvent *e);
-};
-
-#endif // CPMAINWINDOW_H
-
-//End of File
-
--- a/controlpanelui/src/cpapplication/src/main.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include <hbapplication.h>
-#include <cpmainwindow.h>
-#include <cpmainview.h>
-#include <hbstyleloader.h>
-#include <hbtranslator.h>
-#include <QLocale>
-#include <QLatin1String>
-#include <QDir>
-#include <cplogger.h>
-
-int main(int argc, char **argv)
-{
- HbApplication app(argc, argv);
-
- //used by QSettings
- QCoreApplication::setOrganizationName("nokia");
- QCoreApplication::setOrganizationDomain("Orbit");
- QCoreApplication::setApplicationName("ControlPanel");
-
-#ifdef ENABLE_CPFW_LOG
- INIT_LOGGER(CPFW_LOGGER_NAME,CP_LOGGER_CONFIG_PATH)
-#endif
-
-#ifdef ENABLE_CPPERF_LOG
- INIT_LOGGER(CPPERF_LOGGER_NAME,CP_LOGGER_CONFIG_PATH)
-#endif
-
- CPFW_LOG("Entering ControlPanel.exe...");
- CPPERF_LOG("Entering ControlPanel.exe...");
-
- HbTranslator translator("control_panel");
- translator.loadCommon();
-
- HbStyleLoader::registerFilePath(":/widgetml/cpdataformlistentryviewitem.css");
- HbStyleLoader::registerFilePath(":/widgetml/cpdataformlistentryviewitem_color.css");
- HbStyleLoader::registerFilePath(":/widgetml/cpdataformlistentryviewitem.widgetml");
-
- CpMainWindow mainWindow;
-
- CpMainView *mainView = new CpMainView(&mainWindow);
- QObject::connect(mainView,SIGNAL(aboutToClose()),qApp,SLOT(quit()));
- mainWindow.addView(mainView);
- mainWindow.setCurrentView(mainView);
-
- mainWindow.show();
-
- int ret = app.exec();
-
- CPFW_LOG("Exiting ControlPanel.exe.");
-
- return ret;
-}
-
-// End of File
--- a/controlpanelui/src/cpcategorymodel/bwins/cpcategorymodelu.def Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-EXPORTS
- ?stop@CpTaskExecutor@@QAEXXZ @ 1 NONAME ; void CpTaskExecutor::stop(void)
- ?tr@CpTaskExecutor@@SA?AVQString@@PBD0@Z @ 2 NONAME ; class QString CpTaskExecutor::tr(char const *, char const *)
- ?getStaticMetaObject@CpTaskExecutor@@SAABUQMetaObject@@XZ @ 3 NONAME ; struct QMetaObject const & CpTaskExecutor::getStaticMetaObject(void)
- ??1CpCategorySettingFormModel@@UAE@XZ @ 4 NONAME ; CpCategorySettingFormModel::~CpCategorySettingFormModel(void)
- ?beforeLoadingConfigPlugins@CpCategorySettingFormItemData@@EAEXAAVCpItemDataHelper@@@Z @ 5 NONAME ; void CpCategorySettingFormItemData::beforeLoadingConfigPlugins(class CpItemDataHelper &)
- ?trUtf8@CpCategorySettingFormModel@@SA?AVQString@@PBD0H@Z @ 6 NONAME ; class QString CpCategorySettingFormModel::trUtf8(char const *, char const *, int)
- ??0CpCategorySettingFormModel@@QAE@ABVQString@@@Z @ 7 NONAME ; CpCategorySettingFormModel::CpCategorySettingFormModel(class QString const &)
- ?staticMetaObject@CpTaskExecutor@@2UQMetaObject@@B @ 8 NONAME ; struct QMetaObject const CpTaskExecutor::staticMetaObject
- ??_ECpTaskExecutor@@UAE@I@Z @ 9 NONAME ; CpTaskExecutor::~CpTaskExecutor(unsigned int)
- ?trUtf8@CpTaskExecutor@@SA?AVQString@@PBD0H@Z @ 10 NONAME ; class QString CpTaskExecutor::trUtf8(char const *, char const *, int)
- ?trUtf8@CpCategorySettingFormItemData@@SA?AVQString@@PBD0@Z @ 11 NONAME ; class QString CpCategorySettingFormItemData::trUtf8(char const *, char const *)
- ?tr@CpCategorySettingFormModel@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString CpCategorySettingFormModel::tr(char const *, char const *)
- ?tr@CpCategorySettingFormItemData@@SA?AVQString@@PBD0@Z @ 13 NONAME ; class QString CpCategorySettingFormItemData::tr(char const *, char const *)
- ?getStaticMetaObject@CpCategorySettingFormModel@@SAABUQMetaObject@@XZ @ 14 NONAME ; struct QMetaObject const & CpCategorySettingFormModel::getStaticMetaObject(void)
- ?destroyGlobalInstance@CpTaskExecutor@@SAXXZ @ 15 NONAME ; void CpTaskExecutor::destroyGlobalInstance(void)
- ?initialize@CpCategorySettingFormModel@@UAEXAAVCpItemDataHelper@@@Z @ 16 NONAME ; void CpCategorySettingFormModel::initialize(class CpItemDataHelper &)
- ?initialize@CpCategorySettingFormItemData@@QAEXAAVCpItemDataHelper@@@Z @ 17 NONAME ; void CpCategorySettingFormItemData::initialize(class CpItemDataHelper &)
- ?tr@CpTaskExecutor@@SA?AVQString@@PBD0H@Z @ 18 NONAME ; class QString CpTaskExecutor::tr(char const *, char const *, int)
- ??0CpTaskExecutor@@QAE@PAVQObject@@@Z @ 19 NONAME ; CpTaskExecutor::CpTaskExecutor(class QObject *)
- ?tr@CpCategorySettingFormItemData@@SA?AVQString@@PBD0H@Z @ 20 NONAME ; class QString CpCategorySettingFormItemData::tr(char const *, char const *, int)
- ?qt_metacast@CpTaskExecutor@@UAEPAXPBD@Z @ 21 NONAME ; void * CpTaskExecutor::qt_metacast(char const *)
- ??1CpCategorySettingFormItemData@@UAE@XZ @ 22 NONAME ; CpCategorySettingFormItemData::~CpCategorySettingFormItemData(void)
- ?beforeLoadingConfigPlugins@CpCategorySettingFormModel@@EAEXAAVCpItemDataHelper@@@Z @ 23 NONAME ; void CpCategorySettingFormModel::beforeLoadingConfigPlugins(class CpItemDataHelper &)
- ??1CpTaskExecutor@@UAE@XZ @ 24 NONAME ; CpTaskExecutor::~CpTaskExecutor(void)
- ?createCpPluginItemData@@YAHPAVCpCreatePluginItemDataEvent@@@Z @ 25 NONAME ; int createCpPluginItemData(class CpCreatePluginItemDataEvent *)
- ?trUtf8@CpCategorySettingFormModel@@SA?AVQString@@PBD0@Z @ 26 NONAME ; class QString CpCategorySettingFormModel::trUtf8(char const *, char const *)
- ?staticMetaObject@CpCategorySettingFormModel@@2UQMetaObject@@B @ 27 NONAME ; struct QMetaObject const CpCategorySettingFormModel::staticMetaObject
- ?qt_metacall@CpTaskExecutor@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 28 NONAME ; int CpTaskExecutor::qt_metacall(enum QMetaObject::Call, int, void * *)
- ??0CpCategorySettingFormItemData@@QAE@ABVQString@@PBVHbDataFormModelItem@@@Z @ 29 NONAME ; CpCategorySettingFormItemData::CpCategorySettingFormItemData(class QString const &, class HbDataFormModelItem const *)
- ?qt_metacast@CpCategorySettingFormItemData@@UAEPAXPBD@Z @ 30 NONAME ; void * CpCategorySettingFormItemData::qt_metacast(char const *)
- ?toFront@CpTaskExecutor@@QAE_NPAVCpTask@@@Z @ 31 NONAME ; bool CpTaskExecutor::toFront(class CpTask *)
- ?qt_metacall@CpCategorySettingFormModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 32 NONAME ; int CpCategorySettingFormModel::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?removeTasks@CpTaskExecutor@@AAEXXZ @ 33 NONAME ; void CpTaskExecutor::removeTasks(void)
- ?qt_metacall@CpCategorySettingFormItemData@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 34 NONAME ; int CpCategorySettingFormItemData::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacast@CpCategorySettingFormModel@@UAEPAXPBD@Z @ 35 NONAME ; void * CpCategorySettingFormModel::qt_metacast(char const *)
- ?afterLoadingConfigPlugins@CpCategorySettingFormModel@@EAEXAAVCpItemDataHelper@@@Z @ 36 NONAME ; void CpCategorySettingFormModel::afterLoadingConfigPlugins(class CpItemDataHelper &)
- ?getStaticMetaObject@CpCategorySettingFormItemData@@SAABUQMetaObject@@XZ @ 37 NONAME ; struct QMetaObject const & CpCategorySettingFormItemData::getStaticMetaObject(void)
- ?metaObject@CpTaskExecutor@@UBEPBUQMetaObject@@XZ @ 38 NONAME ; struct QMetaObject const * CpTaskExecutor::metaObject(void) const
- ??0CpCategorySettingFormItemData@@QAE@W4DataItemType@HbDataFormModelItem@@ABVQString@@1PBV2@@Z @ 39 NONAME ; CpCategorySettingFormItemData::CpCategorySettingFormItemData(enum HbDataFormModelItem::DataItemType, class QString const &, class QString const &, class HbDataFormModelItem const *)
- ?trUtf8@CpCategorySettingFormItemData@@SA?AVQString@@PBD0H@Z @ 40 NONAME ; class QString CpCategorySettingFormItemData::trUtf8(char const *, char const *, int)
- ?runTask@CpTaskExecutor@@QAE_NPAVCpTask@@_N@Z @ 41 NONAME ; bool CpTaskExecutor::runTask(class CpTask *, bool)
- ?afterLoadingConfigPlugins@CpCategorySettingFormItemData@@EAEXAAVCpItemDataHelper@@@Z @ 42 NONAME ; void CpCategorySettingFormItemData::afterLoadingConfigPlugins(class CpItemDataHelper &)
- ?metaObject@CpCategorySettingFormModel@@UBEPBUQMetaObject@@XZ @ 43 NONAME ; struct QMetaObject const * CpCategorySettingFormModel::metaObject(void) const
- ?tr@CpCategorySettingFormModel@@SA?AVQString@@PBD0H@Z @ 44 NONAME ; class QString CpCategorySettingFormModel::tr(char const *, char const *, int)
- ?staticMetaObject@CpCategorySettingFormItemData@@2UQMetaObject@@B @ 45 NONAME ; struct QMetaObject const CpCategorySettingFormItemData::staticMetaObject
- ?run@CpTaskExecutor@@MAEXXZ @ 46 NONAME ; void CpTaskExecutor::run(void)
- ?metaObject@CpCategorySettingFormItemData@@UBEPBUQMetaObject@@XZ @ 47 NONAME ; struct QMetaObject const * CpCategorySettingFormItemData::metaObject(void) const
- ?trUtf8@CpTaskExecutor@@SA?AVQString@@PBD0@Z @ 48 NONAME ; class QString CpTaskExecutor::trUtf8(char const *, char const *)
- ??_ECpCategorySettingFormItemData@@UAE@I@Z @ 49 NONAME ; CpCategorySettingFormItemData::~CpCategorySettingFormItemData(unsigned int)
- ??_ECpCategorySettingFormModel@@UAE@I@Z @ 50 NONAME ; CpCategorySettingFormModel::~CpCategorySettingFormModel(unsigned int)
- ?globalInstance@CpTaskExecutor@@SAPAV1@XZ @ 51 NONAME ; class CpTaskExecutor * CpTaskExecutor::globalInstance(void)
-
--- a/controlpanelui/src/cpcategorymodel/cpcategorymodel.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: cpframework source files
-#
-
-HEADERS += $$PWD/src/cpplaceholderitemdata.h \
- $$PWD/src/cppluginconfigreader.h \
- $$PWD/src/cpcategorymodelutility.h
-
-SOURCES += $$PWD/src/cpcategorysettingformitemdata.cpp \
- $$PWD/src/cpcategorysettingformmodel.cpp \
- $$PWD/src/cpplaceholderitemdata.cpp \
- $$PWD/src/cppluginconfig.cpp \
- $$PWD/src/cppluginconfigreader.cpp \
- $$PWD/src/cpcategorymodelutility.cpp \
- $$PWD/src/cptaskexecutor.cpp
-
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/cpcategorymodel.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-TARGET = cpcategorymodel
-
-include ( ../common.pri )
-include ( ../inc/inc.pri )
-include ( ./cpcategorymodel.pri )
-
-CONFIG += Hb xml
-DEFINES += BUILD_CPCATEGORY_GLOBAL
-
-LIBS += -lcplogger -lcpframework
-
-symbian: {
- TARGET.UID3 = 0X20028736
-}
-
-
--- a/controlpanelui/src/cpcategorymodel/eabi/cpcategorymodelu.def Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-EXPORTS
- _Z22createCpPluginItemDataP27CpCreatePluginItemDataEvent @ 1 NONAME
- _ZN14CpTaskExecutor11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
- _ZN14CpTaskExecutor11qt_metacastEPKc @ 3 NONAME
- _ZN14CpTaskExecutor11removeTasksEv @ 4 NONAME
- _ZN14CpTaskExecutor14globalInstanceEv @ 5 NONAME
- _ZN14CpTaskExecutor16staticMetaObjectE @ 6 NONAME DATA 16
- _ZN14CpTaskExecutor19getStaticMetaObjectEv @ 7 NONAME
- _ZN14CpTaskExecutor21destroyGlobalInstanceEv @ 8 NONAME
- _ZN14CpTaskExecutor3runEv @ 9 NONAME
- _ZN14CpTaskExecutor4stopEv @ 10 NONAME
- _ZN14CpTaskExecutor7runTaskEP6CpTaskb @ 11 NONAME
- _ZN14CpTaskExecutor7toFrontEP6CpTask @ 12 NONAME
- _ZN14CpTaskExecutorC1EP7QObject @ 13 NONAME
- _ZN14CpTaskExecutorC2EP7QObject @ 14 NONAME
- _ZN14CpTaskExecutorD0Ev @ 15 NONAME
- _ZN14CpTaskExecutorD1Ev @ 16 NONAME
- _ZN14CpTaskExecutorD2Ev @ 17 NONAME
- _ZN26CpCategorySettingFormModel10initializeER16CpItemDataHelper @ 18 NONAME
- _ZN26CpCategorySettingFormModel11qt_metacallEN11QMetaObject4CallEiPPv @ 19 NONAME
- _ZN26CpCategorySettingFormModel11qt_metacastEPKc @ 20 NONAME
- _ZN26CpCategorySettingFormModel16staticMetaObjectE @ 21 NONAME DATA 16
- _ZN26CpCategorySettingFormModel19getStaticMetaObjectEv @ 22 NONAME
- _ZN26CpCategorySettingFormModel25afterLoadingConfigPluginsER16CpItemDataHelper @ 23 NONAME
- _ZN26CpCategorySettingFormModel26beforeLoadingConfigPluginsER16CpItemDataHelper @ 24 NONAME
- _ZN26CpCategorySettingFormModelC1ERK7QString @ 25 NONAME
- _ZN26CpCategorySettingFormModelC2ERK7QString @ 26 NONAME
- _ZN26CpCategorySettingFormModelD0Ev @ 27 NONAME
- _ZN26CpCategorySettingFormModelD1Ev @ 28 NONAME
- _ZN26CpCategorySettingFormModelD2Ev @ 29 NONAME
- _ZN29CpCategorySettingFormItemData10initializeER16CpItemDataHelper @ 30 NONAME
- _ZN29CpCategorySettingFormItemData11qt_metacallEN11QMetaObject4CallEiPPv @ 31 NONAME
- _ZN29CpCategorySettingFormItemData11qt_metacastEPKc @ 32 NONAME
- _ZN29CpCategorySettingFormItemData16staticMetaObjectE @ 33 NONAME DATA 16
- _ZN29CpCategorySettingFormItemData19getStaticMetaObjectEv @ 34 NONAME
- _ZN29CpCategorySettingFormItemData25afterLoadingConfigPluginsER16CpItemDataHelper @ 35 NONAME
- _ZN29CpCategorySettingFormItemData26beforeLoadingConfigPluginsER16CpItemDataHelper @ 36 NONAME
- _ZN29CpCategorySettingFormItemDataC1EN19HbDataFormModelItem12DataItemTypeERK7QStringS4_PKS0_ @ 37 NONAME
- _ZN29CpCategorySettingFormItemDataC1ERK7QStringPK19HbDataFormModelItem @ 38 NONAME
- _ZN29CpCategorySettingFormItemDataC2EN19HbDataFormModelItem12DataItemTypeERK7QStringS4_PKS0_ @ 39 NONAME
- _ZN29CpCategorySettingFormItemDataC2ERK7QStringPK19HbDataFormModelItem @ 40 NONAME
- _ZN29CpCategorySettingFormItemDataD0Ev @ 41 NONAME
- _ZN29CpCategorySettingFormItemDataD1Ev @ 42 NONAME
- _ZN29CpCategorySettingFormItemDataD2Ev @ 43 NONAME
- _ZNK14CpTaskExecutor10metaObjectEv @ 44 NONAME
- _ZNK26CpCategorySettingFormModel10metaObjectEv @ 45 NONAME
- _ZNK29CpCategorySettingFormItemData10metaObjectEv @ 46 NONAME
- _ZTI14CpTaskExecutor @ 47 NONAME
- _ZTI26CpCategorySettingFormModel @ 48 NONAME
- _ZTI29CpCategorySettingFormItemData @ 49 NONAME
- _ZTV14CpTaskExecutor @ 50 NONAME
- _ZTV26CpCategorySettingFormModel @ 51 NONAME
- _ZTV29CpCategorySettingFormItemData @ 52 NONAME
- _ZThn8_N29CpCategorySettingFormItemDataD0Ev @ 53 NONAME
- _ZThn8_N29CpCategorySettingFormItemDataD1Ev @ 54 NONAME
-
--- a/controlpanelui/src/cpcategorymodel/src/cpcategorymodelutility.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,322 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Utility class for cpcategorymodel.
-*
-*/
-#include "cpcategorymodelutility.h"
-#include <QString>
-#include <QDir>
-#include <QFileInfo>
-#include <hbinstance.h>
-#include <cppluginloader.h>
-#include <cpplugininterface.h>
-#include <cpbasepath.h>
-#include <cplogger.h>
-#include <cpevent.h>
-#include <cptaskexecutor.h>
-#include <cpsettingformentryitemdata.h>
-#include "cpcategorysettingformitemdata.h"
-#include "cppluginconfigreader.h"
-#include "cpplaceholderitemdata.h"
-
-static HbMainWindow *mainWindow()
-{
- QList< HbMainWindow* > mainWindows = hbInstance->allMainWindows();
- if (!mainWindows.isEmpty()) {
- return mainWindows.front();
- }
- return 0;
-}
-
-
-//#define ASYNC_LOAD_CPPLUGIN
-
-class CpLoadConfigPluginsTask : public CpTask
-{
-public:
- CpLoadConfigPluginsTask(HbDataFormModelItem *parentItem,
- const QString &configFile,
- CpItemDataHelper *itemDataHelper,
- int startPosition) :
- mParentItem(parentItem),
- mConfigFile(configFile),
- mItemDataHelper(itemDataHelper),
- mStartPosition(startPosition)
- {
-
- }
-
- virtual ~CpLoadConfigPluginsTask()
- {
-
- }
-
- virtual void execute(volatile bool *stopped)
- {
- if (!mParentItem) {
- return;
- }
-
- QString configPath(mConfigFile);
- QFileInfo fi(mConfigFile);
- //if it is a relative path, search the config file from device drives.
- if (!fi.isAbsolute()) {
- QStringList dirs = CpCategoryModelUtility::configFileDirectories();
- foreach(const QString &dir,dirs) {
- configPath = dir + fi.fileName();
- if (QFileInfo(configPath).exists()) {
- CPFW_LOG(configPath + " has been found.");
- break;
- }
- }
- }
-
- QList<CpPluginConfig> pluginConfigs = CpPluginConfigReader(configPath).readCpPluginConfigs();
-
- int position = mStartPosition;
- foreach(const CpPluginConfig &pluginConfig, pluginConfigs) {
- if (stopped && *stopped) {
- break;
- }
-
- CPFW_LOG(QLatin1String("Load plugin: ") + pluginConfig.mPluginFile + " from " + configPath);
-
- CpCreatePluginItemDataEvent *event = new CpCreatePluginItemDataEvent;
-
- event->mParentItem = mParentItem;
-
- if (mStartPosition < 0) {
- event->mItemPosition = mStartPosition; //append
- }
- else {
- event->mItemPosition = position++;
- }
-
- event->mItemDataHelper = mItemDataHelper;
-
- event->mDisplayName = pluginConfig.mDisplayName;
- event->mDescription = pluginConfig.mDescription;
- event->mPluginFile = pluginConfig.mPluginFile;
-
- //firstly, handle CpPluginInterface
- if (CpPluginInterface *plugin = CpPluginLoader::loadCpPluginInterface(pluginConfig.mPluginFile)) {
- CPFW_LOG("Load root component CpPluginInterface succeed.");
- event->mPluginInterface = plugin;
- }
-
- //post event to main window in main thread
- QCoreApplication::postEvent(mainWindow(),event);
-
- } //end foreach
-
- }
-private:
- HbDataFormModelItem *mParentItem;
- QString mConfigFile;
- CpItemDataHelper *mItemDataHelper;
- int mStartPosition;
-};
-
-void CpCategoryModelUtility::buildConfigPluginItems(HbDataFormModelItem *parent,
- const QString &configFile,
- CpItemDataHelper &itemDataHelper,
- int startPosition)
-{
-#ifdef ASYNC_LOAD_CPPLUGIN
- CpTaskExecutor::globalInstance()->runTask
- ( new CpLoadConfigPluginsTask(parent,configFile,&itemDataHelper,startPosition) );
-
-#else
- if (!parent) {
- return;
- }
-
- QString configPath(configFile);
- QFileInfo fi(configFile);
- //if it is a relative path, search the config file from device drives.
- if (!fi.isAbsolute()) {
- QStringList dirs = CpCategoryModelUtility::configFileDirectories();
- foreach(const QString &dir,dirs) {
- configPath = dir + fi.fileName();
- if (QFileInfo(configPath).exists()) {
- CPFW_LOG(configPath + " has been found.");
- break;
- }
- }
- }
-
- QList<CpPluginConfig> pluginConfigs = CpPluginConfigReader(configPath).readCpPluginConfigs();
-
- foreach(const CpPluginConfig &pluginConfig, pluginConfigs) {
- CPFW_LOG(QLatin1String("Load plugin: ") + pluginConfig.mPluginFile + " from " + configPath);
-
- QList<CpSettingFormItemData*> itemDataList;
-
- //firstly, handle CpPluginInterface
- if (CpPluginInterface *plugin = CpPluginLoader::loadCpPluginInterface(pluginConfig.mPluginFile)) {
- CPFW_LOG("Load root component CpPluginInterface succeed.");
- itemDataList = plugin->createSettingFormItemData(itemDataHelper);
- }
-
- else {
- CPFW_LOG(QLatin1String("Load plugin:") + pluginConfig.mPluginFile + QLatin1String(" failed."));
- #ifdef _DEBUG
- CPFW_LOG(QLatin1String("***Add a placeholder."));
- itemDataList.append(new CpPlaceHolderItemData(itemDataHelper,pluginConfig));
- #endif
- }
-
- foreach(CpSettingFormItemData *itemData,itemDataList) {
- if (itemData) {
- //append the new created setting form item to its parent item.
- parent->insertChild(startPosition++,itemData);
- //commented this for only loading group plugin when startup
- /*if (CpCategorySettingFormItemData *categoryItemData
- = qobject_cast<CpCategorySettingFormItemData*>(itemData)) {
- categoryItemData->initialize(itemDataHelper);
- }*/
-
- //set the text and description from config if it is empty.
- setEntryItemContentIfEmpty(itemData,pluginConfig.mDisplayName,pluginConfig.mDescription);
- }
- } //end foreach
-
- } //end foreach
-#endif
-
-}
-
-bool CpCategoryModelUtility::setEntryItemContentIfEmpty(CpSettingFormItemData *itemData,
- const QString &displayName,
- const QString &description)
-{
- CpSettingFormEntryItemData *entryItemData = qobject_cast< CpSettingFormEntryItemData* > (itemData);
- if (!entryItemData) {
- return false;
- }
-
- if (entryItemData->text().isEmpty()) {
- entryItemData->setText(displayName);
- }
- if (entryItemData->description().isEmpty()) {
- entryItemData->setDescription(description);
- }
- if (entryItemData->iconName().isEmpty()) {
- entryItemData->setIconName(
- QLatin1String(":/icon/qgn_prop_set_default_sub.svg") );
- }
-
- return true;
-}
-
-QStringList CpCategoryModelUtility::drives()
-{
- static QStringList drives;
-
- if (drives.empty()) {
- CPFW_LOG("device drives:");
-#ifdef WIN32
- drives.append("C:");
- CPFW_LOG("C:");
-#else
- QFileInfoList fileInfoList = QDir::drives();
- foreach(const QFileInfo &fileInfo,fileInfoList) {
- QString str = fileInfo.filePath();
- if (str.length() > 2) {
- str = str.left(2);
- }
- drives.append(str);
- CPFW_LOG(str);
- }
-#endif
- }
-
- return drives;
-}
-
-static QStringList directoriesFromAllDrives(const QString &baseDir)
-{
- QStringList dirs;
-
- QStringList drives = CpCategoryModelUtility::drives();
- foreach(const QString &drive,drives) {
- QString dir = drive + baseDir + QDir::separator();
- if (QFileInfo(dir).exists()) {
- dirs.append(dir);
- CPFW_LOG(dir);
- }
- }
-
- return dirs;
-}
-
-QStringList CpCategoryModelUtility::pluginDirectories()
-{
- static QStringList dirs;
- if (dirs.empty()) {
- CPFW_LOG("ControlPanel plugin derectories:")
- dirs = directoriesFromAllDrives(CP_PLUGIN_PATH);
- }
- return dirs;
-}
-
-QStringList CpCategoryModelUtility::configFileDirectories()
-{
- static QStringList dirs;
- if (dirs.empty()) {
- CPFW_LOG("ControlPanel configuration file derectories:");
- dirs = directoriesFromAllDrives(CP_PLUGIN_CONFIG_PATH);
- }
- return dirs;
-}
-
-CP_CATEGORY_EXPORT int createCpPluginItemData(CpCreatePluginItemDataEvent *event)
-{
- QList<CpSettingFormItemData*> itemDataList;
-
- if (event->mPluginInterface) {
- itemDataList = event->mPluginInterface->createSettingFormItemData(*(event->mItemDataHelper));
- }
-
- else {
- #ifdef _DEBUG
- itemDataList.append(new CpPlaceHolderItemData(*(event->mItemDataHelper),event->mDisplayName,event->mPluginFile));
- #endif
- }
-
- foreach(CpSettingFormItemData *itemData,itemDataList) {
- if (itemData) {
- //append the new created setting form item to its parent item.
- if (event->mItemPosition < 0) {
- event->mParentItem->appendChild(itemData);
- }
- else {
- event->mParentItem->insertChild(event->mItemPosition,itemData);
- }
-
- if (CpCategorySettingFormItemData *categoryItemData
- = qobject_cast<CpCategorySettingFormItemData*>(itemData)) {
- categoryItemData->initialize(*(event->mItemDataHelper));
- }
-
- //set the text and description from config if it is empty.
- CpCategoryModelUtility::setEntryItemContentIfEmpty(itemData,event->mDisplayName,event->mDescription);
- }
- } //end foreach
-
- return itemDataList.count();
-}
-
-//End of File
-
--- a/controlpanelui/src/cpcategorymodel/src/cpcategorymodelutility.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef CPCATEGORYMODELUTILITY_H
-#define CPCATEGORYMODELUTILITY_H
-
-#include <QString>
-
-class HbDataFormModelItem;
-class CpItemDataHelper;
-class CpSettingFormItemData;
-
-class CpCategoryModelUtility
-{
-public:
- /*
- load all controlpanel plugins from configuration file,
- and create model items form the loaded plugins
- and append model items to given parent
- */
- static void buildConfigPluginItems(
- HbDataFormModelItem *parent,
- const QString &configFile,
- CpItemDataHelper &itemDataHelper,
- int startPosition);
-
- /*
- setEntryItemContentIfEmpty
- */
- static bool setEntryItemContentIfEmpty(
- CpSettingFormItemData *itemData,
- const QString &displayName,
- const QString &description);
-
- /*
- get all physical drives of the devices
- */
- static QStringList drives();
-
- /*
- get all controlpanel plugin directories of the device
- */
- static QStringList pluginDirectories();
-
- /*
- get all config directories of the device
- */
- static QStringList configFileDirectories();
-
-};
-
-#endif // CPCATEGORYMODELUTILITY_H
-
-//End of File
-
--- a/controlpanelui/src/cpcategorymodel/src/cpcategorysettingformitemdata.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: An extension to CpSettingFormItemData, can be filled with model items comes from controlpanel plugins.
-*
-*/
-#include "cpcategorysettingformitemdata.h"
-#include <QString>
-#include "cpcategorymodelutility.h"
-
-/*
- * Private implementation
- */
-class CpCategorySettingFormItemDataPrivate
-{
-public:
- CpCategorySettingFormItemDataPrivate(const QString &configFile) :
- mInitialized(false),
- mConfigFile(configFile)
- {
- }
-
- ~CpCategorySettingFormItemDataPrivate()
- {
- }
-
-public:
- bool mInitialized;
- QString mConfigFile;
-};
-
-/*
- * Constructor
- */
-CpCategorySettingFormItemData::CpCategorySettingFormItemData(
- HbDataFormModelItem::DataItemType type,
- const QString &label,
- const QString &configFile,
- const HbDataFormModelItem *parent /*= 0*/) :
- CpSettingFormItemData(type,label,parent),
- d(new CpCategorySettingFormItemDataPrivate(configFile))
-{
-}
-
-/*
- * Overloaded constructor
- */
-CpCategorySettingFormItemData::CpCategorySettingFormItemData(
- const QString &configFile /*= QString()*/,
- const HbDataFormModelItem *parent /*= 0*/) :
- CpSettingFormItemData(parent),
- d(new CpCategorySettingFormItemDataPrivate(configFile))
-{
-}
-
-/*
- * Desctructor
- */
-CpCategorySettingFormItemData::~CpCategorySettingFormItemData()
-{
- delete d;
-}
-
-/*
- * Initialize
- */
-void CpCategorySettingFormItemData::initialize(CpItemDataHelper &itemDataHelper)
-{
- //avoid to be called twice
- if (!d->mInitialized) {
- //give derived class a chance do their special things before loading config plugins
- beforeLoadingConfigPlugins(itemDataHelper);
-
- int pluginItemStartPosition = childCount();
- //give derived class a chance do their special things after loading config plugins
- afterLoadingConfigPlugins(itemDataHelper);
-
- //load plugins which are configured
- CpCategoryModelUtility::buildConfigPluginItems(
- this,
- d->mConfigFile,
- itemDataHelper,
- pluginItemStartPosition);
-
- d->mInitialized = true;
- }
-}
-
-/*
- * Derived class can override this function to do some specific work before loading config plugins
- */
-void CpCategorySettingFormItemData::beforeLoadingConfigPlugins(CpItemDataHelper &/*itemDataHelper*/)
-{
-}
-/*
- * Derived class can override this function to do some specific work before loading config plugins
- */
-void CpCategorySettingFormItemData::afterLoadingConfigPlugins(CpItemDataHelper &/*itemDataHelper*/)
-{
-}
-
-//End of File
--- a/controlpanelui/src/cpcategorymodel/src/cpcategorysettingformmodel.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: An extension to HbDataFormModel, can be filled with model items comes from controlpanel plugins.
-*
-*/
-
-#include "cpcategorysettingformmodel.h"
-#include <QString>
-#include "cpcategorymodelutility.h"
-#include <cpitemdatahelper.h>
-
-/*
- * Private implementation
- */
-class CpCategorySettingFormModelPrivate
-{
-public:
- CpCategorySettingFormModelPrivate(const QString &configFile) :
- mInitialized(false),
- mConfigFile(configFile)
- {
- }
-
- ~CpCategorySettingFormModelPrivate()
- {
- }
-
-public:
- bool mInitialized;
- QString mConfigFile;
-};
-
-/*
- * Constructor
- */
-CpCategorySettingFormModel::CpCategorySettingFormModel(const QString &configFile) :
- d (new CpCategorySettingFormModelPrivate(configFile))
-{
-}
-
-/*
- * Destructor
- */
-CpCategorySettingFormModel::~CpCategorySettingFormModel()
-{
- delete d;
-}
-
-/*
- * Initialize
- */
-void CpCategorySettingFormModel::initialize(CpItemDataHelper &itemDataHelper)
-{
- //avoid to be called twice
- if (!d->mInitialized) {
- //give derived class a change do their special things before loading config plugins
- beforeLoadingConfigPlugins(itemDataHelper);
-
- int pluginItemStartPosition = invisibleRootItem()->childCount();
- //give derived class a change do their special things after loading config plugins
- afterLoadingConfigPlugins(itemDataHelper);
-
- //load plugins which are configured
- CpCategoryModelUtility::buildConfigPluginItems(invisibleRootItem(),
- d->mConfigFile,
- itemDataHelper,
- pluginItemStartPosition);
-
- d->mInitialized = true;
- }
-}
-
-/*
- * Derived class can override this function to do some specific work before loading config plugins
- */
-void CpCategorySettingFormModel::beforeLoadingConfigPlugins(CpItemDataHelper&/*itemDataHelper*/)
-{
-}
-
-/*
- * Derived class can override this function to do some specific work after loading config plugins
- */
-void CpCategorySettingFormModel::afterLoadingConfigPlugins(CpItemDataHelper &/*itemDataHelper*/)
-{
-}
-
-//End of File
--- a/controlpanelui/src/cpcategorymodel/src/cpplaceholderitemdata.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Placeholder for plugin configured in cpcfg file but the target is missing.
-*
-*/
-
-#include "cpplaceholderitemdata.h"
-#include <QTextStream>
-#include <hbmessagebox.h>
-#include "cppluginconfig.h"
-
-CpPlaceHolderItemData::CpPlaceHolderItemData(CpItemDataHelper &itemDataHelper,
- const CpPluginConfig &pluginConfig)
- : CpSettingFormEntryItemData(
- itemDataHelper,
- pluginConfig.mDisplayName,
- pluginConfig.mPluginFile)
-{
-}
-
-CpPlaceHolderItemData::CpPlaceHolderItemData(CpItemDataHelper &itemDataHelper,
- const QString &displayName,
- const QString &pluginFile)
- : CpSettingFormEntryItemData (
- itemDataHelper,
- displayName,
- pluginFile)
-{
-
-}
-
-CpPlaceHolderItemData::~CpPlaceHolderItemData()
-{
-}
-
-void CpPlaceHolderItemData::onLaunchView()
-{
- QString message;
- QTextStream stream(&message);
- stream << "Load plugin:"
- << description()
- << " faild."
- << "Please check:\n"
- << "1. if the dll name is correct in configuration file.\n"
- << "2 if the dll has been generated.\n"
- << "3. if the plugin stub file is in place.\n"
- << "4. if the dll is valid Qt plugin.";
-
- HbMessageBox::warning(message);
-}
-
-CpBaseSettingView *CpPlaceHolderItemData::createSettingView() const
-{
- return 0;
-}
-
-//End of File
-
--- a/controlpanelui/src/cpcategorymodel/src/cpplaceholderitemdata.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Placeholder for plugin configured in cpcfg file but the target is missing.
-*
-*/
-
-#ifndef CPPLACEHOLDERITEMDATA_H
-#define CPPLACEHOLDERITEMDATA_H
-
-#include <cpsettingformentryitemdata.h>
-
-class CpPluginConfig;
-class CpItemDataHelper;
-
-class CpPlaceHolderItemData : public CpSettingFormEntryItemData
-{
- Q_OBJECT
-public:
- CpPlaceHolderItemData(CpItemDataHelper &itemDataHelper,const CpPluginConfig &pluginConfig);
- CpPlaceHolderItemData(CpItemDataHelper &itemDataHelper,const QString &displayName,const QString &pluginFile);
- virtual ~CpPlaceHolderItemData();
-private slots:
- virtual void onLaunchView();
-private:
- virtual CpBaseSettingView *createSettingView() const;
-};
-
-#endif //CPPLACEHOLDERITEMDATA_H
-
-//End of File
--- a/controlpanelui/src/cpcategorymodel/src/cppluginconfig.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: An entry for a plugin defined in cpcfg file.
-*
-*/
-
-#include "cppluginconfig.h"
-#include <cplogger.h>
-
-CpPluginConfig::CpPluginConfig() :
- mUid(0),
- mDisplayName(QString()),
- mPluginFile(QString()),
- mDescription(QString())
-{
-
-}
-
-void CpPluginConfig::dump()
-{
- CPFW_LOG(QLatin1String("id = ") + QString("0x%1").arg(mUid,0,16));
- CPFW_LOG(QLatin1String("diplayname = ") + mDisplayName);
- CPFW_LOG(QLatin1String("dll = ") + mPluginFile);
- CPFW_LOG(QLatin1String("desc = ") + mDescription);
-}
--- a/controlpanelui/src/cpcategorymodel/src/cppluginconfig.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: An entry for a controlpanel plugin defined in cpcfg file.
-*
-*/
-
-#ifndef CPPLUGINCONFIG_H
-#define CPPLUGINCONFIG_H
-
-#include <QString>
-
-class CpPluginConfig
-{
-public:
- CpPluginConfig();
- void dump();
-public:
- int mUid; //UID3 for the plugin
- QString mDisplayName;
- QString mPluginFile;
- QString mDescription;
-};
-
-#endif /* CPPLUGINCONFIG_H */
--- a/controlpanelui/src/cpcategorymodel/src/cppluginconfigreader.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This class reads cpcfg files.
-*
-*/
-
-#include "cppluginconfigreader.h"
-#include <QFile>
-#include <QXmlStreamReader>
-#include <cplogger.h>
-
-const QString CHILD_PLUGINS_TAG = "childplugins";
-const QString PLUGIN_TAG = "plugin";
-const QString PLUGIN_ID_ATTR = "id";
-const QString PLUGIN_DLL_ATTR = "dll";
-const QString PLUGIN_DISPALYNAME_ATTR = "displayname";
-const QString DESC_TAG = "desc";
-
-/*
- * Constructor.
- * @configPath : the full path of the config file.
- */
-CpPluginConfigReader::CpPluginConfigReader(const QString &configPath)
-: mConfigPath (configPath)
-{
-}
-
-/*
- * Desctructor
- */
-CpPluginConfigReader::~CpPluginConfigReader()
-{
-}
-
-/*
- * Reads a cpcfg file, returns a list of CpPluginConfig.
- */
-QList<CpPluginConfig> CpPluginConfigReader::readCpPluginConfigs()
-{
- CPFW_LOG(QLatin1String("reading cpcfg file:") + mConfigPath);
-
- // Empty config file
- if (mConfigPath.isNull() || mConfigPath.isEmpty()) {
- CPFW_LOG("CpPluginConfigReader::readCpPluginConfigs() mConfigPath is empty.");
- return QList<CpPluginConfig> ();
- }
-
- QFile file(mConfigPath);
-
- // Config file doesn't exist
- if (!file.exists()) {
- CPFW_LOG( mConfigPath + " does not exist.");
- return QList<CpPluginConfig> ();
- }
-
- // Open config file failed
- if (!file.open(QFile::ReadOnly | QFile::Text)) {
- CPFW_LOG(QString("CpPluginConfigReader::readCpPluginConfigs() open file failed. Error:%1")
- .arg(static_cast<int>(file.error()),0,10));
- return QList<CpPluginConfig> ();
- }
-
- QXmlStreamReader reader(&file);
-
- QList<CpPluginConfig> cpPluginConfigList;
-
- readCpPluginConfigs(reader, cpPluginConfigList);
-
- file.close();
-
- return cpPluginConfigList;
-}
-
-/*
- * Read a list of CpPluginConfig from a xml stream.
- */
-void CpPluginConfigReader::readCpPluginConfigs(QXmlStreamReader &xmlReader,QList<CpPluginConfig> &cpPluginConfigList)
-{
- xmlReader.readNext();
-
- while (!xmlReader.atEnd()) {
-
- if (xmlReader.isStartElement()) {
- // Read <childplugins> node
- if (xmlReader.name() == CHILD_PLUGINS_TAG) {
- readChildPluginsElement(xmlReader, cpPluginConfigList);
- }
- else {
- xmlReader.raiseError("Not a valid file with the right format.");
- }
- }
-
- else {
- xmlReader.readNext();
- }
- }
-}
-
-/*
- * Read <childplugins> node.
- */
-void CpPluginConfigReader::readChildPluginsElement(QXmlStreamReader &xmlReader,QList<CpPluginConfig> &cpPluginConfigList)
-{
- xmlReader.readNext();
-
- while (!xmlReader.atEnd()) {
-
- if (xmlReader.isEndElement()) {
- xmlReader.readNext();
- break;
- }
-
- if (xmlReader.isStartElement()) {
- // Read <plugin> node
- if (xmlReader.name() == PLUGIN_TAG) {
- readPluginElement(xmlReader, cpPluginConfigList);
- }
- // Skip invalid node
- else {
- skipUnknownElement(xmlReader);
- }
- }
-
- else {
- xmlReader.readNext();
- }
- }
-}
-
-/*
- * Read <plugin> node.
- */
-void CpPluginConfigReader::readPluginElement(QXmlStreamReader &xmlReader,QList<CpPluginConfig> &cpPluginConfigList)
-{
- CpPluginConfig cpPluginConfig;
-
- QXmlStreamAttributes xmlAttributes = xmlReader.attributes();
-
- // Read <id> attribute
- if (xmlAttributes.hasAttribute(PLUGIN_ID_ATTR)) {
- cpPluginConfig.mUid
- = (xmlAttributes.value(PLUGIN_ID_ATTR)).toString().toUInt(0,16);
- }
-
- // Read <dll> attribute
- if (xmlAttributes.hasAttribute(PLUGIN_DLL_ATTR)) {
- cpPluginConfig.mPluginFile
- = (xmlAttributes.value(PLUGIN_DLL_ATTR)).toString();
- }
-
- // Read <displayname> attribute
- if (xmlAttributes.hasAttribute(PLUGIN_DISPALYNAME_ATTR)) {
- cpPluginConfig.mDisplayName
- = (xmlAttributes.value(PLUGIN_DISPALYNAME_ATTR)).toString();
- }
-
- // Read <description> node
- readDescElement(xmlReader,cpPluginConfig);
-
-#ifdef ENABLE_CPFW_LOG
- cpPluginConfig.dump();
-#endif
-
- cpPluginConfigList.append(cpPluginConfig);
-}
-
-/*
- * Read <description> node.
- */
-void CpPluginConfigReader::readDescElement(QXmlStreamReader &xmlReader,CpPluginConfig &cpPluginConfig)
-{
- xmlReader.readNext();
-
- while (!xmlReader.atEnd()) {
-
- if (xmlReader.isEndElement()) {
- xmlReader.readNext();
- break;
- }
-
- if (xmlReader.isStartElement()) {
- // valid description node
- if (xmlReader.name() == DESC_TAG) {
- cpPluginConfig.mDescription = xmlReader.readElementText();
- if (xmlReader.isEndElement()) {
- xmlReader.readNext();
- }
- }
- // invalid node, skip it
- else {
- skipUnknownElement(xmlReader);
- }
- }
-
- else {
- xmlReader.readNext();
- }
- }
-}
-
-/*
- * ignore invalid node.
- */
-void CpPluginConfigReader::skipUnknownElement(QXmlStreamReader &xmlReader)
-{
- xmlReader.readNext();
-
- while (!xmlReader.atEnd()) {
-
- if (xmlReader.isEndElement()) {
- xmlReader.readNext();
- break;
- }
-
- if (xmlReader.isStartElement()) {
- skipUnknownElement(xmlReader);
- }
- else {
- xmlReader.readNext();
- }
- }
-}
--- a/controlpanelui/src/cpcategorymodel/src/cppluginconfigreader.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This class reads cpcfg files.
-*
-*/
-
-/* configuration format:
-
- <childplugins>
- <plugin displayname = "Personalization" id = "0xE195181a" dll = "cppersonaliztionplugin.dll">
- <desc>This is Personalization</desc>
- </plugin>
- <plugin displayname = "Communication" id = "0xE195181b" dll = "cpcommunicationplugin.dll">
- <desc>This is Communication</desc>
- </plugin>
- <plugin displayname = "Application settings" id = "0xE195181c" dll = "cpapplicationsettingsplugin.dll">
- <desc>This is Application settings</desc>
- </plugin>
- <plugin displayname = "Device" id = "0xE195181d" dll = "cpdeviceplugin.dll">
- <desc>This is Device</desc>
- </plugin>
- </childplugins>
-*/
-
-/* Usage:
-
- const QString file("\\resource\\qt\\plugins\\controlpanel\\config\\applicationsettingsplugin.cpcfg");
-
- CpPluginConfigReader cfgReader(file);
- QList<CpPluginConfig> cfgList = cfgReader.readCpPluginConfigs();
-
- foreach (CpPluginConfig cfg, cfgList)
- {
- cfg.dump();
- }
-*/
-
-#ifndef CPPLUGINCONFIGREADER_H
-#define CPPLUGINCONFIGREADER_H
-
-#include <QString>
-#include <QList>
-#include "cppluginconfig.h"
-
-class QXmlStreamReader;
-
-class CpPluginConfigReader
-{
-public:
- explicit CpPluginConfigReader(const QString &configPath);
- ~CpPluginConfigReader();
-
- QList<CpPluginConfig> readCpPluginConfigs();
-
-private:
- void readCpPluginConfigs(QXmlStreamReader &xmlReader,
- QList<CpPluginConfig> &cpPluginConfigList);
- void readChildPluginsElement(QXmlStreamReader &xmlReader,
- QList<CpPluginConfig> &cpPluginConfigList);
- void readPluginElement(QXmlStreamReader &xmlReader,
- QList<CpPluginConfig> &cpPluginConfigList);
- void readDescElement(QXmlStreamReader &xmlReader,
- CpPluginConfig &cpPluginConfig);
- void skipUnknownElement(QXmlStreamReader &xmlReader);
-private:
- QString mConfigPath;
-};
-
-#endif /* CPPLUGINCONFIGREADER_H */
--- a/controlpanelui/src/cpcategorymodel/src/cptaskexecutor.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#include "cptaskexecutor.h"
-#include <QMutexLocker>
-#include <QDebug>
-#include <QtAlgorithms>
-#include <QPointer>
-
-static QPointer<CpTaskExecutor> g_instance;
-
-CpTaskExecutor *CpTaskExecutor::globalInstance()
-{
- if (!g_instance) {
- g_instance = new CpTaskExecutor();
- }
- return g_instance.data();
-}
-
-void CpTaskExecutor::destroyGlobalInstance()
-{
- delete g_instance.data();
-}
-
-CpTaskExecutor::CpTaskExecutor(QObject *parent /*=0*/)
-: QThread(parent), mStopped(false)
-{
-}
-
-CpTaskExecutor::~CpTaskExecutor()
-{
- stop();
-}
-
-bool CpTaskExecutor::runTask(CpTask *task,bool append /*= false*/)
-{
- if (mStopped) {
- if (isRunning()) {
- qDebug() << "thread in stopping process...can not run task.\r\n";
- return false;
- }
- mStopped = false;
- }
-
- if (task) {
- {
- QMutexLocker locker(&mMutex);
- if (append) {
- mTasks.append(task);
- }
- else {
- mTasks.insert(0,task);
- }
- }
-
- if (!isRunning()) {
- qDebug() << "isRunning() == false, call start()\r\n";
- start();
- }
- }
-
- return true;
-}
-
-void CpTaskExecutor::stop()
-{
- if (!mStopped && isRunning() ) {
- mStopped = true;
- removeTasks();
- wait(); //wait for finished
- }
-}
-
-void CpTaskExecutor::removeTasks()
-{
- QMutexLocker locker(&mMutex);
-
- QList<CpTask*>::const_iterator begin(mTasks.begin());
- QList<CpTask*>::const_iterator end(mTasks.end());
- for (; begin != end; ++begin) {
- if ((*begin)->autoDelete()) {
- delete (*begin);
- }
- }
-
- mTasks.clear();
-}
-
-void CpTaskExecutor::run()
-{
- while (!mStopped) {
- CpTask *task = 0;
- {
- QMutexLocker locker(&mMutex);
- if (mTasks.isEmpty()) {
- break;
- }
- task = mTasks.takeFirst();
- }
- try {
- task->execute(&mStopped);
- task->complete(&mStopped);
- }catch(...) {
- qDebug() << "excetion occur when running task\r\n";
- }
-
- if (task->autoDelete()) {
- delete task;
- }
- }
-}
-
-bool CpTaskExecutor::toFront(CpTask *task)
-{
- QMutexLocker locker(&mMutex);
- QList<CpTask*>::iterator foundIterator = ::qFind(mTasks.begin(),mTasks.end(),task);
- if (foundIterator == mTasks.end()) {
- return false;
- }
-
- mTasks.erase(foundIterator);
- mTasks.insert(0,task);
-
- return true;
-}
-
-//End of File
--- a/controlpanelui/src/cpcategorymodel/tsrc/testpluginsforcpcategorymodel/firstpluginforcpcategorymodel/firstpluginforcpcategorymodel.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-TARGET = firstpluginforcpcategorymodel
-
-MOC_DIR = moc
-symbian {
- INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
- INCLUDEPATH += $$MOC_DIR
- TARGET.CAPABILITY = ALL -TCB
- TARGET.EPOCALLOWDLLDATA = 1
-}
-
-CONFIG += hb plugin
-LIBS += -lcpframework
-CONFIG += symbian_test
-
-symbian: plugin { # copy qtstub and manifest
-
- PLUGIN_STUB_PATH = /resource/qt/plugins/controlpanel
-
- deploy.path = C:
- pluginstub.sources = $${TARGET}.dll
- pluginstub.path = $$PLUGIN_STUB_PATH
- DEPLOYMENT += pluginstub
-
- qtplugins.path = $$PLUGIN_STUB_PATH
- qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin
-
- for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
-}
-
-DEPENDPATH += .
-INCLUDEPATH += .
-
-# Input
-HEADERS += src/firstpluginforcpcategorymodel.h \
- src/firstpluginviewforcpcategorymodel.h
-
-SOURCES += src/firstpluginforcpcategorymodel.cpp \
- src/firstpluginviewforcpcategorymodel.cpp
--- a/controlpanelui/src/cpcategorymodel/tsrc/testpluginsforcpcategorymodel/firstpluginforcpcategorymodel/src/firstpluginforcpcategorymodel.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-#include "firstpluginforcpcategorymodel.h"
-#include "firstpluginviewforcpcategorymodel.h"
-#include <cpsettingformentryitemdataimpl.h>
-
-FirstPluginForCpCategoryModel::FirstPluginForCpCategoryModel()
-{
-}
-
-FirstPluginForCpCategoryModel::~FirstPluginForCpCategoryModel()
-{
-}
-QList<CpSettingFormItemData*> FirstPluginForCpCategoryModel::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
-{
- return QList<CpSettingFormItemData*>()
- << new CpSettingFormEntryItemDataImpl<FirstPluginViewForCategoryModel>(
- itemDataHelper,
- tr("The plugin for test"),
- tr("TestPlugin."));
-}
-
-CpBaseSettingView *FirstPluginForCpCategoryModel::createSettingView(const QVariant &hint) const
-{
- return 0;
-}
-
-Q_EXPORT_PLUGIN2(FirstPluginForCpCategoryModel, FirstPluginForCpCategoryModel);
--- a/controlpanelui/src/cpcategorymodel/tsrc/testpluginsforcpcategorymodel/firstpluginforcpcategorymodel/src/firstpluginforcpcategorymodel.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-#ifndef FIRSTPLUGINFORCPCATEGORYMODEL_H
-#define FIRSTPLUGINFORCPCATEGORYMODEL_H
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-#include <cplauncherinterface.h>
-
-class FirstPluginForCpCategoryModel : public QObject, public CpPluginInterface, public CpLauncherInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
- Q_INTERFACES(CpLauncherInterface)
-public:
- FirstPluginForCpCategoryModel();
- virtual ~FirstPluginForCpCategoryModel();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
- virtual CpBaseSettingView *createSettingView(const QVariant &hint) const;
-};
-
-#endif
--- a/controlpanelui/src/cpcategorymodel/tsrc/testpluginsforcpcategorymodel/firstpluginforcpcategorymodel/src/firstpluginviewforcpcategorymodel.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-#include "firstpluginviewforcpcategorymodel.h"
-
-#include <hbdataform.h>
-#include <qstringlist>
-#include <QDebug>
-#include <hbdataformmodel.h>
-#include <cpsettingformitemdata.h>
-#include <hbmessagebox.h>
-
-FirstPluginViewForCategoryModel::FirstPluginViewForCategoryModel(QGraphicsItem *parent)
- : CpBaseSettingView(0,parent),
- mGroupItem(0),
- mSliderItem(0)
-{
- HbDataForm *form = qobject_cast<HbDataForm*>(widget());
- if (form) {
- HbDataFormModel *model = new HbDataFormModel;
-
- form->setHeading(tr("View from test plugin"));
- mGroupItem = new HbDataFormModelItem(HbDataFormModelItem::GroupItem, QString("Group"));
-
- model->appendDataFormItem(mGroupItem);
-
- mSliderItem = new CpSettingFormItemData(HbDataFormModelItem::SliderItem,
- QString("New Slider"));
- mSliderItem->setContentWidgetData("iconEnabled","FALSE");
- form->addConnection(mSliderItem,SIGNAL(valueChanged(int)),this,SLOT(sliderValueChanged(int)));
- mGroupItem->appendChild(mSliderItem);
-
- form->setModel(model);
- }
-}
-FirstPluginViewForCategoryModel::~FirstPluginViewForCategoryModel()
-{
-}
-
-void FirstPluginViewForCategoryModel::testClose()
-{
- close();
-}
-void FirstPluginViewForCategoryModel::sliderValueChanged(int value)
-{
- //Disable the slider alert.
- HbMessageBox::information(QString("slider value changed to:%1").arg(value));
-}
--- a/controlpanelui/src/cpcategorymodel/tsrc/testpluginsforcpcategorymodel/firstpluginforcpcategorymodel/src/firstpluginviewforcpcategorymodel.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-#ifndef FIRSTPLUGINVIEWFORCPCATEGORYMODEL_H
-#define FIRSTPLUGINVIEWFORCPCATEGORYMODEL_H
-
-#include <cpbasesettingview.h>
-#include <QGraphicsItem>
-
-class HbDataFormModelItem;
-class CpSettingFormItemData;
-
-class FirstPluginViewForCategoryModel : public CpBaseSettingView
-{
- Q_OBJECT
-public:
- explicit FirstPluginViewForCategoryModel(QGraphicsItem *parent = 0);
- virtual ~FirstPluginViewForCategoryModel();
-public:
- void testClose();
-private slots:
- void sliderValueChanged(int value);
-
-private:
- HbDataFormModelItem *mGroupItem;
- CpSettingFormItemData *mSliderItem;
-};
-#endif
--- a/controlpanelui/src/cpcategorymodel/tsrc/testpluginsforcpcategorymodel/secondpluginforcpcategorymodel/secondpluginforcpcategorymodel.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-TARGET = secondpluginforcpcategorymodel
-
-MOC_DIR = moc
-symbian {
- INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
- INCLUDEPATH += $$MOC_DIR
- TARGET.CAPABILITY = ALL -TCB
- TARGET.EPOCALLOWDLLDATA = 1
-}
-
-CONFIG += hb plugin
-LIBS += -lcpframework
-CONFIG += symbian_test
-
-symbian: plugin { # copy qtstub and manifest
-
- PLUGIN_STUB_PATH = /resource/qt/plugins/controlpanel
-
- deploy.path = C:
- pluginstub.sources = $${TARGET}.dll
- pluginstub.path = $$PLUGIN_STUB_PATH
- DEPLOYMENT += pluginstub
-
- qtplugins.path = $$PLUGIN_STUB_PATH
- qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin
-
- for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
-}
-
-DEPENDPATH += .
-INCLUDEPATH += .
-
-# Input
-HEADERS += src/secondpluginforcpcategorymodel.h \
- src/secondpluginviewforcpcategorymodel.h
-SOURCES += src/secondpluginforcpcategorymodel.cpp \
- src/secondpluginviewforcpcategorymodel.cpp
-
--- a/controlpanelui/src/cpcategorymodel/tsrc/testpluginsforcpcategorymodel/secondpluginforcpcategorymodel/src/secondpluginforcpcategorymodel.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-#include "secondpluginforcpcategorymodel.h"
-#include "secondpluginviewforcpcategorymodel.h"
-#include <cpsettingformentryitemdataimpl.h>
-
-SecondPluginForCpCategoryModel::SecondPluginForCpCategoryModel()
-{
-}
-
-SecondPluginForCpCategoryModel::~SecondPluginForCpCategoryModel()
-{
-}
-QList<CpSettingFormItemData*> SecondPluginForCpCategoryModel::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
-{
- return QList<CpSettingFormItemData*>()
- << new CpSettingFormEntryItemDataImpl<SecondPluginViewForCategoryModel>(
- itemDataHelper,
- tr("The plugin for test"),
- tr("TestPlugin."));
-}
-
-CpBaseSettingView *SecondPluginForCpCategoryModel::createSettingView(const QVariant &hint) const
-{
- return 0;
-}
-
-Q_EXPORT_PLUGIN2(SecondPluginForCpCategoryModel, SecondPluginForCpCategoryModel);
--- a/controlpanelui/src/cpcategorymodel/tsrc/testpluginsforcpcategorymodel/secondpluginforcpcategorymodel/src/secondpluginforcpcategorymodel.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-#ifndef SECONDPLUGINFORCPCATEGORYMODEL_H
-#define SECONDPLUGINFORCPCATEGORYMODEL_H
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-#include <cplauncherinterface.h>
-
-class SecondPluginForCpCategoryModel : public QObject, public CpPluginInterface, public CpLauncherInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
- Q_INTERFACES(CpLauncherInterface)
-public:
- SecondPluginForCpCategoryModel();
- virtual ~SecondPluginForCpCategoryModel();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
- virtual CpBaseSettingView *createSettingView(const QVariant &hint) const;
-};
-
-#endif
--- a/controlpanelui/src/cpcategorymodel/tsrc/testpluginsforcpcategorymodel/secondpluginforcpcategorymodel/src/secondpluginviewforcpcategorymodel.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-#include "secondpluginviewforcpcategorymodel.h"
-
-#include <hbdataform.h>
-#include <qstringlist>
-#include <QDebug>
-#include <hbdataformmodel.h>
-#include <cpsettingformitemdata.h>
-#include <hbmessagebox.h>
-
-SecondPluginViewForCategoryModel::SecondPluginViewForCategoryModel(QGraphicsItem *parent)
- : CpBaseSettingView(0,parent),
- mGroupItem(0),
- mSliderItem(0)
-{
- HbDataForm *form = qobject_cast<HbDataForm*>(widget());
- if (form) {
- HbDataFormModel *model = new HbDataFormModel;
-
- form->setHeading(tr("View from test plugin"));
- mGroupItem = new HbDataFormModelItem(HbDataFormModelItem::GroupItem, QString("Group"));
-
- model->appendDataFormItem(mGroupItem);
-
- mSliderItem = new CpSettingFormItemData(HbDataFormModelItem::SliderItem,
- QString("New Slider"));
- mSliderItem->setContentWidgetData("iconEnabled","FALSE");
- form->addConnection(mSliderItem,SIGNAL(valueChanged(int)),this,SLOT(sliderValueChanged(int)));
- mGroupItem->appendChild(mSliderItem);
-
- form->setModel(model);
- }
-}
-SecondPluginViewForCategoryModel::~SecondPluginViewForCategoryModel()
-{
-}
-
-void SecondPluginViewForCategoryModel::testClose()
-{
- close();
-}
-void SecondPluginViewForCategoryModel::sliderValueChanged(int value)
-{
- //Disable the slider alert.
- HbMessageBox::information(QString("slider value changed to:%1").arg(value));
-}
--- a/controlpanelui/src/cpcategorymodel/tsrc/testpluginsforcpcategorymodel/secondpluginforcpcategorymodel/src/secondpluginviewforcpcategorymodel.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-#ifndef SECONDPLUGINVIEWFORCPCATEGORYMODEL_H
-#define SECONDPLUGINVIEWFORCPCATEGORYMODEL_H
-
-#include <cpbasesettingview.h>
-#include <QGraphicsItem>
-
-class HbDataFormModelItem;
-class CpSettingFormItemData;
-
-class SecondPluginViewForCategoryModel : public CpBaseSettingView
-{
- Q_OBJECT
-public:
- explicit SecondPluginViewForCategoryModel(QGraphicsItem *parent = 0);
- virtual ~SecondPluginViewForCategoryModel();
-public:
- void testClose();
-private slots:
- void sliderValueChanged(int value);
-
-private:
- HbDataFormModelItem *mGroupItem;
- CpSettingFormItemData *mSliderItem;
-};
-#endif
--- a/controlpanelui/src/cpcategorymodel/tsrc/unit_common.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-QT += testlib
-CONFIG += hb qtestlib
-
-QMAKE_EXTRA_TARGETS += test autotest
-
-symbian {
- INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
- INCLUDEPATH += $$MW_LAYER_PLATFORM_EXPORT_PATH(cplogger)
- TARGET.CAPABILITY = ALL -TCB
-}
-
-
-
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_categorymodelitemdata/data/pluginfileformodelitemdata.cpcfg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<childplugins>
- <plugin displayname = "firstpluginforcpcategorymodel" dll = "firstpluginforcpcategorymodel.dll">
- <desc></desc>
- </plugin>
-</childplugins>
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_categorymodelitemdata/runtest.bat Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description:
-@rem
-
-\epoc32\RELEASE\WINSCW\udeb\ut_categorymodelitemdata.exe -xml -o c:\ut_categorymodelitemdata.xml
-copy \epoc32\winscw\c\ut_categorymodelitemdata.xml
-del \epoc32\winscw\c\ut_categorymodelitemdata.xml
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_categorymodelitemdata/src/ut_categorymodelitemdata.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* test application for qt cpcategorymodel functions.
-*/
-
-#include "ut_categorymodelitemdata.h"
-#include "cpcategorysettingformitemdata.h"
-#include <QtTest/QtTest>
-#include <cpitemdatahelper.h>
-#include <hbdataformmodel.h>
-#include <hbdataformmodelitem.h>
-#include <HbView.h>
-
-/*!
- \class TestCpCategorySettingFormItem \n
- \brief class name: TestCpCategorySettingFormItem \n
- type of test case: unit test \n
- test cases' number totally: 3 \n
- */
-
-void TestCpCategorySettingFormItem::initTestCase()
-{
- // initialize public test data here
-}
-
-/*!
- Test Case Description: \n
- 1. Fucntion Name: \n
- CpCategorySettingFormItemData(HbDataFormModelItem::DataItemType type,
- const QString &label,
- const QString &configFile,
- const HbDataFormModelItem *parent = 0) \n
- 2. Case Descrition: Test the first constructor function. \n
- 3. Input Parameters: \n
- (1) type = HbDataFormModelItem::DataItemType,
- label = QString("XX"),
- configFile = QString("XX"),
- parent = new HbDataFormModelItem() \n
- (2) type = HbDataFormModelItem::DataItemType,
- label = QString(),
- configFile = QString(),
- parent = new HbDataFormModelItem()\n
- 4. Expected result: \n
- (1) no crash\n
- (2) no crash \n
- */
-void TestCpCategorySettingFormItem::testFirstConstructor()
-{
- HbDataFormModelItem::DataItemType aType = HbDataFormModelItem::CheckBoxItem;
- QString aLabel = "testLabel";
- QString configFile = "testFile";
- HbDataFormModelItem *pParent = new HbDataFormModelItem();
-
- CpCategorySettingFormItemData *pCategoryItemData = new CpCategorySettingFormItemData(aType, aLabel, configFile, pParent);
- QVERIFY(pCategoryItemData != 0 );
- QVERIFY(pCategoryItemData->type()== aType);
- delete pParent;
-
- pCategoryItemData = new CpCategorySettingFormItemData(aType, QString(), QString(), 0);
- QVERIFY(pCategoryItemData != 0 );
- QVERIFY(pCategoryItemData->type()== aType);
- delete pCategoryItemData;
-}
-
-/*!
- Test Case Description: \n
- 1. Fucntion Name: \n
- explicit CpCategorySettingFormItemData(const QString &configFile = QString(), const HbDataFormModelItem *parent = 0);
- 2. Case Descrition: \n
- Test the second constructor function. \n
- 3. Input Parameters: \n
- (1) configFile = QString("XX"), *parent = new HbDataFormModelItem()\n
- (2) configFile = QString(""), *parent = new HbDataFormModelItem() \n
- 4. Expected result: \n
- (1) no crash \n
- (2) no crash
- */
-void TestCpCategorySettingFormItem::testSecondConstructor()
-{
- QString configFile = "testFile";
- HbDataFormModelItem *pParent = new HbDataFormModelItem();
- CpCategorySettingFormItemData *pCategoryItemData = new CpCategorySettingFormItemData(configFile, pParent);
- delete pParent;
-
- pCategoryItemData = new CpCategorySettingFormItemData(QString(), 0);
- QVERIFY(pCategoryItemData != 0 );
- delete pCategoryItemData;
- pCategoryItemData = 0;
-
- pCategoryItemData = new CpCategorySettingFormItemData();
- QVERIFY(pCategoryItemData != 0 );
- delete pCategoryItemData;
-}
-
-/*!
- Test Case Description: \n
- 1. Fucntion Name: void initialize(CpItemDataHelper &itemDataHelper); \n
- 2. Case Descrition: Test the initialize() function. \n
- 3. Input Parameters: (1) itemDataHelper = new itemDataHelper() \n
- 4. Expected result: (1) no crash \n
- */
-void TestCpCategorySettingFormItem::testInit()
-{
- CpItemDataHelper *itemDataHelper = new CpItemDataHelper();
- QString configFile = "pluginfileformodelitemdata.cpcfg";
- HbDataFormModelItem *pParent = new HbDataFormModelItem();
- CpCategorySettingFormItemData *pCategoryItemData = new CpCategorySettingFormItemData(configFile, pParent);
- QVERIFY(pCategoryItemData != 0 );
- // mInitialized = FALSE
- pCategoryItemData->initialize(*itemDataHelper);
- // call initialize() again in order to test another branch (mInitialized = TRUE)
- pCategoryItemData->initialize(*itemDataHelper);
- delete itemDataHelper;
- delete pParent;
-}
-
-void TestCpCategorySettingFormItem::cleanupTestCase()
-{
- // release all test data
- QCoreApplication::processEvents();
-}
-
-QTEST_MAIN(TestCpCategorySettingFormItem)
-//QTEST_APPLESS_MAIN(TestCpCategorySettingFormItem)
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_categorymodelitemdata/src/ut_categorymodelitemdata.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* test the functions in cpcategorysettingformmodel class
-*/
-
-#ifndef UT_CATEGORYMODELITEMDATA_H_
-#define UT_CATEGORYMODELITEMDATA_H_
-
-#include <QObject>
-class TestCpCategorySettingFormItem :public QObject
-{
- Q_OBJECT
-private slots:
-
- void initTestCase();
-
- void testFirstConstructor(); // test the constructor
- void testSecondConstructor(); // test the constructor
- void testInit(); // test the initialize function
-
- void cleanupTestCase();
-};
-#endif /* UT_CATEGORYMODELITEMDATA_H_ */
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_categorymodelitemdata/ut_categorymodelitemdata.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = app
-TARGET = ut_categorymodelitemdata
-QT += testlib
-CONFIG += hb qtestlib
-CONFIG += symbian_test
-
-QMAKE_EXTRA_TARGETS += test autotest
-
-DEPENDPATH += .
-
-INCLUDEPATH += ../../src \
- ../../../inc
-
-LIBS += -lcpframework
-LIBS += -lcpcategorymodel
-
-# Input
-HEADERS += src/ut_categorymodelitemdata.h
-SOURCES += src/ut_categorymodelitemdata.cpp
-
-symbian*: {
- TARGET.CAPABILITY = CAP_APPLICATION
- LIBS += -lfirstpluginforcpcategorymodel
-
- deploy.path = C:
- testdll.sources += firstpluginforcpcategorymodel.dll
- testdll.path = /sys/bin
-
- testqtplugin.sources += ../testpluginsforcpcategorymodel/firstpluginforcpcategorymodel/qmakepluginstubs/firstpluginforcpcategorymodel.qtplugin
- testqtplugin.path = /resource/qt/plugins/controlpanel
-
- testqtcfgfile.sources += data/pluginfileformodelitemdata.cpcfg
- testqtcfgfile.path = /resource/qt/plugins/controlpanel/config
-
- DEPLOYMENT += testdll \
- testqtplugin \
- testqtcfgfile
-}
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_categorymodelutility/data/configfiletestformodelutility.cpcfg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-<childplugins>
- <plugin displayname = "" id = "" dll = "firstpluginforcpcategorymodel.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "" id = "" dll = "secondpluginforcpcategorymodel.dll">
- <desc></desc>
- </plugin>
-</childplugins>
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_categorymodelutility/runtest.bat Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description:
-@rem
-
-\epoc32\RELEASE\WINSCW\udeb\ut_categorymodelutility.exe -xml -o c:\ut_categorymodelutility.xml
-copy \epoc32\winscw\c\ut_categorymodelutility.xml
-del \epoc32\winscw\c\ut_categorymodelutility.xml
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_categorymodelutility/src/cptestpluginentryitem.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-#include "CpTestPluginEntryItem.h"
-
-#include <cpitemdatahelper.h>
-#include <hbaction.h>
-#include <QFileInfo>
-CpTestPluginEntryItemData::CpTestPluginEntryItemData(const HbDataFormModelItem *parent /* = 0*/)
-{
-
-}
-CpTestPluginEntryItemData::CpTestPluginEntryItemData(CpItemDataHelper &itemDataHelper,
- const QString &text /*= QString()*/,
- const QString &description /*= QString()*/,
- const HbIcon &icon /*= HbIcon()*/,
- const HbDataFormModelItem *parent /*= 0*/)
- : CpSettingFormEntryItemData(itemDataHelper,
- text,
- description,
- icon,
- parent)
-{
-}
-
-CpTestPluginEntryItemData::~CpTestPluginEntryItemData()
-{
-}
-
-void CpTestPluginEntryItemData::testOnLaunchView()
-{
- onLaunchView();
-}
-CpBaseSettingView *CpTestPluginEntryItemData::createSettingView() const
-{
- return 0;
-}
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_categorymodelutility/src/cptestpluginentryitem.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-#ifndef CPTESTPLUGINENTRYITEM_H
-#define CPTESTPLUGINENTRYITEM_H
-#include <cpsettingformentryitemdata.h>
-
-class CpTestPluginEntryItemData : public CpSettingFormEntryItemData
-{
- Q_OBJECT
-public:
- explicit CpTestPluginEntryItemData(const HbDataFormModelItem *parent /* = 0*/);
- explicit CpTestPluginEntryItemData(CpItemDataHelper &itemDataHelper,
- const QString &text = QString(),
- const QString &description = QString(),
- const HbIcon &icon = HbIcon(),
- const HbDataFormModelItem *parent = 0);
- virtual ~CpTestPluginEntryItemData();
-public slots:
- void testOnLaunchView();
-private:
- virtual CpBaseSettingView *createSettingView() const;
-};
-#endif // CPTESTPLUGINENTRYITEM_H
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_categorymodelutility/src/ut_categorymodelutility.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* test application for qt cpcategorymodel functions.
-*/
-
-#include "ut_categorymodelutility.h"
-#include "cptestpluginentryitem.h"
-#include <cpsettingformentryitemData.h>
-#include "cpcategorysettingformitemdata.h"
-#include "cpcategorysettingformmodel.h"
-#include "cppluginconfig.h"
-#include "cpcategorymodelutility.h"
-#include <QtTest/QtTest>
-//#include <cpplaceholderitemdata.h>
-#include <cppluginconfigreader.h>
-#include <cpitemdatahelper.h>
-//#include <cpbasepath.h>
-//#include <cpevent.h>
-
-
-//the class for test
-#include "cpcategorymodelutility.h"
-/*!
- \class TestCpCategoryModelUtility \n
- \brief class name: TestCpCategoryModelUtility \n
- type of test case: unit test \n
- test cases' number totally: 7 \n
- */
-
-void TestCpCategoryModelUtility::initTestCase()
-{
- // initialize public test data here
-
-}
-
-/*!
- Test Case Description: \n
- 1. Fucntion Name: \n
- static bool setEntryItemContentIfEmpty(CpSettingFormItemData *itemData,
- const QString &displayName,
- const QString &description) \n
- 2. Case Descrition: \n
- Test the function when setting itemData as 0. \n
- 3. Input Parameters:\n
- <1> itemData = 0, QString(), QString() \n
- 4. Expected result: \n
- <1> bSetResult = false \n
- */
-void TestCpCategoryModelUtility::testSetEntryItemReturnFalse()
-{
- bool bSetResult = CpCategoryModelUtility::setEntryItemContentIfEmpty(0, QString(), QString());
- QVERIFY(bSetResult == false);
-}
-
-/*!
- Test Case Description: \n
- 1. Fucntion Name: \n
- static bool setEntryItemContentIfEmpty(CpSettingFormItemData *itemData,
- const QString &displayName,
- const QString &description) \n
- 2. Case Descrition: \n
- setEntryItemContentIfEmpty \n
- 3. Input Parameters:\n
- new a subclass from CpSettingFormEntryItemData firstly. \n
- <1> itemData = new CpTestPluginEntryItemData(CpItemDataHelper, QString(XX), QString(XX),HbIcon(QString(XX))), \n
- newText = QString(XX), \n
- newDes = QString(XX),\n
- newIconName = QString(XX).\n
- <2> itemData = new CpTestPluginEntryItemData(CpItemDataHelper, QString(),QString(), HbIcon())\n
- newText = QString(XX),\n
- newDes = QString(XX) \n
- 4. Expected result: \n
- <1> bSetResult = true,\n
- <2> bSetResult = true, \n
- */
-void TestCpCategoryModelUtility::testSetEntryItemContent()
-{
- CpItemDataHelper *pHelper = new CpItemDataHelper();
- QString textNotEmpty = "TextNotEmpty";
- QString description = "descriptionNotEmpty";
- QString iconName = "iconNameNotEmpty";
- HbIcon icon = HbIcon(iconName);
- CpTestPluginEntryItemData *itemData1 = new CpTestPluginEntryItemData(*pHelper, textNotEmpty, description,icon);
- QString newText = "newSetText";
- QString newDes = "newSetdescription";
- bool bSetResult1 = CpCategoryModelUtility::setEntryItemContentIfEmpty(itemData1, newText, newDes);
- QVERIFY(bSetResult1 == true);
- // verify the text, description and icon name cannot be set when they are not empty.
- QVERIFY( itemData1->text() == textNotEmpty );
- QVERIFY( itemData1->description() == description );
- QVERIFY( itemData1->iconName() == iconName );
- delete itemData1;
-
- CpTestPluginEntryItemData *itemData2 = new CpTestPluginEntryItemData(*pHelper, QString(), QString(),HbIcon());
- bool bSetResult2 = CpCategoryModelUtility::setEntryItemContentIfEmpty(itemData2, newText, newDes);
- QVERIFY(bSetResult2 == true);
- // verify the text, description and icon name are set as default when they are empty.
- QVERIFY(itemData2->text() == newText);
- QVERIFY( itemData2->description() == newDes );
- QString temp = itemData2->iconName();
- QString newIconName = QLatin1String(":/icon/qgn_prop_set_default_sub.svg");
- QVERIFY( itemData2->iconName() == newIconName );
- delete itemData2;
- delete pHelper;
-}
-
-/*!
- Test Case Description: \n
- 1. Fucntion Name: drives()\n
- 2. Case Descrition: \n
- Verify that it can get all physical drives of the devices \n
- 3. Input Parameters: none \n
- 4. Expected result: dirs.count() != 0 \n
- */
-void TestCpCategoryModelUtility::testDrives()
-{
- QStringList dirs = CpCategoryModelUtility::drives();
- // verify the drives "C:, D:, Z:" are contained in the string list.
- QVERIFY( dirs.contains( "C:", Qt::CaseSensitive ) );
- QVERIFY( dirs.contains( "D:", Qt::CaseSensitive ) );
- QVERIFY( dirs.contains( "Z:", Qt::CaseSensitive ) );
-}
-
-/*!
- Test Case Description: \n
- 1. Fucntion Name: configFileDirectories() \n
- 2. Case Descrition: \n
- Verify that it can get all config directories of the device \n
- 3. Input Parameters: none \n
- 4. Expected result: dirs.count() != 0 \n
- */
-void TestCpCategoryModelUtility::testPluginDirectories()
-{
- QStringList dirs = CpCategoryModelUtility::pluginDirectories();
- qDebug() << dirs;
- // Verify the right plugin directory path is returned.
- QVERIFY( dirs.contains( QString( "C:/resource/qt/plugins/controlpanel" ) + QDir::separator(), Qt::CaseSensitive ) );
-}
-
-/*!
- Test Case Description: \n
- 1. Fucntion Name: configFileDirectories() \n
- 2. Case Descrition: Verify that it can get all config directories of the device. \n
- 3. Input Parameters: none \n
- 4. Expected result: dirs.count() != 0 \n
- */
-void TestCpCategoryModelUtility::testConfigFileDirectories()
-{
- QStringList dirs = CpCategoryModelUtility::configFileDirectories();
- qDebug() << dirs;
- // Verify the right config file directory path is returned.
- QVERIFY( dirs.contains( QString( "C:/resource/qt/plugins/controlpanel/config" ) + QDir::separator(), Qt::CaseSensitive ) );
-}
-
-/*!
- Test Case Description: \n
- 1. Fucntion Name: buildConfigPluginItems()\n
- 2. Case Descrition: Verify that it can load the plugins via the plugin config file and create item data of the corresponding plugin succesfully.\n
- 3. Input Parameters:\n
- <1> parent = HbDataFormModelItem(), configFile = QString(XX), pHelper = new CpItemDataHelper(), startPosition = -10\n
- <2> parent = HbDataFormModelItem(), configFile = QString(), pHelper = new CpItemDataHelper(), startPosition = 1\n
-
- 4. Expected result: \n
- <1> parent->childCount() == 2 \n
- <2> parent->childCount() == 2 \n
- */
-void TestCpCategoryModelUtility::testBuildConfigPluginItems()
-{
-// HbDataFormModelItem *parent = new HbDataFormModelItem();
-// QString configFile = "configfiletestformodelutility.cpcfg";
-// int startPosition = 1;
-//
-// CpItemDataHelper helper;
-// CpCategoryModelUtility::buildConfigPluginItems(parent, configFile, helper, startPosition);
-// int childCount = parent->childCount();
-// // the configfiletestformodelutility.cpcfg contains two control panel plugins.
-// QVERIFY( parent->childCount() == 2 );
-//
-// CpCategoryModelUtility::buildConfigPluginItems(parent, configFile, helper, -10);
-// QVERIFY( parent->childCount() == 2 );
-//
-// delete parent;
-}
-
-/*!
- Test Case Description: \n
- 1. Fucntion Name: CreateCpPluginItemData() \n
- 2. Case Descrition: \n
-
- 3. Input Parameters: \n
-
- 4. Expected result: \n
-
- */
-void TestCpCategoryModelUtility::testCreateCpPluginItemData()
-{
- //
-}
-
-/*!
- Descrition of what you will do in this function
- */
-void TestCpCategoryModelUtility::cleanupTestCase()
-{
- // release all test data
- QCoreApplication::processEvents();
-}
-
-QTEST_MAIN(TestCpCategoryModelUtility)
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_categorymodelutility/src/ut_categorymodelutility.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* test the functions in cpcategorysettingformmodel class
-*/
-
-#ifndef UT_CATEGORYMODELUTILITY_H_
-#define UT_CATEGORYMODELUTILITY_H_
-
-#include <QObject>
-
-class TestCpCategoryModelUtility :public QObject
-{
- Q_OBJECT
-private slots:
-
- void initTestCase();
-
- void testSetEntryItemReturnFalse(); // test the setEntryItemContentIfEmpty() function can return false
- void testSetEntryItemContent(); //
- void testDrives(); // test the drives() function
- void testPluginDirectories(); // test the pluginDirectories() function
- void testConfigFileDirectories(); // test the configFileDirectories() function
- void testBuildConfigPluginItems(); // test the buildConfigPluginItems() function
- void testCreateCpPluginItemData();
- void cleanupTestCase();
-};
-#endif /* UT_CATEGORYMODELUTILITY_H_ */
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_categorymodelutility/ut_categorymodelutility.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = app
-TARGET = ut_categorymodelutility
-
-QT += testlib
-CONFIG += hb qtestlib
-CONFIG += symbian_test
-
-DEPENDPATH += .
-
-QMAKE_EXTRA_TARGETS += test autotest
-
-include ( ../../../common.pri )
-include (../unit_common.pri)
-include(../../../inc/inc.pri)
-include(../../cpcategorymodel.pri)
-
-LIBS += -lcpframework -lcplogger
-
-CONFIG += Hb xml
-DEFINES += BUILD_CPCATEGORY_GLOBAL
-
-symbian*: {
- TARGET.CAPABILITY = CAP_APPLICATION
- LIBS += -lfirstpluginforcpcategorymodel \
- -lsecondpluginforcpcategorymodel
-
- deploy.path = C:
- testdlls.sources += firstpluginforcpcategorymodel.dll \
- secondpluginforcpcategorymodel.dll
- testdlls.path = /sys/bin
-
- testqtplugins.sources += ../testpluginsforcpcategorymodel/firstpluginforcpcategorymodel/qmakepluginstubs/firstpluginforcpcategorymodel.qtplugin \
- ../testpluginsforcpcategorymodel/secondpluginforcpcategorymodel/qmakepluginstubs/secondpluginforcpcategorymodel.qtplugin
- testqtplugins.path = /resource/qt/plugins/controlpanel
-
- testqtcfgfile.sources += data/configfiletestformodelutility.cpcfg
- testqtcfgfile.path = /resource/qt/plugins/controlpanel/config
-
- DEPLOYMENT += testdlls \
- testqtplugins \
- testqtcfgfile
-}
-HEADERS += src/*.h
-SOURCES += src/*.cpp
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_cpcategorysettingformmodel/data/pluginfileforformmodel.cpcfg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<childplugins>
- <plugin displayname = "firstpluginforcpcategorymodel" dll = "firstpluginforcpcategorymodel.dll">
- <desc></desc>
- </plugin>
-</childplugins>
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_cpcategorysettingformmodel/runtest.bat Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description:
-@rem
-
-\epoc32\RELEASE\WINSCW\udeb\ut_cpcategorysettingformmodel.exe -xml -o c:\ut_cpcategorysettingformmodel.xml
-copy \epoc32\winscw\c\ut_cpcategorysettingformmodel.xml
-del \epoc32\winscw\c\ut_cpcategorysettingformmodel.xml
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_cpcategorysettingformmodel/src/ut_cpcategorysettingformmodel.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* test application for qt cpcategorymodel functions.
-*/
-
-#include "ut_cpcategorysettingformmodel.h"
-
-#include <QtTest/QtTest>
-#include <cpitemdatahelper.h>
-#include <hbdataformmodel.h>
-#include <hbdataformmodelitem.h>
-#include <HbView.h>
-//the class for test
-#include "cpcategorysettingformmodel.h"
-/*!
- \class TestCpCategorySettingFormModel
- \brief describe the test case's goal, like: \n
- class name: cpcategorysettingformmodel \n
- class's description \n
- type of test case: unit test \n
- test cases' number totally: 2\n
- */
-
-void TestCpCategorySettingFormModel::initTestCase()
-{
- // initialize public test data here
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: explicit CpCategorySettingFormModel(const QString &configFile);\n
- 2. Case Descrition: test the constructor function. \n
- 3. Input Parameters: \n
- (1) configFile = QString("pluginfileforformmodel.cpcfg")\n
- (2) configFile = QString()\n
- (3) conFile = QString("invaildConfigFile")\n
-4. Expected result: \n
- (1) no crash\n
- (2) no crash\n
- (3) no crash \n
- */
-void TestCpCategorySettingFormModel::testConstructor()
-{
- CpCategorySettingFormModel *testCategoryModel = new CpCategorySettingFormModel(QString("pluginfileforformmodel.cpcfg"));
- QVERIFY(testCategoryModel!=0);
- delete testCategoryModel;
- testCategoryModel = 0;
- testCategoryModel = new CpCategorySettingFormModel(QString());
- QVERIFY(testCategoryModel!=0);
- delete testCategoryModel;
- testCategoryModel = 0;
- testCategoryModel = new CpCategorySettingFormModel(QString("invaildConfigFile"));
- QVERIFY(testCategoryModel!=0);
- delete testCategoryModel;
- testCategoryModel = 0;
-}
-
-/*!
- Test Case Description: \n
- 1. Fucntion Name: virtual void initialize(CpItemDataHelper &itemDataHelper)\n
- 2. Case Descrition: Verify that it can initialize the new categoryformmodel. \n
- 3. Input Parameters: (1) itemDataHelper = CpItemDataHelper\n
- 4. Expected result: (1) no crash\n
- */
-void TestCpCategorySettingFormModel::testInit()
-{
- CpCategorySettingFormModel *testCategoryModel = new CpCategorySettingFormModel(QString("pluginfileforformmodel.cpcfg"));
- CpItemDataHelper *pHelper = new CpItemDataHelper();
- testCategoryModel->initialize(*pHelper);
- // set mInitialized = TRUE
- testCategoryModel->initialize(*pHelper);
- delete testCategoryModel;
- testCategoryModel = 0;
- delete pHelper;
- pHelper = 0;
-}
-
-/*!
- Release all the test data.
- */
-void TestCpCategorySettingFormModel::cleanupTestCase()
-{
- // release all test data
- QCoreApplication::processEvents();
-}
-
-QTEST_MAIN(TestCpCategorySettingFormModel)
-//QTEST_APPLESS_MAIN(TestCpCategorySettingFormModel)
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_cpcategorysettingformmodel/src/ut_cpcategorysettingformmodel.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* test the functions in cpcategorysettingformmodel class
-*/
-
-#ifndef UT_CPCATEGORYSETTINGFORMMODEL_H_
-#define UT_CPCATEGORYSETTINGFORMMODEL_H_
-
-#include <QObject>
-class TestCpCategorySettingFormModel :public QObject
-{
- Q_OBJECT
-private slots:
-
- void initTestCase();
-
- void testConstructor(); // test the constructor
- void testInit(); // test the initialize() funtion
-
- void cleanupTestCase();
-};
-#endif /* UT_CPCATEGORYSETTINGFORMMODEL_H_ */
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_cpcategorysettingformmodel/ut_cpcategorysettingformmodel.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = app
-TARGET = ut_cpcategorysettingformmodel
-QT += testlib
-CONFIG += hb qtestlib
-CONFIG += symbian_test
-
-
-QMAKE_EXTRA_TARGETS += test autotest
-
-DEPENDPATH += .
-
-INCLUDEPATH += ../../src \
- ../../../inc
-
-LIBS += -lcpframework
-LIBS += -lcpcategorymodel
-
-# Input
-HEADERS += src/ut_cpcategorysettingformmodel.h
-SOURCES += src/ut_cpcategorysettingformmodel.cpp
-
-symbian*: {
- TARGET.CAPABILITY = CAP_APPLICATION
- LIBS += -lfirstpluginforcpcategorymodel
-
- deploy.path = C:
- testdll.sources += firstpluginforcpcategorymodel.dll
- testdll.path = /sys/bin
-
- testqtplugin.sources += data/firstpluginforcpcategorymodel.qtplugin
- testqtplugin.path = /resource/qt/plugins/controlpanel
-
- testqtcfgfile.sources += data/pluginfileforformmodel.cpcfg
- testqtcfgfile.path = /resource/qt/plugins/controlpanel/config
-
- DEPLOYMENT += testdll \
- testqtplugin \
- testqtcfgfile
-}
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_cppluginconfigreader/data/pluginfilewithemptychildelement.cpcfg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-<childplugins>
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_cppluginconfigreader/data/pluginfilewithoutattrs.cpcfg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<childplugins>
- <plugin>
- <desc></desc>
- </plugin>
-</childplugins>
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_cppluginconfigreader/data/pluginfilewithwrongchildtag.cpcfg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<wrongchildplugins>
- <plugin displayname = "Ring tone" id = "0X20028738" dll = "cpringtoneplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Theme" id = "0X2002C2F3" dll = "cpthemeplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Profile" id = "0X20028739" dll = "cpprofileactivator.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Key touch screen" id = "0X20025FDE" dll = "cpkeytouchfdbkplugin.dll">
- <desc></desc>
- </plugin>
-</childplugins
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_cppluginconfigreader/data/pluginfilewithwrongdesctag.cpcfg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<childplugins>
- <plugin displayname = "Ring tone" id = "0X20028738" dll = "cpringtoneplugin.dll">
-
- </plugin>
- <plugin displayname = "Profile" id = "0X20028739" dll = "cpprofileactivator.dll">
- <wrongdesc></wrongdesc>
- </plugin>
- <plugin displayname = "Key touch screen" id = "0X20025FDE" dll = "cpkeytouchfdbkplugin.dll">
- <desc></wrongdesc>
- </plugin>
-</childplugins>
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_cppluginconfigreader/data/pluginfilewithwrongplugintag.cpcfg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-<childplugins>
- <wrongplugintag displayname = "Ring tone" id = "0X20028738" dll = "cpringtoneplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Theme" id = "0X2002C2F3" dll = "cpthemeplugin.dll">
- <desc></desc>
- </wrong plugin
-</childplugins>
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_cppluginconfigreader/data/pluginfortest.cpcfg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<childplugins>
- <plugin displayname = "Ring tone" id = "0X20028738" dll = "cpringtoneplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Theme" id = "0X2002C2F3" dll = "cpthemeplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Profile" id = "0X20028739" dll = "cpprofileactivator.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Key touch screen" id = "0X20025FDE" dll = "cpkeytouchfdbkplugin.dll">
- <desc></desc>
- </plugin>
-</childplugins>
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_cppluginconfigreader/runtest.bat Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description:
-@rem
-
-\epoc32\RELEASE\WINSCW\udeb\ut_cppluginconfigreader.exe -xml -o c:\ut_cppluginconfigreader.xml
-copy \epoc32\winscw\c\ut_cppluginconfigreader.xml
-del \epoc32\winscw\c\ut_cppluginconfigreader.xml
\ No newline at end of file
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_cppluginconfigreader/src/ut_cppluginconfigreader.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,226 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* test the functions in cppluginconfigreader class
-*/
-
-#include "ut_cppluginconfigreader.h"
-#include <QtTest/QtTest>
-#include <cppluginconfigreader.h>
-#include <cpbasepath.h>
-#include <qdir.h>
-
-/*!
- class name: cppluginconfigreader
- class's description:
- type of test case: unit test
- test cases' number totally: \n
-*/
-
-/*!
- Description of test data \n
- */
-void TestCppluginConfigReader::initTestCase()
-{
- // initialize public test data here
-}
-
-void TestCppluginConfigReader::testConstructor()
-{
- CpPluginConfigReader * pReader = new CpPluginConfigReader(CP_PLUGIN_CONFIG_PATH + QDir::separator() + "mainview.cpcfg");
- QVERIFY(pReader!=0);
- delete pReader;
-}
-
-/*!
- Test Case Description: \n
- 1. Function Name: \n
- QList<CpPluginConfig> readCpPluginConfigs();\n
- 2. Case Descrition: \n
- Verify that the valid config file can be read correctly. \n
- 3. Input Parameters:\n
- <1> valid configfiles: pluginfortest.cpcfg \n
- 4. Expected result: \n
- <1> return the correct plugin number \n
- */
-void TestCppluginConfigReader::testReadValidConfigFile()
-{
- CpPluginConfigReader * pReader = new CpPluginConfigReader(CP_PLUGIN_CONFIG_PATH + QDir::separator() + "pluginfortest.cpcfg");
- QVERIFY(pReader!=0);
- mCorrectConfig = pReader->readCpPluginConfigs();
- QVERIFY(mCorrectConfig.count() == 4 );
- delete pReader;
- pReader = 0;
-}
-/*!
- Test Case Description: \n
- 1. Function Name: \n
- QList<CpPluginConfig> readCpPluginConfigs(); \n
- 2. Case Descrition: \n
- Verify the empty config file path can be dealed without any crash. \n
- 3. Input Parameters: \n
- <1> empty config plugin path \n
- <2> config plugin path = null \n
- 4. Expected result: \n
- <1> no crash \n
- <2> no crash \n
- */
-void TestCppluginConfigReader::testReadEmptyConfigFilePath()
-{
- CpPluginConfigReader * pReader = new CpPluginConfigReader("");
- QVERIFY(pReader!=0);
- mCorrectConfig = pReader->readCpPluginConfigs();
- QVERIFY(mCorrectConfig.count() == 0 );
- delete pReader;
- pReader = 0;
- pReader = new CpPluginConfigReader(0);
- QVERIFY(pReader!=0);
- mCorrectConfig = pReader->readCpPluginConfigs();
- QVERIFY(mCorrectConfig.count() == 0 );
- delete pReader;
- pReader = 0;
-}
-/*!
- Test Case Description: \n
- 1. Function Name: \n
- QList<CpPluginConfig> readCpPluginConfigs(); \n
- 2. Case Descrition: \n
- Verify that the empty config file could be read. \n
- 3. Input Parameters: \n
- <1> empty config file "emptypluginfortest.cpcfg" \n
- 4. Expected result: \n
- <1> no crash \n
- */
-void TestCppluginConfigReader::testReadEmptyConfigFile()
-{
- CpPluginConfigReader * pReader = new CpPluginConfigReader(CP_PLUGIN_CONFIG_PATH + QDir::separator() + "emptypluginfortest.cpcfg");
- QVERIFY(pReader!=0);
- mCorrectConfig = pReader->readCpPluginConfigs();
- QVERIFY(mCorrectConfig.count() == 0 );
- delete pReader;
- pReader = 0;
-}
-/*!
- Test Case Description: \n
- 1. Function Name: \n
- void readCpPluginConfigs(QXmlStreamReader &xmlReader,QList<CpPluginConfig> &cpPluginConfigList) \n
- 2. Case Descrition: \n
- Verify that the function can work without crash when reading the plugin files with wrong tag. \n
- 3. Input Parameters: \n
- <1> config file with wrong child plugin tag: "pluginfilewithwrongchildtag.cpcfg" \n
- 4. Expected result: \n
- <1> no crash \n
- */
-void TestCppluginConfigReader::testReaderWithWrongChildPluginTag()
-{
- CpPluginConfigReader * pReader = new CpPluginConfigReader(CP_PLUGIN_CONFIG_PATH + QDir::separator() + "pluginfilewithwrongchildtag.cpcfg");
- QVERIFY(pReader!=0);
- mCorrectConfig = pReader->readCpPluginConfigs();
- QVERIFY( mCorrectConfig.count() == 0 );
- delete pReader;
- pReader = 0;
-}
-/*!
- Test Case Description: \n
- 1. Function Name: \n
- void readChildPluginsElement(QXmlStreamReader &xmlReader,QList<CpPluginConfig> &cpPluginConfigList) \n
- 2. Case Descrition: \n
- Verify that the function can work without crash when reading the plugin files with empty child plugin element. \n
- 3. Input Parameters: \n
- <1> config file with empty child plugin element: "pluginfilewithemptychildelement.cpcfg" \n
- 4. Expected result: \n
- <1> no crash \n
- */
-void TestCppluginConfigReader::testReaderWithEmptyChildElement()
-{
- CpPluginConfigReader * pReader = new CpPluginConfigReader(CP_PLUGIN_CONFIG_PATH + QDir::separator() + "pluginfilewithemptychildelement.cpcfg");
- QVERIFY(pReader!=0);
- mCorrectConfig = pReader->readCpPluginConfigs();
- QVERIFY( mCorrectConfig.count() == 0 );
- delete pReader;
- pReader = 0;
-}
-/*!
- Test Case Description: \n
- 1. Function Name: \n
- void readChildPluginsElement(QXmlStreamReader &xmlReader,QList<CpPluginConfig> &cpPluginConfigList) \n
- 2. Case Descrition: \n
- Verify that the function can work without crash when reading plugin files with wrong tags. \n
- 3. Input Parameters: \n
- <1> config file with wrong plugin tag: "pluginfilewithwrongplugintag.cpcfg" \n
- 4. Expected result: \n
- <1> no crash \n
- */
-void TestCppluginConfigReader::testReaderWithWrongPluginTag()
-{
- CpPluginConfigReader * pReader = new CpPluginConfigReader(CP_PLUGIN_CONFIG_PATH + QDir::separator() + "pluginfilewithwrongplugintag.cpcfg");
- QVERIFY(pReader!=0);
- mCorrectConfig = pReader->readCpPluginConfigs();
- QVERIFY( mCorrectConfig.count() == 0 );
- delete pReader;
- pReader = 0;
-}
-/*!
- Test Case Description: \n
- 1. Function Name: \n
- void readPluginElement(QXmlStreamReader &xmlReader,QList<CpPluginConfig> &cpPluginConfigList); \n
- 2. Case Descrition: \n
- Verify that the function can work without crash when reading the plugin files having no attrs. \n
- 3. Input Parameters: \n
- <1> plugin element has no plugin attrs: "pluginfilewithoutattrs.cpcfg" \n
- <2> plugin element has wrong plugin attrs. \n
- 4. Expected result: \n
- <1> no crash \n
- <2> no crash \n
- */
-void TestCppluginConfigReader::testReaderWithoutAttrs()
-{
- CpPluginConfigReader * pReader = new CpPluginConfigReader(CP_PLUGIN_CONFIG_PATH + QDir::separator() + "pluginfilewithoutattrs.cpcfg");
- QVERIFY(pReader!=0);
- mCorrectConfig = pReader->readCpPluginConfigs();
- QVERIFY( mCorrectConfig.count() == 1 );
- delete pReader;
- pReader = 0;
-}
-/*!
- Test Case Description: \n
- 1. Function Name: \n
- void readDescElement(QXmlStreamReader &xmlReader,CpPluginConfig &cpPluginConfig) \n
- 2. Case Descrition: \n
- Verify that the function can work without crash when reading the plugin files with wrong tag. \n
- 3. Input Parameters: \n
- <1> plugin element has no desc tag: "pluginfilewithwrongdesctag.cpcfg" \n
- <2> plugin element has wrong desc tag \n
- 4. Expected result: \n
- <1> no crash \n
- <2> no crash \n
- */
-void TestCppluginConfigReader::testReaderWithWrongDescTag()
-{
- CpPluginConfigReader * pReader = new CpPluginConfigReader(CP_PLUGIN_CONFIG_PATH + QDir::separator() + "pluginfilewithwrongdesctag.cpcfg");
- QVERIFY(pReader!=0);
- mCorrectConfig = pReader->readCpPluginConfigs();
- delete pReader;
- pReader = 0;
-}
-/*!
- Descrition of what you will do in this function
- */
-void TestCppluginConfigReader::cleanupTestCase()
-{
- // release all test data
- QCoreApplication::processEvents();
-}
-
-QTEST_APPLESS_MAIN(TestCppluginConfigReader)
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_cppluginconfigreader/src/ut_cppluginconfigreader.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* test the functions in cppluginconfigreader class
-*/
-
-#ifndef UT_CPPLUGINCONFIGREADER_H
-#define UT_CPPLUGINCONFIGREADER_H
-
-
-#include "cppluginconfig.h"
-
-#include <QObject>
-#include <QList>
-
-class TestCppluginConfigReader :public QObject
-{
- Q_OBJECT
-private slots:
-
- void initTestCase();
- void testConstructor();
- void testReadValidConfigFile(); // test with a valid config file.
- void testReadEmptyConfigFilePath(); // test testReadEmptyConfigFilePath() with empty path.
- void testReadEmptyConfigFile(); // test with empty config file.
- void testReaderWithWrongChildPluginTag(); // test with wrong child plugin tags.
- void testReaderWithEmptyChildElement(); // test with empty child plugin element.
- void testReaderWithWrongPluginTag(); // test with wrong plugin tag.
- void testReaderWithoutAttrs(); // test without any plugin attrs.
- void testReaderWithWrongDescTag(); // test with wrong desc tag.
- void cleanupTestCase();
-private:
- QList<CpPluginConfig> mCorrectConfig;
-};
-#endif /* UT_CPPLUGINCONFIGREADER_H */
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_cppluginconfigreader/ut_cppluginconfigreader.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-HEADERS += src/*.h
-SOURCES += src/*.cpp
-
-include(../../../inc/inc.pri)
-include(../../cpcategorymodel.pri)
--- a/controlpanelui/src/cpcategorymodel/tsrc/ut_cppluginconfigreader/ut_cppluginconfigreader.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-QT += testlib
-CONFIG += hb qtestlib
-CONFIG += symbian_test
-
-TEMPLATE = app
-TARGET = ut_cppluginconfigreader
-QMAKE_EXTRA_TARGETS += test autotest
-
-DEPENDPATH += .
-INCLUDEPATH += . ../../src\
- ../../../inc
-
-include (../unit_common.pri)
-include(../../../inc/inc.pri)
-include(../../cpcategorymodel.pri)
-
-LIBS += -lcpframework
-LIBS += -lcpcategorymodel
-DEFINES += BUILD_CPCATEGORY_GLOBAL
-
-symbian {
-
- deploy.path = C:
- configfiles.sources += data/pluginfortest.cpcfg \
- data/emptypluginfortest.cpcfg \
- data/pluginfilewithwrongchildtag.cpcfg \
- data/pluginfilewithemptychildelement.cpcfg \
- data/pluginfilewithwrongplugintag.cpcfg \
- data/pluginfilewithoutattrs.cpcfg \
- data/pluginfilewithwrongdesctag.cpcfg
- configfiles.path = /resource/qt/plugins/controlpanel/config
- DEPLOYMENT += configfiles
-
- # This is for new exporting system coming in garden
- for(configfile, configfiles.sources):BLD_INF_RULES.prj_exports += "./$$configfile $$deploy.path$$configfiles.path/$$basename(configfile)"
-}
-
-HEADERS += src/*.h
-SOURCES += src/*.cpp
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/communicationplugin/communicationplugin.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: cpcommunicationplugin source files
-#
-
-# Input
-HEADERS += src/cpcommunicationplugin.h \
- src/cpcommunicationgroupitemdata.h
-
-SOURCES += src/cpcommunicationplugin.cpp \
- src/cpcommunicationgroupitemdata.cpp
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/communicationplugin/communicationplugin.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-TARGET = cpcommunicationplugin
-
-CONFIG += hb plugin
-
-include ( ../cpplugincommon.pri )
-include ( communicationplugin.pri )
-
-symbian {
- TARGET.UID3 = 0x20025FDF
- LIBS += -lxqsettingsmanager
-}
-
-symbian {
- deploy.path = C:
- headers.sources = data/cpcommunicationplugin.cpcfg
- headers.path = /resource/qt/plugins/controlpanel/config
- DEPLOYMENT += exportheaders
-
- # This is for new exporting system coming in garden
- for(header, headers.sources):BLD_INF_RULES.prj_exports += "./$$header $$deploy.path$$headers.path/$$basename(header)"
-}
--- a/controlpanelui/src/cpplugins/communicationplugin/data/cpcommunicationplugin.cpcfg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-
-
-<childplugins>
- <plugin displayname = "Mobile Network" id = "0X20029F24" dll = "cpnetworkplugin.dll">
- <desc>Operator, status</desc>
- </plugin>
- <plugin displayname = "WLAN" id = "0x2002BCE0" dll = "cpwlanentryplugin.dll">
- <desc>WLAN status</desc>
- </plugin>
- <plugin displayname = "Bluetooth" id = "0x2002434E" dll = "btcpplugin.dll">
- <desc>Status text</desc>
- </plugin>
- <plugin displayname = "Telephony" id = "0X20029F23" dll = "cptelephonyplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Network settings" id = "0X2002BC8F" dll = "cpipsettingsplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "NFC" id = "0X20027040" dll = "nfccpplugin.dll">
- <desc></desc>
- </plugin>
-</childplugins>
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/communicationplugin/src/cpcommunicationgroupitemdata.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include "cpcommunicationgroupitemdata.h"
-#include <QStringList>
-#include <QtAlgorithms>
-#include <CoreApplicationUIsSDKCRKeys.h>
-#include <xqsettingsmanager.h>
-#include <cpitemdatahelper.h>
-
-CpCommunicationGroupItemData::CpCommunicationGroupItemData(const QString &configFile,
- const HbDataFormModelItem *parent):
- CpCategorySettingFormItemData(configFile,parent),
- mAirplaneModeItem(0),
- mSettingManager(new XQSettingsManager())
-{
-
-}
-
-CpCommunicationGroupItemData::CpCommunicationGroupItemData(HbDataFormModelItem::DataItemType type,
- const QString &label,
- const QString &configFile,
- const HbDataFormModelItem *parent):
- CpCategorySettingFormItemData(type, label, configFile, parent),
- mAirplaneModeItem(0),
- mSettingManager(new XQSettingsManager())
-{
-
-}
-
-CpCommunicationGroupItemData::~CpCommunicationGroupItemData()
-{
- delete mSettingManager;
-}
-
-void CpCommunicationGroupItemData::beforeLoadingConfigPlugins(CpItemDataHelper &itemDataHelper)
-{
- mAirplaneModeItem = new HbDataFormModelItem(HbDataFormModelItem::ToggleValueItem);
- mAirplaneModeItem->setContentWidgetData("text", hbTrId("txt_cp_button_offline"));
- mAirplaneModeItem->setContentWidgetData("additionalText", hbTrId("txt_cp_button_offline"));
- mAirplaneModeItem->setDescription(hbTrId("txt_cp_info_in_offline_mode_all_wireless_communica"));
- mAirplaneModeItem->setContentWidgetData("objectName", "airplaneModeToggle");
- mAirplaneModeItem->setContentWidgetData("checkable", true);
- itemDataHelper.addConnection(mAirplaneModeItem,
- SIGNAL(toggled(bool)),
- this,
- SLOT(toggleAirplaneMode(bool)));
-
- XQCentralRepositorySettingsKey key(KCRUidCoreApplicationUIs.iUid,KCoreAppUIsNetworkConnectionAllowed);
- QVariant airplaneMode = mSettingManager->readItemValue(key,XQSettingsManager::TypeInt);
- settingValueChanged(key,airplaneMode);
-
- mSettingManager->startMonitoring(key,XQSettingsManager::TypeInt);
- connect(mSettingManager, SIGNAL(valueChanged (XQSettingsKey, QVariant)),
- this, SLOT(settingValueChanged(XQSettingsKey, QVariant)));
-
- this->appendChild(mAirplaneModeItem);
-
-}
-
-void CpCommunicationGroupItemData::toggleAirplaneMode(bool toggled)
-{
- XQCentralRepositorySettingsKey key(KCRUidCoreApplicationUIs.iUid,KCoreAppUIsNetworkConnectionAllowed);
- //toggled = true means ECoreAppUIsNetworkConnectionNotAllowed
- //toggled = false means ECoreAppUIsNetworkConnectionAllowed
- QVariant airplaneMode(static_cast<int>(!toggled));
- mSettingManager->writeItemValue(key, airplaneMode);
-}
-
-void CpCommunicationGroupItemData::settingValueChanged(const XQSettingsKey &key, const QVariant &value)
-{
- if (mAirplaneModeItem
- && key.uid() == KCRUidCoreApplicationUIs.iUid
- && key.key() == KCoreAppUIsNetworkConnectionAllowed
- && value.isValid()) {
- //value.toBool() returns
- //true(1) if value equals ECoreAppUIsNetworkConnectionAllowed, that means offline mode off.
- //false(0) if value equals ECoreAppUIsNetworkConnectionNotAllowed, that means offline mode on.
- mAirplaneModeItem->setContentWidgetData("checked", !value.toBool());
- }
-}
-
-//End of File
--- a/controlpanelui/src/cpplugins/communicationplugin/src/cpcommunicationgroupitemdata.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPCOMMUNICATIONGROUPITEMDATA_H
-#define CPCOMMUNICATIONGROUPITEMDATA_H
-
-#include <cpcategorysettingformitemdata.h>
-class CpItemDataHelper;
-class XQSettingsManager;
-class XQSettingsKey;
-
-class CpCommunicationGroupItemData: public CpCategorySettingFormItemData
-{
- Q_OBJECT
-public:
- explicit CpCommunicationGroupItemData(const QString &configFile = QString(),
- const HbDataFormModelItem *parent = 0);
-
- CpCommunicationGroupItemData(HbDataFormModelItem::DataItemType type,
- const QString &label,
- const QString &configFile = QString(),
- const HbDataFormModelItem *parent = 0);
-
- ~CpCommunicationGroupItemData();
-private slots:
- void toggleAirplaneMode(bool toggled);
- void settingValueChanged(const XQSettingsKey &key, const QVariant &value);
-private:
- virtual void beforeLoadingConfigPlugins(CpItemDataHelper &itemDataHelper);
-private:
- HbDataFormModelItem *mAirplaneModeItem;
- XQSettingsManager *mSettingManager;
-};
-#endif /* CPCOMMUNICATIONGROUPITEMDATA_H */
--- a/controlpanelui/src/cpplugins/communicationplugin/src/cpcommunicationplugin.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cpcommunicationplugin.h"
-#include "cpcommunicationgroupitemdata.h"
-#include <cpitemdatahelper.h>
-
-CpCommunicationPlugin::CpCommunicationPlugin()
-{
-}
-
-CpCommunicationPlugin::~CpCommunicationPlugin()
-{
-}
-
-QList<CpSettingFormItemData*> CpCommunicationPlugin::createSettingFormItemData(CpItemDataHelper &/*itemDataHelper*/) const
-{
- CpCategorySettingFormItemData *itemData =
- new CpCommunicationGroupItemData(
- HbDataFormModelItem::GroupItem,
- hbTrId("txt_cp_subhead_connectivity"),
- QString("cpcommunicationplugin.cpcfg") );
- return QList<CpSettingFormItemData*>() << itemData;
-}
-
-Q_EXPORT_PLUGIN2(cpcommunicationplugin, CpCommunicationPlugin);
--- a/controlpanelui/src/cpplugins/communicationplugin/src/cpcommunicationplugin.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPCOMMUNICATIONPLUGIN_H
-#define CPCOMMUNICATIONPLUGIN_H
-
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-
-class CpCommunicationPlugin
- : public QObject, public CpPluginInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpCommunicationPlugin();
- virtual ~CpCommunicationPlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-
-#endif /* CPCOMMUNICATIONPLUGIN_H */
--- a/controlpanelui/src/cpplugins/cpplugincommon.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: controlpanel plugin project qmake common settings
-#
-include (../common.pri)
-
-LIBS += -lcplogger -lcpframework -lcpcategorymodel
-
-symbian: plugin { # copy qtstub and manifest
-
- PLUGIN_STUB_PATH = /resource/qt/plugins/controlpanel
-
- deploy.path = C:
- pluginstub.sources = $${TARGET}.dll
- pluginstub.path = $$PLUGIN_STUB_PATH
- DEPLOYMENT += pluginstub
-
- qtplugins.path = $$PLUGIN_STUB_PATH
- qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin
-
- for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
-}
--- a/controlpanelui/src/cpplugins/cpplugins.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = subdirs
-SUBDIRS = communicationplugin \
- deviceplugin \
- privacyplugin \
- personalizationplugin \
- profileactivatorplugin \
- volumeplugin \
- ringtoneplugin \
- keytouchfdbkplugin
- #displayplugin \
- #applicationsettingsplugin \
- #accountsplugin
-
-CONFIG += ordered
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/deviceplugin/data/cpdeviceplugin.cpcfg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-
-<childplugins>
- <plugin displayname = "Time & data" id = "0X102818E9" dll = "datetimesettingsplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Language and region" id = "0X2002873C" dll = "cplanguageplugin_na.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Text and keyboard" id = "0X20025FDD" dll = "cpinputsettingplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Positioning" id = "0x2002C318" dll = "possettingsplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Power management" id = "0x2000E51E" dll = "cppsmplugin.dll">
- <desc>power save mode </desc>
- </plugin>
- <plugin displayname = "Device updates" id = "0X2002DD04" dll = "deviceupdatesplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Reset" id = "0x10275117" dll = "cprfsplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "About" id = "0X2002873B" dll = "cpaboutplugin_na.dll">
- <desc></desc>
- </plugin>
-</childplugins>
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/deviceplugin/deviceplugin.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: cpdeviceplugin source files
-#
-
-
-# Input
-HEADERS += src/cpdeviceplugin.h
-SOURCES += src/cpdeviceplugin.cpp
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/deviceplugin/deviceplugin.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-TARGET = cpdeviceplugin
-
-CONFIG += hb plugin
-
-
-include ( ../cpplugincommon.pri )
-include ( deviceplugin.pri )
-
-symbian {
- TARGET.UID3 = 0X20025FE7
-}
-
-symbian {
- deploy.path = C:
- headers.sources = data/cpdeviceplugin.cpcfg
- headers.path = /resource/qt/plugins/controlpanel/config
- DEPLOYMENT += exportheaders
-
- # This is for new exporting system coming in garden
- for(header, headers.sources):BLD_INF_RULES.prj_exports += "./$$header $$deploy.path$$headers.path/$$basename(header)"
-}
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/deviceplugin/src/cpdeviceplugin.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cpdeviceplugin.h"
-#include "cpcategorysettingformitemdata.h"
-#include <cpitemdatahelper.h>
-
-CpDevicePlugin::CpDevicePlugin()
-{
-}
-
-CpDevicePlugin::~CpDevicePlugin()
-{
-}
-
-QList<CpSettingFormItemData*> CpDevicePlugin::createSettingFormItemData(CpItemDataHelper &/*itemDataHelper*/) const
-{
- CpCategorySettingFormItemData *itemData =
- new CpCategorySettingFormItemData(
- HbDataFormModelItem::GroupItem,
- hbTrId("txt_cp_subhead_device"),
- QString("cpdeviceplugin.cpcfg") );
- return QList<CpSettingFormItemData*>() << itemData;
-}
-
-Q_EXPORT_PLUGIN2(cpdeviceplugin, CpDevicePlugin);
--- a/controlpanelui/src/cpplugins/deviceplugin/src/cpdeviceplugin.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPDEVICEPLUGIN_H
-#define CPDEVICEPLUGIN_H
-
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-
-class CpDevicePlugin : public QObject,
- public CpPluginInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpDevicePlugin();
- virtual ~CpDevicePlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-
-#endif /* CPDEVICEPLUGIN_H */
--- a/controlpanelui/src/cpplugins/keytouchfdbkplugin/keytouchfdbkplugin.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: keytouchfeedback plugin source files
-#
-
-# Input
-HEADERS += src/cpkeyscreenplugin.h \
- src/cpkeyscreenview.h \
- src/cpkeyscreenmodel.h \
- src/cpkeyscreenconstants.h
-
-SOURCES += src/cpkeyscreenplugin.cpp \
- src/cpkeyscreenview.cpp \
- src/cpkeyscreenmodel.cpp
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/keytouchfdbkplugin/keytouchfdbkplugin.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-TARGET = cpkeytouchfdbkplugin
-
-CONFIG += hb plugin
-
-LIBS += -lcpprofilewrapper
-
-include ( ../cpplugincommon.pri )
-include ( keytouchfdbkplugin.pri )
-
-symbian {
- INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
- $$MOC_DIR
- HEADERS += src/cpkeyscreenmodel_p.h
- SOURCES += src/cpkeyscreenmodel_p.cpp
-
- LIBS += -lcentralrepository \
- -lfeatmgr
- TARGET.UID3 = 0X20025FDE
- TARGET.CAPABILITY = All -TCB
- TARGET.EPOCALLOWDLLDATA = 1
-}
--- a/controlpanelui/src/cpplugins/keytouchfdbkplugin/src/cpkeyscreenconstants.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPKEYSCREENCONSTANTS_H
-#define CPKEYSCREENCONSTANTS_H
-
-const int KCpKeyscreenLock15s = 15;
-const int KCpKeyscreenLock30s = 30;
-const int KCpKeyscreenLock45s = 45;
-const int KCpKeyscreenLock60s = 60;
-const int KCpKeyscreenLock120s = 120;
-
-const int KCpKeyscreenLockDefault30s = 30;
-
-#endif
--- a/controlpanelui/src/cpplugins/keytouchfdbkplugin/src/cpkeyscreenmodel.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-
-#include "cpkeyscreenmodel.h"
-#include <qglobal.h>
-
-#ifdef Q_OS_SYMBIAN
-#include "cpkeyscreenmodel_p.h"
-#endif
-
-
-CpKeyScreenModel::CpKeyScreenModel()
-{
-#ifdef Q_OS_SYMBIAN
- ptr = new CpKeyScreenModelPrivate();
-#endif
-}
-
-CpKeyScreenModel::~CpKeyScreenModel()
-{
-#ifdef Q_OS_SYMBIAN
- delete ptr;
- ptr = 0;
-#endif
-}
-
-bool CpKeyScreenModel::isKeyguardSupported()
-{
-#ifdef Q_OS_SYMBIAN
- return ptr->isKeyguardSupported();
-#else
- return 0;
-#endif
-}
-
-int CpKeyScreenModel::keyguard()
-{
-#ifdef Q_OS_SYMBIAN
- return ptr->keyguard();
-#else
- return 0;
-#endif
-}
-
-void CpKeyScreenModel::setKeyguard(int value)
-{
-#ifdef Q_OS_SYMBIAN
- ptr->setKeyguard(value);
-#else
- Q_UNUSED(value);
-#endif
-}
-
-bool CpKeyScreenModel::isRotateSupported()
-{
-#ifdef Q_OS_SYMBIAN
- return ptr->isRotateSupported();
-#else
- return false;
-#endif
-}
-
-bool CpKeyScreenModel::rotate()
-{
-#ifdef Q_OS_SYMBIAN
- return ptr->rotate();
-#else
- return 0;
-#endif
-}
-
-void CpKeyScreenModel::setRotate(bool value)
-{
-#ifdef Q_OS_SYMBIAN
- ptr->setRotate(value);
-#else
- Q_UNUSED(value);
-#endif
-}
-
-bool CpKeyScreenModel::isBrightnessSupported()
-{
-#ifdef Q_OS_SYMBIAN
- return ptr->isBrightnessSupported();
-#else
- return false;
-#endif
-}
-
-int CpKeyScreenModel::brightness()
-{
-#ifdef Q_OS_SYMBIAN
- return ptr->brightness();
-#else
- return 0;
-#endif
-}
-
-void CpKeyScreenModel::setBrightness(int value)
-{
-#ifdef Q_OS_SYMBIAN
- ptr->setBrightness(value);
-#else
- Q_UNUSED(value);
-#endif
-}
-
-bool CpKeyScreenModel::isCallibrationSupported()
-{
-#ifdef Q_OS_SYMBIAN
- return ptr->isCallibrationSupported();
-#else
- return true;
-#endif
-}
-
-// End of the file
--- a/controlpanelui/src/cpplugins/keytouchfdbkplugin/src/cpkeyscreenmodel.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPKEYSCREENMODEL_H
-#define CPKEYSCREENMODEL_H
-
-class CpKeyScreenModelPrivate;
-
-class CpKeyScreenModel
- {
-public:
- CpKeyScreenModel();
- ~CpKeyScreenModel();
-
-public:
- bool isKeyguardSupported();
- int keyguard();
- void setKeyguard(int value);
- bool isRotateSupported();
- bool rotate();
- void setRotate(bool value);
- bool isBrightnessSupported();
- int brightness();
- void setBrightness(int value);
- bool isCallibrationSupported();
-
-private:
- CpKeyScreenModelPrivate* ptr;
- };
-
-#endif
--- a/controlpanelui/src/cpplugins/keytouchfdbkplugin/src/cpkeyscreenmodel_p.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cpkeyscreenmodel_p.h"
-#include "cpkeyscreenconstants.h"
-#include <qglobal.h>
-#include <hbcommoncrkeys.h>
-#include <e32base.h>
-#include <hal.h>
-#include <centralrepository.h>
-#include <settingsinternalcrkeys.h> // KCRUidSecuritySettings
-#include <hwrmlightdomaincrkeys.h> // KCRUidLightSettings
-#include <featmgr.h>
-
-CpKeyScreenModelPrivate::CpKeyScreenModelPrivate()
-{
- TRAP_IGNORE(
- mLightCenRep = CRepository::NewL( KCRUidLightSettings );
- mSecurityCenRep = CRepository::NewL( KCRUidSecuritySettings );
- mRotateSensor = CRepository::NewL(KHbSensorCenrepUid););
-}
-
-CpKeyScreenModelPrivate::~CpKeyScreenModelPrivate()
-{
- delete mLightCenRep;
- delete mSecurityCenRep;
- delete mRotateSensor;
-}
-
-bool CpKeyScreenModelPrivate::isKeyguardSupported()
-{
- return true;
-}
-
-int CpKeyScreenModelPrivate::keyguard()
-{
- int period = KCpKeyscreenLockDefault30s;
- mSecurityCenRep->Get( KSettingsAutomaticKeyguardTime, period );
- return period;
-}
-
-void CpKeyScreenModelPrivate::setKeyguard(int value)
-{
- if ( (KCpKeyscreenLock15s == value) || (KCpKeyscreenLock30s == value)
- || (KCpKeyscreenLock45s == value) || (KCpKeyscreenLock60s == value)
- || (KCpKeyscreenLock120s == value) ){
- mSecurityCenRep->Set( KSettingsAutomaticKeyguardTime, value );
- mLightCenRep->Set( KDisplayLightsTimeout, value );
- }
-}
-
-bool CpKeyScreenModelPrivate::isRotateSupported()
-{
- return true;
-}
-
-bool CpKeyScreenModelPrivate::rotate()
-{
- int rotate = 0;
- mRotateSensor->Get(KHbSensorCenrepKey, rotate);
- return rotate;
-}
-
-void CpKeyScreenModelPrivate::setRotate(bool value)
-{
- mRotateSensor->Set(KHbSensorCenrepKey, value);
-}
-
-bool CpKeyScreenModelPrivate::isBrightnessSupported()
-{
- if ( FeatureManager::FeatureSupported( KFeatureIdBrightnessControl ) ){
- return true;
- } else {
- return false;
- }
-}
-
-int CpKeyScreenModelPrivate::brightness()
-{
- int time = 0;
- mLightCenRep->Get( KLightIntensity, time );
- return time/20;
-}
-
-void CpKeyScreenModelPrivate::setBrightness(int value)
-{
- mLightCenRep->Set( KLightIntensity, value * 20 );
-}
-
-bool CpKeyScreenModelPrivate::isCallibrationSupported()
-{
- return true;
-}
-
-// End of the file
--- a/controlpanelui/src/cpplugins/keytouchfdbkplugin/src/cpkeyscreenmodel_p.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPKEYSCREENMODEL_P_H
-#define CPKEYSCREENMODEL_P_H
-
-class CRepository;
-
-class CpKeyScreenModelPrivate
- {
-public:
- CpKeyScreenModelPrivate();
- ~CpKeyScreenModelPrivate();
-
-public:
- bool isKeyguardSupported();
- int keyguard();
- void setKeyguard(int value);
- bool isRotateSupported();
- bool rotate();
- void setRotate(bool value);
- bool isBrightnessSupported();
- int brightness();
- void setBrightness(int value);
- bool isCallibrationSupported();
-
-private:
- CRepository* mLightCenRep;
- CRepository* mSecurityCenRep;
- CRepository* mRotateSensor;
- };
-
-#endif
--- a/controlpanelui/src/cpplugins/keytouchfdbkplugin/src/cpkeyscreenplugin.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include "cpkeyscreenplugin.h"
-#include "cpkeyscreenview.h"
-#include <cpsettingformentryitemdataimpl.h>
-
-CpKeyScreenPlugin::CpKeyScreenPlugin()
-{
-}
-
-CpKeyScreenPlugin::~CpKeyScreenPlugin()
-{
-}
-
-QList<CpSettingFormItemData*> CpKeyScreenPlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
-{
- CpSettingFormItemData* itemData = new CpSettingFormEntryItemDataImpl<CpKeyScreenView>(
- CpSettingFormEntryItemData::ListEntryItem, // item type
- itemDataHelper,
- hbTrId("txt_cp_list_keys_screen"), // text
- QString(""), // description
- "qtg_large_key_screen"); // icon name
- return QList<CpSettingFormItemData*>() << itemData;
-}
-
-Q_EXPORT_PLUGIN2(cpkeyscreenplugin, CpKeyScreenPlugin);
--- a/controlpanelui/src/cpplugins/keytouchfdbkplugin/src/cpkeyscreenplugin.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPKEYSCREENPLUGIN_H
-#define CPKEYSCREENPLUGIN_H
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-
-class CpKeyScreenPlugin : public QObject, public CpPluginInterface
-{
-Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpKeyScreenPlugin();
- virtual ~CpKeyScreenPlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-#endif //CPKEYSCREENPLUGIN_H
--- a/controlpanelui/src/cpplugins/keytouchfdbkplugin/src/cpkeyscreenview.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cpkeyscreenview.h"
-#include "cpkeyscreenmodel.h"
-#include "cpkeyscreenconstants.h"
-#include <hbdataform.h>
-#include <QStringList>
-#include <QDebug>
-#include <QtCore/qobject.h>
-#include <hbdataformmodel.h>
-#include <cpsettingformitemdata.h>
-#include <hbmessagebox.h>
-#include <hbslider.h>
-
-
-CpKeyScreenView::CpKeyScreenView(QGraphicsItem *parent) :
- CpBaseSettingView(0,parent),
- mScreenComboButton(0),
- mRotateCheckbox(0),
- mBrightSliderItem(0),
- mCallibItem(0),
- mModel(0)
-{
- HbDataForm *form = qobject_cast<HbDataForm*> ( widget() );
- if (form) {
- // Valid range is:
- // 15 secs, 30 secs, 45 secs, 1 min, 2 mins
- mScreenLockValues.insert(KCpKeyscreenLock15s,hbTrId("txt_cp_setlabel_keys_screen_val_15_seconds"));
- mScreenLockValues.insert(KCpKeyscreenLock30s,hbTrId("txt_cp_setlabel_keys_screen_val_30_seconds"));
- mScreenLockValues.insert(KCpKeyscreenLock45s,hbTrId("txt_cp_setlabel_keys_screen_val_45_seconds"));
- mScreenLockValues.insert(KCpKeyscreenLock60s,hbTrId("txt_cp_setlabel_keys_screen_val_1_minute"));
- mScreenLockValues.insert(KCpKeyscreenLock120s,hbTrId("txt_cp_setlabel_keys_screen_val_2_minutes"));
-
- form->setHeading(hbTrId("txt_cp_subhead_keys_screen"));
- mModel = new CpKeyScreenModel();
- HbDataFormModel *model = new HbDataFormModel;
-
- if ( mModel->isKeyguardSupported() ) {
- makeScreenItem(*model);
- }
-
- if ( mModel->isRotateSupported() ) {
- makeRotateItem(*model);
- }
-
- makeBrightnessItem(*model);
-
- /* if ( mModel->isCallibrationSupported() ) {
- makeCallibrationItem(*model);
- }*/
-
- form->setModel(model);
- }
-}
-
-void CpKeyScreenView::makeScreenItem(HbDataFormModel& model)
-{
- mScreenComboButton = new CpSettingFormItemData(HbDataFormModelItem::ComboBoxItem,
- hbTrId("txt_cp_setlabel_keys_screen_locked_after"));
-
- qobject_cast<HbDataForm*> ( widget() )->addConnection(
- mScreenComboButton,SIGNAL(currentIndexChanged(QString)),
- this,SLOT(screenValueChanged(QString)));
-
- model.appendDataFormItem(mScreenComboButton, model.invisibleRootItem());
-
- int period = mModel->keyguard();
-
- int selectedIndex(-1);
-
- QMap<int,QString>::iterator it = mScreenLockValues.find(period);
- if (it == mScreenLockValues.end()) {
- mModel->setKeyguard(KCpKeyscreenLockDefault30s); // Set keyguard and backlight period to default
- selectedIndex = 1;
- }
- else {
- for (it = mScreenLockValues.begin();it != mScreenLockValues.end();++it) {
- selectedIndex++;
- if (it.key() == period) {
- break;
- }
- }
- }
-
- QStringList items = mScreenLockValues.values();
- mScreenComboButton->setContentWidgetData( QString("items"), items );
- mScreenComboButton->setContentWidgetData( QString("currentIndex"), selectedIndex);
- mScreenComboButton->setContentWidgetData("objectName", "screenComboButton");
-}
-
-void CpKeyScreenView::makeRotateItem(HbDataFormModel& model)
-{
- mRotateCheckbox = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, QString());
- qobject_cast<HbDataForm*> ( widget() )->addConnection(mRotateCheckbox,SIGNAL(stateChanged(int)),this,SLOT(rotateValueChanged(int)));
- model.appendDataFormItem(mRotateCheckbox, model.invisibleRootItem());
-
- mRotateCheckbox->setContentWidgetData( QString("text"), QVariant(hbTrId("txt_cp_list_autorotate_display")) );
- mRotateCheckbox->setData(HbDataFormModelItem::DescriptionRole, QString( hbTrId("txt_cp_info_rotate_the_display_content_automatical") ));
- Qt::CheckState state;
- if ( mModel->rotate() ){
- state = Qt::Checked;
- } else {
- state = Qt::Unchecked;
- }
- mRotateCheckbox->setContentWidgetData( QString("checkState"), state );
- mRotateCheckbox->setContentWidgetData("objectName", "rotateCheckbox");
-}
-
-void CpKeyScreenView::makeBrightnessItem(HbDataFormModel& model)
-{
- mBrightSliderItem = new CpSettingFormItemData(HbDataFormModelItem::SliderItem, hbTrId("txt_cp_setlabel_brightness"));
- qobject_cast<HbDataForm*> ( widget() )->addConnection(mBrightSliderItem,SIGNAL(valueChanged(int)),this,SLOT(brightValueChanged(int)));
- model.appendDataFormItem(mBrightSliderItem, model.invisibleRootItem());
-
- QList<QVariant> sliderElements;
- sliderElements << QVariant(HbSlider::IncreaseElement) << QVariant(HbSlider::TrackElement)
- << QVariant(HbSlider::DecreaseElement);
- mBrightSliderItem->setContentWidgetData("sliderElements",sliderElements);
- mBrightSliderItem->setContentWidgetData( QString("value"), mModel->brightness() );
- mBrightSliderItem->setContentWidgetData( QString("minimum"), 1 );
- mBrightSliderItem->setContentWidgetData( QString("maximum"), 5 );
- QMap< QString, QVariant > iconElements;
- iconElements.insert(QString("IncreaseElement") , QVariant(":/icon/hb_vol_slider_increment.svg"));
- iconElements.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg") );
- mBrightSliderItem->setContentWidgetData( QString( "elementIcons" ), iconElements );
- mRotateCheckbox->setContentWidgetData("objectName", "brightSliderItem");
-}
-
-void CpKeyScreenView::makeCallibrationItem(HbDataFormModel& model)
-{
- mCallibItem = new CpSettingFormItemData(HbDataFormModelItem::ToggleValueItem,
- QString());
- qobject_cast<HbDataForm*> ( widget() )->addConnection(mCallibItem,SIGNAL(pressed()),this,SLOT(launchCallib()));
- model.appendDataFormItem(mCallibItem, model.invisibleRootItem());
- mCallibItem->setContentWidgetData( QString("text"), hbTrId("txt_cp_button_touch_screen_calibration"));
-}
-
-CpKeyScreenView::~CpKeyScreenView()
-{
- delete mModel;
- mModel = 0;
-}
-
-void CpKeyScreenView::screenValueChanged(const QString &value)
-{
- for (QMap<int,QString>::iterator it = mScreenLockValues.begin();
- it != mScreenLockValues.end();++it) {
- if (it.value() == value) {
- mModel->setKeyguard(it.key());
- break;
- }
- }
-}
-
-void CpKeyScreenView::rotateValueChanged(int value)
-{
- mModel->setRotate( value );
-}
-
-void CpKeyScreenView::brightValueChanged(int value)
-{
- mModel->setBrightness(value);
-}
-
-void CpKeyScreenView::launchCallib()
-{
-}
-
-
--- a/controlpanelui/src/cpplugins/keytouchfdbkplugin/src/cpkeyscreenview.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPKEYSCREENVIEW_H
-#define CPKEYSCREENVIEW_H
-
-#include <QMap>
-#include <cpbasesettingview.h>
-#include <hbdataformmodelitem.h>
-
-class HbDataFormModelItem;
-class HbDataFormModel;
-class CpSettingFormItemData;
-class CpKeyScreenModel;
-class QPersistentModelIndex;
-class QVariant;
-
-class CpKeyScreenView : public CpBaseSettingView
-{
- Q_OBJECT
-public:
- explicit CpKeyScreenView(QGraphicsItem *parent = 0);
- virtual ~CpKeyScreenView();
-
-private:
- void makeScreenItem(HbDataFormModel& model);
- void makeRotateItem(HbDataFormModel& model);
- void makeBrightnessItem(HbDataFormModel& model);
- void makeCallibrationItem(HbDataFormModel& model);
-
-private slots:
- void screenValueChanged(const QString&);
- void rotateValueChanged(int value);
- void brightValueChanged(int value);
- void launchCallib();
-
-private:
- CpSettingFormItemData *mScreenComboButton;
- CpSettingFormItemData *mRotateCheckbox;
- CpSettingFormItemData *mBrightSliderItem;
- CpSettingFormItemData *mCallibItem;
- CpKeyScreenModel* mModel;
-
- QMap<int,QString> mScreenLockValues;
-};
-#endif// CPKEYSCREENVIEW_H
--- a/controlpanelui/src/cpplugins/lookfeelplugin/data/cplookfeelplugin.cpcfg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-
-<childplugins>
- <plugin displayname = "Theme" id = "0X2002C2F3" dll = "cpthemeplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "WallPaper" id = "0X20025FE8" dll = "cpplaceholderplugin.dll">
- <desc>Name of the WallPaper</desc>
- </plugin>
- <plugin displayname = "Display" id = "0X20028735" dll = "cpdisplayplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Key & touch screen feedback" id = "0X20025FDE" dll = "cpkeytouchfdbkplugin.dll">
- <desc></desc>
- </plugin>
-</childplugins>
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/lookfeelplugin/lookfeelplugin.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: cpdeviceplugin source files
-#
-
-
-# Input
-HEADERS += src/cplookfeelplugin.h
-SOURCES += src/cplookfeelplugin.cpp
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/lookfeelplugin/lookfeelplugin.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-TARGET = cplookfeelplugin
-
-CONFIG += hb plugin
-
-
-include ( ../cpplugincommon.pri )
-include ( lookfeelplugin.pri )
-
-symbian {
- TARGET.UID3 = 0X20025FE0
-}
-
-symbian {
- deploy.path = C:
- headers.sources = data/cplookfeelplugin.cpcfg
- headers.path = /resource/qt/plugins/controlpanel/config
- DEPLOYMENT += exportheaders
-
- # This is for new exporting system coming in garden
- for(header, headers.sources):BLD_INF_RULES.prj_exports += "./$$header $$deploy.path$$headers.path/$$basename(header)"
-}
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/lookfeelplugin/src/cplookfeelplugin.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cplookfeelplugin.h"
-#include "cpcategorysettingformitemdata.h"
-
-CpLookFeelPlugin::CpLookFeelPlugin()
-{
-}
-
-CpLookFeelPlugin::~CpLookFeelPlugin()
-{
-}
-
-QList<CpSettingFormItemData*> CpLookFeelPlugin::createSettingFormItemData(CpItemDataHelper &/*itemDataHelper*/) const
-{
- CpCategorySettingFormItemData *itemData =
- new CpCategorySettingFormItemData(
- HbDataFormModelItem::GroupItem,
- tr("Look&Feel"),
- QString("cplookfeelplugin.cpcfg") );
- return QList<CpSettingFormItemData*>() << itemData;
-}
-
-Q_EXPORT_PLUGIN2(cplookfeelplugin, CpLookFeelPlugin);
--- a/controlpanelui/src/cpplugins/lookfeelplugin/src/cplookfeelplugin.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPLOOKFEELPLUGIN_H
-#define CPLOOKFEELPLUGIN_H
-
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-
-class CpLookFeelPlugin : public QObject,
- public CpPluginInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpLookFeelPlugin();
- virtual ~CpLookFeelPlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-
-#endif /* CPLOOKFEELPLUGIN_H */
--- a/controlpanelui/src/cpplugins/personalizationplugin/data/cppersonalizationplugin.cpcfg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<childplugins>
- <plugin displayname = "Ring tone" id = "0X20028738" dll = "cpringtoneplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Theme" id = "0X2002C2F3" dll = "cpthemeplugin.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Profile" id = "0X20028739" dll = "cpprofileactivator.dll">
- <desc></desc>
- </plugin>
- <plugin displayname = "Key touch screen" id = "0X20025FDE" dll = "cpkeytouchfdbkplugin.dll">
- <desc></desc>
- </plugin>
-</childplugins>
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/personalizationplugin/icon/hb_vol_slider_decrement.svg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<polygon points="33.999,26 10,26 10,17.998 33.999,17.998 "/>
-<rect fill="#FFFFFF" height="4" width="20" x="12" y="20"/>
-</svg>
--- a/controlpanelui/src/cpplugins/personalizationplugin/icon/hb_vol_slider_decrement_pressed.svg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<polygon points="33.999,26 10,26 10,17.998 33.999,17.998 "/>
-<rect fill="#00FF00" height="4" width="20" x="12" y="20"/>
-</svg>
--- a/controlpanelui/src/cpplugins/personalizationplugin/icon/hb_vol_slider_increment.svg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<polygon points="26.001,33.999 18,33.999 18,26.001 10,26.001 10,18 18,18 18,9.999 26.001,9.999 26.001,18 33.999,18 33.999,26.001 26.001,26.001 "/>
-<polygon fill="#FFFFFF" points="31.999,20 23.999,20 23.999,12 20,12 20,20 12,20 12,23.999 20,23.999 20,31.999 23.999,31.999 23.999,23.999 31.999,23.999 "/>
-</svg>
--- a/controlpanelui/src/cpplugins/personalizationplugin/icon/hb_vol_slider_increment_pressed.svg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<polygon points="26.001,33.999 18,33.999 18,26.001 10,26.001 10,18 18,18 18,9.999 26.001,9.999 26.001,18 33.999,18 33.999,26.001 26.001,26.001 "/>
-<polygon fill="#00FF00" points="31.999,20 23.999,20 23.999,12 20,12 20,20 12,20 12,23.999 20,23.999 20,31.999 23.999,31.999 23.999,23.999 31.999,23.999 "/>
-</svg>
--- a/controlpanelui/src/cpplugins/personalizationplugin/icon/hb_vol_slider_muted.svg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<path d="M25.824,21.015V8.411h-9.979l-1.025,1.6L8.354,3.545L3.651,8.242l6.797,6.795H4.931v15.818h6.671l4.24,6.625h9.982v-7.067 l7.902,7.905l4.697-4.703L25.824,21.015z M19.179,30.336L15.26,24.21h-3.682v-2.524h3.682l0.715-1.121l3.204,3.203V30.336z"/>
-<rect fill="#FFFFFF" height="2.648" transform="matrix(-0.7071 -0.7071 0.7071 -0.7071 21.1169 50.6082)" width="38.533" x="1.773" y="19.607"/>
-<polygon fill="#FFFFFF" points="21.179,32.835 18.403,32.835 14.166,26.209 9.578,26.209 9.578,19.685 14.166,19.685 14.463,19.219 12.279,17.037 6.931,17.037 6.931,28.855 12.695,28.855 16.937,35.48 23.824,35.48 23.824,28.579 21.179,25.936 "/>
-<polygon fill="#FFFFFF" points="18.403,13.06 21.179,13.06 21.179,16.202 23.824,18.847 23.824,10.412 16.937,10.412 16.332,11.355 18.259,13.284 "/>
-</svg>
--- a/controlpanelui/src/cpplugins/personalizationplugin/icon/hb_vol_slider_unmuted.svg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<path d="M34.951,38.12l-5.054-4.302l1.282-1.521c0.877-1.04,8.324-10.39,0.111-18.605l-1.414-1.413l4.697-4.701l1.413,1.415 c12.695,12.699,0.386,27.46,0.259,27.606L34.951,38.12L34.951,38.12z"/>
-<path d="M30.761,14.545l-1.414-1.412l-3.521,3.521V8.411h-9.981l-4.24,6.624H4.93v15.82h6.674l4.24,6.625h9.981v-8.201l3.855,3.287 l1.298-1.521C33.574,28.005,36.864,20.643,30.761,14.545z M19.18,30.335l-3.921-6.128h-3.682v-2.522h3.682l3.921-6.128V30.335z M25.918,26.742l-0.094,0.109v-7.844l0.237,0.236C29.324,22.505,26.277,26.318,25.918,26.742z"/>
-<path d="M27.476,17.83c4.622,4.622,0.158,9.979-0.031,10.203l2.014,1.714c2.181-2.554,4.957-8.725-0.11-13.788 L27.476,17.83z" fill="#FFFFFF"/>
-<path d="M34.576,10.406l-1.873,1.871c9.664,9.663,0.404,20.838,0.006,21.309l2.017,1.717 C34.838,35.17,45.974,21.811,34.576,10.406z" fill="#FFFFFF"/>
-<path d="M16.937,10.411l-4.242,6.625H6.931v11.819h5.764l4.242,6.625h6.887V10.411H16.937z M21.179,32.834h-2.776 l-4.237-6.626H9.578v-6.524h4.588l4.237-6.625h2.776V32.834z" fill="#FFFFFF"/>
-</svg>
--- a/controlpanelui/src/cpplugins/personalizationplugin/personalizationplugin.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: cppersonalizationplugin source files
-#
-
-# Input
-HEADERS += src/cppersonalizationplugin.h \
- src/cppersonalizationgroupitemdata.h\
- src/cpprofilesettingform.h \
- ../ringtoneplugin/src/cppersonalizationentryitemdata.h \
- src/cppersonalizationadvanceview.h \
- src/cpprofilenameeditdialog.h \
-
-SOURCES += src/cppersonalizationplugin.cpp \
- src/cppersonalizationgroupitemdata.cpp \
- src/cpprofilesettingform.cpp \
- ../ringtoneplugin/src/cppersonalizationentryitemdata.cpp \
- src/cppersonalizationadvanceview.cpp \
- src/cpprofilenameeditdialog.cpp \
--- a/controlpanelui/src/cpplugins/personalizationplugin/personalizationplugin.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-TARGET = cppersonalizationplugin
-
-CONFIG += hb plugin
-RESOURCES += personalizationplugin.qrc
-
-LIBS += -lcpprofilewrapper
-LIBS += -lxqsettingsmanager -lcpringtoneview
-
-include ( ../cpplugincommon.pri )
-include ( personalizationplugin.pri )
-
-symbian: {
- TARGET.UID3 = 0X20025FE5
-}
-
-symbian: {
- deploy.path = C:
- headers.sources = data/cppersonalizationplugin.cpcfg
- headers.path = /resource/qt/plugins/controlpanel/config
- DEPLOYMENT += exportheaders
-
- # This is for new exporting system coming in garden
- for(header, headers.sources):BLD_INF_RULES.prj_exports += "./$$header $$deploy.path$$headers.path/$$basename(header)"
-}
--- a/controlpanelui/src/cpplugins/personalizationplugin/personalizationplugin.qrc Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>icon/hb_vol_slider_decrement.svg</file>
- <file>icon/hb_vol_slider_decrement_pressed.svg</file>
- <file>icon/hb_vol_slider_increment.svg</file>
- <file>icon/hb_vol_slider_increment_pressed.svg</file>
- <file>icon/hb_vol_slider_muted.svg</file>
- <file>icon/hb_vol_slider_unmuted.svg</file>
- </qresource>
-</RCC>
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationadvanceview.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include "cppersonalizationadvanceview.h"
-#include <cpcategorysettingformitemdata.h>
-#include <cpitemdatahelper.h>
-/*#include <hbdataformmodel.h>
-#include <hbdataform.h>
-#include <hblineedit.h>
-#include <hbdataformmodelitem.h>
-*/
-#include "cpprofilesettingform.h"
-#include "cpprofilenameeditdialog.h"
-
-#include <cppluginutility.h>
-#include <hbaction.h>
-#include <hbmenu.h>
-CpPersonalizationAdvanceView::CpPersonalizationAdvanceView(QGraphicsItem *parent /*=0*/):
- CpBaseSettingView(0,parent)
-{
- // 1.init the dataform for advance settings here
- // 2.please modify the cpprofilesettingform.h/ cpp according to current ui spec
- // 3.NOTICE! you can get controlpanel's text map from the controlpanel ui wiki, use current text id for strings
- // 4.use cppersonalizationentryitemdata class to create ringtone, message tone...
- // 5.ignore cpmastervolumeslider class, please use default slideritem to create keyandscreen slider, new property added in slider, if any question, please contact me.
- // 6. don't forget the cfg file in data folder, you can try to add the profile activator plugin and ringtone plugin here
- HbDataForm *form = new CpProfileSettingForm();
- setWidget( form );
- CpPluginUtility::addCpItemPrototype(form);
- initMenu();
-}
-CpPersonalizationAdvanceView::~CpPersonalizationAdvanceView()
-{
-
-}
-
-void CpPersonalizationAdvanceView::initMenu()
-{
- HbAction *editNameAction = new HbAction( this );
- editNameAction->setObjectName( "editNameAction" );
- editNameAction->setText( hbTrId( "txt_cp_list_edit_name" ) );
-
- menu()->addAction( editNameAction );
- connect( editNameAction, SIGNAL( triggered() ), this, SLOT( on_editNameAction_triggered() ));
-}
-
-void CpPersonalizationAdvanceView::on_editNameAction_triggered()
-{
- QString string = QString( "general" );
- bool ret = CpProfileNameEditDialog::launchProfileNameEditDialog( string );
-}
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationadvanceview.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPPERSONALIZATIONADVANCEVIEW_H
-#define CPPERSONALIZATIONADVANCEVIEW_H
-
-#include <cpbasesettingview.h>
-class CpItemDataHelper;
-
-class CpPersonalizationAdvanceView: public CpBaseSettingView
-{
- Q_OBJECT
-public:
- explicit CpPersonalizationAdvanceView(QGraphicsItem *parent = 0);
- ~CpPersonalizationAdvanceView();
-
-private slots:
- void on_editNameAction_triggered();
-
-private:
- void initMenu();
-};
-#endif
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationgroupitemdata.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include "cppersonalizationgroupitemdata.h"
-#include <cplogger.h>
-#include <hbdataformmodelitem.h>
-#include <cpsettingformentryitemdataimpl.h>
-#include <cpbasesettingview.h>
-#include <cpitemdatahelper.h>
-#include <hbmessagebox.h>
-#include <cpprofilemodel.h>
-#include "cppersonalizationadvanceview.h"
-#include "cppersonalizationentryitemdata.h"
-
-
-CpPersonalizationGroupItemData::CpPersonalizationGroupItemData(HbDataFormModelItem::DataItemType type,
- const QString &label,
- const QString &configFile,
- const HbDataFormModelItem *parent):
- CpCategorySettingFormItemData(type, label, configFile, parent)
-
-{
- CPFW_LOG("CpPersonalizationGroupItemData::CpPersonalizationGroupItemData(), START");
- CPFW_LOG("CpPersonalizationGroupItemData::CpPersonalizationGroupItemData(), END");
-}
-
-CpPersonalizationGroupItemData::~CpPersonalizationGroupItemData()
-{
-}
-
-void CpPersonalizationGroupItemData::beforeLoadingConfigPlugins(CpItemDataHelper &itemDataHelper)
-{
-
- // keep this interface for development in the futrue
- CPFW_LOG("CpPersonalizationGroupItemData::beforeLoadingConfigPlugins(), START");
-
- CPFW_LOG("CpPersonalizationGroupItemData::beforeLoadingConfigPlugins(), END");
-}
-
-void CpPersonalizationGroupItemData::afterLoadingConfigPlugins(CpItemDataHelper &itemDataHelper)
-{
- CPFW_LOG("CpPersonalizationGroupItemData::afterLoadingConfigPlugins(), START");
- CpSettingFormEntryItemData *advanceSettingItem =
- new CpSettingFormEntryItemDataImpl<CpPersonalizationAdvanceView>(CpSettingFormEntryItemData::ButtonEntryItem,
- itemDataHelper, hbTrId("txt_cp_button_advanced_settings"));
-
- advanceSettingItem->setContentWidgetData("textAlignment", QVariant( Qt::AlignHCenter | Qt::AlignVCenter) );
- advanceSettingItem->setContentWidgetData("objectName", "advanceSettingButton" );
- appendChild(advanceSettingItem);
- CPFW_LOG("CpPersonalizationGroupItemData::afterLoadingConfigPlugins(), END");
-}
-
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationgroupitemdata.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPPERSONALIZATIONGROUPITEMDATA_H
-#define CPPERSONALIZATIONGROUPITEMDATA_H
-
-#include <QObject>
-#include <cpcategorysettingformitemdata.h>
-
-class CpProfileModel;
-class CpItemDataHelper;
-class CpSettingFormEntryItemData;
-class CpMasterVolumeValueController;
-
-class CpPersonalizationGroupItemData: public CpCategorySettingFormItemData
-{
- Q_OBJECT
-public:
- CpPersonalizationGroupItemData(HbDataFormModelItem::DataItemType type,
- const QString &label,
- const QString &configFile = QString(),
- const HbDataFormModelItem *parent = 0);
-
- ~CpPersonalizationGroupItemData();
-//private slots:
- //void masterVolumeValueChanged(int value);
-// void onVibraValueChange(int isVibra);
-private:
- virtual void beforeLoadingConfigPlugins(CpItemDataHelper &itemDataHelper);
- virtual void afterLoadingConfigPlugins(CpItemDataHelper &itemDataHelper);
-};
-
-#endif /* CPPERSONALIZATIONGROUPITEMDATA_H */
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationplugin.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cppersonalizationplugin.h"
-#include "cppersonalizationgroupitemdata.h"
-#include <cpcategorysettingformitemdata.h>
-#include <cpitemdatahelper.h>
-#include "cppersonalizationadvanceview.h"
-
-CpPersonalizationPlugin::CpPersonalizationPlugin()
-{
-}
-
-CpPersonalizationPlugin::~CpPersonalizationPlugin()
-{
-}
-
-QList<CpSettingFormItemData*> CpPersonalizationPlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
-{
-
- CpPersonalizationGroupItemData *personalItemData =
- new CpPersonalizationGroupItemData(
- HbDataFormModelItem::GroupItem,
- hbTrId("txt_cp_subhead_personalization"),
- QString("cppersonalizationplugin.cpcfg") );
-
- return QList<CpSettingFormItemData*>() << personalItemData;
-}
-
-CpBaseSettingView *CpPersonalizationPlugin::createSettingView(const QVariant &hint) const
-{
- if (hint.toString().compare("profile_view",Qt::CaseInsensitive) == 0) {
- return new CpPersonalizationAdvanceView;
- }
- return 0;
-}
-
-Q_EXPORT_PLUGIN2(cppersonalizationplugin, CpPersonalizationPlugin);
-
-
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cppersonalizationplugin.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPPERSONALIZATIONPLUGIN_H
-#define CPPERSONALIZATIONPLUGIN_H
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-#include <cplauncherinterface.h>
-
-class CpBaseSettingView;
-class QVariant;
-
-class CpPersonalizationPlugin
- : public QObject,
- public CpPluginInterface,
- public CpLauncherInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
- Q_INTERFACES(CpLauncherInterface)
-public:
- CpPersonalizationPlugin();
- virtual ~CpPersonalizationPlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
- virtual CpBaseSettingView *createSettingView(const QVariant &hint) const;
-};
-
-#endif /* CPPERSONALIZATIONPLUGIN_H */
-
-
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cpprofilenameeditdialog.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cpprofilenameeditdialog.h"
-
-#include <hblineedit.h>
-#include <hblabel.h>
-#include <hbaction.h>
-
-#include <QGraphicsLinearLayout>
-#include <QScopedPointer>
-
-CpProfileNameEditDialog::CpProfileNameEditDialog( QGraphicsItem *parent )
- :HbDialog( parent )
-{
- init();
-}
-
-CpProfileNameEditDialog::~CpProfileNameEditDialog()
-{
-}
-
-void CpProfileNameEditDialog::init()
-{
- setDismissPolicy( HbPopup::NoDismiss );
- setHeadingWidget( new HbLabel( hbTrId( "txt_cp_title_edit_name" ), this ));
-
- QGraphicsLinearLayout *vLayout = new QGraphicsLinearLayout();
- vLayout->setOrientation( Qt::Vertical );
- HbWidget *contentWidget = new HbWidget( this );
- mTextEdit = new HbLineEdit( this );
- mTextEdit->setFontSpec( HbFontSpec( HbFontSpec::Primary ) );
- vLayout->addItem( mTextEdit );
- contentWidget->setLayout( vLayout );
- setContentWidget( contentWidget );
-
- connect( mTextEdit, SIGNAL( contentsChanged() ), this, SLOT( checkPrimaryAction() ) );
-
- addAction( new HbAction( hbTrId( "txt_common_button_ok" ), this ));
- addAction( new HbAction( hbTrId( "txt_common_button_cancel" ), this ) );
-
- setTimeout( NoTimeout );
-}
-
-void CpProfileNameEditDialog::setLineEditText( const QString &text )
-{
- mTextEdit->setText( text );
- mTextEdit->setSelection( 0, text.length() );
-}
-
-QString CpProfileNameEditDialog::getLineEditText()
-{
- QString text = mTextEdit->text();
- return text;
-}
-
-bool CpProfileNameEditDialog::launchProfileNameEditDialog( QString &profileName )
-{
- CpProfileNameEditDialog *profileEditNameDialog = new CpProfileNameEditDialog();
-
- profileEditNameDialog->setLineEditText( profileName );
- profileEditNameDialog->checkPrimaryAction();
- profileEditNameDialog->show();
- return false;
-}
-
-void CpProfileNameEditDialog::checkPrimaryAction()
-{
- HbAction *const primaryAction = qobject_cast<HbAction *>
- (actions().at(0));
- if (primaryAction) {
- if ( !mTextEdit->text().isEmpty() ) {
- primaryAction->setEnabled(true);
- } else {
- primaryAction->setEnabled(false);
- }
- }
-}
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cpprofilenameeditdialog.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPPROFILENAMEEDITDIALOG_H
-#define CPPROFILENAMEEDITDIALOG_H
-
-#include <hbdialog.h>
-
-class HbWidget;
-class HbLineEdit;
-
-class CpProfileNameEditDialog : public HbDialog
-{
- Q_OBJECT
-
-public:
- CpProfileNameEditDialog( QGraphicsItem *parent = 0 );
- virtual ~CpProfileNameEditDialog();
-
- static bool launchProfileNameEditDialog( QString &profileName );
-
-private slots:
- void checkPrimaryAction();
-
-private:
- void init();
- void setLineEditText( const QString &text );
- QString getLineEditText();
-
-private:
- HbWidget *mContentWidget;
- HbLineEdit *mTextEdit;
-};
-
-#endif /* CPPROFILENAMEEDITDIALOG_H */
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cpprofilesettingform.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,351 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cpprofilesettingform.h"
-#include "cppersonalizationentryitemdata.h"
-#include <QStringList>
-#include <hbdataformmodel.h>
-#include <hbabstractviewitem.h>
-#include <cpitemdatahelper.h>
-#include <cpprofilemodel.h>
-#include <hbslider.h>
-
-#include <QFileInfo>
-#include <QFileIconProvider>
-#include <QAbstractItemModel>
-#include <QModelIndex>
-#include <QMap>
-
-#include <xqsettingsmanager.h>
-#include <ProfileEngineInternalCRKeys.h>
-
-CpProfileSettingForm::CpProfileSettingForm()
- : mModel(0), mItemDataHelper(new CpItemDataHelper( this )),
- mProfileModel(new CpProfileModel()), mFileIconProvider(new QFileIconProvider),
- mGeneralPage(0),mMeetingPage(0),mCurrentPage( 0 ), mSettingManager(0)
-{
- this->setHeading(hbTrId("txt_cp_button_advanced_settings"));
- this->setDescription(hbTrId("txt_cp_info_select_tones_that_play_when_you_select"));
-
- initModel();
-}
-
-CpProfileSettingForm::~CpProfileSettingForm()
-{
- delete mModel;
- delete mProfileModel;
- delete mFileIconProvider;
- delete mSettingManager;
-}
-
-void CpProfileSettingForm::initModel()
-{
- mModel = new HbDataFormModel();
-
- QString generalString( mProfileModel->profileName( EProfileWrapperGeneralId ) );
- if( generalString.isEmpty() ) {
- qDebug( "warning: general profile name is empty");
- generalString = hbTrId("txt_cp_list_general");
- }
- QString meetingString( mProfileModel->profileName( EProfileWrapperMeetingId ) );
- if( meetingString.isEmpty() ) {
- qDebug( "warning: meeting profile name is empty");
- meetingString = hbTrId("txt_cp_list_meeting");
- }
-
- mSettingManager = new XQSettingsManager();
-
- XQCentralRepositorySettingsKey key(KCRUidProfileEngine.iUid,KProEngSilenceMode);
-
- QVariant silenceMode = mSettingManager->readItemValue(key,XQSettingsManager::TypeInt);
-
- mSettingManager->startMonitoring(key,XQSettingsManager::TypeInt);
- connect(mSettingManager, SIGNAL(valueChanged (XQSettingsKey, QVariant)),
- this, SLOT(settingValueChanged(XQSettingsKey, QVariant)));
-
- mGeneralPage = mModel->appendDataFormPage( generalString );
- initProfileItems(EProfileWrapperGeneralId,mGeneralPage);
-
- //initGeneralTonesGroup();
-
- //initGeneralVibraGroup();
-
- mMeetingPage = mModel->appendDataFormPage( meetingString );
- initProfileItems(EProfileWrapperMeetingId,mMeetingPage);
- //initMeetingTonesGroup();
- //initMeetingVibraGroup();
- setModel(mModel);
- settingValueChanged(key,silenceMode);
-}
-
-void CpProfileSettingForm::initProfileItems(int profileId,HbDataFormModelItem *parent)
-{
- CpProfileSettings profileSettings;
- mProfileModel->profileSettings( profileId, profileSettings );
-
- QHash<int,HbDataFormModelItem*> modelItems;
-
- //ring tone item
- QFileInfo ringToneFileInfo( profileSettings.mRingTone );
- HbDataFormModelItem *modelItem = new CpPersonalizationEntryItemData( *mItemDataHelper,
- hbTrId("txt_cp_dblist_ringtone"), ringToneFileInfo.fileName(), "qtg_large_ring_tone",
- CpPersonalizationEntryItemData::TONE_Ring, profileId );
- mModel->appendDataFormItem(modelItem, parent);
- modelItems.insert(ProfileItemRingTone,modelItem);
-
- //message tone item
- QFileInfo messageToneFileInfo( profileSettings.mMessageTone );
- modelItem = new CpPersonalizationEntryItemData( *mItemDataHelper,
- hbTrId("txt_cp_dblist_message_tone"), messageToneFileInfo.fileName(), "qtg_large_message",
- CpPersonalizationEntryItemData::TONE_Message,
- profileId );
- mModel->appendDataFormItem(modelItem , parent);
- modelItems.insert(ProfileItemMessageTone,modelItem);
-
- //email tone item
- QFileInfo emailToneFileInfo( profileSettings.mEmailTone );
- modelItem = new CpPersonalizationEntryItemData( *mItemDataHelper,
- hbTrId("txt_cp_dblist_email_tone"), emailToneFileInfo.fileName(), "qtg_large_email",
- CpPersonalizationEntryItemData::TONE_Email,
- profileId );
- mModel->appendDataFormItem(modelItem , parent);
- modelItems.insert(ProfileItemEmailTone,modelItem);
-
- //reminder tone item
- QFileInfo reminderToneFileInfo( profileSettings.mReminderTone );
- modelItem = new CpPersonalizationEntryItemData( *mItemDataHelper,
- hbTrId("txt_cp_dblist_reminder_tone"), reminderToneFileInfo.fileName(), "qtg_large_calendar",
- CpPersonalizationEntryItemData::TONE_Reminder,
- profileId );
- mModel->appendDataFormItem(modelItem , parent);
- modelItems.insert(ProfileItemReminderTone,modelItem);
-
- //notification tones item
- modelItem= mModel->appendDataFormItem(HbDataFormModelItem::CheckBoxItem,QString(),parent);
- modelItem->setContentWidgetData("text", hbTrId("txt_cp_list_notification_tones"));
- modelItem->setContentWidgetData("checkState", profileSettings.mNotificationTone ? 2 : 0);
- modelItem->setContentWidgetData("objectName", "notificationTonesCheckBox" + QString::number(profileId));
- if (profileId == EProfileWrapperGeneralId) {
- addConnection( modelItem, SIGNAL( stateChanged( int )), this, SLOT( on_general_notificationTones_stateChanged( int )));
- }
- else if (profileId == EProfileWrapperMeetingId) {
- addConnection( modelItem, SIGNAL( stateChanged( int )), this, SLOT( on_meeting_notificationTones_stateChanged( int )));
- }
- modelItems.insert(ProfileItemNotificationTones,modelItem);
-
-
- //Key and Touch Screen Tones item
- modelItem =
- mModel->appendDataFormItem(HbDataFormModelItem::SliderItem ,QString(hbTrId("txt_cp_setlabel_key_and_touchscreen_tones")),parent);
-
- QList<QVariant> sliderElements;
- sliderElements << QVariant(HbSlider::IncreaseElement) << QVariant(HbSlider::TrackElement)
- << QVariant(HbSlider::DecreaseElement) << QVariant(HbSlider::IconElement)
- << QVariant(HbSlider::TextElement);
- modelItem->setContentWidgetData("sliderElements",sliderElements);
- modelItem->setContentWidgetData("objectName", "keyTonesSlider" + QString::number(profileId));
-
-
- //TODO: profileModel need provide Max and Min value( 0-5 ), current max value from profileModel is 3
- modelItem->setContentWidgetData( QString( "minimum" ), 0 );
- modelItem->setContentWidgetData( QString( "maximum" ), 5 );
- modelItem->setContentWidgetData( QString("value"), profileSettings.mKeyTouchScreenTone );
- QMap< QString, QVariant > elements;
- elements.insert(QString("IncreaseElement") , QVariant(":/icon/hb_vol_slider_increment.svg"));
- elements.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg") );
- if (profileSettings.mKeyTouchScreenTone != 0) {
- elements.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_unmuted.svg") );
- }
- else {
- elements.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_muted.svg") );
- }
-
- modelItem->setContentWidgetData( QString( "elementIcons" ), elements );
-
- if (profileId == EProfileWrapperGeneralId) {
- addConnection( modelItem, SIGNAL( valueChanged( int )), this, SLOT( on_general_keysAndScreenToneSlider_ValueChanged( int )));
- }
- else if (profileId == EProfileWrapperMeetingId) {
- addConnection( modelItem, SIGNAL( valueChanged( int )), this, SLOT( on_meeting_keysAndScreenToneSlider_ValueChanged( int )));
- }
-
- modelItems.insert(ProfileItemKeyandTouchScreenTones,modelItem);
-
-
- //Touch Screen Vibra item
- modelItem = mModel->appendDataFormItem( HbDataFormModelItem::SliderItem, QString( hbTrId( "txt_cp_setlabel_touch_screen_vibra" ) ), parent );
- //TODO: profileModel need provide Max and Min value( 0-5 ), current max value from profileModel is 3
- sliderElements.clear();
- sliderElements << QVariant(HbSlider::IncreaseElement) << QVariant(HbSlider::TrackElement)
- << QVariant(HbSlider::DecreaseElement);
- modelItem->setContentWidgetData("sliderElements",sliderElements);
- modelItem->setContentWidgetData("objectName", "vibrationSlider" + QString::number(profileId));
- modelItem->setContentWidgetData( QString( "minimum" ), 0 );
- modelItem->setContentWidgetData( QString( "maximum" ), 5 );
- modelItem->setContentWidgetData( QString("value"), profileSettings.mKeyTouchScreenVibra );
- QMap< QString, QVariant > iconElements;
- iconElements.insert(QString("IncreaseElement") , QVariant(":/icon/hb_vol_slider_increment.svg"));
- iconElements.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg") );
- modelItem->setContentWidgetData( QString( "elementIcons" ), iconElements );
-
- if (profileId == EProfileWrapperGeneralId) {
- addConnection( modelItem, SIGNAL( valueChanged( int )), this, SLOT( on_general_screenVibra_ValueChanged( int )));
- }
- else if (profileId == EProfileWrapperMeetingId) {
- addConnection( modelItem, SIGNAL( valueChanged( int )), this, SLOT( on_meeting_screenVibra_ValueChanged( int )));
- }
-
- modelItems.insert(ProfileItemTouchScreenVibra,modelItem);
-
- mProfileModelItems.insert(profileId,modelItems);
-
-}
-
-
-
-////////////////////////////////////////////////////
-//general tones
-void CpProfileSettingForm::on_general_notificationTones_stateChanged(int state)
-{
- mProfileModel->setNotificationTone( EProfileWrapperGeneralId, checkBoxStateToBool( state ) );
-}
-
-void CpProfileSettingForm::on_general_keysAndScreenToneSlider_ValueChanged( int value )
-{
- mProfileModel->setKeyTouchScreenTone( EProfileWrapperGeneralId, value );
- HbDataFormModelItem *modelItem = profileItem(EProfileWrapperGeneralId,ProfileItemKeyandTouchScreenTones);
- if (modelItem) {
- modelItem->setContentWidgetData( QString("value"), value );
- setMuteIcon(modelItem, (value == 0) );
- }
-}
-
-
-//general vibra
-void CpProfileSettingForm::on_general_screenVibra_ValueChanged( int value )
-{
- mProfileModel->setKeyTouchScreenVibra( EProfileWrapperGeneralId, value );
-
- HbDataFormModelItem *modelItem = profileItem(EProfileWrapperGeneralId,ProfileItemTouchScreenVibra);
- if (modelItem) {
- modelItem->setContentWidgetData( QString("value"), value );
- }
-
-}
-
-////////////////////////////////////////////////////
-//meeting Tones
-void CpProfileSettingForm::on_meeting_notificationTones_stateChanged(int state)
-{
- mProfileModel->setNotificationTone( EProfileWrapperMeetingId, checkBoxStateToBool( state ) );
-}
-
-void CpProfileSettingForm::on_meeting_keysAndScreenToneSlider_ValueChanged( int value )
-{
- mProfileModel->setKeyTouchScreenTone( EProfileWrapperMeetingId, value );
-
- HbDataFormModelItem *modelItem = profileItem(EProfileWrapperMeetingId,ProfileItemKeyandTouchScreenTones);
- if (modelItem) {
- modelItem->setContentWidgetData( QString("value"), value );
- setMuteIcon(modelItem, (value == 0) );
- }
-}
-
-void CpProfileSettingForm::on_meeting_screenVibra_ValueChanged( int value )
-{
- mProfileModel->setKeyTouchScreenVibra( EProfileWrapperMeetingId, value );
-
- HbDataFormModelItem *modelItem = profileItem(EProfileWrapperMeetingId,ProfileItemTouchScreenVibra);
- if (modelItem) {
- modelItem->setContentWidgetData( QString("value"), value );
- }
-}
-
-bool CpProfileSettingForm::checkBoxStateToBool( int state )
-{
- if( state == Qt::Checked ) {
- return true;
- } else {
- return false;
- }
-}
-
-
-void CpProfileSettingForm::settingValueChanged(const XQSettingsKey &key, const QVariant &value)
-{
- if (key.uid() == KCRUidProfileEngine.iUid && key.key() == KProEngSilenceMode && value.isValid()) {
-
- static const int silenceSensitiveModelItemIds[] =
- {
- CpProfileSettingForm::ProfileItemRingTone,
- CpProfileSettingForm::ProfileItemMessageTone,
- CpProfileSettingForm::ProfileItemEmailTone,
- CpProfileSettingForm::ProfileItemReminderTone,
- CpProfileSettingForm::ProfileItemNotificationTones,
- CpProfileSettingForm::ProfileItemKeyandTouchScreenTones
- };
-
- QHash< int,QHash<int,HbDataFormModelItem*> >::const_iterator it (mProfileModelItems.begin());
- for(; it != mProfileModelItems.end(); ++it ) {
- for (int i = 0; i < sizeof(silenceSensitiveModelItemIds)/sizeof(silenceSensitiveModelItemIds[0]);++i) {
- QHash<int,HbDataFormModelItem*>::const_iterator found = it.value().find(silenceSensitiveModelItemIds[i]);
- if (found != it.value().end()) {
- if (found.key() == CpProfileSettingForm::ProfileItemKeyandTouchScreenTones) {
- int currentValue = found.value()->contentWidgetData("value").toInt();
- // change the mute icon when the silence mode is changed
- bool isMute = value.toBool() || (currentValue == 0);
- setMuteIcon(found.value(), isMute);
- }
- found.value()->setEnabled(!value.toBool());
- }
- }
- }
- }
-}
-
-HbDataFormModelItem *CpProfileSettingForm::profileItem(int profileId,int profileItemId)
-{
- return mProfileModelItems.value(profileId).value(profileItemId);
-}
-
-/*!
- * Set the slider icon to mute or unmute
- * @param isMute: identified the icon of slider, mute or unmute
- * @param profileId: identified which slider should be changed
- */
-
-void CpProfileSettingForm::setMuteIcon(HbDataFormModelItem *sliderItem, bool isMute)
-{
- if (sliderItem == 0) {
- return;
- }
- //VolumeSliderItem will be depreacted, so ignore the assert about it
- if (sliderItem->type() != HbDataFormModelItem::SliderItem) {
- return;
- }
-
- QMap<QString, QVariant> elements = sliderItem->contentWidgetData("elementIcons").toMap();
-
- if (isMute) {
- elements.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_muted.svg"));
- }
- else {
- elements.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_unmuted.svg"));
- }
- sliderItem->setContentWidgetData( QString( "elementIcons" ), elements );
-}
-//End of File
--- a/controlpanelui/src/cpplugins/personalizationplugin/src/cpprofilesettingform.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPPROFILESETTINGFORM_H
-#define CPPROFILESETTINGFORM_H
-
-#include <hbdataform.h>
-#include <QHash>
-
-class HbDataFormModel;
-class HbDataFormModelItem;
-class CpItemDataHelper;
-class CpProfileModel;
-class QFileIconProvider;
-class XQSettingsManager;
-class XQSettingsKey;
-class QVariant;
-
-class CpProfileSettingForm : public HbDataForm
-{
- Q_OBJECT
-public:
-
- enum ProfileItemId {
- ProfileItemRingTone,
- ProfileItemMessageTone,
- ProfileItemEmailTone,
- ProfileItemReminderTone,
- ProfileItemNotificationTones,
- ProfileItemKeyandTouchScreenTones,
- ProfileItemTouchScreenVibra
- };
-
- CpProfileSettingForm();
- virtual ~CpProfileSettingForm();
-
-private slots:
-
- //general tones
- void on_general_notificationTones_stateChanged(int state);
- void on_general_keysAndScreenToneSlider_ValueChanged( int value );
- //general vibra
- void on_general_screenVibra_ValueChanged( int value );
-
- //meeting tones
- void on_meeting_notificationTones_stateChanged(int state);
- void on_meeting_keysAndScreenToneSlider_ValueChanged( int value );
-
- //meeting vibar
- void on_meeting_screenVibra_ValueChanged( int value );
-
- void settingValueChanged(const XQSettingsKey &key, const QVariant &value);
-private:
- void initModel();
- void initGeneralTonesGroup();
- //void initGeneralVibraGroup();
- void initMeetingTonesGroup();
- //void initMeetingVibraGroup();
- bool checkBoxStateToBool( int state );
- // void initRingToneGroup(HbDataFormModelItem *parent);
- // void initMessageToneGroup(HbDataFormModelItem *parent);
- // void initAlertToneGroup(HbDataFormModelItem *parent);
- // void initKeyAndScreenToneGroup(HbDataFormModelItem *parent);
-
- void initProfileItems(int profileId,HbDataFormModelItem *parent);
- HbDataFormModelItem *profileItem(int profileId,int profileItemId);
- void setMuteIcon(HbDataFormModelItem *silderItem, bool isMute);
-private:
- HbDataFormModel *mModel;
- CpItemDataHelper *mItemDataHelper;
- CpProfileModel *mProfileModel;
- QFileIconProvider *mFileIconProvider;
-
- HbDataFormModelItem *mGeneralPage;
- HbDataFormModelItem *mMeetingPage;
-
- HbDataFormModelItem *mCurrentPage;
-
- // HbDataFormModelItem *mGeneralKeysAndScreenToneSlider;
- // HbDataFormModelItem *mGeneralSreenVibra;
- // HbDataFormModelItem *mMeetingKeysAndScreenToneSlider;
- // HbDataFormModelItem *mMeetingSreenVibra;
-
- XQSettingsManager *mSettingManager;
-
- QHash< int,QHash<int,HbDataFormModelItem*> > mProfileModelItems;
-};
-
-
-#endif //CPPROFILESETTINGFORM_H
--- a/controlpanelui/src/cpplugins/privacyplugin/data/cpprivacyplugin.cpcfg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<childplugins>
- <plugin displayname = "Pin code" id = "0X2002E682" dll = "cppincodeplugin.dll">
- <desc></desc>
- </plugin>
-
- <plugin displayname = "Device lock" id = "0X2002E683" dll = "devicelockplugin.dll">
- <desc></desc>
- </plugin>
-
- <plugin displayname = "Advanced security" id = "0X2002E684" dll = "cpadvancedsecplugin.dll">
- <desc></desc>
- </plugin>
-
-</childplugins>
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/privacyplugin/privacyplugin.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: cpprivacyplugin source files
-#
-
-# Input
-HEADERS += src/cpprivacyplugin.h
-SOURCES += src/cpprivacyplugin.cpp
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/privacyplugin/privacyplugin.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-
-TEMPLATE = lib
-TARGET = cpprivacyplugin
-
-CONFIG += hb plugin
-
-LIBS += -lcpframework
-
-include ( ../cpplugincommon.pri )
-include ( privacyplugin.pri )
-
-symbian: {
- TARGET.UID3 = 0x20025FE1
-}
-
-symbian {
- deploy.path = C:
- headers.sources = data/cpprivacyplugin.cpcfg
- headers.path = /resource/qt/plugins/controlpanel/config
- DEPLOYMENT += exportheaders
-
- # This is for new exporting system coming in garden
- for(header, headers.sources):BLD_INF_RULES.prj_exports += "./$$header $$deploy.path$$headers.path/$$basename(header)"
-}
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/privacyplugin/src/cpprivacyplugin.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cpprivacyplugin.h"
-#include <cpcategorysettingformitemdata.h>
-#include <cpitemdatahelper.h>
-
-CpPrivacyPlugin::CpPrivacyPlugin()
-{
-
-}
-
-CpPrivacyPlugin::~CpPrivacyPlugin()
-{
-
-}
-
-QList<CpSettingFormItemData*> CpPrivacyPlugin::createSettingFormItemData(CpItemDataHelper &/*itemDataHelper*/) const
-{
- CpCategorySettingFormItemData *itemData =
- new CpCategorySettingFormItemData(
- HbDataFormModelItem::GroupItem,
- hbTrId("txt_cp_subhead_security"),
- QString("cpprivacyplugin.cpcfg") );
- return QList<CpSettingFormItemData*>() << itemData;
-}
-
-Q_EXPORT_PLUGIN2(cpprivacyplugin, CpPrivacyPlugin);
--- a/controlpanelui/src/cpplugins/privacyplugin/src/cpprivacyplugin.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPPRIVACYPLUGIN_H
-#define CPPRIVACYPLUGIN_H
-
-#include <cpplugininterface.h>
-#include <qobject.h>
-
-class CpPrivacyPlugin: public QObject,public CpPluginInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpPrivacyPlugin();
- virtual ~CpPrivacyPlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-#endif /* CPPRIVACYPLUGIN_H */
--- a/controlpanelui/src/cpplugins/profileactivatorplugin/profileactivatorplugin.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: display plugin source files
-#
-
-# Input
-HEADERS += src/*.h
-
-SOURCES += src/*.cpp
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/profileactivatorplugin/profileactivatorplugin.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-TARGET = cpprofileactivator
-
-CONFIG += hb plugin
-
-
-include ( ../cpplugincommon.pri )
-include ( profileactivatorplugin.pri )
-LIBS += -lcpprofilewrapper
-symbian {
- TARGET.UID3 = 0X20028739
- TARGET.CAPABILITY = All -TCB
- TARGET.EPOCALLOWDLLDATA = 1
- LIBS += -lprofileeng
-}
--- a/controlpanelui/src/cpplugins/profileactivatorplugin/src/cpprofileactivatordialog.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include "cpprofileactivatordialog.h"
-
-#include <hbradiobuttonlist.h>
-#include <hbaction.h>
-#include <hbdataformmodelitem.h>
-#include <hbpopup.h>
-#include <hblabel.h>
-#include "cpprofileactivatorentryitem.h"
-#include <QGraphicsLinearLayout>
-#include <QGraphicsWidget>
-
-CpProfileActivatorDialog::CpProfileActivatorDialog(CpSettingFormItemData *profileActivator,
- CpProfileModel &profileModel,
- QGraphicsItem *parent):HbDialog(parent),
- mProfileModel(profileModel),
- mProfileList(0),
- mProfileActivator(profileActivator)
-{
- mTitleLabel = new HbLabel(this);
- mTitleLabel->setPlainText(hbTrId("txt_cp_title_profile"));
- mContentWidget = new QGraphicsWidget(this);
- setContentWidget(mContentWidget);
- mLayout = new QGraphicsLinearLayout();
- mLayout->setOrientation( Qt::Vertical );
- mProfileIds << EProfileWrapperGeneralId
- << EProfileWrapperMeetingId;
- mProfileList = new HbRadioButtonList();
- mProfileList->setItems(profileModel.profileNames());
- mLayout->addItem(mTitleLabel);
- mLayout->addItem(mProfileList);
-
- int currentId = mProfileModel.activeProfileId();
- mProfileList->setSelected(mProfileIds.indexOf(static_cast<ProfileWrapperProfileId>(currentId)));
-
-
-
- mConfirmProfile = new HbAction(hbTrId("txt_common_button_ok"));
- mCancelProfile = new HbAction(hbTrId("txt_common_button_cancel"));
-
- connect(mConfirmProfile, SIGNAL(triggered(bool)), this, SLOT(confirmProfileSelection()));
- connect(mCancelProfile, SIGNAL(triggered(bool)), this, SLOT(cancelProfileSelection()));
-
-
- this->addAction(mConfirmProfile);
- this->addAction(mCancelProfile);
- this->setModal(true);
- this->setDismissPolicy(HbPopup::NoDismiss);
- this->setTimeout(HbPopup::NoTimeout);
- mContentWidget->setLayout( mLayout );
-}
-
-CpProfileActivatorDialog::~CpProfileActivatorDialog()
-{
-
-}
-void CpProfileActivatorDialog::confirmProfileSelection()
-{
- int currentIndex = mProfileList->selected();
- if (currentIndex == -1) {
- return;
- }
-
- // the best choice is no need to convert the index to id
- mProfileModel.activateProfile(mProfileIds.at(currentIndex));
-}
-void CpProfileActivatorDialog::cancelProfileSelection()
-{
-
-}
--- a/controlpanelui/src/cpplugins/profileactivatorplugin/src/cpprofileactivatordialog.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPPROFILEACTIVATORDIALOG_H
-#define CPPROFILEACTIVATORDIALOG_H
-
-#include <hbdialog.h>
-#include <cpprofilemodel.h>
-#include <QPointer>
-class HbRadioButtonList;
-class HbDataFormModelItem;
-class CpProfileActivatorEntryItem;
-class CpSettingFormItemData;
-class QGraphicsLinearLayout;
-class QGraphicsWidget;
-class HbLabel;
-
-class CpProfileActivatorDialog: public HbDialog
-{
- Q_OBJECT
-public:
- explicit CpProfileActivatorDialog(CpSettingFormItemData *profileActivator,
- CpProfileModel &profileModel,
- QGraphicsItem *parent = 0);
- ~CpProfileActivatorDialog();
-
-private slots:
- void confirmProfileSelection();
- void cancelProfileSelection();
-private:
- CpProfileModel &mProfileModel;
- HbRadioButtonList *mProfileList;
- CpSettingFormItemData *mProfileActivator;
- QPointer<HbAction> mConfirmProfile;
- QPointer<HbAction> mCancelProfile;
- QList<ProfileWrapperProfileId> mProfileIds;
- QGraphicsLinearLayout *mLayout;
- QGraphicsWidget *mContentWidget;
- HbLabel *mTitleLabel;
-};
-#endif
--- a/controlpanelui/src/cpplugins/profileactivatorplugin/src/cpprofileactivatorentryitem.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include "cpprofileactivatorentryitem.h"
-
-#include "cpprofileactivatordialog.h"
-#include <cpitemdatahelper.h>
-#include <cpprofilemodel.h>
-#include <QScopedPointer>
-#include <cpprofilemonitor.h>
-
-CpProfileActivatorEntryItem::CpProfileActivatorEntryItem(CpItemDataHelper &itemDataHelper,
- const QString &text,
- const QString &description,
- const QString &icon,
- const HbDataFormModelItem *parent)
- :CpSettingFormEntryItemData(CpSettingFormEntryItemData::ListEntryItem, itemDataHelper,text,description,
- icon,parent),mProfileModel(0),mProfileMonitor(0)
-{
- mProfileMonitor = new CpProfileMonitor();
- mProfileModel = new CpProfileModel();
-
- int currentId = mProfileModel->activeProfileId();
- QString currentName = mProfileModel->profileName(currentId);
- this->setDescription(currentName);
- connect(mProfileMonitor, SIGNAL(profileActivated(int)), this, SLOT(onProfileChanged(int)));
-}
-
-CpProfileActivatorEntryItem::~CpProfileActivatorEntryItem()
-{
- delete mProfileModel;
- delete mProfileMonitor;
-}
-
-void CpProfileActivatorEntryItem::onLaunchView()
-{
- CpProfileActivatorDialog *dialog =
- new CpProfileActivatorDialog(this, *mProfileModel);
- dialog->setAttribute(Qt::WA_DeleteOnClose);
- // dialog->open(this, SLOT(ultimateDialogSlot(HbAction*)));
- dialog->show();
-
-}
-
-void CpProfileActivatorEntryItem::onProfileChanged(int activeProfileId)
-{
- QString profileName = mProfileModel->profileName(activeProfileId);
- this->setDescription(profileName);
-}
-/*void CpPersonalizationEntryItemData::handleOk(const QVariant &result)
-{
- if (!result.canConvert<QString>())
- {
- setDescription( "Corrupt result" );
- }
- else
- {
- setDescription( result.value<QString>() );
- }
-}
-void CpPersonalizationEntryItemData::handleError(int errorCode, const QString& errorMessage)
-{
- //
- Q_UNUSED(errorCode);
- Q_UNUSED(errorMessage);
- setDescription("Error");
-}*/
-
-CpBaseSettingView *CpProfileActivatorEntryItem::createSettingView() const
-{
- return 0;
-}
--- a/controlpanelui/src/cpplugins/profileactivatorplugin/src/cpprofileactivatorentryitem.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPPROFILEACTIVATORENTRYITEM_H
-#define CPPROFILEACTIVATORENTRYITEM_H
-
-#include <cpsettingformentryitemdata.h>
-
-class CpProfileModel;
-class CpProfileMonitor;
-
-class CpProfileActivatorEntryItem : public CpSettingFormEntryItemData
-{
-Q_OBJECT
-public:
- explicit CpProfileActivatorEntryItem(CpItemDataHelper &itemDataHelper,
- const QString &text = QString(), const QString &description =
- QString(), const QString &icon = QString(),
- const HbDataFormModelItem *parent = 0);
- virtual ~CpProfileActivatorEntryItem();
-private slots:
- void onLaunchView();
- void onProfileChanged(int activeProfileId);
- //void handleOk(const QVariant &result);
- //void handleError(int errorCode, const QString& errorMessage);
-private:
- virtual CpBaseSettingView *createSettingView() const;
-private:
- CpProfileModel *mProfileModel;
- CpProfileMonitor *mProfileMonitor;
-};
-
-#endif // CPPROFILEACTIVATORENTRYITEM_H
--- a/controlpanelui/src/cpplugins/profileactivatorplugin/src/cpprofileactivatorplugin.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cpprofileactivatorplugin.h"
-#include "cpprofileactivatorentryitem.h"
-
-CpProfileActivatorPlugin::CpProfileActivatorPlugin()
-{
-}
-
-CpProfileActivatorPlugin::~CpProfileActivatorPlugin()
-{
-}
-
-QList<CpSettingFormItemData*> CpProfileActivatorPlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
-{
- CpSettingFormItemData* itemData = new CpProfileActivatorEntryItem(
- itemDataHelper,
- hbTrId("txt_cp_dblist_profile"),
- " ",
- "qtg_large_profiles");
- return QList<CpSettingFormItemData*>() << itemData;
-}
-
-Q_EXPORT_PLUGIN2(cpprofileactivatorplugin, CpProfileActivatorPlugin);
--- a/controlpanelui/src/cpplugins/profileactivatorplugin/src/cpprofileactivatorplugin.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPPROFILEACTIVATOR_H
-#define CPPROFILEACTIVATOR_H
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-
-class CpProfileActivatorPlugin : public QObject, public CpPluginInterface
-{
-Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpProfileActivatorPlugin();
- virtual ~CpProfileActivatorPlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-#endif //CPPROFILEACTIVATOR_H
--- a/controlpanelui/src/cpplugins/ringtoneplugin/ringtoneplugin.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: display plugin source files
-#
-
-# Input
-HEADERS += src/*.h
-
-SOURCES += src/*.cpp
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/ringtoneplugin/ringtoneplugin.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-TARGET = cpringtoneplugin
-CONFIG += hb plugin
-
-include ( ../cpplugincommon.pri )
-include ( ringtoneplugin.pri )
-
-symbian {
- LIBS += -lcpprofilewrapper -lxqservice -lxqserviceutil -lcpringtoneview -lxqsettingsmanager
- TARGET.UID3 = 0X20028738
- TARGET.CAPABILITY = All -TCB
- TARGET.EPOCALLOWDLLDATA = 1
-}
--- a/controlpanelui/src/cpplugins/ringtoneplugin/src/cppersonalizationentryitemdata.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include "cppersonalizationentryitemdata.h"
-#include <cpitemdatahelper.h>
-#include <cpprofilemodel.h>
-#include <cplogger.h>
-#include <qdir.h>
-#include <xqsettingsmanager.h>
-#include <xqcentralrepositoryutils.h>
-#include <xqcentralrepositorysearchcriteria.h>
-#include <ProfileEngineInternalCRKeys.h>
-
-#include "cpringtoneview.h"
-
-
-const QString g_strNoTone("Z:\\resource\\No_Sound.wav");
-CpPersonalizationEntryItemData::CpPersonalizationEntryItemData(CpItemDataHelper &itemDataHelper,
- const QString &text,
- const QString &description,
- const QString &icon,
- Profile_Tone_Types toneType,
- int profileId,
- const HbDataFormModelItem *parent)
- :CpSettingFormEntryItemData(CpSettingFormEntryItemData::ListEntryItem, itemDataHelper,text,description,icon,parent),
- mProfileModel(0),
- m_profileID(profileId),
- mToneType(toneType),
- mSettingManager(0)
-{
- Q_UNUSED(itemDataHelper); //reserve for future
- CPFW_LOG("CpPersonalizationEntryItemData::CpPersonalizationEntryItemData(), START");
- mProfileModel = new CpProfileModel();
- if( mProfileModel )
- {
- QString strRing = loadStringValue();
- if( QFileInfo(strRing) == QFileInfo(g_strNoTone) )
- {
- setDescription( hbTrId("txt_cp_list_no_tone" ) ); //sepcial handling about NoTone
- }
- else
- {
- setDescription( QFileInfo(strRing).baseName() );
- }
- }
- else
- {
- CPFW_LOG("CpPersonalizationEntryItemData::mProfileModel:NULL!");
- }
- mSettingManager = new XQSettingsManager();
- XQCentralRepositorySettingsKey key(KCRUidProfileEngine.iUid,KProEngSilenceMode);
-
- //Monitoring the active ring tone
- XQCentralRepositorySettingsKey keyForActiveRingTone(KCRUidProfileEngine.iUid,KProEngActiveRingTone);
-
- QVariant silenceMode = mSettingManager->readItemValue( key,XQSettingsManager::TypeInt );
- setEnabled( !silenceMode.toInt() );
- mSettingManager->startMonitoring( key,XQSettingsManager::TypeInt );
- mSettingManager->startMonitoring(keyForActiveRingTone, XQSettingsManager::TypeString);
- connect(mSettingManager, SIGNAL(valueChanged (XQSettingsKey, QVariant)),
- this, SLOT(settingValueChanged(XQSettingsKey, QVariant)));
-
-}
-void CpPersonalizationEntryItemData::settingValueChanged( const XQSettingsKey& key, const QVariant& value )
-{
- switch (key.key()) {
- case KProEngActiveRingTone:
- {
- QString strRing = loadStringValue();
- if( QFileInfo(strRing) == QFileInfo(g_strNoTone) )
- {
- setDescription( hbTrId("txt_cp_list_no_tone" ) ); //sepcial handling about NoTone
- }
- else
- {
- setDescription( QFileInfo(strRing).baseName() );
- }
- break;
- }
- case KProEngSilenceMode:
- {
- setEnabled( !value.toInt() );
- break;
-
- }
- default:
- break;
- }
-}
-
-CpPersonalizationEntryItemData::~CpPersonalizationEntryItemData()
-{
- if( mProfileModel )
- {
- delete mProfileModel;
- mProfileModel = 0;
- }
- if( mSettingManager )
- {
- delete mSettingManager;
- }
-}
-
-QString CpPersonalizationEntryItemData::loadStringValue() const
-{
- QString strRing;
- switch( mToneType )
- {
- case TONE_Message:
- if( m_profileID>=0 )
- {
- strRing = mProfileModel->messageTone( m_profileID );
- }
- break;
- case TONE_Email:
- if( m_profileID >=0 )
- {
- strRing = mProfileModel->emailTone( m_profileID );
- }
- break;
- case TONE_Reminder:
- if( m_profileID >=0 )
- {
- strRing = mProfileModel->reminderTone( m_profileID );
- }
- break;
- case TONE_Ring:
- default:
- if( m_profileID <0 )
- {
-
- strRing = mProfileModel->ringTone();
- }
- else
- {
- strRing = mProfileModel->ringTone( m_profileID );
- }
- break;
- }
-
- return strRing;
-}
-void CpPersonalizationEntryItemData::storeStringValue( const QString &strValue ) const
-{
- QString strInput = strValue;
- if( strInput.length() == 0 )
- {
- strInput = g_strNoTone;
- }
- switch( mToneType )
- {
- case TONE_Message:
- if( m_profileID >=0 )
- {
- mProfileModel->setMessageTone( m_profileID, strInput );
- }
- break;
- case TONE_Email:
- if( m_profileID >=0 )
- {
- mProfileModel->setEmailTone( m_profileID, strInput );
- }
- break;
- case TONE_Reminder:
- if( m_profileID >=0 )
- {
- mProfileModel->setReminderTone( m_profileID, strInput );
- }
- break;
- case TONE_Ring:
- default:
- if( m_profileID <0 )
- {
- mProfileModel->setRingTone( strInput );
- }
- else
- {
- mProfileModel->setRingTone( m_profileID, strInput );
- }
- break;
- }
-}
-
-void CpPersonalizationEntryItemData::handleOk(const QString &strFname)
-{
- if(strFname.length())
- {
- //lower level services(tone fetcher or music fetcher)
- //will guarantee strFname is a valid absolute file path.
- setDescription(QFileInfo(strFname).baseName());
- }
- else
- {
- setDescription( hbTrId("txt_cp_list_no_tone" ) );
- }
- storeStringValue(strFname);
-}
-
-
-void CpPersonalizationEntryItemData::handleError(int errorCode, const QString& errorMessage)
-{
- Q_UNUSED(errorCode);
- Q_UNUSED(errorMessage);
-}
-
-CpBaseSettingView *CpPersonalizationEntryItemData::createSettingView() const
-{
- CpRingToneView *pView = new CpRingToneView( );
- connect( pView, SIGNAL( selOK( const QString&)),SLOT(handleOk(const QString &)) );
- connect( pView, SIGNAL( selError( int, const QString& ) ), SLOT( handleOk(const QString &)) );
- return pView;
-}
--- a/controlpanelui/src/cpplugins/ringtoneplugin/src/cppersonalizationentryitemdata.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPPERSONALIZATIONENTRYITEMDATA_H
-#define CPPERSONALIZATIONENTRYITEMDATA_H
-
-#include <cpsettingformentryitemdata.h>
-#include <xqsettingskey.h>
-
-class CpProfileModel;
-class XQSettingsManager;
-
-class CpPersonalizationEntryItemData : public CpSettingFormEntryItemData
-{
- Q_OBJECT
-public:
- typedef enum
- {
- TONE_Ring = 0,
- TONE_Message,
- TONE_Email,
- TONE_Reminder
- }Profile_Tone_Types;
-
- explicit CpPersonalizationEntryItemData(CpItemDataHelper &itemDataHelper,
- const QString &text = QString(),
- const QString &description = QString(),
- const QString &icon = QString(),
- Profile_Tone_Types toneType = TONE_Ring,
- int profileId = -1,
- const HbDataFormModelItem *parent = 0);
- virtual ~CpPersonalizationEntryItemData();
-private slots:
- void handleOk(const QString &strFname);
- void handleError( int errorCode, const QString& errorMessage );
- void settingValueChanged( const XQSettingsKey& key, const QVariant& value );
-private:
- virtual CpBaseSettingView *createSettingView() const;
- QString loadStringValue() const;
- void storeStringValue( const QString &strvalue ) const;
-private:
- CpProfileModel *mProfileModel;
- int m_profileID;
- Profile_Tone_Types mToneType;
- XQSettingsManager *mSettingManager;
-};
-
-#endif // CPPERSONALIZATIONENTRYITEMDATA_H
--- a/controlpanelui/src/cpplugins/ringtoneplugin/src/cpringtoneplugin.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include "cpringtoneplugin.h"
-#include "cppersonalizationentryitemdata.h"
-
-CpRingTonePlugin::CpRingTonePlugin()
-{
-}
-
-CpRingTonePlugin::~CpRingTonePlugin()
-{
-}
-
-QList<CpSettingFormItemData*> CpRingTonePlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
-{
- CpPersonalizationEntryItemData *itemData
- = new CpPersonalizationEntryItemData(
- itemDataHelper,
- hbTrId("txt_cp_dblist_ringtone"),
- QString(""),
- "qtg_large_ring_tone");
- return QList<CpSettingFormItemData*>() << itemData;
-}
-
-Q_EXPORT_PLUGIN2(cpringtoneplugin, CpRingTonePlugin);
--- a/controlpanelui/src/cpplugins/ringtoneplugin/src/cpringtoneplugin.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPRINGTONEPLUGIN_H
-#define CPRINGTONEPLUGIN_H
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-
-class CpRingTonePlugin : public QObject, public CpPluginInterface
-{
-Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpRingTonePlugin();
- virtual ~CpRingTonePlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-#endif //CPRINGTONEPLUGIN_H
--- a/controlpanelui/src/cpplugins/volumeplugin/icon/hb_vol_slider_decrement.svg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<polygon points="33.999,26 10,26 10,17.998 33.999,17.998 "/>
-<rect fill="#FFFFFF" height="4" width="20" x="12" y="20"/>
-</svg>
--- a/controlpanelui/src/cpplugins/volumeplugin/icon/hb_vol_slider_decrement_pressed.svg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<polygon points="33.999,26 10,26 10,17.998 33.999,17.998 "/>
-<rect fill="#00FF00" height="4" width="20" x="12" y="20"/>
-</svg>
--- a/controlpanelui/src/cpplugins/volumeplugin/icon/hb_vol_slider_increment.svg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<polygon points="26.001,33.999 18,33.999 18,26.001 10,26.001 10,18 18,18 18,9.999 26.001,9.999 26.001,18 33.999,18 33.999,26.001 26.001,26.001 "/>
-<polygon fill="#FFFFFF" points="31.999,20 23.999,20 23.999,12 20,12 20,20 12,20 12,23.999 20,23.999 20,31.999 23.999,31.999 23.999,23.999 31.999,23.999 "/>
-</svg>
--- a/controlpanelui/src/cpplugins/volumeplugin/icon/hb_vol_slider_increment_pressed.svg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<polygon points="26.001,33.999 18,33.999 18,26.001 10,26.001 10,18 18,18 18,9.999 26.001,9.999 26.001,18 33.999,18 33.999,26.001 26.001,26.001 "/>
-<polygon fill="#00FF00" points="31.999,20 23.999,20 23.999,12 20,12 20,20 12,20 12,23.999 20,23.999 20,31.999 23.999,31.999 23.999,23.999 31.999,23.999 "/>
-</svg>
--- a/controlpanelui/src/cpplugins/volumeplugin/icon/hb_vol_slider_muted.svg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<path d="M25.824,21.015V8.411h-9.979l-1.025,1.6L8.354,3.545L3.651,8.242l6.797,6.795H4.931v15.818h6.671l4.24,6.625h9.982v-7.067 l7.902,7.905l4.697-4.703L25.824,21.015z M19.179,30.336L15.26,24.21h-3.682v-2.524h3.682l0.715-1.121l3.204,3.203V30.336z"/>
-<rect fill="#FFFFFF" height="2.648" transform="matrix(-0.7071 -0.7071 0.7071 -0.7071 21.1169 50.6082)" width="38.533" x="1.773" y="19.607"/>
-<polygon fill="#FFFFFF" points="21.179,32.835 18.403,32.835 14.166,26.209 9.578,26.209 9.578,19.685 14.166,19.685 14.463,19.219 12.279,17.037 6.931,17.037 6.931,28.855 12.695,28.855 16.937,35.48 23.824,35.48 23.824,28.579 21.179,25.936 "/>
-<polygon fill="#FFFFFF" points="18.403,13.06 21.179,13.06 21.179,16.202 23.824,18.847 23.824,10.412 16.937,10.412 16.332,11.355 18.259,13.284 "/>
-</svg>
--- a/controlpanelui/src/cpplugins/volumeplugin/icon/hb_vol_slider_unmuted.svg Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<path d="M34.951,38.12l-5.054-4.302l1.282-1.521c0.877-1.04,8.324-10.39,0.111-18.605l-1.414-1.413l4.697-4.701l1.413,1.415 c12.695,12.699,0.386,27.46,0.259,27.606L34.951,38.12L34.951,38.12z"/>
-<path d="M30.761,14.545l-1.414-1.412l-3.521,3.521V8.411h-9.981l-4.24,6.624H4.93v15.82h6.674l4.24,6.625h9.981v-8.201l3.855,3.287 l1.298-1.521C33.574,28.005,36.864,20.643,30.761,14.545z M19.18,30.335l-3.921-6.128h-3.682v-2.522h3.682l3.921-6.128V30.335z M25.918,26.742l-0.094,0.109v-7.844l0.237,0.236C29.324,22.505,26.277,26.318,25.918,26.742z"/>
-<path d="M27.476,17.83c4.622,4.622,0.158,9.979-0.031,10.203l2.014,1.714c2.181-2.554,4.957-8.725-0.11-13.788 L27.476,17.83z" fill="#FFFFFF"/>
-<path d="M34.576,10.406l-1.873,1.871c9.664,9.663,0.404,20.838,0.006,21.309l2.017,1.717 C34.838,35.17,45.974,21.811,34.576,10.406z" fill="#FFFFFF"/>
-<path d="M16.937,10.411l-4.242,6.625H6.931v11.819h5.764l4.242,6.625h6.887V10.411H16.937z M21.179,32.834h-2.776 l-4.237-6.626H9.578v-6.524h4.588l4.237-6.625h2.776V32.834z" fill="#FFFFFF"/>
-</svg>
--- a/controlpanelui/src/cpplugins/volumeplugin/src/cppersonalizationcustomviewitem.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cppersonalizationcustomviewitem.h"
-#include <hbdataformmodelitem.h>
-#include <hbdataformmodel.h>
-#include <hbabstractitemview.h>
-#include <QMetaProperty>
-#include <hbpushbutton.h>
-
-CpPersonalizationCustomViewItem::CpPersonalizationCustomViewItem(QGraphicsItem *parent )
- : HbDataFormViewItem(parent),
- mWidget(0)
-{
-}
-CpPersonalizationCustomViewItem::~CpPersonalizationCustomViewItem()
-{
-}
-HbAbstractViewItem* CpPersonalizationCustomViewItem::createItem()
-{
- return new CpPersonalizationCustomViewItem(*this);
-}
-bool CpPersonalizationCustomViewItem::canSetModelIndex(const QModelIndex &index) const
-{
- CpVolumeCustomItemType type = static_cast<CpVolumeCustomItemType>(index.data(HbDataFormModelItem::ItemTypeRole).toInt());
- /*if (type == MasterVolumeSliderItem) {
- return true;
- }
- else*/ if (type == SilenceIndicatorItem) {
- return true;
- }
- else {
- return false;
- }
-}
-
-HbWidget *CpPersonalizationCustomViewItem::createCustomWidget()
-{
- CpVolumeCustomItemType type = static_cast<CpVolumeCustomItemType>
- (modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
- /*if (type == MasterVolumeSliderItem) {
- CpMasterVolumeSlider *masterVolumeSlider = new CpMasterVolumeSlider();
- connect(masterVolumeSlider, SIGNAL(valueChanged(int)), this, SLOT(store()));
- mWidgetMap.insert(type,masterVolumeSlider);
- return masterVolumeSlider;
- } else*/ if (type == SilenceIndicatorItem ) {
- HbPushButton *slienceIndicator = new HbPushButton();
- slienceIndicator->setCheckable(true);
- connect(slienceIndicator, SIGNAL(toggled(bool)),this,SLOT(store()));
- mWidget = slienceIndicator;
- return slienceIndicator;
- }
- else {
- return 0;
- }
-}
-
-void CpPersonalizationCustomViewItem::load()
-{
- //HbDataFormViewItem::load();
-
- CpVolumeCustomItemType itemType = static_cast<CpVolumeCustomItemType>(
- modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
-
- if(itemType == SilenceIndicatorItem) {
-
- QModelIndex itemIndex = modelIndex();
- HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());;
- HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
- model->itemFromIndex(itemIndex));
-
-
- if (mWidget != 0) {
- const QMetaObject *metaObj = mWidget->metaObject();
- int count = metaObj->propertyCount();
- for (int i = 0; i < count; i++) {
- QMetaProperty metaProperty = metaObj->property(i);
- if (metaProperty.isValid() && metaProperty.isWritable()) {
- metaProperty.write(mWidget,modelItem->contentWidgetData(metaProperty.name()));
- }
- }
- }
- }
-}
-
-void CpPersonalizationCustomViewItem::restore()
-{
- HbDataFormViewItem::restore();
-
- CpVolumeCustomItemType itemType = static_cast<CpVolumeCustomItemType>(
- modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
-
- if(itemType == SilenceIndicatorItem) {
-
- QModelIndex itemIndex = modelIndex();
- HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());;
- HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
- model->itemFromIndex(itemIndex));
-
-
- if (mWidget != 0) {
- const QMetaObject *metaObj = mWidget->metaObject();
- int count = metaObj->propertyCount();
- for (int i = 0; i < count; i++) {
- QMetaProperty metaProperty = metaObj->property(i);
- if (metaProperty.isValid() && metaProperty.isWritable()) {
- metaProperty.write(mWidget,modelItem->contentWidgetData(metaProperty.name()));
- }
- }
- }
- }
-}
-
-
-void CpPersonalizationCustomViewItem::store()
-{
- //HbDataFormViewItem::store();
-
- CpVolumeCustomItemType itemType = static_cast<CpVolumeCustomItemType>(
- modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
-
- if(itemType == SilenceIndicatorItem) {
-
- QModelIndex itemIndex = modelIndex();
- HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());
- HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
- model->itemFromIndex(itemIndex));
-
-
- /*if (CpMasterVolumeSlider *slider = qobject_cast<CpMasterVolumeSlider *>(widget)) {
- modelItem->setContentWidgetData("value",slider->value());
- }*/
- if (HbPushButton *silenceIndicator = qobject_cast<HbPushButton *>(mWidget)) {
- modelItem->setContentWidgetData("checked",silenceIndicator->isChecked());
- }
- }
-}
-
-/*void CpPersonalizationCustomViewItem::onValueChanged(int value)
-{
- HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
- modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
-
- if(itemType == MasterVolumeSliderItem) {
-
- QModelIndex itemIndex = modelIndex();
- HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());;
- HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
- model->itemFromIndex(itemIndex));
- modelItem->setContentWidgetData("value",value);
- }
-}*/
--- a/controlpanelui/src/cpplugins/volumeplugin/src/cppersonalizationcustomviewitem.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CP_PERSONALIZATION_CUSTOMVIEWITEM_H
-#define CP_PERSONALIZATION_CUSTOMVIEWITEM_H
-
-#include <hbdataformviewitem.h>
-#include <hbdataformmodelitem.h>
-#include <QMap>
-
-class HbWidget;
-
-enum CpVolumeCustomItemType {
- MasterVolumeSliderItem = HbDataFormModelItem::CustomItemBase+21,
- SilenceIndicatorItem = HbDataFormModelItem::CustomItemBase+22
-};
-
-class CpPersonalizationCustomViewItem: public HbDataFormViewItem
-{
- Q_OBJECT
-public:
- explicit CpPersonalizationCustomViewItem(QGraphicsItem *parent = 0);
- ~CpPersonalizationCustomViewItem();
- virtual HbAbstractViewItem* createItem();
- virtual bool canSetModelIndex(const QModelIndex &index) const;
-public slots:
- virtual void load();
- virtual void store();
- virtual void restore();
-/*private slots:
- void onValueChanged(int value);*/
-protected:
- virtual HbWidget* createCustomWidget();
-private:
- //QMap<CpVolumeCustomItemType, HbWidget *> mWidgetMap;
- HbWidget *mWidget;
-};
-#endif
--- a/controlpanelui/src/cpplugins/volumeplugin/src/cpvolumecontroller.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cpvolumecontroller.h"
-#include <cplogger.h>
-#include <cpitemdatahelper.h>
-#include <hbdataformmodelitem.h>
-#include "cpvolumegroupitemdata.h"
-#ifdef Q_OS_SYMBIAN
- #include <cpprofilemodel.h>
-#endif
-//#include <hbslider.h>
-//#include <hbpushbutton.h>
-
-#include <xqsettingsmanager.h>
-#include <ProfileEngineInternalCRKeys.h>
-#include <ProfileInternal.hrh>
-
-CpVolumeController::CpVolumeController(CpProfileModel *profileModel,
- const QList<HbDataFormModelItem *> &itemList,
- CpItemDataHelper &itemDataHelper) :
- mProfileModel(profileModel),
- mItemList(itemList),
- mSettingManager(0)
-
-{
- //itemDataHelper.addConnection(mMasterVolumeItem,SIGNAL(beepActivated()),this,SLOT(onBeepActivated()));
- //itemDataHelper.addConnection(mMasterVolumeItem,SIGNAL(silentActivated()),this,SLOT(onSilentActivated()));
- //itemDataHelper.addConnection(mMasterVolumeItem,SIGNAL(normalValueChanged(int)),this,SLOT(onNormalValueChanged(int)));
- //updateMasterVolumeValue();
-
-
- itemDataHelper.addConnection(
- mItemList.at(CpVolumeGroupItemData::EVolumeSilenceItem), SIGNAL(toggled(bool)),
- this, SLOT(silenceModeChange(bool))
- );
-
-
- itemDataHelper.addConnection(
- mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem), SIGNAL(valueChanged(int)),
- this, SLOT(masterVolumeChange(int))
- );
- itemDataHelper.addConnection(
- mItemList.at(CpVolumeGroupItemData::EVolumeMasterVibraItem), SIGNAL(stateChanged(int)),
- this, SLOT(masterVibraChange(int))
- );
- updateUi();
-
- mSettingManager = new XQSettingsManager();
-
- XQCentralRepositorySettingsKey silenceKey(KCRUidProfileEngine.iUid,KProEngSilenceMode);
- mSettingManager->startMonitoring(silenceKey,XQSettingsManager::TypeInt);
-
- XQCentralRepositorySettingsKey masterVolumeKey
- (KCRUidProfileEngine.iUid,KProEngMasterVolume);
- mSettingManager->startMonitoring(masterVolumeKey,XQSettingsManager::TypeInt);
-
- XQCentralRepositorySettingsKey masterVibraKey
- (KCRUidProfileEngine.iUid,KProEngMasterVibra);
- mSettingManager->startMonitoring(masterVibraKey,XQSettingsManager::TypeInt);
-
- connect(mSettingManager, SIGNAL(valueChanged (XQSettingsKey, QVariant)),
- this, SLOT(settingValueChanged(XQSettingsKey, QVariant)));
-}
-
-CpVolumeController::~CpVolumeController()
-{
- delete mSettingManager;
-}
-
-void CpVolumeController::silenceModeChange(bool isSilence)
-{
-#ifdef Q_OS_SYMBIAN
- mProfileModel->setSilenceMode(isSilence);
-#endif
-}
-
-
-void CpVolumeController::masterVolumeChange(int value)
-{
-#ifdef Q_OS_SYMBIAN
- mProfileModel->setMasterVolume(value);
- HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem);
- masterVolume->setContentWidgetData("value",value);
-#endif
-}
-
-void CpVolumeController::masterVibraChange(int state)
-{
-#ifdef Q_OS_SYMBIAN
- mProfileModel->setMasterVibra(state);
-#endif
-}
-
-void CpVolumeController::updateUi()
-{
-#ifdef Q_OS_SYMBIAN
- bool isSilenceMode = mProfileModel->silenceMode();
- HbDataFormModelItem *silenceIndicator = mItemList.at(CpVolumeGroupItemData::EVolumeSilenceItem);
- if(silenceIndicator) {
- silenceIndicator->setContentWidgetData("checked",isSilenceMode);
- }
- HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem);
- if (masterVolume) {
- CPFW_LOG("::updateMasterVolumeValue(), Start using profile model.");
- QMap<QString, QVariant> iconMaps;
- if (isSilenceMode) {
- CPFW_LOG("::updateMasterVolumeValue(), Got silent state.");
- iconMaps.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg"));
- iconMaps.insert(QString("IncreaseElement"), QVariant(":/icon/hb_vol_slider_increment.svg"));
- iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_muted.svg"));
- }
- else {
- iconMaps.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg"));
- iconMaps.insert(QString("IncreaseElement"), QVariant(":/icon/hb_vol_slider_increment.svg"));
- iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_unmuted.svg"));
- }
- masterVolume->setContentWidgetData("elementIcons", iconMaps);
- masterVolume->setEnabled(!isSilenceMode);
- //masterVolume->setContentWidgetData("enabled",!isSilenceMode);
- masterVolume->setContentWidgetData("value",mProfileModel->masterVolume());
- }
- HbDataFormModelItem *masterVibra = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVibraItem);
- if (masterVibra) {
- masterVibra->setContentWidgetData("checkState",(mProfileModel->masterVibra()?2:0));
- }
-
-#endif
-}
-
-void CpVolumeController::settingValueChanged(const XQSettingsKey &key, const QVariant &value)
-{
- if (key.uid() == KCRUidProfileEngine.iUid && key.key() == KProEngSilenceMode) {
- HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem);
- if (masterVolume) {
- QMap<QString, QVariant> iconMaps;
- if (value.toBool()) {
- iconMaps.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg"));
- iconMaps.insert(QString("IncreaseElement"), QVariant(":/icon/hb_vol_slider_increment.svg"));
- iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_muted.svg"));
- }
- else {
- iconMaps.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg"));
- iconMaps.insert(QString("IncreaseElement"), QVariant(":/icon/hb_vol_slider_increment.svg"));
- iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_unmuted.svg"));
- }
- masterVolume->setContentWidgetData("elementIcons", iconMaps);
- masterVolume->setEnabled(!value.toBool());
- }
- HbDataFormModelItem *silenceMode = mItemList.at(CpVolumeGroupItemData::EVolumeSilenceItem);
- if (silenceMode) {
- silenceMode->setContentWidgetData("checked",value.toInt() != 0);
- }
- }
- else if (key.uid() == KCRUidProfileEngine.iUid && key.key() == KProEngMasterVolume) {
- HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem);
- if (masterVolume) {
- masterVolume->setContentWidgetData("value",value.toInt());
- }
- }
- else if (key.uid() == KCRUidProfileEngine.iUid && key.key() == KProEngMasterVibra) {
- HbDataFormModelItem *masterVibra = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVibraItem);
- if (masterVibra) {
- masterVibra->setContentWidgetData("checkState",(value.toInt() ? 2 : 0));
- }
- }
-}
-
-//End of File
--- a/controlpanelui/src/cpplugins/volumeplugin/src/cpvolumecontroller.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPVOLUMECONTROLLER_H
-#define CPVOLUMECONTROLLER_H
-
-#include <QObject>
-
-class CpProfileModel;
-class HbDataFormModelItem;
-class CpItemDataHelper;
-class XQSettingsManager;
-class XQSettingsKey;
-class QVariant;
-
-class CpVolumeController : public QObject
-{
- Q_OBJECT
-public:
- CpVolumeController(CpProfileModel *profileModel,
- const QList<HbDataFormModelItem *> &itemList,
- CpItemDataHelper &itemDataHelper);
- virtual ~CpVolumeController();
-
-private slots:
- void silenceModeChange(bool isSilence);
- void masterVolumeChange(int value);
- void masterVibraChange(int state);
-
- void settingValueChanged(const XQSettingsKey &key, const QVariant &value);
-
-private:
- void updateUi();
-
-private:
- CpProfileModel *mProfileModel;
- QList<HbDataFormModelItem *> mItemList;
- XQSettingsManager *mSettingManager;
-};
-
-#endif
--- a/controlpanelui/src/cpplugins/volumeplugin/src/cpvolumegroupitemdata.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include "cpvolumegroupitemdata.h"
-#include <cplogger.h>
-#include <QStringList>
-#include <cpsettingformentryitemdataimpl.h>
-#include <cpbasesettingview.h>
-#include <cpitemdatahelper.h>
-#include <hbmessagebox.h>
-#include <cpprofilemodel.h>
-//#include "cpmastervolumevaluecontroller.h"
-#include "cpvolumecontroller.h"
-#include "cppersonalizationcustomviewitem.h"
-#include <hbslider.h>
-
-CpVolumeGroupItemData::CpVolumeGroupItemData(CpItemDataHelper &itemDataHelper)
-: CpSettingFormItemData(HbDataFormModelItem::GroupItem,hbTrId("txt_cp_subhead_volume")),//mSilenceIndicator(0),
- //mMasterVolume(0),
- //mMasterVibra(0),
- mVolumeController(0),
- mProfileModel(0)
-{
- initItems(itemDataHelper);
-}
-
-CpVolumeGroupItemData::~CpVolumeGroupItemData()
-{
- delete mProfileModel;
- delete mVolumeController;
-}
-
-void CpVolumeGroupItemData::initItems(CpItemDataHelper &itemDataHelper)
-{
- mProfileModel = new CpProfileModel();
-
- itemDataHelper.addItemPrototype(new CpPersonalizationCustomViewItem);
- CPFW_LOG("CpVolumeGroupItemData::initItems(), get active profile id");
- CPFW_LOG("CpVolumeGroupItemData::initItems(), succeed in getting id");
-
- HbDataFormModelItem *silenceIndicator = new HbDataFormModelItem(static_cast<HbDataFormModelItem::DataItemType>(SilenceIndicatorItem));
- mItemList.insert(CpVolumeGroupItemData::EVolumeSilenceItem, silenceIndicator);
- silenceIndicator->setContentWidgetData("text",hbTrId("txt_cp_button_silence"));
- silenceIndicator->setContentWidgetData("objectName", "silenceIndicatorButton");
- this->appendChild(silenceIndicator);
-
- HbDataFormModelItem *masterVolume = new HbDataFormModelItem(HbDataFormModelItem::SliderItem,
- hbTrId("txt_cp_setlabel_ringing_volume"));
- mItemList.insert(CpVolumeGroupItemData::EVolumeMasterVolumeItem, masterVolume);
- QList<QVariant> elements;
- elements << QVariant(HbSlider::IncreaseElement) << QVariant(HbSlider::TrackElement)
- << QVariant(HbSlider::DecreaseElement) << QVariant(HbSlider::IconElement)
- << QVariant(HbSlider::TextElement);
- masterVolume->setContentWidgetData("sliderElements",elements);
- masterVolume->setContentWidgetData("objectName","masterVolumeSlider");
-
- QMap<QString, QVariant> iconMaps;
- iconMaps.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg"));
- iconMaps.insert(QString("IncreaseElement"), QVariant(":/icon/hb_vol_slider_increment.svg"));
- //iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_muted.svg"));
-
- masterVolume->setContentWidgetData("elementIcons", iconMaps);
- masterVolume->setContentWidgetData("minimum", 1);
- masterVolume->setContentWidgetData("maximum", 10);
- masterVolume->setContentWidgetData("majorTickInterval",1);
- masterVolume->setContentWidgetData("tickPosition",Hb::SliderTicksBelow);
-
- /*QStringList tickLabels;
- tickLabels<<hbTrId("txt_cp_setlabel_volume_val_soft")
- <<hbTrId("txt_cp_setlabel_volume_val_med")
- <<hbTrId("txt_cp_setlabel_volume_val_loud");
- masterVolume->setContentWidgetData("majorTickLabels",tickLabels);*/
-
- masterVolume->setContentWidgetData("iconCheckable",false);
- this->appendChild(masterVolume);
-
- HbDataFormModelItem *masterVibra = new HbDataFormModelItem(HbDataFormModelItem::CheckBoxItem);
- mItemList.insert(CpVolumeGroupItemData::EVolumeMasterVibraItem, masterVibra);
- masterVibra->setContentWidgetData("text",hbTrId("txt_cp_list_vibrate"));
- masterVibra->setContentWidgetData("objectName","masterVibraCheckBox");
-
- this->appendChild(masterVibra);
-
- mVolumeController = new CpVolumeController(mProfileModel, mItemList, itemDataHelper);
-}
--- a/controlpanelui/src/cpplugins/volumeplugin/src/cpvolumegroupitemdata.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPVOLUMEGROUPITEMDATA_H
-#define CPVOLUMEGROUPITEMDATA_H
-
-#include <cpsettingformitemdata.h>
-#include <cpprofilemodel.h>
-
-class CpProfileModel;
-class CpItemDataHelper;
-class CpVolumeController;
-class CpVolumeGroupItemData : public CpSettingFormItemData
-{
- Q_OBJECT
-public:
- enum VolumeGroupModelItem {
- EVolumeSilenceItem,
- EVolumeMasterVolumeItem,
- EVolumeMasterVibraItem,
- EVolumeItemEnd
- };
-public:
- explicit CpVolumeGroupItemData(CpItemDataHelper &itemDataHelper);
- virtual ~CpVolumeGroupItemData();
-private:
- Q_DISABLE_COPY(CpVolumeGroupItemData)
- void initItems(CpItemDataHelper &itemDataHelper);
- QList<HbDataFormModelItem *> mItemList;
- CpVolumeController *mVolumeController;
- CpProfileModel *mProfileModel;
-};
-
-#endif
--- a/controlpanelui/src/cpplugins/volumeplugin/src/cpvolumeplugin.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cpvolumeplugin.h"
-#include "cpvolumegroupitemdata.h"
-#include <cpitemdatahelper.h>
-
-CpVolumePlugin::CpVolumePlugin()
-{
-}
-
-CpVolumePlugin::~CpVolumePlugin()
-{
-}
-
-QList<CpSettingFormItemData*> CpVolumePlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
-{
-
- CpVolumeGroupItemData *volumeGroupItem = new CpVolumeGroupItemData(itemDataHelper);
-
- return QList<CpSettingFormItemData*>() << volumeGroupItem ;
-}
-
-Q_EXPORT_PLUGIN2(cpvolumeplugin, CpVolumePlugin);
-
-
--- a/controlpanelui/src/cpplugins/volumeplugin/src/cpvolumeplugin.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPVOLUMEPLUGIN_H
-#define CPVOLUMEPLUGIN_H
-
-#include <qobject.h>
-#include <cpplugininterface.h>
-
-class CpVolumePlugin
- : public QObject,
- public CpPluginInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginInterface)
-public:
- CpVolumePlugin();
- virtual ~CpVolumePlugin();
- virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-#endif /* CPVOLUMEPLUGIN_H */
-
-
--- a/controlpanelui/src/cpplugins/volumeplugin/volumeplugin.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: controlpanel project - common qmake settings
-#
-
-HEADERS += src/*.h
-SOURCES += src/*.cpp
-
-
-
\ No newline at end of file
--- a/controlpanelui/src/cpplugins/volumeplugin/volumeplugin.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-TARGET = cpvolumeplugin
-
-CONFIG += hb plugin
-RESOURCES += volumeplugin.qrc
-LIBS += -lcpprofilewrapper -lxqsettingsmanager
-
-include ( ../cpplugincommon.pri )
-include ( volumeplugin.pri )
-
-symbian {
- TARGET.UID3 = 0X20028737
-}
--- a/controlpanelui/src/cpplugins/volumeplugin/volumeplugin.qrc Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>icon/hb_vol_slider_decrement.svg</file>
- <file>icon/hb_vol_slider_decrement_pressed.svg</file>
- <file>icon/hb_vol_slider_increment.svg</file>
- <file>icon/hb_vol_slider_increment_pressed.svg</file>
- <file>icon/hb_vol_slider_muted.svg</file>
- <file>icon/hb_vol_slider_unmuted.svg</file>
- </qresource>
-</RCC>
\ No newline at end of file
--- a/controlpanelui/src/cpprofilewrapper/bwins/cpprofilewrapperu.def Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-EXPORTS
- ?setKeyTouchScreenVibra@CpProfileModel@@QAEXHH@Z @ 1 NONAME ; void CpProfileModel::setKeyTouchScreenVibra(int, int)
- ?tr@CpProfileModel@@SA?AVQString@@PBD0H@Z @ 2 NONAME ; class QString CpProfileModel::tr(char const *, char const *, int)
- ?masterVibra@CpProfileModel@@QBE_NXZ @ 3 NONAME ; bool CpProfileModel::masterVibra(void) const
- ?ringTone@CpProfileModel@@QBE?AVQString@@XZ @ 4 NONAME ; class QString CpProfileModel::ringTone(void) const
- ?setProfileSettings@CpProfileModel@@QAEXHAAVCpProfileSettings@@@Z @ 5 NONAME ; void CpProfileModel::setProfileSettings(int, class CpProfileSettings &)
- ?qt_metacast@CpProfileModel@@UAEPAXPBD@Z @ 6 NONAME ; void * CpProfileModel::qt_metacast(char const *)
- ?setRingTone@CpProfileModel@@QAEXABVQString@@@Z @ 7 NONAME ; void CpProfileModel::setRingTone(class QString const &)
- ?setReminderTone@CpProfileModel@@QAEXHABVQString@@@Z @ 8 NONAME ; void CpProfileModel::setReminderTone(int, class QString const &)
- ?trUtf8@CpProfileModel@@SA?AVQString@@PBD0@Z @ 9 NONAME ; class QString CpProfileModel::trUtf8(char const *, char const *)
- ?silenceMode@CpProfileModel@@QBE_NXZ @ 10 NONAME ; bool CpProfileModel::silenceMode(void) const
- ?setEmailTone@CpProfileModel@@QAEXHABVQString@@@Z @ 11 NONAME ; void CpProfileModel::setEmailTone(int, class QString const &)
- ?emailTone@CpProfileModel@@QBE?AVQString@@H@Z @ 12 NONAME ; class QString CpProfileModel::emailTone(int) const
- ?activeProfileId@CpProfileModel@@QBEHXZ @ 13 NONAME ; int CpProfileModel::activeProfileId(void) const
- ?masterVolume@CpProfileModel@@QBEHXZ @ 14 NONAME ; int CpProfileModel::masterVolume(void) const
- ?notificationTone@CpProfileModel@@QBE_NH@Z @ 15 NONAME ; bool CpProfileModel::notificationTone(int) const
- ?tr@CpProfileModel@@SA?AVQString@@PBD0@Z @ 16 NONAME ; class QString CpProfileModel::tr(char const *, char const *)
- ?getStaticMetaObject@CpProfileModel@@SAABUQMetaObject@@XZ @ 17 NONAME ; struct QMetaObject const & CpProfileModel::getStaticMetaObject(void)
- ?keyTouchScreenTone@CpProfileModel@@QBEHH@Z @ 18 NONAME ; int CpProfileModel::keyTouchScreenTone(int) const
- ?reminderTone@CpProfileModel@@QBE?AVQString@@H@Z @ 19 NONAME ; class QString CpProfileModel::reminderTone(int) const
- ?profileName@CpProfileModel@@QBE?AVQString@@H@Z @ 20 NONAME ; class QString CpProfileModel::profileName(int) const
- ?setRingTone@CpProfileModel@@QAEXHABVQString@@@Z @ 21 NONAME ; void CpProfileModel::setRingTone(int, class QString const &)
- ?setKeyTouchScreenTone@CpProfileModel@@QAEXHH@Z @ 22 NONAME ; void CpProfileModel::setKeyTouchScreenTone(int, int)
- ?setMasterVolume@CpProfileModel@@QAEXH@Z @ 23 NONAME ; void CpProfileModel::setMasterVolume(int)
- ?staticMetaObject@CpProfileModel@@2UQMetaObject@@B @ 24 NONAME ; struct QMetaObject const CpProfileModel::staticMetaObject
- ?profileNames@CpProfileModel@@QBE?AVQStringList@@XZ @ 25 NONAME ; class QStringList CpProfileModel::profileNames(void) const
- ?activateProfile@CpProfileModel@@QAEHH@Z @ 26 NONAME ; int CpProfileModel::activateProfile(int)
- ?setNotificationTone@CpProfileModel@@QAEXH_N@Z @ 27 NONAME ; void CpProfileModel::setNotificationTone(int, bool)
- ?metaObject@CpProfileModel@@UBEPBUQMetaObject@@XZ @ 28 NONAME ; struct QMetaObject const * CpProfileModel::metaObject(void) const
- ??0CpProfileModel@@QAE@PAVQObject@@@Z @ 29 NONAME ; CpProfileModel::CpProfileModel(class QObject *)
- ??1CpProfileModel@@UAE@XZ @ 30 NONAME ; CpProfileModel::~CpProfileModel(void)
- ?qt_metacall@CpProfileModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 31 NONAME ; int CpProfileModel::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?profileSettings@CpProfileModel@@QAEXHAAVCpProfileSettings@@@Z @ 32 NONAME ; void CpProfileModel::profileSettings(int, class CpProfileSettings &)
- ?messageTone@CpProfileModel@@QBE?AVQString@@H@Z @ 33 NONAME ; class QString CpProfileModel::messageTone(int) const
- ?d_func@CpProfileModel@@ABEPBVCpProfileModelPrivate@@XZ @ 34 NONAME ; class CpProfileModelPrivate const * CpProfileModel::d_func(void) const
- ?setSilenceMode@CpProfileModel@@QAEX_N@Z @ 35 NONAME ; void CpProfileModel::setSilenceMode(bool)
- ?keyTouchScreenVibra@CpProfileModel@@QBEHH@Z @ 36 NONAME ; int CpProfileModel::keyTouchScreenVibra(int) const
- ?d_func@CpProfileModel@@AAEPAVCpProfileModelPrivate@@XZ @ 37 NONAME ; class CpProfileModelPrivate * CpProfileModel::d_func(void)
- ??_ECpProfileModel@@UAE@I@Z @ 38 NONAME ; CpProfileModel::~CpProfileModel(unsigned int)
- ?ringTone@CpProfileModel@@QBE?AVQString@@H@Z @ 39 NONAME ; class QString CpProfileModel::ringTone(int) const
- ?trUtf8@CpProfileModel@@SA?AVQString@@PBD0H@Z @ 40 NONAME ; class QString CpProfileModel::trUtf8(char const *, char const *, int)
- ?setMessageTone@CpProfileModel@@QAEXHABVQString@@@Z @ 41 NONAME ; void CpProfileModel::setMessageTone(int, class QString const &)
- ?setMasterVibra@CpProfileModel@@QAEX_N@Z @ 42 NONAME ; void CpProfileModel::setMasterVibra(bool)
- ?trUtf8@CpProfileMonitor@@SA?AVQString@@PBD0H@Z @ 43 NONAME ; class QString CpProfileMonitor::trUtf8(char const *, char const *, int)
- ??_ECpProfileMonitor@@UAE@I@Z @ 44 NONAME ; CpProfileMonitor::~CpProfileMonitor(unsigned int)
- ?activeProfileModified@CpProfileMonitor@@IAEXH@Z @ 45 NONAME ; void CpProfileMonitor::activeProfileModified(int)
- ?tr@CpProfileMonitor@@SA?AVQString@@PBD0H@Z @ 46 NONAME ; class QString CpProfileMonitor::tr(char const *, char const *, int)
- ?trUtf8@CpProfileMonitor@@SA?AVQString@@PBD0@Z @ 47 NONAME ; class QString CpProfileMonitor::trUtf8(char const *, char const *)
- ?staticMetaObject@CpProfileMonitor@@2UQMetaObject@@B @ 48 NONAME ; struct QMetaObject const CpProfileMonitor::staticMetaObject
- ??0CpProfileMonitor@@QAE@PAVQObject@@@Z @ 49 NONAME ; CpProfileMonitor::CpProfileMonitor(class QObject *)
- ?metaObject@CpProfileMonitor@@UBEPBUQMetaObject@@XZ @ 50 NONAME ; struct QMetaObject const * CpProfileMonitor::metaObject(void) const
- ?d_func@CpProfileMonitor@@ABEPBVCpProfileMonitorPrivate@@XZ @ 51 NONAME ; class CpProfileMonitorPrivate const * CpProfileMonitor::d_func(void) const
- ?d_func@CpProfileMonitor@@AAEPAVCpProfileMonitorPrivate@@XZ @ 52 NONAME ; class CpProfileMonitorPrivate * CpProfileMonitor::d_func(void)
- ?profileActivated@CpProfileMonitor@@IAEXH@Z @ 53 NONAME ; void CpProfileMonitor::profileActivated(int)
- ?tr@CpProfileMonitor@@SA?AVQString@@PBD0@Z @ 54 NONAME ; class QString CpProfileMonitor::tr(char const *, char const *)
- ?getStaticMetaObject@CpProfileMonitor@@SAABUQMetaObject@@XZ @ 55 NONAME ; struct QMetaObject const & CpProfileMonitor::getStaticMetaObject(void)
- ?qt_metacast@CpProfileMonitor@@UAEPAXPBD@Z @ 56 NONAME ; void * CpProfileMonitor::qt_metacast(char const *)
- ??1CpProfileMonitor@@UAE@XZ @ 57 NONAME ; CpProfileMonitor::~CpProfileMonitor(void)
- ?qt_metacall@CpProfileMonitor@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 58 NONAME ; int CpProfileMonitor::qt_metacall(enum QMetaObject::Call, int, void * *)
-
--- a/controlpanelui/src/cpprofilewrapper/cpprofilewrapper.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-TARGET = cpprofilewrapper
-
-CONFIG += debug_and_release
-
-win32|mac {
- !contains(QT_CONFIG,debug)|!contains(QT_CONFIG,release) {
- CONFIG -= debug_and_release debug release
- contains(QT_CONFIG,debug): CONFIG+=debug
- contains(QT_CONFIG,release):CONFIG+=release
- }
-}
-
-CONFIG(debug, debug|release) {
- SUBDIRPART = debug
-} else {
- SUBDIRPART = release
-}
-
-win32 {
- DESTDIR = C:/ControlPanel/$$SUBDIRPART/bin
- OBJECTS_DIR = $$PWD/../$$SUBDIRPART/tmp/$$TARGET
-}
-
-# Add the output dirs to the link path too
-LIBS += -L$$DESTDIR
-
-MOC_DIR = moc
-OBJECT_DIR = obj
-RCC_DIR = rcc
-
-DEFINES += PROFILEWRAPPER_FREEZE
-
-
-HEADERS += ../inc/cpprofilemodel.h \
- ../inc/cpprofilewrappermacro.h \
- ../inc/cpprofilemonitor.h \
- src/cpprofilemodel_p.h \
- src/cpprofilemonitor_p.h
-SOURCES += src/cpprofilemodel.cpp \
- src/cpprofilemonitor.cpp
-CONFIG += hb
-win32 {
- INCLUDEPATH += $$PWD/src
- INCLUDEPATH += ../inc
- SOURCES += src/cpprofilemodel_win_p.cpp
-}
-
-symbian {
- INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
- $$APP_LAYER_SYSTEMINCLUDE \
- $$MOC_DIR
- INCLUDEPATH += $$MW_LAYER_PLATFORM_EXPORT_PATH(cplogger)
-
- SOURCES += src/cpprofilemodel_p.cpp \
- src/cpprofilemonitor_p.cpp
-
- LIBS += -lprofileeng \
- -lcentralrepository \
- -lcharconv \
- -lcplogger \ # For cplogger
- -lxqutils
- TARGET.CAPABILITY = All -TCB
- TARGET.EPOCALLOWDLLDATA = 1
- TARGET.UID3 = 0x20025FE6
-}
-
-
--- a/controlpanelui/src/cpprofilewrapper/eabi/cpprofilewrapperu.def Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-EXPORTS
- _ZN14CpProfileModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
- _ZN14CpProfileModel11qt_metacastEPKc @ 2 NONAME
- _ZN14CpProfileModel11setRingToneERK7QString @ 3 NONAME
- _ZN14CpProfileModel11setRingToneEiRK7QString @ 4 NONAME
- _ZN14CpProfileModel12setEmailToneEiRK7QString @ 5 NONAME
- _ZN14CpProfileModel14setMasterVibraEb @ 6 NONAME
- _ZN14CpProfileModel14setMessageToneEiRK7QString @ 7 NONAME
- _ZN14CpProfileModel14setSilenceModeEb @ 8 NONAME
- _ZN14CpProfileModel15activateProfileEi @ 9 NONAME
- _ZN14CpProfileModel15profileSettingsEiR17CpProfileSettings @ 10 NONAME
- _ZN14CpProfileModel15setMasterVolumeEi @ 11 NONAME
- _ZN14CpProfileModel15setReminderToneEiRK7QString @ 12 NONAME
- _ZN14CpProfileModel16staticMetaObjectE @ 13 NONAME DATA 16
- _ZN14CpProfileModel18setProfileSettingsEiR17CpProfileSettings @ 14 NONAME
- _ZN14CpProfileModel19getStaticMetaObjectEv @ 15 NONAME
- _ZN14CpProfileModel19setNotificationToneEib @ 16 NONAME
- _ZN14CpProfileModel21setKeyTouchScreenToneEii @ 17 NONAME
- _ZN14CpProfileModel22setKeyTouchScreenVibraEii @ 18 NONAME
- _ZN14CpProfileModelC1EP7QObject @ 19 NONAME
- _ZN14CpProfileModelC2EP7QObject @ 20 NONAME
- _ZN14CpProfileModelD0Ev @ 21 NONAME
- _ZN14CpProfileModelD1Ev @ 22 NONAME
- _ZN14CpProfileModelD2Ev @ 23 NONAME
- _ZNK14CpProfileModel10metaObjectEv @ 24 NONAME
- _ZNK14CpProfileModel11masterVibraEv @ 25 NONAME
- _ZNK14CpProfileModel11messageToneEi @ 26 NONAME
- _ZNK14CpProfileModel11profileNameEi @ 27 NONAME
- _ZNK14CpProfileModel11silenceModeEv @ 28 NONAME
- _ZNK14CpProfileModel12masterVolumeEv @ 29 NONAME
- _ZNK14CpProfileModel12profileNamesEv @ 30 NONAME
- _ZNK14CpProfileModel12reminderToneEi @ 31 NONAME
- _ZNK14CpProfileModel15activeProfileIdEv @ 32 NONAME
- _ZNK14CpProfileModel16notificationToneEi @ 33 NONAME
- _ZNK14CpProfileModel18keyTouchScreenToneEi @ 34 NONAME
- _ZNK14CpProfileModel19keyTouchScreenVibraEi @ 35 NONAME
- _ZNK14CpProfileModel8ringToneEi @ 36 NONAME
- _ZNK14CpProfileModel8ringToneEv @ 37 NONAME
- _ZNK14CpProfileModel9emailToneEi @ 38 NONAME
- _ZTI14CpProfileModel @ 39 NONAME
- _ZTV14CpProfileModel @ 40 NONAME
- _ZN16CpProfileMonitor11qt_metacallEN11QMetaObject4CallEiPPv @ 41 NONAME
- _ZN16CpProfileMonitor11qt_metacastEPKc @ 42 NONAME
- _ZN16CpProfileMonitor16profileActivatedEi @ 43 NONAME
- _ZN16CpProfileMonitor16staticMetaObjectE @ 44 NONAME DATA 16
- _ZN16CpProfileMonitor19getStaticMetaObjectEv @ 45 NONAME
- _ZN16CpProfileMonitor21activeProfileModifiedEi @ 46 NONAME
- _ZN16CpProfileMonitorC1EP7QObject @ 47 NONAME
- _ZN16CpProfileMonitorC2EP7QObject @ 48 NONAME
- _ZN16CpProfileMonitorD0Ev @ 49 NONAME
- _ZN16CpProfileMonitorD1Ev @ 50 NONAME
- _ZN16CpProfileMonitorD2Ev @ 51 NONAME
- _ZNK16CpProfileMonitor10metaObjectEv @ 52 NONAME
- _ZTI16CpProfileMonitor @ 53 NONAME
- _ZTV16CpProfileMonitor @ 54 NONAME
-
--- a/controlpanelui/src/cpprofilewrapper/src/cpprofilemodel.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,283 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "cpprofilemodel.h"
-#include "cpprofilemodel_p.h"
-#include <QtCore/QStringList>
-
-/*!
- Contructor
- */
-CpProfileModel::CpProfileModel(QObject *parent /*=0*/):QObject(parent),
- d_ptr(new CpProfileModelPrivate())
-{
- d_ptr->initialize(this);
-}
-
-/*!
- Destrutor
- */
-CpProfileModel::~CpProfileModel()
-{
- delete d_ptr;
-}
-
-/*!
- Get profile name with its id
- */
-QString CpProfileModel::profileName(int profileId) const
-{
- return d_ptr->profileName(profileId);
-}
-/*!
- get profile name list
- */
-QStringList CpProfileModel::profileNames()const
-{
- return d_ptr->profileNames();
-}
-/*!
- Activate a profile with its id, return the result code.
- */
-int CpProfileModel::activateProfile(int profileId)
-{
- return d_ptr->activateProfile(profileId);
-}
-
-/*!
- Get active profile's id
- */
-int CpProfileModel::activeProfileId() const
-{
- return d_ptr->activeProfileId();
-}
-
-/*!
- Get profile settings, store in center repository keys
- */
-void CpProfileModel::profileSettings(int profileId, CpProfileSettings& profileSettings)
-{
- d_ptr->profileSettings(profileId, profileSettings);
-}
-
-/*!
- Set profile settings from center repository keys
- */
-void CpProfileModel::setProfileSettings(int profileId, CpProfileSettings& profileSettings )
-{
- return d_ptr->setProfileSettings(profileId, profileSettings);
-}
-
-/*!
- Get ring tone of active profile
- */
-QString CpProfileModel::ringTone() const
-{
- return d_ptr->ringTone();
-}
-
-/*!
- Set ring tone for all profiles
- */
-void CpProfileModel::setRingTone(const QString& filePath)
-{
- d_ptr->setRingTone(filePath);
-}
-
-/*!
- Return ringing volume of device
- */
-int CpProfileModel::masterVolume() const
-{
- return d_ptr->masterVolume();
-}
-
-/*!
- Set device's ringing volume
- */
-void CpProfileModel::setMasterVolume(int volume)
-{
- return d_ptr->setMasterVolume(volume);
-}
-
-/*!
- Return the master vibra's status of device
- */
-bool CpProfileModel::masterVibra() const
-{
- return d_ptr->masterVibra();
-}
-
-/*!
- Set the master vibra's status of device
- */
-void CpProfileModel::setMasterVibra(bool isVibra)
-{
- d_ptr->setMasterVibra(isVibra);
-}
-
-/*!
- Return the silence mode of device
- */
-bool CpProfileModel::silenceMode() const
-{
- return d_ptr->silenceMode();
-}
-
-/*!
- Set silence mode for deivce
- */
-void CpProfileModel::setSilenceMode(bool isSilence)
-{
- d_ptr->setSilenceMode(isSilence);
-}
-
-/*!
- Get profile's ring tone, if the profile id is invalid, always return an empty string
- \param profileId profile's id
- */
-QString CpProfileModel::ringTone(int profileId)const
-{
- return d_ptr->ringTone(profileId);
-}
-
-/*!
- Set ring tone for a profile, if the profile id is invalid, nothing happens
- \param profileId profile's id
- \param filePath ring tone's path
- */
-void CpProfileModel::setRingTone(int profileId, const QString& filePath)
-{
- d_ptr->setRingTone(profileId, filePath);
-}
-
-/*!
- Get message tone's name, if the profile id is invalid, always return an empty string
- \param profileId profile's id
- */
-QString CpProfileModel::messageTone(int profileId) const
-{
- return d_ptr->messageTone(profileId);
-}
-
-/*!
- Set message tone for a profile, if the profile id is invalid, nothing happens
- \param profileId profile's id
- \param filePath message tone's path
- */
-void CpProfileModel::setMessageTone(int profileId, const QString& filePath)
-{
- d_ptr->setMessageTone(profileId, filePath);
-}
-
-/*!
- Get email tone's name, if the profile id is invalid, always return an empty string
- \param profileId profile's id
- */
-QString CpProfileModel::emailTone(int profileId) const
-{
- return d_ptr->emailTone(profileId);
-}
-
-/*!
- Set email tone for a profile, if the profile id is invalid, nothing happens
- \param profileId profile's id
- \param filePath message tone's path
- */
-void CpProfileModel::setEmailTone(int profileId, const QString& filePath)
-{
- d_ptr->setEmailTone(profileId,filePath);
-}
-
-/*!
- Get reminder tone's name, if the profile id is invalid, always return an empty string
- \param profileId profile's id
- */
-QString CpProfileModel::reminderTone(int profileId) const
-{
- return d_ptr->reminderTone(profileId);
-}
-
-/*!
- Set reminder tone for a profile, if the profile id is invalid, nothing happens
- \param profileId profile's id
- \param filePath reminder tone's path
- */
-void CpProfileModel::setReminderTone(int profileId, const QString& filePath)
-{
- d_ptr->setReminderTone(profileId,filePath);
-}
-
-/*!
- Get notification tone's status, if the profile id is invalid, always return false
- \param profileId profile's id
- \return return the status of notification tone, true value stands for the tone being on
- */
-bool CpProfileModel::notificationTone(int profileId) const
-{
- return d_ptr->notificationTone(profileId);
-}
-
-/*!
- Set notification tone's status for a profile, if the profile id is invalid, nothing happens
- \param profileId profile's id
- \return isActive the status of notification tone
- */
-void CpProfileModel::setNotificationTone(int profileId, bool isActive)
-{
- d_ptr->setNotificationTone(profileId, isActive);
-}
-
-/*!
- Get key & touch screen tone's value, if the profile id is invalid, always return 0
- */
-int CpProfileModel::keyTouchScreenTone(int profileId) const
-{
- return d_ptr->keyTouchScreenTone(profileId);
-}
-
-/*!
- set key & touch screen tone, if the profile id is invalid, nothing happens
- \param profileId identify the profile
- \param level 0-5
- */
-void CpProfileModel::setKeyTouchScreenTone(int profileId, int level)
-{
- d_ptr->setKeyTouchScreenTone(profileId,level);
-}
-
-/*!
- Get key & touch screen vibra's value, if the profile id is invalid, always return 0
- \param profileId identify the profile
- */
-int CpProfileModel::keyTouchScreenVibra(int profileId) const
-{
- return d_ptr->keyTouchScreenVibra(profileId);
-}
-
-/*!
- Set key touch screen vibar for a profile, if the profile id is invalid, nothing happens
- \param profileId identify the profile
- \param level 0-5
- */
-void CpProfileModel::setKeyTouchScreenVibra(int profileId, int level)
-{
- d_ptr->setKeyTouchScreenVibra(profileId,level);
-}
-
-// End of file
-
--- a/controlpanelui/src/cpprofilewrapper/src/cpprofilemodel_p.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,703 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "cpprofilemodel_p.h"
-#include "cpprofilemodel.h"
-#include <cplogger.h>
-#include <e32base.h>
-#include <QString>
-#include <QMap>
-#include <MProfileEngineExtended2.h>
-#include <MProfileExtended.h>
-#include <MProfileName.h>
-#include <MProfileTones.h>
-#include <MProfileSetTones.h>
-#include <MProfileExtraTones.h>
-#include <MProfileSetExtraTones.h>
-#include <MProfileExtraSettings.h>
-#include <MProfileSetExtraSettings.h>
-#include <MProfileFeedbackSettings.h>
-#include <MProfileSetFeedbackSettings.h>
-#include <MProfilesNamesArray.h>
-#include <settingsinternalcrkeys.h>
-#include <hbglobal.h>
-#include <QtCore/QStringList>
-#include <MProfileExtended2.h>
-#include <MProfileSetExtraTones2.h>
-#include <MProfileExtraTones2.h>
-#include <MProfileVibraSettings.h>
-#include <MProfileSetVibraSettings.h>
-#include <TProfileToneSettings.h>
-#include <hwrmvibrasdkcrkeys.h>
-#include <centralrepository.h>
-#include <XQConversions>
-#include <profile.hrh>
-/*
- * Constructor
- */
-CpProfileModelPrivate::CpProfileModelPrivate()
- : mEngine(0),
- mProfileNames(0),
- q_ptr(0)
-{
-
-}
-
-/*
- * Initialize the profile engine and available profile list for profile wrapper.
- */
-void CpProfileModelPrivate::initialize(CpProfileModel *parent)
-{
- q_ptr = parent;
- CPFW_LOG("CpProfileModelPrivate::CpProfileModelPrivate(), START.");
- TRAP_IGNORE(
- mEngine = CreateProfileEngineExtended2L();
- mProfileNames = mEngine->ProfilesNamesArrayLC();
- CleanupStack::Pop(); // pop the pointer of mProfileNames
- /*
- * Currently, engine part will return all previous version of profile
- * so some invalid profile will be added in the new list, to avoid this
- * use hard code to get the right list of profile.
- */
- /*MProfilesNamesArray* nameList = mEngine->ProfilesNamesArrayLC();
- int profileCount = nameList->MdcaCount();
- for (int i = 0; i<profileCount; i++) {
- MProfileName *profileName = nameList->ProfileName(i);
- mProfileList.insert(profileName->Id(), mEngine->Profile2L(profileName->Id()));
- }
- CleanupStack::PopAndDestroy(*nameList);*/
- );
- mProfileList.append(static_cast<int>(EProfileWrapperGeneralId)); // general id
- mProfileList.append(static_cast<int>(EProfileWrapperMeetingId)); // meeting id
- CPFW_LOG("CpProfileModelPrivate::CpProfileModelPrivate(), END");
-}
-
-/*
- * Destructor
- */
-CpProfileModelPrivate::~CpProfileModelPrivate()
-{
- if (mEngine!=0) {
- mEngine->Release();
- }
- if (mProfileNames) {
- delete mProfileNames;
- }
- mProfileList.clear();
-}
-
-/*
- * Get profile name with its id
- */
-QString CpProfileModelPrivate::profileName(int profileId) const
-{
- CPFW_LOG("CpProfileModelPrivate::profileName(), START.");
- // Return an empty string if id is not valid.
- if (!isValidProfile(profileId)) {
- return QString();
- }
-
- const MProfileName* name = mProfileNames->ProfileName(profileId);
- QString profileName;
- if (name != 0) {
- profileName = XQConversions::s60DescToQString(name->Name());
- }
- CPFW_LOG("CpProfileModelPrivate::profileName(), END.");
- return profileName;
-}
-
-/*
- * Get available profiles' name list.
- */
-QStringList CpProfileModelPrivate::profileNames() const
-{
- CPFW_LOG("CpProfileModelPrivate::profileNames(), START.");
- QStringList nameList;
-
- foreach(int profileId, mProfileList) {
- const MProfileName *name = mProfileNames->ProfileName(profileId);
- if (name != 0) {
- nameList.append(XQConversions::s60DescToQString(name->Name()));
- }
- }
-
- CPFW_LOG("CpProfileModelPrivate::profileNames(), END.");
- return nameList;
-}
-
-
-/*
- * Activate a profile with its id, return the result.
- */
-int CpProfileModelPrivate::activateProfile(int profileId)
-{
- CPFW_LOG("CpProfileModelPrivate::activateProfile(), START.");
- // currently, only two profile remains: general and meeting,
- // But profile engine also support the old profile like:
- // silence, out ...
- // so filter the invalid profile id first.
- if (!isValidProfile(profileId)) {
- return KErrNotFound;
- }
- TRAPD( err,
- mEngine->SetActiveProfileL( profileId );
- );
- CPFW_LOG("CpProfileModelPrivate::activateProfile(), END.");
- return err;
-}
-
-/*
- * Get active profile's id
- */
-int CpProfileModelPrivate::activeProfileId() const
-{
- return mEngine->ActiveProfileId();
-}
-
-/*
- * Return all profile settings according to profile's id
- */
-void CpProfileModelPrivate::profileSettings(int profileId,
- CpProfileSettings& profileSettings)
-{
- if (!isValidProfile(profileId)) {
- return;
- }
- QT_TRAP_THROWING(
- MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
- CleanupStack::PushL(profileExtend);
-
- const MProfileTones &setTones = profileExtend->ProfileTones();
- const TProfileToneSettings &toneSettings = setTones.ToneSettings();
- const MProfileExtraTones2 &extTones = profileExtend->ProfileExtraTones2();
- const MProfileVibraSettings &vibraSettings =
- profileExtend->ProfileVibraSettings();
- const MProfileExtraSettings &extraSettings =
- profileExtend->ProfileExtraSettings();
- const MProfileFeedbackSettings &feedbackSettings =
- extraSettings.ProfileFeedbackSettings();
-
- profileSettings.mRingTone = XQConversions::s60DescToQString(setTones.RingingTone1());
- profileSettings.mMessageTone = XQConversions::s60DescToQString(setTones.MessageAlertTone());
- profileSettings.mEmailTone = XQConversions::s60DescToQString(extTones.EmailAlertTone());
- profileSettings.mReminderTone = XQConversions::s60DescToQString(extTones.ReminderTone());
- profileSettings.mNotificationTone = toneSettings.iWarningAndGameTones;
-
- // only use Keypad Volume as a base value for display in key & touch screen setting option
- profileSettings.mKeyTouchScreenTone = toneSettings.iKeypadVolume;
- profileSettings.mKeyTouchScreenVibra = feedbackSettings.TactileFeedback();
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- );
-}
-/*
- * set profile settings
- */
-void CpProfileModelPrivate::setProfileSettings(int profileId, CpProfileSettings& profileSettings)
-{
- if (!isValidProfile(profileId)) {
- return;
- }
-
- QT_TRAP_THROWING (
- MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
- CleanupStack::PushL(profileExtend);
-
- MProfileSetTones &setTones = profileExtend->ProfileSetTones();
- TProfileToneSettings &toneSettings = setTones.SetToneSettings();
- MProfileSetExtraTones2 &setExtTones =
- profileExtend->ProfileSetExtraTones2();
- MProfileSetVibraSettings &setVibraSettings =
- profileExtend->ProfileSetVibraSettings();
- MProfileSetExtraSettings &extraSettings =
- profileExtend->ProfileSetExtraSettings();
- MProfileSetFeedbackSettings &setFeedbackSettings =
- extraSettings.ProfileSetFeedbackSettings();
-
-
- setTones.SetRingingTone1L(*XQConversions::qStringToS60Desc(
- profileSettings.mRingTone));
- setTones.SetMessageAlertToneL(*XQConversions::qStringToS60Desc(
- profileSettings.mMessageTone));
- setExtTones.SetEmailAlertToneL(*XQConversions::qStringToS60Desc(
- profileSettings.mEmailTone));
- setExtTones.SetReminderToneL(*XQConversions::qStringToS60Desc(
- profileSettings.mReminderTone));
-
- toneSettings.iWarningAndGameTones
- = profileSettings.mNotificationTone;
- // Change the keypad volume and touch screen tone together
- toneSettings.iKeypadVolume
- = static_cast<TProfileKeypadVolume> (profileSettings.mKeyTouchScreenTone);
- setFeedbackSettings.SetAudioFeedback(
- static_cast<TProfileAudioFeedback> (profileSettings.mKeyTouchScreenTone));
- setFeedbackSettings.SetTactileFeedback(
- static_cast<TProfileTactileFeedback> (profileSettings.mKeyTouchScreenVibra));
-
- mEngine->CommitChangeL(*profileExtend);
- CleanupStack::Pop(); // profileExtend
- )
-}
-
-/*
- * Get the active profile's ring tone name
- */
-QString CpProfileModelPrivate::ringTone() const
-{
- // return empty string when active profile id is invalid,
- // some old application still set the profile which is not available now,
- // this check can be removed when every application use a correct profile id
-
- QString ringTone;
- if (!isValidProfile(activeProfileId())) {
- return ringTone;
- }
- QT_TRAP_THROWING(
- MProfileExtended2 *profileExtend = mEngine->Profile2L(activeProfileId());
- CleanupStack::PushL(profileExtend);
- const MProfileTones &setTones = profileExtend->ProfileTones();
-
- ringTone = XQConversions::s60DescToQString(setTones.RingingTone1());
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- )
-
- return ringTone;
-}
-
-/*
- * Set the ring tone for all profiles
- */
-void CpProfileModelPrivate::setRingTone(const QString& filePath)
-{
- for (TInt i = 0; i < mProfileList.count(); ++i) {
- QT_TRAP_THROWING(
- MProfileExtended2 *profileExtend = mEngine->Profile2L(mProfileList.at(i));
- CleanupStack::PushL(profileExtend);
-
- MProfileSetTones &setTones = profileExtend->ProfileSetTones();
-
- setTones.SetRingingTone1L( *XQConversions::qStringToS60Desc(filePath) );
- mEngine ->CommitChangeL(*profileExtend);
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- )
- }
-}
-
-/*
- * Get the ringing volume value
- */
-int CpProfileModelPrivate::masterVolume() const
-{
- int masterVolume = 0;
- QT_TRAP_THROWING(masterVolume = mEngine->MasterVolumeL();)
- return masterVolume;
-}
-
-/*
- * Set the ringing volume
- */
-void CpProfileModelPrivate::setMasterVolume(int volume)
-{
- // the volume range 1-10
- if (volume >= EProfileRingingVolumeLevel1 && volume <= EProfileRingingVolumeLevel10) {
- QT_TRAP_THROWING(mEngine->SetMasterVolumeL( volume );)
- }
-}
-/*
- * Get the master vibra's status
- */
-bool CpProfileModelPrivate::masterVibra() const
-{
- bool masterVibra = false;
- QT_TRAP_THROWING(masterVibra = mEngine->MasterVibraL();)
- return masterVibra;
-}
-
-/*
- * Set master vibra's status
- */
-void CpProfileModelPrivate::setMasterVibra(bool isVibra)
-{
- QT_TRAP_THROWING(mEngine->SetMasterVibraL( isVibra );)
-}
-
-/*
- * Get the status of silence mode.
- */
-bool CpProfileModelPrivate::silenceMode() const
-{
- bool isSlience = false;
- QT_TRAP_THROWING(isSlience = mEngine->SilenceModeL();)
- return isSlience;
-}
-
-/*
- * Set the status of silence mode
- */
-void CpProfileModelPrivate::setSilenceMode(bool isSilence)
-{
- QT_TRAP_THROWING(mEngine->SetSilenceModeL( isSilence );)
-}
-
-/*
- * Return the ring tone of a profile, if the profile id is invalid, always
- * return an empty string
- */
-QString CpProfileModelPrivate::ringTone(int profileId) const
-{
- QString ringTone;
- if(!isValidProfile(profileId)) {
- return ringTone;
- }
- QT_TRAP_THROWING(
- MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
- CleanupStack::PushL(profileExtend);
-
- const MProfileTones &setTones = profileExtend->ProfileTones();
-
- ringTone = XQConversions::s60DescToQString(setTones.RingingTone1());
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- )
- return ringTone;
-}
-
-/*
- * Set the ring tone for a profile, if the profile id is invalid, nothing happens
- */
-void CpProfileModelPrivate::setRingTone(int profileId, const QString& filePath)
-{
- if(!isValidProfile(profileId)) {
- return;
- }
- QT_TRAP_THROWING(
- MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
- CleanupStack::PushL(profileExtend);
-
- MProfileSetTones &setTones = profileExtend->ProfileSetTones();
-
- setTones.SetRingingTone1L(*XQConversions::qStringToS60Desc(filePath));
- mEngine->CommitChangeL(*profileExtend);
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- )
-}
-
-/*
- * Get the message tone of a profile, if the profile id is invalid, always return
- * an empty string
- */
-QString CpProfileModelPrivate::messageTone(int profileId) const
-{
- QString messageTone;
- if(!isValidProfile(profileId)) {
- return messageTone;
- }
- QT_TRAP_THROWING(
- MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
- CleanupStack::PushL(profileExtend);
-
- const MProfileTones &setTones = profileExtend->ProfileTones();
-
- messageTone = XQConversions::s60DescToQString(setTones.MessageAlertTone());
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- )
-
- return messageTone;
-}
-
-/*
- * Set the message tone of a profile, if the profile id is invalid, nothing happens
- */
-void CpProfileModelPrivate::setMessageTone(int profileId, const QString& filePath)
-{
- if(!isValidProfile(profileId)) {
- return;
- }
- QT_TRAP_THROWING(
- MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
- CleanupStack::PushL(profileExtend);
- MProfileSetTones &setTones =
- profileExtend->ProfileSetTones();
- setTones.SetMessageAlertToneL(*XQConversions::qStringToS60Desc(filePath));
- mEngine->CommitChangeL(*profileExtend);
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- )
-}
-
-/*
- * Get the email tone of a profile, if profile id is invalid, return an empty string
- */
-QString CpProfileModelPrivate::emailTone(int profileId) const
-{
- QString emailTone;
-
- if(!isValidProfile(profileId)) {
- return emailTone;
- }
- QT_TRAP_THROWING(
- MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
- CleanupStack::PushL(profileExtend);
- const MProfileExtraTones2 &extTones =
- profileExtend->ProfileExtraTones2();
-
- emailTone = XQConversions::s60DescToQString(extTones.EmailAlertTone());
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- )
- return emailTone;
-}
-
-/*
- * Set the email tone for a profile, if the profile id is invalid, nothing happens
- */
-void CpProfileModelPrivate::setEmailTone(int profileId, const QString& filePath)
-{
- if(!isValidProfile(profileId)) {
- return ;
- }
- QT_TRAP_THROWING(
- MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
- CleanupStack::PushL(profileExtend);
- MProfileSetExtraTones2 &setExtTones =
- profileExtend->ProfileSetExtraTones2();
- setExtTones.SetEmailAlertToneL(*XQConversions::qStringToS60Desc(filePath));
- mEngine->CommitChangeL(*profileExtend);
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- )
-}
-
-/*
- * Get a reminder tone for a profile, if the profile id is invalid,
- * always return an emtpy string
- */
-QString CpProfileModelPrivate::reminderTone(int profileId) const
-{
- QString reminderTone;
- if(!isValidProfile(profileId)) {
- return reminderTone;
- }
- QT_TRAP_THROWING(
- MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
- CleanupStack::PushL(profileExtend);
- const MProfileExtraTones2 &extTones = profileExtend->ProfileExtraTones2();
-
- reminderTone = XQConversions::s60DescToQString(extTones.ReminderTone());
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- )
- return reminderTone;
-}
-
-/*
- * Set a reminder tone for a profile, if the profile id is invalid,
- * nothing happens
- */
-void CpProfileModelPrivate::setReminderTone(int profileId, const QString& filePath)
-{
- if(!isValidProfile(profileId)) {
- return;
- }
- QT_TRAP_THROWING(
- MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
- CleanupStack::PushL(profileExtend);
-
- MProfileSetExtraTones2 &setExtTones = profileExtend->ProfileSetExtraTones2();
- setExtTones.SetReminderToneL( *XQConversions::qStringToS60Desc(filePath) );
- mEngine->CommitChangeL(*profileExtend);
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- )
-}
-
-/*
- * Get the status of notification tone, if the profile id is invalid,
- * always return false
- */
-bool CpProfileModelPrivate::notificationTone(int profileId) const
-{
- bool ret = false;
- if(!isValidProfile(profileId)) {
- return false;
- }
- QT_TRAP_THROWING(
- MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
- CleanupStack::PushL(profileExtend);
-
- const MProfileTones &setTones = profileExtend->ProfileTones();
- const TProfileToneSettings &toneSettings = setTones.ToneSettings();
- ret = toneSettings.iWarningAndGameTones;
-
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- )
- return ret;
-}
-
-/*
- * Set the status of notification tone, if the profile id is
- * invalid, nothing happens
- */
-void CpProfileModelPrivate::setNotificationTone(int profileId, bool isActive)
-{
- if(!isValidProfile(profileId)) {
- return ;
- }
- QT_TRAP_THROWING(
- MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
- CleanupStack::PushL(profileExtend);
- MProfileSetTones &setTones = profileExtend->ProfileSetTones();
- TProfileToneSettings &toneSettings = setTones.SetToneSettings();
-
- toneSettings.iWarningAndGameTones = isActive;
-
- mEngine->CommitChangeL(*profileExtend);
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- )
-}
-/*
- * Get key & touch screen tone's value, if the profile id
- * is invalid, always return 0
- */
-int CpProfileModelPrivate::keyTouchScreenTone(int profileId) const
-{
- int level = 0;
- if(!isValidProfile(profileId)) {
- return level;
- }
-
- QT_TRAP_THROWING(
- MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
- CleanupStack::PushL(profileExtend);
-
- const MProfileTones &setTones = profileExtend->ProfileTones();
- const TProfileToneSettings &toneSettings = setTones.ToneSettings();
-
- // Return only keypad volume, but touch tone volume will be synchronized in
- // SetKeyTouchScreenTone(), these two settings also have the same default value
- // in cenrep key
- level = toneSettings.iKeypadVolume;
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- )
- return level;
-}
-/*
- * set key & touch screen tone, if the profile id
- * is invalid, nothing happens
- */
-void CpProfileModelPrivate::setKeyTouchScreenTone(int profileId, int level)
-{
- if(!isValidProfile(profileId)) {
- return ;
- }
- QT_TRAP_THROWING(
-
- MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
- CleanupStack::PushL(profileExtend);
- MProfileSetTones &setTones =
- profileExtend->ProfileSetTones();
- TProfileToneSettings &toneSettings =
- setTones.SetToneSettings();
-
- MProfileSetExtraSettings &extraSettings =
- profileExtend->ProfileSetExtraSettings();
- MProfileSetFeedbackSettings &setFeedbackSettings =
- extraSettings.ProfileSetFeedbackSettings();
-
- // Update the key pad volume and touch tone volume together
- toneSettings.iKeypadVolume
- = static_cast<TProfileKeypadVolume> (level);
-
- setFeedbackSettings.SetAudioFeedback(
- static_cast<TProfileAudioFeedback> (level));
-
- mEngine->CommitChangeL(*profileExtend);
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- )
-}
-
-/*
- * Get key touch screen vibra's value of a profile, return 0 if the
- * profile id is invalid
- */
-int CpProfileModelPrivate::keyTouchScreenVibra(int profileId)const
-{
- int level = 0;
- if(!isValidProfile(profileId)) {
- return level;
- }
- QT_TRAP_THROWING(
- MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
- CleanupStack::PushL(profileExtend);
- const MProfileExtraSettings &extraSettings =
- profileExtend->ProfileExtraSettings();
- const MProfileFeedbackSettings &feedbackSettings =
- extraSettings.ProfileFeedbackSettings();
- level = feedbackSettings.TactileFeedback();
-
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- )
-
- return level;
-}
-
-/*
- * Set key & touch screen vibra for a profile,
- * if the profile id is invalid, nothing happens
- */
-void CpProfileModelPrivate::setKeyTouchScreenVibra(int profileId, int level)
-{
- if(!isValidProfile(profileId)) {
- return ;
- }
- QT_TRAP_THROWING(
- MProfileExtended2 *profileExtend = mEngine->Profile2L(profileId);
- CleanupStack::PushL(profileExtend);
-
- MProfileSetExtraSettings &extraSettings =
- profileExtend->ProfileSetExtraSettings();
- MProfileSetFeedbackSettings &setFeedbackSettings =
- extraSettings.ProfileSetFeedbackSettings();
- setFeedbackSettings.SetTactileFeedback(
- static_cast<TProfileTactileFeedback> (level));
- mEngine->CommitChangeL(*profileExtend);
- CleanupStack::Pop(); // profileExtend
- profileExtend->Release();
- )
-}
-
-/*
- * Judge the profile is valid or not
- */
-
-bool CpProfileModelPrivate::isValidProfile(int profileId) const
-{
- return mProfileList.contains(profileId);
-}
-
-// End of file
-
-
--- a/controlpanelui/src/cpprofilewrapper/src/cpprofilemodel_p.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPPROFILEMODEL_P_H
-#define CPPROFILEMODEL_P_H
-
-#include <qglobal.h>
-#include <QList>
-class CpProfileModel;
-class CpProfileSettings;
-class MProfileEngineExtended2;
-class MProfileExtended2;
-class MProfileFeedbackSettings;
-class MProfileSetFeedbackSettings;
-class CRepository;
-class QStringList;
-class MProfilesNamesArray;
-struct TProfileToneSettings;
-class CpProfileModelPrivate
-{
- Q_DECLARE_PUBLIC(CpProfileModel)
-public:
- CpProfileModelPrivate();
- ~CpProfileModelPrivate();
- void initialize(CpProfileModel *parent);
-public:
- QString profileName(int profileId) const;
- QStringList profileNames() const;
- int activateProfile(int profileId);
- int activeProfileId() const;
- void profileSettings(int profileId, CpProfileSettings& profileSettings);
- void setProfileSettings(int profileId, CpProfileSettings& profileSettings);
-
- QString ringTone() const;
- void setRingTone(const QString& filePath);
-
- int masterVolume() const;
- void setMasterVolume(int volume);
-
- bool masterVibra() const;
- void setMasterVibra(bool isVibra);
-
- bool silenceMode() const;
- void setSilenceMode(bool isSlience);
-
- QString ringTone(int profileId)const;
- void setRingTone(int profileId, const QString& filePath);
- QString messageTone(int profileId) const;
- void setMessageTone(int profileId, const QString& filePath);
- QString emailTone(int profileId) const;
- void setEmailTone(int profileId, const QString& filePath);
- QString reminderTone(int profileId) const;
- void setReminderTone(int profileId, const QString& filePath);
-
- bool notificationTone(int profileId) const;
- void setNotificationTone(int profileId, bool isActive);
-
- int keyTouchScreenTone(int profileId) const;
- void setKeyTouchScreenTone(int profileId, int level);
-
- int keyTouchScreenVibra(int profileId)const;
- void setKeyTouchScreenVibra(int profileId, int level);
-
-private:
- bool isValidProfile(int profileId) const;
-
-private:
-#ifdef Q_OS_SYMBIAN
- MProfileEngineExtended2 *mEngine;
- // Valid profile id list
- QList<int> mProfileList;
- MProfilesNamesArray *mProfileNames;
-
-#endif // Q_OS_SYMBIAN
- CpProfileModel *q_ptr;
-};
-
-#endif
--- a/controlpanelui/src/cpprofilewrapper/src/cpprofilemodel_win_p.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,261 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include "cpprofilemodel_p.h"
-#include <QString>
-
-CpProfileModelPrivate::CpProfileModelPrivate()
-{
-}
-
-CpProfileModelPrivate::~CpProfileModelPrivate()
-{
-}
-
-/*
- * Get the result of the initiation
- */
-int CpProfileModelPrivate::initiationFlag()
-{
- return -1;
-}
-
-/*
- * Get profile name with its id
- */
-QString CpProfileModelPrivate::profileName(int profileId)
-{
- Q_UNUSED(profileId);
- return "";
-}
-
-/*
- * Activate a profile with its id, return the operation code.
- */
-int CpProfileModelPrivate::activateProfile(int profileId)
-{
- Q_UNUSED(profileId);
- return -1;
-}
-
-/*
- * Get active profile's id
- */
-int CpProfileModelPrivate::activeProfileId()
-{
- return -1;
-}
-
-/*
- * Get path and file name of ring tone file
- */
-QString CpProfileModelPrivate::ringTone()
-{
- return "";
-}
-
-/*
- * Set path and file to ring tone
- */
-int CpProfileModelPrivate::setRingTone(const QString& filePath)
-{
- Q_UNUSED(filePath);
- return -1;
-}
-
-/*
- * Get path and file name of message tone file
- */
-QString CpProfileModelPrivate::messageTone()
-{
- return "";
-}
-
-/*
- * Set path and file to message tone
- */
-int CpProfileModelPrivate::setMessageTone(const QString& filePath)
-{
- Q_UNUSED(filePath);
- return -1;
-}
-
-/*
- * Get path and file name of email tone file
- */
-QString CpProfileModelPrivate::emailTone()
-{
- return "";
-}
-
-/*
- * Set path and file to email tone
- */
-int CpProfileModelPrivate::setEmailTone(const QString& filePath)
-{
- Q_UNUSED(filePath);
- return -1;
-}
-
-/*
- * Get path and file name of calendar event tone file
- */
-QString CpProfileModelPrivate::calendarTone()
-{
- return "";
-}
-
-/*
- * Set path and file to calendar event tone
- */
-void CpProfileModelPrivate::setCalendarTone(const QString& filePath)
-{
- Q_UNUSED(filePath);
-}
-
-/*
- * Get path and file name of clock alarm tone file
- */
-QString CpProfileModelPrivate::alarmTone()
-{
- return "";
-}
-
-/*
- * Set path and file to clock alarm tone
- */
-void CpProfileModelPrivate::setAlarmTone(const QString& filePath)
-{
- Q_UNUSED(filePath);
-}
-
-/*
- * Get the value of master volume
- */
-int CpProfileModelPrivate::ringVolume()
-{
- return -1;
-}
-
-/*
- * Set master volume, the value should be between 1-10
- */
-void CpProfileModelPrivate::setRingVolume(int volume)
-{
- Q_UNUSED(volume);
-}
-
-/*
- * Activate master volume to beep
- */
-void CpProfileModelPrivate::activateBeep()
-{;
-}
-
-/*
- * Get beep status in master volume
- */
-bool CpProfileModelPrivate::isBeep()
-{
- return false;
-}
-
-/*
- * Activate master volume to silent
- */
-void CpProfileModelPrivate::activateSilent()
-{
-}
-
-/*
- * Get silent status in master volume
- */
-bool CpProfileModelPrivate::isSilent()
-{
- return false;
-}
-
-/*
- * Get master vibra's status
- */
-bool CpProfileModelPrivate::vibraStatus()
-{
- return false;
-}
-
-/*
- * Set master vibra's status
- */
-void CpProfileModelPrivate::setVibraStatus(bool status)
-{
- Q_UNUSED(status);
-}
-
-/*
- * Get keypad' volume
- */
-int CpProfileModelPrivate::keyVolume()
-{
- return -1;
-}
-
-/*
- * Set keypad's volume,
- * the value of the volume should be between 0-3
- */
-void CpProfileModelPrivate::setKeyVolume(int volume)
-{
- Q_UNUSED(volume);
-}
-
-/*
- * Get screen tone's volume
- */
-int CpProfileModelPrivate::screenVolume()
-{
- return -1;
-}
-
-/*
- * Set screen tone's volume,
- * the value of the volume should be between 0-3
- */
-void CpProfileModelPrivate::setScreenVolume(int volume)
-{
- Q_UNUSED(volume);
-}
-
-/*
- * Get screen vibra's level
- */
-int CpProfileModelPrivate::screenVibra()
-{
- return -1;
-}
-
-/*
- * Set screen vibra's level,
- * the value of the level should be between 0-3
- */
-void CpProfileModelPrivate::setScreenVibra(int volume)
-{
- Q_UNUSED(volume);
-}
-
-
-// End of file
--- a/controlpanelui/src/cpprofilewrapper/src/cpprofilemonitor.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cpprofilemonitor.h"
-#include "cpprofilemonitor_p.h"
-
-/*!
- \class CpProfileMonitor
- \brief This class will observe the profile change or modification, and emit related signals.
- */
-/*!
- \fn void profileActivated(int activeProfileId)
- This signal will emmit when a new profile activated
- */
-/*!
- \fn void activeProfileModified(int activeProfileId)
- This signal will emmit when active profile's settings are modified
- */
-/*!
- Constructor
- */
-CpProfileMonitor::CpProfileMonitor(QObject *parent)
- :QObject(parent),d_ptr(new CpProfileMonitorPrivate())
-{
- d_ptr->initialize(this);
-}
-
-/*!
- Descontructor
- */
-CpProfileMonitor::~CpProfileMonitor()
-{
- delete d_ptr;
-}
--- a/controlpanelui/src/cpprofilewrapper/src/cpprofilemonitor_p.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "cpprofilemonitor_p.h"
-#include "cpprofilemonitor.h"
-
-#include <CProfileChangeNotifyHandler.h>
-
-/*
- * Construtor
- */
-CpProfileMonitorPrivate::CpProfileMonitorPrivate():
- mProfileNotifier(0)
-{
-
-}
-
-/*
- * Desconstructor
- */
-CpProfileMonitorPrivate::~CpProfileMonitorPrivate()
-{
- delete mProfileNotifier;
-}
-
-/*
- * Initializing for the monitoring profile event
- */
-void CpProfileMonitorPrivate::initialize(CpProfileMonitor *parent)
-{
- q_ptr = parent;
- TRAP_IGNORE(mProfileNotifier = CProfileChangeNotifyHandler::NewL(this));
-}
-
-/*
- * From MProfileChangeObserver, monitor the profile event
- */
-void CpProfileMonitorPrivate::HandleActiveProfileEventL(TProfileEvent aProfileEvent, TInt aProfileId)
-{
- switch (aProfileEvent) {
- case EProfileNewActiveProfile:
- {
- q_ptr->profileActivated(aProfileId);
- break;
- }
- case EProfileActiveProfileModified:
- {
- q_ptr->activeProfileModified(aProfileId);
- break;
- }
- default:
- break;
- }
-}
--- a/controlpanelui/src/cpprofilewrapper/src/cpprofilemonitor_p.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPPROFILEMONITORPRIVATE_H
-#define CPPROFILEMONITORPRIVATE_H
-
-#include <MProfileChangeObserver.h>
-#include <qglobal.h>
-
-class CProfileChangeNotifyHandler;
-class CpProfileMonitor;
-
-class CpProfileMonitorPrivate:public MProfileChangeObserver
-{
- Q_DECLARE_PUBLIC(CpProfileMonitor)
-public:
- CpProfileMonitorPrivate();
- ~CpProfileMonitorPrivate();
- void initialize(CpProfileMonitor *parent);
-
-#ifdef Q_OS_SYMBIAN
-private:
- void HandleActiveProfileEventL(TProfileEvent aProfileEvent, TInt aProfileId);
-private:
- CProfileChangeNotifyHandler *mProfileNotifier;
-#endif
-private:
- CpProfileMonitor *q_ptr;
-};
-
-#endif
--- a/controlpanelui/src/cpprofilewrapper/tsrc/unit_common.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-QT += testlib
-CONFIG += hb qtestlib
-
-unix {
- test.commands = /epoc32/RELEASE/WINSCW/udeb/$${TARGET}.exe
- autotest.commands = /epoc32/RELEASE/WINSCW/udeb/$${TARGET}.exe -xml -o c:/$${TARGET}.xml
-} else:win32 {
- test.CONFIG += recursive
- autotest.CONFIG += recursive
- build_pass {
- test.commands =/epoc32/RELEASE/WINSCW/udeb/$${TARGET}.exe
- autotest.commands =/epoc32/RELEASE/WINSCW/udeb/$${TARGET}.exe -xml -o c:/$${TARGET}.xml
- }
-}
-QMAKE_EXTRA_TARGETS += test autotest
-
-symbian {
- INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
- INCLUDEPATH += $$MW_LAYER_PLATFORM_EXPORT_PATH(cplogger)
- TARGET.CAPABILITY = ALL -TCB
-}
-
-
-
Binary file controlpanelui/src/cpprofilewrapper/tsrc/ut_cpprofilemodel/data/testsound.aac has changed
Binary file controlpanelui/src/cpprofilewrapper/tsrc/ut_cpprofilemodel/data/testsound2.aac has changed
--- a/controlpanelui/src/cpprofilewrapper/tsrc/ut_cpprofilemodel/runtest.bat Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description:
-@rem
-
-\epoc32\RELEASE\WINSCW\udeb\ut_cprofilemodel.exe -xml -o c:\ut_cprofilemodel.xml
-copy \epoc32\winscw\c\ut_cprofilemodel.xml
-del \epoc32\winscw\c\ut_cprofilemodel.xml
\ No newline at end of file
--- a/controlpanelui/src/cpprofilewrapper/tsrc/ut_cpprofilemodel/src/ut_cpprofilemodel.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1305 +0,0 @@
-/* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* test the functions in cpprofilemodel class
-*/
-
-#include "ut_cpprofilemodel.h"
-
-
-#include <QtTest/QtTest>
-
-#include <QtCore/QStringList>
-#include <cpprofilemodel.h>
-#include <hbpushbutton.h>
-#include <hbtranslator.h>
-#include <profile.hrh>
-
-/*!
- \class TestCpProfileModel \n
- \brief describe the test case's goal, like: \n
- class name: cpprofilemodel \n
- class's description: \n
- type of test case: unit test\n
- test cases' number totally: \n
- */
-
-void TestCpProfileModel::initTestCase()
-{
- //translate the hbTrId text in control panel.
- HbTranslator translator("control_panel");
- translator.loadCommon();
- ringTonePath1 = QString("C:") + QDir::separator() + QString("resource") + QDir::separator() + QString("cptestdata") + QDir::separator() + QString("sounds") + QDir::separator() + QString("testsound.aac");
- ringTonePath2 = QString("C:") + QDir::separator() + QString("resource") + QDir::separator() + QString("cptestdata") + QDir::separator() + QString("sounds") + QDir::separator() + QString("testsound2.aac");
-}
-/*!
- Test Case Description:\n
- 1. Fucntion Name: CpProfileModel(QObject *parent = 0); \n
- 2. Case Descrition: verify the constructor can work correctly. \n
- 3. Input Parameters: \n
- <1> parent = 0; \n
- <2> parent = new QObject(); \n
- 4. Expected result: \n
- no crash \n
- */
-void TestCpProfileModel::testConstructor()
-{
- QObject *pObject = new QObject();
-
- //test constructor without parent.
- CpProfileModel *profileModel = new CpProfileModel(0);
- QVERIFY( profileModel != 0 );
- delete profileModel;
- profileModel = 0;
- // test constructor with parent.
- profileModel = new CpProfileModel(pObject);
- QVERIFY( profileModel != 0 );
-
- delete pObject;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: QString profileName(int profileId)const; \n
- 2. Case Descrition: verify that it can return the corresponding profile name when using valid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWrapperGeneralId,\n
- <2> profileId = EProfileWrapperMeetingId,\n
- 4. Expected result: \n \n
- <1> return QString( "General" ) \n
- <2> return QString( "Meeting" ) \n
- */
-void TestCpProfileModel::testProfileNameWithValidProfileID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- QString profileName1 = profileModel->profileName(EProfileWrapperGeneralId);
- QVERIFY( profileName1 == QString( "General" ) );
-
- QString profileName2 = profileModel->profileName(EProfileWrapperMeetingId);
- QVERIFY( profileName2 == QString("Meeting") );
-
- delete profileModel;
-}
-/*!
- Test Case Description:\n
- 1. Fucntion Name: QString profileName(int profileId)const; \n
- 2. Case Descrition: verify that it doesn't crash when using invalid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWapperStart,\n
- <2> profileId = EPRofileWrapperEnd,\n
- <3> profileId = -80, \n
- <3> profileId = 888, \n
- 4. Expected result: \n \n
- <1> return QString() \n
- <2> return QString() \n
- <3> return QString() \n
- <4> return QString() \n
- */
-void TestCpProfileModel::testProfileNameWithInvalidProfileID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- QString profileName1 = profileModel->profileName(EProfileWapperStart);
- QVERIFY( profileName1 == QString() );
-
- QString profileName2 = profileModel->profileName(EPRofileWrapperEnd);
- QVERIFY( profileName2 == QString() );
-
- QString profileName3 = profileModel->profileName( -80 );
- QVERIFY( profileName3 == QString() );
-
- QString profileName4 = profileModel->profileName( 888 );
- QVERIFY( profileName4 == QString() );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: QStringList profileNames()const; \n
- 2. Case Descrition: Verify that the profile name list can be get correctly with this function \n
- 3. Input Parameters: \n
- none \n
- 4. Expected result: \n
- \n
- */
-void TestCpProfileModel::testProfileNames()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- QStringList profilesNames = profileModel->profileNames();
-
- // Verify the right profile names are returned.
- QVERIFY ( profilesNames.count() == 2 );
- QVERIFY( profilesNames.contains("General", Qt::CaseInsensitive));
- QVERIFY( profilesNames.contains("Meeting", Qt::CaseInsensitive));
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: int activateProfile(int profileId); \n
- 2. Case Descrition: Verify that the profile cannot be actived with the invalid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWapperStart,\n
- <2> profileId = EPRofileWrapperEnd,\n
- <3> profileId = -6 \n
- <4> profileId = 356 \n
- 4. Expected result: \n
- <1> return KErrNotFound \n
- <2> return KErrNotFound \n
- <3> return KErrNotFound \n
- <4> return KErrNotFound \n
- */
-void TestCpProfileModel::testActivateProfileWithInvalidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- int retErr1 = profileModel->activateProfile(EProfileWapperStart);
- QVERIFY( retErr1 == KErrNotFound );
-
- int retErr2 = profileModel->activateProfile(EPRofileWrapperEnd);
- QVERIFY( retErr2 == KErrNotFound );
-
- int retErr3 = profileModel->activateProfile( -6 );
- QVERIFY( retErr3 == KErrNotFound );
-
- int retErr4 = profileModel->activateProfile( 356 );
- QVERIFY( retErr4 == KErrNotFound );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: int activateProfile(int profileId); \n
- 2. Case Descrition: Verify that the profile can be actived with the valid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWrapperGeneralId,\n
- <2> profileId = EProfileWrapperMeetingId,\n
- 4. Expected result: \n
- <1> the current active profile ID is EProfileWrapperGeneralId \n
- <2> the current active profile ID is EProfileWrapperMeetingId \n
- */
-void TestCpProfileModel::testActivateProfileWithValidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->activateProfile(EProfileWrapperGeneralId);
- QVERIFY( profileModel->activeProfileId() == EProfileWrapperGeneralId );
-
- profileModel->activateProfile(EProfileWrapperMeetingId);
- QVERIFY( profileModel->activeProfileId() == EProfileWrapperMeetingId );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: int activeProfileId() const;\n
- 2. Case Descrition: Verify that it can return the right profile ID or Error code. \n
- 3. Input Parameters: \n
- <1> set an active valid profile \n
- <2> set an active invaild profile \n
- 4. Expected result: \n
- <1> return the right ID \n
- <2> no crash \n
- */
-void TestCpProfileModel::testActiveProfileId()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->activateProfile(EProfileWrapperGeneralId);
- QVERIFY( profileModel->activeProfileId() == EProfileWrapperGeneralId );
-
- profileModel->activateProfile(-8);
- // set profile failed, so the active profileID is still the previous ID, EProfileWrapperGeneralId.
- QVERIFY( profileModel->activeProfileId() == EProfileWrapperGeneralId );
-
- delete profileModel;
-}
-/*!
- Test Case Description:\n
- 1. Fucntion Name: void profileSettings(int profileId, CpProfileSettings& profileSettings);\n
- 2. Case Descrition: get profile settings,\n
- 3. Input Parameters: \n
- <1> profileID = EProfileWrapperGeneralId, profileSettings = CpProfileSettings; \n
- <2> profileID = EProfileWrapperMeetingId, profileSettings = CpProfileSettings; \n
- <3> profileID = EProfileWapperStart, profileSettings = CpProfileSettings; \n
- <4> profileID = EPRofileWrapperEnd, profileSettings = CpProfileSettings; \n
- <5> profileID = int, profileSettings = CpProfileSettings; \n
- 4. Expected result: \n
- no crash \n
- */
-void TestCpProfileModel::testProfileSettings()
-{
- CpProfileSettings profileSettings;
- CpProfileModel *profileModel = new CpProfileModel();
- profileSettings.mKeyTouchScreenVibra = 0;
- profileSettings.mKeyTouchScreenTone = 2;
- // test with valid profile ID.
- profileModel->setProfileSettings( EProfileWrapperGeneralId, profileSettings );
- profileModel->profileSettings( EProfileWrapperGeneralId, profileSettings );
- QVERIFY( profileSettings.mKeyTouchScreenTone == 2);
-
- profileModel->setProfileSettings( EProfileWrapperMeetingId, profileSettings );
- profileModel->profileSettings( EProfileWrapperMeetingId, profileSettings );
- QVERIFY( profileSettings.mKeyTouchScreenVibra == 0);
- // test with invalid profile ID.
- profileModel->profileSettings( EProfileWapperStart, profileSettings );
-
- profileModel->profileSettings( EPRofileWrapperEnd, profileSettings );
-
- profileModel->profileSettings( 98, profileSettings );
-
- delete profileModel;
-}
-/*!
- Test Case Description:\n
- 1. Fucntion Name: int setProfileSettings(int profileId, CpProfileSettings& profileSettings );\n
- 2. Case Descrition: Set profile settings from center repository keys \n
- 3. Input Parameters: \n
- <1> profileID = EProfileWrapperGeneralId, profileSettings = CpProfileSettings; \n
- <2> profileID = EProfileWrapperMeetingId, profileSettings = CpProfileSettings; \n
- <3> profileID = EProfileWapperStart, profileSettings = CpProfileSettings; \n
- <4> profileID = EPRofileWrapperEnd, profileSettings = CpProfileSettings; \n
- <5> profileID = 98, profileSettings = CpProfileSettings; \n
- 4. Expected result: \n
- no crash \n
- */
-void TestCpProfileModel::testSetProfileSettings()
-{
- CpProfileSettings profileSettings;
- profileSettings.mKeyTouchScreenVibra = 4;
- profileSettings.mKeyTouchScreenTone = 3;
- CpProfileModel *profileModel = new CpProfileModel();
- // test with valid profile ID.
- profileModel->setProfileSettings( EProfileWrapperGeneralId, profileSettings );
- profileModel->profileSettings( EProfileWrapperGeneralId, profileSettings );
- QVERIFY( profileSettings.mKeyTouchScreenTone == 3);
-
- profileModel->setProfileSettings( EProfileWrapperMeetingId, profileSettings );
- profileModel->profileSettings( EProfileWrapperMeetingId, profileSettings );
- QVERIFY( profileSettings.mKeyTouchScreenVibra == 4);
-
- // test with invalid profile ID.
- profileModel->setProfileSettings( EProfileWapperStart, profileSettings );
- profileModel->setProfileSettings( EPRofileWrapperEnd, profileSettings );
- profileModel->setProfileSettings( 98, profileSettings );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: QString ringTone() const;\n
- 2. Case Descrition: Verify that it return the right active ring tone path. \n
- 3. Input Parameters: \n
- <1> set ringtone for profiles. \n
- <2> no ringtone is set. \n
- 4. Expected result: \n
- <1> return the right path \n
- <2> return QString() \n
- */
-void TestCpProfileModel::testRingToneOfActive()
-{
- CpProfileModel *profileModel = new CpProfileModel();
- // set a ringtone for profiles.
- profileModel->setRingTone(ringTonePath1);
- QString retRingTonePath1 = profileModel->ringTone();
- QVERIFY( retRingTonePath1 == ringTonePath1 );
- // no ringtone is set.
- profileModel->setRingTone(QString());
- QString retRingTonePath2 = profileModel->ringTone();
- QVERIFY( retRingTonePath2 == QString() );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: void setRingTone(const QString& filePath);\n
- 2. Case Descrition: Verify that it can set ring tone successfully with valid sound path. \n
- 3. Input Parameters: \n
- <1> soundPath = QString(), \n
- 4. Expected result: \n
- <1> profileModel->ringTone() == soundPath \n
- */
-void TestCpProfileModel::testSetRingToneAllWithValidPath()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setRingTone(ringTonePath1);
- QVERIFY( profileModel->ringTone() == ringTonePath1 );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: void setRingTone(const QString& filePath);\n
- 2. Case Descrition: Verify that no crash when setting ring tone with invalid sound path. \n
- 3. Input Parameters: \n
- <1> path = QString(), \n
- <2> path = QString(XX), XX is an invalid path \n
- 4. Expected result: \n
- <1> profileModel->ringTone() == QString() \n
- <2> profileModel->ringTone() == path \n
- */
-void TestCpProfileModel::testSetRingToneAllWithInvalidPath()
-{
- QString inValidPath = "Z:/InvalidSoundPath";
- CpProfileModel *profileModel = new CpProfileModel();
- // using empty path.
- profileModel->setRingTone( QString() );
- QVERIFY( profileModel->ringTone() == QString() );
- // using an invalid path.
- profileModel->setRingTone( QString( inValidPath ) );
- QString retStr = profileModel->ringTone();
- QVERIFY( profileModel->ringTone() == inValidPath );
-
- delete profileModel;
-}
-/*!
- Test Case Description:\n
- 1. Fucntion Name: int void setMasterVolume(int volume);\n
- 2. Case Descrition: Verify that the valid volume can be set correctly \n
- 3. Input Parameters: \n
- <1> volume = int X, X = {1,2,3,4,5,6,7,8,9,10} \n
- 4. Expected result: \n
- <1> profileModel->masterVolume() == X. \n
- */
-void TestCpProfileModel::testSetMasterWithValidVolume()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- for( int i = EProfileRingingVolumeLevel1; i <= EProfileRingingVolumeLevel10; i++ )
- {
- profileModel->setMasterVolume(i);
- QVERIFY( profileModel->masterVolume() == i );
- }
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: int void setMasterVolume(int volume);\n
- 2. Case Descrition: Verify that no crash when using \n
- 3. Input Parameters: \n
- <1> volume = -8 \n
- <2> volume = 230 \n
- 4. Expected result: \n
- <1> no crash and the master volume is not changed. \n
- <2> no crash and the master volume is not changed. \n
- */
-void TestCpProfileModel::testSetMasterWithInvalidVolume()
-{
- CpProfileModel *profileModel = new CpProfileModel();
- int oldVolume = profileModel->masterVolume();
-
- profileModel->setMasterVolume( -8 );
- QVERIFY( profileModel->masterVolume() == oldVolume );
-
- profileModel->setMasterVolume( 230 );
- QVERIFY( profileModel->masterVolume() == oldVolume );
-
- delete profileModel;
-}
-/*!
- Test Case Description:\n
- 1. Fucntion Name: int masterVolume() const;\n
- 2. Case Descrition: Verify that it returns the right master volume for device. \n
- 3. Input Parameters: \n
- <1> setMasterVolume( EProfileRingingVolumeLevel3 ) \n
- 4. Expected result: \n
- <1> returnMasterVolume == EProfileRingingVolumeLevel3 \n
- */
-void TestCpProfileModel::testMasterVolume()
-{
- CpProfileModel *profileModel = new CpProfileModel();
- profileModel->setMasterVolume( EProfileRingingVolumeLevel3 );
-
- int returnMasterVolume = profileModel->masterVolume();
- QVERIFY( returnMasterVolume == EProfileRingingVolumeLevel3 );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: \n
- void setMasterVibra(bool isVibra);\n
- 2. Case Descrition: Verify that the master vibra's status can be set successfully. \n
- 3. Input Parameters: \n
- <1> isVibra = true; \n
- <2> isVibra = false; \n
- 4. Expected result: \n
- <1> profileModel->masterVibra() == true. \n
- <1> profileModel->masterVibra() == false. \n
- */
-void TestCpProfileModel::testSetMasterVibra()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setMasterVibra(true);
- QVERIFY( profileModel->masterVibra() == true );
-
- profileModel->setMasterVibra(false);
- QVERIFY( profileModel->masterVibra() == false );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: \n
- bool masterVibra() const;\n
- 2. Case Descrition: Verify that it returns the correct master vibra's status. \n
- 3. Input Parameters: \n
- <1> isVibra = true; \n
- <2> isVibra = false; \n
- 4. Expected result: \n
- <1> profileModel->masterVibra() == true. \n
- <1> profileModel->masterVibra() == false. \n
- */
-void TestCpProfileModel::testMasterVibra()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setMasterVibra(true);
- QVERIFY( profileModel->masterVibra() == true );
-
- profileModel->setMasterVibra(false);
- QVERIFY( profileModel->masterVibra() == false );
-
- delete profileModel;
-}
-/*!
- Test Case Description:\n
- 1. Fucntion Name: \n
- void setSilenceMode(bool isSlience);\n
- 2. Case Descrition: Verify the right slicence mode can be set. \n
- 3. Input Parameters: \n
- <1> isSlience = true; \n
- <2> isSlience = false; \n
- 4. Expected result: \n
- <1> profileModel->silenceMode() == true. \n
- <1> profileModel->silenceMode() == false. \n
- */
-void TestCpProfileModel::testSetSilenceMode()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setSilenceMode(true);
- QVERIFY( profileModel->silenceMode() == true );
-
- profileModel->setSilenceMode(false);
- QVERIFY( profileModel->silenceMode() == false );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: \n
- bool silenceMode() const;\n
- void setSilenceMode(bool isSlience);\n
- 2. Case Descrition: Verify it get the correct silence mode of device. \n
- 3. Input Parameters: \n
- <1> isSlience = true; \n
- <2> isSlience = false; \n
- 4. Expected result: \n
- <1> profileModel->silenceMode() == true. \n
- <1> profileModel->silenceMode() == false. \n
- */
-void TestCpProfileModel::testSilenceMode()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setSilenceMode(true);
- QVERIFY( profileModel->silenceMode() == true );
-
- profileModel->setSilenceMode(false);
- QVERIFY( profileModel->silenceMode() == false );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: QString ringTone(int profileId)const; \n
- 2. Case Descrition: Verify that it can return the right ringtone when using valid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWrapperGeneralId, set ringtone with ringTonePath1 \n
- <2> profileId = EProfileWrapperMeetingId, set ringtone with ringTonePath2 \n
- 4. Expected result: \n
- <1> profileModel->ringTone(EProfileWrapperGeneralId) == ringTonePath1 \n
- <2> profileModel->ringTone(EProfileWrapperMeetingId) == ringTonePath2 \n
- */
-void TestCpProfileModel::testRingToneWithValidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setRingTone( EProfileWrapperGeneralId, ringTonePath1 );
- QVERIFY( profileModel->ringTone(EProfileWrapperGeneralId) == ringTonePath1 );
-
- profileModel->setRingTone( EProfileWrapperMeetingId, ringTonePath2 );
- QVERIFY( profileModel->ringTone(EProfileWrapperMeetingId) == ringTonePath2 );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: QString ringTone(int profileId)const; \n
- 2. Case Descrition: Verify that it does not crash when using invalid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWapperStart,\n
- <2> profileId = EPRofileWrapperEnd,\n
- <3> profileId = -9,\n
- <4> profileId = 100,\n
- 4. Expected result: \n
- <1> no crash and return QString() \n
- <2> no crash and return QString() \n
- <3> no crash and return QString() \n
- <4> no crash and return QString() \n
- */
-void TestCpProfileModel::testRingToneWithInvalidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
- // set ring tone for all profile
- profileModel->setRingTone(ringTonePath1);
-
- QVERIFY( profileModel->ringTone( EProfileWapperStart ) == QString() );
- QVERIFY( profileModel->ringTone( EPRofileWrapperEnd ) == QString() );
- QVERIFY( profileModel->ringTone( -9 ) == QString() );
- QVERIFY( profileModel->ringTone( 100 ) == QString() );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: void setRingTone(int profileId, const QString& filePath); \n
- 2. Case Descrition: Verify that it can set the profile ringtone successfully with valid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWrapperGeneralId, filePath = QString(ringTonePath) \n
- <2> profileId = EProfileWrapperMeetingId, filePath = QString() \n
- 4. Expected result: \n
- <1> profileModel->ringTone(EProfileWrapperGeneralId) == ringTonePath \n
- <2> profileModel->ringTone(EProfileWrapperMeetingId) == QString() \n
- */
-void TestCpProfileModel::testSetRingToneWithValidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setRingTone(EProfileWrapperGeneralId, ringTonePath2);
- QVERIFY( profileModel->ringTone(EProfileWrapperGeneralId) == ringTonePath2 );
-
- profileModel->setRingTone(EProfileWrapperMeetingId, QString());
- QVERIFY( profileModel->ringTone(EProfileWrapperMeetingId) == QString() );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: void setRingTone(int profileId, const QString& filePath); \n
- 2. Case Descrition: Verify that it does not crash when using invalid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWapperStart,\n
- <2> profileId = EPRofileWrapperEnd,\n
- <3> profileId = -19,\n
- <4> profileId = 101,\n
- 4. Expected result: \n
- <1> no crash \n
- <2> no crash \n
- <3> no crash \n
- <4> no crash \n
- */
-void TestCpProfileModel::testSetRingToneWithInvalidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setRingTone(EProfileWapperStart, ringTonePath2);
-
- profileModel->setRingTone(EPRofileWrapperEnd, ringTonePath2);
-
- profileModel->setRingTone(-19, ringTonePath2);
-
- profileModel->setRingTone(101, ringTonePath2);
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: QString messageTone(int profileId) const; \n
- 2. Case Descrition: Verify that it can return the right message tone when using valid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWrapperGeneralId, set ringtone with soundPath1 \n
- <2> profileId = EProfileWrapperMeetingId, set ringtone with soundTonePath2 \n
- 4. Expected result: \n
- <1> profileModel->messageTone(EProfileWrapperGeneralId) == soundPath1 \n
- <2> profileModel->messageTone(EProfileWrapperMeetingId) == soundPath2 \n
- */
-void TestCpProfileModel::testMessageToneWithValidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setMessageTone( EProfileWrapperGeneralId, ringTonePath1 );
- QVERIFY( profileModel->messageTone(EProfileWrapperGeneralId) == ringTonePath1 );
-
- profileModel->setMessageTone( EProfileWrapperMeetingId, ringTonePath2 );
- QVERIFY( profileModel->messageTone(EProfileWrapperMeetingId) == ringTonePath2 );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: QString messageTone(int profileId) const; \n
- 2. Case Descrition: Verify that it does not crash when using invalid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWapperStart,\n
- <2> profileId = EPRofileWrapperEnd,\n
- <3> profileId = -9,\n
- <4> profileId = 59,\n
- 4. Expected result: \n
- <1> no crash and return QString() \n
- <2> no crash and return QString() \n
- <3> no crash and return QString() \n
- <4> no crash and return QString() \n
- */
-void TestCpProfileModel::testMessageToneWithInvalidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- QVERIFY( profileModel->messageTone( EProfileWapperStart ) == QString() );
- QVERIFY( profileModel->messageTone( EPRofileWrapperEnd ) == QString() );
- QVERIFY( profileModel->messageTone( -9 ) == QString() );
- QVERIFY( profileModel->messageTone( 59 ) == QString() );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: void setMessageTone(int profileId, const QString& filePath); \n
- 2. Case Descrition: Verify that it can set the message tone successfully with valid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWrapperGeneralId, filePath = QString(soundPath) \n
- <2> profileId = EProfileWrapperMeetingId, filePath = QString() \n
- 4. Expected result: \n \n
- <1> profileModel->messageTone(EProfileWrapperGeneralId) == ringTonePath \n
- <2> profileModel->messageTone(EProfileWrapperMeetingId) == QString() \n
- */
-void TestCpProfileModel::testSetMessageToneWithValidID()
-{
- QString soundPath2 = QString("C:/unavailable path");
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setMessageTone( EProfileWrapperGeneralId, ringTonePath1 );
- QVERIFY( profileModel->messageTone(EProfileWrapperGeneralId) == ringTonePath1 );
- // set an unavailable path.
- profileModel->setMessageTone( EProfileWrapperGeneralId, soundPath2 );
- QVERIFY( profileModel->messageTone(EProfileWrapperGeneralId) == soundPath2 );
-
- profileModel->setMessageTone( EProfileWrapperMeetingId, QString() );
- QVERIFY( profileModel->messageTone(EProfileWrapperMeetingId) == QString() );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: void setMessageTone(int profileId, const QString& filePath); \n
- 2. Case Descrition: Verify that it does not crash when using invalid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWapperStart,\n
- <2> profileId = EPRofileWrapperEnd,\n
- <3> profileId = -100,\n
- <4> profileId = 100,\n
- 4. Expected result: \n \n
- <1> no crash \n
- <2> no crash \n
- <3> no crash \n
- <4> no crash \n
- */
-void TestCpProfileModel::testSetMessageToneWithInvalidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setMessageTone( EProfileWapperStart, ringTonePath1 );
-// QVERIFY( profileModel->messageTone(EProfileWapperStart) == QString() );
-
- profileModel->setMessageTone( EPRofileWrapperEnd, QString() );
-// QVERIFY( profileModel->messageTone(EPRofileWrapperEnd) == QString() );
-
- profileModel->setMessageTone( -100, ringTonePath1 );
-// QVERIFY( profileModel->messageTone(-100) == QString() );
-
- profileModel->setMessageTone( 100, QString() );
-// QVERIFY( profileModel->messageTone(100) == QString() );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: QString emailTone(int profileId) const; \n
- 2. Case Descrition: Verify that it can return the right email tone when using valid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWrapperGeneralId, set ringtone with soundPath1 \n
- <2> profileId = EProfileWrapperMeetingId, set ringtone with soundTonePath2 \n
- 4. Expected result: \n
- <1> profileModel->emailTone(EProfileWrapperGeneralId) == soundPath1 \n
- <2> profileModel->emailTone(EProfileWrapperMeetingId) == soundPath2 \n
- */
-void TestCpProfileModel::testEmailToneWithValidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setEmailTone( EProfileWrapperGeneralId, ringTonePath1 );
- QVERIFY( profileModel->emailTone(EProfileWrapperGeneralId) == ringTonePath1 );
-
- profileModel->setEmailTone( EProfileWrapperMeetingId, ringTonePath2 );
- QVERIFY( profileModel->emailTone(EProfileWrapperMeetingId) == ringTonePath2 );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: QString emailTone(int profileId) const; \n
- 2. Case Descrition: Verify that it does not crash when using invalid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWapperStart,\n
- <2> profileId = EPRofileWrapperEnd,\n
- <3> profileId = -9,\n
- <4> profileId = 59,\n
- 4. Expected result: \n
- <1> no crash and return QString() \n
- <2> no crash and return QString() \n
- <3> no crash and return QString() \n
- <4> no crash and return QString() \n
- */
-void TestCpProfileModel::testEmailToneWithInvalidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- QVERIFY( profileModel->emailTone( EProfileWapperStart ) == QString() );
- QVERIFY( profileModel->emailTone( EPRofileWrapperEnd ) == QString() );
- QVERIFY( profileModel->emailTone( -9 ) == QString() );
- QVERIFY( profileModel->emailTone( 59 ) == QString() );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: void setEmailTone(int profileId, const QString& filePath); \n
- 2. Case Descrition: Verify that it can set the email tone successfully with valid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWrapperGeneralId, filePath = QString(soundPath) \n
- <2> profileId = EProfileWrapperMeetingId, filePath = QString() \n
- 4. Expected result: \n \n
- <1> profileModel->emailTone(EProfileWrapperGeneralId) == soundPath \n
- <2> profileModel->emailTone(EProfileWrapperMeetingId) == QString() \n
- */
-void TestCpProfileModel::testSetEmailToneWithValidID()
-{
- QString soundPath2 = QString("C:/unavailable path");
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setEmailTone( EProfileWrapperGeneralId, ringTonePath1 );
- QVERIFY( profileModel->emailTone(EProfileWrapperGeneralId) == ringTonePath1 );
- // set an unavailable path.
- profileModel->setEmailTone( EProfileWrapperGeneralId, soundPath2 );
- QVERIFY( profileModel->emailTone(EProfileWrapperGeneralId) == soundPath2 );
-
- profileModel->setEmailTone( EProfileWrapperMeetingId, QString() );
- QVERIFY( profileModel->emailTone(EProfileWrapperMeetingId) == QString() );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: void setEmailTone(int profileId, const QString& filePath); \n
- 2. Case Descrition: Verify that it does not crash when using invalid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWapperStart,\n
- <2> profileId = EPRofileWrapperEnd,\n
- <3> profileId = -100,\n
- <4> profileId = 100,\n
- 4. Expected result: \n \n
- <1> no crash \n
- <2> no crash \n
- <3> no crash \n
- <4> no crash \n
- */
-void TestCpProfileModel::testSetEmailToneWithInvalidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setEmailTone( EProfileWapperStart, ringTonePath1 );
-// QVERIFY( profileModel->emailTone(EProfileWapperStart) == QString() );
-
- profileModel->setEmailTone( EPRofileWrapperEnd, QString() );
-// QVERIFY( profileModel->emailTone(EPRofileWrapperEnd) == QString() );
-
- profileModel->setEmailTone( -100, ringTonePath1 );
-// QVERIFY( profileModel->emailTone(-100) == QString() );
-
- profileModel->setEmailTone( 100, QString() );
-// QVERIFY( profileModel->emailTone(100) == QString() );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: QString reminderTone(int profileId) const; \n
- 2. Case Descrition: Verify that it can return the right reminder tone when using valid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWrapperGeneralId, set ringtone with soundPath1 \n
- <2> profileId = EProfileWrapperMeetingId, set ringtone with soundTonePath2 \n
- 4. Expected result: \n
- <1> profileModel->reminderTone(EProfileWrapperGeneralId) == soundPath1 \n
- <2> profileModel->reminderTone(EProfileWrapperMeetingId) == soundPath2 \n
- */
-void TestCpProfileModel::testReminderToneWithValidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setReminderTone( EProfileWrapperGeneralId, ringTonePath1 );
- QVERIFY( profileModel->reminderTone(EProfileWrapperGeneralId) == ringTonePath1 );
-
- profileModel->setReminderTone( EProfileWrapperMeetingId, ringTonePath2 );
- QVERIFY( profileModel->reminderTone(EProfileWrapperMeetingId) == ringTonePath2 );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: QString reminderTone(int profileId) const; \n
- 2. Case Descrition: Verify that it does not crash when using invalid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWapperStart,\n
- <2> profileId = EPRofileWrapperEnd,\n
- <3> profileId = -9,\n
- <4> profileId = 59,\n
- 4. Expected result: \n
- <1> no crash and return QString() \n
- <2> no crash and return QString() \n
- <3> no crash and return QString() \n
- <4> no crash and return QString() \n
- */
-void TestCpProfileModel::testReminderToneWithInvalidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- QVERIFY( profileModel->reminderTone( EProfileWapperStart ) == QString() );
- QVERIFY( profileModel->reminderTone( EPRofileWrapperEnd ) == QString() );
- QVERIFY( profileModel->reminderTone( -9 ) == QString() );
- QVERIFY( profileModel->reminderTone( 59 ) == QString() );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: void setReminderTone(int profileId, const QString& filePath); \n
- 2. Case Descrition: Verify that it can set the reminder tone successfully with valid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWrapperGeneralId, filePath = QString(soundPath) \n
- <2> profileId = EProfileWrapperMeetingId, filePath = QString() \n
- 4. Expected result: \n \n
- <1> profileModel->reminderTone(EProfileWrapperGeneralId) == soundPath \n
- <2> profileModel->reminderTone(EProfileWrapperMeetingId) == QString() \n
- */
-void TestCpProfileModel::testSetReminderToneWithValidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setReminderTone( EProfileWrapperGeneralId, ringTonePath1 );
- QVERIFY( profileModel->reminderTone(EProfileWrapperGeneralId) == ringTonePath1 );
- // set an unavailable path.
- profileModel->setReminderTone( EProfileWrapperGeneralId, ringTonePath2 );
- QVERIFY( profileModel->reminderTone(EProfileWrapperGeneralId) == ringTonePath2 );
-
- profileModel->setReminderTone( EProfileWrapperMeetingId, QString() );
- QVERIFY( profileModel->reminderTone(EProfileWrapperMeetingId) == QString() );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: void setReminderTone(int profileId, const QString& filePath); \n
- 2. Case Descrition: Verify that it does not crash when using invalid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWapperStart,\n
- <2> profileId = EPRofileWrapperEnd,\n
- <3> profileId = -100,\n
- <4> profileId = 100,\n
- 4. Expected result: \n
- <1> no crash \n
- <2> no crash \n
- <3> no crash \n
- <4> no crash \n
- */
-void TestCpProfileModel::testSetReminderToneWithInvalidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setReminderTone( EProfileWapperStart, ringTonePath1 );
-// QVERIFY( profileModel->reminderTone(EProfileWapperStart) == QString() );
-
- profileModel->setReminderTone( EPRofileWrapperEnd, QString() );
-// QVERIFY( profileModel->reminderTone(EPRofileWrapperEnd) == QString() );
-
- profileModel->setReminderTone( -100, ringTonePath1 );
-// QVERIFY( profileModel->reminderTone(-100) == QString() );
-
- profileModel->setReminderTone( 100, QString() );
-// QVERIFY( profileModel->reminderTone(100) == QString() );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: QString notificationTone(int profileId) const; \n
- 2. Case Descrition: Verify that it can return the right notification tone when using valid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWrapperGeneralId, isActive = true \n
- <2> profileId = EProfileWrapperMeetingId, isActive = false \n
- 4. Expected result: \n
- <1> profileModel->notificationTone(EProfileWrapperGeneralId) == true \n
- <2> profileModel->notificationTone(EProfileWrapperMeetingId) == false \n
- */
-void TestCpProfileModel::testNotificationToneWithValidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setNotificationTone( EProfileWrapperGeneralId, true );
- QVERIFY( profileModel->notificationTone(EProfileWrapperGeneralId) == true );
-
- profileModel->setNotificationTone( EProfileWrapperMeetingId, false );
- QVERIFY( profileModel->notificationTone(EProfileWrapperMeetingId) == false );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: QString notificationTone(int profileId) const; \n
- 2. Case Descrition: Verify that it does not crash when using invalid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWapperStart,\n
- <2> profileId = EPRofileWrapperEnd,\n
- <3> profileId = -9,\n
- <4> profileId = 59,\n
- 4. Expected result: \n
- <1> no crash and return QString() \n
- <2> no crash and return QString() \n
- <3> no crash and return QString() \n
- <4> no crash and return QString() \n
- */
-void TestCpProfileModel::testNotificationToneWithInvalidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- QVERIFY( profileModel->notificationTone( EProfileWapperStart ) == false );
- QVERIFY( profileModel->notificationTone( EPRofileWrapperEnd ) == false );
- QVERIFY( profileModel->notificationTone( -9 ) == false );
- QVERIFY( profileModel->notificationTone( 59 ) == false );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: void setNotificationTone(int profileId, const QString& filePath); \n
- 2. Case Descrition: Verify that it can set the notification tone successfully with valid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWrapperGeneralId, isActive = true \n
- <2> profileId = EProfileWrapperMeetingId, isActive = false \n
- 4. Expected result: \n \n
- <1> profileModel->notificationTone(EProfileWrapperGeneralId) == true \n
- <2> profileModel->notificationTone(EProfileWrapperMeetingId) == false \n
- */
-void TestCpProfileModel::testSetNotificationTone()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setNotificationTone( EProfileWrapperGeneralId, true );
- QVERIFY( profileModel->notificationTone(EProfileWrapperGeneralId) == true );
-
- profileModel->setNotificationTone( EProfileWrapperGeneralId, false );
- QVERIFY( profileModel->notificationTone(EProfileWrapperGeneralId) == false );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: \n
- void setKeyTouchScreenTone(int profileId, int level);\n
- 2. Case Descrition: Verify that the tone of the valid profile can be set with valid level value. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWrapperGeneralId, level = int X (X = 0,1,2,3,4,5); \n
- <2> profileId = EProfileWrapperMeetingId, level = int X; \n
- 4. Expected result: \n
- <1> profileModel->keyTouchScreenTone(EProfileWrapperGeneralId) == X. \n
- <2> profileModel->keyTouchScreenTone(EProfileWrapperMeetingId) == X. \n
- */
-void TestCpProfileModel::testSetKeyTouchScreenToneWithValidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- int i = 0;
- for ( ; i <= 5; i++ ) {
- profileModel->setKeyTouchScreenTone( EProfileWrapperGeneralId, i );
- QVERIFY( profileModel->keyTouchScreenTone( EProfileWrapperGeneralId ) == i );
-
- profileModel->setKeyTouchScreenTone( EProfileWrapperMeetingId, i );
- QVERIFY( profileModel->keyTouchScreenTone( EProfileWrapperMeetingId ) == i );
- }
-
- profileModel->setKeyTouchScreenTone( EProfileWrapperGeneralId, 12 );
- int b = profileModel->keyTouchScreenTone( EProfileWrapperGeneralId );
-
- profileModel->setKeyTouchScreenTone( EProfileWrapperMeetingId, -12 );
- int c = profileModel->keyTouchScreenTone( EProfileWrapperMeetingId );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: \n
- void setKeyTouchScreenTone(int profileId, int level);\n
- 2. Case Descrition: Verify that it does not crash with invalid level value. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWapperStart, level = int X \n
- <2> profileId = EPRofileWrapperEnd, level = int X \n
- <3> profileId = -8, level = int X \n
- <4> profileId = 99, level = int X \n
- 4. Expected result: \n
- <1> no crash \n
- <2> no crash \n
- <3> no crash \n
- <4> no crash \n
- */
-void TestCpProfileModel::testSetKeyTouchScreenToneWithInvalidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setKeyTouchScreenTone( EProfileWapperStart, 4 );
-
- profileModel->setKeyTouchScreenTone( EPRofileWrapperEnd, 2 );
-
- profileModel->setKeyTouchScreenTone( -8, 4 );
-
- profileModel->setKeyTouchScreenTone( 99, 3 );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: \n
- int keyTouchScreenTone(int profileId) const; \n
- 2. Case Descrition: Verify that the tone can be get with valid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWrapperGeneralId \n
- <2> profileId = EProfileWrapperMeetingId \n
- 4. Expected result: \n
- <1> return the right tone level. \n
- <2> return the right tone level. \n
- */
-void TestCpProfileModel::testKeyTouchScreenToneWithValidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setKeyTouchScreenTone( EProfileWrapperGeneralId, 4 );
- QVERIFY( profileModel->keyTouchScreenTone( EProfileWrapperGeneralId ) == 4);
-
- profileModel->setKeyTouchScreenTone( EProfileWrapperMeetingId, 5 );
- QVERIFY( profileModel->keyTouchScreenTone( EProfileWrapperMeetingId ) == 5);
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: \n
- int keyTouchScreenTone(int profileId) const; \n
- 2. Case Descrition: Verify that it does not crash when using invalid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWapperStart,\n
- <2> profileId = EPRofileWrapperEnd,\n
- <3> profileId = -9,\n
- <4> profileId = 100,\n
- 4. Expected result: \n
- <1> no crash and return 0 \n
- <2> no crash and return 0 \n
- <3> no crash and return 0 \n
- <4> no crash and return 0 \n
- */
-void TestCpProfileModel::testKeyTouchScreenToneWithInvalidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- QVERIFY( profileModel->keyTouchScreenTone( EProfileWapperStart ) == 0);
- QVERIFY( profileModel->keyTouchScreenTone( EPRofileWrapperEnd ) == 0);
- QVERIFY( profileModel->keyTouchScreenTone( -9 ) == 0);
- QVERIFY( profileModel->keyTouchScreenTone( 100 ) == 0);
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: \n
- void setKeyTouchScreenVibra(int profileId, int level);\n
- 2. Case Descrition: Verify that the vibra mode of the valid profile can be set with valid level value. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWrapperGeneralId, level = int X (X = 0,1,2,3,4,5); \n
- <2> profileId = EProfileWrapperMeetingId, level = int X; \n
- 4. Expected result: \n
- <1> profileModel->keyTouchScreenVibra(EProfileWrapperGeneralId) == X. \n
- <2> profileModel->keyTouchScreenVibra(EProfileWrapperMeetingId) == X. \n
- */
-void TestCpProfileModel::testSetKeyTouchScreenVibraWithValidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- int i = 0;
- for ( ; i <= 5; i++ ) {
- profileModel->setKeyTouchScreenVibra( EProfileWrapperGeneralId, i );
- QVERIFY( profileModel->keyTouchScreenVibra( EProfileWrapperGeneralId ) == i );
-
- profileModel->setKeyTouchScreenVibra( EProfileWrapperMeetingId, i );
- QVERIFY( profileModel->keyTouchScreenVibra( EProfileWrapperMeetingId ) == i );
- }
-
- profileModel->setKeyTouchScreenVibra( EProfileWrapperGeneralId, 12 );
- int b = profileModel->keyTouchScreenVibra( EProfileWrapperGeneralId );
-
- profileModel->setKeyTouchScreenVibra( EProfileWrapperMeetingId, -12 );
- int c = profileModel->keyTouchScreenVibra( EProfileWrapperMeetingId );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: \n
- void setKeyTouchScreenVibra(int profileId, int level);\n
- 2. Case Descrition: Verify that it does not crash with the invalid level value. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWapperStart, level = int X \n
- <2> profileId = EPRofileWrapperEnd, level = int X \n
- <3> profileId = -8, level = int X \n
- <4> profileId = 99, level = int X \n
- 4. Expected result: \n
- <1> no crash \n
- <2> no crash \n
- <3> no crash \n
- <4> no crash \n
- */
-void TestCpProfileModel::testSetKeyTouchScreenVibraWithInvalidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setKeyTouchScreenVibra( EProfileWapperStart, 4 );
-
- profileModel->setKeyTouchScreenVibra( EPRofileWrapperEnd, 2 );
-
- profileModel->setKeyTouchScreenVibra( -8, 4 );
-
- profileModel->setKeyTouchScreenVibra( 99, 3 );
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: \n
- int keyTouchScreenVibra(int profileId) const; \n
- 2. Case Descrition: Verify that the vibra value can be get with valid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWrapperGeneralId \n
- <2> profileId = EProfileWrapperMeetingId \n
- 4. Expected result: \n
- <1> return the right key touch screen vibra's value. \n
- <2> return the right key touch screen vibra's value. \n
- */
-void TestCpProfileModel::testKeyTouchScreenVibraWithValidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- profileModel->setKeyTouchScreenVibra( EProfileWrapperGeneralId, 4 );
- QVERIFY( profileModel->keyTouchScreenVibra( EProfileWrapperGeneralId ) == 4);
-
- profileModel->setKeyTouchScreenVibra( EProfileWrapperMeetingId, 5 );
- QVERIFY( profileModel->keyTouchScreenVibra( EProfileWrapperMeetingId ) == 5);
-
- delete profileModel;
-}
-
-/*!
- Test Case Description:\n
- 1. Fucntion Name: \n
- int keyTouchScreenVibra(int profileId) const; \n
- 2. Case Descrition: Verify that it does not crash when using invalid profile ID. \n
- 3. Input Parameters: \n
- <1> profileId = EProfileWapperStart,\n
- <2> profileId = EPRofileWrapperEnd,\n
- <3> profileId = -9,\n
- <4> profileId = 100,\n
- 4. Expected result: \n
- <1> no crash and return 0 \n
- <2> no crash and return 0 \n
- <3> no crash and return 0 \n
- <4> no crash and return 0 \n
- */
-void TestCpProfileModel::testKeyTouchScreenVibraWithInvalidID()
-{
- CpProfileModel *profileModel = new CpProfileModel();
-
- QVERIFY( profileModel->keyTouchScreenVibra( EProfileWapperStart ) == 0);
- QVERIFY( profileModel->keyTouchScreenVibra( EPRofileWrapperEnd ) == 0);
- QVERIFY( profileModel->keyTouchScreenVibra( -9 ) == 0);
- QVERIFY( profileModel->keyTouchScreenVibra( 100 ) == 0);
-
- delete profileModel;
-}
-
-/*!
- Descrition of what you will do in this function
- */
-void TestCpProfileModel::cleanupTestCase()
-{
- // release all test data
- QCoreApplication::processEvents();
-}
-
-QTEST_MAIN(TestCpProfileModel)
--- a/controlpanelui/src/cpprofilewrapper/tsrc/ut_cpprofilemodel/src/ut_cpprofilemodel.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* test the functions in cppluginconfigreader class
-*/
-
-#ifndef UT_CPPROFILEMODEL_H_
-#define UT_CPPROFILEMODEL_H_
-
-class CpPluginConfig;
-#include <QObject>
-
-class TestCpProfileModel :public QObject
-{
- Q_OBJECT
-private slots:
- // init function
- void initTestCase();
-
- void testConstructor(); // test the constructor.
-
- void testProfileNameWithValidProfileID(); // test the profileName() function with valid profile ID.
- void testProfileNameWithInvalidProfileID(); // test the profileName() function with invalid profile ID.
- void testProfileNames(); // test the profileNames() function.
-
- void testActivateProfileWithInvalidID(); //test the activateProfile() function with invalid profile ID.
- void testActivateProfileWithValidID(); // test the activateProfile() function with valid profile ID.
- void testActiveProfileId(); // test the activeProfileId() function.
-
- void testProfileSettings(); // test the profileSettings() function.
- void testSetProfileSettings(); // test the setProfileSettings() function.
-
- void testRingToneOfActive(); // test the ringTone() function.
- void testSetRingToneAllWithValidPath(); // test the setRingTone() function with valid sound path.
- void testSetRingToneAllWithInvalidPath(); // test the setRingTone() function with invalid sound path.
-
- void testSetMasterWithValidVolume(); // test the setMasterVolume() function with valid volume value.
- void testSetMasterWithInvalidVolume(); // test the setMasterVolume() function with invalid volume value.
- void testMasterVolume(); // test the masterVolume() function.
-
- void testSetMasterVibra(); // test the setMasterVibra() functions.
- void testMasterVibra(); // test the masterVibra() functions.
-
- void testSetSilenceMode(); // test the setSilenceMode() functions.
- void testSilenceMode(); // test the silenceMode() functions.
-
- void testRingToneWithValidID(); // test the ringTone(int profileId) function with valid profile ID.
- void testRingToneWithInvalidID(); // test the ringTone(int profileId) function with invalid profile ID.
- void testSetRingToneWithValidID(); // test the setRingTone(int profileId, const QString& filePath) function with valid profile ID.
- void testSetRingToneWithInvalidID(); // test the setRingTone(int profileId, const QString& filePath) function with invalid profile ID.
-
- void testMessageToneWithValidID(); // test MessageTone() function with valid profile ID.
- void testMessageToneWithInvalidID(); // test MessageTone() function with valid profile ID.
- void testSetMessageToneWithValidID(); // test the setMessageTone() function with valid profile ID.
- void testSetMessageToneWithInvalidID(); // test the setMessageTone() function with invalid profile ID.
-
- void testEmailToneWithValidID(); // test emailTone() function with valid profile ID.
- void testEmailToneWithInvalidID(); // test emailTone() function with valid profile ID.
- void testSetEmailToneWithValidID(); // test the setEmailTone() function with valid profile ID.
- void testSetEmailToneWithInvalidID(); // test the setEmailTone() function with invalid profile ID.
-
- void testReminderToneWithValidID(); // test reminderTone() function with valid profile ID.
- void testReminderToneWithInvalidID(); // test reminderTone() function with valid profile ID.
- void testSetReminderToneWithValidID(); // test the setReminderTone() function with valid profile ID.
- void testSetReminderToneWithInvalidID(); // test the setReminderTone() function with invalid profile ID.
-
- void testNotificationToneWithValidID(); // test notificationTone() function with valid profile ID.
- void testNotificationToneWithInvalidID(); // test notificationTone() function with valid profile ID.
- void testSetNotificationTone(); // test the setNotificationTone() function with valid profile ID.
-
- void testSetKeyTouchScreenToneWithValidID(); // test the setKeyTouchScreenTone()function with valid profile ID.
- void testSetKeyTouchScreenToneWithInvalidID(); // test the setKeyTouchScreenTone()function with invalid profile ID.
- void testKeyTouchScreenToneWithValidID(); // test the keyTouchScreenTone()function with valid profile ID.
- void testKeyTouchScreenToneWithInvalidID(); // test the keyTouchScreenTone()function with invalid profile ID.
-
- void testSetKeyTouchScreenVibraWithValidID(); // test the setKeyTouchScreenVibra()function with valid profile ID.
- void testSetKeyTouchScreenVibraWithInvalidID(); // test the setKeyTouchScreenVibra()function with invalid profile ID.
- void testKeyTouchScreenVibraWithValidID(); // test the keyTouchScreenVibra()function with valid profile ID.
- void testKeyTouchScreenVibraWithInvalidID(); // test the keyTouchScreenVibra()function with invalid profile ID.
-
- void cleanupTestCase();
-private:
- QString ringTonePath1;
- QString ringTonePath2;
-};
-#endif /* UT_CPPROFILEMODEL_H_ */
--- a/controlpanelui/src/cpprofilewrapper/tsrc/ut_cpprofilemodel/ut_cpprofilemodel.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = app
-TARGET = ut_cpprofilemodel
-
-QT += testlib
-CONFIG += hb qtestlib
-CONFIG += symbian_test
-
-include (../unit_common.pri)
-
-HEADERS += src/*.h
-SOURCES += src/*.cpp
-
-QMAKE_EXTRA_TARGETS += test autotest
-
-DEPENDPATH += .
-
-INCLUDEPATH += . ../../src\
- ../../../inc
-
-LIBS += -lcpframework
-LIBS += -lcpprofilewrapper \
- -lprofileeng \
- -lcentralrepository \
- -lcharconv
-symbian {
- deploy.path = C:
- soundfiles.sources += data/testsound.aac \
- data/testsound2.aac
- soundfiles.path = /resource/cptestdata/sounds
- DEPLOYMENT += soundfiles
-
- # This is for new exporting system coming in garden
- for(soundfile, soundfiles.sources):BLD_INF_RULES.prj_exports += "./$$soundfile $$deploy.path$$soundfiles.path/$$basename(soundfile)"
-}
\ No newline at end of file
--- a/controlpanelui/src/cpringtoneview/bwins/cpringtoneviewu.def Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-EXPORTS
- ?tr@CpRingToneView@@SA?AVQString@@PBD0@Z @ 1 NONAME ; class QString CpRingToneView::tr(char const *, char const *)
- ?selOK@CpRingToneView@@IAEXABVQString@@@Z @ 2 NONAME ; void CpRingToneView::selOK(class QString const &)
- ??1CpRingToneView@@UAE@XZ @ 3 NONAME ; CpRingToneView::~CpRingToneView(void)
- ?getStaticMetaObject@CpRingToneView@@SAABUQMetaObject@@XZ @ 4 NONAME ; struct QMetaObject const & CpRingToneView::getStaticMetaObject(void)
- ?handleError@CpRingToneView@@AAEXHABVQString@@@Z @ 5 NONAME ; void CpRingToneView::handleError(int, class QString const &)
- ?launchMediaFetcher@CpRingToneView@@AAEXABVQString@@0@Z @ 6 NONAME ; void CpRingToneView::launchMediaFetcher(class QString const &, class QString const &)
- ?selError@CpRingToneView@@IAEXHABVQString@@@Z @ 7 NONAME ; void CpRingToneView::selError(int, class QString const &)
- ?trUtf8@CpRingToneView@@SA?AVQString@@PBD0H@Z @ 8 NONAME ; class QString CpRingToneView::trUtf8(char const *, char const *, int)
- ?qt_metacall@CpRingToneView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9 NONAME ; int CpRingToneView::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?staticMetaObject@CpRingToneView@@2UQMetaObject@@B @ 10 NONAME ; struct QMetaObject const CpRingToneView::staticMetaObject
- ?metaObject@CpRingToneView@@UBEPBUQMetaObject@@XZ @ 11 NONAME ; struct QMetaObject const * CpRingToneView::metaObject(void) const
- ?tr@CpRingToneView@@SA?AVQString@@PBD0H@Z @ 12 NONAME ; class QString CpRingToneView::tr(char const *, char const *, int)
- ??0CpRingToneView@@QAE@PAVQGraphicsItem@@@Z @ 13 NONAME ; CpRingToneView::CpRingToneView(class QGraphicsItem *)
- ?itemActivated@CpRingToneView@@AAEXABVQModelIndex@@@Z @ 14 NONAME ; void CpRingToneView::itemActivated(class QModelIndex const &)
- ??_ECpRingToneView@@UAE@I@Z @ 15 NONAME ; CpRingToneView::~CpRingToneView(unsigned int)
- ?trUtf8@CpRingToneView@@SA?AVQString@@PBD0@Z @ 16 NONAME ; class QString CpRingToneView::trUtf8(char const *, char const *)
- ?handleOk@CpRingToneView@@AAEXABVQVariant@@@Z @ 17 NONAME ; void CpRingToneView::handleOk(class QVariant const &)
- ?qt_metacast@CpRingToneView@@UAEPAXPBD@Z @ 18 NONAME ; void * CpRingToneView::qt_metacast(char const *)
-
--- a/controlpanelui/src/cpringtoneview/cpringtoneview.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: display plugin source files
-#
-include (../common.pri)
-include (ringtoneview.pri)
-TARGET = cpringtoneview
-TEMPLATE = lib
-
-CONFIG += hb
-DEFINES += CPRINGTONEVIEW_LIBRARY
-symbian {
- LIBS += -lcpprofilewrapper -lcplogger -lcpframework -lxqservice -lxqserviceutil
- TARGET.UID3 = 0X2002873A
- TARGET.CAPABILITY = All -TCB
- TARGET.EPOCALLOWDLLDATA = 1
-}
--- a/controlpanelui/src/cpringtoneview/eabi/cpringtoneviewu.def Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-EXPORTS
- _ZN14CpRingToneView11handleErrorEiRK7QString @ 1 NONAME
- _ZN14CpRingToneView11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
- _ZN14CpRingToneView11qt_metacastEPKc @ 3 NONAME
- _ZN14CpRingToneView13itemActivatedERK11QModelIndex @ 4 NONAME
- _ZN14CpRingToneView16staticMetaObjectE @ 5 NONAME DATA 16
- _ZN14CpRingToneView18launchMediaFetcherERK7QStringS2_ @ 6 NONAME
- _ZN14CpRingToneView19getStaticMetaObjectEv @ 7 NONAME
- _ZN14CpRingToneView5selOKERK7QString @ 8 NONAME
- _ZN14CpRingToneView8handleOkERK8QVariant @ 9 NONAME
- _ZN14CpRingToneView8selErrorEiRK7QString @ 10 NONAME
- _ZN14CpRingToneViewC1EP13QGraphicsItem @ 11 NONAME
- _ZN14CpRingToneViewC2EP13QGraphicsItem @ 12 NONAME
- _ZN14CpRingToneViewD0Ev @ 13 NONAME
- _ZN14CpRingToneViewD1Ev @ 14 NONAME
- _ZN14CpRingToneViewD2Ev @ 15 NONAME
- _ZNK14CpRingToneView10metaObjectEv @ 16 NONAME
- _ZTI14CpRingToneView @ 17 NONAME
- _ZTV14CpRingToneView @ 18 NONAME
- _ZThn16_N14CpRingToneViewD0Ev @ 19 NONAME
- _ZThn16_N14CpRingToneViewD1Ev @ 20 NONAME
- _ZThn8_N14CpRingToneViewD0Ev @ 21 NONAME
- _ZThn8_N14CpRingToneViewD1Ev @ 22 NONAME
-
--- a/controlpanelui/src/cpringtoneview/ringtoneview.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: display plugin source files
-#
-
-# Input
-HEADERS += ../inc/cpringtoneview.h
-
-SOURCES += src/cpringtoneview.cpp
--- a/controlpanelui/src/cpringtoneview/src/cpringtoneview.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#include "cpringtoneview.h"
-#include <HbListWidget>
-#include <QGraphicsLinearLayout>
-#include <HbLabel>
-#include <QList>
-#include <QPair>
-#include <QModelIndex>
-#include <QStandardItemModel>
-#include <QStandardItem>
-#include <xqaiwrequest.h>
-#include <cplogger.h>
-#include <hbstyleloader.h>
-#include <hbdataformmodel.h>
-#include <hbdataformmodelitem.h>
-#include <hbdataform.h>
-#include <cpsettingformentryitemdata.h>
-
-CpRingToneView::CpRingToneView( QGraphicsItem *parent ):
- CpBaseSettingView(0, parent),
- mToneTypeList( new HbListWidget(this) ),
- mReq(0), mProcessing(false)
-{
- HbStyleLoader::registerFilePath(":/widgetml/cpdataformlistentryviewitem.css");
- HbStyleLoader::registerFilePath(":/widgetml/cpdataformlistentryviewitem_color.css");
- HbStyleLoader::registerFilePath(":/widgetml/cpdataformlistentryviewitem.widgetml");
-
- HbDataForm *form = qobject_cast<HbDataForm*> ( widget() );
- form->setHeading(hbTrId("txt_cp_subhead_select_tone_type"));
-
- HbDataFormModel *model = new HbDataFormModel();
- QList< QPair<QString,QString> > tonesTypeList;
- tonesTypeList << qMakePair( QString("qtg_large_tone_off"), hbTrId("txt_cp_list_no_tone") )
- << qMakePair( QString("qtg_large_tone"), hbTrId("txt_cp_list_tone") )
- << qMakePair( QString("qtg_large_music"), hbTrId("txt_cp_list_music") )
- << qMakePair( QString("qtg_large_ovistore"), hbTrId("txt_cp_list_get_more_tones") );
-
- for (int i = 0; i < tonesTypeList.count(); ++i) {
- HbDataFormModelItem *itemData = new HbDataFormModelItem();
- itemData->setType ( static_cast<HbDataFormModelItem::DataItemType> (CpSettingFormEntryItemData::ListEntryItem) );
- itemData->setLabel(tonesTypeList.at(i).second);
- itemData->setIcon(tonesTypeList.at(i).first);
- model->appendDataFormItem(itemData, model->invisibleRootItem());
- }
- connect(form, SIGNAL(activated(QModelIndex)), this, SLOT(itemActivated(QModelIndex)));
- form->setModel(model);
-}
-CpRingToneView::~CpRingToneView()
-{
- if (mReq) {
- delete mReq;
- }
-}
-
-void CpRingToneView::itemActivated( const QModelIndex &index )
-{
- //avoid responding to the second or later consecutive click
- if (mProcessing) {
- return;
- }
- mProcessing = true;
- int nRow = index.row();
-
- switch(nRow) {
- case 0: //no tone, set default no sound
- emit selOK(QString(""));
- emit aboutToClose();
- break;
- case 1: //tone
- launchMediaFetcher( "com.nokia.symbian.IToneFetch", "fetch()" );
- break;
- case 2: //music
- launchMediaFetcher("com.nokia.symbian.IMusicFetch", "fetch()" );
- break;
- case 3: //get more tones
- default:
- break;
- }
-}
-void CpRingToneView::handleOk(const QVariant &result)
-{
- mProcessing = false;
- CPFW_LOG( "CpRingToneView::handleOk" );
- if (!result.canConvert<QString>() || result.toString().length() == 0 ) //error result
- {
- return;
- }
- hide();
- emit selOK( result.value<QString>() );
- emit aboutToClose();
-}
-
-
-void CpRingToneView::handleError(int errorCode, const QString& errorMessage)
-{
- mProcessing = false;
- emit(selError( errorCode, errorMessage ));
-}
-
-void CpRingToneView::launchMediaFetcher( const QString &strService, const QString &strItface )
-{
- CPFW_LOG("CpRingToneView::launchMediaFetcher, START");
- if(mReq)
- {
- delete mReq;
- mReq = 0;
- }
- //launch media fetcher
- mReq = mAppMgr.create(strService, strItface, true);
- mReq->setSynchronous(false);
- if (!mReq)
- {
- CPFW_LOG("CpRingToneView::launchMediaFetcher, Mediafetcher start failed");
- return;
- }
- else
- { //use QueuedConnection so that requestError will not be emitted when selecting one tone
- connect(mReq, SIGNAL(requestOk(QVariant)), SLOT( handleOk(QVariant)), Qt::QueuedConnection);
- connect(mReq, SIGNAL(requestError(int, QString)), SLOT(handleError(int, QString)));
- }
-
- QList<QVariant> args;
- args << QVariant(QString("<app_name>"));
- mReq->setArguments(args);
- // Make the request
- if (!mReq->send())
- {
- CPFW_LOG("CpRingToneView::launchMediaFetcher, Mediafetcher calling failed");
- }
- CPFW_LOG("CpRingToneView::launchMediaFetcher, END");
-}
-
--- a/controlpanelui/src/cpserviceprovider/cpserviceprovider.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: cpserviceprovider project - included files
-#
-
-HEADERS += src/cpservicemainwindow.h \
- src/cplauncherservice.h
-
-SOURCES += src/cpservicemainwindow.cpp \
- src/cplauncherservice.cpp \
- src/main.cpp
\ No newline at end of file
--- a/controlpanelui/src/cpserviceprovider/cpserviceprovider.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: cpserviceprovider project - qmake settings
-#
-
-TEMPLATE = app
-TARGET = cpserviceprovider
-
-CONFIG += hb service
-symbian:TARGET.UID3 = 0x2002873F
-
-include( ../common.pri )
-include( cpserviceprovider.pri )
-
-# DEFINES += ENABLE_CPSP_LOG
-RESOURCES += cpserviceprovider.qrc
-
-LIBS += -lxqservice -lxqserviceutil -lcplogger -lcpframework
-
-SERVICE.FILE = service_conf.xml
-SERVICE.OPTIONS = embeddable
-SERVICE.OPTIONS += hidden
--- a/controlpanelui/src/cpserviceprovider/cpserviceprovider.qrc Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<RCC>
- <qresource prefix="/logconf" >
- <file alias="cpserviceproviderlog.conf">data/cpserviceproviderlog.conf</file>
- </qresource>
-</RCC>
\ No newline at end of file
--- a/controlpanelui/src/cpserviceprovider/data/cpserviceproviderlog.conf Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-[CpServiceProvider]
-logdatetime = 1
-logloggername = 1
-datetimeformat = hh:mm:ss
-output = debugoutput fileoutput
-fileoutput/logfile = C:/data/logs/cpserviceprovider.log
-fileoutput/truncate = 1
--- a/controlpanelui/src/cpserviceprovider/service_conf.xml Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<service>
- <name>cpserviceprovider</name>
- <filepath>="must-not-be-empty"</filepath>
- <description>ControlPanel service</description>
- <interface>
- <name>com.nokia.symbian.ICpPluginLauncher</name>
- <version>1.0</version>
- <description>Launch a setting view which comes from a controlpanel plugin</description>
- </interface>
-</service>
\ No newline at end of file
--- a/controlpanelui/src/cpserviceprovider/src/cplauncherservice.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "cplauncherservice.h"
-#include <QCoreApplication>
-#include <cpservicemainwindow.h>
-#include <cplauncherinterface.h>
-#include <cppluginloader.h>
-#include <cpbasesettingview.h>
-#include "cpsplogger.h"
-
-CpLauncherService::CpLauncherService(HbMainWindow *mainWindow /* = 0*/)
-: XQServiceProvider("cpserviceprovider.com.nokia.symbian.ICpPluginLauncher",mainWindow),
- mMainWindow(mainWindow),
- mAsyncRequestIndex(-1),
- mReturnValue(false)
-{
- CPSP_LOG_FUNC_ENTRY("CpLauncherService::CpLauncherService")
-
- publishAll();
- connect(this,SIGNAL(clientDisconnected()),this,SLOT(handleClientDisconnected()));
-}
-
-CpLauncherService::~CpLauncherService()
-{
- CPSP_LOG_FUNC_ENTRY("CpLauncherService::~CpLauncherService")
-}
-
-bool CpLauncherService::complete()
-{
- CPSP_LOG_FUNC_ENTRY("CpLauncherService::complete")
-
- CPSP_LOG( QString("CpLauncherService::complete() mAsyncRequestIndex = %1, mReturnValue = %2").arg(
- mAsyncRequestIndex).arg(mReturnValue.toBool()) )
-
- bool ret = completeRequest(mAsyncRequestIndex, mReturnValue);
- mAsyncRequestIndex = -1;
- return ret;
-}
-
-void CpLauncherService::setReturnValue(const QVariant &returnValue)
-{
- CPSP_LOG_FUNC_ENTRY("CpLauncherService::setReturnValue")
-
- mReturnValue = returnValue;
-}
-
-bool CpLauncherService::launchSettingView(const QString &pluginFile,const QVariant &hint)
-{
- CPSP_LOG_FUNC_ENTRY("CpLauncherService::launchSettingView");
-
- mAsyncRequestIndex = setCurrentRequestAsync();
-
- bool succeed = false;
-
- if (mMainWindow) {
- mMainWindow->show();
- CpLauncherInterface *plugin = CpPluginLoader::loadCpLauncherInterface(pluginFile);
- if (plugin) {
- CpBaseSettingView *settingView = plugin->createSettingView(hint);
- if (settingView) {
- connect(settingView, SIGNAL(returnValueDelivered(QVariant)),this,SLOT(setReturnValue(QVariant)));
- (static_cast<CpServiceMainWindow*>(mMainWindow))->setSettingView(settingView);
- succeed = true;
- }
- else {
- CPSP_LOG("Create setting view failed.");
- }
- }
- else {
- CPSP_LOG(QLatin1String("Load plugin interface(CpLauncherInterface) failed: ") + pluginFile);
- }
-
- if (!succeed) {
- qApp->quit(); //quit application if loading plugin failed or creating setting view failed.
- }
- }
-
- return succeed;
-}
-
-void CpLauncherService::handleClientDisconnected()
-{
- CPSP_LOG_FUNC_ENTRY("CpLauncherService::handleClientDisconnected")
-
- qApp->quit();
-}
-
-//End of File
--- a/controlpanelui/src/cpserviceprovider/src/cplauncherservice.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef CPLAUNCHERSERVICE_H
-#define CPLAUNCHERSERVICE_H
-
-#include <xqserviceprovider.h>
-
-class HbMainWindow;
-
-class CpLauncherService : public XQServiceProvider
-{
- Q_OBJECT
-public:
- explicit CpLauncherService(HbMainWindow *mainWindow = 0);
- virtual ~CpLauncherService();
- bool complete();
-public slots:
- bool launchSettingView(const QString &pluginFile,const QVariant &hint);
-private slots:
- void setReturnValue(const QVariant &returnValue);
- void handleClientDisconnected();
-private:
- HbMainWindow *mMainWindow;
- int mAsyncRequestIndex;
- QVariant mReturnValue;
-};
-
-#endif //CPLAUNCHERSERVICE_H
-
-//End of File
--- a/controlpanelui/src/cpserviceprovider/src/cpservicemainwindow.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "cpservicemainwindow.h"
-#include <QCoreApplication>
-#include <cpbasesettingview.h>
-#include "cplauncherservice.h"
-#include "cpsplogger.h"
-
-CpServiceMainWindow::CpServiceMainWindow(QWidget *parent /* = 0*/)
-: HbMainWindow(parent), mLauncherService(0), mPreviousView(0)
-{
- CPSP_LOG_FUNC_ENTRY("CpServiceMainWindow::CpServiceMainWindow")
-
- mLauncherService = new CpLauncherService(this);
-}
-
-CpServiceMainWindow::~CpServiceMainWindow()
-{
- CPSP_LOG_FUNC_ENTRY("CpServiceMainWindow::~CpServiceMainWindow")
-}
-
-void CpServiceMainWindow::setSettingView(CpBaseSettingView *settingView)
-{
- CPSP_LOG_FUNC_ENTRY("CpServiceMainWindow::setSettingView")
-
- mSettingViewPointer = settingView;
-
- mPreviousView = currentView();
-
- connect(settingView, SIGNAL(aboutToClose()), this, SLOT(quit()));
- addView(settingView);
- setCurrentView(settingView);
-}
-
-void CpServiceMainWindow::quit()
-{
- CPSP_LOG_FUNC_ENTRY("CpServiceMainWindow::quit");
-
- closeSettingView();
-
- connect(mLauncherService, SIGNAL(returnValueDelivered()), qApp, SLOT(quit()));
- mLauncherService->complete();
-
- /*
- hide();
- mLauncherService->complete();
- if (mSettingViewPointer) {
- removeView(mSettingViewPointer);
- mSettingViewPointer->deleteLater();
- }
- */
-}
-
-void CpServiceMainWindow::closeSettingView()
-{
- CPSP_LOG_FUNC_ENTRY("CpServiceMainWindow::closeSettingView")
-
- if (mSettingViewPointer) {
- removeView(mSettingViewPointer);
- mSettingViewPointer->deleteLater();
- }
-
- setCurrentView(mPreviousView);
-}
-
-//End of File
--- a/controlpanelui/src/cpserviceprovider/src/cpservicemainwindow.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef CPSERVICEMAINWINDOW_H
-#define CPSERVICEMAINWINDOW_H
-
-#include <hbmainwindow.h>
-#include <QPointer>
-
-class CpLauncherService;
-class CpBaseSettingView;
-
-class CpServiceMainWindow : public HbMainWindow
-{
- Q_OBJECT
-public:
- explicit CpServiceMainWindow(QWidget *parent = 0);
- virtual ~CpServiceMainWindow();
-
- /*
- * set the setting view as current view
- */
- void setSettingView(CpBaseSettingView *settingView);
-
- /*
- * close current setting view
- */
- void closeSettingView();
-
-public slots:
- void quit();
-private:
- CpLauncherService *mLauncherService;
- HbView *mPreviousView;
- QPointer<CpBaseSettingView> mSettingViewPointer;
-};
-
-#endif // CPSERVICEMAINWINDOW_H
-
-//End of File
--- a/controlpanelui/src/cpserviceprovider/src/cpsplogger.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef CPSPLOGGER_H
-#define CPSPLOGGER_H
-
-#include <QLatin1String>
-#include <logger.h>
-
-#ifdef ENABLE_CPSP_LOG
- #define CPSP_LOGGER_NAME QLatin1String("CpServiceProvider")
- #define CPSP_LOGGER_CONFIG_PATH QLatin1String(":/logconf/cpserviceproviderlog.conf")
-
- #define CPSP_LOG(str) Logger::instance(CPSP_LOGGER_NAME)->log(str);
- #define CPSP_LOG_FUNC_ENTRY(func) LogFunctionEntryHelper ___cpsp_log_func_entry_helper(CPSP_LOGGER_NAME,func);
-#else
- #define CPSP_LOG(str)
- #define CPSP_LOG_FUNC_ENTRY(func)
-#endif
-
-
-#endif
--- a/controlpanelui/src/cpserviceprovider/src/main.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: main.cpp
-*
-*/
-#include <hbapplication.h>
-#include <hbstyleloader.h>
-#include <hbtranslator.h>
-#include <QLocale>
-#include "cpservicemainwindow.h"
-#include "cpsplogger.h"
-
-int main(int argc, char **argv)
-{
- HbApplication app(argc,argv );
-
-#ifdef ENABLE_CPSP_LOG
- INIT_LOGGER(CPSP_LOGGER_NAME,CPSP_LOGGER_CONFIG_PATH)
-#endif
-
- CPSP_LOG("Entering CpServiceProvider.exe...");
-
- HbTranslator translator("control_panel");
- translator.loadCommon();
-
- HbStyleLoader::registerFilePath(":/widgetml/cpdataformlistentryviewitem.css");
- HbStyleLoader::registerFilePath(":/widgetml/cpdataformlistentryviewitem_color.css");
- HbStyleLoader::registerFilePath(":/widgetml/cpdataformlistentryviewitem.widgetml");
-
- CpServiceMainWindow wnd;
- /*
- DON'T call wnd.show(),
- it will cause deadlock problem if cpserviceprovider is launched from an indicator plugin.
- */
-
- int ret = app.exec();
-
- CPSP_LOG("Exiting CpServiceProvider.exe.");
-
- return ret;
-}
-
-//End of File
--- a/controlpanelui/src/inc/cpcategoryglobal.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef CP_CATEGORY_GLOBAL_H
-#define CP_CATEGORY_GLOBAL_H
-
-#include <QtGlobal>
-
-#ifdef BUILD_CPCATEGORY_GLOBAL
- #define CP_CATEGORY_EXPORT Q_DECL_EXPORT
-#else
- #define CP_CATEGORY_EXPORT Q_DECL_IMPORT
-#endif
-
-#endif
--- a/controlpanelui/src/inc/cpcategorysettingformitemdata.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: An extension to CpSettingFormItemData, can be filled with model items comes from controlpanel plugins.
-*
-*/
-#ifndef CPCATEGORYSETTINGFORMITEMDATA_H
-#define CPCATEGORYSETTINGFORMITEMDATA_H
-
-#include <cpcategoryglobal.h>
-#include <cpsettingformitemdata.h>
-
-class CpCategorySettingFormItemDataPrivate;
-class CP_CATEGORY_EXPORT CpCategorySettingFormItemData : public CpSettingFormItemData
-{
- Q_OBJECT
-public:
- CpCategorySettingFormItemData(HbDataFormModelItem::DataItemType type,
- const QString &label,
- const QString &configFile,
- const HbDataFormModelItem *parent = 0);
-
- explicit CpCategorySettingFormItemData(const QString &configFile = QString(),
- const HbDataFormModelItem *parent = 0);
-
- virtual ~CpCategorySettingFormItemData();
-
- void initialize(CpItemDataHelper &itemDataHelper);
-private:
- virtual void beforeLoadingConfigPlugins(CpItemDataHelper &itemDataHelper);
- virtual void afterLoadingConfigPlugins(CpItemDataHelper &itemDataHelper);
-private:
- CpCategorySettingFormItemDataPrivate *d;
-};
-
-#endif
-
-//End of File
--- a/controlpanelui/src/inc/cpcategorysettingformmodel.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: An extension to HbDataFormModel, can be filled with model items comes from controlpanel plugins.
-*
-*/
-#ifndef CPCATEGORYSETTINGFORMMODEL_H
-#define CPCATEGORYSETTINGFORMMODEL_H
-
-#include <cpcategoryglobal.h>
-#include <hbdataformmodel.h>
-
-class CpItemDataHelper;
-class CpCategorySettingFormModelPrivate;
-
-class CP_CATEGORY_EXPORT CpCategorySettingFormModel : public HbDataFormModel
-{
- Q_OBJECT
-public:
- explicit CpCategorySettingFormModel(const QString &configFile);
- virtual ~CpCategorySettingFormModel();
- virtual void initialize(CpItemDataHelper &itemDataHelper);
-private:
- virtual void beforeLoadingConfigPlugins(CpItemDataHelper &itemDataHelper);
- virtual void afterLoadingConfigPlugins(CpItemDataHelper &itemDataHelper);
-private:
- CpCategorySettingFormModelPrivate *d;
-};
-
-#endif
-
-//End of File
-
--- a/controlpanelui/src/inc/cpevent.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef CPEVENT_H
-#define CPEVENT_H
-
-#include <cpcategoryglobal.h>
-#include <QString>
-#include <QEvent>
-
-class CpPluginInterface;
-class HbDataFormModelItem;
-class CpItemDataHelper;
-
-class CpCreatePluginItemDataEvent : public QEvent
-{
-public:
- enum { CreatePluginItemData = QEvent::User + 1 };
-
- CpCreatePluginItemDataEvent() :
- QEvent ( static_cast<QEvent::Type>(CreatePluginItemData) ),
- mPluginInterface(0),
- mParentItem(0),
- mItemDataHelper(0),
- mItemPosition(-1)
- {
- }
-
- CpPluginInterface *mPluginInterface;
-
- HbDataFormModelItem *mParentItem;
- int mItemPosition;
-
- CpItemDataHelper *mItemDataHelper;
-
- QString mDisplayName;
- QString mDescription;
- QString mPluginFile;
-};
-
-CP_CATEGORY_EXPORT int createCpPluginItemData(CpCreatePluginItemDataEvent *event);
-
-#endif //CPEVENT_H
-
-//End of File
-
--- a/controlpanelui/src/inc/cpprofilemodel.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef CPPROFILEMODEL_H
-#define CPPROFILEMODEL_H
-
-#include "cpprofilewrappermacro.h"
-#include <QtCore/qglobal.h>
-#include <QString>
-#include <QtCore/QObject>
-class CpProfileModelPrivate;
-
-/*!
- Profile id is defined in profile engine
- */
-enum ProfileWrapperProfileId
-{
- EProfileWapperStart = -1,
- EProfileWrapperGeneralId = 0,
- EProfileWrapperMeetingId = 2,
- EPRofileWrapperEnd
-};
-class CpProfileSettings
-{
-public:
- QString mRingTone;
- QString mMessageTone;
- QString mEmailTone;
- QString mReminderTone;
- bool mNotificationTone;
- int mKeyTouchScreenTone; // 0-5
-
- int mKeyTouchScreenVibra; //0-5
-};
-class PROFILE_WRAPPER_EXPORT CpProfileModel : QObject
-{
- Q_OBJECT
-public:
- CpProfileModel(QObject *parent = 0);
- ~CpProfileModel();
-
-public:
- QString profileName(int profileId)const;
- QStringList profileNames()const;
- int activateProfile(int profileId);
- int activeProfileId() const;
-
- void profileSettings(int profileId, CpProfileSettings& profileSettings);
- void setProfileSettings(int profileId, CpProfileSettings& profileSettings );
-
- QString ringTone() const;
- void setRingTone(const QString& filePath);
-
- int masterVolume() const;
- void setMasterVolume(int volume);
-
-
- bool masterVibra() const;
- void setMasterVibra(bool isVibra);
-
- bool silenceMode() const;
- void setSilenceMode(bool isSlience);
-
- /*!
- * For profile settings
- */
-
- QString ringTone(int profileId)const;
- void setRingTone(int profileId, const QString& filePath);
- QString messageTone(int profileId) const;
- void setMessageTone(int profileId, const QString& filePath);
- QString emailTone(int profileId) const;
- void setEmailTone(int profileId, const QString& filePath);
- QString reminderTone(int profileId) const;
- void setReminderTone(int profileId, const QString& filePath);
-
- bool notificationTone(int profileId) const;
- void setNotificationTone(int profileId, bool isActive);
-
- int keyTouchScreenTone(int profileId) const;
- void setKeyTouchScreenTone(int profileId, int level);
-
- int keyTouchScreenVibra(int profileId)const;
- void setKeyTouchScreenVibra(int profileId, int level);
-
-private:
- CpProfileModelPrivate *const d_ptr;
-
-private:
- Q_DISABLE_COPY(CpProfileModel)
- Q_DECLARE_PRIVATE_D(d_ptr,CpProfileModel)
-};
-
-#endif
--- a/controlpanelui/src/inc/cpprofilemonitor.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef CPPROFILEMONITOR_H
-#define CPPROFILEMONITOR_H
-
-#include <QObject>
-#include <cpprofilewrappermacro.h>
-
-class CpProfileMonitorPrivate;
-
-class PROFILE_WRAPPER_EXPORT CpProfileMonitor: public QObject
-{
- Q_OBJECT
-public:
- explicit CpProfileMonitor(QObject *parent = 0);
- ~CpProfileMonitor();
-signals:
- void profileActivated(int activeProfileId);
- void activeProfileModified(int activeProfileId);
-private:
- CpProfileMonitorPrivate *const d_ptr;
-
-private:
- Q_DISABLE_COPY(CpProfileMonitor)
- Q_DECLARE_PRIVATE_D(d_ptr,CpProfileMonitor)
-};
-
-#endif /* CPPROFILEMONITOR_H */
--- a/controlpanelui/src/inc/cpprofilewrappermacro.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef CP_PROFILEWRAPPER_MACRO_H
-#define CP_PROFILEWRAPPER_MACRO_H
-
-#include <QtGlobal>
-
-#ifdef PROFILEWRAPPER_FREEZE
- #define PROFILE_WRAPPER_EXPORT Q_DECL_EXPORT
-#else
- #define PROFILE_WRAPPER_EXPORT Q_DECL_IMPORT
-#endif
-
-#endif
--- a/controlpanelui/src/inc/cpringtoneview.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0""
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-#ifndef CPRINGTONEVIEW_H
-#define CPRINGTONEVIEW_H
-
-#include "ringtoneviewdef.h"
-#include <cpbasesettingview.h>
-#include <xqappmgr.h>
-
-class HbListWidget;
-class HbListWidgetItem;
-class XQAiwRequest;
-
-class CPRINGTONEVIEW_EXPORT CpRingToneView : public CpBaseSettingView
-{
- Q_OBJECT
-public:
- explicit CpRingToneView( QGraphicsItem *parent = 0 );
- ~CpRingToneView();
-signals:
- void selOK( const QString &strFname);
- void selError( int errorCode, const QString& errorMessage );
-
-private slots:
- void itemActivated( const QModelIndex &index );
- void handleOk(const QVariant &result);
- void handleError(int errorCode, const QString& errorMessage);
-
-private:
- HbListWidget* mToneTypeList;
- XQAiwRequest* mReq;
- XQApplicationManager mAppMgr;
- //used to mark if there is a request being processed
- bool mProcessing;
-
-private:
- void launchMediaFetcher( const QString &strService, const QString &strItface );
-};
-
-#endif // CPRINGTONEVIEW_H
--- a/controlpanelui/src/inc/cptaskexecutor.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef CPTASKEXECUTOR_H
-#define CPTASKEXECUTOR_H
-
-#include <cpcategoryglobal.h>
-#include <QThread>
-#include <QList>
-#include <QMutex>
-
-class CpTask
-{
-public:
- explicit CpTask(bool autoDelete = true)
- : mAutoDelete(autoDelete)
- {
- }
-
- virtual ~CpTask()
- {
- }
-
- bool autoDelete() const
- {
- return mAutoDelete;
- }
-
- virtual void execute(volatile bool *stopped)
- {
- Q_UNUSED(stopped);
- }
-
- virtual void complete(volatile bool *stopped)
- {
- Q_UNUSED(stopped);
- }
-
-private:
- bool mAutoDelete;
-};
-
-class CP_CATEGORY_EXPORT CpTaskExecutor : public QThread
-{
- Q_OBJECT
-public:
- explicit CpTaskExecutor(QObject *parent = 0);
-
- virtual ~CpTaskExecutor();
-
- /*
- return the gloabl instance
- */
- static CpTaskExecutor *globalInstance();
-
- /*
- destroy the global instance
- */
- static void destroyGlobalInstance();
-
- /*
- add the task to running queue
- @task the task
- @append ture -- append to tail false -- preappend to head
- */
-
- bool runTask(CpTask *task,bool append = false);
-
- /*
- stop the thread and remove all not running tasks
- */
- void stop();
-
- /*
- move a task to front of the queue
- */
- bool toFront(CpTask *task);
-
- /*
- move a task to front of the queue
- */
- template <typename Predicate> bool toFront(Predicate pred);
-
-protected:
- /*
- From QThread, run tasks
- */
- virtual void run();
-private:
- /*
- remove not running tasks
- */
- void removeTasks();
-private:
- QList<CpTask*> mTasks;
- QMutex mMutex;
- volatile bool mStopped;
-};
-
-
-template<typename Predicate>
-bool CpTaskExecutor::toFront(Predicate pred)
-{
- QMutexLocker locker(&mMutex);
-
- QList<CpTask*>::iterator workIterator = mTasks.begin();
- QList<CpTask*>::iterator endIterator(mTasks.end());
-
- for(;workIterator != endIterator;++workIterator)
- {
- if (pred(*workIterator)) {
- break;
- }
- }
-
- if (workIterator == endIterator) {
- return false;
- }
-
- CpTask *task = *workIterator;
- mTasks.erase(workIterator);
- mTasks.insert(0,task);
-
- return true;
-}
-
-#endif //CPTASKECECUTOR_H
-
-//End of File
--- a/controlpanelui/src/inc/cpuids.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* Contains all QT comtrol pannel related formal uids
-*
-*/
-#ifndef QCPUIDS_H
-#define QCPUIDS_H
-
-#define QUID_CONTROLPANNEL_UI 0X20025FD9
-#define QUID_CPFRAMEWORK_DLL 0X20025FDA
-#define QUID_CPPLUGIN_APPSETTINGS 0X20025FDC
-#define QUID_CPPLUGIN_PLACEHOLDER_NOICON 0X20025FDD
-#define QUID_CPPLUGIN_KEYTOUCH 0X20025FDE
-#define QUID_CPPLUGIN_COMMUNICATION 0X20025FDF
-#define QUID_CPPPLUGIN_LOOKFEEL 0X20025FE0
-#define QUID_CPPLUGIN_SAMPLEVIEW 0X20025FE2
-#define QUID_CPPLUGIN_SAMPLEGROUP 0X20025FE3
-#define QUID_CPPLUGIN_PRIVACY 0X20025FE1
-#define QUID_CPPLUGIN_THEME 0X20025FDB
-#define QUID_CPPLUGIN_TONES 0X20025FE4
-#define QUID_CPPLUGIN_PERSONALIZATION 0X20025FE5
-#define QUID_CPPROFILEENGWRAPPER 0X20025FE6
-#define QUID_CPPLUGIN_DEVICE 0X20025FE7
-#define QUID_CPPLUGIN_PLACEHOLDER 0X20025FE8
-
-#define QUID_CPPLUGIN_PINCODE 0X20028731
-#define QUID_CPPLUGIN_DEVICELOCK 0X20028732
-#define QUID_SECCODEUI 0X20028733
-#define QUID_LOGGER 0X20028734
-#define QUID_CPPLUGIN_DISPLAY 0X20028735
-
-
-#define QUID_CPCATEGORYMODEL_DLL 0X20028736
-#define QUID_CPVOLUME 0X20028737
-#define QUID_RINGTONE 0X20028738
-#define QUID_PROFILEACTIVATOR 0X20028739
-#define QUID_RINGTONESELVIEW 0X2002873A
-#define QUID_CPPLUGIN_ABOUT 0X2002873B
-#define QUID_CPPLUGIN_LANGUAGE 0X2002873C
-#define QUID_RESERVED10 0X2002873D
-#define QUID_RESERVED11 0X2002873E
-#define QUID_CPSERVICEPROVIDER 0X2002873F
-#define QUID_DE_GSPLUGIN 0X20028740 //reserved by 9.2
-
-#endif //QCPUIDS_H
--- a/controlpanelui/src/inc/inc.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-INTERNAL_HEADERS += $$PWD/cpcategorysettingformmodel.h \
- $$PWD/cpcategorysettingformitemdata.h \
- $$PWD/cpcategoryglobal.h \
- $$PWD/cptaskexecutor.h \
- $$PWD/cpevent.h
-
-HEADERS += $$INTERNAL_HEADERS
--- a/controlpanelui/src/inc/ringtoneviewdef.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef RINGTONEVIEWDEF_H
-#define RINGTONEVIEWDEF_H
-
-#include <QtGlobal>
-
-#ifdef CPRINGTONEVIEW_LIBRARY
-# define CPRINGTONEVIEW_EXPORT Q_DECL_EXPORT
-#else
-# define CPRINGTONEVIEW_EXPORT Q_DECL_IMPORT
-#endif
-
-#endif //RINGTONEVIEWDEF_H
--- a/controlpanelui/src/src.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = subdirs
-SUBDIRS = cpprofilewrapper cpcategorymodel cpringtoneview cpapplication cpserviceprovider tonefetcher cpplugins
-CONFIG += ordered
\ No newline at end of file
--- a/controlpanelui/src/tonefetcher/common.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-# Contributors:
-# Description: controlpanel project - common qmake settings
-CONFIG += debug_and_release
-
-# On win32 and mac, debug and release libraries are named differently.
-# We must follow the debug and release settings Qt was compiled with:
-# build debug iff Qt built debug, build release iff Qt built release.
-win32|mac:!contains(QT_CONFIG,debug)|!contains(QT_CONFIG,release) {
- CONFIG -= debug_and_release \
- debug \
- release
- contains(QT_CONFIG,debug):CONFIG += debug
- contains(QT_CONFIG,release):CONFIG += release
-}
-CONFIG(debug, debug|release):SUBDIRPART = debug
-else:SUBDIRPART = release
-
-# Add the output dirs to the link path too
-LIBS += -L$$DESTDIR
-MOC_DIR = moc
-OBJECT_DIR = obj
-RCC_DIR = rcc
-
-# For some reason the default include path doesn't include MOC_DIR on symbian
-symbian {
- INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
- INCLUDEPATH += $$MW_LAYER_PLATFORM_EXPORT_PATH(cplogger)
- INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
- INCLUDEPATH += $$MOC_DIR
- TARGET.CAPABILITY = ALL \
- -TCB
- TARGET.EPOCALLOWDLLDATA = 1
-}
-INCLUDEPATH += $$PWD/inc
-
--- a/controlpanelui/src/tonefetcher/inc/tonefetcherlog.conf Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-[ToneFetcher]
-logdatetime = 1
-logloggername = 1
-datetimeformat = hh:mm:ss:zzz
-output = debugoutput fileoutput
-fileoutput/logfile = C:/data/logs/tonefetcher.log
-fileoutput/truncate = 1
\ No newline at end of file
--- a/controlpanelui/src/tonefetcher/inc/tonefetcherlogger.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The header file for tone fetcher logger.
- *
- */
-
-#ifndef TONEFETCHERLOGGER_H
-#define TONEFETCHERLOGGER_H
-
-#include <QLatin1String>
-#include <logger.h>
-
-/*
- make LOG work
-*/
-
-//#define ENABLE_TONEFETCHER_LOG
-
-#define TONEFETCHER_LOGGER_NAME QLatin1String("ToneFetcher")
-
-#if defined (Q_OS_SYMBIAN)
- #define TF_LOGGER_CONFIG_PATH QLatin1String("C:/data/.config/tonefetcherlog.conf")
-#elif defined (Q_WS_WIN)
- #ifdef _DEBUG
- #define TF_LOGGER_CONFIG_PATH QLatin1String("C:/controlpanel/debug/bin/tonefetcherlog.conf")
- #else
- #define TF_LOGGER_CONFIG_PATH QLatin1String("C:/controlpanel/release/bin/tonefetcherlog.conf")
- #endif
-#endif
-
-#ifdef ENABLE_TONEFETCHER_LOG
- #define TF_LOG(str) Logger::instance(TONEFETCHER_LOGGER_NAME)->log(str);
-#else
- #define TF_LOG(str)
-#endif
-
-#endif /* TONEFETCHERLOGGER_H */
--- a/controlpanelui/src/tonefetcher/inc/tonefetcherutils.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The source file for tone fetcher utilities.
- *
- */
-
-#include "tonefetcherutils.h"
-#include <QDir>
-#include <QChar>
-
-QString ToneFetcherUtils::normalizeSeperator(const QString &path)
-{
- QString standardpath( path );
- QChar c('/');
- QChar c1('\\');
- if (standardpath.contains(c, Qt::CaseSensitive)) {
- standardpath.replace(c, QDir::separator());
- }
- if (standardpath.contains(c1, Qt::CaseSensitive)) {
- standardpath.replace(c1, QDir::separator());
- }
- return standardpath;
-}
--- a/controlpanelui/src/tonefetcher/inc/tonefetcherutils.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The header file for tone fetcher utilities.
- *
- */
-
-#ifndef TONEFETCHERUTILS_H
-#define TONEFETCHERUTILS_H
-
-#include <QString>
-
-class ToneFetcherUtils
-{
-public:
- //replace '/' and '\' with QDir::separator()
- static QString normalizeSeperator(const QString &path);
-};
-
-#endif
--- a/controlpanelui/src/tonefetcher/rom/rom.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-#
-# Description:
-# Rom exports for tone fetcher
-#
-
-symbian {
- TONESERVICEPROVIDER_IBY_DIR = $$section(PWD, ":", 1)
-
- exists(/epoc32/include/platform_paths.hrh) {
- BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>"
- } else {
- BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <domain\osextensions\platform_paths.hrh>"
- }
-
- BLD_INF_RULES.prj_exports += "$$TONESERVICEPROVIDER_IBY_DIR/tonefetcher.iby CORE_APP_LAYER_IBY_EXPORT_PATH(tonefetcher.iby)"
-
-}
--- a/controlpanelui/src/tonefetcher/rom/tonefetcher.iby Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef __TONEFETCHER_IBY__
-#define __TONEFETCHER_IBY__
-
-#include <bldprivate.hrh>
-
-#define HB_UPGRADABLE_APP_REG_RSC(NAME) data=DATAZ_\PRIVATE\10003A3F\IMPORT\APPS\ ## NAME ## _reg.rsc Private\10003a3f\import\apps\ ## NAME ## _reg.rsc
-
-file=ABI_DIR\BUILD_DIR\tonefetcher.exe SHARED_LIB_DIR\tonefetcher.exe
-HB_UPGRADABLE_APP_REG_RSC(tonefetcher)
-S60_APP_RESOURCE(tonefetcher)
-
-
-data=DATAZ_\private\2002BCCA\service_conf.xml private\2002BCCA\service_conf.xml
-
-#endif
-
--- a/controlpanelui/src/tonefetcher/service_conf.xml Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<service>
- <name>tonefetcher</name>
- <filepath>No path</filepath>
- <description>tone service</description>
- <interface>
- <name>com.nokia.symbian.IToneFetch</name>
- <version>1.0</version>
- <description>Launch a tone selection view</description>
- </interface>
-</service>
\ No newline at end of file
--- a/controlpanelui/src/tonefetcher/src/main.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- *
- * Description:
- * The main function for Tone Fetcher
- */
-
-#include "tonefetcher.h"
-#include "tonefetchermainwindow.h"
-#include <hbapplication.h>
-#include <tonefetcherlogger.h>
-
-int main(int argc, char *argv[])
-{
- HbApplication a(argc, argv);
-
-#ifdef ENABLE_TONEFETCHER_LOG
- Logger::instance(TONEFETCHER_LOGGER_NAME)->configure(
- TF_LOGGER_CONFIG_PATH,QSettings::IniFormat);
-#endif
- TF_LOG("Entering tonefetcher.exe...");
- ToneFetcherMainWindow w;
- w.show();
- int ret = a.exec();
- TF_LOG("Leaving tonefetcher.exe...");
-#ifdef ENABLE_TONEFETCHER_LOG
- Logger::closeAll();
-#endif
- return ret;
-}
--- a/controlpanelui/src/tonefetcher/src/tonefetcher.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The source file for tone fetcher.
- *
- */
-#include "tonefetcher.h"
-#include <hbmainwindow.h>
-#include "tonefetcherview.h"
-#include "tonefetchermainwindow.h"
-#include "tonefetcherutils.h"
-#include <QChar>
-#include <QDir>
-#include <tonefetcherlogger.h>
-
-ToneFetcher::ToneFetcher(HbMainWindow *mainWindow)
- : XQServiceProvider(QString("tonefetcher.com.nokia.symbian.IToneFetch"), mainWindow),
- mMainWindow(mainWindow),
- mAsyncRequestIndex(-1),
- mReturnValue(0)
-{
- //publish tone service
- publishAll();
-}
-
-ToneFetcher::~ToneFetcher()
-{
-
-}
-
-void ToneFetcher::fetch()
-{
- mAsyncRequestIndex = setCurrentRequestAsync();
- if (mMainWindow) {
- mMainWindow->show();
- ToneFetcherView *toneView = new ToneFetcherView(this);
- if (toneView) {
- connect(toneView, SIGNAL(itemSelected(QString)), this, SLOT(setSelectedPath(QString)));
- mMainWindow->addView(toneView);
- mMainWindow->setCurrentView(toneView);
- } else {
- TF_LOG("ToneFetcher::fetch: ToneFetcherView failed to be created");
- }
- }
-}
-
-void ToneFetcher::complete()
-{
- completeRequest(mAsyncRequestIndex, mReturnValue);
-}
-
-bool ToneFetcher::isActive()
-{
- return mAsyncRequestIndex > 0;
-}
-
-void ToneFetcher::setSelectedPath(const QString & tonePath)
-{
- mReturnValue.setValue(ToneFetcherUtils::normalizeSeperator(tonePath));
-}
-//End of File
--- a/controlpanelui/src/tonefetcher/src/tonefetcher.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The header file for tone fetcher.
- *
- */
-#ifndef TONEFETCHER_H
-#define TONEFETCHER_H
-
-#include <xqserviceprovider.h>
-
-class HbMainWindow;
-class ToneFetcher : public XQServiceProvider
-{
-
- Q_OBJECT
-
-public:
- explicit ToneFetcher(HbMainWindow *mainWindow = 0);
- ~ToneFetcher();
- /*
- * return the tone's absolution path to the service requestor.
- */
- void complete();
- /*
- * currently only one request is allowed.
- */
- bool isActive();
-
-public slots:
- /*
- * tone fetcher service's operation
- */
- void fetch();
-
-private slots:
- /*
- * set the selected tone's path to be the return value
- */
- void setSelectedPath(const QString &tonePath);
-
-private:
- HbMainWindow *mMainWindow;
- int mAsyncRequestIndex;
- QVariant mReturnValue;
-};
-
-#endif // TONEFETCHER_H
--- a/controlpanelui/src/tonefetcher/src/tonefetchermainwindow.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- *
- * Description:
- * The main window function for Tone Fetcher
- */
-
-#include "tonefetchermainwindow.h"
-#include <hbview.h>
-
-ToneFetcherMainWindow::ToneFetcherMainWindow(QWidget *parent)
- : HbMainWindow(parent)
-{
- mToneFetcher = new ToneFetcher(this);
-
-}
-
-ToneFetcherMainWindow::~ToneFetcherMainWindow()
-{
- delete mToneFetcher;
-}
-//End of File
--- a/controlpanelui/src/tonefetcher/src/tonefetchermainwindow.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- *
- * Description:
- * The header file of Tone Fetcher Mainwindow
- */
-#ifndef TONEFETCHERMAINWINDOW_H
-#define TONEFETCHERMAINWINDOW_H
-
-#include <hbmainwindow.h>
-#include "tonefetcher.h"
-#include <QCoreApplication>
-
-class ToneFetcherMainWindow : public HbMainWindow
-{
- Q_OBJECT
-
-public:
- explicit ToneFetcherMainWindow(QWidget *parent = 0);
- virtual ~ToneFetcherMainWindow();
-
-private:
- ToneFetcher *mToneFetcher;
-};
-
-#endif // TONEFETCHERWINDOW_H
-//End of File
--- a/controlpanelui/src/tonefetcher/src/tonefetchermodel.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The source file for tone list model
- */
-#include "tonefetchermodel.h"
-#include <QFileInfo>
-#include <QtAlgorithms>
-
-ToneFetcherModel::ToneFetcherModel(QObject *parent)
- : QStringListModel(parent)
-{
-}
-
-ToneFetcherModel::~ToneFetcherModel()
-{
-}
-
-QVariant ToneFetcherModel::data(const QModelIndex &index, int role) const
-{
- if (role == Qt::DisplayRole) {
- return QFileInfo(QStringListModel::data(index, role).toString()).baseName();
- } else {
- return QStringListModel::data(index, role);
- }
-}
-
-QString ToneFetcherModel::getPath(const QModelIndex &index) const
-{
- return QStringListModel::data(index, Qt::DisplayRole).toString();
-}
-
-void ToneFetcherModel::sort()
-{
- QStringList list = stringList();
- qStableSort(list.begin(), list.end(), caseSensitiveLessThan);
- removeRows(0, rowCount());
- setStringList(list);
-}
-void ToneFetcherModel::layoutToBeChanged()
-{
- emit layoutAboutToBeChanged();
-}
-
-void ToneFetcherModel::layoutHasChanged()
-{
- emit layoutChanged();
-}
-
-bool ToneFetcherModel::caseSensitiveLessThan(const QString &s1, const QString &s2)
-{
- return QFileInfo(s1).baseName().toLower() < QFileInfo(s2).baseName().toLower();
-}
-//End of File
--- a/controlpanelui/src/tonefetcher/src/tonefetchermodel.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The header file for tone list model
- *
- */
-
-#ifndef TONEFETCHERMODEL_H
-#define TONEFETCHERMODEL_H
-
-#include <QStringListModel>
-#include <QStringList>
-
-// CLASS DECLARATION
-/**
- * This class is used for storing tone list items.
- * inherited from QStringListModel so that many existing functions could be used.
- *
- */
-class ToneFetcherModel : public QStringListModel
-{
-public:
- explicit ToneFetcherModel( QObject *parent );
- virtual ~ToneFetcherModel();
- //from QStringListModel
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
- QString getPath(const QModelIndex &index) const;
- //sort the list
- void sort();
- //sort method
- bool static caseSensitiveLessThan(const QString &s1, const QString &s2);
- //emit the signal of layoutToBeChanged();
- void layoutToBeChanged();
- //emit the signal of layoutChanged();
- void layoutHasChanged();
-};
-
-#endif /* TONEFETCHERMODEL_H */
--- a/controlpanelui/src/tonefetcher/src/tonefetcherview.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The source file for tone fetcher view.
- *
- */
-#include "tonefetcherview.h"
-#include "tonefetcherwidget.h"
-#include <hbaction.h>
-#include <hbtoolbar.h>
-#include "tonefetcher.h"
-#include <qcoreapplication.h>
-
-ToneFetcherView::ToneFetcherView(ToneFetcher *service) : mServiceProvider(service)
-{
- setTitle(hbTrId("Tone Selection"));//need change according to ps file
- initToolBar();
- initMainWidget();
- QMetaObject::connectSlotsByName(this);
-
-}
-
-ToneFetcherView::~ToneFetcherView()
-{
- removeToolBarAction();
-}
-
-void ToneFetcherView::initMainWidget()
-{
- mWidget = new ToneFetcherWidget(this, this);
- Q_ASSERT(mWidget);
- setWidget(mWidget);
- //mWidget->setCurrentToolBarType( ToneServiceWidget::GeneralTone );
- connect(mWidget, SIGNAL(triggerToolBar(bool)), this, SLOT(enableToolBar(bool)));
-}
-
-void ToneFetcherView::quit()
-{
- connect(mServiceProvider, SIGNAL(returnValueDelivered()), qApp, SLOT(quit()));
- mServiceProvider->complete();
-}
-
-void ToneFetcherView::initToolBar()
-{
- mToolBarLeftAction = new HbAction(this);
- mToolBarLeftAction->setObjectName("leftAction");
- mToolBarLeftAction->setText(hbTrId("Play/Pause"));//need change according to ps file
- toolBar()->addAction(mToolBarLeftAction);
- mToolBarLeftAction->setEnabled(false);
-
- mToolBarRightAction = new HbAction(this);
- mToolBarRightAction->setObjectName("rightAction");
- mToolBarRightAction->setText(hbTrId("Select"));//need change according to ps file
- mToolBarRightAction->setEnabled(false);
- toolBar()->addAction(mToolBarRightAction);
-
- toolBar()->setOrientation(Qt::Horizontal);
- toolBar()->setEnabled(false);
-
-}
-
-void ToneFetcherView::on_leftAction_triggered()
-{
- mWidget->playOrPause();
-
-}
-
-void ToneFetcherView::on_rightAction_triggered()
-{
- emit itemSelected(mWidget->getCurrentItemPath());
- quit();
- /*QDir dir("c:\\data\\Sounds\\Simple\\");
- dir.remove("def.aac");
- dir.remove("abc.aac"); */
-}
-
-void ToneFetcherView::enableToolBar(bool enable)
-{
- mToolBarRightAction->setEnabled(enable);
- mToolBarLeftAction->setEnabled(enable);
- toolBar()->setEnabled(enable);
-}
-
-void ToneFetcherView::removeToolBarAction()
-{
- toolBar()->removeAction(mToolBarRightAction);
- toolBar()->removeAction(mToolBarLeftAction);
-}
-//End of File
--- a/controlpanelui/src/tonefetcher/src/tonefetcherview.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The header file for tone fetcher view.
- *
- */
-
-#ifndef TONEFETCHERVIEW_H
-#define TONEFETCHERVIEW_H
-
-#include <hblistwidget.h>
-#include <hbview.h>
-class ToneFetcherWidget;
-class HbAction;
-class ToneFetcher;
-
-class ToneFetcherView : public HbView
-{
- Q_OBJECT
-
-public:
- explicit ToneFetcherView(ToneFetcher *service);
- ~ToneFetcherView();
- void quit();
-
-signals:
- void itemSelected(const QString &path);
-
-private:
- void initMainWidget();
- void initToolBar();
- /*
- * tool bar actions must to be removed in case the app crashes.
- */
- void removeToolBarAction();
-
-private slots:
- void on_leftAction_triggered();
- void on_rightAction_triggered();
- void enableToolBar(bool enable);
-
-private:
- ToneFetcherWidget *mWidget;
- ToneFetcher *mServiceProvider; //not own
- HbAction *mToolBarLeftAction;
- HbAction *mToolBarRightAction;
- };
-
-#endif /* TONEFETCHERVIEW_H */
--- a/controlpanelui/src/tonefetcher/src/tonefetcherwidget.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,240 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The source file for tone fetcher widget.
- *
- */
-#include "tonefetcherwidget.h"
-#include "hbabstractviewitem.h"
-#include "hbstyle.h"
-#include "hbabstractitemview.h"
-#include <hblistview.h>
-#include <hbmenu.h>
-#include <hbaction.h>
-#include <QModelIndex>
-#include <QGraphicsLinearLayout>
-#include <QDirModel>
-#include <QTime>
-#include <QFileInfo>
-#include <QString>
-#include <QStandardItemModel>
-#include <XQUtils>
-#include <hblabel.h>
-#include "tonefetcherview.h"
-#include "tonefetchermodel.h"
-#include <hbmessagebox.h>
-#include <hbprogressdialog.h>
-
-ToneFetcherWidget::ToneFetcherWidget(HbWidget *parent, ToneFetcherView *serviceView)
- : HbWidget(parent),
- mLabel(0),
- mListView(0),
- mLayout(0),
- mToneModel(0),
- mServiceView(serviceView),
- mServiceEngine(0),
- mWaitNote(0)
-
-{
- init();
- connect(mServiceEngine, SIGNAL(mdeSessionOpened()),
- this, SLOT(mdeSessionOpened()));
- connect(mServiceEngine, SIGNAL(mdeSessionError(int)),
- this, SLOT(mdeSessionError(int)));
- connect(mServiceEngine, SIGNAL(queryComplete(QStringList)),
- this, SLOT(queryComplete(QStringList)));
- connect(mServiceEngine, SIGNAL(queryError(int)),
- this, SLOT(queryError(int)));
- connect(mServiceEngine,
- SIGNAL(notifyPreviewEvent(int)),
- this, SLOT(previewEvent(int)));
- connect( mServiceEngine, SIGNAL(notifyObjectChanged()),
- this, SLOT(onObjectChanged()));
-}
-
-ToneFetcherWidget::~ToneFetcherWidget()
-{
- delete mToneModel;
- mToneModel = 0;
- delete mWaitNote;
- mWaitNote = 0;
-}
-
-void ToneFetcherWidget::on_list_activated(const QModelIndex &index)
-{
- //stop previewing when clicking another item.
- if (mServiceEngine->isPlaying()) {
- mServiceEngine->stopPlaying();
- }
- /*
- * when one item is selected, reselecting it will deselect it. selecting another
- * will also deselect it, while the other is selected.
- */
- QItemSelectionModel *selectionModel = mListView->selectionModel();
- if (mOldSeletedItem == index) {
- selectionModel->select(index,QItemSelectionModel::Toggle);
- }
-
- QModelIndexList modelIndexList = selectionModel->selectedIndexes();
- if (modelIndexList.isEmpty()) {
- mOldSeletedItem = QModelIndex();
- }
- else {
- mOldSeletedItem = modelIndexList.front();
- }
- emit triggerToolBar(selectionModel->hasSelection());
-
-
-}
-
-void ToneFetcherWidget::init()
-{
- mLayout = new QGraphicsLinearLayout(this);
- mLayout->setOrientation(Qt::Vertical);
- setLayout(mLayout);
-
- mLabel = new HbLabel(this);
- mLabel->setPlainText(hbTrId("Select tone"));
- mLayout->addItem(mLabel);
-
- mListView = new HbListView(this);
- mListView->setObjectName("list");
- mLayout->addItem(mListView);
- mListView->setSelectionMode(HbAbstractItemView::SingleSelection);
-
- mServiceEngine = new ToneFetcherEngine(this);
- mToneModel = new ToneFetcherModel(this);
-
- initRomSoundList();
-
- connect(mListView, SIGNAL(activated(QModelIndex)),
- this, SLOT(on_list_activated(QModelIndex )));
- if( !mWaitNote ){
- mWaitNote = new HbProgressDialog( HbProgressDialog::WaitDialog );
- mWaitNote->setText( hbTrId( "Refreshing..." ) );
- QAction *action = mWaitNote->actions().at(0);//disable Cancel buttion.
- action->setEnabled(false);
- }
-}
-
-void ToneFetcherWidget::mdeSessionOpened()
-{
- mServiceEngine->getTones();
-}
-
-void ToneFetcherWidget::queryComplete(const QStringList &uriList)
-{
- addFilesFromMDE(uriList);
- addFilesFromRom();
- mToneModel->sort();
- mToneModel->layoutHasChanged();
- if (!mListView->model()) {
- mListView->setModel(mToneModel);
- }
- refreshFinish();
-}
-
-void ToneFetcherWidget::queryError(int error)
-{
- Q_UNUSED(error);
-
-}
-
-void ToneFetcherWidget::mdeSessionError(int error)
-{
- Q_UNUSED(error);
-}
-
-QString ToneFetcherWidget::getCurrentItemPath()
-{
- QModelIndexList modelIndexList = mListView->selectionModel()->selectedIndexes();
- if (modelIndexList.count() > 0) {
- QModelIndex index = modelIndexList.front();
- QString path = mToneModel->getPath(index);
- return path;
- }
- return QString();
-}
-
-void ToneFetcherWidget::playOrPause()
-{
- if(mServiceEngine->isPlaying()) {
- mServiceEngine->stopPlaying();
- } else {
- mServiceEngine->play(getCurrentItemPath());
- }
-
-}
-
-void ToneFetcherWidget::previewEvent(int event)
-{
- if (event == 0) {
- //preview successful, reserved
- } else {
- HbMessageBox::information(QString(hbTrId("Preview Error")));
- }
-}
-
-void ToneFetcherWidget::onObjectChanged()
-{
- refreshStart();
- if (mServiceEngine->isPlaying()) {
- mServiceEngine->stopPlaying();
- }
- mToneModel->layoutToBeChanged();
- emit triggerToolBar(false);
- mToneModel->removeRows(0, mToneModel->rowCount());
- mServiceEngine->getTones();
-}
-
-void ToneFetcherWidget::addFilesFromRom()
-{
- int currentCount = mToneModel->rowCount();
- mToneModel->insertRows(currentCount, mRomSoundList.size());
- for (int i = 0; i < mRomSoundList.size(); ++i) {
- mToneModel->setData(mToneModel->index(i + currentCount),
- QFileInfo(mRomSoundList.at(i)).absoluteFilePath());
- }
-}
-
-void ToneFetcherWidget::addFilesFromMDE(const QStringList &uriList)
-{
- int currentCount = mToneModel->rowCount();
- mToneModel->insertRows(currentCount, uriList.size());
- for (int i = 0; i < uriList.size(); ++i) {
- mToneModel->setData(mToneModel->index(i + currentCount), QFileInfo(uriList.at(i)).absoluteFilePath());
- }
-}
-
-void ToneFetcherWidget::refreshFinish()
-{
- if (mWaitNote) {
- mWaitNote->close();
- }
-}
-
-void ToneFetcherWidget::refreshStart()
-{
- if (mWaitNote) {
- mWaitNote->open();
- }
-}
-
-void ToneFetcherWidget::initRomSoundList()
-{
- QDir digitalSoundPath(XQUtils::romRootPath() + XQUtils::digitalSoundsPath());
- QDir simpleSoundPath(XQUtils::romRootPath() + XQUtils::simpleSoundsPath());
- mRomSoundList = digitalSoundPath.entryInfoList() + simpleSoundPath.entryInfoList();
-}
-//End of File
--- a/controlpanelui/src/tonefetcher/src/tonefetcherwidget.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The header file for tone fetcher widget.
- *
- */
-#ifndef TONEFETCHERWIDGET_H
-#define TONEFETCHERWIDGET_H
-
-#include <hbwidget.h>
-#include <QFileInfo>
-#include <QDir>
-#include <QString>
-#include "tonefetcherengine.h"
-
-class QDirModel;
-class HbListView;
-class QGraphicsLinearLayout;
-class QStandardItemModel;
-class HbAbstractViewItem;
-class ToneFetcherView;
-class ToneFetcherModel;
-class HbLabel;
-class HbProgressDialog;
-
-class ToneFetcherWidget : public HbWidget
-{
- Q_OBJECT
-
-public:
- explicit ToneFetcherWidget(HbWidget *parent, ToneFetcherView *serviceView);
- ~ToneFetcherWidget();
- QString getCurrentItemPath();
- void playOrPause();
-
-signals:
- void itemClicked(const QString &item);
- void triggerToolBar(bool enable);
-
-
-private:
- void init();
- void addFilesFromRom();
- void initRomSoundList();
- void addFilesFromMDE(const QStringList &uriList);
-
-private slots:
- void on_list_activated(const QModelIndex &index);
- void mdeSessionOpened();
- void mdeSessionError(int error);
- void queryComplete(const QStringList &uriList);
- void queryError(int error );
- void previewEvent(int event);
- void onObjectChanged();
- void refreshFinish();
- void refreshStart();
-
-private:
- HbLabel *mLabel;
- HbListView *mListView;
- QGraphicsLinearLayout *mLayout;
- ToneFetcherModel *mToneModel;
-
- ToneFetcherView *mServiceView;
- ToneFetcherEngine *mServiceEngine;
-
- QFileInfoList mRomSoundList;
- QModelIndex mOldSeletedItem;
- HbProgressDialog *mWaitNote;
-};
-#endif /* TONEFETCHERWIDGET_H */
--- a/controlpanelui/src/tonefetcher/tonefetcher.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-HEADERS += src/tonefetchermainwindow.h \
- src/tonefetcher.h \
- src/tonefetcherview.h \
- src/tonefetcherwidget.h \
- src/tonefetchermodel.h \
- tonefetcherengine/tonefetcherengine.h \
- inc/tonefetcherutils.h
-
-SOURCES += src/tonefetchermainwindow.cpp \
- src/tonefetcher.cpp \
- src/tonefetcherview.cpp \
- src/tonefetcherwidget.cpp \
- src/tonefetchermodel.cpp \
- tonefetcherengine/tonefetcherengine.cpp \
- inc/tonefetcherutils.cpp \
- src/main.cpp
-
-symbian {
- HEADERS += tonefetcherengine/private/CTonePlayer.h \
- tonefetcherengine/private/CToneSelection.h \
- tonefetcherengine/private/MTonePlayingWatcher.h \
- tonefetcherengine/private/MToneSelectionWatcher.h \
- tonefetcherengine/private/tonefetcherengine_symbian.h
-
-
-
- SOURCES += tonefetcherengine/private/CTonePlayer.cpp \
- tonefetcherengine/private/CToneSelection.cpp \
- tonefetcherengine/private/tonefetcherengine_symbian.cpp
-} else {
- HEADERS += tonefetcherengine/private/tonefetcherengine_stub.h
- SOURCES += tonefetcherengine/private/tonefetcherengine_stub.cpp
-}
-
-
--- a/controlpanelui/src/tonefetcher/tonefetcher.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = app
-TARGET = tonefetcher
-CONFIG += hb service
-
-include( common.pri )
-include( tonefetcher.pri )
-LIBS += -lxqservice \
- -lxqserviceutil \
- -lcplogger \
- -lcpframework \
- -lxqutils
-symbian {
- LIBS += -lcafutils \
- -lcaf \
- -lmdeclient \
- -lcentralrepository \
- -lProfileEng \
- -lpeninputClient \
- -lmediaclientaudio \
- -lDrmAudioPlayUtility \
- -lmediaclientvideo \
- -lDRMCommon \
- -lDrmRights \
- -lDrmHelper \
- -ldrmutility \
- -lapmime \
- -lecom \
- -lcone \
- -lapgrfx
-
- TARGET.UID3 = 0x2002BCCA
- TARGET.CAPABILITY = ALL -TCB
- TARGET.VID = VID_DEFAULT
- BLD_INF_RULES.prj_exports += "./service_conf.xml z:/private/2002BCCA/service_conf.xml"
-}
-symbian {
- include(rom/rom.pri)
-}
-
-
-SERVICE.FILE = service_conf.xml
-SERVICE.OPTIONS = embeddable
-SERVICE.OPTIONS += hidden
-libFiles.sources = xqservice.dll
-libFiles.path = "!:\sys\bin"
-DEPLOYMENT += libFiles
--- a/controlpanelui/src/tonefetcher/tonefetcherengine/private/CTonePlayer.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,626 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The source file for tone playing.
- *
- */
-#include "CTonePlayer.h"
-#include "tonefetcherutils.h"
-#include <AudioPreference.h> // KAudioPriorityPreview
-#include <c3dringingtoneinterface.h> // C3DRingingToneInterface
-#include <ctsydomainpskeys.h> // for phone call states
-#include <MProfileEngine.h>
-#include <MProfile.h>
-#include <MProfileTones.h>
-#include "TProfileToneSettings.h"
-#include <MProfileExtraSettings.h>
-#include <MProfile3DToneSettings.h>
-#include <ProfileInternal.hrh>
-#include <ProfileEngineDomainCRKeys.h> // KProEngDefaultRingingTone
-#include "MTonePlayingWatcher.h"
-
-
-CMFPreviewHandlerBase::CMFPreviewHandlerBase()
- {
- iMediaType = KErrNotFound;
- iRingingVolume = KErrNotFound;
- iRingingType = KErrNotFound;
- iVibra = KErrNotFound;
- i3DEffect = KErrNotFound;
- i3DEcho = KErrNotFound;
- iFileSize = KErrNotFound;
- iFullName = 0;
- iActiveProfileRead = EFalse;
- iPlayerStatus = EPlayerNotCreated;
-
- }
-
-void CMFPreviewHandlerBase::ConstructL()
- {
- // To allow/not allow screensaver
- // Errors ignored, no actions needed if API is not available
- //iProperty.Attach( KPSUidScreenSaver, KScreenSaverAllowScreenSaver );
- TRAP_IGNORE(User::LeaveIfError( iApaSession.Connect() ) );
-
- TRAP_IGNORE( ReadDefaultToneL() );
- // To keep backlight on while a video is being previewed
- iBacklightTimer = CPeriodic::NewL( EPriorityLow );
- }
-
-CMFPreviewHandlerBase::~CMFPreviewHandlerBase()
- {
- delete iFullName;
- iProperty.Close();
-
- iApaSession.Close();
- }
-
-void CMFPreviewHandlerBase::SetAttrL( const TDesC& aFileName )
- {
- if ( aFileName.Length() )
- {
- delete iFullName;
- iFullName = 0;
- iFullName = aFileName.AllocL();
- }
- }
-
-TInt CMFPreviewHandlerBase::RingingVolume()
- {
- const TInt KDefaultVolumeLevel = 7; // see profile.hrh for volume levels
-
- if ( iRingingVolume != KErrNotFound )
- {
- return iRingingVolume;
- }
-
- if ( iActiveProfileRead )
- {
- return iActiveProfileRingingVolume;
- }
-
- return KDefaultVolumeLevel;
- }
-
-TInt CMFPreviewHandlerBase::RingingType()
- {
- if ( iRingingType != KErrNotFound )
- {
- return iRingingType;
- }
-
- if ( iActiveProfileRead )
- {
- return iActiveProfileRingingType;
- }
-
- return ERingingTypeRinging;
- }
-
-TInt CMFPreviewHandlerBase::Vibra()
- {
- if ( iVibra != KErrNotFound )
- {
- return iVibra;
- }
-
- if ( iActiveProfileRead )
- {
- return iActiveProfileVibra;
- }
-
- return 0; // in case of error vibra is off
- }
-
-TInt CMFPreviewHandlerBase::Echo3D()
- {
- if ( i3DEcho != KErrNotFound )
- {
- return i3DEcho;
- }
-
- if ( iActiveProfileRead )
- {
- return iActiveProfile3DEcho;
- }
-
- return EProfile3DEchoOff; // from ProfileInternal.hrh
- }
-
-TInt CMFPreviewHandlerBase::Effect3D()
- {
- if ( i3DEffect != KErrNotFound )
- {
- return i3DEffect;
- }
-
- if ( iActiveProfileRead )
- {
- return iActiveProfile3DEffect;
- }
-
- return EProfile3DEffectOff;
- }
-
-TInt CMFPreviewHandlerBase::ConvertVolume( TInt aVolume, TInt aMaxVolume )
- {
- const TInt KMinVolumeLevel = 1;
- const TInt KMaxVolumeLevel = 10;
-
- TInt result = aMaxVolume * aVolume / KMaxVolumeLevel;
-
- // if user has selected minimum volume level set HW volume 1
- if ( aVolume == KMinVolumeLevel && result == 0 )
- {
- result = 1;
- }
-
- return result;
- }
-
-void CMFPreviewHandlerBase::ReadActiveProfileL()
- {
- iActiveProfileRead = EFalse;
-
- MProfileEngine* profileEngine = CreateProfileEngineL();
- CleanupReleasePushL( *profileEngine );
-
- MProfile* activeProfile = profileEngine->ActiveProfileL();
- CleanupReleasePushL( *activeProfile );
-
- const MProfileTones& profileTones = activeProfile->ProfileTones();
-
- const TProfileToneSettings& toneSettings = profileTones.ToneSettings();
- iActiveProfileVibra = toneSettings.iVibratingAlert;
- iActiveProfileRingingVolume = toneSettings.iRingingVolume;
- iActiveProfileRingingType = toneSettings.iRingingType;
-
- const MProfileExtraSettings& extra = activeProfile->ProfileExtraSettings();
- const MProfile3DToneSettings& threeD = extra.Profile3DToneSettings();
-
- iActiveProfile3DEffect = threeD.Effect();
- iActiveProfile3DEcho = threeD.Echo();
-
- CleanupStack::PopAndDestroy( activeProfile );
- CleanupStack::PopAndDestroy( profileEngine );
-
- iActiveProfileRead = ETrue;
- }
-
-void CMFPreviewHandlerBase::ReadDefaultToneL()
- {
- CRepository* cenrep = CRepository::NewLC( KCRUidProfileEngine );
-
- User::LeaveIfError( cenrep->Get( KProEngDefaultRingingTone, iDefaultTone ) );
- CleanupStack::PopAndDestroy( cenrep );
- }
-
-TInt CMFPreviewHandlerBase::GetDataType( const TDesC& aFileName, TDataType& aDataType )
- {
- TUid dummyUid( KNullUid );
- return iApaSession.AppForDocument( aFileName, dummyUid, aDataType );
- }
-
-TInt CMFPreviewHandlerBase::DoResetInactivityTimer( TAny* /*aObject*/ )
- {
- User::ResetInactivityTime();
- return KErrNone;
- }
-
-void CMFPreviewHandlerBase::DisableBackLight()
- {
- const TInt KResetInactivityTimerDelay = 2000000;
- iBacklightTimer->Cancel(); // Just in case
- // Disable backlight turn off during video preview
- iBacklightTimer->Start( KResetInactivityTimerDelay,
- KResetInactivityTimerDelay,
- TCallBack( DoResetInactivityTimer, 0 ) );
-
- }
-
-CTonePlayer* CTonePlayer::NewL( MTonePlayingWatcher *aWatcher )
- {
- CTonePlayer* self = CTonePlayer::NewLC( aWatcher );
- CleanupStack::Pop();
- return self;
- }
-
-CTonePlayer* CTonePlayer::NewLC( MTonePlayingWatcher *aWatcher )
- {
- CTonePlayer* self = new ( ELeave ) CTonePlayer( aWatcher );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-void CTonePlayer::ConstructL()
- {
- iAudioPlayerStatus = EPlayerNotCreated;
- CMFPreviewHandlerBase::ConstructL();
- iTonePlayerStatus = EPlayerNotCreated;
- CCoeEnv* coeEnv = CCoeEnv::Static();
- coeEnv->AddForegroundObserverL( *this );
- }
-
-CTonePlayer::CTonePlayer( MTonePlayingWatcher *aWatcher ) : iTonePlayWatcher( aWatcher )
- {
- }
-
-CTonePlayer::~CTonePlayer()
- {
- Cancel();
-
- delete iAudioPlayer;
- delete iTonePlayer;
- delete i3dRingingTonePlugin;
- }
-
-TBool CTonePlayer::IsPlaying()
- {
- if ( iAudioPlayerStatus != EPlayerNotCreated )
- {
- return ETrue;
- }
-
- if ( iTonePlayerStatus != EPlayerNotCreated )
- {
- return ETrue;
- }
-
- return EFalse;
- }
-
-void CTonePlayer::PlayL()
- {
- //sequence for playing a beep once sound
- _LIT8( KFileListBeepSequence, "\x00\x11\x06\x0A\x08\x73\x0A\x40\x28\x0A\xF7\
- \x05\xFC\x40\x64\x0A\x08\x40\x32\x0A\xF7\x06\x0B" );
-
- // rng mime type
- _LIT( KFileListRngMimeType, "application/vnd.nokia.ringing-tone" );
-
- Cancel(); // stop previous play
-
- if ( !iFullName || iFullName->Des().Length() == 0 )
- {
- User::Leave( KErrNotFound );
- }
-
- TRAP_IGNORE( ReadActiveProfileL() );
-
- TPtrC fileName( iFullName->Des() );
- TDataType dataType;
- TInt err = GetDataType( fileName, dataType );
- if ( err == KErrNotFound )
- {
- fileName.Set( iDefaultTone );
- if ( fileName.Length() == 0 )
- {
- User::Leave( KErrNotFound );
- }
- }
- else if ( err != KErrNone )
- {
- User::Leave( err );
- }
-
- TBool mimeTypeRng = EFalse;
-
- if ( err == KErrNone )
- {
- if( dataType.Des().CompareF( KFileListRngMimeType ) == 0 )
- {
- mimeTypeRng = ETrue;
- }
- }
-
- TInt ringingType = RingingType();
- if ( ringingType == ERingingTypeBeepOnce )
- {
- // Active profile ringing tone is set to Beep Once
- // Don't initialize a FileSequence but use DesSequence instead
- iTonePlayer = CMdaAudioToneUtility::NewL( *this );
- iTonePlayer->PrepareToPlayDesSequence( KFileListBeepSequence() );
- iTonePlayerStatus = EPlayerInitializing;
- }
- else
- {
- if( mimeTypeRng )
- {
- //Ringingtone is a RNG-file
- iTonePlayer = CMdaAudioToneUtility::NewL( *this );
- iTonePlayer->PrepareToPlayFileSequence( fileName );
- iTonePlayerStatus = EPlayerInitializing;
- }
- else
- {
- delete iAudioPlayer;
- iAudioPlayer = 0;
-
- iAudioPlayer = CDrmPlayerUtility::NewFilePlayerL(
- fileName, *this, KAudioPriorityRingingTonePreview,
- ( TMdaPriorityPreference )KAudioPrefRingFilePreview );
-
- iAudioPlayerStatus = EPlayerInitializing;
- }
- }
- DisableBackLight();
- }
-
-void CTonePlayer::Stop()
- {
- Cancel();
- }
-
-TInt CTonePlayer::ConvertVolume( TInt aVolume )
- {
- TInt result = 0;
- if ( iAudioPlayer )
- {
- result = CMFPreviewHandlerBase::ConvertVolume( aVolume, iAudioPlayer->MaxVolume() );
- }
- else if ( iTonePlayer )
- {
- result = CMFPreviewHandlerBase::ConvertVolume( aVolume, iTonePlayer->MaxVolume() );
- }
-
- //if user has selected silent ringing type, set volume off
- TInt ringingType = RingingType();
- if( ringingType == ERingingTypeSilent )
- {
- result = 0;
- }
-
- return result;
- }
-
-void CTonePlayer::SetToneRingingType( TInt aRingingType )
- {
- const TInt KToneInterval = 1000000; // 1 second pause between tones
- const TInt KAscendingVolumeInterval = 3000000; // 3 seconds
-
- if ( !iTonePlayer )
- {
- return;
- }
- TInt ringingVolume = RingingVolume();
-
- switch( aRingingType )
- {
- case ERingingTypeRinging:
- case ERingingTypeSilent:
- {
- iTonePlayer->SetRepeats( KMdaAudioToneRepeatForever,
- TTimeIntervalMicroSeconds( KToneInterval ) );
- break;
- }
- case ERingingTypeAscending:
- {
- iTonePlayer->SetRepeats( KMdaAudioToneRepeatForever,
- TTimeIntervalMicroSeconds( KToneInterval ) );
-
- TInt volRamp = KAscendingVolumeInterval * ringingVolume;
- iTonePlayer->SetVolumeRamp( TTimeIntervalMicroSeconds( volRamp ) );
- break;
- }
- case ERingingTypeRingOnce:
- case ERingingTypeBeepOnce:
- {
- iTonePlayer->SetRepeats( 0, TTimeIntervalMicroSeconds( KToneInterval ) );
- break;
- }
- default:
- {
- break;
- }
- }
- }
-
-void CTonePlayer::SetAudioRingingType( TInt aRingingType )
- {
- const TInt KToneInterval = 1000000; // 1 second pause between tones
- const TInt KAscendingVolumeInterval = 3000000; // 3 seconds
-
- if ( !iAudioPlayer )
- {
- return;
- }
-
- TInt ringingVolume = RingingVolume();
-
- switch( aRingingType )
- {
- case ERingingTypeRinging:
- case ERingingTypeSilent:
- {
- iAudioPlayer->SetRepeats( KMdaAudioToneRepeatForever,
- TTimeIntervalMicroSeconds( KToneInterval ) );
- break;
- }
- case ERingingTypeAscending:
- {
- iAudioPlayer->SetRepeats( KMdaAudioToneRepeatForever,
- TTimeIntervalMicroSeconds( KToneInterval ) );
- TInt volRamp = KAscendingVolumeInterval * ringingVolume;
- iAudioPlayer->SetVolumeRamp( TTimeIntervalMicroSeconds( volRamp ) );
- break;
- }
- case ERingingTypeRingOnce:
- {
- iAudioPlayer->SetRepeats( 0, TTimeIntervalMicroSeconds( KToneInterval ) );
- break;
- }
-
- default:
- {
- break;
- }
- }
- }
-
-void CTonePlayer::Cancel()
- {
- TBool isPlaying = EFalse;
-
- if ( iAudioPlayer )
- {
- isPlaying = ETrue;
- if ( iAudioPlayerStatus == EPlayerPlayingWith3DEffect )
- {
- i3dRingingTonePlugin->Stop();
- // plugin calls AudioPlayer->Stop()
- iAudioPlayer->Close();
- }
- if ( iAudioPlayerStatus == EPlayerPlaying )
- {
- iAudioPlayer->Stop();
- iAudioPlayer->Close();
- }
-
- delete iAudioPlayer;
- iAudioPlayer = 0;
- iAudioPlayerStatus = EPlayerNotCreated;
- }
-
- if ( iTonePlayer )
- {
- isPlaying = ETrue;
- if ( iTonePlayerStatus == EPlayerPlaying )
- {
- iTonePlayer->CancelPlay();
- }
-
- delete iTonePlayer;
- iTonePlayer = 0;
- iTonePlayerStatus = EPlayerNotCreated;
- }
-
-
- if ( isPlaying )
- {
- //User::InfoPrint(_L("cancel"));
-// EnableScreenSaver( ETrue );
- iBacklightTimer->Cancel();
- }
- }
-
-void CTonePlayer::MatoPlayComplete( TInt aError )
- {
- Cancel();
- iTonePlayWatcher->HandlePreviewEvent( aError );
- }
-
-void CTonePlayer::MatoPrepareComplete( TInt aError )
- {
- if ( aError != KErrNone )
- {
- Cancel();
-
- iTonePlayWatcher->HandlePreviewEvent( aError );
- return;
- }
-
- TInt ringingVolume = RingingVolume();
- TInt ringingType = RingingType();
- TInt vibra = Vibra();
-
- iTonePlayerStatus = EPlayerInitialized;
- SetToneRingingType( ringingType );
- iTonePlayer->SetVolume( ConvertVolume( ringingVolume ) );
-
- TMdaPriorityPreference pref = (TMdaPriorityPreference) KAudioPrefRingFilePreview;
- if ( vibra )
- {
- pref = (TMdaPriorityPreference) KAudioPrefRingFilePreviewVibra;
- }
- iTonePlayer->SetPriority( KAudioPriorityPreview, pref );
-
- iTonePlayer->Play();
- iTonePlayerStatus = EPlayerPlaying;
- }
-
-void CTonePlayer::MdapcInitComplete( TInt aError,
- const TTimeIntervalMicroSeconds& /* aDuration */ )
- {
- if ( aError != KErrNone )
- {
- Cancel();
- iTonePlayWatcher->HandlePreviewEvent( aError );
- return;
- }
-
-
- TInt ringingVolume = RingingVolume();
- TInt ringingType = RingingType();
- TInt vibra = Vibra();
- TInt echo3D = Echo3D();
- TInt effect3D = Effect3D();
-
-
-
- iAudioPlayerStatus = EPlayerInitialized;
- SetAudioRingingType( ringingType );
- iAudioPlayer->SetVolume( ConvertVolume( ringingVolume ) );
-
- TMdaPriorityPreference pref = (TMdaPriorityPreference) KAudioPrefRingFilePreview;
- if ( vibra )
- {
- pref = (TMdaPriorityPreference) KAudioPrefRingFilePreviewVibra;
- }
- iAudioPlayer->SetPriority( KAudioPriorityPreview, pref );
-
- iAudioPlayerStatus = EPlayerPlaying;
-
- if ( effect3D == EProfile3DEffectOff )
- {
- iAudioPlayer->Play(); // 3D not used
- return;
- }
-
- if ( !i3dRingingTonePlugin )
- {
- TUid emptyUid = { 0 };
- TRAPD( err, i3dRingingTonePlugin = C3DRingingToneInterface::NewL( emptyUid ) );
- if ( err != KErrNone || !i3dRingingTonePlugin )
- {
- iAudioPlayer->Play();
- return;
- }
- }
-
- i3dRingingTonePlugin->SetAttr( E3DRTIAttr3DEffect, effect3D );
- i3dRingingTonePlugin->SetAttr( E3DRTIAttr3DEcho, echo3D );
- i3dRingingTonePlugin->SetAttr( E3DRTIAttrDrmPlayerUtility, iAudioPlayer );
- TRAP_IGNORE( i3dRingingTonePlugin->PlayL() );
-
- iAudioPlayerStatus = EPlayerPlayingWith3DEffect;
- }
-
-void CTonePlayer::MdapcPlayComplete( TInt aError )
- {
- Cancel();
- iTonePlayWatcher->HandlePreviewEvent( aError );
- }
-
-void CTonePlayer::HandleLosingForeground()
- {
- if ( IsPlaying() )
- {
- Stop();
- }
- }
-void CTonePlayer::HandleGainingForeground()
- {
-
- }
--- a/controlpanelui/src/tonefetcher/tonefetcherengine/private/CTonePlayer.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,202 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The header file for tone playing.
- *
- */
-
-#ifndef CTONEPLAYER_H
-#define CTONEPLAYER_H
-
-#include <e32base.h>
-#include <coemain.h>
-#include <DrmAudioSamplePlayer.h>
-#include <mdaaudiotoneplayer.h>
-#include <videoplayer.h>
-#include <centralrepository.h>
-#include <apgcli.h> // for RApaLsSession
-#include <e32property.h>
-
-class C3DRingingToneInterface;
-class RWindow;
-class MTonePlayingWatcher;
-/**
-* CMFPreviewHandlerBase
-*
-* Base class for CMFAudioPreviewHandler.
- */
-class CMFPreviewHandlerBase : public CBase
-
- {
- public:
- enum TMediaFileType
- {
- EMediaFileTypeAudio = 0,
- EMediaFileTypeVideo
- };
- enum TPlayerStatus
- {
- EPlayerNotCreated,
- EPlayerInitializing,
- EPlayerReady,
- EPlayerPlaying,
- EPlayerInitialized,
- EPlayerPlayingWith3DEffect
- };
-
- // these must match with the ones in Profile Engine
- enum TRingingTypes
- {
- ERingingTypeRinging = 0,
- ERingingTypeAscending,
- ERingingTypeRingOnce,
- ERingingTypeBeepOnce,
- ERingingTypeSilent
- };
-
- enum TFLAllowScreenSaver
- {
- EFLScreenSaverAllowed = 0, EFLScreenSaverNotAllowed
- };
- public:
- void SetAttrL(const TDesC& aFileName);
- TInt Attr(TInt aAttr);
- virtual void PlayL() = 0;
- virtual void Stop() = 0;
- virtual TBool IsPlaying() = 0;
-
- protected:
- virtual ~CMFPreviewHandlerBase();
-
- protected:
- /**
- * C++ default constructor.
- */
- CMFPreviewHandlerBase( );
- /**
- * By default Symbian OS constructor is private.
- */
- void ConstructL();
-
- protected:
- TInt ConvertVolume(TInt aVolume);
- void ReadActiveProfileL();
- TInt GetDataType(const TDesC& aFileName, TDataType& aDataType);
- void ReadDefaultToneL();
- void DisableBackLight();
- static TInt DoResetInactivityTimer(TAny* aObject);
- TInt RingingVolume();
- TInt RingingType();
- TInt Vibra();
- TInt Echo3D();
- TInt Effect3D();
- static TInt ConvertVolume(TInt aVolume, TInt aMaxVolume);
-
- protected:
- TInt iRingingVolume;
- TInt iRingingType;
- TInt iVibra;
- TInt i3DEffect;
- TInt i3DEcho;
- TInt iMediaType;
- TInt iFileSize;
- HBufC* iFullName;
- TBool iActiveProfileRead;
- TInt iActiveProfileRingingVolume;
- TInt iActiveProfileRingingType;
- TInt iActiveProfileVibra;
- TInt iActiveProfile3DEffect;
- TInt iActiveProfile3DEcho;
- TInt iPlayerStatus;
- // handle to window
- RWindow* iWindow; // does not own
- // for getting file MIME types
- RApaLsSession iApaSession;
- // for setting screensaver on/off
- RProperty iProperty;
- // default ringing tone
- TFileName iDefaultTone;
- /**
- * Timer for resetting the user inactivity timeout
- */
- CPeriodic* iBacklightTimer;
- };
-
-// CLASS DECLARATION
-/**
- * This class is used for playing the tones.
- *
- */
-
-class CTonePlayer : public CMFPreviewHandlerBase,
- public MDrmAudioPlayerCallback,
- public MMdaAudioToneObserver,
- public MCoeForegroundObserver
- {
- public:
- static CTonePlayer* NewL( MTonePlayingWatcher *aWatcher );
- static CTonePlayer* NewLC( MTonePlayingWatcher *aWatcher );
- virtual ~CTonePlayer();
-
-
- public:
- void PlayL();
- void Stop();
- TBool IsPlaying();
-
- private:
- CTonePlayer( MTonePlayingWatcher *aWatcher );
- void ConstructL();
- void Cancel();
- void SetAudioRingingType( TInt aRingingType );
- void SetToneRingingType( TInt aRingingType );
- TInt ConvertVolume( TInt aVolume );
-
- private:
- // from MMdaAudioToneObserver
- virtual void MatoPrepareComplete( TInt aError );
- virtual void MatoPlayComplete(TInt aError);
-
- private:
- // from MDrmAudioPlayerCallback
- void MdapcInitComplete(TInt aError,
- const TTimeIntervalMicroSeconds& aDuration);
- void MdapcPlayComplete(TInt aError);
-
- // from MCoeForegroundObserver
- void HandleLosingForeground();
- void HandleGainingForeground();
-
- private:
- //wacher of the playing process
- MTonePlayingWatcher* iTonePlayWatcher;
-
- // audio player
- CDrmPlayerUtility* iAudioPlayer;
-
- /// Audioplayer status
- TPlayerStatus iAudioPlayerStatus;
-
- /// toneplayer
- CMdaAudioToneUtility* iTonePlayer;
-
- /// Toneplayer status
- TPlayerStatus iTonePlayerStatus;
-
- // plugin for playing 3D effects
- C3DRingingToneInterface* i3dRingingTonePlugin;
-
- };
-
-#endif /* CTONEPLAYER_H */
--- a/controlpanelui/src/tonefetcher/tonefetcherengine/private/CToneSelection.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,408 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The source file for mde tone fetcher.
- *
- */
-#include "CToneSelection.h"
-#include <pathinfo.h>
-#include <bautils.h>
-#include "tonefetcherengine.h"
-#include "MToneSelectionWatcher.h"
-#include <centralrepository.h>
-#include <ProfileEngineDomainCRKeys.h>
-#include <tonefetcherlogger.h>
-#include <QString>
-
-//refresh interval, 2 seconds.
-const TInt KTimerInterval = 2 * 1000 * 1000;
-const TInt KObserverCallStep = 100;
-const TInt KOneKiloByte = 1024;
-// CONSTANTS
-_LIT( KMimeMp3, "mp3" );
-
-CMFActiveCaller* CMFActiveCaller::NewL( CToneSelection* aObserver )
- {
- CMFActiveCaller* self = new (ELeave) CMFActiveCaller( aObserver );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-CMFActiveCaller::~CMFActiveCaller()
- {
- Cancel();
- iTimer.Close();
- }
-
-CMFActiveCaller::CMFActiveCaller(CToneSelection* aObserver) : CActive(CActive::EPriorityStandard)
- {
- iObserver = aObserver;
- }
-
-void CMFActiveCaller::ConstructL()
- {
- User::LeaveIfError( iTimer.CreateLocal() );
- CActiveScheduler::Add( this );
- }
-
-void CMFActiveCaller::DoCancel()
- {
- iTimer.Cancel();
- }
-
-void CMFActiveCaller::RunL()
- {
- iObserver->ChangeObject();
- }
-
-void CMFActiveCaller::Request()
- {
- Cancel();
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- }
-
-void CMFActiveCaller::Start( TInt aMilliseconds )
- {
- Cancel();
-
- if ( aMilliseconds <= 0 )
- {
- Request(); // no delay - complete asap
- }
- else
- {
- iTimer.After( iStatus, aMilliseconds );
- SetActive();
- }
- }
-
-void CMFActiveCaller::Stop()
- {
- Cancel();
- }
-
-CToneSelection* CToneSelection::NewL( MToneSelectionWatcher *aWatcher )
- {
- CToneSelection* self = CToneSelection::NewLC(aWatcher);
- CleanupStack::Pop( self );
- return self;
- }
-
-CToneSelection* CToneSelection::NewLC( MToneSelectionWatcher *aWatcher )
- {
- CToneSelection* self = new ( ELeave ) CToneSelection( aWatcher );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-void CToneSelection::ConstructL()
- {
- iSession = CMdESession::NewL( *this );
- iObjectNotificationCaller = CMFActiveCaller::NewL( this );
- }
-
-CToneSelection::CToneSelection( MToneSelectionWatcher *aWatcher ) : iToneSelectionWatcher( aWatcher )
- {
- iMediaFileCounter = 0;
- iIsQuerying = EFalse;
- }
-
-CToneSelection::~CToneSelection()
- {
- iResultArray.ResetAndDestroy();
- delete iQuery;
- delete iSession;
- delete iObjectNotificationCaller;
- }
-
-void CToneSelection::HandleSessionOpened( CMdESession& /*aSession*/, TInt aError )
- {
- if ( aError != KErrNone )
- {
- iDefNS = 0;
- delete iSession;
- iSession = 0;
- iSessionOpen = EFalse;
- iToneSelectionWatcher->HandleMdeSessionError( aError );
- }
- else
- {
- iDefNS = &iSession->GetDefaultNamespaceDefL();
- iSessionOpen = ETrue;
- TRAP_IGNORE( AddObjectObserverL() );
- iToneSelectionWatcher->HandleMdeSessionOpened();
- }
- }
-
-
-
-void CToneSelection::HandleSessionError( CMdESession& /*aSession*/, TInt aError )
- {
- if ( aError == KErrNone )
- {
- return;
- }
-
- delete iSession;
- iSession = 0;
- iSessionOpen = EFalse;
- iToneSelectionWatcher->HandleMdeSessionError( aError );
- }
-
-void CToneSelection::HandleQueryNewResults( CMdEQuery& /*aQuery*/,
- TInt /*aFirstNewItemIndex*/,
- TInt /*aNewItemCount*/ )
- {
- }
-
-void CToneSelection::HandleObjectNotification( CMdESession& /*aSession*/,
- TObserverNotificationType /*aType*/,
- const RArray<TItemId>& /*aObjectIdArray*/ )
- {
- /*if ( aObjectIdArray.Count() > 0 && ( aType == ENotifyAdd || aType == ENotifyModify || aType == ENotifyRemove ) )
- {
- QString str("CToneSelection::HandleObjectNotification " + QString::number(aObjectIdArray.Count()) + " " + QString::number(aType));
- TF_LOG(str);
- iMediaFileCounter = iMediaFileCounter + aObjectIdArray.Count();
- if ( iMediaFileCounter >= KObserverCallStep )
- {
- iMediaFileCounter = 0;
- iToneSelectionWatcher->HandleObjectChanged();
- }
- else
- {
- iObjectNotificationCaller->Start(KTimerInterval);
- }
- }*/
- }
-
-void CToneSelection::AddObjectObserverL()
- {
- if ( iSessionOpen )
- {
- TUint32 notificationType = ENotifyAdd | ENotifyModify | ENotifyRemove;
- iSession->AddObjectObserverL( *this, 0, notificationType, iDefNS );
-
- iSession->AddObjectPresentObserverL( *this );
- }
- }
-
-void CToneSelection::HandleObjectPresentNotification( CMdESession& /*aSession*/,
- TBool /*aPresent*/, const RArray<TItemId>& aObjectIdArray )
- {
-
- if( aObjectIdArray.Count() > 0 )
- {
- //if query is executing, we do not allow the fresh of contents
- if ( iIsQuerying )
- {
- iMediaFileCounter = 0;
- return;
- }
- QString str("CToneSelection::HandleObjectPresentNotification " + QString::number(aObjectIdArray.Count()));
- TF_LOG(str);
- iMediaFileCounter = iMediaFileCounter + aObjectIdArray.Count();
- if ( iMediaFileCounter > KObserverCallStep )
- {
- iMediaFileCounter = 0;
- iToneSelectionWatcher->HandleObjectChanged();
- }
- else
- {
- iObjectNotificationCaller->Start(KTimerInterval);
- }
- }
- }
-
-void CToneSelection::HandleQueryCompleted( CMdEQuery& aQuery, TInt aError )
- {
- iIsQuerying = EFalse;
- iResultArray.ResetAndDestroy();
- if ( aError == KErrCancel )
- {
- iToneSelectionWatcher->HandleQueryError( aError );
- return;
- }
- else
- {
- CMdEObjectQuery* query = static_cast<CMdEObjectQuery*> (&aQuery);
- TInt count = query->Count();
- for (TInt i = 0; i < count; ++i)
- {
- CMdEObject* object =
- (CMdEObject*) query->TakeOwnershipOfResult(i);
- CleanupStack::PushL(object);
- CMdEPropertyDef& propDef =
- CToneSelection::PropertyDefL( iSession, CToneSelection::EAttrSongName );
-
- CMdEProperty* property = 0;
- TInt err = object->Property( propDef, property, 0 );
- if ( err != KErrNotFound && property )
- {
- HBufC* songUri = HBufC::NewL( object->Uri().Length() );
- TPtr ptr = songUri->Des();
- ptr.Copy( object->Uri() );
- iResultArray.AppendL( songUri );
- }
- CleanupStack::PopAndDestroy( object );
- }
- iToneSelectionWatcher->HandleQueryComplete( iResultArray );
- }
- }
-
-void CToneSelection::QueryTonesL()
- {
- LeaveIfSessionClosedL();
- delete iQuery;
- iQuery = 0;
- CMdEObjectDef& musicObjectDef =
- iDefNS->GetObjectDefL( MdeConstants::Audio::KAudioObject );
- iQuery = iSession->NewObjectQueryL( *iDefNS, musicObjectDef, this );
-
- // set attributes that are included in query result
- CMdEPropertyDef& namePropertyDef = PropertyDefL( EAttrSongName );
- iQuery->AddPropertyFilterL( &namePropertyDef );
-
- iQuery->SetResultMode( EQueryResultModeItem );
-
- CMdELogicCondition& conditions = iQuery->Conditions();
- ExcludeMusicPropertiesL( conditions );
- iIsQuerying = ETrue;
- iQuery->FindL();
- }
-
-void CToneSelection::LeaveIfSessionClosedL()
- {
- if ( !iSession || !iSessionOpen )
- {
- User::Leave( KErrDisconnected );
- }
- }
-
-CMdEPropertyDef& CToneSelection::PropertyDefL( TInt aAttr )
- {
- return PropertyDefL( iSession, aAttr );
- }
-
-CMdEPropertyDef& CToneSelection::PropertyDefL( CMdESession* /*aSession*/, TInt aAttr )
- {
- CMdEObjectDef& objectDef =
- iDefNS->GetObjectDefL( MdeConstants::Audio::KAudioObject );
-
- if ( aAttr == EAttrFileSize )
- {
- return objectDef.GetPropertyDefL( MdeConstants::Object::KSizeProperty );
- }
- else if ( aAttr == EAttrMediaType )
- {
- return objectDef.GetPropertyDefL( MdeConstants::Object::KItemTypeProperty );
- }
- else if ( aAttr == EAttrSongName || aAttr == EAttrFileName )
- {
- return objectDef.GetPropertyDefL( MdeConstants::Object::KTitleProperty );
- }
- else if ( aAttr == EAttrArtist )
- {
- return objectDef.GetPropertyDefL( MdeConstants::MediaObject::KArtistProperty );
- }
- else if ( aAttr == EAttrAlbum )
- {
- return objectDef.GetPropertyDefL( MdeConstants::Audio::KAlbumProperty );
- }
- else if ( aAttr == EAttrGenre )
- {
- return objectDef.GetPropertyDefL( MdeConstants::MediaObject::KGenreProperty );
- }
- else if ( aAttr == EAttrComposer )
- {
- return objectDef.GetPropertyDefL( MdeConstants::Audio::KComposerProperty );
- }
- else
- {
- User::Leave( KErrNotSupported );
- }
- //avoid critical warning
- return objectDef.GetPropertyDefL( MdeConstants::Audio::KAudioObject );
- }
-
-void CToneSelection::ExcludeMusicPropertiesL( CMdELogicCondition& aCondition )
- {
- TInt sizeLimitKB = 0;
- CRepository* cenrep = CRepository::NewL( KCRUidProfileEngine );
- CleanupStack::PushL( cenrep );
- User::LeaveIfError( cenrep->Get( KProEngRingingToneMaxSize, sizeLimitKB ) );
- CleanupStack::PopAndDestroy(); // cenrep
-
- SetAttr( CToneSelection::EAttrFileSize, sizeLimitKB );
- CMdEPropertyDef& sizeTypeDef = PropertyDefL( EAttrFileSize );
- CMdEPropertyDef& mimeTypeDef = PropertyDefL( EAttrMediaType );
- CMdEPropertyDef& artistTypeDef = PropertyDefL( EAttrArtist );
- CMdEPropertyDef& albumTypeDef = PropertyDefL( EAttrAlbum );
- CMdEPropertyDef& genreTypeDef = PropertyDefL( EAttrGenre );
- CMdEPropertyDef& composerTypeDef = PropertyDefL( EAttrComposer );
-
- CMdELogicCondition& condition =
- aCondition.AddLogicConditionL( ELogicConditionOperatorAnd );
- condition.AddPropertyConditionL( sizeTypeDef, TMdEIntRange(0, iMaxFileSize * KOneKiloByte, EMdERangeTypeNotBetween) );
- condition.AddPropertyConditionL( mimeTypeDef,
- ETextPropertyConditionCompareContains, KMimeMp3 );
- condition.AddPropertyConditionL( artistTypeDef );
- condition.AddPropertyConditionL( albumTypeDef );
- condition.AddPropertyConditionL( genreTypeDef );
- condition.AddPropertyConditionL( composerTypeDef );
-
- condition.SetNegate( ETrue );
- }
-
-void CToneSelection::SetAttr( int attr, int value )
-{
- switch ( attr )
- {
- case CToneSelection::EAttrFileSize:
- {
- iMaxFileSize = value;
- break;
- }
- default:
- {
- break;
- }
- }
-}
-
-void CToneSelection::ChangeObject()
- {
- if ( QueryReady() )
- {
- iToneSelectionWatcher->HandleObjectChanged();
- }
- }
-
-TBool CToneSelection::QueryReady()
- {
- if ( iQuery )
- {
- return iQuery->IsComplete();
- }
-
- return ETrue;
- }
-// End of File
-
--- a/controlpanelui/src/tonefetcher/tonefetcherengine/private/CToneSelection.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The header file for mde tone fetcher.
- *
- */
-
-#ifndef CTONESELECTION_H
-#define CTONESELECTION_H
-
-#include <e32base.h>
-#include <mdesession.h>
-#include <mdequery.h>
-#include <mdelogiccondition.h>
-#include <mdeconstants.h>
-#include <mdeobjectquery.h>
-#include <mdccommon.h>
-#include <mdeitem.h>
-#include <mdeobject.h>
-
-// FORWARD DECLARATIONS
-class MToneSelectionWatcher;
-class CToneSelection;
-
-/**
-* CMFActiveCaller
-*
-* CMFActiveCaller is used for generating a call from active scheduler.
-* Typical use is to start some operation after a short delay.
-*/
-NONSHARABLE_CLASS (CMFActiveCaller) : public CActive
- {
- public:
- static CMFActiveCaller* NewL( CToneSelection* aObserver );
- virtual ~CMFActiveCaller();
-
- private:
- CMFActiveCaller( CToneSelection* aObserver );
- void ConstructL();
-
- public:
- void Start( TInt aMilliseconds );
- void Stop();
- void Request();
-
- private:
- void RunL();
- void DoCancel();
-
- private:
- // timer
- RTimer iTimer;
-
- // observer that gets called
- CToneSelection* iObserver;
- };
-
-// CLASS DECLARATION
-/**
- * This class is used for quering tones from mde.
- *
- */
-class CToneSelection : public CBase,
- public MMdESessionObserver,
- public MMdEQueryObserver,
- public MMdEObjectObserver,
- public MMdEObjectPresentObserver
- {
- public:
- enum TStorageType
- {
- EPhoneMemory = 0, ERomStorage, EMassStorage, EMemoryCard
- };
-
- enum TQueryAttribute
- {
- EAttrMediaType = 20, // integer
- EAttrFileSize, // integer
- EAttrStorageType, // integer
- EAttrMediaFileId, // integer
- EAttrFileName, // string
- EAttrFullName, // string
- EAttrSongName, // string
- EAttrArtist, // string
- EAttrAlbum, // string
- EAttrGenre, // string
- EAttrComposer
- };
-
- public:
- static CToneSelection* NewL( MToneSelectionWatcher *aWatcher );
- static CToneSelection* NewLC( MToneSelectionWatcher *aWatcher );
-
- virtual ~CToneSelection();
- //iTimer's callback function.
- void ChangeObject();
- void QueryTonesL();
- void SetAttr( int attr, int value );
- TBool QueryReady();
-
- private:
- CToneSelection( MToneSelectionWatcher *aWatcher );
- void ConstructL();
- void ExcludeMusicPropertiesL( CMdELogicCondition& aCondition );
- void LeaveIfSessionClosedL();
- CMdEPropertyDef& PropertyDefL(TInt aAttr);
- CMdEPropertyDef& PropertyDefL(CMdESession* aSession, TInt aAttr);
-
- private:
- // from MMdESessionObserver
- void HandleSessionOpened( CMdESession& aSession, TInt aError );
- void HandleSessionError( CMdESession& aSession, TInt aError );
-
- private:
- // from MMdEQueryObserver (mdequery.h)
- void HandleQueryNewResults( CMdEQuery& aQuery, TInt aFirstNewItemIndex,
- TInt aNewItemCount );
- void HandleQueryCompleted( CMdEQuery& aQuery, TInt aError );
- private:
- // from MMdEObjectObserver
- void HandleObjectNotification( CMdESession& aSession,
- TObserverNotificationType aType,
- const RArray<TItemId>& aObjectIdArray );
-
- private:
- // from MMdEObjectPresentObserver
- void HandleObjectPresentNotification( CMdESession& aSession,
- TBool aPresent, const RArray<TItemId>& aObjectIdArray);
- void AddObjectObserverL();
- void HandleObjectChanged();
- private:
-
- MToneSelectionWatcher* iToneSelectionWatcher;
-
- // session to metadata engine
- CMdESession* iSession;
-
- CMdENamespaceDef* iDefNS;
-
- // metadata query
- CMdEObjectQuery* iQuery;
- TBool iIsQuerying;
-
- // used for saving the quering result.
- RPointerArray<TDesC> iResultArray;
-
- // is metadata session open
- TBool iSessionOpen;
-
- // max audio file file size
- TInt iMaxFileSize;
-
- TInt iMediaFileCounter;
- // for generating active object calls
- CMFActiveCaller* iObjectNotificationCaller;
-
- };
-#endif /* CTONESELECTION_H */
-
--- a/controlpanelui/src/tonefetcher/tonefetcherengine/private/MTonePlayingWatcher.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- *
- */
-
-#ifndef MTONEPLAYINGWATCHER_H
-#define MTONEPLAYINGWATCHER_H
-
-#include <e32def.h>
-
-/*
- * this class is used to watch tone playing event, inherited by ToneFetcherEnginePrivate
- */
-class MTonePlayingWatcher
- {
- public:
- // handle preview event
- virtual void HandlePreviewEvent( TInt event ) = 0;
- };
-
-#endif /* MTONEPLAYINGWATCHER_H */
--- a/controlpanelui/src/tonefetcher/tonefetcherengine/private/MToneSelectionWatcher.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- *
- */
-
-#ifndef MTONESELECTIONWATCHER_H
-#define MTONESELECTIONWATCHER_H
-
-#include <e32def.h>
-#include <e32cmn.h>
-
-/*
- * this class is used to watch MDE system change, inherited by ToneFetcherEnginePrivate
- */
-class MToneSelectionWatcher
- {
- public:
- // handle mde session error event
- virtual void HandleMdeSessionError( TInt aError ) = 0;
-
- // handle mde session open event
- virtual void HandleMdeSessionOpened() = 0;
-
- // handle query error event
- virtual void HandleQueryError( TInt aError ) = 0;
-
- // handle query complete event
- virtual void HandleQueryComplete( RPointerArray<TDesC>& ) = 0;
-
- // handle object changed event
- virtual void HandleObjectChanged() = 0;
- };
-
-#endif /* MTONESELECTIONWATCHER_H */
--- a/controlpanelui/src/tonefetcher/tonefetcherengine/private/tonefetcherengine_stub.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The source file for tone fetcher engine private class of other platforms.
- *
- */
-
-#include "tonefetcherengine_stub.h"
-
-ToneFetcherEnginePrivate::ToneFetcherEnginePrivate()
- {
-
- }
-
-virtual ~ToneFetcherEnginePrivate::ToneFetcherEnginePrivate()
- {
-
- }
-
-void ToneFetcherEnginePrivate::getTones()
- {
-
- }
-
-void ToneFetcherEnginePrivate::play( const QString & )
- {
-
- }
-
-bool ToneFetcherEnginePrivate::isPlaying()
- {
- return false;
- }
-
-void ToneFetcherEnginePrivate::stopPlaying()
- {
-
- }
--- a/controlpanelui/src/tonefetcher/tonefetcherengine/private/tonefetcherengine_stub.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The header file for tone fetcher engine private class of other platforms.
- *
- */
-
-#ifndef TONEFETCHERENGINE_STUB_H
-#define TONEFETCHERENGINE_STUB_H
-
-#include <QObject>
-
-class ToneFetcherEnginePrivate : public QObject
-{
- Q_OBJECT
-
-public:
- ToneFetcherEnginePrivate();
- virtual ~ToneFetcherEnginePrivate();
- void getTones();
- void play( const QString & );
- bool isPlaying();
- void stopPlaying();
-};
-
-#endif /* TONEFETCHERENGINE_STUB */
--- a/controlpanelui/src/tonefetcher/tonefetcherengine/private/tonefetcherengine_symbian.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The source file for tone fetcher engine private class.
- *
- */
-
-
-#include "tonefetcherengine_symbian.h"
-#include "CToneSelection.h"
-#include "CTonePlayer.h"
-#include "tonefetcherutils.h"
-#include <XQConversions>
-
-ToneFetcherEnginePrivate::ToneFetcherEnginePrivate()
- {
- TRAP_IGNORE( mToneSelection = CToneSelection::NewL( this ) );
- TRAP_IGNORE( mTonePlayer = CTonePlayer::NewL( this ) );
- }
-
-ToneFetcherEnginePrivate::~ToneFetcherEnginePrivate()
- {
- mResultList.clear();
- delete mToneSelection;
- delete mTonePlayer;
- }
-
-void ToneFetcherEnginePrivate::getTones()
- {
- QT_TRAP_THROWING( mToneSelection->QueryTonesL() );
- }
-
-void ToneFetcherEnginePrivate::play(const QString &file)
- {
- QT_TRAP_THROWING( mTonePlayer->SetAttrL( XQConversions::qStringToS60Desc( ToneFetcherUtils::normalizeSeperator(file) )->Des() ) );
- QT_TRAP_THROWING( mTonePlayer->PlayL() );
- }
-
-bool ToneFetcherEnginePrivate::isPlaying()
- {
- return mTonePlayer->IsPlaying();
- }
-
-void ToneFetcherEnginePrivate::stopPlaying()
- {
- mTonePlayer->Stop();
- }
-
-void ToneFetcherEnginePrivate::HandleMdeSessionError( TInt aError )
- {
- emit mdeSessionError( aError );
- }
-
-void ToneFetcherEnginePrivate::HandleMdeSessionOpened()
- {
- emit mdeSessionOpened();
- }
-
-void ToneFetcherEnginePrivate::HandleQueryError( TInt aError )
- {
- emit queryError(aError);
- }
-
-void ToneFetcherEnginePrivate::HandleQueryComplete( RPointerArray<TDesC>& aResultArray )
- {
- mResultList.clear();
- for ( int i = 0; i < aResultArray.Count(); ++i )
- {
- mResultList.append( XQConversions::s60DescToQString( *(aResultArray[i]) ) );
- }
- aResultArray.ResetAndDestroy();
- emit queryComplete(mResultList);
- }
-
-void ToneFetcherEnginePrivate::HandleObjectChanged()
- {
- emit notifyObjectChanged();
- }
-
-void ToneFetcherEnginePrivate::HandlePreviewEvent( TInt event )
- {
- emit notifyPreviewEvent(event);
- }
--- a/controlpanelui/src/tonefetcher/tonefetcherengine/private/tonefetcherengine_symbian.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The header file for tone fetcher engine private class of symbian platform.
- *
- */
-
-#ifndef TONEFETCHERENGINEPRIVATE_H
-#define TONEFETCHERENGINEPRIVATE_H
-
-//#include <e32base.h>
-#include "MToneSelectionWatcher.h"
-#include "MTonePlayingWatcher.h"
-#include <QObject>
-#include <QStringList>
-
-class CToneSelection;
-class CTonePlayer;
-
-class ToneFetcherEnginePrivate : public QObject,
- public MToneSelectionWatcher,
- public MTonePlayingWatcher
-{
- Q_OBJECT
-
-public:
- ToneFetcherEnginePrivate();
- virtual ~ToneFetcherEnginePrivate();
- void getTones();
- void play( const QString &file );
- bool isPlaying();
- void stopPlaying();
-
-public:
- //from MToneSelectionWatcher
- void HandleMdeSessionError( TInt aError );
- void HandleMdeSessionOpened();
- void HandleQueryError( TInt aError );
- void HandleQueryComplete( RPointerArray<TDesC>& aResultArray );
- void HandleObjectChanged();
- //from MTonePlayingWatcher
- void HandlePreviewEvent( TInt event );
-
-signals:
- void mdeSessionOpened();
- void mdeSessionError(int error);
- void queryComplete(const QStringList& uriList);
- void queryError(int error);
- void notifyObjectChanged();
- void notifyPreviewEvent(int event);
-
-private:
- QStringList mResultList;
- CToneSelection* mToneSelection;
- CTonePlayer* mTonePlayer;
-};
-#endif /* TONEFETCHERENGINEPRIVATE_H */
--- a/controlpanelui/src/tonefetcher/tonefetcherengine/tonefetcherengine.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The source file for tone fetcher engine.
- *
- */
-#include "tonefetcherengine.h"
-#ifdef Q_OS_SYMBIAN
-#include "tonefetcherengine_symbian.h"
-#else
-#include "tonefetcherengine_stub.h"
-#endif
-
-ToneFetcherEngine::ToneFetcherEngine(QObject* parent) : QObject(parent)
-{
- d = new ToneFetcherEnginePrivate();
- Q_ASSERT(d);
-
- connect(d, SIGNAL(mdeSessionOpened()),
- this, SIGNAL(mdeSessionOpened()));
- connect(d, SIGNAL(mdeSessionError(int)),
- this, SIGNAL(mdeSessionError(int)));
- connect(d, SIGNAL(queryComplete(QStringList)),
- this, SIGNAL(queryComplete(QStringList)));
- connect(d, SIGNAL(queryError(int)),
- this, SIGNAL(queryError(int)));
- connect(d, SIGNAL(notifyObjectChanged()),
- this, SIGNAL(notifyObjectChanged()));
- connect(d, SIGNAL(notifyPreviewEvent(int)),
- this, SIGNAL(notifyPreviewEvent(int)));
-}
-
-ToneFetcherEngine::~ToneFetcherEngine()
-{
- delete d;
-}
-
-void ToneFetcherEngine::getTones()
-{
- d->getTones();
-}
-
-void ToneFetcherEngine::play(const QString &file)
-{
- d->play(file);
-}
-
-bool ToneFetcherEngine::isPlaying()
-{
- return d->isPlaying();
-}
-
-void ToneFetcherEngine::stopPlaying()
-{
- d->stopPlaying();
-}
-
-//End of File
--- a/controlpanelui/src/tonefetcher/tonefetcherengine/tonefetcherengine.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The header file for tone fetcher engine.
- *
- */
-
-#ifndef TONEFETCHERENGINE_H
-#define TONEFETCHERENGINE_H
-#include <QObject>
-#include <QStringList>
-
-class ToneFetcherEnginePrivate;
-
-// CLASS DECLARATION
-/**
- * This class is used for interacting with platform based codes
- * including fetching tones from MDE (Metadata Engine) and playing tones
- * using platform-dependant interface.
- *
- */
-class ToneFetcherEngine : public QObject
-{
- Q_OBJECT
-
-public:
- explicit ToneFetcherEngine( QObject* parent = 0 );
- ~ToneFetcherEngine();
- /*
- * search the tone using MDE, not including rom files.
- */
- void getTones();
-
- /*
- * preview the tone
- * @param file the absolute path of the file.
- */
- void play(const QString &file);
-
- bool isPlaying();
-
- /*
- * stop playing
- */
- void stopPlaying();
-
-signals:
- void mdeSessionOpened();
- void mdeSessionError(int error);
- void queryComplete(const QStringList &uriList);
- void queryError(int error);
- void notifyPreviewEvent(int event);
- void notifyObjectChanged();
-
-private:
- ToneFetcherEnginePrivate *d;
-};
-#endif
--- a/controlpanelui/src/tonefetcher/tsrc/main.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The main window file for tone service test
- *
- */
-#include "tonetestapp.h"
-
-#include <hbapplication.h>
-#include <hbmainwindow.h>
-
-int main(int argc, char *argv[])
-{
-
- QCoreApplication::setOrganizationName("Nokia");
- QCoreApplication::setApplicationName("ToneTestApp");
-
- HbApplication app(argc, argv);
- HbMainWindow mainWindow;
- ToneTestApp *mainView = new ToneTestApp;
- mainWindow.addView(mainView);
- mainWindow.show();
- return app.exec();
-}
--- a/controlpanelui/src/tonefetcher/tsrc/rom/rom.pri Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-#
-# Description:
-# Rom exports for tonetestapp
-#
-
-symbian {
- TONETESTAPP_IBY_DIR = $$section(PWD, ":", 1)
-
- exists(/epoc32/include/platform_paths.hrh) {
- BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>"
- } else {
- BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <domain\osextensions\platform_paths.hrh>"
- }
-
- BLD_INF_RULES.prj_exports += "$$TONETESTAPP_IBY_DIR/tonetestapp.iby CORE_APP_LAYER_IBY_EXPORT_PATH(tonetestapp.iby)"
-
-}
--- a/controlpanelui/src/tonefetcher/tsrc/rom/tonetestapp.iby Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef __TONETESTAPP_IBY__
-#define __TONETESTAPP_IBY__
-
-#include <bldprivate.hrh>
-
-#define HB_UPGRADABLE_APP_REG_RSC(NAME) data=DATAZ_\PRIVATE\10003A3F\IMPORT\APPS\ ## NAME ## _reg.rsc Private\10003a3f\import\apps\ ## NAME ## _reg.rsc
-
-file=ABI_DIR\BUILD_DIR\tonetestapp.exe SHARED_LIB_DIR\tonetestapp.exe
-HB_UPGRADABLE_APP_REG_RSC(tonetestapp)
-S60_APP_RESOURCE(tonetestapp)
-
-#endif
-
--- a/controlpanelui/src/tonefetcher/tsrc/tonetestapp.cpp Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The source file for tone service test.
- *
- */
-#include "tonetestapp.h"
-#include <xqaiwrequest.h>
-#include <QGraphicsLinearLayout>
-#include <hbpushbutton.h>
-#include <hblineedit.h>
-#include <hblabel.h>
-#include <qdebug>
-#include <xqservicerequest.h>
-
-ToneTestApp::ToneTestApp(QGraphicsItem *parent) :
- HbView(parent),
- mReq(0),
- mResultEdit(0),
- mErrorCodeEdit(0),
- mErrorEdit(0)
-{
- qDebug() << "ToneTestApp::ToneTestApp(";
- createLayout();
-}
-
-ToneTestApp::~ToneTestApp()
-{
- qDebug() << "ToneTestApp::~ToneTestApp";
- delete mReq;
-}
-
-void ToneTestApp::handleOk(const QVariant &result)
-{
- qDebug() << "ToneTestApp::handleOk";
-
- if (!result.canConvert<QString>())
- {
- mErrorEdit->setText("Corrupt result");
- }
- else
- {
- mResultEdit->setText(result.value<QString>());
- qDebug() << "ToneTestApp::handleOk" << ": result=" << result.value<QString>();
- }
-
-}
-
-void ToneTestApp::handleError(int errorCode, const QString& errorMessage)
-{
- qDebug() << "ToneTestApp::handleError" << ": errorCode=" << errorCode << ", msg:" << errorMessage;
- mErrorEdit->setText(errorMessage);
- mErrorCodeEdit->setText(QString::number(errorCode));
-}
-
-void ToneTestApp::createLayout()
-{
- qDebug() << "ToneTestApp::createLayout";
-
- QGraphicsLinearLayout* layout = new QGraphicsLinearLayout(Qt::Vertical);
-
- if (layout)
- {
- QGraphicsLinearLayout *topLayout = new QGraphicsLinearLayout(Qt::Vertical);
-
- if (topLayout)
- {
- topLayout->addStretch(5);
-
- mResultEdit = new HbLineEdit;
- HbLabel* label = new HbLabel("Result:");
- if (mResultEdit && label)
- {
- topLayout->addItem(label);
- mResultEdit->setMaxRows(5);
- topLayout->addItem(mResultEdit);
- }
-
- mErrorCodeEdit = new HbLineEdit;
- label = new HbLabel("Error code:");
- if (mErrorCodeEdit && label)
- {
- topLayout->addItem(label);
- topLayout->addItem(mErrorCodeEdit);
- }
-
- mErrorEdit = new HbLineEdit;
- label = new HbLabel("Error description:");
- if (mErrorEdit && label)
- {
- topLayout->addItem(label);
- mErrorEdit->setMaxRows(5);
- topLayout->addItem(mErrorEdit);
- }
-
- layout->addItem(topLayout);
- layout->setStretchFactor(topLayout, 5);
- }
-
- QGraphicsLinearLayout *bottomLayout = new QGraphicsLinearLayout(Qt::Vertical);
-
- if (bottomLayout)
- {
- bottomLayout->addStretch();
- HbPushButton* button = new HbPushButton("Fetch tone");
- if (button)
- {
- connect(button, SIGNAL(clicked()), this, SLOT(fetchTone()));
- bottomLayout->addItem(button);
- }
- layout->addItem(bottomLayout);
- }
-
- setLayout(layout); // Takes ownership of layout
- }
-}
-
-void ToneTestApp::fetchTone()
-{
- qDebug() << "ToneTestApp::fetchSong START";
-
- mResultEdit->setText("");
- mErrorEdit->setText("");
- mErrorCodeEdit->setText("");
-
- if (!mReq)
- {
- mReq = mAppMgr.create("com.nokia.symbian.IToneFetch", "fetch()", true);
- // XQServiceRequest snd("com.nokia.services.toneserviceprovider.tone", "queryTone()", true);
- // QVariant retValue;
-
- /* bool res = snd.send(retValue);
- if (!res)
- {
- int returnvalue = snd.latestError();
- mErrorEdit->setText(QString::number(returnvalue));
- // mRetValue->setText("send fail!");
- }*/
-
- if (!mReq)
- {
- mErrorEdit->setText("Failed to create REQ");
- return;
- }
- else
- {
- connect(mReq, SIGNAL(requestOk(const QVariant&)), SLOT(handleOk(const QVariant&)));
- connect(mReq, SIGNAL(requestError(int,const QString&)), SLOT(handleError(int,const QString&)));
- }
- }
-
- // Set arguments for request (application title)
- QList<QVariant> args;
- args << QVariant(QString("<app_name>"));
- mReq->setArguments(args);
-
- // Make the request
- if (!mReq->send())
- {
- mErrorEdit->setText("Failed to send REQ");
- }
-}
-
--- a/controlpanelui/src/tonefetcher/tsrc/tonetestapp.h Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * The header file for tone service test.
- *
- */
-#ifndef TONETESTAPP_H
-#define TONETESTAPP_H
-
-#include <hbview.h>
-#include <xqappmgr.h>
-
-class XQApplicationManager;
-class XQAiwRequest;
-class HbLineEdit;
-
-class ToneTestApp : public HbView
-{
- Q_OBJECT
-
-public:
- ToneTestApp(QGraphicsItem *parent=0);
- virtual ~ToneTestApp();
-
-private slots:
- void handleOk(const QVariant &result);
- void handleError(int errorCode, const QString& errorMessage);
-
- void fetchTone();
-
-private:
- void createLayout();
-
-private:
- XQApplicationManager mAppMgr;
- XQAiwRequest* mReq;
- HbLineEdit* mResultEdit;
- HbLineEdit* mErrorCodeEdit;
- HbLineEdit* mErrorEdit;
-};
-
-#endif // TONETESTAPP_H
--- a/controlpanelui/src/tonefetcher/tsrc/tonetestapp.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = app
-TARGET = tonetestapp
-
-CONFIG += hb
-LIBS += -lxqservice -lxqserviceutil
-
-
-HEADERS += tonetestapp.h
-SOURCES += tonetestapp_reg.rss \
- main.cpp \
- tonetestapp.cpp
-RESOURCES +=
-symbian {
- include(rom/rom.pri)
- TARGET.UID3 = 0x2002BCC9
- TARGET.CAPABILITY = ALL -TCB
- INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-}
-
--- a/controlpanelui/tsrc/tsrc.pro Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = subdirs
-SUBDIRS = ../src/cpcategorymodel/tsrc/testpluginsforcpcategorymodel/firstpluginforcpcategorymodel \
- ../src/cpcategorymodel/tsrc/testpluginsforcpcategorymodel/secondpluginforcpcategorymodel \
- ../src/cpcategorymodel/tsrc/ut_cppluginconfigreader \
- ../src/cpcategorymodel/tsrc/ut_categorymodelitemdata \
- ../src/cpcategorymodel/tsrc/ut_categorymodelutility \
- ../src/cpcategorymodel/tsrc/ut_cpcategorysettingformmodel \
- ../src/cpprofilewrapper/tsrc/ut_cpprofilemodel
-
-CONFIG += ordered
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/group/bld.inf Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Build information file for project DefaultApplicationSettings
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+#include "../services_db/group/bld.inf"
+#include "../server/group/bld.inf"
+#include "../service/group/bld.inf"
+#include "../gsplugin/group/bld.inf"
+
+PRJ_EXPORTS
+
+../rom/DefaultApplicationSettings.iby CORE_APP_LAYER_IBY_EXPORT_PATH(defaultapplicationsettings.iby)
+../rom/DefaultApplicationSettingsResources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(defaultapplicationsettingsresources.iby)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/gsplugin/data/10281BA0.rss Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,99 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: ECOM Interface definition for project General Settings Plugin
+*
+*/
+
+
+#include <registryinfo.rh>
+
+/**
+* How to use the resource definition:
+*
+* IMPLEMENTATION_INFO
+* {
+* implementation_uid = <Your implementation UID here>;
+* version_no = 1;
+* display_name = "<Your plugin name here (just for debugging)>";
+* default_data = "<One of the below UIDs your plugin will be part of>";
+* opaque_data = "<Position of your plugin in the parent listbox>";
+* }
+*
+* For example plugins wishing to use Apps Plugin as a parent use
+* KGSAppsPluginUid (defined in GSFWViewUIDs.h):
+*
+* default_data = "0x10207239";
+
+// Use this UID if plugin belongs to Main view:
+const TUid KGSMainViewUid = { 0x1020723B };
+
+
+// No item is selected in the container's listbox
+const TUid KGSNoneSelected = { 0x00000000 };
+
+// UIDs used by the sub-view plugins:
+
+// Use this UID if plugin belongs to General view:
+const TUid KGSGenPluginUid = { 0x10207237 };
+
+// Use this UID if plugin belongs to Telephony view:
+const TUid KGSTelPluginUid = { 0x1020723D };
+
+// Use this UID if plugin belongs to Connection view:
+const TUid KGSConPluginUid = { 0x10207250 };
+
+// Use this UID if plugin belongs to Applications view:
+const TUid KGSAppsPluginUid = { 0x10207239 };
+
+// Use this UID if plugin belongs to Personalisation view:
+const TUid KGSPrslnPluginUid = { 0x10207252 };
+
+// Use this UID if plugin belongs to Security view:
+const TUid KGSSecurityPluginUid = { 0x1020743A };
+
+// Use this UID if plugin belongs to Standby view:
+const TUid KGSStandbyPluginUid = { 0x1020743F };
+
+*
+* Note that position of the plugin is supported only for internally provided
+* plugins. Others, such as 3rd party plugins, are sorted according to their
+* name and plugin provider category.
+*
+* Plugin position must follow the postition defined in UI specification.
+* Position starts from 0. Use -1 if position is not to be used in sorting.
+*
+*/
+RESOURCE REGISTRY_INFO theInfo
+ {
+ dll_uid = 0x10281BA0; // Plugin dll UID
+ interfaces =
+ {
+ INTERFACE_INFO
+ {
+ interface_uid = 0x10207236; // UID for CGSPluginInterface - do not change.
+ implementations =
+ {
+ IMPLEMENTATION_INFO
+ {
+ implementation_uid = 0x10281BA1; // Plugin UID
+ version_no = 1;
+ display_name = "DefaultAppSettings Plugin";
+ default_data = "0x10207239";
+ opaque_data = "0"; // Order number. We are the first
+ }
+ };
+ }
+ };
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/gsplugin/data/gsdasplugin_rsc.rss Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Resource file for project General Settings Plugin
+*
+*/
+
+
+// INCLUDES
+#include <bldvariant.hrh>
+#include <avkon.rh>
+#include <avkon.rsg>
+#include <avkon.mbg>
+#include <eikcore.rsg>
+#include <eikon.rh>
+#include <eikon.rsg>
+#include <avkon.loc>
+#include <data_caging_paths_strings.hrh>
+
+#include <gs_das.loc>
+
+// RESOURCE IDENTIFIER
+NAME DAGS
+RESOURCE RSS_SIGNATURE { }
+RESOURCE TBUF { buf=""; }
+
+// RESOURCE DEFINITIONS
+
+//----------------------------------------------------
+//
+// r_gs_menubar_change_exit
+// Options menu with 'Exit' item.
+//
+//----------------------------------------------------
+//
+RESOURCE MENU_BAR r_gs_menubar_change_exit
+ {
+ titles =
+ {
+ MENU_TITLE
+ {
+ menu_pane = r_gs_menu_item_exit;
+ }
+ };
+ }
+
+//----------------------------------------------------
+//
+// r_gs_menu_item_exit
+// Options menu item 'Exit'.
+//
+//----------------------------------------------------
+//
+RESOURCE MENU_PANE r_gs_menu_item_exit
+ {
+ items =
+ {
+ MENU_ITEM
+ {
+ command = EAknCmdExit;
+ txt = qtn_options_exit;
+ }
+ };
+ }
+
+//----------------------------------------------------
+//
+// r_gs_example_view_title
+// Packet data view's title.
+//
+//----------------------------------------------------
+//
+RESOURCE TBUF r_gs_defaultapp_caption
+ {
+ buf = qtn_da_gsp_caption;
+ }
+
+//----------------------------------------------------
+//
+// r_gs_defaultapp_view
+// Default App plugin view.
+//
+//----------------------------------------------------
+//
+RESOURCE AVKON_VIEW r_gs_defaultapp_view
+ {
+ menubar = r_gs_menubar_change_exit;
+ cba = R_AVKON_SOFTKEYS_OPTIONS_BACK__SELECT;
+ }
+
+//End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/gsplugin/group/GSDasPluginIcons.mk Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,71 @@
+#
+# Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0""
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: Icons makefile for project Default Application settings
+#
+
+ifeq (WINS,$(findstring WINS, $(PLATFORM)))
+ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
+else
+ZDIR=\epoc32\data\z
+endif
+
+# ----------------------------------------------------------------------------
+# : Configure these
+# ----------------------------------------------------------------------------
+
+TARGETDIR=$(ZDIR)\resource\apps
+HEADERDIR=\epoc32\include
+ICONTARGETFILENAME=$(TARGETDIR)\gsdasplugin.mif
+HEADERFILENAME=$(HEADERDIR)\gsdasplugin.mbg
+
+do_nothing :
+ @rem do_nothing
+
+MAKMAKE : do_nothing
+
+BLD : do_nothing
+
+CLEAN : do_nothing
+
+LIB : do_nothing
+
+CLEANLIB : do_nothing
+
+# ----------------------------------------------------------------------------
+# : Configure these.
+#
+# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
+# MifConv if the mask detph is defined.
+#
+# NOTE 2: Usually, source paths should not be included in the bitmap
+# definitions. MifConv searches for the icons in all icon directories in a
+# predefined order, which is currently \s60\icons, \s60\bitmaps2, \s60\bitmaps.
+# The directory \s60\icons is included in the search only if the feature flag
+# __SCALABLE_ICONS is defined.
+# ----------------------------------------------------------------------------
+
+RESOURCE :
+ mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
+ /c8,8 qgn_prop_cp_dev_def.svg
+
+
+FREEZE : do_nothing
+
+SAVESPACE : do_nothing
+
+RELEASABLES :
+ @echo $(HEADERFILENAME)&& \
+ @echo $(ICONTARGETFILENAME)
+
+FINAL : do_nothing
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/gsplugin/group/bld.inf Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Build information file for project General Settings Plugin
+*
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+// export loc file
+../loc/gs_das.loc APP_LAYER_LOC_EXPORT_PATH( gs_das.loc )
+
+PRJ_EXTENSIONS
+START EXTENSION s60/mifconv
+ OPTION TARGETFILE gsdasplugin.mif
+ OPTION HEADERFILE gsdasplugin.mbg
+ OPTION SOURCES -c8,8 qgn_prop_cp_dev_def
+END
+
+
+PRJ_MMPFILES
+gsdasplugin.mmp
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/gsplugin/group/gsdasplugin.mmp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project definition file for project General Settings Plugin
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+CAPABILITY CAP_ECOM_PLUGIN
+TARGET gsdasplugin.dll
+TARGETTYPE PLUGIN
+UID 0x10009D8D 0x10281BA0
+VENDORID VID_DEFAULT
+
+SOURCEPATH ../src
+SOURCE gs_das_implementationtable.cpp
+SOURCE gs_das.cpp
+SOURCE gs_das_emptycontainer.cpp
+
+USERINCLUDE ../inc
+USERINCLUDE ../data
+
+// Default system include paths for middleware layer modules.
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE /epoc32/include/ecom
+
+SOURCEPATH ../data
+//ECOM resource definition
+START RESOURCE 10281BA0.rss
+TARGET gsdasplugin.rsc
+END // ECOM resource definition
+
+//Default App GS plugin resources
+START RESOURCE gsdasplugin_rsc.rss
+HEADER
+TARGETPATH RESOURCE_FILES_DIR
+LANGUAGE_IDS
+END // Default App GS plugin resources
+
+LIBRARY euser.lib
+LIBRARY ecom.lib
+LIBRARY egul.lib
+LIBRARY aknskins.lib
+LIBRARY efsrv.lib
+LIBRARY avkon.lib
+LIBRARY bafl.lib
+LIBRARY cone.lib
+LIBRARY eikcore.lib
+LIBRARY commonengine.lib//For RConeResourceLoader
+LIBRARY gsframework.lib
+LIBRARY gsecomplugin.lib
+LIBRARY defaultappclient.lib
+
+LIBRARY apparc.lib
+LIBRARY apgrfx.lib
+
+// End of File
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/gsplugin/inc/gs_das.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,177 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implements a (minimal) GS Plugin
+*
+*/
+
+
+
+#ifndef GS_DAS_H
+#define GS_DAS_H
+
+// Includes
+#include <aknview.h>
+#include <AknServerApp.h>
+#include <eikclb.h>
+#include <ConeResLoader.h>
+
+#include <gsplugininterface.h>
+#include "gs_das_emptycontainer.h"
+// Classes referenced
+class CDefaultAppClient;
+
+// Constants
+/** This is the name of the plugin's resource file */
+_LIT( KDefaultAppGSPluginResourceFileName, "z:gsdasplugin_rsc.rsc" );
+
+/** This is the plugin's UID */
+const TUid KDefaultAppGSPluginUid = { 0x10281BA1 };
+
+// CLASS DECLARATION
+
+/**
+ * This class implements a GS plugin.
+ *
+ * This class inplements a GS plugin that acts as a client for the Default App Server, so that it can be
+ * accessed from the GS application.
+ *
+ * @since S60 5.0
+ */
+class CDefaultAppGSPlugin : public CGSPluginInterface, public MAknServerAppExitObserver
+ {
+
+public: // Constructors and destructor
+
+ /**
+ * Symbian OS two-phased constructor
+ * @return
+ */
+
+ static CDefaultAppGSPlugin* NewL( TAny* aInitParams );
+
+ /**
+ * Destructor.
+ */
+ ~CDefaultAppGSPlugin();
+
+public: // From CAknView
+
+ /**
+ * From CAknView
+ * Returns the UID of the Plugin (see base class)
+ *
+ * @since S60 5.0
+ */
+ TUid Id() const;
+
+ /**
+ * From CAknView
+ * Activates the plugin (see base class)
+ *
+ * @since S60 5.0
+ * @param aPrevViewId see base class
+ * @param aCustomMessageId see base class
+ * @param aCustomMessage see base class
+ */
+ void DoActivateL( const TVwsViewId& aPrevViewId,
+ TUid aCustomMessageId,
+ const TDesC8& aCustomMessage );
+
+ /**
+ * From CAknView
+ * Deactivates the Plugin (see base class)
+ *
+ * @since S60 5.0
+ */
+ void DoDeactivate();
+
+ /**
+ * From CAknView
+ * Handles a menu command (see base class)
+ *
+ * @since S60 5.0
+ * @param aCommand the command to handle
+ */
+ void HandleCommandL( TInt aCommand );
+
+public: // From CGSPluginInterface
+
+ /**
+ * From CGSPluginInterface
+ * Returns the Plugin Caption (see base class)
+ *
+ * @since S60 5.0
+ * @param aCaption placeholder for the caption
+ */
+ void GetCaptionL( TDes& aCaption ) const;
+
+ /**
+ * From CGSPluginInterface
+ * Returns the plugin's icon (see CGSPluginInterface header file)
+ *
+ * @since S60 5.0
+ * @param aIconType icon type
+ */
+ CGulIcon* CreateIconL( const TUid aIconType );
+
+private: // From MAknServerAppExitObserver
+
+ /**
+ * From MAknServerAppExitObserver
+ * Handles server exits
+ *
+ * @since S60 5.0
+ * @param aReason for the server exit
+ */
+ void HandleServerAppExit ( TInt aReason );
+
+private:
+
+ /**
+ * C++ default constructor.
+ */
+ CDefaultAppGSPlugin();
+
+ /**
+ * Symbian OS default constructor.
+ */
+ void ConstructL();
+
+private: // Data
+
+ /**
+ * The Resource Loader
+ */
+ RConeResourceLoader iResources; // Resouce loader.
+
+ /**
+ * The id of the previous View, to be activated when user pushes Back
+ */
+ TVwsViewId iPrevViewId;
+
+ /**
+ * Pointer to the Default App Client API class
+ * Own.
+ */
+ CDefaultAppClient* iClient;
+
+ /**
+ * Empty Container, used to avoid screen flickering
+ * Own.
+ */
+ CCEmptyContainer* iEmptyContainer;
+ };
+
+#endif // GS_DAS_H
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/gsplugin/inc/gs_das_emptycontainer.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implements a empty container for gsplugin
+*
+*/
+
+
+#ifndef CEMPTYCONTAINER_H
+#define CEMPTYCONTAINER_H
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+#include <coecntrl.h>
+
+// CLASS DECLARATION
+
+/**
+ * CCEmptyContainer
+ *
+ */
+class CCEmptyContainer : public CCoeControl
+ {
+public:
+ // Constructors and destructor
+
+ /**
+ * Destructor.
+ */
+ ~CCEmptyContainer();
+
+ /**
+ * Two-phased constructor.
+ */
+ static CCEmptyContainer* NewL ( const TRect& aRect, const CCoeControl* aParent );
+
+ /**
+ * Two-phased constructor.
+ */
+ static CCEmptyContainer* NewLC ( const TRect& aRect, const CCoeControl* aParent );
+
+public:
+ // from base class CCoeControl
+ TInt CountComponentControls() const;
+
+ CCoeControl* ComponentControl( TInt aIndex ) const;
+
+private:
+
+ /**
+ * Constructor for performing 1st stage construction
+ */
+ CCEmptyContainer();
+
+ /**
+ * EPOC default constructor for performing 2nd stage construction
+ */
+ void ConstructL ( const TRect& aRect, const CCoeControl* aParent );
+
+ };
+
+#endif // CEMPTYCONTAINER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/gsplugin/loc/gs_das.loc Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Localization strings for project General Settings Plugin
+*
+*/
+
+
+// d:Text of a list item in General Settings application
+// d:Item opens the Default Applications settings
+// l:list_single_large_graphic_pane_t1
+// r:5.0
+//
+#define qtn_da_gsp_caption "Default Applications"
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/gsplugin/src/gs_das.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,255 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implements a (minimal) GS Plugin
+*
+*/
+
+
+// Includes
+#include <aknViewAppUi.h>
+#include <StringLoader.h>
+#include <bautils.h>
+
+#include <gsdasplugin_rsc.rsg> // Plugin's own UI resources
+#include <gsdasplugin.mbg>
+
+#include "gs_das.h"
+
+#include <das_client.h>
+
+
+// Constants
+
+#ifdef __SCALABLE_ICONS
+ // svg file
+ _LIT( KGSDasPluginIconFileName, "\\resource\\apps\\GSDasPlugin.mif");
+#else
+ // bitmap
+ _LIT( KGSDasPluginIconFileName, "\\resource\\apps\\GSDasPlugin.mbm");
+#endif // __SCALABLE_ICONS
+
+
+// ========================= MEMBER FUNCTIONS ================================
+
+
+// ---------------------------------------------------------------------------
+// CDefaultAppGSPlugin::CDefaultAppGSPlugin()
+// Constructor
+//
+// ---------------------------------------------------------------------------
+//
+CDefaultAppGSPlugin::CDefaultAppGSPlugin( )
+ : iResources( *iCoeEnv ), iClient(NULL)
+ {
+
+ }
+
+// ---------------------------------------------------------------------------
+// CDefaultAppGSPlugin::~CDefaultAppGSPlugin()
+// Destructor
+//
+// ---------------------------------------------------------------------------
+//
+CDefaultAppGSPlugin::~CDefaultAppGSPlugin()
+ {
+ iResources.Close();
+ if(iClient)
+ delete iClient;
+ if( iEmptyContainer )
+ {
+ AppUi()->RemoveFromViewStack( *this, iEmptyContainer );
+ delete iEmptyContainer;
+ };
+ }
+
+// ---------------------------------------------------------------------------
+// CDefaultAppGSPlugin::ConstructL()
+// Symbian OS two-phased constructor
+//
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppGSPlugin::ConstructL()
+ {
+ // Find the resource file:
+ TParse parse;
+ parse.Set( KDefaultAppGSPluginResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL );
+ TFileName fileName( parse.FullName() );
+
+ // Get language of resource file:
+ BaflUtils::NearestLanguageFile( CEikonEnv::Static()->FsSession(), fileName );
+
+ // Open resource file:
+ iResources.OpenL( fileName );
+
+ //We can call this after opening the resource file ...
+ BaseConstructL( R_GS_DEFAULTAPP_VIEW );
+ }
+
+// ---------------------------------------------------------------------------
+// CDefaultAppGSPlugin::NewL()
+// Static constructor
+//
+// ---------------------------------------------------------------------------
+//
+CDefaultAppGSPlugin* CDefaultAppGSPlugin::NewL( TAny* /*aInitParams*/ )
+ {
+ CDefaultAppGSPlugin* self = new( ELeave ) CDefaultAppGSPlugin( );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+
+// ========================= From CAknView ==================
+
+
+// ---------------------------------------------------------------------------
+// From class CAknView.
+// Returns the UID of the plugin (see base class)
+// ---------------------------------------------------------------------------
+//
+TUid CDefaultAppGSPlugin::Id() const
+ {
+ return KDefaultAppGSPluginUid;
+ }
+
+
+// ---------------------------------------------------------------------------
+// From class CAknView.
+// Activates the plugin (see base class)
+// See das_servmimeapps.h for possible values of the flags (useful for R&D)
+// -0x00010000 :
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppGSPlugin::DoActivateL( const TVwsViewId& aPrevViewId,
+ TUid /*aCustomMessageId*/,
+ const TDesC8& /*aCustomMessage*/ )
+ {
+ iPrevViewId = aPrevViewId;
+
+ TInt flags(0); //See das_servmimeapps.h for possible values of the flags (useful for R&D)
+
+ if( !iClient )
+ {
+ iClient=CDefaultAppClient::NewL(this);
+ }
+
+ iClient->ChangeDefaultsL( flags );
+
+ //construct an empty control, so we avoid the screen flickering
+ if( !iEmptyContainer )
+ {
+ iEmptyContainer = CCEmptyContainer::NewL( ClientRect(),NULL );
+ iEmptyContainer->SetMopParent(this);
+ AppUi()->AddToStackL(*this, iEmptyContainer);
+ };
+ }
+
+
+// ---------------------------------------------------------------------------
+// From class CAknView.
+// Deactivates the Plugin (see base class)
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppGSPlugin::DoDeactivate()
+ {
+ if(iEmptyContainer)
+ {
+ AppUi()->RemoveFromViewStack(*this, iEmptyContainer);
+ delete iEmptyContainer;
+ iEmptyContainer=NULL;
+ };
+ }
+
+
+// ---------------------------------------------------------------------------
+// From class CAknView.
+// Handles a menu command (see base class)
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppGSPlugin::HandleCommandL( TInt aCommand )
+ {
+ switch ( aCommand )
+ {
+ case EAknSoftkeyBack:
+ AppUi()->ActivateLocalViewL( iPrevViewId.iViewUid );
+ break;
+ case EAknCmdExit:
+ case EEikCmdExit:
+ AppUi()->RunAppShutter();
+ break;
+ default:
+ AppUi()->HandleCommandL( aCommand ); //also handles EAknCmdExit
+ break;
+ }
+ }
+// ========================= From CGSPluginInterface ==================
+
+
+
+// ---------------------------------------------------------------------------
+// From class CGSPluginInterface.
+// Returns the Plugin Caption (see base class)
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppGSPlugin::GetCaptionL( TDes& aCaption ) const
+ {
+ HBufC* result = StringLoader::LoadL( R_GS_DEFAULTAPP_CAPTION );
+ aCaption.Copy( *result );
+ delete result;
+ }
+
+// ---------------------------------------------------------------------------
+// From class CGSPluginInterface.
+// Return the icon, if has one.
+// ---------------------------------------------------------------------------
+//
+CGulIcon* CDefaultAppGSPlugin::CreateIconL( const TUid aIconType )
+ {
+ //EMbm<Mbm_file_name><Bitmap_name>
+ CGulIcon* icon;
+
+ if( aIconType == KGSIconTypeLbxItem )
+ {
+ icon = AknsUtils::CreateGulIconL(
+ AknsUtils::SkinInstance(),
+ KAknsIIDQgnPropCpDevDef,
+ KGSDasPluginIconFileName,
+ EMbmGsdaspluginQgn_prop_cp_dev_def,
+ EMbmGsdaspluginQgn_prop_cp_dev_def_mask );
+ }
+ else
+ {
+ icon = CGSPluginInterface::CreateIconL( aIconType );
+ };
+
+ return icon;
+ }
+
+// ========================= From MAknServerAppExitObserver ==================
+
+// ---------------------------------------------------------------------------
+// From class MAknServerAppExitObserver.
+// Handles server exits
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppGSPlugin::HandleServerAppExit( TInt aReason)
+ {
+ delete iClient;
+ iClient=NULL;
+ TRAP_IGNORE(HandleCommandL(aReason));//do not care why it leaved
+ }
+
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/gsplugin/src/gs_das_emptycontainer.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implements a (minimal) GS Plugin
+*
+*/
+
+
+#include "gs_das_emptycontainer.h"
+
+CCEmptyContainer::CCEmptyContainer()
+ {
+ // No implementation required
+ }
+
+CCEmptyContainer::~CCEmptyContainer()
+ {
+ }
+
+CCEmptyContainer* CCEmptyContainer::NewLC ( const TRect& aRect,
+ const CCoeControl* aParent )
+ {
+ CCEmptyContainer* self = new (ELeave) CCEmptyContainer();
+ CleanupStack::PushL ( self );
+ self->ConstructL( aRect, aParent );
+ return self;
+ }
+
+CCEmptyContainer* CCEmptyContainer::NewL ( const TRect& aRect,
+ const CCoeControl* aParent )
+ {
+ CCEmptyContainer* self = CCEmptyContainer::NewLC ( aRect, aParent );
+ CleanupStack::Pop(); // self;
+ return self;
+ }
+
+void CCEmptyContainer::ConstructL( const TRect& aRect,const CCoeControl* aParent )
+ {
+ if ( aParent == NULL )
+ {
+ CreateWindowL();
+ }
+ else
+ {
+ SetContainerWindowL( *aParent );
+ }
+ SetRect( aRect );
+ ActivateL();
+ }
+
+TInt CCEmptyContainer::CountComponentControls() const
+ {
+ return 0;
+ }
+
+CCoeControl* CCEmptyContainer::ComponentControl ( TInt aIndex ) const
+ {
+ switch( aIndex )
+ {
+
+ }
+ return NULL;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/gsplugin/src/gs_das_implementationtable.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation table
+*
+*/
+
+
+// System includes
+#include <e32std.h>
+#include <implementationproxy.h>
+
+// User includes
+#include "gs_das.h"
+#include <das_client.h>
+
+// Constants
+const TImplementationProxy KDASGSPluginImplementationTable[] =
+ {
+ // Uid for plugin implementation:
+ IMPLEMENTATION_PROXY_ENTRY( 0x10281BA1, CDefaultAppGSPlugin::NewL )
+ };
+
+
+// ---------------------------------------------------------------------------
+// ImplementationGroupProxy
+// Gate/factory function
+//
+// ---------------------------------------------------------------------------
+//
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
+ TInt& aTableCount )
+ {
+ TInt error;
+ if( !CDefaultAppClient::ServiceAvailable(error) )
+ {
+ //there was an error, service not found.
+ aTableCount=0;
+ }
+ else //service was found
+ aTableCount = sizeof( KDASGSPluginImplementationTable )
+ / sizeof( TImplementationProxy );
+
+ return KDASGSPluginImplementationTable;
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/rom/DefaultApplicationSettings.iby Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Image description file for project DefaultApplicationSettings
+*
+*/
+
+
+
+#ifndef DEFAULTAPPLICATIONSETTINGS_IBY
+#define DEFAULTAPPLICATIONSETTINGS_IBY
+
+#include <bldvariant.hrh>
+
+#ifdef RD_DEFAULT_APPLICATION_SETTINGS
+
+S60_APP_EXE(DefaultAppServer)
+S60_APP_AIF_RSC(DefaultAppServer)
+
+//services_db
+file=ABI_DIR\BUILD_DIR\servicesdb.dll SHARED_LIB_DIR\servicesdb.dll
+
+//client lib
+file=ABI_DIR\BUILD_DIR\defaultappclient.dll SHARED_LIB_DIR\defaultappclient.dll
+
+//gs plugin
+ECOM_PLUGIN( gsdasplugin.dll, 10281BA0.rsc )
+data=DATAZ_\BITMAP_DIR\GSDasPlugin.mif BITMAP_DIR\GSDasPlugin.mif
+
+#endif // RD_DEFAULT_APPLICATION_SETTINGS
+
+#endif // DEFAULTAPPLICATIONSETTINGS_IBY
+
+// End of File
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/rom/DefaultApplicationSettingsResources.iby Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Image description file for project DefaultApplicationSettings
+*
+*/
+
+
+
+#ifndef DEFAULTAPPLICATIONSETTINGSRESOURCES_IBY
+#define DEFAULTAPPLICATIONSETTINGSRESOURCES_IBY
+
+#include <bldvariant.hrh>
+
+#ifdef RD_DEFAULT_APPLICATION_SETTINGS
+
+//server
+data=DATAZ_\APP_RESOURCE_DIR\defaultappserver.rsc APP_RESOURCE_DIR\defaultappserver.rsc
+
+//gs plugin
+data=DATAZ_\RESOURCE_FILES_DIR\gsdasplugin_rsc.rsc RESOURCE_FILES_DIR\gsdasplugin_rsc.rsc
+
+#endif // RD_DEFAULT_APPLICATION_SETTINGS
+
+#endif // DEFAULTAPPLICATIONSETTINGSRESOURCES_IBY
+
+// End of File
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/data/defaultappserver.rss Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,460 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Resource definitions for project DefaultApp Server
+*
+*/
+
+
+#include <avkon.rh>
+#include <avkon.rsg>
+#include <avkon.hrh>
+#include <avkon.loc>
+#include <avkon.mbg>
+
+#include <eikon.rh>
+#include <eikon.rsg>
+
+#include <uikon.rh>
+
+#include <bldvariant.hrh>
+
+#include <appinfo.rh>//localisable app info
+#include <data_caging_paths_strings.hrh>
+
+#include <services_db.rh>
+#include "das_gsentries.rh"
+#include "das.hrh"
+#include <defaultappserver.loc>
+#include <services_db.loc>
+
+NAME DFAP
+RESOURCE RSS_SIGNATURE { }
+RESOURCE TBUF { buf=""; }
+
+
+
+// ---------------------------------------------------------
+// Define default menu and CBA key.
+// ---------------------------------------------------------
+//
+RESOURCE EIK_APP_INFO
+ {
+ menubar=r_das_menubar;
+ cba = r_das_softkeys_options_back__change;//R_AVKON_SOFTKEYS_OPTIONS_BACK;
+ }
+
+// ---------------------------------------------------------
+// r_das_menubar
+// Menubar for Default App Server
+// ---------------------------------------------------------
+//
+RESOURCE MENU_BAR r_das_menubar
+ {
+ titles=
+ {
+ MENU_TITLE
+ {
+ menu_pane = r_das_menu;
+ }
+ };
+ }
+
+// ---------------------------------------------------------------------------
+// r_das_menu
+// Menu for Options
+// ---------------------------------------------------------------------------
+//
+RESOURCE MENU_PANE r_das_menu
+ {
+ items=
+ {
+ MENU_ITEM
+ {
+ flags = EEikMenuItemAction;
+ command = EAknCmdOpen;
+ txt = qtn_options_change;
+ },
+ MENU_ITEM
+ {
+ command = EAknCmdFindPopupActivated;
+ txt = qtn_options_find;
+ },
+ MENU_ITEM
+ {
+ command = EDasCmdAdvanced;
+ txt = qtn_options_advanced;
+ },
+ MENU_ITEM
+ {
+ cascade = r_das_menu_original_settings;
+ txt = qtn_da_options_reset;
+ },
+ MENU_ITEM
+ {
+ command = EAknCmdHelp;
+ txt = qtn_options_help;
+ },
+ MENU_ITEM
+ {
+ command = EAknCmdExit;
+ txt = qtn_options_exit;
+ }
+ };
+ }
+
+// ---------------------------------------------------------------------------
+// r_das_menu_factory_settings
+// Sub-menu for Factory settings
+// This contains one item, but additional items will be added to it
+// ---------------------------------------------------------------------------
+//
+RESOURCE MENU_PANE r_das_menu_original_settings
+ {
+ items =
+ {
+ MENU_ITEM
+ {
+ command = EDasCmdResetSelected;
+ txt = qtn_da_options_reset_selected;
+ flags = EEikMenuItemSpecific;
+ },
+ MENU_ITEM
+ {
+ command = EDasCmdResetAll;
+ txt = qtn_da_options_reset_all;
+ }
+ };
+ }
+
+// ---------------------------------------------------------------------------
+// r_das_servicesmimes_listbox
+// Listbox for the Services & MIMEs
+// ---------------------------------------------------------------------------
+//
+RESOURCE LISTBOX r_das_servicesmimes_listbox
+ {
+ flags = EAknListBoxSelectionList;
+ }
+
+// ---------------------------------------------------------------------------
+// r_da_title_app
+// Application title
+// ---------------------------------------------------------------------------
+//
+RESOURCE TBUF r_da_title_app
+ {
+ buf = qtn_da_title_app;
+ }
+
+// ---------------------------------------------------------------------------
+// r_da_title_main
+// Main view title
+// ---------------------------------------------------------------------------
+//
+RESOURCE TBUF r_da_title_main
+ {
+ buf = qtn_da_title_main;
+ }
+
+// ---------------------------------------------------------------------------
+// r_da_title_popup_adv
+// Advanced settings
+// ---------------------------------------------------------------------------
+//
+RESOURCE TBUF r_da_title_advanced
+ {
+ buf = qtn_da_title_advanced;
+ }
+
+
+
+
+// resources for the simplified view
+
+
+// ---------------------------------------------------------------------------
+// r_da_tasks
+// This is the list of tasks. For each task, there are 3 items:
+// -the task name (this will be shown in the list)
+// -the MIME label (the selected default application for the task will be set as default for Open and this MIME)
+// -a list of Services & MIMEs that belong to the task: all applications that can handle at least one Service & MIME
+// from the list, may become defaults for the task (however, only for the Services & MIMEs the application supports).
+// ---------------------------------------------------------------------------
+//
+RESOURCE DAS_GS_TASKS r_da_tasks
+ {
+ tasks=
+ {
+ DAS_GS_TASK_ENTRY
+ {
+ task_name = qtn_da_main_browse;
+ //USE_TASK_TITLE
+ task_title = qtn_da_title_popup_browse;
+
+ mime_label = "application/x-web-browse";
+ service_mimes =
+ {
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "text/html"; }
+ };
+ }, //browse web task
+ DAS_GS_TASK_ENTRY
+ {
+ task_name = qtn_da_main_play_music;
+ //
+ task_title = qtn_da_title_popup_music;
+
+ mime_label = "application/x-audio-play";
+ service_mimes =
+ {
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/mp3"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/mpeg"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/x-mp3"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/mpegurl"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/x-mpegurl"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/3gpp"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/3gpp2"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/mp4"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/aac"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/basic"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/amr"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/amr-wb"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/awb"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/x-amr"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/x-epoc-wve"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/x-sibo-wve"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/wav"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/x-wav"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/x-au"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/au"; },
+ // SERIES 60 MIDI
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/x-midi"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/midi"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/sp-midi"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/x-beatnik-rmf"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/x-rmf"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/rmf"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/mobile-xmf"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/vnd.nokia.mobile-xmf"; },
+ //qcelp
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/qcelp"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/vnd.qcelp"; },
+ //wma
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/x-ms-wma"; }
+ //real audio (probably with system priority in the system)
+ /*
+ * Real Audio is commented out because leaving it here would be confusing for users:
+ * If Real Audio is uncommented below, both Music Player and RealPlayer will be listed
+ * as handling music. However, the Music Player can not handle the Real Audio MIMEs
+ * (it can handle most of the MIMEs above this comment). The RealPlayer can only handle
+ * the RealAudio MIMEs (commented here). So there is no overlapping between the 2 players.
+ * This would mean that whatever the client choses as the default player between these 2,
+ * they will still continue to play media as before. E.g. all mp3s, WMAs, AACs will be
+ * played with the MediaPlayer even if RealPlayer is chosed as default audio player.
+ *
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/vnd.rn-realaudio"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/x-pn-realaudio-plugin"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "audio/x-pn-realaudio"; }
+ */
+ };
+ }, //play music task
+ DAS_GS_TASK_ENTRY
+ {
+ task_name = qtn_da_main_play_videos;
+ //USE_TASK_TITLE
+ task_title = qtn_da_title_popup_video;
+
+ mime_label = "application/x-video-play";
+ service_mimes =
+ {
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "video/3gpp"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "video/3gpp2"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "video/mpeg4"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "video/mp4"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "application/sdp"; },
+ //following MIMEs are probably system priority in the platform player
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "video/vnd.rn-realvideo"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "application/vnd.rn-realmedia"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "application/x-pn-realmedia"; }
+ };
+ }, //play videos task
+ DAS_GS_TASK_ENTRY
+ {
+ task_name = qtn_da_main_view_images;
+ //USE_TASK_TITLE
+ task_title = qtn_da_title_popup_image;
+
+ mime_label = "application/x-image-view";
+ service_mimes =
+ {
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/jpeg"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/jpg"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/jp2"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/tiff"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/x-wmf"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/ico"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/gif"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/bmp"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/x-bmp"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/x-bitmap"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/x-xbitmap"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/x-win-bitmap"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/x-windows-bmp"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/ms-bmp"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/x-ms-bmp"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/vnd.wap.wbmp"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/png"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/x-epoc-mbm"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/vnd.nokia.ota-bitmap"; },
+ DAS_SERVICE_MIME
+ { service_uid = 0x10208DCA; mime = "image/x-ota-bitmap"; }
+ };
+ } //view images task
+ }; //tasks
+ }
+
+
+// ---------------------------------------------------------------------------
+// r_defaultappserver_localisable_app_info
+// Localisable app info
+// ---------------------------------------------------------------------------
+//
+RESOURCE LOCALISABLE_APP_INFO r_defaultappserver_localisable_app_info
+ {
+ short_caption = qtn_da_title_app;
+ caption_and_icon =
+ CAPTION_AND_ICON_INFO
+ {
+ caption = qtn_da_title_app;
+ };
+ }
+
+RESOURCE CBA r_das_softkeys_options_back__change
+ {
+ buttons =
+ {
+ CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
+ CBA_BUTTON {id=EAknSoftkeyBack; txt=text_softkey_back;},
+ CBA_BUTTON {id=EAknCmdOpen; txt=qtn_msk_change;}
+ };
+ }
+
+RESOURCE DIALOG r_das_dlg
+ {
+ flags = EAknDialogSelectionList | EEikDialogFlagNotifyEsc;
+
+ buttons = r_das_softkeys_options_back__change;
+ items =
+ {
+ DLG_LINE
+ {
+ type = EAknCtDoubleListBox;
+
+ id = ESelectionListControl;
+ control = LISTBOX
+ {
+ flags = EAknListBoxSelectionList;
+ };
+ },
+ DLG_LINE
+ {
+ itemflags = EEikDlgItemNonFocusing;
+ id = EFindControl;
+ type = EAknCtSelectionListPopupFind;
+ }
+ };
+ }
+
+// ---------------------------------------------------------------------------
+// r_da_services_mime
+// This resource stores localized strings for the supported services, identified
+// by their Uid and generic name.
+// This resource is defined in the services_db.rh file
+// ---------------------------------------------------------------------------
+//
+RESOURCE DAS_SERVICES r_da_service_mime
+ {
+ services =
+ {
+ DAS_SERVICE_ENTRY
+ {
+ service_uid = 0x10208DCA; //KOpenServiceUid
+ service_name = "Open";
+ service_localized_name = qtn_da_service_open;
+ }
+ };
+ }
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/data/defaultappserver_reg.rss Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Registration resource file for Default App Server
+*
+*/
+
+
+
+// INCLUDES
+
+#include <appinfo.rh>
+#include <defaultappserver.rsg>
+#include <data_caging_paths_strings.hrh>
+
+UID2 KUidAppRegistrationResourceFile
+UID3 0x10281B9C //server app UID
+
+// RESOURCE DEFINITIONS
+// -----------------------------------------------------------------------------
+//
+// APP_REGISTRATION_INFO
+// Registration resource for Default App Server
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE APP_REGISTRATION_INFO
+ {
+ app_file = "defaultappserver";
+ embeddability = KAppEmbeddable;
+ hidden = KAppIsHidden;
+ newfile=KAppDoesNotSupportNewFile;
+ localisable_resource_file = APP_RESOURCE_DIR"\\defaultappserver";
+ localisable_resource_id = R_DEFAULTAPPSERVER_LOCALISABLE_APP_INFO;
+ service_list =
+ {
+ SERVICE_INFO { uid = 0x10281B9D; }
+ };
+ }
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/group/bld.inf Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Build information file for project Default App Server
+*
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+// export loc file
+../loc/defaultappserver.loc APP_LAYER_LOC_EXPORT_PATH( defaultappserver.loc )
+../loc/services_db.loc APP_LAYER_LOC_EXPORT_PATH( services_db.loc )
+
+PRJ_MMPFILES
+das_server.mmp
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/group/das_server.mmp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project definition file for project Default App Server
+*
+*/
+
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET defaultappserver.exe
+TARGETTYPE EXE
+UID 0 0x10281B9C
+
+CAPABILITY WriteDeviceData SwEvent
+VENDORID VID_DEFAULT
+
+SOURCEPATH ../src
+SOURCE das.cpp //entry point
+SOURCE das_app.cpp //Application class
+SOURCE das_doc.cpp //Document class
+SOURCE das_appui.cpp //AppUi class
+SOURCE das_srvmime_dlg.cpp //dlg class: services & MIMEs
+SOURCE das_view.cpp //standard view class, rather empty
+SOURCE das_server.cpp //server class
+SOURCE das_service.cpp //service class
+SOURCE das_servmimeapps.cpp //engine class
+
+USERINCLUDE ../inc
+
+// Default system include paths for middleware layer modules.
+APP_LAYER_SYSTEMINCLUDE
+
+START RESOURCE ../data/defaultappserver.rss
+HEADER
+TARGETPATH APP_RESOURCE_DIR
+LANGUAGE_IDS
+END // RESOURCE
+
+START RESOURCE ../data/defaultappserver_reg.rss
+DEPENDS defaultappserver.rsg
+TARGETPATH /private/10003a3f/apps
+END
+
+
+
+
+LIBRARY euser.lib
+LIBRARY apparc.lib //is this needed??
+LIBRARY apgrfx.lib
+LIBRARY apmime.lib
+LIBRARY cone.lib
+LIBRARY eikcore.lib
+LIBRARY eikcoctl.lib
+LIBRARY eikdlg.lib
+LIBRARY avkon.lib
+LIBRARY bafl.lib
+LIBRARY commonengine.lib //StringLoader
+LIBRARY serviceregistry.lib
+
+LIBRARY aknskins.lib
+LIBRARY egul.lib
+LIBRARY aknlayout2scalable.lib
+LIBRARY aknicon.lib
+LIBRARY hlplch.lib // for "Help" options menu
+LIBRARY featmgr.lib
+
+LIBRARY servicesdb.lib
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/inc/das.hlp.hrh Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Help IDs for project Default App Server
+*
+*/
+
+
+#ifndef DAS_HLP_HRH
+#define DAS_HLP_HRH
+
+
+_LIT(KDA_HLP_MAIN,"DA_HLP_MAIN"); //GS client, simplified view
+_LIT(KDA_HLP_ADVANCED,"DA_HLP_ADVANCED"); //GS client, advanced view
+_LIT(KDA_HLP_APPLICATION,"DA_HLP_APPLICATION"); //other client
+
+#endif // DAS_HLP_HRH
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/inc/das.hrh Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Resource headers for project Default App Server
+*
+*/
+
+
+#ifndef DAS_HRH
+#define DAS_HRH
+
+// DefaultApp enumerate command codes
+enum TDefaultAppCommands
+ {
+ EDasCmdAdvanced=100,
+ EDasCmdResetAll,
+ EDasCmdResetSelected
+ };
+
+#endif // DAS_HRH
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/inc/das_app.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,89 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This class implements the application.
+*
+*/
+
+
+
+#ifndef C_DEFAULTAPPAPPLICATION_H
+#define C_DEFAULTAPPAPPLICATION_H
+
+#include <aknapp.h>
+
+class CDefaultAppDocument;
+class CDefaultAppServer;
+
+/** UID for the application; this should correspond to the uid defined in the mmp file */
+const TUid KUidDefaultAppServer = { 0x10281B9C };
+
+/**
+ * This class implements the application.
+ *
+ * @since Series 60 v5.0
+ */
+class CDefaultAppApplication : public CAknApplication
+ {
+private: // Functions from base classes
+
+ /**
+ * From CApaApplication.
+ * Returns application's UID (KUidDefaultAppServer).
+ *
+ * @since S60 v5.0
+ * @return The value of KUidDefaultAppServer.
+ */
+ TUid AppDllUid() const;
+
+ /**
+ * From CApaApplication.
+ * Creates CDefaultAppDocument document object.
+ *
+ * @since S60 v5.0
+ * @return A pointer to the created document object.
+ */
+ CApaDocument* CreateDocumentL();
+
+ /**
+ * From CApaApplication.
+ * Creates a new server object (CDefaultAppServer).
+ *
+ * @since S60 v5.0
+ * @param aAppServer pointer to the newly created server object
+ */
+ void NewAppServerL(CApaAppServer*& aAppServer);
+
+public:
+ /**
+ * C++ default constructor.
+ */
+ CDefaultAppApplication(void);
+
+public: //data
+ /**
+ * Pointer to the documet class
+ * Not owned.
+ */
+ CDefaultAppDocument* iDocument; //not owned
+
+ /**
+ * Pointer to the server class
+ * Not owned.
+ */
+ CDefaultAppServer* iServer; //not owned
+ };
+
+#endif // C_DEFAULTAPPAPPLICATION_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/inc/das_appui.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,173 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This class implements the AppUi
+*
+*/
+
+
+
+#ifndef C_DEFAULTAPPAPPUI_H
+#define C_DEFAULTAPPAPPUI_H
+
+
+#include <aknappui.h>
+#include <eikmenub.h>
+
+class CDefaultAppSrvMimeDlg;
+class CDefaultAppView;
+class CDefaultAppServMimeApps;
+
+
+
+/**
+ * This class implements the AppUi.
+ *
+ * @since Series 60 v5.0
+ */
+class CDefaultAppAppUi : public CAknAppUi
+ {
+public:
+
+ /**
+ * Destructor.
+ */
+ virtual ~CDefaultAppAppUi();
+
+ /**
+ * C++ default constructor.
+ */
+ CDefaultAppAppUi();
+
+ /**
+ * Symbian OS default constructor.
+ */
+ void ConstructL();
+
+ /**
+ * This function completes the construction of the AppUi. This function is called after the client
+ * has connected to this server instance, and all the necessary data for this construction step is
+ * available.
+ *
+ * @since S60 v5.0
+ * @param aClientUid The Uid of the client
+ * @param aServiceFlags various flags that may alter what data is displayed to the user
+ */
+ void ConstructSrvMimeDlgL(TUid aClientUid, TInt aServiceFlags);
+
+ /*
+ * This functino is used to record the exist of the dialog;
+ */
+ void SetDialogExist( TBool aExist );
+
+public: // from CAknAppUi
+
+ /**
+ * From CAknAppUi.
+ * Handles commands from the menu (see base class)
+ *
+ * @since S60 v5.0
+ * @param aCommand the command being handled
+ */
+ void HandleCommandL(TInt aCommand);
+
+ /**
+ * From CAknAppUi.
+ * Handles layout changes (e.g. from portrait to landscape)
+ *
+ * @since S60 v5.0
+ * @param aType The type of resources that have changed
+ */
+ void HandleResourceChangeL(TInt aType);
+
+ /**
+ * Handles Window Server events (we are interested in catching the end key event
+ * and exiting the application
+ *
+ * @since S60 v5.0
+ * @param aEvent The event that occurred
+ * @param aDestination The control associated with the event
+ */
+ void HandleWsEventL(const TWsEvent & aEvent, CCoeControl * aDestination);
+
+
+private:
+
+ /**
+ * Imports and displays the icon of the client application.
+ *
+ * @since S60 v5.0
+ */
+ void SetClientIconL(TUid aClietAppUid);
+
+public:
+
+ /**
+ * Pointer to the View
+ * Own.
+ */
+ CDefaultAppView *iView;
+
+ /**
+ * Pointer to the dialog
+ * Own.
+ */
+ CDefaultAppSrvMimeDlg *iDlg;
+
+ /**
+ * Pointer to the "engine". The engine is a place where application data is retrieved and stored.
+ * Own.
+ */
+ CDefaultAppServMimeApps *iServMimeApps;
+
+ /**
+ * variable used to remember the list selection position when reloading the dialog
+ * for the simplified view
+ * Own.
+ */
+ TInt iSelectedItemSimple;
+
+ /**
+ * variable used to remember the list selection position when reloading the dialog
+ * for the advanced view
+ * Own.
+ */
+ TInt iSelectedItemAdvanced;
+
+ /**
+ * variable used to remember dialog type (simple/advanced) when reloading the dialog
+ * Own.
+ */
+ TBool iReloadDlgAdvanced;
+
+ /**
+ * variable used to specify if the dialog is reloaded
+ * Own.
+ */
+ TBool iReloadDlg;
+
+ /**
+ * specifies if the dialog is dismissed or reloaded
+ * Own.
+ */
+ TBool iExitBack;
+
+ TUid iClientUid;
+
+private:
+ // This is used to record the exist of the dialogue.
+ TBool iDialogExist;
+ };
+#endif // C_DEFAULTAPPAPPUI_H
+
+//end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/inc/das_doc.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This class implements the application document.
+*
+*/
+
+
+
+#ifndef C_DEFAULTAPPDOC_H
+#define C_DEFAULTAPPDOC_H
+
+#include <AknDoc.h>
+
+class CDefaultAppAppUi;
+
+/**
+ * This class implements the application document.
+ *
+ * @since Series 60 v5.0
+ */
+class CDefaultAppDocument : public CAknDocument
+ {
+public:
+
+ /**
+ * Symbian OS two-phased constructor
+ * @return
+ */
+ static CDefaultAppDocument* NewL(CEikApplication& aApp);
+
+ /**
+ * Symbian OS two-phased constructor
+ * @return
+ */
+ static CDefaultAppDocument* NewLC(CEikApplication& aApp);
+
+// from base class CAknDocument
+ /**
+ * From CAknDocument.
+ * Function to create the AppUi.
+ *
+ * @since S60 v5.0
+ * @return the created AppUi instance
+ */
+ CEikAppUi* CreateAppUiL();
+
+private:
+
+ /**
+ * C++ default constructor.
+ */
+ CDefaultAppDocument(CEikApplication& aApp);
+public:
+ /**
+ * Pointer to the AppUi
+ * Not owned
+ */
+ CDefaultAppAppUi* iDefaultAppUi; //not owned
+ };
+
+#endif // C_DEFAULTAPPDOC_H
+
+// End of File
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/inc/das_gsentries.rh Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Resource headers for project das_server
+*
+*/
+
+
+#ifndef DAS_GSENTRIES_RH
+#define DAS_GSENTRIES_RH
+
+// ---------------------------------------------------------------------------
+// New structure to describe a Service & MIME pair
+// ---------------------------------------------------------------------------
+//
+STRUCT DAS_SERVICE_MIME
+ {
+ LONG service_uid;
+ LTEXT8 mime;
+ }
+
+// ---------------------------------------------------------------------------
+// New structure to describe a Task.
+// A Task has a name, a MIME label and a list of associated Service & MIMEs pairs.
+// ---------------------------------------------------------------------------
+//
+STRUCT DAS_GS_TASK_ENTRY
+ {
+ LTEXT task_name;
+
+ //task title
+ LTEXT task_title;
+
+ // The main service and MIME give the default application for the task.
+ // The default application for the task is registered as default for the main MIME and Service
+ // The default application for the task does not necessarily have to support the main MIME and Service
+ // ()
+ LTEXT8 mime_label;
+
+ //other pairs that
+ STRUCT service_mimes[]; //Type is DAS_SERVICE_MIME
+ }
+
+// ---------------------------------------------------------------------------
+// New structure to describe a list of Tasks
+// ---------------------------------------------------------------------------
+//
+STRUCT DAS_GS_TASKS
+ {
+ STRUCT tasks[]; //Type is DAS_GS_TASK_ENTRY
+ }
+
+#endif // DAS_GSENTRIES_RH
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/inc/das_server.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: The Default Application server class
+*
+*/
+
+
+
+#ifndef C_DEFAULTAPPSERVER_H
+#define C_DEFAULTAPPSERVER_H
+
+#include <AknServerApp.h>
+
+class CDefaultAppApplication;
+
+/**
+ * This is the main implemetation of DefaultApp server.
+ *
+ * @since Series 60 v5.0
+ */
+class CDefaultAppServer: public CAknAppServer
+ {
+public: // Constructors and destructor
+
+ /**
+ * Symbian OS two-phased constructor
+ * @return
+ */
+ static CDefaultAppServer* NewL(CDefaultAppApplication *aApp);
+
+// from base class CAknAppServer
+
+ /**
+ * From CAknAppServer
+ * Creates a service for the specified service Uid
+ *
+ * @since S60 v5.0
+ * @param aServiceType the service type Uid
+ * @return the created service
+ */
+ CApaAppServiceBase* CreateServiceL(TUid aServiceType) const;
+
+private:
+
+ /**
+ * C++ default constructor.
+ */
+ CDefaultAppServer(CDefaultAppApplication *aApp);
+
+public:
+ /**
+ * pointer to the application. After the client connects, the server side needs to announce the AppUi class, to
+ * continue the construction
+ * Not owned.
+ */
+ CDefaultAppApplication* iApp; //Not owned
+ };
+
+#endif // C_DEFAULTAPPSERVER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/inc/das_service.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,122 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: The Default App Service implementation (server-side)
+*
+*/
+
+
+
+#ifndef C_DEFAULTAPPSERVICE_H
+#define C_DEFAULTAPPSERVICE_H
+
+#include <AknServerApp.h>
+
+class CDefaultAppServer;
+
+/**
+ * This class implements the Default Application server-side service.
+ *
+ * @since Series 60 v5.0
+ */
+class CDefaultAppService : public CAknAppServiceBase
+ {
+public:
+ enum TIpcMessageIds
+ {
+ ESetDefaultAll = RApaAppServiceBase::KServiceCmdBase
+ };
+
+ /**
+ * Symbian OS two-phased constructor
+ * @return
+ */
+ static CDefaultAppService* NewL(const CDefaultAppServer* aServer);
+
+ /**
+ * Destructor.
+ */
+ virtual ~CDefaultAppService();
+
+public: // from base class CAknAppServiceBase
+
+ /**
+ * From CAknAppServiceBase.
+ * function called when a new message is received
+ *
+ * @since S60 v5.0
+ * @param aMessage the received service message
+ */
+ void ServiceL(const RMessage2& aMessage);
+
+ /**
+ * From CAknAppServiceBase.
+ * function called to check client credentials. Used to retrieve client app UID
+ *
+ * @since S60 v5.0
+ * @param aMsg the message being received
+ */
+ CPolicyServer::TCustomResult SecurityCheckL(const RMessage2& aMsg, TInt& aAction, TSecurityInfo& aMissing);
+
+private: //construction
+
+ /**
+ * C++ constructor.
+ */
+ CDefaultAppService(const CDefaultAppServer* aServer);
+
+ /**
+ * Sets default for all the Service & MIME pairs supported by the client
+ *
+ * @since S60 v5.0
+ * @param aMessage the received service message
+ */
+ void HandleSetDefaultAllL(const RMessage2& aMessage);
+
+ /**
+ * Function where most of the processing happens.
+ * We use it so that the service request from the client returns immediately
+ *
+ * @since S60 v5.0
+ * @param aInstance a pointer to the calling CDefaultAppService instance
+ */
+ static TInt IdleWorker(TAny *aInstance);
+
+public:
+ /**
+ * The Uid of the client application
+ */
+ TUid iClientUid;
+
+ /**
+ * Service flags requested by the client
+ */
+ TInt iServiceFlags;
+
+ /**
+ * pointer to the server
+ * Not owned.
+ */
+ const CDefaultAppServer* iDefaultAppServer; //not owned
+
+ /**
+ * Active Object where most of the processing happens. We use it so that the service
+ * call returns immediately.
+ * Owned.
+ */
+ CIdle *iIdle;
+ };
+
+#endif // C_DEFAULTAPPSERVICE_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/inc/das_servmimeapps.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,533 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keeps info about Services, MIMEs and Applications
+*
+*/
+
+
+
+#ifndef C_DEFAULTAPPSERVMIMEAPPS_H
+#define C_DEFAULTAPPSERVMIMEAPPS_H
+
+class CApaMaskedBitmap;
+class CDefaultAppServMimeApps;
+class CServicesDB;
+class RApaLsSession;
+
+/** The UID of the General Settings Application */
+const TUid KUidGS = { 0x100058EC }; //we define this here because we use it in several places
+
+/**
+ * Helper class: stores an Application name, its UID and some other info (how many
+ * service&MIMEs pair it supports, is it platform application or not)
+ * This helper class is used to sort the list of Applications that support a Service&MIME pair
+ *
+ * @since S60 v5.0
+ */
+class CAppHelper : public CBase
+ {
+public:
+ /** flags used with the app helper. */
+ enum
+ {
+ EFlagPlatformApp =0x0001,
+ EFlagNameNotOwned =0x0002
+ };
+public:
+
+ /**
+ * Destructor.
+ */
+ ~CAppHelper();
+
+ /**
+ * Symbian OS two-phased constructor
+ * @return
+ */
+ static CAppHelper* NewLC(const TDesC& aName, const TInt aUid);
+
+ /**
+ * Symbian OS two-phased constructor
+ * @return
+ */
+ static CAppHelper* NewLC(const CAppHelper& aApp);
+
+ /**
+ * This function is used for ordering an array of CAppHelper objects
+ *
+ * @since S60 v5.0
+ * @param a1 CAppHelper object
+ * @param a2 CAppHelper object
+ */
+ static TInt OrderApplications(const CAppHelper& a1, const CAppHelper& a2);
+private:
+
+ /**
+ * C++ constructor
+ */
+ CAppHelper(const TInt aUid, const TInt aScore, const TInt aFlags=0);
+public:
+
+ /**
+ * the App name
+ * Owned or Not Owned, depending on flags (iFlag&EFlagNameNotOwned).
+ */
+ HBufC* iName;
+
+ /**
+ * the UID of the application
+ */
+ TInt iUid;
+
+ /**
+ * the application score (how many Services & MIMEs it supports)
+ */
+ TInt iScore;
+
+ /**
+ * Object flags
+ */
+ TInt iFlags;
+ };
+
+/**
+ * Helper class: stores a Service & Mime Pair
+ *
+ * This class stores data specific to a Service & MIME pair:
+ * -the Service + MIME string
+ * -the Service Uid
+ * -the MIME
+ * -a list of applications (CAppHelper) that support this Service & MIME pair
+ * -the list index and Uid of the default application for this Service & MIME pair
+ *
+ * @since S60 v5.0
+ */
+class CServiceMime : public CBase
+ {
+ friend class CDefaultAppServMimeApps;
+public:
+
+ /**
+ * C++ constructor
+ */
+ CServiceMime();
+
+ /**
+ * Destructor.
+ */
+ ~CServiceMime();
+
+ /**
+ * This function is used for ordering an array of CServiceMime objects
+ *
+ * @since S60 v5.0
+ * @param a1 CServiceMime object
+ * @param a2 CServiceMime object
+ */
+ static TInt OrderServiceMimes(const CServiceMime& a1, const CServiceMime& a2);
+
+private:
+ /**
+ * String that contains the localized Service + MIME name
+ * Owned.
+ */
+ HBufC *iServiceMime;
+
+ /**
+ * The Uid of the service
+ */
+ TUid iServiceUid;
+
+ /**
+ * the MIME string
+ * Owned.
+ */
+ HBufC8 *iMime;
+
+ /**
+ * list of applications that support this Service & MIME pair
+ * Owned (members of the array).
+ */
+ RPointerArray<CAppHelper> iApplications;
+
+ /**
+ * the UID of the default application for this Service & MIME
+ */
+ TUid iDefaultAppUid;
+
+ /**
+ * the list index for the default application
+ * this has the following special values:
+ * -1 : the default is (yet) unknown
+ * -2 : there is a single app in the list, its priority is System
+ * (this means: do not add other apps unless they have system priority)
+ * -3 : there are more than one applications in the list, ALL have the System priority
+ * (this also means: do not add other apps unless they have system priority)
+ */
+ TInt iDefaultApp;
+
+ /**
+ * indicates if the Service & MIME pair instance is used by a task or not
+ */
+ TBool iUsedByTasks;
+ };
+
+
+/**
+ * Helper class: stores a Task
+ *
+ * This class stores data specific to a Task:
+ * -the task caption/title (list layout and title layout)
+ * -the lists of Service (UIDs) & MIMEs associated with this task
+ * -the MIME label
+ * -a list of Services & MIMEs objects (and their associated application list) that correspond to the list
+ * of Services & MIMEs associated with the task
+ * -a list of applications (CAppHelper) that are associated with this task
+ * -the UID and list index of the default application for the task, in the list(s) above.
+ *
+ * How this works:
+ * The Service & MIME pairs associated with the task are those pairs for which changing the default application for the
+ * task will have an impact: the new default becomes the default application for all these pairs, if applicable.
+ * The list of candidate default applications is build from the Service & MIME pairs associated with the task: any
+ * application that can handle at least one pair, is added to the list. The score corresponds to the number of pairs an
+ * application is able to handle (the better the score, the more suitable the application is for the task).
+ * When a new application is made default, it is also made default for Open + the MIME label. This way we can retrieve
+ * the default application for the task, to display it to the user.
+ * The list of Services & MIME objects are instances of CServiceMime that correspond to the list of Services & MIMEs that
+ * are associated with the task (the associated Services & MIMEs is a "theoretical" list, while the CServiceMime list
+ * is a list of Services & MIMEs that were found in the system. The Services & MIMEs in this object list is a subset of
+ * the associated Services & MIMEs. The reunion of all Applications lists associated with each CServiceMime object in the
+ * list is going to be same as the list of Applications that are associated with the Task.
+ * When a new default application is selected for the task, this new default is saved in 2 ways:
+ * -the new default application is made default for the Open service and the MIME label. This way, we can retrieve next
+ * time the default application for the task. There is no danger to launch this default for opening the MIME label, since
+ * no application is supposed to support the MIME label.
+ * -the new default application is made default for all the Services & MIMEs associated with the task: for each instance
+ * of CServiceMime in the list, the default is looked in the application list of the object: if it is found (which means
+ * that the new default application supports that Service & MIME), then the new task default is made default for the
+ * current Service & MIME too.
+ *
+ * @since S60 v5.0
+ */
+class CMediaTask : public CBase
+ {
+ friend class CDefaultAppServMimeApps;
+public:
+
+ /**
+ * Symbian OS two-phased constructor
+ * @return
+ */
+ static CMediaTask* NewLC( TResourceReader& aReader );
+
+ /**
+ * Destructor.
+ */
+ ~CMediaTask();
+private:
+
+ /**
+ * C++ constructor
+ */
+ CMediaTask();
+
+ /**
+ * Symbian constructor
+ */
+ void ConstructL( TResourceReader& aReader );
+private:
+ /**
+ * Task caption, list layout
+ * Owned.
+ */
+ HBufC *iTaskList;
+
+ /**
+ * Task caption, title layout
+ * Owned.
+ */
+ HBufC *iTaskTitle;
+
+ /**
+ * List of MIMEs associated with the task
+ * Owned (members of the array).
+ */
+ RPointerArray<HBufC8> iMimes;
+
+ /**
+ * List of services associated with the task (1 to 1 correspondence with iMimes, they form pairs together)
+ */
+ RArray<TInt> iServicesUids;
+
+ /**
+ * the MIME label
+ * Owned.
+ */
+ HBufC8 *iMimeLabel;
+
+ /**
+ * the list of real/discovered CServiceMime associated with the task
+ * Not Owned (members of the array).
+ */
+ RPointerArray<CServiceMime> iSMs; //not owned
+
+ /**
+ * Application captions for the applications associated with the task
+ * Owned (members of the array).
+ * Application names NOT owned (names are owned by CServiceMime objects)
+ */
+ RPointerArray<CAppHelper> iApplications;
+
+ /**
+ * The UID of the default application for the task
+ */
+ TUid iDefaultAppUid; //the Uid for the default application
+
+ /**
+ * the index (in the application list) of the default application for the task
+ */
+ TInt iDefaultApp; //index
+
+ };
+
+
+/**
+ * Engine class for the application
+ *
+ * This class stores a list of Services and MIMEs and it may store a list of Tasks. All data handling operations
+ * are implemented in this class.
+ * There are 2 types of clients for the Default App Server:
+ * 1. General Settings Application (using a plugin). For this type of client we have to display first a list of tasks,
+ * and if the user switches to the advanced view, we have to display a list of all Services & MIMEs in the system
+ * for which the user can change the default application.
+ * 2. Normal applications may also be clients for the Default APp Server. For normal applications, only a list of Services
+ * and MIMEs for which the cliet application is a default candidate is displayed. The task list is not constructed.
+ * When the class is instantiated, it looks in the system (AppArc) and it builds all the data structures it needs. After
+ * that, it can populate various lists for displaying them to the user, and can also change the default application, as
+ * instructed by the user (AppUi calls the functions).
+ *
+ * @since S60 v5.0
+ */
+class CDefaultAppServMimeApps : public CBase
+ {
+public:
+ /** flags used with the Set Default service. They influence what data is stored in the data structures. */
+ enum
+ {
+ EFlagNoObserver=1,
+ //R&D values
+ EFlagShowAllServicesAndMimes = 0x00010000,
+ EFlagGsClient = 0x00020000,
+ };
+
+ /**
+ * Symbian OS two-phased constructor
+ * @return
+ */
+ static CDefaultAppServMimeApps* NewL(const TUid& aAppUid, TInt aServiceFlags);
+
+ /**
+ * Symbian OS two-phased constructor
+ * @return
+ */
+ static CDefaultAppServMimeApps* NewLC(const TUid& aAppUid, TInt aServiceFlags);
+
+ /**
+ * Destructor.
+ */
+ virtual ~CDefaultAppServMimeApps();
+
+ /**
+ * This function fills with entries a data structure used by a List Box to display Services & MIMEs or Tasks
+ *
+ * @since S60 v5.0
+ * @param aServicesAndMimes the container for the list entries
+ */
+ void GetServicesAndMimesListL(CDesCArray& aServicesAndMimesArray);
+
+ /**
+ * This function fills a Popup-list data structure with applications specific to the selected Service & MIME or Task
+ *
+ * @since S60 v5.0
+ * @param aIndex the index of the selected Service & MIME pair or Task
+ * @param aApplicationsArray the container for the list entries
+ * @param aTitle a container for the title of the list (also filled by the function)
+ */
+ void GetApplicationsListL(TInt aIndex, CDesCArray& aApplicationsArray, HBufC*& aTitle);
+
+ /**
+ * This function sets a new default, for a Service & MIME pair or for a Task.
+ * The function also updates the list of Services & MIMEs (or Tasks), to display the new default application
+ *
+ * @since S60 v5.0
+ * @param aServiceAndMimeIndex the index of the selected Service or Mime (or Task)
+ * @param aDefaultAppIndex the index of the new default application
+ * @param aServicesAndMimesArray the container for the list entries (to be updated)
+ */
+ void UpdateDefaultL(TInt aServiceAndMimeIndex, TInt aDefaultAppIndex, CDesCArray *aServicesAndMimesArray);
+
+ /**
+ * This function resets (removes) the defaults associated with a certain task,
+ * or it can remove all the defaults
+ *
+ * @since S60 v5.0
+ * @param aCathegory specifies the task index for which the function should reset
+ * the default, or -1 if all defaults should be reset
+ * @return 0 or error code (KErrArgument -> aCathegory has an invalid value)
+ */
+ TInt RestoreFactorySettingsL(TInt aCathegory);
+
+private: //construction
+
+ /**
+ * C++ constructor
+ */
+ CDefaultAppServMimeApps();
+
+ /**
+ * This function builds the info database behind this class.
+ * For all available services in the resources it creats the corresponding
+ * Services & MIMEs (or Tasks) instances.
+ *
+ * @since S60 v5.0
+ * @param aAppUid the Uid of the client application
+ * @param aServiceFlags different service flags requested by the client
+ */
+ void ConstructL(TUid aAppUid, TInt aServiceFlags);
+
+ /**
+ * This function builds part the info database behind this class.
+ * It creates the Services & MIMEs (or Tasks) instances for the given service
+ *
+ * @since S60 v5.0
+ * @param aServiceUid the Uid of the current service
+ * @param aServiceIndex the index of the current service
+ * @param aServiceFlags different service flags requested by the client
+ * @param aServicesDb pointer to an instance that holds localized service names
+ */
+ void AddMIMEsForServiceL(TUid aServiceUid, TInt aServiceIndex, TInt aServiceFlags, CServicesDB* aServicesDb);
+
+ /**
+ * This function sorts the Services & MIMEs and their applications.
+ * It also sorts the Serivces & MIMEs associated with tasks
+ *
+ * @since S60 v5.0
+ */
+ void BeautifyAndSortServMimeApps(void);
+
+ /**
+ * This function reads from the resource file the list of tasks (and associated data).
+ * This function is used during construction
+ *
+ * @since S60 v5.0
+ * @param aResourceId the resource id corresponding to the tasks resource
+ */
+ void GetTaskListL( TInt aResourceId );
+
+ /**
+ * This function adds a new Application to a list of an Service & Mime object.
+ *
+ * @since S60 v5.0
+ * @param aServMime the Service & Mime object
+ * @param aAppUid the uid of the inserted application
+ * @param aPrio the priority of the inserted application for the Service & MIME of the host object
+ * @param aLs pointer to a RApaLsSession object (so we do not need to create a new connection)
+ */
+ void InsertApplicationL(CServiceMime& aServMime, const TUid& aAppUid, const TDataTypePriority& aPrio, const RApaLsSession *aLs);
+
+ /**
+ * This function takes a task and a Service & MIME object. It checks all the applications that support the given
+ * Service & MIME object (from its list). If an application is not in the task's application list, this function adds
+ * it there, with a score of 1. If the application is already in the list, then its score is incremented.
+ * The Service & MIME object is also marked as being used by a task.
+ *
+ * @since S60 v5.0
+ * @param aTask the selected task
+ * @param aServMime the selected Service & MIME object
+ */
+ void PopulateTaskWithApplicationsL(CMediaTask& aTask, CServiceMime* aServMime);
+
+ /**
+ * This function creates a string that will become en element of a list box. To create the string, the function
+ * concatenates several sub-strings.
+ *
+ * @since S60 v5.0
+ * @param aServMime the selected Service & MIME object
+ * @param aInsertDefaultApp if TRUE, creates an object that also contains the name of the default application for the
+ * Service & MIME pair
+ * @return the created string
+ */
+ HBufC* GetServiceAndMimeStringLC(CServiceMime& aServMime, TBool aInsertDefaultApp) const;
+
+ /**
+ * This function creates a string that will become en element of a list box. To create the string, the function
+ * concatenates several sub-strings.
+ *
+ * @since S60 v5.0
+ * @param aMediaTask the selected Task object
+ * @param aInsertDefaultApp if TRUE, creates an object that also contains the name of the default application for the
+ * Service & MIME pair
+ * @return the created string
+ */
+ HBufC* GetMediaTaskStringLC(CMediaTask& aMediaTask, TBool aInsertDefaultApp) const;
+
+private: //data
+
+ /**
+ * The list of Services & MIMEs
+ * Owned (members of the array).
+ */
+ RPointerArray<CServiceMime> iServMimes;
+
+ /**
+ * The list of Tasks
+ * Owned (members of the array).
+ */
+ RPointerArray<CMediaTask> iTasks;
+
+ /**
+ * The list of Services & MIMEs that are used by tasks (but otherwise would have been deleted, since they are not
+ * displayed to the user, because there is no more than one default candidate for each Service & MIME in this list)
+ * Owned (members of the array).
+ */
+ RPointerArray<CServiceMime> iTaskServMimes; //ServMimes with a single application, used in tasks
+
+public:
+
+ /**
+ * the list of elements, ar required by the dialog
+ */
+ CDesCArraySeg iList;
+
+ /**
+ * the UID of the client application
+ */
+ TUid iAppUid;
+
+ /**
+ * TRUE if the current view is the GS simplified view (if this var is TRUE, it also implies that GS is our client)
+ */
+ TBool iSimplifiedView;
+
+ /**
+ * if TRUE, the client application does not observe our exit. In this case do not display "Exit" in the menu, since
+ * the client application will not exit when the server exits.
+ */
+ TBool iFlagNoObserver;
+ };
+
+
+#endif // C_DEFAULTAPPSRVMIMEVIEW_H
+
+// end of file
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/inc/das_srvmime_dlg.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,197 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: The Service & MIME list dlg
+*
+*/
+
+
+#ifndef C_DEFAULTAPPSRVMIMEDLG_H
+#define C_DEFAULTAPPSRVMIMEDLG_H
+
+
+#include <badesca.h> // CDesCArray
+#include <coecntrl.h> // CCoeControl
+#include <eiklbo.h> // MEikListBoxObserver
+
+
+#include <aknselectionlist.h>
+#include <aknsettingitemlist.h>
+
+// FORWARD DECLARATIONS
+class CAknDoubleStyleListBox;
+class CDefaultAppAppUi;
+//class CDefaultAppServMimeApps;
+
+/**
+ * This is the Dialog class of the application
+ *
+ * This dialog displays a double list box and it can also display a pop-up list on top of it.
+ * The elements of the lists are created by the engine (CDefaultAppServMimeApps class)
+ *
+ * @since S60 v5.0
+ */
+class CDefaultAppSrvMimeDlg : public CAknSelectionListDialog,
+ public MListBoxItemChangeObserver
+ {
+public:
+
+ /**
+ * Symbian OS two-phased constructor
+ * @return
+ */
+ static CDefaultAppSrvMimeDlg* NewL(CDefaultAppAppUi* aAppUi);
+
+ /**
+ * Destructor.
+ */
+ virtual ~CDefaultAppSrvMimeDlg();
+
+public: //from CAknSelectionListDialog
+
+ /**
+ * From CAknSelectionListDialog.
+ * This function is called when buttons/softkeys are pressed, to check if the dlg should exit.
+ * We always return EFalse, since this is a modeless & nonwaiting dialog.
+ *
+ * @since S60 v5.0
+ * @param aButtonId the list box for which the event happened
+ */
+ virtual TBool OkToExitL(TInt aButtonId);
+
+ /**
+ * From CAknSelectionListDialog.
+ * This function is called when a command is issued by the user.
+ *
+ * @since S60 v5.0
+ * @param aCommandId the list box for which the event happened
+ */
+ virtual void ProcessCommandL(TInt aCommand);
+
+ /**
+ * From CAknSelectionListDialog.
+ * This function is called during the construction of the dialog.
+ * We build the list of elements here.
+ *
+ * @since S60 v5.0
+ */
+ virtual void PreLayoutDynInitL();
+
+
+public: //from CAknDialog
+
+ /**
+ * From CAknDialog.
+ * This function is called to complete the menu construction.
+ *
+ * @since S60 v5.0
+ * @param aResourceId the resource id
+ * @param aMenuPane the menu class instance
+ */
+ virtual void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane);
+
+public: //from CCoeControl
+
+ /**
+ * From CCoeControl.
+ * This function is called to get the help context
+ *
+ * @since S60 v5.0
+ * @param aContext recipient for the help context
+ */
+ virtual void GetHelpContext(TCoeHelpContext& aContext) const;
+
+ /**
+ * From CCoeControl.
+ * Called by the framework when the view size is changed
+ *
+ * @since S60 v5.0
+ */
+ virtual void SizeChanged();
+
+ /**
+ * From CCoeControl.
+ * Called by the framework to process the key event
+ *
+ * @since S60 v5.0
+ */
+ virtual TKeyResponse OfferKeyEventL(const TKeyEvent &aKeyEvent, TEventCode aType);
+
+
+public: //own functions
+
+ /**
+ * Enables marquee for the list elements.
+ *
+ * @since S60 v5.0
+ */
+ void EnableMarqueeL();
+
+
+ /**
+ * Part of the popup menu construction process:
+ * gets 2 icons, the selected (ticked) and empty icon
+ *
+ * @since S60 v5.0
+ * @return an array with the 2 icons
+ */
+ CArrayPtr<CGulIcon>* GetPopupListIconsL() const;
+
+ /**
+ * Creates a pop-up list for a selected item of the list-box.
+ *
+ * @since S60 v5.0
+ * @param aSelectedIndex the selected element (used to get the content of the pop-up list)
+ */
+ void OpenMenuForSelectedServiceAndMimeL(TInt aSelectedIndex);
+public:
+ //from MListBoxItemChangeObserver
+ void ListBoxItemsChanged(CEikListBox* aListBox);
+
+private: //construction
+
+ /**
+ * C++ default constructor.
+ */
+ CDefaultAppSrvMimeDlg(CDefaultAppAppUi* aAppUi, TInt *aSelected);
+
+private: //data
+ /**
+ * Pointer to the AppUi
+ * Not Owned.
+ */
+ CDefaultAppAppUi* iDefaultAppUi;
+
+ /**
+ * The index of the selected element in the list. This is pointer to AppUI's index
+ * Not owned.
+ */
+ TInt *iSelected;
+
+ /**
+ * Flag allowing to exit the dialog
+ */
+ TBool iOkToExit;
+
+ /**
+ * Pointer refer to CAknPopupList
+ */
+ CAknPopupList* iPopupList;
+ };
+
+
+#endif // C_DEFAULTAPPSRVMIMEDLG_H
+
+// end of file
+
+
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/inc/das_view.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,92 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Standard View
+*
+*/
+
+
+#ifndef C_DEFAULTAPPVIEW_H
+#define C_DEFAULTAPPVIEW_H
+
+#include <coecntrl.h> // CCoeControl
+
+
+// FORWARD DECLARATIONS
+class CDefaultAppAppUi;
+
+
+class CDefaultAppView : public CCoeControl
+ {
+ public: // New methods
+
+ /**
+ * NewL.
+ * Two-phased constructor.
+ * Create a CDefaultAppView object, which will draw itself to aRect.
+ * @param aRect The rectangle this view will be drawn to.
+ * @return a pointer to the created instance of CDefaultAppView.
+ */
+ static CDefaultAppView* NewL( const TRect& aRect );
+
+ /**
+ * NewLC.
+ * Two-phased constructor.
+ * Create a CDefaultAppView object, which will draw itself
+ * to aRect.
+ * @param aRect Rectangle this view will be drawn to.
+ * @return A pointer to the created instance of CDefaultAppView.
+ */
+ static CDefaultAppView* NewLC( const TRect& aRect );
+
+ /**
+ * CDefaultAppView
+ * Virtual Destructor.
+ */
+ virtual ~CDefaultAppView();
+
+ public: // Functions from base classes
+
+ /**
+ * From CCoeControl, Draw
+ * Draw this CDefaultAppView to the screen.
+ * @param aRect the rectangle of this view that needs updating
+ */
+ void Draw( const TRect& aRect ) const;
+
+ /**
+ * From CoeControl, SizeChanged.
+ * Called by framework when the view size is changed.
+ */
+ virtual void SizeChanged();
+
+ private: // Constructors
+
+ /**
+ * ConstructL
+ * @param aRect The rectangle this view will be drawn to.
+ */
+ void ConstructL(const TRect& aRect);
+
+ /**
+ * C++ default constructor.
+ */
+ CDefaultAppView();
+
+ };
+
+#endif // C_DEFAULTAPPVIEW_H
+
+// end of file
+
+
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/loc/defaultappserver.loc Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,139 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Localization strings for project Default App Server
+*
+*/
+
+
+/************* All views *********************/
+
+// d:Menu string (cascade), resets settings defaults to original/factory values
+// l:list_single_pane_t1_cp2/opt3
+// r:5.0
+//
+#define qtn_da_options_reset "Original settings"
+
+// d:Sub-menu string, resets selected item to original/factory value
+// l:list_single_popup_submenu_pane_t1
+// r:5.0
+//
+#define qtn_da_options_reset_selected "Restore default application"
+
+// d:Sub-menu string, resets all defaults to original/factory values
+// l:list_single_popup_submenu_pane_t1
+// r:5.0
+//
+#define qtn_da_options_reset_all "For all items"
+
+
+/************* Simplified view *********************/
+
+// d:The title for this view
+// d:It describes a list of applications that are launched by default when the user performs a task that is
+// d:defined in general terms by the list items (see these items next). Examples of such tasks are:
+// d:"Play Music", "Play Videos", "View Images", "Browse web".
+// l:title_pane_t2/opt9
+// r:5.0
+//
+#define qtn_da_title_main "Default Applications"
+
+// d:Item in a list of tasks
+// d:It describes a task (in general terms) that will be performed by a selected application.
+// l:list_double_pane_t1_cp2
+// r:5.0
+//
+#define qtn_da_main_view_images "View images"
+
+// d:Same string as before, as a title for a pop-up menu list
+// d:It describes a task (in general terms) that will be performed by a selected application.
+// l:heading_pane_t1
+// r:5.0
+//
+#define qtn_da_title_popup_image "View images"
+
+// d:Item in a list of tasks
+// d:It describes a task (in general terms) that will be performed by a selected application.
+// l:list_double_pane_t1_cp2
+// r:5.0
+//
+#define qtn_da_main_play_videos "Play videos"
+
+// d:Same string as before, as a title for a pop-up menu list
+// d:It describes a task (in general terms) that will be performed by a selected application.
+// l:heading_pane_t1
+// r:5.0
+//
+#define qtn_da_title_popup_video "Play videos"
+
+// d:Item in a list of tasks
+// d:It describes a task (in general terms) that will be performed by a selected application.
+// l:list_double_pane_t1_cp2
+// r:5.0
+//
+#define qtn_da_main_play_music "Play music"
+
+// d:Same string as before, as a title for a pop-up menu list
+// d:It describes a task (in general terms) that will be performed by a selected application.
+// l:heading_pane_t1
+// r:5.0
+//
+#define qtn_da_title_popup_music "Play music"
+
+// d:Item in a list of tasks
+// d:It describes a task (in general terms) that will be performed by a selected application.
+// l:list_double_pane_t1_cp2
+// r:5.0
+//
+#define qtn_da_main_browse "Browse web"
+
+// d:Same string as before, as a title for a pop-up menu list
+// d:It describes a task (in general terms) that will be performed by a selected application.
+// l:heading_pane_t1
+// r:5.0
+//
+#define qtn_da_title_popup_browse "Browse web"
+
+
+/************* Advanced view *********************/
+
+// d:The title for this view
+// d:It describes a list of applications that are launched by default when the user performs a task
+// d:that is defined quite clear (in engineering terms :-). The task is defined by the Service performed
+// d:on a file that has a certain MIME. Examples of such tasks are:
+// d:"Open audio/mp3", "Print image/jpeg", "Open application/html", "Edit application/text".
+// d:The service name (Open, Print, Edit in the above examples) is localized, the MIME is not.
+// l:title_pane_t2/opt9
+// r:5.0
+//
+#define qtn_da_title_advanced "Advanced settings"
+
+
+
+
+/************* Application specific settings view *********************/
+// NOTE: This view is very similar with the "Advanced view", just the title is changed
+
+// d:The title for this view (the view is very similar with the "Advanced view", the only difference is that
+// d:in this view, the list is filtered so only the task specific to the client application are displayed).
+// d:The view describes a list of applications that are launched by default when the user performs a task
+// d:that is defined quite clear (in engineering terms :-). The task is defined by the Service performed
+// d:on a file that has a certain MIME. Examples of such tasks are:
+// d:"Open audio/mp3", "Print image/jpeg", "Open application/html", "Edit application/text".
+// d:The service name (Open, Print, Edit in the above examples) is localized, the MIME is not.
+
+// l:title_pane_t2/opt9
+// r:5.0
+//
+#define qtn_da_title_app "Default Applications"
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/loc/services_db.loc Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Localization strings for project Services DB
+*
+*/
+
+
+
+/************* Service + MIMEs *********************/
+
+/* Examples of MIMEs:
+ -audio/mpeg
+ -video/3gpp
+ -image/jpeg
+ */
+
+
+
+// d:This is the name of a Service (it should be short)
+// d:The parameter is a MIME (non-localizable text). String is scrollable.
+// d:This is the default service, it opens a file with an application
+// l:None
+// r:5.0
+//
+#define qtn_da_service_open "Open %U"
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/src/das.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Executable module to start the process and load the DefaultAppServer.
+*
+*/
+
+
+#include <e32base.h>
+#include "das_app.h"
+#include <eikstart.h>
+
+// ---------------------------------------------------------------------------
+// NewApplication()
+// constructs CDefaultAppApplication
+// Returns: CApaDocument*: created application object
+//
+// ---------------------------------------------------------------------------
+LOCAL_C CApaApplication* NewApplication()
+ {
+ return new CDefaultAppApplication;
+ }
+
+// ---------------------------------------------------------------------------
+// E32Main()
+//
+// ---------------------------------------------------------------------------
+GLDEF_C TInt E32Main()
+ {
+ return EikStart::RunApplication(NewApplication);
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/src/das_app.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This is the main application implementation of default app server.
+*
+*/
+
+
+#include "das_app.h"
+#include "das_doc.h"
+#include "das_server.h"
+
+// ---------------------------------------------------------------------------
+// Return the UID for the CSoundApplication application
+// ---------------------------------------------------------------------------
+//
+TUid CDefaultAppApplication::AppDllUid() const
+ {
+ return KUidDefaultAppServer;
+ }
+
+// ---------------------------------------------------------------------------
+// Default constructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppApplication::CDefaultAppApplication(void) : iDocument(NULL), iServer(NULL)
+ {}
+
+// ---------------------------------------------------------------------------
+// Create an CDefaultAppDocument document, and return a pointer to it
+// ---------------------------------------------------------------------------
+//
+CApaDocument* CDefaultAppApplication::CreateDocumentL()
+ {
+ iDocument = CDefaultAppDocument::NewL(*this);
+ return (static_cast<CApaDocument*>(iDocument));
+ }
+
+// ---------------------------------------------------------------------------
+// Simple function to return a server object
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppApplication::NewAppServerL(CApaAppServer*& aAppServer)
+ {
+ aAppServer = iServer = CDefaultAppServer::NewL(this);
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/src/das_appui.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,204 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This is the app ui implementation of default application server.
+*
+*/
+
+
+#include <eikserverapp.h>
+#include <akncontext.h>
+#include <apgicnfl.h>
+#include <AknIconArray.h>
+#include <AknsUtils.h>
+#include <aknlists.h>
+#include <defaultappserver.rsg>
+#include "das_appui.h"
+#include "das_view.h"
+#include "das_srvmime_dlg.h"
+#include "das_servmimeapps.h"
+#include "das.hrh"
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppAppUi::~CDefaultAppAppUi()
+ {
+ if(iView)
+ delete iView;
+ if(iServMimeApps)
+ delete iServMimeApps;
+ }
+
+// ---------------------------------------------------------------------------
+// Default constructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppAppUi::CDefaultAppAppUi() : iView(NULL), iDlg(NULL), iExitBack(EFalse)
+ {
+ // No implementation required
+ }
+
+// ---------------------------------------------------------------------------
+// Symbian constructor
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppAppUi::ConstructL()
+{
+ BaseConstructL(EAknEnableSkin|EAknEnableMSK|EAknSingleClickCompatible);
+ // Create view object
+ iView = CDefaultAppView::NewL( ClientRect() );
+}
+
+// ---------------------------------------------------------------------------
+// Continues the construction, after the client connects to the server and some data is known
+// (client UID and service flags)
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppAppUi::ConstructSrvMimeDlgL(TUid aClientUid, TInt aServiceFlags)
+{
+ SetClientIconL(aClientUid);
+ iClientUid = aClientUid;
+ iSelectedItemSimple=-1;
+ iSelectedItemAdvanced=-1;
+ iReloadDlgAdvanced=(aClientUid==KUidGS?EFalse:ETrue);
+ iReloadDlg=ETrue;
+ do
+ {
+ if(!iServMimeApps)
+ iServMimeApps=CDefaultAppServMimeApps::NewL(aClientUid, aServiceFlags);
+
+ if(iReloadDlgAdvanced)
+ {
+ //some settings for the advanced view
+ iServMimeApps->iSimplifiedView=EFalse;
+ }
+ else
+ {
+ //some settings for the simple view
+ iServMimeApps->iSimplifiedView=ETrue;
+ };
+ iServMimeApps->GetServicesAndMimesListL(iServMimeApps->iList);
+
+ iDlg=CDefaultAppSrvMimeDlg::NewL(this);
+ SetDialogExist( ETrue );
+ iDlg->SetMopParent(this);
+ iDlg->ExecuteLD(R_DAS_DLG);
+ iDlg=NULL;
+ }
+ while(iReloadDlg);
+
+
+ //exit the server
+ if(iExitBack)
+ {
+ //if we exit by "Back" button, notify the client app, so that it does not exit.
+ CEikAppServer* server = iEikonEnv->AppServer(); //if we do not do this, the client exits when backkey is pressed
+ if ( server )
+ {
+ server->NotifyServerExit( EAknSoftkeyBack );
+ }
+ };
+ //exit this application
+ RunAppShutter();
+}
+
+// ---------------------------------------------------------------------------
+// From class CAknAppUi.
+// handle menu command
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppAppUi::HandleCommandL(TInt aCommand)
+ {
+ switch (aCommand)
+ {
+ case EAknSoftkeyExit:
+ __ASSERT_ALWAYS(0,User::Leave(KErrGeneral));
+ break;
+ case EEikCmdExit:
+
+ Exit();
+ break;
+ //no need for default. We may also have other commands that we do not handle here.
+ }
+ }
+
+
+// ---------------------------------------------------------------------------
+// imports and displays the icon of the client application.
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppAppUi::SetClientIconL(TUid aClietAppUid)
+ {
+ CEikStatusPane *statusPane=StatusPane();
+ TUid contextPaneUid=TUid::Uid(EEikStatusPaneUidContext);
+ if(statusPane && statusPane->PaneCapabilities(contextPaneUid).IsPresent())
+ {
+ CAknContextPane *contextPane=(CAknContextPane*)(statusPane->ControlL(contextPaneUid)); //we don't get the ownership
+ MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance(); //we don't get the ownership
+
+ CFbsBitmap* iconBmp = NULL;
+ CFbsBitmap* iconBmpMask = NULL;
+
+ AknsUtils::CreateAppIconLC(skinInstance,aClietAppUid,EAknsAppIconTypeContext,
+ iconBmp,iconBmpMask);
+ CleanupStack::Pop(2);//the 2 icons
+
+ contextPane->SetPicture(iconBmp,iconBmpMask);// ownership transfer for the 2 pictures
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// Handles layout changes (e.g. from portrait to landscape)
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppAppUi::HandleResourceChangeL(TInt aType)
+ {
+ CAknAppUi::HandleResourceChangeL( aType );
+
+ if(iView)
+ iView->HandleResourceChange(aType);
+ if( iDlg && iDialogExist )
+ iDlg->HandleResourceChange(aType);
+
+ if ( aType == KEikDynamicLayoutVariantSwitch )
+ {
+ if( iView )
+ iView->SetRect(ClientRect());
+ if( iDlg && iDialogExist )
+ iDlg->SetRect(ClientRect());
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// Handles Window Server events (we are interested in catching the end key event
+// and exiting the application
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppAppUi::HandleWsEventL(const TWsEvent & aEvent, CCoeControl * aDestination)
+ {
+ CAknAppUi::HandleWsEventL(aEvent,aDestination);
+ }
+
+// ---------------------------------------------------------------------------
+// This functino is used to record the exist of the dialog;
+// and exiting the application
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppAppUi::SetDialogExist( TBool aExist )
+ {
+ iDialogExist = aExist;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/src/das_doc.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of the document class
+*
+*/
+
+
+
+#include "das_doc.h"
+#include "das_appui.h"
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Symbian 2-phased constructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppDocument* CDefaultAppDocument::NewL(CEikApplication& aApp)
+ {
+ CDefaultAppDocument* self = NewLC(aApp);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// Symbian 2-phased constructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppDocument* CDefaultAppDocument::NewLC(CEikApplication& aApp)
+ {
+ CDefaultAppDocument* self = new (ELeave) CDefaultAppDocument(aApp);
+ CleanupStack::PushL(self);
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// Default constructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppDocument::CDefaultAppDocument(CEikApplication& aApp) : CAknDocument(aApp), iDefaultAppUi(NULL)
+ {
+ // No implementation required
+ }
+
+// ---------------------------------------------------------------------------
+// Instantiates CDefaultAppAppUi
+// ---------------------------------------------------------------------------
+//
+CEikAppUi* CDefaultAppDocument::CreateAppUiL()
+ {
+ iAppUi = iDefaultAppUi = new (ELeave) CDefaultAppAppUi;
+ return (static_cast<CEikAppUi*>(iAppUi));
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/src/das_server.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of the server class
+*
+*/
+
+
+
+#include <eikstart.h> //for RDebug
+
+#include "das_server.h"
+#include "das_service.h"
+#include "das_app.h"
+
+const TUid KDefaultAppServiceUid = { 0x10281B9D };
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Symbian 2-phased constructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppServer* CDefaultAppServer::NewL(CDefaultAppApplication* aApp)
+ {
+ CDefaultAppServer* self = new (ELeave) CDefaultAppServer(aApp);
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// Default constructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppServer::CDefaultAppServer(CDefaultAppApplication* aApp) : iApp(aApp)
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// From class CAknAppServer.
+// Creates a service for the specified service Uid
+// ---------------------------------------------------------------------------
+//
+CApaAppServiceBase* CDefaultAppServer::CreateServiceL(TUid aServiceType) const
+ {
+ RDebug::Print(_L("CDefaultAppServer::CreateServiceL"));
+ if (aServiceType == KDefaultAppServiceUid)
+ return CDefaultAppService::NewL(this);
+ else
+ return CAknAppServer::CreateServiceL(aServiceType);
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/src/das_service.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,125 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of the DefaultApp service
+*
+*/
+
+
+//#include <eikstart.h> //for RDebug
+#include "das_server.h"
+#include "das_service.h"
+#include "das_app.h"
+#include "das_doc.h"
+#include "das_appui.h"
+#include "das_servmimeapps.h"
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Default constructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppService::CDefaultAppService(const CDefaultAppServer* aServer) : iDefaultAppServer(aServer)
+ {
+ iClientUid=TUid::Uid(0);
+ }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppService::~CDefaultAppService()
+ {
+ delete iIdle;
+ }
+// ---------------------------------------------------------------------------
+// Symbian 2-phased constructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppService* CDefaultAppService::NewL(const CDefaultAppServer* aServer)
+ {
+ CDefaultAppService* self = new (ELeave) CDefaultAppService(aServer);
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// From class CAknAppServiceBase.
+// function called when a new message is received
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppService::ServiceL(const RMessage2& aMessage)
+ {
+ switch (aMessage.Function())
+ {
+ case ESetDefaultAll :
+ HandleSetDefaultAllL(aMessage);
+ break;
+ default:
+ CAknAppServiceBase::ServiceL(aMessage);
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// From class CAknAppServiceBase.
+// function called to check client credentials. Used to retrieve client app UID
+// ---------------------------------------------------------------------------
+//
+CPolicyServer::TCustomResult CDefaultAppService::SecurityCheckL(const RMessage2& aMsg, TInt& /*aAction*/, TSecurityInfo& /*aMissing*/)
+ {
+ iClientUid=aMsg.SecureId();
+ return CPolicyServer::EPass;
+ }
+
+// ---------------------------------------------------------------------------
+// Sets default for all the Service & MIME pairs supported by the client
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppService::HandleSetDefaultAllL(const RMessage2& aMessage)
+ {
+ //Get flags
+ //TInt serviceFlags=aMessage.Int0();
+ iServiceFlags=aMessage.Int0();
+ aMessage.Complete(KErrNone);
+
+ if(!iIdle)
+ {
+ iIdle=CIdle::NewL(CActive::EPriorityStandard);
+ TCallBack cb(&IdleWorker,this);
+ iIdle->Start(cb);
+ };
+ }
+
+// ---------------------------------------------------------------------------
+// Function where most of the processing happens.
+// We use it so that the service request from the client returns immediately
+// ---------------------------------------------------------------------------
+//
+TInt CDefaultAppService::IdleWorker(TAny *aInstance)
+ {
+ CDefaultAppService *service=(CDefaultAppService*)aInstance;
+ //construct the view
+ if ( service->iDefaultAppServer &&
+ service->iDefaultAppServer->iApp &&
+ service->iDefaultAppServer->iApp->iDocument &&
+ service->iDefaultAppServer->iApp->iDocument->iDefaultAppUi)
+ {
+ service->iDefaultAppServer->iApp->iDocument->iDefaultAppUi->ConstructSrvMimeDlgL(service->iClientUid,service->iServiceFlags);
+ };
+ return 0; //no more work to do
+ }
+
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/src/das_servmimeapps.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,1073 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keeps info about Services, MIMEs and Applications
+*
+*/
+
+
+// System includes
+#include <e32def.h> // STATIC_CAST
+#include <defaultappserver.rsg> // R_DAS_SERVICESMIMES_LISTBOX
+#include <StringLoader.h> // StringLoader
+#include <barsread.h> //TResourceRead
+#include <eikenv.h> //CEikonEnv
+#include <apgcli.h>
+#include <apgicnfl.h> // CApaMaskedBitmap
+
+#include <serviceregistry.h>
+
+#include "das_servmimeapps.h"
+#include "das_app.h" // KUidDefaultAppServer
+#include <services_db.h>
+
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <apmstd.h>
+#else
+#include <apmstd.h>
+#include <apmfndr.h> // KDataTypePrioritySystem
+#endif
+
+const TInt KStringMargin = 10; //10 is a sufficiently large margin
+
+// ======== MEMBER FUNCTIONS ======== CAppHelper
+
+// ---------------------------------------------------------------------------
+// Symbian 2-phased constructor
+// ---------------------------------------------------------------------------
+//
+CAppHelper* CAppHelper::NewLC(const TDesC& aName, const TInt aUid)
+ {
+ CAppHelper* self = new (ELeave) CAppHelper(aUid,0);
+ CleanupStack::PushL(self);
+ //construct iName, copy it
+ self->iName = HBufC::NewL(aName.Size());
+ TPtr* ptr=new (ELeave) TPtr(self->iName->Des());
+ ptr->Copy(aName);
+ delete ptr;
+
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// Symbian 2-phased constructor
+// ---------------------------------------------------------------------------
+//
+CAppHelper* CAppHelper::NewLC(const CAppHelper& aApp)
+ {
+ CAppHelper* self = new (ELeave) CAppHelper(aApp.iUid,1,aApp.iFlags);
+ CleanupStack::PushL(self);
+ //construct iName, get pointer and flag it
+ self->iName = aApp.iName;
+ self->iFlags |= EFlagNameNotOwned;
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// C++ Constructor
+// ---------------------------------------------------------------------------
+//
+CAppHelper::CAppHelper(const TInt aUid, const TInt aScore, const TInt aFlags):
+ iName(NULL), iUid(aUid), iScore(aScore), iFlags(aFlags)
+ {
+ //no implementation needed
+ }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CAppHelper::~CAppHelper(void)
+ {
+ if(!( iFlags&EFlagNameNotOwned ))
+ delete iName;
+ iName = NULL;
+ }
+// ---------------------------------------------------------------------------
+// This function is used to order Applications
+// ---------------------------------------------------------------------------
+//
+TInt CAppHelper::OrderApplications(const CAppHelper& a1, const CAppHelper& a2)
+ {
+ //if a1<a2 return -1, otherwise 0 or 1
+ //platform applications are always first (smaller)
+ if(a1.iFlags&EFlagPlatformApp && !(a2.iFlags&EFlagPlatformApp))
+ return -1; //a1 is platform app, a2 is not
+ if(!(a1.iFlags&EFlagPlatformApp) && a2.iFlags&EFlagPlatformApp)
+ return 1; //a1 is not platform app, a2 is
+
+ //look into names names
+ if(*a1.iName < *a2.iName) return -1;
+ if(*a1.iName > *a2.iName) return 1;
+ //if we are here, strings were equal
+ return 0;
+ }
+
+
+// ======== MEMBER FUNCTIONS ======== CServiceMime
+
+// ---------------------------------------------------------------------------
+// C++ Constructor
+// ---------------------------------------------------------------------------
+//
+CServiceMime::CServiceMime() : iServiceMime(NULL), iMime(NULL)
+ {
+ iDefaultAppUid=TUid::Uid(0);
+ iDefaultApp=-1;//currently we do not know the default index
+ iUsedByTasks=EFalse;
+ }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CServiceMime::~CServiceMime()
+ {
+ if (iServiceMime) delete iServiceMime;
+ if (iMime) delete iMime;
+ for (TInt i=0 ; i<iApplications.Count() ; i++)
+ delete iApplications[i];
+ iApplications.Close();
+ }
+
+// ---------------------------------------------------------------------------
+// This function is used to order Services & MIMEs
+// ---------------------------------------------------------------------------
+//
+TInt CServiceMime::OrderServiceMimes(const CServiceMime& a1, const CServiceMime& a2)
+ {
+ //if a1<a2 return -1, otherwise 0 or 1
+ //we sort by the MIME, then by the service
+ if(*a1.iMime<*a2.iMime)return -1;
+ if(*a1.iMime>*a2.iMime)return 1;
+ //if we are here, MIMEs are the same
+ if(*a1.iServiceMime<*a2.iServiceMime)return -1;
+ if(*a1.iServiceMime>*a2.iServiceMime)return 1;
+ //if we are here, strings were equal
+ return 0;
+ }
+
+// ======== MEMBER FUNCTIONS ======== CMediaTask
+
+// ---------------------------------------------------------------------------
+// Symbian 2-phased constructor
+// ---------------------------------------------------------------------------
+//
+CMediaTask* CMediaTask::NewLC( TResourceReader& aReader )
+ {
+ CMediaTask* self = new (ELeave) CMediaTask();
+ CleanupStack::PushL(self);
+ self->ConstructL(aReader);
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CMediaTask::~CMediaTask()
+ {
+
+ if(iTaskList)delete iTaskList;
+ if(iTaskTitle)delete iTaskTitle;
+
+ if(iMimeLabel)delete iMimeLabel;
+
+ iMimes.ResetAndDestroy();
+ iServicesUids.Close();
+
+ iSMs.Close();//elements not owned
+
+ iApplications.ResetAndDestroy();
+ }
+
+// ---------------------------------------------------------------------------
+// C++ Constructor
+// ---------------------------------------------------------------------------
+//
+CMediaTask::CMediaTask() : iMimeLabel(NULL), iDefaultApp(-1)
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// The construction means reading the task details from the resource file
+// ---------------------------------------------------------------------------
+//
+void CMediaTask::ConstructL( TResourceReader& aReader )
+ {
+ TInt i,count;
+ //read the task name
+ iTaskList = aReader.ReadHBufCL();
+ if( !iTaskList )User::Leave(KErrArgument);
+
+ //read the task title
+ iTaskTitle = aReader.ReadHBufCL();
+ if( !iTaskTitle )User::Leave(KErrArgument);
+
+ //read the mime label
+ iMimeLabel = aReader.ReadHBufC8L();
+ if( !iMimeLabel )User::Leave(KErrArgument);
+
+ //read the service mimes entries
+ count = aReader.ReadInt16();
+ for (i=0; i<count; i++)
+ {
+ //read the service uid
+ TInt uid=aReader.ReadInt32();
+ if(uid == 0)User::Leave(KErrArgument);
+ //read the mime
+ HBufC8* mime=aReader.ReadHBufC8L();
+ if( !mime )User::Leave(KErrArgument);
+ //append both things
+ iServicesUids.Append(uid);
+ iMimes.Append(mime);//takes ownership
+ }
+ }
+
+
+// ======== MEMBER FUNCTIONS ======== CDefaultAppServMimeApps
+
+// ---------------------------------------------------------------------------
+// Symbian 2-phased constructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppServMimeApps* CDefaultAppServMimeApps::NewL(const TUid& aAppUid, TInt aServiceFlags)
+ {
+ CDefaultAppServMimeApps* self = CDefaultAppServMimeApps::NewLC(aAppUid, aServiceFlags);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// Symbian 2-phased constructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppServMimeApps* CDefaultAppServMimeApps::NewLC(const TUid& aAppUid, TInt aServiceFlags)
+ {
+ CDefaultAppServMimeApps* self = new (ELeave) CDefaultAppServMimeApps();
+ CleanupStack::PushL(self);
+ self->ConstructL(aAppUid, aServiceFlags);
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// This function builds the data structures for the dialog:
+// It reads the considered services from the resource files, then it builds the
+// task list and the associated list of Services& MIMEs and applications.
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppServMimeApps::ConstructL(TUid aAppUid, TInt aServiceFlags)
+ {
+ //set the client app uid
+ /* Uncomment this for testing the General Settings (Control Pannel) specific view from another application (R&D purpose)
+ *
+ TBool flagGsClient = aServiceFlags & EFlagGsClient;
+ if(flagGsClient)aAppUid=KUidGS; //we mimic the GS Client.
+ */
+ iAppUid = aAppUid;
+
+ //for all the available services, launch the AddMIMEsForServiceL function
+ TResourceReader reader;
+ CEikonEnv::Static()->CreateResourceReaderLC( reader, R_DA_SERVICE_MIME );
+ CServicesDB* sdb = CServicesDB::NewLC(&reader);
+ TInt i;
+ TUid uid;
+ for(i=0; i<sdb->Count(); i++)
+ {
+ uid = sdb->ServiceUidL(i);
+ AddMIMEsForServiceL(uid,i,aServiceFlags,sdb);
+ };
+ CleanupStack::PopAndDestroy(sdb);
+ CleanupStack::PopAndDestroy( ); // reader
+ //change MIMEs & sort
+ BeautifyAndSortServMimeApps();
+ }
+
+// ---------------------------------------------------------------------------
+// this is by far the most complicated function in the entire subsystem
+// some more comments are needed, but after this function will be split in 2
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppServMimeApps::AddMIMEsForServiceL(TUid aServiceUid, TInt aServiceIndex, TInt aServiceFlags, CServicesDB* aServicesDb)
+ {
+ CServiceMime *sm = NULL;
+ TUid uid;
+
+ RApaLsSession ls;
+ TApaAppInfo info;
+ CApaAppServiceInfoArray* serv=NULL;
+ CServiceRegistry *sr=NULL;
+ TInt i,j,k;
+ TInt it,jt;//indexes for iterating inside tasks
+ TInt lowerMarker, upperMarker;
+ //flags
+ TBool flagShowAll = EFalse;
+ /*
+ * Uncomment the line below to show all the Services & MIMEs in views, and not only those for which default app can be changed.
+ * This can be used for R&D, to see all the MIMEs&Services in the system.
+ flagShowAll = aServiceFlags & EFlagShowAllServicesAndMimes;
+ */
+ iFlagNoObserver = aServiceFlags & EFlagNoObserver;
+
+ //check who is connecting, so that we can set the view
+ if(iAppUid == KUidGS)
+ {
+ iSimplifiedView=ETrue; //at least in the beginning.
+ //For this function, this is also a flag that says if we have GS as client or not
+ GetTaskListL(R_DA_TASKS);
+ }
+ else iSimplifiedView=EFalse;
+
+ //connect
+ User::LeaveIfError( ls.Connect() );
+ CleanupClosePushL( ls );
+
+ //Get all the apps and MIMEs for the current service
+ ls.GetAppInfo(info,iAppUid);
+ serv=ls.GetServiceImplementationsLC(aServiceUid);
+ lowerMarker = upperMarker = iServMimes.Count();
+ //create entries for the MIMEs supported by the client application
+ for (i=0; i<serv->Array().Count(); i++)
+ {
+ uid=serv->Array()[i].Uid();
+ if( iSimplifiedView || uid == iAppUid) //this means that for app clients, we first skip all the other applications
+ {
+ //if iSimplifiedView is true, then we have GS as a client
+ for(j=0; j<serv->Array()[i].DataTypes().Count(); j++)
+ {
+ TBool createSM=ETrue;
+ if(iSimplifiedView)
+ {
+ //check if we already have an entry for this service & MIME
+ for(k=lowerMarker; k<upperMarker; k++)
+ if(iServMimes[k]->iMime->Des() == serv->Array()[i].DataTypes()[j].iDataType.Des8())
+ {
+ //we found it!
+ sm=iServMimes[k];
+ createSM=EFalse;
+ break;//we found the sm, no need to search for it any more
+ }
+ //if we don't find it, we will create an entry ...
+ }
+
+ if(createSM)
+ {
+ //we have to create sm, we did not found it previously (or we were not looking for it)
+ sm=new (ELeave) CServiceMime;
+ CleanupStack::PushL(sm);
+ sm->iMime = HBufC8::NewL(serv->Array()[i].DataTypes()[j].iDataType.Des8().Size());
+ *(sm->iMime) = serv->Array()[i].DataTypes()[j].iDataType.Des8();
+ //transform the MIME from audio/mpeg to audio mpeg
+ HBufC *transformedMime=HBufC::NewLC(serv->Array()[i].DataTypes()[j].iDataType.Des().Size());
+ TPtr *ptr=new (ELeave) TPtr(transformedMime->Des());
+ CleanupStack::PushL(ptr);
+ ptr->Copy(serv->Array()[i].DataTypes()[j].iDataType.Des());
+ TInt location=ptr->Locate('/');
+ if(location>0)ptr->Replace(location,1,_L(" "));
+ //transforming done
+ //sm->iServiceMime = aServicesDb->ServiceStringLC(aServiceIndex, serv->Array()[i].DataTypes()[j].iDataType.Des());
+ sm->iServiceMime = aServicesDb->ServiceStringLC(aServiceIndex, transformedMime->Des());
+ CleanupStack::Pop(sm->iServiceMime);
+ CleanupStack::PopAndDestroy(ptr);
+ CleanupStack::PopAndDestroy(transformedMime);
+ //StringLoader::LoadL( R_DA_SERVICE_OPEN, serv->Array()[i].DataTypes()[j].iDataType.Des());
+ sm->iServiceUid=aServiceUid;
+ }
+
+ //insert the client application
+ InsertApplicationL(*sm, uid, serv->Array()[i].DataTypes()[j].iPriority, &ls);
+
+ //get the Uid of the default application for this service and MIME
+ ls.AppForDataType(serv->Array()[i].DataTypes()[j].iDataType,sm->iDefaultAppUid);
+
+ if(createSM)
+ {
+ //sm was created this iteration, ad it.
+ iServMimes.AppendL(sm);//takes ownership of sm
+ upperMarker++;
+ CleanupStack::Pop(sm);
+
+ }
+ }//for
+ /*
+ * If a service that has no MIME will be considered, some code must be added (probably in this place)
+ */
+ }//if (
+
+ }
+ __ASSERT_DEBUG(upperMarker == iServMimes.Count(), User::Panic( _L("upperMarker bad value"), 1));
+
+ if(sr)
+ {
+ //we do not need it any more
+ delete sr;
+ sr=NULL;
+ }
+ if(lowerMarker == upperMarker)
+ {
+ //current app does not support any MIME for the current service, clean and get out of here
+ CleanupStack::PopAndDestroy(serv);
+ CleanupStack::PopAndDestroy(); // closes RApaLsSession
+ return;
+ }
+
+ if(!iSimplifiedView)
+ {
+ //if we are here, we have MIMEs for the current service
+ //iterate once more and add applications for MIMEs already in the list
+ for (i=0; i<serv->Array().Count(); i++)
+ {
+ uid=serv->Array()[i].Uid();
+ if( uid == iAppUid) continue; //we don't add our client application once more in the list (it is already there)
+ for(j=0; j<serv->Array()[i].DataTypes().Count(); j++)
+ for(k=lowerMarker; k<upperMarker; k++)
+ if(iServMimes[k]->iMime->Des() == serv->Array()[i].DataTypes()[j].iDataType.Des8())
+ {
+ InsertApplicationL(*(iServMimes[k]), serv->Array()[i].Uid(), serv->Array()[i].DataTypes()[j].iPriority, &ls);
+ }//if same MIME
+ }
+ }
+
+ //before deleting some of the entries ...
+ if(iSimplifiedView)
+ {
+ //check the service & MIMEs against the task list...
+ //first, check the service against task services
+ for(it=0; it<iTasks.Count(); it++)
+ for(jt=0; jt<iTasks[it]->iServicesUids.Count(); jt++)
+ if(aServiceUid.iUid == iTasks[it]->iServicesUids[jt])
+ {
+ //lets check if the MIME matches too...
+ for(k=lowerMarker; k<upperMarker; k++)
+ if(*iServMimes[k]->iMime == *iTasks[it]->iMimes[jt])
+ {
+ //this entry matches an entry in the task list
+ //add the applications to the list
+ PopulateTaskWithApplicationsL(*iTasks[it],iServMimes[k]);
+ //link the sm, if it has more than 1 application
+ break;//sm found, no need to search for it further
+ }
+ }
+ }
+
+
+
+ //iterate from the newly added entries and set the index
+ for(k=lowerMarker; k<upperMarker; k++)
+ {
+ TBool smSetOrRemoved = EFalse;
+ //check for single applications
+ if( iServMimes[k]->iApplications.Count() <2 && !flagShowAll)
+ {
+ //this entry has a single element (that should not be shown)
+ //we either delete it, or move it
+ if(iServMimes[k]->iUsedByTasks)
+ {
+ //the sm is used by tasks, we move it
+ iTaskServMimes.AppendL(iServMimes[k]);//takes ownership of sm
+ }
+ else
+ {
+ //the sm is not used by tasks, we delete it.
+ delete iServMimes[k];
+ }
+
+ //we remove the entry from the iServMimes (so that it is not shown)
+ iServMimes.Remove(k);
+ k--;
+ upperMarker--;
+ smSetOrRemoved=ETrue;
+ }
+
+ //set the index
+ if(!smSetOrRemoved)
+ {
+ for(i=0 ; i< iServMimes[k]->iApplications.Count() ; i++)
+ {
+ if(iServMimes[k]->iApplications[i]->iUid == iServMimes[k]->iDefaultAppUid.iUid)
+ iServMimes[k]->iDefaultApp=i;
+ }
+ }
+ };
+
+ if(iSimplifiedView)
+ for(it=0; it<iTasks.Count(); it++)
+ if(iTasks[it]->iDefaultAppUid.iUid == 0 && iTasks[it]->iApplications.Count()>0)
+ {
+ //there is no uid, look for the platform App and make it the default
+ for(jt=0; jt<iTasks[it]->iApplications.Count(); jt++)
+ if(iTasks[it]->iApplications[jt]->iFlags & CAppHelper::EFlagPlatformApp)
+ {
+ iTasks[it]->iDefaultAppUid.iUid = iTasks[it]->iApplications[jt]->iUid;
+ iTasks[it]->iDefaultApp=jt;
+ break;//app found, no need to search for it any longer
+ };
+
+ //if no app found, mark the first one as default
+ if(iTasks[it]->iDefaultAppUid.iUid == 0)
+ {
+ iTasks[it]->iDefaultAppUid.iUid = iTasks[it]->iApplications[0]->iUid;
+ iTasks[it]->iDefaultApp = 0;//the index
+ };
+ }
+ else
+ for(jt=0; jt<iTasks[it]->iApplications.Count(); jt++)
+ if(iTasks[it]->iApplications[jt]->iUid == iTasks[it]->iDefaultAppUid.iUid)
+ {
+ iTasks[it]->iDefaultApp=jt;
+ break;//app found, no need to search for it any longer
+ }
+
+ //done, destroy serv
+ CleanupStack::PopAndDestroy(serv);
+ CleanupStack::PopAndDestroy( ); // closes RApaLsSession
+ }
+
+// ---------------------------------------------------------------------------
+// C++ Constructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppServMimeApps::CDefaultAppServMimeApps(): iList(4)
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppServMimeApps::~CDefaultAppServMimeApps()
+ {
+ iServMimes.ResetAndDestroy();
+ iTasks.ResetAndDestroy();
+ iTaskServMimes.ResetAndDestroy();
+ }
+
+// ---------------------------------------------------------------------------
+// This function sorts the Services & MIMEs and their applications.
+// It also sorts the Serivces & MIMEs associated with tasks
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppServMimeApps::BeautifyAndSortServMimeApps(void)
+ {
+ //first, go through the Services & MIMEs localized names and sort them
+ TLinearOrder<CServiceMime> order(&CServiceMime::OrderServiceMimes);
+ iServMimes.Sort(order);
+
+ //go through applications and sort them
+ TInt i,j;
+ for(i=0; i<iServMimes.Count(); i++)
+ {
+ TLinearOrder<CAppHelper> order2(&CAppHelper::OrderApplications);
+ iServMimes[i]->iApplications.Sort(order2);
+ //get our app index
+ for(j=0; j<iServMimes[i]->iApplications.Count(); j++)
+ if(iServMimes[i]->iApplications[j]->iUid == iServMimes[i]->iDefaultAppUid.iUid)
+ iServMimes[i]->iDefaultApp = j;
+ };
+ //if we have tasks, we sort their apps too
+ for(i=0; i<iTasks.Count(); i++)
+ {
+ TLinearOrder<CAppHelper> order2(&CAppHelper::OrderApplications);
+ iTasks[i]->iApplications.Sort(order2);
+ //get our app index
+ for(j=0; j<iTasks[i]->iApplications.Count(); j++)
+ if(iTasks[i]->iApplications[j]->iUid == iTasks[i]->iDefaultAppUid.iUid)
+ iTasks[i]->iDefaultApp = j;
+ };
+ }
+
+
+// ---------------------------------------------------------------------------
+// This function reads from the resource file the list of tasks (and associated data).
+// This function is used during construction
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppServMimeApps::GetTaskListL( TInt aResourceId )
+ {
+ TResourceReader reader;
+ TInt i;
+ CServiceRegistry* sr=CServiceRegistry::NewL();
+ CleanupStack::PushL(sr);
+
+ // Read tasks
+
+ CEikonEnv::Static()->CreateResourceReaderLC( reader, aResourceId );
+
+ TInt count = reader.ReadInt16();
+ for ( i = 0; i < count; i++ )
+ {
+ CMediaTask* task=CMediaTask::NewLC(reader);
+ // Read the default application for this task ...
+ sr->GetDefault(KOpenServiceUid, *task->iMimeLabel, task->iDefaultAppUid);
+
+ //add the task to the list
+ iTasks.Append(task);
+ CleanupStack::Pop(task);
+ }
+
+ CleanupStack::PopAndDestroy(); // reader
+ CleanupStack::PopAndDestroy(sr);
+ }
+
+// ---------------------------------------------------------------------------
+// This function adds a new Application to a list of an Service & Mime object.
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppServMimeApps::InsertApplicationL(CServiceMime& aServMime, const TUid& aAppUid, const TDataTypePriority& aPrio, const RApaLsSession *aLs)
+ {
+ TBool addIt = ETrue;
+
+ if(aPrio == KDataTypePrioritySystem)
+ {
+ // the application to be inserted has system priority
+ if(aServMime.iDefaultApp == -1)
+ {
+ //we have non-system applications in the list
+ //delete them ...
+ aServMime.iApplications.ResetAndDestroy();
+
+ //... and make the default -2 ... (it means single app with system priority)
+ aServMime.iDefaultApp = -2;
+ //... and add our application (after exiting from the "if")
+ }
+ else
+ {
+ //do not delete the applications, but just add our application
+ //...and make the default -3 (it means multiple apps with system priority)
+ aServMime.iDefaultApp = -3;
+ //... and add our application (after exiting from the "if")
+ }
+ }
+ else
+ {
+ // the application to be inserted does NOT have system priority
+ if(aServMime.iDefaultApp < -1)
+ {
+ // there are only System apps in the list, do not add ours
+ addIt = EFalse;
+ }
+ // else there are normal applications in the list, insert ours, as well
+ }
+ //add the application to the list
+ if(addIt)
+ {
+ TApaAppInfo info;
+ aLs->GetAppInfo(info,aAppUid);
+ //find the best name for the application
+ CAppHelper *app = NULL;
+ if(info.iCaption.Size() != 0)
+ {
+ //this is for now, the preferred name
+ app = CAppHelper::NewLC(info.iCaption, aAppUid.iUid);
+ }
+ else
+ {
+ //fall-back name
+ app = CAppHelper::NewLC(info.iShortCaption, aAppUid.iUid);
+ };
+ //is the app platform application??
+ if (info.iFullName.Left(1) == _L("Z") ||
+ info.iFullName.Left(1) == _L("z"))
+ app->iFlags |= CAppHelper::EFlagPlatformApp;
+ //append the name
+ aServMime.iApplications.AppendL(app);
+ CleanupStack::Pop(app);
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// This function takes a task and a Service & MIME object. It checks all the applications that support the given
+// Service & MIME object (from its list). If an application is not in the task's application list, this function adds
+// it there, with a score of 1. If the application is already in the list, then its score is incremented.
+// The Service & MIME object is also marked as being used by a task.
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppServMimeApps::PopulateTaskWithApplicationsL(CMediaTask& aTask,CServiceMime* aServMime)
+ {
+ TInt i,j;
+ TBool found;
+ //add the applications to the list
+ for(i=0; i<aServMime->iApplications.Count(); i++)
+ {
+ found=EFalse;
+ for(j=0; j<aTask.iApplications.Count(); j++)
+ if(aServMime->iApplications[i]->iUid == aTask.iApplications[j]->iUid)
+ {
+ //we found this application...
+ found=ETrue;
+ //... increase its score
+ aTask.iApplications[j]->iScore++;
+ //... and get to the next application
+ break; //application found, no need to search for it any more
+ }
+ //if the application was not found, we have to add it!
+ if(!found)
+ {
+ CAppHelper *app = CAppHelper::NewLC(*aServMime->iApplications[i]);
+ aTask.iApplications.AppendL(app);
+ CleanupStack::Pop(app);
+ }
+ }
+ //mark the sm
+ aServMime->iUsedByTasks=ETrue;
+ //link the sm
+ aTask.iSMs.Append(aServMime);
+ }
+
+// ---------------------------------------------------------------------------
+// This function fills with entries a data structure used by a List Box to display Services & MIMEs or Tasks
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppServMimeApps::GetServicesAndMimesListL(CDesCArray& aServicesAndMimesArray)
+ {
+ TInt i;
+ aServicesAndMimesArray.Reset();
+ if(iSimplifiedView)
+ {
+ for ( i=0 ; i<iTasks.Count() ; i++ )
+ {
+ TDesC* string = GetMediaTaskStringLC(*iTasks[i], ETrue);
+ aServicesAndMimesArray.AppendL (*string);
+ CleanupStack::PopAndDestroy(string);
+ }
+ }
+ else
+ {
+ for ( i=0 ; i<iServMimes.Count() ; i++ )
+ {
+ TDesC* string = GetServiceAndMimeStringLC(*iServMimes[i], ETrue);
+ aServicesAndMimesArray.AppendL (*string);
+ CleanupStack::PopAndDestroy(string);
+ }
+ }
+
+ }
+
+// ---------------------------------------------------------------------------
+// This function fills a Popup-list data structure with applications specific to the selected Service & MIME or Task
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppServMimeApps::GetApplicationsListL(TInt aIndex, CDesCArray& aApplicationsArray, HBufC*& aTitle)
+ {
+ // Strings will be of the format "1\tApplication"
+ _LIT (KStringAppsDefault, "1\t");
+ _LIT (KStringAppsNonDefault, "0\t");
+
+ TInt bufLen=20;
+ HBufC *string=HBufC::NewLC(bufLen);
+ HBufC *newString=NULL;
+ TInt i,len;
+ RPointerArray<CAppHelper> *apps=NULL;
+
+ //get the proper list
+ if(iSimplifiedView)
+ apps = &(iTasks[aIndex]->iApplications);
+ else
+ apps = &(iServMimes[aIndex]->iApplications);
+
+ for ( i=0 ; i<apps->Count() ; i++ )
+ {
+ len=(*apps)[i]->iName->Size() + KStringMargin ;
+ if(len>bufLen)
+ {
+ newString=string->ReAllocL(len);
+ if(newString != string)
+ {
+ CleanupStack::Pop(string);//already destroyed
+ string=newString;
+ CleanupStack::PushL(string);
+ }
+ bufLen=len;
+ newString=NULL;
+ }
+ //copy the application into the string buffer
+ TPtr ptr=string->Des();
+ TBool isDefault=EFalse;
+
+ if( iSimplifiedView && iTasks[aIndex]->iDefaultApp==i) isDefault=ETrue;
+ if( !iSimplifiedView && iServMimes[aIndex]->iDefaultApp==i) isDefault=ETrue;
+
+ if( isDefault ) ptr.Copy(KStringAppsDefault);
+ else ptr.Copy(KStringAppsNonDefault);
+ ptr.Append(*(*apps)[i]->iName);
+
+ aApplicationsArray.AppendL (ptr);
+ }
+
+ CleanupStack::PopAndDestroy(string); //data in ptr is out of scope
+
+ //get the title now
+ if ( iSimplifiedView )
+ aTitle = GetMediaTaskStringLC(*iTasks[aIndex], EFalse);
+ else
+ aTitle = GetServiceAndMimeStringLC(*iServMimes[aIndex], EFalse);
+ CleanupStack::Pop(aTitle);
+ }
+
+// ---------------------------------------------------------------------------
+// This function sets a new default, for a Service & MIME pair or for a Task.
+// The function also updates the list of Services & MIMEs (or Tasks), to display the new default application
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppServMimeApps::UpdateDefaultL(TInt aServiceAndMimeIndex, TInt aDefaultAppIndex, CDesCArray *aServicesAndMimesArray)
+ {
+ //check for correct parameters
+ if (aServiceAndMimeIndex <0 || aDefaultAppIndex <0) User::Leave(KErrArgument);
+ if(iSimplifiedView)
+ {
+ if( aServiceAndMimeIndex >= iTasks.Count() ||
+ aDefaultAppIndex >= iTasks[aServiceAndMimeIndex]->iApplications.Count())
+ User::Leave(KErrArgument);
+ }
+ else
+ {
+ if( aServiceAndMimeIndex >= iServMimes.Count() ||
+ aDefaultAppIndex >= iServMimes[aServiceAndMimeIndex]->iApplications.Count())
+ User::Leave(KErrArgument);
+ }
+
+ //if we are here, parameters are within their range
+ TBool doUpdate=ETrue;
+ TUid defaultAppUid;
+ CServiceRegistry *sr=CServiceRegistry::NewL();
+ CleanupStack::PushL(sr);
+
+ //update the default in the Service Registry
+ if(iSimplifiedView)
+ {
+ TInt i,j;
+ TUid serviceUid;
+ //set the default for the generic MIME (and our server application)
+ TDataType dt(*iTasks[aServiceAndMimeIndex]->iMimeLabel);
+ defaultAppUid=TUid::Uid(iTasks[aServiceAndMimeIndex]->iApplications[aDefaultAppIndex]->iUid);
+ if(sr->SetDefault(KOpenServiceUid, dt,defaultAppUid))
+ {
+ //if we are here, SetDefault returned an error.
+ //so we do not update the default...
+ doUpdate=EFalse;
+ }
+ //set the selected default for all the Services & MIME that it supports
+ if(doUpdate)
+ {
+ for(i=0; i<iTasks[aServiceAndMimeIndex]->iSMs.Count(); i++)
+ for(j=0; j<iTasks[aServiceAndMimeIndex]->iSMs[i]->iApplications.Count(); j++)
+ if(defaultAppUid.iUid == iTasks[aServiceAndMimeIndex]->iSMs[i]->iApplications[j]->iUid )
+ {
+ //the selected application supports this Service & MIME pair.
+ //make the app default for the pair.
+ dt=*iTasks[aServiceAndMimeIndex]->iSMs[i]->iMime;
+ serviceUid=iTasks[aServiceAndMimeIndex]->iSMs[i]->iServiceUid;
+ sr->SetDefault(serviceUid, dt,defaultAppUid);
+ //update the sm so that it reflects the new default
+ iTasks[aServiceAndMimeIndex]->iSMs[i]->iDefaultAppUid=defaultAppUid;
+ iTasks[aServiceAndMimeIndex]->iSMs[i]->iDefaultApp=j;
+ break; //application found in sm's list, do not need to search for it any more
+ }
+ //update the default entries
+ iTasks[aServiceAndMimeIndex]->iDefaultApp=aDefaultAppIndex;
+ iTasks[aServiceAndMimeIndex]->iDefaultAppUid=defaultAppUid;
+ }
+
+ }
+ else
+ {
+ TDataType dt(*iServMimes[aServiceAndMimeIndex]->iMime);
+ defaultAppUid=TUid::Uid(iServMimes[aServiceAndMimeIndex]->iApplications[aDefaultAppIndex]->iUid);
+ if(sr->SetDefault(iServMimes[aServiceAndMimeIndex]->iServiceUid, dt,defaultAppUid))
+ {
+ //if we are here, SetDefault returned an error.
+ //so we do not update the default...
+ doUpdate=EFalse;
+ }
+ //update the default entries
+ if(doUpdate)
+ {
+ iServMimes[aServiceAndMimeIndex]->iDefaultApp=aDefaultAppIndex;
+ iServMimes[aServiceAndMimeIndex]->iDefaultAppUid=defaultAppUid;
+ }
+ }
+ CleanupStack::PopAndDestroy(sr);
+
+ //check if setting the default failed
+ if(!doUpdate)
+ {
+ //### if updating the default failed, here would be the place to put an error note to the user
+ return; // or leave
+ };
+
+ //update the item in the list
+ if (aServicesAndMimesArray)
+ {
+ //get the string
+ TDesC* string;
+ if(iSimplifiedView)
+ string = GetMediaTaskStringLC(*iTasks[aServiceAndMimeIndex], ETrue);
+ else
+ string = GetServiceAndMimeStringLC(*iServMimes[aServiceAndMimeIndex], ETrue);
+ aServicesAndMimesArray->Delete(aServiceAndMimeIndex);
+ aServicesAndMimesArray->InsertL(aServiceAndMimeIndex,*string);
+ CleanupStack::PopAndDestroy(string);
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// This function creates a string that will become en element of a list box. To create the string, the function
+// concatenates several sub-strings.
+// ---------------------------------------------------------------------------
+//
+HBufC* CDefaultAppServMimeApps::GetServiceAndMimeStringLC(CServiceMime& aServMime, TBool aInsertDefaultApp) const
+ {
+ HBufC *string=NULL;
+ TPtr *ptr=NULL;
+ TInt len;
+ _LIT(KTab,"\t");
+
+ if(aInsertDefaultApp && aServMime.iDefaultApp >= 0) //it may be that we do not have a default ...
+ len=aServMime.iApplications[aServMime.iDefaultApp]->iName->Size();
+ else
+ len=0;
+ len+= aServMime.iServiceMime->Size();
+ len+= KStringMargin ;
+
+ string=HBufC::NewLC(len);
+
+ //build the string, add the tabs before and after
+ ptr=new (ELeave) TPtr(string->Des());
+ CleanupStack::PushL(ptr);
+
+ ptr->Copy(*aServMime.iServiceMime);
+
+ if(aInsertDefaultApp)
+ {
+ ptr->Insert(0,KTab);
+ ptr->Append(KTab);
+
+ //add default app
+ if(aServMime.iDefaultApp >= 0) //it may be that we do not have a default ...
+ ptr->Append(*aServMime.iApplications[aServMime.iDefaultApp]->iName);
+ }
+
+ CleanupStack::PopAndDestroy(ptr);
+
+ return string; //pass ownership, string also on the stack
+
+ }
+
+// ---------------------------------------------------------------------------
+// This function creates a string that will become en element of a list box. To create the string, the function
+// concatenates several sub-strings.
+// ---------------------------------------------------------------------------
+//
+HBufC* CDefaultAppServMimeApps::GetMediaTaskStringLC(CMediaTask& aMediaTask, TBool aInsertDefaultApp) const
+ {
+ TPtr *ptr=NULL;
+ TInt len = KStringMargin;
+ _LIT(KTab,"\t");
+ HBufC *taskName=NULL; //not owned, not deleted at the end of function
+
+ //compute the string length
+ if(aInsertDefaultApp)
+ {
+ //we insert the task list name
+ taskName = aMediaTask.iTaskList;
+ //we also insert the length od the default app (if we have it)
+ if(aMediaTask.iDefaultApp >= 0)//it may be that we do not have a default ...
+ len += aMediaTask.iApplications[aMediaTask.iDefaultApp]->iName->Size();
+ }
+ else
+ {
+ //we should insert the task title, if we have it
+ taskName = aMediaTask.iTaskTitle;
+ //taskName = aMediaTask.iTaskList;
+ };
+ len += taskName->Size();
+
+ //allocate the string
+ HBufC *string=HBufC::NewLC(len);
+
+ //add the title
+ ptr=new (ELeave) TPtr(string->Des());
+ CleanupStack::PushL(ptr);
+ ptr->Copy(*taskName);
+
+ //add other stuff
+ if(aInsertDefaultApp)
+ {
+ ptr->Insert(0,KTab);
+ ptr->Append(KTab);
+ //add default app
+ if(aMediaTask.iDefaultApp >= 0) //it may be that we do not have a default ...
+ ptr->Append(*aMediaTask.iApplications[aMediaTask.iDefaultApp]->iName);
+ }
+
+ CleanupStack::PopAndDestroy(ptr);
+
+ return string; //pass ownership, string also on the stack
+ }
+
+// ---------------------------------------------------------------------------
+// This function resets (removes) the defaults associated with a certain task,
+// or it can remove all the defaults
+// ---------------------------------------------------------------------------
+//
+TInt CDefaultAppServMimeApps::RestoreFactorySettingsL(TInt aCathegory)
+ {
+ TInt i, j;
+ CServiceRegistry *sr=NULL;
+
+ if(aCathegory == -1)
+ {
+ sr=CServiceRegistry::NewL();
+
+ if ( iSimplifiedView )
+ {
+ for(i=0; i<iTasks.Count(); i++)
+ {
+ for(j=0; j<iTasks[i]->iMimes.Count(); j++)
+ {
+ sr->RemoveEntry(TUid::Uid(iTasks[i]->iServicesUids[j]), TDataType(*iTasks[i]->iMimes[j]));
+ }
+ //remove the entry that identifies the default app for the task
+ sr->RemoveEntry(KOpenServiceUid, TDataType(*iTasks[i]->iMimeLabel));
+ }
+ }
+ else
+ {
+ //we reset the defaults for all the services & MIME
+ for(i=0; i<iServMimes.Count(); i++)
+ sr->RemoveEntry(iServMimes[i]->iServiceUid, TDataType(*iServMimes[i]->iMime));
+ //remove the entry that identifies the default app for the task
+ for(i=0; i<iTasks.Count(); i++)
+ sr->RemoveEntry(KOpenServiceUid, TDataType(*iTasks[i]->iMimeLabel));
+ }
+ }
+ else if(iSimplifiedView && aCathegory >= 0 && aCathegory < iTasks.Count())
+ {
+ //we are in simplified view, restore defaults for a single task
+ sr=CServiceRegistry::NewL();
+ for(i=0; i<iTasks[aCathegory]->iMimes.Count(); i++)
+ sr->RemoveEntry(TUid::Uid(iTasks[aCathegory]->iServicesUids[i]), TDataType(*iTasks[aCathegory]->iMimes[i]));
+ //remove the entry that identifies the default app for the task
+ sr->RemoveEntry(KOpenServiceUid, TDataType(*iTasks[aCathegory]->iMimeLabel));
+ }
+ else if(!iSimplifiedView && aCathegory >= 0 && aCathegory < iServMimes.Count())
+ {
+ //we are in the advanced view, restore defaults for a single Service & MIME pair
+ sr=CServiceRegistry::NewL();
+ sr->RemoveEntry(iServMimes[aCathegory]->iServiceUid, TDataType(*iServMimes[aCathegory]->iMime));
+ }
+ else return -1; //wrong aCathegory range
+
+ if(sr) delete sr;
+ return 0;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/src/das_srvmime_dlg.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,530 @@
+/*
+* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of the Services & MIME view class
+*
+*/
+
+
+
+// System includes
+#include <e32base.h>
+#include <AknIconArray.h>
+#include <gulicon.h>
+#include <AknsUtils.h>
+#include <avkon.mbg>
+
+#include <featmgr.h>
+#include <hlplch.h>
+
+#include <aknlists.h>
+#include <barsread.h>
+#include <e32def.h>
+#include <eikclbd.h>
+#include <eikmenub.h>
+
+#include <defaultappserver.rsg>
+#include <StringLoader.h>
+#include <uikon.hrh>
+#include <aknPopup.h>
+#include <akntitle.h>
+#include <aknsfld.h>
+#include <featmgr.h>
+
+#include <aknsettingitemlist.h>
+
+#include "das_srvmime_dlg.h"
+#include "das_servmimeapps.h"
+#include "das_appui.h"
+#include "das_app.h"
+#include "das.hrh"
+#include "das.hlp.hrh"
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Symbian 2-phased constructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppSrvMimeDlg* CDefaultAppSrvMimeDlg::NewL(CDefaultAppAppUi* aAppUi)
+ {
+ //we first need to create a CDefaultAppServMimeApps instance
+ TInt *selected;
+ if(aAppUi->iReloadDlgAdvanced)
+ {
+ //some settings for the advanced view
+ selected=&(aAppUi->iSelectedItemAdvanced);
+ }
+ else
+ {
+ //some settings for the simple view
+ selected=&(aAppUi->iSelectedItemSimple);
+ };
+
+ //create the dialog instance (ownership of servMimeApps is passed to the dialog
+ CDefaultAppSrvMimeDlg *dialog=new(ELeave)CDefaultAppSrvMimeDlg(aAppUi, selected);
+ CleanupStack::PushL(dialog);
+ dialog->ConstructL(R_DAS_MENUBAR);
+ CleanupStack::Pop(dialog);
+ return dialog;
+ }
+
+// ---------------------------------------------------------------------------
+// C++ Constructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppSrvMimeDlg::CDefaultAppSrvMimeDlg(CDefaultAppAppUi* aAppUi, TInt *aSelected) :
+ CAknSelectionListDialog(*aSelected, &aAppUi->iServMimeApps->iList, NULL),
+ iDefaultAppUi(aAppUi), iSelected(aSelected), iOkToExit(EFalse)
+ {
+ //no implementation necessary
+ }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CDefaultAppSrvMimeDlg::~CDefaultAppSrvMimeDlg()
+ {
+ if ( iDefaultAppUi )
+ {
+ iDefaultAppUi->SetDialogExist( EFalse );
+ }
+
+ if ( iPopupList )
+ {
+ iPopupList->CancelPopup();
+ iPopupList = NULL;
+ }
+ }
+
+
+// ---------------------------------------------------------------------------
+// From class From CAknSelectionListDialog
+// This function is called when buttons/softkeys are pressed, to check if the dlg should exit.
+// We make the checkings and return the result.
+// ---------------------------------------------------------------------------
+//
+TBool CDefaultAppSrvMimeDlg::OkToExitL(TInt aButtonId)
+ {
+ CAknSelectionListDialog::OkToExitL(aButtonId);
+ if ( aButtonId == EAknSoftkeyOptions && iPopupList )
+ {
+ iPopupList->CancelPopup();
+ iPopupList = NULL;
+ }
+ if(aButtonId == EAknSoftkeyBack || aButtonId == EAknCmdOpen || aButtonId == EAknSoftkeyOk)
+ {
+ ProcessCommandL(aButtonId);
+ };
+ if(aButtonId==EAknCmdEnd || aButtonId==EAknSoftkeyCancel)
+ {
+ iOkToExit=ETrue;
+ iDefaultAppUi->iReloadDlg=EFalse;
+ }
+ return iOkToExit;
+ }
+
+// ---------------------------------------------------------------------------
+// From class From CAknSelectionListDialog
+// This function is called when a command is issued by the user.
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppSrvMimeDlg::ProcessCommandL(TInt aCommand)
+ {
+ CAknSelectionListDialog::ProcessCommandL(aCommand); //this hides the menu and takes care of find
+ iEnterKeyPressed=EFalse;
+
+
+ *iSelected = ListBox()->CurrentItemIndex();
+ if (FindBox() && *iSelected != -1)
+ *iSelected = STATIC_CAST(CAknFilteredTextListBoxModel*,ListBox()->Model())->Filter()->FilteredItemIndex(*iSelected);
+ // ATTENTION: If *iSelected is -1 it means that the list is empty!
+
+
+ switch(aCommand)
+ {
+ case EDasCmdAdvanced:
+ //SwitchViewL();
+
+ //make the dialog reload
+ iDefaultAppUi->iReloadDlgAdvanced=ETrue;
+ iOkToExit=ETrue;
+ //force our exit
+ TryExitL(0);
+
+ break;
+ case EAknCmdHelp:
+ HlpLauncher::LaunchHelpApplicationL(iEikonEnv->WsSession(), iDefaultAppUi->AppHelpContextL());
+ break;
+ case EDasCmdResetAll:
+ case EDasCmdResetSelected:
+ if(aCommand==EDasCmdResetSelected)
+ {
+ if(*iSelected!=-1)
+ iDefaultAppUi->iServMimeApps->RestoreFactorySettingsL(*iSelected);
+ }
+ else
+ iDefaultAppUi->iServMimeApps->RestoreFactorySettingsL(-1);
+
+ //common code:
+ //reload the dialog
+ if(!iDefaultAppUi->iServMimeApps->iSimplifiedView)
+ iDefaultAppUi->iReloadDlgAdvanced=ETrue;
+ iOkToExit=ETrue;
+ //delete the iServMimeApps so that it will be reloaded next time
+ delete iDefaultAppUi->iServMimeApps;
+ iDefaultAppUi->iServMimeApps=NULL;
+ //force our exit
+ TryExitL(0);
+ break;
+ case EAknCmdExit:
+ //exit the server
+ iOkToExit=ETrue;
+ iDefaultAppUi->iReloadDlg=EFalse;
+ //force our exit
+ TryExitL(0);
+ break;
+ case EAknSoftkeyBack:
+ //we have 2 cases here:
+ //if we are in the advanced view, we switch back to the simple view.
+ //if we are in the simple view, then we exit the server
+ if(iDefaultAppUi->iServMimeApps->iAppUid == KUidGS && !iDefaultAppUi->iServMimeApps->iSimplifiedView)
+ {
+ //switch back to simple view
+ //make the dialog reload
+ iDefaultAppUi->iReloadDlgAdvanced=EFalse;
+ iOkToExit=ETrue;
+ // no need to force our exit, we are comming from a TryExitL()
+ }
+ else
+ {
+ //exit the server
+ iOkToExit=ETrue;
+ iDefaultAppUi->iReloadDlg=EFalse;
+ //tell AppUi that the exit is due a "Back" command
+ iDefaultAppUi->iExitBack=ETrue;
+ }
+ break;
+ case EAknCmdOpen:
+ case EAknSoftkeyOk:
+ //we have the index of the selected item in *iSelected
+ OpenMenuForSelectedServiceAndMimeL(*iSelected);
+ break;
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// From class From CAknSelectionListDialog
+// Called during the construction of the dialog. We build the list of elements here.
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppSrvMimeDlg::PreLayoutDynInitL()
+ {
+ CAknSelectionListDialog::PreLayoutDynInitL();
+
+ CEikSettingsListBox* listbox=(CEikSettingsListBox*)ListBox();
+ // Ownership retained by us
+ listbox->CreateScrollBarFrameL( ETrue );
+ listbox->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOn, CEikScrollBarFrame::EAuto );
+ listbox->UpdateScrollBarsL();
+
+ //enable marquee
+ EnableMarqueeL();
+
+ //restore the selected item
+ if(*iSelected >= 0)
+ {
+ listbox->SetCurrentItemIndex(*iSelected);
+ };
+
+ //change the title
+ CEikStatusPane *statusPane=iDefaultAppUi->StatusPane();
+ if(statusPane && statusPane->PaneCapabilities(TUid::Uid(EEikStatusPaneUidTitle)).IsPresent())
+ {
+ CAknTitlePane *titlePane=(CAknTitlePane*)(statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle)));
+ HBufC* titleString;
+ //load the correct title string
+ if(iDefaultAppUi->iReloadDlgAdvanced)
+ {
+ if(iDefaultAppUi->iClientUid == KUidGS)
+ //User activated advanced view in Control Panel
+ titleString=StringLoader::LoadLC(R_DA_TITLE_ADVANCED);
+ else //Client is some application other than Control Panel; load app specific view.
+ titleString=StringLoader::LoadLC(R_DA_TITLE_APP);
+ }
+ else //Simple view in Control Panel
+ titleString=StringLoader::LoadLC(R_DA_TITLE_MAIN);
+ titlePane->SetTextL(*titleString);
+ CleanupStack::PopAndDestroy(titleString);
+ };
+
+ ListBox()->AddItemChangeObserverL( this );
+ }
+
+// ---------------------------------------------------------------------------
+// From class CAknDialog.
+// Called when the menu is initialized.
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppSrvMimeDlg::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
+ {
+ if (aResourceId != R_DAS_MENU) return;
+ __ASSERT_ALWAYS(iDefaultAppUi->iServMimeApps,User::Leave(KErrGeneral));
+
+ // for !iSimplifiedView dim the EDasCmdAdvanced
+ if(!iDefaultAppUi->iServMimeApps->iSimplifiedView)
+ aMenuPane->SetItemDimmed(EDasCmdAdvanced, ETrue);
+
+ // if the Client is not observing when we are exiting, then dim the Exit
+ if(iDefaultAppUi->iServMimeApps->iFlagNoObserver)
+ aMenuPane->SetItemDimmed(EAknCmdExit, ETrue);
+
+ // Help should be displayed only if the feature is supported
+ // according to Feature Manager
+ if (!FeatureManager::FeatureSupported(KFeatureIdHelp))
+ {
+ aMenuPane->SetItemDimmed(EAknCmdHelp, ETrue);
+ }
+ //if the findbox already exists, dim the find menu item.
+ if ( FindBox()->IsVisible() )
+ {
+ aMenuPane->SetItemDimmed(EAknCmdFindPopupActivated, ETrue);
+ }
+
+ CTextListBoxModel* modelSm = ( ( CEikSettingsListBox* )ListBox() )->Model(); // not taking ownership
+ TInt itemCount = modelSm->NumberOfItems();
+ //if the listbox is empty, dim the change menu item.
+ if (itemCount == 0)
+ {
+ aMenuPane->SetItemDimmed(EAknCmdOpen, ETrue);
+ }
+
+ }
+
+// ---------------------------------------------------------------------------
+// From class CCoeControl.
+// Called to get the help context.
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppSrvMimeDlg::GetHelpContext(TCoeHelpContext& aContext) const
+ {
+ aContext.iMajor = KUidDefaultAppServer;
+
+ //check if we have proper values
+ if(!iDefaultAppUi->iServMimeApps)
+ aContext.iContext = KDA_HLP_MAIN;
+ else
+ {
+ //check for GS client
+ if (iDefaultAppUi->iServMimeApps->iAppUid == KUidGS)
+ {
+ //the client is GS. Check for simplified or advanced view
+ if (iDefaultAppUi->iServMimeApps->iSimplifiedView)
+ aContext.iContext = KDA_HLP_MAIN;
+ else
+ aContext.iContext = KDA_HLP_ADVANCED;
+ }
+ else
+ {
+ //this is not GS client
+ aContext.iContext = KDA_HLP_APPLICATION;
+ };
+ };
+ }
+
+// ---------------------------------------------------------------------------
+// From class CCoeControl.
+// Called to get the help context.
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppSrvMimeDlg::SizeChanged()
+ {
+ CAknSelectionListDialog::SizeChanged();
+ }
+
+
+// ---------------------------------------------------------------------------
+// Enables marquee for the list elements.
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppSrvMimeDlg::EnableMarqueeL()
+ {
+ CFormattedCellListBoxData *tmp=((CEikSettingsListBox*)(ListBox()))->ItemDrawer()->FormattedCellData();
+
+ tmp->SetMarqueeParams(KMaxTInt, 6, 2000000, 10000); // Magic: loop forever
+ tmp->EnableMarqueeL(ETrue);
+ }
+
+
+// ---------------------------------------------------------------------------
+// Loads icons from a file and sets them in the drawer for iSavedGamesList
+// ---------------------------------------------------------------------------
+//
+CArrayPtr<CGulIcon>* CDefaultAppSrvMimeDlg::GetPopupListIconsL() const
+ {
+ // CGulIcon class packages two bitmaps: icon image and its mask
+ // CAknIconArray inherits from CArrayPtrFlat
+ CArrayPtr<CGulIcon>* iconList = new (ELeave)
+ CAknIconArray(2);
+ CleanupStack::PushL(iconList);
+
+ TFileName iconFile( AknIconUtils::AvkonIconFileName() );
+ MAknsSkinInstance* skinInstance;
+ CFbsBitmap* newIconBmp = NULL;
+ CFbsBitmap* newIconBmpMask = NULL;
+ CGulIcon* newIcon = NULL;
+
+ skinInstance = AknsUtils::SkinInstance();
+
+ //creating blank icon
+ AknsUtils::CreateIconLC(skinInstance,KAknsIIDQgnPropEmpty,
+ newIconBmp,newIconBmpMask,iconFile,
+ EMbmAvkonQgn_prop_empty,
+ EMbmAvkonQgn_prop_empty_mask);
+
+ newIcon = CGulIcon::NewL(newIconBmp,newIconBmpMask);
+
+ CleanupStack::Pop(2);//newIconBmp & newIconBmpMask
+ CleanupStack::PushL(newIcon);
+ iconList->AppendL(newIcon);
+
+ CleanupStack::Pop(newIcon);
+
+ //creating TICK mark icon
+ AknsUtils::CreateIconLC(skinInstance,KAknsIIDQgnPropSubCurrent,
+ newIconBmp,newIconBmpMask,iconFile,
+ EMbmAvkonQgn_prop_sub_current,
+ EMbmAvkonQgn_prop_sub_current_mask);
+
+ newIcon = CGulIcon::NewL(newIconBmp,newIconBmpMask);
+
+ CleanupStack::Pop(2);//newIconBmp & newIconBmpMask
+ CleanupStack::PushL(newIcon);
+ iconList->AppendL(newIcon);
+
+ CleanupStack::Pop(newIcon);
+
+ CleanupStack::Pop(iconList);
+
+ newIconBmp = NULL;
+ newIconBmpMask = NULL;
+ newIcon = NULL;
+
+ return iconList;
+ }
+
+
+// ---------------------------------------------------------------------------
+// Pops-up a menu list with the Applications for the selected Service & MIME item
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppSrvMimeDlg::OpenMenuForSelectedServiceAndMimeL(TInt aSelectedIndex)
+ {
+ if(!iDefaultAppUi->iServMimeApps)User::Leave(KErrNotFound);
+ if(aSelectedIndex<0)return; //there is no selected item (list is empty)
+
+ CAknSingleGraphicPopupMenuStyleListBox *selectedServiceAndMime = new (ELeave) CAknSingleGraphicPopupMenuStyleListBox;
+ CleanupStack::PushL(selectedServiceAndMime);
+
+ if ( iPopupList != NULL )
+ {
+ iPopupList->CancelPopup();
+ iPopupList = NULL;
+ }
+
+ iPopupList = CAknPopupList::NewL(selectedServiceAndMime, R_AVKON_SOFTKEYS_OK_CANCEL);
+ selectedServiceAndMime->ConstructL(iPopupList,EAknListBoxMenuList);
+ selectedServiceAndMime->CreateScrollBarFrameL (ETrue);
+ selectedServiceAndMime->ScrollBarFrame()->SetScrollBarVisibilityL(
+ CEikScrollBarFrame::EOff,
+ CEikScrollBarFrame::EAuto );
+
+ //construct icons
+ CArrayPtr<CGulIcon>* icons=GetPopupListIconsL();
+ selectedServiceAndMime->ItemDrawer()->ColumnData()->SetIconArray(icons); // passing ownership of icons
+
+
+ //populate the applications list
+ CTextListBoxModel* modelApps = selectedServiceAndMime->Model(); // not taking ownership
+ modelApps->SetOwnershipType (ELbmOwnsItemArray);
+ CDesCArray* applications = STATIC_CAST(CDesCArray*, modelApps->ItemTextArray());
+ HBufC* listTitle=NULL;
+ iDefaultAppUi->iServMimeApps->GetApplicationsListL(aSelectedIndex, *applications, listTitle);
+
+
+ //set the title of the list
+ CleanupStack::PushL(listTitle);
+ iPopupList->SetTitleL(*listTitle);
+ CleanupStack::PopAndDestroy(listTitle);
+ //
+ TInt popupOk = iPopupList->ExecuteLD();
+ iPopupList = NULL;
+
+ if(popupOk)
+ {
+ TInt selected = selectedServiceAndMime->CurrentItemIndex();
+
+ //update the default in the array & list
+ //get the list array first
+ CTextListBoxModel* modelSm = ((CEikSettingsListBox*)ListBox())->Model(); // not taking ownership
+ //modelSm->SetOwnershipType (ELbmOwnsItemArray);
+ CDesCArray* servicesAndMimesArray = STATIC_CAST(CDesCArray*, modelSm->ItemTextArray());
+ //do the update
+ iDefaultAppUi->iServMimeApps->UpdateDefaultL(aSelectedIndex,selected,servicesAndMimesArray);
+ //redraw the list
+ DrawNow();
+ }
+ CleanupStack::PopAndDestroy(selectedServiceAndMime);
+ }
+
+// ---------------------------------------------------------------------------
+// OfferKeyEventL from ccoecontrol
+// ---------------------------------------------------------------------------
+//
+TKeyResponse CDefaultAppSrvMimeDlg::OfferKeyEventL(const TKeyEvent &aKeyEvent, TEventCode aType)
+ {
+ if ( aKeyEvent.iCode == EKeyBackspace )
+ {
+ if ( FindBox()->TextLength() >0 )
+ {
+ return FindBox()->OfferKeyEventL( aKeyEvent, aType );
+ }
+ }
+ return CAknSelectionListDialog::OfferKeyEventL( aKeyEvent ,aType );
+ }
+
+// -----------------------------------------------------------------------------
+// CDefaultAppSrvMimeDlg::ListBoxItemsChanged (from MListBoxItemChangeObserver)
+//
+// -----------------------------------------------------------------------------
+//
+void CDefaultAppSrvMimeDlg::ListBoxItemsChanged( CEikListBox* aListBox )
+ {
+ if ( aListBox )
+ {
+ CEikButtonGroupContainer& cba = ButtonGroupContainer();
+ CTextListBoxModel* modelSm = ((CEikSettingsListBox*)aListBox)->Model(); // not taking ownership
+ TInt itemCount = modelSm->NumberOfItems();
+ if (itemCount == 0)
+ {
+ cba.MakeCommandVisible(EAknCmdOpen, EFalse);
+ }
+ else
+ {
+ cba.MakeCommandVisible(EAknCmdOpen, ETrue);
+ }
+ }
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/server/src/das_view.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,115 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of the view class
+*
+*/
+
+
+
+// System includes
+
+#include "das_view.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CDefaultAppView::NewL()
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CDefaultAppView* CDefaultAppView::NewL( const TRect& aRect )
+ {
+ CDefaultAppView* self = CDefaultAppView::NewLC( aRect );
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CDefaultAppView::NewLC()
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CDefaultAppView* CDefaultAppView::NewLC( const TRect& aRect )
+ {
+ CDefaultAppView* self = new ( ELeave ) CDefaultAppView;
+ CleanupStack::PushL( self );
+ self->ConstructL( aRect );
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CDefaultAppView::ConstructL()
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CDefaultAppView::ConstructL( const TRect& aRect )
+ {
+ // Create a window for this application view
+ CreateWindowL();
+
+ // Set the windows size
+ SetRect( aRect );
+
+ // Activate the window, which makes it ready to be drawn
+ ActivateL();
+ }
+
+// -----------------------------------------------------------------------------
+// CDefaultAppView::CDefaultAppView()
+// C++ default constructor can NOT contain any code, that might leave.
+// -----------------------------------------------------------------------------
+//
+CDefaultAppView::CDefaultAppView()
+ {
+ // No implementation required
+ }
+
+
+// -----------------------------------------------------------------------------
+// CDefaultAppView::~CDefaultAppView()
+// Destructor.
+// -----------------------------------------------------------------------------
+//
+CDefaultAppView::~CDefaultAppView()
+ {
+ // No implementation required
+ }
+
+
+// -----------------------------------------------------------------------------
+// CDefaultAppView::Draw()
+// Draws the display.
+// -----------------------------------------------------------------------------
+//
+void CDefaultAppView::Draw( const TRect& /*aRect*/ ) const
+ {
+ // Get the standard graphics context
+ CWindowGc& gc = SystemGc();
+
+ // Gets the control's extent
+ TRect drawRect( Rect());
+
+
+ }
+
+// -----------------------------------------------------------------------------
+// CDefaultAppView::SizeChanged()
+// Called by framework when the view size is changed.
+// -----------------------------------------------------------------------------
+//
+void CDefaultAppView::SizeChanged()
+ {
+ DrawNow();
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/service/BWINS/defaultappclientU.DEF Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,8 @@
+EXPORTS
+ ??1CDefaultAppClient@@UAE@XZ @ 1 NONAME ; CDefaultAppClient::~CDefaultAppClient(void)
+ ?ChangeDefaultsL@CDefaultAppClient@@QAEXH@Z @ 2 NONAME ; void CDefaultAppClient::ChangeDefaultsL(int)
+ ?NewL@CDefaultAppClient@@SAPAV1@PAVMAknServerAppExitObserver@@@Z @ 3 NONAME ; class CDefaultAppClient * CDefaultAppClient::NewL(class MAknServerAppExitObserver *)
+ ?NewLC@CDefaultAppClient@@SAPAV1@PAVMAknServerAppExitObserver@@@Z @ 4 NONAME ; class CDefaultAppClient * CDefaultAppClient::NewLC(class MAknServerAppExitObserver *)
+ ?PairsToDisplayL@CDefaultAppClient@@QAEHXZ @ 5 NONAME ; int CDefaultAppClient::PairsToDisplayL(void)
+ ?ServiceAvailable@CDefaultAppClient@@SAHAAH@Z @ 6 NONAME ; int CDefaultAppClient::ServiceAvailable(int &)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/service/EABI/defaultappclientU.DEF Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,14 @@
+EXPORTS
+ _ZN17CDefaultAppClient15ChangeDefaultsLEi @ 1 NONAME
+ _ZN17CDefaultAppClient15PairsToDisplayLEv @ 2 NONAME
+ _ZN17CDefaultAppClient16ServiceAvailableERi @ 3 NONAME
+ _ZN17CDefaultAppClient4NewLEP25MAknServerAppExitObserver @ 4 NONAME
+ _ZN17CDefaultAppClient5NewLCEP25MAknServerAppExitObserver @ 5 NONAME
+ _ZN17CDefaultAppClientD0Ev @ 6 NONAME
+ _ZN17CDefaultAppClientD1Ev @ 7 NONAME
+ _ZN17CDefaultAppClientD2Ev @ 8 NONAME
+ _ZTI17CDefaultAppClient @ 9 NONAME ; #<TI>#
+ _ZTI18RDefaultAppService @ 10 NONAME ; #<TI>#
+ _ZTV17CDefaultAppClient @ 11 NONAME ; #<VT>#
+ _ZTV18RDefaultAppService @ 12 NONAME ; #<VT>#
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/service/group/bld.inf Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Build information file for project DefaultAppServer - Service
+*
+*/
+
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+das_service.mmp
+
+PRJ_TESTMMPFILES
+
+PRJ_TESTEXPORTS
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/service/group/das_service.mmp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project definition file for project DefaultAppServer - Service
+*
+*/
+
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET defaultappclient.dll
+TARGETTYPE DLL
+UID 0x1000008d 0x10281B9E
+
+CAPABILITY CAP_GENERAL_DLL DRM
+VENDORID VID_DEFAULT
+
+// Define directories for the .def-files of WINSCW build.
+// IMPORTANT NOTICE: The lines in the example that end with a backslash
+// must have one space after the backslash.
+#if defined(ARMCC)
+deffile ../EABI/
+#elif defined( WINSCW )
+deffile ../BWINS/
+#endif
+
+SOURCEPATH ../src
+SOURCE das_service.cpp
+SOURCE das_client.cpp
+
+USERINCLUDE ../inc
+
+// Default system include paths for middleware layer modules.
+APP_LAYER_SYSTEMINCLUDE
+
+LIBRARY euser.lib
+LIBRARY apgrfx.lib
+LIBRARY avkon.lib
+LIBRARY eikcore.lib
+LIBRARY apparc.lib
+
+//EXPORTUNFROZEN
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/service/inc/das_service.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This class defines the service used to change the default app.
+*
+*/
+
+
+
+#ifndef R_DEFAULTAPPSERVICE_H
+#define R_DEFAULTAPPSERVICE_H
+
+#include <AknServerApp.h>
+
+/**
+ * Definition for the default app service
+ *
+ * This class defines the client side of the default app service.
+ *
+ * @lib defaultappclient.dll
+ * @since S60 v5.0
+ */
+class RDefaultAppService : public RAknAppServiceBase
+ {
+
+private:
+
+ /** messages used */
+ enum TIpcMessageIds
+ {
+ ESetDefaultAll = RApaAppServiceBase::KServiceCmdBase
+ };
+public:
+
+ /**
+ * Sends SetDefault message to the server
+ *
+ * @since S60 v5.0
+ * @param aFlags service class (value is transparent for this class/function)
+ * @return 0 for success, negative value on failure
+ */
+ TInt SetDefault( TInt aFlags );
+
+private: // From RApaAppServiceBase
+
+ /**
+ * From RApaAppServiceBase.
+ * Returns the uid of the service
+ *
+ * @since S60 v5.0
+ * @return the Uid of the provided service (Default App Service)
+ */
+ TUid ServiceUid() const;
+ };
+
+
+#endif // R_DEFAULTAPPSERVICE_H
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/service/src/das_client.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,241 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This class implemets the Default App Client API
+*
+*/
+
+
+#include <e32std.h>
+#include <apgcli.h>
+
+
+#include <das_client.h>
+#include "das_service.h"
+
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <apaid.h>
+#else
+#include <apaid.h>
+#include <apaidpartner.h> // new file introduced by xSymbian
+#endif
+
+const TUid KDefaultAppServiceUid = { 0x10281B9D };
+
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// CDefaultAppClient::NewL()
+//
+//
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CDefaultAppClient* CDefaultAppClient::NewL( MAknServerAppExitObserver* aObserver )
+ {
+ CDefaultAppClient* self = CDefaultAppClient::NewLC( aObserver );
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// CDefaultAppClient::NewLC()
+//
+//
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CDefaultAppClient* CDefaultAppClient::NewLC( MAknServerAppExitObserver* aObserver )
+ {
+ CDefaultAppClient* self = new ( ELeave ) CDefaultAppClient;
+ CleanupStack::PushL( self );
+ self->ConstructL( aObserver );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// CDefaultAppClient::CDefaultAppClient()
+// Default constructor
+//
+// ---------------------------------------------------------------------------
+//
+CDefaultAppClient::CDefaultAppClient()
+ {
+ iServerAppUid.iUid = 0;
+ }
+
+// ---------------------------------------------------------------------------
+// CDefaultAppClient::ConstructL()
+//
+//
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppClient::ConstructL( MAknServerAppExitObserver* aObserver )
+ {
+ iObserver=aObserver;
+ iService = new (ELeave) RDefaultAppService;
+ }
+
+// ---------------------------------------------------------------------------
+// CDefaultAppClient::~CDefaultAppClient
+//
+//
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CDefaultAppClient::~CDefaultAppClient()
+ {
+ if(iMonitor)
+ {
+ iMonitor->Cancel();
+ delete iMonitor;
+ };
+ if(iService)
+ {
+ iService->Close();
+ delete iService;
+ };
+
+
+
+ // iObserver is not owned
+ }
+
+
+// ---------------------------------------------------------------------------
+// Function to check if a server is present in the system. If the
+// server is present, the subsequent functions should not fail due
+// to server unavailability.
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TBool CDefaultAppClient::ServiceAvailable(TInt& aErrorCode)
+ {
+ TRAP(aErrorCode,GetServiceParamsL(NULL));
+ if(aErrorCode != KErrNone) return EFalse;
+ return ETrue;
+ }
+
+// ---------------------------------------------------------------------------
+// Function to check the number of Service & MIME pairs the server would display if the
+// ChangeDefaultsL() would be called. The purpose of this function
+// is to allow the client application not to display an entry for starting the server, in the
+// Options menu, in case the Server's list of Service & MIME pairs is empty.
+//
+// Please note that the function may return a higher number than the actual number
+// of pairs, because it does not check for MIMEs with System priority (that would not be
+// displayed).
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CDefaultAppClient::PairsToDisplayL()
+ {
+ RApaLsSession ls;
+ TInt i,j;
+ TInt pairs=0;
+
+ //Get own UID
+ TUid clientAppUid = User::Identity();
+
+ //connect
+ User::LeaveIfError(ls.Connect());
+
+ //we are connected, so some initialization
+ CleanupClosePushL( ls );
+ User::LeaveIfError(ls.GetAllApps());
+
+ //get all services & MIMEs supported by our application
+ CApaAppServiceInfoArray* servicesAndDataTypes=ls.GetAppServicesLC(clientAppUid);
+
+ for(i=0; i<servicesAndDataTypes->Array().Count(); i++ )
+ {
+ const TApaAppServiceInfo currentServiceInfo = servicesAndDataTypes->Array()[i];
+ for ( j = 0 ; j < currentServiceInfo.DataTypes().Count() ; j++ )
+ {
+ //check if there are more than one applications supporting this Service & MIME pair
+ CApaAppServiceInfoArray* apps=ls.GetServiceImplementationsLC(currentServiceInfo.Uid(),currentServiceInfo.DataTypes()[j].iDataType);
+
+ if(apps->Array().Count()>1)
+ {
+ //more that one app handles this Service & MIME
+ pairs++;
+ };
+
+ CleanupStack::PopAndDestroy(apps);
+ };
+ };
+
+ //clean
+ CleanupStack::PopAndDestroy(servicesAndDataTypes);
+ CleanupStack::PopAndDestroy(); // closes RApaLsSession
+
+ return pairs;
+ }
+
+// ---------------------------------------------------------------------------
+// This function launches the server, as a chained application. The client application will not be
+// available to the user until the server does not exit.
+// When the server exits, the client application gains control again. The observer (if specified
+// during instantiation (NewL) is notified that the server has exited.
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CDefaultAppClient::ChangeDefaultsL( TInt aFlags )
+ {
+ if(iServerAppUid.iUid == 0)
+ GetServiceParamsL( &iServerAppUid );
+
+ iService->ConnectChainedAppL(iServerAppUid);
+
+ if(iObserver)
+ iMonitor = CApaServerAppExitMonitor::NewL(*iService, *iObserver, CActive::EPriorityStandard);
+ else
+ aFlags|=EFlagNoObserver;
+
+ iService->SetDefault(aFlags);
+ }
+
+
+
+// ---------------------------------------------------------------------------
+// This function finds out the uid of the Default Application Server
+// (the application registered to handle the DefaultApp service)
+// ---------------------------------------------------------------------------
+//
+void CDefaultAppClient::GetServiceParamsL( TUid *aServerAppUid)
+ {
+ CApaAppServiceInfoArray* services = NULL;
+ RApaLsSession ls;
+ TInt count = 0; //number of services found so far.
+
+ User::LeaveIfError(ls.Connect());
+ CleanupClosePushL( ls );
+
+ User::LeaveIfError(ls.GetServerApps( KDefaultAppServiceUid ));
+
+ services = ls.GetServiceImplementationsLC( KDefaultAppServiceUid );
+
+ if( services )
+ {
+ count = services->Array().Count();
+ // get the server's Uid
+ if( aServerAppUid )
+ aServerAppUid->iUid = services->Array()[0].Uid().iUid;
+ };
+ CleanupStack::PopAndDestroy( 2 ); // destroys services + closes RApaLsSession
+
+ if ( count == 0) User::Leave(KErrNotFound);
+ if ( count > 1) User::Leave(KErrNotSupported);
+
+ // if we are here, it means that we have a single server handling the defaults
+ }
+
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/service/src/das_service.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This class defines the service used to change the default app.
+*
+*/
+
+
+#include "das_service.h"
+
+
+// ======== MEMBER FUNCTIONS ========
+
+
+const TUid KDefaultAppServiceUid = { 0x10281B9D };
+
+// ---------------------------------------------------------------------------
+// Sends SetDefault message to the server
+// ---------------------------------------------------------------------------
+//
+TInt RDefaultAppService::SetDefault( TInt aFlags )
+ {
+ return SendReceive( ESetDefaultAll, TIpcArgs( aFlags ) );
+ }
+
+// ---------------------------------------------------------------------------
+// From class RApaAppServiceBase.
+// Returns the uid of the service
+// ---------------------------------------------------------------------------
+//
+TUid RDefaultAppService::ServiceUid() const
+ {
+ return KDefaultAppServiceUid;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/services_db/BWINS/servicesdbU.DEF Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,11 @@
+EXPORTS
+ ??1CServicesDB@@UAE@XZ @ 1 NONAME ; CServicesDB::~CServicesDB(void)
+ ?Count@CServicesDB@@QBEHXZ @ 2 NONAME ; int CServicesDB::Count(void) const
+ ?NewL@CServicesDB@@SAPAV1@PAVTResourceReader@@@Z @ 3 NONAME ; class CServicesDB * CServicesDB::NewL(class TResourceReader *)
+ ?NewLC@CServicesDB@@SAPAV1@PAVTResourceReader@@@Z @ 4 NONAME ; class CServicesDB * CServicesDB::NewLC(class TResourceReader *)
+ ?ServiceNameLC@CServicesDB@@QBEPAVHBufC16@@H@Z @ 5 NONAME ; class HBufC16 * CServicesDB::ServiceNameLC(int) const
+ ?ServiceNameLC@CServicesDB@@QBEPAVHBufC16@@VTUid@@@Z @ 6 NONAME ; class HBufC16 * CServicesDB::ServiceNameLC(class TUid) const
+ ?ServiceStringLC@CServicesDB@@QBEPAVHBufC16@@HABVTDes16@@@Z @ 7 NONAME ; class HBufC16 * CServicesDB::ServiceStringLC(int, class TDes16 const &) const
+ ?ServiceStringLC@CServicesDB@@QBEPAVHBufC16@@VTUid@@ABVTDes16@@@Z @ 8 NONAME ; class HBufC16 * CServicesDB::ServiceStringLC(class TUid, class TDes16 const &) const
+ ?ServiceUidL@CServicesDB@@QBE?AVTUid@@H@Z @ 9 NONAME ; class TUid CServicesDB::ServiceUidL(int) const
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/services_db/Eabi/servicesdbU.DEF Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,15 @@
+EXPORTS
+ _ZN11CServicesDB4NewLEP15TResourceReader @ 1 NONAME
+ _ZN11CServicesDB5NewLCEP15TResourceReader @ 2 NONAME
+ _ZN11CServicesDBD0Ev @ 3 NONAME
+ _ZN11CServicesDBD1Ev @ 4 NONAME
+ _ZN11CServicesDBD2Ev @ 5 NONAME
+ _ZNK11CServicesDB11ServiceUidLEi @ 6 NONAME
+ _ZNK11CServicesDB13ServiceNameLCE4TUid @ 7 NONAME
+ _ZNK11CServicesDB13ServiceNameLCEi @ 8 NONAME
+ _ZNK11CServicesDB15ServiceStringLCE4TUidRK6TDes16 @ 9 NONAME
+ _ZNK11CServicesDB15ServiceStringLCEiRK6TDes16 @ 10 NONAME
+ _ZNK11CServicesDB5CountEv @ 11 NONAME
+ _ZTI11CServicesDB @ 12 NONAME DATA 12 ; #<TI>#
+ _ZTV11CServicesDB @ 13 NONAME DATA 20 ; #<VT>#
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/services_db/group/bld.inf Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Build information file for project Service DB
+*
+*/
+
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+
+PRJ_MMPFILES
+services_db.mmp
+
+PRJ_TESTMMPFILES
+
+
+PRJ_TESTEXPORTS
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/services_db/group/services_db.mmp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project definition file for Services DB
+*
+*/
+
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET servicesdb.dll
+TARGETTYPE DLL
+UID 0x1000008d 0x10281B9F
+
+CAPABILITY CAP_GENERAL_DLL DRM
+VENDORID VID_DEFAULT
+
+// Define directories for the .def-files of WINSCW build.
+// IMPORTANT NOTICE: The lines in the example that end with a backslash
+// must have one space after the backslash.
+#if defined(ARMCC)
+deffile ../Eabi/
+#elif defined( WINSCW )
+deffile ../BWINS/
+#endif
+
+
+SOURCEPATH ../src
+SOURCE services_db.cpp
+
+USERINCLUDE ../inc
+
+// Default system include paths for middleware layer modules.
+APP_LAYER_SYSTEMINCLUDE
+
+LIBRARY euser.lib
+LIBRARY commonengine.lib
+LIBRARY bafl.lib //TResourceReader
+
+//EXPORTUNFROZEN
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultapplicationsettings/services_db/src/services_db.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,230 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implements the Services DB API
+*
+*/
+
+
+#include <e32std.h>
+#include <bautils.h>
+#include <StringLoader.h>
+
+#include <services_db.h>
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// CServicesDB::NewLC()
+//
+//
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CServicesDB* CServicesDB::NewLC( TResourceReader* aResReader )
+ {
+ CServicesDB* self = new (ELeave) CServicesDB();
+ CleanupStack::PushL(self);
+ self->ConstructL(aResReader);
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// CServicesDB::NewL()
+//
+//
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CServicesDB* CServicesDB::NewL( TResourceReader* aResReader )
+ {
+ CServicesDB* self = CServicesDB::NewLC(aResReader);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// CServicesDB::CServicesDB()
+//
+//
+// ---------------------------------------------------------------------------
+//
+CServicesDB::CServicesDB()
+ {
+ //no implementation necessary
+ }
+
+// ---------------------------------------------------------------------------
+// CServicesDB::~CServicesDB()
+//
+//
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CServicesDB::~CServicesDB()
+ {
+ iServiceUids.Close();
+ iServiceNames.ResetAndDestroy();
+ iServiceLoc.ResetAndDestroy();
+ }
+
+// ---------------------------------------------------------------------------
+// The class is constructed by reading the data from the specified resource id into memory
+// ---------------------------------------------------------------------------
+//
+void CServicesDB::ConstructL( TResourceReader* aResReader )
+ {
+ TInt i;
+ TInt count = aResReader->ReadInt16();
+ for ( i = 0; i < count; i++ )
+ {
+ //read the service uid
+ TInt uid=aResReader->ReadInt32();
+ if(uid == 0)User::Leave(KErrArgument);
+ //read the service name
+ HBufC* service=aResReader->ReadHBufCL();
+ if(!service)User::Leave(KErrArgument);
+ //read the localized string
+ HBufC* serviceLoc=aResReader->ReadHBufCL();
+ if(!serviceLoc)User::Leave(KErrArgument);
+
+ //append things
+ iServiceUids.Append(uid);
+ iServiceNames.Append(service);//takes ownership
+ iServiceLoc.Append(serviceLoc);//takes ownership
+ }
+ //done
+ }
+
+// ---------------------------------------------------------------------------
+// Returns the number of available services
+// (the number of services read from the resource during construction)
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CServicesDB::Count() const
+ {
+ return iServiceUids.Count();
+ }
+
+// ---------------------------------------------------------------------------
+// Function to return the Uid of a service (by index).
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TUid CServicesDB::ServiceUidL(TInt aIndex) const
+ {
+ if(aIndex<0 || aIndex>=iServiceUids.Count())
+ User::Leave(KErrArgument);
+ return TUid::Uid(iServiceUids[aIndex]);
+ }
+
+
+// ---------------------------------------------------------------------------
+// Function to return the localized name associated with a service. If the returned
+// strings accepts a parameter, this can be specified as aParam
+// ---------------------------------------------------------------------------
+//
+EXPORT_C HBufC* CServicesDB::ServiceStringLC(TInt aIndex, const TDes& aParam) const
+ {
+ TInt size=aParam.Size();
+ HBufC *string=NULL;
+
+ //check parameters
+ if(aIndex<0 || aIndex>=iServiceUids.Count())
+ User::Leave(KErrArgument);
+
+ //get the size of the new string
+ size+=iServiceLoc[aIndex]->Size();
+ //allocate the string
+ string = HBufC::NewLC(size);
+ //create string content
+ TPtr ptr=string->Des();
+ if(aParam.Size())
+ {
+ //we have something in aParam
+ //ptr.Format(*iServiceLoc[aIndex],&aParam);
+ StringLoader::Format(ptr,*iServiceLoc[aIndex],-1,aParam);
+ }
+ else
+ {
+ //nothing in aParam, just copy the localized string to string
+ ptr.Copy(*iServiceLoc[aIndex]);
+ }
+ //done, return
+ return string; //string is on the stack, too
+ }
+
+// ---------------------------------------------------------------------------
+// Function to return the localized name associated with a service. If the returned
+// strings accepts a parameter, this can be specified as aParam
+// ---------------------------------------------------------------------------
+//
+EXPORT_C HBufC* CServicesDB::ServiceStringLC(TUid aServiceUid, const TDes& aParam) const
+ {
+ HBufC* string=NULL;
+ TInt i;
+
+ //look for the service UIDs
+ for(i=0; i<iServiceUids.Count(); i++)
+ {
+ if(iServiceUids[i] == aServiceUid.iUid)
+ {
+ string = ServiceStringLC(i,aParam);
+ break;//service found
+ }
+ }
+ if(!string)CleanupStack::PushL(string);//otherwise, string is already on the stack!
+ return string;
+ }
+
+// ---------------------------------------------------------------------------
+// Function to return the generic name of a service.
+// ---------------------------------------------------------------------------
+//
+EXPORT_C HBufC* CServicesDB::ServiceNameLC(TInt aIndex) const
+ {
+ HBufC* string=NULL;
+ TInt size=0;
+
+ //check parameters
+ if(aIndex<0 || aIndex>=iServiceUids.Count())
+ User::Leave(KErrArgument);
+
+ //get the size of the new string
+ size=iServiceNames[aIndex]->Size();
+ //allocate the string
+ string = HBufC::NewLC(size);
+ //create string content
+ TPtr ptr=string->Des();
+ ptr.Copy(*iServiceNames[aIndex]);
+ return string;
+ }
+
+// ---------------------------------------------------------------------------
+// Function to return the generic name of a service.
+// ---------------------------------------------------------------------------
+//
+EXPORT_C HBufC* CServicesDB::ServiceNameLC(TUid aServiceUid) const
+ {
+ HBufC* string=NULL;
+ TInt i;
+
+ //loc for the service UIDs
+ for(i=0; i<iServiceUids.Count(); i++)
+ {
+ if(iServiceUids[i] == aServiceUid.iUid)
+ {
+ string = ServiceNameLC(i);
+ break;//service found
+ }
+ }
+ if(!string)CleanupStack::PushL(string);//otherwise, string is already on the stack!
+ return string;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/default_app_client_api/default_app_client_api.metaxml Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,18 @@
+<?xml version="1.0" ?>
+<api id="a5a5f7d02cd304f45dac9894b0154901" dataversion="2.0">
+ <name>Default App Client API</name>
+ <description>API for launching the Default App Server and allow the user to change the default app for Services & MIMEs</description>
+ <type>c++</type>
+ <collection>DefaultApplicationSettings</collection>
+ <libs>
+ <lib name="defaultappclient.lib" />
+ </libs>
+ <release category="platform"/>
+ <attributes>
+ <!-- This indicates wether the api provedes separate html documentation -->
+ <!-- or is the additional documentation generated from headers. -->
+ <!-- If you are unsuere then the value is "no" -->
+ <htmldocprovided>no</htmldocprovided>
+ <adaptation>no</adaptation>
+ </attributes>
+</api>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/default_app_client_api/group/bld.inf Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: File that exports the files belonging to
+: Default App Client API
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/das_client.h APP_LAYER_PLATFORM_EXPORT_PATH(das_client.h)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/default_app_client_api/inc/das_client.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,168 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Client interface to ask for setting the default application
+*
+*/
+
+
+
+#ifndef C_DEFAULTAPPCLIENT_H
+#define C_DEFAULTAPPCLIENT_H
+
+#include <e32def.h>
+#include <e32base.h>
+#include <AknServerApp.h>
+
+class RDefaultAppService;
+
+
+/**
+ * Client API for setting the default application.
+ *
+ * This class defines the API that applications should use to trigger the launch of the
+ * Default Application Server, that asks the user to select default applications for those
+ * Service & MIME pairs for which the client application is a candidate.
+ *
+ * A client application should first instantiate the service, using eithe NewL() or NewLC()
+ * The client application can check first if the sercive is available in the system (by using
+ * the ServiceAvailable() function. The client application may also check if there is
+ * anything to display (if there is any Service & MIME that the client application supports for
+ * which there is at least another application supporting the pair). If there is no such pair,
+ * then launching the server would display an empty list). This checking is performed using the
+ * PairsToDisplayL() function.
+ *
+ * After the above checkings are done, the client application can ask the server to change
+ * defaults by calling the ChangeDefaultsL() function.
+ *
+ *
+ * @lib defaultappclient.dll
+ * @since S60 v5.0
+ */
+class CDefaultAppClient : public CBase
+ {
+
+public:
+
+ /** flags used to modify the service behaviour */
+ enum TFlags
+ {
+ EFlagNoObserver=1,
+ EFlagReserved1=2,
+ EFlagReserved2=4
+ };
+
+ /**
+ * Symbian OS two-phased constructor
+ * @return
+ */
+ IMPORT_C static CDefaultAppClient* NewL(MAknServerAppExitObserver* aObserver);
+
+ /**
+ * Symbian OS two-phased constructor
+ * @return
+ */
+ IMPORT_C static CDefaultAppClient* NewLC(MAknServerAppExitObserver* aObserver);
+
+ /**
+ * Destructor.
+ */
+ IMPORT_C virtual ~CDefaultAppClient();
+
+ /**
+ * Function to check if a server is present in the system. If the
+ * server is present, the subsequent functions should not fail due
+ * to server unavailability.
+ *
+ * @since S60 v5.0
+ * @return ETrue or EFalse, depending service/server availability
+ */
+ IMPORT_C static TBool ServiceAvailable( TInt& aErrorCode );
+
+ /**
+ * Function to check the number of Service & MIME pairs the server would display if the
+ * ChangeDefaultsL() would be called. The purpose of this function
+ * is to allow the client application not to display an entry for starting the server, in the
+ * Options menu, in case the Server's list of Service & MIME pairs is empty.
+ *
+ * Please note that the function may return a higher number than the actual number
+ * of pairs, because it does not check for MIMEs with System priority (that would not be
+ * displayed).
+ *
+ * @since S60 v5.0
+ * @return the number of Service & MIME pairs the server would display
+ */
+ IMPORT_C TInt PairsToDisplayL();
+
+ /**
+ * This function launches the server, as a chained application. The client application will not be
+ * available to the user until the server does not exit.
+ * When the server exits, the client application gains control again. The observer (if specified
+ * during instantiation (NewL) is notified that the server has exited.
+ *
+ * @since S60 v5.0
+ * @param aFlags service flags
+ */
+ IMPORT_C void ChangeDefaultsL( TInt aFlags = 0 );
+
+
+private:
+
+ /**
+ * C++ default constructor.
+ */
+ CDefaultAppClient();
+
+ /**
+ * Symbian constructor.
+ */
+ void ConstructL( MAknServerAppExitObserver* aObserver );
+
+ /**
+ * This function finds out the uid of the Default Application Server
+ * (the application registered to handle the DefaultApp service)
+ *
+ * @since S60 v5.0
+ * @param aServerAppUid If parameter is non-NULL, it returns the Uid of the server there
+ */
+ static void GetServiceParamsL( TUid* aServerAppUid);
+
+private: // data
+
+ /**
+ * The UID of the server application (we discover the server)
+ */
+ TUid iServerAppUid;
+
+ /**
+ * Pointer to the service class.
+ * Own.
+ */
+ RDefaultAppService *iService;
+
+ /**
+ * Pointer to the Observer to call after the operation initiated by
+ * ChangeDefaultsAsyncL() has finished.
+ * Not Owned.
+ */
+ MAknServerAppExitObserver* iObserver;
+
+ /**
+ * Monitor object that calls the iObserver when the server has exited.
+ * Owned.
+ */
+ CApaServerAppExitMonitor* iMonitor;
+
+ };
+
+#endif // C_DEFAULTAPPCLIENT_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/default_app_client_api/tsrc/DasClientApiTest/bwins/DasClientApiTestU.DEF Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+ ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/default_app_client_api/tsrc/DasClientApiTest/eabi/DasClientApiTestU.def Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+ _Z9LibEntryLR13CTestModuleIf @ 1 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/default_app_client_api/tsrc/DasClientApiTest/group/DasClientApiTest.bat Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,22 @@
+@rem
+@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description:
+@rem
+
+copy C:\TestFramework\testframework_DasClientApiTest.ini C:\TestFramework\TestFramework.ini
+md e:\bctest
+md e:\bctest\Results
+
+ATSINTERFACE.EXE -testmodule testcombiner -config C:\TestFramework\uiDasClientApiTest.cfg
+copy c:\Logs\TestFramework\TestReport.txt e:\bctest\results\DAS_TEST.txt
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/default_app_client_api/tsrc/DasClientApiTest/group/DasClientApiTest.iby Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Personalisation application localised resource IBY
+*
+*/
+
+
+/*
+-----------------------------------------------------------------------------
+
+ DESCRIPTION
+
+ stiftestframework_DasClientApiTest.iby file specifies needed test components for
+ ROM image
+
+-----------------------------------------------------------------------------
+*/
+
+#ifndef DasClientApiTest__IBY
+#define DasClientApiTest__IBY
+
+file=ABI_DIR\BUILD_DIR\DasClientApiTest.DLL SHARED_LIB_DIR\DasClientApiTest.DLL
+
+data=\epoc32\data\z\system\data\testframework_DasClientApiTest.ini testframework\testframework_DasClientApiTest.ini
+
+data=\epoc32\data\z\system\data\tcDasClientApiTest.cfg testframework\tcDasClientApiTest.cfg
+
+data=\epoc32\data\z\system\data\ui_DasClientApiTest.cfg testframework\ui_DasClientApiTest.cfg
+
+#endif // DasClientApiTest__IBY
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/default_app_client_api/tsrc/DasClientApiTest/group/DasClientApiTest.mmp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project specification file of DasClientApiTest
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET DasClientApiTest.dll
+TARGETTYPE dll
+UID 0x1000008D 0x101FB3E3
+
+CAPABILITY ALL -TCB
+
+DEFFILE DasClientApiTest.def
+
+//START RESOURCE ../data/DasClientApiTest_reg.rss
+// TARGETPATH /private/10003a3f/apps
+//END
+
+#ifdef SBSV2
+USERINCLUDE ../inc
+
+ MW_LAYER_SYSTEMINCLUDE
+
+#else // SBSV2 not defined
+USERINCLUDE ../inc
+APP_LAYER_SYSTEMINCLUDE
+
+
+SOURCEPATH ../src
+#endif // SBSV2
+
+SOURCE DasClientApiTest.cpp
+SOURCE DasClientApiTestblocks.cpp
+
+LIBRARY euser.lib
+LIBRARY stiftestinterface.lib
+LIBRARY stiftestengine.lib
+LIBRARY defaultappclient.lib//default application client
+LIBRARY avkon.lib//MAknServerAppExitObserver
+LIBRARY cone.lib
+LIBRARY eikcore.lib
+LIBRARY eiksrv.lib
+
+LANG SC
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/default_app_client_api/tsrc/DasClientApiTest/group/DasClientApiTest.pkg Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,67 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0""
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: Installation file for STIF
+;
+;
+;
+;
+; Installation file for STIF
+;
+
+; Languages
+&EN
+
+; Provide value for uid
+#{"STIF"},(0x00000000),1,1,0,TYPE=SA
+
+; Series60 product id for S60 3.0
+[0x101F7961], 0, 0, 0, {"Series60ProductID"}
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Logo
+; None
+
+; Package signature - Optional
+; None
+
+; Start of Package body
+
+; Condition blocks
+; None
+
+; Options list
+; None
+
+; Install files
+"\epoc32\release\armv5\urel\DasClientApiTest.dll" - "!:\Sys\Bin\DasClientApiTest.dll"
+
+"\Epoc32\winscw\c\testframework\testframework_DasClientApiTest.ini"-"!:\TestFramework\testframework_DasClientApiTest.ini"
+"\Epoc32\winscw\c\testframework\tcDasClientApiTest.cfg"-"!:\TestFramework\tcDasClientApiTest.cfg"
+"\Epoc32\winscw\c\testframework\ui_DasClientApiTest.cfg"-"!:\TestFramework\ui_DasClientApiTest.cfg"
+"\epoc32\winscw\c\DasClientApiTest.bat"-"!:\DASTest.bat"
+; Embedded SIS
+; None
+
+; End of Package body
+
+; PKG dependencies
+; None
+
+; PKG capabilities
+; None
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/default_app_client_api/tsrc/DasClientApiTest/group/bld.inf Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Build information file for project DasClientApiTest
+*
+*/
+
+
+
+PRJ_PLATFORMS
+// specify the platforms your component needs to be built for here
+// defaults to WINS MARM so you can ignore this if you just build these
+DEFAULT
+
+#ifdef SBSV2
+ PRJ_TESTEXPORTS
+ DasClientApiTest.iby /epoc32/rom/include/DasClientApiTest.iby
+
+ ../init/testframework_DasClientApiTest.ini /epoc32/data/z/system/data/testframework.ini
+
+ ../conf/ui_DasClientApiTest.cfg /epoc32/winscw/c/TestFramework/ui_DasClientApiTest.cfg
+
+ ../conf/tcDasClientApiTest.cfg /epoc32/wins/c/TestFramework/tcDasClientApiTest.cfg
+
+#else // SBSV2 not defined
+ PRJ_TESTEXPORTS
+
+ ../init/testframework_DasClientApiTest.ini /epoc32/wins/c/TestFramework/testframework.ini
+ ../init/testframework_DasClientApiTest.ini /epoc32/winscw/c/TestFramework/testframework.ini
+
+ ../conf/ui_DasClientApiTest.cfg /epoc32/wins/c/TestFramework/ui_DasClientApiTest.cfg
+ ../conf/ui_DasClientApiTest.cfg /epoc32/data/z/system/data/ui_DasClientApiTest.cfg
+
+ ../conf/tcDasClientApiTest.cfg /epoc32/winscw/c/TestFramework/tcDasClientApiTest.cfg
+ ../conf/tcDasClientApiTest.cfg /epoc32/data/z/system/data/tcDasClientApiTest.cfg
+
+#endif // SBSV2
+
+DasClientApiTest.iby /epoc32/rom/include/DasClientApiTest.iby
+../init/testframework_DasClientApiTest.ini /epoc32/data/z/system/data/testframework.ini
+../init/testframework_DasClientApiTest.ini /epoc32/winscw/c/testframework/testframework_DasClientApiTest.ini
+../conf/ui_DasClientApiTest.cfg /epoc32/winscw/c/TestFramework/ui_DasClientApiTest.cfg
+../conf/tcDasClientApiTest.cfg /epoc32/wins/c/TestFramework/tcDasClientApiTest.cfg
+
+PRJ_EXPORTS
+
+DasClientApiTest.bat /epoc32/winscw/c/DasClientApiTest.bat
+
+//testframework_DasClientApiTest.ini /epoc32/winscw/c/testframework/testframework_DasClientApiTest.ini
+//tcDasClientApiTest.cfg /epoc32/winscw/c/testframework/tcDasClientApiTest.cfg
+//ui_DasClientApiTest.cfg /epoc32/winscw/c/testframework/ui_DasClientApiTest.cfg
+
+PRJ_TESTMMPFILES
+DasClientApiTest.mmp
+
+PRJ_MMPFILES
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/default_app_client_api/tsrc/DasClientApiTest/inc/CClientLauncher.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,76 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: CCClientLauncher declaration.
+*
+*/
+
+#ifndef CCLIENTLAUNCHER_H
+#define CCLIENTLAUNCHER_H
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+#include <aknserverapp.h>
+#include <aknappui.h>
+
+// CLASS DECLARATION
+
+/**
+ * CCClientLauncher
+ *
+ */
+class CCClientLauncher : public CAknAppUi,public MAknServerAppExitObserver
+ {
+public:
+ // Constructors and destructor
+
+ /**
+ * Destructor.
+ */
+ ~CCClientLauncher();
+
+ /**
+ * Two-phased constructor.
+ */
+ static CCClientLauncher* NewL();
+
+ /**
+ * Two-phased constructor.
+ */
+ static CCClientLauncher* NewLC();
+
+public:
+ //function from CAknAppUi
+ void ProcessCommandL (TInt aCommand);
+
+private:
+ //function from MAknServerAppExitObserver
+ //handle the exit of the server.
+ void HandleServerAppExit(TInt aReason);
+
+private:
+
+ /**
+ * Constructor for performing 1st stage construction
+ */
+ CCClientLauncher();
+
+ /**
+ * EPOC default constructor for performing 2nd stage construction
+ */
+ void ConstructL();
+
+ };
+
+#endif // CCLIENTLAUNCHER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/default_app_client_api/tsrc/DasClientApiTest/inc/DasClientApiTest.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,170 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of class CDasClientApiTest
+*
+*/
+
+
+#ifndef C_DASCLIENTAPITEST_H
+#define C_DASCLIENTAPITEST_H
+
+// INCLUDES
+#include <StifLogger.h>
+#include <TestScripterInternal.h>
+#include <StifTestModule.h>
+#include <TestclassAssert.h>
+#include <aknserverapp.h>
+#include <das_client.h>
+//
+#include <CClientLauncher.h>
+// MACROS
+#define TEST_CLASS_VERSION_MAJOR 0
+#define TEST_CLASS_VERSION_MINOR 0
+#define TEST_CLASS_VERSION_BUILD 0
+// User MACROS
+#define KErrGeneral -2
+#define KFirstOption 1
+#define KSecondtOption 2
+
+//define client flags
+#define KFlagNoObserver 1
+#define KFlagReserved1 2
+#define KFlagReserved2 4
+// Logging path
+_LIT( KDasClientApiTestLogPath, "\\logs\\testframework\\DasClientApiTest\\" );
+// Log file
+_LIT( KDasClientApiTestLogFile, "DasClientApiTest.txt" );
+_LIT( KDasClientApiTestLogFileWithTitle, "DasClientApiTest_[%S].txt" );
+
+//
+/**
+* CDasClientApiTest test class for STIF Test Framework TestScripter.
+* @since S60 5.0
+*/
+
+NONSHARABLE_CLASS(CDasClientApiTest) : public CScriptBase/*,public MAknServerAppExitObserver*/
+ {
+public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CDasClientApiTest* NewL( CTestModuleIf& aTestModuleIf );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CDasClientApiTest();
+
+/*private:
+ //function from MAknServerAppExitObserver. is used to handle the exit of the server.
+
+ void HandleServerAppExit(TInt aReason);*/
+
+public: // Functions from base classes
+
+ /**
+ * From CScriptBase Runs a script line.
+ * @since S60 5.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code
+ */
+ virtual TInt RunMethodL( CStifItemParser& aItem );
+
+private:
+
+ /**
+ * C++ default constructor.
+ */
+ CDasClientApiTest( CTestModuleIf& aTestModuleIf );
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+ /**
+ * Frees all resources allocated from test methods.
+ * @since S60 5.0
+ */
+ void Delete();
+
+ /**
+ * Test method.
+ * @since S60 5.0
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt InitialClientL(const TInt aOption );
+
+ virtual TInt CallClientNewLL( CStifItemParser& aItem );
+
+ virtual TInt CallClientNewLCL( CStifItemParser& aItem );
+
+ virtual TInt CallServiceAvailableL( CStifItemParser& aItem );
+
+// virtual TInt CallPairsToDisplayLL( CStifItemParser& aItem );
+
+ virtual TInt CallChangeDefaultsLL( CStifItemParser& aItem );
+ /**
+ * Method used to log version of test class
+ */
+ void SendTestClassVersion();
+
+ /**
+ * Turn off ScreenSaver
+ * @since S60 5.0
+ * @return Symbian OS error code.
+ */
+ void TurnOffScreenSaver();
+
+ /**
+ * Restore ScreenSaver
+ * @since S60 5.0
+ * @return Symbian OS error code.
+ */
+ void RestoreScreenSaver();
+
+
+ /**
+ * In this method NewLC is called.
+ * @since ?Series60_version
+ * @param aResReader Resource reader to get information from Resource file
+ * @return Symbian OS error code.
+ */
+ void CallNewlcL( MAknServerAppExitObserver* aObserver );
+
+
+private: // Data
+
+ /**
+ * ScreenSaver Property
+ */
+ TInt iOldScreenSaverProperty;
+
+ /**
+ * ?description_of_pointer_member
+ * Not own.
+ */
+ //?type* ?member_name;
+ CDefaultAppClient* iClient;
+
+ //
+ CCClientLauncher* iLauncher;
+
+ };
+
+#endif // C_DASCLIENTAPITEST_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/default_app_client_api/tsrc/DasClientApiTest/src/DasClientApiTest.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,181 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of class CDasClientApiTest
+*
+*/
+
+
+// INCLUDE FILES
+#include <StifTestInterface.h>
+#include <SettingServerClient.h>
+#include <ScreensaverInternalPSKeys.h>
+#include <e32property.h>
+
+#include "DasClientApiTest.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CDasClientApiTest::CDasClientApiTest
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CDasClientApiTest::CDasClientApiTest( CTestModuleIf& aTestModuleIf ):
+ CScriptBase( aTestModuleIf )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CDasClientApiTest::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CDasClientApiTest::ConstructL()
+ {
+ //Read logger settings to check whether test case name is to be
+ //appended to log file name.
+ RSettingServer settingServer;
+ TInt ret = settingServer.Connect();
+ if(ret != KErrNone)
+ {
+ User::Leave(ret);
+ }
+ // Struct to StifLogger settigs.
+ TLoggerSettings loggerSettings;
+ // Parse StifLogger defaults from STIF initialization file.
+ ret = settingServer.GetLoggerSettings(loggerSettings);
+ if(ret != KErrNone)
+ {
+ User::Leave(ret);
+ }
+ // Close Setting server session
+ settingServer.Close();
+
+ TFileName logFileName;
+
+ if(loggerSettings.iAddTestCaseTitle)
+ {
+ TName title;
+ TestModuleIf().GetTestCaseTitleL(title);
+ logFileName.Format(KDasClientApiTestLogFileWithTitle, &title);
+ }
+ else
+ {
+ logFileName.Copy(KDasClientApiTestLogFile);
+ }
+
+ iLog = CStifLogger::NewL( KDasClientApiTestLogPath,
+ logFileName,
+ CStifLogger::ETxt,
+ CStifLogger::EFile,
+ EFalse );
+
+ SendTestClassVersion();
+
+ TurnOffScreenSaver();
+ }
+
+// -----------------------------------------------------------------------------
+// CDasClientApiTest::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CDasClientApiTest* CDasClientApiTest::NewL( CTestModuleIf& aTestModuleIf )
+ {
+ CDasClientApiTest* self = new( ELeave ) CDasClientApiTest( aTestModuleIf );
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop();
+
+ return self;
+
+ }
+
+// Destructor
+CDasClientApiTest::~CDasClientApiTest()
+ {
+
+ // Delete resources allocated from test methods
+ Delete();
+
+ // Delete logger
+ delete iLog;
+
+ }
+
+//-----------------------------------------------------------------------------
+// CDasClientApiTest::SendTestClassVersion
+// Method used to send version of test class
+//-----------------------------------------------------------------------------
+//
+void CDasClientApiTest::SendTestClassVersion()
+ {
+ TVersion moduleVersion;
+ moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
+ moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
+ moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
+
+ TFileName moduleName;
+ moduleName = _L( "DasClientApiTest.dll" );
+
+ TBool newVersionOfMethod = ETrue;
+ TestModuleIf().SendTestModuleVersion( moduleVersion, moduleName,
+ newVersionOfMethod );
+ }
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+// -----------------------------------------------------------------------------
+// LibEntryL is a polymorphic Dll entry point.
+// Returns: CScriptBase: New CScriptBase derived object
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CScriptBase* LibEntryL(
+ CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
+ {
+ return ( CScriptBase* ) CDasClientApiTest::NewL( aTestModuleIf );
+ }
+
+// -----------------------------------------------------------------------------
+// Turn off ScreenSaver
+// -----------------------------------------------------------------------------
+//
+void CDasClientApiTest::TurnOffScreenSaver()
+ {
+ //TInt Get(TUid aCategory, TUint aKey, TInt &aValue);
+ TInt err1 = RProperty::Get( KPSUidScreenSaver, KScreenSaverAllowScreenSaver,
+ iOldScreenSaverProperty );
+ TInt err2 = RProperty::Set( KPSUidScreenSaver, KScreenSaverAllowScreenSaver,
+ KScreenSaverAllowScreenSaver );
+ RDebug::Printf( "screensaver property=%d err1=%d err2=%d\n",
+ iOldScreenSaverProperty, err1, err2 );
+ }
+
+// -----------------------------------------------------------------------------
+// Restore ScreenSaver
+// -----------------------------------------------------------------------------
+//
+void CDasClientApiTest::RestoreScreenSaver()
+ {
+ RProperty::Set( KPSUidScreenSaver, KScreenSaverAllowScreenSaver,
+ iOldScreenSaverProperty );
+ User::ResetInactivityTime();
+ }
+
+
+// End of File
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/default_app_client_api/tsrc/DasClientApiTest/src/DasClientApiTestblocks.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,250 @@
+/*
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This cpp file has the functions to test Das Client API.
+*
+*/
+
+
+// [INCLUDE FILES]
+#include <e32svr.h>
+#include <StifParser.h>
+#include <StifTestInterface.h>
+#include "DasClientApiTest.h"
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CDasClientApiTest::Delete
+// Delete here all resources allocated and opened from test methods.
+// Called from destructor.
+// -----------------------------------------------------------------------------
+//
+void CDasClientApiTest::Delete()
+ {
+ if( iLauncher )
+ {
+ delete iLauncher;
+ iLauncher = NULL;
+ }
+
+ if( iClient )
+ {
+ delete iClient;
+ iClient = NULL;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CDasClientApiTest::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt CDasClientApiTest::RunMethodL(
+ CStifItemParser& aItem )
+ {
+
+ static TStifFunctionInfo const KFunctions[] =
+ {
+ // First string is the function name used in TestScripter script file.
+ // Second is the actual implementation member function.
+ ENTRY( "CallClientNewLL", CDasClientApiTest::CallClientNewLL ),
+ ENTRY( "CallClientNewLCL", CDasClientApiTest::CallClientNewLCL ),
+ ENTRY( "CallServiceAvailableL", CDasClientApiTest::CallServiceAvailableL ),
+ ENTRY( "CallChangeDefaultsLL", CDasClientApiTest::CallChangeDefaultsLL ),
+ // [test cases entries]
+
+ };
+
+ const TInt count = sizeof( KFunctions ) / sizeof( TStifFunctionInfo );
+
+ return RunInternalL( KFunctions, count, aItem );
+
+ }
+
+// -----------------------------------------------------------------------------
+// CDasClientApiTest::CallNewlcL
+// This function is used because we can not TRAP CServicesDB::NewLC
+// -----------------------------------------------------------------------------
+//
+void CDasClientApiTest::CallNewlcL( MAknServerAppExitObserver* aObserver )
+{
+ iClient = CDefaultAppClient::NewLC( aObserver );
+ CleanupStack::Pop( iClient );
+}
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::InitialClientL
+// This function is used to create CDefaultAppClient object. This function is used
+// to call CDefaultAppClient::NewL and CDefaultAppClient::NewLC functions.
+// -----------------------------------------------------------------------------
+//
+TInt CDasClientApiTest::InitialClientL( TInt aOption )
+ {
+ //launcher of the client;
+ if( aOption == KFirstOption )
+ {
+ TRAPD( error, iClient = CDefaultAppClient::NewL( NULL ) );
+ if( KErrNone != error )
+ {
+ iLog->Log( _L( "=>CDefaultAppClient::NewL leaves" ) );
+ return error;
+ }
+ }
+ else
+ {
+ TRAPD( error1, CallNewlcL( NULL ) );
+ if( KErrNone != error1 )
+ {
+ iLog->Log( _L( "=>CDefaultAppClient::NewLC leaves" ) );
+ return error1;
+ }
+ }
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::CallClientNewLL
+// Is used to test CDefaultAppClient::NewL
+// -----------------------------------------------------------------------------
+TInt CDasClientApiTest::CallClientNewLL( CStifItemParser& /*aItem*/ )
+ {
+ TInt result;
+
+ TRAPD( error, result = InitialClientL( KFirstOption ) );
+ if( KErrNone != error )
+ {
+ iLog->Log( _L( "CDefaultAppClient object not created with NewL." ) );
+ return error;
+ }
+ else
+ {
+ if( KErrNone != result )
+ {
+ iLog->Log( _L( "CDefaultAppClient object not created with NewL." ) );
+ return result;
+ }
+ else
+ {
+ iLog->Log( _L( "CDefaultAppClient object created with NewL." ) );
+ }
+ };
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::CallClientNewLCL
+// Is used to test CDefaultAppClient::NewLC
+// -----------------------------------------------------------------------------
+TInt CDasClientApiTest::CallClientNewLCL( CStifItemParser& /*aItem*/ )
+ {
+ TInt result;
+ TRAPD( error, result = InitialClientL( KSecondtOption ) );
+ if( KErrNone != error )
+ {
+ return error;
+ }
+ else
+ {
+ if( KErrNone != result )
+ {
+ return result;
+ }
+ }
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::CallServiceAvailableL
+// Is used to test CDefaultAppClient::ServiceAvailableL
+// -----------------------------------------------------------------------------
+TInt CDasClientApiTest::CallServiceAvailableL( CStifItemParser& /*aItem*/ )
+ {
+ //Initial the iClient
+ TInt result;
+ TRAPD( error, result = InitialClientL( KFirstOption ) );
+ if( KErrNone != error )
+ {
+ return error;
+ }
+ else
+ {
+ if( KErrNone != result )
+ {
+ return result;
+ }
+ };
+ //call the function
+
+ TInt errcode;
+ TBool returnvalue;
+ TRAPD( callerror, returnvalue = CDefaultAppClient::ServiceAvailable( errcode ) );
+ if( KErrNone != callerror )
+ {
+ iLog->Log(_L( "Call function ServiceAvailable failed.The function leaves,the leace code is %d"), callerror );
+ return callerror;
+ }
+ else
+ {
+ if( returnvalue != KErrNone )
+ {
+ iLog->Log( _L( "The function returned sucessfully,But the service is not available. The error code is %d" ), errcode );
+ return errcode;
+ }
+ else
+ {
+ iLog->Log( _L( "The function ServiceAvailable called success, and the service is available! " ) );
+ }
+ }
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::CallChangeDefaultsLL
+// Is used to test CDefaultAppClient::ChangeDefaultsL
+// -----------------------------------------------------------------------------
+TInt CDasClientApiTest::CallChangeDefaultsLL( CStifItemParser& /*aItem*/ )
+ {
+ //
+ TInt result;
+ TRAPD( error, result = InitialClientL( KFirstOption ) );
+ if(KErrNone != error)
+ {
+ iLog->Log( _L( "Initial the iClient failed,the failed code is %d" ), error );
+ return error;
+ }
+ else
+ {
+ if( KErrNone != result )
+ {
+ return result;
+ }
+ };
+ TRAPD( errorCall, iClient->ChangeDefaultsL() );
+ if( errorCall != KErrNone )
+ {
+ iLog->Log( _L( "Function ChangeDefaultsL is called failed. The failed code is %d" ), errorCall );
+ return errorCall;
+ }
+ else
+ {
+ iLog->Log( _L( "The Function is called successfully." ) );
+ }
+ return KErrNone;
+ }
+
+//
+// [End of File]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/group/bld.inf Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Includes all the Domain API specific bld.inf files, which
+* export files.
+*
+*/
+
+
+
+#include "../default_app_client_api/group/bld.inf"
+#include "../services_db_api/group/bld.inf"
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/group/bld.inf Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: File that exports the files belonging to
+: Services DB API
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/services_db.rh APP_LAYER_PLATFORM_EXPORT_PATH(services_db.rh)
+../inc/services_db.h APP_LAYER_PLATFORM_EXPORT_PATH(services_db.h)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/inc/services_db.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,146 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of class CServicesDB
+*
+*/
+
+
+
+#ifndef SERVICES_DB_H
+#define SERVICES_DB_H
+
+#include <e32def.h>
+#include <e32base.h>
+
+class TResourceReader;
+
+/**
+ * API for retrieving various localized strings associated with services.
+ *
+ * This class receives a resource ID during construction (resource type is DAS_SERVICES)
+ * and retrieves various info defined in this resource.
+ *
+ * @lib defaultappclient.dll
+ * @since S60 v5.0
+ */
+class CServicesDB : public CBase
+ {
+
+public:
+ /**
+ * Symbian OS two-phased constructor
+ * @return
+ */
+ IMPORT_C static CServicesDB* NewL( TResourceReader* aResReader );
+
+ /**
+ * Symbian OS two-phased constructor
+ * @return
+ */
+ IMPORT_C static CServicesDB* NewLC( TResourceReader* aResReader );
+
+ /**
+ * Destructor.
+ */
+ IMPORT_C ~CServicesDB();
+
+public:
+
+ /**
+ * Returns the number of available services
+ * (the number of services read from the resource during construction)
+ *
+ * @since S60 v5.0
+ * @return number of available services/elements
+ */
+ IMPORT_C TInt Count() const;
+
+ /**
+ * Function to return the Uid of a service (by index).
+ *
+ * @since S60 v5.0
+ * @return the uid of the service (it leaves if aIndex is not a valid index)
+ */
+ IMPORT_C TUid ServiceUidL(TInt aIndex) const;
+
+ /**
+ * Function to return the localized name associated with a service. If the returned
+ * strings accepts a parameter, this can be specified as aParam
+ *
+ * @since S60 v5.0
+ * @param aIndex the index of the service
+ * @param aParam parameter for the localized string
+ * @return the localized name (it leaves if aIndex is not a valid index)
+ */
+ IMPORT_C HBufC* ServiceStringLC(TInt aIndex, const TDes& aParam) const;
+
+ /**
+ * Function to return the localized name associated with a service. If the returned
+ * strings accepts a parameter, this can be specified as aParam
+ *
+ * @since S60 v5.0
+ * @param aServiceUid the Uid of the service
+ * @param aParam parameter for the localized string
+ * @return the localized name (NULL, if the service is not found)
+ */
+ IMPORT_C HBufC* ServiceStringLC(TUid aServiceUid, const TDes& aParam) const;
+
+ /**
+ * Function to return the generic name of a service.
+ *
+ * @since S60 v5.0
+ * @param aIndex the index of the service
+ * @return the generic name of the service (it leaves if aIndex is not a valid index)
+ */
+ IMPORT_C HBufC* ServiceNameLC(TInt aIndex) const;
+
+ /**
+ * Function to return the generic name of a service.
+ *
+ * @since S60 v5.0
+ * @param aServiceUid the Uid of the service
+ * @return the generic name of the service (NULL, if the service is not found)
+ */
+ IMPORT_C HBufC* ServiceNameLC(TUid aServiceUid) const;
+
+private:
+
+ /**
+ * C++ default constructor.
+ */
+ CServicesDB();
+
+ /**
+ * Symbian constructor.
+ */
+ void ConstructL( TResourceReader* aResReader );
+
+private:
+ /**
+ * array of service Uids
+ */
+ RArray<TInt> iServiceUids;
+
+ /**
+ * array of service names
+ */
+ RPointerArray<HBufC> iServiceNames;
+
+ /**
+ * array of service localized names
+ */
+ RPointerArray<HBufC> iServiceLoc;
+ };
+
+#endif // SERVICES_DB_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/inc/services_db.rh Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Resource headers for project Services DB
+*
+*/
+
+
+#ifndef SERVICES_DB_RH
+#define SERVICES_DB_RH
+
+
+// ---------------------------------------------------------------------------
+// This structure defines a service entry: it holds the service uid,
+// service generic name, and service localized string
+// ---------------------------------------------------------------------------
+//
+STRUCT DAS_SERVICE_ENTRY
+ {
+ LONG service_uid;
+ LTEXT service_name;
+ LTEXT service_localized_name;
+ }
+
+// ---------------------------------------------------------------------------
+// This structure defines a list of service entries
+// ---------------------------------------------------------------------------
+//
+STRUCT DAS_SERVICES
+ {
+ STRUCT services[]; //Type is DAS_SERVICE_ENTRY
+ }
+
+#endif // SERVICES_DB_RH
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/services_db_api.metaxml Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,18 @@
+<?xml version="1.0" ?>
+<api id="ae69ac471f1c896165c698e47987d2fd" dataversion="2.0">
+ <name>Services DB API</name>
+ <description>API for retrieving information about services: UID, generic name (in engineering English), localized name.</description>
+ <type>c++</type>
+ <collection>DefaultApplicationSettings</collection>
+ <libs>
+ <lib name="servicesdb.lib" />
+ </libs>
+ <release category="platform"/>
+ <attributes>
+ <!-- This indicates wether the api provedes separate html documentation -->
+ <!-- or is the additional documentation generated from headers. -->
+ <!-- If you are unsuere then the value is "no" -->
+ <htmldocprovided>no</htmldocprovided>
+ <adaptation>no</adaptation>
+ </attributes>
+</api>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/Bmarm/ServicesDbApiTestU.DEF Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+ LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/Bwins/ServicesDbApiTestU.DEF Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+ ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/EABI/ServicesDbApiTestU.def Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+ _Z9LibEntryLR13CTestModuleIf @ 1 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/conf/ui_ServicesDbApiTest.cfg Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,304 @@
+###################################################################################
+#
+# This cfg file has tests for Services DB API
+# The resource file - ServicesDbApiTest.rss defined to test this api has the following services.
+# The tests listed below are based on this resource file services
+#
+# RESOURCE DAS_SERVICES r_da_service_mime
+# {
+# services =
+# {
+# DAS_SERVICE_ENTRY
+# {
+# service_uid = 0x101; // NOT A REAL UID - 257
+# service_name = "Open";
+# service_localized_name = "Open Localized";
+# },
+# DAS_SERVICE_ENTRY
+# {
+# service_uid = 0x102; // NOT A REAL UID - 258
+# service_name = "Upload";
+# service_localized_name = "Upload Localized";
+# },
+# DAS_SERVICE_ENTRY
+# {
+# service_uid = 0x103; // NOT A REAL UID - 259
+# service_name = "Print";
+# service_localized_name = "Print Localized %U";
+# }
+# };
+#
+###################################################################################
+
+
+[Define]
+KFirstServiceIndex 0
+KSecondServiceIndex 1
+KThirdServiceIndex 2
+KNotAServiceInResourceIndex 10
+KFirstServiceUid 257
+KSecondServiceUid 258
+KThirdServiceUid 259
+KNotAServiceInResourceUid 260
+KErrGeneral -2
+KErrArgument -6
+[Enddefine]
+
+
+# This test case is for NewL
+# 1
+[Test]
+title Initialize Services DB
+create ServicesDbApiTest foobar
+foobar InitializeSeviceDB
+delete foobar
+[Endtest]
+
+# This test case is for NewLC
+# 2
+[Test]
+title Initialize on stack
+create ServicesDbApiTest foobar
+foobar InitializeonStackSeviceDB
+delete foobar
+[Endtest]
+
+# Testing Count function
+# 3
+[Test]
+title CountSeviceDB
+create ServicesDbApiTest foobar
+foobar CountSeviceDB
+delete foobar
+[Endtest]
+
+######################################################################
+# Testing ServiceUidL function with different INDEX parameters
+######################################################################
+# 4
+[Test]
+title Test ServiceUidL - No parameter
+create ServicesDbApiTest foobar
+allownextresult KErrGeneral
+foobar ServiceUidLSeviceDB
+delete foobar
+[Endtest]
+
+#5
+[Test]
+title Test ServiceUidL 0 INDEX
+create ServicesDbApiTest foobar
+foobar ServiceUidLSeviceDB KFirstServiceIndex
+delete foobar
+[Endtest]
+
+#6
+[Test]
+title Test ServiceUidL 1 INDEX
+create ServicesDbApiTest foobar
+foobar ServiceUidLSeviceDB KSecondServiceIndex
+delete foobar
+[Endtest]
+
+#7
+[Test]
+title Test ServiceUidL 2 INDEX
+create ServicesDbApiTest foobar
+foobar ServiceUidLSeviceDB KThirdServiceIndex
+delete foobar
+[Endtest]
+
+#8
+[Test]
+title Test ServiceUidL Wrong INDEX
+create ServicesDbApiTest foobar
+allownextresult KErrArgument
+foobar ServiceUidLSeviceDB KNotAServiceInResourceIndex
+delete foobar
+[Endtest]
+
+#--------------------------------------------------------------------#
+
+######################################################################
+# Testing ServiceStringLC function with different INDEX parameters
+######################################################################
+#9
+[Test]
+title Test ServiceStringLC with No Index
+create ServicesDbApiTest foobar
+allownextresult KErrGeneral
+foobar ServiceStringLCSeviceDB
+delete foobar
+[Endtest]
+
+#10
+[Test]
+title Test ServiceStringLC with 0 Index
+create ServicesDbApiTest foobar
+foobar ServiceStringLCSeviceDB KFirstServiceIndex
+delete foobar
+[Endtest]
+
+#11
+[Test]
+title Test ServiceStringLC with 1 Index
+create ServicesDbApiTest foobar
+foobar ServiceStringLCSeviceDB KSecondServiceIndex
+delete foobar
+[Endtest]
+
+#12
+[Test]
+title Test ServiceStringLC with 2 Index
+create ServicesDbApiTest foobar
+foobar ServiceStringLCSeviceDB KThirdServiceIndex
+delete foobar
+[Endtest]
+
+#13
+[Test]
+title Test ServiceStringLC with wrong Index
+create ServicesDbApiTest foobar
+allownextresult KErrArgument
+foobar ServiceStringLCSeviceDB KNotAServiceInResourceIndex
+delete foobar
+[Endtest]
+
+#--------------------------------------------------------------------#
+
+######################################################################
+# Testing ServiceStringLC function with different UID as parameters
+######################################################################
+#14
+[Test]
+title Test ServiceStringLC with No UID
+create ServicesDbApiTest foobar
+allownextresult KErrGeneral
+foobar ServiceStringLCUIDSeviceDB
+delete foobar
+[Endtest]
+
+#15
+[Test]
+title Test ServiceStringLC with 257 UID (0x101)
+create ServicesDbApiTest foobar
+foobar ServiceStringLCUIDSeviceDB KFirstServiceUid
+delete foobar
+[Endtest]
+
+#16
+[Test]
+title Test ServiceStringLC with 258 UID (0x102)
+create ServicesDbApiTest foobar
+foobar ServiceStringLCUIDSeviceDB KSecondServiceUid
+delete foobar
+[Endtest]
+
+#17
+[Test]
+title Test ServiceStringLC with 258 UID (0x103)
+create ServicesDbApiTest foobar
+foobar ServiceStringLCUIDSeviceDB KThirdServiceUid
+delete foobar
+[Endtest]
+
+#18
+[Test]
+title Test ServiceStringLC with Wrong UID
+create ServicesDbApiTest foobar
+foobar ServiceStringLCUIDSeviceDB KNotAServiceInResourceUid
+delete foobar
+[Endtest]
+
+#--------------------------------------------------------------------#
+
+######################################################################
+# Testing ServiceNameLC function with different INDEX as parameters
+######################################################################
+#19
+[Test]
+title test ServiceNameLC with No parameter
+allownextresult KErrGeneral
+create ServicesDbApiTest foobar
+foobar ServiceNameLCSeviceDB
+delete foobar
+[Endtest]
+
+#20
+[Test]
+title test ServiceNameLC with 0 index
+create ServicesDbApiTest foobar
+foobar ServiceNameLCSeviceDB KFirstServiceIndex
+delete foobar
+[Endtest]
+
+#21
+[Test]
+title test ServiceNameLC with 1 index
+create ServicesDbApiTest foobar
+foobar ServiceNameLCSeviceDB KSecondServiceIndex
+delete foobar
+[Endtest]
+
+#22
+[Test]
+title test ServiceNameLC with 2 index
+create ServicesDbApiTest foobar
+foobar ServiceNameLCSeviceDB KThirdServiceIndex
+delete foobar
+[Endtest]
+
+#23
+[Test]
+title test ServiceNameLC with incorrect index
+create ServicesDbApiTest foobar
+allownextresult KErrArgument
+foobar ServiceNameLCSeviceDB KNotAServiceInResourceIndex
+delete foobar
+[Endtest]
+
+#--------------------------------------------------------------------#
+
+######################################################################
+# Testing ServiceNameLC function with different UID as parameters
+######################################################################
+#24
+[Test]
+title test ServiceNameLC with No Parameter
+allownextresult KErrGeneral
+create ServicesDbApiTest foobar
+foobar ServiceNameLCuidSeviceDB
+delete foobar
+[Endtest]
+
+#25
+[Test]
+title test ServiceNameLC with 257 UID (0x101)
+create ServicesDbApiTest foobar
+foobar ServiceNameLCuidSeviceDB KFirstServiceUid
+delete foobar
+[Endtest]
+
+#26
+[Test]
+title test ServiceNameLC with 258 UID (0x102)
+create ServicesDbApiTest foobar
+foobar ServiceNameLCuidSeviceDB KSecondServiceUid
+delete foobar
+[Endtest]
+
+#27
+[Test]
+title test ServiceNameLC with 259 UID (0x103)
+create ServicesDbApiTest foobar
+foobar ServiceNameLCuidSeviceDB KThirdServiceUid
+delete foobar
+[Endtest]
+
+#28
+[Test]
+title test ServiceNameLC with 260 UID
+create ServicesDbApiTest foobar
+foobar ServiceNameLCuidSeviceDB KNotAServiceInResourceUid
+delete foobar
+[Endtest]
Binary file devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/data/ServicesDbApiTest.rsc has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/group/ServicesDbApiTest.iby Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Personalisation application localised resource IBY
+*
+*/
+
+
+#ifndef SERVICESDBAPITEST_IBY
+#define SERVICESDBAPITEST_IBY
+
+
+file=ABI_DIR/BUILD_DIR/ServicesDbApiTest.dll SHARED_LIB_DIR/ServicesDbApiTest.dll
+data=DATAZ_/RESOURCE_FILES_DIR/ServicesDbApiTest.rsc RESOURCE_FILES_DIR/ServicesDbApiTest.rsc
+
+#endif // SERVICESDBAPITEST_IBY
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/group/ServicesDbApiTest.mmp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,84 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project specification file of ServicesDbApiTest
+*
+*/
+
+
+#include <platform_paths.hrh>
+#include <data_caging_paths.hrh>
+
+TARGET ServicesDbApiTest.dll
+TARGETTYPE dll
+UID 0x1000008D 0x101FB3E3
+
+CAPABILITY ALL -TCB
+
+VENDORID VID_DEFAULT
+
+
+//TARGETPATH ?target_path
+DEFFILE ServicesDbApiTest.def
+
+
+APP_LAYER_SYSTEMINCLUDE
+USERINCLUDE ../inc
+
+SOURCEPATH ../src
+
+SOURCE ServicesDbApiTest.cpp
+SOURCE ServicesDbApiTestBlocks.cpp
+
+START RESOURCE ServicesDbApiTest.rss
+HEADER
+TARGETPATH RESOURCE_FILES_DIR
+END // RESOURCE
+
+
+LIBRARY euser.lib
+LIBRARY stiftestinterface.lib
+LIBRARY stiftestengine.lib
+LIBRARY eikcore.lib
+LIBRARY efsrv.lib
+LIBRARY bafl.lib
+LIBRARY cone.lib
+LIBRARY servicesdb.lib
+LIBRARY commonengine.lib
+
+LANG SC
+
+epocallowdlldata
+/*
+START WINS
+?wins_specific_information
+END
+
+START MARM
+?marm_specific_information
+END
+*/
+// Other possible keywords:
+
+// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
+/*
+START BITMAP ?target
+TARGETPATH ?emulated_path_on_target_machine
+HEADER
+SOURCE ?color_depth ?source_bitmap
+END
+*/
+// DEFFILE ?filename
+// AIF ?filename
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/group/ServicesDbApiTest.pkg Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,66 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0""
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: Installation file for STIF
+;
+;
+;
+
+; Languages
+&EN
+
+; Provide value for uid
+#{"STIF"},(0x00000000),1,1,0,TYPE=SA
+
+; Series60 product id for S60 3.0
+[0x101F7961], 0, 0, 0, {"Series60ProductID"}
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Logo
+; None
+
+; Package signature - Optional
+; None
+
+; Start of Package body
+
+
+; Condition blocks
+; None
+
+; Options list
+; None
+
+; Install files
+"/epoc32/release/armv5/urel/ServicesDbApiTest.dll" - "c:/Sys/Bin/ServicesDbApiTest.dll"
+"/epoc32/data/z/resource/ServicesDbApiTest.rsc" - "c:/resource/ServicesDbApiTest.rsc"
+;.cfg & .ini files
+"..\init\TestFramework_SDB.ini" - "!:\TestFramework\TestFramework_SDB.ini"
+"..\conf\ui_ServicesDbApiTest.cfg" - "!:\TestFramework\ui_ServicesDbApiTest.cfg"
+;"proeng_c.bat" - "!:\proeng.bat"
+
+; Embedded SIS
+; None
+
+; End of Package body
+
+; PKG dependencies
+; None
+
+; PKG capabilities
+; None
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/group/ServicesDbApiTest_DoxyFile.txt Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,222 @@
+# Doxyfile 1.4.1
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+PROJECT_NAME = ServicesDbApiTest
+PROJECT_NUMBER =
+OUTPUT_DIRECTORY = P:\ServicesDbApiTest\
+CREATE_SUBDIRS = NO
+OUTPUT_LANGUAGE = English
+USE_WINDOWS_ENCODING = YES
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ABBREVIATE_BRIEF =
+ALWAYS_DETAILED_SEC = NO
+INLINE_INHERITED_MEMB = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+STRIP_FROM_INC_PATH =
+SHORT_NAMES = NO
+JAVADOC_AUTOBRIEF = NO
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP = NO
+INHERIT_DOCS = YES
+DISTRIBUTE_GROUP_DOC = NO
+TAB_SIZE = 8
+ALIASES =
+OPTIMIZE_OUTPUT_FOR_C = YES
+OPTIMIZE_OUTPUT_JAVA = NO
+SUBGROUPING = YES
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = NO
+EXTRACT_STATIC = NO
+EXTRACT_LOCAL_CLASSES = NO
+EXTRACT_LOCAL_METHODS = NO
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+HIDE_FRIEND_COMPOUNDS = NO
+HIDE_IN_BODY_DOCS = NO
+INTERNAL_DOCS = YES
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+SHOW_INCLUDE_FILES = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = NO
+SORT_BY_SCOPE_NAME = NO
+GENERATE_TODOLIST = NO
+GENERATE_TESTLIST = NO
+GENERATE_BUGLIST = NO
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 30
+SHOW_USED_FILES = YES
+SHOW_DIRECTORIES = YES
+FILE_VERSION_FILTER =
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET = NO
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_FORMAT = "$file:$line: $text"
+WARN_LOGFILE =
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT = P:\ServicesDbApiTest\
+FILE_PATTERNS = *.h \
+ *.rh \
+ *.hrh
+RECURSIVE = YES
+EXCLUDE =
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH =
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = NO
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION = YES
+VERBATIM_HEADERS = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = NO
+COLS_IN_ALPHA_INDEX = 5
+IGNORE_PREFIX =
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML = NO
+HTML_OUTPUT = html
+HTML_FILE_EXTENSION = .html
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = YES
+CHM_FILE =
+HHC_LOCATION =
+GENERATE_CHI = NO
+BINARY_TOC = YES
+TOC_EXPAND = YES
+DISABLE_INDEX = YES
+ENUM_VALUES_PER_LINE = 4
+GENERATE_TREEVIEW = YES
+TREEVIEW_WIDTH = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+LATEX_CMD_NAME = latex
+MAKEINDEX_CMD_NAME = makeindex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+USE_PDFLATEX = NO
+LATEX_BATCHMODE = NO
+LATEX_HIDE_INDICES = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF = YES
+RTF_OUTPUT = Doc
+COMPACT_RTF = YES
+RTF_HYPERLINKS = YES
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+MAN_LINKS = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML = NO
+XML_OUTPUT = xml
+XML_SCHEMA =
+XML_DTD =
+XML_PROGRAMLISTING = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = NO
+SEARCH_INCLUDES = YES
+INCLUDE_PATH =
+INCLUDE_FILE_PATTERNS =
+PREDEFINED = NONSHARABLE_CLASS
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES =
+GENERATE_TAGFILE =
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = YES
+PERL_PATH = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = YES
+HIDE_UNDOC_RELATIONS = YES
+HAVE_DOT = NO
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+GROUP_GRAPHS = YES
+UML_LOOK = NO
+TEMPLATE_RELATIONS = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+CALL_GRAPH = NO
+GRAPHICAL_HIERARCHY = YES
+DIRECTORY_GRAPH = YES
+DOT_IMAGE_FORMAT = png
+DOT_PATH =
+DOTFILE_DIRS =
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+MAX_DOT_GRAPH_DEPTH = 0
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = NO
+GENERATE_LEGEND = YES
+DOT_CLEANUP = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+SEARCHENGINE = NO
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/group/ServicesDbApiTest_nrm.mmp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,84 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project specification file of ServicesDbApiTest
+*
+*/
+
+
+#include <platform_paths.hrh>
+#include <data_caging_paths.hrh>
+
+TARGET ServicesDbApiTest.dll
+TARGETTYPE dll
+UID 0x1000008D 0x101FB3E3
+
+CAPABILITY ALL -TCB
+
+VENDORID VID_DEFAULT
+
+
+//TARGETPATH ?target_path
+DEFFILE ServicesDbApiTest.def
+
+
+APP_LAYER_SYSTEMINCLUDE
+USERINCLUDE ../inc
+
+SOURCEPATH ../src
+
+SOURCE ServicesDbApiTest.cpp
+SOURCE ServicesDbApiTestBlocks.cpp
+
+START RESOURCE ServicesDbApiTest.rss
+HEADER
+TARGETPATH RESOURCE_FILES_DIR
+END // RESOURCE
+
+
+LIBRARY euser.lib
+LIBRARY stiftestinterface.lib
+LIBRARY stiftestengine.lib
+LIBRARY eikcore.lib
+LIBRARY efsrv.lib
+LIBRARY bafl.lib
+LIBRARY cone.lib
+LIBRARY servicesdb.lib
+LIBRARY commonengine.lib
+
+LANG SC
+
+epocallowdlldata
+/*
+START WINS
+?wins_specific_information
+END
+
+START MARM
+?marm_specific_information
+END
+*/
+// Other possible keywords:
+
+// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
+/*
+START BITMAP ?target
+TARGETPATH ?emulated_path_on_target_machine
+HEADER
+SOURCE ?color_depth ?source_bitmap
+END
+*/
+// DEFFILE ?filename
+// AIF ?filename
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/group/bld.inf Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Build information file for project ServicesDbApiTest
+*
+*/
+
+
+
+PRJ_PLATFORMS
+// specify the platforms your component needs to be built for here
+// defaults to WINS MARM so you can ignore this if you just build these
+DEFAULT
+
+PRJ_TESTEXPORTS
+// NOTE: If using ARS requirements all export operations should be done under this.
+// 'abld test export'
+
+
+PRJ_EXPORTS
+// Specify the source file followed by its destination here
+// copy will be used to copy the source file to its destination
+// If there's no destination then the source file will be copied
+// to the same name in /epoc32/include
+// Example:
+/*
+/agnmodel/inc/AGMCOMON.H
+*/
+//IBY file
+
+
+PRJ_TESTMMPFILES
+ServicesDbApiTest.mmp
+
+PRJ_MMPFILES
+ServicesDbApiTest_nrm.mmp
+
+// Specify the .mmp files required for building the important component
+// releasables.
+//
+// Specify "tidy" if the component you need to build doesn't need to be
+// released. Specify "ignore" if the MMP file exists but should be
+// ignored.
+// Example:
+/*
+/agnmodel/group/agnmodel.mmp
+#if defined(MARM)
+/agnmodel/group/agsvexe.mmp
+#endif
+*/
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/group/proeng_c.bat Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,23 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0""
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description: Copy file batch
+rem
+
+copy C:\TestFramework\testframework_ProEngWrapAPI.ini C:\TestFramework\TestFramework.ini
+md e:\BCTest
+md e:\BCTest\Results
+
+ATSINTERFACE.EXE -testmodule testscripter -config C:\TestFramework\ProEngWrapAPI.cfg
+copy c:\Logs\TestFramework\TestReport.txt e:\BCTest\results\SP_ProEngWrapAPI.txt
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/group/proeng_z.bat Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,25 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0""
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description: Copy file batch
+rem
+
+copy z:\TestFramework\testframework_ProEngWrapAPI.ini C:\TestFramework\TestFramework.ini
+md e:\BCTest
+md e:\BCTest\Results
+
+ATSINTERFACE.EXE -testmodule testscripter -config C:\TestFramework\ProEngWrapAPI.cfg
+copy c:\Logs\TestFramework\TestReport.txt e:\BCTest\results\SP_ProEngWrapAPI.txt
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/inc/ServicesDbApiTest.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,264 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of class CServicesDbApiTest
+*
+*/
+
+
+
+#ifndef SERVICESDBAPITEST_H
+#define SERVICESDBAPITEST_H
+
+// INCLUDES
+#include <StifLogger.h>
+#include <TestScripterInternal.h>
+#include <StifTestModule.h>
+#include <TestclassAssert.h>
+#include <services_db.h>
+#include <ConeResLoader.h>
+#include <data_caging_path_literals.hrh>
+#include <StringLoader.h>
+#include <barsread.h>
+#include <eikenv.h>
+
+
+
+// MACROS
+#define TEST_CLASS_VERSION_MAJOR 0
+#define TEST_CLASS_VERSION_MINOR 0
+#define TEST_CLASS_VERSION_BUILD 0
+
+// Logging path
+_LIT( KServicesDbApiTestLogPath, "\\logs\\testframework\\ServicesDbApiTest\\" );
+// Log file
+_LIT( KServicesDbApiTestLogFile, "ServicesDbApiTest.txt" );
+_LIT( KServicesDbApiTestLogFileWithTitle, "ServicesDbApiTest_[%S].txt" );
+
+_LIT(KEmptyString,"");
+
+// FORWARD DECLARATIONS
+class CServicesDbApiTest;
+
+
+//Constants
+const TInt KNoOfServices = 3; // This is the number of services listed in resource file.
+const TInt KFirstOption = 0;
+const TInt KSecondOption = 1;
+const TInt KFirstServiceIndex = 0;
+const TInt KSecondServiceIndex = 1;
+const TInt KThirdServiceIndex=2;
+const TInt KFirstServiceUid = 257;
+const TInt KSecondServiceUid = 258;
+const TInt KThirdServiceUid = 259;
+const TInt KBufSize = 128;
+
+// CLASS DECLARATION
+
+/**
+* CServicesDbApiTest test class for STIF Test Framework TestScripter.
+* This class is written to test Services DB API.
+*
+* @lib ServicesDbApiTest.lib
+* @since ?Series60_version
+*/
+NONSHARABLE_CLASS(CServicesDbApiTest) : public CScriptBase
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CServicesDbApiTest* NewL( CTestModuleIf& aTestModuleIf );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CServicesDbApiTest();
+
+
+ public: // Functions from base classes
+
+ /**
+ * From CScriptBase Runs a script line.
+ * @since ?Series60_version
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code
+ */
+ virtual TInt RunMethodL( CStifItemParser& aItem );
+
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CServicesDbApiTest( CTestModuleIf& aTestModuleIf );
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+ /**
+ * Frees all resources allocated from test methods.
+ * @since ?Series60_version
+ */
+ void Delete();
+
+ /**
+ * Test methods are listed below.
+ */
+
+ /**
+ * Method used to log version of test class
+ */
+ void SendTestClassVersion();
+
+ //[TestMethods]
+
+ /**
+ * Creates CServicesDB object
+ * @since ?Series60_version
+ * @param aOption Option to create CServicesDB object using NewL or NewLC
+ * @return Symbian OS error code.
+ */
+ TInt CreateSeviceDBL(TInt aOption);
+
+ /**
+ * In this method NewLC is called.
+ * @since ?Series60_version
+ * @param aResReader Resource reader to get information from Resource file
+ * @return Symbian OS error code.
+ */
+ void CallNewlcL( TResourceReader aResReader );
+
+ /**
+ * This method is used to test CServicesDB::NewL
+ * @since ?Series60_version
+ * @param No parameters required
+ * @return Symbian OS error code.
+ */
+ TInt InitializeSeviceDB( );
+
+ /**
+ * This method is used to test CServicesDB::NewLC
+ * @since ?Series60_version
+ * @param No parameters required
+ * @return Symbian OS error code.
+ */
+ TInt InitializeonStackSeviceDB( );
+
+ /**
+ * This method is used to test CServicesDB::Count
+ * @since ?Series60_version
+ * @param No parameters required
+ * @return Symbian OS error code.
+ */
+ TInt CountSeviceDB();
+
+ /**
+ * This method is used to test CServicesDB::ServiceUidL
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ TInt ServiceUidLSeviceDB( CStifItemParser& aItem );
+
+ /**
+ * This method is used to test CServicesDB::ServiceStringLC
+ * with Index as parameter.
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ TInt ServiceStringLCSeviceDB( CStifItemParser& aItem );
+
+ /**
+ * This method is used to test CServicesDB::ServiceStringLC
+ * with UID as parameter
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ TInt ServiceStringLCuidSeviceDB( CStifItemParser& aItem );
+
+ /**
+ * This method is used to test CServicesDB::ServiceNameLC
+ * with Index as parameter
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ TInt ServiceNameLCSeviceDB( CStifItemParser& aItem );
+
+ /**
+ * This method is used to test CServicesDB::ServiceNameLC
+ * with UID as parameter
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ TInt ServiceNameLCuidSeviceDB( CStifItemParser& aItem );
+
+ /**
+ * This is method encapsulates ServiceStringLC.
+ * This method can be TRAPD and used to help in testing ServiceStringLC
+ * @since ?Series60_version
+ * @param aIndex the index of the service
+ * @param aParam parameter for the localized string
+ * @return Symbian OS error code.
+ */
+ TInt CallServiceStringLCSeviceDBL(TInt aIndex,const TDes& aParam );
+
+ /**
+ * This is method encapsulates ServiceStringLC.
+ * This method can be TRAPD and used to help in testing ServiceStringLC
+ * @since ?Series60_version
+ * @param aServiceUid the Uid of the service
+ * @param aParam parameter for the localized string
+ * @return Symbian OS error code.
+ */
+ TInt CallServiceStringLCuidSeviceDBL( TUid aServiceUid, const TDes& aParam);
+
+ /**
+ * This is method encapsulates ServiceNameLC.
+ * This method can be TRAPD and used to help in testing ServiceNameLC
+ * @since ?Series60_version
+ * @param aIndex the index of the service
+ * @return Symbian OS error code.
+ */
+ TInt CallServiceNameLCSeviceDBL(TInt aIndex);
+
+ /**
+ * This is method encapsulates ServiceNameLC.
+ * This method can be TRAPD and used to help in testing ServiceNameLC
+ * @since ?Series60_version
+ * @param aServiceUid the Uid of the service
+ * @return Symbian OS error code.
+ */
+ TInt CallServiceNameLCuidSeviceDBL( TUid aServiceUid );
+
+
+ private: // Data
+
+ // This is the pointer to object of the class being tested
+ // Through this pointer all the Exported methods are tested.
+ CServicesDB *iServicesDB;
+
+
+ };
+
+#endif // SERVICESDBAPITEST_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/init/TestFramework_SDB.ini Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,200 @@
+#
+# This is STIF initialization file
+# Comment lines start with '#'-character.
+# See STIF TestFramework users guide.doc for instructions
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Set following test engine settings:
+# - Set Test Reporting mode. TestReportMode's possible values are:
+# + 'Summary': Summary of the tested test cases.
+# + 'Environment': Hardware and software info.
+# + 'TestCases': Test case report.
+# + 'FullReport': Set of all above ones.
+# + Example 'TestReportMode= Summary TestCases'
+#
+# - CreateTestReport setting controls report creation mode
+# + YES, Test report will created.
+# + NO, No Test report.
+#
+# - File path indicates the base path of the test report.
+# - File name indicates the name of the test report.
+#
+# - File format indicates the type of the test report.
+# + TXT, Test report file will be txt type, for example 'TestReport.txt'.
+# + HTML, Test report will be html type, for example 'TestReport.html'.
+# + XML, Test report will be xml type, for example 'TestReport.xml'.
+# Note, that xml format is available only when output is set to FILE.
+#
+# - File output indicates output source of the test report.
+# + FILE, Test report logging to file.
+# + RDEBUG, Test report logging to using rdebug.
+#
+# - File Creation Mode indicates test report overwriting if file exist.
+# + OVERWRITE, Overwrites if the Test report file exist.
+# + APPEND, Continue logging after the old Test report information if
+# report exist.
+# - Sets a device reset module's dll name(Reboot).
+# + If Nokia specific reset module is not available or it is not correct one
+# StifHWResetStub module may use as a template for user specific reset
+# module.
+# - Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation
+# DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02
+#
+
+[Engine_Defaults]
+
+TestReportMode= FullReport # Possible values are: 'Empty', 'Summary', 'Environment',
+ 'TestCases' or 'FullReport'
+
+CreateTestReport= YES # Possible values: YES or NO
+
+TestReportFilePath= C:\LOGS\TestFramework\
+TestReportFileName= TestReport
+
+TestReportFormat= TXT # Possible values: TXT, HTML or XML
+TestReportOutput= FILE # Possible values: FILE or RDEBUG
+TestReportFileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND
+
+DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
+
+DisableMeasurement= stifmeasurementdisablenone # Possible values are:
+ # 'stifmeasurementdisablenone', 'stifmeasurementdisableall'
+ # 'stifmeasurementplugin01', 'stifmeasurementplugin02',
+ # 'stifmeasurementplugin03', 'stifmeasurementplugin04',
+ # 'stifmeasurementplugin05' or 'stifbappeaprofiler'
+
+Timeout= 0 # Default timeout value for each test case. In milliseconds
+UITestingSupport= YES # Possible values: YES or NO
+#SeparateProcesses= YES # Possible values: YES or NO (default: NO)
+[End_Defaults]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Module configurations start
+# Modules are added between module tags
+# tags. Module name is specified after ModuleName= tag, like
+# ModuleName= XXXXXXXXX
+# Modules might have initialisation file, specified as
+# IniFile= c:\testframework\YYYYYY
+# Modules might have several configuration files, like
+# TestCaseFile= c:\testframework\NormalCases.txt
+# TestCaseFile= c:\testframework\SmokeCases.txt
+# TestCaseFile= c:\testframework\ManualCases.txt
+
+# (TestCaseFile is synonym for old term ConfigFile)
+
+# Following case specifies demo module settings. Demo module
+# does not read any settings from file, so tags
+# IniFile and TestCaseFile are not used.
+# In the simplest case it is enough to specify only the
+# name of the test module when adding new test module
+
+[New_Module]
+ModuleName= testscripter
+TestCaseFile= c:\testframework\ui_ServicesDbApiTest.cfg
+[End_Module]
+
+
+# Load testmoduleXXX, optionally with initialization file and/or test case files
+#[New_Module]
+#ModuleName= testmodulexxx
+
+#TestModuleXXX used initialization file
+#IniFile= c:\testframework\init.txt
+
+#TestModuleXXX used configuration file(s)
+#TestCaseFile= c:\testframework\testcases1.cfg
+#TestCaseFile= c:\testframework\testcases2.cfg
+#TestCaseFile= c:\testframework\manualtestcases.cfg
+
+#[End_Module]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Set STIF logging overwrite parameters for Logger.
+# Hardware and emulator environment logging path and styles can
+# be configured from here to overwrite the Logger's implemented values.
+#
+# Settings description:
+# - Indicates option for creation log directory/directories. If log directory/directories
+# is/are not created by user they will make by software.
+# + YES, Create log directory/directories if not allready exist.
+# + NO, Log directory/directories not created. Only created one is used.
+#
+# - Overwrite emulator path setting.
+# + Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined
+# Logger's path 'D:\\LOGS\\Module\\' with those definition the path
+# will be 'C:\LOGS\TestFramework\LOGS\Module\'
+#
+# - Overwrite emulator's logging format.
+# + TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
+# + HTML, Log file(s) will be html type(s), for example 'Module.html'.
+#
+# - Overwrited emulator logging output source.
+# + FILE, Logging to file(s).
+# + RDEBUG, Logging to using rdebug(s).
+#
+# - Overwrite hardware path setting (Same description as above in emulator path).
+# - Overwrite hardware's logging format(Same description as above in emulator format).
+# - Overwrite hardware's logging output source(Same description as above in emulator output).
+#
+# - File Creation Mode indicates file overwriting if file exist.
+# + OVERWRITE, Overwrites if file(s) exist.
+# + APPEND, Continue logging after the old logging information if file(s) exist.
+#
+# - Will thread id include to the log filename.
+# + YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
+# + NO, No thread id to log file(s), Example filename 'Module.txt'.
+#
+# - Will time stamps include the to log file.
+# + YES, Time stamp added to each line in log file(s). Time stamp is
+# for example'12.Nov.2003 115958 LOGGING INFO'
+# + NO, No time stamp(s).
+#
+# - Will line breaks include to the log file.
+# + YES, Each logging event includes line break and next log event is in own line.
+# + NO, No line break(s).
+#
+# - Will event ranking include to the log file.
+# + YES, Event ranking number added to each line in log file(s). Ranking number
+# depends on environment's tics, for example(includes time stamp also)
+# '012 12.Nov.2003 115958 LOGGING INFO'
+# + NO, No event ranking.
+#
+# - Will write log file in unicode format.
+# + YES, Log file will be written in unicode format
+# + NO, Log will be written as normal, not unicode, file.
+#
+
+[Logger_Defaults]
+
+#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#'
+#NOTE: TestEngine and TestServer logging settings cannot change here
+
+#CreateLogDirectories= YES # Possible values: YES or NO
+
+#EmulatorBasePath= C:\LOGS\TestFramework\
+#EmulatorFormat= HTML # Possible values: TXT or HTML
+#EmulatorOutput= FILE # Possible values: FILE or RDEBUG
+
+#HardwareBasePath= D:\LOGS\TestFramework\
+#HardwareFormat= HTML # Possible values: TXT or HTML
+#HardwareOutput= FILE # Possible values: FILE or RDEBUG
+
+#FileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND
+
+#ThreadIdToLogFile= YES # Possible values: YES or NO
+#WithTimeStamp= YES # Possible values: YES or NO
+#WithLineBreak= YES # Possible values: YES or NO
+#WithEventRanking= YES # Possible values: YES or NO
+
+#FileUnicode= YES # Possible values: YES or NO
+#AddTestCaseTitle= YES # Possible values: YES or NO
+[End_Logger_Defaults]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+# End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/src/ServicesDbApiTest.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,155 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of class CServicesDbApiTest
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <StifTestInterface.h>
+#include "ServicesDbApiTest.h"
+#include <SettingServerClient.h>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::CServicesDbApiTest
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CServicesDbApiTest::CServicesDbApiTest(
+ CTestModuleIf& aTestModuleIf ):
+ CScriptBase( aTestModuleIf )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CServicesDbApiTest::ConstructL()
+ {
+ //Read logger settings to check whether test case name is to be
+ //appended to log file name.
+ RSettingServer settingServer;
+ TInt ret = settingServer.Connect();
+ if(ret != KErrNone)
+ {
+ User::Leave(ret);
+ }
+ // Struct to StifLogger settigs.
+ TLoggerSettings loggerSettings;
+ // Parse StifLogger defaults from STIF initialization file.
+ ret = settingServer.GetLoggerSettings(loggerSettings);
+ if(ret != KErrNone)
+ {
+ User::Leave(ret);
+ }
+ // Close Setting server session
+ settingServer.Close();
+
+ TFileName logFileName;
+
+ if(loggerSettings.iAddTestCaseTitle)
+ {
+ TName title;
+ TestModuleIf().GetTestCaseTitleL(title);
+ logFileName.Format(KServicesDbApiTestLogFileWithTitle, &title);
+ }
+ else
+ {
+ logFileName.Copy(KServicesDbApiTestLogFile);
+ }
+
+ iLog = CStifLogger::NewL( KServicesDbApiTestLogPath,
+ logFileName,
+ CStifLogger::ETxt,
+ CStifLogger::EFile,
+ EFalse );
+
+ SendTestClassVersion();
+
+ }
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CServicesDbApiTest* CServicesDbApiTest::NewL(
+ CTestModuleIf& aTestModuleIf )
+ {
+ CServicesDbApiTest* self = new (ELeave) CServicesDbApiTest( aTestModuleIf );
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop();
+
+ return self;
+
+ }
+
+// Destructor
+CServicesDbApiTest::~CServicesDbApiTest()
+ {
+
+ // Delete resources allocated from test methods
+ Delete();
+
+ // Delete logger
+ delete iLog;
+ delete iServicesDB;
+
+ }
+
+//-----------------------------------------------------------------------------
+// CServicesDbApiTest::SendTestClassVersion
+// Method used to send version of test class
+//-----------------------------------------------------------------------------
+//
+void CServicesDbApiTest::SendTestClassVersion()
+ {
+ TVersion moduleVersion;
+ moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
+ moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
+ moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
+
+ TFileName moduleName;
+ moduleName = _L("ServicesDbApiTest.dll");
+
+ TBool newVersionOfMethod = ETrue;
+ TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
+ }
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+// -----------------------------------------------------------------------------
+// LibEntryL is a polymorphic Dll entry point.
+// Returns: CScriptBase: New CScriptBase derived object
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CScriptBase* LibEntryL(
+ CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
+ {
+
+ return ( CScriptBase* ) CServicesDbApiTest::NewL( aTestModuleIf );
+
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/src/ServicesDbApiTest.rss Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Resource definitions for project ServicesDbApiTest
+*
+*/
+// ---------------------------------------------------------------------------
+// r_da_services_mime
+// This resource stores localized strings for the supported services, identified
+// by their Uid and generic name.
+// This resource is defined in the services_db.rh file
+// ---------------------------------------------------------------------------
+//
+#include <bldvariant.hrh>
+#include <avkon.rh>
+//#include <avkon.rsg>
+//#include <avkon.mbg>
+//#include <eikcore.rsg>
+#include <eikon.rh>
+//#include <eikon.rsg>
+//#include <avkon.loc>
+//#include <data_caging_paths_strings.hrh>
+#include <services_db.rh>
+// RESOURCE IDENTIFIER
+NAME SDBT // 4 letter ID
+RESOURCE RSS_SIGNATURE { }
+RESOURCE TBUF { buf=""; }
+
+RESOURCE DAS_SERVICES r_da_service_mime
+ {
+ services =
+ {
+ DAS_SERVICE_ENTRY
+ {
+ service_uid = 0x101; // NOT A REAL UID
+ service_name = "Open";
+ service_localized_name = "Open Localized";
+ },
+ DAS_SERVICE_ENTRY
+ {
+ service_uid = 0x102; // NOT A REAL UID
+ service_name = "Upload";
+ service_localized_name = "Upload Localized";
+ },
+ DAS_SERVICE_ENTRY
+ {
+ service_uid = 0x103; // NOT A REAL UID
+ service_name = "Print";
+ service_localized_name = "Print Localized %U";
+ }
+ };
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/src/ServicesDbApiTestBlocks.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,590 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This cpp file has the functions to test Services DB API.
+*
+*/
+
+
+
+// [INCLUDE FILES]
+#include <e32svr.h>
+#include <StifParser.h>
+#include <StifTestInterface.h>
+#include "ServicesDbApiTest.h"
+#include <servicesdbapitest.rsg>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::Delete
+// Delete here all resources allocated and opened from test methods.
+// Called from destructor.
+// -----------------------------------------------------------------------------
+//
+void CServicesDbApiTest::Delete()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt CServicesDbApiTest::RunMethodL(
+ CStifItemParser& aItem )
+ {
+
+ static TStifFunctionInfo const KFunctions[] =
+ {
+ ENTRY( "InitializeSeviceDB", CServicesDbApiTest::InitializeSeviceDB ),
+ ENTRY( "InitializeonStackSeviceDB", CServicesDbApiTest::InitializeonStackSeviceDB ),
+ ENTRY( "CountSeviceDB", CServicesDbApiTest::CountSeviceDB),
+ ENTRY( "ServiceUidLSeviceDB", CServicesDbApiTest::ServiceUidLSeviceDB),
+ ENTRY( "ServiceStringLCSeviceDB", CServicesDbApiTest::ServiceStringLCSeviceDB),
+ ENTRY( "ServiceStringLCUIDSeviceDB", CServicesDbApiTest::ServiceStringLCuidSeviceDB),
+ ENTRY( "ServiceNameLCSeviceDB", CServicesDbApiTest::ServiceNameLCSeviceDB),
+ ENTRY( "ServiceNameLCuidSeviceDB", CServicesDbApiTest::ServiceNameLCuidSeviceDB),
+ };
+
+ const TInt count = sizeof( KFunctions ) /
+ sizeof( TStifFunctionInfo );
+
+ return RunInternalL( KFunctions, count, aItem );
+
+ }
+
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::CreateSeviceDBL
+// This function is used to create CServicesDB object. This function is used
+// to call CServicesDB::NewL and CServicesDB::NewLC functions.
+// -----------------------------------------------------------------------------
+//
+TInt CServicesDbApiTest::CreateSeviceDBL( TInt aOption )
+{
+
+ // Get CCoeEnv instance
+ CEikonEnv* eikEnv = CEikonEnv::Static();
+ // Initialize loader
+ //open our resource file
+ RConeResourceLoader resources(*eikEnv);
+
+ TParse parse;
+ parse.Set(_L("c:ServicesDbApiTest.rsc"), &KDC_RESOURCE_FILES_DIR, NULL );
+
+ TFileName fileName( parse.FullName() );
+ iLog->Log(_L("Opened Resource file named :: ")); iLog->Log(fileName);
+
+ TRAPD( error, resources.OpenL(fileName) ); //Open resource file
+ if ( KErrNone != error )
+ {
+ iLog->Log(_L("Error in opening resource file. ERROR = %d "),error); //return( error );
+ //Check on Z drive if not found on C drive
+ parse.Set(_L("z:ServicesDbApiTest.rsc"), &KDC_RESOURCE_FILES_DIR, NULL );
+ TFileName fileName1( parse.FullName() );
+ iLog->Log(_L("Opening Resource file named :: ")); iLog->Log(fileName1);
+
+ TRAPD( error1 , resources.OpenL(fileName1) );
+ if ( KErrNone != error1 )
+ {
+ iLog->Log(_L("Error in opening resource file. ERROR = %d "),error1);
+ return( error1 );
+ }
+ }
+
+ TResourceReader reader;
+ eikEnv->CreateResourceReaderLC( reader, R_DA_SERVICE_MIME );
+
+ if ( KFirstOption == aOption )
+ {
+ TRAPD( errorinNewL, iServicesDB=CServicesDB::NewL(&reader) );
+ if ( KErrNone != errorinNewL )
+ {
+ iLog->Log(_L("=>CServicesDB::NewL leaves"));
+ }
+ CleanupStack::PopAndDestroy(); //reader's resource
+ resources.Close();
+ return ( errorinNewL );
+ }
+ else
+ {
+ TRAPD( errorinNewLC, CallNewlcL(reader) );
+ if( KErrNone != errorinNewLC )
+ {
+ iLog->Log(_L("=>CServicesDB::NewLC leaves"));
+ }
+ CleanupStack::PopAndDestroy();
+ resources.Close();
+ return ( errorinNewLC );
+ }
+}
+
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::CallNewlcL
+// This function is used because we can not TRAP CServicesDB::NewLC
+// -----------------------------------------------------------------------------
+//
+void CServicesDbApiTest::CallNewlcL( TResourceReader aResReader )
+{
+ iServicesDB = CServicesDB::NewLC( &aResReader );
+ CleanupStack::Pop();
+}
+
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::InitializeSeviceDB
+// Is used to test CServicesDB::NewL
+// -----------------------------------------------------------------------------
+//
+TInt CServicesDbApiTest::InitializeSeviceDB( )
+{
+ TInt result;
+ TRAPD( error , result = CreateSeviceDBL( KFirstOption ) );
+ if ( KErrNone != error )
+ { iLog->Log(_L("Services DB object not created with NewL.")); return ( error ); }
+ else
+ {
+ if ( KErrNone != result )
+ {
+ iLog->Log(_L("Services DB object not created with NewL.")); return ( result );
+ }
+ else
+ {
+ iLog->Log(_L("Services DB object created with NewL."));
+ }
+ }
+ return ( result );
+}
+
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::InitializeonStackSeviceDB
+// Is used to test CServicesDB::NewLC
+// -----------------------------------------------------------------------------
+//
+TInt CServicesDbApiTest::InitializeonStackSeviceDB( )
+{
+ TInt result;
+ TRAPD( error, result = CreateSeviceDBL( KSecondOption ) );
+ if ( KErrNone != error )
+ { iLog->Log(_L("Services DB object not created with NewLC.")); return ( error ); }
+ else
+ {
+ if ( KErrNone != result )
+ {
+ iLog->Log(_L("Services DB object not created with NewLC.")); return ( result );
+ }
+ else
+ {
+ iLog->Log(_L("Services DB object created with NewLC."));
+ }
+ }
+ return ( result );
+}
+
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::CountSeviceDB
+// Testing - IMPORT_C TInt Count() const;
+// -----------------------------------------------------------------------------
+//
+TInt CServicesDbApiTest::CountSeviceDB()
+{
+ TInt result = InitializeSeviceDB();
+ if ( KErrNone != result )
+ {
+ return ( result );
+ }
+ TInt nrServices=iServicesDB->Count();
+ iLog->Log(_L("Number of Services listed in resource file = %d"),nrServices);
+ if ( KNoOfServices != nrServices )
+ {
+ iLog->Log(_L("The number of services returned by CServicesDB::COUNT is incorrect"));
+ return ( KErrGeneral );
+ }
+ return ( KErrNone );
+}
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::ServiceUidLSeviceDB
+// Testing - IMPORT_C TUid ServiceUidL(TInt aIndex) const;
+// -----------------------------------------------------------------------------
+//
+TInt CServicesDbApiTest::ServiceUidLSeviceDB( CStifItemParser& aItem )
+{
+ TInt result = InitializeSeviceDB();
+ if ( KErrNone != result )
+ {
+ return ( result );
+ }
+ TUid serviceUid;
+ TInt index;
+
+ if( aItem.GetNextInt(index) != KErrNone )
+ {
+ iLog->Log(_L("NO Index number provided, index is required parameter for testing ServiceUid "));
+ return ( KErrGeneral );
+ }
+
+ TRAPD( error, serviceUid = iServicesDB->ServiceUidL(index) );
+ if ( KErrNone != error )
+ {
+ iLog->Log(_L("Incorrect Index. There is no service matching the Index Number."));
+ iLog->Log(_L("=> ServiceUidL leaves when index is incorrect."));
+ return (error);
+ }
+
+ iLog->Log(_L("UID of the Service[%d]=%d"),index,serviceUid.iUid);
+
+ switch (index)
+ {
+ case KFirstServiceIndex: if (serviceUid.iUid == 0x101)
+ { iLog->Log(_L("Service UID is correct")); }
+ else
+ { iLog->Log(_L("Service UID is incorrect")); return ( KErrGeneral ); }
+ break;
+ case KSecondServiceIndex: if (serviceUid.iUid == 0x102)
+ { iLog->Log(_L("Service UID is correct")); }
+ else
+ { iLog->Log(_L("Service UID is incorrect")); return ( KErrGeneral ); }
+ break;
+ case KThirdServiceIndex: if (serviceUid.iUid == 0x103)
+ { iLog->Log(_L("Service UID is correct")); }
+ else
+ { iLog->Log(_L("Service UID is incorrect")); return ( KErrGeneral ); }
+ break;
+ default : break;
+ };
+
+ return ( KErrNone );
+}
+
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::ServiceStringLCSeviceDB
+// Testing - IMPORT_C HBufC* ServiceStringLC(TInt aIndex, const TDes& aParam) const;
+// -----------------------------------------------------------------------------
+//
+TInt CServicesDbApiTest::ServiceStringLCSeviceDB( CStifItemParser& aItem )
+{
+ TInt result = InitializeSeviceDB();
+ if ( KErrNone != result )
+ {
+ return ( result );
+ }
+ TInt index;
+ TBuf<KBufSize> format(KEmptyString);
+
+ if( aItem.GetNextInt(index) != KErrNone )
+ {
+ iLog->Log(_L("NO Index number provided, index is required parameter for testing ServiceUid "));
+ return ( KErrGeneral );
+ }
+ TInt res;
+ TRAPD( error, res = CallServiceStringLCSeviceDBL(index,format ));
+ if ( KErrNone != error )
+ {
+ iLog->Log(_L("Incorrect Index. There is no service matching the Index Number."));
+ iLog->Log(_L("=> ServiceStringLC leaves when index is incorrect."));
+ return (error);
+ }
+
+ return ( res );
+}
+
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::CallServiceStringLCSeviceDBL
+// This function is used because we can not trap ServiceStringLC
+// -----------------------------------------------------------------------------
+//
+TInt CServicesDbApiTest::CallServiceStringLCSeviceDBL(TInt aIndex,const TDes& aParam )
+{
+ HBufC *string;
+ string=iServicesDB->ServiceStringLC(aIndex,aParam);
+ iLog->Log(_L("LOCALIZED name of the Service[%d] = "),aIndex);
+ iLog->Log(*string);
+
+ switch (aIndex)
+ {
+ case KFirstServiceIndex: if(!(string->Des().Compare(_L("Open Localized"))))
+ { iLog->Log(_L("LOCALIZED name is correct")); }
+ else
+ { iLog->Log(_L("LOCALIZED name is incorrect"));
+ CleanupStack::PopAndDestroy(string); return ( KErrGeneral ); }
+ break;
+ case KSecondServiceIndex: if(!(string->Des().Compare(_L("Upload Localized"))))
+ { iLog->Log(_L("LOCALIZED name is correct")); }
+ else
+ { iLog->Log(_L("LOCALIZED name is incorrect"));
+ CleanupStack::PopAndDestroy(string); return ( KErrGeneral ); }
+ break;
+ case KThirdServiceIndex: if(!(string->Des().Compare(_L("Print Localized %U"))))
+ { iLog->Log(_L("LOCALIZED name is correct")); }
+ else
+ { iLog->Log(_L("LOCALIZED name is incorrect"));
+ CleanupStack::PopAndDestroy(string);return ( KErrGeneral ); }
+ break;
+ default : break;
+ };
+
+ CleanupStack::PopAndDestroy(string);
+ return ( KErrNone );
+
+}
+
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::ServiceStringLCuidSeviceDB
+// Testing - IMPORT_C HBufC* ServiceStringLC(TUid aServiceUid, const TDes& aParam) const;
+// -----------------------------------------------------------------------------
+//
+TInt CServicesDbApiTest::ServiceStringLCuidSeviceDB( CStifItemParser& aItem )
+{
+ TInt result = InitializeSeviceDB();
+ if ( KErrNone != result )
+ {
+ return ( result );
+ }
+ TBuf<KBufSize> format(KEmptyString);
+ TInt uid;
+
+ if( aItem.GetNextInt(uid) != KErrNone )
+ {
+ iLog->Log(_L("NO UID number provided, UID is required parameter for testing ServiceStringLC "));
+ return ( KErrGeneral );
+ }
+ TUid serviceUID= TUid::Uid(uid);
+ iLog->Log(_L("serviceUID = %d"),serviceUID.iUid);
+ TInt res ;
+ TRAPD(error, res = CallServiceStringLCuidSeviceDBL(serviceUID,format));
+ if ( KErrNone != error )
+ {
+ iLog->Log(_L("=> ServiceStringLC leaves. Error code = %d"),error);
+ return (error);
+ }
+ return ( res );
+
+}
+
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::CallServiceStringLCuidSeviceDBL
+// This function is used because we can not trap ServiceStringLC
+// -----------------------------------------------------------------------------
+//
+TInt CServicesDbApiTest::CallServiceStringLCuidSeviceDBL( TUid aServiceUid, const TDes& aParam )
+{
+ HBufC *string;
+ string=iServicesDB->ServiceStringLC(aServiceUid,aParam);
+ if ( NULL != string )
+ {
+ iLog->Log(_L("LOCALIZED name of the Service with UID(%d) = "),aServiceUid.iUid);
+ iLog->Log(*string);
+ }
+ else
+ {
+ iLog->Log(_L("No matching service found, Service UID provided is incorrect"));
+ }
+
+ switch (aServiceUid.iUid)
+ {
+ case KFirstServiceUid: if(!(string->Des().Compare(_L("Open Localized"))))
+ { iLog->Log(_L("LOCALIZED name is correct")); }
+ else
+ { iLog->Log(_L("LOCALIZED name is incorrect"));
+ CleanupStack::PopAndDestroy(string); return ( KErrGeneral ); }
+ break;
+ case KSecondServiceUid: if(!(string->Des().Compare(_L("Upload Localized"))))
+ { iLog->Log(_L("LOCALIZED name is correct")); }
+ else
+ { iLog->Log(_L("LOCALIZED name is incorrect"));
+ CleanupStack::PopAndDestroy(string); return ( KErrGeneral ); }
+ break;
+ case KThirdServiceUid: if(!(string->Des().Compare(_L("Print Localized %U"))))
+ { iLog->Log(_L("LOCALIZED name is correct")); }
+ else
+ { iLog->Log(_L("LOCALIZED name is incorrect"));
+ CleanupStack::PopAndDestroy(string);return ( KErrGeneral ); }
+ break;
+ default : break;
+ };
+
+ CleanupStack::PopAndDestroy(string);
+ return ( KErrNone );
+}
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::ServiceNameLCSeviceDB
+// Testing - IMPORT_C HBufC* ServiceNameLC(TInt aIndex) const;
+// -----------------------------------------------------------------------------
+//
+TInt CServicesDbApiTest::ServiceNameLCSeviceDB( CStifItemParser& aItem )
+{
+ TInt result = InitializeSeviceDB();
+ if ( KErrNone != result )
+ {
+ return ( result );
+ }
+ TInt index;
+ TBuf<KBufSize> format(KEmptyString);
+
+ if( aItem.GetNextInt(index) != KErrNone )
+ {
+ iLog->Log(_L("NO Index number provided, index is required parameter for testing ServiceNameLC "));
+ return ( KErrGeneral );
+ }
+ iLog->Log(_L("checked till here"));
+ iLog->Log(_L("index = %d"),index);
+
+ TRAPD(error,TInt res = CallServiceNameLCSeviceDBL(index));
+ if ( KErrNone != error )
+ {
+ iLog->Log(_L("Incorrect Index. There is no service matching the Index Number."));
+ iLog->Log(_L("=> ServiceNameLC leaves when index is incorrect."));
+ return (error);
+ }
+ return ( KErrNone );
+
+}
+
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::ServiceNameLCSeviceDB
+// This function is used because we can not trap ServiceNameLC
+// -----------------------------------------------------------------------------
+//
+TInt CServicesDbApiTest::CallServiceNameLCSeviceDBL(TInt aIndex)
+{
+ HBufC *string;
+ string=iServicesDB->ServiceNameLC(aIndex);
+ iLog->Log(_L("GENERIC name of the Service[%d] = "),aIndex);
+ iLog->Log(*string);
+
+ switch (aIndex)
+ {
+ case KFirstServiceIndex: if(!(string->Des().Compare(_L("Open"))))
+ { iLog->Log(_L("GENERIC name is correct")); }
+ else
+ { iLog->Log(_L("GENERIC name is incorrect"));
+ CleanupStack::PopAndDestroy(string); return ( KErrGeneral ); }
+ break;
+ case KSecondServiceIndex: if(!(string->Des().Compare(_L("Upload"))))
+ { iLog->Log(_L("GENERIC name is correct")); }
+ else
+ { iLog->Log(_L("GENERIC name is incorrect"));
+ CleanupStack::PopAndDestroy(string); return ( KErrGeneral ); }
+ break;
+ case KThirdServiceIndex: if(!(string->Des().Compare(_L("Print"))))
+ { iLog->Log(_L("GENERIC name is correct")); }
+ else
+ { iLog->Log(_L("GENERIC name is incorrect"));
+ CleanupStack::PopAndDestroy(string);return ( KErrGeneral ); }
+ break;
+ default : break;
+ };
+
+ CleanupStack::PopAndDestroy(string);
+ return ( KErrNone );
+
+}
+
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::ServiceNameLCuidSeviceDB
+// Testing - IMPORT_C HBufC* ServiceNameLC(TUid aServiceUid) const;
+// -----------------------------------------------------------------------------
+//
+TInt CServicesDbApiTest::ServiceNameLCuidSeviceDB( CStifItemParser& aItem )
+{
+
+ TInt result = InitializeSeviceDB();
+ if ( KErrNone != result )
+ {
+ return ( result );
+ }
+ TBuf<KBufSize> format(KEmptyString);
+ TInt uid;
+
+ if( aItem.GetNextInt(uid) != KErrNone )
+ {
+ iLog->Log(_L("NO UID number provided, UID is required parameter for testing ServiceStringLC "));
+ return ( KErrGeneral );
+ }
+ iLog->Log(_L("checked till here"));
+
+ TUid serviceUID= TUid::Uid(uid);
+ iLog->Log(_L("serviceUID = %d"),serviceUID.iUid);
+
+ TRAPD(error,TInt res = CallServiceNameLCuidSeviceDBL(serviceUID));
+ if ( KErrNone != error )
+ {
+ iLog->Log(_L("=> ServiceNameLC leaves."),error);
+ return (error);
+ }
+ return ( KErrNone );
+}
+
+
+// -----------------------------------------------------------------------------
+// CServicesDbApiTest::ServiceNameLCuidSeviceDB
+// This function is used because we can not trap ServiceNameLC
+// -----------------------------------------------------------------------------
+//
+TInt CServicesDbApiTest::CallServiceNameLCuidSeviceDBL( TUid aServiceUid )
+{
+ HBufC *string;
+ string=iServicesDB->ServiceNameLC(aServiceUid);
+ if ( NULL != string )
+ {
+ iLog->Log(_L("GENERIC name of the Service with UID(%d) = "),aServiceUid.iUid);
+ iLog->Log(*string);
+ }
+ else
+ {
+ iLog->Log(_L("No matching service found, Service UID provided is incorrect"));
+ }
+
+ switch (aServiceUid.iUid)
+ {
+ case KFirstServiceUid: if(!(string->Des().Compare(_L("Open"))))
+ { iLog->Log(_L("GENERIC name is correct")); }
+ else
+ { iLog->Log(_L("GENERIC name is incorrect"));
+ CleanupStack::PopAndDestroy(string); return ( KErrGeneral ); }
+ break;
+ case KSecondServiceUid: if(!(string->Des().Compare(_L("Upload"))))
+ { iLog->Log(_L("GENERIC name is correct")); }
+ else
+ { iLog->Log(_L("GENERIC name is incorrect"));
+ CleanupStack::PopAndDestroy(string); return ( KErrGeneral ); }
+ break;
+ case KThirdServiceUid: if(!(string->Des().Compare(_L("Print"))))
+ { iLog->Log(_L("GENERIC name is correct")); }
+ else
+ { iLog->Log(_L("GENERIC name is incorrect"));
+ CleanupStack::PopAndDestroy(string);return ( KErrGeneral ); }
+ break;
+ default : break;
+ };
+
+ CleanupStack::PopAndDestroy(string);
+ return ( KErrNone );
+}
+
+
+// [End of File] - Do not remove
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devmngt_pub/group/bld.inf Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Includes all the SDK API specific bld.inf files, which
+* export files.
+*
+*/
+
+
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/group/bld.inf Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Build information file for project settingsuis
+*
+*/
+
+
+// mw layer
+// Device management ADO
+
+//Components:
+
+//devmngt_plat
+#include "../devmngt_plat/group/bld.inf"
+
+//devmngt_pub
+#include "../devmngt_pub/group/bld.inf"
+
+#include "../defaultapplicationsettings/group/bld.inf"
+
+//systemswuis
+#include "../systemswuis/group/bld.inf"
+
--- a/layers.sysdef.xml Tue Aug 31 15:15:28 2010 +0300
+++ b/layers.sysdef.xml Wed Sep 01 12:33:30 2010 +0100
@@ -1,17 +1,22 @@
<?xml version="1.0"?>
-<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_5_1.dtd" [
+
+<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
<!ENTITY layer_real_source_path "sf/app/settingsuis" >
]>
-<SystemDefinition name="settingsuis" schema="1.5.1">
+<SystemDefinition name="settingsuis" schema="1.4.0">
<systemModel>
<layer name="app_layer">
- <module name="themeplugin">
- <unit unitID="themeplugin" mrp="" bldFile="&layer_real_source_path;/controlpanelplugins/themeplugin" name="themeplugin" proFile="themeplugin.pro" qmakeArgs="-r -config rom"/>
- </module>
- <module name="controlpanelui">
- <unit unitID="controlpanelui" mrp="" bldFile="&layer_real_source_path;/controlpanelui" name="controlpanelui" proFile="controlpanelui.pro" qmakeArgs="-r -config rom"/>
+ <module name="settingsuis">
+ <unit name="settingsuis" unitID="presdo.settingsuis" bldFile="&layer_real_source_path;/group" mrp="" />
</module>
</layer>
+ <layer name="api_test_layer">
+ <module name="settingsuis_test">
+ <!--<unit unitID="presdo.settingsuis_test" mrp="" bldFile="&layer_real_source_path;/tsrc/group" name="settingsuis_test" />-->
+ <unit unitID="presdo.settingsuis_test" mrp="" bldFile="&layer_real_source_path;/devmngt_plat/services_db_api/tsrc/ServicesDbApiTest/group" name="settingsuis_test" />
+ </module>
+ </layer>
</systemModel>
</SystemDefinition>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysdef_1_4_0.dtd Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,86 @@
+ <!ELEMENT SystemDefinition (systemModel?, build?)>
+ <!ATTLIST SystemDefinition
+ name CDATA #REQUIRED
+ schema CDATA #REQUIRED>
+ <!ELEMENT systemModel (layer+)>
+ <!ELEMENT layer (logicalset* | module*)*>
+ <!ATTLIST layer
+ name CDATA #REQUIRED
+ levels CDATA #IMPLIED
+ span CDATA #IMPLIED>
+ <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalset name CDATA #REQUIRED>
+ <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalsubset name CDATA #REQUIRED>
+ <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
+ <!ATTLIST module
+ name CDATA #REQUIRED
+ level CDATA #IMPLIED>
+ <!ELEMENT component (unit* | package* | prebuilt*)*>
+ <!ATTLIST component name CDATA #REQUIRED>
+ <!ELEMENT unit EMPTY>
+ <!ATTLIST unit
+ unitID ID #REQUIRED
+ name CDATA #REQUIRED
+ mrp CDATA #REQUIRED
+ filter CDATA #IMPLIED
+ bldFile CDATA #REQUIRED
+ priority CDATA #IMPLIED
+ contract CDATA #IMPLIED>
+ <!ELEMENT package EMPTY>
+ <!ATTLIST package
+ name CDATA #REQUIRED
+ mrp CDATA #REQUIRED
+ filter CDATA #IMPLIED
+ contract CDATA #IMPLIED>
+ <!ELEMENT prebuilt EMPTY>
+ <!ATTLIST prebuilt
+ name CDATA #REQUIRED
+ version CDATA #REQUIRED
+ late (Y|N) #IMPLIED
+ filter CDATA #IMPLIED
+ contract CDATA #IMPLIED>
+ <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
+ <!ELEMENT unitList (unitRef+)>
+ <!ATTLIST unitList
+ name ID #REQUIRED
+ description CDATA #REQUIRED>
+ <!ELEMENT unitRef EMPTY>
+ <!ATTLIST unitRef unit IDREF #REQUIRED>
+ <!ELEMENT targetList EMPTY>
+ <!ATTLIST targetList
+ name ID #REQUIRED
+ description CDATA #REQUIRED
+ target IDREFS #REQUIRED>
+ <!ELEMENT target EMPTY>
+ <!ATTLIST target
+ name ID #REQUIRED
+ abldTarget CDATA #REQUIRED
+ description CDATA #REQUIRED>
+ <!ELEMENT option EMPTY>
+ <!ATTLIST option
+ name ID #REQUIRED
+ abldOption CDATA #REQUIRED
+ description CDATA #REQUIRED
+ enable (Y | N | y | n) #REQUIRED>
+ <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
+ <!ATTLIST configuration
+ name ID #REQUIRED
+ description CDATA #REQUIRED
+ filter CDATA #REQUIRED>
+ <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
+ <!ELEMENT unitListRef EMPTY>
+ <!ATTLIST unitListRef unitList IDREF #REQUIRED>
+ <!ELEMENT layerRef EMPTY>
+ <!ATTLIST layerRef layerName CDATA #REQUIRED>
+ <!ELEMENT buildLayer EMPTY>
+ <!ATTLIST buildLayer
+ command CDATA #REQUIRED
+ targetList IDREFS #IMPLIED
+ unitParallel (Y | N | y | n) #REQUIRED
+ targetParallel (Y | N | y | n) #IMPLIED>
+ <!ELEMENT specialInstructions EMPTY>
+ <!ATTLIST specialInstructions
+ name CDATA #REQUIRED
+ cwd CDATA #REQUIRED
+ command CDATA #REQUIRED>
--- a/sysdef_1_5_1.dtd Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
- <!ELEMENT SystemDefinition (systemModel?, build?)>
- <!ATTLIST SystemDefinition
- name CDATA #REQUIRED
- schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (logicalset* | module*)*>
- <!ATTLIST layer
- name CDATA #REQUIRED
- levels CDATA #IMPLIED
- span CDATA #IMPLIED>
- <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalset name CDATA #REQUIRED>
- <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalsubset name CDATA #REQUIRED>
- <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
- <!ATTLIST module
- name CDATA #REQUIRED
- level CDATA #IMPLIED>
- <!ELEMENT component (unit* | package* | prebuilt*)*>
- <!ATTLIST component name CDATA #REQUIRED>
- <!ELEMENT unit EMPTY>
- <!ATTLIST unit
- unitID ID #REQUIRED
- name CDATA #REQUIRED
- mrp CDATA #REQUIRED
- filter CDATA #IMPLIED
- bldFile CDATA #REQUIRED
- priority CDATA #IMPLIED
- contract CDATA #IMPLIED
- proFile CDATA #IMPLIED
- qmakeArgs CDATA #IMPLIED>
- <!ELEMENT package EMPTY>
- <!ATTLIST package
- name CDATA #REQUIRED
- mrp CDATA #REQUIRED
- filter CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT prebuilt EMPTY>
- <!ATTLIST prebuilt
- name CDATA #REQUIRED
- version CDATA #REQUIRED
- late (Y|N) #IMPLIED
- filter CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
- <!ELEMENT unitList (unitRef+)>
- <!ATTLIST unitList
- name ID #REQUIRED
- description CDATA #REQUIRED>
- <!ELEMENT unitRef EMPTY>
- <!ATTLIST unitRef unit IDREF #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
- name ID #REQUIRED
- description CDATA #REQUIRED
- target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
- name ID #REQUIRED
- abldTarget CDATA #REQUIRED
- description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
- name ID #REQUIRED
- abldOption CDATA #REQUIRED
- description CDATA #REQUIRED
- enable (Y | N | y | n) #REQUIRED>
- <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
- <!ATTLIST configuration
- name ID #REQUIRED
- description CDATA #REQUIRED
- filter CDATA #REQUIRED>
- <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
- <!ELEMENT unitListRef EMPTY>
- <!ATTLIST unitListRef unitList IDREF #REQUIRED>
- <!ELEMENT layerRef EMPTY>
- <!ATTLIST layerRef layerName CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
- command CDATA #REQUIRED
- targetList IDREFS #IMPLIED
- unitParallel (Y | N | y | n) #REQUIRED
- targetParallel (Y | N | y | n) #IMPLIED>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
- name CDATA #REQUIRED
- cwd CDATA #REQUIRED
- command CDATA #REQUIRED>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/group/bld.inf Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,19 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Build information file for project systemswuis
+*
+*/
+
+
+#include "../touchscreencalib/group/bld.inf"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/PubSub/touchscprivatepskeys.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Private Publish&Subscribe definitions of the
+* Security UIs subsystem
+*
+*/
+
+
+#ifndef TOUCHSCPRIVATEPSKEYS_H
+#define TOUCHSCPRIVATEPSKEYS_H
+
+// INCLUDES
+
+//CONSTANTS
+
+// =============================================================================
+// Touch Screen Calibration API
+// =============================================================================
+
+/**
+* Touchscreen calibration P&S UID
+*/
+const TUid KPSUidTouchScreenCalibration = { 0x102828BC };
+
+/**
+* Wait a touchscreen calibration
+*/
+const TUint32 KPSTouchScreenCalibration = 0x00000000;
+enum TPSTouchScreenCalibration
+ {
+ ETouchScreenCalibrationWait,
+ ETouchScreenCalibrationOk
+ };
+
+#endif//TOUCHSCPRIVATEPSKEYS_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/aif/TouchScreenCalibaif.rss Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: RSS for creating the aif file for TouchScreenCalib.
+*
+*/
+
+
+// INCLUDES
+#include <aiftool.rh>
+
+RESOURCE AIF_DATA
+{
+ app_uid = 0x102828BC;
+ hidden = KAppIsHidden;
+ num_icons = 0;
+ embeddability = KAppNotEmbeddable;
+ newfile = KAppDoesNotSupportNewFile;
+}
+
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/data/TouchScreenCalib.rss Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2006 - 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This file contains all the resources for the module.
+*
+*/
+
+
+// RESOURCE IDENTIFIER
+NAME TSCA // 4 letter ID
+
+// INCLUDES
+#include <eikon.rh>
+#include <avkon.rsg>
+#include <avkon.rh>
+#include "touchscreencalib.loc"
+
+// CONSTANTS
+// -none
+
+// MACROS
+// -none
+
+// RESOURCE DEFINITIONS
+
+RESOURCE RSS_SIGNATURE { }
+
+RESOURCE TBUF { buf="touch_screen_calib"; }
+
+RESOURCE EIK_APP_INFO
+ {
+ status_pane = r_status_pane;
+ }
+
+RESOURCE STATUS_PANE_APP_MODEL r_status_pane
+ {
+ layout= R_AVKON_STATUS_PANE_LAYOUT_EMPTY;
+ }
+
+RESOURCE TBUF r_qtn_touch_screen_cali_instr_can { buf = qtn_touch_screen_cali_instr_can; }
+RESOURCE TBUF r_qtn_touch_screen_cali_instr_res { buf = qtn_touch_screen_cali_instr_res; }
+RESOURCE TBUF r_qtn_touch_screen_cali_instr_gen { buf = qtn_touch_screen_cali_instr_gen; }
+RESOURCE TBUF r_qtn_touch_screen_cali_cancel { buf = qtn_touch_screen_cali_cancel; }
+RESOURCE TBUF r_qtn_touch_screen_cali_done { buf = qtn_touch_screen_cali_done; }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/data/TouchScreenCalib_anim.rss Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: It contains resources for Touch Screen Calibration tap target
+* animation
+*
+*/
+
+
+// RESOURCE IDENTIFIER
+NAME TSAN
+
+// INCLUDES
+#include <uikon.rh>
+#include <avkon.rh>
+#include <touchscreencalib.mbg>
+
+// RESOURCE DEFINITIONS
+
+RESOURCE RSS_SIGNATURE { }
+
+STRUCT ANIM_DURATION
+ {
+ WORD time;
+ }
+
+RESOURCE ANIM_DURATION r_anim_duration
+ {
+ time = 0; //milliseconds
+ }
+
+RESOURCE BMPANIM_DATA r_shutdown_anim
+ {
+ frameinterval = 200;
+
+ playmode = EAknBitmapAnimationPlayModeCycle;
+
+ bmpfile = "z:\\resource\\apps\\touchscreencalib.mbm";
+
+ frames = r_target_frames;
+ }
+
+RESOURCE ARRAY r_target_frames
+ {
+ items =
+ {
+ BMPANIM_FRAME { bmpid = EMbmTouchscreencalibQgn_graf_screencalib_1;
+ maskid = EMbmTouchscreencalibQgn_graf_screencalib_1_mask; },
+ BMPANIM_FRAME { bmpid = EMbmTouchscreencalibQgn_graf_screencalib_2;
+ maskid = EMbmTouchscreencalibQgn_graf_screencalib_2_mask; },
+ BMPANIM_FRAME { bmpid = EMbmTouchscreencalibQgn_graf_screencalib_3;
+ maskid = EMbmTouchscreencalibQgn_graf_screencalib_3_mask; },
+ BMPANIM_FRAME { bmpid = EMbmTouchscreencalibQgn_graf_screencalib_4;
+ maskid = EMbmTouchscreencalibQgn_graf_screencalib_4_mask; },
+ BMPANIM_FRAME { bmpid = EMbmTouchscreencalibQgn_graf_screencalib_5;
+ maskid = EMbmTouchscreencalibQgn_graf_screencalib_5_mask; }
+ };
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/data/TouchScreenCalib_reg.rss Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2006 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: RSS for creating the registration file for TouchScreenCalib.
+*
+*/
+
+
+#include <appinfo.rh>
+
+UID2 KUidAppRegistrationResourceFile
+UID3 0x102828BC // application UID
+RESOURCE APP_REGISTRATION_INFO
+ {
+ app_file="TouchScreenCalib"; // filename of application binary (minus extension)
+ hidden = KAppIsHidden;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/group/TouchScreenCalib.mmp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2006 - 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is project specification file for the TouchScreenCalib.
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET touchscreencalib.exe
+TARGETTYPE exe
+UID 0x0 0x102828BC
+EPOCSTACKSIZE 0x5000
+
+VENDORID VID_DEFAULT
+CAPABILITY CAP_APPLICATION
+
+SOURCEPATH ../src
+
+SOURCE TouchScreenCalibApplication.cpp
+SOURCE TouchScreenCalibAppUi.cpp
+SOURCE TouchScreenCalibDocument.cpp
+SOURCE TouchScreenCalibView.cpp
+SOURCE TouchScreenCalibPubSubObserver.cpp
+SOURCE TouchScreenCalibSubscriber.cpp
+
+START RESOURCE ../data/TouchScreenCalib.rss
+TARGETPATH APP_RESOURCE_DIR
+HEADER
+LANGUAGE_IDS
+END // RESOURCE
+
+START RESOURCE ../data/TouchScreenCalib_anim.rss
+HEADER
+TARGETPATH APP_RESOURCE_DIR
+END // RESOURCE
+
+START RESOURCE ../data/TouchScreenCalib_reg.rss
+HEADER
+TARGETPATH /private/10003a3f/apps
+END
+
+USERINCLUDE . ../inc ../data
+USERINCLUDE ../../inc
+APP_LAYER_SYSTEMINCLUDE
+
+LIBRARY euser.lib
+LIBRARY apparc.lib
+LIBRARY cone.lib
+LIBRARY avkon.lib
+LIBRARY eikdlg.lib
+LIBRARY eikcore.lib
+LIBRARY efsrv.lib
+LIBRARY fbscli.lib
+LIBRARY commonengine.lib //use of SharedData
+LIBRARY ws32.lib
+LIBRARY aknnotify.lib //AknGlobalNote
+LIBRARY apgrfx.lib //
+LIBRARY egul.lib //DrawUtils
+LIBRARY bafl.lib
+LIBRARY aknskins.lib //for skin background
+LIBRARY cdlengine.lib //for scalable ui
+LIBRARY gdi.lib
+LIBRARY aknlayout2scalable.lib
+LIBRARY aknicon.lib
+LIBRARY centralrepository.lib
+LIBRARY starterclient.lib //use of Starter to remove splash screen
+LIBRARY touchfeedback.lib
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/group/bld.inf Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2006 - 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This file provides the information required for building the
+* whole of a TouchScreenCalib.
+*
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+../loc/touchscreencalib.loc APP_LAYER_LOC_EXPORT_PATH(touchscreencalib.loc)
+../rom/TouchScreenCalib.iby CORE_APP_LAYER_IBY_EXPORT_PATH(touchscreencalib.iby)
+../rom/TouchScreenCalib_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(touchscreencalib_variant.iby)
+../rom/TouchScreenCalibResources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(touchscreencalibresources.iby)
+../PubSub/touchscprivatepskeys.h |../../inc/touchscprivatepskeys.h
+
+PRJ_MMPFILES
+
+TouchScreenCalib.mmp
+../tscstartupextensionplugin/group/tscstartupextensionplugin.mmp
+../tsccustcmds/group/tsccustcmds.mmp
+
+PRJ_EXTENSIONS
+
+START EXTENSION s60/mifconv
+OPTION TARGETFILE touchscreencalib.mif
+OPTION HEADERFILE touchscreencalib.mbg
+OPTION SOURCES -c16,8 Qgn_graf_screencalib \
+ -c16,8 Qgn_graf_screencalib_1 \
+ -c16,8 Qgn_graf_screencalib_2 \
+ -c16,8 Qgn_graf_screencalib_3 \
+ -c16,8 Qgn_graf_screencalib_4 \
+ -c16,8 Qgn_graf_screencalib_5
+END
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/group/touchscreencalib_icons.mk Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,75 @@
+#
+# Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0""
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: Icons makefile for project touchscreencalib
+#
+
+ifeq (WINS,$(findstring WINS, $(PLATFORM)))
+ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
+else
+ZDIR=\epoc32\data\z
+endif
+
+# ----------------------------------------------------------------------------
+# : Configure these
+# ----------------------------------------------------------------------------
+
+TARGETDIR=$(ZDIR)\resource\apps
+HEADERDIR=\epoc32\include
+ICONTARGETFILENAME=$(TARGETDIR)\touchscreencalib.mif
+HEADERFILENAME=$(HEADERDIR)\touchscreencalib.mbg
+
+do_nothing :
+ @rem do_nothing
+
+MAKMAKE : do_nothing
+
+BLD : do_nothing
+
+CLEAN : do_nothing
+
+LIB : do_nothing
+
+CLEANLIB : do_nothing
+
+# ----------------------------------------------------------------------------
+# : Configure these.
+#
+# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
+# MifConv if the mask detph is defined.
+#
+# NOTE 2: Usually, source paths should not be included in the bitmap
+# definitions. MifConv searches for the icons in all icon directories in a
+# predefined order, which is currently \s60\icons, \s60\bitmaps2.
+# The directory \s60\icons is included in the search only if the feature flag
+# __SCALABLE_ICONS is defined.
+# ----------------------------------------------------------------------------
+
+RESOURCE :
+ mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
+ /c16,8 Qgn_graf_screencalib \
+ /c16,8 Qgn_graf_screencalib_1 \
+ /c16,8 Qgn_graf_screencalib_2 \
+ /c16,8 Qgn_graf_screencalib_3 \
+ /c16,8 Qgn_graf_screencalib_4 \
+ /c16,8 Qgn_graf_screencalib_5
+
+FREEZE : do_nothing
+
+SAVESPACE : do_nothing
+
+RELEASABLES :
+ @echo $(HEADERFILENAME)&& \
+ @echo $(ICONTARGETFILENAME)
+
+FINAL : do_nothing
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/inc/MTouchScreenCalibPropertyResponder.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Interface of Touch screen calibration property change obsever
+*
+*/
+
+
+#ifndef MTOUCHSCREENCALIBPROPERTYRESPONDER_H
+#define MTOUCHSCREENCALIBPROPERTYRESPONDER_H
+
+// INCLUDES
+#include <e32base.h>
+
+class MTouchScreenCalibPropertyResponder
+ {
+public:
+ virtual void HandlePropertyChangedL( const TUid& aCategory, TUint aKey ) = 0;
+ };
+#endif //MTOUCHSCREENCALIBPROPERTYRESPONDER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/inc/TouchScreenCalibAppUi.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,202 @@
+/*
+* Copyright (c) 2006 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: AppUi class of the application.
+*
+*/
+
+
+#ifndef TOUCHSCREENCALIBAPPUI_H
+#define TOUCHSCREENCALIBAPPUI_H
+
+// SYSTEM INCLUDES
+#include <aknappui.h>
+#include <coecntrl.h>
+#include <StringLoader.h>
+#include <aknPopup.h>
+#include <aknlists.h>
+#include <badesca.h>
+#include <AknDef.h>
+#include <e32hal.h>
+
+// CONSTANTS
+const TInt KConvertGetCase = 0;
+const TInt KConvertSaveCase = 1;
+
+const TInt KUnknownOrientation = 0;
+const TInt KPortraitOrientation = 1;
+const TInt KLandscapeOrientation = 2;
+
+// FORWARD DECLARATIONS
+class TTouchScreenCalibLayout
+ {
+public:
+ TAknLayoutRect iAnimImageLayout1;
+ TAknLayoutRect iAnimImageLayout2;
+ TAknLayoutRect iAnimImageLayout3;
+ TAknLayoutRect iAnimImageLayout4;
+ };
+
+class CTouchScreenCalibView;
+class CTouchScreenCalibPubSubObserver;
+/**
+* 'AppUi' class.
+*
+*/
+class CTouchScreenCalibAppUi : public CAknAppUi, CCoeControl
+{
+ public: // Constructors and destructor
+
+ /**
+ * C++ default constructor.
+ */
+ CTouchScreenCalibAppUi();
+
+ /**
+ * Destructor.
+ */
+ ~CTouchScreenCalibAppUi();
+
+ // from CCoeAppUiBase
+ void PrepareToExit();
+
+ /**
+ * Handles key events
+ * @param TKeyEvent key event
+ * @param TEventCode event code
+ * @since S60 3.2
+ */
+ void HandleKeyL( const TKeyEvent& aKeyEvent, TEventCode aType );
+
+ /**
+ * Handles pointer events
+ * @param TPoint co-ordinates
+ * @since S60 3.2
+ */
+ void HandlePointerL( TPoint aPos );
+
+ /**
+ * Check current point number
+ * @since S60 3.2
+ * @return TInt, point number
+ */
+ TInt GetCalibrationStep();
+
+ /**
+ * Get rect of current tap animation or image
+ * @since S60 3.2
+ * @param TInt, point number
+ * @return TRect, animation or image rect.
+ */
+ TRect GetAnimImageRect(TInt aPointNumber = 0);
+
+ /**
+ * From CAknAppUi, called when screen layout changes
+ */
+ void HandleScreenDeviceChangedL();
+
+ /**
+ * Check if first boot is going on
+ * @since S60 3.2
+ * @return. ETrue if first boot, otherwise EFalse
+ */
+ TBool FirstBoot();
+
+ protected:
+ /*
+ * Handles changes to the application when it
+ * switches to or from the foreground.
+ */
+ virtual void HandleForegroundEventL(TBool aForeground);
+
+ private:
+ /**
+ * EPOC default constructor.
+ */
+ void ConstructL();
+
+ /**
+ * Update display
+ * @since S60 3.2
+ */
+ void UpdateL();
+
+ /**
+ * Checks layout orientation
+ * @since S60 3.2
+ * @return TBool. ETrue if orientation same in driver native level and window level
+ */
+ TBool IsCorrectOrientation(TRect aRect);
+
+ /**
+ * Convert calibration or tapped points to different layout orientation
+ * @since S60 3.2
+ * @param Points
+ * @param Convert case.
+ * @return Calibration points. KConvertGetCase or KConvertSaveCase.
+ */
+ TDigitizerCalibration ConvertToCorrectOrientation(TDigitizerCalibration aPoints,
+ TInt aConvertCase);
+ /**
+ * Get calibration points
+ * @since S60 3.2
+ * @return Calibration points
+ */
+ TDigitizerCalibration CalibrationPoints();
+
+ /**
+ * Change to next calibration point
+ * @since S60 3.2
+ */
+ void NextCalibrationStepL();
+
+ /**
+ * Saves calibration
+ * @since S60 3.2
+ */
+ void SaveCalibration();
+
+ /**
+ * Restart calibration at first point
+ * @since S60 3.2
+ */
+ void ResetCalibrationStepsL();
+
+ /**
+ * Sets tap points to 0 values
+ * @since S60 3.2
+ */
+ void ResetTapPoints();
+
+ TDigitizerCalibration ChangeOrientation(TDigitizerCalibration aSourcePoints,
+ TPoint aDestReso);
+
+
+ void SetOrientation();
+
+ private: //Data
+ CTouchScreenCalibView* iTouchScreenCalibView; //owns
+ CTouchScreenCalibPubSubObserver* iTouchScreenCalibPubSubObserver; //owns
+ TDigitizerCalibration iCalibrationPoints;
+ TDigitizerCalibration iTapPoints;
+ TInt iCurrentCalibrationStep;
+ TBool iExitting;
+ TTouchScreenCalibLayout iTouchScreenCalibLayout;
+ TBool iCalibrationDone;
+ TInt iNativeOrientation;
+ TBool iCalibrationCancel;
+};
+
+#endif // TOUCHSCREENCALIBAPPUI_H
+
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/inc/TouchScreenCalibApplication.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Application class of the module.
+*
+*/
+
+
+
+#ifndef TOUCHSCREENCALIBAPPLICATION_H
+#define TOUCHSCREENCALIBAPPLICATION_H
+
+// SYSTEM INCLUDES
+#include <aknapp.h>
+
+// CONSTANTS
+const TUid KUidTouchScreenCalib = { 0x102828BC };
+
+// CLASS DECLARATION
+
+/**
+* CTouchScreenCalibApp application class.
+*/
+class CTouchScreenCalibApplication : public CAknApplication
+ {
+ private: // from CApaApplication
+ /**
+ * Create CTouchScreenCalibDocument document object.
+ */
+ CApaDocument* CreateDocumentL();
+
+ /**
+ * Return KUidTouchScreenCalib.
+ */
+ TUid AppDllUid() const;
+ };
+
+#endif // TOUCHSCREENCALIBAPPLICATION_H
+
+// End of file
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/inc/TouchScreenCalibDefines.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Includes some common defines used in the TouchScreenCalib application
+*
+*/
+
+
+#ifndef TOUCHSCREENCALIBDEFINES_H
+#define TOUCHSCREENCALIBDEFINES_H
+
+//CONSTANTS
+_LIT( KTouchScreenCalibAppName, "TouchScreenCalib" );
+
+// MACROS
+
+#define PANIC(aPanic) User::Panic( KTouchScreenCalibAppName, aPanic )
+
+#define TRACE_ADDPREFIX(aText) (TPtrC((const TText *)L"TouchScreenCalibApp: \"" L##aText L"\""))
+
+#ifdef _DEBUG
+#define TRACES(aMsg) RDebug::Print( TRACE_ADDPREFIX(aMsg) )
+#define TRACES1(aFormat,aP1) RDebug::Print( TRACE_ADDPREFIX(aFormat),(aP1) )
+#define TRACES2(aFormat,aP1,aP2) RDebug::Print( TRACE_ADDPREFIX(aFormat),(aP1),(aP2) )
+#define TRACES3(aFormat,aP1,aP2,aP3) RDebug::Print( TRACE_ADDPREFIX(aFormat),(aP1),(aP2),(aP3) )
+#else
+#define TRACES(aMsg)
+#define TRACES1(aFormat,aP1)
+#define TRACES2(aFormat,aP1,aP2)
+#define TRACES3(aFormat,aP1,aP2,aP3)
+#endif
+#endif // TOUCHSCREENCALIBDEFINES_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/inc/TouchScreenCalibDocument.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Document class of the module.
+*
+*/
+
+
+
+#ifndef TOUCHSCREENCALIBDOCUMENT_H
+#define TOUCHSCREENCALIBDOCUMENT_H
+
+// SYSTEM INCLUDES
+#include <AknDoc.h>
+
+// FORWARD DECLARATIONS
+class CEikAppUi;
+
+// CLASS DECLARATION
+
+/**
+* CTouchScreenCalibDocument application class.
+*/
+class CTouchScreenCalibDocument : public CAknDocument
+{
+ public:
+
+ /**
+ * C++ default constructor.
+ */
+ CTouchScreenCalibDocument(CEikApplication& aApp): CAknDocument(aApp) { }
+
+ /**
+ * Two-phased constructor.
+ */
+ static CTouchScreenCalibDocument* NewL(CEikApplication& aApp);
+
+ /**
+ * Destructor.
+ */
+ virtual ~CTouchScreenCalibDocument();
+
+ private:
+ /**
+ * EPOC default constructor.
+ */
+ void ConstructL();
+
+ /**
+ * This method makes an application hidden so that it is not visible
+ * for example in Applications list and FastSwap window.
+ * @param CApaWindowGroupName* aWgName
+ * @return void
+ */
+ void UpdateTaskNameL( CApaWindowGroupName* aWgName );
+
+ private:// from CEikDocument
+
+ /**
+ * Create CTouchScreenCalibAppUi object.
+ */
+ CEikAppUi* CreateAppUiL();
+
+ private:// data
+
+};
+
+#endif
+
+//End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/inc/TouchScreenCalibPubSubObserver.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2007 - 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This class the handles the received indications from the Public and
+* Subscribe.
+*
+*/
+
+
+#ifndef TOUCHSCREENCALIBPUBSUBOBSERVER_H
+#define TOUCHSCREENCALIBPUBSUBOBSERVER_H
+
+// INCLUDES
+#include <e32property.h>
+#include "MTouchScreenCalibPropertyResponder.h"
+#include "TouchScreenCalibAppUi.h"
+
+// CLASS DECLARATION
+class CTouchScreenCalibAppUi;
+class CTouchScreenCalibSubscriber;
+
+class CTouchScreenCalibPubSubObserver : public CBase, public MTouchScreenCalibPropertyResponder
+ {
+ public: // Constructors and destructor
+
+ /**
+ * C++ constructor.
+ */
+ CTouchScreenCalibPubSubObserver( CTouchScreenCalibAppUi* aTouchScreenCalibAppUi );
+
+ /**
+ * Two-phased constructor.
+ */
+ static CTouchScreenCalibPubSubObserver* NewL( CTouchScreenCalibAppUi* aTouchScreenCalibAppUi );
+
+ /**
+ * Destructor.
+ */
+ ~CTouchScreenCalibPubSubObserver();
+
+ private:
+
+ /**
+ * By default EPOC constructor is private.
+ */
+ void ConstructL();
+
+ CTouchScreenCalibPubSubObserver();
+
+ protected: // From MTouchScreenCalibPropertyResponder
+
+ void HandlePropertyChangedL( const TUid& aCategory, TUint aKey );
+
+ private: // Data
+ //reference to application class
+ CTouchScreenCalibAppUi* iTouchScreenCalibAppUi; //uses
+ RProperty iProperty;
+ CTouchScreenCalibSubscriber* iGlobalSWStateSubscriber;
+ CTouchScreenCalibSubscriber* iTsyCallState;
+ };
+
+#endif // TOUCHSCREENCALIBPUBSUBOBSERVER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/inc/TouchScreenCalibSubscriber.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: TouchScreenCalibSubscriber (Publish & Subscribe).
+*
+*/
+
+
+#ifndef TOUCHSCREENCALIBSUBSCRIBER_H
+#define TOUCHSCREENCALIBSUBSCRIBER_H
+
+// INCLUDES
+#include <e32base.h>
+#include <e32property.h>
+#include "MTouchScreenCalibPropertyResponder.h"
+
+// CLASS DECLARATION
+/**
+* CTouchScreenCalibSubscriber
+*
+* @lib
+* @since 3.2
+*/
+
+class CTouchScreenCalibSubscriber : public CActive
+{
+public:
+ /**
+ * Two-phased constructor.
+ */
+ static CTouchScreenCalibSubscriber* NewL( MTouchScreenCalibPropertyResponder& aTouchScreenCalibPropertyResponder,
+ const TUid& aCategory,
+ TUint aKey );
+
+ /**
+ * Destructor.
+ */
+ ~CTouchScreenCalibSubscriber();
+
+ void Subscribe();
+
+private:
+ CTouchScreenCalibSubscriber( MTouchScreenCalibPropertyResponder& aTouchScreenCalibPropertyResponder,
+ const TUid& aCategory, TUint
+ aKey );
+ void ConstructL();
+
+public: // from CActive
+ /**
+ * @param none
+ * @return none
+ */
+ void RunL();
+
+ /**
+ * @param aError the error returned
+ * @return error
+ */
+ TInt RunError( TInt aError );
+
+ /**
+ * @param none
+ * @return none
+ */
+ void DoCancel();
+
+private: // Methods not implemented
+ CTouchScreenCalibSubscriber( const CTouchScreenCalibSubscriber& ); // Copy constructor
+ CTouchScreenCalibSubscriber& operator=( const CTouchScreenCalibSubscriber& );// Assigment operator
+
+private:
+
+ MTouchScreenCalibPropertyResponder& iTouchScreenCalibPropertyResponder;
+ RProperty iProperty;
+ TUid iCategory;
+ TUint iKey;
+};
+
+#endif // TOUCHSCREENCALIBSUBSCRIBER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/inc/TouchScreenCalibView.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,215 @@
+/*
+* Copyright (c) 2006 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This class is the container class of the CTouchScreenCalibView.
+* Is used to show tap target animation.
+*
+*/
+
+
+
+#ifndef TOUCHSCREENCALIBVIEW_H
+#define TOUCHSCREENCALIBVIEW_H
+
+// SYSTEM INCLUDES
+#include <coecntrl.h>
+#include <data_caging_path_literals.hrh>
+
+#include <touchfeedback.h>
+// USER INCLUDES
+#include "TouchScreenCalibAppUi.h"
+
+// CONSTANTS
+
+// FORWARD DECLARATIONS
+class TCalibAnimImageRect
+ {
+public:
+ TRect iAnimImageRect1;
+ TRect iAnimImageRect2;
+ TRect iAnimImageRect3;
+ TRect iAnimImageRect4;
+ };
+
+class CTouchScreenCalibAppUi;
+class CAknBitmapAnimation;
+
+// CLASS DECLARATION
+
+/**
+* This class takes care of showing welcome animatio to the user.
+*/
+class CTouchScreenCalibView : public CCoeControl , public MCoeControlObserver
+ {
+ public: // Constructors and destructor
+
+ /**
+ * C++ default constructor.
+ */
+ CTouchScreenCalibView( CTouchScreenCalibAppUi* aTouchScreenCalibAppUi );
+
+ /**
+ * Two-phased constructor.
+ */
+ static CTouchScreenCalibView* NewL( CTouchScreenCalibAppUi* aTouchScreenCalibAppUi );
+
+ /**
+ * Destructor
+ */
+ ~CTouchScreenCalibView();
+
+ /**
+ * This handles the key events in this control.
+ */
+ TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
+
+ /**
+ * Update UI
+ */
+ void UpdateL( TAknLayoutText aTextLayout );
+
+ /**
+ * Prepare to draw background for ending phase
+ */
+ void DrawEndingBackground();
+
+ /**
+ * Prepare to draw background for notes
+ */
+ void EndTargetAnimation();
+
+ /**
+ * This makes the animation module to stop showing animation.
+ */
+ void EndAnimation();
+
+ /**
+ *
+ */
+ void SetTextL(TAknLayoutText aTextLayout);
+
+ /**
+ *
+ */
+ void SetWinPriority(TInt aPriority);
+
+ private:
+
+ /**
+ * By default EPOC constructor is private.
+ */
+ void ConstructL();
+
+ CTouchScreenCalibView();
+
+ /**
+ * Is called when size is changed.
+ */
+ void SizeChanged();
+
+ /**
+ * Returns the count of the components in the container.
+ */
+ TInt CountComponentControls() const;
+
+ /**
+ * Returns the component specified by aIndex parameter.
+ */
+ CCoeControl* ComponentControl(TInt aIndex) const;
+
+ /**
+ * Handles the event of the control.
+ */
+ void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType);
+
+ /**
+ * Handles key events.
+ * @param aKeyEvent Event to be handled
+ * @param aType Type of the key event
+ * @return TKeyResponse
+ */
+ virtual TKeyResponse HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+
+ /**
+ * Handles pointer events
+ */
+ virtual void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+
+ /**
+ * Checks tapped point's validity
+ * @param TPoint co-ordinates
+ * @since S60 3.2
+ */
+ TBool Validate(TPoint aPos);
+
+ /**
+ * Draw white background
+ * @since S60 3.2
+ */
+ void DrawBackground() const;
+
+ /**
+ * Draw texts
+ * @since S60 3.2
+ */
+ void DrawText() const;
+
+ /**
+ * Draw inactive tap points
+ * @since S60 3.2
+ */
+ void ShowImage( TRect aRect ) const;
+
+ private: // Functions from base classes
+
+ /**
+ * From CCoeControl
+ */
+ void Draw( const TRect& aRect ) const;
+
+ protected: // Data
+
+ //Used for showing animation
+ CAknBitmapAnimation *iAnim; //owns
+
+ CFbsBitmap *iBitmap;
+ CFbsBitmap *iBitmapMask;
+
+ CTouchScreenCalibAppUi* iTouchScreenCalibAppUi; //uses
+
+ //used for telling when the animation is showing
+ TBool iAnimationShowing;
+
+ //used for telling if animation is cancelled by user.
+ TBool iAnimationCancelled;
+
+ const CFont* iFont; // not owned
+
+ CArrayPtr<HBufC>* iText;
+
+
+ TCalibAnimImageRect iAnimImageRect;
+
+ TPoint iTextTopLeft;
+ TSize iTextSize;
+ TInt iTextBaselineOffset;
+ TRgb iTextColor;
+ CGraphicsContext::TTextAlign iTextAlignment;
+ TBool iCalibrationCompleted;
+ MTouchFeedback* iTouchFeedback;
+ };
+
+#endif // TOUCHSCREENCALIBVIEW_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/loc/touchscreencalib.loc Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Localization strings for TouchScreenCalib
+*
+*/
+
+
+// LOCALISATION STRINGS
+
+//d:Asks user to tap center of the target with stylus.
+//l:main_touch_calib_pane_t1
+//w:
+//r:3.2
+//
+#define qtn_touch_screen_cali_instr_gen "Touch screen calibration step %N of 4: Use stylus to tap center of target."
+
+//d:Used to tell user that pressing Send key cancels calibration and exits application.
+//d:This is used when TouchScreenCalib application is started from General Settings by user.
+//l:main_touch_calib_pane_t2
+//w:
+//r:3.2
+//
+#define qtn_touch_screen_cali_instr_can "To cancel press Send key."
+
+//d:Used to tell user that pressing Send key resets calibration and calibration
+//d:begins again from point 1. This is used when TouchScreenCalib application is
+//d:started when the phone is starter for the first time.
+//l:main_touch_calib_pane_t2
+//w:
+//r:3.2
+//
+#define qtn_touch_screen_cali_instr_res "To start again from point 1 press Send key."
+
+//d:This Information Note is displayed if user cancels calibration with Send key press.
+//l:popup_note_window/opt2
+//w:
+//r:5.0
+//
+#define qtn_touch_screen_cali_cancel "Calibration cancelled."
+
+//d:This Confirmation Note is dipslayed when calibration is done succesfully.
+//l:popup_note_window/opt2
+//w:
+//r:3.2
+//
+#define qtn_touch_screen_cali_done "Calibration successful!"
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/rom/TouchScreenCalib.iby Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This class is a part of the standard application framework.
+* The application gets instantiated starting from this class.
+* Provides a factory method for instantiating the document object.
+*
+*/
+#ifndef __TOUCHSCREENCALIB_IBY__
+#define __TOUCHSCREENCALIB_IBY__
+
+#if defined (__PEN_SUPPORT) && defined(__PEN_SUPPORT_CALIBRATION)
+S60_APP_EXE(TouchScreenCalib)
+S60_APP_AIF_RSC(TouchScreenCalib)
+#endif
+#if ( defined FF_TOUCHSCREENCALIB_IN_STARTUP && defined __PEN_SUPPORT && defined __PEN_SUPPORT_CALIBRATION )
+ECOM_PLUGIN( tscstartupextensionplugin.dll, tscstartupextensionplugin.rsc )
+file=ABI_DIR\BUILD_DIR\tsccustcmds.dll SHARED_LIB_DIR\tsccustcmds.dll
+#endif //FF_TOUCHSCREENCALIB_IN_STARTUP
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/rom/TouchScreenCalibResources.iby Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This class is a part of the standard application framework.
+* The application gets instantiated starting from this class.
+* Provides a factory method for instantiating the document object.
+*
+*/
+
+#ifndef __TOUCHSCREENCALIB_RESOURCES_IBY__
+#define __TOUCHSCREENCALIB_RESOURCES_IBY__
+
+#if defined (RD_SCALABLE_UI_V2) && defined(__PEN_SUPPORT) && defined(__PEN_SUPPORT_CALIBRATION)
+S60_APP_RESOURCE(TouchScreenCalib)
+#endif
+
+#endif
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/rom/TouchScreenCalib_variant.iby Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This class is a part of the standard application framework.
+* The application gets instantiated starting from this class.
+* Provides a factory method for instantiating the document object.
+*
+*/
+
+#ifndef __TOUCHSCREENCALIB_VARIANT_IBY__
+#define __TOUCHSCREENCALIB_VARIANT_IBY__
+
+#if defined (RD_SCALABLE_UI_V2) && defined(__PEN_SUPPORT) && defined(__PEN_SUPPORT_CALIBRATION)
+SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,TouchScreenCalib)
+S60_APP_RESOURCE(TouchScreenCalib_anim)
+#endif
+
+#endif
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/src/TouchScreenCalibAppUi.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,722 @@
+/*
+* Copyright (c) 2006 - 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: AppUi class of the application.
+*
+*/
+
+
+// SYSTEM INCLUDES
+#include <aknnotewrappers.h>
+#include <touchscreencalib.rsg>
+#include <e32property.h>
+#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
+#include "touchscprivatepskeys.h"
+#else //RD_STARTUP_ANIMATION_CUSTOMIZATION
+#include <StartupAppInternalPSKeys.h>
+#endif //RD_STARTUP_ANIMATION_CUSTOMIZATION
+#include <aknlayoutscalable_apps.cdl.h>
+#include <layoutmetadata.cdl.h>
+#include <centralrepository.h>
+#include <starterdomaincrkeys.h>
+#include <starterclient.h> //used for RemoveSplashScreen
+
+// USER INCLUDES
+#include "TouchScreenCalibApplication.h"
+#include "TouchScreenCalibAppUi.h"
+#include "TouchScreenCalibDefines.h"
+#include "TouchScreenCalibDocument.h"
+#include "TouchScreenCalibView.h"
+#include "TouchScreenCalibPubSubObserver.h"
+
+// CONSTANTS
+
+_LIT_SECURITY_POLICY_C1(KReadDeviceDataPolicy, ECapabilityReadDeviceData);
+_LIT_SECURITY_POLICY_C1(KWriteDeviceDataPolicy, ECapabilityWriteDeviceData);
+
+// ================= MEMBER FUNCTIONS =======================
+//
+// ----------------------------------------------------
+// CTouchScreenCalibAppUi::CTouchScreenCalibAppUi()
+// ----------------------------------------------------
+CTouchScreenCalibAppUi::CTouchScreenCalibAppUi():
+ iTouchScreenCalibPubSubObserver( NULL ),
+ iCurrentCalibrationStep( 0 ),
+ iExitting( EFalse ),
+ iCalibrationDone( EFalse ),
+ iCalibrationCancel( EFalse )
+ {
+ TRACES("CTouchScreenCalibAppUi::CTouchScreenCalibAppUi");
+ iNativeOrientation = KUnknownOrientation;
+ }
+
+// ----------------------------------------------------
+// CTouchScreenCalibAppUi::ConstructL()
+// ----------------------------------------------------
+void CTouchScreenCalibAppUi::ConstructL()
+ {
+ TRACES("CTouchScreenCalibAppUi::ConstructL()");
+ TInt flags = EStandardApp|EAknEnableSkin;
+
+ BaseConstructL(flags);
+
+#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
+ RProperty::Define(KPSUidTouchScreenCalibration,
+#else //RD_STARTUP_ANIMATION_CUSTOMIZATION
+ RProperty::Define(KPSUidStartup,
+#endif //RD_STARTUP_ANIMATION_CUSTOMIZATION
+ KPSTouchScreenCalibration,
+ RProperty::EInt,
+ KReadDeviceDataPolicy,
+ KWriteDeviceDataPolicy );
+
+ // Clearing the calibration before doing the actual calibration
+ TDigitizerCalibrationType caltype = EFactory;
+ UserHal::RestoreXYInputCalibration(caltype);
+ ResetTapPoints();
+
+// SetOrientation();
+
+ iCalibrationPoints = CalibrationPoints();
+
+ // Set TSC application to be system application
+ CEikonEnv& eikEnv = *CEikonEnv::Static();
+ eikEnv.SetSystem( ETrue );
+
+ iTouchScreenCalibLayout.iAnimImageLayout1.LayoutRect(Rect(),AknLayoutScalable_Apps::main_touch_calib_pane_g1().LayoutLine());
+ iTouchScreenCalibLayout.iAnimImageLayout2.LayoutRect(Rect(),AknLayoutScalable_Apps::main_touch_calib_pane_g2().LayoutLine());
+ iTouchScreenCalibLayout.iAnimImageLayout3.LayoutRect(Rect(),AknLayoutScalable_Apps::main_touch_calib_pane_g3().LayoutLine());
+ iTouchScreenCalibLayout.iAnimImageLayout4.LayoutRect(Rect(),AknLayoutScalable_Apps::main_touch_calib_pane_g4().LayoutLine());
+
+ iTouchScreenCalibView = CTouchScreenCalibView::NewL( this );
+ AddToStackL( iTouchScreenCalibView );
+
+ iTouchScreenCalibView->SetWinPriority(0);
+ // Disable priority changes of window server
+ eikEnv.WsSession().ComputeMode( RWsSession::EPriorityControlDisabled );
+
+ UpdateL();
+
+ iTouchScreenCalibPubSubObserver = CTouchScreenCalibPubSubObserver::NewL( this );
+
+ if (FirstBoot())
+ {
+ TRACES("CTouchScreenCalibAppUi::ConstructL(): First boot ongoing");
+ TRACES("CTouchScreenCalibAppUi::ConstructL(): Connect to Starter");
+ RStarterSession startersession;
+ if( startersession.Connect() == KErrNone )
+ {
+ TRACES("CTouchScreenCalibAppUi::ConstructL(): Connected to Starter");
+ startersession.EndSplashScreen();
+ TRACES("CTouchScreenCalibAppUi::ConstructL(): Splash screen removed");
+ startersession.Close();
+ }
+ }
+ NextCalibrationStepL();
+
+ TRACES("CTouchScreenCalibAppUi::ConstructL(): End");
+ }
+
+// ----------------------------------------------------
+// CTouchScreenCalibAppUi::~CTouchScreenCalibAppUi()
+// ----------------------------------------------------
+CTouchScreenCalibAppUi::~CTouchScreenCalibAppUi()
+ {
+ TRACES("CTouchScreenCalibAppUi::~CTouchScreenCalibAppUi()");
+ if (iTouchScreenCalibView)
+ {
+ TRACES("CTouchScreenCalibAppUi::~CTouchScreenCalibAppUi(): delete iTouchScreenCalibView");
+ RemoveFromStack( iTouchScreenCalibView );
+ delete iTouchScreenCalibView;
+ }
+ if (iTouchScreenCalibPubSubObserver)
+ {
+ TRACES("CTouchScreenCalibAppUi::~CTouchScreenCalibAppUi(): delete iTouchScreenCalibPubSubObserver");
+ delete iTouchScreenCalibPubSubObserver;
+ }
+ TRACES("CTouchScreenCalibAppUi::~CTouchScreenCalibAppUi(): End");
+ }
+
+// ----------------------------------------------------
+// CTouchScreenCalibAppUi::NextCalibrationStepL()
+// ----------------------------------------------------
+void CTouchScreenCalibAppUi::NextCalibrationStepL()
+ {
+ TRACES("CTouchScreenCalibAppUi::NextCalibrationStepL()");
+ TRACES2("CTouchScreenCalibAppUi::NextCalibrationStepL(): TapPoint1: %d %d",iTapPoints.iTl.iX, iTapPoints.iTl.iY);
+ TRACES2("CTouchScreenCalibAppUi::NextCalibrationStepL(): TapPoint2: %d %d",iTapPoints.iTr.iX, iTapPoints.iTr.iY);
+ TRACES2("CTouchScreenCalibAppUi::NextCalibrationStepL(): TapPoint3: %d %d",iTapPoints.iBr.iX, iTapPoints.iBr.iY);
+ TRACES2("CTouchScreenCalibAppUi::NextCalibrationStepL(): TapPoint4: %d %d",iTapPoints.iBl.iX, iTapPoints.iBl.iY);
+ iCurrentCalibrationStep++;
+ TRACES1("CTouchScreenCalibAppUi::NextCalibrationStepL(): CurrentCalibrationStep: %d",iCurrentCalibrationStep);
+
+ if (iCurrentCalibrationStep > 4)
+ {
+ TRACES("CTouchScreenCalibAppUi::NextCalibrationStepL(): Calibration succesfully completed. Save it and exit application.");
+ SaveCalibration();
+ iCalibrationDone = ETrue;
+
+ iTouchScreenCalibView->EndTargetAnimation();
+ iTouchScreenCalibView->SetWinPriority(ECoeWinPriorityNormal);
+ TRACES("CTouchScreenCalibAppUi::NextCalibrationStepL(): Show 'Calibration Done' note");
+ HBufC* noteText = CEikonEnv::Static()->AllocReadResourceLC(R_QTN_TOUCH_SCREEN_CALI_DONE );
+ CAknInformationNote* note =
+ new( ELeave ) CAknInformationNote( ETrue );
+ note->ExecuteLD( *noteText );
+ CleanupStack::PopAndDestroy( noteText );
+ if ( FirstBoot() )
+ {
+ iTouchScreenCalibView->DrawEndingBackground();
+#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
+ RProperty::Set( KPSUidTouchScreenCalibration, KPSTouchScreenCalibration, ETouchScreenCalibrationOk );
+#else //RD_STARTUP_ANIMATION_CUSTOMIZATION
+ RProperty::Set( KPSUidStartup, KPSTouchScreenCalibration, ETouchScreenCalibrationOk );
+#endif //RD_STARTUP_ANIMATION_CUSTOMIZATION
+ iTouchScreenCalibView->SetWinPriority(0);
+ }
+ else
+ {
+ PrepareToExit();
+ }
+ }
+ else
+ {
+ TRACES("CTouchScreenCalibAppUi::NextCalibrationStepL(): Update next step.");
+ UpdateL();
+ }
+ TRACES("CTouchScreenCalibAppUi::NextCalibrationStepL(): End");
+ }
+
+// ----------------------------------------------------
+// CTouchScreenCalibAppUi::SaveCalibration()
+// ----------------------------------------------------
+void CTouchScreenCalibAppUi::SaveCalibration()
+ {
+ TRACES("CTouchScreenCalibAppUi::SaveCalibration()");
+
+ // Touch Screen driver supports only portrait orientation. If device is now in
+ // landscape mode, convert points to portrait.
+ TDigitizerCalibration tapPoints = ConvertToCorrectOrientation(iTapPoints,
+ KConvertSaveCase);
+ UserHal::SetXYInputCalibration(tapPoints);
+ TRACES("CTouchScreenCalibAppUi::SaveCalibration(): End");
+ }
+
+// ----------------------------------------------------
+// CTouchScreenCalibAppUi::ResetCalibrationStepsL()
+// ----------------------------------------------------
+void CTouchScreenCalibAppUi::ResetCalibrationStepsL()
+ {
+ iCurrentCalibrationStep = 0;
+ ResetTapPoints();
+ NextCalibrationStepL();
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibAppUi::HandleForegroundEventL(TBool aForeground)
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibAppUi::HandleForegroundEventL( TBool aForeground )
+ {
+ // call super-class first
+ CAknAppUi::HandleForegroundEventL( aForeground );
+ TRACES1("CTouchScreenCalibAppUi::HandleForegroundEventL( %d )", aForeground);
+ if ( aForeground )
+ {
+ // if we are coming to foreground
+ UpdateL();
+ }
+ else
+ {
+ if (!FirstBoot())
+ {
+ // Take old calibration in use
+ TDigitizerCalibrationType caltype = ESaved;
+ UserHal::RestoreXYInputCalibration(caltype);
+ PrepareToExit();
+ }
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibAppUi::HandleKeyL(const TKeyEvent& aKeyEvent, TEventCode /*aType*/ )
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibAppUi::HandleKeyL( const TKeyEvent& aKeyEvent, TEventCode /*aType*/ )
+ {
+ TRACES1("CTouchScreenCalibAppUi::HandleKeyL(): %d",aKeyEvent.iCode);
+
+ if (aKeyEvent.iCode == EKeyYes) //Send key
+ {
+ TRACES("CTouchScreenCalibAppUi::HandleKeyL(): Send Key");
+ if (FirstBoot()) // Restart calibration from step 1
+ {
+ TRACES("CTouchScreenCalibAppUi::HandleKey(): Go to first calibration step");
+ ResetCalibrationStepsL();
+ }
+ else// Show "Calibration cancelled" Information note.
+ {
+ TRACES("CTouchScreenCalibAppUi::HandleKeyL(): Show cancel note");
+ iCalibrationCancel = ETrue;
+
+ iTouchScreenCalibView->EndAnimation();
+ iTouchScreenCalibView->SetWinPriority(ECoeWinPriorityNormal);
+ HBufC* noteText = CEikonEnv::Static()->AllocReadResourceLC(R_QTN_TOUCH_SCREEN_CALI_CANCEL );
+ CAknInformationNote* note =
+ new( ELeave ) CAknInformationNote( ETrue );
+ note->ExecuteLD( *noteText );
+ CleanupStack::PopAndDestroy( noteText );
+
+ // Take old calibration in use
+ TDigitizerCalibrationType caltype = ESaved;
+ UserHal::RestoreXYInputCalibration(caltype);
+ PrepareToExit();
+ }
+ }
+ else if ( aKeyEvent.iCode == EKeyNo || aKeyEvent.iCode == EKeyApplication0
+ || ( aKeyEvent.iCode == EKeyNull && aKeyEvent.iScanCode == EStdKeyDevice7 ))
+ {
+ TRACES("CTouchScreenCalibAppUi::HandleKeyL(): End Key or App Key");
+ if (!FirstBoot())
+ {
+ // Take old calibration in use
+ TDigitizerCalibrationType caltype = ESaved;
+ UserHal::RestoreXYInputCalibration(caltype);
+ PrepareToExit();
+ }
+ }
+ TRACES("CTouchScreenCalibAppUi::HandleKeyL(): End");
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibAppUi::HandlePointerL()
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibAppUi::HandlePointerL( TPoint aPos )
+ {
+ TRACES("CTouchScreenCalibAppUi::HandlePointerL()");
+
+ switch(iCurrentCalibrationStep)
+ {
+ case 1:
+ TRACES("CTouchScreenCalibAppUi::HandlePointerL(): case 1");
+ iTapPoints.iTl.iX = aPos.iX;
+ iTapPoints.iTl.iY = aPos.iY;
+ break;
+ case 2:
+ TRACES("CTouchScreenCalibAppUi::HandlePointerL(): case 2");
+ iTapPoints.iTr.iX = aPos.iX;
+ iTapPoints.iTr.iY = aPos.iY;
+ break;
+ case 3:
+ TRACES("CTouchScreenCalibAppUi::HandlePointerL(): case 4");
+ iTapPoints.iBr.iX = aPos.iX;
+ iTapPoints.iBr.iY = aPos.iY;
+ break;
+ case 4:
+ TRACES("CTouchScreenCalibAppUi::HandlePointerL(): case 3");
+ iTapPoints.iBl.iX = aPos.iX;
+ iTapPoints.iBl.iY = aPos.iY;
+ break;
+ default:
+ TRACES("CTouchScreenCalibAppUi::HandlePointerL(): case default");
+ break;
+ }
+ TRACES("CTouchScreenCalibAppUi::HandlePointerL(): End: Continue calibration");
+ NextCalibrationStepL();
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibAppUi::PrepareToExit()
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibAppUi::PrepareToExit()
+ {
+ TRACES("CTouchScreenCalibAppUi::PrepareToExit()");
+ if (!iExitting)
+ {
+ iExitting = ETrue;
+ CEikAppUi::PrepareToExit();
+ Exit();
+ }
+ TRACES("CTouchScreenCalibAppUi::PrepareToExit(): End");
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibAppUi::ResetTapPoints()
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibAppUi::ResetTapPoints()
+ {
+ TRACES("CTouchScreenCalibAppUi::ResetTapPoints()");
+ iTapPoints.iTl.iX = 0;
+ iTapPoints.iTl.iY = 0;
+ iTapPoints.iTr.iX = 0;
+ iTapPoints.iTr.iY = 0;
+ iTapPoints.iBr.iX = 0;
+ iTapPoints.iBr.iY = 0;
+ iTapPoints.iBl.iX = 0;
+ iTapPoints.iBl.iY = 0;
+ TRACES("CTouchScreenCalibAppUi::ResetTapPoints(): End");
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibAppUi::UpdateL()
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibAppUi::UpdateL()
+ {
+ TRACES("CTouchScreenCalibAppUi::UpdateL()");
+ TRACES1("CTouchScreenCalibAppUi::UpdateL(): iCurrentCalibrationStep: %d",iCurrentCalibrationStep);
+
+ TAknLayoutText textLayout;
+ textLayout.LayoutText(TRect(), AknLayoutScalable_Apps::main_touch_calib_pane_t1().LayoutLine());
+
+ TRACES2("CTouchScreenCalibAppUi::UpdateL(): Text rect top: X:%d Y:%d",textLayout.TextRect().iTl.iX, textLayout.TextRect().iTl.iY);
+ TRACES2("CTouchScreenCalibAppUi::UpdateL(): Text rect:bottom: X:%d Y:%d",textLayout.TextRect().iBr.iX, textLayout.TextRect().iBr.iY);
+
+ iTouchScreenCalibView->UpdateL(textLayout);
+
+ TRACES("CTouchScreenCalibAppUi::UpdateL(): End");
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibAppUi::GetCalibrationStep()
+// ---------------------------------------------------------------------------
+TInt CTouchScreenCalibAppUi::GetCalibrationStep()
+ {
+ return iCurrentCalibrationStep;
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibAppUi::GetAnimImageRect()
+// ---------------------------------------------------------------------------
+TRect CTouchScreenCalibAppUi::GetAnimImageRect(TInt aPointNumber)
+ {
+ TRACES1("CTouchScreenCalibAppUi::GetAnimImageRect(%d)", aPointNumber);
+ TRect rect;
+ TInt width(0);
+ TInt height(0);
+
+ // If aPointNumber is 0, return current calibration point.
+ if (aPointNumber == 0)
+ {
+ aPointNumber = GetCalibrationStep();
+ }
+
+ switch (aPointNumber)
+ {
+ case 1:
+ width = iTouchScreenCalibLayout.iAnimImageLayout1.Rect().iBr.iX -
+ iTouchScreenCalibLayout.iAnimImageLayout1.Rect().iTl.iX;
+ height= iTouchScreenCalibLayout.iAnimImageLayout1.Rect().iBr.iY -
+ iTouchScreenCalibLayout.iAnimImageLayout1.Rect().iTl.iY;
+
+ rect = TRect(TPoint( iCalibrationPoints.iTl.iX - (width/2),
+ iCalibrationPoints.iTl.iY - (height/2)),
+ TPoint( iCalibrationPoints.iTl.iX + (width/2),
+ iCalibrationPoints.iTl.iY + (height/2)));
+ break;
+ case 2:
+ width = iTouchScreenCalibLayout.iAnimImageLayout2.Rect().iBr.iX -
+ iTouchScreenCalibLayout.iAnimImageLayout2.Rect().iTl.iX;
+ height= iTouchScreenCalibLayout.iAnimImageLayout2.Rect().iBr.iY -
+ iTouchScreenCalibLayout.iAnimImageLayout2.Rect().iTl.iY;
+
+ rect = TRect(TPoint( iCalibrationPoints.iTr.iX - (width/2),
+ iCalibrationPoints.iTr.iY - (height/2)),
+ TPoint( iCalibrationPoints.iTr.iX + (width/2),
+ iCalibrationPoints.iTr.iY + (height/2)));
+ break;
+ case 3:
+ width = iTouchScreenCalibLayout.iAnimImageLayout3.Rect().iBr.iX -
+ iTouchScreenCalibLayout.iAnimImageLayout3.Rect().iTl.iX;
+ height= iTouchScreenCalibLayout.iAnimImageLayout3.Rect().iBr.iY -
+ iTouchScreenCalibLayout.iAnimImageLayout3.Rect().iTl.iY;
+
+ rect = TRect(TPoint( iCalibrationPoints.iBr.iX - (width/2),
+ iCalibrationPoints.iBr.iY - (height/2)),
+ TPoint( iCalibrationPoints.iBr.iX + (width/2),
+ iCalibrationPoints.iBr.iY + (height/2)));
+ break;
+ case 4:
+ width = iTouchScreenCalibLayout.iAnimImageLayout4.Rect().iBr.iX -
+ iTouchScreenCalibLayout.iAnimImageLayout4.Rect().iTl.iX;
+ height= iTouchScreenCalibLayout.iAnimImageLayout4.Rect().iBr.iY -
+ iTouchScreenCalibLayout.iAnimImageLayout4.Rect().iTl.iY;
+
+ rect = TRect(TPoint( iCalibrationPoints.iBl.iX - (width/2),
+ iCalibrationPoints.iBl.iY - (height/2)),
+ TPoint( iCalibrationPoints.iBl.iX + (width/2),
+ iCalibrationPoints.iBl.iY + (height/2)));
+ break;
+ default:
+ break;
+ }
+ TRACES("CTouchScreenCalibAppUi::GetAnimImageRect(): End");
+ return rect;
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibAppUi::HandleResourceChange(...)
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibAppUi::HandleScreenDeviceChangedL()
+ {
+ TRACES("CTouchScreenCalibAppUi::HandleResourceChange()");
+ CAknAppUiBase::HandleScreenDeviceChangedL();
+
+ if (!iCalibrationDone && !iCalibrationCancel )
+ {
+ TRACES("CTouchScreenCalibAppUi::HandleResourceChange(): Restart calibration");
+ iCalibrationPoints = CalibrationPoints();
+ if (iTouchScreenCalibView)
+ {
+ RemoveFromStack( iTouchScreenCalibView );
+ delete iTouchScreenCalibView;
+ iTouchScreenCalibView = NULL;
+ }
+ iTouchScreenCalibView = CTouchScreenCalibView::NewL( this );
+ AddToStackL( iTouchScreenCalibView );
+ ResetCalibrationStepsL();
+ }
+ else
+ {
+ TRACES("CTouchScreenCalibAppUi::HandleResourceChange(): Update ending background");
+ iTouchScreenCalibView->DrawEndingBackground();
+ }
+ TRACES("CTouchScreenCalibAppUi::HandleResourceChange(): End");
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibAppUi::CalibrationPoints();
+// ---------------------------------------------------------------------------
+TDigitizerCalibration CTouchScreenCalibAppUi::CalibrationPoints()
+ {
+ TRACES("CTouchScreenCalibAppUi::CalibrationPoints()");
+ TDigitizerCalibration calibrationPoints;
+#if defined(__WINS__)
+ // Dummy values for emulator for testing purposes
+ TRect rect = iAvkonAppUi->ApplicationRect();
+ TRACES2("CTouchScreenCalibAppUi::CalibrationPoints(): Window resolution: (%d. %d)",rect.iBr.iX,rect.iBr.iY);
+
+ calibrationPoints.iTl.iX = rect.iTl.iX+50;
+ calibrationPoints.iTl.iY = rect.iTl.iY+50;
+ calibrationPoints.iTr.iX = rect.iBr.iX-50;
+ calibrationPoints.iTr.iY = rect.iTl.iY+50;
+ calibrationPoints.iBr.iX = rect.iBr.iX-50;
+ calibrationPoints.iBr.iY = rect.iBr.iY-50;
+ calibrationPoints.iBl.iX = rect.iTl.iX+50;
+ calibrationPoints.iBl.iY = rect.iBr.iY-50;
+#else
+ UserHal::CalibrationPoints(calibrationPoints);
+#endif
+
+ // Orientation in driver level could be different than window orientation. Convert
+ // points to correct orientation.
+ if (calibrationPoints.iBr.iX > calibrationPoints.iBr.iY )
+ {
+ TRACES("CTouchScreenCalibAppUi::CalibrationPoints(): Native orientation: landscape");
+ iNativeOrientation = KLandscapeOrientation;
+ }
+ else
+ {
+ TRACES("CTouchScreenCalibAppUi::CalibrationPoints(): Native orientation: portrait");
+ iNativeOrientation = KPortraitOrientation;
+ }
+ calibrationPoints = ConvertToCorrectOrientation(calibrationPoints, KConvertGetCase);
+
+ TRACES("CTouchScreenCalibAppUi::CalibrationPoints(): End");
+ return calibrationPoints;
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibAppUi::ConvertToCorrectOrientation(TDigitizerCalibration aPoints);
+// ---------------------------------------------------------------------------
+TDigitizerCalibration CTouchScreenCalibAppUi::ConvertToCorrectOrientation(TDigitizerCalibration aPoints,
+ TInt aConvertCase)
+ {
+ TRACES("CTouchScreenCalibAppUi::ConvertToCorrectOrientation()");
+ TRACES2("CTouchScreenCalibAppUi::ConvertToCorrectOrientation(): X:%d Y:%d", aPoints.iTl.iX,aPoints.iTl.iY);
+ TRACES2("CTouchScreenCalibAppUi::ConvertToCorrectOrientation(): X:%d Y:%d", aPoints.iTr.iX,aPoints.iTr.iY);
+ TRACES2("CTouchScreenCalibAppUi::ConvertToCorrectOrientation(): X:%d Y:%d", aPoints.iBr.iX,aPoints.iBr.iY);
+ TRACES2("CTouchScreenCalibAppUi::ConvertToCorrectOrientation(): X:%d Y:%d", aPoints.iBl.iX,aPoints.iBl.iY);
+ TDigitizerCalibration points;
+ TPoint destReso;
+
+ TRect rect = iAvkonAppUi->ApplicationRect();
+
+ if (!IsCorrectOrientation(rect))
+ {
+ TRACES("CTouchScreenCalibAppUi::ConvertToCorrectOrientation(): Points are not for current layout.");
+ if (aConvertCase == KConvertGetCase)
+ {
+ destReso.iX = rect.iBr.iX;
+ destReso.iY = rect.iBr.iY;
+ TRACES2("CTouchScreenCalibAppUi::ConvertToCorrectOrientation(): Destin reso: X:%d Y:%d", destReso.iX,destReso.iY);
+ points = ChangeOrientation(aPoints, destReso);
+ }
+ else
+ {
+ destReso.iX = rect.iBr.iY;
+ destReso.iY = rect.iBr.iX;
+ TRACES2("CTouchScreenCalibAppUi::ConvertToCorrectOrientation(): Destin reso: X:%d Y:%d", destReso.iX,destReso.iY);
+ points = ChangeOrientation(aPoints, destReso);
+ }
+ }
+ else
+ {
+ points = aPoints;
+ }
+
+ TRACES2("CTouchScreenCalibAppUi::ConvertToCorrectOrientation(): X:%d Y:%d", points.iTl.iX,points.iTl.iY);
+ TRACES2("CTouchScreenCalibAppUi::ConvertToCorrectOrientation(): X:%d Y:%d", points.iTr.iX,points.iTr.iY);
+ TRACES2("CTouchScreenCalibAppUi::ConvertToCorrectOrientation(): X:%d Y:%d", points.iBr.iX,points.iBr.iY);
+ TRACES2("CTouchScreenCalibAppUi::ConvertToCorrectOrientation(): X:%d Y:%d", points.iBl.iX,points.iBl.iY);
+
+ TRACES("CTouchScreenCalibAppUi::ConvertToCorrectOrientation(): End");
+ return points;
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibAppUi::IsCorrectOrientation(TRect aRect)
+// ---------------------------------------------------------------------------
+TBool CTouchScreenCalibAppUi::IsCorrectOrientation(TRect aRect)
+ {
+ TRACES("CTouchScreenCalibAppUi::IsCorrectOrientation()");
+ TBool ret(ETrue);
+ TBool nativePortrait(ETrue);
+
+ if (iNativeOrientation == KLandscapeOrientation)
+ {
+ TRACES("CTouchScreenCalibAppUi::IsCorrectOrientation(): Native orientation: landscape");
+ nativePortrait = EFalse;
+ }
+
+ TBool windowsPortrait(ETrue);
+
+ if (aRect.iBr.iX > aRect.iBr.iY)
+ {
+ TRACES("CTouchScreenCalibAppUi::IsCorrectOrientation(): Window orientation: landscape");
+ windowsPortrait = EFalse;
+ }
+ else
+ {
+ windowsPortrait = ETrue;
+ }
+
+ if (nativePortrait != windowsPortrait)
+ {
+ ret = EFalse;
+ }
+
+ TRACES1("CTouchScreenCalibAppUi::IsCorrectOrientation(): End: returns %d",ret);
+ return ret;
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibAppUi::ChangeOrientation(TDigitizerCalibration aPoints);
+// ---------------------------------------------------------------------------
+TDigitizerCalibration CTouchScreenCalibAppUi::ChangeOrientation(TDigitizerCalibration aSourcePoints,
+ TPoint aDestReso)
+ {
+ TRACES("CTouchScreenCalibAppUi::ChangeOrientation()");
+ TDigitizerCalibration destPoints;
+
+ destPoints.iTl.iX = aSourcePoints.iTr.iY;
+ destPoints.iTl.iY = aDestReso.iY - aSourcePoints.iTr.iX;
+ destPoints.iTr.iX = aSourcePoints.iBr.iY;
+ destPoints.iTr.iY = aDestReso.iY - aSourcePoints.iBr.iX;
+ destPoints.iBr.iX = aSourcePoints.iBl.iY;
+ destPoints.iBr.iY = aDestReso.iY - aSourcePoints.iBl.iX;
+ destPoints.iBl.iX = aSourcePoints.iTl.iY;
+ destPoints.iBl.iY = aDestReso.iY - aSourcePoints.iTl.iX;
+
+
+ TRACES("CTouchScreenCalibAppUi::ChangeOrientation(): End");
+ return destPoints;
+ }
+
+// ---------------------------------------------------------
+// CTouchScreenCalibAppUi::FirstBoot()
+// ---------------------------------------------------------
+TBool CTouchScreenCalibAppUi::FirstBoot()
+ {
+ TRACES("CTouchScreenCalibAppUi::FirstBoot()");
+ TInt value( 0 );
+
+ TRACES("CTouchScreenCalibAppUi::FirstBoot(): Read first boot info from Central Repository ");
+ CRepository* repository(NULL);
+
+ TRAPD( err, repository = CRepository::NewL( KCRUidStartup ) );
+ if ( err == KErrNone )
+ {
+ err = repository->Get( KStartupFirstBoot, value );
+ }
+
+ delete repository;
+
+ if (value)
+ {
+ TRACES("CTouchScreenCalibAppUi::FirstBoot(): End, return EFalse");
+ return EFalse;
+ }
+
+ else
+ {
+ TRACES("CTouchScreenCalibAppUi::FirstBoot(): End, return ETrue");
+ return ETrue;
+ }
+ }
+
+
+/*
+ * This funcntion is used to change the screen orientation to the
+ * same orientation with the factory given calibration data. But it
+ * is not used now. So just leave it here!
+ * */
+
+
+void CTouchScreenCalibAppUi::SetOrientation()
+ {
+#ifndef __WINS__
+
+ TInt orientation = KUnknownOrientation;
+ TInt nativeOrientation = KUnknownOrientation;
+ TDigitizerCalibration Points;
+ UserHal::CalibrationPoints( Points );
+ if ( Points.iBr.iX > Points.iBr.iY)
+ {
+ orientation = KLandscapeOrientation;
+ }
+ else
+ {
+ orientation = KPortraitOrientation;
+ }
+ TRect rect = iAvkonAppUi->ApplicationRect();
+ if ( rect.iBr.iX > rect.iBr.iY )
+ {
+ nativeOrientation = KLandscapeOrientation;
+ }
+ else
+ {
+ nativeOrientation = KPortraitOrientation;
+ }
+
+ if (orientation != nativeOrientation )
+ {
+ if ( orientation == KLandscapeOrientation )
+ {
+ SetOrientationL( CAknAppUiBase::EAppUiOrientationLandscape );
+ }
+ else
+ {
+ SetOrientationL( CAknAppUiBase::EAppUiOrientationPortrait );
+ }
+ }
+#endif
+ }
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/src/TouchScreenCalibApplication.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This module implements the application core i.e. application
+* class and standard exported functions
+*
+*/
+
+
+// INCLUDE FILES
+#include "TouchScreenCalibApplication.h"
+#include "TouchScreenCalibDocument.h"
+
+// ========================= MEMBER FUNCTIONS ================================
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibApplication::AppDllUid()
+// Returns application UID
+// ---------------------------------------------------------------------------
+TUid CTouchScreenCalibApplication::AppDllUid() const
+ {
+ return KUidTouchScreenCalib;
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibApplication::CreateDocumentL()
+// Creates CTouchScreenCalibDocument object
+//
+// ---------------------------------------------------------------------------
+CApaDocument* CTouchScreenCalibApplication::CreateDocumentL()
+ {
+ return CTouchScreenCalibDocument::NewL(*this);
+ }
+
+// ===================== OTHER EXPORTED FUNCTIONS ============================
+#include <eikstart.h>
+
+LOCAL_C CApaApplication* NewApplication()
+ {
+ return new CTouchScreenCalibApplication;
+ }
+
+GLDEF_C TInt E32Main()
+ {
+ return EikStart::RunApplication(NewApplication);
+ }
+
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/src/TouchScreenCalibDocument.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Document class of the application.
+*
+*/
+
+
+// SYSTEM INCLUDES
+#include <apgwgnam.h>
+
+// USER INCLUDES
+#include "TouchScreenCalibDocument.h"
+#include "TouchScreenCalibAppUi.h"
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CTouchScreenCalibDocument::~CTouchScreenCalibDocument()
+// ---------------------------------------------------------
+CTouchScreenCalibDocument::~CTouchScreenCalibDocument()
+ {
+ }
+
+// ---------------------------------------------------------
+// CTouchScreenCalibDocument::ConstructL()
+// ---------------------------------------------------------
+void CTouchScreenCalibDocument::ConstructL()
+ {
+ }
+
+// ---------------------------------------------------------
+// CTouchScreenCalibDocument::NewL()
+// ---------------------------------------------------------
+CTouchScreenCalibDocument* CTouchScreenCalibDocument::NewL(
+ CEikApplication& aApp) // CTouchScreenCalibApp reference
+ {
+ CTouchScreenCalibDocument* self = new (ELeave) CTouchScreenCalibDocument(aApp);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// ----------------------------------------------------
+// CTouchScreenCalibDocument::CreateAppUiL()
+// ----------------------------------------------------
+CEikAppUi* CTouchScreenCalibDocument::CreateAppUiL()
+ {
+ return new(ELeave) CTouchScreenCalibAppUi;
+ }
+
+// ----------------------------------------------------
+// CTouchScreenCalibDocument::UpdateTaskNameL()
+// Makes TouchScreenCalib-application hidden in menu shell and fastswap window
+// ----------------------------------------------------
+void CTouchScreenCalibDocument::UpdateTaskNameL( CApaWindowGroupName* aWgName )
+ {
+ CEikDocument::UpdateTaskNameL( aWgName );
+ aWgName->SetHidden( ETrue );
+ }
+
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/src/TouchScreenCalibPubSubObserver.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,131 @@
+/*
+* Copyright (c) 2007 - 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This class the handles the received indications from the Public and
+* Subscribe.
+*
+*/
+
+
+// SYSTEM INCLUDES
+#include <startupdomainpskeys.h>
+#include <ctsydomainpskeys.h>
+
+// USER INCLUDES
+#include "TouchScreenCalibPubSubObserver.h"
+#include "TouchScreenCalibPubSubObserver.h"
+#include "TouchScreenCalibSubscriber.h"
+#include "TouchScreenCalibDefines.h"
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ----------------------------------------------------
+// CTouchScreenCalibPubSubObserver::CTouchScreenCalibPubSubObserver( CTouchScreenCalibAppUi* aTouchScreenCalibAppUi )
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ----------------------------------------------------
+CTouchScreenCalibPubSubObserver::CTouchScreenCalibPubSubObserver( CTouchScreenCalibAppUi* aTouchScreenCalibAppUi ) :
+ iTouchScreenCalibAppUi( aTouchScreenCalibAppUi )
+ {
+ }
+
+// ----------------------------------------------------
+// CTouchScreenCalibPubSubObserver::ConstructL()
+// ----------------------------------------------------
+void CTouchScreenCalibPubSubObserver::ConstructL()
+ {
+ TRACES("CTouchScreenCalibPubSubObserver::ConstructL()");
+
+ iGlobalSWStateSubscriber = CTouchScreenCalibSubscriber::NewL( *this,
+ KPSUidStartup,
+ KPSGlobalSystemState );
+ iGlobalSWStateSubscriber->Subscribe();
+
+ iTsyCallState = CTouchScreenCalibSubscriber::NewL( *this,
+ KPSUidCtsyCallInformation,
+ KCTsyCallState );
+ iTsyCallState->Subscribe();
+
+ TRACES("CTouchScreenCalibPubSubObserver::ConstructL(): End");
+ }
+
+// ----------------------------------------------------------------------------
+// CTouchScreenCalibPubSubObserver::HandlePropertyChangedL()
+// ----------------------------------------------------------------------------
+void CTouchScreenCalibPubSubObserver::HandlePropertyChangedL( const TUid& aCategory, TUint aKey )
+ {
+ TRACES("CTouchScreenCalibPubSubObserver::HandlePropertyChangedL()");
+ TRACES1("CTouchScreenCalibPubSubObserver::HandlePropertyChangedL(): aKey: %d",aKey );
+
+ if (aCategory == KPSUidStartup && aKey == KPSGlobalSystemState)
+ {
+ TInt eventState;
+ User::LeaveIfError( RProperty::Get ( KPSUidStartup, KPSGlobalSystemState, eventState ) );
+
+ if( eventState == ESwStateCriticalPhaseOK ||
+ eventState == ESwStateEmergencyCallsOnly ||
+ eventState == ESwStateNormalRfOn ||
+ eventState == ESwStateNormalRfOff ||
+ eventState == ESwStateNormalBTSap )
+ {
+ TRACES("CTouchScreenCalibPubSubObserver::HandlePropertyChangedL(): Critical startup phase ready");
+ iTouchScreenCalibAppUi->PrepareToExit();
+ }
+ }
+ else if (aCategory == KPSUidCtsyCallInformation && aKey == KCTsyCallState)
+ {
+ TInt eventState;
+ User::LeaveIfError( RProperty::Get ( KPSUidCtsyCallInformation, KCTsyCallState, eventState ) );
+
+ if( eventState == EPSCTsyCallStateRinging ||
+ eventState == EPSCTsyCallStateDisconnecting)
+ {
+ TRACES("CTouchScreenCalibPubSubObserver::HandlePropertyChangedL(): Call detected");
+ iTouchScreenCalibAppUi->PrepareToExit();
+ }
+ }
+ TRACES("CTouchScreenCalibPubSubObserver::HandlePropertyChangedL(): End");
+ }
+
+// ----------------------------------------------------
+// CTouchScreenCalibPubSubObserver* CTouchScreenCalibPubSubObserver::NewL( CTouchScreenCalibAppUi* aTouchScreenCalibAppUi )
+// ----------------------------------------------------
+CTouchScreenCalibPubSubObserver* CTouchScreenCalibPubSubObserver::NewL( CTouchScreenCalibAppUi* aTouchScreenCalibAppUi )
+ {
+ TRACES("CTouchScreenCalibPubSubObserver::NewL()");
+ CTouchScreenCalibPubSubObserver* self = new (ELeave) CTouchScreenCalibPubSubObserver( aTouchScreenCalibAppUi );
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop(); // self
+
+ TRACES("CTouchScreenCalibPubSubObserver::NewL(): End");
+ return self;
+ }
+
+// ----------------------------------------------------
+// CTouchScreenCalibPubSubObserver::~CTouchScreenCalibPubSubObserver()
+// ----------------------------------------------------
+CTouchScreenCalibPubSubObserver::~CTouchScreenCalibPubSubObserver()
+ {
+ TRACES("CTouchScreenCalibPubSubObserver::~CTouchScreenCalibPubSubObserver()");
+
+ delete iGlobalSWStateSubscriber;
+ delete iTsyCallState;
+ iProperty.Close();
+
+ TRACES("CTouchScreenCalibPubSubObserver::~CTouchScreenCalibPubSubObserver(): End");
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/src/TouchScreenCalibSubscriber.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,120 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: CTouchScreenCalibSubscriber implementation.
+ *
+*/
+
+
+// INCLUDES
+#include <e32svr.h>
+#include "TouchScreenCalibAppUi.h"
+#include "TouchScreenCalibSubscriber.h"
+#include "TouchScreenCalibDefines.h"
+
+// CONSTANTS
+
+// ============================= MEMBER FUNCTIONS =============================
+
+// ----------------------------------------------------------------------------
+// CTouchScreenCalibSubscriber::NewL()
+// ----------------------------------------------------------------------------
+CTouchScreenCalibSubscriber* CTouchScreenCalibSubscriber::NewL(
+ MTouchScreenCalibPropertyResponder& aTouchScreenCalibPropertyResponder,
+ const TUid& aCategory,
+ TUint aKey )
+ {
+ CTouchScreenCalibSubscriber* self = new (ELeave) CTouchScreenCalibSubscriber( aTouchScreenCalibPropertyResponder,
+ aCategory,
+ aKey );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop(); //self
+ return self;
+ }
+
+// ----------------------------------------------------------------------------
+// CTouchScreenCalibSubscriber::ConstructL()
+// ----------------------------------------------------------------------------
+void CTouchScreenCalibSubscriber::ConstructL()
+ {
+ CActiveScheduler::Add( this );
+ iProperty.Attach( iCategory, iKey );
+ }
+
+// ----------------------------------------------------------------------------
+// CTouchScreenCalibSubscriber::Subscribe()
+// ----------------------------------------------------------------------------
+void CTouchScreenCalibSubscriber::Subscribe()
+ {
+ TRACES("CTouchScreenCalibSubscriber::Subscribe()");
+ iProperty.Subscribe( iStatus );
+ SetActive();
+ TRACES("CTouchScreenCalibSubscriber::Subscribe(): End");
+ }
+
+// ----------------------------------------------------------------------------
+// CTouchScreenCalibSubscriber::CTouchScreenCalibSubscriber()
+// ----------------------------------------------------------------------------
+CTouchScreenCalibSubscriber::CTouchScreenCalibSubscriber( MTouchScreenCalibPropertyResponder& aTouchScreenCalibPropertyResponder,
+ const TUid& aCategory,
+ TUint aKey ) :
+ CActive( EPriorityStandard ),
+ iTouchScreenCalibPropertyResponder( aTouchScreenCalibPropertyResponder ),
+ iCategory( aCategory),
+ iKey( aKey )
+ {
+ }
+
+// ----------------------------------------------------------------------------
+// CTouchScreenCalibSubscriber::RunL()
+// ----------------------------------------------------------------------------
+void CTouchScreenCalibSubscriber::RunL()
+ {
+ TRACES("CTouchScreenCalibSubscriber::RunL()");
+ Subscribe();
+ iTouchScreenCalibPropertyResponder.HandlePropertyChangedL( iCategory, iKey );
+ TRACES("CTouchScreenCalibSubscriber::RunL(): End");
+ }
+
+// ----------------------------------------------------------------------------
+// CTouchScreenCalibSubscriber::DoCancel()
+// ----------------------------------------------------------------------------
+void CTouchScreenCalibSubscriber::DoCancel()
+ {
+ iProperty.Cancel();
+ }
+
+// ----------------------------------------------------------------------------
+// CTouchScreenCalibSubscriber::RunError()
+// ----------------------------------------------------------------------------
+TInt CTouchScreenCalibSubscriber::RunError( TInt aError )
+ {
+ return aError;
+ }
+
+// ----------------------------------------------------------------------------
+// CTouchScreenCalibSubscriber::~CTouchScreenCalibSubscriber()
+// ----------------------------------------------------------------------------
+CTouchScreenCalibSubscriber::~CTouchScreenCalibSubscriber()
+ {
+ TRACES("CTouchScreenCalibSubscriber::~CTouchScreenCalibSubscriber()");
+ Cancel();
+ iProperty.Close();
+ TRACES("CTouchScreenCalibSubscriber::~CTouchScreenCalibSubscriber(): End");
+ }
+
+// End of File
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/src/TouchScreenCalibView.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,569 @@
+/*
+* Copyright (c) 2006 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This class is the container class of the CTouchScreenCalibView.
+* Is used to show tap target animation.
+*
+*/
+
+
+// SYSTEM INCLUDES
+#include <aknappui.h>
+#include <aknnotewrappers.h>
+#include <barsread.h>
+#include <AknBitmapAnimation.h>
+#include <ConeResLoader.h>
+#include <AknBidiTextUtils.h>
+#include <touchscreencalib_anim.rsg>
+#include <touchscreencalib.rsg>
+#include <touchscreencalib.mbg>
+
+// USER INCLUDES
+#include "TouchScreenCalibView.h"
+#include "TouchScreenCalibDefines.h"
+#include "TouchScreenCalibAppUi.h"
+
+// CONSTANTS
+_LIT( KTargetAnimationResource, "z:TouchScreenCalib_anim.rsc" );
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibView::ConstructL()
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibView::ConstructL()
+ {
+ TRACES("CTouchScreenCalibView::ConstructL()");
+
+ CreateWindowL();
+
+ iAnimImageRect.iAnimImageRect1 = iTouchScreenCalibAppUi->GetAnimImageRect(1);
+ iAnimImageRect.iAnimImageRect2 = iTouchScreenCalibAppUi->GetAnimImageRect(2);
+ iAnimImageRect.iAnimImageRect3 = iTouchScreenCalibAppUi->GetAnimImageRect(3);
+ iAnimImageRect.iAnimImageRect4 = iTouchScreenCalibAppUi->GetAnimImageRect(4);
+
+ // Parse filename of bitmaps
+ _LIT( KDirAndFile, "z:TouchScreenCalib.mif" );
+ TParse* fp1 = new(ELeave) TParse();
+ fp1->Set(KDirAndFile, &KDC_APP_BITMAP_DIR, NULL);
+ TFileName fileName( fp1->FullName() );
+ TRACES1("CTouchScreenCalibImage::CreateIconL(): Image: %S", &(fp1->FullName()) );
+ delete fp1;
+
+ AknIconUtils::CreateIconL( iBitmap,
+ iBitmapMask,
+ fileName,
+ EMbmTouchscreencalibQgn_graf_screencalib,
+ EMbmTouchscreencalibQgn_graf_screencalib_mask);
+
+ iAvkonAppUi->StatusPane()->MakeVisible(EFalse);
+
+ TRACES("CTouchScreenCalibView::ConstructL(): Animation loading started");
+ iAnim = CAknBitmapAnimation::NewL();
+ iAnim->SetContainerWindowL( *this );
+ iAnim->SetScaleModeForAnimationFrames(EAspectRatioPreservedAndUnusedSpaceRemoved);
+ TResourceReader rr;
+ RConeResourceLoader loader( *iCoeEnv );
+
+ TParse* fp = new(ELeave) TParse();
+ fp->Set(KTargetAnimationResource, &KDC_APP_RESOURCE_DIR, NULL);
+ TRACES1("CTouchScreenCalibView::ConstructL(): Animated target resource path: %S", &fp->FullName());
+ TFileName name( fp->FullName() );
+ delete fp;
+ TInt fileError = loader.Open( name );
+ if ( fileError == KErrNone )
+ {
+ CleanupClosePushL( loader );
+ iCoeEnv->CreateResourceReaderLC(rr, R_SHUTDOWN_ANIM);
+ TRAPD(err, iAnim->ConstructFromResourceL( rr ));
+ if( err == KErrNone )
+ {
+ TResourceReader timeReader;
+ iCoeEnv->CreateResourceReaderLC(timeReader, R_ANIM_DURATION);
+ CleanupStack::PopAndDestroy(); // pop timeReader
+ iAnim->SetPosition(TPoint(0,0));
+ iAnim->SetSize(TSize(0,0));
+ TRACES("CTouchScreenCalibView::ConstructL(): animation succesfully loaded");
+ }
+ else
+ {
+ TRACES("CTouchScreenCalibView::ConstructL(): animation loading failed");
+ }
+ CleanupStack::PopAndDestroy(); //pop rr
+ TRACES("CTouchScreenCalibView::ConstructL(): animation loading ended");
+ CleanupStack::PopAndDestroy(); //pop loader
+ }
+ else
+ {
+ TRACES("CTouchScreenCalibView::ConstructL(): resource file loading failed");
+ }
+
+ SetRect(iAvkonAppUi->ApplicationRect());
+ ActivateL();
+
+ iFont = AknLayoutUtils::FontFromId(EAknLogicalFontSecondaryFont);
+ iText = new( ELeave ) CArrayPtrFlat<HBufC>( 20 );
+
+ TApaTask self(iCoeEnv->WsSession());
+ self.SetWgId(iCoeEnv->RootWin().Identifier());
+ self.BringToForeground();
+
+ if (iTouchScreenCalibAppUi->FirstBoot())
+ {
+ Window().SetOrdinalPosition( 0, ECoeWinPriorityAlwaysAtFront + 10000 );
+ }
+ else
+ {
+ Window().SetOrdinalPosition( 0, ECoeWinPriorityHigh + 1 );
+ }
+ iTouchFeedback = MTouchFeedback::Instance();
+
+ TRACES("CTouchScreenCalibView::ConstructL(): ConstructL ended");
+ }
+
+// -----------------------------------------------------------------------------
+// CTouchScreenCalibView::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CTouchScreenCalibView* CTouchScreenCalibView::NewL( CTouchScreenCalibAppUi* aTouchScreenCalibAppUi )
+ {
+ TRACES("CTouchScreenCalibView::NewL()");
+ CTouchScreenCalibView* self = new (ELeave) CTouchScreenCalibView( aTouchScreenCalibAppUi );
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop();
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CTouchScreenCalibView::CTouchScreenCalibView()
+// ---------------------------------------------------------
+CTouchScreenCalibView::CTouchScreenCalibView( CTouchScreenCalibAppUi* aTouchScreenCalibAppUi ) :
+ iTouchScreenCalibAppUi( aTouchScreenCalibAppUi ),
+ iAnimationShowing( EFalse ),
+ iAnimationCancelled ( EFalse ),
+ iText( NULL ),
+ iCalibrationCompleted( EFalse )
+ {
+ TRACES("CTouchScreenCalibView::CTouchScreenCalibView()");
+ TRACES("CTouchScreenCalibView::CTouchScreenCalibView(): End");
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibView::UpdateL( TAknLayoutText aTextLayout )
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibView::UpdateL( TAknLayoutText aTextLayout )
+ {
+ TRACES("CTouchScreenCalibView::UpdateL()");
+
+ TRect rect = iTouchScreenCalibAppUi->GetAnimImageRect();
+
+ SetTextL(aTextLayout);
+ EndAnimation();
+ DrawDeferred();
+
+ TPoint pos = TPoint(rect.iTl.iX, rect.iTl.iY);
+ TSize size = TSize(rect.iBr.iX-rect.iTl.iX, rect.iBr.iY-rect.iTl.iY);
+ iAnim->SetPosition(pos);
+ iAnim->SetSize(size);
+
+ TRAPD(err, iAnim->StartAnimationL());
+ if ( err != KErrNone )
+ {
+ TRACES("CTouchScreenCalibView::UpdateL(): Starting animation failed");
+ }
+
+ TRACES("CTouchScreenCalibView::UpdateL(): End");
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibView::DrawEndingBackground()
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibView::DrawEndingBackground()
+ {
+ TRACES("CTouchScreenCalibView::DrawEndingBackground()");
+ iCalibrationCompleted = ETrue;
+ SetRect( iAvkonAppUi->ApplicationRect() );
+ EndAnimation();
+ DrawNow();
+ TRACES("CTouchScreenCalibView::DrawEndingBackground(): End");
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibView::EndTargetAnimation()
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibView::EndTargetAnimation()
+ {
+ TRACES("CTouchScreenCalibView::EndTargetAnimation()");
+ EndAnimation();
+ DrawNow();
+ TRACES("CTouchScreenCalibView::EndTargetAnimation(): End");
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibView::~CTouchScreenCalibView()
+// ---------------------------------------------------------------------------
+CTouchScreenCalibView::~CTouchScreenCalibView()
+ {
+ TRACES("CTouchScreenCalibView::~CTouchScreenCalibView() begin");
+
+ if( iAnim )
+ {
+ if( iAnimationShowing )
+ {
+ iAnim->CancelAnimation();
+ TRACES("CTouchScreenCalibView::~CTouchScreenCalibView() animation cancelled");
+ }
+ }
+ delete iAnim;
+ TRACES("CTouchScreenCalibView::~CTouchScreenCalibView() iAnim deleted");
+
+ if ( iText )
+ {
+ iText->ResetAndDestroy();
+ delete iText;
+ iText = NULL;
+ }
+
+ delete iBitmap;
+ delete iBitmapMask;
+
+ TRACES("CTouchScreenCalibView::~CTouchScreenCalibView() end");
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibView::ComponentControl(TInt aIndex)
+// ---------------------------------------------------------------------------
+CCoeControl* CTouchScreenCalibView::ComponentControl(TInt aIndex) const
+ {
+ switch ( aIndex )
+ {
+ case 0:
+ {
+ return iAnim;
+ }
+ default:
+ {
+ return NULL;
+ }
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibView::CountComponentControls()
+// ---------------------------------------------------------------------------
+TInt CTouchScreenCalibView::CountComponentControls() const
+ {
+ return iAnim ? 1 : 0; // return nbr of controls inside this container
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibView::Draw(const TRect& aRect) const
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibView::Draw(const TRect& ) const
+ {
+ TRACES("CTouchScreenCalibView::Draw()");
+ DrawBackground();
+ if (!iCalibrationCompleted)
+ {
+ DrawText();
+ ShowImage(iAnimImageRect.iAnimImageRect1);
+ ShowImage(iAnimImageRect.iAnimImageRect2);
+ ShowImage(iAnimImageRect.iAnimImageRect3);
+ ShowImage(iAnimImageRect.iAnimImageRect4);
+ }
+ TRACES("CTouchScreenCalibView::Draw(): End");
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibView::SizeChanged()
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibView::SizeChanged()
+ {
+ if( iAnim )
+ {
+ iAnim->SetRect(Rect());
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibView::EndAnimation()
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibView::EndAnimation()
+ {
+ TRACES("CTouchScreenCalibView::EndAnimation()");
+ iAnim->CancelAnimation();
+ TRACES("CTouchScreenCalibView::EndAnimation(): End");
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibView::HandleControlEventL(...)
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibView::HandleControlEventL(
+ CCoeControl* ,
+ TCoeEvent )
+ {
+ //pure virtual from MCoeControlObserver
+ TRACES("CTouchScreenCalibView::HandleControlEventL()");
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibView::OfferKeyEventL(...)
+// ---------------------------------------------------------------------------
+TKeyResponse CTouchScreenCalibView::OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType)
+ {
+ TRACES("CTouchScreenCalibView::OfferKeyEventL()");
+ iTouchScreenCalibAppUi->HandleKeyL( aKeyEvent, aType );
+ TRACES("CTouchScreenCalibView::OfferKeyEventL(): End: return EKeyWasConsumed");
+ return EKeyWasConsumed;
+ }
+
+// ----------------------------------------------------
+// CTouchScreenCalibView::HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
+// ----------------------------------------------------
+TKeyResponse CTouchScreenCalibView::HandleKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType )
+ {
+ TRACES("CTouchScreenCalibView::HandleKeyEventL()");
+ iTouchScreenCalibAppUi->HandleKeyL( aKeyEvent, aType );
+ TRACES("CTouchScreenCalibView::HandleKeyEventL(): End: return EKeyWasConsumed");
+ return EKeyWasConsumed;
+ }
+
+// ----------------------------------------------------
+// CTouchScreenCalibView::HandlePointerEventL(const TPointerEvent& aPointerEvent)
+// ----------------------------------------------------
+void CTouchScreenCalibView::HandlePointerEventL(const TPointerEvent& aPointerEvent)
+ {
+ TRACES("CTouchScreenCalibView::HandlePointerEventL()");
+ if (aPointerEvent.iType == TPointerEvent::EButton1Up)
+ {
+ TRACES("CTouchScreenCalibView::HandlePointerEventL(): EButton1Up");
+ TRACES1("CTouchScreenCalibView::HandlePointerEventL(): X = %d",aPointerEvent.iPosition.iX);
+ TRACES1("CTouchScreenCalibView::HandlePointerEventL(): Y = %d",aPointerEvent.iPosition.iY);
+
+ TPoint pos;
+
+ pos.iX = aPointerEvent.iPosition.iX;
+ pos.iY = aPointerEvent.iPosition.iY;
+ if (Validate(pos))
+ {
+ iTouchFeedback->InstantFeedback( ETouchFeedbackBasic );
+ iTouchScreenCalibAppUi->HandlePointerL( pos );
+ }
+ }
+ TRACES("CTouchScreenCalibView::HandlePointerEventL(): End --------------- Waiting for next event -------------");
+ }
+
+// ----------------------------------------------------
+// CTouchScreenCalibView::Validate(TPoint aPos)
+// ----------------------------------------------------
+TBool CTouchScreenCalibView::Validate(TPoint aPos)
+ {
+ TRACES("CTouchScreenCalibView::Validate()");
+ TInt retval( EFalse );
+
+ if ((aPos.iX > iTouchScreenCalibAppUi->GetAnimImageRect().iTl.iX) &&
+ (aPos.iX < iTouchScreenCalibAppUi->GetAnimImageRect().iBr.iX) &&
+ (aPos.iY > iTouchScreenCalibAppUi->GetAnimImageRect().iTl.iY) &&
+ (aPos.iY < iTouchScreenCalibAppUi->GetAnimImageRect().iBr.iY))
+ {
+ retval = ETrue;
+ }
+ TRACES1("CTouchScreenCalibView::Validate(): End: Return %d",retval);
+ return retval;
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibView::DrawBackground() const
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibView::DrawBackground() const
+ {
+ TRACES("CTouchScreenCalibView::DrawBackground()");
+ CWindowGc& gc = SystemGc();
+ TRect rect = iAvkonAppUi->ApplicationRect();
+ gc.SetPenStyle(CGraphicsContext::ENullPen);
+ gc.SetBrushColor(KRgbWhite);
+ gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
+ gc.DrawRect(rect);
+ ControlEnv()->WsSession().Flush(); // force draw of the context
+ TRACES("CTouchScreenCalibView::DrawBackground(): End");
+ }
+
+// ---------------------------------------------------------------------------
+// CTouchScreenCalibView::DrawText()
+// ---------------------------------------------------------------------------
+void CTouchScreenCalibView::DrawText() const
+ {
+ TRACES("CTouchScreenCalibView::DrawText()");
+
+ CWindowGc& gc = SystemGc();
+
+ gc.SetPenStyle(CGraphicsContext::ENullPen);
+
+ gc.UseFont( iFont );
+
+ gc.SetBrushStyle(CGraphicsContext::ENullBrush);
+
+ TPoint position( 0, 0 );
+ TPoint topLeft;
+ position = iTextTopLeft;
+
+ for ( TInt index = 0 ;
+ index < iText->Count();
+ index++, position.iY += iTextBaselineOffset )
+ {
+ HBufC* text = (*iText)[ index ];
+ if ( text )
+ {
+ topLeft = TPoint( position.iX, position.iY - iTextBaselineOffset );
+ gc.SetPenColor(iTextColor);
+ TRACES2("CTouchScreenCalibView::DrawText(): TopLeft: %d, %d", topLeft.iX, topLeft.iY);
+ gc.DrawText( *text,
+ TRect( topLeft, iTextSize ),
+ iTextBaselineOffset,
+ iTextAlignment );
+ }
+ }
+ ControlEnv()->WsSession().Flush(); // force draw of the context
+ gc.DiscardFont();
+ TRACES("CTouchScreenCalibView::DrawText(): End");
+ }
+
+// -----------------------------------------------------------------------------
+// CTouchScreenCalibView::SetTextL(TAknLayoutText aTextLayout)
+// -----------------------------------------------------------------------------
+void CTouchScreenCalibView::SetTextL(TAknLayoutText aTextLayout)
+ {
+ TRACES("CTouchScreenCalibView::SetTextL()");
+
+ TInt textLineWidth;
+
+ TRACES2("CTouchScreenCalibView::SetTextL(): Text rect top: X:%d Y:%d",aTextLayout.TextRect().iTl.iX, aTextLayout.TextRect().iTl.iY);
+ TRACES2("CTouchScreenCalibView::SetTextL(): Text rect:bot: X:%d Y:%d",aTextLayout.TextRect().iBr.iX, aTextLayout.TextRect().iBr.iY);
+
+ textLineWidth = aTextLayout.TextRect().Width();
+
+ iTextTopLeft = TPoint(aTextLayout.TextRect().iTl.iX, aTextLayout.TextRect().iTl.iY);
+
+ iTextBaselineOffset = iFont->HeightInPixels() * 4 / 3;
+
+ iTextSize = TSize(textLineWidth, iTextBaselineOffset + iFont->DescentInPixels());
+
+ iTextColor = aTextLayout.Color();
+
+ iTextAlignment = CGraphicsContext::ECenter;
+
+ HBufC* mainText1 = StringLoader::LoadLC(R_QTN_TOUCH_SCREEN_CALI_INSTR_GEN,
+ iTouchScreenCalibAppUi->GetCalibrationStep());
+
+ HBufC* mainText2;
+ if (iTouchScreenCalibAppUi->FirstBoot())
+ {
+ mainText2 = CEikonEnv::Static()->AllocReadResourceLC(R_QTN_TOUCH_SCREEN_CALI_INSTR_RES );
+ }
+ else
+ {
+ mainText2 = CEikonEnv::Static()->AllocReadResourceLC(R_QTN_TOUCH_SCREEN_CALI_INSTR_CAN );
+ }
+
+ TBuf<256> text;
+ text.Copy( mainText1->Des() );
+ _LIT(KLineChange, "\n");
+ text.Append(KLineChange);
+ text.Append(mainText2->Des());
+
+ TRACES1("CTouchScreenCalibView::SetTextL(): text: %S",&text);
+
+ CArrayFix<TPtrC>* wrappedArray =
+ new( ELeave ) CArrayFixFlat<TPtrC>( 10 );
+ CleanupStack::PushL( wrappedArray );
+
+ HBufC* dataToDestroy =
+ AknBidiTextUtils::ConvertToVisualAndWrapToArrayL(
+ text, textLineWidth, *iFont, *wrappedArray
+ );
+
+ TInt numLines( wrappedArray->Count() );
+ TRACES1("CTouchScreenCalibView::SetTextL(): Number of lines: %d",numLines );
+
+ if ( iText )
+ {
+ iText->ResetAndDestroy();
+ delete iText;
+ iText = NULL;
+ }
+ iText = new( ELeave ) CArrayPtrFlat<HBufC>( 20 );
+
+ for ( TInt i = 0 ; i < numLines ; i++ )
+ {
+ HBufC* line = (*wrappedArray)[i].AllocLC();
+ TInt lineLength = line->Length();
+ TRACES1("CTouchScreenCalibView::SetTextL(): lineLength: %d",lineLength);
+ if(!lineLength)
+ {
+ iText->AppendL( NULL );
+ CleanupStack::PopAndDestroy(line); // line
+ }
+ else
+ {
+ iText->AppendL( line );
+ CleanupStack::Pop(line); // line
+ }
+ }
+ iText->AppendL( NULL );
+
+ // If the last char was newline, add one extra, since
+ // wrapping automatically removes it.
+ if ( text[ text.Length() - 1 ] == '\n' )
+ {
+ iText->AppendL( NULL );
+ }
+
+ CleanupStack::PopAndDestroy(wrappedArray); // wrappedArray
+ delete dataToDestroy;
+
+ CleanupStack::PopAndDestroy(2); //mainText1, mainText2
+ TRACES("CTouchScreenCalibView::SetTextL(); End");
+ }
+
+// -----------------------------------------------------------------------------
+// CTouchScreenCalibView::ShowImage(TRect aRect)
+// -----------------------------------------------------------------------------
+void CTouchScreenCalibView::ShowImage(TRect aRect) const
+ {
+ TRACES("CTouchScreenCalibView::ShowImage()");
+ CWindowGc& gc = SystemGc();
+ AknIconUtils::SetSize( iBitmap, aRect.Size(), EAspectRatioPreservedAndUnusedSpaceRemoved );
+ gc.SetPenStyle(CGraphicsContext::ENullPen);
+ gc.SetBrushColor(KRgbRed);
+ gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
+ gc.DrawRect(aRect);
+ gc.BitBlt( TPoint(aRect.iTl.iX, aRect.iTl.iY), iBitmap ); // CWindowGc member function
+ ControlEnv()->WsSession().Flush(); // force draw of the context
+ TRACES("CTouchScreenCalibView::ShowImage(): End");
+ }
+
+// -----------------------------------------------------------------------------
+// CTouchScreenCalibView::SetWinPriority()
+// -----------------------------------------------------------------------------
+void CTouchScreenCalibView::SetWinPriority(TInt aPriority)
+ {
+ TRACES("CTouchScreenCalibView::SetWinPriority()");
+ Window().SetOrdinalPosition( 0, aPriority );
+ TRACES("CTouchScreenCalibView::SetWinPriority(): End");
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tsccustcmds/bwins/tsccustcmdsu.def Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+ ?CmdTSCStartupExtensionNewL@TSCCustCmdFactory@@SAPAVMSsmCustomCommand@@XZ @ 1 NONAME ; class MSsmCustomCommand * TSCCustCmdFactory::CmdTSCStartupExtensionNewL(void)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tsccustcmds/eabi/tsccustcmdsu.def Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,7 @@
+EXPORTS
+ _ZN17TSCCustCmdFactory26CmdTSCStartupExtensionNewLEv @ 1 NONAME
+ _ZTI14CTSCSubscriber @ 2 NONAME ; #<TI>#
+ _ZTI18CTSCPubSubObserver @ 3 NONAME ; #<TI>#
+ _ZTV14CTSCSubscriber @ 4 NONAME ; #<VT>#
+ _ZTV18CTSCPubSubObserver @ 5 NONAME ; #<VT>#
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tsccustcmds/group/tsccustcmds.mmp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2007 - 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project definition file for project TSCCustCmd
+*
+*/
+
+#include <platform_paths.hrh>
+
+TARGET tsccustcmds.dll
+TARGETTYPE DLL
+UID 0x1000008D 0x10283123
+
+CAPABILITY CAP_GENERAL_DLL
+VENDORID VID_DEFAULT
+
+SOURCEPATH ../src
+SOURCE tscstartupextension.cpp
+SOURCE tsccustcmdfactory.cpp
+SOURCE tscsubscriber.cpp
+SOURCE tscpubsubobserver.cpp
+
+USERINCLUDE ../inc
+USERINCLUDE ../../../inc
+
+
+// Default system include paths for middleware layer modules.
+APP_LAYER_SYSTEMINCLUDE
+
+LIBRARY euser.lib
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tsccustcmds/inc/MTSCPropertyResponder.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Interface of Touch screen calibration property change obsever
+*
+*/
+
+#ifndef MTSCPROPERTYRESPONDER_H
+#define MTSCPROPERTYRESPONDER_H
+
+// INCLUDES
+#include <e32base.h>
+
+class MTSCPropertyResponder
+ {
+public:
+ virtual void HandlePropertyChangedL( const TUid& aCategory, TUint aKey ) = 0;
+ };
+#endif //MTSCPROPERTYRESPONDER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tsccustcmds/inc/TSCPubSubObserver.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,76 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This class the handles the received indications from the Public and
+* Subscribe.
+*
+*/
+
+#ifndef TSCPUBSUBOBSERVER_H
+#define TSCPUBSUBOBSERVER_H
+
+// INCLUDES
+#include <e32property.h>
+#include "MTSCPropertyResponder.h"
+#include "tscstartupextension.h"
+
+
+
+// CLASS DECLARATION
+class CTSCStartupExtension;
+class CTSCSubscriber;
+
+class CTSCPubSubObserver : public CBase, public MTSCPropertyResponder
+ {
+ public: // Constructors and destructor
+
+ /**
+ * C++ constructor.
+ */
+ CTSCPubSubObserver( CTSCStartupExtension* aTSCStartupExtension );
+
+ /**
+ * Two-phased constructor.
+ */
+ static CTSCPubSubObserver* NewL( CTSCStartupExtension* aTSCStartupExtension );
+
+ /**
+ * Destructor.
+ */
+ ~CTSCPubSubObserver();
+
+ private:
+
+ /**
+ * By default EPOC constructor is private.
+ */
+ void ConstructL();
+
+ CTSCPubSubObserver();
+
+ protected: // From MTSCPropertyResponder
+
+ void HandlePropertyChangedL( const TUid& aCategory, TUint aKey );
+
+ private: // Data
+ //reference to application class
+ CTSCStartupExtension * iTSCStartupExtension; //uses
+
+ RProperty iProperty;
+ CTSCSubscriber* iTSCSyncSubscriber;
+ };
+
+#endif // TSCPUBSUBOBSERVER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tsccustcmds/inc/tsccustcmdfactory.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Custom command implementation factory.
+*
+*/
+
+#ifndef TSCCUSTCMDFACTORY_H
+#define TSCCUSTCMDFACTORY_H
+
+#include <e32def.h>
+
+class MSsmCustomCommand;
+
+/**
+* Creates custom command objects.
+*/
+class TSCCustCmdFactory
+ {
+public:
+
+ IMPORT_C static MSsmCustomCommand* CmdTSCStartupExtensionNewL();
+ };
+
+#endif // TSCCUSTCMDFACTORY_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tsccustcmds/inc/tscstartupextension.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of CTSCStartupExtension class.
+*
+*/
+
+#ifndef TSCSTARTUPEXTENSION_H
+#define TSCSTARTUPEXTENSION_H
+
+#include <e32base.h>
+#include <ssm/ssmcustomcommand.h>
+
+// FORWARD DECLARATIONS
+class CTSCPubSubObserver;
+
+/**
+*/
+NONSHARABLE_CLASS( CTSCStartupExtension )
+ : public CBase,
+ public MSsmCustomCommand
+ {
+public:
+
+ static CTSCStartupExtension * NewL();
+ virtual ~CTSCStartupExtension ();
+
+ void CalibrationDone();
+
+private: // From MSsmCustomCommand
+
+ TInt Initialize( CSsmCustomCommandEnv* aCmdEnv );
+ void Execute( const TDesC8& aParams, TRequestStatus& aStatus );
+ void ExecuteCancel();
+ void Release();
+ void Close();
+
+private:
+
+ /**
+ * First phase constructor.
+ */
+ CTSCStartupExtension ();
+
+private: //data
+
+ CTSCPubSubObserver* iTSCPubSubObserver; //owns
+
+ TRequestStatus* iStatus;
+ TBool iRequestSent;
+
+ };
+
+#endif // TSCSTARTUPEXTENSION_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tsccustcmds/inc/tscstartupextensiondef.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Includes some common defines used in the TSCStartupExtension
+*
+*/
+
+#ifndef TSCSTARTUPEXTENSIONDEF_H
+#define TSCSTARTUPEXTENSIONDEF_H
+
+#include <e32debug.h>
+
+//CONSTANTS
+_LIT( KTouchScreenCalibAppName, "TSCStartupExtension" );
+
+// MACROS
+
+#define PANIC(aPanic) User::Panic( KTouchScreenCalibAppName, aPanic )
+
+#define TRACE_ADDPREFIX(aText) (TPtrC((const TText *)L"TSCStartupExtension: \"" L##aText L"\""))
+
+#ifdef _DEBUG
+#define TRACES(aMsg) RDebug::Print( TRACE_ADDPREFIX(aMsg) )
+#define TRACES1(aFormat,aP1) RDebug::Print( TRACE_ADDPREFIX(aFormat),(aP1) )
+#define TRACES2(aFormat,aP1,aP2) RDebug::Print( TRACE_ADDPREFIX(aFormat),(aP1),(aP2) )
+#define TRACES3(aFormat,aP1,aP2,aP3) RDebug::Print( TRACE_ADDPREFIX(aFormat),(aP1),(aP2),(aP3) )
+#else
+#define TRACES(aMsg)
+#define TRACES1(aFormat,aP1)
+#define TRACES2(aFormat,aP1,aP2)
+#define TRACES3(aFormat,aP1,aP2,aP3)
+#endif
+#endif // TSCSTARTUPEXTENSIONDEF_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tsccustcmds/inc/tscsubscriber.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: TSC Subscriber (Publish & Subscribe).
+*
+*/
+
+#ifndef TSCPLUGINSUBSCRIBER_H
+#define TSCPLUGINSUBSCRIBER_H
+
+// INCLUDES
+#include <e32base.h>
+#include <e32property.h>
+#include "MTSCPropertyResponder.h"
+
+// CLASS DECLARATION
+/**
+* CTSCSubscriber
+*
+* @lib tscstartupextensionplugin
+* @since 3.2
+*/
+
+class CTSCSubscriber : public CActive
+{
+public:
+ /**
+ * Two-phased constructor.
+ */
+ static CTSCSubscriber* NewL( MTSCPropertyResponder& aTSCPropertyResponder,
+ const TUid& aCategory,
+ TUint aKey );
+
+ /**
+ * Destructor.
+ */
+ ~CTSCSubscriber();
+
+ void Subscribe();
+
+private:
+ CTSCSubscriber( MTSCPropertyResponder& aTSCPropertyResponder,
+ const TUid& aCategory, TUint
+ aKey );
+ void ConstructL();
+
+public: // from CActive
+ /**
+ * @param none
+ * @return none
+ */
+ void RunL();
+
+ /**
+ * @param aError the error returned
+ * @return error
+ */
+ TInt RunError( TInt aError );
+
+ /**
+ * @param none
+ * @return none
+ */
+ void DoCancel();
+
+private: // Methods not implemented
+ CTSCSubscriber( const CTSCSubscriber& ); // Copy constructor
+ CTSCSubscriber& operator=( const CTSCSubscriber& );// Assigment operator
+
+private:
+
+ MTSCPropertyResponder& iTSCPropertyResponder;
+ RProperty iProperty;
+ TUid iCategory;
+ TUint iKey;
+};
+
+
+#endif // TSCSUBSCRIBER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tsccustcmds/src/tsccustcmdfactory.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Custom command implementation factory.
+*
+*/
+
+#include "tsccustcmdfactory.h"
+#include "tscstartupextension.h"
+
+// ======== MEMBER FUNCTIONS ========
+
+EXPORT_C MSsmCustomCommand* TSCCustCmdFactory::CmdTSCStartupExtensionNewL()
+ {
+ return CTSCStartupExtension::NewL();
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tsccustcmds/src/tscpubsubobserver.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,131 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This class the handles the received indications from the Public and
+* Subscribe.
+*
+*/
+
+// SYSTEM INCLUDES
+#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
+#include <e32cmn.h>
+#include <touchscprivatepskeys.h>
+#else //RD_STARTUP_ANIMATION_CUSTOMIZATION
+#include <StartupAppInternalPSKeys.h>
+#endif //RD_STARTUP_ANIMATION_CUSTOMIZATION
+
+// USER INCLUDES
+#include "TSCPubSubObserver.h"
+#include "tscsubscriber.h"
+#include "tscstartupextensiondef.h"
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ----------------------------------------------------
+// CTSCPubSubObserver::CTSCPubSubObserver( CTSCStartupExtension* aTSCStartupExtension )
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ----------------------------------------------------
+CTSCPubSubObserver::CTSCPubSubObserver( CTSCStartupExtension* aTSCStartupExtension ) :
+ iTSCStartupExtension( aTSCStartupExtension )
+ {
+ }
+
+// ----------------------------------------------------
+// CTSCPubSubObserver::ConstructL()
+// ----------------------------------------------------
+void CTSCPubSubObserver::ConstructL()
+ {
+ TRACES("CTSCPubSubObserver::ConstructL()");
+
+ iTSCSyncSubscriber = CTSCSubscriber::NewL( *this,
+#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
+ KPSUidTouchScreenCalibration,
+#else //RD_STARTUP_ANIMATION_CUSTOMIZATION
+ KPSUidStartup,
+#endif //RD_STARTUP_ANIMATION_CUSTOMIZATION
+ KPSTouchScreenCalibration );
+ iTSCSyncSubscriber->Subscribe();
+
+ TInt touchScreenCalibrationState;
+#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
+ RProperty::Get( KPSUidTouchScreenCalibration, KPSTouchScreenCalibration, touchScreenCalibrationState );
+#else //RD_STARTUP_ANIMATION_CUSTOMIZATION
+ RProperty::Get( KPSUidStartup, KPSTouchScreenCalibration, touchScreenCalibrationState );
+#endif //RD_STARTUP_ANIMATION_CUSTOMIZATION
+ if ( touchScreenCalibrationState == ETouchScreenCalibrationOk )
+ {
+ iTSCStartupExtension->CalibrationDone();
+ }
+
+ TRACES("CTSCPubSubObserver::ConstructL(): End");
+ }
+
+// ----------------------------------------------------------------------------
+// CTSCPubSubObserver::HandlePropertyChangedL()
+// ----------------------------------------------------------------------------
+void CTSCPubSubObserver::HandlePropertyChangedL( const TUid& /*aCategory*/, TUint aKey )
+ {
+ TRACES("CTSCPubSubObserver::HandlePropertyChangedL()");
+ TRACES1("CTSCPubSubObserver::HandlePropertyChangedL(): aKey: %d",aKey );
+
+ if (aKey == KPSTouchScreenCalibration)
+ {
+ TInt state;
+
+#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
+ RProperty::Get( KPSUidTouchScreenCalibration, KPSTouchScreenCalibration, state );
+#else //RD_STARTUP_ANIMATION_CUSTOMIZATION
+ RProperty::Get( KPSUidStartup, KPSTouchScreenCalibration, state );
+#endif //RD_STARTUP_ANIMATION_CUSTOMIZATION
+
+ if ( state == ETouchScreenCalibrationOk )
+ {
+ iTSCStartupExtension->CalibrationDone();
+ }
+ }
+
+ TRACES("CTSCPubSubObserver::HandlePropertyChangedL(): End");
+ }
+
+// ----------------------------------------------------
+// CTSCPubSubObserver::NewL( CTSCStartupExtension* aTSCStartupExtension )
+// ----------------------------------------------------
+CTSCPubSubObserver* CTSCPubSubObserver::NewL( CTSCStartupExtension* aTSCStartupExtension )
+ {
+ TRACES("CTSCPubSubObserver::NewL()");
+ CTSCPubSubObserver* self = new (ELeave) CTSCPubSubObserver( aTSCStartupExtension );
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop(); // self
+
+ TRACES("CTSCPubSubObserver::NewL(): End");
+ return self;
+ }
+
+// ----------------------------------------------------
+// CTSCPubSubObserver::~CTSCPubSubObserver()
+// ----------------------------------------------------
+CTSCPubSubObserver::~CTSCPubSubObserver()
+ {
+ TRACES("CTSCPubSubObserver::~CTSCPubSubObserver()");
+
+ delete iTSCSyncSubscriber;
+ iProperty.Close();
+
+ TRACES("CTSCPubSubObserver::~CTSCPubSubObserver(): End");
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tsccustcmds/src/tscstartupextension.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,148 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of CTSCStartupExtension class.
+*
+*/
+
+#include "tscstartupextension.h"
+#include "tscstartupextensiondef.h"
+#include "TSCPubSubObserver.h"
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// CDiskSpaceReserve::NewL
+//
+// ---------------------------------------------------------------------------
+//
+CTSCStartupExtension * CTSCStartupExtension ::NewL()
+ {
+ TRACES("CTSCStartupExtension :: NewL ()");
+ CTSCStartupExtension * self = new ( ELeave ) CTSCStartupExtension ;
+
+ return self;
+ }
+
+
+// ---------------------------------------------------------------------------
+// Destructor
+//
+// ---------------------------------------------------------------------------
+//
+CTSCStartupExtension::~CTSCStartupExtension ()
+ {
+ TRACES("CTSCStartupExtension ::~CTSCStartupExtension ()");
+
+ TRACES("CTSCStartupExtension ::~CTSCStartupExtension () End");
+ }
+
+
+
+// ---------------------------------------------------------------------------
+// First phase constructor
+//
+// ---------------------------------------------------------------------------
+//
+CTSCStartupExtension::CTSCStartupExtension()
+ :iRequestSent(EFalse)
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// CTSCStartupExtension::Initialize
+//
+// ---------------------------------------------------------------------------
+//
+TInt CTSCStartupExtension::Initialize( CSsmCustomCommandEnv* /*aCmdEnv*/ )
+ {
+ TRACES("CTSCStartupExtension::Initialize()");
+ iTSCPubSubObserver = CTSCPubSubObserver::NewL( this );
+ return KErrNone;
+ }
+
+
+// ---------------------------------------------------------------------------
+// CTSCStartupExtension::Execute
+//
+// ---------------------------------------------------------------------------
+//
+void CTSCStartupExtension::Execute(
+ const TDesC8& /*aParams*/,
+ TRequestStatus& aStatus )
+ {
+ TRACES("CTSCStartupExtension::ExecuteL()");
+ aStatus = KRequestPending;
+ iStatus = &aStatus;
+ TRACES("CTSCStartupExtension::ExecuteL(): End");
+ }
+
+
+// ---------------------------------------------------------------------------
+// CTSCStartupExtension::ExecuteCancel
+//
+// ---------------------------------------------------------------------------
+//
+void CTSCStartupExtension::ExecuteCancel()
+ {
+ // Nothing to do.
+ }
+
+
+// ---------------------------------------------------------------------------
+// CTSCStartupExtension::Release
+//
+// ---------------------------------------------------------------------------
+//
+void CTSCStartupExtension::Release()
+ {
+ delete this;
+ }
+
+
+// ---------------------------------------------------------------------------
+// CTSCStartupExtension::Close
+//
+// ---------------------------------------------------------------------------
+//
+void CTSCStartupExtension::Close()
+ {
+ TRACES("CTSCStartupExtension :: Close()");
+ if (iTSCPubSubObserver)
+ {
+ delete iTSCPubSubObserver;
+ iTSCPubSubObserver = NULL;
+ }
+ TRACES("CTSCStartupExtension :: Close() End");
+ }
+
+// ---------------------------------------------------------------------------
+// CTSCStartupExtension::CalibrationDone
+//
+// ---------------------------------------------------------------------------
+//
+void CTSCStartupExtension::CalibrationDone()
+ {
+ TRACES("CTSCStartupExtension::CalibrationDone()");
+ if (!iRequestSent)
+ {
+ TRACES("CTSCStartupExtension::CalibrationDone(): Send complete request");
+ TInt errorCode = KErrNone;
+ User::RequestComplete( iStatus, errorCode );
+ iRequestSent = ETrue;
+ }
+ TRACES("CTSCStartupExtension::CalibrationDone(): End");
+ }
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tsccustcmds/src/tscsubscriber.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,119 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: TSC Subscriber (Publish & Subscribe).
+*
+*/
+
+// INCLUDES
+#include <e32svr.h>
+#include "tscstartupextension.h"
+#include "tscsubscriber.h"
+#include "tscstartupextensiondef.h"
+
+// CONSTANTS
+
+// ============================= MEMBER FUNCTIONS =============================
+
+// ----------------------------------------------------------------------------
+// CTSCSubscriber::NewL()
+// ----------------------------------------------------------------------------
+CTSCSubscriber* CTSCSubscriber::NewL(
+ MTSCPropertyResponder& aTSCPropertyResponder,
+ const TUid& aCategory,
+ TUint aKey )
+ {
+ CTSCSubscriber* self = new (ELeave) CTSCSubscriber( aTSCPropertyResponder,
+ aCategory,
+ aKey );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop(); //self
+ return self;
+ }
+
+// ----------------------------------------------------------------------------
+// CTSCSubscriber::ConstructL()
+// ----------------------------------------------------------------------------
+void CTSCSubscriber::ConstructL()
+ {
+ CActiveScheduler::Add( this );
+ iProperty.Attach( iCategory, iKey );
+ }
+
+// ----------------------------------------------------------------------------
+// CTSCSubscriber::Subscribe()
+// ----------------------------------------------------------------------------
+void CTSCSubscriber::Subscribe()
+ {
+ TRACES("CTSCSubscriber::Subscribe()");
+ iProperty.Subscribe( iStatus );
+ SetActive();
+ TRACES("CTSCSubscriber::Subscribe(): End");
+ }
+
+// ----------------------------------------------------------------------------
+// CTSCSubscriber::CTSCSubscriber()
+// ----------------------------------------------------------------------------
+CTSCSubscriber::CTSCSubscriber( MTSCPropertyResponder& aTSCPropertyResponder,
+ const TUid& aCategory,
+ TUint aKey ) :
+ CActive( EPriorityStandard ),
+ iTSCPropertyResponder( aTSCPropertyResponder ),
+ iCategory( aCategory),
+ iKey( aKey )
+ {
+ }
+
+// ----------------------------------------------------------------------------
+// CTSCSubscriber::RunL()
+// ----------------------------------------------------------------------------
+void CTSCSubscriber::RunL()
+ {
+ TRACES("CTSCSubscriber::RunL()");
+ Subscribe();
+ iTSCPropertyResponder.HandlePropertyChangedL( iCategory, iKey );
+ TRACES("CTSCSubscriber::RunL(): End");
+ }
+
+// ----------------------------------------------------------------------------
+// CTSCSubscriber::DoCancel()
+// ----------------------------------------------------------------------------
+void CTSCSubscriber::DoCancel()
+ {
+ iProperty.Cancel();
+ }
+
+// ----------------------------------------------------------------------------
+// CTSCSubscriber::RunError()
+// ----------------------------------------------------------------------------
+TInt CTSCSubscriber::RunError( TInt aError )
+ {
+ return aError;
+ }
+
+// ----------------------------------------------------------------------------
+// CTSCSubscriber::~CTSCSubscriber()
+// ----------------------------------------------------------------------------
+CTSCSubscriber::~CTSCSubscriber()
+ {
+ TRACES("CTSCSubscriber::~CTSCSubscriber()");
+ Cancel();
+ iProperty.Close();
+ TRACES("CTSCSubscriber::~CTSCSubscriber(): End");
+ }
+
+// End of File
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tscstartupextensionplugin/data/10283123.rss Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Registry info resource file for TSCStartupExtensionPlugIn
+* ECOM plugin.
+*
+*/
+
+
+
+// INCLUDES
+#include "registryinfov2.rh"
+
+// RESOURCE DEFINITIONS
+// ---------------------------------------------------------
+//
+// tscstartupextensionplugin_registry_info
+// Registry info resource.
+//
+// ---------------------------------------------------------
+//
+RESOURCE REGISTRY_INFO tscstartupextensionplugin_registry_info
+ {
+ resource_format_version = RESOURCE_FORMAT_VERSION_2;
+ dll_uid = 0x10283123;
+ interfaces =
+ {
+ INTERFACE_INFO
+ {
+ interface_uid = 0x10205067; // UID of System startup extension plug-in API
+ implementations =
+ {
+ IMPLEMENTATION_INFO
+ {
+ implementation_uid = 0x10283124;
+ version_no = 1;
+ display_name = "TSCStartupExtensionPlugIn";
+ default_data = "";
+ opaque_data = "";
+ rom_only = 1;
+ }
+ };
+ }
+ };
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tscstartupextensionplugin/group/tscstartupextensionplugin.mmp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2007 - 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project definition file for project TSCStartupExtensionPlugIn
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET tscstartupextensionplugin.dll
+CAPABILITY CAP_ECOM_PLUGIN
+TARGETTYPE PLUGIN
+UID 0x10009D8D 0x10283123
+VENDORID VID_DEFAULT
+
+SOURCEPATH ../src
+SOURCE tscstartupextensionplugin.cpp
+SOURCE implementationfactory.cpp
+SOURCE tscpluginsubscriber.cpp
+SOURCE tscpluginpubsubobserver.cpp
+
+USERINCLUDE ../inc
+USERINCLUDE ../../../inc
+
+SYSTEMINCLUDE /epoc32/include/ecom
+
+
+START RESOURCE ../data/10283123.rss
+TARGET tscstartupextensionplugin.rsc
+END
+
+
+APP_LAYER_SYSTEMINCLUDE
+
+LIBRARY euser.lib
+LIBRARY ecom.lib
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tscstartupextensionplugin/inc/MTSCPlugInPropertyResponder.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Interface of Touch screen calibration property change obsever
+*
+*/
+
+
+#ifndef MTSCPLUGINPROPERTYRESPONDER_H
+#define MTSCPLUGINPROPERTYRESPONDER_H
+
+// INCLUDES
+#include <e32base.h>
+
+class MTSCPlugInPropertyResponder
+ {
+public:
+ virtual void HandlePropertyChangedL( const TUid& aCategory, TUint aKey ) = 0;
+ };
+#endif //MTSCPLUGINPROPERTYRESPONDER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tscstartupextensionplugin/inc/TSCPlugInPubSubObserver.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This class the handles the received indications from the Public and
+* Subscribe.
+*
+*/
+
+
+#ifndef TSCPLUGINPUBSUBOBSERVER_H
+#define TSCPLUGINPUBSUBOBSERVER_H
+
+// INCLUDES
+#include <e32property.h>
+#include "MTSCPlugInPropertyResponder.h"
+#include "tscstartupextensionplugin.h"
+
+
+
+// CLASS DECLARATION
+class CTSCStartupExtensionPlugIn;
+class CTSCPlugInSubscriber;
+
+class CTSCPlugInPubSubObserver : public CBase, public MTSCPlugInPropertyResponder
+ {
+ public: // Constructors and destructor
+
+ /**
+ * C++ constructor.
+ */
+ CTSCPlugInPubSubObserver( CTSCStartupExtensionPlugIn* aTSCStartupExtensionPlugIn );
+
+ /**
+ * Two-phased constructor.
+ */
+ static CTSCPlugInPubSubObserver* NewL( CTSCStartupExtensionPlugIn* aTSCStartupExtensionPlugIn );
+
+ /**
+ * Destructor.
+ */
+ ~CTSCPlugInPubSubObserver();
+
+ private:
+
+ /**
+ * By default EPOC constructor is private.
+ */
+ void ConstructL();
+
+ CTSCPlugInPubSubObserver();
+
+ protected: // From MTSCPlugInPropertyResponder
+
+ void HandlePropertyChangedL( const TUid& aCategory, TUint aKey );
+
+ private: // Data
+ //reference to application class
+ CTSCStartupExtensionPlugIn* iTSCStartupExtensionPlugIn; //uses
+
+ RProperty iProperty;
+ CTSCPlugInSubscriber* iTSCSyncSubscriber;
+ };
+
+#endif // TSCPLUGINPUBSUBOBSERVER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tscstartupextensionplugin/inc/tscpluginsubscriber.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,92 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: TSC Subscriber (Publish & Subscribe).
+*
+*/
+
+
+#ifndef TSCPLUGINSUBSCRIBER_H
+#define TSCPLUGINSUBSCRIBER_H
+
+// INCLUDES
+#include <e32base.h>
+#include <e32property.h>
+#include "MTSCPlugInPropertyResponder.h"
+
+// CLASS DECLARATION
+/**
+* CTSCPlugInSubscriber
+*
+* @lib tscstartupextensionplugin
+* @since 3.2
+*/
+
+class CTSCPlugInSubscriber : public CActive
+{
+public:
+ /**
+ * Two-phased constructor.
+ */
+ static CTSCPlugInSubscriber* NewL( MTSCPlugInPropertyResponder& aTSCPlugInPropertyResponder,
+ const TUid& aCategory,
+ TUint aKey );
+
+ /**
+ * Destructor.
+ */
+ ~CTSCPlugInSubscriber();
+
+ void Subscribe();
+
+private:
+ CTSCPlugInSubscriber( MTSCPlugInPropertyResponder& aTSCPlugInPropertyResponder,
+ const TUid& aCategory, TUint
+ aKey );
+ void ConstructL();
+
+public: // from CActive
+ /**
+ * @param none
+ * @return none
+ */
+ void RunL();
+
+ /**
+ * @param aError the error returned
+ * @return error
+ */
+ TInt RunError( TInt aError );
+
+ /**
+ * @param none
+ * @return none
+ */
+ void DoCancel();
+
+private: // Methods not implemented
+ CTSCPlugInSubscriber( const CTSCPlugInSubscriber& ); // Copy constructor
+ CTSCPlugInSubscriber& operator=( const CTSCPlugInSubscriber& );// Assigment operator
+
+private:
+
+ MTSCPlugInPropertyResponder& iTSCPlugInPropertyResponder;
+ RProperty iProperty;
+ TUid iCategory;
+ TUint iKey;
+};
+
+
+#endif // TSCPLUGINSUBSCRIBER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tscstartupextensionplugin/inc/tscstartupextensionplugin.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,85 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of CTSCStartupExtensionPlugIn class.
+*
+*/
+
+
+#ifndef TSCSTARTUPEXTENSIONPLUGIN_H
+#define TSCSTARTUPEXTENSIONPLUGIN_H
+
+#include <systemstartupextension.h>
+
+// FORWARD DECLARATIONS
+class CTSCPlugInPubSubObserver;
+
+/**
+ * System Startup Extension plug-in for executing Touch Screen Calibration
+ * during system startup.
+ *
+ * @lib tscstartupextensionplugin.lib
+ * @since S60 3.2
+ */
+NONSHARABLE_CLASS( CTSCStartupExtensionPlugIn )
+ : public CSystemStartupExtension
+ {
+
+public:
+
+ static CTSCStartupExtensionPlugIn* NewL( TAny* aConstructionParameters );
+
+ virtual ~CTSCStartupExtensionPlugIn();
+
+ /**
+ * Execute TSC operations depending on parameters.
+ *
+ * @since S60 3.2
+ * @param aStatus The request status to complete after the task has been
+ * finished.
+ */
+ virtual void ExecuteL( TRequestStatus& aStatus, const TDesC& aParams );
+
+ /**
+ * Cancel pending request.
+ *
+ * @since S60 3.2
+ */
+ virtual void Cancel();
+
+ /**
+ *
+ * @since S60 3.2
+ * @param none
+ */
+ void CalibrationDone();
+
+private:
+
+ CTSCStartupExtensionPlugIn( TAny* aConstructionParameters );
+
+ /**
+ * Second phase constructor.
+ *
+ */
+ void ConstructL();
+
+private: //data
+
+ CTSCPlugInPubSubObserver* iTSCPlugInPubSubObserver; //owns
+
+ TRequestStatus* iStatus;
+ TBool iRequestSent;
+ };
+
+#endif // TSCSTARTUPEXTENSIONPLUGIN_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tscstartupextensionplugin/inc/tscstartupextensionplugindef.h Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Includes some common defines used in the TSCStartupExtensionPlugIn
+*
+*/
+
+
+#ifndef TSCSTARTUPEXTENSIONPLUGINDEF_H
+#define TSCSTARTUPEXTENSIONPLUGINDEF_H
+
+#include <e32debug.h>
+
+//CONSTANTS
+_LIT( KTouchScreenCalibAppName, "TSCStartupExtensionPlugIn" );
+
+// MACROS
+
+#define PANIC(aPanic) User::Panic( KTouchScreenCalibAppName, aPanic )
+
+#define TRACE_ADDPREFIX(aText) (TPtrC((const TText *)L"TSCStartupExtensionPlugIn: \"" L##aText L"\""))
+
+#ifdef _DEBUG
+#define TRACES(aMsg) RDebug::Print( TRACE_ADDPREFIX(aMsg) )
+#define TRACES1(aFormat,aP1) RDebug::Print( TRACE_ADDPREFIX(aFormat),(aP1) )
+#define TRACES2(aFormat,aP1,aP2) RDebug::Print( TRACE_ADDPREFIX(aFormat),(aP1),(aP2) )
+#define TRACES3(aFormat,aP1,aP2,aP3) RDebug::Print( TRACE_ADDPREFIX(aFormat),(aP1),(aP2),(aP3) )
+#else
+#define TRACES(aMsg)
+#define TRACES1(aFormat,aP1)
+#define TRACES2(aFormat,aP1,aP2)
+#define TRACES3(aFormat,aP1,aP2,aP3)
+#endif
+#endif // TSCSTARTUPEXTENSIONPLUGINDEF_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tscstartupextensionplugin/src/implementationfactory.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: TSCStartupExtensionPlugIn ECOM implementation factory.
+*
+*/
+
+
+#include "tscstartupextensionplugin.h"
+
+#include <implementationproxy.h>
+
+// Define the interface UIDs.
+const TImplementationProxy ImplementationTable[] =
+ {
+ IMPLEMENTATION_PROXY_ENTRY( 0x10283124, CTSCStartupExtensionPlugIn::NewL )
+ };
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+// -----------------------------------------------------------------------------
+// ImplementationGroupProxy.
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
+ {
+ aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
+ return ImplementationTable;
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tscstartupextensionplugin/src/tscpluginpubsubobserver.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,132 @@
+/*
+* Copyright (c) 2007 - 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This class the handles the received indications from the Public and
+* Subscribe.
+*
+*/
+
+
+// SYSTEM INCLUDES
+#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
+#include <e32cmn.h>
+#include <touchscprivatepskeys.h>
+#else //RD_STARTUP_ANIMATION_CUSTOMIZATION
+#include <StartupAppInternalPSKeys.h>
+#endif //RD_STARTUP_ANIMATION_CUSTOMIZATION
+
+// USER INCLUDES
+#include "TSCPlugInPubSubObserver.h"
+#include "tscpluginsubscriber.h"
+#include "tscstartupextensionplugindef.h"
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ----------------------------------------------------
+// TSCPlugInPubSubObserver::TSCPlugInPubSubObserver( CTSCStartupExtensionPlugIn* aTSCStartupExtensionPlugIn )
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ----------------------------------------------------
+CTSCPlugInPubSubObserver::CTSCPlugInPubSubObserver( CTSCStartupExtensionPlugIn* aTSCStartupExtensionPlugIn ) :
+ iTSCStartupExtensionPlugIn( aTSCStartupExtensionPlugIn )
+ {
+ }
+
+// ----------------------------------------------------
+// CTSCPlugInPubSubObserver::ConstructL()
+// ----------------------------------------------------
+void CTSCPlugInPubSubObserver::ConstructL()
+ {
+ TRACES("CTSCPlugInPubSubObserver::ConstructL()");
+
+ iTSCSyncSubscriber = CTSCPlugInSubscriber::NewL( *this,
+#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
+ KPSUidTouchScreenCalibration,
+#else //RD_STARTUP_ANIMATION_CUSTOMIZATION
+ KPSUidStartup,
+#endif //RD_STARTUP_ANIMATION_CUSTOMIZATION
+ KPSTouchScreenCalibration );
+ iTSCSyncSubscriber->Subscribe();
+
+ TInt touchScreenCalibrationState;
+#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
+ RProperty::Get( KPSUidTouchScreenCalibration, KPSTouchScreenCalibration, touchScreenCalibrationState );
+#else //RD_STARTUP_ANIMATION_CUSTOMIZATION
+ RProperty::Get( KPSUidStartup, KPSTouchScreenCalibration, touchScreenCalibrationState );
+#endif //RD_STARTUP_ANIMATION_CUSTOMIZATION
+ if ( touchScreenCalibrationState == ETouchScreenCalibrationOk )
+ {
+ iTSCStartupExtensionPlugIn->CalibrationDone();
+ }
+
+ TRACES("CTSCPlugInPubSubObserver::ConstructL(): End");
+ }
+
+// ----------------------------------------------------------------------------
+// CTSCPlugInPubSubObserver::HandlePropertyChangedL()
+// ----------------------------------------------------------------------------
+void CTSCPlugInPubSubObserver::HandlePropertyChangedL( const TUid& /*aCategory*/, TUint aKey )
+ {
+ TRACES("CTSCPlugInPubSubObserver::HandlePropertyChangedL()");
+ TRACES1("CTSCPlugInPubSubObserver::HandlePropertyChangedL(): aKey: %d",aKey );
+
+ if (aKey == KPSTouchScreenCalibration)
+ {
+ TInt state;
+
+#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
+ RProperty::Get( KPSUidTouchScreenCalibration, KPSTouchScreenCalibration, state );
+#else //RD_STARTUP_ANIMATION_CUSTOMIZATION
+ RProperty::Get( KPSUidStartup, KPSTouchScreenCalibration, state );
+#endif //RD_STARTUP_ANIMATION_CUSTOMIZATION
+
+ if ( state == ETouchScreenCalibrationOk )
+ {
+ iTSCStartupExtensionPlugIn->CalibrationDone();
+ }
+ }
+
+ TRACES("CTSCPlugInPubSubObserver::HandlePropertyChangedL(): End");
+ }
+
+// ----------------------------------------------------
+// CTSCPlugInPubSubObserver::NewL( CTSCStartupExtensionPlugIn* aTSCStartupExtensionPlugIn )
+// ----------------------------------------------------
+CTSCPlugInPubSubObserver* CTSCPlugInPubSubObserver::NewL( CTSCStartupExtensionPlugIn* aTSCStartupExtensionPlugIn )
+ {
+ TRACES("CTSCPlugInPubSubObserver::NewL()");
+ CTSCPlugInPubSubObserver* self = new (ELeave) CTSCPlugInPubSubObserver( aTSCStartupExtensionPlugIn );
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop(); // self
+
+ TRACES("CTSCPlugInPubSubObserver::NewL(): End");
+ return self;
+ }
+
+// ----------------------------------------------------
+// CTSCPlugInPubSubObserver::~CTSCPlugInPubSubObserver()
+// ----------------------------------------------------
+CTSCPlugInPubSubObserver::~CTSCPlugInPubSubObserver()
+ {
+ TRACES("CTSCPlugInPubSubObserver::~CTSCPlugInPubSubObserver()");
+
+ delete iTSCSyncSubscriber;
+ iProperty.Close();
+
+ TRACES("CTSCPlugInPubSubObserver::~CTSCPlugInPubSubObserver(): End");
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tscstartupextensionplugin/src/tscpluginsubscriber.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,120 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: CTSCPlugInSubscriber implementation.
+ *
+*/
+
+
+// INCLUDES
+#include <e32svr.h>
+#include "tscstartupextensionplugin.h"
+#include "tscpluginsubscriber.h"
+#include "tscstartupextensionplugindef.h"
+
+// CONSTANTS
+
+// ============================= MEMBER FUNCTIONS =============================
+
+// ----------------------------------------------------------------------------
+// CTSCPlugInSubscriber::NewL()
+// ----------------------------------------------------------------------------
+CTSCPlugInSubscriber* CTSCPlugInSubscriber::NewL(
+ MTSCPlugInPropertyResponder& aTSCPlugInPropertyResponder,
+ const TUid& aCategory,
+ TUint aKey )
+ {
+ CTSCPlugInSubscriber* self = new (ELeave) CTSCPlugInSubscriber( aTSCPlugInPropertyResponder,
+ aCategory,
+ aKey );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop(); //self
+ return self;
+ }
+
+// ----------------------------------------------------------------------------
+// CTSCPlugInSubscriber::ConstructL()
+// ----------------------------------------------------------------------------
+void CTSCPlugInSubscriber::ConstructL()
+ {
+ CActiveScheduler::Add( this );
+ iProperty.Attach( iCategory, iKey );
+ }
+
+// ----------------------------------------------------------------------------
+// CTSCPlugInSubscriber::Subscribe()
+// ----------------------------------------------------------------------------
+void CTSCPlugInSubscriber::Subscribe()
+ {
+ TRACES("CTSCPlugInSubscriber::Subscribe()");
+ iProperty.Subscribe( iStatus );
+ SetActive();
+ TRACES("CTSCPlugInSubscriber::Subscribe(): End");
+ }
+
+// ----------------------------------------------------------------------------
+// CTSCPlugInSubscriber::CTSCPlugInSubscriber()
+// ----------------------------------------------------------------------------
+CTSCPlugInSubscriber::CTSCPlugInSubscriber( MTSCPlugInPropertyResponder& aTSCPlugInPropertyResponder,
+ const TUid& aCategory,
+ TUint aKey ) :
+ CActive( EPriorityStandard ),
+ iTSCPlugInPropertyResponder( aTSCPlugInPropertyResponder ),
+ iCategory( aCategory),
+ iKey( aKey )
+ {
+ }
+
+// ----------------------------------------------------------------------------
+// CTSCPlugInSubscriber::RunL()
+// ----------------------------------------------------------------------------
+void CTSCPlugInSubscriber::RunL()
+ {
+ TRACES("CTSCPlugInSubscriber::RunL()");
+ Subscribe();
+ iTSCPlugInPropertyResponder.HandlePropertyChangedL( iCategory, iKey );
+ TRACES("CTSCPlugInSubscriber::RunL(): End");
+ }
+
+// ----------------------------------------------------------------------------
+// CTSCPlugInSubscriber::DoCancel()
+// ----------------------------------------------------------------------------
+void CTSCPlugInSubscriber::DoCancel()
+ {
+ iProperty.Cancel();
+ }
+
+// ----------------------------------------------------------------------------
+// CTSCPlugInSubscriber::RunError()
+// ----------------------------------------------------------------------------
+TInt CTSCPlugInSubscriber::RunError( TInt aError )
+ {
+ return aError;
+ }
+
+// ----------------------------------------------------------------------------
+// CTSCPlugInSubscriber::~CTSCPlugInSubscriber()
+// ----------------------------------------------------------------------------
+CTSCPlugInSubscriber::~CTSCPlugInSubscriber()
+ {
+ TRACES("CTSCPlugInSubscriber::~CTSCPlugInSubscriber()");
+ Cancel();
+ iProperty.Close();
+ TRACES("CTSCPlugInSubscriber::~CTSCPlugInSubscriber(): End");
+ }
+
+// End of File
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemswuis/touchscreencalib/tscstartupextensionplugin/src/tscstartupextensionplugin.cpp Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of CTSCStartupExtensionPlugIn class.
+*
+*/
+
+
+#include "tscstartupextensionplugin.h"
+#include "tscstartupextensionplugindef.h"
+#include "TSCPlugInPubSubObserver.h"
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Constructor
+//
+// ---------------------------------------------------------------------------
+//
+CTSCStartupExtensionPlugIn* CTSCStartupExtensionPlugIn::NewL(
+ TAny* aConstructionParameters )
+ {
+ CTSCStartupExtensionPlugIn* self =
+ new( ELeave ) CTSCStartupExtensionPlugIn( aConstructionParameters );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+
+// ---------------------------------------------------------------------------
+// Destructor
+//
+// ---------------------------------------------------------------------------
+//
+CTSCStartupExtensionPlugIn::~CTSCStartupExtensionPlugIn()
+ {
+ TRACES("CTSCStartupExtensionPlugIn::~CTSCStartupExtensionPlugIn()");
+ if (iTSCPlugInPubSubObserver)
+ {
+ delete iTSCPlugInPubSubObserver;
+ }
+ TRACES("CTSCStartupExtensionPlugIn::~CTSCStartupExtensionPlugIn()");
+ }
+
+
+// ---------------------------------------------------------------------------
+// First phase constructor
+//
+// ---------------------------------------------------------------------------
+//
+CTSCStartupExtensionPlugIn::CTSCStartupExtensionPlugIn(
+ TAny* aConstructionParameters )
+ : CSystemStartupExtension( aConstructionParameters ),
+ iRequestSent(EFalse)
+ {
+ }
+
+
+// ---------------------------------------------------------------------------
+// CTSCStartupExtensionPlugIn::ConstructL
+//
+// ---------------------------------------------------------------------------
+//
+void CTSCStartupExtensionPlugIn::ConstructL()
+ {
+ TRACES("CTSCStartupExtensionPlugIn::ConstructL()");
+ iTSCPlugInPubSubObserver = CTSCPlugInPubSubObserver::NewL( this );
+ TRACES("CTSCStartupExtensionPlugIn::ConstructL(): End");
+ }
+
+// ---------------------------------------------------------------------------
+// CTSCStartupExtensionPlugIn::ExecuteL
+//
+// ---------------------------------------------------------------------------
+//
+void CTSCStartupExtensionPlugIn::ExecuteL(
+ TRequestStatus& aStatus,
+ const TDesC& /*aParams*/ )
+ {
+ TRACES("CTSCStartupExtensionPlugIn::ExecuteL()");
+ aStatus = KRequestPending;
+ iStatus = &aStatus;
+ TRACES("CTSCStartupExtensionPlugIn::ExecuteL(): End");
+ }
+
+// ---------------------------------------------------------------------------
+// CTSCStartupExtensionPlugIn::Cancel
+//
+// ---------------------------------------------------------------------------
+//
+void CTSCStartupExtensionPlugIn::Cancel()
+ {
+ // Nothing to do.
+ }
+
+// ---------------------------------------------------------------------------
+// CTSCStartupExtensionPlugIn::CalibrationDone
+//
+// ---------------------------------------------------------------------------
+//
+void CTSCStartupExtensionPlugIn::CalibrationDone()
+ {
+ TRACES("CTSCStartupExtensionPlugIn::CalibrationDone()");
+ if (!iRequestSent)
+ {
+ TRACES("CTSCStartupExtensionPlugIn::CalibrationDone(): Send complete request");
+ TInt errorCode = KErrNone;
+ User::RequestComplete( iStatus, errorCode );
+ iRequestSent = ETrue;
+ }
+ TRACES("CTSCStartupExtensionPlugIn::CalibrationDone(): End");
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/group/bld.inf Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Build information file
+*
+*/
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+PRJ_TESTMMPFILES
+//#include "../../devmngt_plat/settings_backgroundimage_api/tsrc/group/bld.inf"
+//#include "../../devmngt_plat/settings_framework_api/tsrc/group/bld.inf"
+//#include "../../devmngt_plat/settings_launch_api/tsrc/group/bld.inf"
+//#include "../../devmngt_plat/settings_listbox_api/tsrc/group/bld.inf"
+//#include "../../devmngt_plat/filelist_api/tsrc/group/bld.inf"
+//#include "../../devmngt_plat/profiles_engine_api/tsrc/group/bld.inf"
+
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/group/copy_binaries_to_sys_dir.mk Wed Sep 01 12:33:30 2010 +0100
@@ -0,0 +1,41 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0""
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: Icons makefile for project settingsuis
+#
+
+do_nothing :
+ @rem do_nothing
+
+MAKMAKE : do_nothing
+
+BLD : do_nothing
+
+CLEAN : do_nothing
+ del \epoc32\RELEASE\winscw\udeb\Z\sys\bin\MT_CGSLauncher.dll /f
+
+LIB : do_nothing
+
+CLEANLIB : do_nothing
+
+RESOURCE : do_nothing
+
+FREEZE : do_nothing
+
+SAVESPACE : do_nothing
+
+RELEASABLES : do_nothing
+
+FINAL :
+ echo COPYING
+ copy \epoc32\RELEASE\winscw\udeb\MT_CGSLauncher.dll \epoc32\RELEASE\winscw\udeb\Z\sys\bin /y