Git: Introduce Recover Deleted Files action

Change-Id: I913c07522a8ca82366fd142597430c02e53faa27
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Orgad Shaneh
2018-01-08 23:19:54 +02:00
committed by Orgad Shaneh
parent b1239d6c4c
commit a8ddaafca4
4 changed files with 31 additions and 0 deletions

View File

@@ -424,6 +424,9 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *errorMessage)
createRepositoryAction(localRepositoryMenu, tr("Reset..."), "Git.Reset",
context, true, std::bind(&GitPlugin::resetRepository, this));
createRepositoryAction(localRepositoryMenu, tr("Recover Deleted Files"), "Git.RecoverDeleted",
context, true, std::bind(&GitPlugin::recoverDeletedFiles, this));
m_interactiveRebaseAction
= createRepositoryAction(localRepositoryMenu,
tr("Interactive Rebase..."), "Git.InteractiveRebase",
@@ -807,6 +810,15 @@ void GitPlugin::resetRepository()
m_gitClient->reset(topLevel, dialog.resetFlag(), dialog.commit());
}
void GitPlugin::recoverDeletedFiles()
{
if (!DocumentManager::saveAllModifiedDocuments())
return;
const VcsBasePluginState state = currentState();
QTC_ASSERT(state.hasTopLevel(), return);
m_gitClient->recoverDeletedFiles(state.topLevel());
}
void GitPlugin::startRebase()
{
if (!DocumentManager::saveAllModifiedDocuments())