File indexing completed on 2024-05-12 05:12:48
0001 /* 0002 This file is part of Akonadi. 0003 0004 SPDX-FileCopyrightText: 2009 Tobias Koenig <tokoe@kde.org> 0005 0006 SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #pragma once 0010 0011 #include <QWidget> 0012 0013 class KComboBox; 0014 class KJob; 0015 class QTextBrowser; 0016 0017 class QListView; 0018 class QModelIndex; 0019 class QStandardItemModel; 0020 class QTreeView; 0021 class QSplitter; 0022 class QPlainTextEdit; 0023 0024 namespace Xapian 0025 { 0026 class Database; 0027 class Error; 0028 } 0029 0030 class SearchWidget : public QWidget 0031 { 0032 Q_OBJECT 0033 0034 public: 0035 explicit SearchWidget(QWidget *parent = nullptr); 0036 ~SearchWidget() override; 0037 0038 private Q_SLOTS: 0039 void search(); 0040 void openStore(int idx); 0041 void fetchItem(const QModelIndex &); 0042 void itemFetched(KJob *); 0043 0044 private: 0045 void xapianError(const Xapian::Error &e); 0046 void closeDataBase(); 0047 0048 KComboBox *mStoreCombo = nullptr; 0049 QTextBrowser *mItemView = nullptr; 0050 QPlainTextEdit *mQueryWidget = nullptr; 0051 QListView *mDatabaseView = nullptr; 0052 QStandardItemModel *mDocumentModel = nullptr; 0053 QTreeView *mDocumentView = nullptr; 0054 QStandardItemModel *mTermModel = nullptr; 0055 QSplitter *mHSplitter = nullptr; 0056 QSplitter *mVSplitter = nullptr; 0057 0058 Xapian::Database *mDatabase = nullptr; 0059 };