void PasswordsContentsWidget::triggerAction(int identifier, const QVariantMap ¶meters, ActionsManager::TriggerType trigger) { switch (identifier) { case ActionsManager::SelectAllAction: m_ui->passwordsViewWidget->selectAll(); break; case ActionsManager::DeleteAction: removePasswords(); break; case ActionsManager::FindAction: case ActionsManager::QuickFindAction: m_ui->filterLineEditWidget->setFocus(); break; case ActionsManager::ActivateContentAction: m_ui->passwordsViewWidget->setFocus(); break; default: ContentsWidget::triggerAction(identifier, parameters, trigger); break; } }
bool PasswordsContentsWidget::eventFilter(QObject *object, QEvent *event) { if (object == m_ui->passwordsViewWidget && event->type() == QEvent::KeyPress && static_cast<QKeyEvent*>(event)->key() == Qt::Key_Delete) { removePasswords(); return true; } return ContentsWidget::eventFilter(object, event); }
void PasswordsContentsWidget::showContextMenu(const QPoint &point) { const QModelIndex index(m_ui->passwordsViewWidget->indexAt(point)); QMenu menu(this); if (index.isValid()) { if (index.parent() != m_model->invisibleRootItem()->index()) { menu.addAction(tr("Remove Password"), this, SLOT(removePasswords())); } menu.addAction(tr("Remove All Passwords from This Domain…"), this, SLOT(removeHostPasswords())); } menu.addAction(tr("Remove All Passwords…"), this, SLOT(removeAllPasswords()))->setEnabled(m_ui->passwordsViewWidget->model()->rowCount() > 0); menu.addSeparator(); menu.addAction(ActionsManager::getAction(ActionsManager::ClearHistoryAction, this)); menu.exec(m_ui->passwordsViewWidget->mapToGlobal(point)); }