2
* Copyright (C) 2012 Canonical, Ltd.
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; version 3.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
#include "decayedvalue.h"
19
DecayedValue::DecayedValue()
24
m_valueDecayTimer.setInterval(10);
25
connect(&m_valueDecayTimer, SIGNAL(timeout()), this, SLOT(decay()));
28
bool DecayedValue::addAndCheckExceedingTarget(int i)
31
if (!m_valueDecayTimer.isActive()) {
32
m_valueDecayTimer.start();
34
if (m_value > m_target) {
36
m_valueDecayTimer.stop();
43
void DecayedValue::setDecayRate(int decayRate)
45
m_decayRate = decayRate;
48
void DecayedValue::setTarget(int target)
53
void DecayedValue::decay() {
54
const int partial_decay = m_decayRate / 100;
56
m_value -= partial_decay;
61
m_valueDecayTimer.stop();
65
#include "decayedvalue.moc"
b'\\ No newline at end of file'