Fixes: Make git diff work for staged files, do not launch submit if file list empty, make file model read only, add conveniences

Details: Add a type data field to the git file model
This commit is contained in:
Friedemann Kleint
2009-01-13 10:06:06 +01:00
parent 278ff78040
commit 4741a7282d
14 changed files with 171 additions and 32 deletions

View File

@@ -450,19 +450,24 @@ void GitPlugin::extensionsInitialized()
m_projectExplorer = ExtensionSystem::PluginManager::instance()->getObject<ProjectExplorer::ProjectExplorerPlugin>();
}
void GitPlugin::submitEditorDiff(const QStringList &files)
void GitPlugin::submitEditorDiffStaged(const QStringList &files)
{
if (files.empty())
return;
m_gitClient->diff(m_submitRepository, files);
if (!files.empty())
m_gitClient->diff(m_submitRepository, QStringList(QLatin1String("--cached")), files);
}
void GitPlugin::submitEditorDiffUnstaged(const QStringList &files)
{
if (!files.empty())
m_gitClient->diff(m_submitRepository, QStringList(), files);
}
void GitPlugin::diffCurrentFile()
{
QFileInfo fileInfo = currentFile();
QString fileName = fileInfo.fileName();
QString workingDirectory = fileInfo.absolutePath();
m_gitClient->diff(workingDirectory, fileName);
const QFileInfo fileInfo = currentFile();
const QString fileName = fileInfo.fileName();
const QString workingDirectory = fileInfo.absolutePath();
m_gitClient->diff(workingDirectory, QStringList(), fileName);
}
void GitPlugin::diffCurrentProject()
@@ -470,7 +475,7 @@ void GitPlugin::diffCurrentProject()
QString workingDirectory = getWorkingDirectory();
if (workingDirectory.isEmpty())
return;
m_gitClient->diff(workingDirectory, QString());
m_gitClient->diff(workingDirectory, QStringList(), QString());
}
QFileInfo GitPlugin::currentFile() const
@@ -640,7 +645,8 @@ Core::IEditor *GitPlugin::openSubmitEditor(const QString &fileName, const Commit
m_undoAction->setEnabled(false);
m_redoAction->setEnabled(false);
submitEditor->setCommitData(cd);
connect(submitEditor, SIGNAL(diffSelectedFiles(QStringList)), this, SLOT(submitEditorDiff(QStringList)));
connect(submitEditor, SIGNAL(diffStaged(QStringList)), this, SLOT(submitEditorDiffStaged(QStringList)));
connect(submitEditor, SIGNAL(diffUnstaged(QStringList)), this, SLOT(submitEditorDiffUnstaged(QStringList)));
return editor;
}