Debugger: Remove one use of TreeItem::setFlags

One step towards the removal of the TreeItem::m_flags member
that's unused in most instances.

Change-Id: I0cdc3d1e8a47c3925fb54c129b724ded8721577b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2016-07-27 17:12:06 +02:00
committed by hjk
parent cda7a3188f
commit 5211e32b82
3 changed files with 16 additions and 15 deletions

View File

@@ -40,18 +40,12 @@ static QString addZeroWidthSpace(QString text)
ConsoleItem::ConsoleItem(ItemType itemType, const QString &expression, const QString &file, ConsoleItem::ConsoleItem(ItemType itemType, const QString &expression, const QString &file,
int line) : int line) :
m_itemType(itemType), m_text(addZeroWidthSpace(expression)), m_file(file), m_line(line) m_itemType(itemType), m_text(addZeroWidthSpace(expression)), m_file(file), m_line(line)
{ {}
setFlags(Qt::ItemFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable |
(itemType == InputType ? Qt::ItemIsEditable : Qt::NoItemFlags)));
}
ConsoleItem::ConsoleItem(ConsoleItem::ItemType itemType, const QString &expression, ConsoleItem::ConsoleItem(ConsoleItem::ItemType itemType, const QString &expression,
std::function<void(ConsoleItem *)> doFetch) : std::function<void(ConsoleItem *)> doFetch) :
m_itemType(itemType), m_text(addZeroWidthSpace(expression)), m_line(-1), m_doFetch(doFetch) m_itemType(itemType), m_text(addZeroWidthSpace(expression)), m_line(-1), m_doFetch(doFetch)
{ {}
setFlags(Qt::ItemFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable |
(itemType == InputType ? Qt::ItemIsEditable : Qt::NoItemFlags)));
}
ConsoleItem::ItemType ConsoleItem::itemType() const ConsoleItem::ItemType ConsoleItem::itemType() const
{ {
@@ -73,6 +67,15 @@ int ConsoleItem::line() const
return m_line; return m_line;
} }
Qt::ItemFlags ConsoleItem::flags(int) const
{
Qt::ItemFlags f = Qt::ItemIsEnabled | Qt::ItemIsSelectable;
// Disable editing for old editable row
if (m_itemType == InputType && parent()->lastChild() == this)
f |= Qt::ItemIsEditable;
return f;
}
QVariant ConsoleItem::data(int column, int role) const QVariant ConsoleItem::data(int column, int role) const
{ {
if (column != 0) if (column != 0)

View File

@@ -64,11 +64,12 @@ public:
QString text() const; QString text() const;
QString file() const; QString file() const;
int line() const; int line() const;
QVariant data(int column, int role) const; Qt::ItemFlags flags(int column) const override;
bool setData(int column, const QVariant &data, int role); QVariant data(int column, int role) const override;
bool setData(int column, const QVariant &data, int role) override;
bool canFetchMore() const; bool canFetchMore() const override;
void fetchMore(); void fetchMore() override;
private: private:
ItemType m_itemType; ItemType m_itemType;

View File

@@ -67,9 +67,6 @@ void ConsoleItemModel::shiftEditableRow()
int position = rootItem()->childCount(); int position = rootItem()->childCount();
Q_ASSERT(position > 0); Q_ASSERT(position > 0);
// Disable editing for old editable row
rootItem()->lastChild()->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
appendItem(new ConsoleItem(ConsoleItem::InputType), position); appendItem(new ConsoleItem(ConsoleItem::InputType), position);
emit selectEditableRow(index(position, 0, QModelIndex()), QItemSelectionModel::ClearAndSelect); emit selectEditableRow(index(position, 0, QModelIndex()), QItemSelectionModel::ClearAndSelect);
} }