File indexing completed on 2024-05-12 05:52:07
0001 /* 0002 SPDX-FileCopyrightText: 2020 Waqar Ahmed <waqar.17a@gmail.com> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 #pragma once 0007 0008 #include <QLineEdit> 0009 #include <memory> 0010 0011 #include "katequickopenmodel.h" 0012 0013 enum FilterMode { 0014 Fuzzy = 0, 0015 Wildcard, 0016 }; 0017 0018 class QuickOpenLineEdit : public QLineEdit 0019 { 0020 Q_OBJECT 0021 public: 0022 explicit QuickOpenLineEdit(QWidget *parent); 0023 ~QuickOpenLineEdit() override; 0024 0025 KateQuickOpenModelList listMode() const 0026 { 0027 return m_listMode; 0028 } 0029 0030 FilterMode filterMode() const 0031 { 0032 return m_filterMode; 0033 } 0034 0035 protected: 0036 void contextMenuEvent(QContextMenuEvent *event) override; 0037 0038 private: 0039 void setupMenu(); 0040 0041 private: 0042 std::unique_ptr<QMenu> menu; 0043 KateQuickOpenModelList m_listMode; 0044 FilterMode m_filterMode; 0045 0046 Q_SIGNALS: 0047 void listModeChanged(KateQuickOpenModelList mode); 0048 void filterModeChanged(); 0049 };