| main | |
| main.cpp | Program entry point: command-line parsing, the single-instance hand- over, translations and the main window |
| src | |
| appsettings.h | AppSettings, the value object holding every flat QtPass setting |
| base32.cpp | Implements the Base32 codec: quantum-by-quantum decode and encode loops with the tail-shape table that fixes KeePassXC's mis-padded cases |
| base32.h | Strict RFC 4648 base32 codec plus the input sanitizer that makes human-typed TOTP secrets decodable |
| clipboardmanager.cpp | Implements ClipboardManager and the per-platform clipboard hints that keep secrets out of clipboard histories |
| clipboardmanager.h | ClipboardManager, which puts secrets on the clipboard and removes them again, and the MIME data that marks them as secrets |
| configdialog.cpp | Implements ConfigDialog: loading and reading the widgets (applySettings(), readSettings()), the profile table with its validation (validate(), problemsOf(), sharingTheKey()) and the initialisation of stores for profiles added in the dialog (initializeNewProfiles()) |
| configdialog.h | Settings dialog: every page of the configuration window and the profile table, with the validation that gates OK |
| deselectabletreeview.h | DeselectableTreeView: a QTreeView that clears its selection when empty space or an already-selected row is clicked |
| enums.h | The Enums namespace: clipboard behaviour and the identifiers of the subprocess kinds QtPass queues |
| executor.cpp | |
| executor.h | Executor, the FIFO queue every gpg, git and pass child process of QtPass goes through, and the WSL command parsing it shares with the settings code |
| exportpublickeydialog.cpp | Implements ExportPublicKeyDialog: key-id sanitising for the suggested file name, the clipboard copy with its "Copied!" flash and the QSaveFile write |
| exportpublickeydialog.h | Dialog that shows an ASCII-armored public key and lets the user copy it or save it as a .asc file |
| fieldlabel.cpp | Implements FieldLabel; startEdit() and finishEdit() swap the label and its editor in and out of the parent's QFormLayout cell |
| fieldlabel.h | FieldLabel: the in-place renamable, removable name label of a key: value field in PasswordDialog |
| filecontent.cpp | Implements FileContent::parse() as a single streaming pass over the entry, with the field cap, the display-line cap and the OTP candidate search, plus the cached secret-field-name matcher |
| filecontent.h | Parser for a decrypted password entry: password line, key: value fields, remaining text and the OTP configuration |
| firstrunwizard.cpp | Implements FirstRunWizard and its pages; the store is created and initialised in FirstRunWizard::initialiseStore() on Finish |
| firstrunwizard.h | The first-run wizard and its four pages: programs, key, store and summary |
| gpgidgeneration.cpp | Implements the .gpg-id generation header and the per-store record of accepted generations |
| gpgidgeneration.h | Rollback detection for signed .gpg-id files: the generation counter and the record of what was last seen |
| gpgidsigner.cpp | Implements GpgIdSigner on top of gpg's --status-fd output |
| gpgidsigner.h | GpgIdSigner, which signs a store's .gpg-id and verifies an existing .gpg-id.sig against the configured signing keys |
| gpgkeystate.cpp | Implements the colon-listing parser: record classification, one handler per record type, and primary-fingerprint lookup |
| gpgkeystate.h | Parsing of gpg --with-colons key listings into UserInfo records |
| gpgkeystate_p.h | Record handlers of the gpg colon-listing parser, declared separately only so the unit tests can call them; not for use outside gpgkeystate.cpp |
| grepsearchcontroller.h | GrepSearchController: the mode/busy/cancelled state machine behind MainWindow's content search |
| imitatepass.cpp | Implements ImitatePass: the gpg and git command sequences behind each operation, the transactions that group them, and the re-encryption worker thread |
| imitatepass.h | ImitatePass, the backend that does what pass does by running gpg and git itself |
| importkeydialog.cpp | Implements ImportKeyDialog: the guarded key-file read, the blocking gpg --import call and the status-line parser for the imported key id |
| importkeydialog.h | Dialog that imports an ASCII-armored GPG public key from a file or the clipboard by running gpg --import |
| keygendialog.cpp | Implements KeygenDialog: form validation, splicing the passphrase into the GPG batch the way gpg itself reads it, and the one-attempt connections to the Pass backend |
| keygendialog.h | Dialog that collects name, e-mail and passphrase for a new GPG keypair and drives gpg --gen-key --batch through the Pass backend |
| mainwindow.cpp | Implements MainWindow; the backend signal wiring lives in connectBackends() and connectPassSignals(), the decrypted-entry rendering in passShowHandler() |
| mainwindow.h | MainWindow: the main application window (tree, toolbar, search, status bar, process output dock) and the glue between the password store backends and the widgets |
| menubarpeek.cpp | Implements MenuBarPeek; an application-wide event filter installed in the constructor feeds onKeyPress() and onKeyRelease() |
| menubarpeek.h | MenuBarPeek: shows the main window's hidden menu bar while Alt is held or tapped, and hides it again afterwards |
| nativegrep.cpp | Implements NativeGrep: the store walk, the per-file gpg runs and the hand-over of results from the worker thread |
| nativegrep.h | NativeGrep, the content search that decrypts every entry on a worker thread instead of running pass grep |
| otpcodewidget.cpp | Implements OtpCodeWidget: builds the code label, copy button and countdown bar, and owns the one-second refresh timer |
| otpcodewidget.h | Self-refreshing widget showing an entry's current TOTP code with a countdown bar and optional copy button |
| pass.cpp | Implements what both backends share: the environment the store's processes run in, the refusals for links and paths outside the store, .gpg-
id lookup, and Pass::finished(), which routes each finished process to its signal |
| pass.h | Pass, the abstract password-store backend that RealPass and ImitatePass implement, and gpgErrorMessage(), which turns gpg's stderr into a message for the user |
| passbackendfactory.cpp | Implements PassBackendFactory. The backends are held through pointers and constructed on first use, so nothing depends on the initialisation order of globals |
| passbackendfactory.h | PassBackendFactory, which constructs the two Pass backends on demand and hands out the one the settings select |
| passwordconfiguration.h | Value object for the password generator: chosen character set, its alphabets and the length |
| passworddialog.cpp | Implements PasswordDialog: field rows built from templates and entry content, round-trip-safe serialisation in getPassword(), OTP validation and the locked-while-saving insert protocol |
| passworddialog.h | Dialog for creating or editing one password entry, including the generator, template fields, OTP handling and the asynchronous save |
| passworddisplaypanel.cpp | Implements PasswordDisplayPanel; the value browser and open-in-browser button are built by file-local helpers |
| passworddisplaypanel.h | PasswordDisplayPanel: renders the decrypted fields of an entry (password, template fields, live OTP code) into the main window's grid, with copy/QR/open buttons and secret hiding |
| pathvalidator.cpp | Implements PathValidator; storeRelativePath() does the canonical comparison the other checks build on |
| pathvalidator.h | PathValidator: is a path inside the password store, and how is it spelled relative to the store root |
| plainmessagebox.cpp | Implements the PlainMessageBox helpers; the text format is set before the text so it is never laid out as rich text |
| plainmessagebox.h | QMessageBox helpers that force Qt::PlainText so store-controlled names can never be read as rich-text markup |
| processinfo.cpp | The process table behind Enums::processInfo(); a missing row for a new Enums::PROCESS value fails the build here |
| processinfo.h | Enums::ProcessInfo, the one table that names each kind of subprocess and says whether its output may carry a secret |
| processoutputpanel.cpp | Implements ProcessOutputPanel; the sticky auto-scroll hysteresis is set up in the constructor, the line cap in limitLines() |
| processoutputpanel.h | ProcessOutputPanel: the dockable console that shows numbered, colour-coded git/pass/gpg output |
| profile.h | One named password store (Profile) and the name-to-profile map (Profiles) the settings trade in |
| profileinit.cpp | Implements ProfileInit; the environments its gpg and git processes run in are built by withGpgHome() and gitEnvironment() here |
| profileinit.h | Initialising a new profile's store (.gpg-id, signature, Git) with blocking processes, apart from the active store's backend |
| qpushbuttonasqrcode.cpp | Implements QPushButtonAsQRCode: icon setup and the click re-emit |
| qpushbuttonasqrcode.h | Icon button that asks for a stored secret to be shown as a QR code |
| qpushbuttonshowpassword.cpp | Implements QPushButtonShowPassword: the echo-mode toggle and the matching icon and tooltip swap |
| qpushbuttonshowpassword.h | Eye-icon button that toggles a QLineEdit between password and plain-text echo mode |
| qpushbuttonwithclipboard.cpp | Implements QPushButtonWithClipboard: click re-emit and the 500 ms icon flash |
| qpushbuttonwithclipboard.h | Copy-to-clipboard icon button that carries the text of the field it sits next to |
| qtpass.cpp | Implements QtPass; init() holds the settings migrations run on every start-up and showTextAsQRCode() drives the qrencode process |
| qtpass.h | QtPass: UI-neutral glue that turns backend completion signals into formatted output, status messages and clipboard handling |
| qtpasslogging.cpp | Defines the lcQtPass logging category with info as its default level, so a release build can be traced without recompiling |
| qtpasslogging.h | The "qtpass" logging category |
| qtpasssettings.cpp | Implements QtPassSettings; getInstance() picks the portable qtpass.ini over the platform store, and getProfiles()/setProfiles() read and write the profile/<name>/ groups |
| qtpasssettings.h | QtPassSettings, the QSettings singleton behind every saved setting, the profiles and the Pass backend accessors |
| realpass.cpp | Implements RealPass: builds the pass command lines and does itself the few things pass must not be trusted with, such as removing a linked folder without following it |
| realpass.h | RealPass, the backend that hands every store operation to the pass command-line tool |
| rnpcrypto.cpp | Implements RnpCrypto over RNP's C FFI, with RAII wrappers for its handles and bounded in-memory input and output |
| rnpcrypto.h | RnpCrypto, in-process OpenPGP encryption and decryption through the RNP library |
| secretlineedit.cpp | Implements SecretLineEdit: the four copy paths (Ctrl+C, Cut, context menu, X11 primary selection) routed through buildClipboardMimeData() |
| secretlineedit.h | QLineEdit whose copies, cuts and primary-selection fills carry the secret clipboard hints and are reported for autoclear |
| secretplaintextedit.cpp | Implements SecretPlainTextEdit::createMimeDataFromSelection(), the single hook through which all copies leave the editor |
| secretplaintextedit.h | QPlainTextEdit for editing decrypted entry text that marks everything copied out of it as a secret |
| secrettextbrowser.cpp | Implements SecretTextBrowser::createMimeDataFromSelection(), copying plain text only so no unmarked HTML reaches the clipboard |
| secrettextbrowser.h | QTextBrowser for showing decrypted entry text that marks everything copied out of it as a secret |
| settingsserializer.cpp | Implements SettingsSerializer: one SettingsConstants key per AppSettings field, with the defaults applied in load() and the obsolete WebDAV keys dropped in save() |
| settingsserializer.h | SettingsSerializer: the flat AppSettings fields to and from their QSettings keys, without side effects |
| simpletransaction.cpp | Implements SimpleTransaction as a queue of (last process, result) pairs |
| simpletransaction.h | SimpleTransaction, the bookkeeping that lets ImitatePass report several queued processes as one finished operation |
| singleapplication.cpp | Implements SingleApplication; stale-segment and takeover-race recovery lives in the constructor and becomePrimary() |
| singleapplication.h | SingleApplication: a QApplication that keeps one QtPass instance per user via a shared-memory segment and forwards later command lines over a local socket |
| sshauthsock.cpp | Implements SshAuthSock; a probed socket is adopted only after ssh-add -l answers on it (isSshAgentReachable()) |
| sshauthsock.h | SshAuthSock: finding an SSH agent socket for child processes and judging a configured override |
| storemodel.cpp | Implements StoreModel and the StoreDragItem stream operators; the drop validation lives in executeDropAction() |
| storemodel.h | StoreModel, the filtering/sorting proxy over the store's QFileSystemModel, and StoreDragItem, the payload of a tree drag |
| storetree.cpp | Implements StoreTree; setStore() is where the file system model, the proxy and the view are re-rooted together |
| storetree.h | StoreTree: owns the QFileSystemModel and StoreModel behind the password tree view and maps view indexes to store paths |
| templateio.cpp | Implements TemplateIO; template files are read through readTemplateFile(), which refuses anything but a small regular file |
| templateio.h | TemplateIO: the store's .templates and .default_template files and the # secret: marker in template text |
| totp.cpp | Implements Totp: otpauth URI parsing with its length cap and HOTP refusal, RFC 4226 dynamic truncation, Steam encoding and URI round-tripping |
| totp.h | RFC 6238 TOTP: otpauth URI parsing, code generation and canonical re-serialisation |
| trayicon.cpp | Implements TrayIcon; the tray is only set up when QSystemTrayIcon::isSystemTrayAvailable() says there is one |
| trayicon.h | TrayIcon: the system tray icon and its context menu that show, hide, minimise, maximise, restore or quit the main window |
| userinfo.h | UserInfo, one GPG key as listed by gpg, with the selection flag the recipient dialogs use |
| usersdialog.cpp | Implements UsersDialog; selectRecipients() matches the .gpg-id lines against the keyring and lists the ones no key answers to |
| usersdialog.h | UsersDialog, the recipient picker for a folder's .gpg-id |
| util.cpp | Implements Util; the staged, link-safe store writes (stageFileReplacing() and its helpers) and the store walk (walkStore()) live here |
| util.h | Util: static helpers for the process environment, binary discovery, store paths, URL safety and the link-safe file operations every write into a store goes through |
| windowstatestore.cpp | Implements WindowStateStore on top of QWidget::saveGeometry() / restoreGeometry(); the Wayland check lives in the local onWayland() |
| windowstatestore.h | WindowStateStore: saves and restores top-level window geometry through QtPassSettings, for the main window and every dialog |