Krita/docs/NewCodingPoliciesInMaster

From KDE Community Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

New coding policy standards which should be use in Calligra master

  1. Use Q_SLOTS ans Q_SIGNALS instead of slots/signals keywords we used before
  2. Add Q_DECL_HIDDEN to all nested Private classes in new code. A::Private need their symbols hidden, APrivate class does not, as it does not inherit the visibility from A.
  3. instead of #include <QDebug> and #include <kdebug.h> use #include <kis_debug.h>
  4. Use QUrl instead of KUrl and keep in mind that QString s; QUrl u = s; becomes QUrl u = QUrl::fromUserInput(s) or QUrl::fromLocalFile(s);
  5. KisIconUtils::loadIcon() should be used instead of previously used themedIcon()
  6. KAction is deprecated. Use QAction instead.
  7. Certain features of C++11 are now allowed. Discussion here: Krita/C++11
  8. stdlib replacements to boost libraries in C++11 are preferred. For example, we use std::function and std::bind instead of boost::function and boost::bind. See link above.