Skip to content

Commit 3f92634

Browse files
committed
finished evidence. ready for release.
1 parent 7c20ad7 commit 3f92634

7 files changed

Lines changed: 232 additions & 12 deletions

File tree

aoevidencebutton.cpp

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,17 @@ AOEvidenceButton::AOEvidenceButton(QWidget *p_parent, AOApplication *p_ao_app, i
66
{
77
ao_app = p_ao_app;
88

9+
ui_selector = new AOImage(p_parent, ao_app);
10+
ui_selector->resize(71, 71);
11+
ui_selector->move(p_x - 1, p_y - 1);
12+
ui_selector->set_scaled_image("evidence_selector.png");
13+
ui_selector->setAttribute(Qt::WA_TransparentForMouseEvents);
14+
ui_selector->hide();
15+
916
this->move(p_x, p_y);
1017
this->resize(70, 70);
18+
19+
connect(this, SIGNAL(clicked()), this, SLOT(on_clicked()));
1120
}
1221

1322
void AOEvidenceButton::set_image(QString p_image)
@@ -21,12 +30,39 @@ void AOEvidenceButton::set_image(QString p_image)
2130
}
2231
else
2332
{
24-
this->setText("evi");
33+
this->setText(p_image);
2534
this->setStyleSheet("");
2635
}
2736
}
2837

38+
void AOEvidenceButton::set_selected(bool p_selected)
39+
{
40+
m_selected = p_selected;
41+
42+
if (!m_selected)
43+
ui_selector->hide();
44+
}
45+
2946
void AOEvidenceButton::on_clicked()
3047
{
3148
evidence_clicked(m_id);
3249
}
50+
51+
void AOEvidenceButton::enterEvent(QEvent * e)
52+
{
53+
ui_selector->show();
54+
55+
on_hover(m_id, true);
56+
57+
setFlat(false);
58+
QPushButton::enterEvent(e);
59+
}
60+
61+
void AOEvidenceButton::leaveEvent(QEvent * e)
62+
{
63+
if (!m_selected)
64+
ui_selector->hide();
65+
66+
on_hover(m_id, false);
67+
QPushButton::leaveEvent(e);
68+
}

aoevidencebutton.h

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#define AOEVIDENCEBUTTON_H
33

44
#include "aoapplication.h"
5+
#include "aoimage.h"
56

67
#include <QPushButton>
78
#include <QString>
@@ -16,13 +17,24 @@ class AOEvidenceButton : public QPushButton
1617
void set_image(QString p_image);
1718
void set_id(int p_id) {m_id = p_id;}
1819

20+
void set_selected(bool p_selected);
21+
1922
private:
2023
AOApplication *ao_app;
2124

22-
int m_id;
25+
AOImage *ui_selector;
26+
27+
bool m_selected = false;
28+
29+
int m_id = 0;
30+
31+
protected:
32+
void enterEvent(QEvent *e);
33+
void leaveEvent(QEvent *e);
2334

2435
signals:
2536
void evidence_clicked(int p_id);
37+
void on_hover(int p_id, bool p_state);
2638

2739
private slots:
2840
void on_clicked();

courtroom.cpp

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
6363
ui_vp_message->setFrameStyle(QFrame::NoFrame);
6464
ui_vp_message->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
6565
ui_vp_message->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
66+
ui_vp_message->setReadOnly(true);
6667
ui_vp_testimony = new AOImage(ui_viewport, ao_app);
6768
ui_vp_realization = new AOImage(this, ao_app);
6869
ui_vp_wtce = new AOMovie(ui_viewport, ao_app);
@@ -168,7 +169,6 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
168169
ui_evidence_button = new AOButton(this, ao_app);
169170

170171
ui_evidence = new AOImage(this, ao_app);
171-
ui_evidence->hide();
172172

173173
/////////////char select widgets under here///////////////
174174

@@ -289,7 +289,6 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
289289

290290
set_widgets();
291291

292-
//in evidence.cpp
293292
construct_evidence();
294293

295294
//implementation in emotes.cpp
@@ -379,7 +378,6 @@ void Courtroom::set_widgets()
379378
"color: white;");
380379

381380
set_size_and_pos(ui_vp_message, "message");
382-
ui_vp_message->setReadOnly(true);
383381
#if (defined (_WIN32) || defined (_WIN64))
384382
ui_vp_message->setFont(pt_10);
385383
#else
@@ -520,6 +518,7 @@ void Courtroom::set_widgets()
520518

521519
set_size_and_pos(ui_evidence_button, "evidence_button");
522520
//ui_evidence_button->set_image("evidencebutton.png");
521+
ui_evidence_button->setText("Evidence");
523522

524523
set_size_and_pos(ui_evidence, "evidence_background");
525524
ui_evidence->set_image("evidencebackground.png");
@@ -591,6 +590,7 @@ void Courtroom::set_taken(int n_char, bool p_taken)
591590
f_char.name = char_list.at(n_char).name;
592591
f_char.description = char_list.at(n_char).description;
593592
f_char.taken = p_taken;
593+
f_char.evidence_string = char_list.at(n_char).evidence_string;
594594

595595
char_list.replace(n_char, f_char);
596596
}
@@ -691,6 +691,13 @@ void Courtroom::enter_courtroom(int p_cid)
691691

692692
set_emote_page();
693693

694+
current_evidence_page = 0;
695+
current_evidence = 0;
696+
697+
qDebug() << "setting evidence page";
698+
set_evidence_page();
699+
qDebug() << "evidence page set";
700+
694701
QString side = ao_app->get_char_side(f_char);
695702

696703
if (side == "jud")
@@ -1805,6 +1812,7 @@ void Courtroom::on_evidence_button_clicked()
18051812
if (ui_evidence->isHidden())
18061813
{
18071814
ui_evidence->show();
1815+
ui_evidence_overlay->hide();
18081816
}
18091817
else
18101818
{

courtroom.h

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,8 @@ class Courtroom : public QMainWindow
172172
int emote_rows = 2;
173173
int max_emotes_on_page = 10;
174174

175+
QVector<evi_type> local_evidence_list;
176+
175177
int current_evidence_page = 0;
176178
int current_evidence = 0;
177179
int evidence_columns = 6;
@@ -273,11 +275,14 @@ class Courtroom : public QMainWindow
273275
AOImage *ui_muted;
274276

275277
AOButton *ui_evidence_button;
278+
AOImage *ui_evidence;
279+
QLabel *ui_evidence_name;
276280
QVector<AOEvidenceButton*> ui_evidence_list;
277281
AOImage *ui_evidence_left;
278282
AOImage *ui_evidence_right;
279-
280-
AOImage *ui_evidence;
283+
AOImage *ui_evidence_overlay;
284+
AOButton *ui_evidence_x;
285+
QPlainTextEdit *ui_evidence_description;
281286

282287
AOImage *ui_char_select_background;
283288

@@ -326,11 +331,17 @@ private slots:
326331
void on_music_list_double_clicked(QModelIndex p_model);
327332

328333
void on_emote_clicked(int p_id);
329-
void on_evidence_clicked(int p_id);
330334

331335
void on_emote_left_clicked();
332336
void on_emote_right_clicked();
333337

338+
void on_evidence_clicked(int p_id);
339+
340+
void on_evidence_hover(int p_id, bool p_state);
341+
342+
void on_evidence_left_clicked();
343+
void on_evidence_right_clicked();
344+
334345
void on_hold_it_clicked();
335346
void on_objection_clicked();
336347
void on_take_that_clicked();
@@ -366,6 +377,8 @@ private slots:
366377

367378
void on_evidence_button_clicked();
368379

380+
void on_evidence_x_clicked();
381+
369382
void on_back_to_lobby_clicked();
370383

371384
void on_char_select_left_clicked();

datatypes.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ struct char_type
2626
{
2727
QString name;
2828
QString description;
29+
QString evidence_string;
2930
bool taken;
3031
};
3132

0 commit comments

Comments
 (0)