mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-12-26 13:44:54 -05:00
Implement function to clear all ssh-agent identities (#10649)
Fixes #8346 --------- Co-authored-by: Jonathan White <support@dmapps.us>
This commit is contained in:
parent
1a11a55a42
commit
f48dcb3dba
9 changed files with 113 additions and 2 deletions
|
|
@ -204,7 +204,10 @@ MainWindow::MainWindow()
|
|||
#ifdef WITH_XC_SSHAGENT
|
||||
connect(sshAgent(), SIGNAL(error(QString)), this, SLOT(showErrorMessage(QString)));
|
||||
connect(sshAgent(), SIGNAL(enabledChanged(bool)), this, SLOT(agentEnabled(bool)));
|
||||
connect(m_ui->actionClearSSHAgent, SIGNAL(triggered()), SLOT(clearSSHAgent()));
|
||||
m_ui->settingsWidget->addSettingsPage(new AgentSettingsPage());
|
||||
#else
|
||||
agentEnabled(false);
|
||||
#endif
|
||||
|
||||
initViewMenu();
|
||||
|
|
@ -449,6 +452,7 @@ MainWindow::MainWindow()
|
|||
|
||||
m_ui->actionSettings->setIcon(icons()->icon("configure"));
|
||||
m_ui->actionPasswordGenerator->setIcon(icons()->icon("password-generator"));
|
||||
m_ui->actionClearSSHAgent->setIcon(icons()->icon("utilities-terminal"));
|
||||
|
||||
m_ui->actionAbout->setIcon(icons()->icon("help-about"));
|
||||
m_ui->actionDonate->setIcon(icons()->icon("donate"));
|
||||
|
|
@ -1011,6 +1015,8 @@ void MainWindow::updateMenuActionState()
|
|||
m_ui->actionEntryAddToAgent->setEnabled(hasSSHKey);
|
||||
m_ui->actionEntryRemoveFromAgent->setVisible(hasSSHKey);
|
||||
m_ui->actionEntryRemoveFromAgent->setEnabled(hasSSHKey);
|
||||
m_ui->actionClearSSHAgent->setVisible(sshAgent()->isEnabled());
|
||||
m_ui->actionClearSSHAgent->setEnabled(sshAgent()->isEnabled());
|
||||
#endif
|
||||
|
||||
m_ui->actionGroupNew->setEnabled(groupSelected && !inRecycleBin);
|
||||
|
|
@ -1467,6 +1473,15 @@ void MainWindow::focusSearchWidget()
|
|||
}
|
||||
}
|
||||
|
||||
void MainWindow::clearSSHAgent()
|
||||
{
|
||||
#ifdef WITH_XC_SSHAGENT
|
||||
auto agent = SSHAgent::instance();
|
||||
auto ret = agent->clearAllAgentIdentities();
|
||||
displayGlobalMessage(agent->errorString(), ret ? MessageWidget::Positive : KMessageWidget::Error, false);
|
||||
#endif
|
||||
}
|
||||
|
||||
void MainWindow::saveWindowInformation()
|
||||
{
|
||||
if (isVisible()) {
|
||||
|
|
@ -1590,6 +1605,8 @@ void MainWindow::agentEnabled(bool enabled)
|
|||
{
|
||||
m_ui->actionEntryAddToAgent->setVisible(enabled);
|
||||
m_ui->actionEntryRemoveFromAgent->setVisible(enabled);
|
||||
m_ui->actionClearSSHAgent->setEnabled(enabled);
|
||||
m_ui->actionClearSSHAgent->setVisible(enabled);
|
||||
}
|
||||
|
||||
void MainWindow::showEntryContextMenu(const QPoint& globalPos)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue