QtPass 2.0.0
Developer documentation
Loading...
Searching...
No Matches
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 CAppSettingsPlain value-object holding all flat QtPass configuration
 CBase32RFC 4648 base32 codec, used for TOTP shared secrets
 CExecutor::ExecQueueItemExecution queue item for non-interactive ordered execution
 CFileContentRepresents the parsed contents of a password file
 CGrepSearchController::FinishOutcomeOutcome of a search-completion transition
 CGpgIdGenerationRollback detection for signed .gpg-id files
 CGpgIdSignerThe detached signature on a store's .gpg-id: whether the configured signing key is usable, signing the file, and checking that an existing .gpg-id.sig was made by one of the configured keys
 CGrepSearchControllerState machine for MainWindow's content-search (grep) mode
 CGpgIdGeneration::HeaderWhat a list's header says
 CRealPass::InsertRecord
 CRnpCrypto::KeyInfoOne primary key in the keyring, as the Users dialog lists keys
 CRealPass::LinkCommit
 CNamedValueA name/value pair parsed from a password file field
 CPassBackendFactoryOwns the Pass backend lifecycle (RealPass vs ImitatePass)
 CPasswordConfigurationHolds the password generator settings: which character set is selected, the alphabet of every set, and the password length
 CPathValidatorPassword-store path-boundary checks
 CImitatePass::PendingInsert
 CEnums::ProcessInfoWhat QtPass knows about one kind of subprocess: what to call it and whether its output may carry a secret
 CProfileOne named password store: where it is, how its .gpg-id is signed and, optionally, its own Git switches
 CConfigDialog::ProfileEntryOne row of the profile list while the dialog is open. A QList rather than the Profiles map so a profile can pass through an empty or duplicate name while it is being typed; getProfiles() builds the map
 CProfileInitTurn a directory into a password store without going through the Pass backend of the currently active store
 CConfigDialog::ProfileProblemsWhat is wrong with one profile's fields; empty strings where nothing is
CQApplication
  CSingleApplicationQApplication subclass enforcing single-instance behavior via IPC
CQDialog
  CConfigDialogThe ConfigDialog handles the configuration interface
  CExportPublicKeyDialogDialog showing an ASCII-armored public GPG key for sharing
  CImportKeyDialogDialog for importing GPG keys from file or clipboard
  CKeygenDialogHandles GPG keypair generation
  CPasswordDialogDialog for creating a password entry or editing an existing one
  CUsersDialogDialog for selecting GPG recipients for password encryption
CQDockWidget
  CProcessOutputPanelThe dockable "Process output" console: numbered, colour-coded lines of git/pass/gpg output with a line cap and sticky auto-scroll
CQLabel
  CFieldLabelThe name of a key: value field in PasswordDialog, editable in place: double-click or the context menu renames it, the context menu can also remove the field (#132)
CQLineEdit
  CSecretLineEditA QLineEdit for a password that can be shown: whatever is copied out of it is marked as a secret and reported for autoclear
CQList
  CNamedValuesMostly a list of NamedValue but also has a method to take a specific NamedValue pair out of the list
CQMainWindow
  CMainWindowMain application window orchestrating UI, user interactions, and external process handlers
CQObject
  CClipboardManagerPuts secrets on the system clipboard and takes them off again
  CExecutorRuns non-interactive external commands in FIFO order using a single QProcess
  CMenuBarPeekShows a hidden menu bar while Alt is used, as browsers and file managers do
  CNativeGrepFull-text search over a password store without pass grep: every .gpg file is decrypted with gpg on a worker thread and its lines matched against a QRegularExpression. Only the newest search may report; a search started while another runs asks that one to stop and supersedes it
 CPassAbstract base class for password store operations
   CImitatePassImplementation that imitates 'pass' when the real tool is unavailable
   CRealPassImplementation of Pass that wraps the 'pass' command-line tool
  CPasswordDisplayPanelRenders decrypted password-file fields into MainWindow's grid
  CQtPassApplication-level glue between the pass backends and whatever shows their results: turns the backends' completion signals into UI-neutral signals (formatted output, status messages, "the operation is over"), owns the ClipboardManager, migrates the settings of older versions on start-up and renders QR codes. It knows nothing about the main window; the window connects to the signals below
  CStoreTreeThe password store as shown in the tree: the QFileSystemModel, the StoreModel proxy on top of it and the QTreeView they drive, with the path questions the main window keeps asking
  CTrayIconHandles the system tray icon and menu
CQPlainTextEdit
  CSecretPlainTextEditA QPlainTextEdit for decrypted entry text being edited: whatever is copied or cut out of it is marked as a secret and reported for autoclear
CQPushButton
  CQPushButtonAsQRCodeQPushButton that presents a text payload as a QR code action
  CQPushButtonShowPasswordQPushButton that toggles visibility of an associated QLineEdit
  CQPushButtonWithClipboardQPushButton that stores a text payload and emits it when activated
CQSettings
  CQtPassSettingsSingleton that stores QtPass settings, handles persistence and defaults
CQSortFilterProxyModel
  CStoreModelQSortFilterProxyModel for filtering and displaying password store
CQTextBrowser
  CSecretTextBrowserA QTextBrowser for decrypted entry text: whatever is copied out of it is marked as a secret and reported for autoclear
CQTreeView
  CDeselectableTreeViewA QTreeView that clears its selection, and emits emptyClicked(), when the user clicks empty space or an already-selected item
CQWidget
  COtpCodeWidgetLive one-time password display: code, copy button and countdown
CQWizard
  CFirstRunWizardThe first start of QtPass: find GnuPG (and pass and Git), make sure there is a secret key, pick or create the password store. Replaces the chain of message boxes ConfigDialog::wizard() used to run before showing the whole configuration dialog
CQWizardPage
  CDoneWizardPageLast page: a summary of what Finish will do and the two preferences worth asking on day one
  CKeyWizardPageThe secret keys gpg knows; a new pair can be generated here. The enabled ones become the recipients of a store that still has to be initialised
  CProgramsWizardPageWhere gpg, pass and git are; gpg is required, the rest optional. A stored path that no longer runs is replaced by what PATH has
  CStoreWizardPageThe folder the passwords live in: an existing store is used as-is, a folder without .gpg-id (or no folder) is initialised on Finish. The Git box lives here because its sensible default depends on the folder: on for a repository or a store still to be created, off for an existing store that is no repository
 CPass::RecipientsForEditingWhat a dialog may do with the list of a folder (recipientsForEditing())
 CImitatePass::ReencryptResultOutcome of one reencryptPath() run; filled on the worker thread and consumed by finishReencrypt() on the owning thread
 CResolvedGpgconfCommandRepresents a command invocation for gpgconf operations
 CRnpCryptoOpenPGP encryption and decryption in-process, through RNP
 CTotp::SettingsValidated TOTP parameters. Only Totp::parse() produces one
 CSettingsSerializerMaps AppSettings to and from a QSettings store
 CConfigDialog::SigningStores
 CSimpleTransactionTracks a sequence of processes that should be treated as one atomic operation
 CSshAuthSockSSH_AUTH_SOCK discovery and validation for child processes
 CStoreDragItemWhat a drag from the store tree carries: the kind of the dragged item and its path
 CTemplateIORead and write password-store template configuration
 CTotpRFC 6238 time-based one-time password generation
 CImitatePass::TransactionHelperRAII helper for wrapping operations in transactions
 CImitatePass::UncommittedGpgIdA .gpg-id Init() wrote but could not commit
 CUserInfoStores GPG key info including validity, creation date, and more
 CUtilStatic helpers that have no better home: setting up the process and the Git environment the way pass does, finding binaries and the default store, path and URL handling, and file operations that refuse to follow links
 CNativeGrep::Worker
 CExecutor::WslCommandA configured executable that runs a Linux program through WSL