diff --git a/kcalc.h b/kcalc.h --- a/kcalc.h +++ b/kcalc.h @@ -226,6 +226,8 @@ void slotBaseModeAmountChanged(KNumber number); + void slotPaste(); + private: enum StatusField { ShiftField = 0, diff --git a/kcalc.cpp b/kcalc.cpp --- a/kcalc.cpp +++ b/kcalc.cpp @@ -178,7 +178,7 @@ KStandardAction::redo(calc_display, SLOT(slotHistoryForward()), actionCollection()); KStandardAction::cut(calc_display, SLOT(slotCut()), actionCollection()); KStandardAction::copy(calc_display, SLOT(slotCopy()), actionCollection()); - KStandardAction::paste(calc_display, SLOT(slotPaste()), actionCollection()); + KStandardAction::paste(this, SLOT(slotPaste()), actionCollection()); // mode menu QActionGroup *modeGroup = new QActionGroup(this); @@ -723,6 +723,7 @@ val.replace(QLatin1Char('.'), KNumber::decimalSeparator()); calc_display->setAmount(KNumber(val)); updateDisplay({}); + core.setOnlyUpdateOperation(false); } //------------------------------------------------------------------------------ @@ -1603,6 +1604,7 @@ } updateDisplay({}); + core.setOnlyUpdateOperation(false); } } @@ -2354,6 +2356,15 @@ } } +//------------------------------------------------------------------------------ +// Name: eventFilter +// Desc: paste a number from the clipboard +//------------------------------------------------------------------------------ +void KCalculator::slotPaste() { + calc_display->slotPaste(); + core.setOnlyUpdateOperation(false); +} + //////////////////////////////////////////////////////////////// // Include the meta-object code for classes in this file //