diff options
Diffstat (limited to 'src/plugins/qmljseditor/qmljsoutline.h')
-rw-r--r-- | src/plugins/qmljseditor/qmljsoutline.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/plugins/qmljseditor/qmljsoutline.h b/src/plugins/qmljseditor/qmljsoutline.h index b81e9f39ce..4e08353002 100644 --- a/src/plugins/qmljseditor/qmljsoutline.h +++ b/src/plugins/qmljseditor/qmljsoutline.h @@ -51,15 +51,19 @@ class QmlJSOutlineFilterModel : public QSortFilterProxyModel public: QmlJSOutlineFilterModel(QObject *parent); // QSortFilterProxyModel + Qt::ItemFlags flags(const QModelIndex &index) const override; bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override; + bool lessThan(const QModelIndex &sourceLeft, const QModelIndex &sourceRight) const override; QVariant data(const QModelIndex &index, int role) const override; Qt::DropActions supportedDragActions() const override; bool filterBindings() const; void setFilterBindings(bool filterBindings); + void setSorted(bool sorted); private: bool m_filterBindings = false; + bool m_sorted = false; }; class QmlJSOutlineWidget : public TextEditor::IOutlineWidget @@ -73,6 +77,8 @@ public: // IOutlineWidget QList<QAction*> filterMenuActions() const override; void setCursorSynchronization(bool syncWithCursor) override; + bool isSorted() const override { return m_sorted; }; + void setSorted(bool sorted) override; void restoreSettings(const QVariantMap &map) override; QVariantMap settings() const override; @@ -93,6 +99,7 @@ private: bool m_enableCursorSync = true; bool m_blockCursorSync = false; + bool m_sorted = false; }; class QmlJSOutlineWidgetFactory : public TextEditor::IOutlineWidgetFactory @@ -100,6 +107,7 @@ class QmlJSOutlineWidgetFactory : public TextEditor::IOutlineWidgetFactory Q_OBJECT public: bool supportsEditor(Core::IEditor *editor) const override; + bool supportsSorting() const override { return true; } TextEditor::IOutlineWidget *createWidget(Core::IEditor *editor) override; }; |