aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdf
AgeCommit message (Collapse)Author
2022-03-19Switch variables to cmake in qpdf-config.hJay Berkenbilt
2022-03-08Rename bits_include.cc to qpdf/bits_functions.hhJay Berkenbilt
It's better to just make it a .hh file to reduce confusion.
2022-02-26generate_auto_job: protect generated files from formattingJay Berkenbilt
2022-02-08WHITESPACE ONLY -- expand tabs in source codeJay Berkenbilt
This comment expands all tabs using an 8-character tab-width. You should ignore this commit when using git blame or use git blame -w. In the early days, I used to use tabs where possible for indentation, since emacs did this automatically. In recent years, I have switched to only using spaces, which means qpdf source code has been a mixture of spaces and tabs. I have avoided cleaning this up because of not wanting gratuitous whitespaces change to cloud the output of git blame, but I changed my mind after discussing with users who view qpdf source code in editors/IDEs that have other tab widths by default and in light of the fact that I am planning to start applying automatic code formatting soon.
2022-02-05Stop using std::iterator (fixes #618)Jay Berkenbilt
Create the typedefs directly in iterators rather than deriving from the deprecated std::iterator class.
2022-02-01Make QPDFArgParser accept const argvJay Berkenbilt
This makes it much more convention to use the initializeFromArgv functions since you can use string literals.
2022-02-01QPDFJob: documentationJay Berkenbilt
2022-02-01generate_auto_job: generate overloaded config decls for optionalJay Berkenbilt
For optional parameter/choices, generate an overloaded config method that takes no arguments. This makes it possible to convert from a bare argument to one that takes an optional parameter without breaking binary compatibility.
2022-02-01Clean up documentation and help around json optionsJay Berkenbilt
2022-02-01Tweak short text for job schema helpJay Berkenbilt
2022-02-01QPDFJob json: make bare arguments expect the empty stringJay Berkenbilt
Changing from bool requiring true to string requiring the empty string is more consistent with the CLI and makes it possible to add an optional parameter or choices later without breaking compatibility.
2022-02-01QPDFJob json: flatten json structureJay Berkenbilt
Flatten everything to make it easier to map command-line flags to json. The old structure was an illusion anyway because there was no mechanism to enforce that things were in the right place. This also helps with future flexibility.
2022-01-31Add optional version to --jsonJay Berkenbilt
2022-01-31Change filename or path to file in json and QPDFJobJay Berkenbilt
Use "file" consistently for specifying a file path. We use "filename" when adding attachments for a completely different purpose.
2022-01-31job json: move deterministic-id into output optionsJay Berkenbilt
2022-01-31QPDFJob: fix logic errors in handling arraysJay Berkenbilt
The code was assuming everything was happening inside dictionaries. Instead, make the dictionary key handler creatino explicit only when iterating through dictionary keys.
2022-01-31QPDFJob: remove from json a few things that only make sense from CLIJay Berkenbilt
2022-01-31QDPFJob: incorporate change to JSONHandler for array start functionJay Berkenbilt
2022-01-31JSONHandler: pass JSON object to array start functionJay Berkenbilt
2022-01-31QPDFJob_json: implement handlers except pagesJay Berkenbilt
2022-01-31QPDFJob: incorporate change to JSONHandler for dict start functionJay Berkenbilt
2022-01-31JSONHandler: pass JSON object to dict start functionJay Berkenbilt
If some keys depend on others, we have to check up front since there is no control of what order key handlers will be called. Anyway, keys are unordered in json, so we don't want to depend on ordering.
2022-01-31QPDFJob: autogenerate json init and declarationsJay Berkenbilt
Now still have to go through and implement the handlers.
2022-01-31Keep JSONHandler and QPDFArgParser privateJay Berkenbilt
Since the functionality of argument parsing has moved into QPDFJob, these classes no longer need to be public. Their methods still have to be in the library's binary interface so they can be tested in libtests.
2022-01-31QPDFJob: generate json decl and init file skeletonsJay Berkenbilt
2022-01-30More doc tweaksJay Berkenbilt
2022-01-30More editorial changes from m-holger + spell checkJay Berkenbilt
2022-01-30Improve top-level help informationJay Berkenbilt
2022-01-30Incorporate editorial changes from m-holgerJay Berkenbilt
2022-01-30Fix typos in manualm-holger
Fix typos in cli.rst
2022-01-30QPDFJob: eliminate most access to QPDFJob members from ArgParserJay Berkenbilt
All that's left now is input and output handling.
2022-01-30QPDFJob: convert encryption handlersJay Berkenbilt
2022-01-30QPDFJob: convert under/overlay and rotateJay Berkenbilt
2022-01-30QPDFJob: move more top-level trivial handlers into configJay Berkenbilt
2022-01-30QPDFJob: convert AddAttachment handlersJay Berkenbilt
2022-01-30QPDFJob: convert password in two tablesJay Berkenbilt
2022-01-30QPDFJob: convert a flag in other than the main tableJay Berkenbilt
2022-01-30QPDFJob: start changing generation for trivial config handlersJay Berkenbilt
2022-01-30QPDFJob: placeholder for initializeFromJsonJay Berkenbilt
2022-01-30Incorporate job schema generation into generate_auto_jobJay Berkenbilt
2022-01-30cli.rst: remove () from end of short helpJay Berkenbilt
This is used to generate a schema for the job json, which can't contain `)"` because it breaks the R"(...)" syntax in C++. While C++ accepts R"anything(...)anything" to avoid this, as of this writing, MSVC 2019 doesn't understand that. For now, just avoid it by removing parentheses from the end of short help.
2022-01-30Add missing help topic for inspectionJay Berkenbilt
2022-01-30Editorial changes to cli.rstJay Berkenbilt
2022-01-30CLI doc: use tables where helpfulJay Berkenbilt
2022-01-30Generate help content from manualJay Berkenbilt
This is a massive rewrite of the help text and cli.rst section of the manual. All command-line flags now have their own help and are specifically index. qpdf --help is completely redone.
2022-01-30QPDFArgParser: support adding/printing help informationJay Berkenbilt
2022-01-30QPDFArgParser: handle optional choices including helpJay Berkenbilt
Handle optional choices in addition to required choices. Refactor the way help options are added to completion to make it work with optional help choices.
2022-01-30QPDFJob increment: generate option table initializationJay Berkenbilt
2022-01-30QPDFJob increment: generate handler declarationsJay Berkenbilt
2022-01-30QPDFJob increment: generate choices variables in initJay Berkenbilt