⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 settingsdialog.cpp

📁 0S9.平台任务管理.内存监控示例.还sign后才可以安装
💻 CPP
字号:
#include "SettingsDialog.h"

#include "SettingsList.h"
#include "Settings.h"

#include "TaskSpy.hrh"

CSettingsDialog::CSettingsDialog(CSettings& aSettings) : iSettings(aSettings)
{}

SEikControlInfo CSettingsDialog::CreateCustomControlL(TInt aControlType)
{
    switch (aControlType)
    {
        case ECtGeneralId:
            iSettingsList = new(ELeave) CSettingsListGeneral(iSettings);
            break;

        case ECtViewsId:
            iSettingsList = new(ELeave) CSettingsListViews(iSettings);
            break;

        case ECtSystemId:
            iSettingsList = new(ELeave) CSettingsListSystem(iSettings);
            break;
    }

    SEikControlInfo controlInfo;
    controlInfo.iFlags = EEikControlHasEars;
    controlInfo.iTrailerTextId = 0;
    controlInfo.iControl = iSettingsList;
    static_cast<CAknSettingItemList*>(controlInfo.iControl)->SetContainerWindowL(*this);
//    static_cast<CSettingsList*>(controlInfo.iControl)->SetMopParent(this);
	
    return controlInfo;
}


CSettingsDialog::TFormControlTypes CSettingsDialog::ConvertCustomControlTypeToBaseControlType(TInt aControlType) const
{
    return EPopfieldDerived;
}


TBool CSettingsDialog::OkToExitL(TInt aButtonId)
{
    switch (aButtonId)
    {
        case EEikBidOk:
            EditItemL(EFalse);
            DrawNow();
            return EFalse;

        case EAknSoftkeyBack:
            static_cast<CAknSettingItemList*>(Control(4096))->StoreSettingsL();
            static_cast<CAknSettingItemList*>(Control(4097))->StoreSettingsL();
            static_cast<CAknSettingItemList*>(Control(4098))->StoreSettingsL();

            iSettings.StoreL();
            return ETrue;

        default:
            return CAknDialog::OkToExitL(aButtonId);
    }
}

void CSettingsDialog::ProcessCommandL(TInt aCommand)
{
    switch (aCommand)
    {
        case ECmdOpen:
            EditItemL(ETrue);
            break;

/*
        case EAknCmdExit:
            iAvkonAppUi->ProcessCommandL(EEikCmdExit);
            break;
*/
    }

    CAknDialog::ProcessCommandL(aCommand);
}

void CSettingsDialog::EditItemL(TBool aCalledFromMenu)
{
    TInt id = IdOfFocusControl();
    CAknSettingItemList* settingsList = static_cast<CAknSettingItemList*>(Control(id));
    TInt index = settingsList->ListBox()->CurrentItemIndex();
    settingsList->EditItemL(index, aCalledFromMenu);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -