Debugger: Use FilePath in debuggersourcepathmappingwidget.cpp

Change-Id: I83f9cd55ab4c77609fbd3d2ae0d851de3c5145a3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2021-09-28 12:38:08 +02:00
parent 45e23e07a8
commit 67a8cfb62a

View File

@@ -55,7 +55,7 @@ class SourcePathMappingModel;
enum { SourceColumn, TargetColumn, ColumnCount }; enum { SourceColumn, TargetColumn, ColumnCount };
using Mapping = QPair<QString, QString>; using Mapping = QPair<FilePath, FilePath>;
class DebuggerSourcePathMappingWidget : public QGroupBox class DebuggerSourcePathMappingWidget : public QGroupBox
{ {
@@ -79,7 +79,7 @@ private:
void updateEnabled(); void updateEnabled();
QString editSourceField() const; QString editSourceField() const;
QString editTargetField() const; QString editTargetField() const;
void setEditFieldMapping(const QPair<QString, QString> &m); void setEditFieldMapping(const Mapping &m);
int currentRow() const; int currentRow() const;
void setCurrentRow(int r); void setCurrentRow(int r);
@@ -162,9 +162,9 @@ SourcePathMap SourcePathMappingModel::sourcePathMap() const
SourcePathMap rc; SourcePathMap rc;
const int rows = rowCount(); const int rows = rowCount();
for (int r = 0; r < rows; ++r) { for (int r = 0; r < rows; ++r) {
const QPair<QString, QString> m = mappingAt(r); // Skip placeholders. const Mapping m = mappingAt(r); // Skip placeholders.
if (!m.first.isEmpty() && !m.second.isEmpty()) if (!m.first.isEmpty() && !m.second.isEmpty())
rc.insert(m.first, m.second); rc.insert(m.first.toString(), m.second.toString());
} }
return rc; return rc;
} }
@@ -176,17 +176,17 @@ bool SourcePathMappingModel::isNewPlaceHolder(const Mapping &m) const
const QChar greaterThan('>'); const QChar greaterThan('>');
return m.first.isEmpty() || m.first.startsWith(lessThan) return m.first.isEmpty() || m.first.startsWith(lessThan)
|| m.first.endsWith(greaterThan) || m.first.endsWith(greaterThan)
|| m.first == m_newSourcePlaceHolder || m.first.toString() == m_newSourcePlaceHolder
|| m.second.isEmpty() || m.second.startsWith(lessThan) || m.second.isEmpty() || m.second.startsWith(lessThan)
|| m.second.endsWith(greaterThan) || m.second.endsWith(greaterThan)
|| m.second == m_newTargetPlaceHolder; || m.second.toString() == m_newTargetPlaceHolder;
} }
// Return raw, unfixed mapping // Return raw, unfixed mapping
Mapping SourcePathMappingModel::rawMappingAt(int row) const Mapping SourcePathMappingModel::rawMappingAt(int row) const
{ {
return Mapping(QDir::fromNativeSeparators(item(row, SourceColumn)->text()), return Mapping(FilePath::fromUserInput(item(row, SourceColumn)->text()),
QDir::fromNativeSeparators(item(row, TargetColumn)->text())); FilePath::fromUserInput(item(row, TargetColumn)->text()));
} }
// Return mapping, empty if it is the place holder. // Return mapping, empty if it is the place holder.
@@ -337,15 +337,14 @@ QString DebuggerSourcePathMappingWidget::editTargetField() const
void DebuggerSourcePathMappingWidget::setEditFieldMapping(const Mapping &m) void DebuggerSourcePathMappingWidget::setEditFieldMapping(const Mapping &m)
{ {
m_sourceLineEdit->setText(m.first); m_sourceLineEdit->setText(m.first.toUserOutput());
m_targetChooser->setPath(m.second); m_targetChooser->setFilePath(m.second);
} }
void DebuggerSourcePathMappingWidget::slotCurrentRowChanged void DebuggerSourcePathMappingWidget::slotCurrentRowChanged
(const QModelIndex &current, const QModelIndex &) (const QModelIndex &current, const QModelIndex &)
{ {
setEditFieldMapping(current.isValid() setEditFieldMapping(current.isValid() ? m_model->mappingAt(current.row()) : Mapping());
? m_model->mappingAt(current.row()) : Mapping());
updateEnabled(); updateEnabled();
} }