Skip to content

Latest commit

 

History

History
64 lines (47 loc) · 2.29 KB

contribute.md

File metadata and controls

64 lines (47 loc) · 2.29 KB

Contributing

Although you can already use the app, it's still a long way until v1.0. So we need your help! Don't hesitate to get in contact, there are no obligations.

There's always an issue waiting to be fixed:

If you're new, you might want reach for a low-hanging fruit first. You're of course welcome to solve one of the brain twisters, too.

Translation

Currently omm is translated into

Documentation

There is no manual yet, the screen cast must be updated and improved.

Testing

There are many bugs yet to be discovered.

How to Add a New Item

If you want to add a new e.g., Tag, you create the *.cpp and *.h files, add them to src/tags/CMakeLists.txt and list/tags.lst. Remember to add a TYPE member.

Most other registered classes (Managers, Objects, Tools, Nodes work similarly. You can add an icon for your new object into ../icons/icons.omm.

If the new class is a Manager, Object, Tool, Node or Tag, you must add a (possibly empty) key binding to default_keybindings.cfg.

Properties, however, work slightly different. Each property of type X requires the definition of three classes:

  • XProperty
  • XPropertyWidget
  • XPropertyConfigWidget

However, only the XProperty needs to be added to the properties.lst. Unlike the other registered classes, the TYPE-member is a function.

How to Add a New Command

Add it to default_keybindings.cfg. If you want your command to show up in some menu, you can edit the MainWindow::main_menu_entries() -method.

How to Translate the Application into a New Language

Add the file to the list of translation files in cmake/generate_resources.cmake. Follow the instructions to update the languaes (i.e., build the update-ts-target).

How to Update the Translation of an Existing Language

Build the update-ts-target. See build.md for details.