more work on the courtroom + added the aocharbutton class

This commit is contained in:
David Skoland 2017-01-16 16:11:54 +01:00
parent 0002a02421
commit c4dff0f528
9 changed files with 80 additions and 14 deletions

View File

@ -28,7 +28,8 @@ SOURCES += main.cpp\
packet_distribution.cpp \
hex_functions.cpp \
encryption_functions.cpp \
courtroom.cpp
courtroom.cpp \
aocharbutton.cpp
HEADERS += lobby.h \
text_file_functions.h \
@ -44,4 +45,5 @@ HEADERS += lobby.h \
aopacket.h \
hex_functions.h \
encryption_functions.h \
courtroom.h
courtroom.h \
aocharbutton.h

View File

@ -1,6 +1,7 @@
#include <QDebug>
#include "lobby.h"
#include "courtroom.h"
#include "networkmanager.h"
#include "aoapplication.h"
@ -47,8 +48,7 @@ void AOApplication::construct_courtroom()
return;
}
//T0D0, make custom Courtroom class and uncomment
//w_courtroom = new QMainWindow(this);
w_courtroom = new Courtroom(this);
courtroom_constructed = true;
}

View File

@ -21,8 +21,7 @@ public:
NetworkManager *net_manager;
Lobby *w_lobby;
//T0D0: change to custom class "Courtroom"
QMainWindow *w_courtroom;
Courtroom *w_courtroom;
bool lobby_constructed = false;
bool courtroom_constructed = false;

33
aocharbutton.cpp Normal file
View File

@ -0,0 +1,33 @@
#include "aocharbutton.h"
#include "path_functions.h"
#include "file_functions.h"
#include <QFile>
AOCharButton::AOCharButton(QWidget *parent)
{
m_parent = parent;
this->resize(60, 60);
}
void AOCharButton::set_image(QString p_character)
{
QString image_path = get_character_path(p_character) + "char_icon.png";
QString legacy_path = get_demothings_path() + p_character.toLower() + "_char_icon.png";
if (file_exists(image_path))
this->setStyleSheet("border-image:url(\"" + image_path + "\")");
else if (file_exists(legacy_path))
{
this->setStyleSheet("border-image:url(\"" + legacy_path + "\")");
//ninja optimization
QFile::copy(legacy_path, image_path);
}
else
{
this->setStyleSheet("border-image:url()");
this->setText(p_character);
}
}

21
aocharbutton.h Normal file
View File

@ -0,0 +1,21 @@
#ifndef AOCHARBUTTON_H
#define AOCHARBUTTON_H
#include <QPushButton>
#include <QString>
#include <QWidget>
class AOCharButton : public QPushButton
{
Q_OBJECT
public:
AOCharButton(QWidget *parent);
void set_image(QString p_character);
private:
QWidget *m_parent;
};
#endif // AOCHARBUTTON_H

View File

@ -2,7 +2,7 @@
#include "aoapplication.h"
Courtroom::Courtroom(AOApplication *parent) : QMainWindow(parent)
Courtroom::Courtroom(AOApplication *parent) : QMainWindow()
{
ao_app = parent;

View File

@ -3,6 +3,7 @@
#include "aoimage.h"
#include "aobutton.h"
#include "aobuttongrid.h"
#include "aopacket.h"
#include <QMainWindow>
@ -84,17 +85,15 @@ private:
QComboBox *ui_text_color;
QSlider *ui_music_slider;
QSlider *ui_sfx_slider;
QSlider *ui_blip_slider;
AOImage *ui_muted;
//ui_charselect w/ icons
signals:
public slots:
AOImage *ui_char_select_background;
AOButtonGrid *char_button_grid;
};
#endif // COURTROOM_H

View File

@ -19,3 +19,13 @@ QString get_default_theme_path()
{
return get_base_path() + "themes/default/";
}
QString get_character_path(QString p_character)
{
return get_base_path() + "characters/" + p_character.toLower() + "/";
}
QString get_demothings_path()
{
return get_base_path() + "misc/demothings/";
}

View File

@ -6,5 +6,7 @@
QString get_base_path();
QString get_theme_path();
QString get_default_theme_path();
QString get_character_path(QString p_character);
QString get_demothings_path();
#endif // PATH_FUNCTIONS_H