From cdcdbedbc1a82db8d6888bf9889766ec93899274 Mon Sep 17 00:00:00 2001 From: Roman Savochenko Date: Tue, 21 Nov 2023 19:52:40 +0200 Subject: [PATCH] KCALC: Local real values to or from clipboard Signed-off-by: Roman Savochenko --- kcalc/general.ui | 8 ++++++++ kcalc/kcalc.kcfg | 4 ++++ kcalc/kcalcdisplay.cpp | 5 ++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/kcalc/general.ui b/kcalc/general.ui index bd04b29..1547284 100644 --- a/kcalc/general.ui +++ b/kcalc/general.ui @@ -153,6 +153,14 @@ Group digits + + + kcfg_CopyToBufNoLocale + + + Copy real values to the buffer in not localized view + + diff --git a/kcalc/kcalc.kcfg b/kcalc/kcalc.kcfg index f098654..1e74850 100644 --- a/kcalc/kcalc.kcfg +++ b/kcalc/kcalc.kcfg @@ -83,6 +83,10 @@ true + + + false + false diff --git a/kcalc/kcalcdisplay.cpp b/kcalc/kcalcdisplay.cpp index 1c620b0..1dac94f 100644 --- a/kcalc/kcalcdisplay.cpp +++ b/kcalc/kcalcdisplay.cpp @@ -102,7 +102,8 @@ void KCalcDisplay::slotCut(void) void KCalcDisplay::slotCopy(void) { - TQString txt = TQLabel::text(); + TQString txt = (_num_base == NB_DECIMAL && KCalcSettings::copyToBufNoLocale()) ? + _display_amount.toTQString(KCalcSettings::precision(), _fixed_precision) : TQLabel::text(); if (_num_base == NB_HEX) txt.prepend( "0x" ); (TQApplication::clipboard())->setText(txt, TQClipboard::Clipboard); @@ -142,6 +143,8 @@ void KCalcDisplay::slotPaste(bool bClipboard) } else // _num_base == NB_DECIMAL && ! tmp_str.startsWith("0x", false) { + tmp_str.replace(" ", "").replace(",", "."); //Normalization from the most localized numbers + setAmount(KNumber(tmp_str)); if (_beep && _display_amount == KNumber::NotDefined) KNotifyClient::beep();