| 117 | } |
| 118 | |
| 119 | bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole) override |
| 120 | { |
| 121 | if (!index.isValid()) return false; |
| 122 | if (index.parent().isValid()) return false; |
| 123 | if (index.column() > 1) return false; |
| 124 | if (index.row() > m_paths.count()) return false; |
| 125 | if (role == Qt::EditRole) { |
| 126 | if (index.row() == m_paths.count()) { |
| 127 | beginInsertRows(QModelIndex(), index.row()+1, index.row()+1); |
| 128 | m_paths.append(Path()); |
| 129 | endInsertRows(); |
| 130 | } |
| 131 | if (index.column() == 0) { |
| 132 | m_paths[index.row()].remote = QUrl::fromUserInput(value.toString()); |
| 133 | } else if (index.column() == 1) { |
| 134 | m_paths[index.row()].local = QUrl::fromLocalFile(value.toString()); |
| 135 | } |
| 136 | emit dataChanged(index, index); |
| 137 | return true; |
| 138 | } |
| 139 | return false; |
| 140 | } |
| 141 | |
| 142 | bool removeRows(int row, int count, const QModelIndex& parent = QModelIndex()) override |
| 143 | { |