mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-06 05:23:56 -07:00
Reload card db and notify enabled sets change on "Manage Sets" dialog save
Took 1 hour 18 minutes Took 6 seconds
This commit is contained in:
parent
b1fe4c85d3
commit
3f030fe2dc
3 changed files with 31 additions and 0 deletions
|
|
@ -16,6 +16,7 @@
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
#include <QToolBar>
|
#include <QToolBar>
|
||||||
#include <QTreeView>
|
#include <QTreeView>
|
||||||
|
#include <QtConcurrentRun>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <libcockatrice/card/database/card_database_manager.h>
|
#include <libcockatrice/card/database/card_database_manager.h>
|
||||||
#include <libcockatrice/models/database/card_set/card_sets_model.h>
|
#include <libcockatrice/models/database/card_set/card_sets_model.h>
|
||||||
|
|
@ -253,6 +254,17 @@ void WndSets::actSave()
|
||||||
model->save(CardDatabaseManager::getInstance());
|
model->save(CardDatabaseManager::getInstance());
|
||||||
SettingsCache::instance().setIncludeRebalancedCards(includeRebalancedCards);
|
SettingsCache::instance().setIncludeRebalancedCards(includeRebalancedCards);
|
||||||
CardPictureLoader::clearPixmapCache();
|
CardPictureLoader::clearPixmapCache();
|
||||||
|
const auto reloadOk1 = QtConcurrent::run([this] {
|
||||||
|
CardDatabaseManager::getInstance()->loadCardDatabases();
|
||||||
|
QMetaObject::Connection conn;
|
||||||
|
|
||||||
|
conn = connect(CardDatabaseManager::getInstance(), &CardDatabase::cardDatabaseLoadingFinished, this,
|
||||||
|
[conn]() mutable {
|
||||||
|
CardDatabaseManager::getInstance()->notifyEnabledSetsChanged();
|
||||||
|
QObject::disconnect(conn);
|
||||||
|
});
|
||||||
|
SettingsCache::instance().downloads().sync();
|
||||||
|
});
|
||||||
close();
|
close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,24 @@ CardDatabaseDisplayModel::CardDatabaseDisplayModel(QObject *parent)
|
||||||
loadedRowCount = 0;
|
loadedRowCount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CardDatabaseDisplayModel::setSourceModel(QAbstractItemModel *model)
|
||||||
|
{
|
||||||
|
QSortFilterProxyModel::setSourceModel(model);
|
||||||
|
|
||||||
|
connect(model, &QAbstractItemModel::rowsInserted, this, [this]() {
|
||||||
|
dirty();
|
||||||
|
});
|
||||||
|
|
||||||
|
connect(model, &QAbstractItemModel::rowsRemoved, this, [this]() {
|
||||||
|
dirty();
|
||||||
|
});
|
||||||
|
|
||||||
|
connect(model, &QAbstractItemModel::modelReset, this, [this]() {
|
||||||
|
loadedRowCount = 0;
|
||||||
|
dirty();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QMap<wchar_t, wchar_t> CardDatabaseDisplayModel::characterTranslation = {{L'“', L'\"'},
|
QMap<wchar_t, wchar_t> CardDatabaseDisplayModel::characterTranslation = {{L'“', L'\"'},
|
||||||
{L'”', L'\"'},
|
{L'”', L'\"'},
|
||||||
{L'‘', L'\''},
|
{L'‘', L'\''},
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ private:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CardDatabaseDisplayModel(QObject *parent = nullptr);
|
explicit CardDatabaseDisplayModel(QObject *parent = nullptr);
|
||||||
|
void setSourceModel(QAbstractItemModel *model) override;
|
||||||
void setFilterTree(FilterTree *_filterTree);
|
void setFilterTree(FilterTree *_filterTree);
|
||||||
void setIsToken(FilterBool _isToken)
|
void setIsToken(FilterBool _isToken)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue