added pick evidence image button

This commit is contained in:
OmniTroid 2017-06-19 22:49:04 +02:00
parent 4796cc6677
commit 3a2e0b02f3
3 changed files with 43 additions and 9 deletions

View File

@ -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");

View File

@ -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);

View File

@ -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();