diff options
Diffstat (limited to 'tests/manual/jumplist/testwidget.cpp')
-rw-r--r-- | tests/manual/jumplist/testwidget.cpp | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/tests/manual/jumplist/testwidget.cpp b/tests/manual/jumplist/testwidget.cpp deleted file mode 100644 index 01a1275..0000000 --- a/tests/manual/jumplist/testwidget.cpp +++ /dev/null @@ -1,154 +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 "ui_testwidget.h" - -#include <QApplication> -#include <QStyle> -#include <QFile> -#include <QFileDialog> -#include <QDesktopServices> -#include <QMessageBox> -#include <QProcess> -#include <QStatusBar> -#include <QUrl> -#include <QWinJumpList> -#include <QWinJumpListItem> -#include <QWinJumpListCategory> -#include <QDebug> - -TestWidget::TestWidget(QWidget *parent) : - QMainWindow(parent), - ui(new Ui::TestWidget) -{ - ui->setupUi(this); - - connect(ui->actionUpdate, &QAction::triggered, this, &TestWidget::updateJumpList); - connect(ui->actionOpen, &QAction::triggered, this, &TestWidget::openFile); - connect(ui->actionExit, &QAction::triggered, QCoreApplication::quit); - connect(ui->actionShow_in_Explorer, &QAction::triggered, this, &TestWidget::showInExplorer); - connect(ui->actionRun_JumpListView, &QAction::triggered, this, &TestWidget::runJumpListView); -} - -TestWidget::~TestWidget() -{ - delete ui; -} - -QStringList TestWidget::supportedMimeTypes() -{ - return QStringList() << "text/x-c++src" << "text/x-csrc" << "text/x-chdr" - << "text/x-c++hdr" << "text/x-qml" << "text/plain"; -} - -void TestWidget::changeEvent(QEvent *e) -{ - QWidget::changeEvent(e); - switch (e->type()) { - case QEvent::LanguageChange: - ui->retranslateUi(this); - break; - default: - break; - } -} - -void TestWidget::showFile(const QString &path) -{ - QFile file(path); - if (!file.open(QIODevice::ReadOnly|QIODevice::Text)) { - const QString error = "Failed to open file " + QDir::toNativeSeparators(path) - + ": " + file.errorString(); - QMessageBox::warning(this, "Error", error); - return; - } - setText(QString::fromUtf8(file.readAll())); -} - -void TestWidget::setText(const QString &text) -{ - ui->text->setPlainText(text); -} - -void TestWidget::updateJumpList() -{ - QWinJumpList jumplist; - if (!m_id.isEmpty()) - jumplist.setIdentifier(m_id); - const QString applicationBinary = QDir::toNativeSeparators(QCoreApplication::applicationFilePath()); - jumplist.recent()->setVisible(ui->cbShowRecent->isChecked()); - jumplist.frequent()->setVisible(ui->cbShowFrequent->isChecked()); - if (ui->cbRunFullscreen->isChecked()) { - auto *item = new QWinJumpListItem(QWinJumpListItem::Link); - item->setTitle(ui->cbRunFullscreen->text()); - item->setFilePath(applicationBinary); - item->setArguments(QStringList("-fullscreen")); - item->setIcon(style()->standardIcon(QStyle::SP_TitleBarMaxButton)); - jumplist.tasks()->addItem(item); - } - if (ui->cbRunFusion->isChecked()) { - jumplist.tasks()->addLink(style()->standardIcon(QStyle::SP_DesktopIcon), - ui->cbRunFusion->text(), - applicationBinary, - (QStringList() << "-style" << "fusion")); - } - if (ui->cbRunText->isChecked()) { - jumplist.tasks()->addSeparator(); - jumplist.tasks()->addLink(ui->cbRunText->text(), - applicationBinary, - QStringList("-text")); - } - jumplist.tasks()->setVisible(!jumplist.tasks()->isEmpty()); -} - -void TestWidget::openFile() -{ - QFileDialog fileDialog(this, "Open a Text File"); - fileDialog.setAcceptMode(QFileDialog::AcceptOpen); - fileDialog.setMimeTypeFilters(TestWidget::supportedMimeTypes()); - // Note: The native file dialog creates the frequent/recent entries. - if (!ui->actionUse_Native_File_Dialog->isChecked()) - fileDialog.setOption(QFileDialog::DontUseNativeDialog); - if (fileDialog.exec() == QDialog::Accepted) - showFile(fileDialog.selectedFiles().first()); -} - -void TestWidget::showInExplorer() -{ - const QString path = QFile::decodeName(qgetenv("APPDATA")) - + "/Microsoft/Windows/Recent/Automaticdestinations"; - QDesktopServices::openUrl(QUrl::fromLocalFile(path)); -} - -void TestWidget::runJumpListView() -{ - const char binary[] = "JumpListsView"; - if (!QProcess::startDetached(binary, QStringList())) - statusBar()->showMessage(QLatin1String("Unable to run ") + binary); -} |