Krita/docs/NewCodingPoliciesInMaster

From KDE Community Wiki
< Krita‎ | docs

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.
  1. KIcon is deprecated in favour of QIcon
  2. Singletons use another api