diff --git a/src/render/card/viewer.cpp b/src/render/card/viewer.cpp index f3238f22..33e44cfa 100644 --- a/src/render/card/viewer.cpp +++ b/src/render/card/viewer.cpp @@ -67,9 +67,9 @@ Rotation DataViewer::getRotation() const { // ----------------------------------------------------------------------------- : Setting data -void DataViewer::setCard(const CardP& card) { +void DataViewer::setCard(const CardP& card, bool refresh) { if (!card) return; // TODO: clear viewer? - if (this->card == card && this->stylesheet == set->stylesheetFor(card)) return; // already set + if (!refresh && this->card == card && this->stylesheet == set->stylesheetFor(card)) return; // already set assert(set); this->card = card; stylesheet = set->stylesheetFor(card); @@ -124,7 +124,7 @@ ValueViewerP DataViewer::makeViewer(const StyleP& style) { void DataViewer::onAction(const Action& action, bool undone) { TYPE_CASE_(action, DisplayChangeAction) { // refresh - setCard(card); + setCard(card, true); return; } TYPE_CASE(action, ValueAction) { diff --git a/src/render/card/viewer.hpp b/src/render/card/viewer.hpp index 50c85adb..2b125334 100644 --- a/src/render/card/viewer.hpp +++ b/src/render/card/viewer.hpp @@ -60,7 +60,8 @@ class DataViewer : public SetView { // --------------------------------------------------- : Setting data /// Display a card in this viewer - void setCard(const CardP& card); + /** \param refresh: Always refresh, even if this card is already shown */ + void setCard(const CardP& card, bool refresh = false); // --------------------------------------------------- : The viewers protected: