diff options
author | Andre de la Rocha <andre.rocha@qt.io> | 2017-10-25 15:35:30 +0200 |
---|---|---|
committer | Andre de la Rocha <andre.rocha@qt.io> | 2017-11-01 18:17:53 +0000 |
commit | 17bdee86da84c6718fc1bbe8cedf5bdf07240837 (patch) | |
tree | 1dd0d9595a3e83e03ea3447cc265146f164dfffb /examples | |
parent | 07f6d25a00af112d46e939992fb9cf42879fc7c1 (diff) |
Revamp Qt Windows Extras examples
Use nullptr, member initialization, new connect syntax, QStringLiteral, etc.
Change-Id: I1404701fcc227f8133bc22548ea1cee02eab4ed9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Michael Winkelmann <michael.winkelmann@qt.io>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/winextras/iconextractor/main.cpp | 16 | ||||
-rw-r--r-- | examples/winextras/musicplayer/main.cpp | 2 | ||||
-rw-r--r-- | examples/winextras/musicplayer/musicplayer.cpp | 26 | ||||
-rw-r--r-- | examples/winextras/musicplayer/volumebutton.cpp | 22 | ||||
-rw-r--r-- | examples/winextras/quickplayer/main.cpp | 29 |
5 files changed, 56 insertions, 39 deletions
diff --git a/examples/winextras/iconextractor/main.cpp b/examples/winextras/iconextractor/main.cpp index 5e6dbd3..d630f9b 100644 --- a/examples/winextras/iconextractor/main.cpp +++ b/examples/winextras/iconextractor/main.cpp @@ -265,22 +265,22 @@ static const char description[] = int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); - QCoreApplication::setApplicationName("Icon Extractor"); - QCoreApplication::setOrganizationName("QtProject"); - QCoreApplication::setApplicationVersion(QT_VERSION_STR); + QCoreApplication::setApplicationName(QStringLiteral("Icon Extractor")); + QCoreApplication::setOrganizationName(QStringLiteral("QtProject")); + QCoreApplication::setApplicationVersion(QLatin1String(QT_VERSION_STR)); QCommandLineParser parser; parser.setSingleDashWordOptionMode(QCommandLineParser::ParseAsCompactedShortOptions); parser.setApplicationDescription(QLatin1String(description)); parser.addHelpOption(); parser.addVersionOption(); - const QCommandLineOption largeIconOption("large", "Extract large icons"); + const QCommandLineOption largeIconOption(QStringLiteral("large"), QStringLiteral("Extract large icons")); parser.addOption(largeIconOption); - const QCommandLineOption shellIconOption("shell", "Extract shell icons using SHGetFileInfo()"); + const QCommandLineOption shellIconOption(QStringLiteral("shell"), QStringLiteral("Extract shell icons using SHGetFileInfo()")); parser.addOption(shellIconOption); - const QCommandLineOption shellOverlayOption("overlay", "Extract shell overlay icons"); + const QCommandLineOption shellOverlayOption(QStringLiteral("overlay"), QStringLiteral("Extract shell overlay icons")); parser.addOption(shellOverlayOption); - parser.addPositionalArgument("file", "The file to open."); - parser.addPositionalArgument("image file folder", "The folder to store the images."); + parser.addPositionalArgument(QStringLiteral("file"), QStringLiteral("The file to open.")); + parser.addPositionalArgument(QStringLiteral("image file folder"), QStringLiteral("The folder to store the images.")); parser.process(app); const QStringList &positionalArguments = parser.positionalArguments(); if (positionalArguments.isEmpty()) diff --git a/examples/winextras/musicplayer/main.cpp b/examples/winextras/musicplayer/main.cpp index 1386da5..3b101cf 100644 --- a/examples/winextras/musicplayer/main.cpp +++ b/examples/winextras/musicplayer/main.cpp @@ -95,7 +95,7 @@ int main(int argc, char *argv[]) QCoreApplication::setApplicationName(QStringLiteral("MusicPlayer")); QCoreApplication::setApplicationVersion( QLatin1String(QT_VERSION_STR)); QCoreApplication::setOrganizationName(QStringLiteral("QtWinExtras")); - QCoreApplication::setOrganizationDomain("qt-project.org"); + QCoreApplication::setOrganizationDomain(QStringLiteral("qt-project.org")); QGuiApplication::setApplicationDisplayName(QStringLiteral("QtWinExtras Music Player")); if (!associateFileTypes()) diff --git a/examples/winextras/musicplayer/musicplayer.cpp b/examples/winextras/musicplayer/musicplayer.cpp index 6093976..b5b0acb 100644 --- a/examples/winextras/musicplayer/musicplayer.cpp +++ b/examples/winextras/musicplayer/musicplayer.cpp @@ -56,8 +56,7 @@ MusicPlayer::MusicPlayer(QWidget *parent) : QWidget(parent) connect(&mediaPlayer, &QMediaPlayer::durationChanged, this, &MusicPlayer::updateDuration); connect(&mediaPlayer, &QMediaObject::metaDataAvailableChanged, this, &MusicPlayer::updateInfo); - typedef void(QMediaPlayer::*ErrorSignal)(QMediaPlayer::Error); - connect(&mediaPlayer, static_cast<ErrorSignal>(&QMediaPlayer::error), + connect(&mediaPlayer, QOverload<QMediaPlayer::Error>::of(&QMediaPlayer::error), this, &MusicPlayer::handleError); connect(&mediaPlayer, &QMediaPlayer::stateChanged, this, &MusicPlayer::updateState); @@ -173,17 +172,20 @@ void MusicPlayer::mouseReleaseEvent(QMouseEvent *event) //! [1] void MusicPlayer::stylize() { - if (QtWin::isCompositionEnabled()) { - QtWin::extendFrameIntoClientArea(this, -1, -1, -1, -1); - setAttribute(Qt::WA_TranslucentBackground, true); - setAttribute(Qt::WA_NoSystemBackground, false); - setStyleSheet(QStringLiteral("MusicPlayer { background: transparent; }")); - } else { - QtWin::resetExtendedFrame(this); - setAttribute(Qt::WA_TranslucentBackground, false); - setStyleSheet(QStringLiteral("MusicPlayer { background: %1; }").arg(QtWin::realColorizationColor().name())); + if (QOperatingSystemVersion::current() < QOperatingSystemVersion::Windows8) { + // Set styling options relevant only to Windows 7. + if (QtWin::isCompositionEnabled()) { + QtWin::extendFrameIntoClientArea(this, -1, -1, -1, -1); + setAttribute(Qt::WA_TranslucentBackground, true); + setAttribute(Qt::WA_NoSystemBackground, false); + setStyleSheet(QStringLiteral("MusicPlayer { background: transparent; }")); + } else { + QtWin::resetExtendedFrame(this); + setAttribute(Qt::WA_TranslucentBackground, false); + setStyleSheet(QStringLiteral("MusicPlayer { background: %1; }").arg(QtWin::realColorizationColor().name())); + } + volumeButton->stylize(); } - volumeButton->stylize(); } //! [1] diff --git a/examples/winextras/musicplayer/volumebutton.cpp b/examples/winextras/musicplayer/volumebutton.cpp index 44be5cf..9682b6e 100644 --- a/examples/winextras/musicplayer/volumebutton.cpp +++ b/examples/winextras/musicplayer/volumebutton.cpp @@ -60,8 +60,7 @@ VolumeButton::VolumeButton(QWidget *parent) : label->setNum(100); label->setMinimumWidth(label->sizeHint().width()); - typedef void(QLabel::*IntSlot)(int); - connect(slider, &QAbstractSlider::valueChanged, label, static_cast<IntSlot>(&QLabel::setNum)); + connect(slider, &QAbstractSlider::valueChanged, label, QOverload<int>::of(&QLabel::setNum)); QBoxLayout *popupLayout = new QHBoxLayout(popup); popupLayout->setMargin(2); @@ -101,14 +100,17 @@ void VolumeButton::setVolume(int volume) //! [0] void VolumeButton::stylize() { - if (QtWin::isCompositionEnabled()) { - QtWin::enableBlurBehindWindow(menu); - QString css("QMenu { border: 1px solid %1; border-radius: 2px; background: transparent; }"); - menu->setStyleSheet(css.arg(QtWin::realColorizationColor().name())); - } else { - QtWin::disableBlurBehindWindow(menu); - QString css("QMenu { border: 1px solid black; background: %1; }"); - menu->setStyleSheet(css.arg(QtWin::realColorizationColor().name())); + if (QOperatingSystemVersion::current() < QOperatingSystemVersion::Windows8) { + // Set styling options relevant only to Windows 7. + if (QtWin::isCompositionEnabled()) { + QtWin::enableBlurBehindWindow(menu); + QString css("QMenu { border: 1px solid %1; border-radius: 2px; background: transparent; }"); + menu->setStyleSheet(css.arg(QtWin::realColorizationColor().name())); + } else { + QtWin::disableBlurBehindWindow(menu); + QString css("QMenu { border: 1px solid black; background: %1; }"); + menu->setStyleSheet(css.arg(QtWin::realColorizationColor().name())); + } } } //! [0] diff --git a/examples/winextras/quickplayer/main.cpp b/examples/winextras/quickplayer/main.cpp index 9faa390..479444f 100644 --- a/examples/winextras/quickplayer/main.cpp +++ b/examples/winextras/quickplayer/main.cpp @@ -40,6 +40,8 @@ #include <QQmlApplicationEngine> #include <QGuiApplication> +#include <QCommandLineParser> +#include <QCommandLineOption> #include <QWindow> #include <QQmlContext> #include <QStandardPaths> @@ -47,21 +49,32 @@ int main(int argc, char *argv[]) { + QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplication app(argc, argv); - app.setApplicationName("QuickPlayer"); - app.setOrganizationName("QtWinExtras"); - app.setOrganizationDomain("qt-project.org"); - app.setApplicationDisplayName("QtWinExtras Quick Player"); + QCoreApplication::setApplicationName(QStringLiteral("QuickPlayer")); + QCoreApplication::setApplicationVersion(QLatin1String(QT_VERSION_STR)); + QCoreApplication::setOrganizationName(QStringLiteral("QtWinExtras")); + QCoreApplication::setOrganizationDomain(QStringLiteral("qt-project.org")); + QGuiApplication::setApplicationDisplayName(QStringLiteral("QtWinExtras Quick Player")); QQmlApplicationEngine engine; const QStringList musicPaths = QStandardPaths::standardLocations(QStandardPaths::MusicLocation); const QUrl musicUrl = QUrl::fromLocalFile(musicPaths.isEmpty() ? QDir::homePath() : musicPaths.first()); engine.rootContext()->setContextProperty(QStringLiteral("musicUrl"), musicUrl); - const QStringList arguments = QCoreApplication::arguments(); - const QUrl commandLineUrl = arguments.size() > 1 ? QUrl::fromLocalFile(arguments.at(1)) : QUrl(); + + QCommandLineParser parser; + parser.setApplicationDescription(QGuiApplication::applicationDisplayName()); + parser.addHelpOption(); + parser.addVersionOption(); + parser.addPositionalArgument(QStringLiteral("url"), QStringLiteral("The URL to open.")); + parser.process(app); + QUrl commandLineUrl; + if (!parser.positionalArguments().isEmpty()) + commandLineUrl = QUrl::fromUserInput(parser.positionalArguments().constFirst(), QDir::currentPath(), QUrl::AssumeLocalFile); engine.rootContext()->setContextProperty(QStringLiteral("url"), commandLineUrl); - engine.load(QUrl("qrc:/main.qml")); - QObject* root = engine.rootObjects().value(0); + + engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); + QObject *root = engine.rootObjects().value(0); if (QWindow *window = qobject_cast<QWindow *>(root)) window->show(); else |