Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-01-30 | QPDFJob: convert password to shared pointer | Jay Berkenbilt | |
2022-01-30 | QPDFJob: use std::shared_ptr over PointerHolder where possible | Jay Berkenbilt | |
Also fix QPDFArgParser | |||
2022-01-30 | Add QUtil::make_shared_cstr | Jay Berkenbilt | |
Replace most of the calls to QUtil::copy_string with this instead. | |||
2022-01-30 | cli.rst: remove () from end of short help | Jay 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-30 | Allow optional fields in json "schema" checks | Jay Berkenbilt | |
2022-01-30 | Add missing help topic for inspection | Jay Berkenbilt | |
2022-01-30 | JSONHandler: rework dictionary and array handlers | Jay Berkenbilt | |
2022-01-30 | Editorial changes to cli.rst | Jay Berkenbilt | |
2022-01-30 | Fix json schema for objects to include dictionary key | Jay Berkenbilt | |
2022-01-30 | Use JSON::parse to initialize schema for json mode | Jay Berkenbilt | |
2022-01-30 | Implement JSONHandler for recursively processing JSON | Jay Berkenbilt | |
2022-01-30 | CLI doc: use tables where helpful | Jay Berkenbilt | |
2022-01-30 | Add JSON::parse | Jay Berkenbilt | |
2022-01-30 | Add missing \f support for JSON string encoder | Jay Berkenbilt | |
2022-01-30 | Add JSON::isDictionary and JSON::isArray | Jay Berkenbilt | |
2022-01-30 | Document how to add a command-line argument | Jay Berkenbilt | |
2022-01-30 | Generate help content from manual | Jay 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-30 | QPDFArgParser: support adding/printing help information | Jay Berkenbilt | |
2022-01-30 | Fix comment on duplicated top-level json keys | Jay Berkenbilt | |
2022-01-30 | QPDFArgParser: handle optional choices including help | Jay 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-30 | Minor code cleanup | Jay Berkenbilt | |
2022-01-30 | Fix doc typos caught by m-holger -- thanks | Jay Berkenbilt | |
2022-01-30 | QPDFJob increment: generate option table initialization | Jay Berkenbilt | |
2022-01-30 | Add QPDFArgParser::copyFromOtherTable | Jay Berkenbilt | |
2022-01-30 | QPDFJob increment: generate handler declarations | Jay Berkenbilt | |
2022-01-30 | QPDFJob increment: generate choices variables in init | Jay Berkenbilt | |
2022-01-30 | QPDFJob increment: generate table names | Jay Berkenbilt | |
2022-01-30 | Expose QPDFArgParser::usage | Jay Berkenbilt | |
2022-01-30 | QPDFJob: remove non-check from doFinalChecks | Jay Berkenbilt | |
2022-01-30 | Add basic framework for QPDFJob code generation | Jay Berkenbilt | |
2022-01-30 | QPDFJob increment: move arg parsing into QPDFJob | Jay Berkenbilt | |
Move ArgParser from qpdf.cc into QPDFJob.cc. It still works with millions of public member variables, but now qpdf.cc is minimal and just calls stable library functions. | |||
2022-01-30 | QPDFJob: reorder functions, no other changes | Jay Berkenbilt | |
2022-01-30 | QPDFJob increment: static functions to member functions | Jay Berkenbilt | |
Convert remaining static functions that take QPDFJob& as a parameter to member functions. Utility functions that don't take QPDFJob& remain static functions and can probably just stay that way since the keep extra complexity out of QPDFJob.hh. | |||
2022-01-30 | QPDFJob: de-templatize do_process and do_process_once | Jay Berkenbilt | |
2022-01-30 | QPDFJob increment: remove std::cout, std::cerr, whoami | Jay Berkenbilt | |
Remove remaining temporary duplication of hard-coded values and direct access to std::cout, std::cerr, and whoami in favor of parameters in QPDFJob. This moves a few more static methods into QPDFJob member functions. | |||
2022-01-30 | QPDFJob increment: get rid of exit, handle verbose | Jay Berkenbilt | |
Remove all calls to exit() from QPDFJob. Handle code that runs in verbose mode to enable it to make use of output streams and message prefix (whoami) from QPDFJob. This removes temporarily duplicated exit code logic and most access to whoami/std::cout outside of QPDFJob proper. | |||
2022-01-30 | QPDFJob increment: basic QPDFJob structure | Jay Berkenbilt | |
Move most of the methods called from qpdf.cc after argument parsing into QPDFJob. In this increment, enough QPDFJob API has been added to handle the branch of QPDFJob::run() that creates output with an appropriate division between qpdf.cc and QPDFJob. There are temporary bits of code to enable everything to compile and pass the test suite, including some duplication and hard-coded values. | |||
2022-01-30 | Implement QPDFArgParser based on ArgParser from qpdf.cc | Jay Berkenbilt | |
2022-01-30 | Fix doc typos | m-holger | |
2022-01-27 | Fix QPDFObjectHandle::isOrHasName | m-holger | |
Ensure isOrHasName returns true if object is an array and the name is present anywhere in the array. | |||
2022-01-27 | Remove some if statements and simplify some boolean expressions | m-holger | |
Use QPDFObjectHandle::isNameAndEquals, isDictionaryOfType and isStreamOfType. | |||
2022-01-27 | Allow testing for subtype without specifying type in isDictionaryOfType etc | m-holger | |
Accept empty string as type parameter in QPDFObjectHandle::isDictionaryOfType and isStreamOfType to allow for dictionaries with optional type. | |||
2022-01-22 | Make a few whitespace fixes from last commit | m-holger | |
Commit by ejb@ql.org using m-holger as author so git annotate gives proper credit for changes. | |||
2022-01-22 | Add new convenience methods QPDFObjectHandle::isNameAndEquals, etc | m-holger | |
Add methods isNameAndEquals, isDictionaryOfType, isStreamOfType | |||
2022-01-11 | Add missing characters from PDF doc encoding (fixes #606) | Jay Berkenbilt | |
2022-01-11 | Fix signed/unsigned char warning (fixes #604) | Jay Berkenbilt | |
2021-12-29 | Add QUtil::file_can_be_opened | Jay Berkenbilt | |
2021-12-20 | Prepare 10.5.0 release | Jay Berkenbilt | |
2021-12-20 | Change names of qpdf_object_type_e enumerations | Jay Berkenbilt | |
They have to be ot_* rather than qpdf_ot_* for compatibility. * Different enumerated types are not assignment-compatible in C++, at least with strict compiler settings * While you can do `constexpr ot_xyz = ::qpdf_ot_xyz` in QPDFObject.hh to make QPDFObject::ot_xyz work, QPDFObject::object_type_e::ot_xyz will only work if the enumerated type names are the same. | |||
2021-12-19 | Further improvements to handling binary strings | Jay Berkenbilt | |