From 18d9992dc5b381a6add14264a83f8c9166187bd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Wed, 19 Nov 2025 22:01:25 +0100 Subject: [PATCH] Small fixes. Took 12 minutes --- .../deck_editor_deck_dock_widget.cpp | 20 +++++++++++++++---- .../deck_list_history_manager_widget.cpp | 6 +++--- .../deck_list_history_manager_widget.h | 5 +++-- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp b/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp index 97f87dd52..aa7d19e17 100644 --- a/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp +++ b/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp @@ -283,7 +283,11 @@ void DeckEditorDeckDockWidget::updateName(const QString &name) void DeckEditorDeckDockWidget::updateComments() { - historyManager->save(deckLoader->getDeckList()->createMemento("Comments changed")); + historyManager->save( + deckLoader->getDeckList()->createMemento(QString("Updated comments (was %1 chars, now %2 chars)") + .arg(deckLoader->getDeckList()->getComments().size()) + .arg(commentsEdit->toPlainText().size()))); + deckModel->getDeckList()->setComments(commentsEdit->toPlainText()); deckEditor->setModified(commentsEdit->toPlainText().isEmpty()); emit commentsChanged(); @@ -597,8 +601,6 @@ void DeckEditorDeckDockWidget::actDecrementSelection() void DeckEditorDeckDockWidget::actRemoveCard() { - historyManager->save(deckLoader->getDeckList()->createMemento("Card removed")); - auto selectedRows = getSelectedCardNodes(); // hack to maintain the old reselection behavior when currently selected row of a single-selection gets deleted @@ -613,6 +615,11 @@ void DeckEditorDeckDockWidget::actRemoveCard() continue; } QModelIndex sourceIndex = proxy->mapToSource(index); + QString cardName = sourceIndex.sibling(sourceIndex.row(), 1).data().toString(); + + historyManager->save( + deckLoader->getDeckList()->createMemento(QString("Removed \"%1\" (all copies)").arg(cardName))); + deckModel->removeRow(sourceIndex.row(), sourceIndex.parent()); isModified = true; } @@ -639,7 +646,12 @@ void DeckEditorDeckDockWidget::offsetCountAtIndex(const QModelIndex &idx, int of const int count = deckModel->data(numberIndex, Qt::EditRole).toInt(); const int new_count = count + offset; - QString reason = QString("%1 %2 %3").arg(offset > 0 ? "Added" : "Removed").arg(qAbs(offset)).arg(cardName); + const auto reason = + QString("%1 %2 × \"%3\" (%4)") + .arg(offset > 0 ? "Added" : "Removed") + .arg(qAbs(offset)) + .arg(cardName) + .arg(deckModel->data(sourceIndex.sibling(sourceIndex.row(), 4), Qt::DisplayRole).toString()); historyManager->save(deckLoader->getDeckList()->createMemento(reason)); diff --git a/cockatrice/src/interface/widgets/deck_editor/deck_list_history_manager_widget.cpp b/cockatrice/src/interface/widgets/deck_editor/deck_list_history_manager_widget.cpp index fa47ba9b3..4a790d8b1 100644 --- a/cockatrice/src/interface/widgets/deck_editor/deck_list_history_manager_widget.cpp +++ b/cockatrice/src/interface/widgets/deck_editor/deck_list_history_manager_widget.cpp @@ -6,7 +6,7 @@ DeckListHistoryManagerWidget::DeckListHistoryManagerWidget(DeckListModel *_deckL QWidget *parent) : QWidget(parent), deckListModel(_deckListModel), styleProxy(_styleProxy), historyManager(manager) { - auto *layout = new QHBoxLayout(this); + layout = new QHBoxLayout(this); aUndo = new QAction(QString(), this); aUndo->setIcon(QPixmap("theme:icons/arrow_undo")); @@ -38,8 +38,8 @@ DeckListHistoryManagerWidget::DeckListHistoryManagerWidget(DeckListModel *_deckL layout->addWidget(historyButton); - connect(undoButton, &QPushButton::clicked, this, &DeckListHistoryManagerWidget::doUndo); - connect(redoButton, &QPushButton::clicked, this, &DeckListHistoryManagerWidget::doRedo); + connect(undoButton, &QToolButton::clicked, this, &DeckListHistoryManagerWidget::doUndo); + connect(redoButton, &QToolButton::clicked, this, &DeckListHistoryManagerWidget::doRedo); connect(historyList, &QListWidget::itemClicked, this, &DeckListHistoryManagerWidget::onListClicked); diff --git a/cockatrice/src/interface/widgets/deck_editor/deck_list_history_manager_widget.h b/cockatrice/src/interface/widgets/deck_editor/deck_list_history_manager_widget.h index 0028d167e..2721a8f25 100644 --- a/cockatrice/src/interface/widgets/deck_editor/deck_list_history_manager_widget.h +++ b/cockatrice/src/interface/widgets/deck_editor/deck_list_history_manager_widget.h @@ -7,10 +7,10 @@ #include "../quick_settings/settings_button_widget.h" #include "deck_list_style_proxy.h" +#include #include #include -#include -#include +#include #include #include #include @@ -40,6 +40,7 @@ private: DeckListStyleProxy *styleProxy; DeckListHistoryManager *historyManager; + QHBoxLayout *layout; QAction *aUndo; QToolButton *undoButton; QAction *aRedo;