summaryrefslogtreecommitdiffstats
path: root/tools/qmlviewer/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/qmlviewer/main.cpp')
-rw-r--r--tools/qmlviewer/main.cpp55
1 files changed, 33 insertions, 22 deletions
diff --git a/tools/qmlviewer/main.cpp b/tools/qmlviewer/main.cpp
index f27606e..ed700a0 100644
--- a/tools/qmlviewer/main.cpp
+++ b/tools/qmlviewer/main.cpp
@@ -17,6 +17,8 @@
#include <QDir>
#include "qfxtestengine.h"
#include <QApplication>
+#include <QTranslator>
+#include <QDebug>
void usage()
{
@@ -38,6 +40,8 @@ void usage()
qWarning(" -cache ................................... disk cache remote content");
qWarning(" -recordtest <directory> .................. record an autotest");
qWarning(" -runtest <directory> ..................... run a previously recorded test");
+ qWarning(" -translation <translationfile> ........... set the language to run in");
+ qWarning(" -L <directory> ........................... prepend to the library search path");
qWarning(" ");
qWarning(" Press F1 for interactive help");
exit(1);
@@ -46,28 +50,18 @@ void usage()
int main(int argc, char ** argv)
{
//### default to using raster graphics backend for now
- int newargc = argc + 2;
- char **newargv;
bool gsSpecified = false;
for (int i = 0; i < argc; ++i) {
- if (!qstrcmp(argv[i], "-graphicssystem")) {
+ QString arg = argv[i];
+ if (arg == "-graphicssystem") {
gsSpecified = true;
- newargc -= 2;
break;
}
}
- newargv = new char * [newargc];
- for (int i = 0; i < argc; ++i) {
- newargv[i] = argv[i];
- }
- if (!gsSpecified) {
- char system[] = "-graphicssystem";
- newargv[argc] = system;
- char raster[] = "raster";
- newargv[argc+1] = raster;
- }
+ if (!gsSpecified)
+ QApplication::setGraphicsSystem("raster");
- QApplication app(newargc, newargv);
+ QApplication app(argc, argv);
app.setApplicationName("viewer");
bool frameless = false;
@@ -78,14 +72,16 @@ int main(int argc, char ** argv)
QString dither = "none";
QString recordfile;
QStringList recordargs;
+ QStringList libraries;
QString skin;
bool devkeys = false;
bool cache = false;
QFxTestEngine::TestMode testMode = QFxTestEngine::NoTest;
QString testDir;
+ QString translationFile;
- for (int i = 1; i < newargc; ++i) {
- QString arg = newargv[i];
+ for (int i = 1; i < argc; ++i) {
+ QString arg = argv[i];
if (arg == "-frameless") {
frameless = true;
} else if (arg == "-skin") {
@@ -110,19 +106,26 @@ int main(int argc, char ** argv)
devkeys = true;
} else if (arg == "-recordtest") {
testMode = QFxTestEngine::RecordTest;
- if(i + 1 >= newargc)
+ if(i + 1 >= argc)
usage();
- testDir = newargv[i + 1];
+ testDir = argv[i + 1];
++i;
} else if (arg == "-runtest") {
testMode = QFxTestEngine::PlaybackTest;
- if(i + 1 >= newargc)
+ if(i + 1 >= argc)
usage();
- testDir = newargv[i + 1];
+ testDir = argv[i + 1];
++i;
} else if (arg == QLatin1String("-v") || arg == QLatin1String("-version")) {
fprintf(stderr, "Qt Declarative UI Viewer version %s\n", QT_VERSION_STR);
return 0;
+ } else if (arg == "-translation") {
+ if(i + 1 >= argc)
+ usage();
+ translationFile = argv[i + 1];
+ ++i;
+ } else if (arg == "-L") {
+ libraries << QString(argv[++i]);
} else if (arg[0] != '-') {
fileName = arg;
} else if (1 || arg == "-help") {
@@ -130,14 +133,22 @@ int main(int argc, char ** argv)
}
}
+ QTranslator qmlTranslator;
+ if (!translationFile.isEmpty()) {
+ qmlTranslator.load(translationFile);
+ app.installTranslator(&qmlTranslator);
+ }
+
QmlViewer viewer(testMode, testDir, 0, frameless ? Qt::FramelessWindowHint : Qt::Widget);
+ foreach (QString lib, libraries)
+ viewer.addLibraryPath(lib);
viewer.setCacheEnabled(cache);
viewer.setRecordFile(recordfile);
if (period>0)
viewer.setRecordPeriod(period);
if (autorecord_to)
viewer.setAutoRecord(autorecord_from,autorecord_to);
- if (QDir(skin).exists())
+ if (!skin.isEmpty() && QDir(skin).exists())
viewer.setSkin(skin);
if (devkeys)
viewer.setDeviceKeys(true);