aboutsummaryrefslogtreecommitdiffstats
path: root/examples/quick/quickwidgets/qquickviewcomparison
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2017-09-05 13:51:52 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2017-10-18 09:45:59 +0000
commitf82c4de515223574bcc510de0d993426b22bccbe (patch)
tree502580beddf2cb874fc285b3cf5308b17a00e309 /examples/quick/quickwidgets/qquickviewcomparison
parent32b73196594ade358e7b419b0a7563abcfe7266e (diff)
Qt Quick examples: Introduce QCommandLineParser
Task-number: QTBUG-60630 Change-Id: Iaf24e09fdec92f8af495a1288685f266c39be4a7 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'examples/quick/quickwidgets/qquickviewcomparison')
-rw-r--r--examples/quick/quickwidgets/qquickviewcomparison/main.cpp20
-rw-r--r--examples/quick/quickwidgets/qquickviewcomparison/mainwindow.cpp8
-rw-r--r--examples/quick/quickwidgets/qquickviewcomparison/mainwindow.h3
3 files changed, 24 insertions, 7 deletions
diff --git a/examples/quick/quickwidgets/qquickviewcomparison/main.cpp b/examples/quick/quickwidgets/qquickviewcomparison/main.cpp
index 7e45e42527..848107ce71 100644
--- a/examples/quick/quickwidgets/qquickviewcomparison/main.cpp
+++ b/examples/quick/quickwidgets/qquickviewcomparison/main.cpp
@@ -39,6 +39,8 @@
****************************************************************************/
#include <QApplication>
+#include <QCommandLineParser>
+#include <QCommandLineOption>
#include "mainwindow.h"
@@ -48,8 +50,22 @@ int main(int argc, char **argv)
QApplication app(argc, argv);
- bool transparency = QCoreApplication::arguments().contains(QStringLiteral("--transparent"));
- MainWindow widgetWindow(transparency);
+ QCoreApplication::setApplicationName("Qt QQuickView/QQuickWidget Comparison Example");
+ QCoreApplication::setOrganizationName("QtProject");
+ QCoreApplication::setApplicationVersion(QT_VERSION_STR);
+ QCommandLineParser parser;
+ parser.setApplicationDescription(QCoreApplication::applicationName());
+ parser.addHelpOption();
+ parser.addVersionOption();
+ QCommandLineOption noRenderAlphaOption("no-render-alpha", "Do not render Alpha");
+ parser.addOption(noRenderAlphaOption);
+ QCommandLineOption transparentOption("transparent", "Transparent window");
+ parser.addOption(transparentOption);
+
+ parser.process(app);
+
+ const bool transparency = parser.isSet(transparentOption);
+ MainWindow widgetWindow(transparency, parser.isSet(noRenderAlphaOption));
if (transparency) {
widgetWindow.setAttribute(Qt::WA_TranslucentBackground);
widgetWindow.setAttribute(Qt::WA_NoSystemBackground, false);
diff --git a/examples/quick/quickwidgets/qquickviewcomparison/mainwindow.cpp b/examples/quick/quickwidgets/qquickviewcomparison/mainwindow.cpp
index ea6c7f2f9a..2e623464ba 100644
--- a/examples/quick/quickwidgets/qquickviewcomparison/mainwindow.cpp
+++ b/examples/quick/quickwidgets/qquickviewcomparison/mainwindow.cpp
@@ -40,7 +40,6 @@
#include "mainwindow.h"
#include "fbitem.h"
-#include <QCoreApplication>
#include <QVBoxLayout>
#include <QGroupBox>
#include <QRadioButton>
@@ -48,10 +47,11 @@
#include <QLabel>
#include <QQuickItem>
-MainWindow::MainWindow(bool transparency)
+MainWindow::MainWindow(bool transparency, bool noRenderAlpha)
: m_currentView(0),
m_currentRootObject(0),
- m_transparent(transparency)
+ m_transparent(transparency),
+ m_noRenderAlpha(noRenderAlpha)
{
QVBoxLayout *layout = new QVBoxLayout;
@@ -178,7 +178,7 @@ void MainWindow::updateView()
if (m_currentRootObject) {
m_currentRootObject->setProperty("currentText", text);
m_currentRootObject->setProperty("multisample", m_checkboxMultiSample->isChecked());
- if (!QCoreApplication::arguments().contains(QStringLiteral("--no_render_alpha")))
+ if (!m_noRenderAlpha)
m_currentRootObject->setProperty("translucency", m_transparent);
}
diff --git a/examples/quick/quickwidgets/qquickviewcomparison/mainwindow.h b/examples/quick/quickwidgets/qquickviewcomparison/mainwindow.h
index 5b86c93f38..e49f50cab6 100644
--- a/examples/quick/quickwidgets/qquickviewcomparison/mainwindow.h
+++ b/examples/quick/quickwidgets/qquickviewcomparison/mainwindow.h
@@ -53,7 +53,7 @@ QT_FORWARD_DECLARE_CLASS(QLayout)
class MainWindow : public QWidget
{
public:
- MainWindow(bool transparency);
+ explicit MainWindow(bool transparency, bool noRenderAlpha);
protected:
void resizeEvent(QResizeEvent*);
@@ -86,6 +86,7 @@ private:
QSurfaceFormat m_format;
bool m_transparent;
+ bool m_noRenderAlpha;
};
#endif