aboutsummaryrefslogtreecommitdiff
path: root/src/evidence.cpp
diff options
context:
space:
mode:
authoroldmud0 <oldmud0@users.noreply.github.com>2021-12-18 22:34:04 -0600
committeroldmud0 <oldmud0@users.noreply.github.com>2021-12-18 22:34:04 -0600
commitb0e9f8dbe57df5e688d9583987d7e378eebd72b4 (patch)
tree18824b6a05fddfa71e4c1240023fc916d8ef4790 /src/evidence.cpp
parentcf12168ebd426d7658d7f7021c47be519caa215a (diff)
parent641cca65044e41e49e5a871f0d60138b61c1bab3 (diff)
Merge branch 'master' into feature/http-ms
Diffstat (limited to 'src/evidence.cpp')
-rw-r--r--src/evidence.cpp157
1 files changed, 87 insertions, 70 deletions
diff --git a/src/evidence.cpp b/src/evidence.cpp
index 2cc1d75..fc305d2 100644
--- a/src/evidence.cpp
+++ b/src/evidence.cpp
@@ -6,7 +6,9 @@ void Courtroom::initialize_evidence()
ui_evidence->setObjectName("ui_evidence");
// ui_evidence_name = new QLabel(ui_evidence);
- ui_evidence_name = new AOLineEdit(ui_evidence);
+ ui_evidence_name = new QLineEdit(ui_evidence);
+ ui_evidence_name_filter = new AOLineEditFilter();
+ ui_evidence_name->installEventFilter(ui_evidence_name_filter);
ui_evidence_name->setAlignment(Qt::AlignCenter);
ui_evidence_name->setFrame(false);
ui_evidence_name->setObjectName("ui_evidence_name");
@@ -41,11 +43,14 @@ void Courtroom::initialize_evidence()
ui_evidence_delete = new AOButton(ui_evidence_overlay, ao_app);
ui_evidence_delete->setToolTip(tr("Destroy this piece of evidence"));
ui_evidence_delete->setObjectName("ui_evidence_delete");
- ui_evidence_image_name = new AOLineEdit(ui_evidence_overlay);
+ ui_evidence_image_name = new QLineEdit(ui_evidence_overlay);
+ ui_evidence_image_name_filter = new AOLineEditFilter();
+ ui_evidence_image_name->installEventFilter(ui_evidence_image_name_filter);
ui_evidence_image_name->setObjectName("ui_evidence_image_name");
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"
@@ -56,50 +61,51 @@ void Courtroom::initialize_evidence()
"evidence and send them to server."));
ui_evidence_ok->setObjectName("ui_evidence_ok");
- ui_evidence_description = new AOTextEdit(ui_evidence_overlay);
+ ui_evidence_description = new QPlainTextEdit(ui_evidence_overlay);
ui_evidence_description->setFrameStyle(QFrame::NoFrame);
ui_evidence_description->setToolTip(
- tr("Double-click to edit. Press [X] to update your changes."));
+ tr("Click the pencil icon to edit. Press [X] to update your changes."));
ui_evidence_description->setObjectName("ui_evidence_description");
- connect(ui_evidence_name, SIGNAL(returnPressed()), this,
- SLOT(on_evidence_name_edited()));
- connect(ui_evidence_name, SIGNAL(double_clicked()), this,
- SLOT(on_evidence_name_double_clicked()));
- connect(ui_evidence_left, SIGNAL(clicked()), this,
- SLOT(on_evidence_left_clicked()));
- connect(ui_evidence_right, SIGNAL(clicked()), this,
- SLOT(on_evidence_right_clicked()));
- connect(ui_evidence_present, SIGNAL(clicked()), this,
- SLOT(on_evidence_present_clicked()));
- connect(ui_evidence_switch, SIGNAL(clicked()), this,
- SLOT(on_evidence_switch_clicked()));
- connect(ui_evidence_transfer, SIGNAL(clicked()), this,
- SLOT(on_evidence_transfer_clicked()));
- connect(ui_evidence_save, SIGNAL(clicked()), this,
- SLOT(on_evidence_save_clicked()));
- connect(ui_evidence_load, SIGNAL(clicked()), this,
- SLOT(on_evidence_load_clicked()));
-
- connect(ui_evidence_delete, SIGNAL(clicked()), this,
- SLOT(on_evidence_delete_clicked()));
- connect(ui_evidence_image_name, SIGNAL(returnPressed()), this,
- SLOT(on_evidence_image_name_edited()));
- connect(ui_evidence_image_name, SIGNAL(double_clicked()), this,
- SLOT(on_evidence_image_name_double_clicked()));
- connect(ui_evidence_image_button, SIGNAL(clicked()), this,
- SLOT(on_evidence_image_button_clicked()));
- connect(ui_evidence_x, SIGNAL(clicked()), this,
- SLOT(on_evidence_x_clicked()));
- connect(ui_evidence_ok, SIGNAL(clicked()), this,
- SLOT(on_evidence_ok_clicked()));
-
- connect(ui_evidence_name, SIGNAL(textChanged(QString)), this,
- SLOT(on_evidence_edited()));
- connect(ui_evidence_image_name, SIGNAL(textChanged(QString)), this,
- SLOT(on_evidence_edited()));
- connect(ui_evidence_description, SIGNAL(textChanged()), this,
- SLOT(on_evidence_edited()));
+ 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,
+ &Courtroom::on_evidence_left_clicked);
+ connect(ui_evidence_right, &AOButton::clicked, this,
+ &Courtroom::on_evidence_right_clicked);
+ connect(ui_evidence_present, &AOButton::clicked, this,
+ &Courtroom::on_evidence_present_clicked);
+ connect(ui_evidence_switch, &AOButton::clicked, this,
+ &Courtroom::on_evidence_switch_clicked);
+ connect(ui_evidence_transfer, &AOButton::clicked, this,
+ &Courtroom::on_evidence_transfer_clicked);
+ connect(ui_evidence_save, &AOButton::clicked, this,
+ &Courtroom::on_evidence_save_clicked);
+ connect(ui_evidence_load, &AOButton::clicked, this,
+ &Courtroom::on_evidence_load_clicked);
+
+ connect(ui_evidence_delete, &AOButton::clicked, this,
+ &Courtroom::on_evidence_delete_clicked);
+ connect(ui_evidence_image_name, &QLineEdit::returnPressed, this,
+ &Courtroom::on_evidence_image_name_edited);
+ connect(ui_evidence_image_button, &AOButton::clicked, this,
+ &Courtroom::on_evidence_image_button_clicked);
+ connect(ui_evidence_x, &AOButton::clicked, this,
+ &Courtroom::on_evidence_x_clicked);
+ connect(ui_evidence_ok, &AOButton::clicked, this,
+ &Courtroom::on_evidence_ok_clicked);
+
+ 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);
+ 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();
}
@@ -156,6 +162,9 @@ 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");
@@ -227,12 +236,12 @@ void Courtroom::refresh_evidence()
f_evidence->set_id(n);
- connect(f_evidence, SIGNAL(evidence_clicked(int)), this,
- SLOT(on_evidence_clicked(int)));
- connect(f_evidence, SIGNAL(evidence_double_clicked(int)), this,
- SLOT(on_evidence_double_clicked(int)));
- connect(f_evidence, SIGNAL(on_hover(int, bool)), this,
- SLOT(on_evidence_hover(int, bool)));
+ connect(f_evidence, &AOEvidenceButton::evidence_clicked, this,
+ &Courtroom::on_evidence_clicked);
+ connect(f_evidence, &AOEvidenceButton::evidence_double_clicked, this,
+ &Courtroom::on_evidence_double_clicked);
+ connect(f_evidence, &AOEvidenceButton::on_hover, this,
+ &Courtroom::on_evidence_hover);
++x_mod_count;
@@ -281,7 +290,11 @@ void Courtroom::set_evidence_list(QVector<evi_type> &p_evi_list)
msgBox->setDetailedText(tr(
"Name: %1\n"
"Image: %2\n"
- "Description:\n%3").arg(local_evidence_list.at(current_evidence).name).arg(local_evidence_list.at(current_evidence).image).arg(local_evidence_list.at(current_evidence).description));
+ "Description:\n%3").arg(
+ local_evidence_list.at(current_evidence).name,
+ local_evidence_list.at(current_evidence).image,
+ local_evidence_list.at(current_evidence).description)
+ );
msgBox->setStandardButtons(QMessageBox::Yes | QMessageBox::No);
msgBox->setDefaultButton(QMessageBox::LastButton);
// msgBox->setWindowModality(Qt::NonModal);
@@ -309,7 +322,7 @@ void Courtroom::set_evidence_page()
ui_evidence_left->hide();
ui_evidence_right->hide();
- for (AOEvidenceButton *i_button : ui_evidence_list) {
+ for (AOEvidenceButton *i_button : qAsConst(ui_evidence_list)) {
i_button->hide();
}
@@ -368,26 +381,10 @@ void Courtroom::set_evidence_page()
void Courtroom::on_evidence_name_edited()
{
- ui_evidence_name->setReadOnly(true);
if (current_evidence >= local_evidence_list.size())
return;
}
-void Courtroom::on_evidence_name_double_clicked()
-{
- if (ui_evidence_overlay->isVisible()) {
- ui_evidence_name->setReadOnly(false);
- }
- else {
- ui_evidence_name->setReadOnly(true);
- }
-}
-
-void Courtroom::on_evidence_image_name_double_clicked()
-{
- ui_evidence_image_name->setReadOnly(false);
-}
-
void Courtroom::on_evidence_image_name_edited()
{
ui_evidence_image_name->setReadOnly(true);
@@ -445,7 +442,7 @@ void Courtroom::on_evidence_clicked(int p_id)
ui_evidence_name->setText(local_evidence_list.at(f_real_id).name);
- for (AOEvidenceButton *i_button : ui_evidence_list)
+ for (AOEvidenceButton *i_button : qAsConst(ui_evidence_list))
i_button->set_selected(false);
ui_evidence_list.at(p_id)->set_selected(true);
@@ -469,14 +466,14 @@ 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("Double-click to edit..."));
+ ui_evidence_description->setToolTip(tr("Click the pencil to edit..."));
ui_evidence_name->setText(f_evi.name);
ui_evidence_name->setReadOnly(true);
- ui_evidence_name->setToolTip(tr("Double-click to edit..."));
+ ui_evidence_name->setToolTip(tr("Click the pencil to edit..."));
ui_evidence_image_name->setText(f_evi.image);
ui_evidence_image_name->setReadOnly(true);
- ui_evidence_image_name->setToolTip(tr("Double-click to edit..."));
+ ui_evidence_image_name->setToolTip(tr("Click the pencil to edit..."));
ui_evidence_overlay->show();
ui_evidence_ok->hide();
@@ -598,6 +595,8 @@ 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);
if (current_evidence < local_evidence_list.size()) {
evi_type f_evi = local_evidence_list.at(current_evidence);
if (current_evidence_global) {
@@ -680,6 +679,22 @@ 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 >=
@@ -704,6 +719,8 @@ void Courtroom::evidence_close()
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();
}