From cb991e69c04726fb46ec8c03d966dcbf159e2fe0 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 12 Jan 2016 14:02:34 +0100 Subject: testcon: Add options for application attributes. Make it possible to set Qt::AA_DisableHighDpiScaling and Qt::AA_DontCreateNativeWidgetSiblings. Task-number: QTBUG-50206 Change-Id: Ib5f0e9f29a78b22c99edfef3b6687482150d9896 Reviewed-by: Joerg Bornemann --- tools/testcon/main.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tools/testcon/main.cpp b/tools/testcon/main.cpp index 863a9e4..ac860bd 100644 --- a/tools/testcon/main.cpp +++ b/tools/testcon/main.cpp @@ -49,6 +49,15 @@ QAXFACTORY_DEFAULT(MainWindow, QT_USE_NAMESPACE +static bool isOptionSet(int argc, char *argv[], const char *option) +{ + for (int i = 1; i < argc; ++i) { + if (!qstrcmp(argv[i], option)) + return true; + } + return false; +} + static void redirectDebugOutput(QtMsgType, const QMessageLogContext &, const QString &msg) { if (MainWindow *mainWindow = MainWindow::instance()) @@ -57,6 +66,11 @@ static void redirectDebugOutput(QtMsgType, const QMessageLogContext &, const QSt int main( int argc, char **argv ) { + if (isOptionSet(argc, argv, "--no-scaling")) + QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling); + if (isOptionSet(argc, argv, "--no-native-siblings")) + QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); + QApplication app( argc, argv ); QCoreApplication::setApplicationName(QLatin1String("TestCon")); QCoreApplication::setOrganizationName(QLatin1String("QtProject")); @@ -72,6 +86,12 @@ int main( int argc, char **argv ) QCommandLineOption noMessageHandlerOption(QLatin1String("no-messagehandler"), QLatin1String("Suppress installation of the message handler.")); parser.addOption(noMessageHandlerOption); + QCommandLineOption noScalingDummy(QLatin1String("no-scaling"), + QLatin1String("Set Qt::AA_DisableHighDpiScaling.")); + parser.addOption(noScalingDummy); + QCommandLineOption noNativeSiblingsDummy(QLatin1String("no-native-siblings"), + QLatin1String("Set Qt::AA_DontCreateNativeWidgetSiblings.")); + parser.addOption(noNativeSiblingsDummy); parser.addPositionalArgument(QLatin1String("clsid/file"), QLatin1String("The clsid/file to show.")); parser.process(app); -- cgit v1.2.3