| 16 | #include <QAction> |
| 17 | |
| 18 | TestCaseEditWidget::TestCaseEditWidget(QWidget *parent) : QWidget(parent), ui(new Ui::TestCaseEditWidget) { |
| 19 | ui->setupUi(this); |
| 20 | editTestCase = nullptr; |
| 21 | deleteAction = new QAction(this); |
| 22 | deleteAction->setShortcutContext(Qt::WidgetShortcut); |
| 23 | deleteAction->setShortcut(QKeySequence::Delete); |
| 24 | deleteAction->setEnabled(false); |
| 25 | ui->fileList->addAction(deleteAction); |
| 26 | QValidator *subtaskDependenceValidator = |
| 27 | new QRegularExpressionValidator(QRegularExpression("[0-9,]+$"), ui->subtaskDependecne); |
| 28 | ui->subtaskDependecne->setValidator(subtaskDependenceValidator); |
| 29 | ui->fullScore->setValidator(new QIntValidator(1, Settings::upperBoundForFullScore(), this)); |
| 30 | ui->timeLimit->setValidator(new QIntValidator(1, Settings::upperBoundForTimeLimit(), this)); |
| 31 | ui->memoryLimit->setValidator(new QIntValidator(1, Settings::upperBoundForMemoryLimit(), this)); |
| 32 | ui->fileList->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); |
| 33 | ui->inputFileEdit->setFilters(QDir::Files); |
| 34 | ui->outputFileEdit->setFilters(QDir::Files); |
| 35 | connect(this, &TestCaseEditWidget::dataPathChanged, ui->inputFileEdit, &FileLineEdit::refreshFileList); |
| 36 | connect(this, &TestCaseEditWidget::dataPathChanged, ui->outputFileEdit, &FileLineEdit::refreshFileList); |
| 37 | connect(ui->subtaskDependecne, &QLineEdit::editingFinished, this, |
| 38 | &TestCaseEditWidget::subtaskDependenceChanged); // auto save subtaskDependence |
| 39 | connect(ui->addButton, &QPushButton::clicked, this, &TestCaseEditWidget::addSingleCase); |
| 40 | connect(deleteAction, &QAction::triggered, this, &TestCaseEditWidget::deleteSingleCase); |
| 41 | connect(ui->fullScore, &QLineEdit::textChanged, this, &TestCaseEditWidget::fullScoreChanged); |
| 42 | connect(ui->timeLimit, &QLineEdit::textChanged, this, &TestCaseEditWidget::timeLimitChanged); |
| 43 | connect(ui->memoryLimit, &QLineEdit::textChanged, this, &TestCaseEditWidget::memoryLimitChanged); |
| 44 | connect(ui->subtaskDependenceClearButton, &QPushButton::clicked, this, |
| 45 | &TestCaseEditWidget::subtaskDependenceClear); |
| 46 | connect(ui->fileList, &QTableWidget::itemSelectionChanged, this, |
| 47 | &TestCaseEditWidget::fileListSelectionChanged); |
| 48 | connect(ui->fileList, &QTableWidget::itemChanged, this, &TestCaseEditWidget::fileListItemChanged); |
| 49 | } |
| 50 | |
| 51 | TestCaseEditWidget::~TestCaseEditWidget() { delete ui; } |
| 52 |
nothing calls this directly
no test coverage detected