summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrustable-code <krauter.simon@arcor.de>2019-12-26 13:38:28 +0100
committertrustable-code <krauter.simon@arcor.de>2019-12-26 13:38:28 +0100
commitedcdbe648f2b795905832228b08df506fcd31847 (patch)
treec9235c2a54ff4302ceea0ceb02dceda18a934ca5
parentea598cc77cc7340024990219da2a26b7e34f3e2c (diff)
downloadNiGui-edcdbe648f2b795905832228b08df506fcd31847.tar.gz
NiGui-edcdbe648f2b795905832228b08df506fcd31847.zip
Add helper proc `convertLineBreaks`
-rwxr-xr-xsrc/nigui.nim14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/nigui.nim b/src/nigui.nim
index 2068e3b..525ad9e 100755
--- a/src/nigui.nim
+++ b/src/nigui.nim
@@ -464,6 +464,8 @@ proc downKeys*(): seq[Key]
proc scaleToDpi*(val: int): int
proc scaleToDpi*(val: float): float
+proc convertLineBreaks*(str: string): string
+
# ----------------------------------------------------------------------------------------
# Dialogs
@@ -1205,6 +1207,18 @@ proc downKeys(): seq[Key] = fDownKeys
proc scaleToDpi(val: int): int = (val * fSystemDpi) div defaultDpi
proc scaleToDpi(val: float): float = val * fSystemDpi.float / defaultDpi.float
+proc convertLineBreaks(str: string): string =
+ ## Converts \n line breaks (LF) to \p line breaks (CRLF on Windows)
+ when useWindows():
+ for i in 0..str.high:
+ let curr = str[i]
+ if curr == '\n' and (i == 0 or str[i - 1] != '\r'):
+ result.add("\p")
+ else:
+ result.add(curr)
+ else:
+ result = str
+
proc internalKeyDown(key: Key) =
if not fDownKeys.contains(key):
fDownKeys.add(key)