aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2021-05-27 13:48:50 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2021-06-07 16:15:41 +0200
commitdb1ceebe72b806375c6cf4e4cafd8e8f81ad9dd9 (patch)
treeb0eb01720e15806cb145590b941c13cc786fd2b7 /src
parentb61f0209c4ea9f92deaaa1828223f35c7fdb80e4 (diff)
Remove module and add note about current status in Qt 6HEADdev
See QTBUG-89564 for overview and replacements for the APIs. The Qt 6 porting guide will be updated to explain how to move away from the removed module. The 5.15 branch is still available for anyone wanting to look at or incorporate code in their own projects. Task-number: QTBUG-89564 Change-Id: I1f0afc5ba3e694623fbbb51f10967321e81f32c9 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/.prev_CMakeLists.txt24
-rw-r--r--src/CMakeLists.txt12
-rw-r--r--src/imports/CMakeLists.txt3
-rw-r--r--src/imports/imports.pro2
-rw-r--r--src/imports/winextras/CMakeLists.txt65
-rw-r--r--src/imports/winextras/JumpListDestination.qml65
-rw-r--r--src/imports/winextras/JumpListLink.qml92
-rw-r--r--src/imports/winextras/JumpListSeparator.qml57
-rw-r--r--src/imports/winextras/plugin.cpp82
-rw-r--r--src/imports/winextras/plugins.qmltypes224
-rw-r--r--src/imports/winextras/qmldir6
-rw-r--r--src/imports/winextras/qquickdwmfeatures.cpp386
-rw-r--r--src/imports/winextras/qquickdwmfeatures_p.h140
-rw-r--r--src/imports/winextras/qquickdwmfeatures_p_p.h87
-rw-r--r--src/imports/winextras/qquickiconloader.cpp156
-rw-r--r--src/imports/winextras/qquickiconloader_p.h148
-rw-r--r--src/imports/winextras/qquickjumplist.cpp202
-rw-r--r--src/imports/winextras/qquickjumplist_p.h114
-rw-r--r--src/imports/winextras/qquickjumplistcategory.cpp153
-rw-r--r--src/imports/winextras/qquickjumplistcategory_p.h107
-rw-r--r--src/imports/winextras/qquickjumplistitem.cpp84
-rw-r--r--src/imports/winextras/qquickjumplistitem_p.h86
-rw-r--r--src/imports/winextras/qquicktaskbarbutton.cpp166
-rw-r--r--src/imports/winextras/qquicktaskbarbutton_p.h114
-rw-r--r--src/imports/winextras/qquickthumbnailtoolbar.cpp247
-rw-r--r--src/imports/winextras/qquickthumbnailtoolbar_p.h129
-rw-r--r--src/imports/winextras/qquickthumbnailtoolbutton.cpp227
-rw-r--r--src/imports/winextras/qquickthumbnailtoolbutton_p.h113
-rw-r--r--src/imports/winextras/qquickwin_p.h92
-rw-r--r--src/imports/winextras/winextras.pro44
-rw-r--r--src/src.pro11
-rw-r--r--src/winextras/CMakeLists.txt51
-rw-r--r--src/winextras/doc/QtWinExtras/qwinextrasglobal.h1
-rw-r--r--src/winextras/doc/QtWinExtrasDoc22
-rw-r--r--src/winextras/doc/images/glass.pngbin47948 -> 0 bytes
-rw-r--r--src/winextras/doc/images/jumplist.pngbin28988 -> 0 bytes
-rw-r--r--src/winextras/doc/images/peek-on.pngbin41574 -> 0 bytes
-rw-r--r--src/winextras/doc/images/taskbar-button.pngbin7844 -> 0 bytes
-rw-r--r--src/winextras/doc/images/taskbar-progress-indeterminate.pngbin8032 -> 0 bytes
-rw-r--r--src/winextras/doc/images/taskbar-progress-paused.pngbin7153 -> 0 bytes
-rw-r--r--src/winextras/doc/images/taskbar-progress-stopped.pngbin7203 -> 0 bytes
-rw-r--r--src/winextras/doc/images/taskbar-progress.pngbin7374 -> 0 bytes
-rw-r--r--src/winextras/doc/images/thumbbar.pngbin78351 -> 0 bytes
-rw-r--r--src/winextras/doc/qtwinextras.qdocconf53
-rw-r--r--src/winextras/doc/snippets/code/CMakeLists.txt12
-rw-r--r--src/winextras/doc/snippets/code/jumplist.cpp69
-rw-r--r--src/winextras/doc/snippets/code/taskbar.cpp65
-rw-r--r--src/winextras/doc/snippets/code/taskbar.qml65
-rw-r--r--src/winextras/doc/snippets/code/thumbbar.cpp74
-rw-r--r--src/winextras/doc/snippets/code/thumbbar.qml66
-rw-r--r--src/winextras/doc/snippets/code/use-qtwinextras.cpp53
-rw-r--r--src/winextras/doc/snippets/code/use-qtwinextras.pro3
-rw-r--r--src/winextras/doc/src/qtwinextras-examples.qdoc39
-rw-r--r--src/winextras/doc/src/qtwinextras-index.qdoc72
-rw-r--r--src/winextras/doc/src/qtwinextras-module-cpp.qdoc43
-rw-r--r--src/winextras/doc/src/qtwinextras-module-qml.qdoc42
-rw-r--r--src/winextras/doc/src/qtwinextras-overview.qdoc153
-rw-r--r--src/winextras/qwinevent.cpp66
-rw-r--r--src/winextras/qwinevent.h85
-rw-r--r--src/winextras/qwineventfilter.cpp126
-rw-r--r--src/winextras/qwineventfilter_p.h83
-rw-r--r--src/winextras/qwinextrasglobal.h59
-rw-r--r--src/winextras/qwinfunctions.cpp2077
-rw-r--r--src/winextras/qwinfunctions.h251
-rw-r--r--src/winextras/qwinfunctions_p.h108
-rw-r--r--src/winextras/qwinjumplist.cpp608
-rw-r--r--src/winextras/qwinjumplist.h92
-rw-r--r--src/winextras/qwinjumplist_p.h105
-rw-r--r--src/winextras/qwinjumplistcategory.cpp380
-rw-r--r--src/winextras/qwinjumplistcategory.h99
-rw-r--r--src/winextras/qwinjumplistcategory_p.h85
-rw-r--r--src/winextras/qwinjumplistitem.cpp293
-rw-r--r--src/winextras/qwinjumplistitem.h93
-rw-r--r--src/winextras/qwinjumplistitem_p.h83
-rw-r--r--src/winextras/qwintaskbarbutton.cpp303
-rw-r--r--src/winextras/qwintaskbarbutton.h91
-rw-r--r--src/winextras/qwintaskbarbutton_p.h89
-rw-r--r--src/winextras/qwintaskbarprogress.cpp336
-rw-r--r--src/winextras/qwintaskbarprogress.h102
-rw-r--r--src/winextras/qwinthumbnailtoolbar.cpp629
-rw-r--r--src/winextras/qwinthumbnailtoolbar.h100
-rw-r--r--src/winextras/qwinthumbnailtoolbar_p.h132
-rw-r--r--src/winextras/qwinthumbnailtoolbutton.cpp254
-rw-r--r--src/winextras/qwinthumbnailtoolbutton.h98
-rw-r--r--src/winextras/qwinthumbnailtoolbutton_p.h77
-rw-r--r--src/winextras/windowsguidsdefs.cpp72
-rw-r--r--src/winextras/windowsguidsdefs_p.h80
-rw-r--r--src/winextras/winextras.pro57
-rw-r--r--src/winextras/winpropkey_p.h65
-rw-r--r--src/winextras/winshobjidl_p.h248
90 files changed, 0 insertions, 11747 deletions
diff --git a/src/.prev_CMakeLists.txt b/src/.prev_CMakeLists.txt
deleted file mode 100644
index 92346ae..0000000
--- a/src/.prev_CMakeLists.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-# Generated from src.pro.
-
-#####################################################################
-## src Binary:
-#####################################################################
-
-add_qt_executable(src
- GUI
- PUBLIC_LIBRARIES
- Qt::Gui
-)
-
-## Scopes:
-#####################################################################
-
-#### Keys ignored in scope 2:.:.:src.pro:WIN32:
-# SUBDIRS = "winextras"
-# TEMPLATE = "subdirs"
-
-#### Keys ignored in scope 3:.:.:src.pro:TARGET Qt::Quick:
-# SUBDIRS = "imports"
-
-#### Keys ignored in scope 4:.:.:src.pro:else:
-# TEMPLATE = "aux"
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
deleted file mode 100644
index 8107ccb..0000000
--- a/src/CMakeLists.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-# special case begin
-# Generated from src.pro.
-
-if(NOT WIN32)
- return()
-endif()
-
-add_subdirectory(winextras)
-if(TARGET Qt::Quick)
- add_subdirectory(imports)
-endif()
-# special case end
diff --git a/src/imports/CMakeLists.txt b/src/imports/CMakeLists.txt
deleted file mode 100644
index fdad931..0000000
--- a/src/imports/CMakeLists.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-# Generated from imports.pro.
-
-add_subdirectory(winextras)
diff --git a/src/imports/imports.pro b/src/imports/imports.pro
deleted file mode 100644
index b8e59ad..0000000
--- a/src/imports/imports.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-TEMPLATE = subdirs
-SUBDIRS += winextras
diff --git a/src/imports/winextras/CMakeLists.txt b/src/imports/winextras/CMakeLists.txt
deleted file mode 100644
index f31a6f6..0000000
--- a/src/imports/winextras/CMakeLists.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-# Generated from winextras.pro.
-
-#####################################################################
-## qml_winextras Plugin:
-#####################################################################
-
-qt_add_qml_module(qml_winextras
- URI "QtWinExtras"
- VERSION "1.${CMAKE_PROJECT_VERSION_MINOR}"
- CLASSNAME QWinExtrasQmlPlugin
- SOURCES
- plugin.cpp
- qquickdwmfeatures.cpp qquickdwmfeatures_p.h
- qquickdwmfeatures_p_p.h
- qquickiconloader.cpp qquickiconloader_p.h
- qquickjumplist.cpp qquickjumplist_p.h
- qquickjumplistcategory.cpp qquickjumplistcategory_p.h
- qquickjumplistitem.cpp qquickjumplistitem_p.h
- qquicktaskbarbutton.cpp qquicktaskbarbutton_p.h
- qquickthumbnailtoolbar.cpp qquickthumbnailtoolbar_p.h
- qquickthumbnailtoolbutton.cpp qquickthumbnailtoolbutton_p.h
- qquickwin_p.h
- PUBLIC_LIBRARIES
- Qt::Core
- Qt::Gui
- Qt::Qml
- Qt::Quick
- Qt::WinExtras
- Qt::WinExtrasPrivate
-)
-
-#### Keys ignored in scope 1:.:.:winextras.pro:<TRUE>:
-# CXX_MODULE = "qml"
-# IMPORT_VERSION = "1.$$QT_MINOR_VERSION"
-# OTHER_FILES = "qmldir" "JumpListLink.qml" "JumpListDestination.qml" "JumpListSeparator.qml"
-# QML_FILES = "JumpListLink.qml" "JumpListDestination.qml" "JumpListSeparator.qml"
-# TARGETPATH = "QtWinExtras"
-
-## Scopes:
-#####################################################################
-
-qt_extend_target(qml_winextras CONDITION QT_FEATURE_dynamicgl OR NOT TARGET Qt::OpenGL
- LIBRARIES
- user32
-)
-
-set(qml_files
- "JumpListLink.qml"
- "JumpListDestination.qml"
- "JumpListSeparator.qml"
-)
-set_source_files_properties(JumpListLink.qml PROPERTIES
- QT_QML_SOURCE_VERSION "1.0"
-)
-set_source_files_properties(JumpListDestination.qml PROPERTIES
- QT_QML_SOURCE_VERSION "1.0"
-)
-set_source_files_properties(JumpListSeparator.qml PROPERTIES
- QT_QML_SOURCE_VERSION "1.0"
-)
-
-qt6_target_qml_files(qml_winextras
- FILES
- ${qml_files}
-)
diff --git a/src/imports/winextras/JumpListDestination.qml b/src/imports/winextras/JumpListDestination.qml
deleted file mode 100644
index 2a26719..0000000
--- a/src/imports/winextras/JumpListDestination.qml
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-import QtWinExtras 1.0
-
-/*!
- \qmltype JumpListDestination
- \inherits JumpListItem
- \inqmlmodule QtWinExtras
-
- \brief Represents a file that can be edited or viewed by an application.
-
- \since QtWinExtras 1.0
-
- The JumpListDestination type contains a path to a file that users can select
- from a Jump List to view or edit it with an application.
-
- */
-
-JumpListItem {
- __jumpListItemType: JumpListItem.ItemTypeDestination
-
- /*!
- \qmlproperty string JumpListDestination::filePath
-
- The path to the file.
- */
- property string filePath
-}
diff --git a/src/imports/winextras/JumpListLink.qml b/src/imports/winextras/JumpListLink.qml
deleted file mode 100644
index fd27ad0..0000000
--- a/src/imports/winextras/JumpListLink.qml
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-import QtWinExtras 1.0
-
-/*!
- \qmltype JumpListLink
- \inherits JumpListItem
- \inqmlmodule QtWinExtras
-
- \brief Represents a command to execute an application.
-
- \since QtWinExtras 1.0
-
- The JumpListLink type represents a command to execute an application.
-
- */
-
-JumpListItem {
- __jumpListItemType: JumpListItem.ItemTypeLink
-
- /*!
- \qmlproperty string JumpListLink::iconPath
-
- The path to a link icon.
- */
- property string iconPath
-
- /*!
- \qmlproperty string JumpListLink::executablePath
-
- The path to an executable file.
- */
- property string executablePath
-
- /*!
- \qmlproperty string JumpListLink::arguments
-
- Command-line arguments.
- */
- property string arguments
-
- /*!
- \qmlproperty string JumpListLink::description
-
- The description of the link.
- */
- property string description
-
- /*!
- \qmlproperty string JumpListLink::title
-
- The title of the link.
- */
- property string title
-}
diff --git a/src/imports/winextras/JumpListSeparator.qml b/src/imports/winextras/JumpListSeparator.qml
deleted file mode 100644
index 3484afc..0000000
--- a/src/imports/winextras/JumpListSeparator.qml
+++ /dev/null
@@ -1,57 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-import QtWinExtras 1.0
-
-/*!
- \qmltype JumpListSeparator
- \inherits JumpListItem
- \inqmlmodule QtWinExtras
-
- \brief Represents a task list separator.
-
- \since QtWinExtras 1.0
-
- The JumpListSeparator type represents a separator in a Jump List. This value
- is used only for task lists.
- */
-
-JumpListItem {
- __jumpListItemType: JumpListItem.ItemTypeSeparator
-}
diff --git a/src/imports/winextras/plugin.cpp b/src/imports/winextras/plugin.cpp
deleted file mode 100644
index eadf357..0000000
--- a/src/imports/winextras/plugin.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "qquickdwmfeatures_p.h"
-#include "qquicktaskbarbutton_p.h"
-#include "qquickjumplist_p.h"
-#include "qquickjumplistitem_p.h"
-#include "qquickjumplistcategory_p.h"
-#include "qquickthumbnailtoolbar_p.h"
-#include "qquickthumbnailtoolbutton_p.h"
-#include "qquickwin_p.h"
-
-#include <QtQml/qqmlextensionplugin.h>
-
-QT_BEGIN_NAMESPACE
-
-class QWinExtrasQmlPlugin : public QQmlExtensionPlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
-
-public:
- QWinExtrasQmlPlugin(QObject *parent = nullptr) : QQmlExtensionPlugin(parent) { }
- void registerTypes(const char *uri) Q_DECL_OVERRIDE
- {
- Q_ASSERT(uri == QLatin1String("QtWinExtras"));
- // The minor version used to be the current Qt 5 minor. For compatibility it is the last
- // Qt 5 release.
- qmlRegisterModule(uri, 1, 15);
- qmlRegisterUncreatableType<QQuickWin>(uri, 1, 0, "QtWin", "Cannot create an instance of the QtWin namespace.");
- qmlRegisterType<QQuickDwmFeatures>(uri, 1, 0, "DwmFeatures");
- qmlRegisterType<QQuickTaskbarButton>(uri, 1, 0, "TaskbarButton");
- qmlRegisterUncreatableType<QWinTaskbarProgress>(uri, 1, 0, "TaskbarProgress", "Cannot create TaskbarProgress - use TaskbarButton.progress instead.");
- qmlRegisterUncreatableType<QQuickTaskbarOverlay>(uri, 1, 0, "TaskbarOverlay", "Cannot create TaskbarOverlay - use TaskbarButton.overlay instead.");
- qmlRegisterType<QQuickJumpList>(uri, 1, 0, "JumpList");
- qmlRegisterType<QQuickJumpListItem>(uri, 1, 0, "JumpListItem");
- qmlRegisterType<QQuickJumpListCategory>(uri, 1, 0, "JumpListCategory");
- qmlRegisterType<QQuickThumbnailToolBar>(uri, 1, 0, "ThumbnailToolBar");
- qmlRegisterType<QQuickThumbnailToolButton>(uri, 1, 0, "ThumbnailToolButton");
- }
-};
-
-QT_END_NAMESPACE
-
-#include "plugin.moc"
diff --git a/src/imports/winextras/plugins.qmltypes b/src/imports/winextras/plugins.qmltypes
deleted file mode 100644
index a23a7b1..0000000
--- a/src/imports/winextras/plugins.qmltypes
+++ /dev/null
@@ -1,224 +0,0 @@
-import QtQuick.tooling 1.2
-
-// This file describes the plugin-supplied types contained in the library.
-// It is used for QML tooling purposes only.
-//
-// This file was auto-generated by:
-// 'qmlplugindump -nonrelocatable QtWinExtras 1.13'
-
-Module {
- dependencies: ["QtQuick 2.0"]
- Component {
- name: "QQuickDwmFeatures"
- defaultProperty: "data"
- prototype: "QQuickItem"
- exports: ["QtWinExtras/DwmFeatures 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "colorizationColor"; type: "QColor"; isReadonly: true }
- Property { name: "realColorizationColor"; type: "QColor"; isReadonly: true }
- Property { name: "colorizationOpaqueBlend"; type: "bool"; isReadonly: true }
- Property { name: "topGlassMargin"; type: "int" }
- Property { name: "rightGlassMargin"; type: "int" }
- Property { name: "bottomGlassMargin"; type: "int" }
- Property { name: "leftGlassMargin"; type: "int" }
- Property { name: "blurBehindEnabled"; type: "bool" }
- Property { name: "excludedFromPeek"; type: "bool" }
- Property { name: "peekDisallowed"; type: "bool" }
- Property { name: "flip3DPolicy"; type: "QQuickWin::WindowFlip3DPolicy" }
- Property { name: "nonClientAreaRenderingPolicy"; type: "QQuickWin::WindowNonClientRenderingPolicy" }
- }
- Component {
- name: "QQuickJumpList"
- defaultProperty: "data"
- prototype: "QObject"
- exports: ["QtWinExtras/JumpList 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "recent"; type: "QQuickJumpListCategory"; isReadonly: true; isPointer: true }
- Property { name: "frequent"; type: "QQuickJumpListCategory"; isReadonly: true; isPointer: true }
- Property { name: "tasks"; type: "QQuickJumpListCategory"; isPointer: true }
- Property { name: "categories"; type: "QQuickJumpListCategory"; isList: true; isReadonly: true }
- Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
- }
- Component {
- name: "QQuickJumpListCategory"
- defaultProperty: "data"
- prototype: "QObject"
- exports: ["QtWinExtras/JumpListCategory 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
- Property { name: "items"; type: "QQuickJumpListItem"; isList: true; isReadonly: true }
- Property { name: "title"; type: "string" }
- Property { name: "visible"; type: "bool" }
- Signal { name: "visibilityChanged" }
- }
- Component {
- name: "QQuickJumpListItem"
- prototype: "QObject"
- exports: ["QtWinExtras/JumpListItem 1.0"]
- exportMetaObjectRevisions: [0]
- Enum {
- name: "JumpListItemType"
- values: {
- "ItemTypeLink": 1,
- "ItemTypeDestination": 2,
- "ItemTypeSeparator": 3
- }
- }
- Property { name: "__jumpListItemType"; type: "int" }
- }
- Component {
- name: "QQuickTaskbarButton"
- defaultProperty: "data"
- prototype: "QQuickItem"
- exports: ["QtWinExtras/TaskbarButton 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "overlay"; type: "QQuickTaskbarOverlay"; isReadonly: true; isPointer: true }
- Property { name: "progress"; type: "QWinTaskbarProgress"; isReadonly: true; isPointer: true }
- }
- Component {
- name: "QQuickTaskbarOverlay"
- prototype: "QObject"
- exports: ["QtWinExtras/TaskbarOverlay 1.0"]
- isCreatable: false
- exportMetaObjectRevisions: [0]
- Property { name: "iconSource"; type: "QUrl" }
- Property { name: "accessibleDescription"; type: "string" }
- }
- Component {
- name: "QQuickThumbnailToolBar"
- defaultProperty: "data"
- prototype: "QQuickItem"
- exports: ["QtWinExtras/ThumbnailToolBar 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "count"; type: "int"; isReadonly: true }
- Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
- Property { name: "buttons"; type: "QQuickThumbnailToolButton"; isList: true; isReadonly: true }
- Property { name: "iconicNotificationsEnabled"; type: "bool" }
- Property { name: "iconicThumbnailSource"; type: "QUrl" }
- Property { name: "iconicLivePreviewSource"; type: "QUrl" }
- Signal { name: "iconicThumbnailRequested" }
- Signal { name: "iconicLivePreviewRequested" }
- Method { name: "clear" }
- Method {
- name: "addButton"
- Parameter { name: "button"; type: "QQuickThumbnailToolButton"; isPointer: true }
- }
- Method {
- name: "removeButton"
- Parameter { name: "button"; type: "QQuickThumbnailToolButton"; isPointer: true }
- }
- }
- Component {
- name: "QQuickThumbnailToolButton"
- prototype: "QObject"
- exports: ["QtWinExtras/ThumbnailToolButton 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "iconSource"; type: "QUrl" }
- Property { name: "tooltip"; type: "string" }
- Property { name: "enabled"; type: "bool" }
- Property { name: "interactive"; type: "bool" }
- Property { name: "visible"; type: "bool" }
- Property { name: "dismissOnClick"; type: "bool" }
- Property { name: "flat"; type: "bool" }
- Signal { name: "clicked" }
- }
- Component {
- name: "QQuickWin"
- prototype: "QObject"
- exports: ["QtWinExtras/QtWin 1.0"]
- isCreatable: false
- exportMetaObjectRevisions: [0]
- Enum {
- name: "HBitmapFormat"
- values: {
- "HBitmapNoAlpha": 0,
- "HBitmapPremultipliedAlpha": 1,
- "HBitmapAlpha": 2
- }
- }
- Enum {
- name: "WindowFlip3DPolicy"
- values: {
- "FlipDefault": 0,
- "FlipExcludeBelow": 1,
- "FlipExcludeAbove": 2
- }
- }
- Enum {
- name: "WindowNonClientRenderingPolicy"
- values: {
- "NonClientRenderingUseWindowStyle": 0,
- "NonClientRenderingDisabled": 1,
- "NonClientRenderingEnabled": 2
- }
- }
- }
- Component {
- name: "QWinTaskbarProgress"
- prototype: "QObject"
- exports: ["QtWinExtras/TaskbarProgress 1.0"]
- isCreatable: false
- exportMetaObjectRevisions: [0]
- Property { name: "value"; type: "int" }
- Property { name: "minimum"; type: "int" }
- Property { name: "maximum"; type: "int" }
- Property { name: "visible"; type: "bool" }
- Property { name: "paused"; type: "bool" }
- Property { name: "stopped"; type: "bool"; isReadonly: true }
- Signal {
- name: "valueChanged"
- Parameter { name: "value"; type: "int" }
- }
- Signal {
- name: "minimumChanged"
- Parameter { name: "minimum"; type: "int" }
- }
- Signal {
- name: "maximumChanged"
- Parameter { name: "maximum"; type: "int" }
- }
- Signal {
- name: "visibilityChanged"
- Parameter { name: "visible"; type: "bool" }
- }
- Signal {
- name: "pausedChanged"
- Parameter { name: "paused"; type: "bool" }
- }
- Signal {
- name: "stoppedChanged"
- Parameter { name: "stopped"; type: "bool" }
- }
- Method {
- name: "setValue"
- Parameter { name: "value"; type: "int" }
- }
- Method {
- name: "setMinimum"
- Parameter { name: "minimum"; type: "int" }
- }
- Method {
- name: "setMaximum"
- Parameter { name: "maximum"; type: "int" }
- }
- Method {
- name: "setRange"
- Parameter { name: "minimum"; type: "int" }
- Parameter { name: "maximum"; type: "int" }
- }
- Method { name: "reset" }
- Method { name: "show" }
- Method { name: "hide" }
- Method {
- name: "setVisible"
- Parameter { name: "visible"; type: "bool" }
- }
- Method { name: "pause" }
- Method { name: "resume" }
- Method {
- name: "setPaused"
- Parameter { name: "paused"; type: "bool" }
- }
- Method { name: "stop" }
- }
-}
diff --git a/src/imports/winextras/qmldir b/src/imports/winextras/qmldir
deleted file mode 100644
index f3c244c..0000000
--- a/src/imports/winextras/qmldir
+++ /dev/null
@@ -1,6 +0,0 @@
-module QtWinExtras
-plugin qml_winextras
-JumpListLink 1.0 JumpListLink.qml
-JumpListDestination 1.0 JumpListDestination.qml
-JumpListSeparator 1.0 JumpListSeparator.qml
-classname QWinExtrasQmlPlugin
diff --git a/src/imports/winextras/qquickdwmfeatures.cpp b/src/imports/winextras/qquickdwmfeatures.cpp
deleted file mode 100644
index 7baf536..0000000
--- a/src/imports/winextras/qquickdwmfeatures.cpp
+++ /dev/null
@@ -1,386 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "qquickdwmfeatures_p.h"
-#include "qquickdwmfeatures_p_p.h"
-
-#include <QtWinExtras/private/qwineventfilter_p.h>
-#include <QWinEvent>
-#include <QQuickWindow>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype DwmFeatures
- \instantiates QQuickDwmFeatures
- \inqmlmodule QtWinExtras
-
- \brief Enables you to manage the Windows DWM features.
-
- \since QtWinExtras 1.0
-
- The DwmFeatures type enables you to extend a glass frame into the client
- area, as well as to control the behavior of Aero Peek and Flip3D.
- */
-
-/*!
- \class QQuickDwmFeatures
- \internal
- */
-
-QQuickDwmFeatures::QQuickDwmFeatures(QQuickItem *parent) :
- QQuickItem(parent), d_ptr(new QQuickDwmFeaturesPrivate(this))
-{
- QWinEventFilter::setup();
-}
-
-QQuickDwmFeatures::~QQuickDwmFeatures() = default;
-
-QColor QQuickDwmFeatures::colorizationColor() const
-{
- return QtWin::colorizationColor();
-}
-
-QColor QQuickDwmFeatures::realColorizationColor() const
-{
- return QtWin::realColorizationColor();
-}
-
-bool QQuickDwmFeatures::colorizationOpaqueBlend() const
-{
- bool opaque;
- QtWin::colorizationColor(&opaque);
- return opaque;
-}
-
-/*!
- \qmlproperty int DwmFeatures::topGlassMargin
-
- The top glass frame margin. The default value is 0.
- */
-void QQuickDwmFeatures::setTopGlassMargin(int margin)
-{
- Q_D(QQuickDwmFeatures);
- if (d->topMargin == margin)
- return;
-
- d->topMargin = margin;
- if (window())
- QtWin::extendFrameIntoClientArea(window(), d->leftMargin, d->topMargin, d->rightMargin, d->bottomMargin);
- emit topGlassMarginChanged();
-}
-
-/*!
- \qmlproperty int DwmFeatures::rightGlassMargin
-
- The right glass frame margin. The default value is 0.
- */
-void QQuickDwmFeatures::setRightGlassMargin(int margin)
-{
- Q_D(QQuickDwmFeatures);
- if (d->rightMargin == margin)
- return;
-
- d->rightMargin = margin;
- if (window())
- QtWin::extendFrameIntoClientArea(window(), d->leftMargin, d->topMargin, d->rightMargin, d->bottomMargin);
- emit rightGlassMarginChanged();
-}
-
-/*!
- \qmlproperty int DwmFeatures::bottomGlassMargin
-
- The bottom glass frame margin. The default value is 0.
- */
-void QQuickDwmFeatures::setBottomGlassMargin(int margin)
-{
- Q_D(QQuickDwmFeatures);
- if (d->bottomMargin == margin)
- return;
-
- d->bottomMargin = margin;
- if (window())
- QtWin::extendFrameIntoClientArea(window(), d->leftMargin, d->topMargin, d->rightMargin, d->bottomMargin);
- emit bottomGlassMarginChanged();
-}
-
-/*!
- \qmlproperty int DwmFeatures::leftGlassMargin
-
- The left glass frame margin. The default value is 0.
- */
-void QQuickDwmFeatures::setLeftGlassMargin(int margin)
-{
- Q_D(QQuickDwmFeatures);
- if (d->leftMargin == margin)
- return;
-
- d->leftMargin = margin;
- if (window())
- QtWin::extendFrameIntoClientArea(window(), d->leftMargin, d->topMargin, d->rightMargin, d->bottomMargin);
- emit leftGlassMarginChanged();
-}
-
-int QQuickDwmFeatures::topGlassMargin() const
-{
- Q_D(const QQuickDwmFeatures);
- return d->topMargin;
-}
-
-int QQuickDwmFeatures::rightGlassMargin() const
-{
- Q_D(const QQuickDwmFeatures);
- return d->rightMargin;
-}
-
-int QQuickDwmFeatures::bottomGlassMargin() const
-{
- Q_D(const QQuickDwmFeatures);
- return d->bottomMargin;
-}
-
-int QQuickDwmFeatures::leftGlassMargin() const
-{
- Q_D(const QQuickDwmFeatures);
- return d->leftMargin;
-}
-
-/*!
- \qmlproperty bool DwmFeatures::blurBehindEnabled
-
- Specifies whether the blur behind the window client area is enabled.
- */
-bool QQuickDwmFeatures::isBlurBehindEnabled() const
-{
- Q_D(const QQuickDwmFeatures);
- return d->blurBehindEnabled;
-}
-
-void QQuickDwmFeatures::setBlurBehindEnabled(bool enabled)
-{
- Q_D(QQuickDwmFeatures);
- if (d->blurBehindEnabled == enabled)
- return;
-
- d->blurBehindEnabled = enabled;
- if (window()) {
- if (d->blurBehindEnabled)
- QtWin::enableBlurBehindWindow(window());
- else
- QtWin::disableBlurBehindWindow(window());
- }
- emit blurBehindEnabledChanged();
-}
-
-/*!
- \qmlproperty bool DwmFeatures::excludedFromPeek
-
- Specifies whether the window is excluded from Aero Peek.
- The default value is false.
- */
-bool QQuickDwmFeatures::isExcludedFromPeek() const
-{
- Q_D(const QQuickDwmFeatures);
- return window() ? QtWin::isWindowExcludedFromPeek(window()) : d->peekExcluded;
-}
-
-void QQuickDwmFeatures::setExcludedFromPeek(bool exclude)
-{
- Q_D(QQuickDwmFeatures);
- if (d->peekExcluded == exclude)
- return;
-
- d->peekExcluded = exclude;
- if (window())
- QtWin::setWindowExcludedFromPeek(window(), d->peekExcluded);
- emit excludedFromPeekChanged();
-}
-
-/*!
- \qmlproperty bool DwmFeatures::peekDisallowed
-
- Set this value to true if you want to forbid Aero Peek when the user hovers
- the mouse over the window thumbnail. The default value is false.
-*/
-bool QQuickDwmFeatures::isPeekDisallowed() const
-{
- Q_D(const QQuickDwmFeatures);
- return window() ? QtWin::isWindowPeekDisallowed(window()) : d->peekDisallowed;
-}
-
-void QQuickDwmFeatures::setPeekDisallowed(bool disallow)
-{
- Q_D(QQuickDwmFeatures);
- if (d->peekDisallowed == disallow)
- return;
-
- d->peekDisallowed = disallow;
- if (window())
- QtWin::setWindowDisallowPeek(window(), d->peekDisallowed);
- emit peekDisallowedChanged();
-}
-
-/*!
- \qmlproperty QtWin::WindowFlip3DPolicy DwmFeatures::flip3DPolicy
-
- The current Flip3D policy for the window.
- */
-QQuickWin::WindowFlip3DPolicy QQuickDwmFeatures::flip3DPolicy() const
-{
- Q_D(const QQuickDwmFeatures);
- if (window())
- return static_cast<QQuickWin::WindowFlip3DPolicy>(QtWin::windowFlip3DPolicy(window()));
- else
- return d->flipPolicy;
-}
-
-void QQuickDwmFeatures::setFlip3DPolicy(QQuickWin::WindowFlip3DPolicy policy)
-{
- Q_D(QQuickDwmFeatures);
- if (d->flipPolicy == policy)
- return;
-
- d->flipPolicy = policy;
- if (window())
- QtWin::setWindowFlip3DPolicy(window(), static_cast<QtWin::WindowFlip3DPolicy>(d->flipPolicy));
- emit flip3DPolicyChanged();
-}
-
-/*!
- \qmlproperty QtWin::WindowNonClientRenderingPolicy DwmFeatures::nonClientAreaRenderingPolicy
-
- The current non-client area rendering policy for the window.
- */
-QQuickWin::WindowNonClientRenderingPolicy QQuickDwmFeatures::nonClientAreaRenderingPolicy() const
-{
- Q_D(const QQuickDwmFeatures);
- if (window())
- return static_cast<QQuickWin::WindowNonClientRenderingPolicy>(QtWin::windowNonClientAreaRenderingPolicy(window()));
- else
- return d->nonClientRenderingPolicy;
-}
-
-void QQuickDwmFeatures::setNonClientAreaRenderingPolicy(QQuickWin::WindowNonClientRenderingPolicy policy)
-{
- Q_D(QQuickDwmFeatures);
- if (d->nonClientRenderingPolicy == policy)
- return;
-
- d->nonClientRenderingPolicy = policy;
- if (window())
- QtWin::setWindowNonClientAreaRenderingPolicy(window(), static_cast<QtWin::WindowNonClientRenderingPolicy>(d->nonClientRenderingPolicy));
- emit nonClientAreaRenderingPolicyChanged();
-}
-
-bool QQuickDwmFeatures::eventFilter(QObject *object, QEvent *event)
-{
- Q_D(QQuickDwmFeatures);
- if (object == window()) {
- if (event->type() == QWinEvent::CompositionChange) {
- d->updateSurfaceFormat();
- d->updateAll();
- } else if (event->type() == QWinEvent::ColorizationChange) {
- emit colorizationColorChanged();
- emit realColorizationColorChanged();
- emit colorizationOpaqueBlendChanged();
- }
- }
- return QQuickItem::eventFilter(object, event);
-}
-
-QQuickDwmFeatures *QQuickDwmFeatures::qmlAttachedProperties(QObject *parentObject)
-{
- auto *featuresObj = new QQuickDwmFeatures();
- auto *parentItem = qobject_cast<QQuickItem *>(parentObject);
- if (parentItem)
- featuresObj->setParentItem(parentItem);
- else
- featuresObj->setParent(parentObject);
- return featuresObj;
-}
-
-void QQuickDwmFeatures::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
-{
- Q_D(QQuickDwmFeatures);
- if (change == ItemSceneChange && data.window) {
- d->updateAll();
- data.window->installEventFilter(this);
- d->originalSurfaceColor = data.window->color();
- }
- QQuickItem::itemChange(change, data);
-}
-
-
-
-QQuickDwmFeaturesPrivate::QQuickDwmFeaturesPrivate(QQuickDwmFeatures *parent) :
- q_ptr(parent)
-{
-}
-
-void QQuickDwmFeaturesPrivate::updateAll()
-{
- Q_Q(QQuickDwmFeatures);
- QWindow *w = q->window();
- if (w) {
- updateSurfaceFormat();
- QtWin::setWindowExcludedFromPeek(w, peekExcluded);
- QtWin::setWindowDisallowPeek(w, peekDisallowed);
- QtWin::setWindowFlip3DPolicy(w, static_cast<QtWin::WindowFlip3DPolicy>(flipPolicy));
- QtWin::setWindowNonClientAreaRenderingPolicy(w, static_cast<QtWin::WindowNonClientRenderingPolicy>(nonClientRenderingPolicy));
- if (blurBehindEnabled)
- QtWin::enableBlurBehindWindow(w);
- else
- QtWin::disableBlurBehindWindow(w);
- QtWin::extendFrameIntoClientArea(w, leftMargin, topMargin, rightMargin, bottomMargin);
- }
-}
-
-void QQuickDwmFeaturesPrivate::updateSurfaceFormat()
-{
- Q_Q(QQuickDwmFeatures);
- if (q->window()) {
- QSurfaceFormat format = q->window()->format();
- format.setAlphaBufferSize(8);
- q->window()->setFormat(format);
- q->window()->setColor(Qt::transparent);
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/winextras/qquickdwmfeatures_p.h b/src/imports/winextras/qquickdwmfeatures_p.h
deleted file mode 100644
index c420659..0000000
--- a/src/imports/winextras/qquickdwmfeatures_p.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QQUICKDWMFEATURES_P_H
-#define QQUICKDWMFEATURES_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QQuickItem>
-#include <QtWin>
-#include <QColor>
-
-#include "qquickwin_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickDwmFeaturesPrivate;
-
-class QQuickDwmFeatures : public QQuickItem
-{
- Q_OBJECT
- Q_PROPERTY(QColor colorizationColor READ colorizationColor NOTIFY colorizationColorChanged)
- Q_PROPERTY(QColor realColorizationColor READ realColorizationColor NOTIFY realColorizationColorChanged)
- Q_PROPERTY(bool colorizationOpaqueBlend READ colorizationOpaqueBlend NOTIFY colorizationOpaqueBlendChanged)
- Q_PROPERTY(int topGlassMargin READ topGlassMargin WRITE setTopGlassMargin NOTIFY topGlassMarginChanged)
- Q_PROPERTY(int rightGlassMargin READ rightGlassMargin WRITE setRightGlassMargin NOTIFY rightGlassMarginChanged)
- Q_PROPERTY(int bottomGlassMargin READ bottomGlassMargin WRITE setBottomGlassMargin NOTIFY bottomGlassMarginChanged)
- Q_PROPERTY(int leftGlassMargin READ leftGlassMargin WRITE setLeftGlassMargin NOTIFY leftGlassMarginChanged)
- Q_PROPERTY(bool blurBehindEnabled READ isBlurBehindEnabled WRITE setBlurBehindEnabled NOTIFY blurBehindEnabledChanged)
- Q_PROPERTY(bool excludedFromPeek READ isExcludedFromPeek WRITE setExcludedFromPeek NOTIFY excludedFromPeekChanged)
- Q_PROPERTY(bool peekDisallowed READ isPeekDisallowed WRITE setPeekDisallowed NOTIFY peekDisallowedChanged)
- Q_PROPERTY(QQuickWin::WindowFlip3DPolicy flip3DPolicy READ flip3DPolicy WRITE setFlip3DPolicy NOTIFY flip3DPolicyChanged)
- Q_PROPERTY(QQuickWin::WindowNonClientRenderingPolicy nonClientAreaRenderingPolicy READ nonClientAreaRenderingPolicy WRITE setNonClientAreaRenderingPolicy NOTIFY nonClientAreaRenderingPolicyChanged)
-
-public:
- explicit QQuickDwmFeatures(QQuickItem *parent = nullptr);
- ~QQuickDwmFeatures();
-
- QColor colorizationColor() const;
- QColor realColorizationColor() const;
- bool colorizationOpaqueBlend() const;
-
- void setTopGlassMargin(int margin);
- void setRightGlassMargin(int margin);
- void setBottomGlassMargin(int margin);
- void setLeftGlassMargin(int margin);
- int topGlassMargin() const;
- int rightGlassMargin() const;
- int bottomGlassMargin() const;
- int leftGlassMargin() const;
- bool isBlurBehindEnabled() const;
- void setBlurBehindEnabled(bool enabled);
-
- bool isExcludedFromPeek() const;
- void setExcludedFromPeek(bool exclude);
- bool isPeekDisallowed() const;
- void setPeekDisallowed(bool disallow);
- QQuickWin::WindowFlip3DPolicy flip3DPolicy() const;
- void setFlip3DPolicy(QQuickWin::WindowFlip3DPolicy policy);
- QQuickWin::WindowNonClientRenderingPolicy nonClientAreaRenderingPolicy() const;
- void setNonClientAreaRenderingPolicy(QQuickWin::WindowNonClientRenderingPolicy policy);
-
- bool eventFilter(QObject *, QEvent *) Q_DECL_OVERRIDE;
-
- static QQuickDwmFeatures *qmlAttachedProperties(QObject *object);
-
-Q_SIGNALS:
- void colorizationColorChanged();
- void realColorizationColorChanged();
- void colorizationOpaqueBlendChanged();
- void topGlassMarginChanged();
- void rightGlassMarginChanged();
- void bottomGlassMarginChanged();
- void leftGlassMarginChanged();
- void blurBehindEnabledChanged();
- void excludedFromPeekChanged();
- void peekDisallowedChanged();
- void flip3DPolicyChanged();
- void nonClientAreaRenderingPolicyChanged();
-
-protected:
- void itemChange(ItemChange, const ItemChangeData &) Q_DECL_OVERRIDE;
-
-private:
- QScopedPointer<QQuickDwmFeaturesPrivate> d_ptr;
-
- Q_DECLARE_PRIVATE(QQuickDwmFeatures)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPEINFO(QQuickDwmFeatures, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKDWMFEATURES_P_H
diff --git a/src/imports/winextras/qquickdwmfeatures_p_p.h b/src/imports/winextras/qquickdwmfeatures_p_p.h
deleted file mode 100644
index acf9dd6..0000000
--- a/src/imports/winextras/qquickdwmfeatures_p_p.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QQUICKDWMFEATURES_P_P_H
-#define QQUICKDWMFEATURES_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qquickdwmfeatures_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickDwmFeaturesPrivate
-{
-public:
- QQuickDwmFeaturesPrivate(QQuickDwmFeatures *parent);
-
- int topMargin = 0;
- int rightMargin = 0;
- int bottomMargin = 0;
- int leftMargin = 0;
- bool blurBehindEnabled = false;
-
- bool peekDisallowed = false;
- bool peekExcluded = false;
- QQuickWin::WindowFlip3DPolicy flipPolicy = QQuickWin::FlipDefault;
- QQuickWin::WindowNonClientRenderingPolicy nonClientRenderingPolicy = QQuickWin::NonClientRenderingUseWindowStyle;
- QColor originalSurfaceColor;
-
- void updateAll();
- void updateSurfaceFormat();
-
-private:
- QQuickDwmFeatures *q_ptr;
-
- Q_DECLARE_PUBLIC(QQuickDwmFeatures)
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKDWMFEATURES_P_P_H
diff --git a/src/imports/winextras/qquickiconloader.cpp b/src/imports/winextras/qquickiconloader.cpp
deleted file mode 100644
index 69b235b..0000000
--- a/src/imports/winextras/qquickiconloader.cpp
+++ /dev/null
@@ -1,156 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "qquickiconloader_p.h"
-
-#include <QtQuick/QQuickImageProvider>
-#include <QtQml/QQmlEngine>
-#include <QtQml/QQmlFile>
-#if QT_CONFIG(qml_network)
-# include <QtNetwork/QNetworkAccessManager>
-# include <QtNetwork/QNetworkRequest>
-# include <QtNetwork/QNetworkReply>
-#endif
-#include <QtCore/QFileInfo>
-#include <QtCore/qt_windows.h>
-
-QT_BEGIN_NAMESPACE
-
-QVariant QQuickIconLoader::loadFromFile(const QUrl &url, int metaTypeId)
-{
- const QString path = QQmlFile::urlToLocalFileOrQrc(url);
- if (QFileInfo::exists(path)) {
- switch (metaTypeId) {
- case QMetaType::QIcon:
- return QVariant(QIcon(path));
- case QMetaType::QPixmap:
- return QVariant(QPixmap(path));
- default:
- qWarning("%s: Unsupported type: %d", Q_FUNC_INFO, metaTypeId);
- break;
- }
- }
- return QVariant();
-}
-
-#if QT_CONFIG(qml_network)
-QNetworkReply *QQuickIconLoader::loadFromNetwork(const QUrl &url, const QQmlEngine *engine)
-{
- return engine->networkAccessManager()->get(QNetworkRequest(url));
-}
-#endif // qml_network
-
-QVariant QQuickIconLoader::loadFromImageProvider(const QUrl &url, const QQmlEngine *engine,
- int metaTypeId, QSize requestedSize)
-{
- const QString providerId = url.host();
- const QString imageId = url.toString(QUrl::RemoveScheme | QUrl::RemoveAuthority).mid(1);
- QQuickImageProvider::ImageType imageType = QQuickImageProvider::Invalid;
- auto *provider = static_cast<QQuickImageProvider *>(engine->imageProvider(providerId));
- QSize size;
- if (!requestedSize.isValid())
- requestedSize = QSize(GetSystemMetrics(SM_CXICON), GetSystemMetrics(SM_CYICON));
- if (provider)
- imageType = provider->imageType();
- QPixmap pixmap;
- switch (imageType) {
- case QQuickImageProvider::Image: {
- QImage image = provider->requestImage(imageId, &size, requestedSize);
- if (!image.isNull())
- pixmap = QPixmap::fromImage(image);
- }
- break;
- case QQuickImageProvider::Pixmap:
- pixmap = provider->requestPixmap(imageId, &size, requestedSize);
- break;
- default:
- break;
- }
- if (!pixmap.isNull()) {
- switch (metaTypeId) {
- case QMetaType::QIcon:
- return QVariant(QIcon(pixmap));
- case QMetaType::QPixmap:
- return QVariant(pixmap);
- default:
- qWarning("%s: Unsupported type: %d", Q_FUNC_INFO, metaTypeId);
- break;
- }
- }
- return QVariant();
-}
-
-#if QT_CONFIG(qml_network)
-QQuickIconLoaderNetworkReplyHandler::QQuickIconLoaderNetworkReplyHandler(QNetworkReply *reply,
- int metaTypeId)
- : QObject(reply)
- , m_metaTypeId(metaTypeId)
-{
- connect(reply, &QNetworkReply::finished, this, &QQuickIconLoaderNetworkReplyHandler::onRequestFinished);
-}
-
-void QQuickIconLoaderNetworkReplyHandler::onRequestFinished()
-{
- auto *reply = qobject_cast<QNetworkReply *>(sender());
- Q_ASSERT(reply);
- if (reply->error() != QNetworkReply::NoError) {
- qWarning() << Q_FUNC_INFO << reply->url() << "failed:" << reply->errorString();
- return;
- }
- const QByteArray data = reply->readAll();
- QPixmap pixmap;
- if (pixmap.loadFromData(data)) {
- switch (m_metaTypeId) {
- case QMetaType::QIcon:
- emit finished(QVariant(QIcon(pixmap)));
- break;
- case QMetaType::QPixmap:
- emit finished(QVariant(pixmap));
- break;
- default:
- qWarning("%s: Unsupported type: %d", Q_FUNC_INFO, m_metaTypeId);
- break;
- }
- }
- reply->deleteLater();
-}
-#endif // qml_network
-
-QT_END_NAMESPACE
diff --git a/src/imports/winextras/qquickiconloader_p.h b/src/imports/winextras/qquickiconloader_p.h
deleted file mode 100644
index 8f4166f..0000000
--- a/src/imports/winextras/qquickiconloader_p.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QQUICKICONLOADER_P_H
-#define QQUICKICONLOADER_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQml/qtqml-config.h>
-#include <QtGui/QIcon>
-#include <QtGui/QPixmap>
-#include <QtCore/QDebug>
-#include <QtCore/QObject>
-#include <QtCore/QVariant>
-#include <QtCore/QUrl>
-
-QT_BEGIN_NAMESPACE
-
-class QIcon;
-class QQmlEngine;
-class QNetworkReply;
-
-class QQuickIconLoader
-{
-public:
- enum LoadResult {
- LoadOk,
- LoadError,
- LoadNetworkRequestStarted,
- };
-
- // Load a QIcon (pass type = QMetaType::QIcon) or a QPixmap (pass type =
- // QMetaType::QPixmap) from url. The function takes an object and member
- // function pointer to a slot accepting a QVariant. For resources that can
- // loaded synchronously ("file", "qrc" or "image"), the member function pointer
- // will be invoked immediately with the result. For network resources, it will be
- // connected to an object handling the network reply and invoked once it finishes.
- template <typename Object>
- static LoadResult load(const QUrl &url, const QQmlEngine *engine,
- int metaTypeId, const QSize &requestedSize,
- Object *receiver, void (Object::*function)(const QVariant &));
-
-private:
- QQuickIconLoader() = default;
- static QVariant loadFromFile(const QUrl &url, int metaTypeId);
- static QVariant loadFromImageProvider(const QUrl &url, const QQmlEngine *engine,
- int metaTypeId, QSize requestedSize);
-#if QT_CONFIG(qml_network)
- static QNetworkReply *loadFromNetwork(const QUrl &url, const QQmlEngine *engine);
-#endif
-};
-
-#if QT_CONFIG(qml_network)
-// Internal handler which loads the resource once QNetworkReply finishes
-class QQuickIconLoaderNetworkReplyHandler : public QObject
-{
- Q_OBJECT
-
-public:
- explicit QQuickIconLoaderNetworkReplyHandler(QNetworkReply *reply, int);
-
-Q_SIGNALS:
- void finished(const QVariant &);
-
-private Q_SLOTS:
- void onRequestFinished();
-
-private:
- const int m_metaTypeId;
-};
-#endif // qml_network
-
-template <typename Object>
-QQuickIconLoader::LoadResult
- QQuickIconLoader::load(const QUrl &url, const QQmlEngine *engine,
- int metaTypeId, const QSize &requestedSize,
- Object *receiver, void (Object::*function)(const QVariant &))
-{
- const QString scheme = url.scheme();
- if (scheme.startsWith(u"http")) {
-#if QT_CONFIG(qml_network)
- if (QNetworkReply *reply = QQuickIconLoader::loadFromNetwork(url, engine)) {
- auto *handler = new QQuickIconLoaderNetworkReplyHandler(reply, metaTypeId);
- QObject::connect(handler, &QQuickIconLoaderNetworkReplyHandler::finished, receiver, function);
- return LoadNetworkRequestStarted;
- }
-#endif // qml_network
- return LoadError;
- }
- const QVariant resource = scheme == u"image"
- ? QQuickIconLoader::loadFromImageProvider(url, engine, metaTypeId, requestedSize)
- : QQuickIconLoader::loadFromFile(url, metaTypeId); // qrc, file
- if (resource.isValid()) {
- (receiver->*function)(resource);
- return LoadOk;
- }
- return LoadError;
-}
-
-QT_END_NAMESPACE
-
-#endif // QQUICKICONLOADER_P_H
diff --git a/src/imports/winextras/qquickjumplist.cpp b/src/imports/winextras/qquickjumplist.cpp
deleted file mode 100644
index fa0c98d..0000000
--- a/src/imports/winextras/qquickjumplist.cpp
+++ /dev/null
@@ -1,202 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "qquickjumplist_p.h"
-#include "qquickjumplistcategory_p.h"
-#include <QWinJumpList>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype JumpList
- \instantiates QQuickJumpList
- \inqmlmodule QtWinExtras
-
- \brief Enables you to modify the application Jump List.
-
- \since QtWinExtras 1.0
-
- The JumpList type enables you to modify Windows Jump Lists.
-
- An application can use Jump Lists to provide users with faster access to
- files or to display shortcuts to tasks or commands.
- */
-
-/*!
- \class QQuickJumpList
- \internal
- */
-
-QQuickJumpList::QQuickJumpList(QObject *parent) :
- QObject(parent)
-{
-}
-
-QQuickJumpList::~QQuickJumpList() = default;
-
-/*!
- \qmlproperty JumpListCategory JumpList::recent
- \readonly
-
- The recent items category.
- */
-QQuickJumpListCategory *QQuickJumpList::recent() const
-{
- if (!m_recent) {
- auto *that = const_cast<QQuickJumpList *>(this);
- that->m_recent = new QQuickJumpListCategory(that);
- connect(m_recent, &QQuickJumpListCategory::visibilityChanged, that, &QQuickJumpList::rebuild);
- m_recent->setVisible(false);
- }
- return m_recent;
-}
-
-/*!
- \qmlproperty JumpListCategory JumpList::frequent
- \readonly
-
- The frequent items category.
- */
-QQuickJumpListCategory *QQuickJumpList::frequent() const
-{
- if (!m_frequent) {
- auto *that = const_cast<QQuickJumpList *>(this);
- that->m_frequent = new QQuickJumpListCategory(that);
- connect(m_frequent, &QQuickJumpListCategory::visibilityChanged, that, &QQuickJumpList::rebuild);
- m_frequent->setVisible(false);
- }
- return m_frequent;
-}
-
-/*!
- \qmlproperty JumpListCategory JumpList::tasks
-
- The tasks category.
- */
-QQuickJumpListCategory *QQuickJumpList::tasks() const
-{
- if (!m_tasks) {
- auto *that = const_cast<QQuickJumpList *>(this);
- that->m_tasks = new QQuickJumpListCategory(that);
- connect(m_tasks, &QQuickJumpListCategory::visibilityChanged, that, &QQuickJumpList::rebuild);
- }
- return m_tasks;
-}
-
-void QQuickJumpList::setTasks(QQuickJumpListCategory *tasks)
-{
- if (m_tasks != tasks) {
- if (m_tasks)
- disconnect(m_tasks, &QQuickJumpListCategory::visibilityChanged, this, &QQuickJumpList::rebuild);
- delete m_tasks;
- m_tasks = tasks;
- if (m_tasks)
- connect(m_tasks, &QQuickJumpListCategory::visibilityChanged, this, &QQuickJumpList::rebuild);
- emit tasksChanged();
- }
-}
-
-/*!
- \qmlproperty list<QtObject> JumpList::data
- \internal
- */
-QQmlListProperty<QObject> QQuickJumpList::data()
-{
- return QQmlListProperty<QObject>(this, this, &QQuickJumpList::data_append, nullptr, nullptr, nullptr);
-}
-
-/*!
- \qmlproperty list<JumpListCategory> JumpList::categories
-
- A list of custom categories.
- */
-QQmlListProperty<QQuickJumpListCategory> QQuickJumpList::categories()
-{
- return QQmlListProperty<QQuickJumpListCategory>(this, this, &QQuickJumpList::categories_count, &QQuickJumpList::categories_at);
-}
-
-void QQuickJumpList::classBegin()
-{
-}
-
-void QQuickJumpList::componentComplete()
-{
- rebuild();
-}
-
-void QQuickJumpList::rebuild()
-{
- QWinJumpList jumpList;
- jumpList.recent()->setVisible(m_recent && m_recent->isVisible());
- jumpList.frequent()->setVisible(m_frequent && m_frequent->isVisible());
- if (m_tasks && m_tasks->isVisible()) {
- jumpList.tasks()->setVisible(true);
- const auto items = m_tasks->toItemList();
- for (QWinJumpListItem *item : items)
- jumpList.tasks()->addItem(item);
- }
- for (QQuickJumpListCategory *category : qAsConst(m_categories)) {
- if (category->isVisible())
- jumpList.addCategory(category->title(), category->toItemList())->setVisible(true);
- }
-}
-
-void QQuickJumpList::data_append(QQmlListProperty<QObject> *property, QObject *object)
-{
- if (auto *category = qobject_cast<QQuickJumpListCategory *>(object)) {
- auto *jumpList = static_cast<QQuickJumpList *>(property->object);
- connect(category, &QQuickJumpListCategory::visibilityChanged, jumpList, &QQuickJumpList::rebuild);
- jumpList->m_categories.append(category);
- emit jumpList->categoriesChanged();
- }
-}
-
-qsizetype QQuickJumpList::categories_count(QQmlListProperty<QQuickJumpListCategory> *property)
-{
- return static_cast<QQuickJumpList *>(property->object)->m_categories.count();
-}
-
-QQuickJumpListCategory *QQuickJumpList::categories_at(QQmlListProperty<QQuickJumpListCategory> *property,
- qsizetype index)
-{
- return static_cast<QQuickJumpList *>(property->object)->m_categories.value(index);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/winextras/qquickjumplist_p.h b/src/imports/winextras/qquickjumplist_p.h
deleted file mode 100644
index 1127980..0000000
--- a/src/imports/winextras/qquickjumplist_p.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QQUICKJUMPLIST_P_H
-#define QQUICKJUMPLIST_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qquickjumplistcategory_p.h"
-
-#include <QObject>
-#include <QQmlParserStatus>
-#include <QQmlListProperty>
-#include <QList>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickJumpListCategory;
-
-class QQuickJumpList : public QObject, public QQmlParserStatus
-{
- Q_OBJECT
- Q_PROPERTY(QQuickJumpListCategory *recent READ recent CONSTANT)
- Q_PROPERTY(QQuickJumpListCategory *frequent READ frequent CONSTANT)
- Q_PROPERTY(QQuickJumpListCategory *tasks READ tasks WRITE setTasks NOTIFY tasksChanged)
- Q_PROPERTY(QQmlListProperty<QQuickJumpListCategory> categories READ categories NOTIFY categoriesChanged)
- Q_PROPERTY(QQmlListProperty<QObject> data READ data)
- Q_CLASSINFO("DefaultProperty", "data")
- Q_INTERFACES(QQmlParserStatus)
-
-public:
- explicit QQuickJumpList(QObject *parent = nullptr);
- ~QQuickJumpList();
-
- QQuickJumpListCategory *recent() const;
- QQuickJumpListCategory *frequent() const;
-
- QQuickJumpListCategory *tasks() const;
- void setTasks(QQuickJumpListCategory *tasks);
-
- QQmlListProperty<QObject> data();
- QQmlListProperty<QQuickJumpListCategory> categories();
-
- void classBegin() override;
- void componentComplete() override;
-
-Q_SIGNALS:
- void tasksChanged();
- void categoriesChanged();
-
-private Q_SLOTS:
- void rebuild();
-
-private:
- static void data_append(QQmlListProperty<QObject> *property, QObject *object);
- static qsizetype categories_count(QQmlListProperty<QQuickJumpListCategory> *property);
- static QQuickJumpListCategory *categories_at(QQmlListProperty<QQuickJumpListCategory> *property,
- qsizetype index);
-
- QQuickJumpListCategory *m_recent = nullptr;
- QQuickJumpListCategory *m_frequent = nullptr;
- QQuickJumpListCategory *m_tasks = nullptr;
- QList<QQuickJumpListCategory *> m_categories;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKJUMPLIST_P_H
diff --git a/src/imports/winextras/qquickjumplistcategory.cpp b/src/imports/winextras/qquickjumplistcategory.cpp
deleted file mode 100644
index c848c9e..0000000
--- a/src/imports/winextras/qquickjumplistcategory.cpp
+++ /dev/null
@@ -1,153 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "qquickjumplistcategory_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype JumpListCategory
- \instantiates QQuickJumpListCategory
- \inqmlmodule QtWinExtras
-
- \brief Represents a jump list category.
-
- \since QtWinExtras 1.0
-
- The JumpListCategory type represents a category that consists of several
- Jump List destinations and has a title.
- */
-
-/*!
- \class QQuickJumpListCategory
- \internal
- */
-
-QQuickJumpListCategory::QQuickJumpListCategory(QObject *parent) :
- QObject(parent)
-{
-}
-
-QQuickJumpListCategory::~QQuickJumpListCategory() = default;
-
-/*!
- \qmlproperty list<QtObject> JumpListCategory::data
- \internal
- */
-QQmlListProperty<QObject> QQuickJumpListCategory::data()
-{
- return QQmlListProperty<QObject>(this, this, &QQuickJumpListCategory::data_append, nullptr, nullptr, nullptr);
-}
-
-/*!
- \qmlproperty list<JumpListItem> JumpListCategory::items
-
- A list of items.
- */
-QQmlListProperty<QQuickJumpListItem> QQuickJumpListCategory::items()
-{
- return QQmlListProperty<QQuickJumpListItem>(this, this, &QQuickJumpListCategory::items_count, &QQuickJumpListCategory::items_at);
-}
-
-/*!
- \qmlproperty string JumpListCategory::title
-
- The title of the category.
- */
-QString QQuickJumpListCategory::title() const
-{
- return m_title;
-}
-
-void QQuickJumpListCategory::setTitle(const QString &title)
-{
- if (m_title != title) {
- m_title = title;
- emit titleChanged();
- }
-}
-
-/*!
- \qmlproperty bool JumpListCategory::visible
-
- The visibility of the category.
- */
-bool QQuickJumpListCategory::isVisible() const
-{
- return m_visible;
-}
-
-void QQuickJumpListCategory::setVisible(bool visible)
-{
- if (m_visible != visible) {
- m_visible = visible;
- emit visibilityChanged();
- }
-}
-
-QList<QWinJumpListItem *> QQuickJumpListCategory::toItemList() const
-{
- QList<QWinJumpListItem *> items;
- for (QQuickJumpListItem *item : m_items)
- items.append(item->toJumpListItem());
- return items;
-}
-
-void QQuickJumpListCategory::data_append(QQmlListProperty<QObject> *property, QObject *object)
-{
- if (auto *item = qobject_cast<QQuickJumpListItem *>(object)) {
- auto *category = static_cast<QQuickJumpListCategory *>(property->object);
- category->m_items.append(item);
- emit category->itemsChanged();
- }
-}
-
-qsizetype QQuickJumpListCategory::items_count(QQmlListProperty<QQuickJumpListItem> *property)
-{
- return static_cast<QQuickJumpListCategory *>(property->object)->m_items.count();
-}
-
-QQuickJumpListItem *QQuickJumpListCategory::items_at(QQmlListProperty<QQuickJumpListItem> *property,
- qsizetype index)
-{
- return static_cast<QQuickJumpListCategory *>(property->object)->m_items.value(index);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/winextras/qquickjumplistcategory_p.h b/src/imports/winextras/qquickjumplistcategory_p.h
deleted file mode 100644
index 9ab0d3a..0000000
--- a/src/imports/winextras/qquickjumplistcategory_p.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QQUICKJUMPLISTCATEGORY_P_H
-#define QQUICKJUMPLISTCATEGORY_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qquickjumplistitem_p.h"
-
-#include <QObject>
-#include <QList>
-#include <QQmlListProperty>
-#include <QWinJumpListCategory>
-#include <QWinJumpListItem>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickJumpListCategory : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQmlListProperty<QObject> data READ data)
- Q_PROPERTY(QQmlListProperty<QQuickJumpListItem> items READ items)
- Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged)
- Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibilityChanged)
- Q_CLASSINFO("DefaultProperty", "data")
-
-public:
- explicit QQuickJumpListCategory(QObject *parent = nullptr);
- ~QQuickJumpListCategory();
-
- QString title() const;
- void setTitle(const QString &title);
-
- bool isVisible() const;
- void setVisible(bool visible);
-
- QQmlListProperty<QObject> data();
- QQmlListProperty<QQuickJumpListItem> items();
-
- QList<QWinJumpListItem *> toItemList() const;
-
-Q_SIGNALS:
- void itemsChanged();
- void titleChanged();
- void visibilityChanged();
-
-private:
- static void data_append(QQmlListProperty<QObject> *property, QObject *object);
- static qsizetype items_count(QQmlListProperty<QQuickJumpListItem> *property);
- static QQuickJumpListItem *items_at(QQmlListProperty<QQuickJumpListItem> *property,
- qsizetype index);
-
- bool m_visible = true;
- QString m_title;
- QList<QQuickJumpListItem *> m_items;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKJUMPLISTCATEGORY_P_H
diff --git a/src/imports/winextras/qquickjumplistitem.cpp b/src/imports/winextras/qquickjumplistitem.cpp
deleted file mode 100644
index bfc9543..0000000
--- a/src/imports/winextras/qquickjumplistitem.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "qquickjumplistitem_p.h"
-#include <QVariant>
-
-QT_BEGIN_NAMESPACE
-
-QQuickJumpListItem::QQuickJumpListItem(QObject *parent) :
- QObject(parent)
-{
-}
-
-QQuickJumpListItem::~QQuickJumpListItem() = default;
-
-int QQuickJumpListItem::type() const
-{
- return m_type;
-}
-
-void QQuickJumpListItem::setType(int type)
-{
- m_type = type;
-}
-
-QWinJumpListItem *QQuickJumpListItem::toJumpListItem() const
-{
- auto *item = new QWinJumpListItem(QWinJumpListItem::Separator);
- switch (m_type) {
- case ItemTypeDestination:
- item->setType(QWinJumpListItem::Destination);
- item->setFilePath(property("filePath").toString());
- break;
- case ItemTypeLink:
- item->setType(QWinJumpListItem::Link);
- item->setFilePath(property("executablePath").toString());
- item->setArguments(QStringList(property("arguments").toStringList()));
- item->setDescription(property("description").toString());
- item->setTitle(property("title").toString());
- item->setIcon(QIcon(property("iconPath").toString()));
- break;
- }
-
- return item;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/winextras/qquickjumplistitem_p.h b/src/imports/winextras/qquickjumplistitem_p.h
deleted file mode 100644
index 47d92d7..0000000
--- a/src/imports/winextras/qquickjumplistitem_p.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QQUICKJUMPLISTITEM_P_H
-#define QQUICKJUMPLISTITEM_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QObject>
-#include <QWinJumpListItem>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickJumpListItem : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int __jumpListItemType READ type WRITE setType)
-public:
- enum JumpListItemType {
- ItemTypeLink = 1,
- ItemTypeDestination = 2,
- ItemTypeSeparator = 3
- };
- Q_ENUM(JumpListItemType)
-
- explicit QQuickJumpListItem(QObject *p = nullptr);
- ~QQuickJumpListItem();
-
- int type() const;
- void setType(int type);
-
- QWinJumpListItem *toJumpListItem() const;
-
-private:
- int m_type; // 1 - link, 2 - destination
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKJUMPLISTITEM_P_H
diff --git a/src/imports/winextras/qquicktaskbarbutton.cpp b/src/imports/winextras/qquicktaskbarbutton.cpp
deleted file mode 100644
index 7d46006..0000000
--- a/src/imports/winextras/qquicktaskbarbutton.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "qquicktaskbarbutton_p.h"
-#include "qquickiconloader_p.h"
-
-#include <QQuickWindow>
-#include <QVariant>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype TaskbarButton
- \instantiates QQuickTaskbarButton
- \inqmlmodule QtWinExtras
-
- \brief Manages Windows taskbar buttons.
-
- \since QtWinExtras 1.0
-
- The TaskbarButton type enables you to set an overlay icon and to display
- a progress indicator on a taskbar button. An overlay icon indicates change
- in the state of the application. A progress indicator shows how time-consuming
- tasks are progressing.
-
- \section3 Example
-
- The following example illustrates how to use TaskbarButton in QML:
-
- \snippet code/taskbar.qml taskbar_qml
-
- \image taskbar-button.png Taskbar Button
-
- \sa QWinTaskbarButton, QWinTaskbarProgress
- */
-
-QQuickTaskbarOverlay::QQuickTaskbarOverlay(QWinTaskbarButton *button, QObject *parent) :
- QObject(parent), m_button(button)
-{
-}
-
-QUrl QQuickTaskbarOverlay::iconSource() const
-{
- return m_iconSource;
-}
-
-void QQuickTaskbarOverlay::setIconSource(const QUrl &iconSource)
-{
- if (m_iconSource == iconSource)
- return;
-
- if (iconSource.isEmpty()) {
- m_button->clearOverlayIcon();
- m_iconSource = iconSource;
- emit iconSourceChanged();
- return;
- }
-
- if (QQuickIconLoader::load(iconSource, qmlEngine(parent()), QMetaType::QIcon, QSize(),
- this, &QQuickTaskbarOverlay::iconLoaded) != QQuickIconLoader::LoadError) {
- m_iconSource = iconSource;
- emit iconSourceChanged();
- }
-}
-
-QString QQuickTaskbarOverlay::accessibleDescription() const
-{
- return m_button->overlayAccessibleDescription();
-}
-
-void QQuickTaskbarOverlay::setAccessibleDescription(const QString &description)
-{
- if (accessibleDescription() != description) {
- m_button->setOverlayAccessibleDescription(description);
- emit accessibleDescriptionChanged();
- }
-}
-
-void QQuickTaskbarOverlay::iconLoaded(const QVariant &value)
-{
- m_button->setOverlayIcon(value.value<QIcon>());
-}
-
-QQuickTaskbarButton::QQuickTaskbarButton(QQuickItem *parent) : QQuickItem(parent),
- m_button(new QWinTaskbarButton(this)), m_overlay(new QQuickTaskbarOverlay(m_button, this))
-{
-}
-
-QQuickTaskbarButton::~QQuickTaskbarButton() = default;
-
-/*!
- \qmlpropertygroup ::TaskbarButton::progress
- \qmlproperty int TaskbarButton::progress.value
- \qmlproperty int TaskbarButton::progress.minimum
- \qmlproperty int TaskbarButton::progress.maximum
- \qmlproperty bool TaskbarButton::progress.visible
- \qmlproperty bool TaskbarButton::progress.paused
- \qmlproperty bool TaskbarButton::progress.stopped
-
- The taskbar progress indicator.
-
- \sa QWinTaskbarProgress
- */
-QWinTaskbarProgress *QQuickTaskbarButton::progress() const
-{
- return m_button->progress();
-}
-
-/*!
- \qmlpropertygroup ::TaskbarButton::overlay
- \qmlproperty url TaskbarButton::overlay.iconSource
- \qmlproperty string TaskbarButton::overlay.accessibleDescription
-
- The overlay icon and a description of the overlay for accessibility purposes.
- */
-QQuickTaskbarOverlay *QQuickTaskbarButton::overlay() const
-{
- return m_overlay;
-}
-
-void QQuickTaskbarButton::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
-{
- if (change == ItemSceneChange) {
- m_button->setWindow(data.window);
- }
- QQuickItem::itemChange(change, data);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/winextras/qquicktaskbarbutton_p.h b/src/imports/winextras/qquicktaskbarbutton_p.h
deleted file mode 100644
index a26fa67..0000000
--- a/src/imports/winextras/qquicktaskbarbutton_p.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QQUICKTASKBARBUTTON_P_H
-#define QQUICKTASKBARBUTTON_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QQuickItem>
-#include <QWinTaskbarButton>
-#include <QWinTaskbarProgress>
-
-QT_BEGIN_NAMESPACE
-
-class QVariant;
-class QQuickTaskbarButtonPrivate;
-
-class QQuickTaskbarOverlay : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QUrl iconSource READ iconSource WRITE setIconSource NOTIFY iconSourceChanged)
- Q_PROPERTY(QString accessibleDescription READ accessibleDescription WRITE setAccessibleDescription NOTIFY accessibleDescriptionChanged)
-
-public:
- explicit QQuickTaskbarOverlay(QWinTaskbarButton *button, QObject *parent = nullptr);
-
- QUrl iconSource() const;
- void setIconSource(const QUrl &iconSource);
-
- QString accessibleDescription() const;
- void setAccessibleDescription(const QString &description);
-
-Q_SIGNALS:
- void iconSourceChanged();
- void accessibleDescriptionChanged();
-
-private Q_SLOTS:
- void iconLoaded(const QVariant &);
-
-private:
- QUrl m_iconSource;
- QWinTaskbarButton *m_button;
-};
-
-class QQuickTaskbarButton : public QQuickItem
-{
- Q_OBJECT
- Q_PROPERTY(QQuickTaskbarOverlay *overlay READ overlay CONSTANT)
- Q_PROPERTY(QWinTaskbarProgress *progress READ progress CONSTANT)
-
-public:
- explicit QQuickTaskbarButton(QQuickItem *parent = nullptr);
- ~QQuickTaskbarButton();
-
- QQuickTaskbarOverlay *overlay() const;
- QWinTaskbarProgress *progress() const;
-
-protected:
- void itemChange(ItemChange, const ItemChangeData &) Q_DECL_OVERRIDE;
-
-private:
- QWinTaskbarButton *m_button;
- QQuickTaskbarOverlay *m_overlay;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKTASKBARBUTTON_P_H
diff --git a/src/imports/winextras/qquickthumbnailtoolbar.cpp b/src/imports/winextras/qquickthumbnailtoolbar.cpp
deleted file mode 100644
index 6c7aa1e..0000000
--- a/src/imports/winextras/qquickthumbnailtoolbar.cpp
+++ /dev/null
@@ -1,247 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "qquickthumbnailtoolbar_p.h"
-#include "qquickthumbnailtoolbutton_p.h"
-#include "qquickiconloader_p.h"
-
-#include <QQuickWindow>
-#include <QQmlEngine>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype ThumbnailToolBar
- \instantiates QQuickThumbnailToolBar
- \inqmlmodule QtWinExtras
-
- \brief Allows manipulating the window's thumbnail toolbar.
-
- This class allows an application to embed a toolbar in the thumbnail of a window,
- which is shown when hovering over its taskbar icon. It provides quick access to
- the window's commands without requiring the user to restore or activate the window.
-
- \image thumbbar.png Media player thumbnail toolbar
-
- \section3 Example
- \snippet code/thumbbar.qml thumbbar_qml
- \since QtWinExtras 1.0
- */
-
-QQuickThumbnailToolBar::QQuickThumbnailToolBar(QQuickItem *parent) :
- QQuickItem(parent)
-{
- connect(&m_toolbar, &QWinThumbnailToolBar::iconicThumbnailPixmapRequested,
- this, &QQuickThumbnailToolBar::iconicThumbnailRequested);
- connect(&m_toolbar, &QWinThumbnailToolBar::iconicLivePreviewPixmapRequested,
- this, &QQuickThumbnailToolBar::iconicLivePreviewRequested);
-}
-
-QQuickThumbnailToolBar::~QQuickThumbnailToolBar() = default;
-
-int QQuickThumbnailToolBar::count() const
-{
- return m_toolbar.count();
-}
-
-QQmlListProperty<QObject> QQuickThumbnailToolBar::data()
-{
- return QQmlListProperty<QObject>(this, nullptr, &QQuickThumbnailToolBar::addData, nullptr, nullptr, nullptr);
-}
-
-QQmlListProperty<QQuickThumbnailToolButton> QQuickThumbnailToolBar::buttons()
-{
- return QQmlListProperty<QQuickThumbnailToolButton>(this, nullptr, &QQuickThumbnailToolBar::buttonCount, &QQuickThumbnailToolBar::buttonAt);
-}
-
-void QQuickThumbnailToolBar::addButton(QQuickThumbnailToolButton *button)
-{
- if (!m_buttons.contains(button)) {
- m_toolbar.addButton(button->m_button);
- m_buttons.append(button);
- emit countChanged();
- emit buttonsChanged();
- }
-}
-
-void QQuickThumbnailToolBar::removeButton(QQuickThumbnailToolButton *button)
-{
- if (m_buttons.removeOne(button)) {
- m_toolbar.removeButton(button->m_button);
- emit countChanged();
- emit buttonsChanged();
- }
-}
-
-void QQuickThumbnailToolBar::clear()
-{
- m_toolbar.clear();
- for (QQuickThumbnailToolButton *button : qAsConst(m_buttons))
- button->deleteLater();
- m_buttons.clear();
- emit countChanged();
- emit buttonsChanged();
-}
-
-/*!
- \qmlsignal ThumbnailToolBar::iconicThumbnailRequested()
-
- This signal is emitted when the operating system requests a new iconic thumbnail pixmap,
- typically when the thumbnail is shown.
-
- \since 5.4
-*/
-
-/*!
- \qmlsignal ThumbnailToolBar::iconicLivePreviewRequested()
-
- This signal is emitted when the operating system requests a new iconic live preview pixmap,
- typically when the user ALT-tabs to the application.
- \since 5.4
-*/
-
-/*!
- \qmlproperty bool ThumbnailToolBar::iconicNotificationsEnabled
-
- This property holds whether the signals iconicThumbnailRequested()
- or iconicLivePreviewRequested() will be emitted.
- \since 5.4
- */
-bool QQuickThumbnailToolBar::iconicNotificationsEnabled() const
-{
- return m_toolbar.iconicPixmapNotificationsEnabled();
-}
-
-void QQuickThumbnailToolBar::setIconicNotificationsEnabled(bool enabled)
-{
- if (enabled != m_toolbar.iconicPixmapNotificationsEnabled()) {
- m_toolbar.setIconicPixmapNotificationsEnabled(enabled);
- emit iconicNotificationsEnabledChanged();
- }
-}
-
-void QQuickThumbnailToolBar::iconicThumbnailLoaded(const QVariant &value)
-{
- m_toolbar.setIconicThumbnailPixmap(value.value<QPixmap>());
-}
-
-/*!
- \qmlproperty url ThumbnailToolBar::iconicThumbnailSource
-
- The pixmap for use as a thumbnail representation
- \since 5.4
- */
-void QQuickThumbnailToolBar::setIconicThumbnailSource(const QUrl &source)
-{
- if (source == m_iconicThumbnailSource)
- return;
-
- if (source.isEmpty()) {
- m_toolbar.setIconicThumbnailPixmap(QPixmap());
- m_iconicThumbnailSource = source;
- emit iconicThumbnailSourceChanged();
- }
-
- if (QQuickIconLoader::load(source, qmlEngine(this), QMetaType::QPixmap, QSize(),
- this, &QQuickThumbnailToolBar::iconicThumbnailLoaded) != QQuickIconLoader::LoadError) {
- m_iconicThumbnailSource = source;
- emit iconicThumbnailSourceChanged();
- }
-}
-
-void QQuickThumbnailToolBar::iconicLivePreviewLoaded(const QVariant &value)
-{
- m_toolbar.setIconicLivePreviewPixmap(value.value<QPixmap>());
-}
-
-/*!
- \qmlproperty url ThumbnailToolBar::iconicLivePreviewSource
-
- The pixmap for use as a live (peek) preview when tabbing into the application.
- \since 5.4
- */
-void QQuickThumbnailToolBar::setIconicLivePreviewSource(const QUrl &source)
-{
- if (source == m_iconicLivePreviewSource)
- return;
-
- if (source.isEmpty()) {
- m_toolbar.setIconicLivePreviewPixmap(QPixmap());
- m_iconicLivePreviewSource = source;
- emit iconicLivePreviewSourceChanged();
- }
-
- if (QQuickIconLoader::load(source, qmlEngine(this), QMetaType::QPixmap, QSize(),
- this, &QQuickThumbnailToolBar::iconicLivePreviewLoaded) != QQuickIconLoader::LoadError) {
- m_iconicLivePreviewSource = source;
- emit iconicLivePreviewSourceChanged();
- }
-}
-
-void QQuickThumbnailToolBar::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
-{
- if (change == ItemSceneChange)
- m_toolbar.setWindow(data.window);
- QQuickItem::itemChange(change, data);
-}
-
-void QQuickThumbnailToolBar::addData(QQmlListProperty<QObject> *property, QObject *object)
-{
- if (auto *button = qobject_cast<QQuickThumbnailToolButton *>(object)) {
- auto *quickThumbbar = static_cast<QQuickThumbnailToolBar *>(property->object);
- quickThumbbar->m_toolbar.addButton(button->m_button);
- quickThumbbar->m_buttons.append(button);
- emit quickThumbbar->countChanged();
- emit quickThumbbar->buttonsChanged();
- }
-}
-
-qsizetype QQuickThumbnailToolBar::buttonCount(QQmlListProperty<QQuickThumbnailToolButton> *property)
-{
- return static_cast<QQuickThumbnailToolBar *>(property->object)->count();
-}
-
-QQuickThumbnailToolButton *QQuickThumbnailToolBar::buttonAt(QQmlListProperty<QQuickThumbnailToolButton> *property,
- qsizetype index)
-{
- return static_cast<QQuickThumbnailToolBar *>(property->object)->m_buttons.value(index);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/winextras/qquickthumbnailtoolbar_p.h b/src/imports/winextras/qquickthumbnailtoolbar_p.h
deleted file mode 100644
index 2370b9c..0000000
--- a/src/imports/winextras/qquickthumbnailtoolbar_p.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QQUICKTHUMBNAILTOOLBAR_P_H
-#define QQUICKTHUMBNAILTOOLBAR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QQuickItem>
-#include <QWinThumbnailToolBar>
-#include <QUrl>
-#include <QList>
-
-QT_BEGIN_NAMESPACE
-
-class QVariant;
-
-class QQuickThumbnailToolButton;
-
-class QQuickThumbnailToolBar : public QQuickItem
-{
- Q_OBJECT
- Q_PROPERTY(int count READ count NOTIFY countChanged)
- Q_PROPERTY(QQmlListProperty<QObject> data READ data)
- Q_PROPERTY(QQmlListProperty<QQuickThumbnailToolButton> buttons READ buttons NOTIFY buttonsChanged)
- Q_PROPERTY(bool iconicNotificationsEnabled READ iconicNotificationsEnabled WRITE setIconicNotificationsEnabled NOTIFY iconicNotificationsEnabledChanged)
- Q_PROPERTY(QUrl iconicThumbnailSource READ iconicThumbnailSource WRITE setIconicThumbnailSource NOTIFY iconicThumbnailSourceChanged)
- Q_PROPERTY(QUrl iconicLivePreviewSource READ iconicLivePreviewSource WRITE setIconicLivePreviewSource NOTIFY iconicLivePreviewSourceChanged)
- Q_CLASSINFO("DefaultProperty", "data")
-
-public:
- explicit QQuickThumbnailToolBar(QQuickItem *parent = nullptr);
- ~QQuickThumbnailToolBar();
-
- int count() const;
-
- QQmlListProperty<QObject> data();
- QQmlListProperty<QQuickThumbnailToolButton> buttons();
-
- Q_INVOKABLE void addButton(QQuickThumbnailToolButton *button);
- Q_INVOKABLE void removeButton(QQuickThumbnailToolButton *button);
-
- bool iconicNotificationsEnabled() const;
- void setIconicNotificationsEnabled(bool);
- QUrl iconicThumbnailSource() const { return m_iconicThumbnailSource; }
- void setIconicThumbnailSource(const QUrl &);
- QUrl iconicLivePreviewSource() const { return m_iconicLivePreviewSource; }
- void setIconicLivePreviewSource(const QUrl &);
-
-public Q_SLOTS:
- void clear();
-
-Q_SIGNALS:
- void countChanged();
- void buttonsChanged();
- void iconicNotificationsEnabledChanged();
- void iconicThumbnailSourceChanged();
- void iconicThumbnailRequested();
- void iconicLivePreviewSourceChanged();
- void iconicLivePreviewRequested();
-
-private Q_SLOTS:
- void iconicThumbnailLoaded(const QVariant &);
- void iconicLivePreviewLoaded(const QVariant &);
-
-protected:
- void itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data) override;
-
-private:
- static void addData(QQmlListProperty<QObject> *property, QObject *button);
- static qsizetype buttonCount(QQmlListProperty<QQuickThumbnailToolButton> *property);
- static QQuickThumbnailToolButton *buttonAt(QQmlListProperty<QQuickThumbnailToolButton> *property,
- qsizetype index);
-
- QWinThumbnailToolBar m_toolbar;
- QList<QQuickThumbnailToolButton *> m_buttons;
- QUrl m_iconicThumbnailSource;
- QUrl m_iconicLivePreviewSource;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKTHUMBNAILTOOLBAR_P_H
diff --git a/src/imports/winextras/qquickthumbnailtoolbutton.cpp b/src/imports/winextras/qquickthumbnailtoolbutton.cpp
deleted file mode 100644
index d0bbf55..0000000
--- a/src/imports/winextras/qquickthumbnailtoolbutton.cpp
+++ /dev/null
@@ -1,227 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "qquickthumbnailtoolbutton_p.h"
-#include "qquickiconloader_p.h"
-
-#include <QWinThumbnailToolButton>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype ThumbnailToolButton
- \instantiates QQuickThumbnailToolButton
- \inqmlmodule QtWinExtras
-
- \brief Represents a button in a thumbnail toolbar.
-
- The ThumbnailToolButton represents a button in a thumbnail toolbar.
- \since QtWinExtras 1.0
- */
-
-/*!
- \qmlsignal ThumbnailToolButton::clicked()
- This signal is emitted when the user clicks the button. The corresponding handler is \c onClicked.
-*/
-
-QQuickThumbnailToolButton::QQuickThumbnailToolButton(QObject *parent) :
- QObject(parent), m_button(new QWinThumbnailToolButton(this))
-{
- connect(m_button, &QWinThumbnailToolButton::clicked, this, &QQuickThumbnailToolButton::clicked);
-}
-
-QQuickThumbnailToolButton::~QQuickThumbnailToolButton() = default;
-
-/*!
- \qmlproperty url ThumbnailToolButton::iconSource
-
- The button icon path.
- */
-void QQuickThumbnailToolButton::setIconSource(const QUrl &iconSource)
-{
- if (m_iconSource == iconSource)
- return;
-
- if (iconSource.isEmpty()) {
- m_button->setIcon(QIcon());
- m_iconSource = iconSource;
- emit iconSourceChanged();
- }
-
- if (QQuickIconLoader::load(iconSource, qmlEngine(this), QMetaType::QIcon, QSize(),
- this, &QQuickThumbnailToolButton::iconLoaded) != QQuickIconLoader::LoadError) {
- m_iconSource = iconSource;
- emit iconSourceChanged();
- }
-}
-
-QUrl QQuickThumbnailToolButton::iconSource()
-{
- return m_iconSource;
-}
-
-/*!
- \qmlproperty string ThumbnailToolButton::tooltip
-
- The tooltip of the button.
- */
-void QQuickThumbnailToolButton::setTooltip(const QString &tooltip)
-{
- if (m_button->toolTip() != tooltip) {
- m_button->setToolTip(tooltip);
- emit tooltipChanged();
- }
-}
-
-QString QQuickThumbnailToolButton::tooltip() const
-{
- return m_button->toolTip();
-}
-
-/*!
- \qmlproperty bool ThumbnailToolButton::enabled
-
- This property holds whether the button is enabled.
-
- By default, this property is set to true.
- */
-void QQuickThumbnailToolButton::setEnabled(bool enabled)
-{
- if (m_button->isEnabled() != enabled) {
- m_button->setEnabled(enabled);
- emit enabledChanged();
- }
-}
-
-bool QQuickThumbnailToolButton::isEnabled() const
-{
- return m_button->isEnabled();
-}
-
-/*!
- \qmlproperty bool ThumbnailToolButton::interactive
-
- This property holds whether the button is interactive.
- If not interactive, the button remains enabled, but no pressed or mouse-over
- states are drawn. Set this property to false to use this button as a
- notification icon.
-
- By default, this property is set to true.
- */
-void QQuickThumbnailToolButton::setInteractive(bool interactive)
-{
- if (m_button->isInteractive() != interactive) {
- m_button->setInteractive(interactive);
- emit interactiveChanged();
- }
-}
-
-bool QQuickThumbnailToolButton::isInteractive() const
-{
- return m_button->isInteractive();
-}
-
-/*!
- \qmlproperty bool ThumbnailToolButton::visible
-
- This property holds whether the button is visible.
-
- By default, this property is set to true.
- */
-void QQuickThumbnailToolButton::setVisible(bool visible)
-{
- if (m_button->isVisible() != visible) {
- m_button->setVisible(visible);
- emit visibleChanged();
- }
-}
-
-bool QQuickThumbnailToolButton::isVisible() const
-{
- return m_button->isVisible();
-}
-
-/*!
- \qmlproperty bool ThumbnailToolButton::dismissOnClick
-
- This property holds whether the window thumbnail is dismissed after a button click.
-
- By default, this property is set to false.
- */
-void QQuickThumbnailToolButton::setDismissOnClick(bool dismiss)
-{
- if (m_button->dismissOnClick() != dismiss) {
- m_button->setDismissOnClick(dismiss);
- emit dismissOnClickChanged();
- }
-}
-
-bool QQuickThumbnailToolButton::dismissOnClick() const
-{
- return m_button->dismissOnClick();
-}
-
-/*!
- \qmlproperty bool ThumbnailToolButton::flat
-
- This property holds whether the button background and frame are not drawn.
-
- By default, this property is set to false.
- */
-void QQuickThumbnailToolButton::setFlat(bool flat)
-{
- if (m_button->isFlat() != flat) {
- m_button->setFlat(flat);
- emit flatChanged();
- }
-}
-
-bool QQuickThumbnailToolButton::isFlat() const
-{
- return m_button->isFlat();
-}
-
-void QQuickThumbnailToolButton::iconLoaded(const QVariant &value)
-{
- if (value.isValid())
- m_button->setIcon(value.value<QIcon>());
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/winextras/qquickthumbnailtoolbutton_p.h b/src/imports/winextras/qquickthumbnailtoolbutton_p.h
deleted file mode 100644
index aca0e74..0000000
--- a/src/imports/winextras/qquickthumbnailtoolbutton_p.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QQUICKTHUMBNAILTOOLBUTTON_P_H
-#define QQUICKTHUMBNAILTOOLBUTTON_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QQuickItem>
-#include <QWinThumbnailToolBar>
-#include <QUrl>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickThumbnailToolButton : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QUrl iconSource READ iconSource WRITE setIconSource NOTIFY iconSourceChanged)
- Q_PROPERTY(QString tooltip READ tooltip WRITE setTooltip NOTIFY tooltipChanged)
- Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged)
- Q_PROPERTY(bool interactive READ isInteractive WRITE setInteractive NOTIFY interactiveChanged)
- Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged)
- Q_PROPERTY(bool dismissOnClick READ dismissOnClick WRITE setDismissOnClick NOTIFY dismissOnClickChanged)
- Q_PROPERTY(bool flat READ isFlat WRITE setFlat NOTIFY flatChanged)
-
-public:
- explicit QQuickThumbnailToolButton(QObject *parent = nullptr);
- ~QQuickThumbnailToolButton();
-
- void setIconSource(const QUrl &iconSource);
- QUrl iconSource();
- void setTooltip(const QString &tooltip);
- QString tooltip() const;
- void setEnabled(bool isEnabled);
- bool isEnabled() const;
- void setInteractive(bool isInteractive);
- bool isInteractive() const;
- void setVisible(bool isVisible);
- bool isVisible() const;
- void setDismissOnClick(bool dismiss);
- bool dismissOnClick() const;
- void setFlat(bool flat);
- bool isFlat() const;
-
-Q_SIGNALS:
- void clicked();
- void iconSourceChanged();
- void tooltipChanged();
- void enabledChanged();
- void interactiveChanged();
- void visibleChanged();
- void dismissOnClickChanged();
- void flatChanged();
-
-private Q_SLOTS:
- void iconLoaded(const QVariant &);
-
-private:
- QUrl m_iconSource;
- QWinThumbnailToolButton *m_button;
-
- friend class QQuickThumbnailToolBar;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKTHUMBNAILTOOLBUTTON_P_H
diff --git a/src/imports/winextras/qquickwin_p.h b/src/imports/winextras/qquickwin_p.h
deleted file mode 100644
index 4ed9015..0000000
--- a/src/imports/winextras/qquickwin_p.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QQUICKWIN_P_H
-#define QQUICKWIN_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QObject>
-#include <QtWin>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickWin : public QObject
-{
- Q_OBJECT
-
-public:
- enum HBitmapFormat
- {
- HBitmapNoAlpha = QtWin::HBitmapNoAlpha,
- HBitmapPremultipliedAlpha = QtWin::HBitmapPremultipliedAlpha,
- HBitmapAlpha = QtWin::HBitmapAlpha
- };
- Q_ENUM(HBitmapFormat)
-
- enum WindowFlip3DPolicy
- {
- FlipDefault = QtWin::FlipDefault,
- FlipExcludeBelow = QtWin::FlipExcludeBelow,
- FlipExcludeAbove = QtWin::FlipExcludeAbove
- };
- Q_ENUM(WindowFlip3DPolicy)
-
- enum WindowNonClientRenderingPolicy
- {
- NonClientRenderingUseWindowStyle = QtWin::NonClientRenderingUseWindowStyle,
- NonClientRenderingDisabled = QtWin::NonClientRenderingDisabled,
- NonClientRenderingEnabled = QtWin::NonClientRenderingEnabled
- };
- Q_ENUM(WindowNonClientRenderingPolicy)
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKWIN_P_H
diff --git a/src/imports/winextras/winextras.pro b/src/imports/winextras/winextras.pro
deleted file mode 100644
index dc778e6..0000000
--- a/src/imports/winextras/winextras.pro
+++ /dev/null
@@ -1,44 +0,0 @@
-CXX_MODULE = qml
-TARGET = qml_winextras
-TARGETPATH = QtWinExtras
-IMPORT_VERSION = 1.$$QT_MINOR_VERSION
-
-QT += qml quick winextras winextras-private
-
-QML_FILES += \
- JumpListLink.qml \
- JumpListDestination.qml \
- JumpListSeparator.qml
-
-HEADERS += \
- qquickdwmfeatures_p.h \
- qquickdwmfeatures_p_p.h \
- qquicktaskbarbutton_p.h \
- qquickjumplist_p.h \
- qquickjumplistitem_p.h \
- qquickjumplistcategory_p.h \
- qquickthumbnailtoolbar_p.h \
- qquickthumbnailtoolbutton_p.h \
- qquickiconloader_p.h \
- qquickwin_p.h
-
-SOURCES += \
- plugin.cpp \
- qquickdwmfeatures.cpp \
- qquicktaskbarbutton.cpp \
- qquickjumplist.cpp \
- qquickjumplistitem.cpp \
- qquickjumplistcategory.cpp \
- qquickthumbnailtoolbar.cpp \
- qquickthumbnailtoolbutton.cpp \
- qquickiconloader.cpp
-
-OTHER_FILES += \
- qmldir \
- JumpListLink.qml \
- JumpListDestination.qml \
- JumpListSeparator.qml
-
-!qtHaveModule(opengl)|qtConfig(dynamicgl):LIBS_PRIVATE += -luser32
-
-load(qml_plugin)
diff --git a/src/src.pro b/src/src.pro
deleted file mode 100644
index fceeb21..0000000
--- a/src/src.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-win32 {
- TEMPLATE = subdirs
- CONFIG += ordered
- SUBDIRS += winextras
- qtHaveModule(quick): SUBDIRS += imports
-} else {
- # fake project for creating the documentation
- TEMPLATE = aux
- CONFIG += force_qt
- QMAKE_DOCS = $$PWD/winextras/doc/qtwinextras.qdocconf
-}
diff --git a/src/winextras/CMakeLists.txt b/src/winextras/CMakeLists.txt
deleted file mode 100644
index 47d6eac..0000000
--- a/src/winextras/CMakeLists.txt
+++ /dev/null
@@ -1,51 +0,0 @@
-# Generated from winextras.pro.
-
-#####################################################################
-## WinExtras Module:
-#####################################################################
-
-qt_add_module(WinExtras
- SOURCES
- qwinevent.cpp qwinevent.h
- qwineventfilter.cpp qwineventfilter_p.h
- qwinextrasglobal.h
- qwinfunctions.cpp qwinfunctions.h qwinfunctions_p.h
- qwinjumplist.cpp qwinjumplist.h qwinjumplist_p.h
- qwinjumplistcategory.cpp qwinjumplistcategory.h qwinjumplistcategory_p.h
- qwinjumplistitem.cpp qwinjumplistitem.h qwinjumplistitem_p.h
- qwintaskbarbutton.cpp qwintaskbarbutton.h qwintaskbarbutton_p.h
- qwintaskbarprogress.cpp qwintaskbarprogress.h
- qwinthumbnailtoolbar.cpp qwinthumbnailtoolbar.h qwinthumbnailtoolbar_p.h
- qwinthumbnailtoolbutton.cpp qwinthumbnailtoolbutton.h qwinthumbnailtoolbutton_p.h
- windowsguidsdefs.cpp windowsguidsdefs_p.h
- winpropkey_p.h
- winshobjidl_p.h
- LIBRARIES
- Qt::CorePrivate
- Qt::GuiPrivate
- dwmapi
- ole32
- shell32
- shlwapi
- PUBLIC_LIBRARIES
- Qt::Core
- Qt::Gui
- PRIVATE_MODULE_INTERFACE
- Qt::CorePrivate
- Qt::GuiPrivate
-)
-
-#### Keys ignored in scope 1:.:.:winextras.pro:<TRUE>:
-# OTHER_FILES = "doc/qtwinextras.qdocconf" "doc/src/qtwinextras-index.qdoc" "doc/src/qtwinextras-module-cpp.qdoc" "doc/src/qtwinextras-module-qml.qdoc" "doc/snippets/code/use-qtwinextras.pro" "doc/snippets/code/jumplist.cpp" "doc/snippets/code/use-qtwinextras.cpp" "doc/snippets/code/thumbbar.cpp" "doc/snippets/code/thumbbar.qml"
-
-## Scopes:
-#####################################################################
-
-qt_extend_target(WinExtras CONDITION QT_FEATURE_dynamicgl OR (WIN32 AND NOT TARGET Qt::OpenGL)
- LIBRARIES
- gdi32
-)
-qt_add_docs(WinExtras
- doc/qtwinextras.qdocconf
-)
-
diff --git a/src/winextras/doc/QtWinExtras/qwinextrasglobal.h b/src/winextras/doc/QtWinExtras/qwinextrasglobal.h
deleted file mode 100644
index 2da776f..0000000
--- a/src/winextras/doc/QtWinExtras/qwinextrasglobal.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../qwinextrasglobal.h"
diff --git a/src/winextras/doc/QtWinExtrasDoc b/src/winextras/doc/QtWinExtrasDoc
deleted file mode 100644
index 7d14c34..0000000
--- a/src/winextras/doc/QtWinExtrasDoc
+++ /dev/null
@@ -1,22 +0,0 @@
-#include "qwinevent.h"
-#include "qwinjumplist_p.h"
-#include "winpropkey_p.h"
-#include "qwinfunctions_p.h"
-#include "qwineventfilter_p.h"
-#include "winshobjidl_p.h"
-#include "qwintaskbarbutton.h"
-#include "qwinmime.h"
-#include "qwinextrasglobal.h"
-#include "qwinthumbnailtoolbar.h"
-#include "qwinthumbnailtoolbutton_p.h"
-#include "qwinjumplistitem.h"
-#include "qwinjumplist.h"
-#include "qwinthumbnailtoolbar_p.h"
-#include "qwinjumplistitem_p.h"
-#include "windowsguidsdefs_p.h"
-#include "qwinfunctions.h"
-#include "qwinjumplistcategory_p.h"
-#include "qwintaskbarbutton_p.h"
-#include "qwinthumbnailtoolbutton.h"
-#include "qwintaskbarprogress.h"
-#include "qwinjumplistcategory.h"
diff --git a/src/winextras/doc/images/glass.png b/src/winextras/doc/images/glass.png
deleted file mode 100644
index a2a6326..0000000
--- a/src/winextras/doc/images/glass.png
+++ /dev/null
Binary files differ
diff --git a/src/winextras/doc/images/jumplist.png b/src/winextras/doc/images/jumplist.png
deleted file mode 100644
index dff2487..0000000
--- a/src/winextras/doc/images/jumplist.png
+++ /dev/null
Binary files differ
diff --git a/src/winextras/doc/images/peek-on.png b/src/winextras/doc/images/peek-on.png
deleted file mode 100644
index c655639..0000000
--- a/src/winextras/doc/images/peek-on.png
+++ /dev/null
Binary files differ
diff --git a/src/winextras/doc/images/taskbar-button.png b/src/winextras/doc/images/taskbar-button.png
deleted file mode 100644
index 8c585f4..0000000
--- a/src/winextras/doc/images/taskbar-button.png
+++ /dev/null
Binary files differ
diff --git a/src/winextras/doc/images/taskbar-progress-indeterminate.png b/src/winextras/doc/images/taskbar-progress-indeterminate.png
deleted file mode 100644
index 800cf51..0000000
--- a/src/winextras/doc/images/taskbar-progress-indeterminate.png
+++ /dev/null
Binary files differ
diff --git a/src/winextras/doc/images/taskbar-progress-paused.png b/src/winextras/doc/images/taskbar-progress-paused.png
deleted file mode 100644
index 55383fd..0000000
--- a/src/winextras/doc/images/taskbar-progress-paused.png
+++ /dev/null
Binary files differ
diff --git a/src/winextras/doc/images/taskbar-progress-stopped.png b/src/winextras/doc/images/taskbar-progress-stopped.png
deleted file mode 100644
index f4b6dc1..0000000
--- a/src/winextras/doc/images/taskbar-progress-stopped.png
+++ /dev/null
Binary files differ
diff --git a/src/winextras/doc/images/taskbar-progress.png b/src/winextras/doc/images/taskbar-progress.png
deleted file mode 100644
index 97bb286..0000000
--- a/src/winextras/doc/images/taskbar-progress.png
+++ /dev/null
Binary files differ
diff --git a/src/winextras/doc/images/thumbbar.png b/src/winextras/doc/images/thumbbar.png
deleted file mode 100644
index c53077d..0000000
--- a/src/winextras/doc/images/thumbbar.png
+++ /dev/null
Binary files differ
diff --git a/src/winextras/doc/qtwinextras.qdocconf b/src/winextras/doc/qtwinextras.qdocconf
deleted file mode 100644
index 95547db..0000000
--- a/src/winextras/doc/qtwinextras.qdocconf
+++ /dev/null
@@ -1,53 +0,0 @@
-include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
-include($QT_INSTALL_DOCS/config/exampleurl-qtwinextras.qdocconf)
-
-project = QtWinExtras
-description = Qt Windows Extras Reference Documentation
-version = $QT_VERSION
-
-exampledirs += ../../../examples/winextras \
- snippets
-
-examplesinstallpath = winextras
-
-moduleheader = QtWinExtrasDoc
-
-includepaths = -I . \
- -I ..
-
-headerdirs = .. ../../imports/winextras
-sourcedirs = .. ../../imports/winextras
-imagedirs += images
-
-depends += qtcore qtgui qtdoc qtwidgets
-
-qhp.projects = QtWinExtras
-
-qhp.QtWinExtras.file = qtwinextras.qhp
-
-qhp.QtWinExtras.namespace = org.qt-project.qtwinextras.$QT_VERSION_TAG
-
-qhp.QtWinExtras.indexTitle = Qt Windows Extras
-qhp.QtWinExtras.indexRoot =
-
-qhp.QtWinExtras.filterAttributes = qtwinextras $QT_VERSION qtrefdoc
-qhp.QtWinExtras.customFilters.Qt.name = QtWinExtras $QT_VERSION
-qhp.QtWinExtras.customFilters.Qt.filterAttributes = qtwinextras $QT_VERSION
-
-qhp.QtWinExtras.virtualFolder = qtwinextras
-qhp.QtWinExtras.subprojects = classes examples qmltypes
-qhp.QtWinExtras.subprojects.classes.title = C++ Classes and Namespaces
-qhp.QtWinExtras.subprojects.classes.indexTitle = Qt Windows Extras C++ Classes
-qhp.QtWinExtras.subprojects.classes.selectors = class function namespace fake:headerfile
-qhp.QtWinExtras.subprojects.classes.sortPages = true
-qhp.QtWinExtras.subprojects.examples.title = Examples
-qhp.QtWinExtras.subprojects.examples.indexTitle = Qt Windows Extras Examples
-qhp.QtWinExtras.subprojects.examples.selectors = fake:example
-qhp.QtWinExtras.subprojects.qmltypes.title = QML Types
-qhp.QtWinExtras.subprojects.qmltypes.indexTitle = Qt Windows Extras QML Types
-qhp.QtWinExtras.subprojects.qmltypes.selectors = qmlclass
-qhp.QtWinExtras.subprojects.qmltypes.sortPages = true
-
-navigation.landingpage = "Qt Windows Extras"
-navigation.qmltypespage = "Qt Windows Extras QML Types"
-navigation.cppclassespage = "Qt Windows Extras C++ Classes"
diff --git a/src/winextras/doc/snippets/code/CMakeLists.txt b/src/winextras/doc/snippets/code/CMakeLists.txt
deleted file mode 100644
index 36ad466..0000000
--- a/src/winextras/doc/snippets/code/CMakeLists.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-# Generated from use-qtwinextras.pro.
-
-#####################################################################
-## use-qtwinextras Binary:
-#####################################################################
-
-qt_add_executable(use-qtwinextras
- GUI
- PUBLIC_LIBRARIES
- Qt::Gui
- Qt::WinExtras
-)
diff --git a/src/winextras/doc/snippets/code/jumplist.cpp b/src/winextras/doc/snippets/code/jumplist.cpp
deleted file mode 100644
index 6f8221e..0000000
--- a/src/winextras/doc/snippets/code/jumplist.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Ivan Vizir <define-true-false@yandex.com>
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QWinJumpList>
-
-void foo()
-{
-//! [jumplist]
- QWinJumpList jumplist;
-
- QWinJumpListCategory *tasks = jumplist.tasks();
- QWinJumpListItem *newProject = new QWinJumpListItem(QWinJumpListItem::Link);
- newProject->setTitle(tr("Create new project"));
- newProject->setFilePath(QDir::toNativeSeparators(QCoreApplication::applicationFilePath()));
- newProject->setArguments(QStringList("--new-project"));
- tasks->addItem(newProject);
-
- tasks->addLink(tr("Launch SDK Manager"), QDir::toNativeSeparators(QCoreApplication::applicationDirPath()) + "\\sdk-manager.exe");
-
- tasks->setVisible(true);
-//! [jumplist]
-}
diff --git a/src/winextras/doc/snippets/code/taskbar.cpp b/src/winextras/doc/snippets/code/taskbar.cpp
deleted file mode 100644
index 5636174..0000000
--- a/src/winextras/doc/snippets/code/taskbar.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtWinExtras>
-
-void initializeTaskbarButton(QWidget *widget)
-{
- Q_ASSERT(widget->windowHandle()); // Note: this requires the window to be shown.
-//! [taskbar_cpp]
- QWinTaskbarButton *button = new QWinTaskbarButton(widget);
- button->setWindow(widget->windowHandle());
- button->setOverlayIcon(QIcon(":/loading.png"));
-
- QWinTaskbarProgress *progress = button->progress();
- progress->setVisible(true);
- progress->setValue(50);
-//! [taskbar_cpp]
-}
diff --git a/src/winextras/doc/snippets/code/taskbar.qml b/src/winextras/doc/snippets/code/taskbar.qml
deleted file mode 100644
index e46a370..0000000
--- a/src/winextras/doc/snippets/code/taskbar.qml
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Window 2.0
-import QtWinExtras 1.0
-
-//! [taskbar_qml]
-Window {
- TaskbarButton {
- overlay.iconSource: "loading.png"
- overlay.accessibleDescription: "Loading"
-
- progress.visible: true
- progress.value: 50
- }
-}
-//! [taskbar_qml]
diff --git a/src/winextras/doc/snippets/code/thumbbar.cpp b/src/winextras/doc/snippets/code/thumbbar.cpp
deleted file mode 100644
index e5924ea..0000000
--- a/src/winextras/doc/snippets/code/thumbbar.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Ivan Vizir <define-true-false@yandex.com>
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtWinExtras>
-
-void initializeThumbnailToolBar(QWidget *widget)
-{
- Q_ASSERT(widget->windowHandle()); // Note: this requires the window to be shown.
-//! [thumbbar_cpp]
- QWinThumbnailToolBar *thumbbar = new QWinThumbnailToolBar(widget);
- thumbbar->setWindow(widget->windowHandle());
-
- QWinThumbnailToolButton *settings = new QWinThumbnailToolButton(thumbbar);
- settings->setToolTip("Settings");
- settings->setIcon(":/settings.png");
- settings->setDismissOnClick(true);
- connect(settings, SIGNAL(clicked()), settingsPage, SLOT(show()));
-
- QWinThumbnailToolButton *playPause = new QWinThumbnailToolButton(thumbbar);
- playPause->setToolTip("Play/Pause");
- playPause->setIcon(":/play.png");
- connect(playPause, SIGNAL(clicked()), mediaPlayer, SLOT(play()));
-
- thumbbar->addButton(settings);
- thumbbar->addButton(playPause);
-//! [thumbbar_cpp]
-}
diff --git a/src/winextras/doc/snippets/code/thumbbar.qml b/src/winextras/doc/snippets/code/thumbbar.qml
deleted file mode 100644
index d521a0a..0000000
--- a/src/winextras/doc/snippets/code/thumbbar.qml
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Ivan Vizir <define-true-false@yandex.com>
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtQuick.Window 2.0
-import QtWinExtras 1.0
-
-//! [thumbbar_qml]
-Window {
- ThumbnailToolBar {
- ThumbnailToolButton { iconSource: "qrc:///player_rew.png"; tooltip: "Rewind"; onClicked: player.rewind() }
- ThumbnailToolButton { iconSource: "qrc:///player_pause.png"; tooltip: "Pause"; onClicked: player.togglePlay() }
- ThumbnailToolButton { iconSource: "qrc:///player_fwd.png"; tooltip: "Forward"; onClicked: player.forward() }
- ThumbnailToolButton { interactive: false; flat: true }
- ThumbnailToolButton { iconSource: "qrc:///configure.png"; tooltip: "Settings"; onClicked: settingsWindow.show() }
- ThumbnailToolButton { iconSource: "qrc:///document_open_folder.png"; tooltip: "Open"; onClicked: player.open() }
- }
-}
-//! [thumbbar_qml]
diff --git a/src/winextras/doc/snippets/code/use-qtwinextras.cpp b/src/winextras/doc/snippets/code/use-qtwinextras.cpp
deleted file mode 100644
index 51f3718..0000000
--- a/src/winextras/doc/snippets/code/use-qtwinextras.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Ivan Vizir <define-true-false@yandex.com>
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [include]
-#include <QtWinExtras>
-//! [include]
diff --git a/src/winextras/doc/snippets/code/use-qtwinextras.pro b/src/winextras/doc/snippets/code/use-qtwinextras.pro
deleted file mode 100644
index fd6cfdb..0000000
--- a/src/winextras/doc/snippets/code/use-qtwinextras.pro
+++ /dev/null
@@ -1,3 +0,0 @@
-#! [link]
-QT += winextras
-#! [link]
diff --git a/src/winextras/doc/src/qtwinextras-examples.qdoc b/src/winextras/doc/src/qtwinextras-examples.qdoc
deleted file mode 100644
index e51189c..0000000
--- a/src/winextras/doc/src/qtwinextras-examples.qdoc
+++ /dev/null
@@ -1,39 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
-
-\group examples-qtwinextras
-\title Qt Windows Extras Examples
-\brief Examples for the Qt Windows Extras module.
-\ingroup all-examples
-
-Here is a list of example applications demonstrating the functionality
-provided by the \l{Qt Windows Extras} module.
-
-\note These examples work only on \l{Qt for Windows}{Windows} operating system.
-*/ \ No newline at end of file
diff --git a/src/winextras/doc/src/qtwinextras-index.qdoc b/src/winextras/doc/src/qtwinextras-index.qdoc
deleted file mode 100644
index 00ab266..0000000
--- a/src/winextras/doc/src/qtwinextras-index.qdoc
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Ivan Vizir <define-true-false@yandex.com>
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtwinextras-index.html
- \title Qt Windows Extras
- \brief Provides classes and functions for using some Windows APIs in a Qt way
-
- Qt Windows Extras provide classes and functions that enable you to use
- miscellaneous Windows-specific functions. For example, you can convert Qt
- objects to Windows object handles and manipulate DWM glass frames.
-
- In addition, you can use features introduced with Windows 7, such as Aero
- Peek, Jump Lists, a progress indicator on a taskbar button, or a thumbnail
- toolbar.
-
- \section1 Getting Started
-
- To include the definitions of the module's classes and functions, use the
- following directive:
-
- \snippet code/use-qtwinextras.cpp include
-
- To link against the module, add this line to your qmake .pro file:
-
- \snippet code/use-qtwinextras.pro link
-
- \section1 Articles and Guides
-
- \list
- \li \l {Qt Windows Extras Overview}
- \endlist
-
- \section1 Examples
-
- \list
- \li \l {Qt Windows Extras Examples}
- \endlist
-
- \section1 API Reference
-
- These are links to the API reference materials.
-
- \list
- \li \l {Qt Windows Extras C++ Classes}{C++ Classes and Namespaces}
- \li \l {Qt Windows Extras QML Types}{QML Types}
- \endlist
-*/
diff --git a/src/winextras/doc/src/qtwinextras-module-cpp.qdoc b/src/winextras/doc/src/qtwinextras-module-cpp.qdoc
deleted file mode 100644
index 92e74e0..0000000
--- a/src/winextras/doc/src/qtwinextras-module-cpp.qdoc
+++ /dev/null
@@ -1,43 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Ivan Vizir <define-true-false@yandex.com>
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \module QtWinExtras
- \title Qt Windows Extras C++ Classes
- \brief Provides classes and functions for using some Windows APIs in a Qt way.
-
- \ingroup modules
- \ingroup technology-apis
- \qtvariable winextras
-
- The QtWin namespace contains Windows-specific functions for type
- conversions and DWM glass frame manipulation.
-
- The classes enable you to use features introduced with Windows 7, such as
- Jump Lists, a progress indicator on a taskbar button, or a thumbnail
- toolbar.
-*/
diff --git a/src/winextras/doc/src/qtwinextras-module-qml.qdoc b/src/winextras/doc/src/qtwinextras-module-qml.qdoc
deleted file mode 100644
index 62797ef..0000000
--- a/src/winextras/doc/src/qtwinextras-module-qml.qdoc
+++ /dev/null
@@ -1,42 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Ivan Vizir <define-true-false@yandex.com>
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \qmlmodule QtWinExtras 1.\QtMinorVersion
- \title Qt Windows Extras QML Types
- \ingroup qmlmodules
- \brief Enables the use of Windows features with QML.
-
- \section1 QML Types
-
- The QML types can be imported into your application using the
- following import statement in your .qml file.
-
- \qml \QtMinorVersion
- import QtWinExtras 1.\1
- \endqml
- */
diff --git a/src/winextras/doc/src/qtwinextras-overview.qdoc b/src/winextras/doc/src/qtwinextras-overview.qdoc
deleted file mode 100644
index 39bdcd4..0000000
--- a/src/winextras/doc/src/qtwinextras-overview.qdoc
+++ /dev/null
@@ -1,153 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Ivan Vizir <define-true-false@yandex.com>
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtwinextras-Overview.html
- \title Qt Windows Extras Overview
- \brief Qt Windows Extras provides classes and functions for using some
- Windows APIs in a Qt way
-
- Qt Windows Extras provide classes and functions that enable you to use
- miscellaneous Windows-specific functions. For example, you can convert Qt
- objects to Windows object handles and manipulate DWM glass frames.
-
- In addition, you can use features introduced with Windows 7, such as Aero
- Peek, Jump Lists, a progress indicator on a taskbar button, or a thumbnail
- toolbar.
-
- \section1 Type Conversion
-
- The QtWin namespace provides functions to convert Qt objects of classes
- such as QPixmap or QImage to Windows HBITMAP or HICON handles, and vice
- versa.
-
- \section1 DWM and Glass Frame
-
- You can determine whether a window is included in the DWM Flip3D rendering.
-
- The glass frame that was first introduced with Windows Vista can be easily
- manipulated using the QtWin::extendFrameIntoClientArea() and
- QtWin::enableBlurBehindWindow() functions. Windows 8 lost the glass
- effect, but applications can still integrate their windows into the system
- frame to visually separate window controls from the rest of the window or to
- focus the user's attention on window content.
-
- \image glass.png "Glass frame extended into client area of a window"
-
- \section1 Aero Peek
-
- The Windows 7 \b {Aero Peek} feature gives the users the powers of X-ray
- vision that enable them to peek past all open windows straight at the
- desktop and the gadgets placed there. They can view the contents of a window
- without actually switching to it. You can enable Aero Peek for a
- gadget-like window or for a window that constantly displays monitoring data.
-
- You can use the QtWin::setWindowExcludedFromPeek() function to exclude
- an application window from Aero Peek.
-
- \note Aero Peek is disabled in Windows 8 by default but can be enabled
- by the user.
-
- \image peek-on.png "A window excluded from Aero Peek"
-
- \section1 Taskbar
-
- The taskbar provides users with access to applications that are open on the
- desktop. Windows automatically creates buttons on the taskbar for accessing
- application windows. Windows 7 adds new features to the taskbar buttons
- that are discussed in the following sections.
-
- \section2 Overlay Icons and Progress Indicators
-
- You can use the QWinTaskbarButton class to set an overlay icon and the
- QWinTaskbarProgress class to display a progress indicator on a taskbar button.
- An overlay icon indicates change in the state of the application. A progress
- indicator shows how time-consuming tasks are progressing.
-
- \image taskbar-button.png Taskbar Button
-
- \section3 Taskbar Example
-
- The following example code illustrates how to use the QWinTaskbarButton
- and QWinTaskbarProgress classes to adjust the look of the taskbar button:
-
- \snippet code/taskbar.cpp taskbar_cpp
-
- \section2 Jump Lists
-
- An application can use Jump Lists to provide users with faster access to
- files or to display shortcuts to tasks or commands.
-
- \image jumplist.png Jump List
-
- \list
-
- \li \b Destinations — categorized shortcuts to files and URLs that the
- application can handle and even links to other applications.
- Windows provides two standard categories that can be added to the
- custom Jump List, in addition to the ones that the application can
- create itself.
- \li \b Recent and \b Frequent — so called \e known categories that are
- populated automatically by Windows when the application uses the
- QFileDialog::getOpenFileName() function or when the application is
- launched to open a file from the Windows shell.
-
- \li \b Tasks — shortcuts to application functionality. An application
- can display its most frequently used context-independent functions
- on task lists.
-
- \endlist
-
- \note To be able to add destinations to its Jump Lists, the application
- should associate itself with the file types it can handle.
-
- \section3 Jump List Example
-
- The following example code illustrates how to use the classes in the
- QWinJumpList and QWinJumpListItem classes to implement Jump Lists:
-
- \snippet code/jumplist.cpp jumplist
-
- \section2 Thumbnail Toolbar
-
- Applications can embed a toolbar in the thumbnail of a window, which is
- shown when hovering over its taskbar icon. A thumbnail toolbar may provide
- quick access to the window's commands without requiring the user to restore
- or activate the window.
-
- \image thumbbar.png Media player thumbnail toolbar
-
- \section3 Thumbnail Toolbar Example
-
- The following example code illustrates how to use the functions in the
- QWinThumbnailToolBar and QWinThumbnailToolButton class to implement a
- thumbnail toolbar:
-
- \snippet code/thumbbar.cpp thumbbar_cpp
-
-*/
diff --git a/src/winextras/qwinevent.cpp b/src/winextras/qwinevent.cpp
deleted file mode 100644
index 6d5dbcb..0000000
--- a/src/winextras/qwinevent.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "qwinevent.h"
-
-const int QWinEvent::ColorizationChange = QEvent::registerEventType();
-const int QWinEvent::CompositionChange = QEvent::registerEventType();
-const int QWinEvent::TaskbarButtonCreated = QEvent::registerEventType();
-const int QWinEvent::ThemeChange = QEvent::registerEventType();
-
-QWinEvent::QWinEvent(int type) : QEvent(static_cast<QEvent::Type>(type))
-{
-}
-
-QWinEvent::~QWinEvent() = default;
-
-QWinColorizationChangeEvent::QWinColorizationChangeEvent(QRgb color, bool opaque)
- : QWinEvent(ColorizationChange), rgb(color), opaque(opaque)
-{
-}
-
-QWinColorizationChangeEvent::~QWinColorizationChangeEvent() = default;
-
-QWinCompositionChangeEvent::QWinCompositionChangeEvent()
- : QWinEvent(CompositionChange)
-{
-}
-
-QWinCompositionChangeEvent::~QWinCompositionChangeEvent() = default;
diff --git a/src/winextras/qwinevent.h b/src/winextras/qwinevent.h
deleted file mode 100644
index f4212fd..0000000
--- a/src/winextras/qwinevent.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QWINEVENT_H
-#define QWINEVENT_H
-
-#include <QtGui/qrgb.h>
-#include <QtCore/qcoreevent.h>
-#include <QtWinExtras/qwinextrasglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_WINEXTRAS_EXPORT QWinEvent : public QEvent
-{
-public:
- static const int ColorizationChange;
- static const int CompositionChange;
- static const int TaskbarButtonCreated;
- static const int ThemeChange;
-
- explicit QWinEvent(int type);
- ~QWinEvent();
-};
-
-class Q_WINEXTRAS_EXPORT QWinColorizationChangeEvent : public QWinEvent
-{
-public:
- QWinColorizationChangeEvent(QRgb color, bool opaque);
- ~QWinColorizationChangeEvent();
-
- inline QRgb color() const { return rgb; }
- inline bool opaqueBlend() const { return opaque; }
-
-private:
- QRgb rgb;
- bool opaque;
-};
-
-class Q_WINEXTRAS_EXPORT QWinCompositionChangeEvent : public QWinEvent
-{
-public:
- explicit QWinCompositionChangeEvent();
- ~QWinCompositionChangeEvent();
-};
-
-QT_END_NAMESPACE
-
-#endif // QWINEVENT_H
diff --git a/src/winextras/qwineventfilter.cpp b/src/winextras/qwineventfilter.cpp
deleted file mode 100644
index db264b6..0000000
--- a/src/winextras/qwineventfilter.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "qwineventfilter_p.h"
-#include "qwinfunctions.h"
-#include "qwinevent.h"
-#include <QtGui/qguiapplication.h>
-#include <QtGui/qwindow.h>
-
-#ifndef WM_DWMCOLORIZATIONCOLORCHANGED
-# define WM_DWMCOLORIZATIONCOLORCHANGED 0x0320
-#endif
-
-#ifndef WM_DWMCOMPOSITIONCHANGED
-# define WM_DWMCOMPOSITIONCHANGED 0x031E
-#endif
-
-QWinEventFilter *QWinEventFilter::instance = nullptr;
-
-QWinEventFilter::QWinEventFilter() :
- tbButtonCreatedMsgId(RegisterWindowMessageW(L"TaskbarButtonCreated"))
-{
-}
-
-QWinEventFilter::~QWinEventFilter()
-{
- instance = nullptr;
-}
-
-#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
-bool QWinEventFilter::nativeEventFilter(const QByteArray &, void *message, qintptr *result)
-#else
-bool QWinEventFilter::nativeEventFilter(const QByteArray &, void *message, long *result)
-#endif
-{
- MSG *msg = static_cast<MSG *>(message);
- bool filterOut = false;
-
- QEvent *event = nullptr;
- QWindow *window = nullptr;
- switch (msg->message) {
- case WM_DWMCOLORIZATIONCOLORCHANGED :
- event = new QWinColorizationChangeEvent(QRgb(msg->wParam), msg->lParam);
- break;
- case WM_DWMCOMPOSITIONCHANGED :
- event = new QWinCompositionChangeEvent();
- break;
- case WM_THEMECHANGED :
- event = new QWinEvent(QWinEvent::ThemeChange);
- break;
- default :
- if (tbButtonCreatedMsgId == msg->message) {
- event = new QWinEvent(QWinEvent::TaskbarButtonCreated);
- filterOut = true;
- }
- break;
- }
-
- if (event) {
- window = findWindow(msg->hwnd);
- if (window)
- QCoreApplication::sendEvent(window, event);
- delete event;
- }
-
- if (filterOut && result) {
- *result = 0;
- }
-
- return filterOut;
-}
-
-void QWinEventFilter::setup()
-{
- if (!instance) {
- instance = new QWinEventFilter;
- qApp->installNativeEventFilter(instance);
- }
-}
-
-QWindow *QWinEventFilter::findWindow(HWND handle)
-{
- const WId wid = reinterpret_cast<WId>(handle);
- const auto topLevels = QGuiApplication::topLevelWindows();
- for (QWindow *topLevel : topLevels) {
- if (topLevel->handle() && topLevel->winId() == wid)
- return topLevel;
- }
- return nullptr;
-}
diff --git a/src/winextras/qwineventfilter_p.h b/src/winextras/qwineventfilter_p.h
deleted file mode 100644
index ad37177..0000000
--- a/src/winextras/qwineventfilter_p.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QWINEVENTFILTER_H
-#define QWINEVENTFILTER_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtWinExtras/qwinextrasglobal.h>
-#include <QtCore/qabstractnativeeventfilter.h>
-#include <QtCore/qt_windows.h>
-
-QT_BEGIN_NAMESPACE
-
-class QWindow;
-
-class Q_WINEXTRAS_EXPORT QWinEventFilter : public QAbstractNativeEventFilter
-{
-public:
- QWinEventFilter();
- ~QWinEventFilter();
-#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
- bool nativeEventFilter(const QByteArray &eventType, void *message, qintptr *result) override;
-#else
- bool nativeEventFilter(const QByteArray &eventType, void *message, long *result) override;
-#endif
-
- static void setup();
-
-private:
- static QWinEventFilter *instance;
- QWindow *findWindow(HWND);
- UINT tbButtonCreatedMsgId;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWINEVENTFILTER_H
diff --git a/src/winextras/qwinextrasglobal.h b/src/winextras/qwinextrasglobal.h
deleted file mode 100644
index e66326d..0000000
--- a/src/winextras/qwinextrasglobal.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtWinExtras module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** 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 Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** 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-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QWINEXTRASGLOBAL_H
-#define QWINEXTRASGLOBAL_H
-
-#include <QtCore/qglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-#ifndef QT_STATIC
-# if defined(QT_BUILD_WINEXTRAS_LIB)
-# define Q_WINEXTRAS_EXPORT Q_DECL_EXPORT
-# else
-# define Q_WINEXTRAS_EXPORT Q_DECL_IMPORT
-# endif
-#else
-# define Q_WINEXTRAS_EXPORT
-#endif
-
-QT_END_NAMESPACE
-
-#endif // QWINEXTRASGLOBAL_H
diff --git a/src/winextras/qwinfunctions.cpp b/src/winextras/qwinfunctions.cpp
deleted file mode 100644
index 77e5733..0000000
--- a/src/winextras/qwinfunctions.cpp
+++ /dev/null
@@ -1,2077 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtWinExtras module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** 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 Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** 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-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#if defined(NTDDI_VERSION) && NTDDI_VERSION < 0x06010000 // NTDDI_WIN7
-# undef NTDDI_VERSION
-#endif
-#if !defined(NTDDI_VERSION)
-# define NTDDI_VERSION 0x06010000 // Enable functions for MinGW
-#endif
-
-#include "qwinfunctions.h"
-#include "qwinfunctions_p.h"
-#include "qwineventfilter_p.h"
-#include "windowsguidsdefs_p.h"
-
-#include <QtGui/qguiapplication.h>
-#include <QtGui/qwindow.h>
-#include <QtGui/qpixmap.h>
-#include <QtGui/qbitmap.h>
-#include <QtGui/qimage.h>
-#include <QtGui/qcolor.h>
-#include <QtGui/qregion.h>
-#include <QtCore/qmargins.h>
-#include <QtCore/qsettings.h>
-
-#include <comdef.h>
-#include "winshobjidl_p.h"
-
-QT_BEGIN_NAMESPACE
-
-Q_GUI_EXPORT HBITMAP qt_createIconMask(const QBitmap &bitmap);
-Q_GUI_EXPORT HBITMAP qt_pixmapToWinHBITMAP(const QPixmap &p, int hbitmapFormat = 0);
-Q_GUI_EXPORT QPixmap qt_pixmapFromWinHBITMAP(HBITMAP bitmap, int hbitmapFormat = 0);
-Q_GUI_EXPORT HICON qt_pixmapToWinHICON(const QPixmap &p);
-Q_GUI_EXPORT HBITMAP qt_imageToWinHBITMAP(const QImage &imageIn, int hbitmapFormat = 0);
-Q_GUI_EXPORT QImage qt_imageFromWinHBITMAP(HBITMAP bitmap, int hbitmapFormat = 0);
-Q_GUI_EXPORT QImage qt_imageFromWinHBITMAP(HDC hdc, HBITMAP bitmap, int w, int h);
-Q_GUI_EXPORT QPixmap qt_pixmapFromWinHICON(HICON icon);
-
-/*!
- \namespace QtWin
- \inmodule QtWinExtras
- \brief The QtWin namespace contains miscellaneous Windows-specific functions.
- \inheaderfile QtWin
-
- */
-
-/*!
- \since 5.2
-
- Creates a \c HBITMAP equivalent of the QBitmap \a bitmap.
-
- It is the caller's responsibility to free the \c HBITMAP data after use.
-
- \sa toHBITMAP()
-*/
-HBITMAP QtWin::createMask(const QBitmap &bitmap)
-{
- return qt_createIconMask(bitmap);
-}
-
-/*!
- \since 5.2
-
- Creates a \c HBITMAP equivalent of the QPixmap \a p,
- based on the given \a format. Returns the \c HBITMAP handle.
-
- It is the caller's responsibility to free the \c HBITMAP data
- after use.
-
- \sa fromHBITMAP()
-*/
-HBITMAP QtWin::toHBITMAP(const QPixmap &p, QtWin::HBitmapFormat format)
-{
- return qt_pixmapToWinHBITMAP(p, format);
-}
-
-/*!
- \since 5.2
-
- Returns a QPixmap that is equivalent to the
- given \a bitmap. The conversion is based on the specified \a format.
-
- \sa toHBITMAP()
-*/
-QPixmap QtWin::fromHBITMAP(HBITMAP bitmap, QtWin::HBitmapFormat format)
-{
- return qt_pixmapFromWinHBITMAP(bitmap, format);
-}
-
-/*!
- \since 5.2
-
- Creates a \c HICON equivalent of the QPixmap \a p.
- Returns the \c HICON handle.
-
- It is the caller's responsibility to free the \c HICON data after use.
-
- \sa fromHICON()
-*/
-HICON QtWin::toHICON(const QPixmap &p)
-{
- return qt_pixmapToWinHICON(p);
-}
-
-/*!
- \since 5.12
-
- Creates a \c HBITMAP equivalent of the QImage \a image,
- based on the given \a format. Returns the \c HBITMAP handle.
-
- It is the caller's responsibility to free the \c HBITMAP data
- after use.
-
- \sa imageFromHBITMAP()
-*/
-HBITMAP QtWin::imageToHBITMAP(const QImage &image, QtWin::HBitmapFormat format)
-{
- return qt_imageToWinHBITMAP(image, format);
-}
-
-/*!
- \since 5.2
-
- Returns a QImage that is equivalent to the
- given \a bitmap. The conversion is based on the specified \c HDC context \a hdc
- using the specified \a width and \a height.
-
- \sa toHBITMAP()
-*/
-QImage QtWin::imageFromHBITMAP(HDC hdc, HBITMAP bitmap, int width, int height)
-{
- return qt_imageFromWinHBITMAP(hdc, bitmap, width, height);
-}
-
-/*!
- \since 5.12
-
- Returns a QImage that is equivalent to the
- given \a bitmap. The conversion is based on the specified \a format.
-
- \sa imageToHBITMAP()
-*/
-QImage QtWin::imageFromHBITMAP(HBITMAP bitmap, QtWin::HBitmapFormat format)
-{
- return qt_imageFromWinHBITMAP(bitmap, format);
-}
-
-/*!
- \since 5.2
-
- Returns a QPixmap that is equivalent to the given \a icon.
-
- \sa toHICON()
-*/
-QPixmap QtWin::fromHICON(HICON icon)
-{
- return qt_pixmapFromWinHICON(icon);
-}
-
-HRGN qt_RectToHRGN(const QRect &rc)
-{
- return CreateRectRgn(rc.left(), rc.top(), rc.right()+1, rc.bottom()+1);
-}
-
-/*!
- \since 5.2
- \obsolete
-
- This function is equivalent to QRegion::toHRGN()
-
- \sa QRegion::toHRGN()
- */
-HRGN QtWin::toHRGN(const QRegion &region)
-{
- return region.toHRGN();
-}
-
-/*!
- \since 5.2
- \obsolete
-
- This function is equivalent to QRegion::fromHRGN().
-
- \sa QRegion::fromHRGN()
- */
-QRegion QtWin::fromHRGN(HRGN hrgn)
-{
- return QRegion::fromHRGN(hrgn);
-}
-
-/*!
- \since 5.2
-
- Returns a message string that explains the \a hresult error id specified or
- an empty string if the explanation cannot be found.
- */
-QString QtWin::stringFromHresult(HRESULT hresult)
-{
- _com_error error(hresult);
- return QString::fromWCharArray(error.ErrorMessage());
-}
-
-/*!
- \since 5.2
-
- Returns the code name of the \a hresult error id specified (usually the name
- of the WinAPI macro) or an empty string if the message is unknown.
- */
-QString QtWin::errorStringFromHresult(HRESULT hresult)
-{
- switch (hresult) {
- case HRESULT(0x8000FFFF) : return QStringLiteral("E_UNEXPECTED");
- case HRESULT(0x80004001) : return QStringLiteral("E_NOTIMPL");
- case HRESULT(0x8007000E) : return QStringLiteral("E_OUTOFMEMORY");
- case HRESULT(0x80070057) : return QStringLiteral("E_INVALIDARG");
- case HRESULT(0x80004002) : return QStringLiteral("E_NOINTERFACE");
- case HRESULT(0x80004003) : return QStringLiteral("E_POINTER");
- case HRESULT(0x80070006) : return QStringLiteral("E_HANDLE");
- case HRESULT(0x80004004) : return QStringLiteral("E_ABORT");
- case HRESULT(0x80004005) : return QStringLiteral("E_FAIL");
- case HRESULT(0x80070005) : return QStringLiteral("E_ACCESSDENIED");
- case HRESULT(0x8000000A) : return QStringLiteral("E_PENDING");
- case HRESULT(0x80004006) : return QStringLiteral("CO_E_INIT_TLS");
- case HRESULT(0x80004007) : return QStringLiteral("CO_E_INIT_SHARED_ALLOCATOR");
- case HRESULT(0x80004008) : return QStringLiteral("CO_E_INIT_MEMORY_ALLOCATOR");
- case HRESULT(0x80004009) : return QStringLiteral("CO_E_INIT_CLASS_CACHE");
- case HRESULT(0x8000400A) : return QStringLiteral("CO_E_INIT_RPC_CHANNEL");
- case HRESULT(0x8000400B) : return QStringLiteral("CO_E_INIT_TLS_SET_CHANNEL_CONTROL");
- case HRESULT(0x8000400C) : return QStringLiteral("CO_E_INIT_TLS_CHANNEL_CONTROL");
- case HRESULT(0x8000400D) : return QStringLiteral("CO_E_INIT_UNACCEPTED_USER_ALLOCATOR");
- case HRESULT(0x8000400E) : return QStringLiteral("CO_E_INIT_SCM_MUTEX_EXISTS");
- case HRESULT(0x8000400F) : return QStringLiteral("CO_E_INIT_SCM_FILE_MAPPING_EXISTS");
- case HRESULT(0x80004010) : return QStringLiteral("CO_E_INIT_SCM_MAP_VIEW_OF_FILE");
- case HRESULT(0x80004011) : return QStringLiteral("CO_E_INIT_SCM_EXEC_FAILURE");
- case HRESULT(0x80004012) : return QStringLiteral("CO_E_INIT_ONLY_SINGLE_THREADED");
- case HRESULT(0x80004013) : return QStringLiteral("CO_E_CANT_REMOTE");
- case HRESULT(0x80004014) : return QStringLiteral("CO_E_BAD_SERVER_NAME");
- case HRESULT(0x80004015) : return QStringLiteral("CO_E_WRONG_SERVER_IDENTITY");
- case HRESULT(0x80004016) : return QStringLiteral("CO_E_OLE1DDE_DISABLED");
- case HRESULT(0x80004017) : return QStringLiteral("CO_E_RUNAS_SYNTAX");
- case HRESULT(0x80004018) : return QStringLiteral("CO_E_CREATEPROCESS_FAILURE");
- case HRESULT(0x80004019) : return QStringLiteral("CO_E_RUNAS_CREATEPROCESS_FAILURE");
- case HRESULT(0x8000401A) : return QStringLiteral("CO_E_RUNAS_LOGON_FAILURE");
- case HRESULT(0x8000401B) : return QStringLiteral("CO_E_LAUNCH_PERMSSION_DENIED");
- case HRESULT(0x8000401C) : return QStringLiteral("CO_E_START_SERVICE_FAILURE");
- case HRESULT(0x8000401D) : return QStringLiteral("CO_E_REMOTE_COMMUNICATION_FAILURE");
- case HRESULT(0x8000401E) : return QStringLiteral("CO_E_SERVER_START_TIMEOUT");
- case HRESULT(0x8000401F) : return QStringLiteral("CO_E_CLSREG_INCONSISTENT");
- case HRESULT(0x80004020) : return QStringLiteral("CO_E_IIDREG_INCONSISTENT");
- case HRESULT(0x80004021) : return QStringLiteral("CO_E_NOT_SUPPORTED");
- case HRESULT(0x80004022) : return QStringLiteral("CO_E_RELOAD_DLL");
- case HRESULT(0x80004023) : return QStringLiteral("CO_E_MSI_ERROR");
- case HRESULT(0x80004024) : return QStringLiteral("CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT");
- case HRESULT(0x80004025) : return QStringLiteral("CO_E_SERVER_PAUSED");
- case HRESULT(0x80004026) : return QStringLiteral("CO_E_SERVER_NOT_PAUSED");
- case HRESULT(0x80004027) : return QStringLiteral("CO_E_CLASS_DISABLED");
- case HRESULT(0x80004028) : return QStringLiteral("CO_E_CLRNOTAVAILABLE");
- case HRESULT(0x80004029) : return QStringLiteral("CO_E_ASYNC_WORK_REJECTED");
- case HRESULT(0x8000402A) : return QStringLiteral("CO_E_SERVER_INIT_TIMEOUT");
- case HRESULT(0x8000402B) : return QStringLiteral("CO_E_NO_SECCTX_IN_ACTIVATE");
- case HRESULT(0x80004030) : return QStringLiteral("CO_E_TRACKER_CONFIG");
- case HRESULT(0x80004031) : return QStringLiteral("CO_E_THREADPOOL_CONFIG");
- case HRESULT(0x80004032) : return QStringLiteral("CO_E_SXS_CONFIG");
- case HRESULT(0x80004033) : return QStringLiteral("CO_E_MALFORMED_SPN");
- case HRESULT(0x80040000) : return QStringLiteral("OLE_E_OLEVERB");
- case HRESULT(0x80040001) : return QStringLiteral("OLE_E_ADVF");
- case HRESULT(0x80040002) : return QStringLiteral("OLE_E_ENUM_NOMORE");
- case HRESULT(0x80040003) : return QStringLiteral("OLE_E_ADVISENOTSUPPORTED");
- case HRESULT(0x80040004) : return QStringLiteral("OLE_E_NOCONNECTION");
- case HRESULT(0x80040005) : return QStringLiteral("OLE_E_NOTRUNNING");
- case HRESULT(0x80040006) : return QStringLiteral("OLE_E_NOCACHE");
- case HRESULT(0x80040007) : return QStringLiteral("OLE_E_BLANK");
- case HRESULT(0x80040008) : return QStringLiteral("OLE_E_CLASSDIFF");
- case HRESULT(0x80040009) : return QStringLiteral("OLE_E_CANT_GETMONIKER");
- case HRESULT(0x8004000A) : return QStringLiteral("OLE_E_CANT_BINDTOSOURCE");
- case HRESULT(0x8004000B) : return QStringLiteral("OLE_E_STATIC");
- case HRESULT(0x8004000C) : return QStringLiteral("OLE_E_PROMPTSAVECANCELLED");
- case HRESULT(0x8004000D) : return QStringLiteral("OLE_E_INVALIDRECT");
- case HRESULT(0x8004000E) : return QStringLiteral("OLE_E_WRONGCOMPOBJ");
- case HRESULT(0x8004000F) : return QStringLiteral("OLE_E_INVALIDHWND");
- case HRESULT(0x80040010) : return QStringLiteral("OLE_E_NOT_INPLACEACTIVE");
- case HRESULT(0x80040011) : return QStringLiteral("OLE_E_CANTCONVERT");
- case HRESULT(0x80040012) : return QStringLiteral("OLE_E_NOSTORAGE");
- case HRESULT(0x80040064) : return QStringLiteral("DV_E_FORMATETC");
- case HRESULT(0x80040065) : return QStringLiteral("DV_E_DVTARGETDEVICE");
- case HRESULT(0x80040066) : return QStringLiteral("DV_E_STGMEDIUM");
- case HRESULT(0x80040067) : return QStringLiteral("DV_E_STATDATA");
- case HRESULT(0x80040068) : return QStringLiteral("DV_E_LINDEX");
- case HRESULT(0x80040069) : return QStringLiteral("DV_E_TYMED");
- case HRESULT(0x8004006A) : return QStringLiteral("DV_E_CLIPFORMAT");
- case HRESULT(0x8004006B) : return QStringLiteral("DV_E_DVASPECT");
- case HRESULT(0x8004006C) : return QStringLiteral("DV_E_DVTARGETDEVICE_SIZE");
- case HRESULT(0x8004006D) : return QStringLiteral("DV_E_NOIVIEWOBJECT");
- case HRESULT(0x80040100) : return QStringLiteral("DRAGDROP_E_NOTREGISTERED");
- case HRESULT(0x80040101) : return QStringLiteral("DRAGDROP_E_ALREADYREGISTERED");
- case HRESULT(0x80040102) : return QStringLiteral("DRAGDROP_E_INVALIDHWND");
- case HRESULT(0x80040110) : return QStringLiteral("CLASS_E_NOAGGREGATION");
- case HRESULT(0x80040111) : return QStringLiteral("CLASS_E_CLASSNOTAVAILABLE");
- case HRESULT(0x80040112) : return QStringLiteral("CLASS_E_NOTLICENSED");
- case HRESULT(0x80040140) : return QStringLiteral("VIEW_E_DRAW");
- case HRESULT(0x80040150) : return QStringLiteral("REGDB_E_READREGDB");
- case HRESULT(0x80040151) : return QStringLiteral("REGDB_E_WRITEREGDB");
- case HRESULT(0x80040152) : return QStringLiteral("REGDB_E_KEYMISSING");
- case HRESULT(0x80040153) : return QStringLiteral("REGDB_E_INVALIDVALUE");
- case HRESULT(0x80040154) : return QStringLiteral("REGDB_E_CLASSNOTREG");
- case HRESULT(0x80040155) : return QStringLiteral("REGDB_E_IIDNOTREG");
- case HRESULT(0x80040156) : return QStringLiteral("REGDB_E_BADTHREADINGMODEL");
- case HRESULT(0x80040160) : return QStringLiteral("CAT_E_CATIDNOEXIST");
- case HRESULT(0x80040161) : return QStringLiteral("CAT_E_NODESCRIPTION");
- case HRESULT(0x80040164) : return QStringLiteral("CS_E_PACKAGE_NOTFOUND");
- case HRESULT(0x80040165) : return QStringLiteral("CS_E_NOT_DELETABLE");
- case HRESULT(0x80040166) : return QStringLiteral("CS_E_CLASS_NOTFOUND");
- case HRESULT(0x80040167) : return QStringLiteral("CS_E_INVALID_VERSION");
- case HRESULT(0x80040168) : return QStringLiteral("CS_E_NO_CLASSSTORE");
- case HRESULT(0x80040169) : return QStringLiteral("CS_E_OBJECT_NOTFOUND");
- case HRESULT(0x8004016A) : return QStringLiteral("CS_E_OBJECT_ALREADY_EXISTS");
- case HRESULT(0x8004016B) : return QStringLiteral("CS_E_INVALID_PATH");
- case HRESULT(0x8004016C) : return QStringLiteral("CS_E_NETWORK_ERROR");
- case HRESULT(0x8004016D) : return QStringLiteral("CS_E_ADMIN_LIMIT_EXCEEDED");
- case HRESULT(0x8004016E) : return QStringLiteral("CS_E_SCHEMA_MISMATCH");
- case HRESULT(0x8004016F) : return QStringLiteral("CS_E_INTERNAL_ERROR");
- case HRESULT(0x80040170) : return QStringLiteral("CACHE_E_NOCACHE_UPDATED");
- case HRESULT(0x80040180) : return QStringLiteral("OLEOBJ_E_NOVERBS");
- case HRESULT(0x80040181) : return QStringLiteral("OLEOBJ_E_INVALIDVERB");
- case HRESULT(0x800401A0) : return QStringLiteral("INPLACE_E_NOTUNDOABLE");
- case HRESULT(0x800401A1) : return QStringLiteral("INPLACE_E_NOTOOLSPACE");
- case HRESULT(0x800401C0) : return QStringLiteral("CONVERT10_E_OLESTREAM_GET");
- case HRESULT(0x800401C1) : return QStringLiteral("CONVERT10_E_OLESTREAM_PUT");
- case HRESULT(0x800401C2) : return QStringLiteral("CONVERT10_E_OLESTREAM_FMT");
- case HRESULT(0x800401C3) : return QStringLiteral("CONVERT10_E_OLESTREAM_BITMAP_TO_DIB");
- case HRESULT(0x800401C4) : return QStringLiteral("CONVERT10_E_STG_FMT");
- case HRESULT(0x800401C5) : return QStringLiteral("CONVERT10_E_STG_NO_STD_STREAM");
- case HRESULT(0x800401C6) : return QStringLiteral("CONVERT10_E_STG_DIB_TO_BITMAP");
- case HRESULT(0x800401D0) : return QStringLiteral("CLIPBRD_E_CANT_OPEN");
- case HRESULT(0x800401D1) : return QStringLiteral("CLIPBRD_E_CANT_EMPTY");
- case HRESULT(0x800401D2) : return QStringLiteral("CLIPBRD_E_CANT_SET");
- case HRESULT(0x800401D3) : return QStringLiteral("CLIPBRD_E_BAD_DATA");
- case HRESULT(0x800401D4) : return QStringLiteral("CLIPBRD_E_CANT_CLOSE");
- case HRESULT(0x800401E0) : return QStringLiteral("MK_E_CONNECTMANUALLY");
- case HRESULT(0x800401E1) : return QStringLiteral("MK_E_EXCEEDEDDEADLINE");
- case HRESULT(0x800401E2) : return QStringLiteral("MK_E_NEEDGENERIC");
- case HRESULT(0x800401E3) : return QStringLiteral("MK_E_UNAVAILABLE");
- case HRESULT(0x800401E4) : return QStringLiteral("MK_E_SYNTAX");
- case HRESULT(0x800401E5) : return QStringLiteral("MK_E_NOOBJECT");
- case HRESULT(0x800401E6) : return QStringLiteral("MK_E_INVALIDEXTENSION");
- case HRESULT(0x800401E7) : return QStringLiteral("MK_E_INTERMEDIATEINTERFACENOTSUPPORTED");
- case HRESULT(0x800401E8) : return QStringLiteral("MK_E_NOTBINDABLE");
- case HRESULT(0x800401E9) : return QStringLiteral("MK_E_NOTBOUND");
- case HRESULT(0x800401EA) : return QStringLiteral("MK_E_CANTOPENFILE");
- case HRESULT(0x800401EB) : return QStringLiteral("MK_E_MUSTBOTHERUSER");
- case HRESULT(0x800401EC) : return QStringLiteral("MK_E_NOINVERSE");
- case HRESULT(0x800401ED) : return QStringLiteral("MK_E_NOSTORAGE");
- case HRESULT(0x800401EE) : return QStringLiteral("MK_E_NOPREFIX");
- case HRESULT(0x800401EF) : return QStringLiteral("MK_E_ENUMERATION_FAILED");
- case HRESULT(0x800401F0) : return QStringLiteral("CO_E_NOTINITIALIZED");
- case HRESULT(0x800401F1) : return QStringLiteral("CO_E_ALREADYINITIALIZED");
- case HRESULT(0x800401F2) : return QStringLiteral("CO_E_CANTDETERMINECLASS");
- case HRESULT(0x800401F3) : return QStringLiteral("CO_E_CLASSSTRING");
- case HRESULT(0x800401F4) : return QStringLiteral("CO_E_IIDSTRING");
- case HRESULT(0x800401F5) : return QStringLiteral("CO_E_APPNOTFOUND");
- case HRESULT(0x800401F6) : return QStringLiteral("CO_E_APPSINGLEUSE");
- case HRESULT(0x800401F7) : return QStringLiteral("CO_E_ERRORINAPP");
- case HRESULT(0x800401F8) : return QStringLiteral("CO_E_DLLNOTFOUND");
- case HRESULT(0x800401F9) : return QStringLiteral("CO_E_ERRORINDLL");
- case HRESULT(0x800401FA) : return QStringLiteral("CO_E_WRONGOSFORAPP");
- case HRESULT(0x800401FB) : return QStringLiteral("CO_E_OBJNOTREG");
- case HRESULT(0x800401FC) : return QStringLiteral("CO_E_OBJISREG");
- case HRESULT(0x800401FD) : return QStringLiteral("CO_E_OBJNOTCONNECTED");
- case HRESULT(0x800401FE) : return QStringLiteral("CO_E_APPDIDNTREG");
- case HRESULT(0x800401FF) : return QStringLiteral("CO_E_RELEASED");
- case HRESULT(0x00040200) : return QStringLiteral("EVENT_S_SOME_SUBSCRIBERS_FAILED");
- case HRESULT(0x80040201) : return QStringLiteral("EVENT_E_ALL_SUBSCRIBERS_FAILED");
- case HRESULT(0x00040202) : return QStringLiteral("EVENT_S_NOSUBSCRIBERS");
- case HRESULT(0x80040203) : return QStringLiteral("EVENT_E_QUERYSYNTAX");
- case HRESULT(0x80040204) : return QStringLiteral("EVENT_E_QUERYFIELD");
- case HRESULT(0x80040205) : return QStringLiteral("EVENT_E_INTERNALEXCEPTION");
- case HRESULT(0x80040206) : return QStringLiteral("EVENT_E_INTERNALERROR");
- case HRESULT(0x80040207) : return QStringLiteral("EVENT_E_INVALID_PER_USER_SID");
- case HRESULT(0x80040208) : return QStringLiteral("EVENT_E_USER_EXCEPTION");
- case HRESULT(0x80040209) : return QStringLiteral("EVENT_E_TOO_MANY_METHODS");
- case HRESULT(0x8004020A) : return QStringLiteral("EVENT_E_MISSING_EVENTCLASS");
- case HRESULT(0x8004020B) : return QStringLiteral("EVENT_E_NOT_ALL_REMOVED");
- case HRESULT(0x8004020C) : return QStringLiteral("EVENT_E_COMPLUS_NOT_INSTALLED");
- case HRESULT(0x8004020D) : return QStringLiteral("EVENT_E_CANT_MODIFY_OR_DELETE_UNCONFIGURED_OBJECT");
- case HRESULT(0x8004020E) : return QStringLiteral("EVENT_E_CANT_MODIFY_OR_DELETE_CONFIGURED_OBJECT");
- case HRESULT(0x8004020F) : return QStringLiteral("EVENT_E_INVALID_EVENT_CLASS_PARTITION");
- case HRESULT(0x80040210) : return QStringLiteral("EVENT_E_PER_USER_SID_NOT_LOGGED_ON");
- case HRESULT(0x8004D000) : return QStringLiteral("XACT_E_ALREADYOTHERSINGLEPHASE");
- case HRESULT(0x8004D001) : return QStringLiteral("XACT_E_CANTRETAIN");
- case HRESULT(0x8004D002) : return QStringLiteral("XACT_E_COMMITFAILED");
- case HRESULT(0x8004D003) : return QStringLiteral("XACT_E_COMMITPREVENTED");
- case HRESULT(0x8004D004) : return QStringLiteral("XACT_E_HEURISTICABORT");
- case HRESULT(0x8004D005) : return QStringLiteral("XACT_E_HEURISTICCOMMIT");
- case HRESULT(0x8004D006) : return QStringLiteral("XACT_E_HEURISTICDAMAGE");
- case HRESULT(0x8004D007) : return QStringLiteral("XACT_E_HEURISTICDANGER");
- case HRESULT(0x8004D008) : return QStringLiteral("XACT_E_ISOLATIONLEVEL");
- case HRESULT(0x8004D009) : return QStringLiteral("XACT_E_NOASYNC");
- case HRESULT(0x8004D00A) : return QStringLiteral("XACT_E_NOENLIST");
- case HRESULT(0x8004D00B) : return QStringLiteral("XACT_E_NOISORETAIN");
- case HRESULT(0x8004D00C) : return QStringLiteral("XACT_E_NORESOURCE");
- case HRESULT(0x8004D00D) : return QStringLiteral("XACT_E_NOTCURRENT");
- case HRESULT(0x8004D00E) : return QStringLiteral("XACT_E_NOTRANSACTION");
- case HRESULT(0x8004D00F) : return QStringLiteral("XACT_E_NOTSUPPORTED");
- case HRESULT(0x8004D010) : return QStringLiteral("XACT_E_UNKNOWNRMGRID");
- case HRESULT(0x8004D011) : return QStringLiteral("XACT_E_WRONGSTATE");
- case HRESULT(0x8004D012) : return QStringLiteral("XACT_E_WRONGUOW");
- case HRESULT(0x8004D013) : return QStringLiteral("XACT_E_XTIONEXISTS");
- case HRESULT(0x8004D014) : return QStringLiteral("XACT_E_NOIMPORTOBJECT");
- case HRESULT(0x8004D015) : return QStringLiteral("XACT_E_INVALIDCOOKIE");
- case HRESULT(0x8004D016) : return QStringLiteral("XACT_E_INDOUBT");
- case HRESULT(0x8004D017) : return QStringLiteral("XACT_E_NOTIMEOUT");
- case HRESULT(0x8004D018) : return QStringLiteral("XACT_E_ALREADYINPROGRESS");
- case HRESULT(0x8004D019) : return QStringLiteral("XACT_E_ABORTED");
- case HRESULT(0x8004D01A) : return QStringLiteral("XACT_E_LOGFULL");
- case HRESULT(0x8004D01B) : return QStringLiteral("XACT_E_TMNOTAVAILABLE");
- case HRESULT(0x8004D01C) : return QStringLiteral("XACT_E_CONNECTION_DOWN");
- case HRESULT(0x8004D01D) : return QStringLiteral("XACT_E_CONNECTION_DENIED");
- case HRESULT(0x8004D01E) : return QStringLiteral("XACT_E_REENLISTTIMEOUT");
- case HRESULT(0x8004D01F) : return QStringLiteral("XACT_E_TIP_CONNECT_FAILED");
- case HRESULT(0x8004D020) : return QStringLiteral("XACT_E_TIP_PROTOCOL_ERROR");
- case HRESULT(0x8004D021) : return QStringLiteral("XACT_E_TIP_PULL_FAILED");
- case HRESULT(0x8004D022) : return QStringLiteral("XACT_E_DEST_TMNOTAVAILABLE");
- case HRESULT(0x8004D023) : return QStringLiteral("XACT_E_TIP_DISABLED");
- case HRESULT(0x8004D024) : return QStringLiteral("XACT_E_NETWORK_TX_DISABLED");
- case HRESULT(0x8004D025) : return QStringLiteral("XACT_E_PARTNER_NETWORK_TX_DISABLED");
- case HRESULT(0x8004D026) : return QStringLiteral("XACT_E_XA_TX_DISABLED");
- case HRESULT(0x8004D027) : return QStringLiteral("XACT_E_UNABLE_TO_READ_DTC_CONFIG");
- case HRESULT(0x8004D028) : return QStringLiteral("XACT_E_UNABLE_TO_LOAD_DTC_PROXY");
- case HRESULT(0x8004D029) : return QStringLiteral("XACT_E_ABORTING");
- case HRESULT(0x8004D080) : return QStringLiteral("XACT_E_CLERKNOTFOUND");
- case HRESULT(0x8004D081) : return QStringLiteral("XACT_E_CLERKEXISTS");
- case HRESULT(0x8004D082) : return QStringLiteral("XACT_E_RECOVERYINPROGRESS");
- case HRESULT(0x8004D083) : return QStringLiteral("XACT_E_TRANSACTIONCLOSED");
- case HRESULT(0x8004D084) : return QStringLiteral("XACT_E_INVALIDLSN");
- case HRESULT(0x8004D085) : return QStringLiteral("XACT_E_REPLAYREQUEST");
- case HRESULT(0x0004D000) : return QStringLiteral("XACT_S_ASYNC");
- case HRESULT(0x0004D001) : return QStringLiteral("XACT_S_DEFECT");
- case HRESULT(0x0004D002) : return QStringLiteral("XACT_S_READONLY");
- case HRESULT(0x0004D003) : return QStringLiteral("XACT_S_SOMENORETAIN");
- case HRESULT(0x0004D004) : return QStringLiteral("XACT_S_OKINFORM");
- case HRESULT(0x0004D005) : return QStringLiteral("XACT_S_MADECHANGESCONTENT");
- case HRESULT(0x0004D006) : return QStringLiteral("XACT_S_MADECHANGESINFORM");
- case HRESULT(0x0004D007) : return QStringLiteral("XACT_S_ALLNORETAIN");
- case HRESULT(0x0004D008) : return QStringLiteral("XACT_S_ABORTING");
- case HRESULT(0x0004D009) : return QStringLiteral("XACT_S_SINGLEPHASE");
- case HRESULT(0x0004D00A) : return QStringLiteral("XACT_S_LOCALLY_OK");
- case HRESULT(0x0004D010) : return QStringLiteral("XACT_S_LASTRESOURCEMANAGER");
- case HRESULT(0x8004E002) : return QStringLiteral("CONTEXT_E_ABORTED");
- case HRESULT(0x8004E003) : return QStringLiteral("CONTEXT_E_ABORTING");
- case HRESULT(0x8004E004) : return QStringLiteral("CONTEXT_E_NOCONTEXT");
- case HRESULT(0x8004E005) : return QStringLiteral("CONTEXT_E_WOULD_DEADLOCK");
- case HRESULT(0x8004E006) : return QStringLiteral("CONTEXT_E_SYNCH_TIMEOUT");
- case HRESULT(0x8004E007) : return QStringLiteral("CONTEXT_E_OLDREF");
- case HRESULT(0x8004E00C) : return QStringLiteral("CONTEXT_E_ROLENOTFOUND");
- case HRESULT(0x8004E00F) : return QStringLiteral("CONTEXT_E_TMNOTAVAILABLE");
- case HRESULT(0x8004E021) : return QStringLiteral("CO_E_ACTIVATIONFAILED");
- case HRESULT(0x8004E022) : return QStringLiteral("CO_E_ACTIVATIONFAILED_EVENTLOGGED");
- case HRESULT(0x8004E023) : return QStringLiteral("CO_E_ACTIVATIONFAILED_CATALOGERROR");
- case HRESULT(0x8004E024) : return QStringLiteral("CO_E_ACTIVATIONFAILED_TIMEOUT");
- case HRESULT(0x8004E025) : return QStringLiteral("CO_E_INITIALIZATIONFAILED");
- case HRESULT(0x8004E026) : return QStringLiteral("CONTEXT_E_NOJIT");
- case HRESULT(0x8004E027) : return QStringLiteral("CONTEXT_E_NOTRANSACTION");
- case HRESULT(0x8004E028) : return QStringLiteral("CO_E_THREADINGMODEL_CHANGED");
- case HRESULT(0x8004E029) : return QStringLiteral("CO_E_NOIISINTRINSICS");
- case HRESULT(0x8004E02A) : return QStringLiteral("CO_E_NOCOOKIES");
- case HRESULT(0x8004E02B) : return QStringLiteral("CO_E_DBERROR");
- case HRESULT(0x8004E02C) : return QStringLiteral("CO_E_NOTPOOLED");
- case HRESULT(0x8004E02D) : return QStringLiteral("CO_E_NOTCONSTRUCTED");
- case HRESULT(0x8004E02E) : return QStringLiteral("CO_E_NOSYNCHRONIZATION");
- case HRESULT(0x8004E02F) : return QStringLiteral("CO_E_ISOLEVELMISMATCH");
- case HRESULT(0x00040000) : return QStringLiteral("OLE_S_USEREG");
- case HRESULT(0x00040001) : return QStringLiteral("OLE_S_STATIC");
- case HRESULT(0x00040002) : return QStringLiteral("OLE_S_MAC_CLIPFORMAT");
- case HRESULT(0x00040100) : return QStringLiteral("DRAGDROP_S_DROP");
- case HRESULT(0x00040101) : return QStringLiteral("DRAGDROP_S_CANCEL");
- case HRESULT(0x00040102) : return QStringLiteral("DRAGDROP_S_USEDEFAULTCURSORS");
- case HRESULT(0x00040130) : return QStringLiteral("DATA_S_SAMEFORMATETC");
- case HRESULT(0x00040140) : return QStringLiteral("VIEW_S_ALREADY_FROZEN");
- case HRESULT(0x00040170) : return QStringLiteral("CACHE_S_FORMATETC_NOTSUPPORTED");
- case HRESULT(0x00040171) : return QStringLiteral("CACHE_S_SAMECACHE");
- case HRESULT(0x00040172) : return QStringLiteral("CACHE_S_SOMECACHES_NOTUPDATED");
- case HRESULT(0x00040180) : return QStringLiteral("OLEOBJ_S_INVALIDVERB");
- case HRESULT(0x00040181) : return QStringLiteral("OLEOBJ_S_CANNOT_DOVERB_NOW");
- case HRESULT(0x00040182) : return QStringLiteral("OLEOBJ_S_INVALIDHWND");
- case HRESULT(0x000401A0) : return QStringLiteral("INPLACE_S_TRUNCATED");
- case HRESULT(0x000401C0) : return QStringLiteral("CONVERT10_S_NO_PRESENTATION");
- case HRESULT(0x000401E2) : return QStringLiteral("MK_S_REDUCED_TO_SELF");
- case HRESULT(0x000401E4) : return QStringLiteral("MK_S_ME");
- case HRESULT(0x000401E5) : return QStringLiteral("MK_S_HIM");
- case HRESULT(0x000401E6) : return QStringLiteral("MK_S_US");
- case HRESULT(0x000401E7) : return QStringLiteral("MK_S_MONIKERALREADYREGISTERED");
- case HRESULT(0x00041300) : return QStringLiteral("SCHED_S_TASK_READY");
- case HRESULT(0x00041301) : return QStringLiteral("SCHED_S_TASK_RUNNING");
- case HRESULT(0x00041302) : return QStringLiteral("SCHED_S_TASK_DISABLED");
- case HRESULT(0x00041303) : return QStringLiteral("SCHED_S_TASK_HAS_NOT_RUN");
- case HRESULT(0x00041304) : return QStringLiteral("SCHED_S_TASK_NO_MORE_RUNS");
- case HRESULT(0x00041305) : return QStringLiteral("SCHED_S_TASK_NOT_SCHEDULED");
- case HRESULT(0x00041306) : return QStringLiteral("SCHED_S_TASK_TERMINATED");
- case HRESULT(0x00041307) : return QStringLiteral("SCHED_S_TASK_NO_VALID_TRIGGERS");
- case HRESULT(0x00041308) : return QStringLiteral("SCHED_S_EVENT_TRIGGER");
- case HRESULT(0x80041309) : return QStringLiteral("SCHED_E_TRIGGER_NOT_FOUND");
- case HRESULT(0x8004130A) : return QStringLiteral("SCHED_E_TASK_NOT_READY");
- case HRESULT(0x8004130B) : return QStringLiteral("SCHED_E_TASK_NOT_RUNNING");
- case HRESULT(0x8004130C) : return QStringLiteral("SCHED_E_SERVICE_NOT_INSTALLED");
- case HRESULT(0x8004130D) : return QStringLiteral("SCHED_E_CANNOT_OPEN_TASK");
- case HRESULT(0x8004130E) : return QStringLiteral("SCHED_E_INVALID_TASK");
- case HRESULT(0x8004130F) : return QStringLiteral("SCHED_E_ACCOUNT_INFORMATION_NOT_SET");
- case HRESULT(0x80041310) : return QStringLiteral("SCHED_E_ACCOUNT_NAME_NOT_FOUND");
- case HRESULT(0x80041311) : return QStringLiteral("SCHED_E_ACCOUNT_DBASE_CORRUPT");
- case HRESULT(0x80041312) : return QStringLiteral("SCHED_E_NO_SECURITY_SERVICES");
- case HRESULT(0x80041313) : return QStringLiteral("SCHED_E_UNKNOWN_OBJECT_VERSION");
- case HRESULT(0x80041314) : return QStringLiteral("SCHED_E_UNSUPPORTED_ACCOUNT_OPTION");
- case HRESULT(0x80041315) : return QStringLiteral("SCHED_E_SERVICE_NOT_RUNNING");
- case HRESULT(0x80080001) : return QStringLiteral("CO_E_CLASS_CREATE_FAILED");
- case HRESULT(0x80080002) : return QStringLiteral("CO_E_SCM_ERROR");
- case HRESULT(0x80080003) : return QStringLiteral("CO_E_SCM_RPC_FAILURE");
- case HRESULT(0x80080004) : return QStringLiteral("CO_E_BAD_PATH");
- case HRESULT(0x80080005) : return QStringLiteral("CO_E_SERVER_EXEC_FAILURE");
- case HRESULT(0x80080006) : return QStringLiteral("CO_E_OBJSRV_RPC_FAILURE");
- case HRESULT(0x80080007) : return QStringLiteral("MK_E_NO_NORMALIZED");
- case HRESULT(0x80080008) : return QStringLiteral("CO_E_SERVER_STOPPING");
- case HRESULT(0x80080009) : return QStringLiteral("MEM_E_INVALID_ROOT");
- case HRESULT(0x80080010) : return QStringLiteral("MEM_E_INVALID_LINK");
- case HRESULT(0x80080011) : return QStringLiteral("MEM_E_INVALID_SIZE");
- case HRESULT(0x00080012) : return QStringLiteral("CO_S_NOTALLINTERFACES");
- case HRESULT(0x00080013) : return QStringLiteral("CO_S_MACHINENAMENOTFOUND");
- case HRESULT(0x80020001) : return QStringLiteral("DISP_E_UNKNOWNINTERFACE");
- case HRESULT(0x80020003) : return QStringLiteral("DISP_E_MEMBERNOTFOUND");
- case HRESULT(0x80020004) : return QStringLiteral("DISP_E_PARAMNOTFOUND");
- case HRESULT(0x80020005) : return QStringLiteral("DISP_E_TYPEMISMATCH");
- case HRESULT(0x80020006) : return QStringLiteral("DISP_E_UNKNOWNNAME");
- case HRESULT(0x80020007) : return QStringLiteral("DISP_E_NONAMEDARGS");
- case HRESULT(0x80020008) : return QStringLiteral("DISP_E_BADVARTYPE");
- case HRESULT(0x80020009) : return QStringLiteral("DISP_E_EXCEPTION");
- case HRESULT(0x8002000A) : return QStringLiteral("DISP_E_OVERFLOW");
- case HRESULT(0x8002000B) : return QStringLiteral("DISP_E_BADINDEX");
- case HRESULT(0x8002000C) : return QStringLiteral("DISP_E_UNKNOWNLCID");
- case HRESULT(0x8002000D) : return QStringLiteral("DISP_E_ARRAYISLOCKED");
- case HRESULT(0x8002000E) : return QStringLiteral("DISP_E_BADPARAMCOUNT");
- case HRESULT(0x8002000F) : return QStringLiteral("DISP_E_PARAMNOTOPTIONAL");
- case HRESULT(0x80020010) : return QStringLiteral("DISP_E_BADCALLEE");
- case HRESULT(0x80020011) : return QStringLiteral("DISP_E_NOTACOLLECTION");
- case HRESULT(0x80020012) : return QStringLiteral("DISP_E_DIVBYZERO");
- case HRESULT(0x80020013) : return QStringLiteral("DISP_E_BUFFERTOOSMALL");
- case HRESULT(0x80028016) : return QStringLiteral("TYPE_E_BUFFERTOOSMALL");
- case HRESULT(0x80028017) : return QStringLiteral("TYPE_E_FIELDNOTFOUND");
- case HRESULT(0x80028018) : return QStringLiteral("TYPE_E_INVDATAREAD");
- case HRESULT(0x80028019) : return QStringLiteral("TYPE_E_UNSUPFORMAT");
- case HRESULT(0x8002801C) : return QStringLiteral("TYPE_E_REGISTRYACCESS");
- case HRESULT(0x8002801D) : return QStringLiteral("TYPE_E_LIBNOTREGISTERED");
- case HRESULT(0x80028027) : return QStringLiteral("TYPE_E_UNDEFINEDTYPE");
- case HRESULT(0x80028028) : return QStringLiteral("TYPE_E_QUALIFIEDNAMEDISALLOWED");
- case HRESULT(0x80028029) : return QStringLiteral("TYPE_E_INVALIDSTATE");
- case HRESULT(0x8002802A) : return QStringLiteral("TYPE_E_WRONGTYPEKIND");
- case HRESULT(0x8002802B) : return QStringLiteral("TYPE_E_ELEMENTNOTFOUND");
- case HRESULT(0x8002802C) : return QStringLiteral("TYPE_E_AMBIGUOUSNAME");
- case HRESULT(0x8002802D) : return QStringLiteral("TYPE_E_NAMECONFLICT");
- case HRESULT(0x8002802E) : return QStringLiteral("TYPE_E_UNKNOWNLCID");
- case HRESULT(0x8002802F) : return QStringLiteral("TYPE_E_DLLFUNCTIONNOTFOUND");
- case HRESULT(0x800288BD) : return QStringLiteral("TYPE_E_BADMODULEKIND");
- case HRESULT(0x800288C5) : return QStringLiteral("TYPE_E_SIZETOOBIG");
- case HRESULT(0x800288C6) : return QStringLiteral("TYPE_E_DUPLICATEID");
- case HRESULT(0x800288CF) : return QStringLiteral("TYPE_E_INVALIDID");
- case HRESULT(0x80028CA0) : return QStringLiteral("TYPE_E_TYPEMISMATCH");
- case HRESULT(0x80028CA1) : return QStringLiteral("TYPE_E_OUTOFBOUNDS");
- case HRESULT(0x80028CA2) : return QStringLiteral("TYPE_E_IOERROR");
- case HRESULT(0x80028CA3) : return QStringLiteral("TYPE_E_CANTCREATETMPFILE");
- case HRESULT(0x80029C4A) : return QStringLiteral("TYPE_E_CANTLOADLIBRARY");
- case HRESULT(0x80029C83) : return QStringLiteral("TYPE_E_INCONSISTENTPROPFUNCS");
- case HRESULT(0x80029C84) : return QStringLiteral("TYPE_E_CIRCULARTYPE");
- case HRESULT(0x80030001) : return QStringLiteral("STG_E_INVALIDFUNCTION");
- case HRESULT(0x80030002) : return QStringLiteral("STG_E_FILENOTFOUND");
- case HRESULT(0x80030003) : return QStringLiteral("STG_E_PATHNOTFOUND");
- case HRESULT(0x80030004) : return QStringLiteral("STG_E_TOOMANYOPENFILES");
- case HRESULT(0x80030005) : return QStringLiteral("STG_E_ACCESSDENIED");
- case HRESULT(0x80030006) : return QStringLiteral("STG_E_INVALIDHANDLE");
- case HRESULT(0x80030008) : return QStringLiteral("STG_E_INSUFFICIENTMEMORY");
- case HRESULT(0x80030009) : return QStringLiteral("STG_E_INVALIDPOINTER");
- case HRESULT(0x80030012) : return QStringLiteral("STG_E_NOMOREFILES");
- case HRESULT(0x80030013) : return QStringLiteral("STG_E_DISKISWRITEPROTECTED");
- case HRESULT(0x80030019) : return QStringLiteral("STG_E_SEEKERROR");
- case HRESULT(0x8003001D) : return QStringLiteral("STG_E_WRITEFAULT");
- case HRESULT(0x8003001E) : return QStringLiteral("STG_E_READFAULT");
- case HRESULT(0x80030020) : return QStringLiteral("STG_E_SHAREVIOLATION");
- case HRESULT(0x80030021) : return QStringLiteral("STG_E_LOCKVIOLATION");
- case HRESULT(0x80030050) : return QStringLiteral("STG_E_FILEALREADYEXISTS");
- case HRESULT(0x80030057) : return QStringLiteral("STG_E_INVALIDPARAMETER");
- case HRESULT(0x80030070) : return QStringLiteral("STG_E_MEDIUMFULL");
- case HRESULT(0x800300F0) : return QStringLiteral("STG_E_PROPSETMISMATCHED");
- case HRESULT(0x800300FA) : return QStringLiteral("STG_E_ABNORMALAPIEXIT");
- case HRESULT(0x800300FB) : return QStringLiteral("STG_E_INVALIDHEADER");
- case HRESULT(0x800300FC) : return QStringLiteral("STG_E_INVALIDNAME");
- case HRESULT(0x800300FD) : return QStringLiteral("STG_E_UNKNOWN");
- case HRESULT(0x800300FE) : return QStringLiteral("STG_E_UNIMPLEMENTEDFUNCTION");
- case HRESULT(0x800300FF) : return QStringLiteral("STG_E_INVALIDFLAG");
- case HRESULT(0x80030100) : return QStringLiteral("STG_E_INUSE");
- case HRESULT(0x80030101) : return QStringLiteral("STG_E_NOTCURRENT");
- case HRESULT(0x80030102) : return QStringLiteral("STG_E_REVERTED");
- case HRESULT(0x80030103) : return QStringLiteral("STG_E_CANTSAVE");
- case HRESULT(0x80030104) : return QStringLiteral("STG_E_OLDFORMAT");
- case HRESULT(0x80030105) : return QStringLiteral("STG_E_OLDDLL");
- case HRESULT(0x80030106) : return QStringLiteral("STG_E_SHAREREQUIRED");
- case HRESULT(0x80030107) : return QStringLiteral("STG_E_NOTFILEBASEDSTORAGE");
- case HRESULT(0x80030108) : return QStringLiteral("STG_E_EXTANTMARSHALLINGS");
- case HRESULT(0x80030109) : return QStringLiteral("STG_E_DOCFILECORRUPT");
- case HRESULT(0x80030110) : return QStringLiteral("STG_E_BADBASEADDRESS");
- case HRESULT(0x80030111) : return QStringLiteral("STG_E_DOCFILETOOLARGE");
- case HRESULT(0x80030112) : return QStringLiteral("STG_E_NOTSIMPLEFORMAT");
- case HRESULT(0x80030201) : return QStringLiteral("STG_E_INCOMPLETE");
- case HRESULT(0x80030202) : return QStringLiteral("STG_E_TERMINATED");
- case HRESULT(0x00030200) : return QStringLiteral("STG_S_CONVERTED");
- case HRESULT(0x00030201) : return QStringLiteral("STG_S_BLOCK");
- case HRESULT(0x00030202) : return QStringLiteral("STG_S_RETRYNOW");
- case HRESULT(0x00030203) : return QStringLiteral("STG_S_MONITORING");
- case HRESULT(0x00030204) : return QStringLiteral("STG_S_MULTIPLEOPENS");
- case HRESULT(0x00030205) : return QStringLiteral("STG_S_CONSOLIDATIONFAILED");
- case HRESULT(0x00030206) : return QStringLiteral("STG_S_CANNOTCONSOLIDATE");
- case HRESULT(0x80030305) : return QStringLiteral("STG_E_STATUS_COPY_PROTECTION_FAILURE");
- case HRESULT(0x80030306) : return QStringLiteral("STG_E_CSS_AUTHENTICATION_FAILURE");
- case HRESULT(0x80030307) : return QStringLiteral("STG_E_CSS_KEY_NOT_PRESENT");
- case HRESULT(0x80030308) : return QStringLiteral("STG_E_CSS_KEY_NOT_ESTABLISHED");
- case HRESULT(0x80030309) : return QStringLiteral("STG_E_CSS_SCRAMBLED_SECTOR");
- case HRESULT(0x8003030A) : return QStringLiteral("STG_E_CSS_REGION_MISMATCH");
- case HRESULT(0x8003030B) : return QStringLiteral("STG_E_RESETS_EXHAUSTED");
- case HRESULT(0x80010001) : return QStringLiteral("RPC_E_CALL_REJECTED");
- case HRESULT(0x80010002) : return QStringLiteral("RPC_E_CALL_CANCELED");
- case HRESULT(0x80010003) : return QStringLiteral("RPC_E_CANTPOST_INSENDCALL");
- case HRESULT(0x80010004) : return QStringLiteral("RPC_E_CANTCALLOUT_INASYNCCALL");
- case HRESULT(0x80010005) : return QStringLiteral("RPC_E_CANTCALLOUT_INEXTERNALCALL");
- case HRESULT(0x80010006) : return QStringLiteral("RPC_E_CONNECTION_TERMINATED");
- case HRESULT(0x80010007) : return QStringLiteral("RPC_E_SERVER_DIED");
- case HRESULT(0x80010008) : return QStringLiteral("RPC_E_CLIENT_DIED");
- case HRESULT(0x80010009) : return QStringLiteral("RPC_E_INVALID_DATAPACKET");
- case HRESULT(0x8001000A) : return QStringLiteral("RPC_E_CANTTRANSMIT_CALL");
- case HRESULT(0x8001000B) : return QStringLiteral("RPC_E_CLIENT_CANTMARSHAL_DATA");
- case HRESULT(0x8001000C) : return QStringLiteral("RPC_E_CLIENT_CANTUNMARSHAL_DATA");
- case HRESULT(0x8001000D) : return QStringLiteral("RPC_E_SERVER_CANTMARSHAL_DATA");
- case HRESULT(0x8001000E) : return QStringLiteral("RPC_E_SERVER_CANTUNMARSHAL_DATA");
- case HRESULT(0x8001000F) : return QStringLiteral("RPC_E_INVALID_DATA");
- case HRESULT(0x80010010) : return QStringLiteral("RPC_E_INVALID_PARAMETER");
- case HRESULT(0x80010011) : return QStringLiteral("RPC_E_CANTCALLOUT_AGAIN");
- case HRESULT(0x80010012) : return QStringLiteral("RPC_E_SERVER_DIED_DNE");
- case HRESULT(0x80010100) : return QStringLiteral("RPC_E_SYS_CALL_FAILED");
- case HRESULT(0x80010101) : return QStringLiteral("RPC_E_OUT_OF_RESOURCES");
- case HRESULT(0x80010102) : return QStringLiteral("RPC_E_ATTEMPTED_MULTITHREAD");
- case HRESULT(0x80010103) : return QStringLiteral("RPC_E_NOT_REGISTERED");
- case HRESULT(0x80010104) : return QStringLiteral("RPC_E_FAULT");
- case HRESULT(0x80010105) : return QStringLiteral("RPC_E_SERVERFAULT");
- case HRESULT(0x80010106) : return QStringLiteral("RPC_E_CHANGED_MODE");
- case HRESULT(0x80010107) : return QStringLiteral("RPC_E_INVALIDMETHOD");
- case HRESULT(0x80010108) : return QStringLiteral("RPC_E_DISCONNECTED");
- case HRESULT(0x80010109) : return QStringLiteral("RPC_E_RETRY");
- case HRESULT(0x8001010A) : return QStringLiteral("RPC_E_SERVERCALL_RETRYLATER");
- case HRESULT(0x8001010B) : return QStringLiteral("RPC_E_SERVERCALL_REJECTED");
- case HRESULT(0x8001010C) : return QStringLiteral("RPC_E_INVALID_CALLDATA");
- case HRESULT(0x8001010D) : return QStringLiteral("RPC_E_CANTCALLOUT_ININPUTSYNCCALL");
- case HRESULT(0x8001010E) : return QStringLiteral("RPC_E_WRONG_THREAD");
- case HRESULT(0x8001010F) : return QStringLiteral("RPC_E_THREAD_NOT_INIT");
- case HRESULT(0x80010110) : return QStringLiteral("RPC_E_VERSION_MISMATCH");
- case HRESULT(0x80010111) : return QStringLiteral("RPC_E_INVALID_HEADER");
- case HRESULT(0x80010112) : return QStringLiteral("RPC_E_INVALID_EXTENSION");
- case HRESULT(0x80010113) : return QStringLiteral("RPC_E_INVALID_IPID");
- case HRESULT(0x80010114) : return QStringLiteral("RPC_E_INVALID_OBJECT");
- case HRESULT(0x80010115) : return QStringLiteral("RPC_S_CALLPENDING");
- case HRESULT(0x80010116) : return QStringLiteral("RPC_S_WAITONTIMER");
- case HRESULT(0x80010117) : return QStringLiteral("RPC_E_CALL_COMPLETE");
- case HRESULT(0x80010118) : return QStringLiteral("RPC_E_UNSECURE_CALL");
- case HRESULT(0x80010119) : return QStringLiteral("RPC_E_TOO_LATE");
- case HRESULT(0x8001011A) : return QStringLiteral("RPC_E_NO_GOOD_SECURITY_PACKAGES");
- case HRESULT(0x8001011B) : return QStringLiteral("RPC_E_ACCESS_DENIED");
- case HRESULT(0x8001011C) : return QStringLiteral("RPC_E_REMOTE_DISABLED");
- case HRESULT(0x8001011D) : return QStringLiteral("RPC_E_INVALID_OBJREF");
- case HRESULT(0x8001011E) : return QStringLiteral("RPC_E_NO_CONTEXT");
- case HRESULT(0x8001011F) : return QStringLiteral("RPC_E_TIMEOUT");
- case HRESULT(0x80010120) : return QStringLiteral("RPC_E_NO_SYNC");
- case HRESULT(0x80010121) : return QStringLiteral("RPC_E_FULLSIC_REQUIRED");
- case HRESULT(0x80010122) : return QStringLiteral("RPC_E_INVALID_STD_NAME");
- case HRESULT(0x80010123) : return QStringLiteral("CO_E_FAILEDTOIMPERSONATE");
- case HRESULT(0x80010124) : return QStringLiteral("CO_E_FAILEDTOGETSECCTX");
- case HRESULT(0x80010125) : return QStringLiteral("CO_E_FAILEDTOOPENTHREADTOKEN");
- case HRESULT(0x80010126) : return QStringLiteral("CO_E_FAILEDTOGETTOKENINFO");
- case HRESULT(0x80010127) : return QStringLiteral("CO_E_TRUSTEEDOESNTMATCHCLIENT");
- case HRESULT(0x80010128) : return QStringLiteral("CO_E_FAILEDTOQUERYCLIENTBLANKET");
- case HRESULT(0x80010129) : return QStringLiteral("CO_E_FAILEDTOSETDACL");
- case HRESULT(0x8001012A) : return QStringLiteral("CO_E_ACCESSCHECKFAILED");
- case HRESULT(0x8001012B) : return QStringLiteral("CO_E_NETACCESSAPIFAILED");
- case HRESULT(0x8001012C) : return QStringLiteral("CO_E_WRONGTRUSTEENAMESYNTAX");
- case HRESULT(0x8001012D) : return QStringLiteral("CO_E_INVALIDSID");
- case HRESULT(0x8001012E) : return QStringLiteral("CO_E_CONVERSIONFAILED");
- case HRESULT(0x8001012F) : return QStringLiteral("CO_E_NOMATCHINGSIDFOUND");
- case HRESULT(0x80010130) : return QStringLiteral("CO_E_LOOKUPACCSIDFAILED");
- case HRESULT(0x80010131) : return QStringLiteral("CO_E_NOMATCHINGNAMEFOUND");
- case HRESULT(0x80010132) : return QStringLiteral("CO_E_LOOKUPACCNAMEFAILED");
- case HRESULT(0x80010133) : return QStringLiteral("CO_E_SETSERLHNDLFAILED");
- case HRESULT(0x80010134) : return QStringLiteral("CO_E_FAILEDTOGETWINDIR");
- case HRESULT(0x80010135) : return QStringLiteral("CO_E_PATHTOOLONG");
- case HRESULT(0x80010136) : return QStringLiteral("CO_E_FAILEDTOGENUUID");
- case HRESULT(0x80010137) : return QStringLiteral("CO_E_FAILEDTOCREATEFILE");
- case HRESULT(0x80010138) : return QStringLiteral("CO_E_FAILEDTOCLOSEHANDLE");
- case HRESULT(0x80010139) : return QStringLiteral("CO_E_EXCEEDSYSACLLIMIT");
- case HRESULT(0x8001013A) : return QStringLiteral("CO_E_ACESINWRONGORDER");
- case HRESULT(0x8001013B) : return QStringLiteral("CO_E_INCOMPATIBLESTREAMVERSION");
- case HRESULT(0x8001013C) : return QStringLiteral("CO_E_FAILEDTOOPENPROCESSTOKEN");
- case HRESULT(0x8001013D) : return QStringLiteral("CO_E_DECODEFAILED");
- case HRESULT(0x8001013F) : return QStringLiteral("CO_E_ACNOTINITIALIZED");
- case HRESULT(0x80010140) : return QStringLiteral("CO_E_CANCEL_DISABLED");
- case HRESULT(0x8001FFFF) : return QStringLiteral("RPC_E_UNEXPECTED");
- case HRESULT(0xC0090001) : return QStringLiteral("ERROR_AUDITING_DISABLED");
- case HRESULT(0xC0090002) : return QStringLiteral("ERROR_ALL_SIDS_FILTERED");
- case HRESULT(0x80090001) : return QStringLiteral("NTE_BAD_UID");
- case HRESULT(0x80090002) : return QStringLiteral("NTE_BAD_HASH");
- case HRESULT(0x80090003) : return QStringLiteral("NTE_BAD_KEY");
- case HRESULT(0x80090004) : return QStringLiteral("NTE_BAD_LEN");
- case HRESULT(0x80090005) : return QStringLiteral("NTE_BAD_DATA");
- case HRESULT(0x80090006) : return QStringLiteral("NTE_BAD_SIGNATURE");
- case HRESULT(0x80090007) : return QStringLiteral("NTE_BAD_VER");
- case HRESULT(0x80090008) : return QStringLiteral("NTE_BAD_ALGID");
- case HRESULT(0x80090009) : return QStringLiteral("NTE_BAD_FLAGS");
- case HRESULT(0x8009000A) : return QStringLiteral("NTE_BAD_TYPE");
- case HRESULT(0x8009000B) : return QStringLiteral("NTE_BAD_KEY_STATE");
- case HRESULT(0x8009000C) : return QStringLiteral("NTE_BAD_HASH_STATE");
- case HRESULT(0x8009000D) : return QStringLiteral("NTE_NO_KEY");
- case HRESULT(0x8009000E) : return QStringLiteral("NTE_NO_MEMORY");
- case HRESULT(0x8009000F) : return QStringLiteral("NTE_EXISTS");
- case HRESULT(0x80090010) : return QStringLiteral("NTE_PERM");
- case HRESULT(0x80090011) : return QStringLiteral("NTE_NOT_FOUND");
- case HRESULT(0x80090012) : return QStringLiteral("NTE_DOUBLE_ENCRYPT");
- case HRESULT(0x80090013) : return QStringLiteral("NTE_BAD_PROVIDER");
- case HRESULT(0x80090014) : return QStringLiteral("NTE_BAD_PROV_TYPE");
- case HRESULT(0x80090015) : return QStringLiteral("NTE_BAD_PUBLIC_KEY");
- case HRESULT(0x80090016) : return QStringLiteral("NTE_BAD_KEYSET");
- case HRESULT(0x80090017) : return QStringLiteral("NTE_PROV_TYPE_NOT_DEF");
- case HRESULT(0x80090018) : return QStringLiteral("NTE_PROV_TYPE_ENTRY_BAD");
- case HRESULT(0x80090019) : return QStringLiteral("NTE_KEYSET_NOT_DEF");
- case HRESULT(0x8009001A) : return QStringLiteral("NTE_KEYSET_ENTRY_BAD");
- case HRESULT(0x8009001B) : return QStringLiteral("NTE_PROV_TYPE_NO_MATCH");
- case HRESULT(0x8009001C) : return QStringLiteral("NTE_SIGNATURE_FILE_BAD");
- case HRESULT(0x8009001D) : return QStringLiteral("NTE_PROVIDER_DLL_FAIL");
- case HRESULT(0x8009001E) : return QStringLiteral("NTE_PROV_DLL_NOT_FOUND");
- case HRESULT(0x8009001F) : return QStringLiteral("NTE_BAD_KEYSET_PARAM");
- case HRESULT(0x80090020) : return QStringLiteral("NTE_FAIL");
- case HRESULT(0x80090021) : return QStringLiteral("NTE_SYS_ERR");
- case HRESULT(0x80090022) : return QStringLiteral("NTE_SILENT_CONTEXT");
- case HRESULT(0x80090023) : return QStringLiteral("NTE_TOKEN_KEYSET_STORAGE_FULL");
- case HRESULT(0x80090024) : return QStringLiteral("NTE_TEMPORARY_PROFILE");
- case HRESULT(0x80090025) : return QStringLiteral("NTE_FIXEDPARAMETER");
- case HRESULT(0x80090300) : return QStringLiteral("SEC_E_INSUFFICIENT_MEMORY");
- case HRESULT(0x80090301) : return QStringLiteral("SEC_E_INVALID_HANDLE");
- case HRESULT(0x80090302) : return QStringLiteral("SEC_E_UNSUPPORTED_FUNCTION");
- case HRESULT(0x80090303) : return QStringLiteral("SEC_E_TARGET_UNKNOWN");
- case HRESULT(0x80090304) : return QStringLiteral("SEC_E_INTERNAL_ERROR");
- case HRESULT(0x80090305) : return QStringLiteral("SEC_E_SECPKG_NOT_FOUND");
- case HRESULT(0x80090306) : return QStringLiteral("SEC_E_NOT_OWNER");
- case HRESULT(0x80090307) : return QStringLiteral("SEC_E_CANNOT_INSTALL");
- case HRESULT(0x80090308) : return QStringLiteral("SEC_E_INVALID_TOKEN");
- case HRESULT(0x80090309) : return QStringLiteral("SEC_E_CANNOT_PACK");
- case HRESULT(0x8009030A) : return QStringLiteral("SEC_E_QOP_NOT_SUPPORTED");
- case HRESULT(0x8009030B) : return QStringLiteral("SEC_E_NO_IMPERSONATION");
- case HRESULT(0x8009030C) : return QStringLiteral("SEC_E_LOGON_DENIED");
- case HRESULT(0x8009030D) : return QStringLiteral("SEC_E_UNKNOWN_CREDENTIALS");
- case HRESULT(0x8009030E) : return QStringLiteral("SEC_E_NO_CREDENTIALS");
- case HRESULT(0x8009030F) : return QStringLiteral("SEC_E_MESSAGE_ALTERED");
- case HRESULT(0x80090310) : return QStringLiteral("SEC_E_OUT_OF_SEQUENCE");
- case HRESULT(0x80090311) : return QStringLiteral("SEC_E_NO_AUTHENTICATING_AUTHORITY");
- case HRESULT(0x00090312) : return QStringLiteral("SEC_I_CONTINUE_NEEDED");
- case HRESULT(0x00090313) : return QStringLiteral("SEC_I_COMPLETE_NEEDED");
- case HRESULT(0x00090314) : return QStringLiteral("SEC_I_COMPLETE_AND_CONTINUE");
- case HRESULT(0x00090315) : return QStringLiteral("SEC_I_LOCAL_LOGON");
- case HRESULT(0x80090316) : return QStringLiteral("SEC_E_BAD_PKGID");
- case HRESULT(0x80090317) : return QStringLiteral("SEC_E_CONTEXT_EXPIRED");
- case HRESULT(0x00090317) : return QStringLiteral("SEC_I_CONTEXT_EXPIRED");
- case HRESULT(0x80090318) : return QStringLiteral("SEC_E_INCOMPLETE_MESSAGE");
- case HRESULT(0x80090320) : return QStringLiteral("SEC_E_INCOMPLETE_CREDENTIALS");
- case HRESULT(0x80090321) : return QStringLiteral("SEC_E_BUFFER_TOO_SMALL");
- case HRESULT(0x00090320) : return QStringLiteral("SEC_I_INCOMPLETE_CREDENTIALS");
- case HRESULT(0x00090321) : return QStringLiteral("SEC_I_RENEGOTIATE");
- case HRESULT(0x80090322) : return QStringLiteral("SEC_E_WRONG_PRINCIPAL");
- case HRESULT(0x00090323) : return QStringLiteral("SEC_I_NO_LSA_CONTEXT");
- case HRESULT(0x80090324) : return QStringLiteral("SEC_E_TIME_SKEW");
- case HRESULT(0x80090325) : return QStringLiteral("SEC_E_UNTRUSTED_ROOT");
- case HRESULT(0x80090326) : return QStringLiteral("SEC_E_ILLEGAL_MESSAGE");
- case HRESULT(0x80090327) : return QStringLiteral("SEC_E_CERT_UNKNOWN");
- case HRESULT(0x80090328) : return QStringLiteral("SEC_E_CERT_EXPIRED");
- case HRESULT(0x80090329) : return QStringLiteral("SEC_E_ENCRYPT_FAILURE");
- case HRESULT(0x80090330) : return QStringLiteral("SEC_E_DECRYPT_FAILURE");
- case HRESULT(0x80090331) : return QStringLiteral("SEC_E_ALGORITHM_MISMATCH");
- case HRESULT(0x80090332) : return QStringLiteral("SEC_E_SECURITY_QOS_FAILED");
- case HRESULT(0x80090333) : return QStringLiteral("SEC_E_UNFINISHED_CONTEXT_DELETED");
- case HRESULT(0x80090334) : return QStringLiteral("SEC_E_NO_TGT_REPLY");
- case HRESULT(0x80090335) : return QStringLiteral("SEC_E_NO_IP_ADDRESSES");
- case HRESULT(0x80090336) : return QStringLiteral("SEC_E_WRONG_CREDENTIAL_HANDLE");
- case HRESULT(0x80090337) : return QStringLiteral("SEC_E_CRYPTO_SYSTEM_INVALID");
- case HRESULT(0x80090338) : return QStringLiteral("SEC_E_MAX_REFERRALS_EXCEEDED");
- case HRESULT(0x80090339) : return QStringLiteral("SEC_E_MUST_BE_KDC");
- case HRESULT(0x8009033A) : return QStringLiteral("SEC_E_STRONG_CRYPTO_NOT_SUPPORTED");
- case HRESULT(0x8009033B) : return QStringLiteral("SEC_E_TOO_MANY_PRINCIPALS");
- case HRESULT(0x8009033C) : return QStringLiteral("SEC_E_NO_PA_DATA");
- case HRESULT(0x8009033D) : return QStringLiteral("SEC_E_PKINIT_NAME_MISMATCH");
- case HRESULT(0x8009033E) : return QStringLiteral("SEC_E_SMARTCARD_LOGON_REQUIRED");
- case HRESULT(0x8009033F) : return QStringLiteral("SEC_E_SHUTDOWN_IN_PROGRESS");
- case HRESULT(0x80090340) : return QStringLiteral("SEC_E_KDC_INVALID_REQUEST");
- case HRESULT(0x80090341) : return QStringLiteral("SEC_E_KDC_UNABLE_TO_REFER");
- case HRESULT(0x80090342) : return QStringLiteral("SEC_E_KDC_UNKNOWN_ETYPE");
- case HRESULT(0x80090343) : return QStringLiteral("SEC_E_UNSUPPORTED_PREAUTH");
- case HRESULT(0x80090345) : return QStringLiteral("SEC_E_DELEGATION_REQUIRED");
- case HRESULT(0x80090346) : return QStringLiteral("SEC_E_BAD_BINDINGS");
- case HRESULT(0x80090347) : return QStringLiteral("SEC_E_MULTIPLE_ACCOUNTS");
- case HRESULT(0x80090348) : return QStringLiteral("SEC_E_NO_KERB_KEY");
- case HRESULT(0x80090349) : return QStringLiteral("SEC_E_CERT_WRONG_USAGE");
- case HRESULT(0x80090350) : return QStringLiteral("SEC_E_DOWNGRADE_DETECTED");
- case HRESULT(0x80090351) : return QStringLiteral("SEC_E_SMARTCARD_CERT_REVOKED");
- case HRESULT(0x80090352) : return QStringLiteral("SEC_E_ISSUING_CA_UNTRUSTED");
- case HRESULT(0x80090353) : return QStringLiteral("SEC_E_REVOCATION_OFFLINE_C");
- case HRESULT(0x80090354) : return QStringLiteral("SEC_E_PKINIT_CLIENT_FAILURE");
- case HRESULT(0x80090355) : return QStringLiteral("SEC_E_SMARTCARD_CERT_EXPIRED");
- case HRESULT(0x80090356) : return QStringLiteral("SEC_E_NO_S4U_PROT_SUPPORT");
- case HRESULT(0x80090357) : return QStringLiteral("SEC_E_CROSSREALM_DELEGATION_FAILURE");
- case HRESULT(0x80090358) : return QStringLiteral("SEC_E_REVOCATION_OFFLINE_KDC");
- case HRESULT(0x80090359) : return QStringLiteral("SEC_E_ISSUING_CA_UNTRUSTED_KDC");
- case HRESULT(0x8009035A) : return QStringLiteral("SEC_E_KDC_CERT_EXPIRED");
- case HRESULT(0x8009035B) : return QStringLiteral("SEC_E_KDC_CERT_REVOKED");
- case HRESULT(0x80091001) : return QStringLiteral("CRYPT_E_MSG_ERROR");
- case HRESULT(0x80091002) : return QStringLiteral("CRYPT_E_UNKNOWN_ALGO");
- case HRESULT(0x80091003) : return QStringLiteral("CRYPT_E_OID_FORMAT");
- case HRESULT(0x80091004) : return QStringLiteral("CRYPT_E_INVALID_MSG_TYPE");
- case HRESULT(0x80091005) : return QStringLiteral("CRYPT_E_UNEXPECTED_ENCODING");
- case HRESULT(0x80091006) : return QStringLiteral("CRYPT_E_AUTH_ATTR_MISSING");
- case HRESULT(0x80091007) : return QStringLiteral("CRYPT_E_HASH_VALUE");
- case HRESULT(0x80091008) : return QStringLiteral("CRYPT_E_INVALID_INDEX");
- case HRESULT(0x80091009) : return QStringLiteral("CRYPT_E_ALREADY_DECRYPTED");
- case HRESULT(0x8009100A) : return QStringLiteral("CRYPT_E_NOT_DECRYPTED");
- case HRESULT(0x8009100B) : return QStringLiteral("CRYPT_E_RECIPIENT_NOT_FOUND");
- case HRESULT(0x8009100C) : return QStringLiteral("CRYPT_E_CONTROL_TYPE");
- case HRESULT(0x8009100D) : return QStringLiteral("CRYPT_E_ISSUER_SERIALNUMBER");
- case HRESULT(0x8009100E) : return QStringLiteral("CRYPT_E_SIGNER_NOT_FOUND");
- case HRESULT(0x8009100F) : return QStringLiteral("CRYPT_E_ATTRIBUTES_MISSING");
- case HRESULT(0x80091010) : return QStringLiteral("CRYPT_E_STREAM_MSG_NOT_READY");
- case HRESULT(0x80091011) : return QStringLiteral("CRYPT_E_STREAM_INSUFFICIENT_DATA");
- case HRESULT(0x00091012) : return QStringLiteral("CRYPT_I_NEW_PROTECTION_REQUIRED");
- case HRESULT(0x80092001) : return QStringLiteral("CRYPT_E_BAD_LEN");
- case HRESULT(0x80092002) : return QStringLiteral("CRYPT_E_BAD_ENCODE");
- case HRESULT(0x80092003) : return QStringLiteral("CRYPT_E_FILE_ERROR");
- case HRESULT(0x80092004) : return QStringLiteral("CRYPT_E_NOT_FOUND");
- case HRESULT(0x80092005) : return QStringLiteral("CRYPT_E_EXISTS");
- case HRESULT(0x80092006) : return QStringLiteral("CRYPT_E_NO_PROVIDER");
- case HRESULT(0x80092007) : return QStringLiteral("CRYPT_E_SELF_SIGNED");
- case HRESULT(0x80092008) : return QStringLiteral("CRYPT_E_DELETED_PREV");
- case HRESULT(0x80092009) : return QStringLiteral("CRYPT_E_NO_MATCH");
- case HRESULT(0x8009200A) : return QStringLiteral("CRYPT_E_UNEXPECTED_MSG_TYPE");
- case HRESULT(0x8009200B) : return QStringLiteral("CRYPT_E_NO_KEY_PROPERTY");
- case HRESULT(0x8009200C) : return QStringLiteral("CRYPT_E_NO_DECRYPT_CERT");
- case HRESULT(0x8009200D) : return QStringLiteral("CRYPT_E_BAD_MSG");
- case HRESULT(0x8009200E) : return QStringLiteral("CRYPT_E_NO_SIGNER");
- case HRESULT(0x8009200F) : return QStringLiteral("CRYPT_E_PENDING_CLOSE");
- case HRESULT(0x80092010) : return QStringLiteral("CRYPT_E_REVOKED");
- case HRESULT(0x80092011) : return QStringLiteral("CRYPT_E_NO_REVOCATION_DLL");
- case HRESULT(0x80092012) : return QStringLiteral("CRYPT_E_NO_REVOCATION_CHECK");
- case HRESULT(0x80092013) : return QStringLiteral("CRYPT_E_REVOCATION_OFFLINE");
- case HRESULT(0x80092014) : return QStringLiteral("CRYPT_E_NOT_IN_REVOCATION_DATABASE");
- case HRESULT(0x80092020) : return QStringLiteral("CRYPT_E_INVALID_NUMERIC_STRING");
- case HRESULT(0x80092021) : return QStringLiteral("CRYPT_E_INVALID_PRINTABLE_STRING");
- case HRESULT(0x80092022) : return QStringLiteral("CRYPT_E_INVALID_IA5_STRING");
- case HRESULT(0x80092023) : return QStringLiteral("CRYPT_E_INVALID_X500_STRING");
- case HRESULT(0x80092024) : return QStringLiteral("CRYPT_E_NOT_CHAR_STRING");
- case HRESULT(0x80092025) : return QStringLiteral("CRYPT_E_FILERESIZED");
- case HRESULT(0x80092026) : return QStringLiteral("CRYPT_E_SECURITY_SETTINGS");
- case HRESULT(0x80092027) : return QStringLiteral("CRYPT_E_NO_VERIFY_USAGE_DLL");
- case HRESULT(0x80092028) : return QStringLiteral("CRYPT_E_NO_VERIFY_USAGE_CHECK");
- case HRESULT(0x80092029) : return QStringLiteral("CRYPT_E_VERIFY_USAGE_OFFLINE");
- case HRESULT(0x8009202A) : return QStringLiteral("CRYPT_E_NOT_IN_CTL");
- case HRESULT(0x8009202B) : return QStringLiteral("CRYPT_E_NO_TRUSTED_SIGNER");
- case HRESULT(0x8009202C) : return QStringLiteral("CRYPT_E_MISSING_PUBKEY_PARA");
- case HRESULT(0x80093000) : return QStringLiteral("CRYPT_E_OSS_ERROR");
- case HRESULT(0x80093001) : return QStringLiteral("OSS_MORE_BUF");
- case HRESULT(0x80093002) : return QStringLiteral("OSS_NEGATIVE_UINTEGER");
- case HRESULT(0x80093003) : return QStringLiteral("OSS_PDU_RANGE");
- case HRESULT(0x80093004) : return QStringLiteral("OSS_MORE_INPUT");
- case HRESULT(0x80093005) : return QStringLiteral("OSS_DATA_ERROR");
- case HRESULT(0x80093006) : return QStringLiteral("OSS_BAD_ARG");
- case HRESULT(0x80093007) : return QStringLiteral("OSS_BAD_VERSION");
- case HRESULT(0x80093008) : return QStringLiteral("OSS_OUT_MEMORY");
- case HRESULT(0x80093009) : return QStringLiteral("OSS_PDU_MISMATCH");
- case HRESULT(0x8009300A) : return QStringLiteral("OSS_LIMITED");
- case HRESULT(0x8009300B) : return QStringLiteral("OSS_BAD_PTR");
- case HRESULT(0x8009300C) : return QStringLiteral("OSS_BAD_TIME");
- case HRESULT(0x8009300D) : return QStringLiteral("OSS_INDEFINITE_NOT_SUPPORTED");
- case HRESULT(0x8009300E) : return QStringLiteral("OSS_MEM_ERROR");
- case HRESULT(0x8009300F) : return QStringLiteral("OSS_BAD_TABLE");
- case HRESULT(0x80093010) : return QStringLiteral("OSS_TOO_LONG");
- case HRESULT(0x80093011) : return QStringLiteral("OSS_CONSTRAINT_VIOLATED");
- case HRESULT(0x80093012) : return QStringLiteral("OSS_FATAL_ERROR");
- case HRESULT(0x80093013) : return QStringLiteral("OSS_ACCESS_SERIALIZATION_ERROR");
- case HRESULT(0x80093014) : return QStringLiteral("OSS_NULL_TBL");
- case HRESULT(0x80093015) : return QStringLiteral("OSS_NULL_FCN");
- case HRESULT(0x80093016) : return QStringLiteral("OSS_BAD_ENCRULES");
- case HRESULT(0x80093017) : return QStringLiteral("OSS_UNAVAIL_ENCRULES");
- case HRESULT(0x80093018) : return QStringLiteral("OSS_CANT_OPEN_TRACE_WINDOW");
- case HRESULT(0x80093019) : return QStringLiteral("OSS_UNIMPLEMENTED");
- case HRESULT(0x8009301A) : return QStringLiteral("OSS_OID_DLL_NOT_LINKED");
- case HRESULT(0x8009301B) : return QStringLiteral("OSS_CANT_OPEN_TRACE_FILE");
- case HRESULT(0x8009301C) : return QStringLiteral("OSS_TRACE_FILE_ALREADY_OPEN");
- case HRESULT(0x8009301D) : return QStringLiteral("OSS_TABLE_MISMATCH");
- case HRESULT(0x8009301E) : return QStringLiteral("OSS_TYPE_NOT_SUPPORTED");
- case HRESULT(0x8009301F) : return QStringLiteral("OSS_REAL_DLL_NOT_LINKED");
- case HRESULT(0x80093020) : return QStringLiteral("OSS_REAL_CODE_NOT_LINKED");
- case HRESULT(0x80093021) : return QStringLiteral("OSS_OUT_OF_RANGE");
- case HRESULT(0x80093022) : return QStringLiteral("OSS_COPIER_DLL_NOT_LINKED");
- case HRESULT(0x80093023) : return QStringLiteral("OSS_CONSTRAINT_DLL_NOT_LINKED");
- case HRESULT(0x80093024) : return QStringLiteral("OSS_COMPARATOR_DLL_NOT_LINKED");
- case HRESULT(0x80093025) : return QStringLiteral("OSS_COMPARATOR_CODE_NOT_LINKED");
- case HRESULT(0x80093026) : return QStringLiteral("OSS_MEM_MGR_DLL_NOT_LINKED");
- case HRESULT(0x80093027) : return QStringLiteral("OSS_PDV_DLL_NOT_LINKED");
- case HRESULT(0x80093028) : return QStringLiteral("OSS_PDV_CODE_NOT_LINKED");
- case HRESULT(0x80093029) : return QStringLiteral("OSS_API_DLL_NOT_LINKED");
- case HRESULT(0x8009302A) : return QStringLiteral("OSS_BERDER_DLL_NOT_LINKED");
- case HRESULT(0x8009302B) : return QStringLiteral("OSS_PER_DLL_NOT_LINKED");
- case HRESULT(0x8009302C) : return QStringLiteral("OSS_OPEN_TYPE_ERROR");
- case HRESULT(0x8009302D) : return QStringLiteral("OSS_MUTEX_NOT_CREATED");
- case HRESULT(0x8009302E) : return QStringLiteral("OSS_CANT_CLOSE_TRACE_FILE");
- case HRESULT(0x80093100) : return QStringLiteral("CRYPT_E_ASN1_ERROR");
- case HRESULT(0x80093101) : return QStringLiteral("CRYPT_E_ASN1_INTERNAL");
- case HRESULT(0x80093102) : return QStringLiteral("CRYPT_E_ASN1_EOD");
- case HRESULT(0x80093103) : return QStringLiteral("CRYPT_E_ASN1_CORRUPT");
- case HRESULT(0x80093104) : return QStringLiteral("CRYPT_E_ASN1_LARGE");
- case HRESULT(0x80093105) : return QStringLiteral("CRYPT_E_ASN1_CONSTRAINT");
- case HRESULT(0x80093106) : return QStringLiteral("CRYPT_E_ASN1_MEMORY");
- case HRESULT(0x80093107) : return QStringLiteral("CRYPT_E_ASN1_OVERFLOW");
- case HRESULT(0x80093108) : return QStringLiteral("CRYPT_E_ASN1_BADPDU");
- case HRESULT(0x80093109) : return QStringLiteral("CRYPT_E_ASN1_BADARGS");
- case HRESULT(0x8009310A) : return QStringLiteral("CRYPT_E_ASN1_BADREAL");
- case HRESULT(0x8009310B) : return QStringLiteral("CRYPT_E_ASN1_BADTAG");
- case HRESULT(0x8009310C) : return QStringLiteral("CRYPT_E_ASN1_CHOICE");
- case HRESULT(0x8009310D) : return QStringLiteral("CRYPT_E_ASN1_RULE");
- case HRESULT(0x8009310E) : return QStringLiteral("CRYPT_E_ASN1_UTF8");
- case HRESULT(0x80093133) : return QStringLiteral("CRYPT_E_ASN1_PDU_TYPE");
- case HRESULT(0x80093134) : return QStringLiteral("CRYPT_E_ASN1_NYI");
- case HRESULT(0x80093201) : return QStringLiteral("CRYPT_E_ASN1_EXTENDED");
- case HRESULT(0x80093202) : return QStringLiteral("CRYPT_E_ASN1_NOEOD");
- case HRESULT(0x80094001) : return QStringLiteral("CERTSRV_E_BAD_REQUESTSUBJECT");
- case HRESULT(0x80094002) : return QStringLiteral("CERTSRV_E_NO_REQUEST");
- case HRESULT(0x80094003) : return QStringLiteral("CERTSRV_E_BAD_REQUESTSTATUS");
- case HRESULT(0x80094004) : return QStringLiteral("CERTSRV_E_PROPERTY_EMPTY");
- case HRESULT(0x80094005) : return QStringLiteral("CERTSRV_E_INVALID_CA_CERTIFICATE");
- case HRESULT(0x80094006) : return QStringLiteral("CERTSRV_E_SERVER_SUSPENDED");
- case HRESULT(0x80094007) : return QStringLiteral("CERTSRV_E_ENCODING_LENGTH");
- case HRESULT(0x80094008) : return QStringLiteral("CERTSRV_E_ROLECONFLICT");
- case HRESULT(0x80094009) : return QStringLiteral("CERTSRV_E_RESTRICTEDOFFICER");
- case HRESULT(0x8009400A) : return QStringLiteral("CERTSRV_E_KEY_ARCHIVAL_NOT_CONFIGURED");
- case HRESULT(0x8009400B) : return QStringLiteral("CERTSRV_E_NO_VALID_KRA");
- case HRESULT(0x8009400C) : return QStringLiteral("CERTSRV_E_BAD_REQUEST_KEY_ARCHIVAL");
- case HRESULT(0x8009400D) : return QStringLiteral("CERTSRV_E_NO_CAADMIN_DEFINED");
- case HRESULT(0x8009400E) : return QStringLiteral("CERTSRV_E_BAD_RENEWAL_CERT_ATTRIBUTE");
- case HRESULT(0x8009400F) : return QStringLiteral("CERTSRV_E_NO_DB_SESSIONS");
- case HRESULT(0x80094010) : return QStringLiteral("CERTSRV_E_ALIGNMENT_FAULT");
- case HRESULT(0x80094011) : return QStringLiteral("CERTSRV_E_ENROLL_DENIED");
- case HRESULT(0x80094012) : return QStringLiteral("CERTSRV_E_TEMPLATE_DENIED");
- case HRESULT(0x80094013) : return QStringLiteral("CERTSRV_E_DOWNLEVEL_DC_SSL_OR_UPGRADE");
- case HRESULT(0x80094800) : return QStringLiteral("CERTSRV_E_UNSUPPORTED_CERT_TYPE");
- case HRESULT(0x80094801) : return QStringLiteral("CERTSRV_E_NO_CERT_TYPE");
- case HRESULT(0x80094802) : return QStringLiteral("CERTSRV_E_TEMPLATE_CONFLICT");
- case HRESULT(0x80094803) : return QStringLiteral("CERTSRV_E_SUBJECT_ALT_NAME_REQUIRED");
- case HRESULT(0x80094804) : return QStringLiteral("CERTSRV_E_ARCHIVED_KEY_REQUIRED");
- case HRESULT(0x80094805) : return QStringLiteral("CERTSRV_E_SMIME_REQUIRED");
- case HRESULT(0x80094806) : return QStringLiteral("CERTSRV_E_BAD_RENEWAL_SUBJECT");
- case HRESULT(0x80094807) : return QStringLiteral("CERTSRV_E_BAD_TEMPLATE_VERSION");
- case HRESULT(0x80094808) : return QStringLiteral("CERTSRV_E_TEMPLATE_POLICY_REQUIRED");
- case HRESULT(0x80094809) : return QStringLiteral("CERTSRV_E_SIGNATURE_POLICY_REQUIRED");
- case HRESULT(0x8009480A) : return QStringLiteral("CERTSRV_E_SIGNATURE_COUNT");
- case HRESULT(0x8009480B) : return QStringLiteral("CERTSRV_E_SIGNATURE_REJECTED");
- case HRESULT(0x8009480C) : return QStringLiteral("CERTSRV_E_ISSUANCE_POLICY_REQUIRED");
- case HRESULT(0x8009480D) : return QStringLiteral("CERTSRV_E_SUBJECT_UPN_REQUIRED");
- case HRESULT(0x8009480E) : return QStringLiteral("CERTSRV_E_SUBJECT_DIRECTORY_GUID_REQUIRED");
- case HRESULT(0x8009480F) : return QStringLiteral("CERTSRV_E_SUBJECT_DNS_REQUIRED");
- case HRESULT(0x80094810) : return QStringLiteral("CERTSRV_E_ARCHIVED_KEY_UNEXPECTED");
- case HRESULT(0x80094811) : return QStringLiteral("CERTSRV_E_KEY_LENGTH");
- case HRESULT(0x80094812) : return QStringLiteral("CERTSRV_E_SUBJECT_EMAIL_REQUIRED");
- case HRESULT(0x80094813) : return QStringLiteral("CERTSRV_E_UNKNOWN_CERT_TYPE");
- case HRESULT(0x80094814) : return QStringLiteral("CERTSRV_E_CERT_TYPE_OVERLAP");
- case HRESULT(0x80095000) : return QStringLiteral("XENROLL_E_KEY_NOT_EXPORTABLE");
- case HRESULT(0x80095001) : return QStringLiteral("XENROLL_E_CANNOT_ADD_ROOT_CERT");
- case HRESULT(0x80095002) : return QStringLiteral("XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND");
- case HRESULT(0x80095003) : return QStringLiteral("XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH");
- case HRESULT(0x80095004) : return QStringLiteral("XENROLL_E_RESPONSE_KA_HASH_MISMATCH");
- case HRESULT(0x80095005) : return QStringLiteral("XENROLL_E_KEYSPEC_SMIME_MISMATCH");
- case HRESULT(0x80096001) : return QStringLiteral("TRUST_E_SYSTEM_ERROR");
- case HRESULT(0x80096002) : return QStringLiteral("TRUST_E_NO_SIGNER_CERT");
- case HRESULT(0x80096003) : return QStringLiteral("TRUST_E_COUNTER_SIGNER");
- case HRESULT(0x80096004) : return QStringLiteral("TRUST_E_CERT_SIGNATURE");
- case HRESULT(0x80096005) : return QStringLiteral("TRUST_E_TIME_STAMP");
- case HRESULT(0x80096010) : return QStringLiteral("TRUST_E_BAD_DIGEST");
- case HRESULT(0x80096019) : return QStringLiteral("TRUST_E_BASIC_CONSTRAINTS");
- case HRESULT(0x8009601E) : return QStringLiteral("TRUST_E_FINANCIAL_CRITERIA");
- case HRESULT(0x80097001) : return QStringLiteral("MSSIPOTF_E_OUTOFMEMRANGE");
- case HRESULT(0x80097002) : return QStringLiteral("MSSIPOTF_E_CANTGETOBJECT");
- case HRESULT(0x80097003) : return QStringLiteral("MSSIPOTF_E_NOHEADTABLE");
- case HRESULT(0x80097004) : return QStringLiteral("MSSIPOTF_E_BAD_MAGICNUMBER");
- case HRESULT(0x80097005) : return QStringLiteral("MSSIPOTF_E_BAD_OFFSET_TABLE");
- case HRESULT(0x80097006) : return QStringLiteral("MSSIPOTF_E_TABLE_TAGORDER");
- case HRESULT(0x80097007) : return QStringLiteral("MSSIPOTF_E_TABLE_LONGWORD");
- case HRESULT(0x80097008) : return QStringLiteral("MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT");
- case HRESULT(0x80097009) : return QStringLiteral("MSSIPOTF_E_TABLES_OVERLAP");
- case HRESULT(0x8009700A) : return QStringLiteral("MSSIPOTF_E_TABLE_PADBYTES");
- case HRESULT(0x8009700B) : return QStringLiteral("MSSIPOTF_E_FILETOOSMALL");
- case HRESULT(0x8009700C) : return QStringLiteral("MSSIPOTF_E_TABLE_CHECKSUM");
- case HRESULT(0x8009700D) : return QStringLiteral("MSSIPOTF_E_FILE_CHECKSUM");
- case HRESULT(0x80097010) : return QStringLiteral("MSSIPOTF_E_FAILED_POLICY");
- case HRESULT(0x80097011) : return QStringLiteral("MSSIPOTF_E_FAILED_HINTS_CHECK");
- case HRESULT(0x80097012) : return QStringLiteral("MSSIPOTF_E_NOT_OPENTYPE");
- case HRESULT(0x80097013) : return QStringLiteral("MSSIPOTF_E_FILE");
- case HRESULT(0x80097014) : return QStringLiteral("MSSIPOTF_E_CRYPT");
- case HRESULT(0x80097015) : return QStringLiteral("MSSIPOTF_E_BADVERSION");
- case HRESULT(0x80097016) : return QStringLiteral("MSSIPOTF_E_DSIG_STRUCTURE");
- case HRESULT(0x80097017) : return QStringLiteral("MSSIPOTF_E_PCONST_CHECK");
- case HRESULT(0x80097018) : return QStringLiteral("MSSIPOTF_E_STRUCTURE");
- case HRESULT(0x800B0001) : return QStringLiteral("TRUST_E_PROVIDER_UNKNOWN");
- case HRESULT(0x800B0002) : return QStringLiteral("TRUST_E_ACTION_UNKNOWN");
- case HRESULT(0x800B0003) : return QStringLiteral("TRUST_E_SUBJECT_FORM_UNKNOWN");
- case HRESULT(0x800B0004) : return QStringLiteral("TRUST_E_SUBJECT_NOT_TRUSTED");
- case HRESULT(0x800B0005) : return QStringLiteral("DIGSIG_E_ENCODE");
- case HRESULT(0x800B0006) : return QStringLiteral("DIGSIG_E_DECODE");
- case HRESULT(0x800B0007) : return QStringLiteral("DIGSIG_E_EXTENSIBILITY");
- case HRESULT(0x800B0008) : return QStringLiteral("DIGSIG_E_CRYPTO");
- case HRESULT(0x800B0009) : return QStringLiteral("PERSIST_E_SIZEDEFINITE");
- case HRESULT(0x800B000A) : return QStringLiteral("PERSIST_E_SIZEINDEFINITE");
- case HRESULT(0x800B000B) : return QStringLiteral("PERSIST_E_NOTSELFSIZING");
- case HRESULT(0x800B0100) : return QStringLiteral("TRUST_E_NOSIGNATURE");
- case HRESULT(0x800B0101) : return QStringLiteral("CERT_E_EXPIRED");
- case HRESULT(0x800B0102) : return QStringLiteral("CERT_E_VALIDITYPERIODNESTING");
- case HRESULT(0x800B0103) : return QStringLiteral("CERT_E_ROLE");
- case HRESULT(0x800B0104) : return QStringLiteral("CERT_E_PATHLENCONST");
- case HRESULT(0x800B0105) : return QStringLiteral("CERT_E_CRITICAL");
- case HRESULT(0x800B0106) : return QStringLiteral("CERT_E_PURPOSE");
- case HRESULT(0x800B0107) : return QStringLiteral("CERT_E_ISSUERCHAINING");
- case HRESULT(0x800B0108) : return QStringLiteral("CERT_E_MALFORMED");
- case HRESULT(0x800B0109) : return QStringLiteral("CERT_E_UNTRUSTEDROOT");
- case HRESULT(0x800B010A) : return QStringLiteral("CERT_E_CHAINING");
- case HRESULT(0x800B010B) : return QStringLiteral("TRUST_E_FAIL");
- case HRESULT(0x800B010C) : return QStringLiteral("CERT_E_REVOKED");
- case HRESULT(0x800B010D) : return QStringLiteral("CERT_E_UNTRUSTEDTESTROOT");
- case HRESULT(0x800B010E) : return QStringLiteral("CERT_E_REVOCATION_FAILURE");
- case HRESULT(0x800B010F) : return QStringLiteral("CERT_E_CN_NO_MATCH");
- case HRESULT(0x800B0110) : return QStringLiteral("CERT_E_WRONG_USAGE");
- case HRESULT(0x800B0111) : return QStringLiteral("TRUST_E_EXPLICIT_DISTRUST");
- case HRESULT(0x800B0112) : return QStringLiteral("CERT_E_UNTRUSTEDCA");
- case HRESULT(0x800B0113) : return QStringLiteral("CERT_E_INVALID_POLICY");
- case HRESULT(0x800B0114) : return QStringLiteral("CERT_E_INVALID_NAME");
- case HRESULT(0x800F0000) : return QStringLiteral("SPAPI_E_EXPECTED_SECTION_NAME");
- case HRESULT(0x800F0001) : return QStringLiteral("SPAPI_E_BAD_SECTION_NAME_LINE");
- case HRESULT(0x800F0002) : return QStringLiteral("SPAPI_E_SECTION_NAME_TOO_LONG");
- case HRESULT(0x800F0003) : return QStringLiteral("SPAPI_E_GENERAL_SYNTAX");
- case HRESULT(0x800F0100) : return QStringLiteral("SPAPI_E_WRONG_INF_STYLE");
- case HRESULT(0x800F0101) : return QStringLiteral("SPAPI_E_SECTION_NOT_FOUND");
- case HRESULT(0x800F0102) : return QStringLiteral("SPAPI_E_LINE_NOT_FOUND");
- case HRESULT(0x800F0103) : return QStringLiteral("SPAPI_E_NO_BACKUP");
- case HRESULT(0x800F0200) : return QStringLiteral("SPAPI_E_NO_ASSOCIATED_CLASS");
- case HRESULT(0x800F0201) : return QStringLiteral("SPAPI_E_CLASS_MISMATCH");
- case HRESULT(0x800F0202) : return QStringLiteral("SPAPI_E_DUPLICATE_FOUND");
- case HRESULT(0x800F0203) : return QStringLiteral("SPAPI_E_NO_DRIVER_SELECTED");
- case HRESULT(0x800F0204) : return QStringLiteral("SPAPI_E_KEY_DOES_NOT_EXIST");
- case HRESULT(0x800F0205) : return QStringLiteral("SPAPI_E_INVALID_DEVINST_NAME");
- case HRESULT(0x800F0206) : return QStringLiteral("SPAPI_E_INVALID_CLASS");
- case HRESULT(0x800F0207) : return QStringLiteral("SPAPI_E_DEVINST_ALREADY_EXISTS");
- case HRESULT(0x800F0208) : return QStringLiteral("SPAPI_E_DEVINFO_NOT_REGISTERED");
- case HRESULT(0x800F0209) : return QStringLiteral("SPAPI_E_INVALID_REG_PROPERTY");
- case HRESULT(0x800F020A) : return QStringLiteral("SPAPI_E_NO_INF");
- case HRESULT(0x800F020B) : return QStringLiteral("SPAPI_E_NO_SUCH_DEVINST");
- case HRESULT(0x800F020C) : return QStringLiteral("SPAPI_E_CANT_LOAD_CLASS_ICON");
- case HRESULT(0x800F020D) : return QStringLiteral("SPAPI_E_INVALID_CLASS_INSTALLER");
- case HRESULT(0x800F020E) : return QStringLiteral("SPAPI_E_DI_DO_DEFAULT");
- case HRESULT(0x800F020F) : return QStringLiteral("SPAPI_E_DI_NOFILECOPY");
- case HRESULT(0x800F0210) : return QStringLiteral("SPAPI_E_INVALID_HWPROFILE");
- case HRESULT(0x800F0211) : return QStringLiteral("SPAPI_E_NO_DEVICE_SELECTED");
- case HRESULT(0x800F0212) : return QStringLiteral("SPAPI_E_DEVINFO_LIST_LOCKED");
- case HRESULT(0x800F0213) : return QStringLiteral("SPAPI_E_DEVINFO_DATA_LOCKED");
- case HRESULT(0x800F0214) : return QStringLiteral("SPAPI_E_DI_BAD_PATH");
- case HRESULT(0x800F0215) : return QStringLiteral("SPAPI_E_NO_CLASSINSTALL_PARAMS");
- case HRESULT(0x800F0216) : return QStringLiteral("SPAPI_E_FILEQUEUE_LOCKED");
- case HRESULT(0x800F0217) : return QStringLiteral("SPAPI_E_BAD_SERVICE_INSTALLSECT");
- case HRESULT(0x800F0218) : return QStringLiteral("SPAPI_E_NO_CLASS_DRIVER_LIST");
- case HRESULT(0x800F0219) : return QStringLiteral("SPAPI_E_NO_ASSOCIATED_SERVICE");
- case HRESULT(0x800F021A) : return QStringLiteral("SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE");
- case HRESULT(0x800F021B) : return QStringLiteral("SPAPI_E_DEVICE_INTERFACE_ACTIVE");
- case HRESULT(0x800F021C) : return QStringLiteral("SPAPI_E_DEVICE_INTERFACE_REMOVED");
- case HRESULT(0x800F021D) : return QStringLiteral("SPAPI_E_BAD_INTERFACE_INSTALLSECT");
- case HRESULT(0x800F021E) : return QStringLiteral("SPAPI_E_NO_SUCH_INTERFACE_CLASS");
- case HRESULT(0x800F021F) : return QStringLiteral("SPAPI_E_INVALID_REFERENCE_STRING");
- case HRESULT(0x800F0220) : return QStringLiteral("SPAPI_E_INVALID_MACHINENAME");
- case HRESULT(0x800F0221) : return QStringLiteral("SPAPI_E_REMOTE_COMM_FAILURE");
- case HRESULT(0x800F0222) : return QStringLiteral("SPAPI_E_MACHINE_UNAVAILABLE");
- case HRESULT(0x800F0223) : return QStringLiteral("SPAPI_E_NO_CONFIGMGR_SERVICES");
- case HRESULT(0x800F0224) : return QStringLiteral("SPAPI_E_INVALID_PROPPAGE_PROVIDER");
- case HRESULT(0x800F0225) : return QStringLiteral("SPAPI_E_NO_SUCH_DEVICE_INTERFACE");
- case HRESULT(0x800F0226) : return QStringLiteral("SPAPI_E_DI_POSTPROCESSING_REQUIRED");
- case HRESULT(0x800F0227) : return QStringLiteral("SPAPI_E_INVALID_COINSTALLER");
- case HRESULT(0x800F0228) : return QStringLiteral("SPAPI_E_NO_COMPAT_DRIVERS");
- case HRESULT(0x800F0229) : return QStringLiteral("SPAPI_E_NO_DEVICE_ICON");
- case HRESULT(0x800F022A) : return QStringLiteral("SPAPI_E_INVALID_INF_LOGCONFIG");
- case HRESULT(0x800F022B) : return QStringLiteral("SPAPI_E_DI_DONT_INSTALL");
- case HRESULT(0x800F022C) : return QStringLiteral("SPAPI_E_INVALID_FILTER_DRIVER");
- case HRESULT(0x800F022D) : return QStringLiteral("SPAPI_E_NON_WINDOWS_NT_DRIVER");
- case HRESULT(0x800F022E) : return QStringLiteral("SPAPI_E_NON_WINDOWS_DRIVER");
- case HRESULT(0x800F022F) : return QStringLiteral("SPAPI_E_NO_CATALOG_FOR_OEM_INF");
- case HRESULT(0x800F0230) : return QStringLiteral("SPAPI_E_DEVINSTALL_QUEUE_NONNATIVE");
- case HRESULT(0x800F0231) : return QStringLiteral("SPAPI_E_NOT_DISABLEABLE");
- case HRESULT(0x800F0232) : return QStringLiteral("SPAPI_E_CANT_REMOVE_DEVINST");
- case HRESULT(0x800F0233) : return QStringLiteral("SPAPI_E_INVALID_TARGET");
- case HRESULT(0x800F0234) : return QStringLiteral("SPAPI_E_DRIVER_NONNATIVE");
- case HRESULT(0x800F0235) : return QStringLiteral("SPAPI_E_IN_WOW64");
- case HRESULT(0x800F0236) : return QStringLiteral("SPAPI_E_SET_SYSTEM_RESTORE_POINT");
- case HRESULT(0x800F0237) : return QStringLiteral("SPAPI_E_INCORRECTLY_COPIED_INF");
- case HRESULT(0x800F0238) : return QStringLiteral("SPAPI_E_SCE_DISABLED");
- case HRESULT(0x800F0239) : return QStringLiteral("SPAPI_E_UNKNOWN_EXCEPTION");
- case HRESULT(0x800F023A) : return QStringLiteral("SPAPI_E_PNP_REGISTRY_ERROR");
- case HRESULT(0x800F023B) : return QStringLiteral("SPAPI_E_REMOTE_REQUEST_UNSUPPORTED");
- case HRESULT(0x800F023C) : return QStringLiteral("SPAPI_E_NOT_AN_INSTALLED_OEM_INF");
- case HRESULT(0x800F023D) : return QStringLiteral("SPAPI_E_INF_IN_USE_BY_DEVICES");
- case HRESULT(0x800F023E) : return QStringLiteral("SPAPI_E_DI_FUNCTION_OBSOLETE");
- case HRESULT(0x800F023F) : return QStringLiteral("SPAPI_E_NO_AUTHENTICODE_CATALOG");
- case HRESULT(0x800F0240) : return QStringLiteral("SPAPI_E_AUTHENTICODE_DISALLOWED");
- case HRESULT(0x800F0241) : return QStringLiteral("SPAPI_E_AUTHENTICODE_TRUSTED_PUBLISHER");
- case HRESULT(0x800F0242) : return QStringLiteral("SPAPI_E_AUTHENTICODE_TRUST_NOT_ESTABLISHED");
- case HRESULT(0x800F0243) : return QStringLiteral("SPAPI_E_AUTHENTICODE_PUBLISHER_NOT_TRUSTED");
- case HRESULT(0x800F0244) : return QStringLiteral("SPAPI_E_SIGNATURE_OSATTRIBUTE_MISMATCH");
- case HRESULT(0x800F0245) : return QStringLiteral("SPAPI_E_ONLY_VALIDATE_VIA_AUTHENTICODE");
- case HRESULT(0x800F0300) : return QStringLiteral("SPAPI_E_UNRECOVERABLE_STACK_OVERFLOW");
- case HRESULT(0x800F1000) : return QStringLiteral("SPAPI_E_ERROR_NOT_INSTALLED");
- case HRESULT(0x80100001) : return QStringLiteral("SCARD_F_INTERNAL_ERROR");
- case HRESULT(0x80100002) : return QStringLiteral("SCARD_E_CANCELLED");
- case HRESULT(0x80100003) : return QStringLiteral("SCARD_E_INVALID_HANDLE");
- case HRESULT(0x80100004) : return QStringLiteral("SCARD_E_INVALID_PARAMETER");
- case HRESULT(0x80100005) : return QStringLiteral("SCARD_E_INVALID_TARGET");
- case HRESULT(0x80100006) : return QStringLiteral("SCARD_E_NO_MEMORY");
- case HRESULT(0x80100007) : return QStringLiteral("SCARD_F_WAITED_TOO_LONG");
- case HRESULT(0x80100008) : return QStringLiteral("SCARD_E_INSUFFICIENT_BUFFER");
- case HRESULT(0x80100009) : return QStringLiteral("SCARD_E_UNKNOWN_READER");
- case HRESULT(0x8010000A) : return QStringLiteral("SCARD_E_TIMEOUT");
- case HRESULT(0x8010000B) : return QStringLiteral("SCARD_E_SHARING_VIOLATION");
- case HRESULT(0x8010000C) : return QStringLiteral("SCARD_E_NO_SMARTCARD");
- case HRESULT(0x8010000D) : return QStringLiteral("SCARD_E_UNKNOWN_CARD");
- case HRESULT(0x8010000E) : return QStringLiteral("SCARD_E_CANT_DISPOSE");
- case HRESULT(0x8010000F) : return QStringLiteral("SCARD_E_PROTO_MISMATCH");
- case HRESULT(0x80100010) : return QStringLiteral("SCARD_E_NOT_READY");
- case HRESULT(0x80100011) : return QStringLiteral("SCARD_E_INVALID_VALUE");
- case HRESULT(0x80100012) : return QStringLiteral("SCARD_E_SYSTEM_CANCELLED");
- case HRESULT(0x80100013) : return QStringLiteral("SCARD_F_COMM_ERROR");
- case HRESULT(0x80100014) : return QStringLiteral("SCARD_F_UNKNOWN_ERROR");
- case HRESULT(0x80100015) : return QStringLiteral("SCARD_E_INVALID_ATR");
- case HRESULT(0x80100016) : return QStringLiteral("SCARD_E_NOT_TRANSACTED");
- case HRESULT(0x80100017) : return QStringLiteral("SCARD_E_READER_UNAVAILABLE");
- case HRESULT(0x80100018) : return QStringLiteral("SCARD_P_SHUTDOWN");
- case HRESULT(0x80100019) : return QStringLiteral("SCARD_E_PCI_TOO_SMALL");
- case HRESULT(0x8010001A) : return QStringLiteral("SCARD_E_READER_UNSUPPORTED");
- case HRESULT(0x8010001B) : return QStringLiteral("SCARD_E_DUPLICATE_READER");
- case HRESULT(0x8010001C) : return QStringLiteral("SCARD_E_CARD_UNSUPPORTED");
- case HRESULT(0x8010001D) : return QStringLiteral("SCARD_E_NO_SERVICE");
- case HRESULT(0x8010001E) : return QStringLiteral("SCARD_E_SERVICE_STOPPED");
- case HRESULT(0x8010001F) : return QStringLiteral("SCARD_E_UNEXPECTED");
- case HRESULT(0x80100020) : return QStringLiteral("SCARD_E_ICC_INSTALLATION");
- case HRESULT(0x80100021) : return QStringLiteral("SCARD_E_ICC_CREATEORDER");
- case HRESULT(0x80100022) : return QStringLiteral("SCARD_E_UNSUPPORTED_FEATURE");
- case HRESULT(0x80100023) : return QStringLiteral("SCARD_E_DIR_NOT_FOUND");
- case HRESULT(0x80100024) : return QStringLiteral("SCARD_E_FILE_NOT_FOUND");
- case HRESULT(0x80100025) : return QStringLiteral("SCARD_E_NO_DIR");
- case HRESULT(0x80100026) : return QStringLiteral("SCARD_E_NO_FILE");
- case HRESULT(0x80100027) : return QStringLiteral("SCARD_E_NO_ACCESS");
- case HRESULT(0x80100028) : return QStringLiteral("SCARD_E_WRITE_TOO_MANY");
- case HRESULT(0x80100029) : return QStringLiteral("SCARD_E_BAD_SEEK");
- case HRESULT(0x8010002A) : return QStringLiteral("SCARD_E_INVALID_CHV");
- case HRESULT(0x8010002B) : return QStringLiteral("SCARD_E_UNKNOWN_RES_MNG");
- case HRESULT(0x8010002C) : return QStringLiteral("SCARD_E_NO_SUCH_CERTIFICATE");
- case HRESULT(0x8010002D) : return QStringLiteral("SCARD_E_CERTIFICATE_UNAVAILABLE");
- case HRESULT(0x8010002E) : return QStringLiteral("SCARD_E_NO_READERS_AVAILABLE");
- case HRESULT(0x8010002F) : return QStringLiteral("SCARD_E_COMM_DATA_LOST");
- case HRESULT(0x80100030) : return QStringLiteral("SCARD_E_NO_KEY_CONTAINER");
- case HRESULT(0x80100031) : return QStringLiteral("SCARD_E_SERVER_TOO_BUSY");
- case HRESULT(0x80100065) : return QStringLiteral("SCARD_W_UNSUPPORTED_CARD");
- case HRESULT(0x80100066) : return QStringLiteral("SCARD_W_UNRESPONSIVE_CARD");
- case HRESULT(0x80100067) : return QStringLiteral("SCARD_W_UNPOWERED_CARD");
- case HRESULT(0x80100068) : return QStringLiteral("SCARD_W_RESET_CARD");
- case HRESULT(0x80100069) : return QStringLiteral("SCARD_W_REMOVED_CARD");
- case HRESULT(0x8010006A) : return QStringLiteral("SCARD_W_SECURITY_VIOLATION");
- case HRESULT(0x8010006B) : return QStringLiteral("SCARD_W_WRONG_CHV");
- case HRESULT(0x8010006C) : return QStringLiteral("SCARD_W_CHV_BLOCKED");
- case HRESULT(0x8010006D) : return QStringLiteral("SCARD_W_EOF");
- case HRESULT(0x8010006E) : return QStringLiteral("SCARD_W_CANCELLED_BY_USER");
- case HRESULT(0x8010006F) : return QStringLiteral("SCARD_W_CARD_NOT_AUTHENTICATED");
- case HRESULT(0x80100070) : return QStringLiteral("SCARD_W_CACHE_ITEM_NOT_FOUND");
- case HRESULT(0x80100071) : return QStringLiteral("SCARD_W_CACHE_ITEM_STALE");
- case HRESULT(0x80110401) : return QStringLiteral("COMADMIN_E_OBJECTERRORS");
- case HRESULT(0x80110402) : return QStringLiteral("COMADMIN_E_OBJECTINVALID");
- case HRESULT(0x80110403) : return QStringLiteral("COMADMIN_E_KEYMISSING");
- case HRESULT(0x80110404) : return QStringLiteral("COMADMIN_E_ALREADYINSTALLED");
- case HRESULT(0x80110407) : return QStringLiteral("COMADMIN_E_APP_FILE_WRITEFAIL");
- case HRESULT(0x80110408) : return QStringLiteral("COMADMIN_E_APP_FILE_READFAIL");
- case HRESULT(0x80110409) : return QStringLiteral("COMADMIN_E_APP_FILE_VERSION");
- case HRESULT(0x8011040A) : return QStringLiteral("COMADMIN_E_BADPATH");
- case HRESULT(0x8011040B) : return QStringLiteral("COMADMIN_E_APPLICATIONEXISTS");
- case HRESULT(0x8011040C) : return QStringLiteral("COMADMIN_E_ROLEEXISTS");
- case HRESULT(0x8011040D) : return QStringLiteral("COMADMIN_E_CANTCOPYFILE");
- case HRESULT(0x8011040F) : return QStringLiteral("COMADMIN_E_NOUSER");
- case HRESULT(0x80110410) : return QStringLiteral("COMADMIN_E_INVALIDUSERIDS");
- case HRESULT(0x80110411) : return QStringLiteral("COMADMIN_E_NOREGISTRYCLSID");
- case HRESULT(0x80110412) : return QStringLiteral("COMADMIN_E_BADREGISTRYPROGID");
- case HRESULT(0x80110413) : return QStringLiteral("COMADMIN_E_AUTHENTICATIONLEVEL");
- case HRESULT(0x80110414) : return QStringLiteral("COMADMIN_E_USERPASSWDNOTVALID");
- case HRESULT(0x80110418) : return QStringLiteral("COMADMIN_E_CLSIDORIIDMISMATCH");
- case HRESULT(0x80110419) : return QStringLiteral("COMADMIN_E_REMOTEINTERFACE");
- case HRESULT(0x8011041A) : return QStringLiteral("COMADMIN_E_DLLREGISTERSERVER");
- case HRESULT(0x8011041B) : return QStringLiteral("COMADMIN_E_NOSERVERSHARE");
- case HRESULT(0x8011041D) : return QStringLiteral("COMADMIN_E_DLLLOADFAILED");
- case HRESULT(0x8011041E) : return QStringLiteral("COMADMIN_E_BADREGISTRYLIBID");
- case HRESULT(0x8011041F) : return QStringLiteral("COMADMIN_E_APPDIRNOTFOUND");
- case HRESULT(0x80110423) : return QStringLiteral("COMADMIN_E_REGISTRARFAILED");
- case HRESULT(0x80110424) : return QStringLiteral("COMADMIN_E_COMPFILE_DOESNOTEXIST");
- case HRESULT(0x80110425) : return QStringLiteral("COMADMIN_E_COMPFILE_LOADDLLFAIL");
- case HRESULT(0x80110426) : return QStringLiteral("COMADMIN_E_COMPFILE_GETCLASSOBJ");
- case HRESULT(0x80110427) : return QStringLiteral("COMADMIN_E_COMPFILE_CLASSNOTAVAIL");
- case HRESULT(0x80110428) : return QStringLiteral("COMADMIN_E_COMPFILE_BADTLB");
- case HRESULT(0x80110429) : return QStringLiteral("COMADMIN_E_COMPFILE_NOTINSTALLABLE");
- case HRESULT(0x8011042A) : return QStringLiteral("COMADMIN_E_NOTCHANGEABLE");
- case HRESULT(0x8011042B) : return QStringLiteral("COMADMIN_E_NOTDELETEABLE");
- case HRESULT(0x8011042C) : return QStringLiteral("COMADMIN_E_SESSION");
- case HRESULT(0x8011042D) : return QStringLiteral("COMADMIN_E_COMP_MOVE_LOCKED");
- case HRESULT(0x8011042E) : return QStringLiteral("COMADMIN_E_COMP_MOVE_BAD_DEST");
- case HRESULT(0x80110430) : return QStringLiteral("COMADMIN_E_REGISTERTLB");
- case HRESULT(0x80110433) : return QStringLiteral("COMADMIN_E_SYSTEMAPP");
- case HRESULT(0x80110434) : return QStringLiteral("COMADMIN_E_COMPFILE_NOREGISTRAR");
- case HRESULT(0x80110435) : return QStringLiteral("COMADMIN_E_COREQCOMPINSTALLED");
- case HRESULT(0x80110436) : return QStringLiteral("COMADMIN_E_SERVICENOTINSTALLED");
- case HRESULT(0x80110437) : return QStringLiteral("COMADMIN_E_PROPERTYSAVEFAILED");
- case HRESULT(0x80110438) : return QStringLiteral("COMADMIN_E_OBJECTEXISTS");
- case HRESULT(0x80110439) : return QStringLiteral("COMADMIN_E_COMPONENTEXISTS");
- case HRESULT(0x8011043B) : return QStringLiteral("COMADMIN_E_REGFILE_CORRUPT");
- case HRESULT(0x8011043C) : return QStringLiteral("COMADMIN_E_PROPERTY_OVERFLOW");
- case HRESULT(0x8011043E) : return QStringLiteral("COMADMIN_E_NOTINREGISTRY");
- case HRESULT(0x8011043F) : return QStringLiteral("COMADMIN_E_OBJECTNOTPOOLABLE");
- case HRESULT(0x80110446) : return QStringLiteral("COMADMIN_E_APPLID_MATCHES_CLSID");
- case HRESULT(0x80110447) : return QStringLiteral("COMADMIN_E_ROLE_DOES_NOT_EXIST");
- case HRESULT(0x80110448) : return QStringLiteral("COMADMIN_E_START_APP_NEEDS_COMPONENTS");
- case HRESULT(0x80110449) : return QStringLiteral("COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM");
- case HRESULT(0x8011044A) : return QStringLiteral("COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY");
- case HRESULT(0x8011044B) : return QStringLiteral("COMADMIN_E_CAN_NOT_START_APP");
- case HRESULT(0x8011044C) : return QStringLiteral("COMADMIN_E_CAN_NOT_EXPORT_SYS_APP");
- case HRESULT(0x8011044D) : return QStringLiteral("COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT");
- case HRESULT(0x8011044E) : return QStringLiteral("COMADMIN_E_EVENTCLASS_CANT_BE_SUBSCRIBER");
- case HRESULT(0x8011044F) : return QStringLiteral("COMADMIN_E_LIB_APP_PROXY_INCOMPATIBLE");
- case HRESULT(0x80110450) : return QStringLiteral("COMADMIN_E_BASE_PARTITION_ONLY");
- case HRESULT(0x80110451) : return QStringLiteral("COMADMIN_E_START_APP_DISABLED");
- case HRESULT(0x80110457) : return QStringLiteral("COMADMIN_E_CAT_DUPLICATE_PARTITION_NAME");
- case HRESULT(0x80110458) : return QStringLiteral("COMADMIN_E_CAT_INVALID_PARTITION_NAME");
- case HRESULT(0x80110459) : return QStringLiteral("COMADMIN_E_CAT_PARTITION_IN_USE");
- case HRESULT(0x8011045A) : return QStringLiteral("COMADMIN_E_FILE_PARTITION_DUPLICATE_FILES");
- case HRESULT(0x8011045B) : return QStringLiteral("COMADMIN_E_CAT_IMPORTED_COMPONENTS_NOT_ALLOWED");
- case HRESULT(0x8011045C) : return QStringLiteral("COMADMIN_E_AMBIGUOUS_APPLICATION_NAME");
- case HRESULT(0x8011045D) : return QStringLiteral("COMADMIN_E_AMBIGUOUS_PARTITION_NAME");
- case HRESULT(0x80110472) : return QStringLiteral("COMADMIN_E_REGDB_NOTINITIALIZED");
- case HRESULT(0x80110473) : return QStringLiteral("COMADMIN_E_REGDB_NOTOPEN");
- case HRESULT(0x80110474) : return QStringLiteral("COMADMIN_E_REGDB_SYSTEMERR");
- case HRESULT(0x80110475) : return QStringLiteral("COMADMIN_E_REGDB_ALREADYRUNNING");
- case HRESULT(0x80110480) : return QStringLiteral("COMADMIN_E_MIG_VERSIONNOTSUPPORTED");
- case HRESULT(0x80110481) : return QStringLiteral("COMADMIN_E_MIG_SCHEMANOTFOUND");
- case HRESULT(0x80110482) : return QStringLiteral("COMADMIN_E_CAT_BITNESSMISMATCH");
- case HRESULT(0x80110483) : return QStringLiteral("COMADMIN_E_CAT_UNACCEPTABLEBITNESS");
- case HRESULT(0x80110484) : return QStringLiteral("COMADMIN_E_CAT_WRONGAPPBITNESS");
- case HRESULT(0x80110485) : return QStringLiteral("COMADMIN_E_CAT_PAUSE_RESUME_NOT_SUPPORTED");
- case HRESULT(0x80110486) : return QStringLiteral("COMADMIN_E_CAT_SERVERFAULT");
- case HRESULT(0x80110600) : return QStringLiteral("COMQC_E_APPLICATION_NOT_QUEUED");
- case HRESULT(0x80110601) : return QStringLiteral("COMQC_E_NO_QUEUEABLE_INTERFACES");
- case HRESULT(0x80110602) : return QStringLiteral("COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE");
- case HRESULT(0x80110603) : return QStringLiteral("COMQC_E_NO_IPERSISTSTREAM");
- case HRESULT(0x80110604) : return QStringLiteral("COMQC_E_BAD_MESSAGE");
- case HRESULT(0x80110605) : return QStringLiteral("COMQC_E_UNAUTHENTICATED");
- case HRESULT(0x80110606) : return QStringLiteral("COMQC_E_UNTRUSTED_ENQUEUER");
- case HRESULT(0x80110701) : return QStringLiteral("MSDTC_E_DUPLICATE_RESOURCE");
- case HRESULT(0x80110808) : return QStringLiteral("COMADMIN_E_OBJECT_PARENT_MISSING");
- case HRESULT(0x80110809) : return QStringLiteral("COMADMIN_E_OBJECT_DOES_NOT_EXIST");
- case HRESULT(0x8011080A) : return QStringLiteral("COMADMIN_E_APP_NOT_RUNNING");
- case HRESULT(0x8011080B) : return QStringLiteral("COMADMIN_E_INVALID_PARTITION");
- case HRESULT(0x8011080D) : return QStringLiteral("COMADMIN_E_SVCAPP_NOT_POOLABLE_OR_RECYCLABLE");
- case HRESULT(0x8011080E) : return QStringLiteral("COMADMIN_E_USER_IN_SET");
- case HRESULT(0x8011080F) : return QStringLiteral("COMADMIN_E_CANTRECYCLELIBRARYAPPS");
- case HRESULT(0x80110811) : return QStringLiteral("COMADMIN_E_CANTRECYCLESERVICEAPPS");
- case HRESULT(0x80110812) : return QStringLiteral("COMADMIN_E_PROCESSALREADYRECYCLED");
- case HRESULT(0x80110813) : return QStringLiteral("COMADMIN_E_PAUSEDPROCESSMAYNOTBERECYCLED");
- case HRESULT(0x80110814) : return QStringLiteral("COMADMIN_E_CANTMAKEINPROCSERVICE");
- case HRESULT(0x80110815) : return QStringLiteral("COMADMIN_E_PROGIDINUSEBYCLSID");
- case HRESULT(0x80110816) : return QStringLiteral("COMADMIN_E_DEFAULT_PARTITION_NOT_IN_SET");
- case HRESULT(0x80110817) : return QStringLiteral("COMADMIN_E_RECYCLEDPROCESSMAYNOTBEPAUSED");
- case HRESULT(0x80110818) : return QStringLiteral("COMADMIN_E_PARTITION_ACCESSDENIED");
- case HRESULT(0x80110819) : return QStringLiteral("COMADMIN_E_PARTITION_MSI_ONLY");
- case HRESULT(0x8011081A) : return QStringLiteral("COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_1_0_FORMAT");
- case HRESULT(0x8011081B) : return QStringLiteral("COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_NONBASE_PARTITIONS");
- case HRESULT(0x8011081C) : return QStringLiteral("COMADMIN_E_COMP_MOVE_SOURCE");
- case HRESULT(0x8011081D) : return QStringLiteral("COMADMIN_E_COMP_MOVE_DEST");
- case HRESULT(0x8011081E) : return QStringLiteral("COMADMIN_E_COMP_MOVE_PRIVATE");
- case HRESULT(0x8011081F) : return QStringLiteral("COMADMIN_E_BASEPARTITION_REQUIRED_IN_SET");
- case HRESULT(0x80110820) : return QStringLiteral("COMADMIN_E_CANNOT_ALIAS_EVENTCLASS");
- case HRESULT(0x80110821) : return QStringLiteral("COMADMIN_E_PRIVATE_ACCESSDENIED");
- case HRESULT(0x80110822) : return QStringLiteral("COMADMIN_E_SAFERINVALID");
- case HRESULT(0x80110823) : return QStringLiteral("COMADMIN_E_REGISTRY_ACCESSDENIED");
- case HRESULT(0x80110824) : return QStringLiteral("COMADMIN_E_PARTITIONS_DISABLED");
- case HRESULT(0x80042301) : return QStringLiteral("VSS_E_BAD_STATE");
- case HRESULT(0x800423F7) : return QStringLiteral("VSS_E_LEGACY_PROVIDER");
- case HRESULT(0x800423FF) : return QStringLiteral("VSS_E_RESYNC_IN_PROGRESS");
- case HRESULT(0x8004232B) : return QStringLiteral("VSS_E_SNAPSHOT_NOT_IN_SET");
- case HRESULT(0x80042312) : return QStringLiteral("VSS_E_MAXIMUM_NUMBER_OF_VOLUMES_REACHED");
- case HRESULT(0x80042317) : return QStringLiteral("VSS_E_MAXIMUM_NUMBER_OF_SNAPSHOTS_REACHED");
- case HRESULT(0x8004232C) : return QStringLiteral("VSS_E_NESTED_VOLUME_LIMIT");
- case HRESULT(0x80042308) : return QStringLiteral("VSS_E_OBJECT_NOT_FOUND");
- case HRESULT(0x80042304) : return QStringLiteral("VSS_E_PROVIDER_NOT_REGISTERED");
- case HRESULT(0x80042306) : return QStringLiteral("VSS_E_PROVIDER_VETO");
- case HRESULT(0x8004230C) : return QStringLiteral("VSS_E_VOLUME_NOT_SUPPORTED");
- case HRESULT(0x8004230E) : return QStringLiteral("VSS_E_VOLUME_NOT_SUPPORTED_BY_PROVIDER");
- case HRESULT(0x80042302) : return QStringLiteral("VSS_E_UNEXPECTED");
- case HRESULT(0x8004230F) : return QStringLiteral("VSS_E_UNEXPECTED_PROVIDER_ERROR");
- case HRESULT(0x8004232A) : return QStringLiteral("VSS_E_UNSELECTED_VOLUME");
- case HRESULT(0x800423FE) : return QStringLiteral("VSS_E_CANNOT_REVERT_DISKID");
- case HRESULT(0x80042311) : return QStringLiteral("VSS_E_INVALID_XML_DOCUMENT");
- case HRESULT(0x8004230D) : return QStringLiteral("VSS_E_OBJECT_ALREADY_EXISTS");
- case HRESULT(0x80284001) : return QStringLiteral("TBS_E_INTERNAL_ERROR");
- case HRESULT(0x80284002) : return QStringLiteral("TBS_E_BAD_PARAMETER");
- case HRESULT(0x80284003) : return QStringLiteral("TBS_E_INVALID_OUTPUT_POINTER");
- case HRESULT(0x80284005) : return QStringLiteral("TBS_E_INSUFFICIENT_BUFFER");
- case HRESULT(0x80284006) : return QStringLiteral("TBS_E_IOERROR");
- case HRESULT(0x80284007) : return QStringLiteral("TBS_E_INVALID_CONTEXT_PARAM");
- case HRESULT(0x80284008) : return QStringLiteral("TBS_E_SERVICE_NOT_RUNNING");
- case HRESULT(0x80284009) : return QStringLiteral("TBS_E_TOO_MANY_TBS_CONTEXTS");
- case HRESULT(0x8028400B) : return QStringLiteral("TBS_E_SERVICE_START_PENDING");
- case HRESULT(0x8028400E) : return QStringLiteral("TBS_E_BUFFER_TOO_LARGE");
- case HRESULT(0x8028400F) : return QStringLiteral("TBS_E_TPM_NOT_FOUND");
- case HRESULT(0x80284010) : return QStringLiteral("TBS_E_SERVICE_DISABLED");
- case HRESULT(0x80284016) : return QStringLiteral("TBS_E_DEACTIVATED");
- case HRESULT(0x80320001) : return QStringLiteral("FWP_E_CALLOUT_NOT_FOUND");
- case HRESULT(0x80320002) : return QStringLiteral("FWP_E_CONDITION_NOT_FOUND");
- case HRESULT(0x80320003) : return QStringLiteral("FWP_E_FILTER_NOT_FOUND");
- case HRESULT(0x80320004) : return QStringLiteral("FWP_E_LAYER_NOT_FOUND");
- case HRESULT(0x80320005) : return QStringLiteral("FWP_E_PROVIDER_NOT_FOUND");
- case HRESULT(0x80320006) : return QStringLiteral("FWP_E_PROVIDER_CONTEXT_NOT_FOUND");
- case HRESULT(0x80320007) : return QStringLiteral("FWP_E_SUBLAYER_NOT_FOUND");
- case HRESULT(0x80320008) : return QStringLiteral("FWP_E_NOT_FOUND");
- case HRESULT(0x80320009) : return QStringLiteral("FWP_E_ALREADY_EXISTS");
- case HRESULT(0x8032000A) : return QStringLiteral("FWP_E_IN_USE");
- case HRESULT(0x8032000B) : return QStringLiteral("FWP_E_DYNAMIC_SESSION_IN_PROGRESS");
- case HRESULT(0x8032000C) : return QStringLiteral("FWP_E_WRONG_SESSION");
- case HRESULT(0x8032000D) : return QStringLiteral("FWP_E_NO_TXN_IN_PROGRESS");
- case HRESULT(0x8032000E) : return QStringLiteral("FWP_E_TXN_IN_PROGRESS");
- case HRESULT(0x8032000F) : return QStringLiteral("FWP_E_TXN_ABORTED");
- case HRESULT(0x80320010) : return QStringLiteral("FWP_E_SESSION_ABORTED");
- case HRESULT(0x80320011) : return QStringLiteral("FWP_E_INCOMPATIBLE_TXN");
- case HRESULT(0x80320012) : return QStringLiteral("FWP_E_TIMEOUT");
- case HRESULT(0x80320013) : return QStringLiteral("FWP_E_NET_EVENTS_DISABLED");
- case HRESULT(0x80320014) : return QStringLiteral("FWP_E_INCOMPATIBLE_LAYER");
- case HRESULT(0x80320015) : return QStringLiteral("FWP_E_KM_CLIENTS_ONLY");
- case HRESULT(0x80320016) : return QStringLiteral("FWP_E_LIFETIME_MISMATCH");
- case HRESULT(0x80320017) : return QStringLiteral("FWP_E_BUILTIN_OBJECT");
- case HRESULT(0x80320018) : return QStringLiteral("FWP_E_TOO_MANY_CALLOUTS");
- case HRESULT(0x80320019) : return QStringLiteral("FWP_E_NOTIFICATION_DROPPED");
- case HRESULT(0x8032001A) : return QStringLiteral("FWP_E_TRAFFIC_MISMATCH");
- case HRESULT(0x8032001B) : return QStringLiteral("FWP_E_INCOMPATIBLE_SA_STATE");
- case HRESULT(0x8032001C) : return QStringLiteral("FWP_E_NULL_POINTER");
- case HRESULT(0x8032001D) : return QStringLiteral("FWP_E_INVALID_ENUMERATOR");
- case HRESULT(0x8032001E) : return QStringLiteral("FWP_E_INVALID_FLAGS");
- case HRESULT(0x8032001F) : return QStringLiteral("FWP_E_INVALID_NET_MASK");
- case HRESULT(0x80320020) : return QStringLiteral("FWP_E_INVALID_RANGE");
- case HRESULT(0x80320021) : return QStringLiteral("FWP_E_INVALID_INTERVAL");
- case HRESULT(0x80320022) : return QStringLiteral("FWP_E_ZERO_LENGTH_ARRAY");
- case HRESULT(0x80320023) : return QStringLiteral("FWP_E_NULL_DISPLAY_NAME");
- case HRESULT(0x80320024) : return QStringLiteral("FWP_E_INVALID_ACTION_TYPE");
- case HRESULT(0x80320025) : return QStringLiteral("FWP_E_INVALID_WEIGHT");
- case HRESULT(0x80320026) : return QStringLiteral("FWP_E_MATCH_TYPE_MISMATCH");
- case HRESULT(0x80320027) : return QStringLiteral("FWP_E_TYPE_MISMATCH");
- case HRESULT(0x80320028) : return QStringLiteral("FWP_E_OUT_OF_BOUNDS");
- case HRESULT(0x80320029) : return QStringLiteral("FWP_E_RESERVED");
- case HRESULT(0x8032002A) : return QStringLiteral("FWP_E_DUPLICATE_CONDITION");
- case HRESULT(0x8032002B) : return QStringLiteral("FWP_E_DUPLICATE_KEYMOD");
- case HRESULT(0x8032002C) : return QStringLiteral("FWP_E_ACTION_INCOMPATIBLE_WITH_LAYER");
- case HRESULT(0x8032002D) : return QStringLiteral("FWP_E_ACTION_INCOMPATIBLE_WITH_SUBLAYER");
- case HRESULT(0x8032002E) : return QStringLiteral("FWP_E_CONTEXT_INCOMPATIBLE_WITH_LAYER");
- case HRESULT(0x8032002F) : return QStringLiteral("FWP_E_CONTEXT_INCOMPATIBLE_WITH_CALLOUT");
- case HRESULT(0x80320030) : return QStringLiteral("FWP_E_INCOMPATIBLE_AUTH_METHOD");
- case HRESULT(0x80320031) : return QStringLiteral("FWP_E_INCOMPATIBLE_DH_GROUP");
- case HRESULT(0x80320032) : return QStringLiteral("FWP_E_EM_NOT_SUPPORTED");
- case HRESULT(0x80320033) : return QStringLiteral("FWP_E_NEVER_MATCH");
- case HRESULT(0x80320034) : return QStringLiteral("FWP_E_PROVIDER_CONTEXT_MISMATCH");
- case HRESULT(0x80320035) : return QStringLiteral("FWP_E_INVALID_PARAMETER");
- case HRESULT(0x80320036) : return QStringLiteral("FWP_E_TOO_MANY_SUBLAYERS");
- case HRESULT(0x80320037) : return QStringLiteral("FWP_E_CALLOUT_NOTIFICATION_FAILED");
- case HRESULT(0x80320038) : return QStringLiteral("FWP_E_INVALID_AUTH_TRANSFORM");
- case HRESULT(0x80320039) : return QStringLiteral("FWP_E_INVALID_CIPHER_TRANSFORM");
- default : return QString();
- }
-}
-
-/*!
- \since 5.2
-
- Returns the DWM colorization color. After the function returns, the optional
- \a opaqueBlend will contain true if the color is an opaque blend and false
- otherwise.
- */
-QColor QtWin::colorizationColor(bool *opaqueBlend)
-{
- QWinEventFilter::setup();
-
- DWORD colorization = 0;
- BOOL dummy = false;
- DwmGetColorizationColor(&colorization, &dummy);
- if (opaqueBlend)
- *opaqueBlend = dummy;
- return QColor::fromRgba(colorization);
-}
-
-/*!
- \since 5.2
-
- Returns the real colorization color, set by the user, using an undocumented
- registry key. The API-based function \c getColorizationColor() returns an
- alpha-blended color which often turns out a semitransparent gray rather
- than something similar to what is chosen by the user.
-
- \sa colorizationColor()
- */
-QColor QtWin::realColorizationColor()
-{
- QWinEventFilter::setup();
-
- bool ok = false;
- const QLatin1String path("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\DWM");
- QSettings registry(path, QSettings::NativeFormat);
- QRgb color = registry.value(QLatin1String("ColorizationColor")).toUInt(&ok);
- if (!ok)
- qDebug("Failed to read colorization color.");
- return ok ? QColor::fromRgba(color) : QColor();
-}
-
-/*!
- \fn QtWin::setWindowExcludedFromPeek(QWidget *window, bool exclude)
- \since 5.2
- \overload QtWin::setWindowExcludedFromPeek()
-*/
-
-/*!
- \since 5.2
-
- Excludes the specified \a window from Aero Peek if \a exclude is true.
- */
-void QtWin::setWindowExcludedFromPeek(QWindow *window, bool exclude)
-{
- Q_ASSERT_X(window, Q_FUNC_INFO, "window is null");
- QtDwmApiDll::setBooleanWindowAttribute(reinterpret_cast<HWND>(window->winId()), qt_DWMWA_EXCLUDED_FROM_PEEK, exclude);
-}
-
-/*!
- \fn bool QtWin::isWindowExcludedFromPeek(QWidget *window)
- \since 5.2
- \overload QtWin::isWindowExcludedFromPeek()
-*/
-
-/*!
- \since 5.2
-
- Returns true if the specified \a window is excluded from Aero Peek.
- */
-bool QtWin::isWindowExcludedFromPeek(QWindow *window)
-{
- Q_ASSERT_X(window, Q_FUNC_INFO, "window is null");
- return QtDwmApiDll::booleanWindowAttribute(reinterpret_cast<HWND>(window->winId()), qt_DWMWA_EXCLUDED_FROM_PEEK);
-}
-
-/*!
- \fn void QtWin::setWindowDisallowPeek(QWidget *window, bool disallow)
- \since 5.2
- \overload QtWin::setWindowDisallowPeek()
-*/
-
-/*!
- \since 5.2
-
- Disables Aero Peek for the specified \a window when hovering over the
- taskbar thumbnail of the window with the mouse pointer if \a disallow is
- true; otherwise allows it.
-
- The default is false.
- */
-void QtWin::setWindowDisallowPeek(QWindow *window, bool disallow)
-{
- Q_ASSERT_X(window, Q_FUNC_INFO, "window is null");
- QtDwmApiDll::setBooleanWindowAttribute(reinterpret_cast<HWND>(window->winId()), qt_DWMWA_DISALLOW_PEEK, disallow);
-}
-
-/*!
- \fn bool QtWin::isWindowPeekDisallowed(QWidget *window)
- \since 5.2
- \overload QtWin::isWindowPeekDisallowed()
-*/
-
-/*!
- \since 5.2
-
- Returns true if Aero Peek is disallowed on the thumbnail of the specified
- \a window.
- */
-bool QtWin::isWindowPeekDisallowed(QWindow *window)
-{
- Q_ASSERT_X(window, Q_FUNC_INFO, "window is null");
- return QtDwmApiDll::booleanWindowAttribute(reinterpret_cast<HWND>(window->winId()), qt_DWMWA_DISALLOW_PEEK);
-}
-
-/*!
- \fn void QtWin::setWindowFlip3DPolicy(QWidget *window, QtWin::WindowFlip3DPolicy policy)
- \since 5.2
- \overload QtWin::setWindowFlip3DPolicy()
-*/
-
-/*!
- \since 5.2
-
- Sets the Flip3D policy \a policy for the specified \a window.
- */
-void QtWin::setWindowFlip3DPolicy(QWindow *window, QtWin::WindowFlip3DPolicy policy)
-{
- Q_ASSERT_X(window, Q_FUNC_INFO, "window is null");
-
- HWND handle = reinterpret_cast<HWND>(window->winId());
-
- // Policy should be defaulted first, bug or smth.
- DWORD value = DWMFLIP3D_DEFAULT;
- QtDwmApiDll::setWindowAttribute(handle, DWMWA_FLIP3D_POLICY, value);
-
- switch (policy) {
- default :
- case FlipDefault :
- value = -1;
- break;
- case FlipExcludeBelow :
- value = DWMFLIP3D_EXCLUDEBELOW;
- break;
- case FlipExcludeAbove :
- value = DWMFLIP3D_EXCLUDEABOVE;
- break;
- }
-
- if (DWMFLIP3D_DEFAULT != value)
- QtDwmApiDll::setWindowAttribute(handle, DWMWA_FLIP3D_POLICY, value);
-}
-
-/*!
- \fn QtWin::WindowFlip3DPolicy QtWin::windowFlip3DPolicy(QWidget *window)
- \since 5.2
- \overload QtWin::windowFlip3DPolicy()
- */
-
-/*!
- \since 5.2
-
- Returns the current Flip3D policy for the specified \a window.
- */
-QtWin::WindowFlip3DPolicy QtWin::windowFlip3DPolicy(QWindow *window)
-{
- Q_ASSERT_X(window, Q_FUNC_INFO, "window is null");
-
- const auto value =
- QtDwmApiDll::windowAttribute<DWORD>(reinterpret_cast<HWND>(window->winId()),
- DWMWA_FLIP3D_POLICY, DWORD(DWMFLIP3D_DEFAULT));
- QtWin::WindowFlip3DPolicy policy = QtWin::FlipDefault;
- switch (value) {
- case DWMFLIP3D_EXCLUDEABOVE :
- policy = QtWin::FlipExcludeAbove;
- break;
- case DWMFLIP3D_EXCLUDEBELOW :
- policy = QtWin::FlipExcludeBelow;
- break;
- default :
- break;
- }
- return policy;
-}
-
-/*!
- \since 6.0
-
- Sets the non-client area rendering policy \a policy for the specified \a window.
-
- \note Disabling non-client area rendering will cause any previous calls to
- QtWin::enableBlurBehindWindow() or to QtWin::extendFrameIntoClientArea() to be disabled.
- */
-void QtWin::setWindowNonClientAreaRenderingPolicy(QWindow *window, QtWin::WindowNonClientRenderingPolicy policy)
-{
- Q_ASSERT_X(window, Q_FUNC_INFO, "window is null");
-
- HWND handle = reinterpret_cast<HWND>(window->winId());
-
- DWORD value = DWMNCRP_USEWINDOWSTYLE;
-
- switch (policy) {
- default :
- case NonClientRenderingUseWindowStyle :
- break;
- case NonClientRenderingDisabled :
- value = DWMNCRP_DISABLED;
- break;
- case NonClientRenderingEnabled :
- value = DWMNCRP_ENABLED;
- break;
- }
-
- QtDwmApiDll::setWindowAttribute(handle, DWMWA_NCRENDERING_POLICY, value);
-}
-
-/*!
- \fn QtWin::WindowNonClientRenderingPolicy QtWin::windowNonClientAreaRenderingPolicy(QWidget *window)
- \since 6.0
- \overload QtWin::windowNonClientAreaRenderingPolicy()
- */
-
-/*!
- \since 6.0
-
- Returns the current non-client area rendering policy for the specified \a window.
- */
-QtWin::WindowNonClientRenderingPolicy QtWin::windowNonClientAreaRenderingPolicy(QWindow *window)
-{
- Q_ASSERT_X(window, Q_FUNC_INFO, "window is null");
-
- const auto value =
- QtDwmApiDll::windowAttribute<DWORD>(reinterpret_cast<HWND>(window->winId()),
- DWMWA_NCRENDERING_POLICY, DWORD(DWMNCRP_USEWINDOWSTYLE));
- WindowNonClientRenderingPolicy policy = NonClientRenderingUseWindowStyle;
- switch (value) {
- case DWMNCRP_DISABLED :
- policy = NonClientRenderingDisabled;
- break;
- case DWMNCRP_ENABLED :
- policy = NonClientRenderingEnabled;
- break;
- default :
- break;
- }
- return policy;
-}
-
-void qt_ExtendFrameIntoClientArea(QWindow *window, int left, int top, int right, int bottom)
-{
- QWinEventFilter::setup();
- MARGINS margins = {left, right, top, bottom};
- DwmExtendFrameIntoClientArea(reinterpret_cast<HWND>(window->winId()), &margins);
-}
-
-/*! \fn void QtWin::extendFrameIntoClientArea(QWidget *window, int left, int top, int right, int bottom)
- \since 5.2
- \overload QtWin::extendFrameIntoClientArea()
- */
-
-/*!
- \since 5.2
-
- Extends the glass frame into the client area of the specified \a window
- using the \a left, \a top, \a right, and \a bottom margin values.
-
- Pass -1 as values for any of the four margins to fully extend the frame,
- creating a \e {sheet of glass} effect. If it doesn't work, change
- non-client area rendering policy to QtWin::NonClientRenderingEnabled and
- try again.
-
- If you want the extended frame to act like a standard window border, you
- should handle that yourself.
-
- \note Qt::WA_NoSystemBackground must not be set on widgets for
- extendFrameIntoClientArea() to work.
-
- \sa resetExtendedFrame(), setWindowNonClientAreaRenderingPolicy()
- */
-void QtWin::extendFrameIntoClientArea(QWindow *window, int left, int top, int right, int bottom)
-{
- Q_ASSERT_X(window, Q_FUNC_INFO, "window is null");
- qt_ExtendFrameIntoClientArea(window, left, top, right, bottom);
-}
-
-/*! \fn void QtWin::extendFrameIntoClientArea(QWidget *window, const QMargins &margins)
- \since 5.2
- \overload QtWin::extendFrameIntoClientArea()
-
- Convenience overload that allows passing frame sizes in a \a margins
- structure.
- */
-
-/*!
- \since 5.2
- \overload QtWin::extendFrameIntoClientArea()
-
- Extends the glass frame into the client area of the specified \a window
- using the specified \a margins.
- */
-void QtWin::extendFrameIntoClientArea(QWindow *window, const QMargins &margins)
-{
- QtWin::extendFrameIntoClientArea(window, margins.left(), margins.top(), margins.right(), margins.bottom());
-}
-
-/*!
- \fn void QtWin::resetExtendedFrame(QWidget *window)
- \since 5.2
- \overload QtWin::resetExtendedFrame()
- */
-
-/*!
- \since 5.2
-
- Resets the glass frame and restores the \a window attributes.
-
- This convenience function calls extendFrameIntoClientArea() with margins set
- to 0.
-
- \note Qt::WA_NoSystemBackground must not be set on widgets for
- extendFrameIntoClientArea() to work.
-
- \sa extendFrameIntoClientArea()
- */
-void QtWin::resetExtendedFrame(QWindow *window)
-{
- Q_ASSERT_X(window, Q_FUNC_INFO, "window is null");
- qt_ExtendFrameIntoClientArea(window, 0, 0, 0, 0);
-}
-
-/*!
- \fn void QtWin::enableBlurBehindWindow(QWidget *window, const QRegion &region)
- \since 5.2
- \overload QtWin::enableBlurBehindWindow()
- */
-
-/*!
- \since 5.2
-
- Enables the blur effect for the specified \a region of the specified
- \a window.
-
- \sa disableBlurBehindWindow()
- */
-void QtWin::enableBlurBehindWindow(QWindow *window, const QRegion &region)
-{
- Q_ASSERT_X(window, Q_FUNC_INFO, "window is null");
-
- DWM_BLURBEHIND dwmbb = {0, 0, nullptr, 0};
- dwmbb.dwFlags = DWM_BB_ENABLE;
- dwmbb.fEnable = TRUE;
- HRGN rgn = nullptr;
- if (!region.isNull()) {
- rgn = toHRGN(region);
- if (rgn) {
- dwmbb.hRgnBlur = rgn;
- dwmbb.dwFlags |= DWM_BB_BLURREGION;
- }
- }
- DwmEnableBlurBehindWindow(reinterpret_cast<HWND>(window->winId()), &dwmbb);
- if (rgn)
- DeleteObject(rgn);
-}
-
-/*!
- \fn void QtWin::enableBlurBehindWindow(QWidget *window)
- \since 5.2
- \overload QtWin::enableBlurBehindWindow()
- */
-
-/*!
- \since 5.2
-
- Enables the blur effect for the specified \a window.
-
- \sa disableBlurBehindWindow()
- */
-void QtWin::enableBlurBehindWindow(QWindow *window)
-{
- QtWin::enableBlurBehindWindow(window, QRegion());
-}
-
-/*!
- \fn void QtWin::disableBlurBehindWindow(QWidget *window)
- \since 5.2
- \overload QtWin::disableBlurBehindWindow()
- */
-
-/*!
- \since 5.2
-
- Disables the previously enabled blur effect for the specified \a window.
-
- \sa enableBlurBehindWindow()
- */
-void QtWin::disableBlurBehindWindow(QWindow *window)
-{
- Q_ASSERT_X(window, Q_FUNC_INFO, "window is null");
- DWM_BLURBEHIND dwmbb = {0, 0, nullptr, 0};
- dwmbb.dwFlags = DWM_BB_ENABLE;
- DwmEnableBlurBehindWindow(reinterpret_cast<HWND>(window->winId()), &dwmbb);
-}
-
-/*!
- \since 5.2
-
- Returns whether the colorization color is an opaque blend.
- */
-bool QtWin::isCompositionOpaque()
-{
- bool opaque;
- colorizationColor(&opaque);
- return opaque;
-}
-
-/*!
- \since 5.2
-
- Sets the Application User Model ID \a id.
-
- For more information, see
- \l{http://msdn.microsoft.com/en-us/library/windows/desktop/dd378459.aspx}
- {Application User Model IDs}.
- */
-void QtWin::setCurrentProcessExplicitAppUserModelID(const QString &id)
-{
- QScopedArrayPointer<wchar_t> wid(qt_qstringToNullTerminated(id));
- SetCurrentProcessExplicitAppUserModelID(wid.data());
-}
-
-/*!
- \internal
- */
-ITaskbarList3 *qt_createITaskbarList3()
-{
- ITaskbarList3 *pTbList = nullptr;
- HRESULT result = CoCreateInstance(CLSID_TaskbarList, nullptr, CLSCTX_INPROC_SERVER, qIID_ITaskbarList3, reinterpret_cast<void **>(&pTbList));
- if (SUCCEEDED(result)) {
- if (FAILED(pTbList->HrInit())) {
- pTbList->Release();
- pTbList = nullptr;
- }
- }
- return pTbList;
-}
-
-/*!
- \internal
- */
-ITaskbarList2 *qt_createITaskbarList2()
-{
- ITaskbarList3 *pTbList = nullptr;
- HRESULT result = CoCreateInstance(CLSID_TaskbarList, nullptr, CLSCTX_INPROC_SERVER, qIID_ITaskbarList2, reinterpret_cast<void **>(&pTbList));
- if (SUCCEEDED(result)) {
- if (FAILED(pTbList->HrInit())) {
- pTbList->Release();
- pTbList = nullptr;
- }
- }
- return pTbList;
-}
-
-/*!
- \fn void QtWin::markFullscreenWindow(QWidget *window, bool fullscreen)
- \since 5.2
- \overload QtWin::markFullscreenWindow()
- */
-
-/*!
- \since 5.2
-
- Marks the specified \a window as running in the full-screen mode if
- \a fullscreen is true, so that the shell handles it correctly. Otherwise,
- removes the mark.
-
- \note You do not usually need to call this function, because the Windows
- taskbar always tries to determine whether a window is running in the
- full-screen mode.
- */
-void QtWin::markFullscreenWindow(QWindow *window, bool fullscreen)
-{
- ITaskbarList2 *pTbList = qt_createITaskbarList2();
- if (pTbList) {
- pTbList->MarkFullscreenWindow(reinterpret_cast<HWND>(window->winId()), fullscreen);
- pTbList->Release();
- }
-}
-
-/*!
- \fn void QtWin::taskbarActivateTab(QWidget *window)
- \since 5.2
- \overload QtWin::taskbarActivateTab()
- */
-
-/*!
- \since 5.2
-
- Activates an item on the taskbar without activating the \a window itself.
- */
-void QtWin::taskbarActivateTab(QWindow *window)
-{
- ITaskbarList *pTbList = qt_createITaskbarList2();
- if (pTbList) {
- pTbList->ActivateTab(reinterpret_cast<HWND>(window->winId()));
- pTbList->Release();
- }
-}
-
-/*!
- \fn void QtWin::taskbarActivateTabAlt(QWidget *window)
- \since 5.2
- \overload QtWin::taskbarActivateTabAlt()
- */
-
-/*!
- \since 5.2
-
- Marks the item that represents the specified \a window on the taskbar
- as active, but does not activate it visually.
- */
-void QtWin::taskbarActivateTabAlt(QWindow *window)
-{
- ITaskbarList *pTbList = qt_createITaskbarList2();
- if (pTbList) {
- pTbList->SetActiveAlt(reinterpret_cast<HWND>(window->winId()));
- pTbList->Release();
- }
-}
-
-/*!
- \fn void QtWin::taskbarAddTab(QWidget *window)
- \since 5.2
- \overload QtWin::taskbarAddTab()
- */
-
-/*!
- \since 5.2
-
- Adds an item for the specified \a window to the taskbar.
- */
-void QtWin::taskbarAddTab(QWindow *window)
-{
- ITaskbarList *pTbList = qt_createITaskbarList2();
- if (pTbList) {
- pTbList->AddTab(reinterpret_cast<HWND>(window->winId()));
- pTbList->Release();
- }
-}
-
-/*!
- \fn void QtWin::taskbarDeleteTab(QWidget *window)
- \since 5.2
- \overload QtWin::taskbarDeleteTab()
- */
-
-/*!
- \since 5.2
-
- Removes the specified \a window from the taskbar.
- */
-void QtWin::taskbarDeleteTab(QWindow *window)
-{
- ITaskbarList *pTbList = qt_createITaskbarList3();
- if (pTbList) {
- pTbList->DeleteTab(reinterpret_cast<HWND>(window->winId()));
- pTbList->Release();
- }
-}
-
-/*!
- \enum QtWin::HBitmapFormat
-
- \since 5.2
-
- This enum defines how the conversion between \c
- HBITMAP and QPixmap is performed.
-
- \value HBitmapNoAlpha
- The alpha channel is ignored and always treated as
- being set to fully opaque. This is preferred if the \c HBITMAP is
- used with standard GDI calls, such as \c BitBlt().
-
- \value HBitmapPremultipliedAlpha
- The \c HBITMAP is treated as having an
- alpha channel and premultiplied colors. This is preferred if the
- \c HBITMAP is accessed through the \c AlphaBlend() GDI function.
-
- \value HBitmapAlpha
- The \c HBITMAP is treated as having a plain alpha
- channel. This is the preferred format if the \c HBITMAP is going
- to be used as an application icon or a systray icon.
-
- \sa fromHBITMAP(), toHBITMAP()
-*/
-
-/*!
- \enum QtWin::WindowFlip3DPolicy
-
- \since 5.2
-
- This enum type specifies the Flip3D window policy.
-
- \value FlipDefault
- Let the OS decide whether to include the window in the Flip3D
- rendering.
-
- \value FlipExcludeAbove
- Exclude the window from Flip3D and display it above the Flip3D
- rendering.
-
- \value FlipExcludeBelow
- Exclude the window from Flip3D and display it below the Flip3D
- rendering.
-
- \sa setWindowFlip3DPolicy()
- */
-
-/*!
- \enum QtWin::WindowNonClientRenderingPolicy
-
- \since 6.0
-
- This enum type specifies the non-client area rendering policy.
-
- \value NonClientRenderingUseWindowStyle
- The non-client rendering area is rendered based on the window
- style.
-
- \value NonClientRenderingDisabled
- The non-client area rendering is disabled and the window style
- is ignored.
- Note that disabling non-client area rendering will cause any
- previous calls to QtWin::enableBlurBehindWindow() or to
- QtWin::extendFrameIntoClientArea() to be disabled.
-
- \value NonClientRenderingEnabled
- The non-client area rendering is enabled and the window style
- is ignored.
- If you want to bring frame shadow back to a frameless window,
- enable this policy and call QtWin::extendFrameIntoClientArea()
- with a negative height.
-
- \sa setWindowNonClientAreaRenderingPolicy()
- */
-
-QT_END_NAMESPACE
diff --git a/src/winextras/qwinfunctions.h b/src/winextras/qwinfunctions.h
deleted file mode 100644
index dd17cef..0000000
--- a/src/winextras/qwinfunctions.h
+++ /dev/null
@@ -1,251 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtWinExtras module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** 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 Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** 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-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QWINFUNCTIONS_H
-#define QWINFUNCTIONS_H
-
-#if 0
-#pragma qt_class(QtWin)
-#endif
-
-#include <QtCore/qobject.h>
-#include <QtCore/qt_windows.h>
-#include <QtWinExtras/qwinextrasglobal.h>
-#ifdef QT_WIDGETS_LIB
-#include <QtWidgets/qwidget.h>
-#endif
-
-QT_BEGIN_NAMESPACE
-
-class QPixmap;
-class QImage;
-class QBitmap;
-class QColor;
-class QWindow;
-class QString;
-class QMargins;
-
-namespace QtWin
-{
- enum HBitmapFormat
- {
- HBitmapNoAlpha,
- HBitmapPremultipliedAlpha,
- HBitmapAlpha
- };
-
- enum WindowFlip3DPolicy
- {
- FlipDefault,
- FlipExcludeBelow,
- FlipExcludeAbove
- };
-
- enum WindowNonClientRenderingPolicy
- {
- NonClientRenderingUseWindowStyle,
- NonClientRenderingDisabled,
- NonClientRenderingEnabled
- };
-
- Q_WINEXTRAS_EXPORT HBITMAP createMask(const QBitmap &bitmap);
- Q_WINEXTRAS_EXPORT HBITMAP toHBITMAP(const QPixmap &p, HBitmapFormat format = HBitmapNoAlpha);
- Q_WINEXTRAS_EXPORT QPixmap fromHBITMAP(HBITMAP bitmap, HBitmapFormat format = HBitmapNoAlpha);
- Q_WINEXTRAS_EXPORT HICON toHICON(const QPixmap &p);
- Q_WINEXTRAS_EXPORT HBITMAP imageToHBITMAP(const QImage &image, QtWin::HBitmapFormat format = HBitmapNoAlpha);
- Q_WINEXTRAS_EXPORT QImage imageFromHBITMAP(HDC hdc, HBITMAP bitmap, int width, int height);
- Q_WINEXTRAS_EXPORT QImage imageFromHBITMAP(HBITMAP bitmap, QtWin::HBitmapFormat format = HBitmapNoAlpha);
- Q_WINEXTRAS_EXPORT QPixmap fromHICON(HICON icon);
- Q_WINEXTRAS_EXPORT HRGN toHRGN(const QRegion &region);
- Q_WINEXTRAS_EXPORT QRegion fromHRGN(HRGN hrgn);
-
- Q_WINEXTRAS_EXPORT QString stringFromHresult(HRESULT hresult);
- Q_WINEXTRAS_EXPORT QString errorStringFromHresult(HRESULT hresult);
-
- Q_WINEXTRAS_EXPORT QColor colorizationColor(bool *opaqueBlend = nullptr);
- Q_WINEXTRAS_EXPORT QColor realColorizationColor();
-
- Q_WINEXTRAS_EXPORT void setWindowExcludedFromPeek(QWindow *window, bool exclude);
- Q_WINEXTRAS_EXPORT bool isWindowExcludedFromPeek(QWindow *window);
- Q_WINEXTRAS_EXPORT void setWindowDisallowPeek(QWindow *window, bool disallow);
- Q_WINEXTRAS_EXPORT bool isWindowPeekDisallowed(QWindow *window);
- Q_WINEXTRAS_EXPORT void setWindowFlip3DPolicy(QWindow *window, WindowFlip3DPolicy policy);
- Q_WINEXTRAS_EXPORT WindowFlip3DPolicy windowFlip3DPolicy(QWindow *);
- Q_WINEXTRAS_EXPORT void setWindowNonClientAreaRenderingPolicy(QWindow *window, WindowNonClientRenderingPolicy policy);
- Q_WINEXTRAS_EXPORT WindowNonClientRenderingPolicy windowNonClientAreaRenderingPolicy(QWindow *);
-
- Q_WINEXTRAS_EXPORT void extendFrameIntoClientArea(QWindow *window, int left, int top, int right, int bottom);
- Q_WINEXTRAS_EXPORT void extendFrameIntoClientArea(QWindow *window, const QMargins &margins);
- Q_WINEXTRAS_EXPORT void resetExtendedFrame(QWindow *window);
-
- Q_WINEXTRAS_EXPORT void enableBlurBehindWindow(QWindow *window, const QRegion &region);
- Q_WINEXTRAS_EXPORT void enableBlurBehindWindow(QWindow *window);
- Q_WINEXTRAS_EXPORT void disableBlurBehindWindow(QWindow *window);
-
- Q_WINEXTRAS_EXPORT bool isCompositionOpaque();
-
- Q_WINEXTRAS_EXPORT void setCurrentProcessExplicitAppUserModelID(const QString &id);
-
- Q_WINEXTRAS_EXPORT void markFullscreenWindow(QWindow *, bool fullscreen = true);
-
- Q_WINEXTRAS_EXPORT void taskbarActivateTab(QWindow *);
- Q_WINEXTRAS_EXPORT void taskbarActivateTabAlt(QWindow *);
- Q_WINEXTRAS_EXPORT void taskbarAddTab(QWindow *);
- Q_WINEXTRAS_EXPORT void taskbarDeleteTab(QWindow *);
-
-#ifdef QT_WIDGETS_LIB
- inline void setWindowExcludedFromPeek(QWidget *window, bool exclude)
- {
- window->createWinId();
- setWindowExcludedFromPeek(window->windowHandle(), exclude);
- }
-
- inline bool isWindowExcludedFromPeek(QWidget *window)
- {
- auto handle = window->windowHandle();
- return handle && isWindowExcludedFromPeek(handle);
- }
-
- inline void setWindowDisallowPeek(QWidget *window, bool disallow)
- {
- window->createWinId();
- setWindowDisallowPeek(window->windowHandle(), disallow);
- }
-
- inline bool isWindowPeekDisallowed(QWidget *window)
- {
- auto handle = window->windowHandle();
- return handle && isWindowPeekDisallowed(handle);
- }
-
- inline void setWindowFlip3DPolicy(QWidget *window, WindowFlip3DPolicy policy)
- {
- window->createWinId();
- setWindowFlip3DPolicy(window->windowHandle(), policy);
- }
-
- inline WindowFlip3DPolicy windowFlip3DPolicy(QWidget *window)
- {
- auto handle = window->windowHandle();
- return handle ? windowFlip3DPolicy(handle) : FlipDefault;
- }
-
- inline void setWindowNonClientAreaRenderingPolicy(QWidget *window, WindowNonClientRenderingPolicy policy)
- {
- window->createWinId();
- setWindowNonClientAreaRenderingPolicy(window->windowHandle(), policy);
- }
-
- inline WindowNonClientRenderingPolicy windowNonClientAreaRenderingPolicy(QWidget *window)
- {
- auto handle = window->windowHandle();
- return handle ? windowNonClientAreaRenderingPolicy(handle) : NonClientRenderingUseWindowStyle;
- }
-
- inline void extendFrameIntoClientArea(QWidget *window, const QMargins &margins)
- {
- window->createWinId();
- extendFrameIntoClientArea(window->windowHandle(), margins);
- }
-
- inline void extendFrameIntoClientArea(QWidget *window, int left, int top, int right, int bottom)
- {
- window->createWinId();
- extendFrameIntoClientArea(window->windowHandle(), left, top, right, bottom);
- }
-
- inline void resetExtendedFrame(QWidget *window)
- {
- if (window->windowHandle())
- resetExtendedFrame(window->windowHandle());
- }
-
- inline void enableBlurBehindWindow(QWidget *window, const QRegion &region)
- {
- window->createWinId();
- enableBlurBehindWindow(window->windowHandle(), region);
- }
-
- inline void enableBlurBehindWindow(QWidget *window)
- {
- window->createWinId();
- enableBlurBehindWindow(window->windowHandle());
- }
-
- inline void disableBlurBehindWindow(QWidget *window)
- {
- if (window->windowHandle())
- disableBlurBehindWindow(window->windowHandle());
- }
-
- inline void markFullscreenWindow(QWidget *window, bool fullscreen = true)
- {
- window->createWinId();
- markFullscreenWindow(window->windowHandle(), fullscreen);
- }
-
- inline void taskbarActivateTab(QWidget *window)
- {
- window->createWinId();
- taskbarActivateTab(window->windowHandle());
- }
-
- inline void taskbarActivateTabAlt(QWidget *window)
- {
- window->createWinId();
- taskbarActivateTabAlt(window->windowHandle());
- }
-
- inline void taskbarAddTab(QWidget *window)
- {
- window->createWinId();
- taskbarAddTab(window->windowHandle());
- }
-
- inline void taskbarDeleteTab(QWidget *window)
- {
- window->createWinId();
- taskbarDeleteTab(window->windowHandle());
- }
-#endif // QT_WIDGETS_LIB
-}
-
-QT_END_NAMESPACE
-
-#endif // QWINFUNCTIONS_H
diff --git a/src/winextras/qwinfunctions_p.h b/src/winextras/qwinfunctions_p.h
deleted file mode 100644
index 0ee73cb..0000000
--- a/src/winextras/qwinfunctions_p.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QWINFUNCTIONS_P_H
-#define QWINFUNCTIONS_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qstring.h>
-#include <QtCore/qt_windows.h>
-#include <uxtheme.h>
-#include <dwmapi.h>
-
-QT_BEGIN_NAMESPACE
-
-enum qt_DWMWINDOWATTRIBUTE // Not present in MinGW 4.9
-{
- qt_DWMWA_DISALLOW_PEEK = 11,
- qt_DWMWA_EXCLUDED_FROM_PEEK = 12,
-};
-
-namespace QtDwmApiDll
-{
- template <class T> static T windowAttribute(HWND hwnd, DWORD attribute, T defaultValue);
- template <class T> static void setWindowAttribute(HWND hwnd, DWORD attribute, T value);
-
- inline bool booleanWindowAttribute(HWND hwnd, DWORD attribute)
- { return QtDwmApiDll::windowAttribute<BOOL>(hwnd, attribute, FALSE) != FALSE; }
-
- inline void setBooleanWindowAttribute(HWND hwnd, DWORD attribute, bool value)
- { setWindowAttribute<BOOL>(hwnd, attribute, BOOL(value ? TRUE : FALSE)); }
-};
-
-inline void qt_qstringToNullTerminated(const QString &src, wchar_t *dst)
-{
- dst[src.toWCharArray(dst)] = 0;
-}
-
-inline wchar_t *qt_qstringToNullTerminated(const QString &src)
-{
- auto *buffer = new wchar_t[src.length() + 1];
- qt_qstringToNullTerminated(src, buffer);
- return buffer;
-}
-
-template <class T>
-T QtDwmApiDll::windowAttribute(HWND hwnd, DWORD attribute, T defaultValue)
-{
- T value;
- if (FAILED(DwmGetWindowAttribute(hwnd, attribute, &value, sizeof(value))))
- value = defaultValue;
- return value;
-}
-
-template <class T>
-void QtDwmApiDll::setWindowAttribute(HWND hwnd, DWORD attribute, T value)
-{
- DwmSetWindowAttribute(hwnd, attribute, &value, sizeof(value));
-}
-
-QT_END_NAMESPACE
-
-#endif // QWINFUNCTIONS_P_H
diff --git a/src/winextras/qwinjumplist.cpp b/src/winextras/qwinjumplist.cpp
deleted file mode 100644
index f479096..0000000
--- a/src/winextras/qwinjumplist.cpp
+++ /dev/null
@@ -1,608 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include <QtCore/qglobal.h>
-
-#ifdef Q_CC_MINGW // MinGW: Enable SHCreateItemFromParsingName()
-# if defined(_WIN32_IE) && _WIN32_IE < 0x0700 // _WIN32_IE_IE70
-# undef _WIN32_IE
-# endif
-# ifndef _WIN32_IE
-# define _WIN32_IE 0x0700
-# endif
-#endif // Q_CC_MINGW
-
-#include "qwinjumplist.h"
-#include "qwinjumplist_p.h"
-#include "qwinjumplistitem.h"
-#include "qwinjumplistcategory.h"
-#include "qwinjumplistcategory_p.h"
-#include "windowsguidsdefs_p.h"
-#include "winpropkey_p.h"
-
-#include <QtCore/qdir.h>
-#include <QtCore/qdebug.h>
-#include <QtCore/qcoreapplication.h>
-#include <QtCore/qregularexpression.h>
-#include <QtCore/qt_windows.h>
-#include <propvarutil.h>
-
-#include "qwinfunctions.h"
-#include "qwinfunctions_p.h"
-#include "winpropkey_p.h"
-
-#include <shobjidl.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QWinJumpList
- \inmodule QtWinExtras
- \brief The QWinJumpList class represents a transparent wrapper around Windows
- Jump Lists.
-
- \since 5.2
-
- An application can use Jump Lists to provide users with faster access to
- files or to display shortcuts to tasks or commands.
- */
-
-/*!
- \title Application User Model IDs
- \externalpage http://msdn.microsoft.com/en-us/library/windows/desktop/dd378459%28v=vs.85%29.aspx
- */
-
-// partial copy of qprocess_win.cpp:qt_create_commandline()
-static QString createArguments(const QStringList &arguments)
-{
- QString args;
- for (int i=0; i<arguments.size(); ++i) {
- QString tmp = arguments.at(i);
- // Quotes are escaped and their preceding backslashes are doubled.
- tmp.replace(QRegularExpression(QLatin1String("(\\\\*)\"")), QLatin1String("\\1\\1\\\""));
- if (tmp.isEmpty() || tmp.contains(u' ') || tmp.contains(u'\t')) {
- // The argument must not end with a \ since this would be interpreted
- // as escaping the quote -- rather put the \ behind the quote: e.g.
- // rather use "foo"\ than "foo\"
- int i = tmp.length();
- while (i > 0 && tmp.at(i - 1) == u'\\')
- --i;
- tmp.insert(i, u'"');
- tmp.prepend(u'"');
- }
- args += u' ' + tmp;
- }
- return args;
-}
-
-void QWinJumpListPrivate::warning(const char *function, HRESULT hresult)
-{
- const QString err = QtWin::errorStringFromHresult(hresult);
- qWarning("QWinJumpList: %s() failed: %#010x, %s.", function, unsigned(hresult), qPrintable(err));
-}
-
-QString QWinJumpListPrivate::iconsDirPath()
-{
- QString iconDirPath = QDir::tempPath() + u'/'
- + QCoreApplication::applicationName() + QLatin1String("/qt-jl-icons/");
- QDir().mkpath(iconDirPath);
- return iconDirPath;
-}
-
-void QWinJumpListPrivate::invalidate()
-{
- Q_Q(QWinJumpList);
- if (!pDestList)
- return;
-
- if (!dirty) {
- dirty = true;
- QMetaObject::invokeMethod(q, "_q_rebuild", Qt::QueuedConnection);
- }
-}
-
-void QWinJumpListPrivate::_q_rebuild()
-{
- if (beginList()) {
- if (recent && recent->isVisible())
- appendKnownCategory(KDC_RECENT);
- if (frequent && frequent->isVisible())
- appendKnownCategory(KDC_FREQUENT);
- for (QWinJumpListCategory *category : qAsConst(categories)) {
- if (category->isVisible())
- appendCustomCategory(category);
- }
- if (tasks && tasks->isVisible())
- appendTasks(tasks->items());
- commitList();
- }
- dirty = false;
-}
-
-void QWinJumpListPrivate::destroy()
-{
- delete recent;
- recent = nullptr;
- delete frequent;
- frequent = nullptr;
- delete tasks;
- tasks = nullptr;
- qDeleteAll(categories);
- categories.clear();
- invalidate();
-}
-
-bool QWinJumpListPrivate::beginList()
-{
- HRESULT hresult = S_OK;
- if (!identifier.isEmpty()) {
- wchar_t *id = qt_qstringToNullTerminated(identifier);
- hresult = pDestList->SetAppID(id);
- delete[] id;
- }
- if (SUCCEEDED(hresult)) {
- UINT maxSlots = 0;
- IUnknown *array = nullptr;
- hresult = pDestList->BeginList(&maxSlots, qIID_IUnknown, reinterpret_cast<void **>(&array));
- if (array)
- array->Release();
- }
- if (FAILED(hresult))
- QWinJumpListPrivate::warning("BeginList", hresult);
- return SUCCEEDED(hresult);
-}
-
-bool QWinJumpListPrivate::commitList()
-{
- HRESULT hresult = pDestList->CommitList();
- if (FAILED(hresult))
- QWinJumpListPrivate::warning("CommitList", hresult);
- return SUCCEEDED(hresult);
-}
-
-void QWinJumpListPrivate::appendKnownCategory(KNOWNDESTCATEGORY category)
-{
- HRESULT hresult = pDestList->AppendKnownCategory(category);
- if (FAILED(hresult))
- QWinJumpListPrivate::warning("AppendKnownCategory", hresult);
-}
-
-void QWinJumpListPrivate::appendCustomCategory(QWinJumpListCategory *category)
-{
- IObjectCollection *collection = toComCollection(category->items());
- if (collection) {
- wchar_t *title = qt_qstringToNullTerminated(category->title());
- HRESULT hresult = pDestList->AppendCategory(title, collection);
- if (FAILED(hresult))
- QWinJumpListPrivate::warning("AppendCategory", hresult);
- delete[] title;
- collection->Release();
- }
-}
-
-void QWinJumpListPrivate::appendTasks(const QList<QWinJumpListItem *> &items)
-{
- IObjectCollection *collection = toComCollection(items);
- if (collection) {
- HRESULT hresult = pDestList->AddUserTasks(collection);
- if (FAILED(hresult))
- QWinJumpListPrivate::warning("AddUserTasks", hresult);
- collection->Release();
- }
-}
-
-QList<QWinJumpListItem *> QWinJumpListPrivate::fromComCollection(IObjectArray *array)
-{
- QList<QWinJumpListItem *> list;
- UINT count = 0;
- array->GetCount(&count);
- for (UINT i = 0; i < count; ++i) {
- IUnknown *collectionItem = nullptr;
- HRESULT hresult = array->GetAt(i, qIID_IUnknown, reinterpret_cast<void **>(&collectionItem));
- if (FAILED(hresult)) {
- QWinJumpListPrivate::warning("GetAt", hresult);
- continue;
- }
- IShellItem2 *shellItem = nullptr;
- IShellLinkW *shellLink = nullptr;
- QWinJumpListItem *jumplistItem = nullptr;
- if (SUCCEEDED(collectionItem->QueryInterface(qIID_IShellItem2, reinterpret_cast<void **>(&shellItem)))) {
- jumplistItem = fromIShellItem(shellItem);
- shellItem->Release();
- } else if (SUCCEEDED(collectionItem->QueryInterface(qIID_IShellLinkW, reinterpret_cast<void **>(&shellLink)))) {
- jumplistItem = fromIShellLink(shellLink);
- shellLink->Release();
- } else {
- qWarning("QWinJumpList: object of unexpected class found");
- }
- collectionItem->Release();
- if (jumplistItem)
- list.append(jumplistItem);
- }
- return list;
-}
-
-IObjectCollection *QWinJumpListPrivate::toComCollection(const QList<QWinJumpListItem *> &list)
-{
- if (list.isEmpty())
- return nullptr;
- IObjectCollection *collection = nullptr;
- HRESULT hresult = CoCreateInstance(qCLSID_EnumerableObjectCollection, nullptr, CLSCTX_INPROC_SERVER, qIID_IObjectCollection, reinterpret_cast<void **>(&collection));
- if (FAILED(hresult)) {
- QWinJumpListPrivate::warning("QWinJumpList: failed to instantiate IObjectCollection", hresult);
- return nullptr;
- }
- for (QWinJumpListItem *item : list) {
- IUnknown *iitem = toICustomDestinationListItem(item);
- if (iitem) {
- collection->AddObject(iitem);
- iitem->Release();
- }
- }
- return collection;
-}
-
-QWinJumpListItem *QWinJumpListPrivate::fromIShellLink(IShellLinkW *link)
-{
- auto *item = new QWinJumpListItem(QWinJumpListItem::Link);
-
- IPropertyStore *linkProps;
- link->QueryInterface(qIID_IPropertyStore, reinterpret_cast<void **>(&linkProps));
- PROPVARIANT var;
- linkProps->GetValue(qPKEY_Link_Arguments, &var);
- item->setArguments(QStringList(QString::fromWCharArray(var.pwszVal)));
- PropVariantClear(&var);
- linkProps->Release();
-
- const int buffersize = 2048;
- wchar_t buffer[buffersize];
-
- link->GetDescription(buffer, INFOTIPSIZE);
- item->setDescription(QString::fromWCharArray(buffer));
-
- int dummyindex;
- link->GetIconLocation(buffer, buffersize-1, &dummyindex);
- item->setIcon(QIcon(QString::fromWCharArray(buffer)));
-
- link->GetPath(buffer, buffersize-1, 0, 0);
- item->setFilePath(QDir::fromNativeSeparators(QString::fromWCharArray(buffer)));
-
- return item;
-}
-
-QWinJumpListItem *QWinJumpListPrivate::fromIShellItem(IShellItem2 *shellitem)
-{
- auto *item = new QWinJumpListItem(QWinJumpListItem::Destination);
- wchar_t *strPtr;
- shellitem->GetDisplayName(SIGDN_FILESYSPATH, &strPtr);
- item->setFilePath(QDir::fromNativeSeparators(QString::fromWCharArray(strPtr)));
- CoTaskMemFree(strPtr);
- return item;
-}
-
-IUnknown *QWinJumpListPrivate::toICustomDestinationListItem(const QWinJumpListItem *item)
-{
- switch (item->type()) {
- case QWinJumpListItem::Destination :
- return toIShellItem(item);
- case QWinJumpListItem::Link :
- return toIShellLink(item);
- case QWinJumpListItem::Separator :
- return makeSeparatorShellItem();
- default:
- return nullptr;
- }
-}
-
-IShellLinkW *QWinJumpListPrivate::toIShellLink(const QWinJumpListItem *item)
-{
- IShellLinkW *link = nullptr;
- HRESULT hresult = CoCreateInstance(CLSID_ShellLink, nullptr, CLSCTX_INPROC_SERVER, qIID_IShellLinkW, reinterpret_cast<void **>(&link));
- if (FAILED(hresult)) {
- QWinJumpListPrivate::warning("QWinJumpList: failed to instantiate IShellLinkW", hresult);
- return nullptr;
- }
-
- const QString args = createArguments(item->arguments());
- const int iconPathSize = QWinJumpListPrivate::iconsDirPath().size()
- + int(sizeof(void *)) * 2 + 4; // path + ptr-name-in-hex + .ico
- const int bufferSize = qMax(args.size(),
- qMax(item->workingDirectory().size(),
- qMax(item->description().size(),
- qMax(item->title().size(),
- qMax(item->filePath().size(), iconPathSize))))) + 1;
- auto *buffer = new wchar_t[bufferSize];
-
- if (!item->description().isEmpty()) {
- qt_qstringToNullTerminated(item->description(), buffer);
- link->SetDescription(buffer);
- }
-
- qt_qstringToNullTerminated(item->filePath(), buffer);
- link->SetPath(buffer);
-
- if (!item->workingDirectory().isEmpty()) {
- qt_qstringToNullTerminated(item->workingDirectory(), buffer);
- link->SetWorkingDirectory(buffer);
- }
-
- qt_qstringToNullTerminated(args, buffer);
- link->SetArguments(buffer);
-
- if (!item->icon().isNull()) {
- QString iconPath = QWinJumpListPrivate::iconsDirPath() + QString::number(reinterpret_cast<quintptr>(item), 16) + QLatin1String(".ico");
- bool iconSaved = item->icon().pixmap(GetSystemMetrics(SM_CXICON)).save(iconPath, "ico");
- if (iconSaved) {
- qt_qstringToNullTerminated(iconPath, buffer);
- link->SetIconLocation(buffer, 0);
- }
- }
-
- IPropertyStore *properties;
- PROPVARIANT titlepv;
- hresult = link->QueryInterface(qIID_IPropertyStore, reinterpret_cast<void **>(&properties));
- if (FAILED(hresult)) {
- link->Release();
- return nullptr;
- }
-
- qt_qstringToNullTerminated(item->title(), buffer);
- InitPropVariantFromString(buffer, &titlepv);
- properties->SetValue(qPKEY_Title, titlepv);
- properties->Commit();
- properties->Release();
- PropVariantClear(&titlepv);
-
- delete[] buffer;
- return link;
-}
-
-IShellItem2 *QWinJumpListPrivate::toIShellItem(const QWinJumpListItem *item)
-{
- IShellItem2 *shellitem = nullptr;
- QScopedArrayPointer<wchar_t> buffer(qt_qstringToNullTerminated(item->filePath()));
- SHCreateItemFromParsingName(buffer.data(), nullptr, qIID_IShellItem2, reinterpret_cast<void **>(&shellitem));
- return shellitem;
-}
-
-IShellLinkW *QWinJumpListPrivate::makeSeparatorShellItem()
-{
- IShellLinkW *separator;
- HRESULT res = CoCreateInstance(CLSID_ShellLink, nullptr, CLSCTX_INPROC_SERVER, qIID_IShellLinkW, reinterpret_cast<void **>(&separator));
- if (FAILED(res))
- return nullptr;
-
- IPropertyStore *properties;
- res = separator->QueryInterface(qIID_IPropertyStore, reinterpret_cast<void **>(&properties));
- if (FAILED(res)) {
- separator->Release();
- return nullptr;
- }
-
- PROPVARIANT isSeparator;
- InitPropVariantFromBoolean(TRUE, &isSeparator);
- properties->SetValue(qPKEY_AppUserModel_IsDestListSeparator, isSeparator);
- properties->Commit();
- properties->Release();
- PropVariantClear(&isSeparator);
-
- return separator;
-}
-
-/*!
- Constructs a QWinJumpList with the parent object \a parent.
- */
-QWinJumpList::QWinJumpList(QObject *parent) :
- QObject(parent), d_ptr(new QWinJumpListPrivate)
-{
- Q_D(QWinJumpList);
- d->q_ptr = this;
- HRESULT hresult = CoCreateInstance(qCLSID_DestinationList, nullptr, CLSCTX_INPROC_SERVER, qIID_ICustomDestinationList, reinterpret_cast<void **>(&d_ptr->pDestList));
- if (FAILED(hresult))
- QWinJumpListPrivate::warning("CoCreateInstance", hresult);
- d->invalidate();
-}
-
-/*!
- Destroys the QWinJumpList.
- */
-QWinJumpList::~QWinJumpList()
-{
- Q_D(QWinJumpList);
- if (d->dirty)
- d->_q_rebuild();
- if (d->pDestList) {
- d->pDestList->Release();
- d->pDestList = nullptr;
- }
- d->destroy();
-}
-
-/*!
- \property QWinJumpList::identifier
- \brief the jump list identifier
-
- Specifies an optional explicit unique identifier for the
- application jump list.
-
- The default value is empty; a system-defined internal identifier
- is used instead. See \l {Application User Model IDs} on MSDN for
- further details.
-
- \note The identifier cannot have more than \c 128 characters and
- cannot contain spaces. A too long identifier is automatically truncated
- to \c 128 characters, and spaces are replaced by underscores.
- */
-QString QWinJumpList::identifier() const
-{
- Q_D(const QWinJumpList);
- return d->identifier;
-}
-
-void QWinJumpList::setIdentifier(const QString &identifier)
-{
- Q_D(QWinJumpList);
- QString id = identifier;
- id.replace(u' ', u'_');
- if (id.size() > 128)
- id.truncate(128);
- if (d->identifier != id) {
- d->identifier = id;
- d->invalidate();
- }
-}
-
-/*!
- Returns the recent items category in the jump list.
- */
-QWinJumpListCategory *QWinJumpList::recent() const
-{
- Q_D(const QWinJumpList);
- if (!d->recent) {
- auto *that = const_cast<QWinJumpList *>(this);
- that->d_func()->recent = QWinJumpListCategoryPrivate::create(QWinJumpListCategory::Recent, that);
- }
- return d->recent;
-}
-
-/*!
- Returns the frequent items category in the jump list.
- */
-QWinJumpListCategory *QWinJumpList::frequent() const
-{
- Q_D(const QWinJumpList);
- if (!d->frequent) {
- auto *that = const_cast<QWinJumpList *>(this);
- that->d_func()->frequent = QWinJumpListCategoryPrivate::create(QWinJumpListCategory::Frequent, that);
- }
- return d->frequent;
-}
-
-/*!
- Returns the tasks category in the jump list.
- */
-QWinJumpListCategory *QWinJumpList::tasks() const
-{
- Q_D(const QWinJumpList);
- if (!d->tasks) {
- auto *that = const_cast<QWinJumpList *>(this);
- that->d_func()->tasks = QWinJumpListCategoryPrivate::create(QWinJumpListCategory::Tasks, that);
- }
- return d->tasks;
-}
-
-/*!
- Returns the custom categories in the jump list.
- */
-QList<QWinJumpListCategory *> QWinJumpList::categories() const
-{
- Q_D(const QWinJumpList);
- return d->categories;
-}
-
-/*!
- Adds a custom \a category to the jump list.
- */
-void QWinJumpList::addCategory(QWinJumpListCategory *category)
-{
- Q_D(QWinJumpList);
- if (!category)
- return;
-
- QWinJumpListCategoryPrivate::get(category)->jumpList = this;
- d->categories.append(category);
- d->invalidate();
-}
-
-/*!
- \overload addCategory()
- Creates a custom category with provided \a title and optional \a items,
- and adds it to the jump list.
- */
-QWinJumpListCategory *QWinJumpList::addCategory(const QString &title, const QList<QWinJumpListItem *> items)
-{
- auto *category = new QWinJumpListCategory(title);
- for (QWinJumpListItem *item : items)
- category->addItem(item);
- addCategory(category);
- return category;
-}
-
-/*!
- Clears the jump list.
-
- \sa QWinJumpListCategory::clear()
- */
-void QWinJumpList::clear()
-{
- Q_D(QWinJumpList);
- recent()->clear();
- frequent()->clear();
- if (d->tasks)
- d->tasks->clear();
- for (QWinJumpListCategory *category : qAsConst(d->categories))
- category->clear();
- d->destroy();
-}
-
-#ifndef QT_NO_DEBUG_STREAM
-
-QDebug operator<<(QDebug debug, const QWinJumpList *jumplist)
-{
- QDebugStateSaver saver(debug);
- debug.nospace();
- debug.noquote();
- debug << "QWinJumpList(";
- if (jumplist) {
- debug << "(identifier=\"" << jumplist->identifier() << "\", recent="
- << jumplist->recent() << ", frequent=" << jumplist->frequent()
- << ", tasks=" << jumplist->tasks()
- << ", categories=" << jumplist->categories();
- } else {
- debug << '0';
- }
- debug << ')';
- return debug;
-}
-#endif // !QT_NO_DEBUG_STREAM
-
-QT_END_NAMESPACE
-
-#include "moc_qwinjumplist.cpp"
diff --git a/src/winextras/qwinjumplist.h b/src/winextras/qwinjumplist.h
deleted file mode 100644
index b4807dd..0000000
--- a/src/winextras/qwinjumplist.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QWINJUMPLIST_H
-#define QWINJUMPLIST_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qstringlist.h>
-#include <QtCore/qscopedpointer.h>
-#include <QtWinExtras/qwinextrasglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-class QWinJumpListItem;
-class QWinJumpListPrivate;
-class QWinJumpListCategory;
-
-class Q_WINEXTRAS_EXPORT QWinJumpList : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString identifier READ identifier WRITE setIdentifier)
-
-public:
- explicit QWinJumpList(QObject *parent = nullptr);
- ~QWinJumpList();
-
- QString identifier() const;
- void setIdentifier(const QString &identifier);
-
- QWinJumpListCategory *recent() const;
- QWinJumpListCategory *frequent() const;
- QWinJumpListCategory *tasks() const;
-
- QList<QWinJumpListCategory *> categories() const;
- void addCategory(QWinJumpListCategory *category);
- QWinJumpListCategory *addCategory(const QString &title, const QList<QWinJumpListItem *> items = QList<QWinJumpListItem *>());
-
-public Q_SLOTS:
- void clear();
-
-private:
- Q_DISABLE_COPY(QWinJumpList)
- Q_DECLARE_PRIVATE(QWinJumpList)
- QScopedPointer<QWinJumpListPrivate> d_ptr;
-
- Q_PRIVATE_SLOT(d_func(), void _q_rebuild())
-};
-
-#ifndef QT_NO_DEBUG_STREAM
-Q_WINEXTRAS_EXPORT QDebug operator<<(QDebug, const QWinJumpList *);
-#endif
-
-QT_END_NAMESPACE
-
-#endif // QWINJUMPLIST_H
diff --git a/src/winextras/qwinjumplist_p.h b/src/winextras/qwinjumplist_p.h
deleted file mode 100644
index ff54f96..0000000
--- a/src/winextras/qwinjumplist_p.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QWINJUMPLIST_P_H
-#define QWINJUMPLIST_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qwinjumplist.h"
-#include "winshobjidl_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QWinJumpListPrivate
-{
- Q_DECLARE_PUBLIC(QWinJumpList)
-
-public:
- static QWinJumpListPrivate *get(QWinJumpList *list)
- {
- return list->d_func();
- }
-
- static void warning(const char *function, HRESULT hresult);
- static QString iconsDirPath();
-
- void invalidate();
- void _q_rebuild();
- void destroy();
-
- bool beginList();
- bool commitList();
-
- void appendKnownCategory(KNOWNDESTCATEGORY category);
- void appendCustomCategory(QWinJumpListCategory *category);
- void appendTasks(const QList<QWinJumpListItem *> &items);
-
- static QList<QWinJumpListItem *> fromComCollection(IObjectArray *array);
- static IObjectCollection *toComCollection(const QList<QWinJumpListItem *> &list);
- static QWinJumpListItem *fromIShellLink(IShellLinkW *link);
- static QWinJumpListItem *fromIShellItem(IShellItem2 *shellitem);
- static IUnknown *toICustomDestinationListItem(const QWinJumpListItem *item);
- static IShellLinkW *toIShellLink(const QWinJumpListItem *item);
- static IShellItem2 *toIShellItem(const QWinJumpListItem *item);
- static IShellLinkW *makeSeparatorShellItem();
-
- QWinJumpList *q_ptr = nullptr;
- ICustomDestinationList *pDestList = nullptr;
- QWinJumpListCategory *recent = nullptr;
- QWinJumpListCategory *frequent = nullptr;
- QWinJumpListCategory *tasks = nullptr;
- QList<QWinJumpListCategory *> categories;
- QString identifier;
- bool dirty = false;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWINJUMPLIST_P_H
diff --git a/src/winextras/qwinjumplistcategory.cpp b/src/winextras/qwinjumplistcategory.cpp
deleted file mode 100644
index a29c37e..0000000
--- a/src/winextras/qwinjumplistcategory.cpp
+++ /dev/null
@@ -1,380 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include <QtCore/qglobal.h>
-
-#ifdef Q_CC_MINGW // MinGW: Include the correct definition of SHARDAPPIDINFOLINK
-# if defined(NTDDI_VERSION) && NTDDI_VERSION < 0x06010000
-# undef NTDDI_VERSION
-# endif
-# ifndef NTDDI_VERSION
-# define NTDDI_VERSION 0x06010000
-# endif
-#endif // Q_CC_MINGW
-
-#include "qwinjumplistcategory.h"
-#include "qwinjumplistcategory_p.h"
-#include "qwinjumplistitem_p.h"
-#include "qwinfunctions_p.h"
-#include "qwinjumplist_p.h"
-#include "winshobjidl_p.h"
-#include "windowsguidsdefs_p.h"
-
-#include <QtCore/qdebug.h>
-
-#include <shlobj.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QWinJumpListCategory
- \inmodule QtWinExtras
- \since 5.2
- \brief The QWinJumpListCategory class represents a jump list category.
- */
-
-/*!
- \enum QWinJumpListCategory::Type
-
- This enum describes the available QWinJumpListCategory types.
-
- \value Custom
- A custom jump list category.
- \value Recent
- A jump list category of "recent" items.
- \value Frequent
- A jump list category of "frequent" items.
- \value Tasks
- A jump list category of tasks.
- */
-
-QWinJumpListCategory *QWinJumpListCategoryPrivate::create(QWinJumpListCategory::Type type, QWinJumpList *jumpList)
-{
- QWinJumpListCategory *category = new QWinJumpListCategory;
- category->d_func()->type = type;
- category->d_func()->jumpList = jumpList;
- if (type == QWinJumpListCategory::Recent || type == QWinJumpListCategory::Frequent)
- category->d_func()->loadRecents();
- return category;
-}
-
-void QWinJumpListCategoryPrivate::invalidate()
-{
- if (jumpList)
- QWinJumpListPrivate::get(jumpList)->invalidate();
-}
-
-void QWinJumpListCategoryPrivate::loadRecents()
-{
- Q_ASSERT(jumpList);
- IApplicationDocumentLists *pDocList = nullptr;
- HRESULT hresult = CoCreateInstance(qCLSID_ApplicationDocumentLists, nullptr, CLSCTX_INPROC_SERVER, qIID_IApplicationDocumentLists, reinterpret_cast<void **>(&pDocList));
- if (SUCCEEDED(hresult)) {
- if (!jumpList->identifier().isEmpty()) {
- wchar_t *id = qt_qstringToNullTerminated(jumpList->identifier());
- hresult = pDocList->SetAppID(id);
- delete[] id;
- }
- if (SUCCEEDED(hresult)) {
- IObjectArray *array = nullptr;
- hresult = pDocList->GetList(type == QWinJumpListCategory::Recent ? ADLT_RECENT : ADLT_FREQUENT,
- 0, qIID_IObjectArray, reinterpret_cast<void **>(&array));
- if (SUCCEEDED(hresult)) {
- items = QWinJumpListPrivate::fromComCollection(array);
- array->Release();
- }
- }
- pDocList->Release();
- }
- if (FAILED(hresult))
- QWinJumpListPrivate::warning("loadRecents", hresult);
-}
-
-void QWinJumpListCategoryPrivate::addRecent(QWinJumpListItem *item)
-{
- Q_ASSERT(item->type() == QWinJumpListItem::Link);
- wchar_t *id = nullptr;
- if (jumpList && !jumpList->identifier().isEmpty())
- id = qt_qstringToNullTerminated(jumpList->identifier());
-
- SHARDAPPIDINFOLINK info;
- info.pszAppID = id;
- info.psl = QWinJumpListPrivate::toIShellLink(item);
- if (info.psl) {
- SHAddToRecentDocs(SHARD_APPIDINFOLINK, &info);
- info.psl->Release();
- }
- delete[] id;
-}
-
-void QWinJumpListCategoryPrivate::clearRecents()
-{
- IApplicationDestinations *pDest = nullptr;
- HRESULT hresult = CoCreateInstance(qCLSID_ApplicationDestinations, nullptr, CLSCTX_INPROC_SERVER, qIID_IApplicationDestinations, reinterpret_cast<void **>(&pDest));
- if (SUCCEEDED(hresult)) {
- const QString identifier = jumpList ? jumpList->identifier() : QString();
- if (!identifier.isEmpty()) {
- wchar_t *id = qt_qstringToNullTerminated(identifier);
- hresult = pDest->SetAppID(id);
- delete[] id;
- }
- hresult = pDest->RemoveAllDestinations();
- pDest->Release();
- }
- if (FAILED(hresult))
- QWinJumpListPrivate::warning("clearRecents", hresult);
-}
-
-/*!
- Constructs a custom QWinJumpListCategory with the specified \a title.
- */
-QWinJumpListCategory::QWinJumpListCategory(const QString &title) :
- d_ptr(new QWinJumpListCategoryPrivate)
-{
- d_ptr->title = title;
-}
-
-/*!
- Destroys the QWinJumpListCategory.
- */
-QWinJumpListCategory::~QWinJumpListCategory()
-{
- Q_D(QWinJumpListCategory);
- qDeleteAll(d->items);
- d->items.clear();
-}
-
-/*!
- Returns the category type.
- */
-QWinJumpListCategory::Type QWinJumpListCategory::type() const
-{
- Q_D(const QWinJumpListCategory);
- return d->type;
-}
-
-/*!
- Returns whether the category is visible.
- */
-bool QWinJumpListCategory::isVisible() const
-{
- Q_D(const QWinJumpListCategory);
- return d->visible;
-}
-
-/*!
- Sets the category \a visible.
- */
-void QWinJumpListCategory::setVisible(bool visible)
-{
- Q_D(QWinJumpListCategory);
- if (d->visible != visible) {
- d->visible = visible;
- d->invalidate();
- }
-}
-
-/*!
- Returns the category title.
- */
-QString QWinJumpListCategory::title() const
-{
- Q_D(const QWinJumpListCategory);
- return d->title;
-}
-
-/*!
- Sets the category \a title.
- */
-void QWinJumpListCategory::setTitle(const QString &title)
-{
- Q_D(QWinJumpListCategory);
- if (d->title != title) {
- d->title = title;
- d->invalidate();
- }
-}
-
-/*!
- Returns the amount of items in the category.
- */
-int QWinJumpListCategory::count() const
-{
- Q_D(const QWinJumpListCategory);
- return d->items.count();
-}
-
-/*!
- Returns whether the category is empty.
- */
-bool QWinJumpListCategory::isEmpty() const
-{
- Q_D(const QWinJumpListCategory);
- return d->items.isEmpty();
-}
-
-/*!
- Returns the list of items in the category.
- */
-QList<QWinJumpListItem *> QWinJumpListCategory::items() const
-{
- Q_D(const QWinJumpListCategory);
- return d->items;
-}
-
-/*!
- Adds an \a item to the category.
- */
-void QWinJumpListCategory::addItem(QWinJumpListItem *item)
-{
- Q_D(QWinJumpListCategory);
- if (!item)
- return;
-
- if (d->type == Recent || d->type == Frequent) {
- if (item->type() == QWinJumpListItem::Separator) {
- qWarning("QWinJumpListCategory::addItem(): only tasks/custom categories support separators.");
- return;
- }
- if (item->type() == QWinJumpListItem::Destination) {
- qWarning("QWinJumpListCategory::addItem(): only tasks/custom categories support destinations.");
- return;
- }
- }
-
- QWinJumpListItemPrivate *p = QWinJumpListItemPrivate::get(item);
- if (p->category != this) {
- p->category = this;
- d->items.append(item);
- if (d->type == QWinJumpListCategory::Recent || d->type == QWinJumpListCategory::Frequent)
- d->addRecent(item);
- d->invalidate();
- }
-}
-
-/*!
- Adds a destination to the category pointing to \a filePath.
- */
-QWinJumpListItem *QWinJumpListCategory::addDestination(const QString &filePath)
-{
- auto *item = new QWinJumpListItem(QWinJumpListItem::Destination);
- item->setFilePath(filePath);
- addItem(item);
- return item;
-}
-
-/*!
- Adds a link to the category using \a title, \a executablePath, and
- optionally \a arguments.
- */
-QWinJumpListItem *QWinJumpListCategory::addLink(const QString &title, const QString &executablePath, const QStringList &arguments)
-{
- return addLink(QIcon(), title, executablePath, arguments);
-}
-
-/*!
- \overload addLink()
-
- Adds a link to the category using \a icon, \a title, \a executablePath,
- and optionally \a arguments.
- */
-QWinJumpListItem *QWinJumpListCategory::addLink(const QIcon &icon, const QString &title, const QString &executablePath, const QStringList &arguments)
-{
- auto *item = new QWinJumpListItem(QWinJumpListItem::Link);
- item->setFilePath(executablePath);
- item->setTitle(title);
- item->setArguments(arguments);
- item->setIcon(icon);
- addItem(item);
- return item;
-}
-
-/*!
- Adds a separator to the category.
-
- \note Only tasks category supports separators.
- */
-QWinJumpListItem *QWinJumpListCategory::addSeparator()
-{
- auto *item = new QWinJumpListItem(QWinJumpListItem::Separator);
- addItem(item);
- return item;
-}
-
-/*!
- Clears the category.
- */
-void QWinJumpListCategory::clear()
-{
- Q_D(QWinJumpListCategory);
- if (!d->items.isEmpty()) {
- qDeleteAll(d->items);
- d->items.clear();
- if (d->type == QWinJumpListCategory::Recent || d->type == QWinJumpListCategory::Frequent)
- d->clearRecents();
- d->invalidate();
- }
-}
-
-#ifndef QT_NO_DEBUG_STREAM
-
-QDebug operator<<(QDebug debug, const QWinJumpListCategory *category)
-{
- QDebugStateSaver saver(debug);
- debug.nospace();
- debug.noquote();
- debug << "QWinJumpListCategory(";
- if (category) {
- debug << "type=" << category->type() << ", isVisible="
- << category->isVisible() << ", title=\"" << category->title()
- << "\", items=" << category->items();
- } else {
- debug << '0';
- }
- debug << ')';
- return debug;
-
-
- return debug;
-}
-
-#endif // !QT_NO_DEBUG_STREAM
-
-QT_END_NAMESPACE
diff --git a/src/winextras/qwinjumplistcategory.h b/src/winextras/qwinjumplistcategory.h
deleted file mode 100644
index d063cc2..0000000
--- a/src/winextras/qwinjumplistcategory.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QWINJUMPLISTCATEGORY_H
-#define QWINJUMPLISTCATEGORY_H
-
-#include <QtGui/qicon.h>
-#include <QtCore/qstring.h>
-#include <QtCore/qstringlist.h>
-#include <QtCore/qscopedpointer.h>
-#include <QtWinExtras/qwinextrasglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-class QWinJumpListItem;
-class QWinJumpListCategoryPrivate;
-
-class Q_WINEXTRAS_EXPORT QWinJumpListCategory
-{
-public:
- enum Type {
- Custom,
- Recent,
- Frequent,
- Tasks
- };
- explicit QWinJumpListCategory(const QString &title = QString());
- ~QWinJumpListCategory();
-
- Type type() const;
-
- bool isVisible() const;
- void setVisible(bool visible);
-
- QString title() const;
- void setTitle(const QString &title);
-
- int count() const;
- bool isEmpty() const;
- QList<QWinJumpListItem *> items() const;
-
- void addItem(QWinJumpListItem *item);
- QWinJumpListItem *addDestination(const QString &filePath);
- QWinJumpListItem *addLink(const QString &title, const QString &executablePath, const QStringList &arguments = QStringList());
- QWinJumpListItem *addLink(const QIcon &icon, const QString &title, const QString &executablePath, const QStringList &arguments = QStringList());
- QWinJumpListItem *addSeparator();
-
- void clear();
-
-private:
- Q_DISABLE_COPY(QWinJumpListCategory)
- Q_DECLARE_PRIVATE(QWinJumpListCategory)
- QScopedPointer<QWinJumpListCategoryPrivate> d_ptr;
-};
-
-#ifndef QT_NO_DEBUG_STREAM
-Q_WINEXTRAS_EXPORT QDebug operator<<(QDebug d, const QWinJumpListCategory *);
-#endif
-
-QT_END_NAMESPACE
-
-#endif // QWINJUMPLISTCATEGORY_H
diff --git a/src/winextras/qwinjumplistcategory_p.h b/src/winextras/qwinjumplistcategory_p.h
deleted file mode 100644
index eee17b4..0000000
--- a/src/winextras/qwinjumplistcategory_p.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QWINJUMPLISTCATEGORY_P_H
-#define QWINJUMPLISTCATEGORY_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qwinjumplistcategory.h"
-
-QT_BEGIN_NAMESPACE
-
-class QWinJumpList;
-
-class QWinJumpListCategoryPrivate
-{
-public:
- static QWinJumpListCategoryPrivate *get(QWinJumpListCategory *category)
- {
- return category->d_func();
- }
-
- static QWinJumpListCategory *create(QWinJumpListCategory::Type type, QWinJumpList *jumpList);
-
- void invalidate();
- void loadRecents();
- void addRecent(QWinJumpListItem *item);
- void clearRecents();
-
- bool visible = false;
- QString title;
- QWinJumpList *jumpList = nullptr;
- QWinJumpListCategory::Type type = QWinJumpListCategory::Custom;
- QList<QWinJumpListItem *> items;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWINJUMPLISTCATEGORY_P_H
diff --git a/src/winextras/qwinjumplistitem.cpp b/src/winextras/qwinjumplistitem.cpp
deleted file mode 100644
index ee117bc..0000000
--- a/src/winextras/qwinjumplistitem.cpp
+++ /dev/null
@@ -1,293 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "qwinjumplistitem.h"
-#include "qwinjumplistitem_p.h"
-#include "qwinjumplistcategory_p.h"
-
-#include <QtCore/qdebug.h>
-#include <QtCore/qdir.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QWinJumpListItem
- \inmodule QtWinExtras
- \since 5.2
- \brief The QWinJumpListItem class represents a jump list item.
- */
-
-/*!
- \enum QWinJumpListItem::Type
-
- This enum describes the available QWinJumpListItem types.
-
- \value Destination
- Item acts as a link to a file that the application can open.
- \value Link
- Item represents a link to an application.
- \value Separator
- Item is a separator. Only tasks category supports separators.
- */
-
-void QWinJumpListItemPrivate::invalidate()
-{
- if (category)
- QWinJumpListCategoryPrivate::get(category)->invalidate();
-}
-
-/*!
- Constructs a QWinJumpListItem with the specified \a type.
- */
-QWinJumpListItem::QWinJumpListItem(QWinJumpListItem::Type type) :
- d_ptr(new QWinJumpListItemPrivate)
-{
- d_ptr->type = type;
- d_ptr->category = nullptr;
-}
-
-/*!
- Destroys the QWinJumpListItem.
- */
-QWinJumpListItem::~QWinJumpListItem() = default;
-
-/*!
- Sets the item \a type.
- */
-void QWinJumpListItem::setType(QWinJumpListItem::Type type)
-{
- Q_D(QWinJumpListItem);
- if (d->type != type) {
- d->type = type;
- d->invalidate();
- }
-}
-
-/*!
- Returns the item type.
- */
-QWinJumpListItem::Type QWinJumpListItem::type() const
-{
- Q_D(const QWinJumpListItem);
- return d->type;
-}
-
-/*!
- Sets the item \a filePath, the meaning of which depends on the type of this
- item:
-
- \list
-
- \li If the item type is QWinJumpListItem::Destination, \a filePath is the
- path to a file that can be opened by an application.
-
- \li If the item type is QWinJumpListItem::Link, \a filePath is the path to
- an executable that is executed when this item is clicked by the
- user.
-
- \endlist
-
- \sa setWorkingDirectory(), setArguments()
- */
-void QWinJumpListItem::setFilePath(const QString &filePath)
-{
- Q_D(QWinJumpListItem);
- if (d->filePath != filePath) {
- d->filePath = filePath;
- d->invalidate();
- }
-}
-
-/*!
- Returns the file path set by setFilePath().
- */
-QString QWinJumpListItem::filePath() const
-{
- Q_D(const QWinJumpListItem);
- return d->filePath;
-}
-
-/*!
- Sets the path to the working directory of this item to \a workingDirectory.
-
- This value is used only if the type of this item is QWinJumpListItem::Link.
-
- \sa setFilePath()
- */
-void QWinJumpListItem::setWorkingDirectory(const QString &workingDirectory)
-{
- Q_D(QWinJumpListItem);
- if (d->workingDirectory != workingDirectory) {
- d->workingDirectory = workingDirectory;
- d->invalidate();
- }
-}
-
-/*!
- Returns the working directory path.
- */
-QString QWinJumpListItem::workingDirectory() const
-{
- Q_D(const QWinJumpListItem);
- return d->workingDirectory;
-}
-
-/*!
- Sets the \a icon of this item.
-
- This value is used only if the type of this item is QWinJumpListItem::Link.
- */
-void QWinJumpListItem::setIcon(const QIcon &icon)
-{
- Q_D(QWinJumpListItem);
- if (d->icon.cacheKey() != icon.cacheKey()) {
- d->icon = icon;
- d->invalidate();
- }
-}
-
-/*!
- Returns the icon set for this item.
- */
-QIcon QWinJumpListItem::icon() const
-{
- Q_D(const QWinJumpListItem);
- return d->icon;
-}
-
-/*!
- Sets the \a title of this item.
-
- This value is used only if the type of this item is QWinJumpListItem::Link.
- */
-void QWinJumpListItem::setTitle(const QString &title)
-{
- Q_D(QWinJumpListItem);
- if (d->title != title) {
- d->title = title;
- d->invalidate();
- }
-}
-
-/*!
- Returns the title of this item.
- */
-QString QWinJumpListItem::title() const
-{
- Q_D(const QWinJumpListItem);
- return d->title;
-}
-
-/*!
- Sets a \a description for this item.
-
- This value is used only if the type of this item is QWinJumpListItem::Link.
- */
-void QWinJumpListItem::setDescription(const QString &description)
-{
- Q_D(QWinJumpListItem);
- if (d->description != description) {
- d->description = description;
- d->invalidate();
- }
-}
-
-/*!
- Returns the description of this item.
- */
-QString QWinJumpListItem::description() const
-{
- Q_D(const QWinJumpListItem);
- return d->description;
-}
-
-/*!
- Sets command-line \a arguments for this item.
-
- This value is used only if the type of this item is QWinJumpListItem::Link.
-
- \sa setFilePath()
- */
-void QWinJumpListItem::setArguments(const QStringList &arguments)
-{
- Q_D(QWinJumpListItem);
- if (d->arguments != arguments) {
- d->arguments = arguments;
- d->invalidate();
- }
-}
-
-/*!
- Returns the command-line arguments of this item.
- */
-QStringList QWinJumpListItem::arguments() const
-{
- Q_D(const QWinJumpListItem);
- return d->arguments;
-}
-
-#ifndef QT_NO_DEBUG_STREAM
-
-QDebug operator<<(QDebug debug, const QWinJumpListItem *item)
-{
- QDebugStateSaver saver(debug);
- debug.nospace();
- debug.noquote();
- debug << "QWinJumpListItem(";
- if (item) {
- debug << "type=" << item->type() << ", title=\"" << item->title()
- << "\", description=\"" << item->description()
- << "\", filePath=\"" << QDir::toNativeSeparators(item->filePath())
- << "\", arguments=";
- debug.quote();
- debug << item->arguments();
- debug.noquote();
- debug << ", workingDirectory=\"" << QDir::toNativeSeparators(item->workingDirectory())
- << "\", icon=" << item->icon();
- } else {
- debug << '0';
- }
- debug << ')';
- return debug;
-}
-
-#endif // !QT_NO_DEBUG_STREAM
-
-QT_END_NAMESPACE
diff --git a/src/winextras/qwinjumplistitem.h b/src/winextras/qwinjumplistitem.h
deleted file mode 100644
index 391546f..0000000
--- a/src/winextras/qwinjumplistitem.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QWINJUMPLISTITEM_H
-#define QWINJUMPLISTITEM_H
-
-#include <QtGui/qicon.h>
-#include <QtCore/qobject.h>
-#include <QtCore/qstringlist.h>
-#include <QtCore/qscopedpointer.h>
-#include <QtWinExtras/qwinextrasglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-class QWinJumpListItemPrivate;
-
-class Q_WINEXTRAS_EXPORT QWinJumpListItem
-{
-public:
- enum Type {
- Destination,
- Link,
- Separator
- };
-
- explicit QWinJumpListItem(Type type);
- ~QWinJumpListItem();
-
- void setType(Type type);
- Type type() const;
- void setFilePath(const QString &filePath);
- QString filePath() const;
- void setWorkingDirectory(const QString &workingDirectory);
- QString workingDirectory() const;
- void setIcon(const QIcon &icon);
- QIcon icon() const;
- void setTitle(const QString &title);
- QString title() const;
- void setDescription(const QString &description);
- QString description() const;
- void setArguments(const QStringList &arguments);
- QStringList arguments() const;
-
-private:
- Q_DISABLE_COPY(QWinJumpListItem)
- Q_DECLARE_PRIVATE(QWinJumpListItem)
- QScopedPointer<QWinJumpListItemPrivate> d_ptr;
-};
-
-#ifndef QT_NO_DEBUG_STREAM
-Q_WINEXTRAS_EXPORT QDebug operator<<(QDebug, const QWinJumpListItem *);
-#endif
-
-QT_END_NAMESPACE
-
-#endif // QWINJUMPLISTITEM_H
diff --git a/src/winextras/qwinjumplistitem_p.h b/src/winextras/qwinjumplistitem_p.h
deleted file mode 100644
index 3857ea7..0000000
--- a/src/winextras/qwinjumplistitem_p.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QWINJUMPLISTITEM_P_H
-#define QWINJUMPLISTITEM_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qwinjumplistitem.h"
-
-QT_BEGIN_NAMESPACE
-
-class QWinJumpListCategory;
-
-class QWinJumpListItemPrivate
-{
-public:
- static QWinJumpListItemPrivate *get(QWinJumpListItem *item)
- {
- return item->d_func();
- }
-
- void invalidate();
-
- QString filePath;
- QString workingDirectory;
- QString title;
- QString description;
- QIcon icon;
- QStringList arguments;
- QWinJumpListItem::Type type = QWinJumpListItem::Destination;
- QWinJumpListCategory *category = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWINJUMPLISTITEM_P_H
diff --git a/src/winextras/qwintaskbarbutton.cpp b/src/winextras/qwintaskbarbutton.cpp
deleted file mode 100644
index 9df4c30..0000000
--- a/src/winextras/qwintaskbarbutton.cpp
+++ /dev/null
@@ -1,303 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "qwintaskbarbutton.h"
-#include "qwintaskbarbutton_p.h"
-#include "qwintaskbarprogress.h"
-#include "qwinfunctions.h"
-#include "qwinfunctions_p.h"
-#include "qwineventfilter_p.h"
-#include "qwinevent.h"
-#include "winshobjidl_p.h"
-#include "windowsguidsdefs_p.h"
-
-#include <QtGui/qwindow.h>
-#include <QtGui/qicon.h>
-#include <QtCore/qpair.h>
-#include <dwmapi.h>
-#include <shobjidl.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QWinTaskbarButton
- \inmodule QtWinExtras
- \brief The QWinTaskbarButton class represents the Windows taskbar button for
- a top-level window (Windows 7 and newer).
-
- \since 5.2
-
- The QWinTaskbarButton class enables you to set overlay icons on a taskbar
- button, and provides access to its progress indicator.
-
- An overlay icon indicates change in the state of an application, whereas
- a progress indicator shows how time-consuming tasks are progressing.
-
- \image taskbar-button.png Taskbar Button
-
- The following example code illustrates how to use the QWinTaskbarButton
- and QWinTaskbarProgress classes to adjust the look of the taskbar button:
-
- \snippet code/taskbar.cpp taskbar_cpp
-
- \note QWidget::windowHandle() returns a valid instance of a QWindow only
- after the widget has been shown. It is therefore recommended to delay the
- initialization of the QWinTaskbarButton instances until QWidget::showEvent().
-
- \note The class wraps API only available since Windows 7. Instantiating it
- on Windows XP or Windows Vista causes a runtime warning.
-
- \sa QWinTaskbarProgress
- */
-
-static TBPFLAG nativeProgressState(QWinTaskbarProgress *progress)
-{
- if (!progress || !progress->isVisible())
- return TBPF_NOPROGRESS;
- if (progress->isStopped())
- return TBPF_ERROR;
- if (progress->isPaused())
- return TBPF_PAUSED;
- if (progress->minimum() == 0 && progress->maximum() == 0)
- return TBPF_INDETERMINATE;
- return TBPF_NORMAL;
-}
-
-QWinTaskbarButtonPrivate::QWinTaskbarButtonPrivate()
-{
- HRESULT hresult = CoCreateInstance(CLSID_TaskbarList, nullptr, CLSCTX_INPROC_SERVER, qIID_ITaskbarList4, reinterpret_cast<void **>(&pTbList));
- if (FAILED(hresult)) {
- pTbList = nullptr;
- const QString err = QtWin::errorStringFromHresult(hresult);
- qWarning("QWinTaskbarButton: qIID_ITaskbarList4 was not created: %#010x, %s.", unsigned(hresult), qPrintable(err));
- } else if (FAILED(pTbList->HrInit())) {
- pTbList->Release();
- pTbList = nullptr;
- const QString err = QtWin::errorStringFromHresult(hresult);
- qWarning("QWinTaskbarButton: qIID_ITaskbarList4 was not initialized: %#010x, %s.", unsigned(hresult), qPrintable(err));
- }
-}
-
-QWinTaskbarButtonPrivate::~QWinTaskbarButtonPrivate()
-{
- if (pTbList)
- pTbList->Release();
-}
-
-HWND QWinTaskbarButtonPrivate::handle()
-{
- return reinterpret_cast<HWND>(window->winId());
-}
-
-int QWinTaskbarButtonPrivate::iconSize() const
-{
- return GetSystemMetrics(SM_CXSMICON);
-}
-
-void QWinTaskbarButtonPrivate::updateOverlayIcon()
-{
- if (!pTbList || !window)
- return;
-
- wchar_t *descrPtr = nullptr;
- HICON hicon = nullptr;
- if (!overlayAccessibleDescription.isEmpty())
- descrPtr = qt_qstringToNullTerminated(overlayAccessibleDescription);
- if (!overlayIcon.isNull())
- hicon = QtWin::toHICON(overlayIcon.pixmap(iconSize()));
-
- if (hicon)
- pTbList->SetOverlayIcon(handle(), hicon, descrPtr);
- else if (!hicon && !overlayIcon.isNull())
- pTbList->SetOverlayIcon(handle(), static_cast<HICON>(LoadImage(nullptr, IDI_APPLICATION, IMAGE_ICON, SM_CXSMICON, SM_CYSMICON, LR_SHARED)), descrPtr);
- else
- pTbList->SetOverlayIcon(handle(), nullptr, descrPtr);
-
- if (hicon)
- DestroyIcon(hicon);
- delete[] descrPtr;
-}
-
-void QWinTaskbarButtonPrivate::_q_updateProgress()
-{
- if (!pTbList || !window)
- return;
-
- if (progressBar) {
- const int min = progressBar->minimum();
- const int max = progressBar->maximum();
- const int range = max - min;
- if (range > 0) {
- const int value = qRound(double(100) * (double(progressBar->value() - min)) / double(range));
- pTbList->SetProgressValue(handle(), ULONGLONG(value), 100);
- }
- }
- pTbList->SetProgressState(handle(), nativeProgressState(progressBar));
-}
-
-/*!
- Constructs a QWinTaskbarButton with the specified \a parent.
-
- If \a parent is an instance of QWindow, it is automatically
- assigned as the taskbar button's \l window.
- */
-QWinTaskbarButton::QWinTaskbarButton(QObject *parent) :
- QObject(parent), d_ptr(new QWinTaskbarButtonPrivate)
-{
- QWinEventFilter::setup();
- setWindow(qobject_cast<QWindow *>(parent));
-}
-
-/*!
- Destroys the QWinTaskbarButton.
- */
-QWinTaskbarButton::~QWinTaskbarButton() = default;
-
-/*!
- \property QWinTaskbarButton::window
- \brief the window whose taskbar button is manipulated
- */
-void QWinTaskbarButton::setWindow(QWindow *window)
-{
- Q_D(QWinTaskbarButton);
- if (d->window)
- d->window->removeEventFilter(this);
- d->window = window;
- if (d->window) {
- d->window->installEventFilter(this);
- if (d->window->isVisible()) {
- d->_q_updateProgress();
- d->updateOverlayIcon();
- }
- }
-}
-
-QWindow *QWinTaskbarButton::window() const
-{
- Q_D(const QWinTaskbarButton);
- return d->window;
-}
-
-/*!
- \property QWinTaskbarButton::overlayIcon
- \brief the overlay icon of the taskbar button
- */
-QIcon QWinTaskbarButton::overlayIcon() const
-{
- Q_D(const QWinTaskbarButton);
- return d->overlayIcon;
-}
-
-void QWinTaskbarButton::setOverlayIcon(const QIcon &icon)
-{
- Q_D(QWinTaskbarButton);
-
- d->overlayIcon = icon;
- d->updateOverlayIcon();
-}
-
-void QWinTaskbarButton::clearOverlayIcon()
-{
- setOverlayAccessibleDescription(QString());
- setOverlayIcon(QIcon());
-}
-
-/*!
- \property QWinTaskbarButton::overlayAccessibleDescription
- \brief the description of the overlay for accessibility purposes
-
- \sa overlayIcon
- */
-QString QWinTaskbarButton::overlayAccessibleDescription() const
-{
- Q_D(const QWinTaskbarButton);
- return d->overlayAccessibleDescription;
-}
-
-void QWinTaskbarButton::setOverlayAccessibleDescription(const QString &description)
-{
- Q_D(QWinTaskbarButton);
-
- d->overlayAccessibleDescription = description;
- d->updateOverlayIcon();
-}
-
-/*!
- \property QWinTaskbarButton::progress
- \brief the progress indicator of the taskbar button
-
- \note The progress indicator is not \l{QWinTaskbarProgress::visible}{visible} by default.
- */
-QWinTaskbarProgress *QWinTaskbarButton::progress() const
-{
- Q_D(const QWinTaskbarButton);
- if (!d->progressBar) {
- auto *that = const_cast<QWinTaskbarButton *>(this);
- auto *pbar = new QWinTaskbarProgress(that);
- connect(pbar, SIGNAL(destroyed()), this, SLOT(_q_updateProgress()));
- connect(pbar, SIGNAL(valueChanged(int)), this, SLOT(_q_updateProgress()));
- connect(pbar, SIGNAL(minimumChanged(int)), this, SLOT(_q_updateProgress()));
- connect(pbar, SIGNAL(maximumChanged(int)), this, SLOT(_q_updateProgress()));
- connect(pbar, SIGNAL(visibilityChanged(bool)), this, SLOT(_q_updateProgress()));
- connect(pbar, SIGNAL(pausedChanged(bool)), this, SLOT(_q_updateProgress()));
- connect(pbar, SIGNAL(stoppedChanged(bool)), this, SLOT(_q_updateProgress()));
- that->d_func()->progressBar = pbar;
- that->d_func()->_q_updateProgress();
- }
- return d->progressBar;
-}
-
-/*!
- \internal
- Intercepts TaskbarButtonCreated messages.
- */
-bool QWinTaskbarButton::eventFilter(QObject *object, QEvent *event)
-{
- Q_D(QWinTaskbarButton);
- if (object == d->window && event->type() == QWinEvent::TaskbarButtonCreated) {
- d->_q_updateProgress();
- d->updateOverlayIcon();
- }
- return false;
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qwintaskbarbutton.cpp"
diff --git a/src/winextras/qwintaskbarbutton.h b/src/winextras/qwintaskbarbutton.h
deleted file mode 100644
index 627beee..0000000
--- a/src/winextras/qwintaskbarbutton.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QWINTASKBARBUTTON_H
-#define QWINTASKBARBUTTON_H
-
-#include <QtGui/qicon.h>
-#include <QtCore/qobject.h>
-#include <QtWinExtras/qwinextrasglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-class QWindow;
-class QWinTaskbarProgress;
-class QWinTaskbarButtonPrivate;
-
-class Q_WINEXTRAS_EXPORT QWinTaskbarButton : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QIcon overlayIcon READ overlayIcon WRITE setOverlayIcon RESET clearOverlayIcon)
- Q_PROPERTY(QString overlayAccessibleDescription READ overlayAccessibleDescription WRITE setOverlayAccessibleDescription)
- Q_PROPERTY(QWinTaskbarProgress *progress READ progress)
- Q_PROPERTY(QWindow *window READ window WRITE setWindow)
-
-public:
- explicit QWinTaskbarButton(QObject *parent = nullptr);
- ~QWinTaskbarButton();
-
- void setWindow(QWindow *window);
- QWindow *window() const;
-
- QIcon overlayIcon() const;
- QString overlayAccessibleDescription() const;
-
- QWinTaskbarProgress *progress() const;
-
- bool eventFilter(QObject *, QEvent *) override;
-
-public Q_SLOTS:
- void setOverlayIcon(const QIcon &icon);
- void setOverlayAccessibleDescription(const QString &description);
-
- void clearOverlayIcon();
-
-private:
- Q_DISABLE_COPY(QWinTaskbarButton)
- Q_DECLARE_PRIVATE(QWinTaskbarButton)
- QScopedPointer<QWinTaskbarButtonPrivate> d_ptr;
-
- Q_PRIVATE_SLOT(d_func(), void _q_updateProgress())
-};
-
-QT_END_NAMESPACE
-
-#endif // QWINTASKBARBUTTON_H
diff --git a/src/winextras/qwintaskbarbutton_p.h b/src/winextras/qwintaskbarbutton_p.h
deleted file mode 100644
index e5445b2..0000000
--- a/src/winextras/qwintaskbarbutton_p.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QWINTASKBARBUTTON_P_H
-#define QWINTASKBARBUTTON_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qwintaskbarbutton.h"
-
-#include <QtGui/qwindow.h>
-#include <QtCore/qpointer.h>
-#include <QtCore/qt_windows.h>
-
-struct ITaskbarList4;
-
-QT_BEGIN_NAMESPACE
-
-class QWinTaskbarProgress;
-
-class QWinTaskbarButtonPrivate
-{
-public:
- QWinTaskbarButtonPrivate();
- ~QWinTaskbarButtonPrivate();
-
- QPointer<QWinTaskbarProgress> progressBar;
- QIcon overlayIcon;
- QString overlayAccessibleDescription;
-
- HWND handle();
- int iconSize() const;
-
- void updateOverlayIcon();
-
- void _q_updateProgress();
-
- ITaskbarList4 *pTbList = nullptr;
- QWindow *window = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWINTASKBARBUTTON_P_H
diff --git a/src/winextras/qwintaskbarprogress.cpp b/src/winextras/qwintaskbarprogress.cpp
deleted file mode 100644
index de77a40..0000000
--- a/src/winextras/qwintaskbarprogress.cpp
+++ /dev/null
@@ -1,336 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "qwintaskbarprogress.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QWinTaskbarProgress
- \inmodule QtWinExtras
- \brief The QWinTaskbarProgress class represents a progress indicator in the Windows taskbar.
-
- \since 5.2
-
- A progress indicator is used to give the user an indication of the progress
- of an operation and to reassure them that the application is still running.
-
- The progress indicator uses the concept of \e steps. It is set up by specifying
- the minimum and maximum possible step values, and it will display the percentage
- of steps that have been completed when you later give it the current step value.
- The percentage is calculated by dividing the progress (value() - minimum())
- divided by maximum() - minimum().
-
- The minimum and maximum number of steps can be specified by calling setMinimum()
- and setMaximum(). The current number of steps is set with setValue(). The progress
- indicator can be rewound to the beginning with reset().
-
- If minimum and maximum both are set to \c 0, the indicator shows up as a busy
- (indeterminate) indicator instead of a percentage of steps. This is useful when
- it is not possible to determine the number of steps.
-
- \table
- \row \li \inlineimage taskbar-progress.png Screenshot of a progress indicator
- \li A progress indicator at 50%.
- \row \li \inlineimage taskbar-progress-paused.png Screenshot of a paused progress indicator
- \li A paused progress indicator at 50%.
- \row \li \inlineimage taskbar-progress-stopped.png Screenshot of a stopped progress indicator
- \li A stopped progress indicator at 50%.
- \row \li \inlineimage taskbar-progress-indeterminate.png Screenshot of an indeterminate progress indicator
- \li An indeterminate progress indicator.
- \endtable
-
- \note The final appearance of the progress indicator varies depending on the active Windows theme.
-
- \sa QWinTaskbarButton
- */
-
-/*!
- \fn void QWinTaskbarProgress::pausedChanged(bool paused)
- \internal (for QWinTaskbarButton and QML compatibility)
- */
-
-/*!
- \fn void QWinTaskbarProgress::stoppedChanged(bool stopped)
- \internal (for QWinTaskbarButton and QML compatibility)
- */
-
-class QWinTaskbarProgressPrivate
-{
-public:
- int value = 0;
- int minimum = 0;
- int maximum = 100;
- bool visible = false;
- bool paused = false;
- bool stopped = false;
-};
-
-/*!
- Constructs a QWinTaskbarProgress with the parent object \a parent.
- */
-QWinTaskbarProgress::QWinTaskbarProgress(QObject *parent) :
- QObject(parent), d_ptr(new QWinTaskbarProgressPrivate)
-{
-}
-
-/*!
- Destroys the QWinTaskbarProgress.
- */
-QWinTaskbarProgress::~QWinTaskbarProgress()
-{
-}
-
-/*!
- \property QWinTaskbarProgress::value
- \brief the current value of the progress indicator
-
- The default value is \c 0.
- */
-int QWinTaskbarProgress::value() const
-{
- Q_D(const QWinTaskbarProgress);
- return d->value;
-}
-
-void QWinTaskbarProgress::setValue(int value)
-{
- Q_D(QWinTaskbarProgress);
- if ((value == d->value) || value < d->minimum || value > d->maximum)
- return;
-
- d->value = value;
- emit valueChanged(d->value);
-}
-
-/*!
- \property QWinTaskbarProgress::minimum
- \brief the minimum value of the progress indicator
-
- The default value is \c 0.
- */
-int QWinTaskbarProgress::minimum() const
-{
- Q_D(const QWinTaskbarProgress);
- return d->minimum;
-}
-
-void QWinTaskbarProgress::setMinimum(int minimum)
-{
- Q_D(QWinTaskbarProgress);
- setRange(minimum, qMax(minimum, d->maximum));
-}
-
-/*!
- \property QWinTaskbarProgress::maximum
- \brief the maximum value of the progress indicator
-
- The default value is \c 100.
- */
-int QWinTaskbarProgress::maximum() const
-{
- Q_D(const QWinTaskbarProgress);
- return d->maximum;
-}
-
-void QWinTaskbarProgress::setMaximum(int maximum)
-{
- Q_D(QWinTaskbarProgress);
- setRange(qMin(d->minimum, maximum), maximum);
-}
-
-/*!
- \property QWinTaskbarProgress::visible
- \brief whether the progress indicator is visible.
-
- The default value is \c false.
- */
-bool QWinTaskbarProgress::isVisible() const
-{
- Q_D(const QWinTaskbarProgress);
- return d->visible;
-}
-
-void QWinTaskbarProgress::setVisible(bool visible)
-{
- Q_D(QWinTaskbarProgress);
- if (visible == d->visible)
- return;
-
- d->visible = visible;
- emit visibilityChanged(d->visible);
-}
-
-/*!
- Shows the progress indicator.
- */
-void QWinTaskbarProgress::show()
-{
- setVisible(true);
-}
-
-/*!
- Hides the progress indicator.
- */
-void QWinTaskbarProgress::hide()
-{
- setVisible(false);
-}
-
-/*!
- Sets both the \a minimum and \a maximum values.
- */
-void QWinTaskbarProgress::setRange(int minimum, int maximum)
-{
- Q_D(QWinTaskbarProgress);
- const bool minChanged = minimum != d->minimum;
- const bool maxChanged = maximum != d->maximum;
- if (minChanged || maxChanged) {
- d->minimum = minimum;
- d->maximum = qMax(minimum, maximum);
-
- if (d->value < d->minimum || d->value > d->maximum)
- reset();
-
- if (minChanged)
- emit minimumChanged(d->minimum);
- if (maxChanged)
- emit maximumChanged(d->maximum);
- }
-}
-
-/*!
- Resets the progress indicator.
-
- This function rewinds the value to the minimum value.
- */
-void QWinTaskbarProgress::reset()
-{
- setValue(minimum());
-}
-
-/*!
- \property QWinTaskbarProgress::paused
- \brief whether the progress indicator is paused.
-
- The default value is \c false.
-
- The final appearance of a paused progress indicator depends on the active
- Windows theme. Typically, a paused progress indicator turns yellow to indicate
- that the progress is currently paused. Unlike a \l stopped progress indicator,
- a paused progress should not be used to indicate an error.
-
- \sa pause(), resume()
- */
-bool QWinTaskbarProgress::isPaused() const
-{
- Q_D(const QWinTaskbarProgress);
- return d->paused;
-}
-
-void QWinTaskbarProgress::setPaused(bool paused)
-{
- Q_D(QWinTaskbarProgress);
- if (paused == d->paused || d->stopped)
- return;
-
- d->paused = paused;
- emit pausedChanged(d->paused);
-}
-
-/*!
- Pauses the progress indicator.
-
- \sa paused
- */
-void QWinTaskbarProgress::pause()
-{
- setPaused(true);
-}
-
-/*!
- Resumes a paused or stopped progress indicator.
-
- \sa paused, stopped
- */
-void QWinTaskbarProgress::resume()
-{
- Q_D(QWinTaskbarProgress);
- setPaused(false);
- if (d->stopped) {
- d->stopped = false;
- emit stoppedChanged(false);
- }
-}
-
-/*!
- \property QWinTaskbarProgress::stopped
- \brief whether the progress indicator is stopped.
-
- The default value is \c false.
-
- The final appearance of a stopped progress indicator depends on the active
- Windows theme. Typically, a stopped progress indicator turns red to indicate
- that the progress is currently stopped. Unlike a \l paused progress indicator,
- a stopped progress may be used to indicate an error.
-
- \sa stop(), resume()
- */
-bool QWinTaskbarProgress::isStopped() const
-{
- Q_D(const QWinTaskbarProgress);
- return d->stopped;
-}
-
-/*!
- Stops the progress indicator.
-
- \sa stopped
- */
-void QWinTaskbarProgress::stop()
-{
- Q_D(QWinTaskbarProgress);
- setPaused(false);
- if (!d->stopped) {
- d->stopped = true;
- emit stoppedChanged(true);
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/winextras/qwintaskbarprogress.h b/src/winextras/qwintaskbarprogress.h
deleted file mode 100644
index ca64046..0000000
--- a/src/winextras/qwintaskbarprogress.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QWINTASKBARPROGRESS_H
-#define QWINTASKBARPROGRESS_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qscopedpointer.h>
-#include <QtWinExtras/qwinextrasglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-class QWinTaskbarProgressPrivate;
-
-class Q_WINEXTRAS_EXPORT QWinTaskbarProgress : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged)
- Q_PROPERTY(int minimum READ minimum WRITE setMinimum NOTIFY minimumChanged)
- Q_PROPERTY(int maximum READ maximum WRITE setMaximum NOTIFY maximumChanged)
- Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibilityChanged)
- Q_PROPERTY(bool paused READ isPaused WRITE setPaused NOTIFY pausedChanged)
- Q_PROPERTY(bool stopped READ isStopped NOTIFY stoppedChanged)
-
-public:
- explicit QWinTaskbarProgress(QObject *parent = nullptr);
- ~QWinTaskbarProgress();
-
- int value() const;
- int minimum() const;
- int maximum() const;
- bool isVisible() const;
- bool isPaused() const;
- bool isStopped() const;
-
-public Q_SLOTS:
- void setValue(int value);
- void setMinimum(int minimum);
- void setMaximum(int maximum);
- void setRange(int minimum, int maximum);
- void reset();
- void show();
- void hide();
- void setVisible(bool visible);
- void pause();
- void resume();
- void setPaused(bool paused);
- void stop();
-
-Q_SIGNALS:
- void valueChanged(int value);
- void minimumChanged(int minimum);
- void maximumChanged(int maximum);
- void visibilityChanged(bool visible);
- void pausedChanged(bool paused);
- void stoppedChanged(bool stopped);
-
-private:
- Q_DISABLE_COPY(QWinTaskbarProgress)
- Q_DECLARE_PRIVATE(QWinTaskbarProgress)
- QScopedPointer<QWinTaskbarProgressPrivate> d_ptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWINTASKBARPROGRESS_H
diff --git a/src/winextras/qwinthumbnailtoolbar.cpp b/src/winextras/qwinthumbnailtoolbar.cpp
deleted file mode 100644
index fc8d76e..0000000
--- a/src/winextras/qwinthumbnailtoolbar.cpp
+++ /dev/null
@@ -1,629 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#if defined(_WIN32_WINNT) && _WIN32_WINNT < 0x0601
-# undef _WIN32_WINNT
-#endif
-#if !defined(_WIN32_WINNT)
-# define _WIN32_WINNT 0x0601 // Enable functions for MinGW
-#endif
-
-#include "qwinthumbnailtoolbar.h"
-#include "qwinthumbnailtoolbar_p.h"
-#include "qwinthumbnailtoolbutton.h"
-#include "qwinthumbnailtoolbutton_p.h"
-#include "windowsguidsdefs_p.h"
-#include "qwinfunctions.h"
-
-#include <QtGui/qwindow.h>
-#include <QtCore/qcoreapplication.h>
-#include <QtCore/qtimer.h>
-#include <QtCore/qdebug.h>
-
-#include "qwinevent.h"
-#include "qwinfunctions_p.h"
-#include "qwineventfilter_p.h"
-
-#ifndef THBN_CLICKED
-# define THBN_CLICKED 0x1800
-#endif
-
-#ifndef WM_DWMSENDICONICLIVEPREVIEWBITMAP
-# define WM_DWMSENDICONICLIVEPREVIEWBITMAP 0x0326
-#endif
-
-#ifndef WM_DWMSENDICONICTHUMBNAIL
-# define WM_DWMSENDICONICTHUMBNAIL 0x0323
-#endif
-
-QT_BEGIN_NAMESPACE
-
-enum { dWM_SIT_DISPLAYFRAME = 1 , dWMWA_FORCE_ICONIC_REPRESENTATION = 7, dWMWA_HAS_ICONIC_BITMAP = 10 };
-
-static const int windowsLimitedThumbbarSize = 7;
-
-/*!
- \class QWinThumbnailToolBar
- \inmodule QtWinExtras
- \since 5.2
- \brief The QWinThumbnailToolBar class allows manipulating the thumbnail toolbar of a window.
-
- Applications can embed a toolbar in the thumbnail of a window, which is
- shown when hovering over its taskbar icon. A thumbnail toolbar may provide
- quick access to the commands of a window without requiring the user to restore
- or activate the window.
-
- \image thumbbar.png Media player thumbnail toolbar
-
- The following example code illustrates how to use the functions in the
- QWinThumbnailToolBar and QWinThumbnailToolButton class to implement a
- thumbnail toolbar:
-
- \snippet code/thumbbar.cpp thumbbar_cpp
-
- \sa QWinThumbnailToolButton
- */
-
-/*!
- Constructs a QWinThumbnailToolBar with the specified \a parent.
-
- If \a parent is an instance of QWindow, it is automatically
- assigned as the thumbnail toolbar's \l window.
- */
-QWinThumbnailToolBar::QWinThumbnailToolBar(QObject *parent) :
- QObject(parent), d_ptr(new QWinThumbnailToolBarPrivate)
-{
- Q_D(QWinThumbnailToolBar);
- d->q_ptr = this;
- QWinEventFilter::setup();
- setWindow(qobject_cast<QWindow *>(parent));
-}
-
-/*!
- Destroys and clears the QWinThumbnailToolBar.
- */
-QWinThumbnailToolBar::~QWinThumbnailToolBar() = default;
-
-/*!
- \property QWinThumbnailToolBar::window
- \brief the window whose thumbnail toolbar is manipulated
- */
-void QWinThumbnailToolBar::setWindow(QWindow *window)
-{
- Q_D(QWinThumbnailToolBar);
- if (d->window != window) {
- if (d->window) {
- d->window->removeEventFilter(d);
- if (d->window->handle()) {
- d->clearToolbar();
- setIconicPixmapNotificationsEnabled(false);
- }
- }
- d->window = window;
- if (d->window) {
- d->window->installEventFilter(d);
- if (d->window->isVisible()) {
- d->initToolbar();
- d->_q_scheduleUpdate();
- }
- }
- }
-}
-
-QWindow *QWinThumbnailToolBar::window() const
-{
- Q_D(const QWinThumbnailToolBar);
- return d->window;
-}
-
-/*!
- Adds a \a button to the thumbnail toolbar.
-
- \note The number of buttons is limited to \c 7.
- */
-void QWinThumbnailToolBar::addButton(QWinThumbnailToolButton *button)
-{
- Q_D(QWinThumbnailToolBar);
- if (d->buttonList.size() >= windowsLimitedThumbbarSize) {
- qWarning() << "Cannot add " << button << " maximum number of buttons ("
- << windowsLimitedThumbbarSize << ") reached.";
- return;
- }
- if (button && button->d_func()->toolbar != this) {
- if (button->d_func()->toolbar) {
- button->d_func()->toolbar->removeButton(button);
- }
- button->d_func()->toolbar = this;
- connect(button, &QWinThumbnailToolButton::changed,
- d, &QWinThumbnailToolBarPrivate::_q_scheduleUpdate);
- d->buttonList.append(button);
- d->_q_scheduleUpdate();
- }
-}
-
-/*!
- Removes the \a button from the thumbnail toolbar.
- */
-void QWinThumbnailToolBar::removeButton(QWinThumbnailToolButton *button)
-{
- Q_D(QWinThumbnailToolBar);
- if (button && d->buttonList.contains(button)) {
- button->d_func()->toolbar = nullptr;
- disconnect(button, &QWinThumbnailToolButton::changed,
- d, &QWinThumbnailToolBarPrivate::_q_scheduleUpdate);
-
- d->buttonList.removeAll(button);
- d->_q_scheduleUpdate();
- }
-}
-
-/*!
- Sets the list of \a buttons in the thumbnail toolbar.
-
- \note Any existing buttons are replaced.
- */
-void QWinThumbnailToolBar::setButtons(const QList<QWinThumbnailToolButton *> &buttons)
-{
- Q_D(QWinThumbnailToolBar);
- d->buttonList.clear();
- for (QWinThumbnailToolButton *button : buttons)
- addButton(button);
- d->_q_updateToolbar();
-}
-
-/*!
- Returns the list of buttons in the thumbnail toolbar.
- */
-QList<QWinThumbnailToolButton *> QWinThumbnailToolBar::buttons() const
-{
- Q_D(const QWinThumbnailToolBar);
- return d->buttonList;
-}
-
-/*!
- \property QWinThumbnailToolBar::count
- \brief the number of buttons in the thumbnail toolbar
-
- \note The number of buttons is limited to \c 7.
- */
-int QWinThumbnailToolBar::count() const
-{
- Q_D(const QWinThumbnailToolBar);
- return d->buttonList.size();
-}
-
-void QWinThumbnailToolBarPrivate::updateIconicPixmapsEnabled(bool invalidate)
-{
- Q_Q(QWinThumbnailToolBar);
- const HWND hwnd = handle();
- if (!hwnd) {
- qWarning() << Q_FUNC_INFO << "invoked with hwnd=0";
- return;
- }
- const bool enabled = iconicThumbnail || iconicLivePreview;
- q->setIconicPixmapNotificationsEnabled(enabled);
- if (enabled && invalidate) {
- const HRESULT hr = DwmInvalidateIconicBitmaps(hwnd);
- if (FAILED(hr))
- qWarning() << QWinThumbnailToolBarPrivate::msgComFailed("DwmInvalidateIconicBitmaps", hr);
- }
-}
-
-/*
- QWinThumbnailToolBarPrivate::IconicPixmapCache caches a HBITMAP of for one of
- the iconic thumbnail or live preview pixmaps. When the messages
- WM_DWMSENDICONICLIVEPREVIEWBITMAP or WM_DWMSENDICONICTHUMBNAIL are received
- (after setting the DWM window attributes accordingly), the bitmap matching the
- maximum size is constructed on demand.
- */
-
-void QWinThumbnailToolBarPrivate::IconicPixmapCache::deleteBitmap()
-{
- if (m_bitmap) {
- DeleteObject(m_bitmap);
- m_size = QSize();
- m_bitmap = nullptr;
- }
-}
-
-bool QWinThumbnailToolBarPrivate::IconicPixmapCache::setPixmap(const QPixmap &pixmap)
-{
- if (pixmap.cacheKey() == m_pixmap.cacheKey())
- return false;
- deleteBitmap();
- m_pixmap = pixmap;
- return true;
-}
-
-HBITMAP QWinThumbnailToolBarPrivate::IconicPixmapCache::bitmap(const QSize &maxSize)
-{
- if (m_pixmap.isNull())
- return nullptr;
- if (m_bitmap && m_size.width() <= maxSize.width() && m_size.height() <= maxSize.height())
- return m_bitmap;
- deleteBitmap();
- QPixmap pixmap = m_pixmap;
- if (pixmap.width() >= maxSize.width() || pixmap.height() >= maxSize.width())
- pixmap = pixmap.scaled(maxSize, Qt::KeepAspectRatio, Qt::SmoothTransformation);
- if (const HBITMAP bitmap = QtWin::toHBITMAP(pixmap, QtWin::HBitmapAlpha)) {
- m_size = pixmap.size();
- m_bitmap = bitmap;
- }
- return m_bitmap;
-}
-
-/*!
- \fn QWinThumbnailToolBar::iconicThumbnailPixmapRequested()
-
- This signal is emitted when the operating system requests a new iconic thumbnail pixmap,
- typically when the thumbnail is shown.
-
- \since 5.4
- \sa iconicThumbnailPixmap
-*/
-
-/*!
- \fn QWinThumbnailToolBar::iconicLivePreviewPixmapRequested()
-
- This signal is emitted when the operating system requests a new iconic live preview pixmap,
- typically when the user ALT-tabs to the application.
-
- \since 5.4
- \sa iconicLivePreviewPixmap
-*/
-
-/*!
- \property QWinThumbnailToolBar::iconicPixmapNotificationsEnabled
- \brief whether signals iconicThumbnailPixmapRequested() and iconicLivePreviewPixmapRequested()
- will be emitted
-
- \since 5.4
- \sa QWinThumbnailToolBar::iconicThumbnailPixmap, QWinThumbnailToolBar::iconicLivePreviewPixmap
- */
-
-bool QWinThumbnailToolBar::iconicPixmapNotificationsEnabled() const
-{
- Q_D(const QWinThumbnailToolBar);
- const HWND hwnd = d->handle();
- if (!hwnd)
- return false;
- return QtDwmApiDll::booleanWindowAttribute(hwnd, dWMWA_FORCE_ICONIC_REPRESENTATION);
-}
-
-void QWinThumbnailToolBar::setIconicPixmapNotificationsEnabled(bool enabled)
-{
- Q_D(const QWinThumbnailToolBar);
- const HWND hwnd = d->handle();
- if (!hwnd) {
- qWarning() << Q_FUNC_INFO << "invoked with hwnd=0";
- return;
- }
- if (iconicPixmapNotificationsEnabled() == enabled)
- return;
- QtDwmApiDll::setBooleanWindowAttribute(hwnd, dWMWA_FORCE_ICONIC_REPRESENTATION, enabled);
- QtDwmApiDll::setBooleanWindowAttribute(hwnd, dWMWA_HAS_ICONIC_BITMAP, enabled);
-}
-
-/*!
- \property QWinThumbnailToolBar::iconicThumbnailPixmap
- \brief the pixmap for use as a thumbnail representation
-
- \since 5.4
- \sa QWinThumbnailToolBar::iconicPixmapNotificationsEnabled
- */
-
-void QWinThumbnailToolBar::setIconicThumbnailPixmap(const QPixmap &pixmap)
-{
- Q_D(QWinThumbnailToolBar);
- const bool changed = d->iconicThumbnail.setPixmap(pixmap);
- if (d->hasHandle()) // Potentially 0 when invoked from QML loading, see _q_updateToolbar()
- d->updateIconicPixmapsEnabled(changed && !d->withinIconicThumbnailRequest);
-}
-
-QPixmap QWinThumbnailToolBar::iconicThumbnailPixmap() const
-{
- Q_D(const QWinThumbnailToolBar);
- return d->iconicThumbnail.pixmap();
-}
-
-/*!
- \property QWinThumbnailToolBar::iconicLivePreviewPixmap
- \brief the pixmap for use as a live (peek) preview when tabbing into the application
-
- \since 5.4
- */
-
-void QWinThumbnailToolBar::setIconicLivePreviewPixmap(const QPixmap &pixmap)
-{
- Q_D(QWinThumbnailToolBar);
- const bool changed = d->iconicLivePreview.setPixmap(pixmap);
- if (d->hasHandle()) // Potentially 0 when invoked from QML loading, see _q_updateToolbar()
- d->updateIconicPixmapsEnabled(changed && !d->withinIconicLivePreviewRequest);
-}
-
-QPixmap QWinThumbnailToolBar::iconicLivePreviewPixmap() const
-{
- Q_D(const QWinThumbnailToolBar);
- return d->iconicLivePreview.pixmap();
-}
-
-inline void QWinThumbnailToolBarPrivate::updateIconicThumbnail(const MSG *message)
-{
- if (!iconicThumbnail)
- return;
- const QSize maxSize(HIWORD(message->lParam), LOWORD(message->lParam));
- if (const HBITMAP bitmap = iconicThumbnail.bitmap(maxSize)) {
- const HRESULT hr = DwmSetIconicThumbnail(message->hwnd, bitmap, dWM_SIT_DISPLAYFRAME);
- if (FAILED(hr))
- qWarning() << QWinThumbnailToolBarPrivate::msgComFailed("DwmSetIconicThumbnail", hr);
- }
-}
-
-inline void QWinThumbnailToolBarPrivate::updateIconicLivePreview(const MSG *message)
-{
- if (!iconicLivePreview)
- return;
- RECT rect;
- GetClientRect(message->hwnd, &rect);
- const QSize maxSize(rect.right, rect.bottom);
- POINT offset = {0, 0};
- if (const HBITMAP bitmap = iconicLivePreview.bitmap(maxSize)) {
- const HRESULT hr = DwmSetIconicLivePreviewBitmap(message->hwnd, bitmap, &offset, dWM_SIT_DISPLAYFRAME);
- if (FAILED(hr))
- qWarning() << QWinThumbnailToolBarPrivate::msgComFailed("DwmSetIconicLivePreviewBitmap", hr);
- }
-}
-
-/*!
- Removes all buttons from the thumbnail toolbar.
- */
-void QWinThumbnailToolBar::clear()
-{
- setButtons(QList<QWinThumbnailToolButton *>());
-}
-
-static inline ITaskbarList4 *createTaskbarList()
-{
- ITaskbarList4 *result = nullptr;
- HRESULT hresult = CoCreateInstance(CLSID_TaskbarList, nullptr, CLSCTX_INPROC_SERVER, qIID_ITaskbarList4, reinterpret_cast<void **>(&result));
- if (FAILED(hresult)) {
- const QString err = QtWin::errorStringFromHresult(hresult);
- qWarning("QWinThumbnailToolBar: qIID_ITaskbarList4 was not created: %#010x, %s.",
- unsigned(hresult), qPrintable(err));
- return nullptr;
- }
- hresult = result->HrInit();
- if (FAILED(hresult)) {
- result->Release();
- const QString err = QtWin::errorStringFromHresult(hresult);
- qWarning("QWinThumbnailToolBar: qIID_ITaskbarList4 was not initialized: %#010x, %s.",
- unsigned(hresult), qPrintable(err));
- return nullptr;
- }
- return result;
-}
-
-QWinThumbnailToolBarPrivate::QWinThumbnailToolBarPrivate() :
- QObject(nullptr), pTbList(createTaskbarList())
-{
- buttonList.reserve(windowsLimitedThumbbarSize);
- QCoreApplication::instance()->installNativeEventFilter(this);
-}
-
-QWinThumbnailToolBarPrivate::~QWinThumbnailToolBarPrivate()
-{
- if (pTbList)
- pTbList->Release();
- QCoreApplication::instance()->removeNativeEventFilter(this);
-}
-
-inline bool QWinThumbnailToolBarPrivate::hasHandle() const
-{
- return window && window->handle();
-}
-
-inline HWND QWinThumbnailToolBarPrivate::handle() const
-{
- return hasHandle() ? reinterpret_cast<HWND>(window->winId()) : nullptr;
-}
-
-void QWinThumbnailToolBarPrivate::initToolbar()
-{
- if (!pTbList || !window)
- return;
- THUMBBUTTON buttons[windowsLimitedThumbbarSize];
- initButtons(buttons);
- HRESULT hresult = pTbList->ThumbBarAddButtons(handle(), windowsLimitedThumbbarSize, buttons);
- if (FAILED(hresult))
- qWarning() << msgComFailed("ThumbBarAddButtons", hresult);
-}
-
-void QWinThumbnailToolBarPrivate::clearToolbar()
-{
- if (!pTbList || !window)
- return;
- THUMBBUTTON buttons[windowsLimitedThumbbarSize];
- initButtons(buttons);
- HRESULT hresult = pTbList->ThumbBarUpdateButtons(handle(), windowsLimitedThumbbarSize, buttons);
- if (FAILED(hresult))
- qWarning() << msgComFailed("ThumbBarUpdateButtons", hresult);
-}
-
-void QWinThumbnailToolBarPrivate::_q_updateToolbar()
-{
- updateScheduled = false;
- if (!pTbList || !window)
- return;
- THUMBBUTTON buttons[windowsLimitedThumbbarSize];
- QList<HICON> createdIcons;
- initButtons(buttons);
- const int thumbbarSize = qMin(buttonList.size(), windowsLimitedThumbbarSize);
- // filling from the right fixes some strange bug which makes last button bg look like first btn bg
- for (int i = (windowsLimitedThumbbarSize - thumbbarSize); i < windowsLimitedThumbbarSize; i++) {
- QWinThumbnailToolButton *button = buttonList.at(i - (windowsLimitedThumbbarSize - thumbbarSize));
- buttons[i].dwFlags = static_cast<THUMBBUTTONFLAGS>(makeNativeButtonFlags(button));
- buttons[i].dwMask = static_cast<THUMBBUTTONMASK>(makeButtonMask(button));
- if (!button->icon().isNull()) {;
- buttons[i].hIcon = QtWin::toHICON(button->icon().pixmap(GetSystemMetrics(SM_CXSMICON)));
- if (!buttons[i].hIcon)
- buttons[i].hIcon = static_cast<HICON>(LoadImage(nullptr, IDI_APPLICATION, IMAGE_ICON, SM_CXSMICON, SM_CYSMICON, LR_SHARED));
- else
- createdIcons << buttons[i].hIcon;
- }
- if (!button->toolTip().isEmpty()) {
- buttons[i].szTip[button->toolTip().left(sizeof(buttons[i].szTip)/sizeof(buttons[i].szTip[0]) - 1).toWCharArray(buttons[i].szTip)] = 0;
- }
- }
- HRESULT hresult = pTbList->ThumbBarUpdateButtons(handle(), windowsLimitedThumbbarSize, buttons);
- if (FAILED(hresult))
- qWarning() << msgComFailed("ThumbBarUpdateButtons", hresult);
- updateIconicPixmapsEnabled(false);
- for (auto & button : buttons) {
- if (button.hIcon) {
- if (createdIcons.contains(button.hIcon))
- DestroyIcon(button.hIcon);
- else
- DeleteObject(button.hIcon);
- }
- }
-}
-
-void QWinThumbnailToolBarPrivate::_q_scheduleUpdate()
-{
- if (updateScheduled)
- return;
- updateScheduled = true;
- QTimer::singleShot(0, this, &QWinThumbnailToolBarPrivate::_q_updateToolbar);
-}
-
-bool QWinThumbnailToolBarPrivate::eventFilter(QObject *object, QEvent *event)
-{
- if (object == window && event->type() == QWinEvent::TaskbarButtonCreated) {
- initToolbar();
- _q_scheduleUpdate();
- }
- return QObject::eventFilter(object, event);
-}
-
-#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
-bool QWinThumbnailToolBarPrivate::nativeEventFilter(const QByteArray &, void *message, qintptr *result)
-#else
-bool QWinThumbnailToolBarPrivate::nativeEventFilter(const QByteArray &, void *message, long *result)
-#endif
-{
- const MSG *msg = static_cast<const MSG *>(message);
- if (handle() != msg->hwnd)
- return false;
- switch (msg->message) {
- case WM_COMMAND:
- if (HIWORD(msg->wParam) == THBN_CLICKED) {
- const int buttonId = LOWORD(msg->wParam) - (windowsLimitedThumbbarSize - qMin(windowsLimitedThumbbarSize, buttonList.size()));
- buttonList.at(buttonId)->click();
- if (result)
- *result = 0;
- return true;
- }
- break;
- case WM_DWMSENDICONICTHUMBNAIL:
- withinIconicThumbnailRequest = true;
- emit q_func()->iconicThumbnailPixmapRequested();
- withinIconicThumbnailRequest = false;
- updateIconicThumbnail(msg);
- return true;
- case WM_DWMSENDICONICLIVEPREVIEWBITMAP:
- withinIconicLivePreviewRequest = true;
- emit q_func()->iconicLivePreviewPixmapRequested();
- withinIconicLivePreviewRequest = false;
- updateIconicLivePreview(msg);
- return true;
- }
- return false;
-}
-
-void QWinThumbnailToolBarPrivate::initButtons(THUMBBUTTON *buttons)
-{
- for (int i = 0; i < windowsLimitedThumbbarSize; i++) {
- memset(&buttons[i], 0, sizeof buttons[i]);
- buttons[i].iId = UINT(i);
- buttons[i].dwFlags = THBF_HIDDEN;
- buttons[i].dwMask = THB_FLAGS;
- }
-}
-
-int QWinThumbnailToolBarPrivate::makeNativeButtonFlags(const QWinThumbnailToolButton *button)
-{
- int nativeFlags = 0;
- if (button->isEnabled())
- nativeFlags |= THBF_ENABLED;
- else
- nativeFlags |= THBF_DISABLED;
- if (button->dismissOnClick())
- nativeFlags |= THBF_DISMISSONCLICK;
- if (button->isFlat())
- nativeFlags |= THBF_NOBACKGROUND;
- if (!button->isVisible())
- nativeFlags |= THBF_HIDDEN;
- if (!button->isInteractive())
- nativeFlags |= THBF_NONINTERACTIVE;
- return nativeFlags;
-}
-
-int QWinThumbnailToolBarPrivate::makeButtonMask(const QWinThumbnailToolButton *button)
-{
- int mask = 0;
- mask |= THB_FLAGS;
- if (!button->icon().isNull())
- mask |= THB_ICON;
- if (!button->toolTip().isEmpty())
- mask |= THB_TOOLTIP;
- return mask;
-}
-
-QString QWinThumbnailToolBarPrivate::msgComFailed(const char *function, HRESULT hresult)
-{
- return QString::fromLatin1("QWinThumbnailToolBar: %1() failed: #%2: %3")
- .arg(QLatin1String(function))
- .arg(unsigned(hresult), 10, 16, QLatin1Char('0'))
- .arg(QtWin::errorStringFromHresult(hresult));
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qwinthumbnailtoolbar.cpp"
diff --git a/src/winextras/qwinthumbnailtoolbar.h b/src/winextras/qwinthumbnailtoolbar.h
deleted file mode 100644
index 83e2f2b..0000000
--- a/src/winextras/qwinthumbnailtoolbar.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QWINTHUMBNAILTOOLBAR_H
-#define QWINTHUMBNAILTOOLBAR_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qscopedpointer.h>
-#include <QtWinExtras/qwinextrasglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-class QPixmap;
-class QWindow;
-class QWinThumbnailToolButton;
-class QWinThumbnailToolBarPrivate;
-
-class Q_WINEXTRAS_EXPORT QWinThumbnailToolBar : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int count READ count STORED false)
- Q_PROPERTY(QWindow *window READ window WRITE setWindow)
- Q_PROPERTY(bool iconicPixmapNotificationsEnabled READ iconicPixmapNotificationsEnabled WRITE setIconicPixmapNotificationsEnabled)
- Q_PROPERTY(QPixmap iconicThumbnailPixmap READ iconicThumbnailPixmap WRITE setIconicThumbnailPixmap)
- Q_PROPERTY(QPixmap iconicLivePreviewPixmap READ iconicLivePreviewPixmap WRITE setIconicLivePreviewPixmap)
-
-public:
- explicit QWinThumbnailToolBar(QObject *parent = nullptr);
- ~QWinThumbnailToolBar();
-
- void setWindow(QWindow *window);
- QWindow *window() const;
-
- void addButton(QWinThumbnailToolButton *button);
- void removeButton(QWinThumbnailToolButton *button);
- void setButtons(const QList<QWinThumbnailToolButton *> &buttons);
- QList<QWinThumbnailToolButton *> buttons() const;
- int count() const;
-
- bool iconicPixmapNotificationsEnabled() const;
- void setIconicPixmapNotificationsEnabled(bool enabled);
-
- QPixmap iconicThumbnailPixmap() const;
- QPixmap iconicLivePreviewPixmap() const;
-
-public Q_SLOTS:
- void clear();
- void setIconicThumbnailPixmap(const QPixmap &);
- void setIconicLivePreviewPixmap(const QPixmap &);
-
-Q_SIGNALS:
- void iconicThumbnailPixmapRequested();
- void iconicLivePreviewPixmapRequested();
-
-private:
- Q_DISABLE_COPY(QWinThumbnailToolBar)
- Q_DECLARE_PRIVATE(QWinThumbnailToolBar)
- QScopedPointer<QWinThumbnailToolBarPrivate> d_ptr;
- friend class QWinThumbnailToolButton;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWINTHUMBNAILTOOLBAR_H
diff --git a/src/winextras/qwinthumbnailtoolbar_p.h b/src/winextras/qwinthumbnailtoolbar_p.h
deleted file mode 100644
index c3180f3..0000000
--- a/src/winextras/qwinthumbnailtoolbar_p.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QWINTHUMBNAILTOOLBAR_P_H
-#define QWINTHUMBNAILTOOLBAR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qwinthumbnailtoolbar.h"
-
-#include <QtCore/qhash.h>
-#include <QtCore/qlist.h>
-#include <QtGui/qicon.h>
-#include <QtGui/qpixmap.h>
-#include <QtCore/qabstractnativeeventfilter.h>
-
-#include "winshobjidl_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QWinThumbnailToolBarPrivate : public QObject, QAbstractNativeEventFilter
-{
-public:
- class IconicPixmapCache
- {
- public:
- IconicPixmapCache() = default;
- ~IconicPixmapCache() { deleteBitmap(); }
-
- operator bool() const { return !m_pixmap.isNull(); }
-
- QPixmap pixmap() const { return m_pixmap; }
- bool setPixmap(const QPixmap &p);
-
- HBITMAP bitmap(const QSize &maxSize);
-
- private:
- void deleteBitmap();
-
- QPixmap m_pixmap;
- QSize m_size;
- HBITMAP m_bitmap = nullptr;
- };
-
- QWinThumbnailToolBarPrivate();
- ~QWinThumbnailToolBarPrivate();
- void initToolbar();
- void clearToolbar();
- void _q_updateToolbar();
- void _q_scheduleUpdate();
- bool eventFilter(QObject *, QEvent *) Q_DECL_OVERRIDE;
-
-#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
- bool nativeEventFilter(const QByteArray &eventType, void *message, qintptr *result) override;
-#else
- bool nativeEventFilter(const QByteArray &eventType, void *message, long *result) override;
-#endif
-
- static void initButtons(THUMBBUTTON *buttons);
- static int makeNativeButtonFlags(const QWinThumbnailToolButton *button);
- static int makeButtonMask(const QWinThumbnailToolButton *button);
- static QString msgComFailed(const char *function, HRESULT hresult);
-
- bool updateScheduled = false;
- QList<QWinThumbnailToolButton *> buttonList;
- QWindow *window = nullptr;
- ITaskbarList4 * const pTbList;
-
- IconicPixmapCache iconicThumbnail;
- IconicPixmapCache iconicLivePreview;
-
-private:
- bool hasHandle() const;
- HWND handle() const;
- void updateIconicPixmapsEnabled(bool invalidate);
- void updateIconicThumbnail(const MSG *message);
- void updateIconicLivePreview(const MSG *message);
-
- QWinThumbnailToolBar *q_ptr = nullptr;
- Q_DECLARE_PUBLIC(QWinThumbnailToolBar)
- bool withinIconicThumbnailRequest = false;
- bool withinIconicLivePreviewRequest = false;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWINTHUMBNAILTOOLBAR_P_H
diff --git a/src/winextras/qwinthumbnailtoolbutton.cpp b/src/winextras/qwinthumbnailtoolbutton.cpp
deleted file mode 100644
index 9d04324..0000000
--- a/src/winextras/qwinthumbnailtoolbutton.cpp
+++ /dev/null
@@ -1,254 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Copyright (C) 2016 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "qwinthumbnailtoolbutton.h"
-#include "qwinthumbnailtoolbutton_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QWinThumbnailToolButton
- \inmodule QtWinExtras
- \since 5.2
- \brief The QWinThumbnailToolButton class represents a button in a thumbnail toolbar.
-
- Buttons in a QWinThumbnailToolBar are instances of QWinThumbnailToolButton.
- It provides a set of properties for specifying the attributes of a thumbnail
- toolbar button. It also provides a signal that is emitted whenever the button
- is \l{clicked()}{clicked}, and a slot to perform \l{click()}{clicks}
- programmatically.
-
- \sa QWinThumbnailToolBar
- */
-
-/*!
- \fn void QWinThumbnailToolButton::clicked()
-
- This signal is emitted when the button is clicked.
- */
-
-/*!
- \internal
- \fn void QWinThumbnailToolButton::changed()
- */
-
-/*!
- Constructs a QWinThumbnailToolButton with the specified \a parent.
- */
-QWinThumbnailToolButton::QWinThumbnailToolButton(QObject *parent) :
- QObject(parent), d_ptr(new QWinThumbnailToolButtonPrivate)
-{
-}
-
-/*!
- Destroys the QWinThumbnailToolButton.
- */
-QWinThumbnailToolButton::~QWinThumbnailToolButton() = default;
-
-/*!
- \property QWinThumbnailToolButton::toolTip
- \brief the tooltip of the button
- */
-void QWinThumbnailToolButton::setToolTip(const QString &toolTip)
-{
- Q_D(QWinThumbnailToolButton);
- if (d->toolTip != toolTip) {
- d->toolTip = toolTip;
- emit changed();
- }
-}
-
-QString QWinThumbnailToolButton::toolTip() const
-{
- Q_D(const QWinThumbnailToolButton);
- return d->toolTip;
-}
-
-/*!
- \property QWinThumbnailToolButton::icon
- \brief the icon of the button
- */
-void QWinThumbnailToolButton::setIcon(const QIcon &icon)
-{
- Q_D(QWinThumbnailToolButton);
- if (d->icon.cacheKey() != icon.cacheKey()) {
- d->icon = icon;
- emit changed();
- }
-}
-
-QIcon QWinThumbnailToolButton::icon() const
-{
- Q_D(const QWinThumbnailToolButton);
- return d->icon;
-}
-
-/*!
- \property QWinThumbnailToolButton::enabled
- \brief whether the button is enabled
-
- The default value is \c true.
-
- A disabled button does not react to user interaction,
- and is also visually disabled.
-
- \sa interactive
- */
-void QWinThumbnailToolButton::setEnabled(bool enabled)
-{
- Q_D(QWinThumbnailToolButton);
- if (d->enabled != enabled) {
- d->enabled = enabled;
- emit changed();
- }
-}
-
-bool QWinThumbnailToolButton::isEnabled() const
-{
- Q_D(const QWinThumbnailToolButton);
- return d->enabled;
-}
-
-/*!
- \property QWinThumbnailToolButton::interactive
- \brief whether the button is interactive
-
- The default value is \c true.
-
- A non-interactive button does not react to user interaction,
- but is still visually enabled. A typical use case for non-
- interactive buttons are notification icons.
-
- \sa enabled
- */
-void QWinThumbnailToolButton::setInteractive(bool interactive)
-{
- Q_D(QWinThumbnailToolButton);
- if (d->interactive != interactive) {
- d->interactive = interactive;
- emit changed();
- }
-}
-
-bool QWinThumbnailToolButton::isInteractive() const
-{
- Q_D(const QWinThumbnailToolButton);
- return d->interactive;
-}
-
-/*!
- \property QWinThumbnailToolButton::visible
- \brief whether the button is visible
-
- The default value is \c true.
- */
-void QWinThumbnailToolButton::setVisible(bool visible)
-{
- Q_D(QWinThumbnailToolButton);
- if (d->visible != visible) {
- d->visible = visible;
- emit changed();
- }
-}
-
-bool QWinThumbnailToolButton::isVisible() const
-{
- Q_D(const QWinThumbnailToolButton);
- return d->visible;
-}
-
-/*!
- \property QWinThumbnailToolButton::dismissOnClick
- \brief whether the window thumbnail is dismissed after a button click
-
- The default value is \c false.
- */
-void QWinThumbnailToolButton::setDismissOnClick(bool dismiss)
-{
- Q_D(QWinThumbnailToolButton);
- if (d->dismiss != dismiss) {
- d->dismiss = dismiss;
- emit changed();
- }
-}
-
-bool QWinThumbnailToolButton::dismissOnClick() const
-{
- Q_D(const QWinThumbnailToolButton);
- return d->dismiss;
-}
-
-/*!
- \property QWinThumbnailToolButton::flat
- \brief whether the button is flat
-
- The default value is \c false.
-
- A flat button does not draw a background nor a frame - only an icon.
- */
-void QWinThumbnailToolButton::setFlat(bool flat)
-{
- Q_D(QWinThumbnailToolButton);
- if (d->flat != flat) {
- d->flat = flat;
- emit changed();
- }
-}
-
-bool QWinThumbnailToolButton::isFlat() const
-{
- Q_D(const QWinThumbnailToolButton);
- return d->flat;
-}
-
-/*!
- Performs a click. The clicked() signal is emitted as appropriate.
-
- This function does nothing if the button is \l{enabled}{disabled}
- or \l{interactive}{non-interactive}.
- */
-void QWinThumbnailToolButton::click()
-{
- Q_D(QWinThumbnailToolButton);
- if (d->enabled && d->interactive)
- emit clicked();
-}
-
-QT_END_NAMESPACE
diff --git a/src/winextras/qwinthumbnailtoolbutton.h b/src/winextras/qwinthumbnailtoolbutton.h
deleted file mode 100644
index 0ab970f..0000000
--- a/src/winextras/qwinthumbnailtoolbutton.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QWINTHUMBNAILTOOLBUTTON_H
-#define QWINTHUMBNAILTOOLBUTTON_H
-
-#include <QtGui/qicon.h>
-#include <QtCore/qobject.h>
-#include <QtCore/qscopedpointer.h>
-#include <QtWinExtras/qwinextrasglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-class QWinThumbnailToolButtonPrivate;
-
-class Q_WINEXTRAS_EXPORT QWinThumbnailToolButton : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString toolTip READ toolTip WRITE setToolTip)
- Q_PROPERTY(QIcon icon READ icon WRITE setIcon)
- Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled)
- Q_PROPERTY(bool interactive READ isInteractive WRITE setInteractive)
- Q_PROPERTY(bool visible READ isVisible WRITE setVisible)
- Q_PROPERTY(bool dismissOnClick READ dismissOnClick WRITE setDismissOnClick)
- Q_PROPERTY(bool flat READ isFlat WRITE setFlat)
-
-public:
- explicit QWinThumbnailToolButton(QObject *parent = nullptr);
- ~QWinThumbnailToolButton();
-
- void setToolTip(const QString &toolTip);
- QString toolTip() const;
- void setIcon(const QIcon &icon);
- QIcon icon() const;
- void setEnabled(bool enabled);
- bool isEnabled() const;
- void setInteractive(bool interactive);
- bool isInteractive() const;
- void setVisible(bool visible);
- bool isVisible() const;
- void setDismissOnClick(bool dismiss);
- bool dismissOnClick() const;
- void setFlat(bool flat);
- bool isFlat() const;
-
-public Q_SLOTS:
- void click();
-
-Q_SIGNALS:
- void clicked();
- void changed();
-
-private:
- Q_DISABLE_COPY(QWinThumbnailToolButton)
- Q_DECLARE_PRIVATE(QWinThumbnailToolButton)
- QScopedPointer<QWinThumbnailToolButtonPrivate> d_ptr;
- friend class QWinThumbnailToolBar;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWINTHUMBNAILTOOLBUTTON_H
diff --git a/src/winextras/qwinthumbnailtoolbutton_p.h b/src/winextras/qwinthumbnailtoolbutton_p.h
deleted file mode 100644
index 9ff02d6..0000000
--- a/src/winextras/qwinthumbnailtoolbutton_p.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef QWINTHUMBNAILTOOLBUTTON_P_H
-#define QWINTHUMBNAILTOOLBUTTON_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qicon.h>
-#include <QtCore/qstring.h>
-
-QT_BEGIN_NAMESPACE
-
-class QWinThumbnailToolBar;
-
-class QWinThumbnailToolButtonPrivate
-{
-public:
- QString toolTip;
- QIcon icon;
- bool enabled = true;
- bool interactive = true;
- bool dismiss = false;
- bool visible = true;
- bool flat = false;
-
- QWinThumbnailToolBar *toolbar = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWINTHUMBNAILTOOLBUTTON_P_H
diff --git a/src/winextras/windowsguidsdefs.cpp b/src/winextras/windowsguidsdefs.cpp
deleted file mode 100644
index dd4284d..0000000
--- a/src/winextras/windowsguidsdefs.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "windowsguidsdefs_p.h"
-#include "winpropkey_p.h"
-#include "winshobjidl_p.h"
-
-QT_BEGIN_NAMESPACE
-
-// Some of these symbols are defined to varying extents in the various
-// MinGW versions. To avoid potential conflicts, we provide them prefixed with
-// 'q' in Qt's namespace.
-
-const GUID qCLSID_DestinationList = {0x77f10cf0, 0x3db5, 0x4966, {0xb5,0x20,0xb7,0xc5,0x4f,0xd3,0x5e,0xd6}};
-const GUID qCLSID_EnumerableObjectCollection = {0x2d3468c1, 0x36a7, 0x43b6, {0xac,0x24,0xd3,0xf0,0x2f,0xd9,0x60,0x7a}};
-const GUID qIID_ICustomDestinationList = {0x6332debf, 0x87b5, 0x4670, {0x90,0xc0,0x5e,0x57,0xb4,0x08,0xa4,0x9e}};
-const GUID qIID_IApplicationDestinations = {0x12337d35, 0x94c6, 0x48a0, {0xbc,0xe7,0x6a,0x9c,0x69,0xd4,0xd6,0x00}};
-const GUID qCLSID_ApplicationDestinations = {0x86c14003, 0x4d6b, 0x4ef3, {0xa7,0xb4,0x05,0x06,0x66,0x3b,0x2e,0x68}};
-const GUID qIID_IApplicationDocumentLists = {0x3c594f9f, 0x9f30, 0x47a1, {0x97,0x9a,0xc9,0xe8,0x3d,0x3d,0x0a,0x06}};
-const GUID qCLSID_ApplicationDocumentLists = {0x86bec222, 0x30f2, 0x47e0, {0x9f,0x25,0x60,0xd1,0x1c,0xd7,0x5c,0x28}};
-const GUID qIID_IObjectArray = {0x92ca9dcd, 0x5622, 0x4bba, {0xa8,0x05,0x5e,0x9f,0x54,0x1b,0xd8,0xc9}};
-const GUID qIID_IObjectCollection = {0x5632b1a4, 0xe38a, 0x400a, {0x92,0x8a,0xd4,0xcd,0x63,0x23,0x02,0x95}};
-const GUID qIID_IPropertyStore = {0x886d8eeb, 0x8cf2, 0x4446, {0x8d,0x02,0xcd,0xba,0x1d,0xbd,0xcf,0x99}};
-const GUID qIID_ITaskbarList3 = {0xea1afb91, 0x9e28, 0x4b86, {0x90,0xe9,0x9e,0x9f,0x8a,0x5e,0xef,0xaf}};
-const GUID qIID_ITaskbarList4 = {0xc43dc798, 0x95d1, 0x4bea, {0x90,0x30, 0xbb,0x99,0xe2,0x98,0x3a,0x1a}};
-const PROPERTYKEY qPKEY_Title = {{0xf29f85e0, 0x4ff9, 0x1068, {0xab,0x91,0x08,0x00,0x2b,0x27,0xb3,0xd9}}, 2};
-const PROPERTYKEY qPKEY_Link_Arguments = {{0x436f2667, 0x14e2, 0x4feb, {0xb3,0x0a,0x14,0x6c,0x53,0xb5,0xb6,0x74}}, 100};
-const PROPERTYKEY qPKEY_AppUserModel_IsDestListSeparator = {{0x9f4c2855, 0x9f79, 0x4b39, {0xa8,0xd0,0xe1,0xd4,0x2d,0xe1,0xd5,0xf3}}, 6};
-const GUID qIID_IShellItem2 = {0x7e9fb0d3, 0x919f, 0x4307, {0xab,0x2e,0x9b,0x18,0x60,0x31,0x0c,0x93}};
-const GUID qIID_IShellLinkW = {0x000214f9, 0x0000, 0x0000, {0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}};
-const GUID qIID_ITaskbarList = {0xea1afb91, 0x9e28, 0x4b86, {0x90,0xe9,0x9e,0x9f,0x8a,0x5e,0xef,0xaf}};
-const GUID qIID_ITaskbarList2 = {0x602d4995, 0xb13a, 0x429b, {0xa6,0x6e,0x19,0x35,0xe4,0x4f,0x43,0x17}};
-const GUID qIID_IUnknown = {0x00000000, 0x0000, 0x0000, {0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}};
-const GUID qGUID_NULL = {0x00000000, 0x0000, 0x0000, {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}};
-
-QT_END_NAMESPACE
diff --git a/src/winextras/windowsguidsdefs_p.h b/src/winextras/windowsguidsdefs_p.h
deleted file mode 100644
index 73dc0e7..0000000
--- a/src/winextras/windowsguidsdefs_p.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef WINDOWSGUIDSDEFS_P_H
-#define WINDOWSGUIDSDEFS_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of QtWinExtras. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qglobal.h>
-#include <QtCore/qt_windows.h>
-
-QT_BEGIN_NAMESPACE
-
-extern const GUID qCLSID_DestinationList;
-extern const GUID qCLSID_EnumerableObjectCollection;
-extern const GUID qIID_ICustomDestinationList;
-extern const GUID qIID_IApplicationDestinations;
-extern const GUID qCLSID_ApplicationDestinations;
-extern const GUID qIID_IApplicationDocumentLists;
-extern const GUID qCLSID_ApplicationDocumentLists;
-extern const GUID qIID_IObjectArray;
-extern const GUID qIID_IObjectCollection;
-extern const GUID qIID_IPropertyStore;
-extern const GUID qIID_ITaskbarList3;
-extern const GUID qIID_ITaskbarList4;
-extern const GUID qIID_IShellItem2;
-extern const GUID qIID_IShellLinkW;
-extern const GUID qIID_ITaskbarList;
-extern const GUID qIID_ITaskbarList2;
-extern const GUID qIID_IUnknown;
-extern const GUID qGUID_NULL;
-
-QT_END_NAMESPACE
-
-#endif // WINDOWSGUIDSDEFS_P_H
diff --git a/src/winextras/winextras.pro b/src/winextras/winextras.pro
deleted file mode 100644
index caedc0a..0000000
--- a/src/winextras/winextras.pro
+++ /dev/null
@@ -1,57 +0,0 @@
-TARGET = QtWinExtras
-
-QT += gui-private core-private
-
-SOURCES += \
- qwinfunctions.cpp \
- qwintaskbarbutton.cpp \
- qwintaskbarprogress.cpp \
- windowsguidsdefs.cpp \
- qwinjumplist.cpp \
- qwinjumplistcategory.cpp \
- qwinjumplistitem.cpp \
- qwineventfilter.cpp \
- qwinthumbnailtoolbar.cpp \
- qwinthumbnailtoolbutton.cpp \
- qwinevent.cpp
-
-HEADERS += \
- qwinfunctions.h \
- qwinextrasglobal.h \
- qwinfunctions_p.h \
- qwintaskbarbutton_p.h \
- qwintaskbarbutton.h \
- qwintaskbarprogress.h \
- qwinjumplist.h \
- qwinjumplist_p.h \
- qwinjumplistcategory.h \
- qwinjumplistcategory_p.h \
- qwinjumplistitem.h \
- qwinjumplistitem_p.h \
- winshobjidl_p.h \
- winpropkey_p.h \
- qwineventfilter_p.h \
- qwinthumbnailtoolbar.h \
- qwinthumbnailtoolbar_p.h \
- qwinthumbnailtoolbutton.h \
- qwinthumbnailtoolbutton_p.h \
- qwinevent.h \
- windowsguidsdefs_p.h
-
-QMAKE_DOCS = $$PWD/doc/qtwinextras.qdocconf
-
-LIBS_PRIVATE += -lole32 -lshlwapi -lshell32 -ldwmapi
-win32:!qtHaveModule(opengl)|qtConfig(dynamicgl):LIBS_PRIVATE += -lgdi32
-
-OTHER_FILES += \
- doc/qtwinextras.qdocconf \
- doc/src/qtwinextras-index.qdoc \
- doc/src/qtwinextras-module-cpp.qdoc \
- doc/src/qtwinextras-module-qml.qdoc \
- doc/snippets/code/use-qtwinextras.pro \
- doc/snippets/code/jumplist.cpp \
- doc/snippets/code/use-qtwinextras.cpp \
- doc/snippets/code/thumbbar.cpp \
- doc/snippets/code/thumbbar.qml
-
-load(qt_module)
diff --git a/src/winextras/winpropkey_p.h b/src/winextras/winpropkey_p.h
deleted file mode 100644
index 53646fc..0000000
--- a/src/winextras/winpropkey_p.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef WINPROPKEY_P_H
-#define WINPROPKEY_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of QtWinExtras. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qglobal.h>
-#include <propkey.h>
-
-QT_BEGIN_NAMESPACE
-
-extern const PROPERTYKEY qPKEY_Title;
-extern const PROPERTYKEY qPKEY_AppUserModel_IsDestListSeparator;
-extern const PROPERTYKEY qPKEY_Link_Arguments;
-
-QT_END_NAMESPACE
-
-#endif // WINPROPKEY_P_H
diff --git a/src/winextras/winshobjidl_p.h b/src/winextras/winshobjidl_p.h
deleted file mode 100644
index efd28c6..0000000
--- a/src/winextras/winshobjidl_p.h
+++ /dev/null
@@ -1,248 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtWinExtras module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** 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 Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** 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-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#ifndef WINSHOBJIDL_P_H
-#define WINSHOBJIDL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <shobjidl.h>
-
-#ifndef __ITaskbarList_INTERFACE_DEFINED__
-#define __ITaskbarList_INTERFACE_DEFINED__
-
-struct ITaskbarList : IUnknown
-{
- virtual HRESULT STDMETHODCALLTYPE HrInit() = 0;
- virtual HRESULT STDMETHODCALLTYPE AddTab(HWND hwnd) = 0;
- virtual HRESULT STDMETHODCALLTYPE DeleteTab(HWND hwnd) = 0;
- virtual HRESULT STDMETHODCALLTYPE ActivateTab(HWND hwnd) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetActiveAlt(HWND hwnd) = 0;
-};
-
-#endif
-
-#ifndef __ITaskbarList2_INTERFACE_DEFINED__
-#define __ITaskbarList2_INTERFACE_DEFINED__
-
-struct ITaskbarList2 : ITaskbarList
-{
- virtual HRESULT STDMETHODCALLTYPE MarkFullscreenWindow(HWND hwnd, BOOL fullscreen) = 0;
-};
-
-#endif
-
-#ifndef __ITaskbarList3_INTERFACE_DEFINED__
-#define __ITaskbarList3_INTERFACE_DEFINED__
-
-enum THUMBBUTTONMASK {
- THB_BITMAP = 0x00000001,
- THB_ICON = 0x00000002,
- THB_TOOLTIP = 0x00000004,
- THB_FLAGS = 0x00000008
-};
-
-enum THUMBBUTTONFLAGS {
- THBF_ENABLED = 0x00000000,
- THBF_DISABLED = 0x00000001,
- THBF_DISMISSONCLICK = 0x00000002,
- THBF_NOBACKGROUND = 0x00000004,
- THBF_HIDDEN = 0x00000008,
- THBF_NONINTERACTIVE = 0x00000010
-};
-
-enum TBPFLAG {
- TBPF_NOPROGRESS = 0x00000000,
- TBPF_INDETERMINATE = 0x00000001,
- TBPF_NORMAL = 0x00000002,
- TBPF_ERROR = 0x00000004,
- TBPF_PAUSED = 0x00000008
-};
-
-enum STPFLAG {
- STPF_NONE = 0x00000000,
- STPF_USEAPPTHUMBNAILALWAYS = 0x00000001,
- STPF_USEAPPTHUMBNAILWHENACTIVE = 0x00000002,
- STPF_USEAPPPEEKALWAYS = 0x00000004,
- STPF_USEAPPPEEKWHENACTIVE = 0x00000008
-};
-
-struct THUMBBUTTON
-{
- THUMBBUTTONMASK dwMask;
- UINT iId;
- UINT iBitmap;
- HICON hIcon;
- WCHAR szTip[260];
- THUMBBUTTONFLAGS dwFlags;
-};
-
-struct ITaskbarList3 : ITaskbarList2
-{
- virtual HRESULT STDMETHODCALLTYPE SetProgressValue(HWND hwnd, ULONGLONG completed, ULONGLONG total) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetProgressState(HWND hwnd, TBPFLAG tbpFlags) = 0;
- virtual HRESULT STDMETHODCALLTYPE RegisterTab(HWND tab, HWND window) = 0;
- virtual HRESULT STDMETHODCALLTYPE UnregisterTab(HWND tab) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetTabOrder(HWND tab, HWND insertBefore) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetTabActive(HWND tab, HWND window, DWORD reserved = 0) = 0;
- virtual HRESULT STDMETHODCALLTYPE ThumbBarAddButtons(HWND hwnd, UINT count, THUMBBUTTON buttons) = 0;
- virtual HRESULT STDMETHODCALLTYPE ThumbBarUpdateButtons(HWND hwnd, UINT count, THUMBBUTTON *buttons) = 0;
- virtual HRESULT STDMETHODCALLTYPE ThumbBarSetImageList(HWND hwnd, HIMAGELIST imglist) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetOverlayIcon(HWND hwnd, HICON icon, LPCWSTR description) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetThumbnailTooltip(HWND hwnd, LPCWSTR tooltip) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetThumbnailClip(HWND hwnd, RECT *clip) = 0;
-};
-
-#endif
-
-#ifndef __ITaskbarList4_INTERFACE_DEFINED__
-#define __ITaskbarList4_INTERFACE_DEFINED__
-
-struct ITaskbarList4 : ITaskbarList3
-{
- virtual HRESULT STDMETHODCALLTYPE SetTabProperties(HWND tab, STPFLAG flags) = 0;
-};
-
-#endif
-
-#ifndef __IObjectArray_INTERFACE_DEFINED__
-#define __IObjectArray_INTERFACE_DEFINED__
-
-struct IObjectArray : IUnknown
-{
-public:
- virtual HRESULT STDMETHODCALLTYPE GetCount(UINT *count) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetAt(UINT index, REFIID iid, void **ppv) = 0;
-};
-
-#endif
-
-#ifndef __IObjectCollection_INTERFACE_DEFINED__
-#define __IObjectCollection_INTERFACE_DEFINED__
-
-struct IObjectCollection : IObjectArray
-{
-public:
- virtual HRESULT STDMETHODCALLTYPE AddObject(IUnknown *punk) = 0;
- virtual HRESULT STDMETHODCALLTYPE AddFromArray(IObjectArray *poaSource) = 0;
- virtual HRESULT STDMETHODCALLTYPE RemoveObjectAt(UINT uiIndex) = 0;
- virtual HRESULT STDMETHODCALLTYPE Clear() = 0;
-};
-
-#endif
-
-#ifndef __ICustomDestinationList_INTERFACE_DEFINED__
-#define __ICustomDestinationList_INTERFACE_DEFINED__
-
-enum KNOWNDESTCATEGORY {
- KDC_FREQUENT = 1,
- KDC_RECENT
-};
-
-struct ICustomDestinationList : IUnknown
-{
-public:
- virtual HRESULT STDMETHODCALLTYPE SetAppID(LPCWSTR pszAppID) = 0;
- virtual HRESULT STDMETHODCALLTYPE BeginList(UINT *pcMinSlots, REFIID riid, void **ppv) = 0;
- virtual HRESULT STDMETHODCALLTYPE AppendCategory(LPCWSTR pszCategory, IObjectArray *poa) = 0;
- virtual HRESULT STDMETHODCALLTYPE AppendKnownCategory(KNOWNDESTCATEGORY category) = 0;
- virtual HRESULT STDMETHODCALLTYPE AddUserTasks(IObjectArray *poa) = 0;
- virtual HRESULT STDMETHODCALLTYPE CommitList() = 0;
- virtual HRESULT STDMETHODCALLTYPE GetRemovedDestinations(REFIID riid, void **ppv) = 0;
- virtual HRESULT STDMETHODCALLTYPE DeleteList(LPCWSTR pszAppID) = 0;
- virtual HRESULT STDMETHODCALLTYPE AbortList() = 0;
-};
-
-#endif
-
-#ifndef __IApplicationDocumentLists_INTERFACE_DEFINED__
-#define __IApplicationDocumentLists_INTERFACE_DEFINED__
-
-enum APPDOCLISTTYPE {
- ADLT_RECENT = 0,
- ADLT_FREQUENT
-};
-
-struct IApplicationDocumentLists : public IUnknown
-{
-public:
- virtual HRESULT STDMETHODCALLTYPE SetAppID(LPCWSTR pszAppID) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetList(APPDOCLISTTYPE listtype, UINT cItemsDesired, REFIID riid, void **ppv) = 0;
-};
-#endif
-
-#ifndef __IApplicationDestinations_INTERFACE_DEFINED__
-#define __IApplicationDestinations_INTERFACE_DEFINED__
-
-struct IApplicationDestinations : public IUnknown
-{
-public:
- virtual HRESULT STDMETHODCALLTYPE SetAppID(LPCWSTR pszAppID) = 0;
- virtual HRESULT STDMETHODCALLTYPE RemoveDestination(IUnknown *punk) = 0;
- virtual HRESULT STDMETHODCALLTYPE RemoveAllDestinations( void) = 0;
-};
-
-#endif
-
-#ifdef Q_CC_MINGW
-
-# if !defined(__MINGW64_VERSION_MAJOR) || !defined(__MINGW64_VERSION_MINOR) || __MINGW64_VERSION_MAJOR * 100 + __MINGW64_VERSION_MINOR < 301
-
-typedef struct SHARDAPPIDINFOLINK
-{
- IShellLink *psl; // An IShellLink instance that when launched opens a recently used item in the specified
- // application. This link is not added to the recent docs folder, but will be added to the
- // specified application's destination list.
- PCWSTR pszAppID; // The id of the application that should be associated with this recent doc.
-} SHARDAPPIDINFOLINK;
-
-# endif // !defined(__MINGW64_VERSION_MAJOR) || !defined(__MINGW64_VERSION_MINOR) || __MINGW64_VERSION_MAJOR * 100 + __MINGW64_VERSION_MINOR < 301
-
-#endif
-
-#endif // WINSHOBJIDL_P_H