Fix tray visibility and message reception issues
Some checks failed
build / build-win64 (push) Waiting to run
build / build-macos (push) Waiting to run
build / build-pip (push) Failing after 16s

- Disable sound initialization to prevent hanging
- Add missing import re in utils.py
- Fix settings loading for QSettings
- Update file paths to use PROJECT_ROOT
- Revert to working API paths and listener from commit efdc63e
This commit is contained in:
kdusek
2025-12-07 22:39:07 +01:00
parent 7b695d7b7f
commit 5138303016
4060 changed files with 579123 additions and 23 deletions

View File

@@ -0,0 +1,6 @@
# Automatically generated configuration for PyQt6.QtHelp.
sip-version = "6.14.0"
sip-abi-version = "13.8"
module-tags = ["Qt_6_10_0", "Linux"]
module-disabled-features = ["PyQt_OpenGL_ES2"]

View File

@@ -0,0 +1,64 @@
// QtHelpmod.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%Module(name=PyQt6.QtHelp, keyword_arguments="Optional", use_limited_api=True)
%Import QtCore/QtCoremod.sip
%Import QtGui/QtGuimod.sip
%Import QtWidgets/QtWidgetsmod.sip
%Copying
Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
This file is part of PyQt6.
This file may be used under the terms of the GNU General Public License
version 3.0 as published by the Free Software Foundation and appearing in
the file LICENSE included in the packaging of this file. Please review the
following information to ensure the GNU General Public License version 3.0
requirements will be met: http://www.gnu.org/copyleft/gpl.html.
If you do not wish to use this file under the terms of the GPL version 3.0
then you may purchase a commercial license. For more information contact
info@riverbankcomputing.com.
This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%End
%DefaultSupertype PyQt6.sip.simplewrapper
%Include qcompressedhelpinfo.sip
%Include qhelpcontentitem.sip
%Include qhelpcontentwidget.sip
%Include qhelpengine.sip
%Include qhelpenginecore.sip
%Include qhelpfilterdata.sip
%Include qhelpfilterengine.sip
%Include qhelpfiltersettingswidget.sip
%Include qhelpindexwidget.sip
%Include qhelplink.sip
%Include qhelpsearchengine.sip
%Include qhelpsearchenginecore.sip
%Include qhelpsearchquerywidget.sip
%Include qhelpsearchresult.sip
%Include qhelpsearchresultwidget.sip

View File

@@ -0,0 +1,39 @@
// qcompressedhelpinfo.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QCompressedHelpInfo
{
%TypeHeaderCode
#include <qcompressedhelpinfo.h>
%End
public:
QCompressedHelpInfo();
QCompressedHelpInfo(const QCompressedHelpInfo &other);
~QCompressedHelpInfo();
void swap(QCompressedHelpInfo &other);
QString namespaceName() const;
QString component() const;
QVersionNumber version() const;
static QCompressedHelpInfo fromCompressedHelpFile(const QString &documentationFileName);
bool isNull() const;
};

View File

@@ -0,0 +1,42 @@
// qhelpcontentitem.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%If (Qt_6_8_0 -)
class QHelpContentItem /NoDefaultCtors/
{
%TypeHeaderCode
#include <qhelpcontentitem.h>
%End
public:
~QHelpContentItem();
QHelpContentItem *child(int row) const;
int childCount() const;
QString title() const;
QUrl url() const;
int row() const;
QHelpContentItem *parent() const;
int childPosition(QHelpContentItem *child) const;
};
%End

View File

@@ -0,0 +1,83 @@
// qhelpcontentwidget.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%If (- Qt_6_8_0)
class QHelpContentItem /NoDefaultCtors/
{
%TypeHeaderCode
#include <qhelpcontentwidget.h>
%End
public:
~QHelpContentItem();
QHelpContentItem *child(int row) const;
int childCount() const;
QString title() const;
QUrl url() const;
int row() const;
QHelpContentItem *parent() const;
int childPosition(QHelpContentItem *child) const;
};
%End
class QHelpContentModel : public QAbstractItemModel /NoDefaultCtors/
{
%TypeHeaderCode
#include <qhelpcontentwidget.h>
%End
public:
virtual ~QHelpContentModel();
void createContents(const QString &customFilterName);
%If (Qt_6_8_0 -)
void createContentsForCurrentFilter();
%End
QHelpContentItem *contentItemAt(const QModelIndex &index) const;
virtual QVariant data(const QModelIndex &index, int role) const;
virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
virtual QModelIndex parent(const QModelIndex &index) const;
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
virtual int columnCount(const QModelIndex &parent = QModelIndex()) const;
bool isCreatingContents() const;
signals:
void contentsCreationStarted();
void contentsCreated();
};
class QHelpContentWidget : public QTreeView
{
%TypeHeaderCode
#include <qhelpcontentwidget.h>
%End
public:
QModelIndex indexOf(const QUrl &link);
signals:
void linkActivated(const QUrl &link);
private:
QHelpContentWidget();
};

View File

@@ -0,0 +1,37 @@
// qhelpengine.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QHelpEngine : public QHelpEngineCore
{
%TypeHeaderCode
#include <qhelpengine.h>
%End
public:
QHelpEngine(const QString &collectionFile, QObject *parent /TransferThis/ = 0);
virtual ~QHelpEngine();
QHelpContentModel *contentModel() const;
QHelpIndexModel *indexModel() const;
QHelpContentWidget *contentWidget();
QHelpIndexWidget *indexWidget();
QHelpSearchEngine *searchEngine();
};

View File

@@ -0,0 +1,110 @@
// qhelpenginecore.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QHelpEngineCore : public QObject
{
%TypeHeaderCode
#include <qhelpenginecore.h>
%End
%ConvertToSubClassCode
static struct class_graph {
const char *name;
sipTypeDef **type;
int yes, no;
} graph[] = {
{sipName_QHelpContentModel, &sipType_QHelpContentModel, -1, 1},
{sipName_QHelpContentWidget, &sipType_QHelpContentWidget, -1, 2},
{sipName_QHelpEngineCore, &sipType_QHelpEngineCore, 11, 3},
{sipName_QHelpFilterEngine, &sipType_QHelpFilterEngine, -1, 4},
{sipName_QHelpFilterSettingsWidget, &sipType_QHelpFilterSettingsWidget, -1, 5},
{sipName_QHelpIndexModel, &sipType_QHelpIndexModel, -1, 6},
{sipName_QHelpIndexWidget, &sipType_QHelpIndexWidget, -1, 7},
{sipName_QHelpSearchEngine, &sipType_QHelpSearchEngine, -1, 8},
#if QT_VERSION >= 0x060800
{sipName_QHelpSearchEngineCore, &sipType_QHelpSearchEngineCore, -1, 9},
#else
{0, 0, -1, 9},
#endif
{sipName_QHelpSearchQueryWidget, &sipType_QHelpSearchQueryWidget, -1, 10},
{sipName_QHelpSearchResultWidget, &sipType_QHelpSearchResultWidget, -1, -1},
{sipName_QHelpEngine, &sipType_QHelpEngine, -1, -1},
};
int i = 0;
sipType = NULL;
do
{
struct class_graph *cg = &graph[i];
if (cg->name != NULL && sipCpp->inherits(cg->name))
{
sipType = *cg->type;
i = cg->yes;
}
else
i = cg->no;
}
while (i >= 0);
%End
public:
QHelpEngineCore(const QString &collectionFile, QObject *parent /TransferThis/ = 0);
virtual ~QHelpEngineCore();
bool setupData();
QString collectionFile() const;
void setCollectionFile(const QString &fileName);
bool copyCollectionFile(const QString &fileName);
static QString namespaceName(const QString &documentationFileName);
bool registerDocumentation(const QString &documentationFileName);
bool unregisterDocumentation(const QString &namespaceName);
QString documentationFileName(const QString &namespaceName);
QStringList registeredDocumentations() const;
QUrl findFile(const QUrl &url) const;
QByteArray fileData(const QUrl &url) const;
bool removeCustomValue(const QString &key);
QVariant customValue(const QString &key, const QVariant &defaultValue = QVariant()) const;
bool setCustomValue(const QString &key, const QVariant &value);
static QVariant metaData(const QString &documentationFileName, const QString &name);
QString error() const;
bool autoSaveFilter() const;
void setAutoSaveFilter(bool save);
signals:
void setupStarted();
void setupFinished();
void warning(const QString &msg);
public:
QHelpFilterEngine *filterEngine() const;
QList<QUrl> files(const QString namespaceName, const QString &filterName, const QString &extensionFilter = QString());
void setUsesFilterEngine(bool uses);
bool usesFilterEngine() const;
QList<QHelpLink> documentsForIdentifier(const QString &id) const;
QList<QHelpLink> documentsForIdentifier(const QString &id, const QString &filterName) const;
QList<QHelpLink> documentsForKeyword(const QString &keyword) const;
QList<QHelpLink> documentsForKeyword(const QString &keyword, const QString &filterName) const;
bool isReadOnly() const;
void setReadOnly(bool enable);
};

View File

@@ -0,0 +1,39 @@
// qhelpfilterdata.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QHelpFilterData
{
%TypeHeaderCode
#include <qhelpfilterdata.h>
%End
public:
QHelpFilterData();
QHelpFilterData(const QHelpFilterData &other);
~QHelpFilterData();
bool operator==(const QHelpFilterData &other) const;
void swap(QHelpFilterData &other);
void setComponents(const QStringList &components);
void setVersions(const QList<QVersionNumber> &versions);
QStringList components() const;
QList<QVersionNumber> versions() const;
};

View File

@@ -0,0 +1,51 @@
// qhelpfilterengine.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QHelpFilterEngine : public QObject /NoDefaultCtors/
{
%TypeHeaderCode
#include <qhelpfilterengine.h>
%End
public:
QMap<QString, QString> namespaceToComponent() const;
QMap<QString, QVersionNumber> namespaceToVersion() const;
QStringList filters() const;
QString activeFilter() const;
bool setActiveFilter(const QString &filterName);
QStringList availableComponents() const;
QHelpFilterData filterData(const QString &filterName) const;
bool setFilterData(const QString &filterName, const QHelpFilterData &filterData);
bool removeFilter(const QString &filterName);
QStringList namespacesForFilter(const QString &filterName) const;
signals:
void filterActivated(const QString &newFilter);
protected:
virtual ~QHelpFilterEngine();
public:
QList<QVersionNumber> availableVersions() const;
QStringList indices() const;
QStringList indices(const QString &filterName) const;
};

View File

@@ -0,0 +1,36 @@
// qhelpfiltersettingswidget.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QHelpFilterSettingsWidget : public QWidget
{
%TypeHeaderCode
#include <qhelpfiltersettingswidget.h>
%End
public:
explicit QHelpFilterSettingsWidget(QWidget *parent /TransferThis/ = 0);
virtual ~QHelpFilterSettingsWidget();
void setAvailableComponents(const QStringList &components);
void setAvailableVersions(const QList<QVersionNumber> &versions);
void readSettings(const QHelpFilterEngine *filterEngine);
bool applySettings(QHelpFilterEngine *filterEngine) const;
};

View File

@@ -0,0 +1,62 @@
// qhelpindexwidget.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QHelpIndexModel : public QStringListModel /NoDefaultCtors/
{
%TypeHeaderCode
#include <qhelpindexwidget.h>
%End
public:
QHelpEngineCore *helpEngine() const;
void createIndex(const QString &customFilterName);
%If (Qt_6_8_0 -)
void createIndexForCurrentFilter();
%End
QModelIndex filter(const QString &filter, const QString &wildcard = QString());
bool isCreatingIndex() const;
signals:
void indexCreationStarted();
void indexCreated();
private:
virtual ~QHelpIndexModel();
};
class QHelpIndexWidget : public QListView
{
%TypeHeaderCode
#include <qhelpindexwidget.h>
%End
public slots:
void filterIndices(const QString &filter, const QString &wildcard = QString());
void activateCurrentItem();
signals:
void documentActivated(const QHelpLink &document, const QString &keyword);
void documentsActivated(const QList<QHelpLink> &documents, const QString &keyword);
private:
QHelpIndexWidget();
};

View File

@@ -0,0 +1,31 @@
// qhelplink.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
struct QHelpLink
{
%TypeHeaderCode
#include <qhelplink.h>
%End
QUrl url;
QString title;
};

View File

@@ -0,0 +1,94 @@
// qhelpsearchengine.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QHelpSearchQuery
{
%TypeHeaderCode
#include <qhelpsearchengine.h>
%End
public:
enum FieldName
{
DEFAULT,
FUZZY,
WITHOUT,
PHRASE,
ALL,
ATLEAST,
};
QHelpSearchQuery();
QHelpSearchQuery(QHelpSearchQuery::FieldName field, const QStringList &wordList);
};
class QHelpSearchEngine : public QObject
{
%TypeHeaderCode
#include <qhelpsearchengine.h>
%End
public:
QHelpSearchEngine(QHelpEngineCore *helpEngine, QObject *parent /TransferThis/ = 0);
virtual ~QHelpSearchEngine();
QHelpSearchQueryWidget *queryWidget();
QHelpSearchResultWidget *resultWidget();
public slots:
void reindexDocumentation();
void cancelIndexing();
void cancelSearching();
signals:
void indexingStarted();
void indexingFinished();
void searchingStarted();
void searchingFinished(int hits);
public:
int searchResultCount() const;
QList<QHelpSearchResult> searchResults(int start, int end) const;
QString searchInput() const;
public slots:
void search(const QString &searchInput);
};
%If (- Qt_6_8_0)
class QHelpSearchResult
{
%TypeHeaderCode
#include <qhelpsearchengine.h>
%End
public:
QHelpSearchResult();
QHelpSearchResult(const QHelpSearchResult &other);
QHelpSearchResult(const QUrl &url, const QString &title, const QString &snippet);
~QHelpSearchResult();
QString title() const;
QUrl url() const;
QString snippet() const;
};
%End

View File

@@ -0,0 +1,51 @@
// qhelpsearchenginecore.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%If (Qt_6_8_0 -)
class QHelpSearchEngineCore : public QObject
{
%TypeHeaderCode
#include <qhelpsearchenginecore.h>
%End
public:
QHelpSearchEngineCore(QHelpEngineCore *helpEngine, QObject *parent /TransferThis/ = 0);
virtual ~QHelpSearchEngineCore();
int searchResultCount() const;
QList<QHelpSearchResult> searchResults(int start, int end) const;
QString searchInput() const;
public slots:
void reindexDocumentation();
void cancelIndexing();
void search(const QString &searchInput);
void cancelSearching();
signals:
void indexingStarted();
void indexingFinished();
void searchingStarted();
void searchingFinished();
};
%End

View File

@@ -0,0 +1,47 @@
// qhelpsearchquerywidget.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QHelpSearchQueryWidget : public QWidget
{
%TypeHeaderCode
#include <qhelpsearchquerywidget.h>
%End
public:
explicit QHelpSearchQueryWidget(QWidget *parent /TransferThis/ = 0);
virtual ~QHelpSearchQueryWidget();
void expandExtendedSearch();
void collapseExtendedSearch();
signals:
void search();
private:
virtual void focusInEvent(QFocusEvent *focusEvent);
virtual void changeEvent(QEvent *event);
public:
bool isCompactMode() const;
void setCompactMode(bool on);
QString searchInput() const;
void setSearchInput(const QString &searchInput);
};

View File

@@ -0,0 +1,41 @@
// qhelpsearchresult.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%If (Qt_6_8_0 -)
class QHelpSearchResult
{
%TypeHeaderCode
#include <qhelpsearchresult.h>
%End
public:
QHelpSearchResult();
QHelpSearchResult(const QHelpSearchResult &other);
QHelpSearchResult(const QUrl &url, const QString &title, const QString &snippet);
~QHelpSearchResult();
QString title() const;
QUrl url() const;
QString snippet() const;
};
%End

View File

@@ -0,0 +1,35 @@
// qhelpsearchresultwidget.sip generated by MetaSIP
//
// This file is part of the QtHelp Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QHelpSearchResultWidget : public QWidget /NoDefaultCtors/
{
%TypeHeaderCode
#include <qhelpsearchresultwidget.h>
%End
public:
virtual ~QHelpSearchResultWidget();
QUrl linkAt(const QPoint &point);
signals:
void requestShowLink(const QUrl &url);
};