diff options
| author | OmniTroid <davidskoland@gmail.com> | 2017-06-19 22:49:04 +0200 |
|---|---|---|
| committer | OmniTroid <davidskoland@gmail.com> | 2017-06-19 22:49:04 +0200 |
| commit | 3a2e0b02f3632a97569efc64a4d9040a2629de60 (patch) | |
| tree | 9f6a4f49e93daeb28db3b556870b19d181c2d0f4 | |
| parent | 4796cc6677710859d0732e47d8536704da2807ad (diff) | |
added pick evidence image button
| -rw-r--r-- | courtroom.cpp | 4 | ||||
| -rw-r--r-- | courtroom.h | 7 | ||||
| -rw-r--r-- | evidence.cpp | 41 |
3 files changed, 43 insertions, 9 deletions
diff --git a/courtroom.cpp b/courtroom.cpp index 137ab728..244a9c06 100644 --- a/courtroom.cpp +++ b/courtroom.cpp @@ -512,7 +512,9 @@ void Courtroom::set_widgets() set_size_and_pos(ui_evidence_delete, "evidence_delete"); ui_evidence_delete->set_image("deleteevidence.png"); - set_size_and_pos(ui_evidence_image, "evidence_image"); + set_size_and_pos(ui_evidence_image_name, "evidence_image_name"); + + set_size_and_pos(ui_evidence_image_button, "evidence_image_button"); set_size_and_pos(ui_evidence_x, "evidence_x"); ui_evidence_x->set_image("evidencex.png"); diff --git a/courtroom.h b/courtroom.h index 8221f009..4e7e1910 100644 --- a/courtroom.h +++ b/courtroom.h @@ -305,7 +305,6 @@ private: AOButton *ui_evidence_button; AOImage *ui_evidence; - //QLabel *ui_evidence_name; AOLineEdit *ui_evidence_name; QWidget *ui_evidence_buttons; QVector<AOEvidenceButton*> ui_evidence_list; @@ -314,7 +313,8 @@ private: AOButton *ui_evidence_present; AOImage *ui_evidence_overlay; AOButton *ui_evidence_delete; - AOLineEdit *ui_evidence_image; + AOLineEdit *ui_evidence_image_name; + AOButton *ui_evidence_image_button; AOButton *ui_evidence_x; AOTextEdit *ui_evidence_description; @@ -385,7 +385,8 @@ private slots: void on_pos_dropdown_changed(int p_index); void on_evidence_name_edited(); - void on_evidence_image_edited(); + void on_evidence_image_name_edited(); + void on_evidence_image_button_clicked(); void on_evidence_clicked(int p_id); void on_evidence_double_clicked(int p_id); diff --git a/evidence.cpp b/evidence.cpp index a20fd06f..19ffecf2 100644 --- a/evidence.cpp +++ b/evidence.cpp @@ -1,6 +1,7 @@ #include "courtroom.h" #include <QDebug> +#include <QFileDialog> void Courtroom::construct_evidence() { @@ -22,7 +23,9 @@ void Courtroom::construct_evidence() ui_evidence_overlay = new AOImage(ui_evidence, ao_app); ui_evidence_delete = new AOButton(ui_evidence_overlay, ao_app); - ui_evidence_image = new AOLineEdit(ui_evidence_overlay); + ui_evidence_image_name = new AOLineEdit(ui_evidence_overlay); + ui_evidence_image_button = new AOButton(ui_evidence_overlay, ao_app); + ui_evidence_image_button->setText("Choose.."); ui_evidence_x = new AOButton(ui_evidence_overlay, ao_app); ui_evidence_description = new AOTextEdit(ui_evidence_overlay); @@ -76,7 +79,8 @@ void Courtroom::construct_evidence() 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_delete, SIGNAL(clicked()), this, SLOT(on_evidence_delete_clicked())); - connect(ui_evidence_image, SIGNAL(returnPressed()), this, SLOT(on_evidence_image_edited())); + connect(ui_evidence_image_name, SIGNAL(returnPressed()), this, SLOT(on_evidence_image_name_edited())); + 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())); ui_evidence->hide(); @@ -168,7 +172,7 @@ void Courtroom::on_evidence_name_edited() ao_app->send_server_packet(new AOPacket("EE", f_contents)); } -void Courtroom::on_evidence_image_edited() +void Courtroom::on_evidence_image_name_edited() { if (current_evidence >= local_evidence_list.size()) return; @@ -180,11 +184,38 @@ void Courtroom::on_evidence_image_edited() f_contents.append(QString::number(current_evidence)); f_contents.append(f_evi.name); f_contents.append(f_evi.description); - f_contents.append(ui_evidence_image->text()); + f_contents.append(ui_evidence_image_name->text()); ao_app->send_server_packet(new AOPacket("EE", f_contents)); } +void Courtroom::on_evidence_image_button_clicked() +{ + QFileDialog dialog(this); + dialog.setFileMode(QFileDialog::ExistingFile); + dialog.setNameFilter(tr("Images (*.png)")); + dialog.setViewMode(QFileDialog::List); + dialog.setDirectory(ao_app->get_evidence_path()); + + QStringList filenames; + + if (dialog.exec()) + filenames = dialog.selectedFiles(); + + if (filenames.size() != 1) + return; + + QString filename = filenames.at(0); + + QStringList split_filename = filename.split("/"); + + filename = split_filename.at(split_filename.size() - 1); + + ui_evidence_image_name->setText(filename); + + on_evidence_image_name_edited(); +} + void Courtroom::on_evidence_clicked(int p_id) { ui_evidence_name->setReadOnly(true); @@ -226,7 +257,7 @@ void Courtroom::on_evidence_double_clicked(int p_id) ui_evidence_description->clear(); ui_evidence_description->appendPlainText(f_evi.description); - ui_evidence_image->setText(f_evi.image); + ui_evidence_image_name->setText(f_evi.image); ui_evidence_overlay->show(); |
