mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -07:00
Add setting to hide visual deck storage in game lobby (#5570)
This commit is contained in:
parent
1ee0e87ba7
commit
d951b082c4
10 changed files with 56 additions and 5 deletions
|
|
@ -625,10 +625,15 @@ UserInterfaceSettingsPage::UserInterfaceSettingsPage()
|
||||||
connect(&visualDeckStorageAlwaysConvertCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(),
|
connect(&visualDeckStorageAlwaysConvertCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(),
|
||||||
&SettingsCache::setVisualDeckStorageAlwaysConvert);
|
&SettingsCache::setVisualDeckStorageAlwaysConvert);
|
||||||
|
|
||||||
|
visualDeckStorageInGameCheckBox.setChecked(SettingsCache::instance().getVisualDeckStorageInGame());
|
||||||
|
connect(&visualDeckStorageInGameCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(),
|
||||||
|
&SettingsCache::setVisualDeckStorageInGame);
|
||||||
|
|
||||||
auto *deckEditorGrid = new QGridLayout;
|
auto *deckEditorGrid = new QGridLayout;
|
||||||
deckEditorGrid->addWidget(&openDeckInNewTabCheckBox, 0, 0);
|
deckEditorGrid->addWidget(&openDeckInNewTabCheckBox, 0, 0);
|
||||||
deckEditorGrid->addWidget(&visualDeckStoragePromptForConversionCheckBox, 1, 0);
|
deckEditorGrid->addWidget(&visualDeckStoragePromptForConversionCheckBox, 1, 0);
|
||||||
deckEditorGrid->addWidget(&visualDeckStorageAlwaysConvertCheckBox, 2, 0);
|
deckEditorGrid->addWidget(&visualDeckStorageAlwaysConvertCheckBox, 2, 0);
|
||||||
|
deckEditorGrid->addWidget(&visualDeckStorageInGameCheckBox, 3, 0);
|
||||||
|
|
||||||
deckEditorGroupBox = new QGroupBox;
|
deckEditorGroupBox = new QGroupBox;
|
||||||
deckEditorGroupBox->setLayout(deckEditorGrid);
|
deckEditorGroupBox->setLayout(deckEditorGrid);
|
||||||
|
|
@ -690,6 +695,7 @@ void UserInterfaceSettingsPage::retranslateUi()
|
||||||
openDeckInNewTabCheckBox.setText(tr("Open deck in new tab by default"));
|
openDeckInNewTabCheckBox.setText(tr("Open deck in new tab by default"));
|
||||||
visualDeckStoragePromptForConversionCheckBox.setText(tr("Prompt before converting .txt decks to .cod format"));
|
visualDeckStoragePromptForConversionCheckBox.setText(tr("Prompt before converting .txt decks to .cod format"));
|
||||||
visualDeckStorageAlwaysConvertCheckBox.setText(tr("Always convert if not prompted"));
|
visualDeckStorageAlwaysConvertCheckBox.setText(tr("Always convert if not prompted"));
|
||||||
|
visualDeckStorageInGameCheckBox.setText(tr("Use visual deck storage in game lobby"));
|
||||||
replayGroupBox->setTitle(tr("Replay settings"));
|
replayGroupBox->setTitle(tr("Replay settings"));
|
||||||
rewindBufferingMsLabel.setText(tr("Buffer time for backwards skip via shortcut:"));
|
rewindBufferingMsLabel.setText(tr("Buffer time for backwards skip via shortcut:"));
|
||||||
rewindBufferingMsBox.setSuffix(" ms");
|
rewindBufferingMsBox.setSuffix(" ms");
|
||||||
|
|
|
||||||
|
|
@ -146,6 +146,7 @@ private:
|
||||||
QCheckBox openDeckInNewTabCheckBox;
|
QCheckBox openDeckInNewTabCheckBox;
|
||||||
QCheckBox visualDeckStoragePromptForConversionCheckBox;
|
QCheckBox visualDeckStoragePromptForConversionCheckBox;
|
||||||
QCheckBox visualDeckStorageAlwaysConvertCheckBox;
|
QCheckBox visualDeckStorageAlwaysConvertCheckBox;
|
||||||
|
QCheckBox visualDeckStorageInGameCheckBox;
|
||||||
QLabel rewindBufferingMsLabel;
|
QLabel rewindBufferingMsLabel;
|
||||||
QSpinBox rewindBufferingMsBox;
|
QSpinBox rewindBufferingMsBox;
|
||||||
QGroupBox *generalGroupBox;
|
QGroupBox *generalGroupBox;
|
||||||
|
|
|
||||||
|
|
@ -517,6 +517,11 @@ void DeckView::setDeck(const DeckList &_deck)
|
||||||
deckViewScene->setDeck(_deck);
|
deckViewScene->setDeck(_deck);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DeckView::clearDeck()
|
||||||
|
{
|
||||||
|
deckViewScene->clearContents();
|
||||||
|
}
|
||||||
|
|
||||||
void DeckView::resetSideboardPlan()
|
void DeckView::resetSideboardPlan()
|
||||||
{
|
{
|
||||||
deckViewScene->resetSideboardPlan();
|
deckViewScene->resetSideboardPlan();
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,6 @@ private:
|
||||||
DeckList *deck;
|
DeckList *deck;
|
||||||
QMap<QString, DeckViewCardContainer *> cardContainers;
|
QMap<QString, DeckViewCardContainer *> cardContainers;
|
||||||
qreal optimalAspectRatio;
|
qreal optimalAspectRatio;
|
||||||
void clearContents();
|
|
||||||
void rebuildTree();
|
void rebuildTree();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
@ -123,6 +122,7 @@ public:
|
||||||
{
|
{
|
||||||
return locked;
|
return locked;
|
||||||
}
|
}
|
||||||
|
void clearContents();
|
||||||
void setDeck(const DeckList &_deck);
|
void setDeck(const DeckList &_deck);
|
||||||
void setOptimalAspectRatio(qreal _optimalAspectRatio)
|
void setOptimalAspectRatio(qreal _optimalAspectRatio)
|
||||||
{
|
{
|
||||||
|
|
@ -152,6 +152,7 @@ signals:
|
||||||
public:
|
public:
|
||||||
explicit DeckView(QWidget *parent = nullptr);
|
explicit DeckView(QWidget *parent = nullptr);
|
||||||
void setDeck(const DeckList &_deck);
|
void setDeck(const DeckList &_deck);
|
||||||
|
void clearDeck();
|
||||||
void setLocked(bool _locked)
|
void setLocked(bool _locked)
|
||||||
{
|
{
|
||||||
deckViewScene->setLocked(_locked);
|
deckViewScene->setLocked(_locked);
|
||||||
|
|
|
||||||
|
|
@ -101,6 +101,9 @@ DeckViewContainer::DeckViewContainer(int _playerId, TabGame *parent)
|
||||||
connect(&SettingsCache::instance().shortcuts(), SIGNAL(shortCutChanged()), this, SLOT(refreshShortcuts()));
|
connect(&SettingsCache::instance().shortcuts(), SIGNAL(shortCutChanged()), this, SLOT(refreshShortcuts()));
|
||||||
refreshShortcuts();
|
refreshShortcuts();
|
||||||
|
|
||||||
|
connect(&SettingsCache::instance(), &SettingsCache::visualDeckStorageInGameChanged, this,
|
||||||
|
&DeckViewContainer::updateShowVisualDeckStorage);
|
||||||
|
|
||||||
switchToDeckSelectView();
|
switchToDeckSelectView();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -122,8 +125,8 @@ static void setVisibility(QPushButton *button, bool visible)
|
||||||
|
|
||||||
void DeckViewContainer::switchToDeckSelectView()
|
void DeckViewContainer::switchToDeckSelectView()
|
||||||
{
|
{
|
||||||
deckView->setVisible(false);
|
deckView->setHidden(SettingsCache::instance().getVisualDeckStorageInGame());
|
||||||
visualDeckStorageWidget->setVisible(true);
|
visualDeckStorageWidget->setHidden(!SettingsCache::instance().getVisualDeckStorageInGame());
|
||||||
deckViewLayout->update();
|
deckViewLayout->update();
|
||||||
|
|
||||||
setVisibility(loadLocalButton, true);
|
setVisibility(loadLocalButton, true);
|
||||||
|
|
@ -143,8 +146,8 @@ void DeckViewContainer::switchToDeckSelectView()
|
||||||
|
|
||||||
void DeckViewContainer::switchToDeckLoadedView()
|
void DeckViewContainer::switchToDeckLoadedView()
|
||||||
{
|
{
|
||||||
deckView->setVisible(true);
|
deckView->setHidden(false);
|
||||||
visualDeckStorageWidget->setVisible(false);
|
visualDeckStorageWidget->setHidden(true);
|
||||||
deckViewLayout->update();
|
deckViewLayout->update();
|
||||||
|
|
||||||
setVisibility(loadLocalButton, false);
|
setVisibility(loadLocalButton, false);
|
||||||
|
|
@ -179,8 +182,21 @@ void DeckViewContainer::refreshShortcuts()
|
||||||
sideboardLockButton->setShortcut(shortcuts.getSingleShortcut("DeckViewContainer/sideboardLockButton"));
|
sideboardLockButton->setShortcut(shortcuts.getSingleShortcut("DeckViewContainer/sideboardLockButton"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update VDS visibility when settings change
|
||||||
|
*/
|
||||||
|
void DeckViewContainer::updateShowVisualDeckStorage(bool enabled)
|
||||||
|
{
|
||||||
|
// view mode state isn't stored in a field, so we determine state by checking the button
|
||||||
|
if (loadLocalButton->isEnabled()) {
|
||||||
|
deckView->setHidden(enabled);
|
||||||
|
visualDeckStorageWidget->setHidden(!enabled);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void DeckViewContainer::unloadDeck()
|
void DeckViewContainer::unloadDeck()
|
||||||
{
|
{
|
||||||
|
deckView->clearDeck();
|
||||||
switchToDeckSelectView();
|
switchToDeckSelectView();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,7 @@ private slots:
|
||||||
void sideboardLockButtonClicked();
|
void sideboardLockButtonClicked();
|
||||||
void updateSideboardLockButtonText();
|
void updateSideboardLockButtonText();
|
||||||
void refreshShortcuts();
|
void refreshShortcuts();
|
||||||
|
void updateShowVisualDeckStorage(bool enabled);
|
||||||
signals:
|
signals:
|
||||||
void newCardAdded(AbstractCardItem *card);
|
void newCardAdded(AbstractCardItem *card);
|
||||||
void notIdle();
|
void notIdle();
|
||||||
|
|
|
||||||
|
|
@ -273,6 +273,7 @@ SettingsCache::SettingsCache()
|
||||||
visualDeckStoragePromptForConversion =
|
visualDeckStoragePromptForConversion =
|
||||||
settings->value("interface/visualdeckstoragepromptforconversion", true).toBool();
|
settings->value("interface/visualdeckstoragepromptforconversion", true).toBool();
|
||||||
visualDeckStorageAlwaysConvert = settings->value("interface/visualdeckstoragealwaysconvert", false).toBool();
|
visualDeckStorageAlwaysConvert = settings->value("interface/visualdeckstoragealwaysconvert", false).toBool();
|
||||||
|
visualDeckStorageInGame = settings->value("interface/visualdeckstorageingame", true).toBool();
|
||||||
horizontalHand = settings->value("hand/horizontal", true).toBool();
|
horizontalHand = settings->value("hand/horizontal", true).toBool();
|
||||||
invertVerticalCoordinate = settings->value("table/invert_vertical", false).toBool();
|
invertVerticalCoordinate = settings->value("table/invert_vertical", false).toBool();
|
||||||
minPlayersForMultiColumnLayout = settings->value("interface/min_players_multicolumn", 4).toInt();
|
minPlayersForMultiColumnLayout = settings->value("interface/min_players_multicolumn", 4).toInt();
|
||||||
|
|
@ -710,6 +711,13 @@ void SettingsCache::setVisualDeckStorageAlwaysConvert(QT_STATE_CHANGED_T _visual
|
||||||
settings->setValue("interface/visualdeckstoragealwaysconvert", visualDeckStorageAlwaysConvert);
|
settings->setValue("interface/visualdeckstoragealwaysconvert", visualDeckStorageAlwaysConvert);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SettingsCache::setVisualDeckStorageInGame(QT_STATE_CHANGED_T value)
|
||||||
|
{
|
||||||
|
visualDeckStorageInGame = value;
|
||||||
|
settings->setValue("interface/visualdeckstorageingame", visualDeckStorageInGame);
|
||||||
|
emit visualDeckStorageInGameChanged(visualDeckStorageInGame);
|
||||||
|
}
|
||||||
|
|
||||||
void SettingsCache::setHorizontalHand(QT_STATE_CHANGED_T _horizontalHand)
|
void SettingsCache::setHorizontalHand(QT_STATE_CHANGED_T _horizontalHand)
|
||||||
{
|
{
|
||||||
horizontalHand = static_cast<bool>(_horizontalHand);
|
horizontalHand = static_cast<bool>(_horizontalHand);
|
||||||
|
|
|
||||||
|
|
@ -63,6 +63,7 @@ signals:
|
||||||
void printingSelectorCardSizeSliderVisibleChanged();
|
void printingSelectorCardSizeSliderVisibleChanged();
|
||||||
void printingSelectorNavigationButtonsVisibleChanged();
|
void printingSelectorNavigationButtonsVisibleChanged();
|
||||||
void visualDeckStorageCardSizeChanged();
|
void visualDeckStorageCardSizeChanged();
|
||||||
|
void visualDeckStorageInGameChanged(bool enabled);
|
||||||
void horizontalHandChanged();
|
void horizontalHandChanged();
|
||||||
void handJustificationChanged();
|
void handJustificationChanged();
|
||||||
void invertVerticalCoordinateChanged();
|
void invertVerticalCoordinateChanged();
|
||||||
|
|
@ -135,6 +136,7 @@ private:
|
||||||
int visualDeckStorageUnusedColorIdentitiesOpacity;
|
int visualDeckStorageUnusedColorIdentitiesOpacity;
|
||||||
bool visualDeckStoragePromptForConversion;
|
bool visualDeckStoragePromptForConversion;
|
||||||
bool visualDeckStorageAlwaysConvert;
|
bool visualDeckStorageAlwaysConvert;
|
||||||
|
bool visualDeckStorageInGame;
|
||||||
bool horizontalHand;
|
bool horizontalHand;
|
||||||
bool invertVerticalCoordinate;
|
bool invertVerticalCoordinate;
|
||||||
int minPlayersForMultiColumnLayout;
|
int minPlayersForMultiColumnLayout;
|
||||||
|
|
@ -434,6 +436,10 @@ public:
|
||||||
{
|
{
|
||||||
return visualDeckStorageAlwaysConvert;
|
return visualDeckStorageAlwaysConvert;
|
||||||
}
|
}
|
||||||
|
bool getVisualDeckStorageInGame() const
|
||||||
|
{
|
||||||
|
return visualDeckStorageInGame;
|
||||||
|
}
|
||||||
bool getHorizontalHand() const
|
bool getHorizontalHand() const
|
||||||
{
|
{
|
||||||
return horizontalHand;
|
return horizontalHand;
|
||||||
|
|
@ -760,6 +766,7 @@ public slots:
|
||||||
void setVisualDeckStorageUnusedColorIdentitiesOpacity(int _visualDeckStorageUnusedColorIdentitiesOpacity);
|
void setVisualDeckStorageUnusedColorIdentitiesOpacity(int _visualDeckStorageUnusedColorIdentitiesOpacity);
|
||||||
void setVisualDeckStoragePromptForConversion(QT_STATE_CHANGED_T _visualDeckStoragePromptForConversion);
|
void setVisualDeckStoragePromptForConversion(QT_STATE_CHANGED_T _visualDeckStoragePromptForConversion);
|
||||||
void setVisualDeckStorageAlwaysConvert(QT_STATE_CHANGED_T _visualDeckStorageAlwaysConvert);
|
void setVisualDeckStorageAlwaysConvert(QT_STATE_CHANGED_T _visualDeckStorageAlwaysConvert);
|
||||||
|
void setVisualDeckStorageInGame(QT_STATE_CHANGED_T value);
|
||||||
void setHorizontalHand(QT_STATE_CHANGED_T _horizontalHand);
|
void setHorizontalHand(QT_STATE_CHANGED_T _horizontalHand);
|
||||||
void setInvertVerticalCoordinate(QT_STATE_CHANGED_T _invertVerticalCoordinate);
|
void setInvertVerticalCoordinate(QT_STATE_CHANGED_T _invertVerticalCoordinate);
|
||||||
void setMinPlayersForMultiColumnLayout(int _minPlayersForMultiColumnLayout);
|
void setMinPlayersForMultiColumnLayout(int _minPlayersForMultiColumnLayout);
|
||||||
|
|
|
||||||
|
|
@ -229,6 +229,9 @@ void SettingsCache::setVisualDeckStoragePromptForConversion(
|
||||||
void SettingsCache::setVisualDeckStorageAlwaysConvert(QT_STATE_CHANGED_T /* _visualDeckStorageAlwaysConvert */)
|
void SettingsCache::setVisualDeckStorageAlwaysConvert(QT_STATE_CHANGED_T /* _visualDeckStorageAlwaysConvert */)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
void SettingsCache::setVisualDeckStorageInGame(QT_STATE_CHANGED_T /* value */)
|
||||||
|
{
|
||||||
|
}
|
||||||
void SettingsCache::setHorizontalHand(QT_STATE_CHANGED_T /* _horizontalHand */)
|
void SettingsCache::setHorizontalHand(QT_STATE_CHANGED_T /* _horizontalHand */)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -233,6 +233,9 @@ void SettingsCache::setVisualDeckStoragePromptForConversion(
|
||||||
void SettingsCache::setVisualDeckStorageAlwaysConvert(QT_STATE_CHANGED_T /* _visualDeckStorageAlwaysConvert */)
|
void SettingsCache::setVisualDeckStorageAlwaysConvert(QT_STATE_CHANGED_T /* _visualDeckStorageAlwaysConvert */)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
void SettingsCache::setVisualDeckStorageInGame(QT_STATE_CHANGED_T /* value */)
|
||||||
|
{
|
||||||
|
}
|
||||||
void SettingsCache::setHorizontalHand(QT_STATE_CHANGED_T /* _horizontalHand */)
|
void SettingsCache::setHorizontalHand(QT_STATE_CHANGED_T /* _horizontalHand */)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue