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

📄 cedtappconf.cpp

📁 Crimson编辑器的英文版,完成从韩文版变成英文版的移植,并且附带可执行文件和注册表文件,无需原先的安装包,是改写编辑器的最理想选择.
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	}

	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 + -