dolphin/Source/Core/DolphinQt/TAS/TASCheckBox.cpp
Lioncash b493bdb912 DolphinQt/TASCheckBox: Mark GetValue() as const
This doesn't actually modify the checkbox's state, so this can be marked
as a const-qualified member function.
2020-01-26 21:41:31 -05:00

40 lines
822 B
C++

// Copyright 2019 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
#include "DolphinQt/TAS/TASCheckBox.h"
#include <QMouseEvent>
#include "Core/Movie.h"
TASCheckBox::TASCheckBox(const QString& text) : QCheckBox(text)
{
setTristate(true);
}
bool TASCheckBox::GetValue() const
{
if (checkState() == Qt::PartiallyChecked)
return Movie::GetCurrentFrame() % 2 == static_cast<u64>(m_trigger_on_odd);
return isChecked();
}
void TASCheckBox::mousePressEvent(QMouseEvent* event)
{
if (event->button() != Qt::RightButton)
{
setChecked(!isChecked());
return;
}
if (checkState() == Qt::PartiallyChecked)
{
setCheckState(Qt::Unchecked);
return;
}
m_trigger_on_odd = Movie::GetCurrentFrame() % 2 == 0;
setCheckState(Qt::PartiallyChecked);
}