Commit 892bf255 authored by twanvl's avatar twanvl

actions for changing styles

parent 5edd47df
......@@ -77,3 +77,27 @@ void ReorderCardsAction::perform(bool to_undo) {
assert(card_id2 < set.cards.size());
swap(set.cards[card_id1], set.cards[card_id2]);
}
// ----------------------------------------------------------------------------- : Change stylesheet
String ChangeCardStyleAction::getName(bool to_undo) const {
return _("Change style");
}
void ChangeCardStyleAction::perform(bool to_undo) {
swap(card->stylesheet, stylesheet);
}
String ChangeSetStyleAction::getName(bool to_undo) const {
return _("Change style (all cards)");
}
void ChangeSetStyleAction::perform(bool to_undo) {
if (!to_undo) {
stylesheet = set.stylesheet;
set.stylesheet = card->stylesheet;
card->stylesheet = StyleSheetP();
} else {
card->stylesheet = set.stylesheet;
set.stylesheet = stylesheet;
}
}
......@@ -19,6 +19,7 @@
class Set;
DECLARE_POINTER_TYPE(Card);
DECLARE_POINTER_TYPE(StyleSheet);
// ----------------------------------------------------------------------------- : Add card
......@@ -73,5 +74,36 @@ class ReorderCardsAction : public CardListAction {
const size_t card_id1, card_id2; ///< Positions of the two cards to swap
};
// ----------------------------------------------------------------------------- : Change stylesheet
/// Changing the style of a a card
class ChangeCardStyleAction : public Action {
public:
ChangeCardStyleAction(const CardP& card, const StyleSheetP& stylesheet)
: card(card), stylesheet(stylesheet) {}
virtual String getName(bool to_undo) const;
virtual void perform(bool to_undo);
//private:
CardP card; ///< The affected card
StyleSheetP stylesheet; ///< Its new stylesheet
};
/// Changing the style of a set to that of a card
class ChangeSetStyleAction : public Action {
public:
ChangeSetStyleAction(Set& set, const CardP& card)
: set(set), card(card) {}
virtual String getName(bool to_undo) const;
virtual void perform(bool to_undo);
private:
Set& set; ///< The affected set
CardP card; ///< The card whos stylesheet is copied to the set
StyleSheetP stylesheet; ///< The old stylesheet of the set
};
// ----------------------------------------------------------------------------- : EOF
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment