mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-18 08:22:15 -07:00
Move PrintingSelector card size slider to quick menu, adjust other layout from other options.
This commit is contained in:
parent
5387dc86cc
commit
c96847a3e6
11 changed files with 36 additions and 208 deletions
|
|
@ -110,7 +110,6 @@ set(cockatrice_SOURCES
|
|||
src/client/ui/widgets/printing_selector/printing_selector_card_search_widget.cpp
|
||||
src/client/ui/widgets/printing_selector/printing_selector_card_selection_widget.cpp
|
||||
src/client/ui/widgets/printing_selector/printing_selector_card_sorting_widget.cpp
|
||||
src/client/ui/widgets/printing_selector/printing_selector_view_options_widget.cpp
|
||||
src/client/ui/widgets/printing_selector/set_name_and_collectors_number_display_widget.cpp
|
||||
src/client/ui/widgets/quick_settings/settings_button_widget.cpp
|
||||
src/client/ui/widgets/quick_settings/settings_popup_widget.cpp
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@
|
|||
* This widget allows users to dynamically change the card size in a linked FlowWidget
|
||||
* and updates the application's settings accordingly.
|
||||
*/
|
||||
CardSizeWidget::CardSizeWidget(QWidget *parent, FlowWidget *flowWidget, int defaultValue)
|
||||
: parent(parent), flowWidget(flowWidget)
|
||||
CardSizeWidget::CardSizeWidget(QWidget *parent, FlowWidget *_flowWidget, int defaultValue)
|
||||
: parent(parent), flowWidget(_flowWidget)
|
||||
{
|
||||
cardSizeLayout = new QHBoxLayout(this);
|
||||
cardSizeLayout->setContentsMargins(9, 0, 9, 0);
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
#include "printing_selector_card_search_widget.h"
|
||||
#include "printing_selector_card_selection_widget.h"
|
||||
#include "printing_selector_card_sorting_widget.h"
|
||||
#include "printing_selector_view_options_widget.h"
|
||||
|
||||
#include <QScrollBar>
|
||||
|
||||
|
|
@ -34,36 +33,42 @@ PrintingSelector::PrintingSelector(QWidget *parent,
|
|||
|
||||
widgetLoadingBufferTimer = new QTimer(this);
|
||||
|
||||
displayOptionsWidget = new SettingsButtonWidget(this);
|
||||
displayOptionsWidget->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred);
|
||||
viewOptionsToolbar = new PrintingSelectorViewOptionsWidget(displayOptionsWidget, this);
|
||||
|
||||
displayOptionsWidget->addSettingsWidget(viewOptionsToolbar);
|
||||
flowWidget = new FlowWidget(this, Qt::Horizontal, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAsNeeded);
|
||||
|
||||
sortToolBar = new PrintingSelectorCardSortingWidget(this);
|
||||
sortToolBar->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
|
||||
sortToolBar->setVisible(SettingsCache::instance().getPrintingSelectorSortOptionsVisible());
|
||||
|
||||
displayOptionsWidget = new SettingsButtonWidget(this);
|
||||
displayOptionsWidget->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred);
|
||||
|
||||
// Create the checkbox for navigation buttons visibility
|
||||
navigationCheckBox = new QCheckBox(this);
|
||||
navigationCheckBox->setChecked(SettingsCache::instance().getPrintingSelectorNavigationButtonsVisible());
|
||||
connect(navigationCheckBox, &QCheckBox::QT_STATE_CHANGED, this,
|
||||
&PrintingSelector::toggleVisibilityNavigationButtons);
|
||||
connect(navigationCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(),
|
||||
&SettingsCache::setPrintingSelectorNavigationButtonsVisible);
|
||||
|
||||
cardSizeWidget =
|
||||
new CardSizeWidget(displayOptionsWidget, flowWidget, SettingsCache::instance().getPrintingSelectorCardSize());
|
||||
|
||||
displayOptionsWidget->addSettingsWidget(sortToolBar);
|
||||
displayOptionsWidget->addSettingsWidget(navigationCheckBox);
|
||||
displayOptionsWidget->addSettingsWidget(cardSizeWidget);
|
||||
|
||||
sortAndOptionsContainer = new QWidget(this);
|
||||
sortAndOptionsLayout = new QHBoxLayout(sortAndOptionsContainer);
|
||||
sortAndOptionsContainer->setLayout(sortAndOptionsLayout);
|
||||
|
||||
sortAndOptionsLayout->addWidget(sortToolBar);
|
||||
searchBar = new PrintingSelectorCardSearchWidget(this);
|
||||
|
||||
sortAndOptionsLayout->addWidget(searchBar);
|
||||
sortAndOptionsLayout->addWidget(displayOptionsWidget);
|
||||
|
||||
layout->addWidget(sortAndOptionsContainer);
|
||||
|
||||
searchBar = new PrintingSelectorCardSearchWidget(this);
|
||||
searchBar->setVisible(SettingsCache::instance().getPrintingSelectorSearchBarVisible());
|
||||
layout->addWidget(searchBar);
|
||||
|
||||
flowWidget = new FlowWidget(this, Qt::Horizontal, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAsNeeded);
|
||||
layout->addWidget(flowWidget);
|
||||
|
||||
cardSizeWidget = new CardSizeWidget(this, flowWidget, SettingsCache::instance().getPrintingSelectorCardSize());
|
||||
cardSizeWidget->setVisible(SettingsCache::instance().getPrintingSelectorCardSizeSliderVisible());
|
||||
layout->addWidget(cardSizeWidget);
|
||||
|
||||
cardSelectionBar = new PrintingSelectorCardSelectionWidget(this);
|
||||
cardSelectionBar->setVisible(SettingsCache::instance().getPrintingSelectorNavigationButtonsVisible());
|
||||
layout->addWidget(cardSelectionBar);
|
||||
|
|
@ -71,6 +76,13 @@ PrintingSelector::PrintingSelector(QWidget *parent,
|
|||
// Connect deck model data change signal to update display
|
||||
connect(deckModel, &DeckListModel::rowsInserted, this, &PrintingSelector::printingsInDeckChanged);
|
||||
connect(deckModel, &DeckListModel::rowsRemoved, this, &PrintingSelector::printingsInDeckChanged);
|
||||
|
||||
retranslateUi();
|
||||
}
|
||||
|
||||
void PrintingSelector::retranslateUi()
|
||||
{
|
||||
navigationCheckBox->setText(tr("Display Navigation Buttons"));
|
||||
}
|
||||
|
||||
void PrintingSelector::printingsInDeckChanged()
|
||||
|
|
@ -218,36 +230,6 @@ void PrintingSelector::getAllSetsForCurrentCard()
|
|||
widgetLoadingBufferTimer->start(0); // Process as soon as possible
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Toggles the visibility of the sorting options toolbar.
|
||||
*
|
||||
* @param _state The visibility state to set.
|
||||
*/
|
||||
void PrintingSelector::toggleVisibilitySortOptions(bool _state)
|
||||
{
|
||||
sortToolBar->setVisible(_state);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Toggles the visibility of the search bar.
|
||||
*
|
||||
* @param _state The visibility state to set.
|
||||
*/
|
||||
void PrintingSelector::toggleVisibilitySearchBar(bool _state)
|
||||
{
|
||||
searchBar->setVisible(_state);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Toggles the visibility of the card size slider.
|
||||
*
|
||||
* @param _state The visibility state to set.
|
||||
*/
|
||||
void PrintingSelector::toggleVisibilityCardSizeSlider(bool _state)
|
||||
{
|
||||
cardSizeWidget->setVisible(_state);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Toggles the visibility of the navigation buttons.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
#include "../cards/card_size_widget.h"
|
||||
#include "../general/layout_containers/flow_widget.h"
|
||||
#include "../quick_settings/settings_button_widget.h"
|
||||
#include "printing_selector_view_options_widget.h"
|
||||
|
||||
#include <QCheckBox>
|
||||
#include <QLabel>
|
||||
#include <QTreeView>
|
||||
#include <QVBoxLayout>
|
||||
|
|
@ -26,16 +26,15 @@ class PrintingSelector : public QWidget
|
|||
|
||||
public:
|
||||
PrintingSelector(QWidget *parent, TabDeckEditor *deckEditor, DeckListModel *deckModel, QTreeView *deckView);
|
||||
|
||||
void setCard(const CardInfoPtr &newCard, const QString &_currentZone);
|
||||
void getAllSetsForCurrentCard();
|
||||
|
||||
public slots:
|
||||
void retranslateUi();
|
||||
void updateDisplay();
|
||||
void selectPreviousCard();
|
||||
void selectNextCard();
|
||||
void toggleVisibilitySortOptions(bool _state);
|
||||
void toggleVisibilitySearchBar(bool _state);
|
||||
void toggleVisibilityCardSizeSlider(bool _state);
|
||||
void toggleVisibilityNavigationButtons(bool _state);
|
||||
|
||||
private slots:
|
||||
|
|
@ -46,7 +45,7 @@ private:
|
|||
SettingsButtonWidget *displayOptionsWidget;
|
||||
QWidget *sortAndOptionsContainer;
|
||||
QHBoxLayout *sortAndOptionsLayout;
|
||||
PrintingSelectorViewOptionsWidget *viewOptionsToolbar;
|
||||
QCheckBox *navigationCheckBox;
|
||||
PrintingSelectorCardSortingWidget *sortToolBar;
|
||||
PrintingSelectorCardSearchWidget *searchBar;
|
||||
FlowWidget *flowWidget;
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ const QStringList PrintingSelectorCardSortingWidget::SORT_OPTIONS = {SORT_OPTION
|
|||
*/
|
||||
PrintingSelectorCardSortingWidget::PrintingSelectorCardSortingWidget(PrintingSelector *parent) : parent(parent)
|
||||
{
|
||||
setMinimumWidth(300);
|
||||
sortToolBar = new QHBoxLayout(this);
|
||||
sortToolBar->setContentsMargins(9, 0, 9, 0);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,63 +0,0 @@
|
|||
#include "printing_selector_view_options_widget.h"
|
||||
|
||||
#include "../../../../settings/cache_settings.h"
|
||||
|
||||
/**
|
||||
* @class PrintingSelectorViewOptionsWidget
|
||||
* @brief A widget that provides the view options for the PrintingSelector, including checkboxes
|
||||
* for sorting, search bar, card size slider, and navigation buttons.
|
||||
*
|
||||
* This widget allows the user to toggle the visibility of various interface components of the
|
||||
* PrintingSelector through checkboxes. The state of the checkboxes is saved and restored using
|
||||
* the `SettingsCache`.
|
||||
*/
|
||||
PrintingSelectorViewOptionsWidget::PrintingSelectorViewOptionsWidget(QWidget *parent,
|
||||
PrintingSelector *_printingSelector)
|
||||
: QWidget(parent), printingSelector(_printingSelector)
|
||||
{
|
||||
// Create the grid to hold the checkboxes
|
||||
gridLayout = new QGridLayout(this);
|
||||
setLayout(gridLayout);
|
||||
|
||||
// Create the checkbox for sorting options visibility
|
||||
sortCheckBox = new QCheckBox(this);
|
||||
sortCheckBox->setText(tr("Display Sorting Options"));
|
||||
sortCheckBox->setChecked(SettingsCache::instance().getPrintingSelectorSortOptionsVisible());
|
||||
connect(sortCheckBox, &QCheckBox::QT_STATE_CHANGED, printingSelector,
|
||||
&PrintingSelector::toggleVisibilitySortOptions);
|
||||
connect(sortCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(),
|
||||
&SettingsCache::setPrintingSelectorSortOptionsVisible);
|
||||
|
||||
// Create the checkbox for search bar visibility
|
||||
searchCheckBox = new QCheckBox(this);
|
||||
searchCheckBox->setText(tr("Display Search Bar"));
|
||||
searchCheckBox->setChecked(SettingsCache::instance().getPrintingSelectorSearchBarVisible());
|
||||
connect(searchCheckBox, &QCheckBox::QT_STATE_CHANGED, printingSelector,
|
||||
&PrintingSelector::toggleVisibilitySearchBar);
|
||||
connect(searchCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(),
|
||||
&SettingsCache::setPrintingSelectorSearchBarVisible);
|
||||
|
||||
// Create the checkbox for card size slider visibility
|
||||
cardSizeCheckBox = new QCheckBox(this);
|
||||
cardSizeCheckBox->setText(tr("Display Card Size Slider"));
|
||||
cardSizeCheckBox->setChecked(SettingsCache::instance().getPrintingSelectorCardSizeSliderVisible());
|
||||
connect(cardSizeCheckBox, &QCheckBox::QT_STATE_CHANGED, printingSelector,
|
||||
&PrintingSelector::toggleVisibilityCardSizeSlider);
|
||||
connect(cardSizeCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(),
|
||||
&SettingsCache::setPrintingSelectorCardSizeSliderVisible);
|
||||
|
||||
// Create the checkbox for navigation buttons visibility
|
||||
navigationCheckBox = new QCheckBox(this);
|
||||
navigationCheckBox->setText(tr("Display Navigation Buttons"));
|
||||
navigationCheckBox->setChecked(SettingsCache::instance().getPrintingSelectorNavigationButtonsVisible());
|
||||
connect(navigationCheckBox, &QCheckBox::QT_STATE_CHANGED, printingSelector,
|
||||
&PrintingSelector::toggleVisibilityNavigationButtons);
|
||||
connect(navigationCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(),
|
||||
&SettingsCache::setPrintingSelectorNavigationButtonsVisible);
|
||||
|
||||
// Add checkboxes to the grid
|
||||
gridLayout->addWidget(sortCheckBox, 0, 0);
|
||||
gridLayout->addWidget(searchCheckBox, 0, 1);
|
||||
gridLayout->addWidget(cardSizeCheckBox, 1, 0);
|
||||
gridLayout->addWidget(navigationCheckBox, 1, 1);
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
#ifndef PRINTING_SELECTOR_VIEW_OPTIONS_WIDGET_H
|
||||
#define PRINTING_SELECTOR_VIEW_OPTIONS_WIDGET_H
|
||||
|
||||
#include "../general/layout_containers/flow_widget.h"
|
||||
#include "printing_selector.h"
|
||||
|
||||
#include <QCheckBox>
|
||||
#include <QHBoxLayout>
|
||||
#include <QWidget>
|
||||
|
||||
class PrintingSelector;
|
||||
class PrintingSelectorViewOptionsWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit PrintingSelectorViewOptionsWidget(QWidget *parent, PrintingSelector *_printingSelector);
|
||||
|
||||
private:
|
||||
QGridLayout *gridLayout;
|
||||
PrintingSelector *printingSelector;
|
||||
QCheckBox *sortCheckBox;
|
||||
QCheckBox *searchCheckBox;
|
||||
QCheckBox *cardSizeCheckBox;
|
||||
QCheckBox *navigationCheckBox;
|
||||
};
|
||||
|
||||
#endif // PRINTING_SELECTOR_VIEW_OPTIONS_WIDGET_H
|
||||
|
|
@ -260,8 +260,6 @@ SettingsCache::SettingsCache()
|
|||
printingSelectorCardSize = settings->value("cards/printingselectorcardsize", 100).toInt();
|
||||
printingSelectorSortOptionsVisible = settings->value("cards/printingselectorsortoptionsvisible", true).toBool();
|
||||
printingSelectorSearchBarVisible = settings->value("cards/printingselectorcardsearchbarvisible", true).toBool();
|
||||
printingSelectorCardSizeSliderVisible =
|
||||
settings->value("cards/printingselectorcardsizeslidervisible", true).toBool();
|
||||
printingSelectorNavigationButtonsVisible =
|
||||
settings->value("cards/printingselectornavigationbuttonsvisible", true).toBool();
|
||||
visualDeckStorageCardSize = settings->value("interface/visualdeckstoragecardsize", 100).toInt();
|
||||
|
|
@ -648,27 +646,6 @@ void SettingsCache::setPrintingSelectorCardSize(int _printingSelectorCardSize)
|
|||
emit printingSelectorCardSizeChanged();
|
||||
}
|
||||
|
||||
void SettingsCache::setPrintingSelectorSortOptionsVisible(QT_STATE_CHANGED_T _sortOptionsVisible)
|
||||
{
|
||||
printingSelectorSortOptionsVisible = _sortOptionsVisible;
|
||||
settings->setValue("cards/printingselectorsortoptionsvisible", printingSelectorSortOptionsVisible);
|
||||
emit printingSelectorSortOptionsVisibleChanged();
|
||||
}
|
||||
|
||||
void SettingsCache::setPrintingSelectorSearchBarVisible(QT_STATE_CHANGED_T _searchBarVisible)
|
||||
{
|
||||
printingSelectorSearchBarVisible = _searchBarVisible;
|
||||
settings->setValue("cards/printingselectorsearchbarvisible", printingSelectorSearchBarVisible);
|
||||
emit printingSelectorSearchBarVisibleChanged();
|
||||
}
|
||||
|
||||
void SettingsCache::setPrintingSelectorCardSizeSliderVisible(QT_STATE_CHANGED_T _cardSizeSliderVisible)
|
||||
{
|
||||
printingSelectorCardSizeSliderVisible = _cardSizeSliderVisible;
|
||||
settings->setValue("cards/printingselectorcardsizeslidervisible", printingSelectorCardSizeSliderVisible);
|
||||
emit printingSelectorCardSizeSliderVisibleChanged();
|
||||
}
|
||||
|
||||
void SettingsCache::setPrintingSelectorNavigationButtonsVisible(QT_STATE_CHANGED_T _navigationButtonsVisible)
|
||||
{
|
||||
printingSelectorNavigationButtonsVisible = _navigationButtonsVisible;
|
||||
|
|
|
|||
|
|
@ -58,9 +58,6 @@ signals:
|
|||
void bumpSetsWithCardsInDeckToTopChanged();
|
||||
void printingSelectorSortOrderChanged();
|
||||
void printingSelectorCardSizeChanged();
|
||||
void printingSelectorSortOptionsVisibleChanged();
|
||||
void printingSelectorSearchBarVisibleChanged();
|
||||
void printingSelectorCardSizeSliderVisibleChanged();
|
||||
void printingSelectorNavigationButtonsVisibleChanged();
|
||||
void visualDeckStorageShowTagFilterChanged(bool _visible);
|
||||
void visualDeckStorageShowTagsOnDeckPreviewsChanged(bool _visible);
|
||||
|
|
@ -129,9 +126,6 @@ private:
|
|||
bool bumpSetsWithCardsInDeckToTop;
|
||||
int printingSelectorSortOrder;
|
||||
int printingSelectorCardSize;
|
||||
bool printingSelectorSortOptionsVisible;
|
||||
bool printingSelectorSearchBarVisible;
|
||||
bool printingSelectorCardSizeSliderVisible;
|
||||
bool printingSelectorNavigationButtonsVisible;
|
||||
int visualDeckStorageSortingOrder;
|
||||
bool visualDeckStorageShowFolders;
|
||||
|
|
@ -402,18 +396,6 @@ public:
|
|||
{
|
||||
return printingSelectorCardSize;
|
||||
}
|
||||
bool getPrintingSelectorSortOptionsVisible() const
|
||||
{
|
||||
return printingSelectorSortOptionsVisible;
|
||||
}
|
||||
bool getPrintingSelectorSearchBarVisible() const
|
||||
{
|
||||
return printingSelectorSearchBarVisible;
|
||||
}
|
||||
bool getPrintingSelectorCardSizeSliderVisible() const
|
||||
{
|
||||
return printingSelectorCardSizeSliderVisible;
|
||||
}
|
||||
bool getPrintingSelectorNavigationButtonsVisible() const
|
||||
{
|
||||
return printingSelectorNavigationButtonsVisible;
|
||||
|
|
@ -774,9 +756,6 @@ public slots:
|
|||
void setBumpSetsWithCardsInDeckToTop(QT_STATE_CHANGED_T _bumpSetsWithCardsInDeckToTop);
|
||||
void setPrintingSelectorSortOrder(int _printingSelectorSortOrder);
|
||||
void setPrintingSelectorCardSize(int _printingSelectorCardSize);
|
||||
void setPrintingSelectorSortOptionsVisible(QT_STATE_CHANGED_T _sortOptionsVisible);
|
||||
void setPrintingSelectorSearchBarVisible(QT_STATE_CHANGED_T _searchBarVisible);
|
||||
void setPrintingSelectorCardSizeSliderVisible(QT_STATE_CHANGED_T _cardSizeSliderVisible);
|
||||
void setPrintingSelectorNavigationButtonsVisible(QT_STATE_CHANGED_T _navigationButtonsVisible);
|
||||
void setVisualDeckStorageSortingOrder(int _visualDeckStorageSortingOrder);
|
||||
void setVisualDeckStorageShowFolders(QT_STATE_CHANGED_T value);
|
||||
|
|
|
|||
|
|
@ -196,15 +196,6 @@ void SettingsCache::setPrintingSelectorSortOrder(int /* _printingSelectorSortOrd
|
|||
void SettingsCache::setPrintingSelectorCardSize(int /* _printingSelectorCardSize */)
|
||||
{
|
||||
}
|
||||
void SettingsCache::setPrintingSelectorSortOptionsVisible(QT_STATE_CHANGED_T /* _sortOptionsVisible */)
|
||||
{
|
||||
}
|
||||
void SettingsCache::setPrintingSelectorSearchBarVisible(QT_STATE_CHANGED_T /* _searchBarVisible */)
|
||||
{
|
||||
}
|
||||
void SettingsCache::setPrintingSelectorCardSizeSliderVisible(QT_STATE_CHANGED_T /* _cardSizeSliderVisible */)
|
||||
{
|
||||
}
|
||||
void SettingsCache::setPrintingSelectorNavigationButtonsVisible(QT_STATE_CHANGED_T /* _navigationButtonsVisible */)
|
||||
{
|
||||
}
|
||||
|
|
|
|||
|
|
@ -200,15 +200,6 @@ void SettingsCache::setPrintingSelectorSortOrder(int /* _printingSelectorSortOrd
|
|||
void SettingsCache::setPrintingSelectorCardSize(int /* _printingSelectorCardSize */)
|
||||
{
|
||||
}
|
||||
void SettingsCache::setPrintingSelectorSortOptionsVisible(QT_STATE_CHANGED_T /* _sortOptionsVisible */)
|
||||
{
|
||||
}
|
||||
void SettingsCache::setPrintingSelectorSearchBarVisible(QT_STATE_CHANGED_T /* _searchBarVisible */)
|
||||
{
|
||||
}
|
||||
void SettingsCache::setPrintingSelectorCardSizeSliderVisible(QT_STATE_CHANGED_T /* _cardSizeSliderVisible */)
|
||||
{
|
||||
}
|
||||
void SettingsCache::setPrintingSelectorNavigationButtonsVisible(QT_STATE_CHANGED_T /* _navigationButtonsVisible */)
|
||||
{
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue