aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOmniTroid <davidskoland@gmail.com>2017-06-19 22:49:04 +0200
committerOmniTroid <davidskoland@gmail.com>2017-06-19 22:49:04 +0200
commit3a2e0b02f3632a97569efc64a4d9040a2629de60 (patch)
tree9f6a4f49e93daeb28db3b556870b19d181c2d0f4
parent4796cc6677710859d0732e47d8536704da2807ad (diff)
added pick evidence image button
-rw-r--r--courtroom.cpp4
-rw-r--r--courtroom.h7
-rw-r--r--evidence.cpp41
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();