diff options
Diffstat (limited to 'tests/manual/jumplist/main.cpp')
-rw-r--r-- | tests/manual/jumplist/main.cpp | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/tests/manual/jumplist/main.cpp b/tests/manual/jumplist/main.cpp deleted file mode 100644 index 464b915..0000000 --- a/tests/manual/jumplist/main.cpp +++ /dev/null @@ -1,123 +0,0 @@ -/**************************************************************************** - ** - ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com> - ** Contact: https://www.qt.io/licensing/ - ** - ** This file is part of the test suite of the Qt Toolkit. - ** - ** $QT_BEGIN_LICENSE:GPL-EXCEPT$ - ** Commercial License Usage - ** Licensees holding valid commercial Qt licenses may use this file in - ** accordance with the commercial license agreement provided with the - ** Software or, alternatively, in accordance with the terms contained in - ** a written agreement between you and The Qt Company. For licensing terms - ** and conditions see https://www.qt.io/terms-conditions. For further - ** information use the contact form at https://www.qt.io/contact-us. - ** - ** GNU General Public License Usage - ** Alternatively, this file may be used under the terms of the GNU - ** General Public License version 3 as published by the Free Software - ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT - ** included in the packaging of this file. Please review the following - ** information to ensure the GNU General Public License requirements will - ** be met: https://www.gnu.org/licenses/gpl-3.0.html. - ** - ** $QT_END_LICENSE$ - ** - ****************************************************************************/ - -#include "testwidget.h" - -#include <QApplication> -#include <QCommandLineParser> -#include <QCommandLineOption> -#include <QDir> -#include <QDebug> -#include <QMimeDatabase> -#include <QSettings> -#include <QStatusBar> - -#include <algorithm> -#include <iterator> - -static bool associateFileType() -{ - const QString applicationBinary = QCoreApplication::applicationFilePath(); - QString exeFileName = applicationBinary; - const int lastSlashPos = exeFileName.lastIndexOf(u'/'); - exeFileName.remove(0, lastSlashPos + 1); - QSettings regApplications("HKEY_CURRENT_USER\\Software\\Classes\\Applications\\" + exeFileName, QSettings::NativeFormat); - regApplications.setValue("FriendlyAppName", QGuiApplication::applicationDisplayName()); - - regApplications.beginGroup("SupportedTypes"); - QMimeDatabase mimeDatabase; - const auto types = TestWidget::supportedMimeTypes(); - for (const QString &t : types) { - const auto suffixes = mimeDatabase.mimeTypeForName(t).suffixes(); - for (const QString &s : suffixes) - regApplications.setValue('.' + s, QString()); - } - regApplications.endGroup(); - - regApplications.beginGroup("shell"); - regApplications.beginGroup("open"); - regApplications.setValue("FriendlyAppName", QGuiApplication::applicationDisplayName()); - regApplications.beginGroup("command"); - regApplications.setValue(".", '"' + QDir::toNativeSeparators(applicationBinary) + "\" \"%1\""); - regApplications.endGroup(); - regApplications.endGroup(); - regApplications.endGroup(); - return regApplications.status() == QSettings::NoError; -} - -int main(int argc, char *argv[]) -{ - QStringList allArgs; // Show all arguments including style. - std::copy(argv + 1, argv + argc, std::back_inserter(allArgs)); - - QApplication app(argc, argv); - QGuiApplication::setApplicationDisplayName(QStringLiteral("QtWinExtras JumpList Test")); - if (!associateFileType()) { - qWarning() << "Unable to create registry entries."; - return -1; - } - - QCoreApplication::setOrganizationName("QtProject"); - QCoreApplication::setApplicationVersion(QT_VERSION_STR); - QCommandLineParser parser; - parser.setSingleDashWordOptionMode(QCommandLineParser::ParseAsLongOptions); - parser.setApplicationDescription(QGuiApplication::applicationDisplayName()); - parser.addHelpOption(); - parser.addVersionOption(); - QCommandLineOption textOption("text", "Show some text"); - parser.addOption(textOption); - QCommandLineOption fullScreenOption("fullscreen", "Show fullscreen"); - parser.addOption(fullScreenOption); - QCommandLineOption idOption("id", "Jump list identifier", "id"); - parser.addOption(idOption); - parser.addPositionalArgument("file", "The file to open."); - parser.process(app); - - TestWidget w; - - if (parser.isSet(idOption)) - w.setId(parser.value(idOption)); - - if (parser.isSet(fullScreenOption)) - w.showFullScreen(); - else - w.show(); - - if (parser.isSet(textOption)) - w.setText("Hello, world!"); - - if (!parser.positionalArguments().isEmpty()) - w.showFile(parser.positionalArguments().first()); - - if (allArgs.isEmpty()) - w.statusBar()->showMessage("Remember to run windeployqt"); - else - w.statusBar()->showMessage("Arguments: " + allArgs.join(' ')); - - return app.exec(); -} |