Moved BufferView and BufferViewFilter to uisupport, since I intend using it in QuasselTopia as well. Does not make sense to reinvent the wheel...
obviously calling QSortFilterProxyModell::invalidate() isn't such a good Idea on Mac OS... so we now use a wrapper slot to call only QSortFilterProxyModel::invalidateFilter()
Cleanupination/Prettyfication/Refactorination of the BufferModel
Added ModelPropertyMapper which allows to keep track of /current/ changes in the model and propagate the changes to connected qobjects.
We finally got a nice solution to synchronize multiple views or whatevers[tm] even though those views are connected to proxymodels and therefore cannot share SelectionModels. Usage: Client::bufferModel()->selectionModelSynchronizer()->addSelectionModel(mappedSelectionModel) (maybe I'll make this a bit easier... ;))
Actually... I have nearly no clue what the changes in this revision are. Since most of the stuff I wanted to do were simply fucked up and thus I reverted them. But since there were some changes in the remaining files I thought it might be a good Idea to check those in. For example: I removed the Buffer::bufferDestroyed() signal since it's kinda dual to Buffer::destroyed(). My 2 cents.
Started to reorganize the Buffer{Model|View|Filter}. Mostly cleanup at the moment. Added a static Method Client::fakeInput(BufferId, Message) to help easy automation of stuff like joining channels.
Stage 3