From 798617fc226cc1677e478682a06986484d71a921 Mon Sep 17 00:00:00 2001 From: Alex Noir Date: Sat, 19 Feb 2022 00:40:26 +0300 Subject: 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 --- src/evidence.cpp | 58 +++++++++++--------------------------------------------- 1 file changed, 11 insertions(+), 47 deletions(-) (limited to 'src') 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 &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 &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(); -- cgit From 42b2a8af95eff5f6340bd6eeee1099654ebff974 Mon Sep 17 00:00:00 2001 From: Alex Noir Date: Sat, 19 Feb 2022 17:59:56 +0300 Subject: Fix evidence image button getting set to disabled --- src/evidence.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'src') diff --git a/src/evidence.cpp b/src/evidence.cpp index 68197036..49a35041 100644 --- a/src/evidence.cpp +++ b/src/evidence.cpp @@ -684,7 +684,6 @@ void Courtroom::evidence_close() ui_evidence_description->setReadOnly(true); ui_evidence_name->setReadOnly(true); ui_evidence_image_name->setReadOnly(true); - ui_evidence_image_button->setDisabled(true); ui_evidence_overlay->hide(); ui_ic_chat_message->setFocus(); } -- cgit From 17b6f632681da4aeeb390705894d93fe6712277d Mon Sep 17 00:00:00 2001 From: Alex Noir Date: Sat, 19 Feb 2022 18:19:22 +0300 Subject: Fix editing the image name not showing the "ok" button --- src/evidence.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/evidence.cpp b/src/evidence.cpp index 49a35041..084a79ce 100644 --- a/src/evidence.cpp +++ b/src/evidence.cpp @@ -97,7 +97,7 @@ void Courtroom::initialize_evidence() connect(ui_evidence_name, &QLineEdit::textChanged, this, &Courtroom::on_evidence_edited); 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, &Courtroom::on_evidence_edited); -- cgit