您的位置:首页 > 编程语言

[Symbian项目进展]系统设置搞掂 :) 把相关代码贴出来

2006-11-19 00:16 429 查看
千辛万苦,我的系统设置模块终于搞定。

系统设置包括:

1、日志文件大小
2、开机是否自动运行
3、是否记录日志
4、没有规则匹配时的动作:放行/拒绝/通知用户,由用户来决定

实现:

用设置列表来实现,分别使用:

1、EAknCtIntegerEdwin :设置数字类型
2、EAknCtPopupSettingList :Yes/No两种选择
3、EAknCtPopupSettingList :Yes/No两种选择
4、EAknCtPopupSettingList :Enable/Disable/ToUser三种选择

资源代码:

//-----------------------------------------------------------------------------
//
// r_firewall_setting_itemlist
// 防火墙设置列表
//
//-----------------------------------------------------------------------------
//
RESOURCE AVKON_SETTING_ITEM_LIST R_FIREWALL_SETTING_ITEMLIST
//-----------------------------------------------------------------------------
//
// R_FIREWALL_SETTING_PAGE_SIZE_LOGFILE
// 防火墙设日志文件大小设置页
//
//-----------------------------------------------------------------------------
//
RESOURCE AVKON_SETTING_PAGE R_FIREWALL_SETTING_PAGE_SIZE_LOGFILE
RESOURCE AVKON_INTEGER_EDWIN R_FIREWALL_SETTING_SIZE_LOGFILE_EDWIN
//-----------------------------------------------------------------------------
//
// R_FIREWALL_SETTING_PAGE_IS_RECORD_LOG
// 防火墙是否记录日志设置页
//
//-----------------------------------------------------------------------------
//

RESOURCE AVKON_SETTING_PAGE R_FIREWALL_SETTING_PAGE_IS_RECORD_LOG
RESOURCE AVKON_POPUP_SETTING_TEXTS R_FIREWALL_SETTING_IS_RECORD_LOG_TEXTS
RESOURCE ARRAY R_AKNEXSETTINGLIST_ON_OFF_TEXTS
RESOURCE ARRAY R_AKNEXSETTINGLIST_POPPED_UP_ON_OFF_TEXTS

//-----------------------------------------------------------------------------
//
// R_FIREWALL_SETTING_PAGE_IS_AUTOSTART
// 防火墙是否记录日志设置页
//
//-----------------------------------------------------------------------------
//
RESOURCE AVKON_SETTING_PAGE R_FIREWALL_SETTING_PAGE_IS_AUTOSTART
RESOURCE AVKON_POPUP_SETTING_TEXTS R_FIREWALL_SETTING_IS_AUTOSTART_TEXTS
//-----------------------------------------------------------------------------
//
// R_FIREWALL_SETTING_PAGE_DEFAULT_ACTION
// 防火墙无匹配规则默认动作设置页
//
//-----------------------------------------------------------------------------
//
RESOURCE AVKON_SETTING_PAGE r_firewall_setting_page_default_action
RESOURCE POPUP_SETTING_LIST r_firewall_setting_list_new_entry_default_action
RESOURCE AVKON_POPUP_SETTING_TEXTS r_firewall_setting_list_default_action
RESOURCE ARRAY r_firewall_setting_texts_resource_default_action
RESOURCE ARRAY r_firewall_setting_popped_up_texts_resource_default_action

存取文件代码:

void CFirewallSettingData::SaveSettingL()

void CFirewallSettingData::ReadSettingL()

关键代码:

必须要在SettingList类中重载EditItemL函数,使的编辑过的数据能够保存到CFirewallSettingData类的实例iData中:

void CFirewallSettingList::EditItemL(TInt aIndex, TBool aCalledFromMenu)
{
CAknSettingItemList::EditItemL(aIndex, aCalledFromMenu) ;
(*SettingItemArray())[aIndex]->StoreL() ;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: