Coding and Developing

This document summarizes some information on how to code and develop on KBibTeX for KDE 4. General information on how to program for KDE 4 can be found on KDE's TechBase page.

The build system, as standard for KDE 4 applications, is based on CMake. The source code is written in C++ heavily relying the KDE and Qt libraries. To process XML files, XSL transformations are used. External dependencies include libxslt, libxml, and Poppler

Preparing Patches

Most parts of KDE's recommendations on patch creation and submission hold for KBibTeX, too. Your patch should always be minimal, i. e. only contain functional changes. To avoid containing changes on white space (e. g. indentation), please follow the coding style recommendations on the right.

Submit your patches along with a brief description to the bug tracker.

Coding Style

Most of KBibTeX's source code is a mixure of my personal coding style (developed and changed of the years) and how most core KDE libraries and applications are coded.

Source code in KBibTeX's repository is formatted following KDE's recommendations and enforced using Artistic Style (astyle):
astyle --indent=spaces=4 --brackets=linux --indent-labels --pad=oper --unpad=paren --one-line=keep-statements --convert-tabs --indent-preprocessor $(find src -type f -name '*.cpp' -o -name '*.h')

How to Write an Online Search Engine

The document How to Write an Online Search Engine may help you to write and contribute an online search engine for your favorite bibliography database not yet supported in KBibTeX.

Open Hub (formerly known as ‘Ohloh’)

Did you know that Open Hub tracks the development of KBibTeX? It provides an analysis of KBibTeX's development and source code. For example, it knows that KBibTeX is mostly written in C++ and estimates its project cost to be more than US$ 900,000.
KBibTeX on Open Hub