Commit cef4fb11 authored by Max-Wilhelm Bruker's avatar Max-Wilhelm Bruker
Browse files

maximize card pics in card info

parent 7611bdd7
...@@ -20,7 +20,7 @@ CardInfoWidget::CardInfoWidget(ResizeMode _mode, QWidget *parent, Qt::WindowFlag ...@@ -20,7 +20,7 @@ CardInfoWidget::CardInfoWidget(ResizeMode _mode, QWidget *parent, Qt::WindowFlag
{ {
if (mode == ModeGameTab) { if (mode == ModeGameTab) {
// Create indexed list of status views for card. // Create indexed list of status views for card.
const QStringList cardInfoStatus = QStringList() << tr("Hide card info") << tr("Show card only") << tr("Show text only") << tr("Show full info"); const QStringList cardInfoStatus = QStringList() << tr("Show card only") << tr("Show text only") << tr("Show full info");
// Create droplist for cardinfo view selection, and set right current index. // Create droplist for cardinfo view selection, and set right current index.
dropList = new QComboBox(); dropList = new QComboBox();
...@@ -70,15 +70,13 @@ CardInfoWidget::CardInfoWidget(ResizeMode _mode, QWidget *parent, Qt::WindowFlag ...@@ -70,15 +70,13 @@ CardInfoWidget::CardInfoWidget(ResizeMode _mode, QWidget *parent, Qt::WindowFlag
retranslateUi(); retranslateUi();
setFrameStyle(QFrame::Panel | QFrame::Raised); setFrameStyle(QFrame::Panel | QFrame::Raised);
if (mode == ModeGameTab) { if (mode == ModeGameTab) {
textLabel->setFixedHeight(100); textLabel->setMinimumHeight(100);
setFixedWidth(sizeHint().width()); setFixedWidth(sizeHint().width());
setMinimized(settingsCache->getCardInfoMinimized());
} else if (mode == ModePopUp) } else if (mode == ModePopUp)
setFixedWidth(350); setFixedWidth(350);
else else
setFixedWidth(250); setFixedWidth(250);
if (mode != ModeDeckEditor) setMinimized(settingsCache->getCardInfoMinimized());
setFixedHeight(sizeHint().height());
} }
void CardInfoWidget::minimizeClicked(int newMinimized) void CardInfoWidget::minimizeClicked(int newMinimized)
...@@ -92,28 +90,34 @@ void CardInfoWidget::setMinimized(int _minimized) ...@@ -92,28 +90,34 @@ void CardInfoWidget::setMinimized(int _minimized)
{ {
minimized = _minimized; minimized = _minimized;
// Set the picture to be shown only at "card only" (1) and "full info" (3) // Toggle oracle fields according to selected view.
if (minimized == 1 || minimized == 3) { bool showAll = ((minimized == 1) || (minimized == 2));
cardPicture->setVisible(true); if (mode == ModeGameTab) {
} else { nameLabel1->setVisible(showAll);
cardPicture->setVisible(false); nameLabel2->setVisible(showAll);
manacostLabel1->setVisible(showAll);
manacostLabel2->setVisible(showAll);
cardtypeLabel1->setVisible(showAll);
cardtypeLabel2->setVisible(showAll);
powtoughLabel1->setVisible(showAll);
powtoughLabel2->setVisible(showAll);
textLabel->setVisible(showAll);
} }
// Set the rest of the fields to be shown only at "full info" (3) and "oracle only" (2) cardPicture->hide();
bool showAll = (minimized == 2 || minimized == 3) ? true : false; cardHeightOffset = minimumSizeHint().height() + 10;
// Toggle oracle fields as according to selected view. // Set the picture to be shown only at "card only" (0) and "full info" (2)
nameLabel2->setVisible(showAll); if (mode == ModeGameTab) {
nameLabel1->setVisible(showAll); cardPicture->setVisible((minimized == 0) || (minimized == 2));
manacostLabel1->setVisible(showAll);
manacostLabel2->setVisible(showAll); if (minimized == 0)
cardtypeLabel1->setVisible(showAll); setMaximumHeight(cardHeightOffset + width() * aspectRatio);
cardtypeLabel2->setVisible(showAll); else
powtoughLabel1->setVisible(showAll); setMaximumHeight(1000000);
powtoughLabel2->setVisible(showAll); } else
textLabel->setVisible(showAll); cardPicture->show();
resize(width(), sizeHint().height());
setFixedHeight(sizeHint().height());
} }
void CardInfoWidget::setCard(CardInfo *card) void CardInfoWidget::setCard(CardInfo *card)
...@@ -166,10 +170,11 @@ void CardInfoWidget::retranslateUi() ...@@ -166,10 +170,11 @@ void CardInfoWidget::retranslateUi()
void CardInfoWidget::resizeEvent(QResizeEvent * /*event*/) void CardInfoWidget::resizeEvent(QResizeEvent * /*event*/)
{ {
if (mode == ModeDeckEditor) { if ((mode == ModeGameTab) && (minimized == 1))
pixmapWidth = qMin(width() * 0.95, (height() - 200) / aspectRatio); return;
updatePixmap();
} pixmapWidth = qMax(100.0, qMin((qreal) cardPicture->width(), (height() - cardHeightOffset) / aspectRatio));
updatePixmap();
} }
QString CardInfoWidget::getCardName() const QString CardInfoWidget::getCardName() const
......
...@@ -21,8 +21,9 @@ public: ...@@ -21,8 +21,9 @@ public:
private: private:
int pixmapWidth; int pixmapWidth;
qreal cardHeightOffset;
qreal aspectRatio; qreal aspectRatio;
int minimized; // 0 - minimized, 1 - card, 2 - oracle only, 3 - full int minimized; // 0 - card, 1 - oracle only, 2 - full
ResizeMode mode; ResizeMode mode;
QComboBox *dropList; QComboBox *dropList;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment