Introduced a new notification system for Settings changes.
commitdc53be520b5233cffda1a05abc544c8f4221d99b
authorPaolo Capriotti <p.capriotti@gmail.com>
Thu, 19 Jul 2007 23:50:03 +0000 (20 01:50 +0200)
committerPaolo Capriotti <p.capriotti@gmail.com>
Fri, 20 Jul 2007 00:08:27 +0000 (20 02:08 +0200)
treee4422e3595b92e29395eb431b4386d97a5180a18
parente3afca3a4160f7fbcfa7b329d2c8f545a6261860
Introduced a new notification system for Settings changes.

The new system is still based on the QMetaObject facility, but does not
involve assigning priorities to Settings observers.

Instead, a very rudimental dependency enforcing mechanism is employed:
at connection time (i.e. when calling the onChange function) one can
specify an optional class name as a dependency.

Whenever an update is triggered, the systems ensures that dependencies
are honored, i.e. an object depending on a class "X" will be notified after
all observing objects of class "X".

The assumption here is that controlling dependency via types is sufficient
for our purposes.

As for the API, we now have to "onChange" methods, one that takes a dependency
(as a C-style string representing a class name) and one that does not.
The slot should be specified as a C-style string with just the method name
(no parentheses, no SLOT macro).
src/common.h
src/graphicalgame.cpp
src/graphicalsystem.cpp
src/loader/theme.cpp
src/mastersettings.cpp
src/mastersettings.h