porymap/src/ui/customscriptslistitem.cpp
2026-02-14 13:59:16 -05:00

56 lines
1.7 KiB
C++

#include "customscriptslistitem.h"
#include "ui_customscriptslistitem.h"
CustomScriptsListItem::CustomScriptsListItem(QWidget *parent) :
QFrame(parent),
ui(new Ui::CustomScriptsListItem)
{
ui->setupUi(this);
connect(ui->b_Choose, &QAbstractButton::clicked, this, &CustomScriptsListItem::clickedChooseScript);
connect(ui->b_Edit, &QAbstractButton::clicked, this, &CustomScriptsListItem::clickedEditScript);
connect(ui->b_Delete, &QAbstractButton::clicked, this, &CustomScriptsListItem::clickedDeleteScript);
connect(ui->checkBox_Enable, &QCheckBox::toggled, this, &CustomScriptsListItem::toggledEnable);
connect(ui->lineEdit_filepath, &QLineEdit::textEdited, this, &CustomScriptsListItem::pathEdited);
}
CustomScriptsListItem::CustomScriptsListItem(const ScriptSettings& settings, QWidget *parent) :
CustomScriptsListItem(parent)
{
setSettings(settings);
}
CustomScriptsListItem::~CustomScriptsListItem() {
delete ui;
}
void CustomScriptsListItem::setPath(const QString& text) {
ui->lineEdit_filepath->setText(text);
}
QString CustomScriptsListItem::path() const {
return ui->lineEdit_filepath->text();
}
void CustomScriptsListItem::setScriptEnabled(bool enabled) {
ui->checkBox_Enable->setChecked(enabled);
}
bool CustomScriptsListItem::scriptEnabled() const {
return ui->checkBox_Enable->isChecked();
}
void CustomScriptsListItem::setSettings(const ScriptSettings& settings) {
setPath(settings.path);
setScriptEnabled(settings.enabled);
// TODO: Read userOnly
}
ScriptSettings CustomScriptsListItem::getSettings() const {
return {
.path = path(),
.enabled = scriptEnabled(),
.userOnly = true, // TODO
};
}