mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-09 17:44:01 -07:00
create printing disabled info widget
This commit is contained in:
parent
afed3853a5
commit
d187748bff
5 changed files with 107 additions and 2 deletions
|
|
@ -179,6 +179,7 @@ set(cockatrice_SOURCES
|
||||||
src/interface/widgets/deck_editor/deck_editor_printing_selector_dock_widget.cpp
|
src/interface/widgets/deck_editor/deck_editor_printing_selector_dock_widget.cpp
|
||||||
src/interface/widgets/deck_editor/deck_list_style_proxy.cpp
|
src/interface/widgets/deck_editor/deck_list_style_proxy.cpp
|
||||||
src/interface/widgets/deck_editor/deck_state_manager.cpp
|
src/interface/widgets/deck_editor/deck_state_manager.cpp
|
||||||
|
src/interface/widgets/deck_editor/printing_disabled_info_widget.cpp
|
||||||
src/interface/widgets/general/background_sources.cpp
|
src/interface/widgets/general/background_sources.cpp
|
||||||
src/interface/widgets/general/display/background_plate_widget.cpp
|
src/interface/widgets/general/display/background_plate_widget.cpp
|
||||||
src/interface/widgets/general/display/banner_widget.cpp
|
src/interface/widgets/general/display/banner_widget.cpp
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
#include "deck_editor_printing_selector_dock_widget.h"
|
#include "deck_editor_printing_selector_dock_widget.h"
|
||||||
|
|
||||||
|
#include "../../../client/settings/cache_settings.h"
|
||||||
#include "../../../interface/widgets/tabs/abstract_tab_deck_editor.h"
|
#include "../../../interface/widgets/tabs/abstract_tab_deck_editor.h"
|
||||||
|
#include "printing_disabled_info_widget.h"
|
||||||
|
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
|
|
||||||
|
|
@ -14,6 +16,11 @@ DeckEditorPrintingSelectorDockWidget::DeckEditorPrintingSelectorDockWidget(Abstr
|
||||||
setFloating(false);
|
setFloating(false);
|
||||||
|
|
||||||
createPrintingSelectorDock();
|
createPrintingSelectorDock();
|
||||||
|
printingDisabledInfoWidget = new PrintingDisabledInfoWidget(this);
|
||||||
|
|
||||||
|
setVisibleWidget(SettingsCache::instance().getOverrideAllCardArtWithPersonalPreference());
|
||||||
|
connect(&SettingsCache::instance(), &SettingsCache::overrideAllCardArtWithPersonalPreferenceChanged, this,
|
||||||
|
&DeckEditorPrintingSelectorDockWidget::setVisibleWidget);
|
||||||
|
|
||||||
retranslateUi();
|
retranslateUi();
|
||||||
}
|
}
|
||||||
|
|
@ -26,10 +33,9 @@ void DeckEditorPrintingSelectorDockWidget::createPrintingSelectorDock()
|
||||||
printingSelectorFrame->setObjectName("printingSelectorFrame");
|
printingSelectorFrame->setObjectName("printingSelectorFrame");
|
||||||
printingSelectorFrame->addWidget(printingSelector);
|
printingSelectorFrame->addWidget(printingSelector);
|
||||||
|
|
||||||
auto *printingSelectorDockContents = new QWidget();
|
printingSelectorDockContents = new QWidget();
|
||||||
printingSelectorDockContents->setObjectName("printingSelectorDockContents");
|
printingSelectorDockContents->setObjectName("printingSelectorDockContents");
|
||||||
printingSelectorDockContents->setLayout(printingSelectorFrame);
|
printingSelectorDockContents->setLayout(printingSelectorFrame);
|
||||||
setWidget(printingSelectorDockContents);
|
|
||||||
|
|
||||||
installEventFilter(deckEditor);
|
installEventFilter(deckEditor);
|
||||||
connect(printingSelector, &PrintingSelector::prevCardRequested, deckEditor->getDeckDockWidget(),
|
connect(printingSelector, &PrintingSelector::prevCardRequested, deckEditor->getDeckDockWidget(),
|
||||||
|
|
@ -42,3 +48,13 @@ void DeckEditorPrintingSelectorDockWidget::retranslateUi()
|
||||||
{
|
{
|
||||||
setWindowTitle(tr("Printing Selector"));
|
setWindowTitle(tr("Printing Selector"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DeckEditorPrintingSelectorDockWidget::setVisibleWidget(bool overridePrintings)
|
||||||
|
{
|
||||||
|
if (overridePrintings) {
|
||||||
|
setWidget(printingDisabledInfoWidget);
|
||||||
|
} else {
|
||||||
|
setWidget(printingSelectorDockContents);
|
||||||
|
printingSelector->updateDisplay();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,9 @@
|
||||||
|
|
||||||
#include <QDockWidget>
|
#include <QDockWidget>
|
||||||
|
|
||||||
|
class PrintingDisabledInfoWidget;
|
||||||
class TabDeckEditor;
|
class TabDeckEditor;
|
||||||
|
|
||||||
class DeckEditorPrintingSelectorDockWidget : public QDockWidget
|
class DeckEditorPrintingSelectorDockWidget : public QDockWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
@ -20,10 +22,16 @@ public:
|
||||||
explicit DeckEditorPrintingSelectorDockWidget(AbstractTabDeckEditor *parent);
|
explicit DeckEditorPrintingSelectorDockWidget(AbstractTabDeckEditor *parent);
|
||||||
void createPrintingSelectorDock();
|
void createPrintingSelectorDock();
|
||||||
void retranslateUi();
|
void retranslateUi();
|
||||||
|
|
||||||
PrintingSelector *printingSelector;
|
PrintingSelector *printingSelector;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
AbstractTabDeckEditor *deckEditor;
|
AbstractTabDeckEditor *deckEditor;
|
||||||
|
QWidget *printingSelectorDockContents;
|
||||||
|
PrintingDisabledInfoWidget *printingDisabledInfoWidget;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void setVisibleWidget(bool overridePrintings);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // DECK_EDITOR_PRINTING_SELECTOR_DOCK_WIDGET_H
|
#endif // DECK_EDITOR_PRINTING_SELECTOR_DOCK_WIDGET_H
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
#include "printing_disabled_info_widget.h"
|
||||||
|
|
||||||
|
#include "../dialogs/override_printing_warning.h"
|
||||||
|
|
||||||
|
#include <QHBoxLayout>
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QPushButton>
|
||||||
|
#include <QStyle>
|
||||||
|
#include <qguiapplication.h>
|
||||||
|
|
||||||
|
PrintingDisabledInfoWidget::PrintingDisabledInfoWidget(QWidget *parent) : QWidget(parent)
|
||||||
|
{
|
||||||
|
auto layout = new QVBoxLayout(this);
|
||||||
|
layout->setObjectName("PrintingDisabledInfoWidgetFrame");
|
||||||
|
setLayout(layout);
|
||||||
|
|
||||||
|
QLabel *imageLabel = new QLabel(this);
|
||||||
|
imageLabel->setAlignment(Qt::AlignCenter);
|
||||||
|
QIcon icon = style()->standardIcon(QStyle::SP_MessageBoxWarning);
|
||||||
|
imageLabel->setPixmap(icon.pixmap({60, 60}));
|
||||||
|
|
||||||
|
textLabel = new QLabel(this);
|
||||||
|
textLabel->setWordWrap(true);
|
||||||
|
textLabel->setAlignment(Qt::AlignCenter);
|
||||||
|
|
||||||
|
settingsButton = new QPushButton(this);
|
||||||
|
connect(settingsButton, &QPushButton::clicked, this, &PrintingDisabledInfoWidget::disableOverridePrintings);
|
||||||
|
|
||||||
|
auto buttonLayout = new QHBoxLayout(this);
|
||||||
|
buttonLayout->addStretch();
|
||||||
|
buttonLayout->addWidget(settingsButton);
|
||||||
|
buttonLayout->addStretch();
|
||||||
|
|
||||||
|
layout->addStretch();
|
||||||
|
layout->addWidget(imageLabel);
|
||||||
|
layout->addWidget(textLabel);
|
||||||
|
layout->addLayout(buttonLayout);
|
||||||
|
layout->addStretch();
|
||||||
|
|
||||||
|
retranslateUi();
|
||||||
|
}
|
||||||
|
|
||||||
|
void PrintingDisabledInfoWidget::retranslateUi()
|
||||||
|
{
|
||||||
|
textLabel->setText(
|
||||||
|
tr("The Printing Selector is disabled because you have currently enabled the setting to override all "
|
||||||
|
"selected printings with personal set preferences.\n\n"
|
||||||
|
"This setting means you'll only see the default printing for each card, instead of being able to select a "
|
||||||
|
"printing, and will not see the printings other people have selected.\n\n"));
|
||||||
|
settingsButton->setText(tr("Enable printings again"));
|
||||||
|
}
|
||||||
|
|
||||||
|
void PrintingDisabledInfoWidget::disableOverridePrintings()
|
||||||
|
{
|
||||||
|
OverridePrintingWarning::execMessageBox(this, false);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
#ifndef COCKATRICE_PRINTING_DISABLED_INFO_WIDGET_H
|
||||||
|
#define COCKATRICE_PRINTING_DISABLED_INFO_WIDGET_H
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
class QPushButton;
|
||||||
|
class QLabel;
|
||||||
|
|
||||||
|
class PrintingDisabledInfoWidget : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
QLabel *textLabel;
|
||||||
|
QPushButton *settingsButton;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void disableOverridePrintings();
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit PrintingDisabledInfoWidget(QWidget *parent);
|
||||||
|
|
||||||
|
void retranslateUi();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // COCKATRICE_PRINTING_DISABLED_INFO_WIDGET_H
|
||||||
Loading…
Add table
Add a link
Reference in a new issue