Skip to content



Incomplete page.

How do I create a new subcommand?#

How do I add a new tool?#

How do I add a new config setting?#

There are currently two groups of settings: General and Shortcuts. The necessary steps are usually the following:

  • Determine a name for the setting - for a general setting, it must be a valid C++ identifier, for a shortcut it must be the name of a tool type from TODO.
  • Add a getter and a setter for the setting in ConfigHandler. For most settings you should use the CONFIG_GETTER_SETTER macro. If your setting is unusual enough you may need to use CONFIG_GETTER or CONFIG_SETTER individually, or even need to create the methods manually.
  • If you need custom validation or conversion for the value, you must create a subclass of ValueHandler. Otherwise you can use one of the existing ones in valuehandler.h.
  • If you want to make your setting available in the configuration GUI (usually you do), you should add the appropriate widgets into one of the tabs of ConfigWindow. If your setting doesn't fit into any of the existing tabs, you can add a new one, but please discuss it with us first.

To get a deeper understanding of how the configuration works, please see Configuration.

How do I add a new export action? (@borgmanJeremy @mehrad This is my preferred terminology over final action, need consensus)#