maximize card pics in card info
This commit is contained in:
parent
7611bdd7cb
commit
cef4fb11f3
2 changed files with 35 additions and 29 deletions
|
@ -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
|
||||||
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)
|
||||||
{
|
{
|
||||||
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;
|
||||||
|
|
||||||
|
// Set the picture to be shown only at "card only" (0) and "full info" (2)
|
||||||
|
if (mode == ModeGameTab) {
|
||||||
|
cardPicture->setVisible((minimized == 0) || (minimized == 2));
|
||||||
|
|
||||||
// Toggle oracle fields as according to selected view.
|
if (minimized == 0)
|
||||||
nameLabel2->setVisible(showAll);
|
setMaximumHeight(cardHeightOffset + width() * aspectRatio);
|
||||||
nameLabel1->setVisible(showAll);
|
else
|
||||||
manacostLabel1->setVisible(showAll);
|
setMaximumHeight(1000000);
|
||||||
manacostLabel2->setVisible(showAll);
|
} else
|
||||||
cardtypeLabel1->setVisible(showAll);
|
cardPicture->show();
|
||||||
cardtypeLabel2->setVisible(showAll);
|
resize(width(), sizeHint().height());
|
||||||
powtoughLabel1->setVisible(showAll);
|
|
||||||
powtoughLabel2->setVisible(showAll);
|
|
||||||
textLabel->setVisible(showAll);
|
|
||||||
|
|
||||||
setFixedHeight(sizeHint().height());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CardInfoWidget::setCard(CardInfo *card)
|
void CardInfoWidget::setCard(CardInfo *card)
|
||||||
|
@ -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:
|
||||||
|
|
||||||
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;
|
||||||
|
|
Loading…
Reference in a new issue