+ // The quality group.
+ QActionGroup *quality_group = new QActionGroup(ui->interpolation_menu);
+ quality_group->addAction(ui->quality_0_action);
+ quality_group->addAction(ui->quality_1_action);
+ quality_group->addAction(ui->quality_2_action);
+ quality_group->addAction(ui->quality_3_action);
+ quality_group->addAction(ui->quality_4_action);
+ if (global_flags.interpolation_quality == 0) {
+ ui->quality_0_action->setChecked(true);
+ } else if (global_flags.interpolation_quality == 1) {
+ ui->quality_1_action->setChecked(true);
+ } else if (global_flags.interpolation_quality == 2) {
+ ui->quality_2_action->setChecked(true);
+ } else if (global_flags.interpolation_quality == 3) {
+ ui->quality_3_action->setChecked(true);
+ } else if (global_flags.interpolation_quality == 4) {
+ ui->quality_4_action->setChecked(true);
+ } else {
+ assert(false);
+ }
+ connect(ui->quality_0_action, &QAction::toggled, bind(&MainWindow::quality_toggled, this, 0, _1));
+ connect(ui->quality_1_action, &QAction::toggled, bind(&MainWindow::quality_toggled, this, 1, _1));
+ connect(ui->quality_2_action, &QAction::toggled, bind(&MainWindow::quality_toggled, this, 2, _1));
+ connect(ui->quality_3_action, &QAction::toggled, bind(&MainWindow::quality_toggled, this, 3, _1));
+ connect(ui->quality_4_action, &QAction::toggled, bind(&MainWindow::quality_toggled, this, 4, _1));
+
+ // The cue point padding group.
+ QActionGroup *padding_group = new QActionGroup(ui->interpolation_menu);
+ padding_group->addAction(ui->padding_0_action);
+ padding_group->addAction(ui->padding_1_action);
+ padding_group->addAction(ui->padding_2_action);
+ padding_group->addAction(ui->padding_5_action);
+ if (global_flags.cue_point_padding_seconds <= 1e-3) {
+ ui->padding_0_action->setChecked(true);
+ } else if (fabs(global_flags.cue_point_padding_seconds - 1.0) < 1e-3) {
+ ui->padding_1_action->setChecked(true);
+ } else if (fabs(global_flags.cue_point_padding_seconds - 2.0) < 1e-3) {
+ ui->padding_2_action->setChecked(true);
+ } else if (fabs(global_flags.cue_point_padding_seconds - 5.0) < 1e-3) {
+ ui->padding_5_action->setChecked(true);
+ } else {
+ // Nothing to check, which is fine.
+ }
+ connect(ui->padding_0_action, &QAction::toggled, bind(&MainWindow::padding_toggled, this, 0.0, _1));
+ connect(ui->padding_1_action, &QAction::toggled, bind(&MainWindow::padding_toggled, this, 1.0, _1));
+ connect(ui->padding_2_action, &QAction::toggled, bind(&MainWindow::padding_toggled, this, 2.0, _1));
+ connect(ui->padding_5_action, &QAction::toggled, bind(&MainWindow::padding_toggled, this, 5.0, _1));
+