Fix resetting logc & progress bar
This commit is contained in:
parent
c58697b126
commit
12caef0a51
1 changed files with 12 additions and 4 deletions
|
@ -3,7 +3,7 @@
|
|||
#include <cmath>
|
||||
|
||||
FactorizationController::FactorizationController(QObject* parent) :
|
||||
QObject{parent}, m_isRunning(false), m_useSqrtOptimization(true), m_iterationsPerCycle(1), m_currentFactNumber(0), m_currentFactor(0), m_stopFactor(0) {
|
||||
QObject{parent}, m_isRunning(false), m_useSqrtOptimization(true), m_iterationsPerCycle(1), m_currentFactNumber(0), m_originalNumber(0), m_currentFactor(0), m_stopFactor(0) {
|
||||
assert(connect(&m_timer, &QTimer::timeout, this, &FactorizationController::onTimerTick));
|
||||
}
|
||||
|
||||
|
@ -16,6 +16,10 @@ long long FactorizationController::curFactNumber() const {
|
|||
}
|
||||
|
||||
int FactorizationController::progress() const {
|
||||
// If the original number is set to 0, the computation wasn't yet initialized / was reset.
|
||||
if (m_originalNumber == 0)
|
||||
return 0;
|
||||
|
||||
// If current factor is at or below 2 already, we must be done,
|
||||
// stopFactor can never be less than 2, that makes no sense.
|
||||
if (m_currentFactNumber == 1 || m_currentFactor <= 2 || m_currentFactor > m_stopFactor)
|
||||
|
@ -138,13 +142,17 @@ void FactorizationController::reset() {
|
|||
return;
|
||||
|
||||
m_isPaused = false;
|
||||
m_currentFactNumber = m_originalNumber;
|
||||
m_currentFactor = 2;
|
||||
m_originalNumber = 0;
|
||||
m_currentFactNumber = 0;
|
||||
m_currentFactor = 0;
|
||||
m_stopFactor = 0;
|
||||
m_factors.clear();
|
||||
emit isPausedChanged();
|
||||
emit currentFactorChanged();
|
||||
emit progressChanged();
|
||||
emit curFactNumberChanged();
|
||||
emit factorsChanged();
|
||||
emit stopFactorChanged();
|
||||
emit progressChanged();
|
||||
}
|
||||
|
||||
void FactorizationController::onTimerTick() {
|
||||
|
|
Loading…
Add table
Reference in a new issue