mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-21 09:05:10 -07:00
* [Application] Add single instance guard and mime types. Took 2 hours 39 minutes Took 18 minutes Took 5 minutes Took 12 seconds Took 11 seconds * Rework Took 30 minutes Took 50 seconds * Only enforce single instance if launched with arguments. Took 5 minutes * Prototype intents Took 53 minutes Took 6 seconds * Connect/disconnect and join game/room intents. Took 3 hours 14 minutes Took 2 seconds Took 15 seconds * Fix include. Took 1 minute Took 23 seconds Took 2 seconds * Mac handling. Took 10 minutes Took 12 seconds Took 3 minutes * Lint. Took 3 minutes * Rebase. Took 3 minutes Took 17 seconds * Implement UrlSchemeEventFilter Took 10 minutes Took 7 seconds * Qt Moc Took 3 minutes * Modern PList. Took 21 minutes Took 1 minute * Debug output. Took 6 minutes Took 19 minutes * Watch file:// prefix. Took 15 minutes Took 7 seconds * Better handler. Took 6 minutes * Don't store reference in member Took 5 minutes * Move impl to cpp, fix lifetime issues. Took 11 minutes Took 2 minutes * Better single-instance handoff, url intent harded copy game link context-menu Polish for installers Took 35 minutes Took 8 seconds --------- Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
34 lines
1 KiB
C++
34 lines
1 KiB
C++
#include "intent_open_local_deck.h"
|
|
|
|
#include "../deck_loader/deck_file_format.h"
|
|
#include "../deck_loader/deck_loader.h"
|
|
#include "../widgets/tabs/tab_supervisor.h"
|
|
#include "intent_wait_for_database_load.h"
|
|
|
|
#include <libcockatrice/card/database/card_database_manager.h>
|
|
|
|
IntentOpenLocalDeck::IntentOpenLocalDeck(TabSupervisor *_tabSupervisor, const QString &_file)
|
|
: Intent(), tabSupervisor(_tabSupervisor), file(_file)
|
|
{
|
|
}
|
|
|
|
bool IntentOpenLocalDeck::checkPrecondition() const
|
|
{
|
|
return CardDatabaseManager::getInstance()->getLoadStatus() == LoadStatus::Ok;
|
|
}
|
|
|
|
void IntentOpenLocalDeck::onPreconditionSatisfied()
|
|
{
|
|
std::optional<LoadedDeck> deckOpt = DeckLoader::loadFromFile(file, DeckFileFormat::getFormatFromName(file), true);
|
|
if (deckOpt) {
|
|
tabSupervisor->openDeckInNewTab(deckOpt.value());
|
|
emitFinished();
|
|
} else {
|
|
emitFailed(tr("Unable to load deck file %1").arg(file));
|
|
}
|
|
}
|
|
|
|
void IntentOpenLocalDeck::onPreconditionNotSatisfied()
|
|
{
|
|
runDependency(new IntentWaitForDatabaseLoad);
|
|
}
|