aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOmniTroid <davidskoland@gmail.com>2017-04-24 15:10:07 +0200
committerOmniTroid <davidskoland@gmail.com>2017-04-24 15:10:07 +0200
commit3f97df61744a402eeee3e820cbe860d9a21c8750 (patch)
tree90bfbaf8ccfa98c9995b1019735dbd2a66785df3
parentae60825b2997a9c6ceee37483b5d5a15c99214ee (diff)
started implementing evidence functionality
-rw-r--r--Attorney_Online_remake.pro6
-rw-r--r--aoevidencebutton.cpp25
-rw-r--r--aoevidencebutton.h3
-rw-r--r--aolineedit.cpp21
-rw-r--r--aolineedit.h26
-rw-r--r--courtroom.h5
-rw-r--r--evidence.cpp11
-rw-r--r--text_file_functions.cpp1
8 files changed, 87 insertions, 11 deletions
diff --git a/Attorney_Online_remake.pro b/Attorney_Online_remake.pro
index 7dc77c1a..7cb2c010 100644
--- a/Attorney_Online_remake.pro
+++ b/Attorney_Online_remake.pro
@@ -44,7 +44,8 @@ SOURCES += main.cpp\
evidence.cpp \
aoevidencebutton.cpp \
charselect.cpp \
- aotextarea.cpp
+ aotextarea.cpp \
+ aolineedit.cpp
HEADERS += lobby.h \
aoimage.h \
@@ -70,7 +71,8 @@ HEADERS += lobby.h \
aomusicplayer.h \
aoblipplayer.h \
aoevidencebutton.h \
- aotextarea.h
+ aotextarea.h \
+ aolineedit.h
unix:LIBS += -L$$PWD -lbass
win32:LIBS += "$$PWD/bass.dll"
diff --git a/aoevidencebutton.cpp b/aoevidencebutton.cpp
index 5aff369f..4fd84757 100644
--- a/aoevidencebutton.cpp
+++ b/aoevidencebutton.cpp
@@ -2,10 +2,23 @@
#include "file_functions.h"
+#include <QDebug>
+
AOEvidenceButton::AOEvidenceButton(QWidget *p_parent, AOApplication *p_ao_app, int p_x, int p_y) : QPushButton(p_parent)
{
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->resize(71, 71);
ui_selector->move(p_x - 1, p_y - 1);
@@ -40,9 +53,9 @@ void AOEvidenceButton::set_selected(bool p_selected)
m_selected = p_selected;
if (!m_selected)
- ui_selector->hide();
+ ui_selected->hide();
else
- ui_selector->show();
+ ui_selected->show();
}
void AOEvidenceButton::on_clicked()
@@ -50,6 +63,11 @@ void AOEvidenceButton::on_clicked()
evidence_clicked(m_id);
}
+void AOEvidenceButton::mouseDoubleClickEvent(QMouseEvent *e) {
+ QPushButton::mouseDoubleClickEvent(e);
+ evidence_double_clicked(m_id);
+}
+
void AOEvidenceButton::enterEvent(QEvent * e)
{
ui_selector->show();
@@ -62,8 +80,7 @@ void AOEvidenceButton::enterEvent(QEvent * e)
void AOEvidenceButton::leaveEvent(QEvent * e)
{
- if (!m_selected)
- ui_selector->hide();
+ ui_selector->hide();
on_hover(m_id, false);
QPushButton::leaveEvent(e);
diff --git a/aoevidencebutton.h b/aoevidencebutton.h
index df5f38b9..2a630b82 100644
--- a/aoevidencebutton.h
+++ b/aoevidencebutton.h
@@ -22,6 +22,7 @@ public:
private:
AOApplication *ao_app;
+ AOImage *ui_selected;
AOImage *ui_selector;
bool m_selected = false;
@@ -31,9 +32,11 @@ private:
protected:
void enterEvent(QEvent *e);
void leaveEvent(QEvent *e);
+ void mouseDoubleClickEvent(QMouseEvent *e);
signals:
void evidence_clicked(int p_id);
+ void evidence_double_clicked(int p_id);
void on_hover(int p_id, bool p_state);
private slots:
diff --git a/aolineedit.cpp b/aolineedit.cpp
new file mode 100644
index 00000000..f6026e14
--- /dev/null
+++ b/aolineedit.cpp
@@ -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);
+}
diff --git a/aolineedit.h b/aolineedit.h
new file mode 100644
index 00000000..ce17680d
--- /dev/null
+++ b/aolineedit.h
@@ -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
diff --git a/courtroom.h b/courtroom.h
index ac146568..e41ae28a 100644
--- a/courtroom.h
+++ b/courtroom.h
@@ -14,6 +14,7 @@
#include "aoblipplayer.h"
#include "aoevidencebutton.h"
#include "aotextarea.h"
+#include "aolineedit.h"
#include "datatypes.h"
#include <QMainWindow>
@@ -294,7 +295,8 @@ private:
AOButton *ui_evidence_button;
AOImage *ui_evidence;
- QLabel *ui_evidence_name;
+ //QLabel *ui_evidence_name;
+ AOLineEdit *ui_evidence_name;
QWidget *ui_evidence_buttons;
QVector<AOEvidenceButton*> ui_evidence_list;
AOButton *ui_evidence_left;
@@ -369,6 +371,7 @@ private slots:
void on_emote_dropdown_changed(int p_index);
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);
diff --git a/evidence.cpp b/evidence.cpp
index 1c504a3a..e653a34f 100644
--- a/evidence.cpp
+++ b/evidence.cpp
@@ -6,7 +6,8 @@ void Courtroom::construct_evidence()
{
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->setFont(QFont("Arial", 14, QFont::Bold));
ui_evidence_name->setStyleSheet("background-color: rgba(0, 0, 0, 0);"
@@ -57,6 +58,7 @@ void Courtroom::construct_evidence()
f_evidence->set_id(n);
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)));
++x_mod_count;
@@ -163,9 +165,12 @@ void Courtroom::on_evidence_clicked(int p_id)
ui_evidence_list.at(p_id)->set_selected(true);
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->appendPlainText(local_evidence_list.at(current_evidence).description);
+ ui_evidence_description->appendPlainText(local_evidence_list.at(p_id).description);
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);
}
else
- ui_evidence_name->setText("");
+ ui_evidence_name->setText(local_evidence_list.at(current_evidence).name);
}
void Courtroom::on_evidence_left_clicked()
diff --git a/text_file_functions.cpp b/text_file_functions.cpp
index e4bc2a10..891e13c6 100644
--- a/text_file_functions.cpp
+++ b/text_file_functions.cpp
@@ -153,7 +153,6 @@ QString AOApplication::read_design_ini(QString p_identifier, QString p_design_pa
if (!design_ini.open(QIODevice::ReadOnly))
{
- qDebug() << "Could not find design ini " + p_design_path;
return "";
}
QTextStream in(&design_ini);