quill/qclickablelabel.cpp

40 lines
1.3 KiB
C++
Raw Normal View History

2022-06-28 23:15:13 -07:00
#include <QJsonDocument>
#include <QJsonObject>
2022-06-23 12:34:40 -07:00
#include "qclickablelabel.h"
QClickableLabel::QClickableLabel(QWidget* parent, Qt::WindowFlags f)
: QLabel(parent) {
}
QClickableLabel::~QClickableLabel() {}
void QClickableLabel::mousePressEvent(QMouseEvent * event) {
timeAtClick = QDateTime::currentMSecsSinceEpoch();
2022-06-23 12:34:40 -07:00
emit clicked();
2022-06-28 23:15:13 -07:00
if(objectName() == "pageNumberLabel") {
2022-07-01 15:56:34 -07:00
QClickableLabel::setStyleSheet("border-radius: 10px; padding-left: 10px; padding-right: 10px");
2022-06-28 23:15:13 -07:00
}
else {
QClickableLabel::setStyleSheet("color: white; background-color: black; border-radius: 10px; padding: 10px");
}
}
void QClickableLabel::mouseReleaseEvent(QMouseEvent * event) {
if(QDateTime::currentMSecsSinceEpoch() >= timeAtClick + 500) {
emit longPress(objectName().toInt());
}
else {
emit unclicked();
emit bookID(objectName().toInt());
}
emit bookPath(QJsonDocument::fromJson(qUncompress(QByteArray::fromBase64(objectName().toUtf8()))).object()["BookPath"].toString());
2022-06-28 23:15:13 -07:00
if(objectName() == "pageNumberLabel") {
2022-07-01 15:56:34 -07:00
QClickableLabel::setStyleSheet("border-radius: 10px; padding-left: 10px; padding-right: 10px");
2022-06-28 23:15:13 -07:00
}
else {
QClickableLabel::setStyleSheet("color: black; background-color: white; border-radius: 10px; padding: 10px");
}
2022-06-23 12:34:40 -07:00
}