void GitSubmitEditor::slotDiffSelected(const QStringList &files) { // Sort it apart into staged/unstaged files QStringList unstagedFiles; QStringList stagedFiles; const int fileColumn = fileNameColumn(); const int rowCount = m_model->rowCount(); for (int r = 0; r < rowCount; r++) { const QString fileName = m_model->item(r, fileColumn)->text(); if (files.contains(fileName)) { const FileType ft = static_cast<FileType>(m_model->item(r, 0)->data(FileTypeRole).toInt()); switch (ft) { case StagedFile: stagedFiles.push_back(fileName); break; case UnstagedFile: unstagedFiles.push_back(fileName); break; case UntrackedFile: break; } } } if (!unstagedFiles.empty() || !stagedFiles.empty()) emit diff(unstagedFiles, stagedFiles); }
QStringList SubmitEditorWidget::checkedFiles() const { QStringList rc; const QAbstractItemModel *model = m_d->m_ui.fileView->model(); if (!model) return rc; const int count = model->rowCount(); for (int i = 0; i < count; i++) if (listModelChecked(model, i, checkableColumn)) rc.push_back(listModelText(model, i, fileNameColumn())); return rc; }
QStringList SubmitEditorWidget::selectedFiles() const { const QList<int> selection = selectedRows(m_d->m_ui.fileView); if (selection.empty()) return QStringList(); QStringList rc; const QAbstractItemModel *model = m_d->m_ui.fileView->model(); const int count = selection.size(); for (int i = 0; i < count; i++) rc.push_back(listModelText(model, selection.at(i), fileNameColumn())); return rc; }
void SubmitEditorWidget::diffActivatedDelayed() { const QStringList files = QStringList(listModelText(m_d->m_ui.fileView->model(), m_d->m_activatedRow, fileNameColumn())); emit diffSelected(files); }
void PerforceSubmitEditor::restrictToProjectFiles(const QStringList &knownProjectFiles) { m_fileModel->filter(knownProjectFiles, fileNameColumn()); }