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

📄 cedtappconf.cpp

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



BOOL CCedtApp::SaveFtpAccountInfo(LPCTSTR lpszPathName)
{
	ofstream fout(lpszPathName, ios::out | ios::binary);
	if( ! fout.is_open() ) return FALSE;

	INT nLength = strlen(STRING_FTPACCOUNTVER);
	fout.write((const char *)STRING_FTPACCOUNTVER, nLength);

	for(INT i = 0; i < MAX_FTP_ACCOUNT; i++) {
		if( ! m_clsFtpAccounts[i].StreamSave(fout) ) { fout.close(); return FALSE; }
	}

	fout.close();
	return TRUE;
}

BOOL CCedtApp::LoadFtpAccountInfo(LPCTSTR lpszPathName) 
{
	ifstream fin(lpszPathName, ios::in | ios::nocreate | ios::binary);
	if( ! fin.is_open() ) return FALSE;

	TCHAR szBuffer[2048]; INT nLength = strlen(STRING_FTPACCOUNTVER); fin.read((char *)szBuffer, nLength); szBuffer[nLength] = '\0';
	if( strcmp(szBuffer, STRING_FTPACCOUNTVER) ) { fin.close(); return FALSE; }

	for(INT i = 0; i < MAX_FTP_ACCOUNT; i++) {
		if( ! m_clsFtpAccounts[i].StreamLoad(fin) ) { fin.close(); return FALSE; }
	}

	fin.close();
	return TRUE;
}

BOOL CCedtApp::SaveUserCommands(LPCTSTR lpszPathName)
{
	ofstream fout(lpszPathName, ios::out | ios::binary);
	if( ! fout.is_open() ) return FALSE;

	INT nLength = strlen(STRING_USERTOOLSVER);
	fout.write((const char *)STRING_USERTOOLSVER, nLength);

	for(INT i = 0; i < 11; i++) {
		if( ! CCedtView::m_clsUserCommand[i].StreamSave(fout) ) { fout.close(); return FALSE; }
	}

	fout.close();
	return TRUE;
}

BOOL CCedtApp::LoadUserCommands(LPCTSTR lpszPathName)
{
	ifstream fin(lpszPathName, ios::in | ios::nocreate | ios::binary);
	if( ! fin.is_open() ) return FALSE;

	TCHAR szBuffer[2048]; INT nLength = strlen(STRING_USERTOOLSVER); fin.read((char *)szBuffer, nLength); szBuffer[nLength] = '\0';
	if( strcmp(szBuffer, STRING_USERTOOLSVER) ) { fin.close(); return FALSE; }

	for(INT i = 0; i < 11; i++) {
		if( ! CCedtView::m_clsUserCommand[i].StreamLoad(fin) ) { fin.close(); return FALSE; }
	}

	fin.close();
	return TRUE;
}

BOOL CCedtApp::SaveMacroBuffers(LPCTSTR lpszPathName)
{
	ofstream fout(lpszPathName, ios::out | ios::binary);
	if( ! fout.is_open() ) return FALSE;

	INT nLength = strlen(STRING_USERMACROVER);
	fout.write((const char *)STRING_USERMACROVER, nLength);

	for(INT i = 0; i < 11; i++) {
		if( ! CCedtView::m_clsMacroBuffer[i].StreamSave(fout) ) { fout.close(); return FALSE; }
	}

	fout.close();
	return TRUE;
}

BOOL CCedtApp::LoadMacroBuffers(LPCTSTR lpszPathName)
{
	ifstream fin(lpszPathName, ios::in | ios::nocreate | ios::binary);
	if( ! fin.is_open() ) return FALSE;

	TCHAR szBuffer[2048]; INT nLength = strlen(STRING_USERMACROVER); fin.read((char *)szBuffer, nLength); szBuffer[nLength] = '\0';
	if( strcmp(szBuffer, STRING_USERMACROVER) ) { fin.close(); return FALSE; }

	for(INT i = 0; i < 11; i++) {
		if( ! CCedtView::m_clsMacroBuffer[i].StreamLoad(fin) ) { fin.close(); return FALSE; }
	}

	fin.close();
	return TRUE;
}

BOOL CCedtApp::SetDefaultColorSettings()
{
	CCedtView::m_crBkgrColor[0x00]				= CR_DEFAULT_BACKGROUND;
	CCedtView::m_crBkgrColor[0x01]				= CR_DEFAULT_LEFTMARGIN;
	CCedtView::m_crBkgrColor[0x02]				= CR_DEFAULT_CURRENTLINE;

	CCedtView::m_crTextColor[WT_LINEFEED]		= CR_DEFAULT_LINENUMBER;
	CCedtView::m_crTextColor[WT_CONSTANT]		= CR_DEFAULT_CONSTANT;
	CCedtView::m_crTextColor[WT_QUOTATION1]		= CR_DEFAULT_STRING;
	CCedtView::m_crTextColor[WT_LINECOMMENT]	= CR_DEFAULT_COMMENT;
	CCedtView::m_crTextColor[WT_VARIABLE]		= CR_DEFAULT_VARIABLE;
	CCedtView::m_crTextColor[WT_WORD]			= CR_DEFAULT_WORD;
	CCedtView::m_crTextColor[WT_WRONGWORD]		= CR_DEFAULT_WORD;
	CCedtView::m_crTextColor[WT_DBCHAR]			= CR_DEFAULT_WORD;
	CCedtView::m_crTextColor[WT_GRAPH]			= CR_DEFAULT_WORD;
	CCedtView::m_crTextColor[WT_RETURN]			= CR_DEFAULT_DELIMITER;
	CCedtView::m_crTextColor[WT_TAB]			= CR_DEFAULT_DELIMITER;
	CCedtView::m_crTextColor[WT_SPACE]			= CR_DEFAULT_DELIMITER;
	CCedtView::m_crTextColor[WT_DELIMITER]		= CR_DEFAULT_DELIMITER;

	CCedtView::m_crTextColor[WT_KEYWORD0]		= CR_DEFAULT_KEYWORD0;
	CCedtView::m_crTextColor[WT_KEYWORD1]		= CR_DEFAULT_KEYWORD1;
	CCedtView::m_crTextColor[WT_KEYWORD2]		= CR_DEFAULT_KEYWORD2;
	CCedtView::m_crTextColor[WT_KEYWORD3]		= CR_DEFAULT_KEYWORD3;
	CCedtView::m_crTextColor[WT_KEYWORD4]		= CR_DEFAULT_KEYWORD4;
	CCedtView::m_crTextColor[WT_KEYWORD5]		= CR_DEFAULT_KEYWORD5;
	CCedtView::m_crTextColor[WT_KEYWORD6]		= CR_DEFAULT_KEYWORD6;
	CCedtView::m_crTextColor[WT_KEYWORD7]		= CR_DEFAULT_KEYWORD7;
	CCedtView::m_crTextColor[WT_KEYWORD8]		= CR_DEFAULT_KEYWORD8;
	CCedtView::m_crTextColor[WT_KEYWORD9]		= CR_DEFAULT_KEYWORD9;

	CCedtView::m_crTextColor[WT_HIGHLIGHTON]	= CR_DEFAULT_HIGHLIGHTED;
	CCedtView::m_crTextColor[WT_SHADOWON]		= CR_DEFAULT_SHADOWED;
	CCedtView::m_crBkgrColor[0x03]				= CR_DEFAULT_RANGE1BKGR;
	CCedtView::m_crBkgrColor[0x04]				= CR_DEFAULT_RANGE2BKGR;

	return TRUE;
}

BOOL CCedtApp::LoadColorSettings()
{
	ifstream fin(CCedtApp::m_szInstallDirectory + "\\cedt.clr", ios::in | ios::nocreate | ios::binary);
	if( ! fin.is_open() ) return FALSE;

	TCHAR szBuffer[2048]; INT nLength = strlen(STRING_COLORSETTINGSVER); fin.read((char *)szBuffer, nLength); szBuffer[nLength] = '\0';
	if( strcmp(szBuffer, STRING_COLORSETTINGSVER) ) { fin.close(); return FALSE; }

	fin.read((char *)CCedtView::m_crBkgrColor, sizeof(CCedtView::m_crBkgrColor));
	if( ! fin.good() ) { fin.close(); return FALSE; }
	fin.read((char *)CCedtView::m_crTextColor, sizeof(CCedtView::m_crTextColor));
	if( ! fin.good() ) { fin.close(); return FALSE; }

	if( fin.peek() != EOF ) { fin.close(); return FALSE; }
	fin.close();

	return TRUE;
}

BOOL CCedtApp::SaveColorSettings()
{
	ofstream fout(CCedtApp::m_szInstallDirectory + "\\cedt.clr", ios::out | ios::binary);
	if( ! fout.is_open() ) return FALSE;

	INT nLength = strlen(STRING_COLORSETTINGSVER);
	fout.write((const char *)STRING_COLORSETTINGSVER, nLength);

	fout.write((const char *)CCedtView::m_crBkgrColor, sizeof(CCedtView::m_crBkgrColor));
	fout.write((const char *)CCedtView::m_crTextColor, sizeof(CCedtView::m_crTextColor));

	fout.close();

	return TRUE;
}


void CCedtApp::SetDefaultConfiguration()
{
	memset(CCedtView::m_lfScreen, 0x00, sizeof(CCedtView::m_lfScreen));
	strcpy(CCedtView::m_lfScreen[0].lfFaceName, "Courier New");
	strcpy(CCedtView::m_lfScreen[1].lfFaceName, "FixedSys");
	strcpy(CCedtView::m_lfScreen[2].lfFaceName, "Verdana");
	strcpy(CCedtView::m_lfScreen[3].lfFaceName, "Arial");
	strcpy(CCedtView::m_lfScreen[4].lfFaceName, "Lucida Console");
	strcpy(CCedtView::m_lfScreen[5].lfFaceName, "Terminal");
	CCedtView::m_lfScreen[0].lfHeight = 100;	CCedtView::m_lfScreen[1].lfHeight = 90;
	CCedtView::m_lfScreen[2].lfHeight = 100;	CCedtView::m_lfScreen[3].lfHeight = 100;
	CCedtView::m_lfScreen[4].lfHeight = 100;	CCedtView::m_lfScreen[5].lfHeight = 100;
	CCedtView::m_lfScreen[0].lfCharSet = CCedtView::m_lfScreen[1].lfCharSet = DEFAULT_CHARSET;
	CCedtView::m_lfScreen[2].lfCharSet = CCedtView::m_lfScreen[3].lfCharSet = DEFAULT_CHARSET;
	CCedtView::m_lfScreen[4].lfCharSet = CCedtView::m_lfScreen[5].lfCharSet = DEFAULT_CHARSET;
	CCedtView::m_lfScreen[0].lfPitchAndFamily = CCedtView::m_lfScreen[1].lfPitchAndFamily = 0x31;
	CCedtView::m_lfScreen[2].lfPitchAndFamily = CCedtView::m_lfScreen[3].lfPitchAndFamily = 0x22;
	CCedtView::m_lfScreen[4].lfPitchAndFamily = CCedtView::m_lfScreen[5].lfPitchAndFamily = 0x31;
	CCedtView::m_nCurrentScreenFont = 0;

	memset(CCedtView::m_lfPrinter, 0x00, sizeof(CCedtView::m_lfPrinter));
	strcpy(CCedtView::m_lfPrinter[0].lfFaceName, "Courier New");
	strcpy(CCedtView::m_lfPrinter[1].lfFaceName, "Verdana");
	strcpy(CCedtView::m_lfPrinter[2].lfFaceName, "Arial");
	strcpy(CCedtView::m_lfPrinter[3].lfFaceName, "Lucida Console");
	CCedtView::m_lfPrinter[0].lfHeight = 100;	CCedtView::m_lfPrinter[1].lfHeight = 100;
	CCedtView::m_lfPrinter[2].lfHeight = 100;	CCedtView::m_lfPrinter[3].lfHeight = 100;
	CCedtView::m_lfPrinter[0].lfCharSet = CCedtView::m_lfPrinter[1].lfCharSet = DEFAULT_CHARSET;
	CCedtView::m_lfPrinter[2].lfCharSet = CCedtView::m_lfPrinter[3].lfCharSet = DEFAULT_CHARSET;
	CCedtView::m_lfPrinter[0].lfPitchAndFamily = CCedtView::m_lfPrinter[3].lfPitchAndFamily = 0x31;
	CCedtView::m_lfPrinter[1].lfPitchAndFamily = CCedtView::m_lfPrinter[2].lfPitchAndFamily = 0x22;
	CCedtView::m_nCurrentPrinterFont = 0;

	memset(CCedtView::m_lfMiscel, 0x00, sizeof(CCedtView::m_lfMiscel));
	strcpy(CCedtView::m_lfMiscel[0].lfFaceName, "Courier New");
	strcpy(CCedtView::m_lfMiscel[1].lfFaceName, "Courier New");
	CCedtView::m_lfMiscel[0].lfHeight = 100;	CCedtView::m_lfMiscel[1].lfHeight = 100;
	CCedtView::m_lfMiscel[0].lfCharSet = CCedtView::m_lfMiscel[1].lfCharSet = DEFAULT_CHARSET;
	CCedtView::m_lfMiscel[0].lfPitchAndFamily = CCedtView::m_lfMiscel[1].lfPitchAndFamily = 0x31;

	CCedtView::m_bShowLineNumbers = FALSE;
	CCedtView::m_bSyntaxHighlight = TRUE;
	CCedtView::m_bEmboldenKeywords = FALSE;
	CCedtView::m_bItalicizeComment = FALSE;
	CCedtView::m_bHighlightActiveLine = TRUE;
	CCedtView::m_bUseSpacesInPlaceOfTab = FALSE;
	CCedtView::m_bEnablePairsMatching = TRUE;
	CCedtView::m_bEnableAutoIndent = TRUE;
	CCedtView::m_bShowSelectionMargin = FALSE;
	CCedtView::m_bHomeKeyGoesToFirstPosition = FALSE;
	CCedtView::m_bSearchWrapAtEndOfFile = TRUE;
	CCedtView::m_bEnableDragAndDropEditing = TRUE;
	CCedtView::m_bOpenDocumentWordWrapped = FALSE;
	CCedtView::m_bShowSpaces = FALSE;
	CCedtView::m_bShowTabChars = FALSE;
	CCedtView::m_bShowLineBreak = FALSE;

	CCedtView::m_nTabSize = 4;
	CCedtView::m_nLineSpacing = 100;
	CCedtView::m_nLineNumberDigits = 4;
	CCedtView::m_nCaretWidthRatio = 25;
	CCedtView::m_nFileTabLength = 32;
	CCedtView::m_nFixedWrapWidth = 0;
	CCedtView::m_nWrapIndentation = 4;

	CCedtView::m_bShowColumnMarker1 = FALSE;
	CCedtView::m_bShowColumnMarker2 = FALSE;
	CCedtView::m_nColumnMarker1Pos = 6;
	CCedtView::m_nColumnMarker2Pos = 80;

	// print setup
	CCedtView::m_rectPageMargin.left = 100;
	CCedtView::m_rectPageMargin.top = 100;
	CCedtView::m_rectPageMargin.right = 100;
	CCedtView::m_rectPageMargin.bottom = 100;
	CCedtView::m_bPrintLineNumbers = FALSE;
	CCedtView::m_bPrintSyntaxHighlight = FALSE;
	CCedtView::m_bPrintHeader = TRUE;
	CCedtView::m_bPrintFooter = TRUE;
	CCedtView::m_szHeaderFormat[0] = "$(FileName)";
	CCedtView::m_szHeaderFormat[1] = "";
	CCedtView::m_szHeaderFormat[2] = "$(PageNumber) / $(TotalPage)";
	CCedtView::m_szFooterFormat[0] = "$(CurrDate)";
	CCedtView::m_szFooterFormat[1] = "";
	CCedtView::m_szFooterFormat[2] = "Crimson Editor";

	// document related
	CCedtDoc::m_bConvertTabsToSpacesBeforeSaving = FALSE;
	CCedtDoc::m_bRemoveTrailingSpacesBeforeSaving = FALSE;

	CCedtDoc::m_bSaveFilesInUnixFormat = FALSE;
	CCedtDoc::m_bSaveRemoteFilesInUnixFormat = TRUE;

	// backup files
	CCedtDoc::m_nMakeBackupFile = BACKUP_DONT_BACKUP;
	CCedtDoc::m_nBackupMethod = BACKUP_METHOD01;
	CCedtDoc::m_szBackupExtension = "bak";
	CCedtDoc::m_szBackupDirectory = "";

	// syntax types
	CString szSyntaxCount; szSyntaxCount.LoadString(IDS_CONF_SYNTAX_COUNT);
	INT nSyntaxCount = atoi(szSyntaxCount);

	for(INT i = 0; i < nSyntaxCount; i++) {
		CString szSyntaxType; szSyntaxType.LoadString(IDS_CONF_SYNTAX_TYPE0 + i);
		INT nFound; CString szDescription, szLangSpec, szKeywords;

		nFound = szSyntaxType.Find('|'); if( nFound < 0 ) { szSyntaxType = "NULL Document|NULL.SPC|NULL.KEY"; nFound = 13; }
		szDescription = szSyntaxType.Left(nFound); szSyntaxType = szSyntaxType.Mid(nFound + 1);
		nFound = szSyntaxType.Find('|'); if( nFound < 0 ) { szSyntaxType = "NULL.SPC|NULL.KEY", nFound = 8; }
		szLangSpec = szSyntaxType.Left(nFound); szKeywords = szSyntaxType.Mid(nFound + 1);

		CCedtDoc::m_clsSyntaxTypes[i].AssignContents(szDescription, szLangSpec, szKeywords);
	}

	if( nSyntaxCount < 1 ) { // in case there is no syntax type
		CString szDescription = "NULL Document";
		CString szLangSpec = "NULL.SPC";
		CString szKeywords = "NULL.KEY";
		CCedtDoc::m_clsSyntaxTypes[0].AssignContents(szDescription, szLangSpec, szKeywords);
	}

	// working directory and application settings
	CCedtApp::m_szInitialWorkingDirectory = "";
	CCedtApp::m_szRemoteBackupDirectory = "";
	CCedtApp::m_bCreateNewDocumentOnStartup = TRUE;
	CCedtApp::m_bReloadWorkingFilesOnStartup = TRUE;

	// file filters
	CString szFilterCount; szFilterCount.LoadString(IDS_CONF_FILTER_COUNT);
	INT nFilterCount = atoi(szFilterCount);

	for(INT j = 0; j < nFilterCount; j++) {
		CString szFileFilter; szFileFilter.LoadString(IDS_CONF_FILE_FILTER0 + j);
		INT nFound; CString szDescription, szExtensions, szDefaultExt;

		nFound = szFileFilter.Find('|'); if( nFound < 0 ) { szFileFilter = "All Files|*.*|"; nFound = 9; }
		szDescription = szFileFilter.Left(nFound); szFileFilter = szFileFilter.Mid(nFound + 1);
		nFound = szFileFilter.Find('|'); if( nFound < 0 ) { szFileFilter = "*.*|"; nFound = 3; }
		szExtensions = szFileFilter.Left(nFound); szDefaultExt = szFileFilter.Mid(nFound + 1);

		CCedtApp::m_clsFileFilters[j].AssignContents(szDescription, szExtensions, szDefaultExt);
	}

	if( nFilterCount < 1 ) { // in case there is no file filter
		CString szDescription = "All Files";
		CString szExtensions = "*.*";
		CString szDefaultExt = "";
		CCedtApp::m_clsFileFilters[0].AssignContents(szDescription, szExtensions, szDefaultExt);

⌨️ 快捷键说明

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