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,7 +80,6 @@ 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);
 | 
				
			||||||
 | 
				
			|||||||
@ -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