== Guidelines === Qt * Check pointers with Q_CHECK_PTR before using or returning them. * Avoid using connect SIGNAL and SLOT. Instead use &Class::method. This way, connects are checked during the compile, not at runtime. * Where possible, use QVector over QList: http://lists.qt-project.org/pipermail/development/2017-March/029040.html === clazy You can use [clazy](https://github.com/KDE/clazy) to check Qt semantics. Requires clang. To set check levels, set the CLAZY_CHECKS environment variable to 'level0,level1', etc. ==== Setting up in QtCreator The simplest way to set it up is to use _clazy_ instead of _clang_. 1. Go to Tools » Options » Build & Run » Compilers 2. Clone the clang compiler of your choice 3. Set _Compiler path_ to _/usr/bin/clazy_ == Licensing Smolbote is licensed under GPLv3 _only_. Your code needs to be compatible with it, and have a license header in the style used by the project. - No self-updating "-or-later" licensing. === SPDX-License-Identifier A full list of license identifiers can be found on [the SPDX website](https://spdx.org/licenses/). == Style There is a clang-format style in .clang-format. == Format patch for email ~~~ sh hg export -r startcommit[:endcommit] -o patchname.txt ~~~ to export the from _startcommit_ until tip or optionally _endcommit_. Email the patch file to _aqua at iserlohn dash fortress dot net_.