void ShowCurrentHelpTopic() { size_t FileNameSize=Info.EditorControl(-1,ECTL_GETFILENAME,0,0); LPWSTR FileName=NULL; Info.EditorControl(-1,ECTL_GETINFO,0,&ei); if (FileNameSize) { FileName=new wchar_t[FileNameSize]; if (FileName) { Info.EditorControl(-1,ECTL_GETFILENAME,FileNameSize,FileName); } } switch (Opt.Style) { case 1: if (!(ei.CurState&ECSTATE_SAVED)) ShowHelpFromTempFile(); else ShowHelp(FileName,FindTopic()); break; case 2: if (!(ei.CurState&ECSTATE_SAVED)) Info.EditorControl(-1,ECTL_SAVEFILE, 0, 0); default: ShowHelp(FileName,FindTopic()); break; } if (FileName) { delete[] FileName; } }
bool ShowCurrentHelpTopic() { bool Result=true; wchar_t *FileName=GetEditorFileName(); Info.EditorControl(-1,ECTL_GETINFO,0,&ei); switch (Opt.Style) { case 1: if (!(ei.CurState&ECSTATE_SAVED)) ShowHelpFromTempFile(); else { const wchar_t *Topic=FindTopic(false); if (!Topic) Topic=FindTopic(true); if (Topic && *Topic) ShowHelp(FileName,Topic,false); else Result=false; } break; case 2: if (!(ei.CurState&ECSTATE_SAVED)) Info.EditorControl(-1,ECTL_SAVEFILE, 0, 0); default: ShowHelp(FileName,FindTopic(),false); break; } if (FileName) delete[] FileName; return Result; }