diff options
author | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-09-01 09:56:28 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-09-14 19:20:06 +0000 |
commit | 8132cb655ad9f1479110d20c4f31f32a9da094d9 (patch) | |
tree | ff20cd03c881fc9180c08f366d555ac233a52294 /examples/widgets/widgets/icons/main.cpp | |
parent | f3fd7b3d961ffed480e5851e594f6981f558f486 (diff) |
Polish the Icons example.
- Remove unneeded member variables.
- Use new connection syntax in createActions()
to assemble the menu there, removing the createMenus()
function.
- Use a QButtonGroup for the sizes with the style metrics as id.
- Streamline code, rename variables for clarity.
- Introduce static functions returning the list of states/modes and
their names in display order to IconPreviewArea, removing the
duplicates.
- Split actions to open sample icons provided from source directory
or standard pictures location to make sample icons more prominently
visible.
- Check and display @2x images and add tooltips showing device pixel
ratio and actual size.
- HighDPI: Add groupbox displaying screen name and device pixel
ratio, connect to screen changed signal and update icons panel
accordingly. Add check box for toggling Qt::AA_UseHighDpiPixmaps.
- Adjust documentation
Task-number: QTBUG-18680
Task-number: QTBUG-46615
Change-Id: Ice96e9898f168ef2a30e9f46cb260ed57ae015f0
Reviewed-by: Topi Reiniƶ <topi.reinio@digia.com>
Diffstat (limited to 'examples/widgets/widgets/icons/main.cpp')
-rw-r--r-- | examples/widgets/widgets/icons/main.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/examples/widgets/widgets/icons/main.cpp b/examples/widgets/widgets/icons/main.cpp index 842a474405..d6a823f1c7 100644 --- a/examples/widgets/widgets/icons/main.cpp +++ b/examples/widgets/widgets/icons/main.cpp @@ -39,13 +39,39 @@ ****************************************************************************/ #include <QApplication> +#include <QCommandLineParser> +#include <QDesktopWidget> #include "mainwindow.h" +//! [45] int main(int argc, char *argv[]) { QApplication app(argc, argv); + QCoreApplication::setApplicationName(MainWindow::tr("Icons")); + QCoreApplication::setApplicationVersion(QT_VERSION_STR); + QCommandLineParser commandLineParser; + commandLineParser.setSingleDashWordOptionMode(QCommandLineParser::ParseAsLongOptions); + commandLineParser.addHelpOption(); + commandLineParser.addVersionOption(); + QCommandLineOption noHighDpiPixmapOption("no-highdpi-pixmaps", + "Disable High DPI image loading (Qt::AA_UseHighDpiPixmaps)"); + commandLineParser.addOption(noHighDpiPixmapOption); + commandLineParser.addPositionalArgument(MainWindow::tr("[file]"), MainWindow::tr("Icon file(s) to open.")); + commandLineParser.process(QCoreApplication::arguments()); + + if (!commandLineParser.isSet(noHighDpiPixmapOption)) + QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); + MainWindow mainWin; + if (!commandLineParser.positionalArguments().isEmpty()) + mainWin.loadImages(commandLineParser.positionalArguments()); + + const QRect availableGeometry = QApplication::desktop()->availableGeometry(&mainWin); + mainWin.resize(availableGeometry.width() / 2, availableGeometry.height() * 2 / 3); + mainWin.move((availableGeometry.width() - mainWin.width()) / 2, (availableGeometry.height() - mainWin.height()) / 2); + mainWin.show(); return app.exec(); } +//! [45] |