You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.7 KiB
65 lines
1.7 KiB
#include "samplecoreapp.h"
|
|
#include "sampleviewmodel.h"
|
|
#include "drawerviewmodel.h"
|
|
|
|
#include <QtCore/QLoggingCategory>
|
|
#include <QtCore/QCommandLineParser>
|
|
#include <QtMvvmCore/QtMvvmCoreVersion>
|
|
|
|
SampleCoreApp::SampleCoreApp(QObject *parent) :
|
|
CoreApp(parent),
|
|
_showDrawer(false)
|
|
{
|
|
QCoreApplication::setApplicationName(QStringLiteral("QtMvvmSample"));
|
|
QCoreApplication::setApplicationVersion(QStringLiteral(QTMVVMCORE_VERSION_STR));
|
|
QCoreApplication::setOrganizationName(QStringLiteral("Skycoder42"));
|
|
}
|
|
|
|
bool SampleCoreApp::showDrawer() const
|
|
{
|
|
return _showDrawer;
|
|
}
|
|
|
|
void SampleCoreApp::setShowDrawer(bool showDrawer)
|
|
{
|
|
if (_showDrawer == showDrawer)
|
|
return;
|
|
|
|
_showDrawer = showDrawer;
|
|
emit showDrawerChanged(_showDrawer);
|
|
}
|
|
|
|
void SampleCoreApp::performRegistrations()
|
|
{
|
|
Q_INIT_RESOURCE(sample_core);
|
|
|
|
QtMvvm::registerInterfaceConverter<IEventService>();
|
|
|
|
QLoggingCategory::setFilterRules(QStringLiteral("qtmvvm.debug=true"));
|
|
}
|
|
|
|
int SampleCoreApp::startApp(const QStringList &arguments)
|
|
{
|
|
QCommandLineParser parser;
|
|
parser.addVersionOption();
|
|
parser.addHelpOption();
|
|
|
|
parser.addOption({
|
|
{QStringLiteral("a"), QStringLiteral("active")},
|
|
QStringLiteral("Start with the active checkbox already checked")
|
|
});
|
|
parser.addPositionalArgument(QStringLiteral("names"),
|
|
QStringLiteral("A list of names, joined together as one string"),
|
|
QStringLiteral("[names...]"));
|
|
|
|
if(!autoParse(parser, arguments))
|
|
return EXIT_SUCCESS;
|
|
|
|
QVariantHash args;
|
|
args.insert(SampleViewModel::KeyActive, parser.isSet(QStringLiteral("active")));
|
|
args.insert(SampleViewModel::KeyNames, parser.positionalArguments());
|
|
show<SampleViewModel>(args);
|
|
if(_showDrawer)
|
|
show<DrawerViewModel>();
|
|
return EXIT_SUCCESS;
|
|
}
|
|
|