aboutsummaryrefslogtreecommitdiff
path: root/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'main.cpp')
-rw-r--r--main.cpp45
1 files changed, 38 insertions, 7 deletions
diff --git a/main.cpp b/main.cpp
index 168bb98..b202026 100644
--- a/main.cpp
+++ b/main.cpp
@@ -17,29 +17,60 @@ int main(int argc, char *argv[])
QGuiApplication app(argc, argv);
- // register enumerations
- qmlRegisterUncreatableMetaObject(Operation::staticMetaObject,
- "Org.Syrja.Symbol.Operation", 1, 0, "Operation", "Error: only enums" );
+ // set base language translators
+ QLocale locale;
+ QTranslator backuptranslator, localetranslator, currenttranslator;
+ if ( backuptranslator.load(":/locale/symedit.en_GB.qm") )
+ QCoreApplication::installTranslator(&backuptranslator);
+ if ( localetranslator.load(locale, ":/locale/symedit.") )
+ QCoreApplication::installTranslator(&localetranslator);
+ // register command line arguments
QCommandLineParser parser;
+ parser.addPositionalArgument("file", qtTrId("id_cli_symbol_file_name"));
+ QCommandLineOption transferoption(QStringList() << "t" << "transfer", qtTrId("id_cli_transfer_file"));
+ parser.addOption(transferoption);
+ QCommandLineOption symboloption(QStringList() << "s" << "symbol",
+ qtTrId("id_cli_symbol_description"), qtTrId("id_cli_symbol"));
+ parser.addOption(symboloption);
+ QCommandLineOption languageoption(QStringList() << "l" << "language",
+ qtTrId("id_cli_language_description"), qtTrId("id_cli_language"));
+ parser.addOption(languageoption);
+ parser.addHelpOption();
parser.process(app);
- QString symbol;
+ // read command line arguments
+ QString filename;
const QStringList arguments = parser.positionalArguments();
if ( arguments.size() )
- symbol = arguments.at(0);
+ filename = arguments.at(0);
+ bool transfer = parser.isSet(transferoption);
+ QString symbol = parser.value(symboloption);
+ QString language = parser.value(languageoption);
+
+ // set current translator
+ if ( currenttranslator.load(language == "fin" ? ":/locale/symedit.fi_FI.qm" : "") )
+ QCoreApplication::installTranslator(&currenttranslator);
+
+ // register enumerations
+ qmlRegisterUncreatableMetaObject(Operation::staticMetaObject,
+ "Org.Syrja.Symbol.Operation", 1, 0, "Operation", "Error: only enums" );
// register manager
- SymEditManager manager(symbol);
QQmlApplicationEngine engine;
+ SymEditManager manager(filename, symbol);
engine.rootContext()->setContextProperty("manager", &manager);
+ // start application
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
if ( engine.rootObjects().isEmpty() )
return -1;
-
int result = app.exec();
+ if ( transfer )
+ {
+ //## save file
+ }
manager.SaveSettings();
return result;