~mamarley/quassel/+git/trunk:qml

Last commit made on 2011-11-19
Get this branch:
git clone -b qml https://git.launchpad.net/~mamarley/quassel/+git/trunk

Branch merges

Branch information

Name:
qml
Repository:
lp:~mamarley/quassel/+git/trunk

Recent commits

ccae304... by Manuel Nickschas

Implement proper layouting for QmlChatLine

Since ListView seems to be efficient enough to handle resizes sanely, we don't
have to resort to do manual wordwrapping and could significantly simplify our
text layouting code...

d385c54... by Manuel Nickschas

Fix serialization of QmlChatLine::RenderData

... also add an isValid member.

8ec1029... by Manuel Nickschas

More QML fidgetery

While playing around with various approaches to how to implement ChatView in QML, I think slowly
things are shaping up. We now have extended the QmlMessageModel to provide all info needed for rendering
a QmlChatLine in one data stracture, in order to avoid numerous calls to the model whenever a ChatLine
is instantiated.

Currently there's a lot of code duplication with the related non-QML classes, but this will either go away
once we decide to kill the QGV-based ChatView, or be unified into a common set of base classes if we
find out that both implementations are going to stay around.

aebd09e... by Manuel Nickschas

Implement the ChatLine element in C++

Now that I get my brain wrapped around QML a bit, let's take things
more seriously. Turns out, while Text elements seem to be efficient enough,
TextEdit elements (needed for selection and mousehandling) are not, so resizing
is sluggish.

Thus, instead of using any of the stock elements, we're now implementing this ourselves
in C++, and will probably do much the same as we did for the QGV-based ChatView (minus
some of the hackery, if we're lucky). This means layouting and drawing the text ourselves.
On the upside, we can just keep using the old styleengine for now...

Here's hoping that things will turn out to be more efficient anyway, because ListView seems
to be creating and discarding its items as needed; so there shouldn't be a scene with thousands
of items involved to manage...

4edfaf1... by Manuel Nickschas

Add ChatLine item

52a3675... by Manuel Nickschas

Move the qml subdir into qmlui

Makes more sense to place the qml files under qmlui.

6721aa2... by Manuel Nickschas

Instantiate the QmlChatView instead of the QGV-based ChatView

If Quassel is built with -DWITH_QML=ON, we now create and display the
ChatView component rather than the traditional QGraphicsView-based widget.

Note that some features like the ChatMonitor are disabled for now.

4f3598d... by Manuel Nickschas

Introduce QML to Quassel

This marks the beginnings of QML widgets in Quassel. The first widget to be ported is ChatView;
this commit does the following:

 * Extend the build system for supporting QML
 * Add a new qmlui module
 * Add a (very) rudimentary ChatView component that connects to
 * the new QmlMessageModel, which is intended for proxying between the client and the QuickUI

For now, -DWITH_QML=ON is required for cmake to build Quassel with QML. No, it's not worth trying out
at the moment.

6deff07... by Manuel Nickschas

Make the MessageModel a QAbstractListModel

Since this is a list after all, there's no need to use the more general
QAbstractItemModel. Also, some QML views like working with a ListModel better.

5aefc9b... by Manuel Nickschas

Fix compiler warning (case value not in enum)