File indexing completed on 2024-04-28 05:48:55
0001 /* 0002 SPDX-FileCopyrightText: 2021 Waqar Ahmed <waqar.17a@gmail.com> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 #pragma once 0007 0008 #include <quickdialog.h> 0009 0010 #include "lspclientprotocol.h" 0011 0012 class QStandardItemModel; 0013 class LSPClientServer; 0014 0015 namespace KTextEditor 0016 { 0017 class MainWindow; 0018 } 0019 0020 class GotoSymbolHUDDialog : public HUDDialog 0021 { 0022 public: 0023 GotoSymbolHUDDialog(KTextEditor::MainWindow *mainWindow, std::shared_ptr<LSPClientServer> server); 0024 0025 void openDialog(); 0026 0027 protected Q_SLOTS: 0028 void slotReturnPressed(const QModelIndex &index) override final; 0029 0030 private: 0031 void slotTextChanged(const QString &text); 0032 QIcon iconForSymbolKind(LSPSymbolKind kind) const; 0033 void setPaletteToEditorColors(); 0034 0035 QStandardItemModel *model = nullptr; 0036 KTextEditor::MainWindow *mainWindow; 0037 std::shared_ptr<LSPClientServer> server; 0038 0039 const QIcon m_icon_pkg = QIcon::fromTheme(QStringLiteral("code-block")); 0040 const QIcon m_icon_class = QIcon::fromTheme(QStringLiteral("code-class")); 0041 const QIcon m_icon_typedef = QIcon::fromTheme(QStringLiteral("code-typedef")); 0042 const QIcon m_icon_function = QIcon::fromTheme(QStringLiteral("code-function")); 0043 const QIcon m_icon_var = QIcon::fromTheme(QStringLiteral("code-variable")); 0044 };