more updates

This commit is contained in:
Ikatono
2024-05-22 01:19:23 -05:00
parent fac2260a01
commit 23068db95f
19 changed files with 416 additions and 115 deletions

View File

@@ -2,40 +2,10 @@
#include "fullsizelayout.hpp"
#include "qmimedata.h"
#include "utils.hpp"
#include "settings.hpp"
#include <QVBoxLayout>
// TierCard::TierCard(QWidget *parent)
// : QWidget{parent}
// {
// auto bg_layout= new QVBoxLayout(this);
// bg_layout->setSpacing(0);
// bg_layout->setContentsMargins(0, 0, 0, 0);
// background = new QWidget();
// bg_layout->addWidget(background);
// auto img_layout = new QVBoxLayout(background);
// img_layout->setSpacing(0);
// img_layout->setContentsMargins(0, 0, 0, 0);
// image = new AspectRatioPixmapLabel();
// img_layout->addWidget(image, 0, Qt::AlignCenter);
// image->setAttribute(Qt::WA_TranslucentBackground);
// image->setAlignment(Qt::AlignCenter);
// auto txt_layout = new QVBoxLayout(image);
// txt_layout->setSpacing(0);
// txt_layout->setContentsMargins(0, 0, 0, 0);
// text_label = new QLabel();
// id_label = new QLabel("4");
// text_label->setWordWrap(true);
// // text_label->setTextFormat(Qt::RichText);
// text_label->setAlignment(Qt::AlignHCenter | Qt::AlignTop);
// id_label->setAlignment(Qt::AlignLeft | Qt::AlignBottom);
// text_label->setAttribute(Qt::WA_TranslucentBackground);
// id_label->setAttribute(Qt::WA_TranslucentBackground);
// txt_layout->addWidget(text_label, Qt::AlignTop | Qt::AlignHCenter);
// txt_layout->addWidget(id_label, Qt::AlignBottom, Qt::AlignLeft);
// text_label->setProperty("cssClass", "tierCardText");
// id_label->setProperty("cssClass", "tierCardId");
// }
#include <QDrag>
TierCard::IdType TierCard::getAvailableId()
{
@@ -72,7 +42,8 @@ TierCard* TierCard::clone(TierCard *other, QWidget* parent)
card = new TierCard(id, parent);
card->setText(other->getText());
auto img = other->getImage();
card->setImage(img);
if (!img.isNull())
card->setImage(img);
card->setBgColor(other->getBgColor());
idMap[id] = card;
return card;
@@ -81,6 +52,9 @@ TierCard* TierCard::clone(TierCard *other, QWidget* parent)
TierCard::TierCard(IdType id, QWidget* parent)
: QWidget{parent}
{
auto settings = Settings::get();
connect(settings, SIGNAL(cardSizeChange(QSize)),
this, SLOT(cardResize(QSize)));
background = new QWidget();
image = new AspectRatioPixmapLabel();
image->setAttribute(Qt::WA_TranslucentBackground);
@@ -102,6 +76,7 @@ TierCard::TierCard(IdType id, QWidget* parent)
layout->addWidget(textLabel);
layout->addWidget(idLabel);
this->setLayout(layout);
cardResize(settings->cardSize());
}
TierCard::~TierCard()
@@ -158,9 +133,11 @@ void TierCard::mousePressEvent(QMouseEvent* event)
render(&pix);
QDrag drag(this);
drag.setPixmap(pix);
drag.setHotSpot(QPoint(pix.size().width() / 2,
pix.size().height() / 2));
QByteArray itemData;
QDataStream dataStream(&itemData, QIODevice::WriteOnly);
auto _id = getId();
TierCard::IdType _id = getId();
dataStream.writeRawData(reinterpret_cast<char*>(&_id), sizeof(_id));
QMimeData *mimeData = new QMimeData;
mimeData->setData(MimeType, itemData);
@@ -183,3 +160,8 @@ TierCard* TierCard::getFromId(IdType id)
return nullptr;
return &(*iter->second);
}
void TierCard::cardResize(QSize newSize)
{
setFixedSize(newSize);
}