Skip to content

Commit d98b117

Browse files
authored
qtfred event msecs checkbox (#7388)
1 parent 0902903 commit d98b117

5 files changed

Lines changed: 155 additions & 107 deletions

File tree

qtfred/src/mission/dialogs/MissionEventsDialogModel.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -843,6 +843,28 @@ void MissionEventsDialogModel::setChainDelay(int delay)
843843
modify(event.chain_delay, delay);
844844
}
845845

846+
bool MissionEventsDialogModel::getUseMsecs() const
847+
{
848+
if (!SCP_vector_inbounds(m_events, m_cur_event)) {
849+
return false;
850+
}
851+
return (m_events[m_cur_event].flags & MEF_USE_MSECS) != 0;
852+
}
853+
854+
void MissionEventsDialogModel::setUseMsecs(bool useMsecs)
855+
{
856+
if (!SCP_vector_inbounds(m_events, m_cur_event)) {
857+
return;
858+
}
859+
auto& event = m_events[m_cur_event];
860+
if (useMsecs) {
861+
event.flags |= MEF_USE_MSECS;
862+
} else {
863+
event.flags &= ~MEF_USE_MSECS;
864+
}
865+
set_modified();
866+
}
867+
846868
int MissionEventsDialogModel::getEventScore() const
847869
{
848870
if (!SCP_vector_inbounds(m_events, m_cur_event)) {

qtfred/src/mission/dialogs/MissionEventsDialogModel.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ class MissionEventsDialogModel : public AbstractDialogModel {
109109
void setChained(bool chained);
110110
int getChainDelay() const;
111111
void setChainDelay(int delay);
112+
bool getUseMsecs() const;
113+
void setUseMsecs(bool useMsecs);
112114
int getEventScore() const;
113115
void setEventScore(int score);
114116
int getEventTeam() const;

qtfred/src/ui/dialogs/MissionEventsDialog.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,8 @@ void MissionEventsDialog::updateEventUi() {
398398
ui->triggerCountBox->setEnabled(false);
399399
ui->intervalTimeBox->setEnabled(false);
400400
ui->chainDelayBox->setEnabled(false);
401+
ui->useMsecsCheckBox->setChecked(false);
402+
ui->useMsecsCheckBox->setEnabled(false);
401403
ui->teamCombo->setEnabled(false);
402404
ui->editDirectiveText->setEnabled(false);
403405
ui->editDirectiveKeypressText->setEnabled(false);
@@ -419,6 +421,7 @@ void MissionEventsDialog::updateEventUi() {
419421
ui->chainDelayBox->setValue(0);
420422
ui->chainDelayBox->setEnabled(false);
421423
}
424+
ui->useMsecsCheckBox->setChecked(_model->getUseMsecs());
422425

423426
ui->editDirectiveText->setText(QString::fromStdString(_model->getEventDirectiveText()));
424427
ui->editDirectiveKeypressText->setText(QString::fromStdString(_model->getEventDirectiveKeyText()));
@@ -436,6 +439,7 @@ void MissionEventsDialog::updateEventUi() {
436439

437440
ui->scoreBox->setEnabled(true);
438441
ui->chainedCheckBox->setEnabled(true);
442+
ui->useMsecsCheckBox->setEnabled(true);
439443
ui->editDirectiveText->setEnabled(true);
440444
ui->editDirectiveKeypressText->setEnabled(true);
441445
ui->teamCombo->setEnabled(_model->getMissionIsMultiTeam());
@@ -719,6 +723,11 @@ void MissionEventsDialog::on_chainedDelayBox_valueChanged(int value)
719723
_model->setChainDelay(value);
720724
}
721725

726+
void MissionEventsDialog::on_useMsecsCheckBox_stateChanged(int state)
727+
{
728+
_model->setUseMsecs(state == Qt::Checked);
729+
}
730+
722731
void MissionEventsDialog::on_scoreBox_valueChanged(int value)
723732
{
724733
_model->setEventScore(value);

qtfred/src/ui/dialogs/MissionEventsDialog.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ private slots:
5151
void on_intervalTimeBox_valueChanged(int value);
5252
void on_chainedCheckBox_stateChanged(int state);
5353
void on_chainedDelayBox_valueChanged(int value);
54+
void on_useMsecsCheckBox_stateChanged(int state);
5455
void on_scoreBox_valueChanged(int value);
5556
void on_teamCombo_currentIndexChanged(int index);
5657

0 commit comments

Comments
 (0)