started implementing evidence functionality
This commit is contained in:
parent
ae60825b29
commit
3f97df6174
@ -44,7 +44,8 @@ SOURCES += main.cpp\
|
|||||||
evidence.cpp \
|
evidence.cpp \
|
||||||
aoevidencebutton.cpp \
|
aoevidencebutton.cpp \
|
||||||
charselect.cpp \
|
charselect.cpp \
|
||||||
aotextarea.cpp
|
aotextarea.cpp \
|
||||||
|
aolineedit.cpp
|
||||||
|
|
||||||
HEADERS += lobby.h \
|
HEADERS += lobby.h \
|
||||||
aoimage.h \
|
aoimage.h \
|
||||||
@ -70,7 +71,8 @@ HEADERS += lobby.h \
|
|||||||
aomusicplayer.h \
|
aomusicplayer.h \
|
||||||
aoblipplayer.h \
|
aoblipplayer.h \
|
||||||
aoevidencebutton.h \
|
aoevidencebutton.h \
|
||||||
aotextarea.h
|
aotextarea.h \
|
||||||
|
aolineedit.h
|
||||||
|
|
||||||
unix:LIBS += -L$$PWD -lbass
|
unix:LIBS += -L$$PWD -lbass
|
||||||
win32:LIBS += "$$PWD/bass.dll"
|
win32:LIBS += "$$PWD/bass.dll"
|
||||||
|
@ -2,10 +2,23 @@
|
|||||||
|
|
||||||
#include "file_functions.h"
|
#include "file_functions.h"
|
||||||
|
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
AOEvidenceButton::AOEvidenceButton(QWidget *p_parent, AOApplication *p_ao_app, int p_x, int p_y) : QPushButton(p_parent)
|
AOEvidenceButton::AOEvidenceButton(QWidget *p_parent, AOApplication *p_ao_app, int p_x, int p_y) : QPushButton(p_parent)
|
||||||
{
|
{
|
||||||
ao_app = p_ao_app;
|
ao_app = p_ao_app;
|
||||||
|
|
||||||
|
qDebug() << "constructing ui_selected";
|
||||||
|
|
||||||
|
ui_selected = new AOImage(p_parent, ao_app);
|
||||||
|
ui_selected->resize(70, 70);
|
||||||
|
ui_selected->move(p_x, p_y);
|
||||||
|
ui_selected->set_image("evidence_selected.png");
|
||||||
|
ui_selected->setAttribute(Qt::WA_TransparentForMouseEvents);
|
||||||
|
ui_selected->hide();
|
||||||
|
|
||||||
|
qDebug() << "ui_selected constructed";
|
||||||
|
|
||||||
ui_selector = new AOImage(p_parent, ao_app);
|
ui_selector = new AOImage(p_parent, ao_app);
|
||||||
ui_selector->resize(71, 71);
|
ui_selector->resize(71, 71);
|
||||||
ui_selector->move(p_x - 1, p_y - 1);
|
ui_selector->move(p_x - 1, p_y - 1);
|
||||||
@ -40,9 +53,9 @@ void AOEvidenceButton::set_selected(bool p_selected)
|
|||||||
m_selected = p_selected;
|
m_selected = p_selected;
|
||||||
|
|
||||||
if (!m_selected)
|
if (!m_selected)
|
||||||
ui_selector->hide();
|
ui_selected->hide();
|
||||||
else
|
else
|
||||||
ui_selector->show();
|
ui_selected->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
void AOEvidenceButton::on_clicked()
|
void AOEvidenceButton::on_clicked()
|
||||||
@ -50,6 +63,11 @@ void AOEvidenceButton::on_clicked()
|
|||||||
evidence_clicked(m_id);
|
evidence_clicked(m_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AOEvidenceButton::mouseDoubleClickEvent(QMouseEvent *e) {
|
||||||
|
QPushButton::mouseDoubleClickEvent(e);
|
||||||
|
evidence_double_clicked(m_id);
|
||||||
|
}
|
||||||
|
|
||||||
void AOEvidenceButton::enterEvent(QEvent * e)
|
void AOEvidenceButton::enterEvent(QEvent * e)
|
||||||
{
|
{
|
||||||
ui_selector->show();
|
ui_selector->show();
|
||||||
@ -62,8 +80,7 @@ void AOEvidenceButton::enterEvent(QEvent * e)
|
|||||||
|
|
||||||
void AOEvidenceButton::leaveEvent(QEvent * e)
|
void AOEvidenceButton::leaveEvent(QEvent * e)
|
||||||
{
|
{
|
||||||
if (!m_selected)
|
ui_selector->hide();
|
||||||
ui_selector->hide();
|
|
||||||
|
|
||||||
on_hover(m_id, false);
|
on_hover(m_id, false);
|
||||||
QPushButton::leaveEvent(e);
|
QPushButton::leaveEvent(e);
|
||||||
|
@ -22,6 +22,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
AOApplication *ao_app;
|
AOApplication *ao_app;
|
||||||
|
|
||||||
|
AOImage *ui_selected;
|
||||||
AOImage *ui_selector;
|
AOImage *ui_selector;
|
||||||
|
|
||||||
bool m_selected = false;
|
bool m_selected = false;
|
||||||
@ -31,9 +32,11 @@ private:
|
|||||||
protected:
|
protected:
|
||||||
void enterEvent(QEvent *e);
|
void enterEvent(QEvent *e);
|
||||||
void leaveEvent(QEvent *e);
|
void leaveEvent(QEvent *e);
|
||||||
|
void mouseDoubleClickEvent(QMouseEvent *e);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void evidence_clicked(int p_id);
|
void evidence_clicked(int p_id);
|
||||||
|
void evidence_double_clicked(int p_id);
|
||||||
void on_hover(int p_id, bool p_state);
|
void on_hover(int p_id, bool p_state);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
21
aolineedit.cpp
Normal file
21
aolineedit.cpp
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#include "aolineedit.h"
|
||||||
|
|
||||||
|
AOLineEdit::AOLineEdit(QWidget *parent) : QLineEdit(parent)
|
||||||
|
{
|
||||||
|
this->setReadOnly(true);
|
||||||
|
this->setFrame(false);
|
||||||
|
|
||||||
|
connect(this, SIGNAL(returnPressed()), this, SLOT(on_enter_pressed()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void AOLineEdit::mouseDoubleClickEvent(QMouseEvent *e)
|
||||||
|
{
|
||||||
|
QLineEdit::mouseDoubleClickEvent(e);
|
||||||
|
|
||||||
|
this->setReadOnly(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AOLineEdit::on_enter_pressed()
|
||||||
|
{
|
||||||
|
this->setReadOnly(true);
|
||||||
|
}
|
26
aolineedit.h
Normal file
26
aolineedit.h
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#ifndef AOLINEEDIT_H
|
||||||
|
#define AOLINEEDIT_H
|
||||||
|
|
||||||
|
#include <QLineEdit>
|
||||||
|
#include <QMouseEvent>
|
||||||
|
|
||||||
|
class AOLineEdit : public QLineEdit
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
AOLineEdit(QWidget *parent);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void mouseDoubleClickEvent(QMouseEvent *e);
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void double_clicked();
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void on_enter_pressed();
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // AOLINEEDIT_H
|
@ -14,6 +14,7 @@
|
|||||||
#include "aoblipplayer.h"
|
#include "aoblipplayer.h"
|
||||||
#include "aoevidencebutton.h"
|
#include "aoevidencebutton.h"
|
||||||
#include "aotextarea.h"
|
#include "aotextarea.h"
|
||||||
|
#include "aolineedit.h"
|
||||||
#include "datatypes.h"
|
#include "datatypes.h"
|
||||||
|
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
@ -294,7 +295,8 @@ private:
|
|||||||
|
|
||||||
AOButton *ui_evidence_button;
|
AOButton *ui_evidence_button;
|
||||||
AOImage *ui_evidence;
|
AOImage *ui_evidence;
|
||||||
QLabel *ui_evidence_name;
|
//QLabel *ui_evidence_name;
|
||||||
|
AOLineEdit *ui_evidence_name;
|
||||||
QWidget *ui_evidence_buttons;
|
QWidget *ui_evidence_buttons;
|
||||||
QVector<AOEvidenceButton*> ui_evidence_list;
|
QVector<AOEvidenceButton*> ui_evidence_list;
|
||||||
AOButton *ui_evidence_left;
|
AOButton *ui_evidence_left;
|
||||||
@ -369,6 +371,7 @@ private slots:
|
|||||||
void on_emote_dropdown_changed(int p_index);
|
void on_emote_dropdown_changed(int p_index);
|
||||||
|
|
||||||
void on_evidence_clicked(int p_id);
|
void on_evidence_clicked(int p_id);
|
||||||
|
void on_evidence_double_clicked(int p_id);
|
||||||
|
|
||||||
void on_evidence_hover(int p_id, bool p_state);
|
void on_evidence_hover(int p_id, bool p_state);
|
||||||
|
|
||||||
|
11
evidence.cpp
11
evidence.cpp
@ -6,7 +6,8 @@ void Courtroom::construct_evidence()
|
|||||||
{
|
{
|
||||||
ui_evidence = new AOImage(this, ao_app);
|
ui_evidence = new AOImage(this, ao_app);
|
||||||
|
|
||||||
ui_evidence_name = new QLabel(ui_evidence);
|
//ui_evidence_name = new QLabel(ui_evidence);
|
||||||
|
ui_evidence_name = new AOLineEdit(ui_evidence);
|
||||||
ui_evidence_name->setAlignment(Qt::AlignCenter);
|
ui_evidence_name->setAlignment(Qt::AlignCenter);
|
||||||
ui_evidence_name->setFont(QFont("Arial", 14, QFont::Bold));
|
ui_evidence_name->setFont(QFont("Arial", 14, QFont::Bold));
|
||||||
ui_evidence_name->setStyleSheet("background-color: rgba(0, 0, 0, 0);"
|
ui_evidence_name->setStyleSheet("background-color: rgba(0, 0, 0, 0);"
|
||||||
@ -57,6 +58,7 @@ void Courtroom::construct_evidence()
|
|||||||
f_evidence->set_id(n);
|
f_evidence->set_id(n);
|
||||||
|
|
||||||
connect(f_evidence, SIGNAL(evidence_clicked(int)), this, SLOT(on_evidence_clicked(int)));
|
connect(f_evidence, SIGNAL(evidence_clicked(int)), this, SLOT(on_evidence_clicked(int)));
|
||||||
|
connect(f_evidence, SIGNAL(evidence_double_clicked(int)), this, SLOT(on_evidence_double_clicked(int)));
|
||||||
connect(f_evidence, SIGNAL(on_hover(int, bool)), this, SLOT(on_evidence_hover(int, bool)));
|
connect(f_evidence, SIGNAL(on_hover(int, bool)), this, SLOT(on_evidence_hover(int, bool)));
|
||||||
|
|
||||||
++x_mod_count;
|
++x_mod_count;
|
||||||
@ -163,9 +165,12 @@ void Courtroom::on_evidence_clicked(int p_id)
|
|||||||
ui_evidence_list.at(p_id)->set_selected(true);
|
ui_evidence_list.at(p_id)->set_selected(true);
|
||||||
|
|
||||||
current_evidence = p_id + max_evidence_on_page * current_evidence_page;
|
current_evidence = p_id + max_evidence_on_page * current_evidence_page;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Courtroom::on_evidence_double_clicked(int p_id)
|
||||||
|
{
|
||||||
ui_evidence_description->clear();
|
ui_evidence_description->clear();
|
||||||
ui_evidence_description->appendPlainText(local_evidence_list.at(current_evidence).description);
|
ui_evidence_description->appendPlainText(local_evidence_list.at(p_id).description);
|
||||||
|
|
||||||
ui_evidence_overlay->show();
|
ui_evidence_overlay->show();
|
||||||
}
|
}
|
||||||
@ -179,7 +184,7 @@ void Courtroom::on_evidence_hover(int p_id, bool p_state)
|
|||||||
ui_evidence_name->setText(local_evidence_list.at(final_id).name);
|
ui_evidence_name->setText(local_evidence_list.at(final_id).name);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ui_evidence_name->setText("");
|
ui_evidence_name->setText(local_evidence_list.at(current_evidence).name);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Courtroom::on_evidence_left_clicked()
|
void Courtroom::on_evidence_left_clicked()
|
||||||
|
@ -153,7 +153,6 @@ QString AOApplication::read_design_ini(QString p_identifier, QString p_design_pa
|
|||||||
|
|
||||||
if (!design_ini.open(QIODevice::ReadOnly))
|
if (!design_ini.open(QIODevice::ReadOnly))
|
||||||
{
|
{
|
||||||
qDebug() << "Could not find design ini " + p_design_path;
|
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
QTextStream in(&design_ini);
|
QTextStream in(&design_ini);
|
||||||
|
Loading…
Reference in New Issue
Block a user