diff options
| author | Alex Noir <Varsash@gmail.com> | 2022-02-19 00:40:26 +0300 |
|---|---|---|
| committer | Alex Noir <Varsash@gmail.com> | 2022-02-19 00:40:26 +0300 |
| commit | 798617fc226cc1677e478682a06986484d71a921 (patch) | |
| tree | d1967a81953a5528c2571f03057e86bcba6358e0 /src | |
| parent | dd53b01ffde959e808e7974cdc302f12e0ba5820 (diff) | |
Polish up the evidence system so it's a single-click editing
Fix evidence editing regressions caused by #587
Fix issues with "ok" button detecting itself as "changes from the server"
Fix "ok" button remaining after you press it once, allowing you to spam evidence update packets by spamclicking it
Diffstat (limited to 'src')
| -rw-r--r-- | src/evidence.cpp | 58 |
1 files changed, 11 insertions, 47 deletions
diff --git a/src/evidence.cpp b/src/evidence.cpp index fc305d23..68197036 100644 --- a/src/evidence.cpp +++ b/src/evidence.cpp @@ -50,7 +50,6 @@ void Courtroom::initialize_evidence() ui_evidence_image_button = new AOButton(ui_evidence_overlay, ao_app); ui_evidence_image_button->setText(tr("Choose..")); 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->setToolTip( 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->setFrameStyle(QFrame::NoFrame); 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_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, &Courtroom::on_evidence_name_edited); connect(ui_evidence_left, &AOButton::clicked, this, @@ -105,7 +100,6 @@ void Courtroom::initialize_evidence() &Courtroom::on_evidence_image_name_edited); connect(ui_evidence_description, &QPlainTextEdit::textChanged, this, &Courtroom::on_evidence_edited); - connect(ui_evidence_edit, &AOButton::clicked, this, &Courtroom::on_evidence_edit_clicked); ui_evidence->hide(); } @@ -162,9 +156,6 @@ void Courtroom::refresh_evidence() set_size_and_pos(ui_evidence_ok, "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"); if (current_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(); ui_evidence_name->setText(""); } - else if (ui_evidence_description->isReadOnly()) // We haven't double clicked - // to edit it or anything + else if (ui_evidence_ok->isHidden()) // We haven't clicked to edit it or anything { on_evidence_double_clicked(current_evidence); } @@ -302,6 +292,7 @@ void Courtroom::set_evidence_list(QVector<evi_type> &p_evi_list) switch (ret) { case QMessageBox::Yes: // "Keep changes" + ui_evidence_ok->hide(); break; case QMessageBox::No: // "Discard changes and keep theirs" @@ -387,7 +378,6 @@ void Courtroom::on_evidence_name_edited() void Courtroom::on_evidence_image_name_edited() { - ui_evidence_image_name->setReadOnly(true); if (current_evidence >= local_evidence_list.size()) return; } @@ -417,8 +407,6 @@ void Courtroom::on_evidence_image_button_clicked() 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; 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->appendPlainText(f_evi.description); - ui_evidence_description->setReadOnly(true); - ui_evidence_description->setToolTip(tr("Click the pencil to edit...")); + ui_evidence_description->setReadOnly(false); + ui_evidence_description->setToolTip(tr("Click to edit...")); ui_evidence_name->setText(f_evi.name); - ui_evidence_name->setReadOnly(true); - ui_evidence_name->setToolTip(tr("Click the pencil to edit...")); + ui_evidence_name->setReadOnly(false); + ui_evidence_name->setToolTip(tr("Click to edit...")); + ui_evidence_image_name->setText(f_evi.image); - ui_evidence_image_name->setReadOnly(true); - ui_evidence_image_name->setToolTip(tr("Click the pencil to edit...")); + ui_evidence_image_name->setReadOnly(false); + ui_evidence_image_name->setToolTip(tr("Click to edit...")); ui_evidence_overlay->show(); 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) { - ui_evidence_name->setReadOnly(true); int final_id = p_id + max_evidence_on_page * current_evidence_page; if (p_state) { @@ -592,11 +580,7 @@ void Courtroom::on_evidence_x_clicked() void Courtroom::on_evidence_ok_clicked() { - ui_evidence_name->setReadOnly(true); - ui_evidence_description->setReadOnly(true); - ui_evidence_image_name->setReadOnly(true); - ui_evidence_edit->show(); - ui_evidence_image_button->setDisabled(true); + ui_evidence_ok->hide(); if (current_evidence < local_evidence_list.size()) { evi_type f_evi = local_evidence_list.at(current_evidence); if (current_evidence_global) { @@ -679,22 +663,6 @@ void Courtroom::on_evidence_transfer_clicked() 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() { if (current_evidence >= @@ -714,12 +682,8 @@ void Courtroom::on_evidence_edited() void Courtroom::evidence_close() { ui_evidence_description->setReadOnly(true); - ui_evidence_description->setToolTip(""); ui_evidence_name->setReadOnly(true); - ui_evidence_name->setToolTip(""); 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_ic_chat_message->setFocus(); |
