uppsrc_ide_LayDes.diff

Proposed patch for uppsrc/ide/LayDes files (since 13628 revision) - Sender Ghost, 10/07/2019 04:10 AM

Download (3.16 KB)

View differences:

uppsrc/ide/LayDes/LayDes.h
276 276
	virtual void   Layout() override;
277 277
	virtual bool   HotKey(dword key) override;
278 278

  
279
	static String EOL;
280
	static void SetEOL(const String& le) { EOL = le; }
281

  
279 282
private:
280 283
	bool   DoKey(dword key, int count);
281 284
	bool   DoHotKey(dword key);
uppsrc/ide/LayDes/item.cpp
212 212
	else
213 213
		out << "\tITEM(" << type << ", ";
214 214
	String var = variable.IsEmpty() ? Format("dv___%d", i) : variable;
215
	out << var << ", " << SaveProperties(y) << ")\r\n";
215
	out << var << ", " << SaveProperties(y) << ")" << LayDes::EOL;
216 216
	return out;
217 217
}
218 218

  
uppsrc/ide/LayDes/layfile.cpp
97 97
bool LayDes::Load(const char *file, byte _charset)
98 98
{
99 99
	charset = _charset;
100
	SetEOL("\r\n");
100 101
	if(charset == CHARSET_UTF8_BOM)
101 102
		charset = CHARSET_UTF8;
102 103
	layout.Clear();
......
107 108
		newfile = false;
108 109
		filetime = in.GetTime();
109 110
		fileerror.Clear();
111
		int q = layfile.ReverseFind("\n");
112
		if(q >= 0) {
113
			if(layfile.Mid(q - 1, 1) != "\r")
114
				SetEOL("\n");
115
		}
116
#if 0
117
		else if(layfile.ReverseFind("\r") >= 0)
118
			SetEOL("\r");
119
#endif
110 120
		try {
111 121
			CParser p(layfile);
112 122
			if(p.Char('#') && p.Id("ifdef")) {
......
149 159
	String r;
150 160
	for(int i = 0; i < layout.GetCount(); i++) {
151 161
		layout[i].SetCharset(charset);
152
		r << layout[i].Save(0) << "\r\n";
162
		r << layout[i].Save(0) << LayDes::EOL;
153 163
	}
154 164
	layfile = r;
155 165
	if(!SaveChangedFileFinish(filename, r))
uppsrc/ide/LayDes/layout.cpp
94 94
String LayoutData::Save(int y)
95 95
{
96 96
	String out;
97
	out << "LAYOUT(" << name << ", " << size.cx << ", " << size.cy << ")\r\n";
97
	out << "LAYOUT(" << name << ", " << size.cx << ", " << size.cy << ")" << LayDes::EOL;
98 98
	for(int i = 0; i < item.GetCount(); i++) {
99 99
		out << item[i].Save(i, y);
100 100
	}
101
	out << "END_LAYOUT\r\n";
101
	out << "END_LAYOUT" << LayDes::EOL;
102 102
	return out;
103 103
}
104 104

  
......
107 107
	Vector<int> cs(sel, 1);
108 108
	Sort(cs);
109 109
	String out;
110
	out << "LAYOUT(" << name << ", " << size.cx << ", " << size.cy << ")\r\n";
110
	out << "LAYOUT(" << name << ", " << size.cx << ", " << size.cy << ")" << LayDes::EOL;
111 111
	for(int i = 0; i < cs.GetCount(); i++)
112 112
		out << item[cs[i]].Save(cs[i], y);
113
	out << "END_LAYOUT\r\n";
113
	out << "END_LAYOUT" << LayDes::EOL;
114 114
	return out;
115 115
}
116 116

  
uppsrc/ide/LayDes/laywin.cpp
278 278
	       StaticRect::HotKey(key);
279 279
}
280 280

  
281
String LayDes::EOL("\r\n");
282

  
281 283
LayDes::LayDes()
282 284
{
283 285
	charset = CHARSET_UTF8;