Feature #1043 ยป 0055-Ruledit-Add-enabler-comment-editing.patch
| tools/ruledit/tab_enablers.cpp | ||
|---|---|---|
|
QGridLayout *enabler_layout = new QGridLayout();
|
||
|
QLabel *label;
|
||
|
QPushButton *add_button;
|
||
|
QLabel *lbl;
|
||
|
int row = 0;
|
||
|
ui = ui_in;
|
||
|
connect(ui, SIGNAL(req_vec_may_have_changed(const requirement_vector *)),
|
||
| ... | ... | |
|
type_button->setText(R__("None"));
|
||
|
type_button->setEnabled(false);
|
||
|
enabler_layout->addWidget(type_button, 0, 2);
|
||
|
enabler_layout->addWidget(type_button, row++, 2);
|
||
|
act_reqs_button
|
||
|
= new QPushButton(QString::fromUtf8(R__("Actor Requirements")), this);
|
||
|
connect(act_reqs_button, SIGNAL(pressed()),
|
||
|
this, SLOT(edit_actor_reqs()));
|
||
|
act_reqs_button->setEnabled(false);
|
||
|
enabler_layout->addWidget(act_reqs_button, 1, 2);
|
||
|
enabler_layout->addWidget(act_reqs_button, row++, 2);
|
||
|
tgt_reqs_button
|
||
|
= new QPushButton(QString::fromUtf8(R__("Target Requirements")),
|
||
| ... | ... | |
|
connect(tgt_reqs_button, SIGNAL(pressed()),
|
||
|
this, SLOT(edit_target_reqs()));
|
||
|
tgt_reqs_button->setEnabled(false);
|
||
|
enabler_layout->addWidget(tgt_reqs_button, 2, 2);
|
||
|
enabler_layout->addWidget(tgt_reqs_button, row++, 2);
|
||
|
lbl = new QLabel(QString::fromUtf8(R__("Comment")));
|
||
|
enabler_layout->addWidget(lbl, row, 0);
|
||
|
comment = new QLineEdit(this);
|
||
|
connect(comment, SIGNAL(returnPressed()), this, SLOT(comment_given()));
|
||
|
enabler_layout->addWidget(comment, row++, 1);
|
||
|
add_button = new QPushButton(QString::fromUtf8(R__("Add Enabler")), this);
|
||
|
connect(add_button, SIGNAL(pressed()), this, SLOT(add_now()));
|
||
|
enabler_layout->addWidget(add_button, 3, 0);
|
||
|
enabler_layout->addWidget(add_button, row, 0);
|
||
|
show_experimental(add_button);
|
||
|
delete_button = new QPushButton(QString::fromUtf8(R__("Remove this Enabler")), this);
|
||
|
connect(delete_button, SIGNAL(pressed()), this, SLOT(delete_now()));
|
||
|
delete_button->setEnabled(false);
|
||
|
enabler_layout->addWidget(delete_button, 3, 2);
|
||
|
enabler_layout->addWidget(delete_button, row, 2);
|
||
|
show_experimental(delete_button);
|
||
|
repair_button = new QPushButton(this);
|
||
|
connect(repair_button, SIGNAL(pressed()), this, SLOT(repair_now()));
|
||
|
repair_button->setEnabled(false);
|
||
|
repair_button->setText(QString::fromUtf8(R__("Enabler Issues")));
|
||
|
enabler_layout->addWidget(repair_button, 3, 1);
|
||
|
enabler_layout->addWidget(repair_button, row++, 1);
|
||
|
refresh();
|
||
| ... | ... | |
|
act_reqs_button->setEnabled(true);
|
||
|
tgt_reqs_button->setEnabled(true);
|
||
|
if (selected->rulesave.comment != nullptr) {
|
||
|
comment->setText(selected->rulesave.comment);
|
||
|
} else {
|
||
|
comment->setText("");
|
||
|
}
|
||
|
delete_button->setEnabled(true);
|
||
|
switch (enabler_problem_level(selected)) {
|
||
| ... | ... | |
|
repair_button->setEnabled(false);
|
||
|
repair_button->setText(QString::fromUtf8(R__("Enabler Issues")));
|
||
|
comment->setText("");
|
||
|
delete_button->setEnabled(false);
|
||
|
}
|
||
| ... | ... | |
|
{
|
||
|
int i = 0;
|
||
|
// Save previously selected one's comment.
|
||
|
comment_given();
|
||
|
action_enablers_iterate(enabler) {
|
||
|
QListWidgetItem *item = enabler_list->item(i++);
|
||
| ... | ... | |
|
**************************************************************************/
|
||
|
bool tab_enabler::initialize_new_enabler(struct action_enabler *enabler)
|
||
|
{
|
||
|
if (enabler->rulesave.comment != nullptr) {
|
||
|
free(enabler->rulesave.comment);
|
||
|
enabler->rulesave.comment = nullptr;
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
| ... | ... | |
|
}
|
||
|
}
|
||
|
/**********************************************************************//**
|
||
|
User entered comment for the enabler
|
||
|
**************************************************************************/
|
||
|
void tab_enabler::comment_given()
|
||
|
{
|
||
|
if (selected != nullptr) {
|
||
|
if (selected->rulesave.comment != nullptr) {
|
||
|
free(selected->rulesave.comment);
|
||
|
}
|
||
|
if (!comment->text().isEmpty()) {
|
||
|
selected->rulesave.comment = fc_strdup(comment->text().toUtf8());
|
||
|
} else {
|
||
|
selected->rulesave.comment = nullptr;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
/**********************************************************************//**
|
||
|
Construct fix_enabler_item to help req_vec_fix with the action enabler
|
||
|
unique stuff.
|
||
| tools/ruledit/tab_enablers.h | ||
|---|---|---|
|
QPushButton *delete_button;
|
||
|
QPushButton *repair_button;
|
||
|
QListWidget *enabler_list;
|
||
|
QLineEdit *comment;
|
||
|
struct action_enabler *selected;
|
||
| ... | ... | |
|
void edit_type(QAction *action);
|
||
|
void edit_target_reqs();
|
||
|
void edit_actor_reqs();
|
||
|
void comment_given();
|
||
|
};
|
||
|
#endif // FC__TAB_ENABLERS_H
|
||