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();