aboutsummaryrefslogtreecommitdiff
path: root/src/evidence.cpp
diff options
context:
space:
mode:
authorAlex Noir <Varsash@gmail.com>2022-02-19 00:40:26 +0300
committerAlex Noir <Varsash@gmail.com>2022-02-19 00:40:26 +0300
commit798617fc226cc1677e478682a06986484d71a921 (patch)
treed1967a81953a5528c2571f03057e86bcba6358e0 /src/evidence.cpp
parentdd53b01ffde959e808e7974cdc302f12e0ba5820 (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/evidence.cpp')
-rw-r--r--src/evidence.cpp58
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();