aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/aoemotebutton.h3
-rw-r--r--src/aoemotebutton.cpp23
2 files changed, 24 insertions, 2 deletions
diff --git a/include/aoemotebutton.h b/include/aoemotebutton.h
index cb46167f..58e7e747 100644
--- a/include/aoemotebutton.h
+++ b/include/aoemotebutton.h
@@ -2,7 +2,7 @@
#define AOEMOTEBUTTON_H
#include "aoapplication.h"
-
+#include <QPainter>
#include <QDebug>
#include <QPushButton>
@@ -25,6 +25,7 @@ private:
int m_id = 0;
+
signals:
void emote_clicked(int p_id);
diff --git a/src/aoemotebutton.cpp b/src/aoemotebutton.cpp
index abec526b..90535607 100644
--- a/src/aoemotebutton.cpp
+++ b/src/aoemotebutton.cpp
@@ -1,5 +1,4 @@
#include "aoemotebutton.h"
-
#include "file_functions.h"
AOEmoteButton::AOEmoteButton(QWidget *p_parent, AOApplication *p_ao_app,
@@ -17,6 +16,8 @@ AOEmoteButton::AOEmoteButton(QWidget *p_parent, AOApplication *p_ao_app,
void AOEmoteButton::set_image(QString p_image, QString p_emote_comment)
{
+ QString tmp_p_image = p_image;
+
if (file_exists(p_image)) {
this->setText("");
this->setStyleSheet(
@@ -24,6 +25,26 @@ void AOEmoteButton::set_image(QString p_image, QString p_emote_comment)
"\") 0 0 0 0 stretch stretch; }"
"QToolTip { color: #000000; background-color: #ffffff; border: 0px; }");
}
+ else if (p_image.contains("_on") && file_exists(tmp_p_image.replace("_on", "_off"))) {
+ QImage tmpImage(tmp_p_image);
+ QPoint p1, p2;
+ p2.setY(tmpImage.height());
+
+ QLinearGradient gradient(p1, p2);
+ gradient.setColorAt(0, Qt::transparent);
+ gradient.setColorAt(1, QColor(0, 0, 0, 159));
+
+ QPainter p(&tmpImage);
+ p.fillRect(0, 0, tmpImage.width(), tmpImage.height(), gradient);
+
+ gradient.setColorAt(0, QColor(0, 0, 0, 159));
+ gradient.setColorAt(1, Qt::transparent);
+ p.fillRect(0, 0, tmpImage.width(), tmpImage.height(), gradient);
+
+ p.end();
+ tmpImage.save(p_image, "png");
+ set_image(p_image, p_emote_comment);
+ }
else {
this->setText(p_emote_comment);
this->setStyleSheet("QPushButton { border-image: url(); }"