qmljseditor: do not complete private properties

Private properties (starting with __) are not offered as completion
unless one has already typed __*

Change-log: [Qml/JS Support] Do not show properties starting with "__" in auto-completion.

Change-Id: Iecf4c2ee5c14f12a45a26479328862d6a50b3ffb
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
This commit is contained in:
Fawzi Mohamed
2013-02-11 13:27:59 +01:00
parent 234b4bd928
commit d078c31bfa
4 changed files with 17 additions and 3 deletions

View File

@@ -974,6 +974,19 @@ struct QmlJSLessThan
// ------------------------- // -------------------------
// QmlJSAssistProposalModel // QmlJSAssistProposalModel
// ------------------------- // -------------------------
void QmlJSAssistProposalModel::filter(const QString &prefix)
{
BasicProposalItemListModel::filter(prefix);
if (prefix.startsWith(QLatin1String("__")))
return;
QList<BasicProposalItem *> newCurrentItems;
newCurrentItems.reserve(m_currentItems.size());
foreach (BasicProposalItem *item, m_currentItems)
if (!item->text().startsWith(QLatin1String("__")))
newCurrentItems << item;
m_currentItems = newCurrentItems;
}
void QmlJSAssistProposalModel::sort() void QmlJSAssistProposalModel::sort()
{ {
qSort(currentItems().first, currentItems().second, QmlJSLessThan()); qSort(currentItems().first, currentItems().second, QmlJSLessThan());

View File

@@ -69,6 +69,7 @@ public:
: TextEditor::BasicProposalItemListModel(items) : TextEditor::BasicProposalItemListModel(items)
{} {}
virtual void filter(const QString &prefix);
virtual void sort(); virtual void sort();
virtual bool keepPerfectMatch(TextEditor::AssistReason reason) const; virtual bool keepPerfectMatch(TextEditor::AssistReason reason) const;
}; };

View File

@@ -121,8 +121,8 @@ BasicProposalItemListModel::BasicProposalItemListModel()
{} {}
BasicProposalItemListModel::BasicProposalItemListModel(const QList<BasicProposalItem *> &items) BasicProposalItemListModel::BasicProposalItemListModel(const QList<BasicProposalItem *> &items)
: m_originalItems(items) : m_currentItems(items)
, m_currentItems(items) , m_originalItems(items)
{ {
mapPersistentIds(); mapPersistentIds();
} }

View File

@@ -69,13 +69,13 @@ public:
protected: protected:
typedef QList<BasicProposalItem *>::iterator ItemIterator; typedef QList<BasicProposalItem *>::iterator ItemIterator;
QPair<ItemIterator, ItemIterator> currentItems(); QPair<ItemIterator, ItemIterator> currentItems();
QList<BasicProposalItem *> m_currentItems;
private: private:
void mapPersistentIds(); void mapPersistentIds();
QHash<QString, int> m_idByText; QHash<QString, int> m_idByText;
QList<BasicProposalItem *> m_originalItems; QList<BasicProposalItem *> m_originalItems;
QList<BasicProposalItem *> m_currentItems;
}; };
} // TextEditor } // TextEditor