uppsrc_merged.diff
uppsrc/Core/Util.cpp | ||
---|---|---|
664 | 664 |
return h; |
665 | 665 |
} |
666 | 666 | |
667 |
String GetLineEndings(const String& data, const String& default_eol) |
|
668 |
{ |
|
669 |
int q = data.ReverseFind("\n"); |
|
670 |
if(q >= 0) { |
|
671 |
if(data.Mid(q - 1, 1) == "\r") |
|
672 |
return "\r\n"; |
|
673 |
else |
|
674 |
return "\n"; |
|
675 |
} |
|
676 |
#if 0 |
|
677 |
else if(data.ReverseFind("\r") >= 0) |
|
678 |
return "\r"; |
|
679 |
#endif |
|
680 |
return default_eol; |
|
681 |
} |
|
682 | ||
667 | 683 |
void RegisterGlobalConfig(const char *name) |
668 | 684 |
{ |
669 | 685 |
Mutex::Lock __(sGCfgLock); |
uppsrc/Core/Util.h | ||
---|---|---|
449 | 449 |
return Load(x, ss); |
450 | 450 |
} |
451 | 451 | |
452 |
String GetLineEndings(const String& data, const String& default_eol = "\r\n"); |
|
453 | ||
452 | 454 |
void RegisterGlobalConfig(const char *name); |
453 | 455 |
void RegisterGlobalSerialize(const char *name, Event<Stream&> WhenSerialize); |
454 | 456 |
void RegisterGlobalConfig(const char *name, Event<> WhenFlush); |
uppsrc/IconDes/ImlFile.cpp | ||
---|---|---|
185 | 185 |
} |
186 | 186 |
} |
187 | 187 | |
188 |
String ImlEOL("\r\n"); |
|
189 | ||
188 | 190 |
bool LoadIml(const String& data, Array<ImlImage>& img, int& format) |
189 | 191 |
{ |
192 |
ImlEOL = GetLineEndings(data); |
|
190 | 193 |
CParser p(data); |
191 | 194 |
format = 0; |
192 | 195 |
try { |
... | ... | |
277 | 280 |
int64 start = out.GetPos(); |
278 | 281 |
while(b < e) { |
279 | 282 |
if(split && out.GetPos() >= start + 200u) { |
280 |
out.Put("\"\r\n\t\"");
|
|
283 |
out << "\"" << ImlEOL << "\t\"";
|
|
281 | 284 |
start = out.GetPos(); |
282 | 285 |
} |
283 | 286 |
if((byte)*b >= ' ' && *b != '\x7F' && *b != '\xFF') { |
... | ... | |
299 | 302 |
for(int i = 0; i < iml.GetCount(); i++) { |
300 | 303 |
const ImlImage& c = iml[i]; |
301 | 304 |
if(c.exp) |
302 |
out << "IMAGE_META(\"exp\", \"\")\r\n";
|
|
305 |
out << "IMAGE_META(\"exp\", \"\")" << ImlEOL;
|
|
303 | 306 |
String name = c.name; |
304 | 307 |
Image buffer = c.image; |
305 | 308 |
if(IsNull(name)) |
... | ... | |
314 | 317 |
out.PutLine("\tIMAGE_SCAN(\"\")"); |
315 | 318 |
out.Put("\tIMAGE_SCAN("); |
316 | 319 |
PutOctalString(out, scan.Begin(), scan.End(), true); |
317 |
out.Put(")\r\n");
|
|
320 |
out << ")" << ImlEOL;
|
|
318 | 321 |
last = i + 1; |
319 | 322 |
} |
320 | 323 |
} |
... | ... | |
331 | 334 |
ASSERT(!datastrm.IsError()); |
332 | 335 |
String s = datastrm.GetResult(); |
333 | 336 |
PutOctalString(out, s.Begin(), s.End()); |
334 |
out.Put(")\r\n");
|
|
337 |
out << ")" << ImlEOL;
|
|
335 | 338 |
} |
336 | 339 |
} |
337 | 340 |
else { |
338 |
out << "PREMULTIPLIED\r\n";
|
|
341 |
out << "PREMULTIPLIED" << ImlEOL;
|
|
339 | 342 |
Index<String> std_name; |
340 | 343 |
for(int i = 0; i < iml.GetCount(); i++) { |
341 | 344 |
const ImlImage& c = iml[i]; |
... | ... | |
351 | 354 |
out << "__DARK"; |
352 | 355 |
out << ")"; |
353 | 356 |
if(c.exp) |
354 |
out << " IMAGE_META(\"exp\", \"\")\r\n";
|
|
355 |
out << "\r\n";
|
|
357 |
out << " IMAGE_META(\"exp\", \"\")" << ImlEOL;
|
|
358 |
out << ImlEOL;
|
|
356 | 359 |
} |
357 | 360 |
int ii = 0; |
358 | 361 |
while(ii < iml.GetCount()) { |
... | ... | |
372 | 375 |
bn++; |
373 | 376 |
} |
374 | 377 |
String bs = PackImlData(bimg); |
375 |
out << "\r\nIMAGE_BEGIN_DATA\r\n";
|
|
378 |
out << ImlEOL << "IMAGE_BEGIN_DATA" << ImlEOL;
|
|
376 | 379 |
bs.Cat(0, ((bs.GetCount() + 31) & ~31) - bs.GetCount()); |
377 | 380 |
const byte *s = bs; |
378 | 381 |
for(int n = bs.GetCount() / 32; n--;) { |
... | ... | |
381 | 384 |
if(j) out << ','; |
382 | 385 |
out << (int)*s++; |
383 | 386 |
} |
384 |
out << ")\r\n";
|
|
387 |
out << ")" << ImlEOL;
|
|
385 | 388 |
} |
386 |
out << "IMAGE_END_DATA(" << bs.GetCount() << ", " << bn << ")\r\n";
|
|
389 |
out << "IMAGE_END_DATA(" << bs.GetCount() << ", " << bn << ")" << ImlEOL;
|
|
387 | 390 |
} |
388 | 391 |
} |
389 | 392 |
return out.GetResult(); |
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 | ||
---|---|---|
107 | 107 |
newfile = false; |
108 | 108 |
filetime = in.GetTime(); |
109 | 109 |
fileerror.Clear(); |
110 |
SetEOL(GetLineEndings(layfile)); |
|
110 | 111 |
try { |
111 | 112 |
CParser p(layfile); |
112 | 113 |
if(p.Char('#') && p.Id("ifdef")) { |
... | ... | |
129 | 130 |
else { |
130 | 131 |
newfile = true; |
131 | 132 |
filetime = Null; |
133 |
SetEOL("\r\n"); |
|
132 | 134 |
} |
133 | 135 |
search <<= Null; |
134 | 136 |
SyncLayoutList(); |
... | ... | |
149 | 151 |
String r; |
150 | 152 |
for(int i = 0; i < layout.GetCount(); i++) { |
151 | 153 |
layout[i].SetCharset(charset); |
152 |
r << layout[i].Save(0) << "\r\n";
|
|
154 |
r << layout[i].Save(0) << LayDes::EOL;
|
|
153 | 155 |
} |
154 | 156 |
layfile = r; |
155 | 157 |
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; |