Revision 599033

Go back to digest for 29th October 2006

Other in Games

Frans Englich committed changes in /trunk/kdenonbeta/kdom/patternist:

Dump dependency on QtGui by not using Qt::escape. This makes libpatternist link to about half as many libraries.

Some things are, pardon my french, hard to understand in Qt, in my eyes. Qt::escape(), a practical little helper function for escaping text, is placed in the Qt namespace but then in the QTextDocument header, as opposed to QtGlobal. Implicitly, a function that has nothing to do with GUI, is placed in QtGui, creating a dependency on a whole new library for only that function.

Same goes for QAbstractProxyModel. The item/view framework provides a nice separation between content and presentation, but by placing QAbstractProxyModel, a class that operates on the data level independently of display details (right?), in QtGui, one again prevents modularization.

The argument I've heard is that QtCore is supposed to stay small, but I wonder if such optimizations(can Qt::escape() and QAbstractProxyModel really be considered big?) are more worth than proper engineering.

File Changes

Added 1 files
  • /trunk/kdenonbeta/kdom/patternist/utils/Locale.cpp
Modified 7 files
  • /trunk/kdenonbeta/kdom/patternist
  •   /patternist.pro
  •   /TODO
  •   /expr/UserFunctionCallsite.h
  •   /utils/Locale.h
  •   /utils/Makefile.am
  •   /utils/SharedQName.h
  •   /utils/utils.pri
8 files changed in total