Merge pull request #660 from AttorneyOnline/fix-evidence

Fix evidence system, improve evidence user experience
This commit is contained in:
oldmud0 2022-02-20 19:47:09 -06:00 committed by GitHub
commit b5908ad5e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 51 deletions

View File

@ -758,7 +758,6 @@ private:
AOButton *ui_evidence_transfer; AOButton *ui_evidence_transfer;
AOButton *ui_evidence_save; AOButton *ui_evidence_save;
AOButton *ui_evidence_load; AOButton *ui_evidence_load;
AOButton *ui_evidence_edit;
QPlainTextEdit *ui_evidence_description; QPlainTextEdit *ui_evidence_description;
@ -889,7 +888,6 @@ private slots:
void on_evidence_image_button_clicked(); void on_evidence_image_button_clicked();
void on_evidence_clicked(int p_id); void on_evidence_clicked(int p_id);
void on_evidence_double_clicked(int p_id); void on_evidence_double_clicked(int p_id);
void on_evidence_edit_clicked();
void on_evidence_hover(int p_id, bool p_state); void on_evidence_hover(int p_id, bool p_state);

View File

@ -50,7 +50,6 @@ void Courtroom::initialize_evidence()
ui_evidence_image_button = new AOButton(ui_evidence_overlay, ao_app); ui_evidence_image_button = new AOButton(ui_evidence_overlay, ao_app);
ui_evidence_image_button->setText(tr("Choose..")); ui_evidence_image_button->setText(tr("Choose.."));
ui_evidence_image_button->setObjectName("ui_evidence_image_button"); ui_evidence_image_button->setObjectName("ui_evidence_image_button");
ui_evidence_image_button->setDisabled(true);
ui_evidence_x = new AOButton(ui_evidence_overlay, ao_app); ui_evidence_x = new AOButton(ui_evidence_overlay, ao_app);
ui_evidence_x->setToolTip( ui_evidence_x->setToolTip(
tr("Close the evidence display/editing overlay.\n" tr("Close the evidence display/editing overlay.\n"
@ -64,13 +63,9 @@ void Courtroom::initialize_evidence()
ui_evidence_description = new QPlainTextEdit(ui_evidence_overlay); ui_evidence_description = new QPlainTextEdit(ui_evidence_overlay);
ui_evidence_description->setFrameStyle(QFrame::NoFrame); ui_evidence_description->setFrameStyle(QFrame::NoFrame);
ui_evidence_description->setToolTip( ui_evidence_description->setToolTip(
tr("Click the pencil icon to edit. Press [X] to update your changes.")); tr("Click to edit. Press [X] to update your changes."));
ui_evidence_description->setObjectName("ui_evidence_description"); ui_evidence_description->setObjectName("ui_evidence_description");
ui_evidence_edit = new AOButton(ui_evidence_overlay, ao_app);
ui_evidence_edit->setToolTip(tr("Edit this piece of evidence."));
ui_evidence_edit->setObjectName("ui_evidence_edit");
connect(ui_evidence_name, &QLineEdit::returnPressed, this, connect(ui_evidence_name, &QLineEdit::returnPressed, this,
&Courtroom::on_evidence_name_edited); &Courtroom::on_evidence_name_edited);
connect(ui_evidence_left, &AOButton::clicked, this, connect(ui_evidence_left, &AOButton::clicked, this,
@ -102,10 +97,9 @@ void Courtroom::initialize_evidence()
connect(ui_evidence_name, &QLineEdit::textChanged, this, connect(ui_evidence_name, &QLineEdit::textChanged, this,
&Courtroom::on_evidence_edited); &Courtroom::on_evidence_edited);
connect(ui_evidence_image_name, &QLineEdit::textChanged, this, connect(ui_evidence_image_name, &QLineEdit::textChanged, this,
&Courtroom::on_evidence_image_name_edited); &Courtroom::on_evidence_edited);
connect(ui_evidence_description, &QPlainTextEdit::textChanged, this, connect(ui_evidence_description, &QPlainTextEdit::textChanged, this,
&Courtroom::on_evidence_edited); &Courtroom::on_evidence_edited);
connect(ui_evidence_edit, &AOButton::clicked, this, &Courtroom::on_evidence_edit_clicked);
ui_evidence->hide(); ui_evidence->hide();
} }
@ -162,9 +156,6 @@ void Courtroom::refresh_evidence()
set_size_and_pos(ui_evidence_ok, "evidence_ok"); set_size_and_pos(ui_evidence_ok, "evidence_ok");
ui_evidence_ok->set_image("evidence_ok"); ui_evidence_ok->set_image("evidence_ok");
set_size_and_pos(ui_evidence_edit, "evidence_edit");
ui_evidence_edit->set_image("evidence_edit");
set_size_and_pos(ui_evidence_switch, "evidence_switch"); set_size_and_pos(ui_evidence_switch, "evidence_switch");
if (current_evidence_global) { if (current_evidence_global) {
ui_evidence_switch->set_image("evidence_global"); ui_evidence_switch->set_image("evidence_global");
@ -272,8 +263,7 @@ void Courtroom::set_evidence_list(QVector<evi_type> &p_evi_list)
evidence_close(); evidence_close();
ui_evidence_name->setText(""); ui_evidence_name->setText("");
} }
else if (ui_evidence_description->isReadOnly()) // We haven't double clicked else if (ui_evidence_ok->isHidden()) // We haven't clicked to edit it or anything
// to edit it or anything
{ {
on_evidence_double_clicked(current_evidence); on_evidence_double_clicked(current_evidence);
} }
@ -302,6 +292,7 @@ void Courtroom::set_evidence_list(QVector<evi_type> &p_evi_list)
switch (ret) { switch (ret) {
case QMessageBox::Yes: case QMessageBox::Yes:
// "Keep changes" // "Keep changes"
ui_evidence_ok->hide();
break; break;
case QMessageBox::No: case QMessageBox::No:
// "Discard changes and keep theirs" // "Discard changes and keep theirs"
@ -387,7 +378,6 @@ void Courtroom::on_evidence_name_edited()
void Courtroom::on_evidence_image_name_edited() void Courtroom::on_evidence_image_name_edited()
{ {
ui_evidence_image_name->setReadOnly(true);
if (current_evidence >= local_evidence_list.size()) if (current_evidence >= local_evidence_list.size())
return; return;
} }
@ -417,8 +407,6 @@ void Courtroom::on_evidence_image_button_clicked()
void Courtroom::on_evidence_clicked(int p_id) void Courtroom::on_evidence_clicked(int p_id)
{ {
ui_evidence_name->setReadOnly(true);
int f_real_id = p_id + max_evidence_on_page * current_evidence_page; int f_real_id = p_id + max_evidence_on_page * current_evidence_page;
if (f_real_id == local_evidence_list.size()) { if (f_real_id == local_evidence_list.size()) {
@ -465,15 +453,16 @@ void Courtroom::on_evidence_double_clicked(int p_id)
ui_evidence_description->clear(); ui_evidence_description->clear();
ui_evidence_description->appendPlainText(f_evi.description); ui_evidence_description->appendPlainText(f_evi.description);
ui_evidence_description->setReadOnly(true); ui_evidence_description->setReadOnly(false);
ui_evidence_description->setToolTip(tr("Click the pencil to edit...")); ui_evidence_description->setToolTip(tr("Click to edit..."));
ui_evidence_name->setText(f_evi.name); ui_evidence_name->setText(f_evi.name);
ui_evidence_name->setReadOnly(true); ui_evidence_name->setReadOnly(false);
ui_evidence_name->setToolTip(tr("Click the pencil to edit...")); ui_evidence_name->setToolTip(tr("Click to edit..."));
ui_evidence_image_name->setText(f_evi.image); ui_evidence_image_name->setText(f_evi.image);
ui_evidence_image_name->setReadOnly(true); ui_evidence_image_name->setReadOnly(false);
ui_evidence_image_name->setToolTip(tr("Click the pencil to edit...")); ui_evidence_image_name->setToolTip(tr("Click to edit..."));
ui_evidence_overlay->show(); ui_evidence_overlay->show();
ui_evidence_ok->hide(); ui_evidence_ok->hide();
@ -483,7 +472,6 @@ void Courtroom::on_evidence_double_clicked(int p_id)
void Courtroom::on_evidence_hover(int p_id, bool p_state) void Courtroom::on_evidence_hover(int p_id, bool p_state)
{ {
ui_evidence_name->setReadOnly(true);
int final_id = p_id + max_evidence_on_page * current_evidence_page; int final_id = p_id + max_evidence_on_page * current_evidence_page;
if (p_state) { if (p_state) {
@ -592,11 +580,7 @@ void Courtroom::on_evidence_x_clicked()
void Courtroom::on_evidence_ok_clicked() void Courtroom::on_evidence_ok_clicked()
{ {
ui_evidence_name->setReadOnly(true); ui_evidence_ok->hide();
ui_evidence_description->setReadOnly(true);
ui_evidence_image_name->setReadOnly(true);
ui_evidence_edit->show();
ui_evidence_image_button->setDisabled(true);
if (current_evidence < local_evidence_list.size()) { if (current_evidence < local_evidence_list.size()) {
evi_type f_evi = local_evidence_list.at(current_evidence); evi_type f_evi = local_evidence_list.at(current_evidence);
if (current_evidence_global) { if (current_evidence_global) {
@ -679,22 +663,6 @@ void Courtroom::on_evidence_transfer_clicked()
msgBox->exec(); msgBox->exec();
} }
void Courtroom::on_evidence_edit_clicked()
{
if (!ui_evidence_overlay->isVisible())
return;
if (!ui_evidence_edit->isHidden()) {
ui_evidence_name->setReadOnly(false);
ui_evidence_image_name->setReadOnly(false);
ui_evidence_description->setReadOnly(false);
ui_evidence_image_button->setDisabled(false);
ui_evidence_edit->hide();
}
else {
return;
}
}
void Courtroom::on_evidence_edited() void Courtroom::on_evidence_edited()
{ {
if (current_evidence >= if (current_evidence >=
@ -714,13 +682,8 @@ void Courtroom::on_evidence_edited()
void Courtroom::evidence_close() void Courtroom::evidence_close()
{ {
ui_evidence_description->setReadOnly(true); ui_evidence_description->setReadOnly(true);
ui_evidence_description->setToolTip("");
ui_evidence_name->setReadOnly(true); ui_evidence_name->setReadOnly(true);
ui_evidence_name->setToolTip("");
ui_evidence_image_name->setReadOnly(true); ui_evidence_image_name->setReadOnly(true);
ui_evidence_image_name->setToolTip("");
ui_evidence_edit->show();
ui_evidence_image_button->setDisabled(true);
ui_evidence_overlay->hide(); ui_evidence_overlay->hide();
ui_ic_chat_message->setFocus(); ui_ic_chat_message->setFocus();
} }