📄 cedtappconf.cpp
字号:
}
CCedtApp::m_nFilterIndexDialog = 0;
CCedtApp::m_nFilterIndexPannel = 0;
}
BOOL CCedtApp::LoadUserConfiguration()
{
INT i, nLength; TCHAR szBuffer[2048];
ifstream fin(m_szInstallDirectory + "\\cedt.cfg", ios::in | ios::nocreate | ios::binary);
if( ! fin.is_open() ) return FALSE;
nLength = strlen(STRING_CONFIGURATIONVER); fin.read((char *)szBuffer, nLength); szBuffer[nLength] = '\0';
if( strcmp(szBuffer, STRING_CONFIGURATIONVER) ) { fin.close(); return FALSE; }
fin.read((char *)CCedtView::m_lfScreen, sizeof(CCedtView::m_lfScreen));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_nCurrentScreenFont), sizeof(INT));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)CCedtView::m_lfPrinter, sizeof(CCedtView::m_lfPrinter));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_nCurrentPrinterFont), sizeof(INT));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)CCedtView::m_lfMiscel, sizeof(CCedtView::m_lfMiscel));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bShowLineNumbers), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bSyntaxHighlight), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bEmboldenKeywords), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bItalicizeComment), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bHighlightActiveLine), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bUseSpacesInPlaceOfTab), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bEnablePairsMatching), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bEnableAutoIndent), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bShowSelectionMargin), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bHomeKeyGoesToFirstPosition), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bSearchWrapAtEndOfFile), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bEnableDragAndDropEditing), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bOpenDocumentWordWrapped), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bShowSpaces), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bShowTabChars), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bShowLineBreak), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_nTabSize), sizeof(INT));
if( CCedtView::m_nTabSize < 1 || CCedtView::m_nTabSize > 16 ) { fin.close(); return FALSE; }
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_nLineSpacing), sizeof(INT));
if( CCedtView::m_nLineSpacing < 50 || CCedtView::m_nLineSpacing > 200 ) { fin.close(); return FALSE; }
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_nLineNumberDigits), sizeof(INT));
if( CCedtView::m_nLineNumberDigits < 2 || CCedtView::m_nLineNumberDigits > 8 ) { fin.close(); return FALSE; }
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_nCaretWidthRatio), sizeof(INT));
if( CCedtView::m_nCaretWidthRatio < 1 || CCedtView::m_nCaretWidthRatio > 100 ) { fin.close(); return FALSE; }
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_nFileTabLength), sizeof(INT));
if( CCedtView::m_nFileTabLength < 12 || CCedtView::m_nFileTabLength > 60 ) { fin.close(); return FALSE; }
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_nFixedWrapWidth), sizeof(INT));
if( CCedtView::m_nFixedWrapWidth < 0 || CCedtView::m_nFixedWrapWidth > 160 ) { fin.close(); return FALSE; }
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_nWrapIndentation), sizeof(INT));
if( CCedtView::m_nWrapIndentation < 0 || CCedtView::m_nWrapIndentation > 16 ) { fin.close(); return FALSE; }
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bShowColumnMarker1), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bShowColumnMarker2), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_nColumnMarker1Pos), sizeof(INT));
if( CCedtView::m_nColumnMarker1Pos < 0 || CCedtView::m_nColumnMarker1Pos > 160 ) { fin.close(); return FALSE; }
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_nColumnMarker2Pos), sizeof(INT));
if( CCedtView::m_nColumnMarker2Pos < 0 || CCedtView::m_nColumnMarker2Pos > 160 ) { fin.close(); return FALSE; }
if( ! fin.good() ) { fin.close(); return FALSE; }
// print setup
fin.read((char *)(& CCedtView::m_rectPageMargin), sizeof(RECT));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bPrintLineNumbers), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bPrintSyntaxHighlight), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bPrintHeader), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtView::m_bPrintFooter), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
// header format
for(i = 0; i < 3; i++) {
nLength = 0; fin.read((char *)(& nLength), sizeof(INT));
if( nLength < 0 || nLength >= 2048 ) { fin.close(); return FALSE; }
if( nLength ) fin.read((char *)szBuffer, nLength);
if( ! fin.good() ) { fin.close(); return FALSE; }
szBuffer[nLength] = '\0'; CCedtView::m_szHeaderFormat[i] = szBuffer;
}
// footer format
for(i = 0; i < 3; i++) {
nLength = 0; fin.read((char *)(& nLength), sizeof(INT));
if( nLength < 0 || nLength >= 2048 ) { fin.close(); return FALSE; }
if( nLength ) fin.read((char *)szBuffer, nLength);
if( ! fin.good() ) { fin.close(); return FALSE; }
szBuffer[nLength] = '\0'; CCedtView::m_szFooterFormat[i] = szBuffer;
}
// document related
fin.read((char *)(& CCedtDoc::m_bConvertTabsToSpacesBeforeSaving), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtDoc::m_bRemoveTrailingSpacesBeforeSaving), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtDoc::m_bSaveFilesInUnixFormat), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtDoc::m_bSaveRemoteFilesInUnixFormat), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
// backup files
fin.read((char *)(& CCedtDoc::m_nMakeBackupFile), sizeof(UINT));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtDoc::m_nBackupMethod), sizeof(UINT));
if( ! fin.good() ) { fin.close(); return FALSE; }
nLength = 0; fin.read((char *)(& nLength), sizeof(INT));
if( nLength < 0 || nLength >= 2048 ) { fin.close(); return FALSE; }
if( nLength ) fin.read((char *)szBuffer, nLength);
if( ! fin.good() ) { fin.close(); return FALSE; }
szBuffer[nLength] = '\0'; CCedtDoc::m_szBackupExtension = szBuffer;
nLength = 0; fin.read((char *)(& nLength), sizeof(INT));
if( nLength < 0 || nLength >= 2048 ) { fin.close(); return FALSE; }
if( nLength ) fin.read((char *)szBuffer, nLength);
if( ! fin.good() ) { fin.close(); return FALSE; }
szBuffer[nLength] = '\0'; CCedtDoc::m_szBackupDirectory = szBuffer;
// syntax types
for( i = 0; i < MAX_SYNTAX_TYPE; i++ ) {
CCedtDoc::m_clsSyntaxTypes[i].StreamLoad(fin);
if( ! fin.good() ) { fin.close(); return FALSE; }
}
// working directory
nLength = 0; fin.read((char *)(& nLength), sizeof(INT));
if( nLength < 0 || nLength >= 2048 ) { fin.close(); return FALSE; }
if( nLength ) fin.read((char *)szBuffer, nLength);
if( ! fin.good() ) { fin.close(); return FALSE; }
szBuffer[nLength] = '\0'; CCedtApp::m_szInitialWorkingDirectory = szBuffer;
// remote backup directory
nLength = 0; fin.read((char *)(& nLength), sizeof(INT));
if( nLength < 0 || nLength >= 2048 ) { fin.close(); return FALSE; }
if( nLength ) fin.read((char *)szBuffer, nLength);
if( ! fin.good() ) { fin.close(); return FALSE; }
szBuffer[nLength] = '\0'; CCedtApp::m_szRemoteBackupDirectory = szBuffer;
// application initialization options
fin.read((char *)(& CCedtApp::m_bCreateNewDocumentOnStartup), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
fin.read((char *)(& CCedtApp::m_bReloadWorkingFilesOnStartup), sizeof(BOOL));
if( ! fin.good() ) { fin.close(); return FALSE; }
// file filters and application settings
for( i = 0; i < MAX_FILE_FILTER; i++ ) {
CCedtApp::m_clsFileFilters[i].StreamLoad(fin);
if( ! fin.good() ) { fin.close(); return FALSE; }
}
fin.read((char *)(& CCedtApp::m_nFilterIndexDialog), sizeof(INT));
fin.read((char *)(& CCedtApp::m_nFilterIndexPannel), sizeof(INT));
if( fin.peek() != EOF ) { fin.close(); return FALSE; }
fin.close();
return TRUE;
}
BOOL CCedtApp::SaveUserConfiguration()
{
INT i, nLength;
ofstream fout(m_szInstallDirectory + "\\cedt.cfg", ios::out | ios::binary);
if( ! fout.is_open() ) return FALSE;
nLength = strlen(STRING_CONFIGURATIONVER);
fout.write((const char *)STRING_CONFIGURATIONVER, nLength);
fout.write((const char *)CCedtView::m_lfScreen, sizeof(CCedtView::m_lfScreen));
fout.write((const char *)(& CCedtView::m_nCurrentScreenFont), sizeof(INT));
fout.write((const char *)CCedtView::m_lfPrinter, sizeof(CCedtView::m_lfPrinter));
fout.write((const char *)(& CCedtView::m_nCurrentPrinterFont), sizeof(INT));
fout.write((const char *)CCedtView::m_lfMiscel, sizeof(CCedtView::m_lfMiscel));
fout.write((const char *)(& CCedtView::m_bShowLineNumbers), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bSyntaxHighlight), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bEmboldenKeywords), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bItalicizeComment), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bHighlightActiveLine), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bUseSpacesInPlaceOfTab), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bEnablePairsMatching), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bEnableAutoIndent), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bShowSelectionMargin), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bHomeKeyGoesToFirstPosition), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bSearchWrapAtEndOfFile), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bEnableDragAndDropEditing), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bOpenDocumentWordWrapped), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bShowSpaces), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bShowTabChars), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bShowLineBreak), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_nTabSize), sizeof(INT));
fout.write((const char *)(& CCedtView::m_nLineSpacing), sizeof(INT));
fout.write((const char *)(& CCedtView::m_nLineNumberDigits), sizeof(INT));
fout.write((const char *)(& CCedtView::m_nCaretWidthRatio), sizeof(INT));
fout.write((const char *)(& CCedtView::m_nFileTabLength), sizeof(INT));
fout.write((const char *)(& CCedtView::m_nFixedWrapWidth), sizeof(INT));
fout.write((const char *)(& CCedtView::m_nWrapIndentation), sizeof(INT));
fout.write((const char *)(& CCedtView::m_bShowColumnMarker1), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bShowColumnMarker2), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_nColumnMarker1Pos), sizeof(INT));
fout.write((const char *)(& CCedtView::m_nColumnMarker2Pos), sizeof(INT));
// print setup
fout.write((const char *)(& CCedtView::m_rectPageMargin), sizeof(RECT));
fout.write((const char *)(& CCedtView::m_bPrintLineNumbers), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bPrintSyntaxHighlight), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bPrintHeader), sizeof(BOOL));
fout.write((const char *)(& CCedtView::m_bPrintFooter), sizeof(BOOL));
// header format
for(i = 0; i < 3; i++) {
nLength = CCedtView::m_szHeaderFormat[i].GetLength();
fout.write((const char *)(& nLength), sizeof(INT));
if( nLength ) fout.write((const char *)(CCedtView::m_szHeaderFormat[i]), nLength);
}
// footer format
for(i = 0; i < 3; i++) {
nLength = CCedtView::m_szFooterFormat[i].GetLength();
fout.write((const char *)(& nLength), sizeof(INT));
if( nLength ) fout.write((const char *)(CCedtView::m_szFooterFormat[i]), nLength);
}
// document related
fout.write((const char *)(& CCedtDoc::m_bConvertTabsToSpacesBeforeSaving), sizeof(BOOL));
fout.write((const char *)(& CCedtDoc::m_bRemoveTrailingSpacesBeforeSaving), sizeof(BOOL));
fout.write((const char *)(& CCedtDoc::m_bSaveFilesInUnixFormat), sizeof(BOOL));
fout.write((const char *)(& CCedtDoc::m_bSaveRemoteFilesInUnixFormat), sizeof(BOOL));
// backup files
fout.write((const char *)(& CCedtDoc::m_nMakeBackupFile), sizeof(UINT));
fout.write((const char *)(& CCedtDoc::m_nBackupMethod), sizeof(UINT));
nLength = CCedtDoc::m_szBackupExtension.GetLength();
fout.write((const char *)(& nLength), sizeof(INT));
if( nLength ) fout.write((const char *)(CCedtDoc::m_szBackupExtension), nLength);
nLength = CCedtDoc::m_szBackupDirectory.GetLength();
fout.write((const char *)(& nLength), sizeof(INT));
if( nLength ) fout.write((const char *)(CCedtDoc::m_szBackupDirectory), nLength);
// syntax types
for( i = 0; i < MAX_SYNTAX_TYPE; i++ ) {
CCedtDoc::m_clsSyntaxTypes[i].StreamSave(fout);
}
// working directory
nLength = CCedtApp::m_szInitialWorkingDirectory.GetLength();
fout.write((const char *)(& nLength), sizeof(INT));
if( nLength ) fout.write((const char *)(CCedtApp::m_szInitialWorkingDirectory), nLength);
// remote backup directory
nLength = CCedtApp::m_szRemoteBackupDirectory.GetLength();
fout.write((const char *)(& nLength), sizeof(INT));
if( nLength ) fout.write((const char *)(CCedtApp::m_szRemoteBackupDirectory), nLength);
// application initialization options
fout.write((const char *)(& CCedtApp::m_bCreateNewDocumentOnStartup), sizeof(BOOL));
fout.write((const char *)(& CCedtApp::m_bReloadWorkingFilesOnStartup), sizeof(BOOL));
// file filters
for( i = 0; i < MAX_FILE_FILTER; i++ ) {
CCedtApp::m_clsFileFilters[i].StreamSave(fout);
}
fout.write((const char *)(& CCedtApp::m_nFilterIndexDialog), sizeof(INT));
fout.write((const char *)(& CCedtApp::m_nFilterIndexPannel), sizeof(INT));
fout.close();
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -