aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorAndre de la Rocha <andre.rocha@qt.io>2017-10-25 15:35:30 +0200
committerAndre de la Rocha <andre.rocha@qt.io>2017-11-01 18:17:53 +0000
commit17bdee86da84c6718fc1bbe8cedf5bdf07240837 (patch)
tree1dd0d9595a3e83e03ea3447cc265146f164dfffb /examples
parent07f6d25a00af112d46e939992fb9cf42879fc7c1 (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.cpp16
-rw-r--r--examples/winextras/musicplayer/main.cpp2
-rw-r--r--examples/winextras/musicplayer/musicplayer.cpp26
-rw-r--r--examples/winextras/musicplayer/volumebutton.cpp22
-rw-r--r--examples/winextras/quickplayer/main.cpp29
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