aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmljseditor/qmljsoutline.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmljseditor/qmljsoutline.h')
-rw-r--r--src/plugins/qmljseditor/qmljsoutline.h8
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;
};