diff --git a/cockatrice/cockatrice.pro b/cockatrice/cockatrice.pro index 019fbcc6..d8b7f1a0 100644 --- a/cockatrice/cockatrice.pro +++ b/cockatrice/cockatrice.pro @@ -8,9 +8,10 @@ DEPENDPATH += . src INCLUDEPATH += . src MOC_DIR = build OBJECTS_DIR = build +RESOURCES = cockatrice.qrc # CONFIG += qt debug -QT += network +QT += network svg #QT += opengl #QTPLUGIN += qjpeg diff --git a/cockatrice/cockatrice.qrc b/cockatrice/cockatrice.qrc new file mode 100644 index 00000000..332bf56a --- /dev/null +++ b/cockatrice/cockatrice.qrc @@ -0,0 +1,5 @@ + + + resources/back.svg + + diff --git a/cockatrice/resources/back.svg b/cockatrice/resources/back.svg new file mode 100644 index 00000000..e28bdd54 --- /dev/null +++ b/cockatrice/resources/back.svg @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/cockatrice/src/carddatabase.cpp b/cockatrice/src/carddatabase.cpp index 33657a33..3ac3d031 100644 --- a/cockatrice/src/carddatabase.cpp +++ b/cockatrice/src/carddatabase.cpp @@ -4,6 +4,8 @@ #include #include #include +#include +#include CardSet::CardSet(const QString &_shortName, const QString &_longName) : shortName(_shortName), longName(_longName) @@ -142,9 +144,18 @@ QPixmap *CardInfo::getPixmap(QSize size) if (cachedPixmap) return cachedPixmap; QPixmap *bigPixmap = loadPixmap(); - if (bigPixmap->isNull()) - return 0; - QPixmap *result = new QPixmap(bigPixmap->scaled(size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); + QPixmap *result; + if (bigPixmap->isNull()) { + if (!getName().isEmpty()) + return 0; + else { + result = new QPixmap(size); + QSvgRenderer svg(QString(":/back.svg")); + QPainter painter(result); + svg.render(&painter, QRectF(0, 0, size.width(), size.height())); + } + } else + result = new QPixmap(bigPixmap->scaled(size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); scaledPixmapCache.insert(size.width(), result); return result; } diff --git a/cockatrice/src/cardinfowidget.cpp b/cockatrice/src/cardinfowidget.cpp index 29474b2a..6ce175ed 100644 --- a/cockatrice/src/cardinfowidget.cpp +++ b/cockatrice/src/cardinfowidget.cpp @@ -1,4 +1,5 @@ #include "cardinfowidget.h" +#include "carditem.h" #include #include #include @@ -12,7 +13,7 @@ CardInfoWidget::CardInfoWidget(CardDatabase *_db, QWidget *parent) QFont f; f.setPixelSize(11); - + nameLabel1 = new QLabel(tr("Name:")); nameLabel1->setFont(f); nameLabel2 = new QLabel(); @@ -54,11 +55,11 @@ CardInfoWidget::CardInfoWidget(CardDatabase *_db, QWidget *parent) CardInfo *cardBack = db->getCard(); QPixmap *bigPixmap = cardBack->loadPixmap(); if (bigPixmap->isNull()) - QMessageBox::critical(this, tr("Error"), tr("Unable to load pixmap for card back.")); + pixmapHeight = pixmapWidth * CARD_HEIGHT / CARD_WIDTH; else pixmapHeight = pixmapWidth * bigPixmap->height() / bigPixmap->width(); setCard(cardBack); - + setFrameStyle(QFrame::Panel | QFrame::Raised); setFixedSize(sizeHint()); } @@ -73,7 +74,7 @@ void CardInfoWidget::setCard(CardInfo *card) cardPicture->setPixmap(*resizedPixmap); else cardPicture->setPixmap(*(db->getCard()->getPixmap(QSize(pixmapWidth, pixmapHeight)))); - + nameLabel2->setText(card->getName()); manacostLabel2->setText(card->getManacost()); cardtypeLabel2->setText(card->getCardType());