1 /*
2   SPDX-FileCopyrightText: 2014-2021 Laurent Montel <montel@kde.org>
3 
4   SPDX-License-Identifier: GPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include "akonadisearchdebugsearchpathcombobox.h"
10 #include "search_debug_export.h"
11 #include <Akonadi/Item>
12 #include <QDialog>
13 
14 namespace Akonadi
15 {
16 namespace Search
17 {
18 class AkonadiSearchDebugDialogPrivate;
19 /**
20  * @brief The AkonadiSearchDebugDialog class
21  * @author Laurent Montel <montel@kde.org>
22  */
23 class AKONADI_SEARCH_DEBUG_EXPORT AkonadiSearchDebugDialog : public QDialog
24 {
25     Q_OBJECT
26 public:
27     explicit AkonadiSearchDebugDialog(QWidget *parent = nullptr);
28     ~AkonadiSearchDebugDialog() override;
29 
30     void setAkonadiId(Akonadi::Item::Id akonadiId);
31     void setSearchType(AkonadiSearchDebugSearchPathComboBox::SearchType type);
32     void doSearch();
33 private Q_SLOTS:
34     void slotSaveAs();
35 
36 private:
37     void readConfig();
38     void writeConfig();
39     void saveTextAs(const QString &text, const QString &filter);
40     AkonadiSearchDebugDialogPrivate *const d;
41     bool saveToFile(const QString &filename, const QString &text);
42 };
43 }
44 }
45