📄 settingsdialog.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 + -