File indexing completed on 2024-05-19 05:11:51

0001 /*
0002   SPDX-FileCopyrightText: 2014-2024 Laurent Montel <montel@kde.org>
0003 
0004   SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "akonadisearchdebugsearchpathcombobox.h"
0010 #include "search_debug_export.h"
0011 #include <Akonadi/Item>
0012 #include <QWidget>
0013 class KLineEdit;
0014 class QPushButton;
0015 class QPlainTextEdit;
0016 namespace Akonadi
0017 {
0018 namespace Search
0019 {
0020 /**
0021  * @brief The AkonadiSearchDebugWidget class
0022  */
0023 class AKONADI_SEARCH_DEBUG_EXPORT AkonadiSearchDebugWidget : public QWidget
0024 {
0025     Q_OBJECT
0026 public:
0027     explicit AkonadiSearchDebugWidget(QWidget *parent = nullptr);
0028     ~AkonadiSearchDebugWidget() override;
0029 
0030     void setAkonadiId(Akonadi::Item::Id akonadiId);
0031     void setSearchType(AkonadiSearchDebugSearchPathComboBox::SearchType type);
0032     void doSearch();
0033 
0034     [[nodiscard]] QString plainText() const;
0035 
0036 private Q_SLOTS:
0037     AKONADI_SEARCH_DEBUG_NO_EXPORT void slotSearchLineTextChanged(const QString &text);
0038     AKONADI_SEARCH_DEBUG_NO_EXPORT void slotSearch();
0039     AKONADI_SEARCH_DEBUG_NO_EXPORT void slotResult(const QString &result);
0040     AKONADI_SEARCH_DEBUG_NO_EXPORT void slotError(const QString &errorStr);
0041 
0042 private:
0043     QPlainTextEdit *const mPlainTextEditor;
0044     AkonadiSearchDebugSearchPathComboBox *const mSearchPathComboBox;
0045     KLineEdit *const mLineEdit;
0046     QPushButton *const mSearchButton;
0047 };
0048 }
0049 }