fixed various evidence-related bugs

This commit is contained in:
OmniTroid 2017-04-07 17:53:57 +02:00
parent 62a9bc94b6
commit 8a45090fe9
7 changed files with 36 additions and 22 deletions

2
.gitignore vendored
View File

@ -3,3 +3,5 @@
*.user *.user
*.dll *.dll
*.so *.so
base_override.h

View File

@ -38,9 +38,6 @@ void AOEvidenceButton::set_image(QString p_image)
void AOEvidenceButton::set_selected(bool p_selected) void AOEvidenceButton::set_selected(bool p_selected)
{ {
m_selected = p_selected; m_selected = p_selected;
if (!m_selected)
ui_selector->hide();
} }
void AOEvidenceButton::on_clicked() void AOEvidenceButton::on_clicked()

View File

@ -539,8 +539,6 @@ void Courtroom::set_font(QWidget *widget, QString p_identifier)
QString::number(f_color.green()) + ", " + QString::number(f_color.green()) + ", " +
QString::number(f_color.blue()) + ", 255); }"; QString::number(f_color.blue()) + ", 255); }";
qDebug() << "style_sheet_string: " << style_sheet_string;
widget->setStyleSheet(style_sheet_string); widget->setStyleSheet(style_sheet_string);
} }
@ -1334,7 +1332,6 @@ void Courtroom::set_scene()
} }
ui_vp_background->set_image(f_background); ui_vp_background->set_image(f_background);
qDebug() << "f_desk_image: " << f_desk_image;
ui_vp_desk->set_image(f_desk_image); ui_vp_desk->set_image(f_desk_image);
ui_vp_legacy_desk->set_legacy_desk(f_desk_image); ui_vp_legacy_desk->set_legacy_desk(f_desk_image);

View File

@ -297,8 +297,8 @@ private:
QLabel *ui_evidence_name; QLabel *ui_evidence_name;
QWidget *ui_evidence_buttons; QWidget *ui_evidence_buttons;
QVector<AOEvidenceButton*> ui_evidence_list; QVector<AOEvidenceButton*> ui_evidence_list;
AOImage *ui_evidence_left; AOButton *ui_evidence_left;
AOImage *ui_evidence_right; AOButton *ui_evidence_right;
AOImage *ui_evidence_overlay; AOImage *ui_evidence_overlay;
AOButton *ui_evidence_x; AOButton *ui_evidence_x;
QPlainTextEdit *ui_evidence_description; QPlainTextEdit *ui_evidence_description;

View File

@ -14,8 +14,8 @@ void Courtroom::construct_evidence()
ui_evidence_buttons = new QWidget(ui_evidence); ui_evidence_buttons = new QWidget(ui_evidence);
ui_evidence_left = new AOImage(ui_evidence, ao_app); ui_evidence_left = new AOButton(ui_evidence, ao_app);
ui_evidence_right = new AOImage(ui_evidence, ao_app); ui_evidence_right = new AOButton(ui_evidence, ao_app);
ui_evidence_overlay = new AOImage(ui_evidence, ao_app); ui_evidence_overlay = new AOImage(ui_evidence, ao_app);
@ -32,16 +32,16 @@ void Courtroom::construct_evidence()
QPoint f_spacing = ao_app->get_button_spacing("evidence_button_spacing", "courtroom_design.ini"); QPoint f_spacing = ao_app->get_button_spacing("evidence_button_spacing", "courtroom_design.ini");
const int button_width = 60; const int button_width = 70;
int x_spacing = f_spacing.x(); int x_spacing = f_spacing.x();
int x_mod_count = 0; int x_mod_count = 0;
const int button_height = 60; const int button_height = 70;
int y_spacing = f_spacing.y(); int y_spacing = f_spacing.y();
int y_mod_count = 0; int y_mod_count = 0;
evidence_columns = ((ui_evidence->width() - button_width) / (x_spacing + button_width)) + 1; evidence_columns = ((ui_evidence_buttons->width() - button_width) / (x_spacing + button_width)) + 1;
evidence_rows = ((ui_evidence->height() - button_height) / (y_spacing + button_height)) + 1; evidence_rows = ((ui_evidence_buttons->height() - button_height) / (y_spacing + button_height)) + 1;
max_evidence_on_page = evidence_columns * evidence_rows; max_evidence_on_page = evidence_columns * evidence_rows;
@ -50,7 +50,7 @@ void Courtroom::construct_evidence()
int x_pos = (button_width + x_spacing) * x_mod_count; int x_pos = (button_width + x_spacing) * x_mod_count;
int y_pos = (button_height + y_spacing) * y_mod_count; int y_pos = (button_height + y_spacing) * y_mod_count;
AOEvidenceButton *f_evidence = new AOEvidenceButton(ui_evidence_button, ao_app, x_pos, y_pos); AOEvidenceButton *f_evidence = new AOEvidenceButton(ui_evidence_buttons, ao_app, x_pos, y_pos);
ui_evidence_list.append(f_evidence); ui_evidence_list.append(f_evidence);
@ -68,6 +68,10 @@ void Courtroom::construct_evidence()
} }
} }
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_x, SIGNAL(clicked()), this, SLOT(on_evidence_x_clicked()));
ui_evidence->hide(); ui_evidence->hide();
} }
@ -105,21 +109,22 @@ void Courtroom::set_evidence_page()
if (total_evidence == 0) if (total_evidence == 0)
return; return;
int total_pages = total_evidence / max_evidence_on_page; int total_pages = evidence_list.size() / max_evidence_on_page;
int evidence_on_page = 0; int evidence_on_page = 0;
if (total_evidence % max_evidence_on_page != 0) if ((evidence_list.size() % max_evidence_on_page) != 0)
{ {
++total_pages; ++total_pages;
evidence_on_page = total_evidence % max_evidence_on_page; //i. e. not on the last page
if (total_pages > current_evidence_page + 1)
evidence_on_page = max_evidence_on_page;
else
evidence_on_page = evidence_list.size() % max_evidence_on_page;
} }
else else
evidence_on_page = max_evidence_on_page; evidence_on_page = max_evidence_on_page;
qDebug() << "evidence_on_page: " << evidence_on_page;
if (total_pages > current_evidence_page + 1) if (total_pages > current_evidence_page + 1)
ui_evidence_right->show(); ui_evidence_right->show();
@ -136,6 +141,7 @@ void Courtroom::set_evidence_page()
f_evidence->show(); f_evidence->show();
} }
} }
void Courtroom::on_evidence_clicked(int p_id) void Courtroom::on_evidence_clicked(int p_id)

View File

@ -188,7 +188,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
if (f_packet.contains("customobjections",Qt::CaseInsensitive)) if (f_packet.contains("customobjections",Qt::CaseInsensitive))
custom_objection_enabled = true; custom_objection_enabled = true;
if (f_packet.contains("fastloading",Qt::CaseInsensitive)) if (f_packet.contains("fastloading",Qt::CaseInsensitive))
improved_loading_enabled = true; //improved_loading_enabled = true;
if (f_packet.contains("noencryption",Qt::CaseInsensitive)) if (f_packet.contains("noencryption",Qt::CaseInsensitive))
encryption_needed = false; encryption_needed = false;
if (f_packet.contains("deskmod",Qt::CaseInsensitive)) if (f_packet.contains("deskmod",Qt::CaseInsensitive))

View File

@ -4,9 +4,20 @@
#include <QDir> #include <QDir>
#include <QDebug> #include <QDebug>
#ifdef BASE_OVERRIDE
#include "base_override.h"
#endif
QString AOApplication::get_base_path() QString AOApplication::get_base_path()
{ {
#ifdef BASE_OVERRIDE
return base_override;
#else
return QDir::currentPath() + "/base/";
#endif
/*
#ifdef OMNI_DEBUG #ifdef OMNI_DEBUG
return "/media/omnitroid/Data/winshare/AO/client/base/"; return "/media/omnitroid/Data/winshare/AO/client/base/";
#elif OMNI_DEBUG2 #elif OMNI_DEBUG2
@ -20,6 +31,7 @@ QString AOApplication::get_base_path()
#else #else
return QDir::currentPath() + "/base/"; return QDir::currentPath() + "/base/";
#endif #endif
*/
} }
QString AOApplication::get_data_path() QString AOApplication::get_data_path()