// Copyright 2019 Dolphin Emulator Project // Licensed under GPLv2+ // Refer to the license.txt file included. #include "DolphinQt/TAS/TASCheckBox.h" #include #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(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); }