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

📄 filemgr.c

📁 一个复杂控制SD卡的例子,可以参考应用到手机上.
💻 C
📖 第 1 页 / 共 5 页
字号:

#ifdef __USB_IN_NORMAL_MODE__
    if (!mmi_usb_is_in_mass_storage_mode() || 
        mmi_usb_is_leaving_ms_mode() ||
        !mmi_usb_is_any_exported_drive())
#endif 
    {
        fmgr_p->drv_count++;
        UnicodeToAnsii((PS8) fmgr_p->drv_list[FMGR_DRM_RO_STORAGE], (PS8) DRM_RO_PATH);
    }
#endif /* __DRM_MTK__ */ 
}


/*****************************************************************************
 * FUNCTION
 *  highlight_fmgr_drive_list
 * DESCRIPTION
 *  highlight handler for drive
 * PARAMETERS
 *  hiliteID        [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void highlight_fmgr_drive_list(S32 hiliteID)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S16 index;
    U8 sel_type;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    fmgr_p->cur_index = hiliteID;
    index = fmgr_get_drive_index(hiliteID);
    if (index >= 0)
    {
        AnsiiToUnicodeString((PS8) fmgr_p->file_path, (PS8) fmgr_p->drv_list[index]);
    }

    if (fmgr_p->src_application == APP_FILEMANAGER)
    {
        if (fmgr_p->tree_action == FMGR_ACTION_COPY || fmgr_p->tree_action == FMGR_ACTION_MOVE)
        {
        #if 0//def __DRM_MTK__		added chenyang,20071010
            if (index == FMGR_DRM_RO_STORAGE)
            {
                ChangeLeftSoftkey(0, 0);
                ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
                ClearKeyHandler(KEY_LSK, KEY_EVENT_UP);
                SetRightSoftkeyFunction(fmgr_abort_copy_select, KEY_EVENT_UP);
            #ifdef __MMI_TOUCH_SCREEN__
                wgui_reset_list_item_selected_callback();
            #endif 
            }
            else
        #endif /* __DRM_MTK__ */ 
            {
                ChangeLeftSoftkey(STR_GLOBAL_OPTIONS, 0);
                SetKeyHandler(fmgr_set_curr_tree_and_enter, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
                SetLeftSoftkeyFunction(entry_fmgr_drive_option, KEY_EVENT_UP);
                SetRightSoftkeyFunction(fmgr_abort_copy_select, KEY_EVENT_UP);
                /* Leo start 20050808 */
            #ifdef __MMI_TOUCH_SCREEN__
                wgui_register_list_item_selected_callback(fmgr_set_curr_tree_and_enter);
            #endif 
                /* Leo end 20050808 */
            }
        }
        else
        {
        #if 0//defined(__DRM_MTK__)		added chenyang,20071010
            if (index == FMGR_DRM_RO_STORAGE)
            {
                ChangeLeftSoftkey(STR_FMGR_OPEN, 0);
                SetKeyHandler(entry_fmgr_explorer, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
                SetLeftSoftkeyFunction(entry_fmgr_explorer, KEY_EVENT_UP);
                SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
            #ifdef __MMI_TOUCH_SCREEN__
                wgui_register_list_item_selected_callback(entry_fmgr_explorer);
            #endif 
            }
            else
        #endif /* __DRM_MTK__ */ 
            {
                ChangeLeftSoftkey(STR_GLOBAL_OPTIONS, 0);
                SetKeyHandler(entry_fmgr_explorer, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
                SetLeftSoftkeyFunction(entry_fmgr_drive_option, KEY_EVENT_UP);
                SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
                /* Leo start 20050808 */
            #ifdef __MMI_TOUCH_SCREEN__
                wgui_register_list_item_selected_callback(entry_fmgr_explorer);
            #endif 
                /* Leo end 20050808 */
            }
        }
        ClearKeyHandler(KEY_LEFT_ARROW, KEY_EVENT_DOWN);
        return;
    }

#if 0//defined(__DRM_MTK__)		added chenyang,20071010
    if (index == FMGR_DRM_RO_STORAGE)
    {
        /* not FMGR, can't enter DRM drive */
        ChangeLeftSoftkey(0, 0);
        ClearKeyHandler(KEY_LEFT_ARROW, KEY_EVENT_DOWN);
        ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
        ClearKeyHandler(KEY_LSK, KEY_EVENT_UP);
        SetRightSoftkeyFunction(fmgr_abort_app_select, KEY_EVENT_UP);
    #ifdef __MMI_TOUCH_SCREEN__
        wgui_reset_list_item_selected_callback();
    #endif 
        return;
    }
#endif /* __DRM_MTK__ */ 

    sel_type = fmgr_p->sel_type & 0x0f;
    switch (sel_type)
    {
        case FMGR_SELECT_FILE:
            ChangeLeftSoftkey(STR_FMGR_OPEN, 0);
            SetKeyHandler(entry_fmgr_explorer, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
            SetLeftSoftkeyFunction(entry_fmgr_explorer, KEY_EVENT_UP);
            /* Leo start 20050808 */
    #ifdef __MMI_TOUCH_SCREEN__
            wgui_register_list_item_selected_callback(entry_fmgr_explorer);
    #endif 
            /* Leo end 20050808 */
            break;
        case FMGR_SELECT_FILE_OR_FOLDER:
        case FMGR_SELECT_FOLDER:
            ChangeLeftSoftkey(STR_GLOBAL_OPTIONS, 0);
            SetKeyHandler(entry_fmgr_explorer, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
            SetLeftSoftkeyFunction(entry_fmgr_drive_option, KEY_EVENT_UP);
            /* Leo start 20050808 */
    #ifdef __MMI_TOUCH_SCREEN__
            wgui_register_list_item_selected_callback(entry_fmgr_explorer);
    #endif 
            /* Leo end 20050808 */
            break;
        case FMGR_SELECT_BROWSE:
            ChangeLeftSoftkey(STR_GLOBAL_OPTIONS, 0);
            SetKeyHandler(entry_fmgr_explorer, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
            SetLeftSoftkeyFunction(entry_fmgr_app_drive_option, KEY_EVENT_UP);
            /* Leo start 20050808 */
    #ifdef __MMI_TOUCH_SCREEN__
            wgui_register_list_item_selected_callback(entry_fmgr_explorer);
    #endif 
            /* Leo end 20050808 */
            break;
    }
    ClearKeyHandler(KEY_LEFT_ARROW, KEY_EVENT_DOWN);
    SetRightSoftkeyFunction(fmgr_abort_app_select, KEY_EVENT_UP);
}


/*****************************************************************************
 * FUNCTION
 *  fmgr_get_drive_index
 * DESCRIPTION
 *  map highlight id and drive index
 * PARAMETERS
 *  hiliteID        [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
S8 fmgr_get_drive_index(S32 hiliteID)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 i = 0, count = 0, mask;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mask = fmgr_get_msdc_mask();

    for (i = 0; i < FMGR_TOTAL_STORAGE; i++)
    {
        if (fmgr_p->drv_list[i][0] != 0)
        {
            if (((i >= FMGR_REMOVABLE_STORAGE) &&
                 (mask & (0x01 << (i - FMGR_REMOVABLE_STORAGE)))) || i < FMGR_REMOVABLE_STORAGE)
            {
                count++;
            }
        }
        if (count == hiliteID + 1)
        {
            break;
        }
    }

    if (i == FMGR_TOTAL_STORAGE)
    {
        return (S8) - 1;
    }

    return i;
}


/*****************************************************************************
 * FUNCTION
 *  fmgr_return_to_editor
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void fmgr_return_to_editor(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    GoBacknHistory(1);
}


/*****************************************************************************
 * FUNCTION
 *  highlight_fmgr_drive_open
 * DESCRIPTION
 *  highlight handler for open drive
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void highlight_fmgr_drive_open(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
    SetLeftSoftkeyFunction(entry_fmgr_explorer, KEY_EVENT_UP);
#ifdef __MMI_TOUCH_SCREEN__
    wgui_reset_list_item_selected_callback();
#endif 
}


/*****************************************************************************
 * FUNCTION
 *  highlight_fmgr_format
 * DESCRIPTION
 *  highlight handler for format drive
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void highlight_fmgr_format(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    fmgr_p->drive_action = FMGR_ACTION_FORMAT;
    ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
    SetLeftSoftkeyFunction(entry_fmgr_drive_confirm, KEY_EVENT_UP);
#ifdef __MMI_TOUCH_SCREEN__
    wgui_reset_list_item_selected_callback();
#endif 
}


/*****************************************************************************
 * FUNCTION
 *  highlight_fmgr_check_drive
 * DESCRIPTION
 *  highlight handler for scan drive
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void highlight_fmgr_check_drive(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    fmgr_p->drive_action = FMGR_ACTION_CHECK_DRIVE;
    ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
    SetLeftSoftkeyFunction(entry_fmgr_drive_confirm, KEY_EVENT_UP);
#ifdef __MMI_TOUCH_SCREEN__
    wgui_reset_list_item_selected_callback();
#endif 
}


/*****************************************************************************
 * FUNCTION
 *  highlight_fmgr_unmount
 * DESCRIPTION
 *  highlight handler for unmount card
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void highlight_fmgr_unmount(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    fmgr_p->drive_action = FMGR_ACTION_UNMOUNT;
    ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
    SetLeftSoftkeyFunction(entry_fmgr_drive_confirm, KEY_EVENT_UP);
#ifdef __MMI_TOUCH_SCREEN__
    wgui_reset_list_item_selected_callback();
#endif 
}


/*****************************************************************************
 * FUNCTION
 *  highlight_fmgr_node
 * DESCRIPTION
 *  highlight handler for file or folder
 * PARAMETERS
 *  index       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void highlight_fmgr_node(S32 index)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    FMGR_FILE_INFO_STRUCT file_info;
    U8 sel_type;
#if defined(__DRM_V02__)
    MMI_BOOL is_multi_odf = MMI_FALSE;
    S32 file_type = 0;
#endif

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mmi_fmgr_kernel_get_file_info(index, &file_info);
    fmgr_p->cur_index = index;

    if (fmgr_p->src_application == APP_FILEMANAGER
    #ifdef __MMI_MY_FAVORITE__
        || fmgr_p->src_application == APP_MYFAVORITE
    #endif /* #ifdef __MMI_MY_FAVORITE__*/
        )
    {
    #ifdef __DRM_MTK__
        if (UCS2Strncmp((PS8) fmgr_p->file_path, (PS8) DRM_RO_PATH, UCS2Strlen((PS8) DRM_RO_PATH)) == 0)
        {
            /* DRM rights, back and left arrow only go back to drive list */
            ChangeLeftSoftkey(STR_GLOBAL_OPTIONS, 0);
            ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
            SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
            /* SetLeftSoftkeyFunction(entry_fmgr_delete_confirm, KEY_EVENT_UP); */
            SetLeftSoftkeyFunction(entry_fmgr_drm_rights_option, KEY_EVENT_UP);
            SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
        #ifdef __MMI_TOUCH_SCREEN__
            wgui_reset_list_item_selected_callback();
        #endif 
            return;
        }
        else
    #endif /* __DRM_MTK__ */ 
    
    #ifdef __MMI_DOWNLOAD_AGENT__
        /* download agent file */
        if (fmgr_is_da_file())
        {
            /* file node */
            ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
            SetLeftSoftkeyFunction(entry_fmgr_file_option, KEY_EVENT_UP);
        #ifdef __MMI_TOUCH_SCREEN__
            wgui_reset_list_item_selected_callback();
        #endif 
            SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
            SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
        }
        else
    #endif /* __MMI_DOWNLOAD_AGENT__ */ 

        {
            if (file_info.attribute & FS_ATTR_DIR)
            {
                /* folder node */
                if (fmgr_p->src_application == APP_FILEMANAGER)
                {
                SetLeftSoftkeyFunction(entry_fmgr_folder_option, KEY_EVENT_UP);
                }
            #ifdef __MMI_MY_FAVORITE__
                else if (fmgr_p->src_application == APP_MYFAVORITE)
                {
                    SetLeftSoftkeyFunction(entry_fmgr_folder_option, KEY_EVENT_UP);
                }
            #endif /* #ifdef __MMI_MY_FAVORITE__*/

                SetKeyHandler(fmgr_set_curr_path_and_enter, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);

            #ifdef __MMI_TOUCH_SCREEN__
                wgui_register_list_item_selected_callback(fmgr_set_curr_path_and_enter);
            #endif 
            }
            else
            {
                /* file node */
                if (fmgr_p->src_application == APP_FILEMANAGER)
                {
                    SetLeftSoftkeyFunction(entry_fmgr_file_option, KEY_EVENT_UP);
                }
            #ifdef __MMI_MY_FAVORITE__
                else if (fmgr_p->src_application == APP_MYFAVORITE)
                {
                    SetLeftSoftkeyFunction(entry_fmgr_app_file_option, KEY_EVENT_UP);
                }
            #endif /* #ifdef __MMI_MY_FAVORITE__*/

                ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
            #ifdef __MMI_TOUCH_SCREEN__
                wgui_reset_list_item_selected_callback();
            #endif 
            }
            SetKeyHandler(fmgr_back_to_parent, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
            SetRightSoftkeyFunction(fmgr_back_to_parent, KEY_EVENT_UP);
        }
        return;
    }

    /* for other applications */
    sel_type = fmgr_p->sel_type & 0x0f;

#if defined(__DRM_V02__)

    if (FMGR_FILTER_IS_SET(&file_info.file_type, FMGR_TYPE_ODF))
    {
        if (mmi_fmgr_append_file_name((PS8) fmgr_p->file_path, (PS8) file_info.file_name) == FALSE
    #ifndef __MMI_SHOW_FILE_EXT__
            || mmi_fmgr_append_file_name((PS8) fmgr_p->file_path, (PS8) file_info.file_ext) == FALSE
    #endif 
            )
        {
            ChangeLeftSoftkey(STR_GLOBAL_OK, 0);
            SetLeftSoftkeyFunction(fmgr_return_to_app, KEY_EVENT_UP);
        #ifdef __MMI_TOUCH_SCREEN__
            wgui_reset_list_item_selected_callback();
        #endif 
            return;
        }
    
        file_type = mmi_fmgr_get_drm_file_type_by_path((PS8) fmgr_p->file_path, &file_info.file_type);

        /* it is for avoid misjudge while highlight the files in the multipart ODF.
           because DRM_IS_ARCHIVE() will return true, when query a single file in the multipart ODF */
        if (file_type == FMGR_TYPE_ODF)
        {
            /* multi part ODF */
            is_multi_odf = MMI_TRUE;
        }
        mmi_fmgr_remove_last_dir((PS8) fmgr_p->file_path);
    }    
#endif /* defined(__DRM_V02__) */
    
    switch (sel_type)
    {
        case FMGR_SELECT_FILE:
            /* select file */
            if (file_info.attribute & FS_ATTR_DIR)
            {
                ChangeLeftSoftkey(STR_FMGR_OPEN, 0);
                SetKeyHandler(fmgr_set_curr_path_and_enter, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
                SetLeftSoftkeyFunction(fmgr_set_curr_path_and_enter, KEY_EVENT_UP);
                /* Leo start 20050808 */
            #ifdef __MMI_TOUCH_SCREEN__
                wgui_register_list_item_selected_callback(fmgr_set_curr_path_and_enter);
            #endif 
                /* Leo end 20050808 */
            }
            else
            {
            #if defined(__DRM_V02__)
                if ((is_multi_odf == MMI_TRUE) && !(fmgr_p->sel_type & FMGR_SELECT_ARCHIVE))
                {
                    if (fmgr_p->sel_type & FMGR_SELECT_ARCHIVE_WITH_SINGLE_OBJECT)
                    {
                        ChangeLeftSoftkey(0, 0);
                        ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
                    }
                    else
                    {
                        ChangeLeftSoftkey(STR_FMGR_OPEN, 0);
                        ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
                        SetLeftSoftkeyFunction(fmgr_open_mul_odf_hdlr, KEY_EVENT_UP);
                    #ifdef __MMI_TOUCH_SCREEN__
                        wgui_register_list_item_selected_callback(fmgr_open_mul_odf_hdlr);
                    #endif 
                    }
                }
                else
                {
                    if (FMGR_FILTER_IS_SET(&file_info.file_type, FMGR_TYPE_ODF))
                    {
                        if (!FMGR_FILTER_IS_SET(&fmgr_p->filter_type , file_type))
                        {                    
                            ChangeLeftSoftkey(0, 0);
                            ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
                        }
                        else
                        {
                            ChangeLeftSoftkey(STR_GLOBAL_OK, 0);
                            ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
                            SetLeftSoftkeyFunction(fmgr_return_to_app, KEY_EVENT_UP);
                        #ifdef __MMI_TOUCH_SCREEN__
                            wgui_reset_list_item_selected_callback();
                        #endif 
                        }
                    }
                    else
                    {
                        ChangeLeftSoftkey(STR_GLOBAL_OK, 0);
                        ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
                        SetLeftSoftkeyFunction(fmgr_return_to_app, KEY_EVENT_UP);
                    #ifdef __MMI_TOUCH_SCREEN__
                        wgui_reset_list_item_selected_callback();
                    #endif 
                    }
                }
            #else /* defined(__DRM_V02__) */
                ChangeLeftSoftkey(STR_GLOBAL_OK, 0);
                ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
                SetLeftSoftkeyFunction(fmgr_return_to_app, KEY_EVENT_UP);
            #ifdef __MMI_TOUCH_SCREEN__
                wgui_reset_list_item_selected_callback();
            #endif 
            
            #endif /* #if defined(__DRM_V02__) */
            }
	     #ifndef __AHONG_PROJECT_FEATURES__
            SetKeyHandler(fmgr_back_to_parent, KEY_LEFT_ARROW, KEY_EVENT_DOWN);//wanggang 20071214 bug49551
	      #endif
            SetRightSoftkeyFunction(fmgr_abort_app_select, KEY_EVENT_UP);
#if defined(__MMI_MY_FAVORITE__)
	     ClearKeyHandler(KEY_LEFT_ARROW, KEY_EVENT_DOWN);
	     ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
#endif
            break;

        case FMGR_SELECT_FOLDER:
            /* select folder to save file */
            if (file_info.attribute & FS_ATTR_DIR)
            {
                ChangeLeftSoftkey(STR_GLOBAL_OPTIONS, 0);
                SetKeyHandler(fmgr_set_curr_path_and_enter, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
                SetLeftSoftkeyFunction(entry_fmgr_folder_option, KEY_EVENT_UP);
                /* Leo start 20050808 */
            #ifdef __MMI_TOUCH_SCREEN__
                wgui_register_list_item_selected_callback(fmgr_set_curr_path_and_enter);
            #endif 
                /* Leo end 20050808 */
            }

            SetKeyHandler(fmgr_back_to_parent, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
            SetRightSoftkeyFunction(fmgr_abort_app_select, KEY_EVENT_UP);
#ifdef __MMI_CSB_BROWSER__
            if(fmgr_p->src_application == APP_CSB)
            {
                ChangeLeftSoftkey(STR_ID_CSB_SET_TEXT, 0);
                SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
                SetLeftSoftkeyFunction(fmgr_return_to_app, KEY_EVENT_UP);
            }
#endif /* __MMI_CSB_BROWSER__ */
            break;

        case FMGR_SELECT_FILE_OR_FOLDER:
            /* select file or folder */
            if (file_info.attribute & FS_ATTR_DIR)
            {
                /* folder node */
                ChangeLeftSoftkey(STR_GLOBAL_OPTIONS, 0);
                SetKeyHandler(fmgr_set_curr_pat

⌨️ 快捷键说明

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